diff --git a/.ci/corecryptotest_reduce_keysize.sh b/.ci/corecryptotest_reduce_keysize.sh index 4439c2c77e0..a8e1de9a86c 100755 --- a/.ci/corecryptotest_reduce_keysize.sh +++ b/.ci/corecryptotest_reduce_keysize.sh @@ -2,8 +2,8 @@ set -e # For CI, use keysize_small -sed -i.bak 's/let keysize = keysize_large/let keysize = keysize_small/' ucontrib/CoreCrypto/ml/Tests.ml -sed -i.bak 's/let dh_param_size = dh_param_size_large/let dh_param_size = dh_param_size_small/' ucontrib/CoreCrypto/ml/Tests.ml +sed -i.bak 's/let keysize = keysize_large/let keysize = keysize_small/' contrib/CoreCrypto/ml/Tests.ml +sed -i.bak 's/let dh_param_size = dh_param_size_large/let dh_param_size = dh_param_size_small/' contrib/CoreCrypto/ml/Tests.ml -# We leave ucontrib/CoreCrypto/ml/Tests.ml modified, unstaged. +# We leave contrib/CoreCrypto/ml/Tests.ml modified, unstaged. # The CI teardown will forget this happened. diff --git a/.ci/install.sh b/.ci/install.sh deleted file mode 100755 index f54f504247a..00000000000 --- a/.ci/install.sh +++ /dev/null @@ -1,24 +0,0 @@ -#!/usr/bin/env bash - -set -e - -if [[ "$TRAVIS_OS_NAME" == "osx" ]]; then - brew install ocaml opam z3 gnu-sed findutils; -fi -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - sudo apt-get install --yes libssl-dev opam libgmp-dev libsqlite3-dev; -fi - -export OPAMYES=true -opam init -eval $(opam config env) -opam install batteries sqlite3 fileutils stdint zarith yojson pprint - -if [[ "$TRAVIS_OS_NAME" == "linux" ]]; then - export Z3=z3-4.4.1-x64-ubuntu-14.04; - wget https://github.com/Z3Prover/z3/releases/download/z3-4.4.1/$Z3.zip; - unzip $Z3.zip; - export PATH=/home/travis/build/FStarLang/FStar/$Z3/bin:/home/travis/build/FStarLang/FStar/bin:$PATH; -fi - -ocamlfind ocamlopt -config diff --git a/.common.mk b/.common.mk deleted file mode 100644 index 16052891902..00000000000 --- a/.common.mk +++ /dev/null @@ -1,63 +0,0 @@ -# This makefile is included from several other makefiles in the tree. - -# It enables configurably 'silent' rules, that do not -# print output unless V=1 is set. When writing a rule, you can do as -# follows (taken from src/Makefile.boot): -# -# ocaml-output/%.ml: -# $(call msg, "EXTRACT", $(notdir $@)) -# $(Q)$(BENCHMARK_PRE) $(FSTAR_C) $(SIL) $(notdir $(subst .checked.lax,,$<)) \ -# --codegen OCaml \ -# --extract_module $(basename $(notdir $(subst .checked.lax,,$<))) -# -# This unconditionally prints a message like '[EXTRACT FStar_Syntax_Subst.ml]' -# (`notdir` is used to omit the directory of the target) and then -# proceeds to execute the F* invocation silently (since $(Q) expands to -# "@"). However, calling the same rule with `make V=1` will still print -# the message and then print the F* invocation before executing. -# -# Besides that, when not using V=1, F* receives the --silent flag to -# reduce non-critical output. - -# It also defines some other utilities for resource monitoring and -# paths manipulation for cygwin - -Q?=@ -SIL?=--silent -RUNLIM= -ifneq ($(V),) - Q= - SIL= -endif - -define NO_RUNLIM_ERR -runlim not found: - To use RESOURCEMONITOR=1, the `runlim` tool must be installed and in your $$PATH. - It must also be a recent version supporting the `-p` option. - You can get it from: [https://github.com/arminbiere/runlim] -endef - -define msg = -@printf " %-8s %s\n" $(1) $(2) -endef - -# Passing RESOURCEMONITOR=1 will create .runlim files through the source tree with -# information about the time and space taken by each F* invocation. -ifneq ($(RESOURCEMONITOR),) - ifeq ($(shell which runlim),) - _ := $(error $(NO_RUNLIM_ERR))) - endif - ifneq ($(MONID),) - MONPREFIX=$(MONID). - endif - RUNLIM=runlim -p -o $@.$(MONPREFIX)runlim -endif - -# Can be called as $(call maybe_cygwin_path,...) -# where ... is the argument - -maybe_cygwin_path=$(if $(findstring $(OS),Windows_NT),$(shell cygpath -m $(1)),$(1)) - -# Ensure that any failing rule will not create its target file. -# In other words, make `make` less insane. -.DELETE_ON_ERROR: diff --git a/.devcontainer/devcontainer.json b/.devcontainer/devcontainer.json index f554b1fbaf0..13cf22644c5 100644 --- a/.devcontainer/devcontainer.json +++ b/.devcontainer/devcontainer.json @@ -1,6 +1,7 @@ { "name": "F* minimal devcontainer", "build": { + "context": "..", "dockerfile": "minimal.Dockerfile" }, "customizations": { diff --git a/.devcontainer/minimal.Dockerfile b/.devcontainer/minimal.Dockerfile index ebc1e4f60c3..c622f65d0b3 100644 --- a/.devcontainer/minimal.Dockerfile +++ b/.devcontainer/minimal.Dockerfile @@ -1,4 +1,5 @@ -FROM ubuntu:23.10 +# FIXME: z3.4.8.5-1 can no longer be installed on Ubuntu 24.04 because python3-distutils disappeared, and the z3 opam package has not been fixed for version 4.8.5, and 23.10 and all prior non-LTS are now EOL. Reverting to the previous LTS +FROM ubuntu:22.04 SHELL ["/bin/bash", "-c"] @@ -16,6 +17,7 @@ RUN apt-get update \ python3 \ python-is-python3 \ libgmp-dev \ + pkg-config \ opam \ && apt-get clean -y # FIXME: libgmp-dev should be installed automatically by opam, @@ -33,6 +35,10 @@ 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 Z3 +COPY ./bin/get_fstar_z3.sh /usr/local/bin +RUN get_fstar_z3.sh ~/bin + # 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 && \ @@ -42,17 +48,12 @@ RUN wget -nv https://download.visualstudio.microsoft.com/download/pr/cd0d0a4d-2a rm -f dotnet-sdk*.tar.gz # Install OCaml -ARG OCAML_VERSION=4.14.0 +ARG OCAML_VERSION=4.14.2 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 mtime pprint sedlex ppxlib process ppx_deriving ppx_deriving_yojson memtrace - -# 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-* +COPY ./fstar.opam . +RUN opam install --deps-only . && rm fstar.opam WORKDIR $HOME diff --git a/.docker/base.Dockerfile b/.docker/base.Dockerfile index 22eababac52..9305389d88e 100644 --- a/.docker/base.Dockerfile +++ b/.docker/base.Dockerfile @@ -8,9 +8,8 @@ # and it is copied into the home directory on the image. CI jobs # will NOT use this file. -# We always try to build against the most current ubuntu image. -# FIXME: Broken with 24.04, fixing it to 23.10 so we can keep working -FROM ubuntu:23.10 +# FIXME: z3.4.8.5-1 can no longer be installed on Ubuntu 24.04 because python3-distutils disappeared, and the z3 opam package has not been fixed for version 4.8.5, and 23.10 and all prior non-LTS are now EOL. Reverting to the previous LTS +FROM ubuntu:22.04 RUN apt-get update @@ -34,9 +33,14 @@ RUN apt-get install -y --no-install-recommends \ sudo \ python3 \ python-is-python3 \ + pkg-config \ opam \ && apt-get clean -y +# Install the relevant Z3 versions. +COPY ./bin/get_fstar_z3.sh /usr/local/bin +RUN get_fstar_z3.sh /usr/local/bin + # Create a new user and give them sudo rights # NOTE: we give them the name "opam" to keep compatibility with # derived hierarchical CI diff --git a/.docker/dev-base.Dockerfile b/.docker/dev-base.Dockerfile new file mode 100644 index 00000000000..1c59081eabc --- /dev/null +++ b/.docker/dev-base.Dockerfile @@ -0,0 +1,58 @@ +FROM ubuntu:24.04 + +RUN apt-get update + +RUN apt-get install -y --no-install-recommends \ + git \ + sudo \ + python3 \ + python-is-python3 \ + opam \ + rustc \ + curl \ + ca-certificates \ + rsync \ + wget \ + && apt-get clean -y + +# Install the relevant Z3 versions. +COPY ./bin/get_fstar_z3.sh /usr/local/bin +RUN get_fstar_z3.sh /usr/local/bin + +RUN useradd -ms /bin/bash user +RUN echo 'user ALL=NOPASSWD: ALL' >> /etc/sudoers +USER user +WORKDIR /home/user + +# Install OCaml +ARG OCAML_VERSION=4.14.2 +RUN opam init --compiler=$OCAML_VERSION --disable-sandboxing +RUN opam env --set-switch | tee --append $HOME/.profile $HOME/.bashrc $HOME/.bash_profile +RUN opam option depext-run-installs=true +ENV OPAMYES=1 + +# F* dependencies. This is the only place where we read a file from +# the F* repo. +ADD fstar.opam ./fstar.opam +RUN opam install -j$(nproc) --confirm-level=unsafe-yes --deps-only ./fstar.opam && opam clean + +# Some karamel dependencies too. hex for everparse +RUN opam install -j$(nproc) --confirm-level=unsafe-yes fix fileutils visitors camlp4 wasm ulex uucp ctypes ctypes-foreign hex && opam clean + +RUN sudo apt install time + +# Sigh, install dotnet. The setup-dotnet action does not +# work on a container apparently. +ENV DOTNET_ROOT /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 && \ + sudo mkdir -p $DOTNET_ROOT && \ + sudo tar xf dotnet-sdk-6.0.400-linux-x64.tar.gz -C $DOTNET_ROOT && \ + rm -f dotnet-sdk*.tar.gz +RUN sudo ln -s $DOTNET_ROOT/dotnet /usr/local/bin/dotnet + +RUN rm fstar.opam # move up + +# install rust (move up and remove rustv) +RUN curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh -s -- -y +RUN sudo apt-get update && sudo apt-get install --yes --no-install-recommends llvm-dev libclang-dev clang libgmp-dev pkg-config +RUN . "$HOME/.cargo/env" && rustup component add rustfmt && cargo install bindgen-cli diff --git a/.docker/emacs/.emacs b/.docker/emacs/.emacs index 1ead729e348..6b125082a2d 100644 --- a/.docker/emacs/.emacs +++ b/.docker/emacs/.emacs @@ -8,14 +8,14 @@ ;;set fstar includes, these should work for most tutorial examples, except those using hyperheap -(setq fstar-subp-prover-args '("--include" "/home/build/FStar/ucontrib/Platform/fst" "--include" "/home/build/FStar/ucontrib/CoreCrypto/fst")) +(setq fstar-subp-prover-args '("--include" "/home/build/FStar/contrib/Platform/fst" "--include" "/home/build/FStar/contrib/CoreCrypto/fst")) ;;this is what the above corresponds to on the command line: -;fstar --include /home/FStar/FStar/ucontrib/Platform/fst --include /home/FStar/FStar/ucontrib/CoreCrypto/fst +;fstar --include /home/FStar/FStar/contrib/Platform/fst --include /home/FStar/FStar/contrib/CoreCrypto/fst ;;set fstar includes, these work for the the Encrypt-then-MAC example: -;(setq fstar-subp-prover-args '("--include" "/home/FStar/FStar/ulib/hyperheap" "--include" "/home/FStar/FStar/ucontrib/Platform/fst" "--include" "/home/FStar/FStar/ucontrib/CoreCrypto/fst")) +;(setq fstar-subp-prover-args '("--include" "/home/FStar/FStar/ulib/hyperheap" "--include" "/home/FStar/FStar/contrib/Platform/fst" "--include" "/home/FStar/FStar/contrib/CoreCrypto/fst")) ;;this is what the above corresponds to on the command line: -;fstar --include /home/FStar/FStar/ulib/hyperheap --include /home/FStar/FStar/ucontrib/Platform/fst --include /home/FStar/FStar/ucontrib/CoreCrypto/fst +;fstar --include /home/FStar/FStar/ulib/hyperheap --include /home/FStar/FStar/contrib/Platform/fst --include /home/FStar/FStar/contrib/CoreCrypto/fst diff --git a/.docker/nu_base.Dockerfile b/.docker/nu_base.Dockerfile index 3a25dc0e722..fa6a17116e7 100644 --- a/.docker/nu_base.Dockerfile +++ b/.docker/nu_base.Dockerfile @@ -1,6 +1,7 @@ # For check-world workflow, should be coallesced to the other base. # This could definitely use a big cleanup too. -FROM ubuntu:23.10 +# FIXME: z3.4.8.5-1 can no longer be installed on Ubuntu 24.04 because python3-distutils disappeared, and the z3 opam package has not been fixed for version 4.8.5, and 23.10 and all prior non-LTS are now EOL. Reverting to the previous LTS +FROM ubuntu:24.04 RUN apt-get update @@ -9,12 +10,17 @@ RUN apt-get update RUN apt-get install -y --no-install-recommends \ git \ sudo \ + ca-certificates \ python3 \ python-is-python3 \ opam \ rustc \ && apt-get clean -y +# Install the relevant Z3 versions. +COPY ./bin/get_fstar_z3.sh /usr/local/bin +RUN get_fstar_z3.sh /usr/local/bin + # Create a new user and give them sudo rights # NOTE: we give them the name "opam" to keep compatibility with # derived hierarchical CI @@ -27,18 +33,6 @@ ENV HOME /home/opam WORKDIR $HOME SHELL ["/bin/bash", "--login", "-c"] -# Install GitHub CLI -# From https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt -# This is only used by the workflow that makes a release and publishes -# it, but no harm in having it in the base. -RUN { type -p curl >/dev/null || sudo apt-get install curl -y ; } \ - && curl -fsSL https://cli.github.com/packages/githubcli-archive-keyring.gpg | sudo dd of=/usr/share/keyrings/githubcli-archive-keyring.gpg \ - && sudo chmod go+r /usr/share/keyrings/githubcli-archive-keyring.gpg \ - && echo "deb [arch=$(dpkg --print-architecture) signed-by=/usr/share/keyrings/githubcli-archive-keyring.gpg] https://cli.github.com/packages stable main" | sudo tee /etc/apt/sources.list.d/github-cli.list > /dev/null \ - && sudo apt-get update \ - && sudo apt-get install gh -y \ - && sudo apt-get clean - # Install OCaml ARG OCAML_VERSION=4.14.2 RUN opam init --compiler=$OCAML_VERSION --disable-sandboxing @@ -49,6 +43,7 @@ ENV OPAMYES=1 # F* dependencies. This is the only place where we read a file from # the F* repo. ADD fstar.opam $HOME/fstar.opam + RUN opam install --confirm-level=unsafe-yes --deps-only $HOME/fstar.opam && opam clean # Some karamel dependencies diff --git a/.docker/release.Dockerfile b/.docker/release.Dockerfile index f65adb03ef2..d0ad181ddaf 100644 --- a/.docker/release.Dockerfile +++ b/.docker/release.Dockerfile @@ -4,7 +4,7 @@ ARG ocaml_version=4.14 ARG CI_THREADS=24 -FROM ocaml/opam:ubuntu-20.04-ocaml-$ocaml_version AS fstarbuild +FROM ocaml/opam:ubuntu-22.04-ocaml-$ocaml_version AS fstarbuild # Needed for OPAM command below RUN sudo apt-get update && sudo apt-get install --yes --no-install-recommends \ @@ -15,11 +15,12 @@ RUN opam depext conf-gmp conf-m4 ADD --chown=opam:opam ./fstar.opam fstar.opam -# Install opam dependencies only, but not z3 -RUN grep -v z3 < fstar.opam > fstar-no-z3.opam && \ - rm fstar.opam && \ - opam install --deps-only ./fstar-no-z3.opam && \ - rm fstar-no-z3.opam +# Install opam dependencies only +RUN opam install --deps-only ./fstar.opam + +# Install the relevant Z3 versions. +COPY ./bin/get_fstar_z3.sh /usr/local/bin +RUN sudo get_fstar_z3.sh /usr/local/bin # Install GitHub CLI # From https://github.com/cli/cli/blob/trunk/docs/install_linux.md#debian-ubuntu-linux-raspberry-pi-os-apt @@ -32,7 +33,7 @@ RUN { type -p curl >/dev/null || sudo apt-get install curl -y ; } \ # Install .NET RUN sudo apt-get update && sudo apt-get install --yes --no-install-recommends \ - libicu66 + libicu70 # (for .NET, cf. https://aka.ms/dotnet-missing-libicu ) # CI dependencies: .NET Core @@ -52,11 +53,6 @@ ENV PATH=${PATH}:$DOTNET_ROOT:$DOTNET_ROOT/tools RUN git config --global user.name "Dzomo, the Everest Yak" && \ git config --global user.email "24394600+dzomo@users.noreply.github.com" -# Download and extract z3, but do not add it in the PATH -# We download a z3 that does not depend on libgomp -ADD --chown=opam:opam https://github.com/tahina-pro/z3/releases/download/z3-4.8.5-linux-clang/z3-4.8.5-linux-clang-x86_64.tar.gz z3.tar.gz -RUN tar xf z3.tar.gz - ADD --chown=opam:opam ./ FStar/ # Check if we need to create a tag @@ -66,7 +62,7 @@ RUN --mount=type=secret,id=DZOMO_GITHUB_TOKEN eval $(opam env) && env GH_TOKEN=$ RUN eval $(opam env) && env OTHERFLAGS='--admit_smt_queries true' PATH=$HOME/z3:$PATH make -j $CI_THREADS -C FStar package # Test the package with its Z3, without OCaml or any other dependency -FROM ubuntu:20.04 AS fstarnoocaml +FROM ubuntu:22.04 AS fstarnoocaml # Install some dependencies RUN apt-get update && \ diff --git a/.docker/standalone.Dockerfile b/.docker/standalone.Dockerfile index 663ee4b824b..1d50f58f418 100644 --- a/.docker/standalone.Dockerfile +++ b/.docker/standalone.Dockerfile @@ -19,7 +19,7 @@ ARG CI_BRANCH=master ARG CI_NO_KARAMEL= ARG RESOURCEMONITOR= ARG FSTAR_CI_NO_GITDIFF= -RUN eval $(opam env) && Z3_LICENSE="$(opam config expand '%{prefix}%')/.opam-switch/sources/z3.4.8.5/LICENSE.txt" CI_NO_KARAMEL=$CI_NO_KARAMEL .docker/build/build-standalone.sh $CI_THREADS $CI_BRANCH +RUN eval $(opam env) && CI_NO_KARAMEL=$CI_NO_KARAMEL .docker/build/build-standalone.sh $CI_THREADS $CI_BRANCH WORKDIR $HOME ENV FSTAR_HOME $HOME/FStar diff --git a/.github/env.sh b/.github/env.sh deleted file mode 100755 index e0e7b9e1523..00000000000 --- a/.github/env.sh +++ /dev/null @@ -1,6 +0,0 @@ -#!/usr/bin/env bash - -# Source this file to set up the CI environment. - -eval $(opam env) -source ~/.bash_profile # get z3 path diff --git a/.github/setup-macos.sh b/.github/setup-macos.sh deleted file mode 100755 index fd031b5fc5f..00000000000 --- a/.github/setup-macos.sh +++ /dev/null @@ -1,18 +0,0 @@ -#!/usr/bin/env bash - -# Install OCaml and other GNU build tools -# coreutils: for the `install` command used in install-ulib.sh -export OPAMYES=1 -brew install opam bash gnu-getopt coreutils gnu-sed -opam init --compiler=4.14.0 -eval $(opam env) - -# Install Z3 and the opam package dependencies -# NOTE: on Mac OS, we cannot do `opam install --deps-only fstar.opam` -# because the z3 opam package is broken -# So, we rely on Everest instead. -# We assume an everest checkout in the same directory as this script. -# The GitHub Actions workflow should take care of cloning everest. -cwd=$(cd $(dirname $0); pwd -P) -cd $cwd/everest -./everest --yes z3 opam diff --git a/.github/workflows/build-all.yml b/.github/workflows/build-all.yml new file mode 100644 index 00000000000..fd17978d9f6 --- /dev/null +++ b/.github/workflows/build-all.yml @@ -0,0 +1,19 @@ +name: Build F* binaries (all archs) + +on: + workflow_call: + workflow_dispatch: + +jobs: + # Windows build call this as a substep + # src: + # uses: ./.github/workflows/build-src.yml + + linux: + uses: ./.github/workflows/build-linux.yml + + macos: + uses: ./.github/workflows/build-macos.yml + + windows: + uses: ./.github/workflows/build-windows-selfhosted.yml diff --git a/.github/workflows/build-ci.yml b/.github/workflows/build-ci.yml new file mode 100644 index 00000000000..c5f5b6543f4 --- /dev/null +++ b/.github/workflows/build-ci.yml @@ -0,0 +1,72 @@ +name: Build F* (ci) + +# This builds F* for Linux for the purposes of CI. It runs on a +# recent Ubuntu-based container and also generates a source package +# and a repo snapshot. For the purposes of binary releases, see +# build-linux.yml. + +on: + workflow_call: + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + build: + # Build an F* binary package: a fully-bootstrapped stage 2 compiler, + # with its plugins, a fully checked library (i.e. with .checked) + # files and compiled versions of fstar_lib and fstar_plugin_lib. + # We do not package a stage 1 compiler. + # runs-on: [self-hosted, linux, X64] # self-hosted so we use fast runners + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/checkout@master + with: + path: FStar + + - name: Produce all artifacts + run: | + # Note: we don't package Z3 for the CI artifact as the images + # already have the relevant Z3. + make -skj$(nproc) package package-src FSTAR_TAG= FSTAR_PACKAGE_Z3=false + working-directory: FStar + + # Upload the archives. + - uses: actions/upload-artifact@v4 + with: + path: FStar/fstar.tar.gz + name: fstar.tar.gz + retention-days: 3 + - uses: actions/upload-artifact@v4 + with: + path: FStar/fstar-src.tar.gz + name: fstar-src.tar.gz + retention-days: 3 + + # Upload full repo too, for stage3 check and Pulse. Note: we + # explicitly run 'make setlink-2' at this point to generate the out/ + # directory, as the previous targets do not. Also, remove the + # previous archives so they don't blow up the size of this + # artifact. + - run: rm -f FStar/fstar*.tar.gz + - run: make setlink-2 + working-directory: FStar + + - uses: mtzguido/gci-upload@master + with: + name: fstar-repo + path: FStar + extra: --exclude=FStar/stage*/dune/_build + hometag: FSTAR + + # FIXME: Ideally, we could upload the artifacts as soon as each of + # them is created, and start the subsequent jobs at that instant too. + # Is that even doable...? diff --git a/.github/workflows/build-linux.yml b/.github/workflows/build-linux.yml new file mode 100644 index 00000000000..e1bd9192ddd --- /dev/null +++ b/.github/workflows/build-linux.yml @@ -0,0 +1,62 @@ +name: Build F* (Linux) + +# This builds F* for Linux for a binary package release. +# See build.yml for the build used in normal CI runs. + +on: + workflow_call: + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-22.04 + # We prefer slightly older Ubuntu so we get binaries that work on + # all more recent versions. + steps: + - uses: actions/checkout@master + + - uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 4.14.2 + + - name: Prepare + run: | + ./.scripts/get_fstar_z3.sh $HOME/bin + echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV + opam install --deps-only ./fstar.opam + + - name: Set version + run: | + # Setting FSTAR_VERSION for nightly and release builds. If unset, + # we use $(version.txt)~dev. Setting it avoids the ~dev. + if [[ "${{github.workflow_ref}}" =~ "nightly.yml" ]]; then + echo FSTAR_VERSION="nightly-$(date -I)" >> $GITHUB_ENV + elif [[ "${{github.workflow_ref}}" =~ "release.yml" ]]; then + echo FSTAR_VERSION="$(cat version.txt)" >> $GITHUB_ENV + echo FSTAR_RELEASE=1 >> $GITHUB_ENV + fi + + # NB: release workflow later adds version number to the name + - name: Build packages + run: | + eval $(opam env) + KERNEL=$(uname -s) + ARCH=$(uname -m) + export FSTAR_TAG=-$KERNEL-$ARCH + make -skj$(nproc) package + # Currently creating the source package in a separate job + # make -skj$(nproc) package-src FSTAR_TAG= + # # ^ no tag in source package + + - uses: actions/upload-artifact@v4 + with: + path: fstar-Linux-* + name: package-linux + # - uses: actions/upload-artifact@v4 + # with: + # path: fstar-src.tar.gz + # name: package-src diff --git a/.github/workflows/build-macos.yml b/.github/workflows/build-macos.yml new file mode 100644 index 00000000000..9049c4ac502 --- /dev/null +++ b/.github/workflows/build-macos.yml @@ -0,0 +1,48 @@ +name: Build F* (macos) + +on: + workflow_dispatch: + workflow_call: + +jobs: + build: + runs-on: macos-latest + steps: + - uses: actions/checkout@master + + - uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 4.14.2 + + - name: Prepare + run: | + brew install opam bash gnu-getopt coreutils gnu-sed make + ./.scripts/get_fstar_z3.sh $HOME/bin + echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV + opam install --deps-only ./fstar.opam + + - name: Set version + run: | + # Setting FSTAR_VERSION for nightly and release builds. If unset, + # we use $(version.txt)~dev. Setting it avoids the ~dev. + if [[ "${{github.workflow_ref}}" =~ "nightly.yml" ]]; then + echo FSTAR_VERSION="nightly-$(date -I)" >> $GITHUB_ENV + elif [[ "${{github.workflow_ref}}" =~ "release.yml" ]]; then + echo FSTAR_VERSION="$(cat version.txt)" >> $GITHUB_ENV + echo FSTAR_RELEASE=1 >> $GITHUB_ENV + fi + + # Note *g*make below! + # NB: release workflow later adds version number to the name + - name: Build package + run: | + eval $(opam env) + KERNEL=$(uname -s) + ARCH=$(uname -m) + export FSTAR_TAG=-$KERNEL-$ARCH + gmake -skj$(nproc) package + + - uses: actions/upload-artifact@v4 + with: + path: fstar-* + name: package-mac diff --git a/.github/workflows/build-src.yml b/.github/workflows/build-src.yml new file mode 100644 index 00000000000..2341616e2dc --- /dev/null +++ b/.github/workflows/build-src.yml @@ -0,0 +1,67 @@ +name: Build F* (src) + +on: + workflow_call: + workflow_dispatch: + +defaults: + run: + shell: bash + +jobs: + build: + runs-on: ubuntu-22.04 + # We prefer slightly older Ubuntu so we get binaries that work on + # all more recent versions. + steps: + - uses: actions/checkout@master + id: checkout + + - name: Check cache + id: check-cache + uses: actions/cache/restore@v4 + with: + path: fstar-src.tar.gz + key: FStar-src-${{steps.checkout.outputs.commit}} + + - uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 4.14.2 + + - name: Prepare + run: | + ./.scripts/get_fstar_z3.sh $HOME/bin + echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV + opam install --deps-only ./fstar.opam + + - name: Set version + run: | + # Setting FSTAR_VERSION for nightly and release builds. If unset, + # we use $(version.txt)~dev. Setting it avoids the ~dev. + if [[ "${{github.workflow_ref}}" =~ "nightly.yml" ]]; then + echo FSTAR_VERSION="nightly-$(date -I)" >> $GITHUB_ENV + elif [[ "${{github.workflow_ref}}" =~ "release.yml" ]]; then + echo FSTAR_VERSION="$(cat version.txt)" >> $GITHUB_ENV + echo FSTAR_RELEASE=1 >> $GITHUB_ENV + fi + + # NB: release workflow later adds version number to the name + - name: Build package + if: steps.check-cache.outputs.cache-hit != 'true' + run: | + eval $(opam env) + export FSTAR_TAG= + # ^ no tag in source package + make -skj$(nproc) package-src ADMIT=1 + + - name: Save + if: steps.check-cache.outputs.cache-hit != 'true' + uses: actions/cache/save@v4 + with: + path: fstar-src.tar.gz + key: FStar-src-${{steps.checkout.outputs.commit}} + + - uses: actions/upload-artifact@v4 + with: + path: fstar-src.tar.gz + name: package-src diff --git a/.github/workflows/build-windows-selfhosted.yml b/.github/workflows/build-windows-selfhosted.yml new file mode 100644 index 00000000000..9d7f9439d38 --- /dev/null +++ b/.github/workflows/build-windows-selfhosted.yml @@ -0,0 +1,74 @@ +name: Build F* (Windows, self-hosted) + +on: + workflow_call: + workflow_dispatch: + +jobs: + # We begin from a source package (built in Linux) + build-src: + uses: ./.github/workflows/build-src.yml + + build: + needs: build-src + runs-on: [self-hosted, Windows, X64, opam-2-3] + # NOTE: no setup, the self-hosted runner already has all that is needed. + # This workflow also has many weird restrictions like + # having to set cygwin bash, cd into $GITHUB_WORKSPACE, and keep + # shell commands to a single line. + steps: + - name: test + shell: C:\cygwin64\bin\bash.exe --login '{0}' + run: echo "GITHUB_WORKSPACE=$GITHUB_WORKSPACE" + + - name: clean + shell: C:\cygwin64\bin\bash.exe --login '{0}' + run: cd $GITHUB_WORKSPACE/ && rm -rf * && echo "There is a CR at the end of this line" + # ^ clean the workspace + + - uses: actions/download-artifact@v4 + with: + name: package-src + - run: cd $GITHUB_WORKSPACE && tar xzf fstar-src.tar.gz + shell: C:\cygwin64\bin\bash.exe --login '{0}' + + # DO NOT DO THIS. These variables will be lost since bash will + # not look at the environment of the calling cmd shell. + # - name: Prepare environment + # shell: C:\cygwin64\bin\bash.exe --login '{0}' + # run: | + # echo "CC=x86_64-w64-mingw32-gcc.exe" >> $GITHUB_ENV + # echo "FSTAR_DUNE_OPTIONS=-j1" >> $GITHUB_ENV + # echo "DUNE_CONFIG__BACKGROUND_SANDBOXES=disabled" >> $GITHUB_ENV + # ^ Related issues: + # https://github.com/ocaml/dune/issues/2324 + # https://github.com/ocaml/dune/issues/10076 + + - name: Build a package + shell: C:\cygwin64\bin\bash.exe --login '{0}' + run: | + cd $GITHUB_WORKSPACE && cd fstar && eval $(opam env) && make clean && CC=x86_64-w64-mingw32-gcc.exe DUNE_CONFIG__BACKGROUND_SANDBOXES=disabled make -j$(nproc) package V=1 ADMIT=1 && mv fstar.zip fstar-Windows_NT-x86_64.zip && echo "There is a CR at the end of this line" + + - name: Upload artifact + uses: actions/upload-artifact@v4 + with: + path: fstar/fstar*.zip + name: package-win + + binary-smoke: + needs: build + # This is a cloud job. + runs-on: windows-latest + steps: + - name: Get package + uses: actions/download-artifact@v4 + with: + name: package-win + + - run: unzip fstar*.zip + shell: bash + + - name: Smoke test + working-directory: fstar + run: | + ./bin/fstar.exe lib/fstar/ulib/Prims.fst -f -d diff --git a/.github/workflows/build-windows.yml b/.github/workflows/build-windows.yml new file mode 100644 index 00000000000..eec72483948 --- /dev/null +++ b/.github/workflows/build-windows.yml @@ -0,0 +1,134 @@ +name: Build F* (Windows) + +# Build F* on Windows +# Note: this workflow is rather messy, prints a bunch of debugging info, +# and relies on a source package generated by a previous (Linux) job. +# Debugging Windows builds is a bit of a nightmare, and can fail in many +# subtle ways. Make sure to test any change thoroughly. +# +# At some point, this should just look exactly like the Linux and macos +# workflows, just running 'make package' in a proper environment, and +# doing a full bootstrapping build. + +on: + workflow_call: + workflow_dispatch: + +defaults: + run: + shell: + bash + +jobs: + # We begin from a source package (built in Linux) + build-src: + uses: ./.github/workflows/build-src.yml + + build: + needs: build-src + runs-on: windows-latest + steps: + - uses: cygwin/cygwin-install-action@master + + # Print out some debug info + - name: dbg + continue-on-error: true + run: | + echo 'uname -a' + uname -a || true + echo 'uname -s' + uname -s || true + echo 'uname -m' + uname -m || true + echo env + env || true + echo OS=$OS + which make || true + make --version || true + + - uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 4.14.2 + + # - name: Prepare + # shell: powershell # somehow in bash we fail to build ocamlfind? + # run: | + # ./FStar/.scripts/get_fstar_z3.sh $HOME/bin + # echo "PATH=$HOME/bin:$PATH" >> $GITHUB_ENV + # opam install --deps-only FStar\fstar.opam + + - name: Set version + run: | + # Setting FSTAR_VERSION for nightly and release builds. If unset, + # we use $(version.txt)~dev. Setting it avoids the ~dev. + if [[ "${{github.workflow_ref}}" =~ "nightly.yml" ]]; then + echo FSTAR_VERSION="nightly-$(date -I)" >> $GITHUB_ENV + elif [[ "${{github.workflow_ref}}" =~ "release.yml" ]]; then + echo FSTAR_VERSION="$(cat FStar/version.txt)" >> $GITHUB_ENV + fi + + # - name: Build packages + # working-directory: FStar + # run: | + # eval $(opam env) + # KERNEL=Windows_NT + # # $(uname -s) + # # ^ uname-s prints something like CYGWIN_NT-10.0-26100 or MINGW64_NT-10.0-20348 + # ARCH=$(uname -m) + # export FSTAR_TAG=-$KERNEL-$ARCH + # make -kj$(nproc) 0 V=1 + # echo ------------------------------------------------- + # ./stage0/bin/fstar.exe --version + # ./stage0/bin/fstar.exe --locate + # ./stage0/bin/fstar.exe --locate_lib + # ./stage0/bin/fstar.exe --locate_ocaml + # ./stage0/bin/fstar.exe --include src --debug yes || true + # echo ------------------------------------------------- + # make -kj$(nproc) package V=1 + + # - uses: actions/upload-artifact@v4 + # with: + # path: FStar\fstar-Windows_NT-x86_64.tar.gz + # name: fstar-Windows_NT-x86_64.tar.gz + + # Get source package, extract, install its OPAM deps. + - uses: actions/download-artifact@v4 + with: + name: package-src + - run: tar xzf fstar-src.tar.gz + - run: eval $(opam env) && opam install . --deps-only + working-directory: fstar + + # Note: we admit queries here, like the OPAM build does. + - name: Build + run: | + eval $(opam env) + make ADMIT=1 -skj$(nproc) + working-directory: fstar + + - name: Smoke test + continue-on-error: true + run: | + ./out/bin/fstar.exe out/lib/fstar/ulib/Prims.fst -f + echo -e "module A\nopen FStar.Mul\nlet _ = assert (forall x. 1 + x*x > 0)" > A.fst + ./out/bin/fstar.exe A.fst + working-directory: fstar + + - name: Make binary package + run: | + eval $(opam env) + KERNEL=Windows_NT + # $(uname -s) + # ^ uname-s prints something like CYGWIN_NT-10.0-26100 or MINGW64_NT-10.0-20348 + ARCH=$(uname -m) + export FSTAR_TAG=-$KERNEL-$ARCH + make package + working-directory: fstar + + - run: find . -name '*.zip' + + - uses: actions/upload-artifact@v4 + if: ${{ always () }} + with: + name: package-win + path: fstar/fstar-*.zip diff --git a/.github/workflows/check-friends.yml b/.github/workflows/check-friends.yml new file mode 100644 index 00000000000..f54154d26c6 --- /dev/null +++ b/.github/workflows/check-friends.yml @@ -0,0 +1,563 @@ +name: Check F* friends + +# This workflow must be called ONLY after a run of build.yml +on: + workflow_call: + +defaults: + run: + shell: bash + +jobs: + build-krml: + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - name: Checkout karamel + uses: actions/checkout@master + with: + path: karamel/ + repository: FStarLang/karamel + + - name: Build krml + run: make -C karamel -skj$(nproc) + + # krml is a symlink to _build/default/src/Karamel.exe, but we want to exclude _build. + # So, overwrite the link with the actual file. + - name: Fix for symlink + run: | + cp --remove-destination $(realpath karamel/krml) karamel/krml + + - uses: mtzguido/gci-upload@master + with: + name: karamel + extra: --exclude=karamel/_build + hometag: KRML + + test-krml: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + # krml test needs node + - uses: actions/setup-node@v4 + with: + node-version: 16 + + - uses: mtzguido/gci-download@master + with: + name: karamel + + # node is needed for the wasm tests, skip them for now + - name: Test + run: make -C karamel -skj$(nproc) test + + build-steel: + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - name: Checkout steel + uses: actions/checkout@master + with: + path: steel/ + repository: FStarLang/steel + + - name: Build + run: make -C steel -skj$(nproc) + + - uses: mtzguido/gci-upload@master + with: + name: steel + hometag: STEEL + + test-steel: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-steel + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: steel + + - name: Test + run: make -C steel -skj$(nproc) test + + build-pulse: + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - name: Checkout pulse + uses: actions/checkout@master + with: + path: pulse/ + repository: FStarLang/pulse + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - name: Build (after setting up cargo env) + run: . $HOME/.cargo/env && make -C pulse -skj$(nproc) + + - uses: mtzguido/gci-upload@master + with: + name: pulse + hometag: PULSE + + test-pulse: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-pulse + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: pulse + + - name: Test + run: . $HOME/.cargo/env && make -C pulse -skj$(nproc) test + + build-hacl: + # runs-on: [self-hosted, linux, big] # using a faster runner + # NOTE: To use a self-hosted runner, we must make sure that + # the runner is executing as UID 1001 (which is the one the + # docker container uses) or it will be unable to write to its + # workspace. This is simply a terrible design by github actions. + # Somehow the cloud runners work regardless of the uid in + # the container. + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - name: Checkout hacl-star + uses: actions/checkout@master + with: + path: hacl-star/ + repository: hacl-star/hacl-star + + # Patch HACL* for new lib + - run: sed -i 's/^\(OCAMLSHARED.*\)fstar\.lib/\1fstar.pluginlib/' hacl-star/Makefile.common + + - run: echo "HACL_HOME=$(pwd)/hacl-star" >> $GITHUB_ENV + + - name: Get Vale + run: ./hacl-star/tools/get_vale.sh + + - name: Build + run: | + NPROC=$(nproc) + if [ $NPROC -gt 16 ]; then NPROC=16; fi + make -C hacl-star -skj${NPROC} + + - uses: mtzguido/gci-upload@master + with: + name: hacl-star + hometag: HACL + + test-hacl: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-hacl + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: hacl-star + + - name: Get Vale (again) + run: ./hacl-star/tools/get_vale.sh + + - run: sudo apt-get install -y libssl-dev + + - name: Test + run: make -C hacl-star -skj$(nproc) test + + build-everparse: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + - run: opam install -y hex re ctypes sha sexplib + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - name: Checkout everparse + uses: actions/checkout@master + with: + path: everparse/ + repository: project-everest/everparse + + - name: Build + run: | + NPROC=$(nproc) + if [ $NPROC -gt 16 ]; then NPROC=16; fi + make -C everparse -skj${NPROC} + + - uses: mtzguido/gci-upload@master + with: + name: everparse + hometag: EVERPARSE + + test-everparse: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-everparse + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + - run: opam install -y hex re ctypes sha sexplib + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: everparse + + - name: Test + run: make -C everparse -skj$(nproc) test + + build-merkle-tree: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-hacl + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: hacl-star + + - name: Checkout merkle-tree + uses: actions/checkout@master + with: + path: merkle-tree/ + repository: hacl-star/merkle-tree + + - name: Build + run: | + NPROC=$(nproc) + if [ $NPROC -gt 16 ]; then NPROC=16; fi + make -C merkle-tree -skj${NPROC} dist/libmerkletree.a + + - uses: mtzguido/gci-upload@master + with: + name: merkle-tree + + test-merkle-tree: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-hacl + - build-merkle-tree + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: hacl-star + + - uses: mtzguido/gci-download@master + with: + name: merkle-tree + + - name: Test + run: make -C merkle-tree -skj$(nproc) test + + build-mitls-fstar: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-hacl + - build-everparse + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: everparse + + - uses: mtzguido/gci-download@master + with: + name: hacl-star + + - name: Checkout mitls-fstar + uses: actions/checkout@master + with: + path: mitls-fstar/ + repository: project-everest/mitls-fstar + + - name: Build + run: make -C mitls-fstar/src/tls -skj$(nproc) + + - uses: mtzguido/gci-upload@master + with: + name: mitls-fstar + hometag: MITLS + + test-mitls-fstar: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-hacl + - build-everparse + - build-mitls-fstar + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: everparse + + - uses: mtzguido/gci-download@master + with: + name: hacl-star + + - uses: mtzguido/gci-download@master + with: + name: mitls-fstar + + - name: Build + run: make -C mitls-fstar/src/tls -skj$(nproc) test + + + build-cbor: + runs-on: ubuntu-latest + container: mtzguido/dev-base + needs: + - build-krml + - build-pulse + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + - run: opam install -y hex re ctypes sha sexplib + + # Install rust toolchain + - uses: dtolnay/rust-toolchain@stable + + - uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + - run: tar -xzf fstar.tar.gz + - run: echo "FSTAR_EXE=$(pwd)/fstar/bin/fstar.exe" >> $GITHUB_ENV + + - uses: mtzguido/gci-download@master + with: + name: karamel + + - uses: mtzguido/gci-download@master + with: + name: pulse + + # everparse expects PULSE_HOME to be the root of the installation, + # not the root of the repo + - run: echo "PULSE_HOME=$PULSE_HOME/out" >> $GITHUB_ENV + + - name: Checkout everparse (cbor branch) + uses: actions/checkout@master + with: + path: everparse/ + ref: taramana_cbor + repository: project-everest/everparse + + - name: Build + run: | + make -C everparse -skj$(nproc) + + - name: Test + run: | + make -C everparse -skj$(nproc) cbor-det-rust-test + + - uses: mtzguido/gci-upload@master + with: + name: everparse-cbor + path: everparse diff --git a/.github/workflows/check-nix-friends.yml b/.github/workflows/check-nix-friends.yml new file mode 100644 index 00000000000..6f834b5f69f --- /dev/null +++ b/.github/workflows/check-nix-friends.yml @@ -0,0 +1,56 @@ +name: Check F* friends (Nix) + +# This workflow should be called ONLY after a run of nix.yml so the F* +# build for the current sha has is already present in the Nix cache. +on: + workflow_call: + +defaults: + run: + shell: bash + +jobs: + comparse: + runs-on: ubuntu-latest + steps: + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + + - uses: actions/checkout@master + with: + repository: TWal/comparse + + - name: Update fstar flake and check + run: | + nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" + nix flake check + + dy-star: + runs-on: ubuntu-latest + steps: + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + + - uses: actions/checkout@master + with: + repository: REPROSEC/dolev-yao-star-extrinsic + + - name: Update fstar flake and check + run: | + nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" + nix flake check + + mls-star: + runs-on: ubuntu-latest + steps: + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + + - uses: actions/checkout@master + with: + repository: Inria-Prosecco/mls-star + + - name: Update fstar flake and check + run: | + nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" + nix flake check diff --git a/.github/workflows/check-world.yml b/.github/workflows/check-world.yml index 8de9c961457..8bbe389d28c 100644 --- a/.github/workflows/check-world.yml +++ b/.github/workflows/check-world.yml @@ -1,760 +1,29 @@ -name: Check world (build F* and all projects) - -# This workflow builds/checks F* and a selection of subprojects -# depending on it. -# -# It is meant to test if an F* patch impacts other projects heavily or -# not. Jobs can (and will) run in parallel if the dependencies allow, -# using (mostly) Github hosted runners which are small-ish 4 core VMs. -# -# The steps are containerized and running on a docker container -# 'mtzguido/fstar-base-testing` built from .docker/nu_base.Dockerfile -# (FIXME: it needs a big cleanup and should go into an FStarLang -# namespace) -# -# Self-hosted runners *can* be used, and it's desirable to do it for -# things like HACL* or everparse that take really long on Github VMs -# (build-hacl takes ~1h50m on github runners, ~20m on a new-ish 16-core -# 32-thread desktop). HOWEVER, Github actions seems to be incredibly -# stupid in bind mounting the workspace for the job from the current -# directory of the runner, which means the workspace has the UID of the -# user that started the runner, but the steps of the job run inside the -# runner with the UID of the docker user. If these UIDs differ, the job -# will quickly fail to do anything and break. I'm not sure what the -# canonical fix is here, I think this is insane. FIXME -# -# We also use some custom actions. They are all not very well documented -# and not robust, so think twice (or ask) before using elsewhere! -# - mtzguido/set-opam-env: -# this sets up the opam environment for the following steps -# (`eval $(opam env)` will not cut it, nor will `opam env >> $GITHUB_ENV`) -# -# - mtzguido/gci-upload: -# this uploads an artifact, much like github/upload-artifact, but first -# packages it up into a tarball to preserve permissions (like exec bits). -# Again it's insane that github does not do this by default. The tarball -# will anyways be zipped afterwards since all github artifacts are zipped, -# and will show up in the workflow run page. -# It takes an optional 'extra' for argments to tar, that we use to ignore -# some directories. It also ignores .git by default. -# The 'hometag' is a way to set home variables when downloading the artifacts. -# -# - mtzguido/gci-download: -# The companion to gci-upload. It will download the zipped tarball, unzip, -# and extract into a directory named like the artifact. If the gci-upload had -# a 'hometag: FOO', then the client downloading the artifact will get FOO_HOME -# set in the environment, equal to the directory where the artifact was extracted. -# This means most jobs do -# -# - uses: mtzguido/gci-download@master -# with: -# name: FStar -# -# And get a working F* with FSTAR_HOME set in the FStar directory. -# -# -# Adding new jobs should be relatively easy. Just state dependencies in -# the 'needs', and start the job by fetching the required dependencies -# with gci-download, and then build. The examples below should serve -# as a guide. If possible, separate the building from the testing, -# since future jobs may need the built resource, but all tests are -# independent. (However note that there is an overhead to start a job, -# it's ~40s alone to start a container, so don't overdo it by splitting -# up too much). +name: Check world (test F* + all subprojects) on: - # push: workflow_dispatch: - workflow_call: - -# TODO: -# Is there a way to set the default container? -# Move to the regular fstar-ci-base too + schedule: + - cron: '0 1 * * *' # 1AM UTC defaults: run: shell: bash jobs: - build-fstar: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - name: Checkout - uses: actions/checkout@master - with: - path: FStar/ - - - name: Prep - run: | - # In case we edited fstar.opam, install new deps here - # This will most likely fail to like krml below, what's going on? - # opam install --confirm-level=unsafe-yes --deps-only ./FStar/fstar.opam - - name: Build - run: make -C FStar -skj$(nproc) - - - uses: mtzguido/gci-upload@master - with: - name: FStar - extra: --exclude=FStar/ocaml/_build - hometag: FSTAR - - test-fstar: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: build-fstar - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - name: Test - run: make -C FStar -skj$(nproc) ci-uregressions - - test-fstar-boot: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - # needs: build-fstar - # ^ This does not really depend on the previous job, but this can be - # enabled if we wanted to sequentialize them for whatever reason. - # We start from scratch since we need a git repo to check the - # diff, and that is not contained in the artifact. We could just - # take the ulib checked files from the artifact, if we really wanted - # to, but checking ulib with ADMIT is quite fast anyway. - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: actions/checkout@master - with: - path: FStar/ - - - name: Bootstrap - run: | - make -C FStar -skj$(nproc) 1 - make -C FStar -skj$(nproc) full-bootstrap ADMIT=1 - - - name: Check diff - run: | - cd FStar/ - ./.scripts/check-snapshot-diff.sh - - - uses: mtzguido/gci-upload@master - with: - name: FStar-boot - path: FStar - extra: --exclude=FStar/ocaml/_build - hometag: FSTAR - - build-krml: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: build-fstar - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - name: Checkout karamel - uses: actions/checkout@master - with: - path: karamel/ - repository: FStarLang/karamel - - - name: Prep - run: | - # Fails mysteriously: - # - # Error: Package conflict! - # * No agreement on the version of ocaml: - # - (invariant) -> ocaml-base-compiler = 4.14.2 -> ocaml = 4.14.2 - # No solution found, exiting - # - karamel -> fstar -> ocaml < 4.06.0 - # You can temporarily relax the switch invariant with `--update-invariant' - # * No agreement on the version of ocaml-base-compiler: - # - (invariant) -> ocaml-base-compiler = 4.14.2 - # - karamel -> fstar -> ocaml < 4.06.0 -> ocaml-base-compiler = 3.07+1 - # * Missing dependency: - # - karamel -> fstar -> z3 = 4.8.5 -> conf-python-2-7 - # depends on the unavailable system package 'python2.7'. Use `--no-depexts' to attempt installation anyway, or it is possible that a depext package name in the opam file is incorrect. - # * Missing dependency: - # - karamel -> fstar -> ocaml < 4.06.0 -> ocaml-variants >= 3.11.1 -> ocaml-beta - # unmet availability conditions: 'enable-ocaml-beta-repository' - # * Missing dependency: - # - karamel -> fstar -> ocaml < 4.06.0 -> ocaml-variants >= 3.11.1 -> system-msvc - # unmet availability conditions: 'os = "win32"' - # - # opam install --confirm-level=unsafe-yes --deps-only ./karamel/karamel.opam - - - name: Build krml - run: make -C karamel -skj$(nproc) - - # krml is a symlink to _build/default/src/Karamel.exe, but we want to exclude _build. - # So, overwrite the link with the actual file. - - name: Fix for symlink - run: | - cp --remove-destination $(realpath karamel/krml) karamel/krml - - - uses: mtzguido/gci-upload@master - with: - name: karamel - extra: --exclude=karamel/_build - hometag: KRML - - test-krml: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - name: Test - run: make -C karamel -skj$(nproc) test - - build-steel: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - name: Checkout steel - uses: actions/checkout@master - with: - path: steel/ - repository: FStarLang/steel - - - name: Build - run: make -C steel -skj$(nproc) - - - uses: mtzguido/gci-upload@master - with: - name: steel - hometag: STEEL - - test-steel: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-steel - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: steel - - - name: Test - run: make -C steel -skj$(nproc) test - - build-pulse: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - name: Checkout pulse - uses: actions/checkout@master - with: - path: pulse/ - repository: FStarLang/pulse - - - name: Build - run: make -C pulse -skj$(nproc) - - - uses: mtzguido/gci-upload@master - with: - name: pulse - hometag: PULSE - - test-pulse-boot: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - test-fstar-boot - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar-boot - - - name: Checkout pulse - uses: actions/checkout@master - with: - path: pulse/ - repository: FStarLang/pulse - - - name: Build - run: | - # This is similar for 'make full-boot', but does not - # check the library. - make -C pulse/src -skj$(nproc) clean-snapshot - make -C pulse/src -skj$(nproc) extract - make -C pulse/src -skj$(nproc) build-ocaml - - - name: Check diff - run: | - cd pulse/ - ./.scripts/check-snapshot-diff.sh - - test-pulse: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-pulse - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: pulse - - - name: Test - run: make -C pulse -skj$(nproc) test - - build-hacl: - # runs-on: [self-hosted, linux, big] # using a faster runner - # NOTE: To use a self-hosted runner, we must make sure that - # the runner is executing as UID 1001 (which is the one the - # docker container uses) or it will be unable to write to its - # workspace. This is simply a terrible design by github actions. - # Somehow the cloud runners work regardless of the uid in - # the container. - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - name: Checkout hacl-star - uses: actions/checkout@master - with: - path: hacl-star/ - repository: hacl-star/hacl-star - - - run: echo "HACL_HOME=$(pwd)/hacl-star" >> $GITHUB_ENV - - - name: Get Vale - run: ./hacl-star/tools/get_vale.sh - - - name: Build - run: | - NPROC=$(nproc) - if [ $NPROC -gt 16 ]; then NPROC=16; fi - make -C hacl-star -skj${NPROC} - - - uses: mtzguido/gci-upload@master - with: - name: hacl-star - hometag: HACL - - test-hacl: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-hacl - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: hacl-star - - - name: Get Vale (again) - run: ./hacl-star/tools/get_vale.sh - - - name: Test - run: make -C hacl-star -skj$(nproc) test - - build-everparse: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - name: Checkout everparse - uses: actions/checkout@master - with: - path: everparse/ - repository: project-everest/everparse - - - name: Build - run: | - NPROC=$(nproc) - if [ $NPROC -gt 16 ]; then NPROC=16; fi - make -C everparse -skj${NPROC} - - - uses: mtzguido/gci-upload@master - with: - name: everparse - hometag: EVERPARSE - - test-everparse: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-everparse - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: everparse - - - name: Test - run: make -C everparse -skj$(nproc) test - - build-merkle-tree: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-hacl - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: hacl-star - - - name: Checkout merkle-tree - uses: actions/checkout@master - with: - path: merkle-tree/ - repository: hacl-star/merkle-tree - - - name: Build - run: | - NPROC=$(nproc) - if [ $NPROC -gt 16 ]; then NPROC=16; fi - make -C merkle-tree -skj${NPROC} dist/libmerkletree.a - - - uses: mtzguido/gci-upload@master - with: - name: merkle-tree - - test-merkle-tree: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-hacl - - build-merkle-tree - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: hacl-star - - - uses: mtzguido/gci-download@master - with: - name: merkle-tree - - - name: Test - run: make -C merkle-tree -skj$(nproc) test - - build-mitls-fstar: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-hacl - - build-everparse - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: everparse - - - uses: mtzguido/gci-download@master - with: - name: hacl-star - - - name: Checkout mitls-fstar - uses: actions/checkout@master - with: - path: mitls-fstar/ - repository: project-everest/mitls-fstar - - - name: Build - run: make -C mitls-fstar/src/tls -skj$(nproc) - - - uses: mtzguido/gci-upload@master - with: - name: mitls-fstar - hometag: MITLS - - test-mitls-fstar: - runs-on: ubuntu-latest - container: mtzguido/fstar-base-testing - needs: - - build-fstar - - build-krml - - build-hacl - - build-everparse - - build-mitls-fstar - steps: - - name: Cleanup - run: find . -delete - - run: echo "HOME=/home/opam" >> $GITHUB_ENV - - uses: mtzguido/set-opam-env@master - - - uses: mtzguido/gci-download@master - with: - name: FStar - - - uses: mtzguido/gci-download@master - with: - name: karamel - - - uses: mtzguido/gci-download@master - with: - name: everparse - - - uses: mtzguido/gci-download@master - with: - name: hacl-star - - - uses: mtzguido/gci-download@master - with: - name: mitls-fstar - - - name: Build - run: make -C mitls-fstar/src/tls -skj$(nproc) test - - - ### Nix jobs, for some Inria projects - # - # NOTE: these jobs are not containerized - # 1- it should not be needed since Nix takes care of isolating the environment - # 2- it would actually fail to setup Nix due to permissions in the container, and I haven't - # found a clear reference on what the permissions/uids should be. - # - # The fstar-nix job is here to - # 1- Test the nix build in this workflow too - # 2- Reuse the built F* in the following projects, via the magic-nix-cache (note the 'needs') - - fstar-nix: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - name: Build - run: nix build -L - - comparse: - needs: fstar-nix - runs-on: ubuntu-latest - steps: - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - - uses: actions/checkout@master - with: - repository: TWal/comparse - - - name: Update fstar flake and check - run: | - nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" - nix flake check - - dy-star: - needs: fstar-nix - runs-on: ubuntu-latest - steps: - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - - uses: actions/checkout@master - with: - repository: REPROSEC/dolev-yao-star-extrinsic - - - name: Update fstar flake and check - run: | - nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" - nix flake check - - mls-star: - needs: fstar-nix - runs-on: ubuntu-latest - steps: - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - - uses: actions/checkout@master - with: - repository: Inria-Prosecco/mls-star - - - name: Update fstar flake and check - run: | - nix flake update --update-input fstar-flake --override-input fstar-flake "github:${{github.repository}}?rev=${{github.sha}}" - nix flake check + build: + name: build + uses: ./.github/workflows/build-ci.yml + + check-friends: + needs: build + name: friends + uses: ./.github/workflows/check-friends.yml + + build-nix: + name: build (nix) + uses: ./.github/workflows/nix.yml + + check-nix-friends: + needs: build-nix + name: friends-nix + uses: ./.github/workflows/check-nix-friends.yml diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml new file mode 100644 index 00000000000..53992ea86d0 --- /dev/null +++ b/.github/workflows/ci.yml @@ -0,0 +1,34 @@ +name: CI + +on: + push: + branches-ignore: + - _** + pull_request: + workflow_dispatch: + merge_group: + +defaults: + run: + shell: bash + +jobs: + build: + name: build + uses: ./.github/workflows/build-ci.yml + + tests: + name: tests + needs: build + uses: ./.github/workflows/tests.yml + + nix-build: + name: nix + uses: ./.github/workflows/nix.yml + + # Branch protection points here + ciok: + runs-on: ubuntu-latest + needs: [build, tests, nix-build] + steps: + - run: exit 0 diff --git a/.github/workflows/linux-x64-rebuild-base.yaml b/.github/workflows/linux-x64-rebuild-base.yaml deleted file mode 100644 index 6445ef96a25..00000000000 --- a/.github/workflows/linux-x64-rebuild-base.yaml +++ /dev/null @@ -1,145 +0,0 @@ -name: Rebuild base image -on: - schedule: - # 2AM UTC - - cron: '0 2 * * *' - workflow_dispatch: - inputs: - force: - description: Update the base image even if running F* CI fails, and even if this branch is not master - required: true - type: boolean -jobs: - build: - runs-on: [self-hosted, linux, X64] - defaults: - run: - # Setting the default shell to bash. This is not only more standard, - # but also makes sure that we run with -o pipefail, so we can safely - # pipe data (such as | tee LOG) without missing out on failures - # and getting false positives. If you want to change the default shell, - # keep in mind you need a way to handle this. - shell: bash - - steps: - - name: Check out repo - uses: actions/checkout@v4 - - - name: Rebuild base image from scratch - run: | - TEMP_IMAGE_NAME=fstar:update-base-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT - CI_IMAGEBUILD_INITIAL_TIMESTAMP=$(date '+%s') - docker build --pull --no-cache -f .docker/base.Dockerfile -t ${TEMP_IMAGE_NAME} . - 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 "TEMP_IMAGE_NAME=$TEMP_IMAGE_NAME" >> $GITHUB_ENV - - - name: Check that F* CI passes - run: | - echo "CI_INITIAL_TIMESTAMP=$(date '+%s')" >> $GITHUB_ENV - ci_docker_image_tag=fstar:update-base-test-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT - echo "ci_docker_image_tag=$ci_docker_image_tag" >> $GITHUB_ENV - - docker build --no-cache -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg FSTAR_CI_BASE=$TEMP_IMAGE_NAME --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 - - - name: Tag base image - if: ${{ (success () && github.ref_name == 'master') || inputs.force }} - run: | - docker tag ${TEMP_IMAGE_NAME} fstar_ci_base - - - name: Compute elapsed time and status message - if: ${{ always() }} - run: | - CI_FINAL_TIMESTAMP=$(date '+%s') - CI_TIME_DIFF=$(( $CI_FINAL_TIMESTAMP - $CI_INITIAL_TIMESTAMP )) - echo "CI_TIME_DIFF_S=$(( $CI_TIME_DIFF % 60 ))" >> $GITHUB_ENV - echo "CI_TIME_DIFF_M=$(( ($CI_TIME_DIFF / 60) % 60 ))" >> $GITHUB_ENV - echo "CI_TIME_DIFF_H=$(( $CI_TIME_DIFF / 3600 ))" >> $GITHUB_ENV - case ${{ job.status }} in - (success) - if orange_contents="$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/orange_file.txt')" && [[ $orange_contents = '' ]] ; then - echo "CI_EMOJI=✅" >> $GITHUB_ENV - else - echo "CI_EMOJI=âš " >> $GITHUB_ENV - fi - ;; - (cancelled) - echo "CI_EMOJI=âš " >> $GITHUB_ENV - ;; - (*) - echo "CI_EMOJI=âŒ" >> $GITHUB_ENV - ;; - esac - echo "CI_COMMIT=$(echo ${{ github.sha }} | grep -o '^........')" >> $GITHUB_ENV - echo "CI_COMMIT_URL=https://github.com/FStarLang/FStar/commit/${{ github.sha }}" >> $GITHUB_ENV - if [[ '${{github.event_name}}' == 'schedule' ]]; then - CI_TRIGGER='schedule' - else - CI_TRIGGER='${{github.triggering_actor}}' - fi - echo "CI_TRIGGER=$CI_TRIGGER" >> $GITHUB_ENV - echo 'CI_STATUS='"$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/result.txt' || echo Failure)" >> $GITHUB_ENV - if [ -n "$CI_IMAGEBUILD_INITIAL_TIMESTAMP" ]; then - DIFF=$(( $CI_IMAGEBUILD_FINAL_TIMESTAMP - $CI_IMAGEBUILD_INITIAL_TIMESTAMP )) - SS=$(( $DIFF % 60 )) - MM=$(( ($DIFF / 60) % 60 )) - HH=$(( $DIFF / 3600 )) - CI_IMAGEBUILD_TIME="${HH}h ${MM}min ${SS}s" - echo "CI_IMAGEBUILD_TIME=$CI_IMAGEBUILD_TIME" >> $GITHUB_ENV - fi - - - name: Remove intermediate images - if: ${{ always() }} - run: | - docker rmi -f ${TEMP_IMAGE_NAME} || true - docker rmi -f ${ci_docker_image_tag} || true - - - name: Output build log error summary - if: ${{ failure() }} - run: | - # Just outputs to the github snippet. Could be part of slack message. - # This command never triggers a failure - grep -C10 -E ' \*\*\* |\(Error' BUILDLOG > BUILDLOG_ERRORS || true - ERRORS_URL=$(.scripts/sprang BUILDLOG_ERRORS) - ERRORS_MSG=" <$ERRORS_URL|(Error summary)>" - echo "ERRORS_MSG=$ERRORS_MSG" >> $GITHUB_ENV - - - name: Post to the Slack channel - if: ${{ always() }} - id: slack - continue-on-error: true - uses: slackapi/slack-github-action@v1.26.0 - with: - channel-id: ${{ env.CI_SLACK_CHANNEL }} - payload: | - { - "blocks" : [ - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "Update F* base CI image\n<${{ env.CI_COMMIT_URL }}|${{ env.CI_COMMIT }}> on (${{ github.ref_name }}) by ${{ env.CI_TRIGGER }}" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "${{ env.CI_EMOJI }} ${{env.ERRORS_MSG}}" - } - }, - { - "type": "section", - "text": { - "type": "plain_text", - "text": "Duration (image build): ${{ env.CI_IMAGEBUILD_TIME }}\nDuration (FStar CI): ${{ env.CI_TIME_DIFF_H }}h ${{ env.CI_TIME_DIFF_M }}min ${{ env.CI_TIME_DIFF_S }}s" - } - } - ] - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK diff --git a/.github/workflows/linux-x64.yaml b/.github/workflows/linux-x64.yaml deleted file mode 100644 index 799c7502231..00000000000 --- a/.github/workflows/linux-x64.yaml +++ /dev/null @@ -1,227 +0,0 @@ -name: Build and test FStar -on: - push: - branches-ignore: - - _** - pull_request: - workflow_dispatch: - inputs: - ci_refresh_hints: - description: Refresh hints and advance version number - required: true - type: boolean - ci_no_karamel: - description: Disable Karamel extraction tests - required: true - type: boolean - ci_skip_image_tag: - description: Do not tag image - required: true - type: boolean -jobs: - build: - runs-on: [self-hosted, linux, X64] - defaults: - run: - # Setting the default shell to bash. This is not only more standard, - # but also makes sure that we run with -o pipefail, so we can safely - # pipe data (such as | tee LOG) without missing out on failures - # and getting false positives. If you want to change the default shell, - # keep in mind you need a way to handle this. - shell: bash - steps: - - name: Record initial timestamp - run: | - echo "CI_INITIAL_TIMESTAMP=$(date '+%s')" >> $GITHUB_ENV - - name: Check out repo - uses: actions/checkout@v4 - - name: Identify the notification channel - run: | - echo "CI_SLACK_CHANNEL=$(jq -c -r '.NotificationChannel' .docker/build/config.json)" >> $GITHUB_ENV - - name: Set the refresh hints flag - if: ${{ (github.event_name == 'workflow_dispatch') && inputs.ci_refresh_hints }} - run: | - # NOTE: this causes the build to record hints - echo "CI_RECORD_HINTS_ARG=--build-arg CI_RECORD_HINTS=1" >> $GITHUB_ENV - - name: Populate no karamel arg - if: ${{ (github.event_name == 'workflow_dispatch') && inputs.ci_no_karamel }} - run: | - echo "CI_DO_NO_KARAMEL=--build-arg CI_NO_KARAMEL=1" >> $GITHUB_ENV - - name: Populate skip image tag arg - if: ${{ (github.event_name == 'workflow_dispatch') && inputs.ci_skip_image_tag }} - run: | - echo "CI_SKIP_IMAGE_TAG=1" >> $GITHUB_ENV - - name: Enable resource monitoring - if: ${{ vars.FSTAR_CI_RESOURCEMONITOR == '1' }} - run: | - echo "RESOURCEMONITOR=1" >> $GITHUB_ENV - - - name: Make sure base image is present, or build it - run: | - if ! docker images | grep '^fstar_ci_base '; then - echo '*** REBUILDING fstar_ci_base image' - 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 - fi - - - name: Build FStar and its dependencies - run: | - ci_docker_image_tag=fstar:local-run-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT - echo "ci_docker_image_tag=$ci_docker_image_tag" >> $GITHUB_ENV - docker build -t $ci_docker_image_tag -f .docker/standalone.Dockerfile --build-arg CI_BRANCH=$GITHUB_REF_NAME --build-arg RESOURCEMONITOR=$RESOURCEMONITOR --build-arg CI_THREADS=$(nproc) $CI_RECORD_HINTS_ARG $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 - docker tag $ci_docker_image_tag fstar:local-branch-$GITHUB_REF_NAME - fi - docker tag $ci_docker_image_tag fstar:local-commit-$GITHUB_SHA - fi - $ci_docker_status - - - name: Push the generated hints - if: ${{ (github.event_name == 'workflow_dispatch') && inputs.ci_refresh_hints }} - run: | - FSTAR_HOME=$(docker run $ci_docker_image_tag /bin/bash -c 'echo $FSTAR_HOME') - docker run $ci_docker_image_tag bash -c "env DZOMO_GITHUB_TOKEN=$DZOMO_GITHUB_TOKEN $FSTAR_HOME/.scripts/advance.sh refresh_fstar_hints" - env: - DZOMO_GITHUB_TOKEN: ${{ secrets.DZOMO_GITHUB_TOKEN }} - - - name: Collect resource monitoring files and summary - if: ${{ always () && vars.FSTAR_CI_RESOURCEMONITOR == '1' }} - continue-on-error: true - run: | - # docker cp needs absolute path, obtain FSTAR_HOME - FSTAR_HOME=$(docker run $ci_docker_image_tag /bin/bash -c 'echo $FSTAR_HOME') - # We briefly kick up a container from the generated image, so - # we can extract files from it. No need to start it though. - temp_container=$(docker create $ci_docker_image_tag) - docker cp $temp_container:${FSTAR_HOME}/rmon/ rmon - docker rm -f $temp_container - - # Also, read these bottom-line values into the environment so they - # can go into the Slack message. - FSTAR_CI_MEASURE_CPU=$(awk -F':' '/Total CPU/ { print $2 }' rmon/res_summary.txt) - FSTAR_CI_MEASURE_MEM=$(awk -F':' '/Total memory/ { print $2 }' rmon/res_summary.txt) - echo "FSTAR_CI_MEASURE_CPU=$FSTAR_CI_MEASURE_CPU" >> $GITHUB_ENV - echo "FSTAR_CI_MEASURE_MEM=$FSTAR_CI_MEASURE_MEM" >> $GITHUB_ENV - - # Final goodie: upload the summary to sprunge.us and add a link in - # the Slack message for a 1-click report. - RMON_URL=$(.scripts/sprang rmon/res_summary.txt) - echo "RMON_URL=$RMON_URL" >> $GITHUB_ENV - - - name: Save resource monitor summary as artifact - if: ${{ always () && vars.FSTAR_CI_RESOURCEMONITOR == '1' }} - continue-on-error: true - uses: actions/upload-artifact@v4 - with: - name: Resource usage information (summary) - path: | - rmon/res_summary.txt - - - name: Save resource monitor files as artifact - if: ${{ always () && vars.FSTAR_CI_RESOURCEMONITOR == '1' }} - continue-on-error: true - uses: actions/upload-artifact@v4 - with: - name: Resource usage information (individual) - path: | - rmon/rmon.tgz - - - name: Compute elapsed time and status message - if: ${{ always() }} - run: | - CI_FINAL_TIMESTAMP=$(date '+%s') - CI_TIME_DIFF=$(( $CI_FINAL_TIMESTAMP - $CI_INITIAL_TIMESTAMP )) - echo "CI_TIME_DIFF_S=$(( $CI_TIME_DIFF % 60 ))" >> $GITHUB_ENV - echo "CI_TIME_DIFF_M=$(( ($CI_TIME_DIFF / 60) % 60 ))" >> $GITHUB_ENV - echo "CI_TIME_DIFF_H=$(( $CI_TIME_DIFF / 3600 ))" >> $GITHUB_ENV - case ${{ job.status }} in - (success) - if orange_contents="$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/orange_file.txt')" && [[ $orange_contents = '' ]] ; then - echo "CI_EMOJI=✅" >> $GITHUB_ENV - else - echo "CI_EMOJI=âš " >> $GITHUB_ENV - fi - ;; - (cancelled) - echo "CI_EMOJI=âš " >> $GITHUB_ENV - ;; - (*) - echo "CI_EMOJI=âŒ" >> $GITHUB_ENV - ;; - esac - echo "CI_COMMIT=$(echo ${{ github.event.head_commit.id || github.event.pull_request.head.sha || github.head_commit.id }} | grep -o '^........')" >> $GITHUB_ENV - echo 'CI_STATUS='"$(docker run $ci_docker_image_tag /bin/bash -c 'cat $FSTAR_HOME/result.txt' || echo Failure)" >> $GITHUB_ENV - if [ -n "$CI_IMAGEBUILD_INITIAL_TIMESTAMP" ]; then - DIFF=$(( $CI_IMAGEBUILD_FINAL_TIMESTAMP - $CI_IMAGEBUILD_INITIAL_TIMESTAMP )) - SS=$(( $DIFF % 60 )) - MM=$(( ($DIFF / 60) % 60 )) - HH=$(( $DIFF / 3600 )) - CI_IMAGEBUILD_MSG=" (base image rebuilt in ${HH}h ${MM}m ${SS}s)" - echo "CI_IMAGEBUILD_MSG='$CI_IMAGEBUILD_MSG'" >> $GITHUB_ENV - fi - - - name: Output build log error summary - if: ${{ failure () }} - run: | - # Just outputs to the github snippet. Could be part of slack message. - # This command never triggers a failure - grep -C10 -E ' \*\*\* |\(Error' BUILDLOG > BUILDLOG_ERRORS || true - ERRORS_URL=$(.scripts/sprang BUILDLOG_ERRORS) - ERRORS_MSG=" <$ERRORS_URL|(Error summary)>" - echo "ERRORS_MSG=$ERRORS_MSG" >> $GITHUB_ENV - - - name: Post to the Slack channel - if: ${{ always() }} - id: slack - continue-on-error: true - uses: slackapi/slack-github-action@v1.26.0 - with: - channel-id: ${{ env.CI_SLACK_CHANNEL }} - payload: | - { - "blocks" : [ - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "<${{ github.event.head_commit.url || github.event.pull_request.html_url }}|${{ env.CI_COMMIT }}> on (${{ github.ref_name }}) by ${{ github.event.head_commit.author.username || github.event.pull_request.user.login || github.head_commit.author.username }}" - } - }, - { - "type": "section", - "text": { - "type": "plain_text", - "text": ${{ toJSON(github.event.head_commit.message || github.event.pull_request.title || github.head_commit.message || '') }} - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "${{ env.CI_EMOJI }} ${{env.ERRORS_MSG}}" - } - }, - { - "type": "section", - "text": { - "type": "plain_text", - "text": "Duration: ${{ env.CI_TIME_DIFF_H }}h ${{ env.CI_TIME_DIFF_M }}min ${{ env.CI_TIME_DIFF_S }}s${{env.CI_IMAGEBUILD_MSG}}" - } - }, - { - "type": "section", - "text": { - "type": "mrkdwn", - "text": "<${{env.RMON_URL}}|Resource summary>\nTotal CPU usage: ${{ env.FSTAR_CI_MEASURE_CPU }}\nTotal memory usage: ${{ env.FSTAR_CI_MEASURE_MEM }}" - } - } - ] - } - env: - SLACK_WEBHOOK_URL: ${{ secrets.SLACK_WEBHOOK_URL }} - SLACK_WEBHOOK_TYPE: INCOMING_WEBHOOK diff --git a/.github/workflows/macos-build.yml b/.github/workflows/macos-build.yml deleted file mode 100644 index bf6f39421ed..00000000000 --- a/.github/workflows/macos-build.yml +++ /dev/null @@ -1,40 +0,0 @@ -name: Build FStar Binaries for MacOS - -on: - workflow_dispatch: - -jobs: - - build: - - runs-on: macos-latest - - steps: - - name: Checkout FStar - uses: actions/checkout@v4 - with: - path: FStar - - name: Checkout everest - uses: actions/checkout@v4 - with: - repository: project-everest/everest - path: FStar/.github/everest - - name: Install .NET SDK - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - name: Setup dependencies - run: ./FStar/.github/setup-macos.sh - - name: Build FStar - run: | - source FStar/.github/env.sh - make -j -C FStar all - - name: Package FStar - run: | - source FStar/.github/env.sh - PACKAGE_DOCS=0 make -j -C FStar package - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: fstar-Darwin_x86_64.tar.gz - path: FStar/src/ocaml-output/fstar.tar.gz diff --git a/.github/workflows/nightly.yml b/.github/workflows/nightly.yml new file mode 100644 index 00000000000..61452892958 --- /dev/null +++ b/.github/workflows/nightly.yml @@ -0,0 +1,64 @@ +name: F* nightly build + +# For this to work, there must a repo called FStar-nightly +# in the same org as FStar, and a DZOMO_GITHUB_TOKEN secret configured +# in the FStar repo that has write access to FStar-nightly (i.e. 'Contents' +# permission), *AND* also workflow access (or you'll get "Refusing to +# allow a Personal Access Token to create or update workflow"). +# +# The default GITHUB_TOKEN only allows access to the current repo, so it's +# not useful. + +on: + schedule: + - cron: '0 0 * * *' + workflow_dispatch: + +jobs: + build-all: + uses: ./.github/workflows/build-all.yml + + publish: + runs-on: ubuntu-latest + needs: build-all + steps: + - uses: actions/checkout@master + with: + fetch-depth: 0 # full clone, so we can push objects + + - name: Set up git + run: | + git config --global user.name "Dzomo, the Everest Yak" + git config --global user.email "24394600+dzomo@users.noreply.github.com" + + - uses: actions/download-artifact@v4 + with: + path: artifacts + merge-multiple: true + # ^ Download all artifacts into the same dir. + # Each of them is a single file, so no clashes happen. + + - name: Publish artifacts in nightly tag + run: | + git config --unset-all http.https://github.com/.extraheader + # ^ https://stackoverflow.com/questions/64374179/how-to-push-to-another-repository-in-github-actions + + # We push nightly builds to a different repo (same org) + REPO="${{github.repository}}-nightly" + TAG=nightly-$(date -I) + + # Create tag + git tag $TAG ${{github.sha}} + + # Add new remote and push tag + git remote add nightly-repo https://${{secrets.DZOMO_GITHUB_TOKEN}}@github.com/$REPO + git push nightly-repo $TAG + + # Create release + gh release create -R "$REPO" \ + --generate-notes \ + --target ${{ github.sha }} \ + $TAG artifacts/* + + env: + GH_TOKEN: ${{ secrets.DZOMO_GITHUB_TOKEN }} diff --git a/.github/workflows/nix.yaml b/.github/workflows/nix.yaml deleted file mode 100644 index e2c4adf1fd2..00000000000 --- a/.github/workflows/nix.yaml +++ /dev/null @@ -1,17 +0,0 @@ -# This workflow tests the Nix build of F*. We run it only for PRs (not -# on every push) and we use Github hosted runners. - -name: Nix Build - -on: - pull_request: - -jobs: - nix-build: - runs-on: ubuntu-latest - steps: - - uses: actions/checkout@v4 - - uses: DeterminateSystems/nix-installer-action@main - - uses: DeterminateSystems/magic-nix-cache-action@main - - name: Build - run: nix build -L diff --git a/.github/workflows/nix.yml b/.github/workflows/nix.yml new file mode 100644 index 00000000000..d51993fb0c1 --- /dev/null +++ b/.github/workflows/nix.yml @@ -0,0 +1,19 @@ +name: Build F* (Nix) + +on: + workflow_dispatch: + workflow_call: + +defaults: + run: + shell: bash + +jobs: + fstar-nix: + runs-on: ubuntu-latest + steps: + - uses: actions/checkout@v4 + - uses: DeterminateSystems/nix-installer-action@main + - uses: DeterminateSystems/magic-nix-cache-action@main + - name: Build + run: nix build -L diff --git a/.github/workflows/release.yml b/.github/workflows/release.yml index b463209d8ed..d8f449215b3 100644 --- a/.github/workflows/release.yml +++ b/.github/workflows/release.yml @@ -1,72 +1,82 @@ -name: FStar Binary Release +name: Create F* release and publish on: workflow_dispatch: + inputs: + dry_run: + description: 'Dry run: just build, do not publish' + default: false + type: boolean -jobs: - - build-linux: +env: + DRY_RUN: ${{ github.event.inputs.dry_run || false }} - runs-on: [self-hosted, linux, X64] +jobs: + # Bump version number beforehand? I don't think the action can push + # that to master (easily). Just remember to do so manually. + # At least check for it, so we don't run this whole thing and fail + # for an existing tag. + pre: + runs-on: ubuntu-latest steps: - - name: Check out repo - uses: actions/checkout@v4 - - name: Package and release FStar - run: | - ci_docker_image_tag=fstar-release:local-run-$GITHUB_RUN_ID-$GITHUB_RUN_ATTEMPT - ci_docker_builder=builder_fstar-release_${GITHUB_RUN_ID}_${GITHUB_RUN_ATTEMPT} - docker buildx create --name $ci_docker_builder --driver-opt env.BUILDKIT_STEP_LOG_MAX_SIZE=500000000 - docker buildx build --builder $ci_docker_builder --pull --load --secret id=DZOMO_GITHUB_TOKEN -t $ci_docker_image_tag -f .docker/release.Dockerfile . - env: - DZOMO_GITHUB_TOKEN: ${{ secrets.DZOMO_GITHUB_TOKEN }} - - name: Remove the builder if created - if: ${{ always() }} - run: | - docker buildx rm -f $ci_docker_builder || true + - uses: actions/checkout@v4 + - if: env.DRY_RUN != 'true' # don't check on a dry run. + run: | + git fetch --tags + V="v$(cat version.txt)" + if git tag -l "$V" | grep -q .; then + echo "::error::Version $V already exists (as a tag). Bump the version number in version.txt before running this workflow." >&2 + false + fi - build-macos: - - needs: build-linux - - runs-on: macos-latest + build-all: + needs: pre + uses: ./.github/workflows/build-all.yml + publish: + runs-on: ubuntu-latest + needs: build-all steps: - - name: Checkout FStar - uses: actions/checkout@v4 - with: - path: FStar - - name: Checkout everest - uses: actions/checkout@v4 - with: - repository: project-everest/everest - path: FStar/.github/everest - - name: Install .NET SDK - uses: actions/setup-dotnet@v4 - with: - dotnet-version: '6.0.x' - - name: Setup dependencies - run: ./FStar/.github/setup-macos.sh - - name: Package and release FStar - run: | - source FStar/.github/env.sh - CI_THREADS=24 FSTAR_SKIP_PACKAGE_TEST=1 FStar/.scripts/release.sh - env: - GH_TOKEN: ${{ secrets.DZOMO_GITHUB_TOKEN }} + - name: Set up git + run: | + git config --global user.name "Dzomo, the Everest Yak" + git config --global user.email "24394600+dzomo@users.noreply.github.com" - build-windows: + - uses: actions/download-artifact@v4 + with: + path: artifacts + merge-multiple: true + # ^ Download all artifacts into the same dir. + # Each of them is a single file, so no clashes happen. - needs: build-linux + - uses: actions/checkout@v4 + with: + path: FStar + - name: Rename packages to have version number + run: | + V="v$(cat FStar/version.txt)" + for file in artifacts/fstar-*; do + mv "$file" "${file/fstar-/fstar-$V-}" + done - runs-on: [self-hosted, Windows, X64] + - name: Publish release + if: env.DRY_RUN != 'true' + working-directory: FStar + env: + GH_TOKEN: ${{ github.token }} + run: | + V=$(cat version.txt) + # --target with a specific ShA makes sure that if master + # advanced while we were running, the release is still created + # at the commit where this workflow started. Note however + # that it seems this workflow seems to fail when trying + # to tag something other than the lates commit on master + # (probably some Github config should be changed).. but that's + # preferable to silently tagging something untested. - steps: - - name: Check out repo - uses: actions/checkout@v4 - - - name: Package and release FStar - shell: C:\cygwin64\bin\bash.exe --login '{0}' - run: | - FSTAR_COMMIT=$GITHUB_SHA CI_THREADS=24 $GITHUB_WORKSPACE/.scripts/release.sh && echo "There is a CR at the end of this line" - env: - GH_TOKEN: ${{ secrets.DZOMO_GITHUB_TOKEN }} + gh release create --prerelease \ + --generate-notes \ + --target ${{ github.sha }} \ + -t "F* v$V" \ + "v$V" ../artifacts/* diff --git a/.github/workflows/stale_hints.yml b/.github/workflows/stale_hints.yml deleted file mode 100644 index f7388d7001a..00000000000 --- a/.github/workflows/stale_hints.yml +++ /dev/null @@ -1,19 +0,0 @@ -name: Check for stale hints -on: - pull_request: - workflow_dispatch: -jobs: - check_stale_hints: - runs-on: ubuntu-latest - defaults: - run: - shell: bash - steps: - - uses: actions/checkout@v4 - - run: | - L=$(.scripts/remove_stale_hints.sh list) - if [ "$L" != "" ]; then - echo "There are stale hints:" - echo "$L" - false - fi diff --git a/.github/workflows/tests.yml b/.github/workflows/tests.yml new file mode 100644 index 00000000000..19c6b404ee4 --- /dev/null +++ b/.github/workflows/tests.yml @@ -0,0 +1,175 @@ +name: F* tests + +# This workflow must be called ONLY after a run of build.yml +on: + workflow_call: + +defaults: + run: + shell: bash + + +jobs: + # This checks that the stage3 extracted fstarc matches exactly with + # stage2. Also, we build the F# library (it is not packaged, so not + # built by the job above) + check-stage3: + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + # We download the full repo state from the step below and start a + # stage3 check. This allows the rest of the workflow to go ahead + # while we do this. + - uses: mtzguido/gci-download@master + with: + name: fstar-repo + + - name: Check for a stage 3 diff and F# library build + run: make -skj$(nproc) stage3-diff lib-fsharp + working-directory: FStar + + # Download the stage2 binary package from the previous job and run the + # tests in the repo. This makes sure that the tests do not depend on + # some random internal state of the repo, but only on out/. + # + # We could be paranoid and rm -rf ulib too, it should not make a + # difference. + # + # We could also run all tests over the stage 1 compiler. They should + # all pass, just like for stage2. The compiler used to build fstar.exe + # itself should not matter. I am commenting this out just to save on + # CI usage, and getting a nicer display of the workflow run. Ideally + # there would be a toggle for calling this workflow to check the + # stage1, but it's really clunky to tweak a matrix in Github actions. + test-local: + # strategy: + # matrix: + # pak: + # - fstar.tar.gz + # - fstar-stage1.tar.gz + # runs-on: [self-hosted, linux, X64] # self-hosted so we use fast runners + runs-on: ubuntu-latest + container: mtzguido/dev-base + steps: + - name: Cleanup + run: sudo find . -delete + - run: echo "HOME=/home/user" >> $GITHUB_ENV + - uses: mtzguido/set-opam-env@master + + - name: Checkout + uses: actions/checkout@master + + - name: Get fstar package + uses: actions/download-artifact@v4 + with: + # name: ${{ matrix.pak }} + name: fstar.tar.gz + + - name: Set up package locally + run: tar xzf fstar.tar.gz && ln -s fstar out + + - name: Run tests, without forcing a build + run: make -skj$(nproc) _test + + binary-smoke: + strategy: + matrix: + pak: + - fstar.tar.gz + # - fstar-stage1.tar.gz + # ^ See note in test-local. + os: + # - ubuntu-20.04 + # - ubuntu-22.04 + - ubuntu-24.04 + # - ubuntu-latest + # FIXME: the container builds with a recent glibc, use an older + # base system to get a more portable executable. + runs-on: ${{ matrix.os }} + steps: + - uses: cda-tum/setup-z3@main + with: + version: 4.8.5 + + - name: Get fstar package + uses: actions/download-artifact@v4 + with: + name: ${{ matrix.pak }} + + - run: tar xzf ${{ matrix.pak }} + + - name: Smoke test + run: | + ./fstar/bin/fstar.exe fstar/lib/fstar/ulib/Prims.fst -f + echo -e "module A\nopen FStar.Mul\nlet _ = assert (forall x. 1 + x*x > 0)" > A.fst + ./fstar/bin/fstar.exe A.fst + + ocaml-smoke: + strategy: + matrix: + pak: + - fstar-src.tar.gz + # - fstar-stage1-src.tar.gz + # ^ See note in test-local. + os: + - ubuntu-20.04 + - ubuntu-22.04 + - ubuntu-24.04 + - ubuntu-latest + exclude: + - os: ubuntu-24.04 # setup-ocaml fails due to darcs https://github.com/ocaml/setup-ocaml/issues/872 + runs-on: ${{ matrix.os }} + steps: + # TODO: Install both 4.8.5 and 4.13.1 + - uses: cda-tum/setup-z3@main + with: + version: 4.8.5 + + - name: Get fstar package + uses: actions/download-artifact@v4 + with: + name: ${{ matrix.pak }} + - run: tar xzf ${{ matrix.pak }} + + - name: Set-up OCaml + uses: ocaml/setup-ocaml@v3 + with: + ocaml-compiler: 4.14.2 + + - run: opam install . --deps-only --with-test + working-directory: fstar + # Note: we admit queries here, like the OPAM build does. + - run: eval $(opam env) && make -kj$(nproc) ADMIT=1 + working-directory: fstar + + - name: Smoke test + run: | + ./out/bin/fstar.exe out/lib/fstar/ulib/Prims.fst -f + echo -e "module A\nopen FStar.Mul\nlet _ = assert (forall x. 1 + x*x > 0)" > A.fst + ./out/bin/fstar.exe A.fst + working-directory: fstar + + perf-canaries: + runs-on: ubuntu-24.04 + steps: + - name: Checkout + uses: actions/checkout@master + + - uses: cda-tum/setup-z3@main + with: + version: 4.8.5 + + - name: Get fstar package + uses: actions/download-artifact@v4 + with: + name: fstar.tar.gz + + - run: tar xzf fstar.tar.gz + + - name: Run perf canaries + run: .scripts/perf_canaries.sh ./fstar/bin/fstar.exe diff --git a/.github/workflows/windows.yml b/.github/workflows/windows.yml deleted file mode 100644 index 589cc9c6295..00000000000 --- a/.github/workflows/windows.yml +++ /dev/null @@ -1,28 +0,0 @@ -name: FStar Windows Package - -on: - workflow_dispatch: - -jobs: - - build-windows: - - runs-on: [self-hosted, Windows, X64] - - steps: - - name: Check out repo - uses: actions/checkout@v4 - - - name: Build a package - shell: C:\cygwin64\bin\bash.exe --login '{0}' - run: | - make -C $GITHUB_WORKSPACE -j package && echo "There is a CR at the end of this line" - - name: Test the package - shell: C:\cygwin64\bin\bash.exe --login '{0}' - run: | - env CI_THREADS=24 $GITHUB_WORKSPACE/.scripts/test_package.sh && echo "There is a CR at the end of this line" - - name: Upload artifact - uses: actions/upload-artifact@v4 - with: - name: fstar-Windows_x86_64.zip - path: src\ocaml-output\fstar.zip diff --git a/.gitignore b/.gitignore index e68737386ab..a6e355e4deb 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,21 @@ +/stage1/out +/stage2/out +/stage3 +/out +/*.tar +/*.tar.gz +/*.zip +/_pak* +/_srcpak* +_build +# ^ build output +/nightly +/bin/fstar.exe +/bin/get_fstar_z3.sh + +# touch files for incrementality +/.*.touch + *~ .#* \#*\# @@ -6,55 +24,17 @@ *.suo *.smt2 *.sav -*.hints.fsval -*.hints.mlval -*.bench dump* cache/ -/VS/packages - -/src/parser/parse.fs -/src/parser/lex.fs - -/src/boot - -/bin/*.dll -/bin/*.pdb -/bin/*.mdb -/bin/*.xml -/bin/*.config -/bin/fstar.exe -/bin/fstar.ocaml -/bin/tests.exe -/bin/z3.exe -/bin/z3-x86.exe -/bin/z3-x64.exe -/src/*/obj /lib -examples/*/*.ml -examples/crypto/CntProtocol.exe -examples/wysteria/ocaml-output/* - -tests/*/*.ml tests/incl/*.neg/error.log -_build/ -/ulib/fs/obj -/ulib/fs/bin - -/release - -*.native +*.exe *.byte queries*.smt2 -transcript -dump - -# ignore .ml files on the root dir -/*.ml *.cmi *.cmo @@ -63,41 +43,19 @@ dump *.cmxs *.cmxa *.o -fstar.install -._fstar.install -.depend -.depend.rsp -._depend -*.a -*.cmxa -*.so -*.annot -/VS/ +.depend* tags *~ *.swp -*.exe *.checked *.checked.lax *.dump *.runlim -/.nubuild -/nucache/ -/nuobj/ -nubuild.log -nubuild.progress - -# Z3/F* nightly/weekly files -/nightly - -# Nuget packages -nuget/ - # devcontainer temp files /.devcontainer_build.log diff --git a/.ignore b/.ignore index 7f42beff97c..4a9485031fe 100644 --- a/.ignore +++ b/.ignore @@ -1,2 +1,70 @@ *.fst.hints -src/ocaml-output/* + +# Ignore stage0, we mostly don't care about it +stage0 + +# This is a list of all symlinks in the repo, generated by +# git ls-files | while read i; do [ -L "$i" ] && echo $i; done +# having this here simplifies search results significantly +mk/fstar-01.mk +stage1/Makefile +stage1/dune/fstar-guts/FStarC_Parser_Parse.mly +stage1/dune/fstar-guts/app +stage1/dune/fstar-guts/bare +stage1/dune/fstar-guts/fstarc.ml +stage1/dune/fstar-plugins/app +stage1/dune/fstar-plugins/full +stage1/dune/fstar-plugins/plugin +stage1/dune/fstar-plugins/plugins.ml +stage1/dune/fstarc-full/main.ml +stage1/dune/libapp/app +stage1/dune/libapp/app-extra +stage1/dune/libapp/ulib.ml +stage1/dune/libplugin/app +stage1/dune/libplugin/app-extra +stage1/dune/libplugin/full +stage1/dune/libplugin/plugin +stage1/dune/libplugin/ulib.pluginml +stage1/ulib +stage1/version.txt +stage2/Makefile +stage2/dune/fstar-guts/FStarC_Parser_Parse.mly +stage2/dune/fstar-guts/app +stage2/dune/fstar-guts/bare +stage2/dune/fstar-guts/fstarc.ml +stage2/dune/fstar-plugins/app +stage2/dune/fstar-plugins/full +stage2/dune/fstar-plugins/plugin +stage2/dune/fstar-plugins/plugins.ml +stage2/dune/fstarc-full/main.ml +stage2/dune/libapp/app +stage2/dune/libapp/app-extra +stage2/dune/libapp/ulib.ml +stage2/dune/libplugin/app +stage2/dune/libplugin/app-extra +stage2/dune/libplugin/full +stage2/dune/libplugin/plugin +stage2/dune/libplugin/ulib.pluginml +stage2/ulib +stage2/version.txt +tests/incl/field.pos/Makefile +tests/incl/noshadow.neg/Makefile +tests/incl/noshadow.pos/Makefile +tests/incl/open.neg/Makefile +tests/incl/open.pos/Makefile +tests/incl/plain.neg/Makefile +tests/incl/plain.pos/Makefile +tests/incl/private.neg/Makefile +tests/incl/private.pos/Makefile +tests/incl/shadow.neg/Makefile +tests/incl/shadow.pos/Makefile +tests/incl/trans.neg/Makefile +tests/incl/trans.pos/Makefile +tests/struct/array.pos/Makefile +tests/struct/disjoint.pos/Makefile +tests/struct/jsonparser.pos/Makefile +tests/struct/nested.pos/Makefile +tests/struct/point-with-nesting.pos/Makefile +tests/struct/point.pos/Makefile +tests/struct/taggedunion.pos/Makefile +tests/struct/union.pos/Makefile diff --git a/.nix/bootstrap.nix b/.nix/bootstrap.nix deleted file mode 100644 index 374dbc7c492..00000000000 --- a/.nix/bootstrap.nix +++ /dev/null @@ -1,25 +0,0 @@ -{ fstar, fstar-dune, fstar-ocaml-snapshot, fstar-ulib, stdenv }: - -let - ocaml-src = stdenv.mkDerivation { - name = "src"; - src = fstar-ocaml-snapshot; - dontBuild = true; - installPhase = '' - mkdir -p $out/ocaml - mv ./* $out/ocaml - cp ${../version.txt} $out/version.txt - ''; - }; - fstar-dune-bootstrap = fstar-dune.overrideAttrs (_: { - pname = "fstar-bootstrap-dune"; - src = ocaml-src; - }); - fstar-ulib-bootstrap = (fstar-ulib.override - (_: { fstar-dune = fstar-dune-bootstrap; })).overrideAttrs - (_: { pname = "fstar-bootstrap-ulib"; }); - -in (fstar.override (_: { - fstar-dune = fstar-dune-bootstrap; - fstar-ulib = fstar-ulib-bootstrap; -})).overrideAttrs (_: { pname = "fstar-bootstrap"; }) diff --git a/.nix/fstar.nix b/.nix/fstar.nix index 20785dfcfeb..e0f334106ca 100644 --- a/.nix/fstar.nix +++ b/.nix/fstar.nix @@ -1,34 +1,75 @@ -{ callPackage, fstar-dune, fstar-ulib, installShellFiles, lib, makeWrapper -, stdenv, version, z3 }: +{ callPackage, installShellFiles, lib, makeWrapper, buildDunePackage, version, z3, bash, + batteries, + menhir, + menhirLib, + pprint, + ppx_deriving, + ppx_deriving_yojson, + ppxlib, + process, + sedlex, + stdint, + yojson, + zarith, + memtrace, + mtime } : -stdenv.mkDerivation { +buildDunePackage { pname = "fstar"; inherit version; - buildInputs = [ installShellFiles makeWrapper ]; + duneVersion = "3"; + + nativeBuildInputs = [ installShellFiles makeWrapper menhir ]; + + buildInputs = [ + batteries + menhir + menhirLib + pprint + ppx_deriving + ppx_deriving_yojson + ppxlib + process + sedlex + stdint + yojson + zarith + memtrace + mtime + ]; + + enableParallelBuilding = true; + + prePatch = '' + patchShebangs .scripts/*.sh + patchShebangs ulib/ml/app/ints/mk_int_file.sh + ''; src = lib.sourceByRegex ./.. [ - ".common.mk" + "Makefile" + "src.*" + "mk.*" + "stage..*" + "ulib.*" "doc.*" - "examples.*" - "src(/ocaml-output(/Makefile)?)?" - "ucontrib.*" + "version.txt" + ".scripts.*" # Mostly here for get_fstar_z3.sh + "LICENSE.*" + "README.md" + "INSTALL.md" ]; - dontBuild = true; + buildPhase = '' + export PATH="${z3}/bin:$PATH" + make -j$(nproc) + ''; installPhase = '' - mkdir $out - - CP="cp -r --no-preserve=mode" - $CP ${fstar-dune}/* $out - $CP ${fstar-ulib}/* $out - - PREFIX=$out make -C src/ocaml-output install-sides + PREFIX=$out make install for binary in $out/bin/* do - chmod +x $binary wrapProgram $binary --prefix PATH ":" ${z3}/bin done diff --git a/.nix/z3.nix b/.nix/z3.nix index aa697015bc8..deff193b7d5 100644 --- a/.nix/z3.nix +++ b/.nix/z3.nix @@ -1,11 +1,18 @@ -{ fetchFromGitHub, z3 }: +{ pkgs, stdenv, callPackage }: -z3.overrideAttrs (old: rec { - version = "4.8.5"; - src = fetchFromGitHub { - owner = "z3prover"; - repo = "z3"; - rev = "Z3-${version}"; - sha256 = "ytG5O9HczbIVJAiIGZfUXC/MuYH7d7yLApaeTRlKXoc="; - }; -}) +let + z3_4_8_5 = callPackage (import ./z3_4_8_5.nix) {}; + z3_4_13_3 = callPackage (import ./z3_4_13_3.nix) {}; +in +stdenv.mkDerivation { + pname = "fstar-z3"; + version = "1"; + + dontUnpack = true; + + buildPhase = '' + mkdir -p $out/bin + ln -s ${z3_4_8_5}/bin/z3 $out/bin/z3-4.8.5 + ln -s ${z3_4_13_3}/bin/z3 $out/bin/z3-4.13.3 + ''; +} diff --git a/.nix/z3_4_13_3.nix b/.nix/z3_4_13_3.nix new file mode 100644 index 00000000000..57b00805415 --- /dev/null +++ b/.nix/z3_4_13_3.nix @@ -0,0 +1,11 @@ +{ fetchFromGitHub, z3 }: + +z3.overrideAttrs (old: rec { + version = "4.13.3"; + src = fetchFromGitHub { + owner = "z3prover"; + repo = "z3"; + rev = "z3-${version}"; + sha256 = "sha256-odwalnF00SI+sJGHdIIv4KapFcfVVKiQ22HFhXYtSvA="; + }; +}) diff --git a/.nix/z3_4_8_5.nix b/.nix/z3_4_8_5.nix new file mode 100644 index 00000000000..aa697015bc8 --- /dev/null +++ b/.nix/z3_4_8_5.nix @@ -0,0 +1,11 @@ +{ fetchFromGitHub, z3 }: + +z3.overrideAttrs (old: rec { + version = "4.8.5"; + src = fetchFromGitHub { + owner = "z3prover"; + repo = "z3"; + rev = "Z3-${version}"; + sha256 = "ytG5O9HczbIVJAiIGZfUXC/MuYH7d7yLApaeTRlKXoc="; + }; +}) diff --git a/.scripts/bin-install.sh b/.scripts/bin-install.sh new file mode 100755 index 00000000000..cd8571e5140 --- /dev/null +++ b/.scripts/bin-install.sh @@ -0,0 +1,52 @@ +#!/bin/bash + +# This is called by the Makefile *after* an installation into the +# prefix, so we add the rest of the files that go into a binary package. + +set -eu + +windows () { + # This seems portable enough and does not trigger an + # undefined variable error (see set -u above) if $OS + # is unset (like in linux/mac). Note: OSX's bash is usually + # old and does not support '[ -v OS ]'. + [[ "${OS:-}" = "Windows_NT" ]] +} + +if [ $# -ne 1 ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +PREFIX="$1" +mkdir -p "$PREFIX" +PREFIX="$(realpath "$PREFIX")" + +if ! [ -v FSTAR_PACKAGE_Z3 ] || ! [ "$FSTAR_PACKAGE_Z3" = false ]; then + .scripts/package_z3.sh "$PREFIX" +fi + +if windows; then + # This dll is needed. It must be installed if we're packaging, as we + # must have run F* already, but it should probably be obtained from + # somewhere else.. + LIBGMP=$(which libgmp-10.dll) || echo "error: libgmp-10.dll not found! Carrying on..." >&2 + cp "$LIBGMP" "$PREFIX/bin" +fi + +# License and extra files. Not there on normal installs, but present in +# package. +cp LICENSE* "$PREFIX" +cp README.md "$PREFIX" +cp INSTALL.md "$PREFIX" +cp version.txt "$PREFIX" + +# Save the megabytes! Strip binaries +STRIP=strip + +if windows; then + STRIP="$(pwd)/mk/winwrap.sh $STRIP" +fi + +$STRIP "$PREFIX"/bin/* || true +$STRIP "$PREFIX"/lib/fstar/z3-*/bin/* || true diff --git a/.scripts/check-snapshot-diff.sh b/.scripts/check-snapshot-diff.sh deleted file mode 100755 index ff320d94554..00000000000 --- a/.scripts/check-snapshot-diff.sh +++ /dev/null @@ -1,36 +0,0 @@ -#!/bin/bash - -set -eu - -# This is run by CI to check that the snapshot has not changed after -# bootstrapping. Must run from the root of the Pulse git repo. - -SUCCESS=true -DIR=ocaml/*/generated # globs are OK -export GIT_PAGER=cat - -# If there's any output, i.e. any file not in HEAD, fail -if git ls-files --others --exclude-standard -- $DIR | grep -q . &>/dev/null; then - SUCCESS=false -fi - -# If there's a diff in existing files, fail -if ! git diff --exit-code $DIR &>/dev/null; then - SUCCESS=false -fi - -if ! $SUCCESS; then - echo "*********************************************************" - echo " *** SNAPSHOT DIFF:" - echo "" - echo "$ git status $DIR" - git status $DIR - echo "" - echo "$ git diff -a $DIR" - git diff -a $DIR - echo "*********************************************************" - exit 1 -else - echo "Snapshot seems clean" - exit 0 -fi diff --git a/.scripts/fstardoc/README.md b/.scripts/fstardoc/README.md index 800e8294326..acbb353d8de 100644 --- a/.scripts/fstardoc/README.md +++ b/.scripts/fstardoc/README.md @@ -19,3 +19,27 @@ make ``` make update-to-latest ``` + +## Makefile + +The snippet below used to be in ulib/Makefile + + DOC_FILES=Prims.fst FStar.Pervasives.Native.fst FStar.Pervasives.fst \ + FStar.Squash.fsti FStar.Classical.fsti FStar.BigOps.fsti \ + FStar.BitVector.fst FStar.BV.fsti \ + FStar.Char.fsti FStar.Date.fsti FStar.DependentMap.fsti \ + FStar.Dyn.fsti FStar.Exn.fst FStar.Fin.fst FStar.Float.fsti \ + FStar.FunctionalExtensionality.fsti FStar.Float.fsti \ + FStar.Ghost.fsti FStar.IFC.fsti FStar.IndefiniteDescription.fst \ + FStar.UInt8.fst FStar.UInt16.fst FStar.UInt32.fst FStar.UInt64.fst + + DOC_DIR=./doc + + fstardoc: $(DOC_DIR) $(addprefix $(DOC_DIR)/, $(addsuffix .md, $(DOC_FILES))) + + $(DOC_DIR): + mkdir -p $@ + + $(DOC_DIR)/%.md: % + ../bin/fstar --print_in_place $^ + python3 ../.scripts/fstardoc/fstardoc.py $^ > $@ diff --git a/.scripts/get_fstar_z3.sh b/.scripts/get_fstar_z3.sh new file mode 100755 index 00000000000..938d9be0253 --- /dev/null +++ b/.scripts/get_fstar_z3.sh @@ -0,0 +1,146 @@ +#!/usr/bin/env bash +set -euo pipefail + +full_install=false + +kernel="$(uname -s)" +case "$kernel" in + CYGWIN*) kernel=Windows ;; +esac + +arch="$(uname -m)" +case "$arch" in + arm64) arch=aarch64 ;; +esac + +release_url=( + "Linux-x86_64-4.8.5":"https://github.com/Z3Prover/z3/releases/download/Z3-4.8.5/z3-4.8.5-x64-ubuntu-16.04.zip" + "Darwin-x86_64-4.8.5":"https://github.com/Z3Prover/z3/releases/download/Z3-4.8.5/z3-4.8.5-x64-osx-10.14.2.zip" + "Windows-x86_64-4.8.5":"https://github.com/Z3Prover/z3/releases/download/Z3-4.8.5/z3-4.8.5-x64-win.zip" + "Linux-x86_64-4.13.3":"https://github.com/Z3Prover/z3/releases/download/z3-4.13.3/z3-4.13.3-x64-glibc-2.35.zip" + "Linux-aarch64-4.13.3":"https://github.com/Z3Prover/z3/releases/download/z3-4.13.3/z3-4.13.3-arm64-glibc-2.34.zip" + "Darwin-x86_64-4.13.3":"https://github.com/Z3Prover/z3/releases/download/z3-4.13.3/z3-4.13.3-x64-osx-13.7.zip" + "Darwin-aarch64-4.13.3":"https://github.com/Z3Prover/z3/releases/download/z3-4.13.3/z3-4.13.3-arm64-osx-13.7.zip" + "Windows-x86_64-4.13.3":"https://github.com/Z3Prover/z3/releases/download/z3-4.13.3/z3-4.13.3-x64-win.zip" +) + +get_url() { + local key elem + key="$1" + + for elem in "${release_url[@]}"; do + if [ "${elem%%:*}" = "$key" ]; then + echo -n "${elem#*:}" + break + fi + done +} + +trap "exit 1" HUP INT PIPE QUIT TERM +cleanup() { + if [ -n "${tmp_dir:-}" ]; then + rm -rf "$tmp_dir" + fi +} +trap "cleanup" EXIT + +download_z3() { + local url version destination_file_name base_name z3_path + url="$1" + version="$2" + destination_file_name="$3" + + if [ -z "${tmp_dir:-}" ]; then + tmp_dir="$(mktemp -d --tmpdir get_fstar_z3.XXXXXXX)" + fi + + echo ">>> Downloading Z3 $version from $url ..." + base_name="$(basename "$url")" + + z3_path="${base_name%.zip}/bin/z3" + if [ "$kernel" = Windows ]; then z3_path="$z3_path.exe"; fi + + pushd "$tmp_dir" > /dev/null + curl -s -L "$url" -o "$base_name" + + unzip -q "$base_name" "$z3_path" + popd > /dev/null + install -m0755 "$tmp_dir/$z3_path" "$destination_file_name" + echo ">>> Installed Z3 $version to $destination_file_name" +} + +full_install_z3() { + local url version dest_dir base_name + + url="$1" + version="$2" + dest_dir="$3" + + mkdir -p "$dest_dir/z3-$version" + pushd "$dest_dir/z3-$version" > /dev/null + + echo ">>> Downloading Z3 $version from $url ..." + base_name="$(basename "$url")" + curl -s -L "$url" -o "$base_name" + + unzip -q "$base_name" + mv "${base_name%.zip}"/* . + rmdir "${base_name%.zip}" + rm "$base_name" + popd > /dev/null +} + +usage() { + echo "Usage: get_fstar_z3.sh destination/directory/bin" + exit 1 +} + +if [ $# -ge 1 ] && [ "$1" == "--full" ]; then + # Passing --full xyz/ will create a tree like + # xyz/z3-4.8.5/bin/z3 + # xyz/z3-4.13.3/bin/z3 + # (plus all other files in each package). This is used + # for our binary packages which include Z3. + full_install=true; + shift; +fi + +if [ $# -ne 1 ]; then + usage +fi + +dest_dir="$1" + +mkdir -p "$dest_dir" + +for z3_ver in 4.8.5 4.13.3; do + destination_file_name="$dest_dir/z3-$z3_ver" + if [ "$kernel" = Windows ]; then destination_file_name="$destination_file_name.exe"; fi + + if [ -f "$destination_file_name" ]; then + echo ">>> Z3 $z3_ver already downloaded to $destination_file_name" + else + key="$kernel-$arch-$z3_ver" + + case "$key" in + Linux-aarch64-4.8.5) + echo ">>> Z3 4.8.5 is not available for aarch64, downloading x86_64 version. You need to install qemu-user (and shared libraries) to execute it." + key="$kernel-x86_64-$z3_ver" + ;; + Darwin-aarch64-4.8.5) + echo ">>> Z3 4.8.5 is not available for aarch64, downloading x86_64 version. You need to install Rosetta 2 to execute it." + key="$kernel-x86_64-$z3_ver" + ;; + esac + + url="$(get_url "$key")" + + if [ -z "$url" ]; then + echo ">>> Z3 $z3_ver not available for this architecture, skipping..." + elif $full_install; then + full_install_z3 "$url" "$z3_ver" "$dest_dir" + else + download_z3 "$url" "$z3_ver" "$destination_file_name" + fi + fi +done diff --git a/.scripts/make_fstar_version.sh b/.scripts/make_fstar_version.sh new file mode 100755 index 00000000000..df75bdb6851 --- /dev/null +++ b/.scripts/make_fstar_version.sh @@ -0,0 +1,38 @@ +#!/usr/bin/env bash + +windows () { + [[ "${OS:-}" = "Windows_NT" ]] +} + +if [[ -z "$FSTAR_VERSION" ]]; then + FSTAR_VERSION=$(head -n 1 version.txt)~dev +fi + +if windows; then + if [ "$PROCESSOR_ARCHITECTURE" = "AMD64" ] + then + PLATFORM="Windows_x64" + else + PLATFORM="Windows_x86" + fi +else + PLATFORM="$(uname)_$(uname -m)" +fi +COMPILER="OCaml $(ocamlc -version)" +# If a system does not have git, or we are not in a git repo, fallback with "unset" +if [[ -z "$FSTAR_COMMIT" ]] ; then + FSTAR_COMMIT=$(git describe --match="" --always --abbrev=40 --dirty 2>/dev/null || echo unset) + # NB: ^ has to be in-sync with src-install.sh +fi +if [[ -z "$FSTAR_COMMITDATE" ]] ; then + FSTAR_COMMITDATE=$(git log --pretty=format:%ci -n 1 2>/dev/null || echo unset) + # NB: ^ has to be in-sync with src-install.sh +fi + +echo "let dummy () = ();;" +echo "FStarC_Options._version := \"$FSTAR_VERSION\";;" +echo "FStarC_Options._platform := \"$PLATFORM\";;" +echo "FStarC_Options._compiler := \"$COMPILER\";;" +# We deliberately use commitdate instead of date, so that rebuilds are no-ops +echo "FStarC_Options._date := \"$FSTAR_COMMITDATE\";;" +echo "FStarC_Options._commit:= \"$FSTAR_COMMIT\";;" diff --git a/.scripts/mk-package.sh b/.scripts/mk-package.sh new file mode 100755 index 00000000000..7a02148b960 --- /dev/null +++ b/.scripts/mk-package.sh @@ -0,0 +1,117 @@ +#!/bin/bash + +set -eu + +# This will just create a tar.gz or zip out of a directory. +# You may want to look at src-install.sh and bin-install.sh +# that generate the layouts for a source and binary package, +# and are then packaged up with this script. + +if [ $# -ne 2 ]; then + exec >&2 + echo "usage: $0 " + echo "The archive format and command used depends on the system and installed tools," + echo "see script for details." + echo "Optionally set FSTAR_PACKAGE_FORMAT to: " + echo " - 'zip': create a .zip via 'zip' command" + echo " - '7z': create a .zip via '7z' command" + echo " - 'tar.gz': create a .tar.gz, via calling" + echo "Output filename is + proper extension" + echo "If FSTAR_RELEASE is non-empty, we use maximum compression." + exit 1 +fi + +PREFIX="$1" +ARCHIVE="$2" + +windows () { + # This seems portable enough and does not trigger an + # undefined variable error (see set -u above) if $OS + # is unset (like in linux/mac). Note: OSX's bash is usually + # old and does not support '[ -v OS ]'. + [[ "${OS:-}" = "Windows_NT" ]] +} + +release () { + [[ -n "${FSTAR_RELEASE:-}" ]] +} + +# Computes a (hopefully) sensible default for the current system +detect_format () { + if windows; then + # Github actions runner do not have 'zip' + if which zip > /dev/null; then + FSTAR_PACKAGE_FORMAT=zip + elif which 7z > /dev/null; then + FSTAR_PACKAGE_FORMAT=7z + else + echo "error: no zip or 7z command found." >&2 + exit 1 + fi + else + FSTAR_PACKAGE_FORMAT=tar.gz + fi +} + +# If unset, pick a default for the system. +if ! [ -v FSTAR_PACKAGE_FORMAT ]; then + detect_format +fi + +# Fix for stupid path confustion in windows +if windows; then + WRAP=$(pwd)/mk/winwrap.sh +else + WRAP= +fi + +case $FSTAR_PACKAGE_FORMAT in + zip) + TGT="$ARCHIVE.zip" + ATGT="$(realpath "$TGT")" + pushd "$PREFIX" >/dev/null + LEVEL= + if release; then + LEVEL=-9 + fi + $WRAP zip -q -r $LEVEL "$ATGT" . + popd >/dev/null + ;; + 7z) + TGT="$ARCHIVE.zip" + ATGT="$(realpath "$TGT")" + LEVEL= + if release; then + LEVEL=-mx9 + fi + pushd "$PREFIX" >/dev/null + $WRAP 7z $LEVEL a "$ATGT" . + popd >/dev/null + ;; + tar.gz|tgz) + # -h: resolve symlinks + TGT="$ARCHIVE.tar.gz" + $WRAP tar cf "$ARCHIVE.tar" -h -C "$PREFIX" . + LEVEL= + if release; then + LEVEL=-9 + fi + $WRAP gzip -f $LEVEL "$ARCHIVE.tar" + ;; + *) + echo "unrecognized FSTAR_PACKAGE_FORMAT: $FSTAR_PACKAGE_FORMAT" >&2 + exit 1 + ;; +esac + +if ! [ -f "$TGT" ] ; then + echo "error: something seems wrong, archive '$TGT' not found?" >&2 + exit 1 +fi + +# bytes=$(stat -c%s "$TGT") +# echo "Wrote $TGT" ($bytes bytes)" +# ^ Does not work in Mac (no -c option for stat) + +echo "Wrote $TGT" +ls -l "$TGT" || true diff --git a/.scripts/package_z3.sh b/.scripts/package_z3.sh new file mode 100755 index 00000000000..64f911921fd --- /dev/null +++ b/.scripts/package_z3.sh @@ -0,0 +1,33 @@ +#!/bin/bash + +PREFIX="$1" +mkdir -p "$PREFIX" +PREFIX="$(realpath "$PREFIX")" + +D="$(dirname "$0")" + +mkdir -p "$PREFIX"/lib/fstar + +TMP=$(mktemp -d) +$D/get_fstar_z3.sh --full "$TMP" + +pushd "$TMP" > /dev/null + +inst1 () { + TGT="$PREFIX/lib/fstar/$1" + mkdir -p "$(dirname "$TGT")" + cp "$1" "$TGT" +} + +for dir in z3-4.8.5 z3-4.13.3; do + inst1 ./$dir/bin/z3 + inst1 ./$dir/LICENSE.txt + for dll in ./$dir/bin/*dll; do + # Needed for Windows packages. + inst1 "$dll" + done +done + +popd > /dev/null + +rm -r "$TMP" diff --git a/.scripts/perf_canaries.sh b/.scripts/perf_canaries.sh new file mode 100755 index 00000000000..c8cc540776e --- /dev/null +++ b/.scripts/perf_canaries.sh @@ -0,0 +1,29 @@ +#!/bin/bash + +set -eu +set -o pipefail + +FSTAR=$1 + +grab_time () { + sed -n 's/real \([0-9.]*\)/\1/p' +} + +t_defs () { + rm -f M.fst + echo 'module M' >>M.fst + for i in $(seq 1 $1); do + echo "let x$i = 1" >>M.fst + done + /usr/bin/time -p ${FSTAR} M.fst 2>&1 | tee output + T=$(cat output | grab_time) + echo "::notice file=DEFS_$i::time = $T" +} + +t_defs 100 +t_defs 200 +t_defs 400 +t_defs 800 +t_defs 1600 +t_defs 3200 +t_defs 6400 diff --git a/.scripts/query-stats-diff.ipynb b/.scripts/query-stats-diff.ipynb new file mode 100644 index 00000000000..fe25f44b87a --- /dev/null +++ b/.scripts/query-stats-diff.ipynb @@ -0,0 +1,249 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# Customize these variables to match your environment\n", + "dump_file_v1 = (\"../dump1\", \"4.13.3\")\n", + "dump_file_v2 = (\"../dump2\", \"4.8.5\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "version1 = dump_file_v1[1]\n", + "version2 = dump_file_v2[1]" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# parse lines of a file like this:\n", + "# (FStar.Seq.Properties.fsti(230,0-232,71)) Query-stats (FStar.Seq.Properties.lemma_ordering_hi_cons, 1) succeeded in 10 milliseconds with fuel 2 and ifuel 1 and rlimit 5\n", + "# and produce a dictionary with the following structure:\n", + "# { \"FStar.Seq.Properties.lemma_ordering_hi_cons, 1\" : { status:\"succeeded\" , \"time\" : 10, \"fuel\" : 2, \"ifuel\" : 1, \"rlimit\" : 5 } }\n", + "\n", + "import sys\n", + "import re\n", + "import json\n", + "\n", + "query_stats_re = re.compile(r'Query-stats \\(([^,]+, \\d+)\\)\\s+(succeeded|failed)( {[^}]+})?( \\(with hint\\))? in (\\d+) milliseconds with fuel (\\d+) and ifuel (\\d+) and rlimit (\\d+)')\n", + "splitting_query_stats = re.compile(r'Query-stats splitting query')\n", + "\n", + "def parse_line(line):\n", + " m = query_stats_re.search(line)\n", + " if m:\n", + " return { m.group(1) : { \"status\" : m.group(2), \"reason\":m.group(3), \"with_hint\":m.group(4), \"time\" : int(m.group(5)), \"fuel\" : int(m.group(6)), \"ifuel\" : int(m.group(7)), \"rlimit\" : int(m.group(8)) } }\n", + " else:\n", + " m = splitting_query_stats.search(line)\n", + " if m:\n", + " return None\n", + " else:\n", + " if \"Query-stats\" in line:\n", + " if \"{\\\"contents\\\":\" in line:\n", + " return None \n", + " print(\"Failed to parse line: \" + line)\n", + " return None" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "test_line=parse_line(\"(FStar.Seq.Properties.fsti(230,0-232,71)) Query-stats (FStar.Seq.Properties.lemma_ordering_hi_cons, 1) succeeded (with hint) in 10 milliseconds with fuel 2 and ifuel 1 and rlimit 5\")\n", + "if test_line:\n", + " print(\"Parsed line: \", test_line)\n", + " json.dumps(test_line)\n", + "else:\n", + " print(\"Failed to parse line\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "\n", + "def parse_file(file):\n", + " d = {}\n", + " print(\"opening file\", file)\n", + " with open(file, encoding='ISO-8859-1') as f:\n", + " for line in f:\n", + " # print(line)\n", + " r = parse_line(line)\n", + " if r:\n", + " d.update(r)\n", + " return d\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "z3_v1 = parse_file(dump_file_v1[0])\n", + "print(\"Parsed\", len(z3_v1), \"entries\")\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "z3_v2 = parse_file(dump_file_v2[0])\n", + "print(\"Parsed\", len(z3_v2), \"entries\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# find entries in z3_v2 that are not in z3_v1\n", + "for k in z3_v2.keys():\n", + " if k not in z3_v1:\n", + " print(f\"Missing entry in {version1}: {k}\")\n", + "\n", + "# find entries in z3_v1 that are not in z3_v2\n", + "for k in z3_v1.keys():\n", + " if k not in z3_v2:\n", + " print(f\"Missing entry in {version2}: {k}\")" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# for every entry in both dictionaries, create a new dictionary with the same key, the time fields of both dictionaries, and the difference between the times\n", + "diffs = {}\n", + "for k in z3_v1.keys():\n", + " if k in z3_v2.keys():\n", + " diffs[k] = { version1 : z3_v1[k][\"time\"], version2 : z3_v2[k][\"time\"], \"diff\" : z3_v2[k][\"time\"] - z3_v1[k][\"time\"] }\n", + "\n", + "print(f\"Found {len(diffs)} entries with both {version1} and {version2} times\")\n", + "json.dumps(diffs)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# sort the entries by the difference in time\n", + "sorted_diffs = sorted(diffs.items(), key=lambda x: x[1][\"diff\"], reverse=True)\n", + "\n", + "print(sorted_diffs)\n", + "#print the top 10\n", + "print(f\"Entries with the greatest speedups in {version1}:\")\n", + "for i in range(10):\n", + " print(sorted_diffs[i])\n", + "\n", + "print(f\"Entries with the greatest slowdowns in {version1}\")\n", + "# print the bottom 10\n", + "for i in range(10):\n", + " print(sorted_diffs[-(i + 1)])\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# scatter plot with 485 times on x axis and 413 times on y axis\n", + "import matplotlib.pyplot as plt\n", + "import numpy as np\n", + "\n", + "# remove outliers\n", + "diffs = {k:v for k,v in sorted_diffs if abs(v[\"diff\"]) < 10000}\n", + "\n", + "x = [v[version2] for v in diffs.values()]\n", + "y = [v[version1] for v in diffs.values()]\n", + "\n", + "plt.scatter(x, y)\n", + "plt.xlabel(version2)\n", + "plt.ylabel(version1)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# linear regression of v1 times on v2 times\n", + "from scipy import stats\n", + "slope, intercept, r_value, p_value, std_err = stats.linregress(x, y)\n", + "print(\"slope:\", slope, \"intercept:\", intercept, \"r_value:\", r_value, \"p_value:\", p_value, \"std_err:\", std_err)\n", + "plt.plot(x, [slope * v + intercept for v in x])\n", + "plt.scatter(x, y)\n", + "plt.xlabel(version2)\n", + "plt.ylabel(version1)\n", + "plt.show()\n" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print all outliers\n", + "for k,v in sorted_diffs:\n", + " if abs(v[\"diff\"]) > 10000:\n", + " print(k, v)" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": [ + "# print all sorted diffs\n", + "for k,v in diffs.items():\n", + " print(k, v)" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.12.3" + } + }, + "nbformat": 4, + "nbformat_minor": 2 +} diff --git a/.scripts/remove_stale_hints.sh b/.scripts/remove_stale_hints.sh deleted file mode 100755 index 720f5b34382..00000000000 --- a/.scripts/remove_stale_hints.sh +++ /dev/null @@ -1,45 +0,0 @@ -#!/bin/bash - -set -eu - -list=false -if [ $# -gt 0 ] && [ $1 == "list" ]; then - list=true -fi - -declare -A files # Store all basenames for non-hint files in repo (value = 1, this is just a set) -declare -A hints # Store a map from hint paths into basenames (turns out basename computation was a bottleneck) - -trap 'RC=$?; rm -f .filelist; exit $RC' EXIT INT - -# Find all (normal) files, not descending into .git, and store in -# the array. Using a pipe here would be better, but a pipe creates a -# subshell, so changes to the variables won't have any effect in the -# parent. -find . -name '.git' -prune -false -o \( -type f -name '*.hints' \) > .filelist -while read f0; do - f="$(basename "${f0}")" - hints[$f0]=$f -done < .filelist - -find . -name '.git' -prune -false -o \( -type f -not -name '*.hints' \) -printf '%f\n' > .filelist -while read f; do - files[$f]=1 -done < .filelist - -rm -f .filelist - -for h0 in "${!hints[@]}"; do - h=${hints[$h0]} - h="${h%.hints}" - # Given a/b/c/Foo.Bar.fst.hints, if there is no Foo.Bar.fst - # anywhere, then delete the hint file. - if ! [ -v "files[$h]" ]; then - if $list; then - echo "$h0" - else - echo "DELETING HINT $h0" - rm -f "${h0}" - fi - fi -done diff --git a/bin/run_benchmark.sh b/.scripts/run_benchmark.sh similarity index 100% rename from bin/run_benchmark.sh rename to .scripts/run_benchmark.sh diff --git a/.scripts/setup_nightly.sh b/.scripts/setup_nightly.sh new file mode 100755 index 00000000000..64d0badb673 --- /dev/null +++ b/.scripts/setup_nightly.sh @@ -0,0 +1,41 @@ +#!/bin/bash + +set -euo pipefail + +NIGHTLY_REPO=FStarLang/FStar-nightly +NIGHTLY_REPO_URL=https://api.github.com/repos/$NIGHTLY_REPO/releases/latest + +kernel="$(uname -s)" +case "$kernel" in + CYGWIN*) kernel=Windows ;; +esac + +arch="$(uname -m)" + +# Get info about latest release +LATEST_CURL=$(curl -L -H "Accept: application/vnd.github+json" -H "X-GitHub-Api-Version: 2022-11-28" $NIGHTLY_REPO_URL) + +# Find the asset that seems to match our architecture and OS +ASSET=$(echo "$LATEST_CURL" | jq -r '.assets[] | select(.name | contains("'$kernel'-'$arch'")) | .browser_download_url') + +FILE="$(basename "$ASSET")" + +# Get artifact +wget "$ASSET" -O "$FILE" + +# Warn if too old (over 48 hours) +S_NOW=$(date +%s) +S_FILE=$(stat "$FILE" -c '%Y') +if [[ $((S_NOW - S_FILE)) -gt $((48 * 60 * 60)) ]]; then + echo "Warning: downloaded package seems old" >&2 + echo "Modification date: $(stat "$FILE" -c '%y')" >&2 +fi + +# Untar +rm -rf nightly +mkdir nightly +tar xzf "$FILE" -C nightly +ln -Trsf nightly/fstar out +rm "$FILE" + +echo Done. diff --git a/.scripts/src-install.sh b/.scripts/src-install.sh new file mode 100755 index 00000000000..57d2d7a52f1 --- /dev/null +++ b/.scripts/src-install.sh @@ -0,0 +1,73 @@ +#!/bin/bash + +set -eu + +if [ $# -ne 2 ]; then + echo "Usage: $0 " >&2 + exit 1 +fi + +BROOT="$(realpath "$1")" + +PREFIX="$2" +mkdir -p "$PREFIX" +PREFIX="$(realpath "$PREFIX")" + +# Note: we must exclude everything in the Dune build directories, since +# if some files "vanish" during this copy, rsync will fail (even if +# ignored). We could also copy everything over and then remove the +# leftovers, but cp -r will also abort if some file disappears just +# before it tries to copy it. This seems robust. +rsync -r --copy-links \ + --delete-excluded \ + --delete-after \ + --filter="- **/*.checked" \ + --filter="- **/*.checked.lax" \ + --filter="- **/_build" \ + --filter="- **/*.o" \ + --filter="- **/*.a" \ + --filter="- **/*.exe" \ + --filter="- **/*.cm*" \ + --filter="- **/*.*depend*" \ + --filter="- /out" \ + --filter="- /.gitignore" \ + "${BROOT}/" "${PREFIX}/" + +cp LICENSE* "${PREFIX}" +cp README.md "${PREFIX}" +cp INSTALL.md "${PREFIX}" +cp version.txt "${PREFIX}" + +cp -H -r src "${PREFIX}/src" +cp .scripts/get_fstar_z3.sh "${PREFIX}/get_fstar_z3.sh" +cp fstar.opam "${PREFIX}/fstar.opam" +mkdir "${PREFIX}/mk" +cp mk/lib.mk "${PREFIX}/mk/lib.mk" +cp mk/common.mk "${PREFIX}/mk/common.mk" +cp mk/winwrap.sh "${PREFIX}/mk/winwrap.sh" +cp -H mk/fstar-12.mk "${PREFIX}/mk/fstar-12.mk" +cp mk/generic.mk "${PREFIX}/mk/generic.mk" +mkdir "${PREFIX}/.scripts" +cp .scripts/bin-install.sh "${PREFIX}/.scripts" +cp .scripts/mk-package.sh "${PREFIX}/.scripts" +cp .scripts/get_fstar_z3.sh "${PREFIX}/.scripts" +cp .scripts/package_z3.sh "${PREFIX}/.scripts" + +cp mk/src_package_mk.mk "${PREFIX}/Makefile" + +# Make sure the source package has a proper version. +FSTAR_COMMIT=$(git describe --match="" --always --abbrev=40 --dirty 2>/dev/null || echo unset) +FSTAR_COMMITDATE=$(git log --pretty=format:%ci -n 1 2>/dev/null || echo unset) +# NB: ^ has to be in-sync with make_fstar_version.sh +echo "## LINES BELOW ADDED BY src-install.sh" >> "${PREFIX}/Makefile" +echo "export FSTAR_COMMITDATE=$FSTAR_COMMITDATE" >> "${PREFIX}/Makefile" +echo "export FSTAR_COMMIT=$FSTAR_COMMIT" >> "${PREFIX}/Makefile" +if [[ -n "${FSTAR_VERSION:-}" ]]; then + echo "export FSTAR_VERSION=$FSTAR_VERSION" >> "${PREFIX}/Makefile" +fi + +# Remove extra ML files, rsync has resolved the links +# into the corresponding files already, and these would be +# duplicates. +rm -r "$PREFIX"/*.ml +rm -r "$PREFIX"/*.pluginml diff --git a/.scripts/test_package.sh b/.scripts/test_package.sh index 7865156b197..20ba850258c 100755 --- a/.scripts/test_package.sh +++ b/.scripts/test_package.sh @@ -53,15 +53,15 @@ else fi pushd fstar -diag "-- Versions --" +diag "-- Version --" bin/fstar.exe --version -bin/z3 --version diag "*** Test the binary package" # We need two FSTAR_HOMEs in this script: one for the host (from where # we build F*) and one for the package (from where we test the # obtained binary). FSTAR_HOME is the latter. export FSTAR_HOME="$PWD" +export FSTAR_ROOT="$PWD"/share/fstar # We need to add the bin subdirectory to the PATH, # to make z3 reachable @@ -78,6 +78,9 @@ diag "-- Verify all examples --" if [[ -z "$CI_THREADS" ]] ; then CI_THREADS=1 fi + +# NB: This relies on FSTAR_ROOT being set (to the share directory of the package) +# in order to find the relevant Makefiles. make -j "$CI_THREADS" -C /tmp/fstar_examples HAS_OCAML= && make -j "$CI_THREADS" -C /tmp/fstar_doc/old/tutorial HAS_OCAMLFIND= regressions if [ $? -ne 0 ]; then echo -e "* ${RED}FAIL!${NC} for all examples - make returned $?" diff --git a/.scripts/z3_nightly.py b/.scripts/z3_nightly.py deleted file mode 100755 index fb119b5bd64..00000000000 --- a/.scripts/z3_nightly.py +++ /dev/null @@ -1,309 +0,0 @@ -#!/usr/bin/env python - -import os -import re -import io -import subprocess -import sys -import time -import smtplib -import glob -import shutil -import traceback -import zipfile -import platform -import stat - -PLATFORMS = [ "x64-osx", "x86-ubuntu", "x64-ubuntu", "x64-debian", "x86-win", "x64-win" ] -REQUIRE_ALL_PLATFORMS = True - -FSTAR_BIN_URL = "https://github.com/FStarLang/binaries.git" -FSTAR_BIN_LOCAL = os.path.join("nightly", "fstar-binaries") -FSTAR_BIN_SUBDIR = "z3-tested" -FSTAR_BIN_RBRANCH = "origin/master" - -Z3_BIN_URL = "https://github.com/Z3Prover/bin.git" -Z3_BIN_LOCAL = os.path.join("nightly", "z3-binaries") -Z3_BIN_SUBDIR = "nightly" -Z3_BIN_RBRANCH = "origin/master" - -Z3_PKG_NAME_PAT = re.compile("^z3-([0-9].[0-9].[0-9]).([a-z0-9]{12})-(x86|x64)-([a-zA-Z]*)-?([\.0-9]*).zip$") - -Z3_DIR = os.path.join("nightly", "z3") - -class Z3NightlyException(Exception): - pass - -def get_platform(): - z3bn = "z3" - s = platform.system() - a, fmt = platform.architecture() - - z3a = "x64" if a == "64bit" else "x86" - - if s == "Windows" or s.startswith("CYGWIN") or s.startswith("MSYS"): - z3bn = "z3.exe" - z3s = "win" - elif s == "Linux": - d, v, nn = platform.linux_distribution() - if d == "Ubuntu": - z3s = "ubuntu" - elif d == "Debian": - z3s = "debian" - else: - print("Warning: unknown linux distribution '%s', assuming Ubuntu." % d) - z3s = "ubuntu" - elif s == "Darwin": - z3s = "osx" - else: - print("Warning: unknown system '%s', assuming Ubuntu." % s) - return "ubuntu", "x64" - - return z3bn, z3s, z3a - -def mk_args(cmd): - css = cmd.split(" ") - in_string = False - cs = [] - cur = "" - for i in css: - if not in_string and i.startswith("\"") and i.endswith("\""): - cs = cs + [i[1:-1]] - elif not in_string and i.startswith("\""): - in_string = True - cur = i[1:] - elif in_string and i.endswith("\""): - in_string = False - cur = cur + " " + i - cs = cs + [cur[:-1]] - elif in_string: - cur = cur + " " + i - elif i == "": - pass - else: - cs = cs + [i] - return cs - -def call_logged(cmd, log, checked=True): - cs = mk_args(cmd) - # log.write(">>>>> " + " ".join(cs) + " <<<<<\n") - ec = subprocess.call(cs, stdin=None, stdout=log, stderr=log) - log.flush() - if (checked and ec != 0): - log.write("Error code: %d\n" % ec) - raise Z3NightlyException("Command failed.") - -def call_with_output(cmd): - cs = mk_args(cmd) - # log.write(">>>>> " + " ".join(cs) + " <<<<<\n") - p = subprocess.Popen(cs, stdout=subprocess.PIPE, stderr=subprocess.PIPE) - out, err = p.communicate() - if err is None or err == "": - return out - else: - return out + " " + err - -def update_git(url, branch, dir, subdir, log, quiet=False): - q = "--quiet" if quiet else "" - v = "--verbose" if not quiet else "" - if not os.path.isdir(dir): - call_logged("git clone %s %s %s" % (q, url, dir), log) - else: - prev_wd = os.getcwd() - os.chdir(dir) - call_logged("git reset %s --hard %s" % (q, branch), log) - call_logged("git clean %s -f" % (q), log) - call_logged("git pull %s -s recursive -Xtheirs" % (q), log) - call_logged("git reset %s --hard %s" % (q, branch), log) - os.chdir(prev_wd) - sp = os.path.join(dir, subdir) - if not os.path.isdir(sp): - os.mkdir(sp) - -def find_latest_binary(dir, pattern, log): - best_offer = None - for f in os.listdir(dir): - m = pattern.match(f) - if m is not None: - fp = os.path.join(dir, f) - mt = call_with_output("git log -n 1 --date-order --date=raw --pretty=format:\"%cd\"").strip("\"").split(" ")[0] - if best_offer == None or mt > best_offer[1]: - version, git_hash, bitness, platform, pversion = m.groups() - best_offer = (fp, mt, version, git_hash, bitness, platform, pversion) - return best_offer - -def find_specific_binary(dir, pattern, version, git_hash, log): - for f in os.listdir(dir): - m = pattern.match(f) - if m is not None: - fp = os.path.join(dir, f) - fversion, fgit_hash, bitness, platform, pversion = m.groups() - if (version == None or fversion == version) and fgit_hash == git_hash: - return (fp, None, version, git_hash, bitness, platform, pversion) - return None - -def get_platform_files(from_path, version, git_hash, platforms): - res = [] - for pf in platforms: - fnpat = "z3-" + version + "." + git_hash + "-" + pf + "*.zip" - pp = os.path.join(from_path, fnpat) - matching_files = glob.glob(pp) - if REQUIRE_ALL_PLATFORMS == True and len(matching_files) == 0: - raise Z3NightlyException("No platform files for '%s' with version=%s and git_hash=%s." % (pf, version, git_hash)) - elif len(matching_files) > 0: - res.append(matching_files[0]) - return res - -def pick_better(old, new, from_path, pattern, platforms): - if (old is None and new is not None) or (new[3] != old[3] and new[1] > old[1]): - return get_platform_files(from_path, new[2], new[3], platforms) - return None - -def wipe_old_pkgs(to_repo, to_subdir, pattern, log): - prev_dir = os.getcwd() - os.chdir(to_repo) - for f in os.listdir(to_subdir): - if pattern.match(f) is not None: - call_logged('git rm "%s/%s"' % (to_subdir, f), log) - os.chdir(prev_dir) - -def add_new_pkgs(files, to_repo, to_subdir, pattern, log): - prev_dir = os.getcwd() - os.chdir(to_repo) - for f in files: - f_to_path = os.path.join(to_subdir, os.path.basename(f)) - shutil.copy2(os.path.join(prev_dir, f), f_to_path) - call_logged('git add -v %s' % f_to_path, log) - call_logged('git commit -v --amend -m "Automatic update of Z3 nightly packages."', log) - call_logged('git gc --aggressive --auto --prune=all', log) - call_logged('git push -v --force', log) - os.chdir(prev_dir) - -def empty(d): - if not os.path.isdir(d): - os.mkdir(d) - - for old_file in os.listdir(d): - ofp = os.path.join(d, old_file) - if os.path.isdir(ofp): - shutil.rmtree(ofp) - else: - os.remove(ofp) - -def push(version, git_hash, log): - wd = os.getcwd() - try: - old_bin_path = os.path.join(FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR) - new_bin_path = os.path.join(Z3_BIN_LOCAL, Z3_BIN_SUBDIR) - update_git(FSTAR_BIN_URL, FSTAR_BIN_RBRANCH, FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, log) - - if git_hash == None: - update_git(Z3_BIN_URL, Z3_BIN_RBRANCH, Z3_BIN_LOCAL, Z3_BIN_SUBDIR, log) - best_old = find_latest_binary(old_bin_path, Z3_PKG_NAME_PAT, log) - best_new = find_latest_binary(new_bin_path, Z3_PKG_NAME_PAT, log) - better = pick_better(best_old, best_new, new_bin_path, Z3_PKG_NAME_PAT, PLATFORMS) - if better is not None: - wipe_old_pkgs(FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, Z3_PKG_NAME_PAT, log) - add_new_pkgs(better, FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, Z3_PKG_NAME_PAT, log) - else: - sb = find_specific_binary(new_bin_path, Z3_PKG_NAME_PAT, version, git_hash, log) - if sb == None: - raise Z3NightlyException("Z3 packages with git hash '%s' not found." % git_hash) - else: - pfiles = get_platform_files(new_bin_path, version, git_hash, PLATFORMS) - wipe_old_pkgs(FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, Z3_PKG_NAME_PAT, log) - add_new_pkgs(pfiles, FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, Z3_PKG_NAME_PAT, log) - pass - os.chdir(wd) - return 0 - except Exception as ex: - os.chdir(wd) - traceback.print_exc(log) - log.close() - return 1 - -def get(binary_name, platform, bitness, log, Tested=True): - wd = os.getcwd() - try: - if Tested: - bsdir = os.path.join(FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR) - update_git(FSTAR_BIN_URL, FSTAR_BIN_RBRANCH, FSTAR_BIN_LOCAL, FSTAR_BIN_SUBDIR, log, quiet=True) - else: - bsdir = os.path.join(Z3_BIN_LOCAL, Z3_BIN_SUBDIR) - update_git(Z3_BIN_URL, Z3_BIN_RBRANCH, Z3_BIN_LOCAL, Z3_BIN_SUBDIR, log, quiet=True) - - empty(Z3_DIR) - for f in os.listdir(bsdir): - m = Z3_PKG_NAME_PAT.match(f) - if m is not None: - fp = os.path.join(bsdir, f) - version, git_hash, fbitness, fplatform, pversion = m.groups() - if fplatform == platform and fbitness == bitness: - zfn = os.path.join(bsdir, f) - # print("Extracting Z3 from %s" % zfn) - with zipfile.ZipFile(zfn, "r") as zf: - zf.extractall(Z3_DIR) - break - - Z3_BINARY_PATH = "" - for root, dirs, files in os.walk(Z3_DIR): - for f in files: - fp = os.path.join(root, f) - if f == binary_name: - Z3_BINARY_PATH = fp - if f.endswith("dll"): - os.chmod(fp, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) # Cygwin wants +x on dlls. - - if not os.path.isfile(Z3_BINARY_PATH): - raise Z3NightlyException("Z3 not where it should be.") - else: - print("%s" % Z3_BINARY_PATH) - - os.chmod(Z3_BINARY_PATH, stat.S_IRUSR | stat.S_IWUSR | stat.S_IXUSR) - - os.chdir(wd) - return 0 - except Exception as ex: - os.chdir(wd) - traceback.print_exc(log) - log.close() - return 1 - -def print_help(): - print("Usage: %s (get-tested|get-latest|push)" % sys.argv[0]) - -if __name__ =='__main__': - if len(sys.argv) < 2: - print_help() - sys.exit(1) - else: - r = 1 - log = sys.stdout - op = sys.argv[1] - if op == "get-tested": - bn, pfm, bits = get_platform() - if len(sys.argv) >= 3: - pfm = sys.argv[2] - if len(sys.argv) >= 4: - bits = sys.argv[3] - r = get(bn, pfm, bits, log, Tested=True) - elif op == "get-latest": - bn, pfm, bits = get_platform() - if len(sys.argv) >= 3: - pfm = sys.argv[2] - if len(sys.argv) >= 4: - bits = sys.argv[3] - r = get(bn, pfm, bits, log, Tested=False) - elif op == "push": - version = None - git_hash = None - if len(sys.argv) >= 3: - version = sys.argv[2] - if len(sys.argv) >= 4: - git_hash = sys.argv[3] - r = push(version, git_hash, log) - else: - print("Error: Unknown operation '" + op + "'") - print_help() - r = 1 - sys.exit(r) diff --git a/CHANGES.md b/CHANGES.md index 130ee9fab38..f5c122285db 100644 --- a/CHANGES.md +++ b/CHANGES.md @@ -872,7 +872,7 @@ Date: Mon Apr 30 16:57:21 2018 -0700 abstract alias for a 21 bit integer represented within a FStar.UInt32.t. -* ucontrib/Platform/fst/*: These modules are deprecated. Their +* contrib/Platform/fst/*: These modules are deprecated. Their functionality is now moved to FStar.Bytes, FStar.Error, FStar.Tcp, FStar.Udp, and FStar.Date. diff --git a/FStar.fst.config.json b/FStar.fst.config.json index 9e7e90ab41d..cc5e107159f 100644 --- a/FStar.fst.config.json +++ b/FStar.fst.config.json @@ -1,12 +1,9 @@ { - "fstar_exe": "./bin/fstar.exe", + "fstar_exe": "./out/bin/fstar.exe", "options": [ - "--cache_dir", ".cache", + "--z3version", "4.13.3", "--ext", "context_pruning" ], "include_dirs": [ - "ulib/", - "ulib/experimental", - "ulib/legacy" ] } diff --git a/INSTALL.md b/INSTALL.md index e7d55c3ef92..638eb914c0f 100644 --- a/INSTALL.md +++ b/INSTALL.md @@ -28,6 +28,25 @@ using the [online F\* editor] that's part of the [F\* tutorial]. [online F\* editor]: https://www.fstar-lang.org/run.php [F\* tutorial]: https://www.fstar-lang.org/tutorial +## Runtime dependency: Particular version of Z3 ## + +F\* requires specific versions of Z3 to work correctly, +and will refuse to run if the version string does not match. +You should have `z3-4.8.5` and `z3-4.13.3` in your `$PATH`: + +``` +⯠z3-4.8.5 --version +Z3 version 4.8.5 - 64 bit + +⯠z3-4.13.3 --version +Z3 version 4.13.3 - 64 bit +``` + +On Linux you can install these two versions with the following command: +```bash +sudo ./bin/get_fstar_z3.sh /usr/local/bin +``` + ## OPAM package ## If the OCaml package manager (OPAM version 2.0 or later) is present on your platform, @@ -83,8 +102,8 @@ need to perform the following step before your first use: compiler=OCaml 4.14.0 date=yyyy-mm-ddThh:nn:ss+02:00 commit=xxxxxxxx - $ z3 --version - Z3 version 4.8.5 - 64 bit + $ z3-4.13.3 --version + Z3 version 4.13.3 - 64 bit Note: if you are using the binary package and extracted it to, say, the `/path/to/fstar` directory, then both `fstar.exe` and the right version of @@ -366,15 +385,3 @@ erase the extracted snapshot. $ make dune-extract-all -j6 ### Repeat [Step 1](#step-1-build-an-f-binary-from-ocaml-snapshot) - -## Runtime dependency: Particular version of Z3 ## - -To use F\* for verification you need a particular Z3 binary. -Our binary packages include that already in `bin`, but if you compile -F\* from sources you need to get the Z3 binary yourself and add it to -your `PATH`. We strongly recommend to use the corresponding binary here: -https://github.com/FStarLang/binaries/tree/master/z3-tested - -Other versions of Z3 may well work, but the F* tests, standard library, and -examples take a strong dependency on the particular Z3 binary above. -They will likely fail to verify with any other Z3 version. diff --git a/Makefile b/Makefile index 85db3846ff4..d6b26d9ee40 100644 --- a/Makefile +++ b/Makefile @@ -1,205 +1,567 @@ -include .common.mk - -.PHONY: all -all: build-and-verify-ulib - -DUNE_SNAPSHOT ?= $(call maybe_cygwin_path,$(CURDIR)/ocaml) - -# The directory where we install files when doing "make install". -# Overridden via the command-line by the OPAM invocation. -PREFIX ?= /usr/local - -# On Cygwin, the `--prefix` option to dune only -# supports Windows paths. -FSTAR_CURDIR=$(call maybe_cygwin_path,$(CURDIR)) - -FSTAR_BUILD_PROFILE ?= release - -.PHONY: fstar -fstar: - $(Q)cp version.txt $(DUNE_SNAPSHOT)/ - @# Call Dune to build the snapshot. - @echo " DUNE BUILD" - $(Q)cd $(DUNE_SNAPSHOT) && dune build --profile=$(FSTAR_BUILD_PROFILE) - @echo " DUNE INSTALL" - $(Q)cd $(DUNE_SNAPSHOT) && dune install --profile=$(FSTAR_BUILD_PROFILE) --prefix=$(FSTAR_CURDIR) - -.PHONY: verify-ulib -verify-ulib: - +$(Q)$(MAKE) -C ulib - -.PHONY: build-and-verify-ulib -build-and-verify-ulib: fstar - +$(Q)$(MAKE) verify-ulib - -# Removes all generated files (including the whole generated snapshot, -# and .checked files), except the object files, so that the snapshot -# can be rebuilt with an existing fstar.exe -.PHONY: clean-snapshot -clean-snapshot: clean-intermediate - $(call msg, "CLEAN SNAPSHOT") - $(Q)cd $(DUNE_SNAPSHOT) && { dune clean || true ; } - $(Q)rm -rf $(DUNE_SNAPSHOT)/fstar-lib/generated/* - $(Q)rm -f src/ocaml-output/fstarc/* - $(Q)rm -f src/ocaml-output/fstarlib/* - -.PHONY: dune-snapshot -dune-snapshot: - +$(Q)$(MAKE) -C src/ocaml-output dune-snapshot - -# This rule is not incremental, by design. -.PHONY: full-bootstrap -full-bootstrap: - +$(Q)$(MAKE) fstar - +$(Q)$(MAKE) clean-snapshot - +$(Q)$(MAKE) bootstrap - -.PHONY: bootstrap -bootstrap: - +$(Q)$(MAKE) dune-snapshot - +$(Q)$(MAKE) fstar - -# This is a faster version of bootstrap, since it does not use dune -# to install the binary and libraries, and instead just copies the binary -# mannualy. HOWEVER, note that this means plugins will not work well, -# since they are compiled against the objects in bin/, which will become -# stale if this rule is used. Using bootstrap is usually safer. -.PHONY: boot -boot: - +$(Q)$(MAKE) dune-snapshot - $(Q)cp version.txt $(DUNE_SNAPSHOT)/ - @# Call Dune to build the snapshot. - $(call msg, "DUNE BUILD") - $(Q)cd $(DUNE_SNAPSHOT) && dune build --profile release - $(call msg, "RAW INSTALL") - $(Q)install ocaml/_build/default/fstar/main.exe $(FSTAR_CURDIR)/bin/fstar.exe - -.PHONY: install +export FSTAR_ROOT=$(CURDIR) +# ^ This variable is only used by internal makefiles. +# Do NOT rely on it in client code. It is not what FSTAR_HOME was. +include mk/common.mk +undefine FSTAR_EXE # just in case + +# NOTE: If you are changing any of install rules, run a macos build too. +# The behavior of cp, find, etc, can differ in subtle ways from that of GNU tools. + +FSTAR_DEFAULT_GOAL ?= build +.DEFAULT_GOAL := $(FSTAR_DEFAULT_GOAL) + +all: stage1 stage2 stage3-bare lib-fsharp +all-packages: package-1 package-2 package-src-1 package-src-2 + +### STAGES + +ifneq ($(FSTAR_EXTERNAL_STAGE0),) +FSTAR0_EXE := $(abspath $(FSTAR_EXTERNAL_STAGE0)) +endif + +# When stage0 is bumped, use this: +#FSTAR0_EXE ?= stage0/out/bin/fstar.exe +FSTAR0_EXE ?= stage0/bin/fstar.exe + +# This is hardcoding some dune paths, with internal (non-public) names. +# This is motivated by dune installing packages as a unit, so I could not +# install simply the bare compiler and then use it to build the full compiler +# without splitting into many packages, which complicates the namespaces. +# +# Also, when we want to extract src/ for stage 2, we must call FSTAR1_FULL_EXE, +# but it's in a bad location (without a library next to it). So, we must +# pass FSTAR_LIB explicitly. This is the only case where this is needed, the rest +# of stages don't need a library. The alternative is to install it, and use +# $(INSTALLED_FSTAR1_FULL_EXE), but that introduces a spurious dependency to the +# stage 1 libraries for the stage 2, which does not need them at all (currently?). +# +# I'd love a better alternative. +FSTAR1_BARE_EXE := stage1/dune/_build/default/fstarc-bare/fstarc1_bare.exe +FSTAR1_FULL_EXE := stage1/dune/_build/default/fstarc-full/fstarc1_full.exe +INSTALLED_FSTAR1_FULL_EXE := stage1/out/bin/fstar.exe +FSTAR2_BARE_EXE := stage2/dune/_build/default/fstarc-bare/fstarc2_bare.exe +FSTAR2_FULL_EXE := stage2/dune/_build/default/fstarc-full/fstarc2_full.exe +INSTALLED_FSTAR2_FULL_EXE := stage2/out/bin/fstar.exe + +.PHONY: .force +.force: + +# Pass FORCE=1 to make this makefile less smart, and trigger more +# rebuilds. Useful if you suspect the logic is wrong. +ifdef FORCE +MAYBEFORCE=.force +else +MAYBEFORCE= +endif + +build: 2 + +0: $(FSTAR0_EXE) +1.bare: $(FSTAR1_BARE_EXE) +1.full: $(FSTAR1_FULL_EXE) +2.bare: $(FSTAR2_BARE_EXE) +2.full: $(FSTAR2_FULL_EXE) + +# This one we assume it's rather stable, and do not +# mark it PHONY. Still adding '0' allows to force this +# build by 'make 0'. +0 $(FSTAR0_EXE): + $(call bold_msg, "STAGE 0") + mkdir -p stage0/ulib/.cache # prevent warnings + $(MAKE) -C stage0 fstar + $(MAKE) -C stage0 trim # We don't need OCaml build files. + # When the stage is bumped, use this: + # $(MAKE) -C stage0 build # build: only fstar.exe + # $(MAKE) -C stage0 trim # We don't need OCaml build files. + +.bare1.src.touch: $(FSTAR0_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 1 FSTARC-BARE") + env \ + SRC=src/ \ + FSTAR_EXE=$(FSTAR0_EXE) \ + CACHE_DIR=stage1/fstarc.checked/ \ + OUTPUT_DIR=stage1/fstarc.ml/ \ + CODEGEN=OCaml \ + TAG=fstarc \ + TOUCH=$@ \ + $(MAKE) -f mk/fstar-01.mk ocaml + +# These files are regenerated as soon as *any* ml file reachable from +# stage*/dune changes. This makes sure we trigger dune rebuilds when we +# modify base ML files. However this will not catch deletion of a file. +.stage1.ml.touch: $(shell find -L stage1/dune/ -name '*.ml' -type f) + touch $@ +.stage2.ml.touch: $(shell find -L stage2/dune/ -name '*.ml' -type f) + touch $@ + +$(FSTAR1_BARE_EXE): .bare1.src.touch .stage1.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 1 FSTARC-BARE") + $(MAKE) -C stage1 fstarc-bare + touch -c $@ + +.full1.src.touch: $(FSTAR1_BARE_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 1 PLUGINS") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR1_BARE_EXE) \ + CACHE_DIR=stage1/plugins.checked/ \ + OUTPUT_DIR=stage1/plugins.ml/ \ + CODEGEN=PluginNoLib \ + OTHERFLAGS="--ext __guts $(OTHERFLAGS)" \ + TAG=plugins \ + TOUCH=$@ \ + $(MAKE) -f mk/plugins.mk ocaml + +$(FSTAR1_FULL_EXE): .bare1.src.touch .full1.src.touch .stage1.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 1 FSTARC") + $(MAKE) -C stage1 fstarc-full + touch -c $@ + +.alib1.src.touch: $(FSTAR1_FULL_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 1 LIB") + +env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR1_FULL_EXE) \ + CACHE_DIR=stage1/ulib.checked/ \ + OUTPUT_DIR=stage1/ulib.ml/ \ + CODEGEN=OCaml \ + TAG=lib \ + TOUCH=$@ \ + $(MAKE) -f mk/lib.mk ocaml verify + # ^ NB: also verify files we don't extract + +.alib1.touch: .alib1.src.touch .stage1.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 1 LIB") + $(MAKE) -C stage1/ libapp + touch $@ + +.plib1.src.touch: $(FSTAR1_FULL_EXE) .alib1.src.touch .force + # NB: shares .depend and checked from alib1.src, + # hence the dependency, though it is not quite precise. + $(call bold_msg, "EXTRACT", "STAGE 1 PLUGLIB") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR1_FULL_EXE) \ + CACHE_DIR=stage1/ulib.checked/ \ + OUTPUT_DIR=stage1/ulib.pluginml/ \ + CODEGEN=PluginNoLib \ + TAG=pluginlib \ + DEPFLAGS='--extract +FStar.Tactics,+FStar.Reflection,+FStar.Sealed' \ + TOUCH=$@ \ + $(MAKE) -f mk/lib.mk ocaml + +.plib1.touch: .plib1.src.touch .stage1.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 1 PLUGLIB") + $(MAKE) -C stage1/ libplugin + touch $@ + +.bare2.src.touch: $(FSTAR1_FULL_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 2 FSTARC") + # NOTE: see the explanation for FSTAR_LIB near top of file. + env \ + SRC=src/ \ + FSTAR_LIB=$(abspath ulib) \ + FSTAR_EXE=$(FSTAR1_FULL_EXE) \ + CACHE_DIR=stage2/fstarc.checked/ \ + OUTPUT_DIR=stage2/fstarc.ml/ \ + CODEGEN=OCaml \ + TAG=fstarc \ + TOUCH=$@ \ + $(MAKE) -f mk/fstar-12.mk ocaml + +$(FSTAR2_BARE_EXE): .bare2.src.touch .stage2.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 2 FSTARC-BARE") + $(MAKE) -C stage2 fstarc-bare FSTAR_DUNE_RELEASE=1 + touch -c $@ + # ^ Note, even if we don't release fstar-bare itself, + # it is still part of the build of the full fstar, so + # we set the release flag to have a more incremental build. + +.full2.src.touch: $(FSTAR2_BARE_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 2 PLUGINS") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR2_BARE_EXE) \ + CACHE_DIR=stage2/plugins.checked/ \ + OUTPUT_DIR=stage2/plugins.ml/ \ + CODEGEN=PluginNoLib \ + OTHERFLAGS="--ext __guts $(OTHERFLAGS)" \ + TAG=plugins \ + TOUCH=$@ \ + $(MAKE) -f mk/plugins.mk ocaml + +$(FSTAR2_FULL_EXE): .bare2.src.touch .full2.src.touch .stage2.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 2 FSTARC") + $(MAKE) -C stage2 fstarc-full FSTAR_DUNE_RELEASE=1 + touch -c $@ + +.alib2.src.touch: $(FSTAR2_FULL_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 2 LIB") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR2_FULL_EXE) \ + CACHE_DIR=stage2/ulib.checked/ \ + OUTPUT_DIR=stage2/ulib.ml/ \ + CODEGEN=OCaml \ + TAG=lib \ + TOUCH=$@ \ + $(MAKE) -f mk/lib.mk ocaml verify + # ^ NB: also verify files we don't extract + +.alib2.touch: .alib2.src.touch .stage2.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 2 LIB") + $(MAKE) -C stage2/ libapp FSTAR_DUNE_RELEASE=1 + touch $@ + +.plib2.src.touch: $(FSTAR2_FULL_EXE) .alib2.src.touch .force + # NB: shares .depend and checked from .alib2.src, + # hence the dependency, though it is not quite precise. + $(call bold_msg, "EXTRACT", "STAGE 2 PLUGLIB") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR2_FULL_EXE) \ + CACHE_DIR=stage2/ulib.checked/ \ + OUTPUT_DIR=stage2/ulib.pluginml/ \ + CODEGEN=PluginNoLib \ + TAG=pluginlib \ + DEPFLAGS='--extract +FStar.Tactics,+FStar.Reflection,+FStar.Sealed' \ + TOUCH=$@ \ + $(MAKE) -f mk/lib.mk ocaml + +.plib2.touch: .plib2.src.touch .stage2.ml.touch $(MAYBEFORCE) + $(call bold_msg, "BUILD", "STAGE 2 PLUGLIB") + $(MAKE) -C stage2/ libplugin FSTAR_DUNE_RELEASE=1 + touch $@ + +# F# library, from stage 2. +lib-fsharp.src: $(FSTAR2_FULL_EXE) .alib2.src.touch .force + # NB: shares checked files from .alib2.src, + # hence the dependency, though it is not quite precise. + $(call bold_msg, "EXTRACT", "FSHARP LIB") + # Note: FStar.Map and FStar.Set are special-cased + env \ + SRC=ulib/ \ + FSTAR_EXE=$(FSTAR2_FULL_EXE) \ + CACHE_DIR=stage2/ulib.checked/ \ + OUTPUT_DIR=fsharp/extracted/ \ + CODEGEN=FSharp \ + TAG=fsharplib \ + DEPFLAGS='--extract -FStar.Map,-FStar.Set' \ + $(MAKE) -f mk/lib.mk all-fs + +.PHONY: lib-fsharp +lib-fsharp: lib-fsharp.src + $(MAKE) -C fsharp/VS all + +# Stage 3 is different, we don't build it, we just check that the +# extracted OCaml files coincide exactly with stage2. We also do not +# extract the plugins, as is stage2/fstarc and stage3/fstarc coincide, +# then they are exactly the same compiler and will extract the plugins +# in the same way. + +stage3-bare: $(FSTAR2_FULL_EXE) .force + $(call bold_msg, "EXTRACT", "STAGE 3 FSTARC") + # NOTE: see the explanation for FSTAR_LIB near top of file. + env \ + SRC=src/ \ + FSTAR_EXE=$(FSTAR2_FULL_EXE) \ + FSTAR_LIB=$(abspath ulib) \ + CACHE_DIR=stage3/fstarc.checked/ \ + OUTPUT_DIR=stage3/fstarc.ml/ \ + CODEGEN=OCaml \ + TAG=fstarc \ + $(MAKE) -f mk/fstar-12.mk ocaml + +stage3-diff: stage3-bare .force + $(call bold_msg, "DIFF", "STAGE 2 vs STAGE 3") + @# No output expected the gitignore line + diff -r stage2/fstarc.ml stage3/fstarc.ml + +ifeq ($(shell uname),Linux) +LINK_OK=1 +else +LINK_OK=0 +endif + +.stage1.src.touch: .bare1.src.touch .full1.src.touch .alib1.src.touch .plib1.src.touch .stage1.ml.touch + touch $@ + +.stage2.src.touch: .bare2.src.touch .full2.src.touch .alib2.src.touch .plib2.src.touch .stage2.ml.touch + touch $@ + +.install-stage1.touch: export FSTAR_LINK_LIBDIRS=$(LINK_OK) +.install-stage1.touch: .stage1.src.touch + $(call bold_msg, "INSTALL", "STAGE 1") + $(MAKE) -C stage1 install PREFIX=$(CURDIR)/stage1/out + @# ^ pass PREFIX to make sure we don't get it from env + touch $@ + +.install-stage2.touch: export FSTAR_LINK_LIBDIRS=$(LINK_OK) +.install-stage2.touch: .stage2.src.touch + $(call bold_msg, "INSTALL", "STAGE 2") + $(MAKE) -C stage2 install PREFIX=$(CURDIR)/stage2/out FSTAR_DUNE_RELEASE=1 + @# ^ pass PREFIX to make sure we don't get it from env + touch $@ + +setlink-%: + if [ -e out ] && ! [ -h out ]; then echo "ERROR: out/ exists and is not a symbolic link, please remove it"; false; fi + ln -Trsf stage$*/out out + # For compatibility with the previous layout + mkdir -p bin + ln -Trsf out/bin/fstar.exe bin/fstar.exe + ln -Trsf .scripts/get_fstar_z3.sh bin/get_fstar_z3.sh + +stage1: .install-stage1.touch +1: stage1 + $(MAKE) setlink-1 + +stage2: .install-stage2.touch +2: stage2 + $(MAKE) setlink-2 + +3: stage3-diff + +install: export PREFIX?=/usr/local +install: export FSTAR_LINK_LIBDIRS=0 # default is false, but set anyway install: - +$(Q)$(MAKE) -C src/ocaml-output install - -# The `uninstall` rule is only necessary for users who manually ran -# `make install`. It is not needed if F* was installed with opam, -# since `opam remove` can uninstall packages automatically with its -# own way. - -.PHONY: uninstall -uninstall: - rm -rf \ - $(PREFIX)/lib/fstar \ - $(PREFIX)/bin/fstar_tests.exe \ - $(PREFIX)/bin/fstar.exe \ - $(PREFIX)/share/fstar - -.PHONY: package -package: all - +$(Q)$(MAKE) -C src/ocaml-output package - -# Removes everything created by `make all`. MUST NOT be used when -# bootstrapping. -.PHONY: clean -clean: clean-intermediate - $(call msg, "CLEAN") - $(Q)cd $(DUNE_SNAPSHOT) && { dune clean || true ; } - -# Removes all .checked files and other intermediate files -# Does not remove the object files from the dune snapshot. -.PHONY: clean-intermediate -clean-intermediate: - +$(Q)$(MAKE) -C ulib clean - +$(Q)$(MAKE) -C src clean - -# Regenerate all hints for the standard library and regression test suite -.PHONY: hints -hints: - +$(Q)OTHERFLAGS="${OTHERFLAGS} --record_hints" $(MAKE) -C ulib/ - +$(Q)OTHERFLAGS="${OTHERFLAGS} --record_hints" $(MAKE) ci-uregressions ci-ulib-extra - -.PHONY: bench -bench: - ./bin/run_benchmark.sh - -# Regenerate and accept expected output tests. Should be manually -# reviewed before checking in. -.PHONY: output -output: \ - output--examples \ - output--tests - -.PHONY: output--% -output--%: - +$(Q)$(MAKE) -C $* 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 - -# 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) \ - --build-arg FSTAR_CI_NO_GITDIFF=1 \ - . - -.PHONY: 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 - -.PHONY: ci-ulib-extra -ci-ulib-extra: - +$(Q)$(MAKE) -C ulib extra - -.PHONY: ci-ulib-in-fsharp -ci-ulib-in-fsharp: - +$(Q)$(MAKE) -C ulib ulib-in-fsharp - -.PHONY: ci-post -ci-post: \ - ci-ulib-in-fsharp \ - ci-ocaml-test \ - ci-uregressions \ - $(if $(FSTAR_CI_TEST_KARAMEL),ci-karamel-test,) - -.PHONY: ci-uregressions -ci-uregressions: - +$(Q)$(MAKE) -C src uregressions - -.PHONY: ci-karamel-test -ci-karamel-test: ci-krmllib - +$(Q)$(MAKE) -C examples -f karamel.Makefile - -# krmllib needs FStar.ModifiesGen already checked, so we add the dependency on -# ulib-extra here. This is possibly spurious and fixable by tweaking krml's makefiles. -.PHONY: ci-krmllib -ci-krmllib: ci-ulib-extra - +$(Q)OTHERFLAGS="${OTHERFLAGS} --admit_smt_queries true" $(MAKE) -C $(KRML_HOME)/krmllib - -# Shortcuts: - -.PHONY: 1 2 3 - -1: fstar - -# This is a hacky rule to bootstrap the compiler, and not -# the library, more quickly. -2: - +$(Q)$(MAKE) -C src ocaml - +$(Q)$(MAKE) -C src/ocaml-output overlay-snapshots - +$(Q)$(MAKE) fstar - -3: - +$(Q)$(MAKE) 1 - +$(Q)$(MAKE) 2 + $(call bold_msg, "INSTALL", "STAGE 2") + $(MAKE) -C stage2 install FSTAR_DUNE_RELEASE=1 + +__do-install-stage1: + $(call bold_msg, "INSTALL", "STAGE 1") + $(MAKE) -C stage1 install +__do-install-stage2: + $(call bold_msg, "INSTALL", "STAGE 2") + $(MAKE) -C stage2 install FSTAR_DUNE_RELEASE=1 + +__do-archive: .force + rm -rf $(PKGTMP) + # add an 'fstar' top-level directory to the archive + $(MAKE) $(INSTALL_RULE) PREFIX="$(abspath $(PKGTMP)/fstar)" + $(call bold_msg, "PACKAGE", $(ARCHIVE)) + .scripts/bin-install.sh "$(PKGTMP)/fstar" + .scripts/mk-package.sh "$(PKGTMP)" "$(ARCHIVE)" + rm -rf $(PKGTMP) + +__do-src-archive: .force + rm -rf $(PKGTMP) # change the name, this is safe (its overriden) but scary + $(call bold_msg, "SRC PACKAGE", $(ARCHIVE)) + .scripts/src-install.sh "$(BROOT)" "$(PKGTMP)/fstar" + .scripts/mk-package.sh "$(PKGTMP)" "$(ARCHIVE)" + rm -rf $(PKGTMP) + +# We append the version to the package names, unless +# FSTAR_TAG is set (possibly empty) +FSTAR_TAG ?= -v$(shell cat version.txt) + +package-1: .stage1.src.touch .force + env \ + PKGTMP=_pak1 \ + BROOT=stage1/ \ + ARCHIVE=fstar$(FSTAR_TAG)-stage1 \ + INSTALL_RULE=__do-install-stage1 \ + $(MAKE) __do-archive + +package-2: .stage2.src.touch .force + env \ + PKGTMP=_pak2 \ + BROOT=stage2/ \ + ARCHIVE=fstar$(FSTAR_TAG) \ + INSTALL_RULE=__do-install-stage2 \ + $(MAKE) __do-archive + +package-src-1: .stage1.src.touch .force + env \ + PKGTMP=_srcpak1 \ + BROOT=stage1/ \ + ARCHIVE=fstar$(FSTAR_TAG)-stage1-src \ + $(MAKE) __do-src-archive + +package-src-2: .stage2.src.touch .force + env \ + PKGTMP=_srcpak2 \ + BROOT=stage2/ \ + ARCHIVE=fstar$(FSTAR_TAG)-src \ + $(MAKE) __do-src-archive + +package: package-2 +package-src: package-src-2 + +test: test-2 + +test-1: override FSTAR_EXE := $(abspath stage1/out/bin/fstar.exe) +test-1: stage1 + $(MAKE) _test FSTAR_EXE=$(FSTAR_EXE) + +test-2: override FSTAR_EXE := $(abspath stage2/out/bin/fstar.exe) +test-2: stage2 + $(MAKE) _test FSTAR_EXE=$(FSTAR_EXE) + +unit-tests: override FSTAR_EXE := $(abspath stage2/out/bin/fstar.exe) +unit-tests: _unit-tests + +# Use directly only at your own risk. +_test: FSTAR_EXE ?= $(abspath out/bin/fstar.exe) +_test: _unit-tests _examples _doc + +need_fstar_exe: + if [ -z "$(FSTAR_EXE)" ]; then \ + echo "This rule needs FSTAR_EXE defined."; \ + false; \ + fi + +_doc: _doc_book_code _doc_old_tutorial + +_doc_book_code: need_fstar_exe .force + +$(MAKE) -C doc/book/code FSTAR_EXE=$(FSTAR_EXE) + +_doc_old_tutorial: need_fstar_exe .force + +$(MAKE) -C doc/old/tutorial regressions FSTAR_EXE=$(FSTAR_EXE) + +_unit-tests: need_fstar_exe .force + +$(MAKE) -C tests all FSTAR_EXE=$(FSTAR_EXE) + +_examples: need_fstar_exe .force + +$(MAKE) -C examples all FSTAR_EXE=$(FSTAR_EXE) + +ci: .force + +$(MAKE) 2 + +$(MAKE) test lib-fsharp stage3-diff + +save: stage0_new + +stage0_new: TO=stage0_new +stage0_new: .stage2.touch + $(call bold_msg, "SNAPSHOT", "$(TO)") + rm -rf "$(TO)" + .scripts/src-install.sh "stage2" "$(TO)" + # Trim it a bit... + rm -rf "$(TO)/src" # no need for compiler F* sources + rm -rf "$(TO)/ulib/.hints" # this library won't be checked + rm -rf "$(TO)/ulib.pluginml" # we won't build plugins against stage0 + rm -rf "$(TO)/dune/libplugin" # idem + rm -rf "$(TO)/dune/libapp" # we won't even build apps + +bump-stage0: stage0_new + $(call bold_msg, "BUMP!") + # Replace stage0 + rm -rf stage0 + mv stage0_new stage0 + echo 'out' >> stage0/.gitignore + # Now that stage0 supports all features, we can return to a clean state + # where the 01 makefile is equal to the 12 makefile. Same for stage1 + # support and config code, we just take it from the stage2. + rm -f mk/fstar-01.mk + ln -s fstar-12.mk mk/fstar-01.mk + rm -rf stage1 + cp -r stage2 stage1 + +# This rule brings a stage0 from an OLD fstar repo. Only useful for migrating. +bring-stage0: .force + if [ -z "$(FROM)" ]; then echo "FROM not set" >&2; false; fi + rm -rf stage0 + mkdir stage0 + cp -r $(FROM)/ocaml -T stage0 + ln -Tsrf mk/stage0.mk stage0/Makefile + cp -r $(FROM)/ulib -T stage0/ulib + find stage0/ulib -name '*.checked' -delete + find stage0/ulib -name '*.hints' -delete + echo '/lib' >> stage0/.gitignore + echo '** -diff -merge' >> stage0/.gitattributes + echo '** linguist-generated=true' >> stage0/.gitattributes + +watch: + while true; do \ + $(MAKE) ;\ + inotifywait -qre close_write,moved_to .; \ + done + + +### CLEAN + +clean-depend: .force + rm -f stage1/fstarc.checked/.*depend* + rm -f stage1/plugins.checked/.*depend* + rm -f stage1/ulib.checked/.*depend* + rm -f stage2/fstarc.checked/.*depend* + rm -f stage2/plugins.checked/.*depend* + rm -f stage2/ulib.checked/.*depend* + +clean-0: .force + $(call bold_msg, "CLEAN", "STAGE 0") + $(MAKE) -C stage0 clean + rm -rf stage0/ulib/.cache # created only to prevent warnings, always empty + +clean-1: .force + $(call bold_msg, "CLEAN", "STAGE 1") + $(MAKE) -C stage1 clean + rm -rf stage1/fstarc.checked + rm -rf stage1/fstarc.ml + rm -rf stage1/plugins.checked + rm -rf stage1/plugins.ml + rm -rf stage1/ulib.checked + rm -rf stage1/ulib.ml + rm -rf stage1/ulib.pluginml + +clean-2: .force + $(call bold_msg, "CLEAN", "STAGE 2") + $(MAKE) -C stage2 clean + rm -rf stage2/fstarc.checked + rm -rf stage2/fstarc.ml + rm -rf stage2/plugins.checked + rm -rf stage2/plugins.ml + rm -rf stage2/ulib.checked + rm -rf stage2/ulib.ml + rm -rf stage2/ulib.pluginml + +clean-3: .force + $(call bold_msg, "CLEAN", "STAGE 3") + rm -rf stage3/ + +trim: clean-0 clean-1 clean-2 clean-3 + +clean: trim + $(call bold_msg, "CLEAN", "out/") + # ah.. this is just a symlink, recursive calls above should just trim + rm -rf out + +distclean: clean + $(call bold_msg, "DISTCLEAN") + rm -rf _new + rm -rf _build + rm -f fstar.tar.gz + rm -f fstar-*.tar.gz + +help: + echo "Main rules:" + echo " build build the compiler and libraries, and install it in out/" + echo " test run internal tests and examples (implies build)" + echo " package build a binary package" + echo " package-src build an OCaml source package" + echo " clean clean everything except built packages" + echo " install install F* into your system (by default to /usr/local, set PREFIX to change this)" + echo + echo "Optional arguments:" + echo " V=1 enable verbose build" + echo " ADMIT=1 skip verification (pass '--admit_smt_queries true')" + echo + echo "Rules for F* hackers:" + echo " all build everything that can be built, also extract stage 3" + echo " 0 build the stage0 compiler (in stage0/)" + echo " stage1 build a full stage 1 compiler and libraries" + echo " 1 stage1 + set the out/ symlink" + echo " stage2 build a full stage 2 compiler and libraries" + echo " 2 (= build) stage2 + set the out/ symlink" + echo " package-1 create a binary tar.gz for the stage 1 build" + echo " package-2 create a binary tar.gz for the stage 2 build (= package)" + echo " package-src-1 create an OCaml source distribution for the stage 1 build" + echo " package-src-2 create an OCaml source distribution for the stage 2 build (= package-src)" + echo " all-packages build the four previous rules" + echo " clean-depend remove all .depend files, useful when files change name" + echo " trim clean some buildfiles, but retain any installed F* in out" + echo " distclean remove every generated file" + echo " unit-tests run the smaller unit test suite (implied by test)" + echo " save copy a trimmed stage2 into stage0_new (essentially snapshotting a package-src-2)" + echo " bump-stage0 like save, but replace existing stage0 and reset to a default state" + echo + echo "You can set a different default goal by defining FSTAR_DEFAULT_GOAL in your environment." diff --git a/bin/.gitignore b/bin/.gitignore deleted file mode 100644 index 3bd89abe196..00000000000 --- a/bin/.gitignore +++ /dev/null @@ -1,11 +0,0 @@ -Microsoft.Z3.dll -libz3.dll -z3.exe -z3 -fstar-mono.exe -tests-mono.exe -fstar.exe -fstar.fsharp -FsLexYacc.Runtime.dll -*.XML -*lib/META diff --git a/bin/tests-mono.sh b/bin/tests-mono.sh deleted file mode 100755 index 8ce142abb57..00000000000 --- a/bin/tests-mono.sh +++ /dev/null @@ -1,5 +0,0 @@ -#!/usr/bin/env bash - -BASEDIR=$(dirname $0) - -mono $BASEDIR/tests-mono.exe "$@" diff --git a/build_local.sh b/build_local.sh deleted file mode 100755 index 510cf4c75b5..00000000000 --- a/build_local.sh +++ /dev/null @@ -1,58 +0,0 @@ -#!/usr/bin/env bash -set -e - -# Look for config.json file -FILE=".docker/build/config.json" -if [[ ! -f $FILE ]]; then - echo "File $FILE does not exist." -fi - -# In case you want to build windows, change agentOS here to windows-nt if OSTYPE is not working -agentOS=linux -if [[ "$OSTYPE" == "cygwin" ]]; then - agentOS=linux #windows-nt -fi - -DOCKERFILE=$(jq -c -r ".DockerFile" "$FILE") -DOCKERFILE=$( echo ${DOCKERFILE} | sed "s/{agentOS}/${agentOS}/g" ) - -# Copy dockerfile to root -cp $DOCKERFILE ./Dockerfile - -# Copy dependencies -DEPFILES=$(jq -c -r ".DependencyFiles[]" "$FILE") -cp -r $DEPFILES . - -PROJECTNAME=$(jq -c -r ".ProjectName" "$FILE" | awk '{print tolower($0)}') -BUILDTARGET=$(jq -c -r ".CIBuildTarget" "$FILE") -LOCALBRANCHNAME=$(git branch | grep \* | cut -d ' ' -f2) - -#Find commit id. -REQUESTEDBRANCHNAME=$(jq -c -r ".BranchName" "$FILE") -REQUESTEDCOMMITID=$(jq -c -r ".BaseContainerImageTagOrCommitId" "$FILE") -COMMITURL=$(jq -c -r ".GithubCommitUrl" "$FILE")/$REQUESTEDBRANCHNAME - -if [[ $(jq -c -r ".BaseContainerImageTagOrCommitId" "$FILE") -ne "latest" ]]; then - COMMITURL=$(jq -c -r ".GithubCommitUrl" "$FILE")/$REQUESTEDCOMMITID -fi - -LINE="$( git ls-remote ${COMMITURL%"/commit/master"} HEAD)" -FULLCOMMITID="$( echo ${LINE} | cut -f1 )" -COMMITID=${FULLCOMMITID:0:12} - -# create fake files ssh key, commitinfofilename.json, etc -echo "fake" > id_rsa -echo "fake" > commitinfofilename.json - -# build container -docker build --file Dockerfile --build-arg BUILDLOGFILE="buildlogfile.txt" --build-arg MAXTHREADS="8" --build-arg BUILDTARGET="$BUILDTARGET" --build-arg BRANCHNAME="$LOCALBRANCHNAME" --build-arg COMMITID="$COMMITID" --build-arg DOCKERHUBPROJECT="projecteverest/" --tag "$PROJECTNAME:local" . - -# delete fake files -rm -f id_rsa -rm -f commitinfofilename.json - -# Remove dep files. -for f in $DEPFILES; do rm -f $(basename $f); done - -# delete dockerfile -rm -f Dockerfile diff --git a/ucontrib/CoreCrypto/INSTALL.md b/contrib/CoreCrypto/INSTALL.md similarity index 100% rename from ucontrib/CoreCrypto/INSTALL.md rename to contrib/CoreCrypto/INSTALL.md diff --git a/contrib/CoreCrypto/fst/CoreCrypto.fst b/contrib/CoreCrypto/fst/CoreCrypto.fst index 7291e4fea51..05dfaf2afb3 100644 --- a/contrib/CoreCrypto/fst/CoreCrypto.fst +++ b/contrib/CoreCrypto/fst/CoreCrypto.fst @@ -15,9 +15,7 @@ *) module CoreCrypto -open FStar.Bytes - -assume val now: unit -> EXT UInt32.t +open Platform.Bytes (* ------------ Hashing ------------ *) type hash_alg = @@ -62,7 +60,40 @@ let blockSize = function | AES_128_CBC -> 16 | AES_256_CBC -> 16 -include CryptoTypes +(* Authenticated Encryption for TLS. + Note that their AAD contents depends on the protocol version. *) + +type aead_cipher = + | AES_128_GCM + | AES_256_GCM + | CHACHA20_POLY1305 + | AES_128_CCM // "Counter with CBC-Message Authentication Code" + | AES_256_CCM + | AES_128_CCM_8 // variant with truncated 8-byte tags + | AES_256_CCM_8 + +// the key materials consist of an encryption key, a static IV, and an authentication key. + +let aeadKeySize = function + | AES_128_CCM -> 16 + | AES_128_CCM_8 -> 16 + | AES_128_GCM -> 16 + | AES_256_CCM -> 32 + | AES_256_CCM_8 -> 32 + | AES_256_GCM -> 32 + | CHACHA20_POLY1305 -> 32 + +let aeadRealIVSize (a:aead_cipher) = 12 + +// the ciphertext ends with an authentication tag +let aeadTagSize = function + | AES_128_CCM_8 -> 8 + | AES_256_CCM_8 -> 8 + | AES_128_CCM -> 16 + | AES_256_CCM -> 16 + | AES_128_GCM -> 16 + | AES_256_GCM -> 16 + | CHACHA20_POLY1305 -> 16 //16-09-12 added precise concrete spec, matching what we implement in low-level/crypto //16-09-12 for robustness, we should at least test it when using external crypto. @@ -134,11 +165,7 @@ assume val stream_decryptor : stream_cipher -> bytes -> EXT cipher_stream assume val stream_process : cipher_stream -> bytes -> EXT bytes assume val stream_fini : cipher_stream -> EXT unit -assume val init : unit -> EXT int -assume val zero : l:nat -> EXT (lbytes l) assume val random : l:nat -> EXT (lbytes l) -assume val random32 : l:UInt32.t -> EXT (lbytes32 l) -// 18-02-25 we should probably keep just the latter assume val rsa_gen_key : int -> EXT (k:rsa_key{Some? k.rsa_prv_exp}) assume val rsa_encrypt : rsa_key -> rsa_padding -> bytes -> EXT bytes @@ -198,7 +225,7 @@ assume val ec_gen_key: p:ec_params length k.ec_point.ecx = ec_bytelen k.ec_params.curve /\ length k.ec_point.ecy = ec_bytelen k.ec_params.curve}) -//TODO: keep also abstract OpenSSL representation for efficiency? +//TODO: keep also abtsract OpenSSL representation for efficiency? type key = | KeyRSA of rsa_key | KeyDSA of dsa_key diff --git a/contrib/CoreCrypto/fst/CryptoTypes.fst b/contrib/CoreCrypto/fst/CryptoTypes.fst deleted file mode 100644 index da38493d2fc..00000000000 --- a/contrib/CoreCrypto/fst/CryptoTypes.fst +++ /dev/null @@ -1,50 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -(* Some type definitions for F* programs that extract to OCaml and then wish to - * use LowCProvider. *) -module CryptoTypes - -type aead_cipher = - | AES_128_GCM - | AES_256_GCM - | CHACHA20_POLY1305 - | AES_128_CCM // "Counter with CBC-Message Authentication Code" - | AES_256_CCM - | AES_128_CCM_8 // variant with truncated 8-byte tags - | AES_256_CCM_8 - -// the key materials consist of an encryption key, a static IV, and an authentication key. - -let aeadKeySize = function - | AES_128_CCM -> 16 - | AES_128_CCM_8 -> 16 - | AES_128_GCM -> 16 - | AES_256_CCM -> 32 - | AES_256_CCM_8 -> 32 - | AES_256_GCM -> 32 - | CHACHA20_POLY1305 -> 32 - -let aeadRealIVSize (a:aead_cipher) = 12 - -// the ciphertext ends with an authentication tag -let aeadTagSize = function - | AES_128_CCM_8 -> 8 - | AES_256_CCM_8 -> 8 - | AES_128_CCM -> 16 - | AES_256_CCM -> 16 - | AES_128_GCM -> 16 - | AES_256_GCM -> 16 - | CHACHA20_POLY1305 -> 16 diff --git a/contrib/CoreCrypto/fst/DHDB.fst b/contrib/CoreCrypto/fst/DHDB.fst index 506afe1dd0f..6a1c5542caf 100644 --- a/contrib/CoreCrypto/fst/DHDB.fst +++ b/contrib/CoreCrypto/fst/DHDB.fst @@ -17,14 +17,14 @@ module DHDB open Platform.Bytes open CoreCrypto -type key = bytes * bytes // p, g -type value = bytes * bool // q, safe_prime? +type key = bytes & bytes // p, g +type value = bytes & bool // q, safe_prime? assume new type dhdb : Type0 assume val defaultFileName: string assume val defaultDHPrimeConfidence: int -assume val defaultPQMinLength: nat * nat +assume val defaultPQMinLength: nat & nat assume val create: string -> dhdb assume val select: dhdb -> key -> option value @@ -33,6 +33,6 @@ assume val remove: dhdb -> key -> dhdb assume val keys : dhdb -> list key assume val merge : dhdb -> string -> dhdb -assume val dh_check_params: dhdb -> int -> (int * int) -> bytes -> bytes -> option (dhdb * dh_params) +assume val dh_check_params: dhdb -> int -> (int & int) -> bytes -> bytes -> option (dhdb & dh_params) assume val dh_check_element: dh_params -> bytes -> bool -assume val load_default_params: string -> dhdb -> (int * int) -> (dhdb * dh_params) +assume val load_default_params: string -> dhdb -> (int & int) -> (dhdb & dh_params) diff --git a/ucontrib/CoreCrypto/ml/.gitignore b/contrib/CoreCrypto/ml/.gitignore similarity index 100% rename from ucontrib/CoreCrypto/ml/.gitignore rename to contrib/CoreCrypto/ml/.gitignore diff --git a/ucontrib/CoreCrypto/ml/CoreCrypto.ml b/contrib/CoreCrypto/ml/CoreCrypto.ml similarity index 100% rename from ucontrib/CoreCrypto/ml/CoreCrypto.ml rename to contrib/CoreCrypto/ml/CoreCrypto.ml diff --git a/ucontrib/CoreCrypto/ml/CoreCrypto.mli b/contrib/CoreCrypto/ml/CoreCrypto.mli similarity index 100% rename from ucontrib/CoreCrypto/ml/CoreCrypto.mli rename to contrib/CoreCrypto/ml/CoreCrypto.mli diff --git a/ucontrib/CoreCrypto/ml/DHDB.ml b/contrib/CoreCrypto/ml/DHDB.ml similarity index 100% rename from ucontrib/CoreCrypto/ml/DHDB.ml rename to contrib/CoreCrypto/ml/DHDB.ml diff --git a/ucontrib/CoreCrypto/ml/Makefile b/contrib/CoreCrypto/ml/Makefile similarity index 100% rename from ucontrib/CoreCrypto/ml/Makefile rename to contrib/CoreCrypto/ml/Makefile diff --git a/ucontrib/CoreCrypto/ml/Tests.ml b/contrib/CoreCrypto/ml/Tests.ml similarity index 100% rename from ucontrib/CoreCrypto/ml/Tests.ml rename to contrib/CoreCrypto/ml/Tests.ml diff --git a/ucontrib/CoreCrypto/ml/db/DB.ml b/contrib/CoreCrypto/ml/db/DB.ml similarity index 100% rename from ucontrib/CoreCrypto/ml/db/DB.ml rename to contrib/CoreCrypto/ml/db/DB.ml diff --git a/ucontrib/CoreCrypto/ml/db/DB.mli b/contrib/CoreCrypto/ml/db/DB.mli similarity index 100% rename from ucontrib/CoreCrypto/ml/db/DB.mli rename to contrib/CoreCrypto/ml/db/DB.mli diff --git a/ucontrib/CoreCrypto/ml/db/DBMap.ml b/contrib/CoreCrypto/ml/db/DBMap.ml similarity index 100% rename from ucontrib/CoreCrypto/ml/db/DBMap.ml rename to contrib/CoreCrypto/ml/db/DBMap.ml diff --git a/ucontrib/CoreCrypto/ml/db/DBMap.mli b/contrib/CoreCrypto/ml/db/DBMap.mli similarity index 100% rename from ucontrib/CoreCrypto/ml/db/DBMap.mli rename to contrib/CoreCrypto/ml/db/DBMap.mli diff --git a/ucontrib/CoreCrypto/ml/db/Makefile b/contrib/CoreCrypto/ml/db/Makefile similarity index 100% rename from ucontrib/CoreCrypto/ml/db/Makefile rename to contrib/CoreCrypto/ml/db/Makefile diff --git a/ucontrib/CoreCrypto/ml/dsaparam.pem b/contrib/CoreCrypto/ml/dsaparam.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/dsaparam.pem rename to contrib/CoreCrypto/ml/dsaparam.pem diff --git a/ucontrib/CoreCrypto/ml/openssl_stub.c b/contrib/CoreCrypto/ml/openssl_stub.c similarity index 100% rename from ucontrib/CoreCrypto/ml/openssl_stub.c rename to contrib/CoreCrypto/ml/openssl_stub.c diff --git a/ucontrib/CoreCrypto/ml/pki/CAFile.pem b/contrib/CoreCrypto/ml/pki/CAFile.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/CAFile.pem rename to contrib/CoreCrypto/ml/pki/CAFile.pem diff --git a/ucontrib/CoreCrypto/ml/pki/Makefile b/contrib/CoreCrypto/ml/pki/Makefile similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/Makefile rename to contrib/CoreCrypto/ml/pki/Makefile diff --git a/ucontrib/CoreCrypto/ml/pki/config/ca.config b/contrib/CoreCrypto/ml/pki/config/ca.config similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/config/ca.config rename to contrib/CoreCrypto/ml/pki/config/ca.config diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/ca.crt b/contrib/CoreCrypto/ml/pki/dsa/certificates/ca.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/ca.crt rename to contrib/CoreCrypto/ml/pki/dsa/certificates/ca.crt diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/ca.key b/contrib/CoreCrypto/ml/pki/dsa/certificates/ca.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/ca.key rename to contrib/CoreCrypto/ml/pki/dsa/certificates/ca.key diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dh.pem b/contrib/CoreCrypto/ml/pki/dsa/certificates/dh.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dh.pem rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dh.pem diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.crt b/contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.crt rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.crt diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.csr b/contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.csr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.csr rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.csr diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.key b/contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.key rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.key diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.p12 b/contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.p12 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.p12 rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dsa.cert.mitls.org.p12 diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsap.pem b/contrib/CoreCrypto/ml/pki/dsa/certificates/dsap.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/certificates/dsap.pem rename to contrib/CoreCrypto/ml/pki/dsa/certificates/dsap.pem diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/01.pem b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/01.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/01.pem rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/01.pem diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/40a91a44.0 b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/40a91a44.0 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/40a91a44.0 rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.certs/40a91a44.0 diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.attr b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.attr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.attr rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.attr diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.old b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.old rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.index.old diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial diff --git a/ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial.old b/contrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial.old rename to contrib/CoreCrypto/ml/pki/dsa/db/ca.db.serial.old diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.crt b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.crt rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.crt diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.key b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.key rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ca.key diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/dh.pem b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/dh.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/dh.pem rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/dh.pem diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/dsap.pem b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/dsap.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/dsap.pem rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/dsap.pem diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.crt b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.crt rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.crt diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.csr b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.csr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.csr rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.csr diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.key b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.key rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.key diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.p12 b/contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.p12 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.p12 rename to contrib/CoreCrypto/ml/pki/ecdsa/certificates/ecdsa.cert.mitls.org.p12 diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/01.pem b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/01.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/01.pem rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/01.pem diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/9dc02e59.0 b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/9dc02e59.0 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/9dc02e59.0 rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.certs/9dc02e59.0 diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.attr b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.attr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.attr rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.attr diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.old b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.old rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.index.old diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial diff --git a/ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial.old b/contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial.old rename to contrib/CoreCrypto/ml/pki/ecdsa/db/ca.db.serial.old diff --git a/ucontrib/CoreCrypto/ml/pki/pki.built b/contrib/CoreCrypto/ml/pki/pki.built similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/pki.built rename to contrib/CoreCrypto/ml/pki/pki.built diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/ca.crt b/contrib/CoreCrypto/ml/pki/rsa/certificates/ca.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/ca.crt rename to contrib/CoreCrypto/ml/pki/rsa/certificates/ca.crt diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/ca.key b/contrib/CoreCrypto/ml/pki/rsa/certificates/ca.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/ca.key rename to contrib/CoreCrypto/ml/pki/rsa/certificates/ca.key diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/dh.pem b/contrib/CoreCrypto/ml/pki/rsa/certificates/dh.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/dh.pem rename to contrib/CoreCrypto/ml/pki/rsa/certificates/dh.pem diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/dsap.pem b/contrib/CoreCrypto/ml/pki/rsa/certificates/dsap.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/dsap.pem rename to contrib/CoreCrypto/ml/pki/rsa/certificates/dsap.pem diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.crt b/contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.crt similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.crt rename to contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.crt diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.csr b/contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.csr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.csr rename to contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.csr diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.key b/contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.key similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.key rename to contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.key diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.p12 b/contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.p12 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.p12 rename to contrib/CoreCrypto/ml/pki/rsa/certificates/rsa.cert.mitls.org.p12 diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/01.pem b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/01.pem similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/01.pem rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/01.pem diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/db930587.0 b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/db930587.0 similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/db930587.0 rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.certs/db930587.0 diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.attr b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.attr similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.attr rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.attr diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.old b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.old rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.index.old diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial diff --git a/ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial.old b/contrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial.old similarity index 100% rename from ucontrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial.old rename to contrib/CoreCrypto/ml/pki/rsa/db/ca.db.serial.old diff --git a/ucontrib/Log/fst/Log.fst b/contrib/Log/fst/Log.fst similarity index 100% rename from ucontrib/Log/fst/Log.fst rename to contrib/Log/fst/Log.fst diff --git a/ucontrib/Makefile b/contrib/Makefile similarity index 100% rename from ucontrib/Makefile rename to contrib/Makefile diff --git a/ucontrib/Platform/fst/Platform.Bytes.fst b/contrib/Platform/fst/Platform.Bytes.fst similarity index 100% rename from ucontrib/Platform/fst/Platform.Bytes.fst rename to contrib/Platform/fst/Platform.Bytes.fst diff --git a/ucontrib/Platform/fst/Platform.Date.fst b/contrib/Platform/fst/Platform.Date.fst similarity index 100% rename from ucontrib/Platform/fst/Platform.Date.fst rename to contrib/Platform/fst/Platform.Date.fst diff --git a/ucontrib/Platform/fst/Platform.Error.fst b/contrib/Platform/fst/Platform.Error.fst similarity index 100% rename from ucontrib/Platform/fst/Platform.Error.fst rename to contrib/Platform/fst/Platform.Error.fst diff --git a/ucontrib/Platform/fst/Platform.Tcp.fst b/contrib/Platform/fst/Platform.Tcp.fst similarity index 100% rename from ucontrib/Platform/fst/Platform.Tcp.fst rename to contrib/Platform/fst/Platform.Tcp.fst diff --git a/ucontrib/Platform/fst/Platform.Udp.fst b/contrib/Platform/fst/Platform.Udp.fst similarity index 100% rename from ucontrib/Platform/fst/Platform.Udp.fst rename to contrib/Platform/fst/Platform.Udp.fst diff --git a/ucontrib/Platform/ml/Makefile b/contrib/Platform/ml/Makefile similarity index 100% rename from ucontrib/Platform/ml/Makefile rename to contrib/Platform/ml/Makefile diff --git a/ucontrib/Platform/ml/Tests.ml b/contrib/Platform/ml/Tests.ml similarity index 100% rename from ucontrib/Platform/ml/Tests.ml rename to contrib/Platform/ml/Tests.ml diff --git a/ucontrib/Platform/ml/platform.ml b/contrib/Platform/ml/platform.ml similarity index 100% rename from ucontrib/Platform/ml/platform.ml rename to contrib/Platform/ml/platform.ml diff --git a/doc/.gitignore b/doc/.gitignore new file mode 100644 index 00000000000..ae33dee04ec --- /dev/null +++ b/doc/.gitignore @@ -0,0 +1,2 @@ +_output +_cache diff --git a/doc/Makefile.include b/doc/Makefile.include deleted file mode 100644 index 0da43f8a8b1..00000000000 --- a/doc/Makefile.include +++ /dev/null @@ -1,15 +0,0 @@ -.PHONY: all verify-% __force__ - -ifdef FSTAR_HOME - FSTAR_ULIB=$(shell if test -d $(FSTAR_HOME)/ulib ; then echo $(FSTAR_HOME)/ulib ; else echo $(FSTAR_HOME)/lib/fstar ; fi) - FSTAR_CONTRIB=$(shell if test -d $(FSTAR_HOME)/ucontrib ; then echo $(FSTAR_HOME)/ucontrib ; else echo $(FSTAR_HOME)/share/fstar/contrib ; fi) -else - # fstar.exe assumed to be in some bin/ directory - # included in the PATH (e.g. opam package, /usr or /usr/local) - FSTAR_PREFIX=$(dir $(shell which fstar.exe))/.. - FSTAR_ULIB=$(FSTAR_PREFIX)/lib/fstar - FSTAR_CONTRIB=$(FSTAR_PREFIX)/share/fstar/contrib -endif - -include $(FSTAR_ULIB)/gmake/z3.mk -include $(FSTAR_ULIB)/gmake/fstar.mk diff --git a/doc/book/code/AdHocEffectPolymorphism.fst.hints b/doc/book/code/AdHocEffectPolymorphism.fst.hints deleted file mode 100644 index 7e39d689121..00000000000 --- a/doc/book/code/AdHocEffectPolymorphism.fst.hints +++ /dev/null @@ -1,157 +0,0 @@ -[ - "«QÖI39œ=fª\u0016ÀŠÐš", - [ - [ - "AdHocEffectPolymorphism.eff", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_AdHocEffectPolymorphism.G", - "disc_equation_AdHocEffectPolymorphism.T", - "fuel_guarded_inversion_AdHocEffectPolymorphism.eff_tag", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e8f74a2c33e3e67ca7f3765d481cfbda" - ], - [ - "AdHocEffectPolymorphism.elim_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_AdHocEffectPolymorphism.T", - "equality_tok_AdHocEffectPolymorphism.T@tok", - "equation_AdHocEffectPolymorphism.eff", - "refinement_interpretation_Tm_refine_3d79f9587edb6fce694621aacef574f4" - ], - 0, - "8b231f8e4e2a0dce4d0f2135cf3c405d" - ], - [ - "AdHocEffectPolymorphism.elim_tot", - 2, - 2, - 1, - [ "@query", "assumption_AdHocEffectPolymorphism.eff_tag__uu___haseq" ], - 0, - "621e3a51aedc7419f8c28309fb346b3e" - ], - [ - "AdHocEffectPolymorphism.elim_gtot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_AdHocEffectPolymorphism.G", - "equality_tok_AdHocEffectPolymorphism.G@tok", - "equation_AdHocEffectPolymorphism.eff", - "refinement_interpretation_Tm_refine_b3f3fc301d11a45e47f02d6e4e9e143b" - ], - 0, - "1df6192462a01373aef653929538f550" - ], - [ - "AdHocEffectPolymorphism.elim_gtot", - 2, - 2, - 1, - [ "@query", "assumption_AdHocEffectPolymorphism.eff_tag__uu___haseq" ], - 0, - "667ac75ca19e8755c9ebd2a131685444" - ], - [ - "AdHocEffectPolymorphism.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AdHocEffectPolymorphism_interpretation_Tm_arrow_f733943e720921049fb5d7431c9f04d2", - "AdHocEffectPolymorphism_interpretation_Tm_ghost_arrow_c147251bfc1ff7e35f16290189e09a47", - "constructor_distinct_AdHocEffectPolymorphism.G", - "constructor_distinct_AdHocEffectPolymorphism.T", - "disc_equation_AdHocEffectPolymorphism.G", - "disc_equation_AdHocEffectPolymorphism.T", - "equality_tok_AdHocEffectPolymorphism.G@tok", - "equality_tok_AdHocEffectPolymorphism.T@tok", - "fuel_guarded_inversion_AdHocEffectPolymorphism.eff_tag", - "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_b68e73a4efe6a575c72f28a07914e6c3" - ], - 0, - "db3fcb62c9ebc62bdf9b93d1e65e5197" - ], - [ - "AdHocEffectPolymorphism.op_let_Bang", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_AdHocEffectPolymorphism.G", - "constructor_distinct_AdHocEffectPolymorphism.T", - "disc_equation_AdHocEffectPolymorphism.G", - "disc_equation_AdHocEffectPolymorphism.T", - "equality_tok_AdHocEffectPolymorphism.G@tok", - "equality_tok_AdHocEffectPolymorphism.T@tok", - "fuel_guarded_inversion_AdHocEffectPolymorphism.eff_tag", - "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_8e12540a24fc84fc634302f2b8934aa4", - "typing_Tm_abs_e0231376ac4f1e1c1f86bc97f17fb9b1" - ], - 0, - "33ff7ba71e23cfdadb3a6076280ca136" - ], - [ - "AdHocEffectPolymorphism.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AdHocEffectPolymorphism_pretyping_aba3a3f6bd49314895416739be88c0d4", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "data_typing_intro_AdHocEffectPolymorphism.T@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6db4366b7c17e0cd6d7d158d3c530eea" - ], - [ - "AdHocEffectPolymorphism.inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ac50e953ed4d60475056f18fa0461e62" - ], - [ - "AdHocEffectPolymorphism.ginc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal" - ], - 0, - "0af24e71e598815b4c049e80b2d2507c" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Alex.fst b/doc/book/code/Alex.fst index 57718ba277b..0bf3a7558c8 100644 --- a/doc/book/code/Alex.fst +++ b/doc/book/code/Alex.fst @@ -7,7 +7,7 @@ val f : (f:(nat -> int){unbounded f}) let g : (nat -> int) = fun x -> f (x+1) -#push-options "--query_stats --fuel 0 --ifuel 0 --split_queries always" +#push-options "--fuel 0 --ifuel 0 --z3smtopt '(set-option :smt.qi.eager_threshold 2)'" let find_above_for_g (m:nat) : Lemma(exists (i:nat). abs(g i) > m) = assert (unbounded f); // apply forall to m eliminate exists (n:nat). abs(f n) > m @@ -20,9 +20,8 @@ let find_above_for_g (m:nat) : Lemma(exists (i:nat). abs(g i) > m) = eliminate exists (n1:nat). abs (f n1) > m1 returns exists (i:nat). abs(g i) > m with _. begin - assert (n1>0); - assert (abs (g (n1-1)) > m); - () + assert (n1 > 0); + assert (abs (g (n1-1)) > m) end end end diff --git a/doc/book/code/Alex.fst.hints b/doc/book/code/Alex.fst.hints deleted file mode 100644 index d3233a5d13b..00000000000 --- a/doc/book/code/Alex.fst.hints +++ /dev/null @@ -1,215 +0,0 @@ -[ - "0µ.\u0005ÓÈËE…V\u0014áÃn…\\", - [ - [ - "Alex.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c02b079893dc193a403bc3297466be49" - ], - [ - "Alex.find_above_for_g", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "function_token_typing_Alex.f", - "refinement_interpretation_Tm_refine_4a238e1e06eccc65deba555c9a504c92" - ], - 0, - "ff734bb224353642a8db1b0a2f21a3db" - ], - [ - "Alex.find_above_for_g", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Alex.unbounded", - "equation_Prims.nat", "function_token_typing_Alex.f", - "int_inversion", - "refinement_interpretation_Tm_refine_4a238e1e06eccc65deba555c9a504c92", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Alex.f" - ], - 0, - "c2c8cc1523ae3686b0bfb4b5d87f29fb" - ], - [ - "Alex.find_above_for_g", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "ac28200fc101d3087626ce929bda3a0a" - ], - [ - "Alex.find_above_for_g", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a3a13cdccab52590994745b5bb12473a" - ], - 0, - "898f1836b4bda91b2907ea21046fbeb6" - ], - [ - "Alex.find_above_for_g", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Alex.g", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c4a3583f255c406deabb4484922f980e" - ], - [ - "Alex.find_above_for_g", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_15400c4215b69aceb1c3cfd351472b2e" - ], - 0, - "97ebc432bd4b886d5c54df2422806e90" - ], - [ - "Alex.find_above_for_g", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e9f390a1043f17040e387fd036cf3d27" - ], - 0, - "4c8c7bf4121dda5d314c17515d690fd1" - ], - [ - "Alex.find_above_for_g", - 8, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Alex.unbounded", "equation_Prims.abs", - "equation_Prims.nat", "function_token_typing_Alex.f", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4a238e1e06eccc65deba555c9a504c92", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Alex.f", "typing_Alex.f", "typing_Prims.abs" - ], - 0, - "5fe0eff2beaa314bcff49ee18468954a" - ], - [ - "Alex.find_above_for_g", - 9, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f5671c59d8f2cf165db0cdc8be29cf27" - ], - [ - "Alex.find_above_for_g", - 10, - 0, - 0, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7d840c3043766716b61df6b9553e6af9" - ], - [ - "Alex.find_above_for_g", - 11, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Alex.g", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2d8dca4e6a2eeb7fc786072c287a9d1a" - ], - [ - "Alex.find_above_for_g", - 12, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_15400c4215b69aceb1c3cfd351472b2e" - ], - 0, - "e6192148faa2bfcb3ac36c358d5eef23" - ], - [ - "Alex.find_above_for_g", - 13, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1d4f03e8e79cf9ecd2b8649fb87af988", - "refinement_interpretation_Tm_refine_8a82f3e93a1f1af98ddbbd4ccb78ba02" - ], - 0, - "93f1e513729f87808e66539430bdd988" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/AlexOpaque.fst.hints b/doc/book/code/AlexOpaque.fst.hints deleted file mode 100644 index 934f0b7db84..00000000000 --- a/doc/book/code/AlexOpaque.fst.hints +++ /dev/null @@ -1,166 +0,0 @@ -[ - "ôäBrp\u001f~~#½z/KãcÚ", - [ - [ - "AlexOpaque.instantiate_unbounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "l_quant_interp_0e9c6b5b9967880f892e1f4bd5722ce0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f" - ], - 0, - "d13f5140e8449d59283c646b07759489" - ], - [ - "AlexOpaque.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "530727a0c921c0296cedca2315c714f0" - ], - [ - "AlexOpaque.find_above_for_g", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_AlexOpaque.g", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_AlexOpaque.f", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f94613fb44f05144ff447cef09f7d9d", - "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f", - "typing_AlexOpaque.f" - ], - 0, - "a1169afa5752c48fde7e3fa134b6db71" - ], - [ - "AlexOpaque.gg", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "39338451d8408dfe2447944cfc64c6d3" - ], - [ - "AlexOpaque.find_above_for_gg", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_AlexOpaque.gg", - "equation_AlexOpaque.trigger", "equation_AlexOpaque.unbounded_alt", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_AlexOpaque.ff", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9464ad954b88410440709da8bcef4037", - "refinement_interpretation_Tm_refine_ae4dcce3c25f612a532fbd474a59509c", - "token_correspondence_AlexOpaque.ff", "typing_AlexOpaque.ff", - "typing_Prims.abs" - ], - 0, - "9ab3ccf9278519c75f6ad966b1413342" - ], - [ - "AlexOpaque.find_above_for_g1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_AlexOpaque.g", - "equation_AlexOpaque.trigger", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_AlexOpaque.f", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f94613fb44f05144ff447cef09f7d9d", - "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f", - "typing_AlexOpaque.f" - ], - 0, - "c3ae94fb0c75067d06d418e6b1b43654" - ], - [ - "AlexOpaque.find_above_for_g2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_AlexOpaque.g", - "equation_AlexOpaque.trigger_nat", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_AlexOpaque.f", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f94613fb44f05144ff447cef09f7d9d", - "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f", - "typing_AlexOpaque.f", "typing_AlexOpaque.g" - ], - 0, - "c74ef4b2c710b19e228deed21c2a2e5f" - ], - [ - "AlexOpaque.find_above_for_g'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_AlexOpaque.g", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_AlexOpaque.f", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f94613fb44f05144ff447cef09f7d9d", - "refinement_interpretation_Tm_refine_795f9e9fa08e5f78560459994a1c8f9f", - "typing_AlexOpaque.f", "typing_AlexOpaque.g" - ], - 0, - "ca093a337564590b4fb95894317c814f" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Connectives.fst.hints b/doc/book/code/Connectives.fst.hints deleted file mode 100644 index bfe70dfe270..00000000000 --- a/doc/book/code/Connectives.fst.hints +++ /dev/null @@ -1,315 +0,0 @@ -[ - "š3ÙìDO\u0001Ê~\u001cf\u0012{K>", - [ - [ - "Connectives.empty_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Connectives.empty" - ], - 0, - "843a49c5a4ebf976f359098a0f741741" - ], - [ - "Connectives.false_elim", - 1, - 2, - 1, - [ - "binder_x_4929b252db904d65280aa2416964fe91_2", - "equation_Prims.l_False", "false_interp" - ], - 0, - "c21e806595dfb3e2d8a0d21826a24e00" - ], - [ - "Connectives.conj_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e30e2e82394a8995f1110d96d484d0b8" - ], - [ - "Connectives.conj_elim_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" - ], - 0, - "0f5ef53b0c4c5ae4e49e0f3bd3d10f6f" - ], - [ - "Connectives.conj_elim_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" - ], - 0, - "3101ad23ba3ddd7878e63e0de29fa5b6" - ], - [ - "Connectives.conj_elim_sugar_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" - ], - 0, - "0d2024e751e8195e35ebbc9c9e87a085" - ], - [ - "Connectives.conj_elim_sugar_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9" - ], - 0, - "6de37bd9a889f33f461301ce7186bb4b" - ], - [ - "Connectives.or_intro_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "003d6dd0a4cbd3556e0f2d13e219e715" - ], - [ - "Connectives.or_intro_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "218c54574eea95e55e04c593dfdec4d7" - ], - [ - "Connectives.sum_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2a30bd08ae9197c883cc8e50606b249e" - ], - [ - "Connectives.or_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d", - "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" - ], - 0, - "957f8226c628e31b9be4c7302c01c200" - ], - [ - "Connectives.or_elim_sugar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d", - "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" - ], - 0, - "6e3cb0ad28d8d0bc8eed38f09b2a9401" - ], - [ - "Connectives.implies_intro_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "1d48f3eda717798740e77f222223537c" - ], - [ - "Connectives.implies_intro_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "0336d543e7a85accd769896b94a20745" - ], - [ - "Connectives.implies_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "bb3e4833cf256d7f5797dc8d8835d7b1" - ], - [ - "Connectives.implies_elim_sugar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "ccc8336e7326de3e2fac45843b94f896" - ], - [ - "Connectives.neg_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "efd62526454d0efd7c70c195ea29092f" - ], - [ - "Connectives.forall_intro_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "04dc7889f070d527080b23a60921f696" - ], - [ - "Connectives.forall_intro_3", - 1, - 2, - 1, - [ "@query" ], - 0, - "72b1ffba56718e391343550e72654a71" - ], - [ - "Connectives.forall_elim_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "f1e288dfa8455340c46855337409b950" - ], - [ - "Connectives.forall_elim_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d163e3ea535eee9f7ded35da82a97326" - ], - 0, - "82b4c2309b384cf5826940bc86362600" - ], - [ - "Connectives.forall_elim_2_desugar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d163e3ea535eee9f7ded35da82a97326" - ], - 0, - "4acaee006176dbb99e0dad80d891d933" - ], - [ - "Connectives.exists_intro_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2a6462ba4b9477e34b8a7b0105344c7" - ], - 0, - "067ea312332077dca856802f6e5a0ff0" - ], - [ - "Connectives.exists_intro_3", - 1, - 2, - 1, - [ "@query" ], - 0, - "0cf9b368273638cfa8e0f969ff579760" - ], - [ - "Connectives.exists_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" - ], - 0, - "417ca5debccbf865c6007fbb2ef69fc1" - ], - [ - "Connectives.exists_elim_alt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" - ], - 0, - "762a8bbdc22d6c59323978ba409a5b54" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/ContextPollution.fst.hints b/doc/book/code/ContextPollution.fst.hints deleted file mode 100644 index f8133e09205..00000000000 --- a/doc/book/code/ContextPollution.fst.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "÷S5\u000bZhðßPºÁ]´h\u0019œ", - [ - [ - "ContextPollution.warmup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b8e45d9d9da45ba5c9bad7262617aa9f" - ], - 0, - "b0ac69d77722006f50be713b0b890922" - ], - [ - "ContextPollution.warmup1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b8e45d9d9da45ba5c9bad7262617aa9f" - ], - 0, - "87b7419b60313b8b8453d8b8a055c863" - ], - [ - "ContextPollution.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "53eea853a29f5cdd3d4c0279de74068f" - ], - [ - "ContextPollution.warmup2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b8e45d9d9da45ba5c9bad7262617aa9f" - ], - 0, - "3991fb788eaf0bf6245882dc77edd9cc" - ], - [ - "ContextPollution.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "10824d4624f46cb3137905f40ee56121" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Divergence.fst.hints b/doc/book/code/Divergence.fst.hints deleted file mode 100644 index cc30764b2a8..00000000000 --- a/doc/book/code/Divergence.fst.hints +++ /dev/null @@ -1,354 +0,0 @@ -[ - "Š\u0012ðÛ:\u00123%[\u0010¢‘\u0005\u0002÷5", - [ - [ - "Divergence.collatz", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "552124cbe862db631f6c81cb446c955c" - ], - [ - "Divergence.last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "d2272c6ff578c137b1f3d9a853044f57" - ], - [ - "Divergence.collatz_ends_in_one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_Divergence.last", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_50732f790886afa96724b7eed66700ce", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "b7a2a43dad4b21f7cb9ca908081ac318" - ], - [ - "Divergence.collatz_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "binder_x_70c70f423c5da3add6b3671d32bcbfad_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons" - ], - 0, - "32eb20428ec677b7cd829ada9e805411" - ], - [ - "Divergence.collatz'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Divergence.collatz_spec.fuel_instrumented", - "@fuel_irrelevance_Divergence.collatz_spec.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.pos", - "equation_with_fuel_Divergence.collatz_spec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2a281f8fed74e32d77e052a3c7c218", - "refinement_interpretation_Tm_refine_c75e231937ae07b5f75917ca4d6f1c9d", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Divergence.collatz_spec" - ], - 0, - "7699dd98e225ba22bc6606b19ca4ec7a" - ], - [ - "Divergence.term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Divergence.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9480937f3aa9a22ae1f70c68b6fca798" - ], - [ - "Divergence.__proj__Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cdd50521e9c03cc2d185a28f1ee1af46" - ], - 0, - "c976b8617af683328273826143562340" - ], - [ - "Divergence.__proj__Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_412b22bcd22c0ff134f850a6e38558cd" - ], - 0, - "f0a2d6a34d046acb0193f9ed5023140c" - ], - [ - "Divergence.__proj__Lam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_111879f7c1a479de6f84866f8b3a1ca1" - ], - 0, - "84ee30e669aeedf11a31a56cb86217e3" - ], - [ - "Divergence.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f01e7d484d7a97acf2fd967415f36ddb" - ], - 0, - "a932318c3f2127490da985eb52bc9bcc" - ], - [ - "Divergence.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f01e7d484d7a97acf2fd967415f36ddb" - ], - 0, - "b75607976d71ce32268d0a81c8143dd0" - ], - [ - "Divergence.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Divergence_pretyping_2466c66f231b9f78ed0fd59decc90f33", - "binder_x_2466c66f231b9f78ed0fd59decc90f33_1", - "binder_x_2466c66f231b9f78ed0fd59decc90f33_2", - "binder_x_9092d3017d56c8b246cd36719f3e8791_0", - "disc_equation_Divergence.App", "disc_equation_Divergence.Int", - "disc_equation_Divergence.Lam", "disc_equation_Divergence.Var", - "equation_Divergence.var", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Divergence.term", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Divergence.App", "subterm_ordering_Divergence.Lam" - ], - 0, - "339c3623ba1068ad0df4fb7aca098f88" - ], - [ - "Divergence.interpret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Divergence.App", - "disc_equation_Divergence.Int", "disc_equation_Divergence.Lam", - "disc_equation_Divergence.Var", - "fuel_guarded_inversion_Divergence.term", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "732b5ae7aeb845c5477adca379503b37" - ], - [ - "Divergence.__proj__DErr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad29e06a7f7d5073ace7a1c2a3ec13f8" - ], - 0, - "9cb7cdbd91833ee3a8c16c4c69089263" - ], - [ - "Divergence.__proj__DInt__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d4850cc1f5cf9c0b93b593ebbdcbfb5" - ], - 0, - "c0aacfd02964d6e0c1eea7bab8375327" - ], - [ - "Divergence.__proj__DFun__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0d7b78c2bec10e6dab76d83ddf094d02" - ], - 0, - "644c891def4ca9fc57bda3ab000d61b5" - ], - [ - "Divergence.shift", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0abef55e7696aa91753bc103daf78015" - ], - [ - "Divergence.denote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Divergence.App", - "disc_equation_Divergence.DErr", "disc_equation_Divergence.DFun", - "disc_equation_Divergence.DInt", "disc_equation_Divergence.Int", - "disc_equation_Divergence.Lam", "disc_equation_Divergence.Var", - "fuel_guarded_inversion_Divergence.dyn", - "fuel_guarded_inversion_Divergence.term", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6d17b9d488f44c4fcdc57f05f483ad57" - ], - [ - "Divergence.div", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "365f84bd92744ec3d66cab7fd102231e" - ], - [ - "Divergence.mod", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "8483e7ebe7b57a44425f7893bd989d0f" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/FactorialTailRec.fst.hints b/doc/book/code/FactorialTailRec.fst.hints deleted file mode 100644 index 6bc869cae04..00000000000 --- a/doc/book/code/FactorialTailRec.fst.hints +++ /dev/null @@ -1,87 +0,0 @@ -[ - "s‰ZÕ´\u000b^n0\"Š®JbÀã", - [ - [ - "FactorialTailRec.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "7f2e10446ae3ed41cca83aa71dda7cb1" - ], - [ - "FactorialTailRec.factorial_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FactorialTailRec.factorial.fuel_instrumented", - "@fuel_irrelevance_FactorialTailRec.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_with_fuel_FactorialTailRec.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "bd648a18a658a28d2f3b13fa8b6daad7" - ], - [ - "FactorialTailRec.fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FactorialTailRec.factorial.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_FactorialTailRec.factorial.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FactorialTailRec.factorial" - ], - 0, - "baa61fda2f5adcda4138412611756c08" - ], - [ - "FactorialTailRec.factorial_tail_alt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FactorialTailRec.factorial.fuel_instrumented", - "@fuel_irrelevance_FactorialTailRec.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_with_fuel_FactorialTailRec.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_da367d9a9dd1b377dc5c03c935e8319e", - "well-founded-ordering-on-nat" - ], - 0, - "1ff69126f431cd16b9bd97f56d662e9c" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/GradedMonad.fst.hints b/doc/book/code/GradedMonad.fst.hints deleted file mode 100644 index e5d7394be75..00000000000 --- a/doc/book/code/GradedMonad.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "§|\u001b\në<~\u001e:1$µmô÷°", - [ - [ - "GradedMonad.monoid_nat_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7e6e11d96d05272840e66b4446ff0145" - ], - [ - "GradedMonad.count_bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a44985b7c511fba5ee2addbf6c22f4fa" - ], - 0, - "bcfa65eb42628fd0e2e08aef59f8b990" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/HintReplay.fst.hints b/doc/book/code/HintReplay.fst.hints deleted file mode 100644 index bf0269381b9..00000000000 --- a/doc/book/code/HintReplay.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "×G^\u0010ïu'š0Áq\u0004ØD\u0004)", - [ - [ - "HintReplay.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_HintReplay.Q_R", - "int_inversion", - "refinement_interpretation_Tm_refine_984721f79c47f7ae2c9a896de7ad814d" - ], - 0, - "7243f36e7f85e9e9a0583d6152ab378d" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Imp.fst.hints b/doc/book/code/Imp.fst.hints deleted file mode 100644 index aaeb607e0f1..00000000000 --- a/doc/book/code/Imp.fst.hints +++ /dev/null @@ -1,737 +0,0 @@ -[ - "|\u000fQ¿\u0014Í\u0005Ðàèÿ÷ßCr", - [ - [ - "Imp.expr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Imp.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "42f09f503c3f0aa06d9713c6679a89c2" - ], - [ - "Imp.__proj__EConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ee0151dd95678eaecf7beada8a17e653" - ], - 0, - "85aa2c1e2c91f71cbe747a18cdad341c" - ], - [ - "Imp.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4ed5fdb85c4fb68efa988f987a830813" - ], - 0, - "fa0d4852ab9efd049a69d8a02c9b4a87" - ], - [ - "Imp.__proj__EAdd__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_460abc684169718c186c821d0d52b4cb" - ], - 0, - "ed9921737c89acfd9794ee42b2797fc3" - ], - [ - "Imp.__proj__EAdd__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_460abc684169718c186c821d0d52b4cb" - ], - 0, - "778f23398501f1bc7761abedb1858e91" - ], - [ - "Imp.program", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Imp.expr__uu___haseq", - "equation_Imp.var", "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "74b9ac9e5d7fe42256e3fa8a87d7de44" - ], - [ - "Imp.__proj__Assign__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24f3d903b2f70a6191b57e87676e942f" - ], - 0, - "a98d724aab863c583c24a95850f32323" - ], - [ - "Imp.__proj__Assign__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24f3d903b2f70a6191b57e87676e942f" - ], - 0, - "d1a8e407c744b1401b7e18f62c42b47e" - ], - [ - "Imp.__proj__Seq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_063d65534be44cc74df3c9b18874f60a" - ], - 0, - "cf0451f7a6bf8bab6621964d4db4b35a" - ], - [ - "Imp.__proj__Seq__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_063d65534be44cc74df3c9b18874f60a" - ], - 0, - "b456d1a7fd1bd299c6e7a52a37251137" - ], - [ - "Imp.__proj__If__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" - ], - 0, - "8309d7b115ba0c9a3c6c129c26c7bdac" - ], - [ - "Imp.__proj__If__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" - ], - 0, - "3427b5db772125d07b20494057b1a4dd" - ], - [ - "Imp.__proj__If__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_665d3305e42df7a48ed07869813f8a22" - ], - 0, - "f4bd6d4b41809700de6bbb09e58f7d43" - ], - [ - "Imp.__proj__Repeat__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e0b69e2ca519fd63cf8349bd98f8a19" - ], - 0, - "b20b26da31cf4fa3c04648d3cb59d65c" - ], - [ - "Imp.__proj__Repeat__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e0b69e2ca519fd63cf8349bd98f8a19" - ], - 0, - "6876beb246b23e050f0c5a81c9014e6d" - ], - [ - "Imp.write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Imp.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "a638ca8de49d2fe76913fc65bb35a56c" - ], - [ - "Imp.eval_expr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_fb052f6c4c3c66eeb22e959d8a33fd25", - "binder_x_fb052f6c4c3c66eeb22e959d8a33fd25_0", - "disc_equation_Imp.EAdd", "disc_equation_Imp.EConst", - "disc_equation_Imp.EVar", "fuel_guarded_inversion_Imp.expr", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Imp.EAdd" - ], - 0, - "ea32333a7d7a1ab6611cd138a63f63b5" - ], - [ - "Imp.run", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "binder_x_3a284086cfcc3fa114223198077a3a7c_0", - "disc_equation_Imp.Assign", "disc_equation_Imp.If", - "disc_equation_Imp.Repeat", "disc_equation_Imp.Seq", - "fuel_guarded_inversion_Imp.program", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Imp.If", - "subterm_ordering_Imp.Repeat", "subterm_ordering_Imp.Seq" - ], - 0, - "7b366aa75046665edb361f3eebe83e1e" - ], - [ - "Imp.run", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3a284086cfcc3fa114223198077a3a7c_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "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, - "dfd8f212a83cd75eb297e1aaddb83c0d" - ], - [ - "Imp.assignment", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.run.fuel_instrumented", "@query", - "constructor_distinct_Imp.Assign", - "data_typing_intro_Imp.Assign@tok", - "equation_FStar.Pervasives.Native.snd", "equation_Imp.get", - "equation_Imp.op_let_Bang", "equation_Imp.put", "equation_Imp.state", - "equation_Imp.triple", "equation_Imp.write", - "equation_with_fuel_Imp.run.fuel_instrumented", - "interpretation_Tm_abs_1c589b30bea50f791246c5158bfb2fc2", - "interpretation_Tm_abs_403e815fc45b6dd6394eba21ddad5827", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "interpretation_Tm_abs_dcb09ad419491256771409b3bdba3b7d", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Imp.Assign__0", - "projection_inverse_Imp.Assign__1", "token_correspondence_Imp.run" - ], - 0, - "65cd6c7615619ab5aef4e03e14c83c89" - ], - [ - "Imp.sequence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.run.fuel_instrumented", - "@fuel_irrelevance_Imp.run.fuel_instrumented", "@query", - "Imp_interpretation_Tm_arrow_865e18de823104af1a4fe6d0c4e3034c", - "Imp_interpretation_Tm_arrow_fa6328b13d89ac63c73e1bb8fcd0092a", - "constructor_distinct_Imp.Seq", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Imp.Seq@tok", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.pattern", "equation_Imp.op_let_Bang", - "equation_Imp.st", "equation_Imp.state", "equation_Imp.triple", - "equation_with_fuel_Imp.run.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Pervasives.pattern", - "function_token_typing_Imp.run", - "interpretation_Tm_abs_8b07293d864694c4a778befb52943dc1", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "kinding_Tm_arrow_c86c60650cea6a283055d4564c5f18b5", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Imp.Seq__0", "projection_inverse_Imp.Seq__1", - "token_correspondence_Imp.run", "typing_FStar.Pervasives.Native.snd", - "unit_inversion" - ], - 0, - "87cf0554cfced942388e4de864a7df52" - ], - [ - "Imp.conditional", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.eval_expr.fuel_instrumented", - "@fuel_correspondence_Imp.run.fuel_instrumented", - "@fuel_irrelevance_Imp.run.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Imp.If", "data_typing_intro_Imp.If@tok", - "eq2-interp", "equation_Imp.get", "equation_Imp.op_let_Bang", - "equation_Imp.state", "equation_Imp.triple", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.l_not", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_Imp.run.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0978925e9dfb7372fd73ec76889e6821", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "interpretation_Tm_abs_f165e8308a265eb91466b4b648f3029c", - "interpretation_Tm_abs_f7364f48b583de389ead18360458ecbd", - "l_and-interp", "l_not-interp", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Imp.If__0", "projection_inverse_Imp.If__1", - "projection_inverse_Imp.If__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_Imp.run" - ], - 0, - "e1337ba11297eb75af3df04cea54d0d2" - ], - [ - "Imp.repeat_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.run.fuel_instrumented", - "@fuel_correspondence_Imp.run_repeat.fuel_instrumented", - "@fuel_irrelevance_Imp.run.fuel_instrumented", - "@fuel_irrelevance_Imp.run_repeat.fuel_instrumented", "@query", - "Imp_interpretation_Tm_arrow_865e18de823104af1a4fe6d0c4e3034c", - "Imp_interpretation_Tm_arrow_fa6328b13d89ac63c73e1bb8fcd0092a", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3a284086cfcc3fa114223198077a3a7c_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.pattern", "equation_Imp.op_let_Bang", - "equation_Imp.return", "equation_Imp.st", "equation_Imp.state", - "equation_Imp.triple", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Imp.run_repeat.fuel_instrumented", - "function_token_typing_FStar.Pervasives.pattern", - "function_token_typing_Imp.run", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4f9927536370100b4a3ed152b2087779", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "interpretation_Tm_abs_b0947b040792a776f784aa4800fd4b0c", - "kinding_Tm_arrow_c86c60650cea6a283055d4564c5f18b5", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Imp.run", - "token_correspondence_Imp.run_repeat", - "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" - ], - 0, - "5e7330c569099dfecaa0d52581cbf4de" - ], - [ - "Imp.repeat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.eval_expr.fuel_instrumented", - "@fuel_correspondence_Imp.run.fuel_instrumented", - "@fuel_correspondence_Imp.run_repeat.fuel_instrumented", - "@fuel_irrelevance_Imp.run_repeat.fuel_instrumented", "@query", - "constructor_distinct_Imp.Repeat", - "data_typing_intro_Imp.Repeat@tok", - "equation_FStar.Pervasives.Native.snd", "equation_Imp.get", - "equation_Imp.op_let_Bang", "equation_Imp.return", - "equation_Imp.state", "equation_Imp.triple", "equation_Prims.squash", - "equation_with_fuel_Imp.eval_expr.fuel_instrumented", - "equation_with_fuel_Imp.run.fuel_instrumented", - "interpretation_Tm_abs_333a03103379f28ee3fd6b5eee531abc", - "interpretation_Tm_abs_4f9927536370100b4a3ed152b2087779", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Imp.Repeat__0", - "projection_inverse_Imp.Repeat__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_9058f3d7ca01b29228409182fb8f347f", - "token_correspondence_Imp.run", "token_correspondence_Imp.run_repeat" - ], - 0, - "48042ebba1ce6aae0983bd9463a316b4" - ], - [ - "Imp.consequence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_interpretation_Tm_arrow_fa6328b13d89ac63c73e1bb8fcd0092a", - "equation_FStar.Pervasives.pattern", "equation_Imp.st", - "equation_Imp.state", "equation_Imp.triple", - "function_token_typing_FStar.Pervasives.pattern", - "kinding_Tm_arrow_c86c60650cea6a283055d4564c5f18b5", - "token_correspondence_Imp.run", "typing_FStar.Pervasives.Native.snd", - "typing_Imp.run" - ], - 0, - "0f3134a864700220954555219d415d34" - ], - [ - "Imp.wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "binder_x_3a284086cfcc3fa114223198077a3a7c_0", - "disc_equation_Imp.Assign", "disc_equation_Imp.If", - "disc_equation_Imp.Repeat", "disc_equation_Imp.Seq", - "equation_Prims.l_Exists", "equation_Prims.l_and", - "equation_Prims.l_imp", "equation_Prims.squash", - "equation_Prims.subtype_of", "fuel_guarded_inversion_Imp.program", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Imp.If", "subterm_ordering_Imp.Repeat", - "subterm_ordering_Imp.Seq" - ], - 0, - "8bf9cba43365262751e950c9ab50b9df" - ], - [ - "Imp.wp_soundness", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.run.fuel_instrumented", - "@fuel_correspondence_Imp.wp.fuel_instrumented", - "@fuel_irrelevance_Imp.run.fuel_instrumented", - "@fuel_irrelevance_Imp.wp.fuel_instrumented", "@query", - "Imp_interpretation_Tm_arrow_865e18de823104af1a4fe6d0c4e3034c", - "Imp_interpretation_Tm_arrow_fa6328b13d89ac63c73e1bb8fcd0092a", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2a1d870d359e88cf437d2ab207ce4313_1", - "binder_x_3a284086cfcc3fa114223198077a3a7c_0", "bool_inversion", - "constructor_distinct_Imp.Assign", "constructor_distinct_Imp.If", - "constructor_distinct_Imp.Seq", "disc_equation_Imp.Assign", - "disc_equation_Imp.If", "disc_equation_Imp.Repeat", - "disc_equation_Imp.Seq", "eq2-interp", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Pervasives.pattern", "equation_Imp.get", - "equation_Imp.op_let_Bang", "equation_Imp.put", "equation_Imp.st", - "equation_Imp.state", "equation_Imp.triple", "equation_Imp.write", - "equation_Prims.squash", - "equation_with_fuel_Imp.run.fuel_instrumented", - "equation_with_fuel_Imp.wp.fuel_instrumented", - "fuel_guarded_inversion_Imp.program", - "fuel_token_correspondence_Imp.wp.fuel_instrumented_token", - "function_token_typing_FStar.Pervasives.pattern", - "function_token_typing_Imp.run", "function_token_typing_Imp.wp", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1c589b30bea50f791246c5158bfb2fc2", - "interpretation_Tm_abs_8b07293d864694c4a778befb52943dc1", - "interpretation_Tm_abs_8bc89015ca2ab20ab6825a2e46d8c3d4", - "interpretation_Tm_abs_9f1f5397b209e0a73650aa8b037cb4f8", - "interpretation_Tm_abs_abaed23119657bee4e325085c7cc9622", - "interpretation_Tm_abs_c8a693af9549c236c68d7f236408f6eb", - "interpretation_Tm_abs_dcb09ad419491256771409b3bdba3b7d", - "interpretation_Tm_abs_f7364f48b583de389ead18360458ecbd", - "kinding_Tm_arrow_c86c60650cea6a283055d4564c5f18b5", "l_and-interp", - "l_imp-interp", "l_not-interp", - "l_quant_interp_2ab8cbe73ae70c8e3b3c04231ed8ffac", - "primitive_Prims.op_disEquality", - "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_Imp.Assign__0", - "projection_inverse_Imp.Assign__1", "projection_inverse_Imp.If__0", - "projection_inverse_Imp.If__1", "projection_inverse_Imp.If__2", - "projection_inverse_Imp.Repeat__0", - "projection_inverse_Imp.Repeat__1", "projection_inverse_Imp.Seq__0", - "projection_inverse_Imp.Seq__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_d9685cb33c48dd45b520bdd579b68e62", - "refinement_interpretation_Tm_refine_f1e0d0c460555497e1c566ca824d0ea5", - "subterm_ordering_Imp.If", "subterm_ordering_Imp.Repeat", - "subterm_ordering_Imp.Seq", "token_correspondence_Imp.run", - "token_correspondence_Imp.run.fuel_instrumented", - "token_correspondence_Imp.wp", "typing_FStar.Pervasives.Native.snd", - "typing_Imp.uu___is_Assign" - ], - 0, - "d48fd9ae3ce20a5fa56049e279041f74" - ], - [ - "Imp.wp_hoare", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_Imp.wp.fuel_instrumented", "@query", - "equation_with_fuel_Imp.wp.fuel_instrumented", - "function_token_typing_Imp.hoare", - "interpretation_Tm_abs_59d6f57d554ee91a35a8bbb42fe040da" - ], - 0, - "3ad7e8eb7e8cf265d73697ac6d77b245" - ], - [ - "Imp.hoare_consequence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Imp.triple", - "equation_Prims.squash", "function_token_typing_Imp.hoare", - "interpretation_Tm_abs_59d6f57d554ee91a35a8bbb42fe040da", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_e20a07252ee1edd0e806d00dfca967a3" - ], - 0, - "3541ea3ebd5cb5248d1d3ae25e52a39c" - ], - [ - "Imp.prog", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7a3843d915277e426615d4555b013645_0", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "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_5d36c7d6bff67807ea696704b138d2be", - "subterm_ordering_Prims.Cons" - ], - 0, - "178866082b3f36d2232f3d3e09dadf3a" - ], - [ - "Imp.prog1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Imp.x", "equation_Imp.y", - "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" - ], - 0, - "95474ff77179ec9b69d1b07a13da8b43" - ], - [ - "Imp.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.eval_expr.fuel_instrumented", - "@fuel_correspondence_Imp.prog.fuel_instrumented", - "@fuel_correspondence_Imp.wp.fuel_instrumented", - "@fuel_irrelevance_Imp.wp.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "constructor_distinct_Imp.Assign", "constructor_distinct_Imp.EAdd", - "constructor_distinct_Imp.EConst", "constructor_distinct_Imp.EVar", - "constructor_distinct_Imp.Seq", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equality_tok_Prims.T@tok", "equation_Imp.add", - "equation_Imp.c", "equation_Imp.op_Colon_Equals", - "equation_Imp.prog1", "equation_Imp.read", "equation_Imp.state", - "equation_Imp.v", "equation_Imp.var", "equation_Imp.write", - "equation_Imp.x", "equation_Imp.y", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.nat", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_Imp.eval_expr.fuel_instrumented", - "equation_with_fuel_Imp.prog.fuel_instrumented", - "equation_with_fuel_Imp.wp.fuel_instrumented", - "function_token_typing_Imp.wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_14bcf8e5155484ecb7346015fe4297e0", - "interpretation_Tm_abs_9f1f5397b209e0a73650aa8b037cb4f8", - "interpretation_Tm_abs_ff1496a3f25df33efeabb5105592e6ba", - "kinding_Imp.program@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Imp.Assign__0", - "projection_inverse_Imp.Assign__1", "projection_inverse_Imp.EAdd__0", - "projection_inverse_Imp.EAdd__1", "projection_inverse_Imp.EConst__0", - "projection_inverse_Imp.EVar__0", "projection_inverse_Imp.Seq__0", - "projection_inverse_Imp.Seq__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_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5d36c7d6bff67807ea696704b138d2be", - "token_correspondence_Imp.prog.fuel_instrumented", - "token_correspondence_Imp.wp.fuel_instrumented", "typing_Imp.add", - "typing_Imp.c", "typing_Imp.eval_expr", "typing_Imp.op_Colon_Equals", - "typing_Imp.prog1", "typing_Imp.v", "typing_Imp.y", - "typing_Tm_abs_14bcf8e5155484ecb7346015fe4297e0", - "typing_tok_Prims.T@tok" - ], - 0, - "329beea8e132f2b9e3f1a051f70e3dc8" - ], - [ - "Imp.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Imp_pretyping_3a284086cfcc3fa114223198077a3a7c", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Imp.x", "equation_Imp.y", "equation_Imp.z", - "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" - ], - 0, - "e5bb9d3d23ee943a99fb2aca213ccbfc" - ], - [ - "Imp.proof_swap", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Imp.eval_expr.fuel_instrumented", - "@fuel_correspondence_Imp.prog.fuel_instrumented", - "@fuel_correspondence_Imp.wp.fuel_instrumented", - "@fuel_irrelevance_Imp.wp.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Imp.Assign", - "constructor_distinct_Imp.EVar", "constructor_distinct_Imp.Seq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_Imp.op_Colon_Equals", "equation_Imp.read", - "equation_Imp.state", "equation_Imp.swap", "equation_Imp.v", - "equation_Imp.var", "equation_Imp.write", "equation_Imp.x", - "equation_Imp.y", "equation_Imp.z", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Prims.subtype_of", - "equation_with_fuel_Imp.eval_expr.fuel_instrumented", - "equation_with_fuel_Imp.prog.fuel_instrumented", - "equation_with_fuel_Imp.wp.fuel_instrumented", - "function_token_typing_Imp.wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_14bcf8e5155484ecb7346015fe4297e0", - "interpretation_Tm_abs_7789d58c07563e0ab221dba7f0eb9f2e", - "interpretation_Tm_abs_9f1f5397b209e0a73650aa8b037cb4f8", - "kinding_Imp.program@tok", "l_and-interp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Imp.Assign__0", - "projection_inverse_Imp.Assign__1", "projection_inverse_Imp.EVar__0", - "projection_inverse_Imp.Seq__0", "projection_inverse_Imp.Seq__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_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5d36c7d6bff67807ea696704b138d2be", - "token_correspondence_Imp.prog.fuel_instrumented", - "token_correspondence_Imp.wp.fuel_instrumented", - "typing_Imp.op_Colon_Equals", "typing_Imp.swap", "typing_Imp.v", - "typing_Imp.y", "typing_Imp.z", - "typing_Tm_abs_14bcf8e5155484ecb7346015fe4297e0" - ], - 0, - "ec1ad07ca1d5ab34a4432736ec3a9787" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/LList.fst.hints b/doc/book/code/LList.fst.hints deleted file mode 100644 index a7c2841d63f..00000000000 --- a/doc/book/code/LList.fst.hints +++ /dev/null @@ -1,124 +0,0 @@ -[ - "÷ë)Á\u000f4ÑW\u0015_<ÂÜðÂî", - [ - [ - "LList.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "cb0d436b3e0daa9a5df19f6d51c567be" - ], - [ - "LList.get", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LList.length.fuel_instrumented", - "@fuel_irrelevance_LList.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5f1b78b14df5e727835103556daf7c56_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_LList.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc78d6ee4da902ca217844de063ded48", - "token_correspondence_LList.length.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "5e4061ca7c13d0495b5b539275447a3b" - ], - [ - "LList.split_at", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LList.length.fuel_instrumented", - "@fuel_irrelevance_LList.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_81b6f9050b2c055da79810814611a4fa_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_LList.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5dd7758fba262281754aaf6b066e9f7d", - "refinement_interpretation_Tm_refine_835c0e938bc026efcf580986a9d4ae8a", - "token_correspondence_LList.length.fuel_instrumented", - "typing_LList.length", "well-founded-ordering-on-nat" - ], - 0, - "14a91eba5c43bac8b84581b78e720297" - ], - [ - "LList.append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LList.length.fuel_instrumented", - "@fuel_irrelevance_LList.length.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_LList.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a3771a7eaf8743ab6b3088b9a5ab521b", - "subterm_ordering_Prims.Cons", "typing_LList.length" - ], - 0, - "dfbb21e3271c0a0a6e2d0acec69eddfd" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Makefile b/doc/book/code/Makefile index fa279e9e213..5c065f972cf 100644 --- a/doc/book/code/Makefile +++ b/doc/book/code/Makefile @@ -1,32 +1,19 @@ -include ../../Makefile.include +FSTAR_ROOT ?= ../../.. +include $(FSTAR_ROOT)/mk/test.mk -EXCLUDE_FILES = ContextPollution.fst -FSTAR_FILES := $(filter-out $(EXCLUDE_FILES),$(wildcard *.fst *.fsti)) -OTHERFLAGS := --cache_checked_modules $(OTHERFLAGS) +FSTAR_FILES := $(filter-out ContextPollution.fst,$(FSTAR_FILES)) -all: $(addsuffix .checked, $(FSTAR_FILES)) +exercises: $(MAKE) -C exercises -.depend: - $(FSTAR) --dep full $(FSTAR_FILES) --output_deps_to .depend - -.DELETE_ON_ERROR: -include .depend - -depend: .depend - -%.checked: - $(FSTAR) --already_cached '+Prims +FStar +LowStar' $< - touch -c $@ +all: exercises wc: # Prims.fst seems to be missing here? wc -l Prims.fst $(ALL) - extract: krml -skip-compilation MemCpy.fst -tmpdir out clean: - rm -rf *.c *.h *~ *.checked *.checked.lax *.krml .depend $(MAKE) -C exercises clean diff --git a/doc/book/code/MemCpy.Deps.fst.hints b/doc/book/code/MemCpy.Deps.fst.hints deleted file mode 100644 index 89c22a15ed4..00000000000 --- a/doc/book/code/MemCpy.Deps.fst.hints +++ /dev/null @@ -1,227 +0,0 @@ -[ - "œ\u001b\r7adu†ýÑ\u0011†N\u0013T¯", - [ - [ - "MemCpy.Deps.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.buffer", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "00a85c37473bc0a84c5980b66cd023d0" - ], - [ - "MemCpy.Deps.op_Array_Access", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.buffer", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "c503c45676397ef93c85fb945001a75c" - ], - [ - "MemCpy.Deps.op_Array_Assignment", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "refinement_interpretation_Tm_refine_a021280783240e18127b965f25ba534e", - "true_interp", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "0e12c6f7855103260f0837862901bcf9" - ], - [ - "MemCpy.Deps.suffix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_145526a5766ee9986da88e2775de763f", - "refinement_interpretation_Tm_refine_45ddb0b3d669562eccc5dd636cde2d54", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "5f90aa61cbaba2df5e03cb682257ff7b" - ], - [ - "MemCpy.Deps.prefix_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.lbuffer", "equation_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", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3b85f14b6bcc9ebb32b9673974dbc0e3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "542e81102f1564bc42e0fe41413bea01" - ], - [ - "MemCpy.Deps.op_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a" - ], - 0, - "1a4bfbd49a90208ca2b88297d6c03a31" - ], - [ - "MemCpy.Deps.op_Subtraction", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96104f38e479f81983a3384aab04876a" - ], - 0, - "fb934d173422ca16bf5baeb9a93c6d56" - ], - [ - "MemCpy.Deps.malloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_MemCpy.Deps.lbuffer", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00516ea0af0c597b6ba2424073cabe68", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "352b658833ef8fd81dba6d151a8c3920" - ], - [ - "MemCpy.Deps.free", - 1, - 2, - 1, - [ "@query" ], - 0, - "eccd0ab67ef5f106f0f149711ce9249e" - ], - [ - "MemCpy.Deps.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_157c679ca9d51cc9bb422f031a12b500", - "refinement_interpretation_Tm_refine_22e1ccd34fc47b5cc110ab2d62543379", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "497cfbc12809fe3c153d84206511f115" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/MemCpy.fst.hints b/doc/book/code/MemCpy.fst.hints deleted file mode 100644 index 3d6dd2ae7eb..00000000000 --- a/doc/book/code/MemCpy.fst.hints +++ /dev/null @@ -1,151 +0,0 @@ -[ - "Õ{Xã`9\u000fÛ\rê•ÚàïÛš", - [ - [ - "MemCpy.memcpy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.lbuffer", "equation_MemCpy.Deps.op_Plus", - "equation_MemCpy.Deps.prefix_equal", "equation_MemCpy.Deps.uint32", - "equation_MemCpy.Deps.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "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_32f248878d342bbe426edbee66257854", - "refinement_interpretation_Tm_refine_37963cb0140c7099cab8a81711bc4375", - "refinement_interpretation_Tm_refine_3b85f14b6bcc9ebb32b9673974dbc0e3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_53b6024714a33a7bcd6d5f1145ae4615", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "e6d42c1f0d3a0151ce3f2d6222e14679" - ], - [ - "MemCpy.malloc_copy_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MemCpy.Deps.get", "equation_MemCpy.Deps.lbuffer", - "equation_MemCpy.Deps.prefix_equal", "equation_MemCpy.Deps.uint32", - "equation_MemCpy.Deps.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8b6f356377daf6f62f49fd59f9005e52", - "refinement_interpretation_Tm_refine_c0108b0bff1013ae344b4ea57c442a5e", - "refinement_interpretation_Tm_refine_d7b5f67a27cdf901a38794385bb4794e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.singleton", "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_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "573fdb51b126259a5e8890db7a38510f" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/MerkleTree.fst.hints b/doc/book/code/MerkleTree.fst.hints deleted file mode 100644 index 9c3462b7b4c..00000000000 --- a/doc/book/code/MerkleTree.fst.hints +++ /dev/null @@ -1,701 +0,0 @@ -[ - "E¸•a\u00136\u000fª½\"\tkOðî\u0016", - [ - [ - "MerkleTree.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.lstring", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" - ], - 0, - "fd04cc0f82fe5b53ac18e6541bf8c578" - ], - [ - "MerkleTree.mtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0e7e02251e5696787b5b3c9598793352" - ], - [ - "MerkleTree.mtree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "function_token_typing_Prims.string", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "9d2d6ebc0554149f1bd6d5599a599d79" - ], - [ - "MerkleTree.__proj__L__item__res", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" - ], - 0, - "32a744d16a8b16acdb54dc0bee131dbe" - ], - [ - "MerkleTree.__proj__N__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "f475ec1cf0ab264b4ed741bbe676b1b2" - ], - [ - "MerkleTree.__proj__N__item__hl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "44ddc66f6a5e3a5d57610efba61ad634" - ], - [ - "MerkleTree.__proj__N__item__hr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "93f68286e92b3b423345d62bd04a44f0" - ], - [ - "MerkleTree.__proj__N__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.N", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "7f90f7feaa406fb8d67e6efed32c1da4" - ], - [ - "MerkleTree.__proj__N__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.N", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "0421038d088b8ba952dc8d26d104a2eb" - ], - [ - "MerkleTree.get", - 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", "binder_x_013bc7ed5a49d4d845fcf59c9735b123_1", - "binder_x_a3feece90f603e9d20396773cb1f71ba_0", - "binder_x_a850cb8c10200f756ddc92bf03c3f56b_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MerkleTree.hash_t", "equation_MerkleTree.lstring", - "equation_MerkleTree.resource_id", "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_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "b1c7fb97129281273fdfdba4738863d2" - ], - [ - "MerkleTree.resource_with_evidence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource", - "equation_MerkleTree.resource_id", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.hash_size" - ], - 0, - "ce677f7d574b54d084483b6f70b07a75" - ], - [ - "MerkleTree.__proj__RES__item__hashes", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.RES" ], - 0, - "475564dd000e79fa76e708737fcd7590" - ], - [ - "MerkleTree.get_with_evidence", - 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", "binder_x_013bc7ed5a49d4d845fcf59c9735b123_1", - "binder_x_a3feece90f603e9d20396773cb1f71ba_0", - "binder_x_a850cb8c10200f756ddc92bf03c3f56b_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "data_elim_MerkleTree.RES", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_MerkleTree.L", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.RES_hashes", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.N_hl", - "projection_inverse_MerkleTree.N_hr", - "projection_inverse_MerkleTree.N_n", - "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", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_5c090345babf41bcf8aeaabfb366f2f1", - "refinement_interpretation_Tm_refine_bf71cd04f76315608fcad0bd7ef86dc5", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_MerkleTree.__proj__RES__item__hashes" - ], - 0, - "60ecd796d408b77d4ca8e6f0c893f8f6" - ], - [ - "MerkleTree.tail", - 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", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_MerkleTree.RES", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_MerkleTree.hash_t", "equation_MerkleTree.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_MerkleTree.RES_hashes", - "proj_equation_MerkleTree.RES_ri", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b23090d5664339e6cd9d3fc874960329", - "refinement_interpretation_Tm_refine_bf71cd04f76315608fcad0bd7ef86dc5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_MerkleTree.__proj__RES__item__ri" - ], - 0, - "d13da12441e9159e55d03da947aa7242" - ], - [ - "MerkleTree.compute_root_hash", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_73d03e9f40ce16f8687ba8630acefdc0_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MerkleTree.hash_t", "equation_MerkleTree.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.RES_ri", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bf71cd04f76315608fcad0bd7ef86dc5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "eb81e85f6d885c5dae9a013f1e0db8b4" - ], - [ - "MerkleTree.verify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "a9fb4b75abefbf7e020a10e0e4808bad" - ], - [ - "MerkleTree.correctness", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_correspondence_MerkleTree.get_with_evidence.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.get_with_evidence.fuel_instrumented", - "@query", "binder_x_013bc7ed5a49d4d845fcf59c9735b123_1", - "binder_x_a3feece90f603e9d20396773cb1f71ba_0", - "binder_x_a850cb8c10200f756ddc92bf03c3f56b_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource_id", - "equation_MerkleTree.tail", "equation_MerkleTree.verify", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MerkleTree.compute_root_hash.fuel_instrumented", - "equation_with_fuel_MerkleTree.get_with_evidence.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_MerkleTree.L_res", - "proj_equation_MerkleTree.RES_hashes", - "proj_equation_MerkleTree.RES_res", - "proj_equation_MerkleTree.RES_ri", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.N_hl", - "projection_inverse_MerkleTree.N_hr", - "projection_inverse_MerkleTree.N_left", - "projection_inverse_MerkleTree.N_n", - "projection_inverse_MerkleTree.N_right", - "projection_inverse_MerkleTree.RES_hashes", - "projection_inverse_MerkleTree.RES_res", - "projection_inverse_MerkleTree.RES_ri", - "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", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.get_with_evidence.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_MerkleTree.compute_root_hash", - "typing_MerkleTree.get_with_evidence", "unit_inversion", - "unit_typing" - ], - 0, - "8b07f2fc2d2436366a3ebc6480e28f4c" - ], - [ - "MerkleTree.hash_collision", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "11fb8954840a42d4193e8644fae5ff42" - ], - [ - "MerkleTree.hash_collision", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.hash_size" - ], - 0, - "5a0045f52a2507915b84ea413dc50107" - ], - [ - "MerkleTree.__proj__Collision__item__s2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "178cdd4f6ae704dc5aca97bde91d3cde" - ], - [ - "MerkleTree.__proj__Collision__item__s2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_MerkleTree.Collision", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_MerkleTree.hash_collision", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "primitive_Prims.op_Equality", - "proj_equation_MerkleTree.Collision_s1", - "projection_inverse_MerkleTree.Collision_s2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75a6977424548556eda82e0c801414dc", - "string_inversion", "typing_MerkleTree.hash_size" - ], - 0, - "e919e50f80f54cf2a2a6dbc113575f38" - ], - [ - "MerkleTree.security", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_correspondence_MerkleTree.get.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.get.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_a3feece90f603e9d20396773cb1f71ba_1", - "binder_x_a75d863cbdc14fb22095eccc2bb8f49e_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c499829195480fa157fc71e9e574d905_3", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_MerkleTree.N", "data_elim_MerkleTree.RES", - "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", "equation_MerkleTree.concat", - "equation_MerkleTree.hash_t", "equation_MerkleTree.lstring", - "equation_MerkleTree.resource_id", "equation_MerkleTree.tail", - "equation_MerkleTree.verify", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MerkleTree.compute_root_hash.fuel_instrumented", - "equation_with_fuel_MerkleTree.get.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_MerkleTree.L_res", - "proj_equation_MerkleTree.N_hl", "proj_equation_MerkleTree.N_hr", - "proj_equation_MerkleTree.N_left", - "proj_equation_MerkleTree.N_right", - "proj_equation_MerkleTree.RES_hashes", - "proj_equation_MerkleTree.RES_res", - "proj_equation_MerkleTree.RES_ri", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.N_hl", - "projection_inverse_MerkleTree.N_hr", - "projection_inverse_MerkleTree.N_left", - "projection_inverse_MerkleTree.N_n", - "projection_inverse_MerkleTree.N_right", - "projection_inverse_MerkleTree.RES_res", - "projection_inverse_MerkleTree.RES_ri", - "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", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_5c090345babf41bcf8aeaabfb366f2f1", - "refinement_interpretation_Tm_refine_bf71cd04f76315608fcad0bd7ef86dc5", - "refinement_interpretation_Tm_refine_e7325334c220e7ade3d5555d6842cc8a", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_MerkleTree.__proj__RES__item__hashes", - "typing_MerkleTree.__proj__RES__item__ri", - "typing_MerkleTree.verify", "well-founded-ordering-on-nat" - ], - 0, - "9dbeabcc5108c31b0d839bc09b00b335" - ], - [ - "MerkleTree.security", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_correspondence_MerkleTree.get.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.compute_root_hash.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.get.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_a3feece90f603e9d20396773cb1f71ba_1", - "binder_x_a75d863cbdc14fb22095eccc2bb8f49e_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c499829195480fa157fc71e9e574d905_3", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_MerkleTree.N", "data_elim_MerkleTree.RES", - "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", "equation_MerkleTree.concat", - "equation_MerkleTree.hash_t", "equation_MerkleTree.lstring", - "equation_MerkleTree.resource_id", "equation_MerkleTree.tail", - "equation_MerkleTree.verify", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MerkleTree.compute_root_hash.fuel_instrumented", - "equation_with_fuel_MerkleTree.get.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.resource_with_evidence", - "function_token_typing_MerkleTree.hash_t", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_MerkleTree.L_res", - "proj_equation_MerkleTree.N_hl", "proj_equation_MerkleTree.N_hr", - "proj_equation_MerkleTree.N_left", - "proj_equation_MerkleTree.N_right", - "proj_equation_MerkleTree.RES_hashes", - "proj_equation_MerkleTree.RES_res", - "proj_equation_MerkleTree.RES_ri", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.N_hl", - "projection_inverse_MerkleTree.N_hr", - "projection_inverse_MerkleTree.N_left", - "projection_inverse_MerkleTree.N_n", - "projection_inverse_MerkleTree.N_right", - "projection_inverse_MerkleTree.RES_res", - "projection_inverse_MerkleTree.RES_ri", - "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", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "refinement_interpretation_Tm_refine_5c090345babf41bcf8aeaabfb366f2f1", - "refinement_interpretation_Tm_refine_bf71cd04f76315608fcad0bd7ef86dc5", - "refinement_interpretation_Tm_refine_e7325334c220e7ade3d5555d6842cc8a", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_MerkleTree.__proj__RES__item__hashes", - "typing_MerkleTree.__proj__RES__item__ri", - "typing_MerkleTree.verify", "well-founded-ordering-on-nat" - ], - 0, - "f9004bb13a230a5f63267a7010280389" - ], - [ - "MerkleTree.update", - 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", "binder_x_013bc7ed5a49d4d845fcf59c9735b123_1", - "binder_x_a3feece90f603e9d20396773cb1f71ba_0", - "binder_x_a850cb8c10200f756ddc92bf03c3f56b_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "b1249af1ca1914c46fb657f768b6c4d8" - ], - [ - "MerkleTree.mtree'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mtree__uu___haseq", - "equation_MerkleTree.hash_t", "equation_MerkleTree.lstring", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "e13064535131dc875b75e9b01565b0a0" - ], - [ - "MerkleTree.update_mtree'", - 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", "binder_x_013bc7ed5a49d4d845fcf59c9735b123_1", - "binder_x_a3feece90f603e9d20396773cb1f71ba_0", - "binder_x_a850cb8c10200f756ddc92bf03c3f56b_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.hash_t", - "equation_MerkleTree.lstring", "equation_MerkleTree.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "9bcdce85271da52fb2cd2977c676a55a" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/MonadFunctorInference.fst.hints b/doc/book/code/MonadFunctorInference.fst.hints deleted file mode 100644 index 8769b166a6a..00000000000 --- a/doc/book/code/MonadFunctorInference.fst.hints +++ /dev/null @@ -1,63 +0,0 @@ -[ - "œó\u0005ÔFÏX\"¡ÌfÌÏrÆ\u000b", - [ - [ - "MonadFunctorInference.get_put_identity", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_MonadFunctorInference.get", - "equation_MonadFunctorInference.get_put", - "equation_MonadFunctorInference.noop", - "equation_MonadFunctorInference.op_let_Bang", - "equation_MonadFunctorInference.put", - "equation_MonadFunctorInference.return", - "equation_MonadFunctorInference.st_monad", - "interpretation_Tm_abs_1cd3aec29fb640351fe3d81d618ff192", - "interpretation_Tm_abs_4628f1461cec5c8004766c30bae7344c", - "interpretation_Tm_abs_4896c8b1c1f351c5ce7ba2d35d5b179b", - "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "interpretation_Tm_abs_8d9bae353754f2cf1392a25c9f18e2f4", - "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_MonadFunctorInference.Mkmonad_op_let_Bang", - "projection_inverse_MonadFunctorInference.Mkmonad_return", - "token_correspondence_MonadFunctorInference.op_let_Bang", - "token_correspondence_MonadFunctorInference.return" - ], - 0, - "7989842285988f29361773cc488ec8cd" - ], - [ - "MonadFunctorInference.opt_monad", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "0924830702cf47eee89f52183235bf5d" - ], - [ - "MonadFunctorInference.div", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "747d3fd7f805c516a5d641878df6b581" - ], - [ - "MonadFunctorInference.option_functor", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "e2ca5af7848e8bad4de634c58e1991ad" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Assertions.fst.hints b/doc/book/code/Part1.Assertions.fst.hints deleted file mode 100644 index c9cd3b35342..00000000000 --- a/doc/book/code/Part1.Assertions.fst.hints +++ /dev/null @@ -1,44 +0,0 @@ -[ - "Ó¢1i@Á\u0005CÝm&¨ùø/L", - [ - [ - "Part1.Assertions.sqr_is_nat", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c0e89f0334309052f8ed3f21a822df62" - ], - [ - "Part1.Assertions.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_Part1.Assertions.max", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d822f64df220e05ad8758aee6ec18b64" - ], - [ - "Part1.Assertions.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part1.Assertions.max", - "int_inversion", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c95da7a4386e40863687b300c17539f0" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.GettingOffTheGround.fst.hints b/doc/book/code/Part1.GettingOffTheGround.fst.hints deleted file mode 100644 index 477a1832e80..00000000000 --- a/doc/book/code/Part1.GettingOffTheGround.fst.hints +++ /dev/null @@ -1,179 +0,0 @@ -[ - "ø„וÛv‡Ë:}¸E­I¸w", - [ - [ - "Part1.GettingOffTheGround.incr1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f21694c7f0cc5562e41ac2234af9ce57" - ], - [ - "Part1.GettingOffTheGround.incr3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "02c5d0e94af8aae222663514355ae5de" - ], - [ - "Part1.GettingOffTheGround.incr6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c8e25369b7d1318bb4909d8aebd630ee" - ], - [ - "Part1.GettingOffTheGround.incr7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1d55c3a1fbba6b07c39795a111364c4f" - ], - [ - "Part1.GettingOffTheGround.max1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a1422dc4df56a3a1d654529a0f38536d" - ], - [ - "Part1.GettingOffTheGround.max2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part1.GettingOffTheGround.max", "int_inversion", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eba4762c30a7dcb85543b5198e14c8ad" - ], - [ - "Part1.GettingOffTheGround.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "f5f9c002cdf8cf665cf7217902030671" - ], - [ - "Part1.GettingOffTheGround.factorial1", - 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, - "942b12798c769472d70f56fe7eb23fb4" - ], - [ - "Part1.GettingOffTheGround.factorial2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d5b5e6c0ce9c3ff8d7d06b66dced3c17", - "well-founded-ordering-on-nat" - ], - 0, - "c2c543af43bd1e2aec683226094c24fc" - ], - [ - "Part1.GettingOffTheGround.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "9b8901948c0d4cbffb920f598680d0e0" - ], - [ - "Part1.GettingOffTheGround.fibonacci_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_681a474cf8ab361f1a59027d1e139ddf", - "refinement_interpretation_Tm_refine_c1bdb50d8f9d370cdbd2f36a7672c0df", - "well-founded-ordering-on-nat" - ], - 0, - "23dca035b474019a740035e12a8e121b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Inductives.fst.hints b/doc/book/code/Part1.Inductives.fst.hints deleted file mode 100644 index 82ca45d3c09..00000000000 --- a/doc/book/code/Part1.Inductives.fst.hints +++ /dev/null @@ -1,173 +0,0 @@ -[ - "\u000bûQÒÛª%k6{ú}\u0011JÇ—", - [ - [ - "Part1.Inductives.distinct", - 1, - 2, - 1, - [ "@query", "assumption_Part1.Inductives.three__uu___haseq" ], - 0, - "502a8c3d1066286c81962b2260942357" - ], - [ - "Part1.Inductives.exhaustive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Part1.Inductives.three__uu___haseq", - "equality_tok_Part1.Inductives.One_of_three@tok", - "equality_tok_Part1.Inductives.Three_of_three@tok", - "equality_tok_Part1.Inductives.Two_of_three@tok", - "fuel_guarded_inversion_Part1.Inductives.three" - ], - 0, - "f8bafda66b6235dbfd44dd470dfd6f38" - ], - [ - "Part1.Inductives.three_as_int''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part1.Inductives.One_of_three", - "disc_equation_Part1.Inductives.Three_of_three", - "disc_equation_Part1.Inductives.Two_of_three", - "fuel_guarded_inversion_Part1.Inductives.three", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "adb52997f98c9a4c77c19722f4f054c1" - ], - [ - "Part1.Inductives.only_two_as_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part1.Inductives.One_of_three", - "disc_equation_Part1.Inductives.Three_of_three", - "disc_equation_Part1.Inductives.Two_of_three", - "fuel_guarded_inversion_Part1.Inductives.three", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dcaca94b55a73b513e99c556ace9f72" - ], - 0, - "c14e19cd0a2e1a0077f7867dd65ff55e" - ], - [ - "Part1.Inductives.tup2", - 1, - 2, - 1, - [ "@query" ], - 0, - "40b5390b1178fc852b196f281b8a036e" - ], - [ - "Part1.Inductives.tup3", - 1, - 2, - 1, - [ "@query" ], - 0, - "ae94155ed4fd152e3d667fa14f787245" - ], - [ - "Part1.Inductives.try_divide", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "49506c115e86ed8ff20a358e69ac27c4" - ], - [ - "Part1.Inductives.sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_Part1.Inductives.same_case", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.int", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Inl_a", - "projection_inverse_FStar.Pervasives.Inl_b", - "projection_inverse_FStar.Pervasives.Inl_v", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_db52529ebadaa6104f132a37a54b0de4", - "typing_Part1.Inductives.same_case" - ], - 0, - "1192cfd622fe65b19a1dd96bf15d233f" - ], - [ - "Part1.Inductives.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "fbb689a90e60cd0659dbbfe95e2ec7f7" - ], - [ - "Part1.Inductives.append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_Part1.Inductives.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_4133c9ebdbc3a9e9b89ebf27e233b496", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Inductives.length.fuel_instrumented", - "typing_Part1.Inductives.length" - ], - 0, - "c82b27d587fd150a6667dc008709640d" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Lemmas.fst.hints b/doc/book/code/Part1.Lemmas.fst.hints deleted file mode 100644 index 43347557cff..00000000000 --- a/doc/book/code/Part1.Lemmas.fst.hints +++ /dev/null @@ -1,822 +0,0 @@ -[ - "\u001a£–X‡Tâue–\u000bnjni", - [ - [ - "Part1.Lemmas.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "b60bb53411b9d5dc76c850740cc4abf5" - ], - [ - "Part1.Lemmas.factorial_is_positive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.factorial.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_Part1.Lemmas.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71fd1272da6d88d7bb0d63f13ad49d11", - "well-founded-ordering-on-nat" - ], - 0, - "cb59f37ef2a7f4c87622e9b9d333f7ab" - ], - [ - "Part1.Lemmas.factorial_is_pos", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.factorial.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_ae567c2fb75be05905677af440075565_0", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_Part1.Lemmas.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_06e008d982e92b4ef982b858ebbce5e0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "97e64fec74a373e6810823dc6ee4aff1" - ], - [ - "Part1.Lemmas.factorial_is_pos", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.factorial.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_ae567c2fb75be05905677af440075565_0", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_Part1.Lemmas.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_06e008d982e92b4ef982b858ebbce5e0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "72fb6769eb858692b0b931ad6f948231" - ], - [ - "Part1.Lemmas.factorial_is_greater_than_arg", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.factorial.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_ae567c2fb75be05905677af440075565_0", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_Part1.Lemmas.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "8e6d1902a2bfc635b89c1dc9626ed4c8" - ], - [ - "Part1.Lemmas.factorial_is_greater_than_arg", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.factorial.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_ae567c2fb75be05905677af440075565_0", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_Part1.Lemmas.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "37586f7a565df0da4023309e43880447" - ], - [ - "Part1.Lemmas.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "1ad71d40551e229010beeb415ba23c19" - ], - [ - "Part1.Lemmas.fibonacci_greater_than_arg", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.fibonacci.fuel_instrumented", - "@query", "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", - "equation_Prims.nat", - "equation_with_fuel_Part1.Lemmas.fibonacci.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6e3b11334dbc3171390e156af5381cce" - ], - [ - "Part1.Lemmas.fib_greater_than_arg", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.fibonacci.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", "equation_Prims.nat", - "equation_with_fuel_Part1.Lemmas.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b2521e5978152563bc08bc5a57670b7c", - "token_correspondence_Part1.Lemmas.fibonacci.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "6074519fca17a3c8c506170dc7b60778" - ], - [ - "Part1.Lemmas.app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "de2f75e80365bb751162abd2731ea8c2" - ], - [ - "Part1.Lemmas.app_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.length.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.app.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.app.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_Part1.Inductives.length.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.app.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Part1.Inductives.length", - "typing_Part1.Lemmas.app" - ], - 0, - "42c35916fae7519c4213b7613e94fe3d" - ], - [ - "Part1.Lemmas.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "e2dd7211b361b7df8baed07e0689f4f0" - ], - [ - "Part1.Lemmas.snoc_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.reverse.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Part1.Lemmas.snoc", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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_2bfe218824093cb0229eca7dd5b8616e", - "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.reverse", - "typing_Part1.Lemmas.snoc" - ], - 0, - "cb8adb218735b04eeaadf5ae7afae473" - ], - [ - "Part1.Lemmas.rev_involutive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.reverse.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Part1.Lemmas.snoc", - "equation_with_fuel_Part1.Lemmas.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "2589a4bd25a5795f770d8ee77ef50d4e" - ], - [ - "Part1.Lemmas.snoc_injective", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_correspondence_Part1.Inductives.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_Part1.Lemmas.snoc", "equation_Prims.nat", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "equation_with_fuel_Part1.Inductives.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_2bfe218824093cb0229eca7dd5b8616e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Inductives.length.fuel_instrumented", - "typing_Part1.Lemmas.snoc" - ], - 0, - "cc97a0942a95be9c970f3600b018d137" - ], - [ - "Part1.Lemmas.snoc_injective", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_correspondence_Part1.Inductives.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_Part1.Lemmas.snoc", "equation_Prims.nat", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "equation_with_fuel_Part1.Inductives.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_2bfe218824093cb0229eca7dd5b8616e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Inductives.length.fuel_instrumented", - "typing_Part1.Lemmas.snoc" - ], - 0, - "2de1f90b51cf3be4cfba863c9917decf" - ], - [ - "Part1.Lemmas.rev_injective", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.length.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.reverse.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_Part1.Lemmas.snoc", "equation_Prims.nat", - "equation_with_fuel_Part1.Inductives.length.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_01ccdeebf7ed5468582bf0b1967db510", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "typing_Part1.Inductives.append", "typing_Part1.Inductives.length", - "typing_Part1.Lemmas.reverse" - ], - 0, - "92827f172b07a80804261036eaa7bb49" - ], - [ - "Part1.Lemmas.rev_injective_alt", - 1, - 2, - 1, - [ "@query" ], - 0, - "0fe76ec5473c38ec5a0463a3b799901c" - ], - [ - "Part1.Lemmas.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "3660b35d0118b720eb1fe3c219461856" - ], - [ - "Part1.Lemmas.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Prims.Cons" - ], - 0, - "a0a53446359ff722d72386e5cd4a00ac" - ], - [ - "Part1.Lemmas.find_alt", - 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, - "8f6bfe996eaa026bc87381e6893eed64" - ], - [ - "Part1.Lemmas.find_alt_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.find_alt.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.find_alt.fuel_instrumented", - "@query", - "Part1.Lemmas_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Lemmas_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Lemmas.find_alt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.find_alt" - ], - 0, - "b6c0a763d927206658711e3934a51818" - ], - [ - "Part1.Lemmas.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "88b2cb85d0a56970ebce20cf1a507878" - ], - [ - "Part1.Lemmas.append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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_01ccdeebf7ed5468582bf0b1967db510", - "subterm_ordering_Prims.Cons", "typing_Part1.Inductives.append" - ], - 0, - "968e61813aef10898af3530cc53b5d67" - ], - [ - "Part1.Lemmas.append_assoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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_01ccdeebf7ed5468582bf0b1967db510", - "subterm_ordering_Prims.Cons", "typing_Part1.Inductives.append" - ], - 0, - "5775b68e66a7fe94d8327f661925cc37" - ], - [ - "Part1.Lemmas.fold_left_Cons_is_rev_stronger", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.fold_left.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.fold_left.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.reverse.fuel_instrumented", "@query", - "Part1.Lemmas_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_interpretation_Tm_arrow_02c072760cbad0f5a4706f6cffab6c94", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.Cons@tok", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.fold_left.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.reverse", - "typing_tok_Prims.Cons@tok" - ], - 0, - "48d45a282b05437b6e4fff5b58a22dc6" - ], - [ - "Part1.Lemmas.append_right_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Inductives.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "e63b7df23c304678700c51b86eb14b4c" - ], - [ - "Part1.Lemmas.fold_left_Cons_is_rev", - 1, - 2, - 1, - [ "@query" ], - 0, - "097adef99ea3d3b7f76a5c160a1166e3" - ], - [ - "Part1.Lemmas.rev_aux", - 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, - "19b9c02400db95e733da2addbf42f060" - ], - [ - "Part1.Lemmas.rev_is_ok_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Inductives.append.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.rev_aux.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.reverse.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.rev_aux.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.reverse.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Inductives.append.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.rev_aux.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.reverse" - ], - 0, - "aa48ba578582f6fe51f6dd3e3a991470" - ], - [ - "Part1.Lemmas.rev_is_ok", - 1, - 2, - 1, - [ "@query", "equation_Part1.Lemmas.rev" ], - 0, - "b7b6d6c66d02369921f2896141e697ee" - ], - [ - "Part1.Lemmas.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "5d813bb94a0f61044666b4a058eeaf0d" - ], - [ - "Part1.Lemmas.fib_is_ok_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.fib.fuel_instrumented", - "@fuel_correspondence_Part1.Lemmas.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.fib.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.fibonacci.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_with_fuel_Part1.Lemmas.fib.fuel_instrumented", - "equation_with_fuel_Part1.Lemmas.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Part1.Lemmas.fibonacci", "well-founded-ordering-on-nat" - ], - 0, - "15dace3af2041032d035b112df40fc1d" - ], - [ - "Part1.Lemmas.fib_is_ok_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fcf9bc93148e2006d0c8c316f0330267" - ], - 0, - "d3977b1f4fcdf96f7fe1fbd6d42f4abf" - ], - [ - "Part1.Lemmas.fib_tail_is_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.fibonacci.fuel_instrumented", - "@query", "equation_Part1.Lemmas.fib_tail", "equation_Prims.nat", - "equation_with_fuel_Part1.Lemmas.fibonacci.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Part1.Lemmas.fibonacci" - ], - 0, - "ce1a7f0f2dc0484e2a9ec8ae8b8ca934" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Poly.fst.hints b/doc/book/code/Part1.Poly.fst.hints deleted file mode 100644 index bd273e3efcf..00000000000 --- a/doc/book/code/Part1.Poly.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Έ€Ü\u0002ÔÈœ\u0010C{&æX\u001b•", [] ] \ No newline at end of file diff --git a/doc/book/code/Part1.Poly2.fst.hints b/doc/book/code/Part1.Poly2.fst.hints deleted file mode 100644 index f94051d5cd9..00000000000 --- a/doc/book/code/Part1.Poly2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "4DŒrQ—\u007fÐÑa;²Ç\u0004¼ò", [] ] \ 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 deleted file mode 100644 index cc09180a46e..00000000000 --- a/doc/book/code/Part1.Quicksort.Generic.fst.hints +++ /dev/null @@ -1,407 +0,0 @@ -[ - "„ëI\u001cU\r¯ç\u001e\u0000\u000b•â_™8", - [ - [ - "Part1.Quicksort.Generic.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "fe1e149a48b2336518f301aa26b4ce1c" - ], - [ - "Part1.Quicksort.Generic.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "08fecfd0081f47c0d390403ca108f57d" - ], - [ - "Part1.Quicksort.Generic.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "d818e35d58097ac42326fbbd53ad5b18" - ], - [ - "Part1.Quicksort.Generic.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "62bb6f7c19762ce02e0130acee836e88" - ], - [ - "Part1.Quicksort.Generic.partition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Generic.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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", - "refinement_interpretation_Tm_refine_f2a082bde2f625edd5b2f0e46862ee3f", - "subterm_ordering_Prims.Cons", - "typing_Part1.Quicksort.Generic.length" - ], - 0, - "949c644e1b104b966a1cdcc80b1fee94" - ], - [ - "Part1.Quicksort.Generic.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.length.fuel_instrumented", - "@query", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_272f158204a260203afbc35487f50fd8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Generic.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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", - "refinement_interpretation_Tm_refine_8172c0e1bf7a9f7f9df2f27460ce7fcb", - "refinement_interpretation_Tm_refine_e50929a0061f8642e615d7cf8934cf67", - "token_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Generic.length", - "typing_Part1.Quicksort.Generic.partition", - "well-founded-ordering-on-nat" - ], - 0, - "7fb70f4d4982ae296a5678da704b9af7" - ], - [ - "Part1.Quicksort.Generic.partition_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.partition.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.partition.fuel_instrumented", - "@query", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Generic.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e50929a0061f8642e615d7cf8934cf67", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.Generic.mem", - "typing_Part1.Quicksort.Generic.partition" - ], - 0, - "9c79b5a95446754496d022524a15f9d3" - ], - [ - "Part1.Quicksort.Generic.sorted_concat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "@query", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_030266a909954f665c615d0ca70db39c_2", - "binder_x_030266a909954f665c615d0ca70db39c_3", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_920bc134cb5e80325bb0f9aa01a4676b_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Generic.total_order", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Generic.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b14dc50d9bbfbf567090cfb08b6840f", - "refinement_interpretation_Tm_refine_8172c0e1bf7a9f7f9df2f27460ce7fcb", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "typing_Part1.Quicksort.Generic.append", - "typing_Part1.Quicksort.Generic.mem", - "typing_Part1.Quicksort.Generic.sorted" - ], - 0, - "635ae05b6e38f642ba975aaf2a93944b" - ], - [ - "Part1.Quicksort.Generic.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Generic.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "typing_Part1.Quicksort.Generic.append", - "typing_Part1.Quicksort.Generic.mem" - ], - 0, - "8f7b5f9b534d54751e00830ee1b924d6" - ], - [ - "Part1.Quicksort.Generic.sort_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.partition.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.sort.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.sort.fuel_instrumented", - "@query", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_920bc134cb5e80325bb0f9aa01a4676b_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Generic.total_order", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Generic.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.partition.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.sort.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8172c0e1bf7a9f7f9df2f27460ce7fcb", - "refinement_interpretation_Tm_refine_e50929a0061f8642e615d7cf8934cf67", - "token_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Generic.append", - "typing_Part1.Quicksort.Generic.length", - "typing_Part1.Quicksort.Generic.mem", - "typing_Part1.Quicksort.Generic.partition", - "typing_Part1.Quicksort.Generic.sort", - "typing_Part1.Quicksort.Generic.sorted", - "well-founded-ordering-on-nat" - ], - 0, - "f01624ba56b99060aca00524e0c30279" - ], - [ - "Part1.Quicksort.Generic.sort_intrinsic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Generic.mem.fuel_instrumented", - "@query", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Generic_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_920bc134cb5e80325bb0f9aa01a4676b_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Generic.total_order", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Generic.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_2a628df53578a19acca6d341627a7953", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_468ad2aa6e60181b1fbc8dc552e20884", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6b14dc50d9bbfbf567090cfb08b6840f", - "refinement_interpretation_Tm_refine_8172c0e1bf7a9f7f9df2f27460ce7fcb", - "refinement_interpretation_Tm_refine_9490cd36245e08759a41474e99a8fdda", - "refinement_interpretation_Tm_refine_e50929a0061f8642e615d7cf8934cf67", - "token_correspondence_Part1.Quicksort.Generic.length.fuel_instrumented", - "token_correspondence_Part1.Quicksort.Generic.sorted.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Generic.length", - "typing_Part1.Quicksort.Generic.mem", - "typing_Part1.Quicksort.Generic.partition", - "typing_Part1.Quicksort.Generic.sort_intrinsic", - "well-founded-ordering-on-nat" - ], - 0, - "50d6029b7458d41298b7b8e18bc11ad5" - ] - ] -] \ 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 deleted file mode 100644 index 19339b353ff..00000000000 --- a/doc/book/code/Part1.Quicksort.Main.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "²Á´1;•!*‘öÖ>\u0013¸Ä_", - [ - [ - "Part1.Quicksort.Main.main", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part1.Quicksort.Generic.total_order", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_LessThanOrEqual" - ], - 0, - "655348b28f382718af228de9f7c546e5" - ], - [ - "Part1.Quicksort.Main.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part1.Quicksort.Generic.total_order", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_LessThanOrEqual" - ], - 0, - "f77fa881c7ffa51c56e931005a8c7ca6" - ] - ] -] \ 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 deleted file mode 100644 index f379c649798..00000000000 --- a/doc/book/code/Part1.Quicksort.Permutation.fst.hints +++ /dev/null @@ -1,460 +0,0 @@ -[ - "ŸH#Y÷ƶò;^·¼_<×m", - [ - [ - "Part1.Quicksort.Permutation.length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "4d28f0b71f8597347a56edc5b89c59a0" - ], - [ - "Part1.Quicksort.Permutation.append", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "15b86aae03a49f3aabbfc1a1fe8c355e" - ], - [ - "Part1.Quicksort.Permutation.sorted", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "69993d32e3f333953072f98f49ffb47c" - ], - [ - "Part1.Quicksort.Permutation.count", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "73ad17fb8e10e083c5ce10cacbad0a1d" - ], - [ - "Part1.Quicksort.Permutation.is_permutation", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9809cc8fcceba73cff7a1911a0d634d7" - ], - [ - "Part1.Quicksort.Permutation.append_count", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "typing_Part1.Quicksort.Permutation.append", - "typing_Part1.Quicksort.Permutation.count" - ], - 0, - "e3a0b851676233168d1a2eecc805b409" - ], - [ - "Part1.Quicksort.Permutation.partition", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_68c2771ad096acf1a33353fb1ab0f9a2", - "subterm_ordering_Prims.Cons" - ], - 0, - "cb68147293811fe232525bce10159c5d" - ], - [ - "Part1.Quicksort.Permutation.sort", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@query", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_aadb52cb1fead81cab1df1b6e399ea23_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_520143911552b0bde23024f0f0107c00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "token_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Permutation.length", - "typing_Part1.Quicksort.Permutation.partition", - "well-founded-ordering-on-nat" - ], - 0, - "6841fe31e1f77dddfe6dde8fe8fbbae4" - ], - [ - "Part1.Quicksort.Permutation.partition_mem_permutation", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.partition.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.partition.fuel_instrumented", - "@query", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Permutation.is_permutation", - "equation_Part1.Quicksort.Permutation.mem", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_520143911552b0bde23024f0f0107c00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.Permutation.append", - "typing_Part1.Quicksort.Permutation.count", - "typing_Part1.Quicksort.Permutation.mem", - "typing_Part1.Quicksort.Permutation.partition" - ], - 0, - "b5c04a476a816c8759e1b34a3b6d6ff3" - ], - [ - "Part1.Quicksort.Permutation.sorted_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_5b142d990afe4bed9b104d21b66668f7_2", - "binder_x_5b142d990afe4bed9b104d21b66668f7_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ff9cdd89c62d80d6b696a0135e048350_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Permutation.mem", - "equation_Part1.Quicksort.Permutation.total_order", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "refinement_interpretation_Tm_refine_eb88d5d94df2892cb0c94e9f2d68d2a9", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "token_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "typing_Part1.Quicksort.Permutation.append", - "typing_Part1.Quicksort.Permutation.count", - "typing_Part1.Quicksort.Permutation.mem", - "typing_Part1.Quicksort.Permutation.sorted" - ], - 0, - "8c6ffc21c6591715bf89ee4714153633" - ], - [ - "Part1.Quicksort.Permutation.permutation_app_lemma", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_Part1.Quicksort.Permutation.is_permutation", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Part1.Quicksort.Permutation.count" - ], - 0, - "7f1543ccdb7f606ee25a3db039270d31" - ], - [ - "Part1.Quicksort.Permutation.sort_correct", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.sort.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.sort.fuel_instrumented", - "@query", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ff9cdd89c62d80d6b696a0135e048350_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Permutation.is_permutation", - "equation_Part1.Quicksort.Permutation.mem", - "equation_Part1.Quicksort.Permutation.total_order", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.sort.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "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_520143911552b0bde23024f0f0107c00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "token_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Permutation.count", - "typing_Part1.Quicksort.Permutation.length", - "typing_Part1.Quicksort.Permutation.partition", - "typing_Part1.Quicksort.Permutation.sort", - "well-founded-ordering-on-nat" - ], - 0, - "c7c8f396dedd10f15b7837ad1b10af1b" - ], - [ - "Part1.Quicksort.Permutation.sort_intrinsic", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@query", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ff9cdd89c62d80d6b696a0135e048350_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Permutation.is_permutation", - "equation_Part1.Quicksort.Permutation.mem", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_520143911552b0bde23024f0f0107c00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "refinement_interpretation_Tm_refine_d4131b409c1764716b009cfd9d4a775f", - "token_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Permutation.length", - "typing_Part1.Quicksort.Permutation.partition", - "well-founded-ordering-on-nat" - ], - 0, - "04bc1a3b26e8a9ce18513a036dcdba57" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Quicksort.fst.hints b/doc/book/code/Part1.Quicksort.fst.hints deleted file mode 100644 index 7d1631b783c..00000000000 --- a/doc/book/code/Part1.Quicksort.fst.hints +++ /dev/null @@ -1,556 +0,0 @@ -[ - "1\u0011£ÇÊßØ5ßÉ“aÔ$œ", - [ - [ - "Part1.Quicksort.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "c49702084ce6e25f6fb3c10c294d73aa" - ], - [ - "Part1.Quicksort.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6d77dc28d9c9db18ef3b802d880a0640" - ], - [ - "Part1.Quicksort.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "72ebb52b34682ffa9d9c394c09961f46" - ], - [ - "Part1.Quicksort.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "a01d504d455dcf5ead9b640098c9e5f4" - ], - [ - "Part1.Quicksort.partition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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", - "refinement_interpretation_Tm_refine_b8d87cd6b298054305c130038c8ae7e4", - "subterm_ordering_Prims.Cons", "typing_Part1.Quicksort.length" - ], - 0, - "35a8a94470d37fc6708552327755fdb5" - ], - [ - "Part1.Quicksort.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@query", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_typing", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_tot_fun_Prims.op_LessThanOrEqual.1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.length", "typing_Part1.Quicksort.partition", - "well-founded-ordering-on-nat" - ], - 0, - "59d13d7d0858350903e7e81b568e394f" - ], - [ - "Part1.Quicksort.partition_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.partition.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.partition.fuel_instrumented", - "@query", - "Part1.Quicksort_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Part1.Quicksort.mem", - "typing_Part1.Quicksort.partition" - ], - 0, - "ca9aaea22082ce5445e71ecba1625806" - ], - [ - "Part1.Quicksort.sorted_concat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_e154df2ac5fa6835f226ce319e6f1dc7_0", - "binder_x_e154df2ac5fa6835f226ce319e6f1dc7_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_Part1.Quicksort.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cf424b0b6558ef5b538b99dffdb0e0f5", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "typing_Part1.Quicksort.append", "typing_Part1.Quicksort.mem", - "typing_Part1.Quicksort.sorted" - ], - 0, - "19377cdb6a45c70cd5f7b55bc427f037" - ], - [ - "Part1.Quicksort.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Part1.Quicksort.append", - "typing_Part1.Quicksort.mem" - ], - 0, - "fca0a1edf3f3f9cd4f541a70c549cd32" - ], - [ - "Part1.Quicksort.sort_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.partition.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sort.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.sort.fuel_instrumented", "@query", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.partition.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sort.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_tot_fun_Prims.op_LessThanOrEqual.1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.append", "typing_Part1.Quicksort.length", - "typing_Part1.Quicksort.mem", "typing_Part1.Quicksort.partition", - "typing_Part1.Quicksort.sort", "typing_Part1.Quicksort.sorted", - "well-founded-ordering-on-nat" - ], - 0, - "9d266172ae2d8537d10d800643dd94b0" - ], - [ - "Part1.Quicksort.sort_correct_annotated", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sort.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.sort.fuel_instrumented", "@query", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.sort_ok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sort.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_tot_fun_Prims.op_LessThanOrEqual.1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "token_correspondence_Prims.op_LessThanOrEqual", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.length", "typing_Part1.Quicksort.mem", - "typing_Part1.Quicksort.partition", "typing_Part1.Quicksort.sort", - "typing_Part1.Quicksort.sorted", "well-founded-ordering-on-nat" - ], - 0, - "d3c3898f00b2ef21f65a7280f24dfba7" - ], - [ - "Part1.Quicksort.sort_alt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@query", - "Part1.Quicksort_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.length", "typing_Part1.Quicksort.partition", - "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", - "well-founded-ordering-on-nat" - ], - 0, - "536c2f6ca378f755fa258448190effc6" - ], - [ - "Part1.Quicksort.sort_alt_correct_annotated", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sort_alt.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", "@query", - "Part1.Quicksort_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.sort_alt_ok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sort_alt.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "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.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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.length", "typing_Part1.Quicksort.mem", - "typing_Part1.Quicksort.partition", - "typing_Part1.Quicksort.sort_alt", "typing_Part1.Quicksort.sorted", - "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", - "well-founded-ordering-on-nat" - ], - 0, - "3beed8f8c8c7574e13725b55940e088c" - ], - [ - "Part1.Quicksort.sort_intrinsic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.length.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.mem.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.mem.fuel_instrumented", "@query", - "Part1.Quicksort_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "Part1.Quicksort_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.length.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.mem.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "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.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_1ba1eca76cb7e088940aafefda89362f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9beea1c00a17b9425cd520d20edc322", - "refinement_interpretation_Tm_refine_cf424b0b6558ef5b538b99dffdb0e0f5", - "token_correspondence_Part1.Quicksort.sorted.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Part1.Quicksort.length", "typing_Part1.Quicksort.mem", - "typing_Part1.Quicksort.partition", - "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", - "well-founded-ordering-on-nat" - ], - 0, - "596b548a1904506521c3c12033ef1769" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part1.Termination.fst.hints b/doc/book/code/Part1.Termination.fst.hints deleted file mode 100644 index f662910e495..00000000000 --- a/doc/book/code/Part1.Termination.fst.hints +++ /dev/null @@ -1,173 +0,0 @@ -[ - "ºmþqÕ^À͉ìÄ,Ï°…+", - [ - [ - "Part1.Termination.ackermann", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "1107725d17a26a8804b761afa33846a3" - ], - [ - "Part1.Termination.ackermann_flip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "8bfbd5498100fd694eef3ea58224baaf" - ], - [ - "Part1.Termination.foo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "ceb54a8fb24c0f8e9167e031634232cf" - ], - [ - "Part1.Termination.foo", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.op_Equals_Equals_Equals", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" - ], - 0, - "644f260f48f0c3589a061118d474be0c" - ], - [ - "Part1.Termination.tree", - 1, - 2, - 1, - [ "@query" ], - 0, - "f307253d262623dcf5d336d68d9f751a" - ], - [ - "Part1.Termination.__proj__Internal__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1562eeda39b5f0555cca09e4ece39857" - ], - 0, - "fe1c7f7e65f69b6f299bf1115737a8ce" - ], - [ - "Part1.Termination.incr_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part1.Termination_pretyping_3474e9046fbbc208d7db6dd070b571d5", - "binder_x_3474e9046fbbc208d7db6dd070b571d5_0", - "disc_equation_Part1.Termination.Internal", - "disc_equation_Part1.Termination.Terminal", - "equality_tok_Part1.Termination.Terminal@tok", - "fuel_guarded_inversion_Part1.Termination.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part1.Termination.Internal", - "typing_tok_Part1.Termination.Terminal@tok" - ], - 0, - "66a13bf507024a03ed914e3a96f51827" - ], - [ - "Part1.Termination.incr_tree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part1.Termination_pretyping_3474e9046fbbc208d7db6dd070b571d5", - "Part1.Termination_pretyping_e59fcaf537966801db09fd39a15b984b", - "binder_x_e59fcaf537966801db09fd39a15b984b_0", - "equality_tok_Part1.Termination.Terminal@tok", - "fuel_guarded_inversion_Part1.Termination.node", - "proj_equation_Part1.Termination.Mknode_left", - "proj_equation_Part1.Termination.Mknode_right", - "subterm_ordering_Part1.Termination.Mknode", - "typing_tok_Part1.Termination.Terminal@tok" - ], - 0, - "f32f01d56c1e84f7e3bfd56ac199ff5f" - ], - [ - "Part1.Termination.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c25ab11ae4542a4ed1880b2781698d23" - ], - [ - "Part1.Termination.rev_aux", - 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, - "a6d0a4c6ed27238d9ee4851326a8f70b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.Free.fst.hints b/doc/book/code/Part2.Free.fst.hints deleted file mode 100644 index 6abfbd52b0f..00000000000 --- a/doc/book/code/Part2.Free.fst.hints +++ /dev/null @@ -1,479 +0,0 @@ -[ - "“¶'ºv\u0004¯Dø\u007fŸ³\u0010ý³Å", - [ - [ - "Part2.Free.input_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Free.Read", - "disc_equation_Part2.Free.Write", - "fuel_guarded_inversion_Part2.Free.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e5f669032268436738589d2829a308bb" - ], - [ - "Part2.Free.output_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Free.Read", - "disc_equation_Part2.Free.Write", - "fuel_guarded_inversion_Part2.Free.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a1a3d817724127f5101138cd3aa9aa41" - ], - [ - "Part2.Free.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d0470c21c90bb5572aec576a7d2ec2c8" - ], - 0, - "a651e2ce05dc6c5c4ee1e11777a0c25b" - ], - [ - "Part2.Free.__proj__DoThen__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eaa2744753f30789855f30670ce233d3" - ], - 0, - "c10cb7e5ba6c0b19cab77fa15dca1cd7" - ], - [ - "Part2.Free.__proj__DoThen__item__input", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.Free.action_class", - "proj_equation_Part2.Free.DoThen_act", - "proj_equation_Part2.Free.Mkaction_class_input_of", - "projection_inverse_Part2.Free.DoThen_act", - "refinement_interpretation_Tm_refine_eaa2744753f30789855f30670ce233d3", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__input_of" - ], - 0, - "275c1478f2165bbe65af635563bfd7a9" - ], - [ - "Part2.Free.__proj__DoThen__item__continue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.Free.action_class", - "proj_equation_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_act", - "refinement_interpretation_Tm_refine_eaa2744753f30789855f30670ce233d3" - ], - 0, - "c46060b1d2ca2fa9038bfd0f99a70556" - ], - [ - "Part2.Free.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_4", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "20421c31b1416c2c37e332f5403b0dd9" - ], - [ - "Part2.Free.equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_3", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "equation_Prims.op_Equals_Equals_Equals", - "proj_equation_Part2.Free.Mkaction_class_input_of", - "proj_equation_Part2.Free.Mkaction_class_output_of", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__input_of", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "e74e2271d2f8f5bf716750c51d38303b" - ], - [ - "Part2.Free.equiv_refl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", "@query", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_3", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", "l_and-interp", - "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_2b32fa4057ca59c1d7d4d64bcb683e4c", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "9f398d47b8415783914c055840114168" - ], - [ - "Part2.Free.equiv_sym", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", "@query", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_3", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_4", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Prims.l_and", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", "l_and-interp", - "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Part2.Free.Mkaction_class_output_of", - "proj_equation_Part2.Free.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_a5230dc05a8db2bb92d8109b0d6298a3", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "cb5e6b9f7331ec23cb2e035c4ca42045" - ], - [ - "Part2.Free.equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", "@query", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_3", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_4", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_5", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Prims.l_and", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", "l_and-interp", - "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_Part2.Free.Mkaction_class_output_of", - "proj_equation_Part2.Free.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_a5230dc05a8db2bb92d8109b0d6298a3", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "10e75b03ff7f0db6390657096d130031" - ], - [ - "Part2.Free.right_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.bind.fuel_instrumented", "@query", - "constructor_distinct_Part2.Free.Return", - "equation_Part2.Free.return", - "equation_with_fuel_Part2.Free.bind.fuel_instrumented", - "fuel_guarded_inversion_Part2.Free.action_class", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", "typing_Part2.Free.return" - ], - 0, - "c818186b46edfccf4d0db947e659c5d8" - ], - [ - "Part2.Free.left_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.bind.fuel_instrumented", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", "@query", - "Part2.Free_interpretation_Tm_arrow_6e9b7c7bb73e15efde0dbafa57f6f723", - "Part2.Free_interpretation_Tm_arrow_83073a44dcff03eed6d8e64d82410c99", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_3", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Part2.Free.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.Free.bind.fuel_instrumented", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", - "function_token_typing_Part2.Free.return", - "interpretation_Tm_abs_00754ba46bd155c755cd50c3b32ac525", - "l_and-interp", "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_8baf35f87cbdd7166980d7b79c8009f2", - "token_correspondence_Part2.Free.return", "typing_Part2.Free.bind", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "1a6a1e9525cc259a80ed70a4df867ac0" - ], - [ - "Part2.Free.assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.bind.fuel_instrumented", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", "@query", - "Part2.Free_interpretation_Tm_arrow_1e1a94fda298910fd9121705121c3688", - "Part2.Free_interpretation_Tm_arrow_4e858267a6003d159eab7e1a06cbc51a", - "Part2.Free_interpretation_Tm_arrow_6e9b7c7bb73e15efde0dbafa57f6f723", - "Part2.Free_interpretation_Tm_arrow_f61416e68acd892bc0bb756f7869da43", - "Part2.Free_pretyping_754318203b96e680868fb3d87cedf279", - "binder_x_5be52937da896ceb4a1476b4b3ecb2f9_5", - "binder_x_754318203b96e680868fb3d87cedf279_1", - "binder_x_c993c975897d05852bbe2432a9faee34_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fefa7b88164e924d790b7074c3447d78_7", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Part2.Free.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.Free.bind.fuel_instrumented", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.Free.action_class", - "fuel_guarded_inversion_Part2.Free.tree", - "interpretation_Tm_abs_00754ba46bd155c755cd50c3b32ac525", - "l_and-interp", "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "proj_equation_Part2.Free.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_57627e4790640ec6a7eca66e1732fd8b", - "typing_Part2.Free.bind", - "typing_Tm_abs_5baf9c1bdccc8aec070b6b64bcf81545", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "f79f3764a7372e55140f97b6e0451844" - ], - [ - "Part2.Free.interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Free_pretyping_69129c24deb5453953d5b5c0ea5451a1", - "binder_x_6c49a65caa0ba53654e7760337b0ed1e_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_Part2.Free.Read", - "constructor_distinct_Part2.Free.Write", - "data_elim_Part2.Free.DoThen", - "data_typing_intro_Part2.Free.Write@tok", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Read", - "disc_equation_Part2.Free.Return", "disc_equation_Part2.Free.Write", - "equality_tok_Part2.Free.Read@tok", - "equality_tok_Part2.Free.Write@tok", "equation_Part2.Free.output_of", - "equation_Part2.Free.rw_action_class", - "fuel_guarded_inversion_Part2.Free.rw", - "fuel_guarded_inversion_Part2.Free.tree", "int_inversion", - "proj_equation_Part2.Free.DoThen_act", - "proj_equation_Part2.Free.Mkaction_class_output_of", - "proj_equation_Part2.Free.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.Mkaction_class_output_of", - "projection_inverse_Part2.Free.Mkaction_class_t", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.Free.output_of", "unit_typing", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "0af63068eb68615a90956349290a2413" - ], - [ - "Part2.Free.interp_equiv", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.Free.equiv.fuel_instrumented", - "@fuel_correspondence_Part2.Free.interp.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.Free.interp.fuel_instrumented", "@query", - "Part2.Free_pretyping_69129c24deb5453953d5b5c0ea5451a1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6c49a65caa0ba53654e7760337b0ed1e_1", - "binder_x_6c49a65caa0ba53654e7760337b0ed1e_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Part2.Free.DoThen", - "constructor_distinct_Part2.Free.Return", - "data_typing_intro_Part2.Free.Write@tok", - "disc_equation_Part2.Free.DoThen", "disc_equation_Part2.Free.Return", - "eq2-interp", "equation_Part2.Free.feq", - "equation_Part2.Free.input_of", "equation_Part2.Free.output_of", - "equation_Part2.Free.rw_action_class", - "equation_with_fuel_Part2.Free.equiv.fuel_instrumented", - "equation_with_fuel_Part2.Free.interp.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Part2.Free.rw", - "fuel_guarded_inversion_Part2.Free.tree", - "fuel_token_correspondence_Part2.Free.interp.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_018d8684cb5d0984784642ef85488503", - "l_and-interp", "l_quant_interp_147662b6d17a607c9ba539d9be309d4f", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Part2.Free.Mkaction_class_input_of", - "proj_equation_Part2.Free.Mkaction_class_output_of", - "proj_equation_Part2.Free.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.Free.DoThen_a", - "projection_inverse_Part2.Free.DoThen_act", - "projection_inverse_Part2.Free.DoThen_acts", - "projection_inverse_Part2.Free.DoThen_continue", - "projection_inverse_Part2.Free.DoThen_input", - "projection_inverse_Part2.Free.Mkaction_class_input_of", - "projection_inverse_Part2.Free.Mkaction_class_output_of", - "projection_inverse_Part2.Free.Mkaction_class_t", - "projection_inverse_Part2.Free.Return_a", - "projection_inverse_Part2.Free.Return_acts", - "projection_inverse_Part2.Free.Return_x", - "refinement_interpretation_Tm_refine_6eb7fb4db839ba96b10121ca1762e465", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__input_of", - "token_correspondence_Part2.Free.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.Free.input_of", - "token_correspondence_Part2.Free.output_of", - "typing_Part2.Free.rw_action_class", "unit_typing", - "well_founded_ordering_on_codomain_Part2.Free.DoThen" - ], - 0, - "54d087b221565245ca2a9f32e8ade55a" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.FreeFunExt.fst.hints b/doc/book/code/Part2.FreeFunExt.fst.hints deleted file mode 100644 index b2588def51a..00000000000 --- a/doc/book/code/Part2.FreeFunExt.fst.hints +++ /dev/null @@ -1,512 +0,0 @@ -[ - "Mr{Ô°^\u000bvµ2\u0011™Y8s", - [ - [ - "Part2.FreeFunExt.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_976fbe440c65ea1a6802f2e2f85d2641" - ], - 0, - "ec18155799d630cd32d0fbbbdbb761a1" - ], - [ - "Part2.FreeFunExt.__proj__DoThen__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" - ], - 0, - "e766f28e0c04dc74631f0038bd95812a" - ], - [ - "Part2.FreeFunExt.__proj__DoThen__item__input", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" - ], - 0, - "3c9831cdb25300938f6ae6e11c9da68c" - ], - [ - "Part2.FreeFunExt.__proj__DoThen__item__continue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b92ee21a145a10bf2628fc50d692aa7" - ], - 0, - "d6b9f62d084d00cae3cb8b01ce48f40b" - ], - [ - "Part2.FreeFunExt.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_4", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "092b9a6404b64afe633b94eda396a96e" - ], - [ - "Part2.FreeFunExt.equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "equation_Prims.op_Equals_Equals_Equals", - "proj_equation_Part2.FreeFunExt.Mkaction_class_input_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__input_of", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "1a8004cd128d86d3bbf81bc182a9b83a" - ], - [ - "Part2.FreeFunExt.equiv_refl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", "l_and-interp", - "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_a8011c46ac4d19519dca816953b1d5e6", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "c66289366d6e13ac4f5a39763459cd04" - ], - [ - "Part2.FreeFunExt.equiv_sym", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_4", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", "l_and-interp", - "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_3a002d3f3030bf18ae2b4f77cbba68cb", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "4c2efa3ab3a07822873909b1ef2f4c35" - ], - [ - "Part2.FreeFunExt.equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_4", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_5", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", "l_and-interp", - "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_3a002d3f3030bf18ae2b4f77cbba68cb", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "71fbd0846f6bcdb1b17655a9d6fa9f03" - ], - [ - "Part2.FreeFunExt.equiv_is_equal", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_4", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", "l_and-interp", - "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_188c181132a6c971121a794b4763bf49", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "c6dd409720a86edb9702ab8a87edc5ec" - ], - [ - "Part2.FreeFunExt.right_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.bind.fuel_instrumented", - "@query", "constructor_distinct_Part2.FreeFunExt.Return", - "equation_Part2.FreeFunExt.return", - "equation_with_fuel_Part2.FreeFunExt.bind.fuel_instrumented", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "typing_Part2.FreeFunExt.return" - ], - 0, - "cbc81eb4acd461a317f5cd1af9870714" - ], - [ - "Part2.FreeFunExt.left_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.bind.fuel_instrumented", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Part2.FreeFunExt_interpretation_Tm_arrow_526da054472c56fdcdffcdd6686b1a6a", - "Part2.FreeFunExt_interpretation_Tm_arrow_7a7e74dab0351e23c840eb7ba7753f8d", - "Part2.FreeFunExt_interpretation_Tm_arrow_8ca14698735c9bed7bbf9524560f571e", - "Part2.FreeFunExt_interpretation_Tm_arrow_8cec5521d0c1bd6a0069e43fcf68d5d8", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_3", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "data_elim_Part2.FreeFunExt.Mkaction_class", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Part2.FreeFunExt.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.bind.fuel_instrumented", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", - "function_token_typing_Part2.FreeFunExt.return", - "interpretation_Tm_abs_2e0e6cee54332c21db3dc0113c152955", - "interpretation_Tm_abs_f3dd695e9d8e4ae8a55c141caca4d6a0", - "l_and-interp", "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_4b20a0fc2b21b117c9ad5156c1e9d86f", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.FreeFunExt.return", - "typing_Part2.FreeFunExt.bind", - "typing_Tm_abs_2e0e6cee54332c21db3dc0113c152955", - "typing_Tm_abs_f3dd695e9d8e4ae8a55c141caca4d6a0", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "9e097aa903b3219bca6295842043abe6" - ], - [ - "Part2.FreeFunExt.assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.FreeFunExt.bind.fuel_instrumented", - "@fuel_correspondence_Part2.FreeFunExt.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.FreeFunExt.equiv.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Part2.FreeFunExt_interpretation_Tm_arrow_6035d698429469fd480bfca79aa3ca12", - "Part2.FreeFunExt_interpretation_Tm_arrow_706a57c9ab1a0ce6e0325b9db8d079cc", - "Part2.FreeFunExt_interpretation_Tm_arrow_7a7e74dab0351e23c840eb7ba7753f8d", - "Part2.FreeFunExt_interpretation_Tm_arrow_7e09c5fa362affd926fd2f7f38bb9ad1", - "Part2.FreeFunExt_interpretation_Tm_arrow_8ca14698735c9bed7bbf9524560f571e", - "Part2.FreeFunExt_interpretation_Tm_arrow_8cec5521d0c1bd6a0069e43fcf68d5d8", - "Part2.FreeFunExt_pretyping_cbc99bde556045e213615f6430518da0", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_3d116c7319e6439fd3dfd85da785aa5b_6", - "binder_x_548ad999b39f17678a3a020254abb945_7", - "binder_x_717869cbe03a1d59e9cd18d63723aa4f_5", - "binder_x_cbc99bde556045e213615f6430518da0_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "constructor_distinct_Part2.FreeFunExt.DoThen", - "constructor_distinct_Part2.FreeFunExt.Return", - "data_elim_Part2.FreeFunExt.Mkaction_class", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Return", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Part2.FreeFunExt.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.FreeFunExt.bind.fuel_instrumented", - "equation_with_fuel_Part2.FreeFunExt.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.FreeFunExt.action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", - "interpretation_Tm_abs_2e0e6cee54332c21db3dc0113c152955", - "interpretation_Tm_abs_f3dd695e9d8e4ae8a55c141caca4d6a0", - "l_and-interp", "l_quant_interp_08c9bac2e46e56e701bee1c460718518", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.FreeFunExt.DoThen_a", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.DoThen_acts", - "projection_inverse_Part2.FreeFunExt.DoThen_continue", - "projection_inverse_Part2.FreeFunExt.DoThen_input", - "projection_inverse_Part2.FreeFunExt.Return_a", - "projection_inverse_Part2.FreeFunExt.Return_acts", - "projection_inverse_Part2.FreeFunExt.Return_x", - "refinement_interpretation_Tm_refine_f4c6dec76c34a84cacd8da8e2b935764", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "typing_Part2.FreeFunExt.bind", - "typing_Tm_abs_2e0e6cee54332c21db3dc0113c152955", - "typing_Tm_abs_bc1fe464f12ac48e7aefcc2ae7331401", - "typing_Tm_abs_f3dd695e9d8e4ae8a55c141caca4d6a0", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "94c611bcee69a285e1d0bbc298abcf6e" - ], - [ - "Part2.FreeFunExt.input_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part2.FreeFunExt.Read", - "disc_equation_Part2.FreeFunExt.Write", - "fuel_guarded_inversion_Part2.FreeFunExt.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "25b496995386ea2362dac5506d266378" - ], - [ - "Part2.FreeFunExt.output_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part2.FreeFunExt.Read", - "disc_equation_Part2.FreeFunExt.Write", - "fuel_guarded_inversion_Part2.FreeFunExt.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "632cbef4877782c8b96e5adb07bf9306" - ], - [ - "Part2.FreeFunExt.interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.FreeFunExt_pretyping_7e01786a7e4c8b5b379ded1815a9657e", - "binder_x_277d5f0d916bfda7bf1c24432cf201b0_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_Part2.FreeFunExt.Read", - "constructor_distinct_Part2.FreeFunExt.Write", - "data_elim_Part2.FreeFunExt.DoThen", - "data_typing_intro_Part2.FreeFunExt.Write@tok", - "disc_equation_Part2.FreeFunExt.DoThen", - "disc_equation_Part2.FreeFunExt.Read", - "disc_equation_Part2.FreeFunExt.Return", - "disc_equation_Part2.FreeFunExt.Write", - "equality_tok_Part2.FreeFunExt.Read@tok", - "equality_tok_Part2.FreeFunExt.Write@tok", - "equation_Part2.FreeFunExt.output_of", - "equation_Part2.FreeFunExt.rw_action_class", - "fuel_guarded_inversion_Part2.FreeFunExt.rw", - "fuel_guarded_inversion_Part2.FreeFunExt.tree", "int_inversion", - "proj_equation_Part2.FreeFunExt.DoThen_act", - "proj_equation_Part2.FreeFunExt.Mkaction_class_output_of", - "proj_equation_Part2.FreeFunExt.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.FreeFunExt.DoThen_act", - "projection_inverse_Part2.FreeFunExt.Mkaction_class_output_of", - "projection_inverse_Part2.FreeFunExt.Mkaction_class_t", - "token_correspondence_Part2.FreeFunExt.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.FreeFunExt.output_of", "unit_typing", - "well_founded_ordering_on_codomain_Part2.FreeFunExt.DoThen" - ], - 0, - "d1ce1a67ac7969a9c0d1d5c76a218d90" - ], - [ - "Part2.FreeFunExt.interp_equiv", - 1, - 2, - 1, - [ "@query", "equation_FStar.FunctionalExtensionality.feq" ], - 0, - "285cac40f049518236dc49c745e4e36a" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.HOAS.fst.hints b/doc/book/code/Part2.HOAS.fst.hints deleted file mode 100644 index fb06c3fc8c6..00000000000 --- a/doc/book/code/Part2.HOAS.fst.hints +++ /dev/null @@ -1,224 +0,0 @@ -[ - "ýç„»¤é»^i÷x\u001f_\u000bû", - [ - [ - "Part2.HOAS.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "9ca79c1b2e64a4958fcdb68a8277deea" - ], - [ - "Part2.HOAS.__proj__Arrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30150cb5895a521f1b4b0dbda069b0b1" - ], - 0, - "7c3cc948ab91b5120bbd46848119c4e7" - ], - [ - "Part2.HOAS.__proj__Arrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30150cb5895a521f1b4b0dbda069b0b1" - ], - 0, - "b5f653054d5dd34ae68b7abc54c533d0" - ], - [ - "Part2.HOAS.denote_typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.HOAS_pretyping_0d59847ca8d92cbb26292202f2103570", - "binder_x_0d59847ca8d92cbb26292202f2103570_0", - "data_typing_intro_Part2.HOAS.Int@tok", - "disc_equation_Part2.HOAS.Arrow", "disc_equation_Part2.HOAS.Bool", - "disc_equation_Part2.HOAS.Int", - "fuel_guarded_inversion_Part2.HOAS.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.HOAS.Arrow" - ], - 0, - "6dc8f83f6efab2676570e9d6e00335c8" - ], - [ - "Part2.HOAS.__proj__Var__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cfebae4731f3018188d6b3f7f86b69d4" - ], - 0, - "394903018fa105db6869801b8d0dcd02" - ], - [ - "Part2.HOAS.__proj__Var__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.HOAS.Var", - "proj_equation_Part2.HOAS.Var_t", - "projection_inverse_Part2.HOAS.Var_t", - "refinement_interpretation_Tm_refine_cfebae4731f3018188d6b3f7f86b69d4" - ], - 0, - "7b16a2ac9e712e8832ebdca15f186789" - ], - [ - "Part2.HOAS.__proj__I__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e58f9931cf5268aecc895a6360af56a0" - ], - 0, - "20eecf23d87bf42d78d642b719f0de7e" - ], - [ - "Part2.HOAS.__proj__App__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" - ], - 0, - "e6f74931f5ca7b9af69b08d163a08d09" - ], - [ - "Part2.HOAS.__proj__App__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" - ], - 0, - "1ec2b337eecd2ab49b32ae31e14d3476" - ], - [ - "Part2.HOAS.__proj__App__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.HOAS.App", - "proj_equation_Part2.HOAS.App_t1", "proj_equation_Part2.HOAS.App_t2", - "projection_inverse_Part2.HOAS.App_t1", - "projection_inverse_Part2.HOAS.App_t2", - "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" - ], - 0, - "4f9915643ffae5d432336a3c9028edb3" - ], - [ - "Part2.HOAS.__proj__App__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.HOAS.App", - "refinement_interpretation_Tm_refine_2b53c7ab1b7f4afa8fc6764f60c38c67" - ], - 0, - "aa3e00fd0c2e87bba79925600b265e82" - ], - [ - "Part2.HOAS.__proj__Lam__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" - ], - 0, - "1a2274dfbe767b73035bf068cd22f0a2" - ], - [ - "Part2.HOAS.__proj__Lam__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" - ], - 0, - "40c3418871df66eb8ffb85fc2f7b7e94" - ], - [ - "Part2.HOAS.__proj__Lam__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.HOAS.Lam", - "proj_equation_Part2.HOAS.Lam_t1", "proj_equation_Part2.HOAS.Lam_t2", - "projection_inverse_Part2.HOAS.Lam_t1", - "projection_inverse_Part2.HOAS.Lam_t2", - "refinement_interpretation_Tm_refine_3e7664717b5f72e6b4bcf6765f78f8d7" - ], - 0, - "bb769df9748b237dd21715c0d31754c7" - ], - [ - "Part2.HOAS.denote_term", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.HOAS.denote_typ.fuel_instrumented", - "@query", - "Part2.HOAS_interpretation_Tm_arrow_143fc6bbb3e674444f4347ce6ed6de46", - "Part2.HOAS_interpretation_Tm_arrow_96fdf20c9456a6065e0097c6edc3212c", - "Part2.HOAS_pretyping_c953ce6cbe03c615206d7fccddad7c9e", - "binder_x_0d59847ca8d92cbb26292202f2103570_0", - "binder_x_9a376b73d8acd1a292693d4dea650d5b_1", "bool_inversion", - "bool_typing", "constructor_distinct_Part2.HOAS.Arrow", - "constructor_distinct_Part2.HOAS.Bool", - "constructor_distinct_Part2.HOAS.Int", "data_elim_Part2.HOAS.App", - "data_elim_Part2.HOAS.I", "data_elim_Part2.HOAS.Lam", - "data_elim_Part2.HOAS.TT", "data_elim_Part2.HOAS.Var", - "data_typing_intro_Part2.HOAS.FF@tok", - "data_typing_intro_Part2.HOAS.TT@tok", - "disc_equation_Part2.HOAS.App", "disc_equation_Part2.HOAS.FF", - "disc_equation_Part2.HOAS.I", "disc_equation_Part2.HOAS.Lam", - "disc_equation_Part2.HOAS.TT", "disc_equation_Part2.HOAS.Var", - "equality_tok_Part2.HOAS.Bool@tok", "equality_tok_Part2.HOAS.FF@tok", - "equality_tok_Part2.HOAS.Int@tok", "equality_tok_Part2.HOAS.TT@tok", - "equation_with_fuel_Part2.HOAS.denote_typ.fuel_instrumented", - "fuel_guarded_inversion_Part2.HOAS.term", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.HOAS.Arrow__0", - "projection_inverse_Part2.HOAS.Arrow__1", - "subterm_ordering_Part2.HOAS.App", "typing_Part2.HOAS.uu___is_Var", - "typing_Tm_abs_5df54d6e38499340e440e0241bc4f61d", - "typing_tok_Part2.HOAS.TT@tok", - "well_founded_ordering_on_codomain_Part2.HOAS.Lam" - ], - 0, - "d20f74e323678ca7bbcf6b1e59d2f760" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.PHOAS.fst.hints b/doc/book/code/Part2.PHOAS.fst.hints deleted file mode 100644 index 6186dfad98e..00000000000 --- a/doc/book/code/Part2.PHOAS.fst.hints +++ /dev/null @@ -1,209 +0,0 @@ -[ - "ÕÏ™®\u0014h„kýp\u0002ÀÉs¡ê", - [ - [ - "Part2.PHOAS.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "423cb6a4b9f6d76f612465c1f4946293" - ], - [ - "Part2.PHOAS.__proj__Arrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89ad2f3ebcf13da182c8948e4bde8678" - ], - 0, - "d0c408961f3aeb2b6ac17e49ff8cfae6" - ], - [ - "Part2.PHOAS.__proj__Arrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89ad2f3ebcf13da182c8948e4bde8678" - ], - 0, - "b904f0e941e3b9a561c4a7c85fb7568d" - ], - [ - "Part2.PHOAS.__proj__Var__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eeecd4ea77bbf98724603ca7300a772d" - ], - 0, - "2e17f4df4f7be8b1c717f07e4ce2725f" - ], - [ - "Part2.PHOAS.__proj__Var__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.PHOAS.Var", - "refinement_interpretation_Tm_refine_eeecd4ea77bbf98724603ca7300a772d" - ], - 0, - "74ae7251b9522a86245fa68c59374ad2" - ], - [ - "Part2.PHOAS.__proj__App__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" - ], - 0, - "0b4c0230ad8d867d0435519fc63ef5eb" - ], - [ - "Part2.PHOAS.__proj__App__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" - ], - 0, - "51860f329e5a41f9757d27a4f603d2c2" - ], - [ - "Part2.PHOAS.__proj__App__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.PHOAS.App", - "proj_equation_Part2.PHOAS.App_t1", - "proj_equation_Part2.PHOAS.App_t2", - "projection_inverse_Part2.PHOAS.App_t1", - "projection_inverse_Part2.PHOAS.App_t2", - "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" - ], - 0, - "7331380b37f03c6a9f3b27b4ce812af8" - ], - [ - "Part2.PHOAS.__proj__App__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.PHOAS.App", - "refinement_interpretation_Tm_refine_b02d03e9f0081ee40ab4dd8634fa7714" - ], - 0, - "a548cd7f49c41aaa149eb29bd0572a6a" - ], - [ - "Part2.PHOAS.__proj__Lam__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" - ], - 0, - "9ed43bdc7f8adbe417797220ac3595c0" - ], - [ - "Part2.PHOAS.__proj__Lam__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" - ], - 0, - "d710364f9e4aaa68789355008e6e3099" - ], - [ - "Part2.PHOAS.__proj__Lam__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.PHOAS.Lam", - "proj_equation_Part2.PHOAS.Lam_t1", - "proj_equation_Part2.PHOAS.Lam_t2", - "projection_inverse_Part2.PHOAS.Lam_t1", - "projection_inverse_Part2.PHOAS.Lam_t2", - "refinement_interpretation_Tm_refine_7cf713abff1884147d7ff954c39c0499" - ], - 0, - "7027bd593d86d01c13a04b56205af39c" - ], - [ - "Part2.PHOAS.denote_typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.PHOAS_pretyping_d0a951e5feb389351eea2e8d0eeb0c2f", - "binder_x_d0a951e5feb389351eea2e8d0eeb0c2f_0", - "disc_equation_Part2.PHOAS.Arrow", "disc_equation_Part2.PHOAS.Bool", - "equality_tok_Part2.PHOAS.Bool@tok", - "fuel_guarded_inversion_Part2.PHOAS.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.PHOAS.Arrow", - "typing_tok_Part2.PHOAS.Bool@tok" - ], - 0, - "9a1b871467e5417533fa08b6ad3a9181" - ], - [ - "Part2.PHOAS.denote_term0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.PHOAS.denote_typ.fuel_instrumented", - "@query", - "Part2.PHOAS_interpretation_Tm_arrow_21a072829f7914957fc7b0d643c1400d", - "Part2.PHOAS_interpretation_Tm_arrow_36d6f29ffe36b1919fdd553f1c8a9142", - "binder_x_d0a951e5feb389351eea2e8d0eeb0c2f_0", - "binder_x_d868b15b9bff666b4a74ccad864e037c_1", "bool_inversion", - "constructor_distinct_Part2.PHOAS.Arrow", - "constructor_distinct_Part2.PHOAS.Bool", - "constructor_distinct_Part2.PHOAS.TT", "data_elim_Part2.PHOAS.App", - "data_elim_Part2.PHOAS.FF", "data_elim_Part2.PHOAS.Lam", - "data_elim_Part2.PHOAS.TT", "data_elim_Part2.PHOAS.Var", - "disc_equation_Part2.PHOAS.App", "disc_equation_Part2.PHOAS.FF", - "disc_equation_Part2.PHOAS.Lam", "disc_equation_Part2.PHOAS.TT", - "disc_equation_Part2.PHOAS.Var", "equality_tok_Part2.PHOAS.Bool@tok", - "equation_with_fuel_Part2.PHOAS.denote_typ.fuel_instrumented", - "fuel_guarded_inversion_Part2.PHOAS.term0", - "function_token_typing_Part2.PHOAS.denote_typ", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.PHOAS.Arrow__0", - "projection_inverse_Part2.PHOAS.Arrow__1", - "projection_inverse_Part2.PHOAS.TT_v", - "subterm_ordering_Part2.PHOAS.App", "typing_Part2.PHOAS.uu___is_TT", - "typing_Part2.PHOAS.uu___is_Var", - "typing_Tm_abs_5c6185031c061b91384f839962599f20", - "well_founded_ordering_on_codomain_Part2.PHOAS.Lam" - ], - 0, - "bde0e62fe3ed9fccdc4942d3ac4e3ebd" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.Par.fst.hints b/doc/book/code/Part2.Par.fst.hints deleted file mode 100644 index fa5a5fed469..00000000000 --- a/doc/book/code/Part2.Par.fst.hints +++ /dev/null @@ -1,298 +0,0 @@ -[ - "î’Ãêh\u0013Š>rQ\n\u0011ºØ\u0011ú", - [ - [ - "Part2.Par.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_29b934f6ee2774a26632f3bde2a09c17" - ], - 0, - "6524aede61a4d2f996bb40d99e9ef6b6" - ], - [ - "Part2.Par.__proj__DoThen__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c4583238aed48bb17c555b7c4648a23" - ], - 0, - "8e66ce453cc4a43cb67ea2065fcd18cd" - ], - [ - "Part2.Par.__proj__DoThen__item__input", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.Par.action_class", - "proj_equation_Part2.Par.DoThen_act", - "proj_equation_Part2.Par.Mkaction_class_input_of", - "projection_inverse_Part2.Par.DoThen_act", - "refinement_interpretation_Tm_refine_8c4583238aed48bb17c555b7c4648a23", - "token_correspondence_Part2.Par.__proj__Mkaction_class__item__input_of" - ], - 0, - "656188b416f2240396750167005cc9a0" - ], - [ - "Part2.Par.__proj__DoThen__item__continue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.Par.action_class", - "proj_equation_Part2.Par.DoThen_act", - "projection_inverse_Part2.Par.DoThen_act", - "refinement_interpretation_Tm_refine_8c4583238aed48bb17c555b7c4648a23" - ], - 0, - "84324a03a31f03a9e1d4803d50bab2ef" - ], - [ - "Part2.Par.__proj__Or__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_529d5695b14b26bb804abd4cebb44862" - ], - 0, - "3b575e4a70905b3d826fdba9bdbc1b32" - ], - [ - "Part2.Par.__proj__Or__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_529d5695b14b26bb804abd4cebb44862" - ], - 0, - "d64afb9c69f77e43eaec390a14970476" - ], - [ - "Part2.Par.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Par_pretyping_363fe2561fdeef56977952824b33b68a", - "binder_x_363fe2561fdeef56977952824b33b68a_1", - "binder_x_748162525aac002977813e958964579e_4", - "disc_equation_Part2.Par.DoThen", "disc_equation_Part2.Par.Or", - "disc_equation_Part2.Par.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.Par.action_class", - "fuel_guarded_inversion_Part2.Par.tree", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Part2.Par.Or", - "well_founded_ordering_on_codomain_Part2.Par.DoThen" - ], - 0, - "2092bcff1b6daf07afc9d15327a782bd" - ], - [ - "Part2.Par.l_par", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Par_pretyping_363fe2561fdeef56977952824b33b68a", - "binder_x_363fe2561fdeef56977952824b33b68a_2", - "binder_x_71f3769f67df77bcfa1653298bedb762_5", - "disc_equation_Part2.Par.DoThen", "disc_equation_Part2.Par.Or", - "disc_equation_Part2.Par.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.Par.action_class", - "fuel_guarded_inversion_Part2.Par.tree", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Part2.Par.Or", - "well_founded_ordering_on_codomain_Part2.Par.DoThen" - ], - 0, - "18b3dbbe111cd6eb4de54ac2eb6a2894" - ], - [ - "Part2.Par.l_par", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Par_pretyping_363fe2561fdeef56977952824b33b68a", - "binder_x_363fe2561fdeef56977952824b33b68a_2", - "binder_x_9c117dce375a3f1584a2d66d42c37cde_6", - "disc_equation_Part2.Par.DoThen", "disc_equation_Part2.Par.Or", - "disc_equation_Part2.Par.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.Par.action_class", - "fuel_guarded_inversion_Part2.Par.tree", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Part2.Par.Or", - "well_founded_ordering_on_codomain_Part2.Par.DoThen" - ], - 0, - "bd1e21d622742bc41f879d7cca57651e" - ], - [ - "Part2.Par.input_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Par.Read", - "disc_equation_Part2.Par.Write", - "fuel_guarded_inversion_Part2.Par.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bdd39b71fe97389a0b0e4ed6a65389ac" - ], - [ - "Part2.Par.output_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Par.Read", - "disc_equation_Part2.Par.Write", - "fuel_guarded_inversion_Part2.Par.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "406a230beff21cd9575c2865908fe133" - ], - [ - "Part2.Par.interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Par_pretyping_0164e3de8a5c85e3e2c4b989dcddc887", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_e249bea248c293c209bc68322fb341e9_1", - "constructor_distinct_Part2.Par.Read", - "constructor_distinct_Part2.Par.Write", "data_elim_Part2.Par.DoThen", - "data_typing_intro_Part2.Par.Write@tok", - "disc_equation_Part2.Par.DoThen", "disc_equation_Part2.Par.Or", - "disc_equation_Part2.Par.Read", "disc_equation_Part2.Par.Return", - "disc_equation_Part2.Par.Write", "equality_tok_Part2.Par.Read@tok", - "equality_tok_Part2.Par.Write@tok", "equation_Part2.Par.output_of", - "equation_Part2.Par.rw_actions", "equation_Prims.nat", - "fuel_guarded_inversion_Part2.Par.rw", - "fuel_guarded_inversion_Part2.Par.tree", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_Part2.Par.DoThen_act", - "proj_equation_Part2.Par.Mkaction_class_output_of", - "proj_equation_Part2.Par.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.Par.DoThen_act", - "projection_inverse_Part2.Par.Mkaction_class_output_of", - "projection_inverse_Part2.Par.Mkaction_class_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Part2.Par.Or", - "token_correspondence_Part2.Par.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.Par.output_of", "unit_typing", - "well_founded_ordering_on_codomain_Part2.Par.DoThen" - ], - 0, - "3ac69347c0c79492aa64064e98b4205e" - ], - [ - "Part2.Par.input_of_rwi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Par.Inc", - "disc_equation_Part2.Par.R", "disc_equation_Part2.Par.W", - "fuel_guarded_inversion_Part2.Par.rwi", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ad9af8f45e150cc5d8c5e69b8665ca31" - ], - [ - "Part2.Par.output_of_rwi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Part2.Par.Inc", - "disc_equation_Part2.Par.R", "disc_equation_Part2.Par.W", - "fuel_guarded_inversion_Part2.Par.rwi", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "74067c991f236bcfc27cc71372bccb92" - ], - [ - "Part2.Par.interp_rwi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.Par_pretyping_4a0d8c113364957e9670f23e95fac094", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fd0207b18cfa0816fc807083bf20af50_1", - "constructor_distinct_Part2.Par.Inc", - "constructor_distinct_Part2.Par.R", - "constructor_distinct_Part2.Par.W", "data_elim_Part2.Par.DoThen", - "data_typing_intro_Part2.Par.W@tok", - "disc_equation_Part2.Par.DoThen", "disc_equation_Part2.Par.Inc", - "disc_equation_Part2.Par.Or", "disc_equation_Part2.Par.R", - "disc_equation_Part2.Par.Return", "disc_equation_Part2.Par.W", - "equality_tok_Part2.Par.Inc@tok", "equality_tok_Part2.Par.R@tok", - "equality_tok_Part2.Par.W@tok", "equation_Part2.Par.input_of_rwi", - "equation_Part2.Par.output_of_rwi", "equation_Part2.Par.rwi_actions", - "equation_Prims.nat", "fuel_guarded_inversion_Part2.Par.rwi", - "fuel_guarded_inversion_Part2.Par.tree", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_Part2.Par.DoThen_act", - "proj_equation_Part2.Par.Mkaction_class_input_of", - "proj_equation_Part2.Par.Mkaction_class_output_of", - "proj_equation_Part2.Par.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.Par.DoThen_act", - "projection_inverse_Part2.Par.Mkaction_class_input_of", - "projection_inverse_Part2.Par.Mkaction_class_output_of", - "projection_inverse_Part2.Par.Mkaction_class_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Part2.Par.Or", - "token_correspondence_Part2.Par.__proj__Mkaction_class__item__input_of", - "token_correspondence_Part2.Par.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.Par.input_of_rwi", - "token_correspondence_Part2.Par.output_of_rwi", "unit_typing", - "well_founded_ordering_on_codomain_Part2.Par.DoThen" - ], - 0, - "009949d0b2110f12c46d0fc973b239e2" - ], - [ - "Part2.Par.test_par_atomic_inc", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "df8a4b7f7d1e8d7088d586701ee176d6" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.Positivity.fst.hints b/doc/book/code/Part2.Positivity.fst.hints deleted file mode 100644 index 4d8469e001a..00000000000 --- a/doc/book/code/Part2.Positivity.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - "bIåÛîâ?]â\\l.÷kJt", - [ - [ - "Part2.Positivity.__proj__Bool__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a4cb351197560390abc49a7256b7fa4f" - ], - 0, - "75b9a05a86d8289bad686543e1d723f4" - ], - [ - "Part2.Positivity.__proj__Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f111958f7bb057c90a70e7c3c5d778f" - ], - 0, - "276ef54a5abb968ab21e3d276fc765d7" - ], - [ - "Part2.Positivity.__proj__Function__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71ca2c4c42871aaec7cc8f05fac91dfe" - ], - 0, - "95a9ea23abaa9ea4e9dca2c1dda1c455" - ], - [ - "Part2.Positivity.__proj__Leaf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6e95d7bb40d4f96a1369a34ef8282f1c" - ], - 0, - "63f75bc79873f590fb009e76403f4b77" - ], - [ - "Part2.Positivity.__proj__Branch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_93316d549031f314135cf798d0cc4505" - ], - 0, - "17c35ee652cddb1283b67d1f6beef79b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.ST.fst.hints b/doc/book/code/Part2.ST.fst.hints deleted file mode 100644 index 28ffab26e90..00000000000 --- a/doc/book/code/Part2.ST.fst.hints +++ /dev/null @@ -1,109 +0,0 @@ -[ - "Ø\u000f²È=ì¡\u001a\bvScÚ3\n¨", - [ - [ - "Part2.ST.left_identity", - 1, - 2, - 1, - [ - "@query", "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.return", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", - "interpretation_Tm_abs_e40c64accf694aba7c7c810a51e2bff8", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "d5fd9da9e5723e9c3ba2ddf91ad6313f" - ], - [ - "Part2.ST.right_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.ST_interpretation_Tm_arrow_a0084ca3a951f68c3110bd0ebd7c60fe", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.return", "equation_Part2.ST.st", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", - "interpretation_Tm_abs_ae9ea94647dcc891a00f79c79edf2f97" - ], - 0, - "8f86e8cbe02aa9ff4eb821b813f43cce" - ], - [ - "Part2.ST.associativity", - 1, - 2, - 1, - [ - "@query", "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_e40c64accf694aba7c7c810a51e2bff8", - "interpretation_Tm_abs_e61e8af5ac452c4f7ed9b512a20a76d8" - ], - 0, - "e20353afd0ff429040668cd9cbb2954f" - ], - [ - "Part2.ST.redundant_read_elim", - 1, - 2, - 1, - [ - "@query", "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.read", - "interpretation_Tm_abs_465918dbb3b106ebc754d0ac69e25541", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "fb1884fb56bb222cd2980e6b797613d8" - ], - [ - "Part2.ST.redundant_write_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.write", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_27d70a159d176eaea8d5192620d8f59f", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b" - ], - 0, - "110c72c6289ff21e04d42b86c029a46e" - ], - [ - "Part2.ST.read_write_noop", - 1, - 2, - 1, - [ - "@query", "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.read", "equation_Part2.ST.return", - "equation_Part2.ST.write", - "interpretation_Tm_abs_5006705233129685a03226a1cb59b9c1", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", - "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "85a87fd55520f8f3f0f9365f28d47190" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.STInt.fst.hints b/doc/book/code/Part2.STInt.fst.hints deleted file mode 100644 index a79d5dc926b..00000000000 --- a/doc/book/code/Part2.STInt.fst.hints +++ /dev/null @@ -1,133 +0,0 @@ -[ - "Z\u00168¿€\u0014yqµåW Ú¢ŽÎ", - [ - [ - "Part2.STInt.left_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.STInt.bind", "equation_Part2.STInt.feq", - "equation_Part2.STInt.op_let_Bang", "equation_Part2.STInt.return", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_e073df67031809c3d262fb52887e406d", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "7863045b76f6359bac7acfd52d742e90" - ], - [ - "Part2.STInt.right_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STInt_interpretation_Tm_arrow_484ac694053f9cf14a2c5a94a3797972", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.STInt.bind", "equation_Part2.STInt.feq", - "equation_Part2.STInt.op_let_Bang", "equation_Part2.STInt.return", - "equation_Part2.STInt.st", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3b2327e0d5d64b42a0024d66220d6d69", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "f924c4944d52232d1d53f3851effdae5" - ], - [ - "Part2.STInt.associativity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STInt.bind", - "equation_Part2.STInt.feq", "equation_Part2.STInt.op_let_Bang", - "int_inversion", - "interpretation_Tm_abs_a249274efcab075478109520c4247ed6", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_e073df67031809c3d262fb52887e406d", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "e91115e69d2e8a29594f9e1f4f725db2" - ], - [ - "Part2.STInt.redundant_read_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.STInt.bind", "equation_Part2.STInt.feq", - "equation_Part2.STInt.op_let_Bang", "equation_Part2.STInt.read", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_eb1f19aba18df6f48faf7cef222b16d6", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "071aa5598684004b095637167dc68291" - ], - [ - "Part2.STInt.redundant_write_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STInt.bind", - "equation_Part2.STInt.feq", "equation_Part2.STInt.op_let_Bang", - "equation_Part2.STInt.write", "int_inversion", - "interpretation_Tm_abs_03e66b6f12eb85069ed3f8523b7cfb8c", - "interpretation_Tm_abs_21135f7a40394ea9900bf22c6ef80c5e", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "c610a3947a9e933bb66e439b4ecbd01c" - ], - [ - "Part2.STInt.read_write_noop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.STInt.bind", "equation_Part2.STInt.feq", - "equation_Part2.STInt.op_let_Bang", "equation_Part2.STInt.read", - "equation_Part2.STInt.return", "equation_Part2.STInt.write", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_03e66b6f12eb85069ed3f8523b7cfb8c", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_ee0ee74b04a411cf3ff1be2a9fd06b1e", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_Part2.STInt.bind", - "token_correspondence_Part2.STInt.op_let_Bang" - ], - 0, - "ce5d082419a86bbeb8ddf525f5cd5c06" - ] - ] -] \ 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 deleted file mode 100644 index acfca336be9..00000000000 --- a/doc/book/code/Part2.STLC.Strong.fst.hints +++ /dev/null @@ -1,1026 +0,0 @@ -[ - "f9§*\u007f›çcù}‡øæ²5ÿ", - [ - [ - "Part2.STLC.Strong.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "c9a1cdea128ab3deb3db171fd3dcecc0" - ], - [ - "Part2.STLC.Strong.__proj__TArr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4faf72fc220af6b4aa4f13e2362c455a" - ], - 0, - "f3c4270511c7dd8afa7ffe89a2b152b1" - ], - [ - "Part2.STLC.Strong.__proj__TArr__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4faf72fc220af6b4aa4f13e2362c455a" - ], - 0, - "70086464af19a2a6a189302ae59e6f48" - ], - [ - "Part2.STLC.Strong.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Part2.STLC.Strong.typ__uu___haseq", - "equation_Part2.STLC.Strong.var", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "dfb24f469ded4c1692c30c7c90e2a2cf" - ], - [ - "Part2.STLC.Strong.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_742b50733fa05442ab6437ee6eaed6b6" - ], - 0, - "5a7159560a10e72bdab9293ef5cac678" - ], - [ - "Part2.STLC.Strong.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf7d6ae9fa5cbfbf3db1ba59319d2ccd" - ], - 0, - "1fb87f4fc28acc2794695a20eccd0ba8" - ], - [ - "Part2.STLC.Strong.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf7d6ae9fa5cbfbf3db1ba59319d2ccd" - ], - 0, - "d252c3dda68516a05c6a0c075a457154" - ], - [ - "Part2.STLC.Strong.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d0f2e8e5b709c353027c6975eec4c48" - ], - 0, - "b4f46b07660ca79161f74e1496954fef" - ], - [ - "Part2.STLC.Strong.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d0f2e8e5b709c353027c6975eec4c48" - ], - 0, - "f881c67202095699f8db5048d5f696fd" - ], - [ - "Part2.STLC.Strong.sub_inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.Strong.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a8e466a7b5398ba4a7d6bc13967036f7" - ], - [ - "Part2.STLC.Strong.sub_inc", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_Part2.STLC.Strong.EVar", - "disc_equation_Part2.STLC.Strong.EVar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.Strong.EVar__0" - ], - 0, - "06dc90e3b7930793382925cd1410557f" - ], - [ - "Part2.STLC.Strong.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC.Strong_interpretation_Tm_arrow_aa515c4ec353d8149c08dcdcc0711e37", - "Part2.STLC.Strong_pretyping_fa8df41f8c22c6d3509adf51b1dc46e8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_92d5c5946830c190c6cb8c817867c96e_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", - "binder_x_fa8df41f8c22c6d3509adf51b1dc46e8_2", "bool_inversion", - "constructor_distinct_Part2.STLC.Strong.EApp", - "constructor_distinct_Part2.STLC.Strong.ELam", - "constructor_distinct_Part2.STLC.Strong.EUnit", - "constructor_distinct_Part2.STLC.Strong.EVar", - "disc_equation_Part2.STLC.Strong.EApp", - "disc_equation_Part2.STLC.Strong.ELam", - "disc_equation_Part2.STLC.Strong.EUnit", - "disc_equation_Part2.STLC.Strong.EVar", - "equality_tok_Part2.STLC.Strong.EUnit@tok", - "equation_Part2.STLC.Strong.bool_order", - "equation_Part2.STLC.Strong.sub", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.Strong.exp", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.Strong.EApp__0", - "projection_inverse_Part2.STLC.Strong.EApp__1", - "projection_inverse_Part2.STLC.Strong.ELam__0", - "projection_inverse_Part2.STLC.Strong.ELam__1", - "refinement_interpretation_Tm_refine_c661e093508ba079d8cd00ccc1d50372", - "subterm_ordering_Part2.STLC.Strong.EApp", - "subterm_ordering_Part2.STLC.Strong.ELam", - "typing_Part2.STLC.Strong.bool_order", - "typing_Part2.STLC.Strong.uu___is_EVar", - "typing_tok_Part2.STLC.Strong.EUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "8a943df5feb8904df6d397ca45d7a996" - ], - [ - "Part2.STLC.Strong.subst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC.Strong_interpretation_Tm_arrow_aa515c4ec353d8149c08dcdcc0711e37", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_92d5c5946830c190c6cb8c817867c96e_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "bool_typing", "constructor_distinct_Part2.STLC.Strong.EVar", - "disc_equation_Part2.STLC.Strong.EVar", - "equation_Part2.STLC.Strong.bool_order", - "equation_Part2.STLC.Strong.sub", "equation_Part2.STLC.Strong.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.Strong.EVar__0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3d5b7bd288dd594e575bbc26d088489f", - "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", - "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, - "b8d1a5931079ced122f3840c44195581" - ], - [ - "Part2.STLC.Strong.sub_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Part2.STLC.Strong.EVar", - "disc_equation_Part2.STLC.Strong.EVar", - "equation_Part2.STLC.Strong.var", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.Strong.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d88ad6fa0a187fc092d89e1843ee01b2", - "typing_Part2.STLC.Strong.uu___is_EVar" - ], - 0, - "e230ac4c87a00c3000d5ba3e27e46e2e" - ], - [ - "Part2.STLC.Strong.step", - 1, - 2, - 1, - [ - "@query", "assumption_Part2.STLC.Strong.exp__uu___haseq", - "assumption_Part2.STLC.Strong.typ__uu___haseq" - ], - 0, - "146b532e3dafc9fa43ec2a3d72d60802" - ], - [ - "Part2.STLC.Strong.__proj__SBeta__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" - ], - 0, - "d07d75f9d2940c1c6bdf725a39cfa179" - ], - [ - "Part2.STLC.Strong.__proj__SBeta__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" - ], - 0, - "4eeb378a964e2ce4dbf31289b309d789" - ], - [ - "Part2.STLC.Strong.__proj__SBeta__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca23994725d9ce902aeaba28b7af8cad" - ], - 0, - "43969cfb8b758111e16771c69abcc095" - ], - [ - "Part2.STLC.Strong.__proj__SApp1__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" - ], - 0, - "f2fba2948cfa0bf3c06cc2e3823038ab" - ], - [ - "Part2.STLC.Strong.__proj__SApp1__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" - ], - 0, - "66008d3e84fdf32b35f3d2019b928444" - ], - [ - "Part2.STLC.Strong.__proj__SApp1__item__e1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" - ], - 0, - "48d4bff5003aec6da05ec0a9472790da" - ], - [ - "Part2.STLC.Strong.__proj__SApp1__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.SApp1", - "proj_equation_Part2.STLC.Strong.SApp1_e1", - "proj_equation_Part2.STLC.Strong.SApp1_e1_", - "projection_inverse_Part2.STLC.Strong.SApp1_e1", - "projection_inverse_Part2.STLC.Strong.SApp1_e1_", - "refinement_interpretation_Tm_refine_779fdeff8fcea23fc7e95f902f467d5b" - ], - 0, - "9155bae4f899b82a1c25028841d0ddbf" - ], - [ - "Part2.STLC.Strong.__proj__SApp2__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" - ], - 0, - "49ebaa78f024d2079e8c04bf67c82a3b" - ], - [ - "Part2.STLC.Strong.__proj__SApp2__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" - ], - 0, - "7d7c1f7a17159875005a100c75610521" - ], - [ - "Part2.STLC.Strong.__proj__SApp2__item__e2'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" - ], - 0, - "9e1848cf0648c5da0edf413388cd0070" - ], - [ - "Part2.STLC.Strong.__proj__SApp2__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.SApp2", - "proj_equation_Part2.STLC.Strong.SApp2_e2", - "proj_equation_Part2.STLC.Strong.SApp2_e2_", - "projection_inverse_Part2.STLC.Strong.SApp2_e2", - "projection_inverse_Part2.STLC.Strong.SApp2_e2_", - "refinement_interpretation_Tm_refine_e8cf4b171d794af2db90e6e88d25a3c0" - ], - 0, - "3b499c8e93171153cc4cc89e541d2b88" - ], - [ - "Part2.STLC.Strong.__proj__STrans__item__e0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" - ], - 0, - "643d7a1e885d34c8e9948679a5e0d4e6" - ], - [ - "Part2.STLC.Strong.__proj__STrans__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" - ], - 0, - "2865db176d6a84a5247f5be2c5a7fb1e" - ], - [ - "Part2.STLC.Strong.__proj__STrans__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" - ], - 0, - "de1fc568bcd77ae2f33e780d19c1a54b" - ], - [ - "Part2.STLC.Strong.__proj__STrans__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.STrans", - "proj_equation_Part2.STLC.Strong.STrans_e0", - "proj_equation_Part2.STLC.Strong.STrans_e1", - "projection_inverse_Part2.STLC.Strong.STrans_e0", - "projection_inverse_Part2.STLC.Strong.STrans_e1", - "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" - ], - 0, - "5673d65f623c1c3f7ce0678c2701a474" - ], - [ - "Part2.STLC.Strong.__proj__STrans__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.STrans", - "proj_equation_Part2.STLC.Strong.STrans_e1", - "proj_equation_Part2.STLC.Strong.STrans_e2", - "projection_inverse_Part2.STLC.Strong.STrans_e1", - "projection_inverse_Part2.STLC.Strong.STrans_e2", - "refinement_interpretation_Tm_refine_49abf8b4f4c9613107a609faa5e25d6d" - ], - 0, - "2a09b56ca539244678a8260babf51aaa" - ], - [ - "Part2.STLC.Strong.__proj__SStrong__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" - ], - 0, - "9f87bdafb98e17827357e33f46cf545f" - ], - [ - "Part2.STLC.Strong.__proj__SStrong__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" - ], - 0, - "5bef8289c4f216166b81cccf658d074e" - ], - [ - "Part2.STLC.Strong.__proj__SStrong__item__e'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" - ], - 0, - "c65307d23fd8a6f4668e79c761dd5d78" - ], - [ - "Part2.STLC.Strong.__proj__SStrong__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.SStrong", - "proj_equation_Part2.STLC.Strong.SStrong_e", - "proj_equation_Part2.STLC.Strong.SStrong_e_", - "projection_inverse_Part2.STLC.Strong.SStrong_e", - "projection_inverse_Part2.STLC.Strong.SStrong_e_", - "refinement_interpretation_Tm_refine_85b6992cee5cc899b55c9a2d758c632e" - ], - 0, - "7c7124419005f14db6e6ec38bc1f7ad3" - ], - [ - "Part2.STLC.Strong.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.Strong.var", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "57b0c8b54cdd14c3c34df5ff7a26d9cd" - ], - [ - "Part2.STLC.Strong.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b" - ], - 0, - "b2a6e7cd5ff1a74478c8e8d5fb386c7a" - ], - [ - "Part2.STLC.Strong.__proj__TyUnit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9d5e4dbb5240843bca927cecf2759f85" - ], - 0, - "70dcb37a7baa40b5956fab4d9e15a853" - ], - [ - "Part2.STLC.Strong.__proj__TyVar__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f1606275c7d863d12b6b6a5f9729ce8" - ], - 0, - "306ec213e8b54ba4df0a372fd3ab8d32" - ], - [ - "Part2.STLC.Strong.__proj__TyVar__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.TyVar", - "refinement_interpretation_Tm_refine_3f1606275c7d863d12b6b6a5f9729ce8" - ], - 0, - "5dbf111b735fb9bfb914566f87aec7be" - ], - [ - "Part2.STLC.Strong.__proj__TyLam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" - ], - 0, - "4ab9e68a574efc26ddc0760f86e77f7d" - ], - [ - "Part2.STLC.Strong.__proj__TyLam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" - ], - 0, - "d79cf52027d8e16954bd3f78d0de010e" - ], - [ - "Part2.STLC.Strong.__proj__TyLam__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" - ], - 0, - "0ab3473d216d90be9ee42d10874b4cdd" - ], - [ - "Part2.STLC.Strong.__proj__TyLam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" - ], - 0, - "035366be62fdaf910914d57e5555ca1e" - ], - [ - "Part2.STLC.Strong.__proj__TyLam__item__hbody", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.TyLam", - "proj_equation_Part2.STLC.Strong.TyLam_e1", - "proj_equation_Part2.STLC.Strong.TyLam_g", - "proj_equation_Part2.STLC.Strong.TyLam_t", - "proj_equation_Part2.STLC.Strong.TyLam_t_", - "projection_inverse_Part2.STLC.Strong.TyLam_e1", - "projection_inverse_Part2.STLC.Strong.TyLam_g", - "projection_inverse_Part2.STLC.Strong.TyLam_t", - "projection_inverse_Part2.STLC.Strong.TyLam_t_", - "refinement_interpretation_Tm_refine_c9db19bb908273b913f1e5db606b949f" - ], - 0, - "73315d21253634ab3477b9dff502584f" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "4bdd3a679b614912b0aca2a1629ff068" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "08e71f5df8fceca0f6a0121c6daa5d27" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "b56157229f68394416e8626cbc29537e" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__t11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "3a6cce239bbd443076979a3ed3a73d41" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__t12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "b143df9b5c4b363009377984fa383e6e" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__h1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.TyApp", - "proj_equation_Part2.STLC.Strong.TyApp_e1", - "proj_equation_Part2.STLC.Strong.TyApp_g", - "proj_equation_Part2.STLC.Strong.TyApp_t11", - "proj_equation_Part2.STLC.Strong.TyApp_t12", - "projection_inverse_Part2.STLC.Strong.TyApp_e1", - "projection_inverse_Part2.STLC.Strong.TyApp_g", - "projection_inverse_Part2.STLC.Strong.TyApp_t11", - "projection_inverse_Part2.STLC.Strong.TyApp_t12", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "4410ce8a4bc99824ec593df26d141c78" - ], - [ - "Part2.STLC.Strong.__proj__TyApp__item__h2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.STLC.Strong.TyApp", - "proj_equation_Part2.STLC.Strong.TyApp_e2", - "proj_equation_Part2.STLC.Strong.TyApp_g", - "proj_equation_Part2.STLC.Strong.TyApp_t11", - "projection_inverse_Part2.STLC.Strong.TyApp_e2", - "projection_inverse_Part2.STLC.Strong.TyApp_g", - "projection_inverse_Part2.STLC.Strong.TyApp_t11", - "refinement_interpretation_Tm_refine_2169754fe4d56c2731acd33acc0ef019" - ], - 0, - "aef24c403f48a8e69019ec18f54abdf1" - ], - [ - "Part2.STLC.Strong.progress", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC.Strong_pretyping_7c7f1da0e3d6d1a84d40ef2bad1696eb", - "Part2.STLC.Strong_pretyping_fa8df41f8c22c6d3509adf51b1dc46e8", - "binder_x_308accedcc1cf1466f79c3b22297dbcf_2", - "binder_x_5d7a719af3b5a5444c0fce0cddad0d87_0", - "binder_x_7c7f1da0e3d6d1a84d40ef2bad1696eb_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Part2.STLC.Strong.EApp", - "constructor_distinct_Part2.STLC.Strong.ELam", - "constructor_distinct_Part2.STLC.Strong.EUnit", - "constructor_distinct_Part2.STLC.Strong.EVar", - "constructor_distinct_Part2.STLC.Strong.TArr", - "constructor_distinct_Part2.STLC.Strong.TUnit", - "data_elim_Part2.STLC.Strong.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Part2.STLC.Strong.ELam", - "disc_equation_Part2.STLC.Strong.EUnit", - "disc_equation_Part2.STLC.Strong.TyApp", - "equality_tok_Part2.STLC.Strong.EUnit@tok", - "equality_tok_Part2.STLC.Strong.TUnit@tok", - "equation_Part2.STLC.Strong.empty", - "equation_Part2.STLC.Strong.is_value", - "fuel_guarded_inversion_Part2.STLC.Strong.typ", - "fuel_guarded_inversion_Part2.STLC.Strong.typing", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.Strong.ELam__0", - "projection_inverse_Part2.STLC.Strong.ELam__1", - "projection_inverse_Part2.STLC.Strong.TyApp_e1", - "projection_inverse_Part2.STLC.Strong.TyApp_e2", - "projection_inverse_Part2.STLC.Strong.TyApp_g", - "projection_inverse_Part2.STLC.Strong.TyApp_t11", - "projection_inverse_Part2.STLC.Strong.TyApp_t12", - "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b", - "refinement_interpretation_Tm_refine_a715f38986a113633bdbcc0661fca1a5", - "subterm_ordering_Part2.STLC.Strong.EApp", - "typing_Part2.STLC.Strong.uu___is_ELam", - "typing_Part2.STLC.Strong.uu___is_EUnit", - "typing_tok_Part2.STLC.Strong.EUnit@tok", - "typing_tok_Part2.STLC.Strong.TUnit@tok" - ], - 0, - "366e3d7646b0dfe2ddb3cefea366f913" - ], - [ - "Part2.STLC.Strong.subst_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b" - ], - 0, - "a0478e66198458b8eff14e21df73414a" - ], - [ - "Part2.STLC.Strong.substitution", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.STLC.Strong.sub_elam.fuel_instrumented", - "@fuel_correspondence_Part2.STLC.Strong.subst.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.Strong.sub_elam.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.Strong.subst.fuel_instrumented", - "@query", - "Part2.STLC.Strong_interpretation_Tm_arrow_3ff605c6d1d6a7250ece9016e3702dc5", - "Part2.STLC.Strong_interpretation_Tm_arrow_5576cad88f92bff7ac0507db654f8661", - "Part2.STLC.Strong_pretyping_7c7f1da0e3d6d1a84d40ef2bad1696eb", - "Part2.STLC.Strong_pretyping_fa8df41f8c22c6d3509adf51b1dc46e8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7c7f1da0e3d6d1a84d40ef2bad1696eb_2", - "binder_x_8d22cc4103de0f475d331ced768f0283_4", - "binder_x_d83ab1b215904027b4d033eedd24fd39_6", - "binder_x_e8f8a2883995f8905bf6c2b8ba8a2f23_0", - "binder_x_e8f8a2883995f8905bf6c2b8ba8a2f23_5", - "binder_x_f537159ed795b314b4e58c260361ae86_3", - "binder_x_fa8df41f8c22c6d3509adf51b1dc46e8_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Part2.STLC.Strong.EApp", - "constructor_distinct_Part2.STLC.Strong.ELam", - "constructor_distinct_Part2.STLC.Strong.EUnit", - "constructor_distinct_Part2.STLC.Strong.EVar", - "constructor_distinct_Part2.STLC.Strong.TyApp", - "constructor_distinct_Part2.STLC.Strong.TyLam", - "data_elim_Part2.STLC.Strong.TyApp", - "data_elim_Part2.STLC.Strong.TyLam", - "data_elim_Part2.STLC.Strong.TyUnit", - "data_elim_Part2.STLC.Strong.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Part2.STLC.Strong.EVar", - "disc_equation_Part2.STLC.Strong.TyApp", - "disc_equation_Part2.STLC.Strong.TyLam", - "disc_equation_Part2.STLC.Strong.TyUnit", - "disc_equation_Part2.STLC.Strong.TyVar", - "equality_tok_Part2.STLC.Strong.EUnit@tok", - "equality_tok_Part2.STLC.Strong.TUnit@tok", - "equation_Part2.STLC.Strong.bool_order", - "equation_Part2.STLC.Strong.env", - "equation_Part2.STLC.Strong.extend", - "equation_Part2.STLC.Strong.sub", "equation_Part2.STLC.Strong.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.STLC.Strong.sub_elam.fuel_instrumented", - "equation_with_fuel_Part2.STLC.Strong.subst.fuel_instrumented", - "fuel_guarded_inversion_Part2.STLC.Strong.typing", - "function_token_typing_Part2.STLC.Strong.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6a414c49abc9a90bcc8e9c8c601e8c89", - "interpretation_Tm_abs_70267fb1d7e5d8919428864caef22144", - "kinding_Part2.STLC.Strong.typ@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.Strong.EApp__0", - "projection_inverse_Part2.STLC.Strong.EApp__1", - "projection_inverse_Part2.STLC.Strong.ELam__0", - "projection_inverse_Part2.STLC.Strong.ELam__1", - "projection_inverse_Part2.STLC.Strong.EVar__0", - "projection_inverse_Part2.STLC.Strong.TyApp_e1", - "projection_inverse_Part2.STLC.Strong.TyApp_e2", - "projection_inverse_Part2.STLC.Strong.TyApp_g", - "projection_inverse_Part2.STLC.Strong.TyApp_h1", - "projection_inverse_Part2.STLC.Strong.TyApp_h2", - "projection_inverse_Part2.STLC.Strong.TyApp_t11", - "projection_inverse_Part2.STLC.Strong.TyApp_t12", - "projection_inverse_Part2.STLC.Strong.TyLam_e1", - "projection_inverse_Part2.STLC.Strong.TyLam_g", - "projection_inverse_Part2.STLC.Strong.TyLam_t", - "projection_inverse_Part2.STLC.Strong.TyLam_t_", - "refinement_interpretation_Tm_refine_1b4c0c86006dd89005c011463c84afad", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5db658b85aed6a6ef24606f996283f4b", - "refinement_interpretation_Tm_refine_8b65c92c1d437ef70fb7bee71b7a52b5", - "refinement_interpretation_Tm_refine_c661e093508ba079d8cd00ccc1d50372", - "subterm_ordering_Part2.STLC.Strong.EApp", - "subterm_ordering_Part2.STLC.Strong.ELam", - "token_correspondence_Part2.STLC.Strong.extend", - "token_correspondence_Part2.STLC.Strong.sub_elam", - "typing_Part2.STLC.Strong.bool_order", - "typing_Part2.STLC.Strong.uu___is_EVar", - "typing_Part2.STLC.Strong.uu___is_TyApp", - "typing_Part2.STLC.Strong.uu___is_TyLam", - "typing_Part2.STLC.Strong.uu___is_TyVar", - "typing_tok_Part2.STLC.Strong.EUnit@tok", - "typing_tok_Part2.STLC.Strong.TUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "3836004d80b7cad8977d9133bda732a1" - ], - [ - "Part2.STLC.Strong.substitution_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC.Strong_pretyping_7c7f1da0e3d6d1a84d40ef2bad1696eb", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Part2.STLC.Strong.TUnit@tok", - "equation_Part2.STLC.Strong.extend", - "equation_Part2.STLC.Strong.sub_beta", - "equation_Part2.STLC.Strong.var", "equation_Prims.nat", - "function_token_typing_Part2.STLC.Strong.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_614694fa44ea9be8690582d17973f0ff", - "interpretation_Tm_abs_6a414c49abc9a90bcc8e9c8c601e8c89", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_179930d7cda8191826b0733b4a71a0a4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Part2.STLC.Strong.sub_beta", - "typing_tok_Part2.STLC.Strong.TUnit@tok" - ], - 0, - "6ae84269a814570af3667678281c367f" - ], - [ - "Part2.STLC.Strong.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3106a89135fbe8d4a0e774f16ebc146e_4", - "binder_x_451e4d5ca684779f72778617747b6804_5", - "binder_x_fa8df41f8c22c6d3509adf51b1dc46e8_0", - "binder_x_fa8df41f8c22c6d3509adf51b1dc46e8_1", - "constructor_distinct_Part2.STLC.Strong.EApp", - "constructor_distinct_Part2.STLC.Strong.ELam", - "constructor_distinct_Part2.STLC.Strong.EUnit", - "constructor_distinct_Part2.STLC.Strong.EVar", - "constructor_distinct_Part2.STLC.Strong.TArr", - "constructor_distinct_Part2.STLC.Strong.TUnit", - "constructor_distinct_Part2.STLC.Strong.TyApp", - "data_elim_Part2.STLC.Strong.SApp1", - "data_elim_Part2.STLC.Strong.SApp2", - "data_elim_Part2.STLC.Strong.SBeta", - "data_elim_Part2.STLC.Strong.STrans", - "data_elim_Part2.STLC.Strong.TyApp", - "data_elim_Part2.STLC.Strong.TyLam", - "disc_equation_Part2.STLC.Strong.SApp1", - "disc_equation_Part2.STLC.Strong.SApp2", - "disc_equation_Part2.STLC.Strong.SBeta", - "disc_equation_Part2.STLC.Strong.SStrong", - "disc_equation_Part2.STLC.Strong.STrans", - "disc_equation_Part2.STLC.Strong.TyApp", - "disc_equation_Part2.STLC.Strong.TyLam", - "equality_tok_Part2.STLC.Strong.EUnit@tok", - "equality_tok_Part2.STLC.Strong.TUnit@tok", - "fuel_guarded_inversion_Part2.STLC.Strong.exp", - "fuel_guarded_inversion_Part2.STLC.Strong.step", - "fuel_guarded_inversion_Part2.STLC.Strong.typing", - "proj_equation_Part2.STLC.Strong.TyLam_e1", - "proj_equation_Part2.STLC.Strong.TyLam_g", - "proj_equation_Part2.STLC.Strong.TyLam_t", - "proj_equation_Part2.STLC.Strong.TyLam_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.Strong.EApp__0", - "projection_inverse_Part2.STLC.Strong.EApp__1", - "projection_inverse_Part2.STLC.Strong.ELam__0", - "projection_inverse_Part2.STLC.Strong.ELam__1", - "projection_inverse_Part2.STLC.Strong.SApp1_e1", - "projection_inverse_Part2.STLC.Strong.SApp1_e1_", - "projection_inverse_Part2.STLC.Strong.SApp1_e2", - "projection_inverse_Part2.STLC.Strong.SApp1_hst", - "projection_inverse_Part2.STLC.Strong.SApp2_e1", - "projection_inverse_Part2.STLC.Strong.SApp2_e2", - "projection_inverse_Part2.STLC.Strong.SApp2_e2_", - "projection_inverse_Part2.STLC.Strong.SApp2_hst", - "projection_inverse_Part2.STLC.Strong.SBeta_e1", - "projection_inverse_Part2.STLC.Strong.SBeta_e2", - "projection_inverse_Part2.STLC.Strong.SBeta_t", - "projection_inverse_Part2.STLC.Strong.SStrong__3", - "projection_inverse_Part2.STLC.Strong.SStrong_e", - "projection_inverse_Part2.STLC.Strong.SStrong_e_", - "projection_inverse_Part2.STLC.Strong.SStrong_t", - "projection_inverse_Part2.STLC.Strong.TArr__0", - "projection_inverse_Part2.STLC.Strong.TArr__1", - "projection_inverse_Part2.STLC.Strong.TyApp_e1", - "projection_inverse_Part2.STLC.Strong.TyApp_e2", - "projection_inverse_Part2.STLC.Strong.TyApp_g", - "projection_inverse_Part2.STLC.Strong.TyApp_h1", - "projection_inverse_Part2.STLC.Strong.TyApp_h2", - "projection_inverse_Part2.STLC.Strong.TyApp_t11", - "projection_inverse_Part2.STLC.Strong.TyApp_t12", - "subterm_ordering_Part2.STLC.Strong.SApp1", - "subterm_ordering_Part2.STLC.Strong.SApp2", - "subterm_ordering_Part2.STLC.Strong.SStrong", - "subterm_ordering_Part2.STLC.Strong.STrans" - ], - 0, - "dbea0585d576411884b94cf6f8aa1976" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.STLC.fst.hints b/doc/book/code/Part2.STLC.fst.hints deleted file mode 100644 index 0ca0703fea9..00000000000 --- a/doc/book/code/Part2.STLC.fst.hints +++ /dev/null @@ -1,1086 +0,0 @@ -[ - "•\u007fçÿ\u0001Šð²³o€×ÿÍ~’", - [ - [ - "Part2.STLC.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "eed11880b6eefbc8e3d458a9e7f00d28" - ], - [ - "Part2.STLC.__proj__TArr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" - ], - 0, - "64e22c4d51b29e5c380a78b92de51fca" - ], - [ - "Part2.STLC.__proj__TArr__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" - ], - 0, - "23b7dab9af02c9b1db022dadd59e7dac" - ], - [ - "Part2.STLC.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Part2.STLC.typ__uu___haseq", "equation_Part2.STLC.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "dd099f88637a43575c20a0f6d9b65aee" - ], - [ - "Part2.STLC.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a33d2a5e9563090c25ee7a18ccaecd18" - ], - 0, - "812d53994518b3a2237befea38652179" - ], - [ - "Part2.STLC.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" - ], - 0, - "05acba775e7465dadb731a20581c387e" - ], - [ - "Part2.STLC.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" - ], - 0, - "86b3d67bda6ee47111d46ed3fe99593a" - ], - [ - "Part2.STLC.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" - ], - 0, - "0413cfe5a64f893ea07de467007eb53b" - ], - [ - "Part2.STLC.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" - ], - 0, - "21a1ce9eea3194a4506046cfb9eb4da6" - ], - [ - "Part2.STLC.sub_beta0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "083ae28a777dfc4570e462c583c62403" - ], - [ - "Part2.STLC.sub_inc0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fd2bfbcbbfd36c36632e76f32ebc4289" - ], - [ - "Part2.STLC.sub_inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0a0c47407cade53a2b3132273fc423c1" - ], - [ - "Part2.STLC.sub_inc", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EVar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.EVar__0" - ], - 0, - "bedc99902c509f5a19bf29cae027b790" - ], - [ - "Part2.STLC.sub_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EVar", "equation_Part2.STLC.var", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_1b62cfe16dc9bf1464c79e0d479238a1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Part2.STLC.uu___is_EVar" - ], - 0, - "86e1e24d20beb68e45007fe1bb7e57db" - ], - [ - "Part2.STLC.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_2", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EApp", "disc_equation_Part2.STLC.ELam", - "disc_equation_Part2.STLC.EUnit", "disc_equation_Part2.STLC.EVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.sub", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.exp", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__0", - "projection_inverse_Part2.STLC.ELam__1", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "subterm_ordering_Part2.STLC.EApp", - "subterm_ordering_Part2.STLC.ELam", "typing_Part2.STLC.bool_order", - "typing_Part2.STLC.uu___is_EUnit", "typing_Part2.STLC.uu___is_EVar", - "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" - ], - 0, - "7c209011ab02cb8e0b23e6b46e08c3ec" - ], - [ - "Part2.STLC.subst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_interpretation_Tm_arrow_c9b4ef96ab5da9e78dfe025bc15e63d9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "bool_typing", "constructor_distinct_Part2.STLC.EVar", - "data_elim_Part2.STLC.EVar", "disc_equation_Part2.STLC.EVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.sub", - "equation_Part2.STLC.sub_inc", "equation_Part2.STLC.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_2de7c21b0601c0f4dd3f55faefa9de23", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_19e3aab2d61e5fe7b20d7a7ff467da25", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", - "typing_Part2.STLC.bool_order", "typing_Part2.STLC.sub_inc", - "typing_Part2.STLC.subst", "typing_Part2.STLC.uu___is_EVar", - "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" - ], - 0, - "e89807d78fd1648466f5051049754821" - ], - [ - "Part2.STLC.subst1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_2", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EApp", "disc_equation_Part2.STLC.ELam", - "disc_equation_Part2.STLC.EUnit", "disc_equation_Part2.STLC.EVar", - "equality_tok_Part2.STLC.EUnit@tok", "equation_Part2.STLC.sub", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.exp", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "subterm_ordering_Part2.STLC.EApp", - "subterm_ordering_Part2.STLC.ELam", - "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" - ], - 0, - "12903435b7e02009f9b98ee4af98e977" - ], - [ - "Part2.STLC.subst1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_interpretation_Tm_arrow_c9b4ef96ab5da9e78dfe025bc15e63d9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "bool_typing", "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EVar", "equation_Part2.STLC.bool_order", - "equation_Part2.STLC.sub", "equation_Part2.STLC.sub_inc", - "equation_Part2.STLC.var", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63dc0e8f7a71b1e2d7a3761e4423ece1", - "refinement_interpretation_Tm_refine_bd0098dd84320b904459039b58648ab1", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", - "refinement_interpretation_Tm_refine_f33fa498c0f9211de079c0bb0e1864f0", - "typing_Part2.STLC.sub_inc", "typing_Part2.STLC.subst1", - "typing_Part2.STLC.uu___is_EVar", "well-founded-ordering-on-nat" - ], - 0, - "905560084ae25e7c374d9f233b6c46aa" - ], - [ - "Part2.STLC.step", - 1, - 2, - 1, - [ - "@query", "assumption_Part2.STLC.exp__uu___haseq", - "assumption_Part2.STLC.typ__uu___haseq" - ], - 0, - "6b6f33956761486c833b9ea52d564bae" - ], - [ - "Part2.STLC.__proj__Beta__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "b7e30d4e5e10a598eccc6a09714a5333" - ], - [ - "Part2.STLC.__proj__Beta__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "c8aeedf29046c25d2cd42a1fd0f1abdb" - ], - [ - "Part2.STLC.__proj__Beta__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "4081a3a7006f5e855d261c2acf3473c1" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "819d0c7af8fa0e912e8161de7af9a670" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "44e88619e47a42d9c4d0d741133a06f3" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "77ac786c9fc3aafa867f39baec5acf30" - ], - [ - "Part2.STLC.__proj__AppLeft__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.AppLeft", - "proj_equation_Part2.STLC.AppLeft_e1", - "proj_equation_Part2.STLC.AppLeft_e1_", - "projection_inverse_Part2.STLC.AppLeft_e1", - "projection_inverse_Part2.STLC.AppLeft_e1_", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "a6431e2938c9770c175671884a117f38" - ], - [ - "Part2.STLC.__proj__AppRight__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "b3a05d7e15f937d27b20b533ea8a0531" - ], - [ - "Part2.STLC.__proj__AppRight__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "ad1dfebeec1e7fd5a827f1d3f0fd0386" - ], - [ - "Part2.STLC.__proj__AppRight__item__e2'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "eecb372ea66956f1a5b389c95d7fd2ad" - ], - [ - "Part2.STLC.__proj__AppRight__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.AppRight", - "proj_equation_Part2.STLC.AppRight_e2", - "proj_equation_Part2.STLC.AppRight_e2_", - "projection_inverse_Part2.STLC.AppRight_e2", - "projection_inverse_Part2.STLC.AppRight_e2_", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "ea08c98cbf37aa5a3786f70bc72cfcdf" - ], - [ - "Part2.STLC.steps", - 1, - 2, - 1, - [ - "@query", "assumption_Part2.STLC.exp__uu___haseq", - "assumption_Part2.STLC.step__uu___haseq" - ], - 0, - "18d564d11d06afdee4f3780c9508692d" - ], - [ - "Part2.STLC.__proj__Single__item__e0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" - ], - 0, - "43a910b49df526d42db1b0994b15e531" - ], - [ - "Part2.STLC.__proj__Single__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" - ], - 0, - "c4ceb04aca3b4272090d9e2f4b99fd0b" - ], - [ - "Part2.STLC.__proj__Single__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.Single", - "proj_equation_Part2.STLC.Single_e0", - "proj_equation_Part2.STLC.Single_e1", - "projection_inverse_Part2.STLC.Single_e0", - "projection_inverse_Part2.STLC.Single_e1", - "refinement_interpretation_Tm_refine_eb00c229a85f7cf9af69a912bf6888e4" - ], - 0, - "f279fe9aa60b59149179604084a0dfd5" - ], - [ - "Part2.STLC.__proj__Many__item__e0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" - ], - 0, - "fcd0f757a71168dc0130080f080559fb" - ], - [ - "Part2.STLC.__proj__Many__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" - ], - 0, - "787d002e3a282e7f8420b56b059aba9e" - ], - [ - "Part2.STLC.__proj__Many__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" - ], - 0, - "8b62998c71f116b9e090e3c2a981f814" - ], - [ - "Part2.STLC.__proj__Many__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.Many", - "proj_equation_Part2.STLC.Many_e0", - "proj_equation_Part2.STLC.Many_e1", - "projection_inverse_Part2.STLC.Many_e0", - "projection_inverse_Part2.STLC.Many_e1", - "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" - ], - 0, - "70f30031689d7db8689c127e475ca323" - ], - [ - "Part2.STLC.__proj__Many__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.Many", - "proj_equation_Part2.STLC.Many_e1", - "proj_equation_Part2.STLC.Many_e2", - "projection_inverse_Part2.STLC.Many_e1", - "projection_inverse_Part2.STLC.Many_e2", - "refinement_interpretation_Tm_refine_810d5a74e67221f15b7cb0772319f933" - ], - 0, - "7e0199e5a6f6a374a923306c655eeb72" - ], - [ - "Part2.STLC.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b50370ae3e547a88a53be792b5081236" - ], - [ - "Part2.STLC.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" - ], - 0, - "1db060629afbe473a48513be38d1d48d" - ], - [ - "Part2.STLC.__proj__TyUnit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_458ed1c37648df81e4eddbf462b96636" - ], - 0, - "5fd6c734acbeb3c39e605ac2bc87d116" - ], - [ - "Part2.STLC.__proj__TyVar__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" - ], - 0, - "a8f80fbf35a87c4acff832c577c85b2b" - ], - [ - "Part2.STLC.__proj__TyVar__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyVar", - "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" - ], - 0, - "d959a1009abaa861749de5cf2c54b958" - ], - [ - "Part2.STLC.__proj__TyLam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "1658fb4610990c2fa837568b2932d165" - ], - [ - "Part2.STLC.__proj__TyLam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "9c63a81cc855c3d1b371c5a87a7690b2" - ], - [ - "Part2.STLC.__proj__TyLam__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "1102f8e10ce5f9d951ee6fecd906330c" - ], - [ - "Part2.STLC.__proj__TyLam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "97151a59a066005535480e81c316c5ab" - ], - [ - "Part2.STLC.__proj__TyLam__item__hbody", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyLam", - "proj_equation_Part2.STLC.TyLam_e1", - "proj_equation_Part2.STLC.TyLam_g", - "proj_equation_Part2.STLC.TyLam_t", - "proj_equation_Part2.STLC.TyLam_t_", - "projection_inverse_Part2.STLC.TyLam_e1", - "projection_inverse_Part2.STLC.TyLam_g", - "projection_inverse_Part2.STLC.TyLam_t", - "projection_inverse_Part2.STLC.TyLam_t_", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "03dd3c8b07de5258bed3cc6226501b60" - ], - [ - "Part2.STLC.__proj__TyApp__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "33838985cc45f306ff656a8c2649aca5" - ], - [ - "Part2.STLC.__proj__TyApp__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "b4e4178b0980a886d8d93418e2720dee" - ], - [ - "Part2.STLC.__proj__TyApp__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "d8d42dd4c55a96cb43947709e9ac5e55" - ], - [ - "Part2.STLC.__proj__TyApp__item__t11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "a876ec7392385fbb32826b6c31763d49" - ], - [ - "Part2.STLC.__proj__TyApp__item__t12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "d49c04ef6d9a97513daa6a88226ad9dc" - ], - [ - "Part2.STLC.__proj__TyApp__item__h1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyApp", - "proj_equation_Part2.STLC.TyApp_e1", - "proj_equation_Part2.STLC.TyApp_g", - "proj_equation_Part2.STLC.TyApp_t11", - "proj_equation_Part2.STLC.TyApp_t12", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "b51ac390133249144522a287c51af9d7" - ], - [ - "Part2.STLC.__proj__TyApp__item__h2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyApp", - "proj_equation_Part2.STLC.TyApp_e2", - "proj_equation_Part2.STLC.TyApp_g", - "proj_equation_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_t11", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "b7689777f28a9d580389bde726625ad7" - ], - [ - "Part2.STLC.progress", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Part2.STLC_pretyping_e841e6e464194e88d1dfdbd7a30122f9", - "binder_x_7ed5e02b6062c6f0c46517a8727c0e9c_0", - "binder_x_7f07a54f06ca879a0badc5aa9b3f09c1_2", - "binder_x_e841e6e464194e88d1dfdbd7a30122f9_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EUnit", - "constructor_distinct_Part2.STLC.EVar", - "constructor_distinct_Part2.STLC.TArr", - "constructor_distinct_Part2.STLC.TUnit", - "data_elim_Part2.STLC.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Part2.STLC.ELam", "disc_equation_Part2.STLC.EUnit", - "disc_equation_Part2.STLC.TyApp", - "equality_tok_Part2.STLC.EUnit@tok", - "equality_tok_Part2.STLC.TUnit@tok", "equation_Part2.STLC.empty", - "equation_Part2.STLC.is_value", - "fuel_guarded_inversion_Part2.STLC.typ", - "fuel_guarded_inversion_Part2.STLC.typing", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.ELam__0", - "projection_inverse_Part2.STLC.ELam__1", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "refinement_interpretation_Tm_refine_4dd6e1cf6ab8c1da888c1e146333b380", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b", - "subterm_ordering_Part2.STLC.EApp", "typing_Part2.STLC.uu___is_ELam", - "typing_Part2.STLC.uu___is_EUnit", "typing_tok_Part2.STLC.EUnit@tok", - "typing_tok_Part2.STLC.TUnit@tok" - ], - 0, - "c111672ab4526945c48609260a863f41" - ], - [ - "Part2.STLC.subst_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" - ], - 0, - "56233c5d9d09ed4fc6393acc2863dafc" - ], - [ - "Part2.STLC.substitution", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.STLC.sub_elam.fuel_instrumented", - "@fuel_correspondence_Part2.STLC.subst.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.sub_elam.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.subst.fuel_instrumented", "@query", - "Part2.STLC_interpretation_Tm_arrow_3fde94793e4352702e33568f84524ace", - "Part2.STLC_interpretation_Tm_arrow_712f4e4fcb5912ac9dd754e09c76ec37", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Part2.STLC_pretyping_e841e6e464194e88d1dfdbd7a30122f9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18fd788e03c31147f96c0298a51bc5a4_0", - "binder_x_18fd788e03c31147f96c0298a51bc5a4_5", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_1", - "binder_x_869dc3522990f6752b17c4783de7d0eb_4", - "binder_x_cfd31026f64830b2d708ae7864f25351_6", - "binder_x_e841e6e464194e88d1dfdbd7a30122f9_2", - "binder_x_f537159ed795b314b4e58c260361ae86_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EUnit", - "constructor_distinct_Part2.STLC.EVar", - "constructor_distinct_Part2.STLC.TyApp", - "data_elim_Part2.STLC.TyApp", "data_elim_Part2.STLC.TyLam", - "data_elim_Part2.STLC.TyUnit", "data_elim_Part2.STLC.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Part2.STLC.EVar", "disc_equation_Part2.STLC.TyApp", - "disc_equation_Part2.STLC.TyLam", "disc_equation_Part2.STLC.TyUnit", - "disc_equation_Part2.STLC.TyVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equality_tok_Part2.STLC.TUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.env", - "equation_Part2.STLC.extend", "equation_Part2.STLC.sub", - "equation_Part2.STLC.var", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.STLC.sub_elam.fuel_instrumented", - "equation_with_fuel_Part2.STLC.subst.fuel_instrumented", - "fuel_guarded_inversion_Part2.STLC.typing", - "function_token_typing_Part2.STLC.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_85ab00838dfe4b6efc9f846921e0c88c", - "interpretation_Tm_abs_d22096c997e9f07f22f773ec2e947cfe", - "kinding_Part2.STLC.typ@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__0", - "projection_inverse_Part2.STLC.ELam__1", - "projection_inverse_Part2.STLC.EVar__0", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_h1", - "projection_inverse_Part2.STLC.TyApp_h2", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "projection_inverse_Part2.STLC.TyLam_e1", - "projection_inverse_Part2.STLC.TyLam_g", - "projection_inverse_Part2.STLC.TyLam_t", - "projection_inverse_Part2.STLC.TyLam_t_", - "refinement_interpretation_Tm_refine_50e7de642855ca6a5033352d0a02d538", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b", - "refinement_interpretation_Tm_refine_a8efdd71c0bf2303c6916e3236cfe08c", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "subterm_ordering_Part2.STLC.EApp", - "subterm_ordering_Part2.STLC.ELam", - "token_correspondence_Part2.STLC.extend", - "token_correspondence_Part2.STLC.sub_elam", - "typing_Part2.STLC.bool_order", "typing_Part2.STLC.uu___is_EVar", - "typing_Part2.STLC.uu___is_TyApp", "typing_Part2.STLC.uu___is_TyLam", - "typing_Part2.STLC.uu___is_TyUnit", - "typing_tok_Part2.STLC.EUnit@tok", "typing_tok_Part2.STLC.TUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "59a26119e4d0753b09ac7a59ef4f528c" - ], - [ - "Part2.STLC.substitution_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_e841e6e464194e88d1dfdbd7a30122f9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Part2.STLC.TUnit@tok", "equation_Part2.STLC.extend", - "equation_Part2.STLC.sub_beta", "equation_Part2.STLC.var", - "equation_Prims.nat", "function_token_typing_Part2.STLC.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_85ab00838dfe4b6efc9f846921e0c88c", - "interpretation_Tm_abs_dea9a6abe5ee221f511e9f64c727fa85", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2befae4340bc3512ec417261c16c5d91", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Part2.STLC.sub_beta", - "typing_tok_Part2.STLC.TUnit@tok" - ], - 0, - "67eda3aeaf5ea3ae4aa329b49e9d80a3" - ], - [ - "Part2.STLC.preservation_step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_0", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_1", - "binder_x_98a0f19aef2b8e6043dbf8bc755a92b6_5", - "binder_x_a341b415fffbec44cf2df914f70352d3_4", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EUnit", - "constructor_distinct_Part2.STLC.EVar", - "constructor_distinct_Part2.STLC.TArr", - "constructor_distinct_Part2.STLC.TUnit", - "data_elim_Part2.STLC.AppLeft", "data_elim_Part2.STLC.AppRight", - "data_elim_Part2.STLC.Beta", "disc_equation_Part2.STLC.AppLeft", - "disc_equation_Part2.STLC.AppRight", "disc_equation_Part2.STLC.Beta", - "disc_equation_Part2.STLC.TyApp", "disc_equation_Part2.STLC.TyLam", - "equality_tok_Part2.STLC.EUnit@tok", - "equality_tok_Part2.STLC.TUnit@tok", - "fuel_guarded_inversion_Part2.STLC.exp", - "fuel_guarded_inversion_Part2.STLC.step", - "fuel_guarded_inversion_Part2.STLC.typing", - "proj_equation_Part2.STLC.TyLam_e1", - "proj_equation_Part2.STLC.TyLam_g", - "proj_equation_Part2.STLC.TyLam_t", - "proj_equation_Part2.STLC.TyLam_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__1", - "projection_inverse_Part2.STLC.TArr__0", - "projection_inverse_Part2.STLC.TArr__1", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_h1", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "subterm_ordering_Part2.STLC.EApp", "typing_tok_Part2.STLC.EUnit@tok" - ], - 0, - "8269d2ea3b3993cf8a3213aef190be00" - ], - [ - "Part2.STLC.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_38f4dd2d87a8cc319e98d2920d6efa23_5", - "data_elim_Part2.STLC.Many", "data_elim_Part2.STLC.Single", - "disc_equation_Part2.STLC.Many", "disc_equation_Part2.STLC.Single", - "fuel_guarded_inversion_Part2.STLC.steps", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.STLC.Many" - ], - 0, - "b401cfd9b275b6dd3b56ad026f5e380e" - ], - [ - "Part2.STLC.soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b39fe21bfef7ea4295f466c712a0d56c" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part2.WellFounded.fst.hints b/doc/book/code/Part2.WellFounded.fst.hints deleted file mode 100644 index 204a17feb09..00000000000 --- a/doc/book/code/Part2.WellFounded.fst.hints +++ /dev/null @@ -1,295 +0,0 @@ -[ - "ÖŒ0¢DeçõüáBÄ\u0012±t", - [ - [ - "Part2.WellFounded.fix_F", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_40f85999d856f0c0a49c750f59fba9bf_7", - "fuel_guarded_inversion_Part2.WellFounded.acc", - "proj_equation_Part2.WellFounded.AccIntro_access_smaller", - "token_correspondence_Part2.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" - ], - 0, - "61b19fc44b18bc6f8bd0a29bf35f148d" - ], - [ - "Part2.WellFounded.wf_lt_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "eq2-interp", - "equation_Part2.WellFounded.lt_nat", "equation_Prims.nat", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "e28fc4c540c528bd1d22635e9fea0a94" - ], - [ - "Part2.WellFounded.subrel_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.WellFounded_interpretation_Tm_arrow_1746c45d493cb65cef6c9dae848785d2", - "fuel_guarded_inversion_Part2.WellFounded.acc", - "proj_equation_Part2.WellFounded.AccIntro_access_smaller", - "token_correspondence_Part2.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" - ], - 0, - "401f8a9672e05480c5d9432c517178f4" - ], - [ - "Part2.WellFounded.inverse_image_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "equation_Part2.WellFounded.inverse_image", - "fuel_guarded_inversion_Part2.WellFounded.acc", - "interpretation_Tm_abs_edd09bedcd003825726f248e787a0aa1", - "proj_equation_Part2.WellFounded.AccIntro_access_smaller", - "token_correspondence_Part2.WellFounded.__proj__AccIntro__item__access_smaller", - "token_correspondence_Part2.WellFounded.inverse_image", - "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" - ], - 0, - "f4d2f142264d3c93019411c33a17bbc1" - ], - [ - "Part2.WellFounded.negate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.WellFounded.neg", - "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_53244119120a0c2642bc1a0709e77283" - ], - 0, - "a2bc8c2dc891aff1d2434e9bed35f9d1" - ], - [ - "Part2.WellFounded.__proj__Left_lex__item__x1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" - ], - 0, - "c6721e3018d050ba51b912a4aa0408aa" - ], - [ - "Part2.WellFounded.__proj__Left_lex__item__x2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" - ], - 0, - "0f496854dc19195f4a9d15beed1b3eec" - ], - [ - "Part2.WellFounded.__proj__Left_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" - ], - 0, - "4ca799b853af8be0d256a2710e4564ab" - ], - [ - "Part2.WellFounded.__proj__Left_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" - ], - 0, - "bbe6b70bacf4ca5d925e39b29f922866" - ], - [ - "Part2.WellFounded.__proj__Left_lex__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_f095a3e83ff7224da51a49875b4e334e" - ], - 0, - "3bbf4e25cb6b6413314058f010a28278" - ], - [ - "Part2.WellFounded.__proj__Right_lex__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" - ], - 0, - "50ef3729dcce58ff681f1f84469a0403" - ], - [ - "Part2.WellFounded.__proj__Right_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" - ], - 0, - "5fca99e63fa0b8c9d97b2a940eb15108" - ], - [ - "Part2.WellFounded.__proj__Right_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" - ], - 0, - "1373df8008fdf974fbd6edc20edab5e7" - ], - [ - "Part2.WellFounded.__proj__Right_lex__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.WellFounded.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_cf363fc3bd1f4d47c2eb173795e82412" - ], - 0, - "da674523bf6100a0b9f9589284116c01" - ], - [ - "Part2.WellFounded.mk_lt_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThan", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "ed24d2f6af5047c7e506e6fe54de5336" - ], - [ - "Part2.WellFounded.mk_lex_order_nat_pair", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_a6b719ee0ec38710e48ce4f7ee6fd3eb" - ], - 0, - "c74b22d8f0932d845d81036b4c1a8cef" - ], - [ - "Part2.WellFounded.ackermann'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "47961034b9b7898ebd2b4c10891899f8" - ], - [ - "Part2.WellFounded.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_d8c2eb804f203f236bcc530a1cb75bc0_4", - "fuel_guarded_inversion_Part2.WellFounded.acc", - "proj_equation_Part2.WellFounded.AccIntro_access_smaller", - "token_correspondence_Part2.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_Part2.WellFounded.AccIntro" - ], - 0, - "d0f4a2cebb88a9e5adae26f3c0c26900" - ], - [ - "Part2.WellFounded.ackermann_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "eq2-interp", - "equation_Part2.WellFounded.lt_nat", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d770b7da5dc8f81e7b8f6e6bb125b5f9" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part4.UTLCEx1.fst.hints b/doc/book/code/Part4.UTLCEx1.fst.hints deleted file mode 100644 index aaab458c296..00000000000 --- a/doc/book/code/Part4.UTLCEx1.fst.hints +++ /dev/null @@ -1,223 +0,0 @@ -[ - "©\u0012¸ô”M\u0005y}Ÿ\u001eŠ~[\u001e", - [ - [ - "Part4.UTLCEx1.term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part4.UTLCEx1.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c743af2ae2e5205afcff3f80d5eed4d4" - ], - [ - "Part4.UTLCEx1.__proj__Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d9b7d79b3de8de761e37900c421312d6" - ], - 0, - "3b8009533053680918a5815c75c021e1" - ], - [ - "Part4.UTLCEx1.__proj__Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5cb51cd6c4512d168a64a25fcb1f009" - ], - 0, - "f53a0fdd5e065a83097085c0d2a10bbe" - ], - [ - "Part4.UTLCEx1.__proj__Lam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2821279e37b7e4d56c35062dfda424c" - ], - 0, - "e054717b2b1ce1be66fbfc520f32d64f" - ], - [ - "Part4.UTLCEx1.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92b3b3b7fb8c1c7efa51e31e2cfaa929" - ], - 0, - "bcb8780fff57b589d2382b88ddcfd1eb" - ], - [ - "Part4.UTLCEx1.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92b3b3b7fb8c1c7efa51e31e2cfaa929" - ], - 0, - "aff3574d99145a0be899c03b5c61f4f7" - ], - [ - "Part4.UTLCEx1.closed'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part4.UTLCEx1_pretyping_9491e674fcc82794b99776b13f9f7d1a", - "binder_x_9491e674fcc82794b99776b13f9f7d1a_0", - "disc_equation_Part4.UTLCEx1.App", "disc_equation_Part4.UTLCEx1.Int", - "disc_equation_Part4.UTLCEx1.Lam", "disc_equation_Part4.UTLCEx1.Var", - "fuel_guarded_inversion_Part4.UTLCEx1.term", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part4.UTLCEx1.App", - "subterm_ordering_Part4.UTLCEx1.Lam" - ], - 0, - "01230b51a526b7f11b061a9cd3d92778" - ], - [ - "Part4.UTLCEx1.closed'_weaken", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "@fuel_irrelevance_Part4.UTLCEx1.closed_.fuel_instrumented", - "@query", "Part4.UTLCEx1_pretyping_9491e674fcc82794b99776b13f9f7d1a", - "binder_x_9491e674fcc82794b99776b13f9f7d1a_0", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_ae567c2fb75be05905677af440075565_2", "bool_inversion", - "constructor_distinct_Part4.UTLCEx1.App", - "constructor_distinct_Part4.UTLCEx1.Int", - "constructor_distinct_Part4.UTLCEx1.Lam", - "constructor_distinct_Part4.UTLCEx1.Var", - "disc_equation_Part4.UTLCEx1.App", "disc_equation_Part4.UTLCEx1.Int", - "disc_equation_Part4.UTLCEx1.Lam", "disc_equation_Part4.UTLCEx1.Var", - "equation_with_fuel_Part4.UTLCEx1.closed_.fuel_instrumented", - "fuel_guarded_inversion_Part4.UTLCEx1.term", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part4.UTLCEx1.App__0", - "projection_inverse_Part4.UTLCEx1.App__1", - "projection_inverse_Part4.UTLCEx1.Int__0", - "projection_inverse_Part4.UTLCEx1.Lam__0", - "projection_inverse_Part4.UTLCEx1.Var__0", - "refinement_interpretation_Tm_refine_af80a4431de3bad45f241e104fe1e2b2", - "subterm_ordering_Part4.UTLCEx1.App", - "subterm_ordering_Part4.UTLCEx1.Lam", - "token_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "typing_Part4.UTLCEx1.closed_", "typing_Part4.UTLCEx1.uu___is_Int" - ], - 0, - "5ecd3733939fe5a3b8dc679b3666be50" - ], - [ - "Part4.UTLCEx1.subst", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "@fuel_irrelevance_Part4.UTLCEx1.closed_.fuel_instrumented", - "@query", "Part4.UTLCEx1_pretyping_9491e674fcc82794b99776b13f9f7d1a", - "binder_x_0604a77979be37c12b7ebe95757d92c1_1", - "binder_x_7cbe29122cdf563fa23b2ad8a5a970ae_0", - "binder_x_b335d24ace6d1b1db19215a20ca241b2_2", "bool_inversion", - "constructor_distinct_Part4.UTLCEx1.App", - "constructor_distinct_Part4.UTLCEx1.Int", - "constructor_distinct_Part4.UTLCEx1.Lam", - "constructor_distinct_Part4.UTLCEx1.Var", - "disc_equation_Part4.UTLCEx1.App", "disc_equation_Part4.UTLCEx1.Int", - "disc_equation_Part4.UTLCEx1.Lam", "disc_equation_Part4.UTLCEx1.Var", - "equation_Part4.UTLCEx1.closed", "equation_Part4.UTLCEx1.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Part4.UTLCEx1.closed_.fuel_instrumented", - "fuel_guarded_inversion_Part4.UTLCEx1.term", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part4.UTLCEx1.App__0", - "projection_inverse_Part4.UTLCEx1.App__1", - "projection_inverse_Part4.UTLCEx1.Int__0", - "projection_inverse_Part4.UTLCEx1.Lam__0", - "projection_inverse_Part4.UTLCEx1.Var__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba946dc31f3e0dbbdfff3cd126b9215c", - "refinement_interpretation_Tm_refine_d3c905dd14322c27e4532895d391844f", - "refinement_interpretation_Tm_refine_f1d8293da4f41779dbc94f611d8ef6ea", - "refinement_interpretation_Tm_refine_fc59cd67aae6da8fa8919bfcaa2723ae", - "subterm_ordering_Part4.UTLCEx1.App", - "subterm_ordering_Part4.UTLCEx1.Lam", - "token_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "typing_Part4.UTLCEx1.closed", "typing_Part4.UTLCEx1.closed_", - "typing_Part4.UTLCEx1.uu___is_Var" - ], - 0, - "a4e9571709fb28f8731931fdc8f0bce4" - ], - [ - "Part4.UTLCEx1.interpret", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "@fuel_irrelevance_Part4.UTLCEx1.closed_.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Part4.UTLCEx1.App", - "constructor_distinct_Part4.UTLCEx1.Lam", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_Part4.UTLCEx1.Var", - "data_typing_intro_Part4.UTLCEx1.Lam@tok", - "disc_equation_Part4.UTLCEx1.App", "disc_equation_Part4.UTLCEx1.Int", - "disc_equation_Part4.UTLCEx1.Lam", "equation_Part4.UTLCEx1.closed", - "equation_Part4.UTLCEx1.var", "equation_Prims.nat", - "equation_with_fuel_Part4.UTLCEx1.closed_.fuel_instrumented", - "fuel_guarded_inversion_Part4.UTLCEx1.term", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part4.UTLCEx1.App__0", - "projection_inverse_Part4.UTLCEx1.App__1", - "projection_inverse_Part4.UTLCEx1.Lam__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fc59cd67aae6da8fa8919bfcaa2723ae", - "token_correspondence_Part4.UTLCEx1.closed_.fuel_instrumented", - "typing_Part4.UTLCEx1.closed" - ], - 0, - "b25183eec40a48eba4d11e6f3a0ebd82" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part4.UTLCEx2.fst.hints b/doc/book/code/Part4.UTLCEx2.fst.hints deleted file mode 100644 index 18515bf1e0e..00000000000 --- a/doc/book/code/Part4.UTLCEx2.fst.hints +++ /dev/null @@ -1,215 +0,0 @@ -[ - "5‚Tkø$⦈\u0015«(\u0006ñÂŒ", - [ - [ - "Part4.UTLCEx2.term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part4.UTLCEx2.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f58e1c78fd646e4e86cb7d2806d2dce2" - ], - [ - "Part4.UTLCEx2.__proj__Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4ff61267ad9445edb028b8951070a572" - ], - 0, - "95503d4cff09027c3746e4a8b9da0bdb" - ], - [ - "Part4.UTLCEx2.__proj__Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_020bd6cbc9e7d25fb84c5a0b9e0c27a1" - ], - 0, - "4abb778e1807fa9cfaf124e4ac5485be" - ], - [ - "Part4.UTLCEx2.__proj__Lam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_51fda4c8b6822223252f53a1d166a129" - ], - 0, - "02bec03ca8c7a17b3393029cb3fc87d8" - ], - [ - "Part4.UTLCEx2.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e348bfe229195f6b9d1c40ff16d6f28b" - ], - 0, - "eb9b64a3ff42f5552c6378ed70548192" - ], - [ - "Part4.UTLCEx2.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e348bfe229195f6b9d1c40ff16d6f28b" - ], - 0, - "94ea17cffb743486be576019835fced7" - ], - [ - "Part4.UTLCEx2.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part4.UTLCEx2_pretyping_9f6395c75806569b72809e9589029021", - "binder_x_9f6395c75806569b72809e9589029021_0", - "disc_equation_Part4.UTLCEx2.App", "disc_equation_Part4.UTLCEx2.Int", - "disc_equation_Part4.UTLCEx2.Lam", "disc_equation_Part4.UTLCEx2.Var", - "fuel_guarded_inversion_Part4.UTLCEx2.term", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part4.UTLCEx2.App", - "subterm_ordering_Part4.UTLCEx2.Lam" - ], - 0, - "c03e5773d4ba41eb421832f93a146018" - ], - [ - "Part4.UTLCEx2.__proj__DErr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_efbb2e8c81db31143ef9fcdf49712a2b" - ], - 0, - "3966c7baa31f17f3ec7d57e988fe412d" - ], - [ - "Part4.UTLCEx2.__proj__DInt__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84350afeb2705875933c4811a0654da8" - ], - 0, - "df78810c2d5925baa7266a4938b07711" - ], - [ - "Part4.UTLCEx2.__proj__DFun__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ba1647c5f3d08d7dd5ac75b84060a053" - ], - 0, - "a3a60163c3ec1de2e6148b476f509c78" - ], - [ - "Part4.UTLCEx2.shift", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a927208ed63cb8d3ef190387bdd1e099" - ], - 0, - "d7a85344b59275a15c2a49580b4ac462" - ], - [ - "Part4.UTLCEx2.denote", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part4.UTLCEx2.free.fuel_instrumented", - "@fuel_irrelevance_Part4.UTLCEx2.free.fuel_instrumented", "@query", - "constructor_distinct_Part4.UTLCEx2.App", - "constructor_distinct_Part4.UTLCEx2.Lam", - "constructor_distinct_Part4.UTLCEx2.Var", - "disc_equation_Part4.UTLCEx2.App", - "disc_equation_Part4.UTLCEx2.DErr", - "disc_equation_Part4.UTLCEx2.DFun", - "disc_equation_Part4.UTLCEx2.DInt", - "disc_equation_Part4.UTLCEx2.Int", "disc_equation_Part4.UTLCEx2.Lam", - "disc_equation_Part4.UTLCEx2.Var", "equation_Part4.UTLCEx2.max", - "equation_with_fuel_Part4.UTLCEx2.free.fuel_instrumented", - "fuel_guarded_inversion_Part4.UTLCEx2.dyn", - "fuel_guarded_inversion_Part4.UTLCEx2.term", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part4.UTLCEx2.App__0", - "projection_inverse_Part4.UTLCEx2.App__1", - "projection_inverse_Part4.UTLCEx2.Lam__0", - "projection_inverse_Part4.UTLCEx2.Var__0" - ], - 0, - "abd69bb9484e66e3d59b86df3da3d35f" - ], - [ - "Part4.UTLCEx2.empty_context", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4ce48492e9b202f5028f2185d4f385a0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "49ad0ec8513b4d3ba4a29a7fb5e55839" - ], - [ - "Part4.UTLCEx2.denote_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Part4.UTLCEx2.free.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part4.UTLCEx2.closed", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7c06bd7ffa422fcac3d578df766fb281" - ], - 0, - "6923fdffbb3de9f1ea08e41e662c455b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part5.IsConj.fst.hints b/doc/book/code/Part5.IsConj.fst.hints deleted file mode 100644 index 6024e94584b..00000000000 --- a/doc/book/code/Part5.IsConj.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "(µ†Z\rý\u001f\u0005?|ĉ€ã\u007fb", [] ] \ No newline at end of file diff --git a/doc/book/code/Part5.Mapply.fst.hints b/doc/book/code/Part5.Mapply.fst.hints deleted file mode 100644 index d6930443972..00000000000 --- a/doc/book/code/Part5.Mapply.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "\u001a€Nô£D\u007fBƆ~“ó–&", - [ - [ - "Part5.Mapply.test", - 1, - 2, - 1, - [ "@query", "true_interp" ], - 0, - "04989a8c6fb75fa7ce851eca6610e76d" - ], - [ - "Part5.Mapply.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7a3bd9cfd60e65a77a656fd59cd76e42" - ], - 0, - "b2e73109b98390cd3c69f342e78c9806" - ], - [ - "Part5.Mapply.test", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7a3bd9cfd60e65a77a656fd59cd76e42" - ], - 0, - "b2e73109b98390cd3c69f342e78c9806" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Part5.Pow2.fst.hints b/doc/book/code/Part5.Pow2.fst.hints deleted file mode 100644 index 9b85c4882b1..00000000000 --- a/doc/book/code/Part5.Pow2.fst.hints +++ /dev/null @@ -1,44 +0,0 @@ -[ - "X_¨GDzI52‘Î_´5š•", - [ - [ - "Part5.Pow2.pow2_bound_19''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a75c5cc72eea156d9d6fd6947ebe325", - "true_interp" - ], - 0, - "1cf94998e10d0a8d3890a332f7d5a60f" - ], - [ - "Part5.Pow2.pow2_bound_19'''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a75c5cc72eea156d9d6fd6947ebe325", - "true_interp" - ], - 0, - "8477178e033d9d9a5ac9b7ee7c703bd6" - ], - [ - "Part5.Pow2.pow2_bound_19''''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9a75c5cc72eea156d9d6fd6947ebe325", - "true_interp" - ], - 0, - "15a81b5d477bd18bc3c03141621d756e" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/ProvableEquality.fst.hints b/doc/book/code/ProvableEquality.fst.hints deleted file mode 100644 index 5acb2e360ea..00000000000 --- a/doc/book/code/ProvableEquality.fst.hints +++ /dev/null @@ -1,336 +0,0 @@ -[ - "*8¥K¦ÇêQÙõⓧ\u0018\u0004\u0018", - [ - [ - "ProvableEquality.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5227eea020a398f1ae1b23773bae7e91" - ], - [ - "ProvableEquality.vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4ccb88d62554dad7dd66e1fa7c880ec4" - ], - [ - "ProvableEquality.__proj__Cons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" - ], - 0, - "c72d459ad3b2b63d8e74ac2a688e3d00" - ], - [ - "ProvableEquality.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" - ], - 0, - "8add3162f06b32541218e95324fe3b6a" - ], - [ - "ProvableEquality.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_ProvableEquality.Cons", - "refinement_interpretation_Tm_refine_a2365be9b7f040248516d13a6266b140" - ], - 0, - "ed81e835d2b3044f30ce3a3561b5dcda" - ], - [ - "ProvableEquality.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ed2abf026227591453c332939d712c4a" - ], - [ - "ProvableEquality.equals", - 1, - 2, - 1, - [ "@query" ], - 0, - "e707936d9678f7fd0ac432542f095752" - ], - [ - "ProvableEquality.symmetry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "6f666152f025a4efd052075236f61675" - ], - [ - "ProvableEquality.transitivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "9a3a4b8ae27186dda7f8c01ab221594e" - ], - [ - "ProvableEquality.uip_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "28922242515767bae235fbd88298a0f3" - ], - [ - "ProvableEquality.uip_refl_explicit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "f0ee6acf65e2db30c3e8e7b0b35c8d6f" - ], - [ - "ProvableEquality.uip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "d64ac561d4b8a680413ab63b9a692698" - ], - [ - "ProvableEquality.pconv_vec_z", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0cc3b8bc4390a8152398abb544530a43" - ], - 0, - "df81cbce880c44fc536fb05b88e5fc79" - ], - [ - "ProvableEquality.pconv_vec_nm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "39480a7398ae38429e9b11b08463df51" - ], - [ - "ProvableEquality.pconv_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1f5ab8b59c8e7f172e4f39cbe2899a5d" - ], - 0, - "9b0aa8c1442f61779f561c3ec6ce71a1" - ], - [ - "ProvableEquality.pconv_ab", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "0208134769a54ada7d7fd97f985c3f9f" - ], - [ - "ProvableEquality.pconv_der", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0da555bbe11d10924e139a6451fdb45d" - ], - 0, - "43c9873ac32e6b40ddcfc8f87ade6c27" - ], - [ - "ProvableEquality.equals_lbz_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "039cb1b9675c5ee9e48f3f24a3779b22" - ], - [ - "ProvableEquality.full_funext_false", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_ProvableEquality.f", "equation_ProvableEquality.g", - "equation_ProvableEquality.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_ProvableEquality.f", - "function_token_typing_ProvableEquality.g", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "dc80ee8b4d9b6abbfcdcd1948d2a9c6a" - ], - [ - "ProvableEquality.eta_equiv_false", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_ProvableEquality.f", "equation_ProvableEquality.g", - "equation_ProvableEquality.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_ProvableEquality.f", - "function_token_typing_ProvableEquality.g", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_e4c025b9e2bb23444824553ab6c4e094" - ], - 0, - "7b2713e307e70e31bb8b03e42bc3a3fb" - ], - [ - "ProvableEquality.dec_equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "44f89ec859eeecca172f9e888e4c267e" - ], - [ - "ProvableEquality.equals_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_ProvableEquality.equals" - ], - 0, - "3c1ffe857838209a4d1f6a5ed67c24e0" - ], - [ - "ProvableEquality.__proj__Node__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_78a78ab6b86c5d95d4a09252057f5f84" - ], - 0, - "c152c7bc0aaa1bfff3afff0ba1eceb3e" - ], - [ - "ProvableEquality.__proj__Node__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_78a78ab6b86c5d95d4a09252057f5f84" - ], - 0, - "29b898e50093a30ce06ece4af00c69f7" - ], - [ - "ProvableEquality.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "assumption_Prims.list__uu___haseq", - "assumption_ProvableEquality.t__uu___haseq", "equation_Prims.eqtype", - "function_token_typing_Prims.bool", "kinding_Prims.list@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Prims.list@tok" - ], - 0, - "44a215f14251747a879e4a856da8dbfd" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Pure.fst.hints b/doc/book/code/Pure.fst.hints deleted file mode 100644 index 2ee4cfaba17..00000000000 --- a/doc/book/code/Pure.fst.hints +++ /dev/null @@ -1,157 +0,0 @@ -[ - "¸œlͦ{dòh>\u00023ų°K", - [ - [ - "Pure.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" - ], - 0, - "150f6fb079105b36a2f0799802179605" - ], - [ - "Pure.fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "67fb8a6e81343483a0331ec80688ef17" - ], - [ - "Pure.left_identity", - 1, - 2, - 1, - [ - "@query", "equation_Pure.bind_wp", - "equation_Pure.op_Equals_Tilde_Equals", "equation_Pure.return_wp", - "interpretation_Tm_abs_4e36e1ee7c344dfb6c12b70aa1a0aa1a", - "interpretation_Tm_abs_5c1e0a5743352832b5ccb0a687945ffc", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472" - ], - 0, - "9d966612d3de4690fdfb0521e2cbfb21" - ], - [ - "Pure.right_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Pure.bind_wp", - "equation_Pure.monotonic", "equation_Pure.mwp", - "equation_Pure.op_Equals_Tilde_Equals", "equation_Pure.post", - "equation_Pure.return_wp", - "interpretation_Tm_abs_4e36e1ee7c344dfb6c12b70aa1a0aa1a", - "interpretation_Tm_abs_5c1e0a5743352832b5ccb0a687945ffc", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "refinement_interpretation_Tm_refine_286c9b7a4452aa84b560c9de02c8e5de", - "token_correspondence_Pure.return_wp", - "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" - ], - 0, - "a9e210b19540ce8debb0c1886c651add" - ], - [ - "Pure.associativity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Pure.bind_wp", - "equation_Pure.monotonic", "equation_Pure.mwp", - "equation_Pure.op_Equals_Tilde_Equals", "equation_Pure.post", - "interpretation_Tm_abs_4e36e1ee7c344dfb6c12b70aa1a0aa1a", - "interpretation_Tm_abs_9b4afa6de0a23c991f1b9a80eeade41e", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "refinement_interpretation_Tm_refine_286c9b7a4452aa84b560c9de02c8e5de", - "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" - ], - 0, - "5d48db364c07496ecc25422cac6325b9" - ], - [ - "Pure.square", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "acfd59e1784a2a4680863aaa2eb5c016" - ], - [ - "Pure.maybe_incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Pure.bind_wp", "equation_Pure.if_then_else_wp", - "equation_Pure.return_wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3cddfe7fbbc72a2153f423c869ddff79", - "interpretation_Tm_abs_44d9da303981618652add119a779e520", - "interpretation_Tm_abs_4e36e1ee7c344dfb6c12b70aa1a0aa1a", - "interpretation_Tm_abs_5c1e0a5743352832b5ccb0a687945ffc", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "primitive_Prims.op_Addition", - "token_correspondence_Pure.if_then_else_wp" - ], - 0, - "33a2bae34cbad48169554800cc6492fe" - ], - [ - "Pure.maybe_incr2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "52a784810b392fd074723d33c36fb023" - ], - [ - "Pure.maybe_incr_tot", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "66764a958ce605df6fdbe790f8057494" - ], - [ - "Pure.assert_wp", - 1, - 2, - 1, - [ "@query" ], - 0, - "c5c0691baf4406fd4e1cc80a11bc2a6e" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/RevealHideCoercions.fst.hints b/doc/book/code/RevealHideCoercions.fst.hints deleted file mode 100644 index 0b7fd30e395..00000000000 --- a/doc/book/code/RevealHideCoercions.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "ˆ£6Ü\u0000\tçÊõћ$JÅL", - [ - [ - "RevealHideCoercions.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6a0038690dab4e085a21d04b9583030b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Russell.fst.hints b/doc/book/code/Russell.fst.hints deleted file mode 100644 index 9caa66c43e4..00000000000 --- a/doc/book/code/Russell.fst.hints +++ /dev/null @@ -1,62 +0,0 @@ -[ - "qº§‘Ø’4®\u000b¨Ç¼ýJ>¨", - [ - [ - "Russell.zero", - 1, - 2, - 1, - [ "@query", "equation_Prims.l_False", "false_interp" ], - 0, - "5a45b4d19f3758dc79b3ded9ee4d28cd" - ], - [ - "Russell.x_in_delta_x_not_in_delta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_Prims.eq2", - "equation_Prims.squash", "equation_Russell.delta", - "equation_Russell.delta_big", "equation_Russell.set", - "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Russell.Set_f", - "proj_equation_Russell.Set_x", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Russell.Set_f", - "projection_inverse_Russell.Set_x", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Pervasives.dfst", - "token_correspondence_Russell.__proj__Set__item__f" - ], - 0, - "2a6a38b5542f9e24266f17ba6efcaa01" - ], - [ - "Russell.x_not_mem_x_x_mem_delta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Russell_interpretation_Tm_arrow_7a21556c5f72d0ab3a596800ca76b4da", - "data_typing_intro_Prims.Mkdtuple2@tok", - "equation_FStar.Pervasives.dfst", "equation_Russell.delta", - "equation_Russell.delta_big", "equation_Russell.set", - "function_token_typing_Russell.set", - "interpretation_Tm_abs_00c6031da87949e271baff96ec88e49e", - "proj_equation_Prims.Mkdtuple2__1", "proj_equation_Russell.Set_f", - "proj_equation_Russell.Set_x", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Russell.Set_f", - "projection_inverse_Russell.Set_x", - "token_correspondence_FStar.Pervasives.dfst", - "token_correspondence_Russell.__proj__Set__item__f", - "typing_Tm_abs_00c6031da87949e271baff96ec88e49e" - ], - 0, - "f3d580b2a2c02ed89c5f1e7029047221" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/SMTEncoding.fst.hints b/doc/book/code/SMTEncoding.fst.hints deleted file mode 100644 index 5798ec75b4c..00000000000 --- a/doc/book/code/SMTEncoding.fst.hints +++ /dev/null @@ -1,34 +0,0 @@ -[ - "ôíáyl¯4ZZÓ5@v=\u001a8", - [ - [ - "SMTEncoding.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c98f09158f071b83a33b606efe1414a2" - ], - [ - "SMTEncoding.force_a_query", - 1, - 2, - 1, - [ - "@query", "equation_Prims.l_True", "equation_SMTEncoding.id", - "true_interp" - ], - 0, - "0baf32cced10c48e201b25c3cbc6a93f" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/SimplifiedFStarSet.fst.hints b/doc/book/code/SimplifiedFStarSet.fst.hints deleted file mode 100644 index d2bd59666f8..00000000000 --- a/doc/book/code/SimplifiedFStarSet.fst.hints +++ /dev/null @@ -1,166 +0,0 @@ -[ - "Ôdzg±ïa\u0001%\u001bEÏ\u0007W¨Ÿ", - [ - [ - "SimplifiedFStarSet.equal", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "defn_equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.set", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "4bad78f24c4c3569f8f24f90445ec4eb" - ], - [ - "SimplifiedFStarSet.mem_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "SimplifiedFStarSet_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.empty", - "equation_SimplifiedFStarSet.mem", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "4cc9111daca4346b27ce43507eaea943" - ], - [ - "SimplifiedFStarSet.mem_singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "SimplifiedFStarSet_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.mem", - "equation_SimplifiedFStarSet.singleton", - "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "c9fb886a8fb8ad3b3491f4265a4b98dd" - ], - [ - "SimplifiedFStarSet.mem_union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "SimplifiedFStarSet_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.mem", - "equation_SimplifiedFStarSet.union", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "e17a4a7fb88fc73f048405723010e598" - ], - [ - "SimplifiedFStarSet.mem_intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "SimplifiedFStarSet_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.intersect", - "equation_SimplifiedFStarSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "930bdc3c44aaf72fb0758a0c01a82b35" - ], - [ - "SimplifiedFStarSet.mem_complement", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "SimplifiedFStarSet_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.complement", - "equation_SimplifiedFStarSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "c85c15d9dd38ddeb1a8465af7f8e9868" - ], - [ - "SimplifiedFStarSet.equal_intro", - 1, - 0, - 0, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_SimplifiedFStarSet.equal", - "equation_SimplifiedFStarSet.mem" - ], - 0, - "e94c5536014a41e273f4c3bc86d6e160" - ], - [ - "SimplifiedFStarSet.equal_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_SimplifiedFStarSet.equal", - "equation_SimplifiedFStarSet.set", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "a21f128ddac5bc534e156b205467aa4e" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/SimplifiedFStarSet.fsti.hints b/doc/book/code/SimplifiedFStarSet.fsti.hints deleted file mode 100644 index 4c65bd231d8..00000000000 --- a/doc/book/code/SimplifiedFStarSet.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "+#\u0017`\u001be•¢\u001a\u001ad“z¤Û", [] ] \ No newline at end of file diff --git a/doc/book/code/Typeclasses.fst.hints b/doc/book/code/Typeclasses.fst.hints deleted file mode 100644 index 3ccb00df822..00000000000 --- a/doc/book/code/Typeclasses.fst.hints +++ /dev/null @@ -1,419 +0,0 @@ -[ - "U7ö÷D¼„ßSsŽc¥%\u0011˜", - [ - [ - "Typeclasses.printable_option", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "932b993a55ed900ad8b8fcd43c388dd3" - ], - [ - "Typeclasses.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, - "5fc41a49862114e307aad3ee3df73c14" - ], - [ - "Typeclasses.bounded_unsigned_int", - 1, - 2, - 1, - [ "@query" ], - 0, - "3911c35a8ae1b404aa4f4021617e794f" - ], - [ - "Typeclasses.__proj__Mkbounded_unsigned_int__item__properties", - 1, - 2, - 1, - [ "@query" ], - 0, - "bf0336c1e6ed32d408f32630b01638f2" - ], - [ - "Typeclasses.__proj__Mkbounded_unsigned_int__item__properties", - 2, - 2, - 1, - [ "@query" ], - 0, - "45a6f8af8fd059ff7ad66153657ce2da" - ], - [ - "Typeclasses.op_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Typeclasses.fits", - "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "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, - "bbbd7429f550f1266db54891db892a04" - ], - [ - "Typeclasses.op_Subtraction_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Typeclasses.fits", - "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "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, - "b9861f857558dabb6a11232393f6402a" - ], - [ - "Typeclasses.u32_instance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.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.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Prims.subtype_of", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_400a3d1113fd8cfa2b96f8d60bad1e68", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_71620992b68f2073a7fe403ff2a83a49", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ea3d3f106fa4d401f65068746054d166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.max_int", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" - ], - 0, - "7ff7b3d6709782702ea684a899a30ec8" - ], - [ - "Typeclasses.u64_instance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.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.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_Prims.subtype_of", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.uv_inv", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4db8ba22c4504a66577a2159dcc603cd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c26bed2289c83f3a218f7e3c34959c7", - "refinement_interpretation_Tm_refine_6d40480bbec7f9b35c478e2b6cacd45c", - "refinement_interpretation_Tm_refine_9cfedaa25741363100cfae68d244536e", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.max_int", "typing_FStar.UInt64.add", - "typing_FStar.UInt64.sub", "typing_FStar.UInt64.v" - ], - 0, - "89eaca74d9ecd5c23a4c69b89c3ffc70" - ], - [ - "Typeclasses.bounded_unsigned_int_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Typeclasses_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "data_elim_Typeclasses.Mkbounded_unsigned_int", "equation_Prims.nat", - "equation_Typeclasses.lt", - "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "int_inversion", - "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, - "f95aafd4cd90eda11043f4bdef7380ec" - ], - [ - "Typeclasses.test32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Typeclasses_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_Typeclasses.Mkbounded_unsigned_int", - "data_elim_Typeclasses.Mkeq", "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_Typeclasses.bounded_unsigned_int_eq", - "equation_Typeclasses.eq_op", "equation_Typeclasses.fits", - "equation_Typeclasses.lt", - "equation_Typeclasses.op_Equals_Question_Equals", - "equation_Typeclasses.op_Less_Equals", - "equation_Typeclasses.op_Less_Hat", - "equation_Typeclasses.u32_instance", - "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_typing", - "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", - "interpretation_Tm_abs_707b76618d150032d670eadea8c2886a", - "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", - "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_fits", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_lt", - "projection_inverse_Typeclasses.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", - "token_correspondence_FStar.UInt32.lt", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Typeclasses.eq_op", - "token_correspondence_Typeclasses.fits", - "token_correspondence_Typeclasses.lt", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", - "typing_Typeclasses.bounded_unsigned_int_eq", - "typing_Typeclasses.u32_instance" - ], - 0, - "8fb3ca61cdbdd873cc1965598a3cf22c" - ], - [ - "Typeclasses.test64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Typeclasses_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_Typeclasses.Mkbounded_unsigned_int", - "data_elim_Typeclasses.Mkeq", "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_Typeclasses.bounded_unsigned_int_eq", - "equation_Typeclasses.eq_op", "equation_Typeclasses.fits", - "equation_Typeclasses.lt", - "equation_Typeclasses.op_Equals_Question_Equals", - "equation_Typeclasses.op_Less_Equals", - "equation_Typeclasses.op_Less_Hat", - "equation_Typeclasses.u64_instance", - "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_typing", - "interpretation_Tm_abs_6565e286ae42e5c941463d4aa1f90d62", - "interpretation_Tm_abs_656d0f2049ea412abf4d6cc7d0dce066", - "interpretation_Tm_abs_961ba5096cffcaea5c47db68024a196a", - "interpretation_Tm_abs_a662ed8dd6b4f5c75fb10f329404d1fc", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_fits", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_lt", - "projection_inverse_Typeclasses.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", - "token_correspondence_FStar.UInt64.lt", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Typeclasses.eq_op", - "token_correspondence_Typeclasses.fits", - "token_correspondence_Typeclasses.lt", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", - "typing_Typeclasses.bounded_unsigned_int_eq", - "typing_Typeclasses.u64_instance" - ], - 0, - "c1a109bea6978d1ae683c78505253dbd" - ], - [ - "Typeclasses.try_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Typeclasses.bound", - "equation_Typeclasses.bounded_unsigned_int_eq", - "equation_Typeclasses.eq_op", "equation_Typeclasses.fits", - "equation_Typeclasses.lt", - "equation_Typeclasses.op_Equals_Question_Equals", - "equation_Typeclasses.op_Less_Equals", - "equation_Typeclasses.op_Less_Hat", - "equation_Typeclasses.op_Subtraction_Hat", - "equation_Typeclasses.sub", "equation_Typeclasses.u32_instance", - "function_token_typing_FStar.UInt32.v", - "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_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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_bound", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_fits", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_lt", - "projection_inverse_Typeclasses.Mkbounded_unsigned_int_sub", - "projection_inverse_Typeclasses.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e9c8369c89dc7f6f499e4562ff9f8e9f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "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_FStar.UInt32.v", "typing_Typeclasses.u32_instance" - ], - 0, - "6309baf538bb4253136f162dc5229d50" - ], - [ - "Typeclasses.sum", - 1, - 2, - 1, - [ - "@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_4854a37a44266626aa4e306dc02dd5e4", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Typeclasses.Mkbounded_unsigned_int", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_Typeclasses.bound", - "equation_Typeclasses.bounded_unsigned_int_eq", - "equation_Typeclasses.eq_op", "equation_Typeclasses.fits", - "equation_Typeclasses.lt", - "equation_Typeclasses.op_Equals_Question_Equals", - "equation_Typeclasses.op_Less_Equals", - "equation_Typeclasses.op_Less_Hat", - "equation_Typeclasses.op_Subtraction_Hat", - "equation_Typeclasses.sub", - "fuel_guarded_inversion_Typeclasses.bounded_unsigned_int", - "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_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", - "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_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" - ], - 0, - "7d6490beec1db187d084b325e78a5ecf" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt.fst.hints b/doc/book/code/TypeclassesAlt.fst.hints deleted file mode 100644 index cea84eee909..00000000000 --- a/doc/book/code/TypeclassesAlt.fst.hints +++ /dev/null @@ -1,491 +0,0 @@ -[ - "ØØø<€\u0012\u0010t³Â\u001d,O«I", - [ - [ - "TypeclassesAlt.bounded_unsigned_int", - 1, - 2, - 1, - [ "@query" ], - 0, - "21bf3e41f078907a26a8d97b9f651566" - ], - [ - "TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__properties", - 1, - 2, - 1, - [ "@query" ], - 0, - "fe64de3b4fd385c7affdbf92e184d2d2" - ], - [ - "TypeclassesAlt.__proj__Mkbounded_unsigned_int__item__properties", - 2, - 2, - 1, - [ "@query" ], - 0, - "25e080243c92232c5c692735a34462bd" - ], - [ - "TypeclassesAlt.ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_TypeclassesAlt.as_nat", - "equation_TypeclassesAlt.bound", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "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, - "82ac797852e0df8d1cd4212f01bd4fd9" - ], - [ - "TypeclassesAlt.op_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_TypeclassesAlt.as_nat", - "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", - "equation_TypeclassesAlt.ok", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "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", - "token_correspondence_TypeclassesAlt.from_nat", - "token_correspondence_TypeclassesAlt.ok" - ], - 0, - "42f37fdd9bff96451c2512de6b1fb055" - ], - [ - "TypeclassesAlt.op_Subtraction_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_TypeclassesAlt.as_nat", - "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", - "equation_TypeclassesAlt.ok", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "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", - "token_correspondence_TypeclassesAlt.from_nat", - "token_correspondence_TypeclassesAlt.ok" - ], - 0, - "36776dd4e2ddeb28ac1e9f2ccde4bca6" - ], - [ - "TypeclassesAlt.op_Star_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_TypeclassesAlt.as_nat", - "equation_TypeclassesAlt.bound", "equation_TypeclassesAlt.from_nat", - "equation_TypeclassesAlt.ok", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "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", - "token_correspondence_TypeclassesAlt.from_nat", - "token_correspondence_TypeclassesAlt.ok" - ], - 0, - "8c1f0f584d65fccc8e26ddb90c5e212f" - ], - [ - "TypeclassesAlt.u32_instance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_Prims.nat", "equation_TypeclassesAlt.fits", - "function_token_typing_FStar.UInt32.v", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_18bfaadbadf6376235dfeba4411990cb", - "refinement_interpretation_Tm_refine_1ccfb21903aa30ace8832f7a4d067d9b", - "refinement_interpretation_Tm_refine_400a3d1113fd8cfa2b96f8d60bad1e68", - "refinement_interpretation_Tm_refine_46cadb0df2bb46c0f3fa396bebe83b21", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8ed5b57448b2d20c5dae0ee1c115130c", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Multiply", - "token_correspondence_Prims.op_Subtraction", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.mul", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" - ], - 0, - "9eec5d315b41e797dc17ee9c60125da0" - ], - [ - "TypeclassesAlt.u64_instance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.lt", - "equation_Prims.nat", "equation_TypeclassesAlt.fits", - "function_token_typing_FStar.UInt64.v", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ac8bed7a6398f84bccb91bd4fed7136", - "refinement_interpretation_Tm_refine_4db8ba22c4504a66577a2159dcc603cd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c26bed2289c83f3a218f7e3c34959c7", - "refinement_interpretation_Tm_refine_ab601bcc09737f66de09b0ed5798a13d", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_ee61c5eb63e54f67b65b5e1891f35ca4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f46c9ea6c6f9a7549512227d7126b1a7", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Multiply", - "token_correspondence_Prims.op_Subtraction", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt64.add", "typing_FStar.UInt64.mul", - "typing_FStar.UInt64.sub", "typing_FStar.UInt64.v" - ], - 0, - "420585b93ded788473dc521a4e35acae" - ], - [ - "TypeclassesAlt.bounded_unsigned_int_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TypeclassesAlt_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", - "equation_Prims.nat", "equation_TypeclassesAlt.lt", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "int_inversion", - "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, - "be3b9cf7befff9c3062ec2703b064441" - ], - [ - "TypeclassesAlt.test32", - 1, - 2, - 1, - [ - "@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_763794115f83c9249d08c75540c77370", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", - "data_elim_TypeclassesAlt.Mkeq", "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_TypeclassesAlt.as_nat", "equation_TypeclassesAlt.bound", - "equation_TypeclassesAlt.bounded_unsigned_int_eq", - "equation_TypeclassesAlt.eq_op", "equation_TypeclassesAlt.fits", - "equation_TypeclassesAlt.lt", "equation_TypeclassesAlt.ok", - "equation_TypeclassesAlt.op_Equals", - "equation_TypeclassesAlt.op_Less_Equals", - "equation_TypeclassesAlt.op_Less_Hat", - "equation_TypeclassesAlt.u32_instance", - "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_FStar.UInt32.v", "int_inversion", - "int_typing", - "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", - "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", - "interpretation_Tm_abs_446576731a8898dec12769aef9257757", - "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", - "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "projection_inverse_TypeclassesAlt.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "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", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_TypeclassesAlt.as_nat", - "token_correspondence_TypeclassesAlt.bound", - "token_correspondence_TypeclassesAlt.eq_op", - "token_correspondence_TypeclassesAlt.fits", - "token_correspondence_TypeclassesAlt.lt", - "token_correspondence_TypeclassesAlt.ok", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_TypeclassesAlt.bound", - "typing_TypeclassesAlt.bounded_unsigned_int_eq", - "typing_TypeclassesAlt.u32_instance" - ], - 0, - "9d843911747cd2d5ff6de2b57f577235" - ], - [ - "TypeclassesAlt.test64", - 1, - 2, - 1, - [ - "@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_763794115f83c9249d08c75540c77370", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_TypeclassesAlt.Mkbounded_unsigned_int", - "data_elim_TypeclassesAlt.Mkeq", "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_TypeclassesAlt.as_nat", "equation_TypeclassesAlt.bound", - "equation_TypeclassesAlt.bounded_unsigned_int_eq", - "equation_TypeclassesAlt.eq_op", "equation_TypeclassesAlt.fits", - "equation_TypeclassesAlt.lt", "equation_TypeclassesAlt.ok", - "equation_TypeclassesAlt.op_Equals", - "equation_TypeclassesAlt.op_Less_Equals", - "equation_TypeclassesAlt.op_Less_Hat", - "equation_TypeclassesAlt.u64_instance", - "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", "int_inversion", - "int_typing", - "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", - "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", - "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", - "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "interpretation_Tm_abs_ad6081024c14bdae20ce85b5cbdef6bd", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "projection_inverse_TypeclassesAlt.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "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_fa140d52f3bac57f4df6416af4a17111", - "token_correspondence_FStar.UInt64.lt", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_TypeclassesAlt.as_nat", - "token_correspondence_TypeclassesAlt.bound", - "token_correspondence_TypeclassesAlt.eq_op", - "token_correspondence_TypeclassesAlt.fits", - "token_correspondence_TypeclassesAlt.lt", - "token_correspondence_TypeclassesAlt.ok", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_TypeclassesAlt.bound", - "typing_TypeclassesAlt.bounded_unsigned_int_eq", - "typing_TypeclassesAlt.u64_instance" - ], - 0, - "8a86ac9393f9623946173489e13027c5" - ], - [ - "TypeclassesAlt.try_add", - 1, - 2, - 1, - [ - "@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", - "equation_TypeclassesAlt.bounded_unsigned_int_eq", - "equation_TypeclassesAlt.eq_op", "equation_TypeclassesAlt.fits", - "equation_TypeclassesAlt.from_nat", "equation_TypeclassesAlt.lt", - "equation_TypeclassesAlt.ok", "equation_TypeclassesAlt.op_Equals", - "equation_TypeclassesAlt.op_Less_Equals", - "equation_TypeclassesAlt.op_Less_Hat", - "equation_TypeclassesAlt.op_Subtraction_Hat", - "equation_TypeclassesAlt.sub", - "equation_TypeclassesAlt.u32_instance", - "function_token_typing_TypeclassesAlt.bound", - "interpretation_Tm_abs_41bb09c674e93e3a48d87ef068e9eb30", - "interpretation_Tm_abs_4353ded811b2bc4a31a4a230b0a4bd22", - "interpretation_Tm_abs_8ed289b1dc7e2ceb656120e67e98559e", - "interpretation_Tm_abs_90425ba3fec46b21836bc2944e516798", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_from_nat", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_lt", - "projection_inverse_TypeclassesAlt.Mkbounded_unsigned_int_sub", - "projection_inverse_TypeclassesAlt.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", - "token_correspondence_Prims.op_Addition", - "token_correspondence_TypeclassesAlt.as_nat", - "token_correspondence_TypeclassesAlt.bound", - "token_correspondence_TypeclassesAlt.eq_op", - "token_correspondence_TypeclassesAlt.fits", - "token_correspondence_TypeclassesAlt.from_nat", - "token_correspondence_TypeclassesAlt.lt", - "token_correspondence_TypeclassesAlt.ok", - "token_correspondence_TypeclassesAlt.sub", "typing_FStar.UInt32.t", - "typing_TypeclassesAlt.u32_instance" - ], - 0, - "9d73514260d9672bbc7dd3ec696bbb05" - ], - [ - "TypeclassesAlt.sum", - 1, - 2, - 1, - [ - "@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", - "equation_TypeclassesAlt.as_nat", "equation_TypeclassesAlt.bound", - "equation_TypeclassesAlt.bounded_unsigned_int_eq", - "equation_TypeclassesAlt.eq_op", "equation_TypeclassesAlt.fits", - "equation_TypeclassesAlt.from_nat", "equation_TypeclassesAlt.lt", - "equation_TypeclassesAlt.ok", "equation_TypeclassesAlt.op_Equals", - "equation_TypeclassesAlt.op_Less_Equals", - "equation_TypeclassesAlt.op_Less_Hat", - "equation_TypeclassesAlt.op_Subtraction_Hat", - "equation_TypeclassesAlt.sub", - "fuel_guarded_inversion_TypeclassesAlt.bounded_unsigned_int", - "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_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", - "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_TypeclassesAlt.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8869caffb2e39082e0ed96689001e161", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt.as_nat", - "token_correspondence_TypeclassesAlt.bound", - "token_correspondence_TypeclassesAlt.eq_op", - "token_correspondence_TypeclassesAlt.fits", - "token_correspondence_TypeclassesAlt.from_nat", - "token_correspondence_TypeclassesAlt.lt", - "token_correspondence_TypeclassesAlt.ok", - "token_correspondence_TypeclassesAlt.sub" - ], - 0, - "fadb31822a14e0c18aab99b0ed2f7a5b" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt2.fst.hints b/doc/book/code/TypeclassesAlt2.fst.hints deleted file mode 100644 index 69b8f8fe682..00000000000 --- a/doc/book/code/TypeclassesAlt2.fst.hints +++ /dev/null @@ -1,415 +0,0 @@ -[ - "Az\b˜ß7Ö8\u0006]rƯ\u0003—", - [ - [ - "TypeclassesAlt2.__proj__Mkbounded_unsigned_int__item__properties", - 1, - 2, - 1, - [ "@query" ], - 0, - "f4fb72cfee2cb6b400ba6c1ffd9a3a19" - ], - [ - "TypeclassesAlt2.related_ops", - 1, - 2, - 1, - [ "@query" ], - 0, - "916d7342fa23253afcbf343b1b308a18" - ], - [ - "TypeclassesAlt2.try_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int", - "equation_TypeclassesAlt2.comparable_base", - "fuel_guarded_inversion_TypeclassesAlt2.comparable_bounded_unsigned_int", - "fuel_guarded_inversion_TypeclassesAlt2.subtractable_bounded_unsigned_int", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "refinement_interpretation_Tm_refine_4141d4eb3560b0608e853c0564d2f90a", - "refinement_interpretation_Tm_refine_50e6ea6e9727dfa5ba1ef704d5717e6c" - ], - 0, - "578ba2d427c7a3723ca71c3352566ed9" - ], - [ - "TypeclassesAlt2.u32_instance_base", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_400a3d1113fd8cfa2b96f8d60bad1e68", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "913e35f4c32a827fe0e26881a068ee24" - ], - [ - "TypeclassesAlt2.u32_instance_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "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", - "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", - "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", - "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", - "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_0907df0e39f075c86de6c0af6b5f469f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_TypeclassesAlt2.as_nat", - "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_TypeclassesAlt2.u32_instance_base" - ], - 0, - "e4db7e3ac88ef478cf33c5193bb8d2ea" - ], - [ - "TypeclassesAlt2.u32_instance_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "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", - "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", - "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", - "equation_TypeclassesAlt2.u32_instance_base", - "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", - "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", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt2.as_nat", - "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_TypeclassesAlt2.u32_instance_base" - ], - 0, - "3b211cb9580b17068439cf1521c49dce" - ], - [ - "TypeclassesAlt2.u32_instance_cmp", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt.lt", "equation_FStar.UInt32.lt", - "equation_TypeclassesAlt2.as_nat", - "equation_TypeclassesAlt2.u32_instance_base", - "function_token_typing_FStar.UInt32.v", - "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, - "fe01bc94bdd46f6e9fc5086d04d04bf1" - ], - [ - "TypeclassesAlt2.u64_instance_base", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c26bed2289c83f3a218f7e3c34959c7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "5df47cf14102ca1fedc44db65a466edb" - ], - [ - "TypeclassesAlt2.u64_instance_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "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", - "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", - "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", - "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", - "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_3f3daeedcad5b243c1746e7d9ad1f516", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_TypeclassesAlt2.as_nat", - "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt64.add", "typing_FStar.UInt64.t", - "typing_TypeclassesAlt2.u64_instance_base" - ], - 0, - "a523edadd9e67084d19d63d36651ccf1" - ], - [ - "TypeclassesAlt2.u64_instance_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "TypeclassesAlt2_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "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", - "equation_Prims.nat", "equation_TypeclassesAlt2.as_nat", - "equation_TypeclassesAlt2.bound", "equation_TypeclassesAlt2.fits", - "equation_TypeclassesAlt2.u64_instance_base", - "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", - "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", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt2.as_nat", - "token_correspondence_TypeclassesAlt2.bound", - "typing_FStar.UInt64.sub", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", "typing_TypeclassesAlt2.u64_instance_base" - ], - 0, - "a6e310bbc4b13886d7390367244039c0" - ], - [ - "TypeclassesAlt2.u64_instance_cmp", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt.lt", "equation_FStar.UInt64.lt", - "equation_TypeclassesAlt2.as_nat", - "equation_TypeclassesAlt2.u64_instance_base", - "function_token_typing_FStar.UInt64.v", - "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, - "18e89499de5175349b82438ff6b6c7c5" - ], - [ - "TypeclassesAlt2.sum", - 1, - 0, - 1, - [ - "@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", - "data_elim_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_TypeclassesAlt2.as_nat", "equation_TypeclassesAlt2.bound", - "equation_TypeclassesAlt2.comp", - "equation_TypeclassesAlt2.comparable_base", - "equation_TypeclassesAlt2.fits", "equation_TypeclassesAlt2.sub", - "fuel_guarded_inversion_TypeclassesAlt2.bounded_unsigned_int", - "fuel_guarded_inversion_TypeclassesAlt2.comparable_bounded_unsigned_int", - "fuel_guarded_inversion_TypeclassesAlt2.subtractable_bounded_unsigned_int", - "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.Mkcomparable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_36022dabb1de48f1a4f073ba652ebfd0", - "refinement_interpretation_Tm_refine_4141d4eb3560b0608e853c0564d2f90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_da0aa4e591e0b7adf7bdb9e2e9268c37", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt2.as_nat", - "token_correspondence_TypeclassesAlt2.bound", - "token_correspondence_TypeclassesAlt2.comp", - "token_correspondence_TypeclassesAlt2.sub", - "typing_TypeclassesAlt2.__proj__Mksubtractable_bounded_unsigned_int__item__base" - ], - 0, - "af3d22f7c449a3369b52e0faa99249aa" - ], - [ - "TypeclassesAlt2.testsum32", - 1, - 0, - 1, - [ - "@query", "equation_TypeclassesAlt2.u32_instance_add", - "equation_TypeclassesAlt2.u32_instance_cmp", - "equation_TypeclassesAlt2.u32_instance_sub", - "proj_equation_TypeclassesAlt2.Mkaddable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mkaddable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base" - ], - 0, - "4a465e12a625c047de002f8fb8690ddd" - ], - [ - "TypeclassesAlt2.testsum64", - 1, - 0, - 1, - [ - "@query", "equation_TypeclassesAlt2.u64_instance_add", - "equation_TypeclassesAlt2.u64_instance_cmp", - "equation_TypeclassesAlt2.u64_instance_sub", - "proj_equation_TypeclassesAlt2.Mkaddable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_base", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mkaddable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mkcomparable_bounded_unsigned_int_base", - "projection_inverse_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base" - ], - 0, - "bebed84500596e59472b3e968eb87384" - ], - [ - "TypeclassesAlt2.try_sub3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int", - "equation_TypeclassesAlt2.__base_sub", - "equation_TypeclassesAlt2._base", - "fuel_guarded_inversion_TypeclassesAlt2.bounded_unsigned_int_ops", - "fuel_guarded_inversion_TypeclassesAlt2.subtractable_bounded_unsigned_int", - "proj_equation_TypeclassesAlt2.Mksubtractable_bounded_unsigned_int_base", - "refinement_interpretation_Tm_refine_4141d4eb3560b0608e853c0564d2f90a", - "typing_TypeclassesAlt2.__base_sub" - ], - 0, - "ce88aefcaed6d138014fd642c75953e6" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/TypeclassesAlt3.fst.hints b/doc/book/code/TypeclassesAlt3.fst.hints deleted file mode 100644 index 57ab511a411..00000000000 --- a/doc/book/code/TypeclassesAlt3.fst.hints +++ /dev/null @@ -1,713 +0,0 @@ -[ - "¥}Ô#œ!\b2*”R O\u0015¥‘", - [ - [ - "TypeclassesAlt3.__proj__Mkbounded_unsigned_int__item__properties", - 1, - 2, - 1, - [ "@query" ], - 0, - "2252f6ddb06f48fa8fa403d4f3b0e0ec" - ], - [ - "TypeclassesAlt3.related_ops", - 1, - 2, - 1, - [ "@query" ], - 0, - "42d5cc4d5bcedc8a3b0bedecf958098f" - ], - [ - "TypeclassesAlt3.op_Plus_Hat", - 1, - 2, - 1, - [ "@query", "equation_TypeclassesAlt3.ops_base" ], - 0, - "2cca3a3aa8d105f229d536bc4d9fabc3" - ], - [ - "TypeclassesAlt3.op_Subtraction_Hat", - 1, - 2, - 1, - [ "@query", "equation_TypeclassesAlt3.ops_base" ], - 0, - "1b7b691920e35d3e3c51d195502b53e5" - ], - [ - "TypeclassesAlt3.bounded_unsigned_int_ops_eq", - 1, - 2, - 1, - [ - "@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", - "equation_Prims.nat", "equation_TypeclassesAlt3.as_nat", - "equation_TypeclassesAlt3.bound", "equation_TypeclassesAlt3.lt", - "equation_TypeclassesAlt3.op_Less_Hat", - "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int", - "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int_ops", - "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.op_Less_Hat" - ], - 0, - "0fe3e4620cb313fb74531df604da8d7c" - ], - [ - "TypeclassesAlt3.u32_instance_base", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_400a3d1113fd8cfa2b96f8d60bad1e68", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "f3c0d429cabb7669defd09d51f9e9ddd" - ], - [ - "TypeclassesAlt3.u32_instance_ops", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_interpretation_Tm_arrow_33a06d9a3ec1c77524ab958d37ae1453", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", - "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "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", - "function_token_typing_TypeclassesAlt3.bound", "int_typing", - "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", - "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", - "interpretation_Tm_abs_f3fd0234f45e7964fa30a5f3e031df23", - "interpretation_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "refinement_interpretation_Tm_refine_2497cf02da3ae5381ae080bc06fee3f1", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa261decbf17fa81efaf2f9744910101", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.as_nat", - "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.u32_instance_base" - ], - 0, - "b63b38fe9bd0aaf04ea6aec0e7a50736" - ], - [ - "TypeclassesAlt3.u64_instance_base", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c26bed2289c83f3a218f7e3c34959c7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "5bdbb543bc9d84857f8a035004d3f8a8" - ], - [ - "TypeclassesAlt3.u64_instance_ops", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_interpretation_Tm_arrow_b1dc77edd47f50a79ef19c45877be87f", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "TypeclassesAlt3_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "TypeclassesAlt3_interpretation_Tm_arrow_b5d855d37bd67ba7f379a56224df2ac5", - "TypeclassesAlt3_interpretation_Tm_arrow_da8298408ae4d168f774cd7ff91260d3", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "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", - "function_token_typing_TypeclassesAlt3.bound", "int_typing", - "interpretation_Tm_abs_673d47be29ccf7d513a42b9efea90c75", - "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", - "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", - "interpretation_Tm_abs_cf9bf7398f38f52869a19e869749a638", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4db8ba22c4504a66577a2159dcc603cd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_eb8377db1557e26ca2aac9b5a9cd1029", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fdf1c9ac48a0df6862d22a3543117dbf", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.as_nat", - "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.u64_instance_base" - ], - 0, - "8cc0ca3a76072a35024064abf1933cf1" - ], - [ - "TypeclassesAlt3.test32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "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", - "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.bounded_unsigned_int_ops_eq", - "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", - "equation_TypeclassesAlt3.ops_base", - "equation_TypeclassesAlt3.related_ops", - "equation_TypeclassesAlt3.u32_instance_base", - "equation_TypeclassesAlt3.u32_instance_ops", - "function_token_typing_FStar.UInt32.uint_to_t", - "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", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "projection_inverse_TypeclassesAlt3.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcaef16606f8ccd1707ea17949cf35e1", - "refinement_interpretation_Tm_refine_e12580fc3477a68cf4cbceb79b69a6e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", - "token_correspondence_FStar.UInt32.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.as_nat", - "token_correspondence_TypeclassesAlt3.bound", - "token_correspondence_TypeclassesAlt3.eq_op", - "token_correspondence_TypeclassesAlt3.lt", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", - "typing_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "typing_TypeclassesAlt3.u32_instance_base", - "typing_TypeclassesAlt3.u32_instance_ops" - ], - 0, - "975a7785cea2c7cfa5972f7bda0983b1" - ], - [ - "TypeclassesAlt3.test64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "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", - "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.bounded_unsigned_int_ops_eq", - "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", - "equation_TypeclassesAlt3.ops_base", - "equation_TypeclassesAlt3.related_ops", - "equation_TypeclassesAlt3.u64_instance_base", - "equation_TypeclassesAlt3.u64_instance_ops", - "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_FStar.UInt64.v", - "function_token_typing_TypeclassesAlt3.bound", "int_typing", - "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", - "interpretation_Tm_abs_3e3b9311a9431e9e288ede6bb09660b7", - "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", - "interpretation_Tm_abs_b642211d130730b12c3023e7271d0763", - "interpretation_Tm_abs_ba0365fb5414d12479e80a3d124bb74c", - "interpretation_Tm_abs_d51bb26a5c858e98f4457d07e986750d", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "projection_inverse_TypeclassesAlt3.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcaef16606f8ccd1707ea17949cf35e1", - "refinement_interpretation_Tm_refine_e12580fc3477a68cf4cbceb79b69a6e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa140d52f3bac57f4df6416af4a17111", - "token_correspondence_FStar.UInt64.v", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.as_nat", - "token_correspondence_TypeclassesAlt3.bound", - "token_correspondence_TypeclassesAlt3.eq_op", - "token_correspondence_TypeclassesAlt3.lt", "typing_FStar.UInt.fits", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_FStar.UInt64.v", - "typing_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "typing_TypeclassesAlt3.u64_instance_base", - "typing_TypeclassesAlt3.u64_instance_ops" - ], - 0, - "2267cc887b8b42ebd160a014e9ada762" - ], - [ - "TypeclassesAlt3.sum", - 1, - 2, - 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.bounded_unsigned_int_ops_eq", - "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", - "equation_TypeclassesAlt3.op_Subtraction_Hat", - "equation_TypeclassesAlt3.ops_base", - "equation_TypeclassesAlt3.related_ops", - "equation_TypeclassesAlt3.sub", - "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int", - "fuel_guarded_inversion_TypeclassesAlt3.bounded_unsigned_int_ops", - "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", - "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_TypeclassesAlt3.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Subtraction", - "token_correspondence_TypeclassesAlt3.eq_op", - "token_correspondence_TypeclassesAlt3.lt", - "token_correspondence_TypeclassesAlt3.sub", - "typing_TypeclassesAlt3.ops_base" - ], - 0, - "f9ada00abc56cb1391f223e8f78b8695" - ], - [ - "TypeclassesAlt3.testsum32", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@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", - "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", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", - "data_typing_intro_FStar.Pervasives.Native.Some@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", - "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_Prims.pos", - "equation_TypeclassesAlt3.add", "equation_TypeclassesAlt3.as_nat", - "equation_TypeclassesAlt3.bound", - "equation_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "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", - "equation_TypeclassesAlt3.op_Plus_Hat", - "equation_TypeclassesAlt3.op_Subtraction_Hat", - "equation_TypeclassesAlt3.ops_base", - "equation_TypeclassesAlt3.related_ops", - "equation_TypeclassesAlt3.sub", "equation_TypeclassesAlt3.sum", - "equation_TypeclassesAlt3.u32_instance_base", - "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", - "function_token_typing_TypeclassesAlt3.bound", "int_inversion", - "int_typing", - "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", - "interpretation_Tm_abs_680421603b8231aeb5df55377597351e", - "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", - "interpretation_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "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", - "lemma_FStar.Pervasives.invertOption", - "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_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_add", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_sub", - "projection_inverse_TypeclassesAlt3.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "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", - "token_correspondence_TypeclassesAlt3.as_nat", - "token_correspondence_TypeclassesAlt3.bound", - "token_correspondence_TypeclassesAlt3.eq_op", - "token_correspondence_TypeclassesAlt3.lt", - "token_correspondence_TypeclassesAlt3.sub", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_Prims.pow2", - "typing_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "typing_Tm_abs_fa6834d567dfa1e807bdf5a4cf4b7d6c", - "typing_TypeclassesAlt3.op_Less_Hat", - "typing_TypeclassesAlt3.op_Subtraction_Hat", - "typing_TypeclassesAlt3.sum", - "typing_TypeclassesAlt3.u32_instance_base", - "typing_TypeclassesAlt3.u32_instance_ops" - ], - 0, - "08d5e75014633a42426133ca3b8eb035" - ], - [ - "TypeclassesAlt3.testsum64", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@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", - "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", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int", - "data_elim_TypeclassesAlt3.Mkbounded_unsigned_int_ops", - "data_typing_intro_FStar.Pervasives.Native.Some@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", - "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_Prims.pos", - "equation_TypeclassesAlt3.add", "equation_TypeclassesAlt3.as_nat", - "equation_TypeclassesAlt3.bound", - "equation_TypeclassesAlt3.bounded_unsigned_int_ops_eq", - "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", - "equation_TypeclassesAlt3.op_Plus_Hat", - "equation_TypeclassesAlt3.op_Subtraction_Hat", - "equation_TypeclassesAlt3.ops_base", - "equation_TypeclassesAlt3.related_ops", - "equation_TypeclassesAlt3.sub", "equation_TypeclassesAlt3.sum", - "equation_TypeclassesAlt3.u64_instance_base", - "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", - "function_token_typing_TypeclassesAlt3.bound", "int_inversion", - "int_typing", - "interpretation_Tm_abs_006e5043184e8eb0cd3325fb19b81d7a", - "interpretation_Tm_abs_3e3b9311a9431e9e288ede6bb09660b7", - "interpretation_Tm_abs_673d47be29ccf7d513a42b9efea90c75", - "interpretation_Tm_abs_680421603b8231aeb5df55377597351e", - "interpretation_Tm_abs_97da743b849cf0d7038a9f6ae132f462", - "interpretation_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "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_Subtraction", - "proj_equation_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_as_nat", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_bound", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_add", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_base", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_lt", - "projection_inverse_TypeclassesAlt3.Mkbounded_unsigned_int_ops_sub", - "projection_inverse_TypeclassesAlt3.Mkeq_eq_op", - "refinement_interpretation_Tm_refine_26d6a80aa7265604c53b5966e2688c30", - "refinement_interpretation_Tm_refine_3ccea82ca77a7c1adad170bb1c2414a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "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_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", - "token_correspondence_TypeclassesAlt3.as_nat", - "token_correspondence_TypeclassesAlt3.bound", - "token_correspondence_TypeclassesAlt3.eq_op", - "token_correspondence_TypeclassesAlt3.lt", - "token_correspondence_TypeclassesAlt3.sub", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int", "typing_FStar.UInt64.add", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_Prims.pow2", - "typing_Tm_abs_b2bacc3f4075db57cb403d8ccecd658e", - "typing_Tm_abs_cf9bf7398f38f52869a19e869749a638", - "typing_TypeclassesAlt3.op_Less_Hat", "typing_TypeclassesAlt3.sum", - "typing_TypeclassesAlt3.u64_instance_base", - "typing_TypeclassesAlt3.u64_instance_ops" - ], - 0, - "66c7c550ebeb87957008ed2ccf5060c3" - ], - [ - "TypeclassesAlt3.testsum32'", - 1, - 2, - 1, - [ "@query" ], - 0, - "b0f9a1c47368a7e30771f853c964d75a" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/UInt32.fst.hints b/doc/book/code/UInt32.fst.hints deleted file mode 100644 index 1ddf0b77180..00000000000 --- a/doc/book/code/UInt32.fst.hints +++ /dev/null @@ -1,155 +0,0 @@ -[ - "…Fˆ\u0003è,¿³r³$\u0001\u000epf0", - [ - [ - "UInt32.t", - 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, - "1dee7e4e2372aeee41c338f153185895" - ], - [ - "UInt32.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "equation_UInt32.n", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6305f9c3d3d0d785e8db653f00f1dc50" - ], - [ - "UInt32.v", - 1, - 2, - 1, - [ "@query", "equation_UInt32.max", "equation_UInt32.n" ], - 0, - "bca17d1037e7138c420b64366ec73602" - ], - [ - "UInt32.u", - 1, - 2, - 1, - [ "@query", "equation_UInt32.max", "equation_UInt32.n" ], - 0, - "6b3e51105ca70a7f455ea8f3e2152e36" - ], - [ - "UInt32.uv_inv", - 1, - 2, - 1, - [ "@query", "equation_UInt32.u", "equation_UInt32.v" ], - 0, - "1d1fb898247a87bbaf15e1b73d9c311e" - ], - [ - "UInt32.vu_inv", - 1, - 2, - 1, - [ "@query", "equation_UInt32.u", "equation_UInt32.v" ], - 0, - "3701d7c67f1b29f23d7270419e04791e" - ], - [ - "UInt32.add_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "54decb4ec1842fd134a88be45e396215" - ], - [ - "UInt32.add_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_UInt32.n", - "equation_UInt32.t", "equation_UInt32.v", "int_inversion", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "04ee95f24753285a18da42939335b613" - ], - [ - "UInt32.sub_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "fe6063305afe616a4d675d7382b0f54c" - ], - [ - "UInt32.sub_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_UInt32.n", - "equation_UInt32.t", "equation_UInt32.v", "int_inversion", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "589c12ea2628328b48e80d375217b648" - ], - [ - "UInt32.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_UInt32.fits", - "equation_UInt32.max", "equation_UInt32.min", "equation_UInt32.n", - "equation_UInt32.v", - "refinement_interpretation_Tm_refine_002a4f71c16db1370e7874a81f7e27c0", - "token_correspondence_Prims.op_Addition" - ], - 0, - "588ce79596bdb4ee776157bad0b6b26e" - ], - [ - "UInt32.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_UInt32.fits", - "equation_UInt32.max", "equation_UInt32.min", "equation_UInt32.n", - "equation_UInt32.v", - "interpretation_Tm_abs_12ddde8171c888fa95f826be9c2a1fe9", - "refinement_interpretation_Tm_refine_7e6121326cfe7d9052697ff77b791937" - ], - 0, - "2f32320387ae885f94fdd2a41c62fc38" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/UInt32.fsti.hints b/doc/book/code/UInt32.fsti.hints deleted file mode 100644 index 44f50c96ab0..00000000000 --- a/doc/book/code/UInt32.fsti.hints +++ /dev/null @@ -1,37 +0,0 @@ -[ - "„º\u0019P•,ä­ÊS\u000fwì¡_>", - [ - [ - "UInt32.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "equation_UInt32.n", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5399a603bc447353ae9d76c891bbf8ad" - ], - [ - "UInt32.add_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "f8d62205950989372be99be5bbc80067" - ], - [ - "UInt32.sub_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "11cc56c269bfcd31963189628bafaa9f" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/UInt32BV.fst.hints b/doc/book/code/UInt32BV.fst.hints deleted file mode 100644 index ed7aa7089a1..00000000000 --- a/doc/book/code/UInt32BV.fst.hints +++ /dev/null @@ -1,333 +0,0 @@ -[ - "\"—Z]Ô»Èvà\u0005çQ\u001a\u001et", - [ - [ - "UInt32BV.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "equation_UInt32BV.n", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f745f4daec4b726d8fc0bd056d5ccbf8" - ], - [ - "UInt32BV.v", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0292fae0bdbe9cc369488fc41881fa06" - ], - [ - "UInt32BV.u", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9d155464b648b78a9cc2e3c95f6fe89e" - ], - [ - "UInt32BV.sym", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c1e337affebcc68adffdaeb733f56d6" - ], - [ - "UInt32BV.dec_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "d722bd1b93e3d43ce1cca65dec56e2f3" - ], - [ - "UInt32BV.ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_UInt32BV.max", "equation_UInt32BV.n", - "equation_UInt32BV.u32_nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1d4dc93ea6cce0512d2f8b84fba6607" - ], - 0, - "8eec86f81966005339a7fc2c32d47e78" - ], - [ - "UInt32BV.vu_inv", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eea86b7c03bde53f8d862a9dca83b64a" - ], - [ - "UInt32BV.vu_inv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "8b739681e1918ad31b573e05f2638053" - ], - [ - "UInt32BV.vu_inv", - 3, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eea86b7c03bde53f8d862a9dca83b64a" - ], - [ - "UInt32BV.vu_inv", - 4, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "58ebbd8893ab552f6adb560eda4ff5a5" - ], - [ - "UInt32BV.vu_inv", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_UInt32BV.max", "equation_UInt32BV.n", - "equation_UInt32BV.u32_nat", "equation_UInt32BV.v", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c1d4dc93ea6cce0512d2f8b84fba6607", - "typing_UInt32BV.u", "typing_UInt32BV.v" - ], - 0, - "edd615b17766765f4a79b6cc1408bb68" - ], - [ - "UInt32BV.vu_inv", - 6, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_UInt32BV.max", - "equation_UInt32BV.n", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "58ebbd8893ab552f6adb560eda4ff5a5" - ], - [ - "UInt32BV.add_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "f5c3e7b1f60593d6a77e64f070287662" - ], - [ - "UInt32BV.add_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_UInt32BV.max", "equation_UInt32BV.n", - "equation_UInt32BV.u32_nat", "equation_UInt32BV.v", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1d4dc93ea6cce0512d2f8b84fba6607", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_UInt32BV.v" - ], - 0, - "2d453a70eff47364c86d79ebe9622c38" - ], - [ - "UInt32BV.add_mod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_339c040f740fe6cb8fe8aa7d5fdf2630", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e2060c26c54a2027e97baac509bea0d1" - ], - [ - "UInt32BV.add_mod", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_339c040f740fe6cb8fe8aa7d5fdf2630", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "db7adb1d651a1469af674731d273ed0e" - ], - [ - "UInt32BV.sub_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "90dd32868a80e0b6be587e92a4ad1b35" - ], - [ - "UInt32BV.sub_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_UInt32BV.max", "equation_UInt32BV.n", - "equation_UInt32BV.u32_nat", "equation_UInt32BV.v", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1d4dc93ea6cce0512d2f8b84fba6607", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_UInt32BV.v" - ], - 0, - "ea1cba8a3e5713631e665a7438b88de1" - ], - [ - "UInt32BV.sub_mod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_339c040f740fe6cb8fe8aa7d5fdf2630", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b4f68ed15310f818b7a487d901bd483d" - ], - [ - "UInt32BV.sub_mod", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_339c040f740fe6cb8fe8aa7d5fdf2630", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "79a6c07124745934d4309a287fa4723f" - ], - [ - "UInt32BV.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_UInt32BV.fits", - "equation_UInt32BV.max", "equation_UInt32BV.min", - "equation_UInt32BV.n", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1761bfa8b44737e701eb72381d854fb8", - "refinement_interpretation_Tm_refine_51da7585105249649ebfe4a819c04cd5", - "token_correspondence_Prims.op_Addition" - ], - 0, - "e7356f0d79c7194e7d8992c35ca2f4f6" - ], - [ - "UInt32BV.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_UInt32BV.fits", - "equation_UInt32BV.max", "equation_UInt32BV.min", - "equation_UInt32BV.n", - "interpretation_Tm_abs_12ddde8171c888fa95f826be9c2a1fe9", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e393331314b02b2060c48f5040b4aa4", - "refinement_interpretation_Tm_refine_3adc12fceb0138e1883e7519601a17c4" - ], - 0, - "b61a2bc371106c78e9c6bf0bdd08e4a1" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/UInt32BV.fsti.hints b/doc/book/code/UInt32BV.fsti.hints deleted file mode 100644 index 01f341461f4..00000000000 --- a/doc/book/code/UInt32BV.fsti.hints +++ /dev/null @@ -1,37 +0,0 @@ -[ - " ¯G‹\u0014oŸBl \u0010ÂÚ8¢§", - [ - [ - "UInt32BV.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "equation_UInt32BV.n", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "461382900a3c183f922f985996583f44" - ], - [ - "UInt32BV.add_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "f2f7f08fa8fd4cecd87a3fb5dec831d4" - ], - [ - "UInt32BV.sub_mod", - 1, - 2, - 1, - [ "@query", "equation_UInt32BV.n", "projection_inverse_BoxInt_proj_0" ], - 0, - "b6ec9b8c792208c228fd932f93a82e68" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/Universes.fst.hints b/doc/book/code/Universes.fst.hints deleted file mode 100644 index c0059526065..00000000000 --- a/doc/book/code/Universes.fst.hints +++ /dev/null @@ -1,164 +0,0 @@ -[ - "i0Éô.\bˆQ¸9«\u007f¹›", - [ - [ - "Universes.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Universes.ty0", "equation_Universes.ty_poly" ], - 0, - "4731c0a511d8cdd0d22bb5879634d51b" - ], - [ - "Universes.uu___1", - 1, - 2, - 1, - [ "@query", "equation_Universes.ty1", "equation_Universes.ty_poly" ], - 0, - "cebd5e369ec2076179cc626845f7ff8d" - ], - [ - "Universes.uu___2", - 1, - 2, - 1, - [ "@query", "equation_Universes.ty2", "equation_Universes.ty_poly" ], - 0, - "bd57b9f72618c88dbab05f81d5eac100" - ], - [ - "Universes.uu___3", - 1, - 2, - 1, - [ "@query", "equation_Universes.ty0", "equation_Universes.ty_poly" ], - 0, - "7b7b9c50db8883f4d49908e635a6b43e" - ], - [ - "Universes.list", - 1, - 2, - 1, - [ "@query" ], - 0, - "6a4675a9739f6abf169baba57df767a8" - ], - [ - "Universes.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c1b97e4120bd80fe1302fd106a008d6" - ], - 0, - "c8bf856aee253926f7b3ceabe441c971" - ], - [ - "Universes.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c1b97e4120bd80fe1302fd106a008d6" - ], - 0, - "feb631a31d5fbca1f3fd1e478940f933" - ], - [ - "Universes.list'", - 1, - 2, - 1, - [ "@query" ], - 0, - "a5c68c2afaf9853888ea6e447d64751d" - ], - [ - "Universes.__proj__Cons'__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f39bc31184d8ae0acdd1e5c0bc83fc5" - ], - 0, - "764e6ff2c3c27c7e7fe80d3feb5abcbf" - ], - [ - "Universes.__proj__Cons'__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f39bc31184d8ae0acdd1e5c0bc83fc5" - ], - 0, - "20d8a0bfcefe0f219336e807c8c843d5" - ], - [ - "Universes.pair", - 1, - 2, - 1, - [ "@query" ], - 0, - "bbc248895a0daf3fa03a7789f92c7a4a" - ], - [ - "Universes.__proj__NilAlt__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1fc10e6a73e2f6e1644f0cd1b482aba1" - ], - 0, - "39de996c6d6622402303013a4696b947" - ], - [ - "Universes.__proj__ConsAlt__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" - ], - 0, - "cd535c96e734d235fa6fba4a0531e242" - ], - [ - "Universes.__proj__ConsAlt__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Universes.ConsAlt", - "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" - ], - 0, - "dd1da9fede81bc9dd4ec42813cc4016e" - ], - [ - "Universes.__proj__ConsAlt__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Universes.ConsAlt", - "refinement_interpretation_Tm_refine_41fa5c7070b4aa2b5223068ef430c5a0" - ], - 0, - "0f3f29b4702343d19f60fef905e4b782" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/UnsoundUniverseLowering.fst.hints b/doc/book/code/UnsoundUniverseLowering.fst.hints deleted file mode 100644 index 3870f83686a..00000000000 --- a/doc/book/code/UnsoundUniverseLowering.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‡‘î\u001dÜ\fN!Ñë&Y%P†", [] ] \ No newline at end of file diff --git a/doc/book/code/Vec.fst.hints b/doc/book/code/Vec.fst.hints deleted file mode 100644 index 8cbb544b6eb..00000000000 --- a/doc/book/code/Vec.fst.hints +++ /dev/null @@ -1,484 +0,0 @@ -[ - "»\u001fÄF\u0004AÀ7Xrñ˜iµ\u0018Z", - [ - [ - "Vec.even", - 1, - 2, - 1, - [ "@query" ], - 0, - "89c368fb0b7f3d60ea07152c95e6a76e" - ], - [ - "Vec.__proj__ECons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fb118a40a2834de6ebe952e4660e7f51" - ], - 0, - "52ce523bba2d42baf25837575798f62e" - ], - [ - "Vec.__proj__ECons__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fb118a40a2834de6ebe952e4660e7f51" - ], - 0, - "e069e3451f009a443c882049a8039e42" - ], - [ - "Vec.elength", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_82dfc742d5c5b320bbb0e3acaf116a38_3", - "disc_equation_Vec.ECons", "disc_equation_Vec.ENil", - "equation_Prims.nat", "fuel_guarded_inversion_Vec.even", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d5d6229fe614bb2f0682fc77ade75507", - "subterm_ordering_Vec.ECons" - ], - 0, - "ef9e3a4ddc01540fda475c80c5b64257" - ], - [ - "Vec.elength", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b60832c9c09d9dc6ceb8b54100e8ce76_3", "equation_Prims.nat", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_148be657e3a342509cd0bb35055d7a4f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Vec.OCons" - ], - 0, - "efa4a7d689a3e9f669f00f7fc5d0be6b" - ], - [ - "Vec.even_or_odd_list", - 1, - 2, - 1, - [ "@query" ], - 0, - "4212ee6fb4f245c0758e861383bdfeee" - ], - [ - "Vec.__proj__EOCons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" - ], - 0, - "79e74c4f3bf3af0cec1c0e8f815132fd" - ], - [ - "Vec.__proj__EOCons__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" - ], - 0, - "b0a835ed816687b9e2596128bf3695e9" - ], - [ - "Vec.__proj__EOCons__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_Vec.EOCons", - "refinement_interpretation_Tm_refine_0a79ad1d8fdf24780d923a3e59d4efae" - ], - 0, - "9d2a2ac2f9fe083b229c944cb8375094" - ], - [ - "Vec.eo_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f3b20fe77ccdf25981a0b2e7812ef19d_3", - "binder_x_f537159ed795b314b4e58c260361ae86_2", "bool_inversion", - "constructor_distinct_Vec.EONil", "data_elim_Vec.EOCons", - "disc_equation_Vec.EOCons", "disc_equation_Vec.EONil", - "equation_Prims.nat", "fuel_guarded_inversion_Vec.even_or_odd_list", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_53bd6eef4bbe62dbd6a68eb34a4dada6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Vec.EOCons" - ], - 0, - "659d06fb6fd46be3ee096558c50a7e2f" - ], - [ - "Vec.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f997f2783a193651cdfc2a1abc2a7458" - ], - [ - "Vec.vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3a9e73f2ed2c465abd6ea9b561d3bb72" - ], - [ - "Vec.__proj__Cons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" - ], - 0, - "95424b21908a9b81cd3bac37609a70f8" - ], - [ - "Vec.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" - ], - 0, - "22c1953ba6d4ba33f453e3370965c9a4" - ], - [ - "Vec.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Vec.Cons", - "refinement_interpretation_Tm_refine_27cc4d268b550376309de84f8f59c70e" - ], - 0, - "afe2ce452f329b1f505429ff2cf2f314" - ], - [ - "Vec.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_672374d0b42dedb03cc70d39558dc5d9_3", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_c780f186a1dcbae20732e2061166cd65_4", - "constructor_distinct_Vec.Nil", "data_elim_Vec.Cons", - "disc_equation_Vec.Cons", "disc_equation_Vec.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Vec.vec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Vec.Cons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a21d6f09caede4017908c96b90a022a4", - "well-founded-ordering-on-nat" - ], - 0, - "f6cb4c591a7d363b079a541ea79bc557" - ], - [ - "Vec.get", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "3c9fde859b04534f7361f9742e940c18" - ], - [ - "Vec.split_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_031347bd6d0f45e7775d5a1f64648e98_3", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_c780f186a1dcbae20732e2061166cd65_4", "data_elim_Vec.Cons", - "disc_equation_Vec.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_Vec.vec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Vec.Cons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_948a1d893ab96a75637a654b08f92e5a", - "well-founded-ordering-on-nat" - ], - 0, - "2253d564f18eae1bdf780a5901fe5886" - ], - [ - "Vec.split_at", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "7f3fcad4cbac82a6f707c07cd43062f6" - ], - [ - "Vec.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_74df369ef327b18ded5ed26a252bac6e_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vec.Cons", - "data_elim_Vec.Nil", "disc_equation_Vec.Cons", - "disc_equation_Vec.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_Vec.vec", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "aa347602abfc0556d7da3cf9ae199ef9" - ], - [ - "Vec.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_74df369ef327b18ded5ed26a252bac6e_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "data_elim_Vec.Cons", - "data_elim_Vec.Nil", "disc_equation_Vec.Cons", - "disc_equation_Vec.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_Vec.vec", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "324b05a8eed9cf655fff8d09a8a88cc2" - ], - [ - "Vec.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_74df369ef327b18ded5ed26a252bac6e_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_Vec.Nil", "data_elim_Vec.Cons", - "disc_equation_Vec.Cons", "disc_equation_Vec.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Vec.vec", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "e503f127c583cb142687f9c892431c40" - ], - [ - "Vec.split_at_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Vec.Cons", "disc_equation_Vec.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_Vec.vec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Vec.Cons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "well-founded-ordering-on-nat" - ], - 0, - "159f40641f0d3b399b74c0066f94f51d" - ], - [ - "Vec.split_at_tail", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Vec_pretyping_1debc543dbd0994e62228e32e83c442e", - "data_elim_Vec.Cons", "disc_equation_Vec.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_Vec.vec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Vec.Cons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "well-founded-ordering-on-nat" - ], - 0, - "df0861e2f74afe5f3a0728e68b59cb1f" - ], - [ - "Vec.foldr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_ea6e1c341e790e65a92d935d4c3c15fd_6", "data_elim_Vec.Cons", - "disc_equation_Vec.Cons", "disc_equation_Vec.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Vec.vec", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "8e43ac0006446cd3e7894b04bb9c9c7b" - ], - [ - "Vec.pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "56b3d2b388a8cfbcad79fbf541958f17" - ], - [ - "Vec.proof_by_normalization", - 1, - 2, - 1, - [ "@query" ], - 0, - "102704449d6867aaad808f76a948595c" - ], - [ - "Vec.fold_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6213bd0b58b6eeaa106105278d1137c5" - ], - [ - "Vec.imp_intro_lem", - 1, - 2, - 1, - [ "@query" ], - 0, - "243d8d1b54f866a2f803dab78e8961e8" - ], - [ - "Vec.split_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f2e8621e9ac1b612b6092ffc3081b0d4" - ], - [ - "Vec.split_lem'", - 1, - 2, - 1, - [ "@query" ], - 0, - "a65b6fad6347866bbeae3e5dbbd72a08" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/VecErased.fst.hints b/doc/book/code/VecErased.fst.hints deleted file mode 100644 index 540762d51dc..00000000000 --- a/doc/book/code/VecErased.fst.hints +++ /dev/null @@ -1,102 +0,0 @@ -[ - "¾¥D\u000bÄNvÍÙùýq\u001e¶I,", - [ - [ - "VecErased.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal" - ], - 0, - "5fbd43054edd672944c5c0a4aa0236b0" - ], - [ - "VecErased.__proj__Cons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" - ], - 0, - "7561a9b696afde736c64c37bff0b6f26" - ], - [ - "VecErased.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" - ], - 0, - "5ff081fa0cd5db54f8bbaf7cf37aeef2" - ], - [ - "VecErased.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_VecErased.Cons", - "refinement_interpretation_Tm_refine_89ad9f0bb71c6b24164c0f8a26765165" - ], - 0, - "645ae9719ed092a314400c0c3f7572d4" - ], - [ - "VecErased.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_181dc88309add257216c3fb3e4e843d5_4", - "binder_x_b513ddacc5d7615736c68c89260be2e6_2", - "binder_x_b513ddacc5d7615736c68c89260be2e6_3", - "data_elim_VecErased.Cons", "data_elim_VecErased.Nil", - "disc_equation_VecErased.Cons", "disc_equation_VecErased.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_VecErased.vec", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" - ], - 0, - "0d584395a84341eb04036a3f2c68e715" - ], - [ - "VecErased.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_181dc88309add257216c3fb3e4e843d5_4", - "binder_x_b513ddacc5d7615736c68c89260be2e6_2", - "binder_x_b513ddacc5d7615736c68c89260be2e6_3", - "data_elim_VecErased.Cons", "data_elim_VecErased.Nil", - "disc_equation_VecErased.Cons", "disc_equation_VecErased.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_VecErased.vec", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" - ], - 0, - "97173ee8fd8188c4c9cb38d31b3f8cf0" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/VecErasedExplicit.fst.hints b/doc/book/code/VecErasedExplicit.fst.hints deleted file mode 100644 index d358af2b35a..00000000000 --- a/doc/book/code/VecErasedExplicit.fst.hints +++ /dev/null @@ -1,106 +0,0 @@ -[ - "-W\u0013\u001e¤ôÕ·vòŠÂ\b ¥O", - [ - [ - "VecErasedExplicit.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal" - ], - 0, - "48203711e1720f3e087ae15ec7a08f23" - ], - [ - "VecErasedExplicit.__proj__Cons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" - ], - 0, - "92fbb54b0c10d547aa9f883369ed0ffa" - ], - [ - "VecErasedExplicit.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" - ], - 0, - "098286f61383bbd900bf074f92208da1" - ], - [ - "VecErasedExplicit.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_VecErasedExplicit.Cons", - "refinement_interpretation_Tm_refine_9669f7037e621be323cbb7c72d0cebf3" - ], - 0, - "bd8f2efedfce0e93ca3047d5f44dc0f3" - ], - [ - "VecErasedExplicit.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_85a98bd7507a56e18835d01a7741750b_4", - "binder_x_b513ddacc5d7615736c68c89260be2e6_2", - "binder_x_b513ddacc5d7615736c68c89260be2e6_3", - "data_elim_VecErasedExplicit.Cons", - "data_elim_VecErasedExplicit.Nil", - "disc_equation_VecErasedExplicit.Cons", - "disc_equation_VecErasedExplicit.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_VecErasedExplicit.vec", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" - ], - 0, - "760496355593274df99630e548e9b26b" - ], - [ - "VecErasedExplicit.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_85a98bd7507a56e18835d01a7741750b_4", - "binder_x_b513ddacc5d7615736c68c89260be2e6_2", - "binder_x_b513ddacc5d7615736c68c89260be2e6_3", - "data_elim_VecErasedExplicit.Cons", - "data_elim_VecErasedExplicit.Nil", - "disc_equation_VecErasedExplicit.Cons", - "disc_equation_VecErasedExplicit.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_VecErasedExplicit.vec", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", "well-founded-ordering-on-nat" - ], - 0, - "d026e1ec6f2f0113ae8f0640a4b389ea" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Makefile b/doc/book/code/exercises/Makefile index 9ebf84e3b93..28ecd7151a9 100644 --- a/doc/book/code/exercises/Makefile +++ b/doc/book/code/exercises/Makefile @@ -1,27 +1,2 @@ -include ../../../Makefile.include - -FSTAR_FILES := $(wildcard *fst *fsti) -OTHERFLAGS := --cache_checked_modules $(OTHERFLAGS) - -all: $(addsuffix .checked, $(FSTAR_FILES)) - -.depend: - $(FSTAR) --dep full $(FSTAR_FILES) --output_deps_to .depend - -depend: .depend - --include .depend - -%.checked: - $(FSTAR) --already_cached '+Prims +FStar +LowStar' $< - touch -c $@ - -wc: - wc -l Prims.fst $(ALL) - - -extract: - krml -skip-compilation MemCpy.fst -tmpdir out - -clean: - rm -rf *.c *.h *~ *.checked *.checked.lax *.krml .depend +FSTAR_ROOT ?= ../../../.. +include $(FSTAR_ROOT)/mk/test.mk diff --git a/doc/book/code/exercises/Part1.Assertions.fst.hints b/doc/book/code/exercises/Part1.Assertions.fst.hints deleted file mode 100644 index 0c8425c8cc2..00000000000 --- a/doc/book/code/exercises/Part1.Assertions.fst.hints +++ /dev/null @@ -1,44 +0,0 @@ -[ - "<29Ü)u\u0012ƒ7i#2Ç\u0006ãv", - [ - [ - "Part1.Assertions.sqr_is_nat", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c0e89f0334309052f8ed3f21a822df62" - ], - [ - "Part1.Assertions.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_Part1.Assertions.max", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d822f64df220e05ad8758aee6ec18b64" - ], - [ - "Part1.Assertions.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part1.Assertions.max", - "int_inversion", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c95da7a4386e40863687b300c17539f0" - ] - ] -] \ 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 deleted file mode 100644 index ee2fe6bf6bf..00000000000 --- a/doc/book/code/exercises/Part1.GettingOffTheGround.fst.hints +++ /dev/null @@ -1,39 +0,0 @@ -[ - "þ­\"þ\rW¯Å.²8\\°Á\u0012", - [ - [ - "Part1.GettingOffTheGround.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "bf8a1be70e4680eb26e923d8df895b36" - ], - [ - "Part1.GettingOffTheGround.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ea5374edfcbe2d0bbf09e9ee8ec57730" - ] - ] -] \ 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 deleted file mode 100644 index 5df3afdbe9e..00000000000 --- a/doc/book/code/exercises/Part1.Inductives.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "™¤*¶ü+9Ù0·§!!\u0006o", - [ - [ - "Part1.Inductives.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "343c58e6d5a5fb1bc39739baf6fad216" - ], - [ - "Part1.Inductives.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "cbd439c98a9d5139c0127075a3a12f8b" - ] - ] -] \ 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 deleted file mode 100644 index 8ca27b27819..00000000000 --- a/doc/book/code/exercises/Part1.Lemmas.fst.hints +++ /dev/null @@ -1,256 +0,0 @@ -[ - "\u0013c·\u000eòFJH±\u0017\u001a¯ŒEó", - [ - [ - "Part1.Lemmas.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "cc615ac40b9eaa7199a61f51e37cb63d" - ], - [ - "Part1.Lemmas.factorial_is_greater_than_arg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "17afe9a074b6a0f8b0a90a39c4f7f03d" - ], - [ - "Part1.Lemmas.factorial_is_greater_than_arg", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3bc7d6d3eb6e129bbb4be66d63eb5cef" - ], - [ - "Part1.Lemmas.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c0f9e57dc98f4d566182aa3f2605484b" - ], - [ - "Part1.Lemmas.app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c1a9c9b542c23e23638b769241953399" - ], - [ - "Part1.Lemmas.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "4bf2ac16d065e18713862ab729b2bc56" - ], - [ - "Part1.Lemmas.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "5244224c03ab28ec53b92a4b214178b1" - ], - [ - "Part1.Lemmas.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "5a316a70298075083cb85c8c46f82150" - ], - [ - "Part1.Lemmas.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "7561d807c7ed24e7beffeda087516c92" - ], - [ - "Part1.Lemmas.find", - 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, - "90a079147b4ce47b756c4114fd3ec037" - ], - [ - "Part1.Lemmas.find_alt", - 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, - "f28e6cdbba8d514826dbf19bbcff7ffa" - ], - [ - "Part1.Lemmas.find_alt_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Lemmas.find_alt.fuel_instrumented", - "@fuel_irrelevance_Part1.Lemmas.find_alt.fuel_instrumented", - "@query", - "Part1.Lemmas_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Lemmas_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Part1.Lemmas.find_alt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Part1.Lemmas.find_alt" - ], - 0, - "4c9b4c20dce81aa482b1fbb935e4d918" - ], - [ - "Part1.Lemmas.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "186298e561e158027495141290230fca" - ], - [ - "Part1.Lemmas.rev_aux", - 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, - "4b80c40e685161b487ec170b638d898d" - ], - [ - "Part1.Lemmas.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "552f5cf785a9a05204e5ae5aaf1ad6c4" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Poly.fst.hints b/doc/book/code/exercises/Part1.Poly.fst.hints deleted file mode 100644 index d2161afb002..00000000000 --- a/doc/book/code/exercises/Part1.Poly.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Æ\u001eÅ ÙN>¥IÅ\u0016J*na", [] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Poly2.fst.hints b/doc/book/code/exercises/Part1.Poly2.fst.hints deleted file mode 100644 index f94051d5cd9..00000000000 --- a/doc/book/code/exercises/Part1.Poly2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "4DŒrQ—\u007fÐÑa;²Ç\u0004¼ò", [] ] \ 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 deleted file mode 100644 index 76853d8fd6e..00000000000 --- a/doc/book/code/exercises/Part1.Quicksort.Generic.fst.hints +++ /dev/null @@ -1,74 +0,0 @@ -[ - "A\u0017ÿO>zw€7ä\u0006}\u0005\nò˜", - [ - [ - "Part1.Quicksort.Generic.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "fe1e149a48b2336518f301aa26b4ce1c" - ], - [ - "Part1.Quicksort.Generic.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "08fecfd0081f47c0d390403ca108f57d" - ], - [ - "Part1.Quicksort.Generic.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Generic.total_order_t", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "d818e35d58097ac42326fbbd53ad5b18" - ], - [ - "Part1.Quicksort.Generic.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "62bb6f7c19762ce02e0130acee836e88" - ] - ] -] \ 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 deleted file mode 100644 index 9be617dce80..00000000000 --- a/doc/book/code/exercises/Part1.Quicksort.Permutation.fst.hints +++ /dev/null @@ -1,264 +0,0 @@ -[ - "\rÝæðuþ\"–î1Ós‹ Rw", - [ - [ - "Part1.Quicksort.Permutation.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "86f2b249e819e24d501fd228261c151e" - ], - [ - "Part1.Quicksort.Permutation.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "56fef3f026ed97633d5e13ea75af7cf6" - ], - [ - "Part1.Quicksort.Permutation.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "a91d985745309f076227403c2fdac6cf" - ], - [ - "Part1.Quicksort.Permutation.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "b8b8f9010b120a0c81010949aa9c494d" - ], - [ - "Part1.Quicksort.Permutation.is_permutation", - 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, - "221a1f51ce7b7970d00ac38774dad47c" - ], - [ - "Part1.Quicksort.Permutation.append_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "typing_Part1.Quicksort.Permutation.append", - "typing_Part1.Quicksort.Permutation.count" - ], - 0, - "d14b459ba38ea30d042abedc39851aa9" - ], - [ - "Part1.Quicksort.Permutation.partition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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", - "refinement_interpretation_Tm_refine_68c2771ad096acf1a33353fb1ab0f9a2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Permutation.length" - ], - 0, - "cc567a15f935b9fe44c88b7074afa0ef" - ], - [ - "Part1.Quicksort.Permutation.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.length.fuel_instrumented", - "@query", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Part1.Quicksort.Permutation_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_aadb52cb1fead81cab1df1b6e399ea23_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.nat", - "equation_with_fuel_Part1.Quicksort.Permutation.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_520143911552b0bde23024f0f0107c00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "token_correspondence_Part1.Quicksort.Permutation.length.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Part1.Quicksort.Permutation.length", - "typing_Part1.Quicksort.Permutation.partition", - "well-founded-ordering-on-nat" - ], - 0, - "6e3cfe7fcbffa2388321d4ad6d83a484" - ], - [ - "Part1.Quicksort.Permutation.sorted_concat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.append.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.count.fuel_instrumented", - "@fuel_irrelevance_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_5b142d990afe4bed9b104d21b66668f7_2", - "binder_x_5b142d990afe4bed9b104d21b66668f7_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ff9cdd89c62d80d6b696a0135e048350_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_Part1.Quicksort.Permutation.mem", - "equation_Part1.Quicksort.Permutation.total_order", - "equation_Part1.Quicksort.Permutation.total_order_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part1.Quicksort.Permutation.append.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.count.fuel_instrumented", - "equation_with_fuel_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf611be3ef10d8f0b9c61db92d7e8d3", - "refinement_interpretation_Tm_refine_eb88d5d94df2892cb0c94e9f2d68d2a9", - "subterm_ordering_Prims.Cons", - "token_correspondence_Part1.Quicksort.Permutation.count.fuel_instrumented", - "token_correspondence_Part1.Quicksort.Permutation.sorted.fuel_instrumented", - "typing_Part1.Quicksort.Permutation.append", - "typing_Part1.Quicksort.Permutation.count", - "typing_Part1.Quicksort.Permutation.mem", - "typing_Part1.Quicksort.Permutation.sorted" - ], - 0, - "f8dd5a85242ee6552938e5a4faa9d27a" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Part1.Termination.fst.hints b/doc/book/code/exercises/Part1.Termination.fst.hints deleted file mode 100644 index 061201acdbf..00000000000 --- a/doc/book/code/exercises/Part1.Termination.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ˆn¼ÕÏFý,Ž’8\u0015‹‹:Ñ", [] ] \ 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 deleted file mode 100644 index d696e616a0f..00000000000 --- a/doc/book/code/exercises/Part2.AtomicIncrement.fst.hints +++ /dev/null @@ -1,154 +0,0 @@ -[ - "voú3<¢ÜÍ\u0001ü‹ +ØmY", - [ - [ - "Part2.AtomicIncrement.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c98a85d1e11f0e96f66d140adf54e134" - ], - 0, - "e13d37f8d0587535d3774475c881b991" - ], - [ - "Part2.AtomicIncrement.__proj__DoThen__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5f33580f383e5123165d702c8184857" - ], - 0, - "0c07c3ea73c6e3a5329a58f3d594309c" - ], - [ - "Part2.AtomicIncrement.__proj__DoThen__item__input", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.AtomicIncrement.action_class", - "proj_equation_Part2.AtomicIncrement.DoThen_act", - "proj_equation_Part2.AtomicIncrement.Mkaction_class_input_of", - "projection_inverse_Part2.AtomicIncrement.DoThen_act", - "refinement_interpretation_Tm_refine_e5f33580f383e5123165d702c8184857", - "token_correspondence_Part2.AtomicIncrement.__proj__Mkaction_class__item__input_of" - ], - 0, - "ddb94a6bf47eea6f611c1d1e330bfd41" - ], - [ - "Part2.AtomicIncrement.__proj__DoThen__item__continue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.AtomicIncrement.action_class", - "proj_equation_Part2.AtomicIncrement.DoThen_act", - "projection_inverse_Part2.AtomicIncrement.DoThen_act", - "refinement_interpretation_Tm_refine_e5f33580f383e5123165d702c8184857" - ], - 0, - "7f77029e406a5d05571ce20daa049127" - ], - [ - "Part2.AtomicIncrement.__proj__Or__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b4dc035b8711a880d3c6b7605710901b" - ], - 0, - "5c74034d52b379748ebcb959399504ee" - ], - [ - "Part2.AtomicIncrement.__proj__Or__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b4dc035b8711a880d3c6b7605710901b" - ], - 0, - "dd809b5597d9bccdd3d65b850e1a0c24" - ], - [ - "Part2.AtomicIncrement.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.AtomicIncrement_pretyping_c270834a2d3ec9eca9622dcc4bc0c588", - "binder_x_a49e653a5e1f6fa834a54a07677cd2b7_4", - "binder_x_c270834a2d3ec9eca9622dcc4bc0c588_1", - "disc_equation_Part2.AtomicIncrement.DoThen", - "disc_equation_Part2.AtomicIncrement.Or", - "disc_equation_Part2.AtomicIncrement.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.AtomicIncrement.action_class", - "fuel_guarded_inversion_Part2.AtomicIncrement.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.AtomicIncrement.Or", - "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" - ], - 0, - "fd8a24350de3726c8a27b9a17e59caf2" - ], - [ - "Part2.AtomicIncrement.l_par", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.AtomicIncrement_pretyping_c270834a2d3ec9eca9622dcc4bc0c588", - "binder_x_7c074a8e6c63dd46a5c08671b88e2895_5", - "binder_x_c270834a2d3ec9eca9622dcc4bc0c588_2", - "disc_equation_Part2.AtomicIncrement.DoThen", - "disc_equation_Part2.AtomicIncrement.Or", - "disc_equation_Part2.AtomicIncrement.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.AtomicIncrement.action_class", - "fuel_guarded_inversion_Part2.AtomicIncrement.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.AtomicIncrement.Or", - "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" - ], - 0, - "271734b35faf233edbb4ad97cbbf4fab" - ], - [ - "Part2.AtomicIncrement.l_par", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.AtomicIncrement_pretyping_c270834a2d3ec9eca9622dcc4bc0c588", - "binder_x_c270834a2d3ec9eca9622dcc4bc0c588_2", - "binder_x_d3bb54e9ac39742f0df36e2c0be49df2_6", - "disc_equation_Part2.AtomicIncrement.DoThen", - "disc_equation_Part2.AtomicIncrement.Or", - "disc_equation_Part2.AtomicIncrement.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.AtomicIncrement.action_class", - "fuel_guarded_inversion_Part2.AtomicIncrement.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Part2.AtomicIncrement.Or", - "well_founded_ordering_on_codomain_Part2.AtomicIncrement.DoThen" - ], - 0, - "c7206d42c6852b56c7c8c5753f721add" - ] - ] -] \ 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 deleted file mode 100644 index cafa654dc66..00000000000 --- a/doc/book/code/exercises/Part2.ComputationTreeEquiv.fst.hints +++ /dev/null @@ -1,437 +0,0 @@ -[ - "e–OÀéŬÈ%ôàܹ\u0010”", - [ - [ - "Part2.ComputationTreeEquiv.input_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part2.ComputationTreeEquiv.Read", - "disc_equation_Part2.ComputationTreeEquiv.Write", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9786204e363abe976e9297d7c397a6a9" - ], - [ - "Part2.ComputationTreeEquiv.output_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Part2.ComputationTreeEquiv.Read", - "disc_equation_Part2.ComputationTreeEquiv.Write", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.rw", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "190f34b6198e8f965f6dd210fc6098c3" - ], - [ - "Part2.ComputationTreeEquiv.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b9cff117f2e3f9ec7ca3e43a8a51553" - ], - 0, - "b01053053c68c7977977d14df81a69cd" - ], - [ - "Part2.ComputationTreeEquiv.__proj__DoThen__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a92965ab597df439caba7bfbd780f4b" - ], - 0, - "00f9f435f4f1bd6775cd0b369047e561" - ], - [ - "Part2.ComputationTreeEquiv.__proj__DoThen__item__input", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "proj_equation_Part2.ComputationTreeEquiv.DoThen_act", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_input_of", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "refinement_interpretation_Tm_refine_6a92965ab597df439caba7bfbd780f4b", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__input_of" - ], - 0, - "e7d1670817bf5fb98412ad9efb5c3a44" - ], - [ - "Part2.ComputationTreeEquiv.__proj__DoThen__item__continue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "proj_equation_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "refinement_interpretation_Tm_refine_6a92965ab597df439caba7bfbd780f4b" - ], - 0, - "3f9e007216ac4fd974ae1ac8664e4e7c" - ], - [ - "Part2.ComputationTreeEquiv.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_4", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "8bf89313e20ae172dd3520e29ebc9f81" - ], - [ - "Part2.ComputationTreeEquiv.equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_3", - "equation_Prims.op_Equals_Equals_Equals", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_input_of", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_output_of", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__input_of", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "52af2b318af16021daf06fc3c5207fd5" - ], - [ - "Part2.ComputationTreeEquiv.equiv_refl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@query", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.ComputationTreeEquiv.DoThen", - "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", "eq2-interp", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "l_and-interp", "l_quant_interp_fcc832e3d29fabab133f9d4103b0c1ef", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_a", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_acts", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_continue", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_input", - "projection_inverse_Part2.ComputationTreeEquiv.Return_a", - "projection_inverse_Part2.ComputationTreeEquiv.Return_acts", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "refinement_interpretation_Tm_refine_f345ebb3a6a2a2e249ec111dde1a3570", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "36192a323f9f15de8cc273fa3438b3d4" - ], - [ - "Part2.ComputationTreeEquiv.equiv_sym", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@query", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_3", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.ComputationTreeEquiv.DoThen", - "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "l_and-interp", "l_quant_interp_fcc832e3d29fabab133f9d4103b0c1ef", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_output_of", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_a", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_acts", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_continue", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_input", - "projection_inverse_Part2.ComputationTreeEquiv.Return_a", - "projection_inverse_Part2.ComputationTreeEquiv.Return_acts", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "refinement_interpretation_Tm_refine_5a937c24eb1cde40427f0bc6ebf8b6fb", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "042edf79094f8260abc298c5fff27deb" - ], - [ - "Part2.ComputationTreeEquiv.equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@query", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_3", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_4", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.ComputationTreeEquiv.DoThen", - "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", "eq2-interp", - "equation_Prims.l_and", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "l_and-interp", "l_quant_interp_fcc832e3d29fabab133f9d4103b0c1ef", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_output_of", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_a", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_acts", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_continue", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_input", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "refinement_interpretation_Tm_refine_5a937c24eb1cde40427f0bc6ebf8b6fb", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__output_of", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "b02ca05eebb408de854ed2e5e345b281" - ], - [ - "Part2.ComputationTreeEquiv.right_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "@query", "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "equation_Part2.ComputationTreeEquiv.return", - "equation_with_fuel_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "projection_inverse_Part2.ComputationTreeEquiv.Return_a", - "projection_inverse_Part2.ComputationTreeEquiv.Return_acts", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "typing_Part2.ComputationTreeEquiv.return" - ], - 0, - "2d1b3ddfbe214497feb3428425222f7f" - ], - [ - "Part2.ComputationTreeEquiv.left_identity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "@fuel_correspondence_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@query", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_6419a78279be97c15f8940e609f74e23", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_d5ff0b198f93495695f86eae373f5e9d", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_Part2.ComputationTreeEquiv.DoThen", - "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", "eq2-interp", - "equation_Part2.ComputationTreeEquiv.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "equation_with_fuel_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "function_token_typing_Part2.ComputationTreeEquiv.return", - "interpretation_Tm_abs_934a933288aa70bc78bac2f50e7d5900", - "l_and-interp", "l_quant_interp_fcc832e3d29fabab133f9d4103b0c1ef", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_a", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_acts", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_continue", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_input", - "projection_inverse_Part2.ComputationTreeEquiv.Return_a", - "projection_inverse_Part2.ComputationTreeEquiv.Return_acts", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "refinement_interpretation_Tm_refine_a02ebefb063f11ee92fbd9bc157ec0c5", - "token_correspondence_Part2.ComputationTreeEquiv.return", - "typing_Part2.ComputationTreeEquiv.bind", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "39b5e8bca6249fca7bd8f5850558371b" - ], - [ - "Part2.ComputationTreeEquiv.assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "@fuel_correspondence_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "@fuel_irrelevance_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "@query", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_0e2c421083e42d79d8158ca91bd318f0", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_3b4733c32301d003820c8c0a407a174e", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_6419a78279be97c15f8940e609f74e23", - "Part2.ComputationTreeEquiv_interpretation_Tm_arrow_643a19b13f84b82829f760483b06ea5c", - "Part2.ComputationTreeEquiv_pretyping_6839881a9651c273df9a553321ed4a5e", - "binder_x_29379d41f0cb3f8c5727b89d8af24548_7", - "binder_x_6839881a9651c273df9a553321ed4a5e_1", - "binder_x_ca3d1f03cebc0e526d5a01c0d7d8366c_5", - "binder_x_f165590c5e3676c881422d23a5d443b9_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "constructor_distinct_Part2.ComputationTreeEquiv.DoThen", - "constructor_distinct_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Return", "eq2-interp", - "equation_Part2.ComputationTreeEquiv.return", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.ComputationTreeEquiv.bind.fuel_instrumented", - "equation_with_fuel_Part2.ComputationTreeEquiv.equiv.fuel_instrumented", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "interpretation_Tm_abs_934a933288aa70bc78bac2f50e7d5900", - "l_and-interp", "l_quant_interp_fcc832e3d29fabab133f9d4103b0c1ef", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_a", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_acts", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_continue", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_input", - "projection_inverse_Part2.ComputationTreeEquiv.Return_a", - "projection_inverse_Part2.ComputationTreeEquiv.Return_acts", - "projection_inverse_Part2.ComputationTreeEquiv.Return_x", - "refinement_interpretation_Tm_refine_90bf170ec91f774f259ce69f345942c7", - "typing_Part2.ComputationTreeEquiv.bind", - "typing_Tm_abs_597c0b4dc1f43105aa67d556d511cc33", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "29307467d16f53df5251c7653907bf35" - ], - [ - "Part2.ComputationTreeEquiv.interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.ComputationTreeEquiv_pretyping_dac0fbd6611dfa2c6a987a50449669a7", - "binder_x_0f52a22a4ae5f7282f562b247ab969e8_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_Part2.ComputationTreeEquiv.Read", - "constructor_distinct_Part2.ComputationTreeEquiv.Write", - "data_elim_Part2.ComputationTreeEquiv.DoThen", - "data_typing_intro_Part2.ComputationTreeEquiv.Write@tok", - "disc_equation_Part2.ComputationTreeEquiv.DoThen", - "disc_equation_Part2.ComputationTreeEquiv.Read", - "disc_equation_Part2.ComputationTreeEquiv.Return", - "disc_equation_Part2.ComputationTreeEquiv.Write", - "equality_tok_Part2.ComputationTreeEquiv.Read@tok", - "equality_tok_Part2.ComputationTreeEquiv.Write@tok", - "equation_Part2.ComputationTreeEquiv.output_of", - "equation_Part2.ComputationTreeEquiv.rw_action_class", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.rw", - "fuel_guarded_inversion_Part2.ComputationTreeEquiv.tree", - "int_inversion", - "proj_equation_Part2.ComputationTreeEquiv.DoThen_act", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_output_of", - "proj_equation_Part2.ComputationTreeEquiv.Mkaction_class_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.ComputationTreeEquiv.DoThen_act", - "projection_inverse_Part2.ComputationTreeEquiv.Mkaction_class_output_of", - "projection_inverse_Part2.ComputationTreeEquiv.Mkaction_class_t", - "token_correspondence_Part2.ComputationTreeEquiv.__proj__Mkaction_class__item__output_of", - "token_correspondence_Part2.ComputationTreeEquiv.output_of", - "unit_typing", - "well_founded_ordering_on_codomain_Part2.ComputationTreeEquiv.DoThen" - ], - 0, - "9d7513a67366fbdef3b126517ac0e5c2" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.Connectives.Negation.fst.hints b/doc/book/code/exercises/Part2.Connectives.Negation.fst.hints deleted file mode 100644 index 885cd07ba43..00000000000 --- a/doc/book/code/exercises/Part2.Connectives.Negation.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ò¬\u001a§H¤µ(Çpzv\u00168M5", [] ] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.Leibniz.fst.hints b/doc/book/code/exercises/Part2.Leibniz.fst.hints deleted file mode 100644 index 19d06c6dc74..00000000000 --- a/doc/book/code/exercises/Part2.Leibniz.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ì1˜£\u0018ào7ÿ„§v\u00077×u", [] ] \ 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 deleted file mode 100644 index 5d5a7b53998..00000000000 --- a/doc/book/code/exercises/Part2.MerkleTreeGet.fst.hints +++ /dev/null @@ -1,128 +0,0 @@ -[ - "‰Oöá>äFXNßFÐ¥\u0014\u0004s", - [ - [ - "Part2.MerkleTreeGet.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeGet.lstring", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" - ], - 0, - "b8d9315ae7e3fdc208568618b7a01529" - ], - [ - "Part2.MerkleTreeGet.mtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ca9b9beebcfce7185717775ac68412ac" - ], - [ - "Part2.MerkleTreeGet.mtree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeGet.hash_t", - "equation_Part2.MerkleTreeGet.lstring", - "equation_Part2.MerkleTreeGet.resource", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "function_token_typing_Prims.string", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "9921d2373771d699c374585b4ca1c8be" - ], - [ - "Part2.MerkleTreeGet.__proj__L__item__res", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1227872f8061b10b03c76a5dafbade0c" - ], - 0, - "9b370e685566d7cf77d656eefe27927b" - ], - [ - "Part2.MerkleTreeGet.__proj__N__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" - ], - 0, - "917cb829931e6fccc92ecc9d0d41f4fb" - ], - [ - "Part2.MerkleTreeGet.__proj__N__item__hl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" - ], - 0, - "f72e530e6cbaeca08aeb91c2b3ff03e4" - ], - [ - "Part2.MerkleTreeGet.__proj__N__item__hr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" - ], - 0, - "5f852aee8dfbdf3a4475830748ca3d90" - ], - [ - "Part2.MerkleTreeGet.__proj__N__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.MerkleTreeGet.N", - "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" - ], - 0, - "333a2936eec8b8b2696818e0cc0a1f55" - ], - [ - "Part2.MerkleTreeGet.__proj__N__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.MerkleTreeGet.N", - "refinement_interpretation_Tm_refine_65465018d9c94f30281c746e8f2f9472" - ], - 0, - "ba35d659f03d992af07c8ab222112881" - ] - ] -] \ 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 deleted file mode 100644 index 5a5adfe47db..00000000000 --- a/doc/book/code/exercises/Part2.MerkleTreeUpdate.fst.hints +++ /dev/null @@ -1,171 +0,0 @@ -[ - "Ü\u0005žÝO—8Ä\u001d\b§mÉåÝ!", - [ - [ - "Part2.MerkleTreeUpdate.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeUpdate.lstring", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" - ], - 0, - "c23cb75fe4295444d027c8fe96f68df2" - ], - [ - "Part2.MerkleTreeUpdate.mtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "609c0ea9b1117938c96ea0b3f4b727da" - ], - [ - "Part2.MerkleTreeUpdate.mtree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeUpdate.hash_t", - "equation_Part2.MerkleTreeUpdate.lstring", - "equation_Part2.MerkleTreeUpdate.resource", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "function_token_typing_Prims.string", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "da7ad1b0e2a0b812a61fd0d75ac8ac5c" - ], - [ - "Part2.MerkleTreeUpdate.__proj__L__item__res", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9fe0de7927eebb0f260c524618c9f60f" - ], - 0, - "477d0518c1e9b9833bbbe284dc6c0dd6" - ], - [ - "Part2.MerkleTreeUpdate.__proj__N__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" - ], - 0, - "518b06b883cbfac9173072bc6a8a1484" - ], - [ - "Part2.MerkleTreeUpdate.__proj__N__item__hl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" - ], - 0, - "a5a9e00da6ea0d66fffcc922f538ec39" - ], - [ - "Part2.MerkleTreeUpdate.__proj__N__item__hr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" - ], - 0, - "81b1782ec51a5da467e88003e79b7230" - ], - [ - "Part2.MerkleTreeUpdate.__proj__N__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.MerkleTreeUpdate.N", - "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" - ], - 0, - "86b3109b17f0d1cf72edfc50b3ccc398" - ], - [ - "Part2.MerkleTreeUpdate.__proj__N__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.MerkleTreeUpdate.N", - "refinement_interpretation_Tm_refine_7e277b02b423eaf4f95dcc75c2d983c9" - ], - 0, - "94144854146ef05fab229679a0ca804b" - ], - [ - "Part2.MerkleTreeUpdate.get", - 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", "binder_x_01390032e93885625b950d92a9c2bf5f_1", - "binder_x_a9ed9336be72bcfcb0e8818513055107_0", - "binder_x_e529679a2d87d926b4b89d29d59318cf_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Part2.MerkleTreeUpdate.N", - "disc_equation_Part2.MerkleTreeUpdate.L", - "disc_equation_Part2.MerkleTreeUpdate.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Part2.MerkleTreeUpdate.hash_t", - "equation_Part2.MerkleTreeUpdate.lstring", - "equation_Part2.MerkleTreeUpdate.resource_id", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Part2.MerkleTreeUpdate.mtree", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.bool", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_Part2.MerkleTreeUpdate.N_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "a42f1a707bab35525f397afe44f83516" - ] - ] -] \ 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 deleted file mode 100644 index 30a4e0b7dcc..00000000000 --- a/doc/book/code/exercises/Part2.MerkleTreeUpdate_V0.fst.hints +++ /dev/null @@ -1,152 +0,0 @@ -[ - "Œò˜Ð+÷\u000båFÜ«\u001c|I«t", - [ - [ - "Part2.MerkleTreeUpdate_V0.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeUpdate_V0.lstring", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669" - ], - 0, - "421ce30d83b0e4070f6a30873e990d24" - ], - [ - "Part2.MerkleTreeUpdate_V0.mtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3083873283e720b4d566bfbfa5446538" - ], - [ - "Part2.MerkleTreeUpdate_V0.mtree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Part2.MerkleTreeUpdate_V0.hash_t", - "equation_Part2.MerkleTreeUpdate_V0.lstring", - "equation_Part2.MerkleTreeUpdate_V0.resource", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "function_token_typing_Prims.string", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "8adce7b82e55931f7359502e019ff650" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__L__item__res", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8e69cebc710bb68b015c24d3e7cb8a83" - ], - 0, - "2daaa7be98eebf6eb9632181d46460a2" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__N__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" - ], - 0, - "b6ee182f2da756f06699aa24a0412add" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__N__item__hl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" - ], - 0, - "55e53fdd1306af8842603ecd344f5bf6" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__N__item__hr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" - ], - 0, - "a167c1ff7899feac9c0121773a1549a2" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__N__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.MerkleTreeUpdate_V0.N", - "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" - ], - 0, - "f57c9a790d00ba83c0728d04a4ca8d81" - ], - [ - "Part2.MerkleTreeUpdate_V0.__proj__N__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Part2.MerkleTreeUpdate_V0.N", - "refinement_interpretation_Tm_refine_1bf7098eb8d0594bdef0a02cc4ddcde1" - ], - 0, - "139209adae05519850e2bcbf38d256f5" - ], - [ - "Part2.MerkleTreeUpdate_V0.mtree'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Part2.MerkleTreeUpdate_V0.mtree__uu___haseq", - "equation_Part2.MerkleTreeUpdate_V0.hash_t", - "equation_Part2.MerkleTreeUpdate_V0.lstring", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.string", - "haseqTm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd57a2b9b9fc8ea75ce9775c54c0669", - "string_inversion" - ], - 0, - "197ff1090321b4ae8cef986ad9e94c20" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Part2.Option.fst.hints b/doc/book/code/exercises/Part2.Option.fst.hints deleted file mode 100644 index 625ef3a1a08..00000000000 --- a/doc/book/code/exercises/Part2.Option.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ô¥½ãÁ$ñìI\u0014£û;\u000e²", [] ] \ 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 deleted file mode 100644 index 4625e0b793b..00000000000 --- a/doc/book/code/exercises/Part2.ST.fst.hints +++ /dev/null @@ -1,115 +0,0 @@ -[ - "Òîü)mâypé›)(­ =\u0005", - [ - [ - "Part2.ST.left_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.return", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_f60fb6c7723bc12608080c328ffdef90", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "83d731861d9454154b9ef7e6fc69b47a" - ], - [ - "Part2.ST.right_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.ST_interpretation_Tm_arrow_484ac694053f9cf14a2c5a94a3797972", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.return", "equation_Part2.ST.st", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_b59365ad3139ca111388aa0e5ca85f23", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed" - ], - 0, - "38866a7af4a4faf0994b7f85282545d3" - ], - [ - "Part2.ST.associativity", - 1, - 2, - 1, - [ - "@query", "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "interpretation_Tm_abs_416295c3f0062462a3b54f7f9242d2bf", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "interpretation_Tm_abs_f60fb6c7723bc12608080c328ffdef90" - ], - 0, - "41d30161b0e2caa216d03e119d572ef7" - ], - [ - "Part2.ST.redundant_read_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.read", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1aa26ac49f01c01d9b87dd7954ca1a43", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "0319e5216d6dca881fb8f6b0b33ba97b" - ], - [ - "Part2.ST.redundant_write_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.ST.bind", - "equation_Part2.ST.feq", "equation_Part2.ST.write", "int_inversion", - "interpretation_Tm_abs_03e66b6f12eb85069ed3f8523b7cfb8c", - "interpretation_Tm_abs_a042443be7fe414cca51c2f4c9aba97e", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed" - ], - 0, - "a6eb3db3b4daf5d2df54e8ba6fdb8158" - ], - [ - "Part2.ST.read_write_noop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Part2.ST.bind", "equation_Part2.ST.feq", - "equation_Part2.ST.read", "equation_Part2.ST.return", - "equation_Part2.ST.write", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_03e66b6f12eb85069ed3f8523b7cfb8c", - "interpretation_Tm_abs_84075e8b35c596cc6f7a301c9da23721", - "interpretation_Tm_abs_936ba95a022a0abfa58b689a8bbd5c1f", - "interpretation_Tm_abs_bdc06410776c1d9adee9aeba485b40ed", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "fb934058f562f2279288141ae4b57e83" - ] - ] -] \ 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 deleted file mode 100644 index 534bb4b621a..00000000000 --- a/doc/book/code/exercises/Part2.STLC.fst.hints +++ /dev/null @@ -1,768 +0,0 @@ -[ - "§7HV\t\u000b\u0002%qáÕ¸š¡[", - [ - [ - "Part2.STLC.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "eed11880b6eefbc8e3d458a9e7f00d28" - ], - [ - "Part2.STLC.__proj__TArr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" - ], - 0, - "64e22c4d51b29e5c380a78b92de51fca" - ], - [ - "Part2.STLC.__proj__TArr__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_186733527fde97e5fc201c81831d8909" - ], - 0, - "23b7dab9af02c9b1db022dadd59e7dac" - ], - [ - "Part2.STLC.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Part2.STLC.typ__uu___haseq", "equation_Part2.STLC.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "dd099f88637a43575c20a0f6d9b65aee" - ], - [ - "Part2.STLC.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a33d2a5e9563090c25ee7a18ccaecd18" - ], - 0, - "812d53994518b3a2237befea38652179" - ], - [ - "Part2.STLC.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" - ], - 0, - "05acba775e7465dadb731a20581c387e" - ], - [ - "Part2.STLC.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e9ee79804f7f01ce1d0cbcf87f0a5ef" - ], - 0, - "86b3d67bda6ee47111d46ed3fe99593a" - ], - [ - "Part2.STLC.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" - ], - 0, - "0413cfe5a64f893ea07de467007eb53b" - ], - [ - "Part2.STLC.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4a5a0b7c0e4995139dde45518ed30a0" - ], - 0, - "21a1ce9eea3194a4506046cfb9eb4da6" - ], - [ - "Part2.STLC.sub_inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3d59c1be2f67ab05b35acab607497c1" - ], - [ - "Part2.STLC.sub_inc", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EVar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.EVar__0" - ], - 0, - "4789decfd7df3b6e6abc7e2f43d071a3" - ], - [ - "Part2.STLC.sub_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EVar", "equation_Part2.STLC.var", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_1b62cfe16dc9bf1464c79e0d479238a1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Part2.STLC.uu___is_EVar" - ], - 0, - "345bc46e8b840e520bc9f98a39f2952f" - ], - [ - "Part2.STLC.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_2", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EVar", - "disc_equation_Part2.STLC.EApp", "disc_equation_Part2.STLC.ELam", - "disc_equation_Part2.STLC.EUnit", "disc_equation_Part2.STLC.EVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.sub", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.exp", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__0", - "projection_inverse_Part2.STLC.ELam__1", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "subterm_ordering_Part2.STLC.EApp", - "subterm_ordering_Part2.STLC.ELam", "typing_Part2.STLC.bool_order", - "typing_Part2.STLC.uu___is_EUnit", "typing_Part2.STLC.uu___is_EVar", - "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" - ], - 0, - "41b0d8e585783cf39e02bf15bede6993" - ], - [ - "Part2.STLC.subst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_interpretation_Tm_arrow_c9b4ef96ab5da9e78dfe025bc15e63d9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_65215a7c2640be606af5ca0b4e699808_1", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion", - "bool_typing", "constructor_distinct_Part2.STLC.EVar", - "data_elim_Part2.STLC.EVar", "disc_equation_Part2.STLC.EVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.sub", - "equation_Part2.STLC.sub_inc", "equation_Part2.STLC.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Part2.STLC.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_2de7c21b0601c0f4dd3f55faefa9de23", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EVar__0", - "refinement_interpretation_Tm_refine_0d9dfe923a032e19d142a196a058e9af", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "refinement_interpretation_Tm_refine_eec4c454c7e6999e7dbf994854687c5c", - "typing_Part2.STLC.bool_order", "typing_Part2.STLC.sub_inc", - "typing_Part2.STLC.subst", "typing_Part2.STLC.uu___is_EVar", - "typing_tok_Part2.STLC.EUnit@tok", "well-founded-ordering-on-nat" - ], - 0, - "fe1d7ad3dc677b8ef92c1916e0d31704" - ], - [ - "Part2.STLC.step", - 1, - 2, - 1, - [ - "@query", "assumption_Part2.STLC.exp__uu___haseq", - "assumption_Part2.STLC.typ__uu___haseq" - ], - 0, - "66dc58ddefc26a08826cc83fb2a17eb9" - ], - [ - "Part2.STLC.__proj__Beta__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "36ee9491a41522f705d8a2ab38cf3932" - ], - [ - "Part2.STLC.__proj__Beta__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "ef30142779e1d3c2927f108b03a7386d" - ], - [ - "Part2.STLC.__proj__Beta__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09f024080f652bb340a7d2f2144122af" - ], - 0, - "246c5e7aad56d93c4f8243a3da598d76" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "41766bad3067e036f5e49cd10f2d8197" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "224709e5800deb0b669166791df073d3" - ], - [ - "Part2.STLC.__proj__AppLeft__item__e1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "1f1fdc90d4c909b7ad8378b5beb48165" - ], - [ - "Part2.STLC.__proj__AppLeft__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.AppLeft", - "proj_equation_Part2.STLC.AppLeft_e1", - "proj_equation_Part2.STLC.AppLeft_e1_", - "projection_inverse_Part2.STLC.AppLeft_e1", - "projection_inverse_Part2.STLC.AppLeft_e1_", - "refinement_interpretation_Tm_refine_43003b9576654c3a901f320486ea2517" - ], - 0, - "682dfc290b42dd3f73b8bac07cd2f543" - ], - [ - "Part2.STLC.__proj__AppRight__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "455e433069ddd92439691ea29dbd17a9" - ], - [ - "Part2.STLC.__proj__AppRight__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "64046368817ead102ff2e43fff812901" - ], - [ - "Part2.STLC.__proj__AppRight__item__e2'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "7358fada05a32d94dff0a44783f2f9c8" - ], - [ - "Part2.STLC.__proj__AppRight__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.AppRight", - "proj_equation_Part2.STLC.AppRight_e2", - "proj_equation_Part2.STLC.AppRight_e2_", - "projection_inverse_Part2.STLC.AppRight_e2", - "projection_inverse_Part2.STLC.AppRight_e2_", - "refinement_interpretation_Tm_refine_84bb1db4141ccc2afa5e4a4da8e062f9" - ], - 0, - "cbb05c5a30c6ec10e88d5e943a0fd57e" - ], - [ - "Part2.STLC.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Part2.STLC.var", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "35754f9db14b36c356c48d9e80cdda49" - ], - [ - "Part2.STLC.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" - ], - 0, - "ad4baf4e0ec0e411a5a0b3b08d2ddb9d" - ], - [ - "Part2.STLC.__proj__TyUnit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_458ed1c37648df81e4eddbf462b96636" - ], - 0, - "3fa2f5ee1163593ec70ff5384893ac14" - ], - [ - "Part2.STLC.__proj__TyVar__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" - ], - 0, - "4b5c267d0bedf9b76653529cd1c53fba" - ], - [ - "Part2.STLC.__proj__TyVar__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyVar", - "refinement_interpretation_Tm_refine_40723128acd6569a8e31354a71e4468b" - ], - 0, - "715cae19e935db7cf152f21e1fb12d78" - ], - [ - "Part2.STLC.__proj__TyLam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "ba94e496440fd9b2ae33a0a89813527f" - ], - [ - "Part2.STLC.__proj__TyLam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "fab765ba80704dc4dcafd4175b921a80" - ], - [ - "Part2.STLC.__proj__TyLam__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "0507e54e23065f9437df565694fbd051" - ], - [ - "Part2.STLC.__proj__TyLam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "291b5cbff6681f0398359c69ef56dd39" - ], - [ - "Part2.STLC.__proj__TyLam__item__hbody", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyLam", - "proj_equation_Part2.STLC.TyLam_e1", - "proj_equation_Part2.STLC.TyLam_g", - "proj_equation_Part2.STLC.TyLam_t", - "proj_equation_Part2.STLC.TyLam_t_", - "projection_inverse_Part2.STLC.TyLam_e1", - "projection_inverse_Part2.STLC.TyLam_g", - "projection_inverse_Part2.STLC.TyLam_t", - "projection_inverse_Part2.STLC.TyLam_t_", - "refinement_interpretation_Tm_refine_816632a5355bf5ee6589c220d8031049" - ], - 0, - "caaf6e15f16ec51336fbbc2b9159dc4b" - ], - [ - "Part2.STLC.__proj__TyApp__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "f4bb89babe04c90e879797a6d89169b2" - ], - [ - "Part2.STLC.__proj__TyApp__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "9bb252d186a04788b05a7376d8efcb24" - ], - [ - "Part2.STLC.__proj__TyApp__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "77abcce4aa82989e2afc3ebd1d000351" - ], - [ - "Part2.STLC.__proj__TyApp__item__t11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "3b721c9eed5a909066d251be162abd6b" - ], - [ - "Part2.STLC.__proj__TyApp__item__t12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "99ea7772cdac28ca996c8efebf1a35aa" - ], - [ - "Part2.STLC.__proj__TyApp__item__h1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyApp", - "proj_equation_Part2.STLC.TyApp_e1", - "proj_equation_Part2.STLC.TyApp_g", - "proj_equation_Part2.STLC.TyApp_t11", - "proj_equation_Part2.STLC.TyApp_t12", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "ab9d7f1a00e25ad298d11571b87c0c0f" - ], - [ - "Part2.STLC.__proj__TyApp__item__h2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.STLC.TyApp", - "proj_equation_Part2.STLC.TyApp_e2", - "proj_equation_Part2.STLC.TyApp_g", - "proj_equation_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_t11", - "refinement_interpretation_Tm_refine_2208fb049bb54c9e470ca43dca7a0a6c" - ], - 0, - "2ab3dc2db2430f1d5c9be783340d395d" - ], - [ - "Part2.STLC.subst_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b" - ], - 0, - "628800be85b40cde6f069306d7328c90" - ], - [ - "Part2.STLC.substitution", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Part2.STLC.sub_elam.fuel_instrumented", - "@fuel_correspondence_Part2.STLC.subst.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.sub_elam.fuel_instrumented", - "@fuel_irrelevance_Part2.STLC.subst.fuel_instrumented", "@query", - "Part2.STLC_interpretation_Tm_arrow_3fde94793e4352702e33568f84524ace", - "Part2.STLC_interpretation_Tm_arrow_712f4e4fcb5912ac9dd754e09c76ec37", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "Part2.STLC_pretyping_e841e6e464194e88d1dfdbd7a30122f9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18fd788e03c31147f96c0298a51bc5a4_0", - "binder_x_18fd788e03c31147f96c0298a51bc5a4_5", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_1", - "binder_x_869dc3522990f6752b17c4783de7d0eb_4", - "binder_x_cfd31026f64830b2d708ae7864f25351_6", - "binder_x_e841e6e464194e88d1dfdbd7a30122f9_2", - "binder_x_f537159ed795b314b4e58c260361ae86_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EUnit", - "constructor_distinct_Part2.STLC.EVar", - "constructor_distinct_Part2.STLC.TyApp", - "data_elim_Part2.STLC.TyApp", "data_elim_Part2.STLC.TyLam", - "data_elim_Part2.STLC.TyUnit", "data_elim_Part2.STLC.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Part2.STLC.EVar", "disc_equation_Part2.STLC.TyApp", - "disc_equation_Part2.STLC.TyLam", "disc_equation_Part2.STLC.TyUnit", - "disc_equation_Part2.STLC.TyVar", - "equality_tok_Part2.STLC.EUnit@tok", - "equality_tok_Part2.STLC.TUnit@tok", - "equation_Part2.STLC.bool_order", "equation_Part2.STLC.env", - "equation_Part2.STLC.extend", "equation_Part2.STLC.sub", - "equation_Part2.STLC.var", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Part2.STLC.sub_elam.fuel_instrumented", - "equation_with_fuel_Part2.STLC.subst.fuel_instrumented", - "fuel_guarded_inversion_Part2.STLC.typing", - "function_token_typing_Part2.STLC.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_85ab00838dfe4b6efc9f846921e0c88c", - "interpretation_Tm_abs_d22096c997e9f07f22f773ec2e947cfe", - "kinding_Part2.STLC.typ@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__0", - "projection_inverse_Part2.STLC.ELam__1", - "projection_inverse_Part2.STLC.EVar__0", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_h1", - "projection_inverse_Part2.STLC.TyApp_h2", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "projection_inverse_Part2.STLC.TyLam_e1", - "projection_inverse_Part2.STLC.TyLam_g", - "projection_inverse_Part2.STLC.TyLam_t", - "projection_inverse_Part2.STLC.TyLam_t_", - "refinement_interpretation_Tm_refine_50e7de642855ca6a5033352d0a02d538", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7b1876d4248c127fc44bb888731a7e0b", - "refinement_interpretation_Tm_refine_a8efdd71c0bf2303c6916e3236cfe08c", - "refinement_interpretation_Tm_refine_cea8159856afa53c211cd745a014a257", - "subterm_ordering_Part2.STLC.EApp", - "subterm_ordering_Part2.STLC.ELam", - "token_correspondence_Part2.STLC.extend", - "token_correspondence_Part2.STLC.sub_elam", - "typing_Part2.STLC.bool_order", "typing_Part2.STLC.uu___is_EVar", - "typing_Part2.STLC.uu___is_TyApp", "typing_Part2.STLC.uu___is_TyLam", - "typing_Part2.STLC.uu___is_TyUnit", - "typing_tok_Part2.STLC.EUnit@tok", "typing_tok_Part2.STLC.TUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "c903348ad5b61d80ba546c7d8719b6b7" - ], - [ - "Part2.STLC.preservation_step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Part2.STLC_pretyping_55096fc9f22d964749a41bbd0db73f9c", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_0", - "binder_x_55096fc9f22d964749a41bbd0db73f9c_1", - "binder_x_98a0f19aef2b8e6043dbf8bc755a92b6_5", - "binder_x_a341b415fffbec44cf2df914f70352d3_4", - "constructor_distinct_Part2.STLC.EApp", - "constructor_distinct_Part2.STLC.ELam", - "constructor_distinct_Part2.STLC.EUnit", - "constructor_distinct_Part2.STLC.EVar", - "constructor_distinct_Part2.STLC.TArr", - "constructor_distinct_Part2.STLC.TUnit", - "data_elim_Part2.STLC.AppLeft", "data_elim_Part2.STLC.AppRight", - "data_elim_Part2.STLC.Beta", "disc_equation_Part2.STLC.AppLeft", - "disc_equation_Part2.STLC.AppRight", "disc_equation_Part2.STLC.Beta", - "disc_equation_Part2.STLC.TyApp", "disc_equation_Part2.STLC.TyLam", - "equality_tok_Part2.STLC.EUnit@tok", - "equality_tok_Part2.STLC.TUnit@tok", - "fuel_guarded_inversion_Part2.STLC.exp", - "fuel_guarded_inversion_Part2.STLC.step", - "fuel_guarded_inversion_Part2.STLC.typing", - "proj_equation_Part2.STLC.TyLam_e1", - "proj_equation_Part2.STLC.TyLam_g", - "proj_equation_Part2.STLC.TyLam_t", - "proj_equation_Part2.STLC.TyLam_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Part2.STLC.EApp__0", - "projection_inverse_Part2.STLC.EApp__1", - "projection_inverse_Part2.STLC.ELam__1", - "projection_inverse_Part2.STLC.TArr__0", - "projection_inverse_Part2.STLC.TArr__1", - "projection_inverse_Part2.STLC.TyApp_e1", - "projection_inverse_Part2.STLC.TyApp_e2", - "projection_inverse_Part2.STLC.TyApp_g", - "projection_inverse_Part2.STLC.TyApp_h1", - "projection_inverse_Part2.STLC.TyApp_t11", - "projection_inverse_Part2.STLC.TyApp_t12", - "subterm_ordering_Part2.STLC.EApp", "typing_tok_Part2.STLC.EUnit@tok" - ], - 0, - "3d0ea31cc0cf2bc523c384c69e2d987a" - ] - ] -] \ 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 deleted file mode 100644 index 1fe92942132..00000000000 --- a/doc/book/code/exercises/Part2.Vec.fst.hints +++ /dev/null @@ -1,155 +0,0 @@ -[ - "Æžè‰T1æG\u001bjÕ\u00196Ûìå", - [ - [ - "Part2.Vec.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1d91d1ff8097abab696d51309b5c3724" - ], - [ - "Part2.Vec.vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "dc065872ce0981d1fbe12b2efb66fcab" - ], - [ - "Part2.Vec.__proj__Cons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" - ], - 0, - "9ef1b09dbdb1147815d4d63bec2ae3e8" - ], - [ - "Part2.Vec.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" - ], - 0, - "5dad244247b81ac925e73286c8a7c334" - ], - [ - "Part2.Vec.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Part2.Vec.Cons", - "refinement_interpretation_Tm_refine_4474f8e18622e81334247360809b690b" - ], - 0, - "338b735cad8ae6bc0e74a4798c0ee41e" - ], - [ - "Part2.Vec.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1a47474f6e58ad765725be06739e1610_4", - "binder_x_672374d0b42dedb03cc70d39558dc5d9_3", - "binder_x_ae567c2fb75be05905677af440075565_2", - "data_elim_Part2.Vec.Cons", "disc_equation_Part2.Vec.Cons", - "equation_Prims.nat", "fuel_guarded_inversion_Part2.Vec.vec", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Part2.Vec.Cons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a21d6f09caede4017908c96b90a022a4", - "well-founded-ordering-on-nat" - ], - 0, - "b409d6c4f7e6481991b77ff1732470d5" - ], - [ - "Part2.Vec.get", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "aa6a68f32937daeaa2b7807cb1dcffa6" - ], - [ - "Part2.Vec.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c5808db4270c51cb31fb3de292e063db" - ], - [ - "Part2.Vec.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "566cab8f9c6ccedab03348afe75243e6" - ], - [ - "Part2.Vec.split_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "74eb429ffe4ef7ba2ea59eabc79efb38" - ] - ] -] \ 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 deleted file mode 100644 index 554fbd9b9ac..00000000000 --- a/doc/book/code/exercises/Part3.MonadsAndFunctors.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "•\u0004:\u001aâá«Ñò\n§Åˆ[§›", - [ - [ - "Part3.MonadsAndFunctors.get_put_identity", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_Part3.MonadsAndFunctors.get", - "equation_Part3.MonadsAndFunctors.get_put", - "equation_Part3.MonadsAndFunctors.noop", - "equation_Part3.MonadsAndFunctors.op_let_Bang", - "equation_Part3.MonadsAndFunctors.put", - "equation_Part3.MonadsAndFunctors.return", - "equation_Part3.MonadsAndFunctors.st_monad", - "interpretation_Tm_abs_2aa0b1a96b161b2d053b39fd53381fc4", - "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "interpretation_Tm_abs_80bae2cedda8810a1873ff1bc009da67", - "interpretation_Tm_abs_97109d50a9702431a8a9f6b1c21c6c7c", - "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_c7f914ae4514878746f35d4ed5a7aacc", - "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Part3.MonadsAndFunctors.Mkmonad_op_let_Bang", - "projection_inverse_Part3.MonadsAndFunctors.Mkmonad_return", - "token_correspondence_Part3.MonadsAndFunctors.op_let_Bang", - "token_correspondence_Part3.MonadsAndFunctors.return" - ], - 0, - "774212c2c0b3972a629562df9fca27ba" - ], - [ - "Part3.MonadsAndFunctors.opt_monad", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "f370e2f148b035eca36be25ffa8f3d84" - ], - [ - "Part3.MonadsAndFunctors.div", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "a475569a70d2ea72de49340245faaab9" - ] - ] -] \ No newline at end of file diff --git a/doc/book/code/exercises/Part3.Typeclasses.fst.hints b/doc/book/code/exercises/Part3.Typeclasses.fst.hints deleted file mode 100644 index 2a73fb03a28..00000000000 --- a/doc/book/code/exercises/Part3.Typeclasses.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ç\f·¬b]-?#³'aP\u0001\u001e’", [] ] \ No newline at end of file diff --git a/doc/cacheenv.txt b/doc/cacheenv.txt deleted file mode 100644 index c631633d94f..00000000000 --- a/doc/cacheenv.txt +++ /dev/null @@ -1,33 +0,0 @@ -Support for compiled interfaces -———————————————— - -When F* type checks a module, it also has to type check the standard -library and all imported modules to include their definitions in the -environment. Instead, it would be good to have support for persistent -cache of compiled module interfaces, that can be restored when -needed. - -On the writing side, once F* type checker finishes type checking a -module module.fs, it can serialize following details of the module to -a module.tc file: - -— The definition of non-private types -— Signature (kinds) of private types (?) -— Non-private val declarations -— Signature of non-private top level let bindings that do not have val -declarations -— Definitions of top-level pure functions -— Non-private assumptions -— Monad declarations - -(Thanks Nik for the list !) - -Marshaling format: TBD - -On the reading side, when the type checker finds an import module, -it’s going to read the module.tc file and populate the type -environment. It needs to check that the module.tc file is not -outdated. It can do that by comparing the timestamps of the module -file and module.tc file. Alternatively, we can have more elaborate -Makefile rules listing all the dependencies there, and then let make -handle the generation of module.tc file. diff --git a/doc/old/tutorial/code/exercises/Ex01a.fst.hints b/doc/old/tutorial/code/exercises/Ex01a.fst.hints deleted file mode 100644 index 4cd8f6ece26..00000000000 --- a/doc/old/tutorial/code/exercises/Ex01a.fst.hints +++ /dev/null @@ -1,33 +0,0 @@ -[ - "3\u0006¸«Uû$Ä>€1­Là0 ", - [ - [ - "Ex01a.staticChecking", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.V", "equation_Ex01a.canRead", - "equation_Ex01a.canWrite", "equation_Ex01a.readme", - "equation_Ex01a.tmp", - "fuel_guarded_inversion_FStar.Pervasives.result", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.V_a", - "projection_inverse_FStar.Pervasives.V_v" - ], - 0, - "36da38123a3e9912acf6e146f9b90509" - ], - [ - "Ex01a.checkedRead", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "1104d191068272060657a17172cbbbf7" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex02a.fst.hints b/doc/old/tutorial/code/exercises/Ex02a.fst.hints deleted file mode 100644 index fab28cf33cf..00000000000 --- a/doc/old/tutorial/code/exercises/Ex02a.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "nÉ»\u0000‰A„û)¸äy¿1ñ†", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex03a.fst.hints b/doc/old/tutorial/code/exercises/Ex03a.fst.hints deleted file mode 100644 index 727ef8548bf..00000000000 --- a/doc/old/tutorial/code/exercises/Ex03a.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "ˆ|\u001f\\è¯ÝvŒZÇBÆ\"¦1", - [ - [ - "Ex03a.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_717cd45ee01469f780e77315120157cb_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "9fdc662db196abdaf3917022aecc5d65" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex03b.fst.hints b/doc/old/tutorial/code/exercises/Ex03b.fst.hints deleted file mode 100644 index ce42cee74b7..00000000000 --- a/doc/old/tutorial/code/exercises/Ex03b.fst.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "2pâ`úOûôp5YÄ5\u0006y", - [ - [ - "Ex03b.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "well-founded-ordering-on-nat" - ], - 0, - "006cf645771ffdda64aa68931009e86b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex03c.fst.hints b/doc/old/tutorial/code/exercises/Ex03c.fst.hints deleted file mode 100644 index bae5e69218a..00000000000 --- a/doc/old/tutorial/code/exercises/Ex03c.fst.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "2ع¡êŸišú“\b5P€è½", - [ - [ - "Ex03c.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "1990feec8b374d143f68c31f8001d178" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04a.fst.hints b/doc/old/tutorial/code/exercises/Ex04a.fst.hints deleted file mode 100644 index f93488c556c..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04a.fst.hints +++ /dev/null @@ -1,36 +0,0 @@ -[ - "œ\u000faM~¾F±ÄÇËÚ¤+v\u0007", - [ - [ - "Ex04a.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "fc115bdd740b457afcbf6c0dc617709f" - ], - [ - "Ex04a.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "9b817c36e86510b5a8ee204005390ca8" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04b.fst.hints b/doc/old/tutorial/code/exercises/Ex04b.fst.hints deleted file mode 100644 index 75c7c00118b..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04b.fst.hints +++ /dev/null @@ -1,37 +0,0 @@ -[ - "ù¢Úg\u0014°q§<\u0013d\u0006ÇŠ¼e", - [ - [ - "Ex04b.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "62a8591d6fea8257d0e1534570872c6f" - ], - [ - "Ex04b.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "ff803a823c254313838687a6fc7ef10b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04c.fst.hints b/doc/old/tutorial/code/exercises/Ex04c.fst.hints deleted file mode 100644 index 3496e706adc..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04c.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "»G/DÚ\u0017Mp±¤ŸÓã°ÝÚ", - [ - [ - "Ex04c.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "4ec8e65655f6732c5fe11b4256bcb80f" - ], - [ - "Ex04c.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c7cea57a4d05d470918a3a1a51ed8758" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04e.fst.hints b/doc/old/tutorial/code/exercises/Ex04e.fst.hints deleted file mode 100644 index afe043de270..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04e.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "rº<à€\u0004à«N\f+\u000bWW4$", - [ - [ - "Ex04e.option", - 1, - 2, - 1, - [ "@query" ], - 0, - "71f129e0dfad6fda8c444edd5ceed57d" - ], - [ - "Ex04e.__proj__Some__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex04e.Some", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" - ], - 0, - "d8a38b0c1444e9a2b36c7d6ba06f6ec6" - ], - [ - "Ex04e.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "e168726f244ed59cc4cbc3bcb8475035" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04f.fst.hints b/doc/old/tutorial/code/exercises/Ex04f.fst.hints deleted file mode 100644 index 6d873d73763..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04f.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "ƒÜÍ\t\u0004ÖuVÍàÞ¦+¡†", - [ - [ - "Ex04f.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "d322c300519970209fd4e876f9a37147" - ], - [ - "Ex04f.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "99fa2ab1bb64410f96cecff5a42b361a" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04g.fst.hints b/doc/old/tutorial/code/exercises/Ex04g.fst.hints deleted file mode 100644 index 44fd84650d9..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04g.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‹(úÎJ\u000escÚüº\u0001«z\u001bˆ", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex04h.fst.hints b/doc/old/tutorial/code/exercises/Ex04h.fst.hints deleted file mode 100644 index 8f2a0ce5280..00000000000 --- a/doc/old/tutorial/code/exercises/Ex04h.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "…¢ÚcvïÓsó\u0016\r½\bA\u00101", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex05a.fst.hints b/doc/old/tutorial/code/exercises/Ex05a.fst.hints deleted file mode 100644 index 6e18f21af96..00000000000 --- a/doc/old/tutorial/code/exercises/Ex05a.fst.hints +++ /dev/null @@ -1,73 +0,0 @@ -[ - "ëHìi¢ƒÇf¡\u0016Zr¹8«", - [ - [ - "Ex05a.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "f707034b33ded734341667bf898e278f" - ], - [ - "Ex05a.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "83b7e39d62fc029849a7f37b43e64f83" - ], - [ - "Ex05a.rev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "subterm_ordering_Prims.Cons" - ], - 0, - "2825e6fdd46d9cde01ed6035702c2a6f" - ], - [ - "Ex05a.append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05a.append.fuel_instrumented", - "@fuel_irrelevance_Ex05a.append.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Ex05a.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex05a.append" - ], - 0, - "7d2232bd38edb1ab69dc65e8229f8870" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex05b.fst.hints b/doc/old/tutorial/code/exercises/Ex05b.fst.hints deleted file mode 100644 index 7032701d2b4..00000000000 --- a/doc/old/tutorial/code/exercises/Ex05b.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "ˆQŽY•€\u007fѽÈU@³íq", - [ - [ - "Ex05b.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "aef7b2a73a71a373eed22d20a0137eb5" - ], - [ - "Ex05b.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "7c168f3d1e915216a6eee50242273f05" - ], - [ - "Ex05b.fib_is_ok", - 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, - "940a3c6464cdfa6f7d22416eb0ece43a" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex06a.fst.hints b/doc/old/tutorial/code/exercises/Ex06a.fst.hints deleted file mode 100644 index cd8779d695b..00000000000 --- a/doc/old/tutorial/code/exercises/Ex06a.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÁÜ\nøÌ`“Ì⢔E²\u0010Gn", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex06b.fst.hints b/doc/old/tutorial/code/exercises/Ex06b.fst.hints deleted file mode 100644 index 069d75052b1..00000000000 --- a/doc/old/tutorial/code/exercises/Ex06b.fst.hints +++ /dev/null @@ -1,275 +0,0 @@ -[ - "Èñƒ\n&óž>„é²c ’\u00054", - [ - [ - "Ex06b.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d364930458ae87dc1c71a2c38a857b7a" - ], - [ - "Ex06b.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "0190ebdf94b6f1f677d697cd1c1d28b5" - ], - [ - "Ex06b.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Ex06b.append", - "typing_Ex06b.mem" - ], - 0, - "f7682ac6b21035f053a3f8cf228f946d" - ], - [ - "Ex06b.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "b6bc1ab49078556f0bafcb1375195732" - ], - [ - "Ex06b.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "a50e609351dbb05a38667420ed49a5f0" - ], - [ - "Ex06b.partition", - 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_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "9b9fd226ecf52cebcdcc5f5185092f6e" - ], - [ - "Ex06b.partition_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.length.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06b.length.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06b.length.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition" - ], - 0, - "4a3defde16369907052bf3cf65094ab4" - ], - [ - "Ex06b.sorted_concat_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_d0a26d91c1b55e77e2a81e372c68139b_0", - "binder_x_d0a26d91c1b55e77e2a81e372c68139b_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "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_23f1d07aadccb2100075c4417a573e74", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "token_correspondence_Ex06b.sorted.fuel_instrumented", - "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" - ], - 0, - "8ddec9e8451e2bb3ea74c8f3ffe6039d" - ], - [ - "Ex06b.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.length.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.partition.fuel_instrumented", - "@fuel_correspondence_Ex06b.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.length.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.length.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_e90601fbdab5eac89988438c26a551fb", - "kinding_Prims.list@tok", "lemma_Ex06b.append_mem", - "lemma_Ex06b.partition_lemma", "lemma_Ex06b.sorted_concat_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "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.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_3724c37fe47e87ebf904dcc0159a0359", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_536087845b91fc40245269e59e3821c7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Ex06b.length.fuel_instrumented", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "token_correspondence_Ex06b.sorted.fuel_instrumented", - "typing_Ex06b.append", "typing_Ex06b.length", "typing_Ex06b.mem", - "typing_Ex06b.partition", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Tm_abs_e90601fbdab5eac89988438c26a551fb", - "well-founded-ordering-on-nat" - ], - 0, - "e646f515379511e0e398a919e93b4bdb" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex06e.fst.hints b/doc/old/tutorial/code/exercises/Ex06e.fst.hints deleted file mode 100644 index 3ff92c95e37..00000000000 --- a/doc/old/tutorial/code/exercises/Ex06e.fst.hints +++ /dev/null @@ -1,46 +0,0 @@ -[ - "¼\u000eƒŸØ„–Á{up&D½\u001f^", - [ - [ - "Ex06e.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "1b52130b847a494df5713def09159c01" - ], - [ - "Ex06e.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Prims.Cons" - ], - 0, - "35c11d506c208e1ce02419ae95fa67a9" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex07a.fst.hints b/doc/old/tutorial/code/exercises/Ex07a.fst.hints deleted file mode 100644 index 26a6f619ab9..00000000000 --- a/doc/old/tutorial/code/exercises/Ex07a.fst.hints +++ /dev/null @@ -1,669 +0,0 @@ -[ - "xCŠP6ý¼!Šù¼ð\u000bý\u0019t", - [ - [ - "Ex07a.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "7f357bbc2480792003e8381614406949" - ], - [ - "Ex07a.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" - ], - 0, - "6295cf7648631acb34bb290f04afe016" - ], - [ - "Ex07a.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" - ], - 0, - "7ce335a99a5c1ea697fc67189ac0680f" - ], - [ - "Ex07a.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "63dc3cd9dba3a5cd398e14e8996e914f" - ], - [ - "Ex07a.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" - ], - 0, - "438d35029ec1b01109783a2c81fb2972" - ], - [ - "Ex07a.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" - ], - 0, - "9d4112fe12ffc45a3cbec1e2ad9c86b5" - ], - [ - "Ex07a.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" - ], - 0, - "2b29a7e5672b5c829f9f2b7baba24000" - ], - [ - "Ex07a.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "a900fd10cc44a4f64a6a7f726b6372c1" - ], - [ - "Ex07a.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "ec59ee58780ebbd8fc1ee08d55049e12" - ], - [ - "Ex07a.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "a0cbe041638dbd6df5feb67bf1564397" - ], - [ - "Ex07a.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "1bd1311e78fbbf0766ab16e29687b0e9" - ], - [ - "Ex07a.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "e6038e96530aa59484f742058d173410" - ], - [ - "Ex07a.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "7b34bdf4ebc3c7b3b279359fa611ecf9" - ], - [ - "Ex07a.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07a.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf" - ], - 0, - "9b22612506a1c04a09cb53d3fef99d01" - ], - [ - "Ex07a.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07a.exp@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "a5ab526b53fb1cb4613e2a97c2c3b994" - ], - [ - "Ex07a.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "assumption_Ex07a.ty__uu___haseq", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", "bool_inversion", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "fuel_guarded_inversion_Ex07a.exp", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok" - ], - 0, - "91b2e0870fa43972eda76da2af4618aa" - ], - [ - "Ex07a.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.step.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.step.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.EVar", - "constructor_distinct_Ex07a.TArrow", - "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "equation_Ex07a.is_value", - "equation_with_fuel_Ex07a.step.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "typing_Ex07a.empty", - "typing_Ex07a.is_value", "typing_Ex07a.step", "typing_Ex07a.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1e5e71f6e92612d6c8fbfd279bfd705f" - ], - [ - "Ex07a.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07a.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf" - ], - 0, - "a2793dee0558d29673607023e1c0c0bf" - ], - [ - "Ex07a.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_interpretation_Tm_arrow_53a1764484b2bda056102304a1008ef7", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2d2a66942d22635d74194ee2adf88f89_2", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EFalse", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", - "constructor_distinct_Ex07a.EVar", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.EFalse@tok", "equality_tok_Ex07a.ETrue@tok", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.env", - "equation_Ex07a.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__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_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "typing_Ex07a.appears_free_in", - "typing_Ex07a.extend", "typing_Ex07a.typing", - "typing_Ex07a.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.EFalse@tok", "typing_tok_Ex07a.ETrue@tok", - "typing_tok_Ex07a.TBool@tok" - ], - 0, - "416075c2e702010f3dd39b3900cff6e1" - ], - [ - "Ex07a.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" - ], - 0, - "b09db81c8ec1e6f14cb9ccf83829dab2" - ], - [ - "Ex07a.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "b6a65928e54b6ead5332dc56080371bc" - ], - [ - "Ex07a.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "7240a990a36b7a7beea5f4d6331ef8a3" - ], - [ - "Ex07a.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_2d2a66942d22635d74194ee2adf88f89_1", - "binder_x_2d2a66942d22635d74194ee2adf88f89_2", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07a.EVar", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.equalE", - "equation_Ex07a.extend", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "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_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.extend", "typing_Ex07a.typing", - "typing_tok_Ex07a.TBool@tok", "unit_typing" - ], - 0, - "5ab05b8f04d3114d902a108a0e9ee670" - ], - [ - "Ex07a.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], - 0, - "119ca912417e7a9f57ceed74a652844a" - ], - [ - "Ex07a.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" - ], - 0, - "055ef28af5f8507a425105d5a84e3735" - ], - [ - "Ex07a.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.subst.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2d2a66942d22635d74194ee2adf88f89_3", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EFalse", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", - "constructor_distinct_Ex07a.EVar", - "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.EFalse@tok", "equality_tok_Ex07a.ETrue@tok", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.equal", - "equation_Ex07a.equalE", "equation_Ex07a.extend", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.subst.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_Ex07a.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.appears_free_in", "typing_Ex07a.extend", - "typing_Ex07a.subst", "typing_Ex07a.typing", - "typing_Ex07a.uu___is_ETrue", "typing_tok_Ex07a.EFalse@tok", - "typing_tok_Ex07a.ETrue@tok", "unit_inversion", "unit_typing" - ], - 0, - "f29b61eada16ac84baf63fbe0e2c589c" - ], - [ - "Ex07a.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" - ], - 0, - "f24396cc284b519d4e63b8915ab66643" - ], - [ - "Ex07a.preservation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.step.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.step.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.env", - "equation_Ex07a.extend", "equation_Ex07a.is_value", - "equation_with_fuel_Ex07a.step.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.TArrow__0", - "projection_inverse_Ex07a.TArrow__1", - "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", - "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.empty", "typing_Ex07a.step", "typing_Ex07a.subst", - "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "unit_inversion", - "unit_typing" - ], - 0, - "638e025feb3883f6912b83c0a1df1585" - ], - [ - "Ex07a.typed_step", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "7b52192a81d99483201406603f17a5b4" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex07b.fst.hints b/doc/old/tutorial/code/exercises/Ex07b.fst.hints deleted file mode 100644 index 9882f8ba7c8..00000000000 --- a/doc/old/tutorial/code/exercises/Ex07b.fst.hints +++ /dev/null @@ -1,719 +0,0 @@ -[ - "è:±—\"»ïR³!P•·\u001c:‘", - [ - [ - "Ex07b.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c1d5b08d44ea2afee2d8fa79ffe549a" - ], - [ - "Ex07b.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" - ], - 0, - "b8c0a7f30b7904e559608ad128a0fbd7" - ], - [ - "Ex07b.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" - ], - 0, - "3d64b97cb3c022f21c6281ef2383c5d7" - ], - [ - "Ex07b.__proj__TPair__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" - ], - 0, - "7434b02f9fd8f37c25cf6026ab94e297" - ], - [ - "Ex07b.__proj__TPair__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" - ], - 0, - "db412911cf846d2c7b0fad2ed0d821ac" - ], - [ - "Ex07b.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "50a80b5b34d39fa4d52626999de25981" - ], - [ - "Ex07b.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" - ], - 0, - "843fa665d5b85bede1663e389fbc8cc7" - ], - [ - "Ex07b.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" - ], - 0, - "e86760b3933396693beb410b5c5505a1" - ], - [ - "Ex07b.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" - ], - 0, - "0ef252539bad39ac603a11ac0717fb30" - ], - [ - "Ex07b.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "0016343c9ff39dece6a43ba5d3e8a578" - ], - [ - "Ex07b.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "27e9dc4def88f2d6ae54a9bd7352ab0d" - ], - [ - "Ex07b.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "b39cdf3283f8f6775fa3744cb7965591" - ], - [ - "Ex07b.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "14a7e286b3a4575d098ce5c90e5f63b5" - ], - [ - "Ex07b.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "72e73712bbfa764078295ec7f0a2319f" - ], - [ - "Ex07b.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "7daa51c8d6da036ecce8fca62c8380f8" - ], - [ - "Ex07b.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07b.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf" - ], - 0, - "3bcc6b0701a4f6c020f37a9b1403b26b" - ], - [ - "Ex07b.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", "bool_inversion", - "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07b.exp@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "232f4eeeec5e8214d8a89c99c7585217" - ], - [ - "Ex07b.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "assumption_Ex07b.ty__uu___haseq", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "bool_inversion", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "fuel_guarded_inversion_Ex07b.exp", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.TBool@tok" - ], - 0, - "428a763a5f732b5cb12d0005f5f460ff" - ], - [ - "Ex07b.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.is_value.fuel_instrumented", - "@fuel_correspondence_Ex07b.step.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.step.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "constructor_distinct_Ex07b.TArrow", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_with_fuel_Ex07b.is_value.fuel_instrumented", - "equation_with_fuel_Ex07b.step.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", "typing_Ex07b.empty", - "typing_Ex07b.is_value", "typing_Ex07b.step", "typing_Ex07b.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", - "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "3ab74699d569d29945993d9b03062c11" - ], - [ - "Ex07b.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07b.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf" - ], - 0, - "88f165398bdf4aa6bae3aa2afab469be" - ], - [ - "Ex07b.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_interpretation_Tm_arrow_4c19cf7dbb81c35c2228649d22b4a791", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.env", - "equation_Ex07b.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EVar__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_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", "typing_Ex07b.appears_free_in", - "typing_Ex07b.extend", "typing_Ex07b.typing", - "typing_Ex07b.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", - "typing_tok_Ex07b.TBool@tok" - ], - 0, - "c040e6d5347e624b4729f273a0fc4c1e" - ], - [ - "Ex07b.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" - ], - 0, - "eaed574c498408ef07c1ee8763ff1da1" - ], - [ - "Ex07b.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07b.ty@tok" - ], - 0, - "f62aff38ab30033335dee4f0c3f9141e" - ], - [ - "Ex07b.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07b.ty@tok" - ], - 0, - "302d9adf6875a6f1ff775e890790d270" - ], - [ - "Ex07b.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_1", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07b.EVar", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.equalE", - "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "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_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", - "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.extend", "typing_Ex07b.typing", - "typing_tok_Ex07b.TBool@tok", "unit_typing" - ], - 0, - "ec18d02bea886785f5025d386fd0194e" - ], - [ - "Ex07b.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], - 0, - "57e473b24739058d799eac67cf4b9ffd" - ], - [ - "Ex07b.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" - ], - 0, - "52bdc7d242fa6099fa0f8b65db76e67f" - ], - [ - "Ex07b.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.subst.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EIf", "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.equal", - "equation_Ex07b.equalE", "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.subst.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EIf", - "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", - "typing_Ex07b.subst", "typing_Ex07b.typing", - "typing_Ex07b.uu___is_ETrue", "typing_tok_Ex07b.EFalse@tok", - "typing_tok_Ex07b.ETrue@tok", "typing_tok_Ex07b.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "86dd65c432681ec718d64fb0aba065a9" - ], - [ - "Ex07b.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_982139fb7fff235a7f4473dce3fdd72d" - ], - 0, - "aa2d2a1150c95ec4fac31d50edc3d2f3" - ], - [ - "Ex07b.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" - ], - 0, - "8b6282e764a4091cb7d9a103ad0965b8" - ], - [ - "Ex07b.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.is_value.fuel_instrumented", - "@fuel_correspondence_Ex07b.step.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.step.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "binder_x_16020332c6f82b0739119c0ba6182e74_0", - "constructor_distinct_Ex07b.EApp", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.is_value.fuel_instrumented", - "equation_with_fuel_Ex07b.step.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.TArrow__0", - "projection_inverse_Ex07b.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", - "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EIf", - "token_correspondence_Ex07b.step.fuel_instrumented", - "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.step", - "typing_Ex07b.subst", "typing_Ex07b.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "4577ba038a6a5f5edbe56fb4efde9260" - ], - [ - "Ex07b.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6cf41ed192833422c7639f09190d072" - ], - 0, - "4020ef7b588e330e0cbdb45ab3f67689" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex07c.fst.hints b/doc/old/tutorial/code/exercises/Ex07c.fst.hints deleted file mode 100644 index 91354292213..00000000000 --- a/doc/old/tutorial/code/exercises/Ex07c.fst.hints +++ /dev/null @@ -1,686 +0,0 @@ -[ - "¡éÊ—ô\u0017„\f{V¾¾qä“\u0017", - [ - [ - "Ex07c.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "9e24090f63d6407494b08f758f4b2806" - ], - [ - "Ex07c.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" - ], - 0, - "708b0cb4a2e5f82ca91e1f86f8cd97a5" - ], - [ - "Ex07c.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" - ], - 0, - "1f85e56a6d4434bfa84cc9a5a34713a4" - ], - [ - "Ex07c.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "275edc0e1beb21291a380a25e37724b9" - ], - [ - "Ex07c.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" - ], - 0, - "35979a4462f020d53f1f64ed0e84cb98" - ], - [ - "Ex07c.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" - ], - 0, - "4177250cac1961c6fa99d1c322ec6bdb" - ], - [ - "Ex07c.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" - ], - 0, - "797ebf6fe90bb9de3aede49b2e596247" - ], - [ - "Ex07c.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "2baaa1a463b6e2e544cc36865410bf95" - ], - [ - "Ex07c.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "f0e31a763a4b26a3000775489ecd7f9e" - ], - [ - "Ex07c.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "71b57783fc10ae43cf92e60ebbfd1201" - ], - [ - "Ex07c.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "420b095962bafda31b4b5a10f25c49f3" - ], - [ - "Ex07c.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "1bcad8ed8d7ceef3602d8321cdcd858f" - ], - [ - "Ex07c.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "fe6383fff52aba500d98a1f72ff4cfe8" - ], - [ - "Ex07c.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_92b24ade2624a8307d6221bab881006c_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07c.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf" - ], - 0, - "0d2261c4006e997daf19bb845bacc8f9" - ], - [ - "Ex07c.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", - "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07c.exp@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "a541b9c3521ea86bbe3d8971b4e89d4b" - ], - [ - "Ex07c.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "assumption_Ex07c.ty__uu___haseq", - "binder_x_92b24ade2624a8307d6221bab881006c_1", "bool_inversion", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "fuel_guarded_inversion_Ex07c.exp", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.TBool@tok" - ], - 0, - "02b7e66f4e6a4d768cbbed6bdf6943c8" - ], - [ - "Ex07c.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.step.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.step.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.EVar", - "constructor_distinct_Ex07c.TArrow", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.is_value", - "equation_with_fuel_Ex07c.step.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "typing_Ex07c.empty", - "typing_Ex07c.is_value", "typing_Ex07c.step", "typing_Ex07c.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "58bd6fa34f93c2f4c48d5bfb68458d33" - ], - [ - "Ex07c.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07c.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf" - ], - 0, - "2407198f1dcf160dd163d22a39dffcc9" - ], - [ - "Ex07c.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_interpretation_Tm_arrow_f58c7a27db31159f0d60e72083ef7d70", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EFalse", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ETrue", - "constructor_distinct_Ex07c.EVar", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.EFalse@tok", "equality_tok_Ex07c.ETrue@tok", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.env", - "equation_Ex07c.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.EVar__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_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "typing_Ex07c.appears_free_in", - "typing_Ex07c.extend", "typing_Ex07c.typing", - "typing_Ex07c.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.EFalse@tok", "typing_tok_Ex07c.ETrue@tok", - "typing_tok_Ex07c.TBool@tok" - ], - 0, - "05dbfb65b64ec6c4d15c3f68f921db2a" - ], - [ - "Ex07c.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" - ], - 0, - "88431c7d1a9c0057dac29cf567cc7589" - ], - [ - "Ex07c.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07c.ty@tok" - ], - 0, - "d2ef7f4f81eed244c97fe8f6ddb4f9e5" - ], - [ - "Ex07c.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07c.ty@tok" - ], - 0, - "86027f2e180cba3bd284fdf6acf19bdc" - ], - [ - "Ex07c.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_1", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", - "binder_x_92b24ade2624a8307d6221bab881006c_0", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07c.EVar", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.equalE", - "equation_Ex07c.extend", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "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_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.extend", "typing_Ex07c.typing", - "typing_tok_Ex07c.TBool@tok", "unit_typing" - ], - 0, - "a9f957b4824fc64ddbcd4eb76ed30eeb" - ], - [ - "Ex07c.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], - 0, - "bd746961eb3a53bcfb8dc123b54fed03" - ], - [ - "Ex07c.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" - ], - 0, - "a27512197be656c6ecebd0ae714da31f" - ], - [ - "Ex07c.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.subst.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EFalse", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ETrue", - "constructor_distinct_Ex07c.EVar", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.EFalse@tok", "equality_tok_Ex07c.ETrue@tok", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.equal", - "equation_Ex07c.equalE", "equation_Ex07c.extend", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.subst.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", - "typing_Ex07c.subst", "typing_Ex07c.typing", - "typing_Ex07c.uu___is_ETrue", "typing_tok_Ex07c.EFalse@tok", - "typing_tok_Ex07c.ETrue@tok", "typing_tok_Ex07c.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "6cca8be01f63d4080dd6d2e2a6540c5b" - ], - [ - "Ex07c.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c915634e995688a1855d59a10d682c48" - ], - 0, - "a2642c4e6caed9cd0ab3811d53700ca7" - ], - [ - "Ex07c.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" - ], - 0, - "2a1a7e5b864ae571f5eca86ca043777f" - ], - [ - "Ex07c.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.step.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.step.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", - "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.extend", - "equation_Ex07c.is_value", - "equation_with_fuel_Ex07c.step.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.TArrow__0", - "projection_inverse_Ex07c.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", - "token_correspondence_Ex07c.step.fuel_instrumented", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", - "typing_Ex07c.subst", "typing_Ex07c.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "5a504b59de709f7887001241d295ab10" - ], - [ - "Ex07c.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a0c62e2bc8f998e738f4363d183eac1" - ], - 0, - "94b3283bf11135ab7bd87c61e698afe7" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex07d.fst.hints b/doc/old/tutorial/code/exercises/Ex07d.fst.hints deleted file mode 100644 index 0580a5196ac..00000000000 --- a/doc/old/tutorial/code/exercises/Ex07d.fst.hints +++ /dev/null @@ -1,725 +0,0 @@ -[ - "ÛcàU\u0005“8_(w±\u0013Ó›ýÜ", - [ - [ - "Ex07d.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "bf5b349671ee4558e8f852a4290ee3c0" - ], - [ - "Ex07d.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" - ], - 0, - "b7b843c34356919e03ce4c70086ad580" - ], - [ - "Ex07d.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" - ], - 0, - "d21f76840e0caaa3ac8595d33d88fd61" - ], - [ - "Ex07d.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "bd7333af019a9fc83ad0a6860f5974eb" - ], - [ - "Ex07d.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" - ], - 0, - "205bfeaaf66ef2033be80202a489ca4b" - ], - [ - "Ex07d.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" - ], - 0, - "bea2fc7652ad8035a7fd813e2fdc51c5" - ], - [ - "Ex07d.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" - ], - 0, - "096cbb36ba1a50ca5c8ae331dc0541bb" - ], - [ - "Ex07d.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "e330dddb957c186d2ec414a712081dd5" - ], - [ - "Ex07d.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "0f26f2d2143d1182b4887ec15f71fa02" - ], - [ - "Ex07d.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "168affdf099bf25c7454f3b7902a88f5" - ], - [ - "Ex07d.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "5b393fe00b979aebdfb77fbc1392152e" - ], - [ - "Ex07d.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "c3373454c4f544786fead0cff5cfae32" - ], - [ - "Ex07d.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "9e98f9c184707a310dc1b09233bb2c6a" - ], - [ - "Ex07d.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07d.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf" - ], - 0, - "b27c0a8aa3231463ecac681b4a8a7a06" - ], - [ - "Ex07d.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", "bool_inversion", - "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07d.exp@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "9528fec655d9745ba03ebe81db13a330" - ], - [ - "Ex07d.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "assumption_Ex07d.ty__uu___haseq", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "bool_inversion", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "fuel_guarded_inversion_Ex07d.exp", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "5038e9b63399c5ed039c86461bb68ff6" - ], - [ - "Ex07d.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.step.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.step.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.EVar", - "constructor_distinct_Ex07d.TArrow", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "equation_Ex07d.is_value", - "equation_with_fuel_Ex07d.step.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "typing_Ex07d.empty", - "typing_Ex07d.is_value", "typing_Ex07d.step", "typing_Ex07d.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1dba8e5f690e48b0addb1a2dfa98ea23" - ], - [ - "Ex07d.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07d.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf" - ], - 0, - "264cabec2e8cd81ebf827ac69c3d3bfe" - ], - [ - "Ex07d.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_interpretation_Tm_arrow_c8cfb72b4937eef5e13ada712bc5763f", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_691ba12216b64971a65fb6a280b52a15_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EFalse", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", - "constructor_distinct_Ex07d.EVar", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.EFalse@tok", "equality_tok_Ex07d.ETrue@tok", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__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_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", - "typing_Ex07d.extend", "typing_Ex07d.typing", - "typing_Ex07d.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.EFalse@tok", "typing_tok_Ex07d.ETrue@tok", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "959a697b898904ad62f486e1270a7f4a" - ], - [ - "Ex07d.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" - ], - 0, - "9af35d4b39945155fa3aff8239f09e73" - ], - [ - "Ex07d.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "0042d8473903355f0232317c071ba5fa" - ], - [ - "Ex07d.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "aa3c458e67d1ff9c4397f7f3e408f742" - ], - [ - "Ex07d.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", - "binder_x_691ba12216b64971a65fb6a280b52a15_1", - "binder_x_691ba12216b64971a65fb6a280b52a15_2", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07d.EVar", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.equalE", - "equation_Ex07d.extend", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "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_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.typing", - "typing_tok_Ex07d.TBool@tok", "unit_typing" - ], - 0, - "4d3cf2a0f17e5e727ac445eabccfeace" - ], - [ - "Ex07d.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], - 0, - "f5971de91b77c2cde7989be9024e7e98" - ], - [ - "Ex07d.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" - ], - 0, - "07e9a8c55cc1a9a2b7f9f188b891d90f" - ], - [ - "Ex07d.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.subst.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_8aff50031332d1df444f3c84e31e944d_3", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EFalse", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", - "constructor_distinct_Ex07d.EVar", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.EFalse@tok", "equality_tok_Ex07d.ETrue@tok", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.equal", - "equation_Ex07d.equalE", "equation_Ex07d.extend", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.subst.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", - "typing_Ex07d.subst", "typing_Ex07d.typing", - "typing_Ex07d.uu___is_ETrue", "typing_tok_Ex07d.EFalse@tok", - "typing_tok_Ex07d.ETrue@tok", "typing_tok_Ex07d.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "ad54049f860d7908588f3b891a7a9ec0" - ], - [ - "Ex07d.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71bdaff8060615aef69ab2f778c0c61a" - ], - 0, - "d65dc97fd6887db415c148af4c72de8b" - ], - [ - "Ex07d.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" - ], - 0, - "d8d4680f226d99c279375e1d51608fa0" - ], - [ - "Ex07d.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.step.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.step.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", - "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", - "equation_Ex07d.is_value", - "equation_with_fuel_Ex07d.step.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.TArrow__0", - "projection_inverse_Ex07d.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", - "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.step.fuel_instrumented", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", - "typing_Ex07d.subst", "typing_Ex07d.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1ee53257a31f168fc4fb2837ee0ad021" - ], - [ - "Ex07d.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_345704bab041a41196f35960e8a8c066" - ], - 0, - "688b1422db0873af2ad7416aad49ad11" - ], - [ - "Ex07d.typed_step", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "304861e0466332bc6673f3a13f4dc456" - ], - [ - "Ex07d.typed_step", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", - "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" - ], - 0, - "47ac74f51935e823b1ef4f6548be380d" - ], - [ - "Ex07d.eval", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "85c8f7039d90afd1c1196a4f138343bb" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex10a.fst.hints b/doc/old/tutorial/code/exercises/Ex10a.fst.hints deleted file mode 100644 index d3362ef99d9..00000000000 --- a/doc/old/tutorial/code/exercises/Ex10a.fst.hints +++ /dev/null @@ -1,116 +0,0 @@ -[ - "#N_ŽÎ†ïÀð¾Ðš²Ì°", - [ - [ - "Ex10a.__proj__Readable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex10a.Readable", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" - ], - 0, - "2eb2d25e99ade004efdce4d0563b9f68" - ], - [ - "Ex10a.__proj__Writable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex10a.Writable", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" - ], - 0, - "9935e72334b910e6261cee3995e8ed3d" - ], - [ - "Ex10a.canRead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Prims.HasEq_string", - "disc_equation_Ex10a.Readable", "disc_equation_Ex10a.Writable", - "fuel_guarded_inversion_Ex10a.entry" - ], - 0, - "5921227c740b6ad73886684910534c3f" - ], - [ - "Ex10a.revoke", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex10a.entry__uu___haseq", - "refinement_interpretation_Ex10a_Tm_refine_f978ff754af8f266cb4edc62e2a055cb" - ], - 0, - "28d96a085098a3639a29295566af4116" - ], - [ - "Ex10a.safe_delete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_Ex10a.canWrite_t", "equation_Ex10a.file", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.ST.modifies_none", "equation_Prims.eqtype", - "function_token_typing_Prims.unit", - "refinement_interpretation_Tm_refine_3f348b77994310044a31a5b79ff495a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_inversion", "unit_inversion", "unit_typing" - ], - 0, - "d4335315a347af6dff4ed3b5c2bfbce6" - ], - [ - "Ex10a.test_acls", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.tryFind.fuel_instrumented", - "@query", - "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "assumption_Ex10a.entry__uu___haseq", - "constructor_distinct_Ex10a.Readable", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Ex10a.canRead", "equation_Ex10a.canRead_t", - "equation_Ex10a.db", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_with_fuel_FStar.List.Tot.Base.tryFind.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Ex10a.db", - "interpretation_Tm_abs_93700a44318bb4193871b2dacb8d41d6", - "kinding_Ex10a.entry@tok", "primitive_Prims.op_Equality", - "projection_inverse_Ex10a.Readable__0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10a.acls", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", - "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6" - ], - 0, - "cbb7638ae8b98d66dc5c770ce78b823d" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex10b.fst.hints b/doc/old/tutorial/code/exercises/Ex10b.fst.hints deleted file mode 100644 index 8004a1e0812..00000000000 --- a/doc/old/tutorial/code/exercises/Ex10b.fst.hints +++ /dev/null @@ -1,154 +0,0 @@ -[ - "d³v®ÜŠc‰\"° p*yD‡", - [ - [ - "Ex10b.point", - 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, - "24efbbf4b88b247c192b2d20258184b5" - ], - [ - "Ex10b.__proj__Point__item__y", - 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, - "9aa2dfdc74afb290eec56441173bbee8" - ], - [ - "Ex10b.__proj__Point__item__y", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "93b7ebe30332990e87079c482157710b" - ], - [ - "Ex10b.new_point", - 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, - "a37c8302b700bffb578035ed09b53890" - ], - [ - "Ex10b.new_point", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "projection_inverse_Ex10b.Point_x", - "projection_inverse_Ex10b.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" - ], - 0, - "c93da85eb18a8e48803f88392c65c2f3" - ], - [ - "Ex10b.shift_x_p1", - 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, - "ba29f7a9893a43a791ad5e9cfa5932ee" - ], - [ - "Ex10b.shift_x_p1", - 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, - "18bb5bc97e8dc3cd6b83bf45b381f809" - ], - [ - "Ex10b.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder" - ], - 0, - "84ccb27d3efc356f2b07071ee01e030d" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex11a.fst.hints b/doc/old/tutorial/code/exercises/Ex11a.fst.hints deleted file mode 100644 index cb7d45049dd..00000000000 --- a/doc/old/tutorial/code/exercises/Ex11a.fst.hints +++ /dev/null @@ -1,936 +0,0 @@ -[ - "\u0013È£zŽÀ5íØeP£?Æ\u000e\u0005", - [ - [ - "Ex11a.point", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ff6938ce6545fade0812eb82e429a13c" - ], - [ - "Ex11a.__proj__Point__item__z", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "adc390d486c46afc97b855e09d6e617c" - ], - [ - "Ex11a.__proj__Point__item__z", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", - "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", - "projection_inverse_Ex11a.Point_x", - "projection_inverse_Ex11a.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "467140edd2194ed023a9467a0ca8f070" - ], - [ - "Ex11a.arm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ffbcc4a0dfe93485e9e7e257115cdc00" - ], - [ - "Ex11a.__proj__Arm__item__azim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c89177e47bba6d3a8068fcc196f1b6e6" - ], - [ - "Ex11a.__proj__Arm__item__azim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", - "projection_inverse_Ex11a.Arm_polar", - "projection_inverse_Ex11a.Arm_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "91103bf50ba0ba65d250c1aa4598b216" - ], - [ - "Ex11a.new_point", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Point_r", - "projection_inverse_Ex11a.Point_x", - "projection_inverse_Ex11a.Point_y", - "projection_inverse_Ex11a.Point_z", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "c2629d6a0a133c0d52236753c73370b7" - ], - [ - "Ex11a.new_arm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Arm_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "c659765987d88b2e3e2758cc485b713a" - ], - [ - "Ex11a.new_robot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Ex11a.flying", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Bot_left", - "projection_inverse_Ex11a.Bot_pos", "projection_inverse_Ex11a.Bot_r", - "projection_inverse_Ex11a.Bot_right", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "f05575b0d7aa1734fe5e1ca225c01f56" - ], - [ - "Ex11a.walk_robot_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_20d814f05cc324f6145ec3b0c59b2d6b", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_5c8273a8dd263b38c026e8c7b25da15f", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_ec53d5de9d89b00eaf69f23d84b30a0f", - "true_interp", "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "161afdd61b4062a16d07b97fd09820e4" - ], - [ - "Ex11a.fly", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.contains", - "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_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_azim", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_18f572f5fbedce8a29f9016d91463885", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3e9d16c1d0a8cacb41c88ccf9f804bd0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_5c8273a8dd263b38c026e8c7b25da15f", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_ae80b9018d832bf49e72145a27ff6243", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_e43ea857e0979e99d05fadcc98f22316", - "refinement_interpretation_Tm_refine_f9a183ea6827f23b92aa9e9536ab91b8", - "true_interp", "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.only", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.mk_mem", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "b5810895c2e46f9170e86890547eeaf9" - ], - [ - "Ex11a.fly_both", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.op_Hat_Plus_Hat", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", - "typing_Ex11a.__proj__Arm__item__polar", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.union" - ], - 0, - "f362766633b47730a512cede32e491c3" - ], - [ - "Ex11a.fly_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_Ex11a.flying", "equation_Ex11a.only", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.bot", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a98301553e516ce88f141a3c116a5ce", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" - ], - 0, - "ee47d116aded7c8777c76b87c0ceea2b" - ], - [ - "Ex11a.__proj__Cons__item__rs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex11a.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "8eb472413d808b0e8fa0daf8f6bb514c" - ], - [ - "Ex11a.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Ex11a.Cons", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "0a0f721b403d9dc7d72d380e86b6e6cf" - ], - [ - "Ex11a.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Ex11a.Cons", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "8a00d0a3be845a7ae3548838ff3422f5" - ], - [ - "Ex11a.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4f61251c0ef4abe5deff6b49815c3dbf_2", - "disc_equation_Ex11a.Cons", "disc_equation_Ex11a.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Ex11a.bots", - "subterm_ordering_Ex11a.Cons" - ], - 0, - "4c79a8e22014c796ff2d91a56fd1e334" - ], - [ - "Ex11a.lemma_mem_rid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex11a.mem.fuel_instrumented", - "@fuel_irrelevance_Ex11a.mem.fuel_instrumented", "@query", - "Ex11a_pretyping_41426a8db77017461f501d8dbb1627a9", - "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", - "binder_x_41426a8db77017461f501d8dbb1627a9_2", - "binder_x_4f61251c0ef4abe5deff6b49815c3dbf_1", - "binder_x_600a78c6f9753595e2678d33a0ba4727_0", - "constructor_distinct_Ex11a.Cons", "constructor_distinct_Ex11a.Nil", - "data_elim_Ex11a.Bot", "data_elim_Ex11a.Cons", - "data_typing_intro_Ex11a.Nil@tok", "disc_equation_Ex11a.Cons", - "disc_equation_Ex11a.Nil", "eq2-interp", - "equality_tok_Ex11a.Nil@tok", "equality_tok_Prims.LexTop@tok", - "equation_Ex11a.op_Plus_Plus_Hat", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_with_fuel_Ex11a.mem.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.bots", "l_or-interp", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Ex11a.Bot_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Cons_hd", - "projection_inverse_Ex11a.Cons_rs", - "projection_inverse_Ex11a.Cons_tl", - "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", - "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", - "subterm_ordering_Ex11a.Cons", "typing_Ex11a.__proj__Bot__item__r", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_tok_Ex11a.Nil@tok" - ], - 0, - "eaae77b7ff707a3d5bb28e9129dbf028" - ], - [ - "Ex11a.lemma_bots_tl_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex11a.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "978f28d3e15f11e878dc54ff6bd56339" - ], - [ - "Ex11a.lemma_bots_tl_disjoint", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex11a.mem.fuel_instrumented", - "@fuel_irrelevance_Ex11a.mem.fuel_instrumented", "@query", - "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", - "data_elim_Ex11a.Cons", "disc_equation_Ex11a.Cons", - "equation_Ex11a.distinct", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "fuel_guarded_inversion_Ex11a.bot", "lemma_Ex11a.lemma_mem_rid", - "proj_equation_Ex11a.Bot_r", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191", - "typing_Ex11a.__proj__Bot__item__r" - ], - 0, - "195d8742575474f4f75bbb91b5fce475" - ], - [ - "Ex11a.main", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.op_Hat_Plus_Hat", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.flying", - "typing_Ex11a.op_Hat_Plus_Hat", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "1e7828817e3c2a88c34d42d74985ebcf" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12a1.Cap.fst.hints b/doc/old/tutorial/code/exercises/Ex12a1.Cap.fst.hints deleted file mode 100644 index 7a40633bb19..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12a1.Cap.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "Ô‡~G\u001bc›#\u0012\u0017cgÿ}\r\u001c", - [ - [ - "Ex12a1.Cap.capRead", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "5c7ea3ae092ce49dcab71dc67716c458" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12b1.Format.fst.hints b/doc/old/tutorial/code/exercises/Ex12b1.Format.fst.hints deleted file mode 100644 index 585e674aee7..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12b1.Format.fst.hints +++ /dev/null @@ -1,137 +0,0 @@ -[ - "YW^/õÍöànL\u001a\u0017i\u0006\u007fñ", - [ - [ - "Ex12b1.Format.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "fbb8650c1fedec0784e866027b49d5d2" - ], - [ - "Ex12b1.Format.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.message", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.byte", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_4bb7a2db2ce06edcc796ff8082ea5d03", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t" - ], - 0, - "2f7180d7c3e6f4b42a1f21a8f5cd24e9" - ], - [ - "Ex12b1.Format.lemma_eq_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, - "f7a7efc9521e8cf0870de0c5e914b700" - ], - [ - "Ex12b1.Format.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "70c55b9ac0c2b6fc578b0486ce91ad3a" - ], - [ - "Ex12b1.Format.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "1917bce079e49320c02895fbcdaa3af6" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 1, - 2, - 1, - [ "@query", "equation_Ex12b1.Format.uInt16" ], - 0, - "d6b42cc83a26b71c5a84e187bd854554" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 2, - 2, - 1, - [ "@query", "equation_Ex12b1.Format.uInt16" ], - 0, - "ee48706fdc21e6c435c451995226b303" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12b1.Format.uInt16", "equation_Ex12b1.Format.uint16", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", - "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06", - "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" - ], - 0, - "5767a64aab090d8f4484f5c2e87625ce" - ], - [ - "Ex12b1.Format.UINT16_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.uInt16", - "equation_Ex12b1.Format.uint16", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_159662fc0ccbdf710398c8946deb4040", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "ebd94c7fc98e4f52b2bc965d6cc38888" - ], - [ - "Ex12b1.Format.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", - "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_cab669ea2f01a509964765946e35daa0" - ], - 0, - "5f82f6c975ed9bd9427ff866927d50b9" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12b2.Format.fst.hints b/doc/old/tutorial/code/exercises/Ex12b2.Format.fst.hints deleted file mode 100644 index 49e8d964351..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12b2.Format.fst.hints +++ /dev/null @@ -1,175 +0,0 @@ -[ - "„†—ÆÔetà-–îפ֙c", - [ - [ - "Ex12b2.Format.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "bab72a115e3f122aa90e4d2aec781aa1" - ], - [ - "Ex12b2.Format.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.message", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.byte", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_4bb7a2db2ce06edcc796ff8082ea5d03", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t" - ], - 0, - "7c4978d4d73fa83181d76aea959811c1" - ], - [ - "Ex12b2.Format.lemma_eq_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, - "343acf2c537aedc30d5599483a445e3f" - ], - [ - "Ex12b2.Format.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "b2adfd037850d3d45b4fb3e0511709ae" - ], - [ - "Ex12b2.Format.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "fc6316ad8fee67ac586d99ae719e7567" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 1, - 2, - 1, - [ "@query", "equation_Ex12b2.Format.uInt16" ], - 0, - "234b4192045f470e32007ee4d1f77d10" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 2, - 2, - 1, - [ "@query", "equation_Ex12b2.Format.uInt16" ], - 0, - "9af40b76b98ea580f2d42d7c33619e92" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12b2.Format.uInt16", "equation_Ex12b2.Format.uint16", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", - "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086", - "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" - ], - 0, - "fe2f396c16f74ee704f109ba10133b9c" - ], - [ - "Ex12b2.Format.UINT16_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.uInt16", - "equation_Ex12b2.Format.uint16", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", - "typing_FStar.UInt8.t" - ], - 0, - "9c10638097a4814d9f9dcff7e28bae21" - ], - [ - "Ex12b2.Format.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308" - ], - 0, - "c7e20b0b22fe418b16af5f5552cbefd1" - ], - [ - "Ex12b2.Format.req_resp_distinct", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Ex12b2.Format.message" - ], - 0, - "33f1350a6c19815e6b68508b5e26cbbd" - ], - [ - "Ex12b2.Format.req_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "cc27c96d34013f3d2f63b428c72f4968" - ], - [ - "Ex12b2.Format.resp_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "4a6ceb3e0365a6f0296589706466a556" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12c.Format.fst.hints b/doc/old/tutorial/code/exercises/Ex12c.Format.fst.hints deleted file mode 100644 index 6f15e61e3cd..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12c.Format.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "WÃ$à—;”œŠ\u001c^\b8³\u000eê", - [ - [ - "Ex12c.Format.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "ddefe842cd7d1cbc03bac97baa8d9aaf" - ], - [ - "Ex12c.Format.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12c.Format.message", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.byte", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t" - ], - 0, - "f4bea6cb71e169f42b7bef6dcc7e748b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12d.Pad.fst.hints b/doc/old/tutorial/code/exercises/Ex12d.Pad.fst.hints deleted file mode 100644 index 017f35dda38..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12d.Pad.fst.hints +++ /dev/null @@ -1,48 +0,0 @@ -[ - "F»ïj†…ˆ¾:¢ŠÊ½\nM›", - [ - [ - "Ex12d.Pad.block", - 1, - 2, - 1, - [ - "@query", "equation_Ex12d.Pad.blocksize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "98e0d6bcf8f11c776d427624cd497f64" - ], - [ - "Ex12d.Pad.pad", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "bf4835b248d5840aa8c07cf27cdd63a9" - ], - [ - "Ex12d.Pad.decode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.block", - "equation_Ex12d.Pad.blocksize", "equation_Ex12d.Pad.nbytes", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b820b03d57c6b19b1986b75c108c7611", - "refinement_interpretation_Tm_refine_bb7f7fd2d7f9c9b2d22c55c88cbda154" - ], - 0, - "feb1e42d9ad3c1981b73e503de93517e" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12e.Pad.fst.hints b/doc/old/tutorial/code/exercises/Ex12e.Pad.fst.hints deleted file mode 100644 index 43853f54d48..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12e.Pad.fst.hints +++ /dev/null @@ -1,104 +0,0 @@ -[ - "šHµ\u001dr, o„NXèy \u0010\u000e", - [ - [ - "Ex12e.Pad.block", - 1, - 2, - 1, - [ - "@query", "equation_Ex12e.Pad.blocksize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "99098fcbaec951b98e97c200b7aa9916" - ], - [ - "Ex12e.Pad.pad", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_create_len", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", - "typing_FStar.UInt8.t" - ], - 0, - "317463bc80b751aa4a6d68ac029cd4c5" - ], - [ - "Ex12e.Pad.encode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", - "equation_Ex12e.Pad.text", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_76f21b3eec3de7cd3259fc08f2d04ae5", - "refinement_interpretation_Tm_refine_ec0aeb0a6d53c28cfb0bdf90879a1492", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "9c06c1bbfa0244e922073f3c5847e650" - ], - [ - "Ex12e.Pad.decode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.pad", - "equation_Ex12e.Pad.text", "equation_FStar.Seq.Properties.split", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3495c59b16953e72b8c8f8f3d777ca78", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_76f21b3eec3de7cd3259fc08f2d04ae5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_ae2e24c07f5885d65ccf5fd4b0b63ab8", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", - "refinement_interpretation_Tm_refine_ec0aeb0a6d53c28cfb0bdf90879a1492", - "refinement_interpretation_Tm_refine_f6f87d300537a0ee9fee42babc4551d2", - "typing_Ex12e.Pad.encode", "typing_Ex12e.Pad.pad", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "b41344a05a47cffab81070d423488e8c" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12f.TMAC.fst.hints b/doc/old/tutorial/code/exercises/Ex12f.TMAC.fst.hints deleted file mode 100644 index c1988cd3292..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12f.TMAC.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¯Ÿµ’Ì!\b4j<\u0012¡Tb—¦", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Ex12g.TMAC2.fst.hints b/doc/old/tutorial/code/exercises/Ex12g.TMAC2.fst.hints deleted file mode 100644 index 570cfa14b62..00000000000 --- a/doc/old/tutorial/code/exercises/Ex12g.TMAC2.fst.hints +++ /dev/null @@ -1,46 +0,0 @@ -[ - "kVÌ\u0004£‚óŒo\u001fIÍžûeÅ", - [ - [ - "Ex12g.TMAC2.bspec0", - 1, - 2, - 1, - [ "@query" ], - 0, - "92cf43aa11db6f2fed2eb8559ef9bcb2" - ], - [ - "Ex12g.TMAC2.bspec1", - 1, - 2, - 1, - [ "@query" ], - 0, - "013bced5415b682d69fad80b1dfc0e1b" - ], - [ - "Ex12g.TMAC2.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", - "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", - "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", - "equation_Ex12.BMAC.pkey", "equation_Prims.logical", - "function_token_typing_Ex12g.TMAC2.bspec0", - "function_token_typing_Ex12g.TMAC2.bspec1", - "proj_equation_Ex12g.TMAC2.Keys_k0", - "proj_equation_Ex12g.TMAC2.Keys_k1", - "projection_inverse_Ex12g.TMAC2.Keys_k0", - "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", - "typing_Ex12.BMAC.keygen" - ], - 0, - "2a3ce5217a5005272555ff2153e01d75" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/LowStar.Ex1.fst.hints b/doc/old/tutorial/code/exercises/LowStar.Ex1.fst.hints deleted file mode 100644 index 6e5eb66cbcb..00000000000 --- a/doc/old/tutorial/code/exercises/LowStar.Ex1.fst.hints +++ /dev/null @@ -1,56 +0,0 @@ -[ - "7e‚9N×ýÇ\u001cKnwŒNuB", - [ - [ - "LowStar.Ex1.abs", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "equality_tok_FStar.Integers.Winfinite@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0" - ], - 0, - "39b9f76a79bc317fbef9d14d2374e7d4" - ], - [ - "LowStar.Ex1.min_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "8bcc7cb5a291426364c429a2d66f1b7e" - ], - [ - "LowStar.Ex1.sum3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "55943111c68e79e5d284fdd77744e96b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/LowStar.Ex2.fst.hints b/doc/old/tutorial/code/exercises/LowStar.Ex2.fst.hints deleted file mode 100644 index c51014ba629..00000000000 --- a/doc/old/tutorial/code/exercises/LowStar.Ex2.fst.hints +++ /dev/null @@ -1,24 +0,0 @@ -[ - "JÇüÁÃÇ\u0007¾Ñ9pFv}n", - [ - [ - "LowStar.Ex2.prefix_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex2.lbuffer", - "equation_LowStar.Monotonic.Buffer.length", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_c97172742a96c0b17199622a0241325b" - ], - 0, - "466709ead7c26bf001fb4823ae7adc1b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/LowStar.Ex3.fst.hints b/doc/old/tutorial/code/exercises/LowStar.Ex3.fst.hints deleted file mode 100644 index f6afa9c096f..00000000000 --- a/doc/old/tutorial/code/exercises/LowStar.Ex3.fst.hints +++ /dev/null @@ -1,96 +0,0 @@ -[ - "ºÃ[Ú©¼²9›\u0010¡£›;óµ", - [ - [ - "LowStar.Ex3.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Ex3.ok", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_85f007f7684d9b10bce7bd4073749a53", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "210900cf22c864677aeb9f42fd336940" - ], - [ - "LowStar.Ex3.pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", "equation_LowStar.Ex3.empty", - "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", - "kinding_LowStar.Ex3.t_struct@tok", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e831441d8329658f49596b63fd5fe3e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get" - ], - 0, - "60843f24d20cad5d975d3d36e2b1a0b9" - ], - [ - "LowStar.Ex3.malloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_627c64b4169d026539ca4975448773ed", - "typing_FStar.Map.contains", "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" - ], - 0, - "f094c50c0168adec0d6560ac35505c2b" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/exercises/Makefile b/doc/old/tutorial/code/exercises/Makefile index 7d2f8f905ed..be19935648c 100644 --- a/doc/old/tutorial/code/exercises/Makefile +++ b/doc/old/tutorial/code/exercises/Makefile @@ -1,4 +1,11 @@ -VERFILES=Ex01a.fst \ +FSTAR_ROOT ?= ../../../../../ +FSTAR_CONTRIB := $(FSTAR_ROOT)/contrib +OTHERFLAGS += --include $(FSTAR_CONTRIB)/Platform/fst --include $(FSTAR_CONTRIB)/CoreCrypto/fst + +# exercises have val without definitions, by design +OTHERFLAGS += --warn_error -240 + +FSTAR_FILES := Ex01a.fst \ Ex02a.fst \ Ex03a.fst \ Ex03b.fst \ @@ -34,39 +41,7 @@ LowStar.Ex1.fst \ LowStar.Ex2.fst \ 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 $* - - -all: uall sall - -sall: - -uall: $(VERFILES:%=verify-%) - -# Importing targets for simplified extraction to Ocaml - -include $(FSTAR_ULIB)/ml/Makefile.include - -out: - mkdir -p out - - -HAS_OCAMLFIND := $(shell which ocamlfind 2>/dev/null) - -Ex01a-ocaml: out Ex01a.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml Ex01a.fst -ifdef HAS_OCAMLFIND - $(OCAMLOPT) out/Ex01a.ml -o Ex01a.exe - -./Ex01a.exe -endif +include $(FSTAR_ROOT)/mk/test.mk -# # Parameter for interactive mode -# %.fst-in: -# @echo $(OPTIONS) \ -# --include $(FSTAR_HOME)/ulib/hyperstack \ +Ex01a-ocaml: $(OUTPUT_DIR)/Ex01a.exe + -./$(OUTPUT_DIR)/Ex01a.exe diff --git a/doc/old/tutorial/code/solutions/EtM.AE.fst.hints b/doc/old/tutorial/code/solutions/EtM.AE.fst.hints deleted file mode 100644 index dd4473790ac..00000000000 --- a/doc/old/tutorial/code/solutions/EtM.AE.fst.hints +++ /dev/null @@ -1,536 +0,0 @@ -[ - "–Ï\u0006eÞb\u0016\u0002€Ü³¥__Û¶", - [ - [ - "EtM.AE.invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.msg", - "equation_FStar.Seq.Properties.indexable", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "2a29ed857b0d0dc777ee5a9139d201b5" - ], - [ - "EtM.AE.genPost", - 1, - 2, - 1, - [ "@query" ], - 0, - "a9d2fdccc313351576284ab2f134e215" - ], - [ - "EtM.AE.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_de0c4f31815b3388cd3c10eda9861253", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.HS", "equation_EtM.AE.cipher", - "equation_EtM.AE.genPost", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.rid", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.genPost", - "equation_EtM.CPA.log_t", "equation_EtM.CPA.msg", - "equation_EtM.CPA.rid", "equation_EtM.MAC.genPost", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_eternal_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Seq.Properties.indexable", - "equation_FStar.Set.eqtype", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_FStar.UInt8.n", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.CPA.cipher", - "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.emp", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "function_token_typing_FStar.Monotonic.HyperHeap.root", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_FStar.UInt8.n", "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_quant_interp__10664", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", "proj_equation_EtM.AE.Key_ke", - "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", "proj_equation_EtM.MAC.Key_log", - "proj_equation_EtM.MAC.Key_region", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.AE.Key_ke", - "projection_inverse_EtM.AE.Key_km", - "projection_inverse_EtM.AE.Key_log", - "projection_inverse_EtM.AE.Key_region", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_EtM.AE_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_EtM.AE_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_FStar.HyperStack.ST_Tm_refine_08d14059b664746699a12b0c359d3b8d", - "refinement_interpretation_FStar.HyperStack.ST_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_FStar.HyperStack.ST_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_FStar.Monotonic.HyperHeap_Tm_refine_b4ddecfc36eb649aced773e3e29ae4e3", - "refinement_interpretation_FStar.Monotonic.HyperHeap_Tm_refine_f0496eb03f3fb51b5e4ca0d53ea58c01", - "refinement_interpretation_FStar.Monotonic.HyperStack_Tm_refine_e4e6aa39833c3650925e47e88cf250f9", - "refinement_interpretation_FStar.Monotonic.HyperStack_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_FStar.Monotonic.HyperStack_Tm_refine_ff6903d111e26694749bc08df55f1ccf", - "refinement_interpretation_FStar.Seq.Base_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Prims_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_EtM.CPA.__proj__Key__item__log", - "typing_EtM.CPA.__proj__Key__item__region", - "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__region", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.createEmpty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_Prims.pow2" - ], - 0, - "961457029898800aae85a86777d1ba4a" - ], - [ - "EtM.AE.keygen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", - "bool_inversion", "bool_typing", "data_elim_EtM.CPA.Key", - "data_elim_EtM.MAC.Key", "equation_EtM.AE.cipher", - "equation_EtM.AE.genPost", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.rid", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.genPost", - "equation_EtM.CPA.log_t", "equation_EtM.CPA.msg", - "equation_EtM.CPA.rid", "equation_EtM.MAC.genPost", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Seq.Properties.indexable", - "equation_FStar.Set.subset", "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_root_has_color_zero", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_EtM.AE.Key_ke", "proj_equation_EtM.AE.Key_km", - "proj_equation_EtM.AE.Key_log", "proj_equation_EtM.AE.Key_region", - "proj_equation_EtM.CPA.Key_log", "proj_equation_EtM.CPA.Key_region", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_EtM.AE.Key_ke", - "projection_inverse_EtM.AE.Key_km", - "projection_inverse_EtM.AE.Key_log", - "projection_inverse_EtM.AE.Key_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_7f37da2c7bc73049d03abda609f5f8b3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_EtM.CPA.__proj__Key__item__region", - "typing_EtM.MAC.__proj__Key__item__region", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "bbcdc44fdc0908e9367455a81c5b2c74" - ], - [ - "EtM.AE.encrypt", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "data_elim_EtM.CPA.Key", "data_elim_EtM.MAC.Key", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.log_of", - "equation_EtM.AE.log_t", "equation_EtM.AE.region_of", - "equation_EtM.AE.rid", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.log_t", "equation_EtM.CPA.msg", - "equation_EtM.CPA.rid", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", - "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.indexable", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "fuel_guarded_inversion_EtM.AE.key", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_EtM.MAC.tag", - "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_EtM.AE.Key_ke", "proj_equation_EtM.AE.Key_km", - "proj_equation_EtM.AE.Key_log", "proj_equation_EtM.AE.Key_region", - "proj_equation_EtM.CPA.Key_log", "proj_equation_EtM.CPA.Key_region", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_EtM.AE.__proj__Key__item__ke", - "typing_EtM.AE.__proj__Key__item__km", - "typing_EtM.AE.__proj__Key__item__log", - "typing_EtM.AE.__proj__Key__item__region", - "typing_EtM.AE.get_cpa_log", "typing_EtM.AE.get_log", - "typing_EtM.AE.get_mac_log", - "typing_EtM.CPA.__proj__Key__item__region", - "typing_EtM.MAC.__proj__Key__item__region", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "b6b92a34b3867b1624a64a12591138cf" - ], - [ - "EtM.AE.decrypt", - 1, - 0, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.CPA.cipher", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" - ], - 0, - "0c4b1d2ce39a87322ba4dfd9345cd859" - ], - [ - "EtM.AE.decrypt", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "EtM.AE_interpretation_Tm_arrow_11b5249eb1308a0d5383c48e0559fa0a", - "EtM.AE_interpretation_Tm_arrow_f1dd2d4c43b8474a1a0cce9d33f18bed", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_EtM.AE.Key", "data_elim_EtM.CPA.Key", - "data_elim_EtM.MAC.Key", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.log_t", - "equation_EtM.AE.rid", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.log_t", "equation_EtM.CPA.mem", - "equation_EtM.CPA.msg", "equation_EtM.CPA.rid", - "equation_EtM.Ideal.ind_cpa_rest_adv", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", - "equation_EtM.MAC.tag", "equation_EtM.Plain.plain", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.indexable", - "equation_FStar.Seq.Properties.seq_find", - "equation_FStar.Set.subset", "equation_Platform.Bytes.bytes", - "equation_Prims.nat", "fuel_guarded_inversion_EtM.AE.key", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_EtM.AE.cipher", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Platform.Bytes.bytes", "int_inversion", - "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "interpretation_Tm_abs_50119bc4d67e4e21ccc8214627c33789", - "interpretation_Tm_abs_828e9bf3f7b8947a8345907abcb4f794", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_EtM.AE.Key_ke", - "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", "proj_equation_EtM.MAC.Key_log", - "proj_equation_EtM.MAC.Key_region", - "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_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5db528c8dfbc09443195a7ba778a2682", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", - "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_EtM.AE.__proj__Key__item__ke", - "typing_EtM.AE.__proj__Key__item__km", - "typing_EtM.AE.__proj__Key__item__region", "typing_EtM.AE.get_log", - "typing_EtM.AE.get_mac_log", "typing_EtM.CPA.__proj__Key__item__log", - "typing_EtM.CPA.__proj__Key__item__region", - "typing_EtM.Ideal.uf_cma", - "typing_EtM.MAC.__proj__Key__item__region", - "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.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.seq_find", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", - "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "typing_Tm_abs_50119bc4d67e4e21ccc8214627c33789", - "typing_Tm_abs_828e9bf3f7b8947a8345907abcb4f794" - ], - 0, - "c38f0d1c31e40d87883cd95239c11f06" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/EtM.CPA.fst.hints b/doc/old/tutorial/code/solutions/EtM.CPA.fst.hints deleted file mode 100644 index 03883863616..00000000000 --- a/doc/old/tutorial/code/solutions/EtM.CPA.fst.hints +++ /dev/null @@ -1,259 +0,0 @@ -[ - ";\u001b\u001f6u\"göå\u001fvc\u0003B\rï", - [ - [ - "EtM.CPA.aes_key", - 1, - 2, - 1, - [ - "@query", "equation_EtM.CPA.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0d5130ea9d0980f91aebaf92406a069c" - ], - [ - "EtM.CPA.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.genPost", - "equation_EtM.CPA.keysize", "equation_EtM.CPA.msg", - "equation_EtM.CPA.rid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_EtM.Plain.plain", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.CPA.Key_log", - "projection_inverse_EtM.CPA.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "4504acec25097fc23003e9673488e056" - ], - [ - "EtM.CPA.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_CoreCrypto.AES_128_CBC", - "data_elim_EtM.CPA.Key", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.log_t", - "equation_EtM.CPA.msg", "equation_EtM.CPA.rid", - "equation_EtM.Ideal.conf", "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.nat", - "fuel_guarded_inversion_EtM.CPA.key", - "function_token_typing_Platform.Bytes.byte", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Negation", - "proj_equation_EtM.CPA.Key_log", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.length" - ], - 0, - "a7bff5807b59223b85668bba1bdd957b" - ], - [ - "EtM.CPA.decrypt", - 1, - 2, - 1, - [ - "@query", "assumption_EtM.Plain.Plain_hasEq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.msg", "function_token_typing_EtM.Plain.plain", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" - ], - 0, - "aebd20042b1204e6ab5958fc0c48c7dd" - ], - [ - "EtM.CPA.decrypt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "EtM.CPA_interpretation_Tm_arrow_f1dd2d4c43b8474a1a0cce9d33f18bed", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "constructor_distinct_CoreCrypto.AES_128_CBC", - "data_elim_EtM.CPA.Key", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.log_t", - "equation_EtM.CPA.mem", "equation_EtM.CPA.msg", - "equation_EtM.CPA.rid", "equation_EtM.Ideal.auth", - "equation_EtM.Ideal.ind_cpa_rest_adv", "equation_EtM.Plain.coerce", - "equation_EtM.Plain.plain", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.seq_find", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Platform.Bytes.bytes", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", - "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.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1e8193313adb2a9bb029c68b42acd3ee", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_EtM.CPA.__proj__Key__item__region", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Properties.seq_find", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "typing_Tm_abs_50119bc4d67e4e21ccc8214627c33789" - ], - 0, - "184064f920da36028a5ab7f205a8b04e" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/EtM.MAC.fst.hints b/doc/old/tutorial/code/solutions/EtM.MAC.fst.hints deleted file mode 100644 index 703b74dae3c..00000000000 --- a/doc/old/tutorial/code/solutions/EtM.MAC.fst.hints +++ /dev/null @@ -1,278 +0,0 @@ -[ - "ý%Û\u0007='–®#\u0001°4Ž[G|", - [ - [ - "EtM.MAC.sha1_key", - 1, - 2, - 1, - [ - "@query", "equation_EtM.MAC.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "cb1165ca3a3f68c25fed0c4d81c9d265" - ], - [ - "EtM.MAC.tag", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.SHA1", - "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize", - "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "48ab6ca3f78c105ea3c3296b340dc6d3" - ], - [ - "EtM.MAC.sha1", - 1, - 2, - 1, - [ "@query", "equation_EtM.MAC.macsize" ], - 0, - "abf04466c59ef1be7a0337023d1a2435" - ], - [ - "EtM.MAC.hmac_sha1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equality_tok_CoreCrypto.SHA1@tok", - "equation_CoreCrypto.hashSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_EtM.MAC.blocksize", - "equation_EtM.MAC.keysize", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.sha1", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_EtM.CPA_Tm_refine_a2de0e48328ec9e47c8f36fcf85cb78b", - "refinement_interpretation_Platform.Bytes_Tm_refine_3458b9f6f40fe62446cdc2c6d3755a94", - "typing_EtM.MAC.sha1", "typing_Platform.Bytes.op_At_Bar" - ], - 0, - "6079ee319ee2a86264d53b52895e0b55" - ], - [ - "EtM.MAC.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", - "bool_inversion", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.genPost", "equation_EtM.MAC.keysize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", - "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_EtM.MAC.tag", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_EtM.MAC.Key_log", - "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.MAC.Key_log", - "projection_inverse_EtM.MAC.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "43345617da956d3e4b7461c0ac646a7e" - ], - [ - "EtM.MAC.mac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_EtM.MAC.tag", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__raw", "typing_EtM.MAC.hmac_sha1", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.seq" - ], - 0, - "7fe233e43deab6791cb21b84c0503a9c" - ], - [ - "EtM.MAC.verify", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "function_token_typing_EtM.MAC.tag", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd" - ], - 0, - "b5d7f45ed2898e4fd637f33bc581190f" - ], - [ - "EtM.MAC.verify", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "data_elim_EtM.MAC.Key", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", - "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.log_t", - "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_EtM.MAC.tag", - "function_token_typing_FStar.Monotonic.Heap.heap", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_EtM.MAC.Key_log", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.is_mm", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.complement", "typing_FStar.Set.empty" - ], - 0, - "027c5a32c49d354ef792f440e40c9b1a" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/EtM.Plain.fst.hints b/doc/old/tutorial/code/solutions/EtM.Plain.fst.hints deleted file mode 100644 index a14682b9134..00000000000 --- a/doc/old/tutorial/code/solutions/EtM.Plain.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Û\u001a¥bžö N¤w\u00017¬sa\u0001", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex01a.fst.hints b/doc/old/tutorial/code/solutions/Ex01a.fst.hints deleted file mode 100644 index 05603eb6d7a..00000000000 --- a/doc/old/tutorial/code/solutions/Ex01a.fst.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "\u0002û\u0016\u0013ŒM\u00165pšëÝ\u001dýÕ–", - [ - [ - "Ex01a.staticChecking", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.V", "equation_Ex01a.canRead", - "equation_Ex01a.canWrite", "equation_Ex01a.readme", - "equation_Ex01a.tmp", - "fuel_guarded_inversion_FStar.Pervasives.result", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.V_a", - "projection_inverse_FStar.Pervasives.V_v" - ], - 0, - "66ae050f44534b263ccbdc4ee6c3e716" - ], - [ - "Ex01a.checkedRead", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "1104d191068272060657a17172cbbbf7" - ], - [ - "Ex01a.checkedWrite", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "072249851da18246df037ab994b858fa" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex02a.fst.hints b/doc/old/tutorial/code/solutions/Ex02a.fst.hints deleted file mode 100644 index 25e1ae49b72..00000000000 --- a/doc/old/tutorial/code/solutions/Ex02a.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "gä%ukF—(¡¾™«\u0011SFU", [] ] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex03a.fst.hints b/doc/old/tutorial/code/solutions/Ex03a.fst.hints deleted file mode 100644 index 54115e747c7..00000000000 --- a/doc/old/tutorial/code/solutions/Ex03a.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "5ƒ\u0012†:\u0015ÓÞ[SÅ\u000f\u0003\u0013¿½", - [ - [ - "Ex03a.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_717cd45ee01469f780e77315120157cb_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "9fdc662db196abdaf3917022aecc5d65" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex03b.fst.hints b/doc/old/tutorial/code/solutions/Ex03b.fst.hints deleted file mode 100644 index 14942d8b278..00000000000 --- a/doc/old/tutorial/code/solutions/Ex03b.fst.hints +++ /dev/null @@ -1,24 +0,0 @@ -[ - "OàXµè\u0019y ¿ä#\b\u0013\u000e\u0011—", - [ - [ - "Ex03b.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "well-founded-ordering-on-nat" - ], - 0, - "9b2f0b71e5c28aaf8d0d73fb4f28db95" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex03c.fst.hints b/doc/old/tutorial/code/solutions/Ex03c.fst.hints deleted file mode 100644 index 4e63f997c97..00000000000 --- a/doc/old/tutorial/code/solutions/Ex03c.fst.hints +++ /dev/null @@ -1,47 +0,0 @@ -[ - "\u000e\u000b³G!ÖÔj0¤?\u0010˜ÒýM", - [ - [ - "Ex03c.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "18a941ac2fde501a546d14cf5443a855" - ], - [ - "Ex03c.fibonacci_greater_than_arg", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex03c.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Ex03c.fibonacci.fuel_instrumented", "@query", - "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", "equation_Prims.nat", - "equation_with_fuel_Ex03c.fibonacci.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_248ef741ca0c197696dc857093bda928", - "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Ex03c.fibonacci.fuel_instrumented", - "typing_Ex03c.fibonacci", "well-founded-ordering-on-nat" - ], - 0, - "f595ac7e7c87e916ae3fdc00c4fa304e" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04a.fst.hints b/doc/old/tutorial/code/solutions/Ex04a.fst.hints deleted file mode 100644 index c0277ab5646..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04a.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "ô87¾¨äË_œAö)€nâR", - [ - [ - "Ex04a.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "fc115bdd740b457afcbf6c0dc617709f" - ], - [ - "Ex04a.append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04a.length.fuel_instrumented", - "@fuel_irrelevance_Ex04a.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_Ex04a.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f7ae3e24edd91fe95e599becd45a5cc6", - "subterm_ordering_Prims.Cons", "typing_Ex04a.length" - ], - 0, - "57b1b746d29ac9a511f31805ff3169c2" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04b.fst.hints b/doc/old/tutorial/code/solutions/Ex04b.fst.hints deleted file mode 100644 index ca64b818014..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04b.fst.hints +++ /dev/null @@ -1,70 +0,0 @@ -[ - "Œ™Î2\u0015cÛç@½ËYšuÌ\u0001", - [ - [ - "Ex04b.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "62a8591d6fea8257d0e1534570872c6f" - ], - [ - "Ex04b.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "ff803a823c254313838687a6fc7ef10b" - ], - [ - "Ex04b.append_len", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04b.append.fuel_instrumented", - "@fuel_correspondence_Ex04b.length.fuel_instrumented", - "@fuel_irrelevance_Ex04b.append.fuel_instrumented", - "@fuel_irrelevance_Ex04b.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_Ex04b.append.fuel_instrumented", - "equation_with_fuel_Ex04b.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex04b.length.fuel_instrumented", - "typing_Ex04b.append", "typing_Ex04b.length" - ], - 0, - "79f023b47f572f5203e9b1e979628b48" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04c.fst.hints b/doc/old/tutorial/code/solutions/Ex04c.fst.hints deleted file mode 100644 index 920949d4b74..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04c.fst.hints +++ /dev/null @@ -1,68 +0,0 @@ -[ - "ñ{¨­\u001b8\f}/èF\u0004î}±N", - [ - [ - "Ex04c.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "4ec8e65655f6732c5fe11b4256bcb80f" - ], - [ - "Ex04c.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "a17942894194859e5d6a08b51bf108dd" - ], - [ - "Ex04c.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04c.append.fuel_instrumented", - "@fuel_correspondence_Ex04c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex04c.append.fuel_instrumented", - "@fuel_irrelevance_Ex04c.mem.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex04c.append.fuel_instrumented", - "equation_with_fuel_Ex04c.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Ex04c.append", - "typing_Ex04c.mem" - ], - 0, - "47ed6dac5871cabdfebe2a1f1ea69639" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04e.fst.hints b/doc/old/tutorial/code/solutions/Ex04e.fst.hints deleted file mode 100644 index cf26a668c32..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04e.fst.hints +++ /dev/null @@ -1,179 +0,0 @@ -[ - "P\u0014åÑR\\³÷L'Ä]ZY\u0001r", - [ - [ - "Ex04e.option", - 1, - 2, - 1, - [ "@query" ], - 0, - "71f129e0dfad6fda8c444edd5ceed57d" - ], - [ - "Ex04e.__proj__Some__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex04e.Some", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5940fa0a1398f97ef02a98908357b71e" - ], - 0, - "d8a38b0c1444e9a2b36c7d6ba06f6ec6" - ], - [ - "Ex04e.find", - 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", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "3c9ab6b1c2e8a9be4a0a78904d9bd935" - ], - [ - "Ex04e.find'", - 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_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "73f5811ad3796b6e09641d85daac40b9" - ], - [ - "Ex04e.find_some", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find_.fuel_instrumented", "@query", - "disc_equation_Ex04e.None", "disc_equation_Ex04e.Some", - "fuel_guarded_inversion_Ex04e.option", - "projection_inverse_BoxBool_proj_0", "typing_Ex04e.find_" - ], - 0, - "9fe84c20818667ddbe41998abec6642e" - ], - [ - "Ex04e.find_some", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find_.fuel_instrumented", - "@fuel_irrelevance_Ex04e.find_.fuel_instrumented", "@query", - "Ex04e_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Ex04e_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_Ex04e.None", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Ex04e.Some", - "disc_equation_Ex04e.None", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Ex04e.find_.fuel_instrumented", - "fuel_guarded_inversion_Ex04e.option", - "fuel_guarded_inversion_Prims.list", "proj_equation_Ex04e.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex04e.None__a", - "projection_inverse_Ex04e.Some_v", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex04e.find_" - ], - 0, - "454b1542a95129d764402e172c67fc30" - ], - [ - "Ex04e.find_some", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find_.fuel_instrumented", "@query", - "disc_equation_Ex04e.None", "disc_equation_Ex04e.Some", - "fuel_guarded_inversion_Ex04e.option", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_bbc402a1efbd2ce392421b746e4d303a", - "typing_Ex04e.find_" - ], - 0, - "c3b81efd509382fca4386ebeaf4bd657" - ], - [ - "Ex04e.find_some'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find.fuel_instrumented", "@query", - "disc_equation_Ex04e.None", "disc_equation_Ex04e.Some", - "fuel_guarded_inversion_Ex04e.option", "typing_Ex04e.find" - ], - 0, - "2d071602e66a6bbb9ac1be784a6fad14" - ], - [ - "Ex04e.find_some'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find.fuel_instrumented", "@query", - "Ex04e_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Ex04e_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Ex04e.None", "constructor_distinct_Prims.Nil", - "data_elim_Ex04e.Some", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Ex04e.find.fuel_instrumented", - "fuel_guarded_inversion_Ex04e.option", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "subterm_ordering_Prims.Cons", "typing_Ex04e.find" - ], - 0, - "06f4a39e407d919ea77b79851067b347" - ], - [ - "Ex04e.find_some'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04e.find.fuel_instrumented", "@query", - "disc_equation_Ex04e.None", "disc_equation_Ex04e.Some", - "fuel_guarded_inversion_Ex04e.option", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_391af9384e8ef1c331de65551e5f3993", - "typing_Ex04e.find" - ], - 0, - "60c8cb4a93bde154da6d49df22c6eda0" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04f.fst.hints b/doc/old/tutorial/code/solutions/Ex04f.fst.hints deleted file mode 100644 index c2b1042a941..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04f.fst.hints +++ /dev/null @@ -1,107 +0,0 @@ -[ - "…\u000fG³N1þùs˜_8uvOØ", - [ - [ - "Ex04f.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "a180bb47d8322e6792e53836c4fd0cd3" - ], - [ - "Ex04f.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "52149b4d726c4b05961755a500456e45" - ], - [ - "Ex04f.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "521338bc66630f53e5733c7ab9d38270" - ], - [ - "Ex04f.append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04f.append.fuel_instrumented", - "@fuel_irrelevance_Ex04f.append.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Ex04f.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex04f.append" - ], - 0, - "c9fe012d61e9082f57226a737c232011" - ], - [ - "Ex04f.fold_left_Cons_is_rev", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04f.append.fuel_instrumented", - "@fuel_correspondence_Ex04f.fold_left.fuel_instrumented", - "@fuel_correspondence_Ex04f.reverse.fuel_instrumented", - "@fuel_irrelevance_Ex04f.fold_left.fuel_instrumented", - "@fuel_irrelevance_Ex04f.reverse.fuel_instrumented", "@query", - "Ex04f_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_interpretation_Tm_arrow_02c072760cbad0f5a4706f6cffab6c94", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.Cons@tok", - "equation_with_fuel_Ex04f.append.fuel_instrumented", - "equation_with_fuel_Ex04f.fold_left.fuel_instrumented", - "equation_with_fuel_Ex04f.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex04f.reverse", - "typing_tok_Prims.Cons@tok" - ], - 0, - "26d80a41bd32b766dd23d2ab7a46db53" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04g.fst.hints b/doc/old/tutorial/code/solutions/Ex04g.fst.hints deleted file mode 100644 index 8ec78e85c87..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04g.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "gž\u0015\u0011F\u001cWmüZ‹‚×Ý\u0006½", - [ - [ - "Ex04g.hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "894679a1936656be1916f6fd9bd0f1a4" - ], - [ - "Ex04g.tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "1696e4b2ae7bcd0991aeaa2d07ea220c" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex04h.fst.hints b/doc/old/tutorial/code/solutions/Ex04h.fst.hints deleted file mode 100644 index 065813672da..00000000000 --- a/doc/old/tutorial/code/solutions/Ex04h.fst.hints +++ /dev/null @@ -1,51 +0,0 @@ -[ - "¬\u0000ó£ã½8^×{}GT)'", - [ - [ - "Ex04h.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "2c2e6bb16b7fc9c5af0b59c8970f1203" - ], - [ - "Ex04h.nth", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex04h.length.fuel_instrumented", - "@fuel_irrelevance_Ex04h.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_7a8711b2f75f153c9e9856dad6efeae4_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_Ex04h.length.fuel_instrumented", - "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", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a5c1792947341a3bb9c31244ed4e999e", - "subterm_ordering_Prims.Cons" - ], - 0, - "8f7556acbce483be51d1507480727cf1" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex05a.fst.hints b/doc/old/tutorial/code/solutions/Ex05a.fst.hints deleted file mode 100644 index 42bab662cc1..00000000000 --- a/doc/old/tutorial/code/solutions/Ex05a.fst.hints +++ /dev/null @@ -1,137 +0,0 @@ -[ - "\r4ÀNÃZà¦t^ÊŽÊ\u0013mÔ", - [ - [ - "Ex05a.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "f707034b33ded734341667bf898e278f" - ], - [ - "Ex05a.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "83b7e39d62fc029849a7f37b43e64f83" - ], - [ - "Ex05a.rev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Prims.list", - "subterm_ordering_Prims.Cons" - ], - 0, - "2825e6fdd46d9cde01ed6035702c2a6f" - ], - [ - "Ex05a.append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05a.append.fuel_instrumented", - "@fuel_irrelevance_Ex05a.append.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Ex05a.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex05a.append" - ], - 0, - "7d2232bd38edb1ab69dc65e8229f8870" - ], - [ - "Ex05a.rev_is_ok_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05a.append.fuel_instrumented", - "@fuel_correspondence_Ex05a.rev.fuel_instrumented", - "@fuel_correspondence_Ex05a.reverse.fuel_instrumented", - "@fuel_irrelevance_Ex05a.rev.fuel_instrumented", - "@fuel_irrelevance_Ex05a.reverse.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_with_fuel_Ex05a.append.fuel_instrumented", - "equation_with_fuel_Ex05a.rev.fuel_instrumented", - "equation_with_fuel_Ex05a.reverse.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_Ex05a.reverse" - ], - 0, - "91031059df6f24de2ff78fa9b0aa5d37" - ], - [ - "Ex05a.append_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05a.append.fuel_instrumented", - "@fuel_irrelevance_Ex05a.append.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_Ex05a.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "51d7135f4ff0aef007d792fe7fccea81" - ], - [ - "Ex05a.rev_is_ok", - 1, - 2, - 1, - [ "@query" ], - 0, - "a0d90c9560cf62c607a37a749d1e5b27" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex05b.fst.hints b/doc/old/tutorial/code/solutions/Ex05b.fst.hints deleted file mode 100644 index f05bf6793d7..00000000000 --- a/doc/old/tutorial/code/solutions/Ex05b.fst.hints +++ /dev/null @@ -1,201 +0,0 @@ -[ - "ô,¼ý„\u000f\u0006T\u0017«¤Í‰\u0013»", - [ - [ - "Ex05b.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "aef7b2a73a71a373eed22d20a0137eb5" - ], - [ - "Ex05b.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "7c168f3d1e915216a6eee50242273f05" - ], - [ - "Ex05b.fib_is_ok_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" - ], - 0, - "67a0fdd74b2ac109440f57c5b032167a" - ], - [ - "Ex05b.fib_is_ok_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05b.fib.fuel_instrumented", - "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Ex05b.fib.fuel_instrumented", - "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Ex05b.fib.fuel_instrumented", - "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" - ], - 0, - "0a76ab8056df104953e266ad603b7508" - ], - [ - "Ex05b.fib_is_ok_aux", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e658e844d018f29bef6cefa36c51c2f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3ffa013caa2b1528770709b2fcca9a70" - ], - [ - "Ex05b.fib_is_ok", - 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, - "52d3c8981c3c25e03a5a1187aaeb5e70" - ], - [ - "Ex05b.fib_is_ok", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", "@query", - "equation_Prims.nat", - "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2b6348b47f4d23c2f07da7f2c73265dc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex05b.fibonacci" - ], - 0, - "589269d35ca43eedf473a21eaae9c450" - ], - [ - "Ex05b.fib_inner_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equality_tok_Prims.LexTop@tok", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "2eb1803f4837f25b404fd6d999ff59a7" - ], - [ - "Ex05b.fib_inner_aux_2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f504ed7218c59b1e8c4b3ab065c17b62" - ], - [ - "Ex05b.fib_inner_aux_2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex05b.fibonacci.fuel_instrumented", - "@fuel_irrelevance_Ex05b.fibonacci.fuel_instrumented", "@query", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Ex05b.fibonacci.fuel_instrumented", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_9a92ec29e69375928b162815d6af2066", - "typing_Ex05b.fibonacci", "well-founded-ordering-on-nat" - ], - 0, - "b24b22245a3ae011bdb723969e2c5108" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex06a.fst.hints b/doc/old/tutorial/code/solutions/Ex06a.fst.hints deleted file mode 100644 index f02ba504e08..00000000000 --- a/doc/old/tutorial/code/solutions/Ex06a.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "˾—!©\u0004Õe\u0010\u0013Hw\u001bºY0", - [ - [ - "Ex06a.partition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "5419acddce30e2eb92313b234aad9efb" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex06b.fst.hints b/doc/old/tutorial/code/solutions/Ex06b.fst.hints deleted file mode 100644 index f881ef31bb9..00000000000 --- a/doc/old/tutorial/code/solutions/Ex06b.fst.hints +++ /dev/null @@ -1,273 +0,0 @@ -[ - "­6œÁ¨F­ã†\u001ap9Ð\u0014Õ¹", - [ - [ - "Ex06b.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d364930458ae87dc1c71a2c38a857b7a" - ], - [ - "Ex06b.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "0190ebdf94b6f1f677d697cd1c1d28b5" - ], - [ - "Ex06b.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Ex06b.append", - "typing_Ex06b.mem" - ], - 0, - "f7682ac6b21035f053a3f8cf228f946d" - ], - [ - "Ex06b.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "b6bc1ab49078556f0bafcb1375195732" - ], - [ - "Ex06b.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "9998da8e007f55667fcaad4a70ae5305" - ], - [ - "Ex06b.partition", - 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_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "e4a4b467a75aa0daa49d3af7fc556d84" - ], - [ - "Ex06b.partition_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.length.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06b.length.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06b.length.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition" - ], - 0, - "034b88b8fdafde917a81e52e4067b63d" - ], - [ - "Ex06b.sorted_concat_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Ex06b_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_65ecdb89801d0c2f7356a73239092c53_2", - "binder_x_65ecdb89801d0c2f7356a73239092c53_3", - "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Ex06b.total_order", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d86e36ac35297f25053ae307dcf8ccf0", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "typing_Ex06b.append", "typing_Ex06b.mem", "typing_Ex06b.sorted" - ], - 0, - "d154ff395225f54b4107861491534288" - ], - [ - "Ex06b.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06b.append.fuel_instrumented", - "@fuel_correspondence_Ex06b.length.fuel_instrumented", - "@fuel_correspondence_Ex06b.mem.fuel_instrumented", - "@fuel_correspondence_Ex06b.partition.fuel_instrumented", - "@fuel_correspondence_Ex06b.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06b.append.fuel_instrumented", - "@fuel_irrelevance_Ex06b.length.fuel_instrumented", - "@fuel_irrelevance_Ex06b.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06b.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06b.sorted.fuel_instrumented", "@query", - "Ex06b_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Ex06b_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Ex06b_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_8c67f6223cc4aff40bdb116d0b778e1c_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_Ex06b.total_order", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Ex06b.append.fuel_instrumented", - "equation_with_fuel_Ex06b.length.fuel_instrumented", - "equation_with_fuel_Ex06b.mem.fuel_instrumented", - "equation_with_fuel_Ex06b.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "lemma_Ex06b.append_mem", "lemma_Ex06b.partition_lemma", - "lemma_Ex06b.sorted_concat_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_0804acce3fb18141c65c44fe70268fd4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e03353aa58eb5ec02917330c14a05b4", - "refinement_interpretation_Tm_refine_9a912e5490df19e2f8fb2c2b537cedc8", - "refinement_interpretation_Tm_refine_ab0d3a0c0772d4330c49ca4aa5d3fae1", - "refinement_interpretation_Tm_refine_d08f8dc01810c7749c6b39fe951fbfdf", - "refinement_interpretation_Tm_refine_f21776ec197119f31d47c80b5522dbe0", - "token_correspondence_Ex06b.length.fuel_instrumented", - "token_correspondence_Ex06b.mem.fuel_instrumented", - "token_correspondence_Ex06b.sorted.fuel_instrumented", - "typing_Ex06b.length", "typing_Ex06b.mem", "typing_Ex06b.partition", - "typing_Ex06b.sort", "typing_Ex06b.sorted", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" - ], - 0, - "030493838b2e90726d4746c8094b7585" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex06c.fst.hints b/doc/old/tutorial/code/solutions/Ex06c.fst.hints deleted file mode 100644 index 3df794a25b5..00000000000 --- a/doc/old/tutorial/code/solutions/Ex06c.fst.hints +++ /dev/null @@ -1,338 +0,0 @@ -[ - "‚Þ JŸ*zŽyå\u001fë#ù", - [ - [ - "Ex06c.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d40738798b37014231d24584a8ffbbd1" - ], - [ - "Ex06c.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "bfdfe06284ac032022ba6a2d2af55f80" - ], - [ - "Ex06c.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06c.append.fuel_instrumented", - "@fuel_correspondence_Ex06c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06c.append.fuel_instrumented", - "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06c.append.fuel_instrumented", - "equation_with_fuel_Ex06c.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Ex06c.append", - "typing_Ex06c.mem" - ], - 0, - "5b4a15c1212f5c10926acf0b0dd33d74" - ], - [ - "Ex06c.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "c4bdd81e90531c0945ed22769a6c7025" - ], - [ - "Ex06c.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "a8ba04e795390a508c782aadacf34696" - ], - [ - "Ex06c.partition", - 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_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "446462164ea37d86568e2dd60d1a2798" - ], - [ - "Ex06c.partition_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06c.length.fuel_instrumented", - "@fuel_correspondence_Ex06c.mem.fuel_instrumented", - "@fuel_correspondence_Ex06c.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06c.length.fuel_instrumented", - "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06c.partition.fuel_instrumented", "@query", - "Ex06c_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Ex06c_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06c.length.fuel_instrumented", - "equation_with_fuel_Ex06c.mem.fuel_instrumented", - "equation_with_fuel_Ex06c.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06c.mem.fuel_instrumented", - "typing_Ex06c.length", "typing_Ex06c.mem", "typing_Ex06c.partition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "a4cae0c52f988a2dc7529cbaa3d584b0" - ], - [ - "Ex06c.sorted_concat_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06c.append.fuel_instrumented", - "@fuel_correspondence_Ex06c.mem.fuel_instrumented", - "@fuel_correspondence_Ex06c.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06c.append.fuel_instrumented", - "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_fd2a5d204254ab63488339125c1ee025_0", - "binder_x_fd2a5d204254ab63488339125c1ee025_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_Ex06c.append.fuel_instrumented", - "equation_with_fuel_Ex06c.mem.fuel_instrumented", - "equation_with_fuel_Ex06c.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7fbf33e015ae41662327f5c8a8b60932", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06c.mem.fuel_instrumented", - "token_correspondence_Ex06c.sorted.fuel_instrumented", - "typing_Ex06c.append", "typing_Ex06c.mem", "typing_Ex06c.sorted" - ], - 0, - "647f54146f36d8833aa7128e06bfc689" - ], - [ - "Ex06c.match_head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "33b6132e5935170ba80fd188da9e9343" - ], - [ - "Ex06c.dedup", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06c.mem.fuel_instrumented", - "@fuel_correspondence_Ex06c.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_fd2a5d204254ab63488339125c1ee025_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Ex06c.match_head", "equation_Prims.eqtype", - "equation_with_fuel_Ex06c.mem.fuel_instrumented", - "equation_with_fuel_Ex06c.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ec1fc3a363dc15af779cb0b8c457c25", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_7fbf33e015ae41662327f5c8a8b60932", - "refinement_interpretation_Tm_refine_90dfa9b5a038fc24a58a3696c282efd0", - "refinement_interpretation_Tm_refine_ab545c3e7939a8d7dcb8136c447f5cc0", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06c.sorted.fuel_instrumented", - "typing_Ex06c.dedup", "typing_Ex06c.sorted", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "d3c91c6b5f32eb35cc2ec9a3875f7128" - ], - [ - "Ex06c.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06c.append.fuel_instrumented", - "@fuel_correspondence_Ex06c.length.fuel_instrumented", - "@fuel_correspondence_Ex06c.mem.fuel_instrumented", - "@fuel_correspondence_Ex06c.partition.fuel_instrumented", - "@fuel_correspondence_Ex06c.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06c.append.fuel_instrumented", - "@fuel_irrelevance_Ex06c.length.fuel_instrumented", - "@fuel_irrelevance_Ex06c.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06c.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06c.sorted.fuel_instrumented", "@query", - "Ex06c_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Ex06c_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_Ex06c.cmp", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Ex06c.append.fuel_instrumented", - "equation_with_fuel_Ex06c.length.fuel_instrumented", - "equation_with_fuel_Ex06c.mem.fuel_instrumented", - "equation_with_fuel_Ex06c.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Ex06c.cmp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "lemma_Ex06c.append_mem", - "lemma_Ex06c.partition_lemma", "lemma_Ex06c.sorted_concat_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "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.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_1eb8c81c922b23dce42210337af469c3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_797f06a68dd619c6efeed55f1a40482f", - "refinement_interpretation_Tm_refine_e80a44e6c4aeb0f0432f67f800cc8a0b", - "token_correspondence_Ex06c.cmp", - "token_correspondence_Ex06c.length.fuel_instrumented", - "token_correspondence_Ex06c.mem.fuel_instrumented", - "token_correspondence_Ex06c.sorted.fuel_instrumented", - "typing_Ex06c.append", "typing_Ex06c.length", "typing_Ex06c.mem", - "typing_Ex06c.partition", "typing_Ex06c.sorted", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" - ], - 0, - "96d8c8e31879ba050219cb794d8e67fe" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex06d.fst.hints b/doc/old/tutorial/code/solutions/Ex06d.fst.hints deleted file mode 100644 index 0986e4a78e2..00000000000 --- a/doc/old/tutorial/code/solutions/Ex06d.fst.hints +++ /dev/null @@ -1,368 +0,0 @@ -[ - "æ\u001e(\u0012+ý\u0001ù/ŒÂE²>±v", - [ - [ - "Ex06d.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "46c31daa56d9ed5795db775caf2fdb86" - ], - [ - "Ex06d.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "1b694719dd400ce0d5101bc3b8267075" - ], - [ - "Ex06d.append_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.append.fuel_instrumented", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", - "@fuel_irrelevance_Ex06d.append.fuel_instrumented", - "@fuel_irrelevance_Ex06d.count.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06d.append.fuel_instrumented", - "equation_with_fuel_Ex06d.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Ex06d.append", - "typing_Ex06d.count" - ], - 0, - "1d20db5e52d20256d5a76552a3cdf3d3" - ], - [ - "Ex06d.append_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", "@query", - "equation_Ex06d.mem", "equation_Prims.nat", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex06d.count" - ], - 0, - "ddca671156b441ff651d77177ffafa19" - ], - [ - "Ex06d.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "e8ba50e3c246736a0eb8650fd0720836" - ], - [ - "Ex06d.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "8817b16ad4e699cd57f09b8a0a5a1491" - ], - [ - "Ex06d.partition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "subterm_ordering_Prims.Cons" - ], - 0, - "a9f6f4fa758ab17de81c97505735eae4" - ], - [ - "Ex06d.partition_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", - "@fuel_correspondence_Ex06d.length.fuel_instrumented", - "@fuel_correspondence_Ex06d.partition.fuel_instrumented", - "@fuel_irrelevance_Ex06d.count.fuel_instrumented", - "@fuel_irrelevance_Ex06d.length.fuel_instrumented", - "@fuel_irrelevance_Ex06d.partition.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Ex06d_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Ex06d.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06d.count.fuel_instrumented", - "equation_with_fuel_Ex06d.length.fuel_instrumented", - "equation_with_fuel_Ex06d.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06d.count.fuel_instrumented", - "typing_Ex06d.count", "typing_Ex06d.length", "typing_Ex06d.mem", - "typing_Ex06d.partition", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "17940af005fd066937a87c756e1ee9ee" - ], - [ - "Ex06d.sorted_concat_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.append.fuel_instrumented", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", - "@fuel_correspondence_Ex06d.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06d.append.fuel_instrumented", - "@fuel_irrelevance_Ex06d.count.fuel_instrumented", - "@fuel_irrelevance_Ex06d.sorted.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f54241b5387530a053988f0b51a75b3d_2", - "binder_x_f54241b5387530a053988f0b51a75b3d_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Ex06d.mem", - "equation_Ex06d.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06d.append.fuel_instrumented", - "equation_with_fuel_Ex06d.count.fuel_instrumented", - "equation_with_fuel_Ex06d.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5cc807ac6220a2d5f307be9f5ac12b09", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06d.count.fuel_instrumented", - "typing_Ex06d.append", "typing_Ex06d.count", "typing_Ex06d.mem", - "typing_Ex06d.sorted" - ], - 0, - "9fa4434b3e17c373e5b2aed6631dd07f" - ], - [ - "Ex06d.sort", - 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, - "65543958e068ee7dec6febfd467b5300" - ], - [ - "Ex06d.sort", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", - "@fuel_correspondence_Ex06d.length.fuel_instrumented", - "@fuel_correspondence_Ex06d.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06d.count.fuel_instrumented", - "@fuel_irrelevance_Ex06d.length.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_696262099dfeead0d4fba435ba22bd67_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Ex06d.mem", "equation_Ex06d.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Ex06d.count.fuel_instrumented", - "equation_with_fuel_Ex06d.length.fuel_instrumented", - "equation_with_fuel_Ex06d.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a286a493860e98f10491358633aec13", - "refinement_interpretation_Tm_refine_6b86b5f721d00dbfc398af610651f77a", - "refinement_interpretation_Tm_refine_d4ae29cae56e0ad456fef1828edee905", - "refinement_interpretation_Tm_refine_e6a96976030d8e05f4e197504cb437fc", - "refinement_interpretation_Tm_refine_f356a9c5dfea65bfa7fdf736166fc274", - "token_correspondence_Ex06d.sorted.fuel_instrumented", - "typing_Ex06d.count", "typing_Ex06d.length", "typing_Ex06d.mem", - "typing_Ex06d.sort", "well-founded-ordering-on-nat" - ], - 0, - "5cca4ef552f9abaa94c6329f021570bd" - ], - [ - "Ex06d.sort", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06d.count.fuel_instrumented", - "@fuel_correspondence_Ex06d.length.fuel_instrumented", - "@fuel_correspondence_Ex06d.partition.fuel_instrumented", - "@fuel_correspondence_Ex06d.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06d.count.fuel_instrumented", - "@fuel_irrelevance_Ex06d.length.fuel_instrumented", "@query", - "Ex06d_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Ex06d_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Ex06d_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_696262099dfeead0d4fba435ba22bd67_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_Prims.LexTop@tok", - "equation_Ex06d.mem", "equation_Ex06d.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Ex06d.count.fuel_instrumented", - "equation_with_fuel_Ex06d.length.fuel_instrumented", - "equation_with_fuel_Ex06d.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a286a493860e98f10491358633aec13", - "refinement_interpretation_Tm_refine_6b86b5f721d00dbfc398af610651f77a", - "typing_Ex06d.append", "typing_Ex06d.count", "typing_Ex06d.length", - "typing_Ex06d.mem", "typing_Ex06d.partition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "well-founded-ordering-on-nat" - ], - 0, - "a65c3b63d31c18b299f5885a48a8ae15" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex06e.fst.hints b/doc/old/tutorial/code/solutions/Ex06e.fst.hints deleted file mode 100644 index 81bc25e8cbe..00000000000 --- a/doc/old/tutorial/code/solutions/Ex06e.fst.hints +++ /dev/null @@ -1,159 +0,0 @@ -[ - "ÚY3÷\u001c&ýØàèQ¦–¾š4", - [ - [ - "Ex06e.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "1b52130b847a494df5713def09159c01" - ], - [ - "Ex06e.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Prims.Cons" - ], - 0, - "35c11d506c208e1ce02419ae95fa67a9" - ], - [ - "Ex06e.sorted_smaller", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06e.mem.fuel_instrumented", - "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06e.sorted.fuel_instrumented", "@query", - "binder_x_66b03f5c7897b05649fed8196554c587_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_ae567c2fb75be05905677af440075565_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06e.mem.fuel_instrumented", - "equation_with_fuel_Ex06e.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.int", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06e.mem.fuel_instrumented", - "token_correspondence_Ex06e.sorted.fuel_instrumented", - "typing_Ex06e.mem", "typing_Ex06e.sorted", "unit_inversion", - "unit_typing" - ], - 0, - "a2793cb3888331b02127d39854ff564d" - ], - [ - "Ex06e.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06e.mem.fuel_instrumented", - "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", - "@fuel_irrelevance_Ex06e.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_f171d66efa4bc126ede8246f7c628508_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex06e.mem.fuel_instrumented", - "equation_with_fuel_Ex06e.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_Ex06e.sorted_smaller", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "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_2e9b47720b9a18aba0e2531e8ad7289f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4dffc315b93d3d1607a2e6a242650c05", - "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", - "refinement_interpretation_Tm_refine_dc428873a9acc620b32d60ac1cdddfe5", - "subterm_ordering_Prims.Cons", - "token_correspondence_Ex06e.mem.fuel_instrumented", - "token_correspondence_Ex06e.sorted.fuel_instrumented", - "typing_Ex06e.insert", "typing_Ex06e.mem", "typing_Ex06e.sorted" - ], - 0, - "6217c50aa45807a53542907cfe24908c" - ], - [ - "Ex06e.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex06e.mem.fuel_instrumented", - "@fuel_correspondence_Ex06e.sorted.fuel_instrumented", - "@fuel_irrelevance_Ex06e.mem.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Ex06e.mem.fuel_instrumented", - "equation_with_fuel_Ex06e.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_5dfdd346965a343e2b05986cfb2e575c", - "refinement_interpretation_Tm_refine_7d0f5d5ec7c4bc755d1464d1b49f182b", - "refinement_interpretation_Tm_refine_7d9e198f681ce268bb0a5d5b830e5465", - "subterm_ordering_Prims.Cons", "typing_Ex06e.mem" - ], - 0, - "853318dd39eac8dacefd227653289eb5" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex07a.fst.hints b/doc/old/tutorial/code/solutions/Ex07a.fst.hints deleted file mode 100644 index 3887a9665b4..00000000000 --- a/doc/old/tutorial/code/solutions/Ex07a.fst.hints +++ /dev/null @@ -1,681 +0,0 @@ -[ - "óÚè^Ñk1v\u001c)KsLš\u0015‹", - [ - [ - "Ex07a.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "7f357bbc2480792003e8381614406949" - ], - [ - "Ex07a.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" - ], - 0, - "6295cf7648631acb34bb290f04afe016" - ], - [ - "Ex07a.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6d481b4efcb5fbee37d1d60c36959ad4" - ], - 0, - "7ce335a99a5c1ea697fc67189ac0680f" - ], - [ - "Ex07a.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "63dc3cd9dba3a5cd398e14e8996e914f" - ], - [ - "Ex07a.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f7bc5dc78a06806c9611435fda0e6d8d" - ], - 0, - "438d35029ec1b01109783a2c81fb2972" - ], - [ - "Ex07a.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" - ], - 0, - "9d4112fe12ffc45a3cbec1e2ad9c86b5" - ], - [ - "Ex07a.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f136389a43dd0b6827ec1059c6da2367" - ], - 0, - "2b29a7e5672b5c829f9f2b7baba24000" - ], - [ - "Ex07a.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "a900fd10cc44a4f64a6a7f726b6372c1" - ], - [ - "Ex07a.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "ec59ee58780ebbd8fc1ee08d55049e12" - ], - [ - "Ex07a.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a951dab851bee4ccbd0b4c3ba1c9135" - ], - 0, - "a0cbe041638dbd6df5feb67bf1564397" - ], - [ - "Ex07a.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "1bd1311e78fbbf0766ab16e29687b0e9" - ], - [ - "Ex07a.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "e6038e96530aa59484f742058d173410" - ], - [ - "Ex07a.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07a.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14ad78ec1d1ac0199d7bf98ab84ada10" - ], - 0, - "7b34bdf4ebc3c7b3b279359fa611ecf9" - ], - [ - "Ex07a.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07a.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf" - ], - 0, - "9b22612506a1c04a09cb53d3fef99d01" - ], - [ - "Ex07a.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07a.exp@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "a5ab526b53fb1cb4613e2a97c2c3b994" - ], - [ - "Ex07a.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "assumption_Ex07a.ty__uu___haseq", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", "bool_inversion", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "fuel_guarded_inversion_Ex07a.exp", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok" - ], - 0, - "91b2e0870fa43972eda76da2af4618aa" - ], - [ - "Ex07a.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.step.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.step.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.EVar", - "constructor_distinct_Ex07a.TArrow", - "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "equation_Ex07a.is_value", - "equation_with_fuel_Ex07a.step.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "typing_Ex07a.empty", - "typing_Ex07a.is_value", "typing_Ex07a.step", "typing_Ex07a.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1e5e71f6e92612d6c8fbfd279bfd705f" - ], - [ - "Ex07a.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07a.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf" - ], - 0, - "a2793dee0558d29673607023e1c0c0bf" - ], - [ - "Ex07a.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_interpretation_Tm_arrow_53a1764484b2bda056102304a1008ef7", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2d2a66942d22635d74194ee2adf88f89_2", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EFalse", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", - "constructor_distinct_Ex07a.EVar", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EFalse", - "disc_equation_Ex07a.EIf", "disc_equation_Ex07a.ETrue", - "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.EFalse@tok", "equality_tok_Ex07a.ETrue@tok", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.env", - "equation_Ex07a.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07a.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__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_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", "typing_Ex07a.appears_free_in", - "typing_Ex07a.extend", "typing_Ex07a.typing", - "typing_Ex07a.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07a.EFalse@tok", "typing_tok_Ex07a.ETrue@tok", - "typing_tok_Ex07a.TBool@tok" - ], - 0, - "416075c2e702010f3dd39b3900cff6e1" - ], - [ - "Ex07a.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07a.TBool@tok" - ], - 0, - "b09db81c8ec1e6f14cb9ccf83829dab2" - ], - [ - "Ex07a.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "b6a65928e54b6ead5332dc56080371bc" - ], - [ - "Ex07a.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "7240a990a36b7a7beea5f4d6331ef8a3" - ], - [ - "Ex07a.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Ex07a_pretyping_954d904f9a7601853684143df10460f5", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_2d2a66942d22635d74194ee2adf88f89_1", - "binder_x_2d2a66942d22635d74194ee2adf88f89_2", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07a.EVar", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.equalE", - "equation_Ex07a.extend", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "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_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.extend", "typing_Ex07a.typing", - "typing_tok_Ex07a.TBool@tok", "unit_typing" - ], - 0, - "5ab05b8f04d3114d902a108a0e9ee670" - ], - [ - "Ex07a.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07a.equal", "equation_Ex07a.equalE" ], - 0, - "119ca912417e7a9f57ceed74a652844a" - ], - [ - "Ex07a.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" - ], - 0, - "055ef28af5f8507a425105d5a84e3735" - ], - [ - "Ex07a.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07a.subst.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07a.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2d2a66942d22635d74194ee2adf88f89_3", - "binder_x_896e04207a09217ae90a78b1619cef5a_1", - "binder_x_896e04207a09217ae90a78b1619cef5a_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EFalse", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.ETrue", - "constructor_distinct_Ex07a.EVar", - "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07a.ETrue@tok", - "disc_equation_Ex07a.EAbs", "disc_equation_Ex07a.EApp", - "disc_equation_Ex07a.EFalse", "disc_equation_Ex07a.EIf", - "disc_equation_Ex07a.ETrue", "disc_equation_Ex07a.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.EFalse@tok", "equality_tok_Ex07a.ETrue@tok", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.equal", - "equation_Ex07a.equalE", "equation_Ex07a.extend", - "equation_with_fuel_Ex07a.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07a.subst.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", - "kinding_Ex07a.ty@tok", "lemma_Ex07a.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07a.EAbs", "subterm_ordering_Ex07a.EApp", - "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.appears_free_in", "typing_Ex07a.extend", - "typing_Ex07a.subst", "typing_Ex07a.typing", - "typing_Ex07a.uu___is_ETrue", "typing_tok_Ex07a.EFalse@tok", - "typing_tok_Ex07a.ETrue@tok", "unit_inversion", "unit_typing" - ], - 0, - "f29b61eada16ac84baf63fbe0e2c589c" - ], - [ - "Ex07a.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f3ba47f35a1c9b4b2abbf29bbb32c88" - ], - 0, - "f24396cc284b519d4e63b8915ab66643" - ], - [ - "Ex07a.preservation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07a.step.fuel_instrumented", - "@fuel_correspondence_Ex07a.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07a.step.fuel_instrumented", - "@fuel_irrelevance_Ex07a.typing.fuel_instrumented", "@query", - "Ex07a_pretyping_896e04207a09217ae90a78b1619cef5a", - "binder_x_896e04207a09217ae90a78b1619cef5a_0", "bool_inversion", - "constructor_distinct_Ex07a.EAbs", "constructor_distinct_Ex07a.EApp", - "constructor_distinct_Ex07a.EIf", "constructor_distinct_Ex07a.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07a.ETrue@tok", "disc_equation_Ex07a.EAbs", - "disc_equation_Ex07a.EApp", "disc_equation_Ex07a.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07a.TBool@tok", "equation_Ex07a.env", - "equation_Ex07a.extend", "equation_Ex07a.is_value", - "equation_with_fuel_Ex07a.step.fuel_instrumented", - "equation_with_fuel_Ex07a.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07a.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07a.exp@tok", "kinding_Ex07a.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07a.EAbs__0", - "projection_inverse_Ex07a.EAbs__1", - "projection_inverse_Ex07a.EAbs__2", - "projection_inverse_Ex07a.EApp__0", - "projection_inverse_Ex07a.EApp__1", - "projection_inverse_Ex07a.EIf__0", "projection_inverse_Ex07a.EIf__1", - "projection_inverse_Ex07a.EIf__2", - "projection_inverse_Ex07a.TArrow__0", - "projection_inverse_Ex07a.TArrow__1", - "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", - "subterm_ordering_Ex07a.EApp", "subterm_ordering_Ex07a.EIf", - "token_correspondence_Ex07a.typing.fuel_instrumented", - "typing_Ex07a.empty", "typing_Ex07a.step", "typing_Ex07a.subst", - "typing_Ex07a.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_683a196964f1325463adbc5bf3c4eaa0", "unit_inversion", - "unit_typing" - ], - 0, - "638e025feb3883f6912b83c0a1df1585" - ], - [ - "Ex07a.typed_step", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07a.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07a.ty@tok" - ], - 0, - "7b52192a81d99483201406603f17a5b4" - ], - [ - "Ex07a.typed_step", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b2e0d703856834b97017ac5e35213e3b" - ], - 0, - "f7e91bf5c6744c3e29e43c106c870e5f" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex07b.fst.hints b/doc/old/tutorial/code/solutions/Ex07b.fst.hints deleted file mode 100644 index 0be2ca8fbad..00000000000 --- a/doc/old/tutorial/code/solutions/Ex07b.fst.hints +++ /dev/null @@ -1,849 +0,0 @@ -[ - "Û¦éÖ&Î\u0002F¼u¸\u000f@KhÜ", - [ - [ - "Ex07b.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c1d5b08d44ea2afee2d8fa79ffe549a" - ], - [ - "Ex07b.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" - ], - 0, - "b8c0a7f30b7904e559608ad128a0fbd7" - ], - [ - "Ex07b.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5750090974c98caf06b187cfd07f6183" - ], - 0, - "3d64b97cb3c022f21c6281ef2383c5d7" - ], - [ - "Ex07b.__proj__TPair__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" - ], - 0, - "7434b02f9fd8f37c25cf6026ab94e297" - ], - [ - "Ex07b.__proj__TPair__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.TPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_509cf302a748c670057fecd70009dfa0" - ], - 0, - "db412911cf846d2c7b0fad2ed0d821ac" - ], - [ - "Ex07b.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "7dd2b0b621adfe41f4212dc72a36df20" - ], - [ - "Ex07b.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b6f32956bd08cc9e186aefa06e30a826" - ], - 0, - "15c2845d889be165f32e910f33f35ffa" - ], - [ - "Ex07b.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" - ], - 0, - "60706c4c39e8167d6f573702a2e66af6" - ], - [ - "Ex07b.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02002f0ad7a9a0d04af5d83bc20f0cc2" - ], - 0, - "79776acc05ad4022a074658df3c5b4f9" - ], - [ - "Ex07b.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "8c7f0ab9c6b2ac8a83447b460ddfa1d4" - ], - [ - "Ex07b.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "f1b378bec601ba2ddcdecc69e439ba6e" - ], - [ - "Ex07b.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4b25aa8455c31f1fdab955f23a06145a" - ], - 0, - "e5257178b9f67fd39c003cbaa153b14b" - ], - [ - "Ex07b.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "6bf1f2160668e571918c0acba526cad3" - ], - [ - "Ex07b.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "0e38dae79dc6664eb6c447aa4ff14621" - ], - [ - "Ex07b.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d8a08e8cc79c0496374772dc8973fa01" - ], - 0, - "af356d62efe9598deaa215de51b5e03d" - ], - [ - "Ex07b.__proj__EPair__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" - ], - 0, - "46779e80b43daf271dc8d3d453cd0598" - ], - [ - "Ex07b.__proj__EPair__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EPair", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c53ec770545fa3b713c731a12c60f11b" - ], - 0, - "18286828503df966e29b689a4fb0334d" - ], - [ - "Ex07b.__proj__EFst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.EFst", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_958ca9a5748df3729ea50125a7b4943a" - ], - 0, - "0169d870e7ccf029be0fe92ce8203e0c" - ], - [ - "Ex07b.__proj__ESnd__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07b.ESnd", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6f9b0d6ea3ce26714864b1ca2a2f6caa" - ], - 0, - "28a0529f18b2853088501dcecc6e7ac6" - ], - [ - "Ex07b.is_value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", - "subterm_ordering_Ex07b.EPair" - ], - 0, - "0b10dbab05ef600cbe8ed464ff2d9a8f" - ], - [ - "Ex07b.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EFst", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.EPair", "disc_equation_Ex07b.ESnd", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07b.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" - ], - 0, - "e982a97af4686001e5d22ee336338cd3" - ], - [ - "Ex07b.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", "bool_inversion", - "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07b.exp@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "c06166195951013c46ea6ad7d5c4e259" - ], - [ - "Ex07b.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "assumption_Ex07b.ty__uu___haseq", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", "bool_inversion", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EFst", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.EPair", - "disc_equation_Ex07b.ESnd", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "fuel_guarded_inversion_Ex07b.exp", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Ex07b.EAbs", - "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", - "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", - "subterm_ordering_Ex07b.ESnd", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.TBool@tok" - ], - 0, - "5bd6a156b80438186ca22631aa8ac2c1" - ], - [ - "Ex07b.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.is_value.fuel_instrumented", - "@fuel_correspondence_Ex07b.step.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.is_value.fuel_instrumented", - "@fuel_irrelevance_Ex07b.step.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.EPair", - "constructor_distinct_Ex07b.ESnd", - "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "constructor_distinct_Ex07b.TArrow", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_Ex07b.TPair", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EFst", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.EPair", - "disc_equation_Ex07b.ESnd", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "equation_with_fuel_Ex07b.is_value.fuel_instrumented", - "equation_with_fuel_Ex07b.step.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EFst__0", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EPair__0", - "projection_inverse_Ex07b.EPair__1", - "projection_inverse_Ex07b.ESnd__0", - "projection_inverse_Ex07b.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "token_correspondence_Ex07b.is_value.fuel_instrumented", - "typing_Ex07b.empty", "typing_Ex07b.is_value", "typing_Ex07b.step", - "typing_Ex07b.typing", "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", - "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "289aa0753aaf9a1cfc74e842659ed75c" - ], - [ - "Ex07b.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EFst", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.EPair", "disc_equation_Ex07b.ESnd", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07b.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd" - ], - 0, - "d6ab250c74b33e9e1166cf271a2af45f" - ], - [ - "Ex07b.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_interpretation_Tm_arrow_4c19cf7dbb81c35c2228649d22b4a791", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.EPair", - "constructor_distinct_Ex07b.ESnd", - "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFalse", - "disc_equation_Ex07b.EFst", "disc_equation_Ex07b.EIf", - "disc_equation_Ex07b.EPair", "disc_equation_Ex07b.ESnd", - "disc_equation_Ex07b.ETrue", "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.env", - "equation_Ex07b.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07b.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EFst__0", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EPair__0", - "projection_inverse_Ex07b.EPair__1", - "projection_inverse_Ex07b.ESnd__0", - "projection_inverse_Ex07b.EVar__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_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", - "typing_Ex07b.typing", "typing_Ex07b.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07b.EFalse@tok", "typing_tok_Ex07b.ETrue@tok", - "typing_tok_Ex07b.TBool@tok" - ], - 0, - "7f66fee167cc2d57e8dfbd792ecd8d84" - ], - [ - "Ex07b.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07b.TBool@tok" - ], - 0, - "86a5ffdf9499ea971fef9cadaa5dfcee" - ], - [ - "Ex07b.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07b.ty@tok" - ], - 0, - "b6934850a3059b27828a27a7fce3da68" - ], - [ - "Ex07b.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07b.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07b.ty@tok" - ], - 0, - "8411103cb21ac09a3a645f59a050dade" - ], - [ - "Ex07b.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0ef6adeb4170009569fb43b575c6f114_0", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_1", - "binder_x_f36a46d9acf5432a0d30486e4ea96094_2", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.EPair", - "constructor_distinct_Ex07b.ESnd", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07b.EVar", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFst", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.EPair", - "disc_equation_Ex07b.ESnd", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.equalE", - "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EFst__0", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EPair__0", - "projection_inverse_Ex07b.EPair__1", - "projection_inverse_Ex07b.ESnd__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_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", - "typing_Ex07b.typing", "typing_tok_Ex07b.TBool@tok", "unit_typing" - ], - 0, - "06aa0af3df7ddfbb3634a44930b54d9b" - ], - [ - "Ex07b.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07b.equal", "equation_Ex07b.equalE" ], - 0, - "7ce9d7432d98dd7413e9b07f5b1b4d5a" - ], - [ - "Ex07b.substitution_preserves_typing", - 1, - 4, - 2, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_475611d23cd96730d789f8e1dcabbdff" - ], - 0, - "f9484a40381ddf257e79620fd6e951c6" - ], - [ - "Ex07b.substitution_preserves_typing", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07b.subst.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07b.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ef6adeb4170009569fb43b575c6f114_1", - "binder_x_0ef6adeb4170009569fb43b575c6f114_2", - "binder_x_95d774fda5ce3618a64b340549b3c2cc_3", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07b.EAbs", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFalse", - "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.EPair", - "constructor_distinct_Ex07b.ESnd", - "constructor_distinct_Ex07b.ETrue", - "constructor_distinct_Ex07b.EVar", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07b.ETrue@tok", - "disc_equation_Ex07b.EAbs", "disc_equation_Ex07b.EApp", - "disc_equation_Ex07b.EFalse", "disc_equation_Ex07b.EFst", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.EPair", - "disc_equation_Ex07b.ESnd", "disc_equation_Ex07b.ETrue", - "disc_equation_Ex07b.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.EFalse@tok", "equality_tok_Ex07b.ETrue@tok", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.equal", - "equation_Ex07b.equalE", "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07b.subst.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07b.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_df606ea6bc0ed3bdb4217461fa3798fa", - "kinding_Ex07b.ty@tok", "lemma_Ex07b.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EFst__0", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EPair__0", - "projection_inverse_Ex07b.EPair__1", - "projection_inverse_Ex07b.ESnd__0", - "projection_inverse_Ex07b.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_f3a2fea33e36a5a4c280f1511998b4b1", - "subterm_ordering_Ex07b.EAbs", "subterm_ordering_Ex07b.EApp", - "subterm_ordering_Ex07b.EFst", "subterm_ordering_Ex07b.EIf", - "subterm_ordering_Ex07b.EPair", "subterm_ordering_Ex07b.ESnd", - "typing_Ex07b.appears_free_in", "typing_Ex07b.extend", - "typing_Ex07b.subst", "typing_Ex07b.typing", - "typing_Ex07b.uu___is_ETrue", "typing_tok_Ex07b.EFalse@tok", - "typing_tok_Ex07b.ETrue@tok", "typing_tok_Ex07b.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "3bbf4c678695947c1d3a83a81f46c6a9" - ], - [ - "Ex07b.substitution_preserves_typing", - 3, - 4, - 2, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d83b34ed85fe441042f41190e004ffe2" - ], - 0, - "52d078e3db98a516e3ef3e8b78b5ff6d" - ], - [ - "Ex07b.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841" - ], - 0, - "7df9ccd6d7bdd27498bc65b47e16d5c6" - ], - [ - "Ex07b.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07b.step.fuel_instrumented", - "@fuel_correspondence_Ex07b.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07b.step.fuel_instrumented", - "@fuel_irrelevance_Ex07b.typing.fuel_instrumented", "@query", - "Ex07b_pretyping_0ef6adeb4170009569fb43b575c6f114", - "Ex07b_pretyping_a2d260c811b7483bb752f73e3894db17", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_16020332c6f82b0739119c0ba6182e74_0", "bool_inversion", - "bool_typing", "constructor_distinct_Ex07b.EApp", - "constructor_distinct_Ex07b.EFst", "constructor_distinct_Ex07b.EIf", - "constructor_distinct_Ex07b.EPair", - "constructor_distinct_Ex07b.ESnd", - "constructor_distinct_Ex07b.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07b.ETrue@tok", "disc_equation_Ex07b.EAbs", - "disc_equation_Ex07b.EApp", "disc_equation_Ex07b.EFst", - "disc_equation_Ex07b.EIf", "disc_equation_Ex07b.EPair", - "disc_equation_Ex07b.ESnd", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07b.TBool@tok", "equation_Ex07b.extend", - "equation_with_fuel_Ex07b.step.fuel_instrumented", - "equation_with_fuel_Ex07b.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07b.exp@tok", "kinding_Ex07b.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07b.EAbs__0", - "projection_inverse_Ex07b.EAbs__1", - "projection_inverse_Ex07b.EAbs__2", - "projection_inverse_Ex07b.EApp__0", - "projection_inverse_Ex07b.EApp__1", - "projection_inverse_Ex07b.EFst__0", - "projection_inverse_Ex07b.EIf__0", "projection_inverse_Ex07b.EIf__1", - "projection_inverse_Ex07b.EIf__2", - "projection_inverse_Ex07b.EPair__0", - "projection_inverse_Ex07b.EPair__1", - "projection_inverse_Ex07b.ESnd__0", - "projection_inverse_Ex07b.TArrow__0", - "projection_inverse_Ex07b.TArrow__1", - "projection_inverse_Ex07b.TPair__0", - "projection_inverse_Ex07b.TPair__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_fa070ce124e09c77bfd984e821b4f841", - "subterm_ordering_Ex07b.EApp", "subterm_ordering_Ex07b.EFst", - "subterm_ordering_Ex07b.EIf", "subterm_ordering_Ex07b.EPair", - "subterm_ordering_Ex07b.ESnd", - "token_correspondence_Ex07b.step.fuel_instrumented", - "token_correspondence_Ex07b.typing.fuel_instrumented", - "typing_Ex07b.empty", "typing_Ex07b.extend", "typing_Ex07b.is_value", - "typing_Ex07b.step", "typing_Ex07b.subst", "typing_Ex07b.typing", - "typing_Ex07b.uu___is_EApp", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07b.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1e680c013350cdcd311fe9f72df4d9b5" - ], - [ - "Ex07b.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_10cdab8c2c4b84206c8d0c96d80a2aca" - ], - 0, - "40b69d2daa22fe145d1e5973551f5e14" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex07c.fst.hints b/doc/old/tutorial/code/solutions/Ex07c.fst.hints deleted file mode 100644 index 1890e3d152e..00000000000 --- a/doc/old/tutorial/code/solutions/Ex07c.fst.hints +++ /dev/null @@ -1,772 +0,0 @@ -[ - "ñ\u0013yµ\u0016óS•Ùùæ°mWß³", - [ - [ - "Ex07c.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "9e24090f63d6407494b08f758f4b2806" - ], - [ - "Ex07c.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" - ], - 0, - "708b0cb4a2e5f82ca91e1f86f8cd97a5" - ], - [ - "Ex07c.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f52b2b5b7000eab91fee74be6d406dae" - ], - 0, - "1f85e56a6d4434bfa84cc9a5a34713a4" - ], - [ - "Ex07c.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "2412be5663d223bc577907d66ed9baeb" - ], - [ - "Ex07c.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_af9adaa077ed4f1ece37b319bcad4c4c" - ], - 0, - "bd975552f86442157784cff13916fcf8" - ], - [ - "Ex07c.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" - ], - 0, - "f6d6a3004e3f5d1bf1c29e6f15ba7206" - ], - [ - "Ex07c.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5e645d475745dec74294f94263393c19" - ], - 0, - "fc619bd23313c03c4f36f9d247c3c6a6" - ], - [ - "Ex07c.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "a21e3043f646ede3ab03118875a0ff8e" - ], - [ - "Ex07c.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "f43babcf80d44f31d15220099a099e25" - ], - [ - "Ex07c.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ac697de541ee2cb1c722dd0a30e8d48" - ], - 0, - "6340b3e5ee2791ded3e26582f8131316" - ], - [ - "Ex07c.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "27791cb26ceebdbaab2a232201354428" - ], - [ - "Ex07c.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "6ec266a877a8ecbd0a61b5a420da616b" - ], - [ - "Ex07c.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ce65697be2f65791f4c0b58fb5076b6d" - ], - 0, - "8dbf01a749d1d08e3efb72647ec0b2ab" - ], - [ - "Ex07c.__proj__ELet__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.ELet", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" - ], - 0, - "7de1a4a2ac074ac7dc4f610dcc0bc752" - ], - [ - "Ex07c.__proj__ELet__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.ELet", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" - ], - 0, - "cbc494c37e6ab2a03eb0675540470420" - ], - [ - "Ex07c.__proj__ELet__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07c.ELet", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f9a9e35acd4076f866f320996d2212e" - ], - 0, - "4d2a8ed3c0afa25ebc80a80c96e419e5" - ], - [ - "Ex07c.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_92b24ade2624a8307d6221bab881006c_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ELet", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07c.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" - ], - 0, - "b77722946cd5fc8bbe09ddc317f71930" - ], - [ - "Ex07c.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", - "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Ex07c.is_value", "kinding_Ex07c.exp@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "dcb89485b71d6355444d7d22f6b1b0c3" - ], - [ - "Ex07c.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "assumption_Ex07c.ty__uu___haseq", - "binder_x_92b24ade2624a8307d6221bab881006c_1", "bool_inversion", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ELet", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "fuel_guarded_inversion_Ex07c.exp", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.TBool@tok" - ], - 0, - "a64fd620d987c602c66e31fe4ab6c4f4" - ], - [ - "Ex07c.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.step.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.step.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EFalse", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", - "constructor_distinct_Ex07c.ETrue", - "constructor_distinct_Ex07c.EVar", - "constructor_distinct_Ex07c.TArrow", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ELet", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.EFalse@tok", "equality_tok_Ex07c.ETrue@tok", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "equation_Ex07c.is_value", - "equation_with_fuel_Ex07c.step.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.ELet__0", - "projection_inverse_Ex07c.ELet__1", - "projection_inverse_Ex07c.ELet__2", - "projection_inverse_Ex07c.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "typing_Ex07c.empty", "typing_Ex07c.is_value", "typing_Ex07c.step", - "typing_Ex07c.typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.EFalse@tok", "typing_tok_Ex07c.ETrue@tok", - "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "493776065394ad587ac0fd006c303770" - ], - [ - "Ex07c.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ELet", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07c.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet" - ], - 0, - "f0abfd65e977f6e6dcab4bacd52dde05" - ], - [ - "Ex07c.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_interpretation_Tm_arrow_f58c7a27db31159f0d60e72083ef7d70", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EFalse", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", - "constructor_distinct_Ex07c.ETrue", - "constructor_distinct_Ex07c.EVar", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EFalse", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ELet", - "disc_equation_Ex07c.ETrue", "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.EFalse@tok", "equality_tok_Ex07c.ETrue@tok", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.env", - "equation_Ex07c.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07c.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.ELet__0", - "projection_inverse_Ex07c.ELet__1", - "projection_inverse_Ex07c.ELet__2", - "projection_inverse_Ex07c.EVar__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_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", - "typing_Ex07c.typing", "typing_Ex07c.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.EFalse@tok", "typing_tok_Ex07c.ETrue@tok", - "typing_tok_Ex07c.TBool@tok" - ], - 0, - "039ea23a2b49871151720fe208aa4fb5" - ], - [ - "Ex07c.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07c.TBool@tok" - ], - 0, - "e68540cc12059e36424f985ecc12c405" - ], - [ - "Ex07c.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07c.ty@tok" - ], - 0, - "8dd602b4b7577fca0f0c0498e70421bc" - ], - [ - "Ex07c.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07c.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07c.ty@tok" - ], - 0, - "4b3c4ab008e40e3928c2150ca52982c0" - ], - [ - "Ex07c.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_1", - "binder_x_0680fefb16bec5f02a22cfdc793357e3_2", - "binder_x_92b24ade2624a8307d6221bab881006c_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Ex07c.EVar", "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EIf", "disc_equation_Ex07c.ELet", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.equalE", - "equation_Ex07c.extend", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.ELet__0", - "projection_inverse_Ex07c.ELet__1", - "projection_inverse_Ex07c.ELet__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", - "typing_Ex07c.typing", "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "6816d62a538033e36b0c242a84f0045f" - ], - [ - "Ex07c.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07c.equal", "equation_Ex07c.equalE" ], - 0, - "200c0c88e0da7d64d59d264442359439" - ], - [ - "Ex07c.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b6f32c64566936006e4e25abfa332545" - ], - 0, - "22a835671597cdc1a6be486ad8921db1" - ], - [ - "Ex07c.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07c.subst.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07c.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0cf7a2c8e7d78cb33b91b62bfcaa23f0_3", - "binder_x_92b24ade2624a8307d6221bab881006c_1", - "binder_x_92b24ade2624a8307d6221bab881006c_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07c.EAbs", "constructor_distinct_Ex07c.EApp", - "constructor_distinct_Ex07c.EFalse", - "constructor_distinct_Ex07c.EIf", "constructor_distinct_Ex07c.ELet", - "constructor_distinct_Ex07c.ETrue", - "constructor_distinct_Ex07c.EVar", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07c.ETrue@tok", - "disc_equation_Ex07c.EAbs", "disc_equation_Ex07c.EApp", - "disc_equation_Ex07c.EFalse", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ELet", "disc_equation_Ex07c.ETrue", - "disc_equation_Ex07c.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.EFalse@tok", "equality_tok_Ex07c.ETrue@tok", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.equal", - "equation_Ex07c.equalE", "equation_Ex07c.extend", - "equation_with_fuel_Ex07c.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07c.subst.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07c.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_c569d33ab5b302f7d06fe4cf0e9c5748", - "kinding_Ex07c.ty@tok", "lemma_Ex07c.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.ELet__0", - "projection_inverse_Ex07c.ELet__1", - "projection_inverse_Ex07c.ELet__2", - "projection_inverse_Ex07c.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_47551c8723653e323d1d3b424e8c3899", - "subterm_ordering_Ex07c.EAbs", "subterm_ordering_Ex07c.EApp", - "subterm_ordering_Ex07c.EIf", "subterm_ordering_Ex07c.ELet", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.appears_free_in", "typing_Ex07c.extend", - "typing_Ex07c.subst", "typing_Ex07c.typing", - "typing_Ex07c.uu___is_ETrue", "typing_tok_Ex07c.EFalse@tok", - "typing_tok_Ex07c.ETrue@tok", "typing_tok_Ex07c.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "2349749802605c2b277ea145a78e644c" - ], - [ - "Ex07c.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c200e87f91dfd14b1fe804a7bad9297a" - ], - 0, - "843ce53ea7dccb095addb7d832be33f6" - ], - [ - "Ex07c.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c" - ], - 0, - "5d4aa8d8f66008e769a89e5e36c10e14" - ], - [ - "Ex07c.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07c.step.fuel_instrumented", - "@fuel_correspondence_Ex07c.subst.fuel_instrumented", - "@fuel_correspondence_Ex07c.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07c.step.fuel_instrumented", - "@fuel_irrelevance_Ex07c.typing.fuel_instrumented", "@query", - "Ex07c_pretyping_5c69a0eb92c7f94e44012145da40d8d2", - "Ex07c_pretyping_92b24ade2624a8307d6221bab881006c", - "binder_x_3631ad28b4f5ceb13c2d97008676cb3e_0", - "constructor_distinct_Ex07c.EApp", "constructor_distinct_Ex07c.EIf", - "constructor_distinct_Ex07c.ELet", - "constructor_distinct_Ex07c.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07c.ETrue@tok", "disc_equation_Ex07c.EAbs", - "disc_equation_Ex07c.EApp", "disc_equation_Ex07c.EIf", - "disc_equation_Ex07c.ELet", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07c.TBool@tok", "equation_Ex07c.extend", - "equation_Ex07c.is_value", - "equation_with_fuel_Ex07c.step.fuel_instrumented", - "equation_with_fuel_Ex07c.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07c.exp@tok", "kinding_Ex07c.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07c.EAbs__0", - "projection_inverse_Ex07c.EAbs__1", - "projection_inverse_Ex07c.EAbs__2", - "projection_inverse_Ex07c.EApp__0", - "projection_inverse_Ex07c.EApp__1", - "projection_inverse_Ex07c.EIf__0", "projection_inverse_Ex07c.EIf__1", - "projection_inverse_Ex07c.EIf__2", - "projection_inverse_Ex07c.ELet__0", - "projection_inverse_Ex07c.ELet__1", - "projection_inverse_Ex07c.ELet__2", - "projection_inverse_Ex07c.TArrow__0", - "projection_inverse_Ex07c.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_228b28518ddadbae1e0470b40bd6811c", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "subterm_ordering_Ex07c.EApp", "subterm_ordering_Ex07c.EIf", - "subterm_ordering_Ex07c.ELet", - "token_correspondence_Ex07c.step.fuel_instrumented", - "token_correspondence_Ex07c.typing.fuel_instrumented", - "typing_Ex07c.empty", "typing_Ex07c.extend", "typing_Ex07c.step", - "typing_Ex07c.subst", "typing_Ex07c.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07c.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "812a071dced8f084a8c1f8171ff727db" - ], - [ - "Ex07c.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96fee7177891e4e0572e5fdb15d0fe4f" - ], - 0, - "4fb360b2cbe1807d4bf9eb640947080a" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex07d.fst.hints b/doc/old/tutorial/code/solutions/Ex07d.fst.hints deleted file mode 100644 index 4b83b012f77..00000000000 --- a/doc/old/tutorial/code/solutions/Ex07d.fst.hints +++ /dev/null @@ -1,815 +0,0 @@ -[ - "00š7$ý@…ö=#ÓV¨\u0010j", - [ - [ - "Ex07d.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "bf5b349671ee4558e8f852a4290ee3c0" - ], - [ - "Ex07d.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" - ], - 0, - "b7b843c34356919e03ce4c70086ad580" - ], - [ - "Ex07d.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.TArrow", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6db7f45b0415579b56934f29db7df9c" - ], - 0, - "d21f76840e0caaa3ac8595d33d88fd61" - ], - [ - "Ex07d.exp", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_Prims.HasEq_int" - ], - 0, - "bd7333af019a9fc83ad0a6860f5974eb" - ], - [ - "Ex07d.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EVar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2b3d0ac58c9320335e38c515a0906d3" - ], - 0, - "205bfeaaf66ef2033be80202a489ca4b" - ], - [ - "Ex07d.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" - ], - 0, - "bea2fc7652ad8035a7fd813e2fdc51c5" - ], - [ - "Ex07d.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EApp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1f243c925958973094d947d5b3bc2ddb" - ], - 0, - "096cbb36ba1a50ca5c8ae331dc0541bb" - ], - [ - "Ex07d.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "e330dddb957c186d2ec414a712081dd5" - ], - [ - "Ex07d.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "0f26f2d2143d1182b4887ec15f71fa02" - ], - [ - "Ex07d.__proj__EAbs__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EAbs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_278d273e834035a7ef849d0540d3a068" - ], - 0, - "168affdf099bf25c7454f3b7902a88f5" - ], - [ - "Ex07d.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "5b393fe00b979aebdfb77fbc1392152e" - ], - [ - "Ex07d.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "c3373454c4f544786fead0cff5cfae32" - ], - [ - "Ex07d.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex07d.EIf", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_eede2ff8721457947853b330769cb912" - ], - 0, - "9e98f9c184707a310dc1b09233bb2c6a" - ], - [ - "Ex07d.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07d.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf" - ], - 0, - "b27c0a8aa3231463ecac681b4a8a7a06" - ], - [ - "Ex07d.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", "bool_inversion", - "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_Ex07d.exp@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "9528fec655d9745ba03ebe81db13a330" - ], - [ - "Ex07d.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "assumption_Ex07d.ty__uu___haseq", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", "bool_inversion", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "fuel_guarded_inversion_Ex07d.exp", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "5038e9b63399c5ed039c86461bb68ff6" - ], - [ - "Ex07d.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.step.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.step.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.EVar", - "constructor_distinct_Ex07d.TArrow", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "equation_Ex07d.is_value", - "equation_with_fuel_Ex07d.step.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "typing_Ex07d.empty", - "typing_Ex07d.is_value", "typing_Ex07d.step", "typing_Ex07d.typing", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1dba8e5f690e48b0addb1a2dfa98ea23" - ], - [ - "Ex07d.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Ex07d.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf" - ], - 0, - "264cabec2e8cd81ebf827ac69c3d3bfe" - ], - [ - "Ex07d.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_interpretation_Tm_arrow_c8cfb72b4937eef5e13ada712bc5763f", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_691ba12216b64971a65fb6a280b52a15_2", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EFalse", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", - "constructor_distinct_Ex07d.EVar", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.EFalse@tok", "equality_tok_Ex07d.ETrue@tok", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.env", - "equation_Ex07d.extend", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Ex07d.extend", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__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_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", "typing_Ex07d.appears_free_in", - "typing_Ex07d.extend", "typing_Ex07d.typing", - "typing_Ex07d.uu___is_EVar", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_tok_Ex07d.EFalse@tok", "typing_tok_Ex07d.ETrue@tok", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "959a697b898904ad62f486e1270a7f4a" - ], - [ - "Ex07d.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "projection_inverse_BoxBool_proj_0", "typing_tok_Ex07d.TBool@tok" - ], - 0, - "9af35d4b39945155fa3aff8239f09e73" - ], - [ - "Ex07d.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "0042d8473903355f0232317c071ba5fa" - ], - [ - "Ex07d.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "aa3c458e67d1ff9c4397f7f3e408f742" - ], - [ - "Ex07d.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_0", - "binder_x_691ba12216b64971a65fb6a280b52a15_1", - "binder_x_691ba12216b64971a65fb6a280b52a15_2", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EIf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "data_elim_Ex07d.EVar", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.equalE", - "equation_Ex07d.extend", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "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_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.extend", "typing_Ex07d.typing", - "typing_tok_Ex07d.TBool@tok", "unit_typing" - ], - 0, - "4d3cf2a0f17e5e727ac445eabccfeace" - ], - [ - "Ex07d.typing_extensional", - 1, - 2, - 1, - [ "@query", "equation_Ex07d.equal", "equation_Ex07d.equalE" ], - 0, - "f5971de91b77c2cde7989be9024e7e98" - ], - [ - "Ex07d.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2f5eeacba7bdd1445a7949ffdc743f8a" - ], - 0, - "07e9a8c55cc1a9a2b7f9f188b891d90f" - ], - [ - "Ex07d.substitution_preserves_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_correspondence_Ex07d.subst.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_Ex07d.subst.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_1", - "binder_x_14e1a8d169fe59cf4729c9ac1194ea49_2", - "binder_x_8aff50031332d1df444f3c84e31e944d_3", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Ex07d.EAbs", "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EFalse", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", - "constructor_distinct_Ex07d.EVar", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_typing_intro_Ex07d.ETrue@tok", - "disc_equation_Ex07d.EAbs", "disc_equation_Ex07d.EApp", - "disc_equation_Ex07d.EFalse", "disc_equation_Ex07d.EIf", - "disc_equation_Ex07d.ETrue", "disc_equation_Ex07d.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.EFalse@tok", "equality_tok_Ex07d.ETrue@tok", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.equal", - "equation_Ex07d.equalE", "equation_Ex07d.extend", - "equation_with_fuel_Ex07d.appears_free_in.fuel_instrumented", - "equation_with_fuel_Ex07d.subst.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6bfaff3dfae5befb355ba6d642bf727e", - "kinding_Ex07d.ty@tok", "lemma_Ex07d.typable_empty_closed", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_5b2e62a66f93d5210bb099bee28161ee", - "subterm_ordering_Ex07d.EAbs", "subterm_ordering_Ex07d.EApp", - "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.appears_free_in", "typing_Ex07d.extend", - "typing_Ex07d.subst", "typing_Ex07d.typing", - "typing_Ex07d.uu___is_ETrue", "typing_tok_Ex07d.EFalse@tok", - "typing_tok_Ex07d.ETrue@tok", "typing_tok_Ex07d.TBool@tok", - "unit_inversion", "unit_typing" - ], - 0, - "ad54049f860d7908588f3b891a7a9ec0" - ], - [ - "Ex07d.substitution_preserves_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71bdaff8060615aef69ab2f778c0c61a" - ], - 0, - "d65dc97fd6887db415c148af4c72de8b" - ], - [ - "Ex07d.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36" - ], - 0, - "d8d4680f226d99c279375e1d51608fa0" - ], - [ - "Ex07d.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.step.fuel_instrumented", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.step.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "Ex07d_pretyping_14e1a8d169fe59cf4729c9ac1194ea49", - "binder_x_07f094b8f5430e252f96b2871ab55ff3_0", - "constructor_distinct_Ex07d.EApp", "constructor_distinct_Ex07d.EIf", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Ex07d.ETrue@tok", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EIf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.extend", - "equation_Ex07d.is_value", - "equation_with_fuel_Ex07d.step.fuel_instrumented", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07d.exp@tok", "kinding_Ex07d.ty@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.TArrow__0", - "projection_inverse_Ex07d.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7999e72d4c9bb66719430a20268eaf36", - "subterm_ordering_Ex07d.EApp", "subterm_ordering_Ex07d.EIf", - "token_correspondence_Ex07d.step.fuel_instrumented", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.step", - "typing_Ex07d.subst", "typing_Ex07d.typing", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_tok_Ex07d.TBool@tok", "unit_inversion", "unit_typing" - ], - 0, - "1ee53257a31f168fc4fb2837ee0ad021" - ], - [ - "Ex07d.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_345704bab041a41196f35960e8a8c066" - ], - 0, - "688b1422db0873af2ad7416aad49ad11" - ], - [ - "Ex07d.typed_step", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "304861e0466332bc6673f3a13f4dc456" - ], - [ - "Ex07d.typed_step", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0b0a9df16c4094edad35f36e17a3456e", - "refinement_interpretation_Tm_refine_fbadd752194f69bdc54b03b7f3c00a37" - ], - 0, - "47ac74f51935e823b1ef4f6548be380d" - ], - [ - "Ex07d.eval", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "85c8f7039d90afd1c1196a4f138343bb" - ], - [ - "Ex07d.eval", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.is_value", - "kinding_Ex07d.ty@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2b688ba296190645343e04294832a670", - "refinement_interpretation_Tm_refine_8d8eb9d32327e9d3bbd57649257325bd", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "a619b52d80e04f7151cbb2ffd35ab4f5" - ], - [ - "Ex07d.eval'", - 1, - 2, - 1, - [ - "@query", "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "kinding_Ex07d.ty@tok" - ], - 0, - "7bf125b2ff178afdfd99b19068567bf5" - ], - [ - "Ex07d.eval'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex07d.typing.fuel_instrumented", - "@fuel_irrelevance_Ex07d.typing.fuel_instrumented", "@query", - "Ex07d_pretyping_0cffc68c411d6405f301f9f7bc8e1f6c", - "assumption_Ex07d.ty__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "bool_inversion", "constructor_distinct_Ex07d.EAbs", - "constructor_distinct_Ex07d.EApp", - "constructor_distinct_Ex07d.EFalse", - "constructor_distinct_Ex07d.EIf", "constructor_distinct_Ex07d.ETrue", - "constructor_distinct_Ex07d.TArrow", - "constructor_distinct_Ex07d.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", "disc_equation_Ex07d.EAbs", - "disc_equation_Ex07d.EApp", "disc_equation_Ex07d.EFalse", - "disc_equation_Ex07d.EIf", "disc_equation_Ex07d.ETrue", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Ex07d.EFalse@tok", "equality_tok_Ex07d.ETrue@tok", - "equality_tok_Ex07d.TBool@tok", "equation_Ex07d.empty", - "equation_Ex07d.extend", "equation_Ex07d.is_value", - "equation_with_fuel_Ex07d.typing.fuel_instrumented", - "fuel_guarded_inversion_Ex07d.exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Ex07d.ty@tok", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex07d.EAbs__0", - "projection_inverse_Ex07d.EAbs__1", - "projection_inverse_Ex07d.EAbs__2", - "projection_inverse_Ex07d.EApp__0", - "projection_inverse_Ex07d.EApp__1", - "projection_inverse_Ex07d.EIf__0", "projection_inverse_Ex07d.EIf__1", - "projection_inverse_Ex07d.EIf__2", - "projection_inverse_Ex07d.TArrow__0", - "projection_inverse_Ex07d.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2b688ba296190645343e04294832a670", - "refinement_interpretation_Tm_refine_bd925bc3ea1225d5aef6c3632f7be773", - "token_correspondence_Ex07d.typing.fuel_instrumented", - "typing_Ex07d.empty", "typing_Ex07d.extend", "typing_Ex07d.is_value", - "typing_tok_Ex07d.EFalse@tok", "typing_tok_Ex07d.ETrue@tok", - "typing_tok_Ex07d.TBool@tok" - ], - 0, - "3af854ad45dd2aa416db266913cf7082" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex10a.fst.hints b/doc/old/tutorial/code/solutions/Ex10a.fst.hints deleted file mode 100644 index 7aac0618c7b..00000000000 --- a/doc/old/tutorial/code/solutions/Ex10a.fst.hints +++ /dev/null @@ -1,152 +0,0 @@ -[ - "‡øò\u0002/Y’11\\\u0006\u0002WC¡", - [ - [ - "Ex10a.__proj__Readable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex10a.Readable", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_43c663371132c0c847de0562111b3034" - ], - 0, - "2eb2d25e99ade004efdce4d0563b9f68" - ], - [ - "Ex10a.__proj__Writable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex10a.Writable", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b7c189cb365c663bbaaab1bb8e2e94da" - ], - 0, - "9935e72334b910e6261cee3995e8ed3d" - ], - [ - "Ex10a.canRead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Prims.HasEq_string", - "disc_equation_Ex10a.Readable", "disc_equation_Ex10a.Writable", - "fuel_guarded_inversion_Ex10a.entry" - ], - 0, - "5921227c740b6ad73886684910534c3f" - ], - [ - "Ex10a.revoke", - 1, - 2, - 1, - [ "@query", "assumption_Ex10a.entry__uu___haseq" ], - 0, - "158305c149cf26b8db3562e3fd087804" - ], - [ - "Ex10a.grant", - 1, - 2, - 1, - [ "@query" ], - 0, - "23a74a04570ea93de4157c42190b5ebb" - ], - [ - "Ex10a.revoke", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", - "Ex10a_pretyping_9ab526030749815b532b60f20894130b", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "assumption_Ex10a.entry__uu___haseq", "equation_Ex10a.db", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "function_token_typing_Ex10a.db", - "interpretation_Tm_abs_d0f4afee86bb3628297741a79d6c837f", - "kinding_Ex10a.entry@tok", - "lemma_FStar.List.Tot.Base.mem_filter_forall", - "lemma_FStar.List.Tot.Properties.mem_memP", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10a.acls", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "86e63621142dd354d55025d795cb874e" - ], - [ - "Ex10a.safe_delete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_Ex10a.canWrite_t", "equation_Ex10a.file", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.ST.modifies_none", "equation_Prims.eqtype", - "function_token_typing_Prims.unit", - "refinement_interpretation_Tm_refine_3f348b77994310044a31a5b79ff495a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_inversion", "unit_inversion", "unit_typing" - ], - 0, - "d4ba1cf688aa8d37f2a06b7a76f727e1" - ], - [ - "Ex10a.test_acls", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.tryFind.fuel_instrumented", - "@query", - "Ex10a_interpretation_Tm_arrow_874ea41fef5db3d0b79dc4f1f9eea4a2", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "constructor_distinct_Ex10a.Readable", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Ex10a.canRead", "equation_Ex10a.canRead_t", - "equation_Ex10a.db", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_with_fuel_FStar.List.Tot.Base.tryFind.fuel_instrumented", - "function_token_typing_Ex10a.db", - "interpretation_Tm_abs_93700a44318bb4193871b2dacb8d41d6", - "kinding_Ex10a.entry@tok", "primitive_Prims.op_Equality", - "projection_inverse_Ex10a.Readable__0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10a.acls", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", - "typing_Tm_abs_93700a44318bb4193871b2dacb8d41d6" - ], - 0, - "fd5fefb49facd4702a1d3a1d8bef57d5" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex10b.fst.hints b/doc/old/tutorial/code/solutions/Ex10b.fst.hints deleted file mode 100644 index baaf212846b..00000000000 --- a/doc/old/tutorial/code/solutions/Ex10b.fst.hints +++ /dev/null @@ -1,388 +0,0 @@ -[ - "\u0000›¼tn‹gÙ;ýví~ØK˜", - [ - [ - "Ex10b.point", - 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, - "2d520edd2e2a8461f24d289c487b2a6d" - ], - [ - "Ex10b.__proj__Point__item__y", - 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, - "079837f53611f90867f1141649174514" - ], - [ - "Ex10b.__proj__Point__item__y", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "proj_equation_Ex10b.Point_x", "projection_inverse_Ex10b.Point_x", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "00fcaf394300926422608372bc749844" - ], - [ - "Ex10b.new_point", - 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, - "78ae3b51e7b0a78dfceccdb436df9e3e" - ], - [ - "Ex10b.new_point", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "projection_inverse_Ex10b.Point_x", - "projection_inverse_Ex10b.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty" - ], - 0, - "eaf462650bb8250e15e7fa99e7fdda74" - ], - [ - "Ex10b.shift_x", - 1, - 2, - 1, - [ "@query" ], - 0, - "93650a9a189a781758577be5e3b4768e" - ], - [ - "Ex10b.shift_x_p1", - 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, - "b8b24edb8d33074c47881ddf8caa45e7" - ], - [ - "Ex10b.shift_x_p1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Equality", "proj_equation_Ex10b.Point_x", - "proj_equation_Ex10b.Point_y", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only" - ], - 0, - "dc2330e3dfc39991929fd6af64ac3cf4" - ], - [ - "Ex10b.shift_x_p1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Equality", "proj_equation_Ex10b.Point_x", - "proj_equation_Ex10b.Point_y", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only" - ], - 0, - "ba806e1e8ebec29656938be3d0e27efc" - ], - [ - "Ex10b.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder" - ], - 0, - "10e8ca1bae1846aab5d93ec708fd39b7" - ], - [ - "Ex10b.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "proj_equation_Ex10b.Point_x", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex10b.__proj__Point__item__x", - "typing_FStar.Heap.trivial_preorder" - ], - 0, - "43d68bc442b33e934d095de4efbc986c" - ], - [ - "Ex10b.shift_p1", - 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, - "85ce584a2be678149097dec30bfb998a" - ], - [ - "Ex10b.shift_p1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "bool_inversion", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.op_Hat_Plus_Hat", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Ex10b.Point_x", - "proj_equation_Ex10b.Point_y", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.op_Hat_Plus_Hat", "typing_FStar.Set.mem" - ], - 0, - "64737d8407369b83267b87eaead41cea" - ], - [ - "Ex10b.shift_p1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "bool_inversion", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.op_Hat_Plus_Hat", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_79562b675fd9db4f60c5618ce31e8df2", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.op_Hat_Plus_Hat", "typing_FStar.Set.mem" - ], - 0, - "37be5439e95f273bba307f4d76bc9262" - ], - [ - "Ex10b.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex10b.point", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "proj_equation_Ex10b.Point_x", "proj_equation_Ex10b.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_97803a05a54fb6f35f71ef56766ce50b", - "refinement_interpretation_Tm_refine_d7c8c5e4082aac3ada69d9113eab0fad", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex10b.__proj__Point__item__x", - "typing_Ex10b.__proj__Point__item__y", - "typing_FStar.Heap.trivial_preorder" - ], - 0, - "2b9c5b8bbb4e6d905407585897a20d8d" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex11a.fst.hints b/doc/old/tutorial/code/solutions/Ex11a.fst.hints deleted file mode 100644 index 98384a7ff7a..00000000000 --- a/doc/old/tutorial/code/solutions/Ex11a.fst.hints +++ /dev/null @@ -1,1095 +0,0 @@ -[ - "K˜„\u0014ig’CÆI£Ë\u0012…ÈÝ", - [ - [ - "Ex11a.point", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ff6938ce6545fade0812eb82e429a13c" - ], - [ - "Ex11a.__proj__Point__item__z", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "adc390d486c46afc97b855e09d6e617c" - ], - [ - "Ex11a.__proj__Point__item__z", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "proj_equation_Ex11a.Point_r", "proj_equation_Ex11a.Point_x", - "proj_equation_Ex11a.Point_y", "projection_inverse_Ex11a.Point_r", - "projection_inverse_Ex11a.Point_x", - "projection_inverse_Ex11a.Point_y", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "467140edd2194ed023a9467a0ca8f070" - ], - [ - "Ex11a.arm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ffbcc4a0dfe93485e9e7e257115cdc00" - ], - [ - "Ex11a.__proj__Arm__item__azim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c89177e47bba6d3a8068fcc196f1b6e6" - ], - [ - "Ex11a.__proj__Arm__item__azim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "proj_equation_Ex11a.Arm_polar", "proj_equation_Ex11a.Arm_r", - "projection_inverse_Ex11a.Arm_polar", - "projection_inverse_Ex11a.Arm_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "91103bf50ba0ba65d250c1aa4598b216" - ], - [ - "Ex11a.new_point", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Point_r", - "projection_inverse_Ex11a.Point_x", - "projection_inverse_Ex11a.Point_y", - "projection_inverse_Ex11a.Point_z", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "c2629d6a0a133c0d52236753c73370b7" - ], - [ - "Ex11a.new_arm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Arm_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "c659765987d88b2e3e2758cc485b713a" - ], - [ - "Ex11a.new_robot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Ex11a.flying", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Bot_left", - "projection_inverse_Ex11a.Bot_pos", "projection_inverse_Ex11a.Bot_r", - "projection_inverse_Ex11a.Bot_right", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "19acaeb6c958a0644376d144ef97f390" - ], - [ - "Ex11a.walk_robot_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_x", "proj_equation_Ex11a.Point_y", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_20d814f05cc324f6145ec3b0c59b2d6b", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_5c8273a8dd263b38c026e8c7b25da15f", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_ec53d5de9d89b00eaf69f23d84b30a0f", - "true_interp", "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "d8a05cc8877adbfecfbdc69adf7373ef" - ], - [ - "Ex11a.fly", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.contains", - "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_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_azim", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_18f572f5fbedce8a29f9016d91463885", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3e9d16c1d0a8cacb41c88ccf9f804bd0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_5c8273a8dd263b38c026e8c7b25da15f", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_ae80b9018d832bf49e72145a27ff6243", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_e43ea857e0979e99d05fadcc98f22316", - "refinement_interpretation_Tm_refine_f9a183ea6827f23b92aa9e9536ab91b8", - "true_interp", "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.only", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.mk_mem", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "a5c3b17b14d16530931ffd92878d8381" - ], - [ - "Ex11a.fly_both", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.op_Hat_Plus_Hat", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "refinement_interpretation_Tm_refine_ecfe710eaddaa768c46a7d024350dcbc", - "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", - "typing_Ex11a.__proj__Arm__item__polar", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.union" - ], - 0, - "a9238aab212a9c3dfe930db82b276dd4" - ], - [ - "Ex11a.fly_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_Ex11a.flying", "equation_Ex11a.only", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.bot", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1a98301553e516ce88f141a3c116a5ce", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_ca83e1d3d5482201863d9f4d4f3b4a28", - "refinement_interpretation_Tm_refine_dc53989c1bb1f151f9380d9cad5188aa", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_Ex11a.only", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" - ], - 0, - "6faecee03d5ce3c237aae1fb8bf423ef" - ], - [ - "Ex11a.__proj__Cons__item__rs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex11a.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "8cb7c20b756bdf50a4673630da35c50c" - ], - [ - "Ex11a.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Ex11a.Cons", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "10aaad09bfae5dd8c85203b8c67082fd" - ], - [ - "Ex11a.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Ex11a.Cons", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "92d3a5771735c5386cc7c9e0d06222be" - ], - [ - "Ex11a.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4f61251c0ef4abe5deff6b49815c3dbf_2", - "disc_equation_Ex11a.Cons", "disc_equation_Ex11a.Nil", - "equality_tok_Prims.LexTop@tok", "fuel_guarded_inversion_Ex11a.bots", - "subterm_ordering_Ex11a.Cons" - ], - 0, - "fbe88ae261cc3912a19cffa10073c3ec" - ], - [ - "Ex11a.lemma_mem_rid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex11a.mem.fuel_instrumented", - "@fuel_irrelevance_Ex11a.mem.fuel_instrumented", "@query", - "Ex11a_pretyping_41426a8db77017461f501d8dbb1627a9", - "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", - "binder_x_41426a8db77017461f501d8dbb1627a9_2", - "binder_x_4f61251c0ef4abe5deff6b49815c3dbf_1", - "binder_x_600a78c6f9753595e2678d33a0ba4727_0", - "constructor_distinct_Ex11a.Cons", "constructor_distinct_Ex11a.Nil", - "data_elim_Ex11a.Bot", "data_elim_Ex11a.Cons", - "data_typing_intro_Ex11a.Nil@tok", "disc_equation_Ex11a.Cons", - "disc_equation_Ex11a.Nil", "eq2-interp", - "equality_tok_Ex11a.Nil@tok", "equality_tok_Prims.LexTop@tok", - "equation_Ex11a.op_Plus_Plus_Hat", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_with_fuel_Ex11a.mem.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.bots", "l_or-interp", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Ex11a.Bot_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Cons_hd", - "projection_inverse_Ex11a.Cons_rs", - "projection_inverse_Ex11a.Cons_tl", - "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", - "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", - "subterm_ordering_Ex11a.Cons", "typing_Ex11a.__proj__Bot__item__r", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_tok_Ex11a.Nil@tok" - ], - 0, - "54da6c8c058b49ba3fdc86c1a6f71829" - ], - [ - "Ex11a.lemma_bots_tl_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex11a.Cons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191" - ], - 0, - "e79c676777838935baae04a0aa2d93f2" - ], - [ - "Ex11a.lemma_bots_tl_disjoint", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex11a.mem.fuel_instrumented", - "@fuel_irrelevance_Ex11a.mem.fuel_instrumented", "@query", - "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", - "data_elim_Ex11a.Cons", "disc_equation_Ex11a.Cons", - "equation_Ex11a.distinct", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "fuel_guarded_inversion_Ex11a.bot", "lemma_Ex11a.lemma_mem_rid", - "proj_equation_Ex11a.Bot_r", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", - "refinement_interpretation_Tm_refine_6e3b5e4a302a91e61c641496e8f8a191", - "typing_Ex11a.__proj__Bot__item__r" - ], - 0, - "4cd75a87b3f4cb8caef63a6821646d2e" - ], - [ - "Ex11a.lemma_frame_robot_inv_and_flying", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.bot", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Set.mem_complement", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_fc5c0e922bb7122f645b56cbc86259cf", - "typing_Ex11a.__proj__Arm__item__polar", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" - ], - 0, - "cfbfc6db7198919b9170fb90d4f14894" - ], - [ - "Ex11a.fly_robot_army", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Ex11a.mem.fuel_instrumented", - "@fuel_irrelevance_Ex11a.mem.fuel_instrumented", "@query", - "Ex11a_pretyping_41426a8db77017461f501d8dbb1627a9", - "Ex11a_pretyping_cfb04784214c7b625dc274210af5ad8b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "constructor_distinct_Ex11a.Cons", - "constructor_distinct_Ex11a.Nil", "data_elim_Ex11a.Arm", - "data_elim_Ex11a.Bot", "data_elim_Ex11a.Point", - "disc_equation_Ex11a.Cons", "disc_equation_Ex11a.Nil", "eq2-interp", - "equality_tok_Ex11a.Nil@tok", "equation_Ex11a.arms_up", - "equation_Ex11a.distinct", "equation_Ex11a.flying", - "equation_Ex11a.only", "equation_Ex11a.op_Plus_Plus_Hat", - "equation_Ex11a.robot_inv", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", - "equation_with_fuel_Ex11a.mem.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.bots", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "l_or-interp", "lemma_Ex11a.lemma_mem_rid", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Ex11a.Cons_hd", - "projection_inverse_Ex11a.Cons_rs", - "projection_inverse_Ex11a.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0857fd903b8639938512a0816ddabc7b", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_206fb67ac8a0944a9ab5261a6c1a4470", - "refinement_interpretation_Tm_refine_4e559ecf843e1d64512f8a11b5a95a8d", - "refinement_interpretation_Tm_refine_4efe13829b491a3f7fb86203b96ea2c7", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_76f14f02ea5d089cbd8b678999095f55", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_c873217772add80d3b8f645fe3e573cb", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", - "typing_Ex11a.__proj__Point__item__z", "typing_Ex11a.flying", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_tok_Ex11a.Nil@tok", - "unit_inversion", "unit_typing" - ], - 0, - "4f90d0c7202d5754c12d944d0d678b7c" - ], - [ - "Ex11a.main", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "data_elim_Ex11a.Arm", "data_elim_Ex11a.Point", - "equation_Ex11a.arms_up", "equation_Ex11a.flying", - "equation_Ex11a.op_Hat_Plus_Hat", "equation_Ex11a.robot_inv", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "fuel_guarded_inversion_Ex11a.arm", - "fuel_guarded_inversion_Ex11a.bot", - "fuel_guarded_inversion_Ex11a.point", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Ex11a.Arm_polar", - "proj_equation_Ex11a.Arm_r", "proj_equation_Ex11a.Bot_left", - "proj_equation_Ex11a.Bot_pos", "proj_equation_Ex11a.Bot_r", - "proj_equation_Ex11a.Bot_right", "proj_equation_Ex11a.Point_r", - "proj_equation_Ex11a.Point_z", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09690ecf7a451765c265623076c630e2", - "refinement_interpretation_Tm_refine_1afd672e991a447d12f6315bcf07f070", - "refinement_interpretation_Tm_refine_1b754c0347e4c714eb5466a0a6e06e65", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5ad1bb907117dd4422fbaf80e2d7029b", - "refinement_interpretation_Tm_refine_8a37528ec428f2a70c636c2139687843", - "refinement_interpretation_Tm_refine_b67f43d5a0ac1eb3da52151f5a2dc6a5", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_Ex11a.__proj__Arm__item__r", - "typing_Ex11a.__proj__Bot__item__left", - "typing_Ex11a.__proj__Bot__item__pos", - "typing_Ex11a.__proj__Bot__item__r", - "typing_Ex11a.__proj__Bot__item__right", - "typing_Ex11a.__proj__Point__item__r", "typing_Ex11a.flying", - "typing_Ex11a.op_Hat_Plus_Hat", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "8cfe12666528afdf6f0aa4b21f94e07f" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12.MAC.fst.hints b/doc/old/tutorial/code/solutions/Ex12.MAC.fst.hints deleted file mode 100644 index dcc40008dfa..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12.MAC.fst.hints +++ /dev/null @@ -1,605 +0,0 @@ -[ - "\u001f¹ªðÙmº„ç­C\u0012o\u001a¼E", - [ - [ - "Ex12.MAC.key", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Ex12.SHA1.key", "equation_Ex12.SHA1.keysize", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" - ], - 0, - "80a1a88973399340b4f13110cd77e1e7" - ], - [ - "Ex12.MAC.unique_registry_order", - 1, - 2, - 1, - [ - "@query", "equation_Ex12.MAC.unique_registry_order_", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "token_correspondence_Ex12.MAC.unique_registry_order_" - ], - 0, - "a4d5983a79a4f3bdab0729afaeecbafa" - ], - [ - "Ex12.MAC.unicity", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.unique_registry_order", - "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", - "token_correspondence_Ex12.MAC.unique_registry_order_" - ], - 0, - "29022e3a3db1e318faaa96c14686dfcf" - ], - [ - "Ex12.MAC.key_log", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "constructor_distinct_Prims.Nil", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "equation_FStar.MRef.stable", "equation_FStar.ST.mref", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Ex12.MAC.key_entry", - "function_token_typing_Ex12.SHA1.key", - "function_token_typing_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", - "kinding_Prims.list@tok", - "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_Ex12.MAC.unicity", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12.MAC.key", - "typing_Ex12.MAC.unicity", "typing_Ex12.MAC.unique_registry_order", - "typing_FStar.List.Tot.Base.map", "typing_FStar.Monotonic.Heap.sel", - "unit_typing" - ], - 0, - "7a828a94da70d3d8a0db7a1ebeb55585" - ], - [ - "Ex12.MAC.associated_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.unique_registry_order", - "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_FStar.Preorder.stable", - "function_token_typing_Ex12.SHA1.key", - "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.unique_registry_order_" - ], - 0, - "ea1174ce7a7b993dea8c02cf95fbca6c" - ], - [ - "Ex12.MAC.pkey", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.MAC.unique_registry_order", - "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.text", "equation_FStar.MRef.stable", - "equation_FStar.Preorder.stable", "equation_Platform.Bytes.bytes", - "function_token_typing_Ex12.SHA1.key", - "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.unique_registry_order_", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "be0f4ea6a89194d76d329f5da3d939be" - ], - [ - "Ex12.MAC.key_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.unique_registry_order", - "equation_FStar.MRef.stable", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", - "typing_Ex12.MAC.associated_to" - ], - 0, - "afbe4195c709da141bfc1a3a0a6d33a2" - ], - [ - "Ex12.MAC.spred_exists_stable'", - 1, - 2, - 1, - [ - "@query", "equation_Ex12.MAC.spred_exists_", - "equation_FStar.Preorder.stable", "l_quant_interp__9291" - ], - 0, - "1cd6edf6e6cab9118ae58285eb73febc" - ], - [ - "Ex12.MAC.spred_exists_stable", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Preorder.stable", - "token_correspondence_Ex12.MAC.spred_exists_" - ], - 0, - "3fff3e7df13fb7700789a98403fb2121" - ], - [ - "Ex12.MAC.spred_exists", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7376d56cf6d6772ad32cf5b5c0891600" - ], - 0, - "95a086d2c480aeee8ace66baea4b240b" - ], - [ - "Ex12.MAC.spred_and", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.spred_and_", - "equation_FStar.MRef.spred", "equation_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "token_correspondence_Ex12.MAC.spred_and_" - ], - 0, - "e9761fdbd5f06b5234f66950a8f87dec" - ], - [ - "Ex12.MAC.token_intro_and", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.spred_and", - "equation_Ex12.MAC.spred_and_", "equation_FStar.MRef.spred", - "equation_FStar.MRef.stable", - "function_token_typing_Ex12.MAC.spred_and", - "function_token_typing_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_c13dabcf4f9c11c9b065848cf207719b", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "token_correspondence_Ex12.MAC.spred_and_", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable" - ], - 0, - "a75e0df8cf9697dccd442510310c04af" - ], - [ - "Ex12.MAC.mem_assoc_unique", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_6", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "unit_inversion", - "unit_typing" - ], - 0, - "a2909f6efcd4f97c09b87f9657533dd2" - ], - [ - "Ex12.MAC.key_cipher_text_spred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_cipher_text", - "equation_Ex12.MAC.unique_registry_order", - "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_FStar.Preorder.stable", - "function_token_typing_Ex12.SHA1.key", - "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "token_correspondence_Ex12.MAC.associated_to", - "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.key_cipher_text", - "token_correspondence_Ex12.MAC.unique_registry_order_" - ], - 0, - "624f5fe541d7617c0af9231b80dd8646" - ], - [ - "Ex12.MAC.key_cipher_text_spred_unfold", - 1, - 2, - 1, - [ - "@query", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_cipher_text", - "equation_Ex12.MAC.key_cipher_text_spred", - "equation_Ex12.MAC.spred_exists", "equation_Ex12.MAC.spred_exists_", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.key", - "l_quant_interp__9291", - "token_correspondence_Ex12.MAC.key_cipher_text", - "token_correspondence_Ex12.MAC.key_cipher_text_spred", - "token_correspondence_Ex12.MAC.spred_exists_" - ], - 0, - "f12f8c79be77ee4fa95ad12802fe0034" - ], - [ - "Ex12.MAC.key_prop_entails_key_cipher_text_token", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Ex12.MAC.key_cipher_text", - "equation_Ex12.MAC.key_cipher_text_spred", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_prop", - "equation_Ex12.MAC.spred_exists", "equation_Ex12.MAC.spred_exists_", - "equation_Ex12.MAC.unique_registry_order", - "equation_FStar.MRef.stable", - "function_token_typing_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "token_correspondence_Ex12.MAC.key_cipher_text", - "token_correspondence_Ex12.MAC.key_cipher_text_spred", - "token_correspondence_Ex12.MAC.spred_exists_", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", - "typing_Ex12.MAC.associated_to" - ], - 0, - "a61a835fb3c3acbad80fbee377f1fb43" - ], - [ - "Ex12.MAC.key_prop_unicity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "b2t_def", "bool_inversion", "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.associated_to_", - "equation_Ex12.MAC.key_cipher_text", - "equation_Ex12.MAC.key_cipher_text_spred", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.spred_and", - "equation_Ex12.MAC.spred_and_", "equation_Ex12.MAC.spred_exists", - "equation_Ex12.MAC.spred_exists_", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", - "function_token_typing_Ex12.MAC.key_cipher_text_spred", - "interpretation_Tm_abs_fe2205bf7cbee1eb8804fdcdacdc81e5", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "token_correspondence_Ex12.MAC.associated_to", - "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.key_cipher_text", - "token_correspondence_Ex12.MAC.spred_and", - "token_correspondence_Ex12.MAC.spred_and_", - "token_correspondence_Ex12.MAC.spred_exists_", - "typing_Ex12.MAC.associated_to", "typing_Ex12.MAC.unicity", - "unit_typing" - ], - 0, - "1b51fe41369458ca9239cf28cbab41f4" - ], - [ - "Ex12.MAC.key_prop_unicity'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "typing_Ex12.MAC.associated_to", "typing_Ex12.MAC.unicity", - "unit_typing" - ], - 0, - "2f5ccbfff549992f2d5df0788a44757f" - ], - [ - "Ex12.MAC.to_key_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Platform.Bytes.bytes", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "f06b52765f6ce5903fc132edf51008d3" - ], - [ - "Ex12.MAC.from_key_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "bool_inversion", "equation_Ex12.MAC.key_entry", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.MAC.unicity", - "equation_Ex12.MAC.unique_registry_order", "equation_Ex12.SHA1.text", - "equation_FStar.MRef.stable", "equation_FStar.Preorder.stable", - "equation_Platform.Bytes.bytes", - "function_token_typing_Ex12.MAC.pred_to_dec_ghost", - "function_token_typing_FStar.Preorder.stable", - "interpretation_Tm_abs_9cdb197bd891d1cafd74ae6d6d6f503d", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "refinement_interpretation_Tm_refine_025011bacb306ba21335c40b7fca157f", - "refinement_interpretation_Tm_refine_26c5b76116db78552cde5aa095d5f41f", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_541aeba5c247374749f005732c0357c4", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_c2f8a8dbcef8620e2c92c294f669f1cb", - "token_correspondence_FStar.MRef.stable", - "typing_Ex12.MAC.associated_to", "typing_Ex12.MAC.key_log", - "typing_Ex12.MAC.unicity", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", "unit_typing" - ], - 0, - "120c3cba963c3d8f5e8bc82841703afd" - ], - [ - "Ex12.MAC.mac", - 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, - "ca921ef84b8b66e1d0876f891d3597b0" - ], - [ - "Ex12.MAC.verify", - 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, - "64c78137136c3dbd2e3c41c67392902c" - ], - [ - "Ex12.MAC.keygen", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equation_Ex12.MAC.associated_to", - "equation_Ex12.MAC.associated_to_", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.key_entry", "equation_Ex12.MAC.key_lref", - "equation_Ex12.MAC.pred_to_dec_ghost", - "equation_Ex12.MAC.unique_registry_order", - "equation_Ex12.MAC.unique_registry_order_", "equation_Ex12.SHA1.key", - "equation_Ex12.SHA1.keysize", "equation_Ex12.SHA1.text", - "equation_FStar.MRef.stable", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Preorder.stable", "equation_FStar.ST.mref", - "equation_Platform.Bytes.bytes", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Ex12.MAC.key_entry", - "function_token_typing_Ex12.MAC.unique_registry_order", - "function_token_typing_Ex12.SHA1.key", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Prims.list@tok", - "kinding_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "l_or-interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_c1a38d041d98aa03e071e58f525bdd78", - "refinement_interpretation_Tm_refine_c2f8a8dbcef8620e2c92c294f669f1cb", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_Ex12.MAC.associated_to", - "token_correspondence_Ex12.MAC.associated_to_", - "token_correspondence_Ex12.MAC.unique_registry_order_", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12.MAC.key", - "typing_Ex12.MAC.key_log", "typing_Ex12.MAC.unique_registry_order", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.Heap.sel", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "17511ce8ab9a2342a320b1e3ac0e7964" - ], - [ - "Ex12.MAC.mac", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.MAC.key", - "equation_Ex12.MAC.tag", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "refinement_interpretation_Tm_refine_86db403b3977311b000d8bbfda614c48", - "refinement_interpretation_Tm_refine_965593baa082e4882d784351459908f4", - "true_interp", "typing_Ex12.SHA1.hmac_sha1" - ], - 0, - "62e545d45a1b8209ecc0845a85e95fc2" - ], - [ - "Ex12.MAC.verify", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_22e53599dd7b72f55b639fff4dfaf9c9", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "assumption_Platform.Bytes.HasEq_bytes", "data_elim_Ex12.MAC.Entry", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Ex12.MAC.key", "equation_Ex12.MAC.log_t", - "equation_Ex12.SHA1.key", "equation_Ex12.SHA1.keysize", - "equation_Ex12.SHA1.text", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_Ex12.MAC.entry", - "interpretation_Tm_abs_bf091bc233a8972a6260cd878f3db16c", - "kinding_Ex12.MAC.entry@tok", "kinding_Prims.list@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_86db403b3977311b000d8bbfda614c48", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_Ex12.MAC.log", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.find", "typing_FStar.Monotonic.Heap.sel", - "typing_Platform.Bytes.equalBytes", - "typing_Tm_abs_bf091bc233a8972a6260cd878f3db16c" - ], - 0, - "a475c69dc63cb445f6fdf26fdfb34515" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12a1.Cap.fst.hints b/doc/old/tutorial/code/solutions/Ex12a1.Cap.fst.hints deleted file mode 100644 index 4a5b44ef24a..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12a1.Cap.fst.hints +++ /dev/null @@ -1,62 +0,0 @@ -[ - "›\u000e†TÕ<\u0014X?d\u0019ݹkó", - [ - [ - "Ex12a1.Cap.capRead", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "7069684e36b2976c16ead95823bf2883" - ], - [ - "Ex12a1.Cap.issue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Ex12a1.Cap.UTF8_inj", "bool_inversion", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Ex12a.ACLs.canRead", "equation_Ex12a.ACLs.canWrite", - "equation_Ex12a.ACLs.filename", "equation_Ex12a1.Cap.capRead", - "equation_Platform.Bytes.bytes", "equation_Prims.logical", - "function_token_typing_Ex12a1.Cap.capRead", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_d9c41f2458aa18cfc85adf836620b4d6", - "string_inversion", "typing_Ex12a.ACLs.canRead", - "typing_Ex12a.ACLs.canWrite", "typing_Ex12a1.Cap.capRead", - "typing_Ex12a1.Cap.k", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "3900469b6f11bc189ba9e75fcdd98668" - ], - [ - "Ex12a1.Cap.redeem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12a1.Cap.capRead", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8885e999df4e0d375e24457caef23a82", - "string_inversion" - ], - 0, - "a661107b4417f4d44f88de90971027cd" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12a2.Cap.fst.hints b/doc/old/tutorial/code/solutions/Ex12a2.Cap.fst.hints deleted file mode 100644 index 6b48fb29930..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12a2.Cap.fst.hints +++ /dev/null @@ -1,116 +0,0 @@ -[ - "æõ\u007f\u001bh\u0017õÔk!\u001d\u0013Ö6R\u0004", - [ - [ - "Ex12a2.Cap.capRead", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "4991ac495ee648af2e71284f8f1c6b0c" - ], - [ - "Ex12a2.Cap.issue_read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Ex12a2.Cap.UTF8_inj", "bool_inversion", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Ex12a.ACLs.canRead", "equation_Ex12a.ACLs.canWrite", - "equation_Ex12a.ACLs.filename", "equation_Ex12a2.Cap.capRead", - "equation_Platform.Bytes.bytes", "equation_Prims.logical", - "function_token_typing_Ex12a2.Cap.capRead", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_d9c41f2458aa18cfc85adf836620b4d6", - "string_inversion", "typing_Ex12a.ACLs.canRead", - "typing_Ex12a.ACLs.canWrite", "typing_Ex12a2.Cap.capRead", - "typing_Ex12a2.Cap.k_read", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "b313fc4e5306d322c2cec23d30548fef" - ], - [ - "Ex12a2.Cap.redeem_read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12a2.Cap.capRead", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_33334aa64449b7152d42af8d2c8c8b05", - "string_inversion" - ], - 0, - "e375f1da3592e43947bb30e5569cb1fd" - ], - [ - "Ex12a2.Cap.capWrite", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "62baab8747856443fbcc4439500a934b" - ], - [ - "Ex12a2.Cap.issue_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "assumption_Ex12a2.Cap.UTF8_inj", "bool_inversion", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Ex12a.ACLs.canWrite", "equation_Ex12a.ACLs.filename", - "equation_Ex12a2.Cap.capWrite", "equation_Platform.Bytes.bytes", - "equation_Prims.logical", - "function_token_typing_Ex12a2.Cap.capWrite", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_d42447a4aaf42cb46c1766ed4aa3201b", - "string_inversion", "typing_Ex12a.ACLs.canWrite", - "typing_Ex12a2.Cap.capWrite", "typing_Ex12a2.Cap.k_write", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Platform.Bytes.equalBytes", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "3ca4e31d07d6fd84a2e8e07bde272aed" - ], - [ - "Ex12a2.Cap.redeem_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12a2.Cap.capWrite", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_da7db8654d270dbf0da57309caa23866", - "string_inversion" - ], - 0, - "af44e72cf21df1c2bc993252827667d6" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12b.RPC.fst.hints b/doc/old/tutorial/code/solutions/Ex12b.RPC.fst.hints deleted file mode 100644 index cec30873346..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12b.RPC.fst.hints +++ /dev/null @@ -1,400 +0,0 @@ -[ - "è¼°QaVÚM\u001d~›Pé6'í", - [ - [ - "Ex12b.RPC.send", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.message", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Platform.Bytes.bytes", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "refinement_interpretation_Tm_refine_dd00118676aa737ce63f536e208f9d7a", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "c8a52cd393843bd238ab9088439e0c15" - ], - [ - "Ex12b.RPC.recv", - 1, - 2, - 1, - [ - "@query", "equation_Ex12b2.Format.message", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "4d81e11b7717a4e852251703cf4772e9" - ], - [ - "Ex12b.RPC.__proj__Request__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex12b.RPC.Request", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14c5a3d37fdb1eed8ce1422dcff2c170" - ], - 0, - "44c827c57b8ab60addbb7457686d7640" - ], - [ - "Ex12b.RPC.__proj__Response__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex12b.RPC.Response", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" - ], - 0, - "2ce38e5ee5d717f89ff9fbe9aa8627ff" - ], - [ - "Ex12b.RPC.__proj__Response__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Ex12b.RPC.Response", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f43ef8fd514e61e3d80c234a73b3a570" - ], - 0, - "abf7c148e3c79bb55f209a65766d1338" - ], - [ - "Ex12b.RPC.subset", - 1, - 2, - 1, - [ - "@query", "equation_Ex12b.RPC.subset_", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "token_correspondence_Ex12b.RPC.subset_" - ], - 0, - "6a4ce2bb1822c3a1a42858ba34be338b" - ], - [ - "Ex12b.RPC.lref", - 1, - 2, - 1, - [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], - 0, - "bd7995706251495fc153499e7754621a" - ], - [ - "Ex12b.RPC.log", - 1, - 2, - 1, - [ "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq" ], - 0, - "48f9ffa89ac2df8bf1cbc06a3ebb35a8" - ], - [ - "Ex12b.RPC.add_to_log", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_Ex12b.RPC.log_entry__uu___haseq", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "equation_Ex12b.RPC.lref", - "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", - "equation_FStar.ST.mref", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_Ex12b.RPC.subset", "kinding_Prims.list@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52254809e30d072a9ecaf5931055b3b3", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_Ex12b.RPC.subset_", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "57e73267314dfcdf636907bb1a7f5c08" - ], - [ - "Ex12b.RPC.req", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b.RPC.log_entry__uu___haseq", "b2t_def", - "data_typing_intro_Ex12b.RPC.Request@tok", - "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", - "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", - "string_inversion", "token_correspondence_Ex12b.RPC.subset_" - ], - 0, - "209c3000c6944bf3e319ff84d74571c3" - ], - [ - "Ex12b.RPC.resp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b.RPC.log_entry__uu___haseq", "b2t_def", - "data_typing_intro_Ex12b.RPC.Response@tok", - "equation_Ex12b.RPC.subset", "equation_Ex12b.RPC.subset_", - "equation_FStar.Preorder.stable", - "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", - "string_inversion", "token_correspondence_Ex12b.RPC.subset_" - ], - 0, - "d7fb10536a9f66493c0af1ab812baee1" - ], - [ - "Ex12b.RPC.pRequest", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b.RPC.log_entry__uu___haseq", - "equation_Ex12b.RPC.req", "equation_FStar.MRef.stable", - "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.req" - ], - 0, - "cd78ba6fe18e2e3cd786adf54d8a757d" - ], - [ - "Ex12b.RPC.pResponse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b.RPC.log_entry__uu___haseq", - "equation_Ex12b.RPC.resp", "equation_FStar.MRef.stable", - "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.resp" - ], - 0, - "69b0f58b9ddac642c74e946de06b708c" - ], - [ - "Ex12b.RPC.reqresp", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Ex12b2.Format.message" - ], - 0, - "65fd3a38c8ddab6bd5ee7c2bb8b361c3" - ], - [ - "Ex12b.RPC.client_send", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "Ex12b.RPC_pretyping_e884d439514aab9828b6258fa5715719", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "assumption_Ex12b.RPC.log_entry__uu___haseq", "b2t_def", - "bool_inversion", "data_typing_intro_Ex12b.RPC.Request@tok", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.text", - "equation_Ex12b.RPC.lref", "equation_Ex12b.RPC.pRequest", - "equation_Ex12b.RPC.req", "equation_Ex12b.RPC.reqresp", - "equation_Ex12b.RPC.subset", "equation_Ex12b2.Format.message", - "equation_Ex12b2.Format.request", "equation_Ex12b2.Format.string16", - "equation_FStar.MRef.stable", "equation_FStar.Preorder.preorder", - "equation_FStar.ST.mref", "equation_Platform.Bytes.bytes", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Ex12b.RPC.req", - "function_token_typing_Ex12b.RPC.reqresp", - "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "kinding_Ex12b.RPC.log_entry@tok", "kinding_Prims.list@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308", - "string_inversion", "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.k", - "typing_Ex12b.RPC.log", "typing_Ex12b.RPC.req", - "typing_Ex12b.RPC.reqresp", "typing_Ex12b.RPC.subset", - "typing_Ex12b2.Format.request", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "d8241e2b2f1f508d0f42b123aa76c756" - ], - [ - "Ex12b.RPC.client_recv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b.RPC.log_entry__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "b2t_def", - "equation_Ex12.SHA1.macsize", "equation_Ex12.SHA1.text", - "equation_Ex12b.RPC.pResponse", "equation_Ex12b.RPC.reqresp", - "equation_Ex12b.RPC.resp", "equation_Ex12b.RPC.subset", - "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.response", - "equation_Ex12b2.Format.string16", "equation_FStar.MRef.stable", - "equation_Platform.Bytes.byte", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Ex12b.RPC.resp", - "function_token_typing_FStar.Preorder.stable", - "function_token_typing_Platform.Bytes.byte", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", - "lemma_Ex12b2.Format.req_resp_distinct", - "lemma_Ex12b2.Format.resp_injective", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_150b12719efa80c3deaa5eb24b4015cc", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", - "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308", - "string_inversion", "token_correspondence_FStar.MRef.stable", - "typing_Ex12b.RPC.resp", "typing_Ex12b2.Format.response", - "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t" - ], - 0, - "375da275e32b0739b247eed7524523b7" - ], - [ - "Ex12b.RPC.server", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.MAC_interpretation_Tm_arrow_e29719084bbb3fb25afd799a5f7c2341", - "Ex12.MAC_interpretation_Tm_ghost_arrow_41ab76ed57d61fbb3dd62eac8ab13537", - "Ex12b.RPC_interpretation_Tm_arrow_fab6e2d2370a42161d0946e67addedae", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "assumption_Ex12b.RPC.log_entry__uu___haseq", - "assumption_Ex12b2.Format.UTF8_inj", - "assumption_Platform.Bytes.HasEq_bytes", "b2t_def", "bool_inversion", - "equation_Ex12.MAC.key_prop", "equation_Ex12.MAC.pkey", - "equation_Ex12.MAC.pred_to_dec_ghost", "equation_Ex12.SHA1.macsize", - "equation_Ex12.SHA1.text", "equation_Ex12b.RPC.pRequest", - "equation_Ex12b.RPC.pResponse", "equation_Ex12b.RPC.req", - "equation_Ex12b.RPC.reqresp", "equation_Ex12b.RPC.resp", - "equation_Ex12b.RPC.subset", "equation_Ex12b2.Format.message", - "equation_Ex12b2.Format.request", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.tag0", "equation_Ex12b2.Format.uInt16", - "equation_FStar.MRef.stable", "equation_FStar.Pervasives.Native.fst", - "equation_Platform.Bytes.byte", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Ex12b.RPC.req", - "function_token_typing_Ex12b.RPC.reqresp", - "function_token_typing_Ex12b.RPC.resp", - "function_token_typing_FStar.Preorder.stable", - "function_token_typing_Platform.Bytes.byte", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_58b304cd26262005441f6f3c6cce4163", - "interpretation_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83", - "interpretation_Tm_abs_f615d69687541f192c15a06ce3c344a3", - "lemma_Ex12b2.Format.append_inj_lemma", - "lemma_Ex12b2.Format.req_resp_distinct", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", - "refinement_interpretation_Tm_refine_667a832d49afa5939e79462b1abb7118", - "refinement_interpretation_Tm_refine_a78a11f6d8fca85f14eb29fc1e1cdce3", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_b5edcabc09ab87e09bfa62e4b62181f8", - "refinement_interpretation_Tm_refine_b6d05e67fcd6ec5b0a38d66b08276273", - "refinement_interpretation_Tm_refine_d275bc9df103e50ccbe091888dbff2ca", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308", - "string_typing", "token_correspondence_Ex12b.RPC.reqresp", - "token_correspondence_FStar.MRef.stable", - "token_correspondence_FStar.Preorder.stable", "typing_Ex12b.RPC.k", - "typing_Ex12b.RPC.req", "typing_Ex12b.RPC.resp", - "typing_Ex12b2.Format.request", "typing_Ex12b2.Format.tag0", - "typing_FStar.Seq.Base.eq", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt8.t", "typing_Platform.Bytes.utf8", - "typing_Tm_abs_a1d1049ee2dcc4f8d8e625ec85c05f83" - ], - 0, - "e3c13a6b4a1937cf886dde8fee197ebf" - ], - [ - "Ex12b.RPC.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_FStar.Pervasives.Err", - "equation_Ex12b2.Format.uInt16", "equation_Platform.Bytes.length", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.result", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "typing_Platform.Bytes.length", - "typing_Platform.Bytes.utf8", "unit_typing" - ], - 0, - "bb5afe6afbf43e8caa369de904525037" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12b1.Format.fst.hints b/doc/old/tutorial/code/solutions/Ex12b1.Format.fst.hints deleted file mode 100644 index e8b83187e1b..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12b1.Format.fst.hints +++ /dev/null @@ -1,175 +0,0 @@ -[ - "!ê9\u007fÑyKªä\u0006«\u000er=}", - [ - [ - "Ex12b1.Format.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "fbb8650c1fedec0784e866027b49d5d2" - ], - [ - "Ex12b1.Format.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.message", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.byte", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_4bb7a2db2ce06edcc796ff8082ea5d03", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t" - ], - 0, - "2f7180d7c3e6f4b42a1f21a8f5cd24e9" - ], - [ - "Ex12b1.Format.lemma_eq_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, - "f7a7efc9521e8cf0870de0c5e914b700" - ], - [ - "Ex12b1.Format.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "70c55b9ac0c2b6fc578b0486ce91ad3a" - ], - [ - "Ex12b1.Format.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "1917bce079e49320c02895fbcdaa3af6" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 1, - 2, - 1, - [ "@query", "equation_Ex12b1.Format.uInt16" ], - 0, - "d6b42cc83a26b71c5a84e187bd854554" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 2, - 2, - 1, - [ "@query", "equation_Ex12b1.Format.uInt16" ], - 0, - "ee48706fdc21e6c435c451995226b303" - ], - [ - "Ex12b1.Format.uint16_to_bytes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12b1.Format.uInt16", "equation_Ex12b1.Format.uint16", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", - "refinement_interpretation_Ex12b1.Format_Tm_refine_840eba52f90cf7bf85387b7d8eff7d06", - "refinement_interpretation_Ex12b1.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" - ], - 0, - "5767a64aab090d8f4484f5c2e87625ce" - ], - [ - "Ex12b1.Format.UINT16_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.uInt16", - "equation_Ex12b1.Format.uint16", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_159662fc0ccbdf710398c8946deb4040", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "ebd94c7fc98e4f52b2bc965d6cc38888" - ], - [ - "Ex12b1.Format.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b1.Format.string16", - "equation_Ex12b1.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_cab669ea2f01a509964765946e35daa0" - ], - 0, - "5f82f6c975ed9bd9427ff866927d50b9" - ], - [ - "Ex12b1.Format.req_resp_distinct", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Ex12b1.Format.message" - ], - 0, - "6b50fb2ffab8da48fb54df9313c290c4" - ], - [ - "Ex12b1.Format.req_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "4f279956c0e42d1e9b9a2975afbd9b9e" - ], - [ - "Ex12b1.Format.resp_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "4f0c86511c72f989c12c3e613bbfc9c7" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12b2.Format.fst.hints b/doc/old/tutorial/code/solutions/Ex12b2.Format.fst.hints deleted file mode 100644 index b2af0abcc37..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12b2.Format.fst.hints +++ /dev/null @@ -1,283 +0,0 @@ -[ - "sñ%D4\"•q›”ùó\u007fÁHV", - [ - [ - "Ex12b2.Format.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "bab72a115e3f122aa90e4d2aec781aa1" - ], - [ - "Ex12b2.Format.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.message", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", - "function_token_typing_Platform.Bytes.byte", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_4bb7a2db2ce06edcc796ff8082ea5d03", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t" - ], - 0, - "7c4978d4d73fa83181d76aea959811c1" - ], - [ - "Ex12b2.Format.lemma_eq_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, - "343acf2c537aedc30d5599483a445e3f" - ], - [ - "Ex12b2.Format.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "b2adfd037850d3d45b4fb3e0511709ae" - ], - [ - "Ex12b2.Format.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "fc6316ad8fee67ac586d99ae719e7567" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 1, - 2, - 1, - [ "@query", "equation_Ex12b2.Format.uInt16" ], - 0, - "234b4192045f470e32007ee4d1f77d10" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 2, - 2, - 1, - [ "@query", "equation_Ex12b2.Format.uInt16" ], - 0, - "9af40b76b98ea580f2d42d7c33619e92" - ], - [ - "Ex12b2.Format.uint16_to_bytes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Ex12b2.Format.uInt16", "equation_Ex12b2.Format.uint16", - "equation_FStar.UInt32.n", "function_token_typing_FStar.UInt32.n", - "refinement_interpretation_Ex12b2.Format_Tm_refine_2715c7aa110a09a1aebf3f1c479c3086", - "refinement_interpretation_Ex12b2.Format_Tm_refine_9adbdccb31bd5d6d35b7a0e150a5d273" - ], - 0, - "fe2f396c16f74ee704f109ba10133b9c" - ], - [ - "Ex12b2.Format.UINT16_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.uInt16", - "equation_Ex12b2.Format.uint16", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", - "typing_FStar.UInt8.t" - ], - 0, - "9c10638097a4814d9f9dcff7e28bae21" - ], - [ - "Ex12b2.Format.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.uInt16", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308" - ], - 0, - "c7e20b0b22fe418b16af5f5552cbefd1" - ], - [ - "Ex12b2.Format.req_resp_distinct", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Ex12b2.Format.message" - ], - 0, - "33f1350a6c19815e6b68508b5e26cbbd" - ], - [ - "Ex12b2.Format.req_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "cc27c96d34013f3d2f63b428c72f4968" - ], - [ - "Ex12b2.Format.resp_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "4a6ceb3e0365a6f0296589706466a556" - ], - [ - "Ex12b2.Format.req_resp_distinct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_Ex12b2.Format.message", - "equation_Ex12b2.Format.msg", "equation_Ex12b2.Format.request", - "equation_Ex12b2.Format.response", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.tag0", "equation_Ex12b2.Format.tag1", - "equation_Ex12b2.Format.uInt16", "equation_Ex12b2.Format.uint16", - "equation_Ex12b2.Format.uint16_to_bytes", - "equation_FStar.Seq.Base.op_At_Bar", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Platform.Bytes.byte", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.createBytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Platform.Bytes.byte", "int_inversion", - "int_typing", "lemma_Ex12b2.Format.append_inj_lemma", - "lemma_Ex12b2.Format.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07077e6ac972c324b066bdba1d726ff8", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "typing_Ex12b2.Format.request", - "typing_Ex12b2.Format.response", "typing_Ex12b2.Format.tag0", - "typing_Ex12b2.Format.tag1", "typing_Ex12b2.Format.uint16_to_bytes", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.eq", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.UInt8.t", "typing_FStar.UInt8.uint_to_t", - "typing_Platform.Bytes.length", "typing_Platform.Bytes.repr_bytes", - "typing_Platform.Bytes.utf8", "typing_Prims.pow2" - ], - 0, - "2f9d6df471ebe7fbbe7dc1f27236d475" - ], - [ - "Ex12b2.Format.req_injective", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b2.Format.UTF8_inj", - "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.request", - "equation_Ex12b2.Format.tag0", "equation_Platform.Bytes.lbytes", - "lemma_Ex12b2.Format.append_inj_lemma", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_Ex12b2.Format.tag0", "typing_Platform.Bytes.utf8" - ], - 0, - "41827cc2a0141c61d59184cac7bf8fdd" - ], - [ - "Ex12b2.Format.resp_injective", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Ex12b2.Format.UINT16_inj", - "assumption_Ex12b2.Format.UTF8_inj", - "equation_Ex12b2.Format.message", "equation_Ex12b2.Format.msg", - "equation_Ex12b2.Format.response", "equation_Ex12b2.Format.string16", - "equation_Ex12b2.Format.tag1", "equation_Ex12b2.Format.uInt16", - "equation_Ex12b2.Format.uint16", - "equation_Ex12b2.Format.uint16_to_bytes", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Platform.Bytes.byte", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", "equation_Prims.nat", - "function_token_typing_Platform.Bytes.byte", "int_inversion", - "lemma_Ex12b2.Format.append_inj_lemma", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07077e6ac972c324b066bdba1d726ff8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_d2d952a1760d76ffe5b3bac65c80104d", - "refinement_interpretation_Tm_refine_f06eb26d77f4141a56c43147542bb308", - "typing_Ex12b2.Format.tag1", "typing_Ex12b2.Format.uint16_to_bytes", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.op_At_Bar", "typing_Platform.Bytes.utf8" - ], - 0, - "b0955013d47b119f55af76380b4d119e" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12d.Pad.fst.hints b/doc/old/tutorial/code/solutions/Ex12d.Pad.fst.hints deleted file mode 100644 index 5e3ea5d7245..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12d.Pad.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "ÂÀ)™Zy¼ìÚË\\X†3NS", - [ - [ - "Ex12d.Pad.block", - 1, - 2, - 1, - [ - "@query", "equation_Ex12d.Pad.blocksize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "98e0d6bcf8f11c776d427624cd497f64" - ], - [ - "Ex12d.Pad.pad", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", - "equation_Ex12d.Pad.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_create_len", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ff6b906e287f30c7c8cbab0efa7a074", - "typing_FStar.UInt8.t" - ], - 0, - "a9ea39dc362295c6b1f3d0ef758a2d24" - ], - [ - "Ex12d.Pad.encode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12d.Pad.blocksize", - "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.nbytes", - "equation_Ex12d.Pad.text", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2720b4192214b546669a9f1099f08590", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bb7f7fd2d7f9c9b2d22c55c88cbda154", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "d00777a0e3a60b9fee5f709def731148" - ], - [ - "Ex12d.Pad.decode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "equation_Ex12d.Pad.block", "equation_Ex12d.Pad.blocksize", - "equation_Ex12d.Pad.bytes", "equation_Ex12d.Pad.encode", - "equation_Ex12d.Pad.nbytes", "equation_Ex12d.Pad.text", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_265713433af9cfbc2bf56e0501fb9c14", - "refinement_interpretation_Tm_refine_2720b4192214b546669a9f1099f08590", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b820b03d57c6b19b1986b75c108c7611", - "refinement_interpretation_Tm_refine_bb7f7fd2d7f9c9b2d22c55c88cbda154", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f6f87d300537a0ee9fee42babc4551d2", - "typing_Ex12d.Pad.encode", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "e02c271350b58359dc99da8526009693" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12e.Pad.fst.hints b/doc/old/tutorial/code/solutions/Ex12e.Pad.fst.hints deleted file mode 100644 index f048ba0fd82..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12e.Pad.fst.hints +++ /dev/null @@ -1,190 +0,0 @@ -[ - "\u0007²\tͶ\u0011YýQ‡í\u000b;§h¹", - [ - [ - "Ex12e.Pad.block", - 1, - 2, - 1, - [ - "@query", "equation_Ex12e.Pad.blocksize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "32d7f9e2a02254111e1d41a48c21fe69" - ], - [ - "Ex12e.Pad.pad", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_Ex12e.Pad.blocksize", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", - "typing_FStar.UInt8.t" - ], - 0, - "05afe1a4221f18901bb9e6a975ce59eb" - ], - [ - "Ex12e.Pad.encode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.nbytes", - "equation_Ex12e.Pad.text", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_76f21b3eec3de7cd3259fc08f2d04ae5", - "refinement_interpretation_Tm_refine_ec0aeb0a6d53c28cfb0bdf90879a1492", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "b995b712d46d2195a3d9ef34f9217476" - ], - [ - "Ex12e.Pad.lemma_append_inj", - 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, - "c29a44d7bdece2e6703fa5b395d7aee7" - ], - [ - "Ex12e.Pad.lemma_append_inj", - 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, - "989bb5223c0c97bfe2a3fe439e935b4b" - ], - [ - "Ex12e.Pad.inj", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", - "equation_Ex12e.Pad.n2b", "equation_Ex12e.Pad.nbytes", - "equation_Ex12e.Pad.pad", "equation_Ex12e.Pad.text", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_Ex12e.Pad.lemma_append_inj", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9c92860015ea426c4f6ed9b5e23b20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_76f21b3eec3de7cd3259fc08f2d04ae5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", - "refinement_interpretation_Tm_refine_ec0aeb0a6d53c28cfb0bdf90879a1492", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Ex12e.Pad.blocksize", "typing_Ex12e.Pad.encode", - "typing_Ex12e.Pad.n2b", "typing_Ex12e.Pad.pad", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "983f29ebcdea6c4c217d7dd6f508c566" - ], - [ - "Ex12e.Pad.decode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", "b2t_def", - "equation_Ex12e.Pad.block", "equation_Ex12e.Pad.blocksize", - "equation_Ex12e.Pad.bytes", "equation_Ex12e.Pad.encode", - "equation_Ex12e.Pad.nbytes", "equation_Ex12e.Pad.pad", - "equation_Ex12e.Pad.text", "equation_FStar.Seq.Properties.split", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3495c59b16953e72b8c8f8f3d777ca78", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_76f21b3eec3de7cd3259fc08f2d04ae5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e6faf261ba893b85e5bf614c443dacb3", - "refinement_interpretation_Tm_refine_ec0aeb0a6d53c28cfb0bdf90879a1492", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f6f87d300537a0ee9fee42babc4551d2", - "typing_Ex12e.Pad.encode", "typing_Ex12e.Pad.pad", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "acde4facaf855748bc443b7399fab9d5" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12f.TMAC.fst.hints b/doc/old/tutorial/code/solutions/Ex12f.TMAC.fst.hints deleted file mode 100644 index a23521e70fd..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12f.TMAC.fst.hints +++ /dev/null @@ -1,55 +0,0 @@ -[ - "W°Žc¢¡éã\u0018Ùž\u0000RÀ\u0007|", - [ - [ - "Ex12f.TMAC.keygen", - 1, - 2, - 1, - [ "@query" ], - 0, - "48ac2bb4e979805470d579b6114c9bc9" - ], - [ - "Ex12f.TMAC.mac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.bytes", - "equation_Ex12.Pad.encode", "equation_Ex12.Pad.text", - "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", - "equation_Prims.eqtype", "function_token_typing_Ex12.BMAC.key_prop", - "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", - "refinement_interpretation_Tm_refine_dededb70fb94e9a423bec802a85357ed", - "refinement_interpretation_Tm_refine_ee191569bd9f131505476eb9bb2f0dbe", - "token_correspondence_Ex12f.TMAC.bspec", "typing_FStar.UInt8.t" - ], - 0, - "6d7065af6df9b70adfb7ef0219822f0a" - ], - [ - "Ex12f.TMAC.verify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", - "equation_Ex12.Pad.encode", "equation_Ex12.Pad.nbytes", - "equation_Ex12f.TMAC.bspec", "equation_Ex12f.TMAC.pkey", - "equation_Prims.eqtype", "function_token_typing_Ex12.BMAC.key_prop", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_314facab926fb5ccee666fe97e081552", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_71abb27e82b0c356f50fe92b2fe580a1", - "token_correspondence_Ex12f.TMAC.bspec", "typing_Ex12.Pad.encode", - "typing_FStar.UInt8.t" - ], - 0, - "6480c7560de36e1a7fb31a30c303288e" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Ex12g.TMAC2.fst.hints b/doc/old/tutorial/code/solutions/Ex12g.TMAC2.fst.hints deleted file mode 100644 index 8efdf3f9955..00000000000 --- a/doc/old/tutorial/code/solutions/Ex12g.TMAC2.fst.hints +++ /dev/null @@ -1,111 +0,0 @@ -[ - "Ù@\u001bcê¬\"9ЈÉLÃ8\u0003", - [ - [ - "Ex12g.TMAC2.bspec0", - 1, - 2, - 1, - [ "@query" ], - 0, - "92cf43aa11db6f2fed2eb8559ef9bcb2" - ], - [ - "Ex12g.TMAC2.bspec1", - 1, - 2, - 1, - [ "@query" ], - 0, - "013bced5415b682d69fad80b1dfc0e1b" - ], - [ - "Ex12g.TMAC2.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Ex12.BMAC_interpretation_Tm_arrow_ce0c823d76df01d9670b8417aea68ae7", - "Ex12g.TMAC2_interpretation_Tm_arrow_cf20b310f2692239564e86cb4231e614", - "Ex12g.TMAC2_interpretation_Tm_arrow_cfecfaa75515b6c7a02161ace50f71c9", - "equation_Ex12.BMAC.pkey", "equation_Prims.logical", - "function_token_typing_Ex12g.TMAC2.bspec0", - "function_token_typing_Ex12g.TMAC2.bspec1", - "proj_equation_Ex12g.TMAC2.Keys_k0", - "proj_equation_Ex12g.TMAC2.Keys_k1", - "projection_inverse_Ex12g.TMAC2.Keys_k0", - "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_cf4b96afb14879fedb96bcc2ed0b9772", - "typing_Ex12.BMAC.keygen" - ], - 0, - "2a3ce5217a5005272555ff2153e01d75" - ], - [ - "Ex12g.TMAC2.mac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.blocksize", - "equation_Ex12.Pad.bytes", "equation_Ex12.Pad.text", - "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", - "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", "int_inversion", - "lemma_Ex12.Pad.inj", "lemma_FStar.Seq.Base.lemma_eq_elim", - "primitive_Prims.op_LessThan", "proj_equation_Ex12g.TMAC2.Keys_k0", - "proj_equation_Ex12g.TMAC2.Keys_k1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Ex12g.TMAC2.Keys_k0", - "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dededb70fb94e9a423bec802a85357ed", - "refinement_interpretation_Tm_refine_e3d4eb3b9c71d04bf5e6aaaac2533376", - "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", - "refinement_interpretation_Tm_refine_fd2be8198e39878f352c13c0237d0cb2", - "token_correspondence_Ex12g.TMAC2.bspec0", - "token_correspondence_Ex12g.TMAC2.bspec1", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "31c6782cf2c522de64e6c2de207b9ce5" - ], - [ - "Ex12g.TMAC2.verify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Ex12.Pad.block", - "equation_Ex12.Pad.blocksize", "equation_Ex12.Pad.bytes", - "equation_Ex12.Pad.nbytes", "equation_Ex12.Pad.text", - "equation_Ex12g.TMAC2.bspec0", "equation_Ex12g.TMAC2.bspec1", - "equation_Ex12g.TMAC2.pkey", "equation_Ex12g.TMAC2.text2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Ex12.BMAC.key_prop", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", - "proj_equation_Ex12g.TMAC2.Keys_k0", - "proj_equation_Ex12g.TMAC2.Keys_k1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Ex12g.TMAC2.Keys_k0", - "projection_inverse_Ex12g.TMAC2.Keys_k1", - "refinement_interpretation_Tm_refine_314facab926fb5ccee666fe97e081552", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dededb70fb94e9a423bec802a85357ed", - "refinement_interpretation_Tm_refine_f62a4b8b0af8dcca8132351ce07f1d2d", - "refinement_interpretation_Tm_refine_fd2be8198e39878f352c13c0237d0cb2", - "token_correspondence_Ex12g.TMAC2.bspec0", - "token_correspondence_Ex12g.TMAC2.bspec1", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "70902076cb2dfb002331bbe6ed0f2f2a" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/LowStar.Ex1.fst.hints b/doc/old/tutorial/code/solutions/LowStar.Ex1.fst.hints deleted file mode 100644 index ab6c3e38ff9..00000000000 --- a/doc/old/tutorial/code/solutions/LowStar.Ex1.fst.hints +++ /dev/null @@ -1,159 +0,0 @@ -[ - "/þßÕ\u0017Å&ìÆ \t˜\u001f-óP", - [ - [ - "LowStar.Ex1.abs", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "equality_tok_FStar.Integers.Winfinite@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0" - ], - 0, - "39b9f76a79bc317fbef9d14d2374e7d4" - ], - [ - "LowStar.Ex1.min_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "8bcc7cb5a291426364c429a2d66f1b7e" - ], - [ - "LowStar.Ex1.abs1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Signed", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int32.lt", "equation_FStar.Integers.int_t", - "equation_LowStar.Ex1.abs", "equation_LowStar.Ex1.min_int32", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int32.vu_inv", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_2370a76276b3eaf034dd2a6c193ec479", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_627e9f1cc724efa294bbc10092665eb4", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_FStar.Int.min_int", - "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", - "typing_FStar.Int32.t", "typing_FStar.Int32.v", - "typing_LowStar.Ex1.min_int32" - ], - 0, - "0db36ff545aa20a825246e173e918cf3" - ], - [ - "LowStar.Ex1.abs2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_32", "equation_FStar.Integers.int_t", - "equation_Prims.eqtype", - "function_token_typing_FStar.Integers.int_32", - "function_token_typing_Prims.int", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Int32.t", "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "8621f59246ed6cceef25ea0fd7e45365" - ], - [ - "LowStar.Ex1.sum3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "function_token_typing_Prims.int", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5aa5ab11c31de0febf935305a5c980c9", - "typing_FStar.Int32.add" - ], - 0, - "1dae66e7b040fec5353b5c7dc01494aa" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/LowStar.Ex2.fst.hints b/doc/old/tutorial/code/solutions/LowStar.Ex2.fst.hints deleted file mode 100644 index bf1d2de7be2..00000000000 --- a/doc/old/tutorial/code/solutions/LowStar.Ex2.fst.hints +++ /dev/null @@ -1,151 +0,0 @@ -[ - "9äw\u00040bˆçóð©´±­Uw", - [ - [ - "LowStar.Ex2.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.Integers.uint_32", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_1e3e0aa208dbd196652d50fbf5e53808", - "refinement_interpretation_Tm_refine_248a648a446348195d1e7f333011eab4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "true_interp", "typing_FStar.Seq.Base.create", - "typing_FStar.UInt32.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "ec10ba05b8f66515271de26beb29a789" - ], - [ - "LowStar.Ex2.prefix_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex2.lbuffer", - "equation_LowStar.Monotonic.Buffer.length", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_c97172742a96c0b17199622a0241325b" - ], - 0, - "ac82c88e771ef838789d7be171fe8f1a" - ], - [ - "LowStar.Ex2.copy_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_32", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex2.lbuffer", "equation_LowStar.Ex2.prefix_equal", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.Integers.uint_32", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_058782b7d4bb5815b5309774af61e92e", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16df3af87422f96c20dd0c313ab64b00", - "refinement_interpretation_Tm_refine_3b80a9de9cdfae4bf5872bfb10120fa5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e41fb2064b7e8eea120c4eaf7117764d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "d1545dfdf6573d4e5e9a5cebc5bf833c" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/LowStar.Ex3.fst.hints b/doc/old/tutorial/code/solutions/LowStar.Ex3.fst.hints deleted file mode 100644 index dddb80317e9..00000000000 --- a/doc/old/tutorial/code/solutions/LowStar.Ex3.fst.hints +++ /dev/null @@ -1,487 +0,0 @@ -[ - "¡FT[cM\u000bvŽÿ[\u001eùrhÂ", - [ - [ - "LowStar.Ex3.deref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" - ], - 0, - "dad9c513956f30a60a98cc09641c5176" - ], - [ - "LowStar.Ex3.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Ex3.Mkt_struct_b", - "proj_equation_LowStar.Ex3.Mkt_struct_first", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "6f635f396cbe03f1ca79c5dc28cb529a" - ], - [ - "LowStar.Ex3.full", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1bb0fe1d5fcf68d00f332c5bdb9f6736" - ], - [ - "LowStar.Ex3.pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_typing_intro_LowStar.Ex3.Mkt_struct@tok", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Properties.head", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.repr", - "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_LowStar.Ex3.t_struct@tok", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Ex3.Mkt_struct_b", - "proj_equation_LowStar.Ex3.Mkt_struct_first", - "proj_equation_LowStar.Ex3.Mkt_struct_total_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Ex3.Mkt_struct_b", - "projection_inverse_LowStar.Ex3.Mkt_struct_first", - "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_6176599c7504514fe4aec05a8e5fd39b", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_977b489c8be6233a24b5142fcd6feaf2", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__total_length", - "typing_LowStar.Ex3.repr", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "0a421c695cd8abc2907991b21fde5080" - ], - [ - "LowStar.Ex3.push", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_typing_intro_LowStar.Ex3.Mkt_struct@tok", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Base.cons", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex3.full", "equation_LowStar.Ex3.repr", - "equation_LowStar.Ex3.t", "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Ex3.t_struct", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_LowStar.Ex3.t_struct@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Ex3.Mkt_struct_b", - "proj_equation_LowStar.Ex3.Mkt_struct_first", - "proj_equation_LowStar.Ex3.Mkt_struct_total_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Ex3.Mkt_struct_b", - "projection_inverse_LowStar.Ex3.Mkt_struct_first", - "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", - "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_45a11d80eab026069b8ed095ec539be7", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a8d21f72c07c0aab065458cee367f2e1", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b32a60053a47d004a56d580b5bea92be", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__first", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__total_length", - "typing_LowStar.Ex3.repr", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "1c56c09068877493a70e9b8539916038" - ], - [ - "LowStar.Ex3.malloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_627c64b4169d026539ca4975448773ed", - "typing_FStar.Map.contains", "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" - ], - 0, - "052a1bd32e8f564e2734a42d1f696220" - ], - [ - "LowStar.Ex3.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_typing_intro_LowStar.Ex3.Mkt_struct@tok", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_LowStar.Ex3.t_struct@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "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_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Ex3.Mkt_struct_b", - "proj_equation_LowStar.Ex3.Mkt_struct_first", - "proj_equation_LowStar.Ex3.Mkt_struct_total_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Ex3.Mkt_struct_b", - "projection_inverse_LowStar.Ex3.Mkt_struct_first", - "projection_inverse_LowStar.Ex3.Mkt_struct_total_length", - "refinement_interpretation_Tm_refine_00516ea0af0c597b6ba2424073cabe68", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5a4f239c0d1af144d5f6f7282bbba14a", - "refinement_interpretation_Tm_refine_a4aafb0fc1ce275c8a54dc1a65d1d4ab", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "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.Seq.Base.empty", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Ex3.__proj__Mkt_struct__item__b", - "typing_LowStar.Ex3.repr", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "7ee7ea3f9c97881d577ed819a5955433" - ], - [ - "LowStar.Ex3.main", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W8", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Integers.int_32", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Ex3.empty", "equation_LowStar.Ex3.full", - "equation_LowStar.Ex3.repr", "equation_LowStar.Ex3.t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", "function_token_typing_FStar.Integers.int_32", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", - "kinding_LowStar.Ex3.t_struct@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0c5411d710f553f29e265dfb01e2dd0a", - "refinement_interpretation_Tm_refine_1c708cd7e34b68b1671b772803922296", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_627e9f1cc724efa294bbc10092665eb4", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8cb5d89d2de55dc8b4442a4a160f173d", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.fits", "typing_FStar.Int32.int_to_t", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", "typing_LowStar.Ex3.repr", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" - ], - 0, - "0fa45e315c12b801bfe8488d079e3567" - ] - ] -] \ No newline at end of file diff --git a/doc/old/tutorial/code/solutions/Makefile b/doc/old/tutorial/code/solutions/Makefile index 9d23848b4d4..1f5d765a183 100644 --- a/doc/old/tutorial/code/solutions/Makefile +++ b/doc/old/tutorial/code/solutions/Makefile @@ -1,5 +1,8 @@ -VERFILES= \ -Ex01a.fst \ +FSTAR_ROOT ?= ../../../../../ +FSTAR_CONTRIB := $(FSTAR_ROOT)/contrib +OTHERFLAGS += --include $(FSTAR_CONTRIB)/Platform/fst --include $(FSTAR_CONTRIB)/CoreCrypto/fst + +FSTAR_FILES := Ex01a.fst \ Ex02a.fst \ Ex03a.fst \ Ex03b.fst \ @@ -43,35 +46,7 @@ LowStar.Ex1.fst \ LowStar.Ex2.fst \ LowStar.Ex3.fst -include ../../../../Makefile.include - -verify-%: __force__ - $(FSTAR) --include $(FSTAR_CONTRIB)/Platform/fst --include $(FSTAR_CONTRIB)/CoreCrypto/fst $* - -all: uall sall Ex01a-ocaml - -sall: - -uall: $(VERFILES:%=verify-%) - - -# Importing targets for simplified extraction to Ocaml - -include $(FSTAR_ULIB)/ml/Makefile.include - -out: - mkdir -p out - -HAS_OCAMLFIND := $(shell which ocamlfind 2>/dev/null) - -Ex01a-ocaml: out Ex01a.fst - $(FSTAR) $(FSTAR_DEFAULT_ARGS) --odir out --codegen OCaml Ex01a.fst -ifdef HAS_OCAMLFIND - $(OCAMLOPT) out/Ex01a.ml -o Ex01a.exe 2>&1 - -./Ex01a.exe 2>&1 -endif +include $(FSTAR_ROOT)/mk/test.mk -# # Parameter for interactive mode -# %.fst-in: -# @echo $(OPTIONS) \ -# --include $(FSTAR_HOME)/ulib/hyperstack \ +Ex01a-ocaml: $(OUTPUT_DIR)/Ex01a.exe + -./$(OUTPUT_DIR)/Ex01a.exe diff --git a/doc/ref/bootstrapping b/doc/ref/bootstrapping new file mode 100644 index 00000000000..c00954e8629 --- /dev/null +++ b/doc/ref/bootstrapping @@ -0,0 +1,86 @@ +stage0: contains a starting point to start building F*, an ocaml +snapshot of an older F* that is capable of building the *current* F* in +this repo, i.e. the sources in src/. We update this snapshot only when +needed, it absolutely should not be update on every push to master or +every PR. + +stage1/stage2: These directories are clones of each other. The high +level idea is that we use the stage0 compiler to extract+build a stage1 +compiler, and then use the stage1 to extract+build a stage2. + +One round +========= + +The first step is using stage0 to (lax) check+extract every fst +file in src/. We place the results into stage1/fstarc.checked and +stage1/fstarc.ml. The compiler (in src/) can refer to modules in the +standard library of F*, __as long as they are in stage0 already__. We do +not read ulib/ at all at this point. In fact, the new library could very +well not check with stage0. + +Once we've extracted this set of ml files, we can build a "bare" +fstar.exe. We have to also link with some basic support ML files (in +src/ml/bare) for some interfaces in the compiler that are implemented in +OCaml. Also, we need the ml implementation for the library modules we +use. We take these from ulib/ml/app (the directory for ml files of the +application library). + +NOTE: this last inclusion is acctualy not right, we should take this +from stage0, but stage0 (today) does not provide a directory with the ml +files for it. In fact it does not provide an application library at all. + +This "bare" fstar.exe has all of src/ and is up-to-date, but has +no plugins whatsoever. (Nit: we could find a better name for these +"baked-in plugins", they differ from plugins that go in a cmxs and get +loaded dynamically.) Using fstar-bare.exe, we can (lax) check a part of +ulib (defined by ROOTS in mk/plugins.mk) to generate the relevant ml +files for them. We place all these into stage1/plugins.ml, and compile +them with all previous full to create a full fstar.exe with plugins. + +The next steps are building the libraries (applib and pluginlib). Using +the full compiler, we check every file in ulib/ to generate checked+ml +files (ml unless the module is filtered by --extract). We can then build +all of this into a library. This is defined in stage1/dune/libapp. + +The next step is building the library for dynamic plugins, i.e. cmxs +files that get dynlinked into fstar.exe. Since these plugins can +reference anything in the library, we *must* have implementations for +all of that, and they are not necessarilly already in fstar.exe itself +(e.g. maybe the compiler does not use a fancy red-black tree, so it's +not linked, but a plugin can). The plugin library is essentialy just +the application library extracted with --codegen Plugin. We reuse the +checked files from the application library and extract again to build +this library (as a cmxs). This is defined in stage1/dune/libplugin. +The cmxs is installed in lib/fstar and is loaded automatically by F* +before loading any user-created cmxs plugin (hence these cmxs could only +contain the user module, omitting any support modules in the library). + +Second round +============ + +The second round is the exact same procedure as above, but using the +fully-built stage1 compiler and extracting into a stage2. Why do we even +do this? Because if you had some changes to extraction in stage1 (e.g. +now everything is 2x faster), the fstar.exe in stage1 wouldn't benefit +from that, as it was extracted+built with stage0. The second round gives +you a build of what's in src/, built with a compiler whose source is +src/, reaping the benefits. It's also a good test, of course. + +Note: when we're building a stage2, we are NOT using the stage1's libapp +nor libplugin. In fact they are not even built. + +We also do a stage3: we extract all of src into stage3/fstarc.ml and +compare with stage2/fstarc.ml. These outputs should be identical, or +there is a bug somewhere. + +Optimizations +============= + +An alternative to building stage0 is using some external F* installed +in your system instead, which also makes building a bit faster, since +we skip the dune build of the stage0. You can do this by setting +FSTAR_EXTERNAL_STAGE0 in your environment, but do so at your own risk. +You could also add .checked.lax files into this external F*'s cache +dir to save you from rechecking its library again. We should make this +easier. + diff --git a/examples/Cfg.fst.config.json b/examples/Cfg.fst.config.json new file mode 100644 index 00000000000..a406ce08ad0 --- /dev/null +++ b/examples/Cfg.fst.config.json @@ -0,0 +1,9 @@ +{ + "fstar_exe": "../out/bin/fstar.exe", + "options": [ + "--ext", "context_pruning", + "--z3version", "4.13.3" + ], + "include_dirs": [ + ] +} diff --git a/examples/Makefile b/examples/Makefile index 6a00a2ff1f1..2ce30ec83f3 100644 --- a/examples/Makefile +++ b/examples/Makefile @@ -1,5 +1,6 @@ rel.__all: dm4free.__verify rel.__accept: dm4free.__verify +rel.__verify: dm4free.__verify # ^ rel uses modules from dm4free, make sure to check them in proper # order. @@ -40,7 +41,11 @@ SUBDIRS += verifythis # SUBDIRS_CLEAN += hello SUBDIRS_ALL += dependencies SUBDIRS_CLEAN += dependencies + +HAS_OCAML ?= 1 +ifneq (,$(HAS_OCAML)) SUBDIRS_ALL += native_tactics +endif SUBDIRS_CLEAN += native_tactics FSTAR_ROOT ?= .. diff --git a/examples/algorithms/BinarySearch.fst.hints b/examples/algorithms/BinarySearch.fst.hints deleted file mode 100644 index 0fded629bff..00000000000 --- a/examples/algorithms/BinarySearch.fst.hints +++ /dev/null @@ -1,254 +0,0 @@ -[ - "øHaííŽÛ[JŒ±Ý}³â", - [ - [ - "BinarySearch.bsearch_rec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", - "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", - "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", - "well-founded-ordering-on-nat" - ], - 0, - "3155e86a1b72d07fc5ae71fde3717c32" - ], - [ - "BinarySearch.bsearch", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "33ec236dc92e33056570665a4adfa2d5" - ], - [ - "BinarySearch.bsearch_rec_correct", - 1, - 2, - 1, - [ "@query" ], - 0, - "035993c5b0899318d6257895ed2f1ec8" - ], - [ - "BinarySearch.bsearch_rec_correct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearch.bsearch_rec.fuel_instrumented", - "@fuel_irrelevance_BinarySearch.bsearch_rec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_b061f89c76f17260b094669025fcc479_0", - "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_with_fuel_BinarySearch.bsearch_rec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_25b2b33b1d54676a70040d40b5b23ffa", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8bc357a1dcdc5dacdcb68b9320883cfc", - "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", - "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "4bd47661ed82514cfee41c8364549b93" - ], - [ - "BinarySearch.bsearch_rec_correct", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_046ef8a02a76c2a268d5cd5751e54d57" - ], - 0, - "510596c9f7dcbbbf627388041a5e3465" - ], - [ - "BinarySearch.bsearch_correct", - 1, - 2, - 1, - [ "@query" ], - 0, - "d8aab59022339878ea714d3f764e3d22" - ], - [ - "BinarySearch.bsearch_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_BinarySearch.bsearch", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "43cdddd8e0ef450a2b6886e784bdbb13" - ], - [ - "BinarySearch.hint1", - 1, - 2, - 1, - [ "@query" ], - 0, - "4df4889049873820a4502b75f8213d3c" - ], - [ - "BinarySearch.hint2", - 1, - 2, - 1, - [ "@query" ], - 0, - "e1526c1d9ffa4737f56a134e70601afd" - ], - [ - "BinarySearch.hint2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" - ], - 0, - "8dccac21f47faa914c12abfc61d9d3e6" - ], - [ - "BinarySearch.hint3", - 1, - 2, - 1, - [ "@query" ], - 0, - "c65886ec0dde67c948753f2720fee625" - ], - [ - "BinarySearch.hint4", - 1, - 2, - 1, - [ "@query" ], - 0, - "c1d9d7e152e5a004e8feb240219e0e6f" - ], - [ - "BinarySearch.hint4", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae62f1b035d3a989d9a98598a75fd6e2" - ], - 0, - "c82592055e8cd9856c08efe44e733636" - ], - [ - "BinarySearch.bsearch_rec_complete", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearch.bsearch_rec.fuel_instrumented", - "@fuel_irrelevance_BinarySearch.bsearch_rec.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_a0c32818c122eaa5f9b88dd7e1e770e6_3", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_b061f89c76f17260b094669025fcc479_0", - "binder_x_cacff4db2400910b3d1c7580c7f68fbd_2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", "equation_Prims.nat", - "equation_with_fuel_BinarySearch.bsearch_rec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25b2b33b1d54676a70040d40b5b23ffa", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d83d963caacf9bddc51fd16ab4719b0", - "refinement_interpretation_Tm_refine_8bc357a1dcdc5dacdcb68b9320883cfc", - "refinement_interpretation_Tm_refine_962160c39ff5919452a89fc96bb8ab37", - "refinement_interpretation_Tm_refine_ed80fe1ad4e7734ec01be94daa525e6f", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "d828b70e78bbfbdc6459e38b6bc03ce5" - ], - [ - "BinarySearch.bsearch_rec_complete", - 2, - 2, - 1, - [ "@query" ], - 0, - "1048f74f21bfeddf52ba8cdbbb65d875" - ], - [ - "BinarySearch.bsearch_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_BinarySearch.bsearch", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "493a11f63170b1dbdffa2749ecc9612d" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/BinarySearch/BinarySearch.fsproj b/examples/algorithms/BinarySearch/BinarySearch.fsproj index 2758b6d074e..011789ccae3 100644 --- a/examples/algorithms/BinarySearch/BinarySearch.fsproj +++ b/examples/algorithms/BinarySearch/BinarySearch.fsproj @@ -5,7 +5,7 @@ ..\..\.. - --use_hints --record_hints + --ext context_pruning diff --git a/examples/algorithms/Coincidence.fst.hints b/examples/algorithms/Coincidence.fst.hints deleted file mode 100644 index 74474dd96a6..00000000000 --- a/examples/algorithms/Coincidence.fst.hints +++ /dev/null @@ -1,142 +0,0 @@ -[ - "$ÇT/áé‹ÁÌâå\u001a#\u0017ÝS", - [ - [ - "Coincidence.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "86c59e031db557a8b077c1629c0839fa" - ], - [ - "Coincidence.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "subterm_ordering_Prims.Cons" - ], - 0, - "3cc08ddbd4182d37f11da3f6824aa490" - ], - [ - "Coincidence.lemma1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a05ce96e357fc1489b89b65627e584cf" - ], - [ - "Coincidence.lemma1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Coincidence.mem.fuel_instrumented", - "@fuel_correspondence_Coincidence.sorted.fuel_instrumented", - "@fuel_irrelevance_Coincidence.mem.fuel_instrumented", - "@fuel_irrelevance_Coincidence.sorted.fuel_instrumented", "@query", - "binder_x_66b03f5c7897b05649fed8196554c587_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_Coincidence.mem.fuel_instrumented", - "equation_with_fuel_Coincidence.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_Prims.Cons_hd", "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", - "subterm_ordering_Prims.Cons", "typing_Coincidence.mem", - "typing_Coincidence.sorted" - ], - 0, - "4f31fcb106a7f0f943cd8943cfdca112" - ], - [ - "Coincidence.lemma1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cdae7b8fcc0565e8f6ddc155d60cc9a5", - "typing_Prims.int" - ], - 0, - "7141b08e775331d61ac9c57845978ae7" - ], - [ - "Coincidence.coincidence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Coincidence.mem.fuel_instrumented", - "@fuel_correspondence_Coincidence.sorted.fuel_instrumented", - "@fuel_irrelevance_Coincidence.mem.fuel_instrumented", - "@fuel_irrelevance_Coincidence.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9196bb3ba9d8f2ebbf8fc41c3ae89bb6_0", - "binder_x_9196bb3ba9d8f2ebbf8fc41c3ae89bb6_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_with_fuel_Coincidence.mem.fuel_instrumented", - "equation_with_fuel_Coincidence.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "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", - "refinement_interpretation_Tm_refine_13f4b79e3d32f722463ee62ae304d544", - "refinement_interpretation_Tm_refine_71e8d8b44dbf25589942ba53ea8a610b", - "subterm_ordering_Prims.Cons", - "token_correspondence_Coincidence.mem.fuel_instrumented", - "token_correspondence_Coincidence.sorted.fuel_instrumented", - "typing_Coincidence.mem" - ], - 0, - "c00fa7f7e9b20093228d6ff9d4919ac1" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/GC.fst.hints b/examples/algorithms/GC.fst.hints deleted file mode 100644 index 06bf0086d60..00000000000 --- a/examples/algorithms/GC.fst.hints +++ /dev/null @@ -1,469 +0,0 @@ -[ - "—’ßP⃺ŒLÉðÜ×ì®U", - [ - [ - "GC.to_abs_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_GC.mem_addr", - "equation_Prims.eqtype", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5e43fb9080a9463edb54e5b00f3302be" - ], - [ - "GC.inv", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "3fed5dae47797d01e505725f65de4697" - ], - [ - "GC.gc_inv", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "6ca048cc3739063be491ed37c4570bae" - ], - [ - "GC.mutator_inv", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "314ef4501130d7c319fad8d2c122a432" - ], - [ - "GC.init_invariant", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "0bce28d6f2258c597e32bf19a51e3130" - ], - [ - "GC.upd_map2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "bae5c15c6febea37f5f756f7f83a2295" - ], - [ - "GC.initialize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", - "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", "bool_inversion", - "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", - "equation_GC.init_invariant", "equation_GC.is_mem_addr", - "equation_GC.mem_addr", "equation_GC.mutator_inv", - "equation_GC.obj_inv", "equation_GC.to_abs_inj", - "equation_GC.upd_map", "equation_GC.valid", "equation_Prims.eqtype", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__color", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_color", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_GC.Mkgc_state_color", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", - "refinement_interpretation_Tm_refine_de0b2ced8c60ecfc378f030298f31d2b", - "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", - "token_correspondence_GC.__proj__Mkgc_state__item__color", - "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", - "token_correspondence_GC.upd_map", "typing_GC.is_mem_addr", - "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid", - "typing_Prims.int", "typing_tok_GC.White@tok" - ], - 0, - "846a1dae9786184dec2f0b5ae416f151" - ], - [ - "GC.read_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_5d846e8dc8d50e58c30aadcda1836791", - "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "data_elim_GC.Mkgc_state", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_GC.F2@tok", "equation_GC.field_map", - "equation_GC.mem_addr", "equation_GC.mutator_inv", - "equation_GC.obj_inv", "equation_GC.ptr_lifts_to", - "equation_GC.trigger", "equation_GC.valid", - "fuel_guarded_inversion_GC.gc_state", "int_inversion", - "kinding_GC.field@tok", "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "token_correspondence_GC.__proj__Mkgc_state__item__fields", - "typing_tok_GC.F2@tok" - ], - 0, - "4df86c1c2df0a4424030ba38d04a8c4f" - ], - [ - "GC.write_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_GC.field__uu___haseq", "b2t_def", - "equality_tok_GC.F2@tok", "equation_GC.mem_addr", - "equation_GC.mutator_inv", "equation_GC.obj_inv", - "equation_GC.ptr_lifts", "equation_GC.ptr_lifts_to", - "equation_GC.to_abs_inj", "equation_GC.trigger", - "equation_GC.upd_map", "equation_GC.valid", "equation_Prims.eqtype", - "fuel_guarded_inversion_GC.field", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__color", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", - "kinding_GC.field@tok", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_abs_fields", - "proj_equation_GC.Mkgc_state_color", - "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_GC.Mkgc_state_abs_fields", - "projection_inverse_GC.Mkgc_state_color", - "projection_inverse_GC.Mkgc_state_fields", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", - "token_correspondence_GC.__proj__Mkgc_state__item__color", - "token_correspondence_GC.__proj__Mkgc_state__item__fields", - "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", - "token_correspondence_GC.upd_map", "typing_GC.abs_node", - "typing_Prims.int", "typing_tok_GC.F2@tok" - ], - 0, - "6c4781e43ca4aaae9e0457a2c07813d2" - ], - [ - "GC.mark", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "c5fefc6e8f59f6968157f10412f1ec66" - ], - [ - "GC.mark", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_000a180d19b73c1ee6709364d3437df0", - "GC_interpretation_Tm_arrow_5d846e8dc8d50e58c30aadcda1836791", - "GC_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "GC_interpretation_Tm_arrow_8a489a1ce9a7529b6a3d787337d565d5", - "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "assumption_GC.color__uu___haseq", "b2t_def", "bool_inversion", - "constructor_distinct_GC.Black", "constructor_distinct_GC.Gray", - "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", - "data_elim_GC.Mkgc_state", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_GC.Black@tok", "equality_tok_GC.F1@tok", - "equality_tok_GC.F2@tok", "equality_tok_GC.Gray@tok", - "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", - "equation_GC.color_map", "equation_GC.field_map", - "equation_GC.gc_inv", "equation_GC.is_mem_addr", - "equation_GC.mem_addr", "equation_GC.obj_inv", - "equation_GC.ptr_lifts", "equation_GC.ptr_lifts_to", - "equation_GC.trigger", "equation_GC.upd_map", "equation_GC.valid", - "equation_Prims.eqtype", "fuel_guarded_inversion_GC.color", - "fuel_guarded_inversion_GC.field", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__abs_fields", - "function_token_typing_GC.__proj__Mkgc_state__item__fields", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.upd_map", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", - "kinding_GC.field@tok", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_abs_fields", - "proj_equation_GC.Mkgc_state_color", - "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_GC.Mkgc_state_abs_fields", - "projection_inverse_GC.Mkgc_state_color", - "projection_inverse_GC.Mkgc_state_fields", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", - "token_correspondence_GC.__proj__Mkgc_state__item__color", - "token_correspondence_GC.__proj__Mkgc_state__item__fields", - "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", - "token_correspondence_GC.upd_map", - "typing_GC.__proj__Mkgc_state__item__color", "typing_GC.is_mem_addr", - "typing_Prims.int", "typing_tok_GC.F1@tok", "typing_tok_GC.F2@tok", - "typing_tok_GC.Gray@tok" - ], - 0, - "aa25e976d769a7c79c6011dfc7713f4a" - ], - [ - "GC.sweep_aux_inv", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "40f3099c295676443f1e3f1e819864ba" - ], - [ - "GC.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_GC.is_mem_addr", "equation_GC.mem_addr", - "equation_GC.mutator_inv", "equation_GC.obj_inv", - "equation_GC.ptr_lifts", "equation_GC.sweep_aux_inv", - "fuel_guarded_inversion_GC.gc_state", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", - "typing_GC.mem_hi" - ], - 0, - "e27c1683886f2dfea04de8bb9a8ed529" - ], - [ - "GC.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_GC.color__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_GC.Black", "constructor_distinct_GC.Unalloc", - "equality_tok_GC.Black@tok", "equality_tok_GC.Unalloc@tok", - "equation_GC.gc_inv", "equation_GC.is_mem_addr", - "equation_GC.mem_addr", "equation_GC.ptr_lifts", - "equation_GC.sweep_aux_inv", "equation_GC.valid", - "fuel_guarded_inversion_GC.gc_state", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", - "typing_GC.is_mem_addr", "typing_GC.mem_lo" - ], - 0, - "760ea52881b84ee579cc5ba0a6672110" - ], - [ - "GC.sweep", - 1, - 2, - 1, - [ "@query", "assumption_GC.color__uu___haseq" ], - 0, - "9d19033b5dc37a546fb210495cb389f2" - ], - [ - "GC.sweep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_000a180d19b73c1ee6709364d3437df0", - "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", - "GC_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "GC_interpretation_Tm_arrow_8a489a1ce9a7529b6a3d787337d565d5", - "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", - "assumption_GC.color__uu___haseq", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_GC.Black", - "constructor_distinct_GC.Gray", "constructor_distinct_GC.Unalloc", - "constructor_distinct_GC.White", "data_elim_GC.Mkgc_state", - "equality_tok_GC.Black@tok", "equality_tok_GC.Gray@tok", - "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", - "equation_GC.abs_map", "equation_GC.color_map", "equation_GC.gc_inv", - "equation_GC.is_mem_addr", "equation_GC.mem_addr", - "equation_GC.mutator_inv", "equation_GC.obj_inv", - "equation_GC.ptr_lifts", "equation_GC.ptr_lifts_to", - "equation_GC.sweep_aux_inv", "equation_GC.to_abs_inj", - "equation_GC.trigger", "equation_GC.upd_map", "equation_GC.valid", - "equation_Prims.eqtype", "fuel_guarded_inversion_GC.color", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__abs_fields", - "function_token_typing_GC.__proj__Mkgc_state__item__fields", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_GC.upd_map", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_abs_fields", - "proj_equation_GC.Mkgc_state_color", - "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_GC.Mkgc_state_abs_fields", - "projection_inverse_GC.Mkgc_state_color", - "projection_inverse_GC.Mkgc_state_fields", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", - "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", - "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", - "token_correspondence_GC.__proj__Mkgc_state__item__color", - "token_correspondence_GC.__proj__Mkgc_state__item__fields", - "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", - "token_correspondence_GC.upd_map", - "typing_GC.__proj__Mkgc_state__item__to_abs", "typing_GC.abs_node", - "typing_GC.is_mem_addr", "typing_GC.mem_hi", "typing_GC.mem_lo", - "typing_GC.valid", "typing_Prims.int", "typing_tok_GC.White@tok", - "unit_inversion", "unit_typing" - ], - 0, - "a87ec8bceb340bd8f19568335892336c" - ], - [ - "GC.gc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_GC.Black", "constructor_distinct_GC.Gray", - "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", - "equality_tok_GC.Black@tok", "equality_tok_GC.Gray@tok", - "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", - "equation_GC.gc_inv", "equation_GC.is_mem_addr", - "equation_GC.mem_addr", "equation_GC.mutator_inv", - "equation_GC.ptr_lifts", "equation_GC.trigger", "equation_GC.valid", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_abs_fields", - "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_GC.Mkgc_state_abs_fields", - "projection_inverse_GC.Mkgc_state_fields", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", - "typing_GC.mem_lo" - ], - 0, - "40f385125979416aaf43f09f0e4ccd94" - ], - [ - "GC.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "GC_interpretation_Tm_arrow_4a7f36b0bf2a2668069bf870c5d90346", - "GC_pretyping_27e56dec3f0cf9a6af115223c7bb363f", - "GC_pretyping_ab0ffb7fae1c8ce581a4f6505251cb9c", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_GC.color__uu___haseq", "assumption_GC.field__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_GC.Unalloc", "constructor_distinct_GC.White", - "equality_tok_GC.F1@tok", "equality_tok_GC.F2@tok", - "equality_tok_GC.Unalloc@tok", "equality_tok_GC.White@tok", - "equation_GC.is_mem_addr", "equation_GC.mem_addr", - "equation_GC.mutator_inv", "equation_GC.obj_inv", - "equation_GC.ptr_lifts", "equation_GC.ptr_lifts_to", - "equation_GC.to_abs_inj", "equation_GC.trigger", - "equation_GC.try_alloc_invariant", "equation_GC.upd_map", - "equation_GC.valid", "equation_Prims.eqtype", - "fuel_guarded_inversion_GC.field", - "fuel_guarded_inversion_GC.gc_state", - "function_token_typing_GC.__proj__Mkgc_state__item__to_abs", - "haseqTm_refine_5248130f0b0d7223b3b6331b13742bec", "int_inversion", - "int_typing", "kinding_GC.field@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_GC.Mkgc_state_abs_fields", - "proj_equation_GC.Mkgc_state_color", - "proj_equation_GC.Mkgc_state_fields", - "proj_equation_GC.Mkgc_state_to_abs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_GC.Mkgc_state_abs_fields", - "projection_inverse_GC.Mkgc_state_color", - "projection_inverse_GC.Mkgc_state_fields", - "projection_inverse_GC.Mkgc_state_to_abs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "refinement_interpretation_Tm_refine_6faaaf327b122a7307a5bdd1f21b4925", - "refinement_interpretation_Tm_refine_ebe8d554029941ff856db931e680cc38", - "refinement_kinding_Tm_refine_5248130f0b0d7223b3b6331b13742bec", - "token_correspondence_GC.__proj__Mkgc_state__item__abs_fields", - "token_correspondence_GC.__proj__Mkgc_state__item__color", - "token_correspondence_GC.__proj__Mkgc_state__item__fields", - "token_correspondence_GC.__proj__Mkgc_state__item__to_abs", - "token_correspondence_GC.upd_map", "typing_GC.is_mem_addr", - "typing_GC.mem_hi", "typing_GC.mem_lo", "typing_GC.valid", - "typing_Prims.int", "typing_tok_GC.F2@tok", "typing_tok_GC.White@tok" - ], - 0, - "4e2db94aa70e0c8affd92089c5611076" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/GenericSort.fst.hints b/examples/algorithms/GenericSort.fst.hints deleted file mode 100644 index 8995aa45f30..00000000000 --- a/examples/algorithms/GenericSort.fst.hints +++ /dev/null @@ -1,185 +0,0 @@ -[ - "\u0016ìú\ryõÏx4\u0012‹•\u0004í\u0005ð", - [ - [ - "GenericSort.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "9dae51e06c60e7373c83c28147f5ef84" - ], - [ - "GenericSort.test_sorted", - 1, - 2, - 1, - [ "@query" ], - 0, - "8bf50dbf543bb7f1905f1447fd5c1127" - ], - [ - "GenericSort.test_sorted", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "proj_equation_Prims.Cons_hd", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "45a3ab4687f1f3b1b00231880f9d6530" - ], - [ - "GenericSort.test_sorted2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", "projection_inverse_Prims.Nil_a" - ], - 0, - "d66d15f8b552a9463fe8cf5dfd43018e" - ], - [ - "GenericSort.sorted_smaller", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericSort_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_582acf81e02a6e4176cba5e2730f867d_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_GenericSort.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_GenericSort.sorted", - "unit_inversion", "unit_typing" - ], - 0, - "11869576578b92b6743096cf63a615f5" - ], - [ - "GenericSort.sorted_tl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericSort_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9a99f0ed3c7c19be1f30eec0ab46713a_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_68a3139579b4e370456a4a2443f8bb4d", - "subterm_ordering_Prims.Cons", - "token_correspondence_GenericSort.sorted.fuel_instrumented", - "typing_GenericSort.sorted" - ], - 0, - "76b20f32b13e093766528671c0d67fdd" - ], - [ - "GenericSort.sorted_lt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_GenericSort.sorted_smaller", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.hd", "typing_GenericSort.sorted" - ], - 0, - "fe03d6f6548ac346e040d667a0d3bd82" - ], - [ - "GenericSort.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9ca4e833f22891a0b9b9da34db32738" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/GenericStability.fst.hints b/examples/algorithms/GenericStability.fst.hints deleted file mode 100644 index c8d527aec8a..00000000000 --- a/examples/algorithms/GenericStability.fst.hints +++ /dev/null @@ -1,408 +0,0 @@ -[ - "G¸ÃT›ãbÝ'Ô›‘çÂ,I", - [ - [ - "GenericStability.filter_eq", - 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, - "eec8eea9ab55e13574fa927d38c59db0" - ], - [ - "GenericStability.filter_eq_contains", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericStability_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ae567c2fb75be05905677af440075565_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_GenericStability.filter_eq" - ], - 0, - "6e3910e6014d8f5b40c00b24b07e895e" - ], - [ - "GenericStability.filter_eq_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1092c441fb5ced8b28b22c1f94e362fc" - ], - [ - "GenericStability.filter_eq_append", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericStability_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_GenericStability.filter_eq.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_GenericStability.filter_eq" - ], - 0, - "bfe994f09a9c385982cf8f0e3be29043" - ], - [ - "GenericStability.filter_eq_append", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "053f8121095c353a8f8ee70e08f3510b" - ], - [ - "GenericStability.filter_eq_not_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5ba258257b68e615bad76403f1c31e19" - ], - [ - "GenericStability.filter_eq_not_contains", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericStability_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "1b59778455d3f307a27685af83920ec3" - ], - [ - "GenericStability.filter_eq_not_contains", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5d8a779e1f807c9fe9c05e48de1a05bc" - ], - [ - "GenericStability.filter_eq_single", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b1af61ea8798389ff93f540987b23a07" - ], - [ - "GenericStability.filter_eq_single", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51deb5145edaf9e32b597aa333ac0c64", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "2fa3d3d1a9a1bf5f1dbc41e29fcf62cc" - ], - [ - "GenericStability.filter_eq_sorted_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9dacf81582605b2f352ee4cb83da3223" - ], - [ - "GenericStability.filter_eq_sorted_lt", - 2, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "d63bc1224369069998db40ffe23ac78e" - ], - [ - "GenericStability.filter_eq_first", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "3d1d016db4252b2adc25a9a49d22f7fe" - ], - [ - "GenericStability.filter_eq_first", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_GenericStability.filter_eq.fuel_instrumented", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.tail", - "typing_GenericStability.filter_eq" - ], - 0, - "36372da4e20a6ab6248ea345b8eeb43d" - ], - [ - "GenericStability.stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "a1920e5ee3d5c238892efca9a4640201" - ], - [ - "GenericStability.stable_lift", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_GenericStability.stable", "equation_Prims.eqtype", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_FStar.List.Tot.Base.hd", "typing_Prims.uu___is_Cons" - ], - 0, - "314ffc41749ac8aaafb16d9d97a88236" - ], - [ - "GenericStability.stable_append_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "GenericStability_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_582acf81e02a6e4176cba5e2730f867d_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_GenericStability.stable", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "fd2a9e7f16602de2025fcc6341575290" - ], - [ - "GenericStability.stable_append_r", - 1, - 2, - 1, - [ "@query", "equation_GenericStability.stable" ], - 0, - "e652ba522482ed220c4e92daed15cd6e" - ], - [ - "GenericStability.stable_transitive", - 1, - 2, - 1, - [ "@query", "equation_GenericStability.stable" ], - 0, - "f8ab619f92ded5f66672eb45297bffff" - ], - [ - "GenericStability.stable_append", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "equation_GenericStability.stable" - ], - 0, - "9c1d3eae96d28e505d2f53b54bb63dc3" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/Huffman.fst.hints b/examples/algorithms/Huffman.fst.hints deleted file mode 100644 index 91d687dce39..00000000000 --- a/examples/algorithms/Huffman.fst.hints +++ /dev/null @@ -1,907 +0,0 @@ -[ - "\u0017ˆþô‰ef\u0006Ì;qC“+ø", - [ - [ - "Huffman.trie", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Huffman.symbol", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Huffman.symbol", "typing_Prims.int" - ], - 0, - "7cdc191ab91df9f7c1795bfdcda3b467" - ], - [ - "Huffman.__proj__Leaf__item__w", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" - ], - 0, - "98d1338dab8273ebbdb7006b0f23efb7" - ], - [ - "Huffman.__proj__Leaf__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_673d4504dc1e4cbbf78a6d1db34013a8" - ], - 0, - "59d63c96035896c97a8b2cb5f34db3dd" - ], - [ - "Huffman.__proj__Node__item__w", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" - ], - 0, - "263797f305ec1107a19d3096fe7f66f5" - ], - [ - "Huffman.__proj__Node__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" - ], - 0, - "0a866f96e3b4c21545dba807427d26be" - ], - [ - "Huffman.__proj__Node__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223" - ], - 0, - "1a8d6e6b99f6d50286e97f6b255731da" - ], - [ - "Huffman.weight", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Huffman.Leaf", - "disc_equation_Huffman.Node", "fuel_guarded_inversion_Huffman.trie", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cc40f188f5154615a40f08545751146d" - ], - [ - "Huffman.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_08251f7dff76731601212468f6d19505_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "kinding_Huffman.trie@tok", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "934e036fe0983a26b33919b1d9b50b8e" - ], - [ - "Huffman.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Huffman.trie__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4699285869f7ef77524cb3be746be3fc" - ], - [ - "Huffman.sorted_smaller", - 1, - 2, - 1, - [ "@query", "assumption_Huffman.trie__uu___haseq" ], - 0, - "52da5d1b66e499ecbbd51701f18369ab" - ], - [ - "Huffman.sorted_smaller", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_Huffman.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_Huffman.sorted.fuel_instrumented", "@query", - "assumption_Huffman.trie__uu___haseq", - "binder_x_08251f7dff76731601212468f6d19505_2", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Huffman.leq_trie", - "equation_Huffman.weight", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_Huffman.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Huffman.trie@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_Huffman.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_Huffman.leq_trie", - "typing_Huffman.sorted", "unit_inversion", "unit_typing" - ], - 0, - "42419d9811ca9030fd6e7d6ba3c1357f" - ], - [ - "Huffman.sorted_smaller", - 3, - 2, - 1, - [ "@query", "assumption_Huffman.trie__uu___haseq" ], - 0, - "4c1fd42ae6eaf2b22c81d11c52dfdadc" - ], - [ - "Huffman.insert_in_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_Huffman.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_Huffman.sorted.fuel_instrumented", "@query", - "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "assumption_Huffman.trie__uu___haseq", - "binder_x_08251f7dff76731601212468f6d19505_1", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", "bool_inversion", - "constructor_distinct_BoxInt", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Huffman.leq_trie", - "equation_Huffman.permutation", "equation_Huffman.weight", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_Huffman.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Huffman.trie@tok", - "lemma_Huffman.sorted_smaller", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Huffman.sorted" - ], - 0, - "9fc254bf434955dc2769f1f7bc727f19" - ], - [ - "Huffman.insertion_sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_Huffman.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_Huffman.trie__uu___haseq", - "binder_x_08251f7dff76731601212468f6d19505_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Huffman.permutation", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_Huffman.sorted.fuel_instrumented", - "fuel_guarded_inversion_Huffman.trie", - "fuel_guarded_inversion_Prims.list", "kinding_Huffman.trie@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons" - ], - 0, - "3ce3d708ce7410dfc9e18b1c324bb0f4" - ], - [ - "Huffman.huffman_trie", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.existsb.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Huffman.insert_in_sorted.fuel_instrumented", - "@fuel_correspondence_Huffman.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Huffman.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Huffman_interpretation_Tm_arrow_f850f6e4b822503611af590972588df1", - "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "binder_x_08251f7dff76731601212468f6d19505_0", "bool_inversion", - "constructor_distinct_Huffman.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Huffman.Node", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Huffman.permutation", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.existsb.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_Huffman.insert_in_sorted.fuel_instrumented", - "equation_with_fuel_Huffman.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Huffman.uu___is_Node", - "kinding_Huffman.trie@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Huffman.Node_l", - "projection_inverse_Huffman.Node_r", - "projection_inverse_Huffman.Node_w", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d687cd2c4dae2d932b2d75511d723aa1", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_Huffman.sorted.fuel_instrumented", - "token_correspondence_Huffman.uu___is_Node", - "typing_FStar.List.Tot.Base.existsb", - "typing_FStar.List.Tot.Base.length", "typing_Huffman.huffman_trie", - "typing_Huffman.sorted", "typing_Huffman.uu___is_Node", - "typing_Huffman.weight", "well-founded-ordering-on-nat" - ], - 0, - "050548fa0351adb933a43939561c375c" - ], - [ - "Huffman.huffman", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Huffman_interpretation_Tm_arrow_1b2c1158b4e255fba8fc2a87483a87ec", - "equation_Huffman.permutation", "equation_Huffman.symbol", - "equation_Prims.eqtype", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Huffman.trie@tok", - "lemma_FStar.List.Tot.Properties.map_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Huffman.symbol", - "typing_Tm_abs_6533a4f83db3855fa174143ac8c4ac82" - ], - 0, - "84eefda86d0d492c82c27bfaa7fb142c" - ], - [ - "Huffman.encode_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "equation_Prims.eqtype", "fuel_guarded_inversion_Huffman.trie", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Huffman.Node", "typing_Prims.bool" - ], - 0, - "28402bb8881b053284ab6f3ccd1c0af2" - ], - [ - "Huffman.encode", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_Huffman.encode_one.fuel_instrumented", - "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_5664862f8c95f34d6022565a258b3785_1", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Huffman.Node", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Node", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_Huffman.encode_one.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "token_correspondence_Huffman.encode_one.fuel_instrumented", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_Huffman.symbol", "typing_Prims.__proj__Cons__item__tl", - "typing_Prims.bool", "typing_Prims.uu___is_Cons", - "typing_Prims.uu___is_Nil" - ], - 0, - "eff2ff2b6f701ab26c7b1380b3a3d33d" - ], - [ - "Huffman.encode", - 2, - 2, - 1, - [ "@query" ], - 0, - "06b3c687252b97541dbbbf11b7b595bc" - ], - [ - "Huffman.decode_one", - 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", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Huffman.Leaf", - "constructor_distinct_Huffman.Node", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.snd", "equation_Huffman.symbol", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Huffman.trie", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Huffman.Node_l", - "projection_inverse_Huffman.Node_r", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eb373655b92fcc8b9e9ecb88d5abf711", - "refinement_interpretation_Tm_refine_eb5c11e8fb0bbe6113b00b3bac1484b5", - "subterm_ordering_Huffman.Node", "typing_Huffman.decode_one", - "typing_Huffman.uu___is_Leaf", "typing_Prims.bool", - "typing_Prims.uu___is_Cons" - ], - 0, - "b8cc4394b17dd3ada9e4fc00e50e2050" - ], - [ - "Huffman.decode_one", - 2, - 2, - 1, - [ "@query" ], - 0, - "2c079d66bfd41bd565171d5f24428eec" - ], - [ - "Huffman.decode'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_1", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Huffman.Node", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.snd", "equation_Huffman.symbol", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Huffman.trie", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "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", - "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_Huffman.Node_l", - "projection_inverse_Huffman.Node_r", - "projection_inverse_Huffman.Node_w", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_Huffman.symbol", - "typing_Huffman.uu___is_Node", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "53696e743cccbe81e5e6888dc03d1f07" - ], - [ - "Huffman.decode_aux", - 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", "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_2", - "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Huffman.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Huffman.trie", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "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", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "subterm_ordering_Prims.Cons", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", - "well-founded-ordering-on-nat" - ], - 0, - "bff47c4107bfe802196a70f6b20ab999" - ], - [ - "Huffman.decode", - 1, - 2, - 1, - [ "@query" ], - 0, - "a350ece065ac784f5bf045dd2060eab6" - ], - [ - "Huffman.cancelation_one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Huffman.decode_aux.fuel_instrumented", - "@fuel_correspondence_Huffman.encode_one.fuel_instrumented", - "@fuel_irrelevance_Huffman.decode_aux.fuel_instrumented", - "@fuel_irrelevance_Huffman.encode_one.fuel_instrumented", "@query", - "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.list__uu___haseq", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_0", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", - "binder_x_c4ae7dfc81ed1048cae1943e895e3f2c_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Huffman.Leaf", - "constructor_distinct_Huffman.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_with_fuel_Huffman.decode_aux.fuel_instrumented", - "equation_with_fuel_Huffman.encode_one.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Huffman.trie", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Huffman.Leaf_s", - "projection_inverse_Huffman.Leaf_w", - "projection_inverse_Huffman.Node_l", - "projection_inverse_Huffman.Node_r", - "projection_inverse_Huffman.Node_w", - "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_da21e2f813ab8bad3b81748c14e80223", - "subterm_ordering_Huffman.Node", "typing_Huffman.encode_one", - "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", - "typing_Prims.bool", "unit_inversion", "unit_typing" - ], - 0, - "1cd6875072ee1c3d0d45af600c52638c" - ], - [ - "Huffman.cancelation_one", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Huffman.encode_one.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.list__uu___haseq", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Node", "equation_Huffman.symbol", - "equation_Prims.eqtype", - "equation_with_fuel_Huffman.encode_one.fuel_instrumented", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d5962157abff34b096c1d47326a66f36", - "token_correspondence_Huffman.encode_one.fuel_instrumented", - "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", - "typing_Prims.bool" - ], - 0, - "d0ab0e588c875e68edb39101f78e964b" - ], - [ - "Huffman.decode_prefix_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Huffman.decode_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Huffman.decode_aux.fuel_instrumented", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Huffman_pretyping_7e0e32870af72b30cad3010be3cb1c4f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", - "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_2", - "binder_x_0ac2f7b25dff899a09cad33bdd7540a2_3", - "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_7e0e32870af72b30cad3010be3cb1c4f_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Huffman.Leaf", - "constructor_distinct_Huffman.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Leaf", "disc_equation_Huffman.Node", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Huffman.symbol", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_Huffman.decode_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Huffman.trie", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "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", - "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_Huffman.Leaf_s", - "projection_inverse_Huffman.Leaf_w", - "projection_inverse_Huffman.Node_l", - "projection_inverse_Huffman.Node_r", - "projection_inverse_Huffman.Node_w", - "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", - "refinement_interpretation_Tm_refine_99536e6f37ccf6f6bc009d5229378582", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_Huffman.decode_aux", - "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", - "typing_Prims.bool", "unit_typing" - ], - 0, - "2126e65a0d1a5faf2be2cc1bf9fa0e1f" - ], - [ - "Huffman.decode_prefix_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_Huffman.symbol", - "equation_Prims.eqtype", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Huffman.symbol" - ], - 0, - "0761acd384a24d6244b0140771ac92d0" - ], - [ - "Huffman.decode_prefix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Huffman.decode_aux.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", - "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_302efbf189608c280f806e210412dd43_2", - "disc_equation_Huffman.Node", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.op_At", "equation_Huffman.decode", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_99536e6f37ccf6f6bc009d5229378582", - "refinement_interpretation_Tm_refine_d2496c873f50bc4b577e4c10804c264b", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "typing_Huffman.decode_aux", "typing_Huffman.symbol", - "typing_Huffman.uu___is_Node" - ], - 0, - "bc94a14f9df035d199b6956f7032fb14" - ], - [ - "Huffman.decode_prefix", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_Huffman.symbol", - "equation_Prims.eqtype", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "typing_Huffman.symbol" - ], - 0, - "e6b97a48a0c8059924abfa4ae253e574" - ], - [ - "Huffman.cancelation_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Huffman.decode_aux.fuel_instrumented", - "@fuel_correspondence_Huffman.encode.fuel_instrumented", - "@fuel_correspondence_Huffman.encode_one.fuel_instrumented", - "@fuel_irrelevance_Huffman.decode_aux.fuel_instrumented", - "@fuel_irrelevance_Huffman.encode.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.list__uu___haseq", - "binder_x_19fda87c5541a0dfffbbd8c4bd5d9bbe_0", - "binder_x_5664862f8c95f34d6022565a258b3785_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Huffman.Node", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Huffman.decode", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "equation_with_fuel_Huffman.encode.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_99536e6f37ccf6f6bc009d5229378582", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "refinement_interpretation_Tm_refine_f6e79b3d33ec540dcb47e383f0564c7a", - "subterm_ordering_Prims.Cons", "typing_Huffman.decode_aux", - "typing_Huffman.encode", "typing_Huffman.encode_one", - "typing_Huffman.symbol", "typing_Huffman.uu___is_Node", - "typing_Prims.bool", "unit_inversion", "unit_typing" - ], - 0, - "8355fe63beaf61ff88412cf0f8a1102b" - ], - [ - "Huffman.cancelation_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Huffman.symbol", - "equation_Prims.eqtype", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_da21e2f813ab8bad3b81748c14e80223", - "typing_Huffman.symbol", "typing_Prims.bool" - ], - 0, - "ef2be13379c8051cddf57249ac9d6da8" - ], - [ - "Huffman.cancelation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.list__uu___haseq", "bool_typing", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Huffman.symbol", "typing_Prims.bool" - ], - 0, - "36df553efd89e5239bbd8fb46c47a98c" - ], - [ - "Huffman.cancelation", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.list__uu___haseq", "bool_typing", - "equation_Huffman.symbol", "equation_Prims.eqtype", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Huffman.symbol", "typing_Prims.bool" - ], - 0, - "5578b20adf9275d88d5fcfe9efc4948a" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/Huffman/Huffman.fsproj b/examples/algorithms/Huffman/Huffman.fsproj index 42687221fea..674f9d8b1e0 100644 --- a/examples/algorithms/Huffman/Huffman.fsproj +++ b/examples/algorithms/Huffman/Huffman.fsproj @@ -5,7 +5,7 @@ ..\..\.. - --use_hints --record_hints + --ext context_pruning diff --git a/examples/algorithms/InsertionSort.fst.hints b/examples/algorithms/InsertionSort.fst.hints deleted file mode 100644 index 41e747fd22f..00000000000 --- a/examples/algorithms/InsertionSort.fst.hints +++ /dev/null @@ -1,128 +0,0 @@ -[ - "\u0002É\u001c©\fþõ9Ë7\u0002¹‡\u0004f", - [ - [ - "InsertionSort.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_IntSort.permutation", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_IntSort.sorted_smaller", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", - "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_IntSort.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted", - "typing_Prims.int" - ], - 0, - "6ba79ca34fb27bd8bf79adcd7a2f2bac" - ], - [ - "InsertionSort.insert_implicit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4bb3e7f5f20a26f76ed0f345eab0aa93_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_IntSort.permutation", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_IntSort.sorted_smaller", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7d27f65491c760eed369810570f38690", - "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", - "subterm_ordering_Prims.Cons", - "token_correspondence_IntSort.sorted.fuel_instrumented", - "typing_IntSort.sorted", "typing_Prims.int" - ], - 0, - "1ec70724b162786613eedb8933ec49a4" - ], - [ - "InsertionSort.sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_IntSort.permutation", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8940e385d966068a5e15c2861dbb927f", - "refinement_interpretation_Tm_refine_e8403f918d280ddafd288213ea995835", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "0ad65e9d133b716c99a1309668e7f406" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/InsertionSort2.fst.hints b/examples/algorithms/InsertionSort2.fst.hints deleted file mode 100644 index 220f606aabb..00000000000 --- a/examples/algorithms/InsertionSort2.fst.hints +++ /dev/null @@ -1,299 +0,0 @@ -[ - "Y-¸\f®BúŠq\u0010óý€²Kã", - [ - [ - "InsertionSort2.insert'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f67b3b73ea303e30479eca0fddae41b1" - ], - [ - "InsertionSort2.insert'_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insert_.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insert_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insert_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "token_correspondence_InsertionSort2.insert_.fuel_instrumented", - "typing_GenericSort.sorted", "typing_InsertionSort2.insert_", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.uu___is_Nil", - "unit_inversion", "unit_typing" - ], - 0, - "015a7c0c992986321e5df3880e23a5c2" - ], - [ - "InsertionSort2.insert'_stable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insert_.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insert_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_GenericStability.stable", - "equation_Prims.eqtype", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insert_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_GenericSort.sorted", - "typing_InsertionSort2.insert_", "unit_inversion", "unit_typing" - ], - 0, - "8655c2d5db60a40108604e33cd240059" - ], - [ - "InsertionSort2.insert'_permutation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insert_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insert_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_GenericSort.permutation_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insert_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_InsertionSort2.insert_", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.uu___is_Nil", - "unit_inversion", "unit_typing" - ], - 0, - "7e88d3da3e5458bf92114af55f8d9b65" - ], - [ - "InsertionSort2.insertionsort'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "1f57fb6f79b62748ec97e55e724abf90" - ], - [ - "InsertionSort2.insertionsort'_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insertionsort_.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insertionsort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insertionsort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_GenericSort.sorted", - "typing_InsertionSort2.insert_", - "typing_InsertionSort2.insertionsort_" - ], - 0, - "e330ff049c91f83529815afc51c30551" - ], - [ - "InsertionSort2.insertionsort'_stable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insertionsort_.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insertionsort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_GenericStability.stable", - "equation_Prims.eqtype", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insertionsort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_GenericSort.sorted", - "typing_InsertionSort2.insertionsort_" - ], - 0, - "20ba8ca176fc2bfbd9ffa12eaf3fd42a" - ], - [ - "InsertionSort2.insertionsort'_permutation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insert_.fuel_instrumented", - "@fuel_correspondence_InsertionSort2.insertionsort_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_InsertionSort2.insertionsort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "InsertionSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_GenericSort.permutation", - "equation_GenericSort.permutation_2", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_InsertionSort2.insertionsort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_InsertionSort2.insert_", - "typing_InsertionSort2.insertionsort_", "typing_Prims.uu___is_Nil" - ], - 0, - "d09eadc2b559b7f4203137c5d40dfc1d" - ], - [ - "InsertionSort2.insertionsort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_InsertionSort2.insertionsort_.fuel_instrumented", - "@query", "equation_GenericSort.permutation", - "equation_GenericStability.stable", - "equation_with_fuel_InsertionSort2.insertionsort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list" - ], - 0, - "9ff2ea336996a2d112f677c1dde74b28" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/IntSort.fst.hints b/examples/algorithms/IntSort.fst.hints deleted file mode 100644 index fc96c5b674a..00000000000 --- a/examples/algorithms/IntSort.fst.hints +++ /dev/null @@ -1,128 +0,0 @@ -[ - ",\u0010÷øvÁ\n\bÁ\u0012¥T?\u001f·", - [ - [ - "IntSort.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl", - "typing_Prims.int" - ], - 0, - "04396639f72a8ae653d426001d209e67" - ], - [ - "IntSort.test_sorted", - 1, - 2, - 1, - [ "@query" ], - 0, - "a9f8dcc4cd46c9c65e931400e6e3ef1d" - ], - [ - "IntSort.test_sorted", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@query", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1a15040de6975f2135ed992633c6991c" - ], - [ - "IntSort.test_sorted2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_Prims.eqtype", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "698017389ecfa4c77375482480d82db1" - ], - [ - "IntSort.sorted_smaller", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", - "binder_x_66b03f5c7897b05649fed8196554c587_2", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_ae567c2fb75be05905677af440075565_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_IntSort.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "7b4adbf55a036b9b1dec0da361ed6b22" - ], - [ - "IntSort.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "32ad19fd88da67090f72c9f609456d56" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/IntervalIntersect.fst.hints b/examples/algorithms/IntervalIntersect.fst.hints deleted file mode 100644 index cf4901b963b..00000000000 --- a/examples/algorithms/IntervalIntersect.fst.hints +++ /dev/null @@ -1,743 +0,0 @@ -[ - "ÙoHá´ëƒ¥–¡/(U1%", - [ - [ - "IntervalIntersect.interval", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_IntervalIntersect.offset", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Int64.t" - ], - 0, - "900ed7d88a82a7fb0c49904514aefbc5" - ], - [ - "IntervalIntersect.goodLIs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_30f12a624e2d17bade0fd1f3b75b6389_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f9cf8e8b958988d69a252cf772822379" - ], - [ - "IntervalIntersect.good", - 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, - "8404e5f546553693ff823c676d348a52" - ], - [ - "IntervalIntersect.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.size", "int_inversion", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int64.v" - ], - 0, - "18ba9e8ba560c8d995bef55831d79bb5" - ], - [ - "IntervalIntersect.go", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_IntervalIntersect.interval__uu___haseq", - "assumption_Prims.list__uu___haseq", - "binder_x_52b8f269df478610439a51c7e4e22f0e_0", - "binder_x_52b8f269df478610439a51c7e4e22f0e_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "data_typing_intro_IntervalIntersect.I@tok", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Int.gte", - "equation_FStar.Int.int_t", "equation_FStar.Int.lt", - "equation_FStar.Int.lte", "equation_FStar.Int64.gte", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_FStar.List.Tot.Base.hd", "equation_FStar.Math.Lib.max", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.max", - "equation_IntervalIntersect.needs_reorder", - "equation_IntervalIntersect.offset", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_IntervalIntersect.interval@tok", "lemma_FStar.Int64.uv_inv", - "lemma_FStar.Int64.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "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_IntervalIntersect.I_from", - "projection_inverse_IntervalIntersect.I_to", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3b1de445e68d5a7cbfc9e637b6d5fe5c", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int64.lt", "typing_FStar.Int64.v", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Math.Lib.max", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good", "typing_IntervalIntersect.max", - "typing_IntervalIntersect.needs_reorder", - "well-founded-ordering-on-nat" - ], - 0, - "ed5da8dc16f9328ab9570c4d3309eae0" - ], - [ - "IntervalIntersect.go", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IntervalIntersect_pretyping_bf40a39ac8b1c29cb8a6ad5a118d8257", - "assumption_IntervalIntersect.interval__uu___haseq", - "assumption_Prims.list__uu___haseq", "disc_equation_Prims.Cons", - "equation_IntervalIntersect.intervals", - "fuel_guarded_inversion_Prims.list", - "kinding_IntervalIntersect.interval@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_9cb83bd564af2fea0279163ad7e9dc60" - ], - 0, - "13ff6b5e8056c3462a9516443a6cd1e7" - ], - [ - "IntervalIntersect.mem_rangeGT", - 1, - 2, - 1, - [ - "@query", "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.rangeGT" - ], - 0, - "bded5c498653da79bca3bde24acf2965" - ], - [ - "IntervalIntersect.range", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_835fed63856fad93ffc6f5b89ab84853_0", - "binder_x_835fed63856fad93ffc6f5b89ab84853_1", "bool_inversion", - "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.gte", - "equation_FStar.Int.int_t", "equation_FStar.Int.lt", - "equation_FStar.Int.lte", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int64.gte", "equation_FStar.Int64.lt", - "equation_FStar.Int64.lte", "equation_IntervalIntersect.offset", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int64.uv_inv", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_IntervalIntersect.mem_rangeGT", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_18af00083f909979d01992bbe319dba4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int64.lt", - "typing_FStar.Int64.t", "typing_FStar.Int64.v", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "well-founded-ordering-on-nat" - ], - 0, - "60037ccfcc4a3a2dd3eaa6dd1d3236ce" - ], - [ - "IntervalIntersect.sem", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@query", "binder_x_52b8f269df478610439a51c7e4e22f0e_0", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.offset", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "subterm_ordering_Prims.Cons", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int64.v", "typing_IntervalIntersect.good" - ], - 0, - "ef8083d6755285b8cbcd22b33299d629" - ], - [ - "IntervalIntersect.lemma_disjoint_intro", - 1, - 2, - 1, - [ "@query", "equation_FStar.Set.disjoint" ], - 0, - "896513cf8e0924b23c0b202050b5701c" - ], - [ - "IntervalIntersect.lemma_semI_sem_disjoint", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.sem.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.sem.fuel_instrumented", - "@query", - "IntervalIntersect_pretyping_bf40a39ac8b1c29cb8a6ad5a118d8257", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.lt", - "equation_FStar.Int.lte", "equation_FStar.Int.size", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Set.disjoint", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.semI", "equation_Prims.pos", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.sem.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_IntervalIntersect.interval@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_IntervalIntersect.mem_rangeGT", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1b7215935e1bfa78037de3e3c20edd7d", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "subterm_ordering_Prims.Cons", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int64.lte", - "typing_FStar.Int64.t", "typing_FStar.Int64.v", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good", "typing_IntervalIntersect.goodLIs", - "typing_IntervalIntersect.range", "typing_IntervalIntersect.sem", - "typing_IntervalIntersect.semI" - ], - 0, - "3105530098fe8a1cc4adff27745390b2" - ], - [ - "IntervalIntersect.lemma_disjoint_prefix", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.sem.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.sem.fuel_instrumented", - "@query", - "IntervalIntersect_pretyping_bf40a39ac8b1c29cb8a6ad5a118d8257", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_IntervalIntersect.I", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.Int.gte", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int64.gte", "equation_FStar.Int64.lt", - "equation_FStar.Int64.lte", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.semI", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.sem.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_IntervalIntersect.interval@tok", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f12250cd049034ecc1144e28ba699e0b", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "token_correspondence_IntervalIntersect.sem.fuel_instrumented", - "typing_FStar.Int64.lt", "typing_FStar.Int64.t", - "typing_FStar.Int64.v", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good", "typing_IntervalIntersect.sem", - "typing_IntervalIntersect.semI" - ], - 0, - "636934603d2c818c78e7ab53ce39b5c2" - ], - [ - "IntervalIntersect.lemma_subset_prefix", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.sem.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.sem.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "equation_FStar.Int.gte", - "equation_FStar.Int.int_t", "equation_FStar.Int.lt", - "equation_FStar.Int.lte", "equation_FStar.Int64.gte", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_FStar.List.Tot.Base.hd", "equation_FStar.Math.Lib.max", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.max", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.semI", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.sem.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_IntervalIntersect.interval@tok", "lemma_FStar.Int64.vu_inv", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "lemma_IntervalIntersect.mem_rangeGT", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_IntervalIntersect.I_from", - "projection_inverse_IntervalIntersect.I_to", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1b7215935e1bfa78037de3e3c20edd7d", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_52ac13c9ff505bfb8caacdf5acc7d5df", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f12250cd049034ecc1144e28ba699e0b", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int64.lt", "typing_FStar.Int64.t", - "typing_FStar.Int64.v", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good", "typing_IntervalIntersect.max", - "typing_IntervalIntersect.range", "typing_IntervalIntersect.sem", - "typing_IntervalIntersect.semI" - ], - 0, - "6ae7f4dc13ca3748c1fa79f4ec74d277" - ], - [ - "IntervalIntersect.lemma_overlapping_prefix", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.range.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.sem.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.sem.fuel_instrumented", - "@query", - "IntervalIntersect_pretyping_bf40a39ac8b1c29cb8a6ad5a118d8257", - "binder_x_38f57fe0c68bdc8fbf7bd30de2a8aaaf_0", - "binder_x_38f57fe0c68bdc8fbf7bd30de2a8aaaf_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_IntervalIntersect.I", "data_elim_Prims.Cons", - "data_typing_intro_IntervalIntersect.I@tok", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.Int.gt", "equation_FStar.Int.gte", - "equation_FStar.Int.int_t", "equation_FStar.Int.lt", - "equation_FStar.Int.lte", "equation_FStar.Int64.gt", - "equation_FStar.Int64.gte", "equation_FStar.Int64.lt", - "equation_FStar.Int64.lte", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Math.Lib.max", "equation_FStar.Set.disjoint", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.max", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.semI", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.sem.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_IntervalIntersect.interval@tok", "lemma_FStar.Int64.vu_inv", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_IntervalIntersect.mem_rangeGT", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_IntervalIntersect.I_from", - "projection_inverse_IntervalIntersect.I_to", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1b7215935e1bfa78037de3e3c20edd7d", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_5a2564d2d89b060a75ad734c2ec992eb", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f12250cd049034ecc1144e28ba699e0b", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "token_correspondence_IntervalIntersect.sem.fuel_instrumented", - "typing_FStar.Int64.lt", "typing_FStar.Int64.lte", - "typing_FStar.Int64.t", "typing_FStar.Int64.v", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good", "typing_IntervalIntersect.max", - "typing_IntervalIntersect.range", "typing_IntervalIntersect.sem", - "typing_IntervalIntersect.semI" - ], - 0, - "a2e42f623a2a669db1d360fb95f9bbfb" - ], - [ - "IntervalIntersect.lemma_overlapping_prefix", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Int.fits", "equation_FStar.Int.gt", - "equation_FStar.Int.gte", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int.size", "equation_FStar.Int64.gt", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_FStar.List.Tot.Base.hd", "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.offset", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_43620413f24d4bea3f9da1c03e4e97ec", - "refinement_interpretation_Tm_refine_7ef2cc3b4736ba226daf0be63d231a99", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f12250cd049034ecc1144e28ba699e0b", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int64.v", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.good" - ], - 0, - "3989d44c52b512d24da83294f579aa91" - ], - [ - "IntervalIntersect.lemma_intersection_spec", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.go.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_IntervalIntersect.sem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.go.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.sem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_52b8f269df478610439a51c7e4e22f0e_0", - "binder_x_52b8f269df478610439a51c7e4e22f0e_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "data_typing_intro_IntervalIntersect.I@tok", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Int.gt", - "equation_FStar.Int.gte", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int64.gt", "equation_FStar.Int64.gte", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Math.Lib.max", - "equation_FStar.Set.disjoint", "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intersect", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.max", - "equation_IntervalIntersect.needs_reorder", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.semI", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.go.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_IntervalIntersect.sem.fuel_instrumented", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_IntervalIntersect.interval@tok", "lemma_FStar.Int64.uv_inv", - "lemma_FStar.Int64.vu_inv", "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_intersect", - "lemma_IntervalIntersect.mem_rangeGT", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_IntervalIntersect.I_from", - "proj_equation_IntervalIntersect.I_to", - "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_IntervalIntersect.I_from", - "projection_inverse_IntervalIntersect.I_to", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1b7215935e1bfa78037de3e3c20edd7d", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9832c3203f2b503ce008681d92a4a3e8", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "token_correspondence_IntervalIntersect.sem.fuel_instrumented", - "typing_FStar.Int64.lt", "typing_FStar.Int64.t", - "typing_FStar.Int64.v", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", - "typing_IntervalIntersect.__proj__I__item__from", - "typing_IntervalIntersect.__proj__I__item__to", - "typing_IntervalIntersect.go", "typing_IntervalIntersect.good", - "typing_IntervalIntersect.intersect", "typing_IntervalIntersect.max", - "typing_IntervalIntersect.needs_reorder", - "typing_IntervalIntersect.offset", "typing_IntervalIntersect.range", - "typing_IntervalIntersect.sem", "typing_IntervalIntersect.semI", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "60a730f37fb17d24ff17b43295c6ce20" - ], - [ - "IntervalIntersect.ppIntervals'", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_IntervalIntersect.I", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int64.lt", "equation_FStar.Int64.lte", - "equation_IntervalIntersect.good", - "equation_IntervalIntersect.intervals", - "equation_IntervalIntersect.offset", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_IntervalIntersect.interval", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3daec34da1407a73ad589b5d9714bf6d", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "typing_FStar.Int64.v", "typing_IntervalIntersect.good", - "unit_typing" - ], - 0, - "70e713cbbbc86e23f3e66107a5f89449" - ], - [ - "IntervalIntersect.main", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_IntervalIntersect.goodLIs.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "IntervalIntersect_pretyping_bf40a39ac8b1c29cb8a6ad5a118d8257", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.lte", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Int64.lt", - "equation_FStar.Int64.lte", "equation_IntervalIntersect.good", - "equation_IntervalIntersect.offset", - "equation_IntervalIntersect.toI", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_IntervalIntersect.goodLIs.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Int64.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_IntervalIntersect.I_from", - "projection_inverse_IntervalIntersect.I_to", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_20b9727bfb368ca1ad6e64242df43812", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int64.int_to_t", - "typing_Prims.pow2" - ], - 0, - "45bb1366bf723cc9c0e0b244703c67bd" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/MergeSort.fst.hints b/examples/algorithms/MergeSort.fst.hints deleted file mode 100644 index b499346f442..00000000000 --- a/examples/algorithms/MergeSort.fst.hints +++ /dev/null @@ -1,163 +0,0 @@ -[ - "ê\u0018di¹ÕÁR­\u001awua¸g\u0019", - [ - [ - "MergeSort.split", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_66b03f5c7897b05649fed8196554c587_0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_IntSort.permutation_2", "equation_MergeSort.split_inv", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int", - "typing_Prims.uu___is_Nil" - ], - 0, - "236bc1cbf38e484ec1b1dbe2083271c2" - ], - [ - "MergeSort.split", - 2, - 2, - 1, - [ "@query" ], - 0, - "654d954e8cb8472a2284d06c25fe7e5c" - ], - [ - "MergeSort.merge_inv", - 1, - 2, - 1, - [ "@query" ], - 0, - "94e49e68195a03a2f44c856109f15588" - ], - [ - "MergeSort.merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_IntSort.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "binder_x_66b03f5c7897b05649fed8196554c587_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_IntSort.permutation_2", "equation_MergeSort.merge_inv", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_IntSort.sorted_smaller", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2547a65943c734e2839d0ebba2b81f2", - "refinement_interpretation_Tm_refine_f7c04a743c3455d4f28ea7bd7bad8753", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_IntSort.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_IntSort.sorted", - "typing_MergeSort.merge", "typing_Prims.int" - ], - 0, - "4b0e97bfdaf9d9bd581e1de64eee3e83" - ], - [ - "MergeSort.mergesort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IntSort.sorted.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_IntSort.permutation", "equation_IntSort.permutation_2", - "equation_MergeSort.split_inv", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_IntSort.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_FStar.List.Tot.Base.length", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "aefdbdb0f454c4993f43a931b1b737f7" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/MergeSort2.fst.hints b/examples/algorithms/MergeSort2.fst.hints deleted file mode 100644 index d11b5b6b59f..00000000000 --- a/examples/algorithms/MergeSort2.fst.hints +++ /dev/null @@ -1,541 +0,0 @@ -[ - "O\r¯²,\u001dŒ\u0001Ò%\u0017ôb‰€w", - [ - [ - "MergeSort2.merge'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "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, - "a6b2d4fc98a50afaa2f16ceb58397a47" - ], - [ - "MergeSort2.merge'_permutation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_MergeSort2.merge_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.merge_.fuel_instrumented", "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_GenericSort.permutation_2", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_MergeSort2.merge_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_MergeSort2.merge_", - "unit_inversion", "unit_typing" - ], - 0, - "7fbd90d89eff4d97f9dcba97142b2262" - ], - [ - "MergeSort2.merge'_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_MergeSort2.merge_.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.merge_.fuel_instrumented", "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_MergeSort2.merge_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_GenericSort.sorted.fuel_instrumented", - "token_correspondence_MergeSort2.merge_.fuel_instrumented", - "typing_GenericSort.sorted", "typing_MergeSort2.merge_", - "unit_inversion", "unit_typing" - ], - 0, - "cd6f068b9ca87102c3a6a6bab24bad16" - ], - [ - "MergeSort2.merge'_filter_eq_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "58ad826163d944283cc66075dbf2ba39" - ], - [ - "MergeSort2.merge'_filter_eq_inv", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_correspondence_MergeSort2.merge_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_GenericSort.sorted.fuel_instrumented", - "@fuel_irrelevance_GenericStability.filter_eq.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.merge_.fuel_instrumented", "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.list__uu___haseq", - "binder_x_582acf81e02a6e4176cba5e2730f867d_3", - "binder_x_9a99f0ed3c7c19be1f30eec0ab46713a_1", - "binder_x_9a99f0ed3c7c19be1f30eec0ab46713a_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_GenericStability.stable", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "equation_with_fuel_MergeSort2.merge_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.List.Tot.Properties.append_l_nil", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_68a3139579b4e370456a4a2443f8bb4d", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_GenericSort.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Base.tail", "typing_GenericSort.sorted", - "typing_GenericStability.filter_eq", "typing_MergeSort2.merge_", - "typing_Prims.uu___is_Cons", "unit_inversion", "unit_typing" - ], - 0, - "e500e0175bba476beb57ffe9630bfaa0" - ], - [ - "MergeSort2.merge'_filter_eq_inv", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "208aaa3dfe5e05890bcee2ae13bdd6f6" - ], - [ - "MergeSort2.merge'_stable", - 1, - 2, - 1, - [ "@query", "equation_GenericStability.stable" ], - 0, - "70de1740adc121f3917512dd4fc4598c" - ], - [ - "MergeSort2.split_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5678dd4c58a3ae55469c6aa6f9b7551c" - ], - [ - "MergeSort2.split_n", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "binder_x_12ad13c179a423968cde28ef13b41120_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_GenericSort.permutation_2", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Prims.list@tok", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d881694e2c5ef9e78cbf2eabc793bd33", - "refinement_interpretation_Tm_refine_ed79d725517da8cb1c3d6b1656dc617d", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "8de8aa0f9ad0f8c32178379d48275f2c" - ], - [ - "MergeSort2.split_n", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f8a02fe2836b99f4c74ea291adad0142" - ], - [ - "MergeSort2.split_half", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ce2d1b3837e674d387c3a28a9a7243ba" - ], - 0, - "efbcf0b807f0a298ae37f8e0cd5d690f" - ], - [ - "MergeSort2.mergesort'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_GenericSort.permutation_2", - "equation_MergeSort2.split_half", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_265d5aaae9c4478c5ac720ba42d3ea81", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_f28b7a7fea85abb9aeab640e2a54cf95", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_MergeSort2.split_n", - "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" - ], - 0, - "370790180ec3e2a2e23c6a492b316413" - ], - [ - "MergeSort2.mergesort'_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_GenericSort.sorted.fuel_instrumented", - "@fuel_correspondence_MergeSort2.mergesort_.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.mergesort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_GenericSort.permutation_2", - "equation_MergeSort2.split_half", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_GenericSort.sorted.fuel_instrumented", - "equation_with_fuel_MergeSort2.mergesort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_265d5aaae9c4478c5ac720ba42d3ea81", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_f28b7a7fea85abb9aeab640e2a54cf95", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_GenericSort.sorted", - "typing_MergeSort2.merge_", "typing_MergeSort2.mergesort_", - "typing_MergeSort2.split_n", "typing_Prims.__proj__Cons__item__tl", - "well-founded-ordering-on-nat" - ], - 0, - "18006c7fbb6a2bd2d21c1090178f4798" - ], - [ - "MergeSort2.mergesort'_permutation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MergeSort2.mergesort_.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.mergesort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_GenericSort.permutation", - "equation_GenericSort.permutation_2", - "equation_MergeSort2.split_half", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MergeSort2.mergesort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_265d5aaae9c4478c5ac720ba42d3ea81", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_f28b7a7fea85abb9aeab640e2a54cf95", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_MergeSort2.split_n", - "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" - ], - 0, - "c60912fce26cb2300186cb8b270883cd" - ], - [ - "MergeSort2.mergesort'_stable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_GenericStability.filter_eq.fuel_instrumented", - "@fuel_correspondence_MergeSort2.mergesort_.fuel_instrumented", - "@fuel_irrelevance_MergeSort2.mergesort_.fuel_instrumented", - "@query", - "GenericSort_interpretation_Tm_arrow_2b1c71e61beb0ccdfcd22e3f2064d949", - "MergeSort2_interpretation_Tm_arrow_605ada36aef613d3875663fdd1971cfd", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_582acf81e02a6e4176cba5e2730f867d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_GenericSort.permutation_2", - "equation_GenericStability.stable", "equation_MergeSort2.split_half", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_GenericStability.filter_eq.fuel_instrumented", - "equation_with_fuel_MergeSort2.mergesort_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "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_265d5aaae9c4478c5ac720ba42d3ea81", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_f28b7a7fea85abb9aeab640e2a54cf95", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MergeSort2.mergesort_.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_MergeSort2.mergesort_", - "typing_MergeSort2.split_n", "typing_Prims.__proj__Cons__item__tl", - "well-founded-ordering-on-nat" - ], - 0, - "1349d2e0998df23c33d60f15d700e1d1" - ], - [ - "MergeSort2.mergesort", - 1, - 2, - 1, - [ "@query", "equation_GenericStability.stable" ], - 0, - "6efc8d4d485684220720aee1d99b443e" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Array.fst.hints b/examples/algorithms/QuickSort.Array.fst.hints deleted file mode 100644 index a69a8a1fbc6..00000000000 --- a/examples/algorithms/QuickSort.Array.fst.hints +++ /dev/null @@ -1,249 +0,0 @@ -[ - "®O^\u000fø…Ã8é:!A—6\u001eT", - [ - [ - "QuickSort.Array.partition_pre", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "8f4d451ac41c843f2750789a3e83ee3a" - ], - [ - "QuickSort.Array.partition_post", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "typing_Prims.int" - ], - 0, - "ca00042d085aefa5e172d333585760c1" - ], - [ - "QuickSort.Array.partition", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "bool_inversion", "equation_FStar.Array.only", - "equation_FStar.Array.sel", "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.swap", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_QuickSort.Array.partition_inv", - "equation_QuickSort.Array.partition_post", - "equation_QuickSort.Array.partition_pre", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_b09fce306ed82acb7eb8c7534a6699f8", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Array.sel", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.mem", - "typing_Prims.int" - ], - 0, - "0177f53c27dea8c52da4d9c7fcef0bbd" - ], - [ - "QuickSort.Array.lemma_slice_cons_pv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "typing_FStar.Seq.Base.length" - ], - 0, - "0b7706f8d720899121db2108bc1b7cd6" - ], - [ - "QuickSort.Array.lemma_slice_cons_pv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "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.cons_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.length" - ], - 0, - "33c48e8f26b7d19d92ab0cdcbef9d58d" - ], - [ - "QuickSort.Array.sort", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7f4f9edecbfd9ba7a2eab61199540dc3", - "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length", - "typing_Prims.int" - ], - 0, - "f68c477cd18d94e767583e3e7c040a9c" - ], - [ - "QuickSort.Array.sort", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Array.only", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.tot_ord", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_QuickSort.Array.partition_inv", - "equation_QuickSort.Array.partition_post", - "equation_QuickSort.Array.partition_pre", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7f4f9edecbfd9ba7a2eab61199540dc3", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "token_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "typing_FStar.Array.sel", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.mem", "typing_Prims.int" - ], - 0, - "c02ba3d9bc6ada4a19a1d0cad2141349" - ], - [ - "QuickSort.Array.qsort", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", "bool_inversion", "equation_FStar.Seq.Properties.tot_ord", - "equation_Prims.eqtype", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "typing_FStar.Array.sel", "typing_FStar.Seq.Properties.sorted" - ], - 0, - "f81e53207ae23c19340ac96a0781efa3" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.List.fst.hints b/examples/algorithms/QuickSort.List.fst.hints deleted file mode 100644 index a4b466c65db..00000000000 --- a/examples/algorithms/QuickSort.List.fst.hints +++ /dev/null @@ -1,311 +0,0 @@ -[ - "ökQlüê7\t\u0001b3ô™}§", - [ - [ - "QuickSort.List.sorted", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "subterm_ordering_Prims.Cons" - ], - 0, - "e72391aff4f9560f4fe4725b3ab040c2" - ], - [ - "QuickSort.List.count", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "3625eecde210c70bf8fcdb001290725f" - ], - [ - "QuickSort.List.mem_count", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_QuickSort.List.count" - ], - 0, - "c1be6e6492b584fe098a2bfe058ba21a" - ], - [ - "QuickSort.List.partition", - 1, - 1, - 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, - "6f109eedf38b84206a54ea50790487bf" - ], - [ - "QuickSort.List.partition_lemma", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "QuickSort.List_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "equation_with_fuel_QuickSort.List.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_QuickSort.List.mem_count", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_QuickSort.List.count.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_QuickSort.List.count", - "typing_QuickSort.List.partition" - ], - 0, - "c1598eb328788c5469fdfdca337547e7" - ], - [ - "QuickSort.List.sorted_app_lemma", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_1764a6116741c7a0333841a23d29b244_2", - "binder_x_1764a6116741c7a0333841a23d29b244_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fa73c18594d08bb0081d6900c10a3e22_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_QuickSort.List.total_order", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_QuickSort.List.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0b2f95dfd86ca50bd4c9605f1f8a4a8c", - "refinement_interpretation_Tm_refine_17abf6cc62b543ab8e21c4b019598546", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_QuickSort.List.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At", - "typing_QuickSort.List.sorted" - ], - 0, - "46e149d8aaf7dbe88dc1242a237ca398" - ], - [ - "QuickSort.List.is_permutation", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "336e0fe845a67941c7a91d347878f8e6" - ], - [ - "QuickSort.List.append_count", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_QuickSort.List.count.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", "typing_QuickSort.List.count" - ], - 0, - "16c689904d16fe14a8e052b0887edf1e" - ], - [ - "QuickSort.List.permutation_app_lemma", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", "@query", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_QuickSort.List.is_permutation", - "equation_with_fuel_QuickSort.List.count.fuel_instrumented", - "int_inversion", "int_typing", "lemma_QuickSort.List.append_count", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_QuickSort.List.count" - ], - 0, - "91285ca9b9a05f47f6521ffc343fa133" - ], - [ - "QuickSort.List.quicksort", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.count.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.partition.fuel_instrumented", - "@fuel_correspondence_QuickSort.List.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.count.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.partition.fuel_instrumented", - "@fuel_irrelevance_QuickSort.List.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fa73c18594d08bb0081d6900c10a3e22_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_QuickSort.List.is_permutation", - "equation_QuickSort.List.total_order", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_QuickSort.List.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "lemma_QuickSort.List.append_count", - "lemma_QuickSort.List.mem_count", - "lemma_QuickSort.List.partition_lemma", - "lemma_QuickSort.List.sorted_app_lemma", - "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", - "refinement_interpretation_Tm_refine_17abf6cc62b543ab8e21c4b019598546", - "refinement_interpretation_Tm_refine_2bec8da86b03ffbb793b976c53fc6163", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_99f7df2863fee377fc834e4ed93b99b6", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_QuickSort.List.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_QuickSort.List.sorted", - "well-founded-ordering-on-nat" - ], - 0, - "aa6650d876c57195170bf35d019b206a" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/QuickSort.Seq.fst.hints b/examples/algorithms/QuickSort.Seq.fst.hints deleted file mode 100644 index 750e4dea992..00000000000 --- a/examples/algorithms/QuickSort.Seq.fst.hints +++ /dev/null @@ -1,145 +0,0 @@ -[ - "¹&Z˜SœjGÓºb¹¬:¯B", - [ - [ - "QuickSort.Seq.partition", - 1, - 0, - 0, - [ "@query" ], - 0, - "ea40099c6e2cbddb09931c87211100cf" - ], - [ - "QuickSort.Seq.partition", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_13651351701aa0233fa7c0a4f518c2b0_4", - "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f1f9afcb303c6d3e3e59f9c0ff4d6ea9_3", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.swap", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_058137dd29c2e401b0f27de4958bbd74", - "refinement_interpretation_Tm_refine_154a3e1da37d50b0a132fae533c5de4c", - "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b90164ae6054083792006082ff347d9", - "refinement_interpretation_Tm_refine_5d345a713b49e47c27bb613e775710b3", - "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d776e1ca9b781ace328f8cdd42b24350", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.count", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "d170199019af47c8225de7157fda2f5a" - ], - [ - "QuickSort.Seq.partition", - 3, - 0, - 0, - [ "@query" ], - 0, - "1591a495da778dab977865e320746839" - ], - [ - "QuickSort.Seq.sort", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "QuickSort.Seq_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0257a2cf38666af5438185786e843f12", - "refinement_interpretation_Tm_refine_0268b5741dc224757cd0476009a8991e", - "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.mem", "well-founded-ordering-on-nat" - ], - 0, - "a6082d214bc98e876023575b35340909" - ] - ] -] \ No newline at end of file diff --git a/examples/algorithms/Unification.fst.hints b/examples/algorithms/Unification.fst.hints deleted file mode 100644 index f4a9e284e35..00000000000 --- a/examples/algorithms/Unification.fst.hints +++ /dev/null @@ -1,1983 +0,0 @@ -[ - "­9\u000fKꛂš\u0016z}ÆÊ\u00192›", - [ - [ - "Unification.lemma_shift_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "89243853dfb1f4909d00ac959b1a9500" - ], - [ - "Unification.lemma_shift_append", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Unification.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append", - "token_correspondence_Unification.op_At", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "1fb8dbff7660a11d460e05f34e8f500c" - ], - [ - "Unification.lemma_shift_append", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "817c3771b1afc1a80dfda4823da8d6fb" - ], - [ - "Unification.term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9db949b17fe888331a30eb8d6480d469" - ], - [ - "Unification.__proj__V__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6f3162317a37ec3b40e2ddee0a47784" - ], - 0, - "cdaf3d8739686820530392c63b59a8d0" - ], - [ - "Unification.__proj__F__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" - ], - 0, - "21cc89bba7708ca6d815b7f8b0b0e212" - ], - [ - "Unification.__proj__F__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f9393b35e18e69a35f7906fba2f36513" - ], - 0, - "56dff81797c6f77bc9c264357d4f0fc9" - ], - [ - "Unification.nat_order", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f36faf1745732f6b338e5f77db5e6c2b" - ], - [ - "Unification.nat_order", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "265128c25b00ba853f6b4fa544e9886f" - ], - [ - "Unification.varset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "385149292691e6439c474dbc3c1637a0" - ], - [ - "Unification.empty_vars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7f111abde5ae2e8ee6ea725b74512bdc" - ], - [ - "Unification.vars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Unification.F", "typing_Prims.int" - ], - 0, - "117f86b370fa3dfcbd3529ff3bbb4d39" - ], - [ - "Unification.evars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "c46deea66369a4d34954d42d9fbe39d7" - ], - [ - "Unification.n_evars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ca7c1ebd4c462c78d1719d490af0bfc1" - ], - [ - "Unification.funs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_0", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_Prims.nat", "fuel_guarded_inversion_Unification.term", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F" - ], - 0, - "e8de5da47761bd1be3773a9b77ca06f4" - ], - [ - "Unification.efuns", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.funs.fuel_instrumented", "@query", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Unification.funs" - ], - 0, - "3de30a63cff504538c4e3b1585d44df8" - ], - [ - "Unification.n_flex_rhs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "equation_Unification.eqns", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "14c87d24a626e83cbeffa44bb6c30b98" - ], - [ - "Unification.subst_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Unification.F", "typing_Prims.int" - ], - 0, - "a6745810d4fde17c5fe7c60bd70f1f5b" - ], - [ - "Unification.occurs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "12d41f1db0cfd7e9e411599835dc3751" - ], - [ - "Unification.lsubst_eqns", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6970de4b54ea0dd7ba57d8bcaf9e6edc" - ], - [ - "Unification.lemma_lsubst_eqns_nil", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "d3488e4cd0d25219a59d936382da021c" - ], - [ - "Unification.lemma_lsubst_eqns_nil", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Unification.eqns", - "equation_Unification.lsubst_term", "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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", - "subterm_ordering_Prims.Cons", "typing_Unification.subst" - ], - 0, - "537305ae81915a641402b4a83b12f648" - ], - [ - "Unification.lemma_lsubst_eqns_nil", - 3, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "cfaf5c9fae6677565074db9bc64c7c95" - ], - [ - "Unification.evars_permute_hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.varset", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.nat_order" - ], - 0, - "84cd59e81f8ceef19d3e0cafbadef017" - ], - [ - "Unification.evars_permute_hd", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.evars.fuel_instrumented", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.OrdSet.equal", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.varset", - "equation_with_fuel_Unification.evars.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.nat_order", - "typing_Unification.vars" - ], - 0, - "982472db55e46352bc59af81f055efc4" - ], - [ - "Unification.evars_unfun", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.varset", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.nat_order" - ], - 0, - "84239298196e17c25683a91baed035b4" - ], - [ - "Unification.evars_unfun", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.evars.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.evars.fuel_instrumented", - "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Unification.F", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Unification.F@tok", "equation_FStar.OrdSet.equal", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.varset", - "equation_with_fuel_Unification.evars.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.vars.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_Prims.int", "typing_Unification.nat_order", - "typing_Unification.vars" - ], - 0, - "7127a6e0b999855f3f8f5d8aef649c4d" - ], - [ - "Unification.lemma_vars_decrease", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3e47ee5290755b0225bd0cfe6704b437" - ], - [ - "Unification.lemma_vars_decrease", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_e42194285e833ecefb2aa4536becb284_0", "bool_inversion", - "bool_typing", "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", "disc_equation_Unification.F", - "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.occurs", - "equation_Unification.ok", "equation_Unification.subst", - "equation_Unification.varset", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_Unification.term@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F", - "token_correspondence_Unification.vars.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.int", - "typing_Unification.nat_order", "typing_Unification.occurs", - "typing_Unification.ok", "typing_Unification.subst_term", - "typing_Unification.vars" - ], - 0, - "8bbf1ba9fd3a44395f12bf6c14f524a4" - ], - [ - "Unification.lemma_vars_decrease", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "35185eac400f24d54a2c20458cb9df02" - ], - [ - "Unification.vars_decrease_eqns", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d7c551d1332f79310e43d8a068b7906c" - ], - [ - "Unification.vars_decrease_eqns", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.evars.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.evars.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Unification.V@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.empty_vars", - "equation_Unification.eqns", "equation_Unification.lsubst_term", - "equation_Unification.occurs", "equation_Unification.ok", - "equation_Unification.subst", "equation_Unification.varset", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.evars.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_AmpAmp", "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", - "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", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.subst_term", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_FStar.OrdSet.union", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.int", - "typing_Unification.evars", "typing_Unification.lsubst_eqns", - "typing_Unification.lsubst_term", "typing_Unification.nat_order", - "typing_Unification.occurs", "typing_Unification.subst", - "typing_Unification.subst_term", "typing_Unification.vars" - ], - 0, - "b3533838f31df055a1849c024469a343" - ], - [ - "Unification.vars_decrease_eqns", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "099d08d017fe1c05c752cf7cb9b6dea5" - ], - [ - "Unification.unify", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.efuns.fuel_instrumented", - "@fuel_correspondence_Unification.evars.fuel_instrumented", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_correspondence_Unification.n_flex_rhs.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.efuns.fuel_instrumented", - "@fuel_irrelevance_Unification.evars.fuel_instrumented", - "@fuel_irrelevance_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", - "@query", "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Unification.V", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_elim_Unification.F", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "disc_equation_Unification.F", - "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_Unification.eqns", "equation_Unification.n_evars", - "equation_Unification.occurs", "equation_Unification.ok", - "equation_Unification.subst", "equation_Unification.varset", - "equation_with_fuel_Unification.efuns.fuel_instrumented", - "equation_with_fuel_Unification.evars.fuel_instrumented", - "equation_with_fuel_Unification.funs.fuel_instrumented", - "equation_with_fuel_Unification.n_flex_rhs.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_remove", - "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", - "lemma_FStar.OrdSet.subset_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Unification.V_i", - "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_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Unification.efuns.fuel_instrumented", - "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.funs.fuel_instrumented", - "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.union", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Prims.int", "typing_Unification.efuns", - "typing_Unification.evars", "typing_Unification.funs", - "typing_Unification.lsubst_eqns", "typing_Unification.n_evars", - "typing_Unification.n_flex_rhs", "typing_Unification.nat_order", - "typing_Unification.subst", "typing_Unification.vars", - "well-founded-ordering-on-nat" - ], - 0, - "613af26940c78ac08d4f3af001177a61" - ], - [ - "Unification.solved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Unification.term__uu___haseq", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unification.eqns", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f6fa8fba60369e3c7bae603ab4f33a1a" - ], - [ - "Unification.lsubst_distributes_over_F", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "6f50e939636e8f74093ce1ff82a2bc69" - ], - [ - "Unification.lsubst_distributes_over_F", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Unification.F", - "data_typing_intro_Unification.F@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Unification.lsubst_term", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", "subterm_ordering_Prims.Cons", - "token_correspondence_Unification.subst_term", - "typing_Unification.lsubst_term", "typing_Unification.subst" - ], - 0, - "0063689c9eb883aa2d9f75ad0b4dbc1e" - ], - [ - "Unification.lsubst_distributes_over_F", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "73e4647bbd7634d8bc28e32f3899f8a1" - ], - [ - "Unification.lemma_extend_lsubst_distributes_term", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "cce4251a9d6267c2172c760627262e8d" - ], - [ - "Unification.lemma_extend_lsubst_distributes_term", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unification.extend_lsubst", - "equation_Unification.lsubst_term", "equation_Unification.op_At", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append", - "token_correspondence_Unification.op_At", - "typing_Unification.extend_lsubst", "typing_Unification.lsubst_term", - "typing_Unification.subst" - ], - 0, - "0edf9e6ca8c5be29bdf6c9b828eb3fee" - ], - [ - "Unification.lemma_extend_lsubst_distributes_term", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "056d49acc01209de34b2a7a6771fed44" - ], - [ - "Unification.lemma_extend_lsubst_distributes_eqns", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "e8bc52fdcf3ef73b1ed73bc6b5dc985d" - ], - [ - "Unification.lemma_extend_lsubst_distributes_eqns", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unification.eqns", "equation_Unification.extend_lsubst", - "equation_Unification.lsubst_term", "equation_Unification.op_At", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_Unification.lemma_lsubst_eqns_nil", - "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_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append", - "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "token_correspondence_Unification.op_At", - "typing_Unification.extend_lsubst", "typing_Unification.lsubst_eqns", - "typing_Unification.subst" - ], - 0, - "cd8de44c3d99eef2f156e9057ad03a02" - ], - [ - "Unification.lemma_extend_lsubst_distributes_eqns", - 3, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "8f43d2ba270094f3e0b39fffaa36b460" - ], - [ - "Unification.lemma_subst_id", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "9eae7928e6a7b3d332c65d5940a2b124" - ], - [ - "Unification.lemma_subst_id", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.occurs", - "equation_Unification.subst", "equation_Unification.varset", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F", - "token_correspondence_Unification.vars.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_Prims.int", - "typing_Unification.nat_order", "typing_Unification.occurs" - ], - 0, - "1fd9d0e8b145be384c343e167b2abae5" - ], - [ - "Unification.lemma_subst_id", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "91531cc29a0c32c5fb37917d1a04bf4a" - ], - [ - "Unification.neutral", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "0b9e22cd76ef99fc9bcb289b3fc7af8e" - ], - [ - "Unification.neutral_l", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "65a4c653550e88430697d4e20b633f02" - ], - [ - "Unification.lemma_lsubst_term_commutes", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "928ed9158d223e5f4a97d322cf6f3f65" - ], - [ - "Unification.lemma_lsubst_term_commutes", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_e42194285e833ecefb2aa4536becb284_0", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Unification.F", - "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Unification.lsubst_term", "equation_Unification.neutral_l", - "equation_Unification.ok", "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Unification.term", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", - "lemma_Unification.lsubst_distributes_over_F", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "subterm_ordering_Unification.F", - "token_correspondence_Unification.subst_term.fuel_instrumented", - "typing_FStar.List.Tot.Base.fold_right", - "typing_Unification.lsubst_term", "typing_Unification.neutral_l", - "typing_Unification.subst", "typing_Unification.subst_term" - ], - 0, - "01c03b3822ce12f259fb24a0d4c97a29" - ], - [ - "Unification.lemma_lsubst_term_commutes", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "3a2f415788045fd36adcf6b944096e9e" - ], - [ - "Unification.lemma_lsubst_eqns_commutes", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "744eabcdef131b1210a3547e6b8eed6b" - ], - [ - "Unification.lemma_lsubst_eqns_commutes", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_2", - "binder_x_e42194285e833ecefb2aa4536becb284_0", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.lsubst_term", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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_Prims.Cons", - "token_correspondence_Unification.subst_term", - "typing_Unification.lsubst_eqns", "typing_Unification.subst" - ], - 0, - "fbb4d3c213f866e4d4f9f3d614d10c49" - ], - [ - "Unification.lemma_lsubst_eqns_commutes", - 3, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "34b441abd15453acc2e6b0a1af2e50f7" - ], - [ - "Unification.key_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.subst", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.subst" - ], - 0, - "eba4751f80a17b51f6780462d65e1713" - ], - [ - "Unification.key_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.solved.fuel_instrumented", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "constructor_distinct_Unification.V", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_Unification.V@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.extend_lsubst", - "equation_Unification.lsubst_term", "equation_Unification.neutral_l", - "equation_Unification.occurs", "equation_Unification.ok", - "equation_Unification.op_At", "equation_Unification.op_Plus_Plus", - "equation_Unification.sub", "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "equation_with_fuel_Unification.solved.fuel_instrumented", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", - "lemma_Unification.lemma_extend_lsubst_distributes_eqns", - "lemma_Unification.lemma_lsubst_eqns_nil", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Unification.V_i", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.append", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_Unification.op_At", - "token_correspondence_Unification.subst_term", - "typing_Unification.extend_lsubst", "typing_Unification.lsubst_eqns", - "typing_Unification.neutral_l", "typing_Unification.occurs", - "typing_Unification.op_Plus_Plus", "typing_Unification.solved", - "typing_Unification.sub", "typing_Unification.subst" - ], - 0, - "897174f9fb9449914bc88a5e2ff21abe" - ], - [ - "Unification.lemma_subst_term_idem", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "3e2bbd33b33a4b3ec8d90af6e997945a" - ], - [ - "Unification.lemma_subst_term_idem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_e42194285e833ecefb2aa4536becb284_0", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", "disc_equation_Unification.F", - "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Unification.ok", "equation_Unification.subst", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Unification.term", - "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_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "subterm_ordering_Unification.F", "typing_Unification.subst_term" - ], - 0, - "6b2265272ed815170647d016ef16f3b7" - ], - [ - "Unification.lemma_subst_term_idem", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "4ddc0755f0e4dab7720a8b0aae73e2c4" - ], - [ - "Unification.lemma_subst_eqns_idem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.subst", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "be1071a209abf44cba5c0258235cc917" - ], - [ - "Unification.lemma_subst_eqns_idem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", - "binder_x_e42194285e833ecefb2aa4536becb284_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.lsubst_term", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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_Prims.Cons", - "token_correspondence_Unification.subst_term", - "typing_Unification.lsubst_eqns", "typing_Unification.lsubst_term", - "typing_Unification.subst" - ], - 0, - "4069d426e623e5fa43dcb635edc8e657" - ], - [ - "Unification.lemma_subst_eqns_idem", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.subst", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok" - ], - 0, - "83914d0e46ac265ad0a884ea6780ea93" - ], - [ - "Unification.subst_funs_monotone", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_e42194285e833ecefb2aa4536becb284_0", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", "disc_equation_Unification.F", - "disc_equation_Unification.V", "equation_Prims.nat", - "equation_Unification.subst", - "equation_with_fuel_Unification.funs.fuel_instrumented", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Unification.term", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F", - "token_correspondence_Unification.funs.fuel_instrumented", - "typing_Unification.subst_term" - ], - 0, - "b63f994858fed1d45f3461b6cd8cb2a6" - ], - [ - "Unification.lsubst_funs_monotone", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_1", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Unification.lsubst_term", "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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", - "subterm_ordering_Prims.Cons", "typing_Unification.subst" - ], - 0, - "a9b6aab478782fafe84746a56d79ce07" - ], - [ - "Unification.lemma_occurs_not_solveable_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_Unification.vars.fuel_instrumented", "@query", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_8505b50eeafee17e9d7d1a89618fd145_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_2", "bool_inversion", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", "disc_equation_Unification.F", - "disc_equation_Unification.V", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Unification.lsubst_term", - "equation_Unification.occurs", "equation_Unification.varset", - "equation_with_fuel_Unification.funs.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "fuel_guarded_inversion_Unification.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_Unification.lsubst_distributes_over_F", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_1f528521bf62ee3d9c208b5dc783e172", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F", - "token_correspondence_Unification.vars.fuel_instrumented", - "typing_Prims.int", "typing_Unification.lsubst_term", - "typing_Unification.nat_order", "typing_Unification.occurs", - "unit_inversion", "unit_typing" - ], - 0, - "2831d0f7db89d2d37dac47b1f4031119" - ], - [ - "Unification.not_solveable", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "57735b7ec1b6a4f3ac9154ff980b765c" - ], - [ - "Unification.lemma_occurs_not_solveable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_Unification.funs.fuel_instrumented", "@query", - "data_elim_Unification.F", "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Unification.not_solveable", - "equation_with_fuel_Unification.funs.fuel_instrumented", - "fuel_guarded_inversion_Unification.term", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Unification.funs.fuel_instrumented" - ], - 0, - "d5139722485386306b68e8ed7563c6bc" - ], - [ - "Unification.lemma_subst_idem", - 1, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "df5497293e8b846726e65a8309808953" - ], - [ - "Unification.lemma_subst_idem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.subst_term.fuel_instrumented", - "@fuel_irrelevance_Unification.subst_term.fuel_instrumented", - "@query", "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Unification.subst", - "equation_with_fuel_Unification.subst_term.fuel_instrumented", - "fuel_guarded_inversion_Unification.term", - "kinding_Unification.term@tok", - "lemma_Unification.lsubst_distributes_over_F", - "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_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Unification.F", "typing_Unification.subst_term" - ], - 0, - "04eb53f753c3ce24c690d61026d4a7c8" - ], - [ - "Unification.lemma_subst_idem", - 3, - 2, - 1, - [ "@query", "assumption_Unification.term__uu___haseq" ], - 0, - "a24fc46c001091e8483472bad8d52600" - ], - [ - "Unification.lemma_subst_eqns", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok" - ], - 0, - "34f8798f8e110b174d2c7ff18bfc7763" - ], - [ - "Unification.lemma_subst_eqns", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Unification_interpretation_Tm_arrow_0e0095e2dbcf9588cbbd786aa5b95992", - "Unification_pretyping_6ea39f1b1b9923e1f4f54d31e2c44859", - "binder_x_6ea39f1b1b9923e1f4f54d31e2c44859_2", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.lsubst_term", - "equation_Unification.subst", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Unification.subst_term", - "kinding_Unification.term@tok", "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_Unification.subst_term", - "typing_Unification.lsubst_eqns", "typing_Unification.subst" - ], - 0, - "16c05ad868273c53f95870ef57c035e5" - ], - [ - "Unification.lemma_subst_eqns", - 3, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "equation_Unification.eqns", - "kinding_FStar.Pervasives.Native.tuple2@tok" - ], - 0, - "e8607215c9420a79137594dd522763ef" - ], - [ - "Unification.lemma_not_solveable_cons_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.solved.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Unification.V@tok", "equation_Prims.nat", - "equation_Unification.eqns", - "equation_Unification.not_solveable_eqns", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "equation_with_fuel_Unification.solved.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "token_correspondence_Unification.solved.fuel_instrumented", - "typing_Unification.lsubst_eqns" - ], - 0, - "dad405fc17cf5a8d5fdaf4fc75c9c422" - ], - [ - "Unification.lemma_not_solveable_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.solved.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.solved.fuel_instrumented", "@query", - "equation_Unification.not_solveable_eqns", - "lemma_Unification.lemma_not_solveable_cons_aux" - ], - 0, - "61b327dfb008df31385ed16f8b4811a0" - ], - [ - "Unification.unify_correct_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.unify.fuel_instrumented", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.subst", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "kinding_Unification.term@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae71eec08cf378a0b096adf49b58270f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.lsubst_eqns", - "typing_Unification.subst", "typing_Unification.unify" - ], - 0, - "c03120c57dbdc27d14c7df5688646fd1" - ], - [ - "Unification.unify_correct_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_Unification.efuns.fuel_instrumented", - "@fuel_correspondence_Unification.evars.fuel_instrumented", - "@fuel_correspondence_Unification.funs.fuel_instrumented", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.n_flex_rhs.fuel_instrumented", - "@fuel_correspondence_Unification.solved.fuel_instrumented", - "@fuel_correspondence_Unification.unify.fuel_instrumented", - "@fuel_correspondence_Unification.vars.fuel_instrumented", - "@fuel_irrelevance_Unification.efuns.fuel_instrumented", - "@fuel_irrelevance_Unification.evars.fuel_instrumented", - "@fuel_irrelevance_Unification.funs.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.n_flex_rhs.fuel_instrumented", - "@fuel_irrelevance_Unification.solved.fuel_instrumented", - "@fuel_irrelevance_Unification.unify.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Unification_interpretation_Tm_arrow_13365c547ebacced8e5c321e9ac37c13", - "Unification_interpretation_Tm_arrow_27f58803f2afd0299b7d65785588b6d2", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "binder_x_8045d899e42f9bf0644926da91e4ddf8_1", - "binder_x_e42c32e2013e0d91a53ce91113c2ebfc_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "constructor_distinct_Unification.F", - "constructor_distinct_Unification.V", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_Unification.F", "data_elim_Unification.V", - "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_Prims.Cons", "disc_equation_Prims.Nil", - "disc_equation_Unification.F", "disc_equation_Unification.V", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_Unification.eqns", "equation_Unification.extend_lsubst", - "equation_Unification.extend_subst", - "equation_Unification.lsubst_term", "equation_Unification.n_evars", - "equation_Unification.neutral_l", - "equation_Unification.not_solveable", - "equation_Unification.not_solveable_eqns", - "equation_Unification.occurs", "equation_Unification.ok", - "equation_Unification.op_At", "equation_Unification.op_Plus_Plus", - "equation_Unification.sub", "equation_Unification.subst", - "equation_Unification.varset", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_Unification.efuns.fuel_instrumented", - "equation_with_fuel_Unification.evars.fuel_instrumented", - "equation_with_fuel_Unification.funs.fuel_instrumented", - "equation_with_fuel_Unification.lsubst_eqns.fuel_instrumented", - "equation_with_fuel_Unification.n_flex_rhs.fuel_instrumented", - "equation_with_fuel_Unification.solved.fuel_instrumented", - "equation_with_fuel_Unification.unify.fuel_instrumented", - "equation_with_fuel_Unification.vars.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_Unification.term", - "function_token_typing_FStar.List.Tot.Base.append", - "function_token_typing_Unification.op_At", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Unification.term@tok", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", - "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", - "lemma_FStar.OrdSet.subset_size", - "lemma_Unification.lemma_extend_lsubst_distributes_eqns", - "lemma_Unification.lsubst_distributes_over_F", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Unification.V_i", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Unification.F_t1", - "projection_inverse_Unification.F_t2", - "projection_inverse_Unification.V_i", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f58b9292a7afbff9a4969fa518eb5af", - "refinement_interpretation_Tm_refine_ad04801e41491ac5b10d915ff53209e7", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.append", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_Unification.efuns.fuel_instrumented", - "token_correspondence_Unification.evars.fuel_instrumented", - "token_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "token_correspondence_Unification.op_At", - "token_correspondence_Unification.solved.fuel_instrumented", - "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.size", - "typing_FStar.OrdSet.union", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Prims.int", "typing_Unification.efuns", - "typing_Unification.evars", "typing_Unification.extend_lsubst", - "typing_Unification.funs", "typing_Unification.lsubst_eqns", - "typing_Unification.lsubst_term", "typing_Unification.n_evars", - "typing_Unification.n_flex_rhs", "typing_Unification.nat_order", - "typing_Unification.occurs", "typing_Unification.solved", - "typing_Unification.sub", "typing_Unification.subst", - "typing_Unification.unify", "typing_Unification.unify_correct_aux", - "typing_Unification.uu___is_V", "typing_Unification.vars", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "2cd4e2985b889d5eba97573ae1cc7ff5" - ], - [ - "Unification.unify_correct_aux", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_correspondence_Unification.unify.fuel_instrumented", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", - "assumption_Unification.term__uu___haseq", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Unification.eqns", "equation_Unification.subst", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "kinding_Unification.term@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3ac8b61f6feee1306eadb3bae37de95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ae71eec08cf378a0b096adf49b58270f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Unification.lsubst_eqns", - "typing_Unification.subst", "typing_Unification.unify" - ], - 0, - "410082c6f008c9f1006cfc2bdb1b6f18" - ], - [ - "Unification.unify_eqns_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Unification.lsubst", "equation_Unification.unify_eqns", - "lemma_FStar.Pervasives.invertOption", "typing_Unification.lsubst", - "typing_Unification.unify_eqns" - ], - 0, - "c5983c5ce44c253a14b9ffedd4518a41" - ], - [ - "Unification.unify_eqns_correct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_Unification.lsubst_eqns.fuel_instrumented", - "@fuel_irrelevance_Unification.lsubst_eqns.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "equation_Unification.lsubst", "equation_Unification.unify_eqns", - "lemma_Unification.lemma_lsubst_eqns_nil", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4f16ecf51a45673f59b9d1bf33fbbeff" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/AES.fst.hints b/examples/crypto/AES.fst.hints deleted file mode 100644 index 462dc30c21e..00000000000 --- a/examples/crypto/AES.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "X\u0000Øþ\u0000Kp \"ì\u0011—ú†ì", - [ - [ - "AES.plain", - 1, - 2, - 1, - [ - "@query", "equation_AES.blocksize", "equation_AES.psize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3c9549669ac0374f41273c4136a78969" - ], - [ - "AES.cipher", - 1, - 2, - 1, - [ - "@query", "equation_AES.blocksize", "equation_AES.csize", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "228d8a5b03585b46c075d4aa73a3a39f" - ], - [ - "AES.key", - 1, - 2, - 1, - [ - "@query", "equation_AES.keysize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "4f173b550eeb5e45fa05622dc7ea5299" - ], - [ - "AES.enc", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_AES.bytes", "equation_AES.nbytes", "equation_AES.plain", - "equation_AES.psize", - "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67" - ], - 0, - "400276cca9987415e17d14dbd658e23d" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Cap.fst.hints b/examples/crypto/Cap.fst.hints deleted file mode 100644 index 423e8447ead..00000000000 --- a/examples/crypto/Cap.fst.hints +++ /dev/null @@ -1,62 +0,0 @@ -[ - "+ž[™Ô\fõr)j>c\u001bꪗ", - [ - [ - "Cap.capRead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Cap.byte", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Cap.byte", "typing_FStar.UInt8.t" - ], - 0, - "330b5c8d4c70f76b97c7ea5de489058b" - ], - [ - "Cap.issue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Cap.UTF8_inj", - "equation_Cap.capRead", "equation_Cert.ACLs.canRead", - "equation_Cert.ACLs.file", "equation_MAC.pkey", - "function_token_typing_MAC.key_prop", - "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357", - "refinement_interpretation_Tm_refine_e7c2b5a7f5564b833b80f9c630ccb99f", - "string_inversion", "token_correspondence_Cap.capRead" - ], - 0, - "8081a46c56c718f2b95dad3f9287afd0" - ], - [ - "Cap.main", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Cap.UTF8_inj", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Cap.capRead", - "equation_Cap.f", "equation_Cert.ACLs.canRead", - "equation_Cert.ACLs.publicFile", "equation_MAC.pkey", - "equation_SHA1.tag", "function_token_typing_MAC.key_prop", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357", - "token_correspondence_Cap.capRead", - "typing_Platform.Bytes.equalBytes", "unit_typing" - ], - 0, - "f31f86201a3fd6ccc12eab046f32f128" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Cert.ACLs.fst.hints b/examples/crypto/Cert.ACLs.fst.hints deleted file mode 100644 index a4923bc8233..00000000000 --- a/examples/crypto/Cert.ACLs.fst.hints +++ /dev/null @@ -1,28 +0,0 @@ -[ - "êýS[YÝÅG\u000bæ\u007f²\u0012á‚", - [ - [ - "Cert.ACLs.test", - 1, - 2, - 1, - [ - "@query", "equation_Cert.ACLs.canRead", - "equation_Cert.ACLs.canWrite", "equation_Cert.ACLs.publicFile", - "equation_Cert.ACLs.readme", "equation_Cert.ACLs.tmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0" - ], - 0, - "f04f7440ea38b92c8deae33ac5a13175" - ], - [ - "Cert.ACLs.rc", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "59aa64de598f0130d3aafedea41b0f68" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/CntFormat.fst.hints b/examples/crypto/CntFormat.fst.hints deleted file mode 100644 index 2607f63d483..00000000000 --- a/examples/crypto/CntFormat.fst.hints +++ /dev/null @@ -1,181 +0,0 @@ -[ - "à†Ô¬\u0014È(LmšÈ\\Q\u0004Ó—", - [ - [ - "CntFormat.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "f396090043616871be20316aeb3afb03" - ], - [ - "CntFormat.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.length", - "equation_CntFormat.message", "equation_CntFormat.op_At_Bar", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9f88e160caa86d7bfa7040b8f45605e1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_CntFormat.op_At_Bar", "typing_FStar.Seq.Base.eq", - "typing_FStar.UInt8.t" - ], - 0, - "774633be9fcb3e5396140e19e42c9e5b" - ], - [ - "CntFormat.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "4bd21e347b5a1f027f3991e906091e33" - ], - [ - "CntFormat.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ed200b6affe2db07bfbf96ff8436cc6" - ], - 0, - "fba1fcee13db9561d000b6ea272ebb0e" - ], - [ - "CntFormat.signal", - 1, - 2, - 1, - [ - "@query", "equation_CntFormat.signal_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "62ed57584521fa4a6a311874d90ab4bc" - ], - [ - "CntFormat.signal", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.message", - "equation_CntFormat.op_At_Bar", "equation_CntFormat.signal_size", - "equation_CntFormat.uint16", "equation_CntFormat.uint16_to_bytes", - "equation_CntFormat.uint32", "equation_CntFormat.uint32_to_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_CntFormat.uint16_to_bytes", - "typing_CntFormat.uint32_to_bytes", "typing_FStar.UInt8.t" - ], - 0, - "dbcdac2c54fb6c58d0de8df7520dcb34" - ], - [ - "CntFormat.signal_split", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_CntFormat.msg", "equation_CntFormat.signal_size", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "56db92690535cd18c7df125ec2ffbed6" - ], - [ - "CntFormat.signal_split", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Platform.Bytes.HasEq_bytes", "equation_CntFormat.msg", - "equation_CntFormat.op_At_Bar", "equation_CntFormat.signal", - "equation_CntFormat.signal_size", "equation_CntFormat.uint16", - "equation_CntFormat.uint16_to_bytes", "equation_CntFormat.uint32", - "equation_CntFormat.uint32_to_bytes", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0643f30616668b6c2208c12d5e73aa3a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_f5be185f1eef489aa4edd78977965649", - "typing_Prims.int" - ], - 0, - "ff2ac0af16dc2aa04f53b9c261c9ca2a" - ], - [ - "CntFormat.signal_split", - 3, - 2, - 1, - [ - "@query", "equation_CntFormat.signal_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d28b07c038a4af4a2d7742d4d99bd4ea" - ], - [ - "CntFormat.signal_components_corr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_CntFormat.uint32", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t", "typing_Prims.int" - ], - 0, - "3db1a63da03980b4178431691b5fb9cb" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/CntProtocol.fst.hints b/examples/crypto/CntProtocol.fst.hints deleted file mode 100644 index b5e81519430..00000000000 --- a/examples/crypto/CntProtocol.fst.hints +++ /dev/null @@ -1,689 +0,0 @@ -[ - "Ä\u00103àÙ¹’KççŠMÅI\u001b", - [ - [ - "CntProtocol.event", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_CntFormat.uint32", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "haseqTm_refine_92ae293f6e4cd7fc83170fef96182afc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3dc569bd5b55e0dd028c96f04747c302" - ], - [ - "CntProtocol.client_cnt", - 1, - 0, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "71aadeeaee5fbbc653d5a77120c9a373" - ], - [ - "CntProtocol.server_cnt", - 1, - 0, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "ed8034d9559731916bbaa78b7332f4fe" - ], - [ - "CntProtocol.server_max", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b084ee9e1cac2d89d72c9905bb58fe7f_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_CntFormat.uint16", "equation_CntProtocol.max", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "subterm_ordering_Prims.Cons" - ], - 0, - "817dfac811a9f90da9b7db1aedb3c4b1" - ], - [ - "CntProtocol.max_list", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e35b5a9b78955828ef074e0edb301158" - ], - [ - "CntProtocol.max_list", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_CntProtocol.server_max.fuel_instrumented", - "@fuel_irrelevance_CntProtocol.server_max.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_CntProtocol.Recv@tok", - "data_typing_intro_Prims.Cons@tok", "equation_CntFormat.uint16", - "equation_CntFormat.uint32", "equation_CntProtocol.max", - "equation_Prims.nat", - "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_CntProtocol.event@tok", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_CntProtocol.Recv_c", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_92ae293f6e4cd7fc83170fef96182afc" - ], - 0, - "e8d882ac787ac9386f86c4bf363ca1c8" - ], - [ - "CntProtocol.max_lemma", - 1, - 0, - 1, - [ "@query", "assumption_CntProtocol.event__uu___haseq" ], - 0, - "c0548d8e6efc3bfac0a2d7d428df96ff" - ], - [ - "CntProtocol.max_lemma", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_CntProtocol.server_max.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_CntProtocol.server_max.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_CntProtocol.event__uu___haseq", - "binder_x_b85778eef190835b8fb4856fa2c1f4fd_2", - "binder_x_c4d5356505325f547cca5ea22711279d_0", - "binder_x_cc617c9315e03adad89a35909ef53f29_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_CntFormat.uint16", - "equation_CntFormat.uint32", "equation_CntProtocol.max", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_CntProtocol.event@tok", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_CntProtocol.Recv_c", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_10775114e15f591b22349c0d481c0402", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_92ae293f6e4cd7fc83170fef96182afc", - "subterm_ordering_Prims.Cons", - "token_correspondence_CntProtocol.server_max.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "a8136c2dd481288021f20ebc3517dee7" - ], - [ - "CntProtocol.max_lemma", - 3, - 0, - 1, - [ "@query", "assumption_CntProtocol.event__uu___haseq" ], - 0, - "6dc1cc38b1fe879414e9cc87374b4754" - ], - [ - "CntProtocol.invariant", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2c816c6a82c22a8272ee0fbb2c596a47" - ], - [ - "CntProtocol.next_cnt", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_CntFormat.uint16", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bc7711008c90fde8c6a88dc5bcdded17", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.client_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "24bdaedeab6c8a8351004389c0311f27" - ], - [ - "CntProtocol.update_cnt", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_CntProtocol.max", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.mref", "equation_FStar.ST.ref", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "f28ebd34dd0ea3a5e3b05b7c84c3c9be" - ], - [ - "CntProtocol.log_and_update", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_CntProtocol.event__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_CntFormat.uint16", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_Prims.int" - ], - 0, - "d697f17c640a39f1ad7da9b7cf226101" - ], - [ - "CntProtocol.log_and_update", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_CntProtocol.server_max.fuel_instrumented", - "@fuel_irrelevance_CntProtocol.server_max.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.int", - "constructor_distinct_Prims.list", "equation_CntFormat.uint16", - "equation_CntProtocol.invariant", "equation_CntProtocol.max", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_CntProtocol.Recv_c", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b33fce37ff90559b4388cbb25dd2cc86", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "subterm_ordering_Prims.Cons", "typing_CntProtocol.client_cnt", - "typing_CntProtocol.log_prot", "typing_CntProtocol.server_cnt", - "typing_CntProtocol.server_max", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "6a437d12f575d390b9114bc58a0324ab" - ], - [ - "CntProtocol.send", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8b957167ec77eb249d8f375e0c7fc112" - ], - [ - "CntProtocol.send", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_CntFormat.message", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_CntProtocol.msg_buffer", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_Platform.Bytes.bytes", "typing_Prims.int" - ], - 0, - "eb06febb386747968985973d14cf00b4" - ], - [ - "CntProtocol.recv", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6fce3d2206d55c3789ea8367a6e7d6c2" - ], - [ - "CntProtocol.recv", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_CntFormat.message", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_CntProtocol.msg_buffer", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_Platform.Bytes.bytes", "typing_Prims.int" - ], - 0, - "b08c2e458edf9e42b51c33ab79a6636d" - ], - [ - "CntProtocol.req", - 1, - 0, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "5aa5583c17b97850175eb00ba79518aa" - ], - [ - "CntProtocol.k", - 1, - 0, - 1, - [ "@query" ], - 0, - "ac3b0045fa508a5c6ab4907e296c0483" - ], - [ - "CntProtocol.recall_all", - 1, - 0, - 1, - [ "@query", "unit_typing" ], - 0, - "0124efc2068612c1ebd95cc1779206a3" - ], - [ - "CntProtocol.client", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.client_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "a14eb7cf5258ffcff76686eebe06a384" - ], - [ - "CntProtocol.client", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", - "MAC_pretyping_60b9bfd8fd83afb29c30ec801c56255b", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_CntProtocol.event", - "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_MAC.entry", "constructor_distinct_Prims.int", - "constructor_distinct_Prims.list", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_CntFormat.message", "equation_CntFormat.signal_size", - "equation_CntFormat.uint16", "equation_CntFormat.uint32", - "equation_CntProtocol.invariant", "equation_CntProtocol.req", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_CntProtocol.event", - "fuel_guarded_inversion_MAC.entry", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_MAC.key_prop", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_CntProtocol.event@tok", "kinding_MAC.entry@tok", - "kinding_Prims.list@tok", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_111c05b3fc005798dafc09f25c3a8e61", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_92ae293f6e4cd7fc83170fef96182afc", - "refinement_interpretation_Tm_refine_a0baedc62db06b4f9e861afaa8e04757", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "token_correspondence_CntProtocol.req", - "typing_CntProtocol.client_cnt", "typing_CntProtocol.k", - "typing_CntProtocol.log_prot", "typing_CntProtocol.msg_buffer", - "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.find", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_MAC.log", - "typing_Platform.Bytes.bytes", "typing_Prims.int", - "typing_Prims.string", - "typing_Tm_abs_a2e9f695669e1cfac185e9f9ad9ae2a7" - ], - 0, - "8c36156cf3a703eeaf2d949cbd91f0ae" - ], - [ - "CntProtocol.server", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CntFormat.uint16", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_Prims.int" - ], - 0, - "0281debdc6f375e9aca5b5e12b6f5584" - ], - [ - "CntProtocol.server", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Platform.Bytes.HasEq_bytes", - "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_Prims.int", "constructor_distinct_Prims.list", - "equation_CntFormat.length", "equation_CntFormat.message", - "equation_CntFormat.msg", "equation_CntFormat.signal", - "equation_CntFormat.signal_size", "equation_CntFormat.signal_split", - "equation_CntFormat.uint16", "equation_CntFormat.uint32", - "equation_CntProtocol.invariant", "equation_CntProtocol.req", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_SHA1.macsize", "function_token_typing_MAC.key_prop", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", - "lemma_CntFormat.signal_components_corr", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_111c05b3fc005798dafc09f25c3a8e61", - "refinement_interpretation_Tm_refine_1807e219835fddb0b3040582020f93c9", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6488a032517d323e4bac411a81beb995", - "refinement_interpretation_Tm_refine_67273ea3556be6c6a1a16961dd4cef50", - "refinement_interpretation_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a1daf766fa00f0144befcf79f8e441d6", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "token_correspondence_CntProtocol.req", - "typing_CntProtocol.client_cnt", "typing_CntProtocol.k", - "typing_CntProtocol.log_prot", "typing_CntProtocol.msg_buffer", - "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.eq", - "typing_FStar.Set.empty", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt8.t", - "typing_Platform.Bytes.bytes", "typing_Prims.int" - ], - 0, - "b0118bb68df20154f8f4c712b8269c0d" - ], - [ - "CntProtocol.main", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_CntProtocol.server_max.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Prims.int", - "constructor_distinct_Prims.list", "equation_CntFormat.uint16", - "equation_CntProtocol.invariant", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_CntProtocol.server_max.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_75aaae859fab93cdc6b9fa05a2e66b27", "int_typing", - "kinding_CntProtocol.event@tok", "kinding_Prims.list@tok", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_75aaae859fab93cdc6b9fa05a2e66b27", - "typing_CntProtocol.client_cnt", "typing_CntProtocol.log_prot", - "typing_CntProtocol.server_cnt", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.only", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Prims.string" - ], - 0, - "ae28b7204e9e130ed328a76555306845" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Encrypt_Sample.fst.hints b/examples/crypto/Encrypt_Sample.fst.hints deleted file mode 100644 index 2264e2ade35..00000000000 --- a/examples/crypto/Encrypt_Sample.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "…â.R…ù©¨\u0016\u0004'[†IØž", [] ] \ No newline at end of file diff --git a/examples/crypto/Encrypt_SymEnc.fst.hints b/examples/crypto/Encrypt_SymEnc.fst.hints deleted file mode 100644 index 96ad5988a74..00000000000 --- a/examples/crypto/Encrypt_SymEnc.fst.hints +++ /dev/null @@ -1,169 +0,0 @@ -[ - "\u0014\u0015ù§ç·È\u0006\t\u001a†ªSŠ\rð", - [ - [ - "Encrypt_SymEnc.__proj__Ideal__item__plain", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" - ], - 0, - "42fb51650de55c759224b912d98641f7" - ], - [ - "Encrypt_SymEnc.__proj__Ideal__item__repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" - ], - 0, - "851dc2118f94fa282b5e7eb5f1db2c2f" - ], - [ - "Encrypt_SymEnc.__proj__Ideal__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" - ], - 0, - "a8fab222ee8ba196d48bd8b820756259" - ], - [ - "Encrypt_SymEnc.__proj__Ideal__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aeba281ff3db5ef268124d6ac4de91c8" - ], - 0, - "dfc309a697f0ce0cd04ea009e78ff3ac" - ], - [ - "Encrypt_SymEnc.__proj__Concrete__item__plain", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" - ], - 0, - "7035889c898a46f4895fa3335e16f839" - ], - [ - "Encrypt_SymEnc.__proj__Concrete__item__repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" - ], - 0, - "9a42e09b4b5f780552e6a144031670ee" - ], - [ - "Encrypt_SymEnc.__proj__Concrete__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" - ], - 0, - "fd9f5188c42ee2feafb4886d1489fb0b" - ], - [ - "Encrypt_SymEnc.__proj__Concrete__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c498f4d14808e5b989acda0ba70ad0bf" - ], - 0, - "0a4db5a81e514a5773a826997c33cfa3" - ], - [ - "Encrypt_SymEnc.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.nat", - "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_Encrypt_SymEnc.c", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "fa630bd4b8d1b71e8189426761473fe7" - ], - [ - "Encrypt_SymEnc.log", - 1, - 2, - 1, - [ "@query", "equation_FStar.ST.ref" ], - 0, - "ba4b2c747112c4117774e735f366121f" - ], - [ - "Encrypt_SymEnc.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "disc_equation_Encrypt_SymEnc.Concrete", - "disc_equation_Encrypt_SymEnc.Ideal", "equation_AES.bytes", - "equation_AES.nbytes", "equation_AES.plain", "equation_AES.psize", - "fuel_guarded_inversion_Encrypt_SymEnc.key", - "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "39537b3ac4e7761cebdb83044dd9a8a0" - ], - [ - "Encrypt_SymEnc.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "disc_equation_Encrypt_SymEnc.Concrete", - "disc_equation_Encrypt_SymEnc.Ideal", "equation_AES.bytes", - "equation_AES.cipher", "equation_AES.csize", "equation_AES.nbytes", - "equation_AES.plain", "fuel_guarded_inversion_Encrypt_SymEnc.key", - "haseqTm_refine_8f0006372dc7eef1f8d6507769207c67", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "87b836c66971fa04610b1626928f5a52" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/EtM.AE.fst.hints b/examples/crypto/EtM.AE.fst.hints deleted file mode 100644 index 57164715759..00000000000 --- a/examples/crypto/EtM.AE.fst.hints +++ /dev/null @@ -1,763 +0,0 @@ -[ - "\fPù>\r‰Äl\fí\u007f¨NçcÄ", - [ - [ - "EtM.AE.mac_only_cpa_ciphers", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_84c1bfaaf908475ecb507651910953b1_1", - "equation_EtM.MAC.log_entry", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "kinding_EtM.CPA.log_entry@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_240ae8b9d98499e56ee7887bf62cb7a9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_EtM.MAC.log_entry", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "e1c44737ba12a9f413207d4e3505f07d" - ], - [ - "EtM.AE.mac_only_cpa_ciphers_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", "eq2-interp", "equation_EtM.MAC.log_entry", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_EtM.MAC.log_entry", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" - ], - 0, - "013dcb947f6af00b0b7df05afa27e18c" - ], - [ - "EtM.AE.mac_only_cpa_ciphers_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "binder_x_84c1bfaaf908475ecb507651910953b1_1", - "binder_x_ea284b782ac099e23b50d98bb346b88f_2", - "binder_x_fa8f9cf004db636b6a296e28eff3d6fc_0", - "data_elim_EtM.CPA.Entry", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_EtM.CPA.Entry@tok", "eq2-interp", - "equation_EtM.AE.cipher", "equation_EtM.AE.mac_cpa_related", - "equation_EtM.CPA.cipher", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", - "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_EtM.CPA.log_entry", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_EtM.CPA.Entry_c", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_EtM.AE.cipher", "typing_EtM.CPA.cipher", - "typing_EtM.MAC.tag", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "be78fc47bb1078f9fd0e2c42cdd7f402" - ], - [ - "EtM.AE.mac_only_cpa_ciphers_mem", - 2, - 2, - 1, - [ - "@query", "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_EtM.CPA.cipher", "typing_EtM.MAC.tag" - ], - 0, - "42c9647668cd91bee1173998ae726d84" - ], - [ - "EtM.AE.mac_and_cpa_refine_ae", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_84c1bfaaf908475ecb507651910953b1_2", - "equation_EtM.AE.log_entry", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "kinding_EtM.CPA.log_entry@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_23b2ae0f635daec79cd2af1ece7a123f", - "refinement_interpretation_Tm_refine_34ea87a68a4dd2d279c9653d45537a4f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_EtM.AE.log_entry", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "ae3d0838e185d1b3649732de0424b1e5" - ], - [ - "EtM.AE.mac_and_cpa_refine_ae_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_irrelevance_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "eq2-interp", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.msg", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_EtM.AE.cipher", "typing_EtM.AE.log_entry", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "bbac5c559ac36bb85bd5fdebd217fc2a" - ], - [ - "EtM.AE.invert_invariant_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_irrelevance_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "binder_x_02fcadff25a407ea0f168c8acd204443_1", - "binder_x_84c1bfaaf908475ecb507651910953b1_3", - "binder_x_d23b50a2dc2a2439a5e842ba62c73b47_4", - "binder_x_ea284b782ac099e23b50d98bb346b88f_0", - "binder_x_fa8f9cf004db636b6a296e28eff3d6fc_2", "bool_inversion", - "data_elim_EtM.CPA.Entry", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_EtM.CPA.Entry@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_EtM.AE.cipher", "equation_EtM.AE.log_entry", - "equation_EtM.AE.mac_and_cpa_refine_ae_entry", - "equation_EtM.AE.mac_cpa_related", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", - "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", - "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.snoc_slice_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "proj_equation_EtM.CPA.Entry_c", - "proj_equation_EtM.CPA.Entry_plain", - "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_EtM.CPA.Entry_c", - "projection_inverse_EtM.CPA.Entry_plain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_EtM.AE.cipher", "typing_EtM.AE.log_entry", - "typing_EtM.CPA.cipher", "typing_EtM.MAC.tag", - "typing_EtM.Plain.plain", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.un_snoc", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "8b143faa584c3b8d10990b5feac5aa80" - ], - [ - "EtM.AE.invert_invariant_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.AE.cipher", - "equation_EtM.AE.log_entry", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.lbytes", "equation_Prims.eqtype", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_EtM.AE.cipher", "typing_EtM.CPA.cipher", - "typing_EtM.MAC.tag", "typing_EtM.Plain.plain" - ], - 0, - "4a1722f81adc7ec7148cbff5a11b7481" - ], - [ - "EtM.AE.invert_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "data_elim_EtM.AE.Key", - "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.log_entry", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.invariant", - "equation_EtM.CPA.log", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.tag", "equation_Platform.Bytes.lbytes", - "equation_Prims.eqtype", "fuel_guarded_inversion_EtM.AE.key", - "fuel_guarded_inversion_EtM.CPA.key", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "proj_equation_EtM.AE.Key_ke", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_633fa58c11b301aa676127962b1db31c", - "typing_EtM.AE.cipher", "typing_EtM.CPA.cipher", - "typing_EtM.MAC.tag", "typing_EtM.Plain.plain" - ], - 0, - "ace6310a4902791bad79251b013a74e3" - ], - [ - "EtM.AE.keygen", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_correspondence_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_elim_EtM.CPA.Key", "eq2-interp", - "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.log_entry", - "equation_EtM.AE.rid", "equation_EtM.CPA.invariant", - "equation_EtM.CPA.log", "equation_EtM.CPA.rid", - "equation_EtM.MAC.genPost", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.log_t", "equation_FStar.Set.subset", - "equation_Prims.eq2", "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "equation_with_fuel_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_Prims.__cache_version_number__", - "kinding_EtM.CPA.log_entry@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "proj_equation_EtM.AE.Key_ke", - "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", "proj_equation_EtM.MAC.Key_log", - "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_EtM.AE.Key_ke", - "projection_inverse_EtM.AE.Key_km", - "projection_inverse_EtM.AE.Key_log", - "projection_inverse_EtM.AE.Key_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_EtM.AE.cipher", "typing_EtM.AE.get_mac_log", - "typing_EtM.AE.log_entry", - "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.CPA.log", - "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__region", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "60a243ea4b205508519a17ad02ecae39" - ], - [ - "EtM.AE.encrypt", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "data_elim_EtM.AE.Key", "data_elim_EtM.CPA.Key", - "data_elim_EtM.MAC.Key", "data_typing_intro_EtM.CPA.Entry@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_EtM.AE.cipher", - "equation_EtM.AE.get_cpa_log", "equation_EtM.AE.get_log", - "equation_EtM.AE.get_mac_log", "equation_EtM.AE.invariant", - "equation_EtM.AE.log_entry", "equation_EtM.AE.log_t", - "equation_EtM.AE.mac_and_cpa_refine_ae_entry", - "equation_EtM.AE.mac_cpa_related", "equation_EtM.AE.rid", - "equation_EtM.CPA.invariant", "equation_EtM.CPA.log", - "equation_EtM.CPA.rid", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_FStar.Set.subset", - "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "fuel_guarded_inversion_EtM.AE.key", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.MAC.key", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "proj_equation_EtM.AE.Key_ke", - "proj_equation_EtM.AE.Key_km", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Entry_c", - "proj_equation_EtM.CPA.Key_log", "proj_equation_EtM.CPA.Key_region", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "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_EtM.CPA.Entry_c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_a9fb5d354957a897f66c04a01945bad7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", - "typing_EtM.AE.__proj__Key__item__ke", - "typing_EtM.AE.__proj__Key__item__km", - "typing_EtM.AE.__proj__Key__item__region", "typing_EtM.AE.cipher", - "typing_EtM.AE.get_cpa_log", "typing_EtM.AE.get_log", - "typing_EtM.AE.get_mac_log", - "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.CPA.cipher", - "typing_EtM.CPA.log", "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__region", "typing_EtM.MAC.tag", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "0be060736c3d1d7883a1abae16660756" - ], - [ - "EtM.AE.decrypt", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "@fuel_correspondence_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_EtM.AE.Key", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_EtM.AE.cipher", "equation_EtM.AE.get_cpa_log", - "equation_EtM.AE.get_log", "equation_EtM.AE.get_mac_log", - "equation_EtM.AE.invariant", "equation_EtM.AE.log_entry", - "equation_EtM.AE.log_t", "equation_EtM.AE.rid", - "equation_EtM.CPA.cipher", "equation_EtM.CPA.invariant", - "equation_EtM.CPA.log", "equation_EtM.CPA.rid", - "equation_EtM.Ideal.ind_cpa_rest_adv", "equation_EtM.MAC.log_entry", - "equation_EtM.MAC.log_t", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.rid", - "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.un_snoc", "equation_FStar.Set.subset", - "equation_Platform.Bytes.lbytes", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_EtM.AE.mac_and_cpa_refine_ae.fuel_instrumented", - "equation_with_fuel_EtM.AE.mac_only_cpa_ciphers.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_EtM.AE.key", - "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", "int_inversion", - "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_EtM.AE.Key_ke", "proj_equation_EtM.AE.Key_log", - "proj_equation_EtM.AE.Key_region", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", - "proj_equation_EtM.MAC.Key_region", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2768941cd440d20119c7c0391ff49055", - "refinement_interpretation_Tm_refine_36f04b1278d6dc105d56888390c791f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_633fa58c11b301aa676127962b1db31c", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_8d49bc9ff43ccc39e9b67eab704a8474", - "refinement_interpretation_Tm_refine_dfc4481a7d87dc23f6d1308682e26340", - "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fa9de560c045554b06a472eed920a8f1", - "typing_EtM.AE.__proj__Key__item__ke", - "typing_EtM.AE.__proj__Key__item__km", - "typing_EtM.AE.__proj__Key__item__region", "typing_EtM.AE.cipher", - "typing_EtM.AE.get_cpa_log", "typing_EtM.AE.get_log", - "typing_EtM.AE.get_mac_log", "typing_EtM.AE.log_entry", - "typing_EtM.CPA.__proj__Key__item__log", - "typing_EtM.CPA.__proj__Key__item__region", "typing_EtM.CPA.cipher", - "typing_EtM.Ideal.uf_cma", "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__region", "typing_EtM.MAC.tag", - "typing_EtM.Plain.plain", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.un_snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem" - ], - 0, - "02e2eb93525bfdc09ca95f946df21e6b" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/EtM.CPA.fst.hints b/examples/crypto/EtM.CPA.fst.hints deleted file mode 100644 index 59ad044ac1c..00000000000 --- a/examples/crypto/EtM.CPA.fst.hints +++ /dev/null @@ -1,544 +0,0 @@ -[ - "ÍÏ/&@Û\u0011|©=Å{DÕr®", - [ - [ - "EtM.CPA.iv", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.AES_128_CBC", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.ivsize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7fac62876271bd69f8e71b1ac751c40d" - ], - [ - "EtM.CPA.aes_key", - 1, - 2, - 1, - [ - "@query", "equation_EtM.CPA.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e09ef9f28ce530d608bc994cc044a979" - ], - [ - "EtM.CPA.log_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_Prims.eqtype", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_EtM.Plain.plain" - ], - 0, - "eb5c9666c07e8d893efae5295843481e" - ], - [ - "EtM.CPA.iv_of_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_CoreCrypto.AES_128_CBC", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_interpretation_Tm_refine_7f78f70eb44b3abbe4ffd0af2859ffdb" - ], - 0, - "1cca360d7766705508ea4077daef8a8b" - ], - [ - "EtM.CPA.raw_cipher", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_CoreCrypto.AES_128_CBC", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd" - ], - 0, - "e035fd5f420925cd501b68d0ed2ce648" - ], - [ - "EtM.CPA.split_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "constructor_distinct_CoreCrypto.AES_128_CBC", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.iv", - "equation_EtM.CPA.iv_of_entry", "equation_EtM.CPA.ivsize", - "equation_EtM.CPA.raw_cipher", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Platform.Bytes.split", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "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_EtM.CPA.Entry_c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_667a832d49afa5939e79462b1abb7118", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_aec271157dda1ea0055f91dea0fb91e2", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_Platform.Bytes.bytes", "typing_Platform.Bytes.length", - "typing_Platform.Bytes.op_At_Bar", "typing_Platform.Bytes.split" - ], - 0, - "3ede189ef07505485174fe5006983461" - ], - [ - "EtM.CPA.iv_of_entry_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.iv", "equation_EtM.CPA.iv_of_entry", - "equation_EtM.CPA.ivsize", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.split", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", "equation_Platform.Bytes.split", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_EtM.CPA.log_entry", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "proj_equation_EtM.CPA.Entry_c", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_EtM.CPA.iv_of_entry", "typing_Prims.int" - ], - 0, - "a8025c6f3792a09566cf20429c14e5a0" - ], - [ - "EtM.CPA.iv_not_in", - 1, - 2, - 1, - [ - "@query", "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.iv", - "equation_EtM.CPA.ivsize", "equation_Platform.Bytes.lbytes", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" - ], - 0, - "636cf16d4ac8961a846da0b72ec6c095" - ], - [ - "EtM.CPA.pairwise_distinct_ivs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_84c1bfaaf908475ecb507651910953b1_0", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ff1392a594136d4683fd441430f357a3", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "1428d095cc705dba99a1f62c2b14a730" - ], - [ - "EtM.CPA.pairwise_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@fuel_irrelevance_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "int_typing", "kinding_EtM.CPA.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "3511e185a47a362d1c8e76d654e2b900" - ], - [ - "EtM.CPA.invert_pairwise", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.iv", "equation_EtM.CPA.iv_not_in", - "equation_EtM.CPA.ivsize", "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_EtM.CPA.log_entry", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a" - ], - 0, - "f079da9dcf70256d0069dde37dbd09e8" - ], - [ - "EtM.CPA.entry_functional_correctness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_EtM.Ideal.conf", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "485d200e985f91a4c1d2dd76b210533b" - ], - [ - "EtM.CPA.cipher_functional_correctness", - 1, - 2, - 1, - [ "@query", "assumption_EtM.CPA.log_entry__uu___haseq" ], - 0, - "403f06536361a0536f7dc9cab18809c0" - ], - [ - "EtM.CPA.keygen", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_EtM.CPA.log_entry__uu___haseq", "bool_inversion", - "equation_EtM.CPA.cipher_functional_correctness", - "equation_EtM.CPA.invariant", "equation_EtM.CPA.keysize", - "equation_EtM.CPA.log", "equation_EtM.CPA.rid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.mem", "equation_FStar.Set.subset", - "equation_Prims.eqtype", - "equation_with_fuel_EtM.CPA.pairwise_distinct_ivs.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_EtM.CPA.log_entry", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_EtM.CPA.log_entry@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.CPA.Key_log", - "projection_inverse_EtM.CPA.Key_raw", - "projection_inverse_EtM.CPA.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "true_interp", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "dc4f7ab699f13799f8a628fc43d99659" - ], - [ - "EtM.CPA.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "EtM.CPA_pretyping_ddcbeef871d549131908d118a8ef272f", - "assumption_EtM.CPA.log_entry__uu___haseq", "bool_inversion", - "data_elim_EtM.CPA.Entry", "eq2-interp", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.cipher_functional_correctness", - "equation_EtM.CPA.entry_functional_correctness", - "equation_EtM.CPA.invariant", "equation_EtM.CPA.iv", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.log", - "equation_EtM.Ideal.conf", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_EtM.CPA.key", - "fuel_guarded_inversion_EtM.CPA.log_entry", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_EtM.CPA.Entry_plain", "proj_equation_EtM.CPA.Key_log", - "proj_equation_EtM.CPA.Key_raw", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.CPA.Entry_plain", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cbbf30f5fe9d4d180371c9554dc6d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4117eee6ba9f4efdb805e0946db4ada1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "30188b22b60a46a34d3488a0e64381d2" - ], - [ - "EtM.CPA.find_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_EtM.CPA.log_entry__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "equation_EtM.CPA.cipher", "equation_FStar.Seq.Properties.mem", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", "int_inversion", - "kinding_EtM.CPA.log_entry@tok", - "lemma_FStar.Seq.Properties.seq_mem_k", - "primitive_Prims.op_GreaterThan", "proj_equation_EtM.CPA.Entry_c", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_EtM.CPA.Entry_c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc563ce36b042ec5360a78afe1635e26", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fdd4dde048f037e195c7558569a98fb2", - "typing_FStar.Seq.Base.index" - ], - 0, - "67e98fb9cc8ff0be84e9656a26ff7a3e" - ], - [ - "EtM.CPA.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "assumption_EtM.CPA.log_entry__uu___haseq", "bool_inversion", - "constructor_distinct_CoreCrypto.AES_128_CBC", "eq2-interp", - "equality_tok_CoreCrypto.AES_128_CBC@tok", - "equation_CoreCrypto.blockSize", "equation_EtM.CPA.cipher", - "equation_EtM.CPA.cipher_functional_correctness", - "equation_EtM.CPA.entry_functional_correctness", - "equation_EtM.CPA.invariant", "equation_EtM.CPA.iv_of_entry", - "equation_EtM.CPA.ivsize", "equation_EtM.CPA.log", - "equation_EtM.CPA.raw_cipher", "equation_EtM.CPA.rid", - "equation_EtM.Ideal.auth", "equation_EtM.Ideal.conf", - "equation_EtM.Ideal.ind_cpa_rest_adv", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", "equation_FStar.Set.subset", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_EtM.CPA.Entry_c", "proj_equation_EtM.CPA.Entry_plain", - "proj_equation_EtM.CPA.Key_log", - "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_EtM.CPA.Entry_c", - "projection_inverse_EtM.CPA.Entry_plain", - "projection_inverse_EtM.CPA.Key_log", - "projection_inverse_EtM.CPA.Key_raw", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2deef950a93fe3a94e3e3b095cc24b91", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_7de8468e4c8be42394c70da6b10033dd", - "refinement_interpretation_Tm_refine_7f78f70eb44b3abbe4ffd0af2859ffdb", - "refinement_interpretation_Tm_refine_b80d66df2e638bd4e8ce22b10f41ad1a", - "refinement_interpretation_Tm_refine_f4b77abb8a71325c47c79229db8fb3ba", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fa41316908b2055240ae4f5263c4b8fd", - "typing_EtM.CPA.log", "typing_EtM.Ideal.ind_cpa", - "typing_EtM.Ideal.ind_cpa_rest_adv", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "2497647eaf57a7f3f9cd7a7f0f782090" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/EtM.CoreCrypto.fst.hints b/examples/crypto/EtM.CoreCrypto.fst.hints deleted file mode 100644 index 4fc97161bea..00000000000 --- a/examples/crypto/EtM.CoreCrypto.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "hÖ[ø\u00031˜0ð²ñs¤\u001dÝ®", [] ] \ No newline at end of file diff --git a/examples/crypto/EtM.Ideal.fsti.hints b/examples/crypto/EtM.Ideal.fsti.hints deleted file mode 100644 index 926e34114d8..00000000000 --- a/examples/crypto/EtM.Ideal.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0006ÐŽ¿ý^\rv\"“”Š¦4¿À", [] ] \ No newline at end of file diff --git a/examples/crypto/EtM.MAC.fst.hints b/examples/crypto/EtM.MAC.fst.hints deleted file mode 100644 index 02269d93458..00000000000 --- a/examples/crypto/EtM.MAC.fst.hints +++ /dev/null @@ -1,253 +0,0 @@ -[ - "‹š\u007f\u001aº\u0001¿\u0002½3Ńӹ", - [ - [ - "EtM.MAC.sha1_key", - 1, - 2, - 1, - [ - "@query", "equation_EtM.MAC.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "fe411f75fc9c0872a37cde3a296e292c" - ], - [ - "EtM.MAC.tag", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.SHA1", - "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize", - "equation_EtM.MAC.macsize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "86ca4af4858174e118a40c84f08d9d16" - ], - [ - "EtM.MAC.sha1", - 1, - 2, - 1, - [ "@query", "equation_EtM.MAC.macsize" ], - 0, - "3048c34a713e198937dea620e95ea27a" - ], - [ - "EtM.MAC.hmac_sha1", - 1, - 2, - 1, - [ - "@query", "equation_EtM.MAC.blocksize", "equation_EtM.MAC.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1c0413ded5e79f75b47536c129e5260b" - ], - [ - "EtM.MAC.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_EtM.MAC.genPost", "equation_EtM.MAC.keysize", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.rid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_EtM.MAC.Key_log", - "projection_inverse_EtM.MAC.Key_region", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_EtM.MAC.log_entry", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "efa504331b7d3a6f490690ec78c747e3" - ], - [ - "EtM.MAC.mac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "proj_equation_EtM.MAC.Key_log", "proj_equation_EtM.MAC.Key_region", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_EtM.CPA.cipher", "typing_EtM.MAC.__proj__Key__item__log", - "typing_EtM.MAC.__proj__Key__item__raw", "typing_EtM.MAC.hmac_sha1", - "typing_EtM.MAC.log_entry", "typing_EtM.MAC.tag", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.seq" - ], - 0, - "a9c3e0f3b7759aadb3c8b64f7b0dbbd6" - ], - [ - "EtM.MAC.verify", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.macsize", - "equation_EtM.MAC.msg", "equation_EtM.MAC.tag", - "equation_Platform.Bytes.lbytes", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_EtM.CPA.cipher", "typing_EtM.MAC.tag" - ], - 0, - "25ff0e3050fdf33c3328561981b464e6" - ], - [ - "EtM.MAC.verify", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "data_elim_EtM.MAC.Key", "equation_EtM.CPA.cipher", - "equation_EtM.MAC.log_entry", "equation_EtM.MAC.log_t", - "equation_EtM.MAC.macsize", "equation_EtM.MAC.msg", - "equation_EtM.MAC.rid", "equation_EtM.MAC.tag", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Set.subset", "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_EtM.MAC.key", - "haseqTm_refine_7de8468e4c8be42394c70da6b10033dd", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "proj_equation_EtM.MAC.Key_log", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_EtM.CPA.cipher", "typing_EtM.MAC.tag", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.empty" - ], - 0, - "e770fde202bae7c380d5e7efbf25b194" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/EtM.Plain.fst.hints b/examples/crypto/EtM.Plain.fst.hints deleted file mode 100644 index 30fb9673ecd..00000000000 --- a/examples/crypto/EtM.Plain.fst.hints +++ /dev/null @@ -1,80 +0,0 @@ -[ - "s\u0004aÍÄÅAJuˆö\u001eíº", - [ - [ - "EtM.Plain.plain", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "5187ffdca905bde4ff7c2a2fcbb5cd28" - ], - [ - "EtM.Plain.reveal_hide", - 1, - 2, - 1, - [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], - 0, - "1de61e69f3dcb56ba11b334e976483d7" - ], - [ - "EtM.Plain.hide_reveal", - 1, - 2, - 1, - [ "@query", "equation_EtM.Plain.hide", "equation_EtM.Plain.reveal" ], - 0, - "864beefced7faab2e539a7b8ab8d99ae" - ], - [ - "EtM.Plain.repr", - 1, - 2, - 1, - [ "@query", "equation_EtM.Plain.reveal" ], - 0, - "556f65824266df439a87239011a8eba0" - ], - [ - "EtM.Plain.coerce", - 1, - 2, - 1, - [ "@query", "equation_EtM.Plain.hide" ], - 0, - "ce1d586ff757c17f8d9ba7d7fb178731" - ], - [ - "EtM.Plain.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b47543c75a6cc2ea4baa6449b063fdf0" - ], - [ - "EtM.Plain.length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_EtM.Plain.reveal", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3507233dfa0141b4203897e9e02d381c" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/EtM.Plain.fsti.hints b/examples/crypto/EtM.Plain.fsti.hints deleted file mode 100644 index 433aa0fdb38..00000000000 --- a/examples/crypto/EtM.Plain.fsti.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "¦áºî\u001eQ¬sç7…”ÃFwÌ", - [ - [ - "EtM.Plain.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6f85f5c4952cb3d60db732cb8c967d16" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Formatting.fst.hints b/examples/crypto/Formatting.fst.hints deleted file mode 100644 index afb0bd219f5..00000000000 --- a/examples/crypto/Formatting.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "G8\u007f®Î\u0010¨\u0016µøå,¦¤\u00148", - [ - [ - "Formatting.append_inj_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "ab1f4e95a6e89a36eb0b33c02f437a12" - ], - [ - "Formatting.append_inj_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Formatting.length", - "equation_Formatting.message", "equation_Formatting.op_At_Bar", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8f4292442d8358aa101190d09fa1e2e1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t", - "typing_Formatting.op_At_Bar" - ], - 0, - "db6932eac85d5cc715414298e5d95da5" - ], - [ - "Formatting.lemma_eq_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c75ebb59e681adf73639e056dd88f318" - ], - [ - "Formatting.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "fc119076104ec5f226e6ea5761b170ae" - ], - [ - "Formatting.UTF8_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "474f444d742b4a4ff6465b89b01a4b6f" - ], - [ - "Formatting.uint16_to_bytes", - 1, - 2, - 1, - [ "@query", "equation_Formatting.uInt16" ], - 0, - "e5535b6dc8da18b0b27f387848c87285" - ], - [ - "Formatting.uint16_to_bytes", - 2, - 2, - 1, - [ "@query", "equation_Formatting.uInt16" ], - 0, - "23caf70c7894ca5805c9e1e0b813a8ee" - ], - [ - "Formatting.uint16_to_bytes", - 3, - 2, - 1, - [ "@query", "equation_Formatting.uInt16" ], - 0, - "c7168399beb4c104ef8530dcddfbb13f" - ], - [ - "Formatting.UINT16_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Formatting.uInt16", - "equation_Formatting.uint16", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ebb7aa1a8eb38feb68a75d192e1c165d", - "typing_FStar.UInt8.t" - ], - 0, - "c5e682fb5386a116522c382c196aa170" - ], - [ - "Formatting.response", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Formatting.length", - "equation_Formatting.string16", "equation_Formatting.uInt16", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9" - ], - 0, - "1268cb497c6e80a8bd2d79ce41063807" - ], - [ - "Formatting.req_resp_distinct", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Formatting.message" - ], - 0, - "c1f92ce6389f7147cbfd653c54246ffd" - ], - [ - "Formatting.req_resp_distinct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Formatting.length", "equation_Formatting.message", - "equation_Formatting.msg", "equation_Formatting.op_At_Bar", - "equation_Formatting.request", "equation_Formatting.response", - "equation_Formatting.string16", "equation_Formatting.tag0", - "equation_Formatting.tag1", "equation_Formatting.uInt16", - "equation_Formatting.uint16", "equation_Formatting.uint16_to_bytes", - "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.createBytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "lemma_Formatting.append_inj_lemma", - "lemma_Formatting.lemma_eq_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_49d0e5ffb1f2f8200b16f11f2ab50b9a", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ebb7aa1a8eb38feb68a75d192e1c165d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.eq", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "typing_FStar.UInt8.uint_to_t", - "typing_Formatting.length", "typing_Formatting.op_At_Bar", - "typing_Formatting.request", "typing_Formatting.response", - "typing_Formatting.tag0", "typing_Formatting.tag1", - "typing_Formatting.uint16_to_bytes", "typing_Platform.Bytes.length", - "typing_Platform.Bytes.op_At_Bar", - "typing_Platform.Bytes.repr_bytes", "typing_Platform.Bytes.utf8", - "typing_Prims.pow2" - ], - 0, - "3b01b75999a92fb1382d84d1976723aa" - ], - [ - "Formatting.req_components_corr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "dd5e99cad13056f9766e6d8c84c14dd2" - ], - [ - "Formatting.req_components_corr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Formatting.UTF8_inj", - "equation_Formatting.message", "equation_Formatting.request", - "equation_Formatting.tag0", "equation_Platform.Bytes.lbytes", - "lemma_Formatting.append_inj_lemma", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_Formatting.tag0", "typing_Platform.Bytes.utf8" - ], - 0, - "30c0ecd7ed7c7120c888613ef56edcce" - ], - [ - "Formatting.resp_components_corr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "0f4020a27413bb05e11e0d08e82a05cc" - ], - [ - "Formatting.resp_components_corr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_Formatting.UINT16_inj", - "assumption_Formatting.UTF8_inj", "equation_Formatting.length", - "equation_Formatting.message", "equation_Formatting.msg", - "equation_Formatting.op_At_Bar", "equation_Formatting.response", - "equation_Formatting.string16", "equation_Formatting.tag1", - "equation_Formatting.uInt16", "equation_Formatting.uint16", - "equation_Formatting.uint16_to_bytes", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_Formatting.append_inj_lemma", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_49d0e5ffb1f2f8200b16f11f2ab50b9a", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_ebb7aa1a8eb38feb68a75d192e1c165d", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.eq", - "typing_FStar.UInt8.t", "typing_Formatting.length", - "typing_Formatting.op_At_Bar", "typing_Formatting.response", - "typing_Formatting.tag1", "typing_Formatting.uint16_to_bytes", - "typing_Platform.Bytes.utf8" - ], - 0, - "d0e4e0f5c88b1ce8df4a7dc0716337ab" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/HyE.AE.fst.hints b/examples/crypto/HyE.AE.fst.hints deleted file mode 100644 index 08b7f619993..00000000000 --- a/examples/crypto/HyE.AE.fst.hints +++ /dev/null @@ -1,287 +0,0 @@ -[ - "\u0013L‡i«â´Ü\u000b±\bêáº}", - [ - [ - "HyE.AE.aes_key", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.AES_128_GCM", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadKeySize", "equation_HyE.AE.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0422db9f050b9e075dda34f6d7291290" - ], - [ - "HyE.AE.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_CoreCrypto.AES_128_GCM", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadKeySize", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_HyE.AE.cipher", - "equation_HyE.AE.genPost", "equation_HyE.AE.key_log", - "equation_HyE.AE.key_region", "equation_HyE.AE.keysize", - "equation_HyE.AE.msg", "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_HyE.AE.Key_log", "proj_equation_HyE.AE.Key_region", - "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_HyE.AE.Key_log", - "projection_inverse_HyE.AE.Key_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_HyE.Plain.t" - ], - 0, - "b167d6fac649a044299722ef8a425dde" - ], - [ - "HyE.AE.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "constructor_distinct_CoreCrypto.AES_128_GCM", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_HyE.AE.Key", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadKeySize", - "equation_CoreCrypto.aeadRealIVSize", - "equation_CoreCrypto.aeadTagSize", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.snoc", - "equation_FStar.Seq.Properties.snoc", "equation_HyE.AE.aes_key", - "equation_HyE.AE.cipher", "equation_HyE.AE.ivsize", - "equation_HyE.AE.key_log", "equation_HyE.AE.key_region", - "equation_HyE.AE.keysize", "equation_HyE.AE.mlog_t", - "equation_HyE.AE.msg", "equation_HyE.Ideal.conf", - "equation_HyE.Plain.r", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", - "equation_Platform.Bytes.lbytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_HyE.AE.key", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_HyE.AE.Key_log", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_34157247ae5583ed40d56901390095a5", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_e5cb6e0430bbe544aa54732f0f62401f", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_CoreCrypto.aead_encryptT", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.empty", "typing_FStar.UInt8.t", - "typing_HyE.AE.__proj__Key__item__raw", "typing_HyE.Ideal.ind_cca", - "typing_HyE.Ideal.int_ctxt", "typing_Platform.Bytes.length", - "typing_tok_CoreCrypto.AES_128_GCM@tok" - ], - 0, - "59a98ca1fc21f964455b6f7cb718edb8" - ], - [ - "HyE.AE.decrypt", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_HyE.Plain.Plain_hasEq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.AE.cipher", - "equation_HyE.AE.msg", - "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", - "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "typing_HyE.Plain.t" - ], - 0, - "08c001282841d0ebb547f595ff33aacf" - ], - [ - "HyE.AE.decrypt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "HyE.AE_interpretation_Tm_arrow_e23940a9f5631d5fcb099dd92358f27e", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_HyE.AE.Key", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadRealIVSize", - "equation_CoreCrypto.aeadTagSize", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.seq_find", - "equation_FStar.Set.subset", "equation_HyE.AE.cipher", - "equation_HyE.AE.ivsize", "equation_HyE.AE.key_log", - "equation_HyE.AE.mem", "equation_HyE.AE.mlog_t", - "equation_HyE.AE.msg", "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_HyE.AE.key", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", "int_inversion", - "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_HyE.AE.Key_log", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_842b6adb2e0bfb01db27248c3828cf01", - "refinement_interpretation_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Properties.seq_find", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_HyE.Plain.t", "typing_Platform.Bytes.length", - "typing_Prims.int", "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c" - ], - 0, - "273559a595024fe05409c83342f11987" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/HyE.AE.fsti.hints b/examples/crypto/HyE.AE.fsti.hints deleted file mode 100644 index 136b6a01da4..00000000000 --- a/examples/crypto/HyE.AE.fsti.hints +++ /dev/null @@ -1,36 +0,0 @@ -[ - "-òTÒ\f¬7\u000fšz‹'\tÊ÷", - [ - [ - "HyE.AE.aes_key", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.AES_128_GCM", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadKeySize", "equation_HyE.AE.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "2a19cb42c0da56ac55497736b2cf4bc0" - ], - [ - "HyE.AE.decrypt", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_HyE.Plain.Plain_hasEq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.AE.cipher", - "equation_HyE.AE.msg", - "haseqTm_refine_d5f38576f4c9b6353149d27af7052546", - "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "typing_HyE.Plain.t" - ], - 0, - "d364e465dbcb20699826efabddffcaea" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/HyE.CCA2.fst.hints b/examples/crypto/HyE.CCA2.fst.hints deleted file mode 100644 index 30ab5be1921..00000000000 --- a/examples/crypto/HyE.CCA2.fst.hints +++ /dev/null @@ -1,113 +0,0 @@ -[ - "Zµ\u0002@„»dû»òGõ¼»Ö", - [ - [ - "HyE.CCA2.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.Seq.rid", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_HyE.CCA2.pkey@tok", "kinding_HyE.CCA2.skey@tok", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_a598063fd6baa76455f392c139d250ee", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "e467322469f10e4e64197e7e8384715f" - ], - [ - "HyE.CCA2.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HyE.Ideal.conf", - "equation_HyE.RSA.cipher", "equation_HyE.RSA.plain", - "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_HyE.CCA2.pkey", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3ca866cb4753920b807f65cae9ed57ef", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_HyE.RSA.cipher", - "typing_HyE.RSA.plain" - ], - 0, - "4e339b4b2aa47be61e042bc318602ac2" - ], - [ - "HyE.CCA2.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "data_elim_HyE.CCA2.PKey", "data_elim_HyE.CCA2.SKey", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.rid", "equation_HyE.CCA2.log_t", - "equation_HyE.PlainPKE.t", "equation_HyE.RSA.cipher", - "equation_Platform.Bytes.lbytes", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_HyE.CCA2.pkey", - "fuel_guarded_inversion_HyE.CCA2.skey", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_HyE.CCA2.entry@tok", "primitive_Prims.op_Negation", - "proj_equation_HyE.CCA2.PKey_log", - "proj_equation_HyE.CCA2.PKey_region", - "proj_equation_HyE.CCA2.SKey_pk", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq", - "typing_HyE.AE.key", "typing_HyE.CCA2.__proj__PKey__item__log", - "typing_HyE.CCA2.__proj__SKey__item__pk" - ], - 0, - "9d761ded4e11ae54e1aabc57afa09b6c" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/HyE.CCA2.fsti.hints b/examples/crypto/HyE.CCA2.fsti.hints deleted file mode 100644 index ae4c67042d8..00000000000 --- a/examples/crypto/HyE.CCA2.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "†\u0002\"89h\u0016µŠTmÑíø2\u001d", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.HCCA2.fst.hints b/examples/crypto/HyE.HCCA2.fst.hints deleted file mode 100644 index 4889ba525f8..00000000000 --- a/examples/crypto/HyE.HCCA2.fst.hints +++ /dev/null @@ -1,105 +0,0 @@ -[ - ",sy“Ï=ª\u001e\\”Ô\rÆÓà", - [ - [ - "HyE.HCCA2.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.E", "data_elim_FStar.Pervasives.Err", - "data_typing_intro_FStar.Pervasives.E@tok", - "data_typing_intro_FStar.Pervasives.Err@tok", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HyE.CCA2.rid", - "fuel_guarded_inversion_FStar.Pervasives.result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_HyE.HCCA2.pkey@tok", "kinding_HyE.HCCA2.skey@tok", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_accffc400e362ff8792a6ddec9946944", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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" - ], - 0, - "a2f82a1e32e3953275014dae6272c55d" - ], - [ - "HyE.HCCA2.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.E", "data_elim_FStar.Pervasives.Err", - "data_elim_FStar.Pervasives.V", "data_elim_HyE.HCCA2.PKey", - "data_typing_intro_FStar.Pervasives.E@tok", - "data_typing_intro_FStar.Pervasives.Err@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.V@tok", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_HyE.AE.cipher", - "equation_HyE.CCA2.cipher", "equation_HyE.CCA2.rid", - "equation_HyE.HCCA2.c", "equation_HyE.RSA.cipher", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_HyE.HCCA2.pkey", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_HyE.HCCA2.PKey_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_accffc400e362ff8792a6ddec9946944", - "refinement_kinding_Tm_refine_d5f38576f4c9b6353149d27af7052546", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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_HyE.HCCA2.c", - "typing_HyE.RSA.cipher" - ], - 0, - "c4b05a8960a2004ca917bb71125b8fe2" - ], - [ - "HyE.HCCA2.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.E", - "data_elim_FStar.Pervasives.Err", "data_elim_FStar.Pervasives.V", - "data_typing_intro_FStar.Pervasives.E@tok", - "data_typing_intro_FStar.Pervasives.Err@tok", - "data_typing_intro_FStar.Pervasives.V@tok", "equation_HyE.HCCA2.p", - "equation_HyE.PlainPKE.t", - "fuel_guarded_inversion_FStar.Pervasives.result", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", "typing_HyE.AE.key", - "typing_HyE.Plain.t" - ], - 0, - "6ae7d3a14fcc253a6c59012ac08814c6" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/HyE.HCCA2.fsti.hints b/examples/crypto/HyE.HCCA2.fsti.hints deleted file mode 100644 index 357f899a991..00000000000 --- a/examples/crypto/HyE.HCCA2.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÓÓ‘å´\u000e‘ûÔC\u001föõåð\u001b", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.Ideal.fsti.hints b/examples/crypto/HyE.Ideal.fsti.hints deleted file mode 100644 index e908e48a7db..00000000000 --- a/examples/crypto/HyE.Ideal.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¡H®¬=2JV™úåM²è)-", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.Plain.fst.hints b/examples/crypto/HyE.Plain.fst.hints deleted file mode 100644 index 1179ca6bd8f..00000000000 --- a/examples/crypto/HyE.Plain.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ôcî™–<Â@ž”ªuù…ˆ", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.Plain.fsti.hints b/examples/crypto/HyE.Plain.fsti.hints deleted file mode 100644 index 838492de57e..00000000000 --- a/examples/crypto/HyE.Plain.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0012'\u0004ù±Ü\u0016ßêeD™+R|“", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.PlainPKE.fst.hints b/examples/crypto/HyE.PlainPKE.fst.hints deleted file mode 100644 index 263812b8902..00000000000 --- a/examples/crypto/HyE.PlainPKE.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "$wc>½î¯+)z:²'²", [] ] \ No newline at end of file diff --git a/examples/crypto/HyE.RSA.fst.hints b/examples/crypto/HyE.RSA.fst.hints deleted file mode 100644 index 2fd3d1f04c0..00000000000 --- a/examples/crypto/HyE.RSA.fst.hints +++ /dev/null @@ -1,34 +0,0 @@ -[ - "›`¨\u001fÈž»Ý3Ÿ\u0005\u0001lŸƒo", - [ - [ - "HyE.RSA.plain", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.AES_128_GCM", - "equality_tok_CoreCrypto.AES_128_GCM@tok", - "equation_CoreCrypto.aeadKeySize", "equation_HyE.RSA.plainsize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "2be29c5f903e7f162cb17edc1df07c51" - ], - [ - "HyE.RSA.enc", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", "equation_HyE.RSA.plain", - "equation_HyE.RSA.plainsize", "equation_Platform.Bytes.lbytes", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "typing_HyE.RSA.plain" - ], - 0, - "b5b48f696874877365b540fb0e3a6fa9" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/MAC.fst.hints b/examples/crypto/MAC.fst.hints deleted file mode 100644 index 99652ef8c54..00000000000 --- a/examples/crypto/MAC.fst.hints +++ /dev/null @@ -1,120 +0,0 @@ -[ - "rŽ+Èfù˜¹¿gÞ8`’s", - [ - [ - "MAC.entry", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.lbytes", "equation_SHA1.key", - "equation_SHA1.keysize", "equation_SHA1.tag", "equation_SHA1.text", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" - ], - 0, - "cfec36e9e024cee4fbf02f179750a092" - ], - [ - "MAC.verify", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "750385df0b7b15acf25d37eba0613c73" - ], - [ - "MAC.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MAC.pkey", - "equation_SHA1.key", "equation_SHA1.keysize", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8780019b0aae248f45fa2cdeef995357" - ], - 0, - "ffa68fa972c8cc569e4b1bd39b0e7df0" - ], - [ - "MAC.mac", - 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", - "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.Monotonic.Heap.only", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.lbytes", - "equation_SHA1.key", "equation_SHA1.keysize", "equation_SHA1.text", - "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", - "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "interpretation_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d", - "kinding_MAC.entry@tok", "kinding_Prims.list@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MAC.Entry_k", "projection_inverse_MAC.Entry_t", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_20c0e3ae3802457ed04fc6c697f51278", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_eb2ac8b1d7435a520bdf3911facf0182", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_MAC.log", - "typing_Platform.Bytes.equalBytes", "typing_SHA1.hmac_sha1", - "typing_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d" - ], - 0, - "8be0b793d9b76dc0efba54ccaffc3ce8" - ], - [ - "MAC.verify", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", - "assumption_Platform.Bytes.HasEq_bytes", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_MAC.Entry", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Platform.Bytes.lbytes", - "equation_SHA1.key", "equation_SHA1.keysize", "equation_SHA1.text", - "fuel_guarded_inversion_MAC.entry", - "interpretation_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d", - "kinding_MAC.entry@tok", "kinding_Prims.list@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_20c0e3ae3802457ed04fc6c697f51278", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_80ee390faac14219b179447f9069a246", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.find", "typing_FStar.Monotonic.Heap.sel", - "typing_MAC.log", "typing_Platform.Bytes.equalBytes", - "typing_Tm_abs_7b3114bf1eb1202b6687fce89dcc274d" - ], - 0, - "1e093dc4a3dcedc3e277ed4880a9e23c" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Makefile b/examples/crypto/Makefile index 9e0ce1bf021..0b9c6f9ec83 100644 --- a/examples/crypto/Makefile +++ b/examples/crypto/Makefile @@ -1,8 +1,8 @@ FSTAR_ROOT ?= ../.. include $(FSTAR_ROOT)/mk/test.mk -OTHERFLAGS += --include $(FSTAR_ROOT)/ucontrib/Platform/fst -OTHERFLAGS += --include $(FSTAR_ROOT)/ucontrib/CoreCrypto/fst +OTHERFLAGS += --include $(FSTAR_ROOT)/contrib/Platform/fst +OTHERFLAGS += --include $(FSTAR_ROOT)/contrib/CoreCrypto/fst all: # RPC.ml CntProtocol.ml diff --git a/examples/crypto/OPLSS.AE.fst.hints b/examples/crypto/OPLSS.AE.fst.hints deleted file mode 100644 index af3206d070a..00000000000 --- a/examples/crypto/OPLSS.AE.fst.hints +++ /dev/null @@ -1,772 +0,0 @@ -[ - "…\u001e\u00158ì\u0005 ¼½H5\u000e\b@", - [ - [ - "OPLSS.AE.key", - 1, - 2, - 1, - [ - "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq" - ], - 0, - "f286f095e5e469beb705b6113df87247" - ], - [ - "OPLSS.AE.__proj__Key__item__enc", - 1, - 2, - 1, - [ - "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq" - ], - 0, - "9ab5d278eb1e733110a6f9409ab532c2" - ], - [ - "OPLSS.AE.__proj__Key__item__enc", - 2, - 2, - 1, - [ - "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq" - ], - 0, - "67341e3e6a77b2586ce243803c4d2776" - ], - [ - "OPLSS.AE.ae_cipher", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.HMACSHA1.macsize", - "equation_OPLSS.HMACSHA1.tag", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t", "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.HMACSHA1.tag" - ], - 0, - "0b9db619e239b6e52b6e147b285dcb82" - ], - [ - "OPLSS.AE.footprint", - 1, - 2, - 1, - [ - "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq" - ], - 0, - "13217186a4b404951cd2b422e9a3d9b0" - ], - [ - "OPLSS.AE.mac_only_cpa_ciphers", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_637017c512b6df243bebc696ea83a55d_0", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "kinding_OPLSS.MAC.log_entry@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e858a51b1df3ecd4956d8a580f70260d", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "d915cc8eedec289356158d8f980151d1" - ], - [ - "OPLSS.AE.mac_only_cpa_ciphers_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", "eq2-interp", "equation_FStar.Seq.Properties.snoc", - "equation_Prims.nat", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "int_inversion", "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "kinding_OPLSS.MAC.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "917b87f85ff1b6ebe2e70f8d47e7916e" - ], - [ - "OPLSS.AE.mac_only_cpa_ciphers_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "OPLSS.MAC_pretyping_25be147a026894aec249ead6169193df", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", - "binder_x_637017c512b6df243bebc696ea83a55d_0", - "binder_x_6d54bf070fc070452c0ac3ddd9250e07_1", - "binder_x_c8a39c7cb7fe1644ba15d0b14cea79e1_2", - "data_elim_OPLSS.CPA.Entry", "data_typing_intro_OPLSS.CPA.Entry@tok", - "eq2-interp", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", "equation_OPLSS.AE.ae_as_mac", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.mac_cpa_related", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.HMACSHA1.tag", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_OPLSS.CPA.log_entry@tok", "kinding_OPLSS.MAC.log_entry@tok", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_OPLSS.AE.mac_only_cpa_ciphers_snoc", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_OPLSS.CPA.Entry_c", - "proj_equation_OPLSS.MAC.Entry_msg", - "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_OPLSS.MAC.Entry_msg", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b359a5e3ef3f75b167af26b0db718523", - "refinement_interpretation_Tm_refine_e858a51b1df3ecd4956d8a580f70260d", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_OPLSS.AE.ae_as_mac", "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.HMACSHA1.tag", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "5b8bec44a9ac1c67f04d187159308f92" - ], - [ - "OPLSS.AE.mac_only_cpa_ciphers_mem", - 2, - 2, - 1, - [ - "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq" - ], - 0, - "ba63bc206a193d0bcc90ed79b82734ec" - ], - [ - "OPLSS.AE.composite_log", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_637017c512b6df243bebc696ea83a55d_0", - "binder_x_7d75b9a21a8f4f0b3a199a24b5f72518_1", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_OPLSS.AE.composite_log_entry", - "equation_OPLSS.AE.log_entry", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "kinding_OPLSS.MAC.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_OPLSS.AE.mac_only_cpa_ciphers_snoc", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_156583608fe6cfcf14de1698f865f3fc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69966365c2140e39b115ddd93cbe5408", - "refinement_interpretation_Tm_refine_e858a51b1df3ecd4956d8a580f70260d", - "refinement_interpretation_Tm_refine_f016bb971a0543ceec999d99d46ac03c", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_OPLSS.AE.composite_log_entry", "typing_OPLSS.AE.log_entry", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "04506f9a02af2a3341ad72a8b86a2a02" - ], - [ - "OPLSS.AE.composite_log", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "807b5cb9fa651175bfb81dd3051002a5" - ], - [ - "OPLSS.AE.composite_log_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.composite_log.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "OPLSS.CPA_pretyping_34fc56cb62a618fe133714c7e28c5d6f", - "OPLSS.MAC_pretyping_25be147a026894aec249ead6169193df", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_OPLSS.AE.composite_log.fuel_instrumented", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "fuel_guarded_inversion_OPLSS.MAC.log_entry", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_OPLSS.CPA.log_entry@tok", "kinding_OPLSS.MAC.log_entry@tok", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bdd04be68eeaa57c69955b6e5452ac23", - "refinement_interpretation_Tm_refine_fdd5e2f82dde9eb2ecae87ac850ec881", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "f90e7bc626465494fd1280bddf27cf88" - ], - [ - "OPLSS.AE.ae_log", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.AE.cpa_log", - "equation_OPLSS.AE.invariant", "equation_OPLSS.AE.mac_log", - "equation_OPLSS.CPA.log", "equation_OPLSS.Log.entries", - "equation_OPLSS.MAC.log", "fuel_guarded_inversion_OPLSS.AE.key", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_26b146ce0ad10e022d31a0a58fdaede3" - ], - 0, - "38a372472ee8b8105c6cf9344f682e91" - ], - [ - "OPLSS.AE.invert_invariant_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "OPLSS.CPA_pretyping_34fc56cb62a618fe133714c7e28c5d6f", - "OPLSS.MAC_pretyping_25be147a026894aec249ead6169193df", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", - "binder_x_637017c512b6df243bebc696ea83a55d_0", - "binder_x_6d54bf070fc070452c0ac3ddd9250e07_1", - "binder_x_8ca1b676fcb73c3a9f433ac975e9f21c_3", - "binder_x_c8a39c7cb7fe1644ba15d0b14cea79e1_2", "bool_inversion", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_OPLSS.CPA.Entry@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", - "equation_OPLSS.AE.ae_as_mac", "equation_OPLSS.AE.ae_cipher", - "equation_OPLSS.AE.composite_log_entry", - "equation_OPLSS.AE.log_entry", "equation_OPLSS.AE.mac_cpa_related", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.HMACSHA1.tag", - "equation_OPLSS.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_OPLSS.AE.composite_log.fuel_instrumented", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "kinding_OPLSS.MAC.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.hasEq_lemma", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_OPLSS.auto_lemma_mem_snoc", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_OPLSS.CPA.Entry_c", - "proj_equation_OPLSS.CPA.Entry_plain", - "proj_equation_OPLSS.MAC.Entry_msg", - "proj_equation_OPLSS.MAC.Entry_tag", - "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_OPLSS.CPA.Entry_c", - "projection_inverse_OPLSS.CPA.Entry_plain", - "projection_inverse_OPLSS.MAC.Entry_msg", - "projection_inverse_OPLSS.MAC.Entry_tag", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_26614e21b17bd7d2bb0e14d46cd344c7", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4212298e335eea8e5f32c654a7f7ba72", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_69966365c2140e39b115ddd93cbe5408", - "refinement_interpretation_Tm_refine_8daa79390ce797d89e8d9e3d34fea830", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bdd04be68eeaa57c69955b6e5452ac23", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e858a51b1df3ecd4956d8a580f70260d", - "token_correspondence_OPLSS.AE.composite_log.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.snoc", - "typing_FStar.Seq.Properties.un_snoc", "typing_FStar.UInt8.t", - "typing_OPLSS.AE.ae_as_mac", "typing_OPLSS.AE.ae_cipher", - "typing_OPLSS.AE.composite_log_entry", "typing_OPLSS.AE.log_entry", - "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.CPA.__proj__Entry__item__c", - "typing_OPLSS.HMACSHA1.tag", "typing_OPLSS.Plain.plain", - "typing_Prims.int", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "1cf504764ac28b29a250187f07cdde7d" - ], - [ - "OPLSS.AE.invert_invariant_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.log_entry", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.HMACSHA1.tag", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_551867dc60c351e15e736eb25b0cb646", - "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.HMACSHA1.tag", "typing_OPLSS.Plain.plain" - ], - 0, - "3575dbf9318624c8819443683ba3089b" - ], - [ - "OPLSS.AE.invert_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS.MAC_pretyping_25be147a026894aec249ead6169193df", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", "bool_inversion", - "data_elim_OPLSS.AE.Key", "equation_OPLSS.AE.ae_as_mac", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.ae_log", - "equation_OPLSS.AE.cpa_log", "equation_OPLSS.AE.invariant", - "equation_OPLSS.AE.log_entry", "equation_OPLSS.AE.mac_log", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.CPA.invariant", - "equation_OPLSS.CPA.log", "equation_OPLSS.HMACSHA1.tag", - "equation_OPLSS.Log.entries", "equation_OPLSS.MAC.log", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_OPLSS.AE.key", - "fuel_guarded_inversion_OPLSS.CPA.key", - "fuel_guarded_inversion_OPLSS.MAC.key", - "proj_equation_OPLSS.AE.Key_enc", "proj_equation_OPLSS.AE.Key_mac", - "proj_equation_OPLSS.MAC.Key_log", - "refinement_interpretation_Tm_refine_1fecf346459cefcb86ea378accdda93a", - "refinement_interpretation_Tm_refine_3cdf60533d48f70166ec624c21f05dd3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_OPLSS.AE.ae_as_mac", "typing_OPLSS.AE.ae_cipher", - "typing_OPLSS.Flag.reveal", "typing_OPLSS.Ideal.uf_cma", - "typing_OPLSS.Plain.plain" - ], - 0, - "f8a395bd802a9b06dcb6f822f63f72e5" - ], - [ - "OPLSS.AE.keygen", - 1, - 2, - 1, - [ "@query" ], - 0, - "0b6efc2bfbda21609b5df849c86f6cd0" - ], - [ - "OPLSS.AE.keygen", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_correspondence_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", "bool_inversion", - "bool_typing", "eq2-interp", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_OPLSS.AE.ae_log", "equation_OPLSS.AE.cpa_log", - "equation_OPLSS.AE.invariant", "equation_OPLSS.AE.mac_log", - "equation_OPLSS.CPA.invariant", "equation_OPLSS.CPA.log", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.fp", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.t", - "equation_OPLSS.MAC.log", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_OPLSS.AE.composite_log.fuel_instrumented", - "equation_with_fuel_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "equation_with_fuel_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "fuel_guarded_inversion_OPLSS.CPA.key", - "fuel_guarded_inversion_OPLSS.MAC.key", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_OPLSS.CPA.log_entry@tok", "kinding_OPLSS.MAC.log_entry@tok", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_mreference_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_OPLSS.AE.Key_enc", "proj_equation_OPLSS.AE.Key_mac", - "proj_equation_OPLSS.CPA.Key_log", "proj_equation_OPLSS.MAC.Key_log", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_OPLSS.AE.Key_enc", - "projection_inverse_OPLSS.AE.Key_mac", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bdd04be68eeaa57c69955b6e5452ac23", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_OPLSS.CPA.__proj__Key__item__log", "typing_OPLSS.CPA.log", - "typing_OPLSS.Log.fp", "typing_OPLSS.Log.grows", - "typing_OPLSS.MAC.__proj__Key__item__log", "typing_OPLSS.MAC.log", - "typing_Prims.int" - ], - 0, - "c2ea7377079504104e6f4e090742a237" - ], - [ - "OPLSS.AE.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f" - ], - 0, - "0085259f5536eed97307e15c2ca9822a" - ], - [ - "OPLSS.AE.encrypt", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_correspondence_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.composite_log.fuel_instrumented", - "@fuel_irrelevance_OPLSS.AE.mac_only_cpa_ciphers.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "OPLSS.CPA_pretyping_34fc56cb62a618fe133714c7e28c5d6f", - "OPLSS.MAC_pretyping_25be147a026894aec249ead6169193df", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "assumption_OPLSS.MAC.log_entry__uu___haseq", "bool_inversion", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_OPLSS.CPA.Entry@tok", - "data_typing_intro_OPLSS.MAC.Entry@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.ae_log", - "equation_OPLSS.AE.composite_log_entry", "equation_OPLSS.AE.cpa_log", - "equation_OPLSS.AE.footprint", "equation_OPLSS.AE.invariant", - "equation_OPLSS.AE.mac_cpa_related", "equation_OPLSS.AE.mac_log", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.CPA.invariant", - "equation_OPLSS.CPA.log", "equation_OPLSS.HMACSHA1.msg", - "equation_OPLSS.HMACSHA1.tag", "equation_OPLSS.Log.entries", - "equation_OPLSS.Log.fp", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.t", "equation_OPLSS.MAC.invariant", - "equation_OPLSS.MAC.log", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_OPLSS.AE.key", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_OPLSS.CPA.log_entry@tok", "kinding_OPLSS.MAC.log_entry@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_mreference_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_OPLSS.AE.composite_log_snoc", - "lemma_OPLSS.AE.mac_only_cpa_ciphers_snoc", - "primitive_Prims.op_Addition", "proj_equation_OPLSS.AE.Key_enc", - "proj_equation_OPLSS.AE.Key_mac", "proj_equation_OPLSS.CPA.Entry_c", - "proj_equation_OPLSS.CPA.Entry_plain", - "proj_equation_OPLSS.CPA.Key_log", - "proj_equation_OPLSS.MAC.Entry_msg", - "proj_equation_OPLSS.MAC.Entry_tag", - "proj_equation_OPLSS.MAC.Key_log", - "projection_inverse_OPLSS.CPA.Entry_c", - "projection_inverse_OPLSS.CPA.Entry_plain", - "projection_inverse_OPLSS.MAC.Entry_msg", - "projection_inverse_OPLSS.MAC.Entry_tag", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46b68b9714c8e3c8a3384ac3f5230ed1", - "refinement_interpretation_Tm_refine_4c976cf367f6fbc5f7e55e9686d6d0c6", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b384e2dd701ce0a0bc0f98479d2053d", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_80ba92261732b4b81d1fa361ed90dc70", - "refinement_interpretation_Tm_refine_9ab0ebe287f0645e6f2f11ecad663151", - "refinement_interpretation_Tm_refine_9bfa85103653817f1c9189142c4becbc", - "refinement_interpretation_Tm_refine_b40ee76d50a60137e8bef0a6b70df85f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_OPLSS.AE.__proj__Key__item__enc", - "typing_OPLSS.AE.__proj__Key__item__mac", - "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.CPA.__proj__Key__item__log", "typing_OPLSS.CPA.log", - "typing_OPLSS.Flag.reveal", "typing_OPLSS.HMACSHA1.tag", - "typing_OPLSS.Ideal.ae", "typing_OPLSS.Ideal.ind_cpa", - "typing_OPLSS.Ideal.pre_ind_cpa", "typing_OPLSS.Log.fp", - "typing_OPLSS.Log.grows", "typing_OPLSS.MAC.__proj__Key__item__log", - "typing_OPLSS.MAC.log", "typing_Prims.int" - ], - 0, - "11d53498d6117ac11a329be9dc2ff2f4" - ], - [ - "OPLSS.AE.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.log_entry", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.HMACSHA1.tag", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.AES.iv_cipher", - "typing_OPLSS.HMACSHA1.tag", "typing_OPLSS.Plain.plain" - ], - 0, - "d1cdd5e7176395acbc981480f892b43c" - ], - [ - "OPLSS.AE.decrypt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_OPLSS.CPA.log_entry__uu___haseq", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_OPLSS.CPA.Entry@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.mem", "equation_OPLSS.AE.ae_as_mac", - "equation_OPLSS.AE.ae_cipher", "equation_OPLSS.AE.ae_log", - "equation_OPLSS.AE.cpa_log", "equation_OPLSS.AE.invariant", - "equation_OPLSS.AE.log_entry", "equation_OPLSS.AE.mac_log", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.CPA.authentic", - "equation_OPLSS.CPA.log", "equation_OPLSS.HMACSHA1.tag", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.has", - "equation_OPLSS.MAC.log", "equation_Prims.eqtype", - "fuel_guarded_inversion_OPLSS.AE.key", - "kinding_OPLSS.CPA.log_entry@tok", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_OPLSS.AE.Key_enc", "proj_equation_OPLSS.AE.Key_mac", - "proj_equation_OPLSS.CPA.Key_log", "proj_equation_OPLSS.MAC.Key_log", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_26b146ce0ad10e022d31a0a58fdaede3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46b68b9714c8e3c8a3384ac3f5230ed1", - "refinement_interpretation_Tm_refine_5b384e2dd701ce0a0bc0f98479d2053d", - "refinement_interpretation_Tm_refine_9ab0ebe287f0645e6f2f11ecad663151", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Properties.mem", - "typing_OPLSS.AE.__proj__Key__item__enc", - "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.AE.ae_log", - "typing_OPLSS.AE.log_entry", "typing_OPLSS.CPA.log", - "typing_OPLSS.Ideal.ae", "typing_OPLSS.Ideal.pre_ind_cpa", - "typing_OPLSS.Plain.plain" - ], - 0, - "fc6030f053456120c17a08845be9e504" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.AE.fsti.hints b/examples/crypto/OPLSS.AE.fsti.hints deleted file mode 100644 index 687ade38bf6..00000000000 --- a/examples/crypto/OPLSS.AE.fsti.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "?ÒRï^ŠÕvô\u0010MÍ“@‹", - [ - [ - "OPLSS.AE.keygen", - 1, - 2, - 1, - [ "@query" ], - 0, - "468880cb9d7587acdc1950bf317d5dab" - ], - [ - "OPLSS.AE.encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f1b87c09f7098a0819cfcc4bd9d0f3f" - ], - 0, - "e1a759faabbefcb498992cab6a2fe34f" - ], - [ - "OPLSS.AE.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_OPLSS.AE.log_entry", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_OPLSS.AE.ae_cipher", "typing_OPLSS.Plain.plain" - ], - 0, - "d1cdd5e7176395acbc981480f892b43c" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.AES.fst.hints b/examples/crypto/OPLSS.AES.fst.hints deleted file mode 100644 index 192bf7f62c2..00000000000 --- a/examples/crypto/OPLSS.AES.fst.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "«JV\u0018_êó·«?¡·c]˜²", - [ - [ - "OPLSS.AES.iv_cipher", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" - ], - 0, - "9a7ceceab8b13cd4e75fc406f7b09594" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.CPA.fst.hints b/examples/crypto/OPLSS.CPA.fst.hints deleted file mode 100644 index 05b1479e41e..00000000000 --- a/examples/crypto/OPLSS.CPA.fst.hints +++ /dev/null @@ -1,623 +0,0 @@ -[ - "Ö`BÎ|½’}ã<6Ðc±º&", - [ - [ - "OPLSS.CPA.log_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.AES.iv_cipher", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t", "typing_OPLSS.Plain.plain" - ], - 0, - "ff8d5e638dd5d6156db7220089e27f61" - ], - [ - "OPLSS.CPA.iv_of_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.split", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.UInt8.t", "typing_OPLSS.AES.cipher_size", - "typing_OPLSS.AES.ivsize" - ], - 0, - "5d893b13931bd3d55568e2b796eb8af9" - ], - [ - "OPLSS.CPA.raw_cipher", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.AES.iv_cipher", - "equation_OPLSS.lbytes", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" - ], - 0, - "72e24cffade5cbe92f8c46aa21a150c8" - ], - [ - "OPLSS.CPA.split_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.op_At_Bar", - "equation_FStar.Seq.Properties.split", "equation_OPLSS.AES.cipher", - "equation_OPLSS.AES.iv", "equation_OPLSS.CPA.iv_of_entry", - "equation_OPLSS.CPA.raw_cipher", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "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_OPLSS.CPA.Entry_c", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.op_At_Bar", "typing_FStar.UInt8.t", - "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" - ], - 0, - "f4c976b28207b4998d2a18939e8f36df" - ], - [ - "OPLSS.CPA.iv_of_entry_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.split", "equation_OPLSS.AES.iv", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.CPA.iv_of_entry", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_OPLSS.CPA.Entry_c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt8.t", "typing_OPLSS.AES.ivsize", - "typing_OPLSS.CPA.iv_of_entry", "typing_Prims.int" - ], - 0, - "390bfdf1877d6ae84c62bb4c292841c6" - ], - [ - "OPLSS.CPA.key", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], - 0, - "777bb65eeca8b38b8b62a9c30bc26c58" - ], - [ - "OPLSS.CPA.__proj__Key__item__log", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], - 0, - "1ffca5e597cd04a6cd786aa611fb06d8" - ], - [ - "OPLSS.CPA.__proj__Key__item__log", - 2, - 2, - 1, - [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], - 0, - "8005fd777166ca0c3b333989733bf3eb" - ], - [ - "OPLSS.CPA.iv_not_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "equation_OPLSS.AES.iv", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "bfda829873e4ec94bae31544d19ecf02" - ], - [ - "OPLSS.CPA.pairwise_distinct_ivs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_6d54bf070fc070452c0ac3ddd9250e07_0", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_339d76e8bcdfa5829d4efbe825be5b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "9da296cf8062cbcf05fd6ce4192cb22d" - ], - [ - "OPLSS.CPA.pairwise_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@fuel_irrelevance_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "int_typing", "kinding_OPLSS.CPA.log_entry@tok", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "18d6416a9fa6f964935c6d633ee5f365" - ], - [ - "OPLSS.CPA.invert_pairwise", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "equation_OPLSS.AES.iv", "equation_OPLSS.AES.iv_cipher", - "equation_OPLSS.CPA.iv_not_in", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", "int_inversion", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_80f1b91bd192d7f564b23d97cd973db8", - "typing_FStar.UInt8.t", "typing_OPLSS.AES.ivsize" - ], - 0, - "d44186e8533c865f793610572e34d506" - ], - [ - "OPLSS.CPA.entry_functional_correctness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_OPLSS.AES.plain", "equation_OPLSS.Ideal.conf", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_OPLSS.CPA.Entry_plain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_94dd1890d5246749b0d30f45ca2af357", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt8.t", "typing_FStar.UInt8.uint_to_t", - "typing_OPLSS.CPA.__proj__Entry__item__plain", - "typing_OPLSS.Plain.length", "typing_OPLSS.Plain.reveal", - "typing_Prims.pow2" - ], - 0, - "20cf697cca57f1f7a7c5dc6bade105d0" - ], - [ - "OPLSS.CPA.cipher_functional_correctness", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], - 0, - "c5e0d1f2e24d2064a0c1b1a89434d9de" - ], - [ - "OPLSS.CPA.dec_functionally_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_OPLSS.CPA.Key", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Seq.Properties.split", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.t", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_OPLSS.CPA.key", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_OPLSS.AES.cipher_size", "typing_OPLSS.AES.ivsize" - ], - 0, - "79068efdb6f0a0a3f9df78421511dd7a" - ], - [ - "OPLSS.CPA.authentic", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.CPA.log_entry__uu___haseq" ], - 0, - "d154addf6afb0a320c8d192fd247806e" - ], - [ - "OPLSS.CPA.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.CPA.log_entry__uu___haseq", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_OPLSS.CPA.Entry@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.mem", "equation_OPLSS.AES.iv_cipher", - "equation_OPLSS.CPA.authentic", "equation_OPLSS.CPA.log", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.has", - "equation_OPLSS.Log.not_found", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "fuel_guarded_inversion_OPLSS.CPA.key", - "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "interpretation_Tm_abs_2056a7cf355105e8019f26a98e0f937f", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_OPLSS.CPA.Entry_c", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_OPLSS.CPA.Entry_c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_475a79017f9d620436f3fa664bd44071", - "typing_FStar.UInt8.t" - ], - 0, - "1533e9bbb5869d58c1b1299000fbb3b1" - ], - [ - "OPLSS.CPA.keygen", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_OPLSS.CPA.log_entry__uu___haseq", "bool_inversion", - "data_typing_intro_OPLSS.CPA.Key@tok", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Seq.Properties.mem", "equation_OPLSS.AES.key", - "equation_OPLSS.CPA.cipher_functional_correctness", - "equation_OPLSS.CPA.invariant", "equation_OPLSS.CPA.log", - "equation_OPLSS.Log.fp", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "fuel_guarded_inversion_OPLSS.CPA.log_entry", - "function_token_typing_Prims.__cache_version_number__", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_OPLSS.CPA.Key_log", - "projection_inverse_OPLSS.CPA.Key_log", - "projection_inverse_OPLSS.CPA.Key_raw", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_80f1b91bd192d7f564b23d97cd973db8", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "true_interp", "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.mem", "typing_OPLSS.Log.grows" - ], - 0, - "4f1882b739f856b2b3b0704b7ff0b910" - ], - [ - "OPLSS.CPA.encrypt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_OPLSS.CPA.pairwise_distinct_ivs.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "OPLSS.CPA_pretyping_34fc56cb62a618fe133714c7e28c5d6f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_OPLSS.CPA.log_entry__uu___haseq", "b2t_def", - "bool_inversion", "data_elim_OPLSS.CPA.Key", "eq2-interp", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Seq.Base.op_At_Bar", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_OPLSS.AES.cipher", "equation_OPLSS.AES.iv", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.AES.key", - "equation_OPLSS.AES.plain", - "equation_OPLSS.CPA.cipher_functional_correctness", - "equation_OPLSS.CPA.entry_functional_correctness", - "equation_OPLSS.CPA.invariant", "equation_OPLSS.CPA.log", - "equation_OPLSS.Ideal.conf", "equation_OPLSS.Log.fp", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.t", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_OPLSS.CPA.key", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_OPLSS.CPA.pairwise_snoc", "lemma_OPLSS.CPA.split_entry", - "lemma_OPLSS.auto_lemma_mem_snoc", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_OPLSS.CPA.Entry_plain", - "proj_equation_OPLSS.CPA.Key_log", "proj_equation_OPLSS.CPA.Key_raw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_OPLSS.CPA.Entry_plain", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46b68b9714c8e3c8a3384ac3f5230ed1", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63376ac5a6258efcb136c2b5623ed4e5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_80f1b91bd192d7f564b23d97cd973db8", - "refinement_interpretation_Tm_refine_8180f4f9efc8c3400b4d23c425aaf44b", - "refinement_interpretation_Tm_refine_94dd1890d5246749b0d30f45ca2af357", - "refinement_interpretation_Tm_refine_9bfa85103653817f1c9189142c4becbc", - "refinement_interpretation_Tm_refine_bbc2c33c942676f2ea978d203358799a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.singleton", - "typing_FStar.UInt8.t", "typing_FStar.UInt8.uint_to_t", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_OPLSS.AES.aes_encrypt", "typing_OPLSS.AES.cipher_size", - "typing_OPLSS.AES.keysize", - "typing_OPLSS.CPA.__proj__Entry__item__plain", - "typing_OPLSS.CPA.__proj__Key__item__log", "typing_OPLSS.CPA.log", - "typing_OPLSS.Flag.idealizing", "typing_OPLSS.Flag.reveal", - "typing_OPLSS.Ideal.ind_cpa", "typing_OPLSS.Ideal.pre_ind_cpa", - "typing_OPLSS.Log.grows", "typing_OPLSS.Plain.length", - "typing_OPLSS.Plain.reveal", "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "e24dacc4dd53c3f1fb64a4714ea836e9" - ], - [ - "OPLSS.CPA.decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "OPLSS.CPA_pretyping_34fc56cb62a618fe133714c7e28c5d6f", - "assumption_OPLSS.CPA.log_entry__uu___haseq", "bool_inversion", - "data_typing_intro_OPLSS.CPA.Entry@tok", "eq2-interp", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_mm", - "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.mref", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_OPLSS.AES.iv_cipher", "equation_OPLSS.CPA.authentic", - "equation_OPLSS.CPA.cipher_functional_correctness", - "equation_OPLSS.CPA.dec_functionally_correct", - "equation_OPLSS.CPA.entry_functional_correctness", - "equation_OPLSS.CPA.invariant", "equation_OPLSS.CPA.iv_of_entry", - "equation_OPLSS.CPA.log", "equation_OPLSS.CPA.raw_cipher", - "equation_OPLSS.Ideal.auth", "equation_OPLSS.Ideal.conf", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.has", "equation_OPLSS.Log.t", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "kinding_OPLSS.CPA.log_entry@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_OPLSS.AES.enc_dec_inverses", "lemma_OPLSS.Plain.hide_reveal", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_OPLSS.CPA.Entry_c", - "proj_equation_OPLSS.CPA.Entry_plain", - "proj_equation_OPLSS.CPA.Key_log", "proj_equation_OPLSS.CPA.Key_raw", - "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_OPLSS.CPA.Entry_c", - "projection_inverse_OPLSS.CPA.Entry_plain", - "projection_inverse_OPLSS.CPA.Key_log", - "projection_inverse_OPLSS.CPA.Key_raw", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_203e66d9984a682bb5104679d7e5af99", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46b68b9714c8e3c8a3384ac3f5230ed1", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63376ac5a6258efcb136c2b5623ed4e5", - "refinement_interpretation_Tm_refine_687dd03c86b382d72815381ef069318e", - "refinement_interpretation_Tm_refine_80f1b91bd192d7f564b23d97cd973db8", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9bfa85103653817f1c9189142c4becbc", - "refinement_interpretation_Tm_refine_bbc2c33c942676f2ea978d203358799a", - "refinement_interpretation_Tm_refine_ce1d06067eb8b9d48b708f26cd1b3603", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.UInt8.t", "typing_OPLSS.AES.cipher_size", - "typing_OPLSS.AES.ivsize", "typing_OPLSS.CPA.iv_of_entry", - "typing_OPLSS.CPA.log", "typing_OPLSS.Flag.idealizing", - "typing_OPLSS.Flag.reveal", "typing_OPLSS.Ideal.ind_cpa", - "typing_OPLSS.Ideal.pre_ind_cpa", "typing_OPLSS.Log.grows", - "typing_OPLSS.Log.has", "typing_OPLSS.Plain.repr" - ], - 0, - "cfcf4458c08040b93123249fd2bb94d4" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Flag.fsti.hints b/examples/crypto/OPLSS.Flag.fsti.hints deleted file mode 100644 index 79d879e55af..00000000000 --- a/examples/crypto/OPLSS.Flag.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "oóe7¢Ô²LsG‹Lf\u0005þa", [] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.HMACSHA1.fst.hints b/examples/crypto/OPLSS.HMACSHA1.fst.hints deleted file mode 100644 index c3f119eaecd..00000000000 --- a/examples/crypto/OPLSS.HMACSHA1.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "r\t^²VN÷iHåRÞþ)\u0004", - [ - [ - "OPLSS.HMACSHA1.sha1_key", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS.HMACSHA1.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f4647980c749010bdcb01fd2fd88d28e" - ], - [ - "OPLSS.HMACSHA1.tag", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS.HMACSHA1.macsize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "8b320fa54e67fa7255e3551b29401935" - ], - [ - "OPLSS.HMACSHA1.hmac_sha1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "equation_OPLSS.HMACSHA1.blocksize", - "equation_OPLSS.HMACSHA1.keysize", - "equation_OPLSS.HMACSHA1.sha1_key", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1770f7f5914d37a8c358e0f35e606914", - "refinement_interpretation_Tm_refine_31c7d3d85d92cb942c95a78642e657c7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_OPLSS.byte_of_int" - ], - 0, - "cf6af2e6fe46321ff87727e3b6532d04" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Ideal.fsti.hints b/examples/crypto/OPLSS.Ideal.fsti.hints deleted file mode 100644 index 1ffe7242d73..00000000000 --- a/examples/crypto/OPLSS.Ideal.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ë‹Ïj~î$<ñ ãÈ1X", [] ] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Log.fst.hints b/examples/crypto/OPLSS.Log.fst.hints deleted file mode 100644 index 8306cf07e8d..00000000000 --- a/examples/crypto/OPLSS.Log.fst.hints +++ /dev/null @@ -1,387 +0,0 @@ -[ - "\u001e(ðcÍÄA\u0003âc\fyEYd‹", - [ - [ - "OPLSS.Log.grows", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.nat", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4dd3a18cfd2adc929ddaf3523965732a" - ], - [ - "OPLSS.Log.contains_h_stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_OPLSS.Log.contains_h", "equation_OPLSS.Log.entries", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.has", - "equation_OPLSS.Log.t", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_OPLSS.Log.grows", "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Seq.Properties.seq_mem_k", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_957388fb30e5eb6732009db7836da0df", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.seq", - "typing_OPLSS.Log.entries", "typing_OPLSS.Log.grows", - "typing_OPLSS.Log.has" - ], - 0, - "3f65ea53d72ccdabff6888d26829f100" - ], - [ - "OPLSS.Log.intro_contains_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_OPLSS.Log.contains_h", "equation_OPLSS.Log.entries", - "equation_OPLSS.Log.has", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Properties.seq_mem_k", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "0405a24afed9503711ccdefaef37b2e0" - ], - [ - "OPLSS.Log.snoc_grows_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.Seq.snoc", "equation_OPLSS.Log.grows", - "equation_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_OPLSS.Log.grows", - "typing_FStar.Monotonic.Seq.snoc", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length" - ], - 0, - "a60d71c9fe4efdb15d37921fb086c1c4" - ], - [ - "OPLSS.Log.contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "825bd47ba2bd87df88edbff575bd50d0" - ], - [ - "OPLSS.Log.contains_now", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_OPLSS.Log.contains", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_a626d06952ec967701441b4547090388" - ], - 0, - "5ae89948946caa44b8c791930a8f40b5" - ], - [ - "OPLSS.Log.contains_now_e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_OPLSS.Log.contains", "equation_OPLSS.Log.contains_h", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_bd2fa155053d5d5f02d188fa65c78427", - "refinement_interpretation_Tm_refine_dbdc7fc085ee146f1b32ec00b1e53d18" - ], - 0, - "0144e1dc4aa58b19c7b4e8cbbaa61e3b" - ], - [ - "OPLSS.Log.new_log", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.t", - "equation_Prims.eqtype", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_OPLSS.Log.grows" - ], - 0, - "f2f959259b980acdfa4063827446ab0d" - ], - [ - "OPLSS.Log.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "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.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.snoc", "equation_OPLSS.Log.contains", - "equation_OPLSS.Log.contains_h", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.has", "equation_OPLSS.Log.t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_OPLSS.Log.grows", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.snoc", - "typing_OPLSS.Log.entries", "typing_OPLSS.Log.grows", - "typing_OPLSS.Log.has" - ], - 0, - "0d7ab33e615f0aac6b92baad1e3cf217" - ], - [ - "OPLSS.Log.index_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.seq_mem_k", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d8fd94a70949a06dd18ee4f581630d26", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "9646ba04f96d8c4ae721f8ff3fc974d6" - ], - [ - "OPLSS.Log.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_OPLSS.Log.contains", "equation_OPLSS.Log.contains_h", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.has", - "equation_OPLSS.Log.not_found", "equation_OPLSS.Log.t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.seq_mem_k", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "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", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.find_l", - "typing_OPLSS.Log.grows" - ], - 0, - "ee6d65a04935dd68a7fbac76c00b317e" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.MAC.fst.hints b/examples/crypto/OPLSS.MAC.fst.hints deleted file mode 100644 index 202148799b2..00000000000 --- a/examples/crypto/OPLSS.MAC.fst.hints +++ /dev/null @@ -1,219 +0,0 @@ -[ - "Þ6\u001a&aFíw\u0006í”b„3§", - [ - [ - "OPLSS.MAC.log_entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.HMACSHA1.macsize", - "equation_OPLSS.HMACSHA1.msg", "equation_OPLSS.HMACSHA1.tag", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "906c1527bda1582495bd1e9c803d96fe" - ], - [ - "OPLSS.MAC.key", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], - 0, - "122bcfd58ab6ad75e564e1a936e57bcd" - ], - [ - "OPLSS.MAC.__proj__Key__item__log", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], - 0, - "8323be65c9f746cb62e2f20f6f3d96ba" - ], - [ - "OPLSS.MAC.__proj__Key__item__log", - 2, - 2, - 1, - [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], - 0, - "1fbe9f03a37cd6b37355cee057e44af1" - ], - [ - "OPLSS.MAC.log", - 1, - 2, - 1, - [ "@query", "assumption_OPLSS.MAC.log_entry__uu___haseq" ], - 0, - "0fbc7ed7ee530e924e7396a44a467de8" - ], - [ - "OPLSS.MAC.keygen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.MAC.log_entry__uu___haseq", - "data_typing_intro_OPLSS.MAC.Key@tok", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_OPLSS.HMACSHA1.keysize", - "equation_OPLSS.HMACSHA1.sha1_key", "equation_OPLSS.Log.entries", - "equation_OPLSS.Log.fp", "equation_OPLSS.Log.grows", - "equation_OPLSS.Log.t", "equation_OPLSS.MAC.invariant", - "equation_OPLSS.MAC.log", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "proj_equation_OPLSS.MAC.Key_log", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_OPLSS.MAC.Key_log", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_OPLSS.Log.grows" - ], - 0, - "8eb28091f6436c3de6ebc6cc8d0fc926" - ], - [ - "OPLSS.MAC.mac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.MAC.log_entry__uu___haseq", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_OPLSS.Log.entries", "equation_OPLSS.Log.fp", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.t", - "equation_OPLSS.MAC.invariant", "equation_OPLSS.MAC.log", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_OPLSS.MAC.key", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_OPLSS.MAC.log_entry@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_OPLSS.MAC.Key_log", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9ba6075287196057a203e7ce01daf56f", - "refinement_interpretation_Tm_refine_bbc2c33c942676f2ea978d203358799a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.seq", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_OPLSS.Flag.idealizing", "typing_OPLSS.HMACSHA1.hmac_sha1", - "typing_OPLSS.Ideal.uf_cma", "typing_OPLSS.Log.grows", - "typing_OPLSS.MAC.__proj__Key__item__log", - "typing_OPLSS.MAC.__proj__Key__item__raw", "typing_Prims.int" - ], - 0, - "85601d56d33a741ec752fba59ecb65fb" - ], - [ - "OPLSS.MAC.verify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_OPLSS.MAC.log_entry__uu___haseq", "bool_inversion", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_OPLSS.MAC.Entry@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "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.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.mem", - "equation_OPLSS.HMACSHA1.hmac_sha1", - "equation_OPLSS.HMACSHA1.macsize", "equation_OPLSS.HMACSHA1.msg", - "equation_OPLSS.HMACSHA1.tag", "equation_OPLSS.Log.entries", - "equation_OPLSS.Log.grows", "equation_OPLSS.Log.has", - "equation_OPLSS.Log.not_found", "equation_OPLSS.Log.t", - "equation_OPLSS.MAC.log", "equation_OPLSS.bytes", - "equation_OPLSS.lbytes", "equation_Prims.eqtype", - "fuel_guarded_inversion_OPLSS.MAC.key", - "fuel_guarded_inversion_OPLSS.MAC.log_entry", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "interpretation_Tm_abs_80c4598881bc806bb04230c1102bb60c", - "kinding_OPLSS.MAC.log_entry@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.hasEq_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_OPLSS.MAC.Entry_msg", - "proj_equation_OPLSS.MAC.Entry_tag", - "proj_equation_OPLSS.MAC.Key_log", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_OPLSS.MAC.Entry_msg", - "projection_inverse_OPLSS.MAC.Entry_tag", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_9ba6075287196057a203e7ce01daf56f", - "refinement_interpretation_Tm_refine_bbc2c33c942676f2ea978d203358799a", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.mem", - "typing_FStar.UInt8.t", "typing_OPLSS.Flag.idealizing", - "typing_OPLSS.HMACSHA1.hmac_sha1", "typing_OPLSS.Ideal.uf_cma", - "typing_OPLSS.Log.grows", "typing_OPLSS.MAC.__proj__Key__item__log", - "typing_OPLSS.MAC.__proj__Key__item__raw" - ], - 0, - "48d1ad4d353ebed71ba29ee7e8d274b1" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Plain.fst.hints b/examples/crypto/OPLSS.Plain.fst.hints deleted file mode 100644 index dfbcbdc0273..00000000000 --- a/examples/crypto/OPLSS.Plain.fst.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "\u0002<ËÌÁy ë)–i\u001aêeò", - [ - [ - "OPLSS.Plain.plain", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.AES.plain", - "equation_OPLSS.bytes", "equation_OPLSS.lbytes", - "equation_Prims.eqtype", - "haseqTm_refine_1770f7f5914d37a8c358e0f35e606914", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "91277a991088bfc03b262793b0618ed0" - ], - [ - "OPLSS.Plain.reveal_hide", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS.Plain.hide", "equation_OPLSS.Plain.reveal" - ], - 0, - "3ba65ed21b0b239d1effb19e740e6df6" - ], - [ - "OPLSS.Plain.hide_reveal", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS.Plain.hide", "equation_OPLSS.Plain.reveal" - ], - 0, - "e3124b2d5571f62fa2d46aa539e5a8d5" - ], - [ - "OPLSS.Plain.repr", - 1, - 2, - 1, - [ "@query", "equation_OPLSS.Plain.reveal" ], - 0, - "c380874969a1c10e575fde824ad2d815" - ], - [ - "OPLSS.Plain.coerce", - 1, - 2, - 1, - [ "@query", "equation_OPLSS.Plain.hide" ], - 0, - "31f7f0ff2b7d9df15d7614f217bb3430" - ], - [ - "OPLSS.Plain.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dd371dbbea83783aea46f13a202d75d9" - ], - [ - "OPLSS.Plain.length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS.Plain.reveal", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "93a4ce160279316c0a104417157b88f7" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.Plain.fsti.hints b/examples/crypto/OPLSS.Plain.fsti.hints deleted file mode 100644 index 8392c71b9a0..00000000000 --- a/examples/crypto/OPLSS.Plain.fsti.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - ",DÌù¿J¤\u001fɯýëÀÚ\u0005", - [ - [ - "OPLSS.Plain.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "80c6a9ccd6dabdcb4cbd1be5387ea935" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/OPLSS.fst.hints b/examples/crypto/OPLSS.fst.hints deleted file mode 100644 index a48ac864b0c..00000000000 --- a/examples/crypto/OPLSS.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - ".õuÔŒ\"±\u0018\r5r\u0006ŒßT\u000f", - [ - [ - "OPLSS.lbytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dbaaf44bb6fc6e9115e62ce1a5f8d0c5" - ], - [ - "OPLSS.auto_lemma_mem_snoc", - 1, - 2, - 1, - [ "@query" ], - 0, - "530900fb4728caaff950d6ec1d4a6080" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/RPC.fst.hints b/examples/crypto/RPC.fst.hints deleted file mode 100644 index af88567f21b..00000000000 --- a/examples/crypto/RPC.fst.hints +++ /dev/null @@ -1,179 +0,0 @@ -[ - "_™L4‡\u0013\u0017±eÄÉ™‹zù~", - [ - [ - "RPC.send", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Formatting.message", - "equation_Platform.Bytes.bytes", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "8fb7cd99b896e6fd7d67fc5f482d8522" - ], - [ - "RPC.recv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_Formatting.message", - "equation_Platform.Bytes.bytes", - "equation_Platform.Bytes.empty_bytes", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "538ad3254bda915cf97358374fb07a69" - ], - [ - "RPC.reqresp", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Formatting.message" - ], - 0, - "2845a6f94f24e94b8efe51088a874d9d" - ], - [ - "RPC.k", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Pervasives.result" - ], - 0, - "7449142281e57460f373ce7ef32dd252" - ], - [ - "RPC.client_send", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Formatting.request", "equation_Formatting.string16", - "equation_RPC.reqresp", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_RPC.reqresp", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", - "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", - "string_inversion", "token_correspondence_MAC.key_prop", - "typing_RPC.k", "unit_typing" - ], - 0, - "861a59d623d031f1197ca432c3803205" - ], - [ - "RPC.client_recv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Formatting.length", "equation_Formatting.message", - "equation_Formatting.response", "equation_Formatting.string16", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_RPC.reqresp", "equation_SHA1.macsize", - "equation_SHA1.text", "function_token_typing_MAC.key_prop", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_Formatting.req_resp_distinct", - "lemma_Formatting.resp_components_corr", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", - "refinement_interpretation_Tm_refine_5fa69b4962934cad095d86dae3af5fde", - "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", - "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", - "string_inversion", "token_correspondence_RPC.reqresp", - "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t", - "typing_Formatting.response", "typing_Prims.int", "typing_RPC.k" - ], - 0, - "79d3ca31ffe19067ef03f894e966fc70" - ], - [ - "RPC.server", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Formatting.UTF8_inj", - "assumption_Platform.Bytes.HasEq_bytes", "bool_inversion", - "equation_Formatting.length", "equation_Formatting.message", - "equation_Formatting.request", "equation_Formatting.string16", - "equation_Formatting.tag0", "equation_Formatting.uInt16", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_RPC.reqresp", - "equation_SHA1.macsize", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_MAC.key_prop", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_Formatting.append_inj_lemma", - "lemma_Formatting.req_resp_distinct", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51ee4cf0b5fc41ca89f8061de05f28f9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_60dec82ab41f03ba1c1a91d4aee1d1ea", - "refinement_interpretation_Tm_refine_64c1f3e625d0826505a6e122a1e6f34c", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "refinement_interpretation_Tm_refine_cd09ddcf1e74b0ee438bf6649f57e1a7", - "string_typing", "token_correspondence_RPC.reqresp", - "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t", - "typing_Formatting.length", "typing_Formatting.request", - "typing_Formatting.tag0", "typing_Platform.Bytes.utf8", - "typing_Prims.int", "typing_RPC.k", "unit_typing" - ], - 0, - "8ff7359b0479814504c8639c0c61f661" - ], - [ - "RPC.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_FStar.Pervasives.Err", "equation_Formatting.length", - "equation_Formatting.uInt16", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.result", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "typing_Formatting.length", - "typing_Platform.Bytes.utf8", "unit_typing" - ], - 0, - "f53a6a58b1b360cb45370bde0cb0d78d" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/SHA1.fst.hints b/examples/crypto/SHA1.fst.hints deleted file mode 100644 index 79515b9ca8e..00000000000 --- a/examples/crypto/SHA1.fst.hints +++ /dev/null @@ -1,49 +0,0 @@ -[ - "1ã'\u0019\u0002Ȫ،õ\u0007=;½§?", - [ - [ - "SHA1.key", - 1, - 2, - 1, - [ - "@query", "equation_SHA1.keysize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "17a5a980577a9eeebf028802f172212f" - ], - [ - "SHA1.sample", - 1, - 2, - 1, - [ "@query" ], - 0, - "b65557d06be4ba1afb89b3bebf200741" - ], - [ - "SHA1.sha1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_CoreCrypto.SHA1", - "equality_tok_CoreCrypto.SHA1@tok", "equation_CoreCrypto.hashSize" - ], - 0, - "10405097f1447b9abb4f69ac93d28c57" - ], - [ - "SHA1.hmac_sha1", - 1, - 2, - 1, - [ - "@query", "equation_SHA1.blocksize", "equation_SHA1.keysize", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "57da5b048ef27fbbb900d3f1294e3d90" - ] - ] -] \ No newline at end of file diff --git a/examples/crypto/Sig.fst.hints b/examples/crypto/Sig.fst.hints deleted file mode 100644 index 8dec80cb82b..00000000000 --- a/examples/crypto/Sig.fst.hints +++ /dev/null @@ -1,85 +0,0 @@ -[ - "I ¾Î|uÞ‹\u0019PËðõªÉý", - [ - [ - "Sig.sig_t", - 1, - 2, - 1, - [ - "@query", "equation_Sig.sigsize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "ed16e03b425a1be676aa54ad6fde4e81" - ], - [ - "Sig.pk", - 1, - 2, - 1, - [ "@query", "equation_Sig.pksize", "projection_inverse_BoxInt_proj_0" ], - 0, - "6b55877e536c4cca2245e33c17403291" - ], - [ - "Sig.sk", - 1, - 2, - 1, - [ "@query", "equation_Sig.sksize", "projection_inverse_BoxInt_proj_0" ], - 0, - "5929b1477f99c8ad0ce504c1d49f2641" - ], - [ - "Sig.entry", - 1, - 2, - 1, - [ - "@query", "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.lbytes", "equation_Sig.pk", - "equation_Sig.pksize", "equation_Sig.sig_t", "equation_Sig.sigsize", - "equation_Sig.text", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8" - ], - 0, - "af9101778c69b15117c1d7049db25cb2" - ], - [ - "Sig.sign", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "b4f2cb8c91153846d27f533613185dbd" - ], - [ - "Sig.verify", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Sig.Entry", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Platform.Bytes.lbytes", "equation_Sig.pk", - "equation_Sig.pksize", "equation_Sig.sigsize", "equation_Sig.text", - "fuel_guarded_inversion_Sig.entry", - "haseqTm_refine_b3982a6d174e1d047431ae85c35dc7d8", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f7e217a709bf72990519e54b2cca90dc", - "refinement_interpretation_Tm_refine_fcaf3f241603a1e28a7ee47f5eb025f1" - ], - 0, - "07ed056e288e11dcd5c2ac68c2b0db59" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/ArrayRealized.fst.hints b/examples/data_structures/ArrayRealized.fst.hints deleted file mode 100644 index 4765b8b57c3..00000000000 --- a/examples/data_structures/ArrayRealized.fst.hints +++ /dev/null @@ -1,189 +0,0 @@ -[ - "-UxU!ã꘥Ÿo$;\\ò", - [ - [ - "ArrayRealized.__proj__Const__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f518e333d098938912ef26bb10f80716" - ], - 0, - "9478666a143a89cbab2cf3601c6fc78b" - ], - [ - "ArrayRealized.__proj__Upd__item__ix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" - ], - 0, - "5c9147f9a6206c634c6e8557a3cbe448" - ], - [ - "ArrayRealized.__proj__Upd__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" - ], - 0, - "dd0160cc0400c93524b018aca6d68b00" - ], - [ - "ArrayRealized.__proj__Upd__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_451b818f0c9cf2c0d099c0942c0aeaf8" - ], - 0, - "fca17781f3fedadc56d5b063ce772b1b" - ], - [ - "ArrayRealized.__proj__Append__item__s1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" - ], - 0, - "67541acbde300cdb049e392d88705c32" - ], - [ - "ArrayRealized.__proj__Append__item__s2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f6b3b0b73fcc8263a6e67a711e0143be" - ], - 0, - "6a661ceedb18bfb60d915413594bb57f" - ], - [ - "ArrayRealized.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "20002ff758e7ac9076f8974bac30dd63" - ], - [ - "ArrayRealized.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "proj_equation_ArrayRealized.Seq_end_i", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6afa65d9c74af2fe6d9a37a4161c64a5", - "typing_ArrayRealized.__proj__Seq__item__end_i" - ], - 0, - "310d03a1706da68776847dc1e26988bf" - ], - [ - "ArrayRealized.__index__", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_fa1e1283a3ea777d1921821431f572c6_2", - "disc_equation_ArrayRealized.Append", - "disc_equation_ArrayRealized.Const", - "disc_equation_ArrayRealized.Upd", - "fuel_guarded_inversion_ArrayRealized.contents", - "fuel_guarded_inversion_ArrayRealized.seq", - "proj_equation_ArrayRealized.Seq_c", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_ArrayRealized.Append", - "subterm_ordering_ArrayRealized.Seq", - "subterm_ordering_ArrayRealized.Upd" - ], - 0, - "efd82290f3d0cf99c69484081b318549" - ], - [ - "ArrayRealized.__update__", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_fa1e1283a3ea777d1921821431f572c6_2", - "disc_equation_ArrayRealized.Append", - "disc_equation_ArrayRealized.Const", - "disc_equation_ArrayRealized.Upd", - "fuel_guarded_inversion_ArrayRealized.contents", - "fuel_guarded_inversion_ArrayRealized.seq", - "proj_equation_ArrayRealized.Seq_c", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_ArrayRealized.Append", - "subterm_ordering_ArrayRealized.Seq" - ], - 0, - "3e7e8f587ce570a1de1011e2c8432aa3" - ], - [ - "ArrayRealized.slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4a6642d08239c82e3ded92ca12e02f84", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aa9314e8f7d4704d693902ead43cd859" - ], - [ - "ArrayRealized.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b8cada5c916f910ecd78984b727cc657" - ], - 0, - "cd0a52d413e70322b3328dc52aa3abcc" - ], - [ - "ArrayRealized.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_ArrayRealized.length", - "equation_Prims.nat", "fuel_guarded_inversion_ArrayRealized.seq", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_ArrayRealized.length" - ], - 0, - "d71fb09f10bf23bf62cc4620bf5b74f3" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree.fst.hints b/examples/data_structures/BinarySearchTree.fst.hints deleted file mode 100644 index fbcbd94a5b1..00000000000 --- a/examples/data_structures/BinarySearchTree.fst.hints +++ /dev/null @@ -1,230 +0,0 @@ -[ - "\u0018‘(;Õ‘í¨!¹Š\u0014¸k0", - [ - [ - "BinarySearchTree.tree", - 1, - 2, - 1, - [ "@query" ], - 0, - "859344555af1cea1d17347d974822022" - ], - [ - "BinarySearchTree.__proj__Node__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" - ], - 0, - "36c95e04a956a98dd2770fa81a35ab3c" - ], - [ - "BinarySearchTree.__proj__Node__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" - ], - 0, - "6a8a4385755f1744ac8a9c445caff9fc" - ], - [ - "BinarySearchTree.__proj__Node__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ee25ada3e510d97b9ca9d5eea1548fd" - ], - 0, - "4399e57aa5c7f52dce27d1bf6270868c" - ], - [ - "BinarySearchTree.in_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "binder_x_4fb05f28dfa2fb41ed53b888dfc12a53_1", - "disc_equation_BinarySearchTree.Leaf", - "disc_equation_BinarySearchTree.Node", - "equality_tok_BinarySearchTree.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTree.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTree.Node", - "typing_tok_BinarySearchTree.Leaf@tok" - ], - 0, - "e9d7400c1bf00ae94315f34e192c4e4d" - ], - [ - "BinarySearchTree.all", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTree.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", - "@query", - "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4fb05f28dfa2fb41ed53b888dfc12a53_1", - "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", - "constructor_distinct_BinarySearchTree.Leaf", - "constructor_distinct_BinarySearchTree.Node", - "disc_equation_BinarySearchTree.Leaf", - "disc_equation_BinarySearchTree.Node", - "equality_tok_BinarySearchTree.Leaf@tok", - "equation_with_fuel_BinarySearchTree.in_tree.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTree.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BinarySearchTree.Node__0", - "projection_inverse_BinarySearchTree.Node__1", - "projection_inverse_BinarySearchTree.Node__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30cc934a3269f89cc76839d19c93698a", - "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", - "subterm_ordering_BinarySearchTree.Node", - "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", - "typing_tok_BinarySearchTree.Leaf@tok" - ], - 0, - "91a2f49344e691ddff5154aafa492951" - ], - [ - "BinarySearchTree.is_bst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "binder_x_4fb05f28dfa2fb41ed53b888dfc12a53_0", - "disc_equation_BinarySearchTree.Leaf", - "disc_equation_BinarySearchTree.Node", - "equality_tok_BinarySearchTree.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTree.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTree.Node", - "typing_tok_BinarySearchTree.Leaf@tok" - ], - 0, - "87237fb3ef97b9247d9205c8d8ae7d4c" - ], - [ - "BinarySearchTree.search", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTree.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTree.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTree.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", - "@query", - "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", - "constructor_distinct_BinarySearchTree.Leaf", - "constructor_distinct_BinarySearchTree.Node", - "disc_equation_BinarySearchTree.Leaf", - "disc_equation_BinarySearchTree.Node", - "equality_tok_BinarySearchTree.Leaf@tok", - "equation_with_fuel_BinarySearchTree.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTree.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTree.tree", "int_inversion", - "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", - "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTree.Node__0", - "projection_inverse_BinarySearchTree.Node__1", - "projection_inverse_BinarySearchTree.Node__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", - "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", - "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", - "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", - "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", - "typing_Tm_abs_81145e2a17baae250420b940759fbae0", - "typing_tok_BinarySearchTree.Leaf@tok" - ], - 0, - "de693ccd68303d8309950d2cd30cc71c" - ], - [ - "BinarySearchTree.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTree.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTree.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTree.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTree.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTree.is_bst.fuel_instrumented", - "@query", - "BinarySearchTree_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTree_pretyping_4fb05f28dfa2fb41ed53b888dfc12a53", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_f6d3821fcaef2ad8ce7d9b42def9b32f_1", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTree.Leaf", - "constructor_distinct_BinarySearchTree.Node", - "data_typing_intro_BinarySearchTree.Node@tok", - "disc_equation_BinarySearchTree.Leaf", - "disc_equation_BinarySearchTree.Node", - "equality_tok_BinarySearchTree.Leaf@tok", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_BinarySearchTree.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTree.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTree.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTree.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", - "interpretation_Tm_abs_81145e2a17baae250420b940759fbae0", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTree.Node__0", - "projection_inverse_BinarySearchTree.Node__1", - "projection_inverse_BinarySearchTree.Node__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f0662c76c8a0913a5005e6d5e156892", - "refinement_interpretation_Tm_refine_4fe6b6d645d72c73733cf7f734ff4778", - "refinement_interpretation_Tm_refine_858ba2a8da4b952c08259acb95dfed26", - "refinement_interpretation_Tm_refine_986870ba6f3bab2a93c6bc91ce97e1cd", - "refinement_interpretation_Tm_refine_a0c12e4ea80af3cbffe3ba2949fcf58c", - "subterm_ordering_BinarySearchTree.Node", - "token_correspondence_BinarySearchTree.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTree.is_bst.fuel_instrumented", - "typing_BinarySearchTree.all", "typing_BinarySearchTree.in_tree", - "typing_BinarySearchTree.insert", "typing_BinarySearchTree.is_bst", - "typing_Tm_abs_71f7abf0ea9335445ec892ef7aa3555b", - "typing_Tm_abs_81145e2a17baae250420b940759fbae0", - "typing_tok_BinarySearchTree.Leaf@tok" - ], - 0, - "bea256519698b7bc5c491325ea686692" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTree0.fst.hints b/examples/data_structures/BinarySearchTree0.fst.hints deleted file mode 100644 index 3332ea3c8e3..00000000000 --- a/examples/data_structures/BinarySearchTree0.fst.hints +++ /dev/null @@ -1,90 +0,0 @@ -[ - "½”£A\tœÏÂZX‚ZTCΈ", - [ - [ - "BinarySearchTree0.tree", - 1, - 2, - 1, - [ "@query" ], - 0, - "920e317d641089e70f32378f32d47889" - ], - [ - "BinarySearchTree0.__proj__Node__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" - ], - 0, - "626af331ff517209eef5740421106892" - ], - [ - "BinarySearchTree0.__proj__Node__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" - ], - 0, - "97b132749ff78e29536f88a8351fa0bb" - ], - [ - "BinarySearchTree0.__proj__Node__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0f47b300bc7833c94b530c9724981898" - ], - 0, - "52467986cd2516ddc90802b1ca209631" - ], - [ - "BinarySearchTree0.search", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTree0_pretyping_ce9e987e2a674adb4dce3a63ac377c81", - "binder_x_ce9e987e2a674adb4dce3a63ac377c81_1", - "disc_equation_BinarySearchTree0.Leaf", - "disc_equation_BinarySearchTree0.Node", - "equality_tok_BinarySearchTree0.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTree0.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTree0.Node", - "typing_tok_BinarySearchTree0.Leaf@tok" - ], - 0, - "580bf56da058a222e5c1d8208d1c3618" - ], - [ - "BinarySearchTree0.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTree0_pretyping_ce9e987e2a674adb4dce3a63ac377c81", - "binder_x_ce9e987e2a674adb4dce3a63ac377c81_1", - "disc_equation_BinarySearchTree0.Leaf", - "disc_equation_BinarySearchTree0.Node", - "equality_tok_BinarySearchTree0.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTree0.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTree0.Node", - "typing_tok_BinarySearchTree0.Leaf@tok" - ], - 0, - "58845d5376e477b05cdd2d3e8d56a011" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeBasic.fst.hints b/examples/data_structures/BinarySearchTreeBasic.fst.hints deleted file mode 100644 index a5e2f8cc062..00000000000 --- a/examples/data_structures/BinarySearchTreeBasic.fst.hints +++ /dev/null @@ -1,754 +0,0 @@ -[ - "?½\u0005$éP«{š£[¡-Gæ", - [ - [ - "BinarySearchTreeBasic.tree", - 1, - 2, - 1, - [ "@query" ], - 0, - "37bc901ad12431161dce98b5748dad73" - ], - [ - "BinarySearchTreeBasic.__proj__Node__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" - ], - 0, - "e426ab24a3d9f0860db826e2de462423" - ], - [ - "BinarySearchTreeBasic.__proj__Node__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" - ], - 0, - "3154f1a41109f23321cb447ba3ad4f76" - ], - [ - "BinarySearchTreeBasic.__proj__Node__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9" - ], - 0, - "24127c20e4fa15fe693b30999aeb808e" - ], - [ - "BinarySearchTreeBasic.in_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "2907cdced8422c3036095946f30ba689" - ], - [ - "BinarySearchTreeBasic.all", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", - "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", - "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_16b93c2db6f2bdfd63229f622247964d", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "da32aa0b7397e834edba86c51a28f1a4" - ], - [ - "BinarySearchTreeBasic.is_bst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_7e2d337133ee482b75591994ee2d6817_0", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "e60596134bda34fe3b53479da12b9d17" - ], - [ - "BinarySearchTreeBasic.search", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "6c6fefa8ef6f1d99a82e4752dd039c2d" - ], - [ - "BinarySearchTreeBasic.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "data_typing_intro_BinarySearchTreeBasic.Node@tok", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_6964cfd48d07bdbb1674b8bbae38af40", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "dbd4cda8984fd244e37462ec679b17bc" - ], - [ - "BinarySearchTreeBasic.insert'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3acce7f06a1152b716ab4f59091f63e7", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "refinement_interpretation_Tm_refine_feb2b1e9ae4700f0068d735377458914", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.insert_", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "80480a5f5aa8884e609f6927bb6e260b" - ], - [ - "BinarySearchTreeBasic.insert''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "1e026a65cc18f7c46beccfe537b5c4aa" - ], - [ - "BinarySearchTreeBasic.insert_lemma", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.insert__.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.insert__.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "data_elim_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.insert__.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.insert__.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.insert__", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "c49f3187737e9758fd085102c5c1cdce" - ], - [ - "BinarySearchTreeBasic.find_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e2abb8a47e2759cc44fe1676098d14c9_0", "bool_inversion", - "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.ge", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.ge", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "refinement_interpretation_Tm_refine_c309778c0d975f434f1dd1e1c2c2d0d7", - "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.ge", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "18bd10f512100292cfa9938d231b0593" - ], - [ - "BinarySearchTreeBasic.find_max'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_83392c9665cbe6c5e7a6ba485c188756_0", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "b032cb24d8b9ea0f7b651ed23f13265c" - ], - [ - "BinarySearchTreeBasic.find_max_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "8efd5d984d0502ed1a37bff8741d4565" - ], - [ - "BinarySearchTreeBasic.find_max_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.find_max_.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.find_max_.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_e63ba93983c46f8e6dd9342cb81bacd4_0", "bool_inversion", - "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.ge", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.find_max_.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.ge", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e985efe7843ec25631e9f231dc0ed2b", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "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", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.find_max_", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "0932cb7bff5de20b56cf8922488aef18" - ], - [ - "BinarySearchTreeBasic.find_max_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "588cebf48c9c2d1ad64d2f21ea4cd080" - ], - [ - "BinarySearchTreeBasic.find_max_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "4049f80ac0769bc1ff21538d68b2f0e1" - ], - [ - "BinarySearchTreeBasic.find_max_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.find_max.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.find_max_.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "bool_inversion", "disc_equation_BinarySearchTreeBasic.Node", - "equation_BinarySearchTreeBasic.ge", - "function_token_typing_BinarySearchTreeBasic.ge", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1e985efe7843ec25631e9f231dc0ed2b", - "refinement_interpretation_Tm_refine_7bb01c3b9c48678f5be762ec425292c9", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "refinement_interpretation_Tm_refine_c309778c0d975f434f1dd1e1c2c2d0d7", - "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", - "token_correspondence_BinarySearchTreeBasic.ge", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.find_max", - "typing_BinarySearchTreeBasic.find_max_", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_BinarySearchTreeBasic.uu___is_Node" - ], - 0, - "e8375d87f58305514d20f8b1cd659e7f" - ], - [ - "BinarySearchTreeBasic.delete", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "data_elim_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.ge", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.ge", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2b84d1ff3a74b0aaf16b56eac4ab9d97", - "refinement_interpretation_Tm_refine_3e4b23d669b71f24bdb93e3afd1c0cd7", - "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_a7bc649c52858841f8cf3ee2ad3ba0be", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "refinement_interpretation_Tm_refine_e4f772ab9a30caa678adf4f35e13e527", - "refinement_interpretation_Tm_refine_ec13a912e42b526fd3c1faba3154bcbb", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.ge", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.delete", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "e5a44f29ee5d21d284ba6e134d7c2494" - ], - [ - "BinarySearchTreeBasic.delete'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "binder_x_7e2d337133ee482b75591994ee2d6817_1", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_BinarySearchTreeBasic.Node", - "typing_tok_BinarySearchTreeBasic.Leaf@tok" - ], - 0, - "c647943caf83abc65822874e437dab68" - ], - [ - "BinarySearchTreeBasic.delete_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinarySearchTreeBasic.all.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.delete_.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.delete_.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "@query", - "BinarySearchTreeBasic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinarySearchTreeBasic_interpretation_Tm_arrow_a3e60d2a4d3886e67c6e6d54fdc03056", - "BinarySearchTreeBasic_pretyping_7e2d337133ee482b75591994ee2d6817", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_076cd14d930df841de10cb87d355c7e3_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinarySearchTreeBasic.Leaf", - "constructor_distinct_BinarySearchTreeBasic.Node", - "data_elim_BinarySearchTreeBasic.Node", - "disc_equation_BinarySearchTreeBasic.Leaf", - "disc_equation_BinarySearchTreeBasic.Node", - "equality_tok_BinarySearchTreeBasic.Leaf@tok", - "equation_BinarySearchTreeBasic.ge", - "equation_BinarySearchTreeBasic.gt", - "equation_BinarySearchTreeBasic.lt", - "equation_with_fuel_BinarySearchTreeBasic.all.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.delete_.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "equation_with_fuel_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "fuel_guarded_inversion_BinarySearchTreeBasic.tree", - "function_token_typing_BinarySearchTreeBasic.ge", - "function_token_typing_BinarySearchTreeBasic.gt", - "function_token_typing_BinarySearchTreeBasic.lt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_disEquality", - "projection_inverse_BinarySearchTreeBasic.Node__1", - "projection_inverse_BinarySearchTreeBasic.Node__2", - "projection_inverse_BinarySearchTreeBasic.Node_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_41975b6e5f99ccc6f21a707af6deee0c", - "refinement_interpretation_Tm_refine_bc0d60c0495319ff2c9dffd7b65cdf7c", - "subterm_ordering_BinarySearchTreeBasic.Node", - "token_correspondence_BinarySearchTreeBasic.ge", - "token_correspondence_BinarySearchTreeBasic.gt", - "token_correspondence_BinarySearchTreeBasic.in_tree.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.is_bst.fuel_instrumented", - "token_correspondence_BinarySearchTreeBasic.lt", - "typing_BinarySearchTreeBasic.all", - "typing_BinarySearchTreeBasic.delete_", - "typing_BinarySearchTreeBasic.in_tree", - "typing_BinarySearchTreeBasic.is_bst", - "typing_tok_BinarySearchTreeBasic.Leaf@tok", "unit_inversion", - "unit_typing" - ], - 0, - "26b5ac43b90cdcae0c39857336e7555c" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinarySearchTreeFirst.fst.hints b/examples/data_structures/BinarySearchTreeFirst.fst.hints deleted file mode 100644 index f5fcd2c6da7..00000000000 --- a/examples/data_structures/BinarySearchTreeFirst.fst.hints +++ /dev/null @@ -1,101 +0,0 @@ -[ - "Às€Äj-B6ÛÆp…ç\u001fFÃ", - [ - [ - "BinarySearchTreeFirst.tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "int_inversion", "kinding_BinarySearchTreeFirst.tree@tok" - ], - 0, - "f47c31f6e7ebcf3feb43dd20c2e0fe7b" - ], - [ - "BinarySearchTreeFirst.leaf", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "eca5f4b11f159bc59d167949ed5a2e32" - ], - [ - "BinarySearchTreeFirst.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_81ab4b0d876eecb400f71902650e8bce_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_ae567c2fb75be05905677af440075565_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BinarySearchTreeFirst.max", - "fuel_guarded_inversion_BinarySearchTreeFirst.tree", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinarySearchTreeFirst.tree@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7a476e5b2b868d61b32adab1246770c5", - "subterm_ordering_BinarySearchTreeFirst.Node", - "subterm_ordering_FStar.Pervasives.Native.Some", - "typing_BinarySearchTreeFirst.max", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "07a9fd73912574b6302bc59d54967cbf" - ], - [ - "BinarySearchTreeFirst.contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_81ab4b0d876eecb400f71902650e8bce_1", - "disc_equation_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7a476e5b2b868d61b32adab1246770c5", - "subterm_ordering_BinarySearchTreeFirst.Node", - "subterm_ordering_FStar.Pervasives.Native.Some" - ], - 0, - "887ee0cbd07f6b2f6dc8397c1e090c17" - ], - [ - "BinarySearchTreeFirst.in_order_opt", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_b98020eae7589a36221779c3f67bf83b_1", - "data_elim_FStar.Pervasives.Native.Some", "int_inversion", - "kinding_BinarySearchTreeFirst.tree@tok", - "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_BinarySearchTreeFirst.Node", - "subterm_ordering_FStar.Pervasives.Native.Some" - ], - 0, - "7ce603cf3e1e6b710ef4dbd2a01316e4" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinaryTrees.fst.hints b/examples/data_structures/BinaryTrees.fst.hints deleted file mode 100644 index d228b3ce7e1..00000000000 --- a/examples/data_structures/BinaryTrees.fst.hints +++ /dev/null @@ -1,976 +0,0 @@ -[ - "\"rÙ»4á°¬÷õë¯mž†¶", - [ - [ - "BinaryTrees.tree", - 1, - 2, - 1, - [ "@query" ], - 0, - "8d4ebbadb35696046be2a702b63811e6" - ], - [ - "BinaryTrees.__proj__Node__item__root", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" - ], - 0, - "6dff9ba96be8196df7bc59246b18ed9e" - ], - [ - "BinaryTrees.__proj__Node__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" - ], - 0, - "1537d355871506bb72a0f5ecdfbf65ff" - ], - [ - "BinaryTrees.__proj__Node__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185" - ], - 0, - "e9bd3ad1d17865f07b5425ea6be47ac1" - ], - [ - "BinaryTrees.size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_BinaryTrees.tree", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "d5f6a2a4c6d804fb00e880a8af7d1b33" - ], - [ - "BinaryTrees.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "ceac6a32ee6bec3e479a0e47de932cc1" - ], - [ - "BinaryTrees.map_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d606ef25180b32e70db542139da992d0" - ], - [ - "BinaryTrees.map_size", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.map.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.map.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.size.fuel_instrumented", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_87ac387399742bfb1341a669dfb6c913_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.map.fuel_instrumented", - "equation_with_fuel_BinaryTrees.size.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", "typing_BinaryTrees.map", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "1693a243b1383d206856d7ff4c298435" - ], - [ - "BinaryTrees.map_size", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "93d5e94278c8759e37c01b5fb8733773" - ], - [ - "BinaryTrees.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "c11fabf16073a284e0446ef63c613deb" - ], - [ - "BinaryTrees.find_some", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.find.fuel_instrumented", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", - "equation_with_fuel_BinaryTrees.find.fuel_instrumented", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_BinaryTrees.find", "typing_Prims.int" - ], - 0, - "108d8e219857e1305063842a2ee551ce" - ], - [ - "BinaryTrees.find_some", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.find.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.find.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_inversion", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.eqtype", - "equation_with_fuel_BinaryTrees.find.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BinaryTrees.Node", "typing_BinaryTrees.find", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Prims.int", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "ac8635691bf7964467bd83b88e449d06" - ], - [ - "BinaryTrees.find_some", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.find.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_27484dbd1e8495c2c050690b46229a68", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_BinaryTrees.find", "typing_Prims.int" - ], - 0, - "868e227641f3ba50ebbc1b69b682e795" - ], - [ - "BinaryTrees.map_option", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "01fd7151ac2dfe808ac2390a53ddcbd7" - ], - [ - "BinaryTrees.map_find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c2710783606d54cf76a9d38c48196151" - ], - [ - "BinaryTrees.map_find", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.find.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.map.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.find.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.map.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_0e671300b027a382c3ad8af661e6bfe8", - "BinaryTrees_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "BinaryTrees_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1696252159950375ed27d3faba8e3379_2", - "binder_x_87ac387399742bfb1341a669dfb6c913_1", - "binder_x_d572127907d518d641a8068497b9d6e8_0", "bool_typing", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BinaryTrees.Leaf@tok", "equation_BinaryTrees.compose", - "equation_BinaryTrees.map_option", "equation_Prims.eqtype", - "equation_with_fuel_BinaryTrees.find.fuel_instrumented", - "equation_with_fuel_BinaryTrees.map.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_BinaryTrees.compose", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "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", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.compose", - "typing_BinaryTrees.find", "typing_BinaryTrees.map", - "typing_Prims.bool", "typing_Prims.int", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "b73fe670866b853171b5d25980eecf88" - ], - [ - "BinaryTrees.map_find", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f7a5a3f04ebb4d8df3a932703970de26" - ], - [ - "BinaryTrees.in_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "9d055da2791a230c98a5b6d21af3cfe0" - ], - [ - "BinaryTrees.fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_4", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "500cea340f9927d6eafc8e23d7a20399" - ], - [ - "BinaryTrees.fold_map", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.fold.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.map.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.map.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_0e671300b027a382c3ad8af661e6bfe8", - "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", - "BinaryTrees_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "BinaryTrees_interpretation_Tm_arrow_ddaab270e9fdf46f80b29f3d5d5fdd24", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1696252159950375ed27d3faba8e3379_3", - "binder_x_52f19a9daef1bbba2f987dbcb0a3f0fd_1", - "binder_x_87ac387399742bfb1341a669dfb6c913_0", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_BinaryTrees.compose", - "equation_Prims.eqtype", - "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", - "equation_with_fuel_BinaryTrees.map.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_BinaryTrees.compose", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.compose", "typing_BinaryTrees.map", - "typing_Prims.int", "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "563da3f7bb308d5de616ad238c16fd99" - ], - [ - "BinaryTrees.size_fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "f22ff0276630adf801ec15c017d470da" - ], - [ - "BinaryTrees.size_fold", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.fold.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.size.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", - "BinaryTrees_interpretation_Tm_arrow_978950ac417e406794c8cbb585eaec0b", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", - "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", - "equation_with_fuel_BinaryTrees.size.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", "int_typing", - "interpretation_Tm_abs_0d875254b2545c6702b32b47d4286d1c", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.size.fuel_instrumented", - "typing_Tm_abs_0d875254b2545c6702b32b47d4286d1c", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "9859b77001e9461415967b1bacebb9ae" - ], - [ - "BinaryTrees.size_fold", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "b157c8ba1ebb2145207ace4b27390add" - ], - [ - "BinaryTrees.in_tree_fold", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.fold.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.in_tree.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.in_tree.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_030c76df9eb2e6504d36c81bb0d78521", - "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_ae567c2fb75be05905677af440075565_0", "bool_typing", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.eqtype", - "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", - "equation_with_fuel_BinaryTrees.in_tree.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", "int_inversion", - "interpretation_Tm_abs_cd1cba08dfef61a04a33f38a4890113a", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BinaryTrees.Node", - "typing_BinaryTrees.uu___is_Leaf", "typing_Prims.bool", - "typing_Tm_abs_cd1cba08dfef61a04a33f38a4890113a", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "8bd307f7c74be73afa4078a1a385ce2c" - ], - [ - "BinaryTrees.find_fold", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "8d174bf3327c21e7d754b9e0ac442317" - ], - [ - "BinaryTrees.revert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "0e51536ae761041c4e74313dc598eec4" - ], - [ - "BinaryTrees.revert_involutive", - 1, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "b232237183719730df821c91a5a9465d" - ], - [ - "BinaryTrees.revert_involutive", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.revert.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.revert.fuel_instrumented", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.revert.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", "typing_BinaryTrees.revert", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "4d6d4d99ecbdfb131fdd7479e79a8c54" - ], - [ - "BinaryTrees.revert_involutive", - 3, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "4be8de88de0471f1c35d765d7690475b" - ], - [ - "BinaryTrees.revert_injective", - 1, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "65bd8bca38693140ba52ae760049034c" - ], - [ - "BinaryTrees.revert_injective", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.revert.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.revert.fuel_instrumented", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.revert.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "1809b75af2b2eede56a07fa4054698d6" - ], - [ - "BinaryTrees.revert_injective", - 3, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "110dab8b025cb48669b4e9d18cc6eb47" - ], - [ - "BinaryTrees.revert_fold", - 1, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "02aab640fbbaeee8c4078c80bac711e5" - ], - [ - "BinaryTrees.revert_fold", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.fold.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.revert.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.fold.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.revert.fuel_instrumented", "@query", - "BinaryTrees_interpretation_Tm_arrow_55cc0ca0768ec9166d511faa170d5145", - "BinaryTrees_interpretation_Tm_arrow_56142c37120331f4156166606be8c498", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.fold.fuel_instrumented", - "equation_with_fuel_BinaryTrees.revert.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "interpretation_Tm_abs_2b5744c286c6b8bddb70ebbfb9ada83c", - "kinding_BinaryTrees.tree@tok", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_Tm_abs_2b5744c286c6b8bddb70ebbfb9ada83c", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "f93f0a61845486f8ceadc11b990075ad" - ], - [ - "BinaryTrees.revert_fold", - 3, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "e969abab92af782008d63298c1562615" - ], - [ - "BinaryTrees.remove_root", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_4f12cf247a1f2a0cd3974332a65f3b77_0", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "78c9f3b867e1559617c944673b8fb8dd" - ], - [ - "BinaryTrees.add_root", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "fuel_guarded_inversion_BinaryTrees.tree", "int_inversion", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "c4a9dcdb5b78c03647124ce0293d77b0" - ], - [ - "BinaryTrees.remove_add_root", - 1, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "a1975ecb1fdfaccb01c00cfb3c1fbd21" - ], - [ - "BinaryTrees.remove_add_root", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.add_root.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.remove_root.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.add_root.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.remove_root.fuel_instrumented", - "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.add_root.fuel_instrumented", - "equation_with_fuel_BinaryTrees.remove_root.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", "int_inversion", - "proj_equation_BinaryTrees.Node_root", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.add_root.fuel_instrumented", - "typing_BinaryTrees.add_root", "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "7f132227791637aa1432a38548d27bbc" - ], - [ - "BinaryTrees.remove_add_root", - 3, - 2, - 1, - [ "@query", "assumption_BinaryTrees.tree__uu___haseq" ], - 0, - "c70e8bd059af0c616fb23a50e7c16c2e" - ], - [ - "BinaryTrees.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "binder_x_1696252159950375ed27d3faba8e3379_1", - "disc_equation_BinaryTrees.Leaf", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_BinaryTrees.tree", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "25fd7b9f229bda08f6879aeacd4e33e9" - ], - [ - "BinaryTrees.remove", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.count.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_d1cff3104716498542a69f317fa52b6b_1", - "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", - "equation_with_fuel_BinaryTrees.count.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_148e968f8a93041c3de772ced753082c", - "subterm_ordering_BinaryTrees.Node", - "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "9d365b87ca189fcad5fe39eb358ddec3" - ], - [ - "BinaryTrees.count_remove_root", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.count.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.remove_root.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.remove_root.fuel_instrumented", - "@query", "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4f12cf247a1f2a0cd3974332a65f3b77_0", - "constructor_distinct_BinaryTrees.Leaf", - "constructor_distinct_BinaryTrees.Node", - "data_elim_BinaryTrees.Node", "disc_equation_BinaryTrees.Leaf", - "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinaryTrees.count.fuel_instrumented", - "equation_with_fuel_BinaryTrees.remove_root.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_BinaryTrees.Node_root", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ea1b5a9ff57143ba5e87eabf5571f185", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.count.fuel_instrumented", - "typing_BinaryTrees.count", "typing_BinaryTrees.remove_root", - "typing_Prims.int", "typing_tok_BinaryTrees.Leaf@tok" - ], - 0, - "c5db3cc169f8d9dbab8265615859dd0b" - ], - [ - "BinaryTrees.count_remove_root", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "526ec5d79e8ff890d405f494a7a25e5b" - ], - [ - "BinaryTrees.count_remove", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTrees.count.fuel_instrumented", - "@fuel_correspondence_BinaryTrees.remove.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.count.fuel_instrumented", - "@fuel_irrelevance_BinaryTrees.remove.fuel_instrumented", "@query", - "BinaryTrees_pretyping_1696252159950375ed27d3faba8e3379", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_d1cff3104716498542a69f317fa52b6b_1", - "constructor_distinct_BinaryTrees.Node", - "data_elim_BinaryTrees.Node", "disc_equation_BinaryTrees.Node", - "equality_tok_BinaryTrees.Leaf@tok", "equation_Prims.nat", - "equation_with_fuel_BinaryTrees.count.fuel_instrumented", - "equation_with_fuel_BinaryTrees.remove.fuel_instrumented", - "fuel_guarded_inversion_BinaryTrees.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_BinaryTrees.Node_root", - "projection_inverse_BinaryTrees.Node_left", - "projection_inverse_BinaryTrees.Node_right", - "projection_inverse_BinaryTrees.Node_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_148e968f8a93041c3de772ced753082c", - "refinement_interpretation_Tm_refine_2052a6fdd62bfbe2a677dbc498408e03", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTrees.Node", - "token_correspondence_BinaryTrees.count.fuel_instrumented", - "typing_BinaryTrees.count", "typing_BinaryTrees.remove", - "typing_tok_BinaryTrees.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "2f7b61bb0b541a313220301796bb5742" - ], - [ - "BinaryTrees.count_remove", - 2, - 2, - 1, - [ "@query" ], - 0, - "99475a9fdfdeb64d8b7482b07bf1efa9" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinaryTreesEnumeration.fst.hints b/examples/data_structures/BinaryTreesEnumeration.fst.hints deleted file mode 100644 index 41b4ac8c77c..00000000000 --- a/examples/data_structures/BinaryTreesEnumeration.fst.hints +++ /dev/null @@ -1,611 +0,0 @@ -[ - "fµ\u0018¯Z‹jè^siÕaQ£ ", - [ - [ - "BinaryTreesEnumeration.pairs_with_sum'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b77f4f9ce6b98fcc5f078c9a019b781a" - ], - [ - "BinaryTreesEnumeration.pairs_with_sum'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "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_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ee670b12a181a4c91f87afb3195eb1dd" - ], - [ - "BinaryTreesEnumeration.pairs_with_sum'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b502e680e7b5889a851b29eb2f7e45e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "eea9b07321cefbe2a90b9cbf6229c602" - ], - [ - "BinaryTreesEnumeration.pairs_with_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9188a254bac276db084937b31bed4560" - ], - [ - "BinaryTreesEnumeration.bin_tree", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "kinding_BinaryTreesEnumeration.bin_tree@tok" - ], - 0, - "807feb174f2133daf43bf9483fb45e5a" - ], - [ - "BinaryTreesEnumeration.__proj__Branch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" - ], - 0, - "c272ea9f60447c0f5da911d43f9982ae" - ], - [ - "BinaryTreesEnumeration.size", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "binder_x_765d3ce9902792f4f04212b6389de4a0_0", - "data_elim_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Leaf", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_BinaryTreesEnumeration.bin_tree", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTreesEnumeration.Branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "6daa7174f5bede4ebd0ccdfea48aa4c2" - ], - [ - "BinaryTreesEnumeration.trees_of_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinaryTreesEnumeration.bin_tree@tok", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "typing_BinaryTreesEnumeration.size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok", - "well-founded-ordering-on-nat" - ], - 0, - "554a7077c9931858397be316bdb499f5" - ], - [ - "BinaryTreesEnumeration.pws'_complete", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.pairs_with_sum_.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "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", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "typing_BinaryTreesEnumeration.pairs_with_sum_", - "well-founded-ordering-on-nat" - ], - 0, - "07a4ba557294ddf1ae723c60ef007662" - ], - [ - "BinaryTreesEnumeration.pws'_complete", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e83caa3291e3362c09b0aa6b976c6a0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f98d3be3c7b3cf3fed71caf632ecbc48" - ], - [ - "BinaryTreesEnumeration.pws_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "886e1e720fbe6177cbd82497fce92e3f" - ], - [ - "BinaryTreesEnumeration.pws_complete", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_BinaryTreesEnumeration.pairs_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "05053432adb663ab0b04827cec79ef33" - ], - [ - "BinaryTreesEnumeration.concatMap_flatten_map", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_interpretation_Tm_arrow_c459d71a604fbccd763a416683cd2bcf", - "FStar.List.Tot.Base_interpretation_Tm_arrow_121fa5bc200f7b3946a5e35040f266b9", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_d279c19d96fbb6142c62269277edf9a6_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "638152c6a08c509a7fdb391aaa669fa2" - ], - [ - "BinaryTreesEnumeration.pure_as_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" - ], - 0, - "ca95a02199f36fba6fa61b444e965a65" - ], - [ - "BinaryTreesEnumeration.memP_append_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.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.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Left", "disc_equation_Prims.Nil", - "disc_equation_Prims.Right", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_Prims.sum", "kinding_Prims.list@tok", - "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_b63433dc47539bec616c8325d6da88c1", - "refinement_interpretation_Tm_refine_d62cc6321a238aef296187ba967e6acb", - "refinement_interpretation_Tm_refine_e404de78638049d8a3ea7a59b05a2cd6", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "fa05ff29fba897c62a8bb7082eec3360" - ], - [ - "BinaryTreesEnumeration.flatten_app", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@query", "binder_x_06941c098776be823b5825541eaaa106_2", - "binder_x_06941c098776be823b5825541eaaa106_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.flatten", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "654e44f935e730028cf388fa7b355d61" - ], - [ - "BinaryTreesEnumeration.memP_app_intro_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "f2c67ea1f41e9055bd3eb4fb3272b475" - ], - [ - "BinaryTreesEnumeration.memP_app_intro_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "4cf4bd0a890e7df7b182befaa016b2c6" - ], - [ - "BinaryTreesEnumeration.memP_flatten_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_imp", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "l_imp-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_790d0d45f5e0f5967d5a44b3924f026d", - "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c" - ], - 0, - "a5149f8e0ed27bec8e9930aff9217c5c" - ], - [ - "BinaryTreesEnumeration.memP_concatMap_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "93352cce5d2e906dcd3ba78240ec519d" - ], - [ - "BinaryTreesEnumeration.product_complete", - 1, - 2, - 1, - [ "@query", "equation_BinaryTreesEnumeration.product" ], - 0, - "e5a3ebeda3ecd9270928d0069ed97571" - ], - [ - "BinaryTreesEnumeration.unfold_tos", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinaryTreesEnumeration.bin_tree@tok", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "typing_BinaryTreesEnumeration.size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "03d9466dfae93d957532553cd94f95af" - ], - [ - "BinaryTreesEnumeration.tos_complete", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_correspondence_BinaryTreesEnumeration.trees_of_size.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_765d3ce9902792f4f04212b6389de4a0_0", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "constructor_distinct_Prims.Cons", - "data_elim_BinaryTreesEnumeration.Branch", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Leaf", "eq2-interp", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "equation_with_fuel_BinaryTreesEnumeration.trees_of_size.fuel_instrumented", - "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", "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", - "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_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "subterm_ordering_BinaryTreesEnumeration.Branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_BinaryTreesEnumeration.bt_with_size", - "typing_BinaryTreesEnumeration.size", - "typing_BinaryTreesEnumeration.trees_of_size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "09cdcce867ba86babcf3283936d84841" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinaryTreesEnumeration.fsti.hints b/examples/data_structures/BinaryTreesEnumeration.fsti.hints deleted file mode 100644 index 1bd8bea714d..00000000000 --- a/examples/data_structures/BinaryTreesEnumeration.fsti.hints +++ /dev/null @@ -1,483 +0,0 @@ -[ - "Y_Û¥°?gúxÓ\bUÓy´L", - [ - [ - "BinaryTreesEnumeration.pairs_with_sum'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6c5805c17d6a40fc88945ebfa77dbafc" - ], - [ - "BinaryTreesEnumeration.pairs_with_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "add4b948957286f10ef11aa4c56e5e56" - ], - [ - "BinaryTreesEnumeration.bin_tree", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "kinding_BinaryTreesEnumeration.bin_tree@tok" - ], - 0, - "d8bea9de89a4c376392f0a4a07b2e75d" - ], - [ - "BinaryTreesEnumeration.__proj__Branch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6dd07a1dfd3ecf6fbfc7d08efa23b6b3" - ], - 0, - "9a67f9ca4184fd06e89de43a21a58564" - ], - [ - "BinaryTreesEnumeration.size", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "binder_x_765d3ce9902792f4f04212b6389de4a0_0", - "data_elim_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Leaf", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_BinaryTreesEnumeration.bin_tree", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinaryTreesEnumeration.Branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "6daa7174f5bede4ebd0ccdfea48aa4c2" - ], - [ - "BinaryTreesEnumeration.trees_of_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinaryTreesEnumeration.bin_tree@tok", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "typing_BinaryTreesEnumeration.size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok", - "well-founded-ordering-on-nat" - ], - 0, - "827ca3a263fa98dadd3ab9b6c2db23a3" - ], - [ - "BinaryTreesEnumeration.pws_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "43fbe7abde77fb012c2280047a039e99" - ], - [ - "BinaryTreesEnumeration.concatMap_flatten_map", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_interpretation_Tm_arrow_c459d71a604fbccd763a416683cd2bcf", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Base_interpretation_Tm_arrow_121fa5bc200f7b3946a5e35040f266b9", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_d279c19d96fbb6142c62269277edf9a6_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "638152c6a08c509a7fdb391aaa669fa2" - ], - [ - "BinaryTreesEnumeration.pure_as_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" - ], - 0, - "ca95a02199f36fba6fa61b444e965a65" - ], - [ - "BinaryTreesEnumeration.memP_append_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.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.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Left", "disc_equation_Prims.Nil", - "disc_equation_Prims.Right", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_Prims.sum", "kinding_Prims.list@tok", - "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_b63433dc47539bec616c8325d6da88c1", - "refinement_interpretation_Tm_refine_d62cc6321a238aef296187ba967e6acb", - "refinement_interpretation_Tm_refine_e404de78638049d8a3ea7a59b05a2cd6", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "ca717c49289dee95aca0c0265394d1c3" - ], - [ - "BinaryTreesEnumeration.flatten_app", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@query", "binder_x_06941c098776be823b5825541eaaa106_2", - "binder_x_06941c098776be823b5825541eaaa106_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.flatten", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "654e44f935e730028cf388fa7b355d61" - ], - [ - "BinaryTreesEnumeration.memP_app_intro_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "f2c67ea1f41e9055bd3eb4fb3272b475" - ], - [ - "BinaryTreesEnumeration.memP_app_intro_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "4cf4bd0a890e7df7b182befaa016b2c6" - ], - [ - "BinaryTreesEnumeration.memP_flatten_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.flatten.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_imp", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.flatten.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "l_imp-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_790d0d45f5e0f5967d5a44b3924f026d", - "refinement_interpretation_Tm_refine_c57079cb7da35e3d682c783919015e7c" - ], - 0, - "a5149f8e0ed27bec8e9930aff9217c5c" - ], - [ - "BinaryTreesEnumeration.memP_concatMap_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "93352cce5d2e906dcd3ba78240ec519d" - ], - [ - "BinaryTreesEnumeration.product_complete", - 1, - 2, - 1, - [ "@query", "equation_BinaryTreesEnumeration.product" ], - 0, - "e5a3ebeda3ecd9270928d0069ed97571" - ], - [ - "BinaryTreesEnumeration.unfold_tos", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_BinaryTreesEnumeration.bin_tree@tok", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "typing_BinaryTreesEnumeration.size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "bc1ec3cf9886118a76849645fe3628e7" - ], - [ - "BinaryTreesEnumeration.tos_complete", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinaryTreesEnumeration.size.fuel_instrumented", - "@fuel_correspondence_BinaryTreesEnumeration.trees_of_size.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_BinaryTreesEnumeration.size.fuel_instrumented", - "@query", - "BinaryTreesEnumeration_pretyping_765d3ce9902792f4f04212b6389de4a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_765d3ce9902792f4f04212b6389de4a0_0", - "constructor_distinct_BinaryTreesEnumeration.Branch", - "constructor_distinct_BinaryTreesEnumeration.Leaf", - "constructor_distinct_Prims.Cons", - "data_elim_BinaryTreesEnumeration.Branch", - "data_typing_intro_BinaryTreesEnumeration.Branch@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_BinaryTreesEnumeration.Branch", - "disc_equation_BinaryTreesEnumeration.Leaf", "eq2-interp", - "equality_tok_BinaryTreesEnumeration.Leaf@tok", - "equation_BinaryTreesEnumeration.bt_with_size", - "equation_BinaryTreesEnumeration.prod_with_sum", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_BinaryTreesEnumeration.size.fuel_instrumented", - "equation_with_fuel_BinaryTreesEnumeration.trees_of_size.fuel_instrumented", - "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", "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", - "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_298b0a0b3e16a58f8b081c52c4f027fc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_633d545ce4be7be06ea2cc1e227e4c3c", - "subterm_ordering_BinaryTreesEnumeration.Branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_BinaryTreesEnumeration.bt_with_size", - "typing_BinaryTreesEnumeration.size", - "typing_BinaryTreesEnumeration.trees_of_size", - "typing_tok_BinaryTreesEnumeration.Leaf@tok" - ], - 0, - "09cdcce867ba86babcf3283936d84841" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinomialQueue.fst b/examples/data_structures/BinomialQueue.fst index 8d8665058e4..5a388a7dd51 100644 --- a/examples/data_structures/BinomialQueue.fst +++ b/examples/data_structures/BinomialQueue.fst @@ -339,6 +339,7 @@ let smash_repr (d:pos) (t1 t2:tree) (l1 l2:ms) t2 `repr_t` l2) (ensures smash d t1 t2 `repr_t` (ms_append l1 l2)) = () +#push-options "--z3rlimit 25" let rec carry_repr (d:pos) (q:forest) (t:tree) (lq lt:ms) : Lemma (requires @@ -357,8 +358,9 @@ let rec carry_repr (d:pos) (q:forest) (t:tree) (lq lt:ms) carry_repr (d + 1) tl (smash d hd t) (keys tl) (ms_append (keys_of_tree hd) (keys_of_tree t)) +#pop-options -#push-options "--z3rlimit 50 --fuel 1 --ifuel 1" +#push-options "--z3rlimit 75 --fuel 1 --ifuel 1" let rec join_repr (d:pos) (p q:forest) (c:tree) (lp lq lc:ms) : Lemma @@ -433,8 +435,10 @@ let rec compact_preserves_keys (q:forest) let insert_repr x q s = carry_repr 1 q (Internal Leaf x Leaf) s (ms_singleton x) +#push-options "--z3rlimit_factor 10" let merge_repr p q sp sq = join_repr 1 p q Leaf sp sq ms_empty +#pop-options /// Towards proof of delete correctness @@ -628,6 +632,7 @@ let rec find_max_is_max (d:pos) (kopt:option key_t) (q:forest) find_max_is_max (d + 1) (Some k) tl; find_max_some_is_some k tl +#push-options "--z3rlimit_factor 4" let delete_max_some_repr p pl k q ql = match find_max None p with | None -> () @@ -642,3 +647,4 @@ let delete_max_some_repr p pl k q ql = compact_preserves_keys r; assert (permutation pl (ms_append (ms_singleton k) ql)); find_max_is_max 1 None p +#pop-options diff --git a/examples/data_structures/BinomialQueue.fst.hints b/examples/data_structures/BinomialQueue.fst.hints deleted file mode 100644 index 98cc0cba013..00000000000 --- a/examples/data_structures/BinomialQueue.fst.hints +++ /dev/null @@ -1,2514 +0,0 @@ -[ - "\u0015Ó&°wÙø’n<ªkž\u001djÌ", - [ - [ - "BinomialQueue.last_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "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", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "722ddc43d43e60f7bb0c8dbac168be1e" - ], - [ - "BinomialQueue.last_cons", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Prims.squash", "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" - ], - 0, - "0219abf43e714185e3ef43373e187ee3" - ], - [ - "BinomialQueue.tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "73718ddcded6895fdbdd43e1588a86db" - ], - [ - "BinomialQueue.__proj__Internal__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" - ], - 0, - "3e4ed648b9e9f492550d320a5f90d6b5" - ], - [ - "BinomialQueue.__proj__Internal__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" - ], - 0, - "07bf55d4c1378e5060ac15096567d1a7" - ], - [ - "BinomialQueue.__proj__Internal__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a52c7ed1e8b93d264945c07880ca137" - ], - 0, - "48e129cbcc3fc670519dc9268ce4b125" - ], - [ - "BinomialQueue.pow2heap_pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", - "disc_equation_BinomialQueue.Internal", - "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_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ccbea11d1661830c880839affca24d46" - ], - [ - "BinomialQueue.is_pow2heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c5877b30248b53cd2a600650cab1b4c3" - ], - [ - "BinomialQueue.is_binomial_queue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "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_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "376971a8c8d81f73b04e8a1856c5f5f3" - ], - [ - "BinomialQueue.is_compact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "equation_BinomialQueue.forest", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "555d45bab0b9bf0c5aabe22065189ec3" - ], - [ - "BinomialQueue.empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_BinomialQueue.forest", - "equation_BinomialQueue.is_compact", - "equation_BinomialQueue.is_priq", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "int_typing", "kinding_BinomialQueue.tree@tok", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "true_interp" - ], - 0, - "de0d4e34e3e816bde4b672bf17ea0047" - ], - [ - "BinomialQueue.all_leaf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_92cc3092b50378b9697de1162e4e2190_0", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", - "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_AmpAmp", "proj_equation_Prims.Cons_hd", - "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_8012675a32ad22b7f12e5227bdcb55bc", - "subterm_ordering_Prims.Cons" - ], - 0, - "4b3eead2449bcfec434610c31ed62371" - ], - [ - "BinomialQueue.mk_compact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "5158a2e58f2505158f50d4cc0f75a980" - ], - [ - "BinomialQueue.mk_compact_correctness", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.all_leaf.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.all_leaf.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_BinomialQueue.Internal", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.is_compact", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_with_fuel_BinomialQueue.all_leaf.fuel_instrumented", - "equation_with_fuel_BinomialQueue.mk_compact.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "kinding_BinomialQueue.tree@tok", - "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_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8012675a32ad22b7f12e5227bdcb55bc", - "subterm_ordering_Prims.Cons", "typing_BinomialQueue.mk_compact", - "typing_FStar.List.Tot.Base.last", - "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "1b2cf2c1419342f214981b0b97a6037c" - ], - [ - "BinomialQueue.mk_compact_preserves_binomial_queue", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.l_or", - "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "equation_with_fuel_BinomialQueue.mk_compact.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "l_and-interp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_BinomialQueue.mk_compact", - "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "051d07d74aa9bf1e1e98102465e51e4c" - ], - [ - "BinomialQueue.smash", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "data_elim_BinomialQueue.Internal", - "data_typing_intro_BinomialQueue.Internal@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_pow2heap", "equation_BinomialQueue.key_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "false_interp", "int_inversion", "int_typing", "l_and-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_BinomialQueue.Internal__2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "5b2a6afc9901fafdd491b1c91a274696" - ], - [ - "BinomialQueue.carry", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "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_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", - "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" - ], - 0, - "67f8c207f75443457ba011b5d86528af" - ], - [ - "BinomialQueue.join", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_07642eb27f8c86505049ec727a4a557c_2", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "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_Prims.l_or", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_BinomialQueue.tree@tok", "l_and-interp", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.List.Tot.Base.length", "typing_Prims.uu___is_Cons", - "typing_tok_BinomialQueue.Leaf@tok", "well-founded-ordering-on-nat" - ], - 0, - "6151017899db59b38056ec705807662b" - ], - [ - "BinomialQueue.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_pow2heap", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.priq", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_BinomialQueue.mk_compact_correctness", - "lemma_BinomialQueue.mk_compact_preserves_binomial_queue", - "primitive_Prims.op_Subtraction", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "0b60d2690e8d7c7259ec809f8a245644" - ], - [ - "BinomialQueue.find_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_0cce611505b3cbcad4bc1226ec25500d_0", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_Prims.nat", "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "kinding_BinomialQueue.tree@tok", - "lemma_FStar.Pervasives.invertOption", "proj_equation_Prims.Cons_hd", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "93177dffa5a30359eb537b54a0ec336a" - ], - [ - "BinomialQueue.binomial_queue_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Internal", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", - "equation_BinomialQueue.is_pow2heap", "equation_BinomialQueue.key_t", - "equation_Prims.l_or", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.tree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_BinomialQueue.tree@tok", - "l_and-interp", "l_or-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "b1d23fbc90a1627a01a7aa54bab2a96f" - ], - [ - "BinomialQueue.binomial_queue_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "kinding_BinomialQueue.tree@tok", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.List.Tot.Base.length", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "6f41be7654e959421cb327ac3802898e" - ], - [ - "BinomialQueue.unzip", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_BinomialQueue.Internal@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", - "eq2-interp", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.is_compact", - "equation_BinomialQueue.is_pow2heap", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.priq", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_BinomialQueue.tree@tok", - "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_tok_BinomialQueue.Leaf@tok", "well-founded-ordering-on-nat" - ], - 0, - "018e8edc05d08e31c5fd0a463f5b0205" - ], - [ - "BinomialQueue.heap_delete_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_BinomialQueue.Leaf", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_pow2heap", "equation_Prims.pos", - "false_interp", "int_inversion", "primitive_Prims.op_Subtraction", - "proj_equation_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7d011fbd4e9544f5b37247753142a32f" - ], - [ - "BinomialQueue.delete_max_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_2", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_0", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_1", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.is_compact", - "equation_BinomialQueue.is_pow2heap", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.priq", "equation_Prims.l_or", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons", "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "a129d55f8a3f2cdb095d0e32122717d8" - ], - [ - "BinomialQueue.delete_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_BinomialQueue.Leaf", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.is_priq", - "equation_BinomialQueue.key_t", "equation_BinomialQueue.priq", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_BinomialQueue.mk_compact_preserves_binomial_queue", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BinomialQueue.find_max" - ], - 0, - "d89be573c9fea8c099dd680c0b75c9c0" - ], - [ - "BinomialQueue.merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", "constructor_distinct_BinomialQueue.Leaf", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.priq", - "equation_Prims.pos", "int_typing", - "lemma_BinomialQueue.mk_compact_correctness", - "lemma_BinomialQueue.mk_compact_preserves_binomial_queue", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869" - ], - 0, - "21dc1b7dc03b79b7c8622d15dd66cd59" - ], - [ - "BinomialQueue.ms", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "71987a3fe3f1f0c978eb94857b9218f1" - ], - [ - "BinomialQueue.__proj__Mkms__item__ms_elems", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c035b986e03a9e9d1109831ee8d23d0e" - ], - [ - "BinomialQueue.__proj__Mkms__item__ms_elems", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c4d302b1ce8548c9cba5a23deeb234af" - ], - [ - "BinomialQueue.ms_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "683e7e68de15ce26f620c664c6534c97" - ], - [ - "BinomialQueue.ms_singleton", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d15c0567bcc212ecf3de519fe71234bc" - ], - [ - "BinomialQueue.ms_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "data_elim_BinomialQueue.Mkms", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_BinomialQueue.ms", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", - "proj_equation_BinomialQueue.Mkms_ms_count", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "typing_Prims.int" - ], - 0, - "0001013c15513e6546a97d6671e1b897" - ], - [ - "BinomialQueue.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5a9026ac860e305fa737661bb60d8828" - ], - [ - "BinomialQueue.keys_of_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_0", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "fuel_guarded_inversion_BinomialQueue.tree", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BinomialQueue.Internal", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "0a1747dcb85b4f50200f3f21952de708" - ], - [ - "BinomialQueue.keys", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "d76f347fc8f6228efefa31c880e64d9f" - ], - [ - "BinomialQueue.repr_t", - 1, - 2, - 1, - [ - "@query", "defn_equation_BinomialQueue.permutation", - "typing_BinomialQueue.keys_of_tree" - ], - 0, - "8795877a3eba827a3192808f3ce7d170" - ], - [ - "BinomialQueue.repr_l", - 1, - 2, - 1, - [ - "@query", "defn_equation_BinomialQueue.permutation", - "typing_BinomialQueue.keys" - ], - 0, - "87e9efd26b4b1ab01193e903ad39a9e1" - ], - [ - "BinomialQueue.empty_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "constructor_distinct_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.empty", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", - "equation_BinomialQueue.repr", "equation_BinomialQueue.repr_l", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.empty", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "08037f759adbf01d8f37f1d4d48fd5da" - ], - [ - "BinomialQueue.smash_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Internal", - "data_elim_BinomialQueue.Mkms", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "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_t", "equation_BinomialQueue.smash", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "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_Subtraction", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_89e06c024202b7960c7a838d26b7ac36", - "refinement_interpretation_Tm_refine_936de7421c69d10a58f5fe5f843f3a55", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", "typing_BinomialQueue.ms_cons", - "typing_BinomialQueue.ms_singleton", "typing_BinomialQueue.smash", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "ff7477c20a2b4660491783bc06ddbeba" - ], - [ - "BinomialQueue.carry_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.carry.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.carry.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@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", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_3", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_4", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Internal", - "data_elim_BinomialQueue.Mkms", "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_empty", - "equation_BinomialQueue.permutation", - "equation_BinomialQueue.repr_l", "equation_BinomialQueue.repr_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.carry.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", - "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "l_and-interp", "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "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_30bfcc2fbdc54cc3f13520e7d07c70b3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "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.carry.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.carry", "typing_BinomialQueue.keys", - "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", - "typing_BinomialQueue.uu___is_Leaf", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "af3405fa4c2358f13af11ce51d4aaabe" - ], - [ - "BinomialQueue.carry_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f92f3e6b3863a3cc9f2f0700b6474407" - ], - 0, - "7a72852878a7cdf7785eae5005abe29c" - ], - [ - "BinomialQueue.join_repr", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.join.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_07642eb27f8c86505049ec727a4a557c_2", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_4", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_5", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_6", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Internal", - "data_elim_BinomialQueue.Mkms", "data_elim_Prims.Cons", - "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_empty", - "equation_BinomialQueue.permutation", - "equation_BinomialQueue.repr_l", "equation_BinomialQueue.repr_t", - "equation_Prims.eqtype", "equation_Prims.l_or", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.is_binomial_queue.fuel_instrumented", - "equation_with_fuel_BinomialQueue.join.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "kinding_BinomialQueue.tree@tok", "l_and-interp", "l_or-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "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_Equality", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0126be480748f7241b165d1b758f5fc8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "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.uu___is_Leaf", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_Prims.uu___is_Cons", - "typing_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "ad604f039cbe7d5a421ea2ac7ac3593e" - ], - [ - "BinomialQueue.join_repr", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4aaacdbe6aef23914ad906053a7ec01c" - ], - 0, - "82e2df485f047d627dbae6b2d167fb17" - ], - [ - "BinomialQueue.all_leaf_keys", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.all_leaf.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.all_leaf.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_92cc3092b50378b9697de1162e4e2190_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_BinomialQueue.Mkms", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BinomialQueue.Leaf", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.all_leaf.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "kinding_BinomialQueue.tree@tok", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8012675a32ad22b7f12e5227bdcb55bc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.all_leaf", "typing_BinomialQueue.keys", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "187af1a74dc2ca6252853139d264845d" - ], - [ - "BinomialQueue.all_leaf_keys", - 2, - 2, - 1, - [ "@query" ], - 0, - "059624e67b9bf03ff1de9a60035efa58" - ], - [ - "BinomialQueue.compact_preserves_keys", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.mk_compact.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.mk_compact", - "typing_FStar.Set.empty", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "968783d279b8ab6a559f139f5dc15659" - ], - [ - "BinomialQueue.insert_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.carry.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.mk_compact.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.mk_compact.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "data_elim_BinomialQueue.Mkms", - "data_typing_intro_BinomialQueue.Internal@tok", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.insert", - "equation_BinomialQueue.is_pow2heap", - "equation_BinomialQueue.is_priq", "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.priq", - "equation_BinomialQueue.repr", "equation_BinomialQueue.repr_l", - "equation_BinomialQueue.repr_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.carry.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.ms", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "interpretation_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", - "lemma_BinomialQueue.compact_preserves_keys", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "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_Subtraction", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_interpretation_Tm_refine_ef894c20818013c5faab7b4bf585814b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.carry", "typing_BinomialQueue.keys", - "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.mk_compact", "typing_BinomialQueue.ms_append", - "typing_BinomialQueue.ms_cons", "typing_BinomialQueue.ms_singleton", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "12ba588f885bb47532eb02beb228abba" - ], - [ - "BinomialQueue.merge_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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.mk_compact.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "bool_inversion", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Mkms", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.merge", "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_empty", - "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.pos", - "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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "lemma_BinomialQueue.compact_preserves_keys", - "lemma_FStar.Set.lemma_equal_elim", - "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", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_interpretation_Tm_refine_ef894c20818013c5faab7b4bf585814b", - "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.join", "typing_BinomialQueue.keys", - "typing_BinomialQueue.merge", "typing_BinomialQueue.ms_append", - "typing_BinomialQueue.ms_empty", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "84c4afd1250d8c08662d840e7623c6ff" - ], - [ - "BinomialQueue.last_key_in_keys", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_BinomialQueue.Internal", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BinomialQueue.Internal", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", - "equation_BinomialQueue.ms_singleton", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_BinomialQueue.tree@tok", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b5c97da7ef7d1b184a7889eebba792ab", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_cons", - "typing_BinomialQueue.uu___is_Internal", - "typing_FStar.List.Tot.Base.last", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "71e286b143306bd248084601b82b7e75" - ], - [ - "BinomialQueue.last_key_in_keys", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a4694aff90882905e013f7442fc2a587", - "typing_Prims.int" - ], - 0, - "4e74cb4ef8651f9b35ca693f45858f65" - ], - [ - "BinomialQueue.find_max_some_is_some", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.find_max.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_0", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_BinomialQueue.tree@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "79ef0b0e92a4b1586d5d408df4060fd9" - ], - [ - "BinomialQueue.find_max_emp_repr_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "constructor_distinct_Prims.Nil", "data_elim_BinomialQueue.Internal", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_BinomialQueue.Internal", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.is_compact", - "equation_BinomialQueue.is_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", - "equation_BinomialQueue.repr_l", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_BinomialQueue.tree@tok", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Equality", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.ms_empty", "typing_FStar.List.Tot.Base.last", - "typing_Prims.int", "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "d0d483d155b96b53fe431169fdc6bc24" - ], - [ - "BinomialQueue.find_max_emp_repr_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.find_max.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", "bool_inversion", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_BinomialQueue.Mkms", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "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_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_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", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "55b65e53f30faa9f6fdb927ac145ce5b" - ], - [ - "BinomialQueue.delete_max_none_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "equation_BinomialQueue.delete_max", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_empty", "equation_BinomialQueue.priq", - "equation_BinomialQueue.repr", "equation_BinomialQueue.repr_l", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BinomialQueue.find_max" - ], - 0, - "fecd6c2ff99a35ac6a24937fc92bd713" - ], - [ - "BinomialQueue.keys_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_0", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_2", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.permutation", - "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "kinding_BinomialQueue.tree@tok", "lemma_FStar.Set.lemma_equal_elim", - "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", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "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.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_Prims.int", - "typing_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "0f7173202ccef08cc47c1f3ef389f3ef" - ], - [ - "BinomialQueue.unzip_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.unzip.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.unzip.fuel_instrumented", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_3", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", "bool_inversion", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BinomialQueue.Internal", "data_elim_BinomialQueue.Mkms", - "data_typing_intro_BinomialQueue.Internal@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "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.priq", - "equation_BinomialQueue.repr_l", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "equation_with_fuel_BinomialQueue.unzip.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "interpretation_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", - "kinding_BinomialQueue.tree@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "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_0ef537e2d1916c03cee9d0bd5e289de8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c3c9c367f72c5b0c52f5e58bcc77e76", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinomialQueue.Internal", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "token_correspondence_BinomialQueue.unzip.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", "typing_BinomialQueue.ms_cons", - "typing_BinomialQueue.ms_empty", "typing_BinomialQueue.ms_singleton", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "6e95b055e30611b4f06785e312436ab8" - ], - [ - "BinomialQueue.unzip_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_76adbb251afae091ffb3b3578bcabcfe" - ], - 0, - "800ba9e834b4c932f40f8a9a24efe68d" - ], - [ - "BinomialQueue.heap_delete_max_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.unzip.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Nil", "data_elim_BinomialQueue.Internal", - "data_elim_BinomialQueue.Mkms", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", "eq2-interp", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.heap_delete_max", - "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.priq", - "equation_BinomialQueue.repr_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "equation_with_fuel_BinomialQueue.unzip.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "interpretation_Tm_abs_f4b50fc4dfea96852c92f014d280cd82", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "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_Subtraction", - "proj_equation_BinomialQueue.Internal__2", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ef537e2d1916c03cee9d0bd5e289de8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_interpretation_Tm_refine_cac45ff9a964d7cd41d1ef2a8dc06677", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", - "typing_BinomialQueue.ms_singleton", "typing_BinomialQueue.unzip", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "bc0e77298ebf6e4d98384552adc80a8c" - ], - [ - "BinomialQueue.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d9f4d579bc223dc12e7a7d975a59572d" - ], - [ - "BinomialQueue.max", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "59e5d701aa592f5971e77f1f9fba245c" - ], - [ - "BinomialQueue.tree_root_is_max_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.pow2heap_pred.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c1ab7496c060d1f2d977fd02b92d48e2_2", "bool_inversion", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.key_t", "equation_BinomialQueue.max", - "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", - "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.ms_singleton", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "equation_with_fuel_BinomialQueue.pow2heap_pred.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.tree", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BinomialQueue.Internal", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys_of_tree", "typing_BinomialQueue.ms_cons", - "typing_BinomialQueue.ms_singleton", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "830efd2dcefe8cc70e0e1af9bd7d2151" - ], - [ - "BinomialQueue.tree_root_is_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_BinomialQueue.Leaf", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.is_pow2heap", "equation_Prims.pos", - "equation_Prims.squash", "false_interp", "int_inversion", - "primitive_Prims.op_Subtraction", - "proj_equation_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8ea27af3eff389ddd2e0bbc23a482f92" - ], - [ - "BinomialQueue.delete_max_aux_repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.delete_max_aux.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.delete_max_aux.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@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_2", - "binder_x_07642eb27f8c86505049ec727a4a557c_4", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_6", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_7", - "binder_x_2841d97f95e403f3d9b78b0c5aec5c0a_8", - "binder_x_3250053aa2b9928fcbec76591a895969_5", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_0", - "binder_x_b19ee3ff3f4f676fe283c4905f1b1f83_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_1", "bool_inversion", - "bool_typing", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_BinomialQueue.Mkms", - "data_elim_Prims.Cons", "disc_equation_BinomialQueue.Internal", - "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.max", "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_cons", "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.ms_singleton", - "equation_BinomialQueue.permutation", "equation_BinomialQueue.priq", - "equation_BinomialQueue.repr_l", "equation_BinomialQueue.repr_t", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_BinomialQueue.delete_max_aux.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", - "false_interp", "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "l_and-interp", "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "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_BinomialQueue.Internal__2", - "proj_equation_BinomialQueue.Mkms_ms_count", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_count", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "refinement_interpretation_Tm_refine_c21cb3fc8fd1bc7797f179f682cf1dc4", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "token_correspondence_BinomialQueue.delete_max_aux.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.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", "typing_BinomialQueue.ms_cons", - "typing_BinomialQueue.ms_singleton", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "963f763aa4e57544f8b2303df80552e2" - ], - [ - "BinomialQueue.delete_max_aux_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2db27daa1b83c2cbbd2c71010b38df87" - ], - [ - "BinomialQueue.find_max_mem_keys", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.find_max.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "binder_x_07642eb27f8c86505049ec727a4a557c_1", - "binder_x_0cce611505b3cbcad4bc1226ec25500d_0", "bool_inversion", - "constructor_distinct_BinomialQueue.Internal", - "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_BinomialQueue.Leaf@tok", - "equation_BinomialQueue.forest", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.ms_append", "equation_BinomialQueue.ms_cons", - "equation_BinomialQueue.ms_singleton", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BinomialQueue.find_max.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_BinomialQueue.tree@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "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_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.find_max.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.find_max", "typing_BinomialQueue.keys", - "typing_BinomialQueue.keys_of_tree", "typing_BinomialQueue.ms_cons", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Prims.__proj__Cons__item__hd", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok", "unit_inversion", "unit_typing" - ], - 0, - "136ddc1ad1685f27783a56869c9278aa" - ], - [ - "BinomialQueue.find_max_mem_keys", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d03b0d584057f36937eaace823945594" - ], - [ - "BinomialQueue.find_max_is_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.find_max.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys.fuel_instrumented", - "@fuel_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.find_max.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.is_binomial_queue.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys.fuel_instrumented", - "@fuel_irrelevance_BinomialQueue.keys_of_tree.fuel_instrumented", - "@query", "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "b2t_def", "binder_x_07642eb27f8c86505049ec727a4a557c_2", - "binder_x_0cce611505b3cbcad4bc1226ec25500d_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_BinomialQueue.Internal", - "disc_equation_BinomialQueue.Leaf", - "disc_equation_FStar.Pervasives.Native.Some", - "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.max", "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_cons", "equation_BinomialQueue.ms_empty", - "equation_BinomialQueue.ms_singleton", "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", - "false_interp", "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "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_BinomialQueue.Internal__2", - "proj_equation_BinomialQueue.Mkms_ms_elems", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", - "projection_inverse_BinomialQueue.Internal__0", - "projection_inverse_BinomialQueue.Internal__1", - "projection_inverse_BinomialQueue.Internal__2", - "projection_inverse_BinomialQueue.Mkms_ms_elems", - "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_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46e76d937374da81295260936d0fc3b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BinomialQueue.keys.fuel_instrumented", - "token_correspondence_BinomialQueue.keys_of_tree.fuel_instrumented", - "typing_BinomialQueue.__proj__Mkms__item__ms_elems", - "typing_BinomialQueue.keys", "typing_BinomialQueue.keys_of_tree", - "typing_BinomialQueue.ms_append", - "typing_BinomialQueue.ms_singleton", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_tok_BinomialQueue.Leaf@tok", - "unit_inversion", "unit_typing" - ], - 0, - "fbea457e8b0b42675e90427b401a2fdf" - ], - [ - "BinomialQueue.find_max_is_max", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40004e77c501d0d7faf8da16dffd8ea1" - ], - 0, - "0cade57b62da6ad01ec14d3f53ecca2b" - ], - [ - "BinomialQueue.delete_max_some_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c836a6666cb19b452d988cbe7d8fd051" - ], - [ - "BinomialQueue.delete_max_some_repr", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BinomialQueue.delete_max_aux.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.mk_compact.fuel_instrumented", - "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "BinomialQueue_pretyping_c1ab7496c060d1f2d977fd02b92d48e2", - "bool_inversion", "constructor_distinct_BinomialQueue.Leaf", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_BinomialQueue.Mkms", "data_elim_Prims.Cons", - "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_priq", "equation_BinomialQueue.key_t", - "equation_BinomialQueue.max", "equation_BinomialQueue.ms_append", - "equation_BinomialQueue.ms_cons", "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.pos", - "equation_with_fuel_BinomialQueue.delete_max_aux.fuel_instrumented", - "equation_with_fuel_BinomialQueue.join.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys.fuel_instrumented", - "equation_with_fuel_BinomialQueue.keys_of_tree.fuel_instrumented", - "fuel_guarded_inversion_BinomialQueue.ms", - "fuel_guarded_inversion_BinomialQueue.tree", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_015f65dc738b17ca923c21bdd897be70", - "interpretation_Tm_abs_0750d50e859fe4be4a1d3b6be7ce934c", - "lemma_BinomialQueue.compact_preserves_keys", - "lemma_FStar.Set.lemma_equal_elim", - "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", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf9b8da8f290823f0b11be068baec869", - "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.ms_empty", "typing_BinomialQueue.ms_singleton", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BinomialQueue.Leaf@tok" - ], - 0, - "5c1027863e77c68d7c0a3e6b47dd1f60" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/BinomialQueue.fsti.hints b/examples/data_structures/BinomialQueue.fsti.hints deleted file mode 100644 index d77d36fe7b2..00000000000 --- a/examples/data_structures/BinomialQueue.fsti.hints +++ /dev/null @@ -1,133 +0,0 @@ -[ - "–À±©­õiV\u000bSHÓ–/Ù\u0013", - [ - [ - "BinomialQueue.ms", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "154936baaeb47efd9098ad07b6271c2c" - ], - [ - "BinomialQueue.__proj__Mkms__item__ms_elems", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "df24b7c86957f467eab939f93b428b23" - ], - [ - "BinomialQueue.__proj__Mkms__item__ms_elems", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c4d302b1ce8548c9cba5a23deeb234af" - ], - [ - "BinomialQueue.ms_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "683e7e68de15ce26f620c664c6534c97" - ], - [ - "BinomialQueue.ms_singleton", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bfcb7536f9d43f5a05223f2d14a609b9" - ], - [ - "BinomialQueue.ms_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BinomialQueue_interpretation_Tm_arrow_e979b9dc6be45dd92c9914c44a112e40", - "data_elim_BinomialQueue.Mkms", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_BinomialQueue.ms", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", - "proj_equation_BinomialQueue.Mkms_ms_count", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BinomialQueue.__proj__Mkms__item__ms_count", - "typing_Prims.int" - ], - 0, - "a121b0f2f463ce242b2e735d4e340e77" - ], - [ - "BinomialQueue.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5a9026ac860e305fa737661bb60d8828" - ], - [ - "BinomialQueue.delete_max_some_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BinomialQueue.key_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1b3ab40a042a41611ecbe7534ceb319e" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/LeftistHeap.fst.hints b/examples/data_structures/LeftistHeap.fst.hints deleted file mode 100644 index 1643268266f..00000000000 --- a/examples/data_structures/LeftistHeap.fst.hints +++ /dev/null @@ -1,1927 +0,0 @@ -[ - "÷èFbý/ª…&æ \u000b\nž\u007fÏ", - [ - [ - "LeftistHeap.merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_LeftistHeap.ordered", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "7ed928ec3de10d30f487aaf631ef7515" - ], - [ - "LeftistHeap.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "subterm_ordering_Prims.Cons" - ], - 0, - "a16359e0da2645b8e5a929f0580233e9" - ], - [ - "LeftistHeap.transitivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LeftistHeap.Mkordered", - "equation_LeftistHeap.leq", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "refinement_interpretation_Tm_refine_7bf9d09a4c3fcf2fa2aa782655db3419", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leq" - ], - 0, - "29483461491558f32e7b4e6b020d88f6" - ], - [ - "LeftistHeap.reflexivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LeftistHeap.leq", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "proj_equation_LeftistHeap.Mkordered_leq", - "refinement_interpretation_Tm_refine_7bf9d09a4c3fcf2fa2aa782655db3419", - "token_correspondence_LeftistHeap.__proj__Mkordered__item__leq", - "token_correspondence_LeftistHeap.leq" - ], - 0, - "5d967789cf317ccd3a1ab43ca110dcf3" - ], - [ - "LeftistHeap.antisymmetry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LeftistHeap.Mkordered", - "equation_LeftistHeap.leq", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "refinement_interpretation_Tm_refine_7bf9d09a4c3fcf2fa2aa782655db3419", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leq" - ], - 0, - "69331468ef059701d1b85255c869d545" - ], - [ - "LeftistHeap.total_order", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LeftistHeap.Mkordered", - "equation_LeftistHeap.leq", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "proj_equation_LeftistHeap.Mkordered_leq", - "refinement_interpretation_Tm_refine_7bf9d09a4c3fcf2fa2aa782655db3419", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.__proj__Mkordered__item__leq", - "token_correspondence_LeftistHeap.leq" - ], - 0, - "c3d3b87716e4d8d054fe021a7fb88f25" - ], - [ - "LeftistHeap.ints_leq", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "int_inversion" ], - 0, - "5dcd1fbeee7fedec90a8c612ac5957fe" - ], - [ - "LeftistHeap.nats_leq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "0cdf6d5f27c91bc76baaa1994e3327d9" - ], - [ - "LeftistHeap.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LeftistHeap.delta", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "80ed167028e6ccbad80f19d99bde23a6" - ], - [ - "LeftistHeap.lower_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f0dd901a668c2bc89124b3e4ce179ff8" - ], - [ - "LeftistHeap.lower_bounded_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LeftistHeap.leq", - "equation_with_fuel_LeftistHeap.lower_bounded.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "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", - "subterm_ordering_Prims.Cons", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "typing_LeftistHeap.lower_bounded" - ], - 0, - "80a24e3d51af134008b3e5d9d45e3225" - ], - [ - "LeftistHeap.sorted_then_lower_bounded", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.sorted.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_LeftistHeap.Mkordered", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_LeftistHeap.leq", - "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.lower_bounded.fuel_instrumented", - "equation_with_fuel_LeftistHeap.sorted.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_AmpAmp", "proj_equation_Prims.Cons_hd", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "subterm_ordering_Prims.Cons", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "typing_LeftistHeap.lower_bounded", "typing_LeftistHeap.sorted" - ], - 0, - "1911cd5d9459a9e95e053d40934b24eb" - ], - [ - "LeftistHeap.lower_bounded_and_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LeftistHeap.delta", "equation_LeftistHeap.leq", - "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "equation_with_fuel_LeftistHeap.lower_bounded.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", "int_inversion", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "typing_LeftistHeap.count", "typing_LeftistHeap.lower_bounded", - "unit_inversion", "unit_typing" - ], - 0, - "2e93b70b7e13d69f15ec9b7dd72d8140" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a2c4fd2a620ffbeaeaaeea2ffd468842" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2b7820ba0c6112b793896003b78c688b" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "0d0a79d00c677e0fe86e220fbf4f0308" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b918e6f79f602d9d30763c18a2c3c146" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef" - ], - 0, - "9a6ac11ca4740c4e819e9c70af0ea90b" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 6, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "constructor_distinct_Prims.Cons", "equation_LeftistHeap.delta", - "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "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_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "token_correspondence_LeftistHeap.count.fuel_instrumented" - ], - 0, - "6c32df1195c3f6584b4ecf62bbf8b0c7" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79" - ], - 0, - "4e33251201b750d81f58e34533a55021" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@query", "b2t_def", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79" - ], - 0, - "9cb372733488471a222885cedeac9cd6" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 9, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8d2f398298fc1181c749c85646a1971c" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1e34af9157409218520ccdfc02fa650d" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 11, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef" - ], - 0, - "c9a656a559739071c361ed6f8e5e66d2" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 12, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "equation_LeftistHeap.delta", - "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "token_correspondence_LeftistHeap.count.fuel_instrumented" - ], - 0, - "00e9cfeb42d3009b158fa73008965ecd" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 13, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79" - ], - 0, - "9b086ec0a16d5bf6c6d3f935e213e242" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 14, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@query", "b2t_def", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79" - ], - 0, - "6b373f3006860a0a3d0437274ada302c" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 15, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2fdeaea8a51bd41f35cb3dbb0f002566" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 16, - 2, - 1, - [ "@query", "b2t_def" ], - 0, - "2888b7807977158a00941360a5820ed2" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 17, - 2, - 1, - [ "@query", "b2t_def" ], - 0, - "3d3ef9462b68b471b20d07bf0b9dc873" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 18, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "subterm_ordering_Prims.Cons" - ], - 0, - "324497a5a22ebad902a79ad089098d75" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 19, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", "@query", - "b2t_def", "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_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_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "typing_LeftistHeap.count" - ], - 0, - "2ec5fe92113d8653118499599dd610da" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 20, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.sorted.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.sorted.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.sorted.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "typing_LeftistHeap.sorted" - ], - 0, - "2dd055f258c468b705a7bd5071f7b4d8" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 21, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.sorted.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.sorted.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.sorted.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "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_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "typing_LeftistHeap.sorted" - ], - 0, - "40aff1f67b47a4aafb102604f316e74e" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 22, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_28b3529e604de38cfa56254e079a0089", - "refinement_interpretation_Tm_refine_a7f5be2562c0b20fa34b05d9da74fd79", - "unit_inversion", "unit_typing" - ], - 0, - "31963b15a7031a2d93848cf51e9a6d16" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 23, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_LeftistHeap.delta", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0d9f94422821299632eb46bc1af4f8ef", - "refinement_interpretation_Tm_refine_28b3529e604de38cfa56254e079a0089", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_95720c099504b776b082be5ba7c7b766", - "refinement_interpretation_Tm_refine_dbfba4801075614d3fe2f1366e0dc546", - "token_correspondence_LeftistHeap.count.fuel_instrumented", - "unit_inversion", "unit_typing" - ], - 0, - "1f4fbc62ec415e32cefcd8d1589e8611" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 24, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5d9e314a2630bbaccd2f52bce6c9d17e" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 25, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5eaea9b463732c43fdbaf23cc2e12a24" - ], - [ - "LeftistHeap.injectivity_count_sorted", - 26, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9361377e3889425feebfb6ae7bc24c5e" - ], - [ - "LeftistHeap.merge_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_LeftistHeap.Mkordered", "disc_equation_Prims.Cons", - "equation_LeftistHeap.delta", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_c9b66413736764e5892d9b3a8d972edc", - "subterm_ordering_Prims.Cons", "typing_LeftistHeap.count", - "typing_LeftistHeap.merge", "unit_inversion", "unit_typing" - ], - 0, - "f0533e0556eed22674236b5f82375a1c" - ], - [ - "LeftistHeap.sorted_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.sorted.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_LeftistHeap.Mkordered", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_LeftistHeap.leq", - "equation_with_fuel_LeftistHeap.merge.fuel_instrumented", - "equation_with_fuel_LeftistHeap.sorted.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "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", "subterm_ordering_Prims.Cons", - "token_correspondence_LeftistHeap.leq", "typing_LeftistHeap.merge", - "typing_LeftistHeap.sorted", "unit_inversion", "unit_typing" - ], - 0, - "28456f7daa2fcdd0b287ee7ee0557747" - ], - [ - "LeftistHeap.merge_lower_bounded", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_LeftistHeap.Mkordered", - "disc_equation_Prims.Cons", "equation_LeftistHeap.leq", - "equation_with_fuel_LeftistHeap.lower_bounded.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_AmpAmp", - "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", "subterm_ordering_Prims.Cons", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "typing_LeftistHeap.lower_bounded", "typing_LeftistHeap.merge", - "unit_inversion", "unit_typing" - ], - 0, - "f1f54008d89606a88bb7ff63da5443db" - ], - [ - "LeftistHeap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f55eed6661a80440204fe812fc9d3083" - ], - [ - "LeftistHeap.__proj__Node__item__key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24fc79973b38ca9a10812bfc6d1e3bf6" - ], - 0, - "09b8b58bfe91db2ce6cf9044516c2868" - ], - [ - "LeftistHeap.__proj__Node__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24fc79973b38ca9a10812bfc6d1e3bf6" - ], - 0, - "e6111826f0665cbb8bd6fac0915e43df" - ], - [ - "LeftistHeap.__proj__Node__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24fc79973b38ca9a10812bfc6d1e3bf6" - ], - 0, - "47e585af3be1e27b8c4900dbe884d8fa" - ], - [ - "LeftistHeap.__proj__Node__item__rank", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24fc79973b38ca9a10812bfc6d1e3bf6" - ], - 0, - "ae7683f376da6d420979da5e806d3fd6" - ], - [ - "LeftistHeap.size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a682a62895731b424b52019f5f3073c0_2", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "equation_Prims.nat", "fuel_guarded_inversion_LeftistHeap.heap", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "ec6fd20b8b58e6d660b5d18283c68bc7" - ], - [ - "LeftistHeap.lower_bounded_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "1f4344fb0636e9e45bb86fe501a478a8" - ], - [ - "LeftistHeap.heap_property", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_LeftistHeap.Leaf", - "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4bb8b8513b8349c25ee9084f16851471" - ], - [ - "LeftistHeap.count_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.delta", "equation_Prims.nat", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "af63bd5b9e843f615903f6a895578752" - ], - [ - "LeftistHeap.to_list_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "aa8c245fe6b04f5b03ed594daac70619" - ], - [ - "LeftistHeap.to_list_aux_lower_bounded", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "bool_typing", "constructor_distinct_LeftistHeap.Leaf", - "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.leq", - "equation_with_fuel_LeftistHeap.lower_bounded.fuel_instrumented", - "equation_with_fuel_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_LeftistHeap.Leaf_a", - "projection_inverse_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_LeftistHeap.Node", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "typing_LeftistHeap.lower_bounded", - "typing_LeftistHeap.lower_bounded_heap", "typing_LeftistHeap.merge", - "typing_LeftistHeap.to_list_aux" - ], - 0, - "6feec5cb52e1988039259c1b26bed263" - ], - [ - "LeftistHeap.heap_property_then_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.sorted.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.sorted.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "b2t_def", "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "data_elim_LeftistHeap.Node", "data_elim_Prims.Cons", - "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.heap_property", "equation_LeftistHeap.leq", - "equation_with_fuel_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge.fuel_instrumented", - "equation_with_fuel_LeftistHeap.sorted.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "l_and-interp", "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_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_right", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "subterm_ordering_LeftistHeap.Node", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "true_interp", "typing_LeftistHeap.lower_bounded_heap", - "typing_LeftistHeap.merge", "typing_LeftistHeap.sorted", - "typing_LeftistHeap.to_list_aux" - ], - 0, - "585bd23efae3e6315ee65e8e9cd21bd1" - ], - [ - "LeftistHeap.count_list_heap", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.count_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "constructor_distinct_LeftistHeap.Leaf", - "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.delta", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.count.fuel_instrumented", - "equation_with_fuel_LeftistHeap.count_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LeftistHeap.Leaf_a", - "projection_inverse_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "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", - "subterm_ordering_LeftistHeap.Node", "typing_LeftistHeap.count", - "typing_LeftistHeap.count_heap", "typing_LeftistHeap.to_list_aux", - "typing_Prims.int" - ], - 0, - "a8fa90d400daf6f3271ada93f9b415ba" - ], - [ - "LeftistHeap.count_list_heap", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ed1c7247c33a5fac4196e4b31b37102d" - ], - [ - "LeftistHeap.rank", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_LeftistHeap.Leaf", - "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a260a1cfe2349876c4a67678c55d3613" - ], - [ - "LeftistHeap.merge_heaps_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.size.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.size.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_2611d061955cd24360b6c9637f442521_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_LeftistHeap.Node", - "data_elim_LeftistHeap.Mkordered", "data_elim_LeftistHeap.Node", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.gt", "equation_LeftistHeap.leq", - "equation_LeftistHeap.measure", "equation_LeftistHeap.rank", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LeftistHeap.size.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", - "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_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.size.fuel_instrumented", - "typing_LeftistHeap.measure", "typing_LeftistHeap.size", - "well-founded-ordering-on-nat" - ], - 0, - "13e0088c2083cdc06716f328d0c5393b" - ], - [ - "LeftistHeap.heap_property_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.size.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.size.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_2611d061955cd24360b6c9637f442521_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "bool_typing", "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "data_elim_LeftistHeap.Node", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.gt", "equation_LeftistHeap.heap_property", - "equation_LeftistHeap.leq", "equation_LeftistHeap.measure", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "equation_with_fuel_LeftistHeap.size.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "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_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.size.fuel_instrumented", - "true_interp", "typing_LeftistHeap.lower_bounded_heap", - "typing_LeftistHeap.measure", "typing_LeftistHeap.merge_heaps_aux", - "typing_LeftistHeap.size", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "f817ee96ec955bec0361fda451952c91" - ], - [ - "LeftistHeap.count_merge_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.count_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.size.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.count_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.size.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_2611d061955cd24360b6c9637f442521_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Tm_unit", "data_elim_LeftistHeap.Mkordered", - "disc_equation_LeftistHeap.Node", "equation_LeftistHeap.gt", - "equation_LeftistHeap.leq", "equation_LeftistHeap.measure", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LeftistHeap.count_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "equation_with_fuel_LeftistHeap.size.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", - "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_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.size.fuel_instrumented", - "typing_LeftistHeap.count_heap", "typing_LeftistHeap.measure", - "typing_LeftistHeap.merge_heaps_aux", "typing_LeftistHeap.size", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "40e4aa55b44a2b9b5f4f3511a1c18db8" - ], - [ - "LeftistHeap.merge_heap_charact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LeftistHeap.ordered", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00b0b8ed5ba7e15dbe4f04a73b234dd9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LeftistHeap.count", "typing_LeftistHeap.count_heap", - "typing_LeftistHeap.to_list_aux", "typing_Prims.int" - ], - 0, - "16245cbe9cc79a7a7ed5bc8c15838470" - ], - [ - "LeftistHeap.leftist_property", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a682a62895731b424b52019f5f3073c0_2", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "ecfd06a64c5411e0184d8952bb6edbb6" - ], - [ - "LeftistHeap.compute_rank", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a682a62895731b424b52019f5f3073c0_2", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "17e126cb8bc8d9b90a7bb3724b156075" - ], - [ - "LeftistHeap.correct_ranks", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a682a62895731b424b52019f5f3073c0_2", - "disc_equation_LeftistHeap.Leaf", "disc_equation_LeftistHeap.Node", - "fuel_guarded_inversion_LeftistHeap.heap", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LeftistHeap.Node" - ], - 0, - "9ebf8d7559e70e901cf32457a2cadc41" - ], - [ - "LeftistHeap.correct_ranks_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.compute_rank.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.size.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.compute_rank.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.size.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_2611d061955cd24360b6c9637f442521_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "bool_typing", "constructor_distinct_LeftistHeap.Node", - "data_elim_LeftistHeap.Mkordered", "data_elim_LeftistHeap.Node", - "disc_equation_LeftistHeap.Node", "equation_LeftistHeap.gt", - "equation_LeftistHeap.leq", "equation_LeftistHeap.measure", - "equation_LeftistHeap.rank", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LeftistHeap.compute_rank.fuel_instrumented", - "equation_with_fuel_LeftistHeap.correct_ranks.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "equation_with_fuel_LeftistHeap.size.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "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_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.size.fuel_instrumented", - "typing_LeftistHeap.compute_rank", - "typing_LeftistHeap.correct_ranks", "typing_LeftistHeap.measure", - "typing_LeftistHeap.merge_heaps_aux", "typing_LeftistHeap.size", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "0674f21f60dd4c12745c1e1c2e9a5466" - ], - [ - "LeftistHeap.leftist_property_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.size.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.size.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2611d061955cd24360b6c9637f442521_2", - "binder_x_2611d061955cd24360b6c9637f442521_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_f0062e810d23900aea914a963397c69a_1", "bool_inversion", - "bool_typing", "constructor_distinct_LeftistHeap.Node", - "data_elim_LeftistHeap.Mkordered", "disc_equation_LeftistHeap.Node", - "equation_LeftistHeap.gt", "equation_LeftistHeap.leq", - "equation_LeftistHeap.measure", "equation_LeftistHeap.rank", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge_heaps_aux.fuel_instrumented", - "equation_with_fuel_LeftistHeap.size.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3d43ab47b1ab2f5a1ac2583010f98a3b", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "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_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "token_correspondence_LeftistHeap.leq", - "token_correspondence_LeftistHeap.size.fuel_instrumented", - "typing_LeftistHeap.leftist_property", "typing_LeftistHeap.measure", - "typing_LeftistHeap.merge_heaps_aux", "typing_LeftistHeap.size", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "06365c0ab7af89131a4ed5d8edd1dfe2" - ], - [ - "LeftistHeap.leftist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LeftistHeap.heap__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "dccab2dda4c7b9f79dec6073c7aa2d4a" - ], - [ - "LeftistHeap.to_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LeftistHeap.leftist", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085" - ], - 0, - "9889c6f40f962cc9ae3e13b90c4f9ea3" - ], - [ - "LeftistHeap.empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "07e908c9ca754e4e7c749f169dbe7ffc" - ], - [ - "LeftistHeap.empty", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", - "constructor_distinct_LeftistHeap.Leaf", - "data_typing_intro_LeftistHeap.Leaf@tok", - "equation_LeftistHeap.heap_property", "equation_LeftistHeap.to_list", - "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.correct_ranks.fuel_instrumented", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LeftistHeap.Leaf_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp" - ], - 0, - "34088ac8538fc5720f6e1a7236a324cc" - ], - [ - "LeftistHeap.isEmpty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5f0ae296a3fe8a37735b95c2d0844cf8" - ], - [ - "LeftistHeap.isEmpty", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_LeftistHeap.Leaf", "equation_LeftistHeap.leftist", - "equation_LeftistHeap.to_list", "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.heap", - "fuel_guarded_inversion_LeftistHeap.ordered", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "82cbe208c2e9edbddcdfa8d76ad59ef4" - ], - [ - "LeftistHeap.singleton", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "beb797789276ec9b191f54d51bfe77bd" - ], - [ - "LeftistHeap.singleton", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.compute_rank.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.merge.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "b2t_def", "bool_inversion", - "constructor_distinct_LeftistHeap.Leaf", - "constructor_distinct_LeftistHeap.Node", - "constructor_distinct_Prims.Nil", "data_elim_LeftistHeap.Mkordered", - "data_typing_intro_LeftistHeap.Leaf@tok", - "data_typing_intro_LeftistHeap.Node@tok", - "equation_LeftistHeap.heap_property", "equation_LeftistHeap.to_list", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LeftistHeap.compute_rank.fuel_instrumented", - "equation_with_fuel_LeftistHeap.correct_ranks.fuel_instrumented", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.merge.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_LeftistHeap.Leaf_a", - "projection_inverse_LeftistHeap.Node_a", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_rank", - "projection_inverse_LeftistHeap.Node_right", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c9b66413736764e5892d9b3a8d972edc", - "token_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "typing_LeftistHeap.compute_rank" - ], - 0, - "e6676bdc9626f4af7ae2b85d85e06fb9" - ], - [ - "LeftistHeap.merge_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "bb6918fde2760aacf5a1281965db04cf" - ], - [ - "LeftistHeap.merge_heaps", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_LeftistHeap.leftist", - "equation_LeftistHeap.to_list", "equation_Prims.eqtype", - "fuel_guarded_inversion_LeftistHeap.ordered", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "a38860d0ed608e76ca4bc27f74fc9dd2" - ], - [ - "LeftistHeap.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b568017e4279f7eb1a3e4eb35bb21914" - ], - [ - "LeftistHeap.insert", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", - "equation_LeftistHeap.singleton", "equation_Prims.eqtype", - "fuel_guarded_inversion_LeftistHeap.ordered", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a9b0ea40acc20292ec2aa55734c9b59", - "typing_LeftistHeap.singleton" - ], - 0, - "7445e558f7abeb207e7ca0bea20ce359" - ], - [ - "LeftistHeap.get_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "equation_LeftistHeap.isEmpty", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_32dfddc0b557508b5956c23209347ea1", - "refinement_interpretation_Tm_refine_366ba6d2d69978c1c8b35278df759a3f", - "typing_LeftistHeap.isEmpty" - ], - 0, - "611a7a5e63b45ad038a2dce41217a941" - ], - [ - "LeftistHeap.get_min", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "disc_equation_LeftistHeap.Leaf", - "disc_equation_LeftistHeap.Node", "disc_equation_Prims.Cons", - "equation_LeftistHeap.isEmpty", "equation_LeftistHeap.leftist", - "equation_LeftistHeap.to_list", "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_LeftistHeap.correct_ranks", - "typing_LeftistHeap.leftist_property" - ], - 0, - "0b4ba7e3d19902b5b77f584fb7d03446" - ], - [ - "LeftistHeap.delete_min", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_LeftistHeap.Leaf", "disc_equation_Prims.Cons", - "equation_LeftistHeap.isEmpty", "equation_LeftistHeap.leftist", - "equation_LeftistHeap.to_list", "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_LeftistHeap.correct_ranks", - "typing_LeftistHeap.leftist_property" - ], - 0, - "856389761e4ef95b0bc9653475d88a86" - ], - [ - "LeftistHeap.delete_min", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_correspondence_LeftistHeap.to_list_aux.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.correct_ranks.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.leftist_property.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "@fuel_irrelevance_LeftistHeap.to_list_aux.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "disc_equation_LeftistHeap.Leaf", - "disc_equation_LeftistHeap.Node", "disc_equation_Prims.Cons", - "equation_LeftistHeap.heap_property", "equation_LeftistHeap.isEmpty", - "equation_LeftistHeap.leftist", "equation_LeftistHeap.to_list", - "equation_Prims.eqtype", - "equation_with_fuel_LeftistHeap.correct_ranks.fuel_instrumented", - "equation_with_fuel_LeftistHeap.leftist_property.fuel_instrumented", - "equation_with_fuel_LeftistHeap.lower_bounded_heap.fuel_instrumented", - "equation_with_fuel_LeftistHeap.to_list_aux.fuel_instrumented", - "fuel_guarded_inversion_LeftistHeap.ordered", "l_and-interp", - "primitive_Prims.op_AmpAmp", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LeftistHeap.Node_key", - "projection_inverse_LeftistHeap.Node_left", - "projection_inverse_LeftistHeap.Node_right", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_20ddcddf14e217b7652cadf2ea46a085", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_LeftistHeap.correct_ranks.fuel_instrumented", - "token_correspondence_LeftistHeap.leftist_property.fuel_instrumented", - "true_interp", "typing_LeftistHeap.correct_ranks", - "typing_LeftistHeap.leftist_property", - "typing_LeftistHeap.lower_bounded_heap" - ], - 0, - "f3420a0483b65bd12c83d7c4641e856b" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/LeftistHeap.fsti.hints b/examples/data_structures/LeftistHeap.fsti.hints deleted file mode 100644 index f6a151c9051..00000000000 --- a/examples/data_structures/LeftistHeap.fsti.hints +++ /dev/null @@ -1,147 +0,0 @@ -[ - "|é\u001f\u0012Ö\t\\¤¿Éóó ¼+w", - [ - [ - "LeftistHeap.merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_f0062e810d23900aea914a963397c69a_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_LeftistHeap.ordered", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "7dfd71b62bed91c3f1966589762d2729" - ], - [ - "LeftistHeap.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "subterm_ordering_Prims.Cons" - ], - 0, - "d767e697f93ebec9f41a18db2cf4e0ae" - ], - [ - "LeftistHeap.empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "2da5d3aa9dfca18120bf3a0e7c581416" - ], - [ - "LeftistHeap.isEmpty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5f0ae296a3fe8a37735b95c2d0844cf8" - ], - [ - "LeftistHeap.singleton", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "beb797789276ec9b191f54d51bfe77bd" - ], - [ - "LeftistHeap.merge_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "bb6918fde2760aacf5a1281965db04cf" - ], - [ - "LeftistHeap.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b568017e4279f7eb1a3e4eb35bb21914" - ], - [ - "LeftistHeap.get_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_32dfddc0b557508b5956c23209347ea1", - "refinement_interpretation_Tm_refine_366ba6d2d69978c1c8b35278df759a3f", - "typing_LeftistHeap.isEmpty" - ], - 0, - "8f1b3b9e835ee32d4bfba16de32f751e" - ], - [ - "LeftistHeap.delete_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", - "fuel_guarded_inversion_LeftistHeap.ordered", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a9a55aa69767df3fd9b8c47f8e24270", - "refinement_interpretation_Tm_refine_32dfddc0b557508b5956c23209347ea1", - "refinement_interpretation_Tm_refine_366ba6d2d69978c1c8b35278df759a3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_LeftistHeap.isEmpty", "typing_LeftistHeap.to_list" - ], - 0, - "ac13daedb171c9c3fc337f80a411c6cf" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/Lens.fst.hints b/examples/data_structures/Lens.fst.hints deleted file mode 100644 index 61f0aad312b..00000000000 --- a/examples/data_structures/Lens.fst.hints +++ /dev/null @@ -1,134 +0,0 @@ -[ - "퀥Äùmñ\r o30¤´¡ó", - [ - [ - "Lens.circle", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Lens.point__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0bbbd5f9d0ec0db8839fc9e665add797" - ], - [ - "Lens.rgb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8e29f19020724d6de5ce187f6a84a583" - ], - [ - "Lens.colored", - 1, - 2, - 1, - [ "@query", "assumption_Lens.rgb__uu___haseq" ], - 0, - "f38b3f636144189f42909ad9b49f4ffa" - ], - [ - "Lens.stlens", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "eb68f5d54f5c9c35f0a3278be0f6033a" - ], - [ - "Lens.__proj__Mkstlens__item__st_put", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "039e7098c81d808e73cd3cf12dbf52e0" - ], - [ - "Lens.__proj__Mkstlens__item__st_put", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "23cf4de544807ebf9b9df48437f07515" - ], - [ - "Lens.st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.only", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Lens.op_String_Access", - "fuel_guarded_inversion_Lens.lens", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_Lens.op_String_Access" - ], - 0, - "cc509437420d4dd99ad1826a279f11cb" - ], - [ - "Lens.op_Bar_Colon_Dot_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lens.op_Bar_Colon_Equals", "equation_Lens.op_Bar_Dot", - "equation_Lens.op_Bar_Dot_Dot", "equation_Lens.op_String_Access", - "equation_Lens.op_String_Assignment", - "fuel_guarded_inversion_Lens.lens", - "fuel_guarded_inversion_Lens.stlens", - "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", - "interpretation_Tm_abs_519017a02c008e8d770d2bb88e107760", - "interpretation_Tm_abs_623dbc4739871293a8e5a3c0e6f66cc2", - "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", - "projection_inverse_Lens.Mklens_get", - "projection_inverse_Lens.Mklens_put", - "token_correspondence_Lens.__proj__Mklens__item__get", - "token_correspondence_Lens.__proj__Mklens__item__put", - "token_correspondence_Lens.op_Bar_Colon_Equals", - "typing_Lens.op_String_Access" - ], - 0, - "d4474c498a7806aabc4fc770dbffef40" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/Lens/Lens.fsproj b/examples/data_structures/Lens/Lens.fsproj index 6e3cbf25a82..a06b155915e 100644 --- a/examples/data_structures/Lens/Lens.fsproj +++ b/examples/data_structures/Lens/Lens.fsproj @@ -5,7 +5,7 @@ ..\..\.. - --use_hints --record_hints + --ext context_pruning diff --git a/examples/data_structures/LowStar.Lens.Buffer.fst.hints b/examples/data_structures/LowStar.Lens.Buffer.fst.hints deleted file mode 100644 index 0ba94aba454..00000000000 --- a/examples/data_structures/LowStar.Lens.Buffer.fst.hints +++ /dev/null @@ -1,496 +0,0 @@ -[ - "O×(|ºå¿Sx—b{àI‹", - [ - [ - "LowStar.Lens.Buffer.ok_for_ptr", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "025c96a3357a6c6b56ff11e85c698644" - ], - [ - "LowStar.Lens.Buffer.ptr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "true_interp" - ], - 0, - "167371e7670dd3f0b011480dbffbf217" - ], - [ - "LowStar.Lens.Buffer.view_type_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "fdf1fc86ce616bc2eb06ac6d04286472" - ], - [ - "LowStar.Lens.Buffer.get_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "37043fab9eb0ab6a13e1b28802454cc7" - ], - [ - "LowStar.Lens.Buffer.put_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "e87e135c4eefe1a0862428cb85a0f99a" - ], - [ - "LowStar.Lens.Buffer.as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "61d98d166b6be3367ec918fc202013ae" - ], - [ - "LowStar.Lens.Buffer.id_lens", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_ba01c0014a61ba65c741f6b8b269f5da", - "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" - ], - 0, - "34cb47db35bfebc4ef26cda091a73560" - ], - [ - "LowStar.Lens.Buffer.mk", - 1, - 2, - 1, - [ "@query" ], - 0, - "90f833d459964fb2f22eda56f5b91877" - ], - [ - "LowStar.Lens.Buffer.mk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Mkhs_lens", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.get_put", - "equation_LowStar.Lens.get_reads_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.put_modifies_loc", - "equation_LowStar.Lens.snap", - "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", "int_inversion", - "int_typing", - "interpretation_Tm_abs_3df81e352ed3eaf978fad995773126ac", - "interpretation_Tm_abs_712468ba117fed1847ede4bc37f63153", - "interpretation_Tm_abs_afaa6bc2b6afd69987301a2126d36b4f", - "interpretation_Tm_abs_c1cd23806d5c27b5102611b3b2bb70b0", - "interpretation_Tm_abs_f0438dc14e7f791d1a122e52e6e9b9d8", - "interpretation_Tm_abs_f890b0d4ed77baa4f5155d55d9c3f1b0", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens__a", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt32.v", "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.snap", "typing_LowStar.Lens.view", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "c9a3e66da4b8ecb8558a5c7f4082887a" - ], - [ - "LowStar.Lens.Buffer.elim_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.mk", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "interpretation_Tm_abs_afaa6bc2b6afd69987301a2126d36b4f", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "1e8aa7eb367040439df15e114bd0a0ca" - ], - [ - "LowStar.Lens.Buffer.elim_inv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.mk", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "interpretation_Tm_abs_afaa6bc2b6afd69987301a2126d36b4f", - "interpretation_Tm_abs_f0438dc14e7f791d1a122e52e6e9b9d8", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.inv", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "e3b55868f9054a83d9daaeded4798efd" - ], - [ - "LowStar.Lens.Buffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "507ffbd45b70ee23d9cd7a7fc163a405" - ], - [ - "LowStar.Lens.Buffer.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "30ae172f9ee4158f22ba2957ca837f1b" - ] - ] -] \ 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 deleted file mode 100644 index a293ca7acfe..00000000000 --- a/examples/data_structures/LowStar.Lens.Buffer.fsti.hints +++ /dev/null @@ -1,305 +0,0 @@ -[ - "¸¥îEâ\u0006B[èW_˜Æ¤/º", - [ - [ - "LowStar.Lens.Buffer.ok_for_ptr", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "f47cfdc04ce2fee994e39fdee87a62d2" - ], - [ - "LowStar.Lens.Buffer.ptr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "true_interp" - ], - 0, - "167371e7670dd3f0b011480dbffbf217" - ], - [ - "LowStar.Lens.Buffer.view_type_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "fdf1fc86ce616bc2eb06ac6d04286472" - ], - [ - "LowStar.Lens.Buffer.get_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "37043fab9eb0ab6a13e1b28802454cc7" - ], - [ - "LowStar.Lens.Buffer.put_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "e87e135c4eefe1a0862428cb85a0f99a" - ], - [ - "LowStar.Lens.Buffer.as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "61d98d166b6be3367ec918fc202013ae" - ], - [ - "LowStar.Lens.Buffer.id_lens", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_ba01c0014a61ba65c741f6b8b269f5da", - "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" - ], - 0, - "34cb47db35bfebc4ef26cda091a73560" - ], - [ - "LowStar.Lens.Buffer.mk", - 1, - 2, - 1, - [ "@query" ], - 0, - "90f833d459964fb2f22eda56f5b91877" - ], - [ - "LowStar.Lens.Buffer.elim_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "ee29136ea5c29338c75d940c8fcbe88b" - ], - [ - "LowStar.Lens.Buffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "bd27c8add3f77a8c2e9b35f0eaeb6dc3" - ], - [ - "LowStar.Lens.Buffer.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "42db535741bac72e6cbe4ff50386d6f7" - ] - ] -] \ 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 deleted file mode 100644 index d2eadf9f21b..00000000000 --- a/examples/data_structures/LowStar.Lens.Tuple2.fst.hints +++ /dev/null @@ -1,729 +0,0 @@ -[ - "†»±E‘J)S­~\u001f,øŒ¾·", - [ - [ - "LowStar.Lens.Tuple2.composable", - 1, - 2, - 1, - [ "@query" ], - 0, - "f3c1e2f295e8d7b349e7631c50876c04" - ], - [ - "LowStar.Lens.Tuple2.mk", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowStar.Lens.Mkhs_lens", "data_elim_LowStar.Lens.Mklens", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.eloc", - "equation_LowStar.Lens.get_put", - "equation_LowStar.Lens.get_reads_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.put_modifies_loc", - "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", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__put", - "interpretation_Tm_abs_1a01aab794c1d04f1d478f00bbd47474", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "interpretation_Tm_abs_fa17f4684d96c9e94d4016f1099a2a91", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__put", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__l", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "5a3fe408e4d7308f5753057d129d3bfa" - ], - [ - "LowStar.Lens.Tuple2.op_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Tuple2.mk", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Lens.snap", - "typing_LowStar.Lens.view", "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "b1e9223cb101f2c25826402a497612d9" - ], - [ - "LowStar.Lens.Tuple2.op_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Tuple2.mk", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Lens.snap", - "typing_LowStar.Lens.view", "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "290b1252c82abecfb214fce62e190214" - ], - [ - "LowStar.Lens.Tuple2.lens_fst", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_14fe9ddc1dd9cdd48b4cb989d7269bc1", - "interpretation_Tm_abs_30b3ed4e72bcbde33d935cd5a836663a", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "2966bc5a3cdced556ecac4671ac32c8b" - ], - [ - "LowStar.Lens.Tuple2.lens_snd", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_40df4494bf739aae4cf68e8bef50ece4", - "interpretation_Tm_abs_46039d5196859aaedaff2a6989177872", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "77160c319a90ac01ea574fa4b015ec1b" - ], - [ - "LowStar.Lens.Tuple2.tup2_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "049cfe770616ac2d2c9913e1197a6587" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "ca6ae947cfd32e6ee34a876dc07a9d1f" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "c4002480d39f228db40a5ce25cde0bc7" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "b6e1c5e22c2701cecff5174e0187daf7" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "8ef12221cf0013684da4bd0860cdc46d" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "b6e1c5e22c2701cecff5174e0187daf7" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "173b959aab1d5a44ba3235bd347fc9df" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "b6e1c5e22c2701cecff5174e0187daf7" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "4d2fcd53db56875ca1709f147d05a221" - ], - [ - "LowStar.Lens.Tuple2.mk_tup2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_a20521070114f149cb24b2910465c892", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "37aa9c902119ac6075ac1a43bbea5abf" - ], - [ - "LowStar.Lens.Tuple2.lens_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "9d6483b9e8ad2d832974ae7062f95308" - ], - [ - "LowStar.Lens.Tuple2.test_read_ptr_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "data_elim_LowStar.Lens.Tuple2.Mk", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl1", - "typing_LowStar.Monotonic.Buffer.len", - "typing_tok_LowStar.Lens.Buffer.Buffer@tok", - "typing_tok_LowStar.Lens.Buffer.Pointer@tok" - ], - 0, - "faff0a8a57a50be3851c49536a52a1cd" - ], - [ - "LowStar.Lens.Tuple2.test_read_buf_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "6c87256ef222bbe0f4407a9f5410e290" - ], - [ - "LowStar.Lens.Tuple2.test_write_ptr_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "data_elim_LowStar.Lens.Tuple2.Mk", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl1", - "typing_LowStar.Monotonic.Buffer.len", - "typing_tok_LowStar.Lens.Buffer.Buffer@tok", - "typing_tok_LowStar.Lens.Buffer.Pointer@tok" - ], - 0, - "050c33b10cd4b83bc5e1dcbd071f1e22" - ], - [ - "LowStar.Lens.Tuple2.test_write_buf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "f7065238fda048511b73c3cddd107b11" - ], - [ - "LowStar.Lens.Tuple2.elim_tup2_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Buffer.Mk", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.lens_of", - "equation_LowStar.Lens.Tuple2.mk", - "equation_LowStar.Lens.Tuple2.mk_tup2", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.eloc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "token_correspondence_LowStar.Lens.inv", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.Tuple2.lens_of", - "typing_LowStar.Lens.Tuple2.mk_tup2", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", "typing_LowStar.Monotonic.Buffer.loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "ad5a4d4a00ef86d52df25d4cb9102440" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.fst.hints b/examples/data_structures/LowStar.Lens.fst.hints deleted file mode 100644 index 486c6d2a66f..00000000000 --- a/examples/data_structures/LowStar.Lens.fst.hints +++ /dev/null @@ -1,88 +0,0 @@ -[ - "Õ$Üï•ï\u0003—¤\u0005A \u0003Vâ", - [ - [ - "LowStar.Lens.view", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Lens.inv" ], - 0, - "2114b26d47e6401f04953546dcf14bd1" - ], - [ - "LowStar.Lens.LensST", - 1, - 2, - 1, - [ "@query" ], - 0, - "39f2ccd331c0ec1de9d1aea5a5717d80" - ], - [ - "LowStar.Lens.reveal_inv", - 1, - 2, - 1, - [ "@query" ], - 0, - "f67d84dc51e7bd0d2517d415b735c0e2" - ], - [ - "LowStar.Lens.reveal_inv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Lens.inv", - "equation_LowStar.Lens.mods", "equation_LowStar.Lens.view", - "fuel_guarded_inversion_LowStar.Lens.hs_lens" - ], - 0, - "d96bd6029b4a62e76bd8589d50ec07b9" - ], - [ - "LowStar.Lens.for_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.int" - ], - 0, - "e52e82145d99f455bff9b6dbdc1a7552" - ], - [ - "LowStar.Lens.for_n", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "cdd13754f5cf81470af10341aabc4bce" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/LowStar.Lens.fsti.hints b/examples/data_structures/LowStar.Lens.fsti.hints deleted file mode 100644 index 0cd7741ee5d..00000000000 --- a/examples/data_structures/LowStar.Lens.fsti.hints +++ /dev/null @@ -1,66 +0,0 @@ -[ - "£\u0005TSö\u001f쟃s!Çr]Í", - [ - [ - "LowStar.Lens.LensST", - 1, - 2, - 1, - [ "@query" ], - 0, - "3dccada079cd000f46f4265a43d76c4b" - ], - [ - "LowStar.Lens.reveal_inv", - 1, - 2, - 1, - [ "@query" ], - 0, - "9a817cba49943187b230fd9ed1827cf5" - ], - [ - "LowStar.Lens.for_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.int" - ], - 0, - "53c7a1b499f5a81c287bdb407213f457" - ], - [ - "LowStar.Lens.for_n", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "cdd13754f5cf81470af10341aabc4bce" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/Makefile b/examples/data_structures/Makefile index 0c9a1893327..3d83c7c748d 100644 --- a/examples/data_structures/Makefile +++ b/examples/data_structures/Makefile @@ -1,7 +1,11 @@ FSTAR_ROOT ?= ../.. include $(FSTAR_ROOT)/mk/test.mk +HAS_OCAML ?= 1 + +ifneq (,$(HAS_OCAML)) all: $(OUTPUT_DIR)/RBTreeIntrinsic_patched.exe +endif # EXTRACT = RBTreeIntrinsic diff --git a/examples/data_structures/MerkleTree.fst.hints b/examples/data_structures/MerkleTree.fst.hints deleted file mode 100644 index 82038417087..00000000000 --- a/examples/data_structures/MerkleTree.fst.hints +++ /dev/null @@ -1,641 +0,0 @@ -[ - "’C\u0006\u0006¼þ–°ÓýüýÂa¦B", - [ - [ - "MerkleTree.mstring", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6e2683c821cc9778f119d9aaeab2dbdf" - ], - [ - "MerkleTree.mstring", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "ea34d0e2fd5dbb3aac892c25e566fd85" - ], - [ - "MerkleTree.__proj__Base__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3ab915087995f936a969050df0880d3c" - ], - 0, - "ed80a80ed644c449dc8b3dc0fb3c7aad" - ], - [ - "MerkleTree.__proj__Concat__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" - ], - 0, - "9206ad79de760216fb687f4800de7df5" - ], - [ - "MerkleTree.__proj__Concat__item__s1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.Concat", - "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" - ], - 0, - "6163b59a58d0b5b9aed03e9d6feebc95" - ], - [ - "MerkleTree.__proj__Concat__item__s2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.Concat", - "refinement_interpretation_Tm_refine_2dd3f6eb0f0d89e4537f22ac1be23031" - ], - 0, - "b361ca08b1a3ddfad4ff2ca200972218" - ], - [ - "MerkleTree.mtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.hash_size" - ], - 0, - "aa85abe2488d516d7923f258c7a3a51c" - ], - [ - "MerkleTree.mtree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "equation_MerkleTree.data", "equation_MerkleTree.hash", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size", - "typing_Prims.int" - ], - 0, - "bc3751a1cb0dd07a27a04cb586898e52" - ], - [ - "MerkleTree.__proj__L__item__data", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c60e89554f8e64395245e385f320b1e4" - ], - 0, - "65ef6a115bd76f2a2e31d3331495421e" - ], - [ - "MerkleTree.__proj__N__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "2350e4c050bcc3b0594503af4b905f03" - ], - [ - "MerkleTree.__proj__N__item__h1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "bd89d6b6e3b9a2a81ff20d3c343685dd" - ], - [ - "MerkleTree.__proj__N__item__h2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "34eb1d475fcb06858b9aca9458ca8afc" - ], - [ - "MerkleTree.__proj__N__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.N", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "da8c367920793b27330dd941ee9e615d" - ], - [ - "MerkleTree.__proj__N__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MerkleTree.N", - "refinement_interpretation_Tm_refine_0147c691bf5d65a9d6eb7f17865eb252" - ], - 0, - "d9b6d52ddab1ac11c332a15a20238307" - ], - [ - "MerkleTree.get_elt", - 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", "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", - "binder_x_9088648d068c28807ff841994d75e1fb_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "disc_equation_MerkleTree.L", "disc_equation_MerkleTree.N", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MerkleTree.len", "equation_MerkleTree.path", - "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", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.N_h1", - "proj_equation_MerkleTree.N_n", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.len", - "typing_FStar.List.Tot.Base.length", "typing_Prims.bool" - ], - 0, - "ebab604ba0780c4911fb93fead3db131" - ], - [ - "MerkleTree.proof", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_MerkleTree.data", - "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.data_size", "typing_MerkleTree.hash", - "typing_MerkleTree.hash_size" - ], - 0, - "f9fe7117e9ec26a59de7b5999fd909c5" - ], - [ - "MerkleTree.p_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", "equation_MerkleTree.hash", - "equation_MerkleTree.len", "equation_MerkleTree.lenp", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "proj_equation_MerkleTree.Mk_proof_pstream", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_457520bf4aed35ae15fb824978ee7a0c", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_MerkleTree.len", - "typing_MerkleTree.__proj__Mk_proof__item__pstream", - "typing_MerkleTree.hash" - ], - 0, - "90f5e53bedda14a253f9f13cdcaff056" - ], - [ - "MerkleTree.verifier", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6f43197e932b26c82ef505caf53714d9" - ], - [ - "MerkleTree.verifier", - 2, - 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", "binder_x_8dc7980622e8d0f39c7cfb7ab47b6fce_1", - "binder_x_9088648d068c28807ff841994d75e1fb_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.hash", - "equation_MerkleTree.len", "equation_MerkleTree.lenp", - "equation_MerkleTree.p_stream", "equation_MerkleTree.p_tail", - "equation_MerkleTree.path", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.proof", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_MerkleTree.Mk_proof_pstream", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.Mk_proof_pstream", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91b7ac4eaab1bdb842f38c877389276b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.len", - "typing_MerkleTree.__proj__Mk_proof__item__pstream", - "typing_MerkleTree.hash", "typing_MerkleTree.hash_size", - "typing_MerkleTree.lenp", "typing_Prims.bool" - ], - 0, - "44b53821fea1084bbfb203af2e63c910" - ], - [ - "MerkleTree.verifier", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d430ecb229d91621902680e84b8eff6d" - ], - [ - "MerkleTree.prover", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8a5fc654976ac2d4adfae04b4f899951" - ], - [ - "MerkleTree.prover", - 2, - 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", "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", - "binder_x_9088648d068c28807ff841994d75e1fb_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "data_typing_intro_Prims.Cons@tok", "disc_equation_MerkleTree.L", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.hash", - "equation_MerkleTree.len", "equation_MerkleTree.lenp", - "equation_MerkleTree.p_stream", "equation_MerkleTree.path", - "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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_MerkleTree.Mk_proof_pstream", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.Mk_proof_pstream", - "projection_inverse_MerkleTree.N_h1", - "projection_inverse_MerkleTree.N_h2", - "projection_inverse_MerkleTree.N_n", - "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_4cb4efd537b5f3d5a3f03c6ded34e688", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.len", - "typing_FStar.List.Tot.Base.length", - "typing_MerkleTree.__proj__Mk_proof__item__pstream", - "typing_MerkleTree.hash", "typing_MerkleTree.p_stream", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "cb6c99b345d941f3e46745e590d8bcae" - ], - [ - "MerkleTree.prover", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "be39b76858933dd868e199f4067b1b9d" - ], - [ - "MerkleTree.correctness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "assumption_MerkleTree.proof__uu___haseq", - "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_77bdb9485207f0507746518db92722d3", - "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" - ], - 0, - "908486e50ee9b3f28e74a90a726950bf" - ], - [ - "MerkleTree.correctness", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MerkleTree.prover.fuel_instrumented", - "@fuel_correspondence_MerkleTree.verifier.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.prover.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.verifier.fuel_instrumented", "@query", - "MerkleTree_pretyping_14ca527e4a64039bf225f3fd8b1034f0", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", - "binder_x_38079039abee7aff59f43d5431b2dd56_3", - "binder_x_9088648d068c28807ff841994d75e1fb_1", - "binder_x_feaccf6117b8e05feae9c632f02a3a0e_0", - "constructor_distinct_MerkleTree.mstring", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_MerkleTree.N", "disc_equation_MerkleTree.N", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MerkleTree.hash", "equation_MerkleTree.len", - "equation_MerkleTree.p_data", "equation_MerkleTree.p_stream", - "equation_MerkleTree.p_tail", "equation_MerkleTree.path", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MerkleTree.prover.fuel_instrumented", - "equation_with_fuel_MerkleTree.verifier.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.proof", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_MerkleTree.L_data", - "proj_equation_MerkleTree.Mk_proof_data", - "proj_equation_MerkleTree.Mk_proof_pstream", - "proj_equation_MerkleTree.N_h1", "proj_equation_MerkleTree.N_h2", - "proj_equation_MerkleTree.N_left", "proj_equation_MerkleTree.N_n", - "proj_equation_MerkleTree.N_right", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.Mk_proof_data", - "projection_inverse_MerkleTree.Mk_proof_pstream", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3958bc8692b7b73c247bbfbd99850e76", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.len", - "token_correspondence_MerkleTree.prover.fuel_instrumented", - "token_correspondence_MerkleTree.verifier.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_MerkleTree.hash_size", - "typing_MerkleTree.prover", "typing_MerkleTree.verifier", - "typing_Prims.bool", "unit_inversion", "unit_typing" - ], - 0, - "b4f81f4d81f915ceed41a11f2f36af2e" - ], - [ - "MerkleTree.correctness", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "assumption_MerkleTree.proof__uu___haseq", - "equation_MerkleTree.hash", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_4cb4efd537b5f3d5a3f03c6ded34e688", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d0e6dac8f8051469d4d39c595a7de2fd", - "typing_MerkleTree.hash_size", "typing_MerkleTree.prover" - ], - 0, - "8652e49a34dd38e0be75436f97505a91" - ], - [ - "MerkleTree.hash_collision", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.hash_size" - ], - 0, - "4a90e3ef9098aedda6c904ace5894d9a" - ], - [ - "MerkleTree.security", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "equation_MerkleTree.data", "equation_MerkleTree.hash", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size", - "typing_Prims.int" - ], - 0, - "c4e87c313b789e88626a72086e5ab2bf" - ], - [ - "MerkleTree.security", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MerkleTree.get_elt.fuel_instrumented", - "@fuel_correspondence_MerkleTree.verifier.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.get_elt.fuel_instrumented", - "@fuel_irrelevance_MerkleTree.verifier.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_MerkleTree.mstring__uu___haseq", - "binder_x_15948bb9ab2b09b7e399f450dd186ecb_2", - "binder_x_57cdc8ffe00a3d3ca1f544f28d39499f_3", - "binder_x_9088648d068c28807ff841994d75e1fb_1", - "binder_x_feaccf6117b8e05feae9c632f02a3a0e_0", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_MerkleTree.N", - "data_elim_Prims.Cons", "disc_equation_MerkleTree.L", - "disc_equation_MerkleTree.N", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_MerkleTree.data", - "equation_MerkleTree.hash", "equation_MerkleTree.len", - "equation_MerkleTree.lenp", "equation_MerkleTree.p_data", - "equation_MerkleTree.p_stream", "equation_MerkleTree.p_tail", - "equation_MerkleTree.path", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_MerkleTree.get_elt.fuel_instrumented", - "equation_with_fuel_MerkleTree.verifier.fuel_instrumented", - "fuel_guarded_inversion_MerkleTree.mtree", - "fuel_guarded_inversion_MerkleTree.proof", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_MerkleTree.L_data", - "proj_equation_MerkleTree.Mk_proof_data", - "proj_equation_MerkleTree.Mk_proof_pstream", - "proj_equation_MerkleTree.N_h1", "proj_equation_MerkleTree.N_h2", - "proj_equation_MerkleTree.N_left", - "proj_equation_MerkleTree.N_right", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_MerkleTree.Concat_s1", - "projection_inverse_MerkleTree.Concat_s2", - "projection_inverse_MerkleTree.Mk_proof_data", - "projection_inverse_MerkleTree.Mk_proof_pstream", - "projection_inverse_MerkleTree.N_h1", - "projection_inverse_MerkleTree.N_h2", - "projection_inverse_MerkleTree.N_left", - "projection_inverse_MerkleTree.N_n", - "projection_inverse_MerkleTree.N_right", - "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_4cb4efd537b5f3d5a3f03c6ded34e688", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_570391dad6768bb6caf6242202892528", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_MerkleTree.len", - "typing_MerkleTree.__proj__Mk_proof__item__pstream", - "typing_MerkleTree.data_size", "typing_MerkleTree.hash", - "typing_MerkleTree.hash_size", "typing_MerkleTree.lenp", - "typing_Prims.bool" - ], - 0, - "014cc6023bcbe76c1d418dc90652c6a5" - ], - [ - "MerkleTree.security", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MerkleTree.mstring__uu___haseq", - "equation_MerkleTree.data", "equation_MerkleTree.hash", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_MerkleTree.data_size", "typing_MerkleTree.hash_size", - "typing_Prims.int" - ], - 0, - "841aea38bdfc2f7898768c0a39819ec8" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/RBTree.fst.hints b/examples/data_structures/RBTree.fst.hints deleted file mode 100644 index 1e2db75c525..00000000000 --- a/examples/data_structures/RBTree.fst.hints +++ /dev/null @@ -1,573 +0,0 @@ -[ - "‡Ü\u001cß3yw‡]x'vÒšh2", - [ - [ - "RBTree.rbtree'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c60cf7fff4473f79e92bf591613140ac" - ], - [ - "RBTree.__proj__T__item__col", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" - ], - 0, - "d796d626ea2fc017dc61b5a4bbe8c21e" - ], - [ - "RBTree.__proj__T__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" - ], - 0, - "973055a02be66c574109b68e73b58a36" - ], - [ - "RBTree.__proj__T__item__key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" - ], - 0, - "89d24039d2d32bc1413b9e5d5723112f" - ], - [ - "RBTree.__proj__T__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd" - ], - 0, - "d906e196806f918eaf00233ac16afc58" - ], - [ - "RBTree.color_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTree.E", - "disc_equation_RBTree.T", "fuel_guarded_inversion_RBTree.rbtree_", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0792c43c4a58ca2a1f489a1428f241c7" - ], - [ - "RBTree.black_height", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "assumption_RBTree.color__uu___haseq", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "disc_equation_RBTree.E", "disc_equation_RBTree.T", - "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTree.T", "typing_Prims.int", - "typing_tok_RBTree.E@tok" - ], - 0, - "fe5f911e0be8061f08c3dfb2a5aef575" - ], - [ - "RBTree.min_elt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "constructor_distinct_RBTree.T", "disc_equation_RBTree.E", - "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", - "fuel_guarded_inversion_RBTree.rbtree_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", "subterm_ordering_RBTree.T", - "typing_tok_RBTree.E@tok" - ], - 0, - "c7c4b74a19929be2022156bc553b7afc" - ], - [ - "RBTree.max_elt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "constructor_distinct_RBTree.T", "disc_equation_RBTree.E", - "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", - "fuel_guarded_inversion_RBTree.rbtree_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", "subterm_ordering_RBTree.T", - "typing_tok_RBTree.E@tok" - ], - 0, - "de909bc3045dc50eee0d627d466cf765" - ], - [ - "RBTree.r_inv", - 1, - 2, - 1, - [ "@query", "assumption_RBTree.color__uu___haseq" ], - 0, - "b8db1673f33ff09e6253d1fb1e134bc6" - ], - [ - "RBTree.c_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "assumption_RBTree.color__uu___haseq", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "disc_equation_RBTree.B", "disc_equation_RBTree.E", - "disc_equation_RBTree.R", "disc_equation_RBTree.T", - "equality_tok_RBTree.B@tok", "equality_tok_RBTree.E@tok", - "equality_tok_RBTree.R@tok", "fuel_guarded_inversion_RBTree.color", - "fuel_guarded_inversion_RBTree.rbtree_", - "proj_equation_RBTree.T_col", "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", - "refinement_interpretation_Tm_refine_ae4fd622eeb7394a3dd765700312c1fd", - "subterm_ordering_RBTree.T", "typing_RBTree.__proj__T__item__col", - "typing_tok_RBTree.E@tok" - ], - 0, - "c06bd08e03afd8ede214c35a61291000" - ], - [ - "RBTree.k_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", "bool_inversion", - "constructor_distinct_RBTree.E", "disc_equation_RBTree.E", - "disc_equation_RBTree.T", "equality_tok_RBTree.E@tok", - "fuel_guarded_inversion_RBTree.rbtree_", "primitive_Prims.op_AmpAmp", - "proj_equation_RBTree.T_left", "proj_equation_RBTree.T_right", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", "subterm_ordering_RBTree.T", - "typing_RBTree.uu___is_E", "typing_tok_RBTree.E@tok" - ], - 0, - "c2afebbc3559e331f3300e5b95d67896" - ], - [ - "RBTree.in_tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "disc_equation_RBTree.E", "disc_equation_RBTree.T", - "equality_tok_RBTree.E@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_RBTree.rbtree_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_RBTree.T", "typing_Prims.int", - "typing_tok_RBTree.E@tok" - ], - 0, - "217da7b6472ae224396ac4da35f75462" - ], - [ - "RBTree.not_c_inv", - 1, - 2, - 1, - [ "@query", "assumption_RBTree.color__uu___haseq" ], - 0, - "171bce9c608290a9c1d934194d484fc7" - ], - [ - "RBTree.lr_c_inv", - 1, - 2, - 1, - [ "@query" ], - 0, - "ecbc027869ec088239b07d4d2a29c0c1" - ], - [ - "RBTree.pre_balance", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_RBTree.h_inv", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "96dbdca2726a8094a99ff226126af190" - ], - [ - "RBTree.post_balance", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_RBTree.h_inv", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e44dc7de05417c24d4dc3cab48240006" - ], - [ - "RBTree.balance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTree.black_height.fuel_instrumented", - "@fuel_correspondence_RBTree.c_inv.fuel_instrumented", - "@fuel_correspondence_RBTree.in_tree.fuel_instrumented", - "@fuel_correspondence_RBTree.k_inv.fuel_instrumented", - "@fuel_correspondence_RBTree.max_elt.fuel_instrumented", - "@fuel_correspondence_RBTree.min_elt.fuel_instrumented", - "@fuel_irrelevance_RBTree.black_height.fuel_instrumented", - "@fuel_irrelevance_RBTree.c_inv.fuel_instrumented", - "@fuel_irrelevance_RBTree.in_tree.fuel_instrumented", - "@fuel_irrelevance_RBTree.k_inv.fuel_instrumented", - "@fuel_irrelevance_RBTree.max_elt.fuel_instrumented", - "@fuel_irrelevance_RBTree.min_elt.fuel_instrumented", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", - "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", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_RBTree.T", - "data_typing_intro_RBTree.T@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_RBTree.B", "disc_equation_RBTree.E", - "disc_equation_RBTree.R", "disc_equation_RBTree.T", - "equality_tok_RBTree.B@tok", "equality_tok_RBTree.E@tok", - "equality_tok_RBTree.R@tok", "equation_Prims.nat", - "equation_RBTree.color_of", "equation_RBTree.h_inv", - "equation_RBTree.lr_c_inv", "equation_RBTree.not_c_inv", - "equation_RBTree.post_balance", "equation_RBTree.pre_balance", - "equation_with_fuel_RBTree.black_height.fuel_instrumented", - "equation_with_fuel_RBTree.c_inv.fuel_instrumented", - "equation_with_fuel_RBTree.in_tree.fuel_instrumented", - "equation_with_fuel_RBTree.k_inv.fuel_instrumented", - "equation_with_fuel_RBTree.max_elt.fuel_instrumented", - "equation_with_fuel_RBTree.min_elt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTree.color", - "fuel_guarded_inversion_RBTree.rbtree_", "int_inversion", - "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", - "proj_equation_FStar.Pervasives.Native.Mktuple4__1", - "proj_equation_FStar.Pervasives.Native.Mktuple4__2", - "proj_equation_FStar.Pervasives.Native.Mktuple4__4", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_RBTree.T_col", "proj_equation_RBTree.T_left", - "proj_equation_RBTree.T_right", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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_RBTree.__proj__T__item__col", - "typing_RBTree.__proj__T__item__left", - "typing_RBTree.__proj__T__item__right", "typing_RBTree.black_height", - "typing_RBTree.c_inv", "typing_RBTree.color_of", - "typing_RBTree.h_inv", "typing_RBTree.in_tree", - "typing_RBTree.k_inv", "typing_RBTree.uu___is_B", - "typing_RBTree.uu___is_T", "typing_tok_RBTree.B@tok", - "typing_tok_RBTree.E@tok", "typing_tok_RBTree.R@tok" - ], - 0, - "c9f23c037d826ed18c5d79a313cd2aae" - ], - [ - "RBTree.ins", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "c03990bed53b57197cb56582565c8d9e" - ], - [ - "RBTree.ins", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTree.black_height.fuel_instrumented", - "@fuel_correspondence_RBTree.c_inv.fuel_instrumented", - "@fuel_correspondence_RBTree.in_tree.fuel_instrumented", - "@fuel_correspondence_RBTree.k_inv.fuel_instrumented", - "@fuel_correspondence_RBTree.max_elt.fuel_instrumented", - "@fuel_correspondence_RBTree.min_elt.fuel_instrumented", - "@fuel_irrelevance_RBTree.black_height.fuel_instrumented", - "@fuel_irrelevance_RBTree.c_inv.fuel_instrumented", - "@fuel_irrelevance_RBTree.in_tree.fuel_instrumented", - "@fuel_irrelevance_RBTree.k_inv.fuel_instrumented", - "@fuel_irrelevance_RBTree.max_elt.fuel_instrumented", - "@fuel_irrelevance_RBTree.min_elt.fuel_instrumented", "@query", - "RBTree_pretyping_a489a5e64fbe6f9e47d2efe45c07dd11", - "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", - "binder_x_a489a5e64fbe6f9e47d2efe45c07dd11_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.E", - "constructor_distinct_RBTree.R", "constructor_distinct_RBTree.T", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_RBTree.T", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_RBTree.E", "disc_equation_RBTree.T", - "equality_tok_RBTree.B@tok", "equality_tok_RBTree.E@tok", - "equality_tok_RBTree.R@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_RBTree.balance", - "equation_RBTree.color_of", "equation_RBTree.h_inv", - "equation_RBTree.post_balance", "equation_RBTree.pre_balance", - "equation_with_fuel_RBTree.black_height.fuel_instrumented", - "equation_with_fuel_RBTree.c_inv.fuel_instrumented", - "equation_with_fuel_RBTree.in_tree.fuel_instrumented", - "equation_with_fuel_RBTree.k_inv.fuel_instrumented", - "equation_with_fuel_RBTree.max_elt.fuel_instrumented", - "equation_with_fuel_RBTree.min_elt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTree.color", - "fuel_guarded_inversion_RBTree.rbtree_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_RBTree.T_col", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTree.T_col", "projection_inverse_RBTree.T_key", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_918f3ea39efad81b95b21879dc2fe1e1", - "refinement_interpretation_Tm_refine_b6bb47e7e63bd0bd4858189f82e0b4fe", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTree.T", - "token_correspondence_RBTree.black_height.fuel_instrumented", - "token_correspondence_RBTree.in_tree.fuel_instrumented", - "token_correspondence_RBTree.k_inv.fuel_instrumented", - "typing_Prims.int", "typing_RBTree.black_height", - "typing_RBTree.c_inv", "typing_RBTree.h_inv", - "typing_RBTree.in_tree", "typing_RBTree.ins", "typing_RBTree.k_inv", - "typing_tok_RBTree.E@tok", "typing_tok_RBTree.R@tok" - ], - 0, - "7d1a0367aa564657c3d459b2a3062a22" - ], - [ - "RBTree.ins", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_RBTree.color__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "ae6e4367f01755af0b4fe3be36201d6a" - ], - [ - "RBTree.make_black", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTree.black_height.fuel_instrumented", - "@fuel_correspondence_RBTree.c_inv.fuel_instrumented", - "@fuel_correspondence_RBTree.in_tree.fuel_instrumented", - "@fuel_correspondence_RBTree.k_inv.fuel_instrumented", "@query", - "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.T", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_RBTree.B@tok", "equality_tok_RBTree.R@tok", - "equation_Prims.nat", "equation_RBTree.balanced_rbtree_", - "equation_RBTree.color_of", "equation_RBTree.h_inv", - "equation_RBTree.r_inv", - "equation_with_fuel_RBTree.black_height.fuel_instrumented", - "equation_with_fuel_RBTree.c_inv.fuel_instrumented", - "equation_with_fuel_RBTree.in_tree.fuel_instrumented", - "equation_with_fuel_RBTree.k_inv.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTree.color", - "fuel_guarded_inversion_RBTree.rbtree_", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "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_RBTree.T_col", "projection_inverse_RBTree.T_key", - "projection_inverse_RBTree.T_left", - "projection_inverse_RBTree.T_right", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTree.black_height.fuel_instrumented", - "token_correspondence_RBTree.c_inv.fuel_instrumented", - "token_correspondence_RBTree.k_inv.fuel_instrumented", - "typing_RBTree.black_height", "typing_RBTree.c_inv", - "typing_RBTree.h_inv", "typing_RBTree.k_inv", - "typing_tok_RBTree.R@tok" - ], - 0, - "f979deb860ed600b63e2bb8a3ef87f78" - ], - [ - "RBTree.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ecc676c109146fa3166b179441f75cd0" - ], - [ - "RBTree.insert", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTree_pretyping_edb9b80bba796a084d329c74e0dfa031", - "constructor_distinct_RBTree.B", "constructor_distinct_RBTree.R", - "disc_equation_RBTree.T", "equality_tok_RBTree.B@tok", - "equality_tok_RBTree.R@tok", "equation_RBTree.balanced_rbtree_", - "equation_RBTree.color_of", "equation_RBTree.r_inv", - "primitive_Prims.op_Equality", "proj_equation_RBTree.T_col", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00a16cc326598ab2d79c3561cc18925f", - "typing_RBTree.make_black", "typing_tok_RBTree.R@tok" - ], - 0, - "9c0e123a2d1104f2dadff791290698f2" - ], - [ - "RBTree.proj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9a9fc64f3ae46074f41960b319aa53f" - ], - 0, - "15f2e57256566d7377b2f4f1ac564e0e" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/RBTreeIntrinsic.fst.hints b/examples/data_structures/RBTreeIntrinsic.fst.hints deleted file mode 100644 index d8e409307d7..00000000000 --- a/examples/data_structures/RBTreeIntrinsic.fst.hints +++ /dev/null @@ -1,2557 +0,0 @@ -[ - "Âÿ˜ÕB<Ã)D®¯\u007f¼y£'", - [ - [ - "RBTreeIntrinsic.rbnode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e736d34b908a79eb75170bba55cec540" - ], - [ - "RBTreeIntrinsic.rbnode", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTreeIntrinsic.color__uu___haseq", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_tok_RBTreeIntrinsic.Black@tok" - ], - 0, - "b7b70dc9d316a3b6c19bbd1304b2b497" - ], - [ - "RBTreeIntrinsic.__proj__R__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" - ], - 0, - "901cb72bd2f2babb0776b40fcab697dc" - ], - [ - "RBTreeIntrinsic.__proj__R__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.R", - "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" - ], - 0, - "8e75ab4c3aa270cfdec03edaace44138" - ], - [ - "RBTreeIntrinsic.__proj__R__item__value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" - ], - 0, - "ac9c930bf64a5f42f576f02f5fbd4a50" - ], - [ - "RBTreeIntrinsic.__proj__R__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.R", - "refinement_interpretation_Tm_refine_c1f886c9be054e567884f26303852b47" - ], - 0, - "822a8ee5a69c2ae54fd31fabf654df5e" - ], - [ - "RBTreeIntrinsic.__proj__B__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "8d3b68abdabdc44a7382ea590be768c1" - ], - [ - "RBTreeIntrinsic.__proj__B__item__cl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "747c9830fb51f4359fd505528fd8520e" - ], - [ - "RBTreeIntrinsic.__proj__B__item__cr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "fa7e07d0ffb06d0178469469c514b5a1" - ], - [ - "RBTreeIntrinsic.__proj__B__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.B", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "3432135fab3886823cdd05b479cf09e4" - ], - [ - "RBTreeIntrinsic.__proj__B__item__value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "4847a3b42693d156a4c31e15c291f072" - ], - [ - "RBTreeIntrinsic.__proj__B__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.B", - "refinement_interpretation_Tm_refine_d0956283813ca2c8607db1ebac88ef20" - ], - 0, - "5d28adef83ddd760e09a370160e67a90" - ], - [ - "RBTreeIntrinsic.reduceNode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "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", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", "typing_Prims.int" - ], - 0, - "4883aa149558204ad1cf117cac128a5e" - ], - [ - "RBTreeIntrinsic.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R" - ], - 0, - "96686b236ec2afa2d5b77d9630f53285" - ], - [ - "RBTreeIntrinsic.rbtree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTreeIntrinsic.rbnode__uu___haseq", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_tok_RBTreeIntrinsic.Black@tok" - ], - 0, - "b7c32b78fafcac3d7524351f7630da97" - ], - [ - "RBTreeIntrinsic.hiddenTree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "acea120c4d8c6773415d1e38118d62f5" - ], - [ - "RBTreeIntrinsic.hiddenTree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "159bc0a9e81b7021f4f5d34bae2a836b" - ], - [ - "RBTreeIntrinsic.hiddenTree", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "da9ad48af39311abe7223b55510d21ab" - ], - [ - "RBTreeIntrinsic.hiddenTree", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTreeIntrinsic.rbnode__uu___haseq", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "b8c950651e9e48df7e6a9f07a36c9b54" - ], - [ - "RBTreeIntrinsic.__proj__HR__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe5516b6f3a411ac6ed1aade1b670e1d" - ], - 0, - "0b5b4c2e75de62365555a932744f9b4a" - ], - [ - "RBTreeIntrinsic.__proj__HR__item__node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.HR", - "refinement_interpretation_Tm_refine_fe5516b6f3a411ac6ed1aade1b670e1d" - ], - 0, - "4057c509da025cf338295396b6f8e8c3" - ], - [ - "RBTreeIntrinsic.__proj__HB__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b1a7273a4d72e20375ad649ff728b871" - ], - 0, - "9d2537882537704c2d57d9c9c20e10cd" - ], - [ - "RBTreeIntrinsic.__proj__HB__item__node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "proj_equation_RBTreeIntrinsic.HB_h", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_RBTreeIntrinsic.__proj__HB__item__h" - ], - 0, - "f3093362b9042ee0a828c58ab236e33b" - ], - [ - "RBTreeIntrinsic.__proj__HB__item__node", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HB", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_RBTreeIntrinsic.HB_h", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.HB_h", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b1a7273a4d72e20375ad649ff728b871", - "typing_RBTreeIntrinsic.__proj__HB__item__h" - ], - 0, - "1942fe9b48ea946256920b6a37076860" - ], - [ - "RBTreeIntrinsic.almostNode", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_RBTreeIntrinsic.color__uu___haseq", - "assumption_RBTreeIntrinsic.rbnode__uu___haseq", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "9dd837035fd6c7a4724cb186e554b149" - ], - [ - "RBTreeIntrinsic.__proj__LR__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" - ], - 0, - "8b3708a6ab64642f9f8074fb56bd7941" - ], - [ - "RBTreeIntrinsic.__proj__LR__item__cR", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" - ], - 0, - "4ba6cdb4c8c5fd4f3bcc4c96b4b3a345" - ], - [ - "RBTreeIntrinsic.__proj__LR__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.LR", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" - ], - 0, - "76ce7d22f56255e8946598e7e05626e0" - ], - [ - "RBTreeIntrinsic.__proj__LR__item__value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" - ], - 0, - "8882e620ed5693508d6e569bc2556814" - ], - [ - "RBTreeIntrinsic.__proj__LR__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.LR", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c" - ], - 0, - "22db4d8fa25fd1f720a488b28075bd2c" - ], - [ - "RBTreeIntrinsic.__proj__RR__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" - ], - 0, - "b83c8723afd7027ed87fe64ccbcef95e" - ], - [ - "RBTreeIntrinsic.__proj__RR__item__cL", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" - ], - 0, - "2b26050de997e6494dc9da4adf9bf598" - ], - [ - "RBTreeIntrinsic.__proj__RR__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.RR", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" - ], - 0, - "7534b6d2e56e9c08f4c123ed72d4eea5" - ], - [ - "RBTreeIntrinsic.__proj__RR__item__value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" - ], - 0, - "e8be320a5b3ef70238a9188608bbc026" - ], - [ - "RBTreeIntrinsic.__proj__RR__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.RR", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2" - ], - 0, - "91f20618959b30279fa463b7c82fe26d" - ], - [ - "RBTreeIntrinsic.__proj__V__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" - ], - 0, - "793c93ed36f705f523d05dcbf6cc5427" - ], - [ - "RBTreeIntrinsic.__proj__V__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" - ], - 0, - "55979d6a52a426746ec4100a08f7fb5e" - ], - [ - "RBTreeIntrinsic.__proj__V__item__node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RBTreeIntrinsic.V", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf" - ], - 0, - "e4466621b4d3803ca98ddedc7316e70d" - ], - [ - "RBTreeIntrinsic.balanceLB", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "58cd67ee7dd1fb484c50178a95104013" - ], - [ - "RBTreeIntrinsic.balanceLB", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.Red", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.R", - "data_elim_RBTreeIntrinsic.RR", "data_elim_RBTreeIntrinsic.V", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_RBTreeIntrinsic.LR_h", - "proj_equation_RBTreeIntrinsic.LR_left", - "proj_equation_RBTreeIntrinsic.RR_h", - "proj_equation_RBTreeIntrinsic.RR_right", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2", - "typing_RBTreeIntrinsic.__proj__LR__item__left", - "typing_RBTreeIntrinsic.__proj__RR__item__right" - ], - 0, - "8dbce7c7efcea67239fe9d0056b272fd" - ], - [ - "RBTreeIntrinsic.balanceRB", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aa3e750538819da2e5c42c3913c6200f" - ], - [ - "RBTreeIntrinsic.balanceRB", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.Red", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.R", - "data_elim_RBTreeIntrinsic.RR", "data_elim_RBTreeIntrinsic.V", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_RBTreeIntrinsic.LR_h", - "proj_equation_RBTreeIntrinsic.LR_left", - "proj_equation_RBTreeIntrinsic.RR_h", - "proj_equation_RBTreeIntrinsic.RR_right", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "refinement_interpretation_Tm_refine_42ac2be25559f509273ea07f48fae14c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d62fcfa42de73f3b52d3b5454aab81f2", - "typing_RBTreeIntrinsic.__proj__LR__item__left", - "typing_RBTreeIntrinsic.__proj__RR__item__right" - ], - 0, - "0e270b5ff0572a9de9d8a07359642c78" - ], - [ - "RBTreeIntrinsic.balanceLR", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "data_elim_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6670ca0bf4ab26f6c9f8f8ae4266c23b" - ], - [ - "RBTreeIntrinsic.balanceRR", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_tok_RBTreeIntrinsic.Leaf@tok" - ], - 0, - "f6bbea02d9ca1ea7b087c9b2f3d5d41a" - ], - [ - "RBTreeIntrinsic.ins", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "typing_tok_RBTreeIntrinsic.Leaf@tok" - ], - 0, - "efc2ac00a7cfbbaad42d7d1177f31c09" - ], - [ - "RBTreeIntrinsic.ins", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_659549803de9c4ea0d4b062cdbf3fc8e_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.Red", - "data_elim_RBTreeIntrinsic.B", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B" - ], - 0, - "b423bc27d5267293ad2ec754207f1a20" - ], - [ - "RBTreeIntrinsic.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R" - ], - 0, - "150f309406f40d191b770c2b0a0b262e" - ], - [ - "RBTreeIntrinsic.hiddenTree_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "456bc56ade62f5b5ec5ecb960390f424" - ], - [ - "RBTreeIntrinsic.almostNode_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d8eb914ebda6de65baf12916f047b002" - ], - [ - "RBTreeIntrinsic.ins_mem", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "constructor_distinct_BoxBool", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_RBTreeIntrinsic.V", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.B", - "data_elim_RBTreeIntrinsic.HB", "data_elim_RBTreeIntrinsic.HR", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Black@tok", - "data_typing_intro_RBTreeIntrinsic.R@tok", - "data_typing_intro_RBTreeIntrinsic.Red@tok", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.balanceLB", - "equation_RBTreeIntrinsic.balanceLR", - "equation_RBTreeIntrinsic.balanceRB", - "equation_RBTreeIntrinsic.balanceRR", - "equation_RBTreeIntrinsic.hiddenTree_mem", - "equation_with_fuel_RBTreeIntrinsic.ins.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.insB.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.balanceLB", - "typing_RBTreeIntrinsic.balanceRB", - "typing_RBTreeIntrinsic.hiddenTree_mem", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.insB", - "typing_RBTreeIntrinsic.mem", "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" - ], - 0, - "3b4674f915c2fa935f33b9571c7f43ae" - ], - [ - "RBTreeIntrinsic.ins_mem", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_659549803de9c4ea0d4b062cdbf3fc8e_2", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "constructor_distinct_BoxBool", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_RBTreeIntrinsic.V", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.B", - "data_elim_RBTreeIntrinsic.HB", "data_elim_RBTreeIntrinsic.HR", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Red@tok", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.balanceLB", - "equation_RBTreeIntrinsic.balanceLR", - "equation_RBTreeIntrinsic.balanceRB", - "equation_RBTreeIntrinsic.balanceRR", - "equation_RBTreeIntrinsic.hiddenTree_mem", - "equation_with_fuel_RBTreeIntrinsic.ins.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.insB.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "token_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.rbnode@tok", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.balanceLB", - "typing_RBTreeIntrinsic.hiddenTree_mem", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.insB", - "typing_RBTreeIntrinsic.mem", "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" - ], - 0, - "62863700956062ebb3db5cdeb2af6e7e" - ], - [ - "RBTreeIntrinsic.almostNode_sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "dc6bba98a59b895f3776de1974a79039" - ], - [ - "RBTreeIntrinsic.hiddenTree_sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "be1912da127fcfdd7431c1f6e3d723ec" - ], - [ - "RBTreeIntrinsic.hiddenTree_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "66b796b1dc4aa8e1de202c788ee15cf0" - ], - [ - "RBTreeIntrinsic.hiddenTree_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f0b7ce32af41fe154c0b69fb948b618e" - ], - [ - "RBTreeIntrinsic.almostNode_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_RBTreeIntrinsic.V_c", - "proj_equation_RBTreeIntrinsic.V_h", - "proj_equation_RBTreeIntrinsic.V_node", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf", - "typing_RBTreeIntrinsic.__proj__V__item__node" - ], - 0, - "815d160a91b79ec6e077fb494c135f56" - ], - [ - "RBTreeIntrinsic.almostNode_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_RBTreeIntrinsic.V_c", - "proj_equation_RBTreeIntrinsic.V_h", - "proj_equation_RBTreeIntrinsic.V_node", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf", - "typing_RBTreeIntrinsic.__proj__V__item__node" - ], - 0, - "7e0264a681034fcdd48866d724a43486" - ], - [ - "RBTreeIntrinsic.atLeast", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "611dc2ba3a4d844dd0d94b005acf601d" - ], - [ - "RBTreeIntrinsic.atMost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4a8107f1da33ac1116cc77a3aeba3bd4" - ], - [ - "RBTreeIntrinsic.global_upper_bound", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_197d8f43cb4e68ec15637bd9fe3610e9_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_BoxBool", - "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.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.atMost", "equation_RBTreeIntrinsic.max", - "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.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.atMost", "typing_RBTreeIntrinsic.max", - "typing_RBTreeIntrinsic.mem", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" - ], - 0, - "6f25c38deaf7f864b1ad44b37ba7b555" - ], - [ - "RBTreeIntrinsic.global_lower_bound", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_197d8f43cb4e68ec15637bd9fe3610e9_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_b627aae5e5f4cb40f798f02cdb265eab_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_BoxBool", - "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.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.atLeast", "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.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_74630165099f0f12841a2e5024b1ffb0", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.max", - "typing_RBTreeIntrinsic.mem", "typing_RBTreeIntrinsic.min", - "typing_RBTreeIntrinsic.uu___is_Leaf", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" - ], - 0, - "58e1bcdc1f0461e12bb883542b84682b" - ], - [ - "RBTreeIntrinsic.mem_to_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_197d8f43cb4e68ec15637bd9fe3610e9_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.atMost", "equation_RBTreeIntrinsic.max", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.atMost", "typing_RBTreeIntrinsic.max", - "typing_RBTreeIntrinsic.mem", "typing_RBTreeIntrinsic.uu___is_Leaf", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "71f7546e1d2dab9ee1d72b422dc5b250" - ], - [ - "RBTreeIntrinsic.mem_to_min", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_197d8f43cb4e68ec15637bd9fe3610e9_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.Leaf", - "data_elim_RBTreeIntrinsic.R", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.atLeast", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.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", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.mem", - "typing_RBTreeIntrinsic.min", "typing_RBTreeIntrinsic.uu___is_Leaf", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "baeab89b649b1f605719c4339e7e9489" - ], - [ - "RBTreeIntrinsic.almostNode_mem_to_max", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.V", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.LR", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Black@tok", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_max", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.atMost", "equation_RBTreeIntrinsic.max", - "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.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_max", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.atMost", "typing_RBTreeIntrinsic.max", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_tok_RBTreeIntrinsic.Black@tok" - ], - 0, - "d948c49365d6e6fee6416a9d56557af7" - ], - [ - "RBTreeIntrinsic.almostNode_mem_to_min", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.V", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.LR", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Black@tok", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.almostNode_min", - "equation_RBTreeIntrinsic.atLeast", "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.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.almostNode_min", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.min", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok" - ], - 0, - "b91d380ea42718a4ea84c6eab0947af1" - ], - [ - "RBTreeIntrinsic.hiddenTree_mem_to_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "equation_RBTreeIntrinsic.hiddenTree_max", - "equation_RBTreeIntrinsic.hiddenTree_mem", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_RBTreeIntrinsic.hiddenTree_mem" - ], - 0, - "97715de1dbe68b730cc94b9c08bf6842" - ], - [ - "RBTreeIntrinsic.hiddenTree_mem_to_min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.HR", "disc_equation_RBTreeIntrinsic.HB", - "disc_equation_RBTreeIntrinsic.HR", "equation_Prims.nat", - "equation_RBTreeIntrinsic.hiddenTree_mem", - "equation_RBTreeIntrinsic.hiddenTree_min", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_RBTreeIntrinsic.hiddenTree_mem" - ], - 0, - "43838da726360a87f9ef7e027945f44d" - ], - [ - "RBTreeIntrinsic.ins_max", - 1, - 2, - 1, - [ "@query" ], - 0, - "e8ae877d8f09f2bbb7e8a7453bee980a" - ], - [ - "RBTreeIntrinsic.ins_min", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.atLeast", "equation_RBTreeIntrinsic.max", - "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.max", - "typing_RBTreeIntrinsic.min", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "65dbde61fc845b106adf5a91c1ea3328" - ], - [ - "RBTreeIntrinsic.insB_max", - 1, - 2, - 1, - [ "@query" ], - 0, - "b5630054061df2243d6719538e882767" - ], - [ - "RBTreeIntrinsic.insB_min", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTreeIntrinsic.Black", - "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", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "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__", - "int_inversion", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "typing_RBTreeIntrinsic.atLeast", - "typing_RBTreeIntrinsic.hiddenTree_mem", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "b34c11e83c249cf4f700f26bc2652a4c" - ], - [ - "RBTreeIntrinsic.balanceLB_preserves_sort", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "92c8d95d0f5ae5c8e22c3bbb09486b96" - ], - [ - "RBTreeIntrinsic.balanceLB_preserves_sort", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "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", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "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.LR", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Leaf@tok", - "data_typing_intro_RBTreeIntrinsic.Red@tok", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_max", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_RBTreeIntrinsic.balanceLB", - "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_RBTreeIntrinsic.max", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_max", - "typing_RBTreeIntrinsic.almostNode_sorted", - "typing_RBTreeIntrinsic.balanceLB", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", - "typing_RBTreeIntrinsic.reduceNode", "typing_RBTreeIntrinsic.sorted", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_typing" - ], - 0, - "0370177d39ca7a8b20ddcf1321c6c79b" - ], - [ - "RBTreeIntrinsic.balanceRB_preserves_sort", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a5d438c867a7c25420368e25f3a170f0" - ], - [ - "RBTreeIntrinsic.balanceRB_preserves_sort", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_RBTreeIntrinsic.HB", "data_elim_RBTreeIntrinsic.HR", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.R", - "data_elim_RBTreeIntrinsic.RR", "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "data_typing_intro_RBTreeIntrinsic.Black@tok", - "data_typing_intro_RBTreeIntrinsic.Red@tok", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_min", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_RBTreeIntrinsic.balanceRB", - "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_RBTreeIntrinsic.max", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "interpretation_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_min", - "typing_RBTreeIntrinsic.almostNode_sorted", - "typing_RBTreeIntrinsic.balanceRB", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", - "typing_RBTreeIntrinsic.sorted", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "46b9ee2881f8edb74d18cb3abe1d9d9a" - ], - [ - "RBTreeIntrinsic.balanceLR_preserves_sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", "bool_typing", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.V", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.LR", "data_elim_RBTreeIntrinsic.R", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_RBTreeIntrinsic.balanceLR", - "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_max", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.balanceLR", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_max", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.min", "typing_RBTreeIntrinsic.sorted", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "b2df6816edbde73644785d9891b0e004" - ], - [ - "RBTreeIntrinsic.balanceRR_preserves_sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", "bool_typing", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.V", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HB", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RR", - "data_elim_RBTreeIntrinsic.V", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_RBTreeIntrinsic.balanceRR", - "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_min", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.balanceRR", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_min", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.sorted", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "b90a21f03030650c1c9aa3684ff583ae" - ], - [ - "RBTreeIntrinsic.ins_preserves_sort", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_3", - "binder_x_197d8f43cb4e68ec15637bd9fe3610e9_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.V", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.B", - "data_elim_RBTreeIntrinsic.Leaf", "data_elim_RBTreeIntrinsic.R", - "data_typing_intro_RBTreeIntrinsic.R@tok", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_min", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_RBTreeIntrinsic.atLeast", - "equation_RBTreeIntrinsic.atMost", - "equation_RBTreeIntrinsic.balanceRB", - "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_max", - "equation_RBTreeIntrinsic.hiddenTree_min", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_RBTreeIntrinsic.max", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.ins.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.hiddenTree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_c", - "projection_inverse_RBTreeIntrinsic.V_h", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_max", - "typing_RBTreeIntrinsic.almostNode_min", - "typing_RBTreeIntrinsic.almostNode_sorted", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.atMost", - "typing_RBTreeIntrinsic.balanceLB", - "typing_RBTreeIntrinsic.balanceLR", - "typing_RBTreeIntrinsic.balanceRB", - "typing_RBTreeIntrinsic.balanceRR", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_max", - "typing_RBTreeIntrinsic.hiddenTree_min", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.insB", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", - "typing_RBTreeIntrinsic.sorted", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" - ], - 0, - "c76917c8b57d75e679c5402a945fe7a3" - ], - [ - "RBTreeIntrinsic.ins_preserves_sort", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "binder_x_659549803de9c4ea0d4b062cdbf3fc8e_2", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.HB", - "constructor_distinct_RBTreeIntrinsic.HR", - "constructor_distinct_RBTreeIntrinsic.Leaf", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.Red", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.HR", - "data_elim_RBTreeIntrinsic.Leaf", "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_max", - "equation_RBTreeIntrinsic.almostNode_min", - "equation_RBTreeIntrinsic.atLeast", - "equation_RBTreeIntrinsic.atMost", "equation_RBTreeIntrinsic.chain", - "equation_RBTreeIntrinsic.hiddenTree_sorted", - "equation_RBTreeIntrinsic.max", "equation_RBTreeIntrinsic.min", - "equation_with_fuel_RBTreeIntrinsic.insB.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.reduceNode.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.HB_h", - "projection_inverse_RBTreeIntrinsic.HB_node", - "projection_inverse_RBTreeIntrinsic.HR_h", - "projection_inverse_RBTreeIntrinsic.HR_node", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_RBTreeIntrinsic.B", - "token_correspondence_RBTreeIntrinsic.insB.fuel_instrumented", - "token_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "typing_RBTreeIntrinsic.almostNode_max", - "typing_RBTreeIntrinsic.almostNode_min", - "typing_RBTreeIntrinsic.atLeast", "typing_RBTreeIntrinsic.atMost", - "typing_RBTreeIntrinsic.balanceLB", - "typing_RBTreeIntrinsic.balanceRB", "typing_RBTreeIntrinsic.chain", - "typing_RBTreeIntrinsic.hiddenTree_sorted", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.insB", - "typing_RBTreeIntrinsic.max", "typing_RBTreeIntrinsic.min", - "typing_RBTreeIntrinsic.sorted", - "typing_Tm_abs_b3a1c8937547629a64f86d3ca2fb0f30", - "typing_Tm_abs_db6a749ea344725389e9e35afc5c46c3", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok", - "typing_tok_RBTreeIntrinsic.Red@tok", "unit_inversion", "unit_typing" - ], - 0, - "551997d1aef8740813d89f59c7c75ef3" - ], - [ - "RBTreeIntrinsic.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.LR", - "constructor_distinct_RBTreeIntrinsic.R", - "constructor_distinct_RBTreeIntrinsic.RR", - "constructor_distinct_RBTreeIntrinsic.Red", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.LR", - "data_elim_RBTreeIntrinsic.R", "data_elim_RBTreeIntrinsic.RBTree", - "data_elim_RBTreeIntrinsic.RR", - "data_typing_intro_RBTreeIntrinsic.B@tok", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.LR", - "disc_equation_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.RR", - "disc_equation_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_sorted", - "equation_with_fuel_RBTreeIntrinsic.ins.fuel_instrumented", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbtree", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_RBTreeIntrinsic.RBTree_h", - "proj_equation_RBTreeIntrinsic.RBTree_root", - "proj_equation_RBTreeIntrinsic.V_c", - "proj_equation_RBTreeIntrinsic.V_h", - "proj_equation_RBTreeIntrinsic.V_node", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.LR_cR", - "projection_inverse_RBTreeIntrinsic.LR_h", - "projection_inverse_RBTreeIntrinsic.LR_left", - "projection_inverse_RBTreeIntrinsic.LR_right", - "projection_inverse_RBTreeIntrinsic.LR_value", - "projection_inverse_RBTreeIntrinsic.RR_cL", - "projection_inverse_RBTreeIntrinsic.RR_h", - "projection_inverse_RBTreeIntrinsic.RR_left", - "projection_inverse_RBTreeIntrinsic.RR_right", - "projection_inverse_RBTreeIntrinsic.RR_value", - "projection_inverse_RBTreeIntrinsic.R_h", - "projection_inverse_RBTreeIntrinsic.R_left", - "projection_inverse_RBTreeIntrinsic.R_right", - "projection_inverse_RBTreeIntrinsic.R_value", - "projection_inverse_RBTreeIntrinsic.V_node", - "refinement_interpretation_Tm_refine_310553a2d65878852040d57cc15f2624", - "refinement_interpretation_Tm_refine_49e2e58859b46845e1a0e06374123d83", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f037a5ff30b5f1f597f98c66643d41bf", - "typing_RBTreeIntrinsic.__proj__RBTree__item__h", - "typing_RBTreeIntrinsic.__proj__RBTree__item__root", - "typing_RBTreeIntrinsic.__proj__V__item__c", - "typing_RBTreeIntrinsic.__proj__V__item__node", - "typing_RBTreeIntrinsic.almostNode_sorted", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.sorted", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "96c72af5cf78165bb61395e442976617" - ], - [ - "RBTreeIntrinsic.insert_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.ins.fuel_instrumented", - "@fuel_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "@fuel_irrelevance_RBTreeIntrinsic.mem.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RBTreeIntrinsic_pretyping_197d8f43cb4e68ec15637bd9fe3610e9", - "RBTreeIntrinsic_pretyping_fed7747e90396fc45590696790587c1e", - "bool_inversion", "bool_typing", - "constructor_distinct_RBTreeIntrinsic.B", - "constructor_distinct_RBTreeIntrinsic.Black", - "constructor_distinct_RBTreeIntrinsic.Red", - "constructor_distinct_Tm_unit", "data_elim_RBTreeIntrinsic.B", - "data_elim_RBTreeIntrinsic.V", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Red@tok", "equation_Prims.nat", - "equation_RBTreeIntrinsic.almostNode_mem", - "equation_RBTreeIntrinsic.insert", - "equation_with_fuel_RBTreeIntrinsic.mem.fuel_instrumented", - "fuel_guarded_inversion_RBTreeIntrinsic.almostNode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", - "fuel_guarded_inversion_RBTreeIntrinsic.rbtree", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_RBTreeIntrinsic.RBTree_h", - "proj_equation_RBTreeIntrinsic.RBTree_root", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RBTreeIntrinsic.B_cl", - "projection_inverse_RBTreeIntrinsic.B_cr", - "projection_inverse_RBTreeIntrinsic.B_h", - "projection_inverse_RBTreeIntrinsic.B_left", - "projection_inverse_RBTreeIntrinsic.B_right", - "projection_inverse_RBTreeIntrinsic.B_value", - "projection_inverse_RBTreeIntrinsic.RBTree_h", - "projection_inverse_RBTreeIntrinsic.RBTree_root", - "refinement_interpretation_Tm_refine_310553a2d65878852040d57cc15f2624", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_RBTreeIntrinsic.mem.fuel_instrumented", - "typing_RBTreeIntrinsic.__proj__RBTree__item__h", - "typing_RBTreeIntrinsic.__proj__RBTree__item__root", - "typing_RBTreeIntrinsic.almostNode_mem", - "typing_RBTreeIntrinsic.ins", "typing_RBTreeIntrinsic.insert", - "typing_RBTreeIntrinsic.mem", "typing_RBTreeIntrinsic.sorted", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Red@tok" - ], - 0, - "fd5dc45480f70f2588f72b0f856aefae" - ], - [ - "RBTreeIntrinsic.repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "d2833e242254611db1de4053d52a0b95" - ], - [ - "RBTreeIntrinsic.node_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_RBTreeIntrinsic.Black", - "disc_equation_RBTreeIntrinsic.Red", - "fuel_guarded_inversion_RBTreeIntrinsic.color", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "05db38a2d73dce083c2cac2ea61b5b6e" - ], - [ - "RBTreeIntrinsic.rbnode_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_070b4a576039e8a34d0ef8c375f58d32_4", - "binder_x_8398694cd93cdf584a90faddba74ff40_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "data_elim_RBTreeIntrinsic.B", "data_elim_RBTreeIntrinsic.R", - "disc_equation_RBTreeIntrinsic.B", - "disc_equation_RBTreeIntrinsic.Leaf", - "disc_equation_RBTreeIntrinsic.R", - "equality_tok_RBTreeIntrinsic.Black@tok", "equation_Prims.nat", - "fuel_guarded_inversion_RBTreeIntrinsic.rbnode", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "subterm_ordering_RBTreeIntrinsic.B", - "subterm_ordering_RBTreeIntrinsic.R" - ], - 0, - "971bd258c2e2700009a69ca0701077fd" - ], - [ - "RBTreeIntrinsic.rbtree_to_string", - 1, - 2, - 1, - [ "@query" ], - 0, - "2e037ca5b1c17f264bfb7522ffce9c95" - ], - [ - "RBTreeIntrinsic.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RBTreeIntrinsic.sorted.fuel_instrumented", - "@query", "constructor_distinct_RBTreeIntrinsic.Leaf", - "equality_tok_RBTreeIntrinsic.Black@tok", - "equality_tok_RBTreeIntrinsic.Leaf@tok", "equation_Prims.nat", - "equation_with_fuel_RBTreeIntrinsic.sorted.fuel_instrumented", - "int_typing", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_tok_RBTreeIntrinsic.Black@tok", - "typing_tok_RBTreeIntrinsic.Leaf@tok" - ], - 0, - "84665505e8ed9e3b80a415847dd55b29" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/StatefulLens.fst.hints b/examples/data_structures/StatefulLens.fst.hints deleted file mode 100644 index f017b83985c..00000000000 --- a/examples/data_structures/StatefulLens.fst.hints +++ /dev/null @@ -1,298 +0,0 @@ -[ - "ÁsÓ$YÅ\be6\u0011ˆÞ…¹J\u0006", - [ - [ - "StatefulLens.compose_stlens", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_StatefulLens.compose_hlens", - "fuel_guarded_inversion_StatefulLens.hlens", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" - ], - 0, - "329a5b9ede7f0e41b901c44ab8eae5e8" - ], - [ - "StatefulLens.as_stlens", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_StatefulLens.as_hlens", - "fuel_guarded_inversion_Lens.lens", - "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", - "interpretation_Tm_abs_67044bd756546113eab810f29d691656", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" - ], - 0, - "eac9f0132d6fb6a7859962dea02d21cb" - ], - [ - "StatefulLens.stlens_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_StatefulLens.hlens_ref", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "79e71b0899701ca3a3969f3a97995a9c" - ], - [ - "StatefulLens.test0", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ST.ref", - "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", - "proj_equation_StatefulLens.Mkhlens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get" - ], - 0, - "3eef8502745b6d08acf328ce1dd7ed99" - ], - [ - "StatefulLens.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.ST.mref", "typing_Prims.int" - ], - 0, - "38bb62470a226985ae8d34a1280bf081" - ], - [ - "StatefulLens.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.ST.mref", "typing_Prims.int" - ], - 0, - "7ebeb4f543361dadc8e1282e940f79a5" - ], - [ - "StatefulLens.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "refinement_interpretation_Tm_refine_2a4aff828cfe8cabe6c5d05bc88b6088", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.ST.mref", "typing_Prims.int" - ], - 0, - "874bdc73f91d2c12e6427ea6aa3a1a25" - ], - [ - "StatefulLens.move_x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", "equation_FStar.ST.ref", - "equation_Lens.op_Bar_Colon_Equals", "equation_Lens.op_Bar_Dot", - "equation_Lens.op_String_Access", - "equation_Lens.op_String_Assignment", - "equation_StatefulLens.as_hlens", "equation_StatefulLens.center", - "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", - "equation_StatefulLens.op_Array_Access", - "equation_StatefulLens.op_Array_Assignment", - "equation_StatefulLens.x", - "fuel_guarded_inversion_StatefulLens.circle", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_1256fa2ccc4c41723429bd87797d151c", - "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", - "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", - "interpretation_Tm_abs_67044bd756546113eab810f29d691656", - "interpretation_Tm_abs_75f91c1b4f08d624c8341c967bb881e0", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Lens.Mklens_get", "proj_equation_Lens.Mklens_put", - "proj_equation_StatefulLens.Mkcircle_center", - "proj_equation_StatefulLens.Mkcircle_radius", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Lens.Mklens_get", - "projection_inverse_Lens.Mklens_put", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "token_correspondence_Lens.__proj__Mklens__item__get", - "token_correspondence_Lens.__proj__Mklens__item__put", - "token_correspondence_Lens.op_Bar_Colon_Equals", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" - ], - 0, - "e00f3cd3bdb19b65b17d528b7f52ec55" - ], - [ - "StatefulLens.move_x2", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ST.ref", - "equation_Lens.op_Bar_Colon_Equals", "equation_Lens.op_Bar_Dot", - "equation_Lens.op_String_Access", - "equation_Lens.op_String_Assignment", - "equation_StatefulLens.as_hlens", "equation_StatefulLens.center", - "equation_StatefulLens.compose_hlens", - "equation_StatefulLens.hlens_ref", "equation_StatefulLens.x", - "interpretation_Tm_abs_106f73abf9d4751ff515c66ee21e5216", - "interpretation_Tm_abs_2a3edf4b01e4f2bd197952ce921068e0", - "interpretation_Tm_abs_4c574a44c59a8826c9f20f8889049f16", - "interpretation_Tm_abs_67044bd756546113eab810f29d691656", - "interpretation_Tm_abs_6fa1761532061cff8000658ed76d6d8c", - "interpretation_Tm_abs_75f91c1b4f08d624c8341c967bb881e0", - "interpretation_Tm_abs_7ce64cbdc33523e52445d94bdd42f107", - "interpretation_Tm_abs_9f4f7acfd7a439677b2ba928cc1d7220", - "interpretation_Tm_abs_e775c6111ea25fcdc9dbe08c104fef8c", - "interpretation_Tm_abs_eb58a5c7378d916320d8f69adb3470f7", - "primitive_Prims.op_Addition", "proj_equation_Lens.Mklens_get", - "proj_equation_Lens.Mklens_put", - "proj_equation_StatefulLens.Mkhlens_get", - "proj_equation_StatefulLens.Mkhlens_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Lens.Mklens_get", - "projection_inverse_Lens.Mklens_put", - "projection_inverse_StatefulLens.Mkhlens_get", - "projection_inverse_StatefulLens.Mkhlens_put", - "token_correspondence_Lens.__proj__Mklens__item__get", - "token_correspondence_Lens.__proj__Mklens__item__put", - "token_correspondence_Lens.op_Bar_Colon_Equals", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__get", - "token_correspondence_StatefulLens.__proj__Mkhlens__item__put" - ], - 0, - "1c7468f79dcbc63e0357fcb8f9eeceeb" - ] - ] -] \ No newline at end of file diff --git a/examples/data_structures/Vector.fst.hints b/examples/data_structures/Vector.fst.hints deleted file mode 100644 index 25995dccb7a..00000000000 --- a/examples/data_structures/Vector.fst.hints +++ /dev/null @@ -1,302 +0,0 @@ -[ - "Ž#\u0013¶Ý\u00167ÌÖÏÃ÷®DV%", - [ - [ - "Vector.vector", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b7e656a10ccdb481e1f456b93217e578" - ], - [ - "Vector.vector", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "23fcab68a0c68eeb111fcfe8ab518f4f" - ], - [ - "Vector.__proj__VCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" - ], - 0, - "99bc27ffedfe51fcb2bf06c4ccbbcfa0" - ], - [ - "Vector.__proj__VCons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" - ], - 0, - "a555a32c1530b3546f03446d4db1b455" - ], - [ - "Vector.__proj__VCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Vector.VCons", - "refinement_interpretation_Tm_refine_a4e93483662b42a2216eccfd8e27a9c0" - ], - 0, - "610dd59d82d6227a1d9299b78f6bf5a6" - ], - [ - "Vector.head", - 1, - 2, - 1, - [ "@query" ], - 0, - "378e188330b24c9d39fadea4b7bd6220" - ], - [ - "Vector.head", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Vector.VCons", - "equation_Prims.pos", "fuel_guarded_inversion_Vector.vector", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bd117a2f60c31352e6c447c3495c0313" - ], - [ - "Vector.head", - 3, - 2, - 1, - [ "@query" ], - 0, - "d7b8345c9fbd3a8aba18fbdaafa11e3a" - ], - [ - "Vector.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_21c13f6456e3f350b125d9f794dd3770_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_dea256e7a41198c89ed07f42894c7b2b_3", - "disc_equation_Vector.VCons", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Vector.VCons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cd73fa2255f8011c45dec35de340a3ae", - "well-founded-ordering-on-nat" - ], - 0, - "da72a6ad7d6dc88cccfc7feda0ba795e" - ], - [ - "Vector.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "48785a5dce4de2200f74be942d936d24" - ], - [ - "Vector.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_1fd74c304e163c0d8adcb88881fe80b8_5", - "binder_x_2ca789102088f52029182cc0ebc25e49_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "data_elim_Vector.VCons", "data_elim_Vector.VNil", - "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", - "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "bd43810b77c829e42b2a9ccd5411d10a" - ], - [ - "Vector.append", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4bb5482dfa0d205f6410594422c8cee7" - ], - [ - "Vector.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2ca789102088f52029182cc0ebc25e49_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", - "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", - "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "b889caa72f298c8f0754c6169d140ad5" - ], - [ - "Vector.mapT", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_f2a82419b48cea016cad98171080844c_6", - "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", - "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", - "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "2809f7650fce9453a221c73db97f1a0a" - ], - [ - "Vector.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_048405c135c47e66b2f031213c846802_7", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_6", - "data_elim_Vector.VCons", "disc_equation_Vector.VCons", - "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "73c6b93b5b09bde8866ac8e6eef8df45" - ], - [ - "Vector.fold_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_f2a82419b48cea016cad98171080844c_6", - "data_elim_Vector.VCons", "disc_equation_Vector.VCons", - "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "b5d06b650c26d0cb2a2acd3b64d01363" - ], - [ - "Vector.find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_1fd74c304e163c0d8adcb88881fe80b8_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "data_elim_Vector.VCons", "disc_equation_Vector.VCons", - "disc_equation_Vector.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_Vector.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "5e0644991343f3c0867a61b48a9b6829" - ], - [ - "Vector.zip'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_49f7eb260f7789f18adb7dbb2ba714df_5", - "binder_x_b22ffd3ae8bcda01839665f8319f8020_6", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "constructor_distinct_Vector.VNil", "data_elim_Vector.VCons", - "disc_equation_Vector.VCons", "disc_equation_Vector.VNil", - "equation_Prims.nat", "fuel_guarded_inversion_Vector.vector", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Vector.VCons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "3b03bbc09a967d91723fec23d94db218" - ] - ] -] \ 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 deleted file mode 100644 index 74f414a308e..00000000000 --- a/examples/demos/low-star/Demo.Deps.fst.hints +++ /dev/null @@ -1,225 +0,0 @@ -[ - "^êo``å÷‰•õõ\u0016Â%•Ü", - [ - [ - "Demo.Deps.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.buffer", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "229c3d0a57e800c2da644c814c65ddec" - ], - [ - "Demo.Deps.op_Array_Access", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Demo.Deps.buffer", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "bb24cc68c6140271e661e301d5197916" - ], - [ - "Demo.Deps.op_Array_Assignment", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Demo.Deps.buffer", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "refinement_interpretation_Tm_refine_a021280783240e18127b965f25ba534e", - "true_interp", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "420f520efa246a9bbf20f70d3a701651" - ], - [ - "Demo.Deps.suffix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Demo.Deps.buffer", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_145526a5766ee9986da88e2775de763f", - "refinement_interpretation_Tm_refine_45ddb0b3d669562eccc5dd636cde2d54", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "9eafd019aaf3cffd699b193e2d865557" - ], - [ - "Demo.Deps.prefix_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "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", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_680e8ebfdefb6b28704a14e88be880b0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "b14294c6acc3cb2bc991728f61c34ca8" - ], - [ - "Demo.Deps.op_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a" - ], - 0, - "1d1dcb33007ea93e481630b45c7321a7" - ], - [ - "Demo.Deps.op_Subtraction", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96104f38e479f81983a3384aab04876a" - ], - 0, - "36d923048be5b565bfc462b2e60ab43e" - ], - [ - "Demo.Deps.malloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Demo.Deps.lbuffer", - "equation_FStar.UInt.lte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00516ea0af0c597b6ba2424073cabe68", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "51de2358982a7540347ec95909fbd9ee" - ], - [ - "Demo.Deps.free", - 1, - 2, - 1, - [ "@query" ], - 0, - "8221405f7702af53106e8caedee93254" - ], - [ - "Demo.Deps.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_Demo.Deps.buffer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_157c679ca9d51cc9bb422f031a12b500", - "refinement_interpretation_Tm_refine_5f27fd9d836aef6bcdfe2a26b302c4ff", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "c69f0a462cd1d36a9c9dcbfb1b32663a" - ] - ] -] \ No newline at end of file diff --git a/examples/demos/low-star/Demo.fst.hints b/examples/demos/low-star/Demo.fst.hints deleted file mode 100644 index 97383a7d486..00000000000 --- a/examples/demos/low-star/Demo.fst.hints +++ /dev/null @@ -1,239 +0,0 @@ -[ - "îWbúºwlPX&2^\u001aôTÝ", - [ - [ - "Demo.copy2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.uint32", - "equation_Demo.Deps.uint8", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b98458e590bf9327237efe6f555816d6", - "refinement_interpretation_Tm_refine_ed0bc2212997878576a8c981e077e605", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "e0fc6c533c6c7531b2695133fc5ff6d5" - ], - [ - "Demo.copy3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Demo.Deps.lbuffer", - "equation_Demo.Deps.op_Plus", "equation_Demo.Deps.uint32", - "equation_Demo.Deps.uint8", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a04239b599186c7dcb89492534ee2f1", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_680e8ebfdefb6b28704a14e88be880b0", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_b98458e590bf9327237efe6f555816d6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "cf0540a093caaa4c5f5179c86538b0aa" - ], - [ - "Demo.memcpy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Demo.Deps.lbuffer", - "equation_Demo.Deps.op_Plus", "equation_Demo.Deps.prefix_equal", - "equation_Demo.Deps.uint32", "equation_Demo.Deps.uint8", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a04239b599186c7dcb89492534ee2f1", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_680e8ebfdefb6b28704a14e88be880b0", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8a08d239cd4502ce91b9e057c5774297", - "refinement_interpretation_Tm_refine_b66f9ed10330b8ee9e273c1dc0d4cdb2", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "f4d1cf2ec665f065f8ab7aa53fc83597" - ], - [ - "Demo.malloc_copy_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Demo.Deps.get", - "equation_Demo.Deps.lbuffer", "equation_Demo.Deps.prefix_equal", - "equation_Demo.Deps.uint32", "equation_Demo.Deps.uint8", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c09d3711d3dfdbaddf785d913f9f72b", - "refinement_interpretation_Tm_refine_cbd2b844849b7666718bb12edf3ffcff", - "refinement_interpretation_Tm_refine_d54fa3341a5e14360f0547e40ba0436a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.singleton", "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_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "e1a5c7bf799c647339c028efeb2dee15" - ] - ] -] \ No newline at end of file diff --git a/examples/dependencies/Makefile b/examples/dependencies/Makefile index bc31eda886a..9139c4081ab 100644 --- a/examples/dependencies/Makefile +++ b/examples/dependencies/Makefile @@ -6,6 +6,11 @@ FSTAR_EXE ?= $(shell which fstar.exe) V != $(FSTAR_EXE) --version +HAS_OCAML := $(shell which ocamlfind 2>/dev/null) +# NB: This is overriden (to empty) when testing the binary package +# so we skip the build test. (Variables given in the command line, not +# the environment, override those defined in the script.) + ifeq ($(V),) $(error "fstar.exe --version failed... place a valid F* in your PATH or set FSTAR_EXE") endif @@ -15,14 +20,12 @@ CACHE_DIR = cache ROOTS = Test.fst FSTAR_FLAGS = $(OTHERFLAGS) --cmi --odir $(OUT_DIR) --cache_dir $(CACHE_DIR) \ - --cache_checked_modules --already_cached 'Prims FStar' - -# Run with ENABLE_HINTS= to disable -ENABLE_HINTS ?= --use_hints + --cache_checked_modules --already_cached 'Prims FStar' --z3version 4.13.3 \ + --ext context_pruning FSTAR = $(FSTAR_EXE) $(FSTAR_FLAGS) -.PHONY: all test clean +.PHONY: all test clean run all: rm -f .depend && $(MAKE) .depend # Always re-generate dependencies @@ -38,7 +41,7 @@ all: include .depend $(CACHE_DIR)/%.checked: - $(FSTAR) $< $(ENABLE_HINTS) --hint_file $(HINT_DIR)/$(notdir $<).hints && \ + $(FSTAR) $< && \ touch $@ # 2. Compile all .ml files to .cmx and link them to get an executable @@ -54,7 +57,14 @@ $(OUT_DIR)/%.ml: $(OUT_DIR)/test.exe: $(subst .ml,.cmx,$(ALL_ML_FILES)) | $(OUT_DIR) $(FSTAR_EXE) --ocamlopt -I $(OUT_DIR) -o $(OUT_DIR)/test.exe $(subst .ml,.cmx,$(ALL_ML_FILES)) -test: $(OUT_DIR)/test.exe +# If we don't have OCaml, just extract the ML files. +ifneq (,$(HAS_OCAML)) +test: run +else +test: $(ALL_ML_FILES) +endif + +run: $(OUT_DIR)/test.exe $(OUT_DIR)/test.exe clean: diff --git a/examples/dependencies/Message.fst.hints b/examples/dependencies/Message.fst.hints deleted file mode 100644 index 7bebaf0ec11..00000000000 --- a/examples/dependencies/Message.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "kRË\b\u0010å\u0006ÄHÄëùä}A¬", [] ] \ No newline at end of file diff --git a/examples/dependencies/Test.fst.hints b/examples/dependencies/Test.fst.hints deleted file mode 100644 index b31e93550ba..00000000000 --- a/examples/dependencies/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "• O>°\u0017µ{¼\u0018€¨ÌÔ\u0001", [] ] \ No newline at end of file diff --git a/examples/dm4free/DelimCC.fst.hints b/examples/dm4free/DelimCC.fst.hints deleted file mode 100644 index 3731d327c16..00000000000 --- a/examples/dm4free/DelimCC.fst.hints +++ /dev/null @@ -1,121 +0,0 @@ -[ - "o§|©lß\u00123i×Ýàwœ®©", - [ - [ - "DelimCC.right_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k", - "equation_DelimCC.kont", "equation_DelimCC.return_k", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", - "interpretation_Tm_abs_aad36e2eedb2945785e00c618a25bba1", - "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547", - "refinement_interpretation_Tm_refine_84bbb68e2555b186061c13809014564f", - "token_correspondence_DelimCC.return_k", - "typing_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" - ], - 0, - "069076ac78c3ea44e40280d46768c335" - ], - [ - "DelimCC.left_unit", - 1, - 2, - 1, - [ - "@query", "equation_DelimCC.bind_k", "equation_DelimCC.return_k", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", - "interpretation_Tm_abs_aad36e2eedb2945785e00c618a25bba1", - "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" - ], - 0, - "4c462109bb398bc8b830a11eeb4cef81" - ], - [ - "DelimCC.associativity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k", - "equation_DelimCC.kont", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_1375cdca81f1057e5eda83d9ff43a016", - "interpretation_Tm_abs_8fb38370c43370cf173b331103352a1e", - "interpretation_Tm_abs_dbc241f45b0c6f5a341c51802caa5547", - "refinement_interpretation_Tm_refine_84bbb68e2555b186061c13809014564f", - "typing_Tm_abs_dbc241f45b0c6f5a341c51802caa5547" - ], - 0, - "e7651e6f84a144fb5e35ad2914905877" - ], - [ - "DelimCC.right_unit2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k2", - "equation_DelimCC.kont2", "equation_DelimCC.return_k2", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", - "interpretation_Tm_abs_1e3b98a86efe10c813341778f12f9d1b", - "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051", - "refinement_interpretation_Tm_refine_08d98d1a6a9f5eaedb943ec6a353e610", - "token_correspondence_DelimCC.return_k2", - "typing_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" - ], - 0, - "a75a0d0a261031418c7ab0ed98efe81a" - ], - [ - "DelimCC.left_unit2", - 1, - 2, - 1, - [ - "@query", "equation_DelimCC.bind_k2", "equation_DelimCC.return_k2", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", - "interpretation_Tm_abs_1e3b98a86efe10c813341778f12f9d1b", - "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" - ], - 0, - "f888ef173cd2798887c024ff22ebeaab" - ], - [ - "DelimCC.associativity2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_DelimCC.bind_k2", - "equation_DelimCC.kont2", - "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_0de330fc678989ce5861c85495562e0c", - "interpretation_Tm_abs_4e59e68fcdad5d80a4fa17c66d2981b9", - "interpretation_Tm_abs_a210d7a9f583a6ace87f21677d0e5051", - "refinement_interpretation_Tm_refine_08d98d1a6a9f5eaedb943ec6a353e610", - "typing_Tm_abs_a210d7a9f583a6ace87f21677d0e5051" - ], - 0, - "27536aea975d09f02aa36e873ec88216" - ], - [ - "DelimCC.left_unit3", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "interpretation_Tm_abs_dbdc705d0aa12bf03732867b4b6d0795" - ], - 0, - "fa2021e5d4bd9eab9b47d12c83954563" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/DelimitedRelease.fst.hints b/examples/dm4free/DelimitedRelease.fst.hints deleted file mode 100644 index 76c663a5f3b..00000000000 --- a/examples/dm4free/DelimitedRelease.fst.hints +++ /dev/null @@ -1,93 +0,0 @@ -[ - "¯Nµ\u0005)ä%Í7Éž½\b‡\u0015r", - [ - [ - "DelimitedRelease.wallet", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", - "primitive_Prims.op_Subtraction", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5966ed5c7c0da891973eb464f3b5ab25" - ], - [ - "DelimitedRelease.addr_set", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "98ee8eeac22007fb5cb5e9653e36837b" - ], - [ - "DelimitedRelease.delimited_release_wallet", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "DelimitedRelease_interpretation_Tm_arrow_d570ad90629fada2806f3c45692274c8", - "FStar.DM4F.Heap.ST.__proj__STATE__item__get_equality", - "FStar.DM4F.Heap.ST.__proj__STATE__item__put_equality", - "FStar.DM4F.Heap.ST_interpretation_Tm_arrow_3b04e6e179fe4fabe28fe13ac21d6cec", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_DelimitedRelease.heap_equiv_on", - "equation_DelimitedRelease.wallet", - "equation_FStar.DM4F.Heap.ST.op_Bang", - "equation_FStar.DM4F.Heap.ST.op_Colon_Equals", - "equation_FStar.DM4F.Heap.ST.read", - "equation_FStar.DM4F.Heap.ST.write", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_33ca3e15ccdbf81acba6953928f085d6", - "interpretation_Tm_abs_3956dcb22289b54ec1d7aa53012106c7", - "interpretation_Tm_abs_487b9a6200a4bf314d2acf58de7b1956", - "interpretation_Tm_abs_50147fa5577cdf7a53ba8185222c6f23", - "interpretation_Tm_abs_54607be58fc6e3b208e1951a532640c5", - "interpretation_Tm_abs_7c40d280a6f27d658cb5f54b6f9415cc", - "lemma_FStar.DM4F.Heap.contains_a_well_typed_implies_contains", - "lemma_FStar.DM4F.Heap.lemma_upd_tot_is_upd_if_contains_a_well_typed", - "lemma_FStar.DM4F.Heap.sel_upd1", "lemma_FStar.DM4F.Heap.sel_upd2", - "lemma_FStar.DM4F.Heap.upd_contains_a_well_typed", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_289855aa746535562d5330d01c24b5ff", - "refinement_interpretation_Tm_refine_33c56d04cd2b4870da0423961c379a8a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7cd218292925b043d2eb072e03408ed1", - "refinement_interpretation_Tm_refine_e825907ec337375c0fd1ce7edf286d4e", - "token_correspondence_FStar.DM4F.Heap.ST.op_Bang", - "token_correspondence_FStar.DM4F.Heap.ST.op_Colon_Equals", - "token_correspondence_FStar.DM4F.Heap.ST.read", - "token_correspondence_FStar.DM4F.Heap.ST.write", - "typing_DelimitedRelease.wallet", "typing_FStar.DM4F.Heap.ST.read", - "typing_FStar.DM4F.Heap.upd_tot", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "d9ee65c8824087a16be46f0d54040185" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/Effects.Def.fst.hints b/examples/dm4free/Effects.Def.fst.hints deleted file mode 100644 index 22f3e5467ba..00000000000 --- a/examples/dm4free/Effects.Def.fst.hints +++ /dev/null @@ -1,555 +0,0 @@ -[ - "”#\u0006ë™ìG‰¦Ô®x!Ýg¶", - [ - [ - "Effects.Def.eq_m_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Effects.Def.eq_m", - "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809" - ], - 0, - "784c787541df784a6212f0638f4ca38b" - ], - [ - "Effects.Def.monad_laws_via_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_e6dd8d368f8c55490d812218e3e78b9c", - "Effects.Def_interpretation_Tm_arrow_e9ffc6ced04f6112d664a374947b4d96", - "Effects.Def_interpretation_Tm_arrow_fe96ea64440933a872257514e1912843", - "equation_Effects.Def.eq_m", - "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809", - "typing_Tm_abs_ee660f2b85638cf061c69b2816eebf0d" - ], - 0, - "74966ebc375c17740ab852f2bc2c27ba" - ], - [ - "Effects.Def.morphism_laws_via_eq", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_b81dcb0cda81affad1556177ae8ccf9d", - "Effects.Def_interpretation_Tm_arrow_e6dd8d368f8c55490d812218e3e78b9c", - "Effects.Def_interpretation_Tm_arrow_fe96ea64440933a872257514e1912843", - "equation_Effects.Def.eq_m", - "refinement_interpretation_Tm_refine_b3176bc22daa5f75e828106a6d5f3809", - "typing_Tm_abs_d4b5f561155658574710ba164cd23eaa" - ], - 0, - "927166cfe679bf4dcb53dfdb91624681" - ], - [ - "Effects.Def.st_laws", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_1a70d6c5e4ee4cace7c4c5c3f90e04af", - "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", - "Effects.Def_interpretation_Tm_arrow_d3d098969389a3d8a7f7c867d5e9e0e5", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Effects.Def.bind_st", "equation_Effects.Def.eq_st", - "equation_Effects.Def.return_st", "equation_Effects.Def.st", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Effects.Def.return_st", - "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", - "interpretation_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", - "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_Effects.Def.return_st", - "typing_Effects.Def.bind_st", "typing_Effects.Def.return_st", - "typing_Effects.Def.s", - "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "typing_Tm_abs_6688c1715d3866d623132ac48049f710", - "typing_Tm_abs_6e276e6036b3ca42976191fb20dc2de0", - "typing_Tm_abs_7345665be5303476d993b2031c6aee64" - ], - 0, - "0818ac0e5f7a256e0dc2f466c5c6fa56" - ], - [ - "Effects.Def.bind_ex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Effects.Def.ex", - "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "unit_typing" - ], - 0, - "1a1ae7d86296c4f232d3067ccb0ac0f1" - ], - [ - "Effects.Def.handle", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Effects.Def.ex", - "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "unit_typing" - ], - 0, - "0bed8591c19d5729e6d056e06d04020c" - ], - [ - "Effects.Def.ex_laws", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_5e8280ad68568d0585edd28dd6a1c752", - "Effects.Def_interpretation_Tm_arrow_984a19a60fd9544bcfdcca6f3d5e1aec", - "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", - "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "equation_Effects.Def.bind_ex", - "equation_Effects.Def.eq_ex", "equation_Effects.Def.ex", - "equation_Effects.Def.return_ex", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Effects.Def.return_ex", - "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", - "interpretation_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_Effects.Def.return_ex", - "typing_Effects.Def.bind_ex", "typing_Effects.Def.return_ex", - "typing_Prims.unit", - "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "typing_Tm_abs_38c407f146db79c6ce6b594856184661", - "typing_Tm_abs_8c987e28def9b9f879bc7a70e099ca04", - "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_inversion", - "unit_typing" - ], - 0, - "8e7c19d5609d68b6dc2417e6f0e3f240" - ], - [ - "Effects.Def.bind_stexn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_Effects.Def.stexn", - "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.s", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" - ], - 0, - "9ab115917c0d350466aa5700d9b1af7d" - ], - [ - "Effects.Def.stexn_laws", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", - "Effects.Def_interpretation_Tm_arrow_af8277ef7c68ab6a0c82bc76c29b73d6", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "Effects.Def_interpretation_Tm_arrow_fe9ef56a622273681d89085784d86ac3", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Effects.Def.bind_stexn", "equation_Effects.Def.eq_stexn", - "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Effects.Def.return_stexn", - "interpretation_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", - "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", - "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.bind_stexn", "typing_Effects.Def.return_stexn", - "typing_Effects.Def.s", - "typing_Tm_abs_44028d0eb6572bae46b560d96fc5ca62", - "typing_Tm_abs_835b6e711083710fc143b92142aea79f", - "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" - ], - 0, - "5f638ec6acdb858bf59d65296a19725b" - ], - [ - "Effects.Def.bind_exnst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_Effects.Def.exnst", - "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.s" - ], - 0, - "259cac79c75e384a9ce01f1fc73c7ec0" - ], - [ - "Effects.Def.exnst_laws", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_29be4c60ec52e48fb54888b18400fc3c", - "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", - "Effects.Def_interpretation_Tm_arrow_c9eb96bee06f9923b62e81f868b3e006", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "equation_Effects.Def.bind_exnst", "equation_Effects.Def.eq_exnst", - "equation_Effects.Def.exnst", "equation_Effects.Def.return_exnst", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Effects.Def.return_exnst", - "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "interpretation_Tm_abs_63683711129da19b02be62f765badcbd", - "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_Effects.Def.return_exnst", - "typing_Effects.Def.bind_exnst", "typing_Effects.Def.return_exnst", - "typing_Effects.Def.s", - "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "typing_Tm_abs_63683711129da19b02be62f765badcbd", - "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" - ], - 0, - "722326d7aff71ceee705a95d2f6de1ce" - ], - [ - "Effects.Def.morphism_lift_st_exn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", - "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Effects.Def.bind_st", "equation_Effects.Def.bind_stexn", - "equation_Effects.Def.eq_stexn", - "equation_Effects.Def.lift_st_stexn", - "equation_Effects.Def.return_st", - "equation_Effects.Def.return_stexn", "equation_Effects.Def.st", - "equation_Effects.Def.stexn", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "interpretation_Tm_abs_56291e5009c62e66a84d1246c31fb3df", - "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", - "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", - "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", - "interpretation_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", - "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.bind_st", "typing_Effects.Def.bind_stexn", - "typing_Effects.Def.lift_st_stexn", "typing_Effects.Def.return_st", - "typing_Effects.Def.return_stexn", "typing_Effects.Def.s", - "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "typing_Tm_abs_56291e5009c62e66a84d1246c31fb3df", - "typing_Tm_abs_6688c1715d3866d623132ac48049f710", - "typing_Tm_abs_7345665be5303476d993b2031c6aee64", - "typing_Tm_abs_835b6e711083710fc143b92142aea79f", - "typing_Tm_abs_af1d43723909de8ebd7134e7e4854fb0", - "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1" - ], - 0, - "69fa8b691ff6ee5795aa9372097b753d" - ], - [ - "Effects.Def.morphism_lift_ex_stexn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_961614b013f1fbd2e02780cfe663bc1d", - "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", - "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_stexn", - "equation_Effects.Def.eq_stexn", "equation_Effects.Def.ex", - "equation_Effects.Def.lift_ex_stexn", - "equation_Effects.Def.return_ex", - "equation_Effects.Def.return_stexn", "equation_Effects.Def.stexn", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", - "interpretation_Tm_abs_835b6e711083710fc143b92142aea79f", - "interpretation_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", - "interpretation_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "interpretation_Tm_abs_e8ad7833a38693f80f3d704edda3de54", - "interpretation_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_stexn", - "typing_Effects.Def.lift_ex_stexn", "typing_Effects.Def.return_ex", - "typing_Effects.Def.return_stexn", "typing_Effects.Def.s", - "typing_Prims.unit", - "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "typing_Tm_abs_38c407f146db79c6ce6b594856184661", - "typing_Tm_abs_835b6e711083710fc143b92142aea79f", - "typing_Tm_abs_8543a399b6321d6757eb4b8bdcba3520", - "typing_Tm_abs_d7e04c7ebd2e9fc6eb0a8c3ecc0ce4a6", - "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "typing_Tm_abs_e8ad7833a38693f80f3d704edda3de54", - "typing_Tm_abs_ffba1b074caa1b3d7d93e072f4b048c1", "unit_typing" - ], - 0, - "ef9ff6ba43b34b2d72fec52dd0210fdc" - ], - [ - "Effects.Def.morphism_lift_st_exnst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_4e24f4ac4c0750e2d01ce43cf9ba9616", - "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "equation_Effects.Def.bind_exnst", "equation_Effects.Def.bind_st", - "equation_Effects.Def.eq_exnst", "equation_Effects.Def.exnst", - "equation_Effects.Def.lift_st_exnst", - "equation_Effects.Def.return_exnst", - "equation_Effects.Def.return_st", "equation_Effects.Def.st", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", - "interpretation_Tm_abs_1c69d90c904296dcf458028f954e0d95", - "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "interpretation_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "interpretation_Tm_abs_6688c1715d3866d623132ac48049f710", - "interpretation_Tm_abs_7345665be5303476d993b2031c6aee64", - "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.bind_exnst", "typing_Effects.Def.bind_st", - "typing_Effects.Def.lift_st_exnst", - "typing_Effects.Def.return_exnst", "typing_Effects.Def.return_st", - "typing_Effects.Def.s", - "typing_Tm_abs_122f2e9e9c1172da0d13b0ae027f7952", - "typing_Tm_abs_1c69d90c904296dcf458028f954e0d95", - "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "typing_Tm_abs_43a53f97835fe53e3f595ab53542209b", - "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "typing_Tm_abs_6688c1715d3866d623132ac48049f710", - "typing_Tm_abs_7345665be5303476d993b2031c6aee64", - "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e" - ], - 0, - "add5c0a3b2c8f0fe6573b7cf519ddc34" - ], - [ - "Effects.Def.lift_ex_exnst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Effects.Def.ex", - "equation_FStar.FunctionalExtensionality.restricted_t", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "unit_typing" - ], - 0, - "02f1abf87626b248a3d5f74172ce4536" - ], - [ - "Effects.Def.morphism_lift_ex_exnst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Def_interpretation_Tm_arrow_94748afd819da1a0db5ba5301734cc0d", - "Effects.Def_interpretation_Tm_arrow_b9ff16838ca14be79c4714dd5f2c76fe", - "Effects.Def_interpretation_Tm_arrow_beff6337185eaab00048f2f84fb37f66", - "Effects.Def_interpretation_Tm_arrow_ebaa847bb129aceee62464db89ea0456", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "equation_Effects.Def.bind_ex", "equation_Effects.Def.bind_exnst", - "equation_Effects.Def.eq_exnst", "equation_Effects.Def.ex", - "equation_Effects.Def.exnst", "equation_Effects.Def.lift_ex_exnst", - "equation_Effects.Def.return_ex", - "equation_Effects.Def.return_exnst", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "interpretation_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "interpretation_Tm_abs_38c407f146db79c6ce6b594856184661", - "interpretation_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "interpretation_Tm_abs_794cecad87794e05ae3f64550a787c99", - "interpretation_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", - "interpretation_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", - "interpretation_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Effects.Def.bind_ex", "typing_Effects.Def.bind_exnst", - "typing_Effects.Def.lift_ex_exnst", "typing_Effects.Def.return_ex", - "typing_Effects.Def.return_exnst", "typing_Effects.Def.s", - "typing_Prims.unit", - "typing_Tm_abs_1c86076564049c378197cc26bfaf9f73", - "typing_Tm_abs_2a2ab791160cebf6b5de99241fca085d", - "typing_Tm_abs_38c407f146db79c6ce6b594856184661", - "typing_Tm_abs_58086ccc243ad6535255d786936f7c6c", - "typing_Tm_abs_794cecad87794e05ae3f64550a787c99", - "typing_Tm_abs_9ee9850fc31e2bef4c2e46d2906a0fb1", - "typing_Tm_abs_dcd39ed1aae2cd7ec1ebf9cd2a7c259e", - "typing_Tm_abs_df7c30730b8c980dfda2a82027d43a1c", "unit_typing" - ], - 0, - "a4008b67543ff73044256adad0d1b00b" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Continuations.fst.hints b/examples/dm4free/FStar.DM4F.Continuations.fst.hints deleted file mode 100644 index 50e9a72256a..00000000000 --- a/examples/dm4free/FStar.DM4F.Continuations.fst.hints +++ /dev/null @@ -1,79 +0,0 @@ -[ - "\u0006QÝÐ3Ôuv\u000b¾álB=Ý", - [ - [ - "FStar.DM4F.Continuations.__proj__L__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" - ], - 0, - "3d9dcbf9c82b106c9178676bcd5de26e" - ], - [ - "FStar.DM4F.Continuations.__proj__L__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" - ], - 0, - "cc5dec52300cfccb923dbaf3411dd35c" - ], - [ - "FStar.DM4F.Continuations.__proj__L__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.DM4F.Continuations.L", - "refinement_interpretation_Tm_refine_8445d79c1f764e59f2958fa0cdffa351" - ], - 0, - "3b48dcad797b7e71b944bf6cd9ac3e12" - ], - [ - "FStar.DM4F.Continuations.__proj__R__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" - ], - 0, - "0f4fb037b1cb2f923095e705c8ecaab4" - ], - [ - "FStar.DM4F.Continuations.__proj__R__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" - ], - 0, - "de935753909c1e0c6d9f75e410da6b92" - ], - [ - "FStar.DM4F.Continuations.__proj__R__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.DM4F.Continuations.R", - "refinement_interpretation_Tm_refine_a6a39bffc11b264d9749ffb3bf1e08d0" - ], - 0, - "09c42dd8d1c754825d5d27ada0de2cb5" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Exceptions.fst.hints b/examples/dm4free/FStar.DM4F.Exceptions.fst.hints deleted file mode 100644 index 2acb1b2c329..00000000000 --- a/examples/dm4free/FStar.DM4F.Exceptions.fst.hints +++ /dev/null @@ -1,126 +0,0 @@ -[ - "'j߯çMÖPL\u0013×\u0010â‡Ù”", - [ - [ - "FStar.DM4F.Exceptions.bind_ex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Exceptions_interpretation_Tm_arrow_72cdc0c9c0d847eb228998a5a6607da8", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.DM4F.Exceptions.ex", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0", "unit_typing" - ], - 0, - "a78080dea9b20d3dfaabe773661b8f24" - ], - [ - "FStar.DM4F.Exceptions.div_intrinsic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.DM4F.Exceptions.Division_by_zero", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Inr@tok", - "equality_tok_FStar.DM4F.Exceptions.Division_by_zero@tok", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Inl_v", - "projection_inverse_FStar.Pervasives.Inr_a", - "projection_inverse_FStar.Pervasives.Inr_b", - "projection_inverse_FStar.Pervasives.Inr_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.exn", "typing_Prims.int", - "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok" - ], - 0, - "e1ec1a90f86ace391b75e267fde6b4b6" - ], - [ - "FStar.DM4F.Exceptions.div_extrinsic", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "d5866fdadc75c9bad6469c83b60ba874" - ], - [ - "FStar.DM4F.Exceptions.lemma_div_extrinsic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.Exceptions.__proj__EXN__item__raise_equality", - "FStar.DM4F.Exceptions.__proj__EXN__item__raise_token_correspondence", - "FStar.DM4F.Exceptions_interpretation_Tm_arrow_1dfe2a01ee473137a9b5390d3c36eb97", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.DM4F.Exceptions.Division_by_zero", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "disc_equation_FStar.DM4F.Exceptions.Division_by_zero", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equality_tok_FStar.DM4F.Exceptions.Division_by_zero@tok", - "equation_FStar.DM4F.Exceptions.div_extrinsic", - "equation_FStar.DM4F.Exceptions.raise", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_5c6cfbc6e316b08c7e62522257bdc1a5", - "interpretation_Tm_abs_64200c495c053c32205dcfababcf728f", - "interpretation_Tm_abs_c7d6e1ed5cccce6d4089922183ea8d4f", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Inr_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Inl_v", - "projection_inverse_FStar.Pervasives.Inr_a", - "projection_inverse_FStar.Pervasives.Inr_b", - "projection_inverse_FStar.Pervasives.Inr_v", - "refinement_interpretation_Tm_refine_45169deb6dbf5ae881e96d5c771b782f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.DM4F.Exceptions.raise", - "typing_FStar.DM4F.Exceptions.div_extrinsic", - "typing_tok_FStar.DM4F.Exceptions.Division_by_zero@tok", - "unit_typing" - ], - 0, - "c99f2265be1a248fff21556c31289498" - ], - [ - "FStar.DM4F.Exceptions.raise_", - 1, - 2, - 1, - [ "@query" ], - 0, - "f1ba7150e60d30b0248467df4daf41df" - ], - [ - "FStar.DM4F.Exceptions.raise__", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Inr@tok", "typing_Prims.exn" - ], - 0, - "367e2422543966d74aedf59daa403079" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.ExnSt.fst.hints b/examples/dm4free/FStar.DM4F.ExnSt.fst.hints deleted file mode 100644 index 7d9c7b8ec07..00000000000 --- a/examples/dm4free/FStar.DM4F.ExnSt.fst.hints +++ /dev/null @@ -1,123 +0,0 @@ -[ - "aÛ½\u0018â\u001c\u0017V\u0000n›\u001d\rVÝö", - [ - [ - "FStar.DM4F.ExnSt.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.ExnSt_interpretation_Tm_arrow_9a0e9e3b0543e9a5bbf1ca7aaaab2494", - "equation_FStar.DM4F.ExnSt.exnst", "equation_Prims.eqtype", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "523ffa889bb3bf7875cbdc59ae0b3729" - ], - [ - "FStar.DM4F.ExnSt.div_intrisic_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5973791ef7b7101765a232cb9a2570a4" - ], - [ - "FStar.DM4F.ExnSt.div_intrinsic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.DM4F.ExnSt.div_intrisic_spec", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_and-interp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "unit_typing" - ], - 0, - "14effbeb41caa810613005a36cad5295" - ], - [ - "FStar.DM4F.ExnSt.div_extrinsic", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "03146ef5900e74a2e85578efe6bb3f37" - ], - [ - "FStar.DM4F.ExnSt.lemma_div_extrinsic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.ExnSt.__proj__EXNST__item__raise_equality", - "FStar.DM4F.ExnSt_interpretation_Tm_arrow_9de91ba7f308f17284a8f37ea1dc59e0", - "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.DM4F.ExnSt.div_extrinsic", - "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_00709a744a48249290e9052cc7253072", - "interpretation_Tm_abs_15d1a1024d0dd12a02ff74be4fbf3dc0", - "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", - "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", - "interpretation_Tm_abs_a301c3bd252685f2edfa896c9ccd9d70", - "interpretation_Tm_abs_e8320454ea3931af1e1c7ab2b376e5a8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_15621903c90a91435aa88dd65f2b1df5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.ExnSt.div_extrinsic", "typing_Prims.int", - "unit_typing" - ], - 0, - "a12190de1c3db8438db482d8a94d955d" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fst.hints b/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fst.hints deleted file mode 100644 index 3257933e466..00000000000 --- a/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fst.hints +++ /dev/null @@ -1,146 +0,0 @@ -[ - "\f\u0004\u001aoŽ+Ã~ˆÆçé\u001e9\u001b\u001f", - [ - [ - "FStar.DM4F.Heap.IntStoreFixed.id", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f801df9ae974a3cf3da92ea91f6e37de" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ab7bd519e0e338bf29563822cb748f40" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.IntStoreFixed.heap", - "refinement_interpretation_Tm_refine_6df2ffe10bff6bf2a3fe27af74739e18" - ], - 0, - "62d678c2eea9461014bc086ad5c28401" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.DM4F.Heap.IntStoreFixed.heap", - "equation_FStar.DM4F.Heap.IntStoreFixed.id", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "refinement_interpretation_Tm_refine_6df2ffe10bff6bf2a3fe27af74739e18", - "typing_Prims.int" - ], - 0, - "004b42989db8051cf3d5a366566e9290" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "addd9971a671586a9352d34d55bc9107" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.IntStoreFixed.heap", - "equation_FStar.DM4F.Heap.IntStoreFixed.id", - "equation_FStar.DM4F.Heap.IntStoreFixed.index", - "equation_FStar.DM4F.Heap.IntStoreFixed.upd", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "refinement_interpretation_Tm_refine_6df2ffe10bff6bf2a3fe27af74739e18" - ], - 0, - "aaeb4dc8d97b0cbccb044d879e0b2bb2" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.IntStoreFixed.heap", - "equation_FStar.DM4F.Heap.IntStoreFixed.id", - "equation_FStar.DM4F.Heap.IntStoreFixed.index", - "equation_FStar.DM4F.Heap.IntStoreFixed.upd", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "refinement_interpretation_Tm_refine_6df2ffe10bff6bf2a3fe27af74739e18" - ], - 0, - "34052a99f6ead286a9db4ba383e867eb" - ], - [ - "FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.IntStoreFixed.create", - "equation_FStar.DM4F.Heap.IntStoreFixed.id", - "equation_FStar.DM4F.Heap.IntStoreFixed.index", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46" - ], - 0, - "816778edb249ed7f2122a92ce22151a8" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fsti.hints b/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fsti.hints deleted file mode 100644 index 2a77d7847ea..00000000000 --- a/examples/dm4free/FStar.DM4F.Heap.IntStoreFixed.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ô)\nôDN$¦‰@dÇ", [] ] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints b/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints deleted file mode 100644 index 00c5539953c..00000000000 --- a/examples/dm4free/FStar.DM4F.Heap.Random.fst.hints +++ /dev/null @@ -1,209 +0,0 @@ -[ - "IÜOd벋ä\u0011BC¡„\u0001H\"", - [ - [ - "FStar.DM4F.Heap.Random.id", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "afb89b0e35ad4d97bd275fa6c4d7de24" - ], - [ - "FStar.DM4F.Heap.Random.tape", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c45738073e069418e791c7f105cc9178", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178", - "typing_Prims.int" - ], - 0, - "ed77ad97f8209f7c01b5713195557f37" - ], - [ - "FStar.DM4F.Heap.Random.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.incrementable", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_704d8d13f27c4dc76ad704087a7f94d4" - ], - 0, - "73524ca1410d3b4c822258329a3a5507" - ], - [ - "FStar.DM4F.Heap.Random.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.tape", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933" - ], - 0, - "e4b770ba85c0e4d1c843a2fcf287aba2" - ], - [ - "FStar.DM4F.Heap.Random.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.tape", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", - "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "e1d2a261d0b480c837544649b8e0b88b" - ], - [ - "FStar.DM4F.Heap.Random.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", - "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "38d072c1f5ca3a4b4ee052c430ddc262" - ], - [ - "FStar.DM4F.Heap.Random.lemma_eq_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.equal", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.tape", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_9d9e10402f79d6a95207c3b97fa31898", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933" - ], - 0, - "1e65b478f1f9c5101200dd8cf261cbb0" - ], - [ - "FStar.DM4F.Heap.Random.lemma_eq_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.equal", - "equation_FStar.DM4F.Heap.Random.tape", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", - "refinement_kinding_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "f63997994a75eedd7fdb18a8198b8f44" - ], - [ - "FStar.DM4F.Heap.Random.lemma_index_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.tape", - "equation_FStar.DM4F.Heap.Random.upd", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "6dc2873d762c848bec836924cc8c483d" - ], - [ - "FStar.DM4F.Heap.Random.lemma_index_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.index", - "equation_FStar.DM4F.Heap.Random.tape", - "equation_FStar.DM4F.Heap.Random.upd", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_a0cc2a17677bbaeff2f143ee81ec1933", - "refinement_interpretation_Tm_refine_c214c9b992936e25888fdce6a55eb676", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "6a4e51a9ab2b5f8a69ddca610b554ca7" - ], - [ - "FStar.DM4F.Heap.Random.lemma_index_create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.create", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.id", - "equation_FStar.DM4F.Heap.Random.index", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "e7932a4578e99d72f5a57a3e7b00b4cd" - ] - ] -] \ No newline at end of file diff --git a/examples/dm4free/FStar.DM4F.Heap.Random.fsti.hints b/examples/dm4free/FStar.DM4F.Heap.Random.fsti.hints deleted file mode 100644 index 266f3cc6506..00000000000 --- a/examples/dm4free/FStar.DM4F.Heap.Random.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "š¶Ô¥ÁëÊ~Pq\"\t)W!:²ã\fî", [] ] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedList.fst b/examples/doublylinkedlist/DoublyLinkedList.fst index 55ae2f8a38b..d529f88e79f 100644 --- a/examples/doublylinkedlist/DoublyLinkedList.fst +++ b/examples/doublylinkedlist/DoublyLinkedList.fst @@ -1905,7 +1905,7 @@ let dll_remove_node (#t:Type) (d:dll t) (e:pointer (node t)) : #reset-options -#set-options "--z3rlimit 10 --max_fuel 2 --max_ifuel 1" +#set-options "--z3rlimit 100 --max_fuel 2 --max_ifuel 1" let dll_append (#t:Type) (d1 d2:dll t) : StackInline (dll t) @@ -1964,7 +1964,7 @@ let dll_append (#t:Type) (d1 d2:dll t) : #reset-options -#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" +#set-options "--z3rlimit 60 --max_fuel 2 --max_ifuel 1" let dll_split_using (#t:Type) (d:dll t) (e:pointer (node t)) : StackInline (dll t * dll t) diff --git a/examples/doublylinkedlist/DoublyLinkedList.fst.hints b/examples/doublylinkedlist/DoublyLinkedList.fst.hints deleted file mode 100644 index f377da6823c..00000000000 --- a/examples/doublylinkedlist/DoublyLinkedList.fst.hints +++ /dev/null @@ -1,6379 +0,0 @@ -[ - "E£eî,s\u007f_âв¼·lo", - [ - [ - "DoublyLinkedList.lemma_non_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "lemma_FStar.UInt32.uv_inv", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "618be848e13b362b1ad154d71fdd88f2" - ], - [ - "DoublyLinkedList.op_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" - ], - 0, - "6384fe7673c5745148432f5467bef096" - ], - [ - "DoublyLinkedList.op_Hat_At", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_49875fd7a8a9e5d480065968845f9c04", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "d635de1dcb2480ee21ac04fb5ea86feb" - ], - [ - "DoublyLinkedList.__proj__Frag1__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d56d2c22716a132051de7449f1f9f54c" - ], - 0, - "e3a35148d8e41d0cbd1c2c957da11a82" - ], - [ - "DoublyLinkedList.__proj__Frag2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" - ], - 0, - "4bbe6f851dc43b17b036b7a8fcd4cac3" - ], - [ - "DoublyLinkedList.__proj__Frag2__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_70bbde2f8ce7313b7302658284bddacb" - ], - 0, - "e10c8cb70e94f620029f84f8d51452a2" - ], - [ - "DoublyLinkedList.__proj__Frag3__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" - ], - 0, - "89c895dda3e7b1ddcd89e6ffc148ccca" - ], - [ - "DoublyLinkedList.__proj__Frag3__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" - ], - 0, - "1592ebe019c3c7e13cbfc22ec01a41ae" - ], - [ - "DoublyLinkedList.__proj__Frag3__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9ea59e6deac4413a566ae57bc3064f5" - ], - 0, - "9cf2e2d0b16f9c121b1aaf2b16c1a9d9" - ], - [ - "DoublyLinkedList.empty_node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.trivial_preorder", - "kinding_DoublyLinkedList.node@tok", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "6a4d8e260bab85bd349f171e2e478c59" - ], - [ - "DoublyLinkedList.empty_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.trivial_preorder", - "kinding_DoublyLinkedList.node@tok", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "892dc295d967f1ae9c9de74c689fcfc4" - ], - [ - "DoublyLinkedList.fragment_for_each0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a492f29457c5ab223a6e8ffea1c4d54b" - ], - [ - "DoublyLinkedList.fragment_for_each1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9a5fbc30df792cbb7c006d8f9c91744b" - ], - [ - "DoublyLinkedList.fragment_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ee05a4d3b1ff95c1bbe7cf62217aaea1" - ], - [ - "DoublyLinkedList.dll_ghostly_connections", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer" - ], - 0, - "a1c00170de8dd436fc07d71ad1eaa613" - ], - [ - "DoublyLinkedList.piece_ghostly_connections", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer" - ], - 0, - "51e3c08ff9362cfc75d1fc953164bcd3" - ], - [ - "DoublyLinkedList.nodelist_contained0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "305524c2340ffacbf851f11ce4bdfe3f" - ], - [ - "DoublyLinkedList.nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "26328a49b6115de2360a65ce7af7a210" - ], - [ - "DoublyLinkedList.nodelist_fp_f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "1d1a72f6cab5db492bb3edb371218d74" - ], - [ - "DoublyLinkedList.nodelist_fp_b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "ed26d6011cc1d2f06a03d0821519696e" - ], - [ - "DoublyLinkedList.dll_fp_f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.trivial_preorder", - "kinding_DoublyLinkedList.node@tok", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "39603af45ca41bc9fc8f4d4fa0b7efc9" - ], - [ - "DoublyLinkedList.dll_fp_b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.trivial_preorder", - "kinding_DoublyLinkedList.node@tok", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "56e28de68359d6ec903fb335d22ecb9d" - ], - [ - "DoublyLinkedList.fragment_fp0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8ca8e220521a2278cc2325749fa32675_1", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "35fd245f9eb211cb77b73f899ba68487" - ], - [ - "DoublyLinkedList.loc_equiv_trans", - 1, - 2, - 1, - [ "@query", "equation_DoublyLinkedList.loc_equiv" ], - 0, - "709e43440e23a6dac5090c51299077fa" - ], - [ - "DoublyLinkedList.loc_equiv_union_union_loc", - 1, - 2, - 1, - [ - "@query", "equation_DoublyLinkedList.loc_equiv", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "6c184f7e994c45b0c56948db78845908" - ], - [ - "DoublyLinkedList.nodelist_aa_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "03520dfdefeee0f164bcb690d4a1a3dc" - ], - [ - "DoublyLinkedList.nodelist_aa_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", - "well-founded-ordering-on-nat" - ], - 0, - "a8f010b3244971b574eeaf69cb5f9e99" - ], - [ - "DoublyLinkedList.fragment_aa_lr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8ca8e220521a2278cc2325749fa32675_1", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "dd1ccbea619df9962c7e7d65df998a7b" - ], - [ - "DoublyLinkedList.op_Bar_Greater_Greater", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b8f3b50326ee925d97b8c3972047372" - ], - [ - "DoublyLinkedList.op_Less_Less_Bar", - 1, - 2, - 1, - [ "@query" ], - 0, - "5089e260d08fd46f0a6c96d3e8175056" - ], - [ - "DoublyLinkedList.nodelist_conn", - 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", "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", - "well-founded-ordering-on-nat" - ], - 0, - "f9a697e87adebedb0bbef5c9873b18e7" - ], - [ - "DoublyLinkedList.dll_conn", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_DoublyLinkedList.Mkdll", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_DoublyLinkedList.node@tok", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "cd957958a010e8fbc7a5df728b0e09a1" - ], - [ - "DoublyLinkedList.unchanged_node_val", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e2c86a69bc1e742b4d63e9796b19aa9" - ], - [ - "DoublyLinkedList.unchanged_node_vals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons" - ], - 0, - "2ae77ecda1950719ce2aff8f1488a627" - ], - [ - "DoublyLinkedList.op_Equals_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_blink", - "projection_inverse_DoublyLinkedList.Mknode_flink", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e8423dfaf607761da774334458648cbc", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "4858cffbbf23d8f5590cf8e4b4be1bfb" - ], - [ - "DoublyLinkedList.op_Less_Bar_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_blink", - "projection_inverse_DoublyLinkedList.Mknode_flink", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e8423dfaf607761da774334458648cbc", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "79ffe5a1a139e34f627753cb97d7b8d9" - ], - [ - "DoublyLinkedList.op_Bang_Equals_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "fuel_guarded_inversion_DoublyLinkedList.node", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_blink", - "projection_inverse_DoublyLinkedList.Mknode_flink", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_dd390dd5bd648f05ab3aa145d35ba398", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "3e76dd460236773b96a22e2f3aa015c6" - ], - [ - "DoublyLinkedList.op_Bang_Less_Bar_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "fuel_guarded_inversion_DoublyLinkedList.node", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_blink", - "projection_inverse_DoublyLinkedList.Mknode_flink", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_56ecb46c72382cf062ff8e5f2bf56b84", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_dd390dd5bd648f05ab3aa145d35ba398", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "fb7faab8593688522c6526bf44934331" - ], - [ - "DoublyLinkedList.extract_nodelist_contained", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3be51da012170e1dbcd1a1a08f76b6e5_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_861b02abd053e6d076aff802935941c8", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "6d25c3eb278117bca9bd37c76ea28f0e" - ], - [ - "DoublyLinkedList.extract_nodelist_contained", - 2, - 2, - 1, - [ "@query" ], - 0, - "5df41aed4d92a519e3a009fe76bec648" - ], - [ - "DoublyLinkedList.extract_nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_85ca1d8299771e519782251840a092d3_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.index", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "fa6c69080903c2c0f27dd3dfddccb737" - ], - [ - "DoublyLinkedList.extract_nodelist_fp0", - 2, - 2, - 1, - [ "@query" ], - 0, - "0e21fa1e5976157b7f4edacc8ffefe4b" - ], - [ - "DoublyLinkedList.extract_nodelist_aa_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_85ca1d8299771e519782251840a092d3_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d7f387c82dca6f222a82b0d719503963", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "08b99fa32427c3855150c71337a29b0f" - ], - [ - "DoublyLinkedList.extract_nodelist_aa_r", - 2, - 2, - 1, - [ "@query" ], - 0, - "0163611b0e38c51bb5b8c16787913407" - ], - [ - "DoublyLinkedList.extract_nodelist_aa_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_85ca1d8299771e519782251840a092d3_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Tm_unit", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_0cae5d84de7a9756ad4436cde66dea46", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", "typing_LowStar.Buffer.pointer", - "well-founded-ordering-on-nat" - ], - 0, - "a1431c4a3692c8e23560dc7dca29cbab" - ], - [ - "DoublyLinkedList.extract_nodelist_aa_l", - 2, - 2, - 1, - [ "@query" ], - 0, - "3b55462b6e2d1cb82cae00426f1b4926" - ], - [ - "DoublyLinkedList.extract_nodelist_conn", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1a2b9cfc3d557f710f79654c139317ee_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mknode_blink", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_305f4ba37065e80ee7fa4285bda3b81e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", "well-founded-ordering-on-nat" - ], - 0, - "39aa8bee504803ef4f2d787ef91dac4a" - ], - [ - "DoublyLinkedList.extract_nodelist_conn", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bac4025fdd91d329ce94b4a7cc04bcc" - ], - 0, - "97f1a5500e9872baf3bc15ec79d2f398" - ], - [ - "DoublyLinkedList.nodelist_remains_aa_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "kinding_Prims.list@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "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_15c3dc04cb31589daa8771c65cbb30ee", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_97ede180f6c9627509390f249ccbca1c", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "well-founded-ordering-on-nat" - ], - 0, - "8bbfcfcbc6f4e741503ff849f3223391" - ], - [ - "DoublyLinkedList.nodelist_remains_aa_l", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_19bdbbad19dac13a0269e2e55d7aa18b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bf2207671c69bc17c285c355c2ff12e", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" - ], - 0, - "d9c7f4aa745e5602c287b70daf60f719" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "5240f49cc816d8f14800d9efc6e6e67e" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_fp0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "74336bd8ee6bed1dece20862c222d9f9" - ], - [ - "DoublyLinkedList.snd_unsnoc_nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.snd", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "9ca87a48f1610e4a06a340a2e28512c9" - ], - [ - "DoublyLinkedList.snd_unsnoc_nodelist_fp0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "489ce8d474b6c257be1e6fbde2ecf25d" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_contained", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_fb124e0b69480be5c21588c211442f85", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", "typing_LowStar.Buffer.pointer" - ], - 0, - "dbbed411656e840266515bb8b7f806ff" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_contained", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aefc44a52511cc693b1ecde014774ead" - ], - 0, - "f71b90ce8f3222e4e46f701c1a903fdd" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_aa", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_DoublyLinkedList.fst_unsnoc_nodelist_fp0", - "lemma_DoublyLinkedList.nodelist_remains_aa_l", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_411fa3cec050fa515eed8da1bf202803", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "458b4ad797988aa082d366040d65c449" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_aa", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d935250edfd06c6dbbbd4f0f7d3691f7" - ], - 0, - "22c0236f86e9036bb3da446d1556fac6" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_conn", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_97aef50d341ed5edddcaae5a04120694", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get" - ], - 0, - "3c75d3f736f96233a197b630739c0a62" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_conn", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_74082ec34a751d59012dbf5fce664d85" - ], - 0, - "da4c81fba3603ff17567e15768f9d7b7" - ], - [ - "DoublyLinkedList.fst_unsnoc_nodelist_valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedList.nodelist_valid", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.pointer", - "refinement_interpretation_Tm_refine_0f50d7658b0e192b1248a9b21728185d" - ], - 0, - "b7125f06f1101600cee7ebf255bd4f36" - ], - [ - "DoublyLinkedList.nodelist_includes_r_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.splitAt", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_Prims.int", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "da03ae73c372f814d6b1865defe38a3a" - ], - [ - "DoublyLinkedList.nodelist_includes_l_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "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", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Base.splitAt", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.int", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "8d796550df7ac016c9f7a53eff031468" - ], - [ - "DoublyLinkedList.tot_dll_to_piece", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nonempty_dll", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_64fd66712866fd699083320bb3e5fbbc", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_ed67a49e7765f4bfc329a9d51ec1270c", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "21545c99646c4817e5b43fff4a1de0fc" - ], - [ - "DoublyLinkedList.tot_dll_to_fragment", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@query", "constructor_distinct_DoublyLinkedList.Frag1", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_dll_to_piece", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "l_and-interp", "l_not-interp", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "refinement_interpretation_Tm_refine_2a09f35215c95be02adc6a5b8cb11850", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "true_interp" - ], - 0, - "94e0486d6ccd3b45b1f2a7eb9b7cca2d" - ], - [ - "DoublyLinkedList.tot_piece_to_dll", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", "false_interp", - "fuel_guarded_inversion_DoublyLinkedList.piece", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "refinement_interpretation_Tm_refine_0697a649d2a69919fe14af919c279bda", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "1bf44f362dcc35ca6af399efcd07fedd" - ], - [ - "DoublyLinkedList.nodelist_append_contained", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_LowStar.Buffer.pointer" - ], - 0, - "75180a6fe8d5cc3b9f561019403de633" - ], - [ - "DoublyLinkedList.nodelist_append_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "44a783733120800bcea13d8ee06910f1" - ], - [ - "DoublyLinkedList.nodelist_append_aa_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.fst_unsnoc_nodelist_fp0", - "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "well-founded-ordering-on-nat" - ], - 0, - "b16f8e065932f2ed1e41b13cddb6d4ed" - ], - [ - "DoublyLinkedList.nodelist_append_aa_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "dce11ebb9e0294a8614cd4c2a85b85b1" - ], - [ - "DoublyLinkedList.nodelist_append_aa", - 1, - 2, - 1, - [ - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "equation_DoublyLinkedList.nodelist_aa" - ], - 0, - "b565764670ecdfaf347542883517e519" - ], - [ - "DoublyLinkedList.nodelist_append_conn", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "2a0ed354f5cb413695c9e82e7693708b" - ], - [ - "DoublyLinkedList.nodelist_append_conn", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f80cc8c1d13c0a97569be7732e10f6e9", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" - ], - 0, - "91aec3501b89e06a9f2c9a937edb5bc0" - ], - [ - "DoublyLinkedList.nodelist_append_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_valid", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer" - ], - 0, - "7e1a53f42febeef84f09569f9e6a018c" - ], - [ - "DoublyLinkedList.loc_includes_union_r_inv", - 1, - 2, - 1, - [ - "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_" - ], - 0, - "f733c367633d6064f73302d713cec6dc" - ], - [ - "DoublyLinkedList.piece_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer" - ], - 0, - "6ba6e053476c4db4687344a168d3986b" - ], - [ - "DoublyLinkedList.piece_merge", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eq2", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "2833d47abc7a2902f167adb59e9aed05" - ], - [ - "DoublyLinkedList.piece_merge_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_merge", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_ff34b05c597bf5785ffd4066f3ce3eca", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "d0e8242171c5f08fe6b1180bfae2b9b9" - ], - [ - "DoublyLinkedList.fragment_defragmentable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_e7ecc91e947925d7f6aa2925c9dc78fc_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_DoublyLinkedList.Frag3", - "constructor_distinct_Tm_unit", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", - "fuel_guarded_inversion_DoublyLinkedList.piece", "int_inversion", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Frag3__0", - "projection_inverse_DoublyLinkedList.Frag3__1", - "projection_inverse_DoublyLinkedList.Frag3__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_084af5f636eef5ff667a3a2497095b48", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c850c52b68a8aea226df354ab018551", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer" - ], - 0, - "744bb77439a7faef98ff44bc77047d41" - ], - [ - "DoublyLinkedList.single_piece_fragment_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@query", "constructor_distinct_DoublyLinkedList.Frag1", - "data_typing_intro_DoublyLinkedList.Frag1@tok", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", "true_interp" - ], - 0, - "65573c60917b13d1d39c086727e978a1" - ], - [ - "DoublyLinkedList.tot_defragmentable_fragment_to_dll", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "DoublyLinkedList_pretyping_3af7365c5f7bdaf0dff061828b22fd81", - "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag0", - "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_DoublyLinkedList.Frag3", - "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Frag1", - "data_elim_DoublyLinkedList.Frag2", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag0", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_length", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_merge", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_piece_to_dll", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.fragment", - "fuel_guarded_inversion_DoublyLinkedList.piece", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag0_t", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag3__0", - "projection_inverse_DoublyLinkedList.Frag3__1", - "projection_inverse_DoublyLinkedList.Frag3__2", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_4e294032e8e7cb4a89a4715854334ceb", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.fragment_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "f87fc1262d671c98f972bcf64696bba9" - ], - [ - "DoublyLinkedList.tot_defragmentable_fragment_to_dll", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", - "equation_DoublyLinkedList.fragment_length", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "typing_DoublyLinkedList.fragment_length" - ], - 0, - "ff571ce96b79140b5e2ede91fca8e597" - ], - [ - "DoublyLinkedList.nodelist_split_contained", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", - "unit_typing" - ], - 0, - "9070ab5e947c0597a3f01f3521469d8c" - ], - [ - "DoublyLinkedList.nodelist_split_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_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", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", - "unit_typing" - ], - 0, - "8652402151a0b29564869b0f9b3c0fda" - ], - [ - "DoublyLinkedList.nodelist_split_fp0_equiv", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "lemma_DoublyLinkedList.loc_equiv_trans", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "418739910d4c62c1b38f8f1bf370f26e" - ], - [ - "DoublyLinkedList.nodelist_split_aa_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "well-founded-ordering-on-nat" - ], - 0, - "d40516441e2ad2a1fb131efa37a0b557" - ], - [ - "DoublyLinkedList.nodelist_split_aa_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_f1423d82bf01b6617461d37febfab8cb_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.append", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "043fc6ab8a2630a87386e656d18f6305" - ], - [ - "DoublyLinkedList.nodelist_split_aa", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "typing_LowStar.Buffer.pointer" - ], - 0, - "1e504570049a507d10f034c11f82f374" - ], - [ - "DoublyLinkedList.nodelist_split_conn", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_8e82dcd37aa0387ab82f949fa013cee6", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "39df1d133f642a2e2bfa83c32622f3ef" - ], - [ - "DoublyLinkedList.nodelist_split_conn", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_45112b750234d9309c9c52dab001faa7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9be91429026a240fd8a6dc866baa1983", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer" - ], - 0, - "5e0f5a51c4d072ab560133a122009887" - ], - [ - "DoublyLinkedList.nodelist_split_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_valid", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2edef457be8f8ec6a514ca62f452140c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer" - ], - 0, - "e215626d29a616421eef30fa1fca4a0e" - ], - [ - "DoublyLinkedList.dll_fp0_is_nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "93f3c4850dbc9cd4202cbe6fa6a904c1" - ], - [ - "DoublyLinkedList.piece_fp0_is_nodelist_fp0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "8c79827730e41610026067418ebc42ec" - ], - [ - "DoublyLinkedList.tot_dll_to_fragment_split", - 1, - 8, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", - "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", - "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", - "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "bool_inversion", "constructor_distinct_BoxInt", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_DoublyLinkedList.Frag2", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_length", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_FStar.List.Tot.Properties.split_using", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", "int_inversion", - "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", - "kinding_DoublyLinkedList.node@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedList.loc_equiv_trans", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_ec2663764bab5020b9cb3a3a3b7bfc3a", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", - "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" - ], - 0, - "8d80999fb31390d7f8354ee7027d758e" - ], - [ - "DoublyLinkedList.tot_node_to_dll", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "l_not-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "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_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "true_interp", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "120114a10e27a51dd1e3d2c0c7815ffd" - ], - [ - "DoublyLinkedList.singleton_dll", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.tot_node_to_dll", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_dd390dd5bd648f05ab3aa145d35ba398", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "59a625789cfea84baefa9c4ff32c2636" - ], - [ - "DoublyLinkedList.tot_node_to_piece", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "5bfe6454005415763c753f893bb26bdb" - ], - [ - "DoublyLinkedList.tot_piece_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "DoublyLinkedList_interpretation_Tm_arrow_74052fd66e28589830ddad1d83f167d6", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Ghost.tot_to_gtot", - "function_token_typing_FStar.List.Tot.Base.tl", "int_inversion", - "interpretation_Tm_abs_48cba56a704db0ed348fc817520f6956", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.nodelist_remains_aa_l", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5f14f727ad7fd036590459a1d0800770", - "refinement_interpretation_Tm_refine_6879f2120f914ef1172937ef4916686b", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.tl", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.elift1_p", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_Tm_abs_48cba56a704db0ed348fc817520f6956" - ], - 0, - "7e27b9a568d469e7895b826edeab3094" - ], - [ - "DoublyLinkedList.lemma_dll_links_contained", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_not-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b15de1f9fa92b56c03ed57fd65ea85ad", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "194462687c856cedd307e564bcc0e513" - ], - [ - "DoublyLinkedList.lemma_dll_links_disjoint", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_not-interp", - "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b15de1f9fa92b56c03ed57fd65ea85ad", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Prims.__proj__Cons__item__tl", "unit_inversion", - "unit_typing" - ], - 0, - "2d9a27cff1461e1feaaf4c009602bf4a" - ], - [ - "DoublyLinkedList.nodelist_remains_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_DoublyLinkedList.nodelist_remains_aa_l", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "3e59a5b2f6ba9a860e631722d7b8cac8" - ], - [ - "DoublyLinkedList.piece_remains_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.last", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "f54caba21e11a73a5c606f2bd1699df6" - ], - [ - "DoublyLinkedList.piece_remains_valid_b", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList.nodelist_remains_aa_l", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.unsnoc", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "7ef18da4f5df97bd6ef6068c5c7fff61" - ], - [ - "DoublyLinkedList.piece_remains_valid_f", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.nodelist_valid", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.piece", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "lemma_DoublyLinkedList.snd_unsnoc_nodelist_fp0", - "lemma_FStar.List.Tot.Properties.lemma_unsnoc_snoc", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_e88aba6d4c79a5625ab4330932edf7ed", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.__proj__Mkpiece__item__ptail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.splitAt", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "089bb8bc0ebb579ab0701ff94f3eb975" - ], - [ - "DoublyLinkedList._auto_empty_dll", - 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_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.buffer", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "primitive_Prims.op_Addition", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer" - ], - 0, - "2afe4c5ef829cb9d499b883f9cb8db54" - ], - [ - "DoublyLinkedList.aux_unchanged_payload", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_47316f87bc732b0210927e772e74af94_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_or-interp", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_08f310903374cd33eafddcf362888833", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52514895d5d5a0f27fe930981499c697", - "refinement_interpretation_Tm_refine_532ba21e30048b3e1b88e64a9308942a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_621cb8e62f8c5cc0006f0de06712d6a4", - "refinement_interpretation_Tm_refine_b85e371ee94860db54c28e7c643486c7", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_e10e0ee228bec168f40cc6711b037dec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "5f4d9d093ed295b94b32e4b50158af4c" - ], - [ - "DoublyLinkedList.aux_unchanged_payload", - 2, - 2, - 1, - [ "@query" ], - 0, - "ecf63dda2c9fec9bf40a23efb1d6f11d" - ], - [ - "DoublyLinkedList.aux_unchanged_payload_nomod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "projection_inverse_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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "30dca28d95c238a0ce2f82e56b6e2ea6" - ], - [ - "DoublyLinkedList.aux_unchanged_payload_transitive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_3", - "binder_x_f1423d82bf01b6617461d37febfab8cb_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "9be4509f76032ad2d04c648a66237c75" - ], - [ - "DoublyLinkedList.aux_unchanged_payload_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_f1423d82bf01b6617461d37febfab8cb_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_LowStar.Buffer.pointer" - ], - 0, - "4c87fbd39dcbf07b8ce812fa40dec720" - ], - [ - "DoublyLinkedList.dll_insert_at_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_DoublyLinkedList.Frag2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.nonempty_dll", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_dll_to_fragment", - "equation_DoublyLinkedList.tot_dll_to_piece", - "equation_DoublyLinkedList.tot_node_to_piece", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_64fd66712866fd699083320bb3e5fbbc", - "refinement_interpretation_Tm_refine_862becacdf45cb7b1468325c50996e16", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_dd390dd5bd648f05ab3aa145d35ba398", - "refinement_interpretation_Tm_refine_ed67a49e7765f4bfc329a9d51ec1270c", - "refinement_interpretation_Tm_refine_f9b251d68c00bfbbccdc0fd4967308e0", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.tot_dll_to_piece", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.append", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "1a70503a121d73a80d106d67bd7432fa" - ], - [ - "DoublyLinkedList.dll_insert_at_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.nonempty_dll", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", - "equation_DoublyLinkedList.tot_dll_to_fragment", - "equation_DoublyLinkedList.tot_dll_to_piece", - "equation_DoublyLinkedList.tot_node_to_piece", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "l_not-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_64fd66712866fd699083320bb3e5fbbc", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_862becacdf45cb7b1468325c50996e16", - "refinement_interpretation_Tm_refine_883337e358bc56af1380199d288d85ea", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_dd390dd5bd648f05ab3aa145d35ba398", - "refinement_interpretation_Tm_refine_ed67a49e7765f4bfc329a9d51ec1270c", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", - "typing_DoublyLinkedList.tot_dll_to_piece", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "117edbc9c880bb41acd5c338db701ea0" - ], - [ - "DoublyLinkedList._l_insert_after", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "d6e131bf6a7081b2e001081f82815fb6" - ], - [ - "DoublyLinkedList.dll_insert_after", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", - "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", - "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", - "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_BoxInt", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_DoublyLinkedList.Frag3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag2@tok", - "data_typing_intro_DoublyLinkedList.Frag3@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag2", - "disc_equation_DoublyLinkedList.Frag3", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_dll_to_fragment_split", - "equation_DoublyLinkedList.tot_node_to_piece", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.fragment", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "function_token_typing_FStar.List.Tot.Properties.split_using", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", - "kinding_DoublyLinkedList.node@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Frag3__0", - "projection_inverse_DoublyLinkedList.Frag3__1", - "projection_inverse_DoublyLinkedList.Frag3__2", - "projection_inverse_DoublyLinkedList.Frag3_t", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042", - "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_67631a93d0fd4b61f954b779cb07180c", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_862becacdf45cb7b1468325c50996e16", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_bf8841a0fad4c4d761cd4032c1778dd4", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_e8423dfaf607761da774334458648cbc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", - "token_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.split_using", - "token_correspondence_FStar.Pervasives.Native.fst", "true_interp", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.fragment_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", - "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", - "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", "typing_FStar.List.Tot.Base.tl", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" - ], - 0, - "5761939a6f97562de28907bd2b11fd3a" - ], - [ - "DoublyLinkedList._l_insert_before", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" - ], - 0, - "d6139f955f76cd7f66c5dfe7c7f20b0b" - ], - [ - "DoublyLinkedList.dll_insert_before", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList._l_insert_before", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_or-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0bff7197fb6b2b2c957164190fd1d042", - "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_37d2251223671b98c22b9f1277be25fa", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_67631a93d0fd4b61f954b779cb07180c", - "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_862becacdf45cb7b1468325c50996e16", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.List.Tot.Properties.split_using", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" - ], - 0, - "1a4ede57f09997f8d98c8c84612bf865" - ], - [ - "DoublyLinkedList.dll_remove_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag1@tok", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", - "equation_DoublyLinkedList.tot_dll_to_fragment_split", - "equation_DoublyLinkedList.tot_piece_to_dll", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3e624b58668b151ba8703a1c9861fe9f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", - "refinement_interpretation_Tm_refine_da8cacb605f077cebf46369bd4bfb97a", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.fragment_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.hd", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "9b2c8ca23bb4239d4f233d2b0b1f5777" - ], - [ - "DoublyLinkedList._lemma_only_head_can_point_left_to_null", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_27214f305888e3e3602ca20e11f35db7_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_or-interp", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_04d4846364f38e3e7a5458e9e439e364", - "refinement_interpretation_Tm_refine_18186995f405d212ac291bad0632f3f0", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_fb14d058607fd88f63a92f2685fafbe3", - "subterm_ordering_Prims.Cons", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "09e98188ecbc156d61c7c493660e5333" - ], - [ - "DoublyLinkedList._lemma_only_head_can_point_left_to_null", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d0a2b44caeb07cbe12fa0928be29399", - "refinement_interpretation_Tm_refine_94128b374da633f7d58657bbdd5893ef", - "typing_LowStar.Buffer.pointer" - ], - 0, - "2ff591e947a45c3c8f9b5ef2873824a7" - ], - [ - "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_27214f305888e3e3602ca20e11f35db7_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_or-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_e231c514f5ce71fc1207029247fe9792", - "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "67544520e1d2ce115227113e523fe482" - ], - [ - "DoublyLinkedList._lemma_only_tail_can_point_right_to_null", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_613cd9d7f2f7208a1ae3b2b2d975294f", - "refinement_interpretation_Tm_refine_e49670ed31a220dd841554f0dc615f9d", - "typing_LowStar.Buffer.pointer" - ], - 0, - "b1965131fe041e02c3ae97d85de0f431" - ], - [ - "DoublyLinkedList._lemma_all_nodes_are_unique", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_f1423d82bf01b6617461d37febfab8cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_305f4ba37065e80ee7fa4285bda3b81e", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "217b4577c921224daf4a65c59a41e1ab" - ], - [ - "DoublyLinkedList._lemma_all_nodes_are_unique", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_LowStar.Buffer.pointer", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_DoublyLinkedList.node@tok", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_LowStar.Buffer.pointer", - "typing_Prims.int" - ], - 0, - "8014696e5deac929c4d9471127f1a9cd" - ], - [ - "DoublyLinkedList.dll_remove_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "constructor_distinct_DoublyLinkedList.Frag1", - "constructor_distinct_Prims.Nil", - "data_elim_DoublyLinkedList.Mknode", "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag1@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag1", - "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_conn", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", - "equation_DoublyLinkedList.tot_dll_to_fragment_split", - "equation_DoublyLinkedList.tot_piece_to_dll", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.List.Tot.Properties.lemma_snoc_unsnoc", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag1__0", - "projection_inverse_DoublyLinkedList.Frag1_t", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3e624b58668b151ba8703a1c9861fe9f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cf9d29550920706b893d54ef227756d4", - "refinement_interpretation_Tm_refine_da8cacb605f077cebf46369bd4bfb97a", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.tl", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "f19794ce85cd316c3a1794386743c571" - ], - [ - "DoublyLinkedList._l_remove_mid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "d5d10cc2e995f74163933384d26155de" - ], - [ - "DoublyLinkedList.dll_remove_node", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_DoublyLinkedList.Mknode", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList._l_remove_mid", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_17d8549cde5689aad97babfebede2932", - "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3e624b58668b151ba8703a1c9861fe9f", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList._l_remove_mid", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.tl", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "unit_typing" - ], - 0, - "131bba8f31aa3216649ea4c852d45b8e" - ], - [ - "DoublyLinkedList.dll_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_DoublyLinkedList.Frag2", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_DoublyLinkedList.Frag2@tok", - "disc_equation_DoublyLinkedList.Frag2", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_aa", - "equation_DoublyLinkedList.piece_contained", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_defragmentable_fragment_to_dll", - "equation_DoublyLinkedList.tot_dll_to_piece", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_defragmentable.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_DoublyLinkedList.piece_aa", - "function_token_typing_DoublyLinkedList.piece_conn", - "function_token_typing_DoublyLinkedList.piece_contained", - "function_token_typing_DoublyLinkedList.piece_ghostly_connections", - "int_inversion", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Frag2_t", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0012266d384e1cb0af739b02c33f9220", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ccb6c885c53251c06c1796bea785bde", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_bcd69caee5c0a8f30b4b5a2702c5fcee", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_ee34ac562af661ae8d87b03924dd3e80", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mkpiece__item__phead", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "64937be104695635d9851be53bafddcd" - ], - [ - "DoublyLinkedList.dll_split_using", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", - "DoublyLinkedList_interpretation_Tm_arrow_67515729f19bcf2d961c429a16eec6f0", - "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", - "FStar.List.Tot.Properties_interpretation_Tm_ghost_arrow_583c096a402961cd40d8b718fb07bacc", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", - "FStar.Pervasives_interpretation_Tm_arrow_eb9b1a038524b37579c152a3f169145e", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_DoublyLinkedList.Mknode", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DoublyLinkedList.Frag2", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", - "equation_DoublyLinkedList.fragment_aa", - "equation_DoublyLinkedList.fragment_for_each0", - "equation_DoublyLinkedList.fragment_for_each1", - "equation_DoublyLinkedList.fragment_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.piece_fp0", - "equation_DoublyLinkedList.piece_ghostly_connections", - "equation_DoublyLinkedList.piece_valid", - "equation_DoublyLinkedList.tot_dll_to_fragment_split", - "equation_DoublyLinkedList.tot_piece_to_dll", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.fragment_aa0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_aa_lr.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.fragment_ghostly_connections.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.List.Tot.Properties.split_using", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4b5371ade7ad9017745f7ed26082816f", - "kinding_DoublyLinkedList.node@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedList.loc_equiv_union_union_loc", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_1", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mkpiece_phead", - "proj_equation_DoublyLinkedList.Mkpiece_pnodes", - "proj_equation_DoublyLinkedList.Mkpiece_ptail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Frag2__0", - "projection_inverse_DoublyLinkedList.Frag2__1", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_DoublyLinkedList.Mkpiece_phead", - "projection_inverse_DoublyLinkedList.Mkpiece_pnodes", - "projection_inverse_DoublyLinkedList.Mkpiece_ptail", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_019e2778ae7794508eed7500312ddd73", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_17d8549cde5689aad97babfebede2932", - "refinement_interpretation_Tm_refine_1c64adda5c7e63e25cc91fd733045080", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_65079789b5ee069d4dcb71b5d5562419", - "refinement_interpretation_Tm_refine_6e14d887d8a2f331e441fa58c68d3a85", - "refinement_interpretation_Tm_refine_774f7ae5017fb58700597faf7e3bcccd", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5f90df9a00fb1f306857e80bd78f6ce", - "token_correspondence_DoublyLinkedList.piece_aa", - "token_correspondence_DoublyLinkedList.piece_conn", - "token_correspondence_DoublyLinkedList.piece_contained", - "token_correspondence_DoublyLinkedList.piece_ghostly_connections", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.split_using", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pervasives.Native.snd", "true_interp", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.__proj__Mkpiece__item__pnodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.empty_list", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedList.piece_fp0", "typing_FStar.Ghost.elift1", - "typing_FStar.Ghost.elift2_p", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.hd", - "typing_FStar.List.Tot.Base.index", - "typing_FStar.List.Tot.Base.last", "typing_FStar.List.Tot.Base.tl", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2", - "typing_Tm_abs_4b5371ade7ad9017745f7ed26082816f" - ], - 0, - "4350d6eb5382f65d761d621b9b1ab24c" - ] - ] -] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fst b/examples/doublylinkedlist/DoublyLinkedListIface.fst index 4ec0389dfad..a29d0047f76 100644 --- a/examples/doublylinkedlist/DoublyLinkedListIface.fst +++ b/examples/doublylinkedlist/DoublyLinkedListIface.fst @@ -563,8 +563,8 @@ let prev_node d n = /// code. The rest of this interface lets you talk about these /// operations easily. -#set-options "--z3rlimit 20 --max_fuel 2 --max_ifuel 1" - +#set-options "--z3rlimit 200 --max_fuel 2 --max_ifuel 1" +#restart-solver let dll_insert_at_head #t d n = let h00 = HST.get () in HST.push_frame (); @@ -580,8 +580,8 @@ let dll_insert_at_head #t d n = #reset-options -#set-options "--z3rlimit 40 --max_fuel 2 --max_ifuel 1" - +#set-options "--z3rlimit 400 --max_fuel 2 --max_ifuel 1" +#restart-solver let dll_insert_at_tail #t d n = let h00 = HST.get () in HST.push_frame (); diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints deleted file mode 100644 index b791f854a5a..00000000000 --- a/examples/doublylinkedlist/DoublyLinkedListIface.fst.hints +++ /dev/null @@ -1,4500 +0,0 @@ -[ - "ÎæòÚ‰\u00133\u0004n…<õMº", - [ - [ - "DoublyLinkedListIface.op_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e" - ], - 0, - "08729408652449da32d9d02bdf6d068c" - ], - [ - "DoublyLinkedListIface.op_Hat_At", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_49875fd7a8a9e5d480065968845f9c04", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "1de164982449ce2f58379f269b73179d" - ], - [ - "DoublyLinkedListIface.node_val", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_DoublyLinkedList.node", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_e10c1992bdd18db894f0464be4aa022f", - "typing_DoublyLinkedList.__proj__Mknode__item__p" - ], - 0, - "533b95d3549485816c56919fa6993a6b" - ], - [ - "DoublyLinkedListIface.node_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_DoublyLinkedList.empty_node", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_264f9257c374d8f2bf67ecf52ac7ad2f", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_DoublyLinkedList.empty_node", - "typing_DoublyLinkedListIface.fp_node", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.int" - ], - 0, - "6a76f35d8ea119c6bd5c89f12cfe431b" - ], - [ - "DoublyLinkedListIface.node_update", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_DoublyLinkedList.Mknode@tok", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_DoublyLinkedListIface.unchanged_node_connections", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "fuel_guarded_inversion_DoublyLinkedList.node", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_DoublyLinkedList.Mknode_flink", - "proj_equation_DoublyLinkedList.Mknode_p", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mknode_blink", - "projection_inverse_DoublyLinkedList.Mknode_flink", - "projection_inverse_DoublyLinkedList.Mknode_p", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a39a4faa068de1c65b3794e3f47d3e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e10c1992bdd18db894f0464be4aa022f", - "true_interp", "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "2e4303b7ec3f1f1585099045c931e4eb" - ], - [ - "DoublyLinkedListIface.unchanged_node_vals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "19fb8088784ea6556a507413ecd18797" - ], - [ - "DoublyLinkedListIface.g_node_vals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "06800c91b3d0f79a591a8d3f11e4c717" - ], - [ - "DoublyLinkedListIface.dll_new", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "eq2-interp", "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.empty_list", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_GreaterThan", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_13aba8ad77992b089bfdab8aec42610b", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.empty_list", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedListIface.fp_dll", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Set.singleton", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.int" - ], - 0, - "f051f9f9b7b3db1264dadadde26c2fab" - ], - [ - "DoublyLinkedListIface.is_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ec814aec74b20c7d6ff710cec395f03", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "c7b4b3012df81cb8dbff863c53552023" - ], - [ - "DoublyLinkedListIface.dll_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_DoublyLinkedListIface.node", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "f0d966761763235f77b293e9c3e6d1bc" - ], - [ - "DoublyLinkedListIface.dll_head", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "eq2-interp", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_a4a1650981812a3c0d700fae854d4f80", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "3673a902739425c92b52c848b22fa697" - ], - [ - "DoublyLinkedListIface.dll_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" - ], - 0, - "97d682a90762b98ef9c556526b4c39f2" - ], - [ - "DoublyLinkedListIface.dll_tail", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "eq2-interp", "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_a4a1650981812a3c0d700fae854d4f80", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedListIface.node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "57e49759cc8d6514fc4f3e2924e81b1c" - ], - [ - "DoublyLinkedListIface.lemma_node_in_valid_dll_is_valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_LowStar.Monotonic.Buffer.get", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "27f5b887e6647c4e8f057c2243739b46" - ], - [ - "DoublyLinkedListIface._lemma_nodelist_contained_in_unmodified_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "projection_inverse_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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "8ae59f35df43a1e3268070c77a543e42" - ], - [ - "DoublyLinkedListIface._lemma_nodelist_conn_in_unmodified_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "projection_inverse_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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", - "unit_typing" - ], - 0, - "4ae7a70a08d813b9d66ac116e54f7d59" - ], - [ - "DoublyLinkedListIface._lemma_nodelist_disjoint_in_push", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "fd5b5bd00c0c4cccb670115fb0dcfc84" - ], - [ - "DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "1c9399586ca86e4bd478bdaab1382296" - ], - [ - "DoublyLinkedListIface._lemma_dll_valid_and_unchanged_through_pop", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_dll", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "34c1bfd6e7bf93770b84462355e142c5" - ], - [ - "DoublyLinkedListIface._auto_dll_modified_with_push_pop", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "ff62fc48792fcb40fac91add8786ee88" - ], - [ - "DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_dll", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "4212d9f36fedeba5d498bd3be9946fe7" - ], - [ - "DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_FStar.List.Tot.Base.hd", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "bc7991ce268360e282370c0365dcaea9" - ], - [ - "DoublyLinkedListIface._lemma_unchanged_node_vals_transitive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "292f859140c493909617771b9344d624" - ], - [ - "DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "2d4d2cae8826a41a4bc1fadb67ab29f5" - ], - [ - "DoublyLinkedListIface._auto_pred_nl_disjoint_push", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_Prims.int" - ], - 0, - "288d080e4399ebfa9cb1e1bdb2ab9c33" - ], - [ - "DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "true_interp" - ], - 0, - "de4fb4f01eeab8e4d991bb101b8bb159" - ], - [ - "DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_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_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "47fb10a525110ba92ca65f20405fedb7" - ], - [ - "DoublyLinkedListIface._lemma_unchanged_node_vals_when_disjoint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "projection_inverse_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_573cfed777dae20cc82e8fef9622857e", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.nodelist_fp0", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "a80aa9d00313a2604a3b4ffa452bb632" - ], - [ - "DoublyLinkedListIface._lemma_unchanged_node_vals_stays_valid0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "int_typing", "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "3dadc955a2305c4f8629e4c8993c96a9" - ], - [ - "DoublyLinkedListIface._lemma_node_in_list_is_included", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "binder_x_d8fdf051d6079d1de957e0d41956a7f4_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "kinding_DoublyLinkedList.node@tok", "l_or-interp", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_9cb7520238d94c19c5c6abfdaba87763", - "refinement_interpretation_Tm_refine_abb737bf606a41c217b52ce6334abde3", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "0cefbb37fa6b0a203c074f9548d1288b" - ], - [ - "DoublyLinkedListIface._lemma_node_in_list_or_null_is_included", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_imp-interp", "l_not-interp", - "lemma_DoublyLinkedList.lemma_non_null", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b9638aef40546f8e423a60bef66c1127", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_DoublyLinkedList.nodelist_fp0", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "1f1ce89af0829b954c336147e62202e3" - ], - [ - "DoublyLinkedListIface._lemma_prev_node_in_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.l_imp", "equation_Prims.l_not", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3c04dcaec6d7c4fe4a51245a5a77e38a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5704a6fa03e0d1adecb1d67a11a15306", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.hd", - "typing_FStar.List.Tot.Base.tl", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" - ], - 0, - "87767c4e121b9d27965196a2d4f54076" - ], - [ - "DoublyLinkedListIface._lemma_next_node_in_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_21808f8b9a0709afbf1abe56b0923ce2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "2a1bc25fef931741d8c0e181ec1e1df2" - ], - [ - "DoublyLinkedListIface._lemma_insertion_maintains_memP", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList._l_insert_after", - "equation_DoublyLinkedList._l_insert_before", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eq2", - "equation_Prims.logical", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.equals@tok", - "l_or-interp", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_61bbd3cde1f3e4f25b70f4528e2397a7", - "refinement_interpretation_Tm_refine_8e71700f15cfd6762db717902a479c9d", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "typing_FStar.List.Tot.Properties.split_using", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.squash" - ], - 0, - "065c74cd3f351cc58b185c3fed021bdb" - ], - [ - "DoublyLinkedListIface._lemma_insertion_maintains_memP", - 2, - 2, - 1, - [ "@query" ], - 0, - "1bf011226c06d8b400835c5aba254acb" - ], - [ - "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_d8fdf051d6079d1de957e0d41956a7f4_5", - "binder_x_d8fdf051d6079d1de957e0d41956a7f4_6", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList._l_insert_after", - "equation_DoublyLinkedList._l_insert_before", - "equation_DoublyLinkedListIface.node", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eq2", - "equation_Prims.l_imp", "equation_Prims.logical", - "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.equals@tok", - "l_and-interp", "l_imp-interp", "l_not-interp", "l_or-interp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_48efbd0827b4e156a1bc869f54b17744", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Properties.split_using", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.squash" - ], - 0, - "6053cf07a78219360c9f9257f01e69f9" - ], - [ - "DoublyLinkedListIface._lemma_insertion_maintains_unchanged_node_vals", - 2, - 2, - 1, - [ "@query" ], - 0, - "10ca3a96d2d31f1542cae6a7126307ce" - ], - [ - "DoublyLinkedListIface._lemma_unchanged_node_vals_maintains_changes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "5c475e78a3b5a30556cd868f9f14209b" - ], - [ - "DoublyLinkedListIface._lemma_append_contains", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.node", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "c4dbd7ff90385e9ae73c70d6ee13a63e" - ], - [ - "DoublyLinkedListIface._lemma_append_g_node_vals", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", - "typing_DoublyLinkedListIface.g_node_vals", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "41ce86587095361cb5a3a92dc61fb89b" - ], - [ - "DoublyLinkedListIface._lemma_unchanged_node_vals_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_3", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "2d7b7a238976bfe9537bc6e71c08388d" - ], - [ - "DoublyLinkedListIface._lemma_extract_unchanged_node_val", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_4", - "binder_x_d8fdf051d6079d1de957e0d41956a7f4_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedListIface.node", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_or-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_07389c3c2ef839235caf1c57f2f6e04d", - "refinement_interpretation_Tm_refine_65d23ea2899ec909f44dcc9816e6faa4", - "subterm_ordering_Prims.Cons", "typing_DoublyLinkedListIface.node" - ], - 0, - "bb06f5b5d547e5201e1b5a2e0eb16673" - ], - [ - "DoublyLinkedListIface._lemma_split_using_splitAt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eq2", - "equation_Prims.l_imp", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_imp-interp", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2b44363072cdbb7c747614771b3f82c0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "subterm_ordering_Prims.Cons", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2" - ], - 0, - "5fa7fa24c156ca06d6d719f2fed19a2c" - ], - [ - "DoublyLinkedListIface._lemma_split_using_splitAt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8e7fee149f6d3fe1f313357a59e27cef" - ], - [ - "DoublyLinkedListIface._lemma_length_g_node_vals", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DoublyLinkedListIface.node", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "typing_DoublyLinkedListIface.g_node_vals", - "typing_DoublyLinkedListIface.node", "typing_Prims.int" - ], - 0, - "b99879e70e9df59f76a613b475bacb57" - ], - [ - "DoublyLinkedListIface._lemma_length_g_node_vals", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8a44c48bdd18ce131b6dadd58f504b2e" - ], - [ - "DoublyLinkedListIface.has_next", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" - ], - 0, - "88274e856f5cacd453d44b70c8cf8196" - ], - [ - "DoublyLinkedListIface.has_next", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_DoublyLinkedList.dll", "int_inversion", - "int_typing", "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_49234cd9e5352af9d0704ba9daf32b7a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c3559e42bd1f632f58e507392d8ac0f3", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Properties.index_of", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "1e2271ee137db61141b824b865cf47bf" - ], - [ - "DoublyLinkedListIface.has_prev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" - ], - 0, - "cc9bb7649df251b2aaaf17f8a84a48ec" - ], - [ - "DoublyLinkedListIface.has_prev", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "bool_typing", "disc_equation_Prims.Cons", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "l_or-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_49234cd9e5352af9d0704ba9daf32b7a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c3559e42bd1f632f58e507392d8ac0f3", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.tl", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.eq2" - ], - 0, - "f50d81e2b7972af0f3f853627ab926ec" - ], - [ - "DoublyLinkedListIface.next_node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b7f486949c030b94228e6106566a490", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "36ba22c633f5ce101b5066949ba4da95" - ], - [ - "DoublyLinkedListIface.next_node", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@query", "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "fuel_guarded_inversion_DoublyLinkedList.node", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c08fd6c70007b77841c62de6ee042a0d", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.index" - ], - 0, - "9ebb6db1ff732887bb44a84bbf173a45" - ], - [ - "DoublyLinkedListIface.prev_node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_98e6e2f79e76c56949096085c8061d51", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "bd8a044f3949f62497bc56940cbffc1a" - ], - [ - "DoublyLinkedListIface.prev_node", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_DoublyLinkedList.node@tok", - "l_and-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5704a6fa03e0d1adecb1d67a11a15306", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_af8facfa203783c438c3b5ab298321ca", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "token_correspondence_FStar.List.Tot.Properties.index_of.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", "typing_FStar.List.Tot.Base.hd", - "typing_FStar.List.Tot.Base.index", "typing_FStar.List.Tot.Base.tl", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LowStar.Buffer.trivial_preorder", "typing_Prims.eq2" - ], - 0, - "4b678d88402e0fc71f33fe67f2252b92" - ], - [ - "DoublyLinkedListIface.l_insert_before", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" - ], - 0, - "2456f840f99c919f5bd824cc4b78836d" - ], - [ - "DoublyLinkedListIface.l_insert_after", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "e040c103fc67244d16b59e3551f7beda" - ], - [ - "DoublyLinkedListIface.l_insert_after'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_513bd087ae2f2716a3ebb59386c2db50", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "1aff812503d6081d619066235c9f026e" - ], - [ - "DoublyLinkedListIface.l_remove_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "16eeecd18241b81678242c3529b8e609" - ], - [ - "DoublyLinkedListIface.l_remove_mid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "7c8040c78fa5b83b3b79db4cd22c7211" - ], - [ - "DoublyLinkedListIface.l_remove_mid'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "ff6c6317a808f7405d60c263b8df7e52" - ], - [ - "DoublyLinkedListIface.dll_insert_at_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.l_insert_at_head", - "equation_DoublyLinkedListIface.loc_equiv", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.last", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "05a18297faeddb083d03773c7ff0fefa" - ], - [ - "DoublyLinkedListIface.dll_insert_at_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.l_insert_at_tail", - "equation_DoublyLinkedListIface.loc_equiv", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.List.Tot.Properties.lemma_snoc_unsnoc", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "e347ffe2344cb786f980804a3de5f60a" - ], - [ - "DoublyLinkedListIface.dll_insert_before", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" - ], - 0, - "229a918dc6e103f029a3289de405a53f" - ], - [ - "DoublyLinkedListIface.dll_insert_before", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equation_DoublyLinkedList._l_insert_before", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.l_insert_before", - "equation_DoublyLinkedListIface.l_insert_before_", - "equation_DoublyLinkedListIface.loc_equiv", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_DoublyLinkedListIface.unchanged_node_val", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_imp", "equation_Prims.l_not", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_modified_with_push_pop", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_through_push_pop", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem_2", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3c04dcaec6d7c4fe4a51245a5a77e38a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Properties.split_using", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.create", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "1008263a9b126d9d0c71daee5f990011" - ], - [ - "DoublyLinkedListIface.dll_insert_after", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "typing_Prims.int" - ], - 0, - "f56e4890b6bba458dfac9965f7151ece" - ], - [ - "DoublyLinkedListIface.dll_insert_after", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "eq2-interp", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.node_not_in_dll", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.l_imp", "equation_Prims.l_not", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_21808f8b9a0709afbf1abe56b0923ce2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "4c07177f7aff8763f5a435c066844c4d" - ], - [ - "DoublyLinkedListIface.dll_remove_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", "int_inversion", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "253dcd4cb23ed0b4d1ca0beb878e2ae8" - ], - [ - "DoublyLinkedListIface.dll_remove_head", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_not-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_flink", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "9227683d5dae33f37284e38007793279" - ], - [ - "DoublyLinkedListIface.dll_remove_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", "int_inversion", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "265a59b9810f8bdfb9a4a15a8863584f" - ], - [ - "DoublyLinkedListIface.dll_remove_tail", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_47add9cc1545ad6564ffcb3d104fe1ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_a4b0a7d258ca4a7565c9e4d07a20f2fc", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.index", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "66343ad538ee645295e3181b1d81e36e" - ], - [ - "DoublyLinkedListIface.dll_remove_mid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "data_elim_Prims.Cons", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.node", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7a3b887478da9d11fd253c0bb94bb7ba", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", "typing_Prims.int" - ], - 0, - "cc725156e50116e8c740c9f69ddca781" - ], - [ - "DoublyLinkedListIface.dll_remove_mid", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_or-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mknode_flink", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "08ec1c7db7005010db2febca19fb3573" - ], - [ - "DoublyLinkedListIface.dll_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_stays_valid", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.pointer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "2b5eb5e2e0c860e67e368be5d9e6a5fb" - ], - [ - "DoublyLinkedListIface.dll_split_using", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" - ], - 0, - "d1159193b470f1cf7e58ee315f906109" - ], - [ - "DoublyLinkedListIface.dll_split_using", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.unchanged_node_vals.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.loc_equiv", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedList.unchanged_node_val", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.l_imp", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.unchanged_node_vals.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface._pred_nl_disjoint.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_DoublyLinkedListIface._auto_dll_assign_valid_stays_valid", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push", - "lemma_DoublyLinkedListIface._auto_pred_nl_disjoint_push", - "lemma_DoublyLinkedListIface._auto_unchanged_node_vals_DLL", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_idem", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_flink", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_hd", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_47add9cc1545ad6564ffcb3d104fe1ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_a4b0a7d258ca4a7565c9e4d07a20f2fc", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.__proj__Mknode__item__blink", - "typing_DoublyLinkedList.__proj__Mknode__item__flink", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_FStar.List.Tot.Base.hd", "typing_FStar.List.Tot.Base.index", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "7f8ecec05b9ecf9370d8ea8a3fb2d62d" - ], - [ - "DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Nil", - "eq2-interp", "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "kinding_Prims.list@tok", - "l_and-interp", "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mkdll_nodes", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.__proj__Mkdll__item__nodes", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.node", "typing_FStar.Ghost.reveal", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "49cf4bf8730e7b00beee9f6b043b1c16" - ], - [ - "DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "0dadb0bf0f732c8b64d458625f2e60d9" - ], - [ - "DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "int_typing", "kinding_DoublyLinkedList.dll@tok", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedListIface.fp_dll", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "93419f49c295cfa925c7bd4f267ea9bd" - ], - [ - "DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "int_typing", "kinding_DoublyLinkedList.dll@tok", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedListIface.fp_dll", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "08bb9362a9cd6ce6c8646902e775a9c7" - ], - [ - "DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_Prims.list", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", - "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "subterm_ordering_Prims.Cons", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_dll", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "8feab9405ded3bf0b4c596d071c18698" - ], - [ - "DoublyLinkedListIface.auto_node_val_staying_unchanged", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.g_node_val", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "61553e9780a2d7276807c9ad0111891c" - ], - [ - "DoublyLinkedListIface.auto_node_in_list_is_included", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@query", "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.fp_dll", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "int_typing", "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.dll_fp0", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "59d30c2f86b4a58fa7b4bbe59f39bacb" - ], - [ - "DoublyLinkedListIface.auto_node_in_list_is_valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.node_valid", - "equation_LowStar.Monotonic.Buffer.get", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "98f5b7dc87a0796145398f4bef3d8ec6" - ], - [ - "DoublyLinkedListIface.auto_unchanged_node_connections_list_unchanged", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "fuel_guarded_inversion_DoublyLinkedList.node", "int_typing", - "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_node", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "7c8b624fa3faf7549c936df93e005360" - ], - [ - "DoublyLinkedListIface.auto_unchanged_node_connections_dll_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "@fuel_irrelevance_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_DoublyLinkedList.Mkdll", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_DoublyLinkedList.dll_aa", - "equation_DoublyLinkedList.dll_conn", - "equation_DoublyLinkedList.dll_contained", - "equation_DoublyLinkedList.dll_fp0", - "equation_DoublyLinkedList.dll_ghostly_connections", - "equation_DoublyLinkedList.dll_valid", - "equation_DoublyLinkedList.nodelist", - "equation_DoublyLinkedList.nodelist_aa", - "equation_DoublyLinkedList.op_Bar_Greater_Greater", - "equation_DoublyLinkedList.op_Less_Less_Bar", - "equation_DoublyLinkedListIface.as_list", - "equation_DoublyLinkedListIface.dll", - "equation_DoublyLinkedListIface.dll_valid", - "equation_DoublyLinkedListIface.fp_node", - "equation_DoublyLinkedListIface.node", - "equation_DoublyLinkedListIface.unchanged_node_connections", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.pointer_or_null", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_imp", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_l.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_aa_r.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_conn.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_contained0.fuel_instrumented", - "equation_with_fuel_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_DoublyLinkedList.dll", - "fuel_guarded_inversion_DoublyLinkedList.node", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_DoublyLinkedList.dll@tok", - "kinding_DoublyLinkedList.node@tok", "l_and-interp", "l_imp-interp", - "l_not-interp", "l_or-interp", - "lemma_DoublyLinkedList._auto_empty_dll", - "lemma_DoublyLinkedList.lemma_non_null", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_DoublyLinkedList.Mkdll_lhead", - "proj_equation_DoublyLinkedList.Mkdll_ltail", - "proj_equation_DoublyLinkedList.Mknode_blink", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_0326aeed61215cbbc0acb304a3692c19", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_600c946ca507e1cda74d8dc5a459a36f", - "refinement_interpretation_Tm_refine_ad374dd2c3b77cf0e9d91c82852c9c61", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "refinement_interpretation_Tm_refine_cd18e9962a0d204005dcfcda04529ffc", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "refinement_interpretation_Tm_refine_ffeefbc2951f1d73f158001764fea3d5", - "token_correspondence_DoublyLinkedList.nodelist_fp0.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_DoublyLinkedList.__proj__Mkdll__item__lhead", - "typing_DoublyLinkedList.__proj__Mkdll__item__ltail", - "typing_DoublyLinkedList.nodelist_fp0", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.List.Tot.Properties.index_of", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mnull", "typing_Prims.int", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "ff28e5e06a19646c6896e2eb3cd92519" - ], - [ - "DoublyLinkedListIface.auto_dll_push_pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "321c46c0359cabcd03a10c19d877d084" - ], - [ - "DoublyLinkedListIface.auto_dll_fp_push_pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "6a03ada93a85bc3b63f1b9e3b9ed5de7" - ], - [ - "DoublyLinkedListIface.auto_dll_fp_disjoint_push", - 1, - 2, - 1, - [ - "@query", "equation_DoublyLinkedListIface.fp_dll", - "lemma_DoublyLinkedListIface._auto_dll_fp_disjoint_from_push", - "lemma_DoublyLinkedListIface._auto_dll_valid_and_unchanged_through_push" - ], - 0, - "a0b4c002ed444938ec7c372cfaada084" - ] - ] -] \ No newline at end of file diff --git a/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints b/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints deleted file mode 100644 index 0cce2fc4086..00000000000 --- a/examples/doublylinkedlist/DoublyLinkedListIface.fsti.hints +++ /dev/null @@ -1,368 +0,0 @@ -[ - "‹Y4Éòn?EäLX\rÅ\u001c€P", - [ - [ - "DoublyLinkedListIface.g_node_vals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5529d1ec063451477f1e5ac4ca5ccdc8_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "9114cd9921605812e398e2cdbcea1704" - ], - [ - "DoublyLinkedListIface.dll_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_DoublyLinkedListIface.node", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "72e4ca8d105aa3f9dd97ff45ab7e60d2" - ], - [ - "DoublyLinkedListIface.dll_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd" - ], - 0, - "97d682a90762b98ef9c556526b4c39f2" - ], - [ - "DoublyLinkedListIface.has_next", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" - ], - 0, - "f36d88d52d75dcae363a00d3dcd7298a" - ], - [ - "DoublyLinkedListIface.has_prev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bceef2fe1a51f9aee1e75c41c68a03e" - ], - 0, - "cc9bb7649df251b2aaaf17f8a84a48ec" - ], - [ - "DoublyLinkedListIface.next_node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b7f486949c030b94228e6106566a490", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "06c5dfa043d078ac0415d6fc94ffd6aa" - ], - [ - "DoublyLinkedListIface.prev_node", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_98e6e2f79e76c56949096085c8061d51", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599" - ], - 0, - "bd8a044f3949f62497bc56940cbffc1a" - ], - [ - "DoublyLinkedListIface.l_insert_before", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71" - ], - 0, - "06fc8ea0fa11959daf282ca126724293" - ], - [ - "DoublyLinkedListIface.l_insert_after", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18b4556aabc6626d8d5bc2bb83aa5d71", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "449b0cadecc08cdb4c91353fef801bc5" - ], - [ - "DoublyLinkedListIface.l_insert_after'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_513bd087ae2f2716a3ebb59386c2db50", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "3b080fd5ff95fec8dc9f3c883a82dce1" - ], - [ - "DoublyLinkedListIface.l_remove_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "40394535b8c4ed296f934f5171c4e8b7" - ], - [ - "DoublyLinkedListIface.l_remove_mid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_Prims.list@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "7c8040c78fa5b83b3b79db4cd22c7211" - ], - [ - "DoublyLinkedListIface.l_remove_mid'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "9ec75cd607751d5ac909c0cfaec0b945" - ], - [ - "DoublyLinkedListIface.dll_insert_before", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795" - ], - 0, - "3a006e8b67bdc7d40b12496709464247" - ], - [ - "DoublyLinkedListIface.dll_insert_after", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d912e105966ac35136c583fe866a795", - "refinement_interpretation_Tm_refine_ce52b7121c636592230bd67a03c02599", - "typing_Prims.int" - ], - 0, - "1f333409e6135a1d38b25304323fe571" - ], - [ - "DoublyLinkedListIface.dll_remove_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node" - ], - 0, - "cff8d525c51ef10683e77d4af9c5acb1" - ], - [ - "DoublyLinkedListIface.dll_remove_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node" - ], - 0, - "46e4cb967fa85ba2bcba2cbdd22ad42d" - ], - [ - "DoublyLinkedListIface.dll_remove_mid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "data_elim_Prims.Cons", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7a3b887478da9d11fd253c0bb94bb7ba", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.node", "typing_Prims.int" - ], - 0, - "9d18d01ff3faede57910b5f4e5213a05" - ], - [ - "DoublyLinkedListIface.dll_split_using", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75b973181c1e06bed5da9965f6c8c60c" - ], - 0, - "74df7ef289d400143986c3710bc907c4" - ] - ] -] \ No newline at end of file diff --git a/examples/doublylinkedlist/Example.fst.hints b/examples/doublylinkedlist/Example.fst.hints deleted file mode 100644 index 40b60bb84ca..00000000000 --- a/examples/doublylinkedlist/Example.fst.hints +++ /dev/null @@ -1,258 +0,0 @@ -[ - "\u0006\r\\\u001au:͘¨·»ÜfΈ", - [ - [ - "Example.l_reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "fb32013f9097e1b8b9fd1404323dbaf1" - ], - [ - "Example.reverse", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_Example.l_reverse.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Example.l_reverse.fuel_instrumented", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.l_insert_at_tail", - "equation_DoublyLinkedListIface.l_remove_head", - "equation_DoublyLinkedListIface.loc_equiv", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_Example.l_reverse.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_dll_as_payload_list_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_dll_fp_disjoint_push", - "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_dll_push_pop", - "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_node_val_staying_unchanged", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_16cb19cdfda0ad15828e70e1c7f34226", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3aac47f90ec5f312f230a639872610fd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b639a91c64460c5c5ce01410bb80c64", - "refinement_interpretation_Tm_refine_a4a1650981812a3c0d700fae854d4f80", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.as_payload_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.mk_mem", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "e2bedeaaeff18b1e40356a67c5de9d43" - ], - [ - "Example.main", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "@fuel_correspondence_Example.l_reverse.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "eq2-interp", "equation_DoublyLinkedListIface.as_payload_list", - "equation_DoublyLinkedListIface.l_insert_at_head", - "equation_DoublyLinkedListIface.l_insert_at_tail", - "equation_DoublyLinkedListIface.loc_equiv", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "equation_with_fuel_Example.l_reverse.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_or-interp", - "lemma_DoublyLinkedListIface.auto_dll_as_list_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_dll_fp_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_dll_remains_valid_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_node_in_list_is_valid", - "lemma_DoublyLinkedListIface.auto_node_remains_valid_upon_staying_unchanged", - "lemma_DoublyLinkedListIface.auto_node_val_staying_unchanged", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_205904909c567fffb629bb94ad9ac0a5", - "refinement_interpretation_Tm_refine_24e46b1d75f685e4543ae80720596bfd", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "token_correspondence_DoublyLinkedListIface.g_node_vals.fuel_instrumented", - "token_correspondence_Example.l_reverse.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_DoublyLinkedListIface.as_list", - "typing_DoublyLinkedListIface.as_payload_list", - "typing_DoublyLinkedListIface.fp_dll", - "typing_DoublyLinkedListIface.fp_node", - "typing_DoublyLinkedListIface.g_node_val", - "typing_DoublyLinkedListIface.l_insert_at_head", - "typing_DoublyLinkedListIface.l_insert_at_tail", - "typing_DoublyLinkedListIface.node", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.t", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "b4ba690160802472965a42f76f76d10e" - ] - ] -] \ No newline at end of file diff --git a/examples/dsls/DSL.fst.config.json b/examples/dsls/DSL.fst.config.json index 5e232b24e01..d1360f24590 100644 --- a/examples/dsls/DSL.fst.config.json +++ b/examples/dsls/DSL.fst.config.json @@ -1,6 +1,7 @@ { "fstar_exe": "fstar.exe", "options": [ + "--z3version", "4.13.3" ], "include_dirs": [ "bool_refinement", diff --git a/examples/dsls/bool_refinement/BoolRefinement.fst.hints b/examples/dsls/bool_refinement/BoolRefinement.fst.hints deleted file mode 100644 index cc4b1fbf244..00000000000 --- a/examples/dsls/bool_refinement/BoolRefinement.fst.hints +++ /dev/null @@ -1,8794 +0,0 @@ -[ - "v×Uë®a\u000f\u001b8ã‘o¿l½\u0007", - [ - [ - "BoolRefinement.src_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9053874cb8a39189598c2dd8edd86380" - ], - [ - "BoolRefinement.__proj__EBVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5beaab0a0cb822040b33b63094cfb182" - ], - 0, - "b0a41ac09c52ae58819112c71d011664" - ], - [ - "BoolRefinement.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4f4cc18d7cb6b89788e0b876b116928f" - ], - 0, - "ba7a3f1a75f367fedb652024264a169d" - ], - [ - "BoolRefinement.__proj__EBool__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_168c349dc86262956010318ffe13df05" - ], - 0, - "7cc420f8181b0f1ce30492376441a74f" - ], - [ - "BoolRefinement.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" - ], - 0, - "497242817d516da60ba1f14a11c1bd17" - ], - [ - "BoolRefinement.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" - ], - 0, - "1c482dab0edcd49a6e05fade75775ad6" - ], - [ - "BoolRefinement.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b198e2a5ee86f76173c90ff76da11df" - ], - 0, - "1737887d92fcf7c68fefd4f812dbec78" - ], - [ - "BoolRefinement.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_74544a87820003d3da5fc1fceae92e9d" - ], - 0, - "0e6727b5640605a5f942db10e3d73329" - ], - [ - "BoolRefinement.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_74544a87820003d3da5fc1fceae92e9d" - ], - 0, - "14ee4e105d4432c09bde484c2927d8d4" - ], - [ - "BoolRefinement.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de89ed353c809082f1a8ecece9de3d70" - ], - 0, - "76cd3d5aa4c7f5e3a52acd41634cdc71" - ], - [ - "BoolRefinement.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de89ed353c809082f1a8ecece9de3d70" - ], - 0, - "468f145075b234b1a584f454225bf299" - ], - [ - "BoolRefinement.__proj__TRefineBool__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_406527302c6da820ab7e3a285919847e" - ], - 0, - "a13e623d4045cfcf81154adc709b386a" - ], - [ - "BoolRefinement.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0453f9fb437ed8ab5533c3c97d51bf09" - ], - 0, - "9eac06b28674fce928f8ca61807b3e86" - ], - [ - "BoolRefinement.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0453f9fb437ed8ab5533c3c97d51bf09" - ], - 0, - "36bcb4881730401f7114c22e7a73d386" - ], - [ - "BoolRefinement.size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_Prims.nat", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam" - ], - 0, - "6cbd369dc53b96dd74d96ad8b103fa65" - ], - [ - "BoolRefinement.freevars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", "typing_Prims.int", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "a00edba2373a43f7c29a72b6615c2f81" - ], - [ - "BoolRefinement.freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_BoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_BoolRefinement.TArrow", - "subterm_ordering_BoolRefinement.TRefineBool", "typing_Prims.int", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "ce49cd4d834b52f8f4c7289728ccf742" - ], - [ - "BoolRefinement.freevars", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3732f9fa0c4ba43cb0686db2c29c1cbc" - ], - [ - "BoolRefinement.closed", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "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", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_14325afa416989c0066ab029f087658e", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ec95b0f0893e8b67eec30e9b1abaac18", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", - "typing_BoolRefinement.uu___is_EVar", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "efc6539c6ae18b6e9c76190d15bd65af" - ], - [ - "BoolRefinement.closed", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.freevars_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f0fff958527d4f4597b2b970e7ab6ff1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.TArrow", - "subterm_ordering_BoolRefinement.TRefineBool", - "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.freevars_ty", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "57f2381160452adc389615716c67f780" - ], - [ - "BoolRefinement.closed", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4cbaa07a5127663d9f4eff78f879cd53" - ], - [ - "BoolRefinement.ln'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "equality_tok_BoolRefinement.TBool@tok", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "fcff1a156e759c3643d01528f04d38d7" - ], - [ - "BoolRefinement.ln'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.closed.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.closed_ty.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_80323c3d66356cb222289578ef1b08a6", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "subterm_ordering_BoolRefinement.TArrow", - "subterm_ordering_BoolRefinement.TRefineBool", - "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.uu___is_TBool", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "f4a7f7f494b81dd72ba11c57a172b242" - ], - [ - "BoolRefinement.ln_weaker", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_d7225297ca1a1ec6844d3652f1a46890_2", "bool_inversion", - "bool_typing", "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a1de8daedb3a03e65182911e08473885", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.ln_", "typing_BoolRefinement.uu___is_EBool" - ], - 0, - "0f1fd56c8728420072abe73a3f4e4f09" - ], - [ - "BoolRefinement.open_exp'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.size.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.size.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_2766dabfa1c1c844120e78979ec2dc8e_2", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "data_typing_intro_BoolRefinement.EVar@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.size.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", "typing_Prims.int" - ], - 0, - "573d851e27f85ac788b37b5bb17da89e" - ], - [ - "BoolRefinement.close_exp'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.size.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.size.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "data_typing_intro_BoolRefinement.EBVar@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.size.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", "typing_Prims.int" - ], - 0, - "fd11c99afd73c59bb0a1b264c3af8e5b" - ], - [ - "BoolRefinement.open_close'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_dc5292b576da372a4223f95ee7f8b59d_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_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.close_exp_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2d8e96c39798e1e082130b6232666557", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.close_exp_", - "typing_BoolRefinement.uu___is_EBool" - ], - 0, - "2588d7a0a01e31fec8da01c2d2c09efc" - ], - [ - "BoolRefinement.open_close", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_BoolRefinement.close_exp", "equation_BoolRefinement.ln", - "equation_BoolRefinement.open_exp", "equation_BoolRefinement.var", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ffeb99080ccb8fbc5c073dca13923d74" - ], - [ - "BoolRefinement.open_exp_ln", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_2766dabfa1c1c844120e78979ec2dc8e_2", - "binder_x_ae567c2fb75be05905677af440075565_3", "bool_inversion", - "bool_typing", "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1d495766eea1eae558a01510c67a5df6", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.ln_", "typing_BoolRefinement.open_exp_", - "typing_BoolRefinement.uu___is_EBool" - ], - 0, - "34afafd0c648af7ab7faf8a13dc3ec16" - ], - [ - "BoolRefinement.close_exp_ln", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "bool_typing", "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.close_exp_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_442ee6cee286700af52a675fdec2c1ae", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.close_exp_", "typing_BoolRefinement.ln_", - "typing_BoolRefinement.uu___is_EBool" - ], - 0, - "46a62e1a026f23fd65a0aaf8f8d7f996" - ], - [ - "BoolRefinement.open_exp_freevars", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_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_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.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", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_74a3ae2bc0d220be1777b879cbf5b0aa", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.freevars", "typing_BoolRefinement.open_exp_", - "typing_BoolRefinement.uu___is_EBool", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "88a81973524f9ffa33bf202ad329328a" - ], - [ - "BoolRefinement.open_exp_freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cbb3fc34c3f31827ab8e201797700638" - ], - [ - "BoolRefinement.close_exp_freevars", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.close_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_2376e64a19420a2dcb4825d8f730f7ed_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", - "bool_typing", "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.minus", - "equation_BoolRefinement.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", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "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", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_17baa873e4f316531a6f30748b8f12e2", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b74f81fe93387eaa5622a4d459a0007", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.close_exp_", - "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.ln_", - "typing_BoolRefinement.minus", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "d9a03932a376056a61105fc800b83265" - ], - [ - "BoolRefinement.close_exp_freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2f711b3df1b8aa72b2e29cb803db9c71" - ], - [ - "BoolRefinement.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c6ce8b9cf63119d4bfef487e8b6faf6d_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "8c9fda3553754880ef4a15196e8be9b6" - ], - [ - "BoolRefinement.src_env_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "05e680ad121d3961d3212afbdf2a48c4" - ], - [ - "BoolRefinement.fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c6ce8b9cf63119d4bfef487e8b6faf6d_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.var", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "8dc2ce5adad5f45e462089768daa8c68" - ], - [ - "BoolRefinement.fresh_not_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.fresh.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0b786408b58817d9d51c8b3776b1194f_3", - "binder_x_c6ce8b9cf63119d4bfef487e8b6faf6d_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_BoolRefinement.max", "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.fresh.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "bc75d2b16cdec6f0bd364f3b9ae5c6a5" - ], - [ - "BoolRefinement.lookup_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_21122f7702b6e827c14a45fff63cf106_3", - "binder_x_c6ce8b9cf63119d4bfef487e8b6faf6d_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75e9489f9a82301c94f44408a1c9d7c5", - "refinement_interpretation_Tm_refine_f4dc1b68cc17e060b6318695ab882a5d", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.lookup", - "typing_FStar.Pervasives.Native.uu___is_Some", "unit_inversion", - "unit_typing" - ], - 0, - "a80cd5a36b285d709fba82638ef64e95" - ], - [ - "BoolRefinement.fresh_is_fresh", - 1, - 2, - 1, - [ - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BoolRefinement.s_ty", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.src_eqn", - "kinding_FStar.Pervasives.either@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "typing_BoolRefinement.fresh", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.src_eqn" - ], - 0, - "c0fcc6e155bbcffb89fe966025424204" - ], - [ - "BoolRefinement.elab_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", "bool_inversion", - "data_elim_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "equality_tok_BoolRefinement.TBool@tok", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "primitive_Prims.op_Equality", - "proj_equation_BoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "typing_BoolRefinement.uu___is_EIf", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "c9bfa68543d6c06bf0bab3edbd6caaa8" - ], - [ - "BoolRefinement.elab_exp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "equality_tok_BoolRefinement.TBool@tok", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_BoolRefinement.TArrow", - "subterm_ordering_BoolRefinement.TRefineBool", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "9313f292737bf78f23dd8da86cff891c" - ], - [ - "BoolRefinement.elab_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_BoolRefinement.binding", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_eqn", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7abf8ba7e92d7274649c25d8716e5674" - ], - [ - "BoolRefinement.extend_env_equiv", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_7ca10436ba639732f9a996071c1e4029", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.as_bindings", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.extend_env_alt", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "interpretation_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "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", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.as_bindings", - "typing_BoolRefinement.binding", - "typing_FStar.Reflection.Typing.binding", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f" - ], - 0, - "2f56fe4e4429fdceeb10236f930e0b70" - ], - [ - "BoolRefinement.extend_env_alt_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.extend_env_l.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_2", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.as_bindings", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.extend_env_alt", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.bindings", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.as_bindings", - "typing_BoolRefinement.binding", - "typing_BoolRefinement.extend_env_alt", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Reflection.Typing.binding", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f" - ], - 0, - "bb93db1896f42372b61a5f5e4415ad79" - ], - [ - "BoolRefinement.__proj__S_Refl__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_826d1694ed3e02ed85441e1d3a258886" - ], - 0, - "b107a98c565b3cd3c45df20dfdd247f1" - ], - [ - "BoolRefinement.__proj__S_Refl__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_826d1694ed3e02ed85441e1d3a258886" - ], - 0, - "a4dc5de745d497404f6cffce796cbd15" - ], - [ - "BoolRefinement.__proj__S_ELab__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" - ], - 0, - "f03f3a4da8d20f12e6bfda06bacfca7a" - ], - [ - "BoolRefinement.__proj__S_ELab__item__t0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" - ], - 0, - "5116d1a0ef8e1e35069c5586badad29c" - ], - [ - "BoolRefinement.__proj__S_ELab__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" - ], - 0, - "3661fb084fe38d314df360ccc5a2f700" - ], - [ - "BoolRefinement.__proj__S_ELab__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.S_ELab", - "refinement_interpretation_Tm_refine_1412cccb2ad988db243171dbc0c5d5d7" - ], - 0, - "e7e73659203428fdc398e8c620f03b18" - ], - [ - "BoolRefinement.src_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "data_typing_intro_BoolRefinement.TArrow@tok", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.closed.fuel_instrumented", - "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "1f289e44b88416495fb8a7b209e2a7c2" - ], - [ - "BoolRefinement.src_typing", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TRefineBool", - "data_typing_intro_BoolRefinement.TRefineBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "typing_BoolRefinement.closed", "typing_BoolRefinement.ln", - "typing_BoolRefinement.ln_ty" - ], - 0, - "a2a2c540c0d17e15c705a108abdfb332" - ], - [ - "BoolRefinement.src_typing", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "data_typing_intro_BoolRefinement.TArrow@tok", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" - ], - 0, - "5392c8e8b5def9d47e1a8219f6afcee5" - ], - [ - "BoolRefinement.src_typing", - 4, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "63aa69133cb3db9cc5b5212866c6246c" - ], - [ - "BoolRefinement.src_typing", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.TBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_exp", - "equation_BoolRefinement.var", - "equation_FStar.Stubs.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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "typing_BoolRefinement.freevars", "typing_BoolRefinement.ln", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_Prims.int", "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "1989269d6a75d9d919616fa2432f1e24" - ], - [ - "BoolRefinement.src_typing", - 6, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "data_typing_intro_BoolRefinement.TArrow@tok", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" - ], - 0, - "96fad91177061ed34625baed96ed29b8" - ], - [ - "BoolRefinement.src_typing", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b786106913d1ad21947d532c042a1251" - ], - [ - "BoolRefinement.src_typing", - 8, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented" - ], - 0, - "d82da2bf76a63cfd3818c48155f69f6a" - ], - [ - "BoolRefinement.src_typing", - 9, - 2, - 2, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Inl", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_Prims.nat", "int_inversion", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "9c59f223ab062eb0760ea2d3a05df26e" - ], - [ - "BoolRefinement.src_typing", - 10, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "0b4e1151786ae2149ccaef9b15f22251" - ], - [ - "BoolRefinement.__proj__T_Bool__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_88bdb3d0bffd1287de9d0e894f0a796a" - ], - 0, - "f56ce7b7737469d8745869ccc825eb27" - ], - [ - "BoolRefinement.__proj__T_Bool__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_88bdb3d0bffd1287de9d0e894f0a796a" - ], - 0, - "fea552d3bbccbaaa6f8b6517a606faf9" - ], - [ - "BoolRefinement.__proj__T_Var__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_db87d0f9eefa0bcb3263e8301521f248" - ], - 0, - "d28d071e7096b4f37d814387ffbe7b63" - ], - [ - "BoolRefinement.__proj__T_Var__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_Var", - "refinement_interpretation_Tm_refine_db87d0f9eefa0bcb3263e8301521f248" - ], - 0, - "8b654ef152dea2220e9110dc54d5cf74" - ], - [ - "BoolRefinement.__proj__T_Lam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "82d8e8c7063c41cdcac139d50245a135" - ], - [ - "BoolRefinement.__proj__T_Lam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "9bfe46d242b66fcb2eceab3089a404b9" - ], - [ - "BoolRefinement.__proj__T_Lam__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "2f0e0bb25c893b8b78fde6ccfac65380" - ], - [ - "BoolRefinement.__proj__T_Lam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "0977e5de22e85ffb3e15c70e8a3341f0" - ], - [ - "BoolRefinement.__proj__T_Lam__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "58c88c33b2135f502a7256160d7a8a75" - ], - [ - "BoolRefinement.__proj__T_Lam__item__x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_Lam", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3", - "typing_Prims.int" - ], - 0, - "df39cec8de99b675996a438c2ac9301a" - ], - [ - "BoolRefinement.__proj__T_Lam__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_Lam", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "719ed5bf07adbe6b0da22ee9bb9de2f0" - ], - [ - "BoolRefinement.__proj__T_Lam__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_Lam", - "proj_equation_BoolRefinement.T_Lam_e", - "proj_equation_BoolRefinement.T_Lam_x", - "projection_inverse_BoolRefinement.T_Lam_e", - "projection_inverse_BoolRefinement.T_Lam_x", - "refinement_interpretation_Tm_refine_b634cc88c1644d81ed0aeeb4534290f3" - ], - 0, - "ecb8118831f313f72bd4cbd727acdd97" - ], - [ - "BoolRefinement.__proj__T_App__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "861a6908ccccabebdb0403ff904a4833" - ], - [ - "BoolRefinement.__proj__T_App__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "70eb9feaef74918d43dda03fff919e66" - ], - [ - "BoolRefinement.__proj__T_App__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "347e06e21a0670a9616addb6b1bd0aeb" - ], - [ - "BoolRefinement.__proj__T_App__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "d0a7f446e10cb49f5e2a1d27444fe19b" - ], - [ - "BoolRefinement.__proj__T_App__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "e72bb0e02213d539b2d67b82471c180d" - ], - [ - "BoolRefinement.__proj__T_App__item__t0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "ec48e9e0e6503682949959302a65eba2" - ], - [ - "BoolRefinement.__proj__T_App__item___6", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "data_elim_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_App", "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "proj_equation_BoolRefinement.T_App_e1", - "proj_equation_BoolRefinement.T_App_g", - "proj_equation_BoolRefinement.T_App_t", - "proj_equation_BoolRefinement.T_App_t_", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.__proj__T_App__item__t" - ], - 0, - "f423eb78b543173bb7faf8b62a1945f5" - ], - [ - "BoolRefinement.__proj__T_App__item___6", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "data_elim_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_App", "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "proj_equation_BoolRefinement.T_App_e1", - "proj_equation_BoolRefinement.T_App_g", - "proj_equation_BoolRefinement.T_App_t", - "proj_equation_BoolRefinement.T_App_t_", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.T_App_e1", - "projection_inverse_BoolRefinement.T_App_e2", - "projection_inverse_BoolRefinement.T_App_g", - "projection_inverse_BoolRefinement.T_App_t_", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.__proj__T_App__item__t", - "typing_BoolRefinement.ln_ty" - ], - 0, - "b534fc732c43275f6674a5dfaa1de82e" - ], - [ - "BoolRefinement.__proj__T_App__item___7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "7bef06a78b6387a8b844122c2d3a3c06" - ], - [ - "BoolRefinement.__proj__T_App__item___8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_63a10dfc8614bb739470bf59f1d864c7" - ], - 0, - "1815fd6b50ecdeb67339cf499b4fe45c" - ], - [ - "BoolRefinement.__proj__T_If__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "4769007f4dcdb67e261c6ba1377d901d" - ], - [ - "BoolRefinement.__proj__T_If__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "dcd0ee10704b0887a0d6e415fe8542eb" - ], - [ - "BoolRefinement.__proj__T_If__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "07fd65acb9778593063bd9ea49c2a7bf" - ], - [ - "BoolRefinement.__proj__T_If__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "8b6bbe66ae6e5ae7428fc0ef386ede2d" - ], - [ - "BoolRefinement.__proj__T_If__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "995f851eb55a609e9745a06a0e0c33ff" - ], - [ - "BoolRefinement.__proj__T_If__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "e0653a6ab0909c582254486425c75277" - ], - [ - "BoolRefinement.__proj__T_If__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "7fffc90a053d74797a153498e3e87f57" - ], - [ - "BoolRefinement.__proj__T_If__item__hyp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4b6141e16682fb27aadbe30b4082c20f" - ], - [ - "BoolRefinement.__proj__T_If__item__hyp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_If", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_Prims.int" - ], - 0, - "0758a4d970bfd7ec8d0d5bdec1c30da7" - ], - [ - "BoolRefinement.__proj__T_If__item___8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "b699b1240e6e3d0c3f2513bae484a4c1" - ], - [ - "BoolRefinement.__proj__T_If__item___8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "data_elim_BoolRefinement.T_If", "disc_equation_BoolRefinement.T_If", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "64c17b98315595fdf15693b040908457" - ], - [ - "BoolRefinement.__proj__T_If__item___9", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_typing", "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4407c943f940be2ca926780a2b9b1d38" - ], - [ - "BoolRefinement.__proj__T_If__item___9", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "data_elim_BoolRefinement.T_If", - "data_typing_intro_BoolRefinement.EBool@tok", - "disc_equation_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", "int_typing", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_BoolRefinement.ln", "typing_BoolRefinement.uu___is_T_If" - ], - 0, - "527d809e1fb1d0ddc50ec5ac79ea6a83" - ], - [ - "BoolRefinement.__proj__T_If__item___10", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_exp", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "typing_BoolRefinement.ln" - ], - 0, - "ee2d232be19d5740117b6aaed3e8e22f" - ], - [ - "BoolRefinement.__proj__T_If__item___10", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_elim_BoolRefinement.T_If", - "data_typing_intro_BoolRefinement.EBool@tok", - "disc_equation_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", "int_typing", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_BoolRefinement.ln" - ], - 0, - "cfad88e1ccd0227cf35d234290972770" - ], - [ - "BoolRefinement.__proj__T_If__item___11", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_typing", "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "377deb4a049f9e2e7509ad3fbf4fc346" - ], - [ - "BoolRefinement.__proj__T_If__item___11", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "data_elim_BoolRefinement.T_If", - "data_typing_intro_BoolRefinement.EBool@tok", - "disc_equation_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", "int_typing", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_BoolRefinement.ln", "typing_BoolRefinement.uu___is_T_If" - ], - 0, - "0032015cb470d478852122c322de1266" - ], - [ - "BoolRefinement.__proj__T_If__item___12", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_exp", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "typing_BoolRefinement.ln" - ], - 0, - "ee2d232be19d5740117b6aaed3e8e22f" - ], - [ - "BoolRefinement.__proj__T_If__item___12", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_elim_BoolRefinement.T_If", - "data_typing_intro_BoolRefinement.EBool@tok", - "disc_equation_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", "int_typing", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d", - "typing_BoolRefinement.ln" - ], - 0, - "0d58205be86cc35eb851115c53985a80" - ], - [ - "BoolRefinement.__proj__T_If__item___13", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_79776a404534023d330d3e93a6cbd49d" - ], - 0, - "981599d5d4f3a2d41701a43997cbeb05" - ], - [ - "BoolRefinement.__proj__OK_TBool__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a3dd718892fcd324f257522d6a5a3a9" - ], - 0, - "58085fce5c79c0a9aa1432caa36be88b" - ], - [ - "BoolRefinement.__proj__OK_TArrow__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" - ], - 0, - "6a85cb889df31190f85c0630f2df9e1a" - ], - [ - "BoolRefinement.__proj__OK_TArrow__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" - ], - 0, - "8336f1081146cae5b28e822129c3598d" - ], - [ - "BoolRefinement.__proj__OK_TArrow__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" - ], - 0, - "791017d7c45b7c1658a81261a6dacd8c" - ], - [ - "BoolRefinement.__proj__OK_TArrow__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_BoolRefinement.OK_TArrow", - "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" - ], - 0, - "efbf66fe28371955720ac047feb28914" - ], - [ - "BoolRefinement.__proj__OK_TArrow__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_BoolRefinement.OK_TArrow", - "refinement_interpretation_Tm_refine_260b8ced173a0a45f1387f8a979061a2" - ], - 0, - "7566d1e54ce6b3df63f7e83fcf8d39af" - ], - [ - "BoolRefinement.__proj__OK_TRefine__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4" - ], - 0, - "72391624b25ce2a9db831e50b61083be" - ], - [ - "BoolRefinement.__proj__OK_TRefine__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4" - ], - 0, - "1760412b3930985c07bb0ab1484a1bc2" - ], - [ - "BoolRefinement.__proj__OK_TRefine__item___2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "data_elim_BoolRefinement.OK_TRefine", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.OK_TRefine", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "proj_equation_BoolRefinement.OK_TRefine_e", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.__proj__OK_TRefine__item__e", - "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "d728c5c4c06cc42afae9f3e2a46d7347" - ], - [ - "BoolRefinement.__proj__OK_TRefine__item___2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "data_elim_BoolRefinement.OK_TRefine", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.OK_TRefine", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty_ok", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.OK_TRefine_e", - "projection_inverse_BoolRefinement.OK_TRefine_g", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a473e3962fbe84ebcbf975b00f3592a4", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "7913f29118bb4e92d43c3e5fcc8cbdd8" - ], - [ - "BoolRefinement.height", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_2", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_f7f4c16ca1d64cf9d124cbccc1f7a531_4", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "data_elim_BoolRefinement.T_App", - "data_typing_intro_BoolRefinement.EBool@tok", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_If", - "disc_equation_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_height", - "equation_BoolRefinement.s_ty", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "subterm_ordering_BoolRefinement.T_App", - "subterm_ordering_BoolRefinement.T_If", - "subterm_ordering_BoolRefinement.T_Lam", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.ln", "typing_BoolRefinement.uu___is_T_Var", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "12e13c55b202e9c86e4116e11c0ef7b2" - ], - [ - "BoolRefinement.height", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_2", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_8c62af83f22b57decc8dd796aedf008d_3", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "data_elim_BoolRefinement.OK_TRefine", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.OK_TArrow", - "disc_equation_BoolRefinement.OK_TBool", - "disc_equation_BoolRefinement.OK_TRefine", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_ty", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "equation_with_fuel_BoolRefinement.closed_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty_ok", - "primitive_Prims.op_Addition", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "subterm_ordering_BoolRefinement.OK_TArrow", - "subterm_ordering_BoolRefinement.OK_TRefine", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.closed", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", - "typing_BoolRefinement.uu___is_OK_TBool", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "8c5cc4bdea8fa1d13f4cd51fc6a3f894" - ], - [ - "BoolRefinement.check_sub_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "assumption_BoolRefinement.src_ty__uu___haseq", - "bool_inversion", "equation_BoolRefinement.s_ty", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "haseqTm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.elab_ty", - "typing_BoolRefinement.extend_env_l", - "typing_FStar.Stubs.Tactics.Types.subtyping_token" - ], - 0, - "3f75c673a46a62fd3b766eb452f9f6fb" - ], - [ - "BoolRefinement.weaken", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@query", "assumption_BoolRefinement.src_ty__uu___haseq", - "bool_inversion", "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_BoolRefinement.EBool@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_exp", - "equation_BoolRefinement.s_ty", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_env_fvs", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "haseqTm_refine_69908f7d94e40d6b2a5dd1c4733376b7", "int_typing", - "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "typing_BoolRefinement.ln", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.lookup_fvar", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "38640e28aa5ec8df9e4e2b1ae6523160" - ], - [ - "BoolRefinement.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f1f85646a6e127529ef975c2a1f2fca3" - ], - [ - "BoolRefinement.check", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_BoolRefinement.src_ty__uu___haseq", "bool_inversion", - "bool_typing", "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.EBVar", - "data_elim_FStar.Pervasives.Inl", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_BoolRefinement.EBool@tok", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", "equation_BoolRefinement.exp", - "equation_BoolRefinement.index", "equation_BoolRefinement.ln", - "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.Typing.fstar_top_env", - "equation_FStar.Set.subset", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", - "equation_with_fuel_BoolRefinement.fresh.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_BoolRefinement.src_ty@tok", - "lemma_BoolRefinement.open_exp_freevars", - "lemma_BoolRefinement.open_exp_ln", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_89a3dff16b0fc374afe8c89e81cc7691", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "string_typing", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.binding", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.fresh", - "typing_BoolRefinement.ln", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.lookup_ty", "typing_BoolRefinement.open_exp", - "typing_BoolRefinement.uu___is_EBool", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "1f138b3a960823300d2a493177cca8d0" - ], - [ - "BoolRefinement.check", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.closed.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TRefineBool", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "equation_BoolRefinement.ln", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.var", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "token_correspondence_BoolRefinement.closed.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.closed_ty", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_FStar.Set.empty", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "d29ff8be512f5f877d7bb6cdd07c337d" - ], - [ - "BoolRefinement.extend_env_l_lookup_bvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.binding", - "typing_BoolRefinement.elab_binding", - "typing_BoolRefinement.extend_env_l", "typing_BoolRefinement.lookup", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf" - ], - 0, - "f391ca86605e61bd5f23173ee4128876" - ], - [ - "BoolRefinement.extend_env_l_lookup_bvar", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c04cb941a5c276c0279ed5a0c9ac3236", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup" - ], - 0, - "c02f015a7f0e834b7b7cc00f08442470" - ], - [ - "BoolRefinement.src_refinements_are_closed_core", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_00a94bfa60c3993c68eae37f07367450_1", - "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.Typing.DT", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.s_ty", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.closed.fuel_instrumented", - "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.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.Typing.subst_elt", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.List.Tot.Base.map", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.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.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_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.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.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_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_9732fe09422309a6bf671d51bad6ad22", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.closed.fuel_instrumented", - "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.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.uu___is_EBool", - "typing_BoolRefinement.uu___is_ELam", - "typing_FStar.Reflection.Typing.binder_offset_pattern", - "typing_FStar.Reflection.Typing.make_bv", - "typing_FStar.Reflection.Typing.mk_simple_binder", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Reflection.Typing.shift_subst", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "6f29cb0b65fa87dbcffb74e5518551f5" - ], - [ - "BoolRefinement.src_refinements_are_closed_core", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_0", - "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.Pervasives.Native.None", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.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", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@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.Typing.bool_ty", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_Prims.eqtype", "equation_Prims.nat", - "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.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.subst_elt", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.List.Tot.Base.map", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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_comp", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.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_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_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3f055a7b93f833b495857a0e2d1971c4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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.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_simple_binder", - "typing_FStar.Reflection.Typing.mk_total", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Reflection.Typing.shift_subst", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_Prims.string", "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "8cf30fd5fdf31085e583ff91739247ba" - ], - [ - "BoolRefinement.src_refinements_are_closed", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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, - "57ec7141dbd09fbc88270e69200eb899" - ], - [ - "BoolRefinement.elab_open_commute'", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_651778f725c07b6c259161d48455093d", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_a3df01e2280927a8a4f73a104b265cfb_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Stubs.Reflection.Types.term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_bv", - "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.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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "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_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.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_Prims.list", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.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.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_d3d578aae398a9506bc7093f97cbc7bc", - "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_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.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.List.Tot.Base.map", - "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.open_with_var", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "unit_typing" - ], - 0, - "efe6860d5d3a30d200e56564961b4c4e" - ], - [ - "BoolRefinement.elab_open_commute", - 1, - 2, - 1, - [ "@query", "equation_BoolRefinement.open_exp" ], - 0, - "89fb19c96b6b14278f762de6414cfdff" - ], - [ - "BoolRefinement.src_types_are_closed1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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, - "5d88613a0c96f40d0b7c644e321cfea0" - ], - [ - "BoolRefinement.src_types_are_closed2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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, - "82c096fe6d72227bfcd8269699bbfff4" - ], - [ - "BoolRefinement.src_types_are_closed3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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, - "351e90dc5c62acd9008afb0f60cc9594" - ], - [ - "BoolRefinement.b2t_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "data_typing_intro_FStar.Reflection.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.mk_comp", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.tm_type", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", "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", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.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_8691ceaaa49910835b49aba011771641", - "string_typing", "true_interp", - "typing_FStar.Reflection.Typing.bool_ty", - "typing_FStar.Reflection.Typing.tm_type", - "typing_FStar.Reflection.Typing.u_zero", "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "726744b6973f48d5af08461aeab62fc5" - ], - [ - "BoolRefinement.extend_env_l_lookup_fvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_BoolRefinement.binding", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.lookup_fvar", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", - "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.binding", - "typing_BoolRefinement.elab_binding", - "typing_BoolRefinement.extend_env_l", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf" - ], - 0, - "e91a60343add2bb47458e9b270390e9d" - ], - [ - "BoolRefinement.src_ty_ok_weakening", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@query", "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_5", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_a54ff04b6db876aca1202337be30ecb4_6", - "binder_x_c12ec229f0da4c4f92a516c61058ce62_3", - "binder_x_c1c8b6d6f585c73cb184f7a475a7f9d6_4", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_2", - "constructor_distinct_BoolRefinement.OK_TArrow", - "constructor_distinct_BoolRefinement.OK_TBool", - "constructor_distinct_BoolRefinement.OK_TRefine", - "data_elim_BoolRefinement.OK_TArrow", - "data_elim_BoolRefinement.OK_TBool", - "data_elim_BoolRefinement.OK_TRefine", - "data_typing_intro_BoolRefinement.OK_TArrow@tok", - "data_typing_intro_BoolRefinement.OK_TBool@tok", - "data_typing_intro_BoolRefinement.OK_TRefine@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_BoolRefinement.OK_TArrow", - "disc_equation_BoolRefinement.OK_TBool", - "disc_equation_BoolRefinement.OK_TRefine", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.t_height.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty_ok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoolRefinement.OK_TArrow__3", - "projection_inverse_BoolRefinement.OK_TArrow__4", - "projection_inverse_BoolRefinement.OK_TArrow_f", - "projection_inverse_BoolRefinement.OK_TArrow_g", - "projection_inverse_BoolRefinement.OK_TArrow_t", - "projection_inverse_BoolRefinement.OK_TArrow_t_", - "projection_inverse_BoolRefinement.OK_TBool_f", - "projection_inverse_BoolRefinement.OK_TBool_g", - "projection_inverse_BoolRefinement.OK_TRefine__2", - "projection_inverse_BoolRefinement.OK_TRefine_e", - "projection_inverse_BoolRefinement.OK_TRefine_f", - "projection_inverse_BoolRefinement.OK_TRefine_g", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b882bcbd80202d249657d8ffceb83c01", - "refinement_interpretation_Tm_refine_de3225cc3743117fe85166245ec16380", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.OK_TArrow", - "typing_BoolRefinement.binding", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "64fbc8e24fc5fae063b955c24f545613" - ], - [ - "BoolRefinement.rename", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "data_typing_intro_BoolRefinement.EVar@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13e111908a1495227c3899221be1a03f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.ln_", "typing_BoolRefinement.uu___is_EBVar", - "typing_Prims.int" - ], - 0, - "f18d7746e15b4e033056af54ae0a0181" - ], - [ - "BoolRefinement.rename_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_BoolRefinement.binding", "equation_BoolRefinement.ln", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_eqn", - "fuel_guarded_inversion_FStar.Pervasives.either", "int_typing", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb" - ], - 0, - "3457212b26f748e469b242ad79e24a9c" - ], - [ - "BoolRefinement.rename_freevars", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_21122f7702b6e827c14a45fff63cf106_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_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_FStar.Set.subset", - "equation_FStar.Stubs.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", - "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_13e111908a1495227c3899221be1a03f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.freevars", "typing_BoolRefinement.rename", - "typing_BoolRefinement.uu___is_EBool", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int" - ], - 0, - "10a6cd80de18e78190fb231b58124cb9" - ], - [ - "BoolRefinement.rename_freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ebb418c67ce14b9e6d5816b921cfbe48" - ], - [ - "BoolRefinement.lookup_middle", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_c1c8b6d6f585c73cb184f7a475a7f9d6_3", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_d33bc3b557860ed5fee3bd12b08fe2a7_2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_106ab2be985df78c5a0fcbd25fb74aad", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "subterm_ordering_Prims.Cons", - "typing_BoolRefinement.binding", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "72184031cd48ffce85acd23a389f1a1d" - ], - [ - "BoolRefinement.lookup_append_inverse", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "subterm_ordering_Prims.Cons", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "696f082e9c8f138d2541cb5154c1a7fa" - ], - [ - "BoolRefinement.lookup_append_inverse", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_Prims.nat", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95cadb5b616ac110c8ca69b6857e01ef", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "aa330144c03435cd9e84d38ba74a7770" - ], - [ - "BoolRefinement.cons_append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "037f84ddb942f2ab203387ca405b8666" - ], - [ - "BoolRefinement.rename_open'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_21122f7702b6e827c14a45fff63cf106_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_36a79c91a794448c1f1db5ed728a3e79_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_BoolRefinement.src_exp", "int_inversion", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a3e5421c370097969130de0a7b84a934", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.freevars", "typing_BoolRefinement.open_exp_", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "64405baf5a7e4b886384d870a17f2699" - ], - [ - "BoolRefinement.rename_open'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "951559c6ac5c707275d195d149c2711f" - ], - [ - "BoolRefinement.rename_id", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_21122f7702b6e827c14a45fff63cf106_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_2ebd1afbbf8401407a8790f03f8788c5_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_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.var", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", - "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ff5d8de767e3786315999e6848f6f27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "typing_BoolRefinement.freevars", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int" - ], - 0, - "1fc4b8f44aca3ebd97122d3c40f46909" - ], - [ - "BoolRefinement.rename_id", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8ffd76c0726ebdfe0bdace26c27e90fc" - ], - [ - "BoolRefinement.rename_open", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.open_exp", - "equation_BoolRefinement.var", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a093c41b74fffcfe77e17e1696b037b" - ], - 0, - "91c445a9af6fe5a640517f02683c56a7" - ], - [ - "BoolRefinement.rename_open", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dfea8aa5815c695cea81390be431467c" - ], - [ - "BoolRefinement.rename_open_commute'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_21122f7702b6e827c14a45fff63cf106_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "equation_BoolRefinement.index", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.open_exp_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_13e111908a1495227c3899221be1a03f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "typing_BoolRefinement.open_exp_", "typing_BoolRefinement.rename", - "typing_Prims.int" - ], - 0, - "d1f147712727d7ac297c3c01a69e2ce9" - ], - [ - "BoolRefinement.rename_open_commute'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6a4434542e47e5238b5e9d497e64d9e4" - ], - [ - "BoolRefinement.rename_open_commute", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@query", "equation_BoolRefinement.open_exp", - "equation_BoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "ca1632c6fcb92b479d5cb25d5ca04e00" - ], - [ - "BoolRefinement.rename_lookup", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_c67b81e8f377c0a2a53e6b83903d1c23", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_21122f7702b6e827c14a45fff63cf106_3", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.binding", "equation_BoolRefinement.ln", - "equation_BoolRefinement.rename_binding", - "equation_BoolRefinement.rename_env", - "equation_BoolRefinement.rename_src_env_elt", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_BoolRefinement.rename_src_env_elt", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "subterm_ordering_Prims.Cons", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "token_correspondence_BoolRefinement.rename_src_env_elt", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.rename_env", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "d90b32218b72f7875f445a000672f55e" - ], - [ - "BoolRefinement.rename_lookup", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.binding", "equation_BoolRefinement.ln", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.either", "int_inversion", - "int_typing", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" - ], - 0, - "6399a22b289d0ad99d692c40c0825ae1" - ], - [ - "BoolRefinement.src_ty_ok_renaming", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@query", "binder_x_48d767b84cafdd1d49d937cbefbf6076_7", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_6", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c12ec229f0da4c4f92a516c61058ce62_3", - "binder_x_c1c8b6d6f585c73cb184f7a475a7f9d6_5", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_2", - "binder_x_e48250f6df9597cb3c483ac6042e68fc_4", - "constructor_distinct_BoolRefinement.OK_TArrow", - "constructor_distinct_BoolRefinement.OK_TBool", - "constructor_distinct_BoolRefinement.OK_TRefine", - "data_elim_BoolRefinement.OK_TArrow", - "data_elim_BoolRefinement.OK_TBool", - "data_elim_BoolRefinement.OK_TRefine", - "data_typing_intro_BoolRefinement.OK_TArrow@tok", - "data_typing_intro_BoolRefinement.OK_TBool@tok", - "data_typing_intro_BoolRefinement.OK_TRefine@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_BoolRefinement.OK_TArrow", - "disc_equation_BoolRefinement.OK_TBool", - "disc_equation_BoolRefinement.OK_TRefine", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.t_height.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty_ok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoolRefinement.OK_TArrow__3", - "projection_inverse_BoolRefinement.OK_TArrow__4", - "projection_inverse_BoolRefinement.OK_TArrow_f", - "projection_inverse_BoolRefinement.OK_TArrow_g", - "projection_inverse_BoolRefinement.OK_TArrow_t", - "projection_inverse_BoolRefinement.OK_TArrow_t_", - "projection_inverse_BoolRefinement.OK_TBool_f", - "projection_inverse_BoolRefinement.OK_TBool_g", - "projection_inverse_BoolRefinement.OK_TRefine__2", - "projection_inverse_BoolRefinement.OK_TRefine_e", - "projection_inverse_BoolRefinement.OK_TRefine_f", - "projection_inverse_BoolRefinement.OK_TRefine_g", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ea6f94a40680a6625f6320448df152b", - "refinement_interpretation_Tm_refine_b71bccecb881414231c4914482334a7a", - "refinement_interpretation_Tm_refine_de3225cc3743117fe85166245ec16380", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_BoolRefinement.OK_TArrow", - "typing_BoolRefinement.binding", "typing_BoolRefinement.rename_env", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "726bec217dea61ac6d7bac0efc0e1783" - ], - [ - "BoolRefinement.as_bindings_append", - 1, - 2, - 1, - [ - "@query", "equation_BoolRefinement.as_bindings", - "equation_BoolRefinement.binding", "equation_BoolRefinement.var", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "9c8974b9e683922797d84f81303c9d69" - ], - [ - "BoolRefinement.map_fusion", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_39529c5bd482b0c76fe9b640ac26f223", - "BoolRefinement_interpretation_Tm_arrow_71a1b2429b076fb6a9bacc2501257cdd", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_0080b8faaf93b864b9fcbf0fdc06e48a_6", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_8", - "binder_x_e285663a042cff6d8aa10ab129fdb9b8_7", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_5", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.comp", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_12f0bbc5cd2aeb167bc7e771b588a4ca", - "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", - "subterm_ordering_Prims.Cons", "typing_BoolRefinement.comp", - "typing_FStar.List.Tot.Base.map" - ], - 0, - "044988de3e5fdce0256e82d13cdcdf45" - ], - [ - "BoolRefinement.as_bindings_rename_env_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "BoolRefinement_interpretation_Tm_arrow_c67b81e8f377c0a2a53e6b83903d1c23", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_21122f7702b6e827c14a45fff63cf106_3", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.as_bindings", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.rename_env", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.bindings", - "equation_FStar.Stubs.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", - "function_token_typing_BoolRefinement.rename_src_env_elt", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "subterm_ordering_Prims.Cons", - "typing_BoolRefinement.as_bindings", "typing_BoolRefinement.binding", - "typing_BoolRefinement.rename_env", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Reflection.Typing.binding", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f" - ], - 0, - "1da2c041530a0fccb99881bae58be9e6" - ], - [ - "BoolRefinement.rename_elab_commute_core", - 1, - 8, - 4, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_28431dcf5044bcdd56dbe625f9e3df4e", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_21122f7702b6e827c14a45fff63cf106_3", - "binder_x_2376e64a19420a2dcb4825d8f730f7ed_1", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.NT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@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.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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "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_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.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_Prims.list", - "function_token_typing_FStar.List.Tot.Base.map", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.NT__0", - "projection_inverse_FStar.Reflection.Typing.NT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_13e111908a1495227c3899221be1a03f", - "refinement_interpretation_Tm_refine_17baa873e4f316531a6f30748b8f12e2", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_49ae29c145945dbb0c6ba0234aa0d0bf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "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.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.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.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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "53249d7207324dae10202f52849d440e" - ], - [ - "BoolRefinement.rename_elab_commute", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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, - "d57c23f6376372cef61ff7ccee9f2385" - ], - [ - "BoolRefinement.rename_eq2", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Reflection.Typing.NT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_UInst@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.eq2", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "typing_FStar.Reflection.Const.eq2_qn", - "typing_FStar.Reflection.Typing.eq2", - "typing_FStar.Reflection.Typing.u_zero", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "56b937c20da3f43606053fdeab0c8a9f" - ], - [ - "BoolRefinement.rename_as_bindings_commute_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_FStar.Reflection.Typing.NT", - "constructor_distinct_FStar.Stubs.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.Stubs.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.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.Stubs.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", - "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.Reflection.Typing.NT__0", - "projection_inverse_FStar.Reflection.Typing.NT__1", - "projection_inverse_FStar.Stubs.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.var_as_term" - ], - 0, - "83b7c3c8d5b603ea3d8133cdc54760ec" - ], - [ - "BoolRefinement.rename_as_bindings_commute", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "BoolRefinement_interpretation_Tm_arrow_c67b81e8f377c0a2a53e6b83903d1c23", - "FStar.Reflection.Typing_interpretation_Tm_arrow_2081858684dfddf9263271da964747db", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_21122f7702b6e827c14a45fff63cf106_1", - "binder_x_21122f7702b6e827c14a45fff63cf106_2", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.as_bindings", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.rename_binding", - "equation_BoolRefinement.rename_env", - "equation_BoolRefinement.rename_src_env_elt", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.bindings", - "equation_FStar.Reflection.Typing.rename_bindings", - "equation_FStar.Stubs.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.rename_src_env_elt", - "int_inversion", - "interpretation_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f", - "interpretation_Tm_abs_e507796b956eb62779834e58d5436e25", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "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", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BoolRefinement.rename_src_env_elt", - "typing_BoolRefinement.as_bindings", "typing_BoolRefinement.binding", - "typing_BoolRefinement.rename_env", - "typing_FStar.Reflection.Typing.binding", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f", - "typing_Tm_abs_e507796b956eb62779834e58d5436e25" - ], - 0, - "a3459b60c436fd4ca8942f5837727bc8" - ], - [ - "BoolRefinement.core_subtyping_renaming", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "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", - "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.Typing.binding", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "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.Stubs.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", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_typing", - "interpretation_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.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_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_99bcdd644d37f0e896d9ddca1c01de44", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.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", - "typing_BoolRefinement.binding", - "typing_BoolRefinement.extend_env_alt", - "typing_BoolRefinement.lookup", "typing_BoolRefinement.rt_rename", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Typing.binding", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f" - ], - 0, - "eaa2baec705ea6871a46687eee4d74ef" - ], - [ - "BoolRefinement.sub_typing_renaming", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.S_ELab", - "data_elim_BoolRefinement.S_Refl", - "disc_equation_BoolRefinement.S_ELab", - "disc_equation_BoolRefinement.S_Refl", - "equation_BoolRefinement.s_height", - "equation_FStar.List.Tot.Base.op_At", - "fuel_guarded_inversion_BoolRefinement.sub_typing", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f0ccf4d764046c63c707e4d66783bb3f" - ], - [ - "BoolRefinement.freevars_included_in", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9fc0396afb3693c7f060245ef3d19f74" - ], - [ - "BoolRefinement.src_typing_freevars", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_2", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_f7f4c16ca1d64cf9d124cbccc1f7a531_4", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.T_App", - "data_elim_BoolRefinement.T_Bool", "data_elim_BoolRefinement.T_If", - "data_elim_BoolRefinement.T_Lam", "data_elim_BoolRefinement.T_Var", - "data_typing_intro_BoolRefinement.EBool@tok", - "data_typing_intro_BoolRefinement.TArrow@tok", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_If", - "disc_equation_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.freevars_included_in", - "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.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_env_fvs", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Set.subset", - "equation_FStar.Stubs.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", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_BoolRefinement.open_exp_freevars", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "string_typing", "subterm_ordering_BoolRefinement.T_App", - "subterm_ordering_BoolRefinement.T_If", - "subterm_ordering_BoolRefinement.T_Lam", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "typing_BoolRefinement.binding", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.ln_ty", - "typing_BoolRefinement.lookup", "typing_BoolRefinement.open_exp", - "typing_BoolRefinement.src_eqn", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "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_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "4b1f95cb6c7da06c9871066db2a59cb2" - ], - [ - "BoolRefinement.src_typing_renaming", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.rename.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.rename.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_c67b81e8f377c0a2a53e6b83903d1c23", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_6", - "binder_x_0c8c6f8add884ed3abbaa61a254956a6_8", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_7", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c12ec229f0da4c4f92a516c61058ce62_3", - "binder_x_c12ec229f0da4c4f92a516c61058ce62_4", - "binder_x_c1c8b6d6f585c73cb184f7a475a7f9d6_5", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.T_App", - "constructor_distinct_BoolRefinement.T_Bool", - "constructor_distinct_BoolRefinement.T_If", - "constructor_distinct_BoolRefinement.T_Lam", - "constructor_distinct_BoolRefinement.T_Var", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BoolRefinement.S_ELab", "data_elim_BoolRefinement.S_Refl", - "data_elim_BoolRefinement.T_App", "data_elim_BoolRefinement.T_Bool", - "data_elim_BoolRefinement.T_Lam", "data_elim_BoolRefinement.T_Var", - "data_typing_intro_BoolRefinement.EBool@tok", - "data_typing_intro_BoolRefinement.TArrow@tok", - "data_typing_intro_BoolRefinement.T_App@tok", - "data_typing_intro_BoolRefinement.T_Bool@tok", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_If", - "disc_equation_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.freevars_included_in", - "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", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_height", - "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.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_env_fvs", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Set.subset", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_BoolRefinement.rename.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_exp", - "fuel_guarded_inversion_BoolRefinement.src_typing", - "fuel_guarded_inversion_BoolRefinement.sub_typing", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_BoolRefinement.rename_src_env_elt", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_BoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_BoolRefinement.open_exp_freevars", - "lemma_BoolRefinement.rename_freevars", - "lemma_BoolRefinement.rename_lookup", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "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_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__0", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.T_App__6", - "projection_inverse_BoolRefinement.T_App__7", - "projection_inverse_BoolRefinement.T_App__8", - "projection_inverse_BoolRefinement.T_App_e1", - "projection_inverse_BoolRefinement.T_App_e2", - "projection_inverse_BoolRefinement.T_App_f", - "projection_inverse_BoolRefinement.T_App_g", - "projection_inverse_BoolRefinement.T_App_t", - "projection_inverse_BoolRefinement.T_App_t0", - "projection_inverse_BoolRefinement.T_App_t_", - "projection_inverse_BoolRefinement.T_Bool_b", - "projection_inverse_BoolRefinement.T_Bool_f", - "projection_inverse_BoolRefinement.T_Bool_g", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoolRefinement.T_Lam__5", - "projection_inverse_BoolRefinement.T_Lam__6", - "projection_inverse_BoolRefinement.T_Lam_e", - "projection_inverse_BoolRefinement.T_Lam_f", - "projection_inverse_BoolRefinement.T_Lam_g", - "projection_inverse_BoolRefinement.T_Lam_t", - "projection_inverse_BoolRefinement.T_Lam_t_", - "projection_inverse_BoolRefinement.T_Lam_x", - "projection_inverse_BoolRefinement.T_Var_f", - "projection_inverse_BoolRefinement.T_Var_g", - "projection_inverse_BoolRefinement.T_Var_x", - "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.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "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.Nil_a", - "refinement_interpretation_Tm_refine_01b310dd29b625a0122d2fe803b370ce", - "refinement_interpretation_Tm_refine_0821f51a16008a81d16f656bdb60c89b", - "refinement_interpretation_Tm_refine_13e111908a1495227c3899221be1a03f", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_1dd41cbff72393687320f829ff742d97", - "refinement_interpretation_Tm_refine_1e9e16530d7e0dc30a109bd8996ea496", - "refinement_interpretation_Tm_refine_2cfbc344c43223ef851e5deba4d10ac8", - "refinement_interpretation_Tm_refine_32dc1e8872afd8fbe025fc99ee89d563", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_377f9722851fc6313f1b42829c9cbc8d", - "refinement_interpretation_Tm_refine_3d5ce469292abfab4208bf50fc7435a6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_463c750c72350d56bb9434cdc62207e7", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_607aab7a2f7ddb398d00576b4862ade7", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_adbff8b75efb96649498de42b6ffbf9e", - "refinement_interpretation_Tm_refine_c5e9b5bb8a12a0f917e877f94cea90f0", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "refinement_interpretation_Tm_refine_de3225cc3743117fe85166245ec16380", - "refinement_interpretation_Tm_refine_df059fd903d10c456075b1d1a0b75ea9", - "refinement_interpretation_Tm_refine_e6e964b35c1c5a2081c0616ae6d61e7f", - "refinement_interpretation_Tm_refine_f6ee9964b9f4cfa2df89da63f5b47f74", - "refinement_interpretation_Tm_refine_f850cbe520befed47b00fd7889c0e351", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "string_typing", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "token_correspondence_BoolRefinement.rename.fuel_instrumented", - "token_correspondence_BoolRefinement.rename_src_env_elt", - "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "typing_BoolRefinement.binding", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.fresh", "typing_BoolRefinement.height", - "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.lookup_ty", "typing_BoolRefinement.max", - "typing_BoolRefinement.open_exp", "typing_BoolRefinement.rename", - "typing_BoolRefinement.rename_env", "typing_BoolRefinement.s_height", - "typing_BoolRefinement.src_eqn", "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.Typing.bool_fv", - "typing_FStar.Reflection.Typing.lookup_fvar", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" - ], - 0, - "b3c9dcad90f7e3961e4b1bdcecd18d89" - ], - [ - "BoolRefinement.sub_typing_weakening", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_960c0770ca00485d114d276baa7cc8c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "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.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", - "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.s_height", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.sub_typing", - "equation_FStar.Stubs.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", - "int_inversion", - "interpretation_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_99bcdd644d37f0e896d9ddca1c01de44", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "typing_BoolRefinement.binding", - "typing_BoolRefinement.extend_env_l", "typing_BoolRefinement.lookup", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Reflection.Typing.binding", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_Tm_abs_ac9c9946394bb82392ca439cda2b3b8f" - ], - 0, - "cddd4e321d5f12b3705b18f019f3cb75" - ], - [ - "BoolRefinement.src_typing_weakening", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_c67b81e8f377c0a2a53e6b83903d1c23", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_5", - "binder_x_854acf4140ab482627652638b2895b7d_7", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_6", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c12ec229f0da4c4f92a516c61058ce62_3", - "binder_x_c1c8b6d6f585c73cb184f7a475a7f9d6_4", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.T_App", - "constructor_distinct_BoolRefinement.T_Bool", - "constructor_distinct_BoolRefinement.T_If", - "constructor_distinct_BoolRefinement.T_Lam", - "constructor_distinct_BoolRefinement.T_Var", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BoolRefinement.S_ELab", "data_elim_BoolRefinement.S_Refl", - "data_elim_BoolRefinement.T_App", "data_elim_BoolRefinement.T_Bool", - "data_elim_BoolRefinement.T_If", "data_elim_BoolRefinement.T_Lam", - "data_elim_BoolRefinement.T_Var", - "data_typing_intro_BoolRefinement.EBool@tok", - "data_typing_intro_BoolRefinement.TArrow@tok", - "data_typing_intro_BoolRefinement.T_App@tok", - "data_typing_intro_BoolRefinement.T_Bool@tok", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_If", - "disc_equation_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "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.rename_env", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_height", - "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.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_env_fvs", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Stubs.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", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "fuel_guarded_inversion_BoolRefinement.src_typing", - "fuel_guarded_inversion_BoolRefinement.sub_typing", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_BoolRefinement.rename_src_env_elt", - "int_typing", "kinding_BoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "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_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.T_App__6", - "projection_inverse_BoolRefinement.T_App__7", - "projection_inverse_BoolRefinement.T_App__8", - "projection_inverse_BoolRefinement.T_App_e1", - "projection_inverse_BoolRefinement.T_App_e2", - "projection_inverse_BoolRefinement.T_App_f", - "projection_inverse_BoolRefinement.T_App_g", - "projection_inverse_BoolRefinement.T_App_t", - "projection_inverse_BoolRefinement.T_App_t0", - "projection_inverse_BoolRefinement.T_App_t_", - "projection_inverse_BoolRefinement.T_Bool_b", - "projection_inverse_BoolRefinement.T_Bool_f", - "projection_inverse_BoolRefinement.T_Bool_g", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoolRefinement.T_Lam__5", - "projection_inverse_BoolRefinement.T_Lam__6", - "projection_inverse_BoolRefinement.T_Lam_e", - "projection_inverse_BoolRefinement.T_Lam_f", - "projection_inverse_BoolRefinement.T_Lam_g", - "projection_inverse_BoolRefinement.T_Lam_t", - "projection_inverse_BoolRefinement.T_Lam_t_", - "projection_inverse_BoolRefinement.T_Lam_x", - "projection_inverse_BoolRefinement.T_Var_f", - "projection_inverse_BoolRefinement.T_Var_g", - "projection_inverse_BoolRefinement.T_Var_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0c43a8003fc8b000a3442bd8b9970ee3", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_23c8290419cd2535103aab93bc96bf2d", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_2e29b3b6f07e98d22830fa51bf032cd5", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_3d1c1624a955c699daea7b4e9dd29286", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_45b3fadbb465b0c7f9739526f4df2c31", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_6ddf9292da0399c4a2052324c3ab2242", - "refinement_interpretation_Tm_refine_76bd8b0ce06a4e66a6e446ac1de87cca", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_ad19a1a73219386e8cbae1c8a0f5e5ca", - "refinement_interpretation_Tm_refine_b882bcbd80202d249657d8ffceb83c01", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "refinement_interpretation_Tm_refine_d6f851d01b025a80ee54248ea264f74b", - "refinement_interpretation_Tm_refine_d98a6ef53e8fd088ec56467af9325315", - "refinement_interpretation_Tm_refine_de3225cc3743117fe85166245ec16380", - "refinement_interpretation_Tm_refine_f013fc520a54d8d37e90d747b56c22d7", - "refinement_interpretation_Tm_refine_f5b7d15b9d7096eade080e03a537f7dd", - "refinement_interpretation_Tm_refine_f72190e8a0c5b58148f77b457cd978dd", - "refinement_interpretation_Tm_refine_f8ede03841ae29766175d35a5bc6a94c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "string_typing", - "token_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "token_correspondence_BoolRefinement.freevars.fuel_instrumented", - "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.binding", "typing_BoolRefinement.closed_ty", - "typing_BoolRefinement.freevars", - "typing_BoolRefinement.freevars_ty", "typing_BoolRefinement.fresh", - "typing_BoolRefinement.height", "typing_BoolRefinement.ln", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.lookup_ty", "typing_BoolRefinement.max", - "typing_BoolRefinement.open_exp", "typing_BoolRefinement.rename_env", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_eqn", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.uu___is_None", - "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_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" - ], - 0, - "56ff7ebaac1b00b000e4595c23168ea2" - ], - [ - "BoolRefinement.src_typing_weakening_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_3", - "binder_x_16b40c27a2ae808bb5022264f6b7184d_2", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c89ae89686cc1c730cd7585b4e7fae67_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BoolRefinement.binding", "equation_BoolRefinement.src_env", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_008f6d252d8f7d7842cd98f9e28454fa", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d58912529a1062d0400c4bfa1069052", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_cc23deb1b4739448bf6dddafacb149dc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_BoolRefinement.lookup.fuel_instrumented", - "token_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_BoolRefinement.binding", "typing_BoolRefinement.lookup", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.uu___is_None" - ], - 0, - "323f8529057daf01b81288d3f8d9d1e8" - ], - [ - "BoolRefinement.open_with_fvar_id", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "data_typing_intro_FStar.Reflection.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_FVar_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln" - ], - 0, - "16f17c0eab4e2e3e8071d78c7572945a" - ], - [ - "BoolRefinement.open_term_fvar_id", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_FVar_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln" - ], - 0, - "9657e64a2b68623e46e402ad1b4cbae1" - ], - [ - "BoolRefinement.subtyping_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_BoolRefinement.S_ELab", - "disc_equation_BoolRefinement.S_ELab", - "disc_equation_BoolRefinement.S_Refl", - "fuel_guarded_inversion_BoolRefinement.sub_typing", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5d8f0c70f3b5ceae72b77bbc55e56119" - ], - [ - "BoolRefinement.apply_refinement_closed", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.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.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Stubs.Reflection.V2.Data.Mkbv_view", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@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.Typing.make_bv", - "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.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_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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", - "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.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.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.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.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_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.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.make_bv", - "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_namedv", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "90019689b00102033f3c56b68e025e41" - ], - [ - "BoolRefinement.freevars_elab_exp", - 1, - 10, - 10, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@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_branch.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_branches.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.Typing_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_00b7ff426eaf4e90c1fb5c973d5cb20a_0", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "constructor_distinct_BoolRefinement.EBVar", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "constructor_distinct_BoolRefinement.ELam", - "constructor_distinct_BoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.EApp", - "disc_equation_BoolRefinement.EBVar", - "disc_equation_BoolRefinement.EBool", - "disc_equation_BoolRefinement.EIf", - "disc_equation_BoolRefinement.ELam", - "disc_equation_BoolRefinement.EVar", "disc_equation_Prims.Nil", - "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.index", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_BoolRefinement.freevars.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_branch.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.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", - "int_inversion", "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoolRefinement.EBVar__0", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.EVar__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.None_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_BoolRefinement.EApp", - "subterm_ordering_BoolRefinement.EIf", - "subterm_ordering_BoolRefinement.ELam", - "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_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_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.uu___is_EBool", - "typing_FStar.Reflection.Typing.freevars", - "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.Sealed.seal", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "f5a1a64c8932ba00df423492613a9f1c" - ], - [ - "BoolRefinement.freevars_elab_exp", - 2, - 10, - 10, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@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_terms.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_00b7ff426eaf4e90c1fb5c973d5cb20a", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_e02ca8d06a154ab764e3d867283d6cc5_0", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Refine@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.TArrow", - "disc_equation_BoolRefinement.TBool", - "disc_equation_BoolRefinement.TRefineBool", - "disc_equation_Prims.Nil", "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.r_b2t", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.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_comp.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty", "int_inversion", - "int_typing", "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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_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.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_simple_binder", - "typing_FStar.Reflection.Typing.mk_total", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "8c11f48d657e2fb756d5cf398cfa925f" - ], - [ - "BoolRefinement.freevars_refinement", - 1, - 10, - 10, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_BoolRefinement.apply", "equation_BoolRefinement.bv_as_arg", - "equation_BoolRefinement.r_b2t", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", - "int_inversion", "kinding_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.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.Typing.b2t_fv", - "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "79bc406b31331243f3ad92820a4dd078" - ], - [ - "BoolRefinement.soundness", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "data_elim_BoolRefinement.EBool", - "disc_equation_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_If", - "disc_equation_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_typing", - "primitive_Prims.op_Equality", - "proj_equation_BoolRefinement.T_Bool_b", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3227094725eadac721044cc9d26cc98f", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok", - "typing_BoolRefinement.uu___is_T_If" - ], - 0, - "a01e7212f79ffe6646c39be6f7d2975d" - ], - [ - "BoolRefinement.soundness", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.EBool", - "data_elim_BoolRefinement.T_Bool", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equation_FStar.Reflection.Typing.constant_as_term", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_57b3140444078e31586fa0cdd6f73e7b" - ], - 0, - "5cf91708f57ca04a0ef7e6b33c2d0cfd" - ], - [ - "BoolRefinement.soundness", - 4, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "constructor_distinct_BoolRefinement.TBool", - "data_elim_BoolRefinement.T_Bool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", - "refinement_interpretation_Tm_refine_57b3140444078e31586fa0cdd6f73e7b", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7" - ], - 0, - "5db4c3ae71f5574d8de710fdfc410365" - ], - [ - "BoolRefinement.soundness", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.T_Bool", - "data_elim_BoolRefinement.T_Bool", - "disc_equation_BoolRefinement.T_Bool", - "equality_tok_BoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equation_FStar.Reflection.Typing.constant_as_term", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "primitive_Prims.op_Equality", - "proj_equation_BoolRefinement.T_Bool_b", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoolRefinement.T_Bool_b", - "projection_inverse_BoolRefinement.T_Bool_f", - "projection_inverse_BoolRefinement.T_Bool_g", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_b563cdaa2e51159731cf527abe07210b", - "refinement_interpretation_Tm_refine_cf147d7c7c954e078d07753d0ba8abf8" - ], - 0, - "3e95a07caede419fd6076de4a4768358" - ], - [ - "BoolRefinement.soundness", - 6, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "constructor_distinct_BoolRefinement.TBool", - "data_elim_BoolRefinement.T_Bool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_b563cdaa2e51159731cf527abe07210b" - ], - 0, - "ae4ad55661beb4b975f6983355f4e628" - ], - [ - "BoolRefinement.soundness", - 7, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_BoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_037aba60e0d312206378d2a9e7355712", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "typing_BoolRefinement.extend_env_l", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.make_namedv", - "typing_FStar.Reflection.Typing.namedv_uniq", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "438bae636e8ebfdc7f8092565bfea726" - ], - [ - "BoolRefinement.soundness", - 8, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.EVar", - "data_elim_BoolRefinement.T_Var", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.namedv_uniq", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "projection_inverse_BoolRefinement.EVar__0", - "refinement_interpretation_Tm_refine_037aba60e0d312206378d2a9e7355712", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa" - ], - 0, - "fc360627462377eecdfc5482ef955d9b" - ], - [ - "BoolRefinement.soundness", - 9, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@query", - "BoolRefinement_pretyping_e02ca8d06a154ab764e3d867283d6cc5", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.lookup_ty", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.namedv_uniq", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_BoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_037aba60e0d312206378d2a9e7355712", - "refinement_interpretation_Tm_refine_186e84bbdc30e2fcdac88af64b526373", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_b9c717e89d4d9e1165f47d3701412c79", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_c89ce9a27a071af1c9b3858745779afa", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.namedv_uniq", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "ebada092aa282bc93b8ddc418492d69e" - ], - [ - "BoolRefinement.soundness", - 10, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.T_Lam", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.binding", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.binding", "typing_BoolRefinement.ln_ty", - "typing_BoolRefinement.src_env_ok", "typing_BoolRefinement.src_eqn" - ], - 0, - "91bbaaf0c110492a3a1d64a67984247f" - ], - [ - "BoolRefinement.soundness", - 11, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.open_exp_.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.ELam", - "data_elim_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", - "equation_BoolRefinement.index", "equation_BoolRefinement.ln", - "equation_BoolRefinement.open_exp", "equation_BoolRefinement.s_ty", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "int_typing", "lemma_BoolRefinement.open_exp_ln", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_518790148e2febcbcb9f91fe29d38a2e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5d728d057bdb4d5af8276e4797d2db8f", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.ln", "typing_BoolRefinement.open_exp", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "c6d7cced38da7922da5970bacd29e089" - ], - [ - "BoolRefinement.soundness", - 12, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.T_Lam", - "equation_BoolRefinement.max", "equation_BoolRefinement.open_exp", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "equation_with_fuel_BoolRefinement.t_height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_Lam__5", - "projection_inverse_BoolRefinement.T_Lam__6", - "projection_inverse_BoolRefinement.T_Lam_e", - "projection_inverse_BoolRefinement.T_Lam_f", - "projection_inverse_BoolRefinement.T_Lam_g", - "projection_inverse_BoolRefinement.T_Lam_t", - "projection_inverse_BoolRefinement.T_Lam_t_", - "projection_inverse_BoolRefinement.T_Lam_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ac418b05c166d03b4bae4228bf52433", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_47755c3b11a9ebf3b6fc777628eba81a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.src_env_ok", "well-founded-ordering-on-nat" - ], - 0, - "9eef86932d638606fdbe7444273b9d47" - ], - [ - "BoolRefinement.soundness", - 13, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_Lam", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348" - ], - 0, - "e508c7072122bec844f0f167dd1f3469" - ], - [ - "BoolRefinement.soundness", - 14, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_Lam", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348" - ], - 0, - "791e687b64df75a2f1f11ac4da17baaa" - ], - [ - "BoolRefinement.soundness", - 15, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.T_Lam", - "data_elim_BoolRefinement.T_Lam", "equation_BoolRefinement.max", - "equation_BoolRefinement.open_exp", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_Lam__5", - "projection_inverse_BoolRefinement.T_Lam__6", - "projection_inverse_BoolRefinement.T_Lam_e", - "projection_inverse_BoolRefinement.T_Lam_f", - "projection_inverse_BoolRefinement.T_Lam_g", - "projection_inverse_BoolRefinement.T_Lam_t", - "projection_inverse_BoolRefinement.T_Lam_t_", - "projection_inverse_BoolRefinement.T_Lam_x", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2ac418b05c166d03b4bae4228bf52433", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_47755c3b11a9ebf3b6fc777628eba81a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.t_height", "well-founded-ordering-on-nat" - ], - 0, - "ca2879260c451654a3decf5953b42f74" - ], - [ - "BoolRefinement.soundness", - 16, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@query", "b2t_def", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "data_elim_BoolRefinement.T_Lam", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_BoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_82cad55f08f4d5a5093e6ab08fdc2356", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "typing_BoolRefinement.extend_env_l", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "3893f8ec0dea2d00705325ed32535e7f" - ], - [ - "BoolRefinement.soundness", - 17, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "disc_equation_BoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.var", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", - "lemma_FStar.Set.lemma_equal_elim", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_5d728d057bdb4d5af8276e4797d2db8f", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.freevars", - "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "63bd424df5d21761e7eb759730b0e658" - ], - [ - "BoolRefinement.soundness", - 18, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.ELam", - "data_elim_BoolRefinement.T_Lam", - "disc_equation_BoolRefinement.T_Var", "equation_BoolRefinement.ln", - "equation_BoolRefinement.open_exp", "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "int_typing", "lemma_BoolRefinement.elab_open_commute", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_5d728d057bdb4d5af8276e4797d2db8f", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_9ac8b9d364473346ae5f9a4ef0871a80", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348", - "token_correspondence_BoolRefinement.ln_.fuel_instrumented", - "typing_BoolRefinement.ln", "typing_BoolRefinement.ln_ty", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "524dc7faef7816da5a23d9a059e1079e" - ], - [ - "BoolRefinement.soundness", - 19, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "data_elim_BoolRefinement.T_Lam", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_BoolRefinement.s_ty", "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.close_comp_typ", - "equation_FStar.Reflection.Typing.close_comp_typ_", - "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.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", - "lemma_BoolRefinement.src_types_are_closed2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_3708ed86e39995793d3a15d04cfd5174", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_d09581203e29542cdbeda916a02963bd", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348" - ], - 0, - "3727eb51a899072308fbd457c6515903" - ], - [ - "BoolRefinement.soundness", - 20, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.ELam", - "data_elim_BoolRefinement.T_Lam", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.mk_binder", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "projection_inverse_BoolRefinement.ELam__0", - "projection_inverse_BoolRefinement.ELam__1", - "projection_inverse_BoolRefinement.TArrow__0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348" - ], - 0, - "edf78aa5ecfc3b50fa7db2b738664ef8" - ], - [ - "BoolRefinement.soundness", - 21, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_Lam", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_f9f092f729ffc76cab30a87eeafba348" - ], - 0, - "8edcb63bde6af3fb365b9d788c3e10d3" - ], - [ - "BoolRefinement.soundness", - 22, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e" - ], - 0, - "fe6be54e6e01add275b6655d107e7dc2" - ], - [ - "BoolRefinement.soundness", - 23, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "data_elim_BoolRefinement.T_App", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.ln", "typing_BoolRefinement.src_env_ok" - ], - 0, - "478a5c40401e125227da07d441d95176" - ], - [ - "BoolRefinement.soundness", - 24, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", "bool_inversion", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "data_elim_BoolRefinement.T_App", - "data_typing_intro_BoolRefinement.TArrow@tok", - "disc_equation_BoolRefinement.T_Lam", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.s_ty", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_95ced87a25eb076c868eb43babf2a394", - "token_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.src_env_ok" - ], - 0, - "36de177a85f551a2abc3bb63b2c9f43a" - ], - [ - "BoolRefinement.soundness", - 25, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.T_App", - "disc_equation_BoolRefinement.T_Lam", "equation_BoolRefinement.max", - "equation_BoolRefinement.s_height", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_App__6", - "projection_inverse_BoolRefinement.T_App__7", - "projection_inverse_BoolRefinement.T_App__8", - "projection_inverse_BoolRefinement.T_App_e1", - "projection_inverse_BoolRefinement.T_App_e2", - "projection_inverse_BoolRefinement.T_App_f", - "projection_inverse_BoolRefinement.T_App_g", - "projection_inverse_BoolRefinement.T_App_t", - "projection_inverse_BoolRefinement.T_App_t0", - "projection_inverse_BoolRefinement.T_App_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_91e856f37b931565cc79ae6570fd87d6", - "refinement_interpretation_Tm_refine_95ced87a25eb076c868eb43babf2a394", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_env_ok", - "well-founded-ordering-on-nat" - ], - 0, - "531c60d5de0e2608129c499ee5bc3c0f" - ], - [ - "BoolRefinement.soundness", - 26, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98" - ], - 0, - "54764519bac8b3bab6ca3bb2f9c3adaa" - ], - [ - "BoolRefinement.soundness", - 27, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e" - ], - 0, - "783a2c9968a2da10f9eb9fe864f3ec38" - ], - [ - "BoolRefinement.soundness", - 28, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EApp", - "data_elim_BoolRefinement.T_App", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.ln", "typing_BoolRefinement.src_env_ok" - ], - 0, - "8b288ad3bf87ffead6cc6eba7a498ad7" - ], - [ - "BoolRefinement.soundness", - 29, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.T_App", - "equation_BoolRefinement.max", "equation_BoolRefinement.s_height", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_App__6", - "projection_inverse_BoolRefinement.T_App__7", - "projection_inverse_BoolRefinement.T_App__8", - "projection_inverse_BoolRefinement.T_App_e1", - "projection_inverse_BoolRefinement.T_App_e2", - "projection_inverse_BoolRefinement.T_App_f", - "projection_inverse_BoolRefinement.T_App_g", - "projection_inverse_BoolRefinement.T_App_t", - "projection_inverse_BoolRefinement.T_App_t0", - "projection_inverse_BoolRefinement.T_App_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_91e856f37b931565cc79ae6570fd87d6", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_env_ok", - "well-founded-ordering-on-nat" - ], - 0, - "19f541cfd05d740197d30c563b1d6583" - ], - [ - "BoolRefinement.soundness", - 30, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98" - ], - 0, - "72fa2dab73d0bead64e1c4409af23ebe" - ], - [ - "BoolRefinement.soundness", - 31, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98" - ], - 0, - "61619d0b6fce10f3a4e98aded0f86577" - ], - [ - "BoolRefinement.soundness", - 32, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_BoolRefinement.s_ty", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "string_typing", "true_interp", "typing_BoolRefinement.elab_ty", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "e76ae963ef1b3c4961a6637da195374f" - ], - [ - "BoolRefinement.soundness", - 33, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.EApp", - "data_elim_BoolRefinement.T_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_BoolRefinement.s_ty", - "equation_FStar.Reflection.Typing.binder_qual", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_BoolRefinement.EApp__0", - "projection_inverse_BoolRefinement.EApp__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "typing_BoolRefinement.elab_ty", - "typing_FStar.Reflection.Typing.mk_simple_binder", - "typing_FStar.Reflection.Typing.pp_name_default" - ], - 0, - "406f61db33b08000b2f8abd31a71f912" - ], - [ - "BoolRefinement.soundness", - 34, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_App", - "lemma_BoolRefinement.src_types_are_closed1", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2d68aa05f60f78265fedc6c50fa3fb98", - "typing_BoolRefinement.elab_exp" - ], - 0, - "c372cdd28ac6ff64a77457c6d7710c81" - ], - [ - "BoolRefinement.soundness", - 35, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e" - ], - 0, - "8229668ead7fb8eb550a1347f0ffa0bd" - ], - [ - "BoolRefinement.soundness", - 36, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "ca45665ea6a3d56a54aca88458670069" - ], - [ - "BoolRefinement.soundness", - 37, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.T_If", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.max", "equation_BoolRefinement.s_exp", - "equation_BoolRefinement.s_ty", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.height", "typing_BoolRefinement.src_env_ok", - "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" - ], - 0, - "8da5f214e4e03d0fa1fb900c79e43e7b" - ], - [ - "BoolRefinement.soundness", - 38, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "ad0ccda65f6052c5e2807aac01a56673" - ], - [ - "BoolRefinement.soundness", - 39, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "ad0ccda65f6052c5e2807aac01a56673" - ], - [ - "BoolRefinement.soundness", - 40, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.T_If", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "1438846907d5082d91c9c8f2390103a1" - ], - [ - "BoolRefinement.soundness", - 41, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "data_elim_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.ln", "typing_BoolRefinement.src_env_ok" - ], - 0, - "9e1eeaae7a08435a32c089a3ae92d1f1" - ], - [ - "BoolRefinement.soundness", - 42, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.T_If", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.max", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.height", "typing_BoolRefinement.src_env_ok", - "well-founded-ordering-on-nat" - ], - 0, - "35fb6d65e97c69459824b872be828894" - ], - [ - "BoolRefinement.soundness", - 43, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "d02b49fde2a85c2b440e6365cc440731" - ], - [ - "BoolRefinement.soundness", - 44, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "bool_typing", - "constructor_distinct_BoolRefinement.EBool", - "data_typing_intro_BoolRefinement.EBool@tok", - "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "projection_inverse_BoolRefinement.EBool__0", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "d02b49fde2a85c2b440e6365cc440731" - ], - [ - "BoolRefinement.soundness", - 45, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "constructor_distinct_Prims.Cons", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_826aba0818ba7705450635975cb91cd3", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "token_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "typing_BoolRefinement.src_env_ok" - ], - 0, - "05169061f7ff4b9bb80c5239c2f24f6b" - ], - [ - "BoolRefinement.soundness", - 46, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", "@query", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_BoolRefinement.EIf", - "data_elim_BoolRefinement.T_If", "equation_BoolRefinement.ln", - "equation_with_fuel_BoolRefinement.ln_.fuel_instrumented", - "int_typing", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.ln", "typing_BoolRefinement.src_env_ok" - ], - 0, - "a4b03635343205e549292b8ec4309f10" - ], - [ - "BoolRefinement.soundness", - 47, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.T_If", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.max", "equation_BoolRefinement.s_height", - "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_826aba0818ba7705450635975cb91cd3", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_env_ok", - "well-founded-ordering-on-nat" - ], - 0, - "c516f558525b4ede904fd76c8b4c2e76" - ], - [ - "BoolRefinement.soundness", - 48, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721" - ], - 0, - "8e784e1225ee06d2011b57ddd1303834" - ], - [ - "BoolRefinement.soundness", - 49, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721" - ], - 0, - "8e784e1225ee06d2011b57ddd1303834" - ], - [ - "BoolRefinement.soundness", - 50, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f" - ], - 0, - "b45ff9e6ef0abfe257af2a2233f9acfd" - ], - [ - "BoolRefinement.soundness", - 51, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f" - ], - 0, - "b45ff9e6ef0abfe257af2a2233f9acfd" - ], - [ - "BoolRefinement.soundness", - 52, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721" - ], - 0, - "06693e17ce6aa90de22e072727b918a4" - ], - [ - "BoolRefinement.soundness", - 53, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721" - ], - 0, - "06693e17ce6aa90de22e072727b918a4" - ], - [ - "BoolRefinement.soundness", - 54, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721" - ], - 0, - "41480f679c0e9a4ae255e174bca48c99" - ], - [ - "BoolRefinement.soundness", - 55, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f" - ], - 0, - "bd452ccd6af96f3ac67837e7cc359ff3" - ], - [ - "BoolRefinement.soundness", - 56, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f" - ], - 0, - "bd452ccd6af96f3ac67837e7cc359ff3" - ], - [ - "BoolRefinement.soundness", - 57, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_BoolRefinement.s_exp", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f" - ], - 0, - "e9ad08427dbcd5cdc710935d247c7cd6" - ], - [ - "BoolRefinement.soundness", - 58, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e" - ], - 0, - "5d9bb4a8a834dac3ee83605d92711cf8" - ], - [ - "BoolRefinement.soundness", - 59, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_3", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", "bool_inversion", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.T_If", - "equality_tok_BoolRefinement.TBool@tok", - "equation_BoolRefinement.max", "equation_BoolRefinement.s_exp", - "equation_BoolRefinement.s_height", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.height.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.t_height.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "projection_inverse_BoolRefinement.T_If__10", - "projection_inverse_BoolRefinement.T_If__11", - "projection_inverse_BoolRefinement.T_If__12", - "projection_inverse_BoolRefinement.T_If__13", - "projection_inverse_BoolRefinement.T_If__8", - "projection_inverse_BoolRefinement.T_If__9", - "projection_inverse_BoolRefinement.T_If_b", - "projection_inverse_BoolRefinement.T_If_e1", - "projection_inverse_BoolRefinement.T_If_e2", - "projection_inverse_BoolRefinement.T_If_f", - "projection_inverse_BoolRefinement.T_If_g", - "projection_inverse_BoolRefinement.T_If_hyp", - "projection_inverse_BoolRefinement.T_If_t", - "projection_inverse_BoolRefinement.T_If_t1", - "projection_inverse_BoolRefinement.T_If_t2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_826aba0818ba7705450635975cb91cd3", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "token_correspondence_BoolRefinement.height.fuel_instrumented", - "typing_BoolRefinement.height", "typing_BoolRefinement.max", - "typing_BoolRefinement.s_height", "typing_BoolRefinement.src_env_ok", - "typing_BoolRefinement.t_height", - "typing_tok_BoolRefinement.TBool@tok", "well-founded-ordering-on-nat" - ], - 0, - "325c96b54967e57a44eab707af9c078b" - ], - [ - "BoolRefinement.soundness", - 60, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "data_elim_BoolRefinement.T_If", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_BoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_370956504cac0e556785bc788126059c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "typing_BoolRefinement.extend_env_l", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "c43b9b2f3334af1a1df2ef9a6bbaf1f4" - ], - [ - "BoolRefinement.soundness", - 61, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@query", "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "bool_inversion", "equation_BoolRefinement.var", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.freevars.fuel_instrumented", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d03582c7bdd32f9cf3d3c6f40996468", - "refinement_interpretation_Tm_refine_370956504cac0e556785bc788126059c", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "typing_BoolRefinement.elab_exp", "typing_BoolRefinement.freevars", - "typing_BoolRefinement.src_env_ok", - "typing_FStar.Reflection.Typing.freevars", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "1ecab7e632cf35154013ef16b0eeaf82" - ], - [ - "BoolRefinement.soundness", - 62, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@query", "constructor_distinct_BoolRefinement.TBool", - "equality_tok_BoolRefinement.TBool@tok", - "equation_with_fuel_BoolRefinement.elab_ty.fuel_instrumented", - "typing_tok_BoolRefinement.TBool@tok" - ], - 0, - "be5d8b680747408e58d4cbf73023f486" - ], - [ - "BoolRefinement.soundness", - 63, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "e9f76c14c88e23d92c4d3eb60871e88f" - ], - [ - "BoolRefinement.soundness", - 64, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@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_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.T_If", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.elab_eqn", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.true_bool", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoolRefinement.EBool__0", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_826aba0818ba7705450635975cb91cd3", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_9fafdb77c32df591f2a7ad1521057721", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BoolRefinement.binding", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf" - ], - 0, - "a137730c724b30440066c741004cdce0" - ], - [ - "BoolRefinement.soundness", - 65, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@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_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", "bool_inversion", - "constructor_distinct_BoolRefinement.EBool", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_Prims.Cons", "data_elim_BoolRefinement.T_If", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.elab_eqn", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.s_exp", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_eqn", "equation_BoolRefinement.var", - "equation_FStar.Reflection.Typing.false_bool", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_BoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb", - "refinement_interpretation_Tm_refine_64ed8e16709cf352831b8fbf60f05e5f", - "refinement_interpretation_Tm_refine_826aba0818ba7705450635975cb91cd3", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_8968af0fc565033c2025d116ba27f224", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_f30625845554b73983a9c318661fc976", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_BoolRefinement.binding", "typing_BoolRefinement.src_env_ok", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf" - ], - 0, - "e4c8e0d9ed85a81dc734c251f9f32908" - ], - [ - "BoolRefinement.soundness", - 66, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "4a8d1ef3fe82854778a109812e47c716" - ], - [ - "BoolRefinement.soundness", - 67, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@query", "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "binder_x_c60c4e1d42763c4f91419adea4adf160_2", - "constructor_distinct_BoolRefinement.EIf", - "data_elim_BoolRefinement.T_If", - "equation_FStar.Reflection.Typing.mk_if", - "equation_with_fuel_BoolRefinement.elab_exp.fuel_instrumented", - "projection_inverse_BoolRefinement.EIf__0", - "projection_inverse_BoolRefinement.EIf__1", - "projection_inverse_BoolRefinement.EIf__2", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_456c505ecbe6e3bd8befa26c18e003cb" - ], - 0, - "3ce402ecf06c4586bda2aead6a85e927" - ], - [ - "BoolRefinement.soundness", - 68, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_132b2efc4bf6b8b9e319f04a5a6ebd6f_4", - "data_elim_BoolRefinement.T_If", - "refinement_interpretation_Tm_refine_02d6b99020913f5584ef848aca3df406", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "1b812deba860ac9718ec3842c5ebe954" - ], - [ - "BoolRefinement.soundness", - 69, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.t_height.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.height.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.ln_ty.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_BoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_0281bcfbcdae2aa31479449b0e2a6be4_1", - "binder_x_87f786eadcb7276d1fcfcf2affdd1d18_2", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_0", - "binder_x_e782e3f5d1a0bdd4b7457fa77a9d0eb3_3", "bool_inversion", - "constructor_distinct_BoolRefinement.OK_TArrow", - "constructor_distinct_BoolRefinement.OK_TRefine", - "constructor_distinct_BoolRefinement.TArrow", - "constructor_distinct_BoolRefinement.TBool", - "constructor_distinct_BoolRefinement.TRefineBool", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_BoolRefinement.OK_TArrow", - "data_elim_BoolRefinement.OK_TBool", - "data_elim_BoolRefinement.OK_TRefine", - "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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_BoolRefinement.OK_TArrow", - "disc_equation_BoolRefinement.OK_TBool", - "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.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_BoolRefinement.apply", "equation_BoolRefinement.binding", - "equation_BoolRefinement.bv0", "equation_BoolRefinement.bv_as_arg", - "equation_BoolRefinement.elab_binding", - "equation_BoolRefinement.extend_env_l", "equation_BoolRefinement.ln", - "equation_BoolRefinement.max", "equation_BoolRefinement.s_ty", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.src_eqn", - "equation_BoolRefinement.var", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.b2t_fv", - "equation_FStar.Reflection.Typing.binder_qual", - "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.fstar_top_env", - "equation_FStar.Reflection.Typing.lookup_fvar", - "equation_FStar.Reflection.Typing.mk_binder", - "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.sort_default", - "equation_FStar.Reflection.Typing.tm_type", - "equation_FStar.Reflection.Typing.tun", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Reflection.Typing.var_as_namedv", - "equation_FStar.Reflection.Typing.var_as_term", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.freevars_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.fresh.fuel_instrumented", - "equation_with_fuel_BoolRefinement.ln_ty.fuel_instrumented", - "equation_with_fuel_BoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_BoolRefinement.src_env_ok.fuel_instrumented", - "equation_with_fuel_BoolRefinement.t_height.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_BoolRefinement.src_ty", - "fuel_guarded_inversion_BoolRefinement.src_ty_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@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.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", - "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoolRefinement.OK_TArrow__3", - "projection_inverse_BoolRefinement.OK_TArrow__4", - "projection_inverse_BoolRefinement.OK_TArrow_f", - "projection_inverse_BoolRefinement.OK_TArrow_g", - "projection_inverse_BoolRefinement.OK_TArrow_t", - "projection_inverse_BoolRefinement.OK_TArrow_t_", - "projection_inverse_BoolRefinement.OK_TRefine__2", - "projection_inverse_BoolRefinement.OK_TRefine_e", - "projection_inverse_BoolRefinement.OK_TRefine_f", - "projection_inverse_BoolRefinement.OK_TRefine_g", - "projection_inverse_BoolRefinement.TArrow__0", - "projection_inverse_BoolRefinement.TArrow__1", - "projection_inverse_BoolRefinement.TRefineBool__0", - "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.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.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.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", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_291bea95a9f9178c33d9fa127b753279", - "refinement_interpretation_Tm_refine_2b3475848011f16f04786bb043d15d9d", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "refinement_interpretation_Tm_refine_7b71ed368891b904e5e36276d66ea9a5", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_887e696389cf189fc0ea00cf002e36f2", - "refinement_interpretation_Tm_refine_915121fca9eb872092450053972ea07e", - "refinement_interpretation_Tm_refine_a052c3b009416b6dd8d3777050854c02", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_69908f7d94e40d6b2a5dd1c4733376b7", - "string_typing", - "token_correspondence_BoolRefinement.closed_ty.fuel_instrumented", - "token_correspondence_BoolRefinement.fresh.fuel_instrumented", - "token_correspondence_BoolRefinement.t_height.fuel_instrumented", - "true_interp", "typing_BoolRefinement.binding", - "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", - "typing_BoolRefinement.ln_ty", "typing_BoolRefinement.lookup", - "typing_BoolRefinement.max", "typing_BoolRefinement.r_b2t", - "typing_BoolRefinement.src_env_ok", "typing_BoolRefinement.src_eqn", - "typing_BoolRefinement.t_height", - "typing_BoolRefinement.uu___is_OK_TBool", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.uu___is_None", - "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.make_bv", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.u_zero", - "typing_FStar.Reflection.Typing.unit_fv", - "typing_FStar.Reflection.Typing.var_as_term", - "typing_FStar.Sealed.seal", "typing_FStar.Set.empty", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf", - "typing_tok_BoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "95d0306d0c23573531fc0ff40d67f502" - ], - [ - "BoolRefinement.soundness_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c03098e0ea33aec90de743c2bd4884a1" - ], - [ - "BoolRefinement.main", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_BoolRefinement.closed.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_BoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "BoolRefinement_interpretation_Tm_arrow_7ca10436ba639732f9a996071c1e4029", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_BoolRefinement.binding", - "equation_BoolRefinement.extend_env_l", - "equation_BoolRefinement.src_env", "equation_BoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.mk_checked_let", - "equation_FStar.Reflection.Typing.sigelt_has_type", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.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.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_32846b0f78113b2096a2e6a77381f4c6", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_inversion", "true_interp", "typing_BoolRefinement.binding", - "typing_BoolRefinement.closed", "typing_BoolRefinement.freevars", - "typing_FStar.Set.empty", "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_Tm_abs_8273ba7fa70f751c1a3ab56d9d68fadf" - ], - 0, - "1453916eb3407afd2452911c2a881bd1" - ] - ] -] \ No newline at end of file diff --git a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints b/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints deleted file mode 100644 index 432afa0eede..00000000000 --- a/examples/dsls/dependent_bool_refinement/DependentBoolRefinement.fst.hints +++ /dev/null @@ -1,4167 +0,0 @@ -[ - "/ò2š:ß\u0005åw\u0003®$ÏÀ·", - [ - [ - "DependentBoolRefinement.src_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2d7ff86aab76d3b71827f62f35620146" - ], - [ - "DependentBoolRefinement.__proj__EBVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_76e69f53f8b139ac640cb3bc36a348fe" - ], - 0, - "f196716fb95ff158ba130443f6877ef6" - ], - [ - "DependentBoolRefinement.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_61bd973be40b4a8dfa24fc7f49dc4153" - ], - 0, - "62a29096668df69f6b533813f80b0f3b" - ], - [ - "DependentBoolRefinement.__proj__EBool__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_60cf0d93e14741912de2789279cbb8f0" - ], - 0, - "c416a29f7d4e7152c2ff9ceec0edc11e" - ], - [ - "DependentBoolRefinement.__proj__EIf__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" - ], - 0, - "665f81cb8afb912cbae46df561cf717c" - ], - [ - "DependentBoolRefinement.__proj__EIf__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" - ], - 0, - "8b7c6ce0628f16d73135d519cd49b37a" - ], - [ - "DependentBoolRefinement.__proj__EIf__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33e529d310e0eeca1cfcc75fa23ac95b" - ], - 0, - "99e4a78481233d5e3006f00f489b81f2" - ], - [ - "DependentBoolRefinement.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b1f8a1df9130c65b3ebeebb754b2c688" - ], - 0, - "7a154587bdcf825b8b1e5afdfb6e8bcd" - ], - [ - "DependentBoolRefinement.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b1f8a1df9130c65b3ebeebb754b2c688" - ], - 0, - "af06a2dfc0c203c701931007fe2cee2c" - ], - [ - "DependentBoolRefinement.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_93cbdb34920e19b859910ddd2d452895" - ], - 0, - "fde34d28eace2553674e794742cef2ec" - ], - [ - "DependentBoolRefinement.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_93cbdb34920e19b859910ddd2d452895" - ], - 0, - "113cccc5a388075068a14eced81489ce" - ], - [ - "DependentBoolRefinement.__proj__TRefineBool__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49f6994e08d23b0a5dff8fc691808e77" - ], - 0, - "d02200a75238d79bf9d8091a830093ab" - ], - [ - "DependentBoolRefinement.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2c100660062dd969251e832eba80ce1" - ], - 0, - "dc8ef5d1f0a073c4ee205483db0d010f" - ], - [ - "DependentBoolRefinement.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2c100660062dd969251e832eba80ce1" - ], - 0, - "1d5e2a72e1ac9ff086c6d9eeca46d215" - ], - [ - "DependentBoolRefinement.freevars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "8f222b9875d9120f99cc9d58d61dc459" - ], - [ - "DependentBoolRefinement.freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_Prims.int", "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "886752e2455317dfc8276d5f7f8ea433" - ], - [ - "DependentBoolRefinement.freevars", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "717f8da0b16f51bc1735a814fe1a957e" - ], - [ - "DependentBoolRefinement.ln'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "e5461cb1621e0f098579dbd3c45768cf" - ], - [ - "DependentBoolRefinement.ln'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "4d0ed4110025969b8789703bea4622a6" - ], - [ - "DependentBoolRefinement.open_exp'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_b7768f12bb6ac98d6210db2e83bcec7d_2", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.index", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "ed99b4f9efd8507b66818194df0a057f" - ], - [ - "DependentBoolRefinement.open_exp'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "binder_x_b7768f12bb6ac98d6210db2e83bcec7d_2", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.index", "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "2f36fd4271dc067b433d9f2a8bcc8b06" - ], - [ - "DependentBoolRefinement.close_exp'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "94d2e14a3ebe39a5448f617911a9a04a" - ], - [ - "DependentBoolRefinement.close_exp'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "binder_x_b7768f12bb6ac98d6210db2e83bcec7d_2", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.index", "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "860343ce0ab370464acb4f9a5ea14926" - ], - [ - "DependentBoolRefinement.open_exp_freevars", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.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", - "equation_with_fuel_DependentBoolRefinement.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5153da0dc6f7ce66b1d5767d59053075", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.open_exp_", - "typing_DependentBoolRefinement.open_ty_", - "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "021fe78aaf5611be3734a5824b441ae1" - ], - [ - "DependentBoolRefinement.open_exp_freevars", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.open_exp_.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.open_exp_.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.open_ty_.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.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", - "equation_with_fuel_DependentBoolRefinement.open_ty_.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", "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_DependentBoolRefinement.TArrow__0", - "projection_inverse_DependentBoolRefinement.TArrow__1", - "projection_inverse_DependentBoolRefinement.TRefineBool__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fbdc71a51cdad69bc12f5919bb1e651a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.open_ty_", - "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "821783320a6361355846b7bff86b5111" - ], - [ - "DependentBoolRefinement.open_exp_freevars", - 3, - 4, - 2, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9b10838662b9e322e733ddffd6a8b675" - ], - [ - "DependentBoolRefinement.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0ff08963a711ec71a1c4a8d0028c823d_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "5eb8d286f35135a186a6f488c532b676" - ], - [ - "DependentBoolRefinement.src_env_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_fe1e717390eb069c8d37e3688566cbe3_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "eb0aeae1d11047d81e01c7bd022cf9ff" - ], - [ - "DependentBoolRefinement.fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0ff08963a711ec71a1c4a8d0028c823d_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DependentBoolRefinement.var", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "7eea6d4ca1a3e796171cdfad0f41b959" - ], - [ - "DependentBoolRefinement.fresh_not_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.fresh.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0ff08963a711ec71a1c4a8d0028c823d_2", - "binder_x_7475e9523ec5093cddcdcaeae487eb6b_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_DependentBoolRefinement.max", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.fresh.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "85a5c29e617bce46ebfc2d372ec7c941" - ], - [ - "DependentBoolRefinement.lookup_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0ff08963a711ec71a1c4a8d0028c823d_2", - "binder_x_53291ad9202a48478aa9c1b21e607f71_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.lookup.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c604060750b60c4509e6a3c31f077a3e", - "refinement_interpretation_Tm_refine_eff673f8df1d565272c00a35d712bb8e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "typing_DependentBoolRefinement.lookup", - "typing_FStar.Pervasives.Native.uu___is_Some", "unit_inversion", - "unit_typing" - ], - 0, - "f0ff437715c6d8c8679f1e5599bfa32c" - ], - [ - "DependentBoolRefinement.fresh_is_fresh", - 1, - 2, - 1, - [ - "@fuel_correspondence_DependentBoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.src_env", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.fresh", - "typing_DependentBoolRefinement.lookup" - ], - 0, - "40be96595aa275900276fbc581486bb9" - ], - [ - "DependentBoolRefinement.elab_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", "bool_inversion", - "data_elim_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "primitive_Prims.op_Equality", - "proj_equation_DependentBoolRefinement.EBool__0", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "typing_DependentBoolRefinement.uu___is_EIf", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "5a128700e099a9f56b5b3cc91fc09797" - ], - [ - "DependentBoolRefinement.elab_exp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "770eb5fd741d5a5c2f1584d9a5e21b69" - ], - [ - "DependentBoolRefinement.freevars_elab_exp", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.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.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@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_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.Typing_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_DependentBoolRefinement.freevars.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_branch.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_branches.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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.freevars_ty.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_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_DependentBoolRefinement.elab_exp", - "typing_DependentBoolRefinement.elab_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Reflection.Typing.freevars", - "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.Sealed.seal", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "dbb0dd5479aa7a351d940ff0ded0e905" - ], - [ - "DependentBoolRefinement.freevars_elab_exp", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.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.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.r_b2t", - "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Reflection.Typing.bool_ty", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.mk_total", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.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_comp.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "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_comp.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "true_interp", "typing_DependentBoolRefinement.b2t_fv", - "typing_DependentBoolRefinement.elab_exp", - "typing_DependentBoolRefinement.elab_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.r_b2t", - "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.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_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "d6a7ce6fe551f1491012818961f6913a" - ], - [ - "DependentBoolRefinement.freevars_elab_exp", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "33935b00df31668ca4da92f8bc828310" - ], - [ - "DependentBoolRefinement.elab_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.src_eqn", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c819da5b985789878ee00fd8d160c5f7" - ], - [ - "DependentBoolRefinement.__proj__S_Refl__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2c96aa34aec294d21766dc0cbda40981" - ], - 0, - "3a45561ffe6b224634f6436cdc9e3a52" - ], - [ - "DependentBoolRefinement.__proj__S_Refl__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2c96aa34aec294d21766dc0cbda40981" - ], - 0, - "e61cf0bfbbfe3e8bfcf10c0bcac2dcb8" - ], - [ - "DependentBoolRefinement.__proj__S_ELab__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" - ], - 0, - "8fce47c51a8cbef6148c5ee5db7aa59c" - ], - [ - "DependentBoolRefinement.__proj__S_ELab__item__t0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" - ], - 0, - "0e2b47df7927228b261ebf183a42f4b8" - ], - [ - "DependentBoolRefinement.__proj__S_ELab__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" - ], - 0, - "d59f36bf79455667e63718e3db591800" - ], - [ - "DependentBoolRefinement.__proj__S_ELab__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.S_ELab", - "refinement_interpretation_Tm_refine_7f58630b0393184b09e2a8d9b318e793" - ], - 0, - "5603503cf9690d36cf894ded7ab0ccec" - ], - [ - "DependentBoolRefinement.src_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7ec2c353220150694e60e606c69b3f1c" - ], - [ - "DependentBoolRefinement.src_typing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "738bd058978ebaddf23d0976a800d21d" - ], - [ - "DependentBoolRefinement.src_typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1726729c59afb86f5258d50ce75a48c9" - ], - [ - "DependentBoolRefinement.src_typing", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dd15b8372321928a3638a5b7ad924a77" - ], - [ - "DependentBoolRefinement.src_typing", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_06dd6912fa61977caa4379d2456a1d1e" - ], - 0, - "82a24852a2f53d5b4224b54d5e4edc07" - ], - [ - "DependentBoolRefinement.__proj__T_Bool__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cfac24a0fddbd9a1cf8bc8f9c33a15a9" - ], - 0, - "589ebe7d3b1368ba7e24473f0f5763e8" - ], - [ - "DependentBoolRefinement.__proj__T_Bool__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cfac24a0fddbd9a1cf8bc8f9c33a15a9" - ], - 0, - "2bbccc37e08555ce43b7b1e8ecdde527" - ], - [ - "DependentBoolRefinement.__proj__T_Var__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_86644fd14ee21cf25ca5e8268da5bda8" - ], - 0, - "62304d6e8a1c155d951aabef6538f2e4" - ], - [ - "DependentBoolRefinement.__proj__T_Var__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_Var", - "refinement_interpretation_Tm_refine_86644fd14ee21cf25ca5e8268da5bda8" - ], - 0, - "b9c03de00ecfd0d2aeaa3349bff1c92e" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "da882490cd34fb414e6b5ea99a958a0e" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "d3fa809eef75ae3c7d95401681ba4438" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "3647b489c269fde2f9777914016df545" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "98cf68c1dcca86846561b14b883387e8" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f0d723560e02aef43f6cb4a45cdac0ec" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item__x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_Lam", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31", - "typing_Prims.int" - ], - 0, - "225b7c9e5064844d5bb3cd045a6adc20" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_Lam", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "218f138de9fc44f6d315d4340d0a3735" - ], - [ - "DependentBoolRefinement.__proj__T_Lam__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_Lam", - "proj_equation_DependentBoolRefinement.T_Lam_e", - "proj_equation_DependentBoolRefinement.T_Lam_x", - "projection_inverse_DependentBoolRefinement.T_Lam_e", - "projection_inverse_DependentBoolRefinement.T_Lam_x", - "refinement_interpretation_Tm_refine_5fce31cb9069833dc30f506a24760f31" - ], - 0, - "c91810746c4d0f9b4fc9f5a0768549c0" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "80f08fe25b7526fc675a1590d9a8ef87" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "c0845d6b150526e0fc6fc379be64955b" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "3d34c3a7b1cbee7315756c9c4995209e" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "eedb5736e3a12573eaafdcbfeae3cfbd" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "547223f5e52819906a30d001adc7080c" - ], - [ - "DependentBoolRefinement.__proj__T_App__item__t0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "ba08cf451c8697351965370b823916ae" - ], - [ - "DependentBoolRefinement.__proj__T_App__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_App", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "517425614a5650b662938019706316cd" - ], - [ - "DependentBoolRefinement.__proj__T_App__item___7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_App", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "7123c72820f7cb573eb9778dc9b1f0e0" - ], - [ - "DependentBoolRefinement.__proj__T_App__item___8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_App", - "refinement_interpretation_Tm_refine_f1fdfd3f8f94e368c8cb0f4904859e12" - ], - 0, - "fea597698f48bc896f76aa136541ea4d" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "5072ab18773112bf25e2d7faba371564" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "55a98a8bc0a3149096c5f02126cdd7e5" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "5bdb33049cf65082df732c4fbffde2c1" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "37411607f97d5e6c6f5e474ff5dababc" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "793cdfb9565cffc71a296f26e76408ab" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "67dace3e5c62988737a12e31a3b8d16f" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "cb5b5e1ec7218a52e2c84224bc2c83f0" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__hyp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dd75654f1e3b911310f4fa8eae1221cb" - ], - [ - "DependentBoolRefinement.__proj__T_If__item__hyp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251", - "typing_Prims.int" - ], - 0, - "3759d946a1a27b331b0706dec2d0d025" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "40f8a53327acde26aa0db8a15f4504ca" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___9", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "88faf18c78136ac87e31b1683e164804" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___10", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "413a071834b634b89b3984eaca3d6706" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "c3e7798c18179c67658a11ffbfbd0aaf" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "24f9d1d8593629baee96db6db90d1210" - ], - [ - "DependentBoolRefinement.__proj__T_If__item___13", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.T_If", - "refinement_interpretation_Tm_refine_943c89cd48c91e2effccb5d54a805251" - ], - 0, - "1bf38c36fe8dd96064e8d853141878f5" - ], - [ - "DependentBoolRefinement.__proj__OK_TBool__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a89cf231f371e522f4f1777ec17e24de" - ], - 0, - "c91e568305cec516ca6d1982c6f749db" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" - ], - 0, - "6dfb9370fbf4687fde8c8269ea28d9a3" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" - ], - 0, - "4655fa2f30c84aa918d5c748b552245e" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" - ], - 0, - "40e568cd4f4a2e66ea6ca7f53b04b1e1" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "03eb8947f2548eb27ee18b1e53b03e2a" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item__x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.OK_TArrow", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "07d57b0d10d3f1b78881f913c2ec62ec" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.OK_TArrow", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" - ], - 0, - "ea6d0cf0572d45b53e6aac802a91821a" - ], - [ - "DependentBoolRefinement.__proj__OK_TArrow__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.OK_TArrow", - "proj_equation_DependentBoolRefinement.OK_TArrow_t_", - "proj_equation_DependentBoolRefinement.OK_TArrow_x", - "projection_inverse_DependentBoolRefinement.OK_TArrow_t_", - "projection_inverse_DependentBoolRefinement.OK_TArrow_x", - "refinement_interpretation_Tm_refine_30ae391d10e81867ead1587d86a1f03b" - ], - 0, - "4895e6fe4087383ec9d40f40d0395904" - ], - [ - "DependentBoolRefinement.__proj__OK_TRefine__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" - ], - 0, - "a3328512a71330b64c6ff78ec7da8e0f" - ], - [ - "DependentBoolRefinement.__proj__OK_TRefine__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" - ], - 0, - "ab12678a54eb0c2c822ac56a5c641b6d" - ], - [ - "DependentBoolRefinement.__proj__OK_TRefine__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "72cc209f9dc56035b9cd83fa10d50573" - ], - [ - "DependentBoolRefinement.__proj__OK_TRefine__item__x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.OK_TRefine", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4", - "typing_Prims.int" - ], - 0, - "b986ea401b90c1fa32d3bf8ad4ea3473" - ], - [ - "DependentBoolRefinement.__proj__OK_TRefine__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.OK_TRefine", - "proj_equation_DependentBoolRefinement.OK_TRefine_e", - "proj_equation_DependentBoolRefinement.OK_TRefine_x", - "projection_inverse_DependentBoolRefinement.OK_TRefine_e", - "projection_inverse_DependentBoolRefinement.OK_TRefine_x", - "refinement_interpretation_Tm_refine_7102b41255acfc708ee8cc14c2a6ffe4" - ], - 0, - "bff7c60ea274bd13a8fc2b2b7e073ee0" - ], - [ - "DependentBoolRefinement.height", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ab73837ecd69a25bd08924c60d23036e_4", - "disc_equation_DependentBoolRefinement.T_App", - "disc_equation_DependentBoolRefinement.T_Bool", - "disc_equation_DependentBoolRefinement.T_If", - "disc_equation_DependentBoolRefinement.T_Lam", - "disc_equation_DependentBoolRefinement.T_Var", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.s_height", "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.T_App", - "subterm_ordering_DependentBoolRefinement.T_If", - "subterm_ordering_DependentBoolRefinement.T_Lam" - ], - 0, - "78ad7753d3a9915939cd7bab70c62367" - ], - [ - "DependentBoolRefinement.height", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5553fd412cd39176d7ad1e81f3f166ce_3", - "disc_equation_DependentBoolRefinement.OK_TArrow", - "disc_equation_DependentBoolRefinement.OK_TBool", - "disc_equation_DependentBoolRefinement.OK_TRefine", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_Prims.nat", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty_ok", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.OK_TArrow", - "subterm_ordering_DependentBoolRefinement.OK_TRefine" - ], - 0, - "42a94aaa98a3f92c6b0b9a8db15237cc" - ], - [ - "DependentBoolRefinement.check_sub_typing", - 1, - 2, - 1, - [ - "@query", "assumption_DependentBoolRefinement.src_ty__uu___haseq", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "7d8bc4d5839ff8d62b328f1ab4920016" - ], - [ - "DependentBoolRefinement.weaken", - 1, - 2, - 1, - [ - "@query", "assumption_DependentBoolRefinement.src_ty__uu___haseq", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "21d70be835924af2c33e80901489cc39" - ], - [ - "DependentBoolRefinement.ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a6afc05d7f7228d9617dc897c5cc69e0" - ], - [ - "DependentBoolRefinement.ok_ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fc14cdc7038bf3b226a9699fa249ce7c" - ], - [ - "DependentBoolRefinement.check_ok_ty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", - "binder_x_fe1e717390eb069c8d37e3688566cbe3_1", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.ok", - "equation_DependentBoolRefinement.ok_ty", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.TArrow__0", - "projection_inverse_DependentBoolRefinement.TArrow__1", - "projection_inverse_DependentBoolRefinement.TRefineBool__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81f6384925f1f41e5ff22a138802646c", - "refinement_interpretation_Tm_refine_944e9800f2861e190c5e920f97ef9dfa", - "refinement_interpretation_Tm_refine_cab1f128e8319609ab79f0d0c82de62a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.check_ok_ty", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "432faf79e5b337a7d4f468c80b57d7ed" - ], - [ - "DependentBoolRefinement.check_ok_ty", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", - "binder_x_fe1e717390eb069c8d37e3688566cbe3_1", "bool_inversion", - "bool_typing", "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.ok", - "equation_DependentBoolRefinement.ok_ty", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.freevars.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5faf9c2fc3ba5ca673c66700c1e6bad6", - "refinement_interpretation_Tm_refine_7a5faf8590b890dd94e29b993f8ddf1d", - "refinement_interpretation_Tm_refine_894771a0f5d5b4783266d3a5e41760d0", - "refinement_interpretation_Tm_refine_cab1f128e8319609ab79f0d0c82de62a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.check_ok", - "typing_DependentBoolRefinement.check_ok_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.lookup", - "typing_DependentBoolRefinement.uu___is_EBVar", - "typing_DependentBoolRefinement.uu___is_ELam", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "8a2da5dbb2f7e08ffac6f508c4c54285" - ], - [ - "DependentBoolRefinement.check", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.check_ok_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_DependentBoolRefinement.src_ty__uu___haseq", - "bool_inversion", "bool_typing", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_DependentBoolRefinement.EBool@tok", - "data_typing_intro_DependentBoolRefinement.EVar@tok", - "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_Prims.Cons@tok", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.fstar_env", - "equation_DependentBoolRefinement.fstar_top_env", - "equation_DependentBoolRefinement.lookup_ty", - "equation_DependentBoolRefinement.ok", - "equation_DependentBoolRefinement.ok_ty", - "equation_DependentBoolRefinement.open_exp", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.src_eqn", - "equation_DependentBoolRefinement.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", - "equation_with_fuel_DependentBoolRefinement.lookup.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_DependentBoolRefinement.src_exp@tok", - "kinding_DependentBoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1f910e77e61455c766b6b7625c1fd2c7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_658fcfcb3f8d58b232a2ff4dfae2ddf0", - "refinement_interpretation_Tm_refine_cab1f128e8319609ab79f0d0c82de62a", - "refinement_interpretation_Tm_refine_ff39d83f9ba7baffba174ac1c7d82e27", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", - "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.check_ok_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.fresh", - "typing_DependentBoolRefinement.lookup", - "typing_DependentBoolRefinement.lookup_ty", - "typing_DependentBoolRefinement.src_eqn", - "typing_DependentBoolRefinement.uu___is_EBVar", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Reflection.Typing.lookup_bvar", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_FStar.Stubs.Reflection.Types.term", - "typing_Prims.int", "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "7358eff76968a4ec9504aea9d5a0cf41" - ], - [ - "DependentBoolRefinement.check", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.fresh.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "bool_inversion", "bool_typing", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_typing_intro_DependentBoolRefinement.EVar@tok", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.fstar_top_env", - "equation_DependentBoolRefinement.ok", - "equation_DependentBoolRefinement.ok_ty", - "equation_DependentBoolRefinement.open_exp", - "equation_DependentBoolRefinement.open_ty", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.src_eqn", - "equation_DependentBoolRefinement.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", - "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.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_DependentBoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.EVar__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.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_16be809aad053a2983e7c53b93515618", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ff39d83f9ba7baffba174ac1c7d82e27", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.fresh", - "typing_DependentBoolRefinement.lookup", - "typing_DependentBoolRefinement.src_eqn", - "typing_DependentBoolRefinement.uu___is_TBool", - "typing_FStar.Set.mem", "typing_FStar.Set.union", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "48cb15fb752e462c324b88f53582cba3" - ], - [ - "DependentBoolRefinement.extend_env_l_lookup_bvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_ab7994ed0d1b53f653fcc359c9b6bb80", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_53291ad9202a48478aa9c1b21e607f71_2", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "binder_x_fe1e717390eb069c8d37e3688566cbe3_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.elab_binding", - "equation_DependentBoolRefinement.extend_env_l", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.elab_binding", - "typing_DependentBoolRefinement.extend_env_l", - "typing_DependentBoolRefinement.lookup", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_Tm_abs_14f4b8293cb115090478765f9cdc922c" - ], - 0, - "61712f7347b8c3e70542753ab07120a9" - ], - [ - "DependentBoolRefinement.extend_env_l_lookup_bvar", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.src_env", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_74bd131e7a8ad767c2ef29aa9b55b4f4", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.lookup" - ], - 0, - "a7d42c4753942e088a88e3efe0e1a4c4" - ], - [ - "DependentBoolRefinement.elab_open_commute'", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_2", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_DependentBoolRefinement.EApp", - "data_elim_DependentBoolRefinement.EBVar", - "data_elim_DependentBoolRefinement.EBool", - "data_elim_DependentBoolRefinement.EIf", - "data_elim_DependentBoolRefinement.ELam", - "data_elim_DependentBoolRefinement.EVar", - "data_elim_FStar.Stubs.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.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_bv", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.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", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.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.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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.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_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.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "d6d836bf374f61d1baf58935dd5839d5" - ], - [ - "DependentBoolRefinement.elab_open_commute'", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_54deee709e06dbd1631f01413bb5dc48_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_2", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.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.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.r_b2t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.bool_ty", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "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_ty_.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.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_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.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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", - "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.Typing.bool_fv", - "typing_FStar.Reflection.Typing.bool_ty", - "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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "e5762ab8d0c74250b8c8edd30b6fdbad" - ], - [ - "DependentBoolRefinement.elab_open_commute", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@query", "constructor_distinct_DependentBoolRefinement.EVar", - "data_typing_intro_DependentBoolRefinement.EVar@tok", - "equation_DependentBoolRefinement.open_exp", - "equation_FStar.Reflection.Typing.make_namedv", - "equation_FStar.Reflection.Typing.open_with_var", - "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, - "9af4725db644362a2805c879088d007d" - ], - [ - "DependentBoolRefinement.b2t_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "data_typing_intro_FStar.Reflection.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Type@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_DependentBoolRefinement.fstar_env", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Reflection.Typing.bool_ty", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", "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", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "refinement_interpretation_Tm_refine_1f910e77e61455c766b6b7625c1fd2c7", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "true_interp", - "typing_FStar.Reflection.Typing.bool_ty", - "typing_FStar.Reflection.Typing.tm_type", - "typing_FStar.Reflection.Typing.u_zero", "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "cec4f6c2c4bca7a8225fa2ef4f63299a" - ], - [ - "DependentBoolRefinement.extend_env_l_lookup_fvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_ab7994ed0d1b53f653fcc359c9b6bb80", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "binder_x_fe1e717390eb069c8d37e3688566cbe3_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.elab_binding", - "equation_DependentBoolRefinement.extend_env_l", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", - "equation_FStar.Reflection.Typing.lookup_fvar", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", - "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_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.elab_binding", - "typing_DependentBoolRefinement.extend_env_l", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_Tm_abs_14f4b8293cb115090478765f9cdc922c" - ], - 0, - "21ebdac776222b4aafe2d340871c219e" - ], - [ - "DependentBoolRefinement.subtyping_soundness", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_DependentBoolRefinement.S_ELab", - "data_elim_DependentBoolRefinement.S_Refl", - "disc_equation_DependentBoolRefinement.S_ELab", - "disc_equation_DependentBoolRefinement.S_Refl", - "fuel_guarded_inversion_DependentBoolRefinement.sub_typing", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7e1fd40a7702696a8a1d0afb6a33bf4a" - ], - [ - "DependentBoolRefinement.elab_close_commute'", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.close_exp_.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_53291ad9202a48478aa9c1b21e607f71_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_1", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.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.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Pat_Constant@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.var", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_bv", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "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.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", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "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", - "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", - "true_interp", "typing_DependentBoolRefinement.close_exp_", - "typing_DependentBoolRefinement.elab_exp", - "typing_DependentBoolRefinement.elab_ty", - "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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "2989c6c237396c3340cef82bfdf40296" - ], - [ - "DependentBoolRefinement.elab_close_commute'", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.close_exp_.fuel_instrumented", - "@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.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.subst_term.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_53291ad9202a48478aa9c1b21e607f71_2", - "binder_x_54deee709e06dbd1631f01413bb5dc48_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.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.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_DependentBoolRefinement.index", - "equation_DependentBoolRefinement.r_b2t", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.bool_ty", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "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.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.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_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.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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.Typing.bool_fv", - "typing_FStar.Reflection.Typing.bool_ty", - "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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_Prims.string", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "eb5816f9e982387acca19e87a6877eab" - ], - [ - "DependentBoolRefinement.elab_ty_close_commute", - 1, - 2, - 1, - [ "@query", "equation_DependentBoolRefinement.close_ty" ], - 0, - "ed8278dd98db5ef640ef5252222b2467" - ], - [ - "DependentBoolRefinement.elab_ty_open_with_commute", - 1, - 2, - 1, - [ "@query", "equation_DependentBoolRefinement.open_ty_with" ], - 0, - "83436c3d24bbbd28f714627493b19b75" - ], - [ - "DependentBoolRefinement.elab_ty_open_commute", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@query", "constructor_distinct_DependentBoolRefinement.EVar", - "data_typing_intro_DependentBoolRefinement.EVar@tok", - "equation_DependentBoolRefinement.open_ty", - "equation_FStar.Reflection.Typing.make_namedv", - "equation_FStar.Reflection.Typing.open_with_var", - "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, - "b5affa19dbf6fc89b31787a391921712" - ], - [ - "DependentBoolRefinement.elab_open_b2t", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "equality_tok_FStar.Stubs.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.Typing.open_with_var", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "int_typing", "kinding_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.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.Typing.open_with_var", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok" - ], - 0, - "f344acd591657d2d9948a927efc7c289" - ], - [ - "DependentBoolRefinement.soundness", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@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", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_ab7994ed0d1b53f653fcc359c9b6bb80", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_2ae8d4c7a7b18f6c504af405dc9d6547_1", - "binder_x_3e453ce2f4f7209353534460b12cbd64_0", - "binder_x_54deee709e06dbd1631f01413bb5dc48_3", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_2", - "binder_x_f4a0f660c8d2af61ebf53fcd5ba99418_4", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.T_Bool", - "constructor_distinct_DependentBoolRefinement.T_If", - "constructor_distinct_DependentBoolRefinement.T_Lam", - "constructor_distinct_DependentBoolRefinement.T_Var", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "constructor_distinct_Prims.Cons", - "data_elim_DependentBoolRefinement.EBool", - "data_elim_DependentBoolRefinement.T_App", - "data_elim_DependentBoolRefinement.T_Bool", - "data_elim_DependentBoolRefinement.T_If", - "data_elim_DependentBoolRefinement.T_Lam", - "data_elim_DependentBoolRefinement.T_Var", - "data_typing_intro_DependentBoolRefinement.EBool@tok", - "data_typing_intro_DependentBoolRefinement.TArrow@tok", - "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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_DependentBoolRefinement.T_App", - "disc_equation_DependentBoolRefinement.T_Bool", - "disc_equation_DependentBoolRefinement.T_If", - "disc_equation_DependentBoolRefinement.T_Lam", - "disc_equation_DependentBoolRefinement.T_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Nil", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.elab_binding", - "equation_DependentBoolRefinement.elab_eqn", - "equation_DependentBoolRefinement.extend_env_l", - "equation_DependentBoolRefinement.fstar_env", - "equation_DependentBoolRefinement.fstar_top_env", - "equation_DependentBoolRefinement.lookup_ty", - "equation_DependentBoolRefinement.max", - "equation_DependentBoolRefinement.open_exp", - "equation_DependentBoolRefinement.s_height", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.src_eqn", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.true_bool", - "equation_FStar.Reflection.Typing.u_zero", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.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_exp", - "fuel_guarded_inversion_DependentBoolRefinement.src_typing", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "kinding_DependentBoolRefinement.src_exp@tok", - "kinding_DependentBoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_DependentBoolRefinement.elab_open_commute", - "lemma_DependentBoolRefinement.elab_ty_close_commute", - "lemma_DependentBoolRefinement.elab_ty_open_with_commute", - "lemma_DependentBoolRefinement.extend_env_l_lookup_bvar", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "projection_inverse_DependentBoolRefinement.TArrow__0", - "projection_inverse_DependentBoolRefinement.TArrow__1", - "projection_inverse_DependentBoolRefinement.T_App__6", - "projection_inverse_DependentBoolRefinement.T_App__7", - "projection_inverse_DependentBoolRefinement.T_App__8", - "projection_inverse_DependentBoolRefinement.T_App_e1", - "projection_inverse_DependentBoolRefinement.T_App_e2", - "projection_inverse_DependentBoolRefinement.T_App_f", - "projection_inverse_DependentBoolRefinement.T_App_g", - "projection_inverse_DependentBoolRefinement.T_App_t", - "projection_inverse_DependentBoolRefinement.T_App_t0", - "projection_inverse_DependentBoolRefinement.T_App_t_", - "projection_inverse_DependentBoolRefinement.T_Bool_b", - "projection_inverse_DependentBoolRefinement.T_If__10", - "projection_inverse_DependentBoolRefinement.T_If__11", - "projection_inverse_DependentBoolRefinement.T_If__13", - "projection_inverse_DependentBoolRefinement.T_If__8", - "projection_inverse_DependentBoolRefinement.T_If__9", - "projection_inverse_DependentBoolRefinement.T_If_b", - "projection_inverse_DependentBoolRefinement.T_If_e1", - "projection_inverse_DependentBoolRefinement.T_If_e2", - "projection_inverse_DependentBoolRefinement.T_If_f", - "projection_inverse_DependentBoolRefinement.T_If_g", - "projection_inverse_DependentBoolRefinement.T_If_hyp", - "projection_inverse_DependentBoolRefinement.T_If_t", - "projection_inverse_DependentBoolRefinement.T_If_t1", - "projection_inverse_DependentBoolRefinement.T_If_t2", - "projection_inverse_DependentBoolRefinement.T_Lam__5", - "projection_inverse_DependentBoolRefinement.T_Lam__6", - "projection_inverse_DependentBoolRefinement.T_Lam_e", - "projection_inverse_DependentBoolRefinement.T_Lam_f", - "projection_inverse_DependentBoolRefinement.T_Lam_g", - "projection_inverse_DependentBoolRefinement.T_Lam_t", - "projection_inverse_DependentBoolRefinement.T_Lam_t_", - "projection_inverse_DependentBoolRefinement.T_Lam_x", - "projection_inverse_DependentBoolRefinement.T_Var_g", - "projection_inverse_DependentBoolRefinement.T_Var_x", - "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.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_06dd6912fa61977caa4379d2456a1d1e", - "refinement_interpretation_Tm_refine_083b2b74673a2e66f808f18826dab0f0", - "refinement_interpretation_Tm_refine_1f910e77e61455c766b6b7625c1fd2c7", - "refinement_interpretation_Tm_refine_22725d82069874b2c75166e3e3d9871d", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5627f58d3597eae9d1b33335f84e2a1a", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_ff39d83f9ba7baffba174ac1c7d82e27", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", - "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.height.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.t_height.fuel_instrumented", - "true_interp", "typing_DependentBoolRefinement.b2t_fv", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.elab_exp", - "typing_DependentBoolRefinement.elab_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.height", - "typing_DependentBoolRefinement.lookup", - "typing_DependentBoolRefinement.max", - "typing_DependentBoolRefinement.open_exp", - "typing_DependentBoolRefinement.s_height", - "typing_DependentBoolRefinement.src_env_ok", - "typing_DependentBoolRefinement.src_eqn", - "typing_DependentBoolRefinement.t_height", - "typing_FStar.Pervasives.Native.uu___is_None", - "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_namedv", - "typing_FStar.Reflection.Typing.mk_simple_binder", - "typing_FStar.Reflection.Typing.namedv_uniq", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "867e2f751d7f45528760d32130e224ca" - ], - [ - "DependentBoolRefinement.soundness", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.height.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.lookup.fuel_instrumented", - "@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", - "@fuel_irrelevance_DependentBoolRefinement.lookup.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.t_height.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars.fuel_instrumented", - "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_ab7994ed0d1b53f653fcc359c9b6bb80", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_2ae8d4c7a7b18f6c504af405dc9d6547_1", - "binder_x_3e453ce2f4f7209353534460b12cbd64_0", - "binder_x_54deee709e06dbd1631f01413bb5dc48_2", - "binder_x_c6e0c2232b1a5dc6215dddd363ea015d_3", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.OK_TArrow", - "constructor_distinct_DependentBoolRefinement.OK_TRefine", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.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.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_DependentBoolRefinement.OK_TArrow", - "disc_equation_DependentBoolRefinement.OK_TBool", - "disc_equation_DependentBoolRefinement.OK_TRefine", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_DependentBoolRefinement.b2t_fv", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.elab_binding", - "equation_DependentBoolRefinement.extend_env_l", - "equation_DependentBoolRefinement.fstar_env", - "equation_DependentBoolRefinement.fstar_top_env", - "equation_DependentBoolRefinement.max", - "equation_DependentBoolRefinement.open_exp", - "equation_DependentBoolRefinement.open_ty", - "equation_DependentBoolRefinement.r_b2t", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.src_eqn", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.tm_type", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.elab_exp.fuel_instrumented", - "equation_with_fuel_DependentBoolRefinement.elab_ty.fuel_instrumented", - "equation_with_fuel_DependentBoolRefinement.freevars.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", - "equation_with_fuel_FStar.Reflection.Typing.freevars.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "kinding_DependentBoolRefinement.src_ty@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.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.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", - "projection_inverse_DependentBoolRefinement.OK_TArrow__4", - "projection_inverse_DependentBoolRefinement.OK_TArrow__5", - "projection_inverse_DependentBoolRefinement.OK_TArrow_f", - "projection_inverse_DependentBoolRefinement.OK_TArrow_g", - "projection_inverse_DependentBoolRefinement.OK_TArrow_t", - "projection_inverse_DependentBoolRefinement.OK_TArrow_t_", - "projection_inverse_DependentBoolRefinement.OK_TArrow_x", - "projection_inverse_DependentBoolRefinement.OK_TRefine__3", - "projection_inverse_DependentBoolRefinement.OK_TRefine_e", - "projection_inverse_DependentBoolRefinement.OK_TRefine_f", - "projection_inverse_DependentBoolRefinement.OK_TRefine_g", - "projection_inverse_DependentBoolRefinement.OK_TRefine_x", - "projection_inverse_DependentBoolRefinement.TArrow__0", - "projection_inverse_DependentBoolRefinement.TArrow__1", - "projection_inverse_DependentBoolRefinement.TRefineBool__0", - "projection_inverse_FStar.Pervasives.Inl_a", - "projection_inverse_FStar.Pervasives.Inl_b", - "projection_inverse_FStar.Pervasives.Inl_v", - "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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.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_1f910e77e61455c766b6b7625c1fd2c7", - "refinement_interpretation_Tm_refine_22725d82069874b2c75166e3e3d9871d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5627f58d3597eae9d1b33335f84e2a1a", - "refinement_interpretation_Tm_refine_841698a3d35eb0eee9d07e5aee00c80f", - "refinement_interpretation_Tm_refine_ff39d83f9ba7baffba174ac1c7d82e27", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.t_height.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "typing_DependentBoolRefinement.b2t_fv", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.elab_exp", - "typing_DependentBoolRefinement.elab_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.height", - "typing_DependentBoolRefinement.max", - "typing_DependentBoolRefinement.open_exp", - "typing_DependentBoolRefinement.open_ty", - "typing_DependentBoolRefinement.r_b2t", - "typing_DependentBoolRefinement.src_env_ok", - "typing_DependentBoolRefinement.src_eqn", - "typing_DependentBoolRefinement.t_height", - "typing_DependentBoolRefinement.uu___is_OK_TBool", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Reflection.Typing.bool_fv", - "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.lookup_bvar", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_Tm_abs_14f4b8293cb115090478765f9cdc922c", - "typing_tok_DependentBoolRefinement.TBool@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "8f9226d25264cd94d872a72a92d456fd" - ], - [ - "DependentBoolRefinement.soundness_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "777e9a77560fdf3763a489658a80d18d" - ], - [ - "DependentBoolRefinement.closed", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_e1a36a71415e72353f98a5107a75dd9f_0", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.EApp", - "constructor_distinct_DependentBoolRefinement.EBVar", - "constructor_distinct_DependentBoolRefinement.EBool", - "constructor_distinct_DependentBoolRefinement.EIf", - "constructor_distinct_DependentBoolRefinement.ELam", - "constructor_distinct_DependentBoolRefinement.EVar", - "disc_equation_DependentBoolRefinement.EApp", - "disc_equation_DependentBoolRefinement.EBVar", - "disc_equation_DependentBoolRefinement.EBool", - "disc_equation_DependentBoolRefinement.EIf", - "disc_equation_DependentBoolRefinement.ELam", - "disc_equation_DependentBoolRefinement.EVar", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.var", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_DependentBoolRefinement.src_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "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", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.EApp__0", - "projection_inverse_DependentBoolRefinement.EApp__1", - "projection_inverse_DependentBoolRefinement.EBVar__0", - "projection_inverse_DependentBoolRefinement.EBool__0", - "projection_inverse_DependentBoolRefinement.EIf__0", - "projection_inverse_DependentBoolRefinement.EIf__1", - "projection_inverse_DependentBoolRefinement.EIf__2", - "projection_inverse_DependentBoolRefinement.ELam__0", - "projection_inverse_DependentBoolRefinement.ELam__1", - "projection_inverse_DependentBoolRefinement.EVar__0", - "refinement_interpretation_Tm_refine_0ea8b64a07842fa5ccaeff560a21fea1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d69010bbc8f3c4460d97a8a0809eabda", - "refinement_interpretation_Tm_refine_fe8dd6fe91d1fc42e6ad8191a6594f2e", - "refinement_interpretation_Tm_refine_febfd83d24dc94eb1dec352e9fb82dae", - "subterm_ordering_DependentBoolRefinement.EApp", - "subterm_ordering_DependentBoolRefinement.EIf", - "subterm_ordering_DependentBoolRefinement.ELam", - "token_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "token_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "typing_DependentBoolRefinement.closed", - "typing_DependentBoolRefinement.closed_ty", - "typing_DependentBoolRefinement.freevars", - "typing_DependentBoolRefinement.freevars_ty", - "typing_DependentBoolRefinement.uu___is_EBool", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "e5aed05f946f04d76eec540e6d727328" - ], - [ - "DependentBoolRefinement.closed", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars.fuel_instrumented", - "@fuel_irrelevance_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "@query", - "DependentBoolRefinement_pretyping_54deee709e06dbd1631f01413bb5dc48", - "DependentBoolRefinement_pretyping_e1a36a71415e72353f98a5107a75dd9f", - "binder_x_54deee709e06dbd1631f01413bb5dc48_0", "bool_inversion", - "constructor_distinct_DependentBoolRefinement.TArrow", - "constructor_distinct_DependentBoolRefinement.TBool", - "constructor_distinct_DependentBoolRefinement.TRefineBool", - "disc_equation_DependentBoolRefinement.TArrow", - "disc_equation_DependentBoolRefinement.TBool", - "disc_equation_DependentBoolRefinement.TRefineBool", - "equality_tok_DependentBoolRefinement.TBool@tok", - "equation_DependentBoolRefinement.var", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_DependentBoolRefinement.freevars_ty.fuel_instrumented", - "fuel_guarded_inversion_DependentBoolRefinement.src_ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DependentBoolRefinement.TArrow__0", - "projection_inverse_DependentBoolRefinement.TArrow__1", - "projection_inverse_DependentBoolRefinement.TRefineBool__0", - "refinement_interpretation_Tm_refine_01f183659bdb57af026ff3f9671ac0b6", - "refinement_interpretation_Tm_refine_0ea8b64a07842fa5ccaeff560a21fea1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_DependentBoolRefinement.TArrow", - "subterm_ordering_DependentBoolRefinement.TRefineBool", - "typing_DependentBoolRefinement.closed_ty", - "typing_DependentBoolRefinement.freevars_ty", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_tok_DependentBoolRefinement.TBool@tok" - ], - 0, - "0d93915306a6153fef9d76c261261ad9" - ], - [ - "DependentBoolRefinement.closed", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_DependentBoolRefinement.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "361c9c7e092ee6275260bd687e316f27" - ], - [ - "DependentBoolRefinement.main", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_DependentBoolRefinement.elab_exp.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.elab_ty.fuel_instrumented", - "@fuel_correspondence_DependentBoolRefinement.src_env_ok.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "DependentBoolRefinement_interpretation_Tm_arrow_ab7994ed0d1b53f653fcc359c9b6bb80", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_DependentBoolRefinement.b2t_fv", - "equation_DependentBoolRefinement.b2t_lid", - "equation_DependentBoolRefinement.b2t_ty", - "equation_DependentBoolRefinement.binding", - "equation_DependentBoolRefinement.extend_env_l", - "equation_DependentBoolRefinement.ok", - "equation_DependentBoolRefinement.src_env", - "equation_DependentBoolRefinement.var", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.b2t_fv", - "equation_FStar.Reflection.Typing.b2t_lid", - "equation_FStar.Reflection.Typing.b2t_ty", - "equation_FStar.Reflection.Typing.bool_ty", - "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_checked_let", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Reflection.Typing.sigelt_has_type", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.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.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_fe8dd6fe91d1fc42e6ad8191a6594f2e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_inversion", "true_interp", - "typing_DependentBoolRefinement.binding", - "typing_DependentBoolRefinement.closed", - "typing_DependentBoolRefinement.freevars", "typing_FStar.Set.empty", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_Tm_abs_14f4b8293cb115090478765f9cdc922c" - ], - 0, - "9eac861199f589c27d84716a4cff68c2" - ] - ] -] \ No newline at end of file diff --git a/examples/dsls/stlc/STLC.Core.fst.hints b/examples/dsls/stlc/STLC.Core.fst.hints deleted file mode 100644 index 6b49b5229fb..00000000000 --- a/examples/dsls/stlc/STLC.Core.fst.hints +++ /dev/null @@ -1,2097 +0,0 @@ -[ - "Ghóm\fKê[v\\ÑXl~Ï", - [ - [ - "STLC.Core.stlc_ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "d7c70fa24f82456b78d30e9829b5ed07" - ], - [ - "STLC.Core.__proj__TArrow__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e4cd39f93a2f396579d289bfab964471" - ], - 0, - "43565fbc080af06120fc7229707134fb" - ], - [ - "STLC.Core.__proj__TArrow__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e4cd39f93a2f396579d289bfab964471" - ], - 0, - "3c1fa8d6b97edaf47560cfff11cd3ac3" - ], - [ - "STLC.Core.__proj__EBVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3b65c671f3fc38d8b95112856044c1be" - ], - 0, - "d571e26b80946c55649b75c984d0530f" - ], - [ - "STLC.Core.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8dd56feaa7d87df69df9944bc5abe5d1" - ], - 0, - "505b4ab2d756ce16465ea1f1700dda8f" - ], - [ - "STLC.Core.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5a915c96ff333830c43bf398963581f1" - ], - 0, - "c07df011db2d9c0974585a5bb8541542" - ], - [ - "STLC.Core.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5a915c96ff333830c43bf398963581f1" - ], - 0, - "71bed478476c772cec8c81279e2c55e7" - ], - [ - "STLC.Core.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42d6d1e0f5af9d1c45bb39524a5dfa89" - ], - 0, - "2f4e7c4a00839584cbb24f4ccf2f5ec1" - ], - [ - "STLC.Core.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42d6d1e0f5af9d1c45bb39524a5dfa89" - ], - 0, - "a68950b0c6e2d638dcaef3f033e82b89" - ], - [ - "STLC.Core.size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "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_Prims.nat", "fuel_guarded_inversion_STLC.Core.stlc_exp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "a2d87d8ce85467c616b4130b00bcc8b0" - ], - [ - "STLC.Core.ln'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "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", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "731414895444b6a931e8df85c25207ef" - ], - [ - "STLC.Core.open_exp'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.size.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.size.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_9910eae47e49b97565f6d66111a153d9_2", - "constructor_distinct_STLC.Core.EApp", - "constructor_distinct_STLC.Core.EBVar", - "constructor_distinct_STLC.Core.ELam", - "constructor_distinct_STLC.Core.EVar", - "data_typing_intro_STLC.Core.EVar@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_STLC.Core.EUnit@tok", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.index", "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.size.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_Prims.int", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "d77b6151b6cda1860f22b29fc2583393" - ], - [ - "STLC.Core.close_exp'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.size.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.size.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_STLC.Core.EApp", - "constructor_distinct_STLC.Core.EBVar", - "constructor_distinct_STLC.Core.ELam", - "constructor_distinct_STLC.Core.EVar", - "data_typing_intro_STLC.Core.EBVar@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_STLC.Core.EUnit@tok", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.index", "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.size.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_Prims.int", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "f842c1b7f644f2e706653d5f629ea010" - ], - [ - "STLC.Core.open_close'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.close_exp_.fuel_instrumented", - "@fuel_correspondence_STLC.Core.ln_.fuel_instrumented", - "@fuel_correspondence_STLC.Core.open_exp_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.close_exp_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.ln_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.open_exp_.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_8a070f1ac55ab06f0e0c01ec88c4665d_2", "bool_inversion", - "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", - "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_Prims.nat", "equation_STLC.Core.index", - "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.close_exp_.fuel_instrumented", - "equation_with_fuel_STLC.Core.ln_.fuel_instrumented", - "equation_with_fuel_STLC.Core.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_037518cc0c42b4e4f32cc74547190a6b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "token_correspondence_STLC.Core.ln_.fuel_instrumented", - "typing_STLC.Core.close_exp_", "typing_STLC.Core.uu___is_EUnit", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "cdaab48ab1e4450e6f2ae9c28ba5bbf0" - ], - [ - "STLC.Core.open_close", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_STLC.Core.close_exp", "equation_STLC.Core.ln", - "equation_STLC.Core.open_exp", "equation_STLC.Core.var", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ca42ac2d2450676353efe01322c0aa31" - ], - [ - "STLC.Core.open_exp_ln", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.ln_.fuel_instrumented", - "@fuel_correspondence_STLC.Core.open_exp_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.ln_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.open_exp_.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_9910eae47e49b97565f6d66111a153d9_2", - "binder_x_ae567c2fb75be05905677af440075565_3", "bool_inversion", - "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", - "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_Prims.nat", "equation_STLC.Core.index", - "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.ln_.fuel_instrumented", - "equation_with_fuel_STLC.Core.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70a5294975f9792669c0ae69e7ead0fe", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "token_correspondence_STLC.Core.ln_.fuel_instrumented", - "typing_STLC.Core.ln_", "typing_STLC.Core.open_exp_", - "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "017b92927e960752df75b397033e7284" - ], - [ - "STLC.Core.close_exp_ln", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.close_exp_.fuel_instrumented", - "@fuel_correspondence_STLC.Core.ln_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.close_exp_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.ln_.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "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", - "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_Prims.nat", "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.close_exp_.fuel_instrumented", - "equation_with_fuel_STLC.Core.ln_.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_0fee9482ebf4f6622df8fb8a858a354f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "token_correspondence_STLC.Core.ln_.fuel_instrumented", - "typing_STLC.Core.close_exp_", "typing_STLC.Core.ln_", - "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "d81633bee1debf1b6bda90f6b08b003e" - ], - [ - "STLC.Core.freevars", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "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_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.var", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "typing_Prims.int", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "d728c5d78a07a4f2f9026460508323f9" - ], - [ - "STLC.Core.freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0b0f1d1dacdf730fbc0df7d322656915" - ], - [ - "STLC.Core.closed", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.freevars.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.freevars.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", "bool_inversion", - "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", - "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_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "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", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "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_1c3a263983a5306c8da058b0499d8945", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b15559f8f68748fe9c7c84f456ec7265", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "token_correspondence_STLC.Core.freevars.fuel_instrumented", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Prims.nat", "typing_STLC.Core.closed", - "typing_STLC.Core.freevars", "typing_STLC.Core.uu___is_EUnit", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "81d3e04d8845313100e631941f65c5e0" - ], - [ - "STLC.Core.closed", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "739c8b1aaa95255960a85aff8d652a96" - ], - [ - "STLC.Core.freevars_open", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.freevars.fuel_instrumented", - "@fuel_correspondence_STLC.Core.open_exp_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.freevars.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.open_exp_.fuel_instrumented", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_1", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "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", - "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.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.index", - "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", - "equation_with_fuel_STLC.Core.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "subterm_ordering_STLC.Core.EApp", "subterm_ordering_STLC.Core.ELam", - "token_correspondence_STLC.Core.freevars.fuel_instrumented", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int", "typing_Prims.nat", - "typing_STLC.Core.freevars", "typing_STLC.Core.open_exp_", - "typing_STLC.Core.uu___is_EUnit", "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "5d1aae1ebb9412614924db00a0e3161a" - ], - [ - "STLC.Core.freevars_open", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "88bf41350472980091007700f478bb29" - ], - [ - "STLC.Core.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ac54cff12da583c85a3b58d9dedea8dc" - ], - [ - "STLC.Core.fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_822161675c9619788911f45a2db6bea0_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "equation_STLC.Core.var", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "38aca8aac9e130c92f9568e84df36b70" - ], - [ - "STLC.Core.uu___0", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.fresh.fuel_instrumented", "@query", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.max", - "equation_STLC.Core.var", - "equation_with_fuel_STLC.Core.fresh.fuel_instrumented", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_STLC.Core.fresh.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.nat", - "typing_Prims.unit", "typing_STLC.Core.fresh", - "typing_STLC.Core.max", "unit_typing" - ], - 0, - "eb828c0ada3e9ff74d3dac8b2f252e75" - ], - [ - "STLC.Core.fresh_not_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.fresh.fuel_instrumented", "@query", - "binder_x_0f79bffba1b7f837acf477ef33612574_3", - "binder_x_822161675c9619788911f45a2db6bea0_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_STLC.Core.max", "equation_STLC.Core.var", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_STLC.Core.fresh.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "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", - "subterm_ordering_Prims.Cons", "typing_Prims.nat" - ], - 0, - "d634ad6963608ac38e262801ef01d10a" - ], - [ - "STLC.Core.lookup_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.lookup", - "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Prims.nat" - ], - 0, - "e34fcfe4c7156326a64844649fc6c7ba" - ], - [ - "STLC.Core.fresh_is_fresh", - 1, - 2, - 1, - [ - "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_STLC.Core.lookup", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "typing_STLC.Core.fresh", "typing_STLC.Core.lookup" - ], - 0, - "ac2391797e2a30a2d11f925a3af9a7af" - ], - [ - "STLC.Core.stlc_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fa863801efb5899d2f636d96e03abd57" - ], - [ - "STLC.Core.stlc_typing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cced09f03a5bf8ddedf8f5f1ea3ccbfa" - ], - 0, - "d227d7c6ef377b1f759fc0efe01d67ed" - ], - [ - "STLC.Core.__proj__T_Unit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3a99bf8f5077b2b47494963d853bc52b" - ], - 0, - "b0ee575cec30c1b8f915dcfdda8a33d0" - ], - [ - "STLC.Core.__proj__T_Var__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9be4b45375bd3e25c3f783b967dd122" - ], - 0, - "d81d8afcda3952d994609f5c627f586d" - ], - [ - "STLC.Core.__proj__T_Var__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_STLC.Core.T_Var", - "refinement_interpretation_Tm_refine_c9be4b45375bd3e25c3f783b967dd122" - ], - 0, - "6378e97b8f4a876cf7b494a132891138" - ], - [ - "STLC.Core.__proj__T_Lam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" - ], - 0, - "a6ed154a55d248b2cb2f3eb9993571c5" - ], - [ - "STLC.Core.__proj__T_Lam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" - ], - 0, - "730ea57c5bf8210771799e5e6cf85a79" - ], - [ - "STLC.Core.__proj__T_Lam__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" - ], - 0, - "2cf0e23824d90613c2031070e5844a59" - ], - [ - "STLC.Core.__proj__T_Lam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" - ], - 0, - "4c1cd630798881ec46c3d36a3a2626fb" - ], - [ - "STLC.Core.__proj__T_Lam__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f0d0e1c6ec296933487559a889ebe269" - ], - [ - "STLC.Core.__proj__T_Lam__item__x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_STLC.Core.T_Lam", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153", - "typing_Prims.int" - ], - 0, - "59b58f5cb3297f8440294138a888c958" - ], - [ - "STLC.Core.__proj__T_Lam__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_STLC.Core.T_Lam", - "proj_equation_STLC.Core.T_Lam_e", "proj_equation_STLC.Core.T_Lam_x", - "projection_inverse_STLC.Core.T_Lam_e", - "projection_inverse_STLC.Core.T_Lam_x", - "refinement_interpretation_Tm_refine_6d8dc05c41ff1d66ca21a7b9872ff153" - ], - 0, - "d8d3fe9884862078de1f3aec5cf86516" - ], - [ - "STLC.Core.__proj__T_App__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "e203a610dc6ee309ea0f9c078bd8a9e6" - ], - [ - "STLC.Core.__proj__T_App__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "15332a071b6336eafea7e62490694687" - ], - [ - "STLC.Core.__proj__T_App__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "6403ecc077ecbda4552a16984e23c975" - ], - [ - "STLC.Core.__proj__T_App__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "dbe233254654cf0072e97a35b3dfe7cf" - ], - [ - "STLC.Core.__proj__T_App__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "6ee9caa3b56ad4c248d725ef616987ea" - ], - [ - "STLC.Core.__proj__T_App__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_STLC.Core.T_App", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "e8760644f03d8f799297b0d49e9b1c58" - ], - [ - "STLC.Core.__proj__T_App__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_STLC.Core.T_App", - "refinement_interpretation_Tm_refine_553eebcd7ee44411a8bdb53776d0a6d2" - ], - 0, - "7f3af38d36b7754ce16e9bcefd56120a" - ], - [ - "STLC.Core.ty_to_string'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "binder_x_2e422433f33e373905c3c0dcc0de7e25_1", - "disc_equation_STLC.Core.TArrow", "disc_equation_STLC.Core.TUnit", - "equality_tok_STLC.Core.TUnit@tok", - "fuel_guarded_inversion_STLC.Core.stlc_ty", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_STLC.Core.TArrow", "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "3eed51992a1e66523f6839a1e4028ed8" - ], - [ - "STLC.Core.vars_of_env", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3cf7a56ad318306fd528a74cb6395f81" - ], - [ - "STLC.Core.check", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_STLC.Core.freevars.fuel_instrumented", - "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", - "@fuel_correspondence_STLC.Core.ln_.fuel_instrumented", - "@fuel_correspondence_STLC.Core.open_exp_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.freevars.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.ln_.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.open_exp_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "STLC.Core_interpretation_Tm_arrow_55f0c666875e92fed43e82bd577ad0dc", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "assumption_STLC.Core.stlc_ty__uu___haseq", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_STLC.Core.EApp", - "constructor_distinct_STLC.Core.ELam", "data_elim_STLC.Core.EBVar", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_STLC.Core.EApp", "disc_equation_STLC.Core.ELam", - "disc_equation_STLC.Core.EUnit", "disc_equation_STLC.Core.EVar", - "equality_tok_STLC.Core.TUnit@tok", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.contains", "equation_STLC.Core.index", - "equation_STLC.Core.ln", "equation_STLC.Core.lookup", - "equation_STLC.Core.open_exp", "equation_STLC.Core.var", - "equation_STLC.Core.vars_of_env", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", - "equation_with_fuel_STLC.Core.ln_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "function_token_typing_STLC.Core.contains", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_STLC.Core.stlc_ty@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_STLC.Core.mem_intension_pat", "lemma_STLC.Core.open_exp_ln", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_STLC.Core.EApp__0", - "projection_inverse_STLC.Core.EApp__1", - "projection_inverse_STLC.Core.ELam__0", - "projection_inverse_STLC.Core.ELam__1", - "refinement_interpretation_Tm_refine_2fe79d278f79000333a9cab8c06bffb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_STLC.Core.contains", - "token_correspondence_STLC.Core.freevars.fuel_instrumented", - "token_correspondence_STLC.Core.ln_.fuel_instrumented", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int", "typing_Prims.nat", - "typing_STLC.Core.freevars", "typing_STLC.Core.fresh", - "typing_STLC.Core.ln", "typing_STLC.Core.lookup", - "typing_STLC.Core.uu___is_EUnit", "typing_STLC.Core.vars_of_env", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "821938f841846cb331275cee3f3267b2" - ], - [ - "STLC.Core.check", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "14cc10e6eabe09ae0fff11b2e44e95f3" - ], - [ - "STLC.Core.elab_ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "binder_x_2e422433f33e373905c3c0dcc0de7e25_0", - "disc_equation_STLC.Core.TArrow", "disc_equation_STLC.Core.TUnit", - "equality_tok_STLC.Core.TUnit@tok", - "fuel_guarded_inversion_STLC.Core.stlc_ty", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_STLC.Core.TArrow", "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "eea877254a1a841d57353e66d3744dbd" - ], - [ - "STLC.Core.elab_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.size.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.size.fuel_instrumented", "@query", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", - "constructor_distinct_STLC.Core.EApp", - "constructor_distinct_STLC.Core.ELam", - "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", "equation_Prims.nat", - "equation_with_fuel_STLC.Core.size.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_STLC.Core.EApp__0", - "projection_inverse_STLC.Core.EApp__1", - "projection_inverse_STLC.Core.ELam__0", - "projection_inverse_STLC.Core.ELam__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_STLC.Core.size.fuel_instrumented", - "typing_STLC.Core.size", "well-founded-ordering-on-nat" - ], - 0, - "3efd19da0abb9608f3b64d2d5e3e25ac" - ], - [ - "STLC.Core.extend_env_l_lookup_bvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "STLC.Core_interpretation_Tm_arrow_394c5c2ecb49d080cb176c602499281d", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "binder_x_3c9f31759cbf15ef1c647817d05db5f9_2", - "binder_x_9bad35bf99f3b119fc38a05c56093903_1", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Stubs.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", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_f3036656b57d33abd85b07ecea5131e9", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_STLC.Core.stlc_ty@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.lookup_bvar_extend_env", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_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", - "subterm_ordering_Prims.Cons", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.nat", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.extend_env_l", - "typing_STLC.Core.lookup", - "typing_Tm_abs_f3036656b57d33abd85b07ecea5131e9", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "b60170b78a69446a153cf779ed8246cf" - ], - [ - "STLC.Core.extend_env_l_lookup_bvar", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_STLC.Core.TUnit@tok", "equation_STLC.Core.lookup", - "equation_STLC.Core.stlc_env", "kinding_STLC.Core.stlc_ty@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d94e28e687b6f2874db7c55121c3770", - "typing_STLC.Core.lookup", "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "b87713e0508e2ec99d9360c71af9d118" - ], - [ - "STLC.Core.stlc_types_are_closed_core", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_correspondence_STLC.Core.elab_ty.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_397fe7c4a78e1ff89a217f78a78d0167_1", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_STLC.Core.TArrow", - "constructor_distinct_STLC.Core.TUnit", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_FVar@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", "disc_equation_STLC.Core.TArrow", - "disc_equation_STLC.Core.TUnit", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Const.unit_lid", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_Prims.eqtype", - "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_STLC.Core.elab_ty.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_STLC.Core.stlc_ty", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_STLC.Core.TArrow__0", - "projection_inverse_STLC.Core.TArrow__1", - "refinement_interpretation_Tm_refine_074d0e1477a6e9303d252acddf35bfd7", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_STLC.Core.TArrow", - "token_correspondence_FStar.Reflection.Typing.subst_binder.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "true_interp", "typing_FStar.Reflection.Const.unit_lid", - "typing_FStar.Reflection.Typing.mk_simple_binder", - "typing_FStar.Reflection.Typing.pp_name_default", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_comp", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple", - "typing_Prims.string", "typing_STLC.Core.elab_ty", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "1d01e87e2db054df3696e1d07623175f" - ], - [ - "STLC.Core.stlc_types_are_closed1", - 1, - 2, - 1, - [ "@query" ], - 0, - "038c7e3a83b124247fcff2f2d87e88bc" - ], - [ - "STLC.Core.stlc_types_are_closed2", - 1, - 2, - 1, - [ "@query" ], - 0, - "4b376d59200f91609e58baf5fe71876d" - ], - [ - "STLC.Core.stlc_types_are_closed3", - 1, - 2, - 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, - "dd7837a220ca0b0586a39ea9a8eb1efa" - ], - [ - "STLC.Core.elab_ty_freevars", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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_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.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_STLC.Core.TArrow", - "constructor_distinct_STLC.Core.TUnit", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Const.unit_lid", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "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_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", "int_inversion", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.inspect_pack_comp", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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_comp.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "true_interp", "typing_FStar.Reflection.Const.unit_lid", - "typing_FStar.Reflection.Typing.freevars", - "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_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_comp", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_fv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_STLC.Core.elab_ty", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "9cc9c6fe5a72b5c306f4a6ff1f8d3de8" - ], - [ - "STLC.Core.elab_open_commute'", - 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.subst_term.fuel_instrumented", - "@fuel_correspondence_STLC.Core.elab_exp.fuel_instrumented", - "@fuel_correspondence_STLC.Core.open_exp_.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.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_651778f725c07b6c259161d48455093d", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "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.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.DT", - "constructor_distinct_FStar.Stubs.Reflection.Types.term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.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_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Unit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_STLC.Core.EUnit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.make_bv", - "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.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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.index", "equation_STLC.Core.var", - "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_STLC.Core.elab_exp.fuel_instrumented", - "equation_with_fuel_STLC.Core.open_exp_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "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.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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_namedv", - "lemma_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "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.Typing.DT__0", - "projection_inverse_FStar.Reflection.Typing.DT__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.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_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_8361e5ba13c777839e7e540b312484a3", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_STLC.Core.EApp", - "subterm_ordering_STLC.Core.ELam", - "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", - "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.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.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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_Prims.string", "typing_STLC.Core.elab_exp", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.open_exp_", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_STLC.Core.EUnit@tok", "unit_typing" - ], - 0, - "b1dd9eafbf1e50ec1306fb2ebd482db8" - ], - [ - "STLC.Core.elab_open_commute", - 1, - 2, - 1, - [ "@query", "equation_STLC.Core.open_exp" ], - 0, - "647862a5a21efb256f58d3ba4299c6be" - ], - [ - "STLC.Core.extend_env_l_lookup_fvar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "STLC.Core_interpretation_Tm_arrow_394c5c2ecb49d080cb176c602499281d", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "binder_x_9bad35bf99f3b119fc38a05c56093903_1", - "binder_x_d880a66b21ec85b3fa80d2570aa5edd8_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Reflection.Typing.lookup_fvar", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_STLC.Core.extend_env_l", "equation_STLC.Core.stlc_env", - "equation_STLC.Core.var", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_f3036656b57d33abd85b07ecea5131e9", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_STLC.Core.stlc_ty@tok", - "lemma_FStar.Reflection.Typing.lookup_fvar_extend_env", - "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", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.Types.universe", "typing_Prims.nat", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.extend_env_l", - "typing_Tm_abs_f3036656b57d33abd85b07ecea5131e9", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "5c191df4fd6919d383de86d290247108" - ], - [ - "STLC.Core.elab_ty_soundness", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_STLC.Core.elab_ty.fuel_instrumented", - "@fuel_correspondence_STLC.Core.fresh.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.elab_ty.fuel_instrumented", "@query", - "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.Stubs.TypeChecker.Core.E_Total", - "constructor_distinct_STLC.Core.TArrow", - "constructor_distinct_STLC.Core.TUnit", - "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.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.pp_name_default", - "equation_FStar.Reflection.Typing.tm_type", - "equation_FStar.Reflection.Typing.unit_fv", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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", - "fuel_guarded_inversion_STLC.Core.stlc_ty", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_STLC.Core.stlc_ty@tok", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "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", - "projection_inverse_STLC.Core.TArrow__1", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "subterm_ordering_STLC.Core.TArrow", - "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.lookup_bvar", - "typing_FStar.Reflection.Typing.unit_fv", "typing_FStar.Set.empty", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.fresh", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "dc8e746ef4776f258c7bd08fc39418e6" - ], - [ - "STLC.Core.elab_exp_freevars", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.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.freevars.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.elab_exp.fuel_instrumented", - "@fuel_irrelevance_STLC.Core.freevars.fuel_instrumented", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "binder_x_89abde120be4ca7f61b90e68ba77b262_0", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Const@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Unit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_STLC.Core.EUnit@tok", - "equation_FStar.Reflection.Typing.mk_simple_binder", - "equation_FStar.Reflection.Typing.pp_name_default", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_STLC.Core.index", "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_terms.fuel_instrumented", - "equation_with_fuel_STLC.Core.elab_exp.fuel_instrumented", - "equation_with_fuel_STLC.Core.freevars.fuel_instrumented", - "fuel_guarded_inversion_STLC.Core.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "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", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Var_v", - "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_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "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.Typing.freevars", - "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.Sealed.seal", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.int", - "typing_Prims.string", "typing_STLC.Core.elab_exp", - "typing_STLC.Core.elab_ty", "typing_STLC.Core.freevars", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "815456aeaaa2893cef44c9a714b179a3" - ], - [ - "STLC.Core.elab_exp_freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "521ad5d28110bcd007f6ef3093ee2488" - ], - [ - "STLC.Core.soundness", - 1, - 2, - 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", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "STLC.Core_pretyping_2e422433f33e373905c3c0dcc0de7e25", - "binder_x_06b33a9535240e4c4c84f8ee9854ed1c_3", - "binder_x_2e422433f33e373905c3c0dcc0de7e25_2", - "binder_x_89abde120be4ca7f61b90e68ba77b262_1", - "binder_x_8a6a2d7cd56469c38f58e69d6ca70e17_4", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.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_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.Stubs.Reflection.V2.Data.Mkbinder_view@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.Stubs.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.Stubs.Reflection.V2.Data.C_Unit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equality_tok_STLC.Core.EUnit@tok", - "equality_tok_STLC.Core.TUnit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "equation_Prims.eqtype", "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", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_STLC.Core.stlc_ty", - "fuel_guarded_inversion_STLC.Core.stlc_typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Reflection.Typing.namedv_uniq_of_make_namedv", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "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_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.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_STLC.Core.EApp__0", - "projection_inverse_STLC.Core.EApp__1", - "projection_inverse_STLC.Core.ELam__0", - "projection_inverse_STLC.Core.ELam__1", - "projection_inverse_STLC.Core.EVar__0", - "projection_inverse_STLC.Core.TArrow__0", - "projection_inverse_STLC.Core.TArrow__1", - "refinement_interpretation_Tm_refine_24dbb8aa67b17b16896b88bf323bd722", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "refinement_interpretation_Tm_refine_cced09f03a5bf8ddedf8f5f1ea3ccbfa", - "refinement_interpretation_Tm_refine_e1773c80f1552ecf2e67436d8f2da039", - "string_typing", "subterm_ordering_STLC.Core.T_App", - "subterm_ordering_STLC.Core.T_Lam", "true_interp", - "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Reflection.Typing.lookup_bvar", - "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.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_STLC.Core.elab_exp", "typing_STLC.Core.elab_ty", - "typing_STLC.Core.freevars", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_STLC.Core.TUnit@tok" - ], - 0, - "73ad07d2232cef0010c8848b0f214fe8" - ], - [ - "STLC.Core.soundness_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e8105e2b88e422592a68371ba9f5ceef" - ], - [ - "STLC.Core.main", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_correspondence_STLC.Core.closed.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", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "STLC.Core_interpretation_Tm_arrow_394c5c2ecb49d080cb176c602499281d", - "bool_typing", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_top_env", - "equation_FStar.Reflection.Typing.mk_checked_let", - "equation_FStar.Reflection.Typing.sigelt_has_type", - "equation_FStar.Reflection.Typing.tot_typing", - "equation_FStar.Set.subset", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_STLC.Core.stlc_ty@tok", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641", - "refinement_interpretation_Tm_refine_b15559f8f68748fe9c7c84f456ec7265", - "refinement_interpretation_Tm_refine_c6a52481a415a72b5a72153fe389db33", - "string_inversion", "true_interp", "typing_FStar.Set.empty", - "typing_FStar.Stubs.Reflection.Types.env", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.nat", - "typing_STLC.Core.closed", "typing_STLC.Core.freevars", - "typing_Tm_abs_f3036656b57d33abd85b07ecea5131e9" - ], - 0, - "9722f6bd5fde7249bf07ad1382d451b0" - ] - ] -] \ No newline at end of file diff --git a/examples/dsls/stlc/STLC.Infer.fst.hints b/examples/dsls/stlc/STLC.Infer.fst.hints deleted file mode 100644 index 2d8d4169973..00000000000 --- a/examples/dsls/stlc/STLC.Infer.fst.hints +++ /dev/null @@ -1,177 +0,0 @@ -[ - "ŸÞ¼‡þ\u0016u;m•§Ü\u0011\u0000c\u001b", - [ - [ - "STLC.Infer.__proj__EBVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_67dd0c8a36eaf642ae0fc764a3b385e4" - ], - 0, - "bd2f0195df848ec35dc4b8f66db560f2" - ], - [ - "STLC.Infer.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_10f5db85a110b66ccb5055c6ad6b968a" - ], - 0, - "1192770fee236a8e0617d2b87d021943" - ], - [ - "STLC.Infer.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_77e8f911aba7f63a6e07ac80f3ab2530" - ], - 0, - "56db12b3a03a6c43f9fb0c370bd58a60" - ], - [ - "STLC.Infer.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_77e8f911aba7f63a6e07ac80f3ab2530" - ], - 0, - "df2b78a08b7324c7ae1cfed1dd4602de" - ], - [ - "STLC.Infer.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab6d475508fc8c19b7a29918cef42c03" - ], - 0, - "4a60947bbe412e774a8b6ba25ec674b4" - ], - [ - "STLC.Infer.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab6d475508fc8c19b7a29918cef42c03" - ], - 0, - "e0abf4d3eb75c6f7ff95d0ea550d337f" - ], - [ - "STLC.Infer.open_exp'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9910eae47e49b97565f6d66111a153d9_4", - "binder_x_f8fa31fb48e1bf701cd08a36f3033599_2", - "disc_equation_STLC.Infer.EApp", "disc_equation_STLC.Infer.EBVar", - "disc_equation_STLC.Infer.ELam", "disc_equation_STLC.Infer.EUnit", - "disc_equation_STLC.Infer.EVar", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.index", - "fuel_guarded_inversion_STLC.Infer.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_STLC.Infer.EApp", - "subterm_ordering_STLC.Infer.ELam", "typing_Prims.int" - ], - 0, - "3050966d93ed8cad05ad79e02861bd15" - ], - [ - "STLC.Infer.close_exp'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_f8fa31fb48e1bf701cd08a36f3033599_2", - "disc_equation_STLC.Infer.EApp", "disc_equation_STLC.Infer.EBVar", - "disc_equation_STLC.Infer.ELam", "disc_equation_STLC.Infer.EUnit", - "disc_equation_STLC.Infer.EVar", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_STLC.Core.var", - "fuel_guarded_inversion_STLC.Infer.stlc_exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_STLC.Infer.EApp", - "subterm_ordering_STLC.Infer.ELam", "typing_Prims.int" - ], - 0, - "01f4b9244f8c5f0474b3b03150c67241" - ], - [ - "STLC.Infer.infer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_STLC.Infer.EApp", "disc_equation_STLC.Infer.EBVar", - "disc_equation_STLC.Infer.ELam", "disc_equation_STLC.Infer.EUnit", - "disc_equation_STLC.Infer.EVar", - "fuel_guarded_inversion_STLC.Infer.stlc_exp", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_STLC.Core.lookup", "unit_typing" - ], - 0, - "dfa54cff64c0eb2cc025d185446a4c42" - ], - [ - "STLC.Infer.elab_core", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_STLC.Infer.EApp", - "disc_equation_STLC.Infer.EBVar", "disc_equation_STLC.Infer.ELam", - "disc_equation_STLC.Infer.EUnit", "disc_equation_STLC.Infer.EVar", - "fuel_guarded_inversion_STLC.Infer.stlc_exp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "01c311b3e6ddf59dc67f23597b9f8f79" - ], - [ - "STLC.Infer.main", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "STLC.Core_pretyping_89abde120be4ca7f61b90e68ba77b262", - "equality_tok_STLC.Core.EUnit@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "typing_tok_STLC.Core.EUnit@tok" - ], - 0, - "aa24163569726e4b8fba98a73007a965" - ] - ] -] \ No newline at end of file diff --git a/examples/generic/Interop.fst.hints b/examples/generic/Interop.fst.hints deleted file mode 100644 index 549bbf23713..00000000000 --- a/examples/generic/Interop.fst.hints +++ /dev/null @@ -1,291 +0,0 @@ -[ - "\u001bw°ö_\u0006ë¢Ã¯\u00190ælF\t", - [ - [ - "Interop.registers", - 1, - 2, - 1, - [ "@query", "assumption_Interop.reg__uu___haseq" ], - 0, - "4cef4f68c74a46c24b1c7566c2dd62fb" - ], - [ - "Interop.as_reg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Interop.ireg", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_e6b2aee2400a046740e3ca5c2a276983" - ], - 0, - "d3edcc4442d0f607ea516c0c4e24aa02" - ], - [ - "Interop.n_arrow", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Interop.arity", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d", - "well-founded-ordering-on-nat" - ], - 0, - "19fba4ba9e80d4bf333496bbb522e898" - ], - [ - "Interop.elim", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", - "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_60876f2e6961d612cf469a8b2d62f7c8", - "Interop_interpretation_Tm_arrow_c3eb28b15d8d9f42e44afb36d406d8bb", - "equation_with_fuel_Interop.n_arrow.fuel_instrumented", - "primitive_Prims.op_Subtraction" - ], - 0, - "c24fe087f334de09edb331d363fbb1cb" - ], - [ - "Interop.elim_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", - "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_60876f2e6961d612cf469a8b2d62f7c8", - "Interop_interpretation_Tm_arrow_c3eb28b15d8d9f42e44afb36d406d8bb", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Interop.arity", - "equation_with_fuel_Interop.n_arrow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" - ], - 0, - "81f5566bb51255d78387f9f162a37b09" - ], - [ - "Interop.elim_m", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Interop.reg__uu___haseq", - "binder_x_49a4247c1099bc9e821570eed8ff54c1_1", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Interop.arity", - "equation_Interop.max_arity", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d", - "refinement_interpretation_Tm_refine_f0416b51d43bd6894b3fcbb95a619418", - "well-founded-ordering-on-nat" - ], - 0, - "d90eb582905975b5fd7ba447071ada3a" - ], - [ - "Interop.as_vale_pre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Interop.arity", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" - ], - 0, - "8ca670dc4e7a0c525b3b2d15d07a4ced" - ], - [ - "Interop.as_vale_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Interop.arity", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d" - ], - 0, - "cdef30044908c852459bab3e03a512ff" - ], - [ - "Interop.as_lowstar_sig", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Interop.arity", - "equation_Interop.max_arity", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_6eacf6bc1bc62ed044ee4439b6573619", - "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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", - "well-founded-ordering-on-nat" - ], - 0, - "47bcfeced9f05a4de073eef15dc547f0" - ], - [ - "Interop.wrap", - 1, - 5, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Interop.as_lowstar_sig.fuel_instrumented", - "@fuel_correspondence_Interop.elim_m.fuel_instrumented", - "@fuel_correspondence_Interop.n_arrow.fuel_instrumented", - "@fuel_irrelevance_Interop.as_lowstar_sig.fuel_instrumented", - "@fuel_irrelevance_Interop.elim_m.fuel_instrumented", - "@fuel_irrelevance_Interop.n_arrow.fuel_instrumented", "@query", - "Interop_interpretation_Tm_arrow_1acc0407e7fb6841dafecd3eedd7b8c7", - "Interop_interpretation_Tm_arrow_3435e734ef2f04b8a6aad023927dbca4", - "Interop_interpretation_Tm_arrow_60876f2e6961d612cf469a8b2d62f7c8", - "Interop_interpretation_Tm_arrow_63cc35dc5e1bbe6b7e7e66ad1a6ac725", - "Interop_interpretation_Tm_arrow_99db4ed16106a22b1ac29cfd3f133427", - "Interop_interpretation_Tm_arrow_c3eb28b15d8d9f42e44afb36d406d8bb", - "Interop_interpretation_Tm_ghost_arrow_03f9b220dea5d86a2320f2e023430eec", - "Interop_pretyping_d0cf4df241d5c82acedf643c4d2d5e32", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Interop.reg__uu___haseq", - "binder_x_054c867d1f22ade92fd8803be106fd6b_1", - "binder_x_485d7192aee833f26ba81d29d8b5fe66_2", - "binder_x_7badba34095474765f8308c376b0dbbd_3", - "binder_x_fbde5e13f445ced92a3c0bd339ad2bbf_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_Interop.R1", "constructor_distinct_Interop.R2", - "constructor_distinct_Interop.R3", "constructor_distinct_Interop.R4", - "constructor_distinct_Interop.reg", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Integers.Unsigned@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equality_tok_Interop.R1@tok", "equality_tok_Interop.R2@tok", - "equality_tok_Interop.R3@tok", "equality_tok_Interop.R4@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Interop.arity", - "equation_Interop.as_reg", "equation_Interop.elim", - "equation_Interop.elim_1", "equation_Interop.ireg", - "equation_Interop.max_arity", "equation_Interop.registers", - "equation_Interop.vale_post", "equation_Interop.vale_pre", - "equation_Interop.vale_sig", "equation_Prims.eqtype", - "equation_with_fuel_Interop.as_lowstar_sig.fuel_instrumented", - "equation_with_fuel_Interop.elim_m.fuel_instrumented", - "equation_with_fuel_Interop.n_arrow.fuel_instrumented", - "fuel_guarded_inversion_Interop.reg", - "fuel_token_correspondence_Interop.elim_m.fuel_instrumented_token", - "function_token_typing_Interop.elim", - "function_token_typing_Interop.elim_1", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_98b7dedeaad37faff1bb6b4c0033d7cc", - "kinding_Interop.reg@tok", - "kinding_Tm_arrow_251090685294ee7321ea5da5c16f7b99", - "kinding_Tm_arrow_d85545e13c5d41084b0cae256e392077", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_Interop.Mkstate_memory", - "proj_equation_Interop.Mkstate_registers", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_Interop.Mkstate_memory", - "projection_inverse_Interop.Mkstate_registers", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1b02307dc42c5d97958315590dc76e55", - "refinement_interpretation_Tm_refine_214a5634eda30a70333ab88e64c9f73f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9a25166140e8963de2fef595065682", - "refinement_interpretation_Tm_refine_81b2f4ed48c8f2d3bdd944b9e4809c72", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_d96fe6e9eadc3273f1a658360d08788d", - "refinement_interpretation_Tm_refine_dbfa6ada5d3c5dfc2eb10b21b5fe9817", - "refinement_interpretation_Tm_refine_e6b2aee2400a046740e3ca5c2a276983", - "token_correspondence_Interop.elim", - "token_correspondence_Interop.elim_1", - "token_correspondence_Interop.elim_m", "typing_FStar.Integers.int_t", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "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_Interop.as_reg", - "typing_Interop.n_arrow", "typing_tok_FStar.Integers.W64@tok", - "typing_tok_Interop.R4@tok", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "e7c4e91031ef6a0f164305b2f56cb792" - ] - ] -] \ No newline at end of file diff --git a/examples/hello/Hello/Hello.fsproj b/examples/hello/Hello/Hello.fsproj index 5532e06a29a..c28bd0cc99e 100644 --- a/examples/hello/Hello/Hello.fsproj +++ b/examples/hello/Hello/Hello.fsproj @@ -8,7 +8,7 @@ ..\..\.. - --use_hints --record_hints + --ext context_pruning diff --git a/examples/hello/Hello/Hello.fst.hints b/examples/hello/Hello/Hello.fst.hints deleted file mode 100755 index c298d7cdbd6..00000000000 --- a/examples/hello/Hello/Hello.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "g ¥(fþ²vá…ó‡ÁW¾r", [] ] \ No newline at end of file diff --git a/examples/hello/TestFSharp/TestFSharp.fsproj b/examples/hello/TestFSharp/TestFSharp.fsproj index d8c1fa04176..c260afb85e1 100644 --- a/examples/hello/TestFSharp/TestFSharp.fsproj +++ b/examples/hello/TestFSharp/TestFSharp.fsproj @@ -6,7 +6,7 @@ ..\..\.. - --use_hints --record_hints + --ext context_pruning diff --git a/examples/hello/TestFSharp/TestFSharp.fst.hints b/examples/hello/TestFSharp/TestFSharp.fst.hints deleted file mode 100644 index 81b172fce2c..00000000000 --- a/examples/hello/TestFSharp/TestFSharp.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ÿ™5!÷Oq\u0015º¹ü²SËô‘", [] ] \ No newline at end of file diff --git a/examples/indexed_effects/GEXN.fst.hints b/examples/indexed_effects/GEXN.fst.hints deleted file mode 100644 index d9e2f969aef..00000000000 --- a/examples/indexed_effects/GEXN.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "1nÇ\tˆµô Type0)) (s0:state) (* Takes a while, known to fail sporadically *) #restart-solver -#push-options "--retry 10 --z3rlimit_factor 2" +#push-options "--z3rlimit_factor 4 --retry 10" let rec interp_morph #a #b #l1 #l2 (c : rwtree a l1) (f : a -> rwtree b l2) (p:_) (s0:_) : Lemma (interp_as_wp c s0 (fun (y, s1) -> interp_as_wp (f y) s1 p) == interp_as_wp (tbind #_ #_ #l1 #l2 c f) s0 p) @@ -402,4 +403,4 @@ let handle_into_ro #a (#l:rwops{~(List.Tot.memP Write l)}) #wp (f : unit -> AlgW let ignore_writes #a (#l:rwops{~(List.Tot.memP Write l)}) #pre #post (f : unit -> AlgPP a (Write::l) pre post) : AlgPP a l pre (fun h0 x h1 -> h0 == h1) - = handle_into_ro #a #l #(fun h0 p -> pre h0 /\ (forall y h1. post h0 y h1 ==> p (y, h1))) f + = handle_into_ro #a #l #(fun h0 p -> pre h0 /\ (forall y h1. post h0 y h1 ==> p (y, h1))) f \ No newline at end of file diff --git a/examples/layeredeffects/AlgWP.fst.hints b/examples/layeredeffects/AlgWP.fst.hints deleted file mode 100644 index ede932046aa..00000000000 --- a/examples/layeredeffects/AlgWP.fst.hints +++ /dev/null @@ -1,2277 +0,0 @@ -[ - "U ½¡Ð…ÝÕ¬Ûæ\f©\u0007¢ù", - [ - [ - "AlgWP.noops", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Alg.ops", - "equation_Alg.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_Alg.op@tok", - "projection_inverse_Prims.Nil_a" - ], - 0, - "c3415346f89a90d1b3cc93319c2a1b86" - ], - [ - "AlgWP.sublist_at_const", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "binder_x_2c708472cc7aaa93ae33ac1645cbd44e_0", - "binder_x_2c708472cc7aaa93ae33ac1645cbd44e_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Alg.op@tok", - "l_or-interp", "lemma_Alg.memP_at", - "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", - "subterm_ordering_Prims.Cons", "typing_tok_Alg.Write@tok" - ], - 0, - "8bc77322dfbc1a63a01ed3e1b4eec0c4" - ], - [ - "AlgWP.op_At_At", - 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", "equation_Alg.sublist", "equation_AlgWP.rwops", - "equation_FStar.List.Tot.Base.op_At", "lemma_Alg.memP_at", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" - ], - 0, - "d69f57fbd912b8fff704a984c3c41306" - ], - [ - "AlgWP.rwtree_help", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Raise@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.op", - "fuel_guarded_inversion_Prims.list", "kinding_Alg.op@tok", - "l_or-interp", "lemma_Alg.append_single", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_tok_Alg.Raise@tok", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "7f43d837ddc739bf6a7b8583a26b95f0" - ], - [ - "AlgWP.return_wp", - 1, - 2, - 1, - [ - "@query", "equation_AlgWP.st_monotonic", - "interpretation_Tm_abs_8fefa78b9304fa89f906a877711a1b75" - ], - 0, - "a4ae2707985372d4adedaf3d59e3bad1" - ], - [ - "AlgWP.bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "AlgWP_interpretation_Tm_arrow_dc1a51696099925e52210833daabc76f", - "equation_Alg.state", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.logical", "int_inversion", - "interpretation_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "interpretation_Tm_abs_9d56483fc474640b776193b1a429417c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" - ], - 0, - "286cd8086450ab929a0ae869299d473f" - ], - [ - "AlgWP.read_wp", - 1, - 2, - 1, - [ - "@query", "equation_AlgWP.st_monotonic", - "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553" - ], - 0, - "cafdbaaca3c9609f6b4252a26dcf2f4f" - ], - [ - "AlgWP.write_wp", - 1, - 2, - 1, - [ - "@query", "equation_AlgWP.st_monotonic", - "interpretation_Tm_abs_84727ab81fb7881f7c8c4d38e3608e54", - "unit_typing" - ], - 0, - "1a2afb639b3e7da7a0f43dd82f06b97c" - ], - [ - "AlgWP.interp_as_wp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_50ae212f729b7fb93cff77a0d004610e_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Write", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Alg.Op", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", - "disc_equation_Alg.Write", "eq2-interp", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_out", - "equation_Alg.ops", "equation_Alg.state", "equation_Alg.tree", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.op", - "fuel_guarded_inversion_Alg.tree0", "int_inversion", - "kinding_Alg.op@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "proj_equation_Alg.Op_op", "projection_inverse_Alg.Op_k", - "projection_inverse_Alg.Op_op", "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_31cc90dcf4dccbb40dfbf6c2bed95232", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", - "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "2f6c9fdb2b665b9e54ce00fc4b8760d9" - ], - [ - "AlgWP.interp_as_wp2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Write", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Read", - "disc_equation_Alg.Write", "eq2-interp", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.tree", - "equation_AlgWP.rwtree", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_Alg.op@tok", "l_or-interp", - "lemma_Alg.abides_sublist", "lemma_AlgWP.rwtree_help", - "lemma_AlgWP.sublist_at", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "refinement_interpretation_Tm_refine_f022afc5c1399fdac355891ed9c4d20e", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "0690b9e55f01e911b012faea6a770945" - ], - [ - "AlgWP.interp_ret", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", "@query", - "constructor_distinct_Alg.Return", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "kinding_Alg.op@tok", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "true_interp", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "f8bb4fea81ef2e46331cd6a611d27e57" - ], - [ - "AlgWP.interp_ret", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Alg.Return", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "token_correspondence_AlgWP.interp_as_wp", "true_interp", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "8a12b437be1863c452972b9db8f0be6a" - ], - [ - "AlgWP.interp_ret'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", "@query", - "constructor_distinct_Alg.Return", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "kinding_Alg.op@tok", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "true_interp", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "be58a60c18100596d8e45ef94277042f" - ], - [ - "AlgWP.interp_ret'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", "@query", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Alg.Return", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "kinding_Alg.op@tok", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "true_interp", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "92bf5ebbd5af1c821cbd258e61692d7e" - ], - [ - "AlgWP.bind_preserves_mon", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Alg.state", "equation_AlgWP.wp_is_monotonic", - "equation_Prims.logical", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "interpretation_Tm_abs_9d56483fc474640b776193b1a429417c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" - ], - 0, - "eac16901482b7c2f4ab4eb29374ddd6d" - ], - [ - "AlgWP.interp_monotonic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "Alg_interpretation_Tm_arrow_f1ae6ecfd8e8ddd103bda6ebcf40e312", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "binder_x_99e2d63bf04a66871cd9a32ff2d04535_2", - "binder_x_f35d02bbe5b807950e83cf3e42499dfc_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Return", - "constructor_distinct_Alg.Write", "data_elim_Alg.Op", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", - "disc_equation_Alg.Write", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_AlgWP.rwtree", - "equation_AlgWP.st_monotonic", "equation_AlgWP.st_wp", - "equation_AlgWP.wp_is_monotonic", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553", - "interpretation_Tm_abs_84727ab81fb7881f7c8c4d38e3608e54", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_AlgWP.rwtree_help", - "proj_equation_Alg.Op_op", "projection_inverse_Alg.Op_k", - "projection_inverse_Alg.Op_op", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_AlgWP.interp_as_wp", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "4cf354f145e4459288e0a5da35c8c4f1" - ], - [ - "AlgWP.interp_monotonic", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "equation_AlgWP.rwtree", "kinding_Alg.op@tok", - "lemma_Alg.abides_sublist", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "refinement_interpretation_Tm_refine_f745f57513b1c09d7a2de935292357ed", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "86db376e4fe9dc353d39e3bf2923dff2" - ], - [ - "AlgWP.elim_str", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Alg.state", - "equation_AlgWP.op_Less_Less_Equals", "int_inversion", - "interpretation_Tm_abs_73973bcf40436ccb21d466c1de4733ad", - "l_quant_interp_075c0fd4c1bd6ec3508feca9e62ec09b", - "token_correspondence_AlgWP.op_Less_Less_Equals" - ], - 0, - "7e37681bfaee8a36c84cb63a5d7b9c3d" - ], - [ - "AlgWP.interp_morph", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_Alg.fold_with.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.fold_with.fuel_instrumented", - "@fuel_irrelevance_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "AlgWP_interpretation_Tm_arrow_1de3b67ae328e3db27fddc03ff1478c7", - "AlgWP_interpretation_Tm_arrow_416b90b8ec22511ad1bf842825f0b727", - "AlgWP_interpretation_Tm_arrow_81168c735561c45567704b651bcb90a7", - "AlgWP_pre_typing_Tm_arrow_34c796a38713c8028506c781ebc8cf00", - "Alg_interpretation_Tm_arrow_262abb0f8b125c1c883407896b377593", - "Alg_interpretation_Tm_arrow_b9c30618069c3e97c067ba4f98def75e", - "Alg_interpretation_Tm_arrow_bb27738f66ba492e7d98dd9a7e101b01", - "Alg_interpretation_Tm_arrow_ca8099b8de92c92c8f0df4984fb851c8", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_09643a9c429aeb985d7e45b259cd113b_9", - "binder_x_3297a485877d4b7f3776a2d9d6137996_6", - "binder_x_99e2d63bf04a66871cd9a32ff2d04535_4", - "binder_x_99e2d63bf04a66871cd9a32ff2d04535_5", - "binder_x_cd4bfeaeaa279e4d3da7ce4315a5619e_7", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Alg.Op", "constructor_distinct_Alg.Read", - "constructor_distinct_Alg.Return", "constructor_distinct_Alg.Write", - "constructor_distinct_Prims.Nil", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", "data_elim_Alg.Op", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", - "disc_equation_Alg.Write", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.bind", - "equation_Alg.handle_tree", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_AlgWP.op_At_At", - "equation_AlgWP.rwops", "equation_AlgWP.rwtree", - "equation_AlgWP.st_wp", "equation_AlgWP.st_wp0", - "equation_AlgWP.tbind", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_Alg.fold_with.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_Prims.list", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_AlgWP.interp_as_wp", "int_inversion", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_95e1e97f497f8e4307cbea9174b194d5", - "interpretation_Tm_abs_b08defe3c519b7a8799979d37addb094", - "interpretation_Tm_abs_c219e44a547db9203f6a15ee73e6dd18", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "interpretation_Tm_abs_ebd9a37aa6348542b0a7f6e4150c626a", - "kinding_Alg.op@tok", "l_and-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_AlgWP.rwtree_help", - "lemma_AlgWP.sublist_at", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "proj_equation_Alg.Op_op", "projection_inverse_Alg.Op_a", - "projection_inverse_Alg.Op_i", "projection_inverse_Alg.Op_k", - "projection_inverse_Alg.Op_op", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "refinement_interpretation_Tm_refine_d3f2e5fe5b6bef23be1dead391ddd517", - "token_correspondence_AlgWP.interp_as_wp", "typing_Alg.tree", - "typing_AlgWP.op_At_At", "typing_AlgWP.rwtree", "typing_AlgWP.tbind", - "typing_FStar.List.Tot.Base.op_At", - "typing_Tm_abs_95e1e97f497f8e4307cbea9174b194d5", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", - "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "c2ce314db35ee07cac8a5561fadbe800" - ], - [ - "AlgWP.interp_morph", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_416b90b8ec22511ad1bf842825f0b727", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "equation_AlgWP.op_At_At", - "equation_AlgWP.rwops", "equation_AlgWP.rwtree", - "equation_AlgWP.tbind", "kinding_Alg.op@tok", - "lemma_Alg.abides_sublist", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_AlgWP.op_At_At", "typing_AlgWP.tbind", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "419e6a92b06ccb73aa3c0d49f03592d2" - ], - [ - "AlgWP.interp_bind", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_416b90b8ec22511ad1bf842825f0b727", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "equation_AlgWP.op_At_At", - "equation_AlgWP.rwops", "equation_AlgWP.rwtree", - "equation_AlgWP.tbind", "kinding_Alg.op@tok", - "lemma_Alg.abides_sublist", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_AlgWP.op_At_At", "typing_AlgWP.tbind", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "4dbf92322e9060f2b0b77f710eb4ed8d" - ], - [ - "AlgWP.interp_bind", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_416b90b8ec22511ad1bf842825f0b727", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.state", "equation_Alg.tree", "equation_AlgWP.op_At_At", - "equation_AlgWP.op_Less_Less_Equals", "equation_AlgWP.rwops", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_AlgWP.tbind", - "equation_Prims.logical", "equation_Prims.squash", - "fuel_guarded_inversion_Alg.tree0", - "function_token_typing_AlgWP.interp_as_wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "interpretation_Tm_abs_73973bcf40436ccb21d466c1de4733ad", - "interpretation_Tm_abs_b9d1da0bc6a18c994437aea5bca6b424", - "kinding_Alg.op@tok", - "l_quant_interp_075c0fd4c1bd6ec3508feca9e62ec09b", - "lemma_Alg.abides_sublist", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_AlgWP.interp_as_wp", - "token_correspondence_AlgWP.op_Less_Less_Equals", - "typing_AlgWP.interp_as_wp", "typing_AlgWP.op_At_At", - "typing_AlgWP.tbind", "typing_FStar.List.Tot.Base.op_At", - "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "7dad8c2debbe0df495006592f9fbf4f2" - ], - [ - "AlgWP.repr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "equation_AlgWP.rwops", "equation_AlgWP.rwtree", - "kinding_Alg.op@tok", "lemma_Alg.abides_sublist", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "91f8c4b549218aff12461a16a9ce0781" - ], - [ - "AlgWP.return", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Alg.Return", "constructor_distinct_Prims.Nil", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.ops", "equation_Alg.sublist", "equation_AlgWP.noops", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_Alg.op@tok", - "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "projection_inverse_Prims.Nil_a", - "true_interp", "typing_tok_Alg.Write@tok" - ], - 0, - "c90f720d6f70db852dedd0c845cd2f29" - ], - [ - "AlgWP.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_a382c6e35c87431c0b84ffe8d1b5aab6", - "equation_AlgWP.op_Less_Less_Equals", "equation_AlgWP.repr", - "function_token_typing_AlgWP.interp_as_wp", - "interpretation_Tm_abs_73973bcf40436ccb21d466c1de4733ad", - "l_quant_interp_075c0fd4c1bd6ec3508feca9e62ec09b", - "refinement_interpretation_Tm_refine_64f4c698c6895e0a55dd6540882d3251", - "token_correspondence_AlgWP.op_Less_Less_Equals" - ], - 0, - "070cfe9e605b253a51acc6613f28f76a" - ], - [ - "AlgWP.subcomp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "equation_Alg.tree", "equation_AlgWP.repr", "equation_AlgWP.rwops", - "equation_AlgWP.rwtree", "equation_AlgWP.subops", - "lemma_Alg.abides_sublist", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_64f4c698c6895e0a55dd6540882d3251", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" - ], - 0, - "2b62d85252569189ddd3910c16ef8ec3" - ], - [ - "AlgWP.AlgWP", - 1, - 2, - 1, - [ "@query" ], - 0, - "5fd293c563d7147e1b26ee151bf91e28" - ], - [ - "AlgWP.AlgWP", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_AlgWP.op_At_At", "equation_AlgWP.rwops", - "equation_AlgWP.subops", "equation_Prims.squash", - "lemma_Alg.sublist_at", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7" - ], - 0, - "fb9cd277e349dc5cb43c16eb8baaf6b1" - ], - [ - "AlgWP.AlgWP", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_AlgWP.op_At_At", - "equation_AlgWP.rwops", "equation_AlgWP.subops", - "lemma_Alg.sublist_at", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "f0ecef5a758c2780edfc29c7ffd22b5b" - ], - [ - "AlgWP.get", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "Alg_interpretation_Tm_arrow_250e0001130ab2481db3bacccc1cd268", - "Alg_interpretation_Tm_arrow_f1ae6ecfd8e8ddd103bda6ebcf40e312", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Alg.Op", "constructor_distinct_Alg.Read", - "constructor_distinct_Alg.Return", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Alg.Op@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Return@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.sublist", "equation_Alg.tree", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "projection_inverse_Alg.Op_a", "projection_inverse_Alg.Op_i", - "projection_inverse_Alg.Op_k", "projection_inverse_Alg.Op_op", - "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_AlgWP.interp_as_wp", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "true_interp", "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Return@tok", "typing_tok_Alg.Write@tok", - "unit_typing" - ], - 0, - "b54be472eb294518f9db88e8c28a4936" - ], - [ - "AlgWP.put", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "Alg_interpretation_Tm_arrow_250e0001130ab2481db3bacccc1cd268", - "Alg_interpretation_Tm_arrow_f1ae6ecfd8e8ddd103bda6ebcf40e312", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_Alg.Op", "constructor_distinct_Alg.Read", - "constructor_distinct_Alg.Return", "constructor_distinct_Alg.Write", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Alg.Op@tok", "data_typing_intro_Alg.Read@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Return@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_Prims.eqtype", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "int_inversion", - "interpretation_Tm_abs_b08defe3c519b7a8799979d37addb094", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "projection_inverse_Alg.Op_a", - "projection_inverse_Alg.Op_i", "projection_inverse_Alg.Op_k", - "projection_inverse_Alg.Op_op", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_AlgWP.interp_as_wp", "true_interp", - "typing_Alg.op_out", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.unit", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Return@tok", "typing_tok_Alg.Write@tok", - "unit_typing" - ], - 0, - "b6c7bc03e3e28f21b02521b4d773a1b7" - ], - [ - "AlgWP.lift_pure_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Alg.state", "equation_AlgWP.st_monotonic", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", "int_inversion", - "interpretation_Tm_abs_4d919759bceafc48670cf8103fc4eaae", - "interpretation_Tm_abs_5023fe60e05f98318af309487cfff48d", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_4d919759bceafc48670cf8103fc4eaae" - ], - 0, - "49388db15c0d503c1587786f6fc1b418" - ], - [ - "AlgWP.lift_pure_algwp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@query", - "FStar.Monotonic.Pure_interpretation_Tm_arrow_61bb9550f39772f18eaab129c43c3788", - "FStar.Monotonic.Pure_interpretation_Tm_arrow_c4804ca26ade2f3859400eebcb37ddbd", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "constructor_distinct_Alg.Return", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.ops", "equation_Alg.tree", "equation_AlgWP.noops", - "equation_AlgWP.rwops", "equation_FStar.Monotonic.Pure.elim_pure", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "interpretation_Tm_abs_4d919759bceafc48670cf8103fc4eaae", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_68b669d1ea097667facfc7d92bff75c8", - "interpretation_Tm_abs_6ffc06f5d789cf42c73d4f163a977cc0", - "interpretation_Tm_abs_735bfa0400a12573ed48312f042e45e7", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_not-interp", - "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9d7e1da4c8ccc98f1562bffecfa030b6", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_AlgWP.interp_as_wp", "true_interp", - "typing_AlgWP.noops", "typing_Prims.l_True", - "typing_Tm_abs_4d919759bceafc48670cf8103fc4eaae", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_68b669d1ea097667facfc7d92bff75c8", - "typing_Tm_abs_6ffc06f5d789cf42c73d4f163a977cc0", - "typing_Tm_abs_735bfa0400a12573ed48312f042e45e7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" - ], - 0, - "e5412b730f4f5ac337a5ebf5709bb5f5" - ], - [ - "AlgWP.0", 1, 2, 1, [ "@query" ], 0, "997fde751a7331e1623bcd5e53741128" - ], - [ - "AlgWP.addx", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.state", "equation_Alg.sublist", - "equation_AlgWP.op_At_At", "equation_AlgWP.st_monotonic", - "equation_AlgWP.subops", "int_inversion", "int_typing", - "interpretation_Tm_abs_74ffe49daeb7a9c38a94d8e79f7420c6", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "primitive_Prims.op_Addition", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", "unit_typing" - ], - 0, - "a27a367e93e0890b407ef07d2d726ab8" - ], - [ - "AlgWP.addx", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "0bd455bfa338e880023f0741dde6a5d8" - ], - [ - "AlgWP.add_via_state", - 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", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_AlgWP.noops", - "equation_AlgWP.op_At_At", "equation_AlgWP.rwops", - "equation_AlgWP.st_monotonic", "equation_AlgWP.subops", - "function_token_typing_FStar.List.Tot.Base.op_At", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_8b3e880bcdc782c0895d456bf944ad7b", - "kinding_Alg.op@tok", "lemma_Alg.append_single", "lemma_Alg.memP_at", - "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_AlgWP.noops", "typing_FStar.List.Tot.Base.op_At", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "9b7406d6157ef72033c14b8dc244e781" - ], - [ - "AlgWP.add_via_state", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "004cabaa98b9d38de22249ec4387e021" - ], - [ - "AlgWP.add_via_state", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_Alg.op@tok", "l_or-interp", - "lemma_Alg.append_single", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "ca4fb498b2485bc47804a04d6c142def" - ], - [ - "AlgWP.add_via_state", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "data_elim_Prims.Cons", "data_typing_intro_Alg.Read@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "kinding_Alg.op@tok", - "lemma_Alg.append_single", "lemma_AlgWP.sublist_at", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "d3934e7ee617c21bbc4cddee75f3a2ed" - ], - [ - "AlgWP.add_via_state", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "data_elim_Prims.Cons", "data_typing_intro_Alg.Read@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "kinding_Alg.op@tok", - "lemma_Alg.append_single", "lemma_AlgWP.sublist_at", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "5366361448412994d76c4dd91a842302" - ], - [ - "AlgWP.interp_sem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_81168c735561c45567704b651bcb90a7", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "binder_x_09643a9c429aeb985d7e45b259cd113b_3", - "binder_x_e727a72254f4de687e89c50784c9ac6f_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Return", - "constructor_distinct_Alg.Write", "data_elim_Alg.Op", - "data_elim_Alg.Return", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", - "disc_equation_Alg.Write", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_out", - "equation_Alg.ops", "equation_Alg.state", "equation_Alg.sublist", - "equation_Alg.tree", "equation_AlgWP.rwtree", - "equation_AlgWP.st_monotonic", "equation_AlgWP.st_wp", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_AlgWP.interp_as_wp", "int_inversion", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_b08defe3c519b7a8799979d37addb094", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_AlgWP.rwtree_help", "proj_equation_Alg.Op_i", - "proj_equation_Alg.Op_k", "proj_equation_Alg.Op_op", - "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_Alg.__proj__Op__item__k", - "token_correspondence_AlgWP.interp_as_wp", "true_interp", - "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", "unit_typing", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "306e3f8375ce0d331b7ca40c6e6d548d" - ], - [ - "AlgWP.interp_sem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_81168c735561c45567704b651bcb90a7", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Alg.Return", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Alg.state", "equation_Alg.sublist", "equation_Alg.tree", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "fuel_guarded_inversion_Alg.tree0", - "function_token_typing_AlgWP.interp_as_wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_b4161a17e3594a260989cabb6f4cfb12", - "token_correspondence_AlgWP.interp_as_wp", "true_interp", - "typing_Prims.int" - ], - 0, - "ba5431ee4ffa971e58f066f3afd4520b" - ], - [ - "AlgWP.quotient_ro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "equation_Alg.state", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.logical", "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" - ], - 0, - "a68d8c031b53e036b074393b92718e33" - ], - [ - "AlgWP.sanity_1", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_Alg.state", - "equation_AlgWP.quotient_ro", - "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_AlgWP.quotient_ro" - ], - 0, - "f09c99312ca62667a754d11e12a85a05" - ], - [ - "AlgWP.sanity_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Alg.state", - "equation_AlgWP.quotient_ro", "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_84727ab81fb7881f7c8c4d38e3608e54", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_AlgWP.quotient_ro" - ], - 0, - "801c842dfe81cc798c889c6f2b1a02a7" - ], - [ - "AlgWP.interp_ro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_AlgWP.interp_as_wp.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_20cb7b9998b333673d5fa4b1ae9c2675", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "binder_x_09643a9c429aeb985d7e45b259cd113b_3", - "binder_x_e66e91f5f0fe3cfe341f9a208984d4e4_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Return", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Alg.Op", "data_elim_Alg.Return", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_AlgWP.quotient_ro", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_AlgWP.quotient_ro", "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", "l_imp-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "proj_equation_Alg.Op_k", - "proj_equation_Alg.Op_op", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "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_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_Alg.__proj__Op__item__k", - "token_correspondence_AlgWP.quotient_ro", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "true_interp", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "1a2cfe13e894b0b80913d1a5b025a1c7" - ], - [ - "AlgWP.interp_ro", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_20cb7b9998b333673d5fa4b1ae9c2675", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Alg.Return", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.ops", "equation_Alg.state", "equation_Alg.sublist", - "equation_Alg.tree", "equation_AlgWP.quotient_ro", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_AlgWP.quotient_ro", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_imp-interp", "l_or-interp", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "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_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_77464a0cdd09d8571c1c93c48bc856ee", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_AlgWP.quotient_ro", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "true_interp", "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "2e957abf56dc3d2e632068fc360c2285" - ], - [ - "AlgWP.st_soundness_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.state", "equation_Alg.tree", "equation_AlgWP.repr", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "fuel_guarded_inversion_Alg.tree0", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Alg.op@tok", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_64f4c698c6895e0a55dd6540882d3251", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp", "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "8191c5ad386b0cd752d784ca40f974ec" - ], - [ - "AlgWP.st_soundness_aux", - 2, - 2, - 1, - [ "@query", "equation_Alg.sublist" ], - 0, - "32de58e509f2565a02f3bc72018d646c" - ], - [ - "AlgWP.st_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Alg.state", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp", "typing_Prims.int" - ], - 0, - "386bbaebf94ad6f24724ad6c6d9daf25" - ], - [ - "AlgWP.st_soundness", - 2, - 2, - 1, - [ "@query", "equation_Alg.sublist" ], - 0, - "43ae753af8d7ec469c80f42f89cf6c02" - ], - [ - "AlgWP.ro_soundness_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Alg.state", "equation_Alg.tree", - "equation_AlgWP.quotient_ro", "equation_AlgWP.repr", - "equation_AlgWP.rwtree", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.eqtype", - "equation_Prims.logical", "fuel_guarded_inversion_Alg.tree0", - "function_token_typing_AlgWP.interp_as_wp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "refinement_interpretation_Tm_refine_64f4c698c6895e0a55dd6540882d3251", - "token_correspondence_AlgWP.quotient_ro", "typing_Prims.int", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" - ], - 0, - "21d8ac40cc4a10a5915557bee215f27e" - ], - [ - "AlgWP.ro_soundness_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "6e3bcb548f5a5637ef749f12a41b9ab4" - ], - [ - "AlgWP.ro_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Alg.state", "equation_AlgWP.quotient_ro", - "equation_AlgWP.st_monotonic", "equation_AlgWP.st_wp", - "equation_Prims.eqtype", "equation_Prims.logical", "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "token_correspondence_AlgWP.quotient_ro", "typing_Prims.int", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" - ], - 0, - "b29fea3efa99d720b29fba1dae7e03ba" - ], - [ - "AlgWP.ro_soundness", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "447b2f3be9cafadd0e77fdc3e87e70ef" - ], - [ - "AlgWP.ro_soundness_pre_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_Alg.state", "equation_AlgWP.quotient_ro", - "equation_AlgWP.st_monotonic", "equation_AlgWP.st_wp", - "equation_Prims.eqtype", "equation_Prims.logical", "int_inversion", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "token_correspondence_AlgWP.quotient_ro", "typing_Prims.int", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "typing_Tm_abs_7540bb8f3ba6ce2d3430b53f23449e9f" - ], - 0, - "aef5c30afce4819de7c1f1021a7c4da6" - ], - [ - "AlgWP.ro_soundness_pre_post", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "447b2f3be9cafadd0e77fdc3e87e70ef" - ], - [ - "AlgWP.bind_ro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "AlgWP_interpretation_Tm_arrow_21d4a34e68b52c8e57f26383cc48e992", - "AlgWP_interpretation_Tm_arrow_c1793e640e3fcdc25595ab3cf27199ac", - "eq2-interp", "equation_Alg.state", "equation_AlgWP.is_ro", - "equation_AlgWP.quotient_ro", "equation_AlgWP.st_monotonic", - "equation_AlgWP.st_wp", "equation_Prims.logical", - "function_token_typing_AlgWP.quotient_ro", "int_inversion", - "interpretation_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_9d56483fc474640b776193b1a429417c", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "l_imp-interp", "l_quant_interp_1fbb80035652bba83c7e340418744e5e", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5f7ead8d5657851cd3be657ea0ce12ea", - "token_correspondence_AlgWP.quotient_ro", - "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" - ], - 0, - "ae3d258a37efb134a72f47343d60231c" - ], - [ - "AlgWP.quot_mono", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Alg.state", - "equation_AlgWP.quotient_ro", "int_inversion", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "token_correspondence_AlgWP.quotient_ro", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048" - ], - 0, - "12d1742751fee83113fe09b5449b670b" - ], - [ - "AlgWP.ro_tree_wp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_AlgWP.interp_as_wp.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54db80aa62f4fffcfc2f754a265d2e15_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Op", "constructor_distinct_Alg.Read", - "constructor_distinct_Alg.Return", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Alg.Op", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Op", - "disc_equation_Alg.Read", "disc_equation_Alg.Return", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_AlgWP.is_ro", - "equation_AlgWP.quotient_ro", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_065d9e2b9fd3163c64bf757897f26553", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", "l_imp-interp", "l_or-interp", - "l_quant_interp_1fbb80035652bba83c7e340418744e5e", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "proj_equation_Alg.Op_op", - "projection_inverse_Alg.Op_a", "projection_inverse_Alg.Op_i", - "projection_inverse_Alg.Op_k", "projection_inverse_Alg.Op_op", - "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "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_31cc90dcf4dccbb40dfbf6c2bed95232", - "token_correspondence_AlgWP.quotient_ro", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "71be481f75308ee9f3b7858671b1e6ee" - ], - [ - "AlgWP.ro_tree_wp", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "kinding_Alg.op@tok", "lemma_Alg.abides_app", - "lemma_Alg.append_single", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_da3ef9c5b85ef6560a8c8c7a1fc1b223", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "4cd533c209c5809c35085a7ec05ad0cc" - ], - [ - "AlgWP.quot_tree", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.state", "equation_AlgWP.is_ro", - "equation_AlgWP.quotient_ro", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "kinding_Alg.op@tok", - "l_quant_interp_1fbb80035652bba83c7e340418744e5e", - "lemma_Alg.append_single", "lemma_AlgWP.sublist_at", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "token_correspondence_AlgWP.interp_as_wp", - "token_correspondence_AlgWP.quotient_ro", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "1d48e97f3dd0e55fc5806a5e7dc390ea" - ], - [ - "AlgWP.quot_tree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "6e3bcb548f5a5637ef749f12a41b9ab4" - ], - [ - "AlgWP.quot", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_Alg.op@tok", "l_or-interp", - "lemma_Alg.append_single", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "9b854c06f3e6b52e6647c2c023526bb9" - ], - [ - "AlgWP.quot", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "447b2f3be9cafadd0e77fdc3e87e70ef" - ], - [ - "AlgWP.AlgPP", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Alg.state", - "equation_AlgWP.st_monotonic", "int_inversion", - "interpretation_Tm_abs_54b3ad101f006fc8fdcb2cf5b9f832ce", - "l_and-interp", "l_quant_interp_45e36f2117295ee7f73ce1b0d916cb62" - ], - 0, - "025109e3ebb07ac2fb9867523fa37628" - ], - [ - "AlgWP.quotPP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.ops", "equation_Alg.state", "equation_Alg.sublist", - "equation_AlgWP.noops", "equation_AlgWP.op_At_At", - "equation_AlgWP.quotient_ro", "equation_AlgWP.st_monotonic", - "equation_AlgWP.subops", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_54b3ad101f006fc8fdcb2cf5b9f832ce", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "kinding_Alg.op@tok", "l_and-interp", "l_imp-interp", "l_or-interp", - "l_quant_interp_45e36f2117295ee7f73ce1b0d916cb62", - "lemma_Alg.append_single", "lemma_AlgWP.sublist_at", - "lemma_AlgWP.sublist_at_const", - "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", - "token_correspondence_AlgWP.quotient_ro", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "c260316d8c7bf803e75d156e247c7643" - ], - [ - "AlgWP.quotPP", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "15c588696e7e82dc3810f57c6df4d81a" - ], - [ - "AlgWP.quotPP", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "3750cd0eed017b9dddd89d4834a4f745" - ], - [ - "AlgWP.quotPP", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "3750cd0eed017b9dddd89d4834a4f745" - ], - [ - "AlgWP.quotPP", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "kinding_Alg.op@tok", "lemma_Alg.append_single", - "lemma_AlgWP.sublist_at", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok" - ], - 0, - "bc937ddc55fa0dd1c40ecc06e53a0aaa" - ], - [ - "AlgWP.null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Alg.state", - "equation_AlgWP.st_monotonic", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_c348a1c35fab2f6009969e85951df492", - "l_quant_interp_f286e8acaee32f5b1e7a843dd5baeebc" - ], - 0, - "93239540ad7b4ae5b62d0f58b6bd610a" - ], - [ - "AlgWP.null_ro1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Alg.state", - "equation_AlgWP.st_monotonic", "int_inversion", - "interpretation_Tm_abs_08f436099b7cd62a147d11d216dfacce", - "l_quant_interp_310ec8932244318b9ea0b5bdb7e6eb13" - ], - 0, - "74050046435e55e06ceea83c15511879" - ], - [ - "AlgWP.null_equiv_sanity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_Alg.state", "equation_AlgWP.equiv", - "equation_AlgWP.null", "equation_AlgWP.null_ro", - "equation_AlgWP.null_ro1", "equation_AlgWP.quotient_ro", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_08f436099b7cd62a147d11d216dfacce", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_c348a1c35fab2f6009969e85951df492", - "l_imp-interp", "l_quant_interp_310ec8932244318b9ea0b5bdb7e6eb13", - "l_quant_interp_f286e8acaee32f5b1e7a843dd5baeebc", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "985a24aa4a0f3697b555f58a867be289" - ], - [ - "AlgWP.bind_null_ro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", - "equation_Alg.state", "equation_AlgWP.null", - "equation_AlgWP.null_ro", "equation_AlgWP.quotient_ro", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_4945add4b777273a809fc4cf8035e3b7", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_c348a1c35fab2f6009969e85951df492", - "l_imp-interp", "l_quant_interp_f286e8acaee32f5b1e7a843dd5baeebc", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_AlgWP.null_ro", - "typing_Tm_abs_4945add4b777273a809fc4cf8035e3b7" - ], - 0, - "a683f6a80fdda963d857d0646f9c1d06" - ], - [ - "AlgWP.null_ro_tree_wp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_AlgWP.interp_as_wp.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "AlgWP_interpretation_Tm_arrow_15396917de3d1512c0e650f416d35c57", - "Alg_interpretation_Tm_arrow_f1ae6ecfd8e8ddd103bda6ebcf40e312", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54db80aa62f4fffcfc2f754a265d2e15_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Alg.Read", "constructor_distinct_Alg.Return", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Alg.Op", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_Alg.Read@tok", "equality_tok_Alg.Write@tok", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.state", - "equation_Alg.tree", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_AlgWP.interp_as_wp.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Alg.tree0", - "fuel_token_correspondence_AlgWP.interp_as_wp.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_159f863c5bc4ba776b34f8a4a3e90a31", - "interpretation_Tm_abs_648c0d5c3259eefb3098bbf6bcfae364", - "interpretation_Tm_abs_7ba6353ba1a147d2926e23e183ab88c4", - "interpretation_Tm_abs_e0424c476dc6010dc8b4c055f7ed9483", - "kinding_Alg.op@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_app", "lemma_Alg.abides_sublist", - "lemma_Alg.append_single", "lemma_Alg.memP_at", - "lemma_AlgWP.sublist_at", "primitive_Prims.op_AmpAmp", - "projection_inverse_Alg.Op_k", "projection_inverse_Alg.Op_op", - "projection_inverse_Alg.Return__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_AlgWP.interp_as_wp", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_Alg.op_out", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.int", "typing_tok_Alg.Read@tok", - "typing_tok_Alg.Write@tok", - "well_founded_ordering_on_codomain_Alg.Op" - ], - 0, - "c98e6cd1d67f8e70f0108c3d5514c0a6" - ], - [ - "AlgWP.null_ro_tree_wp", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", "@query", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.tree", "kinding_Alg.op@tok", "lemma_Alg.abides_app", - "lemma_Alg.append_single", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_d8a3c569619f0b69bd7eca5c1826afb4", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "9ffe438d3d51924fae347a4ada847ef9" - ], - [ - "AlgWP.__tree_handle_into_ro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Alg.abides.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_Alg.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "Alg_interpretation_Tm_arrow_a46caa1f800563296c28bb307fa02a35", - "constructor_distinct_Alg.Op", "constructor_distinct_Alg.Read", - "constructor_distinct_Alg.Return", "constructor_distinct_Alg.Write", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Alg.Return@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Alg.Write", - "eq2-interp", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.op_inp", - "equation_Alg.op_out", "equation_Alg.ops", "equation_Alg.sublist", - "equation_Alg.tree", "equation_AlgWP.repr", "equation_AlgWP.rwops", - "equation_AlgWP.rwtree", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_Alg.abides.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Alg.tree0", "kinding_Alg.op@tok", - "l_and-interp", "l_or-interp", - "l_quant_interp_cd66cb9dd6e7f7baed4d4a889c722b71", - "lemma_Alg.abides_sublist", "lemma_Alg.append_single", - "lemma_AlgWP.rwtree_help", "lemma_AlgWP.sublist_at", - "lemma_AlgWP.sublist_at_const", "projection_inverse_Alg.Op_a", - "projection_inverse_Alg.Op_i", "projection_inverse_Alg.Op_k", - "projection_inverse_Alg.Op_op", "projection_inverse_Alg.Return__0", - "projection_inverse_Alg.Return_a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_31cc90dcf4dccbb40dfbf6c2bed95232", - "refinement_interpretation_Tm_refine_64f4c698c6895e0a55dd6540882d3251", - "refinement_interpretation_Tm_refine_a07d9eb519b36dc2db350f3996764048", - "refinement_interpretation_Tm_refine_cdad1ee1aaa6405fabfb53e55453b04f", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "true_interp", "typing_FStar.List.Tot.Base.op_At", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok", "unit_typing" - ], - 0, - "7949bfc00380d366882d58f3a4174a36" - ], - [ - "AlgWP.__tree_handle_into_ro", - 2, - 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", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_AlgWP.rwops", "kinding_Alg.op@tok", - "lemma_Alg.append_single", "lemma_Alg.memP_at", - "refinement_interpretation_Tm_refine_cdad1ee1aaa6405fabfb53e55453b04f", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "2602f14f51ee1c80479ef1777926ab1a" - ], - [ - "AlgWP.handle_into_ro", - 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", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_AlgWP.rwops", "kinding_Alg.op@tok", - "lemma_Alg.append_single", "lemma_Alg.memP_at", - "refinement_interpretation_Tm_refine_cdad1ee1aaa6405fabfb53e55453b04f", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "de7f5d01e0178a184e56d1f721a4d58b" - ], - [ - "AlgWP.ignore_writes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Alg_pretyping_65df54ce4d63ba5b9686604a5875adf8", - "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.state", "equation_Alg.sublist", "equation_AlgWP.noops", - "equation_AlgWP.null", "equation_AlgWP.null_ro", - "equation_AlgWP.op_At_At", "equation_AlgWP.quotient_ro", - "equation_AlgWP.rwops", "equation_AlgWP.st_monotonic", - "equation_AlgWP.subops", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.List.Tot.Base.op_At", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_54b3ad101f006fc8fdcb2cf5b9f832ce", - "interpretation_Tm_abs_6e196f8f0076385ddf9b17d71ba4e048", - "interpretation_Tm_abs_b60310853fa0ff833a2271ce5097bd1b", - "interpretation_Tm_abs_c348a1c35fab2f6009969e85951df492", - "kinding_Alg.op@tok", "l_and-interp", "l_imp-interp", - "l_quant_interp_45e36f2117295ee7f73ce1b0d916cb62", - "l_quant_interp_f286e8acaee32f5b1e7a843dd5baeebc", - "lemma_Alg.append_single", "lemma_AlgWP.sublist_at", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_cdad1ee1aaa6405fabfb53e55453b04f", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "token_correspondence_AlgWP.null_ro", "typing_AlgWP.noops", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_Alg.Write@tok" - ], - 0, - "99335ec413cb0c8eeef5e8e7c872b75d" - ], - [ - "AlgWP.ignore_writes", - 2, - 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", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_Alg.Read@tok", - "equality_tok_Alg.Write@tok", "equation_Alg.ops", - "equation_Alg.sublist", "equation_AlgWP.rwops", "kinding_Alg.op@tok", - "lemma_Alg.append_single", "lemma_Alg.memP_at", - "refinement_interpretation_Tm_refine_cdad1ee1aaa6405fabfb53e55453b04f", - "refinement_interpretation_Tm_refine_cf45f80424129a94bdf69f00a86d8bf7", - "typing_tok_Alg.Read@tok", "typing_tok_Alg.Write@tok" - ], - 0, - "a9ef68101eeb1e206b84ae162844df20" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/BUGSLowParseWriters.fst.hints b/examples/layeredeffects/BUGSLowParseWriters.fst.hints deleted file mode 100644 index 80854a2fe55..00000000000 --- a/examples/layeredeffects/BUGSLowParseWriters.fst.hints +++ /dev/null @@ -1,172 +0,0 @@ -[ - "/ÿãôªÉ®!\u0018¦äö¦¤Jœ", - [ - [ - "BUGSLowParseWriters.__proj__Correct__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_663361c39544907ac5067c9c50873bd4" - ], - 0, - "eb5bec826e1069211af339082b350961" - ], - [ - "BUGSLowParseWriters.__proj__Error__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3b282434ccd43fdb008018983e216134" - ], - 0, - "ee038b93dc0d3303c1603f63bc732981" - ], - [ - "BUGSLowParseWriters.read_repr_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_BUGSLowParseWriters.Correct", - "disc_equation_BUGSLowParseWriters.Error", - "fuel_guarded_inversion_BUGSLowParseWriters.result", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a21d04f2177efa608733964b5aa08d52" - ], - 0, - "f1fae97e1870504e531148c03112e6cb" - ], - [ - "BUGSLowParseWriters.read_return_spec", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_BUGSLowParseWriters.Correct", - "projection_inverse_BUGSLowParseWriters.Correct__0", - "projection_inverse_BUGSLowParseWriters.Correct_a" - ], - 0, - "28f90a82bc4193358329ab9ae458bfff" - ], - [ - "BUGSLowParseWriters.read_bind_spec", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_BUGSLowParseWriters.Correct", - "constructor_distinct_BUGSLowParseWriters.Error", - "disc_equation_BUGSLowParseWriters.Correct", - "disc_equation_BUGSLowParseWriters.Error", - "projection_inverse_BUGSLowParseWriters.Correct__0", - "projection_inverse_BUGSLowParseWriters.Correct_a", - "projection_inverse_BUGSLowParseWriters.Error__0", - "projection_inverse_BUGSLowParseWriters.Error_a", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "973ad7e432a57b43c480a84cfefcf6f8" - ], - [ - "BUGSLowParseWriters.read_subcomp_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_BUGSLowParseWriters.Correct" - ], - 0, - "8621befbb1215ee88f6dc6cb87406566" - ], - [ - "BUGSLowParseWriters.read_subcomp", - 1, - 2, - 1, - [ "@query" ], - 0, - "78d6adae7a13b019bdfcdf814fa1651f" - ], - [ - "BUGSLowParseWriters.ERead", - 1, - 2, - 1, - [ "@query" ], - 0, - "eb8b756a7aafb8367125da3d4593c018" - ], - [ - "BUGSLowParseWriters.ERead", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "1843c6b2c1b22aabccf9a9ea7ee0c2e9" - ], - [ - "BUGSLowParseWriters.ERead", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "7e28f2c69ba5a729481051d389be4977" - ], - [ - "BUGSLowParseWriters.lift_pure_read_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "constructor_distinct_BUGSLowParseWriters.Correct", "eq2-interp", - "equation_Prims.l_Forall", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_1a3b3b2e3463fa5b017852858d0bc89d", - "interpretation_Tm_abs_3ed2a9d5cf9afbd60993b8aec125d431", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_not-interp", - "l_quant_interp_d7d3a048ecab29ba5b8115834b43165b", - "projection_inverse_BUGSLowParseWriters.Correct__0", - "projection_inverse_BUGSLowParseWriters.Correct_a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_1a3b3b2e3463fa5b017852858d0bc89d", - "typing_Tm_abs_3ed2a9d5cf9afbd60993b8aec125d431", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "042021d918f2fa1247a1a1b7d0147458" - ], - [ - "BUGSLowParseWriters.read_bind_spec'", - 1, - 2, - 1, - [ - "@query", "disc_equation_BUGSLowParseWriters.Correct", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "71efb94e52ae2d2f2a9e74ce8041b0bc" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/Buffers.fst.hints b/examples/layeredeffects/Buffers.fst.hints deleted file mode 100644 index ed04c7a06cb..00000000000 --- a/examples/layeredeffects/Buffers.fst.hints +++ /dev/null @@ -1,733 +0,0 @@ -[ - "\u0018F¤y\u0006ÑÞª;CÌ·&Ó3ç", - [ - [ - "Buffers.repr", - 1, - 2, - 1, - [ - "@query", "equation_Buffers.len", "equation_Buffers.u8", - "equation_FStar.Integers.uint_8", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "function_token_typing_FStar.Integers.uint_8", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "a547591bfc3e3239a61f8371c67ff3b1" - ], - [ - "Buffers.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Buffers.u8", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Integers.uint_8", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", - "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "4d756a7f247c11a14266ad22c972a68e" - ], - [ - "Buffers.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_6de1f3fd4d7474538299618faaacc276", - "Buffers_interpretation_Tm_arrow_a3130709f366f6dc2e096dcdb860c3fa", - "Buffers_interpretation_Tm_arrow_a75c5d01b0916cd62e4e076f0ded74ab", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "Buffers_interpretation_Tm_arrow_df1d918d1e33e61fea9bf4d80766fb6a", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Buffers.len", "equation_Buffers.u8", - "equation_Buffers.wp_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Buffer.buffer", "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", - "interpretation_Tm_abs_252a35c266af332e548e2ecfb799372d", - "interpretation_Tm_abs_322856e35328cac66044df9e261bb216", - "interpretation_Tm_abs_85a649d7b75dc4204d06c6bbcaab9765", - "interpretation_Tm_abs_c5a9203ed3e49b8572beeb285f415bd1", - "l_quant_interp_5b76262ee763935ec76c0a4ff67e4902", - "l_quant_interp_7924b91cc915776d403f57c6ad9a5513", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Seq.Properties.lseq", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_Tm_abs_252a35c266af332e548e2ecfb799372d", - "typing_Tm_abs_322856e35328cac66044df9e261bb216", - "typing_Tm_abs_85a649d7b75dc4204d06c6bbcaab9765", - "typing_Tm_abs_c5a9203ed3e49b8572beeb285f415bd1" - ], - 0, - "d5ccd3dbf583caf0b348d46d9a099f00" - ], - [ - "Buffers.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_a75c5d01b0916cd62e4e076f0ded74ab", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Buffers.len", "equation_Buffers.post_t", - "equation_Buffers.repr", "equation_Buffers.u8", - "equation_FStar.Integers.uint_8", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Buffer.buffer", - "function_token_typing_FStar.Integers.uint_8", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Seq.Properties.lseq", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_Tm_abs_85a649d7b75dc4204d06c6bbcaab9765" - ], - 0, - "d77065f21a27246e09efd91d04238b73" - ], - [ - "Buffers.if_then_else", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "e756211edb0b6f347ae2a309817c6b85" - ], - [ - "Buffers.CHACHA", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "b7901620a4cf9a313cb8cbf9c8defae3" - ], - [ - "Buffers.CHACHA", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "28bb4989b7685c90a459e8a35e82c683" - ], - [ - "Buffers.CHACHA", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "bccff0668f1206213275bfb7395accb6" - ], - [ - "Buffers.CHACHA", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "1cfd6ff4a7d76f86b9f41fe2a459ba92" - ], - [ - "Buffers.CHACHA", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_1a4528d85a2f269c886ae43010229cbf", - "Buffers_interpretation_Tm_arrow_adcee7a53d2eef7f2696d8cacd26c100", - "Buffers_interpretation_Tm_arrow_bf5f2da5f7b205c3924907267edb249c", - "equation_Buffers.len", "equation_Buffers.wp_t", - "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0ac45d6b587961db7f6049838d8b32b8" - ], - 0, - "87c2b379a7f7e056a87f654036baca09" - ], - [ - "Buffers.lift_div_chacha", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Buffers_interpretation_Tm_arrow_8aae13b96fb0be58b929fe6db466cb69", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "equation_Buffers.u8", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Integers.uint_8", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", "equation_Prims.logical", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "interpretation_Tm_abs_f1c53632b1501ff4efcb5d692ee522fb", - "l_quant_interp_03fe51ad457c96730306b1ea15c1c876", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_9c79c4ef8bf28fdd5d01e604e0426830", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "typing_Tm_abs_f1c53632b1501ff4efcb5d692ee522fb" - ], - 0, - "061c11038fb524a5f7468b42df23ef42" - ], - [ - "Buffers.Chacha", - 1, - 2, - 1, - [ "@query" ], - 0, - "7b9c02bf642815371666bf4bc1b72108" - ], - [ - "Buffers.read1_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "fd69fd45a5c5adeb0ae5a7f75b1902e3" - ], - [ - "Buffers.read2_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "0fbd4ceb41f91104f916b40ec51ae3dc" - ], - [ - "Buffers.write1_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "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_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0138ddf8f48c706a521d4dde04932303", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dbb784126fe936ea01a0bdae735e9bf2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", "unit_inversion", - "unit_typing" - ], - 0, - "aa70ff5324d9a82e9baa7e02481732be" - ], - [ - "Buffers.write2_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "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_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_47855f1c1510306284bc7d0a6b3fef3e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dbb784126fe936ea01a0bdae735e9bf2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", "unit_inversion", - "unit_typing" - ], - 0, - "07716344839611e7deaa211944628b09" - ], - [ - "Buffers.read1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "63736c22b44c3febf1f2fd529f431064" - ], - [ - "Buffers.read2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "88ed160ec9aac17cc5fa2822ae1226cb" - ], - [ - "Buffers.write1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "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_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0138ddf8f48c706a521d4dde04932303", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", "unit_typing" - ], - 0, - "686edaf7c7a5007723895a9f7ed724a7" - ], - [ - "Buffers.write2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equality_tok_FStar.Integers.W32@tok", "equation_Buffers.len", - "equation_Buffers.u32", "equation_Buffers.u8", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "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_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_47855f1c1510306284bc7d0a6b3fef3e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.length", "unit_typing" - ], - 0, - "f17b2005a0f9795a085efa5446cf606a" - ], - [ - "Buffers.copy", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_FStar.Integers.Winfinite@tok", "equation_Buffers.len", - "equation_Buffers.u8", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.uint_8", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Integers.uint_8", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.upd", "typing_FStar.UInt.fits", - "typing_Prims.pow2" - ], - 0, - "f548ff82e1399179776b22c6f663bb05" - ], - [ - "Buffers.copy_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Buffers.len", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_adefeb49c03d29ad5b6534d2a555cec2" - ], - 0, - "b6ea8b9ebffe57985ceccf1eacb93c9e" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/DM4F.fst.hints b/examples/layeredeffects/DM4F.fst.hints deleted file mode 100644 index adfc71661de..00000000000 --- a/examples/layeredeffects/DM4F.fst.hints +++ /dev/null @@ -1,261 +0,0 @@ -[ - "ž>jÑ—´Q='%²n„»â×ÜT", - [ - [ - "RW.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" - ], - 0, - "9023e3b70ca62e3063314cfe12b575a6" - ], - [ - "RW.ro_sanity_check", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_RW.is_ro_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "l_and-interp" - ], - 0, - "6d566625b8e77e18114affdb343d66e4" - ], - [ - "RW.return", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_RW.RO", "eq2-interp", - "equality_tok_RW.RO@tok", "equation_Prims.eq2", - "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_883d259fa21f9a8cc40cfed072ec02da", - "l_and-interp", "token_correspondence_RW.real_post" - ], - 0, - "6129195e26baa26c58084869b5d6c6f8" - ], - [ - "RW.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_Prims.l_Exists", "equation_RW.join", - "equation_RW.real_post", "fuel_guarded_inversion_RW.idx", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_ea664cdb4f669a335040ef49f0cbbe92", - "l_and-interp", "l_quant_interp_34342ab8f9db561749ef373c0aeb10ad", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_bdbb66237acf10f9d702cf5833c518a6", - "refinement_interpretation_Tm_refine_c7a49ccd656655cad5daf75eb4fe44f9", - "refinement_interpretation_Tm_refine_f0433b057c0ce717495f8b201c9678b0", - "token_correspondence_RW.real_post", "typing_tok_RW.RW@tok" - ], - 0, - "f5273e7f2b83642ed7ebb4059fb40c2a" - ], - [ - "RW.rwi_subtype", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.join", "equation_RW.real_post", - "fuel_guarded_inversion_RW.idx", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_b53a434ca0a286771868e47e1b31c711", - "interpretation_Tm_abs_c54f56333dd53874f5a17f041b59c72b", - "interpretation_Tm_abs_e7ae145430c379a29a8cf85617fb3742", - "l_and-interp", "l_quant_interp_153f356cb666a0bee4c88008acca1bee", - "l_quant_interp_fda8b30e41b2e1a898893a42123cdde8", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_RW.real_post", "typing_tok_RW.RW@tok" - ], - 0, - "e14ad6733d372069d261265fb0dd3b3c" - ], - [ - "RW.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RW@tok", "equation_Prims.eq2", - "equation_RW.flows", "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", "false_interp", - "fuel_guarded_inversion_RW.idx", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "l_and-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_bdbb66237acf10f9d702cf5833c518a6", - "token_correspondence_RW.real_post", "typing_tok_RW.RW@tok" - ], - 0, - "94da341e63cc4bb1221a5ab321dee981" - ], - [ - "RW.RWI", 1, 2, 1, [ "@query" ], 0, "8d466e703a22ba5494db41a0dd6addb7" - ], - [ - "RW.RWI", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "bool_inversion", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RW@tok", "equation_Prims.squash", - "equation_RW.flows", "equation_RW.join", "equation_RW.post_leq", - "equation_RW.pre_leq", "fuel_guarded_inversion_RW.idx", - "interpretation_Tm_abs_50e1acfe4eaa3511ef81d7871ee8b8a9", - "interpretation_Tm_abs_a682e99eeb3f1d6cab991882ef5b466a", - "l_and-interp", "l_imp-interp", "l_not-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "9d8b1a1f5e17add8b8eff3632d0d8411" - ], - [ - "RW.RWI", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "bool_inversion", "constructor_distinct_RW.RO", - "constructor_distinct_RW.RW", "equality_tok_RW.RW@tok", - "equation_RW.flows", "equation_RW.join", "equation_RW.post_leq", - "equation_RW.pre_leq", "fuel_guarded_inversion_RW.idx", - "interpretation_Tm_abs_50e1acfe4eaa3511ef81d7871ee8b8a9", - "interpretation_Tm_abs_a682e99eeb3f1d6cab991882ef5b466a", - "l_and-interp", "l_imp-interp", "l_not-interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "ab748d6cde68dfe8ac4fc6765b143c1f" - ], - [ - "RW.lift_pure_rwi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Pure_interpretation_Tm_arrow_61bb9550f39772f18eaab129c43c3788", - "FStar.Monotonic.Pure_interpretation_Tm_arrow_c4804ca26ade2f3859400eebcb37ddbd", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "constructor_distinct_RW.RO", "eq2-interp", "equality_tok_RW.RO@tok", - "equation_Prims.eq2", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_57a70f28d43ecade538b216cb737b4a1", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_6ffc06f5d789cf42c73d4f163a977cc0", - "interpretation_Tm_abs_735bfa0400a12573ed48312f042e45e7", - "interpretation_Tm_abs_b6611a6fee45331cc641a406f75c8837", - "interpretation_Tm_abs_e5f9da69b4e622fc8b88c80c57775066", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_a95cc0c08adee07762ef8b718ec9279c", - "refinement_interpretation_Tm_refine_8c997db75a6c088eba94f56a89cc0e1b", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_9d7e1da4c8ccc98f1562bffecfa030b6", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "token_correspondence_RW.real_post", "true_interp", - "typing_Prims.l_True", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_6ffc06f5d789cf42c73d4f163a977cc0", - "typing_Tm_abs_735bfa0400a12573ed48312f042e45e7", - "typing_Tm_abs_b6611a6fee45331cc641a406f75c8837", - "typing_Tm_abs_e5f9da69b4e622fc8b88c80c57775066", "unit_typing" - ], - 0, - "b959f4fe8a7548517b833addcedb6850" - ], - [ - "RW.test_rrr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "bool_inversion", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_62108598195b507c971d6f03f783d3f0", - "interpretation_Tm_abs_6d98503725b570e0f9e0bdb096fd78de", - "interpretation_Tm_abs_7e96a6d8da0332b4ad7338752486e2da", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_1983134f69526f81227f31dbb5f07fb8", - "l_quant_interp_4e701bc3cd090a4a78152436c67caa47", - "l_quant_interp_7bd3f8cea95e20b7b13338d5dc961451", - "l_quant_interp_977cf6a55d4a5282600dc2340f5ef5dd", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok", "unit_inversion", "unit_typing" - ], - 0, - "1673e102e999c0722d8eb14d1ef99624" - ], - [ - "RW.test_rrw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "bool_inversion", "constructor_distinct_RW.RO", - "constructor_distinct_RW.RW", "eq2-interp", "equality_tok_RW.RO@tok", - "equality_tok_RW.RW@tok", "equation_Prims.eq2", "equation_RW.flows", - "equation_RW.join", "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", "fuel_guarded_inversion_RW.idx", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_62108598195b507c971d6f03f783d3f0", - "interpretation_Tm_abs_6d98503725b570e0f9e0bdb096fd78de", - "interpretation_Tm_abs_7e96a6d8da0332b4ad7338752486e2da", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_1983134f69526f81227f31dbb5f07fb8", - "l_quant_interp_4e701bc3cd090a4a78152436c67caa47", - "l_quant_interp_7bd3f8cea95e20b7b13338d5dc961451", - "l_quant_interp_977cf6a55d4a5282600dc2340f5ef5dd", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", "typing_RW.join", - "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion", - "unit_typing" - ], - 0, - "7e3fe91fa38824955c9b738bffd750dc" - ], - [ - "RW.test_rww", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "bool_inversion", "constructor_distinct_RW.RO", - "constructor_distinct_RW.RW", "eq2-interp", "equality_tok_RW.RO@tok", - "equality_tok_RW.RW@tok", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", "fuel_guarded_inversion_RW.idx", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_62108598195b507c971d6f03f783d3f0", - "interpretation_Tm_abs_686ceadad38103cc93c63ac23b8f8e96", - "interpretation_Tm_abs_e7dc7e375969e13afb5218a00cad4a55", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_41f190672d06725f95f5a819b8694a68", - "l_quant_interp_4e701bc3cd090a4a78152436c67caa47", - "l_quant_interp_7bd3f8cea95e20b7b13338d5dc961451", - "l_quant_interp_9f1c81ef41ed967249852170e00cf18e", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", "typing_RW.join", - "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion", - "unit_typing" - ], - 0, - "1969eab071a0bec5bab410ff7a670aa4" - ], - [ - "RW.test_wrw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "bool_inversion", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_RW.flows", "equation_RW.join", "equation_RW.post_leq", - "equation_RW.pre_leq", "equation_RW.real_post", - "fuel_guarded_inversion_RW.idx", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_0aaf5dc0e48bcaa9267ba2e30b96a82c", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_62108598195b507c971d6f03f783d3f0", - "interpretation_Tm_abs_d69dff777b119505508cd12c7545ab40", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_145e746ffc3fc63da110422e23c6247e", - "l_quant_interp_1983134f69526f81227f31dbb5f07fb8", - "l_quant_interp_3b1a79dd3cf2f9f56a9462654ffefbcb", - "l_quant_interp_7bd3f8cea95e20b7b13338d5dc961451", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", "typing_RW.join", - "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion", - "unit_typing" - ], - 0, - "39f5cc256889763ec1a36008d43c0669" - ], - [ - "RW.test_www", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "bool_inversion", "constructor_distinct_RW.RO", - "constructor_distinct_RW.RW", "eq2-interp", "equality_tok_RW.RO@tok", - "equality_tok_RW.RW@tok", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", "fuel_guarded_inversion_RW.idx", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_1f88231267ad7c0f6b220b018b03b386", - "interpretation_Tm_abs_62108598195b507c971d6f03f783d3f0", - "interpretation_Tm_abs_cd8cbf907c713b941def928e85cd0589", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_145e746ffc3fc63da110422e23c6247e", - "l_quant_interp_299ceb5341ed7719961b661be133855f", - "l_quant_interp_7bd3f8cea95e20b7b13338d5dc961451", - "l_quant_interp_9f1c81ef41ed967249852170e00cf18e", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", "typing_RW.join", - "typing_tok_RW.RO@tok", "typing_tok_RW.RW@tok", "unit_inversion", - "unit_typing" - ], - 0, - "c3cdd1a1f784179b9fd136422eb2e5bc" - ], - [ - "RW.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.l_False", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_44a37c3d8895d1bfa4d587f38b578d8a", - "interpretation_Tm_abs_aee72031c93b8886c9adf6d55485c610", - "l_and-interp", "l_imp-interp", "l_not-interp", - "l_quant_interp_689aa39a94c4c0f9ef87e788375bcd9b", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "2f58f8c38772d5c181b29fb27400fad1" - ], - [ - "RW.app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RW@tok", "equation_RW.flows", - "equation_RW.post_leq", "equation_RW.pre_leq", - "fuel_guarded_inversion_RW.idx", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "8eec9b7e7e848b1113ba38e1fcfbc6e4" - ], - [ - "RW.appn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.nat", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", "false_interp", - "fuel_guarded_inversion_RW.idx", "int_inversion", - "interpretation_Tm_abs_44b0c83402e95101bdce548257b13f18", - "interpretation_Tm_abs_4ccffdc42e93e8bce20d18871451bcfe", - "l_quant_interp_9a9e164e2f0c6343ec767e34d5215bcc", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_RW.join", "typing_tok_RW.RO@tok", - "typing_tok_RW.RW@tok" - ], - 0, - "6ae938df5b0ce85d661badf3cd9dc9e5" - ], - [ - "RW.labs0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_RW.flows", "equation_RW.post_leq", "equation_RW.pre_leq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_40b84fd3ea106da84f29e8e9e339d531", - "interpretation_Tm_abs_4d999aca17412bbaa24ab2fae8320eff", - "l_and-interp", "l_not-interp", - "l_quant_interp_41b20c31f401a9bb62360452fec2aace", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "b2ce7a3040eb202a4daf6a8d29b4a5d4" - ], - [ - "RW.labs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.nat", "equation_RW.flows", "equation_RW.post_leq", - "equation_RW.pre_leq", "int_inversion", - "interpretation_Tm_abs_95813b54fa7dc2c1f578ab72ce1a1f93", - "interpretation_Tm_abs_98ed89c14d2f5eaa7a646b54abde6398", - "l_quant_interp_ead6093c94f84bea53b70d237fec71bc", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "c9bb49aa7f30b2f169b4f56127abc083" - ], - [ - "RW.rwi_assert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_RW.RO", "eq2-interp", "equality_tok_RW.RO@tok", - "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_e67bf20e3dc4cc1f86230ecaf2f29bb5", - "l_and-interp", - "refinement_interpretation_Tm_refine_d5775607effc5aa56205d898659fe13a", - "token_correspondence_RW.real_post", "unit_inversion", "unit_typing" - ], - 0, - "cf00dfab13f53135cd44e477ca239411" - ], - [ - "RW.rwi_assume", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_RW.RO", "eq2-interp", "equality_tok_RW.RO@tok", - "equation_Prims.eq2", "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_860119f29022a36e41997920025ea616", - "l_and-interp", "token_correspondence_RW.real_post", - "unit_inversion", "unit_typing" - ], - 0, - "823bd652ae5101e50f1152770b0225d9" - ], - [ - "RW.test_abs0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_4d999aca17412bbaa24ab2fae8320eff", - "interpretation_Tm_abs_9ba17908c2cc172c1f12fc16e6eccb50", - "interpretation_Tm_abs_ad8429a23bce0706bc617182d0996a61", - "interpretation_Tm_abs_af08614f50be0d1f7c2db24bf239c04c", - "l_and-interp", "l_quant_interp_919c66f72eafe95a4e44a5e1c76b530c", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok" - ], - 0, - "13205a1efed297ad9732e5d9ccb03429" - ], - [ - "RW.test_abs0'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", "b2t_def", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_Prims.nat", "equation_RW.flows", - "equation_RW.join", "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_4d999aca17412bbaa24ab2fae8320eff", - "interpretation_Tm_abs_98ed89c14d2f5eaa7a646b54abde6398", - "interpretation_Tm_abs_ca01591c709fc45aa1c66029b8336efd", - "l_and-interp", "l_quant_interp_5003fb5fe0d135ecb20d19dc3b92cf60", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok" - ], - 0, - "2eb21704bb8906c605d789bf1819a6d7" - ], - [ - "RW.test_abs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.nat", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "interpretation_Tm_abs_98ed89c14d2f5eaa7a646b54abde6398", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "19ffbedf680f0ce16cd2f83c7e00c4a1" - ], - [ - "RW.get_indexed", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_Prims.eq2", - "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_ed75920970fe97939123d30eaa58e134", - "l_and-interp", "token_correspondence_RW.real_post" - ], - 0, - "d392fb443a98bf4bf3dfe091e23229b7" - ], - [ - "RW.get_r", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_RW.RO", "eq2-interp", - "equality_tok_RW.RO@tok", "equation_Prims.eq2", - "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_ed75920970fe97939123d30eaa58e134", - "l_and-interp", "token_correspondence_RW.real_post" - ], - 0, - "771853fed934f0b7cdb55ab601645b80" - ], - [ - "RW.test_state_eq_rrr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_04be74b889d96588f3a6fd9ffc01ee46", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_36d7870762ca69b049e162c2ec3f9586", - "interpretation_Tm_abs_ed75920970fe97939123d30eaa58e134", - "l_and-interp", "l_quant_interp_7b78a53c82a4b8a7c312f8063573fbe1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok" - ], - 0, - "6138cfc02d3a4ac1b1cd48f0d902f7a5" - ], - [ - "RW.test_state_eq_rrw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_04be74b889d96588f3a6fd9ffc01ee46", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_36d7870762ca69b049e162c2ec3f9586", - "interpretation_Tm_abs_ed75920970fe97939123d30eaa58e134", - "l_and-interp", "l_quant_interp_7b78a53c82a4b8a7c312f8063573fbe1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok" - ], - 0, - "71d406204c0731c2dc28227789ac44f5" - ], - [ - "RW.test_state_eq_rww", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "eq2-interp", "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_Prims.eq2", "equation_RW.flows", "equation_RW.join", - "equation_RW.post_leq", "equation_RW.pre_leq", - "equation_RW.real_post", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_02ce43a3b25a7d67b291fe2e258fe404", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "interpretation_Tm_abs_36d7870762ca69b049e162c2ec3f9586", - "interpretation_Tm_abs_ed75920970fe97939123d30eaa58e134", - "l_and-interp", "l_quant_interp_a32cc1a0d0ea90cb3146e48dff25aac5", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_RW.real_post", "true_interp", - "typing_tok_RW.RW@tok" - ], - 0, - "1ef0908d900945ee35415e01551c3df6" - ], - [ - "RW.test_state_eq_www", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "RW_pretyping_fd3570324fcfa9ce675e4b3ac31dbd63", - "constructor_distinct_RW.RO", "constructor_distinct_RW.RW", - "equality_tok_RW.RO@tok", "equality_tok_RW.RW@tok", - "equation_RW.flows", "equation_RW.join", "equation_RW.post_leq", - "equation_RW.pre_leq", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_36d7870762ca69b049e162c2ec3f9586", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "true_interp", "typing_tok_RW.RW@tok" - ], - 0, - "c83a3b27184f6d5a006353738a9389a6" - ], - [ - "RW.makero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_RW.RO", - "constructor_distinct_RW.RW", "eq2-interp", "equality_tok_RW.RO@tok", - "equality_tok_RW.RW@tok", "equation_RW.is_ro_post", - "equation_RW.real_post", - "interpretation_Tm_abs_1137fa680ad9059407102e1a08218552", - "l_and-interp", - "refinement_interpretation_Tm_refine_bdbb66237acf10f9d702cf5833c518a6", - "refinement_interpretation_Tm_refine_fef3fce922832fa5dd9185b833809529", - "token_correspondence_RW.real_post" - ], - 0, - "c643824a1651104e51494421aebe3840" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/RunST.fst.hints b/examples/layeredeffects/RunST.fst.hints deleted file mode 100644 index 1b63ac0e504..00000000000 --- a/examples/layeredeffects/RunST.fst.hints +++ /dev/null @@ -1,1377 +0,0 @@ -[ - "|G\nÓÜ\u0000”`åJÌ\u000bÙK2.", - [ - [ - "RunST.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" - ], - 0, - "d5f9827358158b4efbc58f4a5623dd48" - ], - [ - "RunST.__proj__Read__item__st0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2c886d15e6dbd7a95f452e92182695d9" - ], - 0, - "08771d4d301188a8d585d20a0f413b72" - ], - [ - "RunST.__proj__Write__item__st0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58169d42ff8ecb3e94c8e4456cb12065" - ], - 0, - "dce8728b8c118c8a8f04f1259496d160" - ], - [ - "RunST.__proj__Write__item__st1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58169d42ff8ecb3e94c8e4456cb12065" - ], - 0, - "8209b0a375e75a4a379ff263a4cde9be" - ], - [ - "RunST.__proj__Raise__item__st0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc9ba67dbb14c044cb455cff96093cf9" - ], - 0, - "9e0198d99be685210abd3e0e7f0c1503" - ], - [ - "RunST.__proj__Raise__item__st1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc9ba67dbb14c044cb455cff96093cf9" - ], - 0, - "c7eda556bb912caf39faf639a28d4c2c" - ], - [ - "RunST.__proj__Return__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e4ba89405dee430494246551b871a710" - ], - 0, - "08705016183e4e0a93713cdfc32f322f" - ], - [ - "RunST.__proj__Return__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e4ba89405dee430494246551b871a710" - ], - 0, - "de7d8e948ae8370d60a8ff5df0349720" - ], - [ - "RunST.__proj__Op__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "319b4514b6af07d26d7707eb8145bb37" - ], - [ - "RunST.__proj__Op__item__o", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "cd62e5210cf7672de7902304a0b1a8dd" - ], - [ - "RunST.__proj__Op__item__st0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "8eb4f2269f29cd861578a4f93b8647aa" - ], - [ - "RunST.__proj__Op__item__st1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "24036c21a53f3d4decca6d526dffa49e" - ], - [ - "RunST.__proj__Op__item__st2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "8a4fbbdae58c26f0d08d0d58ff94ea66" - ], - [ - "RunST.__proj__Op__item__act", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RunST.Op", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "68f5c5b4f1fb2b1efcf24740e859a6bb" - ], - [ - "RunST.__proj__Op__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RunST.Op", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "2b587f98f9bccb81141a63dbd3e87527" - ], - [ - "RunST.__proj__Op__item__k", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_RunST.Op", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5" - ], - 0, - "9f45953c29df3d327eb1633209575fe0" - ], - [ - "RunST.abides", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_efebf8070ce32a84ec3879885604593c_5", "data_elim_RunST.Op", - "disc_equation_RunST.Op", "disc_equation_RunST.Return", - "fuel_guarded_inversion_RunST.repr0", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "2e6364aa3489467911da3ac91a0efd79" - ], - [ - "RunST.interp_at", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_0", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_1", - "binder_x_8b680db89b50c2402e9715378968b140_2", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eq2", "equation_RunST.interp", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_or-interp", - "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", - "subterm_ordering_Prims.Cons", "token_correspondence_RunST.interp", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.WR@tok" - ], - 0, - "2812eb0cda5501c76fa23d5fef7550ec" - ], - [ - "RunST.sublist_refl", - 1, - 2, - 1, - [ "@query", "equation_RunST.sublist" ], - 0, - "77aec96119a546de3a2750ed3bdb306c" - ], - [ - "RunST.interp_sublist", - 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", "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_0", - "binder_x_8b680db89b50c2402e9715378968b140_2", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_RunST.WR@tok", - "equation_RunST.interp", "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "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", - "token_correspondence_RunST.interp", "typing_tok_RunST.WR@tok" - ], - 0, - "6f968b1183782fcad1f67bee92b70be0" - ], - [ - "RunST.sublist_at", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_0", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "typing_tok_RunST.WR@tok" - ], - 0, - "5f4be4d4d72de5889bbd8ebd6ff84ae6" - ], - [ - "RunST.at_sublist", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_0", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_RunST.eff_label@tok", - "l_or-interp", "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "typing_tok_RunST.WR@tok" - ], - 0, - "9f445adcd2dbd1713d5de10e1ef3574b" - ], - [ - "RunST.abides_sublist", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_4", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_5", - "binder_x_efebf8070ce32a84ec3879885604593c_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_RunST.Op", "constructor_distinct_RunST.Return", - "data_elim_RunST.Op", "data_elim_RunST.Raise", - "data_elim_RunST.Return", "data_elim_RunST.Write", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_RunST.abides_act", "equation_RunST.interp", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Prims.empty", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "function_token_typing_RunST.interp", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_and-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_RunST.interp_sublist", "projection_inverse_BoxBool_proj_0", - "projection_inverse_RunST.Op__6", "projection_inverse_RunST.Op_a", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st0", "projection_inverse_RunST.Op_st1", - "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", "typing_RunST.interp", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "276ba407a1daee1d5e5f4db007f7b06b" - ], - [ - "RunST.abides_app", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_4", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_5", - "binder_x_efebf8070ce32a84ec3879885604593c_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_RunST.Op", "constructor_distinct_RunST.Return", - "data_elim_RunST.Op", "data_elim_RunST.Return", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "function_token_typing_RunST.interp", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_and-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.interp_at", "projection_inverse_BoxBool_proj_0", - "projection_inverse_RunST.Op__6", "projection_inverse_RunST.Op_a", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st0", "projection_inverse_RunST.Op_st1", - "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", "true_interp", - "typing_FStar.List.Tot.Base.op_At", "typing_RunST.interp", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "db771f85b8a4adc56a29ab9ca828d143" - ], - [ - "RunST.return", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "constructor_distinct_RunST.Return", - "data_typing_intro_RunST.Return@tok", "equation_RunST.annot", - "equation_RunST.interp", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", "true_interp", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea" - ], - 0, - "4fb8f2db0632d890c9e39bed49ea8d45" - ], - [ - "RunST.bind", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_interpretation_Tm_arrow_0db278ee3e9df790efe6724a0ebd246f", - "RunST_interpretation_Tm_arrow_88be3121fabd7e502b04f0ea58226262", - "RunST_interpretation_Tm_arrow_ed42260554f128516e64190835197fbe", - "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "binder_x_16ea6d7802dc4c8d3eeb0520c8e91dde_7", - "binder_x_16ea6d7802dc4c8d3eeb0520c8e91dde_8", - "binder_x_292b50467b37be1f2936fec3220f3939_10", - "binder_x_6f5589662257b51ebf3782d326738acc_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_6", - "constructor_distinct_RunST.Op", "data_elim_RunST.Op", - "data_elim_RunST.Return", "data_typing_intro_RunST.Op@tok", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_RunST.abides_act", - "equation_RunST.interp", "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "function_token_typing_RunST.interp", - "interpretation_Tm_abs_0690f20baeed04d6c4e8554d48324baa", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.abides_app", "lemma_RunST.interp_at", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_RunST.Op__6", "projection_inverse_RunST.Op_a", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st0", "projection_inverse_RunST.Op_st1", - "projection_inverse_RunST.Op_st2", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_FStar.Ghost.reveal", "typing_FStar.List.Tot.Base.op_At", - "typing_RunST.interp", "typing_tok_RunST.EXN@tok", - "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "635f8282b7b02b5a15c8de51868996cd" - ], - [ - "RunST.subcomp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "equation_RunST.repr", "kinding_Prims.list@tok", - "kinding_RunST.eff_label@tok", "lemma_RunST.abides_sublist", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_FStar.Ghost.reveal" - ], - 0, - "ca8ba123b3e983c1cb2e7fdd833ed8de" - ], - [ - "RunST.EFF", - 1, - 2, - 1, - [ "@query" ], - 0, - "69161714c44679e0243089c0efb5d8e4" - ], - [ - "RunST.EFF", - 2, - 2, - 1, - [ - "@query", "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "lemma_RunST.sublist_at", "typing_FStar.Ghost.reveal" - ], - 0, - "e109d4329b912993394369dc67d41112" - ], - [ - "RunST.EFF", - 3, - 2, - 1, - [ - "@query", "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "lemma_RunST.sublist_at", "typing_FStar.Ghost.reveal" - ], - 0, - "c6a63b171c440ef8c773076864fa6187" - ], - [ - "RunST.lift_pure_eff", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "constructor_distinct_RunST.Return", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_bf3aa61cda316c14b7a21f5ed0103b3c", - "kinding_RunST.eff_label@tok", "l_imp-interp", - "l_quant_interp_2194ca5ad56be2c922a651a3c1357dc5", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp", "typing_Prims.l_True", "typing_RunST.interp", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_bf3aa61cda316c14b7a21f5ed0103b3c" - ], - 0, - "77491d9fbae626780c1119811f450091" - ], - [ - "RunST.0", 1, 2, 1, [ "@query" ], 0, "63f24c462ee5b91fd8a5e2235629a6e4" - ], - [ - "RunST.get", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "RunST_interpretation_Tm_arrow_0db278ee3e9df790efe6724a0ebd246f", - "RunST_interpretation_Tm_arrow_1f888807891522dca2158f9e3193697f", - "constructor_distinct_Prims.Cons", "constructor_distinct_RunST.Op", - "constructor_distinct_RunST.Read", - "constructor_distinct_RunST.Return", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "data_typing_intro_RunST.Op@tok", - "data_typing_intro_RunST.Read@tok", "disc_equation_RunST.Raise", - "disc_equation_RunST.Write", "eq2-interp", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.Return@tok", - "equation_Prims.eqtype", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_RunST.Op__6", - "projection_inverse_RunST.Op_a", "projection_inverse_RunST.Op_act", - "projection_inverse_RunST.Op_i", "projection_inverse_RunST.Op_k", - "projection_inverse_RunST.Op_o", "projection_inverse_RunST.Op_st0", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_Prims.unit", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.RD@tok", "typing_tok_RunST.Return@tok", - "unit_typing" - ], - 0, - "b3b22da3fee0731e3a1b15ac5bb23df9" - ], - [ - "RunST.put", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "RunST_interpretation_Tm_arrow_0db278ee3e9df790efe6724a0ebd246f", - "RunST_interpretation_Tm_arrow_1f888807891522dca2158f9e3193697f", - "constructor_distinct_Prims.Cons", "constructor_distinct_RunST.Op", - "constructor_distinct_RunST.Return", - "constructor_distinct_RunST.Write", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "data_typing_intro_RunST.Op@tok", - "data_typing_intro_RunST.Write@tok", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "eq2-interp", - "equality_tok_RunST.Return@tok", "equality_tok_RunST.WR@tok", - "equation_Prims.eqtype", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_RunST.Op__6", - "projection_inverse_RunST.Op_a", "projection_inverse_RunST.Op_act", - "projection_inverse_RunST.Op_i", "projection_inverse_RunST.Op_k", - "projection_inverse_RunST.Op_o", "projection_inverse_RunST.Op_st0", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_Prims.unit", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.Return@tok", "typing_tok_RunST.WR@tok" - ], - 0, - "9e11897c09c8a483fd960c776b42f31e" - ], - [ - "RunST.raise", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "constructor_distinct_Prims.Cons", "constructor_distinct_RunST.Op", - "constructor_distinct_RunST.Raise", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_RunST.Read", - "disc_equation_RunST.Write", "eq2-interp", - "equality_tok_RunST.EXN@tok", "equality_tok_RunST.WR@tok", - "equation_RunST.abides_act", "equation_RunST.annot", - "equation_RunST.interp", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "fuel_guarded_inversion_Prims.empty", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_RunST.eff_label@tok", "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_RunST.Op__6", - "projection_inverse_RunST.Op_a", "projection_inverse_RunST.Op_act", - "projection_inverse_RunST.Op_i", "projection_inverse_RunST.Op_k", - "projection_inverse_RunST.Op_o", "projection_inverse_RunST.Op_st0", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.WR@tok" - ], - 0, - "e9f2af62168dac58660287ce18bbc950" - ], - [ - "RunST.test0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "kinding_RunST.eff_label@tok", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append", "typing_tok_RunST.RD@tok" - ], - 0, - "2f4c9485e5d0498672d94383fc7dcc89" - ], - [ - "RunST.test1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "kinding_RunST.eff_label@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "6c8a72269edebcc78a995d63884c532c" - ], - [ - "RunST.sublist_at_self", - 1, - 2, - 1, - [ "@query", "lemma_RunST.at_sublist", "lemma_RunST.sublist_refl" ], - 0, - "1d74a77c11033ff4de01c8449864f932" - ], - [ - "RunST.labpoly", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.sublist_at_self", "typing_FStar.Ghost.reveal" - ], - 0, - "2a70cf68ae46c581b5189ed807512ce3" - ], - [ - "RunST.aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "RunST_pretyping_8b680db89b50c2402e9715378968b140", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "kinding_RunST.eff_label@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.sublist_at_self", "lemma_RunST.sublist_refl", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "ec97af54e3771d1661d975f6b1bbbbc5" - ], - [ - "RunST.sumn", - 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", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_RunST.at_sublist", "lemma_RunST.sublist_refl", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "bd8e6af23d2b3c59f286eef92c60d222" - ], - [ - "RunST.sumst", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_RunST.EXN@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eq2", "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_RunST.eff_label", - "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.sublist_at_self", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.EXN@tok", - "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok" - ], - 0, - "e829e36d31a66af779432d85d3d8d70d" - ], - [ - "RunST._runST", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_4da1de8a166106e0b25e0c4d186bd3e0", - "data_elim_RunST.Op", "data_elim_RunST.Read", - "data_elim_RunST.Return", "data_elim_RunST.Write", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "equation_RunST.repr", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", "kinding_Prims.list@tok", - "kinding_RunST.eff_label@tok", "l_and-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "proj_equation_RunST.Op_act", "proj_equation_RunST.Op_i", - "proj_equation_RunST.Op_o", "proj_equation_RunST.Op_st0", - "proj_equation_RunST.Op_st1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_FStar.Ghost.reveal", "typing_RunST.interp", "unit_typing", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "d963fc20b3864af2858ba5c9ab3ef48d" - ], - [ - "RunST.test_run_st", - 1, - 2, - 1, - [ "@query", "equation_RunST.sublist" ], - 0, - "bbd4aef80049e2ae61bc99756211415c" - ], - [ - "RunST._catchST", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_4da1de8a166106e0b25e0c4d186bd3e0", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_6", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_1", - "binder_x_844ae0eff9ba5b9724a5eb5983cd2608_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "constructor_distinct_Prims.Cons", "constructor_distinct_RunST.EXN", - "constructor_distinct_RunST.Op", "constructor_distinct_RunST.RD", - "constructor_distinct_RunST.Raise", - "constructor_distinct_RunST.Return", "constructor_distinct_RunST.WR", - "data_elim_RunST.Op", "data_elim_RunST.Raise", - "data_elim_RunST.Read", "data_elim_RunST.Return", - "data_elim_RunST.Write", "data_typing_intro_Prims.Cons@tok", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "eq2-interp", - "equality_tok_RunST.EXN@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "fuel_guarded_inversion_Prims.empty", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.Ghost.reveal_hide", "proj_equation_RunST.Op_act", - "proj_equation_RunST.Op_i", "proj_equation_RunST.Op_o", - "proj_equation_RunST.Op_st0", "proj_equation_RunST.Op_st1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_RunST.Op__6", - "projection_inverse_RunST.Op_a", "projection_inverse_RunST.Op_act", - "projection_inverse_RunST.Op_i", "projection_inverse_RunST.Op_k", - "projection_inverse_RunST.Op_o", "projection_inverse_RunST.Op_st0", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Raise_st0", - "projection_inverse_RunST.Raise_st1", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_RunST.interp", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", "unit_typing", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "83cf2cd25bd9e75f7dc1f3da746d3d15" - ], - [ - "RunST._catchE", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_interpretation_Tm_arrow_0db278ee3e9df790efe6724a0ebd246f", - "RunST_interpretation_Tm_arrow_9cdc2fc6209a72283cff9c3f04fa079d", - "binder_x_6c5e41526af071e71f94b490d9f0aa78_1", - "binder_x_7b0708c4d2ea4063578864010136b305_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_RunST.EXN", - "constructor_distinct_RunST.Op", "constructor_distinct_RunST.RD", - "constructor_distinct_RunST.Return", "constructor_distinct_RunST.WR", - "data_elim_RunST.Op", "data_elim_RunST.Return", - "data_typing_intro_Prims.Cons@tok", "data_typing_intro_RunST.Op@tok", - "disc_equation_RunST.Op", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "eq2-interp", - "equality_tok_RunST.EXN@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "interpretation_Tm_abs_9826732ff524e6cb157091f0855fdc28", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.Ghost.reveal_hide", "proj_equation_RunST.Op_act", - "proj_equation_RunST.Op_i", "proj_equation_RunST.Op_o", - "proj_equation_RunST.Op_st0", "proj_equation_RunST.Op_st1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_RunST.Op__6", - "projection_inverse_RunST.Op_a", "projection_inverse_RunST.Op_act", - "projection_inverse_RunST.Op_i", "projection_inverse_RunST.Op_k", - "projection_inverse_RunST.Op_o", "projection_inverse_RunST.Op_st0", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Return_a", - "projection_inverse_RunST.Return_s", - "projection_inverse_RunST.Return_x", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_RunST.interp", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "c25e84fccbe38f8b54ec28e72303470c" - ], - [ - "RunST.coerce_st_to", - 1, - 2, - 1, - [ "@query", "equation_RunST.sublist" ], - 0, - "dc34b0b6b7339db10738c0fdebe694f6" - ], - [ - "RunST.__c1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.at_sublist", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.EXN@tok", - "typing_tok_RunST.RD@tok", "typing_tok_RunST.WR@tok" - ], - 0, - "3b56a51592b062f6bd003b94414bbc65" - ], - [ - "RunST.__h1", - 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", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "079a0e7f170514c577b8d61e70fdb7ab" - ], - [ - "RunST.test_catch0", - 1, - 2, - 1, - [ "@query", "equation_RunST.sublist" ], - 0, - "f5a96f8cf40d49ae1a0f3e7e9096cc10" - ], - [ - "RunST.test_catch", - 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", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_RunST.sublist", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_RunST.eff_label@tok", "l_or-interp", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.at_sublist", "lemma_RunST.sublist_refl", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "b630547c4231fdb37f05e72d8ccfc88e" - ], - [ - "RunST.puresum", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "kinding_RunST.eff_label@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_RunST.sublist_at_self", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "546e7daa0f3f386fd71700818dbe9a6f" - ], - [ - "RunST.pure_tree_invariant_state", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_4da1de8a166106e0b25e0c4d186bd3e0", - "constructor_distinct_Prims.Nil", "data_elim_RunST.Op", - "data_typing_intro_Prims.Nil@tok", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Write", - "equality_tok_RunST.EXN@tok", "equality_tok_RunST.RD@tok", - "equality_tok_RunST.WR@tok", "equation_RunST.abides_act", - "equation_RunST.annot", "equation_RunST.interp", - "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "6f4744f810520e661cac3991194f59e7" - ], - [ - "RunST.interp_pure_tree", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "data_elim_RunST.Op", - "data_typing_intro_Prims.Nil@tok", "disc_equation_RunST.Raise", - "disc_equation_RunST.Read", "disc_equation_RunST.Return", - "disc_equation_RunST.Write", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_RunST.abides_act", "equation_RunST.annot", - "equation_RunST.interp", "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok" - ], - 0, - "e310c75699c378c7d9452f193b63583a" - ], - [ - "RunST.interp_rd_tree", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_4da1de8a166106e0b25e0c4d186bd3e0", - "binder_x_560f70e41e8bb236a8366aa811f1cf89_4", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_RunST.EXN", "constructor_distinct_RunST.Op", - "constructor_distinct_RunST.RD", "constructor_distinct_RunST.WR", - "data_elim_RunST.Op", "data_elim_RunST.Read", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_RunST.Op", - "disc_equation_RunST.Raise", "disc_equation_RunST.Read", - "disc_equation_RunST.Return", "disc_equation_RunST.Write", - "eq2-interp", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_RunST.abides_act", "equation_RunST.annot", - "equation_RunST.interp", "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.Ghost.reveal_hide", "proj_equation_RunST.Op_act", - "proj_equation_RunST.Op_i", "proj_equation_RunST.Op_o", - "proj_equation_RunST.Op_st0", "proj_equation_RunST.Op_st1", - "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", - "projection_inverse_RunST.Op__6", "projection_inverse_RunST.Op_a", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st0", "projection_inverse_RunST.Op_st1", - "projection_inverse_RunST.Op_st2", - "refinement_interpretation_Tm_refine_e5471cc27eb02467c1433ee041091ef5", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_RunST.__proj__Op__item__act", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "0a074c3c6c4bb4b47f01c89bf835a473" - ], - [ - "RunST.interp_rdwr_tree", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_RunST.abides.fuel_instrumented", - "@fuel_irrelevance_RunST.abides.fuel_instrumented", "@query", - "RunST_pretyping_0ab4017fa8106d571792e80db3d44541", - "binder_x_1a288570ba67490f5c2e23190b6fbba9_4", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_RunST.EXN", "constructor_distinct_RunST.RD", - "constructor_distinct_RunST.WR", "data_elim_RunST.Op", - "data_elim_RunST.Read", "data_elim_RunST.Return", - "data_elim_RunST.Write", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_RunST.Op", - "disc_equation_RunST.Raise", "disc_equation_RunST.Read", - "disc_equation_RunST.Return", "disc_equation_RunST.Write", - "eq2-interp", "equality_tok_RunST.EXN@tok", - "equality_tok_RunST.RD@tok", "equality_tok_RunST.WR@tok", - "equation_RunST.abides_act", "equation_RunST.annot", - "equation_RunST.interp", "equation_RunST.repr", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_RunST.abides.fuel_instrumented", "false_interp", - "fuel_guarded_inversion_RunST.action", - "fuel_guarded_inversion_RunST.repr0", - "interpretation_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "kinding_Prims.list@tok", "kinding_RunST.eff_label@tok", - "l_and-interp", "l_or-interp", - "l_quant_interp_303e666b2ecf5b9f5a9bafe8fbf0854a", - "lemma_FStar.Ghost.reveal_hide", "proj_equation_RunST.Op_act", - "proj_equation_RunST.Op_i", "proj_equation_RunST.Op_o", - "proj_equation_RunST.Op_st0", "proj_equation_RunST.Op_st1", - "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", - "projection_inverse_RunST.Op_act", "projection_inverse_RunST.Op_i", - "projection_inverse_RunST.Op_k", "projection_inverse_RunST.Op_o", - "projection_inverse_RunST.Op_st1", "projection_inverse_RunST.Op_st2", - "projection_inverse_RunST.Read_st0", - "projection_inverse_RunST.Write_st0", - "projection_inverse_RunST.Write_st1", - "refinement_interpretation_Tm_refine_f4fa2f9ee3af174f79df287c49f46b43", - "typing_Tm_abs_5f7c7617e59bccb8ced7ca7a87ce3fea", - "typing_tok_RunST.EXN@tok", "typing_tok_RunST.RD@tok", - "typing_tok_RunST.WR@tok", "unit_typing", - "well_founded_ordering_on_codomain_RunST.Op" - ], - 0, - "a4d5aa2bf947fd819e60f5c2c8baab0b" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/Sec1.GST.fst.hints b/examples/layeredeffects/Sec1.GST.fst.hints deleted file mode 100644 index 558cffd94f0..00000000000 --- a/examples/layeredeffects/Sec1.GST.fst.hints +++ /dev/null @@ -1,97 +0,0 @@ -[ - "0×\u0016£ˆ3{ÈZ„òC%rÒ¯", - [ - [ - "Sec1.GST.gst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Sec1.GST.R", - "disc_equation_Sec1.GST.RW", "fuel_guarded_inversion_Sec1.GST.tag", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e7634879e27855470790934d0b9cd605" - ], - [ - "Sec1.GST.lift", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec1.GST_pretyping_785f4d4493de3ef62683946a78d77527", - "constructor_distinct_Sec1.GST.R", - "constructor_distinct_Sec1.GST.RW", "disc_equation_Sec1.GST.R", - "disc_equation_Sec1.GST.RW", "equality_tok_Sec1.GST.R@tok", - "equality_tok_Sec1.GST.RW@tok", "equation_Sec1.GST.gst", - "equation_Sec1.GST.op", "fuel_guarded_inversion_Sec1.GST.tag", - "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", - "typing_Sec1.GST.op", "typing_tok_Sec1.GST.RW@tok" - ], - 0, - "3436ce084056293eab90e36fbe65799d" - ], - [ - "Sec1.GST.bind_homogeneous", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Sec1.GST.R", - "constructor_distinct_Sec1.GST.RW", "disc_equation_Sec1.GST.R", - "disc_equation_Sec1.GST.RW", "equality_tok_Sec1.GST.R@tok", - "equality_tok_Sec1.GST.RW@tok", "equation_Sec1.GST.gst", - "fuel_guarded_inversion_Sec1.GST.tag", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4d50cf33a5315a8ea5781309757987a3" - ], - [ - "Sec1.GST.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec1.GST_interpretation_Tm_arrow_93ccfb2cb417c6bb293ac790694d34ce", - "Sec1.GST_pretyping_785f4d4493de3ef62683946a78d77527", - "constructor_distinct_Sec1.GST.R", - "constructor_distinct_Sec1.GST.RW", "equality_tok_Sec1.GST.R@tok", - "equality_tok_Sec1.GST.RW@tok", "equation_Sec1.GST.gst", - "equation_Sec1.GST.lift", "equation_Sec1.GST.op", - "fuel_guarded_inversion_Sec1.GST.tag", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Sec1.GST.lift", "typing_Sec1.GST.op", - "typing_tok_Sec1.GST.RW@tok" - ], - 0, - "b1942ec8c530187fcde25839b5ae10d7" - ], - [ - "Sec1.GST.lift_pure", - 1, - 2, - 1, - [ "@query" ], - 0, - "61f11473d8b12522e196ec5fc5dbbb59" - ], - [ - "Sec1.GST.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "576f029c2cb0dcd85571dcf8f286fa74" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/Sec2.HIFC.fst.hints b/examples/layeredeffects/Sec2.HIFC.fst.hints deleted file mode 100644 index af1539e034e..00000000000 --- a/examples/layeredeffects/Sec2.HIFC.fst.hints +++ /dev/null @@ -1,2294 +0,0 @@ -[ - "š5\t´pmZ~Éí¤WXEŽ", - [ - [ - "Sec2.HIFC.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Sec2.HIFC.store", "lemma_FStar.Map.lemma_InDomUpd1", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_Prims.int", "typing_Sec2.HIFC.loc" - ], - 0, - "23bfcc3faa3d62d100fc2e7066692fec" - ], - [ - "Sec2.HIFC.return_hst", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.store", - "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" - ], - 0, - "b6f93c79de589b23186f85603282146d" - ], - [ - "Sec2.HIFC.bind_hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.store", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_534ad67b03834e6d7680c73a9b413139", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "93bad4585a107feffdb844eccb92d886" - ], - [ - "Sec2.HIFC.subcomp_hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Sec2.HIFC.store", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "752a6472a70e987bcc707dde5a26f816" - ], - [ - "Sec2.HIFC.HST", - 1, - 2, - 1, - [ "@query" ], - 0, - "f8efa5de5a2935226018cadc88d63483" - ], - [ - "Sec2.HIFC.HST", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "7f7e5e11531875ae79009c04dd734254" - ], - [ - "Sec2.HIFC.HST", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "deb8f4763953983284dd2760df44469f" - ], - [ - "Sec2.HIFC.no_leakage_k", - 1, - 2, - 1, - [ "@query" ], - 0, - "cbe301779ea24cec8bdd91fb407c4488" - ], - [ - "Sec2.HIFC.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.upd", "equation_Sec2.HIFC.writes", - "int_inversion", - "interpretation_Tm_abs_d8f6311fe730dc1a0e5f2ce486ca7c9a", - "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_Prims.int" - ], - 0, - "dce443e5427beaa0a1fa825ca5584f4d" - ], - [ - "Sec2.HIFC.iread", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.agree_on", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.modifies", - "equation_Sec2.HIFC.no_leakage", "equation_Sec2.HIFC.no_leakage_k", - "equation_Sec2.HIFC.reads", "equation_Sec2.HIFC.related_runs", - "equation_Sec2.HIFC.respects", "equation_Sec2.HIFC.sel", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.upd", "equation_Sec2.HIFC.writes", - "int_inversion", - "interpretation_Tm_abs_1063a06958c00b4b72a910385e4b0f74", - "lemma_FStar.Map.lemma_SelUpd2", "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Map.contains", "typing_Prims.int" - ], - 0, - "5b03379e84d40b7049f360b82c315b66" - ], - [ - "Sec2.HIFC.iwrite", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "equation_Sec2.HIFC.writes", "int_inversion", - "interpretation_Tm_abs_6a0f7f89976d121f804f25efeeaa811b", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Map.upd", "typing_Prims.int", "unit_typing" - ], - 0, - "d29c36ae8fb0cd3bc03140a4322d7eaa" - ], - [ - "Sec2.HIFC.does_not_read_loc_v", - 1, - 2, - 1, - [ "@query" ], - 0, - "29d206394d1b84b92640a29555e49f10" - ], - [ - "Sec2.HIFC.reads_ok_preserves_equal_locs", - 1, - 2, - 1, - [ - "@query", "equation_Sec2.HIFC.agree_on", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs" - ], - 0, - "4f08707c2bc01eb1b46a7c961e2858e1" - ], - [ - "Sec2.HIFC.weaken_reads_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.agree_on", "equation_Sec2.HIFC.label_inclusion", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.reads", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c" - ], - 0, - "ffb8c4b3207dcf374c6fd87bf27d6bc6" - ], - [ - "Sec2.HIFC.reads_ok_does_not_read_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Sec2.HIFC.agree_on", - "equation_Sec2.HIFC.does_not_read_loc", - "equation_Sec2.HIFC.does_not_read_loc_v", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.reads", "equation_Sec2.HIFC.related_runs", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.upd", "int_inversion", - "lemma_FStar.Map.lemma_SelUpd2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c1c63d5cc68c7c904c0b757378643161", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_Prims.int", "typing_Sec2.HIFC.upd" - ], - 0, - "ad604110a8d940582de29d8bd1cf8bd5" - ], - [ - "Sec2.HIFC.flows_equiv_refl", - 1, - 2, - 1, - [ - "@query", "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in" - ], - 0, - "bb00175512c628edc44e828bf8437692" - ], - [ - "Sec2.HIFC.flows_equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", "equation_Sec2.HIFC.loc", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "typing_Sec2.HIFC.flow" - ], - 0, - "1d4d8f085260f85105456c2885f6d184" - ], - [ - "Sec2.HIFC.flows_included_in_union_distr_dest", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union" - ], - 0, - "58e1f70e078f70ce0985e977a3a5742d" - ], - [ - "Sec2.HIFC.flows_included_in_union_distr_src", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union" - ], - 0, - "a808d347df71ab3388237bfa2b69990d" - ], - [ - "Sec2.HIFC.flows_included_in_union", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union" - ], - 0, - "c808b970676ef800042bbf9c03ba239e" - ], - [ - "Sec2.HIFC.bind_ifc_reads_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_104b7610810c4dbe735c2bf3205a6317", - "bool_inversion", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Sec2.HIFC.agree_on", - "equation_Sec2.HIFC.bind_hst", "equation_Sec2.HIFC.bind_ifc_", - "equation_Sec2.HIFC.hifc", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.reads", "equation_Sec2.HIFC.related_runs", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.union", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_63bcd83c24112861c302253aadf3ccd3", - "interpretation_Tm_abs_efbf51204e50a9385498d1fafe717722", - "l_and-interp", "l_quant_interp_f91b6a6f0b8a07ee1c169cd5bd16ad4b", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_534ad67b03834e6d7680c73a9b413139", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Map.contains", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int" - ], - 0, - "ab1ea8d571b854af2019ca305709e1e8" - ], - [ - "Sec2.HIFC.bind_ifc_writes_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_104b7610810c4dbe735c2bf3205a6317", - "Sec2.HIFC_interpretation_Tm_arrow_e2686d5e9b22c9c9b08cc170672d47c4", - "bool_inversion", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.bind_hst", "equation_Sec2.HIFC.bind_ifc_", - "equation_Sec2.HIFC.hifc", "equation_Sec2.HIFC.hst", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.union", "equation_Sec2.HIFC.writes", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_63bcd83c24112861c302253aadf3ccd3", - "interpretation_Tm_abs_efbf51204e50a9385498d1fafe717722", - "l_and-interp", "l_quant_interp_f91b6a6f0b8a07ee1c169cd5bd16ad4b", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.bind_ifc_", - "typing_Sec2.HIFC.union" - ], - 0, - "ca3371a2ba68dd72378d613418ba4a7c" - ], - [ - "Sec2.HIFC.memP_append_or", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "a0a2c2be39f71495da5fb8d3df351fb0" - ], - [ - "Sec2.HIFC.has_flow_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.has_flow", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion" - ], - 0, - "ef37fd75b156ab3c068795a6d622e45c" - ], - [ - "Sec2.HIFC.elim_has_flow_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.has_flow", "equation_Sec2.HIFC.has_flow_1", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "ba5216361c59ad71506433d8eadf04e1" - ], - [ - "Sec2.HIFC.add_source_monotonic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "binder_x_27d89e60993a323069b3aa9641fb434f_0", - "binder_x_27d89e60993a323069b3aa9641fb434f_1", - "binder_x_6e9097a38b3f763e6e9e28ca07b22ddc_3", - "binder_x_a603d743c9b1b6b5f721b071bb0f99d1_2", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.has_flow", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "8c12df7a67f9196ea2f7c40eca280a87" - ], - [ - "Sec2.HIFC.has_flow_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_e2686d5e9b22c9c9b08cc170672d47c4", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.hifc", - "equation_Sec2.HIFC.hst", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.no_leakage", "equation_Sec2.HIFC.no_leakage_k", - "equation_Sec2.HIFC.respects", "equation_Sec2.HIFC.store", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_interpretation_Tm_refine_f07a6491e1047ffd5e981dd730b6e5bc" - ], - 0, - "d661b448a10bf35f7a7e67e901d0d172" - ], - [ - "Sec2.HIFC.bind_hst_no_leakage", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_104b7610810c4dbe735c2bf3205a6317", - "bool_inversion", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.bind_hst", "equation_Sec2.HIFC.bind_ifc_", - "equation_Sec2.HIFC.does_not_read_loc", - "equation_Sec2.HIFC.does_not_read_loc_v", "equation_Sec2.HIFC.hifc", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.modifies", - "equation_Sec2.HIFC.no_leakage", "equation_Sec2.HIFC.no_leakage_k", - "equation_Sec2.HIFC.respects", "equation_Sec2.HIFC.sel", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "equation_Sec2.HIFC.writes", "int_inversion", - "interpretation_Tm_abs_efbf51204e50a9385498d1fafe717722", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_018725da1abdf39e6cd081f25fd130fc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a271d9e51cec2e7af75e321a09a013bd", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "token_correspondence_Sec2.HIFC.bind_ifc_", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.int", - "typing_Sec2.HIFC.sel", "unit_inversion", "unit_typing" - ], - 0, - "d8c14c0c31357cb73716d395793fbe91" - ], - [ - "Sec2.HIFC.bind_ifc_flows_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.bind_hst", "equation_Sec2.HIFC.bind_ifc_", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "function_token_typing_Sec2.HIFC.bind_ifc_", "int_inversion", - "interpretation_Tm_abs_63bcd83c24112861c302253aadf3ccd3", - "interpretation_Tm_abs_efbf51204e50a9385498d1fafe717722", - "l_and-interp", "l_quant_interp_f91b6a6f0b8a07ee1c169cd5bd16ad4b", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_1ec991095bf1c07d5e00e4f41aeed6fc", - "refinement_interpretation_Tm_refine_534ad67b03834e6d7680c73a9b413139" - ], - 0, - "11d9861e4f01ea3dcac7a5b71efb7979" - ], - [ - "Sec2.HIFC.pre_bind", - 1, - 2, - 1, - [ "@query" ], - 0, - "08063a6b0a47e51ea314cdbff52417e7" - ], - [ - "Sec2.HIFC.triple_equiv_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_equiv", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.triple_equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "lemma_FStar.Set.lemma_equal_intro", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Prims.int" - ], - 0, - "cddff4855532e842bef30a7bbf1ed806" - ], - [ - "Sec2.HIFC.add_source_bot", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "binder_x_6e9097a38b3f763e6e9e28ca07b22ddc_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "7a7c85e4e4ef033717f0b014cab2b068" - ], - [ - "Sec2.HIFC.flows_included_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Sec2.HIFC.flows_included_in", "equation_Sec2.HIFC.loc", - "int_inversion" - ], - 0, - "b958f82ea7805e5221bda4f0f1c169b4" - ], - [ - "Sec2.HIFC.flows_equiv_append", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows_equiv" - ], - 0, - "6f1000416f4e583d2b2d185c2c6e8ea5" - ], - [ - "Sec2.HIFC.append_nil_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c0707e476e8bf4db22f1d1041ea46842" - ], - [ - "Sec2.HIFC.left_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.ifc_triple", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.label_equiv", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.triple_equiv", - "equation_Sec2.HIFC.union", "equation_Sec2.HIFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "7189076ad6d15e046fc189b06681634c" - ], - [ - "Sec2.HIFC.right_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.flows_equiv", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow_1", "equation_Sec2.HIFC.ifc_triple", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.label_equiv", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.triple_equiv", - "equation_Sec2.HIFC.union", "equation_Sec2.HIFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.union", "typing_Sec2.HIFC.unit_triple", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "d3f84870af60d29af5bfb8d911e857c0" - ], - [ - "Sec2.HIFC.assoc_hst", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "equation_Sec2.HIFC.add_source", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.ifc_triple", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.lemma_equal_elim", - "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.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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "551f623fb03f055657169bdeacdc3caf" - ], - [ - "Sec2.HIFC.frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_e2686d5e9b22c9c9b08cc170672d47c4", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.HIFC.does_not_read_loc", - "equation_Sec2.HIFC.does_not_read_loc_v", "equation_Sec2.HIFC.hifc", - "equation_Sec2.HIFC.hst", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "equation_Sec2.HIFC.writes", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_b546411220681f4285897c7783351f1e", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c1c63d5cc68c7c904c0b757378643161", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0" - ], - 0, - "4c8ce5417cee756f1c2e54a80b514c38" - ], - [ - "Sec2.HIFC.refine_flow_hifc", - 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", - "Sec2.HIFC_interpretation_Tm_arrow_e2686d5e9b22c9c9b08cc170672d47c4", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.has_flow", - "equation_Sec2.HIFC.hifc", "equation_Sec2.HIFC.hst", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.no_leakage", "equation_Sec2.HIFC.no_leakage_k", - "equation_Sec2.HIFC.respects", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.upd", "equation_Sec2.HIFC.writes", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.upd" - ], - 0, - "0f7f7746d77ee2d99373267871d2f295" - ], - [ - "Sec2.HIFC.consequence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Sec2.HIFC.store", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_kinding_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "a9413e981c987d33cfdf23b8c905eca9" - ], - [ - "Sec2.HIFC.norm_spec", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b048a09c934571565be67bb463c7e1c" - ], - [ - "Sec2.HIFC.norm_spec_inv", - 1, - 2, - 1, - [ "@query" ], - 0, - "f131d0fd462dc5e735e58ef890e33f31" - ], - [ - "Sec2.HIFC.sub_hifc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.HIFC_interpretation_Tm_arrow_e2686d5e9b22c9c9b08cc170672d47c4", - "bool_inversion", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.consequence", - "equation_Sec2.HIFC.flows_included_in", - "equation_Sec2.HIFC.has_flow", "equation_Sec2.HIFC.hifc", - "equation_Sec2.HIFC.hst", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.writes", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_0a16e079ffe167a2e232ab33bbb1a960", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_c41bcf947a2882470c6be718c9c77aa9", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "typing_FStar.Set.mem", "typing_Prims.int", "typing_Sec2.HIFC.upd" - ], - 0, - "767cc85f186a533d0c573d04f2f8e248" - ], - [ - "Sec2.HIFC.append_memP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "99f690584022aa4e0d0a7e3cef4be2c5" - ], - [ - "Sec2.HIFC.weaken_flows_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows_included_in", "equation_Sec2.HIFC.label", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "d7ebcdef185b8d7b3db7a15338892ca3" - ], - [ - "Sec2.HIFC.HIFC", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0" - ], - 0, - "3b7a1e3f39036f178b71e6386a3bc378" - ], - [ - "Sec2.HIFC.HIFC", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Prims.squash", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.Set.mem_union", "lemma_Sec2.HIFC.weaken_flows_append", - "primitive_Prims.op_BarBar", "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_FStar.List.Tot.Base.op_At", "typing_Prims.int", - "typing_Sec2.HIFC.flow" - ], - 0, - "995bb05926e4c3b8e21268e249418d9e" - ], - [ - "Sec2.HIFC.HIFC", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Set.subset", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.Set.mem_union", "lemma_Sec2.HIFC.weaken_flows_append", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.union" - ], - 0, - "698895c036ddd8d01c761a45f38ae24d" - ], - [ - "Sec2.HIFC.read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.iread", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "equation_Sec2.HIFC.writes", "int_inversion", - "interpretation_Tm_abs_1063a06958c00b4b72a910385e4b0f74", - "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_Prims.int" - ], - 0, - "b60fe6b803473f5666b4f005ba0a5881" - ], - [ - "Sec2.HIFC.write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.iwrite", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.no_leakage", - "equation_Sec2.HIFC.no_leakage_k", "equation_Sec2.HIFC.reads", - "equation_Sec2.HIFC.related_runs", "equation_Sec2.HIFC.respects", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.store", "equation_Sec2.HIFC.upd", - "equation_Sec2.HIFC.writes", "int_inversion", - "interpretation_Tm_abs_6a0f7f89976d121f804f25efeeaa811b", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_FStar.Map.upd", "typing_Prims.int", "unit_typing" - ], - 0, - "3372c4f92c19d60f42bfbe074a0fed57" - ], - [ - "Sec2.HIFC.lift_PURE_HIFC", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_FStar.Pervasives.Native.snd", - "equation_Prims.eqtype", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.hifc", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.no_leakage", "equation_Sec2.HIFC.no_leakage_k", - "equation_Sec2.HIFC.reads", "equation_Sec2.HIFC.related_runs", - "equation_Sec2.HIFC.respects", "equation_Sec2.HIFC.return", - "equation_Sec2.HIFC.sel", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.upd", "equation_Sec2.HIFC.writes", - "int_inversion", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_748d8505b2957efd59cc2dc91d9c8b54", - "interpretation_Tm_abs_d8f6311fe730dc1a0e5f2ce486ca7c9a", - "l_imp-interp", "l_quant_interp_867243bbcc0c287708af6a37a421be53", - "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_013102ccaffb74d33eaab4c36743a80c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_e42d42a18df6499f852ef32d15f0eed0", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "typing_Prims.int", "typing_Prims.l_True", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_748d8505b2957efd59cc2dc91d9c8b54" - ], - 0, - "5cbe424cd62d2489e2ba8e16bd50e110" - ], - [ - "Sec2.HIFC.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "f85dd1df6620a8beeed38c1a51632577" - ], - [ - "Sec2.HIFC.refine_flow", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc" - ], - 0, - "7cd2a923493d980477ef32f0b1698291" - ], - [ - "Sec2.HIFC.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "int_inversion", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.single" - ], - 0, - "10e1d294e4721bb9b015b2976c7922ef" - ], - [ - "Sec2.HIFC.test2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "a4a51ea7ad55575f8e7e187b6b69ea20" - ], - [ - "Sec2.HIFC.test3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "e8768945eb7f423a64401b3cd27d8322" - ], - [ - "Sec2.HIFC.test3_lab", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.low", - "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "50119a898b2592c8edc732e0b3b34ee2" - ], - [ - "Sec2.HIFC.test3_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "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_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "273cf91d2781712488f5b23ea898eec9" - ], - [ - "Sec2.HIFC.test4", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "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_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "59f94d42f929bc41273b55e408b329ed" - ], - [ - "Sec2.HIFC.test5", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "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_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "ec42644d3a636f963b1be274f7847b75" - ], - [ - "Sec2.HIFC.test6", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.low", - "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "a291cfc6c86dbf1777e9143adffb4dc4" - ], - [ - "Sec2.HIFC.test7", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.low", - "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "91e8fd166fb961be172eab641fd2bc19" - ], - [ - "Sec2.HIFC.test8", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "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_eeba74df603eda36cf3875c2e80291f6", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.high", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.single", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "d784effe622780c3a478a0a73ee8719f" - ], - [ - "Sec2.HIFC.test_cond", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.single", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "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_eeba74df603eda36cf3875c2e80291f6", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.high", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.single", - "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "5139e68dd32c9f5af56a522b8789bdcf" - ], - [ - "Sec2.HIFC.refine_test8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Sec2.HIFC.has_flow_1", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.sel", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.union", "equation_Sec2.HIFC.upd", - "int_inversion", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", "typing_Sec2.HIFC.low", - "typing_Sec2.HIFC.single" - ], - 0, - "c22180a780d733cba988b7f941d7998a" - ], - [ - "Sec2.HIFC.test9", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.modifies", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "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_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.high", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.single", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "42d3b58b71c56fb8b584b7ffb2c5ea75" - ], - [ - "Sec2.HIFC.refine_test9", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Sec2.HIFC.has_flow_1", - "equation_Sec2.HIFC.href", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.low", "equation_Sec2.HIFC.lref", - "equation_Sec2.HIFC.ref", "equation_Sec2.HIFC.sel", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.store", - "equation_Sec2.HIFC.union", "equation_Sec2.HIFC.upd", - "int_inversion", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e49ec169ea1c198e613d500cb9096326", - "refinement_interpretation_Tm_refine_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", "typing_Sec2.HIFC.low", - "typing_Sec2.HIFC.single" - ], - 0, - "6fa888b61ebb600277cc0221ce8b8f7f" - ], - [ - "Sec2.HIFC.test10", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.op_At", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.cr0", "typing_Sec2.HIFC.cr1", - "typing_Sec2.HIFC.cw1", "typing_Sec2.HIFC.cw2", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.union" - ], - 0, - "9ca6807a1e634f15bf098870dee1b761" - ], - [ - "Sec2.HIFC.test12", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Prims.l_False", "equation_Sec2.HIFC.add_source", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "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.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.cr0", - "typing_Sec2.HIFC.cr1", "typing_Sec2.HIFC.cw1", - "typing_Sec2.HIFC.cw2", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "75c18f82ab0cac6f2a7ae5856106d9a9" - ], - [ - "Sec2.HIFC.test12_1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Prims.l_False", "equation_Sec2.HIFC.add_source", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "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.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.cr0", - "typing_Sec2.HIFC.cr1", "typing_Sec2.HIFC.cw1", - "typing_Sec2.HIFC.cw2", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "40231ff318288eddcde04efa2c87c1e2" - ], - [ - "Sec2.HIFC.test13", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.cr0", - "typing_Sec2.HIFC.cw1", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label" - ], - 0, - "9a09d7cd4fac34dddada921cf5f40c1e" - ], - [ - "Sec2.HIFC.test14", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Prims.l_False", "equation_Sec2.HIFC.add_source", - "equation_Sec2.HIFC.bot", "equation_Sec2.HIFC.flow", - "equation_Sec2.HIFC.flows", "equation_Sec2.HIFC.label", - "equation_Sec2.HIFC.label_inclusion", "equation_Sec2.HIFC.loc", - "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "l_or-interp", "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.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.HIFC.add_source", - "typing_Sec2.HIFC.bot", "typing_Sec2.HIFC.cr0", - "typing_Sec2.HIFC.cr1", "typing_Sec2.HIFC.cw1", - "typing_Sec2.HIFC.cw2", "typing_Sec2.HIFC.flow", - "typing_Sec2.HIFC.label", "typing_Sec2.HIFC.union", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "2d9108685c07c16d4d9b178ed88587c3" - ], - [ - "Sec2.HIFC.test15", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.HIFC_interpretation_Tm_arrow_58c4a2d168f0eb2ac650669cc2ec9f76", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.HIFC.add_source", "equation_Sec2.HIFC.bot", - "equation_Sec2.HIFC.flow", "equation_Sec2.HIFC.flows", - "equation_Sec2.HIFC.label", "equation_Sec2.HIFC.label_inclusion", - "equation_Sec2.HIFC.loc", "equation_Sec2.HIFC.low", - "equation_Sec2.HIFC.lref", "equation_Sec2.HIFC.ref", - "equation_Sec2.HIFC.single", "equation_Sec2.HIFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "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_eeba74df603eda36cf3875c2e80291f6", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.HIFC.add_source", "typing_Sec2.HIFC.bot", - "typing_Sec2.HIFC.flow", "typing_Sec2.HIFC.label", - "typing_Sec2.HIFC.low", "typing_Sec2.HIFC.single", - "typing_Tm_abs_d08aeea6ff1dc3fc36f7ff3217fea021" - ], - 0, - "db6dc3e8f1d6374eec8d84e2e7d273f0" - ], - [ - "Sec2.HIFC.ist_exn", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "793ef15c4bbc29d68aa0d6c2d8f707dd" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/Sec2.IFC.fst.hints b/examples/layeredeffects/Sec2.IFC.fst.hints deleted file mode 100644 index 9104116a30b..00000000000 --- a/examples/layeredeffects/Sec2.IFC.fst.hints +++ /dev/null @@ -1,1860 +0,0 @@ -[ - "\u0000ùŽ\u00049¿›µe\u0004\u000fü|¥\u000b", - [ - [ - "Sec2.IFC.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Sec2.IFC.store", "lemma_FStar.Map.lemma_InDomUpd1", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Sec2.IFC.loc" - ], - 0, - "51f11be864019d8ca3fee77d4fc76cfe" - ], - [ - "Sec2.IFC.flows_equiv_refl", - 1, - 2, - 1, - [ - "@query", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in" - ], - 0, - "41a896332bd00fad06ac3b562afca848" - ], - [ - "Sec2.IFC.flows_equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", "equation_Sec2.IFC.loc", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "typing_Sec2.IFC.flow" - ], - 0, - "f985c3b88f91dca41751dd1818feadc5" - ], - [ - "Sec2.IFC.flows_included_in_union_distr_dest", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.union" - ], - 0, - "e3135ec534ce69b691b868f9264f9225" - ], - [ - "Sec2.IFC.flows_included_in_union_distr_src", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.union" - ], - 0, - "37f9582f733c5e7ddf0846777d77da71" - ], - [ - "Sec2.IFC.flows_included_in_union", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.union" - ], - 0, - "1cc588a813b6fac35b7280274e1d8d42" - ], - [ - "Sec2.IFC.iread", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.IFC.bot", "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", "equation_Sec2.IFC.havoc", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.no_leakage", - "equation_Sec2.IFC.no_leakage_k", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.sel", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.store", - "equation_Sec2.IFC.upd", "equation_Sec2.IFC.writes_ok", - "int_inversion", - "interpretation_Tm_abs_f9788e1f12855bace881586c848b0a80", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6d681e53fecfb8a9f882e89abeee7e86" - ], - [ - "Sec2.IFC.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.IFC.bot", "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", "equation_Sec2.IFC.havoc", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.no_leakage", - "equation_Sec2.IFC.no_leakage_k", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.sel", - "equation_Sec2.IFC.store", "equation_Sec2.IFC.upd", - "equation_Sec2.IFC.writes_ok", "int_inversion", - "interpretation_Tm_abs_f7125a16a74fe6ca36f116fab4a3d04f", - "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2eba2bb1776add9a384f94f51a51ca22" - ], - [ - "Sec2.IFC.iwrite", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Sec2.IFC.bot", "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", "equation_Sec2.IFC.havoc", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.no_leakage", - "equation_Sec2.IFC.no_leakage_k", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.sel", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.store", - "equation_Sec2.IFC.upd", "equation_Sec2.IFC.writes_ok", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6a9459381570ade718401eb6bbf14e6f", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Map.upd", "typing_Prims.int", "typing_Sec2.IFC.havoc", - "unit_typing" - ], - 0, - "168cf3fd85092e042c9f0ee37a898f13" - ], - [ - "Sec2.IFC.bind_comp_reads_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_6a21a9dd3935da52eae1117173c72879", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Prims.eqtype", "equation_Sec2.IFC.bind_comp", - "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", "equation_Sec2.IFC.havoc", - "equation_Sec2.IFC.ist", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.sel", "equation_Sec2.IFC.store", - "equation_Sec2.IFC.union", "equation_Sec2.IFC.upd", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_bf45e06dbb3468d76d59a76256e00ab5", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Map.contains", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.havoc", "typing_Sec2.IFC.sel", - "typing_Sec2.IFC.union" - ], - 0, - "fd811ee14a40871c6049df8e9db42d9f" - ], - [ - "Sec2.IFC.bind_comp_writes_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_6a21a9dd3935da52eae1117173c72879", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Sec2.IFC.bind_comp", "equation_Sec2.IFC.comp", - "equation_Sec2.IFC.ist", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.store", - "equation_Sec2.IFC.union", "equation_Sec2.IFC.writes_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_bf45e06dbb3468d76d59a76256e00ab5", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.IFC.bind_comp", "typing_Sec2.IFC.union" - ], - 0, - "23b8cdb4b0c321f301e0260cefdf5072" - ], - [ - "Sec2.IFC.memP_append_or", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "417ad932fb5512f89de6c3ff938818b7" - ], - [ - "Sec2.IFC.has_flow_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.has_flow", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion" - ], - 0, - "5fbe343325891ce21ebc307a9769ec1b" - ], - [ - "Sec2.IFC.elim_has_flow_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.has_flow", "equation_Sec2.IFC.has_flow_1", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.IFC.add_source", "typing_Sec2.IFC.bot", - "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "3f35351b4836102203ebacbabba9b093" - ], - [ - "Sec2.IFC.add_source_monotonic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "binder_x_c74f07735d913b161f13d6df4e57ecf4_2", - "binder_x_fa6e1be0486be64ecef6aab719d0b3b6_0", - "binder_x_fa6e1be0486be64ecef6aab719d0b3b6_1", - "binder_x_fc5fda1da79fb781e5bcc8da200ac4c2_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.has_flow", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "d8fc1c0930d199c39045abdb4a8fa60a" - ], - [ - "Sec2.IFC.has_flow_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "equation_FStar.Pervasives.Native.snd", "equation_Sec2.IFC.ist", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.no_leakage", - "equation_Sec2.IFC.no_leakage_k", "equation_Sec2.IFC.respects_flows", - "equation_Sec2.IFC.store", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124" - ], - 0, - "e4747a95cae36313311d89e5602e0aff" - ], - [ - "Sec2.IFC.bind_comp_no_leakage", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_6a21a9dd3935da52eae1117173c72879", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "bool_inversion", "equation_FStar.Pervasives.Native.snd", - "equation_Prims.eqtype", "equation_Sec2.IFC.bind_comp", - "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", "equation_Sec2.IFC.havoc", - "equation_Sec2.IFC.ist", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.no_leakage", - "equation_Sec2.IFC.no_leakage_k", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.sel", - "equation_Sec2.IFC.store", "equation_Sec2.IFC.upd", - "equation_Sec2.IFC.writes_ok", "int_inversion", - "interpretation_Tm_abs_bf45e06dbb3468d76d59a76256e00ab5", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "token_correspondence_Sec2.IFC.bind_comp", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Set.mem", "typing_Prims.int", "typing_Sec2.IFC.havoc", - "typing_Sec2.IFC.sel", "typing_Sec2.IFC.upd", "unit_inversion", - "unit_typing" - ], - 0, - "6467893fc47235f280d70aa77ded2f49" - ], - [ - "Sec2.IFC.bind_comp_flows_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.IFC.bind_comp", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.no_leakage", "equation_Sec2.IFC.no_leakage_k", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.store", - "function_token_typing_Sec2.IFC.bind_comp", "int_inversion", - "interpretation_Tm_abs_bf45e06dbb3468d76d59a76256e00ab5", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "3ddafd9a8c8f1e540b9fe9314fe72707" - ], - [ - "Sec2.IFC.triple_equiv_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_equiv", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.triple_equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "lemma_FStar.Set.lemma_equal_intro", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Prims.int" - ], - 0, - "a18eef090a5c6b3b7dc37fb0fa396f05" - ], - [ - "Sec2.IFC.add_source_bot", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "binder_x_fc5fda1da79fb781e5bcc8da200ac4c2_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "2653a9599a5a69523563d50dcfcb120d" - ], - [ - "Sec2.IFC.left_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.comp_triple", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_equiv", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.triple_equiv", "equation_Sec2.IFC.union", - "equation_Sec2.IFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "09ba1d07ac55bdc22eaa71755c573466" - ], - [ - "Sec2.IFC.flows_included_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Sec2.IFC.flows_included_in", "equation_Sec2.IFC.loc", - "int_inversion" - ], - 0, - "6e1065e8673daaebe29bf0040e9ec5f4" - ], - [ - "Sec2.IFC.flows_equiv_append", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows_equiv" - ], - 0, - "f1be388c4ac41e46f4e0625ec1c7a637" - ], - [ - "Sec2.IFC.append_nil_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f85d2f9ab2ba39ff306beec9bbe1eb61" - ], - [ - "Sec2.IFC.right_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.snd", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.comp_triple", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_equiv", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_equiv", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.triple_equiv", "equation_Sec2.IFC.union", - "equation_Sec2.IFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.IFC.add_source", "typing_Sec2.IFC.bot", - "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.union", "typing_Sec2.IFC.unit_triple", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "0c3e421b501c1c22f4fc3ec08ed2ddd6" - ], - [ - "Sec2.IFC.assoc_comp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "equation_Sec2.IFC.add_source", - "equation_Sec2.IFC.bot", "equation_Sec2.IFC.comp_triple", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "lemma_FStar.Set.lemma_equal_elim", - "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.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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "874668e62680baf1656fb7fd09e393cf" - ], - [ - "Sec2.IFC.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_6a21a9dd3935da52eae1117173c72879", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Sec2.IFC.bind_comp", "equation_Sec2.IFC.comp", - "equation_Sec2.IFC.ist", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.store", - "equation_Sec2.IFC.union", "equation_Sec2.IFC.writes_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_bf45e06dbb3468d76d59a76256e00ab5", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124", - "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Sec2.IFC.bind_comp", "typing_Sec2.IFC.union" - ], - 0, - "edc39f0a734aaa7ecee8e876a9be4c42" - ], - [ - "Sec2.IFC.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Sec2.IFC_interpretation_Tm_arrow_759e18ccc7e1efb3eb6ee324f82a5eb3", - "bool_inversion", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Sec2.IFC.does_not_read_loc", - "equation_Sec2.IFC.does_not_read_loc_v", - "equation_Sec2.IFC.flows_included_in", "equation_Sec2.IFC.has_flow", - "equation_Sec2.IFC.havoc", "equation_Sec2.IFC.ist", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.reads_ok", - "equation_Sec2.IFC.respects_flows", "equation_Sec2.IFC.sel", - "equation_Sec2.IFC.store", "equation_Sec2.IFC.upd", - "equation_Sec2.IFC.writes_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_SelUpd1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d536d7bc42424184ea369c3f74db3f9", - "refinement_interpretation_Tm_refine_3882e0a29178cad399fa4562cf903124", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Set.mem", "typing_Prims.int", "typing_Sec2.IFC.havoc" - ], - 0, - "599d723f36bddb348076dbf4fd28bdd6" - ], - [ - "Sec2.IFC.IST", - 1, - 2, - 1, - [ "@query" ], - 0, - "a8789803898f53757c2998b12a3f3501" - ], - [ - "Sec2.IFC.IST", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Set.subset", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc" - ], - 0, - "863cfbe7ce10538fe33123039d18b8e0" - ], - [ - "Sec2.IFC.IST", - 3, - 2, - 1, - [ - "@query", "equation_FStar.Set.subset", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc" - ], - 0, - "4529774dc4aba9ad7971e868c561d40e" - ], - [ - "Sec2.IFC.lift_pure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_51a293e6f65783e998acc4606bc5b841", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_quant_interp_6fdcf0b18376ab5a542779c96c2012a3", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_51a293e6f65783e998acc4606bc5b841", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "ef76133a1c12ab1e3aad5ba34e3e8598" - ], - [ - "Sec2.IFC.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "c86512ad39da836a8b8fe774b8033bcd" - ], - [ - "Sec2.IFC.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "int_inversion", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_353aa5da4c09ad1963b749c9c187fe93", - "typing_Sec2.IFC.add_source", "typing_Sec2.IFC.bot", - "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.single" - ], - 0, - "8f8cd79f9524e5a4e73f8863385eaaa5" - ], - [ - "Sec2.IFC.test2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "d1328f9adafea98043745a9672216427" - ], - [ - "Sec2.IFC.test3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "d1edbffea96e0876173c205a57769f5c" - ], - [ - "Sec2.IFC.test3_lab", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.high", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.low", "typing_Sec2.IFC.single", - "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "3b2f46c5dbd79afbe9e86ca1f3cd53b8" - ], - [ - "Sec2.IFC.test3_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "0586b45a331993b83ea8401b379141f1" - ], - [ - "Sec2.IFC.test4", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "8adc7322c1756dedf8713919151ea996" - ], - [ - "Sec2.IFC.test5", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "20385d03a93733266743325a6ac609bb" - ], - [ - "Sec2.IFC.test6", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.high", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.low", "typing_Sec2.IFC.single", - "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "77d5fc86667283a83c9a63bb5109e7fa" - ], - [ - "Sec2.IFC.test7", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.high", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.low", "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "98816bcad5a7ec59b39c0d91776ec188" - ], - [ - "Sec2.IFC.test8", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_353aa5da4c09ad1963b749c9c187fe93", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.high", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.low", "typing_Sec2.IFC.single", - "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "3972536800ef39384d1b104d3397fcf2" - ], - [ - "Sec2.IFC.test9", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.l_False", "equation_Sec2.IFC.add_source", - "equation_Sec2.IFC.bot", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.href", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.low", - "equation_Sec2.IFC.lref", "equation_Sec2.IFC.ref", - "equation_Sec2.IFC.single", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.high", "typing_Sec2.IFC.label", - "typing_Sec2.IFC.low", "typing_Sec2.IFC.single", - "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "61b2facc1076a32ee77683e9244bcb54" - ], - [ - "Sec2.IFC.test10", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.op_At", - "typing_Sec2.IFC.add_source", "typing_Sec2.IFC.bot", - "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cr1", "typing_Sec2.IFC.cw1", - "typing_Sec2.IFC.cw2", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union" - ], - 0, - "edfedc1622fd9978bbcdf0a7d444359e" - ], - [ - "Sec2.IFC.test12", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cr1", - "typing_Sec2.IFC.cw1", "typing_Sec2.IFC.cw2", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "0df9f259a186c53f32a18c40832bccce" - ], - [ - "Sec2.IFC.test12_1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cr1", - "typing_Sec2.IFC.cw1", "typing_Sec2.IFC.cw2", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "cf586a0ffd7ce301a58cea4e4e256b77" - ], - [ - "Sec2.IFC.test13", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.flow", - "equation_Sec2.IFC.flows", "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.label", "equation_Sec2.IFC.label_inclusion", - "equation_Sec2.IFC.loc", "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cw1", - "typing_Sec2.IFC.flow", "typing_Sec2.IFC.label" - ], - 0, - "addc28817cb809ae6c523c2082aebcae" - ], - [ - "Sec2.IFC.test14", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.cr0", "typing_Sec2.IFC.cr1", - "typing_Sec2.IFC.cw1", "typing_Sec2.IFC.cw2", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.union", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "ddcc16dfb245d86c2b2747942eff861d" - ], - [ - "Sec2.IFC.test15", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Sec2.IFC_interpretation_Tm_arrow_52185b3af00691827ab4ecf559769ef0", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Sec2.IFC.add_source", "equation_Sec2.IFC.bot", - "equation_Sec2.IFC.flow", "equation_Sec2.IFC.flows", - "equation_Sec2.IFC.flows_included_in", - "equation_Sec2.IFC.has_flow_1", "equation_Sec2.IFC.label", - "equation_Sec2.IFC.label_inclusion", "equation_Sec2.IFC.loc", - "equation_Sec2.IFC.low", "equation_Sec2.IFC.lref", - "equation_Sec2.IFC.ref", "equation_Sec2.IFC.single", - "equation_Sec2.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_e23a541d73a82f5040769a7a2a0e4818", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_353aa5da4c09ad1963b749c9c187fe93", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_Prims.int", "typing_Sec2.IFC.add_source", - "typing_Sec2.IFC.bot", "typing_Sec2.IFC.flow", - "typing_Sec2.IFC.label", "typing_Sec2.IFC.low", - "typing_Sec2.IFC.single", - "typing_Tm_abs_e23a541d73a82f5040769a7a2a0e4818" - ], - 0, - "ece505e01f6de783ec83ba28462afaa0" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/TestHoareST.fst.hints b/examples/layeredeffects/TestHoareST.fst.hints deleted file mode 100644 index 6ba599ab57c..00000000000 --- a/examples/layeredeffects/TestHoareST.fst.hints +++ /dev/null @@ -1,104 +0,0 @@ -[ - "n©©n¦\u0018\u0019\u0017M\u001dé7Áô", - [ - [ - "TestHoareST.test", - 1, - 0, - 4, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "1c28beb3c09c56488da75646bf367dd3" - ], - [ - "TestHoareST.test2", - 1, - 0, - 4, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "668d065de4955affa24beb091778ea83" - ], - [ - "TestHoareST.f_pure", - 1, - 0, - 4, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "ef1c7ec32ec3abd42eb02588cb915334" - ], - [ - "TestHoareST.test3", - 1, - 0, - 4, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a6ec23256767c16697f6123e35452f5c" - ], - [ - "TestHoareST.test4", - 1, - 0, - 4, - [ "@query", "equation_TestHoareST.f_pure" ], - 0, - "9537c00fd495b277a2e48daec0222e9a" - ], - [ - "TestHoareST.test6", - 1, - 0, - 4, - [ "@query", "equation_TestHoareST.f_pure" ], - 0, - "5d109f0cc85ad201b330d1a1bbb055ac" - ], - [ - "TestHoareST.test8", - 1, - 0, - 4, - [ "@query" ], - 0, - "741435e48635723c0ef304cdb9189e05" - ], - [ - "TestHoareST.test9", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb7fc47f2b44a122eb98c2791efa460b" - ], - [ - "TestHoareST.test11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "447a32271fc1b7e30c9d908ad3089ce8" - ], - [ - "TestHoareST.test13", - 1, - 2, - 1, - [ "@query" ], - 0, - "9fa1059a9b004ff8611a65454fc66a7a" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/Z3EncodingIssue.fst b/examples/layeredeffects/Z3EncodingIssue.fst index cccd9886479..922c71a8c83 100644 --- a/examples/layeredeffects/Z3EncodingIssue.fst +++ b/examples/layeredeffects/Z3EncodingIssue.fst @@ -15,8 +15,6 @@ *) module Z3EncodingIssue -#set-options "--ext 'context_pruning='" // working around a quirk with unfoldings in FStar.Integers.uint_8, which gets pruned away but apparently is needed - /// This module illustrates a z3 encoding issue when a layered effect is written in a particular style /// Suppose we want to write an effect that works on a single global buffer diff --git a/examples/layeredeffects/Z3EncodingIssue.fst.hints b/examples/layeredeffects/Z3EncodingIssue.fst.hints deleted file mode 100644 index a74d97cc9de..00000000000 --- a/examples/layeredeffects/Z3EncodingIssue.fst.hints +++ /dev/null @@ -1,196 +0,0 @@ -[ - " ã\u001bÀ»-6\u0017_\u0014÷\u0003\u007f¼cñ", - [ - [ - "Z3EncodingIssue.return", - 1, - 2, - 1, - [ "@query" ], - 0, - "364953cc0608230e64f0ca745b4c5178" - ], - [ - "Z3EncodingIssue.subcomp", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Integers.uint_8", - "equation_LowStar.Buffer.buffer", "equation_Z3EncodingIssue.post_t", - "equation_Z3EncodingIssue.u8", - "function_token_typing_FStar.Integers.uint_8", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_Tm_abs_92846d9a5a1b10cf09c1c73a9dc317f5", - "typing_Z3EncodingIssue.buf" - ], - 0, - "b31486efa17f74909f8a5370cd6c6bf2" - ], - [ - "Z3EncodingIssue.CHACHA", - 1, - 2, - 1, - [ "@query" ], - 0, - "fe61f8c0ec2100781c8ddd5f9e64d4d1" - ], - [ - "Z3EncodingIssue.CHACHA", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a3e4fbe5251734003fa31907bec9f999" - ], - [ - "Z3EncodingIssue.CHACHA", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "2f71c6b058e2806798941351ecd0f8a6" - ], - [ - "Z3EncodingIssue.lift_div_chacha", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "interpretation_Tm_abs_e8e7dd3fad251651880a411e491cc508", - "l_quant_interp_b5171de4a304faabedc012f6b839d31f", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "typing_Tm_abs_e8e7dd3fad251651880a411e491cc508" - ], - 0, - "ab282670fdccaa29d72056a35c5c6058" - ], - [ - "Z3EncodingIssue.chacha_fn_ok", - 1, - 2, - 1, - [ "@query" ], - 0, - "87a1d48605011e3dab8a65da034ab263" - ], - [ - "Z3EncodingIssue.hreturn", - 1, - 2, - 1, - [ "@query" ], - 0, - "367e49062008373edf6cf01345e8b522" - ], - [ - "Z3EncodingIssue.hsubcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Integers.int", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Z3EncodingIssue.hpost_t", - "function_token_typing_FStar.Integers.int", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", - "typing_Tm_abs_dff9b4530bd8ab75b013bf0e0703182c", - "typing_Z3EncodingIssue.state" - ], - 0, - "d54bee93cbaed9da0ad0f3b07d77710e" - ], - [ - "Z3EncodingIssue.REF", - 1, - 2, - 1, - [ "@query" ], - 0, - "6921eb44b1485226634f65c4aa911765" - ], - [ - "Z3EncodingIssue.REF", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "71b5149cd71eeb41b62f4b952cab123c" - ], - [ - "Z3EncodingIssue.REF", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "f5abc39ecc8660b965f3278934b993ff" - ], - [ - "Z3EncodingIssue.lift_div_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_a0cb05867128c2eb9c8989bdba119d4c", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "l_quant_interp_484c4546d233ef5202deee8c490f22b1", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_a0cb05867128c2eb9c8989bdba119d4c", - "typing_Tm_abs_d0f415a5361a9d7988d8e425dc193472" - ], - 0, - "c64f48eb6adc9f32fb738d145f26267b" - ], - [ - "Z3EncodingIssue.ref_hfn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Integers.int", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "function_token_typing_FStar.Integers.int", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_Z3EncodingIssue.state", - "unit_typing" - ], - 0, - "c5399711226d4ff2eb6e453dfd823614" - ] - ] -] \ No newline at end of file diff --git a/examples/layeredeffects/extraction/ParametricST.fst.hints b/examples/layeredeffects/extraction/ParametricST.fst.hints deleted file mode 100644 index 6a564d3f604..00000000000 --- a/examples/layeredeffects/extraction/ParametricST.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "€$YÈð,åÚÜf{\r\u0001»Ó‘", [] ] \ No newline at end of file diff --git a/examples/low-mitls-experiments/HSL.fst.hints b/examples/low-mitls-experiments/HSL.fst.hints deleted file mode 100644 index d2f3ca783b5..00000000000 --- a/examples/low-mitls-experiments/HSL.fst.hints +++ /dev/null @@ -1,590 +0,0 @@ -[ - "—ÒD`LY½dwʳÙlè-", - [ - [ - "HSL.null_terminator_invariant_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a8a112ddaa300c0db1c39eb6f6d9a1d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "0006afc805cc397801a1a07ac1dc4530" - ], - [ - "HSL.null_terminator_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" - ], - 0, - "7f5c7163ac468b8cd7abd6eb6eb00785" - ], - [ - "HSL.msgs_list_invariant_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c60b54280a77f4bd2e7fd9d1a37a0bc9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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_LowStar.Monotonic.Buffer.len" - ], - 0, - "bb5178efe8a3bd671f2d3ee482abb0b5" - ], - [ - "HSL.msgs_list_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" - ], - 0, - "5def8a3b3077afa6d94cf5df715899bc" - ], - [ - "HSL.hsl_invariant_predicate", - 1, - 2, - 1, - [ "@query" ], - 0, - "d51821b58af9f69a13cc690d4a820f23" - ], - [ - "HSL.lemma_hsl_invariant_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_HSL.hsl_invariant", "fuel_guarded_inversion_HSL.hsl_state", - "l_and-interp", "l_quant_interp_a4a9944f58922dca7cbeba39425165f0", - "l_quant_interp_c201aaa20bdc47f8fa03cb815d14c900" - ], - 0, - "c976b6558816d33965ba854f3bd6d1b7" - ], - [ - "HSL.hsl_footprint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_HSL.hsl_get_buf", "equation_HSL.hsl_get_len", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_HSL.hsl_state", "int_inversion", - "lemma_HSL.lemma_hsl_invariant_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ef00b75ed430cf3be8f69ce468eb5384", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fd5dd5dc18c41c7fea5974520194f37f", - "typing_FStar.UInt32.v", "typing_HSL.__proj__Mk_state__item__buf" - ], - 0, - "28c2ae112dd057ab5ca9db35a000db54" - ], - [ - "HSL.lemma_frame_hsl_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_844aedafe2486882415eb7c5e30e7630" - ], - 0, - "6d7bd4e2ac86250adef6fa46bd57b98c" - ], - [ - "HSL.lemma_frame_hsl_invariant", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_HSL.hsl_footprint", - "equation_HSL.hsl_get_buf", "equation_HSL.hsl_get_len", - "equation_HSL.hsl_get_msgs", "equation_HSL.hsl_get_p0", - "equation_HSL.hsl_get_p1", "equation_HSL.hsl_invariant", - "equation_HSL.u32", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_Forall", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_HSL.hsl_state", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "l_and-interp", - "l_quant_interp_a4a9944f58922dca7cbeba39425165f0", - "l_quant_interp_c201aaa20bdc47f8fa03cb815d14c900", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "lemma_HSL.lemma_hsl_invariant_elim", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_mreference_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_844aedafe2486882415eb7c5e30e7630", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_HSL.hsl_get_buf", "typing_HSL.hsl_get_len", - "typing_HSL.hsl_get_msgs", "typing_HSL.hsl_get_p0", - "typing_HSL.hsl_get_p1", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", "typing_Prims.int" - ], - 0, - "f7cdddd3a934b12e9cb0feee25c66afe" - ], - [ - "HSL.hsl_create", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "data_elim_HSL.Mk_state", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "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.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.lte", "equation_HSL.hsl_get_buf", - "equation_HSL.hsl_get_len", "equation_HSL.hsl_get_msgs", - "equation_HSL.hsl_get_p0", "equation_HSL.hsl_get_p1", - "equation_HSL.hsl_invariant", "equation_HSL.u32", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "l_and-interp", - "l_quant_interp_a4a9944f58922dca7cbeba39425165f0", - "l_quant_interp_c201aaa20bdc47f8fa03cb815d14c900", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "lemma_HSL.lemma_hsl_invariant_elim", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", "proj_equation_HSL.Mk_state_buf", - "proj_equation_HSL.Mk_state_msgs", "proj_equation_HSL.Mk_state_p0", - "proj_equation_HSL.Mk_state_p1", "projection_inverse_BoxBool_proj_0", - "projection_inverse_HSL.Mk_state_buf", - "projection_inverse_HSL.Mk_state_msgs", - "projection_inverse_HSL.Mk_state_p0", - "projection_inverse_HSL.Mk_state_p1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0a6bdb30ebb24a7f84b6a32ce0c4847d", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7aad316d08304b8818051be22bee75a2", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ef00b75ed430cf3be8f69ce468eb5384", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f62e1a2d7b2daf92ee7f0e394f07f5bc", - "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_HSL.__proj__Mk_state__item__buf", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", "typing_Prims.int" - ], - 0, - "2efe5399e0a22958353a1f15f0060d17" - ], - [ - "HSL.aux_process", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.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_31ba2ba137bbe10991e35a6b5100aff9", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_624a5331534c5a34112eeedb204da249", - "refinement_interpretation_Tm_refine_8bd57957fe7ea59266573cff5fea60d6", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_edee1dfa22cc3b6044b2ad94558dff95", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "e3a39852842cc1e52b6aca38f0229bbd" - ], - [ - "HSL.hsl_process", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.list", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_HSL.hsl_get_buf", - "equation_HSL.hsl_get_len", "equation_HSL.hsl_get_msgs", - "equation_HSL.hsl_get_p0", "equation_HSL.hsl_get_p1", - "equation_HSL.hsl_invariant", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_HSL.hsl_state", - "function_token_typing_FStar.Heap.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", "l_and-interp", - "l_quant_interp_a4a9944f58922dca7cbeba39425165f0", - "l_quant_interp_c201aaa20bdc47f8fa03cb815d14c900", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_HSL.lemma_hsl_invariant_elim", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_mreference_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__4", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__5", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_649db97cce1aba2fd9868aa7323f1099", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8bd57957fe7ea59266573cff5fea60d6", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_c8e9dfac8643ae1b439b987915f2ab76", - "refinement_interpretation_Tm_refine_d4ddb2b531f9cb00e726895d7c42a21a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.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.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_HSL.hsl_get_buf", - "typing_HSL.hsl_get_len", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", "typing_Prims.int" - ], - 0, - "5867a89a1df6e219438d6532ad1b6914" - ] - ] -] \ No newline at end of file diff --git a/examples/low-mitls-experiments/HSL.fsti.hints b/examples/low-mitls-experiments/HSL.fsti.hints deleted file mode 100644 index 574f8b7945c..00000000000 --- a/examples/low-mitls-experiments/HSL.fsti.hints +++ /dev/null @@ -1,150 +0,0 @@ -[ - "&ùÒ,m;µÙ\u0016R\u007fð*\u0002\u0013“", - [ - [ - "HSL.null_terminator_invariant_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1a8a112ddaa300c0db1c39eb6f6d9a1d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "a455318d38a0b95299a4d74eed17cb8a" - ], - [ - "HSL.null_terminator_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" - ], - 0, - "676f07713c146720f54787125286a48a" - ], - [ - "HSL.msgs_list_invariant_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_HSL.u32", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c60b54280a77f4bd2e7fd9d1a37a0bc9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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" - ], - 0, - "bb5178efe8a3bd671f2d3ee482abb0b5" - ], - [ - "HSL.msgs_list_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.sel", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_0e73a852e7d03abf28b794a46e41d7ef" - ], - 0, - "5def8a3b3077afa6d94cf5df715899bc" - ], - [ - "HSL.hsl_invariant_predicate", - 1, - 2, - 1, - [ "@query" ], - 0, - "d51821b58af9f69a13cc690d4a820f23" - ], - [ - "HSL.hsl_footprint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_HSL.lemma_hsl_invariant_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fd5dd5dc18c41c7fea5974520194f37f", - "typing_FStar.UInt32.v" - ], - 0, - "6564d1b6363397be7b9c40eb7ca41db7" - ], - [ - "HSL.lemma_frame_hsl_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_844aedafe2486882415eb7c5e30e7630" - ], - 0, - "2a080b5e1e09ca5006d3649d003f257e" - ] - ] -] \ No newline at end of file diff --git a/examples/low-mitls-experiments/ImmutableBuffer.fst.hints b/examples/low-mitls-experiments/ImmutableBuffer.fst.hints deleted file mode 100644 index ae8078e15fe..00000000000 --- a/examples/low-mitls-experiments/ImmutableBuffer.fst.hints +++ /dev/null @@ -1,468 +0,0 @@ -[ - "žz;HË?âœF¥­Ãâ‹Up", - [ - [ - "ImmutableBuffer.test2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Seq.Base.op_At_Bar", "equation_FStar.UInt.max_int", - "equation_LowStar.Buffer.trivial_preorder", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0e1bc0ecfec26b844b06995e3ed2db4b", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_1e03183d0a0c671034d994d4c8630d7f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_41b3cd347c2c188e0dc4a2542c939e60", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_722299f5e3bc32daa9a361702e73f19c", - "refinement_interpretation_Tm_refine_9634f177f0c0f0487ef690bedd45d479", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_ImmutableBuffer.l", "typing_LowStar.Buffer.trivial_preorder", - "typing_Prims.int" - ], - 0, - "dc1265ce3a6040e6a50a0beb731d593d" - ], - [ - "ImmutableBuffer.test", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.hasEq_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.recallable_mgsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8cd904586e496f5a3771451df61decd7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ebc93ef715694dee6921eff3890549b5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f2b47b25447e3ea3942595237f1c9ed4", - "refinement_interpretation_Tm_refine_f69ea018fbc60d88da0fa7c693f00022", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.seq_of_list", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.replace_subseq", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "7028105c3115ba296cb9a05bc1ea431b" - ], - [ - "ImmutableBuffer.test_ub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.ubuffer", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "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_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_722299f5e3bc32daa9a361702e73f19c", - "refinement_interpretation_Tm_refine_766a4bf8914ee71a91c7886f213bf6ba", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "refinement_interpretation_Tm_refine_fcef3c8b977906461bdeb2e8f2192d95", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "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.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.UninitializedBuffer.initialization_preorder", - "typing_Prims.int" - ], - 0, - "b09c2bc555da48fe573f1e9a708faded" - ], - [ - "ImmutableBuffer.test_bigops", - 1, - 0, - 0, - [ - "@query", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3" - ], - 0, - "2d3a68972c2a8d4be8c0952150d2b021" - ], - [ - "ImmutableBuffer.havoc_pf", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "b988ca4f2bf446ee396563617f2c9df5" - ], - [ - "ImmutableBuffer.test_pf", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "eq2-interp", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.slice_is", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_fecc7586928e79edcc804aabb3ff3600", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_upd", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_08c7fe00e52c8a1d05a53ba00562f3a3", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_2cdd2cb2eba0e12cd5cf1e0976f439e6", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_36fc174880b6ee805f0cc14d73140949", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c9b8214d2e3eeeed84b16a9775a5a70", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_64a84622fef8ce454373e919f69148d5", - "refinement_interpretation_Tm_refine_65d07bfd9d4572ebb289b6802a419a71", - "refinement_interpretation_Tm_refine_74474c161a5da1237f73962e6adc4bc2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_939241b3eb34a287fcb83d2a7a0c556c", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d3db5337221b7424c6e2873896baea3c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.PrefixFreezableBuffer.slice_is", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.PrefixFreezableBuffer.frozen_until", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "cbdb0bdeab3c59d70e45ac99bc915a25" - ], - [ - "ImmutableBuffer.test_witnessed_functoriality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Buffer_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "token_correspondence_LowStar.Buffer.trivial_preorder", - "token_correspondence_LowStar.ImmutableBuffer.immutable_preorder", - "true_interp", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.replace_subseq", "typing_Prims.int" - ], - 0, - "21cc7b70edff106c596d82c220c6047f" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/FullReductionInterpreter.fst.hints b/examples/metatheory/FullReductionInterpreter.fst.hints deleted file mode 100644 index 4929784fa43..00000000000 --- a/examples/metatheory/FullReductionInterpreter.fst.hints +++ /dev/null @@ -1,263 +0,0 @@ -[ - "­EâX¬(²{4Å={èÀCQ", - [ - [ - "FullReductionInterpreter.term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FullReductionInterpreter.atom", - "equation_FullReductionInterpreter.index", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4cc85c70ed03c81a63e03cd7d24011cb" - ], - [ - "FullReductionInterpreter.__proj__BV__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91ab4e301fa8f3e1b96495d7ec898c9e" - ], - 0, - "6cf32525eab355106e9206fd86455888" - ], - [ - "FullReductionInterpreter.__proj__FV__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_094461b4c2bb56eb4c22e68e681b710b" - ], - 0, - "b971e08990ea9fd9f2efde68921abb62" - ], - [ - "FullReductionInterpreter.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_345f58576b733730f2fa0aaeeff79575" - ], - 0, - "2cd8e17480c2940b3ebcf9a39737bc04" - ], - [ - "FullReductionInterpreter.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_345f58576b733730f2fa0aaeeff79575" - ], - 0, - "894185822ebaafacc51eda41f406e425" - ], - [ - "FullReductionInterpreter.__proj__Lam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e026cbffab79c42fcebe3dd2c4498d1e" - ], - 0, - "a882c0beee5fb74d9de319d348dc1f73" - ], - [ - "FullReductionInterpreter.open_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FullReductionInterpreter_pretyping_492c9857f193c5cd2315fa92f4dee678", - "binder_x_492c9857f193c5cd2315fa92f4dee678_0", - "binder_x_d73bdab5bc0a2d78768de5ed9a64d135_1", - "disc_equation_FullReductionInterpreter.App", - "disc_equation_FullReductionInterpreter.BV", - "disc_equation_FullReductionInterpreter.FV", - "disc_equation_FullReductionInterpreter.Lam", - "equation_FullReductionInterpreter.index", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FullReductionInterpreter.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FullReductionInterpreter.App", - "subterm_ordering_FullReductionInterpreter.Lam", "typing_Prims.int" - ], - 0, - "1b489f89aef2a05790267969e623fd9f" - ], - [ - "FullReductionInterpreter.close_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FullReductionInterpreter_pretyping_492c9857f193c5cd2315fa92f4dee678", - "binder_x_492c9857f193c5cd2315fa92f4dee678_0", - "binder_x_d73bdab5bc0a2d78768de5ed9a64d135_1", - "disc_equation_FullReductionInterpreter.App", - "disc_equation_FullReductionInterpreter.BV", - "disc_equation_FullReductionInterpreter.FV", - "disc_equation_FullReductionInterpreter.Lam", - "equation_FullReductionInterpreter.atom", - "equation_FullReductionInterpreter.index", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FullReductionInterpreter.term", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FullReductionInterpreter.App", - "subterm_ordering_FullReductionInterpreter.Lam", "typing_Prims.int" - ], - 0, - "69cbd99313c9b8de7d9b5c804471edb4" - ], - [ - "FullReductionInterpreter.fresh_atom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", "equation_FStar.ST.mref", - "equation_FullReductionInterpreter.atom", "equation_Prims.nat", - "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "7f394f26c2251bc0776db3ee01f41b6c" - ], - [ - "FullReductionInterpreter.__proj__Fun__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6eaf1255ebd74636f904133dfcd28995" - ], - 0, - "5898dc658eaa6c571eeb71d0e428227e" - ], - [ - "FullReductionInterpreter.__proj__Acc__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1dabe24910280b4a12783d0aa11a5ac" - ], - 0, - "24a88723805109f55262402d12869e98" - ], - [ - "FullReductionInterpreter.__proj__Acc__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1dabe24910280b4a12783d0aa11a5ac" - ], - 0, - "be4ce9942c5d6bfe61c4b0ed6ffcd232" - ], - [ - "FullReductionInterpreter.extend_app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FullReductionInterpreter.Acc", - "disc_equation_FullReductionInterpreter.Fun", - "fuel_guarded_inversion_FullReductionInterpreter.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "42226dc2d1e914fae4962528efafecb3" - ], - [ - "FullReductionInterpreter.translate", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "data_elim_FStar.Pervasives.V", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FullReductionInterpreter.Acc", - "disc_equation_FullReductionInterpreter.App", - "disc_equation_FullReductionInterpreter.BV", - "disc_equation_FullReductionInterpreter.FV", - "disc_equation_FullReductionInterpreter.Fun", - "disc_equation_FullReductionInterpreter.Lam", - "equation_FullReductionInterpreter.index", - "equation_with_fuel_FStar.List.Tot.Base.nth.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_FullReductionInterpreter.t", - "fuel_guarded_inversion_FullReductionInterpreter.term", - "kinding_FullReductionInterpreter.t@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented" - ], - 0, - "2b919f079ec358bcd1c51e99751b788c" - ], - [ - "FullReductionInterpreter.readback", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FullReductionInterpreter_pretyping_6ab84720137e4e57aebb6d6c3ad67ae2", - "disc_equation_FullReductionInterpreter.Acc", - "disc_equation_FullReductionInterpreter.Fun", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FullReductionInterpreter.t", - "fuel_guarded_inversion_Prims.list", - "proj_equation_FullReductionInterpreter.Acc__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c1dabe24910280b4a12783d0aa11a5ac", - "typing_FullReductionInterpreter.__proj__Acc__item___1" - ], - 0, - "67ab3da8bad0b987f01d480d8ec0b130" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/IndInd.fst.hints b/examples/metatheory/IndInd.fst.hints deleted file mode 100644 index b83992276f6..00000000000 --- a/examples/metatheory/IndInd.fst.hints +++ /dev/null @@ -1,646 +0,0 @@ -[ - "]¯\u0007’ÕÕÔé\u001b°$QV“Ü5", - [ - [ - "IndInd.vdl0", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e145c2b8452c5300b179401a22f9a17" - ], - [ - "IndInd.__proj__Cons__item__tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_957ae70d43cb9dd184ab72588dfcd219" - ], - 0, - "0c8b654d4f199d0aeb1ab60449cea00c" - ], - [ - "IndInd.__proj__Cons__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_957ae70d43cb9dd184ab72588dfcd219" - ], - 0, - "930aee26fe96242476569c77fdddceb5" - ], - [ - "IndInd.__proj__S__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf52be3832bd60a750de16c530e63c3c" - ], - 0, - "0d06ee1887665b9f15a69b3deffc748e" - ], - [ - "IndInd.__proj__S__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf52be3832bd60a750de16c530e63c3c" - ], - 0, - "997d8f063003c82072fb8fe7a1e91ee8" - ], - [ - "IndInd.vdl_valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IndInd_pretyping_1e3722fc96186e9612e474d93fc78066", - "IndInd_pretyping_f327f45ca84890cc965eeb3de9a5f60e", - "binder_x_f327f45ca84890cc965eeb3de9a5f60e_0", - "disc_equation_IndInd.Cons", "disc_equation_IndInd.Nil", - "equality_tok_IndInd.Nil@tok", "equality_tok_IndInd.Z@tok", - "fuel_guarded_inversion_IndInd.vdl0", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_IndInd.Cons", - "typing_tok_IndInd.Nil@tok", "typing_tok_IndInd.Z@tok" - ], - 0, - "71b2af91f8c0642c919adb68afd9d233" - ], - [ - "IndInd.vdl_valid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IndInd_pretyping_1e3722fc96186e9612e474d93fc78066", - "IndInd_pretyping_f327f45ca84890cc965eeb3de9a5f60e", - "binder_x_1e3722fc96186e9612e474d93fc78066_1", - "disc_equation_IndInd.S", "disc_equation_IndInd.Z", - "equality_tok_IndInd.Nil@tok", "equality_tok_IndInd.Z@tok", - "fuel_guarded_inversion_IndInd.content0", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_IndInd.S", - "typing_tok_IndInd.Nil@tok", "typing_tok_IndInd.Z@tok" - ], - 0, - "75cb770ac7ee29cf3b759a7f6ea99369" - ], - [ - "IndInd.vdl_induction", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.content_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.vdl_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.content_valid.fuel_instrumented", "@query", - "IndInd_pretyping_f327f45ca84890cc965eeb3de9a5f60e", - "binder_x_e118e093dadee316d9b58ce2830db25e_6", - "constructor_distinct_IndInd.Cons", - "constructor_distinct_IndInd.Nil", "disc_equation_IndInd.Cons", - "disc_equation_IndInd.Nil", "eq2-interp", - "equality_tok_IndInd.Nil@tok", "equation_IndInd.vdl", - "equation_with_fuel_IndInd.content_valid.fuel_instrumented", - "equation_with_fuel_IndInd.vdl_valid.fuel_instrumented", - "fuel_guarded_inversion_IndInd.content0", - "fuel_guarded_inversion_IndInd.vdl0", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_IndInd.Cons__1", - "projection_inverse_IndInd.Cons_tail", - "refinement_interpretation_Tm_refine_a4f965e5227246b747690df244bdb1bb", - "subterm_ordering_IndInd.Cons", "true_interp", - "typing_tok_IndInd.Nil@tok" - ], - 0, - "b2d3ad160994f70804a4b5531f63c767" - ], - [ - "IndInd.vdl_induction", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.content_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.vdl_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.content_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.vdl_valid.fuel_instrumented", "@query", - "IndInd_pretyping_f327f45ca84890cc965eeb3de9a5f60e", - "binder_x_23be4f26485c8f4a9d039799cfae9ae3_7", - "binder_x_e118e093dadee316d9b58ce2830db25e_6", - "constructor_distinct_IndInd.S", "constructor_distinct_IndInd.Z", - "disc_equation_IndInd.S", "disc_equation_IndInd.Z", "eq2-interp", - "equality_tok_IndInd.Nil@tok", "equality_tok_IndInd.Z@tok", - "equation_IndInd.content", "equation_IndInd.vdl", - "equation_with_fuel_IndInd.content_valid.fuel_instrumented", - "fuel_guarded_inversion_IndInd.content0", "l_and-interp", - "projection_inverse_BoxBool_proj_0", "projection_inverse_IndInd.S_l", - "projection_inverse_IndInd.S_x", - "refinement_interpretation_Tm_refine_9e38c61c3420d273d6dbe60aa6981bbf", - "refinement_interpretation_Tm_refine_a4f965e5227246b747690df244bdb1bb", - "subterm_ordering_IndInd.Cons", "typing_tok_IndInd.Nil@tok" - ], - 0, - "b26c23669de95774dc9e29198064103e" - ], - [ - "IndInd.vdl_induction", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.content_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.vdl_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.content_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.vdl_valid.fuel_instrumented", "@query", - "IndInd_pretyping_f327f45ca84890cc965eeb3de9a5f60e", - "constructor_distinct_IndInd.Cons", - "constructor_distinct_IndInd.Nil", "constructor_distinct_IndInd.S", - "constructor_distinct_IndInd.Z", "data_typing_intro_IndInd.Cons@tok", - "data_typing_intro_IndInd.S@tok", "eq2-interp", - "equality_tok_IndInd.Nil@tok", "equality_tok_IndInd.Z@tok", - "equation_IndInd.content", "equation_IndInd.vdl", - "equation_with_fuel_IndInd.content_valid.fuel_instrumented", - "equation_with_fuel_IndInd.vdl_valid.fuel_instrumented", - "fuel_guarded_inversion_IndInd.vdl0", "l_and-interp", - "projection_inverse_IndInd.Cons__1", - "projection_inverse_IndInd.Cons_tail", - "projection_inverse_IndInd.S_l", "projection_inverse_IndInd.S_x", - "refinement_interpretation_Tm_refine_9e38c61c3420d273d6dbe60aa6981bbf", - "refinement_interpretation_Tm_refine_a4f965e5227246b747690df244bdb1bb", - "true_interp", "typing_tok_IndInd.Nil@tok", "typing_tok_IndInd.Z@tok" - ], - 0, - "4b0cfb942df026976537c8630aa32c31" - ], - [ - "IndInd.ctx0", - 1, - 2, - 1, - [ "@query" ], - 0, - "a426d7719a335912a08970f6eb4b81be" - ], - [ - "IndInd.__proj__ConsCtx__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_14bed9a1ddd1711ecdf7b611849a7712" - ], - 0, - "bd31515f27692ce7f3ba1571d59f678b" - ], - [ - "IndInd.__proj__ConsCtx__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_14bed9a1ddd1711ecdf7b611849a7712" - ], - 0, - "66dc24a387b3024fec974842d0a3395b" - ], - [ - "IndInd.__proj__Unit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b5fced15efe5e5b93de9a91d84a562b6" - ], - 0, - "ebeba0fe289f2dc890106a1012718b13" - ], - [ - "IndInd.__proj__Bool__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e00559b2f8471978e3acf9a42951dcfb" - ], - 0, - "ee369ad2aa9d2ec3373de1badd56db84" - ], - [ - "IndInd.__proj__Prod__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_429f4c8d904ddf4c8852156eb272d33f" - ], - 0, - "1e4902c727b609d5e37910c56c9a3d1b" - ], - [ - "IndInd.__proj__Prod__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_429f4c8d904ddf4c8852156eb272d33f" - ], - 0, - "057420ad67d76fcae977c2f836a3980f" - ], - [ - "IndInd.__proj__Prod__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_429f4c8d904ddf4c8852156eb272d33f" - ], - 0, - "3a96f00c857973534389f5116a095dfc" - ], - [ - "IndInd.__proj__U__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81a0f75abf3e02d4dcb5a273b19b6fde" - ], - 0, - "cf7d207fe1c56660012f8d326076198f" - ], - [ - "IndInd.__proj__Var__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bdc16e7d8a72f1399a436932cb2697c8" - ], - 0, - "98d8facee5c1ae8227435f985b1be35c" - ], - [ - "IndInd.__proj__Var__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bdc16e7d8a72f1399a436932cb2697c8" - ], - 0, - "5d19c809bedd917526062de9f090b825" - ], - [ - "IndInd.__proj__UHere__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c3cb9f8a3afcb83bfccfd289f21b2f3" - ], - 0, - "f36d092436fea0ad6cee207cafbcfa9a" - ], - [ - "IndInd.__proj__UNext__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bc94e3f54f9788227d2ea26318516d" - ], - 0, - "a42f96f799184a1f879ea0a07c4c33e9" - ], - [ - "IndInd.__proj__UNext__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bc94e3f54f9788227d2ea26318516d" - ], - 0, - "9144f815ddd7053a978e46d4a3ae187c" - ], - [ - "IndInd.__proj__UNext__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_84bc94e3f54f9788227d2ea26318516d" - ], - 0, - "891bd729d6c8a3cae864b5426c08ac7e" - ], - [ - "IndInd.ctx_valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "IndInd_pretyping_5253138d8e6ed0bdf00f6311c628e7f8", - "binder_x_3639ca53df0585b361be9077cdb71923_0", - "disc_equation_IndInd.ConsCtx", "disc_equation_IndInd.EmptyCtx", - "equality_tok_IndInd.EmptyCtx@tok", - "fuel_guarded_inversion_IndInd.ctx0", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_IndInd.ConsCtx", "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "a3100f25e5eccadd807afb26978ffadc" - ], - [ - "IndInd.ctx_valid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "IndInd_pretyping_368fdf57f660d37d194f44c4fc7989a6", - "IndInd_pretyping_5253138d8e6ed0bdf00f6311c628e7f8", - "binder_x_5253138d8e6ed0bdf00f6311c628e7f8_0", - "disc_equation_IndInd.Bool", "disc_equation_IndInd.Prod", - "disc_equation_IndInd.U", "disc_equation_IndInd.Unit", - "disc_equation_IndInd.Var", "equality_tok_IndInd.EmptyCtx@tok", - "fuel_guarded_inversion_IndInd.valid_typ0", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_IndInd.Bool", - "subterm_ordering_IndInd.Prod", "subterm_ordering_IndInd.U", - "subterm_ordering_IndInd.Unit", "subterm_ordering_IndInd.Var", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "9676d88825eeee69615bde4fa8faa4e0" - ], - [ - "IndInd.ctx_valid", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "IndInd_pretyping_368fdf57f660d37d194f44c4fc7989a6", - "IndInd_pretyping_5253138d8e6ed0bdf00f6311c628e7f8", - "binder_x_368fdf57f660d37d194f44c4fc7989a6_0", - "disc_equation_IndInd.UHere", "disc_equation_IndInd.UNext", - "equality_tok_IndInd.EmptyCtx@tok", - "fuel_guarded_inversion_IndInd.u_mem0", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_IndInd.UHere", - "subterm_ordering_IndInd.UNext", "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "f1f6bde122560b97d0bd0f2931d5c8f1" - ], - [ - "IndInd.empty_ctx", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", "@query", - "constructor_distinct_IndInd.EmptyCtx", - "equality_tok_IndInd.EmptyCtx@tok", - "equation_with_fuel_IndInd.ctx_valid.fuel_instrumented", - "true_interp", "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "e692c574cb8fdd19f17c0bc0d2dc45e4" - ], - [ - "IndInd.cons_ctx", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.valid_typ_valid.fuel_instrumented", - "@query", "constructor_distinct_IndInd.ConsCtx", - "data_typing_intro_IndInd.ConsCtx@tok", "equation_IndInd.ctx", - "equation_IndInd.valid_typ", - "equation_with_fuel_IndInd.ctx_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.ConsCtx_a", - "projection_inverse_IndInd.ConsCtx_g", - "refinement_interpretation_Tm_refine_2fb03f6d79dc3d816e2c02d4f325a130", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde" - ], - 0, - "a8ef3a1abbeb6b4e3e6cf6705b885094" - ], - [ - "IndInd.unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.Unit", - "data_typing_intro_IndInd.Unit@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.ctx", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.Unit_g", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "eec7f3e58e8ae04704622c3cdef12a54" - ], - [ - "IndInd.bool", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.Bool", - "data_typing_intro_IndInd.Bool@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.ctx", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.Bool_g", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "a763366e1d3ebc25b9b39db032eaf3ff" - ], - [ - "IndInd.prod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.valid_typ_valid.fuel_instrumented", - "@query", "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.Prod", - "data_typing_intro_IndInd.Prod@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.cons_ctx", - "equation_IndInd.ctx", "equation_IndInd.valid_typ", - "equation_with_fuel_IndInd.ctx_valid.fuel_instrumented", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.Prod_a", - "projection_inverse_IndInd.Prod_b", - "projection_inverse_IndInd.Prod_g", - "refinement_interpretation_Tm_refine_2fb03f6d79dc3d816e2c02d4f325a130", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "ff78eb5fb07e21238d59138c8782409c" - ], - [ - "IndInd.u", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.U", "data_typing_intro_IndInd.U@tok", - "eq2-interp", "equality_tok_IndInd.EmptyCtx@tok", - "equation_IndInd.ctx", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.U_g", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "dcbba07a264ab0208631810f84972d6c" - ], - [ - "IndInd.var", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.u_mem_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.u_mem_valid.fuel_instrumented", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.Var", - "data_typing_intro_IndInd.Var@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.ctx", - "equation_IndInd.u_mem", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.Var__1", - "projection_inverse_IndInd.Var_g", - "refinement_interpretation_Tm_refine_b5f4c9509474ff28bab09392205f654a", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "527caa00177c9850b05631109f18cef9" - ], - [ - "IndInd.u_here", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.u_mem_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", "@query", - "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.UHere", - "data_typing_intro_IndInd.UHere@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.cons_ctx", - "equation_IndInd.ctx", "equation_IndInd.u", - "equation_with_fuel_IndInd.u_mem_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.UHere_g", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_IndInd.cons_ctx", "typing_IndInd.u", - "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "4f0adc2cb3cc439667698d932c9e39ee" - ], - [ - "IndInd.u_next", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IndInd.ctx_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.u_mem_valid.fuel_instrumented", - "@fuel_correspondence_IndInd.valid_typ_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.ctx_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.u_mem_valid.fuel_instrumented", - "@fuel_irrelevance_IndInd.valid_typ_valid.fuel_instrumented", - "@query", "IndInd_pretyping_3639ca53df0585b361be9077cdb71923", - "constructor_distinct_IndInd.UNext", - "data_typing_intro_IndInd.UNext@tok", "eq2-interp", - "equality_tok_IndInd.EmptyCtx@tok", "equation_IndInd.cons_ctx", - "equation_IndInd.ctx", "equation_IndInd.u_mem", - "equation_IndInd.valid_typ", - "equation_with_fuel_IndInd.ctx_valid.fuel_instrumented", - "equation_with_fuel_IndInd.u_mem_valid.fuel_instrumented", - "equation_with_fuel_IndInd.valid_typ_valid.fuel_instrumented", - "l_and-interp", "projection_inverse_IndInd.UNext__2", - "projection_inverse_IndInd.UNext_a", - "projection_inverse_IndInd.UNext_g", - "refinement_interpretation_Tm_refine_2fb03f6d79dc3d816e2c02d4f325a130", - "refinement_interpretation_Tm_refine_b5f4c9509474ff28bab09392205f654a", - "refinement_interpretation_Tm_refine_cea2cf9ef71fd9572287f1a8558eafde", - "typing_IndInd.cons_ctx", "typing_tok_IndInd.EmptyCtx@tok" - ], - 0, - "819ce796665f280e8477faf37ea194fb" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/LambdaOmega.fst.hints b/examples/metatheory/LambdaOmega.fst.hints deleted file mode 100644 index df3398f0a9e..00000000000 --- a/examples/metatheory/LambdaOmega.fst.hints +++ /dev/null @@ -1,4226 +0,0 @@ -[ - "’6¸É\u0011ÍeðŠÔzxŽ\u0003m¶", - [ - [ - "LambdaOmega.knd", - 1, - 1, - 1, - [ "@query" ], - 0, - "eca2907765e46152354f5ded4f873156" - ], - [ - "LambdaOmega.__proj__KArr__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" - ], - 0, - "f8ccf0a51ad34b4b9ddad6a546034648" - ], - [ - "LambdaOmega.__proj__KArr__item___1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b48b9eeb2a347feedfef98eb374c34d" - ], - 0, - "9b97b3148f4edfa8ec6423b2c8c906e7" - ], - [ - "LambdaOmega.typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.knd__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "270f96778cd15ef7827deabff70f8fd4" - ], - [ - "LambdaOmega.__proj__TVar__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8454d7d4c32c3f232806dd6979b25988" - ], - 0, - "2332743624dbcea48583e7fb8fcf0ac5" - ], - [ - "LambdaOmega.__proj__TLam__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" - ], - 0, - "a899d30d9a43fa6677359261a3892af7" - ], - [ - "LambdaOmega.__proj__TLam__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f11a138c840cc7111e27e944b2f32fa" - ], - 0, - "7089aadf4ce668fbf93a9f86fb97abc2" - ], - [ - "LambdaOmega.__proj__TApp__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" - ], - 0, - "6ea9afa796250993dd7724fa594d7a75" - ], - [ - "LambdaOmega.__proj__TApp__item___1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e28fa2f56a31115ec481703c0cb0a1c" - ], - 0, - "b4ddeb338c31af7ca9815d1240c8d590" - ], - [ - "LambdaOmega.__proj__TArr__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" - ], - 0, - "feca462f74030f2a4fcc14814bb702a8" - ], - [ - "LambdaOmega.__proj__TArr__item___1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebfacded5bfac7e16f0c4cf9d6c0a24b" - ], - 0, - "449b5689aa61ffcfed77e6dc8af2bff7" - ], - [ - "LambdaOmega.exp", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e288e8a600feb856f817c9ed21d03663" - ], - [ - "LambdaOmega.__proj__EVar__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13c221c50ecb0c200f598116593dea3d" - ], - 0, - "d99cd2b43978e45a6a536ea76591b941" - ], - [ - "LambdaOmega.__proj__EApp__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" - ], - 0, - "c3ff857734b96d3c9b9c68df49a2b36f" - ], - [ - "LambdaOmega.__proj__EApp__item___1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e64f1650f71e059a934486674c4393f7" - ], - 0, - "d70a01c1fe93350ce995e2c16bf4d009" - ], - [ - "LambdaOmega.__proj__ELam__item___0", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" - ], - 0, - "906b941c31c8aba048862ed650a9fed3" - ], - [ - "LambdaOmega.__proj__ELam__item___1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c4cbaddf94de33c9fa2045e2ec86a00" - ], - 0, - "8bcc5e868486ce8560f7bda0f6770c13" - ], - [ - "LambdaOmega.is_erenaming", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbfece31e99154e48993e2ff9813691a" - ], - 0, - "15b1c64a3bc3cfc8c203d7f16b357f81" - ], - [ - "LambdaOmega.esub_inc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0deee5c6688ed8d30be7b41e8629d368" - ], - [ - "LambdaOmega.esubst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", - "LambdaOmega_interpretation_Tm_arrow_511e7d7c33e61ac45150fcb9bf56a4ad", - "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", - "binder_x_2467ea16a8390f133518a74f18615c52_0", "bool_inversion", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "disc_equation_LambdaOmega.EApp", "disc_equation_LambdaOmega.ELam", - "disc_equation_LambdaOmega.EVar", "equation_LambdaOmega.erenaming", - "equation_LambdaOmega.esub", "equation_LambdaOmega.is_erenaming", - "equation_LambdaOmega.is_evar", "equation_LambdaOmega.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_LambdaOmega.exp", - "function_token_typing_LambdaOmega.esub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.EApp__0", - "projection_inverse_LambdaOmega.EApp__1", - "projection_inverse_LambdaOmega.ELam__0", - "projection_inverse_LambdaOmega.ELam__1", - "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", - "refinement_interpretation_Tm_refine_64613354090ab3b84dcd22e459b73386", - "subterm_ordering_LambdaOmega.EApp", - "subterm_ordering_LambdaOmega.ELam", - "token_correspondence_LambdaOmega.esub_lam", - "typing_LambdaOmega.is_erenaming", "typing_LambdaOmega.is_evar", - "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" - ], - 0, - "a7e356dda44e5d18ad53c95846331933" - ], - [ - "LambdaOmega.esubst", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2467ea16a8390f133518a74f18615c52_0", - "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", - "constructor_distinct_LambdaOmega.EVar", - "disc_equation_LambdaOmega.EVar", "equation_LambdaOmega.erenaming", - "equation_LambdaOmega.esub", "equation_LambdaOmega.esub_inc", - "equation_LambdaOmega.is_erenaming", "equation_LambdaOmega.is_evar", - "equation_LambdaOmega.var", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "function_token_typing_LambdaOmega.esub_inc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ca2649b9947b9cfef9d85a0f4c89df8", - "token_correspondence_LambdaOmega.esub_inc", - "typing_LambdaOmega.is_erenaming", "typing_LambdaOmega.is_evar", - "typing_LambdaOmega.uu___is_EVar", "well-founded-ordering-on-nat" - ], - 0, - "e0f19694b7f59271661bb0d44350c556" - ], - [ - "LambdaOmega.esub_lam_renaming", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.esub_lam.fuel_instrumented", - "@query", - "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "typing_LambdaOmega.esub_lam" - ], - 0, - "5f3d630712886bdff3c3b66054672697" - ], - [ - "LambdaOmega.esubst_extensional", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.esub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.esubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.esubst.fuel_instrumented", "@query", - "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_06de486deb40f7c98f3ebe1658d921d4_1", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_2", - "binder_x_2467ea16a8390f133518a74f18615c52_0", - "constructor_distinct_LambdaOmega.EApp", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "disc_equation_LambdaOmega.EApp", "disc_equation_LambdaOmega.ELam", - "disc_equation_LambdaOmega.EVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.var", "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.esub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.esubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.EApp__0", - "projection_inverse_LambdaOmega.EApp__1", - "projection_inverse_LambdaOmega.ELam__0", - "projection_inverse_LambdaOmega.ELam__1", - "projection_inverse_LambdaOmega.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c471eac9d5f7b007c00e0de0ace56c55", - "subterm_ordering_LambdaOmega.EApp", - "subterm_ordering_LambdaOmega.ELam", - "token_correspondence_LambdaOmega.esub_lam" - ], - 0, - "bdfe4f10fc6e919e60833adbb7ac767a" - ], - [ - "LambdaOmega.esub_lam_hoist", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.exp__uu___haseq" ], - 0, - "a4f331138560ce3e20a57d577a624e8f" - ], - [ - "LambdaOmega.esub_lam_hoist", - 2, - 1, - 1, - [ "@query", "assumption_LambdaOmega.exp__uu___haseq" ], - 0, - "fdbadac454bbfe726c6f2da2fd739252" - ], - [ - "LambdaOmega.esub_beta", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1d88641c3b539f155b523ef138fde9b2" - ], - [ - "LambdaOmega.is_trenaming", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a3541ea2aa7a52c156e8f5632774ffb6" - ], - 0, - "1c87d58da862d5338c1fe0dd6bbfd9d6" - ], - [ - "LambdaOmega.tsub_inc_above", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "72c34519fbc47d911a155fa30030fbf5" - ], - [ - "LambdaOmega.trenaming_sub_inc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TVar", "equation_LambdaOmega.trenaming", - "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LambdaOmega.tsub_inc" - ], - 0, - "61679c22a011f688fb23ee38cbc114c0" - ], - [ - "LambdaOmega.tsubst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "LambdaOmega_interpretation_Tm_arrow_5cb8ffc7a0124cdb4ae3b7d97f628509", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", "bool_inversion", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", - "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.is_trenaming", "equation_LambdaOmega.is_tvar", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.var", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TLam__0", - "projection_inverse_LambdaOmega.TLam_t", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8653b9a2ec27e3e7645b3c0a7cc2e9d", - "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", - "token_correspondence_LambdaOmega.tsub_lam", - "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.is_tvar", - "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" - ], - 0, - "d4c5d90c2bdba68c2300e4309eb49433" - ], - [ - "LambdaOmega.tsubst", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", - "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_1", "bool_inversion", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.is_trenaming", "equation_LambdaOmega.is_tvar", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", - "token_correspondence_LambdaOmega.tsub_inc", - "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.is_tvar", - "typing_LambdaOmega.uu___is_TVar", "well-founded-ordering-on-nat" - ], - 0, - "52c53106e01197a51c262a4161c6bb9f" - ], - [ - "LambdaOmega.tsubst_extensional", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "da3693c1f4b02decef33287e65caabcb" - ], - [ - "LambdaOmega.tsubst_extensional", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", - "binder_x_0c7cb9ff7b1d3d53917093f35a115e13_1", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", - "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.var", "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TLam__0", - "projection_inverse_LambdaOmega.TLam_t", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d046d1cc6e5cacaf43979914c10f811a", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", - "token_correspondence_LambdaOmega.tsub_lam" - ], - 0, - "0e25c3276e4f9d677f79810088389b48" - ], - [ - "LambdaOmega.tsubst_extensional", - 3, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "ca1fc5ae5c2db22119d8bd23c1a34084" - ], - [ - "LambdaOmega.tsub_lam_hoist", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "4bc11f9ea0a54e202deefe22f25b8a3b" - ], - [ - "LambdaOmega.tsub_lam_hoist", - 2, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "ce1ba73c5932124f79cacc1295c20de5" - ], - [ - "LambdaOmega.tsub_comp_inc", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "6cfc0bc42e1a7bf6f41f9e01d168ef8d" - ], - [ - "LambdaOmega.tsub_comp_inc", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_LambdaOmega.tsub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "token_correspondence_LambdaOmega.tsub_comp", - "token_correspondence_LambdaOmega.tsub_inc", - "token_correspondence_LambdaOmega.tsub_lam", - "typing_LambdaOmega.tsub_inc" - ], - 0, - "db8eea550f8c9f5d6f676096162f1013" - ], - [ - "LambdaOmega.tsub_lam_renaming", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@query", - "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "typing_LambdaOmega.tsub_lam" - ], - 0, - "2a1b33896fb691142d8f6cf70f926acd" - ], - [ - "LambdaOmega.tsubst_comp", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "e99af14fb6fa24cff9c32283c53b0e6e" - ], - [ - "LambdaOmega.tsubst_comp", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_0", - "binder_x_0ae6e1cabe41d4723db5908cb6d761c1_1", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", "bool_inversion", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", - "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.is_trenaming", "equation_LambdaOmega.is_tvar", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.var", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_comp", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_LambdaOmega.tsub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TLam__0", - "projection_inverse_LambdaOmega.TLam_t", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_10968839102267760fbb8b09cdccaef0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c71882535845cace6743477a5ad3a8ac", - "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "refinement_interpretation_Tm_refine_dceed1b95380314a1c26e033051eede6", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", - "token_correspondence_LambdaOmega.tsub_comp", - "token_correspondence_LambdaOmega.tsub_lam", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LambdaOmega.is_trenaming", "typing_LambdaOmega.is_tvar", - "typing_LambdaOmega.trenaming", "typing_LambdaOmega.tsub_comp", - "typing_LambdaOmega.tsubst", "typing_LambdaOmega.uu___is_TVar", - "well-founded-ordering-on-nat" - ], - 0, - "e27f3bc7bc0cfea0c6447f45023e02eb" - ], - [ - "LambdaOmega.tsubst_comp", - 3, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "d70c98360ab97eed75cbf806f69decbd" - ], - [ - "LambdaOmega.tsub_lam_comp", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "5f753ca636e29d7a5b571fdc4cd36619" - ], - [ - "LambdaOmega.tsub_lam_comp", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_24caba0a08aa3403fcbe8182b76a2ceb", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_LambdaOmega.typ__uu___haseq", "bool_inversion", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "function_token_typing_LambdaOmega.tsub_comp", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_LambdaOmega.tsub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ce615ce2294eb74a8456da4b7daece8c", - "token_correspondence_LambdaOmega.tsub_comp", - "token_correspondence_LambdaOmega.tsub_lam", - "typing_LambdaOmega.tsub_comp", "typing_LambdaOmega.uu___is_TVar" - ], - 0, - "cb9e7ac526b179aa7f34c04a8e552725" - ], - [ - "LambdaOmega.tsubst_id", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "a6482ce6731eb979d24ad97907158993" - ], - [ - "LambdaOmega.tsubst_id", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", - "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.tsub_id", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TVar__0", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", "typing_LambdaOmega.tsub_id" - ], - 0, - "8761d10d42fc0a369f1dd6ae326cba44" - ], - [ - "LambdaOmega.tsubst_id", - 3, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.tsub", "equation_LambdaOmega.tsub_id", - "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2b5f80e84d66d0682a75a4ef996a9947", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_2842f7f59e1790b354fd6eacdcfb4ad2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ef6976eb8e73670c32b92b4b79f475c9", - "token_correspondence_LambdaOmega.tsub_inc", - "typing_LambdaOmega.tsub_id" - ], - 0, - "d267825ed4f95666825c52cf9e78e796" - ], - [ - "LambdaOmega.tsubst_id", - 4, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "e54904f5f6494692cc856483ba44567e" - ], - [ - "LambdaOmega.tsub_beta_gen", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "f2f9f4efbb49c3be6e9aeb6dd54656e4" - ], - [ - "LambdaOmega.step", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.exp__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "16c1058ad1c51b518a16edf370311e3c" - ], - [ - "LambdaOmega.__proj__SBeta__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" - ], - 0, - "1255152931a7325b1214485f1271d2e5" - ], - [ - "LambdaOmega.__proj__SBeta__item__e1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" - ], - 0, - "06d247b5a329753a1288192add0d542b" - ], - [ - "LambdaOmega.__proj__SBeta__item__e2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99225bc3a8ffd09f5f0e517f8cae3989" - ], - 0, - "ebd23e203dc742ff622f9ada75839838" - ], - [ - "LambdaOmega.__proj__SApp1__item__e1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" - ], - 0, - "fc2474a7895abfc5c782ae2596eed687" - ], - [ - "LambdaOmega.__proj__SApp1__item__e2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" - ], - 0, - "2d0f6a60748561a1f5e177264e8c565a" - ], - [ - "LambdaOmega.__proj__SApp1__item__e1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" - ], - 0, - "8a65ca048fa0b6ce22d2dc9e5cc69035" - ], - [ - "LambdaOmega.__proj__SApp1__item__hst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.SApp1", - "refinement_interpretation_Tm_refine_8ca22e0a04684e535639da52fb102962" - ], - 0, - "4340a2fafc9135f46fd74a2ad6b52136" - ], - [ - "LambdaOmega.__proj__SApp2__item__e1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" - ], - 0, - "0d70db3f4791880ea00f43adbd9393bf" - ], - [ - "LambdaOmega.__proj__SApp2__item__e2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" - ], - 0, - "02931710814782f1db4348826cfe22e9" - ], - [ - "LambdaOmega.__proj__SApp2__item__e2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" - ], - 0, - "e97c1588025e00f7a6558f10ff3c5af8" - ], - [ - "LambdaOmega.__proj__SApp2__item__hst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.SApp2", - "refinement_interpretation_Tm_refine_fbd95a15e32b93105aba1f5f009224a6" - ], - 0, - "ea374f08069f4f1dbd47b5e67b44a3bf" - ], - [ - "LambdaOmega.extend_tvar", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LambdaOmega.lookup_evar", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LambdaOmega.env", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_LambdaOmega.typ@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LambdaOmega.lookup_evar", "typing_Prims.int" - ], - 0, - "0493da3cd3611153325db2e5785447af" - ], - [ - "LambdaOmega.extend_evar", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "226d45f8afda291e8759d6f588c828f8" - ], - [ - "LambdaOmega.kinding", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc" - ], - 0, - "0325033f9c6947459b10bf82cadcdff1" - ], - [ - "LambdaOmega.__proj__KiVar__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" - ], - 0, - "440e72804af5492d33b1f9cacfddb235" - ], - [ - "LambdaOmega.__proj__KiVar__item__a", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiVar", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_728f5aba7f4b5dc37458445279a7deb5" - ], - 0, - "b50f6e4dc495590e0ecc21b423e84720" - ], - [ - "LambdaOmega.__proj__KiLam__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" - ], - 0, - "dfa34a8d65829ca026b1364f45f8e5cb" - ], - [ - "LambdaOmega.__proj__KiLam__item__k", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" - ], - 0, - "f0d973025cf25ff96a0fa5b9925c3037" - ], - [ - "LambdaOmega.__proj__KiLam__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" - ], - 0, - "d81c4ed643d2b8068ff1543efe42a718" - ], - [ - "LambdaOmega.__proj__KiLam__item__k'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" - ], - 0, - "2bad5c8681862c81d2bd04e8bee272d6" - ], - [ - "LambdaOmega.__proj__KiLam__item__hk", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiLam", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_0ccaeb80d2312b1d07fc61f18d9b4975" - ], - 0, - "1e167b2b467109cb3e584d038de48c1c" - ], - [ - "LambdaOmega.__proj__KiApp__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "cf80c50f2c97739a01e565c128b377a6" - ], - [ - "LambdaOmega.__proj__KiApp__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "63039a85494823561d9157cc82ba82bc" - ], - [ - "LambdaOmega.__proj__KiApp__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "9ff645178e954eb9c3f0c41324bc3888" - ], - [ - "LambdaOmega.__proj__KiApp__item__k11", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "2509e9d0e252df68d34b41b73e5f44f3" - ], - [ - "LambdaOmega.__proj__KiApp__item__k12", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "c5b335d6acd3a4949a57a462f19fe01a" - ], - [ - "LambdaOmega.__proj__KiApp__item__hk1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiApp", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "51c0c7afcf49a94a2d3d6c6f6c7b3a3c" - ], - [ - "LambdaOmega.__proj__KiApp__item__hk2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiApp", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_95db76a4bdc0ec03d5836cb67acc4676" - ], - 0, - "5d559b1137ccf81bd7a70ba970f213a3" - ], - [ - "LambdaOmega.__proj__KiArr__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" - ], - 0, - "8fda822b9437c083a6fd27e377077658" - ], - [ - "LambdaOmega.__proj__KiArr__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" - ], - 0, - "e0f11924145963d0cd57a92d8383764a" - ], - [ - "LambdaOmega.__proj__KiArr__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" - ], - 0, - "c79edf075e5a6f7817852c229f84a3fb" - ], - [ - "LambdaOmega.__proj__KiArr__item__hk1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiArr", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" - ], - 0, - "72e71db1885dccc73e62d3c95b0d91ed" - ], - [ - "LambdaOmega.__proj__KiArr__item__hk2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.KiArr", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_2071675d58081487290e627b4d9290ef" - ], - 0, - "ef6ec5f219539cf3ad1dc368f6f4962c" - ], - [ - "LambdaOmega.tequiv", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.knd__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "8e45b825f242385ae273acfb1fe80fe9" - ], - [ - "LambdaOmega.__proj__EqRefl__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9253dcb041a3b4f852211144c57ce7b" - ], - 0, - "aec4b80afcf3e10ccc2faa0a7778023d" - ], - [ - "LambdaOmega.__proj__EqSymm__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" - ], - 0, - "a9732f871b6730a497b03bda3659a539" - ], - [ - "LambdaOmega.__proj__EqSymm__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" - ], - 0, - "224395518f2229d752c4087965d84a5e" - ], - [ - "LambdaOmega.__proj__EqSymm__item__he", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqSymm", - "refinement_interpretation_Tm_refine_4d1c2e9b19e4be2d169b319060dd0529" - ], - 0, - "b3251d85d937de6664adfe2d40347fbf" - ], - [ - "LambdaOmega.__proj__EqTran__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" - ], - 0, - "b11a78dc10fd54c5548b16179cfa4e5b" - ], - [ - "LambdaOmega.__proj__EqTran__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" - ], - 0, - "d2e1fa910c0f931cdca985dfd910aba0" - ], - [ - "LambdaOmega.__proj__EqTran__item__t3", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" - ], - 0, - "ba674f5ef6d2582191a5511295dc943f" - ], - [ - "LambdaOmega.__proj__EqTran__item__he12", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqTran", - "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" - ], - 0, - "dee08bfacf97024ac0d3ce61b4723c50" - ], - [ - "LambdaOmega.__proj__EqTran__item__he23", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqTran", - "refinement_interpretation_Tm_refine_98b723f05411806a0b5a903d296691a3" - ], - 0, - "b3702a4f040de83803e70f99988d2508" - ], - [ - "LambdaOmega.__proj__EqLam__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" - ], - 0, - "5ee5c1f0c14c6a6dd20ff7f7471397c8" - ], - [ - "LambdaOmega.__proj__EqLam__item__t'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" - ], - 0, - "159a536af092b5ff911678032cefb7ed" - ], - [ - "LambdaOmega.__proj__EqLam__item__k", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" - ], - 0, - "35d4d14608d41e10f5970d2d125773ec" - ], - [ - "LambdaOmega.__proj__EqLam__item__he", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqLam", - "refinement_interpretation_Tm_refine_505b365ca7baa7e12d5b92562c2c4e27" - ], - 0, - "25a07beef8d0b8406ef3e71ee6d4f58c" - ], - [ - "LambdaOmega.__proj__EqApp__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "4e10caddf8257787034e40572a718c76" - ], - [ - "LambdaOmega.__proj__EqApp__item__t1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "91b3959bd1c6b458ab3072bedceec870" - ], - [ - "LambdaOmega.__proj__EqApp__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "2cc8eb1d363fb7fb3de003e40bc1dfb5" - ], - [ - "LambdaOmega.__proj__EqApp__item__t2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "88c49d3f4613ecf78312e8cfcaada777" - ], - [ - "LambdaOmega.__proj__EqApp__item__he1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqApp", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "798d58ba11ba35f82af5e66db2eb0315" - ], - [ - "LambdaOmega.__proj__EqApp__item__he2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqApp", - "refinement_interpretation_Tm_refine_0669de1260cad1c4c35f757560649e69" - ], - 0, - "86f18a627758467c20fd8fda1e5c46fe" - ], - [ - "LambdaOmega.__proj__EqBeta__item__k", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" - ], - 0, - "19ece208a29f635251666a90564eef3a" - ], - [ - "LambdaOmega.__proj__EqBeta__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" - ], - 0, - "6c45049dd9b4fad76d428fafac3f133b" - ], - [ - "LambdaOmega.__proj__EqBeta__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1f0f290e4aac7314f6a11c6ea9cceec2" - ], - 0, - "77cce8a93175aeaaefede2e490576b03" - ], - [ - "LambdaOmega.__proj__EqArr__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "0d000f4cbafe457ea0a46b794b6ea9f8" - ], - [ - "LambdaOmega.__proj__EqArr__item__t1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "8f35ca92c795755cfd401f10c28b5484" - ], - [ - "LambdaOmega.__proj__EqArr__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "3835c273f467d5b0382aa48400538112" - ], - [ - "LambdaOmega.__proj__EqArr__item__t2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "14884e6c4b77128dae97ff6b99496416" - ], - [ - "LambdaOmega.__proj__EqArr__item__he1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqArr", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "49bf44f0d26ee35e5f46856e492ceb34" - ], - [ - "LambdaOmega.__proj__EqArr__item__he2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.EqArr", - "refinement_interpretation_Tm_refine_7825f3a7cbfda72e9afee28c350ccbd3" - ], - 0, - "334a861a83014e9742c764c2b5e7351d" - ], - [ - "LambdaOmega.typing", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" - ], - 0, - "e4ef725715da4f3bd62c3e23cca02286" - ], - [ - "LambdaOmega.typing", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" - ], - 0, - "8a08816120a5d1da488f88667b05899e" - ], - [ - "LambdaOmega.__proj__TyVar__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" - ], - 0, - "aada6eb58ecb948066bb89343d95c6bf" - ], - [ - "LambdaOmega.__proj__TyVar__item__x", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyVar", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d" - ], - 0, - "dd068c1b47501e275e93d4a2de4512fe" - ], - [ - "LambdaOmega.__proj__TyVar__item__hk", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_bb2a3e12e3207e896b9dce3921df8c1c", - "typing_LambdaOmega.__proj__TyVar__item__x" - ], - 0, - "b4c98dc55bff91d5bfdb7500ac0532d2" - ], - [ - "LambdaOmega.__proj__TyVar__item__hk", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "data_elim_LambdaOmega.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.TyVar", - "equation_LambdaOmega.lookup_evar", - "fuel_guarded_inversion_LambdaOmega.env", - "proj_equation_LambdaOmega.TyVar_g", - "proj_equation_LambdaOmega.TyVar_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.TyVar_g", - "projection_inverse_LambdaOmega.TyVar_x", - "refinement_interpretation_Tm_refine_599765d78a2cbc9ec22b9c08427a1e7d", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280", - "refinement_interpretation_Tm_refine_bb2a3e12e3207e896b9dce3921df8c1c", - "typing_LambdaOmega.__proj__TyVar__item__x" - ], - 0, - "008dfc54293cd2388f0b7a2280cef518" - ], - [ - "LambdaOmega.__proj__TyLam__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "88e4232195b7fea4f2853210af9e7deb" - ], - [ - "LambdaOmega.__proj__TyLam__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "c57794d46c7283b6ab5a488b559992dd" - ], - [ - "LambdaOmega.__proj__TyLam__item__e1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "a7bc1fab7055878007dfebb37a9111d4" - ], - [ - "LambdaOmega.__proj__TyLam__item__t'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "657084e83bbe84e15a8807ce94355bdd" - ], - [ - "LambdaOmega.__proj__TyLam__item__hk", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyLam", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "9a4ee1258914c90fca200ec7b0b14333" - ], - [ - "LambdaOmega.__proj__TyLam__item__ht", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyLam", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_3c8c856a3809d6cc76ee5793c4432bdb" - ], - 0, - "4229209688c33fedea7c847bfdeafa24" - ], - [ - "LambdaOmega.__proj__TyApp__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "e6b354926893b833330b1b2403eddb13" - ], - [ - "LambdaOmega.__proj__TyApp__item__e1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "6a84c10a5eca0ab2d3cf915f0731be43" - ], - [ - "LambdaOmega.__proj__TyApp__item__e2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "53a9cc1144ef0b5a4da1157fe092c66e" - ], - [ - "LambdaOmega.__proj__TyApp__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "c42c8f399a73f791f0936de121678b59" - ], - [ - "LambdaOmega.__proj__TyApp__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "58982c010c2325d51827f9d38a89b0f5" - ], - [ - "LambdaOmega.__proj__TyApp__item__ht1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyApp", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "0b29b5b1084498fff92bee61db5d1993" - ], - [ - "LambdaOmega.__proj__TyApp__item__ht2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyApp", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_ab4cb8fa197f45ed841906ed55823594" - ], - 0, - "8785b76ae39783963ce9ae3965c54178" - ], - [ - "LambdaOmega.__proj__TyEqu__item__g", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "6e21954973a08aff4e452aaf4565ad02" - ], - [ - "LambdaOmega.__proj__TyEqu__item__e", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "b2b34a4a9fb2320a125d9547a7e7e13c" - ], - [ - "LambdaOmega.__proj__TyEqu__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "cb75d16682e79d89c8889918684e8963" - ], - [ - "LambdaOmega.__proj__TyEqu__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "fbd92f345f55f15e614abc0590cf882f" - ], - [ - "LambdaOmega.__proj__TyEqu__item__ht", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyEqu", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "71a86bd802e0320c5e130b191cddcf9e" - ], - [ - "LambdaOmega.__proj__TyEqu__item__he", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyEqu", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "0eac056fa286d3a00e47e5e089cba428" - ], - [ - "LambdaOmega.__proj__TyEqu__item__hk", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TyEqu", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_2635e6877e41c9cf36c2d8ae57b4df9b" - ], - 0, - "3f2ce9efe8cba823f8d0fcd830db1522" - ], - [ - "LambdaOmega.progress", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Constructive_pretyping_ec7f6accda98fe92e9f2ddc2265c6e3a", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "LambdaOmega_pretyping_1c3eda042f75cb90bd281a839e46e47d", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_0", - "binder_x_66baa181dd1f16ff8b0da344a3ce1042_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "constructor_distinct_LambdaOmega.TArr", - "data_elim_LambdaOmega.EVar", "data_elim_LambdaOmega.TyApp", - "data_elim_LambdaOmega.TyEqu", "data_elim_LambdaOmega.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.ELam", "disc_equation_LambdaOmega.TyApp", - "disc_equation_LambdaOmega.TyEqu", "equation_LambdaOmega.empty", - "equation_LambdaOmega.empty_x", "equation_LambdaOmega.is_value", - "equation_LambdaOmega.lookup_evar", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.exp", - "fuel_guarded_inversion_LambdaOmega.typ", - "fuel_guarded_inversion_LambdaOmega.typing", "int_inversion", - "proj_equation_LambdaOmega.MkEnv_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.EVar__0", - "projection_inverse_LambdaOmega.MkEnv_x", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280", - "subterm_ordering_LambdaOmega.TyApp", - "subterm_ordering_LambdaOmega.TyEqu", - "token_correspondence_LambdaOmega.__proj__MkEnv__item__x", - "typing_LambdaOmega.is_value", "typing_LambdaOmega.uu___is_ELam" - ], - 0, - "23eaa68eb877c1274679499681793b59" - ], - [ - "LambdaOmega.tappears_free_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_0", - "disc_equation_LambdaOmega.TApp", "disc_equation_LambdaOmega.TArr", - "disc_equation_LambdaOmega.TLam", "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.var", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.typ", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", "typing_Prims.int" - ], - 0, - "24e9d2a216674232e8edb9cde219f941" - ], - [ - "LambdaOmega.envEqualT", - 1, - 1, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_LambdaOmega.knd__uu___haseq", - "kinding_LambdaOmega.knd@tok" - ], - 0, - "ee9dbf741521532bbac41b1174bc3c43" - ], - [ - "LambdaOmega.tcontext_invariance", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tappears_free_in.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tappears_free_in.fuel_instrumented", - "@query", "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_1", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_6050e9e7c1bb51167bcebb201168376a_4", - "binder_x_ef9c1148ebdedb2ba2855e7e693518db_3", "bool_inversion", - "constructor_distinct_LambdaOmega.KiLam", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.KiApp", "data_elim_LambdaOmega.KiArr", - "data_elim_LambdaOmega.KiLam", "data_elim_LambdaOmega.KiVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.KiApp", "disc_equation_LambdaOmega.KiArr", - "disc_equation_LambdaOmega.KiLam", "disc_equation_LambdaOmega.KiVar", - "equality_tok_LambdaOmega.KTyp@tok", - "equation_LambdaOmega.envEqualT", "equation_LambdaOmega.extend_tvar", - "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tappears_free_in.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.kinding", "int_inversion", - "int_typing", - "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "proj_equation_LambdaOmega.MkEnv_a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.KiLam_g", - "projection_inverse_LambdaOmega.KiLam_hk", - "projection_inverse_LambdaOmega.KiLam_k", - "projection_inverse_LambdaOmega.KiLam_k_", - "projection_inverse_LambdaOmega.KiLam_t", - "projection_inverse_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TLam__0", - "projection_inverse_LambdaOmega.TLam_t", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_3458e653754a43264e020e0cfa8f3d18", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", - "subterm_ordering_LambdaOmega.KiApp", - "subterm_ordering_LambdaOmega.KiArr", - "subterm_ordering_LambdaOmega.KiLam", - "token_correspondence_LambdaOmega.__proj__MkEnv__item__a", - "token_correspondence_LambdaOmega.tappears_free_in.fuel_instrumented", - "typing_LambdaOmega.tappears_free_in", - "typing_tok_LambdaOmega.KTyp@tok" - ], - 0, - "333f2f10a2f71c73be8cbb377756a27f" - ], - [ - "LambdaOmega.kinding_extensional", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_31b49f4dad8d7c150a0642ac10fe7db6_4", - "binder_x_8aaf1d45bebed33bc36bbf557748330b_3", - "constructor_distinct_LambdaOmega.KiLam", - "data_elim_LambdaOmega.KiApp", "data_elim_LambdaOmega.KiArr", - "data_elim_LambdaOmega.KiLam", "data_elim_LambdaOmega.KiVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.KiApp", "disc_equation_LambdaOmega.KiArr", - "disc_equation_LambdaOmega.KiLam", "disc_equation_LambdaOmega.KiVar", - "equality_tok_LambdaOmega.KTyp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.extend_tvar", - "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.kinding", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "int_inversion", "int_typing", - "interpretation_Tm_abs_d0ac3e691ad180385451b64a9ace6920", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "proj_equation_LambdaOmega.MkEnv_a", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.KiLam_g", - "projection_inverse_LambdaOmega.KiLam_hk", - "projection_inverse_LambdaOmega.KiLam_k", - "projection_inverse_LambdaOmega.KiLam_k_", - "projection_inverse_LambdaOmega.KiLam_t", - "projection_inverse_LambdaOmega.MkEnv_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", - "refinement_interpretation_Tm_refine_a98769239d9b45c5fe1586dd5ec4a675", - "subterm_ordering_LambdaOmega.KiApp", - "subterm_ordering_LambdaOmega.KiArr", - "subterm_ordering_LambdaOmega.KiLam", - "typing_tok_LambdaOmega.KTyp@tok" - ], - 0, - "0e179d37f8471b9143793dc03c2f9331" - ], - [ - "LambdaOmega.kinding_weakening_ebnd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.extend_evar", - "equation_LambdaOmega.lookup_tvar", "equation_Prims.nat", - "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", - "proj_equation_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.MkEnv_a" - ], - 0, - "55fd2a769552b9232fe0cc1704c0d76d" - ], - [ - "LambdaOmega.tshift_up_above_lam", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cccfb74370f93d18a9c798f45fec8576" - ], - [ - "LambdaOmega.tshift_up_above_lam", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", - "equation_LambdaOmega.tshift_up_above", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "06fe2a4db50f31097a8a3872e86ffce9" - ], - [ - "LambdaOmega.tshift_up_above_lam", - 3, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "LambdaOmega_interpretation_Tm_arrow_af7a990611c7c891cd2476ef479fe7e6", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.trenaming", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_LambdaOmega.tsub_inc_above", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_8bf2deaceafb7a389a3b7b1e496ee380", - "interpretation_Tm_abs_c3d39ec559ae60d73d8273dd8c0e0d25", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_0d4a7b28948e10e7910f7a80390248d0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8ce46bcd45ce8fd25452750898637c35", - "refinement_interpretation_Tm_refine_b62263626586659ba57dd25bd279beb8", - "token_correspondence_LambdaOmega.tsub_inc", - "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.tsub_inc_above", - "typing_Tm_abs_8bf2deaceafb7a389a3b7b1e496ee380" - ], - 0, - "f1e9cb4bf778f1c808d54bf7da7efc6b" - ], - [ - "LambdaOmega.kinding_weakening_tbnd", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "LambdaOmega_pretyping_70c83ac278a85936c5acf6225bba94f0", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_70c83ac278a85936c5acf6225bba94f0_5", - "binder_x_8aaf1d45bebed33bc36bbf557748330b_3", - "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_4", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LambdaOmega.KiApp", - "constructor_distinct_LambdaOmega.KiLam", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.KiApp", "data_elim_LambdaOmega.KiLam", - "data_elim_LambdaOmega.KiVar", "data_elim_LambdaOmega.TVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.KiApp", "disc_equation_LambdaOmega.KiArr", - "disc_equation_LambdaOmega.KiLam", "disc_equation_LambdaOmega.KiVar", - "equality_tok_LambdaOmega.KTyp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.extend_tvar", - "equation_LambdaOmega.lookup_tvar", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "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", - "kinding_LambdaOmega.knd@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LambdaOmega.MkEnv_a", - "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", - "projection_inverse_LambdaOmega.KiApp_t2", - "projection_inverse_LambdaOmega.KiArr_g", - "projection_inverse_LambdaOmega.KiArr_hk1", - "projection_inverse_LambdaOmega.KiArr_hk2", - "projection_inverse_LambdaOmega.KiArr_t1", - "projection_inverse_LambdaOmega.KiArr_t2", - "projection_inverse_LambdaOmega.KiLam_g", - "projection_inverse_LambdaOmega.KiLam_hk", - "projection_inverse_LambdaOmega.KiLam_k", - "projection_inverse_LambdaOmega.KiLam_k_", - "projection_inverse_LambdaOmega.KiLam_t", - "projection_inverse_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_993a048a28d1b26044734a9b4a5efdcc", - "subterm_ordering_LambdaOmega.KiApp", - "subterm_ordering_LambdaOmega.KiArr", - "subterm_ordering_LambdaOmega.KiLam", - "token_correspondence_LambdaOmega.__proj__MkEnv__item__a", - "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.extend_tvar", "typing_LambdaOmega.lookup_evar", - "typing_LambdaOmega.lookup_tvar", - "typing_LambdaOmega.tshift_up_above", - "typing_tok_LambdaOmega.KTyp@tok" - ], - 0, - "9cacc9a796a6432eb0c248002c85cdc7" - ], - [ - "LambdaOmega.kinding_strengthening_ebnd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.extend_evar", - "equation_LambdaOmega.lookup_tvar", "equation_Prims.nat", - "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", - "proj_equation_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.MkEnv_a" - ], - 0, - "fd5a302f12c9a7a94ad4488e8cfbc13c" - ], - [ - "LambdaOmega.kinding_inversion_arrow", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_4ec9cee12653f71264ae877912389a8b_3", - "constructor_distinct_LambdaOmega.KArr", - "constructor_distinct_LambdaOmega.KTyp", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TVar", - "disc_equation_LambdaOmega.KiArr", - "equality_tok_LambdaOmega.KTyp@tok", - "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.kinding", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.KiArr_g", - "projection_inverse_LambdaOmega.KiArr_t1", - "projection_inverse_LambdaOmega.KiArr_t2", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1" - ], - 0, - "db0b313fda66705c118c7d8150d5194f" - ], - [ - "LambdaOmega.typing_to_kinding", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_6a04811a3f854d3aedcee81cba095638_3", - "constructor_distinct_LambdaOmega.TyLam", - "data_elim_LambdaOmega.TyApp", "data_elim_LambdaOmega.TyEqu", - "data_elim_LambdaOmega.TyLam", "data_elim_LambdaOmega.TyVar", - "disc_equation_LambdaOmega.TyApp", "disc_equation_LambdaOmega.TyEqu", - "disc_equation_LambdaOmega.TyLam", "disc_equation_LambdaOmega.TyVar", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.typing", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.TyLam_e1", - "projection_inverse_LambdaOmega.TyLam_g", - "projection_inverse_LambdaOmega.TyLam_hk", - "projection_inverse_LambdaOmega.TyLam_ht", - "projection_inverse_LambdaOmega.TyLam_t", - "projection_inverse_LambdaOmega.TyLam_t_", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.TyApp", - "subterm_ordering_LambdaOmega.TyLam" - ], - 0, - "c84301c6bd200e1604581fb91836a37a" - ], - [ - "LambdaOmega.tshift_up_above_tsubst_beta_aux", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "55d4a2a41c8f2b58c8d770a5c46aabbc" - ], - [ - "LambdaOmega.tshift_up_above_tsubst_beta_aux", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsub_comp", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", - "int_typing", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c71882535845cace6743477a5ad3a8ac", - "token_correspondence_LambdaOmega.tsub_comp", - "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.tsub_inc_above", "typing_LambdaOmega.tsubst", - "typing_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" - ], - 0, - "d5384636ef34d5ac98ed7b2daedadfaf" - ], - [ - "LambdaOmega.tshift_up_above_tsubst_beta", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fc6b63b11456f806f707e3590641b943" - ], - [ - "LambdaOmega.tshift_up_above_tsubst_beta", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_e3b37ecd4c5cc1413b8e8080739cbfe3_0", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.tshift_up_above", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsubst_beta", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_comp", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b326a5d889b05a7f05aefa03a0ae3f83" - ], - [ - "LambdaOmega.tshift_up_above_tsubst_beta", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "74296655fb3fb02fa6e86b2a6d50f4fa" - ], - [ - "LambdaOmega.tequiv_tshift", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_5cab34c66eb89a1d6c55fc593f4ae190_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "data_elim_LambdaOmega.EqApp", "data_elim_LambdaOmega.EqArr", - "data_elim_LambdaOmega.EqBeta", "data_elim_LambdaOmega.EqLam", - "data_elim_LambdaOmega.EqRefl", "data_elim_LambdaOmega.EqSymm", - "data_elim_LambdaOmega.EqTran", "disc_equation_LambdaOmega.EqApp", - "disc_equation_LambdaOmega.EqArr", - "disc_equation_LambdaOmega.EqBeta", - "disc_equation_LambdaOmega.EqLam", - "disc_equation_LambdaOmega.EqRefl", - "disc_equation_LambdaOmega.EqSymm", - "disc_equation_LambdaOmega.EqTran", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.tequiv", - "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.EqApp", - "subterm_ordering_LambdaOmega.EqArr", - "subterm_ordering_LambdaOmega.EqLam", - "subterm_ordering_LambdaOmega.EqSymm", - "subterm_ordering_LambdaOmega.EqTran" - ], - 0, - "f9bec879009a3941d8a242d00c359934" - ], - [ - "LambdaOmega.is_renaming", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9195fc48fb1fed46e22584772c46e277" - ], - 0, - "c97029e359049bc0124b8191d39ec51c" - ], - [ - "LambdaOmega.subst_typing", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_LambdaOmega.env", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280" - ], - 0, - "3027973b3e24dd0acbcf8d883b13f8ac" - ], - [ - "LambdaOmega.substitution", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.esub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.esubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.esubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", - "LambdaOmega_interpretation_Tm_arrow_9fc94ff913fdb9cf171d478e92b8e694", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "LambdaOmega_pretyping_28dc979f1984880644d80b013400cc16", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_4", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", - "binder_x_2467ea16a8390f133518a74f18615c52_3", - "binder_x_6a04811a3f854d3aedcee81cba095638_5", - "binder_x_f5f530b2c111e92fad1518951621ccae_6", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_LambdaOmega.EApp", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "constructor_distinct_LambdaOmega.TyApp", - "constructor_distinct_LambdaOmega.TyLam", - "data_elim_LambdaOmega.TyApp", "data_elim_LambdaOmega.TyEqu", - "data_elim_LambdaOmega.TyLam", "data_elim_LambdaOmega.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_LambdaOmega.EVar", "disc_equation_LambdaOmega.TyApp", - "disc_equation_LambdaOmega.TyEqu", "disc_equation_LambdaOmega.TyLam", - "disc_equation_LambdaOmega.TyVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.erenaming", "equation_LambdaOmega.esub", - "equation_LambdaOmega.esub_inc", "equation_LambdaOmega.extend_evar", - "equation_LambdaOmega.is_renaming", "equation_LambdaOmega.is_var", - "equation_LambdaOmega.lookup_evar", - "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.renaming", - "equation_LambdaOmega.subst_typing", "equation_LambdaOmega.var", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_LambdaOmega.esub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.esubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.typing", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "function_token_typing_LambdaOmega.esub_inc", - "function_token_typing_LambdaOmega.esub_lam", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", - "interpretation_Tm_abs_f3211b767c48df41a375f6d933ed84f5", - "kinding_LambdaOmega.typ@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "proj_equation_LambdaOmega.MkEnv_a", - "proj_equation_LambdaOmega.MkEnv_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.EApp__0", - "projection_inverse_LambdaOmega.EApp__1", - "projection_inverse_LambdaOmega.EVar__0", - "projection_inverse_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.MkEnv_x", - "projection_inverse_LambdaOmega.TyApp_e1", - "projection_inverse_LambdaOmega.TyApp_e2", - "projection_inverse_LambdaOmega.TyApp_g", - "projection_inverse_LambdaOmega.TyApp_ht1", - "projection_inverse_LambdaOmega.TyApp_ht2", - "projection_inverse_LambdaOmega.TyApp_t1", - "projection_inverse_LambdaOmega.TyApp_t2", - "projection_inverse_LambdaOmega.TyEqu_e", - "projection_inverse_LambdaOmega.TyEqu_g", - "projection_inverse_LambdaOmega.TyEqu_ht", - "projection_inverse_LambdaOmega.TyEqu_t1", - "projection_inverse_LambdaOmega.TyEqu_t2", - "projection_inverse_LambdaOmega.TyLam_e1", - "projection_inverse_LambdaOmega.TyLam_g", - "projection_inverse_LambdaOmega.TyLam_hk", - "projection_inverse_LambdaOmega.TyLam_ht", - "projection_inverse_LambdaOmega.TyLam_t", - "projection_inverse_LambdaOmega.TyLam_t_", - "refinement_interpretation_Tm_refine_15f6cd009e691c5f1d67622a139dd963", - "refinement_interpretation_Tm_refine_16db7d9e55ec639a8c277fda1d255e67", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6719be171bf8bda3993c40ae08337d39", - "refinement_interpretation_Tm_refine_81999752ba35b75f9da32474ba55d280", - "refinement_interpretation_Tm_refine_9af9d24fd256966b65deb5bb6b654d2b", - "refinement_interpretation_Tm_refine_c56c8f366a592e10a20c89d1e73735e7", - "subterm_ordering_LambdaOmega.TyApp", - "subterm_ordering_LambdaOmega.TyEqu", - "subterm_ordering_LambdaOmega.TyLam", - "token_correspondence_LambdaOmega.__proj__MkEnv__item__x", - "token_correspondence_LambdaOmega.esub_inc", - "token_correspondence_LambdaOmega.esub_lam", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_LambdaOmega.extend_evar", "typing_LambdaOmega.is_renaming", - "typing_LambdaOmega.is_var", "typing_LambdaOmega.lookup_evar", - "typing_LambdaOmega.renaming", "typing_LambdaOmega.uu___is_EVar", - "well-founded-ordering-on-nat" - ], - 0, - "f006b99e00d354afd4ccc33adc9deae7" - ], - [ - "LambdaOmega.typing_substitution", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_interpretation_Tm_arrow_06bd065149458295e65033e8ae238f27", - "LambdaOmega_interpretation_Tm_arrow_f2f5735f83eb8bfca6370b1475c119f3", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_4", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_1", - "data_elim_LambdaOmega.EVar", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.esub", "equation_LambdaOmega.esub_beta", - "equation_LambdaOmega.extend_evar", - "equation_LambdaOmega.lookup_evar", - "equation_LambdaOmega.lookup_tvar", "equation_LambdaOmega.var", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "function_token_typing_LambdaOmega.__proj__MkEnv__item__a", - "function_token_typing_LambdaOmega.esub_beta", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_0e615b7342fa94b702d0189b28cd0215", - "interpretation_Tm_abs_58f7b77376fdfbfe40fd648ed99aee32", - "interpretation_Tm_abs_f3211b767c48df41a375f6d933ed84f5", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_LambdaOmega.MkEnv_a", - "proj_equation_LambdaOmega.MkEnv_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_LambdaOmega.MkEnv_a", - "projection_inverse_LambdaOmega.MkEnv_x", - "refinement_interpretation_Tm_refine_3d1481e163e7c11ab4c5e86e915875dc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LambdaOmega.__proj__MkEnv__item__x", - "token_correspondence_LambdaOmega.esub_beta" - ], - 0, - "561904b4b3d9b405c02fb6fb8aca6941" - ], - [ - "LambdaOmega.tsubst_gen_tlam_aux", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "639055eedfe1287ab1ad278815461b6b" - ], - [ - "LambdaOmega.tsubst_gen_tlam_aux", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsub_lam.fuel_instrumented", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_LambdaOmega.typ__uu___haseq", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.trenaming", "equation_LambdaOmega.tshift_up", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsub_inc", - "equation_LambdaOmega.tsub_inc_above", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsub_lam.fuel_instrumented", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LambdaOmega.tsub_beta_gen", - "token_correspondence_LambdaOmega.tsub_inc", - "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.tsub_beta_gen", "unit_inversion", "unit_typing" - ], - 0, - "12c5aac3fd6944e72cb578f096aaaf16" - ], - [ - "LambdaOmega.tsubst_gen_tlam", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_LambdaOmega.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "14faad7d60e6ba0bb2b23d915373ef32" - ], - [ - "LambdaOmega.tsubst_gen_tlam", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", - "function_token_typing_LambdaOmega.tsub_beta_gen", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LambdaOmega.tsub_lam" - ], - 0, - "a60b90d52adc7393491d339c691bae6e" - ], - [ - "LambdaOmega.tred", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.knd__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "b2f902e258d8f6aadc1d4b05886bec69" - ], - [ - "LambdaOmega.__proj__TrRefl__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ec02c1428e5505f04555fdddbba4f245" - ], - 0, - "97ad4129344694e23b18fbda5733c0d3" - ], - [ - "LambdaOmega.__proj__TrArr__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "6ba0559922e521f8c57701987b45345e" - ], - [ - "LambdaOmega.__proj__TrArr__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "bf09ea9b92d848c693dc60632d4c7b65" - ], - [ - "LambdaOmega.__proj__TrArr__item__t1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "afcf6de1d7737321f0eca675adccbd4c" - ], - [ - "LambdaOmega.__proj__TrArr__item__t2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "ffd4a3bed6ca2ddf3075e5e30abe4793" - ], - [ - "LambdaOmega.__proj__TrArr__item__hr1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrArr", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "20dad4a13cd51abeda8290fb0bcb14fb" - ], - [ - "LambdaOmega.__proj__TrArr__item__hr2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrArr", - "refinement_interpretation_Tm_refine_4d289fb60788d34abe668dc7e93589fa" - ], - 0, - "a0af47f82c8e4ed8535b6ac8b5931ef1" - ], - [ - "LambdaOmega.__proj__TrLam__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" - ], - 0, - "0c68bd6fe1055f2f603c950b0c05217c" - ], - [ - "LambdaOmega.__proj__TrLam__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" - ], - 0, - "973dd7db405a83c757f699d6f0fecf3a" - ], - [ - "LambdaOmega.__proj__TrLam__item__k", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" - ], - 0, - "976710ced18cd02e2ca09ebfd7340deb" - ], - [ - "LambdaOmega.__proj__TrLam__item__hr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrLam", - "refinement_interpretation_Tm_refine_bf3a63a27ea0499fb041e30a446eb617" - ], - 0, - "a2cd11a83b0078f70a42100a3ce0eb1e" - ], - [ - "LambdaOmega.__proj__TrApp__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "68d8fcb74fbd3b15f7a2ff3595bb9746" - ], - [ - "LambdaOmega.__proj__TrApp__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "fa61595e80999fc5bc8714065d539d6d" - ], - [ - "LambdaOmega.__proj__TrApp__item__t1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "cdae210010ad53f799d413f204c3980b" - ], - [ - "LambdaOmega.__proj__TrApp__item__t2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "c2ef5fa325d6e3c3cc40ecbc12febaf3" - ], - [ - "LambdaOmega.__proj__TrApp__item__hr1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrApp", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "bef4253f487d18b5a336bfc9e3ab43e8" - ], - [ - "LambdaOmega.__proj__TrApp__item__hr2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrApp", - "refinement_interpretation_Tm_refine_be3c1c969fb12afd258c2a6cdad94c02" - ], - 0, - "3d7705cfd82e0458446482938a45839b" - ], - [ - "LambdaOmega.__proj__TrBeta__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "ca0f64ad3804ee5c5ebe1613be57408f" - ], - [ - "LambdaOmega.__proj__TrBeta__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "59161cbfcd066cdbbf9eb87528270749" - ], - [ - "LambdaOmega.__proj__TrBeta__item__t1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "181452c7d86747de2ca7295b6e452989" - ], - [ - "LambdaOmega.__proj__TrBeta__item__t2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "8b55714e814c85c20e0af609a3ff8a8b" - ], - [ - "LambdaOmega.__proj__TrBeta__item__k", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "b5a9714827fbf7d1b805e7a1c45d6b69" - ], - [ - "LambdaOmega.__proj__TrBeta__item__hr1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrBeta", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "7d669c86d7e7a0939686ac8c34958b2b" - ], - [ - "LambdaOmega.__proj__TrBeta__item__hr2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TrBeta", - "refinement_interpretation_Tm_refine_751053537ea8e71ce6fb8aa198bb367f" - ], - 0, - "ef67cf92e128400545ec7b20d2413d68" - ], - [ - "LambdaOmega.tred_shiftup_above", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e93b1302a18a833d9aeed77330c8e15a_3", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "data_elim_LambdaOmega.TrApp", "data_elim_LambdaOmega.TrArr", - "data_elim_LambdaOmega.TrBeta", "data_elim_LambdaOmega.TrLam", - "data_elim_LambdaOmega.TrRefl", "disc_equation_LambdaOmega.TrApp", - "disc_equation_LambdaOmega.TrArr", - "disc_equation_LambdaOmega.TrBeta", - "disc_equation_LambdaOmega.TrLam", - "disc_equation_LambdaOmega.TrRefl", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.tred", - "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.TrApp", - "subterm_ordering_LambdaOmega.TrArr", - "subterm_ordering_LambdaOmega.TrBeta", - "subterm_ordering_LambdaOmega.TrLam" - ], - 0, - "cdf4ee52c3ea3286b9ca083c40bbf91b" - ], - [ - "LambdaOmega.subst_of_tred", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_18f4961c1d91234a8baf199895e17f88_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", "disc_equation_LambdaOmega.TApp", - "disc_equation_LambdaOmega.TArr", "disc_equation_LambdaOmega.TLam", - "disc_equation_LambdaOmega.TVar", "equation_LambdaOmega.tshift_up", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.TApp", - "subterm_ordering_LambdaOmega.TArr", - "subterm_ordering_LambdaOmega.TLam", - "typing_LambdaOmega.tsub_beta_gen", - "typing_LambdaOmega.tsubst_beta_gen", "typing_Prims.int" - ], - 0, - "6c363ae3078e3210664a7d5cbcc6da70" - ], - [ - "LambdaOmega.shift_above_and_subst", - 1, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "a7b9bdee89a4236f3c1f39c3dc14bdc9" - ], - [ - "LambdaOmega.shift_above_and_subst", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", - "LambdaOmega_interpretation_Tm_arrow_1985927471cb43fb77bae5f2d8f48e8e", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "constructor_distinct_LambdaOmega.TVar", - "data_elim_LambdaOmega.TVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.ts", "equation_LambdaOmega.tsh", - "equation_LambdaOmega.tshift_up_above", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsub_comp", "equation_LambdaOmega.tsub_id", - "equation_LambdaOmega.tsub_inc_above", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_LambdaOmega.tsub_inc_above", "int_inversion", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LambdaOmega.tsub_inc_above", - "typing_LambdaOmega.tsub_beta_gen", - "typing_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844" - ], - 0, - "91978ed5eb99e86a6f342d42af5d0c44" - ], - [ - "LambdaOmega.shift_above_and_subst", - 3, - 1, - 1, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "53399f89c8a2c8f98124d807fbd1d0eb" - ], - [ - "LambdaOmega.tsubst_commute_aux", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "6c4239f1711974e9ee73da9e25076c9d" - ], - [ - "LambdaOmega.tsubst_commute_aux", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@query", - "LambdaOmega_interpretation_Tm_arrow_565eae57a9681fcaf18355d36a40d86c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_LambdaOmega.TVar", "equation_LambdaOmega.ts", - "equation_LambdaOmega.tsh", "equation_LambdaOmega.tsub", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsub_comp", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_33ec3b2b07ca5d81dfc0f4e6f3aae844", - "interpretation_Tm_abs_55787ff87ff44db96d410d941f4f43c6", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "token_correspondence_LambdaOmega.tsub_comp", - "typing_LambdaOmega.tsub_beta_gen", - "typing_Tm_abs_55787ff87ff44db96d410d941f4f43c6" - ], - 0, - "c0ed910e59f667b61a02f25259d7ce2f" - ], - [ - "LambdaOmega.tsubst_commute", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "d6682136c164ff1bdbc41ae5c789f967" - ], - [ - "LambdaOmega.tsubst_commute", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_ea3b2c7e81fd9e0b42f9e02adb99fd82_3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_LambdaOmega.ts", "equation_LambdaOmega.tsh", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsub_comp", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", "function_token_typing_LambdaOmega.tsub_comp", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a7ee391026890c35c50aa78e24f7d2f1" - ], - 0, - "34e5b9dfb7811ac2dfa5021f886b9a74" - ], - [ - "LambdaOmega.tsubst_commute", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_LambdaOmega.typ__uu___haseq", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "292a76523d81fbf14639ac4a39e799cc" - ], - [ - "LambdaOmega.subst_of_tred_tred", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LambdaOmega.tsubst.fuel_instrumented", - "@fuel_irrelevance_LambdaOmega.tsubst.fuel_instrumented", "@query", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_18f4961c1d91234a8baf199895e17f88_2", - "binder_x_18f4961c1d91234a8baf199895e17f88_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_d896225a1ee0893734646fc1e9ce385b_6", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "data_elim_LambdaOmega.TrApp", "data_elim_LambdaOmega.TrArr", - "data_elim_LambdaOmega.TrBeta", "data_elim_LambdaOmega.TrLam", - "data_elim_LambdaOmega.TrRefl", "disc_equation_LambdaOmega.TrApp", - "disc_equation_LambdaOmega.TrArr", - "disc_equation_LambdaOmega.TrBeta", - "disc_equation_LambdaOmega.TrLam", - "disc_equation_LambdaOmega.TrRefl", "equation_LambdaOmega.ts", - "equation_LambdaOmega.tsh", "equation_LambdaOmega.tshift_up", - "equation_LambdaOmega.tsub_beta_gen", - "equation_LambdaOmega.tsubst_beta", - "equation_LambdaOmega.tsubst_beta_gen", "equation_LambdaOmega.var", - "equation_Prims.nat", - "equation_with_fuel_LambdaOmega.tsubst.fuel_instrumented", - "fuel_guarded_inversion_LambdaOmega.tred", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_LambdaOmega.TrApp", - "subterm_ordering_LambdaOmega.TrArr", - "subterm_ordering_LambdaOmega.TrBeta", - "subterm_ordering_LambdaOmega.TrLam", - "typing_LambdaOmega.tsub_beta_gen" - ], - 0, - "2e58ac9167ed88bc54972fe9ca47d3f3" - ], - [ - "LambdaOmega.ltup", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.tred__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "5ce19ebe144909e3cac8db785a51ccaf" - ], - [ - "LambdaOmega.tred_diamond", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_fc54b77d67f7fd78ec980140329808e0", - "binder_x_73a4da1608c32b8da46d37d2ec622c33_4", - "binder_x_e93b1302a18a833d9aeed77330c8e15a_3", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "constructor_distinct_LambdaOmega.TrBeta", - "constructor_distinct_LambdaOmega.TrLam", - "data_elim_LambdaOmega.TrApp", "data_elim_LambdaOmega.TrArr", - "data_elim_LambdaOmega.TrBeta", "data_elim_LambdaOmega.TrLam", - "data_elim_LambdaOmega.TrRefl", "disc_equation_LambdaOmega.TLam", - "disc_equation_LambdaOmega.TrApp", "disc_equation_LambdaOmega.TrArr", - "disc_equation_LambdaOmega.TrBeta", - "disc_equation_LambdaOmega.TrLam", - "disc_equation_LambdaOmega.TrRefl", - "equation_LambdaOmega.tsubst_beta", - "fuel_guarded_inversion_LambdaOmega.tred", - "proj_equation_LambdaOmega.MkLTup_h1", - "proj_equation_LambdaOmega.MkLTup_h2", - "proj_equation_LambdaOmega.MkLTup_s", - "proj_equation_LambdaOmega.MkLTup_t", - "proj_equation_LambdaOmega.MkLTup_u", - "proj_equation_LambdaOmega.TLam_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.MkLTup_h1", - "projection_inverse_LambdaOmega.MkLTup_h2", - "projection_inverse_LambdaOmega.MkLTup_s", - "projection_inverse_LambdaOmega.MkLTup_t", - "projection_inverse_LambdaOmega.MkLTup_u", - "projection_inverse_LambdaOmega.TApp__0", - "projection_inverse_LambdaOmega.TApp__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TLam__0", - "projection_inverse_LambdaOmega.TLam_t", - "projection_inverse_LambdaOmega.TrApp_hr1", - "projection_inverse_LambdaOmega.TrApp_hr2", - "projection_inverse_LambdaOmega.TrApp_t1", - "projection_inverse_LambdaOmega.TrApp_t1_", - "projection_inverse_LambdaOmega.TrApp_t2", - "projection_inverse_LambdaOmega.TrApp_t2_", - "projection_inverse_LambdaOmega.TrArr_hr1", - "projection_inverse_LambdaOmega.TrArr_hr2", - "projection_inverse_LambdaOmega.TrArr_t1", - "projection_inverse_LambdaOmega.TrArr_t1_", - "projection_inverse_LambdaOmega.TrArr_t2", - "projection_inverse_LambdaOmega.TrArr_t2_", - "projection_inverse_LambdaOmega.TrBeta_hr1", - "projection_inverse_LambdaOmega.TrBeta_hr2", - "projection_inverse_LambdaOmega.TrBeta_k", - "projection_inverse_LambdaOmega.TrBeta_t1", - "projection_inverse_LambdaOmega.TrBeta_t1_", - "projection_inverse_LambdaOmega.TrBeta_t2", - "projection_inverse_LambdaOmega.TrBeta_t2_", - "projection_inverse_LambdaOmega.TrLam_hr", - "projection_inverse_LambdaOmega.TrLam_k", - "projection_inverse_LambdaOmega.TrLam_t1", - "projection_inverse_LambdaOmega.TrLam_t2", - "subterm_ordering_LambdaOmega.TrApp", - "subterm_ordering_LambdaOmega.TrArr", - "subterm_ordering_LambdaOmega.TrBeta", - "subterm_ordering_LambdaOmega.TrLam" - ], - 0, - "100a89fff1eb37addd6f60734a953057" - ], - [ - "LambdaOmega.tred_star", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.tred__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "acb982d6a23cf573b2a9025bab69154a" - ], - [ - "LambdaOmega.__proj__TsRefl__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a7575284e0bd4a4c04a45a4b9ef5e55" - ], - 0, - "b5bee06e624378654b0f86839ba73692" - ], - [ - "LambdaOmega.__proj__TsStep__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" - ], - 0, - "2c848f6c217505cc83c0e0d0291e01ce" - ], - [ - "LambdaOmega.__proj__TsStep__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" - ], - 0, - "a248e5eec944f45f37ae20788999c075" - ], - [ - "LambdaOmega.__proj__TsStep__item__t3", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" - ], - 0, - "f7d793b7379a1bc15141990a681dde2d" - ], - [ - "LambdaOmega.__proj__TsStep__item__hr12", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TsStep", - "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" - ], - 0, - "ea117d637cc9ac182f674225fe6688c8" - ], - [ - "LambdaOmega.__proj__TsStep__item__hr23", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TsStep", - "refinement_interpretation_Tm_refine_27c2ad5518b929beb45b7e301f23e06d" - ], - 0, - "1898a521d5d27d5ba6a79b7e3f24f622" - ], - [ - "LambdaOmega.tred_star_one_loop", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_179c8531fbd5c9c6ed1b1abc6843d832_4", - "data_elim_LambdaOmega.TsRefl", "data_elim_LambdaOmega.TsStep", - "disc_equation_LambdaOmega.TsRefl", - "disc_equation_LambdaOmega.TsStep", - "fuel_guarded_inversion_LambdaOmega.tred_star", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TsStep" - ], - 0, - "d11e29956501cd8e6e705c2217c07333" - ], - [ - "LambdaOmega.confluence", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a6f7f32122b72dcc41335886986f3476_3", - "data_elim_LambdaOmega.TsRefl", "data_elim_LambdaOmega.TsStep", - "disc_equation_LambdaOmega.TsRefl", - "disc_equation_LambdaOmega.TsStep", - "fuel_guarded_inversion_LambdaOmega.tred_star", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TsStep" - ], - 0, - "ee5d55f481f7a217dce9a65c852238f4" - ], - [ - "LambdaOmega.ts_tran", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a6f7f32122b72dcc41335886986f3476_3", - "data_elim_LambdaOmega.TsRefl", "data_elim_LambdaOmega.TsStep", - "disc_equation_LambdaOmega.TsRefl", - "disc_equation_LambdaOmega.TsStep", - "fuel_guarded_inversion_LambdaOmega.tred_star", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TsStep" - ], - 0, - "54e788f2ce27297bc2a99209d89253b3" - ], - [ - "LambdaOmega.tred_star_sym", - 1, - 1, - 1, - [ - "@query", "assumption_LambdaOmega.tred__uu___haseq", - "assumption_LambdaOmega.typ__uu___haseq" - ], - 0, - "82ec6955277d1e8ffe3b056f4de9060c" - ], - [ - "LambdaOmega.__proj__TssBase__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" - ], - 0, - "a2d89f96cc5222a1a3eac546f8168369" - ], - [ - "LambdaOmega.__proj__TssBase__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" - ], - 0, - "75ee6d29c8cda79c1a4d17123b4a124e" - ], - [ - "LambdaOmega.__proj__TssBase__item__hr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TssBase", - "refinement_interpretation_Tm_refine_e774fb47cabdd53e6589874e05145da9" - ], - 0, - "c6e8262bbaea04e3e58b97d1af8e2f7d" - ], - [ - "LambdaOmega.__proj__TssSym__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" - ], - 0, - "4ee72d0a967e97733be1c3713709aa3c" - ], - [ - "LambdaOmega.__proj__TssSym__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" - ], - 0, - "51f1daa9c7eca67eeb69c397c338f6da" - ], - [ - "LambdaOmega.__proj__TssSym__item__hr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TssSym", - "refinement_interpretation_Tm_refine_4a2ab3b3954c3e597f88e2dd1581f452" - ], - 0, - "69eac3a573a3c6782b4d29d0fd9b566a" - ], - [ - "LambdaOmega.__proj__TssTran__item__t1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" - ], - 0, - "618ff31f79371cb89315b2269cc138a1" - ], - [ - "LambdaOmega.__proj__TssTran__item__t2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" - ], - 0, - "fd9e894f8896701e959a7cb2375ec1bb" - ], - [ - "LambdaOmega.__proj__TssTran__item__t3", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" - ], - 0, - "4470120a7250c5f83f964e910c8ee2c4" - ], - [ - "LambdaOmega.__proj__TssTran__item__hr12", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TssTran", - "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" - ], - 0, - "e851ed97f5e6bf75eeb9a2c8af9a6ab6" - ], - [ - "LambdaOmega.__proj__TssTran__item__hr23", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LambdaOmega.TssTran", - "refinement_interpretation_Tm_refine_a1fd090cddc71f2f00c2ff6c333e4a66" - ], - 0, - "b1de0f29ecf26ca8296f8a9b9d04d712" - ], - [ - "LambdaOmega.tred_star_sym_confluent", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_464f6e0615583b74287c966fb9ba665c_2", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "6392ae427a39e6a2f5321f1038cc224b" - ], - [ - "LambdaOmega.trlam_tss", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_464f6e0615583b74287c966fb9ba665c_3", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "a2eb6e55f45b0a8ef8e2bb765e34e6e5" - ], - [ - "LambdaOmega.trapp_tss_1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_01967ab4f725aeeae6ea1421d4471b4a_3", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "764786cd8196c65ae76fd551b3756133" - ], - [ - "LambdaOmega.trapp_tss_2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3b36b0bf426340748d66d75b26f1065f_3", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "13a3d12c2c1c00c9497fa1f390172127" - ], - [ - "LambdaOmega.trarr_tss_1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_01967ab4f725aeeae6ea1421d4471b4a_3", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "51468f715aa01cdc293fcda23a73305a" - ], - [ - "LambdaOmega.trarr_tss_2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3b36b0bf426340748d66d75b26f1065f_3", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "3cab5e7b3de6d800cb57cf31ec1a3552" - ], - [ - "LambdaOmega.tequiv_tss", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5cab34c66eb89a1d6c55fc593f4ae190_2", - "data_elim_LambdaOmega.EqApp", "data_elim_LambdaOmega.EqArr", - "data_elim_LambdaOmega.EqBeta", "data_elim_LambdaOmega.EqLam", - "data_elim_LambdaOmega.EqRefl", "data_elim_LambdaOmega.EqSymm", - "data_elim_LambdaOmega.EqTran", "disc_equation_LambdaOmega.EqApp", - "disc_equation_LambdaOmega.EqArr", - "disc_equation_LambdaOmega.EqBeta", - "disc_equation_LambdaOmega.EqLam", - "disc_equation_LambdaOmega.EqRefl", - "disc_equation_LambdaOmega.EqSymm", - "disc_equation_LambdaOmega.EqTran", - "fuel_guarded_inversion_LambdaOmega.tequiv", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.EqApp", - "subterm_ordering_LambdaOmega.EqArr", - "subterm_ordering_LambdaOmega.EqLam", - "subterm_ordering_LambdaOmega.EqSymm", - "subterm_ordering_LambdaOmega.EqTran" - ], - 0, - "70ee8801c9f6b63c6b99a8af4b28f739" - ], - [ - "LambdaOmega.tred_tequiv", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e93b1302a18a833d9aeed77330c8e15a_2", - "data_elim_LambdaOmega.TrApp", "data_elim_LambdaOmega.TrArr", - "data_elim_LambdaOmega.TrBeta", "data_elim_LambdaOmega.TrLam", - "data_elim_LambdaOmega.TrRefl", "disc_equation_LambdaOmega.TrApp", - "disc_equation_LambdaOmega.TrArr", - "disc_equation_LambdaOmega.TrBeta", - "disc_equation_LambdaOmega.TrLam", - "disc_equation_LambdaOmega.TrRefl", - "fuel_guarded_inversion_LambdaOmega.tred", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TrApp", - "subterm_ordering_LambdaOmega.TrArr", - "subterm_ordering_LambdaOmega.TrBeta", - "subterm_ordering_LambdaOmega.TrLam" - ], - 0, - "3954ea1c4a74a6795adde04d9d78aed2" - ], - [ - "LambdaOmega.tred_star_tequiv", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a6f7f32122b72dcc41335886986f3476_2", - "data_elim_LambdaOmega.TsRefl", "data_elim_LambdaOmega.TsStep", - "disc_equation_LambdaOmega.TsRefl", - "disc_equation_LambdaOmega.TsStep", - "fuel_guarded_inversion_LambdaOmega.tred_star", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TsStep" - ], - 0, - "d449f278f0bdc2608d7befb37f749448" - ], - [ - "LambdaOmega.tss_tequiv", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_464f6e0615583b74287c966fb9ba665c_2", - "data_elim_LambdaOmega.TssBase", "data_elim_LambdaOmega.TssSym", - "data_elim_LambdaOmega.TssTran", "disc_equation_LambdaOmega.TssBase", - "disc_equation_LambdaOmega.TssSym", - "disc_equation_LambdaOmega.TssTran", - "fuel_guarded_inversion_LambdaOmega.tred_star_sym", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_LambdaOmega.TssSym", - "subterm_ordering_LambdaOmega.TssTran" - ], - 0, - "9ce6c400c6ccdae117bb6c569af45487" - ], - [ - "LambdaOmega.tred_tarr_preserved", - 1, - 1, - 2, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "87047adec5f0f254840a5f5f4118602a" - ], - [ - "LambdaOmega.tred_tarr_preserved", - 2, - 1, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_18f4961c1d91234a8baf199895e17f88_0", - "binder_x_9e59481a4e3898efc2263b7d0326c985_3", - "constructor_distinct_LambdaOmega.TApp", - "constructor_distinct_LambdaOmega.TArr", - "constructor_distinct_LambdaOmega.TLam", - "data_elim_FStar.Constructive.ExIntro", - "data_elim_LambdaOmega.TrArr", "data_elim_LambdaOmega.TrRefl", - "data_elim_LambdaOmega.TsRefl", "data_elim_LambdaOmega.TsStep", - "disc_equation_LambdaOmega.TrArr", - "disc_equation_LambdaOmega.TrRefl", - "disc_equation_LambdaOmega.TsRefl", - "disc_equation_LambdaOmega.TsStep", - "fuel_guarded_inversion_LambdaOmega.tred", - "fuel_guarded_inversion_LambdaOmega.tred_star", - "interpretation_Tm_abs_2f3626c38da2147ea54883e5b605087c", - "interpretation_Tm_abs_a6d62359d07b718f9e8513bc2472c001", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "refinement_interpretation_Tm_refine_9905a098cd2081ba5e7ac6fe0963c694", - "subterm_ordering_LambdaOmega.TsStep" - ], - 0, - "d0fd4ea5ba6c9d89255b9e20978e7ba8" - ], - [ - "LambdaOmega.tred_tarr_preserved", - 3, - 1, - 2, - [ "@query", "assumption_LambdaOmega.typ__uu___haseq" ], - 0, - "a28b8b18d6e8bc93600db5daa9ae3117" - ], - [ - "LambdaOmega.inversion_elam", - 1, - 1, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LambdaOmega_pretyping_18f4961c1d91234a8baf199895e17f88", - "assumption_LambdaOmega.typ__uu___haseq", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_0", - "binder_x_18f4961c1d91234a8baf199895e17f88_1", - "binder_x_1a9c47f0ca3bbe6b098b23b7c8adc768_6", - "constructor_distinct_LambdaOmega.EApp", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "constructor_distinct_LambdaOmega.TyLam", - "data_elim_FStar.Constructive.ExIntro", - "data_elim_LambdaOmega.TyEqu", "data_elim_LambdaOmega.TyLam", - "disc_equation_LambdaOmega.TyEqu", "disc_equation_LambdaOmega.TyLam", - "equation_Prims.nat", "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.typing", - "interpretation_Tm_abs_7ae603f2daea1ce53d0356db36a1bb14", - "interpretation_Tm_abs_b06b900b26d8e5f6cf2b617a322abd10", - "interpretation_Tm_abs_cd0079e364ee6b339ef57682977eb93b", - "interpretation_Tm_abs_f23a5c79fada8c788cb02f0e439363b5", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.ELam__0", - "projection_inverse_LambdaOmega.ELam__1", - "projection_inverse_LambdaOmega.TArr__0", - "projection_inverse_LambdaOmega.TArr__1", - "projection_inverse_LambdaOmega.TyLam_e1", - "projection_inverse_LambdaOmega.TyLam_g", - "projection_inverse_LambdaOmega.TyLam_hk", - "projection_inverse_LambdaOmega.TyLam_ht", - "projection_inverse_LambdaOmega.TyLam_t", - "projection_inverse_LambdaOmega.TyLam_t_", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7fec4f6a372e5b0140dba18b2961e68a", - "refinement_interpretation_Tm_refine_b5e4032467ebb0261095436b05e1ebb5", - "subterm_ordering_LambdaOmega.TyEqu" - ], - 0, - "f3b6e8196f7755985a179c77522cc494" - ], - [ - "LambdaOmega.preservation", - 1, - 1, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_092901c794fe4353c3b3c5e5b657c0b3_2", - "binder_x_0f94a85e12455d40abc5a7e501edf70a_3", - "binder_x_1c3eda042f75cb90bd281a839e46e47d_0", - "binder_x_d5c1a6f726f1229cce8956ced2750ecd_5", - "constructor_distinct_LambdaOmega.EApp", - "constructor_distinct_LambdaOmega.ELam", - "constructor_distinct_LambdaOmega.EVar", - "data_elim_LambdaOmega.SApp1", "data_elim_LambdaOmega.SApp2", - "data_elim_LambdaOmega.SBeta", "data_elim_LambdaOmega.TyApp", - "data_elim_LambdaOmega.TyEqu", "disc_equation_LambdaOmega.SApp1", - "disc_equation_LambdaOmega.SApp2", "disc_equation_LambdaOmega.SBeta", - "disc_equation_LambdaOmega.TyApp", "disc_equation_LambdaOmega.TyEqu", - "fuel_guarded_inversion_LambdaOmega.env", - "fuel_guarded_inversion_LambdaOmega.exp", - "fuel_guarded_inversion_LambdaOmega.step", - "fuel_guarded_inversion_LambdaOmega.typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LambdaOmega.EApp__0", - "projection_inverse_LambdaOmega.EApp__1", - "subterm_ordering_LambdaOmega.TyApp", - "subterm_ordering_LambdaOmega.TyEqu" - ], - 0, - "3ca1556f6ed4a116c6bc2c38ab9ffc02" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/MiniValeSemantics.fst.hints b/examples/metatheory/MiniValeSemantics.fst.hints deleted file mode 100644 index 53491f058b7..00000000000 --- a/examples/metatheory/MiniValeSemantics.fst.hints +++ /dev/null @@ -1,829 +0,0 @@ -[ - "£L\rb™[‰= “ ý©Û²ç", - [ - [ - "MiniValeSemantics.operand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_MiniValeSemantics.reg__uu___haseq", - "equation_MiniValeSemantics.nat64", "equation_Prims.eqtype", - "haseqTm_refine_b70c6c7a290daae9963f0dad8b8a49a2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f7eabe76bc608d99a176d6a1da044a12" - ], - [ - "MiniValeSemantics.__proj__OReg__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e19cc1b47db23313f2b8c63598c87f67" - ], - 0, - "67c8466badf9504335a8638a3fd724ce" - ], - [ - "MiniValeSemantics.__proj__OConst__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da3cc568c12f5974ef7f2a45eb005e88" - ], - 0, - "455777f79faf58fa0dc770faba25ed61" - ], - [ - "MiniValeSemantics.ins", - 1, - 2, - 1, - [ "@query", "assumption_MiniValeSemantics.operand__uu___haseq" ], - 0, - "0badc391b60ee8a1462d75612fc63957" - ], - [ - "MiniValeSemantics.__proj__Mov64__item__dst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_688c7d24518e11fcf2cc6adde1bbfc21" - ], - 0, - "a36652d19fcd62ada7c44ad7c232027b" - ], - [ - "MiniValeSemantics.__proj__Mov64__item__src", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_688c7d24518e11fcf2cc6adde1bbfc21" - ], - 0, - "c2a2b956b85e3281be61d660a3d009fa" - ], - [ - "MiniValeSemantics.__proj__Add64__item__dst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a68d1143124baea7b8322aa3ba6e8ed1" - ], - 0, - "16cccd78e0c3b7a0a558c956a01fba49" - ], - [ - "MiniValeSemantics.__proj__Add64__item__src", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a68d1143124baea7b8322aa3ba6e8ed1" - ], - 0, - "18e12d7d1e91343c8d5a0e63942651ae" - ], - [ - "MiniValeSemantics.code", - 1, - 2, - 1, - [ - "@query", "assumption_MiniValeSemantics.ins__uu___haseq", - "assumption_MiniValeSemantics.operand__uu___haseq", - "assumption_Prims.list__uu___haseq", - "kinding_MiniValeSemantics.code@tok" - ], - 0, - "705424f65d681b0bfef8060f491974a8" - ], - [ - "MiniValeSemantics.__proj__Ins__item__ins", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d8b66995d420cf8102a6f7e4aa7dd275" - ], - 0, - "4269984e490d95a9ed28abf239e13054" - ], - [ - "MiniValeSemantics.__proj__Block__item__block", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f0064c55a2b5d8315bfa4eb552c7335" - ], - 0, - "1fb87bb3631915f0a66d014527733e59" - ], - [ - "MiniValeSemantics.__proj__WhileLessThan__item__src1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c67ee4031ffa0c6bc5c865ca20d6a4cb" - ], - 0, - "c2f27a7f597c49fbb002e6acbb65d26e" - ], - [ - "MiniValeSemantics.__proj__WhileLessThan__item__src2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c67ee4031ffa0c6bc5c865ca20d6a4cb" - ], - 0, - "b76923fd9a733493114972e980017754" - ], - [ - "MiniValeSemantics.__proj__WhileLessThan__item__whileBody", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c67ee4031ffa0c6bc5c865ca20d6a4cb" - ], - 0, - "2f0f0c7bf1811e7565a0dd9df49b7913" - ], - [ - "MiniValeSemantics.eval_operand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_MiniValeSemantics.OConst", - "disc_equation_MiniValeSemantics.OReg", - "fuel_guarded_inversion_MiniValeSemantics.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9d2b3e3f9d54ab08a5909f3542a53938" - ], - [ - "MiniValeSemantics.update_reg", - 1, - 2, - 1, - [ "@query", "assumption_MiniValeSemantics.reg__uu___haseq" ], - 0, - "affd9785e6dc91b2a4c263418d8c448e" - ], - [ - "MiniValeSemantics.eval_ins", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_MiniValeSemantics.Add64", - "disc_equation_MiniValeSemantics.Mov64", - "disc_equation_MiniValeSemantics.OConst", - "disc_equation_MiniValeSemantics.OReg", - "equation_MiniValeSemantics.pow2_64", - "fuel_guarded_inversion_MiniValeSemantics.ins", - "fuel_guarded_inversion_MiniValeSemantics.operand", - "primitive_Prims.op_Modulus", - "proj_equation_MiniValeSemantics.Add64_dst", - "proj_equation_MiniValeSemantics.Mov64_dst", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_688c7d24518e11fcf2cc6adde1bbfc21", - "refinement_interpretation_Tm_refine_a68d1143124baea7b8322aa3ba6e8ed1", - "typing_MiniValeSemantics.__proj__Add64__item__dst", - "typing_MiniValeSemantics.__proj__Mov64__item__dst" - ], - 0, - "cc8577222ef8aaec0e84a6f180102e90" - ], - [ - "MiniValeSemantics.eval_code", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniValeSemantics_pretyping_df71b73f58694851c2b27d74cd0a6e58", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_aecceaf855f1ab2e0635e7bde98d7864_1", - "binder_x_df71b73f58694851c2b27d74cd0a6e58_0", - "disc_equation_MiniValeSemantics.Block", - "disc_equation_MiniValeSemantics.Ins", - "disc_equation_MiniValeSemantics.WhileLessThan", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", "equation_Prims.nat", - "fuel_guarded_inversion_MiniValeSemantics.code", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "kinding_Tm_arrow_35fff5d1b1420ec0ea38fb0261ddd938", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_MiniValeSemantics.Block", - "subterm_ordering_MiniValeSemantics.WhileLessThan", - "well-founded-ordering-on-nat" - ], - 0, - "cdb286a183f60ff485054d87140bbda3" - ], - [ - "MiniValeSemantics.eval_code", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_cc44a3606a56e52d6229863c1496543c_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MiniValeSemantics.state", - "fuel_guarded_inversion_Prims.list", - "kinding_Tm_arrow_35fff5d1b1420ec0ea38fb0261ddd938", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "13ff384b91767e93526cc93510093a18" - ], - [ - "MiniValeSemantics.increase_fuel", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.eval_code.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "MiniValeSemantics_pretyping_df71b73f58694851c2b27d74cd0a6e58", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_3bb27175f4ee4d95e4329195c91fd84d_1", - "binder_x_3bb27175f4ee4d95e4329195c91fd84d_3", - "binder_x_aecceaf855f1ab2e0635e7bde98d7864_2", - "binder_x_aecceaf855f1ab2e0635e7bde98d7864_4", - "binder_x_df71b73f58694851c2b27d74cd0a6e58_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_MiniValeSemantics.Ins", - "constructor_distinct_MiniValeSemantics.WhileLessThan", - "constructor_distinct_Prims.unit", - "disc_equation_MiniValeSemantics.Block", - "disc_equation_MiniValeSemantics.Ins", - "disc_equation_MiniValeSemantics.WhileLessThan", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "fuel_guarded_inversion_MiniValeSemantics.code", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_Tm_arrow_35fff5d1b1420ec0ea38fb0261ddd938", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniValeSemantics.Ins_ins", - "projection_inverse_MiniValeSemantics.WhileLessThan_src1", - "projection_inverse_MiniValeSemantics.WhileLessThan_src2", - "projection_inverse_MiniValeSemantics.WhileLessThan_whileBody", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_MiniValeSemantics.Block", - "subterm_ordering_MiniValeSemantics.WhileLessThan", - "typing_MiniValeSemantics.eval_code", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "d7676efb2ce2be4ffc91cd17a41da911" - ], - [ - "MiniValeSemantics.increase_fuel", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.eval_codes.fuel_instrumented", - "@query", - "MiniValeSemantics_pretyping_df71b73f58694851c2b27d74cd0a6e58", - "binder_x_3bb27175f4ee4d95e4329195c91fd84d_1", - "binder_x_aecceaf855f1ab2e0635e7bde98d7864_2", - "binder_x_aecceaf855f1ab2e0635e7bde98d7864_4", - "binder_x_cc44a3606a56e52d6229863c1496543c_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_MiniValeSemantics.Block", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_MiniValeSemantics.Block@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "equation_with_fuel_MiniValeSemantics.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Tm_arrow_35fff5d1b1420ec0ea38fb0261ddd938", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniValeSemantics.Block_block", - "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", "typing_MiniValeSemantics.eval_code" - ], - 0, - "050e4c1fdf938f0722ac6c9faf53bea7" - ], - [ - "MiniValeSemantics.lemma_merge", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.eval_codes.fuel_instrumented", - "@query", - "MiniValeSemantics_pretyping_df71b73f58694851c2b27d74cd0a6e58", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_MiniValeSemantics.Block", - "constructor_distinct_Prims.Cons", - "data_typing_intro_MiniValeSemantics.Block@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "equation_with_fuel_MiniValeSemantics.eval_codes.fuel_instrumented", - "int_inversion", "kinding_MiniValeSemantics.code@tok", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniValeSemantics.Block_block", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "11113d3d8956eb709101d1ce68d815a6" - ], - [ - "MiniValeSemantics.__proj__QProc__item__hasWp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MiniValeSemantics.QProc" - ], - 0, - "ef20d319842143b3442b098195aed165" - ], - [ - "MiniValeSemantics.__proj__QSeq__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2130a8854c6f44909c32777c097d6e1b" - ], - 0, - "743aa318993db4730b1d098bbf8d9a94" - ], - [ - "MiniValeSemantics.__proj__QSeq__item__cs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2130a8854c6f44909c32777c097d6e1b" - ], - 0, - "c827d3a27c1e88ca979b70b091cde904" - ], - [ - "MiniValeSemantics.__proj__QSeq__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MiniValeSemantics.QSeq", - "refinement_interpretation_Tm_refine_2130a8854c6f44909c32777c097d6e1b" - ], - 0, - "2c36e08d8059d2a6ef8283845275e991" - ], - [ - "MiniValeSemantics.__proj__QSeq__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_MiniValeSemantics.QSeq", - "refinement_interpretation_Tm_refine_2130a8854c6f44909c32777c097d6e1b" - ], - 0, - "69117a39f5de32073a7227ad2156f739" - ], - [ - "MiniValeSemantics.__proj__QLemma__item__cs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf4f082af8cfb03efd7e0918816a6ae8" - ], - 0, - "9087449ddce8ef851bab2dfe81a69dd6" - ], - [ - "MiniValeSemantics.__proj__QLemma__item__pre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf4f082af8cfb03efd7e0918816a6ae8" - ], - 0, - "8b7e8445c5807ae69a5c8f7f58f4da16" - ], - [ - "MiniValeSemantics.__proj__QLemma__item__post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf4f082af8cfb03efd7e0918816a6ae8" - ], - 0, - "6aa2caa04dac0120fb0e5be0704b43d0" - ], - [ - "MiniValeSemantics.__proj__QLemma__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_MiniValeSemantics.QLemma", - "refinement_interpretation_Tm_refine_bf4f082af8cfb03efd7e0918816a6ae8" - ], - 0, - "7adc1784a58d68617ce80eabc5fc94c4" - ], - [ - "MiniValeSemantics.__proj__QLemma__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_MiniValeSemantics.QLemma", - "refinement_interpretation_Tm_refine_bf4f082af8cfb03efd7e0918816a6ae8" - ], - 0, - "9b37aa67143067c397a85d57d26a327e" - ], - [ - "MiniValeSemantics.vc_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_49a83bdddb9aedebcc8cc2e32d82b7d4_1", - "constructor_distinct_Prims.Cons", - "data_elim_MiniValeSemantics.QLemma", - "data_elim_MiniValeSemantics.QSeq", - "disc_equation_MiniValeSemantics.QEmpty", - "disc_equation_MiniValeSemantics.QLemma", - "disc_equation_MiniValeSemantics.QSeq", "disc_equation_Prims.Cons", - "fuel_guarded_inversion_MiniValeSemantics.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", - "subterm_ordering_MiniValeSemantics.QLemma", - "subterm_ordering_MiniValeSemantics.QSeq" - ], - 0, - "fe34184823238574fd7285077cb4881c" - ], - [ - "MiniValeSemantics.vc_sound", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@fuel_correspondence_MiniValeSemantics.vc_gen.fuel_instrumented", - "@fuel_irrelevance_MiniValeSemantics.vc_gen.fuel_instrumented", - "@query", - "MiniValeSemantics_pretyping_f355d058b8cf1e452ba1e821d237b355", - "binder_x_3bb27175f4ee4d95e4329195c91fd84d_3", - "binder_x_49a83bdddb9aedebcc8cc2e32d82b7d4_1", - "binder_x_b260295f78a45317e485c2d3b542e304_2", - "binder_x_cc44a3606a56e52d6229863c1496543c_0", - "constructor_distinct_MiniValeSemantics.Block", - "constructor_distinct_MiniValeSemantics.QEmpty", - "constructor_distinct_MiniValeSemantics.QLemma", - "constructor_distinct_MiniValeSemantics.QSeq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_MiniValeSemantics.QEmpty", - "data_elim_MiniValeSemantics.QLemma", - "data_elim_MiniValeSemantics.QSeq", - "data_typing_intro_MiniValeSemantics.Block@tok", - "disc_equation_MiniValeSemantics.QEmpty", - "disc_equation_MiniValeSemantics.QLemma", - "disc_equation_MiniValeSemantics.QSeq", "disc_equation_Prims.Cons", - "equality_tok_MiniValeSemantics.QEmpty@tok", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", - "equation_MiniValeSemantics.t_post", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "equation_with_fuel_MiniValeSemantics.eval_codes.fuel_instrumented", - "equation_with_fuel_MiniValeSemantics.vc_gen.fuel_instrumented", - "fuel_guarded_inversion_MiniValeSemantics.with_wp", - "fuel_guarded_inversion_MiniValeSemantics.with_wps", - "fuel_token_correspondence_MiniValeSemantics.vc_gen.fuel_instrumented_token", - "int_typing", - "interpretation_Tm_abs_c72d578a45f1b1297ac4bfddad571652", - "l_and-interp", "l_imp-interp", - "proj_equation_MiniValeSemantics.QProc_c", - "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_MiniValeSemantics.Block_block", - "projection_inverse_MiniValeSemantics.QLemma__3", - "projection_inverse_MiniValeSemantics.QLemma__4", - "projection_inverse_MiniValeSemantics.QLemma_cs", - "projection_inverse_MiniValeSemantics.QLemma_post", - "projection_inverse_MiniValeSemantics.QLemma_pre", - "projection_inverse_MiniValeSemantics.QSeq_c", - "projection_inverse_MiniValeSemantics.QSeq_cs", - "projection_inverse_MiniValeSemantics.QSeq_hd", - "projection_inverse_MiniValeSemantics.QSeq_tl", - "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_MiniValeSemantics.QLemma", - "subterm_ordering_Prims.Cons", - "token_correspondence_MiniValeSemantics.vc_gen", - "typing_tok_MiniValeSemantics.QEmpty@tok" - ], - 0, - "2aa5f47526e5fd8e7020daee5865006b" - ], - [ - "MiniValeSemantics.lemma_Move", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@query", - "MiniValeSemantics_pretyping_ed9cf12f578fb9b74f0f3da9b8a3612f", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_MiniValeSemantics.Ins", - "constructor_distinct_MiniValeSemantics.Mov64", - "data_typing_intro_MiniValeSemantics.Ins@tok", - "data_typing_intro_MiniValeSemantics.Mov64@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_MiniValeSemantics.OReg", - "equality_tok_MiniValeSemantics.Rdx@tok", - "equation_MiniValeSemantics.eval_ins", - "equation_MiniValeSemantics.eval_operand", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.state", - "equation_MiniValeSemantics.update_reg", - "equation_MiniValeSemantics.update_state", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "int_typing", - "interpretation_Tm_abs_7b16144abc83726f0659e90f416f8e31", - "primitive_Prims.op_Equality", - "proj_equation_MiniValeSemantics.OReg_r", - "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_MiniValeSemantics.Ins_ins", - "projection_inverse_MiniValeSemantics.Mov64_dst", - "projection_inverse_MiniValeSemantics.Mov64_src", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_957b7cbc807a2027599d74cc022ac860", - "typing_tok_MiniValeSemantics.Rdx@tok" - ], - 0, - "d3ba07a00ed0a37cb7da4fea58bb0cfa" - ], - [ - "MiniValeSemantics.wp_Move", - 1, - 2, - 1, - [ "@query" ], - 0, - "caff79b99a576b6d4c990e1b0f7f0337" - ], - [ - "MiniValeSemantics.hasWp_Move", - 1, - 2, - 1, - [ - "@query", "disc_equation_MiniValeSemantics.OReg", - "equation_MiniValeSemantics.eval_operand", - "equation_MiniValeSemantics.update_state", - "equation_MiniValeSemantics.wp_Move", - "proj_equation_MiniValeSemantics.OReg_r", - "projection_inverse_BoxBool_proj_0", - "typing_MiniValeSemantics.eval_operand" - ], - 0, - "cd9f2ae9199a966a165698881db5be15" - ], - [ - "MiniValeSemantics.lemma_Add", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniValeSemantics.eval_code.fuel_instrumented", - "@query", - "MiniValeSemantics_pretyping_ed9cf12f578fb9b74f0f3da9b8a3612f", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_MiniValeSemantics.Add64", - "constructor_distinct_MiniValeSemantics.Ins", - "data_typing_intro_MiniValeSemantics.Add64@tok", - "data_typing_intro_MiniValeSemantics.Ins@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_MiniValeSemantics.OReg", - "equality_tok_MiniValeSemantics.Rdx@tok", - "equation_MiniValeSemantics.eval_ins", - "equation_MiniValeSemantics.eval_operand", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.nat64", - "equation_MiniValeSemantics.pow2_64", - "equation_MiniValeSemantics.state", - "equation_MiniValeSemantics.update_reg", - "equation_MiniValeSemantics.update_state", "equation_Prims.nat", - "equation_with_fuel_MiniValeSemantics.eval_code.fuel_instrumented", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7b16144abc83726f0659e90f416f8e31", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", - "proj_equation_MiniValeSemantics.OReg_r", - "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_MiniValeSemantics.Add64_dst", - "projection_inverse_MiniValeSemantics.Add64_src", - "projection_inverse_MiniValeSemantics.Ins_ins", - "refinement_interpretation_Tm_refine_259a72c0bdc8827e44a36e64eb7ee460", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b70c6c7a290daae9963f0dad8b8a49a2", - "typing_MiniValeSemantics.eval_operand", - "typing_tok_MiniValeSemantics.Rdx@tok" - ], - 0, - "e41974b85993a3dfc5cfff35b5e2f3e7" - ], - [ - "MiniValeSemantics.wp_Add", - 1, - 2, - 1, - [ "@query" ], - 0, - "2171993fab629e6d77b9a5bff4f25c81" - ], - [ - "MiniValeSemantics.hasWp_Add", - 1, - 2, - 1, - [ - "@query", "disc_equation_MiniValeSemantics.OReg", - "equation_MiniValeSemantics.eval_operand", - "equation_MiniValeSemantics.state", - "equation_MiniValeSemantics.update_reg", - "equation_MiniValeSemantics.update_state", - "equation_MiniValeSemantics.wp_Add", - "proj_equation_MiniValeSemantics.OReg_r", - "projection_inverse_BoxBool_proj_0", - "typing_MiniValeSemantics.eval_operand", - "typing_Tm_abs_7b16144abc83726f0659e90f416f8e31" - ], - 0, - "256e8c03697398b312234dcff87bbfee" - ], - [ - "MiniValeSemantics.vc_sound_norm", - 1, - 2, - 1, - [ "@query" ], - 0, - "38ffc042e81956e6dc5f1ce50d5ef0bb" - ], - [ - "MiniValeSemantics.state_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniValeSemantics_pretyping_ed9cf12f578fb9b74f0f3da9b8a3612f", - "eq2-interp", "equality_tok_MiniValeSemantics.Rax@tok", - "equality_tok_MiniValeSemantics.Rbx@tok", - "equality_tok_MiniValeSemantics.Rcx@tok", - "equality_tok_MiniValeSemantics.Rdx@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_MiniValeSemantics.nat64", - "fuel_guarded_inversion_MiniValeSemantics.reg", "l_and-interp", - "typing_tok_MiniValeSemantics.Rdx@tok" - ], - 0, - "d79d4b0b28af2f54a4e03373ac4949a1" - ], - [ - "MiniValeSemantics.lemma_Triple_opt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equality_tok_MiniValeSemantics.Rax@tok", - "equality_tok_MiniValeSemantics.Rbx@tok", - "equation_MiniValeSemantics.fuel", - "equation_MiniValeSemantics.nat64", - "equation_MiniValeSemantics.pow2_64", - "equation_MiniValeSemantics.state", - "equation_MiniValeSemantics.state_eq", - "equation_MiniValeSemantics.update_reg", - "equation_MiniValeSemantics.update_state", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a02fbdfdba31d36a2065abd1d9a31c0e", - "refinement_interpretation_Tm_refine_b70c6c7a290daae9963f0dad8b8a49a2", - "typing_MiniValeSemantics.state_eq", - "typing_Tm_abs_7b16144abc83726f0659e90f416f8e31" - ], - 0, - "e06df36ace9dd3b7338076ede6ee8bee" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/ParSubst.fst.hints b/examples/metatheory/ParSubst.fst.hints deleted file mode 100644 index 8f9a361c894..00000000000 --- a/examples/metatheory/ParSubst.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "=\u001c1çwfe\\Äã—ô¦¨™Ž", - [ - [ - "ParSubst.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "7fb55cd292b4619a43b6a4efd76edd28" - ], - [ - "ParSubst.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_ParSubst.ty__uu___haseq", "equation_ParSubst.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d7aff601bdd3f2332d54db2b5dfe4f8b" - ], - [ - "ParSubst.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_943feaa075f629a91cb492a3c84ce6a4" - ], - 0, - "d05ff0497ef27fb70e47ab8a0dbfce36" - ], - [ - "ParSubst.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" - ], - 0, - "61e91553ffb753cf68dbb2c2ce430ff7" - ], - [ - "ParSubst.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1671cc933db960f7ca6afb279f753fd0" - ], - 0, - "b87872ca625ba886cf6d46ce70f41eb6" - ], - [ - "ParSubst.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" - ], - 0, - "847218f746a85cad1af4dcec7e1bb953" - ], - [ - "ParSubst.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58bb134335ce00d990053a5f172c1453" - ], - 0, - "07120a62ee45dc172f34aedfddcf57a5" - ], - [ - "ParSubst.sub_inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_ParSubst.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fbd5df7852dc377c2d154708dee574f6" - ], - [ - "ParSubst.renaming_sub_inc", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_ParSubst.EVar", - "disc_equation_ParSubst.EVar", "equation_ParSubst.renaming", - "equation_ParSubst.sub_inc", "projection_inverse_BoxBool_proj_0", - "projection_inverse_ParSubst.EVar__0", - "token_correspondence_ParSubst.sub_inc" - ], - 0, - "996fbb0cc31e9166cc29a418320f37bf" - ], - [ - "ParSubst.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "ParSubst_interpretation_Tm_arrow_05b469c921ce37422b8cc21b95f3c5fa", - "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", - "ParSubst_pretyping_26c3b6ccfcbd94452acb614866f829fb", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_26c3b6ccfcbd94452acb614866f829fb_0", - "binder_x_c8b96788d953f90f6fad3c267b3e5dca_1", "bool_inversion", - "constructor_distinct_ParSubst.EAbs", - "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EAbs", - "disc_equation_ParSubst.EApp", "disc_equation_ParSubst.EVar", - "equation_ParSubst.is_var", "equation_ParSubst.renaming", - "equation_ParSubst.sub", "equation_ParSubst.var", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_ParSubst.exp", - "function_token_typing_ParSubst.subst_eabs", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_ParSubst.EAbs__0", - "projection_inverse_ParSubst.EAbs__1", - "projection_inverse_ParSubst.EApp__0", - "projection_inverse_ParSubst.EApp__1", - "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_83122a3d1c78c8686ba56a12ff4fd8eb", - "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", - "subterm_ordering_ParSubst.EAbs", "subterm_ordering_ParSubst.EApp", - "token_correspondence_ParSubst.subst_eabs", - "typing_ParSubst.is_renaming", "typing_ParSubst.is_var", - "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" - ], - 0, - "156c933407cdeabd6c44bb4c075440fb" - ], - [ - "ParSubst.subst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4f5eda47a107254c61252e2e07f3e7db_1", - "binder_x_c8b96788d953f90f6fad3c267b3e5dca_0", "bool_inversion", - "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EVar", - "equation_ParSubst.is_var", "equation_ParSubst.renaming", - "equation_ParSubst.sub", "equation_ParSubst.sub_inc", - "equation_ParSubst.var", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "function_token_typing_ParSubst.sub_inc", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a7d80a786471c7bea949765173d38151", - "token_correspondence_ParSubst.sub_inc", - "typing_ParSubst.is_renaming", "typing_ParSubst.is_var", - "typing_ParSubst.uu___is_EVar", "well-founded-ordering-on-nat" - ], - 0, - "0137d833ae86c8209ec774bdeb36ab38" - ], - [ - "ParSubst.subst_extensional", - 1, - 2, - 1, - [ "@query", "assumption_ParSubst.exp__uu___haseq" ], - 0, - "7b280fb898e8e7ce623b99e746966134" - ], - [ - "ParSubst.subst_extensional", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_ParSubst.subst.fuel_instrumented", - "@fuel_correspondence_ParSubst.subst_eabs.fuel_instrumented", - "@fuel_irrelevance_ParSubst.subst.fuel_instrumented", "@query", - "ParSubst_pretyping_26c3b6ccfcbd94452acb614866f829fb", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_26c3b6ccfcbd94452acb614866f829fb_0", - "binder_x_3c51acd39e8416940abb9e424d6a6a4e_2", - "binder_x_c8b96788d953f90f6fad3c267b3e5dca_1", - "constructor_distinct_ParSubst.EAbs", - "constructor_distinct_ParSubst.EApp", - "constructor_distinct_ParSubst.EVar", "disc_equation_ParSubst.EAbs", - "disc_equation_ParSubst.EApp", "disc_equation_ParSubst.EVar", - "equation_FStar.FunctionalExtensionality.feq", - "equation_ParSubst.var", "equation_Prims.nat", - "equation_with_fuel_ParSubst.subst.fuel_instrumented", - "equation_with_fuel_ParSubst.subst_eabs.fuel_instrumented", - "fuel_guarded_inversion_ParSubst.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_ParSubst.EAbs__0", - "projection_inverse_ParSubst.EAbs__1", - "projection_inverse_ParSubst.EApp__0", - "projection_inverse_ParSubst.EApp__1", - "projection_inverse_ParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f202b85b7e24817f173706b103613ec8", - "subterm_ordering_ParSubst.EAbs", "subterm_ordering_ParSubst.EApp", - "token_correspondence_ParSubst.subst_eabs" - ], - 0, - "cc7de0f5cbf3c8b8b0bef826c6e4ef91" - ], - [ - "ParSubst.subst_extensional", - 3, - 2, - 1, - [ "@query", "assumption_ParSubst.exp__uu___haseq" ], - 0, - "1018343dcc95aca88768182a2a19bb67" - ], - [ - "ParSubst.test_hoist", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_ParSubst.subst.fuel_instrumented", - "@fuel_correspondence_ParSubst.subst_eabs.fuel_instrumented", - "@fuel_irrelevance_ParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_ParSubst.subst_eabs.fuel_instrumented", "@query", - "ParSubst_interpretation_Tm_arrow_2e84b6a094cddd7e0bfbffbb01e5fa5d", - "ParSubst_interpretation_Tm_arrow_f2a31c87ef29308c16bbaf2975f12ab4", - "assumption_ParSubst.exp__uu___haseq", - "constructor_distinct_ParSubst.EAbs", - "data_typing_intro_ParSubst.EAbs@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_ParSubst.sub", "equation_ParSubst.var", - "equation_Prims.nat", - "equation_with_fuel_ParSubst.subst.fuel_instrumented", - "fuel_token_correspondence_ParSubst.subst_eabs.fuel_instrumented_token", - "function_token_typing_ParSubst.subst_eabs", - "lemma_ParSubst.subst_extensional", - "projection_inverse_ParSubst.EAbs__0", - "projection_inverse_ParSubst.EAbs__1", - "refinement_interpretation_Tm_refine_2a9d5c0d7ced78435ba0c3bb20d7f840", - "refinement_interpretation_Tm_refine_f58f61e62f9b42499bab7ea9e1f745fa", - "token_correspondence_ParSubst.subst_eabs", - "token_correspondence_ParSubst.subst_eabs.fuel_instrumented" - ], - 0, - "2f310172297e335b80499bd7d5444da2" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/StackMachine.fst.hints b/examples/metatheory/StackMachine.fst.hints deleted file mode 100644 index 21cb7afc8a1..00000000000 --- a/examples/metatheory/StackMachine.fst.hints +++ /dev/null @@ -1,1083 +0,0 @@ -[ - "\u0000\u0019ö;\u001a¤\u000eò@¾\u0002UÈ™kw", - [ - [ - "StackMachine.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3a73fb9aaa8a026c54f0f4dc63b9a953" - ], - [ - "StackMachine.__proj__Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_733535f472f5bce64316080d16cf1692" - ], - 0, - "d7ec82b8960010be98e61cdbeff3dd11" - ], - [ - "StackMachine.__proj__Binop__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" - ], - 0, - "88dcef810855667a8b0675c925a6c4fb" - ], - [ - "StackMachine.__proj__Binop__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" - ], - 0, - "40a5182738401120ffdbb7c7eeae55dd" - ], - [ - "StackMachine.__proj__Binop__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e48d81fdfb07e4d145eded198c44af89" - ], - 0, - "37072353288bfb03845d382a37775e45" - ], - [ - "StackMachine.add_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "963dfd1e071617eba192326ee60d406a" - ], - [ - "StackMachine.mul_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6b4577e54f5eeb53d0f2f040d7c829b1" - ], - [ - "StackMachine.eq_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0af8041bb75bbf744d17181fe84e6ecf" - ], - [ - "StackMachine.binopDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_StackMachine.Plus", - "disc_equation_StackMachine.Times", - "fuel_guarded_inversion_StackMachine.binop", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b543f8ba60ed723ff2319802471369fb" - ], - [ - "StackMachine.expDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_2a319081b764dd27a6651686e4e88bbc", - "binder_x_2a319081b764dd27a6651686e4e88bbc_0", - "disc_equation_StackMachine.Binop", - "disc_equation_StackMachine.Const", - "fuel_guarded_inversion_StackMachine.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_StackMachine.Binop" - ], - 0, - "3dccfd8dc3d50b8aa54ae153f06641e0" - ], - [ - "StackMachine.instr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StackMachine.binop__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d6e428c812c6caba955547b4f875ecb2" - ], - [ - "StackMachine.__proj__IConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a31651c68d304738b29495c5aeb6aa44" - ], - 0, - "026c11cda5bde46b7e7b83ca3cf1f2be" - ], - [ - "StackMachine.__proj__IBinop__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_94dbe5757f232f1d6a06d4d6dfaafd34" - ], - 0, - "8b0f16243f96ff7821791c26c8e74194" - ], - [ - "StackMachine.instrDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_StackMachine.IBinop", - "disc_equation_StackMachine.IConst", - "fuel_guarded_inversion_StackMachine.instr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0f12edad0616e62c0cd28aef7456b453" - ], - [ - "StackMachine.progDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3c9ae8002a222e92248c26cdf9185c83_1", - "binder_x_fe682cb2a18a2940e86b58f8bbe9df33_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_StackMachine.prog", "equation_StackMachine.stack", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_StackMachine.instrDenote", "typing_StackMachine.stack" - ], - 0, - "866462a5413a46bca578d493e7a06677" - ], - [ - "StackMachine.compile", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_2a319081b764dd27a6651686e4e88bbc", - "binder_x_2a319081b764dd27a6651686e4e88bbc_0", - "disc_equation_StackMachine.Binop", - "disc_equation_StackMachine.Const", - "fuel_guarded_inversion_StackMachine.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_StackMachine.Binop" - ], - 0, - "684f67be69c77609ea57a8de46a697b5" - ], - [ - "StackMachine.app_assoc_reverse", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "3416cabe2d56a815dd6855905287bca3" - ], - [ - "StackMachine.compile_correct'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_StackMachine.compile.fuel_instrumented", - "@fuel_correspondence_StackMachine.expDenote.fuel_instrumented", - "@fuel_correspondence_StackMachine.progDenote.fuel_instrumented", - "@fuel_irrelevance_StackMachine.compile.fuel_instrumented", - "@fuel_irrelevance_StackMachine.expDenote.fuel_instrumented", - "@fuel_irrelevance_StackMachine.progDenote.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "StackMachine_pretyping_2a319081b764dd27a6651686e4e88bbc", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", - "binder_x_2a319081b764dd27a6651686e4e88bbc_0", - "binder_x_9f48d967f2ac834d566c856feb7a9952_1", - "binder_x_b46f9febde162e476374095e6787c208_2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", - "constructor_distinct_StackMachine.Binop", - "constructor_distinct_StackMachine.Const", - "constructor_distinct_StackMachine.IBinop", - "constructor_distinct_StackMachine.IConst", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "data_typing_intro_StackMachine.IBinop@tok", - "disc_equation_StackMachine.Binop", - "disc_equation_StackMachine.Const", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StackMachine.instrDenote", - "equation_StackMachine.prog", "equation_StackMachine.stack", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_StackMachine.compile.fuel_instrumented", - "equation_with_fuel_StackMachine.expDenote.fuel_instrumented", - "equation_with_fuel_StackMachine.progDenote.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_StackMachine.exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_StackMachine.instr@tok", - "lemma_StackMachine.app_assoc_reverse", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_StackMachine.Binop__0", - "projection_inverse_StackMachine.Binop__1", - "projection_inverse_StackMachine.Binop__2", - "projection_inverse_StackMachine.Const__0", - "projection_inverse_StackMachine.IBinop__0", - "projection_inverse_StackMachine.IConst__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5bc7dc4f72fe71559ba60b0afd7f3ae3", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StackMachine.Binop", - "typing_FStar.List.Tot.Base.op_At", "typing_Prims.int", - "typing_StackMachine.compile", "typing_StackMachine.expDenote", - "typing_StackMachine.progDenote", "typing_StackMachine.stack", - "unit_typing" - ], - 0, - "f780087f4213ae3653df81aa03a5d571" - ], - [ - "StackMachine.compile_correct'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StackMachine.stack", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_StackMachine.stack" - ], - 0, - "d1bacde4acb03ec5fe5dca31b9030d1b" - ], - [ - "StackMachine.app_nil_end", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f6a1fb0772bc5aa55fc41d885fdad84d" - ], - [ - "StackMachine.compile_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StackMachine.progDenote.fuel_instrumented", - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StackMachine.prog", - "equation_StackMachine.stack", - "equation_with_fuel_StackMachine.progDenote.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_StackMachine.instr@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_StackMachine.compile", - "typing_StackMachine.expDenote", "typing_StackMachine.stack" - ], - 0, - "2375e9e88a61f4ec8d941c85749b7065" - ], - [ - "StackMachine.tbinop", - 1, - 2, - 1, - [ "@query", "assumption_StackMachine.typ__uu___haseq" ], - 0, - "724be655c4083cf5e71d863b8e1466f7" - ], - [ - "StackMachine.__proj__TEq__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_013f03405ee56e2bee5ec40dee6f6602" - ], - 0, - "5292a47ca3698d14b0eeed3c863000ec" - ], - [ - "StackMachine.texp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StackMachine.tbinop__uu___haseq", - "assumption_StackMachine.typ__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6c48f753048de4da239602dd3e1f9064" - ], - [ - "StackMachine.__proj__TNConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6dd4891ce41bb7d9b26ab7b05113bdd5" - ], - 0, - "f608ce8b32a061881e8cc78dfd177f55" - ], - [ - "StackMachine.__proj__TBConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9da0b8f720646900d62e529141346f6a" - ], - 0, - "e0b10796439528702191254cc06b3f9b" - ], - [ - "StackMachine.__proj__TBinop__item__t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "c0f3c49cf648b085c2f69fbf81e999c9" - ], - [ - "StackMachine.__proj__TBinop__item__t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "9ebcb6002b994f23c1d1b0eb07088307" - ], - [ - "StackMachine.__proj__TBinop__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "6a2f8e40b026b55e9a0600e7ad0327b0" - ], - [ - "StackMachine.__proj__TBinop__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TBinop", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "46a368d40849a0841443a3b22ac33792" - ], - [ - "StackMachine.__proj__TBinop__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TBinop", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "0156f76c07de01d927c07a903a8c0c37" - ], - [ - "StackMachine.__proj__TBinop__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TBinop", - "refinement_interpretation_Tm_refine_363d878c15cc50c209fe3698ceb285cf" - ], - 0, - "ce5748809d95500b29e9eb13b5577e61" - ], - [ - "StackMachine.typeDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_StackMachine.Bool", - "disc_equation_StackMachine.Nat", - "fuel_guarded_inversion_StackMachine.typ", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2fdbd4db9d90a6a410ff3e501fe84c58" - ], - [ - "StackMachine.tbinopDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_82296f4018d086bf2f117419255cd432", - "constructor_distinct_StackMachine.Bool", - "constructor_distinct_StackMachine.Nat", - "data_elim_StackMachine.TEq", "data_elim_StackMachine.TLt", - "data_elim_StackMachine.TTimes", "disc_equation_StackMachine.Bool", - "disc_equation_StackMachine.Nat", "disc_equation_StackMachine.TEq", - "disc_equation_StackMachine.TLt", "disc_equation_StackMachine.TPlus", - "disc_equation_StackMachine.TTimes", - "equality_tok_StackMachine.Bool@tok", - "equality_tok_StackMachine.Nat@tok", - "equality_tok_StackMachine.TLt@tok", - "equality_tok_StackMachine.TPlus@tok", - "equality_tok_StackMachine.TTimes@tok", - "equation_StackMachine.typeDenote", - "fuel_guarded_inversion_StackMachine.tbinop", - "fuel_guarded_inversion_StackMachine.typ", - "proj_equation_StackMachine.TEq_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StackMachine.TEq_t", - "typing_tok_StackMachine.TLt@tok", - "typing_tok_StackMachine.TPlus@tok", - "typing_tok_StackMachine.TTimes@tok" - ], - 0, - "74ccb29737a0a4b8b0b79819737beec0" - ], - [ - "StackMachine.texpDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_ca4b69fffc5067d1deba31154325e6d3", - "binder_x_99009f55474bb74b46709f3fb0f7bfdf_0", - "binder_x_e9914cc59dbecc2ac85148e3e6b7dd9a_1", - "constructor_distinct_StackMachine.Bool", - "constructor_distinct_StackMachine.Nat", - "constructor_distinct_StackMachine.TBConst", - "data_elim_StackMachine.TBinop", "data_elim_StackMachine.TNConst", - "disc_equation_StackMachine.TBConst", - "disc_equation_StackMachine.TBinop", - "disc_equation_StackMachine.TNConst", - "equality_tok_StackMachine.Bool@tok", - "equality_tok_StackMachine.Nat@tok", - "equation_StackMachine.typeDenote", - "fuel_guarded_inversion_StackMachine.texp", - "fuel_guarded_inversion_StackMachine.typ", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StackMachine.TBinop__4", - "projection_inverse_StackMachine.TBinop__5", - "projection_inverse_StackMachine.TBinop_t", - "projection_inverse_StackMachine.TBinop_t1", - "projection_inverse_StackMachine.TBinop_t2", - "subterm_ordering_StackMachine.TBinop" - ], - 0, - "61939dbf93ee10802e9b7c41d719a93f" - ], - [ - "StackMachine.tinstr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "assumption_Prims.list__uu___haseq", - "assumption_StackMachine.tbinop__uu___haseq", - "assumption_StackMachine.typ__uu___haseq", - "equality_tok_StackMachine.Nat@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StackMachine.tstack", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_StackMachine.typ@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_tok_StackMachine.Nat@tok" - ], - 0, - "94ea3c396bf39ee4270ae00fe58c9ca5" - ], - [ - "StackMachine.__proj__TiNConst__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" - ], - 0, - "f9993cb1752c428b88af8b11ea89d28c" - ], - [ - "StackMachine.__proj__TiNConst__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a56f6ca6150cb01114a8fab36ff93703" - ], - 0, - "65782ff1051dc549143968c48c133df9" - ], - [ - "StackMachine.__proj__TiBConst__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" - ], - 0, - "7497df78953181012118eaa62d7332e8" - ], - [ - "StackMachine.__proj__TiBConst__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_55dae19a239461194000bc379645c48e" - ], - 0, - "177a6f782b92ba5b5e35a6f7d47bd61e" - ], - [ - "StackMachine.__proj__TiBinop__item__arg1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" - ], - 0, - "59b4fa53f3ef6fa22eab731df645963f" - ], - [ - "StackMachine.__proj__TiBinop__item__arg2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" - ], - 0, - "897d37c74e269a509a9e31ba535186d1" - ], - [ - "StackMachine.__proj__TiBinop__item__res", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" - ], - 0, - "bec4fec229f3e07da806b0bab25e2e8a" - ], - [ - "StackMachine.__proj__TiBinop__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" - ], - 0, - "6682f188731c049035eb0e129acb1013" - ], - [ - "StackMachine.__proj__TiBinop__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TiBinop", - "refinement_interpretation_Tm_refine_ca5cda80d86a5fe3c677897fc0fef6ed" - ], - 0, - "a26f893e3d743faa635ae949904bc4a1" - ], - [ - "StackMachine.tprog", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "assumption_Prims.list__uu___haseq", - "assumption_StackMachine.tinstr__uu___haseq", - "assumption_StackMachine.typ__uu___haseq", - "equality_tok_StackMachine.Nat@tok", "equation_StackMachine.tstack", - "kinding_StackMachine.typ@tok", "typing_tok_StackMachine.Nat@tok" - ], - 0, - "a60d3963ffcfd6f451357d78b919959e" - ], - [ - "StackMachine.__proj__TNil__item__s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f199955d1c0a09a2e1c2187aa1c27dfb" - ], - 0, - "483e8f280457bd1ca29f1d8045f49e61" - ], - [ - "StackMachine.__proj__TCons__item__s1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" - ], - 0, - "b96591f35e2d2b859d5a601e0a50799b" - ], - [ - "StackMachine.__proj__TCons__item__s2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" - ], - 0, - "9878c7202a607b39551055d815f7a033" - ], - [ - "StackMachine.__proj__TCons__item__s3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" - ], - 0, - "daa65dca1fad40440b907cf382ec55b3" - ], - [ - "StackMachine.__proj__TCons__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TCons", - "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" - ], - 0, - "d6212a82e24974cce77d83fc20775e0b" - ], - [ - "StackMachine.__proj__TCons__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_StackMachine.TCons", - "refinement_interpretation_Tm_refine_71c338e63ae841db80789b96cbe806f6" - ], - 0, - "c196b316a5c4a4914fb456c6c40d2f81" - ], - [ - "StackMachine.vstack", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_StackMachine.Nat@tok", "equation_StackMachine.tstack", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_tok_StackMachine.Nat@tok" - ], - 0, - "749f422661955852a7dfa3bca6596dbc" - ], - [ - "StackMachine.tinstrDenote", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StackMachine.vstack.fuel_instrumented", - "@fuel_irrelevance_StackMachine.vstack.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "StackMachine_interpretation_Tm_arrow_2d71a237d1d23d83fe2231dae14f26a9", - "StackMachine_interpretation_Tm_arrow_aa95041870b22db0050daf9c687449fb", - "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_16a921c956d1ccece42ab1b05699fdf1_0", - "binder_x_16a921c956d1ccece42ab1b05699fdf1_1", - "binder_x_4660ce528ccb71fc8bb9d6b825ca3a5a_2", - "binder_x_ec5a2f91b89276de9e637eac70b8acd5_3", - "constructor_distinct_Prims.Cons", - "constructor_distinct_StackMachine.Bool", - "constructor_distinct_StackMachine.Nat", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_StackMachine.TiBConst", "data_elim_StackMachine.TiBinop", - "data_elim_StackMachine.TiNConst", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_StackMachine.TiBConst", - "disc_equation_StackMachine.TiBinop", - "disc_equation_StackMachine.TiNConst", - "equality_tok_StackMachine.Bool@tok", - "equality_tok_StackMachine.Nat@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StackMachine.tstack", - "equation_StackMachine.typeDenote", - "equation_with_fuel_StackMachine.vstack.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_StackMachine.tinstr", - "function_token_typing_StackMachine.tbinopDenote", - "kinding_StackMachine.typ@tok", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__b", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_StackMachine.tbinopDenote", - "token_correspondence_StackMachine.vstack.fuel_instrumented", - "typing_Prims.bool", "typing_StackMachine.typeDenote", - "typing_StackMachine.uu___is_TiNConst", "typing_StackMachine.vstack", - "typing_tok_StackMachine.Nat@tok" - ], - 0, - "621b3d9fff47a8ab5674ff907cc9679c" - ], - [ - "StackMachine.tprogDenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_974496a40345cd37a4bd3e98318859b9_2", - "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", - "disc_equation_StackMachine.TCons", - "disc_equation_StackMachine.TNil", - "fuel_guarded_inversion_StackMachine.tprog", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_StackMachine.TCons" - ], - 0, - "37f14d7dbd597e11dbe5953c4c87b65b" - ], - [ - "StackMachine.tconcat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_974496a40345cd37a4bd3e98318859b9_3", - "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", - "disc_equation_StackMachine.TCons", - "disc_equation_StackMachine.TNil", - "fuel_guarded_inversion_StackMachine.tprog", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_StackMachine.TCons" - ], - 0, - "787c0454e85df769390f2637253fe390" - ], - [ - "StackMachine.tcompile", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e9914cc59dbecc2ac85148e3e6b7dd9a_1", - "constructor_distinct_StackMachine.TBConst", - "data_elim_StackMachine.TBinop", "data_elim_StackMachine.TNConst", - "disc_equation_StackMachine.TBConst", - "disc_equation_StackMachine.TBinop", - "disc_equation_StackMachine.TNConst", - "fuel_guarded_inversion_StackMachine.texp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_StackMachine.TBinop" - ], - 0, - "f2fb96b673f367c8e44cfa2e6889cf1d" - ], - [ - "StackMachine.tconcat_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StackMachine.tconcat.fuel_instrumented", - "@fuel_correspondence_StackMachine.tprogDenote.fuel_instrumented", - "@fuel_irrelevance_StackMachine.tconcat.fuel_instrumented", - "@fuel_irrelevance_StackMachine.tprogDenote.fuel_instrumented", - "@query", "binder_x_16a921c956d1ccece42ab1b05699fdf1_2", - "binder_x_6139a6130ce3dbbc55c3991e4703c482_4", - "binder_x_974496a40345cd37a4bd3e98318859b9_3", - "binder_x_ec5a2f91b89276de9e637eac70b8acd5_5", - "constructor_distinct_StackMachine.TCons", - "constructor_distinct_StackMachine.TNil", - "data_elim_StackMachine.TCons", "data_elim_StackMachine.TNil", - "disc_equation_StackMachine.TCons", - "disc_equation_StackMachine.TNil", - "equation_with_fuel_StackMachine.tconcat.fuel_instrumented", - "equation_with_fuel_StackMachine.tprogDenote.fuel_instrumented", - "fuel_guarded_inversion_StackMachine.tprog", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StackMachine.TCons__3", - "projection_inverse_StackMachine.TCons__4", - "projection_inverse_StackMachine.TCons_s1", - "projection_inverse_StackMachine.TCons_s2", - "projection_inverse_StackMachine.TCons_s3", - "projection_inverse_StackMachine.TNil_s", - "subterm_ordering_StackMachine.TCons", "typing_StackMachine.tconcat" - ], - 0, - "b8cf5ca4216423f3c38c7dbfd09ead55" - ], - [ - "StackMachine.tcompile_correct'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StackMachine.tcompile.fuel_instrumented", - "@fuel_correspondence_StackMachine.tconcat.fuel_instrumented", - "@fuel_correspondence_StackMachine.texpDenote.fuel_instrumented", - "@fuel_correspondence_StackMachine.tinstrDenote.fuel_instrumented", - "@fuel_correspondence_StackMachine.tprogDenote.fuel_instrumented", - "@fuel_correspondence_StackMachine.vstack.fuel_instrumented", - "@fuel_irrelevance_StackMachine.tcompile.fuel_instrumented", - "@fuel_irrelevance_StackMachine.tconcat.fuel_instrumented", - "@fuel_irrelevance_StackMachine.texpDenote.fuel_instrumented", - "@fuel_irrelevance_StackMachine.tprogDenote.fuel_instrumented", - "@fuel_irrelevance_StackMachine.vstack.fuel_instrumented", "@query", - "StackMachine_pretyping_99009f55474bb74b46709f3fb0f7bfdf", - "binder_x_16a921c956d1ccece42ab1b05699fdf1_2", - "binder_x_6c1df4396abfdddfd116f15b23ec8d1a_3", - "binder_x_99009f55474bb74b46709f3fb0f7bfdf_0", - "binder_x_e9914cc59dbecc2ac85148e3e6b7dd9a_1", - "constructor_distinct_StackMachine.Bool", - "constructor_distinct_StackMachine.Nat", - "constructor_distinct_StackMachine.TBConst", - "constructor_distinct_StackMachine.TBinop", - "constructor_distinct_StackMachine.TCons", - "constructor_distinct_StackMachine.TNConst", - "constructor_distinct_StackMachine.TNil", - "constructor_distinct_StackMachine.TiBConst", - "constructor_distinct_StackMachine.TiBinop", - "constructor_distinct_StackMachine.TiNConst", - "data_elim_StackMachine.TBConst", "data_elim_StackMachine.TBinop", - "data_elim_StackMachine.TNConst", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_StackMachine.TNil@tok", - "data_typing_intro_StackMachine.TiBConst@tok", - "data_typing_intro_StackMachine.TiBinop@tok", - "data_typing_intro_StackMachine.TiNConst@tok", - "disc_equation_StackMachine.TBConst", - "disc_equation_StackMachine.TBinop", - "disc_equation_StackMachine.TNConst", - "equality_tok_StackMachine.Bool@tok", - "equality_tok_StackMachine.Nat@tok", "equation_StackMachine.tstack", - "equation_StackMachine.typeDenote", - "equation_with_fuel_StackMachine.tcompile.fuel_instrumented", - "equation_with_fuel_StackMachine.texpDenote.fuel_instrumented", - "equation_with_fuel_StackMachine.tinstrDenote.fuel_instrumented", - "equation_with_fuel_StackMachine.tprogDenote.fuel_instrumented", - "equation_with_fuel_StackMachine.vstack.fuel_instrumented", - "fuel_guarded_inversion_StackMachine.tbinop", - "fuel_guarded_inversion_StackMachine.texp", - "fuel_guarded_inversion_StackMachine.typ", - "kinding_StackMachine.typ@tok", "lemma_StackMachine.tconcat_correct", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_StackMachine.TBConst__0", - "projection_inverse_StackMachine.TBinop__3", - "projection_inverse_StackMachine.TBinop__4", - "projection_inverse_StackMachine.TBinop__5", - "projection_inverse_StackMachine.TBinop_t", - "projection_inverse_StackMachine.TBinop_t1", - "projection_inverse_StackMachine.TBinop_t2", - "projection_inverse_StackMachine.TCons__3", - "projection_inverse_StackMachine.TCons__4", - "projection_inverse_StackMachine.TCons_s1", - "projection_inverse_StackMachine.TCons_s2", - "projection_inverse_StackMachine.TCons_s3", - "projection_inverse_StackMachine.TNConst__0", - "projection_inverse_StackMachine.TNil_s", - "projection_inverse_StackMachine.TiBConst__1", - "projection_inverse_StackMachine.TiBConst_s", - "projection_inverse_StackMachine.TiBinop__4", - "projection_inverse_StackMachine.TiBinop_arg1", - "projection_inverse_StackMachine.TiBinop_arg2", - "projection_inverse_StackMachine.TiBinop_res", - "projection_inverse_StackMachine.TiBinop_s", - "projection_inverse_StackMachine.TiNConst__1", - "projection_inverse_StackMachine.TiNConst_s", - "refinement_interpretation_Tm_refine_c64fda410e510fa03460ff98402e764b", - "subterm_ordering_StackMachine.TBinop", - "token_correspondence_StackMachine.tcompile.fuel_instrumented", - "typing_StackMachine.tcompile", "typing_StackMachine.tconcat", - "typing_StackMachine.texpDenote", "typing_StackMachine.tinstrDenote", - "typing_StackMachine.tprogDenote", - "typing_tok_StackMachine.Bool@tok", "typing_tok_StackMachine.Nat@tok" - ], - 0, - "8a36b7b76448845eff98f3d4483ad549" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbParSubst.fst.hints b/examples/metatheory/StlcCbvDbParSubst.fst.hints deleted file mode 100644 index ba5e09a5ab7..00000000000 --- a/examples/metatheory/StlcCbvDbParSubst.fst.hints +++ /dev/null @@ -1,1172 +0,0 @@ -[ - "ÖÕìô4V‘\u001b2›\u0001X¹iùó", - [ - [ - "StlcCbvDbParSubst.sub_inc_above", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a020b213494958d6b787fc782781daf0" - ], - [ - "StlcCbvDbParSubst.extend_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "4176a3a4a891a7da4cc5e0da3da9bc5f" - ], - [ - "StlcCbvDbParSubst.weakening", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_aa529169e17553eab2fd2cf8e2e00d43_5", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_d7a08fe95d0edeffd31477bbf4345664_1", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_4", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_StlcStrongDbParSubst.EVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcCbvDbParSubst.sub_inc_above", - "equation_StlcStrongDbParSubst.env", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcCbvDbParSubst.extend_gen", - "int_inversion", "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", - "kinding_StlcStrongDbParSubst.typ@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c5d162fb39ed27e3122cb49f4606e8da", - "typing_StlcCbvDbParSubst.extend_gen", - "typing_StlcCbvDbParSubst.sub_inc_above", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "fdedfeae0f6ac3db39da8eb0f6f2eff9" - ], - [ - "StlcCbvDbParSubst.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "kinding_StlcStrongDbParSubst.exp@tok", - "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "a89844fd97808cb469ca2f9461602c21" - ], - [ - "StlcCbvDbParSubst.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.step.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.step.fuel_instrumented", - "@query", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_d9e38d5f55016f34266b7ac1885a774d_2", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TArr", - "constructor_distinct_StlcStrongDbParSubst.TUnit", - "data_elim_StlcStrongDbParSubst.EVar", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.TyApp", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.empty", - "equation_StlcStrongDbParSubst.is_value", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.step.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "int_inversion", "kinding_StlcStrongDbParSubst.exp@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "typing_StlcCbvDbParSubst.step", - "typing_StlcStrongDbParSubst.is_value", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "c02d47be267abfbcea43da0f353e9b12" - ], - [ - "StlcCbvDbParSubst.typing_extensional", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5a46e118e90c9e1bd3eb623781c03d15_3", - "binder_x_68954c3ef788afaa9618aa171f544a7e_4", - "constructor_distinct_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyUnit", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_hbody", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_21f1268484afa29917c4777ed538910e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "subterm_ordering_StlcStrongDbParSubst.TyLam" - ], - 0, - "ab8df50a2fd5ad56f00d2ca98660c45d" - ], - [ - "StlcCbvDbParSubst.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_994c99bbacb216630d104a4d01f030da_0", - "disc_equation_StlcStrongDbParSubst.EApp", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.EVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", "typing_Prims.int", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "3f43fc4985e9b66edbecca52abd6d175" - ], - [ - "StlcCbvDbParSubst.envEqualE", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "kinding_StlcStrongDbParSubst.typ@tok" - ], - 0, - "9db6194e8da3979aa161133d615abdcd" - ], - [ - "StlcCbvDbParSubst.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_5a46e118e90c9e1bd3eb623781c03d15_3", - "binder_x_cce50e4c07746e3ce32d26de8b3af145_4", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyUnit", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.envEqualE", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_hbody", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "refinement_interpretation_Tm_refine_f5705c081cc8d8395b0d7e23ef7d0b72", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "subterm_ordering_StlcStrongDbParSubst.TyLam", - "token_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "typing_StlcCbvDbParSubst.appears_free_in", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "7eb009719144c1444679c3f50b1841ba" - ], - [ - "StlcCbvDbParSubst.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_1d732eb866c2d6a93569d4f5389d0e8a_4", - "binder_x_994c99bbacb216630d104a4d01f030da_0", - "binder_x_d7a08fe95d0edeffd31477bbf4345664_2", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_3", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyUnit", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.env", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.extend", "int_inversion", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "kinding_StlcStrongDbParSubst.typ@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "subterm_ordering_StlcStrongDbParSubst.TyLam", - "typing_StlcCbvDbParSubst.appears_free_in", - "typing_StlcStrongDbParSubst.uu___is_TyVar", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "1e80569d6cde2b74dd0e5ed8e1edbc31" - ], - [ - "StlcCbvDbParSubst.typable_empty_not_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "equation_StlcStrongDbParSubst.empty", - "projection_inverse_BoxBool_proj_0", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "421003c68cbc66ab381703e2e20a44cb" - ], - [ - "StlcCbvDbParSubst.below", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_994c99bbacb216630d104a4d01f030da_0", - "disc_equation_StlcStrongDbParSubst.EApp", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.EVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "a4365be3c3944295a18fb58d12e6d47f" - ], - [ - "StlcCbvDbParSubst.below_env", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "kinding_StlcStrongDbParSubst.typ@tok" - ], - 0, - "91a1949798314b658a74167127b00ff5" - ], - [ - "StlcCbvDbParSubst.typable_below", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.below.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.below.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_23043b15956034e880f31c79bfd896e4_4", - "binder_x_994c99bbacb216630d104a4d01f030da_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TyApp", - "constructor_distinct_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyUnit", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.below_env", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.below.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "projection_inverse_StlcStrongDbParSubst.TyApp_e1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e2", - "projection_inverse_StlcStrongDbParSubst.TyApp_g", - "projection_inverse_StlcStrongDbParSubst.TyApp_h1", - "projection_inverse_StlcStrongDbParSubst.TyApp_h2", - "projection_inverse_StlcStrongDbParSubst.TyApp_t11", - "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_hbody", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_17412b10d7e1a0cd831412000ec09ff7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "subterm_ordering_StlcStrongDbParSubst.TyLam", - "typing_StlcCbvDbParSubst.below", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "df4741471774940ef4b58992305b74b9" - ], - [ - "StlcCbvDbParSubst.typable_empty_closed", - 1, - 2, - 1, - [ - "@query", "equation_StlcCbvDbParSubst.below_env", - "equation_StlcCbvDbParSubst.closed", - "equation_StlcStrongDbParSubst.empty" - ], - 0, - "d5e05a48a11b01bbcafbafa14ff2dde5" - ], - [ - "StlcCbvDbParSubst.sub_beta_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "b7391cbe735f699deb415f01db3782e5" - ], - [ - "StlcCbvDbParSubst.subst_gen_var_lt", - 1, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "722994e30d560a3c70cc17fa48daf533" - ], - [ - "StlcCbvDbParSubst.subst_gen_var_lt", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "constructor_distinct_StlcStrongDbParSubst.EVar", - "data_typing_intro_StlcStrongDbParSubst.EVar@tok", - "equation_Prims.nat", "equation_StlcCbvDbParSubst.sub_beta_gen", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", - "primitive_Prims.op_LessThan", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_3a345ec5eba935b818b440723b04f8eb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_StlcCbvDbParSubst.sub_beta_gen" - ], - 0, - "db1e13a4b8b76a5208f86db2f606486a" - ], - [ - "StlcCbvDbParSubst.extend_lt", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "kinding_StlcStrongDbParSubst.typ@tok" - ], - 0, - "4f2f962d812a39ee36a2b1cd5bf144ee" - ], - [ - "StlcCbvDbParSubst.extend_lt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3a345ec5eba935b818b440723b04f8eb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_StlcCbvDbParSubst.extend_gen" - ], - 0, - "be964308b07209a36be6f1d1ae2f27d5" - ], - [ - "StlcCbvDbParSubst.extend_gt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "int_inversion", - "kinding_StlcStrongDbParSubst.typ@tok", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "94c3055b34650b625143bc4bae979445" - ], - [ - "StlcCbvDbParSubst.extend_gt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fcd11dd703480908b3c65df7f524bbfe", - "token_correspondence_StlcCbvDbParSubst.extend_gen" - ], - 0, - "3f1991c4f7d4127302a313ad8db3ffec" - ], - [ - "StlcCbvDbParSubst.extend_twice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e5a9f5430949796d27fc8f3534ee92bc" - ], - [ - "StlcCbvDbParSubst.extend_twice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ec0bbb35b1ccd0e4e20035421706dbb1" - ], - [ - "StlcCbvDbParSubst.sub_below", - 1, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "4f07b3430423a9c19c25ff843ca30eeb" - ], - [ - "StlcCbvDbParSubst.subst_below", - 1, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "5d53329b75c1795b0d6b23ea346763b7" - ], - [ - "StlcCbvDbParSubst.subst_below", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.below.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.below.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", - "StlcStrongDbParSubst_interpretation_Tm_arrow_d7c23eed18639be8032fa5f7062f80fe", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "binder_x_5b9d765ad3faa1eaf3f2d264958bfc68_2", - "binder_x_994c99bbacb216630d104a4d01f030da_0", - "binder_x_b18d8f57b457b8a39aa74f6fc8a9ad4c_1", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.EApp", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.EVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.sub_below", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_inc", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.below.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "fuel_token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.sub_elam", - "function_token_typing_StlcStrongDbParSubst.sub_inc", - "int_inversion", "int_typing", - "lemma_StlcStrongDbParSubst.subst_extensional", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_13235449bc298814e56647817a5a5586", - "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_3a608b8abbc2c0adff54f5c4ee0a7b37", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", - "token_correspondence_StlcCbvDbParSubst.below.fuel_instrumented", - "token_correspondence_StlcStrongDbParSubst.sub_elam", - "token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "token_correspondence_StlcStrongDbParSubst.sub_inc", - "typing_StlcCbvDbParSubst.below", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "77b28a9e80c1f11c799ee3c6ac40420b" - ], - [ - "StlcCbvDbParSubst.subst_below", - 3, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "ee86c1bb49dc9f9d8e3d2764d976ec65" - ], - [ - "StlcCbvDbParSubst.subst_closed", - 1, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "59f53a092db9f673642e38c5b35a5c6c" - ], - [ - "StlcCbvDbParSubst.subst_closed", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_79883e0c942a6d23a4d1b5b6cecbdfff_0", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.closed", - "equation_StlcCbvDbParSubst.sub_below", - "equation_StlcStrongDbParSubst.var", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bf0131f13155cbc90a3c62011d12629b" - ], - 0, - "21d518d0a1755ed2503e7ce730f07bf2" - ], - [ - "StlcCbvDbParSubst.subst_closed", - 3, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "f6fc107cc33b9a74fb5bc63adc628ddd" - ], - [ - "StlcCbvDbParSubst.subst_gen_elam_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e1752050c00bf6afd38433b1f8c165cb" - ], - [ - "StlcCbvDbParSubst.subst_gen_elam_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_StlcStrongDbParSubst.exp__uu___haseq", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "equation_Prims.nat", "equation_StlcCbvDbParSubst.closed", - "equation_StlcCbvDbParSubst.sub_beta_gen", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_inc", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.sub_inc", - "int_inversion", - "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bf0131f13155cbc90a3c62011d12629b", - "token_correspondence_StlcCbvDbParSubst.sub_beta_gen", - "token_correspondence_StlcStrongDbParSubst.sub_inc", - "typing_StlcCbvDbParSubst.closed", - "typing_StlcCbvDbParSubst.sub_beta_gen", "unit_inversion", - "unit_typing" - ], - 0, - "2b5078ddb50a9962111eab78bf59b3d4" - ], - [ - "StlcCbvDbParSubst.subst_gen_elam_aux_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "55fd9c36a2d7bed4721ec42019fa9c2f" - ], - [ - "StlcCbvDbParSubst.subst_gen_elam", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "equation_Prims.nat", "equation_StlcStrongDbParSubst.var", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3f8cca1a890dc079ea2550b724db6ad9" - ], - [ - "StlcCbvDbParSubst.subst_gen_elam", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", - "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", - "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "data_typing_intro_StlcStrongDbParSubst.ELam@tok", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.sub_beta_gen", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "fuel_token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented_token", - "int_inversion", "lemma_StlcStrongDbParSubst.subst_extensional", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", - "token_correspondence_StlcStrongDbParSubst.sub_elam", - "token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "typing_Tm_abs_d70941dbcdfb3551376d504a2f54c457" - ], - 0, - "6221f110ea09059b7dba3df5b91fd392" - ], - [ - "StlcCbvDbParSubst.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_994c99bbacb216630d104a4d01f030da_0", - "binder_x_e2a570d8125c49d1f3924d13b2d20065_7", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_3", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.EVar", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyUnit", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.envEqualE", - "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcCbvDbParSubst.pclosed", - "equation_StlcCbvDbParSubst.sub_beta_gen", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.appears_free_in.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "interpretation_Tm_abs_8e8cef3f3b2af03d991302fd11832ac3", - "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_hbody", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_355331772027a5870c780cc6a71c0497", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", "typing_Prims.int", - "typing_StlcCbvDbParSubst.appears_free_in", - "typing_StlcCbvDbParSubst.sub_beta_gen", - "typing_StlcStrongDbParSubst.subst", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "7c9ac51117d26d85528d4455e70dd91a" - ], - [ - "StlcCbvDbParSubst.extend_gen_0_aux", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "kinding_StlcStrongDbParSubst.typ@tok" - ], - 0, - "9e9b02f49e6ab0c64977d1ac4bc73d65" - ], - [ - "StlcCbvDbParSubst.extend_gen_0_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_StlcCbvDbParSubst.extend_gen", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "token_correspondence_StlcCbvDbParSubst.extend_gen", - "token_correspondence_StlcStrongDbParSubst.extend" - ], - 0, - "8ba336a4f10dfc36d8ad5bb35b263e87" - ], - [ - "StlcCbvDbParSubst.extend_gen_0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_StlcCbvDbParSubst.extend_gen", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "kinding_StlcStrongDbParSubst.typ@tok", - "primitive_Prims.op_Equality", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "32962d576dc3ea0a56a804d54b2610b4" - ], - [ - "StlcCbvDbParSubst.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1a9f2b954f3c5a7c2ac682c70117cd2" - ], - 0, - "72cf8206a09220c4f390a037398f51c2" - ], - [ - "StlcCbvDbParSubst.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbParSubst.step.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbParSubst.step.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_899c1942672ed57783ec1a64844e5ee3_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TArr", - "constructor_distinct_StlcStrongDbParSubst.TUnit", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcCbvDbParSubst.sub_beta_gen", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_beta", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcCbvDbParSubst.step.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", - "interpretation_Tm_abs_d70941dbcdfb3551376d504a2f54c457", - "lemma_StlcStrongDbParSubst.subst_extensional", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.TArr__0", - "projection_inverse_StlcStrongDbParSubst.TArr__1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e2", - "projection_inverse_StlcStrongDbParSubst.TyApp_g", - "projection_inverse_StlcStrongDbParSubst.TyApp_h1", - "projection_inverse_StlcStrongDbParSubst.TyApp_t11", - "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", - "refinement_interpretation_Tm_refine_e8ddf2f052418b94356dc5507e2d1c42", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "typing_Tm_abs_3348a440425b62f388c69bf898593dad", - "typing_Tm_abs_d70941dbcdfb3551376d504a2f54c457", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "29187f766cd94217242618a017032af1" - ], - [ - "StlcCbvDbParSubst.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f00811af79f4ab052eaf12beb3f02622" - ], - 0, - "ce72ef8543a40b097952800060324938" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints b/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints deleted file mode 100644 index 77623fe54c3..00000000000 --- a/examples/metatheory/StlcCbvDbPntSubstNoLists.fst.hints +++ /dev/null @@ -1,738 +0,0 @@ -[ - "fmÙk-þ\u001a›¿vã„ËåÌë", - [ - [ - "StlcCbvDbPntSubstNoLists.ty", - 1, - 2, - 1, - [ "@query" ], - 0, - "1b5221da3c59fa8598a00ff5e7ef9099" - ], - [ - "StlcCbvDbPntSubstNoLists.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StlcCbvDbPntSubstNoLists.ty__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d352d138443facf5bd67433cf7f72efb" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b0fc1a2f197b450737fc60602f5bbe98" - ], - 0, - "158c664dd6ba712900831ce7e4a11eb2" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" - ], - 0, - "e3f0634e7cec975926746fed9361455c" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e80fa73901831fcccf979556beeb043f" - ], - 0, - "a36bb1aa6ae6392104be6607be83caa2" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" - ], - 0, - "489f72cc02c2a24af1a71abac5253b7e" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__EAbs__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a8f27480ee432505641e15da6e41375d" - ], - 0, - "c63eea78fb53bf6fb38ab76cfe1cf787" - ], - [ - "StlcCbvDbPntSubstNoLists.subst_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_7597dc0c465777776dc6eae797c43037_2", - "binder_x_dbcb0a2632e1fed74e708f131516d100_0", - "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.EApp", - "disc_equation_StlcCbvDbPntSubstNoLists.EVar", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "typing_Prims.int" - ], - 0, - "bb4dac02593e263f4e3eac0e7fb4df31" - ], - [ - "StlcCbvDbPntSubstNoLists.step", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_7597dc0c465777776dc6eae797c43037_0", - "kinding_StlcCbvDbPntSubstNoLists.exp@tok", - "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" - ], - 0, - "5f4db20fcd7f89907d13d359e659f385" - ], - [ - "StlcCbvDbPntSubstNoLists.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StlcCbvDbPntSubstNoLists.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "0a0179fc0439f4ba43a34c89cacb19c0" - ], - [ - "StlcCbvDbPntSubstNoLists.rtyping", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b" - ], - 0, - "609140d0ecf0b43c5d6b4f1d9ce0bb17" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" - ], - 0, - "ca854083385e6221ce751176ae51b0ba" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyVar__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcCbvDbPntSubstNoLists.TyVar", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "refinement_interpretation_Tm_refine_4a45eaafbd1e608025e81692345ae7ec" - ], - 0, - "131ffb0b4951c00d170c435bdc7ed138" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" - ], - 0, - "42f03c40b19bedcba5e6641632bba21c" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" - ], - 0, - "8de016c72e272aa8b728d7bd0cfe1c1b" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" - ], - 0, - "cdc7048d6a9b17cde9b800ac161c30a1" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" - ], - 0, - "8a7955e198e02ad9fd866ff5fbb007ad" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyAbs__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcCbvDbPntSubstNoLists.TyAbs", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "proj_equation_StlcCbvDbPntSubstNoLists.TyAbs_g", - "proj_equation_StlcCbvDbPntSubstNoLists.TyAbs_t", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t", - "refinement_interpretation_Tm_refine_32ff09c8e12b84241dd4caba0335b6f1" - ], - 0, - "26855c04c426e7b1a4a012c66a303619" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "88e485b112006b0f3d9bbe4621b9fac6" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "99d7e2eeec0ca4368ca70a30d3095b3e" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "f1335d2ce9e944e050bd92bf51d73131" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "6108f89e9c5b76b54ee2ffb165eee98a" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item__t12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "6c2a0f3138dd50e5a96033842594213b" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "0289ec5cfe3d72e88c99836843451113" - ], - [ - "StlcCbvDbPntSubstNoLists.__proj__TyApp__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "refinement_interpretation_Tm_refine_fd894afd9f0e15ccd32c7abf71d65256" - ], - 0, - "3e6e3dbff70f5ed14fa432edde8ba6d4" - ], - [ - "StlcCbvDbPntSubstNoLists.progress", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "@query", - "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_1", - "binder_x_7597dc0c465777776dc6eae797c43037_0", - "binder_x_fecd6847b5a8d5f5a0404882b9c78c3b_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", - "data_elim_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "data_elim_StlcCbvDbPntSubstNoLists.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", - "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", - "equation_StlcCbvDbPntSubstNoLists.empty", - "equation_StlcCbvDbPntSubstNoLists.is_value", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "kinding_StlcCbvDbPntSubstNoLists.exp@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", - "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_StlcCbvDbPntSubstNoLists.is_value", - "typing_StlcCbvDbPntSubstNoLists.step" - ], - 0, - "f2bd51a9697b8eb25c1d23cc8b167a97" - ], - [ - "StlcCbvDbPntSubstNoLists.appears_free_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_dbcb0a2632e1fed74e708f131516d100_0", - "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.EApp", - "disc_equation_StlcCbvDbPntSubstNoLists.EVar", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.var", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "typing_Prims.int" - ], - 0, - "bb379a2b22632cdd5011b3249223d6de" - ], - [ - "StlcCbvDbPntSubstNoLists.free_in_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@query", - "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_3", - "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_dbcb0a2632e1fed74e708f131516d100_0", - "binder_x_fc629662061e6c9429df5f5b5e9daeef_4", "bool_inversion", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", - "data_elim_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "data_elim_StlcCbvDbPntSubstNoLists.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", - "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.extend", - "equation_StlcCbvDbPntSubstNoLists.var", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.exp", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "function_token_typing_StlcCbvDbPntSubstNoLists.extend", - "int_inversion", - "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_e1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t", - "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcCbvDbPntSubstNoLists.TyAbs", - "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", - "typing_StlcCbvDbPntSubstNoLists.appears_free_in" - ], - 0, - "2aa572642f53022381a2d4b93e7b8f2b" - ], - [ - "StlcCbvDbPntSubstNoLists.typable_empty_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_StlcCbvDbPntSubstNoLists.empty", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e232656fe00fc9149a4f9b9738a3a04f" - ], - [ - "StlcCbvDbPntSubstNoLists.equal", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcCbvDbPntSubstNoLists.ty__uu___haseq", - "kinding_StlcCbvDbPntSubstNoLists.ty@tok" - ], - 0, - "ed2316e3724af607236a747d2ca414f6" - ], - [ - "StlcCbvDbPntSubstNoLists.equalE", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_StlcCbvDbPntSubstNoLists.ty__uu___haseq", - "kinding_StlcCbvDbPntSubstNoLists.ty@tok" - ], - 0, - "d39c02e7de992150e6aa859995f6e4ed" - ], - [ - "StlcCbvDbPntSubstNoLists.context_invariance", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@query", - "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_2", - "binder_x_7597dc0c465777776dc6eae797c43037_0", - "binder_x_b0a0c387eae96635c99da73049677b7d_4", - "binder_x_f13b353f253e46f81d1f501f9ef4c276_3", "bool_inversion", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", - "constructor_distinct_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "data_elim_StlcCbvDbPntSubstNoLists.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", - "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.equalE", - "equation_StlcCbvDbPntSubstNoLists.extend", - "equation_StlcCbvDbPntSubstNoLists.var", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "int_inversion", "int_typing", - "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs__4", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_e1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t_", - "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba34e2ab1508520d8b212977f6e55794", - "subterm_ordering_StlcCbvDbPntSubstNoLists.TyAbs", - "subterm_ordering_StlcCbvDbPntSubstNoLists.TyApp", - "token_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "typing_StlcCbvDbPntSubstNoLists.appears_free_in" - ], - 0, - "05ff13836f455f6ada8252219a517822" - ], - [ - "StlcCbvDbPntSubstNoLists.typing_extensional", - 1, - 2, - 1, - [ - "@query", "equation_StlcCbvDbPntSubstNoLists.equal", - "equation_StlcCbvDbPntSubstNoLists.equalE" - ], - 0, - "e47bf39f5b81ad2a9925ee3709826027" - ], - [ - "StlcCbvDbPntSubstNoLists.substitution_preserves_typing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", - "@query", - "StlcCbvDbPntSubstNoLists_pretyping_50e78c3fdc2d5cb83ab6b5165045e606", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_3", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_4", - "binder_x_7597dc0c465777776dc6eae797c43037_1", - "binder_x_7597dc0c465777776dc6eae797c43037_2", - "binder_x_dbcb0a2632e1fed74e708f131516d100_0", - "binder_x_f498b240629ba8d814a9923ab86d50f6_7", "bool_inversion", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", - "constructor_distinct_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.EVar", - "data_elim_StlcCbvDbPntSubstNoLists.TyAbs", - "data_elim_StlcCbvDbPntSubstNoLists.TyApp", - "data_elim_StlcCbvDbPntSubstNoLists.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", - "disc_equation_StlcCbvDbPntSubstNoLists.TyVar", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcCbvDbPntSubstNoLists.equal", - "equation_StlcCbvDbPntSubstNoLists.equalE", - "equation_StlcCbvDbPntSubstNoLists.extend", - "equation_StlcCbvDbPntSubstNoLists.var", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.appears_free_in.fuel_instrumented", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.subst_beta.fuel_instrumented", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_bb5dcb84faf64402e65d56a8e18c7515", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EVar__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs__4", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_e1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t_", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4cd961d487f7cbe11af5091d80b9e58b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EAbs", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp", "typing_Prims.int", - "typing_StlcCbvDbPntSubstNoLists.appears_free_in", - "typing_StlcCbvDbPntSubstNoLists.subst_beta" - ], - 0, - "9558353cf5f5a921e521e7f815347b88" - ], - [ - "StlcCbvDbPntSubstNoLists.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7c28f4ae4def0de7a4957ce0bef8e0a3" - ], - 0, - "b0ceb571417878e323ac865c30777305" - ], - [ - "StlcCbvDbPntSubstNoLists.preservation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "@fuel_irrelevance_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "@query", - "StlcCbvDbPntSubstNoLists_pretyping_7597dc0c465777776dc6eae797c43037", - "binder_x_50e78c3fdc2d5cb83ab6b5165045e606_1", - "binder_x_712f8ef1f5239133a92e853010402ae9_2", - "binder_x_7597dc0c465777776dc6eae797c43037_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EAbs", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EApp", - "constructor_distinct_StlcCbvDbPntSubstNoLists.EVar", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcCbvDbPntSubstNoLists.EAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyAbs", - "disc_equation_StlcCbvDbPntSubstNoLists.TyApp", - "equation_StlcCbvDbPntSubstNoLists.is_value", - "equation_with_fuel_StlcCbvDbPntSubstNoLists.step.fuel_instrumented", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.rtyping", - "fuel_guarded_inversion_StlcCbvDbPntSubstNoLists.ty", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_StlcCbvDbPntSubstNoLists.EAbs__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__0", - "projection_inverse_StlcCbvDbPntSubstNoLists.EApp__1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TArrow_t2", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_e1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyAbs_t_", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp__5", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp_e1", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp_e2", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp_g", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp_t11", - "projection_inverse_StlcCbvDbPntSubstNoLists.TyApp_t12", - "refinement_interpretation_Tm_refine_f37d7c08290e28d70c839a5ceabfa495", - "subterm_ordering_StlcCbvDbPntSubstNoLists.EApp" - ], - 0, - "c68d53b3a1d4c238fd38b2802c29628b" - ], - [ - "StlcCbvDbPntSubstNoLists.preservation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f36548a69000a502f092e2e0a8a93a47" - ], - 0, - "5884049107be7a3babec6d266a6ad772" - ] - ] -] \ No newline at end of file diff --git a/examples/metatheory/StlcStrongDbParSubst.fst.hints b/examples/metatheory/StlcStrongDbParSubst.fst.hints deleted file mode 100644 index 77d48c9690e..00000000000 --- a/examples/metatheory/StlcStrongDbParSubst.fst.hints +++ /dev/null @@ -1,949 +0,0 @@ -[ - "™(ÃZ\u001alw\u000eƒ¾œ\tŽC\u0014,", - [ - [ - "StlcStrongDbParSubst.typ", - 1, - 2, - 1, - [ "@query" ], - 0, - "6f2cd5fee85df1cad500c1df8b49880c" - ], - [ - "StlcStrongDbParSubst.__proj__TArr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" - ], - 0, - "f3ecec95b1ce61f65c718627a94903cc" - ], - [ - "StlcStrongDbParSubst.__proj__TArr__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ccaa7b9f2c4e22321120f7ea92a71de5" - ], - 0, - "e7bb6dc1c050b0f9df373dc86a8bd4c7" - ], - [ - "StlcStrongDbParSubst.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_StlcStrongDbParSubst.typ__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "77bd37d838d64f6772b7319606c33de5" - ], - [ - "StlcStrongDbParSubst.__proj__EVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4accbbd705c655c07c4d28fa0433bd8" - ], - 0, - "8450e1686c3e5de5a30867918aa3968d" - ], - [ - "StlcStrongDbParSubst.__proj__EApp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" - ], - 0, - "980696450c4e9d9867c3f167d671171e" - ], - [ - "StlcStrongDbParSubst.__proj__EApp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cfeb4851717f0f570c09b19bff9e1ba0" - ], - 0, - "a479b254a766c89b084b71a084d4f98a" - ], - [ - "StlcStrongDbParSubst.__proj__ELam__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" - ], - 0, - "f1291caf3b7e542e3a9cc0a818c98374" - ], - [ - "StlcStrongDbParSubst.__proj__ELam__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2b6bc5fb9f0c781cc9a468d147cb416" - ], - 0, - "8a8ebcabf3b458aa95321fa9743e9348" - ], - [ - "StlcStrongDbParSubst.is_renaming", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a2e3e4f07183c4d928088ca9c9dcb623" - ], - 0, - "9dc8337e60320202f4510c19d70de220" - ], - [ - "StlcStrongDbParSubst.sub_inc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a0edc78404fb408c63839f2cef2343dc" - ], - [ - "StlcStrongDbParSubst.renaming_sub_inc", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.EVar", - "equation_StlcStrongDbParSubst.renaming", - "equation_StlcStrongDbParSubst.sub_inc", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "token_correspondence_StlcStrongDbParSubst.sub_inc" - ], - 0, - "dce85a777b4f54efb97da68e10042ab2" - ], - [ - "StlcStrongDbParSubst.subst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", - "StlcStrongDbParSubst_interpretation_Tm_arrow_a8c26f7322700061dc18760afbb9d486", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.EApp", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.EVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_StlcStrongDbParSubst.is_renaming", - "equation_StlcStrongDbParSubst.is_var", - "equation_StlcStrongDbParSubst.renaming", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.sub_elam", - "int_inversion", "int_typing", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", - "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_485591af64a9b7f836892f5da4ad72ee", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", - "token_correspondence_StlcStrongDbParSubst.sub_elam", - "typing_StlcStrongDbParSubst.is_renaming", - "typing_StlcStrongDbParSubst.is_var", - "typing_StlcStrongDbParSubst.uu___is_EVar", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "e26eecaa668ce42408225ac43bc76cbb" - ], - [ - "StlcStrongDbParSubst.subst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_994c99bbacb216630d104a4d01f030da_1", - "binder_x_b2dd1823af72defc268fddaa468960d0_0", "bool_inversion", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.EVar", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_StlcStrongDbParSubst.is_renaming", - "equation_StlcStrongDbParSubst.is_var", - "equation_StlcStrongDbParSubst.renaming", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_inc", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.sub_inc", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_StlcStrongDbParSubst.sub_inc", - "typing_StlcStrongDbParSubst.is_renaming", - "typing_StlcStrongDbParSubst.is_var", - "typing_StlcStrongDbParSubst.uu___is_EVar", - "well-founded-ordering-on-nat" - ], - 0, - "6efaf13a12ae015ce3f02eb6254c4102" - ], - [ - "StlcStrongDbParSubst.sub_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "007022b7b8300d43ac75fc03c1d6ed13" - ], - [ - "StlcStrongDbParSubst.step", - 1, - 2, - 1, - [ - "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq", - "assumption_StlcStrongDbParSubst.typ__uu___haseq" - ], - 0, - "24572b7d4405d293349c6981e1688068" - ], - [ - "StlcStrongDbParSubst.__proj__SBeta__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" - ], - 0, - "8938054e912f806716b7ca563a7ab9b0" - ], - [ - "StlcStrongDbParSubst.__proj__SBeta__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" - ], - 0, - "dec130685fe7c60120c03b2832e9a2fb" - ], - [ - "StlcStrongDbParSubst.__proj__SBeta__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f77b3ed76bf454c96a99af193538141d" - ], - 0, - "172171235ec32f1c9b0cb1254487947d" - ], - [ - "StlcStrongDbParSubst.__proj__SApp1__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" - ], - 0, - "ea8462084ccd91b39b725eea4722fc7b" - ], - [ - "StlcStrongDbParSubst.__proj__SApp1__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" - ], - 0, - "abfee22b48c2b2bb7971befdae47830c" - ], - [ - "StlcStrongDbParSubst.__proj__SApp1__item__e1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" - ], - 0, - "0ce4aeb25b29be4154487000cdd39f91" - ], - [ - "StlcStrongDbParSubst.__proj__SApp1__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.SApp1", - "refinement_interpretation_Tm_refine_1354a7d5d234f707d79e0e5c7bc75049" - ], - 0, - "b45aa6d40e73122859b99bc4b8cf13d3" - ], - [ - "StlcStrongDbParSubst.__proj__SApp2__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" - ], - 0, - "b4f2e6e30494e5fe57025787322ba231" - ], - [ - "StlcStrongDbParSubst.__proj__SApp2__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" - ], - 0, - "b310ba145ed4319de0ca11dfe97ea8e9" - ], - [ - "StlcStrongDbParSubst.__proj__SApp2__item__e2'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" - ], - 0, - "654260fe52176951eeabb06c1b457868" - ], - [ - "StlcStrongDbParSubst.__proj__SApp2__item__hst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.SApp2", - "refinement_interpretation_Tm_refine_257ce7371bf720d0a7da5fefb63c5e43" - ], - 0, - "d10d97d85851c4387b47e30ff26b99a5" - ], - [ - "StlcStrongDbParSubst.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e369cf828a9c97b37c00870ed4ea4826" - ], - [ - "StlcStrongDbParSubst.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" - ], - 0, - "6b40426f038c77b050753eda854f32f1" - ], - [ - "StlcStrongDbParSubst.__proj__TyVar__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" - ], - 0, - "34229a5fb49088ce046013a4bed57046" - ], - [ - "StlcStrongDbParSubst.__proj__TyVar__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.TyVar", - "refinement_interpretation_Tm_refine_7f43f3559559e11687ceb54b75692147" - ], - 0, - "9a86d9409e618f692229cc3608a7ca2a" - ], - [ - "StlcStrongDbParSubst.__proj__TyLam__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" - ], - 0, - "bad94d7adbde66db3afeb96d2f93933c" - ], - [ - "StlcStrongDbParSubst.__proj__TyLam__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" - ], - 0, - "10340937e9ed428c0f7b690aeb68e7c0" - ], - [ - "StlcStrongDbParSubst.__proj__TyLam__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" - ], - 0, - "efb4133ed8f6578df715817b8bfb7092" - ], - [ - "StlcStrongDbParSubst.__proj__TyLam__item__t'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" - ], - 0, - "359cf348a081761f6424874031de6d90" - ], - [ - "StlcStrongDbParSubst.__proj__TyLam__item__hbody", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.TyLam", - "proj_equation_StlcStrongDbParSubst.TyLam_g", - "proj_equation_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "refinement_interpretation_Tm_refine_a82f220a1744b7a1be53fad33727d80f" - ], - 0, - "604c920fb9fa9870b2dc4aa711ab2194" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "73fb3a10109755d771c0f8fd8c292cc2" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__e1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "4a3feb779251dcbe90984f24cfd2675e" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__e2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "39fd67952d5b151f2f5120d94d0e88fb" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__t11", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "44bfbe6dbfa288241f90ccaeade89279" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__t12", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "0ab567331f811f416246889a37d13964" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__h1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.TyApp", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "169773cd51b87c719bb0cabf79e66fa9" - ], - [ - "StlcStrongDbParSubst.__proj__TyApp__item__h2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_StlcStrongDbParSubst.TyApp", - "refinement_interpretation_Tm_refine_3969fe18909d79c9db3efc963c84b6aa" - ], - 0, - "3ac8c18c6b26f1de9e1d50251a3734af" - ], - [ - "StlcStrongDbParSubst.__proj__TyUnit__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62fcb6772a40efbdd7f1359f787e4a99" - ], - 0, - "ac0c5b73a8fa9fd1f1b226dceb6694f0" - ], - [ - "StlcStrongDbParSubst.progress", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_973b93b4201307dd6e1098e2198db95c", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_d9e38d5f55016f34266b7ac1885a774d_2", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TArr", - "constructor_distinct_StlcStrongDbParSubst.TUnit", - "data_elim_StlcStrongDbParSubst.EVar", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EUnit", - "disc_equation_StlcStrongDbParSubst.TyApp", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.empty", - "equation_StlcStrongDbParSubst.is_value", - "equation_StlcStrongDbParSubst.var", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "fuel_guarded_inversion_StlcStrongDbParSubst.typ", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "int_inversion", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "projection_inverse_StlcStrongDbParSubst.TyApp_e1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e2", - "projection_inverse_StlcStrongDbParSubst.TyApp_g", - "projection_inverse_StlcStrongDbParSubst.TyApp_h1", - "projection_inverse_StlcStrongDbParSubst.TyApp_t11", - "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "subterm_ordering_StlcStrongDbParSubst.TyApp", - "typing_StlcStrongDbParSubst.uu___is_ELam", - "typing_StlcStrongDbParSubst.uu___is_EUnit", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "420c0dd4e8aa0047c5218a2054da9e64" - ], - [ - "StlcStrongDbParSubst.subst_extensional", - 1, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "71256a626344cc03a4e51488bd0cda40" - ], - [ - "StlcStrongDbParSubst.subst_extensional", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "binder_x_00c2c856e702f50718a37c394bb4dba3_2", - "binder_x_4fd769c52a9ae2a37539f4903dec252d_1", - "binder_x_b2dd1823af72defc268fddaa468960d0_0", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.EApp", - "disc_equation_StlcStrongDbParSubst.ELam", - "disc_equation_StlcStrongDbParSubst.EVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7820b04d531adf27f5431a5615e70979", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", - "token_correspondence_StlcStrongDbParSubst.sub_elam", - "typing_tok_StlcStrongDbParSubst.EUnit@tok" - ], - 0, - "cbbaf7f03f9a60133ef9ce5fb73a6a42" - ], - [ - "StlcStrongDbParSubst.subst_extensional", - 3, - 2, - 1, - [ "@query", "assumption_StlcStrongDbParSubst.exp__uu___haseq" ], - 0, - "5ce9c4e9462f6334059f2dddb98ee88e" - ], - [ - "StlcStrongDbParSubst.subst_typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8" - ], - 0, - "70a38d0cede5d7500247a8b9ab262fd7" - ], - [ - "StlcStrongDbParSubst.substitution", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_correspondence_StlcStrongDbParSubst.subst.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "@fuel_irrelevance_StlcStrongDbParSubst.subst.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StlcStrongDbParSubst_interpretation_Tm_arrow_25520bf18d16d55849d5d48bb3b3d5c2", - "StlcStrongDbParSubst_interpretation_Tm_arrow_537baed5a6ddfc86c6c3de16b2197b39", - "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", - "StlcStrongDbParSubst_interpretation_Tm_arrow_d7c23eed18639be8032fa5f7062f80fe", - "StlcStrongDbParSubst_pretyping_00c2c856e702f50718a37c394bb4dba3", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "binder_x_3acd6cf3d511e8950aef9606edca1e67_5", - "binder_x_b2dd1823af72defc268fddaa468960d0_3", - "binder_x_d7a08fe95d0edeffd31477bbf4345664_0", - "binder_x_d7a08fe95d0edeffd31477bbf4345664_4", - "binder_x_fcf8df75f2957ee85ada8a1f90a7cec8_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TyApp", - "constructor_distinct_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyApp", - "data_elim_StlcStrongDbParSubst.TyLam", - "data_elim_StlcStrongDbParSubst.TyVar", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_StlcStrongDbParSubst.EVar", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "disc_equation_StlcStrongDbParSubst.TyUnit", - "disc_equation_StlcStrongDbParSubst.TyVar", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_StlcStrongDbParSubst.env", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.is_renaming", - "equation_StlcStrongDbParSubst.is_var", - "equation_StlcStrongDbParSubst.renaming", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_inc", - "equation_StlcStrongDbParSubst.var", - "equation_with_fuel_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "equation_with_fuel_StlcStrongDbParSubst.subst.fuel_instrumented", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "fuel_token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented_token", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_StlcStrongDbParSubst.extend", - "function_token_typing_StlcStrongDbParSubst.sub_elam", - "function_token_typing_StlcStrongDbParSubst.sub_inc", - "int_inversion", "int_typing", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "kinding_StlcStrongDbParSubst.typ@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_StlcStrongDbParSubst.subst_extensional", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__0", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.EVar__0", - "projection_inverse_StlcStrongDbParSubst.TyApp_e1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e2", - "projection_inverse_StlcStrongDbParSubst.TyApp_g", - "projection_inverse_StlcStrongDbParSubst.TyApp_h1", - "projection_inverse_StlcStrongDbParSubst.TyApp_h2", - "projection_inverse_StlcStrongDbParSubst.TyApp_t11", - "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "projection_inverse_StlcStrongDbParSubst.TyLam_e1", - "projection_inverse_StlcStrongDbParSubst.TyLam_g", - "projection_inverse_StlcStrongDbParSubst.TyLam_hbody", - "projection_inverse_StlcStrongDbParSubst.TyLam_t", - "projection_inverse_StlcStrongDbParSubst.TyLam_t_", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_38d9e94985993c1c28936bd159c6e7c5", - "refinement_interpretation_Tm_refine_3949545d6bf3f1c8a6f29ddc1f66f50e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7f2e20eb47d22ea18ae57a636be3a7d8", - "refinement_interpretation_Tm_refine_88d77cd7bfeeb0c60949fc1418a69f5a", - "refinement_interpretation_Tm_refine_b6d41b085882337eb3a51804b6abc61f", - "refinement_interpretation_Tm_refine_e7bdf8f54f445fcd98bcae5ce60a3134", - "subterm_ordering_StlcStrongDbParSubst.EApp", - "subterm_ordering_StlcStrongDbParSubst.ELam", - "token_correspondence_StlcStrongDbParSubst.extend", - "token_correspondence_StlcStrongDbParSubst.sub_elam", - "token_correspondence_StlcStrongDbParSubst.sub_elam.fuel_instrumented", - "token_correspondence_StlcStrongDbParSubst.sub_inc", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_StlcStrongDbParSubst.is_renaming", - "typing_StlcStrongDbParSubst.is_var", - "typing_StlcStrongDbParSubst.renaming", - "typing_StlcStrongDbParSubst.uu___is_EVar", - "typing_StlcStrongDbParSubst.uu___is_TyVar", - "typing_tok_StlcStrongDbParSubst.EUnit@tok", - "typing_tok_StlcStrongDbParSubst.TUnit@tok", - "well-founded-ordering-on-nat" - ], - 0, - "fb0c4137165a2b69185db8327ff5a5a2" - ], - [ - "StlcStrongDbParSubst.substitution_beta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_interpretation_Tm_arrow_86f0d4fd92d6b9638311c2f0e85836bb", - "StlcStrongDbParSubst_pretyping_fcf8df75f2957ee85ada8a1f90a7cec8", - "binder_x_00c2c856e702f50718a37c394bb4dba3_1", - "data_elim_StlcStrongDbParSubst.EVar", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", "equation_Prims.nat", - "equation_StlcStrongDbParSubst.extend", - "equation_StlcStrongDbParSubst.sub", - "equation_StlcStrongDbParSubst.sub_beta", - "equation_StlcStrongDbParSubst.var", - "function_token_typing_StlcStrongDbParSubst.extend", "int_inversion", - "interpretation_Tm_abs_196d31beccd849fc7b632281c08d07b0", - "interpretation_Tm_abs_3348a440425b62f388c69bf898593dad", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2deffb1206c09c545f7c9ce557b1be3a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_StlcStrongDbParSubst.sub_beta", - "typing_StlcStrongDbParSubst.sub_beta", - "typing_tok_StlcStrongDbParSubst.TUnit@tok" - ], - 0, - "db77db179bb402cd0535445ed07780b9" - ], - [ - "StlcStrongDbParSubst.preservation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StlcStrongDbParSubst_pretyping_973b93b4201307dd6e1098e2198db95c", - "binder_x_00c2c856e702f50718a37c394bb4dba3_0", - "binder_x_30925f6f6134112724c347ed3160f742_4", - "binder_x_95056e764e3c2e74ab841758ae495679_5", - "constructor_distinct_StlcStrongDbParSubst.EApp", - "constructor_distinct_StlcStrongDbParSubst.ELam", - "constructor_distinct_StlcStrongDbParSubst.EUnit", - "constructor_distinct_StlcStrongDbParSubst.EVar", - "constructor_distinct_StlcStrongDbParSubst.TArr", - "constructor_distinct_StlcStrongDbParSubst.TUnit", - "data_elim_StlcStrongDbParSubst.SApp1", - "data_elim_StlcStrongDbParSubst.SApp2", - "data_elim_StlcStrongDbParSubst.SBeta", - "data_elim_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.SApp1", - "disc_equation_StlcStrongDbParSubst.SApp2", - "disc_equation_StlcStrongDbParSubst.SBeta", - "disc_equation_StlcStrongDbParSubst.TyApp", - "disc_equation_StlcStrongDbParSubst.TyLam", - "equality_tok_StlcStrongDbParSubst.EUnit@tok", - "equality_tok_StlcStrongDbParSubst.TUnit@tok", - "fuel_guarded_inversion_StlcStrongDbParSubst.exp", - "fuel_guarded_inversion_StlcStrongDbParSubst.step", - "fuel_guarded_inversion_StlcStrongDbParSubst.typing", - "proj_equation_StlcStrongDbParSubst.TyLam_e1", - "proj_equation_StlcStrongDbParSubst.TyLam_g", - "proj_equation_StlcStrongDbParSubst.TyLam_t", - "proj_equation_StlcStrongDbParSubst.TyLam_t_", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_StlcStrongDbParSubst.EApp__0", - "projection_inverse_StlcStrongDbParSubst.EApp__1", - "projection_inverse_StlcStrongDbParSubst.ELam__1", - "projection_inverse_StlcStrongDbParSubst.TArr__0", - "projection_inverse_StlcStrongDbParSubst.TArr__1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e1", - "projection_inverse_StlcStrongDbParSubst.TyApp_e2", - "projection_inverse_StlcStrongDbParSubst.TyApp_g", - "projection_inverse_StlcStrongDbParSubst.TyApp_h1", - "projection_inverse_StlcStrongDbParSubst.TyApp_h2", - "projection_inverse_StlcStrongDbParSubst.TyApp_t11", - "projection_inverse_StlcStrongDbParSubst.TyApp_t12", - "subterm_ordering_StlcStrongDbParSubst.TyApp" - ], - 0, - "4a324165f3d5adbd482e73e1ce1d6136" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Base.fst.hints b/examples/miniparse/MiniParse.Impl.Base.fst.hints deleted file mode 100644 index 8efc3d48b4c..00000000000 --- a/examples/miniparse/MiniParse.Impl.Base.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "¾\u001bðOË\b\u001a\f+ҚǗBé", - [ - [ - "MiniParse.Impl.Base.parser_impl", - 1, - 2, - 1, - [ "@query" ], - 0, - "d4f115393741d541b9c5c16d6bc1dd8f" - ], - [ - "MiniParse.Impl.Base.coerce_parser_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "c6c94a2415dab8c7fca9cab8090122c5" - ], - [ - "MiniParse.Impl.Base.serializer_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt32.t" - ], - 0, - "64141eafb91537ba074a809b03ce1cea" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Combinators.fst.hints b/examples/miniparse/MiniParse.Impl.Combinators.fst.hints deleted file mode 100644 index f1c5683a6b6..00000000000 --- a/examples/miniparse/MiniParse.Impl.Combinators.fst.hints +++ /dev/null @@ -1,787 +0,0 @@ -[ - "\u0010X\u007f7z´ô\u0017\u0013ïðût—", - [ - [ - "MiniParse.Impl.Combinators.parse_ret_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "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.parse_ret", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_typing", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.parse_ret", "typing_Prims.pow2" - ], - 0, - "147b529cc4080fe9e6e83cbd0e71394b" - ], - [ - "MiniParse.Impl.Combinators.serialize_empty_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.Pervasives.pattern", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.serialize_empty", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Pervasives.pattern", "int_typing", - "interpretation_Tm_abs_2d7aa5d41af7bc79e9fc4e0c42fe10d4", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "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.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.Combinators.parse_empty", - "typing_MiniParse.Spec.Combinators.serialize_empty", - "typing_Prims.pow2", "unit_inversion", "unit_typing" - ], - 0, - "23db9c05617c6ac15ef32fa92540814f" - ], - [ - "MiniParse.Impl.Combinators.parse_and_then_impl", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "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.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pervasives.invertOption", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "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", - "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", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_seq", - "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, - "111c55cd1ed85a3f069af00139ddb433" - ], - [ - "MiniParse.Impl.Combinators.parse_nondep_then_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_ret", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", - "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" - ], - 0, - "a64a6048d2dc2754df506a586b2e7d08" - ], - [ - "MiniParse.Impl.Combinators.seq_append_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Prims.nat", "equation_Prims.squash", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "50c517f13ec74a0b9e890f4fc7079181" - ], - [ - "MiniParse.Impl.Combinators.serialize_nondep_then_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.serialize_nondep_then", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_84ca3be552b2abb245b330ca14b3d71f", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_gsub", - "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "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_Subtraction", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.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_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.serialize" - ], - 0, - "60f5e2f432723307cd63d0af9c8598d8" - ], - [ - "MiniParse.Impl.Combinators.parse_synth_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "int_inversion", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "48403d822169b139b5b5bf2474f4d2e6" - ], - [ - "MiniParse.Impl.Combinators.serialize_synth_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.bare_serialize_synth", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.Combinators.serialize_synth", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "unit_inversion" - ], - 0, - "4170f1a61fe9426bb8abbcbf1a9946b9" - ], - [ - "MiniParse.Impl.Combinators.serialize_synth_impl'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8832963d5b91527884617fc1d4779696", - "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95", - "unit_inversion" - ], - 0, - "7417c6be657dffe4695ad80889b66628" - ], - [ - "MiniParse.Impl.Combinators.parse_filter_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_e67e1cf02410ac3968fa1518d8fab72e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "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.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.fail_parser", - "equation_MiniParse.Spec.Combinators.fail_parser_", - "equation_MiniParse.Spec.Combinators.parse_filter", - "equation_MiniParse.Spec.Combinators.parse_filter_payload", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_d4f23485b8c30988b700aa6b6f5e5f32", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "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_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.parse_filter" - ], - 0, - "809d3457a9792618ee5756ac7921a8b0" - ], - [ - "MiniParse.Impl.Combinators.serialize_filter_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.parse_filter", - "equation_MiniParse.Spec.Combinators.serialize_filter", - "equation_MiniParse.Spec.Combinators.serialize_filter_", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" - ], - 0, - "68d2745935c3bb85f06bb3d9ba40fcf6" - ], - [ - "MiniParse.Impl.Combinators.make_constant_size_parser_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "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", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "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", - "interpretation_Tm_abs_32e00b3026b589e7656aa22095079513", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.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_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "unit_typing" - ], - 0, - "634e14e1aade829ffdf5a1452a484a7e" - ], - [ - "MiniParse.Impl.Combinators.make_constant_size_parser_impl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ff39df641a1758c6648aca5d6f17f796", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "6ea27d5c54a79763e52a643e0b93824b" - ], - [ - "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "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", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "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", - "interpretation_Tm_abs_32e00b3026b589e7656aa22095079513", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_8322151be44905be95082db1bf1d0c5b", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "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", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "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_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser" - ], - 0, - "d12fba60e7a1cfc0e3731d88435ea672" - ], - [ - "MiniParse.Impl.Combinators.make_total_constant_size_parser_impl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ff39df641a1758c6648aca5d6f17f796", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "103b4b26f47afab81621af76d5732369" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.Int.fst.hints b/examples/miniparse/MiniParse.Impl.Int.fst.hints deleted file mode 100644 index 4f2d370fecf..00000000000 --- a/examples/miniparse/MiniParse.Impl.Int.fst.hints +++ /dev/null @@ -1,406 +0,0 @@ -[ - "=\"\u0017·\u0004à¿S.\u0012•\u0010G\u0004R", - [ - [ - "MiniParse.Impl.Int.parse_u8_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_cd13151f3191c71b00a592347230af4d", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1634311840211d2f5a6f87aecae0847c", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_38b79b6b4f4ea1d3ca32ae422ac4dbd0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a8c28842f124653d27bb771b7cd063d6", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.UInt8.t", "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "41b733e8be8b701eb9c36929e9633f57" - ], - [ - "MiniParse.Impl.Int.serialize_u8_impl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Int.parse_u8", - "equation_MiniParse.Spec.Int.serialize_u8", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_36ba01fdea5aae7ab644f019f820248e", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "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.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.Int.parse_u8", - "typing_MiniParse.Spec.Int.serialize_u8" - ], - 0, - "beb5b55d56d5ef041facce7793d96daa" - ], - [ - "MiniParse.Impl.Int.parse_u16_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Int.parse_u16_aux", "equation_Prims.eqtype", - "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_88e6b228c6827e1647d7d72b7b8f008b", - "refinement_interpretation_Tm_refine_bd728aff4ebc05f8d05f83729df2b4af", - "typing_FStar.UInt8.t", "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Int.Aux.decode_u16" - ], - 0, - "154b8a3ea7b1d6281736fb3aa6e10f07" - ], - [ - "MiniParse.Impl.Int.serialize_u16_impl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_a374e0041a556ce7cd8f23e40af799b0", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_MiniParse.Spec.Int.Aux.encode_u16", - "equation_MiniParse.Spec.Int.parse_u16", - "equation_MiniParse.Spec.Int.parse_u16_aux", - "equation_MiniParse.Spec.Int.serialize_u16", - "equation_MiniParse.Spec.Int.serialize_u16_", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "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__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_03c5428989f59afcb30385a1a21901ed", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1634311840211d2f5a6f87aecae0847c", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_88e6b228c6827e1647d7d72b7b8f008b", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_af2ccefb76d12e4faeb5a044fc7b97fa", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "token_correspondence_MiniParse.Spec.Int.parse_u16_aux", - "token_correspondence_Prims.pow2.fuel_instrumented", "true_interp", - "typing_FStar.Int.Cast.uint16_to_uint8", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt16.t", - "typing_FStar.UInt16.v", "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.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.Int.Aux.encode_u16", - "typing_MiniParse.Spec.Int.parse_u16", - "typing_MiniParse.Spec.Int.serialize_u16" - ], - 0, - "39906112cb7b815a8f5871cfcdb9896d" - ], - [ - "MiniParse.Impl.Int.parse_bounded_u16_impl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_5e6904d4c06da4267d6df4f83ab40f4d", - "MiniParse.Impl.Int_interpretation_Tm_ghost_arrow_e515e0c9ea421cc6ec81b503e8fee038", - "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_f221ab63d8461933925e6e711c0deafa", - "MiniParse.Spec.Int_interpretation_Tm_ghost_arrow_1fe656d4093709d679ecab497618c373", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "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", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "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.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "equation_MiniParse.Spec.Combinators.parse_filter", - "equation_MiniParse.Spec.Combinators.parse_filter_payload", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_bounded_u16", - "equation_MiniParse.Spec.Int.parse_u16", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_MiniParse.Spec.Int.parse_u16_aux", - "int_inversion", "int_typing", - "interpretation_Tm_abs_1b9ab6f3d31dfe1991901f56a9cb8b84", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", - "interpretation_Tm_abs_32e00b3026b589e7656aa22095079513", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_605063b58eaebf89266aeec4d8e1b500", - "interpretation_Tm_abs_8322151be44905be95082db1bf1d0c5b", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "interpretation_Tm_abs_ca539376a5f570dfa840a07f6c3cae8b", - "interpretation_Tm_abs_d129c60c9d6c84ddcba0badb27fa9ea9", - "interpretation_Tm_abs_de01c43b3546b0d51de0388ad2d8dcc9", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "projection_inverse_MiniParse.Spec.Base.Parser_t", - "refinement_interpretation_Tm_refine_122393b221b19344c38b437c8217b781", - "refinement_interpretation_Tm_refine_1634311840211d2f5a6f87aecae0847c", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_465e73a9e7b4ffe25ff829a7b12520e9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_795fb455fe887e79d318ca3f6d129a29", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_88e6b228c6827e1647d7d72b7b8f008b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt16.t", - "typing_FStar.UInt16.v", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.make_total_constant_size_parser", - "typing_MiniParse.Spec.Combinators.parse_synth", - "typing_MiniParse.Spec.Int.bounded_u16", - "typing_MiniParse.Spec.Int.parse_bounded_u16", - "typing_Tm_abs_ca539376a5f570dfa840a07f6c3cae8b" - ], - 0, - "08c6685fc4ac5ceee7125fb0e9b7a4a0" - ], - [ - "MiniParse.Impl.Int.serialize_bounded_u16_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt16_pretyping_a374e0041a556ce7cd8f23e40af799b0", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.bare_serialize_synth", - "equation_MiniParse.Spec.Combinators.parse_filter", - "equation_MiniParse.Spec.Combinators.serialize_filter", - "equation_MiniParse.Spec.Combinators.serialize_filter_", - "equation_MiniParse.Spec.Combinators.serialize_synth", - "equation_MiniParse.Spec.Int.bounded_u16", - "equation_MiniParse.Spec.Int.parse_bounded_u16", - "equation_MiniParse.Spec.Int.parse_u16", - "equation_MiniParse.Spec.Int.serialize_bounded_u16", - "equation_MiniParse.Spec.Int.serialize_u16", "equation_Prims.nat", - "int_inversion", - "interpretation_Tm_abs_1b9ab6f3d31dfe1991901f56a9cb8b84", - "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", - "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_122393b221b19344c38b437c8217b781", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" - ], - 0, - "18b2b5608795e637aae576d4facfaa0e" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.List.fst.hints b/examples/miniparse/MiniParse.Impl.List.fst.hints deleted file mode 100644 index a3add6985f5..00000000000 --- a/examples/miniparse/MiniParse.Impl.List.fst.hints +++ /dev/null @@ -1,911 +0,0 @@ -[ - "Ê%¯/w¼\u001cšx*yäÑlín", - [ - [ - "MiniParse.Impl.List.parse_nlist_impl_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "c77ae8b6d4114329962007ef3d661b04" - ], - [ - "MiniParse.Impl.List.list_assoc_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a" - ], - 0, - "bb32ad2306ee7f8329c704abeb602a37" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_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", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_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_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_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "0831468421137036958449d3ea0e409e" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl_inv_false_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "ec4ebcfafbeed6324670fd4b74a5894d" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl_body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e1b836384cccc70a57286271389ac21b" - ], - 0, - "b5c7f337596392b49e3bb613a1c75627" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl_body", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Parser", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_Prims.list@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_gsub", - "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_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_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_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.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_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_7ebc2e5a1dda4e0541c779145927b7f4", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_a159eda1010dc90aa379e2f1cbe8e678", - "refinement_interpretation_Tm_refine_aabe8ef7ef37279976d54d2b94693003", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e1b836384cccc70a57286271389ac21b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_kinding_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "token_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "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.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.nondep_then", - "typing_MiniParse.Spec.List.nlist", - "typing_MiniParse.Spec.List.parse_nlist" - ], - 0, - "7ff9cfebe062f107625f5c66e05b8461" - ], - [ - "MiniParse.Impl.List.list_rev", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.List.Tot.Base.rev", - "equation_MiniParse.Impl.List.list_rev_inv", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", "l_imp-interp", - "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", - "typing_FStar.List.Tot.Base.rev", "typing_Prims.uu___is_Nil", - "unit_typing" - ], - 0, - "8ca80281e65699d96a4b786185a29ec6" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv", - "equation_MiniParse.Impl.List.parse_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.bparse", - "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.parse_ret", - "equation_MiniParse.Spec.List.nlist", - "equation_MiniParse.Spec.List.nlist_nil", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "equation_with_fuel_MiniParse.Spec.List.parse_nlist_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "kinding_Prims.list@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "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_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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "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", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_81e1f865346f448178f28d32322bdafd", - "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_a1927231ad9d6f77b862af8ebc19ad0a", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.rev", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.sub", "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_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.List.nlist", - "typing_MiniParse.Spec.List.parse_nlist" - ], - 0, - "854dc020d30ec684a8f83eb3b6eeb02c" - ], - [ - "MiniParse.Impl.List.parse_nlist_impl", - 2, - 2, - 1, - [ "@query" ], - 0, - "41a41b45e1c8c27b7a1b2ea12d53f5e0" - ], - [ - "MiniParse.Impl.List.serialize_nlist_impl_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "9dec0217dc9e89f450bff0d7c8a6c842" - ], - [ - "MiniParse.Impl.List.serialize_nlist_impl_body", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Spec.List_interpretation_Tm_arrow_238a437bce06087459fa4f78eaed82a2", - "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_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Impl.List.serialize_nlist_impl_inv", - "equation_MiniParse.Impl.List.serialize_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_MiniParse.Spec.Combinators.bare_serialize_synth", - "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.serialize_nondep_then", - "equation_MiniParse.Spec.Combinators.serialize_synth", - "equation_MiniParse.Spec.List.nlist", - "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.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", - "interpretation_Tm_abs_84ca3be552b2abb245b330ca14b3d71f", - "kinding_Prims.list@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "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.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_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_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_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__1", - "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_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_287303ffa14cca5840e98f5b5b2bd56f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_75cc4805a0aaf24e673f43926e92885a", - "refinement_interpretation_Tm_refine_9949c4a2a4b08b9d597851f02ea25762", - "refinement_interpretation_Tm_refine_a159eda1010dc90aa379e2f1cbe8e678", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e1b836384cccc70a57286271389ac21b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "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.serialize_nlist_.fuel_instrumented", - "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", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "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.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.List.nlist", - "typing_MiniParse.Spec.List.parse_nlist", - "typing_MiniParse.Spec.List.serialize_nlist" - ], - 0, - "6cb4912a0834b0b2cc25ad5bcf98c08c" - ], - [ - "MiniParse.Impl.List.serialize_nlist_impl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Impl.List.serialize_nlist_impl_inv", - "equation_MiniParse.Impl.List.serialize_nlist_impl_inv_easy", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.List.nlist", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_MiniParse.Spec.List.serialize_nlist_.fuel_instrumented", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_4348a363036e020c899e867d458ec960", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "kinding_Prims.list@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.popped_modifies", - "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_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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_244565db752433be5448b54ab852784a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "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_75cc4805a0aaf24e673f43926e92885a", - "refinement_interpretation_Tm_refine_81e1f865346f448178f28d32322bdafd", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "refinement_interpretation_Tm_refine_fbb3412f12fd58a91571022d7c9fa36d", - "refinement_kinding_Tm_refine_4b278dbc0dccd817818cfad7ade30d15", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "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_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.List.serialize_nlist" - ], - 0, - "4aa53e6a953e5e1a728fce411b40e647" - ], - [ - "MiniParse.Impl.List.serialize_nlist_impl", - 2, - 2, - 1, - [ "@query" ], - 0, - "2d5b7b334352d52269a8720ee4eb4513" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Impl.TSum.fst.hints b/examples/miniparse/MiniParse.Impl.TSum.fst.hints deleted file mode 100644 index 1e6008a5370..00000000000 --- a/examples/miniparse/MiniParse.Impl.TSum.fst.hints +++ /dev/null @@ -1,225 +0,0 @@ -[ - ")\u001dV Œ1ø+$'Î/¿ã\tX", - [ - [ - "MiniParse.Impl.TSum.parse_tagged_union_impl", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "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.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_synth_", - "equation_MiniParse.Spec.TSum.parse_tagged_union", - "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.synth_tagged_union_data", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "int_inversion", "int_typing", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "interpretation_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "token_correspondence_MiniParse.Spec.TSum.synth_tagged_union_data", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "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.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.TSum.parse_tagged_union", - "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_ffaf4a9727175bbc0400abb3f8770c92" - ], - 0, - "e91f4afeca8d9a98094b2ce053addbc7" - ], - [ - "MiniParse.Impl.TSum.serialize_tagged_union_impl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "MiniParse.Impl.Combinators_interpretation_Tm_arrow_17a8ae48ff4e38c1b9892af4d61f9562", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_3eceb8781c126a3d01c6e46f4545621c", - "MiniParse.Spec.TSum_interpretation_Tm_arrow_ed41901a05b4649f0933af23a21a4eb8", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_MiniParse.Impl.Base.buffer8", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.TSum.bare_serialize_tagged_union", - "equation_MiniParse.Spec.TSum.parse_tagged_union", - "equation_MiniParse.Spec.TSum.refine_with_tag", - "equation_MiniParse.Spec.TSum.serialize_tagged_union", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_af29ad29472c21419b347a48927a4840", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_gsub", - "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "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_Subtraction", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "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_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4818621566d3edde8f9c0dac6c867ee2", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_8f4bf6a9f61811eec6b624f09fc40fba", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_MiniParse.Spec.Base.__proj__Serializer__item__f", - "typing_MiniParse.Spec.Base.serialize", - "typing_MiniParse.Spec.TSum.refine_with_tag", - "typing_Tm_abs_af29ad29472c21419b347a48927a4840" - ], - 0, - "1b4314f2ad13c2f6ae0ab3c104533f9e" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Base.fst.hints b/examples/miniparse/MiniParse.Spec.Base.fst.hints deleted file mode 100644 index 87aac0b2ab6..00000000000 --- a/examples/miniparse/MiniParse.Spec.Base.fst.hints +++ /dev/null @@ -1,442 +0,0 @@ -[ - "#§!Ž}×–¿^]í\u0004Æ\"§", - [ - [ - "MiniParse.Spec.Base.no_lookahead_weak_on", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "0c2e1246dc36aaea51186099849994b0" - ], - [ - "MiniParse.Spec.Base.no_lookahead_weak_on_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak_on" ], - 0, - "d1f925fbccf52c14da5a8b83fd305a5d" - ], - [ - "MiniParse.Spec.Base.no_lookahead_weak_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], - 0, - "fc85675aef6f768511815ba920ff0feb" - ], - [ - "MiniParse.Spec.Base.injective_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "77552ad0d3b4843e0e2f99ed9212968c" - ], - [ - "MiniParse.Spec.Base.injective_precond_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.injective_precond" ], - 0, - "a6243882b63b7cf4d9cdc32b8f59dc90" - ], - [ - "MiniParse.Spec.Base.injective_postcond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.consumed_length", "equation_Prims.nat", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5" - ], - 0, - "0c0be40c87b1fe1ba7c6c6945fbd8769" - ], - [ - "MiniParse.Spec.Base.injective_postcond_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.injective_postcond" ], - 0, - "e08b6fb43cfe9b8cdae7f40a141d7ddd" - ], - [ - "MiniParse.Spec.Base.injective_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.injective" ], - 0, - "78220d41197d847880ca4712541d1e82" - ], - [ - "MiniParse.Spec.Base.no_lookahead_on_precond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "d8e775480c53db58ece8798d5051905f" - ], - [ - "MiniParse.Spec.Base.no_lookahead_on_postcond", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c564ded8fb7ed3fef0286d2f820d3bb" - ], - [ - "MiniParse.Spec.Base.no_lookahead_on_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "typing_MiniParse.Spec.Base.bparse" - ], - 0, - "6d43395c18045b55c62ae3196182e1b4" - ], - [ - "MiniParse.Spec.Base.no_lookahead_ext", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.no_lookahead" ], - 0, - "fa949c2ead3dcc7a806ed79ad50c57cc" - ], - [ - "MiniParse.Spec.Base.coerce", - 1, - 2, - 1, - [ "@query" ], - 0, - "acacf951b1319f11faa45d9a6bdb273b" - ], - [ - "MiniParse.Spec.Base.coerce_parser", - 1, - 2, - 1, - [ "@query" ], - 0, - "205d667d1320e4417238f4bf51f6461d" - ], - [ - "MiniParse.Spec.Base.serializer_correct", - 1, - 2, - 1, - [ "@query" ], - 0, - "e4fa64917071a5709e9bc6199d5b2232" - ], - [ - "MiniParse.Spec.Base.serializer_correct_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.serializer_correct", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "refinement_interpretation_Tm_refine_f0990daca12e681f3d756bd918556ac1" - ], - 0, - "7f10f924c165a833c52993ea769d5d13" - ], - [ - "MiniParse.Spec.Base.serializer_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "503a0a715b31d03e454a0af3732c6e24" - ], - [ - "MiniParse.Spec.Base.serializer_correct_implies_complete", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Parser", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serializer_complete", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.UInt8.t" - ], - 0, - "dae060a730303aed2a013576afef7ba7" - ], - [ - "MiniParse.Spec.Base.coerce_serializer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "ecdf973887b222ee00111262b1713a9f" - ], - [ - "MiniParse.Spec.Base.serialize_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_MiniParse.Spec.Base.Serializer", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a" - ], - 0, - "301c685b01df7bd1ecc299e70779306d" - ], - [ - "MiniParse.Spec.Base.serialize_ext'", - 1, - 2, - 1, - [ "@query" ], - 0, - "3c147233b94ca27106375fd3a2a14cba" - ], - [ - "MiniParse.Spec.Base.serializer_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.None", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Base.serializer_complete", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_Prims.eqtype", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_MiniParse.Spec.Base.__proj__Serializer__item__f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Properties.slice_length", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "typing_FStar.UInt8.t", "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Base.serialize" - ], - 0, - "7e967aee8e3a4fa35fa18e48bef68168" - ], - [ - "MiniParse.Spec.Base.serializer_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Base.serializer_correct", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f" - ], - 0, - "9e20d975de5578d6e66a18ea133c91a6" - ], - [ - "MiniParse.Spec.Base.serializer_parser_unique'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_4502d1a2310fff506c14a9e7677ba599", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bare_serializer", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serializer_complete", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.UInt8.t", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f", - "typing_MiniParse.Spec.Base.bparse" - ], - 0, - "c1a8ccdd6cd613e48e4d6a22566c982d" - ], - [ - "MiniParse.Spec.Base.serializer_parser_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "equation_MiniParse.Spec.Base.parse", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Base.parse", "unit_inversion", "unit_typing" - ], - 0, - "c1b7d3433b7a3627be58eac3aac8362f" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Combinators.fst.hints b/examples/miniparse/MiniParse.Spec.Combinators.fst.hints deleted file mode 100644 index 8540845d4fd..00000000000 --- a/examples/miniparse/MiniParse.Spec.Combinators.fst.hints +++ /dev/null @@ -1,1114 +0,0 @@ -[ - "îÍa®\u001d¡\u007fÜ\u001cæ˜Ê&bë>", - [ - [ - "MiniParse.Spec.Combinators.make_constant_size_parser_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "952234703d91400306604132f259cc2f" - ], - [ - "MiniParse.Spec.Combinators.make_constant_size_parser_precond'", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb55af72c5d163c2debed26729839eba" - ], - [ - "MiniParse.Spec.Combinators.make_constant_size_parser_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_7b4ac9a9f8f37901617c3fd8cea6c240", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_precond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "int_typing", - "interpretation_Tm_abs_32e00b3026b589e7656aa22095079513", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1634311840211d2f5a6f87aecae0847c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt8.t" - ], - 0, - "0ea4ab476a8f2c284213bdbb88d1b9b9" - ], - [ - "MiniParse.Spec.Combinators.make_constant_size_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.no_lookahead_weak_on", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_aux", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_32e00b3026b589e7656aa22095079513", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_Tm_abs_32e00b3026b589e7656aa22095079513" - ], - 0, - "6b3c74015c33c66eba377cf8a1c693bb" - ], - [ - "MiniParse.Spec.Combinators.make_total_constant_size_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond", - "equation_MiniParse.Spec.Combinators.make_constant_size_parser_precond_precond", - "equation_MiniParse.Spec.Combinators.make_total_constant_size_parser_precond", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_8322151be44905be95082db1bf1d0c5b", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "adfc4769861f99342278cfffb144646d" - ], - [ - "MiniParse.Spec.Combinators.parse_ret'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "b3307b572c3c54eab54d05b11ed7212f" - ], - [ - "MiniParse.Spec.Combinators.parse_ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.no_lookahead_weak_on", - "equation_Prims.eqtype", "equation_Prims.nat", "int_typing", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "lemma_FStar.Seq.Properties.slice_is_empty", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "c4d05f4a37647a99a34c4b542740e919" - ], - [ - "MiniParse.Spec.Combinators.serialize_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_MiniParse.Spec.Combinators.parse_empty", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_Prims.eqtype", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_2d7aa5d41af7bc79e9fc4e0c42fe10d4", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Seq.Base.empty", "typing_FStar.UInt8.t", - "unit_inversion" - ], - 0, - "db751e3921ff0e48e9f08352ca2aafa6" - ], - [ - "MiniParse.Spec.Combinators.fail_parser", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.no_lookahead_weak_on", - "equation_MiniParse.Spec.Combinators.fail_parser_", - "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8c90175d4e7c31d09f4022b0470ecb69" - ], - [ - "MiniParse.Spec.Combinators.and_then_bare", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_Prims.eqtype", "equation_Prims.nat", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_MiniParse.Spec.Base.consumed_length" - ], - 0, - "d5cecd56f9dfbe8d5fba513071bd4841" - ], - [ - "MiniParse.Spec.Combinators.and_then_no_lookahead_weak_on", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.no_lookahead_weak_on", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_276a81d3c3eadebff56bb9e61978d236", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "token_correspondence_MiniParse.Spec.Combinators.and_then_bare", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt8.t", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", "unit_inversion", - "unit_typing" - ], - 0, - "c92bf326cdd9c74db856d7502253fbbb" - ], - [ - "MiniParse.Spec.Combinators.and_then_no_lookahead_weak", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Base.no_lookahead_weak" ], - 0, - "5d55e6963585751e4b64ba6593462fbd" - ], - [ - "MiniParse.Spec.Combinators.and_then_cases_injective_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "66966f796e4a2740a5a09b8bcf6e581e" - ], - [ - "MiniParse.Spec.Combinators.and_then_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6a960d0fa25c92f70750ff4a0270d63a", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", - "typing_MiniParse.Spec.Combinators.and_then_bare" - ], - 0, - "3fb901ebee00db13b2f1b0d9d1e3d9b4" - ], - [ - "MiniParse.Spec.Combinators.and_then_no_lookahead_on", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Base_interpretation_Tm_ghost_arrow_84eb031c18bd35e3c76ba4886d9ede0b", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_9142d2bae8c7d17f5b41cdeff1cf06fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "token_correspondence_MiniParse.Spec.Combinators.and_then_bare", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt8.t", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length", "unit_inversion", - "unit_typing" - ], - 0, - "0de245a61fac94d5caf77971308ef7e9" - ], - [ - "MiniParse.Spec.Combinators.and_then_no_lookahead", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f" - ], - 0, - "7b05e80ce4f4300aeec6c2d595d76872" - ], - [ - "MiniParse.Spec.Combinators.and_then_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "data_elim_MiniParse.Spec.Base.Parser", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f" - ], - 0, - "c82b1172e368f747a0f5f1c3b5514e6d" - ], - [ - "MiniParse.Spec.Combinators.and_then", - 1, - 2, - 1, - [ "@query" ], - 0, - "8a7c6dac4cbf3b0ae011592c12dc8e67" - ], - [ - "MiniParse.Spec.Combinators.nondep_then", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Tm_unit", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_ret", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", - "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" - ], - 0, - "404f0d909013f265ac6058f81b288fdb" - ], - [ - "MiniParse.Spec.Combinators.nondep_then_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", - "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.nondep_then" - ], - 0, - "54ab339201bbaf3891687e508c7468e2" - ], - [ - "MiniParse.Spec.Combinators.seq_slice_append_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f0ea2cd12d365af73fc937e14e60086d", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "1b793df6f6e0143cdbca28258c02b077" - ], - [ - "MiniParse.Spec.Combinators.seq_slice_append_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_029e9ae182bcbfc60680e2719e1a1fdb", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "2aca5da01c21f906a7742ea357409086" - ], - [ - "MiniParse.Spec.Combinators.bare_serialize_nondep_then_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_ac0692899dfa447ad13c5f2aefde77c5", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", - "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_74d5ca20293ddc2696b34978f3cd4f0a", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_MiniParse.Spec.Base.Parser", - "data_elim_MiniParse.Spec.Base.Serializer", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.bare_serialize_nondep_then", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.nondep_then", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_Prims.eqtype", "equation_Prims.nat", - "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_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_MiniParse.Spec.Combinators.bare_serialize_nondep_then", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "int_inversion", "int_typing", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_84ca3be552b2abb245b330ca14b3d71f", - "interpretation_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a", - "interpretation_Tm_abs_b1966e89e7cd8f7f0d8af601292dbb6f", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "token_correspondence_MiniParse.Spec.Combinators.bare_serialize_nondep_then", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.serialize", - "typing_Tm_abs_84ca3be552b2abb245b330ca14b3d71f", - "typing_Tm_abs_9b0fdcdb7bad65cf740850da64bc002a" - ], - 0, - "4f8894c408cfe1baa90e2b6961137775" - ], - [ - "MiniParse.Spec.Combinators.serialize_nondep_then", - 1, - 2, - 1, - [ "@query" ], - 0, - "9598d7dcbe5c80743f097ef4bf68d648" - ], - [ - "MiniParse.Spec.Combinators.parse_fret'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "b721269ab95bd1f22211a786f21556a7" - ], - [ - "MiniParse.Spec.Combinators.parse_fret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.injective", - "equation_MiniParse.Spec.Base.injective_postcond", - "equation_MiniParse.Spec.Base.injective_precond", - "equation_MiniParse.Spec.Base.no_lookahead", - "equation_MiniParse.Spec.Base.no_lookahead_on", - "equation_MiniParse.Spec.Base.no_lookahead_on_postcond", - "equation_MiniParse.Spec.Base.no_lookahead_on_precond", - "equation_MiniParse.Spec.Base.no_lookahead_weak", - "equation_MiniParse.Spec.Base.no_lookahead_weak_on", - "equation_Prims.eqtype", "equation_Prims.nat", "int_typing", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "lemma_FStar.Seq.Properties.slice_is_empty", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "a6f4c63d337633b3e2b23b777146a2d7" - ], - [ - "MiniParse.Spec.Combinators.parse_synth'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" - ], - 0, - "f9b2776eecf7bfccbf351ade80fb3908" - ], - [ - "MiniParse.Spec.Combinators.parse_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.synth_inverse", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser" - ], - 0, - "f5c148c9ba75262e42c7ad33374c562e" - ], - [ - "MiniParse.Spec.Combinators.parse_synth_eq", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "int_inversion", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "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_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "refinement_interpretation_Tm_refine_f1ef48729dd48b5741a77671cc117cd5", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.consumed_length" - ], - 0, - "447cf33b7e354b12098e63537e5a0414" - ], - [ - "MiniParse.Spec.Combinators.bare_serialize_synth_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95" - ], - 0, - "fc90fdb12c07f0600de32233a1751022" - ], - [ - "MiniParse.Spec.Combinators.bare_serialize_synth_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.bare_serialize_synth", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_synth", - "equation_MiniParse.Spec.Combinators.synth_inverse", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "int_inversion", - "interpretation_Tm_abs_1fb4b12c5e13644b16cddd2d7e9d02d4", - "interpretation_Tm_abs_5726c850e5adc579388e02f8d1747910", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_957e8ad743772cbc360e7d8acd225cc1", - "primitive_Prims.op_Addition", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "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_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_MiniParse.Spec.Base.serialize" - ], - 0, - "02047fb75d58f945e362b921d15181e2" - ], - [ - "MiniParse.Spec.Combinators.synth_inverse_intro", - 1, - 2, - 1, - [ "@query", "equation_MiniParse.Spec.Combinators.synth_inverse" ], - 0, - "c784b168712b672e8bf4efc46748a5f7" - ], - [ - "MiniParse.Spec.Combinators.serialize_synth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e5dad5ef51a93741fdb3aaf46e97fb95" - ], - 0, - "804a1ba0839643cb86855709526578dc" - ], - [ - "MiniParse.Spec.Combinators.lift_parser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_ghost_arrow_ac6e6f456246d2c100c6577d38c5a1e7", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.parse", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_fb66773af7f5fd01e183cbed4fff8be6", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_95482e91a565bbc8d113ac6e95692d97", - "typing_MiniParse.Spec.Base.__proj__Parser__item__f", "unit_typing" - ], - 0, - "5350242ab04e5c37cb30ef8ecc2578a5" - ], - [ - "MiniParse.Spec.Combinators.parse_filter", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "equation_MiniParse.Spec.Base.bare_parser", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_", - "equation_MiniParse.Spec.Combinators.and_then_cases_injective_precond", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.fail_parser", - "equation_MiniParse.Spec.Combinators.fail_parser_", - "equation_MiniParse.Spec.Combinators.parse_filter_payload", - "equation_MiniParse.Spec.Combinators.parse_ret", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.parser_spec", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", - "interpretation_Tm_abs_70f489119d60d8732ac22a9de0b5f7be", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_MiniParse.Spec.Base.Parser_f", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.parse", - "typing_MiniParse.Spec.Combinators.fail_parser", - "typing_Tm_abs_24c49183d745861a79c9e705ccd478d5" - ], - 0, - "aa0148b858ca7a5725e20098134894b9" - ], - [ - "MiniParse.Spec.Combinators.serialize_filter", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_21c34ab6214876c3f64c3607461881fc", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_dd40325d19cf9e9f3e68140eb0c1fb89", - "MiniParse.Spec.Combinators_interpretation_Tm_arrow_fe391d6680769aaad08ee4cff3d82de3", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_MiniParse.Spec.Base.Serializer", - "equation_MiniParse.Spec.Base.bparse", - "equation_MiniParse.Spec.Base.byte", - "equation_MiniParse.Spec.Base.bytes", - "equation_MiniParse.Spec.Base.consumed_length", - "equation_MiniParse.Spec.Base.parse", - "equation_MiniParse.Spec.Base.serialize", - "equation_MiniParse.Spec.Base.serializer_correct", - "equation_MiniParse.Spec.Combinators.and_then", - "equation_MiniParse.Spec.Combinators.and_then_bare", - "equation_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "equation_MiniParse.Spec.Combinators.parse_filter", - "equation_MiniParse.Spec.Combinators.parse_filter_payload", - "equation_MiniParse.Spec.Combinators.parse_ret", - "equation_MiniParse.Spec.Combinators.serialize_filter_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_MiniParse.Spec.Base.serializer_spec", - "function_token_typing_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "function_token_typing_MiniParse.Spec.Combinators.parse_filter_payload", - "int_inversion", - "interpretation_Tm_abs_24c49183d745861a79c9e705ccd478d5", - "interpretation_Tm_abs_2c62dd15e28a3b1b5c37052636225b47", - "interpretation_Tm_abs_5a56d64ec9685d0352c27644697b3e56", - "interpretation_Tm_abs_f1ff1752f992f8166b0d544dd38cf6b2", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", - "proj_equation_MiniParse.Spec.Base.Parser_f", - "proj_equation_MiniParse.Spec.Base.Serializer_f", - "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_MiniParse.Spec.Base.Parser_f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8da27fc70f74cdb01995c74e5b0aab3a", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_kinding_Tm_refine_47a1a40ac1f83f95f3b324d5e73614ef", - "token_correspondence_MiniParse.Spec.Base.__proj__Serializer__item__f", - "token_correspondence_MiniParse.Spec.Combinators.coerce_to_bare_param_parser", - "token_correspondence_MiniParse.Spec.Combinators.parse_filter_payload", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "typing_MiniParse.Spec.Base.bparse", - "typing_MiniParse.Spec.Base.serialize" - ], - 0, - "dbc679f2e3a76eea5a4610e0ac0e1465" - ] - ] -] \ 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 deleted file mode 100644 index d5cf412c1a2..00000000000 --- a/examples/miniparse/MiniParse.Spec.Int.Aux.fst.hints +++ /dev/null @@ -1,133 +0,0 @@ -[ - "™Œ2öVCK&E\u000f™\u0016ÝĪK", - [ - [ - "MiniParse.Spec.Int.Aux.decode_u16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.uint8_to_uint16", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_541d06ed6731928026bc39b1981eb00a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt8.v" - ], - 0, - "1c8b7f5fa9e5a1bd15732bde2996fe05" - ], - [ - "MiniParse.Spec.Int.Aux.encode_u16", - 1, - 2, - 1, - [ "@query" ], - 0, - "6839d0f6f399af399857d6f0ce47bb29" - ], - [ - "MiniParse.Spec.Int.Aux.encode_u16_decode_u16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Int.Cast.uint16_to_uint8", - "equation_FStar.Int.Cast.uint8_to_uint16", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_MiniParse.Spec.Int.Aux.decode_u16", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt8.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0c3c281ec070e108a64d9e6643fa12b8", - "refinement_interpretation_Tm_refine_3e34e2c4f5ba554ca9d5a94a7452f876", - "refinement_interpretation_Tm_refine_541d06ed6731928026bc39b1981eb00a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc1cfeb1ee6b248d1fef572cc963c99", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a2680f37a85ca38ef32ad76329ca6655", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f2a41cd0b7a1b87e64e4bdabfc823091", - "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt16.add", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.mul", - "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", - "typing_FStar.UInt8.v", "typing_MiniParse.Spec.Int.Aux.decode_u16", - "typing_Prims.pow2" - ], - 0, - "474ce5b76938e380cb7693615c73297c" - ], - [ - "MiniParse.Spec.Int.Aux.decode_u16_encode_u16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Int.Cast.uint16_to_uint8", - "equation_FStar.Int.Cast.uint8_to_uint16", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_MiniParse.Spec.Int.Aux.decode_u16", - "equation_MiniParse.Spec.Int.Aux.encode_u16", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt16.vu_inv", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0c3c281ec070e108a64d9e6643fa12b8", - "refinement_interpretation_Tm_refine_3e34e2c4f5ba554ca9d5a94a7452f876", - "refinement_interpretation_Tm_refine_541d06ed6731928026bc39b1981eb00a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc1cfeb1ee6b248d1fef572cc963c99", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a2680f37a85ca38ef32ad76329ca6655", - "refinement_interpretation_Tm_refine_af2ccefb76d12e4faeb5a044fc7b97fa", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f2a41cd0b7a1b87e64e4bdabfc823091", - "typing_FStar.Int.Cast.uint16_to_uint8", - "typing_FStar.Int.Cast.uint8_to_uint16", "typing_FStar.UInt16.add", - "typing_FStar.UInt16.div", "typing_FStar.UInt16.mul", - "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v", - "typing_FStar.UInt8.v", "typing_MiniParse.Spec.Int.Aux.decode_u16", - "typing_MiniParse.Spec.Int.Aux.encode_u16", "typing_Prims.pow2" - ], - 0, - "773d41a7d0d78279e1c26c1cd12e67ad" - ] - ] -] \ No newline at end of file diff --git a/examples/miniparse/MiniParse.Spec.Int.fst.hints b/examples/miniparse/MiniParse.Spec.Int.fst.hints deleted file mode 100644 index dbdcd8bc500..00000000000 --- a/examples/miniparse/MiniParse.Spec.Int.fst.hints +++ /dev/null @@ -1,453 +0,0 @@ -[ - "ª\u0003%TiPŒ7\u0017ƒo6¼fô|\u000bJ^\u0012Á", [] ] \ No newline at end of file diff --git a/examples/old/csl/SL.AutoTactic.fst.hints b/examples/old/csl/SL.AutoTactic.fst.hints deleted file mode 100644 index 2bc4a184c98..00000000000 --- a/examples/old/csl/SL.AutoTactic.fst.hints +++ /dev/null @@ -1,275 +0,0 @@ -[ - "™—íò%\u000bºŠbÅ-_ß­(K", - [ - [ - "SL.AutoTactic.memory_cm", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm" - ], - 0, - "41e572089484c20becf1117c30ab82e5" - ], - [ - "SL.AutoTactic.frame_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.Effect.frame_wp", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_7ba88047b4ce52e343e9c9efdedc95cb", - "refinement_interpretation_Tm_refine_a115bf9a6290b1e76702d9ff5be08d48" - ], - 0, - "cbcfc63b16cfceb4dbe886008cc3c77c" - ], - [ - "SL.AutoTactic.ite_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.Effect.st_ite_wp", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bedd0e48fbffb50c56a7bb7d6ef634c2" - ], - [ - "SL.AutoTactic.if_then_else_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_SL.Effect.st_if_then_else", - "refinement_interpretation_Tm_refine_50c0b425b242d748dce7f54c63710850", - "refinement_interpretation_Tm_refine_ff1b22b8b4716d687c209a89e74e279f" - ], - 0, - "056dd9b3024995f73fbae0e17be7c1cf" - ], - [ - "SL.AutoTactic.close_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Effect.st_close_wp", - "refinement_interpretation_Tm_refine_19c36087eec74c9606aa52d8292d1b93" - ], - 0, - "0e11c3b945a3a6aec6ac6365fdb41288" - ], - [ - "SL.AutoTactic.sort_sl_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_SL.AutoTactic.bdata", "equation_SL.AutoTactic.sort_sl", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" - ], - 0, - "600dabf2a333d16d23683e87caea1d83" - ], - [ - "SL.AutoTactic.__proj__Frame__item__ta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" - ], - 0, - "a3e66665306bae10c84931dc14a49022" - ], - [ - "SL.AutoTactic.__proj__Frame__item__twp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" - ], - 0, - "0e179b5b0f483b76280baea6328a5863" - ], - [ - "SL.AutoTactic.__proj__Frame__item__tpost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" - ], - 0, - "3e1c7d61d6da612b64c477c425d07e4b" - ], - [ - "SL.AutoTactic.__proj__Frame__item__tm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2d47d28c80466f25c27aa06b4aa5a22b" - ], - 0, - "265ec0965f4dd7deedff45262f9843a3" - ], - [ - "SL.AutoTactic.__proj__ParWP__item__twpa", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" - ], - 0, - "07d50f6988bd7b72c41cac9e29e8499d" - ], - [ - "SL.AutoTactic.__proj__ParWP__item__twpb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" - ], - 0, - "d995c7202c31545053c4dff6b32393c1" - ], - [ - "SL.AutoTactic.__proj__ParWP__item__th0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_215fd0fa36578f49ef025a1f95319e74" - ], - 0, - "7d50d1199c3936e9691291378538ed29" - ], - [ - "SL.AutoTactic.__proj__Unknown__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef99333c406db249fc03d4edb1fd9534" - ], - 0, - "8ef1a069de4bf06a670393fb17d80247" - ], - [ - "SL.AutoTactic.__lem_eq_sides", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "d60138acbba375518bdd665015cd1d15" - ], - [ - "SL.AutoTactic.__and_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", - "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" - ], - 0, - "e5828336a5f5d1e86a119757ccbb2889" - ], - [ - "SL.AutoTactic.__tcut", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "810897ff4ce13e801245d5c510ee52c2" - ], - [ - "SL.AutoTactic.__elim_fp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.logical", - "equation_Prims.squash", "function_token_typing_Prims.logical", - "lemma_SL.Effect.with_fp_lemma", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "065e438285de0737b88c951a3e91d39f" - ], - [ - "SL.AutoTactic.__unif_helper", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_sep_unit" ], - 0, - "a8632f4920d2a7ad412a017ae76b3a08" - ], - [ - "SL.AutoTactic.find_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Tactics.Result.Success", - "equation_FStar.Pervasives.pattern", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Pervasives.pattern", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "3b5c32afce76d2c8e701fbc09c95632d" - ], - [ - "SL.AutoTactic.__elim_exists_as_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_52aaf47986f8078b3fe702da8e3e43f4", - "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" - ], - 0, - "a86f27e53ffadbaa96a07aba1efdacdc" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Base.fst.hints b/examples/old/csl/SL.Base.fst.hints deleted file mode 100644 index 68bcffd7429..00000000000 --- a/examples/old/csl/SL.Base.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Q4QQþRf\u001bL!”e~\t¼v", [] ] \ No newline at end of file diff --git a/examples/old/csl/SL.ConcurrentActions.fst.hints b/examples/old/csl/SL.ConcurrentActions.fst.hints deleted file mode 100644 index 0dc1b0cd903..00000000000 --- a/examples/old/csl/SL.ConcurrentActions.fst.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "´õå÷'à\u0015=ùY\r\u001eÈ6y1", - [ - [ - "SL.ConcurrentActions.par_wp'_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.ConcurrentActions.par_comp", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_fccfa9e0e1f4bc6d3c29383efe359226" - ], - 0, - "ce250a52616c6b4d3420fba8db2775b7" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.ConcurrentExamples.fst.hints b/examples/old/csl/SL.ConcurrentExamples.fst.hints deleted file mode 100644 index 256b4d7e5fc..00000000000 --- a/examples/old/csl/SL.ConcurrentExamples.fst.hints +++ /dev/null @@ -1,1123 +0,0 @@ -[ - "*¼Q\u001eñ\t¯\r¸‘Lµ|»®", - [ - [ - "SL.ConcurrentExamples.test17", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b" - ], - 0, - "3ea4cf645630de587d209b82eee0d914" - ], - [ - "SL.ConcurrentExamples.test17", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "5f973212e10b20cc37c035bbe54d8a36" - ], - [ - "SL.ConcurrentExamples.test17'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "77a98717b2f33ff3c6cae8a9d61af663" - ], - [ - "SL.ConcurrentExamples.test17'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "ffef2645a6d1b17468d42ef70f4e14ce" - ], - [ - "SL.ConcurrentExamples.test18", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "b5d2c67f8f32be2f1008a268c9e9c3ca" - ], - [ - "SL.ConcurrentExamples.test18", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c0ffc2bc0885161039b90daa4c96a9e0" - ], - [ - "SL.ConcurrentExamples.test18", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "ddba564b789e028335beaf92522661cb" - ], - [ - "SL.ConcurrentExamples.test18", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "0404e4040afb1df61c5b81b242c66fa0" - ], - [ - "SL.ConcurrentExamples.test19", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "7f2c812edf45895a0aae63b49043e0b6" - ], - [ - "SL.ConcurrentExamples.test19", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "21dfd84113d37b3c21620ef586a112b3" - ], - [ - "SL.ConcurrentExamples.test19", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "d5ff028a60795539d60339fd72650d77" - ], - [ - "SL.ConcurrentExamples.test19", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "5b2da310cd5c960092a9a418b5592eb9" - ], - [ - "SL.ConcurrentExamples.test20", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "6c63493e559133e136092c5ddab99ee9" - ], - [ - "SL.ConcurrentExamples.test20", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "54d0835676f55a90bd3436ef78b2532a" - ], - [ - "SL.ConcurrentExamples.test20", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "7348e83737d96f193156d6d6390dbe25" - ], - [ - "SL.ConcurrentExamples.test20", - 4, - 2, - 1, - [ "@query" ], - 0, - "b5c7645c48e59d269168f0afba8236d0" - ], - [ - "SL.ConcurrentExamples.test20", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "780bc569d11fb8b45096463aa63ec559" - ], - [ - "SL.ConcurrentExamples.test21", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "77f317451f6100c4967a873ed250db58" - ], - [ - "SL.ConcurrentExamples.test21", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "b8c18bdede26fe2ef474c8420ffd20d0" - ], - [ - "SL.ConcurrentExamples.test21", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "c4c8c6a13db214e8b046c21ef78d4d32" - ], - [ - "SL.ConcurrentExamples.test21", - 4, - 2, - 1, - [ "@query" ], - 0, - "35db9d5a40211513cc2a3bd0d08dfd63" - ], - [ - "SL.ConcurrentExamples.test21", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "7b40c4d80632bbf4090e4a3974289247" - ], - [ - "SL.ConcurrentExamples.test21", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "e48f6ef1e6a69cb230fd1e414eb7b42d" - ], - [ - "SL.ConcurrentExamples.test21", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2231340e68b35736c68cb6f5e7a892fb" - ], - [ - "SL.ConcurrentExamples.test22", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "5cfadadcac3b9a2574ef13929c95a380" - ], - [ - "SL.ConcurrentExamples.test22", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "b715f451004265b53ce9f4af625065f2" - ], - [ - "SL.ConcurrentExamples.test22", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "a2dee22f412f84f533813f737ac96067" - ], - [ - "SL.ConcurrentExamples.test22", - 4, - 2, - 1, - [ "@query" ], - 0, - "4f3f592cc0706f5cfa2b7745d2c6008f" - ], - [ - "SL.ConcurrentExamples.test22", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "5505240c75ef9eeee1e5ca3c4f159779" - ], - [ - "SL.ConcurrentExamples.test22", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "fd1af9de98c2dfd2d53bc5d9cc023332" - ], - [ - "SL.ConcurrentExamples.test22", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "9b53efd510e92a1bd14ef7a9156d519b" - ], - [ - "SL.ConcurrentExamples.test22", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "5d8f8c271df2f17b94194eff21ae3ba4" - ], - [ - "SL.ConcurrentExamples.test23", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "348aaf04b1452766807723725f90362c" - ], - [ - "SL.ConcurrentExamples.test23", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "cff3fbf1f008a2094c37fa8b20c7ae3a" - ], - [ - "SL.ConcurrentExamples.test23", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "1bc3f1d159cfb750c57e52fdd7ff6c03" - ], - [ - "SL.ConcurrentExamples.test23", - 4, - 2, - 1, - [ "@query" ], - 0, - "83201f04b3564c2ed3090a93052384e1" - ], - [ - "SL.ConcurrentExamples.test23", - 5, - 2, - 1, - [ "@query" ], - 0, - "480ad0a0905efbc041102b4bec871b5e" - ], - [ - "SL.ConcurrentExamples.test23", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "bc9449d1ebd4619569c6d7acea58dfda" - ], - [ - "SL.ConcurrentExamples.test23", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c455db2839ee988ddae02d500b15a049" - ], - [ - "SL.ConcurrentExamples.test23", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ced19377e3ef192ad06db7941ebb4a30" - ], - [ - "SL.ConcurrentExamples.test23", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "9459ac710d0fd70e99df9e3858c68bdb" - ], - [ - "SL.ConcurrentExamples.incr_both_swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2621082ef05e58eb3e72692bd5e893f0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b7adc952b9a145bfcc3709b712fbb35c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "08f4020c0ea62352bc42494f6e982167" - ], - [ - "SL.ConcurrentExamples.incr_both_swap", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "c90002ba35e0b5324288628e6ad5acb2" - ], - [ - "SL.ConcurrentExamples.incr_both_swap", - 3, - 2, - 1, - [ "@query" ], - 0, - "97bb08313f126cb3ffdcaf41614a30e5" - ], - [ - "SL.ConcurrentExamples.incr_both_swap", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_ea2a99e14d834976cda595df67a5314a", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "6a38cdc2c07737335f7acd9cd3c73de4" - ], - [ - "SL.ConcurrentExamples.incr_both_swap", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "50bce91fc82d438ad7ba4e87959fb105" - ], - [ - "SL.ConcurrentExamples.acq_step", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "340146d389d40ada59a437167cf96cbe" - ], - [ - "SL.ConcurrentExamples.acq_step", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0a952318faa2c73257880922633a95c1" - ], - [ - "SL.ConcurrentExamples.acq_step", - 3, - 2, - 1, - [ "@query" ], - 0, - "b754178b55112d8a326e6b64318729e0" - ], - [ - "SL.ConcurrentExamples.acq_step", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d5f92912cc71e0f8016f4382aa389283" - ], - [ - "SL.ConcurrentExamples.acq_step", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "21841114e54e8f62545a2fec07c33253" - ], - [ - "SL.ConcurrentExamples.test24", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "13094533f0109493644403173820fa8b" - ], - [ - "SL.ConcurrentExamples.test24", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "905ccf8402379770af551e6af2675a33" - ], - [ - "SL.ConcurrentExamples.test24", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "1a39a5348a6e97586225a31cb03f3c2b" - ], - [ - "SL.ConcurrentExamples.test24", - 4, - 2, - 1, - [ "@query" ], - 0, - "4b3e77b1fd89950958be65f524921a5f" - ], - [ - "SL.ConcurrentExamples.test24", - 5, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "9d0de5ef6556ed91a10ec8e361efe3fc" - ], - [ - "SL.ConcurrentExamples.test24", - 6, - 2, - 1, - [ "@query" ], - 0, - "9abdc93665a3e95e32ac448f0218f106" - ], - [ - "SL.ConcurrentExamples.test24", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "7ebe521a78fe72060979ed87e8c83389" - ], - [ - "SL.ConcurrentExamples.test24", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2370943d51a9c57b63f9d6bc85854cef" - ], - [ - "SL.ConcurrentExamples.test24", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f285ebe36b629bad2f2b615e38492d53" - ], - [ - "SL.ConcurrentExamples.test24", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "a541a659d8c844df2e9d4313262d0cbc" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Effect.fst.hints b/examples/old/csl/SL.Effect.fst.hints deleted file mode 100644 index ce30fffa580..00000000000 --- a/examples/old/csl/SL.Effect.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "ú.H.G±+Ÿ¸æ|1\u0010(‹È", - [ - [ - "SL.Effect.with_fp_lemma", - 1, - 2, - 1, - [ "@query", "equation_SL.Effect.with_fp" ], - 0, - "126795bc5d70bf806b77c82dfbe85b46" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.ExamplesAuto.fst.hints b/examples/old/csl/SL.ExamplesAuto.fst.hints deleted file mode 100644 index 9896ca30e83..00000000000 --- a/examples/old/csl/SL.ExamplesAuto.fst.hints +++ /dev/null @@ -1,430 +0,0 @@ -[ - "\u0012Óãƒû¾ïldN}\u0013ó¿±þ", - [ - [ - "SL.ExamplesAuto.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_78c13aa774b93f5bf07e1086e93186ef", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "0f706cdbfb553e6dab2e08dda90f3be3" - ], - [ - "SL.ExamplesAuto.swap", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "12b390ff780f2525d2fe4773ec455de8" - ], - [ - "SL.ExamplesAuto.swap", - 3, - 2, - 1, - [ "@query" ], - 0, - "a57d982dddcaa2d5c9a541039e6fef26" - ], - [ - "SL.ExamplesAuto.swap", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_ea2a99e14d834976cda595df67a5314a", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "d4aa955ce68c30ce2c0164bd8c5f6abe" - ], - [ - "SL.ExamplesAuto.swap", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "68a571a79fa471fcc5cd447e03d8c35d" - ], - [ - "SL.ExamplesAuto.rotate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "12516556396d48196c8b8a46eda1aa13" - ], - [ - "SL.ExamplesAuto.rotate", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "618330d9fddd9cb88a6caf81453fc4ef" - ], - [ - "SL.ExamplesAuto.rotate", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_3d3ce2b89e0c74f78369af8563ecee22", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ddc48621e16eb8ea9cc43d0fb6875c40" - ], - [ - "SL.ExamplesAuto.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_c38c07410f7ca857bc20e9af21834fcb", - "refinement_interpretation_Tm_refine_ea2a99e14d834976cda595df67a5314a" - ], - 0, - "68dcdf555baba5349cc89d38d508922d" - ], - [ - "SL.ExamplesAuto.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "f4e8e4091d93e6f2a74932c35463e8f1" - ], - [ - "SL.ExamplesAuto.write_read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7d967a0fb6d12e6bc4844bbbb769fdfc", - "refinement_interpretation_Tm_refine_9aac63d63036d63527c3e902d0eb6485", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "48a06cce72317dea319f0cdef650ad7b" - ], - [ - "SL.ExamplesAuto.write_read", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "da2069696591b7f5c2c346171ca67520" - ], - [ - "SL.ExamplesAuto.write_read", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "3a226975f7fa07452615d64aff892cf2" - ], - [ - "SL.ExamplesAuto.read_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dfbb831b1f0f4b0afd5d2ac1dc828b7d", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "a4054edb2fc9fa2ffe132b207246f79b" - ], - [ - "SL.ExamplesAuto.read_write", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_ea2a99e14d834976cda595df67a5314a", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "6562163f4c690e744b39ca73949a2130" - ], - [ - "SL.ExamplesAuto.read_write", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "6b8bcfe3be7f988a819400e71f70c895" - ], - [ - "SL.ExamplesAuto.cond_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6164d9b106667485d32a033534b8978a", - "refinement_interpretation_Tm_refine_b44f0473d9ca4b4c16a5222f08655ced" - ], - 0, - "170cfc3a685381ed44197984f278a917" - ], - [ - "SL.ExamplesAuto.cond_test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "3d3d272bfd58ca91ac9cf66127ac9d13" - ], - [ - "SL.ExamplesAuto.cond_test", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9a2933ed0a6c4a0db2ff83cb885c9ec7", - "refinement_interpretation_Tm_refine_b44f0473d9ca4b4c16a5222f08655ced" - ], - 0, - "1c62ca791b1ec136cb5b40095632c58a" - ], - [ - "SL.ExamplesAuto.cond_test", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "34a25626c65d61a8760efa06faf4422b" - ], - [ - "SL.ExamplesAuto.rotate_left_or_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a" - ], - 0, - "a2b74a2c69e1f08839e7bbde3fec2078" - ], - [ - "SL.ExamplesAuto.rotate_left_or_right", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6164d9b106667485d32a033534b8978a", - "refinement_interpretation_Tm_refine_80a47aecdbb3cb2ff3966bdb3c7dec5d" - ], - 0, - "cebb23b966e552f3f664fecf303b7061" - ], - [ - "SL.ExamplesAuto.rotate_left_or_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d9d4302cafbcb82cd71db1762b683728" - ], - [ - "SL.ExamplesAuto.rotate_left_or_right", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80a47aecdbb3cb2ff3966bdb3c7dec5d", - "refinement_interpretation_Tm_refine_9a2933ed0a6c4a0db2ff83cb885c9ec7", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ae0f166ab6b946b825280eaea11965cd" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.ExamplesLocks.fst.hints b/examples/old/csl/SL.ExamplesLocks.fst.hints deleted file mode 100644 index 1eee8711ddf..00000000000 --- a/examples/old/csl/SL.ExamplesLocks.fst.hints +++ /dev/null @@ -1,902 +0,0 @@ -[ - "`jÝ¢AÅùq÷¶ù¼{sá\u0019", - [ - [ - "SL.ExamplesLocks.test_acq", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "8dd228f49fbf20d91ab9dfc0b45e890c" - ], - [ - "SL.ExamplesLocks.test_acq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a5477812df333467d69526c18e5e26d1", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "9a0b0e56577f7a54c623411461216a2a" - ], - [ - "SL.ExamplesLocks.test_acq_rel", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "b12eae67d5a298299c09acbb3d4bd454" - ], - [ - "SL.ExamplesLocks.test_acq_rel", - 2, - 2, - 1, - [ "@query" ], - 0, - "b95c6bbdd83666c7defa26425d75d117" - ], - [ - "SL.ExamplesLocks.test_acq_rel", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "00052cb9d0f306718343717663dc25d4" - ], - [ - "SL.ExamplesLocks.test_acq_rel", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "35a60e5b53e1767d824c102c01e71ac9" - ], - [ - "SL.ExamplesLocks.set_and_ret", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "80e2707535487ed5cfd931ec2dffc9c8" - ], - [ - "SL.ExamplesLocks.set_and_ret", - 2, - 2, - 1, - [ "@query" ], - 0, - "4ebb216c49af6802875b625417fa8368" - ], - [ - "SL.ExamplesLocks.set_and_ret", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "4e16c882b515b51964aaf7bbdef5e491" - ], - [ - "SL.ExamplesLocks.set_and_ret", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_b8ff472d5334c42b1cce709c3e76bba8" - ], - 0, - "c75e2190f5755fc8e263af9ee3e368da" - ], - [ - "SL.ExamplesLocks.test06", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "b95f70c9bb4be9a08aa218da6a3835f8" - ], - [ - "SL.ExamplesLocks.test06", - 2, - 2, - 1, - [ "@query" ], - 0, - "4a7b98a3c314af0b4c35b8b6ce82c470" - ], - [ - "SL.ExamplesLocks.test06", - 3, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "fcdae1f668e2a684bf64351485eb424c" - ], - [ - "SL.ExamplesLocks.test06", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", - "refinement_interpretation_Tm_refine_ab64e97564aeeff76a0a1aab73ee3eee", - "refinement_interpretation_Tm_refine_b6a81f5cde02caac440f4a44f3180dae", - "typing_SL.Heap.emp" - ], - 0, - "053cb2b0afec9908955ce77af731edc2" - ], - [ - "SL.ExamplesLocks.test07", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "721306446c72395b808a9ce831ba0833" - ], - [ - "SL.ExamplesLocks.test07", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c47ab2552d10436a50da08b7d16013d" - ], - 0, - "21cc0af84fdc5b0cf8caa59969fd55f1" - ], - [ - "SL.ExamplesLocks.test08", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d53ceae39d427ab48a12e24ed058a37b" - ], - [ - "SL.ExamplesLocks.test08", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "10f8bd9c412aad8ea893202989f78f1f" - ], - [ - "SL.ExamplesLocks.test08", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", - "refinement_interpretation_Tm_refine_22ad78ab57d2eb14a784b4eaae52b256", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_49df27cffdbae815c86b8a87629d36b0", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d6af370566b96d40018acf9052aa9b68" - ], - [ - "SL.ExamplesLocks.test09", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "b627f979dbac9b9acb288b956b99357c" - ], - [ - "SL.ExamplesLocks.test09", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "d898f230df976d8b27324459f84067b9" - ], - [ - "SL.ExamplesLocks.test09", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df", - "refinement_interpretation_Tm_refine_154900a7d5c1fe39c6e74afa8a5555f8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "d9344c168a0413fa027e5483bcf26e5d" - ], - [ - "SL.ExamplesLocks.test10", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "86a72318bbae0e5112ee12eed4dc62d1" - ], - [ - "SL.ExamplesLocks.test10", - 2, - 2, - 1, - [ "@query" ], - 0, - "9d4480a7b49d799147252360c36b8d8b" - ], - [ - "SL.ExamplesLocks.test10", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "int_typing", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8d5fb4628d943960bbbf0283bf411b2c", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "504122b341384cc9ef35a2395775da21" - ], - [ - "SL.ExamplesLocks.test11", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "1fb0ceb47fb770d0c8036b08abe4da1b" - ], - [ - "SL.ExamplesLocks.test11", - 2, - 2, - 1, - [ "@query" ], - 0, - "900b2619953b05a8e3949b4abb6c45c5" - ], - [ - "SL.ExamplesLocks.test11", - 3, - 2, - 1, - [ "@query" ], - 0, - "8cfd82785f3252e36185d3272ccdbc0a" - ], - [ - "SL.ExamplesLocks.test11", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "7f3b7eeaefdd5207ef2e6115bbda42d7" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "353135b047e2a9a5c75da7988f59f138" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 2, - 2, - 1, - [ "@query" ], - 0, - "226abb9329ab21343920b5c85d125953" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 3, - 2, - 1, - [ "@query" ], - 0, - "fe53675bb84fab99efcf039badd9bd5c" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "645a7d6011d754e4351ae1e8a612f15f" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_singl", - "lemma_SL.Heap.lemma_sep_unit_", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "27c694ae84fa94263035c644771d1257" - ], - [ - "SL.ExamplesLocks.take_and_incr", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "1748cfbc3071ad20c90bda865aa23e58" - ], - [ - "SL.ExamplesLocks.test12", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "451bff104f9d39dc4b9c1e5fb61764ce" - ], - [ - "SL.ExamplesLocks.test12", - 2, - 2, - 1, - [ "@query" ], - 0, - "0b2169c4636d98d7fad66416a2b4dc97" - ], - [ - "SL.ExamplesLocks.test12", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "9515891e83013b45979a8270051d5ad9" - ], - [ - "SL.ExamplesLocks.test13", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "92bf7b376fe223223d61c39c41ce2aa2" - ], - [ - "SL.ExamplesLocks.test13", - 2, - 2, - 1, - [ "@query" ], - 0, - "282b4c38c5936415e449adba2213e4b6" - ], - [ - "SL.ExamplesLocks.test13", - 3, - 2, - 1, - [ "@query" ], - 0, - "0752a3641c00240c1b8839c99e17f9ee" - ], - [ - "SL.ExamplesLocks.test13", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "598f5d27267ef205c7767447b5862dbc" - ], - [ - "SL.ExamplesLocks.test13", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "1bb9e59a18f47081d1e5b4722778a0d1" - ], - [ - "SL.ExamplesLocks.test14", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "e494f1f163c5d935fc7d61ea45878331" - ], - [ - "SL.ExamplesLocks.test14", - 2, - 2, - 1, - [ "@query" ], - 0, - "580bc938cfe1f1943b23ee99992ffcde" - ], - [ - "SL.ExamplesLocks.test14", - 3, - 2, - 1, - [ "@query" ], - 0, - "f7a153da67d257da5e12911f370405b3" - ], - [ - "SL.ExamplesLocks.test14", - 4, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "c8e70903955800c2c61af51ae490c84a" - ], - [ - "SL.ExamplesLocks.test14", - 5, - 2, - 1, - [ "@query" ], - 0, - "6bbd1dd20852f681350ec1ca76ecca13" - ], - [ - "SL.ExamplesLocks.test14", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "c108630f163ff155491ee03efc06550b" - ], - [ - "SL.ExamplesLocks.test14", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "51187123c4fe1921f79bfcdd3c85f6b0" - ], - [ - "SL.ExamplesLocks.test15", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "c3e2d1417484a9aed7e38f1f370a8c5c" - ], - [ - "SL.ExamplesLocks.test15", - 2, - 2, - 1, - [ "@query" ], - 0, - "6b0f7ca789f6e4fd690aec5ac2df0998" - ], - [ - "SL.ExamplesLocks.test15", - 3, - 2, - 1, - [ "@query" ], - 0, - "cd33caed189113d4039de1ae33a14651" - ], - [ - "SL.ExamplesLocks.test15", - 4, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "95009ef521434a0dc6bab6ea23c16a99" - ], - [ - "SL.ExamplesLocks.test15", - 5, - 2, - 1, - [ "@query" ], - 0, - "c830cd4aa333617075a1473b2e652f6c" - ], - [ - "SL.ExamplesLocks.test15", - 6, - 2, - 1, - [ "@query" ], - 0, - "fce5f0e55144c32555b833aef8d637b7" - ], - [ - "SL.ExamplesLocks.test15", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "e6d62d78dde4445efec576e59cb0ad99" - ], - [ - "SL.ExamplesLocks.test15", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "cf79c34021470dbd9c7112ca07a2433e" - ], - [ - "SL.ExamplesLocks.test16", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "9807ff68d4dd8965a69379c6e9c80b90" - ], - [ - "SL.ExamplesLocks.test16", - 2, - 2, - 1, - [ "@query" ], - 0, - "fef64ea68fe30b5782b43a91a3763e68" - ], - [ - "SL.ExamplesLocks.test16", - 3, - 2, - 1, - [ "@query" ], - 0, - "4c733bfa9b9eeacb7ae00aa210a5babc" - ], - [ - "SL.ExamplesLocks.test16", - 4, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "5218443b62935df902671492511634c9" - ], - [ - "SL.ExamplesLocks.test16", - 5, - 2, - 1, - [ "@query" ], - 0, - "028a20c740ff035c00a2e9de8d58a837" - ], - [ - "SL.ExamplesLocks.test16", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "12f2ff75079f0dc874bf4b385436e258" - ], - [ - "SL.ExamplesLocks.test16", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_singl", - "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "cb01b87e80f54afec085f84d922d1cc6" - ], - [ - "SL.ExamplesLocks.test16", - 8, - 2, - 1, - [ "@query" ], - 0, - "d4fa4983f32fb5e88cfa69015581344b" - ], - [ - "SL.ExamplesLocks.test16", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3" - ], - 0, - "b558828ed77ba6c7c6c9821f6757cc1d" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.ExamplesLocks2.fst.hints b/examples/old/csl/SL.ExamplesLocks2.fst.hints deleted file mode 100644 index 8d8ce99c282..00000000000 --- a/examples/old/csl/SL.ExamplesLocks2.fst.hints +++ /dev/null @@ -1,755 +0,0 @@ -[ - "žºÙ³ÒÀ¹‰4%U¹¶5RÅ", - [ - [ - "SL.ExamplesLocks2.test17", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b" - ], - 0, - "3ea4cf645630de587d209b82eee0d914" - ], - [ - "SL.ExamplesLocks2.test17", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "5f973212e10b20cc37c035bbe54d8a36" - ], - [ - "SL.ExamplesLocks2.test17'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "e093d9e194d51e722e67233c8d2ec361" - ], - [ - "SL.ExamplesLocks2.test17'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "677f6c4e4a3721fdba71b3121f1574c3" - ], - [ - "SL.ExamplesLocks2.test18", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "2347f41293040cb60d1bf7633fa46893" - ], - [ - "SL.ExamplesLocks2.test18", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "eeaa64d4227c7de86603d69f7c24166a" - ], - [ - "SL.ExamplesLocks2.test18", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "c463b2ff09a0ebea7ad846cd88699bc7" - ], - [ - "SL.ExamplesLocks2.test18", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "55c5b383edabcbcbbc39b86dcfeaeca2" - ], - [ - "SL.ExamplesLocks2.test19", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "f53fde56fb10945b8bf40035363312e5" - ], - [ - "SL.ExamplesLocks2.test19", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "3b5a78ee74bef482be42ebbab35aa764" - ], - [ - "SL.ExamplesLocks2.test19", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "962ee6af892e0ac3b0d8c121ec41e688" - ], - [ - "SL.ExamplesLocks2.test19", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Tm_refine_4ef327ac15e515f8a96cdbbdb5cad6e3", - "unit_inversion" - ], - 0, - "d3476d70d5b4307efd2d7d70f832ecfa" - ], - [ - "SL.ExamplesLocks2.test20", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "8d35561b8a1db0614a317b000a0ec520" - ], - [ - "SL.ExamplesLocks2.test20", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "984ef18d6e008b495654fb401a01c74b" - ], - [ - "SL.ExamplesLocks2.test20", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "e89dea55a0f3eb63628356b6616d771b" - ], - [ - "SL.ExamplesLocks2.test20", - 4, - 2, - 1, - [ "@query" ], - 0, - "426cf1152d6ded326c09d7af797eee00" - ], - [ - "SL.ExamplesLocks2.test20", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "109541ac0f5f7b382d9068e9934704a3" - ], - [ - "SL.ExamplesLocks2.test21", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "772be28a7cf683c5b36e23f90e114f43" - ], - [ - "SL.ExamplesLocks2.test21", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "6d2433a5607a1360961c6faef5359977" - ], - [ - "SL.ExamplesLocks2.test21", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "431145277d63e220ecac6f08f887f899" - ], - [ - "SL.ExamplesLocks2.test21", - 4, - 2, - 1, - [ "@query" ], - 0, - "1066bd8c8617a54ee4a28e54123fb818" - ], - [ - "SL.ExamplesLocks2.test21", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "e0be1627dd2cad5e4e913572014a950e" - ], - [ - "SL.ExamplesLocks2.test21", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "95b66e38586eab66eb01f7404b7a1c3d" - ], - [ - "SL.ExamplesLocks2.test21", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "79803ca8311e9b90de5e0db4c032de82" - ], - [ - "SL.ExamplesLocks2.test22", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "40fefb2fa51006f6822f67b073a7cfe5" - ], - [ - "SL.ExamplesLocks2.test22", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "800a7e2768ad4c8ffeb097db088b12f5" - ], - [ - "SL.ExamplesLocks2.test22", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "18ebe1a8f17b5bf0c43bf1807d3ecf7b" - ], - [ - "SL.ExamplesLocks2.test22", - 4, - 2, - 1, - [ "@query" ], - 0, - "3260286596981bc7fdaa841070995d98" - ], - [ - "SL.ExamplesLocks2.test22", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "01c8110e17fe4ac22423d91e64180f91" - ], - [ - "SL.ExamplesLocks2.test22", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "601029d521976fcdd0c5716ad520a203" - ], - [ - "SL.ExamplesLocks2.test22", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "41350599f60d3afbe0562270aa488d4d" - ], - [ - "SL.ExamplesLocks2.test22", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "2b947979161bf35fb48b6e638dfb6808" - ], - [ - "SL.ExamplesLocks2.test23", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit_" - ], - 0, - "2f1f28a13d3f2c306307af837e94298d" - ], - [ - "SL.ExamplesLocks2.test23", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "52f5ba884216259b6ba65668b6e6b0a0" - ], - [ - "SL.ExamplesLocks2.test23", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.op_Less_Star_Greater", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "87fadb7790e1c575039da02f187793a7" - ], - [ - "SL.ExamplesLocks2.test23", - 4, - 2, - 1, - [ "@query" ], - 0, - "c5177633ca697e5095a182a826af0a2f" - ], - [ - "SL.ExamplesLocks2.test23", - 5, - 2, - 1, - [ "@query" ], - 0, - "d892e91b1853993d9c2ee578848c7b2a" - ], - [ - "SL.ExamplesLocks2.test23", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "3e3ab6432d9823acc179a90d8ff24b27" - ], - [ - "SL.ExamplesLocks2.test23", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.AutoTactic.memory_cm", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "1328b4eddf3712615b83925946c57f40" - ], - [ - "SL.ExamplesLocks2.test23", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_SL.Effect.mem_eq", "equation_SL.Heap.ii", - "function_token_typing_Prims.int", "lemma_SL.Heap.em_invert", - "lemma_SL.Heap.em_singl", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "784509449b00b68d52fd2db7c775a1cb" - ], - [ - "SL.ExamplesLocks2.test23", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.eqtype", - "equation_SL.Heap.ii", "function_token_typing_Prims.int", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_289fbf4502bdb8dab6dd6342bda2015f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5478b05ea0407a44f4be5d0cf1f4b9ec", - "refinement_interpretation_Tm_refine_e44a6246a1d1c03f342283e7e8ed2fae", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion" - ], - 0, - "6c4fdda10f7a19c7cb3f9f3a7637f304" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.ExamplesPar.fst.hints b/examples/old/csl/SL.ExamplesPar.fst.hints deleted file mode 100644 index 67381474a96..00000000000 --- a/examples/old/csl/SL.ExamplesPar.fst.hints +++ /dev/null @@ -1,393 +0,0 @@ -[ - "±?Ç\u0012Pv8©\\¦)§\u0014\u001aÿ", - [ - [ - "SL.ExamplesPar.left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_493726b0caab6179254e314147227b49", - "refinement_interpretation_Tm_refine_5c0fe569b01419491462dc16c187bc46", - "refinement_interpretation_Tm_refine_d511b331b2e9a0f37f337d8f61522420" - ], - 0, - "250c61d6aaa3e99c07ebdb1b1d08c3b7" - ], - [ - "SL.ExamplesPar.right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36563ceb778613c30928e1cb26da6e1a", - "refinement_interpretation_Tm_refine_b28ce7d6a5ce97805df40ce4b50b55a0", - "refinement_interpretation_Tm_refine_d511b331b2e9a0f37f337d8f61522420" - ], - 0, - "8e3e4392804e0509ad0a810085e4fe66" - ], - [ - "SL.ExamplesPar.par1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ae9f9dc3664c481df9d2432f8e440159" - ], - [ - "SL.ExamplesPar.par1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "7eb05827f7498651b89b4693a9bb8c4e" - ], - [ - "SL.ExamplesPar.par1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", - "refinement_interpretation_Tm_refine_b1636b96456726a1be8fc2761ad41e34", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "933ead2af0c72fdde5ee2bdcb5ab88af" - ], - [ - "SL.ExamplesPar.par2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "int_inversion", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0fae47df40f38a96f9226cdb6adfb9c5" - ], - [ - "SL.ExamplesPar.par2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "51b945a0b834d3ef97ebb55c8ae532e4" - ], - [ - "SL.ExamplesPar.par2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", - "refinement_interpretation_Tm_refine_590a7eef2b96b9fd4e6b9d0eabda196b", - "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", - "refinement_interpretation_Tm_refine_b1636b96456726a1be8fc2761ad41e34", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "27d4982262a73657997454e5696b4356" - ], - [ - "SL.ExamplesPar.par3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "a3a119b7262ac415fb24e9ac3c759df6" - ], - [ - "SL.ExamplesPar.par3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "9fe8acb8b063de9f3c02bf9fc7e07e0f" - ], - [ - "SL.ExamplesPar.par3", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", - "refinement_interpretation_Tm_refine_737f637a65fc9497b346a9ff05a1199a", - "refinement_interpretation_Tm_refine_ace8dbeb5937add02742f5b81ddb9bed", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0c751eddd2640390d7e0ee4fe81088fa" - ], - [ - "SL.ExamplesPar.par3'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "875f9be8a127c898293fb40d92fa3043" - ], - [ - "SL.ExamplesPar.par3'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c471804c4259a0e6628e9bcae796c441" - ], - [ - "SL.ExamplesPar.par3'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682d04f8a4d51a15f646bfd4961ef01a", - "refinement_interpretation_Tm_refine_6ee0ae10b0b0ba444e6ab3cda1bb5118", - "refinement_interpretation_Tm_refine_737f637a65fc9497b346a9ff05a1199a", - "refinement_interpretation_Tm_refine_ace8dbeb5937add02742f5b81ddb9bed", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0a8df4981b004593919e3574e5fe49aa" - ], - [ - "SL.ExamplesPar.ret", - 1, - 2, - 1, - [ - "@query", "equation_SL.Actions.lift_div_st", - "equation_SL.Effect.frame_post", "equation_SL.Effect.frame_wp", - "equation_SL.Effect.st_stronger", "equation_SL.Effect.with_fp", - "interpretation_Tm_abs_4829e0ea3ebddaf1cdd649439d6284e8", - "interpretation_Tm_abs_4df320530cf0a60abb938a56b3e5dd67", - "interpretation_Tm_abs_bdac9a3f32789788b83138a3a4262d0d", - "interpretation_Tm_abs_d0f415a5361a9d7988d8e425dc193472", - "l_and-interp", "l_imp-interp", - "l_quant_interp_904a74cfe3507104488fdcb4d014247a", - "token_correspondence_SL.Actions.lift_div_st", - "token_correspondence_SL.Effect.frame_wp" - ], - 0, - "6a6e255a485d14adfccfee59915d4337" - ], - [ - "SL.ExamplesPar.set_to_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Actions.write_wp", - "equation_SL.Effect.bind_wp", "equation_SL.Effect.frame_post", - "equation_SL.Effect.frame_wp", "equation_SL.Effect.return_wp", - "equation_SL.Effect.st_stronger", "equation_SL.Effect.with_fp", - "int_inversion", - "interpretation_Tm_abs_195ad491b59ec1e15163ccac815e2116", - "interpretation_Tm_abs_282cf508541f386959a08b9134a1d1f7", - "interpretation_Tm_abs_4829e0ea3ebddaf1cdd649439d6284e8", - "interpretation_Tm_abs_5f9c1569050dfe223cc4bd40a8cc0539", - "interpretation_Tm_abs_853afd6ca7e4d2bc3d47eb976740e100", - "interpretation_Tm_abs_953ba1d271ea43847e0e474b969bfe81", - "interpretation_Tm_abs_c46c98ca97984ea6d0adc6432dd3ef62", - "l_imp-interp", "l_quant_interp_34ab2f03ca5ee1012289266f1b241201", - "l_quant_interp_baa2915c35232d5062f2e0f65bf369fd", - "token_correspondence_SL.Effect.frame_wp" - ], - 0, - "63ba22cf55648cf4c1347cd51e20cdc6" - ], - [ - "SL.ExamplesPar.par_set", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0116e0bc649f2a43ee4109ea44fe62df" - ], - 0, - "2ce83b895d5783d17e6e7643d13bf4ea" - ], - [ - "SL.ExamplesPar.par_set", - 2, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "equation_SL.AutoTactic.memory_cm", - "function_token_typing_SL.Heap.memory", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_SL.AutoTactic.memory_cm" - ], - 0, - "04f77b515866c304a8ba974a4fe9a7c9" - ], - [ - "SL.ExamplesPar.par_set", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5151c05a21034391d98c4a63f791aea3", - "refinement_interpretation_Tm_refine_60f3cdcbf7765561d7514dc5e9f18880", - "refinement_interpretation_Tm_refine_b6a81f5cde02caac440f4a44f3180dae", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "16479676e7d78fbf35eb5d02c22a40f1" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Heap.fst.hints b/examples/old/csl/SL.Heap.fst.hints deleted file mode 100644 index f46e54896ec..00000000000 --- a/examples/old/csl/SL.Heap.fst.hints +++ /dev/null @@ -1,2029 +0,0 @@ -[ - "éO¸|\u0016¶yÖDB¿_Ú‡4", - [ - [ - "SL.Heap.addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4446c0023dca39ab60b70048093eefc5" - ], - [ - "SL.Heap.disjoint_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8661c8a30186fd60c6e743e5c37dd681" - ], - [ - "SL.Heap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aebdeb03c2642133eeee9bf90c826472" - ], - [ - "SL.Heap.equal_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "86bb31dd39af608ab1d57129efbea8b4" - ], - [ - "SL.Heap.memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7f81e25eee09dcd9b0be52415b4e9335" - ], - [ - "SL.Heap.equal_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.Pervasives.invertOption", - "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "2425c0ab619bd1e013dd87063ae085c5" - ], - [ - "SL.Heap.emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "1372d0664ef68e557107c6420c64ed57" - ], - [ - "SL.Heap.heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.heap", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "e1c2b9d7dd12df1ba4f22df60ccd9c6b" - ], - [ - "SL.Heap.join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70fefc7872d5231a9fd0082008b159da", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "8a356abd557ea0bf77d6a07241e0a9ab" - ], - [ - "SL.Heap.op_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.emp", - "equation_SL.Heap.memory", "equation_SL.Heap.ref", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_SL.Heap.emp", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "176a756f298baf3539b5835eae805e24" - ], - [ - "SL.Heap.op_Less_Star_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6b418125b72aefd36aaef1ce74ab78bc", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "86ea0b1ce6f1d28080b70aad79997292" - ], - [ - "SL.Heap.split_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "a6534b86b9883425cbee6d9f64c47a1f" - ], - [ - "SL.Heap.mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.memory", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5" - ], - 0, - "78e798ab3b763c828c4f8bdf7b168f7e" - ], - [ - "SL.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8" - ], - 0, - "ae87a8bb1bbe87f1254c81d38d553744" - ], - [ - "SL.Heap.upd'", - 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, - "cdbd68df9a67be4cb5ce57569622a0e1" - ], - [ - "SL.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", - "equation_SL.Heap.ref", "equation_SL.Heap.upd_", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", - "kinding_Prims.dtuple2@tok", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.upd_", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" - ], - 0, - "05c8ef29c3b325a9e02def2b19ed657f" - ], - [ - "SL.Heap.addrs_in", - 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, - "333c31d8c3619072fb7f45a3dad041f5" - ], - [ - "SL.Heap.addrs_in", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5" - ], - 0, - "5817231a5f1c2cae2aa54b1b37015184" - ], - [ - "SL.Heap.lemma_disjoint_heaps_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "95cd5a531c0d6563f3f8f71f6af65a08" - ], - [ - "SL.Heap.lemma_sep_defined_disjoint_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "b6baf6d77b754f1e846c3cce68409147" - ], - [ - "SL.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1fb7c86fb4d4aa67430943ba8d7526c7" - ], - 0, - "c46754a5a732be1ca47f915bcb34fca1" - ], - [ - "SL.Heap.lemma_join_comm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.equal_heaps", "equation_SL.Heap.heap", - "equation_SL.Heap.join", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" - ], - 0, - "edf8a7fac1274da00a8f44ee90b746cc" - ], - [ - "SL.Heap.lemma_sep_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.emp", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "c752a35edb059de11b5cc5c791d46587" - ], - [ - "SL.Heap.lemma_sep_unit'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.emp", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "297a83203ca385193892e67319bb62e3" - ], - [ - "SL.Heap.lemma_sep_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", - "unit_typing" - ], - 0, - "5e7cbf1dbfe930a7b483d5effdd287f6" - ], - [ - "SL.Heap.lemma_sep_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", - "unit_typing" - ], - 0, - "dcb4570364a674152d11dada8f1fedd9" - ], - [ - "SL.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "0c16f8c46202f91fb640731a21006456" - ], - [ - "SL.Heap.lemma_sep_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.join", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" - ], - 0, - "146b4bce7810a19231e6f8e40f30a716" - ], - [ - "SL.Heap.lemma_emp_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "dbf667ef0f739e9c0c4956e56f1f1afe" - ], - [ - "SL.Heap.lemma_points_to_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.op_Bar_Greater", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "095a469a5e4551cdd8f682375d466b78" - ], - [ - "SL.Heap.lemma_sep_defined", - 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, - "0fe9646a99b12a7e7900cae7ea428084" - ], - [ - "SL.Heap.lemma_sep_defined", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_as_set_disjoint", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "6b06861381c8393aede8170a45423bfd" - ], - [ - "SL.Heap.lemma_heap_memory_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.heap_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "a13d4c47be56841b3980690d4e04a3a5" - ], - [ - "SL.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "84c8f84a84bf82843daab2d80e1fcff7" - ], - [ - "SL.Heap.lemma_split_heap_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.emp", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", - "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "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_SL.Heap.Mkheap_rec_hdomain", - "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "typing_SL.Heap.split_heap" - ], - 0, - "1e1ff4d81e2cc882d9aa93366e32ba89" - ], - [ - "SL.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.heap", - "lemma_SL.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "7fa24988c0b90becfbadd9caf386e86d" - ], - [ - "SL.Heap.lemma_split_heap_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_88b8ba948f33c0d9643bd3c133c4f5b8", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.equal_heaps", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.join", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_split_heap_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "42f0664783765b8e79c0305199e7e1bc" - ], - [ - "SL.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "027a117eb1efb339c6280a59a3acb79d" - ], - [ - "SL.Heap.lemma_split_heap_memories", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8" - ], - 0, - "548f9c959a2916622965367142efa610" - ], - [ - "SL.Heap.lemma_hcontains_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "equation_SL.Heap.hcontains", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.mcontains", - "equation_SL.Heap.ref", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "l_quant_interp_4b180d27889299ba57e51a637611b1df", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "d74643c252707455881e45de5332be9e" - ], - [ - "SL.Heap.lemma_points_to_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.mcontains", "equation_SL.Heap.op_Bar_Greater", - "equation_SL.Heap.ref", "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_4b180d27889299ba57e51a637611b1df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "a795d87dc047c89456e55e439055f76d" - ], - [ - "SL.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "c4e7e4ce8a193ff1c63b8c9f13e6f620" - ], - [ - "SL.Heap.lemma_points_to_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.sel", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e5ea3831a864a6a6367cd96775ba0b6a" - ], - [ - "SL.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "f5a7819154c3b016d1fd71e09a153305" - ], - [ - "SL.Heap.lemma_points_to_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.upd", "equation_SL.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" - ], - 0, - "c2f299759d95e6ec484bc441ae761c56" - ], - [ - "SL.Heap.lemma_addrs_in_emp", - 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, - "adf8563971dbe0e62838d4d913ca9ea0" - ], - [ - "SL.Heap.lemma_addrs_in_emp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.emp", "equation_SL.Heap.memory", - "equation_SL.Heap.set", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.emp", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "0708dfe2d51d6d0950778dae8af50686" - ], - [ - "SL.Heap.Addrs_in_emp_axiom", - 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, - "061d4ba979b78eb768ac18b27039c154" - ], - [ - "SL.Heap.lemma_addrs_in_disjoint_heaps", - 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, - "71e4a57f6c162dda5d34dd7eb76d31e6" - ], - [ - "SL.Heap.lemma_addrs_in_disjoint_heaps", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.emp", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_as_set_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "323babfd70f88336d1c41ff8710908c2" - ], - [ - "SL.Heap.lemma_addrs_in_points_to", - 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, - "87c0765f8fe38663d92b145aa7d3ae50" - ], - [ - "SL.Heap.lemma_addrs_in_points_to", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addr_of", "equation_SL.Heap.addrs", - "equation_SL.Heap.addrs_in", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.set", "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "f7a76b79925dea3ca98bfea01caebc9e" - ], - [ - "SL.Heap.lemma_addrs_in_join", - 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, - "cfc49bc923ed92151dc66fa8f528cc19" - ], - [ - "SL.Heap.lemma_addrs_in_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.set", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "511274f8961204adcd1c2887dc1c4edc" - ], - [ - "SL.Heap.em_singl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Bar_Greater", - "equation_SL.Heap.ref", "fuel_guarded_inversion_Prims.dtuple2", - "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "d348562ef118e3c529a9e5c11d39575a" - ], - [ - "SL.Heap.em_invert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_e5270804045edb1186267e8a11e173a8", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.disjoint", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Bar_Greater", - "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_minus_mem", - "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.union_of_disjoint", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.union", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "de5d7ed9e22ca7c0c1e43f94dd139786" - ], - [ - "SL.Heap.dom_exists", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_SL.Heap.sref", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "973cc76d3fa71b9bcd0146a9c740610b" - ], - [ - "SL.Heap.dom_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_SL.Heap.sref", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "7bd60124e9632bbe544fdc09a224b375" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Heap.fsti.hints b/examples/old/csl/SL.Heap.fsti.hints deleted file mode 100644 index 603938e1b06..00000000000 --- a/examples/old/csl/SL.Heap.fsti.hints +++ /dev/null @@ -1,226 +0,0 @@ -[ - "\u0002M‹¨2N\u000fŽ°ªdø|¿‡", - [ - [ - "SL.Heap.addrs_in", - 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, - "a72e8d16bf1794f6007ad49297e15c99" - ], - [ - "SL.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1fb7c86fb4d4aa67430943ba8d7526c7" - ], - 0, - "f23838bfd3c13da14b78a3745f736361" - ], - [ - "SL.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9858581926eca4ef8bd73c20af1c7a25" - ], - [ - "SL.Heap.lemma_sep_defined", - 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, - "873aba687540e63558f982403c94aa10" - ], - [ - "SL.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "d775a4391c88f520024f05151abdc8d8" - ], - [ - "SL.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_SL.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "28570b1417295ce02953babddc3df8e5" - ], - [ - "SL.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "e9938e3b3111b2815b344b6512b7b23d" - ], - [ - "SL.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "05c633b74d1c77169fd59605f2119cb2" - ], - [ - "SL.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "97dfa6101f2da2b71a8e08ba938fbd60" - ], - [ - "SL.Heap.lemma_addrs_in_emp", - 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, - "33a31929ca41a365c24aeea3407fce3c" - ], - [ - "SL.Heap.Addrs_in_emp_axiom", - 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, - "ca2996f78538bf939798dff67a7714ac" - ], - [ - "SL.Heap.lemma_addrs_in_disjoint_heaps", - 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, - "4ef6929eae392a8e34bf5f3896940662" - ], - [ - "SL.Heap.lemma_addrs_in_points_to", - 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, - "262802977bc41574d90f76f761ee4cb6" - ], - [ - "SL.Heap.lemma_addrs_in_join", - 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, - "1db1f00bde518092d98fd6b91500f75f" - ], - [ - "SL.Heap.dom_exists", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.dfst", "equation_SL.Heap.sref", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "e7d9d309eb5b022c4199927bef403163" - ], - [ - "SL.Heap.dom_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.dfst", "equation_SL.Heap.sref", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "9d70fb918670100ef37b9674f237ee43" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Shallow.fst.hints b/examples/old/csl/SL.Shallow.fst.hints deleted file mode 100644 index 27048b82a64..00000000000 --- a/examples/old/csl/SL.Shallow.fst.hints +++ /dev/null @@ -1,237 +0,0 @@ -[ - "xL,@Ëö\u001fÐ\u0016’é‚\u0016s4", - [ - [ - "SL.Shallow.result", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.heap", - "lemma_SL.Heap.lemma_heap_memory_defined", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "ddce9954aad77ad04ba245f0281cf6d7" - ], - [ - "SL.Shallow.st", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], - 0, - "9c56e04b9e80b814424d50be3a82fd49" - ], - [ - "SL.Shallow.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SL.Heap.Emp_defined_axiom", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_82dd238f9e3df6821dcf6751e1414066" - ], - 0, - "3cb6d03a3b43a14aefb3a89cb855bb2a" - ], - [ - "SL.Shallow.frame_post", - 1, - 2, - 1, - [ "@query" ], - 0, - "668d1ea4fab71309cdd8f2e5fef6ae3a" - ], - [ - "SL.Shallow.frame", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], - 0, - "fdc1dab39d8658165a9e6d9f024377b9" - ], - [ - "SL.Shallow.frame", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.frame_post", "equation_SL.Shallow.frame_wp", - "equation_SL.Shallow.frame_wp0", "equation_SL.Shallow.frame_wp1", - "equation_SL.Shallow.result", - "lemma_SL.Heap.lemma_sep_defined_disjoint_heaps", - "lemma_SL.Heap.lemma_sep_join", - "lemma_SL.Heap.lemma_split_heap_memories", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0c92bf4f6ec6efa7be14c23c10f7212d", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb", - "refinement_interpretation_Tm_refine_d3b761da87465f7ec1e915c612e36bae", - "token_correspondence_SL.Shallow.frame_post" - ], - 0, - "eb391fe2b76f675c49135f43016988b9" - ], - [ - "SL.Shallow.bind_without_framing", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], - 0, - "05b3d3998dbdadcdf12f19dbca4203f5" - ], - [ - "SL.Shallow.bind_without_framing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_2f071a7cd8e24d9f8ae50793dbba304c", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" - ], - 0, - "25884a3b7f33a559cb5bb2fc0182a2f8" - ], - [ - "SL.Shallow.bind_with_framing", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], - 0, - "331f12845ecfad6b69ac9a9a1146dd66" - ], - [ - "SL.Shallow.bind_with_framing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_4895616847ca6e570cef0581acbe8194", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" - ], - 0, - "3ae9c8c509d9516d87c9c9cfbffa768f" - ], - [ - "SL.Shallow.read_without_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.read_wp", - "interpretation_Tm_abs_661c9bd5a8d8c0f04cf57d43ec0aab51", - "l_quant_interp_1837965156d908db60dd535477a09072", - "lemma_SL.Heap.lemma_hcontains_mcontains", - "lemma_SL.Heap.lemma_heap_memory_defined", - "lemma_SL.Heap.lemma_points_to_mcontains", - "lemma_SL.Heap.lemma_points_to_sel", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a82ab3861d7f381deca786053e97199", - "token_correspondence_SL.Shallow.read_wp" - ], - 0, - "5b5f239c805ff3f73cab6c5d6ba294e4" - ], - [ - "SL.Shallow.read_with_framing", - 1, - 2, - 1, - [ - "@query", "equation_SL.Shallow.frame_read_wp", - "interpretation_Tm_abs_bfd180a110d7871611cbd963b2de03d6", - "lemma_SL.Heap.lemma_heap_memory_defined", - "token_correspondence_SL.Shallow.frame_read_wp" - ], - 0, - "5d98d42e1da0bbb1a8b3da72e7edc5c1" - ], - [ - "SL.Shallow.write_wp", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_points_to_defined" ], - 0, - "0d28d804ae663d5d01ea00f36fcef712" - ], - [ - "SL.Shallow.write_without_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.write_wp", - "interpretation_Tm_abs_41e1dcf0414cc69bf7e077775c3f4373", - "l_quant_interp_6e6e3cc317ea19c62f3780e15fe1c346", - "lemma_SL.Heap.lemma_hcontains_mcontains", - "lemma_SL.Heap.lemma_heap_memory_defined", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_points_to_mcontains", - "lemma_SL.Heap.lemma_points_to_upd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_509d284b10ff0c2dac67e90bb5b17117", - "token_correspondence_SL.Shallow.write_wp" - ], - 0, - "2c529872c9c49ddd97dec5a87439ac00" - ], - [ - "SL.Shallow.write_with_framing", - 1, - 2, - 1, - [ - "@query", "equation_SL.Shallow.frame_write_wp", - "interpretation_Tm_abs_5ace3712fa394dbf57f498c4f25c2fac", - "lemma_SL.Heap.lemma_heap_memory_defined", - "token_correspondence_SL.Shallow.frame_write_wp" - ], - 0, - "99d885cc311eb248b0c8b87fcf2ac873" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SL.Tactics.fst.hints b/examples/old/csl/SL.Tactics.fst.hints deleted file mode 100644 index 5900f8b113b..00000000000 --- a/examples/old/csl/SL.Tactics.fst.hints +++ /dev/null @@ -1,147 +0,0 @@ -[ - "\u0011.åþX\u0001£úÐÌOLéÌœk", - [ - [ - "SL.Tactics.lemma_read_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_21b1a52b8391e4e12f8b5cceb522aea1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_FStar.SL.Monotonic.Heap.sel", "typing_FStar.UInt64.t" - ], - 0, - "7ca8bc91c0dbf32ceb6327ea4db34fe4" - ], - [ - "SL.Tactics.lemma_alloc_return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", - "lemma_FStar.SL.Monotonic.Heap.lemma_is_emp_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_emp_with_next_addr_h", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr" - ], - 0, - "b6419c8b51c9f46a809deb0d5931c7b9" - ], - [ - "SL.Tactics.lemma_bind", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr" - ], - 0, - "5206f8400bbf3d2808145987c6c8a057" - ], - [ - "SL.Tactics.lemma_eq_implies_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "994409bb7df0f388594a165f187217b7" - ], - [ - "SL.Tactics.lemma_eq_implies_intro'", - 1, - 2, - 1, - [ "@query" ], - 0, - "d11a65c323e0f8953b27a2a2989eb387" - ], - [ - "SL.Tactics.lemma_addr_not_eq_refl", - 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, - "e71cd93939e4de66bd13d876b5207579" - ], - [ - "SL.Tactics.lemma_impl_l_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "33f4ee9a10c1d07819b14c3d4013e77f" - ], - [ - "SL.Tactics.lemma_eq_l_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2b8e2a90428944c45990df46b9c37918" - ], - 0, - "900a975710ed4c79c67de99308bace6b" - ], - [ - "SL.Tactics.lemma_eq_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f" - ], - 0, - "eb683110ae9481cb3b2310f80e5b86a3" - ], - [ - "SL.Tactics.repeat_step_select", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Tactics.Result.Success", - "equation_FStar.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.term", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "718af0203f3e07873caa4aea1211ef88" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SepLogic.Heap.fst.hints b/examples/old/csl/SepLogic.Heap.fst.hints deleted file mode 100644 index 70683a68439..00000000000 --- a/examples/old/csl/SepLogic.Heap.fst.hints +++ /dev/null @@ -1,3213 +0,0 @@ -[ - "m;³;¢\u007f±K¾z)¦U‰»)", - [ - [ - "SepLogic.Heap.addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6c908fb992a59a3a7a2fad8649f04c08" - ], - [ - "SepLogic.Heap.disjoint_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e4fa34f1b19594feca0cd876e20849e4" - ], - [ - "SepLogic.Heap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "03676d28b573a2435b4d9bd8e15d1ea6" - ], - [ - "SepLogic.Heap.equal_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "f2c3d82bc661465002b99f4dbeeb10a9" - ], - [ - "SepLogic.Heap.memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c774bd210176d7b61cbaa2085578243b" - ], - [ - "SepLogic.Heap.equal_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.Pervasives.invertOption", - "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "e7c39eb822ffc716e9c13c8ce30681f8" - ], - [ - "SepLogic.Heap.emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "50c8030028a426d099036effe93fc543" - ], - [ - "SepLogic.Heap.heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "cff408188a804acadd44e51a0ac2c245" - ], - [ - "SepLogic.Heap.join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "7104a9c5690f2f047fb286a7adc9fe6c" - ], - [ - "SepLogic.Heap.op_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.emp", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "13c3861636753af4b8d08c450b5baf29" - ], - [ - "SepLogic.Heap.op_Less_Star_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af6397698ca99b6b9c48641ebeafb87f", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "57c4a34d2bef03cf1d02524fd0228c8f" - ], - [ - "SepLogic.Heap.split_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_3f6daa7509cdf8a400cf4b71976f6bdb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "033723cac7d567e1f51eca7285705478" - ], - [ - "SepLogic.Heap.mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.memory", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "673247ed76ec63fed1d44fd72eddd878" - ], - [ - "SepLogic.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8" - ], - 0, - "0f55f4b2f9341a7fc5d6efc7b04bc4a2" - ], - [ - "SepLogic.Heap.upd'", - 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, - "0e39cc86a256c7309f7d5eb1b1483f91" - ], - [ - "SepLogic.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_272063ade16224c167223e67361604ea", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SepLogic.Heap.upd_", - "typing_Tm_abs_272063ade16224c167223e67361604ea", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "ac2fc00c21780ad966971a6510c3c811" - ], - [ - "SepLogic.Heap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "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_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "3499533b6b727857c635b4e506301527" - ], - [ - "SepLogic.Heap.dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "ed30c9b422cddfc678bd0ddab5bd58d5" - ], - [ - "SepLogic.Heap.addrs_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "fda8b98bd264e2e721054210b4444eb2" - ], - [ - "SepLogic.Heap.addr_to_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cd6b6b750686c1d2bf01904bd67264b1" - ], - [ - "SepLogic.Heap.addr_to_ref", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "35c94288ccdd8db107d21decd7834943" - ], - [ - "SepLogic.Heap.addr_to_ref", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a2e6c059393edf822b14bdef2ac1275e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66" - ], - 0, - "5ecac9788e31b550b593576bb533b01e" - ], - [ - "SepLogic.Heap.fresh_or_old'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "398e4716c426276c0082f85171ad0aa2" - ], - [ - "SepLogic.Heap.restrict_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_588daa1dd0f6af715ac1a9e9da44d2aa", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "5d290080b2da43e8daf0a852c806484a" - ], - [ - "SepLogic.Heap.complement_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_8a0007e601fa514fc5c4d238a7cb8918", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_minus_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "3ad5db013960c9c2c60ec7022faa358e" - ], - [ - "SepLogic.Heap.lemma_disjoint_heaps_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "f10e4ecfbdd67741f93cbc79cff481a2" - ], - [ - "SepLogic.Heap.lemma_sep_defined_disjoint_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "73b34ea9ea363ce31cb0072c1590de20" - ], - [ - "SepLogic.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ce314f00cf610690e479d1c99e9cd77" - ], - 0, - "bb46deac1a4f08d81a48f24690862ee1" - ], - [ - "SepLogic.Heap.lemma_join_comm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_heaps", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.join", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "2378b6ea9975707d9f2833cebc94c467" - ], - [ - "SepLogic.Heap.lemma_sep_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "ed91776016a1dd19efc337b5e9f627e7" - ], - [ - "SepLogic.Heap.lemma_sep_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", - "unit_typing" - ], - 0, - "2ee20fdb904340e447215bb2741d6e5f" - ], - [ - "SepLogic.Heap.lemma_sep_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", - "unit_typing" - ], - 0, - "fe083f8ab0e04861a2fd1881ae100ca4" - ], - [ - "SepLogic.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "aa4679468668b03940193934bc20af96" - ], - [ - "SepLogic.Heap.lemma_sep_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "05c2a3612144953bcdf6a093ce3ebb91" - ], - [ - "SepLogic.Heap.lemma_emp_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "459db9dd0fae24d75148a96418819d44" - ], - [ - "SepLogic.Heap.lemma_points_to_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.op_Bar_Greater", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "19ca3279e4fb37dbbf381c277ffed3d5" - ], - [ - "SepLogic.Heap.lemma_sep_defined", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "7563a4cac5d69e8eae30b2fdc976d202" - ], - [ - "SepLogic.Heap.lemma_heap_memory_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.heap_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "82d0499e19d3c5ed9f91dd424ce9e9bc" - ], - [ - "SepLogic.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "c28b5abeef84bb845b7a94512300df29" - ], - [ - "SepLogic.Heap.lemma_split_heap_disjoint", - 2, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "lemma_SepLogic.Heap.lemma_sep_defined", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain" - ], - 0, - "a79b9d5c3f1a085b28f76d25dbeebccf" - ], - [ - "SepLogic.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "f325ee5d10ae58376c75377ffc772214" - ], - [ - "SepLogic.Heap.lemma_split_heap_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d0d8822060b46f721919ba89c530de4a", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_heaps", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.join", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_sep_defined", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "230dda30afa1cd12d007a712c3064c35" - ], - [ - "SepLogic.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "be345f5b14d10c954aed0db589f33793" - ], - [ - "SepLogic.Heap.lemma_split_heap_memories", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "lemma_SepLogic.Heap.lemma_sep_defined", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "f4a094fa79f9a0370c55668e2d44f36a" - ], - [ - "SepLogic.Heap.lemma_split_heap_fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "ed84dd6952a84cf98eb9cd158a394b73" - ], - [ - "SepLogic.Heap.lemma_split_heap_fresh", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" - ], - 0, - "5ebd81449ded51d2337aaa29e0f7fe53" - ], - [ - "SepLogic.Heap.lemma_hcontains_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.mcontains", "equation_SepLogic.Heap.ref", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_c6ff21a328d747858937992078d27540", - "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "1b09d7a5588f7553b118b7653a207890" - ], - [ - "SepLogic.Heap.lemma_points_to_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.mcontains", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "60d1b0f5ee1dfe4befee7772b7bb7195" - ], - [ - "SepLogic.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "c39ab61b8d10b16ab18245b1e49e5ec7" - ], - [ - "SepLogic.Heap.lemma_points_to_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e9eb36a9d01c3c7bf0f95922242fe832" - ], - [ - "SepLogic.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "43298f6289c871a0b4e60a2014666141" - ], - [ - "SepLogic.Heap.lemma_points_to_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd", - "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_272063ade16224c167223e67361604ea", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_272063ade16224c167223e67361604ea", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "92c7976b837c2cdc0b82241767c2e28a" - ], - [ - "SepLogic.Heap.lemma_alloc_fresh", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.heap", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "5d932d4c9bae87bd44e17f0f2c53990e" - ], - [ - "SepLogic.Heap.lemma_alloc_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e5a0eb81b5c6de05d859fc216c1f5432" - ], - [ - "SepLogic.Heap.lemma_alloc_sel", - 1, - 2, - 1, - [ - "@query", "equation_SepLogic.Heap.heap", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "443de70f0e7a575cd2987e3a4fe4b9a5" - ], - [ - "SepLogic.Heap.lemma_alloc_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.sel", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "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_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "b8737df44bc5c8532f3abd104226c7b6" - ], - [ - "SepLogic.Heap.lemma_alloc_heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "lemma_SepLogic.Heap.lemma_alloc_sel", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "9c052f5e1155b7948e29e64b954a0548" - ], - [ - "SepLogic.Heap.lemma_fresh_in_complement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cebc7a991072ca645470e38bcc9d52ef" - ], - [ - "SepLogic.Heap.lemma_fresh_in_complement", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8" - ], - 0, - "eac1ef67e58d46a4bcf112c1fc5d311d" - ], - [ - "SepLogic.Heap.lemma_fresh_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d89caf7222991e820ed484a984640241" - ], - 0, - "5bbcff913ecb938bd977358970534597" - ], - [ - "SepLogic.Heap.lemma_fresh_join", - 2, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.join", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" - ], - 0, - "7ff5ec51ae2ea7f05ec34a24d614cc25" - ], - [ - "SepLogic.Heap.lemma_dealloc_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f2073c5166b17039528a8e97b35ec8b6" - ], - [ - "SepLogic.Heap.lemma_dealloc_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SepLogic.Heap.dealloc", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "0791b187a7dfe8712a2acf7f8dd1d412" - ], - [ - "SepLogic.Heap.lemma_points_to_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3ca41d1fbe04308df6a0284336759762" - ], - 0, - "048171084cfb787765234770231ade82" - ], - [ - "SepLogic.Heap.lemma_points_to_dealloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.dealloc", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "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_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "24919e01758c291ae63443f8fadf1d50" - ], - [ - "SepLogic.Heap.lemma_addrs_in_emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3efb9eb59cac3118f742889dab452af9" - ], - [ - "SepLogic.Heap.lemma_addrs_in_emp", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.emp", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "ddca68b7773ebed90877f08a27dfdac2" - ], - [ - "SepLogic.Heap.Addrs_in_emp_axiom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d5c1078aa83223014fe75d4e9cca287e" - ], - [ - "SepLogic.Heap.lemma_addrs_in_disjoint_heaps", - 1, - 2, - 1, - [ - "@query", "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.heap_memory", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "159c0f6c164f31f942315077122c4f58" - ], - [ - "SepLogic.Heap.lemma_addrs_in_points_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f4a68b7d7d403200342a8c42b99ce2a2" - ], - [ - "SepLogic.Heap.lemma_addrs_in_points_to", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.op_Bar_Greater", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "8c8bdabe5f88547019c5eb417c160627" - ], - [ - "SepLogic.Heap.lemma_addrs_in_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2193462ac3c2d79ac3abc5b99fc64683" - ], - [ - "SepLogic.Heap.lemma_addrs_in_join", - 2, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "lemma_SepLogic.Heap.lemma_sep_defined", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "7b2675e3b73ee1ac112b2ee606bbb98b" - ], - [ - "SepLogic.Heap.lemma_addr_to_ref_addr_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e3da0bdd197d8e39bf43c3e45a24f0f" - ], - 0, - "b0a6ddcef1602ae7a5aec4dbcfbc8d78" - ], - [ - "SepLogic.Heap.lemma_addr_to_ref_addr_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.dsnd", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addr_to_ref", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a2e6c059393edf822b14bdef2ac1275e", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "typing_SepLogic.Heap.addr_to_ref" - ], - 0, - "a7dc55dab02803fb36ac013b2c7e32fa" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9b21d32ad8f56dda69a0961e369a9d22" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp" - ], - 0, - "989688c1a3e08e80f011077c7b6f0d5d" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "522df44a13c7e90774c5e544f05d9c92" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_sep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "defn_equation_FStar.OrdSet.equal", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.ref", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_3b0c96ba9e647c2b0bae460412d0b16e", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_776cc65dbfeca6876173819b494db58d", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "interpretation_Tm_abs_edec548b9ac8380ce1ee11fe7c219297", - "l_quant_interp_1a089ebbb99cd928ee2e7055f0b64697", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addr_to_ref_addr_of", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_restrict_complement_disjoint", - "lemma_SepLogic.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "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_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a2e6c059393edf822b14bdef2ac1275e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.dsnd", - "typing_Prims.__proj__Mkdtuple2__item___1", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SepLogic.Heap.addr_to_ref", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", - "typing_Tm_abs_3b0c96ba9e647c2b0bae460412d0b16e", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_776cc65dbfeca6876173819b494db58d", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "typing_Tm_abs_edec548b9ac8380ce1ee11fe7c219297" - ], - 0, - "54a3ef2bc3c9c9515553556d6b2ad9ee" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_unit", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "75f02d168ae910e9bd55b733abe2150c" - ], - [ - "SepLogic.Heap.exists_intro_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "87e6ead97b0dd4b91da79bcbcf502f0a" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.ref", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_edec548b9ac8380ce1ee11fe7c219297", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_minus_mem", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_heap_memory_defined", - "lemma_SepLogic.Heap.lemma_restrict_complement_sep", - "lemma_SepLogic.Heap.lemma_sep_assoc", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "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_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_168ee5ac033b8a71276e9c97b163eaed", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.complement_memory", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_SepLogic.Heap.restrict_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "075f8f4dd8305a26e224df047858e552" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8" - ], - 0, - "b368996ac42aa6ddc2362e5ef9b6c705" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8" - ], - 0, - "76660885b945f737eb16fda157fc91dd" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_disjoint'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_SepLogic.Heap.Addrs_in_emp_axiom", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addr_to_ref", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "equation_SepLogic.Heap.same_freshness", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addr_to_ref_addr_of", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_fresh_in_complement", - "lemma_SepLogic.Heap.lemma_heap_memory_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_FStar.Pervasives.dfst", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "dfd1f9adcf17eeebd32f9722796cfeb1" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_disjoint", - 1, - 2, - 1, - [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], - 0, - "19caf5ecc44854c287f96881c8378b66" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.same_freshness", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_fresh_join", - "lemma_SepLogic.Heap.lemma_sep_assoc", - "lemma_SepLogic.Heap.lemma_sep_join", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_f2456f6cf7f388b113bde9091a720c80", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.join", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "19c5d6e8d1d06eb4c0b0bd374393eb01" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.join", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_f2456f6cf7f388b113bde9091a720c80", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "ca0926a35d8b8c84a334e70d325e615c" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep'''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31b69649528a54845e9c3b16d5f4a031" - ], - 0, - "106279cd47449ae2100d714db9255bb1" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep''''", - 1, - 2, - 1, - [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], - 0, - "f7a636f1dbdf117e6a809bebe209167d" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint", - "refinement_interpretation_Tm_refine_7c392019177ddd4bddb886ad6b822e30" - ], - 0, - "cab2343b7ffee73e1eeefa8d637c48dc" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep", - 2, - 2, - 1, - [ "@query", "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint" ], - 0, - "034039bb7f58888bdff69eff9b096df8" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addrs_in_points_to", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "lemma_SepLogic.Heap.lemma_alloc_heap_memory", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "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_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "586c2daa657c28068235dba2eb9a47ef" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b2cb5fa5557969dfecafe76169fe34c6" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_dealloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "assumption_SepLogic.Heap.Addrs_in_emp_axiom", - "assumption_SepLogic.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.dealloc", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_defined", - "lemma_SepLogic.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "cd7e6ab5415cb92cb041c7456f28acc1" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "50a22c5a871388c630345853beffa15f" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.upd", - "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_unit", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "e9fc862090543cf5c3463c76a02a426e" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/SepLogic.Heap.fsti.hints b/examples/old/csl/SepLogic.Heap.fsti.hints deleted file mode 100644 index f83e4b22fac..00000000000 --- a/examples/old/csl/SepLogic.Heap.fsti.hints +++ /dev/null @@ -1,413 +0,0 @@ -[ - "áÁêy3òôo_—4©\u001c¸2Ø", - [ - [ - "SepLogic.Heap.addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "036c7f809fc99504adf1bf14bf8651c3" - ], - [ - "SepLogic.Heap.disjoint_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0b8d90b70d41260bacd84d45f1248d99" - ], - [ - "SepLogic.Heap.addr_to_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e3c60ebaa8feede04efa429fe7b5e871" - ], - [ - "SepLogic.Heap.fresh_or_old'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4968e45d75f2ab405c45cf0124c461c1" - ], - [ - "SepLogic.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ce314f00cf610690e479d1c99e9cd77" - ], - 0, - "9c719e3e150c002b6f6b8c5f1fff2888" - ], - [ - "SepLogic.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f895085323050cc378358d9ebb61cf8a" - ], - [ - "SepLogic.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "b72424a86ee07aeec79ae905c37d5123" - ], - [ - "SepLogic.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "2d37fb0e716b1451af107788025d474f" - ], - [ - "SepLogic.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "9cfd5223d88fe12248242da4e6547173" - ], - [ - "SepLogic.Heap.lemma_split_heap_fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "7053a87841cd7db4f44aac7f32d5e4bd" - ], - [ - "SepLogic.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "17368a9ccc55665fa051e18c283958d8" - ], - [ - "SepLogic.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "395ed95196d6a686714f300ad6eb3580" - ], - [ - "SepLogic.Heap.lemma_alloc_sel", - 1, - 2, - 1, - [ - "@query", "lemma_SepLogic.Heap.lemma_alloc_contains", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "27b883f2d21a036459a797228aadce8f" - ], - [ - "SepLogic.Heap.lemma_fresh_in_complement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "06fff41b1399a0a83ee5b7d7b9f84a9f" - ], - [ - "SepLogic.Heap.lemma_fresh_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d89caf7222991e820ed484a984640241" - ], - 0, - "5223ac1b21af45b118f914a329fbc368" - ], - [ - "SepLogic.Heap.lemma_dealloc_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "7a247d1fda12368677d1ce95f67340c4" - ], - [ - "SepLogic.Heap.lemma_points_to_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3ca41d1fbe04308df6a0284336759762" - ], - 0, - "04ae83f436cd7c8b998d16552794df94" - ], - [ - "SepLogic.Heap.lemma_addrs_in_emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7dca8b5cf09c106d5a6cddc5c9676479" - ], - [ - "SepLogic.Heap.Addrs_in_emp_axiom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "631647cae6cdd3c2c9b88a7b63bde880" - ], - [ - "SepLogic.Heap.lemma_addrs_in_points_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6b4693a902e109e1b64dc848c85f5847" - ], - [ - "SepLogic.Heap.lemma_addrs_in_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6082364af945587ef6a7ed7a10a1172c" - ], - [ - "SepLogic.Heap.lemma_addr_to_ref_addr_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e3da0bdd197d8e39bf43c3e45a24f0f" - ], - 0, - "e90036a6ad337c767889ea4a6f37d165" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2340899cf6f4ecccef33f5056c1bcde8" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "46c2a074d8b0449a1c7dab4b2cee4e30" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint", - "refinement_interpretation_Tm_refine_7c392019177ddd4bddb886ad6b822e30" - ], - 0, - "6f4f990530c0dd0df2b4da8303a90ba3" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "692a8ba11a395d03d20d9f61c1a0bca2" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "80ddaf07eca7637f6573e421cfbc5f13" - ] - ] -] \ No newline at end of file diff --git a/examples/old/csl/Shallow.fst.hints b/examples/old/csl/Shallow.fst.hints deleted file mode 100644 index 2ab48df1204..00000000000 --- a/examples/old/csl/Shallow.fst.hints +++ /dev/null @@ -1,273 +0,0 @@ -[ - "ŠëÈQA\u0005Zï9\u001fÐcÓ\u0012¤¢", - [ - [ - "Shallow.return_without_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c15de0bf63fcbf1efce8ed72c9caa328" - ], - 0, - "7644e77e194cb2bdc97b4c708b378ec3" - ], - [ - "Shallow.return_with_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b816ea8bfa17eb23079925b2ed282652" - ], - 0, - "7079e8c82fcbad985e97ed3076acfa6c" - ], - [ - "Shallow.frame_post", - 1, - 2, - 1, - [ "@query", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps" ], - 0, - "91575626cd078ccce0038da6de77ded0" - ], - [ - "Shallow.frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_SepLogic.Heap.same_freshness", - "equation_Shallow.frame_post", "equation_Shallow.frame_wp", - "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", - "equation_Shallow.memory", "equation_Shallow.result", - "interpretation_Tm_abs_6e0464fbbceb86e820a9ae0b43d8804a", - "l_and-interp", - "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "lemma_SepLogic.Heap.lemma_split_heap_fresh", - "lemma_SepLogic.Heap.lemma_split_heap_join", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_a945cf7414fd7329854bb78706efd6f4", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "token_correspondence_Shallow.frame_post" - ], - 0, - "9433f15fee05f67fe43b57a9c80ce645" - ], - [ - "Shallow.bind_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.result", - "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_9342b712d4240d161dcba503801217f5", - "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_fbc4fe226cb0b6d20b3d1aaaf7927f94", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "957e775e49a38fd8b96a564c2f7fe3fc" - ], - [ - "Shallow.bind_with_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.frame_wp", - "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", - "equation_Shallow.memory", "equation_Shallow.result", - "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_b64377a92bf1b049d854307937bc869a", - "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", - "lemma_SepLogic.Heap.lemma_split_heap_join", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_067f08ac15c16cd8c8a844eeb6bf5e44", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "7503a2c841a842a7909df6ec85990820" - ], - [ - "Shallow.read_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_sel", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_56e0921215b643bb9fea9a5885ab2822" - ], - 0, - "e596af9a694296f70c63a02d00f295b4" - ], - [ - "Shallow.read_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_read_wp", - "interpretation_Tm_abs_2398a767c193125e550ea99c5ad41ec7", - "token_correspondence_Shallow.frame_read_wp" - ], - 0, - "987992097913077de1a4a7cfc86e88ce" - ], - [ - "Shallow.write_wp", - 1, - 0, - 0, - [ - "@query", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains" - ], - 0, - "4e6ee7549f3248932c7f2555665b3c1d" - ], - [ - "Shallow.write_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.write_wp", - "interpretation_Tm_abs_ca741d62a8e3f05b2442fb370c9a5743", - "l_quant_interp_56a0da733e37b50482c5cc25959c6f0f", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5e99206eb2d2314ef45c2d691c216691", - "token_correspondence_Shallow.write_wp" - ], - 0, - "c70eb6370e981849f6671a3a2a10f428" - ], - [ - "Shallow.write_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_write_wp", - "interpretation_Tm_abs_fd6dd5a324e4a5b648ad57adfedbad4b", - "token_correspondence_Shallow.frame_write_wp" - ], - 0, - "6ed6eaded15033d457f6fb76fbedebb1" - ], - [ - "Shallow.alloc_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.alloc_wp", - "interpretation_Tm_abs_3ba7b2beb065a2aa930b380fcbfab6d3", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5525ec57502e90f03b508b741050684b", - "token_correspondence_Shallow.alloc_wp" - ], - 0, - "b94fc09832d28c62dee443972a4f5ab4" - ], - [ - "Shallow.alloc_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_alloc_wp", - "interpretation_Tm_abs_f9b1edca76f479091cc187dda5813d58", - "token_correspondence_Shallow.frame_alloc_wp" - ], - 0, - "08368055c05ef33e018f3c6257517c97" - ], - [ - "Shallow.dealloc_wp", - 1, - 0, - 0, - [ - "@query", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains" - ], - 0, - "4cd70d506c395a4edb1995ab4d10fedc" - ], - [ - "Shallow.dealloc_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_Shallow.dealloc_wp", - "interpretation_Tm_abs_90444edccb6aa7a02ae5eeca616fdd09", - "l_quant_interp_7e6d8ce7fb59154a1e637ebcde251198", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_6ae2ef771fd19e71479553ff1fc1d19b", - "token_correspondence_Shallow.dealloc_wp" - ], - 0, - "f277de1ff3faad4d2c516f7e9431d20d" - ], - [ - "Shallow.dealloc_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_dealloc_wp", - "interpretation_Tm_abs_471ffa5278759f731dca1678e22f43aa", - "token_correspondence_Shallow.frame_dealloc_wp" - ], - 0, - "5f0d596fb190a665967999affcd7c74a" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/Examples.fst.hints b/examples/old/seplogic/Examples.fst.hints deleted file mode 100644 index f233df32c54..00000000000 --- a/examples/old/seplogic/Examples.fst.hints +++ /dev/null @@ -1,280 +0,0 @@ -[ - "Ø$›l‹ô›²¼K¾ÁÚG\u001c.", - [ - [ - "Examples.increment_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_799b3d89d7981f312a91d179f3733e61", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.t" - ], - 0, - "2286f9e1d2361660c65f660e7b53e3e0" - ], - [ - "Examples.swap_ok", - 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", - "true_interp" - ], - 0, - "dd4000d4790990582f7bd19360961aad" - ], - [ - "Examples.swap_ok", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_799b3d89d7981f312a91d179f3733e61", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.t" - ], - 0, - "2a8ad6d6550ecd006124ac9266548bfe" - ], - [ - "Examples.swap_ok", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_799b3d89d7981f312a91d179f3733e61", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.t" - ], - 0, - "c6ab79d30631ad71a46ea86b97a88366" - ], - [ - "Examples.swap_ok", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", "equation_Prims.nat", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.UInt64.t" - ], - 0, - "685dc1d64711bc46fc919714517ef4e3" - ], - [ - "Examples.double_increment_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Examples.t", "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", "int_inversion", - "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_453fa410c3a31a8a972a89b516aee90f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_799b3d89d7981f312a91d179f3733e61", - "refinement_interpretation_Tm_refine_94f5d8614d2bb6841766a1fedc7ee453", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f", - "refinement_interpretation_Tm_refine_b0a5b20e70950358d6409498616bffdb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.UInt64.add_underspec", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" - ], - 0, - "0a69a94af4e9c9bbca6558730cd6b12f" - ], - [ - "Examples.init_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f7a5e98c3fcbb078b3b959d4ad868fd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.get_next_addr", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_Prims.pow2" - ], - 0, - "a77a00d072e1fb9492bb2028e6ffae2d" - ], - [ - "Examples.copy_ok", - 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", - "true_interp" - ], - 0, - "8ab51e3a0811cfb79d5fa8365a1aa33a" - ], - [ - "Examples.copy_ok", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f" - ], - 0, - "c4ea96b6d5305df16b0f2a0dab7d3419" - ], - [ - "Examples.copy_ok", - 3, - 2, - 1, - [ - "@query", "b2t_def", "equation_Prims.nat", - "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "0d186471fb7275b6e898d629da316e19" - ], - [ - "Examples.copy_ok", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", "equation_Prims.nat", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.UInt64.t" - ], - 0, - "b934b5da37e929b12676aa2b605bb8f4" - ], - [ - "Examples.copy_ok", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Examples.t", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_799b3d89d7981f312a91d179f3733e61", - "refinement_interpretation_Tm_refine_956d6ef1030b7c1f706b2ba1b8eb273f", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.points_to", "typing_FStar.UInt64.t" - ], - 0, - "72eb89c205cf25c912e165fe42eb8182" - ], - [ - "Examples.copy_ok", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Heap.ref", - "equation_FStar.SL.Heap.trivial_preorder", "equation_Lang.addr", - "equation_Lang.t", "equation_Prims.eqtype", "equation_Prims.nat", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.SL.Heap.trivial_preorder", "typing_FStar.UInt64.t" - ], - 0, - "0223b15755731bfb4f040468155b0d6f" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/FStar.SL.Heap.fst.hints b/examples/old/seplogic/FStar.SL.Heap.fst.hints deleted file mode 100644 index 602712709f8..00000000000 --- a/examples/old/seplogic/FStar.SL.Heap.fst.hints +++ /dev/null @@ -1,33 +0,0 @@ -[ - "ª\n{˜ÊG\u001d“O„\u0012~'j¯µ", - [ - [ - "FStar.SL.Heap.trivial_preorder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.SL.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_FStar.SL.Heap_Tm_abs_a0a13c11aa3964346153dd55506fa009", - "true_interp" - ], - 0, - "f23f1cf7ce0fcc4fd59304c2ac7187a9" - ], - [ - "FStar.SL.Heap.trivial_preorder", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.SL.Heap.trivial_rel", "equation_Prims.l_True", - "interpretation_FStar.SL.Heap_Tm_abs_a0a13c11aa3964346153dd55506fa009", - "true_interp" - ], - 0, - "3a7ce5be43372a20dc89789e5f9c0353" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/FStar.SL.Monotonic.Heap.fst.hints b/examples/old/seplogic/FStar.SL.Monotonic.Heap.fst.hints deleted file mode 100644 index de49d2fa050..00000000000 --- a/examples/old/seplogic/FStar.SL.Monotonic.Heap.fst.hints +++ /dev/null @@ -1,6263 +0,0 @@ -[ - "¡$é\u001dˆ7ðº÷Œ2èƯÛÃ", - [ - [ - "FStar.SL.Monotonic.Heap.equal", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "c3d1b3d3c8845abe949a78439d0b8faa" - ], - [ - "FStar.SL.Monotonic.Heap.equal_extensional", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "assumption_FStar.FunctionalExtensionality.Extensionality", - "b2t_def", "data_elim_FStar.Pervasives.Native.None", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.efun", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.nat", - "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr" - ], - 0, - "c428e1161e220141a848e999dd3450b7" - ], - [ - "FStar.SL.Monotonic.Heap.emp", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", "equation_Prims.nat", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "23c9c38de171c86cbc41d286eb67d940" - ], - [ - "FStar.SL.Monotonic.Heap.emp_with_next_addr", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.emp", "equation_Prims.nat", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "c1bd8d6f8b97918e572306d3458482b1" - ], - [ - "FStar.SL.Monotonic.Heap.compare_addrs", - 1, - 2, - 1, - [ "@query", "assumption_Prims.HasEq_bool" ], - 0, - "d5803e639cc0419a91f493cf4eb1ae0c" - ], - [ - "FStar.SL.Monotonic.Heap.compare_addrs", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "620340cd99b471a09f22048d167e4c3f" - ], - [ - "FStar.SL.Monotonic.Heap.compare_addrs", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "25286c06cc7f0c0a4d41323d54af240b" - ], - [ - "FStar.SL.Monotonic.Heap.contains", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_bool", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a08e0a3d4b4a23b70e5bed81c60c4191" - ], - [ - "FStar.SL.Monotonic.Heap.only", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "e3d80c902f5849ab08d26d6911c2d3af" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "66b807641682b74f1bce0533839f0572" - ], - [ - "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "715a21dfe057ba3aa6ebbf5f0a01bfc1" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "f7825af07a66a7d8b16da4cd02de82d9" - ], - [ - "FStar.SL.Monotonic.Heap.sel_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b" - ], - 0, - "f92ff3c82b6d3f31b68e94829431ad1a" - ], - [ - "FStar.SL.Monotonic.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b45924ae782b9b8962799d50569bb2a1" - ], - 0, - "a3b056e30289dc33a06be030c31a04e7" - ], - [ - "FStar.SL.Monotonic.Heap.upd_tot'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "fe1e2dbf6651acb65faa717bc1bf5efe" - ], - [ - "FStar.SL.Monotonic.Heap.upd_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.pure_pre", "int_inversion", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "341d2e815e4d399397496dbd8b4a89c0" - ], - [ - "FStar.SL.Monotonic.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b45924ae782b9b8962799d50569bb2a1", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "2bbc7ae797231c7795e0aa34a0465f67" - ], - [ - "FStar.SL.Monotonic.Heap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "bool_inversion", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "kinding_FStar.Pervasives.dtuple4@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "f8ea8ccca1d4b5e6c922ad62f10f75bd" - ], - [ - "FStar.SL.Monotonic.Heap.free_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "0a3cd50ec5c57ae373b15f782fa6a277" - ], - [ - "FStar.SL.Monotonic.Heap.join_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "a93a9f770166846d806035bebddecc01" - ], - [ - "FStar.SL.Monotonic.Heap.restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9" - ], - 0, - "854e43409ea83558e85c5c0a59c5b73e" - ], - [ - "FStar.SL.Monotonic.Heap.points_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "8ac6f21a989db080ad72240898af186f" - ], - [ - "FStar.SL.Monotonic.Heap.minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9" - ], - 0, - "dce49c4bd83e8ef05942301681eb3e61" - ], - [ - "FStar.SL.Monotonic.Heap.modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "5343ea9a61951748c2ce3420fa685cbc" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_88e00b05e7c758be836fff1c6e3ead3b", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "9b2352c12d1b12a5e42fb74d72fb643e" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_88e00b05e7c758be836fff1c6e3ead3b", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.eq2", - "equation_Prims.nat", "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "b1f2f16e69de921bfe6d1dbc4b51352b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_unused_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_88e00b05e7c758be836fff1c6e3ead3b", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "8afc45096754ecf6ae26b744b44c3c41" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_bool", "assumption_Prims.HasEq_int", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.alloc", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.pure_pre", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_kinding_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "unit_typing" - ], - 0, - "013a44e40ca39df9ac15cf42636ce212" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.free_mm", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.free_mm", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "937255c9af696893bcc8509e76dd4cad" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc_fresh_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_085e7c541171bdd0e8f22d278dd52d07", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.alloc", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.fresh", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.modifies", - "equation_FStar.SL.Monotonic.Heap.modifies_t", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.contains", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.nat", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.alloc", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "aa165e97ffa31cbe897a89293409f1cc" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - 1, - 2, - 1, - [ "@query", "equation_FStar.SL.Monotonic.Heap.unused_in" ], - 0, - "45b413250be51fcfca090e7a67b06c1b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "df295d6ee645b6a3fee042bbe9e648f0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "79cdbf217abbc72af2019e1f0eda5bc7" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "projection_inverse_BoxBool_proj_0" - ], - 0, - "609e11ab63775282d74c9d530bb049c8" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "de25e0baf185507f6c8c8239b4ec2a88" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "projection_inverse_BoxBool_proj_0" - ], - 0, - "b226f47a479af31776ccb5ebfe117d8d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "1e0de7864e2e6ec98cae4e3ae3d917ad" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.is_mm", "l_and-interp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.SL.Monotonic.Heap.is_mm" - ], - 0, - "58496a4ccd49080455f474de34227a00" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "5bfef50c631fed7c381bb5d425e3cf7c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - 2, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr" - ], - 0, - "8fd722c8571110fe8e52949b69d2c5a4" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc", - 1, - 2, - 1, - [ "@query", "assumption_Prims.HasEq_bool" ], - 0, - "a957a484ac1241860ed3a5b2e50c0580" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.alloc", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.fresh", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "d187fe081ac9576488b00e3e045ad585" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "b091b81694259fea09625dd2a3ef6e2d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.free_mm", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.free_mm", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "bebe8c3dd96380c355fdcc3655690adb" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "9cfd7745c5eb3be72d7561f17c32370f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.free_mm", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.is_mm" - ], - 0, - "3631a2e0db1a4749176e8305aed1530b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "403cbcaf937f4a9411aa849adc1670b2" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "f11afd51fac974bae0a5d0babea99200" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.free_mm", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.is_mm" - ], - 0, - "4150c41b1101c50a1be1799856670ec0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "cf081501614d398c47bd75314d7a6d2b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "4943f6adbbe4202ca6a6b797f266acd8" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "80decdded4d3720f6f0810ded515c9a4" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "ea40a3888710be1094afa7ea3e821aea" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd1", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "f2e7400561cb89e4d00c21df0e1af8df" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.eq2", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "41f7e1b0a2ababe11fc14465acd9cfa1" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd2", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "d3e555617f7d1536ac9d0123855ccefc" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "0a22a33e1ee73a5e4716435f6d893625" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_mref_injectivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_" - ], - 0, - "85d89784b4d11dc095cc97650dcb218f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_in_dom_emp", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "facb81dc1b9cbdfb379620214616dca4" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "9db4ab1c42bf63c37ba131b0121fd800" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_well_typed_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "52f4e7364e770c87c24bb66ec3254a2b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "ac4c6699832f02b12bfe6cc966763026" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_88e00b05e7c758be836fff1c6e3ead3b", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "b857a0f16ebc4443ee265348ef75ef7a" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "0f839ca76d2c240f387fc5a5cc353b0c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.SL.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "1dfa8767e13a1ce0ef74d24b18a5da68" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_unused", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "aaaf05e820bd351e3f47ab89bade3672" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_unused", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_upd_contains", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "8cb99e4b108dc47d1ab0200bfaec1466" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "42813696c673ae2d2a5c116eef0e640f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.modifies", - "equation_FStar.SL.Monotonic.Heap.modifies_t", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.SL.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_well_typed_upd_contains", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.Set.singleton" - ], - 0, - "be603f84f59171895eb9f631a8e15282" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "db800e6f12b66f5ae3503d02a889f721" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.modifies", - "equation_FStar.SL.Monotonic.Heap.modifies_t", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "equation_FStar.SL.Monotonic.Heap.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.SL.Monotonic.Heap.lemma_upd_unused", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "53b7ba056444e6423ef4b8f46d57bec0" - ], - [ - "FStar.SL.Monotonic.Heap.upd_upd_same_mref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.SL.Monotonic.Heap.lemma_upd_contains", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.upd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "b9aa7a7e4c76feeddf297e541e50b18b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_equals_sel_tot_for_contained_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.sel", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "e2f8d663090fb50503a1ad9483bfd64e" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_equals_upd_tot_for_contained_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.upd", - "equation_FStar.SL.Monotonic.Heap.upd_tot", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "4387698d46430c7a9ec5f6b235ae95dd" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "53587c5e07e42c53786db001b2abca97" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "d60018b237ba5c01370e6c2c4739a1bb" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.equal_dom", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.modifies", - "equation_FStar.SL.Monotonic.Heap.modifies_t", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.set", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "lemma_FStar.TSet.lemma_mem_tset_of_set", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "dfa18586faec2132d4cce562eb1d3c41" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_is_emp_emp_with_next_addr", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.is_emp", "equation_Prims.nat", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory" - ], - 0, - "f55766e62b9f1a5df73904677aa0459f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "ec0dccb163e4a35b67573279e5751b06" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", - 2, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.restrict", - "primitive_Prims.op_Addition", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" - ], - 0, - "3a9b45e1036b3da56101ba3bb6ca5ee1" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_get_next_addr_points_to", - 1, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.points_to", - "primitive_Prims.op_Addition", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" - ], - 0, - "2c5879add0942e90da168b2537645781" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_get_next_addr_emp_with_next_addr", - 1, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr" - ], - 0, - "040c7e7c76196c2dc756a87fe61ccd27" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "b82590e989dded596bc299536f0d91b0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "f84e9930aba85e935cf7f2aa1e895ef9" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_r_unused_in_emp_with_next_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" - ], - 0, - "8785ae74abb1b500436ed5761f38426e" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "typing_FStar.SL.Monotonic.Heap.addr_of" - ], - 0, - "b829b6a6b5f8dca900bc94c20e1f6e03" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot" - ], - 0, - "c591d22eb646a61003bc4f01d38f0035" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "d6ab4867da624b8948fb78679181f91a" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.FunctionalExtensionality.Extensionality", - "b2t_def", "bool_typing", "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.efun", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.nat", "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668" - ], - 0, - "7c1fa33abb457e8e55ffaf240b7a5f14" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_emp_with_next_addr_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.None", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_inversion", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8" - ], - 0, - "3d524e40c6b627fa41defdc9db52ab24" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "int_inversion", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_emp_with_next_addr_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot" - ], - 0, - "b173ac8c55ee8287bf0c4e23c707b695" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "ea5d13c435ee91fd1cbd7f80dc16ca74" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" - ], - 0, - "46d28d12ed982af39d68276e902b49bd" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "66c2c560d87e4623d9bc282affc3001d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "8487538aa4072021489d29055587620c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" - ], - 0, - "a378c4622ccbc59909227023f237d08d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "851baa1cddccfd2aea96ba62bbf079df" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629" - ], - 0, - "3aabc4ee5002680aa9e5f89c1fcce49c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "07ad49f2c54ce79b433ea84bec692cb3" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "6b3b23ec62f9a5e068ba120724c11d16" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629" - ], - 0, - "881625f45d25e51c4158d895e71da160" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "a8b6d6ac212e3d0775e5de34f59eab47" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" - ], - 0, - "c1f2dbbcaa9281faff3c3b327f3214cf" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_points_to_unused_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2" - ], - 0, - "acc42a19444fae5b3bf4b1e0511c40ec" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "baf093b3ebbd8005c80b297664349ded" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_a071d3eb61c7ec4fdb0fe3170c227f57", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "1307a8b7784fdeb8cfef829b83cfb48d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "2550b4d814c52796613270b4fdacad37" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668" - ], - 0, - "de7b3a4c4cc515cfb7de9fc24a01b47a" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "58e9fa25cdce143667dca71a13086719" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "55373a3e00dbf9273173d91f27526ba2" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668" - ], - 0, - "372d5f53352297827cbcc1d043b6cd28" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "f0db952d6b03ad422e137016a4619a96" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.restrict", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" - ], - 0, - "f2d2ac05ccf4b3d14b1b8b4d9f5ab2a8" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "1f15bd96c03ec0d75a5953b84efb5b7b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_4c207982a68e40a902ac75ce2d52db3e", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "4383a34920a7a2bdb067d9d2304113a0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_4c207982a68e40a902ac75ce2d52db3e", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "3952faa20d6241435dc60eadb3410c72" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "6239a8c6a2d98edb4520ac39bcb1e7d5" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.FunctionalExtensionality.Extensionality", - "b2t_def", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.efun", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.nat", - "function_token_typing_Prims.pure_pre", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2" - ], - 0, - "656aa3d6e96fc02693d00be982ad7e92" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "0487d9e6e2f5348c0d421cb98bf9d03e" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "1fa848da581c0f38f63cc9166649e2ed" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.FunctionalExtensionality.Extensionality", - "b2t_def", "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.efun", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.nat", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2" - ], - 0, - "0dd74b83c1cb653219c845eb9fe74715" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "1ea3a23bbf88423243ed0d1d8b2120ca" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.restrict", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr" - ], - 0, - "d25baa4f34cb130e8378a28a259ed81f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "132c1d4e18c3006b8b2747b49982f733" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" - ], - 0, - "e7dfe8c6edf5d0e92e16d5d4868cf2ac" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "775f604407db8b3074d3e953c8377cb6" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" - ], - 0, - "59eb103bee1180c4b0f456cc636a4471" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "dbb3891d51b56ffff58e897e31d9dc86" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "f0b0133b39c1654d9a721dbed6ac97da" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus" - ], - 0, - "cec062ed6a5cf8fb2db2a139184c4d59" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "f65624626a2a51162122830db7358767" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "c8934a8fbad07b3e100d5f288f6bfaf2" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "4478130b6d48c4a412c4ea634c0e601f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "74463216fd21ab3d733edb8f8817c80d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.minus", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "lemma_FStar.SL.Monotonic.Heap.lemma_r_unused_in_h", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.addr_of", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "2b38ca8a0efe21956b90a14cfb823679" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_join_tot_h_emp_with_next_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "equation_FStar.SL.Monotonic.Heap.get_next_addr", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.join_tot", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", - "equation_FStar.SL.Monotonic.Heap.unused_in", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_Prims.pure_pre", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr", - "typing_FStar.SL.Monotonic.Heap.join_tot", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "e5ff0f53e364eb0af98cdd6af3a1e2ba" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_join_tot_emp_with_next_addr_h", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_is_comm", - "lemma_FStar.SL.Monotonic.Heap.lemma_sel_join_tot_h_emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr" - ], - 0, - "6d699ea811f95d1158972be8ccf74d5d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "3a330111b1bd9d871c792b462c8c0ad9" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.equal", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", - "equation_FStar.SL.Monotonic.Heap.restrict", - "equation_FStar.SL.Monotonic.Heap.sel", - "equation_FStar.SL.Monotonic.Heap.sel_tot", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "7c5b90e7aa997665bf83716275e6e836" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_points_to_is_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.points_to", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "b5ce2068edc9ec804b13218a653124f2" - ], - [ - "FStar.SL.Monotonic.Heap.aref_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_bool", "assumption_Prims.HasEq_int", - "bool_inversion", "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "07824dfd6b1bd851a1fed3cb795279e0" - ], - [ - "FStar.SL.Monotonic.Heap.addr_of_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_of_aref", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_addr" - ], - 0, - "5245f38db09a6c89b620f43adf6e56f9" - ], - [ - "FStar.SL.Monotonic.Heap.is_mm_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_mm" - ], - 0, - "bb07eadad83007e917f5a084ca0dcb3a" - ], - [ - "FStar.SL.Monotonic.Heap.unused_in_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.aref_unused_in", - "equation_FStar.SL.Monotonic.Heap.unused_in", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_addr" - ], - 0, - "9e3f62ef2fd1f5982b7721aaeafc1e42" - ], - [ - "FStar.SL.Monotonic.Heap.contains_aref_unused_in", - 1, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "df4106d0f93c7aafb9019a880563fadf" - ], - [ - "FStar.SL.Monotonic.Heap.contains_aref_unused_in", - 2, - 2, - 1, - [ - "@query", "equation_FStar.SL.Monotonic.Heap.addr_of_aref", - "equation_FStar.SL.Monotonic.Heap.addr_unused_in", - "equation_FStar.SL.Monotonic.Heap.aref_unused_in", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.SL.Monotonic.Heap.lemma_ref_unused_iff_addr_unused" - ], - 0, - "3aa7cc29e7ad32e447debbdd9a573b7a" - ], - [ - "FStar.SL.Monotonic.Heap.aref_live_at", - 1, - 2, - 1, - [ - "@query", "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "28400820ca7e1a4cdfcdb95fceb40803" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of'", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.mref", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "b061735ec311283e960bcf485c2a9ddb" - ], - [ - "FStar.SL.Monotonic.Heap.gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_1c2bd3b7a1a91e6ab84b2be9f5bcc6d1", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "caf8010806edd34fb5ef4f17c2a33246" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "07caad5294cbaa1880447a94baadf281" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", "eq3-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.gref_of", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of" - ], - 0, - "b4af485101b4c3ab95513493a023a577" - ], - [ - "FStar.SL.Monotonic.Heap.aref_live_at_aref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkaref__a_mm" - ], - 0, - "1be6a6a8f94daa68527f0a6b149ab218" - ], - [ - "FStar.SL.Monotonic.Heap.contains_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "constructor_distinct_Tm_unit", - "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.gref_of", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of" - ], - 0, - "86ca2a9d0b3f68f3ea479d055583da05" - ], - [ - "FStar.SL.Monotonic.Heap.aref_of_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.gref_of", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of" - ], - 0, - "7a5e1ee8d479f8106393b1cfdb6b0c58" - ], - [ - "FStar.SL.Monotonic.Heap.addr_of_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of_aref", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "151e894121f5340429c52aafc4f02e2f" - ], - [ - "FStar.SL.Monotonic.Heap.is_mm_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.aref_of", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "dfe446faf7417c389d28127a7bdd5093" - ], - [ - "FStar.SL.Monotonic.Heap.unused_in_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "38aebad65618871894d944781f8de6f9" - ], - [ - "FStar.SL.Monotonic.Heap.sel_ref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.l_and", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "lemma_FStar.SL.Monotonic.Heap.lemma_sel_same_addr", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_38ce898cf9da7db3ceb3b5bed986ad49", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of", - "typing_FStar.SL.Monotonic.Heap.ref_of" - ], - 0, - "ba34f25ce40ea7a411680ef28521bcb8" - ], - [ - "FStar.SL.Monotonic.Heap.upd_ref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.l_and", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "l_and-interp", "lemma_FStar.SL.Monotonic.Heap.contains_gref_of", - "lemma_FStar.SL.Monotonic.Heap.lemma_upd_same_addr", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_38ce898cf9da7db3ceb3b5bed986ad49", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of", - "typing_FStar.SL.Monotonic.Heap.ref_of" - ], - 0, - "c5a92fd827de67299b2992224215a0c7" - ], - [ - "FStar.SL.Monotonic.Heap.equal", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "7ff11cc56752d5efb564a7bfc51029ce" - ], - [ - "FStar.SL.Monotonic.Heap.emp", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", "equation_Prims.nat", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "24963e389093e0890382013ae8d685f1" - ], - [ - "FStar.SL.Monotonic.Heap.emp_with_next_addr", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.emp", "equation_Prims.nat", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "3b731d9c2c48cb69f01b29b12ac75131" - ], - [ - "FStar.SL.Monotonic.Heap.compare_addrs", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "c0c5882da51027ae48f77eab112afaf2" - ], - [ - "FStar.SL.Monotonic.Heap.compare_addrs", - 5, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_bool", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "9f0d02f5266e60f6064ef576e502c335" - ], - [ - "FStar.SL.Monotonic.Heap.contains", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_bool", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "33bc875a5cc6f65e96ae089db2048caa" - ], - [ - "FStar.SL.Monotonic.Heap.only", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "18399f413a64b29375c3391379fcb704" - ], - [ - "FStar.SL.Monotonic.Heap.only", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "bc9b517f4cfdc8e52a5fdb114db1cc29" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "9e8cdfd4a5144066064e048ed87a39a3" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Plus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "17eec0a10be52a2365cf508aafa86731" - ], - [ - "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "bd206dfcc405cf744658a47d5d5a1840" - ], - [ - "FStar.SL.Monotonic.Heap.op_Plus_Plus_Hat", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "876031ab165325bbba7b3b8018ba6c67" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Hat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "5b10925459e86a20234fcc9d3881c262" - ], - [ - "FStar.SL.Monotonic.Heap.op_Hat_Plus_Hat", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "02b46f0d6b7f08ddd8a6755b63fae19e" - ], - [ - "FStar.SL.Monotonic.Heap.sel_tot", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b" - ], - 0, - "116cd82c8644552c2eae5fafc05a7daa" - ], - [ - "FStar.SL.Monotonic.Heap.sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b45924ae782b9b8962799d50569bb2a1" - ], - 0, - "729679a6d62acccaf0c2d3486745865a" - ], - [ - "FStar.SL.Monotonic.Heap.upd_tot'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "e9ca7ee2ef4e6daac6cd3fff6dac830b" - ], - [ - "FStar.SL.Monotonic.Heap.upd_tot", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.pure_pre", "int_inversion", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "6461f9994c309366105d8e7ed7415d57" - ], - [ - "FStar.SL.Monotonic.Heap.upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_d3167db12e4f09fc92a096f746cdb2b7", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b45924ae782b9b8962799d50569bb2a1", - "refinement_interpretation_FStar.StrongExcludedMiddle_Tm_refine_94f72bfda5e23ac3960136c8bc3f958c", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.contains", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_245f7a89faf063e0e3825b9075e36eb5", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "a0d413a8fdac6279a8cbf0984a100afd" - ], - [ - "FStar.SL.Monotonic.Heap.alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "bool_inversion", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_ecf6e167d1920251e9b562ba6411e9ac", - "kinding_FStar.Pervasives.dtuple4@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "d635e1e923c3dcb4fa144ab668edaaa3" - ], - [ - "FStar.SL.Monotonic.Heap.free_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_d5a0381b7ab9ba5576e479b8eb3b4e6e", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap.is_mm", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "2feea412bb2c7671b02cacdeb02c5321" - ], - [ - "FStar.SL.Monotonic.Heap.join_tot", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_76c4e2b8a6eab5c9391fe7a3069cc65a", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.pure_pre", "int_inversion", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_20f2c2f0a49933d22cd4279fc16a3634", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_LessThan", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd" - ], - 0, - "6eaade4aa67ac8b04e33506d9bf598e2" - ], - [ - "FStar.SL.Monotonic.Heap.restrict", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_fe298dcedc085ce585ac642ebe6af668", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9" - ], - 0, - "1ab8747b10c20a69215ff358742afb91" - ], - [ - "FStar.SL.Monotonic.Heap.points_to", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", - "data_elim_FStar.SL.Monotonic.Heap.Mkmref_", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_8dfdb93a0310895ebeb06b9ed27afac2", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory" - ], - 0, - "ac06a3c34bdf6e7509c81809c6524876" - ], - [ - "FStar.SL.Monotonic.Heap.minus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives_interpretation_Tm_arrow_614c7b5886a6e5b119a37c35c7e4bd59", - "FStar.Pervasives_interpretation_Tm_arrow_dbf39bf049d72c3088e1ed84d246952d", - "FStar.SL.Monotonic.Heap_interpretation_Tm_arrow_255632b7901b344a0a76612a142b7ad1", - "Prims_interpretation_Tm_arrow_257be5ee7da9f477702a7d2ee9bef0c9", - "Prims_interpretation_Tm_arrow_e06752ba152f81447b312efcdf8f0e23", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_int", "b2t_def", "bool_typing", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.SL.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pure_pre", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "function_token_typing_Prims.bool", - "function_token_typing_Prims.pure_pre", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_53d5acca32d1ec02c00f11430168f1dd", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_5eb8c0c48918893cd4ec26ba54564629", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_900c748c8e767e6db32e3b2eea622bdf", - "interpretation_FStar.SL.Monotonic.Heap_Tm_abs_b68fea9bb587725c7cce21e0efe8fbb8", - "kinding_FStar.Pervasives.dtuple4@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_FStar.SL.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.SL.Monotonic.Heap.__proj__Mkmref___item__addr", - "typing_FStar.SL.Monotonic.Heap_Tm_abs_108f8fdf0719196fa58dacbe251babf9" - ], - 0, - "ebe63f432e4a5152aabea79843023d0c" - ], - [ - "FStar.SL.Monotonic.Heap.modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "8033e8a0276419839988b3d99f5e323b" - ], - [ - "FStar.SL.Monotonic.Heap.modifies", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "11b5f8556c75c75b8f36142f0922ee4c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "86ba1a30b98da4903533f7cc6cccabac" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "f5d36d6b8b417625fe50d46db81899f7" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_unused_test", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "8fe9e160e5987744b50f43bb0cabec01" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc_test", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_bool", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "75cca37b1951d1f7cb1b23cb05e4dfcb" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_test", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "4492ffdf0b753e053da3ec207368c6fc" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc_fresh_test", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "4d4fedd33ef28f0ea906d0db657af695" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "508ed110e1fcf7e7c0c3869b1d0e8ac8" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "7c06479c21b8b4d8c0de5db62db78748" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "5a242365e9b0f31bb5e4040efdcc82fd" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_distinct_addrs_unused", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "73247ebc4d600597fe6dcf50aa6beffd" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_alloc", - 3, - 2, - 1, - [ "@query", "assumption_Prims.HasEq_bool" ], - 0, - "5d23846f8ef08afb6872c08477639eda" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_sel", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "f38c730c23de0726fb582f77ad661ad1" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_contains", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "5155a172b6e43570b7bde2d98b837ec6" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_free_mm_unused", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "bc9b68f289303b67887c936187b87f3b" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_same_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "127295e92a7c43e26d40547264f2fde0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_same_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "14d94a1201cc189114e168827483f3b0" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "619418737db82c11d626c3dc31d21510" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_upd2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "d0a62bfd3e9fe23c564197c081a1652c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_contains", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "31c49c8a25303aae28f015e909e3fb73" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_contains_different_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "14021787a777af10c58139124d3baa50" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_upd_unused", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "47e626e9af42413c0801b9ad9b018c5d" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_upd_modifies", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "d7f2b8dd58a683c0d17c8684ca76fea7" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_unused_upd_modifies", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "a8a55710b1906b5a15b59e992137b1d2" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", "int_typing" - ], - 0, - "84c00edca0221d631b039af648aaa812" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_get_next_addr_restrict", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "0ba65978ae91a359dd9f5389654dd744" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_r_unused_in_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "c4f8c8904d853e6128f172a4178d7cd9" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "5c80fd4a2e0170ba230a221d695e8f39" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "31cd7a60df369e2f49e9168cd9d2d642" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "equation_Prims.squash", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "a356ea44c674f1c28ee55fb0eeae1ac5" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "2b44f311df7b12d0d42fa5e658307e3c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "equation_Prims.squash", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "9dfaccc8f402c0a92cb7032e794e5321" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_points_to_unused_h", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "962b55821bc883501f3130fa722e1b54" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r_restrict_unused_h", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_and", - "equation_Prims.squash", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "5b8604e532605538fb6b004415105eca" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_contains_r1_restrict_unused_h", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "equation_Prims.squash", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "e6523e57ca70342e8f3ed5c2280efea8" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_restrict_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "b3831549207a146bf16412184e5be9c4" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_restrict_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_restrict_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_4c207982a68e40a902ac75ce2d52db3e", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "acf6c90d694f7b5fde0ed06bb27292fc" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r_join_tot_points_to_minus", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "4d536b130480cbb25538539749c6fc0c" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_r1_join_tot_points_to_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "b2t_def", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_r1_join_tot_points_to_minus", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "b4dbaa74b6dc46449a58a5fc5ae9ac6f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_h_emp_with_next_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_h_emp_with_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "e0d67b6c4a7b6fd5aab7fb228cdcd352" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_join_tot_emp_with_next_addr_h", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "int_inversion", - "lemma_FStar.SL.Monotonic.Heap.lemma_contains_join_tot_emp_with_next_addr_h", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "38a0c946548ac146862fbb903982752f" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_restrict_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "7ee6ce0b183e0579ddd40ff8b3bfce30" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_restrict_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "equation_Prims.squash", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "874027abcd28fa17b0f7e5573dfe2363" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r_join_tot_points_to_minus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "c7dd9d88882538721542a2850f156e40" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_sel_r1_join_tot_points_to_minus", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_Prims.HasEq_int", "equation_Prims.nat", - "equation_Prims.squash", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "l_and-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "unit_typing" - ], - 0, - "45b7339ee8f20bbaa17ec455507fdc15" - ], - [ - "FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.SL.Monotonic.Heap.contains", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "e7450ef2e4bf8d2ca9ad53d8e29318ee" - ], - [ - "FStar.SL.Monotonic.Heap.aref_equal", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_Prims.HasEq_bool", "assumption_Prims.HasEq_int", - "bool_inversion", "data_elim_FStar.SL.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.dummy_aref", - "equation_FStar.SL.Monotonic.Heap.emp", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "function_token_typing_FStar.SL.Monotonic.Heap.dummy_aref", - "function_token_typing_FStar.SL.Monotonic.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "4fdd88834bd7911c7a5447487951a1f7" - ], - [ - "FStar.SL.Monotonic.Heap.contains_aref_unused_in", - 3, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "2a853f20c50f3227863eb0922669c284" - ], - [ - "FStar.SL.Monotonic.Heap.aref_live_at", - 2, - 2, - 1, - [ - "@query", "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "56a00202e64c90e542bac60610276d39" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.mref", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "90366915a22e7c44a27a94cba9427cd1" - ], - [ - "FStar.SL.Monotonic.Heap.gref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "eq3-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.heap", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_1c2bd3b7a1a91e6ab84b2be9f5bcc6d1", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953" - ], - 0, - "f86e966e71399cd4e1c259bc67c90218" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", "eq3-interp", - "equation_FStar.Preorder.preorder", - "equation_FStar.SL.Monotonic.Heap.addr_of", - "equation_FStar.SL.Monotonic.Heap.aref", - "equation_FStar.SL.Monotonic.Heap.aref_is_mm", - "equation_FStar.SL.Monotonic.Heap.aref_live_at", - "equation_FStar.SL.Monotonic.Heap.gref_of", - "equation_FStar.SL.Monotonic.Heap.heap", - "equation_FStar.SL.Monotonic.Heap.is_mm", - "equation_FStar.SL.Monotonic.Heap.mref", - "equation_FStar.SL.Monotonic.Heap.ref_of_", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.SL.Monotonic.Heap.mref_", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__addr", - "proj_equation_FStar.SL.Monotonic.Heap.Mkmref__mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__addr", - "projection_inverse_FStar.SL.Monotonic.Heap.Mkmref__mm", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_85f2d798632fcea65272776dd43e3953", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_c23dde6f55e8954049ca462d7272290b", - "typing_FStar.SL.Monotonic.Heap.gref_of" - ], - 0, - "c460b8d650af6a4b8f9ea3ba217d48f8" - ], - [ - "FStar.SL.Monotonic.Heap.ref_of", - 4, - 2, - 1, - [ "@query" ], - 0, - "79ae9d61b8269925c8620bac2cfe09eb" - ], - [ - "FStar.SL.Monotonic.Heap.sel_ref_of", - 2, - 2, - 1, - [ "@query" ], - 0, - "5e1561a10d80c13ce8792595338b7bf4" - ], - [ - "FStar.SL.Monotonic.Heap.upd_ref_of", - 2, - 2, - 1, - [ "@query" ], - 0, - "4b4fba915aba09ba43ca18aa7beea12a" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/Lang.fst.hints b/examples/old/seplogic/Lang.fst.hints deleted file mode 100644 index 63801a024ab..00000000000 --- a/examples/old/seplogic/Lang.fst.hints +++ /dev/null @@ -1,440 +0,0 @@ -[ - " hÍ¡¢GìZh‚Í\u0012\u0011\u001f\f\u000b", - [ - [ - "Lang.__proj__Return__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Return", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" - ], - 0, - "58192ea8c0e8ebc413d70931eccbfbcf" - ], - [ - "Lang.__proj__Return__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Return", - "proj_equation_Lang.Return_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Return_a", - "refinement_interpretation_Lang_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" - ], - 0, - "28ded5f896bb265888772bb56d8c35e4" - ], - [ - "Lang.__proj__Read__item__id", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Read", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_8b0b214c8c365de975ef6f968fef05ff" - ], - 0, - "29557b863d013a460fb71ff78f2c8ec0" - ], - [ - "Lang.__proj__Write__item__id", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Write", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" - ], - 0, - "6e4403a2cb3e538248cff8bb26055550" - ], - [ - "Lang.__proj__Write__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Write", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" - ], - 0, - "835fb4b6101352ccb076a8e4e9c5a987" - ], - [ - "Lang.__proj__Bind__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "0a93a4ad2c06bdef2a81f37941ea9bc8" - ], - [ - "Lang.__proj__Bind__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "1d4ccf3d8a05765601081e8e7510d277" - ], - [ - "Lang.__proj__Bind__item__c1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "proj_equation_Lang.Bind_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Bind_a", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "758bde62ee6b3793feaa491810ddc8bc" - ], - [ - "Lang.__proj__Bind__item__c2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "proj_equation_Lang.Bind_a", "proj_equation_Lang.Bind_b", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Bind_a", "projection_inverse_Lang.Bind_b", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "b00659d27a4c88ca25f9a95548ae964f" - ], - [ - "Lang.wpsep_command", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Lang_pretyping_ed25d9a66ef27c141140a01a63efac21", - "binder_x_7191e7ec7ec842c79d6210488d715978_1", - "data_elim_Lang.Alloc", "data_elim_Lang.Bind", "data_elim_Lang.Read", - "data_elim_Lang.Return", "data_elim_Lang.Write", - "disc_equation_Lang.Alloc", "disc_equation_Lang.Bind", - "disc_equation_Lang.Read", "disc_equation_Lang.Return", - "disc_equation_Lang.Write", "equality_tok_Lang.Alloc@tok", - "equation_Lang.addr", "fuel_guarded_inversion_Lang.command", - "subterm_ordering_Lang.Bind", "typing_tok_Lang.Alloc@tok", - "unit_typing" - ], - 0, - "6c14d680ed062556a7cfb29814843b13" - ], - [ - "Lang.lemma_read_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SL.Heap.ref", - "equation_Lang.addr", "equation_Lang.t", - "function_token_typing_FStar.UInt64.t", - "lemma_FStar.SL.Monotonic.Heap.equal_extensional", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_restrict_minus", - "lemma_FStar.SL.Monotonic.Heap.lemma_restrict_eq_points_to", - "refinement_interpretation_FStar.SL.Monotonic.Heap_Tm_refine_b665c5d9d02615543412d6d1fdaeb68b", - "refinement_interpretation_Lang_Tm_refine_3bcf4b7474eb7f3eaa30f4c958188cd5", - "typing_FStar.SL.Heap.trivial_preorder", - "typing_FStar.SL.Monotonic.Heap.minus", - "typing_FStar.SL.Monotonic.Heap.points_to", - "typing_FStar.SL.Monotonic.Heap.restrict", - "typing_FStar.SL.Monotonic.Heap.sel" - ], - 0, - "226db367b8319024bfaaec9a22e56a48" - ], - [ - "Lang.lemma_alloc_return", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_is_emp_emp_with_next_addr", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_emp_with_next_addr_h", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr" - ], - 0, - "28727f811b502d9023abfc2f57248a67" - ], - [ - "Lang.lemma_bind", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.SL.Monotonic.Heap.lemma_join_tot_h_emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.emp_with_next_addr", - "typing_FStar.SL.Monotonic.Heap.get_next_addr" - ], - 0, - "71eeebe6f6abe982a4f9557a1065ccce" - ], - [ - "Lang.lemma_eq_implies_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "35a3a2f1251c7d3ffd8a45d1c9ed2dae" - ], - [ - "Lang.lemma_eq_implies_intro'", - 1, - 2, - 1, - [ "@query" ], - 0, - "8390bc16c9453063b62bd42ce921eafc" - ], - [ - "Lang.lemma_addr_not_eq_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.n", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "334df4d579d6a8afd1de349427272eb5" - ], - [ - "Lang.lemma_impl_l_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_imp", - "equation_Prims.squash", "l_iff-interp", "l_imp-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "800fdfa60d611bfd4dc28434a25a4bf2" - ], - [ - "Lang.lemma_eq_l_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Prims.eq2", - "equation_Prims.l_imp", "equation_Prims.squash", "l_imp-interp", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "b2cdcba68230f176d153949c3fb5272c" - ], - [ - "Lang.lemma_eq_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", "equation_Lang.t", - "equation_Prims.eq2", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "afa2234b9776cdb2466f18d108a93e1a" - ], - [ - "Lang.__proj__Return__item__a", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Return", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" - ], - 0, - "2e1372fdab116e2cfa4a20f8e4e92e2e" - ], - [ - "Lang.__proj__Return__item__v", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Return", - "proj_equation_Lang.Return_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Return_a", - "refinement_interpretation_Lang_Tm_refine_3b7831d9973ba6ea1ea4e42a3c37eb98" - ], - 0, - "af00af35ff7a456ac41e8526929f33ed" - ], - [ - "Lang.__proj__Read__item__id", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Read", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_8b0b214c8c365de975ef6f968fef05ff" - ], - 0, - "ed2163283c87f7b93099745ccb68d6bd" - ], - [ - "Lang.__proj__Write__item__id", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Write", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" - ], - 0, - "4ae4648b3a99db260d96ea64a7df519d" - ], - [ - "Lang.__proj__Write__item__v", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Write", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d48ca6a107dccb6956bc9f7c46bdf471" - ], - 0, - "ccf392e504e351a6e3ad2df86dc8afaa" - ], - [ - "Lang.__proj__Bind__item__a", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "c223008340dcd0a2b9b3853aa8f94058" - ], - [ - "Lang.__proj__Bind__item__b", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "8d43edb6f4a64873123c29f929c8ad9a" - ], - [ - "Lang.__proj__Bind__item__c1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "proj_equation_Lang.Bind_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Bind_a", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "1460b64f0169a0b99789ab2643ff91cc" - ], - [ - "Lang.__proj__Bind__item__c2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lang.Bind", - "proj_equation_Lang.Bind_a", "proj_equation_Lang.Bind_b", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Lang.Bind_a", "projection_inverse_Lang.Bind_b", - "refinement_interpretation_Lang_Tm_refine_d927e07481e8f5540c72e4aad9322a2e" - ], - 0, - "756f059ce09f7b98f32830a893186a1c" - ], - [ - "Lang.wpsep_command", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Lang_pretyping_ed25d9a66ef27c141140a01a63efac21", - "binder_x_7191e7ec7ec842c79d6210488d715978_1", - "data_elim_Lang.Alloc", "data_elim_Lang.Bind", "data_elim_Lang.Read", - "data_elim_Lang.Return", "data_elim_Lang.Write", - "disc_equation_Lang.Alloc", "disc_equation_Lang.Bind", - "disc_equation_Lang.Read", "disc_equation_Lang.Return", - "disc_equation_Lang.Write", "equality_tok_Lang.Alloc@tok", - "equation_Lang.addr", "fuel_guarded_inversion_Lang.command", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Lang.Bind", - "typing_tok_Lang.Alloc@tok", "unit_typing" - ], - 0, - "91efdb8bb0fa3c6dedcfee63f30167af" - ], - [ - "Lang.lemma_read_write", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Lang.t", - "refinement_interpretation_Lang_Tm_refine_3bcf4b7474eb7f3eaa30f4c958188cd5" - ], - 0, - "b8a4bc4acb358980caba8799473c87d7" - ], - [ - "Lang.lemma_addr_not_eq_refl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n", - "equation_Prims.nat", "function_token_typing_FStar.UInt32.n", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "0119ba0a71c62e182c2f0d21eec63a8d" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SL.Effect.fst.hints b/examples/old/seplogic/SL.Effect.fst.hints deleted file mode 100644 index 108939eeb44..00000000000 --- a/examples/old/seplogic/SL.Effect.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "{Òü°-ˆPúgÚÇsç¸Á”", [] ] \ No newline at end of file diff --git a/examples/old/seplogic/SL.Examples.fst.hints b/examples/old/seplogic/SL.Examples.fst.hints deleted file mode 100644 index 6185167de35..00000000000 --- a/examples/old/seplogic/SL.Examples.fst.hints +++ /dev/null @@ -1,4979 +0,0 @@ -[ - "\u0013F÷ë7]BÕ¨y-z¦ç\u001f‹", - [ - [ - "SL.Examples.lemma_singleton_heap_rw", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "5f4dce9921504f63f4524ad1a0641daa" - ], - [ - "SL.Examples.lemma_rw", - 1, - 2, - 1, - [ "@query", "typing_SL.Heap.op_Bar_Greater" ], - 0, - "58393b658476662c349004af79145153" - ], - [ - "SL.Examples.lemma_bind", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2b4fa39ed92d214dc2d9bf82792c2942" - ], - [ - "SL.Examples.lemma_singleton_heap_procedure", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "8a6f929b00fd6de228e2496c7cbc8d6f" - ], - [ - "SL.Examples.lemma_procedure", - 1, - 2, - 1, - [ "@query" ], - 0, - "f78f5b3a3f7966d1222d626441a114aa" - ], - [ - "SL.Examples.lemma_pure_right", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "02a0d00a428d209e2bdb8185103bd71f" - ], - [ - "SL.Examples.lemma_rewrite_sep_comm", - 1, - 2, - 1, - [ "@query" ], - 0, - "4fd8eb9f09a270def5ee9b8fa6c55357" - ], - [ - "SL.Examples.lemma_rewrite_sep_assoc1", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_sep_assoc" ], - 0, - "9101600274d9f7fba02059460c41384c" - ], - [ - "SL.Examples.lemma_rewrite_sep_assoc2", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_sep_assoc" ], - 0, - "e7789de4f8998ffda6d3d979b08988fd" - ], - [ - "SL.Examples.lemma_rewrite_sep_assoc3", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_sep_assoc" ], - 0, - "82dd73a731398cf9a20f8b466df7f5f7" - ], - [ - "SL.Examples.lemma_rewrite_sep_assoc4", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_sep_assoc" ], - 0, - "d1da51266218e793a9bb35f7e60a28bb" - ], - [ - "SL.Examples.apply_lemmas", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" - ], - 0, - "43857a9a21bce208f12370e8d493c234" - ], - [ - "SL.Examples.prelude", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "disc_equation_FStar.Tactics.Result.Failed", - "disc_equation_FStar.Tactics.Result.Success", - "equation_FStar.Reflection.Types.binders", - "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.unit", - "lemma_FStar.Tactics.Result.result_split", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Tactics.Result.uu___is_Failed", - "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" - ], - 0, - "a21252b82b795503be0420c47cd29bea" - ], - [ - "SL.Examples.split_lem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "bfba99067a6d7a973b330cb376297a07" - ], - [ - "SL.Examples.write_read", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_0139bf7052c09762f3fd33651746d3b5" - ], - 0, - "ace2d05723e235c1cf7d5500afa4bf45" - ], - [ - "SL.Examples.write_read", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_0139bf7052c09762f3fd33651746d3b5", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "82a9adde44793c64d734d8b1076b0f7c" - ], - [ - "SL.Examples.write_read", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_0139bf7052c09762f3fd33651746d3b5", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "15956dfc974176f7e753c905aa03e94e" - ], - [ - "SL.Examples.swap", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c" - ], - 0, - "a3430bd517996bd716a2d7d38ef59afd" - ], - [ - "SL.Examples.swap", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c" - ], - 0, - "886fa93f9e706aa4e5be9c83e6bcae25" - ], - [ - "SL.Examples.swap", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "f501a8a7bc9f08cd18b62db8ce1eb3bb" - ], - [ - "SL.Examples.swap", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "601862851d10686f71583614fc208fc3" - ], - [ - "SL.Examples.swap", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c" - ], - 0, - "9df5f70e998fe37d9e00b705a8557d16" - ], - [ - "SL.Examples.swap", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "24389939485b77eb1eab000838bca3d8" - ], - [ - "SL.Examples.swap", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "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_intersect", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_c9caf63a45faa2fe57fd3bb4c51c320c", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "608abbb698b6e76134d18fa743f04552" - ], - [ - "SL.Examples.incr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_SL.Examples_Tm_refine_8359878918c830803afb203cd8a44f99", - "refinement_interpretation_SL.Examples_Tm_refine_caf4f1cd52c69c4c0c908d32d4d9b828" - ], - 0, - "fc79f627be480d26e02a91f28fcf7be1" - ], - [ - "SL.Examples.incr", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_SL.Examples_Tm_refine_8359878918c830803afb203cd8a44f99", - "refinement_interpretation_SL.Examples_Tm_refine_caf4f1cd52c69c4c0c908d32d4d9b828" - ], - 0, - "4bc9ee991bdab85910a2450d847298f8" - ], - [ - "SL.Examples.incr", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "562b41c8922bc9c5a8fb1ef01ebf87b5" - ], - [ - "SL.Examples.incr", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "int_inversion", "int_typing", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_caf4f1cd52c69c4c0c908d32d4d9b828", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "ded9707c7c8c9ca1efad660d74b14835" - ], - [ - "SL.Examples.incr2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_946d7a2302b1da340c9fe49095d42d40" - ], - 0, - "b148f271ca0bc031cac93d0fe81a70e3" - ], - [ - "SL.Examples.incr2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "6007790ef2234ee51584b7071c56f7fe" - ], - [ - "SL.Examples.incr2", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_946d7a2302b1da340c9fe49095d42d40", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "a318a24d3e30a40bf31a1757fce2644d" - ], - [ - "SL.Examples.rotate", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "3c98042a8e951ac72bfb8a906d981770" - ], - [ - "SL.Examples.rotate", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "int_inversion", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ae0cde924bcfc594b0d18d37900d0356" - ], - [ - "SL.Examples.rotate", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "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_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2dd1b7f0fe56e177c6ce8fbf415807b2" - ], - [ - "SL.Examples.rotate", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "baa36a7b088bfafecd98ba02a8330424" - ], - [ - "SL.Examples.rotate", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c5c74566672bdee33633f3396d93b488" - ], - [ - "SL.Examples.rotate", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f545876a856ca313a0ed8910bce32908" - ], - [ - "SL.Examples.rotate", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "fc0e0d011e7d4ca8899a356ff035f56e" - ], - [ - "SL.Examples.rotate", - 8, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "7647987b4a6da5b210c0ccc30bd522fa" - ], - [ - "SL.Examples.rotate", - 9, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "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_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2287ddd90d0d38e134be755266af33b6", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0b9b93bc7766f64cac4d96cba2a9143d" - ], - [ - "SL.Examples.lemma_inline_in_patterns_two", - 1, - 0, - 0, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "9de230f69d352af2d7368f8a22695380" - ], - [ - "SL.Examples.lemma_frame_out_empty_right", - 1, - 0, - 0, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_sep_unit" - ], - 0, - "cda84d2b483636abe5dfa36b61adfb3d" - ], - [ - "SL.Examples.lemma_frame_out_empty_left", - 1, - 0, - 0, - [ - "@query", "function_token_typing_SL.Heap.emp", - "lemma_SL.Heap.lemma_sep_unit", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "042d3e63d24e0ecd51cd814c041d26fd" - ], - [ - "SL.Examples.cond_test", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f" - ], - 0, - "bec503fbde5b393066c888d8c121d7c7" - ], - [ - "SL.Examples.cond_test", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f" - ], - 0, - "a3f0a0cebd046cdf6069abc4ddf2c647" - ], - [ - "SL.Examples.cond_test", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f" - ], - 0, - "726d2519ac3b72eaad01aeb72224b775" - ], - [ - "SL.Examples.cond_test", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f" - ], - 0, - "a1a15a025a4bbf29eaeae93d516e472b" - ], - [ - "SL.Examples.cond_test", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "3a14e8b7405731704195bf2923c758dc" - ], - [ - "SL.Examples.cond_test", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "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_intersect", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "refinement_interpretation_SL.Examples_Tm_refine_a5f12cbf43548265004dbd7acdaa10cf", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "049b28b399693c5a839bc62ad8e6af8c" - ], - [ - "SL.Examples.cond_test", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f" - ], - 0, - "e598c513ad03d2899d1a2798e1e8bed0" - ], - [ - "SL.Examples.cond_test", - 8, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_comm", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "dd38a3a35ac4dc72a21892e0d4408feb" - ], - [ - "SL.Examples.cond_test", - 9, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2387ba28293dad9f635251f908e20789" - ], - [ - "SL.Examples.cond_test", - 10, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "50f38a91213612ce3be0a9689d45c0b7" - ], - [ - "SL.Examples.cond_test", - 11, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "77da90e79ffa6b0cc46ed9c827737e98" - ], - [ - "SL.Examples.cond_test", - 12, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_Addition", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f100a530f15d70e24671753e4f3fca92" - ], - [ - "SL.Examples.cond_test", - 13, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_44faff5d8543c30ad9bf2eeaf1b3abcf", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.HasEq_int", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.set", "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "function_token_typing_Prims.nat", - "function_token_typing_SL.Heap.emp", - "function_token_typing_SL.Heap.op_Less_Star_Greater", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "int_inversion", "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_3e8850268c538ad9254730979b04971f", - "refinement_interpretation_SL.Examples_Tm_refine_a4fc6879b4ce42bc600713a83096d25d", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.singleton", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "8e7652495f3c4ac7396c30a5baa26fcd" - ], - [ - "SL.Examples.cond_test", - 14, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "refinement_interpretation_SL.Examples_Tm_refine_8a5eac184ae64109676f362e58afe491" - ], - 0, - "d49f5c051160e00c24ef394fee23e838" - ], - [ - "SL.Examples.valid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt32.n", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "e311efbe3bba343e24cbb149af3f98eb" - ], - [ - "SL.Examples.__exists_elim_as_forall2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "l_quant_interp__5917", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_7070d46f3c3cb717e23b2dabcbc4c12c" - ], - 0, - "17f409f0e0b958e084ffdffcfa6c8838" - ], - [ - "SL.Examples.__exists_elim_as_forall1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.l_Forall", - "equation_Prims.squash", "l_quant_interp__5921", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_d16de86ec5446f55c1622708945a0449" - ], - 0, - "379837bfaa463c3385bf84bec415fdd3" - ], - [ - "SL.Examples.__elim_valid_without_match", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.UInt32.n", "equation_SL.Examples.listptr", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n", "l_and-interp", - "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" - ], - 0, - "f420c7243b73d08515acee520d883e7a" - ], - [ - "SL.Examples.lemma_frame_exact", - 1, - 2, - 1, - [ "@query" ], - 0, - "cfae2b517c727be4096cbce99de597a2" - ], - [ - "SL.Examples.length", - 1, - 2, - 1, - [ "@query", "assumption_SepLogic.Heap.Emp_defined_axiom" ], - 0, - "03ee80a67e24c24a41ec3c02ce6d03a7" - ], - [ - "SL.Examples.length", - 2, - 2, - 1, - [ "@query", "assumption_SL.Heap.Emp_defined_axiom" ], - 0, - "e746aec3c17ee4806c46274e05400f55" - ], - [ - "SL.Examples.length", - 3, - 2, - 1, - [ - "@query", "assumption_SepLogic.Heap.Emp_defined_axiom", - "function_token_typing_SepLogic.Heap.emp", - "lemma_SepLogic.Heap.lemma_sep_unit" - ], - 0, - "528ec6d4497246034f6f77e1e9c5b4a5" - ], - [ - "SL.Examples.length", - 4, - 2, - 1, - [ - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_unit" - ], - 0, - "b470ce942988ed66e90d3002a9ba6181" - ], - [ - "SL.Examples.length", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_unit", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_d95f418cd734e902add6ff4cd24b6f0f" - ], - 0, - "e381baf54078d51dad4846772b7021a6" - ], - [ - "SL.Examples.length", - 6, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "90d4232bbefc2392b0bcc407dc0e6855" - ], - [ - "SL.Examples.length", - 7, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c79f413c4b0282486343bbddd4d12b9a" - ], - [ - "SL.Examples.length", - 8, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "4dbe020bcc7d4ea631754c2132a2f014" - ], - [ - "SL.Examples.length", - 9, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "131c6b9743dfb9d9a3499e737542cc3d" - ], - [ - "SL.Examples.length", - 10, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "af0fa15f18d38ca787552be79b602c11" - ], - [ - "SL.Examples.length", - 11, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "d6873398d9106c721f819bd59634883f" - ], - [ - "SL.Examples.length", - 12, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "6b595005263a04799d7b95d8059c8c0e" - ], - [ - "SL.Examples.length", - 13, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "1a308f2e8c1ae3e580a519899d706712" - ], - [ - "SL.Examples.length", - 14, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", "unit_inversion", "unit_typing" - ], - 0, - "8040af961d5537ed9939b26e40039dcc" - ], - [ - "SL.Examples.length", - 15, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1" - ], - 0, - "9ffbd1a7049c18d7dfeefb3be22a4ac8" - ], - [ - "SL.Examples.length", - 16, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", "unit_inversion", "unit_typing" - ], - 0, - "ffe255460d31a5597446a7ce21094cb1" - ], - [ - "SL.Examples.length", - 17, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", "unit_inversion", "unit_typing" - ], - 0, - "cfd9ab87d58dfc518afc1dd5092ce266" - ], - [ - "SL.Examples.length", - 18, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "bool_inversion", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "e235a6cf4d721a9bf44e45870baea68c" - ], - [ - "SL.Examples.length", - 19, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "12e04b9bbadc39cafb385616fc24b259" - ], - [ - "SL.Examples.length", - 20, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "9093a05f494387076b0d87cff89d5cd5" - ], - [ - "SL.Examples.length", - 21, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "2b908496b2e38571f19b769e2ce45333" - ], - [ - "SL.Examples.length", - 22, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "379554fa785d3616f849a9549c2ce0ec" - ], - [ - "SL.Examples.length", - 23, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "7d9795ff254be1660f9db655cf210fe2" - ], - [ - "SL.Examples.length", - 24, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "4602ec9211aeb2c07c4fb0708768b0d9" - ], - [ - "SL.Examples.length", - 25, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "31384c57df3f7495171ebfffa61be479" - ], - [ - "SL.Examples.length", - 26, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "0b3f0d0f587a7cd3e1a498126390092a" - ], - [ - "SL.Examples.length", - 27, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "ec81f2768240b9cfffd0fbb172ea33fa" - ], - [ - "SL.Examples.length", - 28, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "131c87b0b87055d7999a562b24211bac" - ], - [ - "SL.Examples.length", - 29, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Examples.listptr", "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_ba423aa9b6ddfea196e242f8a78441ee", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.ref" - ], - 0, - "3cec2cdd762d7a60b4ff2bb990e1206c" - ], - [ - "SL.Examples.length", - 30, - 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_typing_intro_SL.Examples.Cell@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_3adfde05ad9d84de1bdab8dd2ec0db61", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "855afcf07697be35a9ed28f4f2ca4123" - ], - [ - "SL.Examples.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "0cfd4b30d9cfe2dca926e100dd86cd9e" - ], - [ - "SL.Examples.append", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "25c3f19628cfd3a61d3a0a211207fff9" - ], - [ - "SL.Examples.append", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "52aa402d581c3ce21d04bee916d46c04" - ], - [ - "SL.Examples.append", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "bf466f8153f6ca4374e051532e03c9c9" - ], - [ - "SL.Examples.append", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5912", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_10e5389243fe70646c4026f515d218fa", - "refinement_interpretation_SL.Examples_Tm_refine_65b3f4dc33ff68c0befa268018d0629a", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_d95f418cd734e902add6ff4cd24b6f0f", - "typing_FStar.List.Tot.Base.append", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "bd9593bc571ffcf959f03df16fc96ad8" - ], - [ - "SL.Examples.append", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_SL.Examples_Tm_refine_333995310cc67a2191c689eaa0bcbaa3" - ], - 0, - "66104b2de994240bafdaaa94d86ab48a" - ], - [ - "SL.Examples.append", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d" - ], - 0, - "63ff4a59839f0306257212f5629c1530" - ], - [ - "SL.Examples.append", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "67cd4347203a119c08e9f37bd1614dee" - ], - [ - "SL.Examples.append", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "66c45ad7aeff74e5ba2775d968cc2183" - ], - [ - "SL.Examples.append", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2a83457c2378fbfb5b56bf90f1d6944c" - ], - [ - "SL.Examples.append", - 11, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "9b0630a27d032266faf6c55c33e893cd" - ], - [ - "SL.Examples.append", - 12, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "3cf4af6b560468d075d7c2fbbb5fddfc" - ], - [ - "SL.Examples.append", - 13, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "38472d8d9e3c1d13d07d71b28aa9c752" - ], - [ - "SL.Examples.append", - 14, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "bbd65f9a5e20f643ab83173cc5e18464" - ], - [ - "SL.Examples.append", - 15, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", "int_inversion", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "a058e44bf01aa1e376ebdfde03ce8516" - ], - [ - "SL.Examples.append", - 16, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_SL.Examples.Cell@tok", "equation_Prims.l_and", - "equation_Prims.squash", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "int_inversion", "kinding_SL.Examples.listcell@tok", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "a621c0dbcffc1657e049b8af45c90a4f" - ], - [ - "SL.Examples.append", - 17, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "951009df97a900e5f34a3f0034879f4b" - ], - [ - "SL.Examples.append", - 18, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "71f5b06917185ed062223a447fd78eaf" - ], - [ - "SL.Examples.append", - 19, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5866", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fd850bfd7321f016e28e4cd4efd1dcf8", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "90b571da5cc700c9f56f25698f372523" - ], - [ - "SL.Examples.append", - 20, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "294506a3c23c116a11f470a8117de45a" - ], - [ - "SL.Examples.append", - 21, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "c312340837a7dd264e2317a21d3e80e1" - ], - [ - "SL.Examples.append", - 22, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "7c9a205862b43129479fe58a28561952" - ], - [ - "SL.Examples.append", - 23, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "020c3da41031f71ef7f785b0a27173bb" - ], - [ - "SL.Examples.append", - 24, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "667ef2c7045ff1ed956ff855f56a8dbf" - ], - [ - "SL.Examples.append", - 25, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "f52bb353ee291bc3726e5d4115ae632b" - ], - [ - "SL.Examples.append", - 26, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "834d46540b426c3150ea975b493bc7a5" - ], - [ - "SL.Examples.append", - 27, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "67630b2818d50f04a9d43534e34606ee" - ], - [ - "SL.Examples.append", - 28, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "29e53309d8c0442b25b88f301729f5eb" - ], - [ - "SL.Examples.append", - 29, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "a7b70a6aa80f442eec55ce5b3646ef4b" - ], - [ - "SL.Examples.append", - 30, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "4f5700914113e0a87e8b39adf573ccb8" - ], - [ - "SL.Examples.append", - 31, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5912", "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_a3185afad9677e47e82ed497eb20bbaa", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fd850bfd7321f016e28e4cd4efd1dcf8", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "3f344655bed14a51d19bd603ea82b500" - ], - [ - "SL.Examples.append", - 32, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "exists-interp", "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_SL.Heap.emp", "int_inversion", - "interpretation_SL.Examples_Tm_abs_de338dc315f0d523c5f9f93eb84a55ec", - "interpretation_SL.Examples_Tm_abs_f6b9393126b6e92d3f6d73bd22333b00", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_a3185afad9677e47e82ed497eb20bbaa", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_ba423aa9b6ddfea196e242f8a78441ee", - "refinement_interpretation_SL.Examples_Tm_refine_fd850bfd7321f016e28e4cd4efd1dcf8", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "05cd6faccb13568f6061fdd973a0f3a1" - ], - [ - "SL.Examples.append", - 33, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "274eb709866824a1fd8a88907ba836eb" - ], - [ - "SL.Examples.append", - 34, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "608b1bf83940e3646cfd96b5ecdd027b" - ], - [ - "SL.Examples.append", - 35, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "385ea3fc71ebad16bff8782a2d1f5a89" - ], - [ - "SL.Examples.append", - 36, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "98ae8b5d213fc3f681deeeea63f64fa3" - ], - [ - "SL.Examples.append", - 37, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-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_intersect", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "af396458b195929f7effebc18fca89cb" - ], - [ - "SL.Examples.append", - 38, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-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_intersect", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "853d61b49adcfecdfbe199ce2978fb1a" - ], - [ - "SL.Examples.append", - 39, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "7d26343bd9f2cf7b1dbfd000d20a6859" - ], - [ - "SL.Examples.append", - 40, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "568db92b39da132637fd5f60fb5233d5" - ], - [ - "SL.Examples.append", - 41, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "5e42f769031ac8ddf43da2924b1b5dbb" - ], - [ - "SL.Examples.append", - 42, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "853e0b9004d614836304de65662c20d4" - ], - [ - "SL.Examples.append", - 43, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "072528ba9c40b943b72731a46b269786" - ], - [ - "SL.Examples.append", - 44, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "6fdafd669989cdc9abb0ac1e6adad535" - ], - [ - "SL.Examples.append", - 45, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "db778df905d1b0811d112638aa85d97d" - ], - [ - "SL.Examples.append", - 46, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "2291484e036bf508a9669290c45ed44b" - ], - [ - "SL.Examples.append", - 47, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "7f8354e63098d122825504f5d0385f65" - ], - [ - "SL.Examples.append", - 48, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "b5655b98f808be85065670b2280c0962" - ], - [ - "SL.Examples.append", - 49, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "aa7d0e15a1a79c7168c42961912c5478" - ], - [ - "SL.Examples.append", - 50, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "7f3b4d5adc397b355e7e81cfe2a48cdf" - ], - [ - "SL.Examples.append", - 51, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "dc607a3450f37c27f7442033432a264e" - ], - [ - "SL.Examples.append", - 52, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0c75e8717fa080fc742dbc1ce7159013" - ], - [ - "SL.Examples.append", - 53, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "5a979431d155dfda45d5ec840dfda822" - ], - [ - "SL.Examples.append", - 54, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Examples.listptr", "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_ba423aa9b6ddfea196e242f8a78441ee", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.ref" - ], - 0, - "c0e5c8a97f8764e88507905bf51468c4" - ], - [ - "SL.Examples.append", - 55, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_c24a4e12fa4eb30f3ab6f0b870ccf649", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.ref" - ], - 0, - "95088900eb5974378f884c56c4607c74" - ], - [ - "SL.Examples.append", - 56, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Examples.listptr", "equation_SL.Examples.null", - "equation_SL.Heap.set", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", "int_inversion", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5912", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_head", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_a3185afad9677e47e82ed497eb20bbaa", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_c24a4e12fa4eb30f3ab6f0b870ccf649", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.empty", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "typing_SL.Heap.ref", - "unit_inversion", "unit_typing" - ], - 0, - "337e876cf03d160137be49e0fc4bf217" - ], - [ - "SL.Examples.lemma_apply_rewrite_assoc_mem1", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm" - ], - 0, - "86f87d012883ae03426ef8164455a457" - ], - [ - "SL.Examples.rev_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c6952fab1b6c548a0270a552f4fa7aca" - ], - [ - "SL.Examples.rev_append", - 2, - 2, - 1, - [ - "@query", "assumption_Prims.HasEq_int", "equation_Prims.nat", - "haseqPrims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d" - ], - 0, - "3da1a051a590542b3d7ff33e5197b708" - ], - [ - "SL.Examples.rev_append", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "0140699b4354742581bb4bea81279138" - ], - [ - "SL.Examples.rev_append", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "function_token_typing_SL.Heap.emp", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d" - ], - 0, - "3f4c240379c53233f3c2ae89198ce089" - ], - [ - "SL.Examples.rev_append", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5912", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", "lemma_SL.Heap.lemma_sep_unit", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_34120c20b62e0e614224cfe6d801de78", - "refinement_interpretation_SL.Examples_Tm_refine_65b3f4dc33ff68c0befa268018d0629a", - "refinement_interpretation_SL.Examples_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "refinement_interpretation_SL.Examples_Tm_refine_859e4e377ae1abfa83bae604a4b048e7", - "refinement_interpretation_SL.Examples_Tm_refine_d95f418cd734e902add6ff4cd24b6f0f", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "d402e0b9bfe8b97608573dd00852b30f" - ], - [ - "SL.Examples.rev_append", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_SL.Examples_Tm_refine_333995310cc67a2191c689eaa0bcbaa3" - ], - 0, - "9bfd780792cf5abaf210bde259927c66" - ], - [ - "SL.Examples.rev_append", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_135a58b9e2191af079c261fa72d0209d" - ], - 0, - "d17f3d09e451674a249184336e79c7b1" - ], - [ - "SL.Examples.rev_append", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "05020511c9e21ea62424a15c8dfe7b0e" - ], - [ - "SL.Examples.rev_append", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03" - ], - 0, - "2866d5809532d5ad33fef4ba6d455e2f" - ], - [ - "SL.Examples.rev_append", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2c066ed76d0b3480184a86979b6c5402" - ], - [ - "SL.Examples.rev_append", - 11, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "02cf624e88aee363aeff98d90c1f3df7" - ], - [ - "SL.Examples.rev_append", - 12, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2d4f5fce33f3b2f101caf6f1cb09461b" - ], - [ - "SL.Examples.rev_append", - 13, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2eb14cc1c91ef261ffe736731b2c9d8a" - ], - [ - "SL.Examples.rev_append", - 14, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_SL.Examples.Cell@tok", - "kinding_SL.Examples.listcell@tok", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "3b7cc49bbb54b844930097e81eec3a11" - ], - [ - "SL.Examples.rev_append", - 15, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "389c63e1517a122b4e43adab842c0d16" - ], - [ - "SL.Examples.rev_append", - 16, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d28716bce87b1f8d629f22262e5adc2f" - ], - [ - "SL.Examples.rev_append", - 17, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_SL.Examples.Cell@tok", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.nat", "equation_SL.Examples.listptr", - "equation_SL.Heap.set", - "function_token_typing_FStar.Reflection.Data.var", - "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "df6efa78dc1a44865f41a41d6c8f0ba1" - ], - [ - "SL.Examples.rev_append", - 18, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1" - ], - 0, - "90cab3c346590e071647775cf08101a7" - ], - [ - "SL.Examples.rev_append", - 19, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_Prims.eq2", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "equation_Prims.squash", "equation_SL.Examples.listptr", - "equation_SL.Examples.null", "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_Prims.int", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5912", "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_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_head", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "51cf613f98bfec3967d680de828e9125" - ], - [ - "SL.Examples.rev_append", - 20, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc" - ], - 0, - "e010fdd376603262a4c116988838ad2a" - ], - [ - "SL.Examples.rev_append", - 21, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "7bc4ec7349e8191f932a2351e684b663" - ], - [ - "SL.Examples.rev_append", - 22, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_unit", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "4ca343221bb9e9571dec984dd1b6e4c7" - ], - [ - "SL.Examples.rev_append", - 23, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "9908341953acd5e133835efaab47a2fc" - ], - [ - "SL.Examples.rev_append", - 24, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2aa39728b6794bcb176f3f233eac0f0d" - ], - [ - "SL.Examples.rev_append", - 25, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f66db0735444d013035a78ed256ac514" - ], - [ - "SL.Examples.rev_append", - 26, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2ef1fdfa6a626268069d66a5b50bda01" - ], - [ - "SL.Examples.rev_append", - 27, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "9d90c29aae136b9d9a17223ed9dcc0ce" - ], - [ - "SL.Examples.rev_append", - 28, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "94f0502d0c4427c775e8743a4cdb34f4" - ], - [ - "SL.Examples.rev_append", - 29, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f4a713cf4d7ec44e931265cc0164dbfd" - ], - [ - "SL.Examples.rev_append", - 30, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "l_and-interp", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_unit", - "lemma_SL.Heap.lemma_sep_unit_", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "typing_FStar.List.Tot.Base.rev_acc", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "56d46a2178463c09e342a53972f8d0f0" - ], - [ - "SL.Examples.rev_append", - 31, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Examples.listptr", "kinding_SL.Examples.listcell@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_SL.Examples_Tm_refine_ba423aa9b6ddfea196e242f8a78441ee", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_SL.Heap.ref" - ], - 0, - "fa6b4cac9b3e5a68e18e6ccd35a32548" - ], - [ - "SL.Examples.rev_append", - 32, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "SL.Examples_pretyping_a6804d4cb57ca59bd81f00a29d73fd4d", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_SL.Examples.Cell@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Reflection.Data.var", "equation_FStar.Set.disjoint", - "equation_FStar.UInt32.n", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Examples.listptr", "equation_SL.Heap.set", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.equals", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.emp", "int_inversion", "int_typing", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "l_quant_interp__5866", "lemma_FStar.Set.disjoint_not_in_both", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_sep_unit", "lemma_SL.Heap.lemma_sep_unit_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_SL.Examples.Cell_head", - "projection_inverse_SL.Examples.Cell_tail", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Prims_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_SL.Examples_Tm_refine_2b56f1e8d31dd56805ed44b3b55f43c7", - "refinement_interpretation_SL.Examples_Tm_refine_412e9f270f624237a204a51cd01783c1", - "refinement_interpretation_SL.Examples_Tm_refine_7090c7f11d853a291387422152aaa313", - "refinement_interpretation_SL.Examples_Tm_refine_990071c979979d6a5b471d43e0261d48", - "refinement_interpretation_SL.Examples_Tm_refine_b1a34bf5909291ee0006341a36798700", - "refinement_interpretation_SL.Examples_Tm_refine_b4058c8f6f2906d8e18508aa7badbd7b", - "refinement_interpretation_SL.Examples_Tm_refine_ba423aa9b6ddfea196e242f8a78441ee", - "refinement_interpretation_SL.Examples_Tm_refine_fe2aacf66542bf88fcf16f74c0c1bf03", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater", "unit_inversion", - "unit_typing" - ], - 0, - "27035c03e3023f3f7fb57ad54f77e78e" - ], - [ - "SL.Examples.equal_dom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9561c47b92de4d484ccdd1c152629c4d" - ], - [ - "SL.Examples.rev", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SL.Examples.valid.fuel_instrumented", - "@fuel_irrelevance_SL.Examples.valid.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Reflection.Data.var", "equation_FStar.UInt32.n", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", "equation_Prims.squash", - "equation_SL.Examples.listptr", "equation_SL.Examples.null", - "equation_SL.Heap.set", - "equation_with_fuel_SL.Examples.valid.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.Data.var", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_SL.Examples.null", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Examples.listcell@tok", "l_and-interp", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_SL.Heap.lemma_addrs_in_join", "lemma_SL.Heap.lemma_sep_unit", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Prims_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_SL.Examples_Tm_refine_8a1fb37254cca35dd9efcf77e190fdfe", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.empty", "typing_FStar.Set.union", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.ref", "unit_inversion", - "unit_typing" - ], - 0, - "7971fe27580481ef289e0d4f28a78842" - ], - [ - "SL.Examples.apply_lemmas", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" - ], - 0, - "aa26a10e3c48d3e29de04830779a9639" - ], - [ - "SL.Examples.prelude", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "disc_equation_FStar.Tactics.Result.Failed", - "disc_equation_FStar.Tactics.Result.Success", - "equation_FStar.Reflection.Types.binders", - "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.unit", - "lemma_FStar.Tactics.Result.result_split", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Tactics.Result.uu___is_Failed", - "typing_FStar.Tactics.Result.uu___is_Success", "unit_typing" - ], - 0, - "a21c106a80585eb9964391fbbefe9953" - ], - [ - "SL.Examples.valid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9a691d092aa1033ae30e6c0e5e60237c_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.LexTop@tok", "equation_FStar.UInt32.n", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.UInt32.n", "subterm_ordering_Prims.Cons" - ], - 0, - "f79fd70a89cf33c0062d3b8ad93a518c" - ], - [ - "SL.Examples.__elim_valid_without_match", - 2, - 2, - 1, - [ "@query" ], - 0, - "5f5c33a5bc76cb37c56bb77340208d5f" - ], - [ - "SL.Examples.dom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "61047ace8528cc97693496a8d3b8c8ca" - ], - [ - "SL.Examples.append", - 57, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "4ed87b84582586323dcc4f667675de48" - ], - [ - "SL.Examples.rev_append", - 33, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "d9eb4a8ea8084bdcc64d798e20c19969" - ], - [ - "SL.Examples.equal_dom", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Reflection.Data.var", - "refinement_interpretation_Prims_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "873e6e58bd3b2d1d52c4b8948832be68" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SL.ExamplesAuto.fst.hints b/examples/old/seplogic/SL.ExamplesAuto.fst.hints deleted file mode 100644 index f9acef4e043..00000000000 --- a/examples/old/seplogic/SL.ExamplesAuto.fst.hints +++ /dev/null @@ -1,1039 +0,0 @@ -[ - "”¬ëÜBöyø8Ìkß&•\b1", - [ - [ - "SL.ExamplesAuto.memory_cm", - 1, - 2, - 1, - [ - "@query", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm" - ], - 0, - "b23409887d0512b2f96e0ce9c7760262" - ], - [ - "SL.ExamplesAuto.footprint_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_Prims.string", - "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" - ], - 0, - "81412c13832c8275c04cbf0b5ad3a686" - ], - [ - "SL.ExamplesAuto.frame_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Effect.frame_wp", - "refinement_interpretation_Tm_refine_a115bf9a6290b1e76702d9ff5be08d48", - "refinement_interpretation_Tm_refine_aad142288425c76d0414ae376f218678" - ], - 0, - "dfab4201794e97e6565bfbbee1bbcb2c" - ], - [ - "SL.ExamplesAuto.ite_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.Effect.st_ite_wp", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8783facbee59f74683258ee2ef39dccf" - ], - [ - "SL.ExamplesAuto.if_then_else_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_SL.Effect.st_if_then_else", - "refinement_interpretation_Tm_refine_50c0b425b242d748dce7f54c63710850", - "refinement_interpretation_Tm_refine_ff1b22b8b4716d687c209a89e74e279f" - ], - 0, - "70447619c71ac287dde904ba07109784" - ], - [ - "SL.ExamplesAuto.close_wp_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Effect.st_close_wp", - "refinement_interpretation_Tm_refine_19c36087eec74c9606aa52d8292d1b93" - ], - 0, - "2fffe155a1e2ddec9d90c5a2c4e8752b" - ], - [ - "SL.ExamplesAuto.pointsto_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_Prims.string", - "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" - ], - 0, - "f7c4a305effb75cacabe4d5d6ccc77aa" - ], - [ - "SL.ExamplesAuto.sort_sl_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Data.var", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_Prims.nat", "equation_SL.ExamplesAuto.sort_sl", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "token_correspondence_FStar.List.Tot.Base.sortWith", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith", - "token_correspondence_SL.ExamplesAuto.sort_sl" - ], - 0, - "83db6970cb36189fc1d6f59689a3ed5c" - ], - [ - "SL.ExamplesAuto.__proj__Frame__item__ta", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_SL.ExamplesAuto.Frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7b96c44bc1723c750211be32c4326057" - ], - 0, - "c613b1442163a52ffff7896d2f43419a" - ], - [ - "SL.ExamplesAuto.__proj__Frame__item__twp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_SL.ExamplesAuto.Frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7b96c44bc1723c750211be32c4326057" - ], - 0, - "fcce167fae0844c85787d9a29adbaeb9" - ], - [ - "SL.ExamplesAuto.__proj__Frame__item__tpost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_SL.ExamplesAuto.Frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7b96c44bc1723c750211be32c4326057" - ], - 0, - "d8fab7c93f0b249632e9719ab2e9c8fd" - ], - [ - "SL.ExamplesAuto.__proj__Frame__item__tm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_SL.ExamplesAuto.Frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7b96c44bc1723c750211be32c4326057" - ], - 0, - "5ff9e079e386fb461d98f151a76f80d7" - ], - [ - "SL.ExamplesAuto.__proj__Unknown__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_SL.ExamplesAuto.Unknown", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3eb8fee3b8fcd7b6207497a8ddf9490a" - ], - 0, - "7a8d729700a5a95569cbb3423d78249f" - ], - [ - "SL.ExamplesAuto.peek_cmd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Tactics.Result.Failed", - "constructor_distinct_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Reflection.Data.Tv_Unknown@tok", - "equation_FStar.Reflection.Types.typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_Prims.string", - "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" - ], - 0, - "9aa264dd4c47ab9df49d45fe95dca301" - ], - [ - "SL.ExamplesAuto.__tcut", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "c052c92706f368243922092e2ad1c2f5" - ], - [ - "SL.ExamplesAuto.sl", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "SL.ExamplesAuto_pretyping_723aec1e8ea8c2bc5b2c58f41e7919eb", - "bool_inversion", "bool_typing", - "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_SL.ExamplesAuto.Read@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_SL.ExamplesAuto.Assume", - "disc_equation_SL.ExamplesAuto.Bind", - "disc_equation_SL.ExamplesAuto.Close", - "disc_equation_SL.ExamplesAuto.Frame", - "disc_equation_SL.ExamplesAuto.FramePost", - "disc_equation_SL.ExamplesAuto.IfThenElse", - "disc_equation_SL.ExamplesAuto.Ite", - "disc_equation_SL.ExamplesAuto.Read", - "disc_equation_SL.ExamplesAuto.Unknown", - "disc_equation_SL.ExamplesAuto.Write", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "fuel_guarded_inversion_SL.ExamplesAuto.cmd", - "function_token_typing_FStar.Reflection.Types.fv", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3eb8fee3b8fcd7b6207497a8ddf9490a", - "typing_SL.ExamplesAuto.__proj__Unknown__item___0" - ], - 0, - "ceed3e098c861e34aa41e300881183b6" - ], - [ - "SL.ExamplesAuto.__elim_exists_as_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_52aaf47986f8078b3fe702da8e3e43f4", - "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" - ], - 0, - "a4cc72119a7ef6b7112ef4a5a43b9b62" - ], - [ - "SL.ExamplesAuto.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "a2985a680e4fd366b07929eba8e80758" - ], - [ - "SL.ExamplesAuto.swap", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "826ef93ba0d02b39b227ba44d80b5b14" - ], - [ - "SL.ExamplesAuto.swap", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "6e325de5b930572533a0f87deb1c6c5c" - ], - [ - "SL.ExamplesAuto.swap", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "92b767f152e0443333df520922bdc179" - ], - [ - "SL.ExamplesAuto.swap", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_34554dfa336fc7ddff4e031ed60f61d8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c4e457d1c0b704a0e31972f73ae98e84" - ], - [ - "SL.ExamplesAuto.swap", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_34554dfa336fc7ddff4e031ed60f61d8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "67406c30e029827f2dfcd268dfeb14f7" - ], - [ - "SL.ExamplesAuto.swap", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_comm", - "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "ba76da3daa2c9a58555e8937adaf24a5" - ], - [ - "SL.ExamplesAuto.swap", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "f35021f1399be1a439f9b9f39d7fa5c4" - ], - [ - "SL.ExamplesAuto.swap", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e640259bd20f297246508a3b84b209dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "3a59db2716c19e00fc02df560e993e8c" - ], - [ - "SL.ExamplesAuto.rotate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87df27ad5c1134251ebeb7f4f43ea9cb", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "69578129266feecffd7018954c0baba6" - ], - [ - "SL.ExamplesAuto.rotate", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87df27ad5c1134251ebeb7f4f43ea9cb", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "0322406de0b6bb5d27d531bdce3ba005" - ], - [ - "SL.ExamplesAuto.rotate", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_SL.Heap.Addrs_in_emp_axiom", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_0abf5fb68304837dfba7c68d5be14a1a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87df27ad5c1134251ebeb7f4f43ea9cb", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "d12044bbe8f0c7013b2445ebfcf5abc2" - ], - [ - "SL.ExamplesAuto.rotate", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.ExamplesAuto.memory_cm", - "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87df27ad5c1134251ebeb7f4f43ea9cb", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_SL.Heap.addr_of", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "560104ffae7d29c078812d0510305ada" - ], - [ - "SL.ExamplesAuto.rotate", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87df27ad5c1134251ebeb7f4f43ea9cb", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "c9383e27d78ad384de769b6423ecc727" - ], - [ - "SL.ExamplesAuto.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_d087d97d29d416cc1292c7ac245658b7" - ], - 0, - "411d0f4ae07ffa7f8df63907673dd8ae" - ], - [ - "SL.ExamplesAuto.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_d087d97d29d416cc1292c7ac245658b7" - ], - 0, - "bbce61f296044611faa147894e092d2d" - ], - [ - "SL.ExamplesAuto.test", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_d087d97d29d416cc1292c7ac245658b7" - ], - 0, - "b00544588088e30452821fa21677a258" - ], - [ - "SL.ExamplesAuto.write_read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_2490122701887bd550b5220ea886cee2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f6402cd6ecba6275ae90bac1a563b363", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "ab9a75f3ffcaec5083d98be37ac5206a" - ], - [ - "SL.ExamplesAuto.write_read", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_2490122701887bd550b5220ea886cee2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f6402cd6ecba6275ae90bac1a563b363", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "c1163068d2ed7616899c5e630ff8533f" - ], - [ - "SL.ExamplesAuto.write_read", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f6402cd6ecba6275ae90bac1a563b363", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "2f0545b0a34b0aaf7e3b21da0a271aa7" - ], - [ - "SL.ExamplesAuto.write_read", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "int_typing", - "lemma_SL.Heap.lemma_sep_assoc", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_2490122701887bd550b5220ea886cee2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f6402cd6ecba6275ae90bac1a563b363", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "3312b55dfdd0f2213d627e18a184cc01" - ], - [ - "SL.ExamplesAuto.write_read", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_assoc", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f6402cd6ecba6275ae90bac1a563b363", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "a6f5ed536cf515ffc3b3a3dc240533d8" - ], - [ - "SL.ExamplesAuto.read_write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e89a64e173c61ad1fa9b8292c1ee1d7", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "6ae53787f00eadb2ba5e3dffee893021" - ], - [ - "SL.ExamplesAuto.read_write", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_SL.ExamplesAuto.memory_cm", - "function_token_typing_Prims.int", "lemma_SL.Heap.lemma_sep_assoc", - "lemma_SL.Heap.lemma_sep_comm", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e89a64e173c61ad1fa9b8292c1ee1d7", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_SL.Heap.op_Less_Star_Greater", - "typing_SL.Heap.op_Bar_Greater" - ], - 0, - "1a8dcaa1b0a626c47e03fde0d206805b" - ], - [ - "SL.ExamplesAuto.read_write", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_comm", "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e89a64e173c61ad1fa9b8292c1ee1d7", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "2b8ec8bb6345e272e8cc18ba0c8f94d7" - ], - [ - "SL.ExamplesAuto.read_write", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_0eeddc2964c777106d1393170c472e5b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e89a64e173c61ad1fa9b8292c1ee1d7", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "116ec5fc703cb9bd523651486d77cbf5" - ], - [ - "SL.ExamplesAuto.read_write", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Set.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.set", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_SL.Heap.lemma_addrs_in_join", - "lemma_SL.Heap.lemma_addrs_in_points_to", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_sep_defined", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e89a64e173c61ad1fa9b8292c1ee1d7", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "fefdea005962d89ca450b5b9a7dcfc80" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SL.Heap.fst.hints b/examples/old/seplogic/SL.Heap.fst.hints deleted file mode 100644 index 696316df8bd..00000000000 --- a/examples/old/seplogic/SL.Heap.fst.hints +++ /dev/null @@ -1,1878 +0,0 @@ -[ - "\t\u001cÒP ŠàI khy\b]+‘", - [ - [ - "SL.Heap.addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d89fc25666530fafe216885878d9eb0e" - ], - [ - "SL.Heap.disjoint_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "eb1561d6f93212d7ba4f5071f9a55587" - ], - [ - "SL.Heap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "bf67f22dec4b78c5ce022b99caad4c6a" - ], - [ - "SL.Heap.equal_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "7342adf7766f38f92218512eaddb438e" - ], - [ - "SL.Heap.memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b411384423d720e52da8514c0111d069" - ], - [ - "SL.Heap.equal_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.Pervasives.invertOption", - "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "c48dc936d2444b60b2d1120e4943d8d6" - ], - [ - "SL.Heap.emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "ee2e4afe41dc5f3d72f16119d3fdbbd8" - ], - [ - "SL.Heap.heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.heap", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "5a125aef9f4b99d25eb3df71fd76f520" - ], - [ - "SL.Heap.join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70fefc7872d5231a9fd0082008b159da", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "3a1663c23a6d46b54f5d5591864e26a8" - ], - [ - "SL.Heap.op_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.emp", - "equation_SL.Heap.memory", "equation_SL.Heap.ref", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_SL.Heap.emp", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "834f27e38a6c4005139806ea3ab1879c" - ], - [ - "SL.Heap.op_Less_Star_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6b418125b72aefd36aaef1ce74ab78bc", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "86ea0b1ce6f1d28080b70aad79997292" - ], - [ - "SL.Heap.split_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "01235f8611dd85946713a2fae510c5d4" - ], - [ - "SL.Heap.mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.memory", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5" - ], - 0, - "c744cf62c538b3900ece1adcd9e26469" - ], - [ - "SL.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e" - ], - 0, - "cf6c36738256ef2b2c206f3315882746" - ], - [ - "SL.Heap.upd'", - 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, - "1409d834c9b70d82c6d892dae1b5ef08" - ], - [ - "SL.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap", - "equation_SL.Heap.ref", "equation_SL.Heap.upd_", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", - "kinding_Prims.dtuple2@tok", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a00f056867a6c53206dd3d0b78768939", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.upd_", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" - ], - 0, - "1a463552d86ebf9ea6f1c9c22df8d237" - ], - [ - "SL.Heap.addrs_in", - 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, - "9b7f83b82d02d5579938bac2def47d82" - ], - [ - "SL.Heap.addrs_in", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5" - ], - 0, - "36e87343b7a3352b0ab2270289d27325" - ], - [ - "SL.Heap.lemma_disjoint_heaps_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.heap", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "72ff2c0ec76868de2496e6f6f6cd688f" - ], - [ - "SL.Heap.lemma_sep_defined_disjoint_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.emp", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "function_token_typing_SL.Heap.emp", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_SL.Heap_Tm_refine_df7ccf5ec74e07facebd04237c078b00", - "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater" - ], - 0, - "7b17a61e6cf8d7c8920cdad679305afc" - ], - [ - "SL.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1fb7c86fb4d4aa67430943ba8d7526c7" - ], - 0, - "2ff8a318f3bd046a7e1e23e19b32d49f" - ], - [ - "SL.Heap.lemma_join_comm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.equal_heaps", "equation_SL.Heap.heap", - "equation_SL.Heap.join", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" - ], - 0, - "a770ad8982ed08d2510298604a15c66c" - ], - [ - "SL.Heap.lemma_sep_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.emp", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e8160388fd5e10efdf90800c30b15103" - ], - [ - "SL.Heap.lemma_sep_unit'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.emp", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty_", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "fc505d65c8f8a5e69143a483fd924368" - ], - [ - "SL.Heap.lemma_sep_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", - "unit_typing" - ], - 0, - "af9bb24bc58e80bf049961708550efc3" - ], - [ - "SL.Heap.lemma_sep_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SL.Heap.addrs", - "equation_SL.Heap.emp", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.emp", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", - "unit_typing" - ], - 0, - "b167e9cf01550e4aa231444708b2f188" - ], - [ - "SL.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SL.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b9fc490d63b13942af94f1779cff7697" - ], - [ - "SL.Heap.lemma_sep_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.equal_memories", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.join", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.heap_memory", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3" - ], - 0, - "134d9b0dcbc2a2599e5911c306e5c063" - ], - [ - "SL.Heap.lemma_emp_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.emp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "2ccd959a97e750d089283f5514ba5c4e" - ], - [ - "SL.Heap.lemma_points_to_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.op_Bar_Greater", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "ac5aa0e51c85959074ffd3810eb65618" - ], - [ - "SL.Heap.lemma_sep_defined", - 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, - "c2e142009bcd8ebc3bf6d5ca2b93d348" - ], - [ - "SL.Heap.lemma_sep_defined", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SL.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_as_set_disjoint", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "2bb575efe82af439b6e43ac4e8db1fb5" - ], - [ - "SL.Heap.lemma_heap_memory_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.heap_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "413afb8a1ec2edab026458221319d04a" - ], - [ - "SL.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "38d21173fe8de68523999f015592e456" - ], - [ - "SL.Heap.lemma_split_heap_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SL.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.emp", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", - "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "lemma_SL.Heap.lemma_sep_defined", "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "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_SL.Heap.Mkheap_rec_hdomain", - "refinement_interpretation_Tm_refine_6b3967f3683e531dd905f8f1b3d42e9c", - "refinement_interpretation_Tm_refine_c08044871637bcfcc866937e97980f0c", - "typing_SL.Heap.split_heap" - ], - 0, - "bcd40728c99e73aa7a057f85c0a97d25" - ], - [ - "SL.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SL.Heap.heap", - "lemma_SL.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "ac9e948f87ccd3aa89cb135fdbabe244" - ], - [ - "SL.Heap.lemma_split_heap_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_88b8ba948f33c0d9643bd3c133c4f5b8", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.defined", "equation_SL.Heap.disjoint_heaps", - "equation_SL.Heap.equal_heaps", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.join", - "equation_SL.Heap.memory", "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_SL.Heap.lemma_sep_defined", - "lemma_SL.Heap.lemma_split_heap_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkheap_rec_next_addr", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkheap_rec_next_addr", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_4c1fd701e690cf2a5a3a25e801cc9623", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_af4a31bcdaf6a34225702751af7315e3", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "7ab310d92bdc17610415eb382e661898" - ], - [ - "SL.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8964e3c6496e99567300299711a67438" - ], - 0, - "b2dca1e378df4a7f40af4369eef598e4" - ], - [ - "SL.Heap.lemma_split_heap_memories", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SL.Heap.defined", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", - "equation_SL.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "lemma_SL.Heap.lemma_sep_defined", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8" - ], - 0, - "52a89a444fd7c4ed8310494aa1eda143" - ], - [ - "SL.Heap.lemma_hcontains_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "equation_SL.Heap.hcontains", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.mcontains", - "equation_SL.Heap.ref", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "l_quant_interp_4b180d27889299ba57e51a637611b1df", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "1bd7243328c52599fee01df598802a3a" - ], - [ - "SL.Heap.lemma_points_to_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.mcontains", "equation_SL.Heap.op_Bar_Greater", - "equation_SL.Heap.ref", "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_4b180d27889299ba57e51a637611b1df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "d37de2a3c9566c74f95ac0771751b549" - ], - [ - "SL.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "40e8c17450f1d682e8dc0472cc2ecf63" - ], - [ - "SL.Heap.lemma_points_to_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SL.Heap.hcontains", "equation_SL.Heap.heap_memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.sel", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_2f8fe94b2c458a766836e90e7d8009ac", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "8ee846d64e199c8fc5b72208c84543ce" - ], - [ - "SL.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ef6d751571fe6ed91411e86a5874795e" - ], - 0, - "52b0f5e06c13f742aaaf74b5e7638934" - ], - [ - "SL.Heap.lemma_points_to_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SL.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SL.Heap.equal_memories", "equation_SL.Heap.heap", - "equation_SL.Heap.heap_memory", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.upd", "equation_SL.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SL.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "interpretation_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkheap_rec_memory", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkheap_rec_hdomain", - "projection_inverse_SL.Heap.Mkheap_rec_memory", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_7b36ce3d00015f073eb8e2c72a8c233b", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_adb7e1662c7f3c1c9543dd72a758320e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SL.Heap.__proj__Mkheap_rec__item__memory", - "typing_SL.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "typing_Tm_abs_edeb95a7ae4b8d2428592eb1168d1d9a" - ], - 0, - "4d458f62bf7e005966ebf979b9379829" - ], - [ - "SL.Heap.lemma_addrs_in_emp", - 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, - "b3419d81e58d77c9ac9122f0ba970d4f" - ], - [ - "SL.Heap.lemma_addrs_in_emp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.emp", "equation_SL.Heap.memory", - "equation_SL.Heap.set", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.emp", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "9bd6fd6888eb7a07b00454146bfa2063" - ], - [ - "SL.Heap.Addrs_in_emp_axiom", - 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, - "83dd4d31ce643ef72a065a666d1d788f" - ], - [ - "SL.Heap.lemma_addrs_in_disjoint_heaps", - 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, - "5f52e0256156c70cfa13467c390e2a99" - ], - [ - "SL.Heap.lemma_addrs_in_disjoint_heaps", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.disjoint_heaps", "equation_SL.Heap.emp", - "equation_SL.Heap.heap", "equation_SL.Heap.heap_memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_as_set_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkheap_rec_hdomain", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_ee3e2ebec16a2937d614bc315f853bd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SL.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "224ce49bcfa5deffa42095903ae6f274" - ], - [ - "SL.Heap.lemma_addrs_in_points_to", - 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, - "c0821eb7a760e31bb44472d37e8ff4ea" - ], - [ - "SL.Heap.lemma_addrs_in_points_to", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addr_of", "equation_SL.Heap.addrs", - "equation_SL.Heap.addrs_in", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Bar_Greater", "equation_SL.Heap.ref", - "equation_SL.Heap.set", "function_token_typing_Prims.int", - "function_token_typing_SL.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addr_of", "typing_SL.Heap.addrs_in", - "typing_SL.Heap.op_Bar_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "d7abcd29064901ba1b28c42ec6a0fcd7" - ], - [ - "SL.Heap.lemma_addrs_in_join", - 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, - "5c2e552f6e6a48cddf52b4b866a538c9" - ], - [ - "SL.Heap.lemma_addrs_in_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SL.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SL.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SL.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SL.Heap.addrs", "equation_SL.Heap.addrs_in", - "equation_SL.Heap.defined", "equation_SL.Heap.memory", - "equation_SL.Heap.op_Less_Star_Greater", "equation_SL.Heap.set", - "fuel_guarded_inversion_SL.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_union", "lemma_SL.Heap.lemma_sep_defined", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SL.Heap.Mkmemory_rec_contents", - "proj_equation_SL.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SL.Heap.Mkmemory_rec_contents", - "projection_inverse_SL.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69e002a6d7e88ec1fc6dbdc0a08c68b5", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SL.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_SL.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SL.Heap.addrs_in", "typing_SL.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "19c12a22fdf541d391ab9ff6e5aec333" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SL.Shallow.fst.hints b/examples/old/seplogic/SL.Shallow.fst.hints deleted file mode 100644 index 5161a2dd4a7..00000000000 --- a/examples/old/seplogic/SL.Shallow.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "xL,@Ëö\u001fÐ\u0016’é‚\u0016s4", - [ - [ - "SL.Shallow.result", - 1, - 2, - 1, - [ - "@query", "function_token_typing_SL.Heap.heap", - "lemma_SL.Heap.lemma_heap_memory_defined", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "d5ffb1ae55cace9141b0bfea42f0aaeb" - ], - [ - "SL.Shallow.st", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_heap_memory_defined" ], - 0, - "2a3e51965cab7740adcb77ca2e3b040f" - ], - [ - "SL.Shallow.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SL.Heap.Emp_defined_axiom", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_82dd238f9e3df6821dcf6751e1414066" - ], - 0, - "09f8ed317a2c6a1ae0958bbb464a4686" - ], - [ - "SL.Shallow.frame_post", - 1, - 2, - 1, - [ "@query" ], - 0, - "d1d4af3c9802c877c22726acb9f29d94" - ], - [ - "SL.Shallow.frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.frame_post", "equation_SL.Shallow.frame_wp", - "equation_SL.Shallow.frame_wp0", "equation_SL.Shallow.frame_wp1", - "equation_SL.Shallow.result", "function_token_typing_SL.Heap.heap", - "lemma_SL.Heap.lemma_heap_memory_defined", - "lemma_SL.Heap.lemma_sep_defined_disjoint_heaps", - "lemma_SL.Heap.lemma_sep_join", - "lemma_SL.Heap.lemma_split_heap_memories", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_SL.Shallow_Tm_refine_291877c6f065e0434f8dbd18e9a801d4", - "refinement_interpretation_SL.Shallow_Tm_refine_f202c3bece3ea98e3a75871dd48defda", - "refinement_interpretation_SL.Shallow_Tm_refine_f5d1fe86e9889560fda58a792e34dab1", - "token_correspondence_SL.Shallow.frame_post", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "cd81fac3aff4d617fb1e4c3ecfb053ac" - ], - [ - "SL.Shallow.frame", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.frame_post", "equation_SL.Shallow.frame_wp", - "equation_SL.Shallow.frame_wp0", "equation_SL.Shallow.frame_wp1", - "equation_SL.Shallow.result", - "lemma_SL.Heap.lemma_sep_defined_disjoint_heaps", - "lemma_SL.Heap.lemma_sep_join", - "lemma_SL.Heap.lemma_split_heap_memories", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0c92bf4f6ec6efa7be14c23c10f7212d", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb", - "refinement_interpretation_Tm_refine_d3b761da87465f7ec1e915c612e36bae", - "token_correspondence_SL.Shallow.frame_post" - ], - 0, - "1ebc2f8d01adc5a93c6dfad7cdb91da7" - ], - [ - "SL.Shallow.bind_without_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_SL.Shallow_Tm_abs_3c97eacd6ad403f5530452e4f6a113d5", - "lemma_SL.Heap.lemma_heap_memory_defined", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_SL.Shallow_Tm_refine_f202c3bece3ea98e3a75871dd48defda" - ], - 0, - "cf1f8ffd354b03fff1eb04dc01f80fd4" - ], - [ - "SL.Shallow.bind_without_framing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_2f071a7cd8e24d9f8ae50793dbba304c", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" - ], - 0, - "ea59de66d0f947fe303ccf1a47dd3d7c" - ], - [ - "SL.Shallow.bind_with_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_SL.Shallow_Tm_abs_b8eebd8fc1d577449750dcc4ab82225d", - "lemma_SL.Heap.lemma_heap_memory_defined", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_SL.Shallow_Tm_refine_f202c3bece3ea98e3a75871dd48defda" - ], - 0, - "9ef8e93406abea135e40bdb3dc07855e" - ], - [ - "SL.Shallow.bind_with_framing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SL.Shallow.result", - "interpretation_Tm_abs_4895616847ca6e570cef0581acbe8194", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e44c71881652ca58447f78943e53aeb" - ], - 0, - "f11e4715c661317185d3d8f414bae342" - ], - [ - "SL.Shallow.read_without_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SL.Shallow.read_wp", - "interpretation_Tm_abs_0dedb0aee2b50e3020bbf5348f06326a", - "l_quant_interp_cac2adb9f0f6c19392d3bc9c79100e84", - "lemma_SL.Heap.lemma_hcontains_mcontains", - "lemma_SL.Heap.lemma_heap_memory_defined", - "lemma_SL.Heap.lemma_points_to_mcontains", - "lemma_SL.Heap.lemma_points_to_sel", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4a82ab3861d7f381deca786053e97199", - "token_correspondence_SL.Shallow.read_wp" - ], - 0, - "95a3f7f9d44f3c965191b35e4ba9c1c5" - ], - [ - "SL.Shallow.read_with_framing", - 1, - 2, - 1, - [ - "@query", "equation_SL.Shallow.frame_read_wp", - "interpretation_Tm_abs_bfd180a110d7871611cbd963b2de03d6", - "lemma_SL.Heap.lemma_heap_memory_defined", - "token_correspondence_SL.Shallow.frame_read_wp" - ], - 0, - "7d5ac4041029e8d74ed8417654a19bd7" - ], - [ - "SL.Shallow.write_wp", - 1, - 2, - 1, - [ "@query", "lemma_SL.Heap.lemma_points_to_defined" ], - 0, - "eea7a794411091f3e447a086047c2f4d" - ], - [ - "SL.Shallow.write_without_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_SL.Shallow.write_wp", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_c194400bf19bc7d54add5ee84377f811", - "l_quant_interp_c25bd1eac6b3bf57ea53810aadd53b8d", - "lemma_SL.Heap.lemma_hcontains_mcontains", - "lemma_SL.Heap.lemma_heap_memory_defined", - "lemma_SL.Heap.lemma_points_to_defined", - "lemma_SL.Heap.lemma_points_to_mcontains", - "lemma_SL.Heap.lemma_points_to_upd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_509d284b10ff0c2dac67e90bb5b17117", - "token_correspondence_SL.Shallow.write_wp", "unit_typing" - ], - 0, - "b3c5c5544a91dbdcef312d8f9eb73229" - ], - [ - "SL.Shallow.write_with_framing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_SL.Shallow.frame_write_wp", - "interpretation_Tm_abs_5ace3712fa394dbf57f498c4f25c2fac", - "lemma_SL.Heap.lemma_heap_memory_defined", - "token_correspondence_SL.Shallow.frame_write_wp", "unit_typing" - ], - 0, - "935f08a068b3fb05757aacb9e2564311" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SL.Tactics.fst.hints b/examples/old/seplogic/SL.Tactics.fst.hints deleted file mode 100644 index a8d034e5481..00000000000 --- a/examples/old/seplogic/SL.Tactics.fst.hints +++ /dev/null @@ -1,61 +0,0 @@ -[ - "\u0005î c\u0018ZÕ´¾\u0016K\u001fê\u001bú\u0016", - [ - [ - "SL.Tactics.repeat_step_select", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Types_pretyping_44d92714caae41c1068a904c983c4672", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Tactics.Result.Failed", - "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Tactics.Result.Failed@tok", - "data_typing_intro_FStar.Tactics.Result.Success@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.proofstate", - "function_token_typing_Prims.unit", - "lemma_FStar.Pervasives.invertOption", "unit_inversion", - "unit_typing" - ], - 0, - "cd6bcc565526a3804cd17c38b7b4231e" - ], - [ - "SL.Tactics.repeat_step_select", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Types_pretyping_44d92714caae41c1068a904c983c4672", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Tactics.Result.Failed", - "data_elim_FStar.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Tactics.Result.Failed@tok", - "data_typing_intro_FStar.Tactics.Result.Success@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.Result.__result", - "function_token_typing_FStar.Reflection.Types.term", - "function_token_typing_FStar.Tactics.Types.proofstate", - "function_token_typing_Prims.unit", - "lemma_FStar.Pervasives.invertOption", "unit_inversion", - "unit_typing" - ], - 0, - "48a520f6794858ba3330ebf3714a1330" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/SepLogic.Heap.fst.hints b/examples/old/seplogic/SepLogic.Heap.fst.hints deleted file mode 100644 index 09523dd8ad2..00000000000 --- a/examples/old/seplogic/SepLogic.Heap.fst.hints +++ /dev/null @@ -1,3212 +0,0 @@ -[ - ":Žõ€l=c\bÒÀ\u0018ò‘úü\f", - [ - [ - "SepLogic.Heap.addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6c908fb992a59a3a7a2fad8649f04c08" - ], - [ - "SepLogic.Heap.disjoint_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e4fa34f1b19594feca0cd876e20849e4" - ], - [ - "SepLogic.Heap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "03676d28b573a2435b4d9bd8e15d1ea6" - ], - [ - "SepLogic.Heap.equal_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "f2c3d82bc661465002b99f4dbeeb10a9" - ], - [ - "SepLogic.Heap.memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c774bd210176d7b61cbaa2085578243b" - ], - [ - "SepLogic.Heap.equal_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.Pervasives.invertOption", - "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "e7c39eb822ffc716e9c13c8ce30681f8" - ], - [ - "SepLogic.Heap.emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_empty", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "50c8030028a426d099036effe93fc543" - ], - [ - "SepLogic.Heap.heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "cff408188a804acadd44e51a0ac2c245" - ], - [ - "SepLogic.Heap.join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "7104a9c5690f2f047fb286a7adc9fe6c" - ], - [ - "SepLogic.Heap.op_Bar_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_SepLogic.Heap.emp", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "13c3861636753af4b8d08c450b5baf29" - ], - [ - "SepLogic.Heap.op_Less_Star_Greater", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_af6397698ca99b6b9c48641ebeafb87f", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "57c4a34d2bef03cf1d02524fd0228c8f" - ], - [ - "SepLogic.Heap.split_heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_3f6daa7509cdf8a400cf4b71976f6bdb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "033723cac7d567e1f51eca7285705478" - ], - [ - "SepLogic.Heap.mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.memory", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "673247ed76ec63fed1d44fd72eddd878" - ], - [ - "SepLogic.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949" - ], - 0, - "82ea0aea58972f49b874e5ed2dd97869" - ], - [ - "SepLogic.Heap.upd'", - 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, - "0e39cc86a256c7309f7d5eb1b1483f91" - ], - [ - "SepLogic.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_272063ade16224c167223e67361604ea", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SepLogic.Heap.upd_", - "typing_Tm_abs_272063ade16224c167223e67361604ea", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "ac2fc00c21780ad966971a6510c3c811" - ], - [ - "SepLogic.Heap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "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_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "88dbe1b3ce088d9d08efbce1abdf66fe" - ], - [ - "SepLogic.Heap.dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_24658d42fec6b0f7471ec9ecf4811c10", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "ed30c9b422cddfc678bd0ddab5bd58d5" - ], - [ - "SepLogic.Heap.addrs_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "fda8b98bd264e2e721054210b4444eb2" - ], - [ - "SepLogic.Heap.addr_to_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cd6b6b750686c1d2bf01904bd67264b1" - ], - [ - "SepLogic.Heap.addr_to_ref", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "35c94288ccdd8db107d21decd7834943" - ], - [ - "SepLogic.Heap.addr_to_ref", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a2e6c059393edf822b14bdef2ac1275e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66" - ], - 0, - "5ecac9788e31b550b593576bb533b01e" - ], - [ - "SepLogic.Heap.fresh_or_old'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "398e4716c426276c0082f85171ad0aa2" - ], - [ - "SepLogic.Heap.restrict_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_588daa1dd0f6af715ac1a9e9da44d2aa", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "5d290080b2da43e8daf0a852c806484a" - ], - [ - "SepLogic.Heap.complement_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.memory", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_8a0007e601fa514fc5c4d238a7cb8918", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_minus_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "3ad5db013960c9c2c60ec7022faa358e" - ], - [ - "SepLogic.Heap.lemma_disjoint_heaps_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.heap", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "f10e4ecfbdd67741f93cbc79cff481a2" - ], - [ - "SepLogic.Heap.lemma_sep_defined_disjoint_heaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "function_token_typing_SepLogic.Heap.emp", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "8f75ead9054ab8ef070f21cbf316abab" - ], - [ - "SepLogic.Heap.lemma_join_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ce314f00cf610690e479d1c99e9cd77" - ], - 0, - "bb46deac1a4f08d81a48f24690862ee1" - ], - [ - "SepLogic.Heap.lemma_join_comm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_heaps", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.join", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "2378b6ea9975707d9f2833cebc94c467" - ], - [ - "SepLogic.Heap.lemma_sep_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.union_comm", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "37d0ceefc15ff3ebb52a1ccc56e2db7d" - ], - [ - "SepLogic.Heap.lemma_sep_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", "unit_inversion", - "unit_typing" - ], - 0, - "2ee20fdb904340e447215bb2741d6e5f" - ], - [ - "SepLogic.Heap.lemma_sep_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_intersect_union_empty", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", "unit_inversion", - "unit_typing" - ], - 0, - "fe083f8ab0e04861a2fd1881ae100ca4" - ], - [ - "SepLogic.Heap.lemma_sep_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.disjoint_heaps", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "aa4679468668b03940193934bc20af96" - ], - [ - "SepLogic.Heap.lemma_sep_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", - "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "0589948d4523b43bbb011d6245b577df" - ], - [ - "SepLogic.Heap.lemma_emp_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "459db9dd0fae24d75148a96418819d44" - ], - [ - "SepLogic.Heap.lemma_points_to_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.op_Bar_Greater", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "19ca3279e4fb37dbbf381c277ffed3d5" - ], - [ - "SepLogic.Heap.lemma_sep_defined", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4cb9d52a4ade157447adae2a6005462d", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "15151401ebdb17022797d35c5f4b3745" - ], - [ - "SepLogic.Heap.lemma_heap_memory_defined", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.heap_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "82d0499e19d3c5ed9f91dd424ce9e9bc" - ], - [ - "SepLogic.Heap.lemma_split_heap_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "c28b5abeef84bb845b7a94512300df29" - ], - [ - "SepLogic.Heap.lemma_split_heap_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "function_token_typing_SepLogic.Heap.emp", - "lemma_SepLogic.Heap.lemma_sep_defined", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98" - ], - 0, - "8cd07f5761e15151bf645f2cd0120c89" - ], - [ - "SepLogic.Heap.lemma_split_heap_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_SepLogic.Heap.heap", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "f325ee5d10ae58376c75377ffc772214" - ], - [ - "SepLogic.Heap.lemma_split_heap_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "SepLogic.Heap_interpretation_Tm_arrow_d0d8822060b46f721919ba89c530de4a", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.equal_heaps", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.join", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "int_inversion", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_sep_defined", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93c27569d40ce8a0af4d780215e32e57", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "230dda30afa1cd12d007a712c3064c35" - ], - [ - "SepLogic.Heap.lemma_split_heap_memories", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "be345f5b14d10c954aed0db589f33793" - ], - [ - "SepLogic.Heap.lemma_split_heap_memories", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "lemma_SepLogic.Heap.lemma_sep_defined", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a" - ], - 0, - "f4a094fa79f9a0370c55668e2d44f36a" - ], - [ - "SepLogic.Heap.lemma_split_heap_fresh", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9227821bf320353ff05f011109379ac7" - ], - 0, - "ed84dd6952a84cf98eb9cd158a394b73" - ], - [ - "SepLogic.Heap.lemma_split_heap_fresh", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.split_heap", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" - ], - 0, - "5ebd81449ded51d2337aaa29e0f7fe53" - ], - [ - "SepLogic.Heap.lemma_hcontains_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Prims.nat", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.mcontains", "equation_SepLogic.Heap.ref", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", "l_quant_interp_c6ff21a328d747858937992078d27540", - "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents" - ], - 0, - "1b09d7a5588f7553b118b7653a207890" - ], - [ - "SepLogic.Heap.lemma_points_to_mcontains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.mcontains", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_fbea5c33099c8a27f1f3850aff807417", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "60d1b0f5ee1dfe4befee7772b7bb7195" - ], - [ - "SepLogic.Heap.lemma_points_to_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "c39ab61b8d10b16ab18245b1e49e5ec7" - ], - [ - "SepLogic.Heap.lemma_points_to_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e9eb36a9d01c3c7bf0f95922242fe832" - ], - [ - "SepLogic.Heap.lemma_points_to_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9010869a854e69187fe9f52535f03709" - ], - 0, - "43298f6289c871a0b4e60a2014666141" - ], - [ - "SepLogic.Heap.lemma_points_to_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.logical", "equation_Prims.nat", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.upd", - "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_272063ade16224c167223e67361604ea", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_7e4a8ed08d725cfa1fecce33cbb88b76", - "refinement_interpretation_Tm_refine_a6e575a972a01ed57587387f1bee9949", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_272063ade16224c167223e67361604ea", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "461b33517974869dd245f2411423e0c9" - ], - [ - "SepLogic.Heap.lemma_alloc_fresh", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.heap", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "5d932d4c9bae87bd44e17f0f2c53990e" - ], - [ - "SepLogic.Heap.lemma_alloc_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "e5a0eb81b5c6de05d859fc216c1f5432" - ], - [ - "SepLogic.Heap.lemma_alloc_sel", - 1, - 2, - 1, - [ - "@query", "equation_SepLogic.Heap.heap", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "443de70f0e7a575cd2987e3a4fe4b9a5" - ], - [ - "SepLogic.Heap.lemma_alloc_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_SepLogic.Heap.alloc", "equation_SepLogic.Heap.hcontains", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.sel", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "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_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "b8737df44bc5c8532f3abd104226c7b6" - ], - [ - "SepLogic.Heap.lemma_alloc_heap_memory", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.ref", "equation_SepLogic.Heap.sel", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "lemma_SepLogic.Heap.lemma_alloc_sel", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_3648a430f9e91e4877dd1a9e9cc4b520", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "9c052f5e1155b7948e29e64b954a0548" - ], - [ - "SepLogic.Heap.lemma_fresh_in_complement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cebc7a991072ca645470e38bcc9d52ef" - ], - [ - "SepLogic.Heap.lemma_fresh_in_complement", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.fresh", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8" - ], - 0, - "eac1ef67e58d46a4bcf112c1fc5d311d" - ], - [ - "SepLogic.Heap.lemma_fresh_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d89caf7222991e820ed484a984640241" - ], - 0, - "5bbcff913ecb938bd977358970534597" - ], - [ - "SepLogic.Heap.lemma_fresh_join", - 2, - 2, - 1, - [ - "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.join", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr" - ], - 0, - "7ff5ec51ae2ea7f05ec34a24d614cc25" - ], - [ - "SepLogic.Heap.lemma_dealloc_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f2073c5166b17039528a8e97b35ec8b6" - ], - [ - "SepLogic.Heap.lemma_dealloc_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_SepLogic.Heap.dealloc", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "int_inversion", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4" - ], - 0, - "0791b187a7dfe8712a2acf7f8dd1d412" - ], - [ - "SepLogic.Heap.lemma_points_to_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3ca41d1fbe04308df6a0284336759762" - ], - 0, - "048171084cfb787765234770231ade82" - ], - [ - "SepLogic.Heap.lemma_points_to_dealloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.dealloc", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Bar_Greater", - "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "interpretation_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "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_Prims.Mkdtuple2__2", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_memory", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_11b0fe6faa8fba8ec3b4fabed1911ca3", - "typing_Tm_abs_1ec7ded6e99546888e65c66a4224217f", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "24919e01758c291ae63443f8fadf1d50" - ], - [ - "SepLogic.Heap.lemma_addrs_in_emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3efb9eb59cac3118f742889dab452af9" - ], - [ - "SepLogic.Heap.lemma_addrs_in_emp", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.emp", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "ddca68b7773ebed90877f08a27dfdac2" - ], - [ - "SepLogic.Heap.Addrs_in_emp_axiom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d5c1078aa83223014fe75d4e9cca287e" - ], - [ - "SepLogic.Heap.lemma_addrs_in_disjoint_heaps", - 1, - 2, - 1, - [ - "@query", "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.heap_memory", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "159c0f6c164f31f942315077122c4f58" - ], - [ - "SepLogic.Heap.lemma_addrs_in_points_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f4a68b7d7d403200342a8c42b99ce2a2" - ], - [ - "SepLogic.Heap.lemma_addrs_in_points_to", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.op_Bar_Greater", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain" - ], - 0, - "8c8bdabe5f88547019c5eb417c160627" - ], - [ - "SepLogic.Heap.lemma_addrs_in_join", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2193462ac3c2d79ac3abc5b99fc64683" - ], - [ - "SepLogic.Heap.lemma_addrs_in_join", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "function_token_typing_SepLogic.Heap.emp", - "lemma_SepLogic.Heap.lemma_sep_defined", - "primitive_Prims.op_Equality", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98" - ], - 0, - "0ae825faf3e5701e42c34585a57f33cf" - ], - [ - "SepLogic.Heap.lemma_addr_to_ref_addr_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e3da0bdd197d8e39bf43c3e45a24f0f" - ], - 0, - "b0a6ddcef1602ae7a5aec4dbcfbc8d78" - ], - [ - "SepLogic.Heap.lemma_addr_to_ref_addr_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.dsnd", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addr_to_ref", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a2e6c059393edf822b14bdef2ac1275e", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "typing_SepLogic.Heap.addr_to_ref" - ], - 0, - "a7dc55dab02803fb36ac013b2c7e32fa" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9b21d32ad8f56dda69a0961e369a9d22" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp" - ], - 0, - "989688c1a3e08e80f011077c7b6f0d5d" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.defined", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "522df44a13c7e90774c5e544f05d9c92" - ], - [ - "SepLogic.Heap.lemma_restrict_complement_sep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_SepLogic.Heap.Emp_defined_axiom", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkmemory_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.equal_memories", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "function_token_typing_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_3b0c96ba9e647c2b0bae460412d0b16e", - "interpretation_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "interpretation_Tm_abs_776cc65dbfeca6876173819b494db58d", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.lemma_minus_mem", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_restrict_complement_disjoint", - "lemma_SepLogic.Heap.lemma_sep_defined", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.minus", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", - "typing_Tm_abs_3b0c96ba9e647c2b0bae460412d0b16e", - "typing_Tm_abs_6e6f6951b6964d115857cc210b9736c5", - "typing_Tm_abs_776cc65dbfeca6876173819b494db58d", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "3d2bf0a2dd325cd768c3bd8926ef84fb" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.memory", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_unit", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "75f02d168ae910e9bd55b733abe2150c" - ], - [ - "SepLogic.Heap.exists_intro_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "87e6ead97b0dd4b91da79bcbcf502f0a" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.complement_memory", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.ref", - "equation_SepLogic.Heap.restrict_memory", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "fuel_guarded_inversion_SepLogic.Heap.memory_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_edec548b9ac8380ce1ee11fe7c219297", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_minus_mem", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_heap_memory_defined", - "lemma_SepLogic.Heap.lemma_restrict_complement_sep", - "lemma_SepLogic.Heap.lemma_sep_assoc", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "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_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_168ee5ac033b8a71276e9c97b163eaed", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkmemory_rec__item__domain", - "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.complement_memory", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_SepLogic.Heap.restrict_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "075f8f4dd8305a26e224df047858e552" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_SepLogic.Heap.defined", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_SepLogic.Heap.emp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_SepLogic.Heap_Tm_refine_a149d215288b57918bc85e2e7d9efb98", - "refinement_interpretation_SepLogic.Heap_Tm_refine_b6d19cc943546da1d666395806a8c68f" - ], - 0, - "735794b70b95f5e3ef1dbd5d437b9563" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.heap", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "refinement_interpretation_SepLogic.Heap_Tm_refine_b6d19cc943546da1d666395806a8c68f" - ], - 0, - "a176d36496a0c1605f363bd974a4989d" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_disjoint'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "SepLogic.Heap_interpretation_Tm_arrow_1486644300f12d6a82b0741645ed2191", - "SepLogic.Heap_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_SepLogic.Heap.Addrs_in_emp_axiom", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_SepLogic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.logical", - "equation_Prims.nat", "equation_SepLogic.Heap.addr_of", - "equation_SepLogic.Heap.addr_to_ref", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "equation_SepLogic.Heap.same_freshness", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "function_token_typing_Prims.logical", - "function_token_typing_SepLogic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "interpretation_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "interpretation_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_lemma", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_subset", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.union_comm", - "lemma_SepLogic.Heap.lemma_addr_to_ref_addr_of", - "lemma_SepLogic.Heap.lemma_addrs_in_disjoint_heaps", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_fresh_in_complement", - "lemma_SepLogic.Heap.lemma_heap_memory_defined", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_memory", - "proj_equation_SepLogic.Heap.Mkmemory_rec_contents", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_contents", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SepLogic.Heap.__proj__Mkmemory_rec__item__contents", - "typing_FStar.OrdSet.mem", "typing_FStar.Pervasives.dfst", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.emp", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_93e14b647e5b70664580b7edd33040b4", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "typing_Tm_abs_e8508738f3611ef2f0f0a25d53a7fccc" - ], - 0, - "ab5201ffe723fa178199825f4a4bbe84" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_disjoint", - 1, - 2, - 1, - [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], - 0, - "19caf5ecc44854c287f96881c8378b66" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.defined", - "equation_SepLogic.Heap.disjoint_heaps", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.join", "equation_SepLogic.Heap.memory", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "equation_SepLogic.Heap.same_freshness", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "kinding_SepLogic.Heap.memory_rec@tok", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", - "lemma_SepLogic.Heap.lemma_addrs_in_join", - "lemma_SepLogic.Heap.lemma_fresh_join", - "lemma_SepLogic.Heap.lemma_sep_assoc", - "lemma_SepLogic.Heap.lemma_sep_join", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_93b5b8a7162ca993b1495714116642ed", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_aad1f6e8a33364537544ed37bf4d7e8a", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_f2456f6cf7f388b113bde9091a720c80", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.addrs_in", "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.join", - "typing_SepLogic.Heap.op_Less_Star_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "19c5d6e8d1d06eb4c0b0bd374393eb01" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_SepLogic.Heap.fresh_or_old", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.join", - "equation_SepLogic.Heap.op_Less_Star_Greater", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_f2456f6cf7f388b113bde9091a720c80", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Less_Star_Greater" - ], - 0, - "ca0926a35d8b8c84a334e70d325e615c" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep'''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31b69649528a54845e9c3b16d5f4a031" - ], - 0, - "106279cd47449ae2100d714db9255bb1" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep''''", - 1, - 2, - 1, - [ "@query", "equation_SepLogic.Heap.fresh_or_old" ], - 0, - "f7a636f1dbdf117e6a809bebe209167d" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint", - "refinement_interpretation_Tm_refine_7c392019177ddd4bddb886ad6b822e30" - ], - 0, - "cab2343b7ffee73e1eeefa8d637c48dc" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_sep", - 2, - 2, - 1, - [ "@query", "lemma_SepLogic.Heap.lemma_fresh_or_old_disjoint" ], - 0, - "034039bb7f58888bdff69eff9b096df8" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addr_of", "equation_SepLogic.Heap.addrs", - "equation_SepLogic.Heap.addrs_in", "equation_SepLogic.Heap.alloc", - "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.hcontains", "equation_SepLogic.Heap.heap", - "equation_SepLogic.Heap.heap_memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "l_quant_interp_c6ff21a328d747858937992078d27540", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", - "lemma_SepLogic.Heap.lemma_addrs_in_points_to", - "lemma_SepLogic.Heap.lemma_alloc_contains", - "lemma_SepLogic.Heap.lemma_alloc_heap_memory", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "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_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.heap_memory", - "typing_SepLogic.Heap.op_Bar_Greater", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "586c2daa657c28068235dba2eb9a47ef" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_dealloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b2cb5fa5557969dfecafe76169fe34c6" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_dealloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "assumption_SepLogic.Heap.Emp_defined_axiom", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.dealloc", "equation_SepLogic.Heap.emp", - "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.ref", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_defined", - "lemma_SepLogic.Heap.lemma_sep_unit", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", "typing_SepLogic.Heap.heap_memory", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "6ddb25b25a42de6ccb175f251af91de6" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "equation_SepLogic.Heap.hcontains", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "50a22c5a871388c630345853beffa15f" - ], - [ - "SepLogic.Heap.lemma_fresh_or_old_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "SepLogic.Heap_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_SepLogic.Heap.addrs", "equation_SepLogic.Heap.addrs_in", - "equation_SepLogic.Heap.emp", "equation_SepLogic.Heap.fresh", - "equation_SepLogic.Heap.fresh_or_old", - "equation_SepLogic.Heap.fresh_or_old_", - "equation_SepLogic.Heap.heap", "equation_SepLogic.Heap.heap_memory", - "equation_SepLogic.Heap.memory", "equation_SepLogic.Heap.upd", - "equation_SepLogic.Heap.upd_", - "fuel_guarded_inversion_SepLogic.Heap.heap_rec", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_07a6464fe89c25862436efa9584a8221", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", - "lemma_SepLogic.Heap.lemma_sep_unit", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_SepLogic.Heap.Mkheap_rec_hdomain", - "proj_equation_SepLogic.Heap.Mkheap_rec_next_addr", - "proj_equation_SepLogic.Heap.Mkmemory_rec_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_SepLogic.Heap.Mkheap_rec_hdomain", - "projection_inverse_SepLogic.Heap.Mkheap_rec_next_addr", - "projection_inverse_SepLogic.Heap.Mkmemory_rec_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94c8b4e29ca3b43f4f22e6b74e50acd8", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SepLogic.Heap.__proj__Mkheap_rec__item__hdomain", - "typing_SepLogic.Heap.addr_of", "typing_SepLogic.Heap.addrs_in", - "typing_SepLogic.Heap.emp", - "typing_Tm_abs_07a6464fe89c25862436efa9584a8221" - ], - 0, - "e9fc862090543cf5c3463c76a02a426e" - ] - ] -] \ No newline at end of file diff --git a/examples/old/seplogic/Shallow.fst.hints b/examples/old/seplogic/Shallow.fst.hints deleted file mode 100644 index 86630ae2804..00000000000 --- a/examples/old/seplogic/Shallow.fst.hints +++ /dev/null @@ -1,280 +0,0 @@ -[ - "ŠëÈQA\u0005Zï9\u001fÐcÓ\u0012¤¢", - [ - [ - "Shallow.return_without_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c15de0bf63fcbf1efce8ed72c9caa328" - ], - 0, - "7644e77e194cb2bdc97b4c708b378ec3" - ], - [ - "Shallow.return_with_binding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b816ea8bfa17eb23079925b2ed282652" - ], - 0, - "7079e8c82fcbad985e97ed3076acfa6c" - ], - [ - "Shallow.frame_post", - 1, - 2, - 1, - [ "@query", "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps" ], - 0, - "91575626cd078ccce0038da6de77ded0" - ], - [ - "Shallow.frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_SepLogic.Heap.same_freshness", - "equation_Shallow.frame_post", "equation_Shallow.frame_wp", - "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", - "equation_Shallow.memory", "equation_Shallow.result", - "interpretation_Tm_abs_6e0464fbbceb86e820a9ae0b43d8804a", - "l_and-interp", - "lemma_SepLogic.Heap.lemma_sep_defined_disjoint_heaps", - "lemma_SepLogic.Heap.lemma_split_heap_disjoint", - "lemma_SepLogic.Heap.lemma_split_heap_fresh", - "lemma_SepLogic.Heap.lemma_split_heap_join", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_a945cf7414fd7329854bb78706efd6f4", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "token_correspondence_Shallow.frame_post" - ], - 0, - "9433f15fee05f67fe43b57a9c80ce645" - ], - [ - "Shallow.bind_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.result", - "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_9342b712d4240d161dcba503801217f5", - "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_fbc4fe226cb0b6d20b3d1aaaf7927f94", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "957e775e49a38fd8b96a564c2f7fe3fc" - ], - [ - "Shallow.bind_with_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.frame_wp", - "equation_Shallow.frame_wp0", "equation_Shallow.frame_wp1", - "equation_Shallow.memory", "equation_Shallow.result", - "function_token_typing_SepLogic.Heap.heap", - "interpretation_Tm_abs_b64377a92bf1b049d854307937bc869a", - "lemma_SepLogic.Heap.lemma_fresh_or_old_trans", - "lemma_SepLogic.Heap.lemma_split_heap_join", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_067f08ac15c16cd8c8a844eeb6bf5e44", - "refinement_interpretation_Tm_refine_48961450ce4611448af20028be1896b4", - "refinement_interpretation_Tm_refine_cf4415d610d600af1048427bfcfa1c66", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "7503a2c841a842a7909df6ec85990820" - ], - [ - "Shallow.read_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "lemma_SepLogic.Heap.lemma_fresh_or_old_refl", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_sel", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_56e0921215b643bb9fea9a5885ab2822" - ], - 0, - "e596af9a694296f70c63a02d00f295b4" - ], - [ - "Shallow.read_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_read_wp", - "interpretation_Tm_abs_2398a767c193125e550ea99c5ad41ec7", - "token_correspondence_Shallow.frame_read_wp" - ], - 0, - "987992097913077de1a4a7cfc86e88ce" - ], - [ - "Shallow.write_wp", - 1, - 0, - 0, - [ - "@query", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains" - ], - 0, - "4e6ee7549f3248932c7f2555665b3c1d" - ], - [ - "Shallow.write_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Shallow.write_wp", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_275bcb84b921dbe44fde4cd857be44d0", - "l_quant_interp_9e834801558423faada732bb40e6b223", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_5e99206eb2d2314ef45c2d691c216691", - "token_correspondence_Shallow.write_wp", "unit_typing" - ], - 0, - "93a5d367ed35209e4ba507312ae395e2" - ], - [ - "Shallow.write_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_write_wp", - "interpretation_Tm_abs_fd6dd5a324e4a5b648ad57adfedbad4b", - "token_correspondence_Shallow.frame_write_wp" - ], - 0, - "6ed6eaded15033d457f6fb76fbedebb1" - ], - [ - "Shallow.alloc_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_Shallow.alloc_wp", - "interpretation_Tm_abs_3ba7b2beb065a2aa930b380fcbfab6d3", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5525ec57502e90f03b508b741050684b", - "token_correspondence_Shallow.alloc_wp" - ], - 0, - "b94fc09832d28c62dee443972a4f5ab4" - ], - [ - "Shallow.alloc_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_alloc_wp", - "interpretation_Tm_abs_f9b1edca76f479091cc187dda5813d58", - "token_correspondence_Shallow.frame_alloc_wp" - ], - 0, - "08368055c05ef33e018f3c6257517c97" - ], - [ - "Shallow.dealloc_wp", - 1, - 0, - 0, - [ - "@query", "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains" - ], - 0, - "4cd70d506c395a4edb1995ab4d10fedc" - ], - [ - "Shallow.dealloc_without_framing", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.l_Exists", - "equation_Prims.squash", "equation_Shallow.dealloc_wp", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_3fd9a3886c9bd3b4f5921534b6dd028b", - "l_quant_interp_826a67dae3d5d3945dfe8d633be82380", - "lemma_SepLogic.Heap.lemma_hcontains_mcontains", - "lemma_SepLogic.Heap.lemma_points_to_mcontains", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6ae2ef771fd19e71479553ff1fc1d19b", - "token_correspondence_Shallow.dealloc_wp", "unit_typing" - ], - 0, - "ca5eb033231ac869ae2e1e0f2d2accd1" - ], - [ - "Shallow.dealloc_with_framing", - 1, - 0, - 0, - [ - "@query", "equation_Shallow.frame_dealloc_wp", - "interpretation_Tm_abs_471ffa5278759f731dca1678e22f43aa", - "token_correspondence_Shallow.frame_dealloc_wp" - ], - 0, - "5f0d596fb190a665967999affcd7c74a" - ] - ] -] \ No newline at end of file diff --git a/examples/old/tls-record-layer/LowCProvider/Makefile b/examples/old/tls-record-layer/LowCProvider/Makefile index 5e08a8936df..c31d57c756f 100644 --- a/examples/old/tls-record-layer/LowCProvider/Makefile +++ b/examples/old/tls-record-layer/LowCProvider/Makefile @@ -1,5 +1,5 @@ FSTAR_HOME = ../../.. -CONTRIB=ucontrib +CONTRIB=contrib PLATFORM = $(FSTAR_HOME)/$(CONTRIB)/Platform/ml CORECRYPTO = $(FSTAR_HOME)/$(CONTRIB)/CoreCrypto/ml INCLUDE=-package batteries,zarith -I $(PLATFORM) -I $(CORECRYPTO) diff --git a/examples/old/tls-record-layer/Makefile b/examples/old/tls-record-layer/Makefile index 55209d4ef3c..bf4a67cf2bf 100644 --- a/examples/old/tls-record-layer/Makefile +++ b/examples/old/tls-record-layer/Makefile @@ -177,13 +177,13 @@ chacha-aead-test: chacha-aead-compile ./test_chacha_aead.exe bignum-ver: - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part1.fst --include crypto - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part2.fst --include crypto - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part3.fst --include crypto - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part4.fst --include crypto - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part5.fst --include crypto - $(FSTAR) --use_hints crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part6.fst --include crypto - $(FSTAR) --use_hints --include crypto crypto/Crypto.Symmetric.Poly1305.Bignum.fst + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part1.fst --include crypto + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part2.fst --include crypto + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part3.fst --include crypto + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part4.fst --include crypto + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part5.fst --include crypto + $(FSTAR) --ext context_pruning crypto/Crypto.Symmetric.Poly1305.Bignum.Lemmas.Part6.fst --include crypto + $(FSTAR) --ext context_pruning --include crypto crypto/Crypto.Symmetric.Poly1305.Bignum.fst KRML_INCLUDES=$(addprefix -I ,spartan_aes crypto $(KRML_HOME)/krmllib $(KRML_HOME)/test) ifeq ($(OS),Windows_NT) @@ -328,7 +328,7 @@ ocaml-test.exe: ocaml-test-extract $(OCAMLOPT) -I tmp -I crypto/ml -I $(AEAD_ODIR) $(OCAML_FILES) -o ocaml-test.exe ./ocaml-test.exe -OPENSSL_HOME=../../ucontrib/CoreCrypto/ml/openssl +OPENSSL_HOME=../../contrib/CoreCrypto/ml/openssl #OPENSSL_HOME=/usr/local/Cellar/openssl\@1.1/1.1.0c #CC=gcc-6 diff --git a/examples/old/tls-record-layer/README.md b/examples/old/tls-record-layer/README.md index 20a35ea510d..df6504031ea 100644 --- a/examples/old/tls-record-layer/README.md +++ b/examples/old/tls-record-layer/README.md @@ -1,4 +1,4 @@ To compile a 32-bit version of OpenSSL and run the tests in 32-bit mode: -jonathan@chartreuse:~/Code/fstar/ucontrib/CoreCrypto/ml/openssl ((174ec01...)) $ KERNEL_BITS=32 ./config no-asm -m32 +jonathan@chartreuse:~/Code/fstar/contrib/CoreCrypto/ml/openssl ((174ec01...)) $ KERNEL_BITS=32 ./config no-asm -m32 jonathan@chartreuse:~/Code/fstar/examples/low-level (c_record_aead) $ make test-perf.exe CFLAGS=-m32 KOPTS="-ccopt -m32" -B diff --git a/examples/old/tls-record-layer/crypto/Makefile b/examples/old/tls-record-layer/crypto/Makefile index 02fce713ebd..3310c38bd6b 100644 --- a/examples/old/tls-record-layer/crypto/Makefile +++ b/examples/old/tls-record-layer/crypto/Makefile @@ -2,9 +2,7 @@ FSTAR_HOME=../../.. FSTAR?=$(FSTAR_HOME)/bin/fstar.exe -HINTS_ENABLED?=--use_hints - -OPTIONS=--fstar_home $(FSTAR_HOME) --max_fuel 4 --initial_fuel 0 --max_ifuel 2 --initial_ifuel 0 --z3rlimit 20 $(HINTS_ENABLED) $(OTHERFLAGS) +OPTIONS=--fstar_home $(FSTAR_HOME) --max_fuel 4 --initial_fuel 0 --max_ifuel 2 --initial_ifuel 0 --z3rlimit 20 --ext context_pruning $(OTHERFLAGS) FSTAR_INCLUDE_PATHS=--include $(FSTAR_HOME)/ulib/hyperstack --include hacl diff --git a/examples/oplss2021/OPLSS2021.Basic.fst.hints b/examples/oplss2021/OPLSS2021.Basic.fst.hints deleted file mode 100644 index 6807e925299..00000000000 --- a/examples/oplss2021/OPLSS2021.Basic.fst.hints +++ /dev/null @@ -1,435 +0,0 @@ -[ - "=bBKœw¤½%LÖ³oÙxñ", - [ - [ - "OPLSS2021.Basic.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_0", - "equation_OPLSS2021.Basic.nat", "int_inversion", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "46767edc87bc12c0bac9212dbe37a82d" - ], - [ - "OPLSS2021.Basic.factorial_increasing", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Basic.factorial.fuel_instrumented", - "@fuel_irrelevance_OPLSS2021.Basic.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_0", - "equation_OPLSS2021.Basic.nat", - "equation_with_fuel_OPLSS2021.Basic.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_OPLSS2021.Basic.factorial.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "0480a7b122e238911d5c73849c638400" - ], - [ - "OPLSS2021.Basic.factorial_increasing_lemma", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Basic.factorial.fuel_instrumented", - "@fuel_irrelevance_OPLSS2021.Basic.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_0", - "equation_OPLSS2021.Basic.nat", - "equation_with_fuel_OPLSS2021.Basic.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS2021.Basic.factorial", "well-founded-ordering-on-nat" - ], - 0, - "0e923f16b2b7e111b02090e97d83fe9a" - ], - [ - "OPLSS2021.Basic.factorial_increasing_lemma'", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Basic.factorial.fuel_instrumented", - "@fuel_irrelevance_OPLSS2021.Basic.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_ae567c2fb75be05905677af440075565_0", - "equation_OPLSS2021.Basic.nat", "equation_Prims.squash", - "equation_with_fuel_OPLSS2021.Basic.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS2021.Basic.factorial", "well-founded-ordering-on-nat" - ], - 0, - "69d1af191edaeec7d9318aa8c881141c" - ], - [ - "OPLSS2021.Basic.factorial_increasing_lemma'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2036e17b3e119c4bb85d4f2acf718b3c" - ], - [ - "OPLSS2021.Basic.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "90582494863c5740fe58846f26d5e3ae" - ], - [ - "OPLSS2021.Basic.test0", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Basic.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_OPLSS2021.Basic.map.fuel_instrumented", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b0ccd7de28a6672e541735f7bc00b394", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_OPLSS2021.Basic.map.fuel_instrumented", - "typing_OPLSS2021.Basic.map", "typing_Prims.int", - "typing_Tm_abs_b0ccd7de28a6672e541735f7bc00b394" - ], - 0, - "96942668a4af76a7d1c2c62da47b0df8" - ], - [ - "OPLSS2021.Basic.string_or_int", - 1, - 2, - 1, - [ "@query", "int_typing", "string_typing" ], - 0, - "c1828729633e314500a8f91bab6d3506" - ], - [ - "OPLSS2021.Basic.vector", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Basic.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e0f69aa85938c20c0834dcaa84b65432" - ], - [ - "OPLSS2021.Basic.vector", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Basic.nat", - "equation_Prims.eqtype", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "8a0b432c6a29dae097e8a71fbcf57b28" - ], - [ - "OPLSS2021.Basic.__proj__VCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" - ], - 0, - "784c0ed4d36a8f1483cfd610d0aaef75" - ], - [ - "OPLSS2021.Basic.__proj__VCons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" - ], - 0, - "32bc9ca2dd8a10bd7ad955ed3c482b83" - ], - [ - "OPLSS2021.Basic.__proj__VCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_OPLSS2021.Basic.VCons", - "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" - ], - 0, - "1de518714a88dfd30c2cb8093f3cad52" - ], - [ - "OPLSS2021.Basic.head'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_OPLSS2021.Basic.VCons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_890c02a0912261dc6c18398823d22009" - ], - 0, - "c342c1b9a6b312a1dac1f894cd9fa48b" - ], - [ - "OPLSS2021.Basic.head''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_263701cd9f084b3ec0fd74e628d41dfc" - ], - 0, - "43e44152d8f7a0ef48b831072a709ee1" - ], - [ - "OPLSS2021.Basic.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_OPLSS2021.Basic.VCons", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e6a49b520963ae8c566589b9e4cccaaa" - ], - 0, - "0e0badd0e69ab0f723cc35c80b09ef13" - ], - [ - "OPLSS2021.Basic.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_2", - "binder_x_59caba79a87f26fe6572c59f5ef813ab_4", - "binder_x_e41574b79a2c087c0eb90f866ef2310e_3", - "disc_equation_OPLSS2021.Basic.VCons", - "equation_OPLSS2021.Basic.nat", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_OPLSS2021.Basic.VCons_n", - "refinement_interpretation_Tm_refine_4bf7ba2a259832d7e8bb8759c94b7575", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c463c771387f32fa3f0f61d96c808b31" - ], - [ - "OPLSS2021.Basic.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_2", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_3", - "binder_x_76a90ab104c9e45efadc4c5d5feb5903_4", - "binder_x_c0586ad28e5d9912538ab3b933545953_5", - "data_elim_OPLSS2021.Basic.VCons", "data_elim_OPLSS2021.Basic.VNil", - "disc_equation_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VNil", "equation_OPLSS2021.Basic.nat", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "a2c3364b255ee20982e47c44635140f2" - ], - [ - "OPLSS2021.Basic.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Basic.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c6914b24a0be290b213096f05a630370" - ], - [ - "OPLSS2021.Basic.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_2", - "binder_x_76a90ab104c9e45efadc4c5d5feb5903_3", - "constructor_distinct_OPLSS2021.Basic.VNil", - "data_elim_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VNil", "equation_OPLSS2021.Basic.nat", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "b13e1919ab6fb20bdcb82894f42c9427" - ], - [ - "OPLSS2021.Basic.map_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_5", - "binder_x_c9ffc9b6100e480ff59f87cdd7776e56_6", - "constructor_distinct_OPLSS2021.Basic.VNil", - "data_elim_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VNil", "equation_OPLSS2021.Basic.nat", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "dc1807a5874673c3d93cc02d2adb6834" - ], - [ - "OPLSS2021.Basic.fold_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3f44f568c8b136b04914fe24cf8fc594_5", - "binder_x_c9ffc9b6100e480ff59f87cdd7776e56_6", - "data_elim_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VCons", - "disc_equation_OPLSS2021.Basic.VNil", "equation_OPLSS2021.Basic.nat", - "fuel_guarded_inversion_OPLSS2021.Basic.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "3e100b1feb4eef578f27197cc5d88784" - ], - [ - "OPLSS2021.Basic.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_OPLSS2021.Basic.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "8585842d70e41a22b2db50520857f2ce" - ], - [ - "OPLSS2021.Basic.llist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.Basic.nat", - "equation_Prims.eqtype", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5cd5d19b925ef5bb4b2f58d2c847a3cf" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.BasicState.fst.hints b/examples/oplss2021/OPLSS2021.BasicState.fst.hints deleted file mode 100644 index 1f3c88286d8..00000000000 --- a/examples/oplss2021/OPLSS2021.BasicState.fst.hints +++ /dev/null @@ -1,74 +0,0 @@ -[ - ",À»ø#p™›ã7ù\u000f•ñm‘", - [ - [ - "OPLSS2021.BasicState.left_unit", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_OPLSS2021.BasicState.bind", - "equation_OPLSS2021.BasicState.return", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "278e3558c128657bea28ee842176f40b" - ], - [ - "OPLSS2021.BasicState.right_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.BasicState_interpretation_Tm_arrow_a0084ca3a951f68c3110bd0ebd7c60fe", - "equation_FStar.FunctionalExtensionality.feq", - "equation_OPLSS2021.BasicState.bind", - "equation_OPLSS2021.BasicState.return", - "equation_OPLSS2021.BasicState.st", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_691963f23579a36e889cc7f98eaa1210", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_a02c4ab615d86c1fd4d6707b08902221" - ], - 0, - "77b06199700f6bec87751dd71569a90a" - ], - [ - "OPLSS2021.BasicState.assoc", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_OPLSS2021.BasicState.bind", - "interpretation_Tm_abs_7706f980135a89a687c904d968136d5b", - "interpretation_Tm_abs_e92ddfe3fe3bd3ce88f858edd91a0f1a" - ], - 0, - "82d65c71a1968feb5254f0c891571d3e" - ], - [ - "OPLSS2021.BasicState.lift_pure_st", - 1, - 2, - 1, - [ "@query" ], - 0, - "27f5f130059eb8576e0031c3d4df7d0e" - ], - [ - "OPLSS2021.BasicState.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "4aaab0ea1ef7c68847092104000de0f8" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Demo1.fst.hints b/examples/oplss2021/OPLSS2021.Demo1.fst.hints deleted file mode 100644 index 129f2376f0b..00000000000 --- a/examples/oplss2021/OPLSS2021.Demo1.fst.hints +++ /dev/null @@ -1,223 +0,0 @@ -[ - "V:„C}k-‹~ùåód·7H", - [ - [ - "OPLSS2021.Demo1.vector", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8091ac9ab13af2ea72dc48bd4675c207" - ], - [ - "OPLSS2021.Demo1.vector", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "588faa1253c645cdd48686ec750b61a9" - ], - [ - "OPLSS2021.Demo1.__proj__VCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" - ], - 0, - "19520d55f6581d3c8de40cfd0261ed1c" - ], - [ - "OPLSS2021.Demo1.__proj__VCons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" - ], - 0, - "a31420ab33f954aa69828ef6ef34f42e" - ], - [ - "OPLSS2021.Demo1.__proj__VCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_OPLSS2021.Demo1.VCons", - "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" - ], - 0, - "05b262918c2718a88d1f8f95e63cabd2" - ], - [ - "OPLSS2021.Demo1.head'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_OPLSS2021.Demo1.VCons", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_48a5e5a94fc23eb2b0f97db27e5248ee" - ], - 0, - "d4a389d5f282e79b8376d57522d861d4" - ], - [ - "OPLSS2021.Demo1.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5b0227c873718a1e2db17d2a1798a462" - ], - 0, - "69b5f6d0cf91ae567c6e7e5579a43ac0" - ], - [ - "OPLSS2021.Demo1.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b94e6fda1875b4a7231deddad8e14717_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_dea256e7a41198c89ed07f42894c7b2b_3", - "disc_equation_OPLSS2021.Demo1.VCons", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS2021.Demo1.vector", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_OPLSS2021.Demo1.VCons_n", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cd73fa2255f8011c45dec35de340a3ae", - "well-founded-ordering-on-nat" - ], - 0, - "7a4f579f21b0ab3819c4a691db45843e" - ], - [ - "OPLSS2021.Demo1.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8aaebb2bf7be4b0d35e8b90e6323b818_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "data_elim_OPLSS2021.Demo1.VCons", "data_elim_OPLSS2021.Demo1.VNil", - "disc_equation_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS2021.Demo1.vector", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6b42e6b737df9bc7325c396beecbf150" - ], - [ - "OPLSS2021.Demo1.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fc1ba86237fbdd69b4cc9c43162d0074" - ], - [ - "OPLSS2021.Demo1.reverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8aaebb2bf7be4b0d35e8b90e6323b818_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "constructor_distinct_OPLSS2021.Demo1.VNil", - "data_elim_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS2021.Demo1.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "3025f2a334359c9d3877979152e971b1" - ], - [ - "OPLSS2021.Demo1.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2ac079267751153fdc1a5e442c7f75e4_6", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "constructor_distinct_OPLSS2021.Demo1.VNil", - "data_elim_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS2021.Demo1.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "17f9b12577b93acdf36fcdd0d595c025" - ], - [ - "OPLSS2021.Demo1.fold_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2ac079267751153fdc1a5e442c7f75e4_6", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "data_elim_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VCons", - "disc_equation_OPLSS2021.Demo1.VNil", "equation_Prims.nat", - "fuel_guarded_inversion_OPLSS2021.Demo1.vector", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "2c7526ee7bf016ccd476f4de43b390f4" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints b/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints deleted file mode 100644 index 1a94eeabd85..00000000000 --- a/examples/oplss2021/OPLSS2021.DijkstraMonads.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "ñ\u0012ghíXi\u0011”¬SÑolû—", - [ - [ - "OPLSS2021.DijkstraMonads.return_wp", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "interpretation_Tm_abs_a53e7fdfe19e2acb9ae53a9cdca91170" - ], - 0, - "5f1ea2fc3633a1d690d0d40fdfd232e7" - ], - [ - "OPLSS2021.DijkstraMonads.bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.DijkstraMonads_interpretation_Tm_arrow_1f7382f2f1e2b135e590029034b2f255", - "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "equation_OPLSS2021.DijkstraMonads.wp", - "interpretation_Tm_abs_811e8b5e3738987d804ef8609b0e9eff", - "interpretation_Tm_abs_c9e46470d33b7e79486e6e894a637d1b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_a29f6b02e81e3d0d6c56ece447f2e786", - "typing_Tm_abs_811e8b5e3738987d804ef8609b0e9eff" - ], - 0, - "b73fb99d6b57dd4fd468446f904ae76c" - ], - [ - "OPLSS2021.DijkstraMonads.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.DijkstraMonads_interpretation_Tm_arrow_e582d335e47d6840e0aed28d317c4bc1", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "equation_OPLSS2021.DijkstraMonads.wp", "equation_Prims.l_True", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a29f6b02e81e3d0d6c56ece447f2e786", - "true_interp" - ], - 0, - "f02b8cd21c35abf0e50defa94f096f98" - ], - [ - "OPLSS2021.DijkstraMonads.return", - 1, - 2, - 1, - [ "@query" ], - 0, - "576b8514a3a8d17c8a61cb6468e6791a" - ], - [ - "OPLSS2021.DijkstraMonads.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.DijkstraMonads_interpretation_Tm_arrow_1f7382f2f1e2b135e590029034b2f255", - "OPLSS2021.DijkstraMonads_interpretation_Tm_arrow_e582d335e47d6840e0aed28d317c4bc1", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "equation_OPLSS2021.DijkstraMonads.wp", "equation_Prims.l_True", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_2160bde7f60b176103b955fc59281315", - "interpretation_Tm_abs_811e8b5e3738987d804ef8609b0e9eff", - "interpretation_Tm_abs_ade907d0cf068369deec49e03ec454f6", - "l_imp-interp", "l_quant_interp_b0051d59d5e27d8f13752350dd9a2a74", - "l_quant_interp_e03c39cc34182dd604407aded4bc3292", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_a29f6b02e81e3d0d6c56ece447f2e786", - "true_interp", "typing_Tm_abs_2160bde7f60b176103b955fc59281315", - "typing_Tm_abs_811e8b5e3738987d804ef8609b0e9eff", - "typing_Tm_abs_ade907d0cf068369deec49e03ec454f6" - ], - 0, - "afa290e4621fc967c7d710866d424d7d" - ], - [ - "OPLSS2021.DijkstraMonads.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.DijkstraMonads_interpretation_Tm_arrow_e582d335e47d6840e0aed28d317c4bc1", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_OPLSS2021.DijkstraMonads.stronger", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" - ], - 0, - "cc8f251ff3c0b852d3ebb6d9eb09630c" - ], - [ - "OPLSS2021.DijkstraMonads.ST", - 1, - 2, - 1, - [ "@query" ], - 0, - "aa00dd0d8528ac1e6a7010a3de858e46" - ], - [ - "OPLSS2021.DijkstraMonads.ST", - 2, - 2, - 1, - [ "@query", "equation_OPLSS2021.DijkstraMonads.stronger" ], - 0, - "2f21be5d4ef0d8c85bed7cec0f2bfc9f" - ], - [ - "OPLSS2021.DijkstraMonads.ST", - 3, - 2, - 1, - [ "@query", "equation_OPLSS2021.DijkstraMonads.stronger" ], - 0, - "89dbb64942a310fba60054fbef9c1496" - ], - [ - "OPLSS2021.DijkstraMonads.lift_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_577992fc994ed74f2ceebcf0b832bbd2", - "interpretation_Tm_abs_963d181e5476598451a0d753ab150aec", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_963d181e5476598451a0d753ab150aec" - ], - 0, - "d4bda54c5bfe25eb594df7c9f8312d19" - ], - [ - "OPLSS2021.DijkstraMonads.lift_pure_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_963d181e5476598451a0d753ab150aec", - "interpretation_Tm_abs_da437716eb372fac740da22fdb123c4f", - "l_imp-interp", "l_quant_interp_88c8a67952914b773cd43f0fb2208112", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_963d181e5476598451a0d753ab150aec", - "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" - ], - 0, - "7bec84316e637478cdae9f2ade7da4df" - ], - [ - "OPLSS2021.DijkstraMonads.get", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "interpretation_Tm_abs_20a7238fd07f9d31c2887ac37e91b7a4" - ], - 0, - "b94e76cc1ee9d520c3ab3fc4b4da42cc" - ], - [ - "OPLSS2021.DijkstraMonads.put", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "interpretation_Tm_abs_bddbf1da97343ce49be9bf357977f029", - "unit_typing" - ], - 0, - "227936b8d93a0b84dc71c0238ccfd02a" - ], - [ - "OPLSS2021.DijkstraMonads.as_wp", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "interpretation_Tm_abs_6592360d441032b091f63245dfa901b2", - "l_and-interp", "l_quant_interp_617aeba1a2c47db2d75435e2f7ebe528" - ], - 0, - "dc6073a64eb425edb588774839edffd5" - ], - [ - "OPLSS2021.DijkstraMonads.double", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_OPLSS2021.DijkstraMonads.as_wp", - "equation_OPLSS2021.DijkstraMonads.stronger", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0f7ff4e4c15e7d215dc53bc6b346821a", - "interpretation_Tm_abs_6592360d441032b091f63245dfa901b2", - "interpretation_Tm_abs_bbce0f299d09157e470a448eaaf45e29", - "l_and-interp", "l_quant_interp_617aeba1a2c47db2d75435e2f7ebe528", - "primitive_Prims.op_Addition", "unit_typing" - ], - 0, - "2a2241e3ba1c3cdada9b7d3b9a3463e4" - ], - [ - "OPLSS2021.DijkstraMonads.double", - 2, - 2, - 1, - [ - "@query", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "interpretation_Tm_abs_5a9b2eb4aa1a06829eeb53225933a1e3" - ], - 0, - "e9670c6aca10c435db4a2181df7dcfaa" - ], - [ - "OPLSS2021.DijkstraMonads.double", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_OPLSS2021.DijkstraMonads.st_monotonic", "int_inversion", - "int_typing", - "interpretation_Tm_abs_14f2ae6578e14c3bccfee0a1295c3979", - "primitive_Prims.op_Addition", "unit_typing" - ], - 0, - "d619fc848ad93aa396da37d4711d3a4e" - ], - [ - "OPLSS2021.DijkstraMonads.double", - 4, - 2, - 1, - [ - "@query", "equation_OPLSS2021.DijkstraMonads.st_monotonic", - "int_typing", - "interpretation_Tm_abs_bbce0f299d09157e470a448eaaf45e29", - "primitive_Prims.op_Addition", "unit_typing" - ], - 0, - "66dd4a13e3b8787e4b4046b54ce20c1b" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.Factorial.fst.hints b/examples/oplss2021/OPLSS2021.Factorial.fst.hints deleted file mode 100644 index 722d27dc96a..00000000000 --- a/examples/oplss2021/OPLSS2021.Factorial.fst.hints +++ /dev/null @@ -1,72 +0,0 @@ -[ - "h\u0015”,*PèfÛ¥XJ'¥ù", - [ - [ - "OPLSS2021.Factorial.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "40f8136d62a35190c01bdfba83d7d15e" - ], - [ - "OPLSS2021.Factorial.factorial_increasing", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Factorial.factorial.fuel_instrumented", - "@fuel_irrelevance_OPLSS2021.Factorial.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_OPLSS2021.Factorial.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS2021.Factorial.factorial", - "well-founded-ordering-on-nat" - ], - 0, - "67f5b04cd6ff18d8ac02a9befbab8e6d" - ], - [ - "OPLSS2021.Factorial.factorial_increasing_lemma", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_OPLSS2021.Factorial.factorial.fuel_instrumented", - "@fuel_irrelevance_OPLSS2021.Factorial.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_OPLSS2021.Factorial.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_OPLSS2021.Factorial.factorial", - "well-founded-ordering-on-nat" - ], - 0, - "12a90c90219c65134f9c5483185d89dd" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.IFC.fst.hints b/examples/oplss2021/OPLSS2021.IFC.fst.hints deleted file mode 100644 index 3b01f03a6fd..00000000000 --- a/examples/oplss2021/OPLSS2021.IFC.fst.hints +++ /dev/null @@ -1,1865 +0,0 @@ -[ - "$ÙÖ¶”錆èç5.Ë\\", - [ - [ - "OPLSS2021.IFC.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_OPLSS2021.IFC.store", - "equation_Prims.eqtype", "lemma_FStar.Map.lemma_InDomUpd1", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_OPLSS2021.IFC.loc", "typing_Prims.int" - ], - 0, - "9b78b47c7680a62862aa9271b4d45fc8" - ], - [ - "OPLSS2021.IFC.iread", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.havoc", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.reads_ok", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.sel", "equation_OPLSS2021.IFC.single", - "equation_OPLSS2021.IFC.store", "equation_OPLSS2021.IFC.upd", - "equation_OPLSS2021.IFC.writes_ok", "equation_Prims.eqtype", - "int_inversion", - "interpretation_Tm_abs_748df66a36d0a0bd02f4a6f90b3af7e8", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_Prims.int" - ], - 0, - "886c3ed473e98a2d5f8d726f15e7b347" - ], - [ - "OPLSS2021.IFC.iwrite", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.havoc", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.reads_ok", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.sel", "equation_OPLSS2021.IFC.single", - "equation_OPLSS2021.IFC.store", "equation_OPLSS2021.IFC.upd", - "equation_OPLSS2021.IFC.writes_ok", "equation_Prims.eqtype", - "int_inversion", - "interpretation_Tm_abs_ae93e2a56608aa552d3deb1649f3bd21", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_FStar.Map.upd", "typing_OPLSS2021.IFC.havoc", - "typing_Prims.int", "unit_typing" - ], - 0, - "fb381445e84fcf3fb2940269bfe2c60f" - ], - [ - "OPLSS2021.IFC.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.havoc", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.reads_ok", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.sel", "equation_OPLSS2021.IFC.store", - "equation_OPLSS2021.IFC.upd", "equation_OPLSS2021.IFC.writes_ok", - "equation_Prims.eqtype", "int_inversion", - "interpretation_Tm_abs_f8018a9c6b03b3ed9aad35a5164c6778", - "lemma_FStar.Map.lemma_SelUpd2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_Prims.int" - ], - 0, - "7be0a6d0a4ec45ba226ae30b49d42227" - ], - [ - "OPLSS2021.IFC.flows_equiv_refl", - 1, - 2, - 1, - [ - "@query", "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in" - ], - 0, - "4b4fdc65ac32190e150b6879ac795c06" - ], - [ - "OPLSS2021.IFC.flows_equiv_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.loc", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "typing_OPLSS2021.IFC.flow" - ], - 0, - "3d5bde1f8031a9b7228fda19572f3dec" - ], - [ - "OPLSS2021.IFC.flows_included_in_union_distr_dest", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "f4eb339ddf5427d041ace9491c9d3221" - ], - [ - "OPLSS2021.IFC.flows_included_in_union_distr_src", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "ea1285632497404111acc8d7258b3e31" - ], - [ - "OPLSS2021.IFC.flows_included_in_union", - 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", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "b57510440b59a88b650f1e9d77afe29b" - ], - [ - "OPLSS2021.IFC.bind_comp_reads_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "OPLSS2021.IFC_interpretation_Tm_arrow_5ff4a19792760af796448c4bcc311a8e", - "bool_inversion", "equation_OPLSS2021.IFC.bind_comp", - "equation_OPLSS2021.IFC.comp", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.havoc", "equation_OPLSS2021.IFC.ist", - "equation_OPLSS2021.IFC.label", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.reads_ok", "equation_OPLSS2021.IFC.sel", - "equation_OPLSS2021.IFC.store", "equation_OPLSS2021.IFC.union", - "equation_OPLSS2021.IFC.upd", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_978b4e832596340bd491071d86a49fb8", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_FStar.Map.contains", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.havoc", "typing_OPLSS2021.IFC.sel", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "b63cbf4da047318bda9580b08f766802" - ], - [ - "OPLSS2021.IFC.bind_comp_writes_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "OPLSS2021.IFC_interpretation_Tm_arrow_5ff4a19792760af796448c4bcc311a8e", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_OPLSS2021.IFC.bind_comp", "equation_OPLSS2021.IFC.comp", - "equation_OPLSS2021.IFC.ist", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.store", - "equation_OPLSS2021.IFC.union", "equation_OPLSS2021.IFC.writes_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_978b4e832596340bd491071d86a49fb8", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.bind_comp", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "23cc3d2a9240495829d5e2fbd3ab5538" - ], - [ - "OPLSS2021.IFC.memP_append_or", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "a7f7301a2d8e5383cb543b850785ed1a" - ], - [ - "OPLSS2021.IFC.has_flow_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.has_flow", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion" - ], - 0, - "b6c6d809a99e2dd2ef40e83f18eb700a" - ], - [ - "OPLSS2021.IFC.elim_has_flow_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.has_flow", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.add_source", - "typing_OPLSS2021.IFC.bot", "typing_OPLSS2021.IFC.flow", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.union", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "97eae16c67bb2702f21199ff9f6e4a93" - ], - [ - "OPLSS2021.IFC.add_source_monotonic", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "binder_x_0f14542c209d13c9fa46753e5210269b_3", - "binder_x_63b14023b64f54b5f32ef67f838f3aa9_0", - "binder_x_63b14023b64f54b5f32ef67f838f3aa9_1", - "binder_x_e7cc69d1acf8962ed398b0bd66f57179_2", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.has_flow", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.flow", - "typing_OPLSS2021.IFC.label", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "ef615f7409156826503760ac8a39f98a" - ], - [ - "OPLSS2021.IFC.has_flow_soundness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.comp", "equation_OPLSS2021.IFC.ist", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.store", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada" - ], - 0, - "419076bac81c96342e4d11fcf0be50e8" - ], - [ - "OPLSS2021.IFC.bind_comp_no_leakage", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "OPLSS2021.IFC_interpretation_Tm_arrow_5ff4a19792760af796448c4bcc311a8e", - "bool_inversion", "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.bind_comp", "equation_OPLSS2021.IFC.comp", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.havoc", "equation_OPLSS2021.IFC.ist", - "equation_OPLSS2021.IFC.label", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.reads_ok", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.sel", "equation_OPLSS2021.IFC.store", - "equation_OPLSS2021.IFC.upd", "equation_OPLSS2021.IFC.writes_ok", - "equation_Prims.eqtype", "int_inversion", - "interpretation_Tm_abs_978b4e832596340bd491071d86a49fb8", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "refinement_kinding_Tm_refine_b8b641de3e685f31761a268514ea803d", - "token_correspondence_OPLSS2021.IFC.bind_comp", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.havoc", - "typing_OPLSS2021.IFC.sel", "typing_OPLSS2021.IFC.upd", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "aa25ccb6430c172869f1c60efb55ebe6" - ], - [ - "OPLSS2021.IFC.bind_comp_flows_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.bind_comp", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.no_leakage", - "equation_OPLSS2021.IFC.no_leakage_k", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.store", - "function_token_typing_OPLSS2021.IFC.bind_comp", "int_inversion", - "interpretation_Tm_abs_978b4e832596340bd491071d86a49fb8", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "91630c63033f4fdc6ba62bcbd5ad0ded" - ], - [ - "OPLSS2021.IFC.triple_equiv_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.label", "equation_OPLSS2021.IFC.label_equiv", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.triple_equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "lemma_FStar.Set.lemma_equal_intro", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Prims.int" - ], - 0, - "4d8ef895a7a6ac8e205114555690d83b" - ], - [ - "OPLSS2021.IFC.add_source_bot", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "binder_x_0f14542c209d13c9fa46753e5210269b_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "f2fca467b89f0d69b13fe7f47e4192a8" - ], - [ - "OPLSS2021.IFC.left_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.comp_triple", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_equiv", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.triple_equiv", - "equation_OPLSS2021.IFC.union", "equation_OPLSS2021.IFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "640c1d2053359a79dc051c8aadb884cf" - ], - [ - "OPLSS2021.IFC.flows_included_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.loc", "int_inversion" - ], - 0, - "901c6df47f536a772a715179f7c5639e" - ], - [ - "OPLSS2021.IFC.flows_equiv_append", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows_equiv" - ], - 0, - "7d1e3c9d708a84eb7ad95f4188fd54f5" - ], - [ - "OPLSS2021.IFC.append_nil_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "4e6d65c4318d5e07b9d6eeffbb810169" - ], - [ - "OPLSS2021.IFC.right_unit", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.Pervasives.Native.snd", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.comp_triple", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.flows_equiv", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_equiv", "equation_OPLSS2021.IFC.loc", - "equation_OPLSS2021.IFC.triple_equiv", - "equation_OPLSS2021.IFC.union", "equation_OPLSS2021.IFC.unit_triple", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.add_source", - "typing_OPLSS2021.IFC.bot", "typing_OPLSS2021.IFC.flow", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.union", - "typing_OPLSS2021.IFC.unit_triple", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "4d6d10c08781678c8d90900c6c5307d7" - ], - [ - "OPLSS2021.IFC.assoc_comp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.comp_triple", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "lemma_FStar.Set.lemma_equal_elim", - "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.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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.op_At", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "40681691ed5460a1b0fdf503119603f6" - ], - [ - "OPLSS2021.IFC.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "OPLSS2021.IFC_interpretation_Tm_arrow_5ff4a19792760af796448c4bcc311a8e", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_OPLSS2021.IFC.bind_comp", "equation_OPLSS2021.IFC.comp", - "equation_OPLSS2021.IFC.ist", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.store", - "equation_OPLSS2021.IFC.union", "equation_OPLSS2021.IFC.writes_ok", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_978b4e832596340bd491071d86a49fb8", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.bind_comp", - "typing_OPLSS2021.IFC.union", "typing_Prims.int" - ], - 0, - "858a3810c03b1970b8681cc1d64dd39e" - ], - [ - "OPLSS2021.IFC.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "OPLSS2021.IFC_interpretation_Tm_arrow_51ac52f7567d2b9acc35d5413617a49d", - "bool_inversion", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.comp", - "equation_OPLSS2021.IFC.does_not_read_loc", - "equation_OPLSS2021.IFC.does_not_read_loc_v", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow", "equation_OPLSS2021.IFC.havoc", - "equation_OPLSS2021.IFC.ist", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.reads_ok", - "equation_OPLSS2021.IFC.respects_flows", - "equation_OPLSS2021.IFC.sel", "equation_OPLSS2021.IFC.store", - "equation_OPLSS2021.IFC.upd", "equation_OPLSS2021.IFC.writes_ok", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Map.lemma_SelUpd1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b1f0e49e305f52c8e0295d877470bada", - "refinement_interpretation_Tm_refine_b8b641de3e685f31761a268514ea803d", - "typing_FStar.Set.mem", "typing_OPLSS2021.IFC.havoc", - "typing_Prims.int" - ], - 0, - "ffd62582fc8de9ded76370a0cd62b224" - ], - [ - "OPLSS2021.IFC.IST", - 1, - 2, - 1, - [ "@query" ], - 0, - "8eba4a62e17800ee7c1068d58cd0c89c" - ], - [ - "OPLSS2021.IFC.IST", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc" - ], - 0, - "f8bef01c83a2e743185819b93ae41293" - ], - [ - "OPLSS2021.IFC.IST", - 3, - 2, - 1, - [ - "@query", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc" - ], - 0, - "8013e94ef43c6dd566a503b063df68ca" - ], - [ - "OPLSS2021.IFC.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.href", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "int_inversion", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_9f9b8883e5f95a449b335e880bbd6c05", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.single" - ], - 0, - "77469dbc639147ed30db63fdf6b6c617" - ], - [ - "OPLSS2021.IFC.test2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "dc419d92fdda627681ae06167208b494" - ], - [ - "OPLSS2021.IFC.test3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "9e8fff072e58805ecfc344b2065e9247" - ], - [ - "OPLSS2021.IFC.test3_lab", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.high", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.low", - "typing_OPLSS2021.IFC.single", "typing_OPLSS2021.IFC.union", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "c61e6722c72b8f975bcf47e1d4dcd5ad" - ], - [ - "OPLSS2021.IFC.test3_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "610878376765f48ce1d4d46643a430d3" - ], - [ - "OPLSS2021.IFC.test4", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "8db6ac396384bbf8edbe5e33c3b0d432" - ], - [ - "OPLSS2021.IFC.test5", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "4e9eb951f5681e81b46f352cf16b375b" - ], - [ - "OPLSS2021.IFC.test6", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.high", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.low", - "typing_OPLSS2021.IFC.single", "typing_OPLSS2021.IFC.union", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "6a192a2e12e9c4c8ab38e80035090f85" - ], - [ - "OPLSS2021.IFC.test7", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.high", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.low", - "typing_OPLSS2021.IFC.single", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "c09c82c6c3ed2388b4d3c9d3d78390e5" - ], - [ - "OPLSS2021.IFC.test8", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.high", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.low", - "typing_OPLSS2021.IFC.single", "typing_OPLSS2021.IFC.union", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "efdb378817862f8863323f359399842d" - ], - [ - "OPLSS2021.IFC.test9", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.href", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_Prims.l_False", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "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", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.high", - "typing_OPLSS2021.IFC.label", "typing_OPLSS2021.IFC.low", - "typing_OPLSS2021.IFC.single", "typing_OPLSS2021.IFC.union", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "b228ef0d296639471a42801edda98777" - ], - [ - "OPLSS2021.IFC.test10", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_FStar.List.Tot.Base.op_At", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.cr0", "typing_OPLSS2021.IFC.cr1", - "typing_OPLSS2021.IFC.cw1", "typing_OPLSS2021.IFC.cw2", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union" - ], - 0, - "6ae5876e0ca645c826b7bdf2ff85efad" - ], - [ - "OPLSS2021.IFC.test12", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.cr0", "typing_OPLSS2021.IFC.cr1", - "typing_OPLSS2021.IFC.cw1", "typing_OPLSS2021.IFC.cw2", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "534367a2fffcdcb14f49bce626cd923f" - ], - [ - "OPLSS2021.IFC.test12_1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.cr0", "typing_OPLSS2021.IFC.cr1", - "typing_OPLSS2021.IFC.cw1", "typing_OPLSS2021.IFC.cw2", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "36669c3bcaca858438dbb049cb23c670" - ], - [ - "OPLSS2021.IFC.test13", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.flow", - "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_OPLSS2021.IFC.add_source", - "typing_OPLSS2021.IFC.bot", "typing_OPLSS2021.IFC.cr0", - "typing_OPLSS2021.IFC.cw1", "typing_OPLSS2021.IFC.flow", - "typing_OPLSS2021.IFC.label" - ], - 0, - "a871f8d75e53902922ce28a802023573" - ], - [ - "OPLSS2021.IFC.test14", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.cr0", "typing_OPLSS2021.IFC.cr1", - "typing_OPLSS2021.IFC.cw1", "typing_OPLSS2021.IFC.cw2", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.union", "typing_Prims.int", - "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "0124e1b2eabf6cf67e44f0bda591d905" - ], - [ - "OPLSS2021.IFC.test15", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "OPLSS2021.IFC_interpretation_Tm_arrow_b9e86676a3cc90733c2044a33f18f438", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_OPLSS2021.IFC.add_source", "equation_OPLSS2021.IFC.bot", - "equation_OPLSS2021.IFC.flow", "equation_OPLSS2021.IFC.flows", - "equation_OPLSS2021.IFC.flows_included_in", - "equation_OPLSS2021.IFC.has_flow_1", "equation_OPLSS2021.IFC.label", - "equation_OPLSS2021.IFC.label_inclusion", - "equation_OPLSS2021.IFC.loc", "equation_OPLSS2021.IFC.low", - "equation_OPLSS2021.IFC.lref", "equation_OPLSS2021.IFC.ref", - "equation_OPLSS2021.IFC.single", "equation_OPLSS2021.IFC.union", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "interpretation_Tm_abs_96b3163aad7f0725bcb56376ed288210", - "l_or-interp", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_9f9b8883e5f95a449b335e880bbd6c05", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.mem", - "typing_OPLSS2021.IFC.add_source", "typing_OPLSS2021.IFC.bot", - "typing_OPLSS2021.IFC.flow", "typing_OPLSS2021.IFC.label", - "typing_OPLSS2021.IFC.low", "typing_OPLSS2021.IFC.single", - "typing_Prims.int", "typing_Tm_abs_96b3163aad7f0725bcb56376ed288210" - ], - 0, - "485dc2dd464b6696b844bf41875441d2" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints b/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints deleted file mode 100644 index 501c4fbae94..00000000000 --- a/examples/oplss2021/OPLSS2021.MemCpy.Deps.fst.hints +++ /dev/null @@ -1,225 +0,0 @@ -[ - "\u0016žÕA²¯Ák\u000fÚá.í\u0010¼Ÿ", - [ - [ - "OPLSS2021.MemCpy.Deps.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.buffer", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "e5354cc19aa2c2bcae279f1db2edbb03" - ], - [ - "OPLSS2021.MemCpy.Deps.op_Array_Access", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.buffer", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "d4845b818ef4289e9150f2e0ef702881" - ], - [ - "OPLSS2021.MemCpy.Deps.op_Array_Assignment", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_992416e885a7ba31905d565d2901734d", - "refinement_interpretation_Tm_refine_a021280783240e18127b965f25ba534e", - "true_interp", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "0e6a0bdc5e280209cd8c2d2ef54b10ff" - ], - [ - "OPLSS2021.MemCpy.Deps.suffix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_145526a5766ee9986da88e2775de763f", - "refinement_interpretation_Tm_refine_45ddb0b3d669562eccc5dd636cde2d54", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "b319488b74dfff83a2516c9bc760841a" - ], - [ - "OPLSS2021.MemCpy.Deps.prefix_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.lbuffer", - "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", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "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, - "299179112621f8af6c0d1194059b98da" - ], - [ - "OPLSS2021.MemCpy.Deps.op_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a" - ], - 0, - "3163b7d29668f0e00346f72410fed8f5" - ], - [ - "OPLSS2021.MemCpy.Deps.op_Subtraction", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_96104f38e479f81983a3384aab04876a" - ], - 0, - "4413b0652991d781a73e14a371bbb502" - ], - [ - "OPLSS2021.MemCpy.Deps.malloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lte", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_OPLSS2021.MemCpy.Deps.lbuffer", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00516ea0af0c597b6ba2424073cabe68", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "49e45a0bd8b87862e7581d1a2f7c7426" - ], - [ - "OPLSS2021.MemCpy.Deps.free", - 1, - 2, - 1, - [ "@query" ], - 0, - "70c151afc0d63e97dd9b749721328709" - ], - [ - "OPLSS2021.MemCpy.Deps.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_157c679ca9d51cc9bb422f031a12b500", - "refinement_interpretation_Tm_refine_ce9453d49d54ca1a55bcfb8e962cfc24", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "5d23d489a7de69013682a462661ef6fb" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.MemCpy.fst.hints b/examples/oplss2021/OPLSS2021.MemCpy.fst.hints deleted file mode 100644 index 2707655ce8a..00000000000 --- a/examples/oplss2021/OPLSS2021.MemCpy.fst.hints +++ /dev/null @@ -1,161 +0,0 @@ -[ - "sÅ\b·¤%ºÏ\u0002\u0014èVbí5", - [ - [ - "OPLSS2021.MemCpy.memcpy", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.lbuffer", - "equation_OPLSS2021.MemCpy.Deps.op_Plus", - "equation_OPLSS2021.MemCpy.Deps.prefix_equal", - "equation_OPLSS2021.MemCpy.Deps.uint32", - "equation_OPLSS2021.MemCpy.Deps.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "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_2896d91db7bdb6608b7e1dc0038c6d83", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d762344710d0d3a50a355f531e45c7a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7a45d397ae7454e4bd550faa3a47b642", - "refinement_interpretation_Tm_refine_ac2e0dfb31e34734db7b742f68fb04e2", - "refinement_interpretation_Tm_refine_c16bc1b61f58b349bf6fc1c94dcaf83b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e19bb475ece1d60f2829e784abeb3815", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.get", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "9ec3fafb8791fbf8cf3ef8d5c12b26d6" - ], - [ - "OPLSS2021.MemCpy.malloc_copy_free", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_OPLSS2021.MemCpy.Deps.get", - "equation_OPLSS2021.MemCpy.Deps.lbuffer", - "equation_OPLSS2021.MemCpy.Deps.prefix_equal", - "equation_OPLSS2021.MemCpy.Deps.uint32", - "equation_OPLSS2021.MemCpy.Deps.uint8", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", - "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", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - "lemma_OPLSS2021.MemCpy.Deps.modifies_only_not_unused_in", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1b177259868a11f531c121d31fba6f19", - "refinement_interpretation_Tm_refine_2189240d9cee30dc84358603fb98ac17", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e1d7fbef01c5da08c04d643e199da547", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f59b653a5b0c6e9080107aa83b3c85f4", - "refinement_interpretation_Tm_refine_ffa1e81e61e13d819b5d86af14a57f48", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.singleton", "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_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", "typing_Prims.int" - ], - 0, - "6b311c708c3f789d1a0aa379ffe3df6f" - ] - ] -] \ No newline at end of file diff --git a/examples/oplss2021/OPLSS2021.NDS.fst.hints b/examples/oplss2021/OPLSS2021.NDS.fst.hints deleted file mode 100644 index 0b0d3396e11..00000000000 --- a/examples/oplss2021/OPLSS2021.NDS.fst.hints +++ /dev/null @@ -1,36 +0,0 @@ -[ - "¤€\f|°–ŒpÛ¤HeÌN\u000e‡Qö›õ", - [ - [ - "Benton2004.RHL.Examples2.lemma_included_helper", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.Examples2.asi_e", - "equation_Benton2004.RHL.Examples2.phi", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gconst", - "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.RHL.gvar", "equation_Benton2004.RHL.included", - "equation_Benton2004.RHL.interp", "equation_Benton2004.evar", - "equation_Benton2004.included", "equation_Benton2004.var", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Benton2004.RHL.Examples2.hyp", - "function_token_typing_Benton2004.RHL.exp_to_gexp", - "function_token_typing_Benton2004.RHL.gvar", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", - "lemma_Benton2004.RHL.exp_to_gexp_eop", - "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", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_tot_fun_Prims.op_Addition", - "primitive_tot_fun_Prims.op_Addition.1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_09f13214d267fa773c5630e87bbf4c7e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_Benton2004.RHL.gop", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.Examples2.i", - "typing_Benton2004.RHL.Examples2.n", - "typing_Benton2004.RHL.Examples2.x", - "typing_Benton2004.RHL.Examples2.y", "typing_Benton2004.RHL.geq", - "typing_Benton2004.RHL.gvar", "typing_Benton2004.evar", - "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Prims.int", "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "d5549c21e518c576af87d49b81860cce" - ], - [ - "Benton2004.RHL.Examples2.proof", - 1, - 3, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.RHL_interpretation_Tm_arrow_09dc216a03d8aeeeebb2cf6e58c6ae7b", - "Benton2004.RHL_interpretation_Tm_arrow_66d26145b2f3cd45a7d0e20a106e3dbf", - "Benton2004.RHL_interpretation_Tm_arrow_f408e006f7439775db86e1107d132f15", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_3a9f704193a9eea2b2d71fe9223e76a0", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_e29d96807cb9eafa0affda36210c8108", - "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.Examples2.asi_e", - "equation_Benton2004.RHL.Examples2.asx_e", - "equation_Benton2004.RHL.Examples2.cond", - "equation_Benton2004.RHL.Examples2.l", - "equation_Benton2004.RHL.Examples2.phi", - "equation_Benton2004.RHL.Examples2.r", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gconst", - "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.gsubst", "equation_Benton2004.RHL.gvar", - "equation_Benton2004.RHL.included", "equation_Benton2004.assign", - "equation_Benton2004.const", "equation_Benton2004.eop", - "equation_Benton2004.evar", "equation_Benton2004.included", - "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", - "equation_Benton2004.seq", "equation_Benton2004.var", - "equation_Benton2004.while", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Benton2004.RHL.Examples2.hyp", - "function_token_typing_Benton2004.RHL.exp_to_gexp", - "function_token_typing_Benton2004.RHL.gand", - "function_token_typing_Benton2004.RHL.gconst", - "function_token_typing_Benton2004.RHL.geq", - "function_token_typing_Benton2004.RHL.gop", - "function_token_typing_Benton2004.RHL.gsubst", - "function_token_typing_Benton2004.RHL.gvar", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", - "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", - "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", - "lemma_Benton2004.RHL.Derived.r_ass_derived", - "lemma_Benton2004.RHL.Derived.r_dassl_derived", - "lemma_Benton2004.RHL.Derived.r_dassr", - "lemma_Benton2004.RHL.exp_to_gexp_const", - "lemma_Benton2004.RHL.exp_to_gexp_eop", - "lemma_Benton2004.RHL.exp_to_gexp_evar", - "lemma_Benton2004.RHL.gsubst_gconst", - "lemma_Benton2004.RHL.gsubst_gop", - "lemma_Benton2004.RHL.gsubst_gvar_other", - "lemma_Benton2004.RHL.gsubst_gvar_same", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_geq", - "lemma_Benton2004.RHL.holds_interp", - "lemma_Benton2004.RHL.included_alt", "lemma_Benton2004.RHL.r_sub", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Negation", "primitive_tot_fun_Prims.op_Addition", - "primitive_tot_fun_Prims.op_Addition.1", - "primitive_tot_fun_Prims.op_AmpAmp", - "primitive_tot_fun_Prims.op_Equality.1", - "primitive_tot_fun_Prims.op_LessThan", - "primitive_tot_fun_Prims.op_LessThan.1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_09f13214d267fa773c5630e87bbf4c7e", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_Benton2004.RHL.gop", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "token_correspondence_Prims.op_LessThan", - "typing_Benton2004.RHL.Examples2.asi_e", - "typing_Benton2004.RHL.Examples2.asx_e", - "typing_Benton2004.RHL.Examples2.cond", - "typing_Benton2004.RHL.Examples2.i", - "typing_Benton2004.RHL.Examples2.n", - "typing_Benton2004.RHL.Examples2.phi", - "typing_Benton2004.RHL.Examples2.x", - "typing_Benton2004.RHL.Examples2.y", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.RHL.gconst", "typing_Benton2004.RHL.geq", - "typing_Benton2004.RHL.gnot", "typing_Benton2004.RHL.gop", - "typing_Benton2004.RHL.gor", "typing_Benton2004.RHL.gsubst", - "typing_Benton2004.RHL.gvar", "typing_Benton2004.assign", - "typing_Benton2004.const", "typing_Benton2004.evar", - "typing_Benton2004.seq", "typing_Benton2004.var", - "typing_Benton2004.while", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_FStar.List.Tot.Base.mem", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "typing_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok", "unit_typing" - ], - 0, - "ebd95f45fa672dbbdb1c4b6b97ac57a3" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.fst.hints b/examples/rel/Benton2004.RHL.fst.hints deleted file mode 100644 index fbf3a389901..00000000000 --- a/examples/rel/Benton2004.RHL.fst.hints +++ /dev/null @@ -1,1466 +0,0 @@ -[ - "\u0005\u001dŸû\u000f\u0006J\u0003ò\u001fÔÅ»NE-", - [ - [ - "Benton2004.RHL.gvar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cb4dd5d1512e3ad555d7306076f56b5f" - ], - [ - "Benton2004.RHL.gsubst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5500cca47f14ef938260de7223ea42f3" - ], - [ - "Benton2004.RHL.gsubst_gconst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Benton2004.RHL.gconst", - "equation_Benton2004.RHL.gsubst", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", - "token_correspondence_Benton2004.RHL.gconst", - "token_correspondence_Benton2004.RHL.gsubst" - ], - 0, - "e1a71c1895e82fccd3b550f202d6027e" - ], - [ - "Benton2004.RHL.gsubst_gvar_same", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.RHL.gvar", "equation_Benton2004.var", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "token_correspondence_Benton2004.RHL.gsubst" - ], - 0, - "a20c343810b9cc6ab4f07d037ccc72c0" - ], - [ - "Benton2004.RHL.gsubst_gvar_other", - 1, - 2, - 1, - [ "@query", "assumption_Benton2004.RHL.pos__uu___haseq" ], - 0, - "a49423bb87ca14795f11cefafa1a9d44" - ], - [ - "Benton2004.RHL.gsubst_gvar_other", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Benton2004.RHL.pos__uu___haseq", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.RHL.gvar", "equation_Benton2004.var", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_Benton2004.RHL.gsubst", - "token_correspondence_Benton2004.RHL.gvar" - ], - 0, - "f55fae8db58d87e292c1332438d8558c" - ], - [ - "Benton2004.RHL.gsubst_gop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.gsubst", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "token_correspondence_Benton2004.RHL.gop", - "token_correspondence_Benton2004.RHL.gsubst" - ], - 0, - "cca79b78a5f843ae3dd3a4c8dc8f832a" - ], - [ - "Benton2004.RHL.holds_interp", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_Benton2004.RHL.interp", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "token_correspondence_Benton2004.RHL.interp" - ], - 0, - "355154cba2c3f85a6b34667df806daed" - ], - [ - "Benton2004.RHL.exec_equiv_elim", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.RHL.exec_equiv" ], - 0, - "c030ee3c231b4207d0e0eb26cc42be78" - ], - [ - "Benton2004.RHL.r_skip", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.RHL.exec_equiv" ], - 0, - "782b844b8ff8afda4f0c0c9ad11642ce" - ], - [ - "Benton2004.RHL.exp_to_gexp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c8a1a0b9e5f307105f00e64e52a239e4" - ], - [ - "Benton2004.RHL.exp_to_gexp_const", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gconst", "equation_Benton2004.const", - "equation_Benton2004.reify_exp", - "equation_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", - "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_Benton2004.RHL.exp_to_gexp", - "token_correspondence_Benton2004.RHL.gconst", - "token_correspondence_Benton2004.reify_exp" - ], - 0, - "f11c50174a2b1f43341661e01be8cbfc" - ], - [ - "Benton2004.RHL.exp_to_gexp_evar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gvar", "equation_Benton2004.evar", - "equation_Benton2004.reify_exp", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_2a81661ddb51dfd01a5b7ce5a5e7f6e9", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_65ebdb73615159850359c6ce6b2be936", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "token_correspondence_Benton2004.RHL.exp_to_gexp", - "token_correspondence_Benton2004.RHL.gvar", - "token_correspondence_Benton2004.reify_exp" - ], - 0, - "da2ce1f6b191b15a6089288302e08653" - ], - [ - "Benton2004.RHL.exp_to_gexp_eop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.gop", - "equation_Benton2004.eop", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "token_correspondence_Benton2004.RHL.exp_to_gexp", - "token_correspondence_Benton2004.RHL.gop", - "token_correspondence_Benton2004.reify_exp", "typing_Benton2004.eop" - ], - 0, - "9a62925d08f63694d5466038386f84e7" - ], - [ - "Benton2004.RHL.holds_gand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "bool_inversion", "equation_Benton2004.RHL.gand", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.gand" - ], - 0, - "986f70e5104100ddd61263fc0d1fe61e" - ], - [ - "Benton2004.RHL.gsubst_gand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", - "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.RHL.gand", - "token_correspondence_Benton2004.RHL.gsubst", - "typing_Benton2004.RHL.gsubst", "typing_Prims.bool" - ], - 0, - "4d24b18bf3522842900ef2f4904816b8" - ], - [ - "Benton2004.RHL.holds_gor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "bool_inversion", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gor", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_BarBar", "typing_Benton2004.RHL.gor" - ], - 0, - "4516aa1c2c4acba38144c126c14017c1" - ], - [ - "Benton2004.RHL.gsubst_gor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.gor", "equation_Benton2004.RHL.gsubst", - "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.RHL.gor", - "token_correspondence_Benton2004.RHL.gsubst", - "typing_Benton2004.RHL.gsubst", "typing_Prims.bool" - ], - 0, - "389b604dd8a34e38c869b43e64c05ea2" - ], - [ - "Benton2004.RHL.holds_gnot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "bool_inversion", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gnot", - "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", "typing_Benton2004.RHL.gnot" - ], - 0, - "c9f76583ed290acb5d8311f41ee59068" - ], - [ - "Benton2004.RHL.holds_geq", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gop", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_Equality", "typing_Benton2004.RHL.geq" - ], - 0, - "3a7f86cddf343416ce80f13780bfc084" - ], - [ - "Benton2004.RHL.gsubst_geq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gsubst", - "equation_Prims.eqtype", "fuel_guarded_inversion_Benton2004.RHL.pos", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.RHL.geq", - "token_correspondence_Benton2004.RHL.gsubst", - "typing_Benton2004.RHL.geq", "typing_Benton2004.RHL.gsubst" - ], - 0, - "6eb65957748cb47954c94557cc3e7a11" - ], - [ - "Benton2004.RHL.holds_exp_to_gexp_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", - "equality_tok_Benton2004.RHL.Left@tok", - "equation_Benton2004.RHL.exp_to_gexp", "equation_Prims.eqtype", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "lemma_Benton2004.RHL.holds_interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Left@tok" - ], - 0, - "07306955539beabb66cff30624c0144a" - ], - [ - "Benton2004.RHL.holds_exp_to_gexp_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Benton2004.RHL.Right", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", "equation_Prims.eqtype", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "lemma_Benton2004.RHL.holds_interp", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "05c37decb72c9fcaeb08b935fb83db8e" - ], - [ - "Benton2004.RHL.holds_r_if_precond_true", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_f408e006f7439775db86e1107d132f15", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "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", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.r_if_precond_true", - "equation_Benton2004.reified_exp", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.RHL.gand", - "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_gand", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Prims.op_AmpAmp", - "typing_Benton2004.RHL.exp_to_gexp", - "typing_Benton2004.RHL.r_if_precond_true", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "d9140ccf4261cf75da397b4f453f5433" - ], - [ - "Benton2004.RHL.holds_r_if_precond_false", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_f408e006f7439775db86e1107d132f15", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "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", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.gor", - "equation_Benton2004.RHL.r_if_precond_false", - "equation_Benton2004.reified_exp", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.RHL.gor", - "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_BarBar", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gnot", - "typing_Benton2004.RHL.r_if_precond_false", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "8585db07f2c4134eb108058aceeea6a3" - ], - [ - "Benton2004.RHL.holds_r_if_precond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_66d26145b2f3cd45a7d0e20a106e3dbf", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.r_if_precond", - "equation_Benton2004.reified_exp", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.RHL.geq", - "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.holds_gand", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.exp_to_gexp", - "typing_Benton2004.RHL.r_if_precond", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "bc40581a1ef66114ba92721c14018ff4" - ], - [ - "Benton2004.RHL.r_if", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "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", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", - "equation_Benton2004.RHL.r_if_precond", - "equation_Benton2004.RHL.r_if_precond_false", - "equation_Benton2004.RHL.r_if_precond_true", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.ifthenelse", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", "int_inversion", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.exp_to_gexp", - "typing_Benton2004.RHL.r_if_precond", - "typing_Benton2004.RHL.r_if_precond_true", - "typing_Benton2004.ifthenelse", - "typing_Benton2004.reify_computation", "typing_Prims.bool", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "8793249b18de2012f7ebdaf8d09adc74" - ], - [ - "Benton2004.RHL.r_seq", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.seq", - "lemma_Benton2004.d_seq", "typing_Benton2004.RHL.interp" - ], - 0, - "e12b2d88b4160de11ceaae4e76d0b50a" - ], - [ - "Benton2004.RHL.r_ass", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.RHL.interp", "equation_Benton2004.assign", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", - "lemma_Benton2004.RHL.holds_interp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.reify_exp", - "typing_Benton2004.assign", "typing_Benton2004.reify_computation", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "unit_typing" - ], - 0, - "0b44a88f0ceb0a4736b45d03c703b649" - ], - [ - "Benton2004.RHL.included_alt", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.included", - "equation_Benton2004.included", "lemma_Benton2004.RHL.holds_interp" - ], - 0, - "457ef29feed38df7889d1a32da06ec09" - ], - [ - "Benton2004.RHL.r_sub", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp" - ], - 0, - "646573425aebaf25d040877ce7f68275" - ], - [ - "Benton2004.RHL.elim_fuel_monotonic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "bool_inversion", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "466d777f753cf67c5e6069c3d1a4eeb9" - ], - [ - "Benton2004.RHL.r_while_terminates'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", - "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_372d0036a278ac09888c7df9a2e87e0f_2", - "binder_x_372d0036a278ac09888c7df9a2e87e0f_3", - "binder_x_7ab1748f97b7be5091389973104c9c7b_7", - "binder_x_7ab1748f97b7be5091389973104c9c7b_8", - "binder_x_ac072c231e83001d31e04ab21ab215ef_0", - "binder_x_ac072c231e83001d31e04ab21ab215ef_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_9", - "binder_x_fbacef190c4295388da41f5a709ceecd_4", "bool_inversion", - "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.included", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", "equation_Benton2004.included", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Benton2004.while", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", - "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "lemma_Benton2004.RHL.holds_gand", - "lemma_Benton2004.RHL.holds_interp", - "lemma_Benton2004.RHL.included_alt", "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Benton2004.while_raw", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", - "typing_Benton2004.reify_computation", "typing_Benton2004.while", - "typing_Prims.bool", - "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "well-founded-ordering-on-nat" - ], - 0, - "e6c893c7126cf005774c95f589bff73a" - ], - [ - "Benton2004.RHL.holds_interp_flip", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.flip", - "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", - "lemma_Benton2004.RHL.holds_interp", "typing_Benton2004.RHL.flip" - ], - 0, - "ceaf542a7f0c338a4dfddc84709d0a98" - ], - [ - "Benton2004.RHL.exec_equiv_flip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "equation_Benton2004.Aux.rel", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.flip", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.flip", - "equation_Benton2004.included", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.sttype", - "equation_Benton2004.terminates_equiv_reified", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "lemma_Benton2004.d_csub", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.RHL.flip", "typing_Benton2004.RHL.interp", - "typing_Benton2004.reify_computation", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool", - "typing_Tm_abs_13e1a32540ac087750a1053d59e4a269" - ], - 0, - "30fe1b8ba7dacfebbce380f8bebd56b6" - ], - [ - "Benton2004.RHL.r_while_terminates", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_arrow_f408e006f7439775db86e1107d132f15", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_3a9f704193a9eea2b2d71fe9223e76a0", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "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", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.flip", "equation_Benton2004.RHL.gand", - "equation_Benton2004.RHL.geq", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.included", - "equation_Benton2004.RHL.interp", "equation_Benton2004.included", - "equation_Benton2004.reified_exp", - "equation_Benton2004.terminates_on", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.RHL.gand", - "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Benton2004.reify_exp", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_7b55f5364627b0d4e2dd3436d31b7812", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "lemma_Benton2004.RHL.exec_equiv_flip", - "lemma_Benton2004.RHL.holds_gand", - "lemma_Benton2004.RHL.holds_interp", - "lemma_Benton2004.RHL.included_alt", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_tot_fun_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Prims.op_AmpAmp", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.flip", - "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", - "typing_Prims.bool", - "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "typing_tok_Benton2004.RHL.Left@tok", - "typing_tok_Benton2004.RHL.Right@tok" - ], - 0, - "1b4706a77f126501118795fb6f40df0f" - ], - [ - "Benton2004.RHL.r_while_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", - "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_372d0036a278ac09888c7df9a2e87e0f_2", - "binder_x_372d0036a278ac09888c7df9a2e87e0f_3", - "binder_x_7ab1748f97b7be5091389973104c9c7b_5", - "binder_x_7ab1748f97b7be5091389973104c9c7b_6", - "binder_x_ac072c231e83001d31e04ab21ab215ef_0", - "binder_x_ac072c231e83001d31e04ab21ab215ef_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_7", - "binder_x_fbacef190c4295388da41f5a709ceecd_4", "bool_inversion", - "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gnot", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.gor", - "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.while", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", - "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Benton2004.while_raw", - "token_correspondence_Prims.op_BarBar", - "token_correspondence_Prims.op_Equality", - "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.geq", - "typing_Benton2004.RHL.gnot", "typing_Benton2004.RHL.gor", - "typing_Prims.bool", - "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "well-founded-ordering-on-nat" - ], - 0, - "73a045173f3718c3a56dc9c6a0b5ea09" - ], - [ - "Benton2004.RHL.r_while", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.while", - "function_token_typing_Benton2004.reify_computation" - ], - 0, - "9c00f893d322d14d6aa24934dfacf528" - ], - [ - "Benton2004.RHL.is_per_geq_exp_to_gexp", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", "eq2-interp", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", - "equation_Benton2004.RHL.is_per", "equation_Benton2004.is_per", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_Equality" - ], - 0, - "ef65ef3e8522dcf4fcd7498ce0a8055b" - ], - [ - "Benton2004.RHL.is_per_gand_exp_to_gexp", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", "eq2-interp", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per", - "equation_Benton2004.is_per", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_AmpAmp" - ], - 0, - "2da06e18fd88cd598a0ab57692d669e7" - ], - [ - "Benton2004.RHL.is_per_gand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per", - "equation_Benton2004.is_per", "equation_Benton2004.sttype", - "equation_Prims.eqtype", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "lemma_Benton2004.RHL.holds_gand", - "lemma_Benton2004.RHL.holds_interp", - "lemma_Benton2004.is_per_holds_sym", - "lemma_Benton2004.per_holds_trans", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.RHL.gand", "typing_Benton2004.RHL.interp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap" - ], - 0, - "33da2f94fc105d0df0fd462524acbe6b" - ], - [ - "Benton2004.RHL.r_sym", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.RHL.is_per" - ], - 0, - "829eb99906ea0cfa276156fa8d43d815" - ], - [ - "Benton2004.RHL.interpolable_geq_exp_to_gexp", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", "eq2-interp", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", "equation_Benton2004.RHL.geq", - "equation_Benton2004.RHL.gop", "equation_Benton2004.RHL.interp", - "equation_Benton2004.RHL.interpolable", - "equation_Benton2004.interpolable", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_Equality" - ], - 0, - "eb8a13bba9f568be292da17fa5df62ed" - ], - [ - "Benton2004.RHL.interpolable_gand_exp_to_gexp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "bool_inversion", "constructor_distinct_Benton2004.RHL.Left", - "constructor_distinct_Benton2004.RHL.Right", "eq2-interp", - "equality_tok_Benton2004.RHL.Left@tok", - "equality_tok_Benton2004.RHL.Right@tok", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", - "equation_Benton2004.RHL.interpolable", - "equation_Benton2004.interpolable", - "interpretation_Tm_abs_259076896a1c6bf5bb22307ad39e046c", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_AmpAmp", - "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" - ], - 0, - "e896e984735081e7b63fdddfd647eb92" - ], - [ - "Benton2004.RHL.r_trans", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", - "equation_Benton2004.RHL.interpolable", - "equation_Benton2004.RHL.is_per", - "lemma_Benton2004.exec_equiv_trans", "typing_Benton2004.RHL.interp" - ], - 0, - "c429e5d3a7356c5bca974bee5ac60595" - ], - [ - "Benton2004.RHL.d_su1", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" - ], - 0, - "d59f7a960e485f4865232f37e23846c8" - ], - [ - "Benton2004.RHL.d_su1'", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" - ], - 0, - "377760784a2eb7d3196bd05c87511ba2" - ], - [ - "Benton2004.RHL.d_su2", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" - ], - 0, - "24f8aab1890778e7fd73170c06dca0fb" - ], - [ - "Benton2004.RHL.d_assoc", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.seq" - ], - 0, - "baebb3d489c547d72b4f6fbac3e24522" - ], - [ - "Benton2004.RHL.d_cc", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.ifthenelse", - "lemma_Benton2004.d_cc", "typing_Benton2004.RHL.interp" - ], - 0, - "c4ddc812243e61fcb179dcaf4ae28b04" - ], - [ - "Benton2004.RHL.d_lu1", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.ifthenelse", - "equation_Benton2004.while" - ], - 0, - "145b19f520fb72b838879b2c4c5a22f9" - ], - [ - "Benton2004.RHL.d_lu2", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.interp", "equation_Benton2004.while" - ], - 0, - "7b8df9ccb80809d832d9da90038a1f75" - ], - [ - "Benton2004.RHL.r_f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.gconst", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", - "interpretation_Tm_abs_ec742af2e60fcd53c3ec5adf15a291f6", - "lemma_Benton2004.RHL.holds_interp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.RHL.gconst", "typing_Prims.bool" - ], - 0, - "ec06b4762c8d5aa5880d8ed1c2a40bd8" - ], - [ - "Benton2004.RHL.r_dassl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", - "equality_tok_Benton2004.RHL.Left@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gexp", "equation_Benton2004.RHL.gsubst", - "equation_Benton2004.RHL.interp", "equation_Benton2004.assign", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_cd4b8074c6e255e941314fae5413b9f0", - "interpretation_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da", - "lemma_Benton2004.RHL.holds_interp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Benton2004.reify_exp", - "typing_Benton2004.assign", "typing_Benton2004.reify_computation", - "typing_Benton2004.skip", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_cd87913e3c4ab036f83cda6c807ee908", - "unit_typing" - ], - 0, - "3cff6081defb138d892e5e9df486b8d8" - ], - [ - "Benton2004.RHL.r_cbl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004.RHL_interpretation_Tm_ghost_arrow_866ceac2bd536315012e9e8c69a94f7a", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Benton2004.RHL.Left", - "equality_tok_Benton2004.RHL.Left@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gand", "equation_Benton2004.RHL.gexp", - "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.gop", - "equation_Benton2004.RHL.interp", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.ifthenelse", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", "int_inversion", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_5a5b2fc6ab1ec9b20cbdfbb11c4abfa3", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_815b57c9640da25f7ebc5d29276cb38b", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", - "lemma_Benton2004.RHL.holds_interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_1fb6297a1f8df60ed741e60df392b9d6", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Prims.op_AmpAmp", "typing_Benton2004.RHL.gand", - "typing_Benton2004.RHL.gnot", "typing_Benton2004.reify_computation", - "typing_Prims.bool", "typing_Tm_abs_6c79f0d33661d6bb133651fed566829b" - ], - 0, - "d496a54860306815e5a07714212ff8bd" - ], - [ - "Benton2004.RHL.r_dwhll", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", - "@query", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "constructor_distinct_Benton2004.RHL.Left", - "equality_tok_Benton2004.RHL.Left@tok", - "equation_Benton2004.RHL.exec_equiv", - "equation_Benton2004.RHL.exp_to_gexp", - "equation_Benton2004.RHL.gnot", "equation_Benton2004.RHL.interp", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Benton2004.while", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", "int_inversion", - "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", - "interpretation_Tm_abs_6c79f0d33661d6bb133651fed566829b", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "lemma_Benton2004.RHL.holds_gand", "lemma_Benton2004.RHL.holds_gnot", - "lemma_Benton2004.RHL.holds_interp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Benton2004.while_raw", - "typing_Benton2004.RHL.exp_to_gexp", "typing_Benton2004.RHL.gnot", - "typing_Benton2004.reify_computation", "typing_Benton2004.skip", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Prims.bool", "typing_tok_Benton2004.RHL.Left@tok" - ], - 0, - "0b2bf46adc112a87af7bacd945c5725e" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Benton2004.RHL.fsti.hints b/examples/rel/Benton2004.RHL.fsti.hints deleted file mode 100644 index 8d78d5594a2..00000000000 --- a/examples/rel/Benton2004.RHL.fsti.hints +++ /dev/null @@ -1,59 +0,0 @@ -[ - "nΧ\u0000\u007fû\u001ešÊ\u0011\u001dsUeÆÚ", - [ - [ - "Benton2004.RHL.gvar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cb4dd5d1512e3ad555d7306076f56b5f" - ], - [ - "Benton2004.RHL.gsubst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5500cca47f14ef938260de7223ea42f3" - ], - [ - "Benton2004.RHL.gsubst_gvar_other", - 1, - 2, - 1, - [ "@query", "assumption_Benton2004.RHL.pos__uu___haseq" ], - 0, - "b67ee05ef0897ead5f36128b796195ab" - ], - [ - "Benton2004.RHL.exp_to_gexp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.RHL.Left", - "disc_equation_Benton2004.RHL.Right", - "fuel_guarded_inversion_Benton2004.RHL.pos", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a93dc82c0cf2e6a0227323cd3216b1aa" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Benton2004.SmithVolpano.fst.hints b/examples/rel/Benton2004.SmithVolpano.fst.hints deleted file mode 100644 index 24adf9036e3..00000000000 --- a/examples/rel/Benton2004.SmithVolpano.fst.hints +++ /dev/null @@ -1,651 +0,0 @@ -[ - "/\u0005\u0003\u001b\u0016Ì®J,%äj\u0003Ïn=", - [ - [ - "Benton2004.SmithVolpano.interp_seclevel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "59ef7694878cc3fef1e892bf63fa4e69" - ], - [ - "Benton2004.SmithVolpano.interp_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_c44b6ac9014362db9329439a4299fe18_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.DDCC.st_fresh_in", - "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_Benton2004.DDCC.holds_st_intersect", - "lemma_Benton2004.DDCC.holds_st_nil", - "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "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_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_e2094ec69617c4088670c55dc50f0e1b", - "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.DDCC.st_var", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.int", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "33acfdb58beb33e59ce1ec0fe4c3434e" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_def", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.SmithVolpano.eval_equiv" ], - 0, - "fc5617a7ffe402abd7576375cd4f5ca4" - ], - [ - "Benton2004.SmithVolpano.exec_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c4c2973decd2d18cc0e6ab4fc9ab0b0a" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2f4cde140371eb5174f5f2ecec85fe78" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_def", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "equation_Benton2004.SmithVolpano.exec_equiv", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "69f6a598ff9007fbe01932d32df460ac" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_same", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "2e522259ca22c65df7fe88e5f6d23984" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_same", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.evar", "equation_Benton2004.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "6e83f7b5d7de3a474e6ea3d5cc2c2616" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_other", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "336a92331db8860cebd20a415c47a66a" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_other", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.evar", - "equation_Benton2004.reify_exp", "equation_Benton2004.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_Benton2004.DDCC.holds_st_intersect", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.DDCC.st_var", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.int", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "3d376c4e962a927a382d9bedc467b443" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_const", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.const", "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.reify_exp", - "equation_FStar.Pervasives.Native.fst", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "interpretation_Tm_abs_40bbc20d4ec5bd59fb3558a26c0b5898", - "interpretation_Tm_abs_add11b2cfe5041f2aeacbd5ad2faf9f7", - "lemma_Benton2004.DDCC.holds_ns_delta", - "lemma_Benton2004.DDCC.holds_ns_t", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "4b3765efd6f1af275dd5c6702d86a36a" - ], - [ - "Benton2004.SmithVolpano.op_abs_interp_seclevel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.op_abs", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "lemma_Benton2004.DDCC.holds_ns_delta", - "lemma_Benton2004.DDCC.holds_ns_t" - ], - 0, - "c72f54877abf8da639e0d6d8cf922763" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_op", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.eop" - ], - 0, - "2e490e787770e890c1a92ab7a6dbcd63" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_assign", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "0473214dee3aef872b60ced074bd3989" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_assign", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Benton2004.SmithVolpano.High", - "constructor_distinct_Benton2004.SmithVolpano.Low", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.assign", "equation_Benton2004.var", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "97ba27d37f1e0d81212586d652e1a784" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", "constructor_distinct_Benton2004.SmithVolpano.High", - "constructor_distinct_Benton2004.SmithVolpano.Low", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.seq", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "lemma_Benton2004.DDCC.d_seq", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "typing_Benton2004.SmithVolpano.interp_context" - ], - 0, - "fad2e8407160e2f04acc35c085a800ec" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_ifthenelse", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "lemma_Benton2004.DDCC.d_bre", "lemma_Benton2004.DDCC.d_ifthenelse", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.skip" - ], - 0, - "9219e3dc3e99f88f573fdb1bd7d74be8" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_while", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", "constructor_distinct_Benton2004.SmithVolpano.Low", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "lemma_Benton2004.DDCC.d_whl", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "typing_Benton2004.SmithVolpano.interp_context" - ], - 0, - "3054480ed0c439b96a1c4754706ff222" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_low_to_high", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "constructor_distinct_Benton2004.SmithVolpano.High", - "constructor_distinct_Benton2004.SmithVolpano.Low", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.eval_equiv", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.included", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "lemma_Benton2004.DDCC.d_esub", - "lemma_Benton2004.DDCC.holds_ns_delta", - "lemma_Benton2004.DDCC.holds_ns_t", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.reify_exp", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "c20006bebc6a4c174886e153275a0d08" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_high_to_low", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "@query", "constructor_distinct_Benton2004.SmithVolpano.High", - "constructor_distinct_Benton2004.SmithVolpano.Low", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.exec_equiv", - "equation_with_fuel_Benton2004.SmithVolpano.interp_context.fuel_instrumented", - "lemma_Benton2004.DDCC.exec_equiv_sym", - "lemma_Benton2004.DDCC.exec_equiv_trans", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.skip" - ], - 0, - "4391419828f5926eaa1523e30a632141" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Benton2004.SmithVolpano.fsti.hints b/examples/rel/Benton2004.SmithVolpano.fsti.hints deleted file mode 100644 index 4c5173c1acb..00000000000 --- a/examples/rel/Benton2004.SmithVolpano.fsti.hints +++ /dev/null @@ -1,250 +0,0 @@ -[ - "\u0000õX\r™\"–ìè\u0006\u001b&J™Z", - [ - [ - "Benton2004.SmithVolpano.interp_seclevel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "23209f365cc3256441f8ab450c9a95a7" - ], - [ - "Benton2004.SmithVolpano.interp_context", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_c44b6ac9014362db9329439a4299fe18_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.DDCC.nstype", "equation_Benton2004.DDCC.per", - "equation_Benton2004.DDCC.st_cons", - "equation_Benton2004.DDCC.st_fresh_in", - "equation_Benton2004.DDCC.st_var", "equation_Benton2004.DDCC.sttype", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.interp_seclevel", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_Benton2004.DDCC.holds_st_intersect", - "lemma_Benton2004.DDCC.holds_st_nil", - "lemma_Benton2004.DDCC.holds_st_var", - "lemma_Benton2004.is_per_holds_sym", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "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_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_61d3070d02b1b36e0e4370204da51343", - "refinement_interpretation_Tm_refine_a966fc9ff097cba5ee1a94fa7b7f3341", - "refinement_interpretation_Tm_refine_ead654012437dd38d360bd9556aa1705", - "refinement_interpretation_Tm_refine_fe9751fc724966bb9d3eda4f9340703a", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.DDCC.st_var", - "typing_Benton2004.SmithVolpano.interp_context", - "typing_Benton2004.SmithVolpano.interp_seclevel", - "typing_Benton2004.var", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.int", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "d04dd569600257e75299ecd8c441dad2" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Benton2004.SmithVolpano.High", - "disc_equation_Benton2004.SmithVolpano.Low", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f919655d59a956e3494ac2c34dd468ac" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_same", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "2e522259ca22c65df7fe88e5f6d23984" - ], - [ - "Benton2004.SmithVolpano.eval_equiv_var_other", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "f6cbd304dfa24f4c1628c3bdcfeb4b07" - ], - [ - "Benton2004.SmithVolpano.exec_equiv_assign", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "Benton2004.SmithVolpano_pretyping_8267e541b3f44ca9d1d6928c27adb705", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equality_tok_Benton2004.SmithVolpano.High@tok", - "equality_tok_Benton2004.SmithVolpano.Low@tok", - "equation_Benton2004.SmithVolpano.context", - "equation_Benton2004.SmithVolpano.fresh_in", - "equation_Benton2004.var", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Benton2004.SmithVolpano.seclevel", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_Benton2004.SmithVolpano.seclevel@tok", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3d181466a3b96924e6698e0501726881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_Benton2004.var", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_tok_Benton2004.SmithVolpano.High@tok", - "typing_tok_Benton2004.SmithVolpano.Low@tok" - ], - 0, - "4302f36156c3b24031bc5924986556df" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Benton2004.fst.hints b/examples/rel/Benton2004.fst.hints deleted file mode 100644 index 37bb38d3678..00000000000 --- a/examples/rel/Benton2004.fst.hints +++ /dev/null @@ -1,923 +0,0 @@ -[ - "\u0019Èlòú?÷`»=èú2Õ¡¯", - [ - [ - "Benton2004.reified_computation_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1d1fd05835aa248e705f93d5982e4581" - ], - [ - "Benton2004.reify_computation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Benton2004.computation", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3" - ], - 0, - "61a11cb32efd454173a79343796ab4ff" - ], - [ - "Benton2004.skip", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", - "interpretation_Tm_abs_454b5c8be0f759bcdd62149a698a8067", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627" - ], - 0, - "b654891088e980deb56f064d40888669" - ], - [ - "Benton2004.reify_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap" - ], - 0, - "92c2d921b102bb3132dbaed6ad8904a7" - ], - [ - "Benton2004.const", - 1, - 2, - 1, - [ "@query" ], - 0, - "2958bd6dd4aba09ecd23023247d2b377" - ], - [ - "Benton2004.evar", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.var", - "typing_FStar.DM4F.Heap.IntStoreFixed.index" - ], - 0, - "b6be68f3ec1828f305a6a0854093cac0" - ], - [ - "Benton2004.assign", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reify_raw_computation", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_f78feaf94612d60cddafba586931d8da" - ], - 0, - "47f3d0bdb3f0d07e71f783b5317375e8" - ], - [ - "Benton2004.while_raw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "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, - "abfc811977d1d8ad94c84d8624819e77" - ], - [ - "Benton2004.while", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.reify_raw_computation", - "function_token_typing_Benton2004.while_raw", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "token_correspondence_Benton2004.reify_raw_computation" - ], - 0, - "3a6307c1baf983aec0ea76b9c8137186" - ], - [ - "Benton2004.is_per_holds_sym", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.is_per" ], - 0, - "06b5372229464fd67359ad40ee833845" - ], - [ - "Benton2004.per_holds_trans", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.is_per" ], - 0, - "2e47ceeddc720501ecfac57b30fc8c62" - ], - [ - "Benton2004.holds_intersect", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.intersect", - "interpretation_Tm_abs_0c3c3776232d8864b92d4e7ab3c428d5", - "l_and-interp", "token_correspondence_Benton2004.intersect" - ], - 0, - "5b35ae9a1ba64173e06b31568451d7ea" - ], - [ - "Benton2004.interpolable_elim", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.interpolable" ], - 0, - "faa44fa9caaa028b32cdd6fcb36adf45" - ], - [ - "Benton2004.terminates_equiv_reified_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Benton2004.sttype", - "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", "lemma_Benton2004.is_per_holds_sym", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap" - ], - 0, - "0abdf9ce2c566a57075c71c61f157fa7" - ], - [ - "Benton2004.holds_flip", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.flip", - "function_token_typing_Benton2004.flip", - "interpretation_Tm_abs_13e1a32540ac087750a1053d59e4a269" - ], - 0, - "6e5670a51a23815920e223dc4ed8d0ce" - ], - [ - "Benton2004.holds_flip'", - 1, - 2, - 1, - [ "@query" ], - 0, - "255384db41eb353cbd34fbb512b2906a" - ], - [ - "Benton2004.eval_equiv_flip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", "equation_Benton2004.flip", - "equation_Benton2004.reified_exp", "equation_Benton2004.reify_exp", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "36b6566443b5702c0ee3bc4039187e3c" - ], - [ - "Benton2004.exec_equiv_flip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", "equation_Benton2004.flip", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_computation", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool" - ], - 0, - "8165df94dc9f86f49ac9a598da574453" - ], - [ - "Benton2004.eval_equiv_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.nstype", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", "equation_Benton2004.sttype", - "equation_Prims.eqtype", "lemma_Benton2004.is_per_holds_sym", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "b7472f79b6f018992369f2cefdc491e3" - ], - [ - "Benton2004.exec_equiv_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.sttype", - "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", "lemma_Benton2004.is_per_holds_sym", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_computation", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool" - ], - 0, - "baa12388c010735e9a58a32a5619f921" - ], - [ - "Benton2004.eval_equiv_trans", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.nstype", "equation_Benton2004.reified_exp", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_exp", - "lemma_Benton2004.per_holds_trans", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6ac7c3f2c345ed548558d0c5f5e5db36", - "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "cd94819f558352737e6fb895467c760e" - ], - [ - "Benton2004.exec_equiv_reified_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.sttype", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "lemma_Benton2004.per_holds_trans", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_Prims.bool" - ], - 0, - "f54470250c9db1fa465d4fc39d7461f2" - ], - [ - "Benton2004.exec_equiv_trans", - 1, - 2, - 1, - [ "@query", "equation_Benton2004.exec_equiv" ], - 0, - "9dfcea98b237f6e8951f556878d00b1c" - ], - [ - "Benton2004.d_esub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.included", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "e30f3cf85dea1f3852e4cbf5f0e31aeb" - ], - [ - "Benton2004.d_csub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.included", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_computation", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool" - ], - 0, - "1fe97525203710f622c66efa12d57319" - ], - [ - "Benton2004.eop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_ca13e3f48edab78b734271373e04eb58" - ], - 0, - "b0d91a2cd81f5a7a92837e2803932d2c" - ], - [ - "Benton2004.d_op", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "equation_Benton2004.eop", "equation_Benton2004.eval_equiv", - "equation_Benton2004.eval_equiv_reified", - "equation_Benton2004.op_abs", "equation_Benton2004.reified_exp", - "equation_Benton2004.reify_exp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_05240244b80fb15ad0f10a3eca729431", - "interpretation_Tm_abs_db01b848f41e001cf1941b274374e070", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "78cdf50689326953b60257b450c9175e" - ], - [ - "Benton2004.d_skip", - 1, - 2, - 1, - [ - "@query", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "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" - ], - 0, - "01a321455e776fc57ca20f7f637769ac" - ], - [ - "Benton2004.d_seq_terminates", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "int_inversion", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "typing_Benton2004.reify_computation", "typing_Benton2004.seq", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool" - ], - 0, - "c4bc6ad32d1ebab1a3be823b25ab83f4" - ], - [ - "Benton2004.d_seq_terminates_recip", - 1, - 2, - 1, - [ "@query", "lemma_Benton2004.exec_equiv_flip" ], - 0, - "8fef82c6f0429a5b7633543151587e28" - ], - [ - "Benton2004.d_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_1285dd2c73db8941cacfe4452dddd543", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "int_inversion", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "typing_Benton2004.seq", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool" - ], - 0, - "d95fc3cb3bb29c1babd73b127313fc39" - ], - [ - "Benton2004.d_su1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Benton2004.reify_computation", "typing_Benton2004.seq", - "typing_Benton2004.skip" - ], - 0, - "41dc812fe3b2abead153ac9d0637d723" - ], - [ - "Benton2004.d_su1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "int_inversion", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "lemma_Benton2004.d_seq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Benton2004.reify_computation", "typing_Benton2004.skip" - ], - 0, - "6f6e202ca9f8bc4016ef470bb80f02fb" - ], - [ - "Benton2004.d_su2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Benton2004.computation", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Benton2004.reify_computation", "typing_Benton2004.seq", - "typing_Benton2004.skip", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "e3ddc2c1db06799e83a15b0fa6555660" - ], - [ - "Benton2004.d_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_arrow_1285dd2c73db8941cacfe4452dddd543", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "int_inversion", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "typing_Benton2004.reify_computation", "typing_Benton2004.seq" - ], - 0, - "fa9bd596ce5d993576c93a9b06b71559" - ], - [ - "Benton2004.d_cc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.ifthenelse", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Prims.nat", - "function_token_typing_Benton2004.reify_computation", - "int_inversion", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "lemma_Benton2004.d_seq", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "typing_Benton2004.ifthenelse" - ], - 0, - "503f538beaaf7941b7b5193b91438c63" - ], - [ - "Benton2004.d_lu1", - 1, - 2, - 8, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", - "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.ifthenelse", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Benton2004.while", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Benton2004.reify_computation", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Benton2004.while_raw", - "typing_Benton2004.while" - ], - 0, - "10da0c0a8defd6e0bb862542c2f7b92d" - ], - [ - "Benton2004.d_lu2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Benton2004.while_raw.fuel_instrumented", - "@fuel_irrelevance_Benton2004.while_raw.fuel_instrumented", "@query", - "Benton2004_interpretation_Tm_arrow_1285dd2c73db8941cacfe4452dddd543", - "Benton2004_interpretation_Tm_arrow_cd9d72794a1454c9b3619d77b7441ef7", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_Benton2004.computation", "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.ifthenelse", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.seq", "equation_Benton2004.skip", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", "equation_Benton2004.while", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Benton2004.while_raw.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Benton2004.reify_computation", - "function_token_typing_Benton2004.reify_exp", - "function_token_typing_Benton2004.while_raw", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2750257ea4a2c2fdb911fa59cc694cb8", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_5fffbaab5ed84c2ecbe07b8d1484d407", - "interpretation_Tm_abs_709f1298c3b73dc9be2f5700cdf37adc", - "interpretation_Tm_abs_b30f0b3753ef47eacd242b10b62f2aa4", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "interpretation_Tm_abs_eb76af3901e6105d4adb5e8b4f07aa9b", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_98bab58300920db5b4d86ea67bf8d929", - "token_correspondence_Benton2004.reify_computation", - "token_correspondence_Benton2004.reify_exp", - "token_correspondence_Benton2004.while_raw", - "typing_Benton2004.ifthenelse", - "typing_Benton2004.reify_raw_computation", "typing_Benton2004.seq", - "typing_Benton2004.skip", "typing_Benton2004.while", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.bool", - "typing_Tm_abs_b8da5091b45232ea0c6f371e58950627", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "d535279e0c4cf147458707dff79ccdcb" - ], - [ - "Benton2004.d_bre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Benton2004_interpretation_Tm_ghost_arrow_6cc8bd95e3e8db61afae78332db197c3", - "Benton2004_interpretation_Tm_ghost_arrow_f8401d3d773b9e69e10687c602a91ef7", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Benton2004.computation", - "equation_Benton2004.exec_equiv", - "equation_Benton2004.exec_equiv_reified", - "equation_Benton2004.fuel_monotonic", - "equation_Benton2004.ifthenelse", "equation_Benton2004.mention", - "equation_Benton2004.reified_computation", - "equation_Benton2004.reified_exp", - "equation_Benton2004.reified_raw_computation", - "equation_Benton2004.reify_computation", - "equation_Benton2004.reify_exp", - "equation_Benton2004.reify_raw_computation", - "equation_Benton2004.terminates_equiv_reified", - "equation_Benton2004.terminates_on", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_40d61c42a903e660259e28db6b14dfa2", - "interpretation_Tm_abs_b8da5091b45232ea0c6f371e58950627", - "interpretation_Tm_abs_d0ba23e9732407982e7ea292203fc945", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0be0db94a4eae6427c785be8427a464f", - "refinement_interpretation_Tm_refine_30eb093c052ab4e41dc60a4284fbd45f", - "refinement_interpretation_Tm_refine_32ecad41844a1dffa570f0351eb2a1a3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Benton2004.ifthenelse", - "typing_Benton2004.reify_computation", "typing_Benton2004.reify_exp", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "9b713cb18160df8c79180fa0922aa921" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Bijection.fst.hints b/examples/rel/Bijection.fst.hints deleted file mode 100644 index 40dc50d62c7..00000000000 --- a/examples/rel/Bijection.fst.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "óªëÍ\u0001o\u0017€^\u001bІu\u0011T", - [ - [ - "Bijection.lemma_inverses_bij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bijection_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "equation_Bijection.bijection", "equation_Bijection.injection", - "equation_Bijection.inverses", "equation_Bijection.surjection" - ], - 0, - "21e1637d7d265de002915d777893d8d6" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/ElGamal.Group.fst.hints b/examples/rel/ElGamal.Group.fst.hints deleted file mode 100644 index cef79e15859..00000000000 --- a/examples/rel/ElGamal.Group.fst.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "\u001crO\bœ|Jµi¹\u001fzñ{\u0019\r", - [ - [ - "ElGamal.Group.mul_pow", - 1, - 2, - 1, - [ "@query" ], - 0, - "1bfce90e75b174a6b53f1debe40dbe9b" - ], - [ - "ElGamal.Group.mod_plus_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "b8b0c678addc2ef6d42f941d466e98d6" - ], - [ - "ElGamal.Group.mod_minus_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178" - ], - 0, - "d741ffd0b5f79b345695b90aa8d2ce8a" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/ElGamal.fst.hints b/examples/rel/ElGamal.fst.hints deleted file mode 100644 index c01b9f6142a..00000000000 --- a/examples/rel/ElGamal.fst.hints +++ /dev/null @@ -1,112 +0,0 @@ -[ - "\fAë«\n\u0012eâí‹\b=Þ\u001a’Ú", - [ - [ - "ElGamal.bij'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_ElGamal.Group.group", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.sel", - "equation_FStar.DM4F.Heap.Random.size", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_ElGamal.Group.mod_minus_plus", - "lemma_ElGamal.Group.mod_plus_minus", - "lemma_FStar.DM4F.Heap.Random.lemma_eq_intro", - "lemma_FStar.DM4F.Heap.Random.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.Random.lemma_index_upd2", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c214c9b992936e25888fdce6a55eb676", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", - "typing_ElGamal.Group.log", "typing_FStar.DM4F.Heap.Random.q", - "typing_FStar.DM4F.Heap.Random.sel", - "typing_FStar.DM4F.Heap.Random.to_id", - "typing_FStar.DM4F.Heap.Random.upd" - ], - 0, - "b863ff37971c6d8bc138d9bf0b7666b6" - ], - [ - "ElGamal.elgamal_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DM4F.Heap.Random.elem", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", - "typing_FStar.DM4F.Heap.Random.q" - ], - 0, - "89fef2d21de00b039e3e32c5d4988af6" - ], - [ - "ElGamal.elgamal_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "ElGamal_interpretation_Tm_arrow_4bf52692a656ccea9585797f5e573a83", - "FStar.DM4F.Random.__proj__RAND__item__get_equality", - "FStar.DM4F.Random_interpretation_Tm_arrow_94c158f8d4432cbb9324ef8d51167f92", - "FStar.DM4F.Random_interpretation_Tm_arrow_ddc1797fe0225acea7509e9e52d69401", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_ElGamal.Group.group", "equation_ElGamal.bij_", - "equation_ElGamal.elgamal", "equation_ElGamal.elgamal_", - "equation_FStar.DM4F.Heap.Random.elem", - "equation_FStar.DM4F.Heap.Random.sel", - "equation_FStar.DM4F.Heap.Random.size", - "equation_FStar.DM4F.Random.point", - "equation_FStar.DM4F.Random.sample", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_08b2c35cfaeb2e20bb589307624ccf4c", - "interpretation_Tm_abs_477d3d1e9836c871c9c7462413a82773", - "interpretation_Tm_abs_4ce18f071b8caf7306002bfd3e2115b2", - "lemma_ElGamal.elgamal_prop", - "lemma_FStar.DM4F.Heap.Random.lemma_index_upd1", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "proj_equation_FStar.DM4F.Random.Bijection_f", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.DM4F.Random.Bijection_f", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e17e297b1b00b7c23a6419a699394da", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58a086443339478d36dbba851cb85235", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c45738073e069418e791c7f105cc9178", - "refinement_interpretation_Tm_refine_cfc842179a3acfd8a193ab15227d0b0b", - "token_correspondence_FStar.DM4F.Random.__proj__Bijection__item__f", - "typing_ElGamal.elgamal", "typing_ElGamal.elgamal_", - "typing_FStar.DM4F.Heap.Random.id", - "typing_FStar.DM4F.Heap.Random.index", - "typing_FStar.DM4F.Heap.Random.q", - "typing_FStar.DM4F.Heap.Random.tape", - "typing_FStar.DM4F.Heap.Random.to_id", - "typing_FStar.DM4F.Random.sample", - "typing_Tm_abs_4ce18f071b8caf7306002bfd3e2115b2", "unit_typing" - ], - 0, - "ef237a92fe071f8fbf648071e7131c5f" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Equivalence.fst.hints b/examples/rel/Equivalence.fst.hints deleted file mode 100644 index d819ec4528b..00000000000 --- a/examples/rel/Equivalence.fst.hints +++ /dev/null @@ -1,59 +0,0 @@ -[ - "\u0004þpó½ü6½G\u000b3Qwà%ò", - [ - [ - "Equivalence.if_left", - 1, - 2, - 1, - [ - "@query", "interpretation_Tm_abs_b1c8883932587d6e77c9b9f49bf1529e", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "108a36de591da1c9d65b72a19e36bede" - ], - [ - "Equivalence.if_left_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "interpretation_Tm_abs_05c3413dc4edfd6c38ded12b8b1dcb1b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_094528a14195bb43a4115d3ab2b2fa93" - ], - 0, - "106d3e46f424e9ba9062cff7adc6b0ca" - ], - [ - "Equivalence.if_left_wp", - 2, - 2, - 1, - [ "@query" ], - 0, - "996029e74358adf018822d634b2a831a" - ], - [ - "Equivalence.if_left_wp'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_b1c8883932587d6e77c9b9f49bf1529e", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1b1eb13a580a20bc2322fb527824ddae" - ], - 0, - "6cd094fe65ad051b91fc27ed74c1bcf4" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcComposeReify.fst.hints b/examples/rel/IfcComposeReify.fst.hints deleted file mode 100644 index 6c0fbb9a909..00000000000 --- a/examples/rel/IfcComposeReify.fst.hints +++ /dev/null @@ -1,153 +0,0 @@ -[ - "%\u0018gž\u001f8T¯\u0017sÙX \f\u0010", - [ - [ - "IfcComposeReify.ni_p1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", - "disc_equation_IfcComposeReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcComposeReify.is_x", - "equation_IfcComposeReify.low_equiv", "equation_IfcComposeReify.p1", - "equation_IfcComposeReify.p1_r", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.IntStoreFixed.write", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing" - ], - 0, - "75465fb4aeffc6f970f4e69657e5633b" - ], - [ - "IfcComposeReify.ni_p2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_typing", - "disc_equation_IfcComposeReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcComposeReify.is_x", - "equation_IfcComposeReify.low_equiv", "equation_IfcComposeReify.p2", - "equation_IfcComposeReify.p2_r", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.IntStoreFixed.write", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing" - ], - 0, - "9ac54c3454a934260572e6b5b95aa645" - ], - [ - "IfcComposeReify.ni_p3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.DM4F.IntStoreFixed_interpretation_Tm_arrow_b2d6b30e9174a09501e8a5719e7357a0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_IfcComposeReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcComposeReify.is_x", - "equation_IfcComposeReify.low_equiv", "equation_IfcComposeReify.p1", - "equation_IfcComposeReify.p1_r", "equation_IfcComposeReify.p2", - "equation_IfcComposeReify.p2_r", "equation_IfcComposeReify.p3", - "equation_IfcComposeReify.p3_r", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_8b75b2dcc80e5f7725ee53b5d022ae38", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_03a927a17b13c20652477177d78fbc88", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.DM4F.IntStoreFixed.write", - "typing_IfcComposeReify.p1_r", "typing_IfcComposeReify.p2_r", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing" - ], - 0, - "03c7eac0f1480b010485dfa1e7bc4742" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcDeclassify.fst.hints b/examples/rel/IfcDeclassify.fst.hints deleted file mode 100644 index d4a18d9fc58..00000000000 --- a/examples/rel/IfcDeclassify.fst.hints +++ /dev/null @@ -1,80 +0,0 @@ -[ - "\tœqÀÄD0(\u0010ÆèÊ„|2s", - [ - [ - "IfcDeclassify.ni_p1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcDeclassify.__proj__STATE__item__get_equality", - "IfcDeclassify.__proj__STATE__item__put_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p1", - "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", - "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", - "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", - "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "unit_typing" - ], - 0, - "36d50cd92fea03695790769bac1c2768" - ], - [ - "IfcDeclassify.ni_p2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcDeclassify.__proj__STATE__item__get_equality", - "IfcDeclassify.__proj__STATE__item__put_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcDeclassify.low_equiv", "equation_IfcDeclassify.p2", - "interpretation_Tm_abs_060fb0145582815ad5d57a5db47359d7", - "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", - "interpretation_Tm_abs_cf5d9a25e2ec20e0acdb40514a0389c2", - "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_IfcDeclassify.Mkstate_public", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_IfcDeclassify.Mkstate_public", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "unit_typing" - ], - 0, - "e7acdc611e429f3d39663d1b8f5a3c64" - ], - [ - "IfcDeclassify.ni_p4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcDeclassify.__proj__STATE__item__put_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", "equation_IfcDeclassify.p4", - "interpretation_Tm_abs_0f8654d7239488f093d83aa1c1768f47", - "interpretation_Tm_abs_e162a7d3105291b2cbbda7621a49cf36", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_IfcDeclassify.Mkstate_release", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_IfcDeclassify.Mkstate_release", "unit_typing" - ], - 0, - "940839d428b8fef0587dbf6eaba0e056" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedRelease.fst.hints b/examples/rel/IfcDelimitedRelease.fst.hints deleted file mode 100644 index 76aa71d90da..00000000000 --- a/examples/rel/IfcDelimitedRelease.fst.hints +++ /dev/null @@ -1,851 +0,0 @@ -[ - "4d}Á=kíê\u007f °AÅga¤", - [ - [ - "IfcDelimitedRelease.refs_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9bde3db3b6043b2fb2d90fefaba897c3_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "4f998da69f0e5bd2c1a1d801d5cc7da4" - ], - [ - "IfcDelimitedRelease.prog", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "76aa7bc45512ed6978682c47941d919f" - ], - [ - "IfcDelimitedRelease.low_equiv", - 1, - 2, - 1, - [ "@query" ], - 0, - "73d71318833ff9118b45427d208a902f" - ], - [ - "IfcDelimitedRelease.g_for_all", - 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, - "77bc92e7fd532bb748e9d81a3dbdcc21" - ], - [ - "IfcDelimitedRelease.del_rel", - 1, - 2, - 1, - [ "@query" ], - 0, - "9e65b8538223c8b3f4aba0aa8180d2ac" - ], - [ - "IfcDelimitedRelease.del_rel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_33bc10db63ef26eac973ff2cc57125df", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length", - "typing_Prims.int" - ], - 0, - "473fa959126d6ac70683b03d3b84b575" - ], - [ - "IfcDelimitedRelease.test", - 1, - 4, - 2, - [ - "@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_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "24d78868704021843d9d5e0df8b6fa8c" - ], - [ - "IfcDelimitedRelease.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0db0e65e8e337690cbebd05594d0c498" - ], - [ - "IfcDelimitedRelease.verify_test", - 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_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length", - "typing_Prims.int" - ], - 0, - "ee8ec963153d2b8a099bbb5eb942662e" - ], - [ - "IfcDelimitedRelease.verify_test", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcDelimitedRelease.High", - "constructor_distinct_IfcDelimitedRelease.Low", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedRelease.Low", - "equality_tok_IfcDelimitedRelease.High@tok", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_IfcDelimitedRelease.del_rel", - "equation_IfcDelimitedRelease.iexpr", - "equation_IfcDelimitedRelease.iexpr_eq", - "equation_IfcDelimitedRelease.low_equiv", - "equation_IfcDelimitedRelease.rel_contains", - "equation_IfcDelimitedRelease.test", "equation_Prims.eqtype", - "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedRelease.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_159865349521372ad9811da827e4930e", - "interpretation_Tm_abs_d3a89872dba6d38d4d1599aa797a3ea5", - "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", - "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Rel.R_l", - "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_IfcDelimitedRelease.iexpr_eq", - "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_IfcDelimitedRelease.g_for_all", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_159865349521372ad9811da827e4930e" - ], - 0, - "6dccef6fdb3fa5c2b78aa7037fdbd416" - ], - [ - "IfcDelimitedRelease.sum", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "1f41b22303a60d6f3fbe83806a2c6472" - ], - [ - "IfcDelimitedRelease.sum", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0db0e65e8e337690cbebd05594d0c498" - ], - [ - "IfcDelimitedRelease.verify_sum", - 1, - 8, - 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_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length", - "typing_Prims.int" - ], - 0, - "841de4a63a18e7c403633ff521cb94fb" - ], - [ - "IfcDelimitedRelease.verify_sum", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.Heap.ref", - "equation_FStar.Heap.trivial_preorder", - "equation_IfcDelimitedRelease.bexpr", - "equation_IfcDelimitedRelease.del_rel", - "equation_IfcDelimitedRelease.iexpr", - "equation_IfcDelimitedRelease.iexpr_eq", - "equation_IfcDelimitedRelease.low_equiv", - "equation_IfcDelimitedRelease.rel_contains", - "equation_IfcDelimitedRelease.sum", "equation_Prims.eqtype", - "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedRelease.bexpr_eq", - "function_token_typing_IfcDelimitedRelease.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_61cd66595b3820a3e0bf75c013334561", - "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", - "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", - "l_and-interp", "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_IfcDelimitedRelease.iexpr_eq", - "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_IfcDelimitedRelease.g_for_all", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" - ], - 0, - "a1d080d2a2ebb1e1d1242fecd197388f" - ], - [ - "IfcDelimitedRelease.sum_swap", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "3914aac3063a83de913e43b7bad9df25" - ], - [ - "IfcDelimitedRelease.sum_swap", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0db0e65e8e337690cbebd05594d0c498" - ], - [ - "IfcDelimitedRelease.verify_sum_swap", - 1, - 8, - 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_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length", - "typing_Prims.int" - ], - 0, - "841de4a63a18e7c403633ff521cb94fb" - ], - [ - "IfcDelimitedRelease.verify_sum_swap", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_ca5f734abdcc6673070208e2af0815e2", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_cc6398078858b69925aca0d956a4bad0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcDelimitedRelease.High", - "constructor_distinct_IfcDelimitedRelease.Low", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedRelease.Low", "eq2-interp", - "equality_tok_IfcDelimitedRelease.High@tok", - "equality_tok_IfcDelimitedRelease.Low@tok", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_IfcDelimitedRelease.bexpr", - "equation_IfcDelimitedRelease.del_rel", - "equation_IfcDelimitedRelease.env", - "equation_IfcDelimitedRelease.iexpr", - "equation_IfcDelimitedRelease.iexpr_eq", - "equation_IfcDelimitedRelease.low_equiv", - "equation_IfcDelimitedRelease.rel_contains", - "equation_IfcDelimitedRelease.sum_swap", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedRelease.bexpr_eq", - "function_token_typing_IfcDelimitedRelease.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_0af7f196ba1cbc07e74809b7abbecff4", - "interpretation_Tm_abs_61cd66595b3820a3e0bf75c013334561", - "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", - "kinding_Tm_ghost_arrow_c1c0bc18c968aa5a062af710123f23be", - "l_and-interp", "l_or-interp", - "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_IfcDelimitedRelease.iexpr_eq", - "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.mref", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_IfcDelimitedRelease.g_for_all", - "typing_IfcDelimitedRelease.uu___is_Low", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_0af7f196ba1cbc07e74809b7abbecff4", - "typing_Tm_abs_61cd66595b3820a3e0bf75c013334561" - ], - 0, - "aa812c0db028936497c54769bd8db0f9" - ], - [ - "IfcDelimitedRelease.sum_att", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6972f42faf29bfbdfb482b87028d4cc1", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "7c12e87462c2649efe6f3797ed3fd106" - ], - [ - "IfcDelimitedRelease.sum_att", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d594da885611a2f365160963f6f71192" - ], - [ - "IfcDelimitedRelease.wallet", - 1, - 4, - 2, - [ - "@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_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_eaa6af43830359e718bf8afdc42f6bf5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "f3014c2fdc8f14e2232952a6939e3a4b" - ], - [ - "IfcDelimitedRelease.wallet", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d594da885611a2f365160963f6f71192" - ], - [ - "IfcDelimitedRelease.verify_wallet", - 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_FStar.Heap.ref", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.ref", "typing_FStar.List.Tot.Base.length", - "typing_Prims.int" - ], - 0, - "4305ea6b5e89844b10ef37d5e5957d96" - ], - [ - "IfcDelimitedRelease.verify_wallet", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@query", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_53dd7ded5e11e7eaf12112b7503f3c56", - "IfcDelimitedRelease_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_IfcDelimitedRelease.High", - "constructor_distinct_IfcDelimitedRelease.Low", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedRelease.Low", "eq2-interp", - "equality_tok_IfcDelimitedRelease.High@tok", - "equality_tok_IfcDelimitedRelease.Low@tok", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_IfcDelimitedRelease.bexpr", - "equation_IfcDelimitedRelease.bexpr_eq", - "equation_IfcDelimitedRelease.del_rel", - "equation_IfcDelimitedRelease.low_equiv", - "equation_IfcDelimitedRelease.rel_contains", - "equation_IfcDelimitedRelease.wallet", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.g_for_all.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedRelease.bexpr_eq", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_7af0828ee869ba8b9278405ff5a09f7a", - "interpretation_Tm_abs_b11839f9561d1cf4aa3eddb3679466a6", - "kinding_Tm_ghost_arrow_888af68e7518cbbf754945dfbdd439d3", - "l_and-interp", "l_or-interp", - "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Rel.R_l", - "proj_equation_Rel.R_r", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_IfcDelimitedRelease.bexpr_eq", - "typing_FStar.Heap.ref", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.mref", - "typing_FStar.Monotonic.Heap.upd", - "typing_IfcDelimitedRelease.g_for_all", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_7af0828ee869ba8b9278405ff5a09f7a" - ], - 0, - "61723775c5383000c135af09a98f27b8" - ], - [ - "IfcDelimitedRelease.wallet_attack_loop", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", "typing_Prims.int" - ], - 0, - "05af406cb0f47846347fc40fc0771266" - ], - [ - "IfcDelimitedRelease.wallet_attack_loop", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3a9854bd66c6f9b540d1417c2626e660_1", - "binder_x_f14fbccf1987229a63a9e5d5ceaa2ab1_0", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_IfcDelimitedRelease.wallet", "equation_Prims.eqtype", - "equation_Prims.l_Forall", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "l_quant_interp_4a7af2cbe35cf1da46bd7a94fb604973", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", - "refinement_interpretation_Tm_refine_3c3ea66d312ddf9d12e2fa683a996ecd", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "0bdf5d4ff167df6bdf6f20b3605fb5f0" - ], - [ - "IfcDelimitedRelease.wallet_attack_loop", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", "typing_Prims.int" - ], - 0, - "ec6477081dc9e17390149f26cefc0746" - ], - [ - "IfcDelimitedRelease.wallet_attack", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_Prims.eqtype", - "equation_Prims.l_Forall", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_IfcDelimitedRelease.refs_invariant.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3a8574a79a9d8330119441a0bb3648a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_62aa0f33e95f78544e07168f5af778f4", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.Heap.ref", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.mref", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int" - ], - 0, - "3a8c583c2cf7fa45e4ee7e02119a7bce" - ], - [ - "IfcDelimitedRelease.wallet_attack", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d594da885611a2f365160963f6f71192" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcDelimitedReleaseReify.fst.hints b/examples/rel/IfcDelimitedReleaseReify.fst.hints deleted file mode 100644 index f364724ec91..00000000000 --- a/examples/rel/IfcDelimitedReleaseReify.fst.hints +++ /dev/null @@ -1,1007 +0,0 @@ -[ - "G#\b_<¦}¢Ý1û\b™¶\u007f{", - [ - [ - "IfcDelimitedReleaseReify.del_rel'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9a2e7651b01c115634b832cc95b1bbf" - ], - 0, - "fa920124ae2e5e65e0d40fb1cca8190f" - ], - [ - "IfcDelimitedReleaseReify.test", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "62a638b56d695922dbeb34af1b6cc974" - ], - [ - "IfcDelimitedReleaseReify.verify_test", - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "1bae91c57a512c18df83b002d740d702" - ], - [ - "IfcDelimitedReleaseReify.verify_test", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedReleaseReify.Low", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcDelimitedReleaseReify.bexpr", - "equation_IfcDelimitedReleaseReify.del_rel", - "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.env", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.iexpr", - "equation_IfcDelimitedReleaseReify.iexpr_eq", - "equation_IfcDelimitedReleaseReify.low_equiv", - "equation_IfcDelimitedReleaseReify.rel_eq", - "equation_IfcDelimitedReleaseReify.sel", - "equation_IfcDelimitedReleaseReify.test", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", - "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_5d5db1b2e8b966b65f72595259c61892", - "interpretation_Tm_abs_74cd6c493c6979d35d76e0163e2ee286", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_d630b70fe62642785214a5f25ab54373", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", - "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_IfcDelimitedReleaseReify.uu___is_Low", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_05c8477386d8cba74577790a688cd159", - "typing_Tm_abs_5d5db1b2e8b966b65f72595259c61892", "unit_typing" - ], - 0, - "3496f9568a1ae1f1022048862c2c76cf" - ], - [ - "IfcDelimitedReleaseReify.sum4", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "01e1bc858aea2e10cc445b0bf4a72277" - ], - [ - "IfcDelimitedReleaseReify.verify_sum4", - 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_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "6e6edf683d1a79ff6ebba9991c45bdf2" - ], - [ - "IfcDelimitedReleaseReify.verify_sum4", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedReleaseReify.Low", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcDelimitedReleaseReify.bexpr", - "equation_IfcDelimitedReleaseReify.del_rel", - "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.env", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.iexpr", - "equation_IfcDelimitedReleaseReify.iexpr_eq", - "equation_IfcDelimitedReleaseReify.low_equiv", - "equation_IfcDelimitedReleaseReify.rel_eq", - "equation_IfcDelimitedReleaseReify.sel", - "equation_IfcDelimitedReleaseReify.sum4", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", - "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_0c6f276022af68d2c90a68ca00ae9cbd", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_6ece28a3618b867d30fe4fdaadc30a57", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_eff865b177b0c08399dc81dfd995ad5d", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", - "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_IfcDelimitedReleaseReify.uu___is_Low", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_6738851c7095093addf7081b81f439c0", - "typing_Tm_abs_eff865b177b0c08399dc81dfd995ad5d", "unit_typing" - ], - 0, - "d5ddec58808458aa9eed21314ed9febc" - ], - [ - "IfcDelimitedReleaseReify.sum", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "c5ecb040544e8b1b5cf2eb6efee73b35" - ], - [ - "IfcDelimitedReleaseReify.verify_sum", - 1, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "3aca5297e5dfd7e8f4940d9db2fbb24e" - ], - [ - "IfcDelimitedReleaseReify.verify_sum", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedReleaseReify.Low", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcDelimitedReleaseReify.bexpr", - "equation_IfcDelimitedReleaseReify.del_rel", - "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.env", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.iexpr", - "equation_IfcDelimitedReleaseReify.iexpr_eq", - "equation_IfcDelimitedReleaseReify.low_equiv", - "equation_IfcDelimitedReleaseReify.rel_eq", - "equation_IfcDelimitedReleaseReify.sel", - "equation_IfcDelimitedReleaseReify.sum", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", - "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1734aba4fa1d2ecf806e2684fd4943e0", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_8445202ffcf3e7c459c3fe953294463a", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_b3d5ee0fc3024f5a3a530181e6360e07", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", - "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_IfcDelimitedReleaseReify.uu___is_Low", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_72ecc62be215167123f2c2c36a3e660c", - "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a", "unit_typing" - ], - 0, - "0c8e0f178a96b180fc575f6d332fd42b" - ], - [ - "IfcDelimitedReleaseReify.sum_swap", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "8bc8260a53fb60f37c756bd4d41176de" - ], - [ - "IfcDelimitedReleaseReify.length6", - 1, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "ed45afebd1688a5a4b117f7919a45617" - ], - [ - "IfcDelimitedReleaseReify.sum_swap_help", - 1, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "6e1de4540c180d9e38949f5a01092920" - ], - [ - "IfcDelimitedReleaseReify.sum_swap_help", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.sel", - "equation_IfcDelimitedReleaseReify.sum_swap", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_8a9abbdb79fad76810d75c23c3afec9e", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", - "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "unit_typing" - ], - 0, - "6165927b6da06ba576eb7c0837fedfb9" - ], - [ - "IfcDelimitedReleaseReify.verify_sum_swap", - 1, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "e6edb72f97dade49a7159ec0f09b1347" - ], - [ - "IfcDelimitedReleaseReify.verify_sum_swap", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_110868616776d1eee0eb7f537ee349e8", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcDelimitedReleaseReify.High", - "constructor_distinct_IfcDelimitedReleaseReify.Low", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedReleaseReify.Low", - "equality_tok_IfcDelimitedReleaseReify.High@tok", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.iexpr", - "equation_IfcDelimitedReleaseReify.iexpr_eq", - "equation_IfcDelimitedReleaseReify.low_equiv", - "equation_IfcDelimitedReleaseReify.rel_eq", - "equation_IfcDelimitedReleaseReify.sel", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_IfcDelimitedReleaseReify.iexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_72ecc62be215167123f2c2c36a3e660c", - "interpretation_Tm_abs_8445202ffcf3e7c459c3fe953294463a", - "interpretation_Tm_abs_b3d5ee0fc3024f5a3a530181e6360e07", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "kinding_Tm_arrow_f25e2a177497037e71582d7c9531f27d", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d1ba3efe80c495c4c23cd19c5b413856", - "token_correspondence_IfcDelimitedReleaseReify.iexpr_eq", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_Tm_abs_8445202ffcf3e7c459c3fe953294463a" - ], - 0, - "5a1bc0a7ec1b187db7b985193f61852c" - ], - [ - "IfcDelimitedReleaseReify.sum_att", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b2f2093e3a09f0bcf5960ff6a4b95dd5", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "727d162a2c45062c2fd7b93f1a32b0e7" - ], - [ - "IfcDelimitedReleaseReify.wallet", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_136b16c9f8ac9a7271eaa40df3bd5ead", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "64ac01bbea1146f6681a3236dc881aae" - ], - [ - "IfcDelimitedReleaseReify.verify_wallet", - 1, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "549206a00c4a038a3dcf20970e8ea368" - ], - [ - "IfcDelimitedReleaseReify.verify_wallet", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_3cc7175fd65342b981d888d9966735e3", - "IfcDelimitedReleaseReify_interpretation_Tm_arrow_ac19a5c9813efdb2b2434431a78f9376", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_IfcDelimitedReleaseReify.High", - "constructor_distinct_IfcDelimitedReleaseReify.Low", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_IfcDelimitedReleaseReify.Low", - "equality_tok_IfcDelimitedReleaseReify.High@tok", - "equality_tok_IfcDelimitedReleaseReify.Low@tok", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcDelimitedReleaseReify.bexpr", - "equation_IfcDelimitedReleaseReify.bexpr_eq", - "equation_IfcDelimitedReleaseReify.del_rel", - "equation_IfcDelimitedReleaseReify.del_rel_", - "equation_IfcDelimitedReleaseReify.env", - "equation_IfcDelimitedReleaseReify.get_heap", - "equation_IfcDelimitedReleaseReify.low_equiv", - "equation_IfcDelimitedReleaseReify.rel_eq", - "equation_IfcDelimitedReleaseReify.sel", - "equation_IfcDelimitedReleaseReify.wallet", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcDelimitedReleaseReify.bexpr_eq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0f02d2e4a76ba56456d5e254f2be2a09", - "interpretation_Tm_abs_1eb84c2f1a4ea30ada6f469f9946efbf", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_3feaaedb2e69906b2230b23ec5ebfb48", - "interpretation_Tm_abs_4844b93a5c89522011aa8643d50db2ea", - "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_e6f1465af09695f5c3836da531da07aa", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "kinding_Tm_arrow_4585721726f8f0b730e5a42d862fc7d6", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_IfcDelimitedReleaseReify.bexpr_eq", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_IfcDelimitedReleaseReify.uu___is_Low", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_Tm_abs_0f02d2e4a76ba56456d5e254f2be2a09", - "typing_Tm_abs_3feaaedb2e69906b2230b23ec5ebfb48", "unit_typing" - ], - 0, - "9572a0af66a5f5ec9c772907ed7cd119" - ], - [ - "IfcDelimitedReleaseReify.wallet_attack_loop", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", - "typing_FStar.DM4F.Heap.IntStoreFixed.id" - ], - 0, - "53a7946657e98e2dc925cc9cc40352c6" - ], - [ - "IfcDelimitedReleaseReify.wallet_attack_loop", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_7ab1748f97b7be5091389973104c9c7b_0", - "binder_x_dde7165d5dbaecb2cd90361c6b388ac8_1", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_IfcDelimitedReleaseReify.sel", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_Prims.__proj__Cons__item__tl", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "8c639afcb60e7bc75ed2e66dd548efaf" - ], - [ - "IfcDelimitedReleaseReify.wallet_attack_loop", - 3, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", - "refinement_interpretation_Tm_refine_ea94f88aef1f8927c97673b19e5030e1", - "typing_FStar.DM4F.Heap.IntStoreFixed.id" - ], - 0, - "dac76727e1552b22d6623fb6a4a385b4" - ], - [ - "IfcDelimitedReleaseReify.wallet_attack", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_781f5111a173fb86be5f6f6a759ca509", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "174fac8bac18284935ef52bf1658ff66" - ], - [ - "IfcDelimitedReleaseReify.verify_wallet_attack", - 2, - 8, - 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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.DM4F.Heap.IntStoreFixed.id", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "28aea60083a7da1d432cc230ea3344ce" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcExample.fst.hints b/examples/rel/IfcExample.fst.hints deleted file mode 100644 index 0a7a4d8181e..00000000000 --- a/examples/rel/IfcExample.fst.hints +++ /dev/null @@ -1,358 +0,0 @@ -[ - "ú»YÂæaõ—zZ\u000eùͤFð", - [ - [ - "IfcExample.env", - 1, - 2, - 1, - [ "@query" ], - 0, - "fbc718bd39e369eb9122d99d158db2da" - ], - [ - "IfcExample.c1_1_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.AVar", - "constructor_distinct_While.Assign", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_While.Assign", - "data_typing_intro_Rel.R@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.Low@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcExample.c1_1", - "equation_IfcExample.env", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.op_Less", - "equation_Prims.eqtype", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.AVar__0", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_IfcExample.env", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", "typing_IfcExample.c1_1", - "typing_IfcExample.x", "typing_IfcExample.y", - "typing_IfcRules.op_Less", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" - ], - 0, - "569295b949992a85a4995d26fe721205" - ], - [ - "IfcExample.c1_2_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.AInt", "constructor_distinct_While.AOp", - "constructor_distinct_While.AVar", - "constructor_distinct_While.Assign", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_While.AOp", - "data_elim_While.Assign", "data_typing_intro_Rel.R@tok", - "data_typing_intro_While.AInt@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.Low@tok", "equality_tok_While.Plus@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcExample.c1_2", - "equation_IfcExample.env", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.op_Less", - "equation_Prims.eqtype", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.AInt__0", - "projection_inverse_While.AOp__0", "projection_inverse_While.AOp__1", - "projection_inverse_While.AOp__2", - "projection_inverse_While.AVar__0", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_IfcExample.env", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", "typing_IfcExample.c1_2", - "typing_IfcExample.x", "typing_IfcExample.y", - "typing_IfcRules.op_Less", "typing_Prims.int", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_While.interpret_exp", "typing_tok_IfcRules.Low@tok" - ], - 0, - "3b9c5f90e6a265ed644d74bdf953f71d" - ], - [ - "IfcExample.c1_3_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.AInt", "constructor_distinct_While.AOp", - "constructor_distinct_While.AVar", - "constructor_distinct_While.Assign", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_While.AOp", - "data_elim_While.Assign", "data_typing_intro_Rel.R@tok", - "data_typing_intro_While.AInt@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.Low@tok", "equality_tok_While.Plus@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcExample.c1_3", - "equation_IfcExample.env", "equation_IfcRules.label_fun", - "equation_IfcRules.label_of", "equation_IfcRules.low_equiv", - "equation_IfcRules.ni_com", "equation_IfcRules.ni_com_", - "equation_IfcRules.op_Less", "equation_Prims.eqtype", - "equation_While.id", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExample.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.AInt__0", - "projection_inverse_While.AOp__0", "projection_inverse_While.AOp__1", - "projection_inverse_While.AOp__2", - "projection_inverse_While.AVar__0", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_IfcExample.env", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", "typing_IfcExample.c1_3", - "typing_IfcExample.y", "typing_IfcExample.z", - "typing_IfcRules.label_of", "typing_IfcRules.op_Less", - "typing_Prims.int", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_While.interpret_exp", - "typing_tok_IfcRules.Low@tok" - ], - 0, - "04f11a39b29751502a95354fdf3c0ca5" - ], - [ - "IfcExample.c1_3_4_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.AInt", "constructor_distinct_While.AOp", - "constructor_distinct_While.AVar", - "constructor_distinct_While.Assign", - "constructor_distinct_While.Seq", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_While.AOp", - "data_elim_While.Assign", "data_typing_intro_Rel.R@tok", - "data_typing_intro_While.AInt@tok", - "data_typing_intro_While.Seq@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.Low@tok", "equality_tok_While.Plus@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcExample.c1_3", - "equation_IfcExample.c1_4", "equation_IfcExample.env", - "equation_IfcRules.label_fun", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.op_Less", - "equation_Prims.eqtype", "equation_While.id", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExample.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.AInt__0", - "projection_inverse_While.AOp__0", "projection_inverse_While.AOp__1", - "projection_inverse_While.AOp__2", - "projection_inverse_While.AVar__0", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "projection_inverse_While.Seq_first", - "projection_inverse_While.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_IfcExample.env", - "token_correspondence_While.interpret_com.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", "typing_IfcExample.c1_3", - "typing_IfcExample.c1_4", "typing_IfcExample.x", - "typing_IfcExample.y", "typing_IfcExample.z", - "typing_IfcRules.label_of", "typing_IfcRules.op_Less", - "typing_Prims.int", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_While.interpret_exp", - "typing_tok_IfcRules.Low@tok" - ], - 0, - "74641e606ad6a1f0cdac56718b1c6b67" - ], - [ - "IfcExample.c1_ni", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "While_pretyping_59b54fa21cedada836226afdcb64958b", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", "constructor_distinct_Tm_unit", - "constructor_distinct_While.AInt", "constructor_distinct_While.AOp", - "constructor_distinct_While.AVar", - "constructor_distinct_While.Assign", - "constructor_distinct_While.Seq", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Rel.R", - "data_elim_While.AOp", "data_elim_While.Assign", - "data_elim_While.Seq", "data_typing_intro_Rel.R@tok", - "data_typing_intro_While.AInt@tok", - "data_typing_intro_While.AVar@tok", - "data_typing_intro_While.Seq@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.High@tok", "equality_tok_IfcRules.Low@tok", - "equality_tok_While.Minus@tok", "equality_tok_While.Plus@tok", - "equality_tok_While.Skip@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcExample.c1", - "equation_IfcExample.c1_0", "equation_IfcExample.c1_1", - "equation_IfcExample.c1_2", "equation_IfcExample.c1_3", - "equation_IfcExample.c1_4", "equation_IfcExample.c1_5", - "equation_IfcExample.c1_6", "equation_IfcExample.env", - "equation_IfcRules.label_fun", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.ni_exp", - "equation_IfcRules.op_Less", "equation_Prims.eqtype", - "equation_While.id", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExample.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.AInt__0", - "projection_inverse_While.AOp__0", "projection_inverse_While.AOp__1", - "projection_inverse_While.AOp__2", - "projection_inverse_While.AVar__0", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "projection_inverse_While.Seq_first", - "projection_inverse_While.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_IfcExample.env", - "token_correspondence_While.interpret_com.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_IfcExample.c", "typing_IfcExample.c1_1", - "typing_IfcExample.c1_2", "typing_IfcExample.c1_3", - "typing_IfcExample.c1_4", "typing_IfcExample.c1_5", - "typing_IfcExample.c1_6", "typing_IfcExample.x", - "typing_IfcExample.y", "typing_IfcExample.z", - "typing_IfcRules.label_of", "typing_IfcRules.op_Less", - "typing_Prims.int", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_While.interpret_exp", - "typing_tok_IfcRules.Low@tok", "typing_tok_While.Skip@tok" - ], - 0, - "e2bf1f5b3e4aa43e7db2c23413f86ab6" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify0.fst.hints b/examples/rel/IfcExampleReify0.fst.hints deleted file mode 100644 index 6d4d3f3b2aa..00000000000 --- a/examples/rel/IfcExampleReify0.fst.hints +++ /dev/null @@ -1,109 +0,0 @@ -[ - "qœŸ9SGË‘Sšõ\u0000ˆ\b4s", - [ - [ - "IfcExampleReify0.ifc_a", - 1, - 2, - 1, - [ - "@query", "int_typing", "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "unit_typing" - ], - 0, - "5aa8917f5555bfe13827487c530cdf34" - ], - [ - "IfcExampleReify0.ifc_b", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.sel", "int_typing", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" - ], - 0, - "1f89e9b97a3e0bcc32fd862e2fee2aef" - ], - [ - "IfcExampleReify0.ni_ifc_c1", - 1, - 2, - 1, - [ "@query" ], - 0, - "bba38c3646b4bb015270bef6418f973f" - ], - [ - "IfcExampleReify0.ni_ifc_c2", - 1, - 2, - 1, - [ "@query" ], - 0, - "0f2359f06bd3109409e0f776cfaa76df" - ], - [ - "IfcExampleReify0.ni_ifc_c3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcExampleReify0.ifc_c", - "equation_IfcExampleReify0.ifc_c_r", "equation_Prims.eqtype", - "fuel_guarded_inversion_Rel.rel", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing" - ], - 0, - "3602180cb6935358e91e1cd90662c7ad" - ], - [ - "IfcExampleReify0.ni_ifc_c4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcExampleReify0.ifc_c", - "equation_IfcExampleReify0.ifc_c_r", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "unit_typing" - ], - 0, - "42d0350688be42004b1df4bc82683196" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify1.fst.hints b/examples/rel/IfcExampleReify1.fst.hints deleted file mode 100644 index daa46401db7..00000000000 --- a/examples/rel/IfcExampleReify1.fst.hints +++ /dev/null @@ -1,170 +0,0 @@ -[ - "\u001eñ\u00138‘Ðmˆâ‡ÜõÎT)ã", - [ - [ - "IfcExampleReify1.c1_1_ni", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_IfcRulesReify.Low", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcExampleReify1.c1_1", "equation_IfcExampleReify1.env", - "equation_IfcRulesReify.ni_exp", - "fuel_guarded_inversion_IfcRulesReify.label", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_IfcExampleReify1.env", "typing_IfcExampleReify1.y" - ], - 0, - "847ddc7ded3c0ef9b8975ccf3d718a2b" - ], - [ - "IfcExampleReify1.c1_2_ni", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_IfcRulesReify.Low", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcExampleReify1.c1_2", "equation_IfcExampleReify1.env", - "equation_IfcRulesReify.ni_exp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "df752cacffdbb6b198de2de593c25d15" - ], - [ - "IfcExampleReify1.c1_5_ni", - 1, - 2, - 1, - [ - "@query", "equation_IfcExampleReify1.c1_5", - "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" - ], - 0, - "802b7816351e49dacad407e0a01cf4c8" - ], - [ - "IfcExampleReify1.c1_3_4_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.AInt", - "constructor_distinct_WhileReify.AOp", - "constructor_distinct_WhileReify.AVar", - "constructor_distinct_WhileReify.Assign", - "constructor_distinct_WhileReify.Plus", - "constructor_distinct_WhileReify.Seq", "data_elim_Rel.R", - "data_elim_WhileReify.Assign", - "data_typing_intro_WhileReify.AInt@tok", - "data_typing_intro_WhileReify.AVar@tok", - "data_typing_intro_WhileReify.Seq@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_WhileReify.Plus@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_IfcExampleReify1.c1_3", "equation_IfcExampleReify1.c1_4", - "equation_IfcExampleReify1.env", "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", - "equation_WhileReify.interpret_binop", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExampleReify1.env", "int_typing", - "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.AInt__0", - "projection_inverse_WhileReify.AOp__0", - "projection_inverse_WhileReify.AOp__1", - "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", - "projection_inverse_WhileReify.Assign_term", - "projection_inverse_WhileReify.Assign_var", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_IfcExampleReify1.env", "true_interp", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcExampleReify1.c1_3", "typing_IfcExampleReify1.c1_4", - "typing_IfcExampleReify1.x", "typing_IfcExampleReify1.y", - "typing_IfcExampleReify1.z", "typing_IfcRulesReify.op_Less", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_tok_IfcRulesReify.Low@tok", "unit_typing" - ], - 0, - "813aaec33fd237a60d09634345998f5f" - ], - [ - "IfcExampleReify1.c1_6_ni", - 1, - 2, - 1, - [ "@query", "equation_IfcExampleReify1.c1_6" ], - 0, - "50f5078a0fc8776e2a83a01ad91e740c" - ], - [ - "IfcExampleReify1.c1_ni", - 1, - 2, - 1, - [ - "@query", "equation_IfcExampleReify1.c1", - "equation_IfcExampleReify1.c1_0", "equation_IfcExampleReify1.c1_6", - "equation_IfcExampleReify1.env", "primitive_Prims.op_Equality" - ], - 0, - "32b83afd4d9ea915ba59d509d379d08c" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify2.fst.hints b/examples/rel/IfcExampleReify2.fst.hints deleted file mode 100644 index aef83661bf2..00000000000 --- a/examples/rel/IfcExampleReify2.fst.hints +++ /dev/null @@ -1,248 +0,0 @@ -[ - "0›ñè-Î\u0010e+(Y]ç\u0017Íg", - [ - [ - "IfcExampleReify2.hi", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "48f156fefdebfbb6e155a1c064a214dc" - ], - [ - "IfcExampleReify2.lo", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f2d354b60e351c9bf237d2af2ff63e92" - ], - [ - "IfcExampleReify2.c", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ee112e88da937472fad1eaaa0fa4d77c" - ], - [ - "IfcExampleReify2.c_2_3_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.AInt", - "constructor_distinct_WhileReify.AOp", - "constructor_distinct_WhileReify.AVar", - "constructor_distinct_WhileReify.Assign", - "constructor_distinct_WhileReify.Plus", - "constructor_distinct_WhileReify.Seq", "data_elim_Rel.R", - "data_elim_WhileReify.Assign", - "data_typing_intro_WhileReify.AInt@tok", - "data_typing_intro_WhileReify.AVar@tok", - "data_typing_intro_WhileReify.Seq@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_WhileReify.Plus@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_IfcExampleReify2.c", "equation_IfcExampleReify2.c_2", - "equation_IfcExampleReify2.c_3", "equation_IfcExampleReify2.env", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", - "equation_WhileReify.interpret_binop", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExampleReify2.env", "int_typing", - "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.AInt__0", - "projection_inverse_WhileReify.AOp__0", - "projection_inverse_WhileReify.AOp__1", - "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", - "projection_inverse_WhileReify.Assign_term", - "projection_inverse_WhileReify.Assign_var", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_IfcExampleReify2.env", "true_interp", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcExampleReify2.c", "typing_IfcExampleReify2.c_2", - "typing_IfcExampleReify2.c_3", "typing_IfcExampleReify2.hi", - "typing_IfcExampleReify2.lo", "typing_IfcRulesReify.op_Less", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_tok_IfcRulesReify.Low@tok", "unit_typing" - ], - 0, - "81f38d16e2ca21934a11fd5ba6392230" - ], - [ - "IfcExampleReify2.cmd_ni", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_5cc3fe9a934fab146a17c236e91665d4", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.AInt", - "constructor_distinct_WhileReify.AOp", - "constructor_distinct_WhileReify.AVar", - "constructor_distinct_WhileReify.Assign", - "constructor_distinct_WhileReify.Plus", - "constructor_distinct_WhileReify.Seq", "data_elim_Rel.R", - "data_elim_WhileReify.Assign", - "data_typing_intro_WhileReify.AInt@tok", - "data_typing_intro_WhileReify.AVar@tok", - "data_typing_intro_WhileReify.Seq@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_WhileReify.Plus@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcExampleReify2.c", "equation_IfcExampleReify2.c_2", - "equation_IfcExampleReify2.c_3", "equation_IfcExampleReify2.env", - "equation_IfcExampleReify2.lo", "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", - "equation_WhileReify.interpret_binop", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_IfcExampleReify2.env", "int_typing", - "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.AInt__0", - "projection_inverse_WhileReify.AOp__0", - "projection_inverse_WhileReify.AOp__1", - "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", - "projection_inverse_WhileReify.Assign_term", - "projection_inverse_WhileReify.Assign_var", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_74c38e5fee3f0966a725896a41650e22", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_IfcExampleReify2.env", - "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_IfcExampleReify2.c", "typing_IfcExampleReify2.c_2", - "typing_IfcExampleReify2.c_3", "typing_IfcExampleReify2.hi", - "typing_IfcExampleReify2.lo", "typing_IfcRulesReify.op_Less", - "typing_WhileReify.interpret_binop", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_WhileReify.interpret_exp_st", - "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Plus@tok", - "typing_tok_WhileReify.Skip@tok", "unit_typing" - ], - 0, - "940b8b2a5a15a8590eb39858848a4077" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcExampleReify3.fst.hints b/examples/rel/IfcExampleReify3.fst.hints deleted file mode 100644 index df11e5239a9..00000000000 --- a/examples/rel/IfcExampleReify3.fst.hints +++ /dev/null @@ -1,87 +0,0 @@ -[ - "Ñ++\u0016\"þ†ÌdÆÞ¨$\rÛ", - [ - [ - "IfcExampleReify3.p1_x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcExampleReify3.is_x", "equation_IfcExampleReify3.p1", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_a114b03ea33c9ca67314a3920e1a730f", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_b6eaf05a24fcaade101ba9ed4b202a85", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing" - ], - 0, - "478e6201871cde8f18df643460209308" - ], - [ - "IfcExampleReify3.ni_p1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcExampleReify3.is_x", - "equation_IfcExampleReify3.low_equiv", - "equation_IfcExampleReify3.p1", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_a114b03ea33c9ca67314a3920e1a730f", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_b6eaf05a24fcaade101ba9ed4b202a85", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing" - ], - 0, - "1abf8c7c3fa0e1c0b6d55591fb4328b0" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcMonitor.fst.hints b/examples/rel/IfcMonitor.fst.hints deleted file mode 100644 index fa432501e79..00000000000 --- a/examples/rel/IfcMonitor.fst.hints +++ /dev/null @@ -1,998 +0,0 @@ -[ - "*ÿ#RÚÕhOsÖºSÍPàq", - [ - [ - "IfcMonitor.interpret_binop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_IfcMonitor.Max", - "disc_equation_IfcMonitor.Minus", "disc_equation_IfcMonitor.Plus", - "disc_equation_IfcMonitor.Times", - "fuel_guarded_inversion_IfcMonitor.binop", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b4573d80f5a2175688bf4edad1b9b5a3" - ], - [ - "IfcMonitor.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_IfcMonitor.binop__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.id" - ], - 0, - "d844be55542a368f7f614071f7114e9f" - ], - [ - "IfcMonitor.__proj__AInt__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92b9a6bd954bf0c5d378ed712cb717e3" - ], - 0, - "698a0dd25675411a0de8726a5140569b" - ], - [ - "IfcMonitor.__proj__AVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47635040b0c9a3140fd597b0d6278b15" - ], - 0, - "3e68635856461df967a2a49e0c287c27" - ], - [ - "IfcMonitor.__proj__AOp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c828d73568e1b0aafcb4d050e4c4717" - ], - 0, - "83c7dd26c0301ec817978a9204c7132e" - ], - [ - "IfcMonitor.__proj__AOp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c828d73568e1b0aafcb4d050e4c4717" - ], - 0, - "49cd947232e21abcde2f6f9b1a089beb" - ], - [ - "IfcMonitor.__proj__AOp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c828d73568e1b0aafcb4d050e4c4717" - ], - 0, - "a45312ec2640c10f869e3e97f42b88cb" - ], - [ - "IfcMonitor.com", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_IfcMonitor.exp__uu___haseq", - "equation_IfcMonitor.metric", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.id" - ], - 0, - "d6a17cccbf837fe91fc3eeeb8f5ef226" - ], - [ - "IfcMonitor.__proj__Assign__item__var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_af8344ef9969158ffaf11be8217bc50e" - ], - 0, - "c482539056db1a0864facef35fdcaa8c" - ], - [ - "IfcMonitor.__proj__Assign__item__term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_af8344ef9969158ffaf11be8217bc50e" - ], - 0, - "8475d4e8e9528e48c1c364ebe1fe7cdd" - ], - [ - "IfcMonitor.__proj__Seq__item__first", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f40111a41ac92d43532fb526933ef4c7" - ], - 0, - "eccb51730b2ddbb7c0077524f39c8e40" - ], - [ - "IfcMonitor.__proj__Seq__item__second", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f40111a41ac92d43532fb526933ef4c7" - ], - 0, - "0c3471c9324c83ea8947a54403a577bc" - ], - [ - "IfcMonitor.__proj__If__item__cond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_39064f252f104a458270216e5f5fc5e3" - ], - 0, - "3e3056b51b3c55a1396d9efa8d485438" - ], - [ - "IfcMonitor.__proj__If__item__then_branch", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_39064f252f104a458270216e5f5fc5e3" - ], - 0, - "2b9790daa4fdc6128d64e83fb95a4614" - ], - [ - "IfcMonitor.__proj__If__item__else_branch", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_39064f252f104a458270216e5f5fc5e3" - ], - 0, - "df805b4612da79a8d7c533d2d77c3ae5" - ], - [ - "IfcMonitor.__proj__While__item__cond", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9cedb3ccb70f06017771c31934aa208c" - ], - 0, - "5f892eb8aef5b96a97846c9b992038f6" - ], - [ - "IfcMonitor.__proj__While__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9cedb3ccb70f06017771c31934aa208c" - ], - 0, - "1ccc2a001ff90eb72a9eea46f241a2e9" - ], - [ - "IfcMonitor.__proj__While__item__metric", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9cedb3ccb70f06017771c31934aa208c" - ], - 0, - "50bf966043fa6e8408e87699a3ed2120" - ], - [ - "IfcMonitor.low_equiv", - 1, - 2, - 1, - [ "@query", "assumption_Label.label__uu___haseq" ], - 0, - "36b14ba11b63cd6c6c8be95ded22bf3f" - ], - [ - "IfcMonitor.interpret_exp_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a89f7b132bfd01f113c0219ca10e9527_1", - "disc_equation_IfcMonitor.AInt", "disc_equation_IfcMonitor.AOp", - "disc_equation_IfcMonitor.AVar", - "fuel_guarded_inversion_IfcMonitor.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_IfcMonitor.AOp" - ], - 0, - "5fc06d394decb157aea1aa407e67a60c" - ], - [ - "IfcMonitor.interpret_exp'", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_GreaterThan" ], - 0, - "a52bdceda583164fe1e7ad721a8d6fe3" - ], - [ - "IfcMonitor.interpret_com_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcMonitor_pretyping_b36a8b2b4461ed4c1f3812723dda114f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_7ab1748f97b7be5091389973104c9c7b_1", - "binder_x_b36a8b2b4461ed4c1f3812723dda114f_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.While", - "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", - "disc_equation_IfcMonitor.Assign", "disc_equation_IfcMonitor.If", - "disc_equation_IfcMonitor.Seq", "disc_equation_IfcMonitor.Skip", - "disc_equation_IfcMonitor.While", "equality_tok_IfcMonitor.Skip@tok", - "equation_IfcMonitor.decr_while", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcMonitor.com", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", - "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_IfcMonitor.While_body", - "projection_inverse_IfcMonitor.While_cond", - "projection_inverse_IfcMonitor.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_IfcMonitor.If", "subterm_ordering_IfcMonitor.Seq", - "subterm_ordering_IfcMonitor.While", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcMonitor.decr_while", "typing_IfcMonitor.uu___is_Skip", - "typing_Prims.unit", "typing_tok_IfcMonitor.Skip@tok", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "4c2eaf4cdaa81606156053fb3c106f85" - ], - [ - "IfcMonitor.interpret_com", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "1282de79639a5dddc7081d4796d4d08d" - ], - [ - "IfcMonitor.no_sens_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", "bool_inversion", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.no_sensitive_upd", "equation_Label.meet", - "equation_Label.op_Less", "fuel_guarded_inversion_Label.label", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Label.op_Less", "typing_tok_Label.High@tok", - "typing_tok_Label.Low@tok" - ], - 0, - "9265b3758daee9525d0842b8ce0196fb" - ], - [ - "IfcMonitor.no_sens_upd_pc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", "bool_inversion", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.no_sensitive_upd", "equation_Label.op_Less", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Label.op_Less", "typing_tok_Label.High@tok", - "typing_tok_Label.Low@tok" - ], - 0, - "1a309ab683b2a918bec3bb1a1a4bb640" - ], - [ - "IfcMonitor.high_pc_assign", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__raise__equality", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "IfcMonitor_interpretation_Tm_arrow_beefef7564a4fe1cbea0e6ede33ff1f2", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.Assign", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_IfcMonitor.AInt", "data_elim_IfcMonitor.AVar", - "data_typing_intro_IfcMonitor.Assign@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.raise_", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_IfcMonitor.high_pc_type", - "equation_IfcMonitor.interpret_com", "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.no_sensitive_upd", "equation_Label.join", - "equation_Label.op_Less", "equation_Label.op_Less_Equals", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "equation_with_fuel_IfcMonitor.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcMonitor.exp", - "fuel_guarded_inversion_Label.label", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_3e3b5a6b7010cb994413dd92578be157", - "interpretation_Tm_abs_4138c6ea5910e1d25acd80f186483dda", - "interpretation_Tm_abs_4c7f6bea2f94ede489c3f90847e85fcb", - "interpretation_Tm_abs_5360532a26db81965a6bf3fbf417d5fb", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_90dfa021fd85e9e81106f043041df92d", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_cb8acd2409c1119a23c17c81d2f08cc9", - "interpretation_Tm_abs_d7a256c1de74d34a8c7804f52dd1d8e6", - "interpretation_Tm_abs_fca28f4cbb6f4b2fa944ab91a89409d7", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "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.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.Assign_term", - "projection_inverse_IfcMonitor.Assign_var", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_76e03f8a466737299647bc2182d8fb89", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_IfcMonitor.interpret_com_st", - "typing_IfcMonitor.interpret_exp_st", "typing_Label.op_Less", - "typing_tok_Label.High@tok", "typing_tok_Label.Low@tok", - "unit_typing" - ], - 0, - "2bf57c57c6e70343e0b13c349363f34e" - ], - [ - "IfcMonitor.high_pc_while", - 1, - 1, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "10b91bfd2dbf461e1835bed41a3db8d9" - ], - [ - "IfcMonitor.high_pc_while", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_IfcMonitor.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__raise__equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.While", - "constructor_distinct_Label.Low", "constructor_distinct_Tm_unit", - "data_typing_intro_IfcMonitor.While@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.raise_", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_IfcMonitor.high_pc_type", - "equation_IfcMonitor.interpret_com", - "equation_IfcMonitor.interpret_exp", "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.metric", "equation_IfcMonitor.no_sensitive_upd", - "equation_Label.join", "equation_Label.meet", - "equation_Label.op_Less", "equation_Prims.eqtype", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Label.label", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_cb8acd2409c1119a23c17c81d2f08cc9", - "interpretation_Tm_abs_cd21e343f740518fa7bc04fff1311a3a", - "interpretation_Tm_abs_d2feeefea5dfe01964af23b283827fd2", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_fca28f4cbb6f4b2fa944ab91a89409d7", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", - "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.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.While_body", - "projection_inverse_IfcMonitor.While_cond", - "projection_inverse_IfcMonitor.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcMonitor.interpret_com", - "typing_IfcMonitor.interpret_com_st", "typing_Label.join", - "typing_Label.op_Less", "typing_tok_Label.Low@tok", "unit_inversion", - "unit_typing" - ], - 0, - "00b2bcec544edac356863384dbf63b89" - ], - [ - "IfcMonitor.high_pc", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_IfcMonitor.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "IfcMonitor_pretyping_b36a8b2b4461ed4c1f3812723dda114f", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_7ab1748f97b7be5091389973104c9c7b_1", - "binder_x_804c90986a1bcb085384ef92f695af32_2", - "binder_x_b36a8b2b4461ed4c1f3812723dda114f_0", - "binder_x_ed8014fc6ac81aa9f68d67ea36895982_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.If", - "constructor_distinct_IfcMonitor.Seq", - "constructor_distinct_IfcMonitor.Skip", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcMonitor.Assign", "disc_equation_IfcMonitor.If", - "disc_equation_IfcMonitor.Seq", "disc_equation_IfcMonitor.Skip", - "disc_equation_IfcMonitor.While", "disc_equation_Label.Low", - "equality_tok_IfcMonitor.Skip@tok", "equality_tok_Label.High@tok", - "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_IfcMonitor.decr_while", "equation_IfcMonitor.high_pc_type", - "equation_IfcMonitor.interpret_com", - "equation_IfcMonitor.interpret_exp", "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.metric", "equation_IfcMonitor.no_sensitive_upd", - "equation_Label.join", "equation_Label.op_Less", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_IfcMonitor.com", - "fuel_guarded_inversion_Label.label", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_491bee6453181803de5ec77dfd4b8803", - "interpretation_Tm_abs_ad51944173a94ec51f3321a221799118", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_d8d47b9af3c73b40321576838712e066", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.If_cond", - "projection_inverse_IfcMonitor.If_else_branch", - "projection_inverse_IfcMonitor.If_then_branch", - "projection_inverse_IfcMonitor.Seq_first", - "projection_inverse_IfcMonitor.Seq_second", - "projection_inverse_IfcMonitor.While_body", - "projection_inverse_IfcMonitor.While_cond", - "projection_inverse_IfcMonitor.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "subterm_ordering_IfcMonitor.If", "subterm_ordering_IfcMonitor.Seq", - "subterm_ordering_IfcMonitor.While", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcMonitor.interpret_com", - "typing_IfcMonitor.interpret_com_st", - "typing_IfcMonitor.interpret_exp_", "typing_IfcMonitor.uu___is_Skip", - "typing_Label.join", "typing_Label.op_Less", - "typing_tok_IfcMonitor.Skip@tok", "typing_tok_Label.High@tok", - "typing_tok_Label.Low@tok", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "540906783f03b12d94efbf11796d97ec" - ], - [ - "IfcMonitor.dyn_ifc_exp", - 1, - 2, - 1, - [ "@query", "assumption_Label.label__uu___haseq" ], - 0, - "d3560009c3183de98a86f8519be8e149" - ], - [ - "IfcMonitor.dyn_ifc_exp", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@fuel_irrelevance_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_804c90986a1bcb085384ef92f695af32_2", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_1", - "binder_x_a89f7b132bfd01f113c0219ca10e9527_0", - "constructor_distinct_IfcMonitor.AInt", - "constructor_distinct_IfcMonitor.AOp", - "constructor_distinct_IfcMonitor.AVar", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "data_elim_IfcMonitor.AVar", "disc_equation_IfcMonitor.AInt", - "disc_equation_IfcMonitor.AOp", "disc_equation_IfcMonitor.AVar", - "disc_equation_Label.Low", "equality_tok_Label.High@tok", - "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_IfcMonitor.interpret_exp", "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.low_equiv", "equation_Label.join", - "equation_with_fuel_IfcMonitor.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_IfcMonitor.exp", - "fuel_guarded_inversion_Label.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3e3b5a6b7010cb994413dd92578be157", - "interpretation_Tm_abs_4138c6ea5910e1d25acd80f186483dda", - "interpretation_Tm_abs_5360532a26db81965a6bf3fbf417d5fb", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "interpretation_Tm_abs_90dfa021fd85e9e81106f043041df92d", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_IfcMonitor.AInt__0", - "projection_inverse_IfcMonitor.AOp__0", - "projection_inverse_IfcMonitor.AOp__1", - "projection_inverse_IfcMonitor.AOp__2", - "projection_inverse_IfcMonitor.AVar__0", - "subterm_ordering_IfcMonitor.AOp", "typing_tok_Label.Low@tok" - ], - 0, - "f6089bc5391f682bfee28ad5c6a48680" - ], - [ - "IfcMonitor.dyn_ifc_exp", - 3, - 2, - 1, - [ "@query", "assumption_Label.label__uu___haseq" ], - 0, - "02ba5fccbb1177fe7a6d1f5439723f3c" - ], - [ - "IfcMonitor.ifc_type", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2bb1bdf548c570afdd0e11e27f27bc85" - ], - [ - "IfcMonitor.dyn_ifc_assign", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__raise__equality", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.Assign", - "constructor_distinct_Label.Low", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_IfcMonitor.Assign@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Label.Low", "equality_tok_Label.High@tok", - "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.raise_", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_IfcMonitor.ifc_type", "equation_IfcMonitor.interpret_com", - "equation_IfcMonitor.interpret_exp", "equation_IfcMonitor.label_fun", - "equation_IfcMonitor.low_equiv", "equation_Label.join", - "equation_Label.op_Less_Equals", "equation_Prims.eqtype", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Label.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_4c7f6bea2f94ede489c3f90847e85fcb", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_cb8acd2409c1119a23c17c81d2f08cc9", - "interpretation_Tm_abs_d7a256c1de74d34a8c7804f52dd1d8e6", - "interpretation_Tm_abs_fca28f4cbb6f4b2fa944ab91a89409d7", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.Assign_term", - "projection_inverse_IfcMonitor.Assign_var", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_IfcMonitor.interpret_com_st", - "typing_IfcMonitor.interpret_exp", "typing_Label.join", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_tok_Label.Low@tok", "unit_typing" - ], - 0, - "4d8a6a47d3d8cfdb55439f27103f7aff" - ], - [ - "IfcMonitor.dyn_ifc_while", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equality_tok_Label.Low@tok", "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "typing_tok_Label.Low@tok" - ], - 0, - "a2ec0f69aa593e2c629f469a61efd165" - ], - [ - "IfcMonitor.dyn_ifc_while", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_IfcMonitor.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__raise__equality", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_1bd6721ccd4079df1149fa1546eb53a3", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_IfcMonitor.While", - "constructor_distinct_Label.Low", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", - "data_typing_intro_IfcMonitor.While@tok", - "data_typing_intro_Rel.R@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Label.High", "disc_equation_Label.Low", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.raise_", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_IfcMonitor.ifc_type", "equation_IfcMonitor.interpret_com", - "equation_IfcMonitor.interpret_exp", "equation_IfcMonitor.low_equiv", - "equation_IfcMonitor.metric", "equation_Label.join", - "equation_Prims.eqtype", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Label.label", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_cb8acd2409c1119a23c17c81d2f08cc9", - "interpretation_Tm_abs_cd21e343f740518fa7bc04fff1311a3a", - "interpretation_Tm_abs_d2feeefea5dfe01964af23b283827fd2", - "interpretation_Tm_abs_df4a9a5b39d39a52b2e9a782b567f7c1", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_fca28f4cbb6f4b2fa944ab91a89409d7", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.While_body", - "projection_inverse_IfcMonitor.While_cond", - "projection_inverse_IfcMonitor.While_metric", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_24b0c33f0ae481eeb7b739aae21aff2d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.IntStoreExcFixed.raise_", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcMonitor.interpret_com", - "typing_IfcMonitor.interpret_com_st", "typing_Label.join", - "typing_Prims.unit", "typing_Rel.__proj__R__item__r", - "typing_tok_Label.Low@tok", "unit_inversion", "unit_typing" - ], - 0, - "264fb635945de5dbe337ed5db9dbfd84" - ], - [ - "IfcMonitor.dyn_ifc'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_IfcMonitor.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "IfcMonitor_pretyping_b36a8b2b4461ed4c1f3812723dda114f", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_804c90986a1bcb085384ef92f695af32_1", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_3", - "binder_x_b36a8b2b4461ed4c1f3812723dda114f_0", - "binder_x_ed8014fc6ac81aa9f68d67ea36895982_2", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.If", - "constructor_distinct_IfcMonitor.Seq", - "constructor_distinct_IfcMonitor.Skip", - "constructor_distinct_IfcMonitor.While", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "constructor_distinct_Tm_unit", "data_typing_intro_Rel.R@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcMonitor.Assign", "disc_equation_IfcMonitor.If", - "disc_equation_IfcMonitor.Seq", "disc_equation_IfcMonitor.Skip", - "disc_equation_IfcMonitor.While", "disc_equation_Label.High", - "disc_equation_Label.Low", "equality_tok_IfcMonitor.Skip@tok", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_IfcMonitor.decr_while", "equation_IfcMonitor.high_pc_type", - "equation_IfcMonitor.ifc_type", "equation_IfcMonitor.interpret_com", - "equation_IfcMonitor.interpret_exp", - "equation_IfcMonitor.interpret_exp_", - "equation_IfcMonitor.low_equiv", "equation_IfcMonitor.metric", - "equation_IfcMonitor.no_sensitive_upd", "equation_Label.join", - "equation_Label.op_Less", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_IfcMonitor.com", - "fuel_guarded_inversion_Label.label", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_491bee6453181803de5ec77dfd4b8803", - "interpretation_Tm_abs_ad51944173a94ec51f3321a221799118", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_d8d47b9af3c73b40321576838712e066", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_IfcMonitor.If_cond", - "projection_inverse_IfcMonitor.If_else_branch", - "projection_inverse_IfcMonitor.If_then_branch", - "projection_inverse_IfcMonitor.Seq_first", - "projection_inverse_IfcMonitor.Seq_second", - "projection_inverse_IfcMonitor.While_body", - "projection_inverse_IfcMonitor.While_cond", - "projection_inverse_IfcMonitor.While_metric", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "subterm_ordering_IfcMonitor.If", "subterm_ordering_IfcMonitor.Seq", - "subterm_ordering_IfcMonitor.While", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcMonitor.decr_while", "typing_IfcMonitor.interpret_com", - "typing_IfcMonitor.interpret_com_st", - "typing_IfcMonitor.interpret_exp", - "typing_IfcMonitor.interpret_exp_", "typing_Label.join", - "typing_Label.uu___is_Low", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_tok_IfcMonitor.Skip@tok", - "typing_tok_Label.Low@tok", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "c52330b4597cc100a23d0abd795b13b4" - ], - [ - "IfcMonitor.dyn_ifc", - 1, - 2, - 1, - [ "@query" ], - 0, - "39d60693b5f31f79c480528b0804c5f8" - ], - [ - "IfcMonitor.dyn_ifc", - 2, - 2, - 1, - [ - "@query", "equation_IfcMonitor.ifc_type", "primitive_Prims.op_AmpAmp" - ], - 0, - "1e3c93fad03e4cfcc6ab5d350919bf35" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcMonitorTest.fst.hints b/examples/rel/IfcMonitorTest.fst.hints deleted file mode 100644 index 2aa4ec78837..00000000000 --- a/examples/rel/IfcMonitorTest.fst.hints +++ /dev/null @@ -1,340 +0,0 @@ -[ - ".†’à\b¹\u0004\u0019ÿ¢@¯s‰§·", - [ - [ - "IfcMonitorTest.env", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "cc1c84c2546737e5683f81fc3efcbe3a" - ], - [ - "IfcMonitorTest.p1", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3c857e7f2f7e39addf000e0481770cf6" - ], - [ - "IfcMonitorTest.test1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_1bd6721ccd4079df1149fa1546eb53a3", - "IfcMonitor_interpretation_Tm_arrow_beb39a8d37851f13ee3536238adbcf86", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_IfcMonitor.AVar", - "constructor_distinct_IfcMonitor.Assign", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "constructor_distinct_Tm_unit", "data_elim_IfcMonitor.Assign", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_IfcMonitor.interpret_com", "equation_IfcMonitor.label_fun", - "equation_IfcMonitorTest.env", "equation_IfcMonitorTest.h0", - "equation_IfcMonitorTest.p1", "equation_Label.join", - "equation_Label.op_Less_Equals", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "equation_with_fuel_IfcMonitor.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_Label.label", - "function_token_typing_IfcMonitorTest.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_4c7f6bea2f94ede489c3f90847e85fcb", - "interpretation_Tm_abs_5360532a26db81965a6bf3fbf417d5fb", - "interpretation_Tm_abs_d7a256c1de74d34a8c7804f52dd1d8e6", - "lemma_FStar.Pervasives.invertOption", - "lemma_IfcMonitorTest.to_from_inv", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "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_IfcMonitor.AVar__0", - "projection_inverse_IfcMonitor.Assign_term", - "projection_inverse_IfcMonitor.Assign_var", - "refinement_interpretation_Tm_refine_24b0c33f0ae481eeb7b739aae21aff2d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "token_correspondence_IfcMonitorTest.env", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.to_id", - "typing_FStar.DM4F.IntStoreExcFixed.raise_", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcMonitor.interpret_com", "typing_IfcMonitorTest.h0", - "typing_IfcMonitorTest.p1", "typing_Label.join", "typing_Prims.unit", - "typing_tok_Label.Low@tok", "unit_typing" - ], - 0, - "ad4efb9728fa30915e87d59d13a1098d" - ], - [ - "IfcMonitorTest.p2", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a37944f6eea9e047b4140a271205450a" - ], - [ - "IfcMonitorTest.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__put_equality", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_FStar.DM4F.IntStoreExcFixed.write", "equation_Prims.nat", - "int_typing", - "interpretation_Tm_abs_18b56141e981518d5158ae8287c1437d", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_8e0458ea656a29089d238795e8d3dab6", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "lemma_IfcMonitorTest.to_from_inv", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "typing_tok_Label.Low@tok", "unit_typing" - ], - 0, - "c6d96ea69b68a15931a22a68fc00caa8" - ], - [ - "IfcMonitorTest.p3", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "bf1be66fab6e7932d49e810c12cdd511" - ], - [ - "IfcMonitorTest.test3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_1bd6721ccd4079df1149fa1546eb53a3", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.AInt", - "constructor_distinct_IfcMonitor.Assign", - "constructor_distinct_IfcMonitor.Skip", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "data_typing_intro_IfcMonitor.AInt@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_IfcMonitor.Skip@tok", "equality_tok_Label.High@tok", - "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_IfcMonitor.label_fun", "equation_IfcMonitorTest.env", - "equation_Label.join", "equation_Label.op_Less_Equals", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_IfcMonitor.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_IfcMonitorTest.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_0aef340e91b28138e88c8beaa4f7dab2", - "interpretation_Tm_abs_7455d7d3df68e3a1efb47b15274ea9c5", - "interpretation_Tm_abs_90dfa021fd85e9e81106f043041df92d", - "interpretation_Tm_abs_ce27038d3c8152337d8f4429a9aa5004", - "interpretation_Tm_abs_d56e3f78929a1ba7aedeb12c42f38c75", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", - "lemma_IfcMonitorTest.to_from_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.AInt__0", - "projection_inverse_IfcMonitor.Assign_term", - "projection_inverse_IfcMonitor.Assign_var", - "refinement_interpretation_Tm_refine_24b0c33f0ae481eeb7b739aae21aff2d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "typing_FStar.DM4F.Heap.IntStoreFixed.create", - "typing_FStar.DM4F.Heap.IntStoreFixed.to_id", - "typing_FStar.DM4F.IntStoreExcFixed.raise_", "typing_Prims.unit", - "typing_tok_Label.Low@tok", "unit_typing" - ], - 0, - "56baa8935b7f8dc2343f8be5cd90c087" - ], - [ - "IfcMonitorTest.p4", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0a805c5884e14c8580367ec354c0bd90" - ], - [ - "IfcMonitorTest.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.Skip", - "equality_tok_IfcMonitor.Skip@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "typing_FStar.DM4F.Heap.IntStoreFixed.to_id", "unit_typing" - ], - 0, - "be6bdececfb98146330f8a2ccf847e19" - ], - [ - "IfcMonitorTest.p5", - 1, - 2, - 1, - [ - "@query", "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b9e341bd8adb03b4f2baa9cac1d7eb36" - ], - [ - "IfcMonitorTest.test5", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcMonitor.interpret_com_st.fuel_instrumented", - "@fuel_correspondence_IfcMonitor.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_1bd6721ccd4079df1149fa1546eb53a3", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_76bb22c2410237a1d6e93fd6cf776ff8", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "IfcMonitor_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "Label_pretyping_ed8014fc6ac81aa9f68d67ea36895982", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcMonitor.AVar", - "constructor_distinct_IfcMonitor.Assign", - "constructor_distinct_Label.High", "constructor_distinct_Label.Low", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_IfcMonitor.AVar@tok", - "data_typing_intro_IfcMonitor.Assign@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_Label.High@tok", "equality_tok_Label.Low@tok", - "equation_FStar.DM4F.Heap.IntStoreFixed.store_size", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_IfcMonitor.label_fun", "equation_IfcMonitorTest.env", - "equation_Label.join", "equation_Label.op_Less_Equals", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_IfcMonitor.interpret_com_st.fuel_instrumented", - "equation_with_fuel_IfcMonitor.interpret_exp_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_IfcMonitorTest.env", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_4c7f6bea2f94ede489c3f90847e85fcb", - "interpretation_Tm_abs_5360532a26db81965a6bf3fbf417d5fb", - "interpretation_Tm_abs_bb4e44dc0c77a73509e2a0f83b0ffc4b", - "interpretation_Tm_abs_d7a256c1de74d34a8c7804f52dd1d8e6", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_create", - "lemma_IfcMonitorTest.to_from_inv", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_IfcMonitor.AVar__0", - "projection_inverse_IfcMonitor.Assign_term", - "projection_inverse_IfcMonitor.Assign_var", - "refinement_interpretation_Tm_refine_24b0c33f0ae481eeb7b739aae21aff2d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6970eb1cc2a7cbece1f97684ca23fd46", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "refinement_interpretation_Tm_refine_9a99f0fcd9292b5760b9e17468c48bb8", - "token_correspondence_IfcMonitorTest.env", - "typing_FStar.DM4F.Heap.IntStoreFixed.create", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.to_id", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_FStar.DM4F.IntStoreExcFixed.raise_", - "typing_FStar.DM4F.IntStoreExcFixed.write", - "typing_IfcMonitor.interpret_com_st", "typing_Prims.unit", - "typing_tok_Label.Low@tok", "unit_inversion", "unit_typing" - ], - 0, - "98d9af68665bf6a848c20cd31cb3bdaa" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcRecursiveHeapReify.fst.hints b/examples/rel/IfcRecursiveHeapReify.fst.hints deleted file mode 100644 index cf26ed1537d..00000000000 --- a/examples/rel/IfcRecursiveHeapReify.fst.hints +++ /dev/null @@ -1,223 +0,0 @@ -[ - "ÖÄxz²»@¨·\b<­J–\u0001®", - [ - [ - "IfcRecursiveHeapReify.p1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_1", - "binder_x_7ab1748f97b7be5091389973104c9c7b_2", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "b6bc3bab501d890dc02f422ca50622b4" - ], - [ - "IfcRecursiveHeapReify.p1_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_107ce176827b156898e862ed49f3c6e0" - ], - 0, - "3f4c0c114ad6a7556e44d2bac993b36a" - ], - [ - "IfcRecursiveHeapReify.nat_of", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_LessThan" ], - 0, - "ee058d5dc5c3db1404aa743b3f36894b" - ], - [ - "IfcRecursiveHeapReify.ni_p1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcRecursiveHeapReify.p1.fuel_instrumented", - "@fuel_irrelevance_IfcRecursiveHeapReify.p1.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "FStar.Pervasives.Native_interpretation_Tm_arrow_d952d001575ecb20c572af535c88dd2d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_3", - "binder_x_9c72ccc128c98f38b0998e54fa7878ab_1", "bool_typing", - "constructor_distinct_IfcRecursiveHeapReify.High", - "constructor_distinct_IfcRecursiveHeapReify.Low", - "disc_equation_IfcRecursiveHeapReify.High", - "disc_equation_IfcRecursiveHeapReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRecursiveHeapReify.dec_metric", - "equation_IfcRecursiveHeapReify.low_equiv", - "equation_IfcRecursiveHeapReify.nat_of", - "equation_IfcRecursiveHeapReify.p1_r", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_IfcRecursiveHeapReify.p1.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.snd", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", - "interpretation_Tm_abs_a520c6285fa43d6f8a8deb23a666a2ae", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_7d1034f304b87556149a1cfa7d262495", - "refinement_interpretation_Tm_refine_88c4b2e9eb162802a9eacba7e1c1f3c4", - "refinement_interpretation_Tm_refine_8f61112a28c176a6d7abdad7a255a07d", - "token_correspondence_IfcRecursiveHeapReify.p1.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcRecursiveHeapReify.nat_of", "typing_Prims.unit", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "2d0a01082488489e819f6021e999a881" - ], - [ - "IfcRecursiveHeapReify.fac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_7ab1748f97b7be5091389973104c9c7b_2", - "binder_x_9c72ccc128c98f38b0998e54fa7878ab_1", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_IfcRecursiveHeapReify.nat_of", "equation_Prims.nat", - "int_typing", "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8f61112a28c176a6d7abdad7a255a07d", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcRecursiveHeapReify.nat_of", - "typing_IfcRecursiveHeapReify.op_Star", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "1c5a84ebba28d44e13c8e97cf6542dca" - ], - [ - "IfcRecursiveHeapReify.fac_mon", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcRecursiveHeapReify.fac.fuel_instrumented", - "@fuel_irrelevance_IfcRecursiveHeapReify.fac.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_2", - "binder_x_9c72ccc128c98f38b0998e54fa7878ab_1", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.get", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRecursiveHeapReify.dec_metric", - "equation_IfcRecursiveHeapReify.fac_r", - "equation_IfcRecursiveHeapReify.nat_of", - "equation_IfcRecursiveHeapReify.op_Star", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_IfcRecursiveHeapReify.fac.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_5b2e1e96a78027c09b8f9f525eb068b4", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_107ce176827b156898e862ed49f3c6e0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_8f61112a28c176a6d7abdad7a255a07d", - "refinement_interpretation_Tm_refine_980365d73c3f889fd2ae1594b540a397", - "refinement_interpretation_Tm_refine_edbb16484ead78cf96c0627a7ecbe8db", - "token_correspondence_IfcRecursiveHeapReify.fac.fuel_instrumented", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.Heap.IntStoreFixed.index", - "typing_FStar.DM4F.Heap.IntStoreFixed.sel", - "typing_FStar.DM4F.Heap.IntStoreFixed.upd", - "typing_IfcRecursiveHeapReify.dec_metric", - "typing_IfcRecursiveHeapReify.nat_of", - "typing_IfcRecursiveHeapReify.op_Star", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "7321e47bb4e151f845f1a1a691ec7956" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcRecursiveReify.fst.hints b/examples/rel/IfcRecursiveReify.fst.hints deleted file mode 100644 index 148df61b447..00000000000 --- a/examples/rel/IfcRecursiveReify.fst.hints +++ /dev/null @@ -1,172 +0,0 @@ -[ - "·\röÙ)ÃAÉ©\f6®\u0014–ëo", - [ - [ - "IfcRecursiveReify.p1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" - ], - 0, - "01f14b00d40147fc9f00660ad7e17da1" - ], - [ - "IfcRecursiveReify.ni_p1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcRecursiveReify.p1.fuel_instrumented", - "@fuel_irrelevance_IfcRecursiveReify.p1.fuel_instrumented", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_1", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_4", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_IfcRecursiveReify.High", - "constructor_distinct_IfcRecursiveReify.Low", - "disc_equation_IfcRecursiveReify.High", - "disc_equation_IfcRecursiveReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRecursiveReify.low_equiv", - "equation_IfcRecursiveReify.p1_r", "equation_Prims.eqtype", - "equation_with_fuel_IfcRecursiveReify.p1.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_7fb147a0b0642776e9a75824bbb3b652", - "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "e4d85ecedd473eba07c87823298613bc" - ], - [ - "IfcRecursiveReify.p2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" - ], - 0, - "9bb058f2061c9dae9a7e502ab336570e" - ], - [ - "IfcRecursiveReify.ni_p2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcRecursiveReify.p2.fuel_instrumented", - "@fuel_irrelevance_IfcRecursiveReify.p2.fuel_instrumented", "@query", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__get_equality", - "FStar.DM4F.IntStoreFixed.__proj__INT_STORE__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_0", - "binder_x_44ec7c2158b88c3b927ff92ed0747f1b_1", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_4", - "binder_x_ae567c2fb75be05905677af440075565_2", - "constructor_distinct_IfcRecursiveReify.High", - "constructor_distinct_IfcRecursiveReify.Low", - "disc_equation_IfcRecursiveReify.High", - "disc_equation_IfcRecursiveReify.Low", - "equation_FStar.DM4F.Heap.IntStoreFixed.sel", - "equation_FStar.DM4F.IntStoreFixed.read", - "equation_FStar.DM4F.IntStoreFixed.write", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRecursiveReify.low_equiv", - "equation_IfcRecursiveReify.p2_r", "equation_Prims.eqtype", - "equation_with_fuel_IfcRecursiveReify.p2.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_1b3ea9ae757225dcb1405c9ca13dc451", - "interpretation_Tm_abs_3e22f54edd0083a6425bc1e3d28fbc05", - "interpretation_Tm_abs_908f8370d64c6d5f8a39ca7726a39b6b", - "interpretation_Tm_abs_b39c8c630087b05df5c03dcc1ddf75bf", - "interpretation_Tm_abs_eb1f1c4d6539c6993da3da6bf2d24d2e", - "interpretation_Tm_abs_f5eb1bdda21a9c56f1f99baa07af86ee", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "5e47f749c9beb5ff28722d73b9fb933f" - ], - [ - "IfcRecursiveReify.ni_p3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRecursiveReify.low_equiv", - "equation_IfcRecursiveReify.p1_r", "equation_IfcRecursiveReify.p2_r", - "equation_IfcRecursiveReify.p3", "equation_IfcRecursiveReify.p3_r", - "int_inversion", "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "unit_typing" - ], - 0, - "f420c8193a4bedc585d71729cd5e64ee" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcReificationRegressionTest.fst.hints b/examples/rel/IfcReificationRegressionTest.fst.hints deleted file mode 100644 index 41f7867cf58..00000000000 --- a/examples/rel/IfcReificationRegressionTest.fst.hints +++ /dev/null @@ -1,144 +0,0 @@ -[ - "Ù»– Qo¸I_økÆ}\u0014i", - [ - [ - "IfcReificationRegressionTest.bidule0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntST.__proj__STINT__item__get_equality", - "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.ifc", - "equation_FStar.DM4F.IntST.incr", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", - "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", - "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", - "interpretation_Tm_abs_7ca25d477a3e0e2f7c64f9fcd444202e", - "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", - "interpretation_Tm_abs_cd4af824bd65da4276f069890c42565c", - "l_quant_interp_6e7991df8403957b2db0380cf7d89d4d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "unit_typing" - ], - 0, - "836786de8c5dfaa2cfb79981381d9ea1" - ], - [ - "IfcReificationRegressionTest.bidule1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntST.__proj__STINT__item__get_equality", - "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.get", - "equation_FStar.DM4F.IntST.incr", - "equation_IfcReificationRegressionTest.x1", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0c1fdf22325438597d1988dbdf32bb77", - "interpretation_Tm_abs_22a898f4c5244dd6068efc60b56aa20c", - "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", - "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", - "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", - "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", - "l_quant_interp_bdd0370af327ab286cc8f6bc69a1f96d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_IfcReificationRegressionTest.x1", - "typing_Prims.int", "unit_typing" - ], - 0, - "4f854cdc3dc6429bbb57e302488c0a45" - ], - [ - "IfcReificationRegressionTest.bidule2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntST.__proj__STINT__item__get_equality", - "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.get", - "equation_FStar.DM4F.IntST.incr", - "equation_IfcReificationRegressionTest.x2", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_22a898f4c5244dd6068efc60b56aa20c", - "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", - "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", - "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", - "interpretation_Tm_abs_7246974903131feb92d7de41f056664d", - "interpretation_Tm_abs_bb78419ac880329f969837b15ad8d37c", - "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", - "l_quant_interp_ffe7ca5f6083dc5c1cf32e642ebc0158", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_IfcReificationRegressionTest.x2", - "typing_Prims.int", "unit_typing" - ], - 0, - "f473e075cce9709b6f26917382c778aa" - ], - [ - "IfcReificationRegressionTest.bidule3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DM4F.IntST.__proj__STINT__item__get_equality", - "FStar.DM4F.IntST.__proj__STINT__item__put_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_FStar.DM4F.IntST.decr", "equation_FStar.DM4F.IntST.get", - "equation_FStar.DM4F.IntST.incr", - "equation_IfcReificationRegressionTest.x3", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3aba40c279a473a1fd8e3aa30e0da69c", - "interpretation_Tm_abs_3b12ca74b1b9de681bdba7dc5e067b61", - "interpretation_Tm_abs_3f340b2bb143d587cd9ff9d17b0c4a7c", - "interpretation_Tm_abs_7246974903131feb92d7de41f056664d", - "interpretation_Tm_abs_cc18103f7e8a41ead5051007b34f3b4b", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "unit_typing" - ], - 0, - "3169ce765dc666716a9088b9aa125d0a" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcRules.fst.hints b/examples/rel/IfcRules.fst.hints deleted file mode 100644 index acc16ac54f1..00000000000 --- a/examples/rel/IfcRules.fst.hints +++ /dev/null @@ -1,443 +0,0 @@ -[ - "ÇE½M\u0015\u001dJo6Z(*~p", - [ - [ - "IfcRules.label_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "7df31c4daff5f8815e8290612fbc1a8d" - ], - [ - "IfcRules.low_equiv", - 1, - 2, - 1, - [ "@query", "assumption_IfcRules.label__uu___haseq" ], - 0, - "1798a935551403491ef3997fc248e33c" - ], - [ - "IfcRules.ni_com'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.stable", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.ST.contains_pred", - "typing_FStar.Heap.trivial_preorder", "typing_Prims.int" - ], - 0, - "2a254a14d44b477d53b7b3c0adea792d" - ], - [ - "IfcRules.sub_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "bool_inversion", "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", "disc_equation_IfcRules.Low", - "equality_tok_IfcRules.Low@tok", "equation_IfcRules.ni_exp", - "equation_IfcRules.op_Less_Equals", - "fuel_guarded_inversion_IfcRules.label", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_362edd969d973167112fd25f9aadcf73", - "typing_IfcRules.uu___is_Low", "typing_tok_IfcRules.Low@tok" - ], - 0, - "317f70997dd9b488db50356ab0eb2423" - ], - [ - "IfcRules.avar_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "constructor_distinct_While.AVar", - "data_typing_intro_While.AVar@tok", "disc_equation_IfcRules.Low", - "equality_tok_IfcRules.Low@tok", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_exp", - "equation_While.id", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_While.AVar__0", - "typing_FStar.Monotonic.Heap.heap", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r" - ], - 0, - "45978b911849535bf0703282b9ae95f0" - ], - [ - "IfcRules.aint_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "constructor_distinct_While.AInt", - "data_typing_intro_While.AInt@tok", "equality_tok_IfcRules.Low@tok", - "equation_IfcRules.ni_exp", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_While.AInt__0", - "typing_FStar.Monotonic.Heap.heap", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r" - ], - 0, - "3f424b7d2c120b8a013f5b9b7bf9e4d7" - ], - [ - "IfcRules.binop_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@fuel_irrelevance_While.interpret_exp.fuel_instrumented", "@query", - "constructor_distinct_While.AOp", "data_typing_intro_While.AOp@tok", - "equation_IfcRules.ni_exp", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_While.AOp__0", "projection_inverse_While.AOp__1", - "projection_inverse_While.AOp__2", - "typing_FStar.Monotonic.Heap.heap", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r" - ], - 0, - "3e3e30e9a20075b1d96ae928041a45fd" - ], - [ - "IfcRules.sub_com", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", "equality_tok_IfcRules.Low@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcRules.label_of", - "equation_IfcRules.ni_com", "equation_IfcRules.ni_com_", - "equation_IfcRules.op_Less", "equation_IfcRules.op_Less_Equals", - "equation_While.id", "fuel_guarded_inversion_IfcRules.label", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_a03121e6975c894be90249109bb8dde1", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_IfcRules.label_of", "typing_IfcRules.op_Less", - "typing_IfcRules.op_Less_Equals", "typing_tok_IfcRules.Low@tok" - ], - 0, - "c563901943ded33b80300bfe40cb08f1" - ], - [ - "IfcRules.assign_com", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.Assign", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Rel.R@tok", "data_typing_intro_While.Assign@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcRules.Low", "equality_tok_IfcRules.High@tok", - "equality_tok_IfcRules.Low@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.ni_exp", - "equation_IfcRules.op_Less", "equation_Prims.eqtype", - "equation_While.id", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRules.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.Assign_term", - "projection_inverse_While.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcRules.label_of", "typing_IfcRules.op_Less", - "typing_Prims.int", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_While.interpret_exp", - "typing_tok_IfcRules.High@tok", "typing_tok_IfcRules.Low@tok" - ], - 0, - "b9ec9226021ae7677a6b0851e353be7c" - ], - [ - "IfcRules.seq_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_irrelevance_While.interpret_com.fuel_instrumented", "@query", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "constructor_distinct_While.Seq", - "data_typing_intro_Rel.R@tok", "data_typing_intro_While.Seq@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_IfcRules.ni_com", "equation_IfcRules.ni_com_", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.Seq_first", - "projection_inverse_While.Seq_second", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_While.interpret_com" - ], - 0, - "0f306d9a27348ac5a6aded398a24e0d7" - ], - [ - "IfcRules.seq_com", - 1, - 2, - 1, - [ "@query", "equation_IfcRules.ni_com" ], - 0, - "f0352deea1ea9a20e0ab4bd9e60993c7" - ], - [ - "IfcRules.cond_com", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_irrelevance_While.interpret_com.fuel_instrumented", "@query", - "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", "constructor_distinct_While.If", - "constructor_distinct_While.Skip", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Rel.R@tok", "data_typing_intro_While.If@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcRules.Low", "equality_tok_IfcRules.Low@tok", - "equality_tok_While.Skip@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcRules.label_of", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", "equation_IfcRules.ni_exp", - "equation_IfcRules.op_Less", "equation_While.id", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRules.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.option@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.If_cond", - "projection_inverse_While.If_else_branch", - "projection_inverse_While.If_then_branch", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Monotonic.Heap.heap", "typing_IfcRules.label_of", - "typing_IfcRules.op_Less", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_tok_IfcRules.Low@tok", - "typing_tok_While.Skip@tok" - ], - 0, - "4475a2f6984d7a2a5795d743b55b0004" - ], - [ - "IfcRules.skip_com", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@query", "constructor_distinct_While.Skip", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Rel.R@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRules.High@tok", "equality_tok_While.Skip@tok", - "equation_IfcRules.low_equiv", "equation_IfcRules.ni_com", - "equation_IfcRules.ni_com_", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "fuel_guarded_inversion_Rel.rel", - "kinding_FStar.Pervasives.Native.option@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "typing_FStar.Monotonic.Heap.heap", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_tok_While.Skip@tok" - ], - 0, - "7ff390fb7c7dc441ee916ff063660d4b" - ], - [ - "IfcRules.decr_while", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", "typing_FStar.Monotonic.Heap.heap" - ], - 0, - "d2bf795b66079f1fa6c9ed30d6218c1d" - ], - [ - "IfcRules.while_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_While.interpret_com.fuel_instrumented", - "@fuel_correspondence_While.interpret_exp.fuel_instrumented", - "@fuel_irrelevance_While.interpret_com.fuel_instrumented", - "@fuel_irrelevance_While.interpret_exp.fuel_instrumented", - "@fuel_irrelevance_While.interpret_while.fuel_instrumented", - "@query", "IfcRules_pretyping_41cc1cbfb6e5d3313e9b9ea3157d9aab", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_41cc1cbfb6e5d3313e9b9ea3157d9aab_4", - "binder_x_4b8b77728a8eea29532c6e327f811b98_1", - "binder_x_59b54fa21cedada836226afdcb64958b_2", - "binder_x_a145072d084d31417409bb15829690bb_5", - "binder_x_d43159b27a7293e81ceca7290b77263e_3", - "binder_x_f1e95d2b8fc0086a50bd19ef5489fb29_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRules.High", - "constructor_distinct_IfcRules.Low", - "constructor_distinct_While.While", "data_typing_intro_Rel.R@tok", - "data_typing_intro_While.While@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcRules.Low", "disc_equation_While.While", - "equality_tok_IfcRules.High@tok", "equality_tok_IfcRules.Low@tok", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_IfcRules.decr_while", - "equation_IfcRules.label_of", "equation_IfcRules.low_equiv", - "equation_IfcRules.ni_com", "equation_IfcRules.ni_com_", - "equation_IfcRules.ni_exp", "equation_IfcRules.op_Less", - "equation_Prims.nat", "equation_While.id", "equation_While.variant", - "equation_with_fuel_While.interpret_com.fuel_instrumented", - "equation_with_fuel_While.interpret_exp.fuel_instrumented", - "equation_with_fuel_While.interpret_while.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRules.label", - "fuel_guarded_inversion_Rel.rel", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "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_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_While.While_body", - "projection_inverse_While.While_cond", - "projection_inverse_While.While_variant", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e9091153024f662d3dc14088a1268fa", - "refinement_interpretation_Tm_refine_9f1548f821ac5aa32cdc0b620d5d324d", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_While.interpret_com.fuel_instrumented", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcRules.decr_while", "typing_IfcRules.label_of", - "typing_IfcRules.op_Less", "typing_Rel.__proj__R__item__l", - "typing_Rel.__proj__R__item__r", "typing_While.interpret_com", - "typing_tok_IfcRules.High@tok", "typing_tok_IfcRules.Low@tok", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "7f5c61a4dd71cd89beb77d8727de5c2e" - ], - [ - "IfcRules.while_com", - 1, - 2, - 1, - [ "@query", "equation_IfcRules.ni_com" ], - 0, - "0a1d05e957aeafbac7529575f376ede8" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcRulesReify.fst.hints b/examples/rel/IfcRulesReify.fst.hints deleted file mode 100644 index 37dedc54ddb..00000000000 --- a/examples/rel/IfcRulesReify.fst.hints +++ /dev/null @@ -1,1020 +0,0 @@ -[ - "Ü̆ÿ¼1ËPóp3\u0019ë‡p", - [ - [ - "IfcRulesReify.universal_property_meet", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "bool_inversion", "constructor_distinct_IfcRulesReify.High", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", "equation_IfcRulesReify.meet", - "equation_IfcRulesReify.op_Less_Equals", - "fuel_guarded_inversion_IfcRulesReify.label", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_IfcRulesReify.meet", "typing_IfcRulesReify.op_Less_Equals", - "typing_tok_IfcRulesReify.Low@tok" - ], - 0, - "4209c515d85fd6ee1d640f081ba58564" - ], - [ - "IfcRulesReify.low_equiv", - 1, - 2, - 1, - [ "@query", "assumption_IfcRulesReify.label__uu___haseq" ], - 0, - "5bb424bd2b076dd088e679289fa05e3c" - ], - [ - "IfcRulesReify.inv_com'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "equation_WhileReify.interpret_com", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_WhileReify.interpret_com" - ], - 0, - "d40d603b5ea2cb4af8c3e4ff833cee33" - ], - [ - "IfcRulesReify.sub_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "bool_inversion", "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.ni_exp", - "equation_IfcRulesReify.op_Less_Equals", - "fuel_guarded_inversion_IfcRulesReify.label", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_IfcRulesReify.uu___is_Low", - "typing_tok_IfcRulesReify.Low@tok" - ], - 0, - "a5b8aae91bf1cba6e510db7aa35461a8" - ], - [ - "IfcRulesReify.avar_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreFixedReader.__proj__INT_STORE_READER__item__get_equality", - "constructor_distinct_WhileReify.AVar", - "data_typing_intro_WhileReify.AVar@tok", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_FStar.DM4F.IntStoreFixedReader.read", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_exp", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "interpretation_Tm_abs_554ae364705a657216a37832b8a4f339", - "interpretation_Tm_abs_6ddd41efc4b5662e5cf5849d70095a69", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_WhileReify.AVar__0" - ], - 0, - "e2d0e89b6c8f9009014b2eee8bcb4eac" - ], - [ - "IfcRulesReify.aint_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", "constructor_distinct_WhileReify.AInt", - "data_typing_intro_WhileReify.AInt@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.ni_exp", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "interpretation_Tm_abs_0c19ea74aac85ee3cf642bef7a7a3e70", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_WhileReify.AInt__0" - ], - 0, - "56a03cc15187ac618428a96701eafbab" - ], - [ - "IfcRulesReify.binop_exp", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_exp_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_exp_st.fuel_instrumented", - "@query", "constructor_distinct_WhileReify.AOp", - "data_typing_intro_WhileReify.AOp@tok", - "equation_IfcRulesReify.ni_exp", - "equation_with_fuel_WhileReify.interpret_exp_st.fuel_instrumented", - "interpretation_Tm_abs_99c38b30cf574b9acfca23e49f7597f3", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_WhileReify.AOp__0", - "projection_inverse_WhileReify.AOp__1", - "projection_inverse_WhileReify.AOp__2" - ], - 0, - "251930197011ac4efa7e36474621d943" - ], - [ - "IfcRulesReify.sub_com", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_WhileReify.Skip", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_IfcRulesReify.inv_com_", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.op_Less", - "equation_IfcRulesReify.op_Less_Equals", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_WhileReify.com", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "typing_WhileReify.interpret_com", - "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Skip@tok", - "unit_typing" - ], - 0, - "84e3c4b3510d3e878e2bdcfab89763a6" - ], - [ - "IfcRulesReify.assign_inv_com0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_76bb22c2410237a1d6e93fd6cf776ff8", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_WhileReify.Assign", - "data_typing_intro_WhileReify.Assign@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.label_fun", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com_", - "equation_IfcRulesReify.ni_exp", "equation_Prims.eqtype", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_imp-interp", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd1", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.Assign_term", - "projection_inverse_WhileReify.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_9a99f0fcd9292b5760b9e17468c48bb8", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_FStar.DM4F.IntStoreExcFixed.write", "typing_Prims.unit", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "unit_inversion", "unit_typing" - ], - 0, - "6f88d7fe998cb9b653f75e1cfc91445f" - ], - [ - "IfcRulesReify.assign_inv_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed_interpretation_Tm_arrow_76bb22c2410237a1d6e93fd6cf776ff8", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_WhileReify.Assign", - "data_typing_intro_WhileReify.Assign@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.op_Less", - "equation_Prims.eqtype", "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRulesReify.label", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.DM4F.Heap.IntStoreFixed.lemma_index_upd2", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.Assign_term", - "projection_inverse_WhileReify.Assign_var", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_682c9ab92a8eed1ab5b3c14d312fe8be", - "refinement_interpretation_Tm_refine_9a99f0fcd9292b5760b9e17468c48bb8", - "true_interp", "typing_FStar.DM4F.IntStoreExcFixed.write", - "typing_IfcRulesReify.op_Less", "typing_Prims.unit", - "typing_WhileReify.interpret_com", - "typing_tok_IfcRulesReify.Low@tok", "unit_typing" - ], - 0, - "089f09b9e1141840258b5bbbf83b654b" - ], - [ - "IfcRulesReify.assign_com", - 1, - 2, - 1, - [ "@query", "equation_IfcRulesReify.ni_com" ], - 0, - "55f15331e97325f98b76c290aa1b0885" - ], - [ - "IfcRulesReify.seq_nil1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.Seq", - "data_typing_intro_WhileReify.Seq@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "typing_Prims.unit", "typing_WhileReify.interpret_com_st", - "unit_typing" - ], - 0, - "043464ace9203734144458bac21eb8e5" - ], - [ - "IfcRulesReify.seq_nil2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.Seq", - "data_typing_intro_WhileReify.Seq@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "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_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "typing_Prims.unit", "typing_WhileReify.interpret_com_st", - "unit_typing" - ], - 0, - "d219b3bb5c0a2b4be7046131de812983" - ], - [ - "IfcRulesReify.seq_inv_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.Seq", - "constructor_distinct_WhileReify.Skip", - "data_typing_intro_WhileReify.Seq@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_IfcRulesReify.label", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "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.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "true_interp", "typing_IfcRulesReify.op_Less", "typing_Prims.unit", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_tok_IfcRulesReify.Low@tok", "typing_tok_WhileReify.Skip@tok", - "unit_inversion", "unit_typing" - ], - 0, - "8948c4f7a3488c4e6601b78f9481daa3" - ], - [ - "IfcRulesReify.use_ni_com", - 1, - 2, - 1, - [ "@query" ], - 0, - "e7fec88a1d540186adf30f927607f101" - ], - [ - "IfcRulesReify.seq_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.Seq", - "constructor_distinct_WhileReify.Skip", - "data_typing_intro_WhileReify.Seq@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "fuel_guarded_inversion_WhileReify.com", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "l_imp-interp", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "true_interp", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_IfcRulesReify.low_equiv", "typing_Prims.unit", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_tok_WhileReify.Skip@tok", "unit_inversion", "unit_typing" - ], - 0, - "df67b4b3e6fa091b9859dd044c5b9b79" - ], - [ - "IfcRulesReify.seq_com", - 1, - 2, - 1, - [ "@query", "equation_IfcRulesReify.ni_com" ], - 0, - "c14b3caea42e256ac0feb489fadb8464" - ], - [ - "IfcRulesReify.cond_inv_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", "constructor_distinct_WhileReify.If", - "data_typing_intro_WhileReify.If@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_IfcRulesReify.inv_com_", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.op_Less", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRulesReify.label", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_b76086e793a91fa75d25d023f610772c", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "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_WhileReify.If_cond", - "projection_inverse_WhileReify.If_else_branch", - "projection_inverse_WhileReify.If_then_branch", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "token_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "true_interp", "typing_WhileReify.interpret_com", - "typing_tok_IfcRulesReify.Low@tok" - ], - 0, - "3562309edf78c84a018a4e05d4dd61d1" - ], - [ - "IfcRulesReify.interpret_cond", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_WhileReify.If", - "data_typing_intro_WhileReify.If@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_b76086e793a91fa75d25d023f610772c", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.If_cond", - "projection_inverse_WhileReify.If_else_branch", - "projection_inverse_WhileReify.If_then_branch" - ], - 0, - "7a1692f4d2671e18f803376aaf8066be" - ], - [ - "IfcRulesReify.cond_ni_com'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_IfcRulesReify.Low", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.ni_exp", - "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_WhileReify.interpret_com", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_Rel.rel", "l_imp-interp", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "true_interp", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_IfcRulesReify.low_equiv", "typing_Prims.unit", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_tok_IfcRulesReify.Low@tok", "unit_inversion", "unit_typing" - ], - 0, - "7c0211ef6082a4b456fa52e597e66ee6" - ], - [ - "IfcRulesReify.cond_com", - 1, - 1, - 1, - [ "@query", "equation_IfcRulesReify.ni_com" ], - 0, - "a8bc243812de900c1a4945068f41537c" - ], - [ - "IfcRulesReify.skip_com", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@query", "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_WhileReify.Skip", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_Prims.eqtype", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Rel.rel", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "l_imp-interp", "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_FStar.DM4F.Heap.IntStoreFixed.heap", - "typing_Rel.__proj__R__item__l", "typing_Rel.__proj__R__item__r", - "typing_WhileReify.interpret_com", "typing_tok_WhileReify.Skip@tok", - "unit_typing" - ], - 0, - "1a7eaf6c380f7f2dcd0cda873df50688" - ], - [ - "IfcRulesReify.interpret_while_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "constructor_distinct_WhileReify.While", - "data_typing_intro_WhileReify.While@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", - "equation_WhileReify.interpret_com", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3ecbb6cad133c9361d90a554c3a8b879", - "interpretation_Tm_abs_43d4bfbf2c0d9e049db622589c3711ae", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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_WhileReify.While_body", - "projection_inverse_WhileReify.While_cond", - "projection_inverse_WhileReify.While_metric", - "typing_WhileReify.interpret_com", "unit_typing" - ], - 0, - "a4df31a78ba62f841d7726cde76f000c" - ], - [ - "IfcRulesReify.interpret_while_loops", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__raise__equality", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "constructor_distinct_WhileReify.While", - "data_typing_intro_WhileReify.While@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.DM4F.IntStoreExcFixed.raise_", - "equation_Prims.eqtype", "equation_WhileReify.interpret_com", - "equation_WhileReify.interpret_exp_", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3ecbb6cad133c9361d90a554c3a8b879", - "interpretation_Tm_abs_43d4bfbf2c0d9e049db622589c3711ae", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_cb8acd2409c1119a23c17c81d2f08cc9", - "interpretation_Tm_abs_fca28f4cbb6f4b2fa944ab91a89409d7", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.While_body", - "projection_inverse_WhileReify.While_cond", - "projection_inverse_WhileReify.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit", "typing_WhileReify.interpret_com", "unit_typing" - ], - 0, - "292309740d005dadf78e060a0111da91" - ], - [ - "IfcRulesReify.while_inv_com'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "binder_x_2955b9def59aee347877a1c125573f29_1", - "binder_x_7ab1748f97b7be5091389973104c9c7b_5", - "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", - "binder_x_961a83ca4e58bd70b992f49bc5b8c30f_4", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", - "binder_x_f1b0adbf3001da485bb55c0cfa02da25_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.While", - "data_typing_intro_WhileReify.While@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_IfcRulesReify.Low@tok", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_WhileReify.decr_while", - "equation_WhileReify.interpret_com", - "equation_WhileReify.interpret_exp_", "equation_WhileReify.metric", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_WhileReify.com", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_3ecbb6cad133c9361d90a554c3a8b879", - "interpretation_Tm_abs_43d4bfbf2c0d9e049db622589c3711ae", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_WhileReify.While_body", - "projection_inverse_WhileReify.While_cond", - "projection_inverse_WhileReify.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "true_interp", "typing_IfcRulesReify.op_Less", "typing_Prims.unit", - "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_WhileReify.interpret_exp_", - "typing_tok_IfcRulesReify.Low@tok", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "e8a3ec9d3ff2eadd4bc15d18f1573020" - ], - [ - "IfcRulesReify.while_ni_com'_low_equiv_high", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "disc_equation_IfcRulesReify.High", - "equality_tok_IfcRulesReify.Low@tok", - "equation_IfcRulesReify.inv_com_", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com_", - "equation_IfcRulesReify.op_Less", "equation_Prims.eqtype", - "equation_WhileReify.interpret_com", "l_imp-interp", - "l_quant_interp_d390c949356f318c9a62c8c2cf4c4e8e", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Rel.R_l", "projection_inverse_Rel.R_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_IfcRulesReify.uu___is_High", - "typing_Prims.unit", "typing_tok_IfcRulesReify.Low@tok", - "unit_inversion", "unit_typing" - ], - 0, - "a0f0a69973a85a66cff34d03d5ef644d" - ], - [ - "IfcRulesReify.while_ni_com'_low_equiv_low", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_WhileReify.interpret_com_st.fuel_instrumented", - "@fuel_irrelevance_WhileReify.interpret_com_st.fuel_instrumented", - "@query", - "FStar.DM4F.IntStoreExcFixed.__proj__INT_STORE_EXC__item__get_equality", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_interpretation_Tm_arrow_bac70614b3dca891688ebb078afa7ec1", - "binder_x_2955b9def59aee347877a1c125573f29_1", - "binder_x_9250a25a01be23c89a24518d1dd0ceb1_5", - "binder_x_961a83ca4e58bd70b992f49bc5b8c30f_4", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_2", - "binder_x_f1b0adbf3001da485bb55c0cfa02da25_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Mktuple2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "constructor_distinct_WhileReify.While", - "data_typing_intro_WhileReify.While@tok", - "disc_equation_IfcRulesReify.Low", - "equation_FStar.DM4F.IntStoreExcFixed.get", - "equation_FStar.DM4F.IntStoreExcFixed.write", - "equation_FStar.Pervasives.Native.fst", - "equation_IfcRulesReify.low_equiv", "equation_IfcRulesReify.ni_com", - "equation_IfcRulesReify.ni_com_", "equation_IfcRulesReify.ni_exp", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_WhileReify.decr_while", - "equation_WhileReify.interpret_com", - "equation_WhileReify.interpret_exp_", "equation_WhileReify.metric", - "equation_with_fuel_WhileReify.interpret_com_st.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_WhileReify.com", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3ecbb6cad133c9361d90a554c3a8b879", - "interpretation_Tm_abs_43d4bfbf2c0d9e049db622589c3711ae", - "interpretation_Tm_abs_6169b3ea32ca1b53d4c1becbc6732636", - "interpretation_Tm_abs_936023dc6b4c426772a2f02a9a4c3dc5", - "interpretation_Tm_abs_afc6079413f746330eab7ab4eced1d83", - "interpretation_Tm_abs_b76086e793a91fa75d25d023f610772c", - "interpretation_Tm_abs_bf3ba1c110edf43afc5f4102c0a51f61", - "interpretation_Tm_abs_ec3aaaebabfa81be7b5a5795fe5b609b", - "l_imp-interp", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Rel.R_l", "proj_equation_Rel.R_r", - "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_Rel.R_l", "projection_inverse_Rel.R_r", - "projection_inverse_WhileReify.While_body", - "projection_inverse_WhileReify.While_cond", - "projection_inverse_WhileReify.While_metric", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c10a87152270bbb6c2cb13c26fd52d3", - "true_interp", "typing_IfcRulesReify.uu___is_Low", - "typing_Prims.unit", "typing_WhileReify.interpret_com", - "typing_WhileReify.interpret_com_st", - "typing_WhileReify.interpret_exp_", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "078d4174da8ec1c6055a9b5e15810730" - ], - [ - "IfcRulesReify.while_ni_com'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_IfcRulesReify.High", - "disc_equation_IfcRulesReify.High", - "disc_equation_IfcRulesReify.Low", "equation_IfcRulesReify.ni_com_", - "equation_Prims.logical", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_Rel.rel", "l_imp-interp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "true_interp", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_IfcRulesReify.low_equiv", "unit_inversion", "unit_typing" - ], - 0, - "dbbb190be4c900c78309fa89bec8ecbf" - ], - [ - "IfcRulesReify.while_com", - 1, - 1, - 1, - [ "@query", "equation_IfcRulesReify.ni_com" ], - 0, - "52687442adee945e47d184558dd37d2a" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/IfcTypechecker.fst.hints b/examples/rel/IfcTypechecker.fst.hints deleted file mode 100644 index e7bc14107ba..00000000000 --- a/examples/rel/IfcTypechecker.fst.hints +++ /dev/null @@ -1,181 +0,0 @@ -[ - "µ¤çˆÂ\u0003ÞRLU̳Êåæ", - [ - [ - "IfcTypechecker.tc_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "WhileReify_pretyping_2955b9def59aee347877a1c125573f29", - "binder_x_2955b9def59aee347877a1c125573f29_1", "bool_inversion", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_WhileReify.AInt", - "constructor_distinct_WhileReify.AOp", - "constructor_distinct_WhileReify.AVar", - "disc_equation_WhileReify.AInt", "disc_equation_WhileReify.AOp", - "disc_equation_WhileReify.AVar", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", "equation_IfcRulesReify.join", - "equation_IfcRulesReify.op_Less_Equals", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_WhileReify.exp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_WhileReify.AInt__0", - "projection_inverse_WhileReify.AOp__0", - "projection_inverse_WhileReify.AOp__1", - "projection_inverse_WhileReify.AOp__2", - "projection_inverse_WhileReify.AVar__0", - "subterm_ordering_WhileReify.AOp", "typing_IfcRulesReify.join", - "typing_IfcRulesReify.op_Less_Equals", - "typing_WhileReify.uu___is_AInt", "typing_tok_IfcRulesReify.Low@tok" - ], - 0, - "e0949e7296ff59bd0da692e8e57e59af" - ], - [ - "IfcTypechecker.tc_com", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcTypechecker.tc_exp.fuel_instrumented", - "@query", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", - "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "constructor_distinct_WhileReify.If", - "constructor_distinct_WhileReify.Seq", - "data_elim_FStar.Pervasives.Inl", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Inr@tok", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_WhileReify.Assign", "disc_equation_WhileReify.If", - "disc_equation_WhileReify.Seq", "disc_equation_WhileReify.Skip", - "disc_equation_WhileReify.While", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_IfcTypechecker.Not_well_typed@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.meet", - "equation_IfcRulesReify.op_Less_Equals", - "equation_with_fuel_IfcTypechecker.tc_exp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_WhileReify.com", - "kinding_IfcRulesReify.label@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Inl_v", - "projection_inverse_BoxBool_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_WhileReify.If_cond", - "projection_inverse_WhileReify.If_else_branch", - "projection_inverse_WhileReify.If_then_branch", - "projection_inverse_WhileReify.Seq_first", - "projection_inverse_WhileReify.Seq_second", - "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", - "subterm_ordering_WhileReify.While", "typing_IfcRulesReify.meet", - "typing_IfcRulesReify.op_Less_Equals", "typing_Prims.exn", - "typing_WhileReify.uu___is_Skip", - "typing_tok_IfcRulesReify.High@tok", - "typing_tok_IfcRulesReify.Low@tok", - "typing_tok_IfcTypechecker.Not_well_typed@tok", - "typing_tok_WhileReify.Skip@tok", "unit_typing" - ], - 0, - "26271600a1e3a8f17d0601f4db01a978" - ], - [ - "IfcTypechecker.tc_com_hybrid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_IfcTypechecker.tc_exp.fuel_instrumented", - "@query", - "IfcRulesReify_interpretation_Tm_arrow_73a4084e0414e34e894569e5f5890c91", - "IfcRulesReify_pretyping_961a83ca4e58bd70b992f49bc5b8c30f", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "WhileReify_pretyping_db9f5591f9c8c6a645bfa61f7afb22db", - "assumption_WhileReify.com__uu___haseq", - "binder_x_87ec6f72b2dda9ab01bf259aff6551e3_0", - "binder_x_db9f5591f9c8c6a645bfa61f7afb22db_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_IfcRulesReify.High", - "constructor_distinct_IfcRulesReify.Low", - "data_elim_FStar.Pervasives.Inl", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "data_typing_intro_FStar.Pervasives.Inr@tok", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_WhileReify.Assign", "disc_equation_WhileReify.If", - "disc_equation_WhileReify.Seq", "disc_equation_WhileReify.Skip", - "disc_equation_WhileReify.While", - "equality_tok_IfcRulesReify.High@tok", - "equality_tok_IfcRulesReify.Low@tok", - "equality_tok_IfcTypechecker.Not_well_typed@tok", - "equality_tok_WhileReify.Skip@tok", - "equation_FStar.Pervasives.Native.snd", - "equation_IfcRulesReify.label_fun", "equation_IfcRulesReify.meet", - "equation_IfcRulesReify.op_Less_Equals", - "equation_with_fuel_IfcTypechecker.tc_exp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_IfcRulesReify.label", - "fuel_guarded_inversion_WhileReify.com", - "kinding_IfcRulesReify.label@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Inl_v", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_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.None_a", - "refinement_interpretation_Tm_refine_cff862e5e3bb0825453f58f95be63608", - "refinement_kinding_Tm_refine_cff862e5e3bb0825453f58f95be63608", - "subterm_ordering_WhileReify.If", "subterm_ordering_WhileReify.Seq", - "subterm_ordering_WhileReify.While", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_IfcRulesReify.meet", "typing_IfcRulesReify.op_Less_Equals", - "typing_Prims.exn", "typing_tok_IfcRulesReify.High@tok", - "typing_tok_IfcRulesReify.Low@tok", - "typing_tok_IfcTypechecker.Not_well_typed@tok", - "typing_tok_WhileReify.Skip@tok", "unit_typing" - ], - 0, - "c5d767c4af07e42799af94cc25959beb" - ] - ] -] \ No newline at end of file diff --git a/examples/rel/Label.fst.hints b/examples/rel/Label.fst.hints deleted file mode 100644 index 99a28200dc6..00000000000 --- a/examples/rel/Label.fst.hints +++ /dev/null @@ -1,25 +0,0 @@ -[ - "¢_»|¤’OSF5Á”SÕ´”ø“Q£Ì•\u001d", - [ - [ - "A.main", 1, 2, 1, [ "@query" ], 0, "6c10146bfec539c61ab3dd9a1c15db50" - ] - ] -] \ No newline at end of file diff --git a/examples/sample_project/B.fst.hints b/examples/sample_project/B.fst.hints deleted file mode 100644 index 9a6c3449894..00000000000 --- a/examples/sample_project/B.fst.hints +++ /dev/null @@ -1,44 +0,0 @@ -[ - "ŠÜ\rAƒCø\u0004N½ŒŠ‚à\u007f", - [ - [ - "B.validate", - 1, - 2, - 1, - [ "@query" ], - 0, - "f2cce0132d97b52f36fc3e2227410db7" - ], - [ - "B.validate", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "1d9a93a21a0be263c14718e65013ff07" - ], - [ - "B.validate", - 3, - 2, - 1, - [ "@query" ], - 0, - "37a5b37693e46ab0a96a4997f2209ffe" - ] - ] -] \ No newline at end of file diff --git a/examples/sample_project/B.fsti.hints b/examples/sample_project/B.fsti.hints deleted file mode 100644 index 2b905db3df5..00000000000 --- a/examples/sample_project/B.fsti.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "¼j²bK==w,`ù-{ní‹", - [ - [ - "B.validate", - 1, - 2, - 1, - [ "@query" ], - 0, - "f2cce0132d97b52f36fc3e2227410db7" - ] - ] -] \ No newline at end of file diff --git a/examples/sample_project/Makefile b/examples/sample_project/Makefile index 3a296d5ba64..fb02b75078e 100644 --- a/examples/sample_project/Makefile +++ b/examples/sample_project/Makefile @@ -14,7 +14,7 @@ TOP_LEVEL_FILE=ml/main.ml OUTPUT_DIRECTORY=_output ################################################################################ -FSTAR=fstar.exe --cache_checked_modules --odir $(OUTPUT_DIRECTORY) --use_hints $(OTHERFLAGS) +FSTAR=fstar.exe --cache_checked_modules --odir $(OUTPUT_DIRECTORY) --ext context_pruning $(OTHERFLAGS) ML_FILES=$(addprefix $(OUTPUT_DIRECTORY)/,$(addsuffix .ml,$(subst .,_, $(subst .fst,,$(FSTAR_FILES))))) OCAML_EXE=$(PROGRAM).ocaml.exe KRML_EXE=$(PROGRAM).exe diff --git a/examples/software_foundations/SfBasic.fst.hints b/examples/software_foundations/SfBasic.fst.hints deleted file mode 100644 index a71e3e79fab..00000000000 --- a/examples/software_foundations/SfBasic.fst.hints +++ /dev/null @@ -1,777 +0,0 @@ -[ - "±Ì.Û\u00176ç\u0002øÂ\u0011XqЦF", - [ - [ - "SfBasic.next_weekday", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.Friday", - "disc_equation_SfBasic.Monday", "disc_equation_SfBasic.Saturday", - "disc_equation_SfBasic.Sunday", "disc_equation_SfBasic.Thursday", - "disc_equation_SfBasic.Tuesday", "disc_equation_SfBasic.Wednesday", - "fuel_guarded_inversion_SfBasic.day", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "da3876dc03bef0d8518866e1ed13e9d9" - ], - [ - "SfBasic.test_next_weekday", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.day__uu___haseq" ], - 0, - "ccf8e87b642365c1ac88eb4353793e1d" - ], - [ - "SfBasic.test_next_weekday", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_SfBasic.Monday", - "constructor_distinct_SfBasic.Saturday", - "equality_tok_SfBasic.Monday@tok", - "equality_tok_SfBasic.Saturday@tok", "equation_SfBasic.next_weekday" - ], - 0, - "736e1a0dc4b406577200cdfa8f929bcd" - ], - [ - "SfBasic.negb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.MFalse", - "disc_equation_SfBasic.MTrue", - "fuel_guarded_inversion_SfBasic.mbool", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f7bf51cebed0c95983448b380043ae92" - ], - [ - "SfBasic.andb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.MFalse", - "disc_equation_SfBasic.MTrue", - "fuel_guarded_inversion_SfBasic.mbool", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "00bfa872b2917694c741cd03b3e0d006" - ], - [ - "SfBasic.orb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.MFalse", - "disc_equation_SfBasic.MTrue", - "fuel_guarded_inversion_SfBasic.mbool", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "120e1c755c8e9f2b030ce6db0d4ef7c3" - ], - [ - "SfBasic.test_orb1", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "a85eab6d26d439d7efe11e9aec555b7d" - ], - [ - "SfBasic.test_orb1", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_SfBasic.MTrue", - "equality_tok_SfBasic.MFalse@tok", "equality_tok_SfBasic.MTrue@tok", - "equation_SfBasic.orb" - ], - 0, - "a4e1c6c9054f34af74c4a8006968d01b" - ], - [ - "SfBasic.test_orb2", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "11295df2c83e6ee7fc4c8267c91863a6" - ], - [ - "SfBasic.test_orb2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_SfBasic.MFalse", - "equality_tok_SfBasic.MFalse@tok", "equation_SfBasic.orb", - "fuel_guarded_inversion_SfBasic.mbool", "typing_SfBasic.orb", - "typing_tok_SfBasic.MFalse@tok" - ], - 0, - "c2226f6cb9482362ac43fc7965740abc" - ], - [ - "SfBasic.test_orb3", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "04731959a7b80887d107850c0680f4e0" - ], - [ - "SfBasic.test_orb3", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_SfBasic.MFalse", - "equality_tok_SfBasic.MFalse@tok", "equality_tok_SfBasic.MTrue@tok", - "equation_SfBasic.orb" - ], - 0, - "7c3b9b3561cfbc38edabd29cd317e80e" - ], - [ - "SfBasic.test_orb4", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "f6cb6fd36250cc2f59129557e11fa55d" - ], - [ - "SfBasic.test_orb4", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_SfBasic.MTrue", - "equality_tok_SfBasic.MTrue@tok", "equation_SfBasic.orb" - ], - 0, - "1054b6a6222d43713a47fa51e9ba86f2" - ], - [ - "SfBasic.nat", - 1, - 2, - 1, - [ "@query" ], - 0, - "fd2daad7e4ed809ed17d5c673075d81a" - ], - [ - "SfBasic.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b7b70964a15ac3a2f4808938f2801faf" - ], - 0, - "7485d7ddd73c29753edaebae8e8722ef" - ], - [ - "SfBasic.pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.O", - "disc_equation_SfBasic.S", "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "21519caf8a3246fea875a4927ec21a82" - ], - [ - "SfBasic.minustwo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfBasic.O", - "disc_equation_SfBasic.S", "fuel_guarded_inversion_SfBasic.nat", - "proj_equation_SfBasic.S__0", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b7b70964a15ac3a2f4808938f2801faf", - "typing_SfBasic.__proj__S__item___0" - ], - 0, - "ba7d2d4bcd7609c13bc06f41995be433" - ], - [ - "SfBasic.evenb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "constructor_distinct_SfBasic.S", "disc_equation_SfBasic.O", - "disc_equation_SfBasic.S", "equality_tok_SfBasic.O@tok", - "fuel_guarded_inversion_SfBasic.nat", "proj_equation_SfBasic.S__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfBasic.S__0", - "refinement_interpretation_Tm_refine_b7b70964a15ac3a2f4808938f2801faf", - "subterm_ordering_SfBasic.S", "typing_SfBasic.__proj__S__item___0", - "typing_tok_SfBasic.O@tok" - ], - 0, - "968264cd180c252d42158f0537cc08f7" - ], - [ - "SfBasic.test_oddb1", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "368d473c7a74e894f6eca3d3c01715d2" - ], - [ - "SfBasic.test_oddb1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.evenb.fuel_instrumented", "@query", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.MFalse@tok", - "equality_tok_SfBasic.MTrue@tok", "equality_tok_SfBasic.O@tok", - "equation_SfBasic.negb", "equation_SfBasic.oddb", - "equation_with_fuel_SfBasic.evenb.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.mbool", - "projection_inverse_SfBasic.S__0", "typing_SfBasic.oddb", - "typing_tok_SfBasic.O@tok" - ], - 0, - "a53089b50ce11fb87515a9377d4d22a9" - ], - [ - "SfBasic.test_oddb2", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "cd4af8e439529478888080aeede4bfec" - ], - [ - "SfBasic.test_oddb2", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.evenb.fuel_instrumented", "@query", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.MFalse@tok", - "equality_tok_SfBasic.MTrue@tok", "equality_tok_SfBasic.O@tok", - "equation_SfBasic.negb", "equation_SfBasic.oddb", - "equation_with_fuel_SfBasic.evenb.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.mbool", - "projection_inverse_SfBasic.S__0", "typing_SfBasic.evenb", - "typing_SfBasic.oddb", "typing_tok_SfBasic.O@tok" - ], - 0, - "7eed92ed2585ae908bb4237c632701a6" - ], - [ - "SfBasic.plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "3e37b5d8ccdac4b74cc1641c64fa2dd0" - ], - [ - "SfBasic.mult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "d8ea3bf3a99844d2826ac2b4e8162ebf" - ], - [ - "SfBasic.test_mult1", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "01307a9cb413e3da620da766002eb8fe" - ], - [ - "SfBasic.test_mult1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.mult.fuel_instrumented", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", - "@fuel_irrelevance_SfBasic.mult.fuel_instrumented", "@query", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.mult.fuel_instrumented", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "projection_inverse_SfBasic.S__0", - "token_correspondence_SfBasic.mult.fuel_instrumented", - "typing_tok_SfBasic.O@tok" - ], - 0, - "34bc3bd2892fe9256a621fd600d34cdb" - ], - [ - "SfBasic.minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "binder_x_ccd81122687c082c3642373b68717e85_1", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", "fuel_guarded_inversion_SfBasic.nat", - "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_SfBasic.S__0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "311d5fe63f49479b378dff0ca86ee65b" - ], - [ - "SfBasic.beq_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_SfBasic.S" - ], - 0, - "0254565d541b492ab189ad0f8a4c4c40" - ], - [ - "SfBasic.ble_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "binder_x_ccd81122687c082c3642373b68717e85_1", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", "fuel_guarded_inversion_SfBasic.nat", - "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_SfBasic.S__0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "526fd8f96984a9224d4fc7506d46745d" - ], - [ - "SfBasic.test_ble_nat1", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "39b1573c17ff49b25a276a9e555b0194" - ], - [ - "SfBasic.test_ble_nat1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.ble_nat.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.ble_nat.fuel_instrumented", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" - ], - 0, - "5c2e331cd24c6799f9c687aeb8f4c28c" - ], - [ - "SfBasic.test_ble_nat2", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "cdc3324a86279545ac799ccaeebf1da5" - ], - [ - "SfBasic.test_ble_nat2", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.ble_nat.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.ble_nat.fuel_instrumented", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" - ], - 0, - "abbcbeaee44dbf6b59a1be346d1aaddb" - ], - [ - "SfBasic.test_ble_nat3", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "1c2ba194422fde56f6dae2b814f65243" - ], - [ - "SfBasic.test_ble_nat3", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.ble_nat.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.ble_nat.fuel_instrumented", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_SfBasic.S__0", "typing_tok_SfBasic.O@tok" - ], - 0, - "208ad2ee8b7395f22ef24a224e0bda15" - ], - [ - "SfBasic.plus_O_n", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "cde7790c8bc07146a3eccc07bd359468" - ], - [ - "SfBasic.plus_O_n", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", "@query", - "constructor_distinct_SfBasic.O", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "typing_tok_SfBasic.O@tok" - ], - 0, - "ddbe8a4299f354fbe72b722f059c83a8" - ], - [ - "SfBasic.plus_id_example", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "30de05bc8394e71507583e653623a0f4" - ], - [ - "SfBasic.plus_id_example", - 2, - 2, - 1, - [ "@query" ], - 0, - "ca40a4557513b4828a7e7d638950c22f" - ], - [ - "SfBasic.mult_0_plus", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "6f05cad8fecd07a120f53a157cb77cd1" - ], - [ - "SfBasic.mult_0_plus", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", "@query", - "constructor_distinct_SfBasic.O", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "typing_tok_SfBasic.O@tok" - ], - 0, - "f32b541fca2c7345a6c6ef4b0a60b572" - ], - [ - "SfBasic.plus_1_neq_0", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "7b98eb8ce1ffe76500988f38f91a2865" - ], - [ - "SfBasic.plus_1_neq_0", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.beq_nat.fuel_instrumented", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.beq_nat.fuel_instrumented", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_SfBasic.plus", "typing_tok_SfBasic.O@tok" - ], - 0, - "f0269c22a3f2eef8bad3438847705131" - ], - [ - "SfBasic.negb_involutive", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.mbool__uu___haseq" ], - 0, - "afacbd70931ba9035d0a962a39c03f39" - ], - [ - "SfBasic.negb_involutive", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_SfBasic.MFalse", - "constructor_distinct_SfBasic.MTrue", - "equality_tok_SfBasic.MFalse@tok", "equality_tok_SfBasic.MTrue@tok", - "equation_SfBasic.negb", "fuel_guarded_inversion_SfBasic.mbool", - "typing_SfBasic.negb" - ], - 0, - "7fe223e6fa6da62cb85110d4d3bab789" - ], - [ - "SfBasic.plus_0_r", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "86f32d12098dc1ea0b07e5b0b97560aa" - ], - [ - "SfBasic.plus_0_r", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", - "@fuel_irrelevance_SfBasic.plus.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfBasic.S__0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "8fb7a21d2629ff82f5db20dd64c0b5d5" - ], - [ - "SfBasic.plus_0_r", - 3, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "68faf3cc18e9d5ba3534abc9f1938d1b" - ], - [ - "SfBasic.plus_n_Sm", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "104e7a9f1d87918abbdfe59cfd3f8084" - ], - [ - "SfBasic.plus_n_Sm", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", - "@fuel_irrelevance_SfBasic.plus.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "binder_x_ccd81122687c082c3642373b68717e85_1", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "data_typing_intro_SfBasic.S@tok", "disc_equation_SfBasic.O", - "disc_equation_SfBasic.S", "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfBasic.S__0", "subterm_ordering_SfBasic.S", - "token_correspondence_SfBasic.plus.fuel_instrumented", - "typing_tok_SfBasic.O@tok" - ], - 0, - "c03601b1437a97d78468172d451283aa" - ], - [ - "SfBasic.plus_n_Sm", - 3, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "2c57c57ec68db198bbb15bf1d82fa3f7" - ], - [ - "SfBasic.plus_comm", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "2bab3cc7b948a4cb159b0841481a946e" - ], - [ - "SfBasic.plus_comm", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfBasic.plus.fuel_instrumented", - "@fuel_irrelevance_SfBasic.plus.fuel_instrumented", "@query", - "SfBasic_pretyping_ccd81122687c082c3642373b68717e85", - "binder_x_ccd81122687c082c3642373b68717e85_0", - "binder_x_ccd81122687c082c3642373b68717e85_1", - "constructor_distinct_SfBasic.O", "constructor_distinct_SfBasic.S", - "disc_equation_SfBasic.O", "disc_equation_SfBasic.S", - "equality_tok_SfBasic.O@tok", - "equation_with_fuel_SfBasic.plus.fuel_instrumented", - "fuel_guarded_inversion_SfBasic.nat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfBasic.S__0", "subterm_ordering_SfBasic.S", - "typing_tok_SfBasic.O@tok" - ], - 0, - "32c8872df56f0a3026cece09627d7d19" - ], - [ - "SfBasic.plus_comm", - 3, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "7cf762d87fe90a28df378ed7283aab39" - ], - [ - "SfBasic.plus_rearrange", - 1, - 2, - 1, - [ "@query", "assumption_SfBasic.nat__uu___haseq" ], - 0, - "e10e7a73fd32e78588d765d95c690c60" - ], - [ - "SfBasic.plus_rearrange", - 2, - 2, - 1, - [ "@query" ], - 0, - "d29a67f21ad53731441d0c590ed8cea0" - ] - ] -] \ No newline at end of file diff --git a/examples/software_foundations/SfLists.fst.hints b/examples/software_foundations/SfLists.fst.hints deleted file mode 100644 index e0a9c015494..00000000000 --- a/examples/software_foundations/SfLists.fst.hints +++ /dev/null @@ -1,1181 +0,0 @@ -[ - "/«~ÖǤí\u001d2kݲe)Þå", - [ - [ - "SfLists.ilist", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c583d9afb26b01735359cf144d1fd7c" - ], - [ - "SfLists.__proj__Cons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4af35fe3776a37c0cce0f466b1cbfc00" - ], - 0, - "3c250e13b2785f4a1b6bcaa3c270ac96" - ], - [ - "SfLists.__proj__Cons__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4af35fe3776a37c0cce0f466b1cbfc00" - ], - 0, - "6e1ada64953b5ca459f4dc7da0b379cc" - ], - [ - "SfLists.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", "equation_Prims.nat", - "fuel_guarded_inversion_SfLists.ilist", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" - ], - 0, - "cc3b6eff275c6b74f6821ffe488685b5" - ], - [ - "SfLists.repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "f07a88fc99cafc0006f0b5f1779bbb6b" - ], - [ - "SfLists.app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "f874c30d26778b32893032127f94cd93" - ], - [ - "SfLists.test_app1", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "56b4b843c2783def9dc688d54730ac99" - ], - [ - "SfLists.test_app1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", - "data_typing_intro_SfLists.Cons@tok", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", "int_typing", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", "typing_tok_SfLists.Nil@tok" - ], - 0, - "a44b0aaddf936c449e994b8d8520dd0c" - ], - [ - "SfLists.test_app2", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "1c15eb8ac1e8447b249e809d9b65db37" - ], - [ - "SfLists.test_app2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Nil", - "data_typing_intro_SfLists.Cons@tok", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", "int_typing", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "32c324d5ad89915bd15230035c0d5df9" - ], - [ - "SfLists.test_app3", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "b3331a3f6a8001c8c9c3e37a3d9c0005" - ], - [ - "SfLists.test_app3", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", - "data_typing_intro_SfLists.Cons@tok", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", "int_typing", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", "typing_tok_SfLists.Nil@tok" - ], - 0, - "75b5e1c777c7192b0e00ba381e6b9e00" - ], - [ - "SfLists.nil_app", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "64e0e583aff54753580067b5c0b2a758" - ], - [ - "SfLists.nil_app", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "695a6385e9ba3aa8b090fa1679af6b5e" - ], - [ - "SfLists.app_nil", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "5815f8c0a47306ffe7425bcc565b3268" - ], - [ - "SfLists.app_nil", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_irrelevance_SfLists.app.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" - ], - 0, - "45ce6fc2e12597cc3fb046b552c08a8b" - ], - [ - "SfLists.app_nil", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "968fb87a3f65e29df236a334761b53f9" - ], - [ - "SfLists.hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfLists.Cons", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b" - ], - 0, - "508a10a088cf6b6fb8bc4bfb8c300c38" - ], - [ - "SfLists.tl_strange", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "641d6318980512d00ddaedd149aa8e0d" - ], - [ - "SfLists.tl_strange_length_pred", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", "@query", - "equality_tok_SfLists.Nil@tok", "equation_Prims.nat", - "equation_SfLists.tl_strange", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SfLists.length", "typing_SfLists.tl_strange" - ], - 0, - "a4df02bb467307ce58262cebf64ecd34" - ], - [ - "SfLists.tl_strange_length_pred_equiv", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", "@query", - "disc_equation_SfLists.Cons", "equation_Prims.nat", - "equation_SfLists.tl_strange", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4af35fe3776a37c0cce0f466b1cbfc00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SfLists.length", "typing_SfLists.tl_strange" - ], - 0, - "e2214fe10e970285af5bc4b942406807" - ], - [ - "SfLists.tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_SfLists.Cons", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b" - ], - 0, - "e058f01e008dd137dcf91ef8776fd31e" - ], - [ - "SfLists.tl_length_pred", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", "@query", - "equality_tok_SfLists.Nil@tok", "equation_Prims.nat", - "equation_SfLists.tl", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3eb92a5666327bc58471b53f8f76042b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SfLists.length", "typing_SfLists.tl" - ], - 0, - "9938bdf71cfd2a109d6a8cfb3e94b503" - ], - [ - "SfLists.app_assoc", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "22fcbe8e037889cadc79a0dacb283d61" - ], - [ - "SfLists.app_assoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_irrelevance_SfLists.app.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_2", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.app", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "55efb2a46f0f70d9365486536d725c4f" - ], - [ - "SfLists.app_assoc", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "2ddad40d7f910292456d02eedb3b3df6" - ], - [ - "SfLists.app_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.app.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_1", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_Prims.nat", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_SfLists.Cons", "typing_SfLists.app", - "typing_SfLists.length", "typing_tok_SfLists.Nil@tok" - ], - 0, - "b42ce59a2b60a84ba697db6ec85d3629" - ], - [ - "SfLists.snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "7ab62d9de3c5d81171f036ec4ca1d40c" - ], - [ - "SfLists.rev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "274f99caae4114ddd26f7a856ad4d552" - ], - [ - "SfLists.length_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.snoc.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_1", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.snoc", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "8b81d6db9f40ed93a25d3f9aafd30d74" - ], - [ - "SfLists.rev_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "70780c9afe381121f93a2704de78914c" - ], - [ - "SfLists.rev_length", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.rev.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" - ], - 0, - "ebd3510f8e139213f7795abe72de87e9" - ], - [ - "SfLists.rev_length", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3c652540ca166375559cf7e3feffae1f" - ], - [ - "SfLists.foo1", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "7440e4fe1093b8a720a89e4b5a698707" - ], - [ - "SfLists.foo1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.repeat.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_Prims.nat", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.repeat.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_typing", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1dfcc205afc69e75a712e205facb872b" - ], - [ - "SfLists.foo2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SfLists.ilist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b2fac76e85f2538f1cecb17d04eed031" - ], - [ - "SfLists.foo2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.repeat.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.repeat.fuel_instrumented", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_2", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_Prims.nat", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.repeat.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_SfLists.length", "well-founded-ordering-on-nat" - ], - 0, - "084b0a55cfbf0d353b7cee8bf938234a" - ], - [ - "SfLists.foo2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_SfLists.ilist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c3e0449b47dbe289b31cf4052a8112f0" - ], - [ - "SfLists.foo3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6ef1f6f5da058e2ce3822fdba9d63dc9" - ], - [ - "SfLists.foo3", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", - "@fuel_irrelevance_SfLists.snoc.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.snoc", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "90bda183a0821e835d14d37ffbf37ada" - ], - [ - "SfLists.foo3", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d233a6078d3dfbbf25ad050ad6d53794" - ], - [ - "SfLists.foo4", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "ff68c51d4fa27367d435365cf4144f3b" - ], - [ - "SfLists.foo4", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.length.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.length.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "data_elim_SfLists.Cons", - "equality_tok_SfLists.Nil@tok", "equation_Prims.nat", - "equation_with_fuel_SfLists.length.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_SfLists.Cons__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SfLists.length.fuel_instrumented", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "32894b7da0b023e4895f5fd52ac6e083" - ], - [ - "SfLists.snoc_cons", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "b03d089ef25c68ad7cace68f4c1b52bd" - ], - [ - "SfLists.snoc_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.rev.fuel_instrumented", - "@fuel_irrelevance_SfLists.snoc.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.rev", - "typing_SfLists.snoc", "typing_tok_SfLists.Nil@tok" - ], - 0, - "a85c9d21e27409c16426de44f51231dc" - ], - [ - "SfLists.snoc_cons", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "4d89938d467cf2b08755d07f7845af9d" - ], - [ - "SfLists.rev_involutive", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "4597cb0865cf13c6f4417f06969cc5a4" - ], - [ - "SfLists.rev_involutive", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_irrelevance_SfLists.rev.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" - ], - 0, - "5d8508971318693494a82d85bbb0f704" - ], - [ - "SfLists.rev_involutive", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "676da4d772ff62d15c75b448915e6653" - ], - [ - "SfLists.snoc_injective", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "d296b851e1e9a45aff3311a117de4f84" - ], - [ - "SfLists.snoc_injective", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.snoc.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_ae567c2fb75be05905677af440075565_3", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_2", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "data_elim_SfLists.Cons", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "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_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_tok_SfLists.Nil@tok" - ], - 0, - "66f26abcb0134cecb1025cc1fdd25d57" - ], - [ - "SfLists.snoc_injective", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "69967aab5a41f523c74024d6e852a218" - ], - [ - "SfLists.rev_injective", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "129d635ad882634bf27eed7460bcca97" - ], - [ - "SfLists.rev_injective", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.rev.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_1", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "data_elim_SfLists.Cons", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "int_typing", "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_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", - "token_correspondence_SfLists.rev.fuel_instrumented", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "4b84fe40c154233e53896ae07bde41fe" - ], - [ - "SfLists.rev_injective", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "b5ce78b808f80b8d7c468a245e537e80" - ], - [ - "SfLists.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_3", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "089d295a177117fece303462b00d0482" - ], - [ - "SfLists.app_cons", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "92eb08a1702f428f67bb29006a4fc04e" - ], - [ - "SfLists.app_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_irrelevance_SfLists.app.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_2", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", - "data_typing_intro_SfLists.Cons@tok", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.app", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "9f52761599e83cd9b9c7c9c380f23555" - ], - [ - "SfLists.app_cons", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "1dc885b29f4ad9553eebef340caf5fae" - ], - [ - "SfLists.snoc_app", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "024efde3a1e19ebf7bafa15a249720c0" - ], - [ - "SfLists.snoc_app", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_correspondence_SfLists.snoc.fuel_instrumented", - "@fuel_irrelevance_SfLists.app.fuel_instrumented", - "@fuel_irrelevance_SfLists.snoc.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", - "data_typing_intro_SfLists.Cons@tok", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "equation_with_fuel_SfLists.snoc.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "int_inversion", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", - "token_correspondence_SfLists.snoc.fuel_instrumented", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "395bda800f7773458fff8fb144f06833" - ], - [ - "SfLists.snoc_app", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "e8752ad39f72ff86c250d8365088c43c" - ], - [ - "SfLists.rev_app", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "9949729f4db468c857a6f144e7397fdd" - ], - [ - "SfLists.rev_app", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_irrelevance_SfLists.rev.fuel_instrumented", "@query", - "constructor_distinct_SfLists.Cons", - "data_typing_intro_SfLists.Cons@tok", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1" - ], - 0, - "c20753cd2ff6bbac38cc81c4426ed67c" - ], - [ - "SfLists.fold_left_cons_is_rev", - 1, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "6bc4ba2f31b0f93b628e94758d91398a" - ], - [ - "SfLists.fold_left_cons_is_rev", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.app.fuel_instrumented", - "@fuel_correspondence_SfLists.fold_left.fuel_instrumented", - "@fuel_correspondence_SfLists.rev.fuel_instrumented", - "@fuel_irrelevance_SfLists.fold_left.fuel_instrumented", "@query", - "SfLists_interpretation_Tm_arrow_924f4bf62b5e2ee4bcbee7815297eef1", - "SfLists_interpretation_Tm_arrow_d0b6d3feb2ef676c1988a77f1e77ad4e", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "binder_x_da0ce6472e3557dab4a010c89b01a198_1", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Cons@tok", - "equality_tok_SfLists.Nil@tok", - "equation_with_fuel_SfLists.app.fuel_instrumented", - "equation_with_fuel_SfLists.fold_left.fuel_instrumented", - "equation_with_fuel_SfLists.rev.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", "kinding_SfLists.ilist@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.rev", - "typing_tok_SfLists.Cons@tok", "typing_tok_SfLists.Nil@tok" - ], - 0, - "9c8af7fc4d1ca2ff0f9164c9f6333c54" - ], - [ - "SfLists.fold_left_cons_is_rev", - 3, - 2, - 1, - [ "@query", "assumption_SfLists.ilist__uu___haseq" ], - 0, - "99e5856d768c38fed76c9ea3beff5550" - ], - [ - "SfLists.forallb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "3796f5c51faed1942140ac128ba652e3" - ], - [ - "SfLists.existsb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", - "disc_equation_SfLists.Cons", "disc_equation_SfLists.Nil", - "equality_tok_SfLists.Nil@tok", - "fuel_guarded_inversion_SfLists.ilist", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_SfLists.Cons", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "b497785c9c7fffb66118bafedce2da5d" - ], - [ - "SfLists.existsb_existsb'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfLists.existsb.fuel_instrumented", - "@fuel_correspondence_SfLists.forallb.fuel_instrumented", - "@fuel_irrelevance_SfLists.existsb.fuel_instrumented", - "@fuel_irrelevance_SfLists.forallb.fuel_instrumented", "@query", - "SfLists_pretyping_da0ce6472e3557dab4a010c89b01a198", - "binder_x_d572127907d518d641a8068497b9d6e8_1", - "binder_x_da0ce6472e3557dab4a010c89b01a198_0", "bool_inversion", - "constructor_distinct_SfLists.Cons", - "constructor_distinct_SfLists.Nil", "disc_equation_SfLists.Cons", - "disc_equation_SfLists.Nil", "equality_tok_SfLists.Nil@tok", - "equation_SfLists.existsb_", - "equation_with_fuel_SfLists.existsb.fuel_instrumented", - "equation_with_fuel_SfLists.forallb.fuel_instrumented", - "fuel_guarded_inversion_SfLists.ilist", - "interpretation_Tm_abs_ee542b1ae92dade1b66ef61811d7e38e", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_SfLists.Cons__0", - "projection_inverse_SfLists.Cons__1", - "subterm_ordering_SfLists.Cons", "typing_SfLists.forallb", - "typing_Tm_abs_ee542b1ae92dade1b66ef61811d7e38e", - "typing_tok_SfLists.Nil@tok" - ], - 0, - "496f96edfc205ce0ad14488f37576212" - ] - ] -] \ No newline at end of file diff --git a/examples/software_foundations/SfPoly.fst.hints b/examples/software_foundations/SfPoly.fst.hints deleted file mode 100644 index 63e2342dd41..00000000000 --- a/examples/software_foundations/SfPoly.fst.hints +++ /dev/null @@ -1,1410 +0,0 @@ -[ - "\u0019o¡|q¨³deØàR‰±:\u001b", - [ - [ - "SfPoly.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "b1b7f75638e99503d34c4e68ef1afa81" - ], - [ - "SfPoly.test_length1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_SfPoly.length" - ], - 0, - "94b3cfb20f9d3fd8e7861ef68f5464e6" - ], - [ - "SfPoly.test_length2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", "@query", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.bool", "typing_SfPoly.length" - ], - 0, - "0305fc774bcabf158d00c46bfcaaea58" - ], - [ - "SfPoly.length_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "projection_inverse_Prims.Nil_a" - ], - 0, - "879043670bedb4e0624cb056e10eed7d" - ], - [ - "SfPoly.length_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", - "@fuel_irrelevance_SfPoly.length.fuel_instrumented", "@query", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "30b0e342cc5a8b30353c522858355831" - ], - [ - "SfPoly.app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "576e4c2b03730ba20f9fe22d11645517" - ], - [ - "SfPoly.nil_app", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.app.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_SfPoly.app.fuel_instrumented", - "projection_inverse_Prims.Nil_a" - ], - 0, - "0f5c137eb875606e95d6a295fb3e4d78" - ], - [ - "SfPoly.app_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.app.fuel_instrumented", - "@fuel_irrelevance_SfPoly.app.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.app.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "857eef8a73c5259b2e9d5b61d33ddac5" - ], - [ - "SfPoly.length_app", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.app.fuel_instrumented", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", - "@fuel_irrelevance_SfPoly.app.fuel_instrumented", - "@fuel_irrelevance_SfPoly.length.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.app.fuel_instrumented", - "equation_with_fuel_SfPoly.length.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_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", "typing_SfPoly.app", - "typing_SfPoly.length" - ], - 0, - "dda2be3831dfc5440dd1b78d6f3e280e" - ], - [ - "SfPoly.snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "4e86bdaf62d0d871ac97be89631e7da9" - ], - [ - "SfPoly.snoc_with_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.app.fuel_instrumented", - "@fuel_correspondence_SfPoly.snoc.fuel_instrumented", - "@fuel_irrelevance_SfPoly.app.fuel_instrumented", - "@fuel_irrelevance_SfPoly.snoc.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.app.fuel_instrumented", - "equation_with_fuel_SfPoly.snoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.app", - "typing_SfPoly.snoc" - ], - 0, - "5f89e72f48d0a7342dfd180680796812" - ], - [ - "SfPoly.rev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "129ced4504e07dc45ccc9f833c1e084b" - ], - [ - "SfPoly.rev_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.rev.fuel_instrumented", - "@fuel_correspondence_SfPoly.snoc.fuel_instrumented", - "@fuel_irrelevance_SfPoly.rev.fuel_instrumented", - "@fuel_irrelevance_SfPoly.snoc.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.rev.fuel_instrumented", - "equation_with_fuel_SfPoly.snoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.rev", - "typing_SfPoly.snoc" - ], - 0, - "a90ac49d0efdf92d75e37f235ce80afc" - ], - [ - "SfPoly.rev_involutive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.rev.fuel_instrumented", - "@fuel_irrelevance_SfPoly.rev.fuel_instrumented", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.rev.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.rev", - "typing_SfPoly.snoc" - ], - 0, - "a96f8451810e2c866294fa4eb4b13a46" - ], - [ - "SfPoly.repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6df55ec5b382d67ececd2b085140ac7d" - ], - [ - "SfPoly.combine", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "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, - "ed140c3949e180f0e13aafd6f0801cd8" - ], - [ - "SfPoly.index_option", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "826c5250be14198a3f5790fab02de320" - ], - [ - "SfPoly.test_index_option1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1d2f955d9f1bbbe74988c5286d11c1b7" - ], - [ - "SfPoly.test_index_option1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.index_option.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.index_option.fuel_instrumented", - "int_typing", "primitive_Prims.op_Equality", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "a86742f159e22535519c8d2f1784ecc1" - ], - [ - "SfPoly.test_index_option2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "kinding_Prims.list@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ca0953cf45497bf0f249a50e36f91714" - ], - [ - "SfPoly.test_index_option2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.index_option.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.index_option.fuel_instrumented", - "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "bca1a403d42f385eac6bb47c7ea30e20" - ], - [ - "SfPoly.test_index_option3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "11dd191fca85ae8388150accf15f5501" - ], - [ - "SfPoly.test_index_option3", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.index_option.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.index_option.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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", - "typing_Prims.bool" - ], - 0, - "1717e2e14dc17d44c9ad0fdb047d691a" - ], - [ - "SfPoly.index", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", - "@fuel_irrelevance_SfPoly.length.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_8c0cf15d6b3c4cf81dfbe6999af61ecf_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e294507e5f28d282c898eb7ff1e9898f", - "subterm_ordering_Prims.Cons", "typing_SfPoly.length" - ], - 0, - "b2a3a7b1855431018474d51ae334ed86" - ], - [ - "SfPoly.test_prod_uncurry", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_SfPoly.prod_uncurry", - "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" - ], - 0, - "7b7689aa2e2ed28ad8595e175e0e2060" - ], - [ - "SfPoly.test_prod_curry", - 1, - 2, - 1, - [ "@query", "equation_SfPoly.prod_curry" ], - 0, - "545fc9c0a76759a355c42162c7f2d694" - ], - [ - "SfPoly.uncurry_curry", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SfPoly.prod_curry", - "equation_SfPoly.prod_uncurry", - "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", - "token_correspondence_SfPoly.prod_uncurry" - ], - 0, - "ed68a607a5f9e8dc2d32de751f75217f" - ], - [ - "SfPoly.curry_uncurry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_SfPoly.prod_curry", - "equation_SfPoly.prod_uncurry", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "token_correspondence_SfPoly.prod_curry" - ], - 0, - "10b10271c4575125c2199aca655de20e" - ], - [ - "SfPoly.filter", - 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, - "5d6b3de699a0a69de3bad0f1c700d48c" - ], - [ - "SfPoly.evenb'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "43d469e5d0fbd3ae9be97c736cd30364" - ], - [ - "SfPoly.test_filter1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "d81763844fdda976b45f22b8176c35ca" - ], - [ - "SfPoly.test_filter1", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.filter.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SfPoly_interpretation_Tm_arrow_67d1eb0e2b2b0432bd883bf79e9b388c", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", - "equation_SfPoly.evenb", - "equation_with_fuel_SfPoly.filter.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_SfPoly.evenb", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SfPoly.evenb" - ], - 0, - "ec47a20236082c74af1905cc51e733c2" - ], - [ - "SfPoly.test_filter2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "977db1b0cbaa51950f889f056d2606e8" - ], - [ - "SfPoly.test_filter2", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.evenb_.fuel_instrumented", - "@fuel_correspondence_SfPoly.filter.fuel_instrumented", - "@fuel_irrelevance_SfPoly.evenb_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "SfPoly_interpretation_Tm_arrow_67d1eb0e2b2b0432bd883bf79e9b388c", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", - "equation_with_fuel_SfPoly.evenb_.fuel_instrumented", - "equation_with_fuel_SfPoly.filter.fuel_instrumented", - "function_token_typing_SfPoly.evenb_", "int_typing", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SfPoly.evenb_" - ], - 0, - "77c35443cef08877a065ecd53d34b5d4" - ], - [ - "SfPoly.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "7864b787e53506ad4cf43ff931eec3f7" - ], - [ - "SfPoly.test_map1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c2093dda524047d4c8c4f0cb3ffa5e0c" - ], - [ - "SfPoly.test_map1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_SfPoly.map.fuel_instrumented", "int_inversion", - "int_typing", - "interpretation_Tm_abs_7e6a1915f0012ab70245647242028eda", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_SfPoly.map", - "typing_Tm_abs_7e6a1915f0012ab70245647242028eda" - ], - 0, - "82356d3e404e7a0ede9addee25b1ddd6" - ], - [ - "SfPoly.test_map2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "97b232322ce32316a4b02a43acc8fa2d" - ], - [ - "SfPoly.test_map2", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SfPoly_interpretation_Tm_arrow_67d1eb0e2b2b0432bd883bf79e9b388c", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SfPoly.evenb", - "equation_SfPoly.oddb", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_SfPoly.oddb", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_SfPoly.oddb", "typing_Prims.bool" - ], - 0, - "c37128c9408dfcffa7311f8b32a05f99" - ], - [ - "SfPoly.test_map3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "kinding_Prims.list@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "406c248055524cf327b8dff88d36f36b" - ], - [ - "SfPoly.test_map3", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "SfPoly_interpretation_Tm_arrow_33ef4dba230ce94131fd0fb9ae22da5b", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SfPoly.evenb", - "equation_SfPoly.oddb", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_1b6f31cc446c319186dc76e87908558d", - "kinding_Prims.list@tok", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.bool", "typing_Tm_abs_1b6f31cc446c319186dc76e87908558d" - ], - 0, - "b5632fb79656edc57d833ac0627da6af" - ], - [ - "SfPoly.map_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", - "@fuel_correspondence_SfPoly.snoc.fuel_instrumented", - "@fuel_irrelevance_SfPoly.map.fuel_instrumented", - "@fuel_irrelevance_SfPoly.snoc.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "SfPoly_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "equation_with_fuel_SfPoly.snoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.map", - "typing_SfPoly.snoc" - ], - 0, - "cb01759879d6e28df5c80423f5fe555e" - ], - [ - "SfPoly.map_rev", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", - "@fuel_correspondence_SfPoly.rev.fuel_instrumented", - "@fuel_irrelevance_SfPoly.map.fuel_instrumented", - "@fuel_irrelevance_SfPoly.rev.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "SfPoly_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "equation_with_fuel_SfPoly.rev.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.map" - ], - 0, - "30e00cd0f568682173608e8be7495594" - ], - [ - "SfPoly.option_map", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "b48bc9fd0e5e11527aa3a28ad96444e7" - ], - [ - "SfPoly.fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "9a40458740b64b661c186dfe9946d87a" - ], - [ - "SfPoly.fold_example1", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", "int_inversion", - "int_typing", - "interpretation_Tm_abs_987066c12413e743eab1e175cb27b468", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_SfPoly.fold", - "typing_Tm_abs_987066c12413e743eab1e175cb27b468" - ], - 0, - "02f1a5d1db6a6e1653772031a41992aa" - ], - [ - "SfPoly.fold_example2", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "SfPoly_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "bool_typing", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "interpretation_Tm_abs_8939a34eb92f993c93075a413a93c17c", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool", "typing_Tm_abs_8939a34eb92f993c93075a413a93c17c" - ], - 0, - "99d3212de96409e650a21c58fee259c5" - ], - [ - "SfPoly.fold_example3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "31ac61eed087a4cee3db848fdcef2415" - ], - [ - "SfPoly.fold_example3", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.app.fuel_instrumented", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_SfPoly.app.fuel_instrumented", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "function_token_typing_SfPoly.app", "int_typing", - "kinding_Prims.list@tok", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_SfPoly.app", - "token_correspondence_SfPoly.fold.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "3b4f62119c56a2794ec3af157144193c" - ], - [ - "SfPoly.override_example1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_SfPoly.fmostlytrue", "equation_SfPoly.ftrue", - "equation_SfPoly.my_override", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_SfPoly.ftrue", - "token_correspondence_SfPoly.my_override" - ], - 0, - "5f09b7e1e4e065c6ffff499fb13948f3" - ], - [ - "SfPoly.override_example2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_SfPoly.fmostlytrue", "equation_SfPoly.my_override", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "token_correspondence_SfPoly.my_override" - ], - 0, - "53ab2219bf4b5e9145a994077dfd01ae" - ], - [ - "SfPoly.override_example3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_SfPoly.fmostlytrue", "equation_SfPoly.ftrue", - "equation_SfPoly.my_override", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_SfPoly.ftrue", - "token_correspondence_SfPoly.my_override" - ], - 0, - "95060304119ba22767834c7f84174ee7" - ], - [ - "SfPoly.override_example4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_SfPoly.fmostlytrue", "equation_SfPoly.my_override", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality" - ], - 0, - "836dbef6f7b956c01a43eefa63698b02" - ], - [ - "SfPoly.override_eq", - 1, - 2, - 1, - [ - "@query", "equation_SfPoly.my_override", - "primitive_Prims.op_Equality" - ], - 0, - "644d72e3574e67daa69cac1d709d9d32" - ], - [ - "SfPoly.override_neq", - 1, - 2, - 1, - [ - "@query", "equation_SfPoly.my_override", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "d1a3372966380cc1cae7f6e0387d8c97" - ], - [ - "SfPoly.plus_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1f5221f211a11071146a192fc20f627f" - ], - [ - "SfPoly.fold_length_named_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f24f112ba8e179bbe3913ef18d1def50" - ], - [ - "SfPoly.fold_length_named_correct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "SfPoly_interpretation_Tm_arrow_28687ca61860bf859f85cf5e13cf0187", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "equation_SfPoly.fold_length_named", - "equation_SfPoly.plus_one", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_SfPoly.plus_one", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_SfPoly.plus_one", "typing_SfPoly.length" - ], - 0, - "995549d099de1cbc5d08b630780ae92f" - ], - [ - "SfPoly.fold_length_named_correct", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9cab730ecef820caa4e39c19bc212561" - ], - [ - "SfPoly.fold_map_named_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "SfPoly_interpretation_Tm_arrow_11c8306dae94cf8d3194c3b67185460d", - "SfPoly_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_SfPoly.fcons", - "equation_SfPoly.fold_map_named", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_SfPoly.fcons", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "token_correspondence_SfPoly.fcons", - "typing_SfPoly.map" - ], - 0, - "1baf6bc52e468335f50392933e1e7b0d" - ], - [ - "SfPoly.fold_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fcfed95d7861c0b80573fc27d96824c9" - ], - [ - "SfPoly.fold_length_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "925dcc142b4ea05b6fcbd85633f1c37c" - ], - [ - "SfPoly.fold_length_correct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_correspondence_SfPoly.length.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.length.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "SfPoly_interpretation_Tm_arrow_2d9dd5b239d463f9ae785ef7d6b173a2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "equation_SfPoly.fold_length", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "equation_with_fuel_SfPoly.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "interpretation_Tm_abs_a2f6fc2179e30b4e48b925f6986e4abb", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_SfPoly.length", - "typing_Tm_abs_a2f6fc2179e30b4e48b925f6986e4abb" - ], - 0, - "723f939b22182da6f4af408328502a91" - ], - [ - "SfPoly.fold_length_correct", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9fbe3ae5b6dfc48c6d32552c3ed244b5" - ], - [ - "SfPoly.fold_map_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_SfPoly.fold.fuel_instrumented", - "@fuel_correspondence_SfPoly.map.fuel_instrumented", - "@fuel_irrelevance_SfPoly.fold.fuel_instrumented", - "@fuel_irrelevance_SfPoly.map.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "SfPoly_interpretation_Tm_arrow_0daf18c22983786485d38df7a440972a", - "SfPoly_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_SfPoly.fold_map", - "equation_with_fuel_SfPoly.fold.fuel_instrumented", - "equation_with_fuel_SfPoly.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_0bdc6e5fcbda48141c75465d93b13e81", - "kinding_Prims.list@tok", "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", - "subterm_ordering_Prims.Cons", "typing_SfPoly.map", - "typing_Tm_abs_0bdc6e5fcbda48141c75465d93b13e81" - ], - 0, - "acbec54833183d3e258e0bb5adfbdd33" - ], - [ - "SfPoly.fold_right_cons_is_id", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_interpretation_Tm_arrow_02c072760cbad0f5a4706f6cffab6c94", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.Cons@tok", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_right.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "subterm_ordering_Prims.Cons", "typing_tok_Prims.Cons@tok" - ], - 0, - "acba4d08f5336a00327f71d393284a0f" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Admit.fst.hints b/examples/tactics/Admit.fst.hints deleted file mode 100644 index 6e502d25e10..00000000000 --- a/examples/tactics/Admit.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "oo¨˜‹~\u001bñ»)lo\u0000\tä9", [] ] \ No newline at end of file diff --git a/examples/tactics/Antiquote.fst.hints b/examples/tactics/Antiquote.fst.hints deleted file mode 100644 index 2dd4c130441..00000000000 --- a/examples/tactics/Antiquote.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "&Å°ÃÅ#ƒŒ1‹î¿šŸ\u0006¨", [] ] \ No newline at end of file diff --git a/examples/tactics/Arith.fst.hints b/examples/tactics/Arith.fst.hints deleted file mode 100644 index 80e76ae1669..00000000000 --- a/examples/tactics/Arith.fst.hints +++ /dev/null @@ -1,258 +0,0 @@ -[ - "À\u001alÇÔ5v”hŽ\b›éÍ¿", - [ - [ - "Arith.lem0", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b2212bc09c5729fff1625da50129368d" - ], - [ - "Arith.lem1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "52c3cbbdc6df7d2e657a981d6272f172" - ], - [ - "Arith.lem1", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b3e65f1a1ef2388010a4f00826be73e3" - ], - [ - "Arith.lem2", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b3e65f1a1ef2388010a4f00826be73e3" - ], - [ - "Arith.lem2", - 2, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1ddc854f076d215d446e04dca6fd80b2" - ], - [ - "Arith.lem3", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "29c8b468a7a363f5ffc3f96ddd14d0ea" - ], - [ - "Arith.lem3", - 2, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ff7a83f27e170c863e7b10cc99a87c34" - ], - [ - "Arith.lem3", - 3, - 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_FStar.List.Tot.Base.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "e2b7d8b440871c08d7b3b929bd55c008" - ], - [ - "Arith.lem3", - 4, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "8b1354b92a6997da1a3bceebb4e0b847" - ], - [ - "Arith.lem4", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "5c702d85b72c0b394e134a9cc6fe963a" - ], - [ - "Arith.lem4", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" - ], - 0, - "1b7623012d0db71b8a5ba1a890737acf" - ], - [ - "Arith.lem4", - 3, - 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_FStar.List.Tot.Base.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "ab207b36f654fcb4044ad262ad40ac81" - ], - [ - "Arith.lem4", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "int_inversion", - "refinement_interpretation_Tm_refine_51a1a11c85affab19a1e24b7b60f7bf9" - ], - 0, - "b51f293a6b70c2771e0e0320872d513a" - ], - [ - "Arith.lem4", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.l_and", - "int_inversion", "l_and-interp", - "l_quant_interp_672ad6cbc8fabd4313248374eda733c1", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b0498dcf838b5ff46752c4a3932cff25" - ], - [ - "Arith.lem4", - 6, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "8db916c3e29b02a00da8b119e9c4319d" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Bane.Lib.fst.hints b/examples/tactics/Bane.Lib.fst.hints deleted file mode 100644 index 461cfa3573f..00000000000 --- a/examples/tactics/Bane.Lib.fst.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "ÜX\u0003Âà»rþÌ‹ÌX!—§a", - [ - [ - "Bane.Lib.repeat_or_fail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "3d0434c7f563d1c181d65965c14161f1" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Bane.Test.fst.hints b/examples/tactics/Bane.Test.fst.hints deleted file mode 100644 index f0bb9f5e613..00000000000 --- a/examples/tactics/Bane.Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ê€ñÚß­ÆqÞ£¼\u0005;\\NJ", [] ] \ No newline at end of file diff --git a/examples/tactics/Canon.fst.hints b/examples/tactics/Canon.fst.hints deleted file mode 100644 index eef30b14fdc..00000000000 --- a/examples/tactics/Canon.fst.hints +++ /dev/null @@ -1,30 +0,0 @@ -[ - "™ôõ íêb\f\u001dUÄt¤ûPû", - [ - [ - "Canon.test_neg2", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "ef2ab80c5c1a5d77eb2f7bfa8b05b0c7" - ], - [ - "Canon.lem1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "643e573345343ee2d63bec7a8253aca5" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Easy.fst.hints b/examples/tactics/Easy.fst.hints deleted file mode 100644 index f22bfaabc4e..00000000000 --- a/examples/tactics/Easy.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "¬?1Xš¿°\u0011™+€W©\u0001ƒ\u0000", - [ - [ - "Easy.plus_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "23dd4776b4863b26085b8b670b793d57" - ], - [ - "Easy.plus_comm", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "66007916e172a24ed024c7ecbc99759e" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Even.fst.hints b/examples/tactics/Even.fst.hints deleted file mode 100644 index d91586a6951..00000000000 --- a/examples/tactics/Even.fst.hints +++ /dev/null @@ -1,77 +0,0 @@ -[ - "›¢ºœAyö××ÇqÆüí%", - [ - [ - "Even.unat", - 1, - 2, - 1, - [ "@query" ], - 0, - "c8145da23125bb654470862db878779e" - ], - [ - "Even.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb628da1f7d40b6a048cba9503380f5d" - ], - 0, - "619fa0808382764a51d312a93370c69e" - ], - [ - "Even.nat2unary", - 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, - "4c221619319b517413a829e68533b18f" - ], - [ - "Even.even", - 1, - 2, - 1, - [ "@query", "assumption_Even.unat__uu___haseq" ], - 0, - "cd5c1a3c5ceded5a1ebb2839e2623174" - ], - [ - "Even.__proj__Even_SS__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" - ], - 0, - "42c689b163d430d4cbcb015a7dd1d954" - ], - [ - "Even.__proj__Even_SS__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Even.Even_SS", - "refinement_interpretation_Tm_refine_54b3fdb8b64a7b5a7f1535a28234d0d5" - ], - 0, - "92bc3c38f187dac6827bb290cb5d8fa9" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/HandleSmtGoal.fst.hints b/examples/tactics/HandleSmtGoal.fst.hints deleted file mode 100644 index 32fd5172f71..00000000000 --- a/examples/tactics/HandleSmtGoal.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "iëÊ\u0015\r\u0015ßßë§v2Ô[üò", - [ - [ - "HandleSmtGoal.f", - 1, - 2, - 1, - [ "@query" ], - 0, - "9d661b83a61668302bdf02b320bc1d22" - ], - [ - "HandleSmtGoal.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2c18ca2b8d78398cdbbb5ce1e1f3d5c7" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Imp.fst.hints b/examples/tactics/Imp.fst.hints deleted file mode 100644 index 944b54ceb22..00000000000 --- a/examples/tactics/Imp.fst.hints +++ /dev/null @@ -1,248 +0,0 @@ -[ - "„^¥àŒ}mîiÞÀ¹+˜Ž", - [ - [ - "Imp.reg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9abd165c286ab14b7b897ae88c70ca5f" - ], - [ - "Imp.__proj__Add__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" - ], - 0, - "4e6bce0b4d35362ea552d89d6ac95102" - ], - [ - "Imp.__proj__Add__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" - ], - 0, - "bac10dc95f764f223ca8604d2bde7557" - ], - [ - "Imp.__proj__Add__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6ce28c4b80443ebde698de45d7d9ff5" - ], - 0, - "968b305b56d8d43fdd4685dff1df68ac" - ], - [ - "Imp.__proj__Sub__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" - ], - 0, - "3822edf2c8cd090ab4bc525249288d2c" - ], - [ - "Imp.__proj__Sub__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" - ], - 0, - "9be945437be0ab01228f3a3235832749" - ], - [ - "Imp.__proj__Sub__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a21b5ee6f026c7c16d0946bc061a6f1" - ], - 0, - "3ba58498d243fdfbcf4fc3967c0c17a8" - ], - [ - "Imp.__proj__Mul__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" - ], - 0, - "28a5c4645ee086a32891b49ee5c86344" - ], - [ - "Imp.__proj__Mul__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" - ], - 0, - "ff300b9eebc5bb0af3b3e998f07c2756" - ], - [ - "Imp.__proj__Mul__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eba13340a4747cc74a458556f1746952" - ], - 0, - "9ccbff2780c3ed941b02e4dc60187719" - ], - [ - "Imp.__proj__Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" - ], - 0, - "b45b13e1e8adf67e1b6ad7e574334c2b" - ], - [ - "Imp.__proj__Const__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_01ac0c7f58b13b9a9cb14230122b0e7a" - ], - 0, - "2d8d8f12beff0e8b5aaf96dcc10bbd05" - ], - [ - "Imp.size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_11d608631dbadd2a309a1e0eecb6824d_0", - "disc_equation_Imp.Add", "disc_equation_Imp.Const", - "disc_equation_Imp.Mul", "disc_equation_Imp.Sub", - "fuel_guarded_inversion_Imp.inst", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e23bf9dab7cc0d7ff3fd166b96c6ded4" - ], - [ - "Imp.size", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c90eb51ccd640fa99cdfa73d3bcafabb_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Imp.prog", "equation_Prims.pos", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "subterm_ordering_Prims.Cons" - ], - 0, - "c812a7bc1edb3a1f6eec12b56077e54b" - ], - [ - "Imp.override", - 1, - 2, - 1, - [ "@query", "assumption_Imp.reg__uu___haseq" ], - 0, - "06338d4ee837cc615c9506a0e190e0ee" - ], - [ - "Imp.eval'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_11d608631dbadd2a309a1e0eecb6824d_0", - "disc_equation_Imp.Add", "disc_equation_Imp.Const", - "disc_equation_Imp.Mul", "disc_equation_Imp.Sub", - "fuel_guarded_inversion_Imp.inst", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "50cdaec820b6b04c75316e4a95263720" - ], - [ - "Imp.uu___2", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "da39b9298043082c254e457c3e871727" - ], - [ - "Imp.uu___3", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "2b1faf040f9b0424fc3348da7da16b20" - ], - [ - "Imp.uu___4", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "262bb0345a5f0a5036957a8f87e5a522" - ], - [ - "Imp.uu___5", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "3f1381e2aa396d204819c19791411fc1" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/LocalState.fst.hints b/examples/tactics/LocalState.fst.hints deleted file mode 100644 index 499842bff5d..00000000000 --- a/examples/tactics/LocalState.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "UöÎä\u001c\u000b•óf]¹Yú\u001b²", - [ - [ - "LocalState.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9ad34dda1c62aea9701faadf4a144caa" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Logic.fst.hints b/examples/tactics/Logic.fst.hints deleted file mode 100644 index d0b63318d7a..00000000000 --- a/examples/tactics/Logic.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\"óãI×ßS2§GÅ&éuø±", [] ] \ No newline at end of file diff --git a/examples/tactics/MkList.fst.hints b/examples/tactics/MkList.fst.hints deleted file mode 100644 index d993a9dbca4..00000000000 --- a/examples/tactics/MkList.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "¶ru˜ò\u0012b‡¤Ò”h7›û", - [ - [ - "MkList.constant_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "77d39d2897da54df97889ebe8345bbf2" - ], - [ - "MkList.l1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t" - ], - 0, - "756e0b708af41ee6f29ed84276fb3f4a" - ], - [ - "MkList.l2", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.List.Tot.Base.length", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t" - ], - 0, - "ba253f4477a00ed2ec11b4898ee20697" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/MultiStage.fst.hints b/examples/tactics/MultiStage.fst.hints deleted file mode 100644 index ae71a4b83b7..00000000000 --- a/examples/tactics/MultiStage.fst.hints +++ /dev/null @@ -1,140 +0,0 @@ -[ - "I‹°”\u0016øˤ•Š\u001a\u0011\rû\u00194", - [ - [ - "MultiStage.tau1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "1d422f9c77e7a58468f2010ff2d73a17" - ], - [ - "MultiStage.uu___0", - 1, - 2, - 1, - [ "@query", "equation_MultiStage.test1" ], - 0, - "c055485e23fd1905af7b0ac89a5e7fda" - ], - [ - "MultiStage.tau2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "a623f22429374a41d6609d8383869d66" - ], - [ - "MultiStage.uu___1", - 1, - 2, - 1, - [ "@query", "equation_MultiStage.test2" ], - 0, - "89e57460db1089888398443dc5352bd0" - ], - [ - "MultiStage.tau3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "00d55706e078e88142ce3bdcc35e3f8c" - ], - [ - "MultiStage.uu___2", - 1, - 2, - 1, - [ "@query", "equation_MultiStage.test3" ], - 0, - "7d9c4543a105ea8787d9f598d0edf5c4" - ], - [ - "MultiStage.tau5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "e066ac47f1ba278d7eb18c6add947649" - ], - [ - "MultiStage.uu___3", - 1, - 2, - 1, - [ "@query", "equation_MultiStage.test5" ], - 0, - "d057379ca2a89c2ba6db1728991e1734" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/NArrows.fst.hints b/examples/tactics/NArrows.fst.hints deleted file mode 100644 index 764c5cdda08..00000000000 --- a/examples/tactics/NArrows.fst.hints +++ /dev/null @@ -1,25 +0,0 @@ -[ - "¤03—c>Í•\u001af\u0016ô\u001a×Îp", - [ - [ - "NArrows.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_NArrows.n_arrow_arr", "equation_NArrows.n_arrow_int", - "equation_NArrows.n_arrows", "equation_NArrows.xxx", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "proj_equation_NArrows.Mkn_arrows_t_ff", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_NArrows.Mkn_arrows_t_ff", "typing_NArrows.xxx" - ], - 0, - "edabe842afee24665531868537fce920" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/NormLHS.fst.hints b/examples/tactics/NormLHS.fst.hints deleted file mode 100644 index 56cebc6b5d5..00000000000 --- a/examples/tactics/NormLHS.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "7{÷kˆ‚l+ßu¦¸$˜c¹", - [ - [ - "NormLHS.trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "0da0049bb120764ee673e584aa766695" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Normalization.fst.hints b/examples/tactics/Normalization.fst.hints deleted file mode 100644 index 08b96c9662e..00000000000 --- a/examples/tactics/Normalization.fst.hints +++ /dev/null @@ -1,122 +0,0 @@ -[ - "A*ºRŽaÝòâŒùgDl\u0012™", - [ - [ - "Normalization.def_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_fv", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "a7c6072f28550046b40f89c29d085cc7" - ], - [ - "Normalization.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "9b5c40d54ab8202255524e47b99401a6" - ], - [ - "Normalization.uu___0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "bc7724f92b5f8817237222a3222721d7" - ], - [ - "Normalization.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "eb7f3f76fb6ac1eed95307a4c1e09a0a" - ], - [ - "Normalization.uu___1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "bc7724f92b5f8817237222a3222721d7" - ], - [ - "Normalization.uu___2", - 1, - 2, - 1, - [ - "@query", "equation_Normalization.does_not_normalize", - "equation_Normalization.four__" - ], - 0, - "496a627a79f0d69342a6f91ac69fce1d" - ], - [ - "Normalization.uu___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "5de53717f678c05fe0fffd28f493ccca" - ], - [ - "Normalization.uu___3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "bc7724f92b5f8817237222a3222721d7" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Poly.fst.hints b/examples/tactics/Poly.fst.hints deleted file mode 100644 index b01fccc72c3..00000000000 --- a/examples/tactics/Poly.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "˜í\u0004uËÍ\u001cI+¶˜iG@%", [] ] \ No newline at end of file diff --git a/examples/tactics/Postprocess.fst.hints b/examples/tactics/Postprocess.fst.hints deleted file mode 100644 index 66ae357c154..00000000000 --- a/examples/tactics/Postprocess.fst.hints +++ /dev/null @@ -1,187 +0,0 @@ -[ - "\u0014õïBÁDî’€\u0007Úð÷`óz", - [ - [ - "Postprocess.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Postprocess.x" ], - 0, - "d7db289454a579697e5a5d34c79fdd26" - ], - [ - "Postprocess.uu___1", - 1, - 2, - 1, - [ "@query", "equation_Postprocess.y" ], - 0, - "de64d65453657dc681f8ddc5da513be9" - ], - [ - "Postprocess.__proj__B1__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_17e22ae7e75398217bad910401b33530" - ], - 0, - "9ad9c667bbbdddccc8d44b7b3fb28564" - ], - [ - "Postprocess.__proj__C1__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_60aa030648fef8e7bd28516f822e9a0c" - ], - 0, - "10b67e6edb0ead0a0c81de006e615d0c" - ], - [ - "Postprocess.__proj__B2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a571d0930fe419c0a3557e389115132f" - ], - 0, - "ab38ca953f5caeff1a553e382a890832" - ], - [ - "Postprocess.__proj__C2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d350a2c0136fefb41ae2d218a2b66a7b" - ], - 0, - "3a8fd9217ddbf2028a2f543c922bfa23" - ], - [ - "Postprocess.lift", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Postprocess_pretyping_fe106f13eba69455e767d7c7b4689d1a", - "binder_x_fe106f13eba69455e767d7c7b4689d1a_0", - "disc_equation_Postprocess.A1", "disc_equation_Postprocess.B1", - "disc_equation_Postprocess.C1", "equality_tok_Postprocess.A1@tok", - "fuel_guarded_inversion_Postprocess.t1", - "projection_inverse_BoxBool_proj_0", "typing_tok_Postprocess.A1@tok", - "well_founded_ordering_on_codomain_Postprocess.C1" - ], - 0, - "c7bb39526f8866a282bb095f405dfb11" - ], - [ - "Postprocess.lemA", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_Postprocess.lift.fuel_instrumented", "@query", - "constructor_distinct_Postprocess.A1", - "equality_tok_Postprocess.A1@tok", - "equation_with_fuel_Postprocess.lift.fuel_instrumented", - "typing_tok_Postprocess.A1@tok" - ], - 0, - "a0717ad6011e4fa4567be4bfd072915d" - ], - [ - "Postprocess.lemB", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Postprocess.lift.fuel_instrumented", "@query", - "constructor_distinct_Postprocess.B1", - "data_typing_intro_Postprocess.B1@tok", - "equation_with_fuel_Postprocess.lift.fuel_instrumented", - "projection_inverse_Postprocess.B1__0" - ], - 0, - "f68e4ab4a61632f35648a0b595ca149d" - ], - [ - "Postprocess.congB", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "4889993965349d2a1a486af56552111f" - ], - [ - "Postprocess.congC", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "3a4702f7149b0b1bd1937c70cc9c3491" - ], - [ - "Postprocess.q_as_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "0a6f05587bda06113926d4c5c9e42d9d" - ], - [ - "Postprocess.congruence_fun", - 1, - 2, - 1, - [ "@query" ], - 0, - "6a148561f701cf77f207faa87ce061d3" - ], - [ - "Postprocess.apply_feq_lem", - 1, - 2, - 1, - [ "@query" ], - 0, - "9f538f6188990572edf2451d1a0cd1e2" - ], - [ - "Postprocess._onL", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "be696e43274f4a62fece0dda0743653b" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Preprocess.fst.hints b/examples/tactics/Preprocess.fst.hints deleted file mode 100644 index 3506be217de..00000000000 --- a/examples/tactics/Preprocess.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "åäë¦ ’yê\u0006_\u0018A\"‰gS", - [ - [ - "Preprocess.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Preprocess.test_add_1_", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "typing_Preprocess.test_add_1_" - ], - 0, - "ec4ef95a050d0e496cea4e4ed21ccb94" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Printers.fst.hints b/examples/tactics/Printers.fst.hints deleted file mode 100644 index ce5d8bce538..00000000000 --- a/examples/tactics/Printers.fst.hints +++ /dev/null @@ -1,192 +0,0 @@ -[ - "©\u001a˜©ú\tÍáEƒŽ©™ý[â", - [ - [ - "Printers.mk_printer_fun", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "FStar.Tactics.NamedView_pretyping_aa11da717b0f96191732249a5f8a1b65", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Stubs.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.Stubs.Tactics.Result.__result", - "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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", - "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", - "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "typing_tok_FStar.Tactics.NamedView.Unk@tok" - ], - 0, - "c85002a70ef90c5baf320682398e09ef" - ], - [ - "Printers.maplast", - 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, - "fd2765fb76c9b8d537cfe53027d4fa81" - ], - [ - "Printers.mk_printer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "9fd4369052961b46ce3304ed8d0141cd" - ], - [ - "Printers.__proj__A__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" - ], - 0, - "ab1b3e5e47ed7888749e282f121670f9" - ], - [ - "Printers.__proj__A__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a7b69b43f7b02549720ebdb7731aa7f" - ], - 0, - "a94e22d95fd12338e4169e0a0c80cca2" - ], - [ - "Printers.__proj__B__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" - ], - 0, - "dd52686b0b96acc3556a014f01db5434" - ], - [ - "Printers.__proj__B__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8b4b75e38b41b48b268ea0a3f90e3cd" - ], - 0, - "d88eb0eb8870a7b6e3b043aa7d16b3d0" - ], - [ - "Printers.__proj__D__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c3099d8265cd24e0a96805751c994d1" - ], - 0, - "cc71fdfd879f1cc6a79601d418bb4d9b" - ], - [ - "Printers.__proj__E__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_410bdfe840bb48a5ed0357e092bfc39f" - ], - 0, - "c5432142986519c31b6c40cf419c9e13" - ], - [ - "Printers.__proj__F__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c3e9566abf10c7d01bd5254baeab0f0" - ], - 0, - "fcf49879c24533d84cfe84842ead957d" - ], - [ - "Printers.t1_print", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Printers_pretyping_8d36c581efd2846c35b45b07985a9756", - "disc_equation_Printers.A", "disc_equation_Printers.B", - "disc_equation_Printers.C", "disc_equation_Printers.D", - "disc_equation_Printers.E", "disc_equation_Printers.F", - "equality_tok_Printers.C@tok", "fuel_guarded_inversion_Printers.t1", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Printers.B", - "subterm_ordering_Printers.E", "typing_tok_Printers.C@tok" - ], - 0, - "150ddce2e0df648f543d1303ecaa8244" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/ReifiedTc.fst.hints b/examples/tactics/ReifiedTc.fst.hints deleted file mode 100644 index 7001cae375b..00000000000 --- a/examples/tactics/ReifiedTc.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "Ú^mü\u0012§¢o†]åŒáÙ¶Ê", - [ - [ - "ReifiedTc.test1", - 1, - 2, - 1, - [ "@query" ], - 0, - "6f651b8f0b8aa038a140ee9363ead82e" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Rewrite.Monoid.fst.hints b/examples/tactics/Rewrite.Monoid.fst.hints deleted file mode 100644 index 34d5dc53230..00000000000 --- a/examples/tactics/Rewrite.Monoid.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "/½ôL\u0000Qì\u0012íìèµãàv–", - [ - [ - "Rewrite.Monoid.aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "8ce07b0f473da75acfb28aa30b169dad" - ], - [ - "Rewrite.Monoid.monoid_reflect_rhs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8e8d2aada6dcd07ed31e359fa552d647" - ], - 0, - "1895a46b731e613b3bec0076482e6481" - ], - [ - "Rewrite.Monoid.elim_implies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "b6f81e15d797cc8dda34eb7b8648e0a1" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/RewriteTactic.fst.hints b/examples/tactics/RewriteTactic.fst.hints deleted file mode 100644 index e40cae954be..00000000000 --- a/examples/tactics/RewriteTactic.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "3\u0001>1Qý\u000eÇ\u0001o¤\u0000]ua", [] ] \ No newline at end of file diff --git a/examples/tactics/SealedModel.fst.hints b/examples/tactics/SealedModel.fst.hints deleted file mode 100644 index 9c4f48f25ce..00000000000 --- a/examples/tactics/SealedModel.fst.hints +++ /dev/null @@ -1,123 +0,0 @@ -[ - "Ò¨:É d¨|\u0013\u0017…\u001e—½ÞH", - [ - [ - "SealedModel.sealed_singl", - 1, - 2, - 1, - [ "@query" ], - 0, - "a0517d268971a8d26388bd1f73e137ce" - ], - [ - "SealedModel.seal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "297c91a56e8d46a7c9baa6389fdf150d" - ], - [ - "SealedModel.unseal", - 1, - 2, - 1, - [ "@query" ], - 0, - "54d69dcf9b14cbea0f8cd84d8baa47b1" - ], - [ - "SealedModel.map_seal", - 1, - 2, - 1, - [ - "@query", "disc_equation_FStar.Stubs.Tactics.Result.Success", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "55f51a03742a7350b68370e47bac7067" - ], - [ - "SealedModel.bind_seal", - 1, - 2, - 1, - [ - "@query", "disc_equation_FStar.Stubs.Tactics.Result.Success", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3710f91a02e258c9dd319621b1c4fa40" - ], - [ - "SealedModel.__proj__X__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_783aa278341fef507c697eec496b82d6" - ], - 0, - "1b8b1f758dc6dfae46a7e719e7dda9d4" - ], - [ - "SealedModel.prec_no_x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "SealedModel_pretyping_62f760e00c09d3170a3281451bb320e6", - "disc_equation_SealedModel.X", "equality_tok_SealedModel.Y@tok", - "equation_Prims.squash", "equation_SealedModel.seal", - "fuel_guarded_inversion_SealedModel.t", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_SealedModel.X", "typing_tok_SealedModel.Y@tok" - ], - 0, - "ef681d92aa093c12fc98fea7cb763c49" - ], - [ - "SealedModel.contra_map_seal_precedes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_SealedModel.X", - "constructor_distinct_SealedModel.Y", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "disc_equation_SealedModel.X", "disc_equation_SealedModel.Y", - "equality_tok_SealedModel.Y@tok", "equation_Prims.eqtype", - "fuel_guarded_inversion_SealedModel.t", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ddb39e4ca8967888ba670c6fdec9bf69", - "typing_Prims.int" - ], - 0, - "c207c3d6165462127ae1654f05026c52" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/SealedModel.fsti.hints b/examples/tactics/SealedModel.fsti.hints deleted file mode 100644 index 4ab3ae076fa..00000000000 --- a/examples/tactics/SealedModel.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "MÙ\u000fLêåâú\u001e³™ƒ«\u007f¶7", [] ] \ No newline at end of file diff --git a/examples/tactics/Sequences.fst.hints b/examples/tactics/Sequences.fst.hints deleted file mode 100644 index 08d53dd4027..00000000000 --- a/examples/tactics/Sequences.fst.hints +++ /dev/null @@ -1,70 +0,0 @@ -[ - "û/•k¶%–¶\fº¡èvÇ\u0017", - [ - [ - "Sequences.unrefine_eq_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "ec8dadb86e57e7b8dbf82fbe9c7030c2" - ], - [ - "Sequences.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "81d5019ce3be0bb4dfda035b5eb4e1fc" - ], - [ - "Sequences.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9b21d7f9d55f88197f4945f7f93d2b78", - "refinement_interpretation_Tm_refine_afaf4b57639ac7637b31f559ee7739fe", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "871524fd70aef8b367c668b3cd307957" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/SigeltOpts.fst.hints b/examples/tactics/SigeltOpts.fst.hints deleted file mode 100644 index 0292f6f3683..00000000000 --- a/examples/tactics/SigeltOpts.fst.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "E+Æ\u000fµb¬\u0002K†.ø\\d ¤", - [ - [ - "SigeltOpts.sp1", - 1, - 2, - 1, - [ - "@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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "f8cf645317c15310c0fe62c1738ab3f4" - ], - [ - "SigeltOpts.tau", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.VConfig.vconfig@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Builtins.sigelt_opts", - "typing_Prims.string" - ], - 0, - "80657ea303821bc2370406cf52229345" - ], - [ - "SigeltOpts.blah", - 1, - 2, - 1, - [ - "@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_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "726bcefe7982315cef785abe533efeb5" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/SigeltOpts2.fst.hints b/examples/tactics/SigeltOpts2.fst.hints deleted file mode 100644 index 8e8bc1117fb..00000000000 --- a/examples/tactics/SigeltOpts2.fst.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "\u001fÆw*0Ó…¯eŠ\u001a&¯‰ ", - [ - [ - "SigeltOpts2.tau", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.VConfig.vconfig@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Builtins.sigelt_opts", - "typing_Prims.string" - ], - 0, - "1be7e013636a41a2737e3acdb6a51eb7" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Simplifier.fst.hints b/examples/tactics/Simplifier.fst.hints deleted file mode 100644 index 01d1657a0e8..00000000000 --- a/examples/tactics/Simplifier.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "QŠôËclÞ×ÇÔb—ã\u0016â\u0010", [] ] \ No newline at end of file diff --git a/examples/tactics/SolveThen.fst.hints b/examples/tactics/SolveThen.fst.hints deleted file mode 100644 index 0fece6c7772..00000000000 --- a/examples/tactics/SolveThen.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "5¨@Uü¡;ä\u0011åÇ5ÁN}“", [] ] \ No newline at end of file diff --git a/examples/tactics/Tautology.fst.hints b/examples/tactics/Tautology.fst.hints deleted file mode 100644 index 8942ec2c6da..00000000000 --- a/examples/tactics/Tautology.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "^$& (\u0016\u0019\u007ffŒTžíŸað", [] ] \ No newline at end of file diff --git a/examples/tactics/Trace.fst.hints b/examples/tactics/Trace.fst.hints deleted file mode 100644 index eac047b92a8..00000000000 --- a/examples/tactics/Trace.fst.hints +++ /dev/null @@ -1,220 +0,0 @@ -[ - "Ey1ÕÕ‹Æ\u0000~a¤ç\"é\u007f", - [ - [ - "Trace.mynat", - 1, - 2, - 1, - [ "@query" ], - 0, - "0967da51012bf96ff0df9def277dbf83" - ], - [ - "Trace.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_404885b3cc4eeb5f45b884df07c7ad02" - ], - 0, - "69ea97db097d1218fd0be66bb339e2f5" - ], - [ - "Trace.tick_last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_dce109b66917edb1ca83b9408101b740_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "0b31826e81a903ded2e04f94d4040a2c" - ], - [ - "Trace.instrument_body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "7a76fd32acaeaceb6501d77c2da1d173" - ], - [ - "Trace.cutlast", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_c31e69c67d10a39a71203e88f1802110_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "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", "int_inversion", - "primitive_Prims.op_Addition", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_096b2fefc24444135c3696ffe890f682", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "920de79c8ba72b06d35bf394285cf4b0" - ], - [ - "Trace.instrument", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Tactics.NamedView.binding", - "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "kinding_FStar.Stubs.Reflection.V2.Data.binding@tok", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "unit_typing" - ], - 0, - "eb09d2409373d0e0ef02b63a7817ed34" - ], - [ - "Trace.fall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Trace_pretyping_e519551c40173fe1db462584f3778483", - "binder_x_e519551c40173fe1db462584f3778483_0", - "disc_equation_Trace.S", "disc_equation_Trace.Z", - "equality_tok_Trace.Z@tok", "fuel_guarded_inversion_Trace.mynat", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Trace.S", - "typing_tok_Trace.Z@tok" - ], - 0, - "69312884a77be9cb663f5bc650ff0dd6" - ], - [ - "Trace.uu___0", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Trace.fall_.fuel_instrumented", "@query", - "constructor_distinct_Trace.S", "constructor_distinct_Trace.Z", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "data_typing_intro_Trace.S@tok", - "equality_tok_Trace.Z@tok", - "equation_with_fuel_Trace.fall_.fuel_instrumented", - "kinding_Trace.mynat@tok", "projection_inverse_Trace.S__0", - "typing_tok_Trace.Z@tok" - ], - 0, - "574fb31870750b6f6f44216ccc81cc20" - ], - [ - "Trace.fact_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c4ac97240138b6275be5e578cee8b847" - ], - [ - "Trace.uu___1", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Trace.fact_aux_.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", - "equation_with_fuel_Trace.fact_aux_.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e95271b05891fb80b4d417952894d2f2" - ], - [ - "Trace.uu___2", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Trace.fact_.fuel_instrumented", - "@fuel_correspondence_Trace.fact_aux.fuel_instrumented", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", - "equation_with_fuel_Trace.fact_.fuel_instrumented", - "equation_with_fuel_Trace.fact_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Trace.fact_" - ], - 0, - "55008a4cdc53022ea3cdd87cab43bdf2" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/Tutorial.fst.hints b/examples/tactics/Tutorial.fst.hints deleted file mode 100644 index 96b2ff5aa7b..00000000000 --- a/examples/tactics/Tutorial.fst.hints +++ /dev/null @@ -1,57 +0,0 @@ -[ - "kdg°c\\åÛ R<%͵€è", - [ - [ - "Tutorial.ex3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3353fd662cef5119961f8251820ee32" - ], - [ - "Tutorial.ex3'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e4839bcea333f19eab70735d140cca3b" - ], - [ - "Tutorial.ex4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7bb2c8b7df13c252dabedc3d635f1e2f" - ], - [ - "Tutorial.ex4", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5fc144c54e45665f15b8f8ff130e4126" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/UserTactics.fst.hints b/examples/tactics/UserTactics.fst.hints deleted file mode 100644 index 7252e2b0ac7..00000000000 --- a/examples/tactics/UserTactics.fst.hints +++ /dev/null @@ -1,179 +0,0 @@ -[ - "M7eß:¤W Q\u0001y¤sÁ'œ", - [ - [ - "UserTactics.test_print_goal", - 1, - 2, - 1, - [ "@query" ], - 0, - "0819d449c12073c854f930b19cdc8da4" - ], - [ - "UserTactics.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_UserTactics.A", - "disc_equation_UserTactics.B", "disc_equation_UserTactics.C", - "disc_equation_UserTactics.D", - "fuel_guarded_inversion_UserTactics.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "88c0a500d9d419000396a056c70822f7" - ], - [ - "UserTactics.simple_equality_assertions", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "0d3b487ade5f48d2a3af46dc0bb0ef0d" - ], - [ - "UserTactics.simple_equality_assertions", - 2, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "5d9abdf1373a6ddd533c4f8402e7ba26" - ], - [ - "UserTactics.simple_equality_assertions", - 3, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "7c0132cee83c0940f02ecf3211bf511c" - ], - [ - "UserTactics.simple_equality_assertions", - 4, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "7c0132cee83c0940f02ecf3211bf511c" - ], - [ - "UserTactics.implicitly_unfolfed_before_preprocessing", - 1, - 2, - 1, - [ - "@query", "equation_UserTactics.visible_boolean", - "projection_inverse_BoxBool_proj_0", "true_interp" - ], - 0, - "d6b48455695cc4324d5ac7e0e127a72b" - ], - [ - "UserTactics.simple_equality_assertions_within_a_function", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "d7ec670777b2412c6939d6dcfb1c5096" - ], - [ - "UserTactics.simple_equality_assertions_within_a_function", - 2, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "4d51b18ebcb89de72f215edbb73a7744" - ], - [ - "UserTactics.simple_equality_assertions_within_a_function", - 3, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "7e471539e4dd6c859acb251f47706d24" - ], - [ - "UserTactics.simple_equality_assertions_within_a_function", - 4, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "7e471539e4dd6c859acb251f47706d24" - ], - [ - "UserTactics.simple_equality_assertions_within_a_function", - 5, - 2, - 1, - [ - "@query", "equation_UserTactics.visible_boolean", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "14d0bc1b47616ade7170bc10785b09d8" - ], - [ - "UserTactics.partially_solved_using_smt", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "b22360bf52fa9f0111eb2630d5e715b7" - ], - [ - "UserTactics.partially_solved_using_smt", - 2, - 2, - 1, - [ "@query", "assumption_UserTactics.Pred1_saturated", "int_typing" ], - 0, - "d190d100400d04f8a416340211ed56e5" - ], - [ - "UserTactics.partially_solved_using_smt", - 3, - 2, - 1, - [ "@query", "assumption_UserTactics.Pred1_saturated", "int_typing" ], - 0, - "14c15d6f45c5751a330d1111b1bf10f1" - ], - [ - "UserTactics.lemma_mul_comm", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Multiply" ], - 0, - "e72d3c05259d5a81535a9107c8314381" - ], - [ - "UserTactics.sqintro", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b0ce22573898c9412ff610139f99ba1" - ], - [ - "UserTactics.test_apply_ascription", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Multiply" ], - 0, - "2e018e206746af6902c9f6eea0df11e3" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/bench/Poly1.fst.hints b/examples/tactics/bench/Poly1.fst.hints deleted file mode 100644 index b96b2bbac81..00000000000 --- a/examples/tactics/bench/Poly1.fst.hints +++ /dev/null @@ -1,44 +0,0 @@ -[ - "´l…†¾Î\"#ŒÖ\u000eK¼Ó\u001d‹", - [ - [ - "Poly1.modulo_addition_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5839cd073f5cf3e84b401de08d1283ce" - ], - [ - "Poly1.lemma_div_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "aa6c85c5a08c9a198279079be1b41417" - ], - [ - "Poly1.lemma_poly_multiply", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "940c59b3e4f836cc8911af5dcbda60ec" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/bench/Poly2.fst.hints b/examples/tactics/bench/Poly2.fst.hints deleted file mode 100644 index 9887731d98f..00000000000 --- a/examples/tactics/bench/Poly2.fst.hints +++ /dev/null @@ -1,45 +0,0 @@ -[ - "‰½Á`…žò:c´ò\u000fÎ-æj", - [ - [ - "Poly2.modulo_addition_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "24faac2b22b60914826e1fbd86fb4f97" - ], - [ - "Poly2.lemma_div_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5f1f0c8ca22f07961f54e9345885bfb2" - ], - [ - "Poly2.lemma_poly_multiply", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "true_interp" - ], - 0, - "8be7f7ca3975bfb6d4fd72e12b1fc6f5" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/Automation.fst.hints b/examples/tactics/eci19/Automation.fst.hints deleted file mode 100644 index f6c36b014a8..00000000000 --- a/examples/tactics/eci19/Automation.fst.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "\u001c\f?åØ ŠS\u0015r{@꽆\u007f", - [ - [ - "Automation.ea1''", - 1, - 2, - 1, - [ "@query" ], - 0, - "8ed90b8f79bc73bbd9ad1398b39fb5dd" - ], - [ - "Automation.ea2''", - 1, - 2, - 1, - [ "@query" ], - 0, - "1bbc08be6fc99a656fbcaeac1421f493" - ], - [ - "Automation.ea4''", - 1, - 2, - 1, - [ "@query" ], - 0, - "3a20030db7fdcd198f487e674e875603" - ], - [ - "Automation.ea5''", - 1, - 2, - 1, - [ "@query" ], - 0, - "f4f5712910735e47ec569ab36321ed72" - ], - [ - "Automation.ea6''", - 1, - 2, - 1, - [ "@query" ], - 0, - "ee6642330aac606e1d506f824f00931f" - ], - [ - "Automation.ea7''", - 1, - 2, - 1, - [ "@query" ], - 0, - "f4025ba64701aea9a70b812c9a56de35" - ], - [ - "Automation.ea8''", - 1, - 2, - 1, - [ "@query" ], - 0, - "306c48a090ff11e870e9655e613267dc" - ], - [ - "Automation.ea9''", - 1, - 2, - 1, - [ "@query" ], - 0, - "8e32798ac7c4665e249f36d74adb47f7" - ], - [ - "Automation.ea10''", - 1, - 2, - 1, - [ "@query" ], - 0, - "1f2246676957f8294ca791216bdbc80c" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/ConstructiveLogic.fst.hints b/examples/tactics/eci19/ConstructiveLogic.fst.hints deleted file mode 100644 index a00a8f5b2b1..00000000000 --- a/examples/tactics/eci19/ConstructiveLogic.fst.hints +++ /dev/null @@ -1,116 +0,0 @@ -[ - "âƒø±®Â4Iõ@Ï(™ÝY¬", - [ - [ - "ConstructiveLogic.modulo_add_fail", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6d0e010d0b96f5d25877608c9f426916" - ], - [ - "ConstructiveLogic.modulo_add_fail", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f2b738ab4d7abd41760c2d3a97af47e9" - ], - [ - "ConstructiveLogic.modulo_add_fail", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "24fa30dacb2d2da57efee1926e1e85d9" - ], - [ - "ConstructiveLogic.modulo_add_fail", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5c1fc44353b6d2f1926051cadd98e045" - ], - [ - "ConstructiveLogic.modulo_add_fail", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0050869ce31e686d1cf56a587df6ae9d" - ], - [ - "ConstructiveLogic.modulo_add_fail", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c94531031ad8eb23f8e94714f9e262dc" - ], - [ - "ConstructiveLogic.modulo_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d03669fb7d888fb74109c46d667f1bec" - ], - [ - "ConstructiveLogic.ex11", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb503b1d3b84ce8537131a23ba84e687" - ], - [ - "ConstructiveLogic.ex12", - 1, - 2, - 1, - [ "@query" ], - 0, - "e9c83b9091ff5e4c95ae0acd7ff36cc8" - ], - [ - "ConstructiveLogic.ex14", - 1, - 2, - 1, - [ "@query" ], - 0, - "a2d35e52bd030afd86f1a7b73a6e662e" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/Hybrid.fst.hints b/examples/tactics/eci19/Hybrid.fst.hints deleted file mode 100644 index 1b0dd8398e2..00000000000 --- a/examples/tactics/eci19/Hybrid.fst.hints +++ /dev/null @@ -1,222 +0,0 @@ -[ - "ÑØ+'ÕªDÙ,\u0010ÉB*½:", - [ - [ - "Hybrid.modulo_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0789a294addac1511b22bc49a82f3355" - ], - [ - "Hybrid.modulo_add_tactic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "eea33692d25cf7b59c8bb79478bba070" - ], - [ - "Hybrid.modulo_add_tactic", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_562ff5f40524a960e140f45abc45541e", - "refinement_interpretation_Tm_refine_e3a4e5476d18c8c2f957436958fd7dc3" - ], - 0, - "0def641fef6ec7e3ee9cb8700f17eade" - ], - [ - "Hybrid.modulo_add_tactic", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "448249fc4299d8941c861d8bf137d96f" - ], - [ - "Hybrid.modulo_add_tactic", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b74da132a338fc3cf8e4e09e74ac71d5" - ], - [ - "Hybrid.modulo_add_tactic", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b43d848e9ad7ad100515ac3ad759e337" - ], - [ - "Hybrid.modulo_add_tactic", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "36dc196f54818853f04309c7c36799cf" - ], - [ - "Hybrid.triang", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "fe497254f24b90b7685c4a76e2d72797" - ], - [ - "Hybrid.gauss", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Hybrid.triang.fuel_instrumented", - "@fuel_irrelevance_Hybrid.triang.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_ae567c2fb75be05905677af440075565_0", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_Hybrid.triang.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8d992a44247dc8babc6b17a4fd059106", - "token_correspondence_Hybrid.triang.fuel_instrumented", - "typing_Hybrid.triang", "well-founded-ordering-on-nat" - ], - 0, - "b07fb5b0cb346d5151f533aec8db6888" - ], - [ - "Hybrid.gauss", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "59e89c1725d200d74e76de185caa2268" - ], - [ - "Hybrid.prod_even", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "469713ac754ee20e31b5dfc6ce372ba1" - ], - [ - "Hybrid.triang2", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "860fd485943635df54a710f5e56e4c38" - ], - [ - "Hybrid.triang2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1beb9507f433d41f7fdc4f9dae91d09f" - ], - [ - "Hybrid.silly_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5f0abf4080caad84cc28407f9adf1f23" - ], - [ - "Hybrid.test_need_arg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_417e6b562faf2c5944c7cd18ae8df052" - ], - 0, - "dce7d130ab9e7c79c0d05b4cae4fa6f4" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/Index.fst.hints b/examples/tactics/eci19/Index.fst.hints deleted file mode 100644 index 5268d3f12b5..00000000000 --- a/examples/tactics/eci19/Index.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ê> ƒ¿#ÒÆÆUEe¿w\u001b\u001c", [] ] \ No newline at end of file diff --git a/examples/tactics/eci19/Intro.fst.hints b/examples/tactics/eci19/Intro.fst.hints deleted file mode 100644 index ca993a032af..00000000000 --- a/examples/tactics/eci19/Intro.fst.hints +++ /dev/null @@ -1,224 +0,0 @@ -[ - "²ç[‚³\u00157ýÁ“AŒ €B*", - [ - [ - "Intro.recursive_tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "15ba33c6b8ccdc1660d1851a7a67ab99" - ], - [ - "Intro.triang", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "955593458fbd1b4f97d10e845e152c65" - ], - [ - "Intro.triang_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "13ebd2531d18bb91475b320d0643a45b" - ], - [ - "Intro.gauss", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Intro.triang.fuel_instrumented", - "@fuel_irrelevance_Intro.triang.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_Intro.triang.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "2846c6ddaf4f2a77874709a9d9fc9225" - ], - [ - "Intro.prod_even", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d470564fa6ba7bde376bc0e8c3c58995" - ], - [ - "Intro.test_good", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "31cc99eecb7972420992257306166d82" - ], - [ - "Intro.test_blowup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "18cccfacaf49d49bce85e9a8bfe7643e" - ], - [ - "Intro.repeatN", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0634a5494a2493ece57f5b8515d5699f" - ], - [ - "Intro.sums", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "unit_typing" - ], - 0, - "0b5abd4b5231ddccdff24e1bd1d22750" - ], - [ - "Intro.uu___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Intro.add_2", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "typing_Intro.add_2" - ], - 0, - "198c943e24826239adee55aace0f7786" - ], - [ - "Intro.uu___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Intro.add_3", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "typing_Intro.add_3" - ], - 0, - "90f1aade48ac5546f09502c529f14b65" - ], - [ - "Intro.uu___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Intro.add_4", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "typing_Intro.add_4" - ], - 0, - "620ae141372ff55d263febebe3651b22" - ], - [ - "Intro.uu___6", - 1, - 2, - 1, - [ "@query", "equation_Intro.diag" ], - 0, - "4c6bb0d65978adb743da0571950a40a0" - ], - [ - "Intro.uu___7", - 1, - 2, - 1, - [ "@query", "equation_Intro.diag" ], - 0, - "5cc0769813a857f00a0cee27ba6ace2e" - ], - [ - "Intro.test_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Intro.add3", - "equation_Intro.add_int", "equation_Intro.sum", - "equation_Prims.eqtype", "int_inversion", "int_typing", - "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", - "token_correspondence_Prims.op_Addition", "typing_Intro.add3", - "typing_Intro.add_int", "typing_Prims.int" - ], - 0, - "1d84246f8f3e48d1f0e15918b93a4daf" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/Metaprogramming.fst.hints b/examples/tactics/eci19/Metaprogramming.fst.hints deleted file mode 100644 index 834c3fb0359..00000000000 --- a/examples/tactics/eci19/Metaprogramming.fst.hints +++ /dev/null @@ -1,68 +0,0 @@ -[ - "'»sŸö]\u0017¬(Ý·úPQ\u0016§", - [ - [ - "Metaprogramming.either", - 1, - 2, - 1, - [ "@query" ], - 0, - "f073a0cf542c6ccb6cb8260a9e4badd5" - ], - [ - "Metaprogramming.__proj__Left__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0f3a37e607a8bceb88eb8b90d75fcd39" - ], - 0, - "da816c3b6c651d2ee2444e739d7339b1" - ], - [ - "Metaprogramming.__proj__Right__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dda24ff22658933ed5e78a00d5bb0a0d" - ], - 0, - "f49464b4cc3f4933b55844618ceca8e7" - ], - [ - "Metaprogramming.uu___0", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Metaprogramming.Left", - "equation_Metaprogramming.matcheither", - "projection_inverse_Metaprogramming.Left__0", - "projection_inverse_Metaprogramming.Left_a", - "projection_inverse_Metaprogramming.Left_b" - ], - 0, - "ffd39151e5b5a15a6844067d5a866f13" - ], - [ - "Metaprogramming.uu___1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Metaprogramming.Right", - "equation_Metaprogramming.matcheither", - "projection_inverse_Metaprogramming.Right__0", - "projection_inverse_Metaprogramming.Right_a", - "projection_inverse_Metaprogramming.Right_b" - ], - 0, - "1f30bc0dbecb3b450bf4ec39ab4b97af" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/eci19/Term.fst.hints b/examples/tactics/eci19/Term.fst.hints deleted file mode 100644 index 66a4609bba9..00000000000 --- a/examples/tactics/eci19/Term.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "á§\u0003Á…¿\u0017ã’¡*‘¿\u001d¬%", [] ] \ No newline at end of file diff --git a/examples/tactics/old/MetaCoq.fst.hints b/examples/tactics/old/MetaCoq.fst.hints deleted file mode 100644 index 1a89afad6e6..00000000000 --- a/examples/tactics/old/MetaCoq.fst.hints +++ /dev/null @@ -1,73 +0,0 @@ -[ - "ŸÿË\u0011˜Ã‘?˜’£K~63º", - [ - [ - "MetaCoq.__proj__Goal__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_MetaCoq.Goal", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" - ], - 0, - "0c15c5bb2f0957ed1b37ce1eb134a059" - ], - [ - "MetaCoq.__proj__Goal__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_MetaCoq.Goal", - "proj_equation_MetaCoq.Goal_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_MetaCoq.Goal_a", - "refinement_interpretation_Tm_refine_d546a4ece9ccffe78d7c00983bdb4280" - ], - 0, - "cccb33f1c9b9bc20baf234abf317bbc5" - ], - [ - "MetaCoq.__proj__AHyp__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_MetaCoq.AHyp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" - ], - 0, - "391bf57dfd87d53ed2a18c9383081c3c" - ], - [ - "MetaCoq.__proj__AHyp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_MetaCoq.AHyp", - "proj_equation_MetaCoq.AHyp_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_MetaCoq.AHyp_a", - "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" - ], - 0, - "29975c691e95a3bd14a2113909d6542f" - ], - [ - "MetaCoq.__proj__AHyp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_MetaCoq.AHyp", - "proj_equation_MetaCoq.AHyp_a", "projection_inverse_BoxBool_proj_0", - "projection_inverse_MetaCoq.AHyp_a", - "refinement_interpretation_Tm_refine_44d6fb2015c988380b64ed0fb222ced8" - ], - 0, - "cca71751ce47b744b9d1057305b679ae" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/old/StringPrinter.Base.fst.hints b/examples/tactics/old/StringPrinter.Base.fst.hints deleted file mode 100644 index 0e909613da4..00000000000 --- a/examples/tactics/old/StringPrinter.Base.fst.hints +++ /dev/null @@ -1,1057 +0,0 @@ -[ - "E×_¯‡~}‘„+Á¾d\b£U", - [ - [ - "StringPrinter.Base.c_or", - 1, - 2, - 1, - [ "@query" ], - 0, - "e9c9b9e5041f5aaf81b91dbb646eefd7" - ], - [ - "StringPrinter.Base.__proj__Left__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_StringPrinter.Base.Left", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_31f46a64729594f0c4e206f1f50b72a5" - ], - 0, - "f8540e52769527037176189ee9b3e074" - ], - [ - "StringPrinter.Base.__proj__Right__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_StringPrinter.Base.Right", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4902a0d7f1d936b9fb5f0286e9e6b699" - ], - 0, - "a6b894626ba682d0e701e91193df3b75" - ], - [ - "StringPrinter.Base.s_append", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_len_append" ], - 0, - "d411280d5df420d6943fc79e5c028954" - ], - [ - "StringPrinter.Base.m_sz_res_pred", - 1, - 2, - 1, - [ "@query" ], - 0, - "1dfca7ae4cec39e3529d2dc8ec62c830" - ], - [ - "StringPrinter.Base.m_sz_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "eq2-interp", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.string", - "function_token_typing_FStar.UInt8.t", "int_inversion", "int_typing", - "l_and-interp", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "15bd64909c6a65592ac2c02061b2f21f" - ], - [ - "StringPrinter.Base.add_overflow", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "b95090304d7484c94909f834ed8bf8a3" - ], - [ - "StringPrinter.Base.ret_sz", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "eq2-interp", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_StringPrinter.Base.m_sz_correct", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.ret", - "equation_StringPrinter.Base.string", "int_typing", - "interpretation_Tm_abs_e037a6e6fee45c808d45a01d1dbf1a2a", - "l_and-interp", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "typing_Prims.pow2" - ], - 0, - "53ebe9050f9b8d217e8a0cff3d47a74f" - ], - [ - "StringPrinter.Base.m_sz_res_pred_bind", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "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_StringPrinter.Base.bind", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.s_append", - "equation_StringPrinter.Base.string", "int_inversion", "int_typing", - "interpretation_Tm_abs_0166ba4aefd8cce2088a18d8ae8f6818", - "l_and-interp", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t" - ], - 0, - "e2bb18a2bfba0a6866eb0cab5a43ff4b" - ], - [ - "StringPrinter.Base.bind_sz", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "StringPrinter.Base_interpretation_Tm_arrow_1377d7a0986eee4867eee2b5ccff3c85", - "StringPrinter.Base_interpretation_Tm_arrow_3b8a5f59b09d31686e8a4ad72129a1a0", - "StringPrinter.Base_interpretation_Tm_arrow_3d3451b4afd8cd1694aeddfb4c2af471", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", - "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_StringPrinter.Base.bind", - "equation_StringPrinter.Base.log", "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_sz_correct", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.s_append", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0166ba4aefd8cce2088a18d8ae8f6818", - "l_and-interp", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_305a1532696024bbcd2640841a5adb91", - "refinement_interpretation_Tm_refine_3290c48a3aa0af9014b4eb9e1053fc27", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5587fa1a95b810fb806706b2734f0f68", - "refinement_interpretation_Tm_refine_673b7c3128cd047474e93f2d90cc89d4", - "refinement_interpretation_Tm_refine_d380b72674e933b5827dd10914110694", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", "unit_typing" - ], - 0, - "d4fa57fcc75ea64c6ccfe8a0522a5bfd" - ], - [ - "StringPrinter.Base.print_char_sz", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_sz_correct", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.print_char", - "equation_StringPrinter.Base.string", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "interpretation_Tm_abs_71043415eb975b2daa395470872602fb", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt8.t", "typing_StringPrinter.Base.print_char", - "unit_typing" - ], - 0, - "9d4ebd60117f6ad7021c7d454df71d1e" - ], - [ - "StringPrinter.Base.ifthenelse_sz", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "0c190ea8e36ddfdd06ed793e92b0b91c" - ], - [ - "StringPrinter.Base.destruct_pair_sz", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_StringPrinter.Base.cond_eq", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "8d3c627ea211d2a26f6b831a99715fb4" - ], - [ - "StringPrinter.Base.destruct_pair_sz", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_StringPrinter.Base.cond_eq", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_StringPrinter.Base_Tm_refine_8002c79ae42ff92c4edc4d769192262d", - "unit_typing" - ], - 0, - "cbced81e495f334f57fc3c1eb12af737" - ], - [ - "StringPrinter.Base.log_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_sz_correct", - "equation_StringPrinter.Base.string", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_typing", - "interpretation_Tm_abs_1594e11ce17f022be9e85810ba7e049a", - "interpretation_Tm_abs_43475ea8c35a9a3e81c0079446efd574", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e94743fdb83303aa8aee721e5d785b9d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt8.t", "typing_StringPrinter.Base.log", - "unit_typing" - ], - 0, - "de32d770c57ba80161280784922aa998" - ], - [ - "StringPrinter.Base.app_head_rev_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Tactics.Result.__result" - ], - 0, - "f71761725f0d57fd98fb5019a5b2a6a0" - ], - [ - "StringPrinter.Base.coerce_sz", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "equation_StringPrinter.Base.cond_eq", - "equation_StringPrinter.Base.log", "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_sz_correct", - "equation_StringPrinter.Base.m_sz_res_pred", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "unit_typing" - ], - 0, - "a5f0b1842250a18e003104cb27fc65e1" - ], - [ - "StringPrinter.Base.compile_fvar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Data_pretyping_ee655bc751cef679bca813f86c407d6b", - "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_FVar", - "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", - "refinement_interpretation_Tm_refine_efb94649ece68fc0f3d20a6bdd739a9b" - ], - 0, - "91d34fd55b44727b49c54e8477bdfb28" - ], - [ - "StringPrinter.Base.first", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list" - ], - 0, - "9f247d1b471fe0f62cc85d2678783245" - ], - [ - "StringPrinter.Base.m_st_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_StringPrinter.Base.log" - ], - 0, - "a7de9b69c9f0e8065cb63dfb4324eb36" - ], - [ - "StringPrinter.Base.ret_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.sub", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.m_st_post", - "equation_StringPrinter.Base.ret", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_e037a6e6fee45c808d45a01d1dbf1a2a", - "lemma_FStar.Buffer.lemma_modifies_sub_1", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_429e7444d0646d8e4514e16f33677ea3", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.sub", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_StringPrinter.Base.log", "typing_StringPrinter.Base.ret" - ], - 0, - "f539ed51df0263c3793d57a6ed5b91a6" - ], - [ - "StringPrinter.Base.bind_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "StringPrinter.Base_interpretation_Tm_arrow_3d3451b4afd8cd1694aeddfb4c2af471", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_FStar.Pervasives.Native.Mktuple2", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.offset", - "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pervasives.Native.fst", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StringPrinter.Base.bind", - "equation_StringPrinter.Base.log", "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_st_post", - "equation_StringPrinter.Base.s_append", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", - "interpretation_Tm_abs_0166ba4aefd8cce2088a18d8ae8f6818", - "kinding_FStar.Buffer._buffer@tok", - "lemma_FStar.Buffer.lemma_modifies_1_1", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Buffer.lemma_sub_spec_", - "lemma_FStar.Buffer.modifies_subbuffer_1", - "lemma_FStar.Buffer.modifies_subbuffer_2_prime", - "lemma_FStar.Buffer.no_upd_lemma_1", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_69db3771c26215b715f14f9d3f05846e", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_9e55f88d08a00de31ea7fd52eaf67798", - "refinement_interpretation_Tm_refine_a4fd6bc0e3e55e20d9ce0f308900e63b", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d87ab0a12958637a835ba3ee9ef307b5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.sub", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.contains", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_StringPrinter.Base.bind", - "typing_StringPrinter.Base.log", "unit_typing" - ], - 0, - "1afa4fb27e572ab28b212aa1d2ff9739" - ], - [ - "StringPrinter.Base.print_char_st", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pervasives.pattern", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.m_st_post", - "equation_StringPrinter.Base.print_char", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Pervasives.pattern", "int_inversion", - "int_typing", - "interpretation_Tm_abs_71043415eb975b2daa395470872602fb", - "l_and-interp", "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.upd_slice", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_084c4385fac0701afdecdf23ca56a8b2", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48d50f0a1fc24100a0523134cd198481", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7761be9ffe145ae5d4bc44a473a577e4", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8548e2844d0349e34280faacc01c11fb", - "refinement_interpretation_Tm_refine_87948d5d5571541e1cdc730afbeb4c55", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cff35ca712a30643409ebc8c4a7a2e33", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_StringPrinter.Base.log", - "typing_StringPrinter.Base.print_char" - ], - 0, - "27ea9b3cccc47a59e17b29c10a0c4ea8" - ], - [ - "StringPrinter.Base.ifthenelse_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", - "equation_FStar.Monotonic.HyperStack.contains", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_07e87d7e8196cac8e5206f26e89bbdc6", - "refinement_interpretation_Tm_refine_c10d0d00a5e949ee747767beae9cabc7" - ], - 0, - "7b7a884e315a248d4ef2b819010fb910" - ], - [ - "StringPrinter.Base.coerce_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "equation_FStar.Buffer.buffer", "equation_StringPrinter.Base.log", - "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_st_post", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_03aecc3caf95714088e562b659f7abc9", - "refinement_interpretation_Tm_refine_d3168dff795c388ea1ef1c662240609c", - "unit_typing" - ], - 0, - "4e0d81571c6fef649ee4507aa762a356" - ], - [ - "StringPrinter.Base.buffer_create_mm_post", - 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, - "bd760fafd4e128aac8687c34e8d30b0c" - ], - [ - "StringPrinter.Base.alloc_and_fill_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sub", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.set", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "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", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_StringPrinter.Base.alloc_and_fill_in_post", - "equation_StringPrinter.Base.buffer_create_mm_post", - "equation_StringPrinter.Base.buffer_is_mm", - "equation_StringPrinter.Base.log", "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.m_st_post", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Buffer.modifies_subbuffer_1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_c506937bec4b78604ee7d62184667b33", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Buffer.sub", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains", - "typing_FStar.Monotonic.Heap.unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "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.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", "unit_typing" - ], - 0, - "3a73fb1dafe3f5baaaf1b48324779875" - ], - [ - "StringPrinter.Base.phi_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "function_token_typing_FStar.UInt8.t", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "typing_FStar.Buffer.buffer", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "f592ad2975ea39d81392b9b7e7564f60" - ], - [ - "StringPrinter.Base.phi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "StringPrinter.Base_interpretation_Tm_ghost_arrow_f8a0addf66d842af0f2108822ebcb064", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.eqtype", - "equation_StringPrinter.Base.alloc_and_fill_in_post", - "equation_StringPrinter.Base.buffer_create_mm_post", - "equation_StringPrinter.Base.m", - "equation_StringPrinter.Base.phi_post", - "equation_StringPrinter.Base.string", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c506937bec4b78604ee7d62184667b33", - "typing_FStar.Buffer.buffer", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.UInt32.t", "typing_FStar.UInt8.t", "unit_typing" - ], - 0, - "63c0f625e9fddd18ba1fe7985c846098" - ] - ] -] \ No newline at end of file diff --git a/examples/tactics/old/StringPrinter.Rec.fst.hints b/examples/tactics/old/StringPrinter.Rec.fst.hints deleted file mode 100644 index 077604118bc..00000000000 --- a/examples/tactics/old/StringPrinter.Rec.fst.hints +++ /dev/null @@ -1,140 +0,0 @@ -[ - "À}´ír¨×\u0010Å^øABšÚx", - [ - [ - "EnumEq.enum_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Enum.bounded", - "equation_Enum.toInt", "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Enum.enum", - "haseqTm_refine_4a6eaf440e75ef17916cf0f682fb32c5", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", "typing_Prims.int" - ], - 0, - "f2a352ebf65c59e1d7fbc8ab2c02bac1" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/EnumEq.fsti.hints b/examples/typeclasses/EnumEq.fsti.hints deleted file mode 100644 index 3df5ead0174..00000000000 --- a/examples/typeclasses/EnumEq.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "æK ÏÄuÔÎ\u0014tYb;¨ñé", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Eq.fst.hints b/examples/typeclasses/Eq.fst.hints deleted file mode 100644 index 5f63c3a93aa..00000000000 --- a/examples/typeclasses/Eq.fst.hints +++ /dev/null @@ -1,278 +0,0 @@ -[ - "OY\u0005d\u001dÀ\u0012įq\u0017ØP\u0016Å", - [ - [ - "Eq.eq_instance_of_eqtype", - 1, - 2, - 1, - [ "@query" ], - 0, - "786706982aa10c4f4285291cd2fb78f3" - ], - [ - "Eq.eqList", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_dd3d262bf5e0d05562baf51429ed91f0_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "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_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", - "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_c7a379c21d15e3cf746d5cc60461be4e", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "subterm_ordering_Prims.Cons", - "token_correspondence_Eq.__proj__Mkdeq__item__eq", - "token_correspondence_Eq.eq", "typing_Eq.eqList" - ], - 0, - "6464cbd4cfb2f918d9d7f1cf203725a4" - ], - [ - "Eq.eq_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Eq.eqList.fuel_instrumented", "@query", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_Eq.eqList" - ], - 0, - "e3ce5660efda544445c68d5a2305bc4d" - ], - [ - "Eq.eq_pair", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Eq.eq", - "fuel_guarded_inversion_Eq.deq", - "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, - "9c05ef17093f74c18bc3f23ad4440228" - ], - [ - "Eq.uu___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", - "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___0", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" - ], - 0, - "76dda1271416586b2266b24f58fd57e6" - ], - [ - "Eq.uu___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "equation_Eq.eq", - "equation_Eq.eq_instance_of_eqtype", "equation_Eq.uu___0", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Eq.Mkdeq_eq", - "token_correspondence_Eq.eq" - ], - 0, - "837055886a967eebe32ccae0d0bf962c" - ], - [ - "Eq.uu___5", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.uu___1", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" - ], - 0, - "f0d87d701920a9bcd81ad9d55e543f26" - ], - [ - "Eq.uu___6", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.uu___1", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Eq.Mkdeq_eq", "token_correspondence_Eq.eq" - ], - 0, - "7a77b9118f5e465444f7d40b1db9b612" - ], - [ - "Eq.uu___7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", - "equation_Eq.eq_list", "equation_Eq.uu___0", "equation_Prims.eqtype", - "function_token_typing_Eq.eqList", "int_typing", - "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___0", "typing_Prims.int" - ], - 0, - "504833b84476c09406dbe5506d79d0b8" - ], - [ - "Eq.uu___8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Eq_interpretation_Tm_arrow_7aa492a2d1bcc16697b15f18414834ca", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Eq.eq", - "equation_Eq.eq_list", "equation_Eq.uu___0", "equation_Prims.eqtype", - "function_token_typing_Eq.eqList", "int_typing", - "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___0", "typing_Prims.int" - ], - 0, - "af9126d70076db240e9bbc2099001630" - ], - [ - "Eq.uu___9", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.eq_pair", "equation_Eq.uu___0", "equation_Eq.uu___2", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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, - "dba1e1cf51e2dbbe902f531e0be0d178" - ], - [ - "Eq.uu___10", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.eq_pair", "equation_Eq.uu___0", "equation_Eq.uu___2", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_Eq.Mkdeq_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FString_const_proj_0", - "token_correspondence_Eq.eq" - ], - 0, - "2d17c54e8196b708eac93cab5fc4720b" - ], - [ - "Eq.uu___11", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.eq_pair", "equation_Eq.uu___0", "equation_Eq.uu___2", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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, - "0223cf48c784d1f9ac473bacddb6fb40" - ], - [ - "Eq.uu___12", - 1, - 2, - 1, - [ - "@query", "equation_Eq.eq", "equation_Eq.eq_instance_of_eqtype", - "equation_Eq.eq_pair", "equation_Eq.uu___0", "equation_Eq.uu___2", - "interpretation_Tm_abs_1882061b6497b0ef7b8bcc1e4f3bbdaa", - "interpretation_Tm_abs_af9a9fad24ef4b376771ad8eab3c0844", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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, - "b6f72fec46c0b7cab2960588534114a9" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/Functor.fst.hints b/examples/typeclasses/Functor.fst.hints deleted file mode 100644 index de7116a440e..00000000000 --- a/examples/typeclasses/Functor.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "RT’qØ£á\\(ndj7eÐþ", [] ] \ No newline at end of file diff --git a/examples/typeclasses/GradedMonad.fst.hints b/examples/typeclasses/GradedMonad.fst.hints deleted file mode 100644 index 57b9978e78a..00000000000 --- a/examples/typeclasses/GradedMonad.fst.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "Šž\u0005‡äHiGD´Ùš\u007f[h¢", - [ - [ - "GradedMonad.monoid_nat_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9d008d93d6b2ae7b68a1ef680801258e" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/Inlining.fst.hints b/examples/typeclasses/Inlining.fst.hints deleted file mode 100644 index ea7cf101109..00000000000 --- a/examples/typeclasses/Inlining.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "mµz\u0011§\u001fÏ|:\u0001a\u0015+\n\u0018°", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Loop.fst.hints b/examples/typeclasses/Loop.fst.hints deleted file mode 100644 index c54065e23a3..00000000000 --- a/examples/typeclasses/Loop.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0015¬wÊéz´£\u0011¹Îe\u0000ù\u000b", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Monad.fst.hints b/examples/typeclasses/Monad.fst.hints deleted file mode 100644 index 26e8f89be9c..00000000000 --- a/examples/typeclasses/Monad.fst.hints +++ /dev/null @@ -1,45 +0,0 @@ -[ - "c^é_ÆÖų¸d—’-é<", - [ - [ - "Monad.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Monad.bind", - "equation_Monad.return", "fuel_guarded_inversion_Monad.monad", - "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, - "0e204247535bbac6f3c41243fb5b722e" - ], - [ - "Monad.g'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Monad.bind", - "equation_Monad.return", "fuel_guarded_inversion_Monad.monad", - "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, - "7b4d003eaa5564dc035b9e6e966cd7f2" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/MonadFunctorInference.fst.hints b/examples/typeclasses/MonadFunctorInference.fst.hints deleted file mode 100644 index 46c7048739e..00000000000 --- a/examples/typeclasses/MonadFunctorInference.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - "¶T3AI©^\u0006¿¥\nÐe\u001dÎd", - [ - [ - "MonadFunctorInference.get_put_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.FunctionalExtensionality.feq", - "equation_MonadFunctorInference.bind", - "equation_MonadFunctorInference.get", - "equation_MonadFunctorInference.get_put", - "equation_MonadFunctorInference.noop", - "equation_MonadFunctorInference.put", - "equation_MonadFunctorInference.return", - "equation_MonadFunctorInference.st_monad", - "interpretation_Tm_abs_149cffba6cd41c85a270a196659747b3", - "interpretation_Tm_abs_1cd3aec29fb640351fe3d81d618ff192", - "interpretation_Tm_abs_4628f1461cec5c8004766c30bae7344c", - "interpretation_Tm_abs_4896c8b1c1f351c5ce7ba2d35d5b179b", - "interpretation_Tm_abs_79991cb66008561c642fa3e96942b94c", - "interpretation_Tm_abs_c0d0000c389ad35def48694f32ab1308", - "interpretation_Tm_abs_e63dccd4c4d84c40c92b7577b02d7e3b", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_MonadFunctorInference.Mkmonad_bind", - "projection_inverse_MonadFunctorInference.Mkmonad_return", - "token_correspondence_MonadFunctorInference.bind", - "token_correspondence_MonadFunctorInference.return", "unit_typing" - ], - 0, - "4f51ab5ca59415afe25fb92b6b6bdff1" - ], - [ - "MonadFunctorInference.opt_monad", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "4595c1efb3c7c28eb91a32e8577ae726" - ], - [ - "MonadFunctorInference.div", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Equality" ], - 0, - "b8876fda8b23e3c40d92b41381259f94" - ], - [ - "MonadFunctorInference.option_functor", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "a359597798c2545e177d05cb9f280e75" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/Num.fst.hints b/examples/typeclasses/Num.fst.hints deleted file mode 100644 index 12b69622c91..00000000000 --- a/examples/typeclasses/Num.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\bi&1’$éT“?¦›ù£èX", [] ] \ No newline at end of file diff --git a/examples/typeclasses/OpenIface.fst.hints b/examples/typeclasses/OpenIface.fst.hints deleted file mode 100644 index f6cd84f3c76..00000000000 --- a/examples/typeclasses/OpenIface.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u000f}*ß\u000b„\u0017P\u0000på\u0016BôvG", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Pulse.Class.BoundedIntegers.fst.hints b/examples/typeclasses/Pulse.Class.BoundedIntegers.fst.hints deleted file mode 100644 index 2a9966adc8d..00000000000 --- a/examples/typeclasses/Pulse.Class.BoundedIntegers.fst.hints +++ /dev/null @@ -1,886 +0,0 @@ -[ - "´–#HÀ´Ú—\u0011QµTu/Ê\u0007", - [ - [ - "Pulse.Class.BoundedIntegers.bounded_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a294b8994119cf8a575f0a71df6575a3" - ], - 0, - "47a6d874f7721672a60abd958d7abe27" - ], - [ - "Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__op_Percent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_362849aac9a21015707b98540ff7ba05" - ], - 0, - "f77611d833d34fe39712583af7eda0d7" - ], - [ - "Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__op_Percent", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_properties", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_362849aac9a21015707b98540ff7ba05", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "refinement_interpretation_Tm_refine_a5b51daf4272a3f77a353fced33c772f", - "unit_inversion" - ], - 0, - "88cc6738820ac828d08f3e3b21bfda42" - ], - [ - "Pulse.Class.BoundedIntegers.op_Percent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_properties", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_362849aac9a21015707b98540ff7ba05", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "refinement_interpretation_Tm_refine_a5b51daf4272a3f77a353fced33c772f", - "unit_inversion" - ], - 0, - "3631c17f6ffc7e42bc8907615136b9a2" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_int", - 1, - 2, - 1, - [ "@query" ], - 0, - "fe48922ef8fc0f27d05efb4caaf63162" - ], - [ - "Pulse.Class.BoundedIntegers.safe_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_3c4a7be83107ac264d86a592e40ff1ba", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_635d2d314f62d2a47af45bf39ae8a382", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_d74e06376e6603442136cf647afb67dd", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_unsigned", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_from_bounded_unsigned", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.fits", - "equation_Pulse.Class.BoundedIntegers.max_bound", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_unsigned", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Pulse.Class.BoundedIntegers.max_bound", - "int_typing", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_d2b36eee66dd8372042cd1c49358f9dc", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "interpretation_Tm_abs_ed0b4d808e3623f25f893f01478211b1", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_unsigned_base", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_unsigned_static_max_bound", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55034eb0b7285efc4cb3be441d0a887c", - "refinement_interpretation_Tm_refine_b485cfaa52da58e164a9cfc59d88e25f", - "refinement_interpretation_Tm_refine_d1ea46b957224f088cf16c7c5c4bb132", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.fits", - "token_correspondence_Pulse.Class.BoundedIntegers.max_bound", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp", - "typing_Pulse.Class.BoundedIntegers.bounded_from_bounded_unsigned" - ], - 0, - "012b10e23ee3c30efd9eedf085387882" - ], - [ - "Pulse.Class.BoundedIntegers.safe_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_635d2d314f62d2a47af45bf39ae8a382", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_unsigned", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_from_bounded_unsigned", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.fits", - "equation_Pulse.Class.BoundedIntegers.max_bound", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "equation_Pulse.Class.BoundedIntegers.op_Percent", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_unsigned", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_3ac41043f5916fda181399393c3d8ba1", - "interpretation_Tm_abs_638c2b0f106355f5884ec0cc8cc19772", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_d2b36eee66dd8372042cd1c49358f9dc", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "interpretation_Tm_abs_ed0b4d808e3623f25f893f01478211b1", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_unsigned_base", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_unsigned_static_max_bound", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Percent", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55034eb0b7285efc4cb3be441d0a887c", - "refinement_interpretation_Tm_refine_6899b8080c98ed4e56f0466a4759f847", - "refinement_interpretation_Tm_refine_b485cfaa52da58e164a9cfc59d88e25f", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.fits", - "token_correspondence_Pulse.Class.BoundedIntegers.max_bound", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Percent", - "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp", - "typing_Pulse.Class.BoundedIntegers.bounded_from_bounded_unsigned" - ], - 0, - "057008b1596ffbcdb0d2ddfb4813b66f" - ], - [ - "Pulse.Class.BoundedIntegers.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "refinement_interpretation_Tm_refine_b7ef005063e3ab26180eab67f6d7bbae", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v" - ], - 0, - "3d619b1e2144586a324861cd5e3bcf5f" - ], - [ - "Pulse.Class.BoundedIntegers.add", - 2, - 2, - 1, - [ - "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "true_interp" - ], - 0, - "4f8cb78f999e31e61c7c3523842f75f5" - ], - [ - "Pulse.Class.BoundedIntegers.add3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_c4a75f60b7157b7ea40684b3c73019d6", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "refinement_interpretation_Tm_refine_20dc8ad32903119db4097dbede2f6f9d", - "refinement_interpretation_Tm_refine_cface579e84edab1d51e059d64561695", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v" - ], - 0, - "e1f02f010e2c1fa04ecaa3b460d5f761" - ], - [ - "Pulse.Class.BoundedIntegers.add3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp" - ], - 0, - "2cf7d7094e23603617e87a707c15ba48" - ], - [ - "Pulse.Class.BoundedIntegers.add3_alt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "refinement_interpretation_Tm_refine_230a2a6e17a16d1ebe659e0d57ca05c9", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v" - ], - 0, - "8a2e27851a765b5d1305e8c5bae34efe" - ], - [ - "Pulse.Class.BoundedIntegers.add3_alt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "fuel_guarded_inversion_Pulse.Class.BoundedIntegers.bounded_int", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v", "true_interp" - ], - 0, - "2cf7d7094e23603617e87a707c15ba48" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_u32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_4e06c0d9f21510c76cc9a4373093e200", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Pervasives.id", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.mod", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.op_Less", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_d68e5199f008f106619036deee889e9a", - "interpretation_Tm_abs_e6649eba6390f90be22ea1a9dce6d496", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d5d464f1bd9167923b3673db6d066b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pervasives.id", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b" - ], - 0, - "f3d5842615c6fbe2d8e22fa46f6d105a" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_unsigned_u32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_interpretation_Tm_arrow_99724436653747ac6f5a6a00c64ff8bc", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_ghost_arrow_755c79c2bc580d8b4fb5156ea583813e", - "Pulse.Class.BoundedIntegers_interpretation_Tm_ghost_arrow_d16b792c8388af6cbe3d3e4ea5d87ced", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "equation_FStar.Pervasives.id", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_u32", - "equation_Pulse.Class.BoundedIntegers.fits", - "equation_Pulse.Class.BoundedIntegers.fits_t", - "equation_Pulse.Class.BoundedIntegers.op_Less", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "equation_Pulse.Class.BoundedIntegers.v", - "function_token_typing_FStar.Pervasives.id", - "function_token_typing_FStar.UInt32.uint_to_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_640ea0d2a5785c2bf69170bf394ad9c4", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_a8cddb33fae8264dd0fec582745dd7d6", - "interpretation_Tm_abs_d2b36eee66dd8372042cd1c49358f9dc", - "interpretation_Tm_abs_d68e5199f008f106619036deee889e9a", - "interpretation_Tm_abs_e6649eba6390f90be22ea1a9dce6d496", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "l_and-interp", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pervasives.id", - "token_correspondence_Pulse.Class.BoundedIntegers.fits", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "token_correspondence_Pulse.Class.BoundedIntegers.v", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.int", - "typing_Pulse.Class.BoundedIntegers.bounded_int_u32", - "typing_Tm_abs_640ea0d2a5785c2bf69170bf394ad9c4" - ], - 0, - "6446c6356ea131449ace7f208342b8e1" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_u64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_4e06c0d9f21510c76cc9a4373093e200", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Pervasives.id", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.mod", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.lt", - "equation_FStar.UInt64.lte", "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d5d464f1bd9167923b3673db6d066b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pervasives.id", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "typing_FStar.UInt.max_int", "typing_FStar.UInt64.v", - "typing_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b" - ], - 0, - "f70718ea023b0da71a587ac6e1dbce88" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_unsigned_u64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_4e06c0d9f21510c76cc9a4373093e200", - "Pulse.Class.BoundedIntegers_interpretation_Tm_ghost_arrow_d16b792c8388af6cbe3d3e4ea5d87ced", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "equation_FStar.Pervasives.id", "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_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_u64", - "equation_Pulse.Class.BoundedIntegers.fits", - "equation_Pulse.Class.BoundedIntegers.fits_t", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "equation_Pulse.Class.BoundedIntegers.v", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.UInt64.uint_to_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3a550d7fc388328ce7824cdc5c854d83", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_b264ffbb62cdda235d25000972d6bc9e", - "interpretation_Tm_abs_d2b36eee66dd8372042cd1c49358f9dc", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "l_and-interp", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d5d464f1bd9167923b3673db6d066b9", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Pulse.Class.BoundedIntegers.fits", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "token_correspondence_Pulse.Class.BoundedIntegers.v", - "typing_FStar.UInt.fits", "typing_FStar.UInt64.v", - "typing_Pulse.Class.BoundedIntegers.bounded_int_u64", - "typing_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b" - ], - 0, - "855da424196e5ed52f74bdf7ac710104" - ], - [ - "Pulse.Class.BoundedIntegers.add_u32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_u32", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Plus", - "equation_Pulse.Class.BoundedIntegers.v", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_505c9b700f5dda804797fc6511aa37e2", - "interpretation_Tm_abs_d5877b1288b93e8d3523f2652f6bfc84", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Plus", - "refinement_interpretation_Tm_refine_9d79ca37d0e830469d08a27aadb313bf", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Plus", - "token_correspondence_Pulse.Class.BoundedIntegers.v" - ], - 0, - "4293b936b82c2e457a8428fbf15f4564" - ], - [ - "Pulse.Class.BoundedIntegers.add_u32", - 2, - 2, - 1, - [ - "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "true_interp" - ], - 0, - "a032aa9b34cbdfa34c052e08948dc1ca" - ], - [ - "Pulse.Class.BoundedIntegers.sub_u32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_u32", - "equation_Pulse.Class.BoundedIntegers.ok", - "equation_Pulse.Class.BoundedIntegers.op_Subtraction", - "equation_Pulse.Class.BoundedIntegers.v", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_247f3cb36b17b51f48b81868489fffc3", - "interpretation_Tm_abs_8154ab71284c4a913019d0826babcbe6", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Subtraction", - "refinement_interpretation_Tm_refine_bf58fad13f308910817062e1bf18d398", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Subtraction", - "token_correspondence_Pulse.Class.BoundedIntegers.v" - ], - 0, - "41a8d26ad2361d934e56307bc8c607c1" - ], - [ - "Pulse.Class.BoundedIntegers.sub_u32", - 2, - 2, - 1, - [ - "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "primitive_Prims.op_Subtraction", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "true_interp" - ], - 0, - "4db84a8fad9befb780a71b284901f00a" - ], - [ - "Pulse.Class.BoundedIntegers.add_nat_1", - 1, - 2, - 1, - [ - "@query", "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "interpretation_Tm_abs_e55f1efb8e787e6fd29c4794771ae0d5", - "primitive_Prims.op_Addition", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "true_interp" - ], - 0, - "dd1e25650a197a7ed83a16f217531158" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", - "equation_Pulse.Class.BoundedIntegers.fits_t", - "equation_Pulse.Class.BoundedIntegers.nat_as_int", - "haseqTm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "interpretation_Tm_abs_49832691c8e834c9b5f114e3af28e84b", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c87c43e5f8b5a9498fbcb5368feddc8c" - ], - [ - "Pulse.Class.BoundedIntegers.add_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_nat", - "equation_Pulse.Class.BoundedIntegers.nat_as_int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_49832691c8e834c9b5f114e3af28e84b", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.nat_as_int", - "typing_Prims.int" - ], - 0, - "f4a9a221a2caeebcf739de8979d2ed6a" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_pos", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", - "equation_Pulse.Class.BoundedIntegers.fits_t", - "equation_Pulse.Class.BoundedIntegers.pos_as_int", - "haseqTm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "interpretation_Tm_abs_a0c0e02f00d0e81415acba0445b8261b", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "feac0fc1419adb5f2af94cfaa5907139" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_int_size_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.mod_spec", - "equation_Prims.nat", "equation_Pulse.Class.BoundedIntegers.fits_t", - "int_inversion", "int_typing", - "interpretation_Tm_abs_efe372ce3e9de26e7779d8bc6ea105c3", - "l_and-interp", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c9509c4fdf356ea8b390762a509ebbb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "typing_FStar.SizeT.v" - ], - 0, - "2729c361cf105cb214a2edc32a19bf04" - ], - [ - "Pulse.Class.BoundedIntegers.bounded_unsigned_size_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_int", - "equation_Pulse.Class.BoundedIntegers.bounded_int_size_t", - "equation_Pulse.Class.BoundedIntegers.fits", - "equation_Pulse.Class.BoundedIntegers.op_Less_Equals", - "equation_Pulse.Class.BoundedIntegers.v", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_63fb2cefe8a09ad45caa8eb2d2cf7613", - "interpretation_Tm_abs_9526f9b86538a09423bf79a8b2d28a7b", - "interpretation_Tm_abs_d2b36eee66dd8372042cd1c49358f9dc", - "interpretation_Tm_abs_efe372ce3e9de26e7779d8bc6ea105c3", - "interpretation_Tm_abs_f4d32f3d705308e5f1a270cda9a29727", - "interpretation_Tm_abs_faa1351076bca4f1d410c09beaffa289", - "l_and-interp", "lemma_FStar.SizeT.fits_at_least_16", - "lemma_FStar.SizeT.size_uint_to_t_inj", - "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less_Equals", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "token_correspondence_Pulse.Class.BoundedIntegers.fits", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less_Equals", - "token_correspondence_Pulse.Class.BoundedIntegers.v", - "typing_Pulse.Class.BoundedIntegers.bounded_int_size_t" - ], - 0, - "a4718c6e135ad6f339b5cfaf4c59e185" - ], - [ - "Pulse.Class.BoundedIntegers.size_t_plus_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Pulse.Class.BoundedIntegers_interpretation_Tm_arrow_4e9e5a602a12a0a4955a27552da74126", - "data_elim_Pulse.Class.BoundedIntegers.Mkbounded_int", - "equation_Prims.nat", - "equation_Pulse.Class.BoundedIntegers.bounded_int_size_t", - "equation_Pulse.Class.BoundedIntegers.op_Less", "int_typing", - "interpretation_Tm_abs_24a873797f26156ae9d97fe9aa2a95c1", - "interpretation_Tm_abs_63fb2cefe8a09ad45caa8eb2d2cf7613", - "interpretation_Tm_abs_e6649eba6390f90be22ea1a9dce6d496", - "interpretation_Tm_abs_efe372ce3e9de26e7779d8bc6ea105c3", - "l_and-interp", "lemma_FStar.SizeT.fits_at_least_16", - "lemma_FStar.SizeT.size_uint_to_t_inj", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "proj_equation_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_fits", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_op_Less", - "projection_inverse_Pulse.Class.BoundedIntegers.Mkbounded_int_v", - "refinement_interpretation_Tm_refine_207024d2522be2ff59992eb07d6dc785", - "refinement_interpretation_Tm_refine_2cdd0b779b7e65376ec1ec73cce4cdb4", - "refinement_interpretation_Tm_refine_4bfb8911fbd05ad55cdf0a80ba01bd05", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_9b6814fd42e45bedf339f7a6d66952ad", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__fits", - "token_correspondence_Pulse.Class.BoundedIntegers.__proj__Mkbounded_int__item__v", - "token_correspondence_Pulse.Class.BoundedIntegers.op_Less", - "typing_FStar.SizeT.uint_to_t", "typing_FStar.SizeT.v", - "typing_Pulse.Class.BoundedIntegers.bounded_int_size_t" - ], - 0, - "b211122a29e514e808250023ea99caa7" - ] - ] -] \ No newline at end of file diff --git a/examples/typeclasses/SyntaxTests.fst.hints b/examples/typeclasses/SyntaxTests.fst.hints deleted file mode 100644 index 5ae5808d1f4..00000000000 --- a/examples/typeclasses/SyntaxTests.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "<&a)tä1GÇ÷ Î”œê‚", [] ] \ No newline at end of file diff --git a/examples/typeclasses/SyntaxTests.fsti.hints b/examples/typeclasses/SyntaxTests.fsti.hints deleted file mode 100644 index 752ee3cb2f5..00000000000 --- a/examples/typeclasses/SyntaxTests.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "›àîЦœBÉ¡} òjˆ68", [] ] \ No newline at end of file diff --git a/examples/typeclasses/Tests.fst.hints b/examples/typeclasses/Tests.fst.hints deleted file mode 100644 index 57658be1a4d..00000000000 --- a/examples/typeclasses/Tests.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "Ç\u0001,+#hbh\u000båš\u0005åžy/", - [ - [ - "Tests.sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_029153658607d4ade672ec4c8454839e_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_Add.additive", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "62b5c14abb770756ee3dfc213b18ce44" - ], - [ - "Tests.uu___13", - 1, - 2, - 1, - [ "@query" ], - 0, - "0cc7db553c23a9cd4ac4ecac13105c6b" - ], - [ - "Tests.uu___14", - 1, - 2, - 1, - [ "@query" ], - 0, - "9df16852ee48cb4b768e1d257c0a9ebf" - ], - [ - "Tests.test1", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Tests.sum.fuel_instrumented", - "@fuel_irrelevance_Tests.sum.fuel_instrumented", "@query", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Add.add_int", - "equation_Add.mkadd", "equation_Add.plus", "equation_Add.zero", - "equation_Eq.uu___25", "equation_Num.add_num", "equation_Num.mknum", - "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_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", - "projection_inverse_Num.Mknum_add_super", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Add.plus", "token_correspondence_Add.zero", - "token_correspondence_Prims.op_Addition", "typing_Num.add_num", - "typing_Num.num_int", "typing_Tests.sum" - ], - 0, - "5598cf8c5698a38b153a187589395745" - ], - [ - "Tests.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Add.add_int", "equation_Add.mkadd", "equation_Add.plus", - "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_73a7b9c27305555126e8994d285f754f", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_Num.Mknum_add_super", - "projection_inverse_Add.Mkadditive_plus", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Num.Mknum_add_super", - "projection_inverse_Num.Mknum_minus", - "token_correspondence_Add.plus", "token_correspondence_Num.minus", - "token_correspondence_Prims.op_Addition" - ], - 0, - "74961e603cbab3f5d2eeefa21f6a4a76" - ] - ] -] \ No newline at end of file diff --git a/examples/verifythis/2015/Problem01.fst.hints b/examples/verifythis/2015/Problem01.fst.hints deleted file mode 100644 index e0fdf36b41b..00000000000 --- a/examples/verifythis/2015/Problem01.fst.hints +++ /dev/null @@ -1,254 +0,0 @@ -[ - "M¶Ïò&Olá2\u0007guÏ”S", - [ - [ - "Problem01.prefix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "473c275edf789acc193aeea7c0438630" - ], - [ - "Problem01.prefix", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "assumption_Prims.list__uu___haseq", - "binder_x_b46f9febde162e476374095e6787c208_0", - "binder_x_b46f9febde162e476374095e6787c208_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "4ba4504d754992c2c1ac059ca04edd3a" - ], - [ - "Problem01.prefix", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "c2b048738abe5a8bc849ac8b789e92f1" - ], - [ - "Problem01.remove_elem_from_list", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b46f9febde162e476374095e6787c208_0", - "binder_x_cead0a6ed392996b481ea4c63547a885_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f7dce0fb4d4620c1462f9a7589022c50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "f3f5aeaa7f876f428df288cc0e6f2516" - ], - [ - "Problem01.test_prefix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" - ], - 0, - "eb440f277c04a658a176ae53f12a8d39" - ], - [ - "Problem01.test_prefix", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_b46f9febde162e476374095e6787c208_0", - "binder_x_b46f9febde162e476374095e6787c208_2", - "binder_x_cead0a6ed392996b481ea4c63547a885_1", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f9fd0c91d383d777585ad120e614603", - "refinement_interpretation_Tm_refine_f7dce0fb4d4620c1462f9a7589022c50", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Problem01.test_prefix", "well-founded-ordering-on-nat" - ], - 0, - "0465b3dbae1d7745652c3f67a03bae66" - ], - [ - "Problem01.test_prefix", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" - ], - 0, - "fec50f4a33ce8c11869e352681ddd4f2" - ], - [ - "Problem01.test_prefix_exists_to_b", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Problem01.prefix.fuel_instrumented", - "@fuel_correspondence_Problem01.remove_elem_from_list.fuel_instrumented", - "@fuel_correspondence_Problem01.test_prefix.fuel_instrumented", - "@fuel_irrelevance_Problem01.test_prefix.fuel_instrumented", - "@query", "bool_inversion", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_Problem01.test_prefix.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e95f1b955d5dd9da17c006cf4c0229f", - "refinement_interpretation_Tm_refine_a90d3e0b4d9b545e6a4fa0dee16eb22b", - "refinement_interpretation_Tm_refine_bd7707ef1973b09faaafda82bae2a4da", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Problem01.prefix", "typing_Problem01.remove_elem_from_list", - "typing_Problem01.test_prefix", "well-founded-ordering-on-nat" - ], - 0, - "22660df552a3e70a7d4b0af73c03ad97" - ], - [ - "Problem01.test_prefix_exists_to_b", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba" - ], - 0, - "ae3da9d0fd39a0fb0d012edd1763d13b" - ], - [ - "Problem01.test_prefix_iff", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Problem01.test_prefix.fuel_instrumented", - "@query", "bool_inversion", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Problem01.test_prefix" - ], - 0, - "73ed0cc5d2a754a7fe4bb0ab763e672c" - ], - [ - "Problem01.test_relaxed_prefix", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Problem01.prefix.fuel_instrumented", - "@fuel_correspondence_Problem01.remove_elem_from_list.fuel_instrumented", - "@fuel_correspondence_Problem01.test_prefix.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Problem01.prefix.fuel_instrumented", - "@fuel_irrelevance_Problem01.remove_elem_from_list.fuel_instrumented", - "@fuel_irrelevance_Problem01.test_prefix.fuel_instrumented", - "@query", "bool_inversion", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_Problem01.prefix.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "lemma_Problem01.test_prefix_iff", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_066ec34605b99f46d413e3ab3b1e988e", - "refinement_interpretation_Tm_refine_4dfb0d0332735a597c1b866c1a8e05e7", - "refinement_interpretation_Tm_refine_500911408eb15f82fac1b31c6fbc48ba", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a90d3e0b4d9b545e6a4fa0dee16eb22b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Problem01.prefix", "typing_Problem01.remove_elem_from_list", - "typing_Problem01.test_prefix" - ], - 0, - "0088e375bb3dcf2864bbf9e09c2bba44" - ] - ] -] \ No newline at end of file diff --git a/flake.nix b/flake.nix index 0256435e7ba..176542b548a 100644 --- a/flake.nix +++ b/flake.nix @@ -7,21 +7,14 @@ }; outputs = { self, flake-utils, nixpkgs }: - flake-utils.lib.eachSystem [ "x86_64-linux" ] (system: + flake-utils.lib.eachDefaultSystem (system: let pkgs = import nixpkgs { inherit system; }; ocamlPackages = pkgs.ocaml-ng.ocamlPackages_4_14; z3 = pkgs.callPackage (import ./.nix/z3.nix) { }; version = self.rev or "dirty"; - fstar-dune = ocamlPackages.callPackage ./ocaml { inherit version; }; - fstar-ulib = pkgs.callPackage ./ulib { inherit fstar-dune version z3; }; - fstar = pkgs.callPackage ./.nix/fstar.nix { - inherit fstar-dune fstar-ulib version z3; - }; - fstar-ocaml-snapshot = - pkgs.callPackage ./src { inherit fstar ocamlPackages version; }; - fstar-bootstrap = pkgs.callPackage ./.nix/bootstrap.nix { - inherit fstar fstar-dune fstar-ocaml-snapshot fstar-ulib; + fstar = ocamlPackages.callPackage ./.nix/fstar.nix { + inherit version z3; }; emacs = pkgs.writeScriptBin "emacs-fstar" '' #!${pkgs.stdenv.shell} @@ -34,9 +27,7 @@ ''; in rec { packages = { - inherit z3 ocamlPackages; - inherit fstar fstar-dune fstar-ocaml-snapshot fstar-bootstrap; - inherit emacs; + inherit z3 fstar emacs ocamlPackages; default = fstar; }; apps.emacs = { @@ -45,7 +36,7 @@ }; devShells.default = pkgs.mkShell { name = "${fstar.name}-dev"; - inputsFrom = [ fstar fstar-dune ]; + inputsFrom = [ fstar ]; shellHook = '' export FSTAR_SOURCES_ROOT="$(pwd)" export PATH="$FSTAR_SOURCES_ROOT/bin/:$PATH" diff --git a/fsharp/.gitignore b/fsharp/.gitignore new file mode 100644 index 00000000000..bbaf4bdc5a4 --- /dev/null +++ b/fsharp/.gitignore @@ -0,0 +1,4 @@ +[Oo]bj/** +[Bb]in/** +extracted/ +nuget/ diff --git a/fsharp/README b/fsharp/README new file mode 100644 index 00000000000..6c39d2fc266 --- /dev/null +++ b/fsharp/README @@ -0,0 +1,7 @@ +This directory contains all that's needed to build an F# version of the +F* application library (alib) in order to build F# applications. This is +currently not tested by anything in this repository. + +The output of this build goes into the bin/ and nuget/ subdirectories. +Run `make lib-fsharp` from the top level to extract the library and +build it (this is implied by `make all`). diff --git a/ulib/fs/VS/.gitignore b/fsharp/VS/.gitignore similarity index 100% rename from ulib/fs/VS/.gitignore rename to fsharp/VS/.gitignore diff --git a/fsharp/VS/Makefile b/fsharp/VS/Makefile new file mode 100644 index 00000000000..9da91fc59e2 --- /dev/null +++ b/fsharp/VS/Makefile @@ -0,0 +1,32 @@ +FSTAR_ROOT ?= ../.. + +# -*- Makefile -*- + +# -------------------------------------------------------------------- +DOTNET = dotnet + +CONFIGURATION?=Release + +DOTNET_PARAMS = /verbosity:minimal /p:Configuration=$(CONFIGURATION) + +PREFIX?=$(FSTAR_ROOT) + +# -------------------------------------------------------------------- +.PHONY: all install-packages build + +all: build + $(DOTNET) pack ../ulibfs.fsproj -o $(PREFIX)/fsharp/nuget + +# .NET convention: .dll files go to bin/ instead of lib/fstar +# TODO: in that case, we should rename ulibfs.dll into fstar_ulibfs.dll +# to avoid clashes with other .dll files in bin/ . This is one reason +# why we do not include this rule in `make install`, but only in +# `make package` +build: install-packages + $(DOTNET) build UlibFS.sln -o $(PREFIX)/fsharp/bin + +install-packages: + $(DOTNET) restore $(DOTNET_PARAMS) UlibFS.sln + +clean: + $(DOTNET) clean $(DOTNET_PARAMS) UlibFS.sln diff --git a/ulib/fs/VS/README.md b/fsharp/VS/README.md similarity index 100% rename from ulib/fs/VS/README.md rename to fsharp/VS/README.md diff --git a/ulib/fs/VS/UlibFS.sln b/fsharp/VS/UlibFS.sln similarity index 100% rename from ulib/fs/VS/UlibFS.sln rename to fsharp/VS/UlibFS.sln diff --git a/ulib/fs/VS/fstar-new.png b/fsharp/VS/fstar-new.png similarity index 100% rename from ulib/fs/VS/fstar-new.png rename to fsharp/VS/fstar-new.png diff --git a/ulib/fs/VS/global.json b/fsharp/VS/global.json similarity index 100% rename from ulib/fs/VS/global.json rename to fsharp/VS/global.json diff --git a/ulib/fs/FStar_All.fs b/fsharp/base/FStar_All.fs similarity index 100% rename from ulib/fs/FStar_All.fs rename to fsharp/base/FStar_All.fs diff --git a/ulib/fs/FStar_Char.fs b/fsharp/base/FStar_Char.fs similarity index 100% rename from ulib/fs/FStar_Char.fs rename to fsharp/base/FStar_Char.fs diff --git a/ulib/fs/FStar_CommonST.fs b/fsharp/base/FStar_CommonST.fs similarity index 100% rename from ulib/fs/FStar_CommonST.fs rename to fsharp/base/FStar_CommonST.fs diff --git a/ulib/fs/FStar_Dyn.fs b/fsharp/base/FStar_Dyn.fs similarity index 100% rename from ulib/fs/FStar_Dyn.fs rename to fsharp/base/FStar_Dyn.fs diff --git a/ulib/fs/FStar_Exn.fs b/fsharp/base/FStar_Exn.fs similarity index 100% rename from ulib/fs/FStar_Exn.fs rename to fsharp/base/FStar_Exn.fs diff --git a/ulib/fs/FStar_Float.fs b/fsharp/base/FStar_Float.fs similarity index 100% rename from ulib/fs/FStar_Float.fs rename to fsharp/base/FStar_Float.fs diff --git a/ulib/fs/FStar_Ghost.fs b/fsharp/base/FStar_Ghost.fs similarity index 100% rename from ulib/fs/FStar_Ghost.fs rename to fsharp/base/FStar_Ghost.fs diff --git a/ulib/fs/FStar_Heap.fs b/fsharp/base/FStar_Heap.fs similarity index 100% rename from ulib/fs/FStar_Heap.fs rename to fsharp/base/FStar_Heap.fs diff --git a/ulib/fs/FStar_HyperStack_All.fs b/fsharp/base/FStar_HyperStack_All.fs similarity index 100% rename from ulib/fs/FStar_HyperStack_All.fs rename to fsharp/base/FStar_HyperStack_All.fs diff --git a/ulib/fs/FStar_HyperStack_IO.fs b/fsharp/base/FStar_HyperStack_IO.fs similarity index 100% rename from ulib/fs/FStar_HyperStack_IO.fs rename to fsharp/base/FStar_HyperStack_IO.fs diff --git a/ulib/fs/FStar_HyperStack_ST.fs b/fsharp/base/FStar_HyperStack_ST.fs similarity index 100% rename from ulib/fs/FStar_HyperStack_ST.fs rename to fsharp/base/FStar_HyperStack_ST.fs diff --git a/ulib/fs/FStar_IO.fs b/fsharp/base/FStar_IO.fs similarity index 100% rename from ulib/fs/FStar_IO.fs rename to fsharp/base/FStar_IO.fs diff --git a/ulib/fs/FStar_Int16.fs b/fsharp/base/FStar_Int16.fs similarity index 100% rename from ulib/fs/FStar_Int16.fs rename to fsharp/base/FStar_Int16.fs diff --git a/ulib/fs/FStar_Int32.fs b/fsharp/base/FStar_Int32.fs similarity index 100% rename from ulib/fs/FStar_Int32.fs rename to fsharp/base/FStar_Int32.fs diff --git a/ulib/fs/FStar_Int64.fs b/fsharp/base/FStar_Int64.fs similarity index 100% rename from ulib/fs/FStar_Int64.fs rename to fsharp/base/FStar_Int64.fs diff --git a/ulib/fs/FStar_Int8.fs b/fsharp/base/FStar_Int8.fs similarity index 100% rename from ulib/fs/FStar_Int8.fs rename to fsharp/base/FStar_Int8.fs diff --git a/ulib/fs/FStar_List.fs b/fsharp/base/FStar_List.fs similarity index 100% rename from ulib/fs/FStar_List.fs rename to fsharp/base/FStar_List.fs diff --git a/ulib/fs/FStar_List_Tot_Base.fs b/fsharp/base/FStar_List_Tot_Base.fs similarity index 100% rename from ulib/fs/FStar_List_Tot_Base.fs rename to fsharp/base/FStar_List_Tot_Base.fs diff --git a/ulib/fs/FStar_Map.fs b/fsharp/base/FStar_Map.fs similarity index 100% rename from ulib/fs/FStar_Map.fs rename to fsharp/base/FStar_Map.fs diff --git a/ulib/fs/FStar_Monotonic_Heap.fs b/fsharp/base/FStar_Monotonic_Heap.fs similarity index 100% rename from ulib/fs/FStar_Monotonic_Heap.fs rename to fsharp/base/FStar_Monotonic_Heap.fs diff --git a/ulib/fs/FStar_Option.fs b/fsharp/base/FStar_Option.fs similarity index 100% rename from ulib/fs/FStar_Option.fs rename to fsharp/base/FStar_Option.fs diff --git a/ulib/fs/FStar_Pervasives_Native.fs b/fsharp/base/FStar_Pervasives_Native.fs similarity index 100% rename from ulib/fs/FStar_Pervasives_Native.fs rename to fsharp/base/FStar_Pervasives_Native.fs diff --git a/ulib/fs/FStar_ST.fs b/fsharp/base/FStar_ST.fs similarity index 100% rename from ulib/fs/FStar_ST.fs rename to fsharp/base/FStar_ST.fs diff --git a/ulib/fs/FStar_Set.fs b/fsharp/base/FStar_Set.fs similarity index 100% rename from ulib/fs/FStar_Set.fs rename to fsharp/base/FStar_Set.fs diff --git a/ulib/fs/FStar_String.fs b/fsharp/base/FStar_String.fs similarity index 100% rename from ulib/fs/FStar_String.fs rename to fsharp/base/FStar_String.fs diff --git a/ulib/fs/FStar_UInt16.fs b/fsharp/base/FStar_UInt16.fs similarity index 100% rename from ulib/fs/FStar_UInt16.fs rename to fsharp/base/FStar_UInt16.fs diff --git a/ulib/fs/FStar_UInt32.fs b/fsharp/base/FStar_UInt32.fs similarity index 100% rename from ulib/fs/FStar_UInt32.fs rename to fsharp/base/FStar_UInt32.fs diff --git a/ulib/fs/FStar_UInt64.fs b/fsharp/base/FStar_UInt64.fs similarity index 100% rename from ulib/fs/FStar_UInt64.fs rename to fsharp/base/FStar_UInt64.fs diff --git a/ulib/fs/FStar_UInt8.fs b/fsharp/base/FStar_UInt8.fs similarity index 100% rename from ulib/fs/FStar_UInt8.fs rename to fsharp/base/FStar_UInt8.fs diff --git a/ulib/fs/prims.fs b/fsharp/base/prims.fs similarity index 100% rename from ulib/fs/prims.fs rename to fsharp/base/prims.fs diff --git a/fsharp/ulibfs.fsproj b/fsharp/ulibfs.fsproj new file mode 100644 index 00000000000..cb898ea3030 --- /dev/null +++ b/fsharp/ulibfs.fsproj @@ -0,0 +1,106 @@ + + + netstandard2.0 + --nowarn:0086 --mlcompatibility --nologo + Library + false + True + false + 0.0.3 + README.md + fstar-new.png + https://fstar-lang.org/ + https://github.com/FStarLang/FStar + LICENSE + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/fstar.opam b/fstar.opam index 5edfa9b8352..a6fd44c0ebc 100644 --- a/fstar.opam +++ b/fstar.opam @@ -1,5 +1,5 @@ opam-version: "2.0" -version: "2024.09.05~dev" +version: "2025.01.06~dev" maintainer: "taramana@microsoft.com" authors: "Nik Swamy ,Jonathan Protzenko ,Tahina Ramananandro " homepage: "http://fstar-lang.org" @@ -21,11 +21,10 @@ depends: [ "process" "ppx_deriving" {build} "ppx_deriving_yojson" {build} - "z3" {= "4.8.5-1"} ] depexts: ["coreutils"] {os = "macos" & os-distribution = "homebrew"} build: [ - [make "PREFIX=%{prefix}%" "-j" jobs] + [make "-j" jobs "ADMIT=1"] ] install: [ [make "PREFIX=%{prefix}%" "install"] diff --git a/mk/common.mk b/mk/common.mk index 49e16828c89..18e63e06809 100644 --- a/mk/common.mk +++ b/mk/common.mk @@ -21,11 +21,11 @@ endef define msg = @printf " %-14s %s\n" $(1) $(2) endef +# Must be one line so it can be commented out easily +#-tput bold 2>/dev/null +#-tput sgr0 2>/dev/null define bold_msg = -@#-tput bold 2>/dev/null -@printf -- " %-15s" $(1) -@#-tput sgr0 2>/dev/null -@printf " %s\n" $(2) +printf -- " %-15s %s\n" $(1) $(2) endef # Passing RESOURCEMONITOR=1 will create .runlim files through the source tree with diff --git a/mk/diff.sh b/mk/diff.sh new file mode 100755 index 00000000000..c100506714a --- /dev/null +++ b/mk/diff.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +if [ $# -ne 2 ]; then + echo "usage: $0 " >&2 + exit 1 +fi + +ACTUAL="$1" +EXPECTED="$2" + +DIFF="diff -u --strip-trailing-cr" + +if $DIFF "$ACTUAL" "$EXPECTED" ; then + # OK + exit 0 +else + # We're gonna fail. If we're running in CI, emit a Github + # error message. + if [ -v GITHUB_ENV ]; then + DIFFTEXT=$($DIFF "$ACTUAL" "$EXPECTED" | sed 's/$/%0A/' | tr -d '\n') + ACTUAL=$(realpath "$ACTUAL") + ACTUAL="${ACTUAL#$FSTAR_ROOT}" + EXPECTED=$(realpath "$EXPECTED") + EXPECTED="${EXPECTED#$FSTAR_ROOT}" + echo "::error::Diff failed for files $ACTUAL and $EXPECTED:%0A%0A$DIFFTEXT" + else + echo "error: Diff failed for files $ACTUAL and $EXPECTED" >&2 + fi + exit 1 +fi diff --git a/mk/fstar-01.mk b/mk/fstar-01.mk new file mode 120000 index 00000000000..0fa32735fe1 --- /dev/null +++ b/mk/fstar-01.mk @@ -0,0 +1 @@ +fstar-12.mk \ No newline at end of file diff --git a/mk/fstar-12.mk b/mk/fstar-12.mk new file mode 100644 index 00000000000..a9326342bf5 --- /dev/null +++ b/mk/fstar-12.mk @@ -0,0 +1,29 @@ +FSTAR_OPTIONS += --lax +# HACK ALERT! --MLish passed by generic.mk to FStarC modules +# only. Passing it here would mean the library is checked with +# --MLish, which fails. +FSTAR_OPTIONS += --MLish_effect 'FStarC.Effect' +FSTAR_OPTIONS += --no_default_includes +FSTAR_OPTIONS += --include "$(FSTAR_ROOT)/ulib" + +# FIXME: Maintaining this list sucks. Could **the module** itself +# specify whether it is noextract? Actually, the F* compiler should +# already know which of its modules are in its library, and do this by +# default. +EXTRACT := +EXTRACT += --extract ',*' # keep the comma (https://github.com/FStarLang/FStar/pull/3640) +EXTRACT += --extract -Prims +EXTRACT += --extract -FStar +EXTRACT += --extract -FStarC.Extraction.ML.PrintML # very much a special case + +# Library wrangling +EXTRACT += --extract +FStar.Pervasives +EXTRACT += --extract -FStar.Pervasives.Native +EXTRACT += --extract +FStar.Class.Printable +EXTRACT += --extract +FStar.Seq.Base +EXTRACT += --extract +FStar.Seq.Properties + +ROOTS := +ROOTS += $(SRC)/fstar/FStarC.Main.fst + +include mk/generic.mk diff --git a/mk/generic.mk b/mk/generic.mk new file mode 100644 index 00000000000..fba14341a3b --- /dev/null +++ b/mk/generic.mk @@ -0,0 +1,130 @@ +include mk/common.mk + +$(call need_exe, FSTAR_EXE, fstar.exe to be used) +$(call need_dir_mk, CACHE_DIR, directory for checked files) +$(call need_dir_mk, OUTPUT_DIR, directory for extracted OCaml files) +$(call need, CODEGEN, backend (OCaml / Plugin)) +$(call need_dir, SRC, source directory) +$(call need, TAG, a tag for the .depend; to prevent clashes. Sorry.) +$(call need, ROOTS, a list of roots for the dependency analysis) +# Optional: EXTRACT, DEPFLAGS +# +# TOUCH (optional): pass a file to touch everytime something is +# performed. We also create it if it does not exist (this simplifies +# external use) +ifneq ($(TOUCH),) +_ != $(shell [ -f "$(TOUCH)" ] || touch $(TOUCH)) +endif + +maybe_touch=$(if $(TOUCH), touch $(TOUCH)) + +# This is to support both --lax and non --lax clients. +EXTENSION := $(if $(findstring --lax,$(FSTAR_OPTIONS)),.checked.lax,.checked) +MSG := $(if $(findstring --lax,$(FSTAR_OPTIONS)),LAXCHECK,CHECK) + +ifeq ($(CODEGEN),FSharp) +EEXT=fs +else ifeq ($(CODEGEN),krml) +EEXT=krml +else +EEXT=ml +endif + +.PHONY: clean +clean: + rm -rf $(CACHE_DIR) + rm -rf $(OUTPUT_DIR) + +.PHONY: ocaml +ocaml: all-ml + +.PHONY: verify +verify: all-checked + +FSTAR_OPTIONS += $(OTHERFLAGS) +FSTAR_OPTIONS += --odir "$(OUTPUT_DIR)" +FSTAR_OPTIONS += --cache_dir "$(CACHE_DIR)" +FSTAR_OPTIONS += --include "$(SRC)" +FSTAR_OPTIONS += --cache_checked_modules + +ifeq ($(ADMIT),1) +FSTAR_OPTIONS += --admit_smt_queries true +endif + +ifeq ($(OS),Windows_NT) +WINWRAP=$(FSTAR_ROOT)/mk/winwrap.sh +else +WINWRAP= +endif + +FSTAR := $(WINWRAP) $(FSTAR_EXE) $(SIL) $(FSTAR_OPTIONS) + +%$(EXTENSION): FF=$(notdir $(subst $(EXTENSION),,$@)) +%$(EXTENSION): + $(call msg, $(MSG), $(FF)) + $(FSTAR) $(if $(findstring FStarC.,$<),--MLish,) --already_cached ',*' $< + @# HACK: finding FStarC modules and passing --MLish + @# for them and only them. + touch -c $@ # update timestamp even if cache hit + $(maybe_touch) + +%.$(EEXT): FF=$(notdir $(subst $(EXTENSION),,$<)) +%.$(EEXT): MM=$(basename $(FF)) +%.$(EEXT): LBL=$(notdir $@) +# ^ HACK we use notdir to get the module name since we need to pass in +# the fst (not the checked file), but we don't know where it is, so this +# is relying on F* looking in its include path. +%.$(EEXT): + $(call msg, "EXTRACT", $(LBL)) + $(FSTAR) $(if $(findstring FStarC.,$<),--MLish,) $(FF) --already_cached '*,' --codegen $(CODEGEN) --extract_module $(MM) + @# HACK: finding FStarC modules and passing --MLish + @# for them and only them. + $(maybe_touch) + +%.krml: FF=$(notdir $(subst $(EXTENSION),,$<)) +%.krml: MM=$(basename $(FF)) +%.krml: LBL=$(notdir $@) +%.krml: + $(call msg, "EXTRACT", $(LBL)) + $(FSTAR) $(FF) --already_cached ',*' --codegen krml --extract_module $(MM) + +DEPSTEM := $(CACHE_DIR)/.depend$(TAG) + +# We always run this to compute a full list of fst/fsti files in the +# $(SRC) (ignoring the roots, it's a bit conservative). The list is +# saved in $(DEPSTEM).touch.chk, and compared to the one we generated +# before in $(DEPSTEM).touch. If there's a change (or the 'previous') +# does not exist, the timestamp of $(DEPSTEM0.touch will be updated +# triggering an actual dependency run. +.PHONY: .force +$(DEPSTEM).touch: .force + mkdir -p $(dir $@) + find $(SRC) -name '*.fst*' > $@.chk + diff -q $@ $@.chk 2>/dev/null || cp $@.chk $@ + +$(DEPSTEM): $(DEPSTEM).touch + $(call msg, "DEPEND", $(SRC)) + $(FSTAR) --dep full $(ROOTS) $(EXTRACT) $(DEPFLAGS) --output_deps_to $@ + +depend: $(DEPSTEM) +include $(DEPSTEM) + +depgraph: $(DEPSTEM).pdf +$(DEPSTEM).pdf: $(DEPSTEM) .force + $(call msg, "DEPEND GRAPH", $(SRC)) + $(FSTAR) --dep graph $(ROOTS) $(EXTRACT) $(DEPFLAGS) --output_deps_to $(DEPSTEM).graph + $(FSTAR_ROOT)/.scripts/simpl_graph.py $(DEPSTEM).graph > $(DEPSTEM).simpl + dot -Tpdf -o $@ $(DEPSTEM).simpl + echo "Wrote $@" + +all-checked: $(ALL_CHECKED_FILES) + +all-ml: $(ALL_ML_FILES) + @# Remove extraneous .ml files, which can linger after + @# module renamings. The realpath is necessary to prevent + @# discrepancies between absolute and relative paths, double + @# slashes, etc. + rm -vf $(filter-out $(realpath $(ALL_ML_FILES)), $(realpath $(wildcard $(OUTPUT_DIR)/*.ml))) + +all-fs: $(ALL_FS_FILES) + rm -vf $(filter-out $(realpath $(ALL_FS_FILES)), $(realpath $(wildcard $(OUTPUT_DIR)/*.fs))) diff --git a/mk/lib.mk b/mk/lib.mk new file mode 100644 index 00000000000..3e602dc8360 --- /dev/null +++ b/mk/lib.mk @@ -0,0 +1,81 @@ +FSTAR_OPTIONS += --ext context_pruning +FSTAR_OPTIONS += --z3version 4.13.3 + +# Checking a library, make sure to not use the parent lib. +FSTAR_OPTIONS += --no_default_includes +FSTAR_OPTIONS += --include $(SRC) + +EXTRACT_NS := +EXTRACT_NS += -FStar.Buffer +EXTRACT_NS += -FStar.Bytes +EXTRACT_NS += -FStar.Char +EXTRACT_NS += -FStar.CommonST +EXTRACT_NS += -FStar.Constructive +EXTRACT_NS += -FStar.Dyn +EXTRACT_NS += -FStar.Float +EXTRACT_NS += -FStar.Ghost +EXTRACT_NS += -FStar.Heap +EXTRACT_NS += -FStar.Monotonic.Heap +EXTRACT_NS += -FStar.HyperStack.All +EXTRACT_NS += -FStar.HyperStack.ST +EXTRACT_NS += -FStar.HyperStack.IO +EXTRACT_NS += -FStar.Int16 +EXTRACT_NS += -FStar.Int32 +EXTRACT_NS += -FStar.Int64 +EXTRACT_NS += -FStar.Int8 +EXTRACT_NS += -FStar.IO +EXTRACT_NS += -FStar.List +EXTRACT_NS += -FStar.List.Tot.Base +EXTRACT_NS += -FStar.Option +EXTRACT_NS += -FStar.Pervasives.Native +EXTRACT_NS += -FStar.ST +EXTRACT_NS += -FStar.Exn +EXTRACT_NS += -FStar.String +EXTRACT_NS += -FStar.UInt16 +EXTRACT_NS += -FStar.UInt32 +EXTRACT_NS += -FStar.UInt64 +EXTRACT_NS += -FStar.UInt8 +EXTRACT_NS += -FStar.Pointer.Derived1 +EXTRACT_NS += -FStar.Pointer.Derived2 +EXTRACT_NS += -FStar.Pointer.Derived3 +EXTRACT_NS += -FStar.BufferNG +EXTRACT_NS += -FStar.TaggedUnion +EXTRACT_NS += -FStar.Bytes +EXTRACT_NS += -FStar.Util +EXTRACT_NS += -FStar.InteractiveHelpers +EXTRACT_NS += -FStar.Class +EXTRACT_NS += -FStar.Vector.Base +EXTRACT_NS += -FStar.Vector.Properties +EXTRACT_NS += -FStar.Vector +EXTRACT_NS += -FStar.TSet +EXTRACT_NS += -FStar.MSTTotal +EXTRACT_NS += -FStar.MST +EXTRACT_NS += -FStar.NMSTTotal +EXTRACT_NS += -FStar.NMST +EXTRACT_NS += -FStar.Printf +EXTRACT_NS += -FStar.ModifiesGen +EXTRACT_NS += -LowStar.Printf +EXTRACT_NS += -FStar.Sealed +EXTRACT_NS += +FStar.List.Pure.Base +EXTRACT_NS += +FStar.List.Tot.Properties +EXTRACT_NS += +FStar.Int.Cast.Full + +# Note: the pluginlib rules will enable these. +EXTRACT_NS += -FStar.Tactics +EXTRACT_NS += -FStar.Reflection + +EXTRACT := --extract '* $(EXTRACT_NS)' + +# Leaving this empty, F* will scan the include path for all fst/fsti +# files. This will read fstar.include and follow it too. +# ROOTS := +# No! If we do that, we will pick up files from the current directory +# (the root of the repo) since that is implicitly included in F*'s +# search path. So instead, be explicit about scanning over all the files +# in $(SRC) (i.e. ulib). Note that there is a still a problem if there is a +# file in the cwd named like a file in ulib/, F* may prefer the former. +# +# Update: generic.mk will now complain too. +ROOTS := $(shell find $(SRC) -name '*.fst' -o -name '*.fsti') + +include mk/generic.mk diff --git a/mk/plugins.mk b/mk/plugins.mk new file mode 100644 index 00000000000..9fb7f6bc046 --- /dev/null +++ b/mk/plugins.mk @@ -0,0 +1,75 @@ +FSTAR_OPTIONS += --lax +FSTAR_OPTIONS += --no_default_includes +FSTAR_OPTIONS += --include $(SRC) + +# FIXME: Maintaining this list sucks. Could **the module** itself specify whether it is +# noextract? Or maybe if we find an aptly-named .ml file then we auto skip? +EXTRACT := +EXTRACT += --extract ',*' # keep the comma (https://github.com/FStarLang/FStar/pull/3640) +EXTRACT += --extract -Prims +EXTRACT += --extract -FStar.Pervasives.Native +EXTRACT += --extract -FStar.All +EXTRACT += --extract -FStar.Ghost +EXTRACT += --extract -FStar.Heap +EXTRACT += --extract -FStar.Bytes +EXTRACT += --extract -FStar.Char +EXTRACT += --extract -FStar.Exn +EXTRACT += --extract -FStar.Float +EXTRACT += --extract -FStar.Int16 +EXTRACT += --extract -FStar.Int32 +EXTRACT += --extract -FStar.Int64 +EXTRACT += --extract -FStar.Int8 +EXTRACT += --extract +FStar.Int.Cast.Full +EXTRACT += --extract -FStar.List +EXTRACT += --extract +FStar.List.Pure.Base +EXTRACT += --extract +FStar.List.Tot.Properties +EXTRACT += --extract -FStar.Monotonic.Heap +EXTRACT += --extract -FStar.HyperStack.ST +EXTRACT += --extract -FStar.Option +EXTRACT += --extract -FStar.Printf +EXTRACT += --extract -FStar.Range +EXTRACT += --extract -FStar.ST +EXTRACT += --extract -FStar.String +EXTRACT += --extract -FStar.TSet +EXTRACT += --extract -FStar.UInt16 +EXTRACT += --extract -FStar.UInt32 +EXTRACT += --extract -FStar.UInt64 +EXTRACT += --extract -FStar.UInt8 +EXTRACT += --extract -FStar.Util + +# EXTRACT += --extract -FStar.BitVector +# EXTRACT += --extract -FStar.Calc + +# -------------------------------------------------------------------- +# Dependency analysis for bootstrapping +# -------------------------------------------------------------------- + +# List here the files that define plugins in the library, +# so we make sure to also extract them and link them into F*. +ROOTS := +ROOTS += ../ulib/FStar.Tactics.Effect.fsti +ROOTS += ../ulib/FStar.Order.fst +ROOTS += ../ulib/FStar.Reflection.TermEq.fsti +ROOTS += ../ulib/FStar.Reflection.TermEq.Simple.fsti +ROOTS += ../ulib/FStar.Reflection.V2.Compare.fsti +ROOTS += ../ulib/FStar.Reflection.V2.Formula.fst +ROOTS += ../ulib/FStar.Tactics.BV.fsti +ROOTS += ../ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst +ROOTS += ../ulib/FStar.Tactics.Canon.fst +ROOTS += ../ulib/FStar.Tactics.Canon.fsti +ROOTS += ../ulib/FStar.Tactics.CheckLN.fsti +ROOTS += ../ulib/FStar.Tactics.MApply0.fsti +ROOTS += ../ulib/FStar.Tactics.MkProjectors.fsti +ROOTS += ../ulib/FStar.Tactics.NamedView.fsti +ROOTS += ../ulib/FStar.Tactics.Names.fsti +ROOTS += ../ulib/FStar.Tactics.Parametricity.fsti +ROOTS += ../ulib/FStar.Tactics.Print.fsti +ROOTS += ../ulib/FStar.Tactics.SMT.fsti +ROOTS += ../ulib/FStar.Tactics.Typeclasses.fsti +ROOTS += ../ulib/FStar.Tactics.TypeRepr.fsti +ROOTS += ../ulib/FStar.Tactics.V1.Logic.fsti +ROOTS += ../ulib/FStar.Tactics.V2.Logic.fsti +ROOTS += ../ulib/FStar.Tactics.V2.SyntaxHelpers.fst +ROOTS += ../ulib/FStar.Tactics.Visit.fst + +include mk/generic.mk diff --git a/mk/src_package_mk.mk b/mk/src_package_mk.mk new file mode 100644 index 00000000000..260a3467d7e --- /dev/null +++ b/mk/src_package_mk.mk @@ -0,0 +1,120 @@ +# This makefile is for OCaml source distributions. +# +# Also note: this Makefile should run in Windows too. Some of the $(call +# cygpath, ..) below are in support of this. Example windows error: +# +# ... +# dune install --root=dune --prefix=/cygdrive/d/a/FStar/FStar/fstar/out +# env \ +# SRC=ulib/ \ +# FSTAR_EXE=out/bin/fstar.exe \ +# CACHE_DIR=ulib.checked \ +# TAG=lib \ +# CODEGEN=none \ +# OUTPUT_DIR=none \ +# make -f mk/lib.mk verify +# mk/lib.mk:3: *** FSTAR_EXE ("out/bin/fstar.exe") does not exist (cwd = /cygdrive/d/a/FStar/FStar/fstar). Stop. +# ... +# +# I think this is probably a dune bug. + +include mk/common.mk + +FSTAR_DUNE_OPTIONS += --no-print-directory +FSTAR_DUNE_OPTIONS += --display=quiet + +FSTAR_DUNE_BUILD_OPTIONS := $(FSTAR_DUNE_OPTIONS) +.DEFAULT_GOAL:= all + +.PHONY: .force +.force: + +# In some places, we need to compute absolute paths, and in a Cygwin +# enviroment we need Windows-style paths (forward slashes ok, but no +# /cygdrive/). +ifeq ($(OS),Windows_NT) +cygpath=$(shell cygpath -m "$(abspath $(1))") +else +cygpath=$(abspath "$(1)") +endif + +build: + $(call msg, "DUNE BUILD") + dune build --root=dune $(FSTAR_DUNE_BUILD_OPTIONS) + +install_bin: build + $(call msg, "DUNE INSTALL") + dune install --root=dune --prefix=$(call cygpath,out) + +check_lib: install_bin + $(call msg, "CHECK LIB") + env \ + SRC=ulib/ \ + FSTAR_EXE=$(call cygpath,out/bin/fstar.exe) \ + CACHE_DIR=ulib.checked \ + TAG=lib \ + CODEGEN=none \ + OUTPUT_DIR=none \ + FSTAR_ROOT=$(CURDIR) \ + $(MAKE) -f mk/lib.mk verify + +install_lib: check_lib + $(call msg, "INSTALL LIB") + @# Install library and its checked files + cp -T -H -p -r ulib out/lib/fstar/ulib + cp -T -H -p -r ulib.checked out/lib/fstar/ulib.checked + echo 'ulib' > out/lib/fstar/fstar.include + echo 'ulib.checked' >> out/lib/fstar/fstar.include + +check_fstarc: install_bin + $(call msg, "CHECK FSTARC") + env \ + SRC=src/ \ + FSTAR_EXE=$(call cygpath,out/bin/fstar.exe) \ + CACHE_DIR=fstarc.checked/ \ + CODEGEN=None \ + OUTPUT_DIR=None \ + TAG=fstarc \ + FSTAR_LIB=$(call cygpath,ulib) \ + FSTAR_ROOT=$(CURDIR) \ + $(MAKE) -f mk/fstar-12.mk verify + $(call msg, "DONE CHECK FSTARC") + +install_fstarc: check_fstarc + $(call msg, "INSTALL FSTARC") + @# Install checked files for FStarC + mkdir -p out/lib/fstar/fstarc/ + cp -T -H -p -r src out/lib/fstar/fstarc/src + cp -T -H -p -r fstarc.checked out/lib/fstar/fstarc/src.checked + echo 'src' > out/lib/fstar/fstarc/fstar.include + echo 'src.checked' >> out/lib/fstar/fstarc/fstar.include + +trim: .force + $(call msg, "DUNE CLEAN") + dune clean $(FSTAR_DUNE_OPTIONS) --root=dune + +clean: trim + rm -rf $(CURDIR)/out + rm -rf ulib.checked + rm -rf fstarc.checked + +all: install_lib install_fstarc + +install_fstarc: install_lib +# ^ The windows build in Github actions seems to sporadically +# hang for over an hour, but sometimes works fine. I suspect +# some kind of stupid race, so sequentialize these two install +# phases. + +# Needed for 'opam install' +PREFIX ?= /usr/local +install: install_lib install_fstarc + mkdir -p $(PREFIX) + cp -r out/* $(PREFIX) + +package: + rm -rf pkgtmp + mkdir -p pkgtmp + $(MAKE) install PREFIX=pkgtmp/fstar + .scripts/bin-install.sh pkgtmp/fstar + .scripts/mk-package.sh pkgtmp fstar$(FSTAR_TAG) diff --git a/mk/stage.mk b/mk/stage.mk new file mode 100644 index 00000000000..69bda327317 --- /dev/null +++ b/mk/stage.mk @@ -0,0 +1,87 @@ +FSTAR_ROOT ?= .. +include $(FSTAR_ROOT)/mk/common.mk + +ifeq ($(V),) +FSTAR_DUNE_OPTIONS += --no-print-directory +FSTAR_DUNE_OPTIONS += --display=quiet +endif + +FSTAR_DUNE_BUILD_OPTIONS := $(FSTAR_DUNE_OPTIONS) +ifeq ($(FSTAR_DUNE_RELEASE),1) +FSTAR_DUNE_BUILD_OPTIONS += --release +endif + +.PHONY: _force +_force: + +# There can only be one dune instance running in a given project, but we +# could be asked to build several targets at once. So, wrap dune calls +# with flock, if we have it. +ifneq ($(shell which flock),) +LOCKFILE=$(CURDIR)/.fstarlock +DUNE=flock $(LOCKFILE) dune +else +# If flock is not around, at the very least disable parallelism within +# this Makefile, but external calls from the top-level Makefile could +# still pose a problem. +.NOTPARALLEL: +DUNE=dune +endif + +fstarc-bare: _force + cd dune && $(DUNE) build $(FSTAR_DUNE_BUILD_OPTIONS) fstarc-bare + +fstarc-full: _force + cd dune && $(DUNE) build $(FSTAR_DUNE_BUILD_OPTIONS) fstarc-full + +libapp: _force + cd dune && $(DUNE) build $(FSTAR_DUNE_BUILD_OPTIONS) libapp + +libplugin: _force + cd dune && $(DUNE) build $(FSTAR_DUNE_BUILD_OPTIONS) libplugin + +clean: _force + dune clean $(FSTAR_DUNE_OPTIONS) --root=dune + rm -rf out + +# In a local build, we prefer to symlink the library and checked file +# directories to get better IDE integration, but of course we cannot do +# that on actual install, and must copy all files. Note: this flag is +# also only set by the parent Makefile on Lonux, since Mac's ln does not +# support the same options. +ifeq ($(FSTAR_LINK_LIBDIRS),1) +INSTALL_DIR := ln -Tsrf +else +INSTALL_DIR := cp -H -p -r +endif + +# NOTE: We install ulib/ and src/ as symlinks, which is useful for +# local installs so VS Code can properly jump between these files, +# and we also avoid unnecessary copies. When building packages, we use +# tar's -h to follow and eliminate all these links. +install: PREFIX ?= $(CURDIR)/out +install: # NOTE: no deps, dune figures it out and rebuilds if needed + @# We check for absolute so there's no confusion between the makefiles + @# that call each other. Do NOT just use $(abspath ..) here. Also not use + @# bashisms or 'expr' (does not work in macos) + if ! echo '$(PREFIX)' | grep -q '^/' ; then echo "PREFIX (= $(PREFIX)) must be absolute">&2; false; fi + @# Seems to need one final build? + cd dune && $(DUNE) build $(FSTAR_DUNE_BUILD_OPTIONS) + cd dune && $(DUNE) install $(FSTAR_DUNE_OPTIONS) --prefix=$(PREFIX) + @# Install library and its checked files + $(INSTALL_DIR) ulib $(PREFIX)/lib/fstar/ulib + $(INSTALL_DIR) ulib.checked $(PREFIX)/lib/fstar/ulib.checked + echo 'ulib' > $(PREFIX)/lib/fstar/fstar.include + echo 'ulib.checked' >> $(PREFIX)/lib/fstar/fstar.include + @# Install checked files for FStarC + mkdir -p $(PREFIX)/lib/fstar/fstarc/ + $(INSTALL_DIR) $(FSTAR_ROOT)/src $(PREFIX)/lib/fstar/fstarc/src + $(INSTALL_DIR) fstarc.checked $(PREFIX)/lib/fstar/fstarc/src.checked + echo 'src' > $(PREFIX)/lib/fstar/fstarc/fstar.include + echo 'src.checked' >> $(PREFIX)/lib/fstar/fstarc/fstar.include + @# If we're not linking, remove the VS code configs, they have paths + @# into the repo. +ifneq ($(FSTAR_LINK_LIBDIRS),1) + rm -f $(PREFIX)/lib/fstar/ulib/*.fst.config.json + rm -f $(PREFIX)/lib/fstar/fstarc/src/*.fst.config.json +endif diff --git a/mk/stage0.mk b/mk/stage0.mk new file mode 100644 index 00000000000..ea9e676f35f --- /dev/null +++ b/mk/stage0.mk @@ -0,0 +1,25 @@ +# This file is used (or created) by the bring-stage0 rule in the toplevel Makefile + +include $(FSTAR_ROOT)/mk/common.mk + +.PHONY: force +_force: + +FSTAR_DUNE_BUILD_OPTIONS += --no-print-directory +FSTAR_DUNE_BUILD_OPTIONS += --display=quiet + +.DEFAULT_GOAL := fstar + +.PHONY: fstar +fstar: + @echo " DUNE BUILD" + $(Q)dune build $(FSTAR_DUNE_BUILD_OPTIONS) + @echo " DUNE INSTALL" + $(Q)dune install --prefix=. + +.PHONY: clean +clean: + dune clean + +trim: _force + dune clean $(FSTAR_DUNE_OPTIONS) diff --git a/mk/test.mk b/mk/test.mk index a3ceaab9dee..17298791dd5 100644 --- a/mk/test.mk +++ b/mk/test.mk @@ -23,15 +23,14 @@ include $(FSTAR_ROOT)/mk/common.mk .DEFAULT_GOAL := all # Set a default FSTAR_EXE for most clients. -FSTAR_EXE ?= $(FSTAR_ROOT)/bin/fstar.exe +FSTAR_EXE ?= $(FSTAR_ROOT)/out/bin/fstar.exe FSTAR_EXE := $(abspath $(FSTAR_EXE)) export FSTAR_EXE -HINTS_ENABLED?=--use_hints - # This warning is really useless. OTHERFLAGS += --warn_error -321 OTHERFLAGS += --ext context_pruning +OTHERFLAGS += --z3version 4.13.3 # Set ADMIT=1 to admit queries ADMIT ?= @@ -45,11 +44,11 @@ OUTPUT_DIR ?= _output CACHE_DIR ?= _cache FSTAR = $(FSTAR_EXE) $(SIL) \ - --cache_checked_modules \ + $(if $(NO_WRITE_CHECKED),,--cache_checked_modules) \ --odir $(OUTPUT_DIR) \ --cache_dir $(CACHE_DIR) \ - --already_cached Prims,FStar \ - $(OTHERFLAGS) $(MAYBE_ADMIT) $(HINTS_ENABLED) + --already_cached Prims,FStar,LowStar \ + $(OTHERFLAGS) $(MAYBE_ADMIT) ifneq ($(MAKECMDGOALS),clean) ifeq ($(NODEPEND),) # Set NODEPEND=1 to not dependency analysis @@ -78,18 +77,22 @@ endif $(FSTAR) $< touch -c $@ +$(OUTPUT_DIR)/%.fst.output: NO_WRITE_CHECKED=1 $(OUTPUT_DIR)/%.fst.output: %.fst $(call msg, "OUTPUT", $(basename $(notdir $@))) $(FSTAR) --message_format human -f --print_expected_failures $< >$@ 2>&1 +$(OUTPUT_DIR)/%.fsti.output: NO_WRITE_CHECKED=1 $(OUTPUT_DIR)/%.fsti.output: %.fsti $(call msg, "OUTPUT", $(basename $(notdir $@))) $(FSTAR) --message_format human -f --print_expected_failures $< >$@ 2>&1 +$(OUTPUT_DIR)/%.fst.json_output: NO_WRITE_CHECKED=1 $(OUTPUT_DIR)/%.fst.json_output: %.fst $(call msg, "JSONOUT", $(basename $(notdir $@))) $(FSTAR) --message_format json -f --print_expected_failures $< >$@ 2>&1 +$(OUTPUT_DIR)/%.fsti.json_output: NO_WRITE_CHECKED=1 $(OUTPUT_DIR)/%.fsti.json_output: %.fsti $(call msg, "JSONOUT", $(basename $(notdir $@))) $(FSTAR) --message_format json -f --print_expected_failures $< >$@ 2>&1 @@ -114,7 +117,7 @@ $(OUTPUT_DIR)/%.out: $(OUTPUT_DIR)/%.exe ### Checking expected output for any kind of file (error output, ml, etc) $(OUTPUT_DIR)/%.diff: $(OUTPUT_DIR)/% %.expected $(call msg, "DIFF", $<) - diff -u --strip-trailing-cr $^ + $(FSTAR_ROOT)/mk/diff.sh $^ touch $@ $(OUTPUT_DIR)/%.accept: $(OUTPUT_DIR)/% @@ -151,6 +154,15 @@ ifeq ($(NOVERIFY),) all: __verify endif +HAS_OCAML ?= 1 +# We assume we have ocaml, unless HAS_OCAML= was given as an argument +# to make (this is done by binary package CI). If we don't have ocaml, +# we don't try to build or run programs. +ifeq (,$(HAS_OCAML)) +NORUN := 1 +NOBUILD := 1 +endif + # clean SUBDIRS_CLEAN += $(SUBDIRS) clean: $(addsuffix .__clean, $(SUBDIRS_CLEAN)) diff --git a/mk/winwrap.sh b/mk/winwrap.sh new file mode 100755 index 00000000000..2c493b61a42 --- /dev/null +++ b/mk/winwrap.sh @@ -0,0 +1,20 @@ +#!/bin/bash + +# Running ./winwrap.sh cmd args will make replace any cygwin paths in +# the args before calling cmd. E.g. /cygdrive/c/foo/bar -> c:/foo/bar +# +# If none of the arguments are of that shape, this script should be +# fully transparent, passing arguments to $cmd in exactly the same shape +# even if they contain spaces, etc. + +cmd=$1 +shift + +args=() + +for arg; do + arg=$(echo "$arg" | sed 's,^/cygdrive/\(.\)/,\1:/,') + args+=("$arg") +done + +exec $cmd "${args[@]}" diff --git a/ocaml/.gitignore b/ocaml/.gitignore deleted file mode 100644 index 9e6e65c9f82..00000000000 --- a/ocaml/.gitignore +++ /dev/null @@ -1,2 +0,0 @@ -# copied from the root -version.txt diff --git a/ocaml/dune b/ocaml/dune deleted file mode 100644 index 9b39f53a9d0..00000000000 --- a/ocaml/dune +++ /dev/null @@ -1,4 +0,0 @@ -(env - (_ - (flags (:standard -w -A)) - (bin_annot false))) diff --git a/ocaml/fstar-lib/FStarC_Getopt.ml b/ocaml/fstar-lib/FStarC_Getopt.ml deleted file mode 100644 index a60d8bdd054..00000000000 --- a/ocaml/fstar-lib/FStarC_Getopt.ml +++ /dev/null @@ -1,108 +0,0 @@ -let noshort = 0 -type 'a opt_variant = - | ZeroArgs of (unit -> 'a) - | OneArg of (string -> 'a) * string -type 'a opt' = FStar_Char.char * string * 'a opt_variant -type opt = unit opt' -type parse_cmdline_res = - | Empty - | Help - | Error of string - | Success - -let bind l f = - match l with - | Help - | Error _ -> l - | Success -> f () - (* | Empty *) - (* ^ Empty does not occur internally. *) - -(* Returns None if this wasn't an option arg (did not start with "-") - * Otherwise, returns Some (o, s) where [s] is the trimmed option, and [o] - * is the opt we found in specs (possibly None if not present, which should - * trigger an error) *) -let find_matching_opt specs s : (opt option * string) option = - if String.length s < 2 then - None - else if String.sub s 0 2 = "--" then - (* long opts *) - let strim = String.sub s 2 ((String.length s) - 2) in - let o = FStar_List.tryFind (fun (_, option, _) -> option = strim) specs in - Some (o, strim) - else if String.sub s 0 1 = "-" then - (* short opts *) - let strim = String.sub s 1 ((String.length s) - 1) in - let o = FStar_List.tryFind (fun (shortoption, _, _) -> FStar_String.make Z.one shortoption = strim) specs in - Some (o, strim) - else - None - -(* remark: doesn't work with files starting with -- *) -let rec parse (opts:opt list) def ar ix max i : parse_cmdline_res = - if ix > max then Success - else - let arg = ar.(ix) in - let go_on () = bind (def arg) (fun _ -> parse opts def ar (ix + 1) max (i + 1)) in - match find_matching_opt opts arg with - | None -> go_on () - | Some (None, _) -> Error ("unrecognized option '" ^ arg ^ "'\n") - | Some (Some (_, _, p), argtrim) -> - begin match p with - | ZeroArgs f -> f (); parse opts def ar (ix + 1) max (i + 1) - | OneArg (f, _) -> - if ix + 1 > max - then Error ("last option '" ^ argtrim ^ "' takes an argument but has none\n") - else - let r = - try (f (ar.(ix + 1)); Success) - with _ -> Error ("wrong argument given to option `" ^ argtrim ^ "`\n") - in bind r (fun () -> parse opts def ar (ix + 2) max (i + 1)) - end - -let parse_array specs others args offset = - parse specs others args offset (Array.length args - 1) 0 - -let parse_cmdline specs others = - if Array.length Sys.argv = 1 then Empty - else parse_array specs others Sys.argv 1 - -let parse_string specs others (str:string) = - let split_spaces (str:string) = - let seps = [int_of_char ' '; int_of_char '\t'] in - FStar_List.filter (fun s -> s != "") (FStar_String.split seps str) - in - (* to match the style of the F# code in FStar.GetOpt.fs *) - let index_of str c = - try - String.index str c - with Not_found -> -1 - in - let substring_from s j = - let len = String.length s - j in - String.sub s j len - in - let rec split_quoted_fragments (str:string) = - let i = index_of str '\'' in - if i < 0 then Some (split_spaces str) - else let prefix = String.sub str 0 i in - let suffix = substring_from str (i + 1) in - let j = index_of suffix '\'' in - if j < 0 then None - else let quoted_frag = String.sub suffix 0 j in - let rest = split_quoted_fragments (substring_from suffix (j + 1)) in - match rest with - | None -> None - | Some rest -> Some (split_spaces prefix @ quoted_frag::rest) - - in - match split_quoted_fragments str with - | None -> Error("Failed to parse options; unmatched quote \"'\"") - | Some args -> - parse_array specs others (Array.of_list args) 0 - -let parse_list specs others lst = - parse_array specs others (Array.of_list lst) 0 - -let cmdline () = - Array.to_list (Sys.argv) diff --git a/ocaml/fstar-lib/FStarC_Parser_LexFStar.ml b/ocaml/fstar-lib/FStarC_Parser_LexFStar.ml deleted file mode 100644 index e4ef505d01f..00000000000 --- a/ocaml/fstar-lib/FStarC_Parser_LexFStar.ml +++ /dev/null @@ -1,717 +0,0 @@ -open FStarC_Parser_Parse -open FStarC_Parser_Util - -module Option = BatOption -module String = BatString -module Hashtbl = BatHashtbl -module Sedlexing = FStarC_Sedlexing -module L = Sedlexing -module E = FStarC_Errors -module Codes = FStarC_Errors_Codes - -let ba_of_string s = Array.init (String.length s) (fun i -> Char.code (String.get s i)) -let array_trim_both a n m = Array.sub a n (Array.length a - n - m) -let string_trim_both s n m = BatString.sub s n (String.length s - (n+m)) -let trim_both lexbuf n m = string_trim_both (L.lexeme lexbuf) n m -let utrim_both lexbuf n m = array_trim_both (L.ulexeme lexbuf) n m -let trim_right lexbuf n = trim_both lexbuf 0 n -let trim_left lexbuf n = trim_both lexbuf n 0 - -let unescape (a:int array) : int = - match a.(0) with - | 92 (* \ *) -> - (match a.(1) with - | 48 (*0*) -> 0 - | 98 (*b*) -> 8 - | 116 (*t*) -> 9 - | 110 (*n*) -> 10 - | 118 (*v*) -> 11 - | 102 (*f*) -> 12 - | 114 (*r*) -> 13 - | 117 (*u*) -> - let s = FStarC_Parser_Utf8.from_int_array a 2 4 in - int_of_string ("0x"^s) - | 120 (*x*) -> - let s = FStarC_Parser_Utf8.from_int_array a 2 2 in - int_of_string ("0x"^s) - | c -> c) - | c -> c - -let keywords = Hashtbl.create 0 -let constructors = Hashtbl.create 0 -let operators = Hashtbl.create 0 - -let () = - Hashtbl.add keywords "attributes" ATTRIBUTES ; - Hashtbl.add keywords "noeq" NOEQUALITY ; - Hashtbl.add keywords "unopteq" UNOPTEQUALITY ; - Hashtbl.add keywords "and" AND ; - Hashtbl.add keywords "assert" ASSERT ; - Hashtbl.add keywords "assume" ASSUME ; - Hashtbl.add keywords "begin" BEGIN ; - Hashtbl.add keywords "by" BY ; - Hashtbl.add keywords "calc" CALC ; - Hashtbl.add keywords "class" CLASS ; - Hashtbl.add keywords "default" DEFAULT ; - Hashtbl.add keywords "decreases" DECREASES ; - Hashtbl.add keywords "effect" EFFECT ; - Hashtbl.add keywords "eliminate" ELIM; - Hashtbl.add keywords "else" ELSE ; - Hashtbl.add keywords "end" END ; - Hashtbl.add keywords "ensures" ENSURES ; - Hashtbl.add keywords "exception" EXCEPTION ; - Hashtbl.add keywords "exists" (EXISTS false); - Hashtbl.add keywords "false" FALSE ; - Hashtbl.add keywords "friend" FRIEND ; - Hashtbl.add keywords "forall" (FORALL false); - Hashtbl.add keywords "fun" FUN ; - Hashtbl.add keywords "λ" FUN ; - Hashtbl.add keywords "function" FUNCTION ; - Hashtbl.add keywords "if" IF ; - Hashtbl.add keywords "in" IN ; - Hashtbl.add keywords "include" INCLUDE ; - Hashtbl.add keywords "inline" INLINE ; - Hashtbl.add keywords "inline_for_extraction" INLINE_FOR_EXTRACTION ; - Hashtbl.add keywords "instance" INSTANCE ; - Hashtbl.add keywords "introduce" INTRO ; - Hashtbl.add keywords "irreducible" IRREDUCIBLE ; - Hashtbl.add keywords "let" (LET false) ; - Hashtbl.add keywords "logic" LOGIC ; - Hashtbl.add keywords "match" MATCH ; - Hashtbl.add keywords "returns" RETURNS ; - Hashtbl.add keywords "as" AS ; - Hashtbl.add keywords "module" MODULE ; - Hashtbl.add keywords "new" NEW ; - Hashtbl.add keywords "new_effect" NEW_EFFECT ; - Hashtbl.add keywords "layered_effect" LAYERED_EFFECT ; - Hashtbl.add keywords "polymonadic_bind" POLYMONADIC_BIND ; - Hashtbl.add keywords "polymonadic_subcomp" POLYMONADIC_SUBCOMP ; - Hashtbl.add keywords "noextract" NOEXTRACT ; - Hashtbl.add keywords "of" OF ; - Hashtbl.add keywords "open" OPEN ; - Hashtbl.add keywords "opaque" OPAQUE ; - Hashtbl.add keywords "private" PRIVATE ; - Hashtbl.add keywords "quote" QUOTE ; - Hashtbl.add keywords "range_of" RANGE_OF ; - Hashtbl.add keywords "rec" REC ; - Hashtbl.add keywords "reifiable" REIFIABLE ; - Hashtbl.add keywords "reify" REIFY ; - Hashtbl.add keywords "reflectable" REFLECTABLE ; - Hashtbl.add keywords "requires" REQUIRES ; - Hashtbl.add keywords "set_range_of" SET_RANGE_OF; - Hashtbl.add keywords "sub_effect" SUB_EFFECT ; - Hashtbl.add keywords "synth" SYNTH ; - Hashtbl.add keywords "then" THEN ; - Hashtbl.add keywords "total" TOTAL ; - Hashtbl.add keywords "true" TRUE ; - Hashtbl.add keywords "try" TRY ; - Hashtbl.add keywords "type" TYPE ; - Hashtbl.add keywords "unfold" UNFOLD ; - Hashtbl.add keywords "unfoldable" UNFOLDABLE ; - Hashtbl.add keywords "val" VAL ; - Hashtbl.add keywords "when" WHEN ; - Hashtbl.add keywords "with" WITH ; - Hashtbl.add keywords "_" UNDERSCORE ; - Hashtbl.add keywords "α" (TVAR "a") ; - Hashtbl.add keywords "β" (TVAR "b") ; - Hashtbl.add keywords "γ" (TVAR "c") ; - Hashtbl.add keywords "δ" (TVAR "d") ; - Hashtbl.add keywords "ε" (TVAR "e") ; - Hashtbl.add keywords "φ" (TVAR "f") ; - Hashtbl.add keywords "χ" (TVAR "g") ; - Hashtbl.add keywords "η" (TVAR "h") ; - Hashtbl.add keywords "ι" (TVAR "i") ; - Hashtbl.add keywords "κ" (TVAR "k") ; - Hashtbl.add keywords "μ" (TVAR "m") ; - Hashtbl.add keywords "ν" (TVAR "n") ; - Hashtbl.add keywords "Ï€" (TVAR "p") ; - Hashtbl.add keywords "θ" (TVAR "q") ; - Hashtbl.add keywords "Ï" (TVAR "r") ; - Hashtbl.add keywords "σ" (TVAR "s") ; - Hashtbl.add keywords "Ï„" (TVAR "t") ; - Hashtbl.add keywords "ψ" (TVAR "u") ; - Hashtbl.add keywords "ω" (TVAR "w") ; - Hashtbl.add keywords "ξ" (TVAR "x") ; - Hashtbl.add keywords "ζ" (TVAR "z") ; - Hashtbl.add constructors "â„•" (IDENT "nat"); - Hashtbl.add constructors "ℤ" (IDENT "int"); - Hashtbl.add constructors "ð”¹" (IDENT "bool"); - let l = - ["~", TILDE "~"; - "-", MINUS; - "/\\", CONJUNCTION; - "\\/", DISJUNCTION; - "<:", SUBTYPE; - "$:", EQUALTYPE; - "<@", SUBKIND; - "(|", LENS_PAREN_LEFT; - "|)", LENS_PAREN_RIGHT; - "#", HASH; - "u#", UNIV_HASH; - "&", AMP; - "()", LPAREN_RPAREN; - "(", LPAREN; - ")", RPAREN; - ",", COMMA; - "~>", SQUIGGLY_RARROW; - "->", RARROW; - "<--", LONG_LEFT_ARROW; - "<-", LARROW; - "<==>", IFF; - "==>", IMPLIES; - ".", DOT; - "?.", QMARK_DOT; - "?", QMARK; - ".[", DOT_LBRACK; - ".(|", DOT_LENS_PAREN_LEFT; - ".(", DOT_LPAREN; - ".[|", DOT_LBRACK_BAR; - "{:pattern", LBRACE_COLON_PATTERN; - "{:well-founded", LBRACE_COLON_WELL_FOUNDED; - "returns$", RETURNS_EQ; - ":", COLON; - "::", COLON_COLON; - ":=", COLON_EQUALS; - ";", SEMICOLON; - "=", EQUALS; - "%[", PERCENT_LBRACK; - "!{", BANG_LBRACE; - "[@@@", LBRACK_AT_AT_AT; - "[@@", LBRACK_AT_AT; - "[@", LBRACK_AT; - "[", LBRACK; - "[|", LBRACK_BAR; - "{|", LBRACE_BAR; - "|>", PIPE_RIGHT; - "]", RBRACK; - "|]", BAR_RBRACK; - "|}", BAR_RBRACE; - "{", LBRACE; - "|", BAR; - "}", RBRACE; - "$", DOLLAR; - (* New Unicode equivalents *) - "∀", (FORALL false); - "∃", (EXISTS false); - "⊤", NAME "True"; - "⊥", NAME "False"; - "⟹", IMPLIES; - "⟺", IFF; - "→", RARROW; - "â†", LARROW; - "⟵", LONG_LEFT_ARROW; - "â†", SQUIGGLY_RARROW; - "≔", COLON_EQUALS; - "∧", CONJUNCTION; - "∨", DISJUNCTION; - "¬", TILDE "~"; - "⸬", COLON_COLON; - "â–¹", PIPE_RIGHT; - "÷", OPINFIX3 "÷"; - "‖", OPINFIX0a "||"; - "×", IDENT "op_Multiply"; - "∗", OPINFIX3 "*"; - "⇒", OPINFIX0c "=>"; - "≥", OPINFIX0c ">="; - "≤", OPINFIX0c "<="; - "≠", OPINFIX0c "<>"; - "≪", OPINFIX0c "<<"; - "â—ƒ", OPINFIX0c "<|"; - "±", OPPREFIX "±"; - "âˆ", OPPREFIX "âˆ"; - "∂", OPPREFIX "∂"; - "√", OPPREFIX "√"; - ] in - List.iter (fun (k,v) -> Hashtbl.add operators k v) l - -let current_range lexbuf = - FStarC_Parser_Util.mksyn_range (fst (L.range lexbuf)) (snd (L.range lexbuf)) - -let fail lexbuf (e, msg) = - let m = current_range lexbuf in - E.raise_error_text m e msg - -type delimiters = { angle:int ref; paren:int ref; } -let n_typ_apps = ref 0 - -let is_typ_app_gt () = - if !n_typ_apps > 0 - then (decr n_typ_apps; true) - else false - -let rec mknewline n lexbuf = - if n = 0 then () - else (L.new_line lexbuf; mknewline (n-1) lexbuf) - -let clean_number x = String.strip ~chars:"uzyslLUnIN" x - -(* Try to trim each line of [comment] by the ammount of space - on the first line of the comment if possible *) -(* TODO : apply this to FSDOC too *) -let maybe_trim_lines start_column comment = - if start_column = 0 then comment - else - let comment_lines = String.split_on_char '\n' comment in - let ensures_empty_prefix k s = - let j = min k (String.length s - 1) in - let rec aux i = if i > j then k else if s.[i] <> ' ' then i else aux (i+1) in - aux 0 in - let trim_width = List.fold_left ensures_empty_prefix start_column comment_lines in - String.concat "\n" (List.map (fun s -> String.tail s trim_width) comment_lines) - -let comment_buffer = Buffer.create 128 -let blob_buffer = Buffer.create 128 -let use_lang_buffer = Buffer.create 128 - -let start_comment lexbuf = - Buffer.add_string comment_buffer "(*" ; - (false, comment_buffer, fst (L.range lexbuf)) - -let terminate_comment buffer startpos lexbuf = - let endpos = snd (L.range lexbuf) in - Buffer.add_string buffer "*)" ; - let comment = Buffer.contents buffer in - let comment = maybe_trim_lines (startpos.Lexing.pos_cnum - startpos.Lexing.pos_bol) comment in - Buffer.clear buffer; - add_comment (comment, FStarC_Parser_Util.mksyn_range startpos endpos) - -let push_one_line_comment pre lexbuf = - let startpos, endpos = L.range lexbuf in - assert (startpos.Lexing.pos_lnum = endpos.Lexing.pos_lnum); - add_comment (pre ^ L.lexeme lexbuf, FStarC_Parser_Util.mksyn_range startpos endpos) - -(** Unicode class definitions - Auto-generated from http:/ /www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt **) -(** Ll **) -let u_lower = [%sedlex.regexp? ll] -(** Lu *) -let u_upper = [%sedlex.regexp? lu] -(** Lo *) -let u_other = [%sedlex.regexp? lo] -(** Lm *) -let u_modifier = [%sedlex.regexp? lm] -(** Lt *) -let u_title = [%sedlex.regexp? lt] -(** Zs *) -let u_space = [%sedlex.regexp? zs] -(** These are not unicode spaces but we accept as whitespace in F* source (e.g. tab and BOM) *) -let u_space_extra = [%sedlex.regexp? '\t' | '\x0B' | '\x0C' | '\xA0' | 0xfeff] -(** Zl and Zp *) -let u_line_sep = [%sedlex.regexp? zl] -let u_par_sep = [%sedlex.regexp? zp] -(** Sm math symbols *) -let u_math = [%sedlex.regexp? sm] -let u_math_ascii = [%sedlex.regexp? 0x002b | 0x003c .. 0x003e | 0x007c | 0x007e] -let u_math_nonascii = [%sedlex.regexp? Sub(u_math, u_math_ascii)] -(** Sc currency *) -let u_currency = [%sedlex.regexp? sc] -(** Sk *) -let u_modifier_symbol = [%sedlex.regexp? sk] -(** So *) -let u_other_symbol = [%sedlex.regexp? so] -(** Nd *) -let u_decimal_digit = [%sedlex.regexp? nd] -(** Nl *) -let u_digit_letter = [%sedlex.regexp? nl] -(** No *) -let u_other_digit = [%sedlex.regexp? no] -(** Pd *) -let u_punct_hyphen = [%sedlex.regexp? pd] -(** Ps *) -let u_punct_obra = [%sedlex.regexp? ps] -(** Pe *) -let u_punct_cbra = [%sedlex.regexp? pe] -(** Pi *) -let u_punct_oquot = [%sedlex.regexp? pi] -(** Pf *) -let u_punct_cquot = [%sedlex.regexp? pf] -(** Pc *) -let u_punct_connect = [%sedlex.regexp? pc] -(** Po *) -let u_punct_other = [%sedlex.regexp? po] -(** Mn *) -let u_mod_nospace = [%sedlex.regexp? mn] -(** Mc *) -let u_mod = [%sedlex.regexp? mc] -(** Me *) -let u_mod_enclose = [%sedlex.regexp? me] -(** Cc *) -let u_ascii_control = [%sedlex.regexp? cc] -(** Cf *) -let u_format_control = [%sedlex.regexp? cf] -(** Co *) -let u_private_use = [%sedlex.regexp? co] -(** Cs *) -let u_surrogate = [%sedlex.regexp? cs] - -(* -------------------------------------------------------------------- *) -let lower = [%sedlex.regexp? u_lower] -let upper = [%sedlex.regexp? u_upper | u_title] -let letter = [%sedlex.regexp? u_lower | u_upper | u_other | u_modifier] -let digit = [%sedlex.regexp? '0'..'9'] -let hex = [%sedlex.regexp? '0'..'9' | 'A'..'F' | 'a'..'f'] - -(* -------------------------------------------------------------------- *) -let anywhite = [%sedlex.regexp? u_space | u_space_extra] -let newline = [%sedlex.regexp? "\r\n" | 10 | 13 | 0x2028 | 0x2029] - -(* -------------------------------------------------------------------- *) -let op_char = [%sedlex.regexp? Chars "!$%&*+-.<>=?^|~:@#\\/"] - -(* op_token must be splt into seperate regular expressions to prevent - compliation from hanging *) -let op_token_1 = [%sedlex.regexp? "~" | "-" | "/\\" | "\\/" | "<:" | "$:" | "<@" | "(|" | "|)" | "#" ] -let op_token_2 = [%sedlex.regexp? "u#" | "&" | "()" | "(" | ")" | "," | "~>" | "->" | "<--" ] -let op_token_3 = [%sedlex.regexp? "<-" | "<==>" | "==>" | "." | "?." | "?" | ".[|" | ".[" | ".(|" | ".(" ] -let op_token_4 = [%sedlex.regexp? "$" | "{:pattern" | "{:well-founded" | ":" | "::" | ":=" | ";;" | ";" | "=" | "%[" | "returns$" ] -let op_token_5 = [%sedlex.regexp? "!{" | "[@@@" | "[@@" | "[@" | "[|" | "{|" | "[" | "|>" | "]" | "|]" | "|}" | "{" | "|" | "}" ] - -(* -------------------------------------------------------------------- *) -let xinteger = - [%sedlex.regexp? - ( '0', ('x'| 'X'), Plus hex - | '0', ('o'| 'O'), Plus ('0' .. '7') - | '0', ('b'| 'B'), Plus ('0' .. '1') )] -let integer = [%sedlex.regexp? Plus digit] -let any_integer = [%sedlex.regexp? xinteger | integer] -let unsigned = [%sedlex.regexp? Chars "uU"] -let int8 = [%sedlex.regexp? any_integer, 'y'] -let uint8 = [%sedlex.regexp? any_integer, unsigned, 'y'] -let int16 = [%sedlex.regexp? any_integer, 's'] -let uint16 = [%sedlex.regexp? any_integer, unsigned, 's'] -let int32 = [%sedlex.regexp? any_integer, 'l'] -let uint32 = [%sedlex.regexp? any_integer, unsigned, 'l'] -let int64 = [%sedlex.regexp? any_integer, 'L'] -let uint64 = [%sedlex.regexp? any_integer, unsigned, 'L'] -let char8 = [%sedlex.regexp? any_integer, 'z'] -let sizet = [%sedlex.regexp? any_integer, "sz"] - -let floatp = [%sedlex.regexp? Plus digit, '.', Star digit] -let floate = [%sedlex.regexp? Plus digit, Opt ('.', Star digit), Chars "eE", Opt (Chars "+-"), Plus digit] -let real = [%sedlex.regexp? floatp, 'R'] -let ieee64 = [%sedlex.regexp? floatp | floate] -let xieee64 = [%sedlex.regexp? xinteger, 'L', 'F'] -let range = [%sedlex.regexp? Plus digit, '.', '.', Plus digit] - -let op_prefix = [%sedlex.regexp? Chars "!~?"] -let op_infix0a = [%sedlex.regexp? Chars "|"] (* left *) -let op_infix0b = [%sedlex.regexp? Chars "&"] (* left *) -let op_infix0c = [%sedlex.regexp? Chars "=<>"] (* left *) -let op_infix0c_nogt = [%sedlex.regexp? Chars "=<"] (* left *) -let op_infix0d = [%sedlex.regexp? Chars "$"] (* left *) - -let op_infix0 = [%sedlex.regexp? op_infix0a | op_infix0b | op_infix0c | op_infix0d] -let op_infix1 = [%sedlex.regexp? Chars "@^"] (* right *) -let op_infix2 = [%sedlex.regexp? Chars "+-"] (* left *) -let op_infix3 = [%sedlex.regexp? Chars "*/%"] (* left *) -let symbolchar = [%sedlex.regexp? op_prefix | op_infix0 | op_infix1 | op_infix2 | op_infix3 | Chars ".:"] -let uoperator = [%sedlex.regexp? u_math_nonascii] - -(* -------------------------------------------------------------------- *) -let escape_char = [%sedlex.regexp? '\\', (Chars "\\\"'bfntrv0" | "x", hex, hex | "u", hex, hex, hex, hex)] -let char = [%sedlex.regexp? Compl '\\' | escape_char] - -(* -------------------------------------------------------------------- *) -let constructor_start_char = [%sedlex.regexp? upper] -let ident_start_char = [%sedlex.regexp? lower | '_'] -let ident_char = [%sedlex.regexp? letter | digit | '\'' | '_'] -let tvar_char = [%sedlex.regexp? letter | digit | '\'' | '_'] - -let constructor = [%sedlex.regexp? constructor_start_char, Star ident_char] -let ident = [%sedlex.regexp? ident_start_char, Star ident_char] -let tvar = [%sedlex.regexp? '\'', (ident_start_char | constructor_start_char), Star tvar_char] - -(* [ensure_no_comment lexbuf next] takes a [lexbuf] and [next], a - continuation. It is to be called after a regexp was matched, to - ensure match text does not contain any comment start. - - If the match [s] contains a comment start (an occurence of [//]) - then we place the lexer at that comment start. We continue with - [next s], [s] being either the whole match, or the chunk before - [//]. -*) -let ensure_no_comment lexbuf (next: string -> token): token = - let s = L.lexeme lexbuf in - next (try let before, _after = BatString.split s "//" in - (* rollback to the begining of the match *) - L.rollback lexbuf; - (* skip [n] characters in the lexer, with [n] being [hd]'s len *) - BatString.iter (fun _ -> let _ = L.next lexbuf in ()) before; - before with | Not_found -> s) - -let rec token lexbuf = -match%sedlex lexbuf with - | "%splice" -> SPLICE - | "%splice_t" -> SPLICET - | "```", ident -> - 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 snap name pos blob_buffer lexbuf - | "`%" -> BACKTICK_PERC - | "`#" -> BACKTICK_HASH - | "`@" -> BACKTICK_AT - | "#lang-", ident -> ( - let s = L.lexeme lexbuf in - let lang_name = BatString.lchop ~n:6 s in - let snap = Sedlexing.snapshot lexbuf in - Buffer.clear use_lang_buffer; - let pos = L.current_pos lexbuf in - use_lang_blob snap lang_name pos use_lang_buffer lexbuf - ) - - | "seq![" -> SEQ_BANG_LBRACK - - | "#show-options" -> PRAGMA_SHOW_OPTIONS - | "#set-options" -> PRAGMA_SET_OPTIONS - | "#reset-options" -> PRAGMA_RESET_OPTIONS - | "#push-options" -> PRAGMA_PUSH_OPTIONS - | "#pop-options" -> PRAGMA_POP_OPTIONS - | "#restart-solver" -> PRAGMA_RESTART_SOLVER - | "#print-effects-graph" -> PRAGMA_PRINT_EFFECTS_GRAPH - | "__SOURCE_FILE__" -> STRING (L.source_file lexbuf) - | "__LINE__" -> INT (string_of_int (L.current_line lexbuf), false) - - | Plus anywhite -> token lexbuf - | newline -> L.new_line lexbuf; token lexbuf - - (* Must appear before tvar to avoid 'a <-> 'a' conflict *) - | ('\'', char, '\'') -> CHAR (unescape (utrim_both lexbuf 1 1)) - | ('\'', char, '\'', 'B') -> CHAR (unescape (utrim_both lexbuf 1 2)) - | '`' -> BACKTICK - - | "match", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:5 s with - | "" -> MATCH - | s -> MATCH_OP s - ) - - | "if", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:2 s with - | "" -> IF - | s -> IF_OP s - ) - - | "let", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:3 s with - | "" -> LET false - | s -> LET_OP s - ) - - | "exists", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:6 s with - | "" -> EXISTS false - | s -> EXISTS_OP s - ) - - | "∃", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:1 s with - | "" -> EXISTS false - | s -> EXISTS_OP s - ) - - | "forall", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:6 s with - | "" -> FORALL false - | s -> FORALL_OP s - ) - - | "∀", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:1 s with - | "" -> FORALL false - | s -> FORALL_OP s - ) - - | "and", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:3 s with - | "" -> AND - | s -> AND_OP s - ) - - | ";", Plus op_char -> - ensure_no_comment lexbuf (fun s -> - match BatString.lchop ~n:1 s with - | "" -> SEMICOLON - | s -> SEMICOLON_OP (Some s) - ) - - | ";;" -> SEMICOLON_OP None - - | ident -> let id = L.lexeme lexbuf in - if FStarC_Compiler_Util.starts_with id FStarC_Ident.reserved_prefix - then FStarC_Errors.raise_error_text (current_range lexbuf) Codes.Fatal_ReservedPrefix - (FStarC_Ident.reserved_prefix ^ " is a reserved prefix for an identifier"); - Hashtbl.find_option keywords id |> Option.default (IDENT id) - | constructor -> let id = L.lexeme lexbuf in - Hashtbl.find_option constructors id |> Option.default (NAME id) - - | tvar -> TVAR (L.lexeme lexbuf) - | (integer | xinteger) -> INT (clean_number (L.lexeme lexbuf), false) - | (uint8 | char8) -> - let c = clean_number (L.lexeme lexbuf) in - let cv = int_of_string c in - if cv < 0 || cv > 255 then fail lexbuf (Codes.Fatal_SyntaxError, "Out-of-range character literal") - else UINT8 (c) - | int8 -> INT8 (clean_number (L.lexeme lexbuf), false) - | uint16 -> UINT16 (clean_number (L.lexeme lexbuf)) - | int16 -> INT16 (clean_number (L.lexeme lexbuf), false) - | uint32 -> UINT32 (clean_number (L.lexeme lexbuf)) - | int32 -> INT32 (clean_number (L.lexeme lexbuf), false) - | uint64 -> UINT64 (clean_number (L.lexeme lexbuf)) - | int64 -> INT64 (clean_number (L.lexeme lexbuf), false) - | sizet -> SIZET (clean_number (L.lexeme lexbuf)) - | range -> RANGE (L.lexeme lexbuf) - | real -> REAL(trim_right lexbuf 1) - | (integer | xinteger | ieee64 | xieee64), Plus ident_char -> - fail lexbuf (Codes.Fatal_SyntaxError, "This is not a valid numeric literal: " ^ L.lexeme lexbuf) - - | "(*" -> - let inner, buffer, startpos = start_comment lexbuf in - comment inner buffer startpos lexbuf - - | "// IN F*:" -> token lexbuf - | "//" -> - (* Only match on "//" to allow the longest-match rule to catch IN F*. This - * creates a lexing conflict with op_infix3 which is caught below. *) - one_line_comment (L.lexeme lexbuf) lexbuf - - | '"' -> string (Buffer.create 0) lexbuf.Sedlexing.start_p lexbuf - - | '`', '`', (Plus (Compl ('`' | 10 | 13 | 0x2028 | 0x2029) | '`', Compl ('`' | 10 | 13 | 0x2028 | 0x2029))), '`', '`' -> - IDENT (trim_both lexbuf 2 2) - - (* Pipe operators have special treatment in the parser. *) - | "<|" -> PIPE_LEFT - | "|>" -> PIPE_RIGHT - - | op_token_1 - | op_token_2 - | op_token_3 - | op_token_4 - | op_token_5 -> L.lexeme lexbuf |> Hashtbl.find operators - - | "<" -> OPINFIX0c("<") - | ">" -> if is_typ_app_gt () - then TYP_APP_GREATER - else begin match%sedlex lexbuf with - | Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c (">" ^ s)) - | _ -> assert false end - - (* Operators. *) - | op_prefix, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPPREFIX s) - | op_infix0a, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0a s) - | op_infix0b, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0b s) - | op_infix0c_nogt, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c s) - | op_infix0d, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0d s) - | op_infix1, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX1 s) - | op_infix2, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX2 s) - | op_infix3, Star symbolchar -> ensure_no_comment lexbuf (function - | "" -> one_line_comment "" lexbuf - | s -> OPINFIX3 s - ) - | "**" , Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX4 s) - - (* Unicode Operators *) - | uoperator -> let id = L.lexeme lexbuf in - Hashtbl.find_option operators id |> Option.default (OPINFIX4 id) - - | ".[]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) - | ".()<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) - | ".(||)<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) - | ".[||]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) - | ".[]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) - | ".()" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) - | ".(||)" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) - | ".[||]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) - - | eof -> EOF - | _ -> fail lexbuf (Codes.Fatal_SyntaxError, "unexpected char") - -and one_line_comment pre lexbuf = -match%sedlex lexbuf with - | Star (Compl (10 | 13 | 0x2028 | 0x2029)) -> push_one_line_comment pre lexbuf; token lexbuf - | _ -> assert false - -and string buffer start_pos lexbuf = -match%sedlex lexbuf with - | '\\', newline, Star anywhite -> L.new_line lexbuf; string buffer start_pos lexbuf - | newline -> - Buffer.add_string buffer (L.lexeme lexbuf); - L.new_line lexbuf; string buffer start_pos lexbuf - | escape_char -> - Buffer.add_string buffer (BatUTF8.init 1 (fun _ -> unescape (L.ulexeme lexbuf) |> BatUChar.chr)); - string buffer start_pos lexbuf - | '"' -> - (* position info must be set since the start of the string *) - lexbuf.Sedlexing.start_p <- start_pos; - STRING (Buffer.contents buffer) - | eof -> fail lexbuf (Codes.Fatal_SyntaxError, "unterminated string") - | any -> - Buffer.add_string buffer (L.lexeme lexbuf); - string buffer start_pos lexbuf - | _ -> assert false - -and comment inner buffer startpos lexbuf = -match%sedlex lexbuf with - | "(*" -> - Buffer.add_string buffer "(*" ; - let _ = comment true buffer startpos lexbuf in - comment inner buffer startpos lexbuf - | newline -> - L.new_line lexbuf; - Buffer.add_string buffer (L.lexeme lexbuf); - comment inner buffer startpos lexbuf - | "*)" -> - terminate_comment buffer startpos lexbuf; - if inner then EOF else token lexbuf - | eof -> - terminate_comment buffer startpos lexbuf; EOF - | any -> - Buffer.add_string buffer (L.lexeme lexbuf); - comment inner buffer startpos lexbuf - | _ -> assert false - -and uninterpreted_blob snap name pos buffer lexbuf = -match %sedlex lexbuf with - | "```" -> - BLOB(name, Buffer.contents buffer, pos, snap) - | eof -> - E.raise_error_text (current_range lexbuf) Codes.Fatal_SyntaxError - "Syntax error: unterminated extension syntax" - | newline -> - L.new_line lexbuf; - Buffer.add_string buffer (L.lexeme lexbuf); - uninterpreted_blob snap name pos buffer lexbuf - | any -> - Buffer.add_string buffer (L.lexeme lexbuf); - uninterpreted_blob snap name pos buffer lexbuf - | _ -> assert false - -and use_lang_blob snap name pos buffer lexbuf = -match %sedlex lexbuf with - | eof -> - L.rollback lexbuf; (* leave the eof to be consumed later *) - USE_LANG_BLOB(name, Buffer.contents buffer, pos, snap) - | newline -> - L.new_line lexbuf; - Buffer.add_string buffer (L.lexeme lexbuf); - use_lang_blob snap name pos buffer lexbuf - | any -> - Buffer.add_string buffer (L.lexeme lexbuf); - use_lang_blob snap name pos buffer lexbuf - | _ -> assert false - -and ignore_endline lexbuf = -match%sedlex lexbuf with - | Star ' ', newline -> token lexbuf - | _ -> assert false diff --git a/ocaml/fstar-lib/FStar_String.ml b/ocaml/fstar-lib/FStar_String.ml deleted file mode 100644 index 45c7ba41578..00000000000 --- a/ocaml/fstar-lib/FStar_String.ml +++ /dev/null @@ -1,43 +0,0 @@ -let make i c = BatUTF8.init (Z.to_int i) (fun _ -> BatUChar.chr c) -let strcat s t = s ^ t -let op_Hat s t = strcat s t - -(* restore pre-2.11 BatString.nsplit behavior, - see https://github.com/ocaml-batteries-team/batteries-included/issues/845 *) -let batstring_nsplit s t = - if s = "" then [] else BatString.split_on_string t s - -let split seps s = - let rec repeat_split acc = function - | [] -> acc - | sep::seps -> - let usep = BatUTF8.init 1 (fun _ -> BatUChar.chr sep) in - let l = BatList.flatten (BatList.map (fun x -> batstring_nsplit x usep) acc) in - repeat_split l seps in - repeat_split [s] seps -let compare x y = Z.of_int (BatString.compare x y) -type char = FStar_Char.char -let concat = BatString.concat -let length s = Z.of_int (BatUTF8.length s) -let strlen s = length s - -let substring s i j = - BatUTF8.init (Z.to_int j) (fun k -> BatUTF8.get s (k + Z.to_int i)) -let sub = substring - -let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) -let collect f s = - let r = ref "" in - BatUTF8.iter (fun c -> r := !r ^ f (BatUChar.code c)) s; !r -let lowercase = BatString.lowercase -let uppercase = BatString.uppercase -let escaped = BatString.escaped -let index = get -exception Found of int -let index_of s c = - let c = BatUChar.chr c in - try let _ = BatUTF8.iteri (fun c' i -> if c = c' then raise (Found i) else ()) s in Z.of_int (-1) - with Found i -> Z.of_int i -let list_of_string s = BatList.init (BatUTF8.length s) (fun i -> BatUChar.code (BatUTF8.get s i)) -let string_of_list l = BatUTF8.init (BatList.length l) (fun i -> BatUChar.chr (BatList.at l i)) -let string_of_char (c:char) = BatString.of_char (Char.chr c) diff --git a/ocaml/fstar-lib/generated/FStarC_Find.ml b/ocaml/fstar-lib/generated/FStarC_Find.ml deleted file mode 100644 index 764347f0428..00000000000 --- a/ocaml/fstar-lib/generated/FStarC_Find.ml +++ /dev/null @@ -1,182 +0,0 @@ -open Prims -let (fstar_bin_directory : Prims.string) = - FStarC_Compiler_Util.get_exec_dir () -let (read_fstar_include : - Prims.string -> Prims.string Prims.list FStar_Pervasives_Native.option) = - fun fn -> - try - (fun uu___ -> - match () with - | () -> - let s = FStarC_Compiler_Util.file_get_contents fn in - let subdirs = - FStarC_Compiler_List.filter - (fun s1 -> - (s1 <> "") && - (let uu___1 = - let uu___2 = - FStarC_Compiler_String.get s1 Prims.int_zero in - uu___2 = 35 in - Prims.op_Negation uu___1)) - (FStarC_Compiler_String.split [10] s) in - FStar_Pervasives_Native.Some subdirs) () - with - | uu___ -> - (failwith (Prims.strcat "Could not read " fn); - FStar_Pervasives_Native.None) -let rec (expand_include_d : Prims.string -> Prims.string Prims.list) = - fun dirname -> - let dot_inc_path = Prims.strcat dirname "/fstar.include" in - if FStarC_Compiler_Util.file_exists dot_inc_path - then - let subdirs = - let uu___ = read_fstar_include dot_inc_path in - FStar_Pervasives_Native.__proj__Some__item__v uu___ in - let uu___ = - FStarC_Compiler_List.collect - (fun subd -> - expand_include_d (Prims.strcat dirname (Prims.strcat "/" subd))) - subdirs in - dirname :: uu___ - else [dirname] -let (expand_include_ds : Prims.string Prims.list -> Prims.string Prims.list) - = fun dirnames -> FStarC_Compiler_List.collect expand_include_d dirnames -let (lib_root : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu___ -> - let uu___1 = FStarC_Options.no_default_includes () in - if uu___1 - then FStar_Pervasives_Native.None - else - (let uu___3 = - FStarC_Compiler_Util.expand_environment_variable "FSTAR_LIB" in - match uu___3 with - | FStar_Pervasives_Native.Some s -> FStar_Pervasives_Native.Some s - | FStar_Pervasives_Native.None -> - if - FStarC_Compiler_Util.file_exists - (Prims.strcat fstar_bin_directory "/../ulib") - then - FStar_Pervasives_Native.Some - (Prims.strcat fstar_bin_directory "/../ulib") - else - if - FStarC_Compiler_Util.file_exists - (Prims.strcat fstar_bin_directory "/../lib/fstar") - then - FStar_Pervasives_Native.Some - (Prims.strcat fstar_bin_directory "/../lib/fstar") - else FStar_Pervasives_Native.None) -let (lib_paths : unit -> Prims.string Prims.list) = - fun uu___ -> - let uu___1 = - let uu___2 = lib_root () in FStarC_Common.option_to_list uu___2 in - expand_include_ds uu___1 -let (include_path : unit -> Prims.string Prims.list) = - fun uu___ -> - let cache_dir = - let uu___1 = FStarC_Options.cache_dir () in - match uu___1 with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some c -> [c] in - let include_paths = - let uu___1 = FStarC_Options.include_ () in expand_include_ds uu___1 in - let uu___1 = - let uu___2 = lib_paths () in - let uu___3 = - let uu___4 = expand_include_d "." in - FStarC_Compiler_List.op_At include_paths uu___4 in - FStarC_Compiler_List.op_At uu___2 uu___3 in - FStarC_Compiler_List.op_At cache_dir uu___1 -let (do_find : - Prims.string Prims.list -> - Prims.string -> Prims.string FStar_Pervasives_Native.option) - = - fun paths -> - fun filename -> - let uu___ = FStarC_Compiler_Util.is_path_absolute filename in - if uu___ - then - (if FStarC_Compiler_Util.file_exists filename - then FStar_Pervasives_Native.Some filename - else FStar_Pervasives_Native.None) - else - (try - (fun uu___2 -> - match () with - | () -> - FStarC_Compiler_Util.find_map - (FStarC_Compiler_List.rev paths) - (fun p -> - let path = - if p = "." - then filename - else FStarC_Compiler_Util.join_paths p filename in - if FStarC_Compiler_Util.file_exists path - then FStar_Pervasives_Native.Some path - else FStar_Pervasives_Native.None)) () - with | uu___2 -> FStar_Pervasives_Native.None) -let (find_file : Prims.string -> Prims.string FStar_Pervasives_Native.option) - = - let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (100)) in - fun filename -> - let uu___ = FStarC_Compiler_Util.smap_try_find cache filename in - match uu___ with - | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> - let result = let uu___1 = include_path () in do_find uu___1 filename in - (if FStar_Pervasives_Native.uu___is_Some result - then FStarC_Compiler_Util.smap_add cache filename result - else (); - result) -let (find_file_odir : - Prims.string -> Prims.string FStar_Pervasives_Native.option) = - let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (100)) in - fun filename -> - let uu___ = FStarC_Compiler_Util.smap_try_find cache filename in - match uu___ with - | FStar_Pervasives_Native.Some f -> f - | FStar_Pervasives_Native.None -> - let odir = - let uu___1 = FStarC_Options.output_dir () in - match uu___1 with - | FStar_Pervasives_Native.Some d -> [d] - | FStar_Pervasives_Native.None -> [] in - let result = - let uu___1 = - let uu___2 = include_path () in - FStarC_Compiler_List.op_At uu___2 odir in - do_find uu___1 filename in - (if FStar_Pervasives_Native.uu___is_Some result - then FStarC_Compiler_Util.smap_add cache filename result - else (); - result) -let (prepend_output_dir : Prims.string -> Prims.string) = - fun fname -> - let uu___ = FStarC_Options.output_dir () in - match uu___ with - | FStar_Pervasives_Native.None -> fname - | FStar_Pervasives_Native.Some x -> - FStarC_Compiler_Util.join_paths x fname -let (prepend_cache_dir : Prims.string -> Prims.string) = - fun fpath -> - let uu___ = FStarC_Options.cache_dir () in - match uu___ with - | FStar_Pervasives_Native.None -> fpath - | FStar_Pervasives_Native.Some x -> - let uu___1 = FStarC_Compiler_Util.basename fpath in - FStarC_Compiler_Util.join_paths x uu___1 -let (locate : unit -> Prims.string) = - fun uu___ -> - let uu___1 = FStarC_Compiler_Util.get_exec_dir () in - FStarC_Compiler_Util.normalize_file_path uu___1 -let (locate_lib : unit -> Prims.string FStar_Pervasives_Native.option) = - fun uu___ -> - let uu___1 = lib_root () in - FStarC_Compiler_Util.map_opt uu___1 - FStarC_Compiler_Util.normalize_file_path -let (locate_ocaml : unit -> Prims.string) = - fun uu___ -> - let uu___1 = - let uu___2 = FStarC_Compiler_Util.get_exec_dir () in - Prims.strcat uu___2 "/../lib" in - FStarC_Compiler_Util.normalize_file_path uu___1 \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_OCaml.ml b/ocaml/fstar-lib/generated/FStarC_OCaml.ml deleted file mode 100644 index 007f1e660eb..00000000000 --- a/ocaml/fstar-lib/generated/FStarC_OCaml.ml +++ /dev/null @@ -1,59 +0,0 @@ -open Prims -let (shellescape : Prims.string -> Prims.string) = - fun s -> - let uu___ = - let uu___1 = FStarC_Compiler_String.list_of_string s in - FStarC_Compiler_List.map - (fun uu___2 -> - match uu___2 with - | 39 -> "'\"'\"'" - | c -> FStarC_Compiler_String.make Prims.int_one c) uu___1 in - FStarC_Compiler_String.concat "" uu___ -let (new_ocamlpath : unit -> Prims.string) = - fun uu___ -> - let ocamldir = FStarC_Find.locate_ocaml () in - let old_ocamlpath = - let uu___1 = - FStarC_Compiler_Util.expand_environment_variable "OCAMLPATH" in - FStarC_Compiler_Util.dflt "" uu___1 in - let new_ocamlpath1 = - Prims.strcat ocamldir (Prims.strcat ":" old_ocamlpath) in - new_ocamlpath1 -let exec_in_ocamlenv : 'a . Prims.string -> Prims.string Prims.list -> 'a = - fun cmd -> - fun args -> - let new_ocamlpath1 = new_ocamlpath () in - if FStarC_Platform.system = FStarC_Platform.Windows - then - (let uu___1 = - let uu___2 = - FStarC_Errors_Msg.text - "--ocamlenv is not supported on Windows (yet?)" in - [uu___2] in - FStarC_Errors.raise_error0 - FStarC_Errors_Codes.Fatal_OptionsNotCompatible () - (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) - (Obj.magic uu___1)) - else (); - FStarC_Compiler_Util.putenv "OCAMLPATH" new_ocamlpath1; - FStarC_Compiler_Util.execvp cmd (cmd :: args); - failwith "execvp failed" -let (app_lib : Prims.string) = "fstar.lib" -let (plugin_lib : Prims.string) = "fstar.lib" -let (wstr : Prims.string) = "-8" -let (common_args : Prims.string Prims.list) = ["-w"; wstr; "-thread"] -let exec_ocamlc : 'a . Prims.string Prims.list -> 'a = - fun args -> - exec_in_ocamlenv "ocamlfind" - (FStar_List_Tot_Base.op_At ("c" :: common_args) ("-linkpkg" :: - "-package" :: app_lib :: args)) -let exec_ocamlopt : 'a . Prims.string Prims.list -> 'a = - fun args -> - exec_in_ocamlenv "ocamlfind" - (FStar_List_Tot_Base.op_At ("opt" :: common_args) ("-linkpkg" :: - "-package" :: app_lib :: args)) -let exec_ocamlopt_plugin : 'a . Prims.string Prims.list -> 'a = - fun args -> - exec_in_ocamlenv "ocamlfind" - (FStar_List_Tot_Base.op_At ("opt" :: common_args) ("-shared" :: - "-package" :: plugin_lib :: args)) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml b/ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml deleted file mode 100644 index 4ae38df052d..00000000000 --- a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml +++ /dev/null @@ -1,782 +0,0 @@ -open Prims -let (plugin_unfold_warn_ctr : Prims.int FStarC_Compiler_Effect.ref) = - FStarC_Compiler_Util.mk_ref Prims.int_zero -type should_unfold_res = - | Should_unfold_no - | Should_unfold_yes - | Should_unfold_fully - | Should_unfold_reify -let (uu___is_Should_unfold_no : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_no -> true | uu___ -> false -let (uu___is_Should_unfold_yes : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_yes -> true | uu___ -> false -let (uu___is_Should_unfold_fully : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_fully -> true | uu___ -> false -let (uu___is_Should_unfold_reify : should_unfold_res -> Prims.bool) = - fun projectee -> - match projectee with | Should_unfold_reify -> true | uu___ -> false -let (should_unfold : - FStarC_TypeChecker_Cfg.cfg -> - (FStarC_TypeChecker_Cfg.cfg -> Prims.bool) -> - FStarC_Syntax_Syntax.fv -> - FStarC_TypeChecker_Env.qninfo -> should_unfold_res) - = - fun cfg -> - fun should_reify -> - fun fv -> - fun qninfo -> - let attrs = - let uu___ = FStarC_TypeChecker_Env.attrs_of_qninfo qninfo in - match uu___ with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some ats -> ats in - let quals = - let uu___ = FStarC_TypeChecker_Env.quals_of_qninfo qninfo in - match uu___ with - | FStar_Pervasives_Native.None -> [] - | FStar_Pervasives_Native.Some quals1 -> quals1 in - let yes = (true, false, false) in - let no = (false, false, false) in - let fully = (true, true, false) in - let reif = (true, false, true) in - let yesno b = if b then yes else no in - let fullyno b = if b then fully else no in - let comb_or l = - FStarC_Compiler_List.fold_right - (fun uu___ -> - fun uu___1 -> - match (uu___, uu___1) with - | ((a, b, c), (x, y, z)) -> ((a || x), (b || y), (c || z))) - l (false, false, false) in - let default_unfolding uu___ = - FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___2 -> - let uu___3 = - FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in - let uu___4 = - let uu___5 = - FStarC_TypeChecker_Env.delta_depth_of_fv - cfg.FStarC_TypeChecker_Cfg.tcenv fv in - FStarC_Class_Show.show - FStarC_Syntax_Syntax.showable_delta_depth uu___5 in - let uu___5 = - FStarC_Class_Show.show - (FStarC_Class_Show.show_list - FStarC_TypeChecker_Env.showable_delta_level) - cfg.FStarC_TypeChecker_Cfg.delta_level in - FStarC_Compiler_Util.print3 - "should_unfold: Reached a %s with delta_depth = %s\n >> Our delta_level is %s\n" - uu___3 uu___4 uu___5); - (let uu___2 = - FStarC_Compiler_Util.for_some - (fun uu___3 -> - match uu___3 with - | FStarC_TypeChecker_Env.NoDelta -> false - | FStarC_TypeChecker_Env.InliningDelta -> true - | FStarC_TypeChecker_Env.Eager_unfolding_only -> true - | FStarC_TypeChecker_Env.Unfold l -> - let uu___4 = - FStarC_TypeChecker_Env.delta_depth_of_fv - cfg.FStarC_TypeChecker_Cfg.tcenv fv in - FStarC_TypeChecker_Common.delta_depth_greater_than - uu___4 l) cfg.FStarC_TypeChecker_Cfg.delta_level in - yesno uu___2) in - let res = - if FStarC_TypeChecker_Env.qninfo_is_action qninfo - then - let b = should_reify cfg in - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___1 -> - let uu___2 = - FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv - fv in - let uu___3 = - FStarC_Class_Show.show FStarC_Class_Show.showable_bool - b in - FStarC_Compiler_Util.print2 - "should_unfold: For DM4F action %s, should_reify = %s\n" - uu___2 uu___3); - if b then reif else no) - else - if - (let uu___ = FStarC_TypeChecker_Cfg.find_prim_step cfg fv in - FStarC_Compiler_Option.isSome uu___) - then - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___1 -> - FStarC_Compiler_Util.print_string - " >> It's a primop, not unfolding\n"); - no) - else - (match (qninfo, - ((cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only), - ((cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully), - ((cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr), - ((cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual), - ((cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace)) - with - | (FStar_Pervasives_Native.Some - (FStar_Pervasives.Inr - ({ - FStarC_Syntax_Syntax.sigel = - FStarC_Syntax_Syntax.Sig_let - { FStarC_Syntax_Syntax.lbs1 = (is_rec, uu___); - FStarC_Syntax_Syntax.lids1 = uu___1;_}; - FStarC_Syntax_Syntax.sigrng = uu___2; - FStarC_Syntax_Syntax.sigquals = qs; - FStarC_Syntax_Syntax.sigmeta = uu___3; - FStarC_Syntax_Syntax.sigattrs = uu___4; - FStarC_Syntax_Syntax.sigopens_and_abbrevs = uu___5; - FStarC_Syntax_Syntax.sigopts = uu___6;_}, - uu___7), - uu___8), - uu___9, uu___10, uu___11, uu___12, uu___13) when - FStarC_Compiler_List.contains - FStarC_Syntax_Syntax.HasMaskedEffect qs - -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___15 -> - FStarC_Compiler_Util.print_string - " >> HasMaskedEffect, not unfolding\n"); - no) - | (FStar_Pervasives_Native.Some - (FStar_Pervasives.Inr - ({ - FStarC_Syntax_Syntax.sigel = - FStarC_Syntax_Syntax.Sig_let - { FStarC_Syntax_Syntax.lbs1 = (is_rec, uu___); - FStarC_Syntax_Syntax.lids1 = uu___1;_}; - FStarC_Syntax_Syntax.sigrng = uu___2; - FStarC_Syntax_Syntax.sigquals = qs; - FStarC_Syntax_Syntax.sigmeta = uu___3; - FStarC_Syntax_Syntax.sigattrs = uu___4; - FStarC_Syntax_Syntax.sigopens_and_abbrevs = uu___5; - FStarC_Syntax_Syntax.sigopts = uu___6;_}, - uu___7), - uu___8), - uu___9, uu___10, uu___11, uu___12, uu___13) when - (is_rec && - (Prims.op_Negation - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.zeta)) - && - (Prims.op_Negation - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.zeta_full) - -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___15 -> - FStarC_Compiler_Util.print_string - " >> It's a recursive definition but we're not doing Zeta, not unfolding\n"); - no) - | (uu___, FStar_Pervasives_Native.Some uu___1, uu___2, - uu___3, uu___4, uu___5) -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - let uu___8 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.print1 - "should_unfold: Reached a %s with selective unfolding\n" - uu___8); - (let meets_some_criterion = - let uu___7 = - let uu___8 = - if - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction - then - let uu___9 = - let uu___10 = - FStarC_TypeChecker_Env.lookup_definition_qninfo - [FStarC_TypeChecker_Env.Eager_unfolding_only; - FStarC_TypeChecker_Env.InliningDelta] - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v - qninfo in - FStarC_Compiler_Option.isSome uu___10 in - yesno uu___9 - else no in - let uu___9 = - let uu___10 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___11 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - yesno uu___11 in - let uu___11 = - let uu___12 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___13 = - FStarC_Compiler_Util.for_some - (fun at -> - FStarC_Compiler_Util.for_some - (fun lid -> - FStarC_Syntax_Util.is_fvar - lid at) lids) attrs in - yesno uu___13 in - let uu___13 = - let uu___14 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___15 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - fullyno uu___15 in - let uu___15 = - let uu___16 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some qs -> - let uu___17 = - FStarC_Compiler_Util.for_some - (fun q -> - FStarC_Compiler_Util.for_some - (fun qual -> - let uu___18 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_qualifier - qual in - uu___18 = q) quals) qs in - yesno uu___17 in - let uu___17 = - let uu___18 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some - namespaces -> - let p = - let uu___19 = - FStarC_Syntax_Syntax.lid_of_fv - fv in - FStarC_Ident.path_of_lid uu___19 in - let r = - FStarC_Compiler_Path.search_forest - (FStarC_Class_Ord.ord_eq - FStarC_Class_Ord.ord_string) - p namespaces in - yesno r in - [uu___18] 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 - comb_or uu___7 in - meets_some_criterion)) - | (uu___, uu___1, FStar_Pervasives_Native.Some uu___2, - uu___3, uu___4, uu___5) -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - let uu___8 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.print1 - "should_unfold: Reached a %s with selective unfolding\n" - uu___8); - (let meets_some_criterion = - let uu___7 = - let uu___8 = - if - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction - then - let uu___9 = - let uu___10 = - FStarC_TypeChecker_Env.lookup_definition_qninfo - [FStarC_TypeChecker_Env.Eager_unfolding_only; - FStarC_TypeChecker_Env.InliningDelta] - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v - qninfo in - FStarC_Compiler_Option.isSome uu___10 in - yesno uu___9 - else no in - let uu___9 = - let uu___10 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___11 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - yesno uu___11 in - let uu___11 = - let uu___12 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___13 = - FStarC_Compiler_Util.for_some - (fun at -> - FStarC_Compiler_Util.for_some - (fun lid -> - FStarC_Syntax_Util.is_fvar - lid at) lids) attrs in - yesno uu___13 in - let uu___13 = - let uu___14 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___15 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - fullyno uu___15 in - let uu___15 = - let uu___16 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some qs -> - let uu___17 = - FStarC_Compiler_Util.for_some - (fun q -> - FStarC_Compiler_Util.for_some - (fun qual -> - let uu___18 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_qualifier - qual in - uu___18 = q) quals) qs in - yesno uu___17 in - let uu___17 = - let uu___18 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some - namespaces -> - let p = - let uu___19 = - FStarC_Syntax_Syntax.lid_of_fv - fv in - FStarC_Ident.path_of_lid uu___19 in - let r = - FStarC_Compiler_Path.search_forest - (FStarC_Class_Ord.ord_eq - FStarC_Class_Ord.ord_string) - p namespaces in - yesno r in - [uu___18] 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 - comb_or uu___7 in - meets_some_criterion)) - | (uu___, uu___1, uu___2, FStar_Pervasives_Native.Some - uu___3, uu___4, uu___5) -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - let uu___8 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.print1 - "should_unfold: Reached a %s with selective unfolding\n" - uu___8); - (let meets_some_criterion = - let uu___7 = - let uu___8 = - if - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction - then - let uu___9 = - let uu___10 = - FStarC_TypeChecker_Env.lookup_definition_qninfo - [FStarC_TypeChecker_Env.Eager_unfolding_only; - FStarC_TypeChecker_Env.InliningDelta] - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v - qninfo in - FStarC_Compiler_Option.isSome uu___10 in - yesno uu___9 - else no in - let uu___9 = - let uu___10 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___11 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - yesno uu___11 in - let uu___11 = - let uu___12 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___13 = - FStarC_Compiler_Util.for_some - (fun at -> - FStarC_Compiler_Util.for_some - (fun lid -> - FStarC_Syntax_Util.is_fvar - lid at) lids) attrs in - yesno uu___13 in - let uu___13 = - let uu___14 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___15 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - fullyno uu___15 in - let uu___15 = - let uu___16 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some qs -> - let uu___17 = - FStarC_Compiler_Util.for_some - (fun q -> - FStarC_Compiler_Util.for_some - (fun qual -> - let uu___18 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_qualifier - qual in - uu___18 = q) quals) qs in - yesno uu___17 in - let uu___17 = - let uu___18 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some - namespaces -> - let p = - let uu___19 = - FStarC_Syntax_Syntax.lid_of_fv - fv in - FStarC_Ident.path_of_lid uu___19 in - let r = - FStarC_Compiler_Path.search_forest - (FStarC_Class_Ord.ord_eq - FStarC_Class_Ord.ord_string) - p namespaces in - yesno r in - [uu___18] 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 - comb_or uu___7 in - meets_some_criterion)) - | (uu___, uu___1, uu___2, uu___3, - FStar_Pervasives_Native.Some uu___4, uu___5) -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - let uu___8 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.print1 - "should_unfold: Reached a %s with selective unfolding\n" - uu___8); - (let meets_some_criterion = - let uu___7 = - let uu___8 = - if - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction - then - let uu___9 = - let uu___10 = - FStarC_TypeChecker_Env.lookup_definition_qninfo - [FStarC_TypeChecker_Env.Eager_unfolding_only; - FStarC_TypeChecker_Env.InliningDelta] - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v - qninfo in - FStarC_Compiler_Option.isSome uu___10 in - yesno uu___9 - else no in - let uu___9 = - let uu___10 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___11 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - yesno uu___11 in - let uu___11 = - let uu___12 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___13 = - FStarC_Compiler_Util.for_some - (fun at -> - FStarC_Compiler_Util.for_some - (fun lid -> - FStarC_Syntax_Util.is_fvar - lid at) lids) attrs in - yesno uu___13 in - let uu___13 = - let uu___14 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___15 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - fullyno uu___15 in - let uu___15 = - let uu___16 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some qs -> - let uu___17 = - FStarC_Compiler_Util.for_some - (fun q -> - FStarC_Compiler_Util.for_some - (fun qual -> - let uu___18 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_qualifier - qual in - uu___18 = q) quals) qs in - yesno uu___17 in - let uu___17 = - let uu___18 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some - namespaces -> - let p = - let uu___19 = - FStarC_Syntax_Syntax.lid_of_fv - fv in - FStarC_Ident.path_of_lid uu___19 in - let r = - FStarC_Compiler_Path.search_forest - (FStarC_Class_Ord.ord_eq - FStarC_Class_Ord.ord_string) - p namespaces in - yesno r in - [uu___18] 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 - comb_or uu___7 in - meets_some_criterion)) - | (uu___, uu___1, uu___2, uu___3, uu___4, - FStar_Pervasives_Native.Some uu___5) -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - let uu___8 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.print1 - "should_unfold: Reached a %s with selective unfolding\n" - uu___8); - (let meets_some_criterion = - let uu___7 = - let uu___8 = - if - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction - then - let uu___9 = - let uu___10 = - FStarC_TypeChecker_Env.lookup_definition_qninfo - [FStarC_TypeChecker_Env.Eager_unfolding_only; - FStarC_TypeChecker_Env.InliningDelta] - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v - qninfo in - FStarC_Compiler_Option.isSome uu___10 in - yesno uu___9 - else no in - let uu___9 = - let uu___10 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___11 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - yesno uu___11 in - let uu___11 = - let uu___12 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___13 = - FStarC_Compiler_Util.for_some - (fun at -> - FStarC_Compiler_Util.for_some - (fun lid -> - FStarC_Syntax_Util.is_fvar - lid at) lids) attrs in - yesno uu___13 in - let uu___13 = - let uu___14 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some lids -> - let uu___15 = - FStarC_Compiler_Util.for_some - (FStarC_Syntax_Syntax.fv_eq_lid fv) - lids in - fullyno uu___15 in - let uu___15 = - let uu___16 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some qs -> - let uu___17 = - FStarC_Compiler_Util.for_some - (fun q -> - FStarC_Compiler_Util.for_some - (fun qual -> - let uu___18 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_qualifier - qual in - uu___18 = q) quals) qs in - yesno uu___17 in - let uu___17 = - let uu___18 = - match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace - with - | FStar_Pervasives_Native.None -> no - | FStar_Pervasives_Native.Some - namespaces -> - let p = - let uu___19 = - FStarC_Syntax_Syntax.lid_of_fv - fv in - FStarC_Ident.path_of_lid uu___19 in - let r = - FStarC_Compiler_Path.search_forest - (FStarC_Class_Ord.ord_eq - FStarC_Class_Ord.ord_string) - p namespaces in - yesno r in - [uu___18] 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 - comb_or uu___7 in - meets_some_criterion)) - | (uu___, uu___1, uu___2, uu___3, uu___4, uu___5) when - (FStar_Pervasives_Native.uu___is_Some - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr) - && - (FStarC_Compiler_List.existsb - (fun fa -> - FStarC_Syntax_Util.has_attribute attrs fa) - (FStar_Pervasives_Native.__proj__Some__item__v - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr)) - -> - (FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___7 -> - FStarC_Compiler_Util.print_string - " >> forbidden by attribute, not unfolding\n"); - no) - | uu___ -> default_unfolding ()) in - FStarC_TypeChecker_Cfg.log_unfolding cfg - (fun uu___1 -> - let uu___2 = - FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in - let uu___3 = - let uu___4 = FStarC_Syntax_Syntax.range_of_fv fv in - FStarC_Class_Show.show - FStarC_Compiler_Range_Ops.showable_range uu___4 in - let uu___4 = - FStarC_Class_Show.show - (FStarC_Class_Show.show_tuple3 - FStarC_Class_Show.showable_bool - FStarC_Class_Show.showable_bool - FStarC_Class_Show.showable_bool) res in - FStarC_Compiler_Util.print3 - "should_unfold: For %s (%s), unfolding res = %s\n" uu___2 - uu___3 uu___4); - (let r = - match res with - | (false, uu___1, uu___2) -> Should_unfold_no - | (true, false, false) -> Should_unfold_yes - | (true, true, false) -> Should_unfold_fully - | (true, false, true) -> Should_unfold_reify - | uu___1 -> - let uu___2 = - let uu___3 = - FStarC_Class_Show.show - (FStarC_Class_Show.show_tuple3 - FStarC_Class_Show.showable_bool - FStarC_Class_Show.showable_bool - FStarC_Class_Show.showable_bool) res in - FStarC_Compiler_Util.format1 - "Unexpected unfolding result: %s" uu___3 in - failwith uu___2 in - (let uu___2 = - ((((FStar_Pervasives_Native.uu___is_Some - (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr) - && - (let uu___3 = FStarC_Options.no_plugins () in - Prims.op_Negation uu___3)) - && (r <> Should_unfold_no)) - && - (FStarC_Compiler_Util.for_some - (FStarC_Syntax_Util.is_fvar - FStarC_Parser_Const.plugin_attr) attrs)) - && - (let uu___3 = - FStarC_Compiler_Effect.op_Bang plugin_unfold_warn_ctr in - uu___3 > Prims.int_zero) in - if uu___2 - then - let msg = - let uu___3 = - FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in - FStarC_Compiler_Util.format1 - "Unfolding name which is marked as a plugin: %s" uu___3 in - (FStarC_Errors.log_issue FStarC_Class_HasRange.hasRange_range - (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.p - FStarC_Errors_Codes.Warning_UnfoldPlugin () - (Obj.magic FStarC_Errors_Msg.is_error_message_string) - (Obj.magic msg); - (let uu___4 = - let uu___5 = - FStarC_Compiler_Effect.op_Bang plugin_unfold_warn_ctr in - uu___5 - Prims.int_one in - FStarC_Compiler_Effect.op_Colon_Equals plugin_unfold_warn_ctr - uu___4)) - else ()); - r) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Cardinality_Universes.ml b/ocaml/fstar-lib/generated/FStar_Cardinality_Universes.ml deleted file mode 100644 index 83ef61cc385..00000000000 --- a/ocaml/fstar-lib/generated/FStar_Cardinality_Universes.ml +++ /dev/null @@ -1,8 +0,0 @@ -open Prims -type 'dummyV0 type_powerset = - | Mk of (unit -> Prims.bool) -let (uu___is_Mk : (unit -> Prims.bool) -> unit type_powerset -> Prims.bool) = - fun uu___ -> fun projectee -> true -let (__proj__Mk__item__f : - (unit -> Prims.bool) -> unit type_powerset -> unit -> Prims.bool) = - fun uu___ -> fun projectee -> match projectee with | Mk f -> f \ No newline at end of file diff --git a/src/.gitignore b/src/.gitignore deleted file mode 100644 index dd882bda3cd..00000000000 --- a/src/.gitignore +++ /dev/null @@ -1,16 +0,0 @@ -ocaml.ml -fstarml.cm[io] -fsharp-output -/backend/ -u_boot_fsts -u_ocaml-output - -dep.graph -dep_simpl.graph -depgraph.pdf - -[Bb]in/ -[Oo]bj/ - -Makefile.local -*.bak diff --git a/src/FStarCompiler.fst.config.json b/src/FStarCompiler.fst.config.json index d59e9c396f6..cf7dee212cc 100644 --- a/src/FStarCompiler.fst.config.json +++ b/src/FStarCompiler.fst.config.json @@ -1,31 +1,15 @@ { - "fstar_exe": "../bin/fstar.exe", + "fstar_exe": "../stage0/bin/fstar.exe", "options": [ "--MLish", - "--MLish_effect", "FStarC.Compiler.Effect", + "--MLish_effect", "FStarC.Effect", "--lax", - "--cache_dir", - ".cache.boot", - "--no_location_info", + "--cache_dir", "../stage1/fstarc.checked", "--warn_error", - "-271-272-241-319-274" + "-271-272-241-319-274", + "--no_default_includes" ], "include_dirs": [ - "../ulib", - "basic", - "class", - "data", - "extraction", - "fstar", - "parser", - "prettyprint", - "reflection", - "smtencoding", - "syntax", - "syntax/print", - "tactics", - "tosyntax", - "typechecker", - "tests" + ".", "../ulib" ] } diff --git a/src/Makefile b/src/Makefile deleted file mode 100644 index 6166f754a8d..00000000000 --- a/src/Makefile +++ /dev/null @@ -1,74 +0,0 @@ -# -*- Makefile -*- -include Makefile.config -export FSTAR_HOME # because of the recursive calls to `make` - -# -------------------------------------------------------------------- -.SUFFIXES: -MAKEFLAGS += --no-builtin-rules - -.PHONY: clean boot ocaml - -all: - $(error src/Makefile: Need to specify a rule) - -clean: clean-ocaml - -# -------------------------------------------------------------------- -# Bootstrapping in OCaml: The main logic is in Makefile.boot. -# -------------------------------------------------------------------- - -clean_boot: - $(Q)rm -rf .cache.boot - $(Q)rm -f ._depend - $(Q)rm -f .depend - -# -------------------------------------------------------------------------------- -# Now we have some make targets wrap calls to other makefiles, -# Notably, Makefile.boot, to extract ocaml from the compiler sources -# And ocaml-output/Makefile, to actually build the compiler in OCaml -# -------------------------------------------------------------------------------- -ocaml: - $(Q)+$(MAKE) -f Makefile.boot all-ml - -clean-ocaml: clean_boot - +$(Q)$(MAKE) -C ocaml-output clean - -# -------------------------------------------------------------------- -# 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 - -.PHONY: uregressions -uregressions: tutorial utests uexamples - -.PHONY: tutorial -tutorial: book-code tutorial-old - -.PHONY: book-code -book-code: - +$(MAKE) -C ../doc/book/code - -.PHONY: tutorial-old -tutorial-old: - +$(MAKE) -C ../doc/old/tutorial regressions - -.PHONY: utests -utests: - +$(MAKE) -C ../tests all - -.PHONY: uexamples -uexamples: examples-all - -.PHONY: examples-all -examples-all: - +$(MAKE) -C ../examples all - -ctags: - ctags --exclude=boot_fsts --exclude=boot_fstis --exclude=ocaml-output -R . diff --git a/src/Makefile.boot b/src/Makefile.boot deleted file mode 100644 index ac97ba48390..00000000000 --- a/src/Makefile.boot +++ /dev/null @@ -1,111 +0,0 @@ -include Makefile.config - -FSTAR_HOME ?= .. - -# Provides variables INCLUDE_PATHS, FSTAR_BOOT_OPTIONS, -# and CACHE_DIR, shared with interactive mode targets -include Makefile.boot.common - -# This variable can be defined to the path of a different F* binary for -# bootstrapping (and only bootstrapping: the library will be checked -# with the newly-compiled F*). This is useful when developing some -# breaking changes that may not bootstrap. It can be passed as an -# argument to make or via the environment. -FSTAR_BOOT ?= $(FSTAR) - -# FSTAR_C: This is the way in which we invoke F* for boostrapping -# -- we use automatic dependence analysis based on files in ulib, src/{basic, ...} and boot -# -- MLish and lax tune type-inference for use with unverified ML programs -DUNE_SNAPSHOT ?= $(call maybe_cygwin_path,$(FSTAR_HOME)/ocaml) -OUTPUT_DIRECTORY = $(FSTAR_HOME)/src/ocaml-output/fstarc - -FSTAR_BOOT_OPTIONS += --MLish_effect FStarC.Compiler.Effect - -FSTAR_C=$(RUNLIM) $(FSTAR_BOOT) $(SIL) $(FSTAR_BOOT_OPTIONS) --cache_checked_modules - -# Tests.* goes to fstar-tests, the rest to fstar-lib -OUTPUT_DIRECTORY_FOR = $(if $(findstring FStarC_Tests_,$(1)),$(DUNE_SNAPSHOT)/fstar-tests/generated,$(OUTPUT_DIRECTORY)) - -EXTRACT_NAMESPACES=FStarC # It's that easy! - -# 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.Order - -# And there are a few specific files that should not be extracted at -# all, despite being in one of the EXTRACT_NAMESPACES -NO_EXTRACT=FStarC.Tactics.Native FStarC.Tactics.Load \ - FStarC.Extraction.ML.PrintML FStarC.Compiler.List - -EXTRACT = $(addprefix --extract_module , $(EXTRACT_MODULES)) \ - $(addprefix --extract_namespace , $(EXTRACT_NAMESPACES)) \ - $(addprefix --no_extract , $(NO_EXTRACT)) - -# We first lax type-check each file, producing a .checked.lax file -# We touch the file, because if F* determined that the .checked.lax -# file was already up to date, it doesn't touch it. Touching it here -# ensures that if this rule is successful then %.checked.lax is more -# recent than its dependences. -%.checked.lax: - $(call msg, "LAXCHECK", $(basename $(basename $(notdir $@)))) - $(Q)$(BENCHMARK_PRE) $(FSTAR_C) --already_cached '*,'-$(basename $(notdir $<)) \ - $(if $(findstring /ulib/,$<),,--MLish) \ - $< - $(Q)@touch -c $@ - -# And then, in a separate invocation, from each .checked.lax we -# extract an .ml file -%.ml: - $(call msg, "EXTRACT", $(notdir $@)) - $(Q)$(BENCHMARK_PRE) $(FSTAR_C) $(notdir $(subst .checked.lax,,$<)) \ - --odir "$(call OUTPUT_DIRECTORY_FOR,"$@")" \ - $(if $(findstring /ulib/,$<),,--MLish) \ - --codegen Plugin \ - --extract_module $(basename $(notdir $(subst .checked.lax,,$<))) - -# -------------------------------------------------------------------- -# Dependency analysis for bootstrapping -# -------------------------------------------------------------------- - -# The dependence analysis starts from the main file and the unit-tests -# file as the roots, mentioning the the modules that are to be -# extracted. This emits dependences for each of the ML files we want -# to produce. -# -# We do an indirection via ._depend so we don't write an empty file if -# the dependency analysis failed. - -.depend: - $(call msg, "DEPEND") - $(Q)$(FSTAR_C) --dep full \ - fstar/FStarC.Main.fst \ - tests/FStarC.Tests.Test.fst \ - --odir $(OUTPUT_DIRECTORY) \ - $(EXTRACT) \ - --output_deps_to ._depend - @# We've generated deps for everything into fstar-lib/generated. - @# Here we fix up the .depend file to move tests out of the library. - $(Q)$(SED) 's,src/ocaml-output/fstarc/FStarC_Test,ocaml/fstar-tests/generated/FStarC_Test,g' <._depend >.depend - $(Q)mkdir -p $(CACHE_DIR) - -.PHONY: dep.graph -dep.graph: - $(call msg, "DEPEND") - $(Q)$(FSTAR_C) --dep graph \ - fstar/FStarC.Main.fst \ - tests/FStarC.Tests.Test.fst \ - $(EXTRACT) \ - --output_deps_to dep.graph - -depgraph.pdf: dep.graph - $(Q)$(FSTAR_HOME)/.scripts/simpl_graph.py dep.graph > dep_simpl.graph - $(call msg, "DOT", $@) - $(Q)dot -Tpdf -o $@ dep_simpl.graph - -depend: .depend - -include .depend - -all-ml: $(ALL_ML_FILES) diff --git a/src/Makefile.boot.common b/src/Makefile.boot.common deleted file mode 100644 index 40a8fcf8085..00000000000 --- a/src/Makefile.boot.common +++ /dev/null @@ -1,29 +0,0 @@ -# Makefiles in the following subdirectories include this file for the interactive mode targets %.fs-in and %.fsi-in -# Makefile.boot includes it too for bootstrapping -# Makefiles that include it should define FSTAR_HOME before the include - -INCLUDE_PATHS = \ - basic \ - class \ - data \ - extraction \ - fstar \ - parser \ - prettyprint \ - reflection \ - smtencoding \ - syntax \ - syntax/print \ - tactics \ - tosyntax \ - typechecker \ - tests - -CACHE_DIR?=$(FSTAR_HOME)/src/.cache.boot - -# 274, else we get a warning for shadowing parse.fsi, when opening FStar.Parser namespace - -FSTAR_BOOT_OPTIONS=$(OTHERFLAGS) --lax --no_location_info --warn_error -271-272-241-319-274 --cache_dir $(CACHE_DIR) $(addprefix --include , $(addprefix $(FSTAR_HOME)/src/,$(INCLUDE_PATHS))) - -%.fsti-in %.fst-in: - @echo $(FSTAR_BOOT_OPTIONS) diff --git a/src/Makefile.config b/src/Makefile.config deleted file mode 100644 index fd22c0227da..00000000000 --- a/src/Makefile.config +++ /dev/null @@ -1,19 +0,0 @@ -FSTAR_HOME=.. -include $(FSTAR_HOME)/.common.mk -include $(FSTAR_HOME)/ulib/gmake/z3.mk # This pins $(Z3) ... -include $(FSTAR_HOME)/ulib/gmake/fstar.mk # and $(FSTAR) for all sub-make calls - -# -------------------------------------------------------------------- -BIN=../bin - -# -------------------------------------------------------------------- -# Configuration of some platform-specific tools; eventually we will want a configure script - -DOS2UNIX=$(shell which dos2unix >/dev/null 2>&1 && echo dos2unix || echo true) - -# Use options compatible between BSD and GNU versions, on macOS and Linux -HEAD=head -SED=sed -FIND=find - -# -------------------------------------------------------------------- diff --git a/src/README b/src/README index 701ee7e95ed..86f34f61329 100644 --- a/src/README +++ b/src/README @@ -6,8 +6,8 @@ Some files are written directly in OCaml: * The lexer: uses the OCaml Sedlexing library - * Some basic system utilities, like FStarC.Compiler.Util only has an - interface in F* and is implemented as FStarC_Compiler_Util.ml + * Some basic system utilities, like FStarC.Util only has an + interface in F* and is implemented as FStarC_Util.ml -------------------------------------------------------------------------------- diff --git a/src/basic/FStarC.Basefiles.fst b/src/basic/FStarC.Basefiles.fst index 7109ba5184e..a521ff9be45 100644 --- a/src/basic/FStarC.Basefiles.fst +++ b/src/basic/FStarC.Basefiles.fst @@ -1,10 +1,10 @@ module FStarC.Basefiles open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect module O = FStarC.Options -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module E = FStarC.Errors let must_find (fn:string) : string = diff --git a/src/basic/FStarC.Basefiles.fsti b/src/basic/FStarC.Basefiles.fsti index f1653beaa4d..76410a129c7 100644 --- a/src/basic/FStarC.Basefiles.fsti +++ b/src/basic/FStarC.Basefiles.fsti @@ -1,6 +1,6 @@ module FStarC.Basefiles -open FStarC.Compiler.Effect +open FStarC.Effect val prims : unit -> string val prims_basename : unit -> string diff --git a/src/basic/FStarC.BigInt.fsti b/src/basic/FStarC.BigInt.fsti index 71bdc97a150..d7d00056d00 100644 --- a/src/basic/FStarC.BigInt.fsti +++ b/src/basic/FStarC.BigInt.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.BigInt -open FStarC.Compiler.Effect +open FStarC.Effect type bigint type t = bigint diff --git a/src/basic/FStarC.Bytes.fsti b/src/basic/FStarC.Bytes.fsti new file mode 100644 index 00000000000..a7407511dbd --- /dev/null +++ b/src/basic/FStarC.Bytes.fsti @@ -0,0 +1,36 @@ +(* + Copyright 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 FStarC.Bytes +open FStarC.Effect +open FStarC.BaseTypes + +type bytes = array byte +val length : bytes -> int +val get: bytes -> int -> int +val zero_create : int -> bytes +val string_as_unicode_bytes: string -> bytes +val unicode_bytes_as_string: bytes -> string +val utf8_bytes_as_string: bytes -> string +val append: bytes -> bytes -> bytes +val make: (int -> int) -> int -> bytes + +type bytebuf +val create: int -> bytebuf +val close : bytebuf -> bytes +val emit_int_as_byte: bytebuf -> int -> unit +val emit_bytes: bytebuf -> bytes -> unit + +val f_encode: (byte -> string) -> bytes -> string diff --git a/src/basic/FStarC.Common.fst b/src/basic/FStarC.Common.fst index e82f0e9703b..f29fa57c27a 100644 --- a/src/basic/FStarC.Common.fst +++ b/src/basic/FStarC.Common.fst @@ -17,37 +17,9 @@ *) module FStarC.Common -open FStarC.Compiler.Effect -module List = FStarC.Compiler.List -module BU = FStarC.Compiler.Util - -let has_cygpath = - try - let t_out = BU.run_process "has_cygpath" "which" ["cygpath"] None in - BU.trim_string t_out = "/usr/bin/cygpath" - with - | _ -> false - -//try to convert filename passed from the editor to mixed path -//that works on both cygwin and native windows -//noop if not on cygwin -//on cygwin emacs this is required - -let try_convert_file_name_to_mixed = - let cache = BU.smap_create 20 in - fun (s:string) -> - if has_cygpath - && BU.starts_with s "/" then - match BU.smap_try_find cache s with - | Some s -> - s - | None -> - let label = "try_convert_file_name_to_mixed" in - let out = BU.run_process label "cygpath" ["-m"; s] None |> BU.trim_string in - BU.smap_add cache s out; - out - else - s +open FStarC.Effect +module List = FStarC.List +module BU = FStarC.Util let snapshot (push: 'a -> 'b) (stackref: ref (list 'c)) (arg: 'a) : (int & 'b) = BU.atomically (fun () -> let len : int = List.length !stackref in @@ -55,7 +27,7 @@ let snapshot (push: 'a -> 'b) (stackref: ref (list 'c)) (arg: 'a) : (int & 'b) = (len, arg')) let rollback (pop: unit -> 'a) (stackref: ref (list 'c)) (depth: option int) = - let rec aux n = + let rec aux n : 'a = if n <= 0 then failwith "Too many pops" else if n = 1 then pop () else (ignore (pop ()); aux (n - 1)) in @@ -87,8 +59,8 @@ let __string_of_list (delim:string) (f : 'a -> string) (l : list 'a) : string = (* Why two? This function was added during a refactoring, and both variants existed. We cannot simply move to ";" since that is a breaking change to anything that parses F* source code (like Vale). *) -let string_of_list = __string_of_list ", " -let string_of_list' = __string_of_list "; " +let string_of_list f l = __string_of_list ", " f l +let string_of_list' f l = __string_of_list "; " f l let list_of_option (o:option 'a) : list 'a = match o with @@ -101,7 +73,7 @@ let string_of_option f = function (* Was List.init, but F* doesn't have this in ulib *) let tabulate (n:int) (f : int -> 'a) : list 'a = - let rec aux i = + let rec aux i : list 'a = if i < n then f i :: aux (i + 1) else [] @@ -127,7 +99,7 @@ let rec max_prefix (f : 'a -> bool) (xs : list 'a) : list 'a & list 'a = * and r is the largest list satisfying that *) let max_suffix (f : 'a -> bool) (xs : list 'a) : list 'a & list 'a = - let rec aux acc xs = + let rec aux acc xs : list 'a & list 'a = match xs with | [] -> acc, [] | x::xs when f x -> diff --git a/src/basic/FStarC.Common.fsti b/src/basic/FStarC.Common.fsti new file mode 100644 index 00000000000..aed00d54c5f --- /dev/null +++ b/src/basic/FStarC.Common.fsti @@ -0,0 +1,63 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.Common +open FStarC.Effect +module List = FStarC.List +module BU = FStarC.Util + +val snapshot (push: 'a -> 'b) (stackref: ref (list 'c)) (arg: 'a) : (int & 'b) + +val rollback (pop: unit -> 'a) (stackref: ref (list 'c)) (depth: option int) : 'a + +val runtime_assert (b:bool) (msg:string) : unit + +(* Why two? This function was added during a refactoring, and +both variants existed. We cannot simply move to ";" since that is a +breaking change to anything that parses F* source code (like Vale). *) +val string_of_list : ('a -> string) -> list 'a -> string +val string_of_list' : ('a -> string) -> list 'a -> string + +val list_of_option (o:option 'a) : list 'a + +val string_of_option (f : 'a -> string) (o : option 'a) : string + +(* Was List.init, but F* doesn't have this in ulib *) +val tabulate (n:int) (f : int -> 'a) : list 'a + +(** max_prefix f xs returns (l, r) such that + * every x in l satisfies f + * l@r == xs + * and l is the largest list satisfying that + *) +val max_prefix (f : 'a -> bool) (xs : list 'a) : list 'a & list 'a + +(** max_suffix f xs returns (l, r) such that + * every x in r satisfies f + * l@r == xs + * and r is the largest list satisfying that + *) +val max_suffix (f : 'a -> bool) (xs : list 'a) : list 'a & list 'a + +val eq_list (f: 'a -> 'a -> bool) (l1 l2 : list 'a) : bool + +val psmap_to_list (m : BU.psmap 'a) : list (string & 'a) +val psmap_keys (m : BU.psmap 'a) : list string +val psmap_values (m : BU.psmap 'a) : list 'a + +val option_to_list (o : option 'a) : list 'a diff --git a/src/basic/FStarC.Compiler.Bytes.fsti b/src/basic/FStarC.Compiler.Bytes.fsti deleted file mode 100644 index 596147aed33..00000000000 --- a/src/basic/FStarC.Compiler.Bytes.fsti +++ /dev/null @@ -1,36 +0,0 @@ -(* - Copyright 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 FStarC.Compiler.Bytes -open FStarC.Compiler.Effect -open FStarC.BaseTypes - -type bytes = array byte -val length : bytes -> int -val get: bytes -> int -> int -val zero_create : int -> bytes -val string_as_unicode_bytes: string -> bytes -val unicode_bytes_as_string: bytes -> string -val utf8_bytes_as_string: bytes -> string -val append: bytes -> bytes -> bytes -val make: (int -> int) -> int -> bytes - -type bytebuf -val create: int -> bytebuf -val close : bytebuf -> bytes -val emit_int_as_byte: bytebuf -> int -> unit -val emit_bytes: bytebuf -> bytes -> unit - -val f_encode: (byte -> string) -> bytes -> string diff --git a/src/basic/FStarC.Compiler.Debug.fst b/src/basic/FStarC.Compiler.Debug.fst deleted file mode 100644 index 4eea278f0cd..00000000000 --- a/src/basic/FStarC.Compiler.Debug.fst +++ /dev/null @@ -1,104 +0,0 @@ -(* - Copyright 2008-2020 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 FStarC.Compiler.Debug - -module BU = FStarC.Compiler.Util - -(* Mutable state *) -let anyref = BU.mk_ref false -let _debug_all : ref bool = BU.mk_ref false -let toggle_list : ref (list (string & ref bool)) = - BU.mk_ref [] - -type saved_state = { - toggles : list (string & bool); - any : bool; - all : bool; -} - -let snapshot () : saved_state = { - toggles = !toggle_list |> List.map (fun (k, r) -> (k, !r)); - any = !anyref; - all = !_debug_all; -} - -let register_toggle (k : string) : ref bool = - let r = BU.mk_ref false in - if !_debug_all then - r := true; - toggle_list := (k, r) :: !toggle_list; - r - -let get_toggle (k : string) : ref bool = - match List.tryFind (fun (k', _) -> k = k') !toggle_list with - | Some (_, r) -> r - | None -> register_toggle k - -let restore (snapshot : saved_state) : unit = - (* Set everything to false, then set all the saved ones - to true. *) - !toggle_list |> List.iter (fun (_, r) -> r := false); - snapshot.toggles |> List.iter (fun (k, b) -> - let r = get_toggle k in - r := b); - (* Also restore these references. *) - anyref := snapshot.any; - _debug_all := snapshot.all; - () - -let list_all_toggles () : list string = - List.map fst !toggle_list - -let any () = !anyref || !_debug_all - -let tag (s:string) = - if any () then - BU.print_string ("DEBUG:" ^ s ^ "\n") - -let enable () = anyref := true - -let dbg_level = BU.mk_ref 0 - -let low () = !dbg_level >= 1 || !_debug_all -let medium () = !dbg_level >= 2 || !_debug_all -let high () = !dbg_level >= 3 || !_debug_all -let extreme () = !dbg_level >= 4 || !_debug_all - -let set_level_low () = dbg_level := 1 -let set_level_medium () = dbg_level := 2 -let set_level_high () = dbg_level := 3 -let set_level_extreme () = dbg_level := 4 - -let enable_toggles (keys : list string) : unit = - if Cons? keys then enable (); - keys |> List.iter (fun k -> - if k = "Low" then set_level_low () - else if k = "Medium" then set_level_medium () - else if k = "High" then set_level_high () - else if k = "Extreme" then set_level_extreme () - else - let t = get_toggle k in - t := true - ) - -let disable_all () : unit = - anyref := false; - dbg_level := 0; - List.iter (fun (_, r) -> r := false) !toggle_list - -let set_debug_all () : unit = - _debug_all := true diff --git a/src/basic/FStarC.Compiler.Debug.fsti b/src/basic/FStarC.Compiler.Debug.fsti deleted file mode 100644 index 0846155220d..00000000000 --- a/src/basic/FStarC.Compiler.Debug.fsti +++ /dev/null @@ -1,69 +0,0 @@ -(* - Copyright 2008-2020 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 FStarC.Compiler.Debug - -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect - -(* State handling for this module. Used by FStarC.Options, which -is the only module that modifies the debug state. *) -val saved_state : Type0 -val snapshot () : saved_state -val restore (s:saved_state) : unit - -(* Enable debugging. This will make any() return true, but -does not enable any particular toggle. *) -val enable () : unit - -(* Are we doing *any* kind of debugging? *) -val any () : bool - -(* Print a quick message on stdout whenever debug is on. If the string -is not a constant, put this under an if to thunk it. *) -val tag (s : string) : unit - -(* Obtain the toggle for a given debug key *) -val get_toggle (k : string) : ref bool - -(* List all registered toggles *) -val list_all_toggles () : list string - -(* Vanilla debug levels. Each level implies the previous lower one. *) -val low () : bool -val medium () : bool -val high () : bool -val extreme () : bool - -(* Enable a list of debug toggles. If will also call enable() -is key is non-empty, and will recognize "Low", "Medium", -"High", "Extreme" as special and call the corresponding -set_level_* function. *) -val enable_toggles (keys : list string) : unit - -(* Sets the debug level to zero and sets all registered toggles -to false. any() will return false after this. *) -val disable_all () : unit - -(* Nuclear option: enable ALL debug toggles. *) -val set_debug_all () : unit - -(* Not used externally at the moment. *) -val set_level_low () : unit -val set_level_medium () : unit -val set_level_high () : unit -val set_level_extreme () : unit diff --git a/src/basic/FStarC.Compiler.Effect.fsti b/src/basic/FStarC.Compiler.Effect.fsti deleted file mode 100644 index 9be20e2d2ff..00000000000 --- a/src/basic/FStarC.Compiler.Effect.fsti +++ /dev/null @@ -1,60 +0,0 @@ -(* - Copyright 2008-2017 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 FStarC.Compiler.Effect - -new_effect ALL = ALL_h unit - -let all_pre = all_pre_h unit -let all_post' (a : Type) (pre:Type) = all_post_h' unit a pre -let all_post (a : Type) = all_post_h unit a -let all_wp (a : Type) = all_wp_h unit a - -let lift_pure_all (a:Type) (p:pure_wp a) - : all_wp a - = fun post h -> p (fun x -> post (V x) h) - -sub_effect PURE ~> ALL { lift_wp = lift_pure_all } - -sub_effect DIV ~> ALL { lift_wp = lift_pure_all } - -effect All (a:Type) (pre:all_pre) (post:(h:unit -> Tot (all_post' a (pre h)))) = - ALL a - (fun (p : all_post a) (h : unit) -> pre h /\ (forall ra h1. post h ra h1 ==> p ra h1)) - -effect ML (a:Type) = ALL a (fun (p:all_post a) (_:unit) -> forall (a:result a) (h:unit). p a h) - -new -val ref (a:Type) : Type0 - -val (!) (#a:Type) (r:ref a) - : ML a - -val (:=) (#a:Type) (r:ref a) (x:a) - : ML unit - -val alloc (#a:Type) (x:a) - : ML (ref a) - -val raise (e: exn) : ML 'a - -val exit : int -> ML 'a - -val try_with : (unit -> ML 'a) -> (exn -> ML 'a) -> ML 'a - -exception Failure of string - -val failwith : string -> ML 'a diff --git a/src/basic/FStarC.Compiler.Hints.fsti b/src/basic/FStarC.Compiler.Hints.fsti deleted file mode 100644 index fed6c7d33b9..00000000000 --- a/src/basic/FStarC.Compiler.Hints.fsti +++ /dev/null @@ -1,31 +0,0 @@ -module FStarC.Compiler.Hints - -open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect - -(** Hints. *) -type hint = { - hint_name:string; //name associated to the top-level term in the source program - hint_index:int; //the nth query associated with that top-level term - fuel:int; //fuel for unrolling recursive functions - ifuel:int; //fuel for inverting inductive datatypes - unsat_core:option (list string); //unsat core, if requested - query_elapsed_time:int; //time in milliseconds taken for the query, to decide if a fresh replay is worth it - hash:option string; //hash of the smt2 query that last succeeded -} - -type hints = list (option hint) - -type hints_db = { - module_digest:string; - hints: hints -} - -type hints_read_result = - | HintsOK of hints_db - | MalformedJson - | UnableToOpen - -val write_hints: string -> hints_db -> unit -val read_hints: string -> hints_read_result diff --git a/src/basic/FStarC.Compiler.List.fsti b/src/basic/FStarC.Compiler.List.fsti deleted file mode 100644 index 0ec10ad4263..00000000000 --- a/src/basic/FStarC.Compiler.List.fsti +++ /dev/null @@ -1,79 +0,0 @@ -(* - 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 FStarC.Compiler.List -open FStarC.Compiler.Effect -open Prims - -val isEmpty : (list 'a) -> Tot bool -val singleton : 'a -> list 'a -val hd : (list 'a) -> 'a -val length : (list 'a) -> Tot nat -val nth : (list 'a) -> int -> 'a -val rev_acc : (list 'a) -> (list 'a) -> Tot (list 'a) -val rev : (list 'a) -> Tot (list 'a) -val append : (list 'a) -> (list 'a) -> Tot (list 'a) -val ( @ ) : (list 'a) -> (list 'a) -> Tot (list 'a) -val flatten : (list (list 'a)) -> Tot (list 'a) -val iter : ('a -> unit) -> (list 'a) -> unit -val iter2 : ('a -> 'b -> unit) -> (list 'a) -> list 'b -> unit -val iteri : (int -> 'a -> unit) -> (list 'a) -> unit -val map : ('a -> 'b) -> (list 'a) -> (list 'b) -val mapi_init : (int -> 'a -> 'b) -> (list 'a) -> int -> (list 'b) -val mapi : (int -> 'a -> 'b) -> (list 'a) -> (list 'b) -val concatMap : ('a -> (list 'b)) -> (list 'a) -> (list 'b) -val map2 : ('a -> 'b -> 'c) -> (list 'a) -> (list 'b) -> (list 'c) -val map3 : ('a -> 'b -> 'c -> 'd) -> (list 'a) -> (list 'b) -> (list 'c) -> (list 'd) -val fold_left : ('a -> 'b -> 'a) -> 'a -> (list 'b) -> 'a -val fold_left2 : ('s -> 'a -> 'b -> 's) -> 's -> (list 'a) -> (list 'b) -> 's -val fold_right : ('a -> 'b -> 'b) -> (list 'a) -> 'b -> 'b -val fold_right2 : ('a -> 'b -> 'c -> 'c) -> list 'a -> list 'b -> 'c -> 'c -val rev_map_onto : ('a -> 'b) -> (list 'a) -> (list 'b) -> (list 'b) -val init : (list 'a) -> list 'a -val last : (list 'a) -> 'a -val last_opt : list 'a -> option 'a -val existsb : f:('a -> bool) -> (list 'a) -> bool -val existsML : f:('a -> bool) -> (list 'a) -> bool -val find : f:('a -> bool) -> (list 'a) -> (option 'a) -val filter : ('a -> bool) -> (list 'a) -> (list 'a) -val for_all : ('a -> bool) -> (list 'a) -> bool -val forall2 : ('a -> 'b -> bool) -> (list 'a) -> (list 'b) -> bool -val collect : ('a -> (list 'b)) -> (list 'a) -> (list 'b) -val tryFind : ('a -> bool) -> (list 'a) -> (option 'a) -val tryPick : ('a -> (option 'b)) -> (list 'a) -> (option 'b) -val choose : ('a -> (option 'b)) -> (list 'a) -> (list 'b) -val partition : ('a -> bool) -> (list 'a) -> ((list 'a) & (list 'a)) -val splitAt : int -> list 'a -> list 'a & list 'a -val split : (list ('a & 'b)) -> Tot ((list 'a) & (list 'b)) -val unzip3 : list ('a & 'b & 'c) -> Tot ((list 'a) & (list 'b) & (list 'c)) -val zip : (list 'a) -> (list 'b) -> (list ('a & 'b)) -val zip3 : (list 'a) -> (list 'b) -> (list 'c) -> (list ('a & 'b & 'c)) -val sortWith : ('a -> 'a -> int) -> (list 'a) -> (list 'a) -val bool_of_compare : ('a -> 'a -> Tot int) -> 'a -> 'a -> Tot bool -val tail : (list '_1225) -> (list '_1225) -val tl : list '_1230 -> list '_1230 -val rev_append : (list '_5110) -> (list '_5110) -> Tot (list '_5110) -val concat : (list (list '_6116)) -> Tot (list '_6116) -val unzip : (list ('_36948 & '_36947)) -> Tot ((list '_36948) & (list '_36947)) -val filter_map: ('a -> option 'b) -> list 'a -> list 'b -val count: #a:eqtype -> a -> (list a) -> Tot nat -val mem: #a:eqtype -> a -> (list a) -> Tot bool -val assoc: #a:eqtype -> #b:Type -> a -> (list (a & b)) -> Tot (option b) -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 -val fold_left_map (f: 'a -> 'b -> 'a & 'c) (s: 'a) (l: list 'b) : 'a & list 'c diff --git a/src/basic/FStarC.Compiler.MachineInts.fst b/src/basic/FStarC.Compiler.MachineInts.fst deleted file mode 100644 index b7420b0c020..00000000000 --- a/src/basic/FStarC.Compiler.MachineInts.fst +++ /dev/null @@ -1,171 +0,0 @@ -module FStarC.Compiler.MachineInts - -(* A type representing all the kinds of machine integers, and an -embedding instance for them. *) - -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Syntax.Syntax - -module EMB = FStarC.Syntax.Embeddings -module NBE = FStarC.TypeChecker.NBETerm -module PC = FStarC.Parser.Const -module S = FStarC.Syntax.Syntax -module SS = FStarC.Syntax.Subst -module U = FStarC.Syntax.Util -module Z = FStarC.BigInt - -open FStarC.Class.Show -open FStarC.Class.Monad - -let all_machint_kinds = - [Int8; Int16; Int32; Int64; UInt8; UInt16; UInt32; UInt64; UInt128; SizeT] - -let is_unsigned (k : machint_kind) : bool = - match k with - | Int8 - | Int16 - | Int32 - | Int64 -> false - | UInt8 - | UInt16 - | UInt32 - | UInt64 - | UInt128 - | SizeT -> true -let is_signed k = not (is_unsigned k) - -let width (k : machint_kind) : int = - match k with - | Int8 -> 8 - | Int16 -> 16 - | Int32 -> 32 - | Int64 -> 64 - | UInt8 -> 8 - | UInt16 -> 16 - | UInt32 -> 32 - | UInt64 -> 64 - | UInt128 -> 128 - | SizeT -> 64 - -let module_name_for (k:machint_kind) : string = - match k with - | Int8 -> "Int8" - | Int16 -> "Int16" - | Int32 -> "Int32" - | Int64 -> "Int64" - | UInt8 -> "UInt8" - | UInt16 -> "UInt16" - | UInt32 -> "UInt32" - | UInt64 -> "UInt64" - | UInt128 -> "UInt128" - | SizeT -> "SizeT" - -let mask (k:machint_kind) : Z.t = - match width k with - | 8 -> Z.of_hex "ff" - | 16 -> Z.of_hex "ffff" - | 32 -> Z.of_hex "ffffffff" - | 64 -> Z.of_hex "ffffffffffffffff" - | 128 -> Z.of_hex "ffffffffffffffffffffffffffffffff" - -let int_to_t_lid_for (k:machint_kind) : Ident.lid = - let path = "FStar" :: module_name_for k :: (if is_unsigned k then "uint_to_t" else "int_to_t") :: [] in - Ident.lid_of_path path Range.dummyRange - -let int_to_t_for (k:machint_kind) : S.term = - let lid = int_to_t_lid_for k in - S.fvar lid None - -let __int_to_t_lid_for (k:machint_kind) : Ident.lid = - let path = "FStar" :: module_name_for k :: (if is_unsigned k then "__uint_to_t" else "__int_to_t") :: [] in - Ident.lid_of_path path Range.dummyRange - -let __int_to_t_for (k:machint_kind) : S.term = - let lid = __int_to_t_lid_for k in - S.fvar lid None - -(* just a newtype really, no checks or conditions here *) -type machint (k : machint_kind) = | Mk : Z.t -> option S.meta_source_info -> machint k - -let mk #k x m = Mk #k x m -let v #k (x : machint k) = - let Mk v _ = x in v -let meta #k (x : machint k) = - let Mk _ meta = x in meta -let make_as #k (x : machint k) (z : Z.t) : machint k = - Mk z (meta x) - -(* just for debugging *) -instance showable_bounded_k k : Tot (showable (machint k)) = { - show = (function Mk x m -> "machine integer " ^ show (Z.to_int_fs x) ^ "@@" ^ module_name_for k); -} - -instance e_machint (k : machint_kind) : Tot (EMB.embedding (machint k)) = - let with_meta_ds r t (m:option meta_source_info) = - match m with - | None -> t - | Some m -> S.mk (Tm_meta {tm=t; meta=Meta_desugared m}) r - in - let em (x : machint k) rng shadow cb = - let Mk i m = x in - let it = EMB.embed i rng None cb in - let int_to_t = int_to_t_for k in - let t = S.mk_Tm_app int_to_t [S.as_arg it] rng in - with_meta_ds rng t m - in - let un (t:term) cb : option (machint k) = - let (t, m) = - (match (SS.compress t).n with - | Tm_meta {tm=t; meta=Meta_desugared m} -> (t, Some m) - | _ -> (t, None)) - in - let t = U.unmeta_safe t in - match (SS.compress t).n with - | Tm_app {hd; args=[(a,_)]} when U.is_fvar (int_to_t_lid_for k) hd - || U.is_fvar (__int_to_t_lid_for k) hd -> - let a = U.unlazy_emb a in - let! a : Z.t = EMB.try_unembed a cb in - Some (Mk a m) - | _ -> - None - in - EMB.mk_emb_full em un - (fun () -> S.fvar (Ident.lid_of_path ["FStar"; module_name_for k; "t"] Range.dummyRange) None) - (fun _ -> "boundedint") - (fun () -> ET_abstract) - -instance nbe_machint (k : machint_kind) : Tot (NBE.embedding (machint k)) = - let open NBE in - let with_meta_ds t (m:option meta_source_info) = - match m with - | None -> t - | Some m -> NBE.mk_t (Meta(t, Thunk.mk (fun _ -> Meta_desugared m))) - in - let em cbs (x : machint k) = - let Mk i m = x in - let it = embed e_int cbs i in - let int_to_t args = mk_t <| FV (S.lid_as_fv (__int_to_t_lid_for k) None, [], args) in - let t = int_to_t [as_arg it] in - with_meta_ds t m - in - let un cbs a : option (machint k) = - let (a, m) = - (match a.nbe_t with - | Meta(t, tm) -> - (match Thunk.force tm with - | Meta_desugared m -> (t, Some m) - | _ -> (a, None)) - | _ -> (a, None)) - in - match a.nbe_t with - | FV (fv1, [], [(a, _)]) when Ident.lid_equals (fv1.fv_name.v) (int_to_t_lid_for k) -> - let! a : Z.t = unembed e_int cbs a in - Some (Mk a m) - | _ -> None - in - mk_emb em un - (fun () -> mkFV (lid_as_fv (Ident.lid_of_path ["FStar"; module_name_for k; "t"] Range.dummyRange) None) [] []) - (fun () -> ET_abstract) - diff --git a/src/basic/FStarC.Compiler.MachineInts.fsti b/src/basic/FStarC.Compiler.MachineInts.fsti deleted file mode 100644 index 0e5bd4d052a..00000000000 --- a/src/basic/FStarC.Compiler.MachineInts.fsti +++ /dev/null @@ -1,48 +0,0 @@ -module FStarC.Compiler.MachineInts - -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect - -module EMB = FStarC.Syntax.Embeddings -module NBE = FStarC.TypeChecker.NBETerm -module S = FStarC.Syntax.Syntax -module Z = FStarC.BigInt - -open FStarC.Class.Show - -type machint_kind = - | Int8 - | Int16 - | Int32 - | Int64 - | UInt8 - | UInt16 - | UInt32 - | UInt64 - | UInt128 - | SizeT - -val all_machint_kinds : list machint_kind - -val is_unsigned (k : machint_kind) : bool -val is_signed (k : machint_kind) : bool -val width (k : machint_kind) : int -val module_name_for (k:machint_kind) : string -val mask (k:machint_kind) : Z.t - -new val machint (k : machint_kind) : Type0 - -val mk (#k:_) (i : Z.t) (m : option S.meta_source_info) : machint k // no checks at all, use with care -val v #k (x : machint k) : Z.t -val meta #k (x : machint k) : option S.meta_source_info - -(* Make a machint k copying the meta off an existing one *) -val make_as #k (x : machint k) (z : Z.t) : machint k - -instance val showable_bounded_k k : Tot (showable (machint k)) -instance val e_machint (k : machint_kind) : Tot (EMB.embedding (machint k)) - -instance val nbe_machint (k : machint_kind) : Tot (NBE.embedding (machint k)) -// ^ This instance being here is slightly fishy. It blows up the dependency -// graph of this module. diff --git a/src/basic/FStarC.Compiler.Misc.fst b/src/basic/FStarC.Compiler.Misc.fst deleted file mode 100644 index f9039b6db12..00000000000 --- a/src/basic/FStarC.Compiler.Misc.fst +++ /dev/null @@ -1,16 +0,0 @@ -module FStarC.Compiler.Misc - -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util - -open FStarC.Compiler.Order -open FStar.String - -let compare_version (v1 v2 : string) : order = - let cs1 = String.split ['.'] v1 |> List.map int_of_string in - let cs2 = String.split ['.'] v2 |> List.map int_of_string in - compare_list cs1 cs2 compare_int - -let version_gt v1 v2 = compare_version v1 v2 = Gt -let version_ge v1 v2 = compare_version v1 v2 <> Lt diff --git a/src/basic/FStarC.Compiler.Misc.fsti b/src/basic/FStarC.Compiler.Misc.fsti deleted file mode 100644 index d0a18fc1fa8..00000000000 --- a/src/basic/FStarC.Compiler.Misc.fsti +++ /dev/null @@ -1,10 +0,0 @@ -module FStarC.Compiler.Misc - -open FStarC.Compiler.Effect - -(* This functions compare version numbers. E.g. "4.8.5" and "4.12.3". -NOTE: the versions cannot contain any alphabetic character, only numbers -are allowed for now. *) - -val version_gt : string -> string -> bool -val version_ge : string -> string -> bool diff --git a/src/basic/FStarC.Compiler.Option.fst b/src/basic/FStarC.Compiler.Option.fst deleted file mode 100644 index 94debfd6fce..00000000000 --- a/src/basic/FStarC.Compiler.Option.fst +++ /dev/null @@ -1,38 +0,0 @@ -(* - 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 FStarC.Compiler.Option - -open FStarC.Compiler.Effect - -let isNone = function - | None -> true - | Some _ -> false - -let isSome = function - | Some _ -> true - | None -> false - -let map f = function - | Some x -> Some (f x) - | None -> None - -let mapTot f = function - | Some x -> Some (f x) - | None -> None - -let get = function - | Some x -> x - | None -> failwith "empty option" diff --git a/src/basic/FStarC.Compiler.Option.fsti b/src/basic/FStarC.Compiler.Option.fsti deleted file mode 100644 index 976f7c16391..00000000000 --- a/src/basic/FStarC.Compiler.Option.fsti +++ /dev/null @@ -1,24 +0,0 @@ -(* - 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 FStarC.Compiler.Option -open Prims -open FStarC.Compiler.Effect - -val isNone: option 'a -> Tot bool -val isSome: option 'a -> Tot bool -val map: ('a -> ML 'b) -> option 'a -> ML (option 'b) -val mapTot: ('a -> Tot 'b) -> option 'a -> Tot (option 'b) -val get: option 'a -> ML 'a diff --git a/src/basic/FStarC.Compiler.Order.fst b/src/basic/FStarC.Compiler.Order.fst deleted file mode 100644 index 6fdc2def7e1..00000000000 --- a/src/basic/FStarC.Compiler.Order.fst +++ /dev/null @@ -1,74 +0,0 @@ -(* - Copyright 2008-2020 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 FStarC.Compiler.Order -open FStarC.Compiler.Effect -module List = FStarC.Compiler.List - -type order = | Lt | Eq | Gt - -// Some derived checks -let ge (o : order) : bool = o <> Lt -let le (o : order) : bool = o <> Gt -let ne (o : order) : bool = o <> Eq - -// Just for completeness and consistency... -let gt (o : order) : bool = o = Gt -let lt (o : order) : bool = o = Lt -let eq (o : order) : bool = o = Eq - -// Lexicographical combination, thunked to be lazy -let lex (o1 : order) (o2 : unit -> order) : order = - match o1, o2 with - | Lt, _ -> Lt - | Eq, _ -> o2 () - | Gt, _ -> Gt - -let order_from_int (i : int) : order = - if i < 0 then Lt - else if i = 0 then Eq - else Gt - -let compare_int (i : int) (j : int) : order = order_from_int (i - j) - -let compare_bool (b1 b2 : bool) : order = - match b1, b2 with - | false, true -> Lt - | true, false -> Gt - | _ -> Eq - -(* - * It promises to call the comparator in strictly smaller elements - * Useful when writing a comparator for an inductive type, - * that contains the list of itself as an argument to one of its - * data constructors - *) -let rec compare_list (#a:Type) - (l1 l2:list a) - (f:(x:a{x << l1} -> y:a{y << l2} -> order)) - : order - = match l1, l2 with - | [], [] -> Eq - | [], _ -> Lt - | _, [] -> Gt - | x::xs, y::ys -> lex (f x y) (fun _ -> compare_list xs ys f) - -let compare_option (f : 'a -> 'a -> order) (x : option 'a) (y : option 'a) : order = - match x, y with - | None , None -> Eq - | None , Some _ -> Lt - | Some _ , None -> Gt - | Some x , Some y -> f x y diff --git a/src/basic/FStarC.Compiler.Plugins.Base.fsti b/src/basic/FStarC.Compiler.Plugins.Base.fsti deleted file mode 100644 index 052a773350e..00000000000 --- a/src/basic/FStarC.Compiler.Plugins.Base.fsti +++ /dev/null @@ -1,23 +0,0 @@ -(* - 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 FStarC.Compiler.Plugins.Base - -open FStarC.Compiler.Effect - -exception DynlinkError of string - -val dynlink_loadfile : string -> unit diff --git a/src/basic/FStarC.Compiler.Plugins.fst b/src/basic/FStarC.Compiler.Plugins.fst deleted file mode 100644 index 4eedcaf8221..00000000000 --- a/src/basic/FStarC.Compiler.Plugins.fst +++ /dev/null @@ -1,134 +0,0 @@ -(* - 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 FStarC.Compiler.Plugins - -open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Plugins.Base - -module BU = FStarC.Compiler.Util -module E = FStarC.Errors -module O = FStarC.Options -open FStarC.Class.Show - -let loaded : ref (list string) = BU.mk_ref [] - -let pout s = if Debug.any () then BU.print_string s -let pout1 s x = if Debug.any () then BU.print1 s x -let perr s = if Debug.any () then BU.print_error s -let perr1 s x = if Debug.any () then BU.print1_error s x - -let dynlink (fname:string) : unit = - if List.mem fname !loaded then ( - pout1 "Plugin %s already loaded, skipping\n" fname - ) else ( - pout ("Attempting to load " ^ fname ^ "\n"); - begin try - dynlink_loadfile fname - with DynlinkError e -> - E.log_issue0 E.Error_PluginDynlink [ - E.text (BU.format1 "Failed to load plugin file %s" fname); - Pprint.prefix 2 1 (E.text "Reason:") (E.text e); - E.text (BU.format1 "Remove the `--load` option or use `--warn_error -%s` to ignore and continue." - (show (E.errno E.Error_PluginDynlink))) - ]; - (* If we weren't ignoring this error, just stop now *) - E.stop_if_err () - end; - loaded := fname :: !loaded; - pout1 "Loaded %s\n" fname; - () - ) - -let load_plugin tac = - dynlink tac - -let load_plugins tacs = - List.iter load_plugin tacs - -let load_plugins_dir dir = - (* Dynlink all .cmxs files in the given directory *) - (* fixme: confusion between FStarC.Compiler.String and FStar.String *) - BU.readdir dir - |> List.filter (fun s -> String.length s >= 5 && FStar.String.sub s (String.length s - 5) 5 = ".cmxs") - |> List.map (fun s -> dir ^ "/" ^ s) - |> load_plugins - -let compile_modules dir ms = - let compile m = - let packages = [ "fstar.lib" ] in - let pkg pname = "-package " ^ pname in - let args = ["ocamlopt"; "-shared"] (* FIXME shell injection *) - @ ["-I"; dir] - @ ["-w"; "-8-11-20-21-26-28" ] - @ (List.map pkg packages) - @ ["-o"; m ^ ".cmxs"; m ^ ".ml"] in - (* Note: not useful when in an OPAM setting *) - let ocamlpath_sep = match Platform.system with - | Platform.Windows -> ";" - | Platform.Posix -> ":" - in - let old_ocamlpath = - match BU.expand_environment_variable "OCAMLPATH" with - | Some s -> s - | None -> "" - in - let env_setter = BU.format5 "env OCAMLPATH=\"%s/../lib/%s%s/%s%s\"" - Find.fstar_bin_directory - ocamlpath_sep - Find.fstar_bin_directory - ocamlpath_sep - old_ocamlpath - in - let cmd = String.concat " " (env_setter :: "ocamlfind" :: args) in - let rc = BU.system_run cmd in - if rc <> 0 - then E.raise_error0 E.Fatal_FailToCompileNativeTactic [ - E.text "Failed to compile native tactic."; - E.text (BU.format2 "Command\n`%s`\nreturned with exit code %s" - cmd (show rc)) - ] - else () - in - try - ms - |> List.map (fun m -> dir ^ "/" ^ m) - |> List.iter compile - with e -> - perr (BU.format1 "Failed to load native tactic: %s\n" (BU.print_exn e)); - raise e - -(* Tries to load a plugin named like the extension. Returns true -if it could find a plugin with the proper name. This will fail hard -if loading the plugin fails. *) -let autoload_plugin (ext:string) : bool = - if Options.Ext.get "noautoload" <> "" then false else ( - if Debug.any () then - BU.print1 "Trying to find a plugin for extension %s\n" ext; - match Find.find_file (ext ^ ".cmxs") with - | Some fn -> - if List.mem fn !loaded then false - else ( - if Debug.any () then - BU.print1 "Autoloading plugin %s ...\n" fn; - load_plugin fn; - true - ) - | None -> - false -) diff --git a/src/basic/FStarC.Compiler.Plugins.fsti b/src/basic/FStarC.Compiler.Plugins.fsti deleted file mode 100644 index dcc478d236c..00000000000 --- a/src/basic/FStarC.Compiler.Plugins.fsti +++ /dev/null @@ -1,30 +0,0 @@ -(* - 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 FStarC.Compiler.Plugins - -open FStarC.Compiler.Effect -include FStarC.Compiler.Plugins.Base - -val load_plugin : string -> unit -val load_plugins : list string -> unit -val load_plugins_dir : string -> unit -val compile_modules : string -> list string -> unit - -(* Tries to load a plugin named like the extension. Returns true -if it could find a plugin with the proper name. This will fail hard -if loading the plugin fails. *) -val autoload_plugin (ext:string) : bool diff --git a/src/basic/FStarC.Compiler.Range.Ops.fst b/src/basic/FStarC.Compiler.Range.Ops.fst deleted file mode 100644 index 2e87067a096..00000000000 --- a/src/basic/FStarC.Compiler.Range.Ops.fst +++ /dev/null @@ -1,141 +0,0 @@ -(* - Copyright 2008-2023 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. -*) -(* - Operations over the FStarC.Compiler.Range.Type.range type. -*) -module FStarC.Compiler.Range.Ops - -open FStarC -friend FStarC.Compiler.Range.Type - -open FStarC.Json -open FStarC.Compiler.Effect -open FStarC.Compiler.Util -open FStarC.Class.Ord - -module Options = FStarC.Options - -let union_rng r1 r2 = - if r1.file_name <> r2.file_name - then r2 - else - let start_pos = min r1.start_pos r2.start_pos in - let end_pos = max r1.end_pos r2.end_pos in - mk_rng r1.file_name start_pos end_pos - -let union_ranges r1 r2 = { - def_range=union_rng r1.def_range r2.def_range; - use_range=union_rng r1.use_range r2.use_range -} - -(* is r1 included in r2? *) -let rng_included r1 r2 = - if r1.file_name <> r2.file_name - then false - else - r2.start_pos <=? r1.start_pos && - r2.end_pos >=? r1.end_pos - -let string_of_pos pos = - format2 "%s,%s" (string_of_int pos.line) (string_of_int pos.col) -let file_of_range r = - let f = r.def_range.file_name in - string_of_file_name f -let set_file_of_range r (f:string) = {r with def_range = {r.def_range with file_name = f}} -let string_of_rng r = - format3 "%s(%s-%s)" (string_of_file_name r.file_name) (string_of_pos r.start_pos) (string_of_pos r.end_pos) -let string_of_def_range r = string_of_rng r.def_range -let string_of_use_range r = string_of_rng r.use_range -let string_of_range r = string_of_def_range r - -let start_of_range r = r.def_range.start_pos -let end_of_range r = r.def_range.end_pos - -let file_of_use_range r = r.use_range.file_name -let start_of_use_range r = r.use_range.start_pos -let end_of_use_range r = r.use_range.end_pos - -let line_of_pos p = p.line -let col_of_pos p = p.col - -let end_range r = mk_range r.def_range.file_name r.def_range.end_pos r.def_range.end_pos - -let compare_rng r1 r2 = - let fcomp = FStar.String.compare r1.file_name r2.file_name in - if fcomp = 0 - then let start1 = r1.start_pos in - let start2 = r2.start_pos in - let lcomp = start1.line - start2.line in - if lcomp = 0 - then start1.col - start2.col - else lcomp - else fcomp -let compare r1 r2 = compare_rng r1.def_range r2.def_range -let compare_use_range r1 r2 = compare_rng r1.use_range r2.use_range -let range_before_pos m1 p = - p >=? end_of_range m1 - -let end_of_line p = {p with col=max_int} -let extend_to_end_of_line r = mk_range (file_of_range r) - (start_of_range r) - (end_of_line (end_of_range r)) - -let json_of_pos pos = - JsonList [JsonInt (line_of_pos pos); JsonInt (col_of_pos pos)] - -let json_of_range_fields file b e = - JsonAssoc [("fname", JsonStr file); - ("beg", json_of_pos b); - ("end", json_of_pos e)] - -let json_of_use_range r = - json_of_range_fields - (file_of_use_range r) - (start_of_use_range r) - (end_of_use_range r) - -let json_of_def_range r = - json_of_range_fields - (file_of_range r) - (start_of_range r) - (end_of_range r) - -let intersect_rng r1 r2 = - if r1.file_name <> r2.file_name - then r2 - else - let start_pos = max r1.start_pos r2.start_pos in - let end_pos = min r1.end_pos r2.end_pos in - (* If start_pos > end_pos, then the intersection is empty, just take the bound *) - if start_pos >=? end_pos - then r2 - else mk_rng r1.file_name start_pos end_pos - -let intersect_ranges r1 r2 = { - def_range=intersect_rng r1.def_range r2.def_range; - use_range=intersect_rng r1.use_range r2.use_range -} - -let bound_range (r bound : range) : range = - intersect_ranges r bound - -instance showable_range = { - show = string_of_range; -} - -instance pretty_range = { - pp = (fun r -> Pprint.doc_of_string (string_of_range r)); -} diff --git a/src/basic/FStarC.Compiler.Range.Ops.fsti b/src/basic/FStarC.Compiler.Range.Ops.fsti deleted file mode 100644 index b8b4df29953..00000000000 --- a/src/basic/FStarC.Compiler.Range.Ops.fsti +++ /dev/null @@ -1,58 +0,0 @@ -(* - Copyright 2008-2023 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 FStarC.Compiler.Range.Ops - -open FStarC -open FStarC.Compiler.Range.Type -open FStarC.Compiler.Effect -open FStarC.Class.Show -open FStarC.Class.PP - -val union_rng: rng -> rng -> rng -val union_ranges: range -> range -> range - -val rng_included: rng -> rng -> bool -val string_of_pos: pos -> string -val string_of_range: range -> string -val string_of_def_range: range -> string -val string_of_use_range: range -> string -val file_of_range: range -> string -val set_file_of_range: range -> string -> range -val start_of_range: range -> pos -val end_of_range: range -> pos -val file_of_use_range: range -> string -val start_of_use_range: range -> pos -val end_of_use_range: range -> pos -val line_of_pos: pos -> int -val col_of_pos: pos -> int -val end_range: range -> range -val compare: range -> range -> int -val compare_use_range: range -> range -> int -val range_before_pos : range -> pos -> bool -val end_of_line: pos -> pos -val extend_to_end_of_line: range -> range - -val json_of_pos : pos -> Json.json -val json_of_use_range : range -> Json.json -val json_of_def_range : range -> Json.json - -(** Bounds the range [r] by [bound]. Essentially, this is an intersection, -making sure that whatever we report is within the bound. If the ranges -are from different files, or there is no overlap, we return [bound]. *) -val bound_range (r : range) (bound : range) : range - -instance val showable_range : showable range -instance val pretty_range : pretty range diff --git a/src/basic/FStarC.Compiler.Range.Type.fst b/src/basic/FStarC.Compiler.Range.Type.fst deleted file mode 100644 index 53af897b478..00000000000 --- a/src/basic/FStarC.Compiler.Range.Type.fst +++ /dev/null @@ -1,123 +0,0 @@ -(* - 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 FStarC.Compiler.Range.Type - -open FStarC -open FStarC.Compiler.Effect -open FStarC.Class.Deq -open FStarC.Class.Ord -open FStarC.Compiler.Order -module BU = FStarC.Compiler.Util - -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type file_name = string - -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type pos = { - line:int; - col: int -} -let max i j = if i < j then j else i - -let compare_pos (p1 p2 : pos) : order = - lex (cmp p1.line p2.line) (fun _ -> cmp p1.col p2.col) - -instance deq_pos : deq pos = { (=?) = (=); } - -instance ord_pos : ord pos = { - super = deq_pos; - cmp = compare_pos; -} - -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type rng = { - file_name:file_name; - start_pos:pos; - end_pos:pos; -} -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type range = { - def_range:rng; - use_range:rng -} -let dummy_pos = { - line=0; - col=0; -} -let dummy_rng = { - file_name="dummy"; - start_pos=dummy_pos; - end_pos=dummy_pos -} -let dummyRange = { - def_range=dummy_rng; - use_range=dummy_rng -} -let use_range r = r.use_range -let def_range r = r.def_range -let range_of_rng d u = { - def_range=d; - use_range=u -} -let set_use_range r2 use_rng = - if use_rng <> dummy_rng then - {r2 with use_range=use_rng} - else r2 -let set_def_range r2 def_rng = - if def_rng <> dummy_rng then - {r2 with def_range=def_rng} - else r2 -let mk_pos l c = { - line=max 0 l; - col=max 0 c -} -let mk_rng file_name start_pos end_pos = { - file_name = file_name; - start_pos = start_pos; - end_pos = end_pos -} - -let mk_range f b e = let r = mk_rng f b e in range_of_rng r r - -let string_of_file_name f = - if Options.Ext.get "fstar:no_absolute_paths" = "1" then - BU.basename f - else if Options.ide () then - try - match Find.find_file (BU.basename f) with - | None -> f //couldn't find file; just return the relative path - | Some absolute_path -> - absolute_path - with _ -> f - else f - -open FStarC.Json -let json_of_pos (r: pos): json - = JsonAssoc [ - "line", JsonInt r.line; - "col", JsonInt r.col; - ] -let json_of_rng (r: rng): json - = JsonAssoc [ - "file_name", JsonStr (string_of_file_name r.file_name); - "start_pos", json_of_pos r.start_pos; - "end_pos", json_of_pos r.end_pos; - ] -let json_of_range (r: range): json - = JsonAssoc [ - "def", json_of_rng r.def_range; - "use", json_of_rng r.use_range; - ] diff --git a/src/basic/FStarC.Compiler.Range.Type.fsti b/src/basic/FStarC.Compiler.Range.Type.fsti deleted file mode 100644 index 4295532f5d4..00000000000 --- a/src/basic/FStarC.Compiler.Range.Type.fsti +++ /dev/null @@ -1,48 +0,0 @@ -(* - 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 FStarC.Compiler.Range.Type - -open FStarC.Compiler.Effect -open FStarC.Class.Deq -open FStarC.Class.Ord - -[@@ PpxDerivingYoJson; PpxDerivingShow] -new val rng : Type0 - -[@@ PpxDerivingYoJson; PpxDerivingShow] -new val range : Type0 - -[@@ PpxDerivingYoJson; PpxDerivingShow] -new val pos : Type0 - -instance val deq_pos : deq pos -instance val ord_pos : ord pos - -val dummy_rng : rng -val mk_rng : string -> pos -> pos -> rng - -val dummyRange: range -val use_range: range -> rng -val def_range: range -> rng -val range_of_rng: def_rng:rng -> use_rng:rng -> range -val set_use_range: range -> rng -> range -val set_def_range: range -> rng -> range -val mk_pos: int -> int -> pos -val mk_range: string -> pos -> pos -> range - -val json_of_pos: pos -> FStarC.Json.json -val json_of_rng: rng -> FStarC.Json.json -val json_of_range: range -> FStarC.Json.json diff --git a/src/basic/FStarC.Compiler.Range.fsti b/src/basic/FStarC.Compiler.Range.fsti deleted file mode 100644 index 6a893bf6537..00000000000 --- a/src/basic/FStarC.Compiler.Range.fsti +++ /dev/null @@ -1,21 +0,0 @@ -(* - 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 FStarC.Compiler.Range - -(* This module simply bundles together these other two. See their -interfaces for reference. *) -include FStarC.Compiler.Range.Type -include FStarC.Compiler.Range.Ops diff --git a/src/basic/FStarC.Compiler.Real.fst b/src/basic/FStarC.Compiler.Real.fst deleted file mode 100644 index 38e29385693..00000000000 --- a/src/basic/FStarC.Compiler.Real.fst +++ /dev/null @@ -1,16 +0,0 @@ -(* - Copyright 2017-2024 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 FStarC.Compiler.Real diff --git a/src/basic/FStarC.Compiler.Real.fsti b/src/basic/FStarC.Compiler.Real.fsti deleted file mode 100644 index ee8d45d7132..00000000000 --- a/src/basic/FStarC.Compiler.Real.fsti +++ /dev/null @@ -1,21 +0,0 @@ -(* - Copyright 2017-2024 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 FStarC.Compiler.Real - -(* A type for embedded real constants. This allows to write embeddings for them -(see FStarC.Syntax.Embeddings and FStarC.TypeChecker.NBETerm). *) - -type real = | Real of string diff --git a/src/basic/FStarC.Compiler.Sealed.fst b/src/basic/FStarC.Compiler.Sealed.fst deleted file mode 100644 index fed2c1531bc..00000000000 --- a/src/basic/FStarC.Compiler.Sealed.fst +++ /dev/null @@ -1,33 +0,0 @@ -(* - Copyright 2008-2024 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 FStarC.Compiler.Sealed - -(* This is the compiler-space version of the Sealed module in ulib. -Here, we define it as just an identity, but we do not expose that in -the interface so we must use the seal/unseal operations. This allows us -to - - 1) make sure we do not make mistakes forgetting to seal/unseal - 2) make sure none of these operations have any runtime behavior. - -It would be nicer to just make this a box type and expose that (internally -to the compiler) but that means extracted code would use the box. *) - -type sealed (a:Type u#a) : Type u#a = a - -let seal (x: 'a) : sealed 'a = x - -let unseal (x: sealed 'a) : 'a = x diff --git a/src/basic/FStarC.Compiler.Sealed.fsti b/src/basic/FStarC.Compiler.Sealed.fsti deleted file mode 100644 index a55b141230d..00000000000 --- a/src/basic/FStarC.Compiler.Sealed.fsti +++ /dev/null @@ -1,22 +0,0 @@ -(* - Copyright 2008-2024 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 FStarC.Compiler.Sealed - -val sealed (a:Type u#a) : Type u#a - -val seal (x: 'a) : Tot (sealed 'a) - -val unseal (x: sealed 'a) : Tot 'a diff --git a/src/basic/FStarC.Compiler.String.fsti b/src/basic/FStarC.Compiler.String.fsti deleted file mode 100644 index a9e2f25fb6a..00000000000 --- a/src/basic/FStarC.Compiler.String.fsti +++ /dev/null @@ -1,46 +0,0 @@ -(* - 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 FStarC.Compiler.String - -open FStarC.Compiler.Effect -open FStar.Char -open FStarC.BigInt - -(* The name of this file is misleading: most string functions are to be found in - util.fsi *) -val make: int -> char -> string -val split: chars: list char -> s: string -> Tot (list string) -val strcat: string -> string -> Tot string -val concat: separator: string -> strings: list string -> Tot string -val compare: s1: string -> s2: string -> Tot int -val strlen: string -> Tot nat -val length: string -> Tot nat -val lowercase: string -> Tot string -val uppercase: string -> Tot string -val escaped: string -> Tot string - -val string_of_char : char -> Tot string - -(* may fail with index out of bounds *) -val substring: string -> start:int -> len:int -> string -val get: string -> int -> char -val collect: (char -> string) -> string -> string -val index_of: string -> char -> bigint -val index: string -> bigint -> char - -val list_of_string : string -> list char -val string_of_list: list char -> string -val (^) : string -> string -> string diff --git a/src/basic/FStarC.Compiler.Util.fsti b/src/basic/FStarC.Compiler.Util.fsti deleted file mode 100644 index b60fe411c12..00000000000 --- a/src/basic/FStarC.Compiler.Util.fsti +++ /dev/null @@ -1,402 +0,0 @@ -(* - 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 FStarC.Compiler.Util -open Prims -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Json -open FStarC.BaseTypes - -exception Impos - -val max_int: int -val return_all: 'a -> ML 'a - -type time_ns -val now_ns : unit -> time_ns -val time_diff_ms: time_ns -> time_ns -> int -val time_diff_ns: time_ns -> time_ns -> int -val record_time_ns: (unit -> 'a) -> ('a & int) -val record_time_ms: (unit -> 'a) -> ('a & int) - -type time_of_day -val get_time_of_day : unit -> time_of_day -val get_time_of_day_ms : unit -> int -val is_before: time_of_day -> time_of_day -> bool -val get_file_last_modification_time: string -> time_of_day -val string_of_time_of_day: time_of_day -> string - -(* generic utils *) -(* smap: map from string keys *) -type smap 'value -val smap_create: int -> smap 'value -val smap_clear:smap 'value -> unit -val smap_add: smap 'value -> string -> 'value -> unit -val smap_of_list: list (string&'value) -> smap 'value -val smap_try_find: smap 'value -> string -> option 'value -val smap_fold: smap 'value -> (string -> 'value -> 'a -> 'a) -> 'a -> 'a -val smap_remove: smap 'value -> string -> unit -(* The list may contain duplicates. *) -val smap_keys: smap 'value -> list string -val smap_copy: smap 'value -> smap 'value -val smap_size: smap 'value -> int -val smap_iter: smap 'value -> (string -> 'value -> unit) -> unit - -(* pure version *) -type psmap 'value -val psmap_empty: unit -> psmap 'value // GH-1161 -val psmap_add: psmap 'value -> string -> 'value -> psmap 'value -val psmap_find_default: psmap 'value -> string -> 'value -> 'value -val psmap_try_find: psmap 'value -> string -> option 'value -val psmap_fold: psmap 'value -> (string -> 'value -> 'a -> 'a) -> 'a -> 'a -val psmap_find_map: psmap 'value -> (string -> 'value -> option 'a) -> option 'a -val psmap_modify: psmap 'value -> string -> (option 'value -> 'value) -> psmap 'value -val psmap_merge: psmap 'value -> psmap 'value -> psmap 'value -val psmap_remove: psmap 'value -> string -> psmap 'value -type imap 'value -val imap_create: int -> imap 'value -val imap_clear:imap 'value -> unit -val imap_add: imap 'value -> int -> 'value -> unit -val imap_of_list: list (int&'value) -> imap 'value -val imap_try_find: imap 'value -> int -> option 'value -val imap_fold: imap 'value -> (int -> 'value -> 'a -> 'a) -> 'a -> 'a -val imap_remove: imap 'value -> int -> unit -(* The list may contain duplicates. *) -val imap_keys: imap 'value -> list int -val imap_copy: imap 'value -> imap 'value - -(* pure version *) -type pimap 'value -val pimap_empty: unit -> pimap 'value // GH-1161 -val pimap_add: pimap 'value -> int -> 'value -> pimap 'value -val pimap_find_default: pimap 'value -> int -> 'value -> 'value -val pimap_try_find: pimap 'value -> int -> option 'value -val pimap_fold: pimap 'value -> (int -> 'value -> 'a -> 'a) -> 'a -> 'a -val pimap_remove: pimap 'value -> int -> pimap 'value - -val format: string -> list string -> string -val format1: string -> string -> string -val format2: string -> string -> string -> string -val format3: string -> string -> string -> string -> string -val format4: string -> string -> string -> string -> string -> string -val format5: string -> string -> string -> string -> string -> string -> string -val format6: string -> string -> string -> string -> string -> string -> string -> string - -val print: string -> list string -> unit -val print1: string -> string -> unit -val print2: string -> string -> string -> unit -val print3: string -> string -> string -> string -> unit -val print4: string -> string -> string -> string -> string -> unit -val print5: string -> string -> string -> string -> string -> string -> unit -val print6: string -> string -> string -> string -> string -> string -> string -> unit - -val print_error: string -> unit -val print1_error: string -> string -> unit -val print2_error: string -> string -> string -> unit -val print3_error: string -> string -> string -> string -> unit - -val print_warning: string -> unit -val print1_warning: string -> string -> unit -val print2_warning: string -> string -> string -> unit -val print3_warning: string -> string -> string -> string -> unit - -val flush_stdout: unit -> unit - -val stdout_isatty: unit -> option bool - -// These functions have no effect -val colorize: string -> (string & string) -> string -val colorize_bold: string -> string -val colorize_red: string -> string -val colorize_yellow: string -> string -val colorize_cyan: string -> string -val colorize_green: string -> string -val colorize_magenta : string -> string - - -type out_channel - -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 - -val fprint: out_channel -> string -> list string -> unit - -(* Adds a newline and flushes *) -val append_to_file: out_channel -> string -> unit - -type printer = { - printer_prinfo: string -> unit; - printer_prwarning: string -> unit; - printer_prerror: string -> unit; - printer_prgeneric: string -> (unit -> string) -> (unit -> json) -> unit -} - -val default_printer : printer -val set_printer : printer -> unit - -val print_raw : string -> unit -val print_string : string -> unit -val print_generic: string -> ('a -> string) -> ('a -> json) -> 'a -> unit -val print_any : 'a -> unit -val strcat : string -> string -> string -val concat_l : string -> list string -> string - -val write_file: fn:string -> contents:string -> unit -val copy_file: string -> string -> unit -val delete_file: string -> unit -val file_get_contents: string -> string -val file_get_lines: string -> list string - -(** [mkdir clean mkparents d] a new dir with user read/write. -If clean is set and the directory exists, its contents are deleted and nothing else is done. -If clean is not set and the directory exists, do nothing. -If mkparents is true, the needed parents of the path will be created too, as mkdir -p does. -*) -val mkdir: bool-> bool -> string -> unit - -val concat_dir_filename: string -> string -> string - -type stream_reader -val open_stdin : unit -> stream_reader -val read_line: stream_reader -> option string -val nread : stream_reader -> int -> option string -val poll_stdin : float -> bool - -type string_builder -val new_string_builder: unit -> string_builder -val clear_string_builder: string_builder -> unit -val string_of_string_builder: string_builder -> string -val string_builder_append: string_builder -> string -> unit - -val message_of_exn: exn -> string -val trace_of_exn: exn -> string -val stack_dump : unit -> string - -exception SigInt -type sigint_handler -val sigint_handler_f : (int -> unit) -> sigint_handler -val sigint_ignore: sigint_handler -val sigint_raise: sigint_handler -val get_sigint_handler: unit -> sigint_handler -val set_sigint_handler: sigint_handler -> unit -val with_sigint_handler: sigint_handler -> (unit -> 'a) -> 'a - -type proc -val run_process : string -> string -> list string -> option string -> string -val start_process: string -> string -> list string -> (string -> bool) -> proc -val ask_process: proc -> string -> (*err_handler:*)(unit -> string) -> (*stderr_handler:*)(string -> unit) -> string -val kill_process: proc -> unit -val kill_all: unit -> unit -val proc_prog : proc -> string -val system_run : string -> int (* a less refined launching, implemented by Sys.command *) - -val get_file_extension: string -> string -val is_path_absolute: string -> bool -val join_paths: string -> string -> string -val normalize_file_path: string -> string -val basename: string -> string -val dirname : string -> string -val getcwd: unit -> string -val readdir: string -> list string -val paths_to_same_file: string -> string -> bool - -val file_exists: string -> Tot bool -val is_directory: string -> Tot bool - -val int_of_string: string -> int -val safe_int_of_string: string -> option int -val int_of_char: char -> Tot int -val int_of_byte: byte -> Tot int -val byte_of_char: char -> Tot byte -val char_of_int: int -> Tot char -val int_of_uint8: uint8 -> Tot int -val uint16_of_int: int -> Tot uint16 -val float_of_byte: byte -> Tot float -val float_of_int32: int32 -> Tot float -val float_of_int64: int64 -> Tot float -val float_of_string: string -> Tot float -val int_of_int32: int32 -> Tot int -val int32_of_int: int -> int32 //potentially failing int32 coercion -val string_of_int: int -> string -val string_of_bool: bool -> string -val string_of_int64: int64 -> Tot string -val string_of_int32: int32 -> Tot string -val string_of_float: float -> Tot string -val string_of_char: char -> Tot string -val hex_string_of_byte: byte -> Tot string -val string_of_bytes: array byte -> Tot string -val bytes_of_string: string -> Tot (array byte) -val base64_encode: string -> string -val base64_decode: string -> string -val starts_with: long:string -> short:string -> Tot bool -val trim_string: string -> Tot string -val ends_with: long:string -> short:string -> Tot bool -val char_at: string -> int -> char -val is_upper: char -> Tot bool -val contains: string -> string -> Tot bool -val substring_from: string -> int -> string -val substring: string -> start:int -> len:int -> string -val replace_char: string -> char -> char -> Tot string -val replace_chars: string -> char -> string -> Tot string -val hashcode: string -> Tot int -val compare: string -> string -> Tot int -val splitlines: string -> Tot (list string) -val split: str:string -> sep:string -> Tot (list string) - -val is_left: either 'a 'b -> bool -val is_right: either 'a 'b -> bool -val left: either 'a 'b -> 'a -val right: either 'a 'b -> 'b -val find_dup: ('a -> 'a -> bool) -> list 'a -> option 'a -val nodups: ('a -> 'a -> bool) -> list 'a -> bool -val sort_with: ('a -> 'a -> int) -> list 'a -> list 'a -val remove_dups: ('a -> 'a -> bool) -> list 'a -> list 'a -val add_unique: ('a -> 'a -> bool) -> 'a -> list 'a -> list 'a -val try_find: ('a -> bool) -> list 'a -> option 'a -val try_find_i: (int -> 'a -> bool) -> list 'a -> option (int & 'a) -val find_map: list 'a -> ('a -> option 'b) -> option 'b -val try_find_index: ('a -> bool) -> list 'a -> option int -val fold_map: ('a -> 'b -> 'a & 'c) -> 'a -> list 'b -> 'a & list 'c -val choose_map: ('a -> 'b -> 'a & option 'c) -> 'a -> list 'b -> 'a & list 'c -val for_all: ('a -> bool) -> list 'a -> bool -val for_some: ('a -> bool) -> list 'a -> bool -val forall_exists: ('a -> 'b -> bool) -> list 'a -> list 'b -> bool -val multiset_equiv: ('a -> 'b -> bool) -> list 'a -> list 'b -> bool -val take: ('a -> bool) -> list 'a -> list 'a & list 'a - -(* Variation on fold_left which pushes the list returned by the functional *) -(* on top of the leftover input list *) -val fold_flatten:('a -> 'b -> 'a & list 'b) -> 'a -> list 'b -> 'a - -val is_none: option 'a -> Tot bool -val is_some: option 'a -> Tot bool -val must: option 'a -> 'a -val dflt: 'a -> option 'a -> Tot 'a -val find_opt: ('a -> bool) -> list 'a -> option 'a -(* FIXME: these functions have the wrong argument order when compared to - List.map, List.iter, etc. *) -val bind_opt: option 'a -> ('a -> option 'b) -> option 'b -val catch_opt: option 'a -> (unit -> option 'a) -> option 'a -val map_opt: option 'a -> ('a -> 'b) -> option 'b -val iter_opt: option 'a -> ('a -> unit) -> unit - -val first_N: int -> list 'a -> (list 'a & list 'a) -val nth_tail: int -> list 'a -> list 'a -val prefix_until: ('a -> bool) -> list 'a -> option (list 'a & 'a & list 'a) -val prefix: list 'a -> Tot (list 'a & 'a) - -val string_of_unicode: array byte -> Tot string -val unicode_of_string: string -> Tot (array byte) -val incr: ref int -> unit -val decr: ref int -> unit -val geq: int -> int -> Tot bool -val for_range: int -> int -> (int -> unit) -> unit - -val mk_ref: 'a -> ref 'a - -val exec_name : string -val get_exec_dir: unit -> string -val get_cmd_args : unit -> list string -val expand_environment_variable: string -> option string - -val physical_equality: 'a -> 'a -> bool -val check_sharing: 'a -> 'a -> string -> unit - -val is_letter: char -> bool -val is_digit: char -> bool -val is_letter_or_digit: char -> bool -val is_punctuation: char -> bool -val is_symbol: char -> bool - -(* serialization of compiled modules *) -type oWriter = { - write_byte: byte -> unit; - write_bool: bool -> unit; - write_int: int -> unit; - write_int32: int32 -> unit; - write_int64: int64 -> unit; - write_char: char -> unit; - write_double: double -> unit; - write_bytearray: array byte -> unit; - write_string: string -> unit; - - close: unit -> unit -} - -type oReader = { - read_byte: unit -> byte; - read_bool: unit -> bool; - read_int: unit -> int; - read_int32: unit -> int32; - read_int64: unit -> int64; - read_char: unit -> char; - read_double: unit -> double; - read_bytearray: unit -> array byte; - read_string: unit -> string; - - close: unit -> unit -} - -val get_owriter: string -> oWriter -val get_oreader: string -> oReader - -val monitor_enter: 'a -> unit -val monitor_exit: 'a -> unit -val monitor_wait: 'a -> unit -val monitor_pulse: 'a -> unit -val with_monitor: 'a -> ('b -> 'c) -> 'b -> 'c -val current_tid: unit -> int -val sleep: int -> unit -val atomically: (unit -> 'a) -> 'a -val spawn: (unit -> unit) -> unit -val print_endline: string -> unit - -val map_option: ('a -> 'b) -> option 'a -> option 'b - -val save_value_to_file: string -> 'a -> unit -val load_value_from_file: string -> option 'a -val save_2values_to_file: string -> 'a -> 'b -> unit -val load_2values_from_file: string -> option ('a & 'b) -val print_exn: exn -> string -val digest_of_file: string -> string -val digest_of_string: string -> string -val touch_file: string -> unit (* Precondition: file exists *) - -val ensure_decimal: string -> string -val measure_execution_time: string -> (unit -> 'a) -> 'a -val return_execution_time: (unit -> 'a) -> ('a & float) - -(* Common interface between F#, Ocaml and F* to read and write references *) -(* F# uses native references, while OCaml uses both native references (Pervasives) and FStar_Heap ones *) -val read : ref 'a -> 'a -val write : ref 'a -> 'a -> unit - -(* Marshaling to and from strings *) -val marshal: 'a -> string -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) : FStarC.BigInt.t -val array_index (s:FStar.ImmutableArray.Base.t 'a) (i:FStarC.BigInt.t) : 'a - -val putenv : string -> string -> unit -val execvp : string -> list string -> unit // will return only on error diff --git a/src/basic/FStarC.Const.fst b/src/basic/FStarC.Const.fst index b6ff032228e..3db15016aa4 100644 --- a/src/basic/FStarC.Const.fst +++ b/src/basic/FStarC.Const.fst @@ -14,62 +14,26 @@ limitations under the License. *) module FStarC.Const -open FStarC.Compiler.Effect -module List = FStarC.Compiler.List +open FStarC.Effect -open FStarC.BaseTypes - -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type signedness = | Unsigned | Signed -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type width = | Int8 | Int16 | Int32 | Int64 | Sizet - -(* NB: - Const_int (_, None) is not a canonical representation for a mathematical integer - e.g., you can have both - Const_int("0x3ffffff", None) - and - Const_int("67108863", None) - which represent the same number - You should do an "FStarC.Compiler.Util.ensure_decimal" on the - string representation before comparing integer constants. - - eq_const below does that for you -*) - -[@@ PpxDerivingYoJson; PpxDerivingShow ] -type sconst = - | Const_effect - | Const_unit - | Const_bool of bool - | Const_int of string & option (signedness & width) (* When None, means "mathematical integer", i.e. Prims.int. *) - | Const_char of char (* unicode code point: char in F#, int in OCaml *) - | Const_real of string - | Const_string of string & FStarC.Compiler.Range.range (* UTF-8 encoded *) - | Const_range_of (* `range_of` primitive *) - | Const_set_range_of (* `set_range_of` primitive *) - | Const_range of FStarC.Compiler.Range.range (* not denotable by the programmer *) - | Const_reify of option Ident.lid (* a coercion from a computation to its underlying repr *) - (* decorated optionally with the computation effect name *) - | Const_reflect of Ident.lid (* a coercion from a Tot term to an l-computation type *) +open FStarC.BigInt +open FStar.Char let eq_const c1 c2 = match c1, c2 with | Const_int (s1, o1), Const_int(s2, o2) -> - FStarC.Compiler.Util.ensure_decimal s1 = FStarC.Compiler.Util.ensure_decimal s2 && + FStarC.Util.ensure_decimal s1 = FStarC.Util.ensure_decimal s2 && o1=o2 | Const_string(a, _), Const_string(b, _) -> a=b | Const_reflect l1, Const_reflect l2 -> Ident.lid_equals l1 l2 | Const_reify _, Const_reify _ -> true | _ -> c1=c2 -open FStarC.BigInt let rec pow2 (x:bigint) : bigint = if eq_big_int x zero then one else mult_big_int two (pow2 (pred_big_int x)) - let bounds signedness width = let n = match width with @@ -91,5 +55,5 @@ let bounds signedness width = let within_bounds repr signedness width = let lower, upper = bounds signedness width in - let value = big_int_of_string (FStarC.Compiler.Util.ensure_decimal repr) in + let value = big_int_of_string (FStarC.Util.ensure_decimal repr) in le_big_int lower value && le_big_int value upper diff --git a/src/basic/FStarC.Const.fsti b/src/basic/FStarC.Const.fsti new file mode 100644 index 00000000000..770c1b4356a --- /dev/null +++ b/src/basic/FStarC.Const.fsti @@ -0,0 +1,62 @@ +(* + Copyright 2008-2020 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 FStarC.Const +open FStarC.Effect + +open FStarC.BigInt +open FStar.Char + +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type signedness = | Unsigned | Signed +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type width = | Int8 | Int16 | Int32 | Int64 | Sizet + +(* NB: + Const_int (_, None) is not a canonical representation for a mathematical integer + e.g., you can have both + Const_int("0x3ffffff", None) + and + Const_int("67108863", None) + which represent the same number + You should do an "FStarC.Util.ensure_decimal" on the + string representation before comparing integer constants. + + eq_const below does that for you +*) + +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type sconst = + | Const_effect + | Const_unit + | Const_bool of bool + | Const_int of string & option (signedness & width) (* When None, means "mathematical integer", i.e. Prims.int. *) + | Const_char of char (* unicode code point: char in F#, int in OCaml *) + | Const_real of string + | Const_string of string & FStarC.Range.range (* UTF-8 encoded *) + | Const_range_of (* `range_of` primitive *) + | Const_set_range_of (* `set_range_of` primitive *) + | Const_range of FStarC.Range.range (* not denotable by the programmer *) + | Const_reify of option Ident.lid (* a coercion from a computation to its underlying repr *) + (* decorated optionally with the computation effect name *) + | Const_reflect of Ident.lid (* a coercion from a Tot term to an l-computation type *) + +val eq_const (c1 c2 : sconst) : bool + +val pow2 (x:bigint) : bigint + +val bounds : signedness -> width -> bigint & bigint + +val within_bounds : string -> signedness -> width -> bool diff --git a/src/basic/FStarC.Debug.fst b/src/basic/FStarC.Debug.fst new file mode 100644 index 00000000000..8c30c5aa956 --- /dev/null +++ b/src/basic/FStarC.Debug.fst @@ -0,0 +1,106 @@ +(* + Copyright 2008-2020 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 FStarC.Debug + +module BU = FStarC.Util + +(* Mutable state *) +let anyref = BU.mk_ref false +let _debug_all : ref bool = BU.mk_ref false +let toggle_list : ref (list (string & ref bool)) = + BU.mk_ref [] + +type saved_state = { + toggles : list (string & bool); + any : bool; + all : bool; +} + +let snapshot () : saved_state = { + toggles = !toggle_list |> List.map (fun (k, r) -> (k, !r)); + any = !anyref; + all = !_debug_all; +} + +let register_toggle (k : string) : ref bool = + let r = BU.mk_ref false in + if !_debug_all then + r := true; + toggle_list := (k, r) :: !toggle_list; + r + +let get_toggle (k : string) : ref bool = + match List.tryFind (fun (k', _) -> k = k') !toggle_list with + | Some (_, r) -> r + | None -> register_toggle k + +let restore (snapshot : saved_state) : unit = + (* Set everything to false, then set all the saved ones + to true. *) + !toggle_list |> List.iter (fun (_, r) -> r := false); + snapshot.toggles |> List.iter (fun (k, b) -> + let r = get_toggle k in + r := b); + (* Also restore these references. *) + anyref := snapshot.any; + _debug_all := snapshot.all; + () + +let list_all_toggles () : list string = + List.map fst !toggle_list + +let any () = !anyref || !_debug_all + +let tag (s:string) = + if any () then + BU.print_string ("DEBUG:" ^ s ^ "\n") + +let enable () = anyref := true + +let dbg_level = BU.mk_ref 0 + +let low () = !dbg_level >= 1 || !_debug_all +let medium () = !dbg_level >= 2 || !_debug_all +let high () = !dbg_level >= 3 || !_debug_all +let extreme () = !dbg_level >= 4 || !_debug_all + +let set_level_low () = dbg_level := 1 +let set_level_medium () = dbg_level := 2 +let set_level_high () = dbg_level := 3 +let set_level_extreme () = dbg_level := 4 + +let enable_toggles (keys : list string) : unit = + if Cons? keys then + enable (); + keys |> List.iter (fun k -> + match k with + | "Low" -> set_level_low () + | "Medium" -> set_level_medium () + | "High" -> set_level_high () + | "Extreme" -> set_level_extreme () + | _ -> + let t = get_toggle k in + t := true + ) + +let disable_all () : unit = + anyref := false; + dbg_level := 0; + List.iter (fun (_, r) -> r := false) !toggle_list + +let set_debug_all () : unit = + _debug_all := true diff --git a/src/basic/FStarC.Debug.fsti b/src/basic/FStarC.Debug.fsti new file mode 100644 index 00000000000..8c2fb89ea07 --- /dev/null +++ b/src/basic/FStarC.Debug.fsti @@ -0,0 +1,69 @@ +(* + Copyright 2008-2020 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 FStarC.Debug + +open FStar open FStarC +open FStarC +open FStarC.Effect + +(* State handling for this module. Used by FStarC.Options, which +is the only module that modifies the debug state. *) +val saved_state : Type0 +val snapshot () : saved_state +val restore (s:saved_state) : unit + +(* Enable debugging. This will make any() return true, but +does not enable any particular toggle. *) +val enable () : unit + +(* Are we doing *any* kind of debugging? *) +val any () : bool + +(* Print a quick message on stdout whenever debug is on. If the string +is not a constant, put this under an if to thunk it. *) +val tag (s : string) : unit + +(* Obtain the toggle for a given debug key *) +val get_toggle (k : string) : ref bool + +(* List all registered toggles *) +val list_all_toggles () : list string + +(* Vanilla debug levels. Each level implies the previous lower one. *) +val low () : bool +val medium () : bool +val high () : bool +val extreme () : bool + +(* Enable a list of debug toggles. If will also call enable() +is key is non-empty, and will recognize "Low", "Medium", +"High", "Extreme" as special and call the corresponding +set_level_* function. *) +val enable_toggles (keys : list string) : unit + +(* Sets the debug level to zero and sets all registered toggles +to false. any() will return false after this. *) +val disable_all () : unit + +(* Nuclear option: enable ALL debug toggles. *) +val set_debug_all () : unit + +(* Not used externally at the moment. *) +val set_level_low () : unit +val set_level_medium () : unit +val set_level_high () : unit +val set_level_extreme () : unit diff --git a/src/basic/FStarC.Defensive.fst b/src/basic/FStarC.Defensive.fst index a93035ec6de..fd8271e4e6c 100644 --- a/src/basic/FStarC.Defensive.fst +++ b/src/basic/FStarC.Defensive.fst @@ -1,8 +1,8 @@ module FStarC.Defensive -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Class.Binders open FStarC.Class.Show open FStarC.Class.Ord diff --git a/src/basic/FStarC.Defensive.fsti b/src/basic/FStarC.Defensive.fsti index 8f44aa6ad13..1a7bd34b107 100644 --- a/src/basic/FStarC.Defensive.fsti +++ b/src/basic/FStarC.Defensive.fsti @@ -15,8 +15,8 @@ *) module FStarC.Defensive -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC.Effect +open FStarC.Range open FStarC.Class.Binders open FStarC.Class.PP diff --git a/src/basic/FStarC.Dyn.fsti b/src/basic/FStarC.Dyn.fsti index e9436fe0472..369a3cc9539 100644 --- a/src/basic/FStarC.Dyn.fsti +++ b/src/basic/FStarC.Dyn.fsti @@ -16,7 +16,7 @@ module FStarC.Dyn -open FStarC.Compiler.Effect +open FStarC.Effect /// Dynamic casts diff --git a/src/basic/FStarC.Effect.fsti b/src/basic/FStarC.Effect.fsti new file mode 100644 index 00000000000..50a6524a39e --- /dev/null +++ b/src/basic/FStarC.Effect.fsti @@ -0,0 +1,60 @@ +(* + Copyright 2008-2017 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 FStarC.Effect + +new_effect ALL = ALL_h unit + +let all_pre = all_pre_h unit +let all_post' (a : Type) (pre:Type) = all_post_h' unit a pre +let all_post (a : Type) = all_post_h unit a +let all_wp (a : Type) = all_wp_h unit a + +let lift_pure_all (a:Type) (p:pure_wp a) + : all_wp a + = fun post h -> p (fun x -> post (V x) h) + +sub_effect PURE ~> ALL { lift_wp = lift_pure_all } + +sub_effect DIV ~> ALL { lift_wp = lift_pure_all } + +effect All (a:Type) (pre:all_pre) (post:(h:unit -> Tot (all_post' a (pre h)))) = + ALL a + (fun (p : all_post a) (h : unit) -> pre h /\ (forall ra h1. post h ra h1 ==> p ra h1)) + +effect ML (a:Type) = ALL a (fun (p:all_post a) (_:unit) -> forall (a:result a) (h:unit). p a h) + +new +val ref (a:Type) : Type0 + +val (!) (#a:Type) (r:ref a) + : ML a + +val (:=) (#a:Type) (r:ref a) (x:a) + : ML unit + +val alloc (#a:Type) (x:a) + : ML (ref a) + +val raise (e: exn) : ML 'a + +val exit : int -> ML 'a + +val try_with : (unit -> ML 'a) -> (exn -> ML 'a) -> ML 'a + +exception Failure of string + +val failwith : string -> ML 'a diff --git a/src/basic/FStarC.Errors.Msg.fst b/src/basic/FStarC.Errors.Msg.fst index 906598cee3b..c5310d50a6c 100644 --- a/src/basic/FStarC.Errors.Msg.fst +++ b/src/basic/FStarC.Errors.Msg.fst @@ -1,8 +1,8 @@ module FStarC.Errors.Msg -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Pprint instance is_error_message_string : is_error_message string = { @@ -58,6 +58,6 @@ let rendermsg (ds : list document) : string = renderdoc (concat (List.map (fun d -> subdoc (group d)) ds)) let json_of_error_message (err_msg: list document): FStarC.Json.json - = FStarC.Compiler.List.map + = FStarC.List.map (fun doc -> FStarC.Json.JsonStr (renderdoc doc)) err_msg |> FStarC.Json.JsonList diff --git a/src/basic/FStarC.Errors.fst b/src/basic/FStarC.Errors.fst index 201b6075a60..db8f7b300d8 100644 --- a/src/basic/FStarC.Errors.fst +++ b/src/basic/FStarC.Errors.fst @@ -17,17 +17,18 @@ module FStarC.Errors open FStar.Pervasives open FStar.String -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util -open FStarC.Compiler.Range -open FStarC.Class.Monad +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util +open FStarC.Range open FStarC.Options -module List = FStarC.Compiler.List -module BU = FStarC.Compiler.Util +module List = FStarC.List +module BU = FStarC.Util module PP = FStarC.Pprint +open FStarC.Class.Monad +open FStarC.Class.Show open FStarC.Errors.Codes open FStarC.Errors.Msg open FStarC.Json @@ -43,6 +44,11 @@ let with_error_bound (r:range) (f : unit -> 'a) : 'a = error_range_bound := old; res +let maybe_bound_range (r : Range.range) : Range.range = + match !error_range_bound with + | Some r' -> Range.bound_range r r' + | None -> r + (** This exception is raised in FStar.Error when a warn_error string could not be processed; The exception is handled in FStarC.Options as part of @@ -173,29 +179,28 @@ let optional_def (f : 'a -> PP.document) (def : PP.document) (o : option 'a) : P | Some x -> f x | None -> def -let format_issue' (print_hdr:bool) (issue:issue) : string = +let issue_to_doc' (print_hdr:bool) (issue:issue) : PP.document = let open FStarC.Pprint in - let level_header = doc_of_string (string_of_issue_level issue.issue_level) in - let num_opt = - if issue.issue_level = EError || issue.issue_level = EWarning - then blank 1 ^^ optional_def (fun n -> doc_of_string (string_of_int n)) (doc_of_string "") issue.issue_number - else empty - in let r = issue.issue_range in - let atrng : document = - match r with - | Some r when r <> Range.dummyRange -> - blank 1 ^^ doc_of_string "at" ^^ blank 1 ^^ doc_of_string (Range.string_of_use_range r) - | _ -> - empty - in let hdr : document = - if print_hdr - then + if print_hdr then ( + let level_header = doc_of_string (string_of_issue_level issue.issue_level) in + let num_opt = + if issue.issue_level = EError || issue.issue_level = EWarning + then blank 1 ^^ optional_def (fun n -> doc_of_string (string_of_int n)) (doc_of_string "") issue.issue_number + else empty + in + let atrng : document = + match r with + | Some r when r <> Range.dummyRange -> + blank 1 ^^ doc_of_string "at" ^^ blank 1 ^^ doc_of_string (Range.string_of_use_range r) + | _ -> + empty + in doc_of_string "*" ^^ blank 1 ^^ level_header ^^ num_opt ^^ atrng ^^ doc_of_string ":" ^^ hardline - else empty + ) else empty in let seealso : document = match r with @@ -216,20 +221,52 @@ let format_issue' (print_hdr:bool) (issue:issue) : string = let mainmsg : document = concat (List.map (fun d -> subdoc (group d)) issue.issue_msg) in - let doc : document = - (* This ends in a hardline to get a 1-line spacing between errors *) - hdr ^^ - mainmsg ^^ - subdoc seealso ^^ - subdoc ctx - in - renderdoc doc + (* This ends in a hardline to get a 1-line spacing between errors *) + hdr ^^ + mainmsg ^^ + subdoc seealso ^^ + subdoc ctx + +let format_issue' (print_hdr:bool) (issue:issue) : string = + issue_to_doc' print_hdr issue |> renderdoc let format_issue issue : string = format_issue' true issue let print_issue_json issue = json_of_issue issue |> string_of_json |> BU.print1_error "%s\n" +(* + Printing for nicer display in github actions runs. See + https://docs.github.com/en/actions/writing-workflows/choosing-what-your-workflow-does/workflow-commands-for-github-actions + for more info. The idea here is basically render it as text and then + add a github header. Also we replace newlines by %0A which become + newlines in the rendered github annotation, though that does not seem + to be very well documented (https://github.com/orgs/community/discussions/26736) +*) +let print_issue_github issue = + match issue.issue_level with + | ENotImplemented + | EInfo -> () + | EError + | EWarning -> + let level = if EError? issue.issue_level then "error" else "warning" in + let rng = dflt dummyRange issue.issue_range in + let msg = format_issue' true issue in + let msg = msg |> BU.splitlines |> String.concat "%0A" in + let num = + match issue.issue_number with + | None -> "" + | Some n -> BU.format1 "(%s) " (show n) + in + BU.print_warning <| + BU.format6 "::%s file=%s,line=%s,endLine=%s::%s%s\n" + level + (Range.file_of_range rng) + (show (rng |> Range.start_of_range |> Range.line_of_pos)) + (show (rng |> Range.end_of_range |> Range.line_of_pos)) + num + msg + let print_issue_rendered issue = let printer = match issue.issue_level with @@ -243,27 +280,23 @@ let print_issue issue = match FStarC.Options.message_format () with | Human -> print_issue_rendered issue | Json -> print_issue_json issue + | Github -> print_issue_github issue let compare_issues i1 i2 = match i1.issue_range, i2.issue_range with | None, None -> 0 | None, Some _ -> -1 | Some _, None -> 1 - | Some r1, Some r2 -> FStarC.Compiler.Range.compare_use_range r1 r2 + | Some r1, Some r2 -> FStarC.Range.compare_use_range r1 r2 let dummy_ide_rng : Range.rng = mk_rng "" (mk_pos 1 0) (mk_pos 1 0) -let maybe_bound_rng (r : Range.range) : Range.range = - match !error_range_bound with - | Some r' -> Range.bound_range r r' - | None -> r - (* Attempts to set a decent range (no dummy, no dummy ide) relying on the fallback_range reference. *) -let fixup_issue_range (i:issue) : issue = +let fixup_issue_range (rng:option Range.range) : option Range.range = let rng = - match i.issue_range with + match rng with | None -> (* No range given, just rely on the fallback. NB: the fallback could also be set to None if it's too early. *) @@ -283,7 +316,7 @@ let fixup_issue_range (i:issue) : issue = in Some (set_use_range range use_rng') in - { i with issue_range = map_opt rng maybe_bound_rng } + map_opt rng maybe_bound_range let mk_default_handler print = let issues : ref (list issue) = BU.mk_ref [] in @@ -335,7 +368,6 @@ let get_err_count () = (!current_handler).eh_count_errors () let wrapped_eh_add_one (h : error_handler) (issue : issue) : unit = (* Try to set a good use range if we got an empty/dummy one *) - let issue = fixup_issue_range issue in h.eh_add_one issue; if issue.issue_level <> EInfo then begin Options.abort_counter := !Options.abort_counter - 1; @@ -404,7 +436,7 @@ let warn_unsafe_options rng_opt msg = add_one (mk_issue EError rng_opt (mkmsg ("Every use of this option triggers an error: " ^ msg)) (Some warn_on_use_errno) []) | _ -> () -let set_option_warning_callback_range (ropt:option FStarC.Compiler.Range.range) = +let set_option_warning_callback_range (ropt:option FStarC.Range.range) = Options.set_option_warning_callback (warn_unsafe_options ropt) let t_set_parse_warn_error, @@ -436,7 +468,7 @@ let t_set_parse_warn_error, Getopt.Success with Invalid_warn_error_setting msg -> (BU.smap_add error_flags we None; - Getopt.Error ("Invalid --warn_error setting: " ^ msg ^ "\n")) + Getopt.Error ("Invalid --warn_error setting: " ^ msg ^ "\n", "warn_error")) in (* get_error_flags is called when logging an issue to figure out which error level to report a particular issue at (Warning, Error etc.) @@ -500,16 +532,17 @@ let lookup err = let log_issue_ctx r (e, msg) ctx = let msg = maybe_add_backtrace msg in + let r = fixup_issue_range (Some r) in match lookup e with | (_, CAlwaysError, errno) | (_, CError, errno) -> - add_one (mk_issue EError (Some r) msg (Some errno) ctx) + add_one (mk_issue EError r msg (Some errno) ctx) | (_, CWarning, errno) -> - add_one (mk_issue EWarning (Some r) msg (Some errno) ctx) + add_one (mk_issue EWarning r msg (Some errno) ctx) | (_, CSilent, _) -> () // We allow using log_issue to report a Fatal error in interactive mode | (_, CFatal, errno) -> - let i = mk_issue EError (Some r) msg (Some errno) ctx in + let i = mk_issue EError r msg (Some errno) ctx in if Options.ide() then add_one i else failwith ("don't use log_issue to report fatal error, should use raise_error: " ^ format_issue i) @@ -517,10 +550,11 @@ let log_issue_ctx r (e, msg) ctx = let info r msg = let open FStarC.Class.HasRange in let rng = pos r in + let rng = fixup_issue_range (Some rng) in let msg = to_doc_list msg in let msg = maybe_add_backtrace msg in let ctx = get_ctx () in - add_one (mk_issue EInfo (Some rng) msg None ctx) + add_one (mk_issue EInfo rng msg None ctx) let diag r msg = if Debug.any() then @@ -529,6 +563,7 @@ let diag r msg = let raise_error r e msg = let open FStarC.Class.HasRange in let rng = pos r in + let Some rng = fixup_issue_range (Some rng) in let msg = to_doc_list msg in raise (Error (e, maybe_add_backtrace msg, rng, error_context.get ())) @@ -550,7 +585,8 @@ let issue_of_exn (e:exn) : option issue = match e with | Error(e, msg, r, ctx) -> let errno = error_number (lookup e) in - Some (mk_issue EError (Some r) msg (Some errno) ctx) + let r = fixup_issue_range (Some r) in + Some (mk_issue EError r msg (Some errno) ctx) | _ -> None let err_exn exn = diff --git a/src/basic/FStarC.Errors.fsti b/src/basic/FStarC.Errors.fsti index 8f091c357f3..bb8f482961f 100644 --- a/src/basic/FStarC.Errors.fsti +++ b/src/basic/FStarC.Errors.fsti @@ -16,7 +16,7 @@ module FStarC.Errors -module Range = FStarC.Compiler.Range +module Range = FStarC.Range include FStarC.Errors.Codes include FStarC.Errors.Msg @@ -27,16 +27,19 @@ open FStarC.Json {json} (* This is a fallback to be used if an error is raised/logged with a dummy range. It is set by TypeChecker.Tc.process_one_decl to the range of the sigelt being checked. *) -val fallback_range : FStarC.Compiler.Effect.ref (option Range.range) +val fallback_range : FStarC.Effect.ref (option Range.range) (* This range, if set, will be used to limit the range of every issue that is logged/raised. This is set, e.g. when checking a top-level definition, to the range of the definition, so no error can be reported outside of it. *) -val error_range_bound : FStarC.Compiler.Effect.ref (option Range.range) +val error_range_bound : FStarC.Effect.ref (option Range.range) val with_error_bound (r:Range.range) (f : unit -> 'a) : 'a +(* Intersect a range by the current bound (if any). *) +val maybe_bound_range (rng:Range.range) : Range.range + (* Get the error number for a particular code. Useful for creating error messages mentioning --warn_error. *) val errno : error_code -> int @@ -49,7 +52,7 @@ val call_to_erased_errno : int val update_flags : list (error_flag & string) -> list error_setting (* error code, message, source position, and error context *) -type error = error_code & error_message & FStarC.Compiler.Range.range & list string +type error = error_code & error_message & FStarC.Range.range & list string exception Error of error exception Warning of error @@ -102,7 +105,7 @@ val clear : unit -> unit val set_handler : error_handler -> unit val get_ctx : unit -> list string -val set_option_warning_callback_range : ropt:option FStarC.Compiler.Range.range -> unit +val set_option_warning_callback_range : ropt:option FStarC.Range.range -> unit val set_parse_warn_error : (string -> list error_setting) -> unit val lookup : error_code -> error_setting diff --git a/src/basic/FStarC.Find.fst b/src/basic/FStarC.Find.fst index e4bc5d9a172..2cc3dcfbbc1 100644 --- a/src/basic/FStarC.Find.fst +++ b/src/basic/FStarC.Find.fst @@ -16,10 +16,12 @@ module FStarC.Find open FStar -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -module BU = FStarC.Compiler.Util +open FStarC +open FStarC +open FStarC.Effect +open FStarC.List +module BU = FStarC.Util +open FStarC.Class.Show let fstar_bin_directory : string = BU.get_exec_dir () @@ -27,7 +29,17 @@ let fstar_bin_directory : string = let read_fstar_include (fn : string) : option (list string) = try let s = BU.file_get_contents fn in - let subdirs = String.split ['\n'] s |> List.filter (fun s -> s <> "" && not (String.get s 0 = '#')) in + let subdirs = + // Read each line + String.split ['\r'; '\n'] s |> + // Trim whitespace. NOTE: Carriage returns (\r) should be trimmed + // by BU.trim_string (which is BatString.trim) according to + // the docs, but do not seem to be. So instead we use it as a + // separator above and just get a few more empty lines. + List.map BU.trim_string |> + // And keep the non-empty lines that don't begin with '#' + List.filter (fun s -> s <> "" && not (String.get s 0 = '#')) + in Some subdirs with | _ -> @@ -57,16 +69,17 @@ let lib_root () : option string = match Util.expand_environment_variable "FSTAR_LIB" with | Some s -> Some s | None -> - (* Otherwise, try to find the library in the default locations. It's ulib/ - in the repository, and lib/fstar/ in the binary package. *) - if Util.file_exists (fstar_bin_directory ^ "/../ulib") - then Some (fstar_bin_directory ^ "/../ulib") - else if Util.file_exists (fstar_bin_directory ^ "/../lib/fstar") - then Some (fstar_bin_directory ^ "/../lib/fstar") - else None + (* Otherwise, just at the default location *) + Some (fstar_bin_directory ^ "/../lib/fstar") + +let fstarc_paths () = + if Options.with_fstarc () + then expand_include_d (fstar_bin_directory ^ "/../lib/fstar/fstarc") + else [] let lib_paths () = - Common.option_to_list (lib_root ()) |> expand_include_ds + (Common.option_to_list (lib_root ()) |> expand_include_ds) + @ fstarc_paths () let include_path () = let cache_dir = @@ -144,3 +157,93 @@ let locate_lib () = let locate_ocaml () = // This is correct right now, but probably should change. Util.get_exec_dir () ^ "/../lib" |> Util.normalize_file_path + +let z3url = "https://github.com/Z3Prover/z3/releases" + +let packaged_z3_versions = ["4.8.5"; "4.13.3"] + +let z3_install_suggestion (v : string) : list Pprint.document = + let open FStarC.Errors.Msg in + let open FStarC.Pprint in + [ + prefix 4 1 (text <| BU.format1 "Please download version %s of Z3 from" v) + (url z3url) ^/^ + group (text "and install it into your $PATH as" ^/^ squotes + (doc_of_string (Platform.exe ("z3-" ^ v))) ^^ dot); + if List.mem v packaged_z3_versions then + text <| BU.format1 "Version %s of Z3 should be included in binary packages \ + of F*. If you are using a binary package and are seeing + this error, please file a bug report." v + else + empty + ] + +(* Check if [path] is potentially a valid z3, by trying to run +it with -version and checking for non-empty output. Alternatively +we could call [which] on it (if it's not an absolute path), but +we shouldn't rely on the existence of a binary which. *) +let z3_inpath (path:string) : bool = + try + let s = BU.run_process "z3_pathtest" path ["-version"] None in + s <> "" + with + | _ -> false + +(* Find the Z3 executable that we should invoke for a given version. + +- If the user provided the --smt option, use that binary unconditionally. +- We then look in $LIB/z3-VER/z3, where LIB is the F* library root, for example + /usr/local/lib/fstar/z3-4.8.5/bin/z3, for an installed package. We ship Z3 4.8.5 + and 4.13.3 in the binary package in these paths, so F* automatically find them + without relying on PATH or adding more stuff to the user's /usr/local/bin. + Each $PREFIX/lib/fstar/z3-VER directory roughly contains an extracted Z3 + binary package, but with many files removed (currently we just keep LICENSE + and the executable). + +- Else we check the PATH: + - If z3-VER (or z3-VER.exe) exists in the PATH use it. + - Otherwise, default to "z3" in the PATH. + +We cache the chosen executable for every Z3 version we've ran. +*) +let do_locate_z3 (v:string) : option string = + let open FStarC.Class.Monad in + let guard (b:bool) : option unit = if b then Some () else None in + let (<|>) o1 o2 () = + match o1 () with + | Some v -> Some v + | None -> o2 () + in + let path = + let in_lib () : option string = + let! root = lib_root () in + let path = Platform.exe (root ^ "/z3-" ^ v ^ "/bin/z3") in + let path = BU.normalize_file_path path in + guard (BU.file_exists path);! + Some path + in + let from_path (cmd : string) () = + let cmd = Platform.exe cmd in + guard (z3_inpath cmd);! + Some cmd + in + (Options.smt <|> + in_lib <|> + from_path ("z3-" ^ v) <|> + from_path "z3" <|> (fun _ -> None)) () + in + if Debug.any () then + BU.print2 "do_locate_z3(%s) = %s\n" (Class.Show.show v) (Class.Show.show path); + path + +let locate_z3 (v : string) : option string = + let cache : BU.smap (option string) = BU.smap_create 5 in + let find_or (k:string) (f : string -> option string) : option string = + match BU.smap_try_find cache k with + | Some v -> v + | None -> + let v = f k in + BU.smap_add cache k v; + v + in + find_or v do_locate_z3 diff --git a/src/basic/FStarC.Find.fsti b/src/basic/FStarC.Find.fsti index be459e0e42a..943239bc58c 100644 --- a/src/basic/FStarC.Find.fsti +++ b/src/basic/FStarC.Find.fsti @@ -17,7 +17,7 @@ module FStarC.Find (* Utilities for finding files in the include path and related operations. *) -open FStarC.Compiler.Effect +open FStarC.Effect (* A bit silly to have this, but this is the directory where the fstar.exe executable is in. *) val fstar_bin_directory : string @@ -47,3 +47,9 @@ val locate_lib () : option string (* Return absolute path of OCaml-installed components of F*. *) val locate_ocaml () : string + +(* A message for the user suggesting how to install the proper Z3 version. *) +val z3_install_suggestion (v : string) : list Pprint.document + +(* Locate executable for Z3 version [v]. *) +val locate_z3 (v : string) : option string diff --git a/src/basic/FStarC.GenSym.fst b/src/basic/FStarC.GenSym.fst index 7245c82d8a2..df42a13ce42 100644 --- a/src/basic/FStarC.GenSym.fst +++ b/src/basic/FStarC.GenSym.fst @@ -1,6 +1,6 @@ module FStarC.GenSym -module Util = FStarC.Compiler.Util +module Util = FStarC.Util (* private *) let gensym_st = Util.mk_ref 0 diff --git a/src/basic/FStarC.GenSym.fsti b/src/basic/FStarC.GenSym.fsti index 51f4e4f1afc..df0b5352acf 100644 --- a/src/basic/FStarC.GenSym.fsti +++ b/src/basic/FStarC.GenSym.fsti @@ -18,7 +18,7 @@ *) module FStarC.GenSym -open FStarC.Compiler.Effect +open FStarC.Effect (** Obtain a fresh ID. *) val next_id : unit -> int diff --git a/src/basic/FStarC.Getopt.fsti b/src/basic/FStarC.Getopt.fsti index 2259823b3c8..2ea8d398977 100644 --- a/src/basic/FStarC.Getopt.fsti +++ b/src/basic/FStarC.Getopt.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.Getopt -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.BaseTypes val noshort : char @@ -29,7 +29,7 @@ type opt = opt' unit type parse_cmdline_res = | Empty | Help - | Error of string + | Error of (string & string) // second arg is the long name of the failed option | Success val parse_cmdline: list opt -> (string -> parse_cmdline_res) -> parse_cmdline_res diff --git a/src/basic/FStarC.Hash.fsti b/src/basic/FStarC.Hash.fsti index cba5dc5b576..eaa08c87b18 100644 --- a/src/basic/FStarC.Hash.fsti +++ b/src/basic/FStarC.Hash.fsti @@ -1,5 +1,5 @@ module FStarC.Hash -open FStarC.Compiler.Effect +open FStarC.Effect type hash_code diff --git a/src/basic/FStarC.Hints.fsti b/src/basic/FStarC.Hints.fsti new file mode 100644 index 00000000000..103a07fce54 --- /dev/null +++ b/src/basic/FStarC.Hints.fsti @@ -0,0 +1,31 @@ +module FStarC.Hints + +open FStarC +open FStarC +open FStarC.Effect + +(** Hints. *) +type hint = { + hint_name:string; //name associated to the top-level term in the source program + hint_index:int; //the nth query associated with that top-level term + fuel:int; //fuel for unrolling recursive functions + ifuel:int; //fuel for inverting inductive datatypes + unsat_core:option (list string); //unsat core, if requested + query_elapsed_time:int; //time in milliseconds taken for the query, to decide if a fresh replay is worth it + hash:option string; //hash of the smt2 query that last succeeded +} + +type hints = list (option hint) + +type hints_db = { + module_digest:string; + hints: hints +} + +type hints_read_result = + | HintsOK of hints_db + | MalformedJson + | UnableToOpen + +val write_hints: string -> hints_db -> unit +val read_hints: string -> hints_read_result diff --git a/src/basic/FStarC.Ident.fst b/src/basic/FStarC.Ident.fst index daf8661d7c1..f1b6241587b 100644 --- a/src/basic/FStarC.Ident.fst +++ b/src/basic/FStarC.Ident.fst @@ -1,11 +1,11 @@ module FStarC.Ident open Prims -open FStarC.Compiler.Effect -open FStarC.Compiler.Range -open FStarC.Compiler.List -module List = FStarC.Compiler.List -module Util = FStarC.Compiler.Util +open FStarC.Effect +open FStarC.Range +open FStarC.List +module List = FStarC.List +module Util = FStarC.Util module GS = FStarC.GenSym [@@ PpxDerivingYoJson; PpxDerivingShow ] diff --git a/src/basic/FStarC.Ident.fsti b/src/basic/FStarC.Ident.fsti index f98fd55641b..8b253e2aea1 100644 --- a/src/basic/FStarC.Ident.fsti +++ b/src/basic/FStarC.Ident.fsti @@ -15,7 +15,7 @@ *) module FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Class.Show open FStarC.Class.HasRange open FStarC.Class.Deq diff --git a/src/basic/FStarC.Json.fsti b/src/basic/FStarC.Json.fsti index 672f6e182e3..49a975d91d9 100644 --- a/src/basic/FStarC.Json.fsti +++ b/src/basic/FStarC.Json.fsti @@ -15,7 +15,7 @@ *) module FStarC.Json -open FStarC.Compiler.Effect +open FStarC.Effect type json = | JsonNull diff --git a/src/basic/FStarC.List.fsti b/src/basic/FStarC.List.fsti new file mode 100644 index 00000000000..c5bba540d94 --- /dev/null +++ b/src/basic/FStarC.List.fsti @@ -0,0 +1,79 @@ +(* + 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 FStarC.List +open FStarC.Effect +open Prims + +val isEmpty : (list 'a) -> Tot bool +val singleton : 'a -> list 'a +val hd : (list 'a) -> 'a +val length : (list 'a) -> Tot nat +val nth : (list 'a) -> int -> 'a +val rev_acc : (list 'a) -> (list 'a) -> Tot (list 'a) +val rev : (list 'a) -> Tot (list 'a) +val append : (list 'a) -> (list 'a) -> Tot (list 'a) +val ( @ ) : (list 'a) -> (list 'a) -> Tot (list 'a) +val flatten : (list (list 'a)) -> Tot (list 'a) +val iter : ('a -> unit) -> (list 'a) -> unit +val iter2 : ('a -> 'b -> unit) -> (list 'a) -> list 'b -> unit +val iteri : (int -> 'a -> unit) -> (list 'a) -> unit +val map : ('a -> 'b) -> (list 'a) -> (list 'b) +val mapi_init : (int -> 'a -> 'b) -> (list 'a) -> int -> (list 'b) +val mapi : (int -> 'a -> 'b) -> (list 'a) -> (list 'b) +val concatMap : ('a -> (list 'b)) -> (list 'a) -> (list 'b) +val map2 : ('a -> 'b -> 'c) -> (list 'a) -> (list 'b) -> (list 'c) +val map3 : ('a -> 'b -> 'c -> 'd) -> (list 'a) -> (list 'b) -> (list 'c) -> (list 'd) +val fold_left : ('a -> 'b -> 'a) -> 'a -> (list 'b) -> 'a +val fold_left2 : ('s -> 'a -> 'b -> 's) -> 's -> (list 'a) -> (list 'b) -> 's +val fold_right : ('a -> 'b -> 'b) -> (list 'a) -> 'b -> 'b +val fold_right2 : ('a -> 'b -> 'c -> 'c) -> list 'a -> list 'b -> 'c -> 'c +val rev_map_onto : ('a -> 'b) -> (list 'a) -> (list 'b) -> (list 'b) +val init : (list 'a) -> list 'a +val last : (list 'a) -> 'a +val last_opt : list 'a -> option 'a +val existsb : f:('a -> bool) -> (list 'a) -> bool +val existsML : f:('a -> bool) -> (list 'a) -> bool +val find : f:('a -> bool) -> (list 'a) -> (option 'a) +val filter : ('a -> bool) -> (list 'a) -> (list 'a) +val for_all : ('a -> bool) -> (list 'a) -> bool +val forall2 : ('a -> 'b -> bool) -> (list 'a) -> (list 'b) -> bool +val collect : ('a -> (list 'b)) -> (list 'a) -> (list 'b) +val tryFind : ('a -> bool) -> (list 'a) -> (option 'a) +val tryPick : ('a -> (option 'b)) -> (list 'a) -> (option 'b) +val choose : ('a -> (option 'b)) -> (list 'a) -> (list 'b) +val partition : ('a -> bool) -> (list 'a) -> ((list 'a) & (list 'a)) +val splitAt : int -> list 'a -> list 'a & list 'a +val split : (list ('a & 'b)) -> Tot ((list 'a) & (list 'b)) +val unzip3 : list ('a & 'b & 'c) -> Tot ((list 'a) & (list 'b) & (list 'c)) +val zip : (list 'a) -> (list 'b) -> (list ('a & 'b)) +val zip3 : (list 'a) -> (list 'b) -> (list 'c) -> (list ('a & 'b & 'c)) +val sortWith : ('a -> 'a -> int) -> (list 'a) -> (list 'a) +val bool_of_compare : ('a -> 'a -> Tot int) -> 'a -> 'a -> Tot bool +val tail : (list '_1225) -> (list '_1225) +val tl : list '_1230 -> list '_1230 +val rev_append : (list '_5110) -> (list '_5110) -> Tot (list '_5110) +val concat : (list (list '_6116)) -> Tot (list '_6116) +val unzip : (list ('_36948 & '_36947)) -> Tot ((list '_36948) & (list '_36947)) +val filter_map: ('a -> option 'b) -> list 'a -> list 'b +val count: #a:eqtype -> a -> (list a) -> Tot nat +val mem: #a:eqtype -> a -> (list a) -> Tot bool +val assoc: #a:eqtype -> #b:Type -> a -> (list (a & b)) -> Tot (option b) +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 +val fold_left_map (f: 'a -> 'b -> 'a & 'c) (s: 'a) (l: list 'b) : 'a & list 'c diff --git a/src/basic/FStarC.MachineInts.fst b/src/basic/FStarC.MachineInts.fst new file mode 100644 index 00000000000..542865bcb3e --- /dev/null +++ b/src/basic/FStarC.MachineInts.fst @@ -0,0 +1,171 @@ +module FStarC.MachineInts + +(* A type representing all the kinds of machine integers, and an +embedding instance for them. *) + +open FStar open FStarC +open FStarC +open FStarC.Effect +open FStarC.Syntax.Syntax + +module EMB = FStarC.Syntax.Embeddings +module NBE = FStarC.TypeChecker.NBETerm +module PC = FStarC.Parser.Const +module S = FStarC.Syntax.Syntax +module SS = FStarC.Syntax.Subst +module U = FStarC.Syntax.Util +module Z = FStarC.BigInt + +open FStarC.Class.Show +open FStarC.Class.Monad + +let all_machint_kinds = + [Int8; Int16; Int32; Int64; UInt8; UInt16; UInt32; UInt64; UInt128; SizeT] + +let is_unsigned (k : machint_kind) : bool = + match k with + | Int8 + | Int16 + | Int32 + | Int64 -> false + | UInt8 + | UInt16 + | UInt32 + | UInt64 + | UInt128 + | SizeT -> true +let is_signed k = not (is_unsigned k) + +let width (k : machint_kind) : int = + match k with + | Int8 -> 8 + | Int16 -> 16 + | Int32 -> 32 + | Int64 -> 64 + | UInt8 -> 8 + | UInt16 -> 16 + | UInt32 -> 32 + | UInt64 -> 64 + | UInt128 -> 128 + | SizeT -> 64 + +let module_name_for (k:machint_kind) : string = + match k with + | Int8 -> "Int8" + | Int16 -> "Int16" + | Int32 -> "Int32" + | Int64 -> "Int64" + | UInt8 -> "UInt8" + | UInt16 -> "UInt16" + | UInt32 -> "UInt32" + | UInt64 -> "UInt64" + | UInt128 -> "UInt128" + | SizeT -> "SizeT" + +let mask (k:machint_kind) : Z.t = + match width k with + | 8 -> Z.of_hex "ff" + | 16 -> Z.of_hex "ffff" + | 32 -> Z.of_hex "ffffffff" + | 64 -> Z.of_hex "ffffffffffffffff" + | 128 -> Z.of_hex "ffffffffffffffffffffffffffffffff" + +let int_to_t_lid_for (k:machint_kind) : Ident.lid = + let path = "FStar" :: module_name_for k :: (if is_unsigned k then "uint_to_t" else "int_to_t") :: [] in + Ident.lid_of_path path Range.dummyRange + +let int_to_t_for (k:machint_kind) : S.term = + let lid = int_to_t_lid_for k in + S.fvar lid None + +let __int_to_t_lid_for (k:machint_kind) : Ident.lid = + let path = "FStar" :: module_name_for k :: (if is_unsigned k then "__uint_to_t" else "__int_to_t") :: [] in + Ident.lid_of_path path Range.dummyRange + +let __int_to_t_for (k:machint_kind) : S.term = + let lid = __int_to_t_lid_for k in + S.fvar lid None + +(* just a newtype really, no checks or conditions here *) +type machint (k : machint_kind) = | Mk : Z.t -> option S.meta_source_info -> machint k + +let mk #k x m = Mk #k x m +let v #k (x : machint k) = + let Mk v _ = x in v +let meta #k (x : machint k) = + let Mk _ meta = x in meta +let make_as #k (x : machint k) (z : Z.t) : machint k = + Mk z (meta x) + +(* just for debugging *) +instance showable_bounded_k k : Tot (showable (machint k)) = { + show = (function Mk x m -> "machine integer " ^ show (Z.to_int_fs x) ^ "@@" ^ module_name_for k); +} + +instance e_machint (k : machint_kind) : Tot (EMB.embedding (machint k)) = + let with_meta_ds r t (m:option meta_source_info) = + match m with + | None -> t + | Some m -> S.mk (Tm_meta {tm=t; meta=Meta_desugared m}) r + in + let em (x : machint k) rng shadow cb = + let Mk i m = x in + let it = EMB.embed i rng None cb in + let int_to_t = int_to_t_for k in + let t = S.mk_Tm_app int_to_t [S.as_arg it] rng in + with_meta_ds rng t m + in + let un (t:term) cb : option (machint k) = + let (t, m) = + (match (SS.compress t).n with + | Tm_meta {tm=t; meta=Meta_desugared m} -> (t, Some m) + | _ -> (t, None)) + in + let t = U.unmeta_safe t in + match (SS.compress t).n with + | Tm_app {hd; args=[(a,_)]} when U.is_fvar (int_to_t_lid_for k) hd + || U.is_fvar (__int_to_t_lid_for k) hd -> + let a = U.unlazy_emb a in + let! a : Z.t = EMB.try_unembed a cb in + Some (Mk a m) + | _ -> + None + in + EMB.mk_emb_full em un + (fun () -> S.fvar (Ident.lid_of_path ["FStar"; module_name_for k; "t"] Range.dummyRange) None) + (fun _ -> "boundedint") + (fun () -> ET_abstract) + +instance nbe_machint (k : machint_kind) : Tot (NBE.embedding (machint k)) = + let open NBE in + let with_meta_ds t (m:option meta_source_info) = + match m with + | None -> t + | Some m -> NBE.mk_t (Meta(t, Thunk.mk (fun _ -> Meta_desugared m))) + in + let em cbs (x : machint k) = + let Mk i m = x in + let it = embed e_int cbs i in + let int_to_t args = mk_t <| FV (S.lid_as_fv (__int_to_t_lid_for k) None, [], args) in + let t = int_to_t [as_arg it] in + with_meta_ds t m + in + let un cbs a : option (machint k) = + let (a, m) = + (match a.nbe_t with + | Meta(t, tm) -> + (match Thunk.force tm with + | Meta_desugared m -> (t, Some m) + | _ -> (a, None)) + | _ -> (a, None)) + in + match a.nbe_t with + | FV (fv1, [], [(a, _)]) when Ident.lid_equals (fv1.fv_name.v) (int_to_t_lid_for k) -> + let! a : Z.t = unembed e_int cbs a in + Some (Mk a m) + | _ -> None + in + mk_emb em un + (fun () -> mkFV (lid_as_fv (Ident.lid_of_path ["FStar"; module_name_for k; "t"] Range.dummyRange) None) [] []) + (fun () -> ET_abstract) + diff --git a/src/basic/FStarC.MachineInts.fsti b/src/basic/FStarC.MachineInts.fsti new file mode 100644 index 00000000000..fc3882a337a --- /dev/null +++ b/src/basic/FStarC.MachineInts.fsti @@ -0,0 +1,48 @@ +module FStarC.MachineInts + +open FStar open FStarC +open FStarC +open FStarC.Effect + +module EMB = FStarC.Syntax.Embeddings +module NBE = FStarC.TypeChecker.NBETerm +module S = FStarC.Syntax.Syntax +module Z = FStarC.BigInt + +open FStarC.Class.Show + +type machint_kind = + | Int8 + | Int16 + | Int32 + | Int64 + | UInt8 + | UInt16 + | UInt32 + | UInt64 + | UInt128 + | SizeT + +val all_machint_kinds : list machint_kind + +val is_unsigned (k : machint_kind) : bool +val is_signed (k : machint_kind) : bool +val width (k : machint_kind) : int +val module_name_for (k:machint_kind) : string +val mask (k:machint_kind) : Z.t + +new val machint (k : machint_kind) : Type0 + +val mk (#k:_) (i : Z.t) (m : option S.meta_source_info) : machint k // no checks at all, use with care +val v #k (x : machint k) : Z.t +val meta #k (x : machint k) : option S.meta_source_info + +(* Make a machint k copying the meta off an existing one *) +val make_as #k (x : machint k) (z : Z.t) : machint k + +instance val showable_bounded_k k : Tot (showable (machint k)) +instance val e_machint (k : machint_kind) : Tot (EMB.embedding (machint k)) + +instance val nbe_machint (k : machint_kind) : Tot (NBE.embedding (machint k)) +// ^ This instance being here is slightly fishy. It blows up the dependency +// graph of this module. diff --git a/src/basic/FStarC.Misc.fst b/src/basic/FStarC.Misc.fst new file mode 100644 index 00000000000..a1e9e024510 --- /dev/null +++ b/src/basic/FStarC.Misc.fst @@ -0,0 +1,16 @@ +module FStarC.Misc + +open FStarC +open FStarC.Effect +open FStarC.Util + +open FStarC.Order +open FStar.String + +let compare_version (v1 v2 : string) : order = + let cs1 = String.split ['.'] v1 |> List.map int_of_string in + let cs2 = String.split ['.'] v2 |> List.map int_of_string in + compare_list cs1 cs2 compare_int + +let version_gt v1 v2 = compare_version v1 v2 = Gt +let version_ge v1 v2 = compare_version v1 v2 <> Lt diff --git a/src/basic/FStarC.Misc.fsti b/src/basic/FStarC.Misc.fsti new file mode 100644 index 00000000000..27d12684437 --- /dev/null +++ b/src/basic/FStarC.Misc.fsti @@ -0,0 +1,10 @@ +module FStarC.Misc + +open FStarC.Effect + +(* This functions compare version numbers. E.g. "4.8.5" and "4.12.3". +NOTE: the versions cannot contain any alphabetic character, only numbers +are allowed for now. *) + +val version_gt : string -> string -> bool +val version_ge : string -> string -> bool diff --git a/src/basic/FStarC.Option.fst b/src/basic/FStarC.Option.fst new file mode 100644 index 00000000000..a79ee0a2d3a --- /dev/null +++ b/src/basic/FStarC.Option.fst @@ -0,0 +1,38 @@ +(* + 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 FStarC.Option + +open FStarC.Effect + +let isNone = function + | None -> true + | Some _ -> false + +let isSome = function + | Some _ -> true + | None -> false + +let map f = function + | Some x -> Some (f x) + | None -> None + +let mapTot f = function + | Some x -> Some (f x) + | None -> None + +let get = function + | Some x -> x + | None -> failwith "empty option" diff --git a/src/basic/FStarC.Option.fsti b/src/basic/FStarC.Option.fsti new file mode 100644 index 00000000000..501be710eb8 --- /dev/null +++ b/src/basic/FStarC.Option.fsti @@ -0,0 +1,24 @@ +(* + 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 FStarC.Option +open Prims +open FStarC.Effect + +val isNone: option 'a -> Tot bool +val isSome: option 'a -> Tot bool +val map: ('a -> ML 'b) -> option 'a -> ML (option 'b) +val mapTot: ('a -> Tot 'b) -> option 'a -> Tot (option 'b) +val get: option 'a -> ML 'a diff --git a/src/basic/FStarC.Options.Ext.fst b/src/basic/FStarC.Options.Ext.fst index f5b3baff35c..4c8ddc59582 100644 --- a/src/basic/FStarC.Options.Ext.fst +++ b/src/basic/FStarC.Options.Ext.fst @@ -15,10 +15,10 @@ *) module FStarC.Options.Ext -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Class.Show -module BU = FStarC.Compiler.Util +module BU = FStarC.Util type ext_state = | E : map : BU.psmap string -> ext_state @@ -40,7 +40,7 @@ let get (k:key) : value = (* Find a home *) let is_prefix (s1 s2 : string) : ML bool = - let open FStarC.Compiler.String in + let open FStarC.String in let l1 = length s1 in let l2 = length s2 in l2 >= l1 && substring s2 0 l1 = s1 diff --git a/src/basic/FStarC.Options.Ext.fsti b/src/basic/FStarC.Options.Ext.fsti index 8670968921f..26aa1ab012c 100644 --- a/src/basic/FStarC.Options.Ext.fsti +++ b/src/basic/FStarC.Options.Ext.fsti @@ -15,7 +15,7 @@ *) module FStarC.Options.Ext -open FStarC.Compiler.Effect +open FStarC.Effect type key = string type value = string diff --git a/src/basic/FStarC.Options.fst b/src/basic/FStarC.Options.fst index 71649bfc83d..e3f6ef184f6 100644 --- a/src/basic/FStarC.Options.fst +++ b/src/basic/FStarC.Options.fst @@ -17,21 +17,21 @@ module FStarC.Options open FStar open FStarC open FStarC.BaseTypes -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.String -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.String +open FStarC.Util open FStarC.Getopt open FStar.Pervasives open FStarC.VConfig open FStarC.Class.Show open FStarC.Class.Deq -module Option = FStarC.Compiler.Option +module Option = FStarC.Option module FC = FStarC.Common -module Util = FStarC.Compiler.Util -module List = FStarC.Compiler.List +module Util = FStarC.Util +module List = FStarC.List module Ext = FStarC.Options.Ext @@ -52,7 +52,7 @@ let as_int = function | _ -> failwith "Impos: expected Int" let as_string = function | String b -> b - | Path b -> FStarC.Common.try_convert_file_name_to_mixed b + | Path b -> b | _ -> failwith "Impos: expected String" let as_list' = function | List ts -> ts @@ -204,7 +204,7 @@ let defaults = ("eager_subtyping" , Bool false); ("error_contexts" , Bool false); ("expose_interfaces" , Bool false); - ("message_format" , String "human"); + ("message_format" , String "auto"); ("ext" , Unset); ("extract" , Unset); ("extract_all" , Bool false); @@ -238,7 +238,7 @@ let defaults = ("max_fuel" , Int 8); ("max_ifuel" , Int 2); ("MLish" , Bool false); - ("MLish_effect" , String "FStar.Compiler.Effect"); + ("MLish_effect" , String "FStar.Effect"); ("no_default_includes" , Bool false); ("no_extract" , List []); ("no_location_info" , Bool false); @@ -273,6 +273,8 @@ let defaults = ("locate" , Bool false); ("locate_lib" , Bool false); ("locate_ocaml" , Bool false); + ("locate_file" , Unset); + ("locate_z3" , Unset); ("read_krml_file" , Unset); ("record_hints" , Bool false); ("record_options" , Bool false); @@ -320,6 +322,7 @@ let defaults = ("use_nbe_for_extraction" , Bool false); ("trivial_pre_for_unannotated_effectful_fns" , Bool true); + ("with_fstarc" , Bool false); ("profile_group_by_decl" , Bool false); ("profile_component" , Unset); ("profile" , Unset); @@ -534,6 +537,8 @@ let get_list_plugins () = lookup_opt "list_plugins" let get_locate () = lookup_opt "locate" as_bool let get_locate_lib () = lookup_opt "locate_lib" as_bool let get_locate_ocaml () = lookup_opt "locate_ocaml" as_bool +let get_locate_file () = lookup_opt "locate_file" (as_option as_string) +let get_locate_z3 () = lookup_opt "locate_z3" (as_option as_string) let get_record_hints () = lookup_opt "record_hints" as_bool let get_record_options () = lookup_opt "record_options" as_bool let get_retry () = lookup_opt "retry" as_bool @@ -580,6 +585,7 @@ let get_use_nbe () = lookup_opt "use_nbe" let get_use_nbe_for_extraction () = lookup_opt "use_nbe_for_extraction" as_bool let get_trivial_pre_for_unannotated_effectful_fns () = lookup_opt "trivial_pre_for_unannotated_effectful_fns" as_bool +let get_with_fstarc () = lookup_opt "with_fstarc" as_bool let get_profile () = lookup_opt "profile" (as_option (as_list as_string)) let get_profile_group_by_decl () = lookup_opt "profile_group_by_decl" as_bool let get_profile_component () = lookup_opt "profile_component" (as_option (as_list as_string)) @@ -595,46 +601,48 @@ let display_version () = Util.print_string (Util.format5 "F* %s\nplatform=%s\ncompiler=%s\ndate=%s\ncommit=%s\n" !_version !_platform !_compiler !_date !_commit) +let bold_doc (d:Pprint.document) : Pprint.document = + let open FStarC.Pprint in + (* very hacky, this would make no sense for documents going elsewhere + other than stdout *) + if stdout_isatty () = Some true + then fancystring "\x1b[39;1m" 0 ^^ d ^^ fancystring "\x1b[0m" 0 + else d + let display_debug_keys () = let keys = Debug.list_all_toggles () in keys |> List.sortWith String.compare |> List.iter (fun s -> Util.print_string (s ^ "\n")) +let usage_for (o : opt & Pprint.document) : Pprint.document = + let open FStarC.Pprint in + let open FStarC.Errors.Msg in + let ((short, flag, p), explain) = o in + let arg = + match p with + | ZeroArgs _ -> empty + | OneArg (_, argname) -> blank 1 ^^ doc_of_string argname + in + let short_opt = + if short <> noshort + then [doc_of_string ("-" ^ String.make 1 short) ^^ arg] + else [] + in + let long_opt = + if flag <> "" + then [doc_of_string ("--" ^ flag) ^^ arg] + else [] + in + group (bold_doc (separate (comma ^^ blank 1) (short_opt @ long_opt))) ^^ hardline ^^ + group (blank 4 ^^ align explain) ^^ hardline + let display_usage_aux (specs : list (opt & Pprint.document)) : unit = let open FStarC.Pprint in let open FStarC.Errors.Msg in let text (s:string) : document = flow (break_ 1) (words s) in - let bold_doc (d:document) : document = - (* very hacky, this would make no sense for documents going elsewhere - other than stdout *) - if stdout_isatty () = Some true - then fancystring "\x1b[39;1m" 0 ^^ d ^^ fancystring "\x1b[0m" 0 - else d - in let d : document = doc_of_string "fstar.exe [options] file[s] [@respfile...]" ^/^ doc_of_string (Util.format1 " %srespfile: read command-line options from respfile\n" (Util.colorize_bold "@")) ^/^ - List.fold_right - (fun ((short, flag, p), explain) rest -> - let arg = - match p with - | ZeroArgs _ -> empty - | OneArg (_, argname) -> blank 1 ^^ doc_of_string argname - in - let short_opt = - if short <> noshort - then [doc_of_string ("-" ^ String.make 1 short) ^^ arg] - else [] - in - let long_opt = - if flag <> "" - then [doc_of_string ("--" ^ flag) ^^ arg] - else [] - in - group (bold_doc (separate (comma ^^ blank 1) (short_opt @ long_opt))) ^^ hardline ^^ - group (blank 4 ^^ align explain) ^^ hardline ^^ - rest - ) - specs empty + List.fold_right (fun o rest -> usage_for o ^^ rest) specs empty in Util.print_string (pretty_string (float_of_string "1.0") 80 d) @@ -843,7 +851,7 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d ( noshort, "codegen", - EnumStr ["OCaml"; "FSharp"; "krml"; "Plugin"; "Extension"], + EnumStr ["OCaml"; "FSharp"; "krml"; "Plugin"; "PluginNoLib"; "Extension"], text "Generate code for further compilation to executable code, or build a compiler plugin"); ( noshort, @@ -956,7 +964,7 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d "extract", Accumulated (SimpleStr "One or more semicolon separated occurrences of '[TargetName:]ModuleSelector'"), text "Extract only those modules whose names or namespaces match the provided options. \ - 'TargetName' ranges over {OCaml, krml, FSharp, Plugin, Extension}. \ + 'TargetName' ranges over {OCaml, krml, FSharp, Plugin, PluginNoLib, Extension}. \ A 'ModuleSelector' is a space or comma-separated list of '[+|-]( * | namespace | module)'. \ For example --extract 'OCaml:A -A.B' --extract 'krml:A -A.C' --extract '*' means \ for OCaml, extract everything in the A namespace only except A.B; \ @@ -983,8 +991,10 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d ( noshort, "message_format", - EnumStr ["human"; "json"], - text "Format of the messages emitted by F* (default `human`)"); + EnumStr ["human"; "json"; "github"; "auto"], + text "Format of the messages emitted by F*. Using 'auto' will use human messages \ + unless the variable GITHUB_ACTIONS is non-empty, in which case 'github' is \ + used (default `auto`)."); ( noshort, "hide_uvar_nums", @@ -1147,7 +1157,7 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d ( noshort, "MLish_effect", SimpleStr "module_name", - text "Set the default effect *module* for --MLish (default: FStar.Compiler.Effect)"); + text "Set the default effect *module* for --MLish (default: FStar.Effect)"); ( noshort, "no_default_includes", @@ -1481,12 +1491,12 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d ReverseAccumulated (SimpleStr "One or more space-separated occurrences of '[+|-]( * | namespace | fact id)'"), text "Prunes the context to include only the facts from the given namespace or fact id. \ Facts can be include or excluded using the [+|-] qualifier. \ - For example --using_facts_from '* -FStarC.Reflection +FStarC.Compiler.List -FStarC.Compiler.List.Tot' will \ - remove all facts from FStarC.Compiler.List.Tot.*, \ - retain all remaining facts from FStarC.Compiler.List.*, \ + For example --using_facts_from '* -FStarC.Reflection +FStarC.List -FStarC.List.Tot' will \ + remove all facts from FStarC.List.Tot.*, \ + retain all remaining facts from FStarC.List.*, \ remove all facts from FStarC.Reflection.*, \ and retain all the rest. \ - Note, the '+' is optional: --using_facts_from 'FStarC.Compiler.List' is equivalent to --using_facts_from '+FStarC.Compiler.List'. \ + Note, the '+' is optional: --using_facts_from 'FStarC.List' is equivalent to --using_facts_from '+FStarC.List'. \ Multiple uses of this option accumulate, e.g., --using_facts_from A --using_facts_from B is interpreted as --using_facts_from A^B."); ( noshort, @@ -1571,6 +1581,12 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d BoolStr, text "Enforce trivial preconditions for unannotated effectful functions (default 'true')" ); + ( noshort, + "with_fstarc", + Const (Bool true), + text "Expose compiler internal modules (FStarC namespace). Only for advanced plugins \ + you should probably not use it."); + ( noshort, "__debug_embedding", WithSideEffect ((fun _ -> debug_embedding := true), @@ -1631,6 +1647,17 @@ let rec specs_with_types warn_unsafe : list (char & string & opt_type & Pprint.d "locate_ocaml", Const (Bool true), text "Print the root of the built OCaml F* library and exit"); + ( noshort, + "locate_file", + SimpleStr "basename", + text "Find a file in F*'s include path and print its absolute path, then exit"); + ( noshort, + "locate_z3", + SimpleStr "version", + text "Locate the executable for a given Z3 version, then exit. \ + The output is either an absolute path, or a name that was found in the PATH. \ + Note: this is the Z3 executable that F* will attempt to call for the given version, \ + but the version check is not performed at this point."); ( noshort, "ocamlenv", WithSideEffect ((fun _ -> print_error "--ocamlenv must be the first argument, see fstar.exe --help for details\n"; exit 1), @@ -1760,6 +1787,11 @@ let all_specs_getopt = List.map fst all_specs let all_specs_with_types = specs_with_types true let settable_specs = all_specs |> List.filter (fun ((_, x, _), _) -> settable x) +let help_for_option (s:string) : option Pprint.document = + match all_specs |> List.filter (fun ((_, x, _), _) -> x = s) with + | [] -> None + | o::_ -> Some (usage_for o) // NB: there should be only one + ///////////////////////////////////////////////////////////////////////////////////////////////////////// //PUBLIC API ///////////////////////////////////////////////////////////////////////////////////////////////////////// @@ -1817,7 +1849,7 @@ let parse_cmd_line () = then set_error_flags() else res in - res, List.map FC.try_convert_file_name_to_mixed !file_list_ + res, !file_list_ let file_list () = !file_list_ @@ -1932,6 +1964,7 @@ let parse_codegen = | "FSharp" -> Some FSharp | "krml" -> Some Krml | "Plugin" -> Some Plugin + | "PluginNoLib" -> Some PluginNoLib | "Extension" -> Some Extension | _ -> None @@ -1941,6 +1974,7 @@ let print_codegen = | FSharp -> "FSharp" | Krml -> "krml" | Plugin -> "Plugin" + | PluginNoLib -> "PluginNoLib" | Extension -> "Extension" let codegen () = @@ -1961,10 +1995,20 @@ let dump_module s = get_dump_module() |> List.existsb (module_ let eager_subtyping () = get_eager_subtyping() let error_contexts () = get_error_contexts () let expose_interfaces () = get_expose_interfaces () +let interactive () = get_in () || get_ide () || get_lsp () let message_format () = match get_message_format () with + | "auto" -> ( + if interactive () then Human + else + match Util.expand_environment_variable "GITHUB_ACTIONS" with + | None + | Some "" -> Human + | Some _ -> Github + ) | "human" -> Human | "json" -> Json + | "github" -> Github | illegal -> failwith ("print_issue: option `message_format` was expected to be `human` or `json`, not `" ^ illegal ^ "`. This should be impossible: `message_format` was supposed to be validated.") let force () = get_force () let full_context_dependency () = true @@ -2000,7 +2044,6 @@ let print () = get_print () let print_in_place () = get_print_in_place () let initial_fuel () = min (get_initial_fuel ()) (get_max_fuel ()) let initial_ifuel () = min (get_initial_ifuel ()) (get_max_ifuel ()) -let interactive () = get_in () || get_ide () || get_lsp () let lax () = get_lax () let load () = get_load () let load_cmxs () = get_load_cmxs () @@ -2047,6 +2090,8 @@ let list_plugins () = get_list_plugins () let locate () = get_locate () let locate_lib () = get_locate_lib () let locate_ocaml () = get_locate_ocaml () +let locate_file () = get_locate_file () +let locate_z3 () = get_locate_z3 () let read_krml_file () = get_read_krml_file () let record_hints () = get_record_hints () let record_options () = get_record_options () @@ -2106,6 +2151,7 @@ let use_nbe () = get_use_nbe () let use_nbe_for_extraction () = get_use_nbe_for_extraction () let trivial_pre_for_unannotated_effectful_fns () = get_trivial_pre_for_unannotated_effectful_fns () +let with_fstarc () = get_with_fstarc () let debug_keys () = lookup_opt "debug" as_comma_string_list let debug_all () = lookup_opt "debug_all" as_bool @@ -2196,7 +2242,7 @@ let extract_settings | Some x -> [tgt,x] in { - target_specific_settings = List.collect merge_target [OCaml;FSharp;Krml;Plugin;Extension]; + target_specific_settings = List.collect merge_target [OCaml;FSharp;Krml;Plugin;PluginNoLib;Extension]; default_settings = merge_setting p0.default_settings p1.default_settings } in @@ -2342,12 +2388,12 @@ let set_options s = if s = "" then Success else let settable_specs = List.map fst settable_specs in - let res = Getopt.parse_string settable_specs (fun s -> raise (File_argument s); Error "set_options with file argument") s in + let res = Getopt.parse_string settable_specs (fun s -> raise (File_argument s); Error ("set_options with file argument", "")) s in if res=Success then set_error_flags() else res with - | File_argument s -> Getopt.Error (Util.format1 "File %s is not a valid option" s) + | File_argument s -> Getopt.Error (Util.format1 "File %s is not a valid option" s, "") let with_options s f = with_saved_options (fun () -> diff --git a/src/basic/FStarC.Options.fsti b/src/basic/FStarC.Options.fsti index 6408a57f5bc..fcae5cae107 100644 --- a/src/basic/FStarC.Options.fsti +++ b/src/basic/FStarC.Options.fsti @@ -15,24 +15,25 @@ *) module FStarC.Options open FStar.All -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Getopt open FStarC.BaseTypes open FStarC.VConfig -open FStarC.Compiler +open FStarC type codegen_t = | OCaml | FSharp | Krml | Plugin + | PluginNoLib | Extension //let __test_norm_all = Util.mk_ref false type split_queries_t = | No | OnFailure | Always -type message_format_t = | Json | Human +type message_format_t = | Json | Human | Github type option_val = | Bool of bool @@ -42,7 +43,7 @@ type option_val = | List of list option_val | Unset -type optionstate = FStarC.Compiler.Util.psmap option_val +type optionstate = FStarC.Util.psmap option_val type opt_type = | Const of option_val @@ -102,6 +103,7 @@ val add_verify_module : string -> unit val set_option_warning_callback : (string -> unit) -> unit val desc_of_opt_type : opt_type -> option string val all_specs_with_types : list (char & string & opt_type & Pprint.document) +val help_for_option : string -> option Pprint.document val settable : string -> bool val abort_counter : ref int @@ -178,6 +180,8 @@ val list_plugins : unit -> bool val locate : unit -> bool val locate_lib : unit -> bool val locate_ocaml : unit -> bool +val locate_file : unit -> option string +val locate_z3 : unit -> option string val output_deps_to : unit -> option string val output_dir : unit -> option string val custom_prims : unit -> option string @@ -258,6 +262,7 @@ val use_nbe : unit -> bool val use_nbe_for_extraction : unit -> bool val trivial_pre_for_unannotated_effectful_fns : unit -> bool +val with_fstarc : unit -> bool (* List of enabled debug toggles. *) val debug_keys : unit -> list string diff --git a/src/basic/FStarC.Order.fst b/src/basic/FStarC.Order.fst new file mode 100644 index 00000000000..85d8369fe58 --- /dev/null +++ b/src/basic/FStarC.Order.fst @@ -0,0 +1,71 @@ +(* + Copyright 2008-2020 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 FStarC.Order +open FStarC.Effect + +// Some derived checks +let ge (o : order) : bool = o <> Lt +let le (o : order) : bool = o <> Gt +let ne (o : order) : bool = o <> Eq + +// Just for completeness and consistency... +let gt (o : order) : bool = o = Gt +let lt (o : order) : bool = o = Lt +let eq (o : order) : bool = o = Eq + +// Lexicographical combination, thunked to be lazy +let lex (o1 : order) (o2 : unit -> order) : order = + match o1, o2 with + | Lt, _ -> Lt + | Eq, _ -> o2 () + | Gt, _ -> Gt + +let order_from_int (i : int) : order = + if i < 0 then Lt + else if i = 0 then Eq + else Gt + +let compare_int (i : int) (j : int) : order = order_from_int (i - j) + +let compare_bool (b1 b2 : bool) : order = + match b1, b2 with + | false, true -> Lt + | true, false -> Gt + | _ -> Eq + +(* + * It promises to call the comparator in strictly smaller elements + * Useful when writing a comparator for an inductive type, + * that contains the list of itself as an argument to one of its + * data constructors + *) +let rec compare_list (#a:Type) + (l1 l2:list a) + (f:(x:a{x << l1} -> y:a{y << l2} -> order)) + : order + = match l1, l2 with + | [], [] -> Eq + | [], _ -> Lt + | _, [] -> Gt + | x::xs, y::ys -> lex (f x y) (fun _ -> compare_list xs ys f) + +let compare_option (f : 'a -> 'a -> order) (x : option 'a) (y : option 'a) : order = + match x, y with + | None , None -> Eq + | None , Some _ -> Lt + | Some _ , None -> Gt + | Some x , Some y -> f x y diff --git a/src/basic/FStarC.Order.fsti b/src/basic/FStarC.Order.fsti new file mode 100644 index 00000000000..2024077c235 --- /dev/null +++ b/src/basic/FStarC.Order.fsti @@ -0,0 +1,50 @@ +(* + Copyright 2008-2020 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 FStarC.Order +open FStarC.Effect + +type order = | Lt | Eq | Gt + +// Some derived checks +val ge (o : order) : bool +val le (o : order) : bool +val ne (o : order) : bool +val gt (o : order) : bool +val lt (o : order) : bool +val eq (o : order) : bool + +// Lexicographical combination, thunked to be lazy +val lex (o1 : order) (o2 : unit -> order) : order + +val order_from_int (i : int) : order + +val compare_int (i : int) (j : int) : order + +val compare_bool (b1 b2 : bool) : order + +(* + * It promises to call the comparator in strictly smaller elements + * Useful when writing a comparator for an inductive type, + * that contains the list of itself as an argument to one of its + * data constructors + *) +val compare_list (#a:Type) + (l1 l2:list a) + (f:(x:a{x << l1} -> y:a{y << l2} -> order)) + : order + +val compare_option (f : 'a -> 'a -> order) (x : option 'a) (y : option 'a) : order diff --git a/src/basic/FStarC.Platform.fsti b/src/basic/FStarC.Platform.fsti index c4644204328..1e8b79b5be5 100644 --- a/src/basic/FStarC.Platform.fsti +++ b/src/basic/FStarC.Platform.fsti @@ -1,5 +1,5 @@ module FStarC.Platform -open FStarC.Compiler.Effect +open FStarC.Effect type sys = | Windows @@ -8,5 +8,5 @@ type sys = val system : sys val exe : string -> string -(* true if the fstar compiler is compiled from sources extracted to ocaml, false otherwise *) -val is_fstar_compiler_using_ocaml : bool +(* true when we are running in Cygwin. Note: system will return 'Windows' in this case *) +val is_cygwin : bool diff --git a/src/basic/FStarC.Plugins.Base.fsti b/src/basic/FStarC.Plugins.Base.fsti new file mode 100644 index 00000000000..30217e9b88a --- /dev/null +++ b/src/basic/FStarC.Plugins.Base.fsti @@ -0,0 +1,23 @@ +(* + 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 FStarC.Plugins.Base + +open FStarC.Effect + +exception DynlinkError of string + +val dynlink_loadfile : string -> unit diff --git a/src/basic/FStarC.Plugins.fst b/src/basic/FStarC.Plugins.fst new file mode 100644 index 00000000000..e5ebae7151b --- /dev/null +++ b/src/basic/FStarC.Plugins.fst @@ -0,0 +1,143 @@ +(* + 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 FStarC.Plugins + +open FStarC +open FStarC +open FStarC.Effect +open FStarC.Plugins.Base + +module BU = FStarC.Util +module E = FStarC.Errors +module O = FStarC.Options +open FStarC.Class.Show + +let loaded : ref (list string) = BU.mk_ref [] +let loaded_plugin_lib : ref bool = BU.mk_ref false + +let pout s = if Debug.any () then BU.print_string s +let pout1 s x = if Debug.any () then BU.print1 s x +let perr s = if Debug.any () then BU.print_error s +let perr1 s x = if Debug.any () then BU.print1_error s x + +let do_dynlink (fname:string) : unit = + try + dynlink_loadfile fname + with DynlinkError e -> + E.log_issue0 E.Error_PluginDynlink [ + E.text (BU.format1 "Failed to load plugin file %s" fname); + Pprint.prefix 2 1 (E.text "Reason:") (E.text e); + E.text (BU.format1 "Remove the `--load` option or use `--warn_error -%s` to ignore and continue." + (show (E.errno E.Error_PluginDynlink))) + ]; + (* If we weren't ignoring this error, just stop now *) + E.stop_if_err () + +let dynlink (fname:string) : unit = + if List.mem fname !loaded then ( + pout1 "Plugin %s already loaded, skipping\n" fname + ) else ( + pout ("Attempting to load " ^ fname ^ "\n"); + do_dynlink fname; + loaded := fname :: !loaded; + pout1 "Loaded %s\n" fname; + () + ) + +let load_plugin tac = + if not (!loaded_plugin_lib) then ( + pout "Loading fstar.pluginlib before first plugin\n"; + do_dynlink (BU.normalize_file_path <| BU.get_exec_dir () ^ "/../lib/fstar/pluginlib/fstar_pluginlib.cmxs"); + pout "Loaded fstar.pluginlib OK\n"; + loaded_plugin_lib := true + ); + dynlink tac + +let load_plugins tacs = + List.iter load_plugin tacs + +let load_plugins_dir dir = + (* Dynlink all .cmxs files in the given directory *) + (* fixme: confusion between FStarC.String and FStar.String *) + BU.readdir dir + |> List.filter (fun s -> String.length s >= 5 && FStar.String.sub s (String.length s - 5) 5 = ".cmxs") + |> List.map (fun s -> dir ^ "/" ^ s) + |> load_plugins + +let compile_modules dir ms = + let compile m = + let packages = [ "fstar.pluginlib" ] in + let pkg pname = "-package " ^ pname in + let args = ["ocamlopt"; "-shared"] (* FIXME shell injection *) + @ ["-I"; dir] + @ ["-w"; "-8-11-20-21-26-28" ] + @ (List.map pkg packages) + @ ["-o"; m ^ ".cmxs"; m ^ ".ml"] in + (* Note: not useful when in an OPAM setting *) + let ocamlpath_sep = match Platform.system with + | Platform.Windows -> ";" + | Platform.Posix -> ":" + in + let old_ocamlpath = + match BU.expand_environment_variable "OCAMLPATH" with + | Some s -> s + | None -> "" + in + let env_setter = BU.format3 "env OCAMLPATH=\"%s%s%s\"" + (Find.locate_ocaml ()) + ocamlpath_sep + // Options.fstar_bin_directory // needed? + // ocamlpath_sep + old_ocamlpath + in + let cmd = String.concat " " (env_setter :: "ocamlfind" :: args) in + let rc = BU.system_run cmd in + if rc <> 0 + then E.raise_error0 E.Fatal_FailToCompileNativeTactic [ + E.text "Failed to compile native tactic."; + E.text (BU.format2 "Command\n`%s`\nreturned with exit code %s" + cmd (show rc)) + ] + else () + in + try + ms + |> List.map (fun m -> dir ^ "/" ^ m) + |> List.iter compile + with e -> + perr (BU.format1 "Failed to load native tactic: %s\n" (BU.print_exn e)); + raise e + +(* Tries to load a plugin named like the extension. Returns true +if it could find a plugin with the proper name. This will fail hard +if loading the plugin fails. *) +let autoload_plugin (ext:string) : bool = + if Options.Ext.get "noautoload" <> "" then false else ( + if Debug.any () then + BU.print1 "Trying to find a plugin for extension %s\n" ext; + match Find.find_file (ext ^ ".cmxs") with + | Some fn -> + if List.mem fn !loaded then false + else ( + if Debug.any () then + BU.print1 "Autoloading plugin %s ...\n" fn; + load_plugin fn; + true + ) + | None -> + false +) diff --git a/src/basic/FStarC.Plugins.fsti b/src/basic/FStarC.Plugins.fsti new file mode 100644 index 00000000000..c4f6398acd8 --- /dev/null +++ b/src/basic/FStarC.Plugins.fsti @@ -0,0 +1,30 @@ +(* + 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 FStarC.Plugins + +open FStarC.Effect +include FStarC.Plugins.Base + +val load_plugin : string -> unit +val load_plugins : list string -> unit +val load_plugins_dir : string -> unit +val compile_modules : string -> list string -> unit + +(* Tries to load a plugin named like the extension. Returns true +if it could find a plugin with the proper name. This will fail hard +if loading the plugin fails. *) +val autoload_plugin (ext:string) : bool diff --git a/src/basic/FStarC.Profiling.fst b/src/basic/FStarC.Profiling.fst index e079244e1b8..2a812369eff 100644 --- a/src/basic/FStarC.Profiling.fst +++ b/src/basic/FStarC.Profiling.fst @@ -16,11 +16,11 @@ module FStarC.Profiling open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -module List = FStarC.Compiler.List +open FStarC +open FStarC.Effect +module List = FStarC.List open FStarC.Options -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.Json (* diff --git a/src/basic/FStarC.Profiling.fsti b/src/basic/FStarC.Profiling.fsti index 756616924fc..fe3789465ce 100644 --- a/src/basic/FStarC.Profiling.fsti +++ b/src/basic/FStarC.Profiling.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.Profiling -open FStarC.Compiler.Effect +open FStarC.Effect // When --profile module_name // And --profile_component component_name diff --git a/src/basic/FStarC.Range.Ops.fst b/src/basic/FStarC.Range.Ops.fst new file mode 100644 index 00000000000..a65731dab23 --- /dev/null +++ b/src/basic/FStarC.Range.Ops.fst @@ -0,0 +1,141 @@ +(* + Copyright 2008-2023 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. +*) +(* + Operations over the FStarC.Range.Type.range type. +*) +module FStarC.Range.Ops + +open FStarC +friend FStarC.Range.Type + +open FStarC.Json +open FStarC.Effect +open FStarC.Util +open FStarC.Class.Ord + +module Options = FStarC.Options + +let union_rng r1 r2 = + if r1.file_name <> r2.file_name + then r2 + else + let start_pos = min r1.start_pos r2.start_pos in + let end_pos = max r1.end_pos r2.end_pos in + mk_rng r1.file_name start_pos end_pos + +let union_ranges r1 r2 = { + def_range=union_rng r1.def_range r2.def_range; + use_range=union_rng r1.use_range r2.use_range +} + +(* is r1 included in r2? *) +let rng_included r1 r2 = + if r1.file_name <> r2.file_name + then false + else + r2.start_pos <=? r1.start_pos && + r2.end_pos >=? r1.end_pos + +let string_of_pos pos = + format2 "%s,%s" (string_of_int pos.line) (string_of_int pos.col) +let file_of_range r = + let f = r.def_range.file_name in + string_of_file_name f +let set_file_of_range r (f:string) = {r with def_range = {r.def_range with file_name = f}} +let string_of_rng r = + format3 "%s(%s-%s)" (string_of_file_name r.file_name) (string_of_pos r.start_pos) (string_of_pos r.end_pos) +let string_of_def_range r = string_of_rng r.def_range +let string_of_use_range r = string_of_rng r.use_range +let string_of_range r = string_of_def_range r + +let start_of_range r = r.def_range.start_pos +let end_of_range r = r.def_range.end_pos + +let file_of_use_range r = r.use_range.file_name +let start_of_use_range r = r.use_range.start_pos +let end_of_use_range r = r.use_range.end_pos + +let line_of_pos p = p.line +let col_of_pos p = p.col + +let end_range r = mk_range r.def_range.file_name r.def_range.end_pos r.def_range.end_pos + +let compare_rng r1 r2 = + let fcomp = FStar.String.compare r1.file_name r2.file_name in + if fcomp = 0 + then let start1 = r1.start_pos in + let start2 = r2.start_pos in + let lcomp = start1.line - start2.line in + if lcomp = 0 + then start1.col - start2.col + else lcomp + else fcomp +let compare r1 r2 = compare_rng r1.def_range r2.def_range +let compare_use_range r1 r2 = compare_rng r1.use_range r2.use_range +let range_before_pos m1 p = + p >=? end_of_range m1 + +let end_of_line p = {p with col=max_int} +let extend_to_end_of_line r = mk_range (file_of_range r) + (start_of_range r) + (end_of_line (end_of_range r)) + +let json_of_pos pos = + JsonList [JsonInt (line_of_pos pos); JsonInt (col_of_pos pos)] + +let json_of_range_fields file b e = + JsonAssoc [("fname", JsonStr file); + ("beg", json_of_pos b); + ("end", json_of_pos e)] + +let json_of_use_range r = + json_of_range_fields + (file_of_use_range r) + (start_of_use_range r) + (end_of_use_range r) + +let json_of_def_range r = + json_of_range_fields + (file_of_range r) + (start_of_range r) + (end_of_range r) + +let intersect_rng r1 r2 = + if r1.file_name <> r2.file_name + then r2 + else + let start_pos = max r1.start_pos r2.start_pos in + let end_pos = min r1.end_pos r2.end_pos in + (* If start_pos > end_pos, then the intersection is empty, just take the bound *) + if start_pos >=? end_pos + then r2 + else mk_rng r1.file_name start_pos end_pos + +let intersect_ranges r1 r2 = { + def_range=intersect_rng r1.def_range r2.def_range; + use_range=intersect_rng r1.use_range r2.use_range +} + +let bound_range (r bound : range) : range = + intersect_ranges r bound + +instance showable_range = { + show = string_of_range; +} + +instance pretty_range = { + pp = (fun r -> Pprint.doc_of_string (string_of_range r)); +} diff --git a/src/basic/FStarC.Range.Ops.fsti b/src/basic/FStarC.Range.Ops.fsti new file mode 100644 index 00000000000..33f167d180a --- /dev/null +++ b/src/basic/FStarC.Range.Ops.fsti @@ -0,0 +1,58 @@ +(* + Copyright 2008-2023 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 FStarC.Range.Ops + +open FStarC +open FStarC.Range.Type +open FStarC.Effect +open FStarC.Class.Show +open FStarC.Class.PP + +val union_rng: rng -> rng -> rng +val union_ranges: range -> range -> range + +val rng_included: rng -> rng -> bool +val string_of_pos: pos -> string +val string_of_range: range -> string +val string_of_def_range: range -> string +val string_of_use_range: range -> string +val file_of_range: range -> string +val set_file_of_range: range -> string -> range +val start_of_range: range -> pos +val end_of_range: range -> pos +val file_of_use_range: range -> string +val start_of_use_range: range -> pos +val end_of_use_range: range -> pos +val line_of_pos: pos -> int +val col_of_pos: pos -> int +val end_range: range -> range +val compare: range -> range -> int +val compare_use_range: range -> range -> int +val range_before_pos : range -> pos -> bool +val end_of_line: pos -> pos +val extend_to_end_of_line: range -> range + +val json_of_pos : pos -> Json.json +val json_of_use_range : range -> Json.json +val json_of_def_range : range -> Json.json + +(** Bounds the range [r] by [bound]. Essentially, this is an intersection, +making sure that whatever we report is within the bound. If the ranges +are from different files, or there is no overlap, we return [bound]. *) +val bound_range (r : range) (bound : range) : range + +instance val showable_range : showable range +instance val pretty_range : pretty range diff --git a/src/basic/FStarC.Range.Type.fst b/src/basic/FStarC.Range.Type.fst new file mode 100644 index 00000000000..4b13ade7863 --- /dev/null +++ b/src/basic/FStarC.Range.Type.fst @@ -0,0 +1,123 @@ +(* + 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 FStarC.Range.Type + +open FStarC +open FStarC.Effect +open FStarC.Class.Deq +open FStarC.Class.Ord +open FStarC.Order +module BU = FStarC.Util + +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type file_name = string + +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type pos = { + line:int; + col: int +} +let max i j = if i < j then j else i + +let compare_pos (p1 p2 : pos) : order = + lex (cmp p1.line p2.line) (fun _ -> cmp p1.col p2.col) + +instance deq_pos : deq pos = { (=?) = (=); } + +instance ord_pos : ord pos = { + super = deq_pos; + cmp = compare_pos; +} + +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type rng = { + file_name:file_name; + start_pos:pos; + end_pos:pos; +} +[@@ PpxDerivingYoJson; PpxDerivingShow ] +type range = { + def_range:rng; + use_range:rng +} +let dummy_pos = { + line=0; + col=0; +} +let dummy_rng = { + file_name="dummy"; + start_pos=dummy_pos; + end_pos=dummy_pos +} +let dummyRange = { + def_range=dummy_rng; + use_range=dummy_rng +} +let use_range r = r.use_range +let def_range r = r.def_range +let range_of_rng d u = { + def_range=d; + use_range=u +} +let set_use_range r2 use_rng = + if use_rng <> dummy_rng then + {r2 with use_range=use_rng} + else r2 +let set_def_range r2 def_rng = + if def_rng <> dummy_rng then + {r2 with def_range=def_rng} + else r2 +let mk_pos l c = { + line=max 0 l; + col=max 0 c +} +let mk_rng file_name start_pos end_pos = { + file_name = file_name; + start_pos = start_pos; + end_pos = end_pos +} + +let mk_range f b e = let r = mk_rng f b e in range_of_rng r r + +let string_of_file_name f = + if Options.Ext.get "fstar:no_absolute_paths" = "1" then + BU.basename f + else if Options.ide () then + try + match Find.find_file (BU.basename f) with + | None -> f //couldn't find file; just return the relative path + | Some absolute_path -> + absolute_path + with _ -> f + else f + +open FStarC.Json +let json_of_pos (r: pos): json + = JsonAssoc [ + "line", JsonInt r.line; + "col", JsonInt r.col; + ] +let json_of_rng (r: rng): json + = JsonAssoc [ + "file_name", JsonStr (string_of_file_name r.file_name); + "start_pos", json_of_pos r.start_pos; + "end_pos", json_of_pos r.end_pos; + ] +let json_of_range (r: range): json + = JsonAssoc [ + "def", json_of_rng r.def_range; + "use", json_of_rng r.use_range; + ] diff --git a/src/basic/FStarC.Range.Type.fsti b/src/basic/FStarC.Range.Type.fsti new file mode 100644 index 00000000000..f798457a108 --- /dev/null +++ b/src/basic/FStarC.Range.Type.fsti @@ -0,0 +1,48 @@ +(* + 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 FStarC.Range.Type + +open FStarC.Effect +open FStarC.Class.Deq +open FStarC.Class.Ord + +[@@ PpxDerivingYoJson; PpxDerivingShow] +new val rng : Type0 + +[@@ PpxDerivingYoJson; PpxDerivingShow] +new val range : Type0 + +[@@ PpxDerivingYoJson; PpxDerivingShow] +new val pos : Type0 + +instance val deq_pos : deq pos +instance val ord_pos : ord pos + +val dummy_rng : rng +val mk_rng : string -> pos -> pos -> rng + +val dummyRange: range +val use_range: range -> rng +val def_range: range -> rng +val range_of_rng: def_rng:rng -> use_rng:rng -> range +val set_use_range: range -> rng -> range +val set_def_range: range -> rng -> range +val mk_pos: int -> int -> pos +val mk_range: string -> pos -> pos -> range + +val json_of_pos: pos -> FStarC.Json.json +val json_of_rng: rng -> FStarC.Json.json +val json_of_range: range -> FStarC.Json.json diff --git a/src/basic/FStarC.Range.fsti b/src/basic/FStarC.Range.fsti new file mode 100644 index 00000000000..645ecf3c83b --- /dev/null +++ b/src/basic/FStarC.Range.fsti @@ -0,0 +1,21 @@ +(* + 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 FStarC.Range + +(* This module simply bundles together these other two. See their +interfaces for reference. *) +include FStarC.Range.Type +include FStarC.Range.Ops diff --git a/src/basic/FStarC.Real.fst b/src/basic/FStarC.Real.fst new file mode 100644 index 00000000000..bc537b296e8 --- /dev/null +++ b/src/basic/FStarC.Real.fst @@ -0,0 +1,16 @@ +(* + Copyright 2017-2024 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 FStarC.Real diff --git a/src/basic/FStarC.Real.fsti b/src/basic/FStarC.Real.fsti new file mode 100644 index 00000000000..5efc2ff0595 --- /dev/null +++ b/src/basic/FStarC.Real.fsti @@ -0,0 +1,21 @@ +(* + Copyright 2017-2024 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 FStarC.Real + +(* A type for embedded real constants. This allows to write embeddings for them +(see FStarC.Syntax.Embeddings and FStarC.TypeChecker.NBETerm). *) + +type real = | Real of string diff --git a/src/basic/FStarC.Sealed.fst b/src/basic/FStarC.Sealed.fst new file mode 100644 index 00000000000..2eff66b7cc5 --- /dev/null +++ b/src/basic/FStarC.Sealed.fst @@ -0,0 +1,33 @@ +(* + Copyright 2008-2024 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 FStarC.Sealed + +(* This is the compiler-space version of the Sealed module in ulib. +Here, we define it as just an identity, but we do not expose that in +the interface so we must use the seal/unseal operations. This allows us +to + + 1) make sure we do not make mistakes forgetting to seal/unseal + 2) make sure none of these operations have any runtime behavior. + +It would be nicer to just make this a box type and expose that (internally +to the compiler) but that means extracted code would use the box. *) + +type sealed (a:Type u#a) : Type u#a = a + +let seal (x: 'a) : sealed 'a = x + +let unseal (x: sealed 'a) : 'a = x diff --git a/src/basic/FStarC.Sealed.fsti b/src/basic/FStarC.Sealed.fsti new file mode 100644 index 00000000000..69ea2a82265 --- /dev/null +++ b/src/basic/FStarC.Sealed.fsti @@ -0,0 +1,22 @@ +(* + Copyright 2008-2024 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 FStarC.Sealed + +val sealed (a:Type u#a) : Type u#a + +val seal (x: 'a) : Tot (sealed 'a) + +val unseal (x: sealed 'a) : Tot 'a diff --git a/src/basic/FStarC.String.fsti b/src/basic/FStarC.String.fsti new file mode 100644 index 00000000000..6cfc3277ce9 --- /dev/null +++ b/src/basic/FStarC.String.fsti @@ -0,0 +1,46 @@ +(* + 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 FStarC.String + +open FStarC.Effect +open FStar.Char +open FStarC.BigInt + +(* The name of this file is misleading: most string functions are to be found in + util.fsi *) +val make: int -> char -> string +val split: chars: list char -> s: string -> Tot (list string) +val strcat: string -> string -> Tot string +val concat: separator: string -> strings: list string -> Tot string +val compare: s1: string -> s2: string -> Tot int +val strlen: string -> Tot nat +val length: string -> Tot nat +val lowercase: string -> Tot string +val uppercase: string -> Tot string +val escaped: string -> Tot string + +val string_of_char : char -> Tot string + +(* may fail with index out of bounds *) +val substring: string -> start:int -> len:int -> string +val get: string -> int -> char +val collect: (char -> string) -> string -> string +val index_of: string -> char -> bigint +val index: string -> bigint -> char + +val list_of_string : string -> list char +val string_of_list: list char -> string +val (^) : string -> string -> string diff --git a/src/basic/FStarC.StringBuffer.fsti b/src/basic/FStarC.StringBuffer.fsti index 42c918e7766..ff6393796a6 100644 --- a/src/basic/FStarC.StringBuffer.fsti +++ b/src/basic/FStarC.StringBuffer.fsti @@ -15,7 +15,7 @@ *) module FStarC.StringBuffer -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.BigInt type t @@ -27,8 +27,8 @@ type t // sb |> add "hello" |> add " world" |> add "!" -val create : FStarC.BigInt.t -> t +val create : int -> t val add: string -> t -> t val contents: t -> string val clear: t -> t -val output_channel: FStarC.Compiler.Util.out_channel -> t -> unit +val output_channel: FStarC.Util.out_channel -> t -> unit diff --git a/src/basic/FStarC.Thunk.fst b/src/basic/FStarC.Thunk.fst index 2673058f144..a3a411fb3ad 100644 --- a/src/basic/FStarC.Thunk.fst +++ b/src/basic/FStarC.Thunk.fst @@ -16,7 +16,7 @@ limitations under the License. *) module FStarC.Thunk -open FStarC.Compiler.Effect +open FStarC.Effect type thunk (a:Type) : Type = ref (either (unit -> a) a) diff --git a/src/basic/FStarC.Thunk.fsti b/src/basic/FStarC.Thunk.fsti index 013f2dd8952..2b140ecd4ca 100644 --- a/src/basic/FStarC.Thunk.fsti +++ b/src/basic/FStarC.Thunk.fsti @@ -16,7 +16,7 @@ limitations under the License. *) module FStarC.Thunk -open FStarC.Compiler.Effect +open FStarC.Effect val thunk (a:Type0) : Type0 type t 'a = thunk 'a diff --git a/src/basic/FStarC.Unionfind.fsti b/src/basic/FStarC.Unionfind.fsti index 2b501dd6ee2..9afff3e1319 100644 --- a/src/basic/FStarC.Unionfind.fsti +++ b/src/basic/FStarC.Unionfind.fsti @@ -15,7 +15,7 @@ *) module FStarC.Unionfind -open FStarC.Compiler.Effect +open FStarC.Effect type puf 'a type p_uvar 'a diff --git a/src/basic/FStarC.Util.fsti b/src/basic/FStarC.Util.fsti new file mode 100644 index 00000000000..aebee0a5b64 --- /dev/null +++ b/src/basic/FStarC.Util.fsti @@ -0,0 +1,407 @@ +(* + 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 FStarC.Util +open Prims +open FStar.Pervasives +open FStarC.Effect +open FStarC.Json +open FStarC.BaseTypes + +exception Impos + +val max_int: int +val return_all: 'a -> ML 'a + +type time_ns +val now_ns : unit -> time_ns +val time_diff_ms: time_ns -> time_ns -> int +val time_diff_ns: time_ns -> time_ns -> int +val record_time_ns: (unit -> 'a) -> ('a & int) +val record_time_ms: (unit -> 'a) -> ('a & int) + +type time_of_day +val get_time_of_day : unit -> time_of_day +val get_time_of_day_ms : unit -> int +val is_before: time_of_day -> time_of_day -> bool +val get_file_last_modification_time: string -> time_of_day +val string_of_time_of_day: time_of_day -> string + +(* generic utils *) +(* smap: map from string keys *) +type smap 'value +val smap_create: int -> smap 'value +val smap_clear:smap 'value -> unit +val smap_add: smap 'value -> string -> 'value -> unit +val smap_of_list: list (string&'value) -> smap 'value +val smap_try_find: smap 'value -> string -> option 'value +val smap_fold: smap 'value -> (string -> 'value -> 'a -> 'a) -> 'a -> 'a +val smap_remove: smap 'value -> string -> unit +(* The list may contain duplicates. *) +val smap_keys: smap 'value -> list string +val smap_copy: smap 'value -> smap 'value +val smap_size: smap 'value -> int +val smap_iter: smap 'value -> (string -> 'value -> unit) -> unit + +(* pure version *) +type psmap 'value +val psmap_empty: unit -> psmap 'value // GH-1161 +val psmap_add: psmap 'value -> string -> 'value -> psmap 'value +val psmap_find_default: psmap 'value -> string -> 'value -> 'value +val psmap_try_find: psmap 'value -> string -> option 'value +val psmap_fold: psmap 'value -> (string -> 'value -> 'a -> 'a) -> 'a -> 'a +val psmap_find_map: psmap 'value -> (string -> 'value -> option 'a) -> option 'a +val psmap_modify: psmap 'value -> string -> (option 'value -> 'value) -> psmap 'value +val psmap_merge: psmap 'value -> psmap 'value -> psmap 'value +val psmap_remove: psmap 'value -> string -> psmap 'value +type imap 'value +val imap_create: int -> imap 'value +val imap_clear:imap 'value -> unit +val imap_add: imap 'value -> int -> 'value -> unit +val imap_of_list: list (int&'value) -> imap 'value +val imap_try_find: imap 'value -> int -> option 'value +val imap_fold: imap 'value -> (int -> 'value -> 'a -> 'a) -> 'a -> 'a +val imap_remove: imap 'value -> int -> unit +(* The list may contain duplicates. *) +val imap_keys: imap 'value -> list int +val imap_copy: imap 'value -> imap 'value + +(* pure version *) +type pimap 'value +val pimap_empty: unit -> pimap 'value // GH-1161 +val pimap_add: pimap 'value -> int -> 'value -> pimap 'value +val pimap_find_default: pimap 'value -> int -> 'value -> 'value +val pimap_try_find: pimap 'value -> int -> option 'value +val pimap_fold: pimap 'value -> (int -> 'value -> 'a -> 'a) -> 'a -> 'a +val pimap_remove: pimap 'value -> int -> pimap 'value + +val format: string -> list string -> string +val format1: string -> string -> string +val format2: string -> string -> string -> string +val format3: string -> string -> string -> string -> string +val format4: string -> string -> string -> string -> string -> string +val format5: string -> string -> string -> string -> string -> string -> string +val format6: string -> string -> string -> string -> string -> string -> string -> string + +val print: string -> list string -> unit +val print1: string -> string -> unit +val print2: string -> string -> string -> unit +val print3: string -> string -> string -> string -> unit +val print4: string -> string -> string -> string -> string -> unit +val print5: string -> string -> string -> string -> string -> string -> unit +val print6: string -> string -> string -> string -> string -> string -> string -> unit + +val print_error: string -> unit +val print1_error: string -> string -> unit +val print2_error: string -> string -> string -> unit +val print3_error: string -> string -> string -> string -> unit + +val print_warning: string -> unit +val print1_warning: string -> string -> unit +val print2_warning: string -> string -> string -> unit +val print3_warning: string -> string -> string -> string -> unit + +val flush_stdout: unit -> unit + +val stdout_isatty: unit -> option bool + +// These functions have no effect +val colorize: string -> (string & string) -> string +val colorize_bold: string -> string +val colorize_red: string -> string +val colorize_yellow: string -> string +val colorize_cyan: string -> string +val colorize_green: string -> string +val colorize_magenta : string -> string + + +type out_channel + +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 + +val fprint: out_channel -> string -> list string -> unit + +(* Adds a newline and flushes *) +val append_to_file: out_channel -> string -> unit + +type printer = { + printer_prinfo: string -> unit; + printer_prwarning: string -> unit; + printer_prerror: string -> unit; + printer_prgeneric: string -> (unit -> string) -> (unit -> json) -> unit +} + +val default_printer : printer +val set_printer : printer -> unit + +val print_raw : string -> unit +val print_string : string -> unit +val print_generic: string -> ('a -> string) -> ('a -> json) -> 'a -> unit +val print_any : 'a -> unit +val strcat : string -> string -> string +val concat_l : string -> list string -> string + +val write_file: fn:string -> contents:string -> unit +val copy_file: string -> string -> unit +val delete_file: string -> unit +val file_get_contents: string -> string +val file_get_lines: string -> list string + +(** [mkdir clean mkparents d] a new dir with user read/write. +If clean is set and the directory exists, its contents are deleted and nothing else is done. +If clean is not set and the directory exists, do nothing. +If mkparents is true, the needed parents of the path will be created too, as mkdir -p does. +*) +val mkdir: bool-> bool -> string -> unit + +val concat_dir_filename: string -> string -> string + +type stream_reader +val open_stdin : unit -> stream_reader +val read_line: stream_reader -> option string +val nread : stream_reader -> int -> option string +val poll_stdin : float -> bool + +type string_builder +val new_string_builder: unit -> string_builder +val clear_string_builder: string_builder -> unit +val string_of_string_builder: string_builder -> string +val string_builder_append: string_builder -> string -> unit + +val message_of_exn: exn -> string +val trace_of_exn: exn -> string +val stack_dump : unit -> string + +exception SigInt +type sigint_handler +val sigint_handler_f : (int -> unit) -> sigint_handler +val sigint_ignore: sigint_handler +val sigint_raise: sigint_handler +val get_sigint_handler: unit -> sigint_handler +val set_sigint_handler: sigint_handler -> unit +val with_sigint_handler: sigint_handler -> (unit -> 'a) -> 'a + +type proc +val run_process : string -> string -> list string -> option string -> string +val start_process: string -> string -> list string -> (string -> bool) -> proc +val ask_process: proc -> string -> (*err_handler:*)(unit -> string) -> (*stderr_handler:*)(string -> unit) -> string +val kill_process: proc -> unit +val kill_all: unit -> unit +val proc_prog : proc -> string +val system_run : string -> int (* a less refined launching, implemented by Sys.command *) + +val get_file_extension: string -> string +val is_path_absolute: string -> bool +val join_paths: string -> string -> string +val normalize_file_path: string -> string +val basename: string -> string (* name of file without directory *) +val dirname : string -> string +val getcwd: unit -> string +val readdir: string -> list string +val paths_to_same_file: string -> string -> bool + +val file_exists: string -> Tot bool +val is_directory: string -> Tot bool + +val int_of_string: string -> int +val safe_int_of_string: string -> option int +val int_of_char: char -> Tot int +val int_of_byte: byte -> Tot int +val byte_of_char: char -> Tot byte +val char_of_int: int -> Tot char +val int_of_uint8: uint8 -> Tot int +val uint16_of_int: int -> Tot uint16 +val float_of_byte: byte -> Tot float +val float_of_int32: int32 -> Tot float +val float_of_int64: int64 -> Tot float +val float_of_string: string -> Tot float +val int_of_int32: int32 -> Tot int +val int32_of_int: int -> int32 //potentially failing int32 coercion +val string_of_int: int -> string +val string_of_bool: bool -> string +val string_of_int64: int64 -> Tot string +val string_of_int32: int32 -> Tot string +val string_of_float: float -> Tot string +val string_of_char: char -> Tot string +val hex_string_of_byte: byte -> Tot string +val string_of_bytes: array byte -> Tot string +val bytes_of_string: string -> Tot (array byte) +val base64_encode: string -> string +val base64_decode: string -> string +val starts_with: long:string -> short:string -> Tot bool +val trim_string: string -> Tot string +val ends_with: long:string -> short:string -> Tot bool +val char_at: string -> int -> char +val is_upper: char -> Tot bool +val contains: string -> string -> Tot bool +val substring_from: string -> int -> string +val substring: string -> start:int -> len:int -> string +val replace_char: string -> char -> char -> Tot string +val replace_chars: string -> char -> string -> Tot string +val hashcode: string -> Tot int +val compare: string -> string -> Tot int +val splitlines: string -> Tot (list string) +val split: str:string -> sep:string -> Tot (list string) + +val is_left: either 'a 'b -> bool +val is_right: either 'a 'b -> bool +val left: either 'a 'b -> 'a +val right: either 'a 'b -> 'b +val find_dup: ('a -> 'a -> bool) -> list 'a -> option 'a +val nodups: ('a -> 'a -> bool) -> list 'a -> bool +val sort_with: ('a -> 'a -> int) -> list 'a -> list 'a +val remove_dups: ('a -> 'a -> bool) -> list 'a -> list 'a +val add_unique: ('a -> 'a -> bool) -> 'a -> list 'a -> list 'a +val try_find: ('a -> bool) -> list 'a -> option 'a +val try_find_i: (int -> 'a -> bool) -> list 'a -> option (int & 'a) +val find_map: list 'a -> ('a -> option 'b) -> option 'b +val try_find_index: ('a -> bool) -> list 'a -> option int +val fold_map: ('a -> 'b -> 'a & 'c) -> 'a -> list 'b -> 'a & list 'c +val choose_map: ('a -> 'b -> 'a & option 'c) -> 'a -> list 'b -> 'a & list 'c +val for_all: ('a -> bool) -> list 'a -> bool +val for_some: ('a -> bool) -> list 'a -> bool +val forall_exists: ('a -> 'b -> bool) -> list 'a -> list 'b -> bool +val multiset_equiv: ('a -> 'b -> bool) -> list 'a -> list 'b -> bool +val take: ('a -> bool) -> list 'a -> list 'a & list 'a + +(* Variation on fold_left which pushes the list returned by the functional *) +(* on top of the leftover input list *) +val fold_flatten:('a -> 'b -> 'a & list 'b) -> 'a -> list 'b -> 'a + +val is_none: option 'a -> Tot bool +val is_some: option 'a -> Tot bool +val must: option 'a -> 'a +val dflt: 'a -> option 'a -> Tot 'a +val find_opt: ('a -> bool) -> list 'a -> option 'a +(* FIXME: these functions have the wrong argument order when compared to + List.map, List.iter, etc. *) +val bind_opt: option 'a -> ('a -> option 'b) -> option 'b +val catch_opt: option 'a -> (unit -> option 'a) -> option 'a +val map_opt: option 'a -> ('a -> 'b) -> option 'b +val iter_opt: option 'a -> ('a -> unit) -> unit + +val first_N: int -> list 'a -> (list 'a & list 'a) +val nth_tail: int -> list 'a -> list 'a +val prefix_until: ('a -> bool) -> list 'a -> option (list 'a & 'a & list 'a) +val prefix: list 'a -> Tot (list 'a & 'a) + +val string_of_unicode: array byte -> Tot string +val unicode_of_string: string -> Tot (array byte) +val incr: ref int -> unit +val decr: ref int -> unit +val geq: int -> int -> Tot bool +val for_range: int -> int -> (int -> unit) -> unit + +val mk_ref: 'a -> ref 'a + +val exec_name : string +val get_exec_dir: unit -> string +val get_cmd_args : unit -> list string +val expand_environment_variable: string -> option string + +val physical_equality: 'a -> 'a -> bool +val check_sharing: 'a -> 'a -> string -> unit + +val is_letter: char -> bool +val is_digit: char -> bool +val is_letter_or_digit: char -> bool +val is_punctuation: char -> bool +val is_symbol: char -> bool + +(* serialization of compiled modules *) +type oWriter = { + write_byte: byte -> unit; + write_bool: bool -> unit; + write_int: int -> unit; + write_int32: int32 -> unit; + write_int64: int64 -> unit; + write_char: char -> unit; + write_double: double -> unit; + write_bytearray: array byte -> unit; + write_string: string -> unit; + + close: unit -> unit +} + +type oReader = { + read_byte: unit -> byte; + read_bool: unit -> bool; + read_int: unit -> int; + read_int32: unit -> int32; + read_int64: unit -> int64; + read_char: unit -> char; + read_double: unit -> double; + read_bytearray: unit -> array byte; + read_string: unit -> string; + + close: unit -> unit +} + +val get_owriter: string -> oWriter +val get_oreader: string -> oReader + +val monitor_enter: 'a -> unit +val monitor_exit: 'a -> unit +val monitor_wait: 'a -> unit +val monitor_pulse: 'a -> unit +val with_monitor: 'a -> ('b -> 'c) -> 'b -> 'c +val current_tid: unit -> int +val sleep: int -> unit +val atomically: (unit -> 'a) -> 'a +val spawn: (unit -> unit) -> unit +val print_endline: string -> unit + +val map_option: ('a -> 'b) -> option 'a -> option 'b + +val save_value_to_file: string -> 'a -> unit +val load_value_from_file: string -> option 'a +val save_2values_to_file: string -> 'a -> 'b -> unit +val load_2values_from_file: string -> option ('a & 'b) +val print_exn: exn -> string +val digest_of_file: string -> string +val digest_of_string: string -> string +val touch_file: string -> unit (* Precondition: file exists *) + +val ensure_decimal: string -> string +val measure_execution_time: string -> (unit -> 'a) -> 'a +val return_execution_time: (unit -> 'a) -> ('a & float) + +(* Common interface between F#, Ocaml and F* to read and write references *) +(* F# uses native references, while OCaml uses both native references (Pervasives) and FStar_Heap ones *) +val read : ref 'a -> 'a +val write : ref 'a -> 'a -> unit + +(* Marshaling to and from strings *) +val marshal: 'a -> string +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) : FStarC.BigInt.t +val array_index (s:FStar.ImmutableArray.Base.t 'a) (i:FStarC.BigInt.t) : 'a + +(* From OCaml's Unix module (simplified). +NOTE: execv and friends are evil on Windows, do not use them. *) +val putenv : string -> string -> unit +val create_process : prog:string -> args:(list string) -> (*pid:*)int +val waitpid : pid:int -> (either int int) // Inl: exited, Inr: killed by signal + +val exn_is_enoent (e:exn) : bool diff --git a/src/basic/FStarC.Version.fsti b/src/basic/FStarC.Version.fsti index cec31cbae22..5b9d1e6b3b7 100644 --- a/src/basic/FStarC.Version.fsti +++ b/src/basic/FStarC.Version.fsti @@ -14,6 +14,6 @@ limitations under the License. *) module FStarC.Version -open FStarC.Compiler.Effect +open FStarC.Effect val dummy: unit -> unit diff --git a/src/basic/Makefile b/src/basic/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/basic/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/class/FStarC.Class.Binders.fst b/src/class/FStarC.Class.Binders.fst index 9668db359e0..206f2ade182 100644 --- a/src/class/FStarC.Class.Binders.fst +++ b/src/class/FStarC.Class.Binders.fst @@ -1,10 +1,10 @@ module FStarC.Class.Binders -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Range -open FStarC.Compiler.Util -open FStarC.Compiler.FlatSet +open FStarC +open FStarC.Effect +open FStarC.Range +open FStarC.Util +open FStarC.FlatSet open FStarC.Syntax.Syntax module F = FStarC.Syntax.Free open FStarC.Errors diff --git a/src/class/FStarC.Class.Binders.fsti b/src/class/FStarC.Class.Binders.fsti index 855967c9c7e..93776a7f703 100644 --- a/src/class/FStarC.Class.Binders.fsti +++ b/src/class/FStarC.Class.Binders.fsti @@ -1,7 +1,7 @@ module FStarC.Class.Binders -open FStarC.Compiler.Util -open FStarC.Compiler.FlatSet +open FStarC.Util +open FStarC.FlatSet open FStarC.Syntax.Syntax (* TODO: should be for any setlike *) diff --git a/src/class/FStarC.Class.Deq.fst b/src/class/FStarC.Class.Deq.fst index e1720918730..fb5e7768e0c 100644 --- a/src/class/FStarC.Class.Deq.fst +++ b/src/class/FStarC.Class.Deq.fst @@ -1,6 +1,6 @@ module FStarC.Class.Deq -open FStarC.Compiler.Effect +open FStarC.Effect let (<>?) x y = not (x =? y) diff --git a/src/class/FStarC.Class.Deq.fsti b/src/class/FStarC.Class.Deq.fsti index 3836cc3b058..bc04a092632 100644 --- a/src/class/FStarC.Class.Deq.fsti +++ b/src/class/FStarC.Class.Deq.fsti @@ -1,6 +1,6 @@ module FStarC.Class.Deq -open FStarC.Compiler.Effect +open FStarC.Effect class deq (a:Type) = { (=?) : a -> a -> bool; diff --git a/src/class/FStarC.Class.HasRange.fst b/src/class/FStarC.Class.HasRange.fst index a0eb4e9b458..45ee78bff7f 100644 --- a/src/class/FStarC.Class.HasRange.fst +++ b/src/class/FStarC.Class.HasRange.fst @@ -1,6 +1,6 @@ module FStarC.Class.HasRange -open FStarC.Compiler.Range +open FStarC.Range instance hasRange_range : hasRange range = { pos = id; diff --git a/src/class/FStarC.Class.HasRange.fsti b/src/class/FStarC.Class.HasRange.fsti index f8582711212..88725ab0e5b 100644 --- a/src/class/FStarC.Class.HasRange.fsti +++ b/src/class/FStarC.Class.HasRange.fsti @@ -1,7 +1,7 @@ module FStarC.Class.HasRange -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC.Effect +open FStarC.Range class hasRange (a:Type) = { pos : a -> range; diff --git a/src/class/FStarC.Class.Hashable.fst b/src/class/FStarC.Class.Hashable.fst index 78371eaf077..8ac3e02b3d4 100644 --- a/src/class/FStarC.Class.Hashable.fst +++ b/src/class/FStarC.Class.Hashable.fst @@ -1,7 +1,7 @@ module FStarC.Class.Hashable open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Hash open FStarC.Class.Show open FStarC.Class.Deq diff --git a/src/class/FStarC.Class.Listlike.fst b/src/class/FStarC.Class.Listlike.fst index b2abd016c2c..5a045f99345 100644 --- a/src/class/FStarC.Class.Listlike.fst +++ b/src/class/FStarC.Class.Listlike.fst @@ -1,6 +1,6 @@ module FStarC.Class.Listlike -open FStarC.Compiler.Effect +open FStarC.Effect let is_empty (#e #s : Type) {| listlike e s |} (l : s) : bool = match view l with diff --git a/src/class/FStarC.Class.Listlike.fsti b/src/class/FStarC.Class.Listlike.fsti index d06b2ea724b..018e31ce735 100644 --- a/src/class/FStarC.Class.Listlike.fsti +++ b/src/class/FStarC.Class.Listlike.fsti @@ -1,6 +1,6 @@ module FStarC.Class.Listlike -open FStarC.Compiler.Effect +open FStarC.Effect type view_t e s = | VNil : view_t e s diff --git a/src/class/FStarC.Class.Monad.fst b/src/class/FStarC.Class.Monad.fst index 83b52598e52..f4dbfee7ec1 100644 --- a/src/class/FStarC.Class.Monad.fst +++ b/src/class/FStarC.Class.Monad.fst @@ -1,7 +1,7 @@ module FStarC.Class.Monad -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect instance monad_option : monad option = { return = (fun x -> Some x); // FIXME: without the we gell ill-typed ML diff --git a/src/class/FStarC.Class.Monad.fsti b/src/class/FStarC.Class.Monad.fsti index 4931c56aff4..8eea380a980 100644 --- a/src/class/FStarC.Class.Monad.fsti +++ b/src/class/FStarC.Class.Monad.fsti @@ -1,7 +1,7 @@ module FStarC.Class.Monad -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect class monad (m : Type -> Type) = { return : #a:Type -> a -> m a; diff --git a/src/class/FStarC.Class.Monoid.fst b/src/class/FStarC.Class.Monoid.fst index b0d483de8be..917b6819ce3 100644 --- a/src/class/FStarC.Class.Monoid.fst +++ b/src/class/FStarC.Class.Monoid.fst @@ -1,8 +1,8 @@ module FStarC.Class.Monoid -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List let ( ++ ) #a {| monoid a |} = mplus #a diff --git a/src/class/FStarC.Class.Monoid.fsti b/src/class/FStarC.Class.Monoid.fsti index 9224875f42a..3665ab0114f 100644 --- a/src/class/FStarC.Class.Monoid.fsti +++ b/src/class/FStarC.Class.Monoid.fsti @@ -1,8 +1,8 @@ module FStarC.Class.Monoid -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List class monoid (a:Type) = { mzero : a; diff --git a/src/class/FStarC.Class.Ord.fst b/src/class/FStarC.Class.Ord.fst index 01ee370a539..854a2f76aff 100644 --- a/src/class/FStarC.Class.Ord.fst +++ b/src/class/FStarC.Class.Ord.fst @@ -1,7 +1,7 @@ module FStarC.Class.Ord -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Tactics.Typeclasses let ( insert x (sort xs) let dedup #a xs = - let open FStarC.Compiler.List in + let open FStarC.List in let out = fold_left (fun out x -> if existsb (fun y -> x =? y) out then out else x :: out) [] xs in List.rev out @@ -44,7 +44,7 @@ let rec sort_dedup #a xs = | x::xs -> insert x (sort_dedup xs) let ord_list_diff (#a:Type0) {| ord a |} (xs ys : list a) : list a & list a = - let open FStarC.Compiler.Order in + let open FStarC.Order in let xs = xs |> sort_dedup in let ys = ys |> sort_dedup in let rec go (xd, yd) xs ys : list a & list a = diff --git a/src/class/FStarC.Class.Ord.fsti b/src/class/FStarC.Class.Ord.fsti index fc6b03031dc..86043931391 100644 --- a/src/class/FStarC.Class.Ord.fsti +++ b/src/class/FStarC.Class.Ord.fsti @@ -1,7 +1,7 @@ module FStarC.Class.Ord -open FStarC.Compiler.Effect -open FStarC.Compiler.Order +open FStarC.Effect +open FStarC.Order include FStarC.Class.Deq open FStarC.Class.Deq diff --git a/src/class/FStarC.Class.PP.fst b/src/class/FStarC.Class.PP.fst index 9be4858f070..3ce720f4dd2 100644 --- a/src/class/FStarC.Class.PP.fst +++ b/src/class/FStarC.Class.PP.fst @@ -1,7 +1,7 @@ module FStarC.Class.PP open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Pprint let gparens a = group (nest 2 (parens a)) diff --git a/src/class/FStarC.Class.PP.fsti b/src/class/FStarC.Class.PP.fsti index f2c27165b02..c7a11c93548 100644 --- a/src/class/FStarC.Class.PP.fsti +++ b/src/class/FStarC.Class.PP.fsti @@ -1,6 +1,6 @@ module FStarC.Class.PP -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Pprint class pretty (a:Type) = { diff --git a/src/class/FStarC.Class.Setlike.fst b/src/class/FStarC.Class.Setlike.fst index cc149a51f41..3883df5949c 100644 --- a/src/class/FStarC.Class.Setlike.fst +++ b/src/class/FStarC.Class.Setlike.fst @@ -1,6 +1,6 @@ module FStarC.Class.Setlike -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Class.Ord let symdiff s1 s2 = diff s1 s2 diff --git a/src/class/FStarC.Class.Setlike.fsti b/src/class/FStarC.Class.Setlike.fsti index e6dfb157c35..b47de1ca8b9 100644 --- a/src/class/FStarC.Class.Setlike.fsti +++ b/src/class/FStarC.Class.Setlike.fsti @@ -1,6 +1,6 @@ module FStarC.Class.Setlike -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Class.Ord [@@Tactics.Typeclasses.fundeps [0]] diff --git a/src/class/FStarC.Class.Show.fst b/src/class/FStarC.Class.Show.fst index f424dad8a57..a36b1703648 100644 --- a/src/class/FStarC.Class.Show.fst +++ b/src/class/FStarC.Class.Show.fst @@ -1,6 +1,6 @@ module FStarC.Class.Show -open FStarC.Compiler.Effect +open FStarC.Effect instance showable_unit : showable unit = { diff --git a/src/class/FStarC.Class.Show.fsti b/src/class/FStarC.Class.Show.fsti index 0c3dc7f50a6..66ea3e81f68 100644 --- a/src/class/FStarC.Class.Show.fsti +++ b/src/class/FStarC.Class.Show.fsti @@ -1,7 +1,7 @@ module FStarC.Class.Show -open FStarC.Compiler.Effect -module BU = FStarC.Compiler.Util +open FStarC.Effect +module BU = FStarC.Util class showable (a:Type) = { show : a -> ML string; diff --git a/src/class/FStarC.Class.Tagged.fsti b/src/class/FStarC.Class.Tagged.fsti index f82969e89cc..349c017e403 100644 --- a/src/class/FStarC.Class.Tagged.fsti +++ b/src/class/FStarC.Class.Tagged.fsti @@ -1,6 +1,6 @@ module FStarC.Class.Tagged -open FStarC.Compiler.Effect +open FStarC.Effect (* This class is meant to print the constructor of a term. It replaces tag_of_term and tag_of_sigelt. *) diff --git a/src/data/FStarC.CList.fst b/src/data/FStarC.CList.fst new file mode 100644 index 00000000000..a8281605743 --- /dev/null +++ b/src/data/FStarC.CList.fst @@ -0,0 +1,103 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.CList + +open FStar.Tactics.Typeclasses +open FStarC.Class.Ord +open FStarC.Class.Listlike + +type clist (a:Type0) : Type0 = + | CNil : clist a + | CCons : a -> clist a -> clist a + | CCat : clist a -> clist a -> clist a + +let ccat (#a:Type0) (xs ys : clist a) : clist a = + match xs, ys with + | CNil, _ -> ys + | _, CNil -> xs + | _ -> CCat xs ys + +let rec view (#a:Type0) (l:clist a) : Tot (view_t a (clist a)) = + match l with + | CNil -> VNil + | CCons x xs -> VCons x xs + | CCat (CCat xs ys) zs -> view (CCat xs (CCat ys zs)) + | CCat xs ys -> + match view xs with + | VNil -> view ys + | VCons x xs' -> VCons x (CCat xs' ys) + +instance listlike_clist (a:Type0) : Tot (listlike a (t a)) = { + empty = CNil; + cons = CCons; + view = view; +} + +instance monoid_clist (a:Type0) : Tot (monoid (t a)) = { + mzero = CNil; + mplus = ccat; +} + +instance showable_clist (a:Type0) (_ : showable a) : Tot (showable (t a)) = { + show = (fun l -> show (to_list l)); +} + +instance eq_clist (a:Type0) (d : deq a) : Tot (deq (t a)) = { + (=?) = (fun l1 l2 -> to_list l1 =? to_list l2); +} + +instance ord_clist (a:Type0) (d : ord a) : Tot (ord (t a)) = { + super = solve; + cmp = (fun l1 l2 -> cmp (to_list l1) (to_list l2)); +} + +let rec map (#a #b : Type0) (f : a -> b) (l : clist a) : clist b = + match l with + | CNil -> CNil + | CCons x xs -> CCons (f x) (map f xs) + | CCat xs ys -> ccat (map f xs) (map f ys) + +let rec existsb (#a : Type0) (p : a -> bool) (l : clist a) : bool = + match l with + | CNil -> false + | CCons x xs -> p x || existsb p xs + | CCat xs ys -> existsb p xs || existsb p ys + +let rec for_all (#a : Type0) (p : a -> bool) (l : clist a) : bool = + match l with + | CNil -> true + | CCons x xs -> p x && for_all p xs + | CCat xs ys -> for_all p xs && for_all p ys + +let rec partition (#a : Type0) (p : a -> bool) (l : clist a) : clist a * clist a = + match l with + | CNil -> (CNil, CNil) + | CCons x xs -> + let (ys, zs) = partition p xs in + if p x then (CCons x ys, zs) else (ys, CCons x zs) + | CCat xs ys -> + let (ys, zs) = partition p xs in + let (us, vs) = partition p ys in + (ccat ys us, ccat zs vs) + +let rec collect (#a #b : Type0) (f : a -> clist b) (l : clist a) : clist b = + match l with + | CNil -> CNil + | CCons x xs -> ccat (f x) (collect f xs) + | CCat xs ys -> ccat (collect f xs) (collect f ys) diff --git a/src/data/FStarC.CList.fsti b/src/data/FStarC.CList.fsti new file mode 100644 index 00000000000..d45a3196855 --- /dev/null +++ b/src/data/FStarC.CList.fsti @@ -0,0 +1,47 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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. +*) + +(* Catenable lists, based on Jaskelioff and Rivas' "Functional Pearl: A Smart View on Datatypes" *) +module FStarC.CList + +open FStarC.Class.Deq +open FStarC.Class.Ord +open FStarC.Class.Show +open FStarC.Class.Monoid +open FStarC.Class.Listlike + +new +val clist (a:Type0) : Type0 + +type t = clist + +instance val listlike_clist (a:Type0) : Tot (listlike a (t a)) +instance val monoid_clist (a:Type0) : Tot (monoid (t a)) +instance val showable_clist (a:Type0) (_ : showable a) : Tot (showable (t a)) +instance val eq_clist (a:Type0) (_ : deq a) : Tot (deq (t a)) +instance val ord_clist (a:Type0) (_ : ord a) : Tot (ord (t a)) + +val map (#a #b : Type0) (f : a -> b) (l : clist a) : clist b + +val existsb (#a : Type0) (p : a -> bool) (l : clist a) : bool + +val for_all (#a : Type0) (p : a -> bool) (l : clist a) : bool + +val partition (#a : Type0) (p : a -> bool) (l : clist a) : clist a * clist a + +val collect : ('a -> clist 'b) -> clist 'a -> clist 'b diff --git a/src/data/FStarC.Compiler.CList.fst b/src/data/FStarC.Compiler.CList.fst deleted file mode 100644 index 3f333b01cfc..00000000000 --- a/src/data/FStarC.Compiler.CList.fst +++ /dev/null @@ -1,103 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.CList - -open FStar.Tactics.Typeclasses -open FStarC.Class.Ord -open FStarC.Class.Listlike - -type clist (a:Type0) : Type0 = - | CNil : clist a - | CCons : a -> clist a -> clist a - | CCat : clist a -> clist a -> clist a - -let ccat (#a:Type0) (xs ys : clist a) : clist a = - match xs, ys with - | CNil, _ -> ys - | _, CNil -> xs - | _ -> CCat xs ys - -let rec view (#a:Type0) (l:clist a) : Tot (view_t a (clist a)) = - match l with - | CNil -> VNil - | CCons x xs -> VCons x xs - | CCat (CCat xs ys) zs -> view (CCat xs (CCat ys zs)) - | CCat xs ys -> - match view xs with - | VNil -> view ys - | VCons x xs' -> VCons x (CCat xs' ys) - -instance listlike_clist (a:Type0) : Tot (listlike a (t a)) = { - empty = CNil; - cons = CCons; - view = view; -} - -instance monoid_clist (a:Type0) : Tot (monoid (t a)) = { - mzero = CNil; - mplus = ccat; -} - -instance showable_clist (a:Type0) (_ : showable a) : Tot (showable (t a)) = { - show = (fun l -> show (to_list l)); -} - -instance eq_clist (a:Type0) (d : deq a) : Tot (deq (t a)) = { - (=?) = (fun l1 l2 -> to_list l1 =? to_list l2); -} - -instance ord_clist (a:Type0) (d : ord a) : Tot (ord (t a)) = { - super = solve; - cmp = (fun l1 l2 -> cmp (to_list l1) (to_list l2)); -} - -let rec map (#a #b : Type0) (f : a -> b) (l : clist a) : clist b = - match l with - | CNil -> CNil - | CCons x xs -> CCons (f x) (map f xs) - | CCat xs ys -> ccat (map f xs) (map f ys) - -let rec existsb (#a : Type0) (p : a -> bool) (l : clist a) : bool = - match l with - | CNil -> false - | CCons x xs -> p x || existsb p xs - | CCat xs ys -> existsb p xs || existsb p ys - -let rec for_all (#a : Type0) (p : a -> bool) (l : clist a) : bool = - match l with - | CNil -> true - | CCons x xs -> p x && for_all p xs - | CCat xs ys -> for_all p xs && for_all p ys - -let rec partition (#a : Type0) (p : a -> bool) (l : clist a) : clist a * clist a = - match l with - | CNil -> (CNil, CNil) - | CCons x xs -> - let (ys, zs) = partition p xs in - if p x then (CCons x ys, zs) else (ys, CCons x zs) - | CCat xs ys -> - let (ys, zs) = partition p xs in - let (us, vs) = partition p ys in - (ccat ys us, ccat zs vs) - -let rec collect (#a #b : Type0) (f : a -> clist b) (l : clist a) : clist b = - match l with - | CNil -> CNil - | CCons x xs -> ccat (f x) (collect f xs) - | CCat xs ys -> ccat (collect f xs) (collect f ys) diff --git a/src/data/FStarC.Compiler.CList.fsti b/src/data/FStarC.Compiler.CList.fsti deleted file mode 100644 index 59650e3eb88..00000000000 --- a/src/data/FStarC.Compiler.CList.fsti +++ /dev/null @@ -1,47 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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. -*) - -(* Catenable lists, based on Jaskelioff and Rivas' "Functional Pearl: A Smart View on Datatypes" *) -module FStarC.Compiler.CList - -open FStarC.Class.Deq -open FStarC.Class.Ord -open FStarC.Class.Show -open FStarC.Class.Monoid -open FStarC.Class.Listlike - -new -val clist (a:Type0) : Type0 - -type t = clist - -instance val listlike_clist (a:Type0) : Tot (listlike a (t a)) -instance val monoid_clist (a:Type0) : Tot (monoid (t a)) -instance val showable_clist (a:Type0) (_ : showable a) : Tot (showable (t a)) -instance val eq_clist (a:Type0) (_ : deq a) : Tot (deq (t a)) -instance val ord_clist (a:Type0) (_ : ord a) : Tot (ord (t a)) - -val map (#a #b : Type0) (f : a -> b) (l : clist a) : clist b - -val existsb (#a : Type0) (p : a -> bool) (l : clist a) : bool - -val for_all (#a : Type0) (p : a -> bool) (l : clist a) : bool - -val partition (#a : Type0) (p : a -> bool) (l : clist a) : clist a * clist a - -val collect : ('a -> clist 'b) -> clist 'a -> clist 'b diff --git a/src/data/FStarC.Compiler.FlatSet.fst b/src/data/FStarC.Compiler.FlatSet.fst deleted file mode 100644 index 497e8226058..00000000000 --- a/src/data/FStarC.Compiler.FlatSet.fst +++ /dev/null @@ -1,114 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.FlatSet - -open FStarC.Class.Ord -open FStarC.Compiler.Effect -open FStarC.Compiler.Order -open FStarC.Compiler.Util - -(* This is a slow implementation that mimics FStarC.Compiler.Util.set, -which is implemented with lists. As it turns out we heavily rely on -the exact order of `elems` provided by this list representation, so we -cannot (yet) do big changes here. *) - -(* Inv: no duplication. We are left-biased. *) -let flat_set t = list t - -val add (#a:Type) {| ord a |} : a -> flat_set a -> flat_set a -let rec add x s = - match s with - | [] -> [x] - | y::yy -> if x =? y then s else y :: add x yy - -val empty (#a:Type) : unit -> flat_set a -let empty () = [] - -val from_list (#a:Type) {| ord a |} : list a -> flat_set a -let from_list xs = dedup xs - -val mem (#a:Type) {| ord a |} : a -> flat_set a -> bool -let mem x s = List.existsb (fun y -> x =? y) s - -val singleton (#a:Type) {| ord a |} : a -> flat_set a -let singleton x = [x] - -val is_empty (#a:Type) : flat_set a -> bool -let is_empty s = Nil? s - -val addn (#a:Type) {| ord a |} : list a -> flat_set a -> flat_set a -let addn xs ys = List.fold_right add xs ys - -val remove (#a:Type) {| ord a |} : a -> flat_set a -> flat_set a -let rec remove x s = - match s with - | [] -> [] - | y::yy -> if x =? y then yy else y :: remove x yy - -val elems (#a:Type) : flat_set a -> list a -let elems s = s - -val for_all (#a:Type) : (a -> bool) -> flat_set a -> bool -let for_all p s = elems s |> List.for_all p - -val for_any (#a:Type) : (a -> bool) -> flat_set a -> bool -let for_any p s = elems s |> List.existsb p - -val subset (#a:Type) {| ord a |} : flat_set a -> flat_set a -> bool -let subset s1 s2 = for_all (fun y -> mem y s2) s1 - -val equal (#a:Type) {| ord a |} : flat_set a -> flat_set a -> bool -let equal s1 s2 = sort s1 =? sort s2 - -val union (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a -let union s1 s2 = List.fold_left (fun s x -> add x s) s1 s2 - -val inter (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a -let inter s1 s2 = List.filter (fun y -> mem y s2) s1 - -val diff (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a -let diff s1 s2 = List.filter (fun y -> not (mem y s2)) s1 - -val collect (#a #b:Type) {| ord b |} : (a -> flat_set b) -> list a -> flat_set b -let collect f l = List.fold_right (fun x acc -> f x `union` acc) l (empty ()) - -instance showable_set (a:Type) (_ : ord a) (_ : showable a) : Tot (showable (flat_set a)) = { - show = (fun s -> show (elems s)); -} - -instance setlike_flat_set (a:Type) (_ : ord a) : Tot (setlike a (flat_set a)) = { - empty = empty; - from_list = from_list; - singleton = singleton; - is_empty = is_empty; - add = add; - addn = addn; - remove = remove; - mem = mem; - elems = elems; - filter = List.filter; - for_all = for_all; - for_any = for_any; - subset = subset; - equal = equal; - union = union; - inter = inter; - diff = diff; - collect = collect; -} diff --git a/src/data/FStarC.Compiler.FlatSet.fsti b/src/data/FStarC.Compiler.FlatSet.fsti deleted file mode 100644 index e26c23e2b52..00000000000 --- a/src/data/FStarC.Compiler.FlatSet.fsti +++ /dev/null @@ -1,33 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.FlatSet - -open FStarC.Class.Ord -open FStarC.Class.Show -open FStarC.Class.Setlike -include FStarC.Class.Setlike - -val flat_set (a:Type0) : Type0 -type t = flat_set - -instance -val showable_set (a:Type) (_ : ord a) (_ : showable a) : Tot (showable (flat_set a)) - -instance -val setlike_flat_set (a:Type0) (_ : ord a) : Tot (setlike a (flat_set a)) diff --git a/src/data/FStarC.Compiler.HashMap.fst b/src/data/FStarC.Compiler.HashMap.fst deleted file mode 100644 index 1de46a5e02e..00000000000 --- a/src/data/FStarC.Compiler.HashMap.fst +++ /dev/null @@ -1,72 +0,0 @@ -module FStarC.Compiler.HashMap - -(* This is implemented with a red black tree. We should use an actual hash table *) - -open FStarC -open FStarC.Compiler.Effect -open FStarC.Class.Hashable -module BU = FStarC.Compiler.Util - -let hashmap (k v : Type) : Tot Type0 = - BU.pimap (k & v) - -let empty (#k #v : _) : hashmap k v - = BU.pimap_empty () - -let add (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (value : v) - (m : hashmap k v) - : hashmap k v - = BU.pimap_add m (Hash.to_int <| hash key) (key, value) - -let remove (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : hashmap k v - = BU.pimap_remove m (Hash.to_int <| hash key) // coarse - -let lookup (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : option v - = match BU.pimap_try_find m (Hash.to_int <| hash key) with - | Some (key', v) when key =? key' -> Some v - | _ -> None - -(* lookup |> Some?.v *) -let get (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : v - = Some?.v (lookup key m) - -let mem (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : bool - = Some? (lookup key m) - -let cached_fun (#a #b : Type) {| hashable a |} {| deq a |} (f : a -> b) = - let cache = BU.mk_ref (empty #a #b) in - let f_cached = - fun x -> - match lookup x (!cache) with - | Some y -> y - | None -> - let y = f x in - cache := add x y !cache; - y - in - f_cached, (fun () -> cache := empty #a #b) - diff --git a/src/data/FStarC.Compiler.HashMap.fsti b/src/data/FStarC.Compiler.HashMap.fsti deleted file mode 100644 index f5801a15890..00000000000 --- a/src/data/FStarC.Compiler.HashMap.fsti +++ /dev/null @@ -1,55 +0,0 @@ -module FStarC.Compiler.HashMap - -(* NOTE: THIS IS A CACHE. COLLISIONS WILL BE DROPPED/OVERWRITTEN. - -However you should not get a wrong value from lookup/get as we store the key -in the map too and compare it before returning the value. *) - -open FStarC.Class.Deq -open FStarC.Class.Hashable - -val hashmap (k v : Type) : Type0 - -type t = hashmap - -val empty (#k #v : _) : hashmap k v - -val add (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (value : v) - (m : hashmap k v) -: hashmap k v - -val remove (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : hashmap k v - -val lookup (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : option v - -(* lookup |> Some?.v *) -val get (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : v - -val mem (#k #v : _) - {| deq k |} - {| hashable k |} - (key : k) - (m : hashmap k v) - : bool - -val cached_fun (#a #b : Type) {| hashable a |} {| deq a |} (f : a -> b) - : (a -> b) & (unit -> unit) // along with a reset fun diff --git a/src/data/FStarC.Compiler.Path.fst b/src/data/FStarC.Compiler.Path.fst deleted file mode 100644 index 3449a059ca9..00000000000 --- a/src/data/FStarC.Compiler.Path.fst +++ /dev/null @@ -1,35 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.Path - -open FStarC.Class.Deq - -let rec is_under {| deq 'a |} (p1 p2 : path 'a) : bool = - match p1, p2 with - | _, [] -> true - | [], _ -> false - | h1::t1, h2::t2 -> h1 =? h2 && is_under t1 t2 - -let search_forest #a #q {| deq a |} p f = - let roots, def = f in - let rec aux (roots : list (path a & q)) : q = - match roots with - | [] -> def - | (r, q)::rs -> if p `is_under` r then q else aux rs - in - aux roots diff --git a/src/data/FStarC.Compiler.Path.fsti b/src/data/FStarC.Compiler.Path.fsti deleted file mode 100644 index db7af195392..00000000000 --- a/src/data/FStarC.Compiler.Path.fsti +++ /dev/null @@ -1,30 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.Path - -open FStarC.Class.Deq -open FStarC.Class.Show - -type path a = list a - -type forest (a:Type) (qual:Type) = - list (path a & qual) & qual - -val is_under {| deq 'a |} (p1 p2 : path 'a) : bool - -val search_forest #a #q {| deq a |} (p:path a) (f : forest a q) : q \ No newline at end of file diff --git a/src/data/FStarC.Compiler.RBSet.fst b/src/data/FStarC.Compiler.RBSet.fst deleted file mode 100644 index d0470d7c5bd..00000000000 --- a/src/data/FStarC.Compiler.RBSet.fst +++ /dev/null @@ -1,181 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.RBSet - -open FStarC.Class.Ord -open FStarC.Class.Show -open FStarC.Class.Setlike - -include FStarC.Class.Setlike - -type color = | R | B - -type rbset (a:Type0) : Type0 = - | L - | N of color & rbset a & a & rbset a - -let empty () = L - -let singleton (x:'a) : rbset 'a = N (R, L, x, L) - -let is_empty = L? - -let balance c l x r = - match c, l, x, r with - | B, N (R, N (R, a, x, b), y, c), z, d - | B, a, x, N (R, N (R, b, y, c), z, d) - | B, N (R, a, x, N (R, b, y, c)), z, d - | B, a, x, N (R, b, y, N (R, c, z, d)) -> - N (R, N (B, a, x, b), y, N (B, c, z, d)) - | c, l, x, r -> N (c, l, x, r) - -let blackroot (t:rbset 'a{N? t}) : rbset 'a = - match t with - | N (_, l, x, r) -> N (B, l, x, r) - -let add {| ord 'a |} (x:'a) (s:rbset 'a) : rbset 'a = - let rec add' (s:rbset 'a) : rbset 'a = - match s with - | L -> N (R, L, x, L) - | N (c, a, y, b) -> - if x ? y then balance c a y (add' b) - else s - in - blackroot (add' s) - -let filter {| ord 'a |} (predicate: 'a -> bool) (set: rbset 'a): rbset 'a = - let rec aux acc = function - | L -> acc - | N (_, l, v, r) -> - aux (aux (if predicate v then add v acc else acc) l) r - in aux (empty ()) set - -let rec extract_min #a {| ord a |} (t : rbset a{N? t}) : rbset a & a = - match t with - | N (_, L, x, r) -> r, x - | N (c, a, x, b) -> - let (a', y) = extract_min a in - balance c a' x b, y - -(* This is not the right way, see https://www.cs.cornell.edu/courses/cs3110/2020sp/a4/deletion.pdf -for how to do it. But if we reach that complexity, I would like for -this whole module to be verified. *) -let rec remove {| ord 'a |} (x:'a) (t:rbset 'a) : rbset 'a = - match t with - | L -> L - | N (c, l, y, r) -> - if x ? y then balance c l y (remove x r) - else - if L? r - then - l - else - let (r', y') = extract_min r in - balance c l y' r' - -let rec mem {| ord 'a |} (x:'a) (s:rbset 'a) : bool = - match s with - | L -> false - | N (_, a, y, b) -> - if x ? y then mem x b - else true - -let rec elems (s:rbset 'a) : list 'a = - match s with - | L -> [] - | N (_, a, x, b) -> elems a @ [x] @ elems b - -let equal {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : bool = - elems s1 =? elems s2 - -let rec union {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = - match s1 with - | L -> s2 - | N (c, a, x, b) -> union a (union b (add x s2)) - -let inter {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = - let rec aux (s1:rbset 'a) (acc : rbset 'a) : rbset 'a = - match s1 with - | L -> acc - | N (_, a, x, b) -> - if mem x s2 - then add x (aux a (aux b acc)) - else aux a (aux b acc) - in - aux s1 L - -let rec diff {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = - match s2 with - | L -> s1 - | N (_, a, x, b) -> diff (diff (remove x s1) a) b - -let rec subset {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : bool = - match s1 with - | L -> true - | N (_, a, x, b) -> mem x s2 && subset a s2 && subset b s2 - -let rec for_all (p:'a -> bool) (s:rbset 'a) : bool = - match s with - | L -> true - | N (_, a, x, b) -> p x && for_all p a && for_all p b - -let rec for_any (p:'a -> bool) (s:rbset 'a) : bool = - match s with - | L -> false - | N (_, a, x, b) -> p x || for_any p a || for_any p b - -// Make this faster -let from_list {| ord 'a |} (xs : list 'a) : rbset 'a = - List.fold_left (fun s e -> add e s) L xs - -let addn {| ord 'a |} (xs : list 'a) (s : rbset 'a) : rbset 'a = - List.fold_left (fun s e -> add e s) s xs - -let collect #a {| ord a |} (f : a -> rbset a) - (l : list a) : rbset a = - List.fold_left (fun s e -> union (f e) s) L l - -instance setlike_rbset (a:Type) (_ : ord a) : Tot (setlike a (rbset a)) = { - empty = empty; - singleton = singleton; - is_empty = is_empty; - add = add; - remove = remove; - mem = mem; - equal = equal; - subset = subset; - union = union; - inter = inter; - diff = diff; - for_all = for_all; - for_any = for_any; - elems = elems; - filter; - - collect = collect; - from_list = from_list; - addn = addn; -} - -instance showable_rbset (a:Type) (_ : showable a) : Tot (showable (rbset a)) = { - show = (fun s -> "RBSet " ^ show (elems s)); -} diff --git a/src/data/FStarC.Compiler.RBSet.fsti b/src/data/FStarC.Compiler.RBSet.fsti deleted file mode 100644 index 98a74adb33c..00000000000 --- a/src/data/FStarC.Compiler.RBSet.fsti +++ /dev/null @@ -1,35 +0,0 @@ -(* - Copyright 2008-2017 Microsoft Research - - Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko - - 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 FStarC.Compiler.RBSet - -open FStarC.Class.Ord -open FStarC.Class.Show -open FStarC.Class.Setlike -include FStarC.Class.Setlike - -new -val rbset (a:Type0) : Type0 - -type t = rbset - -instance -val setlike_rbset (a:Type0) (_ : ord a) : Tot (setlike a (t a)) - -instance -val showable_rbset (a:Type0) (_ : showable a) : Tot (showable (t a)) diff --git a/src/data/FStarC.Compiler.Writer.fst b/src/data/FStarC.Compiler.Writer.fst deleted file mode 100644 index 15c7beb186f..00000000000 --- a/src/data/FStarC.Compiler.Writer.fst +++ /dev/null @@ -1,24 +0,0 @@ -module FStarC.Compiler.Writer - -open FStarC.Class.Monoid -open FStarC.Class.Monad - -let writer_return #m {| monoid m |} #a (x:a) : writer m a = - Wr (mzero, x) - -let run_writer #m {| monoid m |} #a (x : writer m a) : m & a = - let Wr (m, x) = x in - (m, x) - -let writer_bind #m {| monoid m |} #a #b (x : writer m a) (f : a -> writer m b) : writer m b = - let Wr (a, x) = x in - let Wr (b, y) = f x in - Wr (mplus a b, y) - -instance monad_writer (m :_ ) (d : monoid m) : Tot (monad (writer m)) = { - return = writer_return; - ( let! ) = writer_bind; -} - -let emit #m {| monoid m |} (x : m) : writer m unit = - Wr (x, ()) diff --git a/src/data/FStarC.Compiler.Writer.fsti b/src/data/FStarC.Compiler.Writer.fsti deleted file mode 100644 index 2074f053514..00000000000 --- a/src/data/FStarC.Compiler.Writer.fsti +++ /dev/null @@ -1,13 +0,0 @@ -module FStarC.Compiler.Writer - -open FStarC.Class.Monoid -open FStarC.Class.Monad - -type writer (m : Type) {| monoid m |} (a : Type0) = - | Wr of m & a - -val run_writer #m {| monoid m |} #a (x : writer m a) : m & a - -instance val monad_writer (m :_ ) (d : monoid m) : Tot (monad (writer m)) - -val emit #m {| monoid m |} (x : m) : writer m unit diff --git a/src/data/FStarC.FlatSet.fst b/src/data/FStarC.FlatSet.fst new file mode 100644 index 00000000000..23432372b56 --- /dev/null +++ b/src/data/FStarC.FlatSet.fst @@ -0,0 +1,114 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.FlatSet + +open FStarC.Class.Ord +open FStarC.Effect +open FStarC.Order +open FStarC.Util + +(* This is a slow implementation that mimics FStarC.Util.set, +which is implemented with lists. As it turns out we heavily rely on +the exact order of `elems` provided by this list representation, so we +cannot (yet) do big changes here. *) + +(* Inv: no duplication. We are left-biased. *) +let flat_set t = list t + +val add (#a:Type) {| ord a |} : a -> flat_set a -> flat_set a +let rec add x s = + match s with + | [] -> [x] + | y::yy -> if x =? y then s else y :: add x yy + +val empty (#a:Type) : unit -> flat_set a +let empty () = [] + +val from_list (#a:Type) {| ord a |} : list a -> flat_set a +let from_list xs = dedup xs + +val mem (#a:Type) {| ord a |} : a -> flat_set a -> bool +let mem x s = List.existsb (fun y -> x =? y) s + +val singleton (#a:Type) {| ord a |} : a -> flat_set a +let singleton x = [x] + +val is_empty (#a:Type) : flat_set a -> bool +let is_empty s = Nil? s + +val addn (#a:Type) {| ord a |} : list a -> flat_set a -> flat_set a +let addn xs ys = List.fold_right add xs ys + +val remove (#a:Type) {| ord a |} : a -> flat_set a -> flat_set a +let rec remove x s = + match s with + | [] -> [] + | y::yy -> if x =? y then yy else y :: remove x yy + +val elems (#a:Type) : flat_set a -> list a +let elems s = s + +val for_all (#a:Type) : (a -> bool) -> flat_set a -> bool +let for_all p s = elems s |> List.for_all p + +val for_any (#a:Type) : (a -> bool) -> flat_set a -> bool +let for_any p s = elems s |> List.existsb p + +val subset (#a:Type) {| ord a |} : flat_set a -> flat_set a -> bool +let subset s1 s2 = for_all (fun y -> mem y s2) s1 + +val equal (#a:Type) {| ord a |} : flat_set a -> flat_set a -> bool +let equal s1 s2 = sort s1 =? sort s2 + +val union (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a +let union s1 s2 = List.fold_left (fun s x -> add x s) s1 s2 + +val inter (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a +let inter s1 s2 = List.filter (fun y -> mem y s2) s1 + +val diff (#a:Type) {| ord a |} : flat_set a -> flat_set a -> flat_set a +let diff s1 s2 = List.filter (fun y -> not (mem y s2)) s1 + +val collect (#a #b:Type) {| ord b |} : (a -> flat_set b) -> list a -> flat_set b +let collect f l = List.fold_right (fun x acc -> f x `union` acc) l (empty ()) + +instance showable_set (a:Type) (_ : ord a) (_ : showable a) : Tot (showable (flat_set a)) = { + show = (fun s -> show (elems s)); +} + +instance setlike_flat_set (a:Type) (_ : ord a) : Tot (setlike a (flat_set a)) = { + empty = empty; + from_list = from_list; + singleton = singleton; + is_empty = is_empty; + add = add; + addn = addn; + remove = remove; + mem = mem; + elems = elems; + filter = List.filter; + for_all = for_all; + for_any = for_any; + subset = subset; + equal = equal; + union = union; + inter = inter; + diff = diff; + collect = collect; +} diff --git a/src/data/FStarC.FlatSet.fsti b/src/data/FStarC.FlatSet.fsti new file mode 100644 index 00000000000..c9a650a9c99 --- /dev/null +++ b/src/data/FStarC.FlatSet.fsti @@ -0,0 +1,33 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.FlatSet + +open FStarC.Class.Ord +open FStarC.Class.Show +open FStarC.Class.Setlike +include FStarC.Class.Setlike + +val flat_set (a:Type0) : Type0 +type t = flat_set + +instance +val showable_set (a:Type) (_ : ord a) (_ : showable a) : Tot (showable (flat_set a)) + +instance +val setlike_flat_set (a:Type0) (_ : ord a) : Tot (setlike a (flat_set a)) diff --git a/src/data/FStarC.HashMap.fst b/src/data/FStarC.HashMap.fst new file mode 100644 index 00000000000..831eb45724e --- /dev/null +++ b/src/data/FStarC.HashMap.fst @@ -0,0 +1,72 @@ +module FStarC.HashMap + +(* This is implemented with a red black tree. We should use an actual hash table *) + +open FStarC +open FStarC.Effect +open FStarC.Class.Hashable +module BU = FStarC.Util + +let hashmap (k v : Type) : Tot Type0 = + BU.pimap (k & v) + +let empty (#k #v : _) : hashmap k v + = BU.pimap_empty () + +let add (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (value : v) + (m : hashmap k v) + : hashmap k v + = BU.pimap_add m (Hash.to_int <| hash key) (key, value) + +let remove (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : hashmap k v + = BU.pimap_remove m (Hash.to_int <| hash key) // coarse + +let lookup (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : option v + = match BU.pimap_try_find m (Hash.to_int <| hash key) with + | Some (key', v) when key =? key' -> Some v + | _ -> None + +(* lookup |> Some?.v *) +let get (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : v + = Some?.v (lookup key m) + +let mem (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : bool + = Some? (lookup key m) + +let cached_fun (#a #b : Type) {| hashable a |} {| deq a |} (f : a -> b) = + let cache = BU.mk_ref (empty #a #b) in + let f_cached = + fun x -> + match lookup x (!cache) with + | Some y -> y + | None -> + let y = f x in + cache := add x y !cache; + y + in + f_cached, (fun () -> cache := empty #a #b) + diff --git a/src/data/FStarC.HashMap.fsti b/src/data/FStarC.HashMap.fsti new file mode 100644 index 00000000000..48053fe7d04 --- /dev/null +++ b/src/data/FStarC.HashMap.fsti @@ -0,0 +1,55 @@ +module FStarC.HashMap + +(* NOTE: THIS IS A CACHE. COLLISIONS WILL BE DROPPED/OVERWRITTEN. + +However you should not get a wrong value from lookup/get as we store the key +in the map too and compare it before returning the value. *) + +open FStarC.Class.Deq +open FStarC.Class.Hashable + +val hashmap (k v : Type) : Type0 + +type t = hashmap + +val empty (#k #v : _) : hashmap k v + +val add (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (value : v) + (m : hashmap k v) +: hashmap k v + +val remove (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : hashmap k v + +val lookup (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : option v + +(* lookup |> Some?.v *) +val get (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : v + +val mem (#k #v : _) + {| deq k |} + {| hashable k |} + (key : k) + (m : hashmap k v) + : bool + +val cached_fun (#a #b : Type) {| hashable a |} {| deq a |} (f : a -> b) + : (a -> b) & (unit -> unit) // along with a reset fun diff --git a/src/data/FStarC.Path.fst b/src/data/FStarC.Path.fst new file mode 100644 index 00000000000..894da655a02 --- /dev/null +++ b/src/data/FStarC.Path.fst @@ -0,0 +1,35 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.Path + +open FStarC.Class.Deq + +let rec is_under {| deq 'a |} (p1 p2 : path 'a) : bool = + match p1, p2 with + | _, [] -> true + | [], _ -> false + | h1::t1, h2::t2 -> h1 =? h2 && is_under t1 t2 + +let search_forest #a #q {| deq a |} p f = + let roots, def = f in + let rec aux (roots : list (path a & q)) : q = + match roots with + | [] -> def + | (r, q)::rs -> if p `is_under` r then q else aux rs + in + aux roots diff --git a/src/data/FStarC.Path.fsti b/src/data/FStarC.Path.fsti new file mode 100644 index 00000000000..25185dbb201 --- /dev/null +++ b/src/data/FStarC.Path.fsti @@ -0,0 +1,30 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.Path + +open FStarC.Class.Deq +open FStarC.Class.Show + +type path a = list a + +type forest (a:Type) (qual:Type) = + list (path a & qual) & qual + +val is_under {| deq 'a |} (p1 p2 : path 'a) : bool + +val search_forest #a #q {| deq a |} (p:path a) (f : forest a q) : q \ No newline at end of file diff --git a/src/data/FStarC.RBSet.fst b/src/data/FStarC.RBSet.fst new file mode 100644 index 00000000000..a1a0ccd95f8 --- /dev/null +++ b/src/data/FStarC.RBSet.fst @@ -0,0 +1,181 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.RBSet + +open FStarC.Class.Ord +open FStarC.Class.Show +open FStarC.Class.Setlike + +include FStarC.Class.Setlike + +type color = | R | B + +type rbset (a:Type0) : Type0 = + | L + | N of color & rbset a & a & rbset a + +let empty () = L + +let singleton (x:'a) : rbset 'a = N (R, L, x, L) + +let is_empty = L? + +let balance c l x r = + match c, l, x, r with + | B, N (R, N (R, a, x, b), y, c), z, d + | B, a, x, N (R, N (R, b, y, c), z, d) + | B, N (R, a, x, N (R, b, y, c)), z, d + | B, a, x, N (R, b, y, N (R, c, z, d)) -> + N (R, N (B, a, x, b), y, N (B, c, z, d)) + | c, l, x, r -> N (c, l, x, r) + +let blackroot (t:rbset 'a{N? t}) : rbset 'a = + match t with + | N (_, l, x, r) -> N (B, l, x, r) + +let add {| ord 'a |} (x:'a) (s:rbset 'a) : rbset 'a = + let rec add' (s:rbset 'a) : rbset 'a = + match s with + | L -> N (R, L, x, L) + | N (c, a, y, b) -> + if x ? y then balance c a y (add' b) + else s + in + blackroot (add' s) + +let filter {| ord 'a |} (predicate: 'a -> bool) (set: rbset 'a): rbset 'a = + let rec aux acc = function + | L -> acc + | N (_, l, v, r) -> + aux (aux (if predicate v then add v acc else acc) l) r + in aux (empty ()) set + +let rec extract_min #a {| ord a |} (t : rbset a{N? t}) : rbset a & a = + match t with + | N (_, L, x, r) -> r, x + | N (c, a, x, b) -> + let (a', y) = extract_min a in + balance c a' x b, y + +(* This is not the right way, see https://www.cs.cornell.edu/courses/cs3110/2020sp/a4/deletion.pdf +for how to do it. But if we reach that complexity, I would like for +this whole module to be verified. *) +let rec remove {| ord 'a |} (x:'a) (t:rbset 'a) : rbset 'a = + match t with + | L -> L + | N (c, l, y, r) -> + if x ? y then balance c l y (remove x r) + else + if L? r + then + l + else + let (r', y') = extract_min r in + balance c l y' r' + +let rec mem {| ord 'a |} (x:'a) (s:rbset 'a) : bool = + match s with + | L -> false + | N (_, a, y, b) -> + if x ? y then mem x b + else true + +let rec elems (s:rbset 'a) : list 'a = + match s with + | L -> [] + | N (_, a, x, b) -> elems a @ [x] @ elems b + +let equal {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : bool = + elems s1 =? elems s2 + +let rec union {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = + match s1 with + | L -> s2 + | N (c, a, x, b) -> union a (union b (add x s2)) + +let inter {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = + let rec aux (s1:rbset 'a) (acc : rbset 'a) : rbset 'a = + match s1 with + | L -> acc + | N (_, a, x, b) -> + if mem x s2 + then add x (aux a (aux b acc)) + else aux a (aux b acc) + in + aux s1 L + +let rec diff {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : rbset 'a = + match s2 with + | L -> s1 + | N (_, a, x, b) -> diff (diff (remove x s1) a) b + +let rec subset {| ord 'a |} (s1:rbset 'a) (s2:rbset 'a) : bool = + match s1 with + | L -> true + | N (_, a, x, b) -> mem x s2 && subset a s2 && subset b s2 + +let rec for_all (p:'a -> bool) (s:rbset 'a) : bool = + match s with + | L -> true + | N (_, a, x, b) -> p x && for_all p a && for_all p b + +let rec for_any (p:'a -> bool) (s:rbset 'a) : bool = + match s with + | L -> false + | N (_, a, x, b) -> p x || for_any p a || for_any p b + +// Make this faster +let from_list {| ord 'a |} (xs : list 'a) : rbset 'a = + List.fold_left (fun s e -> add e s) L xs + +let addn {| ord 'a |} (xs : list 'a) (s : rbset 'a) : rbset 'a = + List.fold_left (fun s e -> add e s) s xs + +let collect #a {| ord a |} (f : a -> rbset a) + (l : list a) : rbset a = + List.fold_left (fun s e -> union (f e) s) L l + +instance setlike_rbset (a:Type) (_ : ord a) : Tot (setlike a (rbset a)) = { + empty = empty; + singleton = singleton; + is_empty = is_empty; + add = add; + remove = remove; + mem = mem; + equal = equal; + subset = subset; + union = union; + inter = inter; + diff = diff; + for_all = for_all; + for_any = for_any; + elems = elems; + filter; + + collect = collect; + from_list = from_list; + addn = addn; +} + +instance showable_rbset (a:Type) (_ : showable a) : Tot (showable (rbset a)) = { + show = (fun s -> "RBSet " ^ show (elems s)); +} diff --git a/src/data/FStarC.RBSet.fsti b/src/data/FStarC.RBSet.fsti new file mode 100644 index 00000000000..20763fbd993 --- /dev/null +++ b/src/data/FStarC.RBSet.fsti @@ -0,0 +1,35 @@ +(* + Copyright 2008-2017 Microsoft Research + + Authors: Aseem Rastogi, Nikhil Swamy, Jonathan Protzenko + + 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 FStarC.RBSet + +open FStarC.Class.Ord +open FStarC.Class.Show +open FStarC.Class.Setlike +include FStarC.Class.Setlike + +new +val rbset (a:Type0) : Type0 + +type t = rbset + +instance +val setlike_rbset (a:Type0) (_ : ord a) : Tot (setlike a (t a)) + +instance +val showable_rbset (a:Type0) (_ : showable a) : Tot (showable (t a)) diff --git a/src/data/FStarC.Writer.fst b/src/data/FStarC.Writer.fst new file mode 100644 index 00000000000..4636d27109f --- /dev/null +++ b/src/data/FStarC.Writer.fst @@ -0,0 +1,24 @@ +module FStarC.Writer + +open FStarC.Class.Monoid +open FStarC.Class.Monad + +let writer_return #m {| monoid m |} #a (x:a) : writer m a = + Wr (mzero, x) + +let run_writer #m {| monoid m |} #a (x : writer m a) : m & a = + let Wr (m, x) = x in + (m, x) + +let writer_bind #m {| monoid m |} #a #b (x : writer m a) (f : a -> writer m b) : writer m b = + let Wr (a, x) = x in + let Wr (b, y) = f x in + Wr (mplus a b, y) + +instance monad_writer (m :_ ) (d : monoid m) : Tot (monad (writer m)) = { + return = writer_return; + ( let! ) = writer_bind; +} + +let emit #m {| monoid m |} (x : m) : writer m unit = + Wr (x, ()) diff --git a/src/data/FStarC.Writer.fsti b/src/data/FStarC.Writer.fsti new file mode 100644 index 00000000000..d7d4c92c1fa --- /dev/null +++ b/src/data/FStarC.Writer.fsti @@ -0,0 +1,13 @@ +module FStarC.Writer + +open FStarC.Class.Monoid +open FStarC.Class.Monad + +type writer (m : Type) {| monoid m |} (a : Type0) = + | Wr of m & a + +val run_writer #m {| monoid m |} #a (x : writer m a) : m & a + +instance val monad_writer (m :_ ) (d : monoid m) : Tot (monad (writer m)) + +val emit #m {| monoid m |} (x : m) : writer m unit diff --git a/src/default.nix b/src/default.nix deleted file mode 100644 index 5bda511e7cd..00000000000 --- a/src/default.nix +++ /dev/null @@ -1,28 +0,0 @@ -{ fstar, lib, ocamlPackages, stdenv, version }: - -stdenv.mkDerivation { - pname = "fstar-ocaml-snapshot"; - inherit version; - - src = lib.cleanSourceWith { - src = ./..; - filter = path: _: - let relPath = lib.removePrefix (toString ./.. + "/") (toString path); - in lib.any (lib.flip lib.hasPrefix relPath) [ "src" "ulib" ] - || (lib.hasPrefix "ocaml" relPath && !(lib.hasInfix "/generated/" relPath) - && !(lib.hasInfix "/dynamic/" relPath)) - || lib.hasSuffix ".common.mk" relPath; - }; - - preConfigure = '' - mkdir bin - cp ${fstar}/bin/fstar.exe bin - cd src/ocaml-output - ''; - - nativeBuildInputs = with ocamlPackages; [ ocaml menhir ]; - - enableParallelBuilding = true; - - installPhase = "mv ../../ocaml $out"; -} diff --git a/src/extraction/FStarC.Extraction.Krml.fst b/src/extraction/FStarC.Extraction.Krml.fst index 9f95efe8086..064cf86e5f6 100644 --- a/src/extraction/FStarC.Extraction.Krml.fst +++ b/src/extraction/FStarC.Extraction.Krml.fst @@ -16,11 +16,11 @@ (* -------------------------------------------------------------------- *) module FStarC.Extraction.Krml -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Extraction open FStarC.Extraction.ML open FStarC.Extraction.ML.Syntax @@ -32,7 +32,7 @@ open FStarC.Class.Show open FStarC.Class.PP open FStarC.Pprint -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module FC = FStarC.Const (** CHANGELOG diff --git a/src/extraction/FStarC.Extraction.ML.Code.fst b/src/extraction/FStarC.Extraction.ML.Code.fst index 300e487bdb5..887bd52d3be 100644 --- a/src/extraction/FStarC.Extraction.ML.Code.fst +++ b/src/extraction/FStarC.Extraction.ML.Code.fst @@ -15,17 +15,17 @@ *) (* -------------------------------------------------------------------- *) module FStarC.Extraction.ML.Code -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Extraction.ML open FStarC.Extraction.ML.Syntax open FStarC.Pprint open FStarC.Const open FStarC.BaseTypes -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (* This is the old printer used exclusively for the F# build of F*. It will not * evolve in the future. *) @@ -182,7 +182,7 @@ let prim_constructors = [ (* -------------------------------------------------------------------- *) let is_prims_ns (ns : list mlsymbol) = - ns = ["Prims"] || ns = ["Prims"] + ns = ["Prims"] || ns = ["Fstarcompiler.Prims"] (* -------------------------------------------------------------------- *) let as_bin_op ((ns, x) : mlpath) = @@ -298,7 +298,7 @@ let string_of_mlconstant (sctt : mlconstant) = | MLC_Bytes bytes -> (* A byte buffer. Not meant to be readable. *) - "\"" ^ FStarC.Compiler.Bytes.f_encode escape_byte_hex bytes ^ "\"" + "\"" ^ FStarC.Bytes.f_encode escape_byte_hex bytes ^ "\"" | MLC_String chars -> (* It was a string literal. Escape what was (likely) escaped originally. @@ -437,7 +437,7 @@ let rec doc_of_expr (currentModule : mlsymbol) (outer : level) (e : mlexpr) : do | MLE_Name p, [ ({ expr = MLE_Fun ([ _ ], scrutinee) }); ({ expr = MLE_Fun ([ {mlbinder_name=arg} ], possible_match)}) - ] when (string_of_mlpath p = "FStarC.Compiler.Effect.try_with" || + ] when (string_of_mlpath p = "FStarC.Effect.try_with" || string_of_mlpath p = "FStar.All.try_with") -> let branches = match possible_match with diff --git a/src/extraction/FStarC.Extraction.ML.Code.fsti b/src/extraction/FStarC.Extraction.ML.Code.fsti index 7c964b19c27..49eadf54dca 100644 --- a/src/extraction/FStarC.Extraction.ML.Code.fsti +++ b/src/extraction/FStarC.Extraction.ML.Code.fsti @@ -15,7 +15,7 @@ *) (* -------------------------------------------------------------------- *) module FStarC.Extraction.ML.Code -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Extraction.ML.Syntax open FStarC.Class.Show diff --git a/src/extraction/FStarC.Extraction.ML.Modul.fst b/src/extraction/FStarC.Extraction.ML.Modul.fst index 29ce94cc8ea..4c80aa0888c 100644 --- a/src/extraction/FStarC.Extraction.ML.Modul.fst +++ b/src/extraction/FStarC.Extraction.ML.Modul.fst @@ -16,10 +16,10 @@ module FStarC.Extraction.ML.Modul open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Const open FStarC.Extraction.ML open FStarC.Extraction.ML.RegEmb @@ -36,7 +36,7 @@ open FStarC.Class.Show module Term = FStarC.Extraction.ML.Term module MLS = FStarC.Extraction.ML.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst module UF = FStarC.Syntax.Unionfind @@ -64,14 +64,14 @@ type iface = { let extension_extractor_table : BU.smap extension_extractor - = FStarC.Compiler.Util.smap_create 20 + = FStarC.Util.smap_create 20 let register_extension_extractor (ext:string) (callback:extension_extractor) = - FStarC.Compiler.Util.smap_add extension_extractor_table ext callback + FStarC.Util.smap_add extension_extractor_table ext callback let lookup_extension_extractor (ext:string) = (* Try to find a plugin if lookup fails *) - let do () = FStarC.Compiler.Util.smap_try_find extension_extractor_table ext in + let do () = FStarC.Util.smap_try_find extension_extractor_table ext in match do () with | None -> if Plugins.autoload_plugin ext @@ -360,8 +360,8 @@ let extract_typ_abbrev env quals attrs lb in tcenv, as_pair def_typ in - let lbtyp = FStarC.TypeChecker.Normalize.normalize [Env.Beta;Env.UnfoldUntil delta_constant; Env.ForExtraction] tcenv lbtyp in - //eta expansion is important; see issue #490 + let lbtyp = FStarC.TypeChecker.Normalize.normalize [Env.Beta;Env.UnfoldUntil delta_constant; Env.ForExtraction; Env.Unrefine; Env.Unascribe ] tcenv lbtyp in + //eta expansion is important; see issue #490, including unrefining and unascribing let lbdef = FStarC.TypeChecker.Normalize.eta_expand_with_type tcenv lbdef lbtyp in let fv = right lb.lbname in let lid = fv.fv_name.v in @@ -897,7 +897,7 @@ let extract_iface (g:env_t) modul = let g, iface = UF.with_uf_enabled (fun () -> if Debug.any() - then FStarC.Compiler.Util.measure_execution_time + then FStarC.Util.measure_execution_time (BU.format1 "Extracted interface of %s" (string_of_lid modul.name)) (fun () -> extract_iface' g modul) else extract_iface' g modul) @@ -1052,7 +1052,7 @@ let rec extract_sig (g:env_t) (se:sigelt) : env_t & list mlmodule1 = (* Ignore tactics whenever we're not extracting plugins *) | Sig_let {lbs=(_, lbs)} - when Options.codegen () <> Some (Options.Plugin) && + when not <| List.mem (Options.codegen ()) [Some Options.Plugin; Some Options.PluginNoLib] && List.for_all (lb_is_tactic g) lbs -> g, [] @@ -1319,7 +1319,7 @@ let extract' (g:uenv) (m:modul) : uenv & option mllib = if Debug.any () then let nm = FStarC.Syntax.Util.lids_of_sigelt se |> List.map Ident.string_of_lid |> String.concat ", " in BU.print1 "+++About to extract {%s}\n" nm; - let r = FStarC.Compiler.Util.measure_execution_time + let r = FStarC.Util.measure_execution_time (BU.format1 "---Extracted {%s}" nm) (fun () -> extract_sig g se) in diff --git a/src/extraction/FStarC.Extraction.ML.Modul.fsti b/src/extraction/FStarC.Extraction.ML.Modul.fsti index a983e17544d..7cf17d3e142 100644 --- a/src/extraction/FStarC.Extraction.ML.Modul.fsti +++ b/src/extraction/FStarC.Extraction.ML.Modul.fsti @@ -16,7 +16,7 @@ *) module FStarC.Extraction.ML.Modul open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Extraction.ML.Syntax open FStarC.Extraction.ML.UEnv diff --git a/src/extraction/FStarC.Extraction.ML.PrintML.fst b/src/extraction/FStarC.Extraction.ML.PrintML.fst index 1afe29e3e1c..41c3c55e887 100644 --- a/src/extraction/FStarC.Extraction.ML.PrintML.fst +++ b/src/extraction/FStarC.Extraction.ML.PrintML.fst @@ -15,8 +15,8 @@ *) module FStarC.Extraction.ML.PrintML -open FStarC.Compiler.Effect -open FStarC.Compiler +open FStarC.Effect +open FStarC open FStarC.Extraction.ML.Syntax open FStarC.Extraction.ML.Code @@ -29,4 +29,4 @@ This file is here for the F# build. *) let print (_: option string) (ext: string) (l: mllib) = let newDoc = FStarC.Extraction.ML.Code.doc_of_mllib l in List.iter (fun (n,d) -> - FStarC.Compiler.Util.write_file (FStarC.Options.prepend_output_dir (n^ext)) (FStarC.Extraction.ML.Code.pretty 120 d)) newDoc + FStarC.Util.write_file (FStarC.Find.prepend_output_dir (n^ext)) (FStarC.Extraction.ML.Code.pretty 120 d)) newDoc diff --git a/src/extraction/FStarC.Extraction.ML.RegEmb.fst b/src/extraction/FStarC.Extraction.ML.RegEmb.fst index 04ebd3ddd7e..e2bf174491f 100644 --- a/src/extraction/FStarC.Extraction.ML.RegEmb.fst +++ b/src/extraction/FStarC.Extraction.ML.RegEmb.fst @@ -19,15 +19,15 @@ module FStarC.Extraction.ML.RegEmb embeddings for their types. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Const open FStarC.Extraction.ML.Syntax open FStarC.Extraction.ML.UEnv open FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Code = FStarC.Extraction.ML.Code module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env @@ -84,27 +84,27 @@ let ml_none : mlexpr = mk (MLE_Name (["FStar"; "Pervasives"; "Native"], "None")) let ml_some : mlexpr = mk (MLE_Name (["FStar"; "Pervasives"; "Native"], "Some")) let s_tdataconstr = - mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Syntax"; "tdataconstr"])) + mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Syntax"; "tdataconstr"])) let mk_app = - mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Util"; "mk_app"])) + mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Util"; "mk_app"])) let tm_fvar = - mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Syntax"; "Tm_fvar"])) + mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Syntax"; "Tm_fvar"])) let fv_eq_lid = - mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Syntax"; "fv_eq_lid"])) + mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Syntax"; "fv_eq_lid"])) let lid_of_str = - mk (MLE_Name (splitlast ["FStarC"; "Ident"; "lid_of_str"])) + mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Ident"; "lid_of_str"])) let nil_lid = Ident.lid_of_str "Prims.Nil" let cons_lid = Ident.lid_of_str "Prims.Cons" -let embed = mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Embeddings"; "Base"; "extracted_embed"])) -let unembed = mk (MLE_Name (splitlast ["FStarC"; "Syntax"; "Embeddings"; "Base"; "extracted_unembed"])) -let bind_opt = mk (MLE_Name (splitlast ["FStarC"; "Compiler"; "Util"; "bind_opt"])) +let embed = mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"; "Base"; "extracted_embed"])) +let unembed = mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"; "Base"; "extracted_unembed"])) +let bind_opt = mk (MLE_Name (splitlast ["Fstarcompiler.FStarC"; "Util"; "bind_opt"])) let ml_nbe_unsupported : mlexpr = (* extraction thunks this definition *) - let hd = mk (MLE_Name (["FStarC"; "TypeChecker"; "NBETerm"], "e_unsupported")) in + let hd = mk (MLE_Name (["Fstarcompiler.FStarC"; "TypeChecker"; "NBETerm"], "e_unsupported")) in mk (MLE_App (hd, [ml_unit])) let ml_magic : mlexpr = @@ -153,10 +153,10 @@ type embedding_data = { (*** List of registered embeddings ***) let builtin_embeddings : list (Ident.lident & embedding_data) = - let syn_emb_lid s = Ident.lid_of_path ["FStarC"; "Syntax"; "Embeddings"; s] Range.dummyRange in - let nbe_emb_lid s = Ident.lid_of_path ["FStarC"; "TypeChecker"; "NBETerm"; s] Range.dummyRange in - let refl_emb_lid s = Ident.lid_of_path ["FStarC"; "Reflection"; "V2"; "Embeddings"; s] Range.dummyRange in - let nbe_refl_emb_lid s = Ident.lid_of_path ["FStarC"; "Reflection"; "V2"; "NBEEmbeddings"; s] Range.dummyRange in + let syn_emb_lid s = Ident.lid_of_path ["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"; s] Range.dummyRange in + let nbe_emb_lid s = Ident.lid_of_path ["Fstarcompiler.FStarC"; "TypeChecker"; "NBETerm"; s] Range.dummyRange in + let refl_emb_lid s = Ident.lid_of_path ["Fstarcompiler.FStarC"; "Reflection"; "V2"; "Embeddings"; s] Range.dummyRange in + let nbe_refl_emb_lid s = Ident.lid_of_path ["Fstarcompiler.FStarC"; "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")}); @@ -248,8 +248,8 @@ let rec embedding_for let emb_arrow e1 e2 = let comb = match k with - | SyntaxTerm -> mk <| MLE_Name (["FStarC"; "Syntax"; "Embeddings"], "e_arrow") - | NBETerm -> mk <| MLE_Name (["FStarC"; "TypeChecker"; "NBETerm"], "e_arrow") + | SyntaxTerm -> mk <| MLE_Name (["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"], "e_arrow") + | NBETerm -> mk <| MLE_Name (["Fstarcompiler.FStarC"; "TypeChecker"; "NBETerm"], "e_arrow") in mk (MLE_App (comb, [e1; e2])) in @@ -267,8 +267,8 @@ let rec embedding_for | Tm_name bv when BU.for_some (find_env_entry bv) env -> let comb = match k with - | SyntaxTerm -> mk <| MLE_Name (["FStarC"; "Syntax"; "Embeddings"], "mk_any_emb") - | NBETerm -> mk <| MLE_Name (["FStarC"; "TypeChecker"; "NBETerm"], "mk_any_emb") + | SyntaxTerm -> mk <| MLE_Name (["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"], "mk_any_emb") + | NBETerm -> mk <| MLE_Name (["Fstarcompiler.FStarC"; "TypeChecker"; "NBETerm"], "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]) @@ -368,7 +368,7 @@ let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:opti let str_to_name s = as_name ([], s) in let fv_lid_embedded = with_ty MLTY_Top <| - MLE_App (as_name (["FStarC_Ident"],"lid_of_str"), + MLE_App (as_name (["Fstarcompiler.FStarC_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 = @@ -380,7 +380,7 @@ let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:opti | SyntaxTerm -> "mk_tactic_interpretation_" | NBETerm -> "mk_nbe_tactic_interpretation_" in - as_name (["FStarC_Tactics_InterpFuns"], idroot^string_of_int arity) + as_name (["Fstarcompiler.FStarC_Tactics_InterpFuns"], idroot^string_of_int arity) in let mk_from_tactic l arity = let idroot = @@ -388,13 +388,13 @@ let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:opti | SyntaxTerm -> "from_tactic_" | NBETerm -> "from_nbe_tactic_" in - as_name (["FStarC_Tactics_Native"], idroot^string_of_int arity) + as_name (["Fstarcompiler.FStarC_Tactics_Native"], idroot^string_of_int arity) in let mk_arrow_as_prim_step k (arity: int) : mlexpr = let modul = match k with - | SyntaxTerm -> ["FStarC"; "Syntax"; "Embeddings"] - | NBETerm -> ["FStarC"; "TypeChecker"; "NBETerm"] + | SyntaxTerm -> ["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"] + | NBETerm -> ["Fstarcompiler.FStarC"; "TypeChecker"; "NBETerm"] in as_name (modul, "arrow_as_prim_step_" ^ string_of_int arity) in @@ -414,7 +414,7 @@ let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:opti match tvar_names with | [] -> let body = - mk <| MLE_App(as_name (["FStarC_Syntax_Embeddings"], "debug_wrap"), + mk <| MLE_App(as_name (["Fstarcompiler.FStarC_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 @@ -448,7 +448,7 @@ let interpret_plugin_as_term_fun (env:UEnv.uenv) (fv:fv) (t:typ) (arity_opt:opti mk <| MLE_Match(as_name ([], "args"), [branch; default_branch]) in let body = - mk <| MLE_App(as_name (["FStarC_Syntax_Embeddings"], "debug_wrap"), + mk <| MLE_App(as_name (["Fstarcompiler.FStarC_Syntax_Embeddings"], "debug_wrap"), [with_ty MLTY_Top <| MLE_Const (MLC_String (Ident.string_of_lid fv_lid)); ml_lam "_" body]) in @@ -701,8 +701,8 @@ let __do_handle_plugin (g: uenv) (arity_opt: option int) (se: sigelt) : list mlm | Some (interp, nbe_interp, arity, plugin) -> let register, args = if plugin - then (["FStarC_Tactics_Native"], "register_plugin"), [interp; nbe_interp] - else (["FStarC_Tactics_Native"], "register_tactic"), [interp] + then (["Fstarcompiler.FStarC_Tactics_Native"], "register_plugin"), [interp; nbe_interp] + else (["Fstarcompiler.FStarC_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 @@ -741,7 +741,7 @@ let __do_handle_plugin (g: uenv) (arity_opt: option int) (se: sigelt) : list mlm 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 (["FStarC"; "Syntax"; "Embeddings"; "Base"], "mk_extracted_embedding")), [ + let def = mk (MLE_App (mk (MLE_Name (["Fstarcompiler.FStarC"; "Syntax"; "Embeddings"; "Base"], "mk_extracted_embedding")), [ ml_name; ml_unembed; ml_embed])) @@ -828,9 +828,11 @@ let maybe_register_plugin (g:uenv) (se:sigelt) : list mlmodule1 = | _ -> Some None ) in - if Options.codegen() <> Some Options.Plugin then + if not <| List.mem (Options.codegen()) [Some Options.Plugin; Some Options.PluginNoLib] + then [] - else match plugin_with_arity se.sigattrs with + 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. *) diff --git a/src/extraction/FStarC.Extraction.ML.RegEmb.fsti b/src/extraction/FStarC.Extraction.ML.RegEmb.fsti index af01ea8f485..9bdca9d8ed1 100644 --- a/src/extraction/FStarC.Extraction.ML.RegEmb.fsti +++ b/src/extraction/FStarC.Extraction.ML.RegEmb.fsti @@ -20,8 +20,8 @@ module FStarC.Extraction.ML.RegEmb embeddings for their types. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Extraction.ML diff --git a/src/extraction/FStarC.Extraction.ML.RemoveUnusedParameters.fst b/src/extraction/FStarC.Extraction.ML.RemoveUnusedParameters.fst index e6f345fe00b..9df12bfba50 100644 --- a/src/extraction/FStarC.Extraction.ML.RemoveUnusedParameters.fst +++ b/src/extraction/FStarC.Extraction.ML.RemoveUnusedParameters.fst @@ -16,12 +16,12 @@ (* -------------------------------------------------------------------- *) module FStarC.Extraction.ML.RemoveUnusedParameters open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStarC.BaseTypes open FStarC.Extraction.ML.Syntax @@ -37,7 +37,7 @@ open FStarC.Class.Show parameters. However, this transformation may also be useful for use with OCaml, since it may lead to nicer code. *) -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (** The transformation maintains an environment recording which @@ -229,11 +229,14 @@ let elim_tydef (env:env_t) name metadata parameters mlty | Some r -> r | _ -> range_of_tydef in - FStarC.Errors.log_issue range FStarC.Errors.Error_RemoveUnusedTypeParameter - (BU.format3 + let open FStarC.Errors.Msg in + FStarC.Errors.log_issue range FStarC.Errors.Error_RemoveUnusedTypeParameter [ + text <| BU.format3 "Parameter %s of %s is unused and must be eliminated for F#; \ - add `[@@ remove_unused_type_parameters [%s; ...]]` to the interface signature; \n\ - This type definition is being dropped" (show i) name (show i)); + add `[@@ remove_unused_type_parameters [%s; ...]]` to the interface signature." + (show i) name (show i); + text "This type definition is being dropped" + ]; raise Drop_tydef else i+1, param::params, Retain::entry end) diff --git a/src/extraction/FStarC.Extraction.ML.Syntax.fst b/src/extraction/FStarC.Extraction.ML.Syntax.fst index 68063f1fa4f..f9d314bf211 100644 --- a/src/extraction/FStarC.Extraction.ML.Syntax.fst +++ b/src/extraction/FStarC.Extraction.ML.Syntax.fst @@ -17,12 +17,12 @@ *) (* -------------------------------------------------------------------- *) module FStarC.Extraction.ML.Syntax -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStarC.BaseTypes @@ -110,7 +110,7 @@ let pop_unit (ts : mltyscheme) : e_tag & mltyscheme = else failwith "unexpected: pop_unit: domain was not unit" | _ -> failwith "unexpected: pop_unit: not a function type" -module BU = FStarC.Compiler.Util +module BU = FStarC.Util let ctor' (n: string) (args: list document) = nest 2 (group (parens (flow (break_ 1) (doc_of_string n :: args)))) diff --git a/src/extraction/FStarC.Extraction.ML.Syntax.fsti b/src/extraction/FStarC.Extraction.ML.Syntax.fsti index 6ca5d5a9258..3d4240fab0f 100644 --- a/src/extraction/FStarC.Extraction.ML.Syntax.fsti +++ b/src/extraction/FStarC.Extraction.ML.Syntax.fsti @@ -17,12 +17,12 @@ *) (* -------------------------------------------------------------------- *) module FStarC.Extraction.ML.Syntax -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStarC.BaseTypes @@ -105,8 +105,8 @@ type meta = | CIfDef | CMacro | Deprecated of string - | RemoveUnusedTypeParameters of list int & FStarC.Compiler.Range.range //positional - | HasValDecl of FStarC.Compiler.Range.range //this symbol appears in the interface of a module + | RemoveUnusedTypeParameters of list int & FStarC.Range.range //positional + | HasValDecl of FStarC.Range.range //this symbol appears in the interface of a module | CNoInline // rename diff --git a/src/extraction/FStarC.Extraction.ML.Term.fst b/src/extraction/FStarC.Extraction.ML.Term.fst index 2a5ae75a2ea..ad47cbfa828 100644 --- a/src/extraction/FStarC.Extraction.ML.Term.fst +++ b/src/extraction/FStarC.Extraction.ML.Term.fst @@ -15,12 +15,12 @@ *) module FStarC.Extraction.ML.Term open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStarC.Ident open FStarC.Extraction @@ -31,7 +31,7 @@ open FStarC.Extraction.ML.Util open FStarC.Syntax.Syntax open FStarC.Errors -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Code = FStarC.Extraction.ML.Code module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env @@ -135,7 +135,7 @@ let effect_as_etag = then E_ERASABLE else // Reifiable effects should be pure. Added guard because some effect declarations - // don't seem to be in the environment at this point, in particular FStarC.Compiler.Effect.ML + // don't seem to be in the environment at this point, in particular FStarC.Effect.ML // (maybe because it's primitive?) let ed_opt = TcEnv.effect_decl_opt (tcenv_of_uenv g) l in match ed_opt with @@ -521,12 +521,12 @@ let maybe_eta_expand_coercion g expect e = let apply_coercion (pos:Range.range) (g:uenv) (e:mlexpr) (ty:mlty) (expect:mlty) : mlexpr = if Util.codegen_fsharp() then //magics are not always sound in F#; warn - FStarC.Errors.log_issue pos - Errors.Warning_NoMagicInFSharp - (BU.format2 - "Inserted an unsafe type coercion in generated code from %s to %s; this may be unsound in F#" - (Code.string_of_mlty (current_module_of_uenv g) ty) - (Code.string_of_mlty (current_module_of_uenv g) expect)); + FStarC.Errors.log_issue pos Errors.Warning_NoMagicInFSharp [ + text <| BU.format2 "Inserted an unsafe type coercion in generated code from %s to %s." + (Code.string_of_mlty (current_module_of_uenv g) ty) + (Code.string_of_mlty (current_module_of_uenv g) expect); + text "This may be unsound in F#."; + ]; let mk_fun binder body = match body.expr with | MLE_Fun(binders, body) -> @@ -689,7 +689,26 @@ let head_of_type_is_extract_as_impure_effect g t = | Tm_fvar fv -> has_extract_as_impure_effect g fv | _ -> false -let rec translate_term_to_mlty (g:uenv) (t0:term) : mlty = +exception NotSupportedByExtension +let translate_typ_t = g:uenv -> t:term -> mlty + +(* See below for register_pre_translate_typ *) +let ref_translate_term_to_mlty : ref translate_typ_t = + BU.mk_ref (fun _ _ -> raise NotSupportedByExtension) + +let translate_term_to_mlty (g:uenv) (t0:term) : mlty = + !ref_translate_term_to_mlty g t0 + +let register_pre_translate_typ (f : translate_typ_t) : unit = + let before = !ref_translate_term_to_mlty in + let after g t = + try + f g t + with NotSupportedByExtension -> before g t + in + ref_translate_term_to_mlty := after + +let rec translate_term_to_mlty' (g:uenv) (t0:term) : mlty = let arg_as_mlty (g:uenv) (a, _) : mlty = if is_type g a //This is just an optimization; we could in principle always emit MLTY_Erased, at the expense of more magics then translate_term_to_mlty g a @@ -832,7 +851,6 @@ let term_as_mlty g t0 = let t = N.normalize extraction_norm_steps (tcenv_of_uenv g) t0 in translate_term_to_mlty g t - ////////////////////////////////////////////////////////////////////////////////////////////// (********************************************************************************************) (* The main extraction of terms to ML expressions *) @@ -1173,6 +1191,20 @@ let maybe_promote_effect ml_e tag t = | E_PURE, MLTY_Erased -> ml_unit, E_PURE | _ -> ml_e, tag +let translate_t = g:uenv -> t:term -> mlexpr & e_tag & mlty +let ref_term_as_mlexpr : ref translate_t = + BU.mk_ref (fun _ _ -> raise NotSupportedByExtension) + +// An "after" pass does not make much sense... since term_as_mlexpr' here +// (the default one) catches everything. +let register_pre_translate (f : translate_t) : unit = + let before = !ref_term_as_mlexpr in + let after g t = + try + f g t + with NotSupportedByExtension -> before g t + in + ref_term_as_mlexpr := after type lb_sig = lbname //just lbname returned back @@ -1343,7 +1375,7 @@ and check_term_as_mlexpr (g:uenv) (e:term) (f:e_tag) (ty:mlty) : (mlexpr & mlty maybe_coerce e.pos g ml_e t ty, ty and term_as_mlexpr (g:uenv) (e:term) : (mlexpr & e_tag & mlty) = - let e, f, t = term_as_mlexpr' g e in + let e, f, t = !ref_term_as_mlexpr g e in let e, f = maybe_promote_effect e f t in e, f, t @@ -1850,7 +1882,7 @@ and term_as_mlexpr' (g:uenv) (top:term) : (mlexpr & e_tag & mlty) = Tm_let {lbs=(false, [lb]); body} in let top = {top with n = maybe_rewritten_let } in - term_as_mlexpr' g top + term_as_mlexpr g top | Tm_let {lbs=(is_rec, lbs); body=e'} -> let top_level = is_top_level lbs in @@ -2082,3 +2114,6 @@ let ind_discriminator_body env (discName:lident) (constrName:lident) : mlmodule1 mllb_add_unit=false; mllb_def=discrBody; print_typ=false}] ) |> mk_mlmodule1 + +let _ = register_pre_translate term_as_mlexpr' +let _ = register_pre_translate_typ translate_term_to_mlty' diff --git a/src/extraction/FStarC.Extraction.ML.Term.fsti b/src/extraction/FStarC.Extraction.ML.Term.fsti index 17d0aed12d2..67bc787b913 100644 --- a/src/extraction/FStarC.Extraction.ML.Term.fsti +++ b/src/extraction/FStarC.Extraction.ML.Term.fsti @@ -25,5 +25,12 @@ val normalize_for_extraction (env:uenv) (e:term) : term val is_arity: uenv -> term -> bool val ind_discriminator_body : env:uenv -> discName:lident -> constrName:lident -> mlmodule1 val term_as_mlty: uenv -> term -> mlty + +exception NotSupportedByExtension +let translate_typ_t = g:uenv -> t:term -> mlty +val register_pre_translate_typ (f : translate_typ_t) : unit +let translate_t = g:uenv -> t:term -> mlexpr & e_tag & mlty +val register_pre_translate (f : translate_t) : unit + val term_as_mlexpr: uenv -> term -> mlexpr & e_tag & mlty val extract_lb_iface : uenv -> letbindings -> uenv & list (fv & exp_binding) diff --git a/src/extraction/FStarC.Extraction.ML.UEnv.fst b/src/extraction/FStarC.Extraction.ML.UEnv.fst index 83db90868cf..64e10d4ee89 100644 --- a/src/extraction/FStarC.Extraction.ML.UEnv.fst +++ b/src/extraction/FStarC.Extraction.ML.UEnv.fst @@ -37,22 +37,26 @@ module FStarC.Extraction.ML.UEnv *) open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Ident open FStarC.Extraction.ML.Syntax open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.TypeChecker module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Const = FStarC.Parser.Const open FStarC.Class.Show +let plug () = Options.codegen () = Some Options.Plugin + || Options.codegen () = Some Options.PluginNoLib +let plug_no_lib () = Options.codegen () = Some Options.PluginNoLib + (**** Type definitions *) (** A top-level F* type definition, i.e., a type abbreviation, @@ -249,11 +253,22 @@ let is_fv_type 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 = - let pl = Options.codegen () = Some Options.Plugin in match ns with - | "Prims" :: [] when pl -> "Prims" :: [] - | "FStar"::"Stubs"::rest when pl -> "FStarC"::rest - | "FStar"::"Stubs"::rest -> "FStar"::rest // unclear + | "FStar"::"Stubs"::rest when plug_no_lib () && Options.Ext.get "__guts" <> "" -> "FStarC"::rest + + (* These 3 modules are special, and are not in the guts. They live in src/ml/full and + are visible at the ambient namespace when building the plugin lib. *) + | "FStar"::"Stubs"::"Tactics"::"V1"::"Builtins"::[] when plug () -> + "FStarC"::"Tactics"::"V1"::"Builtins"::[] + | "FStar"::"Stubs"::"Tactics"::"V2"::"Builtins"::[] when plug () -> + "FStarC"::"Tactics"::"V2"::"Builtins"::[] + | "FStar"::"Stubs"::"Tactics"::"Unseal"::[] when plug () -> + "FStarC"::"Tactics"::"Unseal"::[] + + | "FStar"::"Stubs"::rest when plug () -> "Fstarcompiler.FStarC"::rest // review, but I think it's right + + | "FStar"::"Stubs"::rest -> "FStar"::rest // review, wrong + | _ -> ns let no_fstar_stubs (p : mlpath) : mlpath = @@ -278,9 +293,8 @@ let lookup_record_field_name g (type_name, fn) = | None -> failwith ("Field name not found: " ^ string_of_lid key) | Some mlp -> let ns, id = mlp in - if Options.codegen () = Some Options.Plugin - then List.filter (fun s -> s <> "Stubs") ns, id - else ns, id + let ns = no_fstar_stubs_ns ns in + ns, id (**** Naming conventions and freshness (internal) *) @@ -302,7 +316,9 @@ let initial_mlident_map = (match Options.codegen() with | Some Options.FSharp -> fsharpkeywords | Some Options.OCaml - | Some Options.Plugin -> ocamlkeywords + | Some Options.Plugin + | Some Options.PluginNoLib -> + ocamlkeywords | Some Options.Krml -> krml_keywords | Some Options.Extension -> [] // TODO | None -> []) @@ -412,6 +428,42 @@ let new_mlpath_of_lident (g:uenv) (x : lident) : mlpath & uenv = let g = { g with env_mlident_map = map } in (mlns_of_lid x, name), g in + let guts (p::ps, l) = ("Fstarcompiler."^p) :: ps, l in + let mlp = + match string_of_lid x with + (* This sucks, but these are the types in the interface + to tactic primitives. Tuples/lists are not here since they + get extracted to the OCaml native ones. *) + | "Prims.dtuple2" + | "Prims.Mkdtuple2" + | "FStar.Pervasives.either" + | "FStar.Pervasives.Inl" + | "FStar.Pervasives.Inr" + + | "FStar.Pervasives.norm_step" + | "FStar.Pervasives.norm_debug" + | "FStar.Pervasives.simplify" + | "FStar.Pervasives.weak" + | "FStar.Pervasives.hnf" + | "FStar.Pervasives.primops" + | "FStar.Pervasives.delta" + | "FStar.Pervasives.norm_debug" + | "FStar.Pervasives.zeta" + | "FStar.Pervasives.zeta_full" + | "FStar.Pervasives.iota" + | "FStar.Pervasives.nbe" + | "FStar.Pervasives.reify_" + | "FStar.Pervasives.delta_only" + | "FStar.Pervasives.delta_fully" + | "FStar.Pervasives.delta_attr" + | "FStar.Pervasives.delta_qualifier" + | "FStar.Pervasives.delta_namespace" + | "FStar.Pervasives.unmeta" + | "FStar.Pervasives.unascribe" + when plug () + -> guts mlp + | _ -> mlp + in let g = { g with mlpath_of_lid = BU.psmap_add g.mlpath_of_lid (string_of_lid x) mlp } in @@ -636,7 +688,7 @@ let new_uenv (e:TypeChecker.Env.env) currentModule = ([], ""); } in (* We handle [failwith] specially, extracting it to OCaml's 'failwith' - rather than FStarC.Compiler.Effect.failwith. Not sure this is necessary *) + rather than FStarC.Effect.failwith. Not sure this is necessary *) let a = "'a" in let failwith_ty = ([{ty_param_name=a; ty_param_attrs=[]}], MLTY_Fun(MLTY_Named([], (["Prims"], "string")), E_IMPURE, MLTY_Var a)) in diff --git a/src/extraction/FStarC.Extraction.ML.UEnv.fsti b/src/extraction/FStarC.Extraction.ML.UEnv.fsti index 70a1ac437a8..aceee375242 100644 --- a/src/extraction/FStarC.Extraction.ML.UEnv.fsti +++ b/src/extraction/FStarC.Extraction.ML.UEnv.fsti @@ -17,9 +17,9 @@ module FStarC.Extraction.ML.UEnv open FStar.Pervasives open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Ident open FStarC.Extraction.ML.Syntax open FStarC.Syntax diff --git a/src/extraction/FStarC.Extraction.ML.Util.fst b/src/extraction/FStarC.Extraction.ML.Util.fst index a98e141af47..04f2c55cec4 100644 --- a/src/extraction/FStarC.Extraction.ML.Util.fst +++ b/src/extraction/FStarC.Extraction.ML.Util.fst @@ -16,11 +16,11 @@ module FStarC.Extraction.ML.Util open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings @@ -29,11 +29,11 @@ open FStarC.Extraction.ML.Syntax open FStarC.Const open FStarC.Ident open FStarC.Errors -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module UEnv = FStarC.Extraction.ML.UEnv module PC = FStarC.Parser.Const -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module S = FStarC.Syntax.Syntax module N = FStarC.TypeChecker.Normalize module Env = FStarC.TypeChecker.Env @@ -395,9 +395,9 @@ let rec uncurry_mlty_fun t = let list_elements (e:mlexpr) : option (list mlexpr) = let rec list_elements acc e = match e.expr with - | MLE_CTor (([ "Prims" ], "Cons" ), [ hd; tl ]) -> + | MLE_CTor (([ "Fstarcompiler.Prims" ], "Cons" ), [ hd; tl ]) -> list_elements (hd :: acc) tl - | MLE_CTor (([ "Prims" ], "Nil" ), []) -> + | MLE_CTor (([ "Fstarcompiler.Prims" ], "Nil" ), []) -> List.rev acc |> Some | MLE_CTor (([ "Prims" ], "Cons" ), [ hd; tl ]) -> list_elements (hd :: acc) tl diff --git a/src/extraction/FStarC.Extraction.ML.Util.fsti b/src/extraction/FStarC.Extraction.ML.Util.fsti index f69bbec4da0..0a549c41b6f 100644 --- a/src/extraction/FStarC.Extraction.ML.Util.fsti +++ b/src/extraction/FStarC.Extraction.ML.Util.fsti @@ -17,12 +17,12 @@ module FStarC.Extraction.ML.Util open Prims open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives open FStarC.Ident open FStarC.Extraction.ML.Syntax module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util val codegen_fsharp : unit -> bool val pruneNones : list (option 'a) -> list 'a diff --git a/src/extraction/Makefile b/src/extraction/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/extraction/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/fstar/FStarC.CheckedFiles.fst b/src/fstar/FStarC.CheckedFiles.fst index 479a6b43362..4d81f660509 100644 --- a/src/fstar/FStarC.CheckedFiles.fst +++ b/src/fstar/FStarC.CheckedFiles.fst @@ -16,9 +16,9 @@ module FStarC.CheckedFiles open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Class.Show @@ -26,7 +26,7 @@ open FStarC.Class.Show module Syntax = FStarC.Syntax.Syntax module TcEnv = FStarC.TypeChecker.Env module SMT = FStarC.SMTEncoding.Solver -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Dep = FStarC.Parser.Dep let dbg = Debug.get_toggle "CheckedFiles" @@ -138,7 +138,7 @@ let hash_dependences (deps:Dep.deps) (fn:string) :either string (list (string & not (Dep.is_interface fn && Dep.lowercase_module_name fn = module_name)) in let binary_deps = - FStarC.Compiler.List.sortWith + FStarC.List.sortWith (fun fn1 fn2 -> String.compare (Dep.lowercase_module_name fn1) (Dep.lowercase_module_name fn2)) @@ -206,8 +206,13 @@ let load_checked_file (fn:string) (checked_fn:string) :cache_t = if !dbg then BU.print1 "Trying to load checked file result %s\n" checked_fn; let elt = checked_fn |> BU.smap_try_find mcache in - if elt |> is_some then elt |> must //already loaded - else + if elt |> is_some + then ( + //already loaded + if !dbg then + BU.print1 "Already loaded checked file %s\n" checked_fn; + elt |> must + ) else let add_and_return elt = BU.smap_add mcache checked_fn elt; elt in if not (BU.file_exists checked_fn) then let msg = BU.format1 "checked file %s does not exist" checked_fn in @@ -477,8 +482,8 @@ let store_module_to_cache env fn parsing_data tc_result = let open FStarC.Errors in let open FStarC.Errors.Msg in let open FStarC.Pprint in - log_issue (FStarC.Compiler.Range.mk_range fn (FStarC.Compiler.Range.mk_pos 0 0) - (FStarC.Compiler.Range.mk_pos 0 0)) + log_issue (FStarC.Range.mk_range fn (FStarC.Range.mk_pos 0 0) + (FStarC.Range.mk_pos 0 0)) Errors.Warning_FileNotWritten [ text <| BU.format1 "Checked file %s was not written." cache_file; prefix 2 1 (doc_of_string "Reason:") (text msg) diff --git a/src/fstar/FStarC.CheckedFiles.fsti b/src/fstar/FStarC.CheckedFiles.fsti index 3c0d41e83f6..9d1a51d350f 100644 --- a/src/fstar/FStarC.CheckedFiles.fsti +++ b/src/fstar/FStarC.CheckedFiles.fsti @@ -15,10 +15,10 @@ *) module FStarC.CheckedFiles -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.TypeChecker.Env open FStarC.Syntax diff --git a/src/fstar/FStarC.Dependencies.fst b/src/fstar/FStarC.Dependencies.fst index 0cb89b359f4..1672c3ab16e 100644 --- a/src/fstar/FStarC.Dependencies.fst +++ b/src/fstar/FStarC.Dependencies.fst @@ -16,12 +16,8 @@ // A dependency-finding routine module FStarC.Dependencies -open FStarC.Compiler.Effect -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Getopt -open FStarC.Ident +open FStarC +open FStarC.Effect (***********************************************************************) (* Finding the transitive dependencies of a list of files *) diff --git a/src/fstar/FStarC.Dependencies.fsti b/src/fstar/FStarC.Dependencies.fsti new file mode 100644 index 00000000000..64c291b27ee --- /dev/null +++ b/src/fstar/FStarC.Dependencies.fsti @@ -0,0 +1,31 @@ +(* + Copyright 2008-2016 Jonathan Protzenko, 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. +*) + +// A dependency-finding routine +module FStarC.Dependencies +open FStarC.Effect + +(***********************************************************************) +(* Finding the transitive dependencies of a list of files *) +(***********************************************************************) + +(* + * get_parsing_data_from_cache is a callback passed to Parser.Dep for + * getting deps from the checked files + *) +val find_deps_if_needed (files : list string) + (get_parsing_data_from_cache:string -> option Parser.Dep.parsing_data) + : list string & Parser.Dep.deps diff --git a/src/fstar/FStarC.Hooks.fst b/src/fstar/FStarC.Hooks.fst new file mode 100644 index 00000000000..21bcde42e9d --- /dev/null +++ b/src/fstar/FStarC.Hooks.fst @@ -0,0 +1,67 @@ +(* + Copyright 2008-2016 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 FStarC.Hooks + +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util +open FStarC.Ident +open FStarC.Class.Show + +module RE = FStarC.Reflection.V2.Embeddings + +(* This is pretty awful. Now that we have Lazy_embedding, we can get rid of this table. *) +let lazy_chooser (k:Syntax.Syntax.lazy_kind) (i:Syntax.Syntax.lazyinfo) : Syntax.Syntax.term + = match k with + (* TODO: explain *) + | Syntax.Syntax.BadLazy -> failwith "lazy chooser: got a BadLazy" + | Syntax.Syntax.Lazy_bv -> RE.unfold_lazy_bv i + | Syntax.Syntax.Lazy_namedv -> RE.unfold_lazy_namedv i + | Syntax.Syntax.Lazy_binder -> RE.unfold_lazy_binder i + | Syntax.Syntax.Lazy_letbinding -> RE.unfold_lazy_letbinding i + | Syntax.Syntax.Lazy_optionstate -> RE.unfold_lazy_optionstate i + | Syntax.Syntax.Lazy_fvar -> RE.unfold_lazy_fvar i + | Syntax.Syntax.Lazy_comp -> RE.unfold_lazy_comp i + | Syntax.Syntax.Lazy_env -> RE.unfold_lazy_env i + | Syntax.Syntax.Lazy_sigelt -> RE.unfold_lazy_sigelt i + | Syntax.Syntax.Lazy_universe -> RE.unfold_lazy_universe i + + | Syntax.Syntax.Lazy_proofstate -> Tactics.Embedding.unfold_lazy_proofstate i + | Syntax.Syntax.Lazy_goal -> Tactics.Embedding.unfold_lazy_goal i + + | Syntax.Syntax.Lazy_doc -> RE.unfold_lazy_doc i + + | Syntax.Syntax.Lazy_uvar -> FStarC.Syntax.Util.exp_string "((uvar))" + | Syntax.Syntax.Lazy_universe_uvar -> FStarC.Syntax.Util.exp_string "((universe_uvar))" + | Syntax.Syntax.Lazy_issue -> FStarC.Syntax.Util.exp_string "((issue))" + | Syntax.Syntax.Lazy_ident -> FStarC.Syntax.Util.exp_string "((ident))" + | Syntax.Syntax.Lazy_tref -> FStarC.Syntax.Util.exp_string "((tref))" + + | Syntax.Syntax.Lazy_embedding (_, t) -> Thunk.force t + | Syntax.Syntax.Lazy_extension s -> FStarC.Syntax.Util.exp_string (format1 "((extension %s))" s) + +// This is called directly by the Javascript port (it doesn't call Main) +let setup_hooks () = + Syntax.DsEnv.ugly_sigelt_to_string_hook := show; + Errors.set_parse_warn_error Parser.ParseIt.parse_warn_error; + Syntax.Syntax.lazy_chooser := Some lazy_chooser; + Syntax.Util.tts_f := Some show; + Syntax.Util.ttd_f := Some Class.PP.pp; + TypeChecker.Normalize.unembed_binder_knot := Some RE.e_binder; + iter Tactics.Interpreter.register_tactic_primitive_step Tactics.V1.Primops.ops; + iter Tactics.Interpreter.register_tactic_primitive_step Tactics.V2.Primops.ops; + () diff --git a/src/fstar/FStarC.Hooks.fsti b/src/fstar/FStarC.Hooks.fsti new file mode 100644 index 00000000000..9b9a56835da --- /dev/null +++ b/src/fstar/FStarC.Hooks.fsti @@ -0,0 +1,24 @@ +(* + Copyright 2008-2016 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 FStarC.Hooks + +open FStarC.Effect + +(* This function sets ties some know between modules in the compiler source tree, +enabling more recursion and breaking some dependencies. + +This is called directly by the Javascript port (it doesn't call Main) and the ocaml tests. *) +val setup_hooks () : unit diff --git a/src/fstar/FStarC.Interactive.CompletionTable.fst b/src/fstar/FStarC.Interactive.CompletionTable.fst index bbc0fa5cc49..cd09ee4a14d 100644 --- a/src/fstar/FStarC.Interactive.CompletionTable.fst +++ b/src/fstar/FStarC.Interactive.CompletionTable.fst @@ -17,8 +17,8 @@ module FStarC.Interactive.CompletionTable open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect let string_compare s1 s2 = String.compare s1 s2 @@ -379,7 +379,7 @@ let empty : table = // completion of opens and includes, and these take full module paths. // Inclusions handling would have to be reinstated should we wish to also // complete partial names of unloaded (e.g. [open FStar // let x = List._] when -// FStarC.Compiler.List isn't loaded). +// FStarC.List isn't loaded). let insert (tbl: table) (host_query: query) (id: string) (c: lid_symbol) : table = { tbl with tbl_lids = trie_insert tbl.tbl_lids host_query id c } diff --git a/src/fstar/FStarC.Interactive.Ide.Types.fst b/src/fstar/FStarC.Interactive.Ide.Types.fst index 8da8938fb4b..90b534d9568 100644 --- a/src/fstar/FStarC.Interactive.Ide.Types.fst +++ b/src/fstar/FStarC.Interactive.Ide.Types.fst @@ -15,13 +15,11 @@ *) module FStarC.Interactive.Ide.Types -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Getopt open FStarC.Ident open FStarC.Errors @@ -33,135 +31,18 @@ open FStarC.TypeChecker.Common open FStarC.Interactive open FStarC.Parser.ParseIt open FStarC.Class.Show +open FStarC.Json module SS = FStarC.Syntax.Syntax module DsEnv = FStarC.Syntax.DsEnv module TcErr = FStarC.TypeChecker.Err -module TcEnv = FStarC.TypeChecker.Env module CTable = FStarC.Interactive.CompletionTable module PI = FStarC.Parser.ParseIt -module U = FStarC.Compiler.Util +module U = FStarC.Util -(* Importing this module bring FStarC.Json into scope. *) -include FStarC.Json - -(***********************) -(* Global state setup *) -(***********************) let initial_range = Range.mk_range "" (Range.mk_pos 1 0) (Range.mk_pos 1 0) - - -type completion_context = -| CKCode -| CKOption of bool (* #set-options (false) or #reset-options (true) *) -| CKModuleOrNamespace of bool (* modules *) & bool (* namespaces *) - -type lookup_context = -| LKSymbolOnly -| LKModule -| LKOption -| LKCode - -type position = string & int & int - -type push_kind = | SyntaxCheck | LaxCheck | FullCheck - -type push_query = - { - push_kind: push_kind; - push_line: int; - push_column: int; - push_peek_only: bool; - //Either a string: Just the raw content of a document fragment - //Or a parsed document fragment and the raw content it corresponds to - push_code_or_decl: either string (FStarC.Parser.AST.decl & PI.code_fragment) - } - -type lookup_symbol_range = json - -type query_status = | QueryOK | QueryNOK | QueryViolatesProtocol - -(* Types concerning repl *) -type repl_depth_t = TcEnv.tcenv_depth_t & int -type optmod_t = option Syntax.Syntax.modul - -type timed_fname = - { tf_fname: string; - tf_modtime: time_of_day } - -(** Every snapshot pushed in the repl stack is annotated with one of these. The -``LD``-prefixed (“Load Dependencyâ€) onces are useful when loading or updating -dependencies, as they carry enough information to determine whether a dependency -is stale. **) -type repl_task = - | LDInterleaved of timed_fname & timed_fname (* (interface * implementation) *) - | LDSingle of timed_fname (* interface or implementation *) - | LDInterfaceOfCurrentFile of timed_fname (* interface *) - | PushFragment of either PI.input_frag FStarC.Parser.AST.decl (* code fragment *) - & push_kind (* FullCheck, LaxCheck, SyntaxCheck *) - & list json (* any warnings that were raised while checking this fragment *) - | Noop (* Used by compute, PushPartialCheckedFile *) - -type full_buffer_request_kind = - | Full : full_buffer_request_kind - | Lax : full_buffer_request_kind - | Cache : full_buffer_request_kind - | ReloadDeps : full_buffer_request_kind - | VerifyToPosition of position - | LaxToPosition of position - -type query' = -| Exit -| DescribeProtocol -| DescribeRepl -| Segment of string (* File contents *) -| Pop -| Push of push_query -| PushPartialCheckedFile of string (* long declaration name *) -| VfsAdd of option string (* fname *) & string (* contents *) -| AutoComplete of string & completion_context -| Lookup of string & lookup_context & option position & list string & option lookup_symbol_range -| Compute of string & option (list FStarC.TypeChecker.Env.step) -| Search of string -| GenericError of string -| ProtocolViolation of string -// FullBuffer: To check the full contents of a document. -// FStarC.Interactive.Incremental parses it into chunks and turns this into several Push queries -| FullBuffer of string & full_buffer_request_kind & bool //bool is with_symbol -// Callback: This is an internal query, it cannot be raised by a client. -// It is useful to inject operations into the query stream. -// e.g., Incremental uses it print progress messages to the client in between -// processing a stream of Pushes that result from a chunking a FullBuffer -| Callback of callback_t -// Format: pretty-print the F* code in the selection -| Format of string -| RestartSolver -// Cancel: Cancel any remaining pushes that are at or beyond the provided position. -// Cancel all requests if the position is None -| Cancel of option position -and query = { qq: query'; qid: string } -and callback_t = repl_state -> (query_status & list json) & either repl_state int -and repl_state = { - repl_line: int; - repl_column: int; - repl_fname: string; - repl_deps_stack: repl_stack_t; - repl_curmod: optmod_t; - repl_env: TcEnv.env; - repl_stdin: stream_reader; - repl_names: CTable.table; - repl_buffered_input_queries: list query; - repl_lang:FStarC.Universal.lang_decls_t; -} -and repl_stack_t = list repl_stack_entry_t -and repl_stack_entry_t = repl_depth_t & (repl_task & repl_state) - -// Global repl_state, keeping state of different buffers -type grepl_state = { grepl_repls: U.psmap repl_state; grepl_stdin: stream_reader } - - (*************************) (* REPL tasks and states *) (*************************) @@ -190,7 +71,7 @@ let string_of_repl_task = function Util.format1 "PushFragment { decl = %s }" (show d) | Noop -> "Noop {}" -module BU = FStarC.Compiler.Util +module BU = FStarC.Util let string_of_repl_stack_entry : repl_stack_entry_t -> string @@ -235,14 +116,14 @@ let push_query_to_string pq = | Inl code -> code | Inr (_decl, code) -> code.code in - FStarC.Compiler.Util.format "{ push_kind = %s; push_line = %s; \ + FStarC.Util.format "{ push_kind = %s; push_line = %s; \ push_column = %s; push_peek_only = %s; push_code_or_decl = %s }" [pk; string_of_int pq.push_line; string_of_int pq.push_column; string_of_bool pq.push_peek_only; code_or_decl] -let query_to_string q = match q.qq with +let query_to_string (q:query) = match q.qq with | Exit -> "Exit" | DescribeProtocol -> "DescribeProtocol" | DescribeRepl -> "DescribeRepl" diff --git a/src/fstar/FStarC.Interactive.Ide.Types.fsti b/src/fstar/FStarC.Interactive.Ide.Types.fsti new file mode 100644 index 00000000000..f0516eaf719 --- /dev/null +++ b/src/fstar/FStarC.Interactive.Ide.Types.fsti @@ -0,0 +1,159 @@ +(* + Copyright 2008-2016 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 FStarC.Interactive.Ide.Types + +open FStarC +open FStarC +open FStarC.Effect +open FStarC.Util +open FStarC.Range +module PI = FStarC.Parser.ParseIt +module TcEnv = FStarC.TypeChecker.Env +module CTable = FStarC.Interactive.CompletionTable + +(* Importing this module bring FStarC.Json into scope. *) +open FStarC.Json +include FStarC.Json + +(***********************) +(* Global state setup *) +(***********************) +val initial_range : range + +type push_kind = | SyntaxCheck | LaxCheck | FullCheck + +type completion_context = +| CKCode +| CKOption of bool (* #set-options (false) or #reset-options (true) *) +| CKModuleOrNamespace of bool (* modules *) & bool (* namespaces *) + +type lookup_context = +| LKSymbolOnly +| LKModule +| LKOption +| LKCode + +type position = string & int & int + + +type push_query = + { + push_kind: push_kind; + push_line: int; + push_column: int; + push_peek_only: bool; + //Either a string: Just the raw content of a document fragment + //Or a parsed document fragment and the raw content it corresponds to + push_code_or_decl: either string (FStarC.Parser.AST.decl & PI.code_fragment) + } + +type lookup_symbol_range = json + +type query_status = | QueryOK | QueryNOK | QueryViolatesProtocol + +(* Types concerning repl *) +type repl_depth_t = TcEnv.tcenv_depth_t & int +type optmod_t = option Syntax.Syntax.modul + +type timed_fname = + { tf_fname: string; + tf_modtime: time_of_day } + +(** Every snapshot pushed in the repl stack is annotated with one of these. The +``LD``-prefixed (“Load Dependencyâ€) onces are useful when loading or updating +dependencies, as they carry enough information to determine whether a dependency +is stale. **) +type repl_task = + | LDInterleaved of timed_fname & timed_fname (* (interface * implementation) *) + | LDSingle of timed_fname (* interface or implementation *) + | LDInterfaceOfCurrentFile of timed_fname (* interface *) + | PushFragment of either PI.input_frag FStarC.Parser.AST.decl (* code fragment *) + & push_kind (* FullCheck, LaxCheck, SyntaxCheck *) + & list json (* any warnings that were raised while checking this fragment *) + | Noop (* Used by compute, PushPartialCheckedFile *) + +type full_buffer_request_kind = + | Full : full_buffer_request_kind + | Lax : full_buffer_request_kind + | Cache : full_buffer_request_kind + | ReloadDeps : full_buffer_request_kind + | VerifyToPosition of position + | LaxToPosition of position + +type query' = +| Exit +| DescribeProtocol +| DescribeRepl +| Segment of string (* File contents *) +| Pop +| Push of push_query +| PushPartialCheckedFile of string (* long declaration name *) +| VfsAdd of option string (* fname *) & string (* contents *) +| AutoComplete of string & completion_context +| Lookup of string & lookup_context & option position & list string & option lookup_symbol_range +| Compute of string & option (list FStarC.TypeChecker.Env.step) +| Search of string +| GenericError of string +| ProtocolViolation of string +// FullBuffer: To check the full contents of a document. +// FStarC.Interactive.Incremental parses it into chunks and turns this into several Push queries +| FullBuffer of string & full_buffer_request_kind & bool //bool is with_symbol +// Callback: This is an internal query, it cannot be raised by a client. +// It is useful to inject operations into the query stream. +// e.g., Incremental uses it print progress messages to the client in between +// processing a stream of Pushes that result from a chunking a FullBuffer +| Callback of callback_t +// Format: pretty-print the F* code in the selection +| Format of string +| RestartSolver +// Cancel: Cancel any remaining pushes that are at or beyond the provided position. +// Cancel all requests if the position is None +| Cancel of option position +and query = { qq: query'; qid: string } +and callback_t = repl_state -> (query_status & list json) & either repl_state int +and repl_state = { + repl_line: int; + repl_column: int; + repl_fname: string; + repl_deps_stack: repl_stack_t; + repl_curmod: optmod_t; + repl_env: TcEnv.env; + repl_stdin: stream_reader; + repl_names: CTable.table; + repl_buffered_input_queries: list query; + repl_lang:FStarC.Universal.lang_decls_t; +} +and repl_stack_t = list repl_stack_entry_t +and repl_stack_entry_t = repl_depth_t & (repl_task & repl_state) + +// Global repl_state, keeping state of different buffers +type grepl_state = { grepl_repls: psmap repl_state; grepl_stdin: stream_reader } + +val query_to_string : query -> string + +val string_of_repl_task : repl_task -> string + +val json_of_issue : FStarC.Errors.issue -> json + +val js_pushkind : json -> push_kind +val js_reductionrule : json -> FStarC.TypeChecker.Env.step +val js_optional_completion_context : option json -> completion_context +val js_optional_lookup_context : option json -> lookup_context + +val query_needs_current_module : query' -> bool +val interactive_protocol_vernum : int +val interactive_protocol_features : list string diff --git a/src/fstar/FStarC.Interactive.Ide.fst b/src/fstar/FStarC.Interactive.Ide.fst index ee4f30978da..cdcce539f6e 100644 --- a/src/fstar/FStarC.Interactive.Ide.fst +++ b/src/fstar/FStarC.Interactive.Ide.fst @@ -15,13 +15,11 @@ *) module FStarC.Interactive.Ide -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Getopt open FStarC.Ident open FStarC.Errors @@ -29,7 +27,7 @@ open FStarC.Interactive.JsonHelper open FStarC.Interactive.QueryHelper open FStarC.Interactive.PushHelper open FStarC.Interactive.Ide.Types -module BU = FStarC.Compiler.Util +module BU = FStarC.Util let dbg = Debug.get_toggle "IDE" @@ -46,6 +44,9 @@ module TcEnv = FStarC.TypeChecker.Env module CTable = FStarC.Interactive.CompletionTable module QH = FStarC.Interactive.QueryHelper +// NOTE! This is not FStarC.Errors.json_of_issue +let json_of_issue = FStarC.Interactive.Ide.Types.json_of_issue + let with_captured_errors' env sigint_handler f = try Util.with_sigint_handler sigint_handler (fun _ -> f env) @@ -1191,7 +1192,7 @@ let js_repl_eval_str st query_str = let js_repl_init_opts () = let res, fnames = Options.parse_cmd_line () in match res with - | Getopt.Error msg -> failwith ("repl_init: " ^ msg) + | Getopt.Error (msg, _) -> failwith ("repl_init: " ^ msg) | Getopt.Help -> failwith "repl_init: --help unexpected" | Getopt.Success -> match fnames with @@ -1235,7 +1236,7 @@ let interactive_printer printer = forward_message printer label (get_json ())) } let install_ide_mode_hooks printer = - FStarC.Compiler.Util.set_printer (interactive_printer printer); + FStarC.Util.set_printer (interactive_printer printer); FStarC.Errors.set_handler interactive_error_handler diff --git a/src/fstar/FStarC.Interactive.Ide.fsti b/src/fstar/FStarC.Interactive.Ide.fsti new file mode 100644 index 00000000000..48c1e92968f --- /dev/null +++ b/src/fstar/FStarC.Interactive.Ide.fsti @@ -0,0 +1,21 @@ +(* + Copyright 2008-2016 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 FStarC.Interactive.Ide + +open FStarC.Effect + +val interactive_mode (filename:string): unit diff --git a/src/fstar/FStarC.Interactive.Incremental.fst b/src/fstar/FStarC.Interactive.Incremental.fst index 551ff5716f3..dab0f039a97 100644 --- a/src/fstar/FStarC.Interactive.Incremental.fst +++ b/src/fstar/FStarC.Interactive.Incremental.fst @@ -16,12 +16,12 @@ module FStarC.Interactive.Incremental open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Range +open FStarC.Util open FStarC.Getopt open FStarC.Ident open FStarC.Errors @@ -40,7 +40,7 @@ module TcEnv = FStarC.TypeChecker.Env module CTable = FStarC.Interactive.CompletionTable open FStarC.Interactive.Ide.Types module P = FStarC.Parser.ParseIt -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.Parser.AST open FStarC.Parser.AST.Util @@ -120,7 +120,7 @@ let push_decl (push_kind:push_kind) (write_full_buffer_fragment_progress: fragment_progress -> unit) (ds:decl & code_fragment) : qst (list query) - = let open FStarC.Compiler.Range in + = let open FStarC.Range in let d, s = ds in let pq = { push_kind; diff --git a/src/fstar/FStarC.Interactive.Incremental.fsti b/src/fstar/FStarC.Interactive.Incremental.fsti index 3682d01c02b..1704f5ac797 100644 --- a/src/fstar/FStarC.Interactive.Incremental.fsti +++ b/src/fstar/FStarC.Interactive.Incremental.fsti @@ -16,14 +16,14 @@ module FStarC.Interactive.Incremental open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Parser.AST open FStarC.Errors open FStarC.Interactive.Ide.Types -open FStarC.Compiler.Util +open FStarC.Util (* Various kinds of progress messages to print back to the client *) type fragment_progress = diff --git a/src/fstar/FStarC.Interactive.JsonHelper.fst b/src/fstar/FStarC.Interactive.JsonHelper.fst index a9b952acf56..3e45ad009f9 100644 --- a/src/fstar/FStarC.Interactive.JsonHelper.fst +++ b/src/fstar/FStarC.Interactive.JsonHelper.fst @@ -19,16 +19,16 @@ module FStarC.Interactive.JsonHelper open FStar open FStarC -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC +open FStarC.Util open FStarC.Errors -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Json open FStarC.TypeChecker.Env -module U = FStarC.Compiler.Util +module U = FStarC.Util module PI = FStarC.Parser.ParseIt module TcEnv = FStarC.TypeChecker.Env module CTable = FStarC.Interactive.CompletionTable diff --git a/src/fstar/FStarC.Interactive.JsonHelper.fsti b/src/fstar/FStarC.Interactive.JsonHelper.fsti index 9b20833e5cb..120b4ae5a7a 100644 --- a/src/fstar/FStarC.Interactive.JsonHelper.fsti +++ b/src/fstar/FStarC.Interactive.JsonHelper.fsti @@ -19,10 +19,10 @@ module FStarC.Interactive.JsonHelper open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors open FStarC.Json -open FStarC.Compiler.Util +open FStarC.Util // Type of an associative array type assoct = list (string & json) diff --git a/src/fstar/FStarC.Interactive.Legacy.fst b/src/fstar/FStarC.Interactive.Legacy.fst index 8bc35d721b5..3d39824402e 100644 --- a/src/fstar/FStarC.Interactive.Legacy.fst +++ b/src/fstar/FStarC.Interactive.Legacy.fst @@ -15,12 +15,11 @@ *) module FStarC.Interactive.Legacy -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Getopt open FStarC.Ident @@ -399,12 +398,12 @@ let rec go (line_col:(int&int)) //Q: isn't the output list ident always the same as the candidate? // About the degree of the match, cpitclaudel says: // Because we're measuring the length of the match and we allow partial - // matches. Say we're matching FS.Li.app against FStarC.Compiler.List.Append. Then + // matches. Say we're matching FS.Li.app against FStarC.List.Append. Then // the length we want is (length "FStar" + 1 + length "List" + 1 + length // "app"), not (length "FStar" + 1 + length "List" + 1 + length // "append"). This length is used to know how much of the candidate to // highlight in the company-mode popup (we want to display the candidate - // as FStarC.Compiler.List.append. + // as FStarC.List.append. = fun search_term candidate -> match search_term, candidate with | [], _ -> Some ([], 0) diff --git a/src/fstar/FStarC.Interactive.Legacy.fsti b/src/fstar/FStarC.Interactive.Legacy.fsti new file mode 100644 index 00000000000..6b036da914e --- /dev/null +++ b/src/fstar/FStarC.Interactive.Legacy.fsti @@ -0,0 +1,20 @@ +(* + Copyright 2008-2016 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 FStarC.Interactive.Legacy +open FStarC.Effect + +val interactive_mode (filename:string) : unit diff --git a/src/fstar/FStarC.Interactive.Lsp.fst b/src/fstar/FStarC.Interactive.Lsp.fst index a5b4401ed2b..a7ebcbb1d3f 100644 --- a/src/fstar/FStarC.Interactive.Lsp.fst +++ b/src/fstar/FStarC.Interactive.Lsp.fst @@ -16,17 +16,17 @@ module FStarC.Interactive.Lsp open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.Util -open FStarC.Compiler.Range +open FStarC.Effect +open FStarC.Util +open FStarC.Range open FStarC.Errors open FStarC.Universal open FStarC.Interactive.Ide.Types open FStarC.Interactive.JsonHelper -module U = FStarC.Compiler.Util +module U = FStarC.Util module QH = FStarC.Interactive.QueryHelper module PH = FStarC.Interactive.PushHelper module PI = FStarC.Parser.ParseIt diff --git a/src/fstar/FStarC.Interactive.Lsp.fsti b/src/fstar/FStarC.Interactive.Lsp.fsti new file mode 100644 index 00000000000..5d6e1e586b8 --- /dev/null +++ b/src/fstar/FStarC.Interactive.Lsp.fsti @@ -0,0 +1,20 @@ +(* + Copyright 2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStarC.Interactive.Lsp + +open FStarC.Effect + +val start_server () : unit diff --git a/src/fstar/FStarC.Interactive.PushHelper.fst b/src/fstar/FStarC.Interactive.PushHelper.fst index 8f3f34bc9d9..d04aa6216cd 100644 --- a/src/fstar/FStarC.Interactive.PushHelper.fst +++ b/src/fstar/FStarC.Interactive.PushHelper.fst @@ -19,11 +19,11 @@ module FStarC.Interactive.PushHelper open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Ident open FStarC.Errors open FStarC.Universal @@ -32,7 +32,7 @@ open FStarC.TypeChecker.Env open FStarC.Interactive.JsonHelper open FStarC.Interactive.Ide.Types -module U = FStarC.Compiler.Util +module U = FStarC.Util module SS = FStarC.Syntax.Syntax module DsEnv = FStarC.Syntax.DsEnv module TcErr = FStarC.TypeChecker.Err diff --git a/src/fstar/FStarC.Interactive.PushHelper.fsti b/src/fstar/FStarC.Interactive.PushHelper.fsti index 7858a8abfb5..551ed1917ca 100644 --- a/src/fstar/FStarC.Interactive.PushHelper.fsti +++ b/src/fstar/FStarC.Interactive.PushHelper.fsti @@ -19,10 +19,10 @@ module FStarC.Interactive.PushHelper open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.Util open FStarC.Ident open FStarC.TypeChecker.Env open FStarC.Interactive.JsonHelper diff --git a/src/fstar/FStarC.Interactive.QueryHelper.fst b/src/fstar/FStarC.Interactive.QueryHelper.fst index fe32f40d39b..a7c5db17e8e 100644 --- a/src/fstar/FStarC.Interactive.QueryHelper.fst +++ b/src/fstar/FStarC.Interactive.QueryHelper.fst @@ -18,19 +18,19 @@ * queries; this file collects helpers for them *) module FStarC.Interactive.QueryHelper -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC.Range +open FStarC.Util open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common open FStarC.Interactive.JsonHelper open FStarC.Interactive.CompletionTable -module U = FStarC.Compiler.Util +module U = FStarC.Util module PI = FStarC.Parser.ParseIt module DsEnv = FStarC.Syntax.DsEnv module TcErr = FStarC.TypeChecker.Err diff --git a/src/fstar/FStarC.Interactive.QueryHelper.fsti b/src/fstar/FStarC.Interactive.QueryHelper.fsti index feb83433d07..57680e6b436 100644 --- a/src/fstar/FStarC.Interactive.QueryHelper.fsti +++ b/src/fstar/FStarC.Interactive.QueryHelper.fsti @@ -19,9 +19,9 @@ module FStarC.Interactive.QueryHelper open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Range +open FStarC.Util open FStarC.TypeChecker.Env open FStarC.Interactive.JsonHelper open FStarC.Interactive.Ide.Types diff --git a/src/fstar/FStarC.Main.fst b/src/fstar/FStarC.Main.fst index 5612b1fea89..6a73d653fb5 100644 --- a/src/fstar/FStarC.Main.fst +++ b/src/fstar/FStarC.Main.fst @@ -15,14 +15,14 @@ *) module FStarC.Main open FStarC -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Getopt open FStarC.Ident open FStarC.CheckedFiles open FStarC.Universal -open FStarC.Compiler +open FStarC open FStarC.Class.Show @@ -129,14 +129,28 @@ let set_error_trap () = in set_sigint_handler (sigint_handler_f h') +let print_help_for (o : string) : unit = + match Options.help_for_option o with + | None -> () + | Some doc -> Util.print_error (Errors.Msg.renderdoc doc) + (* Normal mode with some flags, files, etc *) let go_normal () = let res, filenames = process_args () in + let check_no_filenames opt = + if Cons? filenames then ( + Util.print1_error "error: No filenames should be passed with option %s\n" opt; + exit 1 + ) + in if Options.trace_error () then set_error_trap (); match res with | Empty -> Options.display_usage(); exit 1 | Help -> Options.display_usage(); exit 0 - | Error msg -> Util.print_error msg; exit 1 + | Error (msg, opt) -> + Util.print_error ("error: " ^ msg); + print_help_for opt; + exit 1 | Success when Options.print_cache_version () -> Util.print1 "F* cache version number: %s\n" @@ -152,9 +166,6 @@ let go_normal () = (* --print: Emit files in canonical source syntax *) | Success when Options.print () || Options.print_in_place () -> - if not Platform.is_fstar_compiler_using_ocaml then - failwith "You seem to be using the F#-generated version of the compiler ; \o - reindenting is not known to work yet with this version"; let printing_mode = if Options.print () then Prettyprint.FromTempToStdout @@ -204,11 +215,14 @@ let go_normal () = Util.print1 "Registered tactic plugins:\n%s\n" (String.concat "\n" (List.map (fun p -> " " ^ show p.TypeChecker.Primops.Base.name) ts)); () - (* --locate, --locate_lib, --locate_ocaml *) + (* --locate, --locate_lib, --locate_ocaml, --locate_file *) | Success when Options.locate () -> + check_no_filenames "--locate"; Util.print1 "%s\n" (Find.locate ()); exit 0 + | Success when Options.locate_lib () -> ( + check_no_filenames "--locate_lib"; match Find.locate_lib () with | None -> Util.print_error "No library found (is --no_default_includes set?)\n"; @@ -217,10 +231,40 @@ let go_normal () = Util.print1 "%s\n" s; exit 0 ) + | Success when Options.locate_ocaml () -> + check_no_filenames "--locate_ocaml"; Util.print1 "%s\n" (Find.locate_ocaml ()); exit 0 + | Success when Some? (Options.locate_file ()) -> ( + check_no_filenames "--locate_file"; + let f = Some?.v (Options.locate_file ()) in + match Find.find_file f with + | None -> + Util.print1_error "File %s was not found in include path.\n" f; + exit 1 + | Some fn -> + Util.print1 "%s\n" (Util.normalize_file_path fn); + exit 0 + ) + + | Success when Some? (Options.locate_z3 ()) -> ( + check_no_filenames "--locate_z3"; + let v = Some?.v (Options.locate_z3 ()) in + match Find.locate_z3 v with + | None -> + // Use an actual error to reuse the pretty printing. + Errors.log_issue0 Errors.Error_Z3InvocationError ([ + Errors.Msg.text <| Util.format1 "Z3 version '%s' was not found." v; + ] @ Find.z3_install_suggestion v); + report_errors []; // but make sure to report. + exit 1 + | Some fn -> + Util.print1 "%s\n" fn; + exit 0 + ) + (* either batch or interactive mode *) | Success -> fstar_files := Some filenames; @@ -306,49 +350,6 @@ let go () = OCaml.exec_ocamlopt_plugin rest | _ -> go_normal () - -(* This is pretty awful. Now that we have Lazy_embedding, we can get rid of this table. *) -let lazy_chooser (k:Syntax.Syntax.lazy_kind) (i:Syntax.Syntax.lazyinfo) : Syntax.Syntax.term - = match k with - (* TODO: explain *) - | FStarC.Syntax.Syntax.BadLazy -> failwith "lazy chooser: got a BadLazy" - | FStarC.Syntax.Syntax.Lazy_bv -> RE.unfold_lazy_bv i - | FStarC.Syntax.Syntax.Lazy_namedv -> RE.unfold_lazy_namedv i - | FStarC.Syntax.Syntax.Lazy_binder -> RE.unfold_lazy_binder i - | FStarC.Syntax.Syntax.Lazy_letbinding -> RE.unfold_lazy_letbinding i - | FStarC.Syntax.Syntax.Lazy_optionstate -> RE.unfold_lazy_optionstate i - | FStarC.Syntax.Syntax.Lazy_fvar -> RE.unfold_lazy_fvar i - | FStarC.Syntax.Syntax.Lazy_comp -> RE.unfold_lazy_comp i - | FStarC.Syntax.Syntax.Lazy_env -> RE.unfold_lazy_env i - | FStarC.Syntax.Syntax.Lazy_sigelt -> RE.unfold_lazy_sigelt i - | FStarC.Syntax.Syntax.Lazy_universe -> RE.unfold_lazy_universe i - - | FStarC.Syntax.Syntax.Lazy_proofstate -> Tactics.Embedding.unfold_lazy_proofstate i - | FStarC.Syntax.Syntax.Lazy_goal -> Tactics.Embedding.unfold_lazy_goal i - - | FStarC.Syntax.Syntax.Lazy_doc -> RE.unfold_lazy_doc i - - | FStarC.Syntax.Syntax.Lazy_uvar -> FStarC.Syntax.Util.exp_string "((uvar))" - | FStarC.Syntax.Syntax.Lazy_universe_uvar -> FStarC.Syntax.Util.exp_string "((universe_uvar))" - | FStarC.Syntax.Syntax.Lazy_issue -> FStarC.Syntax.Util.exp_string "((issue))" - | FStarC.Syntax.Syntax.Lazy_ident -> FStarC.Syntax.Util.exp_string "((ident))" - | FStarC.Syntax.Syntax.Lazy_tref -> FStarC.Syntax.Util.exp_string "((tref))" - - | FStarC.Syntax.Syntax.Lazy_embedding (_, t) -> Thunk.force t - | FStarC.Syntax.Syntax.Lazy_extension s -> FStarC.Syntax.Util.exp_string (format1 "((extension %s))" s) - -// This is called directly by the Javascript port (it doesn't call Main) -let setup_hooks () = - FStarC.Syntax.DsEnv.ugly_sigelt_to_string_hook := show; - FStarC.Errors.set_parse_warn_error FStarC.Parser.ParseIt.parse_warn_error; - FStarC.Syntax.Syntax.lazy_chooser := Some lazy_chooser; - FStarC.Syntax.Util.tts_f := Some show; - FStarC.Syntax.Util.ttd_f := Some Class.PP.pp; - FStarC.TypeChecker.Normalize.unembed_binder_knot := Some RE.e_binder; - List.iter Tactics.Interpreter.register_tactic_primitive_step Tactics.V1.Primops.ops; - List.iter Tactics.Interpreter.register_tactic_primitive_step Tactics.V2.Primops.ops; - () - let handle_error e = if FStarC.Errors.handleable e then FStarC.Errors.err_exn e; @@ -361,11 +362,11 @@ let handle_error e = let main () = try - setup_hooks (); + Hooks.setup_hooks (); let _, time = Util.record_time_ms go in if FStarC.Options.query_stats() then Util.print2_error "TOTAL TIME %s ms: %s\n" - (FStarC.Compiler.Util.string_of_int time) + (FStarC.Util.string_of_int time) (String.concat " " (FStarC.Getopt.cmdline())); cleanup (); exit 0 diff --git a/src/fstar/FStarC.OCaml.fst b/src/fstar/FStarC.OCaml.fst index 53c59f8d690..d455fbcc70c 100644 --- a/src/fstar/FStarC.OCaml.fst +++ b/src/fstar/FStarC.OCaml.fst @@ -17,8 +17,8 @@ module FStarC.OCaml open FStarC open FStar.List.Tot.Base -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect let shellescape (s:string) : string = String.list_of_string s |> @@ -30,24 +30,26 @@ let shellescape (s:string) : string = let new_ocamlpath () : string = let ocamldir = Find.locate_ocaml () in + let sep = match Platform.system with + | Platform.Windows -> ";" + | Platform.Posix -> ":" + in let old_ocamlpath = Util.dflt "" (Util.expand_environment_variable "OCAMLPATH") in - let new_ocamlpath = ocamldir ^ ":" ^ old_ocamlpath in + let new_ocamlpath = ocamldir ^ sep ^ old_ocamlpath in new_ocamlpath let exec_in_ocamlenv #a (cmd : string) (args : list string) : a = let new_ocamlpath = new_ocamlpath () in - if Platform.system = Platform.Windows then ( - Errors.raise_error0 Errors.Fatal_OptionsNotCompatible [ - Errors.text "--ocamlenv is not supported on Windows (yet?)" - ] - ); - (* Update OCAMLPATH and run (exec) the command *) + (* Update OCAMLPATH and run the command *) Util.putenv "OCAMLPATH" new_ocamlpath; - Util.execvp cmd (cmd :: args); - failwith "execvp failed" + let pid = Util.create_process cmd (cmd :: args) in + let rc = Util.waitpid pid in + match rc with + | Inl rc -> exit rc + | Inr _ -> exit 1 let app_lib = "fstar.lib" -let plugin_lib = "fstar.lib" +let plugin_lib = "fstar.pluginlib" (* OCaml Warning 8: this pattern-matching is not exhaustive. This is usually benign as we check for exhaustivenss via SMT. *) diff --git a/src/fstar/FStarC.OCaml.fsti b/src/fstar/FStarC.OCaml.fsti index 9b095824b3a..7c7e63a0a92 100644 --- a/src/fstar/FStarC.OCaml.fsti +++ b/src/fstar/FStarC.OCaml.fsti @@ -15,7 +15,7 @@ *) module FStarC.OCaml -open FStarC.Compiler.Effect +open FStarC.Effect (* Escape a string for use in a shell command, expecting to be wrapped in SINGLE quotes. *) val shellescape (s:string) : string @@ -41,6 +41,6 @@ arguments. *) val exec_ocamlopt #a (args : list string) : a (* Run ocamlc passing appropriate flags to generate an F* plugin, -using fstar_plugin_lib. Expects the source file and further options as +using fstar.pluginlib. Expects the source file and further options as arguments. *) val exec_ocamlopt_plugin #a (args : list string) : a diff --git a/src/fstar/FStarC.Prettyprint.fst b/src/fstar/FStarC.Prettyprint.fst index 87031c0ad8d..c76e9667483 100644 --- a/src/fstar/FStarC.Prettyprint.fst +++ b/src/fstar/FStarC.Prettyprint.fst @@ -15,19 +15,14 @@ *) module FStarC.Prettyprint -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Parser.ToDocument -module List = FStarC.Compiler.List +module List = FStarC.List module D = FStarC.Parser.Driver module P = FStarC.Pprint -type printing_mode = - | ToTempFile - | FromTempToStdout - | FromTempToFile - let temp_file_name f = format1 "%s.print_.fst" f let generate (m: printing_mode) filenames = @@ -53,7 +48,7 @@ let generate (m: printing_mode) filenames = comments in let left_over_doc = - if not (FStarC.Compiler.List.isEmpty leftover_comments) then + if not (FStarC.List.isEmpty leftover_comments) then P.concat [P.hardline ; P.hardline ; comments_to_document leftover_comments] else if m = FromTempToStdout then // This isn't needed for FromTempToFile, when using `append_to_file` a newline is added to EoF diff --git a/src/fstar/FStarC.Prettyprint.fsti b/src/fstar/FStarC.Prettyprint.fsti new file mode 100644 index 00000000000..ba31030134d --- /dev/null +++ b/src/fstar/FStarC.Prettyprint.fsti @@ -0,0 +1,26 @@ +(* + 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 FStarC.Prettyprint + +open FStarC.Effect + +type printing_mode = + | ToTempFile + | FromTempToStdout + | FromTempToFile + +val generate (m: printing_mode) (filenames : list string) : unit diff --git a/src/fstar/FStarC.Universal.fst b/src/fstar/FStarC.Universal.fst index c6436407bf3..575a2ec4d13 100644 --- a/src/fstar/FStarC.Universal.fst +++ b/src/fstar/FStarC.Universal.fst @@ -17,12 +17,12 @@ //Top-level invocations into the universal type-checker FStarC.TypeChecker module FStarC.Universal open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Getopt open FStarC.Ident open FStarC.Syntax.Syntax @@ -47,7 +47,7 @@ module Const = FStarC.Parser.Const module Pars = FStarC.Parser.ParseIt module Tc = FStarC.TypeChecker.Tc module TcTerm = FStarC.TypeChecker.TcTerm -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Dep = FStarC.Parser.Dep module NBE = FStarC.TypeChecker.NBE module Ch = FStarC.CheckedFiles @@ -304,13 +304,14 @@ let emit dep_graph (mllibs:list (uenv & MLSyntax.mllib)) = let ext = match opt with | Some Options.FSharp -> ".fs" | Some Options.OCaml - | Some Options.Plugin -> ".ml" + | Some Options.Plugin + | Some Options.PluginNoLib -> ".ml" | Some Options.Krml -> ".krml" | Some Options.Extension -> ".ast" | _ -> fail () in match opt with - | Some Options.FSharp | Some Options.OCaml | Some Options.Plugin -> + | Some Options.FSharp | Some Options.OCaml | Some Options.Plugin | Some Options.PluginNoLib -> (* When bootstrapped in F#, this will use the old printer in FStarC.Extraction.ML.Code for both OCaml and F# extraction. When bootstarpped in OCaml, this will use the old printer @@ -381,7 +382,7 @@ let tc_one_file | Some tgt -> if not (Options.should_extract (string_of_lid tcmod.name) tgt) then None, 0 - else FStarC.Compiler.Util.record_time_ms (fun () -> + else FStarC.Util.record_time_ms (fun () -> with_env env (fun env -> let _, defs = FStarC.Extraction.ML.Modul.extract env tcmod in defs) @@ -391,7 +392,7 @@ let tc_one_file if Options.codegen() = None then env, 0 else - FStarC.Compiler.Util.record_time_ms (fun () -> + FStarC.Util.record_time_ms (fun () -> let env, _ = with_env env (fun env -> FStarC.Extraction.ML.Modul.extract_iface env tcmod) in env @@ -494,7 +495,7 @@ let tc_one_file then BU.print1 "Module after type checking:\n%s\n" (show tcmod); let extend_tcenv tcmod tcenv = - if not (Options.lax()) then FStarC.SMTEncoding.Z3.refresh None; + FStarC.SMTEncoding.Z3.refresh None; let _, tcenv = with_dsenv_of_tcenv tcenv <| FStarC.ToSyntax.ToSyntax.add_modul_to_env @@ -559,8 +560,8 @@ let needs_interleaving intf impl = let m1 = Parser.Dep.lowercase_module_name intf in let m2 = Parser.Dep.lowercase_module_name impl in m1 = m2 && - List.mem (FStarC.Compiler.Util.get_file_extension intf) ["fsti"; "fsi"] && - List.mem (FStarC.Compiler.Util.get_file_extension impl) ["fst"; "fs"] + List.mem (FStarC.Util.get_file_extension intf) ["fsti"; "fsi"] && + List.mem (FStarC.Util.get_file_extension impl) ["fst"; "fs"] let tc_one_file_from_remaining (remaining:list string) (env:uenv) (deps:FStarC.Parser.Dep.deps) //used to query parsing data @@ -605,10 +606,10 @@ let rec tc_fold_interleave (deps:FStarC.Parser.Dep.deps) //used to query parsin let dbg_dep = Debug.get_toggle "Dep" let batch_mode_tc filenames dep_graph = if !dbg_dep then begin - FStarC.Compiler.Util.print_endline "Auto-deps kicked in; here's some info."; - FStarC.Compiler.Util.print1 "Here's the list of filenames we will process: %s\n" + FStarC.Util.print_endline "Auto-deps kicked in; here's some info."; + FStarC.Util.print1 "Here's the list of filenames we will process: %s\n" (String.concat " " filenames); - FStarC.Compiler.Util.print1 "Here's the list of modules we will verify: %s\n" + FStarC.Util.print1 "Here's the list of modules we will verify: %s\n" (String.concat " " (filenames |> List.filter Options.should_verify_file)) end; let env = FStarC.Extraction.ML.UEnv.new_uenv (init_env dep_graph) in diff --git a/src/fstar/FStarC.Universal.fsti b/src/fstar/FStarC.Universal.fsti index 01eee7432ea..e6dcd6ac709 100644 --- a/src/fstar/FStarC.Universal.fsti +++ b/src/fstar/FStarC.Universal.fsti @@ -17,7 +17,7 @@ //Top-level invocations into the universal type-checker FStarC.TypeChecker module FStarC.Universal -open FStar open FStarC.Compiler +open FStar open FStarC open FStarC.Ident open FStarC.CheckedFiles module DsEnv = FStarC.Syntax.DsEnv diff --git a/src/fstar/Makefile b/src/fstar/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/fstar/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/ocaml/fstar-lib/FStarC_BaseTypes.ml b/src/ml/bare/FStarC_BaseTypes.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_BaseTypes.ml rename to src/ml/bare/FStarC_BaseTypes.ml diff --git a/ocaml/fstar-lib/FStarC_BigInt.ml b/src/ml/bare/FStarC_BigInt.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_BigInt.ml rename to src/ml/bare/FStarC_BigInt.ml diff --git a/src/ml/bare/FStarC_Bytes.ml b/src/ml/bare/FStarC_Bytes.ml new file mode 100644 index 00000000000..7815e7b6e3d --- /dev/null +++ b/src/ml/bare/FStarC_Bytes.ml @@ -0,0 +1,111 @@ +let b0 n = (n land 0xFF) +let b1 n = ((n lsr 8) land 0xFF) +let b2 n = ((n lsr 16) land 0xFF) +let b3 n = ((n lsr 24) land 0xFF) + +let dWw1 n = BatInt64.to_int (BatInt64.logand (BatInt64.shift_right n 32) 0xFFFFFFFFL) +let dWw0 n = BatInt64.to_int (BatInt64.logand n 0xFFFFFFFFL) + +type bytes = int array + +let f_encode f (b:bytes) = String.concat "" (Array.to_list (Array.map f b)) +let length (b:bytes) = BatArray.length b +let get (b:bytes) n = Z.of_int (BatArray.get b (Z.to_int n)) +let make (f : _ -> Z.t) n = BatArray.init (Z.to_int n) (fun i -> Z.to_int (f (Z.of_int i))) +let zero_create n : bytes = BatArray.make n 0 + +let sub ( b:bytes) s l = BatArray.sub b s l +let set = BatArray.set +let blit (a:bytes) b c d e = BatArray.blit a b c d e +let string_as_unicode_bytes (s:string) = FStarC_Util.unicode_of_string s +let utf8_bytes_as_string (b:bytes) = FStarC_Util.string_of_unicode b +let unicode_bytes_as_string (b:bytes) = FStarC_Util.string_of_unicode b +let compare (b1:bytes) (b2:bytes) = compare b1 b2 + +let to_intarray (b:bytes) = b +let of_intarray (arr:int array) = arr + +let string_as_utf8_bytes (s:string) = FStarC_Util.unicode_of_string s + +let append (b1: bytes) (b2:bytes) = BatArray.append b1 b2 + +type bytebuf = + { mutable bbArray: bytes; + mutable bbCurrent: int } + +module Bytebuf = struct + let create sz = + { bbArray=zero_create sz; + bbCurrent = 0; } + + let ensure_bytebuf buf new_size = + let old_buf_size = BatArray.length buf.bbArray in + if new_size > old_buf_size then ( + let old = buf.bbArray in + buf.bbArray <- zero_create (max new_size (old_buf_size * 2)); + blit old 0 buf.bbArray 0 buf.bbCurrent + ) + + let close buf = sub buf.bbArray 0 buf.bbCurrent + + let emit_int_as_byte buf i = + let new_size = buf.bbCurrent + 1 in + ensure_bytebuf buf new_size; + set buf.bbArray buf.bbCurrent i; + buf.bbCurrent <- new_size + + let emit_byte buf (b:char) = emit_int_as_byte buf (int_of_char b) + let emit_bool_as_byte buf (b:bool) = emit_int_as_byte buf (if b then 1 else 0) + + let emit_bytes buf i = + let n = length i in + let new_size = buf.bbCurrent + n in + ensure_bytebuf buf new_size; + blit i 0 buf.bbArray buf.bbCurrent n; + buf.bbCurrent <- new_size + + let emit_i32_as_u16 buf n = + let new_size = buf.bbCurrent + 2 in + ensure_bytebuf buf new_size; + set buf.bbArray buf.bbCurrent (b0 n); + set buf.bbArray (buf.bbCurrent + 1) (b1 n); + buf.bbCurrent <- new_size + + (* let emit_u16 buf (x:uint16) = emit_i32_as_u16 buf (BatInt64.to_int x) *) + + let fixup_i32 bb pos n = + set bb.bbArray pos (b0 n); + set bb.bbArray (pos + 1) (b1 n); + set bb.bbArray (pos + 2) (b2 n); + set bb.bbArray (pos + 3) (b3 n) + + let emit_i32 buf n = + let new_size = buf.bbCurrent + 4 in + ensure_bytebuf buf new_size; + fixup_i32 buf buf.bbCurrent n; + buf.bbCurrent <- new_size + + let emit_i64 buf x = + emit_i32 buf (dWw0 x); + emit_i32 buf (dWw1 x) + + let emit_intarray_as_bytes buf arr = + let n = BatArray.length arr in + let new_size = buf.bbCurrent + n in + ensure_bytebuf buf new_size; + let bbarr = buf.bbArray in + let bbbase = buf.bbCurrent in + for i= 0 to n - 1 do set bbarr (bbbase + i) (BatArray.get arr i) done; + buf.bbCurrent <- new_size + + let length bb = bb.bbCurrent + let position bb = bb.bbCurrent + +end + +let create i = Bytebuf.create i +let close t = Bytebuf.close t +let emit_int_as_byte t i = Bytebuf.emit_int_as_byte t (Z.to_int i) +let emit_bytes t b = Bytebuf.emit_bytes t b + +let length x = Z.of_int (length x) diff --git a/ocaml/fstar-lib/FStarC_Dyn.ml b/src/ml/bare/FStarC_Dyn.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Dyn.ml rename to src/ml/bare/FStarC_Dyn.ml diff --git a/ocaml/fstar-lib/FStarC_Compiler_Effect.ml b/src/ml/bare/FStarC_Effect.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Compiler_Effect.ml rename to src/ml/bare/FStarC_Effect.ml diff --git a/src/ml/bare/FStarC_Extraction_ML_PrintML.ml b/src/ml/bare/FStarC_Extraction_ML_PrintML.ml new file mode 100644 index 00000000000..74b57826fd9 --- /dev/null +++ b/src/ml/bare/FStarC_Extraction_ML_PrintML.ml @@ -0,0 +1,566 @@ +open List +open Lexing +open Ppxlib_ast +open Astlib.Ast_500.Parsetree +open Location +open Pprintast +open Ast_helper +open Astlib.Ast_500.Asttypes +open Longident + +open FStarC_Extraction_ML_Syntax + +(* Global state used for the name of the ML module being pprinted. + current_module is only set once in build_ast and read once in + path_to_ident. This is done in order to avoid clutter. *) +let current_module = ref "" + + +let flatmap f l = map f l |> List.flatten +let opt_to_list = function Some x -> [x] | None -> [] + + +let no_position : Lexing.position = + {pos_fname = ""; pos_lnum = 0; pos_bol = 0; pos_cnum = 0} + +let no_location : Location.t = + {loc_start = no_position; loc_end = no_position; loc_ghost = false} + +let no_attrs: attributes = [] + + +(* functions for generating names and paths *) +let mk_sym s: string Location.loc = {txt=s; loc=no_location} + +let mk_sym_lident s: Longident.t Location.loc = {txt=s; loc=no_location} + +let mk_lident name = Lident name |> mk_sym_lident + +let mk_typ_name s = + (* remove an apostrophe from beginning of type name *) + match (BatString.sub s 0 1) with + | "'" -> BatString.tail s 1 + | _ -> s + +let rec path_to_string ((l, sym): mlpath): string = + match l with + | [] -> sym + | (hd::tl) -> BatString.concat "_" [hd; path_to_string (tl, sym)] + +let split_path (l1: string list) (l2: string list): (string list * string list) option = + let rec split_aux l1 l2 = + match l2 with + | [] -> Some l1 + | hd2::tl2 when BatString.equal hd2 (hd l1) -> split_aux (tl l1) tl2 + | _ -> None + in + if (length l1 >= length l2) then + match split_aux l1 l2 with + | None -> None + | Some l1' -> Some (l1', l2) + else None + +let path_to_ident ((l, sym): mlpath): Longident.t Asttypes.loc = + let codegen_libs = FStarC_Options.codegen_libs() in + match l with + | [] -> mk_lident sym + | hd::tl -> + let m_name = !current_module in + let suffix, prefix = + try BatList.find_map (split_path l) codegen_libs with + | Not_found -> l, [] + in + let path_abbrev = BatString.concat "_" suffix in + if (prefix = [] && BatString.equal m_name path_abbrev) then + (* remove circular references *) + mk_lident sym + else + match prefix with + | [] -> Ldot(Lident path_abbrev, sym) |> mk_sym_lident + | p_hd::p_tl -> + let q = fold_left (fun x y -> Ldot (x,y)) (Lident p_hd) p_tl in + (match path_abbrev with + | "" -> Ldot(q, sym) |> mk_sym_lident + | _ -> Ldot(Ldot(q, path_abbrev), sym) |> mk_sym_lident) + +let mk_top_mllb (e: mlexpr): mllb = + {mllb_name="_"; + mllb_tysc=None; + mllb_add_unit=false; + mllb_def=e; + mllb_meta=[]; + mllb_attrs=[]; + print_typ=false } + +(* Find the try_with in the default effect module. For instance this can be +FStar.All.try_with (for most users) or FStarC.Effect.try_with (during +bootstrapping with "--MLish --MLish_effect FStarC.Effect"). *) +let try_with_ident () = + let lid = FStarC_Parser_Const.try_with_lid () in + let ns = FStarC_Ident.ns_of_lid lid in + let id = FStarC_Ident.ident_of_lid lid in + path_to_ident (List.map FStarC_Ident.string_of_id ns, FStarC_Ident.string_of_id id) + +(* For integer constants (not 0/1) in this range we will use Prims.of_int + * Outside this range we will use string parsing to allow arbitrary sized + * integers. + * Using int_zero/int_one removes int processing to create the Z.t + * Using of_int removes string processing to create the Z.t + *) +let max_of_int_const = Z.of_int 65535 +let min_of_int_const = Z.of_int (-65536) + +let maybe_guts (s:string) : string = + if FStarC_Options.codegen () = Some FStarC_Options.Plugin + then "Fstarcompiler." ^ s + else s + +(* mapping functions from F* ML AST to Parsetree *) +let build_constant (c: mlconstant): Parsetree.constant = + let stdint_module (s:FStarC_Const.signedness) (w:FStarC_Const.width) : string = + let sign = match s with + | FStarC_Const.Signed -> "Int" + | FStarC_Const.Unsigned -> "Uint" in + let with_w ws = BatString.concat "" ["Stdint."; sign; ws] in + match w with + | FStarC_Const.Int8 -> with_w "8" + | FStarC_Const.Int16 -> with_w "16" + | FStarC_Const.Int32 -> with_w "32" + | FStarC_Const.Int64 -> with_w "64" + | FStarC_Const.Sizet -> with_w "64" in + match c with + | MLC_Int (v, None) -> + let s = match Z.of_string v with + | x when x = Z.zero -> + maybe_guts "Prims.int_zero" + | x when x = Z.one -> + maybe_guts "Prims.int_one" + | x when (min_of_int_const < x) && (x < max_of_int_const) -> + BatString.concat v ["(Prims.of_int ("; "))"] + | x -> + BatString.concat v ["(Prims.parse_int \""; "\")"] in + Const.integer s + (* Special case for UInt8, as it's realized as OCaml built-in int type *) + | MLC_Int (v, Some (FStarC_Const.Unsigned, FStarC_Const.Int8)) -> + Const.integer v + | MLC_Int (v, Some (s, w)) -> + let s = match Z.of_string v with + | x when x = Z.zero -> + BatString.concat "" [stdint_module s w; ".zero"] + | x when x = Z.one -> + BatString.concat "" [stdint_module s w; ".one"] + | x when (min_of_int_const < x) && (x < max_of_int_const) -> + BatString.concat "" ["("; stdint_module s w; ".of_int ("; v; "))"] + | x -> + BatString.concat "" ["("; stdint_module s w; ".of_string \""; v; "\")"] in + Const.integer s + | MLC_Float v -> Const.float (string_of_float v) + | MLC_Char v -> Const.int v + | MLC_String v -> Const.string v + | MLC_Bytes _ -> failwith "Case not handled" (* do we need this? *) + | _ -> failwith "Case not handled" + +let build_constant_expr (c: mlconstant): expression = + match c with + | MLC_Unit -> Exp.construct (mk_lident "()") None + | MLC_Bool b -> + let id = if b then "true" else "false" in + Exp.construct (mk_lident id) None + | _ -> Exp.constant (build_constant c) + +let build_constant_pat (c: mlconstant): pattern_desc = + match c with + | MLC_Unit -> Ppat_construct (mk_lident "()", None) + | MLC_Bool b -> + let id = if b then "true" else "false" in + Ppat_construct (mk_lident id, None) + | _ -> Ppat_constant (build_constant c) + +let rec build_pattern (p: mlpattern): pattern = + match p with + | MLP_Wild -> Pat.any () + | MLP_Const c -> build_constant_pat c |> Pat.mk + | MLP_Var sym -> Pat.var (mk_sym sym) + | MLP_CTor args -> build_constructor_pat args |> Pat.mk + | MLP_Branch l -> + (match l with + | [pat] -> build_pattern pat + | (pat1::tl) -> Pat.or_ (build_pattern pat1) (build_pattern (MLP_Branch tl)) + | [] -> failwith "Empty branch shouldn't happen") + | MLP_Record (path, l) -> + let fs = map (fun (x,y) -> (path_to_ident (path, x), build_pattern y)) l in + Pat.record fs Open (* does the closed flag matter? *) + | MLP_Tuple l -> Pat.tuple (map build_pattern l) + +and build_constructor_pat ((path, sym), p) = + let (path', name) = + (* resugaring the Cons and Nil from Prims *) + (match path with + | ["Prims"] + | ["Fstarcompiler.Prims"] -> + (match sym with + | "Cons" -> ([], "::") + | "Nil" -> ([], "[]") + | x -> (path, x)) + | _ -> (path, sym)) in + match p with + | [] -> + Ppat_construct (path_to_ident (path', name), None) + | [pat] -> + Ppat_construct (path_to_ident (path', name), Some ([], build_pattern pat)) + | pats -> + let inner = Pat.tuple (map build_pattern pats) in + Ppat_construct (path_to_ident(path', name), Some ([], inner)) + +let rec build_core_type ?(annots = []) (ty: mlty): core_type = + let t = + match ty with + | MLTY_Var sym -> Typ.mk (Ptyp_var (mk_typ_name sym)) + | MLTY_Fun (ty1, tag, ty2) -> + let c_ty1 = build_core_type ty1 in + let c_ty2 = build_core_type ty2 in + let label = Nolabel in + Typ.mk (Ptyp_arrow (label,c_ty1,c_ty2)) + | MLTY_Named (tys, (path, sym)) -> + let c_tys = map build_core_type tys in + let p = path_to_ident (path, sym) in + let ty = Typ.mk (Ptyp_constr (p, c_tys)) in + (match path with + | ["Fstarcompiler.FStar"; "Pervasives"; "Native"] + | ["FStar"; "Pervasives"; "Native"] -> + (* A special case for tuples, so they are displayed as + * ('a * 'b) instead of ('a,'b) FStar_Pervasives_Native.tuple2 + * VD: Should other types named "tupleXX" where XX does not represent + * the arity of the tuple be added to FStar.Pervasives.Native, + * the condition below might need to be more specific. *) + if BatString.starts_with sym "tuple" then + Typ.mk (Ptyp_tuple (map build_core_type tys)) + else + ty + | _ -> ty) + | MLTY_Tuple tys -> Typ.mk (Ptyp_tuple (map build_core_type tys)) + | MLTY_Top -> Typ.mk (Ptyp_constr (mk_lident "Obj.t", [])) + | MLTY_Erased -> Typ.mk (Ptyp_constr (mk_lident "unit", [])) + in + if annots = [] + then t + else Typ.mk (Ptyp_poly (annots, t)) + +let build_binding_pattern ?ty (sym : mlident) : pattern = + let p = Pat.mk (Ppat_var (mk_sym sym)) in + match ty with + | None -> p + | Some ty -> Pat.mk (Ppat_constraint (p, ty)) + +let resugar_prims_ops path: expression = + (match path with + | (["Prims"], "op_Addition") -> mk_lident "+" + | (["Prims"], "op_Subtraction") -> mk_lident "-" + | (["Prims"], "op_Multiply") -> mk_lident "*" + | (["Prims"], "op_Division") -> mk_lident "/" + | (["Prims"], "op_Equality") -> mk_lident "=" + | (["Prims"], "op_Colon_Equals") -> mk_lident ":=" + | (["Prims"], "op_disEquality") -> mk_lident "<>" + | (["Prims"], "op_AmpAmp") -> mk_lident "&&" + | (["Prims"], "op_BarBar") -> mk_lident "||" + | (["Prims"], "op_LessThanOrEqual") -> mk_lident "<=" + | (["Prims"], "op_GreaterThanOrEqual") -> mk_lident ">=" + | (["Prims"], "op_LessThan") -> mk_lident "<" + | (["Prims"], "op_GreaterThan") -> mk_lident ">" + | (["Prims"], "op_Modulus") -> mk_lident "mod" + | (["Prims"], "op_Minus") -> mk_lident "~-" + | path -> path_to_ident path) + |> Exp.ident + +let resugar_if_stmts ep cases = + if List.length cases = 2 then + let case1 = List.hd cases in + let case2 = BatList.last cases in + (match case1.pc_lhs.ppat_desc with + | Ppat_construct({txt=Lident "true"}, None) -> + Exp.ifthenelse ep case1.pc_rhs (Some case2.pc_rhs) + | _ -> Exp.match_ ep cases) + else + Exp.match_ ep cases + +let rec build_expr (e: mlexpr): expression = + match e.expr with + | MLE_Const c -> build_constant_expr c + | MLE_Var sym -> Exp.ident (mk_lident sym) + | MLE_Name path -> + (match path with + | (["Prims"], op) -> resugar_prims_ops path + | _ -> Exp.ident (path_to_ident path)) + | MLE_Let ((flavour, lbs), expr) -> + let recf = match flavour with + | Rec -> Recursive + | NonRec -> Nonrecursive in + let val_bindings = map (build_binding false) lbs in + Exp.let_ recf val_bindings (build_expr expr) + | MLE_App (e, es) -> + let args = map (fun x -> (Nolabel, build_expr x)) es in + let f = build_expr e in + resugar_app f args es + | MLE_TApp (e, ts) -> + build_expr e + | MLE_Fun (l, e) -> build_fun l e + | MLE_Match (e, branches) -> + let ep = build_expr e in + let cases = map build_case branches in + resugar_if_stmts ep cases + | MLE_Coerce (e, _, _) -> + let r = Exp.ident (mk_lident "Obj.magic") in + Exp.apply r [(Nolabel, build_expr e)] + | MLE_CTor args -> build_constructor_expr args + | MLE_Seq args -> build_seq args + | MLE_Tuple l -> Exp.tuple (map build_expr l) + | MLE_Record (path, _, l) -> + let fields = map (fun (x,y) -> (path_to_ident(path, x), build_expr y)) l in + Exp.record fields None + | MLE_Proj (e, path) -> + Exp.field (build_expr e) (path_to_ident (path)) + (* MLE_If always desugared to match? *) + | MLE_If (e, e1, e2) -> + Exp.ifthenelse (build_expr e) (build_expr e1) (BatOption.map build_expr e2) + | MLE_Raise (path, es) -> + let r = Exp.ident (mk_lident "raise") in + let args = map (fun x -> (Nolabel, build_expr x)) es in + Exp.apply r args + | MLE_Try (e, cs) -> + Exp.try_ (build_expr e) (map build_case cs) + +and resugar_app f args es: expression = + match f.pexp_desc with + | Pexp_ident x when x = try_with_ident () -> + (* resugar try_with to a try...with + try_with : (unit -> ML 'a) -> (exn -> ML 'a) -> ML 'a *) + assert (length es == 2); + let s, cs = BatList.first es, BatList.last es in + (* We have FStar.All.try_with s cs, with s : unit -> ML 'a + * and cs : exn -> ML 'a + * + * We need to create an OCaml try..with, with a body and a + * set of cases for catching the exception. + * + * For the body, we simply translate `s ()` and we're done. + * + * For the cases, we can't a similar trick, so we try to reverse-engineer + * the shape of the term in order to obtain a proper set. See get_variants. *) + + let body = Exp.apply (build_expr s) [(Nolabel, build_expr ml_unit)] in + let variants = get_variants cs in + Exp.try_ body variants + + | _ -> Exp.apply f args + +and get_variants (e : mlexpr) : Parsetree.case list = + match e.expr with + | MLE_Fun ([{mlbinder_name=id}], e) -> + (match e.expr with + | MLE_Match ({expr = MLE_Var id'}, branches) when id = id' -> + map build_case branches + | _ -> + [build_case (MLP_Var id, None, e)] + ) + | _ -> failwith "Cannot resugar FStar.All.try_with (3)" + +and build_seq args = + match args with + | [hd] -> build_expr hd + | hd::tl -> Exp.sequence (build_expr hd) (build_seq tl) + | [] -> failwith "Empty sequence should never happen" + +and build_constructor_expr ((path, sym), exp): expression = + let path', name = + (match path, sym with + | ["Prims"], "Cons" -> ([], "::") + | ["Prims"], "Nil" -> ([], "[]") + | ["Fstarcompiler.Prims"], "Cons" -> ([], "::") + | ["Fstarcompiler.Prims"], "Nil" -> ([], "[]") + | path, x -> (path, x)) in + match exp with + | [] -> Exp.construct (path_to_ident(path', name)) None + | [e] -> + Exp.construct (path_to_ident(path', name)) (Some (build_expr e)) + | es -> + let inner = Exp.tuple (map build_expr es) in + Exp.construct (path_to_ident(path', name)) (Some inner) + +and build_fun l e = + match l with + | ({mlbinder_name=id; mlbinder_ty=ty}::tl) -> + let p = build_binding_pattern id in + Exp.fun_ Nolabel None p (build_fun tl e) + | [] -> build_expr e + +and build_case ((lhs, guard, rhs): mlbranch): case = + {pc_lhs = (build_pattern lhs); + pc_guard = BatOption.map build_expr guard; + pc_rhs = (build_expr rhs)} + +and build_binding (toplevel: bool) (lb: mllb): value_binding = + (* Add a constraint on the binding (ie. an annotation) for top-level lets *) + let mk1 s = mkloc (String.sub s 1 (String.length s - 1)) none in + let ty = + match lb.mllb_tysc with + | None -> None + | Some ts -> + if lb.print_typ && toplevel + then let vars = List.map mk1 (ty_param_names (fst ts)) in + let ty = snd ts in + Some (build_core_type ~annots:vars ty) + else None + in + let e = build_expr lb.mllb_def in + let p = build_binding_pattern ?ty:ty lb.mllb_name in + (Vb.mk p e) + +let build_label_decl (sym, ty): label_declaration = + Type.field (mk_sym sym) (build_core_type ty) + +let build_constructor_decl (sym, tys): constructor_declaration = + let tys = List.map snd tys in + let args = if BatList.is_empty tys then None else + Some (Pcstr_tuple (map build_core_type tys)) in + Type.constructor ?args:args (mk_sym sym) + +let build_ty_kind (b: mltybody): type_kind = + match b with + | MLTD_Abbrev ty -> Ptype_abstract + | MLTD_Record l -> Ptype_record (map build_label_decl l) + | MLTD_DType l -> Ptype_variant (map build_constructor_decl l) + +let build_ty_manifest (b: mltybody): core_type option= + match b with + | MLTD_Abbrev ty -> Some (build_core_type ty) + | MLTD_Record l -> None + | MLTD_DType l -> None + + +let skip_type_defn (current_module:string) (type_name:string) :bool = + current_module = "FStar_Pervasives" && type_name = "option" + +let type_metadata (md : metadata): attributes option = + let deriving = BatList.filter_map (function + | PpxDerivingShow | PpxDerivingShowConstant _ -> Some "show" + | PpxDerivingYoJson -> Some "yojson" + | _ -> None + ) md in + if List.length deriving > 0 then + let str = String.concat "," deriving in + Some [ { + attr_name = mk_sym "deriving"; + attr_payload = PStr [Str.eval (Exp.ident (mk_lident str))]; + attr_loc = no_location } + ] + else + None + +let add_deriving_const (md: metadata) (ptype_manifest: core_type option): core_type option = + match List.filter (function PpxDerivingShowConstant _ -> true | _ -> false) md with + | [PpxDerivingShowConstant s] -> + let e = Exp.apply (Exp.ident (path_to_ident (["Format"], "pp_print_string"))) [(Nolabel, Exp.ident (mk_lident "fmt")); (Nolabel, Exp.constant (Const.string s))] in + let deriving_const = { + attr_name = mk_sym "printer"; + attr_payload = PStr [Str.eval (Exp.fun_ Nolabel None (build_binding_pattern "fmt") (Exp.fun_ Nolabel None (Pat.any ()) e))]; + attr_loc = no_location } in + BatOption.map (fun x -> {x with ptyp_attributes=[deriving_const]}) ptype_manifest + | _ -> ptype_manifest + +let build_one_tydecl ({tydecl_name=x; + tydecl_ignored=mangle_opt; + tydecl_parameters=tparams; + tydecl_meta=attrs; + tydecl_defn=body}: one_mltydecl): type_declaration = + let ptype_name = match mangle_opt with + | Some y -> mk_sym y + | None -> mk_sym x in + let ptype_params = Some (map (fun sym -> Typ.mk (Ptyp_var (mk_typ_name sym)), (NoVariance, NoInjectivity)) (ty_param_names tparams)) in + let (ptype_manifest: core_type option) = + BatOption.map_default build_ty_manifest None body |> add_deriving_const attrs in + let ptype_kind = Some (BatOption.map_default build_ty_kind Ptype_abstract body) in + let ptype_attrs = type_metadata attrs in + Type.mk ?params:ptype_params ?kind:ptype_kind ?manifest:ptype_manifest ?attrs:ptype_attrs ptype_name + +let build_tydecl (td: mltydecl): structure_item_desc option = + let recf = Recursive in + let type_declarations = map build_one_tydecl td in + if type_declarations = [] then None else Some (Pstr_type (recf, type_declarations)) + +let build_exn (sym, tys): type_exception = + let tys = List.map snd tys in + let name = mk_sym sym in + let args = Some (Pcstr_tuple (map build_core_type tys)) in + let ctor = Te.decl ?args:args name in + Te.mk_exception ctor + +let build_module1 path (m1: mlmodule1): structure_item option = + match m1.mlmodule1_m with + | MLM_Ty tydecl -> + (match build_tydecl tydecl with + | Some t -> Some (Str.mk t) + | None -> None) + | MLM_Let (flav, mllbs) -> + let recf = match flav with | Rec -> Recursive | NonRec -> Nonrecursive in + let bindings = map (build_binding true) mllbs in + Some (Str.value recf bindings) + | MLM_Exn exn -> Some (Str.exception_ (build_exn exn)) + | MLM_Top expr -> + let lb = mk_top_mllb expr in + let binding = build_binding true lb in + Some (Str.value Nonrecursive [binding]) + | MLM_Loc (p, f) -> None + +let build_m path (md: (mlsig * mlmodule) option) : structure = + match md with + | Some(s, m) -> + let open_plugin_lib = + if FStarC_Options.codegen () = Some FStarC_Options.Plugin (* NB: PluginNoLib does not open the library *) + then [Str.open_ (Opn.mk ?override:(Some Fresh) (Mod.ident (mk_lident "Fstar_pluginlib")))] + else [] + in + let open_guts = + if FStarC_Options.codegen () = Some FStarC_Options.PluginNoLib + then [Str.open_ (Opn.mk ?override:(Some Fresh) (Mod.ident (mk_lident "Fstarcompiler")))] + else [] + in + let open_prims = + [Str.open_ (Opn.mk ?override:(Some Fresh) (Mod.ident (mk_lident "Prims")))] + in + open_plugin_lib @ open_guts @ open_prims @ (map (build_module1 path) m |> flatmap opt_to_list) + | None -> [] + +let build_ast (out_dir: string option) (ext: string) (ml: mllib) = + match ml with + | MLLib l -> + map (fun (p, md, _) -> + let m = path_to_string p in + current_module := m; + let name = BatString.concat "" [m; ext] in + let path = (match out_dir with + | Some out -> BatString.concat "/" [out; name] + | None -> name) in + (path, build_m path md)) l + + +(* printing the AST to the correct path *) +let print_module ((path, m): string * structure) = + Format.set_formatter_out_channel (open_out_bin path); + structure Format.std_formatter m; + Format.pp_print_flush Format.std_formatter () + +let print (out_dir: string option) (ext: string) (ml: mllib) = + match ext with + | ".ml" -> + (* Use this printer for OCaml extraction *) + let ast = build_ast out_dir ext ml in + iter print_module ast + | ".fs" -> + (* Use the old printer for F# extraction *) + let new_doc = FStarC_Extraction_ML_Code.doc_of_mllib ml in + iter (fun (n, d) -> + FStarC_Util.write_file + (FStarC_Find.prepend_output_dir (BatString.concat "" [n;ext])) + (FStarC_Extraction_ML_Code.pretty (Prims.parse_int "120") d) + ) new_doc + | _ -> failwith "Unrecognized extension" diff --git a/src/ml/bare/FStarC_Getopt.ml b/src/ml/bare/FStarC_Getopt.ml new file mode 100644 index 00000000000..a7bad22b6c4 --- /dev/null +++ b/src/ml/bare/FStarC_Getopt.ml @@ -0,0 +1,108 @@ +let noshort = 0 +type 'a opt_variant = + | ZeroArgs of (unit -> 'a) + | OneArg of (string -> 'a) * string +type 'a opt' = FStar_Char.char * string * 'a opt_variant +type opt = unit opt' +type parse_cmdline_res = + | Empty + | Help + | Error of (string * string) + | Success + +let bind l f = + match l with + | Help + | Error _ -> l + | Success -> f () + (* | Empty *) + (* ^ Empty does not occur internally. *) + +(* Returns None if this wasn't an option arg (did not start with "-") + * Otherwise, returns Some (o, s) where [s] is the trimmed option, and [o] + * is the opt we found in specs (possibly None if not present, which should + * trigger an error) *) +let find_matching_opt specs s : (opt option * string) option = + if String.length s < 2 then + None + else if String.sub s 0 2 = "--" then + (* long opts *) + let strim = String.sub s 2 ((String.length s) - 2) in + let o = FStar_List.tryFind (fun (_, option, _) -> option = strim) specs in + Some (o, strim) + else if String.sub s 0 1 = "-" then + (* short opts *) + let strim = String.sub s 1 ((String.length s) - 1) in + let o = FStar_List.tryFind (fun (shortoption, _, _) -> FStar_String.make Z.one shortoption = strim) specs in + Some (o, strim) + else + None + +(* remark: doesn't work with files starting with -- *) +let rec parse (opts:opt list) def ar ix max i : parse_cmdline_res = + if ix > max then Success + else + let arg = ar.(ix) in + let go_on () = bind (def arg) (fun _ -> parse opts def ar (ix + 1) max (i + 1)) in + match find_matching_opt opts arg with + | None -> go_on () + | Some (None, _) -> Error ("unrecognized option '" ^ arg ^ "'\n", arg) + | Some (Some (_, opt, p), argtrim) -> + begin match p with + | ZeroArgs f -> f (); parse opts def ar (ix + 1) max (i + 1) + | OneArg (f, name) -> + if ix + 1 > max + then Error ("last option '" ^ argtrim ^ "' takes an argument but has none\n", opt) + else + let r = + try (f (ar.(ix + 1)); Success) + with _ -> Error ("wrong argument given to option `" ^ argtrim ^ "`\n", opt) + in bind r (fun () -> parse opts def ar (ix + 2) max (i + 1)) + end + +let parse_array specs others args offset = + parse specs others args offset (Array.length args - 1) 0 + +let parse_cmdline specs others = + if Array.length Sys.argv = 1 then Empty + else parse_array specs others Sys.argv 1 + +let parse_string specs others (str:string) = + let split_spaces (str:string) = + let seps = [int_of_char ' '; int_of_char '\t'] in + FStar_List.filter (fun s -> s != "") (FStar_String.split seps str) + in + (* to match the style of the F# code in FStar.GetOpt.fs *) + let index_of str c = + try + String.index str c + with Not_found -> -1 + in + let substring_from s j = + let len = String.length s - j in + String.sub s j len + in + let rec split_quoted_fragments (str:string) = + let i = index_of str '\'' in + if i < 0 then Some (split_spaces str) + else let prefix = String.sub str 0 i in + let suffix = substring_from str (i + 1) in + let j = index_of suffix '\'' in + if j < 0 then None + else let quoted_frag = String.sub suffix 0 j in + let rest = split_quoted_fragments (substring_from suffix (j + 1)) in + match rest with + | None -> None + | Some rest -> Some (split_spaces prefix @ quoted_frag::rest) + + in + match split_quoted_fragments str with + | None -> Error("Failed to parse options; unmatched quote \"'\"", "") + | Some args -> + parse_array specs others (Array.of_list args) 0 + +let parse_list specs others lst = + parse_array specs others (Array.of_list lst) 0 + +let cmdline () = + Array.to_list (Sys.argv) diff --git a/src/ml/bare/FStarC_Hash.ml b/src/ml/bare/FStarC_Hash.ml new file mode 100644 index 00000000000..34756a1a0e1 --- /dev/null +++ b/src/ml/bare/FStarC_Hash.ml @@ -0,0 +1,76 @@ +module BU = FStarC_Util +module Z = FStarC_BigInt + +type hash_code = int + +let cmp_hash (x:hash_code) (y:hash_code) : Z.t = Z.of_int (x-y) + +let to_int (i:int) = Z.of_int i + +let of_int (i:Z.t) = Z.to_int i +let of_string (s:string) = BatHashtbl.hash s + +(* This function is taken from Bob Jenkins' + http://burtleburtle.net/bob/hash/doobs.html + + It's defined there as a mix on 32 bit integers. + + I'm abusing it here by using it on OCaml's 63 bit + integers. + + But it seems to work well, at least in comparison + to some simpler mixes that I tried. E.g., using + this mix taken from Lean (src/runtime/hash.h) + +uint64 hash(uint64 h1, uint64 h2) { + h2 -= h1; h2 ^= (h1 << 16); + h1 -= h2; h2 ^= (h1 << 32); + h2 -= h1; h2 ^= (h1 << 20); + return h2; +} + + But, it produces many collisions, see, e.g., in + tests/FStar.Tests.Pars.test_hashes +*) +let mix (a: hash_code) (b:hash_code) = + let c = 11 in + (* a -= b; a -= c; a ^= (c >> 13); *) + let a = a - b in + let a = a - c in + (* skip this step since c lsr 13 = 0 *) + (* let a = a lxor (c lsr 13) in *) + (* b -= c; b -= a; b ^= (a << 8); *) + let b = b - c in + let b = b - a in + let b = b lxor (a lsl 8) in + (* c -= a; c -= b; c ^= (b >> 13); *) + let c = c - a in + let c = c - b in + let c = c lxor (b lsr 13) in + (* a -= b; a -= c; a ^= (c >> 12); *) + let a = a - b in + let a = a - c in + let a = a lxor (c lsr 12) in + (* b -= c; b -= a; b ^= (a << 16); *) + let b = b - c in + let b = b - a in + let b = b lxor (a lsl 16) in + (* c -= a; c -= b; c ^= (b >> 5); *) + let c = c - a in + let c = c - b in + let c = c lxor (b lsr 5) in + (* a -= b; a -= c; a ^= (c >> 3); *) + let a = a - b in + let a = a - c in + let a = a lxor (c lsr 3) in + (* b -= c; b -= a; b ^= (a << 10); *) + let b = b - c in + let b = b - a in + let b = b lxor (a lsl 10) in + (* c -= a; c -= b; c ^= (b >> 15); *) + let c = c - a in + let c = c - b in + let c = c lxor (b lsr 15) in + c + +let string_of_hash_code h = string_of_int h diff --git a/ocaml/fstar-lib/FStarC_Compiler_Hints.ml b/src/ml/bare/FStarC_Hints.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Compiler_Hints.ml rename to src/ml/bare/FStarC_Hints.ml diff --git a/ocaml/fstar-lib/FStarC_Json.ml b/src/ml/bare/FStarC_Json.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Json.ml rename to src/ml/bare/FStarC_Json.ml diff --git a/ocaml/fstar-lib/FStarC_Compiler_List.ml b/src/ml/bare/FStarC_List.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Compiler_List.ml rename to src/ml/bare/FStarC_List.ml diff --git a/src/ml/bare/FStarC_Parser_LexFStar.ml b/src/ml/bare/FStarC_Parser_LexFStar.ml new file mode 100644 index 00000000000..20b5ca750d4 --- /dev/null +++ b/src/ml/bare/FStarC_Parser_LexFStar.ml @@ -0,0 +1,719 @@ +open FStarC_Parser_Parse +open FStarC_Parser_Util + +module Option = BatOption +module String = BatString +module Hashtbl = BatHashtbl +module Sedlexing = FStarC_Sedlexing +module L = Sedlexing +module E = FStarC_Errors +module Codes = FStarC_Errors_Codes +module BU = FStarC_Util + +let ba_of_string s = Array.init (String.length s) (fun i -> Char.code (String.get s i)) +let array_trim_both a n m = Array.sub a n (Array.length a - n - m) +let string_trim_both s n m = BatString.sub s n (String.length s - (n+m)) +let trim_both lexbuf n m = string_trim_both (L.lexeme lexbuf) n m +let utrim_both lexbuf n m = array_trim_both (L.ulexeme lexbuf) n m +let trim_right lexbuf n = trim_both lexbuf 0 n +let trim_left lexbuf n = trim_both lexbuf n 0 + +let unescape (a:int array) : int = + match a.(0) with + | 92 (* \ *) -> + (match a.(1) with + | 48 (*0*) -> 0 + | 98 (*b*) -> 8 + | 116 (*t*) -> 9 + | 110 (*n*) -> 10 + | 118 (*v*) -> 11 + | 102 (*f*) -> 12 + | 114 (*r*) -> 13 + | 117 (*u*) -> + let s = FStarC_Parser_Utf8.from_int_array a 2 4 in + int_of_string ("0x"^s) + | 120 (*x*) -> + let s = FStarC_Parser_Utf8.from_int_array a 2 2 in + int_of_string ("0x"^s) + | c -> c) + | c -> c + +let keywords = Hashtbl.create 0 +let constructors = Hashtbl.create 0 +let operators = Hashtbl.create 0 + +let () = + Hashtbl.add keywords "attributes" ATTRIBUTES ; + Hashtbl.add keywords "noeq" NOEQUALITY ; + Hashtbl.add keywords "unopteq" UNOPTEQUALITY ; + Hashtbl.add keywords "and" AND ; + Hashtbl.add keywords "assert" ASSERT ; + Hashtbl.add keywords "assume" ASSUME ; + Hashtbl.add keywords "begin" BEGIN ; + Hashtbl.add keywords "by" BY ; + Hashtbl.add keywords "calc" CALC ; + Hashtbl.add keywords "class" CLASS ; + Hashtbl.add keywords "default" DEFAULT ; + Hashtbl.add keywords "decreases" DECREASES ; + Hashtbl.add keywords "effect" EFFECT ; + Hashtbl.add keywords "eliminate" ELIM; + Hashtbl.add keywords "else" ELSE ; + Hashtbl.add keywords "end" END ; + Hashtbl.add keywords "ensures" ENSURES ; + Hashtbl.add keywords "exception" EXCEPTION ; + Hashtbl.add keywords "exists" (EXISTS false); + Hashtbl.add keywords "false" FALSE ; + Hashtbl.add keywords "friend" FRIEND ; + Hashtbl.add keywords "forall" (FORALL false); + Hashtbl.add keywords "fun" FUN ; + Hashtbl.add keywords "λ" FUN ; + Hashtbl.add keywords "function" FUNCTION ; + Hashtbl.add keywords "if" IF ; + Hashtbl.add keywords "in" IN ; + Hashtbl.add keywords "include" INCLUDE ; + Hashtbl.add keywords "inline" INLINE ; + Hashtbl.add keywords "inline_for_extraction" INLINE_FOR_EXTRACTION ; + Hashtbl.add keywords "instance" INSTANCE ; + Hashtbl.add keywords "introduce" INTRO ; + Hashtbl.add keywords "irreducible" IRREDUCIBLE ; + Hashtbl.add keywords "let" (LET false) ; + Hashtbl.add keywords "logic" LOGIC ; + Hashtbl.add keywords "match" MATCH ; + Hashtbl.add keywords "returns" RETURNS ; + Hashtbl.add keywords "as" AS ; + Hashtbl.add keywords "module" MODULE ; + Hashtbl.add keywords "new" NEW ; + Hashtbl.add keywords "new_effect" NEW_EFFECT ; + Hashtbl.add keywords "layered_effect" LAYERED_EFFECT ; + Hashtbl.add keywords "polymonadic_bind" POLYMONADIC_BIND ; + Hashtbl.add keywords "polymonadic_subcomp" POLYMONADIC_SUBCOMP ; + Hashtbl.add keywords "noextract" NOEXTRACT ; + Hashtbl.add keywords "of" OF ; + Hashtbl.add keywords "open" OPEN ; + Hashtbl.add keywords "opaque" OPAQUE ; + Hashtbl.add keywords "private" PRIVATE ; + Hashtbl.add keywords "quote" QUOTE ; + Hashtbl.add keywords "range_of" RANGE_OF ; + Hashtbl.add keywords "rec" REC ; + Hashtbl.add keywords "reifiable" REIFIABLE ; + Hashtbl.add keywords "reify" REIFY ; + Hashtbl.add keywords "reflectable" REFLECTABLE ; + Hashtbl.add keywords "requires" REQUIRES ; + Hashtbl.add keywords "set_range_of" SET_RANGE_OF; + Hashtbl.add keywords "sub_effect" SUB_EFFECT ; + Hashtbl.add keywords "synth" SYNTH ; + Hashtbl.add keywords "then" THEN ; + Hashtbl.add keywords "total" TOTAL ; + Hashtbl.add keywords "true" TRUE ; + Hashtbl.add keywords "try" TRY ; + Hashtbl.add keywords "type" TYPE ; + Hashtbl.add keywords "unfold" UNFOLD ; + Hashtbl.add keywords "unfoldable" UNFOLDABLE ; + Hashtbl.add keywords "val" VAL ; + Hashtbl.add keywords "when" WHEN ; + Hashtbl.add keywords "with" WITH ; + Hashtbl.add keywords "_" UNDERSCORE ; + Hashtbl.add keywords "α" (TVAR "a") ; + Hashtbl.add keywords "β" (TVAR "b") ; + Hashtbl.add keywords "γ" (TVAR "c") ; + Hashtbl.add keywords "δ" (TVAR "d") ; + Hashtbl.add keywords "ε" (TVAR "e") ; + Hashtbl.add keywords "φ" (TVAR "f") ; + Hashtbl.add keywords "χ" (TVAR "g") ; + Hashtbl.add keywords "η" (TVAR "h") ; + Hashtbl.add keywords "ι" (TVAR "i") ; + Hashtbl.add keywords "κ" (TVAR "k") ; + Hashtbl.add keywords "μ" (TVAR "m") ; + Hashtbl.add keywords "ν" (TVAR "n") ; + Hashtbl.add keywords "Ï€" (TVAR "p") ; + Hashtbl.add keywords "θ" (TVAR "q") ; + Hashtbl.add keywords "Ï" (TVAR "r") ; + Hashtbl.add keywords "σ" (TVAR "s") ; + Hashtbl.add keywords "Ï„" (TVAR "t") ; + Hashtbl.add keywords "ψ" (TVAR "u") ; + Hashtbl.add keywords "ω" (TVAR "w") ; + Hashtbl.add keywords "ξ" (TVAR "x") ; + Hashtbl.add keywords "ζ" (TVAR "z") ; + Hashtbl.add constructors "â„•" (IDENT "nat"); + Hashtbl.add constructors "ℤ" (IDENT "int"); + Hashtbl.add constructors "ð”¹" (IDENT "bool"); + let l = + ["~", TILDE "~"; + "-", MINUS; + "/\\", CONJUNCTION; + "\\/", DISJUNCTION; + "<:", SUBTYPE; + "$:", EQUALTYPE; + "<@", SUBKIND; + "(|", LENS_PAREN_LEFT; + "|)", LENS_PAREN_RIGHT; + "#", HASH; + "u#", UNIV_HASH; + "&", AMP; + "()", LPAREN_RPAREN; + "(", LPAREN; + ")", RPAREN; + ",", COMMA; + "~>", SQUIGGLY_RARROW; + "->", RARROW; + "<--", LONG_LEFT_ARROW; + "<-", LARROW; + "<==>", IFF; + "==>", IMPLIES; + ".", DOT; + "?.", QMARK_DOT; + "?", QMARK; + ".[", DOT_LBRACK; + ".(|", DOT_LENS_PAREN_LEFT; + ".(", DOT_LPAREN; + ".[|", DOT_LBRACK_BAR; + "{:pattern", LBRACE_COLON_PATTERN; + "{:well-founded", LBRACE_COLON_WELL_FOUNDED; + "returns$", RETURNS_EQ; + ":", COLON; + "::", COLON_COLON; + ":=", COLON_EQUALS; + ";", SEMICOLON; + "=", EQUALS; + "%[", PERCENT_LBRACK; + "!{", BANG_LBRACE; + "[@@@", LBRACK_AT_AT_AT; + "[@@", LBRACK_AT_AT; + "[@", LBRACK_AT; + "[", LBRACK; + "[|", LBRACK_BAR; + "{|", LBRACE_BAR; + "|>", PIPE_RIGHT; + "]", RBRACK; + "|]", BAR_RBRACK; + "|}", BAR_RBRACE; + "{", LBRACE; + "|", BAR; + "}", RBRACE; + "$", DOLLAR; + (* New Unicode equivalents *) + "∀", (FORALL false); + "∃", (EXISTS false); + "⊤", NAME "True"; + "⊥", NAME "False"; + "⟹", IMPLIES; + "⟺", IFF; + "→", RARROW; + "â†", LARROW; + "⟵", LONG_LEFT_ARROW; + "â†", SQUIGGLY_RARROW; + "≔", COLON_EQUALS; + "∧", CONJUNCTION; + "∨", DISJUNCTION; + "¬", TILDE "~"; + "⸬", COLON_COLON; + "â–¹", PIPE_RIGHT; + "÷", OPINFIX3 "÷"; + "‖", OPINFIX0a "||"; + "×", IDENT "op_Multiply"; + "∗", OPINFIX3 "*"; + "⇒", OPINFIX0c "=>"; + "≥", OPINFIX0c ">="; + "≤", OPINFIX0c "<="; + "≠", OPINFIX0c "<>"; + "≪", OPINFIX0c "<<"; + "â—ƒ", OPINFIX0c "<|"; + "±", OPPREFIX "±"; + "âˆ", OPPREFIX "âˆ"; + "∂", OPPREFIX "∂"; + "√", OPPREFIX "√"; + ] in + List.iter (fun (k,v) -> Hashtbl.add operators k v) l + +let current_range lexbuf = + FStarC_Parser_Util.mksyn_range (fst (L.range lexbuf)) (snd (L.range lexbuf)) + +let fail lexbuf (e, msg) = + let m = current_range lexbuf in + E.raise_error_text m e msg + +type delimiters = { angle:int ref; paren:int ref; } +let n_typ_apps = ref 0 + +let is_typ_app_gt () = + if !n_typ_apps > 0 + then (decr n_typ_apps; true) + else false + +let rec mknewline n lexbuf = + if n = 0 then () + else (L.new_line lexbuf; mknewline (n-1) lexbuf) + +let clean_number x = String.strip ~chars:"uzyslLUnIN" x + +(* Try to trim each line of [comment] by the ammount of space + on the first line of the comment if possible *) +(* TODO : apply this to FSDOC too *) +let maybe_trim_lines start_column comment = + if start_column = 0 then comment + else + let comment_lines = String.split_on_char '\n' comment in + let ensures_empty_prefix k s = + let j = min k (String.length s - 1) in + let rec aux i = if i > j then k else if s.[i] <> ' ' then i else aux (i+1) in + aux 0 in + let trim_width = List.fold_left ensures_empty_prefix start_column comment_lines in + String.concat "\n" (List.map (fun s -> String.tail s trim_width) comment_lines) + +let comment_buffer = Buffer.create 128 +let blob_buffer = Buffer.create 128 +let use_lang_buffer = Buffer.create 128 + +let start_comment lexbuf = + Buffer.add_string comment_buffer "(*" ; + (false, comment_buffer, fst (L.range lexbuf)) + +let terminate_comment buffer startpos lexbuf = + let endpos = snd (L.range lexbuf) in + Buffer.add_string buffer "*)" ; + let comment = Buffer.contents buffer in + let comment = maybe_trim_lines (startpos.Lexing.pos_cnum - startpos.Lexing.pos_bol) comment in + Buffer.clear buffer; + add_comment (comment, FStarC_Parser_Util.mksyn_range startpos endpos) + +let push_one_line_comment pre lexbuf = + let startpos, endpos = L.range lexbuf in + assert (startpos.Lexing.pos_lnum = endpos.Lexing.pos_lnum); + add_comment (pre ^ L.lexeme lexbuf, FStarC_Parser_Util.mksyn_range startpos endpos) + +(** Unicode class definitions + Auto-generated from http:/ /www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt **) +(** Ll **) +let u_lower = [%sedlex.regexp? ll] +(** Lu *) +let u_upper = [%sedlex.regexp? lu] +(** Lo *) +let u_other = [%sedlex.regexp? lo] +(** Lm *) +let u_modifier = [%sedlex.regexp? lm] +(** Lt *) +let u_title = [%sedlex.regexp? lt] +(** Zs *) +let u_space = [%sedlex.regexp? zs] +(** These are not unicode spaces but we accept as whitespace in F* source (e.g. tab and BOM) *) +let u_space_extra = [%sedlex.regexp? '\t' | '\x0B' | '\x0C' | '\xA0' | 0xfeff] +(** Zl and Zp *) +let u_line_sep = [%sedlex.regexp? zl] +let u_par_sep = [%sedlex.regexp? zp] +(** Sm math symbols *) +let u_math = [%sedlex.regexp? sm] +let u_math_ascii = [%sedlex.regexp? 0x002b | 0x003c .. 0x003e | 0x007c | 0x007e] +let u_math_nonascii = [%sedlex.regexp? Sub(u_math, u_math_ascii)] +(** Sc currency *) +let u_currency = [%sedlex.regexp? sc] +(** Sk *) +let u_modifier_symbol = [%sedlex.regexp? sk] +(** So *) +let u_other_symbol = [%sedlex.regexp? so] +(** Nd *) +let u_decimal_digit = [%sedlex.regexp? nd] +(** Nl *) +let u_digit_letter = [%sedlex.regexp? nl] +(** No *) +let u_other_digit = [%sedlex.regexp? no] +(** Pd *) +let u_punct_hyphen = [%sedlex.regexp? pd] +(** Ps *) +let u_punct_obra = [%sedlex.regexp? ps] +(** Pe *) +let u_punct_cbra = [%sedlex.regexp? pe] +(** Pi *) +let u_punct_oquot = [%sedlex.regexp? pi] +(** Pf *) +let u_punct_cquot = [%sedlex.regexp? pf] +(** Pc *) +let u_punct_connect = [%sedlex.regexp? pc] +(** Po *) +let u_punct_other = [%sedlex.regexp? po] +(** Mn *) +let u_mod_nospace = [%sedlex.regexp? mn] +(** Mc *) +let u_mod = [%sedlex.regexp? mc] +(** Me *) +let u_mod_enclose = [%sedlex.regexp? me] +(** Cc *) +let u_ascii_control = [%sedlex.regexp? cc] +(** Cf *) +let u_format_control = [%sedlex.regexp? cf] +(** Co *) +let u_private_use = [%sedlex.regexp? co] +(** Cs *) +let u_surrogate = [%sedlex.regexp? cs] + +(* -------------------------------------------------------------------- *) +let lower = [%sedlex.regexp? u_lower] +let upper = [%sedlex.regexp? u_upper | u_title] +let letter = [%sedlex.regexp? u_lower | u_upper | u_other | u_modifier] +let digit = [%sedlex.regexp? '0'..'9'] +let hex = [%sedlex.regexp? '0'..'9' | 'A'..'F' | 'a'..'f'] + +(* -------------------------------------------------------------------- *) +let anywhite = [%sedlex.regexp? u_space | u_space_extra] +let newline = [%sedlex.regexp? "\r\n" | 10 | 13 | 0x2028 | 0x2029] + +(* -------------------------------------------------------------------- *) +let op_char = [%sedlex.regexp? Chars "!$%&*+-.<>=?^|~:@#\\/"] + +(* op_token must be splt into seperate regular expressions to prevent + compliation from hanging *) +let op_token_1 = [%sedlex.regexp? "~" | "-" | "/\\" | "\\/" | "<:" | "$:" | "<@" | "(|" | "|)" | "#" ] +let op_token_2 = [%sedlex.regexp? "u#" | "&" | "()" | "(" | ")" | "," | "~>" | "->" | "<--" ] +let op_token_3 = [%sedlex.regexp? "<-" | "<==>" | "==>" | "." | "?." | "?" | ".[|" | ".[" | ".(|" | ".(" ] +let op_token_4 = [%sedlex.regexp? "$" | "{:pattern" | "{:well-founded" | ":" | "::" | ":=" | ";;" | ";" | "=" | "%[" | "returns$" ] +let op_token_5 = [%sedlex.regexp? "!{" | "[@@@" | "[@@" | "[@" | "[|" | "{|" | "[" | "|>" | "]" | "|]" | "|}" | "{" | "|" | "}" ] + +(* -------------------------------------------------------------------- *) +let xinteger = + [%sedlex.regexp? + ( '0', ('x'| 'X'), Plus hex + | '0', ('o'| 'O'), Plus ('0' .. '7') + | '0', ('b'| 'B'), Plus ('0' .. '1') )] +let integer = [%sedlex.regexp? Plus digit] +let any_integer = [%sedlex.regexp? xinteger | integer] +let unsigned = [%sedlex.regexp? Chars "uU"] +let int8 = [%sedlex.regexp? any_integer, 'y'] +let uint8 = [%sedlex.regexp? any_integer, unsigned, 'y'] +let int16 = [%sedlex.regexp? any_integer, 's'] +let uint16 = [%sedlex.regexp? any_integer, unsigned, 's'] +let int32 = [%sedlex.regexp? any_integer, 'l'] +let uint32 = [%sedlex.regexp? any_integer, unsigned, 'l'] +let int64 = [%sedlex.regexp? any_integer, 'L'] +let uint64 = [%sedlex.regexp? any_integer, unsigned, 'L'] +let char8 = [%sedlex.regexp? any_integer, 'z'] +let sizet = [%sedlex.regexp? any_integer, "sz"] + +let floatp = [%sedlex.regexp? Plus digit, '.', Star digit] +let floate = [%sedlex.regexp? Plus digit, Opt ('.', Star digit), Chars "eE", Opt (Chars "+-"), Plus digit] +let real = [%sedlex.regexp? floatp, 'R'] +let ieee64 = [%sedlex.regexp? floatp | floate] +let xieee64 = [%sedlex.regexp? xinteger, 'L', 'F'] +let range = [%sedlex.regexp? Plus digit, '.', '.', Plus digit] + +let op_prefix = [%sedlex.regexp? Chars "!~?"] +let op_infix0a = [%sedlex.regexp? Chars "|"] (* left *) +let op_infix0b = [%sedlex.regexp? Chars "&"] (* left *) +let op_infix0c = [%sedlex.regexp? Chars "=<>"] (* left *) +let op_infix0c_nogt = [%sedlex.regexp? Chars "=<"] (* left *) +let op_infix0d = [%sedlex.regexp? Chars "$"] (* left *) + +let op_infix0 = [%sedlex.regexp? op_infix0a | op_infix0b | op_infix0c | op_infix0d] +let op_infix1 = [%sedlex.regexp? Chars "@^"] (* right *) +let op_infix2 = [%sedlex.regexp? Chars "+-"] (* left *) +let op_infix3 = [%sedlex.regexp? Chars "*/%"] (* left *) +let symbolchar = [%sedlex.regexp? op_prefix | op_infix0 | op_infix1 | op_infix2 | op_infix3 | Chars ".:"] +let uoperator = [%sedlex.regexp? u_math_nonascii] + +(* -------------------------------------------------------------------- *) +let escape_char = [%sedlex.regexp? '\\', (Chars "\\\"'bfntrv0" | "x", hex, hex | "u", hex, hex, hex, hex)] +let char = [%sedlex.regexp? Compl '\\' | escape_char] + +(* -------------------------------------------------------------------- *) +let constructor_start_char = [%sedlex.regexp? upper] +let ident_start_char = [%sedlex.regexp? lower | '_'] +let ident_char = [%sedlex.regexp? letter | digit | '\'' | '_'] +let tvar_char = [%sedlex.regexp? letter | digit | '\'' | '_'] + +let constructor = [%sedlex.regexp? constructor_start_char, Star ident_char] +let ident = [%sedlex.regexp? ident_start_char, Star ident_char] +let tvar = [%sedlex.regexp? '\'', (ident_start_char | constructor_start_char), Star tvar_char] + +(* [ensure_no_comment lexbuf next] takes a [lexbuf] and [next], a + continuation. It is to be called after a regexp was matched, to + ensure match text does not contain any comment start. + + If the match [s] contains a comment start (an occurence of [//]) + then we place the lexer at that comment start. We continue with + [next s], [s] being either the whole match, or the chunk before + [//]. +*) +let ensure_no_comment lexbuf (next: string -> token): token = + let s = L.lexeme lexbuf in + next (try let before, _after = BatString.split s "//" in + (* rollback to the begining of the match *) + L.rollback lexbuf; + (* skip [n] characters in the lexer, with [n] being [hd]'s len *) + BatString.iter (fun _ -> let _ = L.next lexbuf in ()) before; + before with | Not_found -> s) + +let rec token lexbuf = +match%sedlex lexbuf with + | "%splice" -> SPLICE + | "%splice_t" -> SPLICET + | "```", ident -> + 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 snap name pos blob_buffer lexbuf + | "`%" -> BACKTICK_PERC + | "`#" -> BACKTICK_HASH + | "`@" -> BACKTICK_AT + | "#lang-", ident -> ( + let s = L.lexeme lexbuf in + let lang_name = BatString.lchop ~n:6 s in + let snap = Sedlexing.snapshot lexbuf in + Buffer.clear use_lang_buffer; + let pos = L.current_pos lexbuf in + use_lang_blob snap lang_name pos use_lang_buffer lexbuf + ) + + | "seq![" -> SEQ_BANG_LBRACK + + | "#show-options" -> PRAGMA_SHOW_OPTIONS + | "#set-options" -> PRAGMA_SET_OPTIONS + | "#reset-options" -> PRAGMA_RESET_OPTIONS + | "#push-options" -> PRAGMA_PUSH_OPTIONS + | "#pop-options" -> PRAGMA_POP_OPTIONS + | "#restart-solver" -> PRAGMA_RESTART_SOLVER + | "#print-effects-graph" -> PRAGMA_PRINT_EFFECTS_GRAPH + | "__SOURCE_FILE__" -> STRING (BU.basename (L.source_file lexbuf)) + | "__LINE__" -> INT (string_of_int (L.current_line lexbuf), false) + | "__FILELINE__" -> STRING (BU.basename (L.source_file lexbuf) ^ "(" ^ (string_of_int (L.current_line lexbuf)) ^ ")") + + | Plus anywhite -> token lexbuf + | newline -> L.new_line lexbuf; token lexbuf + + (* Must appear before tvar to avoid 'a <-> 'a' conflict *) + | ('\'', char, '\'') -> CHAR (unescape (utrim_both lexbuf 1 1)) + | ('\'', char, '\'', 'B') -> CHAR (unescape (utrim_both lexbuf 1 2)) + | '`' -> BACKTICK + + | "match", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:5 s with + | "" -> MATCH + | s -> MATCH_OP s + ) + + | "if", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:2 s with + | "" -> IF + | s -> IF_OP s + ) + + | "let", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:3 s with + | "" -> LET false + | s -> LET_OP s + ) + + | "exists", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:6 s with + | "" -> EXISTS false + | s -> EXISTS_OP s + ) + + | "∃", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> EXISTS false + | s -> EXISTS_OP s + ) + + | "forall", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:6 s with + | "" -> FORALL false + | s -> FORALL_OP s + ) + + | "∀", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> FORALL false + | s -> FORALL_OP s + ) + + | "and", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:3 s with + | "" -> AND + | s -> AND_OP s + ) + + | ";", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> SEMICOLON + | s -> SEMICOLON_OP (Some s) + ) + + | ";;" -> SEMICOLON_OP None + + | ident -> let id = L.lexeme lexbuf in + if BU.starts_with id FStarC_Ident.reserved_prefix + then FStarC_Errors.raise_error_text (current_range lexbuf) Codes.Fatal_ReservedPrefix + (FStarC_Ident.reserved_prefix ^ " is a reserved prefix for an identifier"); + Hashtbl.find_option keywords id |> Option.default (IDENT id) + | constructor -> let id = L.lexeme lexbuf in + Hashtbl.find_option constructors id |> Option.default (NAME id) + + | tvar -> TVAR (L.lexeme lexbuf) + | (integer | xinteger) -> INT (clean_number (L.lexeme lexbuf), false) + | (uint8 | char8) -> + let c = clean_number (L.lexeme lexbuf) in + let cv = int_of_string c in + if cv < 0 || cv > 255 then fail lexbuf (Codes.Fatal_SyntaxError, "Out-of-range character literal") + else UINT8 (c) + | int8 -> INT8 (clean_number (L.lexeme lexbuf), false) + | uint16 -> UINT16 (clean_number (L.lexeme lexbuf)) + | int16 -> INT16 (clean_number (L.lexeme lexbuf), false) + | uint32 -> UINT32 (clean_number (L.lexeme lexbuf)) + | int32 -> INT32 (clean_number (L.lexeme lexbuf), false) + | uint64 -> UINT64 (clean_number (L.lexeme lexbuf)) + | int64 -> INT64 (clean_number (L.lexeme lexbuf), false) + | sizet -> SIZET (clean_number (L.lexeme lexbuf)) + | range -> RANGE (L.lexeme lexbuf) + | real -> REAL(trim_right lexbuf 1) + | (integer | xinteger | ieee64 | xieee64), Plus ident_char -> + fail lexbuf (Codes.Fatal_SyntaxError, "This is not a valid numeric literal: " ^ L.lexeme lexbuf) + + | "(*" -> + let inner, buffer, startpos = start_comment lexbuf in + comment inner buffer startpos lexbuf + + | "// IN F*:" -> token lexbuf + | "//" -> + (* Only match on "//" to allow the longest-match rule to catch IN F*. This + * creates a lexing conflict with op_infix3 which is caught below. *) + one_line_comment (L.lexeme lexbuf) lexbuf + + | '"' -> string (Buffer.create 0) lexbuf.Sedlexing.start_p lexbuf + + | '`', '`', (Plus (Compl ('`' | 10 | 13 | 0x2028 | 0x2029) | '`', Compl ('`' | 10 | 13 | 0x2028 | 0x2029))), '`', '`' -> + IDENT (trim_both lexbuf 2 2) + + (* Pipe operators have special treatment in the parser. *) + | "<|" -> PIPE_LEFT + | "|>" -> PIPE_RIGHT + + | op_token_1 + | op_token_2 + | op_token_3 + | op_token_4 + | op_token_5 -> L.lexeme lexbuf |> Hashtbl.find operators + + | "<" -> OPINFIX0c("<") + | ">" -> if is_typ_app_gt () + then TYP_APP_GREATER + else begin match%sedlex lexbuf with + | Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c (">" ^ s)) + | _ -> assert false end + + (* Operators. *) + | op_prefix, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPPREFIX s) + | op_infix0a, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0a s) + | op_infix0b, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0b s) + | op_infix0c_nogt, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c s) + | op_infix0d, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0d s) + | op_infix1, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX1 s) + | op_infix2, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX2 s) + | op_infix3, Star symbolchar -> ensure_no_comment lexbuf (function + | "" -> one_line_comment "" lexbuf + | s -> OPINFIX3 s + ) + | "**" , Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX4 s) + + (* Unicode Operators *) + | uoperator -> let id = L.lexeme lexbuf in + Hashtbl.find_option operators id |> Option.default (OPINFIX4 id) + + | ".[]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".()<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".(||)<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".[||]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".[]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".()" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".(||)" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".[||]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + + | eof -> EOF + | _ -> fail lexbuf (Codes.Fatal_SyntaxError, "unexpected char") + +and one_line_comment pre lexbuf = +match%sedlex lexbuf with + | Star (Compl (10 | 13 | 0x2028 | 0x2029)) -> push_one_line_comment pre lexbuf; token lexbuf + | _ -> assert false + +and string buffer start_pos lexbuf = +match%sedlex lexbuf with + | '\\', newline, Star anywhite -> L.new_line lexbuf; string buffer start_pos lexbuf + | newline -> + Buffer.add_string buffer (L.lexeme lexbuf); + L.new_line lexbuf; string buffer start_pos lexbuf + | escape_char -> + Buffer.add_string buffer (BatUTF8.init 1 (fun _ -> unescape (L.ulexeme lexbuf) |> BatUChar.chr)); + string buffer start_pos lexbuf + | '"' -> + (* position info must be set since the start of the string *) + lexbuf.Sedlexing.start_p <- start_pos; + STRING (Buffer.contents buffer) + | eof -> fail lexbuf (Codes.Fatal_SyntaxError, "unterminated string") + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + string buffer start_pos lexbuf + | _ -> assert false + +and comment inner buffer startpos lexbuf = +match%sedlex lexbuf with + | "(*" -> + Buffer.add_string buffer "(*" ; + let _ = comment true buffer startpos lexbuf in + comment inner buffer startpos lexbuf + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + comment inner buffer startpos lexbuf + | "*)" -> + terminate_comment buffer startpos lexbuf; + if inner then EOF else token lexbuf + | eof -> + terminate_comment buffer startpos lexbuf; EOF + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + comment inner buffer startpos lexbuf + | _ -> assert false + +and uninterpreted_blob snap name pos buffer lexbuf = +match %sedlex lexbuf with + | "```" -> + BLOB(name, Buffer.contents buffer, pos, snap) + | eof -> + E.raise_error_text (current_range lexbuf) Codes.Fatal_SyntaxError + "Syntax error: unterminated extension syntax" + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + uninterpreted_blob snap name pos buffer lexbuf + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + uninterpreted_blob snap name pos buffer lexbuf + | _ -> assert false + +and use_lang_blob snap name pos buffer lexbuf = +match %sedlex lexbuf with + | eof -> + L.rollback lexbuf; (* leave the eof to be consumed later *) + USE_LANG_BLOB(name, Buffer.contents buffer, pos, snap) + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + use_lang_blob snap name pos buffer lexbuf + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + use_lang_blob snap name pos buffer lexbuf + | _ -> assert false + +and ignore_endline lexbuf = +match%sedlex lexbuf with + | Star ' ', newline -> token lexbuf + | _ -> assert false diff --git a/src/ml/bare/FStarC_Parser_Parse.mly b/src/ml/bare/FStarC_Parser_Parse.mly new file mode 100644 index 00000000000..46ef5124ff0 --- /dev/null +++ b/src/ml/bare/FStarC_Parser_Parse.mly @@ -0,0 +1,1730 @@ +%{ +(* + Menhir reports the following warnings: + + Warning: 5 states have shift/reduce conflicts. + Warning: 6 shift/reduce conflicts were arbitrarily resolved. + Warning: 221 end-of-stream conflicts were arbitrarily resolved. + + If you're editing this file, be sure to not increase the warnings, + except if you have a really good reason. + + The shift-reduce conflicts are natural in an ML-style language. E.g., + there are S-R conflicts with dangling elses, with a non-delimited match where + the BAR is dangling etc. + + Note: Some symbols are marked public, so that we can reuse this parser from + the parser for the Pulse DSL in FStarLang/steel. + +*) +(* (c) Microsoft Corporation. All rights reserved *) +open Prims +open FStar_Pervasives +open FStarC_Errors +open FStarC_List +open FStarC_Util +open FStarC_Range + +(* TODO : these files should be deprecated and removed *) +open FStarC_Parser_Const +open FStarC_Parser_AST +open FStarC_Const +open FStarC_Ident + +(* Shorthands *) +let rr = FStarC_Parser_Util.translate_range +let rr2 = FStarC_Parser_Util.translate_range2 + +let logic_qualifier_deprecation_warning = + "logic qualifier is deprecated, please remove it from the source program. In case your program verifies with the qualifier annotated but not without it, please try to minimize the example and file a github issue." + +let mk_meta_tac m = Meta m + +let old_attribute_syntax_warning = + "The `[@ ...]` syntax of attributes is deprecated. \ + Use `[@@ a1; a2; ...; an]`, a semi-colon separated list of attributes, instead" + +let do_notation_deprecation_warning = + "The lightweight do notation [x <-- y; z] or [x ;; z] is deprecated, use let operators (i.e. [let* x = y in z] or [y ;* z], [*] being any sequence of operator characters) instead." + +let none_to_empty_list x = + match x with + | None -> [] + | Some l -> l + +let parse_extension_blob (extension_name:string) + (s:string) + (blob_range:range) + (extension_syntax_start:range) : FStarC_Parser_AST.decl' = + DeclSyntaxExtension (extension_name, s, blob_range, extension_syntax_start) + +let parse_use_lang_blob (extension_name:string) + (s:string) + (blob_range:range) + (extension_syntax_start:range) +: FStarC_Parser_AST.decl list += FStarC_Parser_AST_Util.parse_extension_lang extension_name s extension_syntax_start + +%} + +%token STRING +%token IDENT +%token NAME +%token TVAR +%token TILDE + +/* bool indicates if INT8 was 'bad' max_int+1, e.g. '128' */ +%token INT8 +%token INT16 +%token INT32 +%token INT64 +%token INT +%token RANGE + +%token UINT8 +%token UINT16 +%token UINT32 +%token UINT64 +%token SIZET +%token REAL +%token CHAR +%token LET +%token LET_OP +%token AND_OP +%token MATCH_OP +%token IF_OP +%token EXISTS +%token EXISTS_OP +%token FORALL +%token FORALL_OP + + +/* [SEMICOLON_OP] encodes either: +- [;;], which used to be SEMICOLON_SEMICOLON, or +- [;], with a sequence of [op_char] (see FStarC_Parser_LexFStar). +*/ +%token SEMICOLON_OP + +%token ASSUME NEW LOGIC ATTRIBUTES +%token IRREDUCIBLE UNFOLDABLE INLINE OPAQUE UNFOLD INLINE_FOR_EXTRACTION +%token NOEXTRACT +%token NOEQUALITY UNOPTEQUALITY +%token PRAGMA_SHOW_OPTIONS PRAGMA_SET_OPTIONS PRAGMA_RESET_OPTIONS PRAGMA_PUSH_OPTIONS PRAGMA_POP_OPTIONS PRAGMA_RESTART_SOLVER PRAGMA_PRINT_EFFECTS_GRAPH +%token TYP_APP_LESS TYP_APP_GREATER SUBTYPE EQUALTYPE SUBKIND BY +%token AND ASSERT SYNTH BEGIN ELSE END +%token EXCEPTION FALSE FUN FUNCTION IF IN MODULE DEFAULT +%token MATCH OF +%token FRIEND OPEN REC THEN TRUE TRY TYPE CALC CLASS INSTANCE EFFECT VAL +%token INTRO ELIM +%token INCLUDE +%token WHEN AS RETURNS RETURNS_EQ WITH HASH AMP LPAREN RPAREN LPAREN_RPAREN COMMA LONG_LEFT_ARROW LARROW RARROW +%token IFF IMPLIES CONJUNCTION DISJUNCTION +%token DOT COLON COLON_COLON SEMICOLON +%token QMARK_DOT +%token QMARK +%token EQUALS PERCENT_LBRACK LBRACK_AT LBRACK_AT_AT LBRACK_AT_AT_AT DOT_LBRACK +%token DOT_LENS_PAREN_LEFT DOT_LPAREN DOT_LBRACK_BAR LBRACK LBRACK_BAR LBRACE_BAR LBRACE BANG_LBRACE +%token BAR_RBRACK BAR_RBRACE UNDERSCORE LENS_PAREN_LEFT LENS_PAREN_RIGHT +%token SEQ_BANG_LBRACK +%token BAR RBRACK RBRACE DOLLAR +%token PRIVATE REIFIABLE REFLECTABLE REIFY RANGE_OF SET_RANGE_OF LBRACE_COLON_PATTERN +%token PIPE_LEFT PIPE_RIGHT +%token NEW_EFFECT SUB_EFFECT LAYERED_EFFECT POLYMONADIC_BIND POLYMONADIC_SUBCOMP SPLICE SPLICET SQUIGGLY_RARROW TOTAL +%token REQUIRES ENSURES DECREASES LBRACE_COLON_WELL_FOUNDED +%token MINUS COLON_EQUALS QUOTE BACKTICK_AT BACKTICK_HASH +%token BACKTICK UNIV_HASH +%token BACKTICK_PERC + +%token OPPREFIX OPINFIX0a OPINFIX0b OPINFIX0c OPINFIX0d OPINFIX1 OPINFIX2 OPINFIX3 OPINFIX4 +%token OP_MIXFIX_ASSIGNMENT OP_MIXFIX_ACCESS +%token BLOB +%token USE_LANG_BLOB + +/* These are artificial */ +%token EOF + +%nonassoc THEN +%nonassoc ELSE + +%nonassoc ASSERT +%nonassoc EQUALTYPE +%nonassoc SUBTYPE +%nonassoc BY + +%right COLON_COLON +%right AMP + +%nonassoc COLON_EQUALS +%left OPINFIX0a +%left OPINFIX0b +%left OPINFIX0c EQUALS +%left OPINFIX0d +%left PIPE_RIGHT +%right PIPE_LEFT +%right OPINFIX1 +%left OPINFIX2 MINUS QUOTE +%left OPINFIX3 +%left BACKTICK +%right OPINFIX4 + +%start inputFragment +%start term +%start warn_error_list +%start oneDeclOrEOF +%type inputFragment +%type <(FStarC_Parser_AST.decl list * FStarC_Sedlexing.snap option) option> oneDeclOrEOF +%type term +%type lident +%type <(FStarC_Errors_Codes.error_flag * string) list> warn_error_list +%% + +(* inputFragment is used at the same time for whole files and fragment of codes (for interactive mode) *) +inputFragment: + | decls=list(decl) EOF + { + as_frag (List.flatten decls) + } + +oneDeclOrEOF: + | EOF { None } + | ds=idecl { Some ds } + +idecl: + | d=decl snap=startOfNextDeclToken + { d, snap } + +%public +startOfNextDeclToken: + | 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 } + | b=USE_LANG_BLOB { let _, _, _, snap = b in Some snap } + +pragmaStartToken: + | PRAGMA_SHOW_OPTIONS + { () } + | PRAGMA_SET_OPTIONS + { () } + | PRAGMA_RESET_OPTIONS + { () } + | PRAGMA_PUSH_OPTIONS + { () } + | PRAGMA_POP_OPTIONS + { () } + | PRAGMA_RESTART_SOLVER + { () } + | PRAGMA_PRINT_EFFECTS_GRAPH + { () } + +/******************************************************************************/ +/* Top level declarations */ +/******************************************************************************/ + +pragma: + | PRAGMA_SHOW_OPTIONS + { ShowOptions } + | PRAGMA_SET_OPTIONS s=string + { SetOptions s } + | PRAGMA_RESET_OPTIONS s_opt=string? + { ResetOptions s_opt } + | PRAGMA_PUSH_OPTIONS s_opt=string? + { PushOptions s_opt } + | PRAGMA_POP_OPTIONS + { PopOptions } + | PRAGMA_RESTART_SOLVER + { RestartSolver } + | PRAGMA_PRINT_EFFECTS_GRAPH + { PrintEffectsGraph } + +attribute: + | LBRACK_AT x = list(atomicTerm) RBRACK + { + let _ = + match x with + | _::_::_ -> + log_issue_text (rr $loc) Warning_DeprecatedAttributeSyntax old_attribute_syntax_warning + | _ -> () in + x + } + | LBRACK_AT_AT x = semiColonTermList RBRACK + { x } + +%public +decoration: + | x=attribute + { DeclAttributes x } + | x=qualifier + { Qualifier x } + +%public +decl: + | ASSUME lid=uident COLON phi=formula + { [mk_decl (Assume(lid, phi)) (rr $loc) [ Qualifier Assumption ]] } + + | blob=USE_LANG_BLOB + { + let ext_name, contents, pos, snap = blob in + (* blob_range is the full range of the blob, starting from the #lang pragma *) + let blob_range = rr (snd snap, snd $loc) in + (* extension_syntax_start_range is where the extension syntax starts not including + the "#lang ident" prefix *) + let extension_syntax_start_range = (rr (pos, pos)) in + let ds = parse_use_lang_blob ext_name contents blob_range extension_syntax_start_range in + mk_decl (UseLangDecls ext_name) extension_syntax_start_range [] :: ds + } + + | ds=list(decoration) decl=rawDecl + { [mk_decl decl (rr $loc(decl)) ds] } + + | ds=list(decoration) decl=typeclassDecl + { let (decl, extra_attrs) = decl in + let d = mk_decl decl (rr $loc(decl)) ds in + [{ d with attrs = extra_attrs @ d.attrs }] + } + +%public +noDecorationDecl: + | ASSUME lid=uident COLON phi=formula + { [mk_decl (Assume(lid, phi)) (rr $loc) [ Qualifier Assumption ]] } + + | blob=USE_LANG_BLOB + { + let ext_name, contents, pos, snap = blob in + (* blob_range is the full range of the blob, starting from the #lang pragma *) + let blob_range = rr (snd snap, snd $loc) in + (* extension_syntax_start_range is where the extension syntax starts not including + the "#lang ident" prefix *) + let extension_syntax_start_range = (rr (pos, pos)) in + let ds = parse_use_lang_blob ext_name contents blob_range extension_syntax_start_range in + mk_decl (UseLangDecls ext_name) extension_syntax_start_range [] :: ds + } + +%public +decoratableDecl: + | decl=rawDecl + { [mk_decl decl (rr $loc(decl)) []] } + + | decl=typeclassDecl + { let (decl, extra_attrs) = decl in + let d = mk_decl decl (rr $loc(decl)) [] in + [{ d with attrs = extra_attrs }] + } + + +typeclassDecl: + | CLASS tcdef=typeDecl + { + (* Only a single type decl allowed, but construct it the same as for multiple ones. + * Only difference is the `true` below marking that this a class so desugaring + * adds the needed %splice. *) + let d = Tycon (false, true, [tcdef]) in + + (* No attrs yet, but perhaps we want a `class` attribute *) + (d, []) + } + + | INSTANCE q=letqualifier lb=letbinding + { + (* Making a single letbinding *) + let r = rr $loc in + let lbs = focusLetBindings [lb] r in (* lbs is a singleton really *) + let d = TopLevelLet(q, lbs) in + + (* Slapping a `tcinstance` attribute to it *) + let at = mk_term (Var tcinstance_lid) r Type_level in + + (d, [at]) + } + + | INSTANCE VAL lid=lidentOrOperator bs=binders COLON t=typ + { + (* Some duplication from rawDecl... *) + let r = rr $loc in + let t = match bs with + | [] -> t + | bs -> mk_term (Product(bs, t)) (rr2 $loc(bs) $loc(t)) Type_level + in + let d = Val(lid, t) in + (* Slapping a `tcinstance` attribute to it *) + let at = mk_term (Var tcinstance_lid) r Type_level in + + (d, [at]) + } + +restriction: + | LBRACE ids=separated_list(COMMA, id=ident renamed=option(AS id=ident {id} ) {(id, renamed)}) RBRACE + { FStarC_Syntax_Syntax.AllowList ids } + | { FStarC_Syntax_Syntax.Unrestricted } + +rawDecl: + | p=pragma + { Pragma p } + | OPEN uid=quident r=restriction + { Open (uid, r) } + | FRIEND uid=quident + { Friend uid } + | INCLUDE uid=quident r=restriction + { Include (uid, r) } + | MODULE UNDERSCORE EQUALS uid=quident + { Open (uid, FStarC_Syntax_Syntax.AllowList []) } + | MODULE uid1=uident EQUALS uid2=quident + { ModuleAbbrev(uid1, uid2) } + | MODULE q=qlident + { raise_error_text (rr $loc(q)) Fatal_SyntaxError "Syntax error: expected a module name" } + | MODULE uid=quident + { TopLevelModule uid } + | TYPE tcdefs=separated_nonempty_list(AND,typeDecl) + { Tycon (false, false, tcdefs) } + | EFFECT uid=uident tparams=typars EQUALS t=typ + { Tycon(true, false, [(TyconAbbrev(uid, tparams, None, t))]) } + | LET q=letqualifier lbs=separated_nonempty_list(AND, letbinding) + { + let r = rr $loc in + let lbs = focusLetBindings lbs r in + if q <> Rec && List.length lbs <> 1 + then raise_error_text r Fatal_MultipleLetBinding "Unexpected multiple let-binding (Did you forget some rec qualifier ?)"; + TopLevelLet(q, lbs) + } + | VAL c=constant + { + (* This is just to provide a better error than "syntax error" *) + raise_error_text (rr $loc) Fatal_SyntaxError "Syntax error: constants are not allowed in val declarations" + } + | VAL lid=lidentOrOperator bs=binders COLON t=typ + { + let t = match bs with + | [] -> t + | bs -> mk_term (Product(bs, t)) (rr2 $loc(bs) $loc(t)) Type_level + in Val(lid, t) + } + | SPLICE LBRACK ids=separated_list(SEMICOLON, ident) RBRACK t=thunk(atomicTerm) + { Splice (false, ids, t) } + | SPLICET LBRACK ids=separated_list(SEMICOLON, ident) RBRACK t=atomicTerm + { Splice (true, ids, t) } + | EXCEPTION lid=uident t_opt=option(OF t=typ {t}) + { Exception(lid, t_opt) } + | NEW_EFFECT ne=newEffect + { NewEffect ne } + | LAYERED_EFFECT ne=effectDefinition + { LayeredEffect ne } + | EFFECT ne=layeredEffectDefinition + { LayeredEffect ne } + | SUB_EFFECT se=subEffect + { SubEffect se } + | POLYMONADIC_BIND b=polymonadic_bind + { Polymonadic_bind b } + | POLYMONADIC_SUBCOMP c=polymonadic_subcomp + { Polymonadic_subcomp c } + | blob=BLOB + { + 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 including + the "```ident" prefix *) + let extension_syntax_start_range = (rr (pos, pos)) in + parse_extension_blob ext_name contents blob_range extension_syntax_start_range + } + + +typeDecl: + (* TODO : change to lident with stratify *) + | lid=ident tparams=typars ascr_opt=ascribeKind? tcdef=typeDefinition + { tcdef lid tparams ascr_opt } + +typars: + | x=tvarinsts { x } + | x=binders { x } + +tvarinsts: + | TYP_APP_LESS tvs=separated_nonempty_list(COMMA, tvar) TYP_APP_GREATER + { map (fun tv -> mk_binder (TVariable(tv)) (range_of_id tv) Kind None) tvs } + +%inline recordDefinition: + | LBRACE record_field_decls=right_flexible_nonempty_list(SEMICOLON, recordFieldDecl) RBRACE + { record_field_decls } + +typeDefinition: + | { (fun id binders kopt -> check_id id; TyconAbstract(id, binders, kopt)) } + | EQUALS t=typ + { (fun id binders kopt -> check_id id; TyconAbbrev(id, binders, kopt, t)) } + /* A documentation on the first branch creates a conflict with { x with a = ... }/{ a = ... } */ + | EQUALS attrs_opt=ioption(binderAttributes) record_field_decls=recordDefinition + { (fun id binders kopt -> check_id id; TyconRecord(id, binders, kopt, none_to_empty_list attrs_opt, record_field_decls)) } + (* having the first BAR optional using left-flexible list creates a s/r on FSDOC since any decl can be preceded by a FSDOC *) + | EQUALS ct_decls=list(constructorDecl) + { (fun id binders kopt -> check_id id; TyconVariant(id, binders, kopt, ct_decls)) } + +recordFieldDecl: + | qualified_lid=aqualifiedWithAttrs(lidentOrOperator) COLON t=typ + { + let (qual, attrs), lid = qualified_lid in + (lid, qual, attrs, t) + } + +constructorPayload: + | COLON t=typ {VpArbitrary t} + | OF t=typ {VpOfNotation t} + | fields=recordDefinition opt=option(COLON t=typ {t}) {VpRecord(fields, opt)} + +constructorDecl: + | BAR attrs_opt=ioption(binderAttributes) + uid=uident + payload=option(constructorPayload) + { uid, payload, none_to_empty_list attrs_opt } + +attr_letbinding: + | attr=ioption(attribute) AND lb=letbinding + { attr, lb } + +letoperatorbinding: + | pat=tuplePattern ascr_opt=ascribeTyp? tm=option(EQUALS tm=term {tm}) + { + let h tm + = ( ( match ascr_opt with + | None -> pat + | Some t -> mk_pattern (PatAscribed(pat, t)) (rr2 $loc(pat) $loc(ascr_opt)) ) + , tm) + in + match pat.pat, tm with + | _ , Some tm -> h tm + | PatVar (v, _, _), None -> + let v = lid_of_ns_and_id [] v in + h (mk_term (Var v) (rr $loc(pat)) Expr) + | _ -> raise_error_text (rr $loc(ascr_opt)) Fatal_SyntaxError "Syntax error: let-punning expects a name, not a pattern" + } + +letbinding: + | focus_opt=maybeFocus lid=lidentOrOperator lbp=nonempty_list(patternOrMultibinder) ascr_opt=ascribeTyp? EQUALS tm=term + { + let pat = mk_pattern (PatVar(lid, None, [])) (rr $loc(lid)) in + let pat = mk_pattern (PatApp (pat, flatten lbp)) (rr2 $loc(focus_opt) $loc(lbp)) in + let pos = rr2 $loc(focus_opt) $loc(tm) in + match ascr_opt with + | None -> (focus_opt, (pat, tm)) + | Some t -> (focus_opt, (mk_pattern (PatAscribed(pat, t)) pos, tm)) + } + | focus_opt=maybeFocus pat=tuplePattern ascr=ascribeTyp eq=EQUALS tm=term + { focus_opt, (mk_pattern (PatAscribed(pat, ascr)) (rr2 $loc(focus_opt) $loc(eq)), tm) } + | focus_opt=maybeFocus pat=tuplePattern EQUALS tm=term + { focus_opt, (pat, tm) } + +/******************************************************************************/ +/* Effects */ +/******************************************************************************/ + +newEffect: + | ed=effectRedefinition + | ed=effectDefinition + { ed } + +effectRedefinition: + | lid=uident EQUALS t=simpleTerm + { RedefineEffect(lid, [], t) } + +effectDefinition: + | LBRACE lid=uident bs=binders COLON typ=tmArrow(tmNoEq) + WITH eds=separated_nonempty_list(SEMICOLON, effectDecl) + RBRACE + { DefineEffect(lid, bs, typ, eds) } + +layeredEffectDefinition: + | LBRACE lid=uident bs=binders WITH r=tmNoEq RBRACE + { + let typ = (* bs -> Effect *) + let first_b, last_b = + match bs with + | [] -> + raise_error_text (range_of_id lid) Fatal_SyntaxError + "Syntax error: unexpected empty binders list in the layered effect definition" + | _ -> hd bs, last bs in + let r = union_ranges first_b.brange last_b.brange in + mk_term (Product (bs, mk_term (Name (lid_of_str "Effect")) r Type_level)) r Type_level in + let rec decls (r:term) = + match r.tm with + | Paren r -> decls r + | Record (None, flds) -> + flds |> List.map (fun (lid, t) -> + mk_decl (Tycon (false, + false, + [TyconAbbrev (ident_of_lid lid, [], None, t)])) + t.range []) + | _ -> + raise_error_text r.range Fatal_SyntaxError + "Syntax error: layered effect combinators should be declared as a record" + in + DefineEffect (lid, [], typ, decls r) } + +effectDecl: + | lid=lident action_params=binders EQUALS t=simpleTerm + { mk_decl (Tycon (false, false, [TyconAbbrev(lid, action_params, None, t)])) (rr $loc) [] } + +subEffect: + | src_eff=quident SQUIGGLY_RARROW tgt_eff=quident EQUALS lift=simpleTerm + { { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift; braced=false } } + | src_eff=quident SQUIGGLY_RARROW tgt_eff=quident + LBRACE + lift1=separated_pair(IDENT, EQUALS, simpleTerm) + lift2_opt=ioption(separated_pair(SEMICOLON id=IDENT {id}, EQUALS, simpleTerm)) + /* might be nice for homogeneity if possible : ioption(SEMICOLON) */ + RBRACE + { + match lift2_opt with + | None -> + begin match lift1 with + | ("lift", lift) -> + { msource = src_eff; mdest = tgt_eff; lift_op = LiftForFree lift; braced=true } + | ("lift_wp", lift_wp) -> + { msource = src_eff; mdest = tgt_eff; lift_op = NonReifiableLift lift_wp; braced=true } + | _ -> + raise_error_text (rr $loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', and possibly 'lift_wp'}" + end + | Some (id2, tm2) -> + let (id1, tm1) = lift1 in + let lift, lift_wp = match (id1, id2) with + | "lift_wp", "lift" -> tm1, tm2 + | "lift", "lift_wp" -> tm2, tm1 + | _ -> raise_error_text (rr $loc) Fatal_UnexpectedIdentifier "Unexpected identifier; expected {'lift', 'lift_wp'}" + in + { msource = src_eff; mdest = tgt_eff; lift_op = ReifiableLift (lift, lift_wp); braced=true } + } + +polymonadic_bind: + | LPAREN m_eff=quident COMMA n_eff=quident RPAREN PIPE_RIGHT p_eff=quident EQUALS bind=simpleTerm + { (m_eff, n_eff, p_eff, bind) } + +polymonadic_subcomp: + | m_eff=quident SUBTYPE n_eff=quident EQUALS subcomp=simpleTerm + { (m_eff, n_eff, subcomp) } + + +/******************************************************************************/ +/* Qualifiers, tags, ... */ +/******************************************************************************/ + +qualifier: + | ASSUME { Assumption } + | INLINE { + raise_error_text (rr $loc) Fatal_InlineRenamedAsUnfold + "The 'inline' qualifier has been renamed to 'unfold'" + } + | UNFOLDABLE { + raise_error_text (rr $loc) Fatal_UnfoldableDeprecated + "The 'unfoldable' qualifier is no longer denotable; it is the default qualifier so just omit it" + } + | INLINE_FOR_EXTRACTION { + Inline_for_extraction + } + | UNFOLD { + Unfold_for_unification_and_vcgen + } + | IRREDUCIBLE { Irreducible } + | NOEXTRACT { NoExtract } + | DEFAULT { DefaultEffect } + | TOTAL { TotalEffect } + | PRIVATE { Private } + + | NOEQUALITY { Noeq } + | UNOPTEQUALITY { Unopteq } + | NEW { New } + | LOGIC { log_issue_text (rr $loc) Warning_logicqualifier logic_qualifier_deprecation_warning; + Logic } + | OPAQUE { Opaque } + | REIFIABLE { Reifiable } + | REFLECTABLE { Reflectable } + +maybeFocus: + | b=boption(SQUIGGLY_RARROW) { b } + +letqualifier: + | REC { Rec } + | { NoLetQualifier } + +(* + * AR: this should be generalized to: + * (a) allow attributes on non-implicit binders + * note that in the [@@ case, we choose the Implicit aqual + *) +aqual: + | HASH LBRACK t=thunk(term) RBRACK { mk_meta_tac t } + | HASH { Implicit } + | DOLLAR { Equality } + +binderAttributes: + | LBRACK_AT_AT_AT t=semiColonTermList RBRACK { t } + +/******************************************************************************/ +/* Patterns, binders */ +/******************************************************************************/ + +(* disjunction should be allowed in nested patterns *) +disjunctivePattern: + | pats=separated_nonempty_list(BAR, tuplePattern) { pats } + +%public +tuplePattern: + | pats=separated_nonempty_list(COMMA, constructorPattern) + { match pats with | [x] -> x | l -> mk_pattern (PatTuple (l, false)) (rr $loc) } + +constructorPattern: + | pat=constructorPattern COLON_COLON pats=constructorPattern + { mk_pattern (consPat (rr $loc(pats)) pat pats) (rr $loc) } + | uid=quident args=nonempty_list(atomicPattern) + { + let head_pat = mk_pattern (PatName uid) (rr $loc(uid)) in + mk_pattern (PatApp (head_pat, args)) (rr $loc) + } + | pat=atomicPattern + { pat } + +atomicPattern: + | LPAREN pat=tuplePattern COLON t=simpleArrow phi_opt=refineOpt RPAREN + { + let pos_t = rr2 $loc(pat) $loc(t) in + let pos = rr $loc in + mkRefinedPattern pat t true phi_opt pos_t pos + } + | LBRACK pats=separated_list(SEMICOLON, tuplePattern) RBRACK + { mk_pattern (PatList pats) (rr2 $loc($1) $loc($3)) } + | LBRACE record_pat=right_flexible_list(SEMICOLON, fieldPattern) RBRACE + { mk_pattern (PatRecord record_pat) (rr $loc) } + | LENS_PAREN_LEFT pat0=constructorPattern COMMA pats=separated_nonempty_list(COMMA, constructorPattern) LENS_PAREN_RIGHT + { mk_pattern (PatTuple(pat0::pats, true)) (rr $loc) } + | LPAREN pat=tuplePattern RPAREN { pat } + | tv=tvar { mk_pattern (PatTvar (tv, None, [])) (rr $loc(tv)) } + | LPAREN op=operator RPAREN + { mk_pattern (PatOp op) (rr $loc) } + | UNDERSCORE + { mk_pattern (PatWild (None, [])) (rr $loc) } + | HASH UNDERSCORE + { 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_text r Fatal_SyntaxError "Syntax_error: negative integer constant with unsigned width") + | _ -> raise_error_text r Fatal_SyntaxError "Syntax_error: negative constant that is not an integer" + in + mk_pattern (PatConst c) r } + | BACKTICK_PERC q=atomicTerm + { mk_pattern (PatVQuote q) (rr $loc) } + | qual_id=aqualifiedWithAttrs(lident) + { + let (aqual, attrs), lid = qual_id in + mk_pattern (PatVar (lid, aqual, attrs)) (rr $loc(qual_id)) } + | uid=quident + { mk_pattern (PatName uid) (rr $loc(uid)) } + +fieldPattern: + | p = separated_pair(qlident, EQUALS, tuplePattern) + { p } + | lid=qlident + { lid, mk_pattern (PatVar (ident_of_lid lid, None, [])) (rr $loc(lid)) } + + (* (x : t) is already covered by atomicPattern *) + (* we do *NOT* allow _ in multibinder () since it creates reduce/reduce conflicts when*) + (* preprocessing to ocamlyacc/fsyacc (which is expected since the macro are expanded) *) +patternOrMultibinder: + | LBRACE_BAR id=lidentOrUnderscore COLON t=simpleArrow BAR_RBRACE + { let r = rr $loc in + let w = mk_pattern (PatVar (id, Some TypeClassArg, [])) r in + let asc = (t, None) in + [mk_pattern (PatAscribed(w, asc)) r] + } + + | LBRACE_BAR t=simpleArrow BAR_RBRACE + { let r = rr $loc in + let id = gen r in + let w = mk_pattern (PatVar (id, Some TypeClassArg, [])) r in + let asc = (t, None) in + [mk_pattern (PatAscribed(w, asc)) r] + } + | pat=atomicPattern { [pat] } + | LPAREN qual_id0=aqualifiedWithAttrs(lident) qual_ids=nonempty_list(aqualifiedWithAttrs(lident)) COLON t=simpleArrow r=refineOpt RPAREN + { + let pos = rr $loc in + let t_pos = rr $loc(t) in + let qual_ids = qual_id0 :: qual_ids in + List.map (fun ((aq, attrs), x) -> mkRefinedPattern (mk_pattern (PatVar (x, aq, attrs)) pos) t false r t_pos pos) qual_ids + } + +binder: + | aqualifiedWithAttrs_lid=aqualifiedWithAttrs(lidentOrUnderscore) + { + let (q, attrs), lid = aqualifiedWithAttrs_lid in + mk_binder_with_attrs (Variable lid) (rr $loc(aqualifiedWithAttrs_lid)) Type_level q attrs + } + + | tv=tvar { mk_binder (TVariable tv) (rr $loc) Kind None } + (* small regression here : fun (=x : t) ... is not accepted anymore *) + +%public +multiBinder: + | LBRACE_BAR id=lidentOrUnderscore COLON t=simpleArrow BAR_RBRACE + { let r = rr $loc in + [mk_binder (Annotated (id, t)) r Type_level (Some TypeClassArg)] + } + + | LBRACE_BAR t=simpleArrow BAR_RBRACE + { let r = rr $loc in + let id = gen r in + [mk_binder (Annotated (id, t)) r Type_level (Some TypeClassArg)] + } + + | LPAREN qual_ids=nonempty_list(aqualifiedWithAttrs(lidentOrUnderscore)) COLON t=simpleArrow r=refineOpt RPAREN + { + let should_bind_var = match qual_ids with | [ _ ] -> true | _ -> false in + List.map (fun ((q, attrs), x) -> + mkRefinedBinder x t should_bind_var r (rr $loc) q attrs) qual_ids + } + + | LPAREN_RPAREN + { + let r = rr $loc in + let unit_t = mk_term (Var (lid_of_ids [(mk_ident("unit", r))])) r Un in + [mk_binder (Annotated (gen r, unit_t)) r Un None] + } + + | b=binder { [b] } + +%public +binders: bss=list(bs=multiBinder {bs}) { flatten bss } + +aqualifiedWithAttrs(X): + | aq=aqual attrs=binderAttributes x=X { (Some aq, attrs), x } + | aq=aqual x=X { (Some aq, []), x } + | attrs=binderAttributes x=X { (None, attrs), x } + | x=X { (None, []), x } + +/******************************************************************************/ +/* Identifiers, module paths */ +/******************************************************************************/ + +%public +qlident: + | ids=path(lident) { lid_of_ids ids } + +%public +quident: + | ids=path(uident) { lid_of_ids ids } + +path(Id): + | id=Id { [id] } + | uid=uident DOT p=path(Id) { uid::p } + +ident: + | x=lident { x } + | x=uident { x } + +qlidentOrOperator: + | qid=qlident { qid } + | LPAREN id=operator RPAREN + { lid_of_ns_and_id [] (id_of_text (compile_op' (string_of_id id) (range_of_id id))) } + +%inline lidentOrOperator: + | id=lident { id } + | LPAREN id=operator RPAREN + { mk_ident (compile_op' (string_of_id id) (range_of_id id), range_of_id id) } + +matchMaybeOp: + | MATCH {None} + | op=MATCH_OP { Some (mk_ident ("let" ^ op, rr $loc(op))) } + +ifMaybeOp: + | IF {None} + | op=IF_OP { Some (mk_ident ("let" ^ op, rr $loc(op))) } + +%public +lidentOrUnderscore: + | id=IDENT { mk_ident(id, rr $loc(id))} + | UNDERSCORE { gen (rr $loc) } + +%public +lident: + | id=IDENT { mk_ident(id, rr $loc(id))} + +uident: + | id=NAME { mk_ident(id, rr $loc(id)) } + +tvar: + | tv=TVAR { mk_ident(tv, rr $loc(tv)) } + + +/******************************************************************************/ +/* Types and terms */ +/******************************************************************************/ + +thunk(X): | t=X { mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr $loc)], t)) (rr $loc) Expr } + +thunk2(X): + | t=X + { let u = mk_term (Const Const_unit) (rr $loc) Expr in + let t = mk_term (Seq (u, t)) (rr $loc) Expr in + mk_term (Abs ([mk_pattern (PatWild (None, [])) (rr $loc)], t)) (rr $loc) Expr } + +ascribeTyp: + | COLON t=tmArrow(tmNoEq) tacopt=option(BY tactic=thunk(trailingTerm) {tactic}) { t, tacopt } + +(* Remove for stratify *) +ascribeKind: + | COLON k=kind { k } + +(* Remove for stratify *) +kind: + | t=tmArrow(tmNoEq) { {t with level=Kind} } + + +term: + | e=noSeqTerm + { e } + | e1=noSeqTerm SEMICOLON e2=term + { mk_term (Seq(e1, e2)) (rr2 $loc(e1) $loc(e2)) Expr } +(* Added this form for sequencing; *) +(* but it results in an additional shift/reduce conflict *) +(* ... which is actually be benign, since the same conflict already *) +(* exists for the previous production *) + | e1=noSeqTerm op=SEMICOLON_OP e2=term + { let t = match op with + | Some op -> + let op = mk_ident ("let" ^ op, rr $loc(op)) in + let pat = mk_pattern (PatWild(None, [])) (rr $loc(op)) in + LetOperator ([(op, pat, e1)], e2) + | None -> + log_issue_text (rr $loc) Warning_DeprecatedLightDoNotation do_notation_deprecation_warning; + Bind(gen (rr $loc(op)), e1, e2) + in mk_term t (rr2 $loc(e1) $loc(e2)) Expr + } + | x=lidentOrUnderscore LONG_LEFT_ARROW e1=noSeqTerm SEMICOLON e2=term + { log_issue_text (rr $loc) Warning_DeprecatedLightDoNotation do_notation_deprecation_warning; + mk_term (Bind(x, e1, e2)) (rr2 $loc(x) $loc(e2)) Expr } + +match_returning: + | as_opt=option(AS i=lident {i}) RETURNS t=tmIff {as_opt,t,false} + | as_opt=option(AS i=lident {i}) RETURNS_EQ t=tmIff {as_opt,t,true} + +%public +noSeqTerm: + | t=typ { t } + | e=tmIff SUBTYPE t=tmIff + { mk_term (Ascribed(e,{t with level=Expr},None,false)) (rr $loc(e)) Expr } + | e=tmIff SUBTYPE t=tmIff BY tactic=thunk(typ) + { mk_term (Ascribed(e,{t with level=Expr},Some tactic,false)) (rr2 $loc(e) $loc(tactic)) Expr } + | e=tmIff EQUALTYPE t=tmIff + { + log_issue_text (rr $loc) Warning_BleedingEdge_Feature + "Equality type ascriptions is an experimental feature subject to redesign in the future"; + mk_term (Ascribed(e,{t with level=Expr},None,true)) (rr $loc(e)) Expr + } + | e=tmIff EQUALTYPE t=tmIff BY tactic=thunk(typ) + { + log_issue_text (rr $loc) Warning_BleedingEdge_Feature + "Equality type ascriptions is an experimental feature subject to redesign in the future"; + mk_term (Ascribed(e,{t with level=Expr},Some tactic,true)) (rr2 $loc(e) $loc(tactic)) Expr + } + | e1=atomicTermNotQUident op_expr=dotOperator LARROW e3=noSeqTerm + { + let (op, e2, _) = op_expr in + let opid = mk_ident (string_of_id op ^ "<-", range_of_id op) in + mk_term (Op(opid, [ e1; e2; e3 ])) (rr2 $loc(e1) $loc(e3)) Expr + } + | REQUIRES t=typ + { mk_term (Requires(t, None)) (rr2 $loc($1) $loc(t)) Type_level } + | ENSURES t=typ + { mk_term (Ensures(t, None)) (rr2 $loc($1) $loc(t)) Type_level } + | DECREASES t=typ + { mk_term (Decreases (t, None)) (rr2 $loc($1) $loc(t)) Type_level } + | DECREASES LBRACE_COLON_WELL_FOUNDED t=noSeqTerm RBRACE + (* + * decreases clause with relation is written as e1 e2, + * where e1 is a relation and e2 is a term + * + * this is parsed as an app node, so we destruct the app node + *) + { match t.tm with + | App (t1, t2, _) -> + let ot = mk_term (WFOrder (t1, t2)) (rr2 $loc(t) $loc(t)) Type_level in + mk_term (Decreases (ot, None)) (rr2 $loc($1) $loc($4)) Type_level + | _ -> + raise_error_text (rr $loc(t)) Fatal_SyntaxError + "Syntax error: To use well-founded relations, write e1 e2" + } + + | ATTRIBUTES es=nonempty_list(atomicTerm) + { mk_term (Attributes es) (rr2 $loc($1) $loc(es)) Type_level } + | op=ifMaybeOp e1=noSeqTerm ret_opt=option(match_returning) THEN e2=noSeqTerm ELSE e3=noSeqTerm + { mk_term (If(e1, op, ret_opt, e2, e3)) (rr2 $loc(op) $loc(e3)) Expr } + | op=ifMaybeOp e1=noSeqTerm ret_opt=option(match_returning) THEN e2=noSeqTerm + { + let e3 = mk_term (Const Const_unit) (rr2 $loc(op) $loc(e2)) Expr in + mk_term (If(e1, op, ret_opt, e2, e3)) (rr2 $loc(op) $loc(e2)) Expr + } + | TRY e1=term WITH pbs=left_flexible_nonempty_list(BAR, patternBranch) + { + let branches = focusBranches (pbs) (rr2 $loc($1) $loc(pbs)) in + mk_term (TryWith(e1, branches)) (rr2 $loc($1) $loc(pbs)) Expr + } + | op=matchMaybeOp e=term ret_opt=option(match_returning) WITH pbs=left_flexible_list(BAR, pb=patternBranch {pb}) + { + let branches = focusBranches pbs (rr2 $loc(op) $loc(pbs)) in + mk_term (Match(e, op, ret_opt, branches)) (rr2 $loc(op) $loc(pbs)) Expr + } + | LET OPEN t=term IN e=term + { + match t.tm with + | Ascribed(r, rty, None, _) -> + mk_term (LetOpenRecord(r, rty, e)) (rr2 $loc($1) $loc(e)) Expr + + | Name uid -> + mk_term (LetOpen(uid, e)) (rr2 $loc($1) $loc(e)) Expr + + | _ -> + raise_error_text (rr $loc(t)) Fatal_SyntaxError + "Syntax error: local opens expects either opening\n\ + a module or namespace using `let open T in e`\n\ + or, a record type with `let open e <: t in e'`" + } + + | attrs=ioption(attribute) + LET q=letqualifier lb=letbinding lbs=list(attr_letbinding) IN e=term + { + let lbs = (attrs, lb)::lbs in + let lbs = focusAttrLetBindings lbs (rr2 $loc(q) $loc(lb)) in + mk_term (Let(q, lbs, e)) (rr $loc) Expr + } + | op=let_op b=letoperatorbinding lbs=list(op=and_op b=letoperatorbinding {(op, b)}) IN e=term + { let lbs = (op, b)::lbs in + mk_term (LetOperator ( List.map (fun (op, (pat, tm)) -> (op, pat, tm)) lbs + , e)) (rr2 $loc(op) $loc(e)) Expr + } + | FUNCTION pbs=left_flexible_nonempty_list(BAR, patternBranch) + { + let branches = focusBranches pbs (rr2 $loc($1) $loc(pbs)) in + mk_function branches (rr $loc) (rr2 $loc($1) $loc(pbs)) + } + | a=ASSUME e=noSeqTerm + { let a = set_lid_range assume_lid (rr $loc(a)) in + mkExplicitApp (mk_term (Var a) (rr $loc(a)) Expr) [e] (rr $loc) + } + + | a=ASSERT e=noSeqTerm + { + let a = set_lid_range assert_lid (rr $loc(a)) in + mkExplicitApp (mk_term (Var a) (rr $loc(a)) Expr) [e] (rr $loc) + } + + | a=ASSERT e=noSeqTerm BY tactic=thunk2(typ) + { + let a = set_lid_range assert_by_tactic_lid (rr $loc(a)) in + mkExplicitApp (mk_term (Var a) (rr $loc(a)) Expr) [e; tactic] (rr $loc) + } + + | u=UNDERSCORE BY tactic=thunk(atomicTerm) + { + let a = set_lid_range synth_lid (rr $loc(u)) in + mkExplicitApp (mk_term (Var a) (rr $loc(u)) Expr) [tactic] (rr $loc) + } + + | s=SYNTH tactic=atomicTerm + { + let a = set_lid_range synth_lid (rr $loc(s)) in + mkExplicitApp (mk_term (Var a) (rr $loc(s)) Expr) [tactic] (rr $loc) + } + + | CALC rel=atomicTerm LBRACE init=noSeqTerm SEMICOLON steps=list(calcStep) RBRACE + { + mk_term (CalcProof (rel, init, steps)) (rr2 $loc($1) $loc($7)) Expr + } + + | INTRO FORALL bs=binders DOT p=noSeqTerm WITH e=noSeqTerm + { + mk_term (IntroForall(bs, p, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | INTRO EXISTS bs=binders DOT p=noSeqTerm WITH vs=list(atomicTerm) AND e=noSeqTerm + { + if List.length bs <> List.length vs + then raise_error_text (rr $loc(vs)) Fatal_SyntaxError "Syntax error: expected instantiations for all binders" + else mk_term (IntroExists(bs, p, vs, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | INTRO p=tmFormula IMPLIES q=tmFormula WITH y=singleBinder DOT e=noSeqTerm + { + mk_term (IntroImplies(p, q, y, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | INTRO p=tmFormula DISJUNCTION q=tmConjunction WITH lr=NAME e=noSeqTerm + { + let b = + if lr = "Left" then true + else if lr = "Right" then false + else raise_error_text (rr $loc(lr)) Fatal_SyntaxError "Syntax error: _intro_ \\/ expects either 'Left' or 'Right'" + in + mk_term (IntroOr(b, p, q, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | INTRO p=tmConjunction CONJUNCTION q=tmTuple WITH e1=noSeqTerm AND e2=noSeqTerm + { + mk_term (IntroAnd(p, q, e1, e2)) (rr2 $loc($1) $loc(e2)) Expr + } + + | ELIM FORALL xs=binders DOT p=noSeqTerm WITH vs=list(atomicTerm) + { + mk_term (ElimForall(xs, p, vs)) (rr2 $loc($1) $loc(vs)) Expr + } + + | ELIM EXISTS bs=binders DOT p=noSeqTerm RETURNS q=noSeqTerm WITH y=singleBinder DOT e=noSeqTerm + { + mk_term (ElimExists(bs, p, q, y, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | ELIM p=tmFormula IMPLIES q=tmFormula WITH e=noSeqTerm + { + mk_term (ElimImplies(p, q, e)) (rr2 $loc($1) $loc(e)) Expr + } + + | ELIM p=tmFormula DISJUNCTION q=tmConjunction RETURNS r=noSeqTerm WITH x=singleBinder DOT e1=noSeqTerm AND y=singleBinder DOT e2=noSeqTerm + { + mk_term (ElimOr(p, q, r, x, e1, y, e2)) (rr2 $loc($1) $loc(e2)) Expr + } + + | ELIM p=tmConjunction CONJUNCTION q=tmTuple RETURNS r=noSeqTerm WITH xs=binders DOT e=noSeqTerm + { + match xs with + | [x;y] -> mk_term (ElimAnd(p, q, r, x, y, e)) (rr2 $loc($1) $loc(e)) Expr + } + +singleBinder: + | bs=binders + { + match bs with + | [b] -> b + | _ -> raise_error_text (rr $loc(bs)) Fatal_SyntaxError "Syntax error: expected a single binder" + } + +calcRel: + | i=binop_name { mk_term (Op (i, [])) (rr $loc(i)) Expr } + | BACKTICK id=qlident BACKTICK { mk_term (Var id) (rr $loc) Un } + | t=atomicTerm { t } + +calcStep: + | rel=calcRel LBRACE justif=option(term) RBRACE next=noSeqTerm SEMICOLON + { + let justif = + match justif with + | Some t -> t + | None -> mk_term (Const Const_unit) (rr2 $loc($2) $loc($4)) Expr + in + CalcStep (rel, justif, next) + } + +%inline +typ: + | t=simpleTerm { t } + +%public +%inline quantifier: + | FORALL { fun x -> QForall x } + | EXISTS { fun x -> QExists x} + | op=FORALL_OP + { + let op = mk_ident("forall" ^ op, rr $loc(op)) in + fun (x,y,z) -> QuantOp (op, x, y, z) + } + | op=EXISTS_OP + { + let op = mk_ident("exists" ^ op, rr $loc(op)) in + fun (x,y,z) -> QuantOp (op, x, y, z) + } + +%public +trigger: + | { [] } + | LBRACE_COLON_PATTERN pats=disjunctivePats RBRACE { pats } + +disjunctivePats: + | pats=separated_nonempty_list(DISJUNCTION, conjunctivePat) { pats } + +conjunctivePat: + | pats=separated_nonempty_list(SEMICOLON, appTerm) { pats } + +%inline simpleTerm: + | e=tmIff { e } + +maybeFocusArrow: + | RARROW { false } + | SQUIGGLY_RARROW { true } + +patternBranch: + | pat=disjunctivePattern when_opt=maybeWhen focus=maybeFocusArrow e=term + { + let pat = match pat with + | [p] -> p + | ps -> mk_pattern (PatOr ps) (rr2 $loc(pat) $loc(pat)) + in + (focus, (pat, when_opt, e)) + } + +%inline maybeWhen: + | { None } + | WHEN e=tmFormula { Some e } + + + +tmIff: + | e1=tmImplies tok=IFF e2=tmIff + { mk_term (Op(mk_ident("<==>", rr $loc(tok)), [e1; e2])) (rr2 $loc(e1) $loc(e2)) Formula } + | e=tmImplies { e } + +tmImplies: + | e1=tmArrow(tmFormula) tok=IMPLIES e2=tmImplies + { mk_term (Op(mk_ident("==>", rr $loc(tok)), [e1; e2])) (rr2 $loc(e1) $loc(e2)) Formula } + | e=tmArrow(tmFormula) + { e } + + +(* Tm : either tmFormula, containing EQUALS or tmNoEq, without EQUALS *) +tmArrow(Tm): + | dom=tmArrowDomain(Tm) RARROW tgt=tmArrow(Tm) + { + let ((aq_opt, attrs), dom_tm) = dom in + let b = match extract_named_refinement true dom_tm with + | None -> mk_binder_with_attrs (NoName dom_tm) (rr $loc(dom)) Un aq_opt attrs + | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 $loc(dom) $loc(dom)) aq_opt attrs + in + mk_term (Product([b], tgt)) (rr2 $loc(dom) $loc(tgt)) Un + } + | e=Tm { e } + +simpleArrow: + | dom=simpleArrowDomain RARROW tgt=simpleArrow + { + let ((aq_opt, attrs), dom_tm) = dom in + let b = match extract_named_refinement true dom_tm with + | None -> mk_binder_with_attrs (NoName dom_tm) (rr $loc(dom)) Un aq_opt attrs + | Some (x, t, f) -> mkRefinedBinder x t true f (rr2 $loc(dom) $loc(dom)) aq_opt attrs + in + mk_term (Product([b], tgt)) (rr2 $loc(dom) $loc(tgt)) Un + } + | e=tmEqNoRefinement { e } + +simpleArrowDomain: + | LBRACE_BAR t=tmEqNoRefinement BAR_RBRACE { ((Some TypeClassArg, []), t) } + | aq_opt=ioption(aqual) attrs_opt=ioption(binderAttributes) dom_tm=tmEqNoRefinement { (aq_opt, none_to_empty_list attrs_opt), dom_tm } + +(* Tm already accounts for ( term ), we need to add an explicit case for (#Tm), (#[@@@...]Tm) and ([@@@...]Tm) *) +%inline tmArrowDomain(Tm): + | LBRACE_BAR t=Tm BAR_RBRACE { ((Some TypeClassArg, []), t) } + | LPAREN q=aqual attrs_opt=ioption(binderAttributes) dom_tm=Tm RPAREN { (Some q, none_to_empty_list attrs_opt), dom_tm } + | LPAREN attrs=binderAttributes dom_tm=Tm RPAREN { (None, attrs), dom_tm } + | aq_opt=ioption(aqual) attrs_opt=ioption(binderAttributes) dom_tm=Tm { (aq_opt, none_to_empty_list attrs_opt), dom_tm } + +tmFormula: + | e1=tmFormula tok=DISJUNCTION e2=tmConjunction + { mk_term (Op(mk_ident("\\/", rr $loc(tok)), [e1;e2])) (rr2 $loc(e1) $loc(e2)) Formula } + | e=tmConjunction { e } + +tmConjunction: + | e1=tmConjunction tok=CONJUNCTION e2=tmTuple + { mk_term (Op(mk_ident("/\\", rr $loc(tok)), [e1;e2])) (rr2 $loc(e1) $loc(e2)) Formula } + | e=tmTuple { e } + +tmTuple: + | el=separated_nonempty_list(COMMA, tmEq) + { + match el with + | [x] -> x + | components -> mkTuple components (rr2 $loc(el) $loc(el)) + } + + + +%public +tmEqWith(X): + | e1=tmEqWith(X) tok=EQUALS e2=tmEqWith(X) + { mk_term (Op(mk_ident("=", rr $loc(tok)), [e1; e2])) (rr $loc) Un} + (* non-associativity of COLON_EQUALS is currently not well handled by fsyacc which reports a s/r conflict *) + (* see https:/ /github.com/fsprojects/FsLexYacc/issues/39 *) + | e1=tmEqWith(X) tok=COLON_EQUALS e2=tmEqWith(X) + { mk_term (Op(mk_ident(":=", rr $loc(tok)), [e1; e2])) (rr $loc) Un} + + | e1=tmEqWith(X) op=PIPE_LEFT e2=tmEqWith(X) + { mk_term (Op(mk_ident("<|", rr $loc(op)), [e1; e2])) (rr $loc) Un} + + | e1=tmEqWith(X) op=PIPE_RIGHT e2=tmEqWith(X) + { mk_term (Op(mk_ident("|>", rr $loc(op)), [e1; e2])) (rr $loc) Un} + + + | e1=tmEqWith(X) op=operatorInfix0ad12 e2=tmEqWith(X) + { mk_term (Op(op, [e1; e2])) (rr2 $loc(e1) $loc(e2)) Un} + | e1=tmEqWith(X) tok=MINUS e2=tmEqWith(X) + { mk_term (Op(mk_ident("-", rr $loc(tok)), [e1; e2])) (rr $loc) Un} + | tok=MINUS e=tmEqWith(X) + { mk_uminus e (rr $loc(tok)) (rr $loc) Expr } + | QUOTE e=tmEqWith(X) + { mk_term (Quote (e, Dynamic)) (rr $loc) Un } + | BACKTICK e=tmEqWith(X) + { mk_term (Quote (e, Static)) (rr $loc) Un } + | BACKTICK_AT e=atomicTerm + { let q = mk_term (Quote (e, Dynamic)) (rr $loc) Un in + mk_term (Antiquote q) (rr $loc) Un } + | BACKTICK_HASH e=atomicTerm + { mk_term (Antiquote e) (rr $loc) Un } + | e=tmNoEqWith(X) + { e } + +%inline recordTerm: + | LBRACE e=recordExp RBRACE { e } + +tmNoEqWith(X): + | e1=tmNoEqWith(X) COLON_COLON e2=tmNoEqWith(X) + { consTerm (rr $loc) e1 e2 } + | e1=tmNoEqWith(X) AMP e2=tmNoEqWith(X) + { + let dom = + match extract_named_refinement false e1 with + | Some (x, t, f) -> + let dom = mkRefinedBinder x t true f (rr $loc(e1)) None [] in + Inl dom + | _ -> + Inr e1 + in + let tail = e2 in + let dom, res = + match tail.tm with + | Sum(dom', res) -> dom::dom', res + | _ -> [dom], tail + in + mk_term (Sum(dom, res)) (rr2 $loc(e1) $loc(e2)) Type_level + } + | e1=tmNoEqWith(X) op=OPINFIX3 e2=tmNoEqWith(X) + { mk_term (Op(mk_ident(op, rr $loc(op)), [e1; e2])) (rr $loc) Un} + | e1=tmNoEqWith(X) BACKTICK op=tmNoEqWith(X) BACKTICK e2=tmNoEqWith(X) + { mkApp op [ e1, Infix; e2, Nothing ] (rr $loc) } + | e1=tmNoEqWith(X) op=OPINFIX4 e2=tmNoEqWith(X) + { mk_term (Op(mk_ident(op, rr $loc(op)), [e1; e2])) (rr $loc) Un} + | e=recordTerm { e } + | BACKTICK_PERC e=atomicTerm + { mk_term (VQuote e) (rr $loc) Un } + | op=TILDE e=atomicTerm + { mk_term (Op(mk_ident (op, rr $loc(op)), [e])) (rr $loc) Formula } + | e=X { e } + +binop_name: + | o=OPINFIX0a { mk_ident (o, rr $loc) } + | o=OPINFIX0b { mk_ident (o, rr $loc) } + | o=OPINFIX0c { mk_ident (o, rr $loc) } + | o=EQUALS { mk_ident ("=", rr $loc) } + | o=OPINFIX0d { mk_ident (o, rr $loc) } + | o=OPINFIX1 { mk_ident (o, rr $loc) } + | o=OPINFIX2 { mk_ident (o, rr $loc) } + | o=OPINFIX3 { mk_ident (o, rr $loc) } + | o=OPINFIX4 { mk_ident (o, rr $loc) } + | o=IMPLIES { mk_ident ("==>", rr $loc) } + | o=CONJUNCTION { mk_ident ("/\\", rr $loc) } + | o=DISJUNCTION { mk_ident ("\\/", rr $loc) } + | o=IFF { mk_ident ("<==>", rr $loc) } + | o=COLON_EQUALS { mk_ident (":=", rr $loc) } + | o=COLON_COLON { mk_ident ("::", rr $loc) } + | o=OP_MIXFIX_ASSIGNMENT { mk_ident (o, rr $loc) } + | o=OP_MIXFIX_ACCESS { mk_ident (o, rr $loc) } + +tmEqNoRefinement: + | e=tmEqWith(appTermNoRecordExp) { e } + +tmEq: + | e=tmEqWith(tmRefinement) { e } + +tmNoEq: + | e=tmNoEqWith(tmRefinement) { e } + +tmRefinement: + | id=lidentOrUnderscore COLON e=appTermNoRecordExp phi_opt=refineOpt + { + let t = match phi_opt with + | None -> NamedTyp(id, e) + | Some phi -> Refine(mk_binder (Annotated(id, e)) (rr2 $loc(id) $loc(e)) Type_level None, phi) + in mk_term t (rr2 $loc(id) $loc(phi_opt)) Type_level + } + | e=appTerm { e } + +refineOpt: + | phi_opt=option(LBRACE phi=formula RBRACE {phi}) {phi_opt} + +%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 } + | e=appTerm WITH record_fields=right_flexible_nonempty_list(SEMICOLON, simpleDef) + { mk_term (Record (Some e, record_fields)) (rr2 $loc(e) $loc(record_fields)) Expr } + +simpleDef: + | e=separated_pair(qlidentOrOperator, EQUALS, noSeqTerm) { e } + | lid=qlidentOrOperator { lid, mk_term (Name (lid_of_ids [ ident_of_lid lid ])) (rr $loc(lid)) Un } + +appTermArgs: + | h=maybeHash a=onlyTrailingTerm { [h, a] } + | h=maybeHash a=indexingTerm rest=appTermArgs { (h, a) :: rest } + | h=maybeHash a=recordTerm rest=appTermArgs { (h, a) :: rest } + | a=universe rest=appTermArgs { a :: rest } + | { [] } + +appTermCommon(args): + | head=indexingTerm args=args + { mkApp head (map (fun (x,y) -> (y,x)) args) (rr2 $loc(head) $loc(args)) } + +%public +appTerm: + | t=onlyTrailingTerm { t } + | t=appTermCommon(appTermArgs) { t } + +appTermArgsNoRecordExp: + | h=maybeHash a=indexingTerm rest=appTermArgsNoRecordExp { (h, a) :: rest } + | a=universe rest=appTermArgsNoRecordExp { a :: rest } + | { [] } + +%public +appTermNoRecordExp: + | t=appTermCommon(appTermArgsNoRecordExp) {t} + +%inline maybeHash: + | { Nothing } + | HASH { Hash } + +%public +indexingTerm: + | e1=atomicTermNotQUident op_exprs=nonempty_list(dotOperator) + { + List.fold_left (fun e1 (op, e2, r) -> + mk_term (Op(op, [ e1; e2 ])) (union_ranges e1.range r) Expr) + e1 op_exprs + } + | e=atomicTerm + { e } + +%public +atomicTerm: + | x=atomicTermNotQUident + { x } + | x=atomicTermQUident + { x } + | x=opPrefixTerm(atomicTermQUident) + { x } + +trailingTerm: + | x=atomicTerm + { x } + | x=onlyTrailingTerm + { x } + +onlyTrailingTerm: + | FUN pats=nonempty_list(patternOrMultibinder) RARROW e=term + { mk_term (Abs(flatten pats, e)) (rr2 $loc($1) $loc(e)) Un } + | q=quantifier bs=binders DOT trigger=trigger e=term + { + match bs with + | [] -> + raise_error_text (rr2 $loc(q) $loc($3)) Fatal_MissingQuantifierBinder "Missing binders for a quantifier" + | _ -> + let idents = idents_of_binders bs (rr2 $loc(q) $loc($3)) in + mk_term (q (bs, (idents, trigger), e)) (rr2 $loc(q) $loc(e)) Formula + } + +atomicTermQUident: + | id=quident + { + let t = Name id in + let e = mk_term t (rr $loc(id)) Un in + e + } + | id=quident DOT_LPAREN t=term RPAREN + { + mk_term (LetOpen (id, t)) (rr2 $loc(id) $loc($4)) Expr + } + +atomicTermNotQUident: + | UNDERSCORE { mk_term Wild (rr $loc) Un } + | tv=tvar { mk_term (Tvar tv) (rr $loc) Type_level } + | c=constant { mk_term (Const c) (rr $loc) Expr } + | x=opPrefixTerm(atomicTermNotQUident) + { x } + | LPAREN op=operator RPAREN + { mk_term (Op(op, [])) (rr2 $loc($1) $loc($3)) Un } + | LENS_PAREN_LEFT e0=tmEq COMMA el=separated_nonempty_list(COMMA, tmEq) LENS_PAREN_RIGHT + { mkDTuple (e0::el) (rr2 $loc($1) $loc($5)) } + | e=projectionLHS field_projs=list(DOT id=qlident {id}) + { fold_left (fun e lid -> mk_term (Project(e, lid)) (rr2 $loc(e) $loc(field_projs)) Expr ) e field_projs } + | BEGIN e=term END + { e } + +(* Tm: atomicTermQUident or atomicTermNotQUident *) +opPrefixTerm(Tm): + | op=OPPREFIX e=Tm + { mk_term (Op(mk_ident(op, rr $loc(op)), [e])) (rr2 $loc(op) $loc(e)) Expr } + + +projectionLHS: + | e=qidentWithTypeArgs(qlident, option(fsTypeArgs)) + { e } + | e=qidentWithTypeArgs(quident, some(fsTypeArgs)) + { e } + | LPAREN e=term sort_opt=option(pair(hasSort, simpleTerm)) RPAREN + { + (* Note: we have to keep the parentheses here. Consider t * u * v. This + * is parsed as Op2( *, Op2( *, t, u), v). The desugaring phase then looks + * up * and figures out that it hasn't been overridden, meaning that + * it's a tuple type, and proceeds to flatten out the whole tuple. Now + * consider (t * u) * v. We keep the Paren node, which prevents the + * flattening from happening, hence ensuring the proper type is + * generated. *) + let e1 = match sort_opt with + | None -> e + | Some (level, t) -> mk_term (Ascribed(e,{t with level=level},None,false)) (rr2 $loc($1) $loc($4)) level + in mk_term (Paren e1) (rr2 $loc($1) $loc($4)) (e.level) + } + | LBRACK es=semiColonTermList RBRACK + { mkListLit (rr2 $loc($1) $loc($3)) es } + | SEQ_BANG_LBRACK es=semiColonTermList RBRACK + { mkSeqLit (rr2 $loc($1) $loc($3)) es } + | PERCENT_LBRACK es=semiColonTermList RBRACK + { mk_term (LexList es) (rr2 $loc($1) $loc($3)) Type_level } + | BANG_LBRACE es=separated_list(COMMA, appTerm) RBRACE + { mkRefSet (rr2 $loc($1) $loc($3)) es } + | ns=quident QMARK_DOT id=lident + { mk_term (Projector (ns, id)) (rr2 $loc(ns) $loc(id)) Expr } + | lid=quident QMARK + { mk_term (Discrim lid) (rr2 $loc(lid) $loc($2)) Un } + +fsTypeArgs: + | TYP_APP_LESS targs=separated_nonempty_list(COMMA, atomicTerm) TYP_APP_GREATER + {targs} + +(* Qid : quident or qlident. + TypeArgs : option(fsTypeArgs) or someFsTypeArgs. *) +qidentWithTypeArgs(Qid,TypeArgs): + | id=Qid targs_opt=TypeArgs + { + let t = if is_name id then Name id else Var id in + let e = mk_term t (rr $loc(id)) Un in + match targs_opt with + | None -> e + | Some targs -> mkFsTypApp e targs (rr2 $loc(id) $loc(targs_opt)) + } + +hasSort: + (* | SUBTYPE { Expr } *) + | SUBKIND { Type_level } (* Remove with stratify *) + + (* use flexible_list *) +%inline semiColonTermList: + | l=right_flexible_list(SEMICOLON, noSeqTerm) { l } + +constant: + | LPAREN_RPAREN { Const_unit } + | n=INT + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange "This number is outside the allowable range for representable integer constants"; + Const_int (fst n, None) + } + | c=CHAR { Const_char c } + | s=STRING { Const_string (s, rr $loc) } + | TRUE { Const_bool true } + | FALSE { Const_bool false } + | r=REAL { Const_real r } + | n=UINT8 { Const_int (n, Some (Unsigned, Int8)) } + | n=INT8 + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange "This number is outside the allowable range for 8-bit signed integers"; + Const_int (fst n, Some (Signed, Int8)) + } + | n=UINT16 { Const_int (n, Some (Unsigned, Int16)) } + | n=INT16 + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange "This number is outside the allowable range for 16-bit signed integers"; + Const_int (fst n, Some (Signed, Int16)) + } + | n=UINT32 { Const_int (n, Some (Unsigned, Int32)) } + | n=INT32 + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange "This number is outside the allowable range for 32-bit signed integers"; + Const_int (fst n, Some (Signed, Int32)) + } + | n=UINT64 { Const_int (n, Some (Unsigned, Int64)) } + | n=INT64 + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange "This number is outside the allowable range for 64-bit signed integers"; + Const_int (fst n, Some (Signed, Int64)) + } + | n=SIZET { Const_int (n, Some (Unsigned, Sizet)) } + (* TODO : What about reflect ? There is also a constant representing it *) + | REIFY { Const_reify None } + | RANGE_OF { Const_range_of } + | SET_RANGE_OF { Const_set_range_of } + + +universe: + | UNIV_HASH ua=atomicUniverse { (UnivApp, ua) } + +universeFrom: + | ua=atomicUniverse { ua } + | u1=universeFrom op_plus=OPINFIX2 u2=universeFrom + { + if op_plus <> "+" + then log_issue_text (rr $loc(u1)) Error_OpPlusInUniverse ("The operator " ^ op_plus ^ " was found in universe context." + ^ "The only allowed operator in that context is +."); + mk_term (Op(mk_ident (op_plus, rr $loc(op_plus)), [u1 ; u2])) (rr2 $loc(u1) $loc(u2)) Expr + } + | max=ident us=nonempty_list(atomicUniverse) + { + if string_of_id max <> string_of_lid max_lid + then log_issue_text (rr $loc(max)) Error_InvalidUniverseVar ("A lower case ident " ^ string_of_id max ^ + " was found in a universe context. " ^ + "It should be either max or a universe variable 'usomething."); + let max = mk_term (Var (lid_of_ids [max])) (rr $loc(max)) Expr in + mkApp max (map (fun u -> u, Nothing) us) (rr $loc) + } + +atomicUniverse: + | UNDERSCORE + { mk_term Wild (rr $loc) Expr } + | n=INT + { + if snd n then + log_issue_text (rr $loc) Error_OutOfRange ("This number is outside the allowable range for representable integer constants"); + mk_term (Const (Const_int (fst n, None))) (rr $loc(n)) Expr + } + | u=lident { mk_term (Uvar u) (range_of_id u) Expr } + | LPAREN u=universeFrom RPAREN + { u (*mk_term (Paren u) (rr2 $loc($1) $loc($3)) Expr*) } + +warn_error_list: + | e=warn_error EOF { e } + +warn_error: + | f=flag r=range + { [(f, r)] } + | f=flag r=range e=warn_error + { (f, r) :: e } + +flag: + | op=OPINFIX1 + { if op = "@" then CAlwaysError else failwith (format1 "unexpected token %s in warn-error list" op)} + | op=OPINFIX2 + { if op = "+" then CWarning else failwith (format1 "unexpected token %s in warn-error list" op)} + | MINUS + { CSilent } + +range: + | i=INT + { format2 "%s..%s" (fst i) (fst i) } + | r=RANGE + { r } + + +/******************************************************************************/ +/* Miscellanous, tools */ +/******************************************************************************/ + +string: + | s=STRING { s } + +%inline operator: + | op=OPPREFIX { mk_ident (op, rr $loc) } + | op=binop_name { op } + | op=TILDE { mk_ident (op, rr $loc) } + | op=and_op {op} + | op=let_op {op} + | op=quantifier_op {op} + +%inline quantifier_op: + | op=EXISTS_OP { mk_ident ("exists" ^ op, rr $loc) } + | op=FORALL_OP { mk_ident ("forall" ^ op, rr $loc) } + +%inline and_op: + | op=AND_OP { mk_ident ("and" ^ op, rr $loc) } +%inline let_op: + | op=LET_OP { mk_ident ("let" ^ op, rr $loc) } + +/* These infix operators have a lower precedence than EQUALS */ +%inline operatorInfix0ad12: + | op=OPINFIX0a + | op=OPINFIX0b + | op=OPINFIX0c + | op=OPINFIX0d + | op=OPINFIX1 + | op=OPINFIX2 + { mk_ident (op, rr $loc) } + +%inline dotOperator: + | op=DOT_LPAREN e=term RPAREN { mk_ident (".()", rr $loc(op)), e, rr2 $loc(op) $loc($3) } + | op=DOT_LBRACK e=term RBRACK { mk_ident (".[]", rr $loc(op)), e, rr2 $loc(op) $loc($3) } + | op=DOT_LBRACK_BAR e=term BAR_RBRACK { mk_ident (".[||]", rr $loc(op)), e, rr2 $loc(op) $loc($3) } + | op=DOT_LENS_PAREN_LEFT e=term LENS_PAREN_RIGHT { mk_ident (".(||)", rr $loc(op)), e, rr2 $loc(op) $loc($3) } + +some(X): + | x=X { Some x } + +right_flexible_list(SEP, X): + | { [] } + | x=X { [x] } + | x=X SEP xs=right_flexible_list(SEP, X) { x :: xs } + +right_flexible_nonempty_list(SEP, X): + | x=X { [x] } + | x=X SEP xs=right_flexible_list(SEP, X) { x :: xs } + +reverse_left_flexible_list(delim, X): +| (* nothing *) + { [] } +| x = X + { [x] } +| xs = reverse_left_flexible_list(delim, X) delim x = X + { x :: xs } + +%inline left_flexible_list(delim, X): + xs = reverse_left_flexible_list(delim, X) + { List.rev xs } + +reverse_left_flexible_nonempty_list(delim, X): +| ioption(delim) x = X + { [x] } +| xs = reverse_left_flexible_nonempty_list(delim, X) delim x = X + { x :: xs } + +%inline left_flexible_nonempty_list(delim, X): + xs = reverse_left_flexible_nonempty_list(delim, X) + { List.rev xs } diff --git a/src/ml/bare/FStarC_Parser_ParseIt.ml b/src/ml/bare/FStarC_Parser_ParseIt.ml new file mode 100644 index 00000000000..707bb89a0c1 --- /dev/null +++ b/src/ml/bare/FStarC_Parser_ParseIt.ml @@ -0,0 +1,452 @@ +module U = FStarC_Util +open FStarC_Errors +open FStarC_Syntax_Syntax +open Lexing +open FStarC_Sedlexing +open FStarC_Errors_Codes +module Codes = FStarC_Errors_Codes +module Msg = FStarC_Errors_Msg + +type filename = string + +type input_frag = { + frag_fname:filename; + frag_text:string; + frag_line:Prims.int; + frag_col:Prims.int +} + +let resetLexbufPos filename lexbuf = + lexbuf.cur_p <- { + pos_fname= filename; + pos_cnum = 0; + pos_bol = 0; + pos_lnum = 1 } + +let setLexbufPos filename lexbuf line col = + lexbuf.cur_p <- { + pos_fname= filename; + pos_cnum = col; + pos_bol = 0; + pos_lnum = line } + +module Path = BatPathGen.OfString + +let find_file filename = + match FStarC_Find.find_file filename with + | Some s -> + s + | None -> + raise_error_text FStarC_Range.dummyRange Fatal_ModuleOrFileNotFound (U.format1 "Unable to find file: %s\n" filename) + +let vfs_entries : (U.time_of_day * string) U.smap = U.smap_create (Z.of_int 1) + +let read_vfs_entry fname = + U.smap_try_find vfs_entries (U.normalize_file_path fname) + +let add_vfs_entry fname contents = + U.smap_add vfs_entries (U.normalize_file_path fname) (U.get_time_of_day (), contents) + +let get_file_last_modification_time filename = + match read_vfs_entry filename with + | Some (mtime, _contents) -> mtime + | None -> U.get_file_last_modification_time filename + +let read_physical_file (filename: string) = + (* BatFile.with_file_in uses Unix.openfile (which isn't available in + js_of_ocaml) instead of Pervasives.open_in, so we don't use it here. *) + try + let channel = open_in_bin filename in + BatPervasives.finally + (fun () -> close_in channel) + (fun channel -> really_input_string channel (in_channel_length channel)) + channel + with e -> + raise_error_text FStarC_Range.dummyRange Fatal_UnableToReadFile (U.format1 "Unable to read file %s\n" filename) + +let read_file (filename:string) = + let debug = FStarC_Debug.any () in + match read_vfs_entry filename with + | Some (_mtime, contents) -> + if debug then U.print1 "Reading in-memory file %s\n" filename; + filename, contents + | None -> + let filename = find_file filename in + if debug then U.print1 "Opening file %s\n" filename; + filename, read_physical_file filename + +let fs_extensions = [".fs"; ".fsi"] +let fst_extensions = [".fst"; ".fsti"] +let interface_extensions = [".fsti"; ".fsi"] + +let valid_extensions () = + fst_extensions @ if FStarC_Options.ml_ish () then fs_extensions else [] + +let has_extension file extensions = + FStar_List.existsb (U.ends_with file) extensions + +let check_extension fn = + if (not (has_extension fn (valid_extensions ()))) then + let message = U.format1 "Unrecognized extension '%s'" fn in + raise_error_text FStarC_Range.dummyRange Fatal_UnrecognizedExtension + (if has_extension fn fs_extensions + then message ^ " (pass --MLish to process .fs and .fsi files)" + else message) + +type parse_frag = + | Filename of filename + | Toplevel of input_frag + | Incremental of input_frag + | Fragment of input_frag + +type parse_error = (Codes.error_code * Msg.error_message * FStarC_Range.range) + + +type code_fragment = { + range: FStarC_Range.range; + code: string; +} + +type 'a incremental_result = + ('a * code_fragment) list * (string * FStarC_Range.range) list * parse_error option + +type parse_result = + | ASTFragment of (FStarC_Parser_AST.inputFragment * (string * FStarC_Range.range) list) + | IncrementalFragment of FStarC_Parser_AST.decl incremental_result + | Term of FStarC_Parser_AST.term + | ParseError of parse_error + +module BU = FStarC_Util +module Range = FStarC_Range +module MHL = MenhirLib.Convert + +let range_of_positions filename start fin = + let start_pos = FStarC_Parser_Util.pos_of_lexpos start in + let end_pos = FStarC_Parser_Util.pos_of_lexpos fin in + FStarC_Range.mk_range filename start_pos end_pos + +let err_of_parse_error filename lexbuf tag = + let pos = lexbuf.cur_p in + let tag = + match tag with + | None -> "Syntax error" + | Some tag -> tag + in + Fatal_SyntaxError, + Msg.mkmsg tag, + range_of_positions filename pos pos + +let string_of_lexpos lp = + let r = range_of_positions "" lp lp in + FStarC_Range.string_of_range r + +let parse_incremental_decls + filename + (contents:string) + lexbuf + (lexer:unit -> 'token * Lexing.position * Lexing.position) + (range_of: 'semantic_value -> FStarC_Range.range) + (parse_one: + (Lexing.lexbuf -> 'token) -> + Lexing.lexbuf -> + ('semantic_value list * FStarC_Sedlexing.snap option) option) +: 'semantic_value list * parse_error option += let parse_one = MenhirLib.Convert.Simplified.traditional2revised parse_one in + let err_of_parse_error tag = err_of_parse_error filename lexbuf tag in + let open FStar_Pervasives in + let push_decls ds decls = List.fold_left (fun decls d -> d::decls) decls ds in + let rec parse decls = + let start_pos = current_pos lexbuf in + let d = + try + (* Reset the gensym between decls, to ensure determinism, + otherwise, every _ is parsed as different name *) + FStarC_GenSym.reset_gensym(); + Inl (parse_one lexer) + with + | FStarC_Errors.Error(e, msg, r, ctx) -> + Inr (e, msg, r) + + | e -> + Inr (err_of_parse_error None) + in + match d with + | Inl None -> + List.rev decls, None + | Inl (Some (ds, 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 + parser will have looked ahead. + Rollback the lexer one token for declarations whose syntax + requires such lookahead to complete a production. + *) + let _ = + match snap_opt with + | None -> + rollback lexbuf + | Some p -> + restore_snapshot lexbuf p + in + parse (push_decls ds decls) + | Inr err -> + List.rev decls, Some err + in + parse [] + +let contents_at contents = + let lines = U.splitlines contents in + let split_line_at_col line col = + if col > 0 + then ( + (* Don't index directly into the string, since this is a UTF-8 string. + Convert first to a list of characters, index into that, and then convert + back to a string *) + let chars = FStar_String.list_of_string line in + if col <= List.length chars + then ( + let prefix, suffix = FStarC_Util.first_N (Z.of_int col) chars in + Some (FStar_String.string_of_list prefix, + FStar_String.string_of_list suffix) + ) + else ( + None + ) + ) + else None + in + let line_from_col line pos = + match split_line_at_col line pos with + | None -> None + | Some (_, p) -> Some p + in + let line_to_col line pos = + match split_line_at_col line pos with + | None -> None + | Some (p, _) -> Some p + in + (* Find the raw content of the input from the line of the start_pos to the end_pos. + This is used by Interactive.Incremental to record exactly the raw content of the + fragment that was checked *) + fun (range:Range.range) -> + (* discard all lines until the start line *) + let start_pos = Range.start_of_range range in + let end_pos = Range.end_of_range range in + let start_line = Z.to_int (Range.line_of_pos start_pos) in + let start_col = Z.to_int (Range.col_of_pos start_pos) in + let end_line = Z.to_int (Range.line_of_pos end_pos) in + let end_col = Z.to_int (Range.col_of_pos end_pos) in + let suffix = + FStarC_Util.nth_tail + (Z.of_int (if start_line > 0 then start_line - 1 else 0)) + lines + in + (* Take all the lines between the start and end lines *) + let text, rest = + FStarC_Util.first_N + (Z.of_int (end_line - start_line)) + suffix + in + let text = + match text with + | first_line::rest -> ( + match line_from_col first_line start_col with + | Some s -> s :: rest + | _ -> text + ) + | _ -> text + in + let text = + (* For the last line itself, take the prefix of it up to the character of the end_pos *) + match rest with + | last::_ -> ( + match line_to_col last end_col with + | None -> text + | Some last -> + (* The last line is also the first line *) + match text with + | [] -> ( + match line_from_col last start_col with + | None -> [last] + | Some l -> [l] + ) + | _ -> text @ [last] + ) + | _ -> text + in + { range; + code = FStar_String.concat "\n" text } + + +let parse_incremental_fragment + filename + (contents:string) + lexbuf + (lexer:unit -> 'token * Lexing.position * Lexing.position) + (range_of: 'semantic_value -> FStarC_Range.range) + (parse_one: + (Lexing.lexbuf -> 'token) -> + Lexing.lexbuf -> + ('semantic_value list * FStarC_Sedlexing.snap option) option) +: 'semantic_value incremental_result += let res = parse_incremental_decls filename contents lexbuf lexer range_of parse_one in + let comments = FStarC_Parser_Util.flush_comments () in + let contents_at = contents_at contents in + let decls, err_opt = res in + let decls = List.map (fun d -> d, contents_at (range_of d)) decls in + decls, comments, err_opt + +let parse_fstar_incrementally +: FStarC_Parser_AST_Util.extension_lang_parser += let f = + fun (s:string) (r:FStarC_Range.range) -> + let open FStar_Pervasives in + let open FStarC_Range in + let lexbuf = + create s + (file_of_range r) + (Z.to_int (line_of_pos (start_of_range r))) + (Z.to_int (col_of_pos (start_of_range r))) + in + let filename = file_of_range r in + let contents = s in + let lexer () = + let tok = FStarC_Parser_LexFStar.token lexbuf in + (tok, lexbuf.start_p, lexbuf.cur_p) + in + try + let decls, err_opt = + parse_incremental_decls + filename + contents + lexbuf + lexer + (fun (d:FStarC_Parser_AST.decl) -> d.drange) + FStarC_Parser_Parse.oneDeclOrEOF + in + match err_opt with + | None -> Inr decls + | Some (_, msg, r) -> + let open FStarC_Parser_AST in + let err_decl = mk_decl Unparseable r [] in + Inr (decls @ [err_decl]) + with + | FStarC_Errors.Error(e, msg, r, _ctx) -> + let msg = FStarC_Errors_Msg.rendermsg msg in + let err : FStarC_Parser_AST_Util.error_message = { message = msg; range = r } in + Inl err + | e -> + let pos = FStarC_Parser_Util.pos_of_lexpos (lexbuf.cur_p) in + let r = FStarC_Range.mk_range filename pos pos in + let err : FStarC_Parser_AST_Util.error_message = { message = "Syntax error parsing #lang-fstar block: "; range = r } in + Inl err + in + { parse_decls = f } +let _ = FStarC_Parser_AST_Util.register_extension_lang_parser "fstar" parse_fstar_incrementally + +type lang_opts = string option + +let parse_lang lang fn = + match fn with + | Filename _ -> + failwith "parse_lang: only in incremental mode" + | Incremental s + | Toplevel s + | Fragment s -> + try + let frag_pos = FStarC_Range.mk_pos s.frag_line s.frag_col in + let rng = FStarC_Range.mk_range s.frag_fname frag_pos frag_pos in + let decls = FStarC_Parser_AST_Util.parse_extension_lang lang s.frag_text rng in + let comments = FStarC_Parser_Util.flush_comments () in + ASTFragment (Inr decls, comments) + with + | FStarC_Errors.Error(e, msg, r, _ctx) -> + ParseError (e, msg, r) + +let parse (lang_opt:lang_opts) fn = + FStarC_Parser_Util.warningHandler := (function + | e -> Printf.printf "There was some warning (TODO)\n"); + match lang_opt with + | Some lang -> parse_lang lang fn + | _ -> + let lexbuf, filename, contents = + match fn with + | Filename f -> + check_extension f; + let f', contents = read_file f in + (try create contents f' 1 0, f', contents + with _ -> raise_error_text FStarC_Range.dummyRange Fatal_InvalidUTF8Encoding (U.format1 "File %s has invalid UTF-8 encoding." f')) + | Incremental s + | Toplevel s + | Fragment s -> + create s.frag_text s.frag_fname (Z.to_int s.frag_line) (Z.to_int s.frag_col), "", s.frag_text + in + + let lexer () = + let tok = FStarC_Parser_LexFStar.token lexbuf in + (tok, lexbuf.start_p, lexbuf.cur_p) + in + try + match fn with + | Filename _ + | Toplevel _ -> begin + let fileOrFragment = + MenhirLib.Convert.Simplified.traditional2revised FStarC_Parser_Parse.inputFragment lexer + in + let frags = match fileOrFragment with + | FStar_Pervasives.Inl modul -> + if has_extension filename interface_extensions + then match modul with + | FStarC_Parser_AST.Module(l,d) -> + FStar_Pervasives.Inl (FStarC_Parser_AST.Interface(l, d, true)) + | _ -> failwith "Impossible" + else FStar_Pervasives.Inl modul + | _ -> fileOrFragment + in ASTFragment (frags, FStarC_Parser_Util.flush_comments ()) + end + + | Incremental i -> + let decls, comments, err_opt = + parse_incremental_fragment + filename + i.frag_text + lexbuf + lexer + (fun (d:FStarC_Parser_AST.decl) -> d.drange) + FStarC_Parser_Parse.oneDeclOrEOF + in + IncrementalFragment(decls, comments, err_opt) + + | Fragment _ -> + Term (MenhirLib.Convert.Simplified.traditional2revised FStarC_Parser_Parse.term lexer) + with + | FStarC_Errors.Empty_frag -> + ASTFragment (FStar_Pervasives.Inr [], []) + + | FStarC_Errors.Error(e, msg, r, _ctx) -> + ParseError (e, msg, r) + + | e -> + (* + | Parsing.Parse_error as _e + | FStarC_Parser_Parse.MenhirBasics.Error as _e -> + *) + ParseError (err_of_parse_error filename lexbuf None) + + +(** Parsing of command-line error/warning/silent flags. *) +let parse_warn_error s = + let user_flags = + if s = "" + then [] + else + let lexbuf = FStarC_Sedlexing.create s "" 0 (String.length s) in + let lexer() = let tok = FStarC_Parser_LexFStar.token lexbuf in + (tok, lexbuf.start_p, lexbuf.cur_p) + in + try + MenhirLib.Convert.Simplified.traditional2revised FStarC_Parser_Parse.warn_error_list lexer + with e -> + failwith (U.format1 "Malformed warn-error list: %s" s) + in + FStarC_Errors.update_flags user_flags diff --git a/ocaml/fstar-lib/FStarC_Parser_Utf8.ml b/src/ml/bare/FStarC_Parser_Utf8.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Parser_Utf8.ml rename to src/ml/bare/FStarC_Parser_Utf8.ml diff --git a/src/ml/bare/FStarC_Parser_Util.ml b/src/ml/bare/FStarC_Parser_Util.ml new file mode 100644 index 00000000000..0364c3b07b6 --- /dev/null +++ b/src/ml/bare/FStarC_Parser_Util.ml @@ -0,0 +1,44 @@ +open FStarC_Range +open Lexing + +(* This brings into scope enough the translation of F# type names into the + * corresponding OCaml type names; the reason for that is that we massage + * parse.fsy (using sed) into parse.mly; but, we don't rename types. *) +include FStarC_BaseTypes +type single = float +type decimal = int +type bytes = byte array + +let parseState = () + +let pos_of_lexpos (p:position) = + mk_pos (Z.of_int p.pos_lnum) (Z.of_int (p.pos_cnum - p.pos_bol)) + +let mksyn_range (p1:position) p2 = + mk_range p1.pos_fname (pos_of_lexpos p1) (pos_of_lexpos p2) + +let translate_range (pos : Lexing.position * Lexing.position) = + mksyn_range (fst pos) (snd pos) + +let translate_range2 (pos1 : Lexing.position * Lexing.position) (pos2 : Lexing.position * Lexing.position) = + mksyn_range (fst pos1) (snd pos2) + +exception WrappedError of exn * range +exception ReportedError +exception StopProcessing + +let warningHandler = ref (fun (e:exn) -> + FStarC_Util.print_string "no warning handler installed\n" ; + FStarC_Util.print_any e; ()) +let errorHandler = ref (fun (e:exn) -> + FStarC_Util.print_string "no warning handler installed\n" ; + FStarC_Util.print_any e; ()) +let errorAndWarningCount = ref 0 +let errorR exn = incr errorAndWarningCount; match exn with StopProcessing | ReportedError -> raise exn | _ -> !errorHandler exn +let warning exn = incr errorAndWarningCount; match exn with StopProcessing | ReportedError -> raise exn | _ -> !warningHandler exn + +let comments : (string * FStarC_Range.range) list ref = ref [] +let add_comment x = comments := x :: !comments +let flush_comments () = + let lexed_comments = !comments in + comments := []; lexed_comments diff --git a/src/ml/bare/FStarC_Platform.ml b/src/ml/bare/FStarC_Platform.ml new file mode 100644 index 00000000000..c337ad1405e --- /dev/null +++ b/src/ml/bare/FStarC_Platform.ml @@ -0,0 +1,17 @@ +type sys = +| Windows +| Posix + +let system = + if Sys.win32 || Sys.cygwin then + Windows + else + Posix + +let exe name = + if Sys.unix then + name + else + name^".exe" + +let is_cygwin = Sys.cygwin diff --git a/ocaml/fstar-lib/FStarC_Compiler_Plugins_Base.ml b/src/ml/bare/FStarC_Plugins_Base.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Compiler_Plugins_Base.ml rename to src/ml/bare/FStarC_Plugins_Base.ml diff --git a/ocaml/fstar-lib/FStarC_Pprint.ml b/src/ml/bare/FStarC_Pprint.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Pprint.ml rename to src/ml/bare/FStarC_Pprint.ml diff --git a/src/ml/bare/FStarC_Range.ml b/src/ml/bare/FStarC_Range.ml new file mode 100644 index 00000000000..3b56db3b3f8 --- /dev/null +++ b/src/ml/bare/FStarC_Range.ml @@ -0,0 +1,2 @@ +include FStarC_Range_Type +include FStarC_Range_Ops diff --git a/ocaml/fstar-lib/FStarC_Reflection_Types.ml b/src/ml/bare/FStarC_Reflection_Types.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Reflection_Types.ml rename to src/ml/bare/FStarC_Reflection_Types.ml diff --git a/ocaml/fstar-lib/FStarC_Sedlexing.ml b/src/ml/bare/FStarC_Sedlexing.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Sedlexing.ml rename to src/ml/bare/FStarC_Sedlexing.ml diff --git a/src/ml/bare/FStarC_String.ml b/src/ml/bare/FStarC_String.ml new file mode 100644 index 00000000000..9dcff4a94df --- /dev/null +++ b/src/ml/bare/FStarC_String.ml @@ -0,0 +1,43 @@ +let make i c = BatUTF8.init (Z.to_int i) (fun _ -> BatUChar.chr c) +let strcat s t = s ^ t +let op_Hat s t = strcat s t + +(* restore pre-2.11 BatString.nsplit behavior, + see https://github.com/ocaml-batteries-team/batteries-included/issues/845 *) +let batstring_nsplit s t = + if s = "" then [] else BatString.split_on_string t s + +let split seps s = + let rec repeat_split acc = function + | [] -> acc + | sep::seps -> + let usep = BatUTF8.init 1 (fun _ -> BatUChar.chr sep) in + let l = BatList.flatten (BatList.map (fun x -> batstring_nsplit x usep) acc) in + repeat_split l seps in + repeat_split [s] seps +let compare x y = Z.of_int (BatString.compare x y) +type char = FStar_Char.char +let concat = BatString.concat +let length s = Z.of_int (BatUTF8.length s) +let strlen s = length s + +let substring s i j = + BatUTF8.init (Z.to_int j) (fun k -> BatUTF8.get s (k + Z.to_int i)) +let sub = substring + +let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) +let collect f s = + let r = ref "" in + BatUTF8.iter (fun c -> r := !r ^ f (BatUChar.code c)) s; !r +let lowercase = BatString.lowercase_ascii +let uppercase = BatString.uppercase_ascii +let escaped = BatString.escaped +let index = get +exception Found of int +let index_of s c = + let c = BatUChar.chr c in + try let _ = BatUTF8.iteri (fun c' i -> if c = c' then raise (Found i) else ()) s in Z.of_int (-1) + with Found i -> Z.of_int i +let list_of_string s = BatList.init (BatUTF8.length s) (fun i -> BatUChar.code (BatUTF8.get s i)) +let string_of_list l = BatUTF8.init (BatList.length l) (fun i -> BatUChar.chr (BatList.at l i)) +let string_of_char (c:char) = BatString.of_char (Char.chr c) diff --git a/ocaml/fstar-lib/FStarC_StringBuffer.ml b/src/ml/bare/FStarC_StringBuffer.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_StringBuffer.ml rename to src/ml/bare/FStarC_StringBuffer.ml diff --git a/src/ml/bare/FStarC_Syntax_TermHashTable.ml b/src/ml/bare/FStarC_Syntax_TermHashTable.ml new file mode 100644 index 00000000000..ad91fed00b0 --- /dev/null +++ b/src/ml/bare/FStarC_Syntax_TermHashTable.ml @@ -0,0 +1,73 @@ +module S = FStarC_Syntax_Syntax +module P = FStarC_Profiling +module BU = FStarC_Util +let now () = BatUnix.gettimeofday () +let record_time f = + let start = now () in + let res = f () in + let elapsed = (now()) -. start in + res, int_of_float (elapsed *. 1000.0) +let eq_term_ctr = ref (0, 0) +let num_eq_term_calls = ref (0, 0) +let incr (r:(int * int) ref) (time:int) = let n, t = !r in r := (n + 1, time + t) +module HashKey = + struct + type t = S.term + let equal (x:t) (y:t) = FStarC_Syntax_Hash.equal_term x y +(* This function is often hot. Its useful to enable the profiling code when debugging + P.profile (fun _ -> + let res, time = record_time (fun _ -> FStarC_Syntax_Hash.equal_term x y) in + incr num_eq_term_calls time; + if res + then ( incr eq_term_ctr time; true ) + else ( false)) + None + "FStar.Syntax.TermHashTable.equal" +*) + let hash (x:t) = FStarC_Syntax_Hash.ext_hash_term x +(* P.profile (fun _ -> + None + "FStar.Syntax.TermHashTable.hash" +*) + end +module HT = BatHashtbl.Make(HashKey) + +type 'a hashtable = 'a HT.t + +let create (n:Z.t) = HT.create (Z.to_int n) +module Print = FStarC_Syntax_Print + +let insert (key: S.term) (v:'a) (ht:'a hashtable) = HT.add ht key v + +let lookup (key: S.term) (ht:'a hashtable) : 'a option = + try + let l = HT.find ht key in + Some l + with + | Not_found -> None + +let reset_counters (x:'a hashtable) = + eq_term_ctr := (0,0); + num_eq_term_calls := (0,0) + +let clear (x:'a hashtable) = + HT.clear x; + reset_counters x + +let print_stats (x:'a hashtable) : unit = + let stats = HT.stats x in + let string_of_ctr ctr = let n, t = !ctr in BU.format2 "%s in %s ms" (string_of_int n) (string_of_int t) in + BU.print4 "THT Statistics { num_bindings = %s; max_bucket_length = %s; num_eq_term_calls = %s; eq_term_ctr = %s }\n" + (string_of_int stats.num_bindings) + (string_of_int stats.max_bucket_length) + (string_of_ctr num_eq_term_calls) + (string_of_ctr eq_term_ctr) + +(* Histogram + (BatString.concat "; " + (List.map (function Some x -> x) + (List.filter + (function None -> false | _ -> true) + (Array.to_list ( + (Array.mapi (fun i n -> if n = 0 then None else Some ("(" ^ (string_of_int i) ^", "^ (string_of_int n)^ ")")) stats.bucket_histogram)))))) +*) diff --git a/src/ml/bare/FStarC_Tactics_Native.ml b/src/ml/bare/FStarC_Tactics_Native.ml new file mode 100644 index 00000000000..7c74bc4ae36 --- /dev/null +++ b/src/ml/bare/FStarC_Tactics_Native.ml @@ -0,0 +1,102 @@ +open FStarC_Range +open FStarC_Tactics_Types +open FStarC_Tactics_Result +open FStarC_Tactics_Monad +open FStarC_Syntax_Syntax + +module N = FStarC_TypeChecker_Normalize +module C = FStarC_TypeChecker_Cfg +module BU = FStarC_Util +module NBETerm = FStarC_TypeChecker_NBETerm +module O = FStarC_Options +module PO = FStarC_TypeChecker_Primops +module POB = FStarC_TypeChecker_Primops_Base + +(* These definitions are ≡ to the ones generated by F*'s extraction of the + tactic effect. We need them here to break a circular dependency between the + compiler and ulib (cf. tactics meeting of 2017-08-03). *) +type 'a __tac = FStarC_Tactics_Types.proofstate -> 'a __result + +let r = dummyRange + +type itac = + POB.psc -> FStarC_Syntax_Embeddings_Base.norm_cb -> universes -> args -> term option +type nbe_itac = + NBETerm.nbe_cbs -> universes -> NBETerm.args -> NBETerm.t option + +type native_primitive_step = + { name: FStarC_Ident.lid; + arity: Prims.int; + strong_reduction_ok: bool; + tactic: itac} + +let perr s = if FStarC_Debug.any () then BU.print_error s +let perr1 s x = if FStarC_Debug.any () then BU.print1_error s x + +let compiled_tactics: native_primitive_step list ref = ref [] + +let list_all () = + if FStarC_Options.no_plugins () + then [] + else !compiled_tactics + +let register_plugin (s: string) (arity: Prims.int) (t: itac) (n:nbe_itac) = + let step = + { POB.name=FStarC_Ident.lid_of_str s; + POB.arity=arity; + POB.auto_reflect=None; + POB.strong_reduction_ok=true; + POB.requires_binder_substitution = false; + POB.renorm_after = false; + POB.interpretation=t; + POB.univ_arity=Z.of_int 0; + POB.interpretation_nbe=n; + } + in + FStarC_TypeChecker_Cfg.register_plugin step; + (* perr1 "Registered plugin %s\n" s; *) + () + +let register_tactic (s: string) (arity: Prims.int) (t: itac)= + let step = + { name=FStarC_Ident.lid_of_str s; + arity = arity; + strong_reduction_ok=true; + tactic=t } in + compiled_tactics := step :: !compiled_tactics; + (* 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"; *) + tau ps) |> mk_tac + +let from_tactic_1 t = bump from_tactic_0 t +let from_tactic_2 t = bump from_tactic_1 t +let from_tactic_3 t = bump from_tactic_2 t +let from_tactic_4 t = bump from_tactic_3 t +let from_tactic_5 t = bump from_tactic_4 t +let from_tactic_6 t = bump from_tactic_5 t +let from_tactic_7 t = bump from_tactic_6 t +let from_tactic_8 t = bump from_tactic_7 t +let from_tactic_9 t = bump from_tactic_8 t +let from_tactic_10 t = bump from_tactic_9 t +let from_tactic_11 t = bump from_tactic_10 t +let from_tactic_12 t = bump from_tactic_11 t +let from_tactic_13 t = bump from_tactic_12 t +let from_tactic_14 t = bump from_tactic_13 t +let from_tactic_15 t = bump from_tactic_14 t +let from_tactic_16 t = bump from_tactic_15 t +let from_tactic_17 t = bump from_tactic_16 t +let from_tactic_18 t = bump from_tactic_17 t +let from_tactic_19 t = bump from_tactic_18 t +let from_tactic_20 t = bump from_tactic_19 t +let from_tactic_21 t = bump from_tactic_20 t +let from_tactic_22 t = bump from_tactic_21 t +let from_tactic_23 t = bump from_tactic_22 t +let from_tactic_24 t = bump from_tactic_23 t +let from_tactic_25 t = bump from_tactic_24 t diff --git a/src/ml/bare/FStarC_Unionfind.ml b/src/ml/bare/FStarC_Unionfind.ml new file mode 100644 index 00000000000..798a07f5dd7 --- /dev/null +++ b/src/ml/bare/FStarC_Unionfind.ml @@ -0,0 +1,161 @@ +(* Persistent union-find implementation adapted from + https://www.lri.fr/~filliatr/puf/ *) + +open FStarC_Effect +open FStarC_Util + +(* Persistent arrays *) +type 'a pa_t = 'a data ref +and 'a data = + | PArray of 'a array + | PDiff of int * 'a * 'a pa_t + +let pa_create n v = mk_ref (PArray (Array.make n v)) + +let pa_init n f = mk_ref (PArray (Array.init n f)) + +let rec pa_rerootk t k = match !t with + | PArray _ -> k () + | PDiff (i, v, t') -> + pa_rerootk t' (fun () -> begin match !t' with + | PArray a -> + let v' = a.(i) in + a.(i) <- v; + t := PArray a; + t' := PDiff (i, v', t) + | PDiff _ -> failwith "Impossible" end; k()) + +let pa_reroot t = pa_rerootk t (fun () -> ()) + +let pa_get t i = match !t with + | PArray a -> a.(i) + | PDiff _ -> + pa_reroot t; + begin match !t with + | PArray a -> a.(i) + | PDiff _ -> failwith "Impossible" end + +let pa_set (t: 'a pa_t) (i: int) (v: 'a): 'a pa_t = + pa_reroot t; + match !t with + | PArray a -> + let old = a.(i) in + a.(i) <- v; + let res = mk_ref (PArray a) in + t := PDiff (i, old, res); + res + | PDiff _ -> failwith "Impossible" + +(* apply impure function from Array to a persistent array *) +let impure f t = + pa_reroot t; + match !t with PArray a -> f a | PDiff _ -> failwith "Impossible" + +let pa_length t = impure Array.length t + +(* double the array whenever its bounds are reached *) +let pa_new t x l empty = + pa_reroot t; + match !t with + | PArray a -> + if (pa_length t == l) then begin + let arr_tail = Array.make l empty in + arr_tail.(0) <- x; + t := PArray (Array.append a arr_tail) + end else + a.(l) <- x + | PDiff _ -> failwith "Impossible" + + +(* Union-find implementation based on persistent arrays *) +type 'a puf = { + (* array of parents of each node + contains either path or root element *) + mutable parent: (int, 'a) FStar_Pervasives.either pa_t; (* mutable to allow path compression *) + ranks: int pa_t; + (* keep track of how many elements are allocated in the array *) + count: int ref +} +type 'a p_uvar = P of int + [@printer fun fmt x -> Format.pp_print_string fmt "!!!"] + [@@deriving yojson,show] + (* failwith "cannot pretty-print a unification variable" *) + +let puf_empty () = + { parent = pa_create 2 (FStar_Pervasives.Inl (-1)) ; + ranks = pa_create 2 0; + count = mk_ref 0 } + +let puf_fresh (h: 'a puf) (x: 'a): 'a p_uvar = + let count = !(h.count) in + pa_new h.parent (FStar_Pervasives.Inr x) count (FStar_Pervasives.Inl (-1)); + pa_new h.ranks 0 count 0; + h.count := count + 1; + P count + +(* implements path compression, returns new array *) +let rec puf_find_aux f i = + match (pa_get f i) with + | FStar_Pervasives.Inl fi -> + let f, r, id = puf_find_aux f fi in + let f = pa_set f i (FStar_Pervasives.Inl id) in + f, r, id + | FStar_Pervasives.Inr x -> f, FStar_Pervasives.Inr x, i + +(* return both rep and previous version of parent array *) +let puf_find_i (h: 'a puf) (x: 'a p_uvar) = + let x = match x with | P a -> a in + let f, rx, i = puf_find_aux h.parent x in + h.parent <- f; + match rx with + | FStar_Pervasives.Inr r -> r, i + | FStar_Pervasives.Inl _ -> failwith "Impossible" + +(* only return the equivalence class *) +let puf_id' (h:'a puf) (x:'a p_uvar) : int = + let _, i = puf_find_i h x in + i + +let puf_id (h: 'a puf) (x: 'a p_uvar): Prims.int = + Z.of_int (puf_id' h x) + +let puf_unique_id (x: 'a p_uvar): Prims.int = + match x with + | P a -> Z.of_int a + +let puf_fromid (_:'a puf) (id : Prims.int) : 'a p_uvar = + P (Z.to_int id) + +(* only return the rep *) +let puf_find (h: 'a puf) (x: 'a p_uvar) = + let v, _ = puf_find_i h x in + v + +let puf_equivalent (h:'a puf) (x:'a p_uvar) (y:'a p_uvar) = + (puf_id' h x) = (puf_id' h y) + +let puf_change (h:'a puf) (x:'a p_uvar) (v:'a) : 'a puf = + let i = puf_id' h x in + let hp = pa_set h.parent i (FStar_Pervasives.Inr v) in + { h with parent = hp} + +let puf_union (h: 'a puf) (x: 'a p_uvar) (y: 'a p_uvar) = + let ix = puf_id' h x in + let iy = puf_id' h y in + if ix!=iy then begin + let rxc = pa_get h.ranks ix in + let ryc = pa_get h.ranks iy in + if rxc > ryc then + { parent = pa_set h.parent iy (FStar_Pervasives.Inl ix); + ranks = h.ranks; + count = h.count} + else if rxc < ryc then + { parent = pa_set h.parent ix (FStar_Pervasives.Inl iy); + ranks = h.ranks; + count = h.count} + else + { parent = pa_set h.parent iy (FStar_Pervasives.Inl ix); + ranks = pa_set h.ranks ix (rxc+1); + count = h.count } + end else + h diff --git a/src/ml/bare/FStarC_Util.ml b/src/ml/bare/FStarC_Util.ml new file mode 100644 index 00000000000..bbd28f1175e --- /dev/null +++ b/src/ml/bare/FStarC_Util.ml @@ -0,0 +1,1205 @@ +open FStarC_Json + +let max_int = Z.of_int max_int +let is_letter c = if c > 255 then false else BatChar.is_letter (BatChar.chr c) +let is_digit c = if c > 255 then false else BatChar.is_digit (BatChar.chr c) +let is_letter_or_digit c = is_letter c || is_digit c +let is_symbol c = if c > 255 then false else BatChar.is_symbol (BatChar.chr c) + +(* Modeled after: Char.IsPunctuation in .NET + (http://www.dotnetperls.com/char-ispunctuation) +*) +let is_punctuation c = List.mem c [33; 34; 35; 37; 38; 39; 40; 41; 42; 44; 45; 46; 47; 58; 59; 63; 64; 91; 92; 93; 95; 123; 125] +(*'!','"','#','%','&','\'','(',')','*',',','-','.','/',':',';','?','@','[','\\',']','_','{','}'*) + +let return_all x = x + +type time_ns = int64 +let now_ns () = Mtime_clock.now_ns() +let time_diff_ns t1 t2 = + Z.of_int (Int64.to_int (Int64.sub t2 t1)) +let time_diff_ms t1 t2 = Z.div (time_diff_ns t1 t2) (Z.of_int 1000000) +let record_time_ns f = + let start = now_ns () in + let res = f () in + let elapsed = time_diff_ns start (now_ns()) in + res, elapsed +let record_time_ms f = + let res, ns = record_time_ns f in + res, Z.div ns (Z.of_int 1000000) + +type time_of_day = float +let get_time_of_day () = BatUnix.gettimeofday() +let get_time_of_day_ms () = Z.of_int (int_of_float (get_time_of_day () *. 1000.0)) +let get_file_last_modification_time f = (BatUnix.stat f).BatUnix.st_mtime +let is_before t1 t2 = compare t1 t2 < 0 +let string_of_time_of_day = string_of_float + +exception Impos + +let cur_sigint_handler : Sys.signal_behavior ref = + ref Sys.Signal_default + +exception SigInt +type sigint_handler = Sys.signal_behavior + +let sigint_handler_f f = Sys.Signal_handle f + +let sigint_ignore: sigint_handler = + Sys.Signal_ignore + +let sigint_delay = ref 0 +let sigint_pending = ref false + +let raise_sigint _ = + sigint_pending := false; + raise SigInt + +let raise_sigint_maybe_delay _ = + (* This function should not do anything complicated, lest it cause deadlocks. + * Calling print_string, for example, can cause a deadlock (print_string → + * caml_flush → process_pending_signals → caml_execute_signal → raise_sigint → + * print_string → caml_io_mutex_lock ⇒ deadlock) *) + if !sigint_delay = 0 + then raise_sigint () + else sigint_pending := true + +let sigint_raise: sigint_handler = + Sys.Signal_handle raise_sigint_maybe_delay + +let get_sigint_handler () = + !cur_sigint_handler + +let set_sigint_handler sigint_handler = + cur_sigint_handler := sigint_handler; + Sys.set_signal Sys.sigint !cur_sigint_handler + +let with_sigint_handler handler f = + let original_handler = !cur_sigint_handler in + BatPervasives.finally + (fun () -> Sys.set_signal Sys.sigint original_handler) + (fun () -> set_sigint_handler handler; f ()) + () + +(* Re export this type, it's mentioned in the interface for this module. *) +type out_channel = Stdlib.out_channel + +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 + +let append_to_file (c:out_channel) s = Printf.fprintf c "%s\n" s; flush c + +type proc = + {pid: int; + inc : in_channel; (* in == where we read from, so the process's stdout *) + errc : in_channel; (* the process's stderr *) + outc : out_channel; (* the process's stdin *) + mutable killed : bool; + stop_marker: (string -> bool) option; + id : string; + prog : string; + start_time : time_of_day} + +let all_procs : (proc list) ref = ref [] + +let lock () = () +let release () = () +let sleep n = Thread.delay ((Z.to_float n) /. 1000.) + +let mlock = Mutex.create () + +let monitor_enter _ = Mutex.lock mlock +let monitor_exit _ = Mutex.unlock mlock +let monitor_wait _ = () +let monitor_pulse _ = () +let current_tid _ = Z.zero + +let atomically f = (* This function only protects against signals *) + let finalizer () = + decr sigint_delay; + if !sigint_pending && !sigint_delay = 0 then + raise_sigint () in + let body f = + incr sigint_delay; f () in + BatPervasives.finally finalizer body f + +let with_monitor _ f x = atomically (fun () -> + monitor_enter (); + BatPervasives.finally monitor_exit f x) + +let spawn f = + let _ = Thread.create f () in () + +let stack_dump () = Printexc.raw_backtrace_to_string (Printexc.get_callstack 1000) + +(* On the OCaml side it would make more sense to take stop_marker in + ask_process, but the F# side isn't built that way *) +let start_process' + (id: string) (prog: string) (args: string list) + (stop_marker: (string -> bool) option) : proc = + let (stdin_r, stdin_w) = Unix.pipe () in + let (stdout_r, stdout_w) = Unix.pipe () in + let (stderr_r, stderr_w) = Unix.pipe () in + Unix.set_close_on_exec stdin_w; + Unix.set_close_on_exec stdout_r; + Unix.set_close_on_exec stderr_r; + let pid = Unix.create_process prog (Array.of_list (prog :: args)) stdin_r stdout_w stderr_w in + Unix.close stdin_r; + Unix.close stdout_w; + Unix.close stderr_w; + let proc = { pid = pid; + id = prog ^ ":" ^ id; + prog = prog; + inc = Unix.in_channel_of_descr stdout_r; + errc = Unix.in_channel_of_descr stderr_r; + outc = Unix.out_channel_of_descr stdin_w; + stop_marker = stop_marker; + killed = false; + start_time = get_time_of_day()} in + (* print_string ("Started process " ^ proc.id ^ "\n" ^ (stack_dump())); *) + all_procs := proc :: !all_procs; + proc + +let start_process + (id: string) (prog: string) (args: string list) + (stop_marker: string -> bool) : proc = + start_process' id prog args (Some stop_marker) + +let rec waitpid_ignore_signals pid = + try ignore (Unix.waitpid [] pid) + with Unix.Unix_error (Unix.EINTR, _, _) -> + waitpid_ignore_signals pid + +let kill_process (p: proc) = + if not p.killed then begin + (* Close the fds directly: close_in and close_out both call `flush`, + potentially forcing us to wait until p starts reading again. They + might have been closed already (e.g. `run_process`), so we + just `attempt` it. *) + let attempt f = + try f () with | _ -> () + in + attempt (fun () -> Unix.close (Unix.descr_of_in_channel p.inc)); + attempt (fun () -> Unix.close (Unix.descr_of_in_channel p.errc)); + attempt (fun () -> Unix.close (Unix.descr_of_out_channel p.outc)); + (* Try to kill, but the process may already be gone. On Unix we + get ESRCH. On Windows, we apparently get EACCES (permission denied). *) + (try Unix.kill p.pid Sys.sigkill + with Unix.Unix_error (Unix.ESRCH, _, _) -> () + | Unix.Unix_error (Unix.EACCES, _, _) when FStarC_Platform.system = FStarC_Platform.Windows -> () + ); + + (* Avoid zombie processes (Unix.close_process does the same thing. *) + waitpid_ignore_signals p.pid; + (* print_string ("Killed process " ^ p.id ^ "\n" ^ (stack_dump())); *) + p.killed <- true + end + +let kill_all () = + BatList.iter kill_process !all_procs + +let proc_prog (p:proc) : string = p.prog + +let process_read_all_output (p: proc) = + (* Pass cleanup:false because kill_process closes both fds already. *) + BatIO.read_all (BatIO.input_channel ~autoclose:true ~cleanup:false p.inc) + + +let channel_read_all_nonblock (c: in_channel) : string = + let buffer = Bytes.create 8192 in + let fd = Unix.descr_of_in_channel c in + let rec aux (idx:int) (rem:int) = + if rem <= 0 then idx + else ( + let rd, _, _ = Unix.select [fd] [] [] 0.0 in + if rd = [] then idx + else ( + let n = Unix.read fd buffer idx rem in + if n <= 0 + then idx + else aux (idx+n) (rem-n) + ) + ) + in + let len = aux 0 1024 in + Bytes.sub_string buffer 0 len + +(** Feed `stdin` to `p`, and call `reader_fn` in a separate thread to read the + response. + + Signal handling makes this function fairly hairy. The usual design is to + launch a reader thread, then write to the process on the main thread and use + `Thread.join` to wait for the reader to complete. + + When we get a signal, Caml routes it to either of the threads. If it + reaches the reader thread, we're good: the reader thread is most likely + waiting in input_line at that point, and input_line polls for signals fairly + frequently. If the signal reaches the writer (main) thread, on the other + hand, we're toast: `Thread.join` isn't interruptible, so Caml will save the + signal until the child thread exits and `join` returns, and at that point the + Z3 query is complete and the signal is useless. + + There are three possible solutions to this problem: + 1. Use an interruptible version of Thread.join written in C + 2. Ensure that signals are always delivered to the reader thread + 3. Use a different synchronization mechanism between the reader and the writer. + + Option 1 is bad because building F* doesn't currently require a C compiler. + Option 2 is easy to implement with `Unix.sigprocmask`, but that isn't + available on Windows. Option 3 is what the code below does: it uses a pipe + and a 1-byte write as a way for the writer thread to wait on the reader + thread. That's why `reader_fn` is passed a `signal_exit` function. + + If a SIGINT reaches the reader, it should still call `signal_exit`. If + a SIGINT reaches the writer, it should make sure that the reader exits. + These two things are the responsibility of the caller of this function. **) + +let process_read_async p stdin reader_fn = + let fd_r, fd_w = Unix.pipe () in + BatPervasives.finally (fun () -> Unix.close fd_w; Unix.close fd_r) + (fun () -> + let wait_for_exit () = + ignore (Unix.read fd_r (Bytes.create 1) 0 1) in + let signal_exit () = + try ignore (Unix.write fd_w (Bytes.create 1) 0 1) + with (* ‘write’ will fail if called after the finalizer above *) + | Unix.Unix_error (Unix.EBADF, _, _) -> () in + + let write_input = function + | Some str -> output_string p.outc str; flush p.outc + | None -> () in + + (* In the following we can get a signal at any point; it's the caller's + responsibility to ensure that reader_fn will exit in that case *) + let t = Thread.create reader_fn signal_exit in + write_input stdin; + wait_for_exit (); + Thread.join t) () + +let run_process (id: string) (prog: string) (args: string list) (stdin: string option): string = + let p = start_process' id prog args None in + (match stdin with + | None -> () + | 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 + +let system_run (cmd:string) : Z.t = Z.of_int (Sys.command cmd) + +type read_result = EOF | SIGINT + +let handle_stderr (p:proc) (h : string -> unit) = + (* Read stderr and call the handler if anything is in there. *) + let se = channel_read_all_nonblock p.errc in + if se <> "" then + h (BatString.trim se) + +let ask_process + (p: proc) (stdin: string) + (exn_handler: unit -> string) + (stderr_handler : string -> unit) + : string = + let result = ref None in + let out = Buffer.create 16 in + let stop_marker = BatOption.default (fun s -> false) p.stop_marker in + + let reader_fn signal_fn = + let rec loop p out = + let line = BatString.trim (input_line p.inc) in (* raises EOF *) + if not (stop_marker line) then + (Buffer.add_string out (line ^ "\n"); loop p out) in + (try loop p out + with | SigInt -> result := Some SIGINT + | End_of_file -> result := Some EOF); + signal_fn () in + + try + (* Check stderr both before and after asking. Note: this does + * not handle the case when the process prints something to stderr + * and then hangs. We will stay in the process_read_async call without + * ever handling the output. To properly handle that, we could + * use a separate thread, but then all stderr_handler functions need + * to take locks. Since this is not a problem for now, we just avoid + * this complexity. *) + handle_stderr p stderr_handler; + process_read_async p (Some stdin) reader_fn; + handle_stderr p stderr_handler; + (match !result with + | Some EOF -> kill_process p; Buffer.add_string out (exn_handler ()) + | Some SIGINT -> raise SigInt + | None -> ()); + Buffer.contents out + with e -> (* Ensure that reader_fn gets an EOF and exits *) + kill_process p; raise e + +let get_file_extension (fn:string) : string = snd (BatString.rsplit fn ".") + +(* NOTE: Working around https://github.com/ocaml-batteries-team/batteries-included/issues/1136 *) +let is_absolute_windows (path_str : string) : bool = + if FStarC_Platform.system = FStarC_Platform.Windows then + match BatString.to_list path_str with + | '\\' :: _ -> true + | letter :: ':' :: '\\' :: _ -> BatChar.is_letter letter + | _ -> false + else + false + +let is_path_absolute path_str = + let open Batteries.Incubator in + let open BatPathGen.OfString in + let path = of_string path_str in + is_absolute path || is_absolute_windows path_str + +let join_paths path_str0 path_str1 = + let open Batteries.Incubator in + let open BatPathGen.OfString in + let open BatPathGen.OfString.Operators in + to_string ((of_string path_str0) //@ (of_string path_str1)) + +let normalize_file_path (path_str:string) = + if is_path_absolute path_str then + path_str + else + let open Batteries.Incubator in + let open BatPathGen.OfString in + let open BatPathGen.OfString.Operators in + let path = of_string path_str in + let cwd = of_string (BatSys.getcwd ()) in + to_string (normalize_in_tree (cwd //@ path)) + +type stream_reader = BatIO.input +let open_stdin () = BatIO.stdin +let read_line s = + try + Some (BatIO.read_line s) + with + _ -> None +let nread (s:stream_reader) (n:Z.t) = + try + Some (BatIO.nread s (Z.to_int n)) + with + _ -> None + +let poll_stdin (f:float) = + try + let ready_fds, _, _ = Unix.select [Unix.stdin] [] [] f in + match ready_fds with + | [] -> false + | _ -> true + with + | _ -> false + +type string_builder = BatBuffer.t +let new_string_builder () = BatBuffer.create 256 +let clear_string_builder b = BatBuffer.clear b +let string_of_string_builder b = BatBuffer.contents b +let string_builder_append b s = BatBuffer.add_string b s + +let message_of_exn (e:exn) = Printexc.to_string e +let trace_of_exn (e:exn) = Printexc.get_backtrace () + +module StringOps = + struct + type t = string + let equal (x:t) (y:t) = x=y + let compare (x:t) (y:t) = BatString.compare x y + let hash (x:t) = BatHashtbl.hash x + end + +module StringHashtbl = BatHashtbl.Make(StringOps) +module StringMap = BatMap.Make(StringOps) + +type 'value smap = 'value StringHashtbl.t +let smap_create (i:Z.t) : 'value smap = StringHashtbl.create (Z.to_int i) +let smap_clear (s:('value smap)) = StringHashtbl.clear s +let smap_add (m:'value smap) k (v:'value) = StringHashtbl.replace m k v +let smap_of_list (l: (string * 'value) list) = + let s = StringHashtbl.create (BatList.length l) in + FStar_List.iter (fun (x,y) -> smap_add s x y) l; + s +let smap_try_find (m:'value smap) k = StringHashtbl.find_option m k +let smap_fold (m:'value smap) f a = StringHashtbl.fold f m a +let smap_remove (m:'value smap) k = StringHashtbl.remove m k +let smap_keys (m:'value smap) = smap_fold m (fun k _ acc -> k::acc) [] +let smap_copy (m:'value smap) = StringHashtbl.copy m +let smap_size (m:'value smap) = StringHashtbl.length m +let smap_iter (m:'value smap) f = StringHashtbl.iter f m + +exception PSMap_Found +type 'value psmap = 'value StringMap.t +let psmap_empty (_: unit) : 'value psmap = StringMap.empty +let psmap_add (map: 'value psmap) (key: string) (value: 'value) = StringMap.add key value map +let psmap_find_default (map: 'value psmap) (key: string) (dflt: 'value) = + StringMap.find_default dflt key map +let psmap_try_find (map: 'value psmap) (key: string) = + StringMap.Exceptionless.find key map +let psmap_fold (m:'value psmap) f a = StringMap.fold f m a +let psmap_find_map (m:'value psmap) f = + let res = ref None in + let upd k v = + let r = f k v in + if r <> None then (res := r; raise PSMap_Found) in + (try StringMap.iter upd m with PSMap_Found -> ()); + !res +let psmap_modify (m: 'value psmap) (k: string) (upd: 'value option -> 'value) = + StringMap.modify_opt k (fun vopt -> Some (upd vopt)) m + +let psmap_merge (m1: 'value psmap) (m2: 'value psmap) : 'value psmap = + psmap_fold m1 (fun k v m -> psmap_add m k v) m2 + +let psmap_remove (m: 'value psmap) (key:string) + : 'value psmap = StringMap.remove key m + +module ZHashtbl = BatHashtbl.Make(Z) +module ZMap = BatMap.Make(Z) + +type 'value imap = 'value ZHashtbl.t +let imap_create (i:Z.t) : 'value imap = ZHashtbl.create (Z.to_int i) +let imap_clear (s:('value imap)) = ZHashtbl.clear s +let imap_add (m:'value imap) k (v:'value) = ZHashtbl.replace m k v +let imap_of_list (l: (Z.t * 'value) list) = + let s = ZHashtbl.create (BatList.length l) in + FStar_List.iter (fun (x,y) -> imap_add s x y) l; + s +let imap_try_find (m:'value imap) k = ZHashtbl.find_option m k +let imap_fold (m:'value imap) f a = ZHashtbl.fold f m a +let imap_remove (m:'value imap) k = ZHashtbl.remove m k +let imap_keys (m:'value imap) = imap_fold m (fun k _ acc -> k::acc) [] +let imap_copy (m:'value imap) = ZHashtbl.copy m + +type 'value pimap = 'value ZMap.t +let pimap_empty (_: unit) : 'value pimap = ZMap.empty +let pimap_add (map: 'value pimap) (key: Z.t) (value: 'value) = ZMap.add key value map +let pimap_find_default (map: 'value pimap) (key: Z.t) (dflt: 'value) = + ZMap.find_default dflt key map +let pimap_try_find (map: 'value pimap) (key: Z.t) = + ZMap.Exceptionless.find key map +let pimap_fold (m:'value pimap) f a = ZMap.fold f m a +let pimap_remove (m:'value pimap) k = ZMap.remove k m + +(* restore pre-2.11 BatString.nsplit behavior, + see https://github.com/ocaml-batteries-team/batteries-included/issues/845 *) +let batstring_nsplit s t = + if s = "" then [] else BatString.split_on_string t s + +let format (fmt:string) (args:string list) = + let frags = batstring_nsplit fmt "%s" in + if BatList.length frags <> BatList.length args + 1 then + failwith ("Not enough arguments to format string " ^fmt^ " : expected " ^ (Stdlib.string_of_int (BatList.length frags)) ^ " got [" ^ (BatString.concat ", " args) ^ "] frags are [" ^ (BatString.concat ", " frags) ^ "]") + else + let sbldr = new_string_builder () in + string_builder_append sbldr (List.hd frags); + BatList.iter2 + (fun frag arg -> string_builder_append sbldr arg; + string_builder_append sbldr frag) + (List.tl frags) args; + string_of_string_builder sbldr + +let format1 f a = format f [a] +let format2 f a b = format f [a;b] +let format3 f a b c = format f [a;b;c] +let format4 f a b c d = format f [a;b;c;d] +let format5 f a b c d e = format f [a;b;c;d;e] +let format6 f a b c d e g = format f [a;b;c;d;e;g] + +let flush_stdout () = flush stdout + +let stdout_isatty () = Some (Unix.isatty Unix.stdout) + +(* NOTE: this is deciding whether or not to color by looking + at stdout_isatty(), which may be a wrong choice if + we're instead outputting to stderr. e.g. + fstar.exe Blah.fst 2>errlog + will colorize the errors in the file if stdout is not + also redirected. +*) +let colorize s colors = + match colors with + | (c1,c2) -> + match stdout_isatty () with + | Some true -> format3 "%s%s%s" c1 s c2 + | _ -> s + +let colorize_bold s = + match stdout_isatty () with + | Some true -> format3 "%s%s%s" "\x1b[39;1m" s "\x1b[0m" + | _ -> s + +let colorize_red s = + match stdout_isatty () with + | Some true -> format3 "%s%s%s" "\x1b[31;1m" s "\x1b[0m" + | _ -> s + +let colorize_yellow s = + match stdout_isatty () with + | Some true -> format3 "%s%s%s" "\x1b[33;1m" s "\x1b[0m" + | _ -> s + +let colorize_cyan s = + match stdout_isatty () with + | 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 colorize_magenta s = + match stdout_isatty () with + | Some true -> format3 "%s%s%s" "\x1b[35;1m" s "\x1b[0m" + | _ -> s + +let pr = Printf.printf +let spr = Printf.sprintf +let fpr = Printf.fprintf + +type printer = { + printer_prinfo: string -> unit; + printer_prwarning: string -> unit; + printer_prerror: string -> unit; + printer_prgeneric: string -> (unit -> string) -> (unit -> json) -> unit +} + +let default_printer = + { printer_prinfo = (fun s -> pr "%s" s; flush stdout); + printer_prwarning = (fun s -> fpr stderr "%s" (colorize_yellow s); flush stdout; flush stderr); + printer_prerror = (fun s -> fpr stderr "%s" (colorize_red s); flush stdout; flush stderr); + printer_prgeneric = fun label get_string get_json -> pr "%s: %s" label (get_string ())} + +let current_printer = ref default_printer +let set_printer printer = current_printer := printer + +let print_raw s = set_binary_mode_out stdout true; pr "%s" s; flush stdout +let print_string s = (!current_printer).printer_prinfo s +let print_generic label to_string to_json a = (!current_printer).printer_prgeneric label (fun () -> to_string a) (fun () -> to_json a) +let print_any s = (!current_printer).printer_prinfo (Marshal.to_string s []) +let strcat s1 s2 = s1 ^ s2 +let concat_l sep (l:string list) = BatString.concat sep l + +let string_of_unicode (bytes:int array) = + BatArray.fold_left (fun acc b -> acc^(BatUTF8.init 1 (fun _ -> BatUChar.of_int b))) "" bytes +let unicode_of_string (string:string) = + let n = BatUTF8.length string in + let t = Array.make n 0 in + let i = ref 0 in + BatUTF8.iter (fun c -> t.(!i) <- BatUChar.code c; incr i) string; + t +let base64_encode s = BatBase64.str_encode s +let base64_decode s = BatBase64.str_decode s +let char_of_int i = Z.to_int i +let int_of_string = Z.of_string +let safe_int_of_string x = + if x = "" then None else + try Some (int_of_string x) with Invalid_argument _ -> None +let int_of_char x = Z.of_int x +let int_of_byte x = x +let int_of_uint8 x = Z.of_int (Char.code x) +let uint16_of_int i = Z.to_int i +let byte_of_char c = c + +let float_of_string s = float_of_string s +let float_of_byte b = float_of_int (Char.code b) +let float_of_int32 = float_of_int +let float_of_int64 = BatInt64.to_float + +let int_of_int32 i = i +let int32_of_int i = BatInt32.of_int i + +let string_of_int = Z.to_string +let string_of_bool = string_of_bool +let string_of_int32 = BatInt32.to_string +let string_of_int64 = BatInt64.to_string +let string_of_float = string_of_float +let string_of_char i = BatUTF8.init 1 (fun _ -> BatUChar.chr i) +let hex_string_of_byte (i:int) = + let hs = spr "%x" i in + if (String.length hs = 1) then "0" ^ hs + else hs +let string_of_bytes = string_of_unicode +let bytes_of_string = unicode_of_string +let starts_with = BatString.starts_with +let trim_string = BatString.trim +let ends_with = BatString.ends_with +let char_at s index = BatUChar.code (BatUTF8.get s (Z.to_int index)) +let is_upper c = 65 <= c && c <= 90 +let contains (s1:string) (s2:string) = BatString.exists s1 s2 +let substring_from s index = BatString.tail s (Z.to_int index) +let substring s i j = BatString.sub s (Z.to_int i) (Z.to_int j) +let replace_char (s:string) c1 c2 = + let c1, c2 = BatUChar.chr c1, BatUChar.chr c2 in + BatUTF8.map (fun x -> if x = c1 then c2 else x) s +let replace_chars (s:string) c (by:string) = + BatString.replace_chars (fun x -> if x = Char.chr c then by else BatString.of_char x) s +let hashcode s = Z.of_int (StringOps.hash s) +let compare s1 s2 = Z.of_int (BatString.compare s1 s2) +let split s sep = BatString.split_on_string sep s +let splitlines s = split s "\n" + +let iof = int_of_float +let foi = float_of_int + +let print1 a b = print_string (format1 a b) +let print2 a b c = print_string (format2 a b c) +let print3 a b c d = print_string (format3 a b c d) +let print4 a b c d e = print_string (format4 a b c d e) +let print5 a b c d e f = print_string (format5 a b c d e f) +let print6 a b c d e f g = print_string (format6 a b c d e f g) +let print fmt args = print_string (format fmt args) + +let print_error s = (!current_printer).printer_prerror s +let print1_error a b = print_error (format1 a b) +let print2_error a b c = print_error (format2 a b c) +let print3_error a b c d = print_error (format3 a b c d) + +let print_warning s = (!current_printer).printer_prwarning s +let print1_warning a b = print_warning (format1 a b) +let print2_warning a b c = print_warning (format2 a b c) +let print3_warning a b c d = print_warning (format3 a b c d) + +let fprint (oc:out_channel) fmt args : unit = Printf.fprintf oc "%s" (format fmt args) + +[@@deriving yojson,show] + +let is_left = function + | FStar_Pervasives.Inl _ -> true + | _ -> false + +let is_right = function + | FStar_Pervasives.Inr _ -> true + | _ -> false + +let left = function + | FStar_Pervasives.Inl x -> x + | _ -> failwith "Not in left" +let right = function + | FStar_Pervasives.Inr x -> x + | _ -> failwith "Not in right" + +let (-<-) f g x = f (g x) + +let find_dup f l = + let rec aux = function + | hd::tl -> + let hds, tl' = BatList.partition (f hd) tl in + (match hds with + | [] -> aux tl' + | _ -> Some hd) + | _ -> None in + aux l + +let nodups f l = match find_dup f l with | None -> true | _ -> false + +let remove_dups f l = + let rec aux out = function + | hd::tl -> let _, tl' = BatList.partition (f hd) tl in aux (hd::out) tl' + | _ -> out in + aux [] l + +let is_none = function + | None -> true + | Some _ -> false + +let is_some = function + | None -> false + | Some _ -> true + +let must = function + | Some x -> x + | None -> failwith "Empty option" + +let dflt x = function + | None -> x + | Some x -> x + +let find_opt f l = + let rec aux = function + | [] -> None + | hd::tl -> if f hd then Some hd else aux tl in + aux l + +(* JP: why so many duplicates? :'( *) +let sort_with = FStar_List.sortWith + +let bind_opt opt f = + match opt with + | None -> None + | Some x -> f x + +let catch_opt opt f = + match opt with + | Some x -> opt + | None -> f () + +let map_opt opt f = + match opt with + | None -> None + | Some x -> Some (f x) + +let iter_opt opt f = + ignore (map_opt opt f) + +let rec find_map l f = + match l with + | [] -> None + | x::tl -> + match f x with + | None -> find_map tl f + | y -> y + +let try_find f l = BatList.find_opt f l + +let try_find_index f l = + let rec aux i = function + | [] -> None + | hd::tl -> if f hd then Some (Z.of_int i) else aux (i+1) tl in + aux 0 l + +let fold_map f state s = + let fold (state, acc) x = + let state, v = f state x in (state, v :: acc) in + let (state, rs) = BatList.fold_left fold (state, []) s in + (state, BatList.rev rs) + +let choose_map f state s = + let fold (state, acc) x = + match f state x with + | state, None -> (state, acc) + | state, Some v -> (state, v :: acc) in + let (state, rs) = BatList.fold_left fold (state, []) s in + (state, BatList.rev rs) + +let for_all f l = BatList.for_all f l +let for_some f l = BatList.exists f l +let forall_exists rel l1 l2 = + for_all (fun x -> for_some (rel x) l2) l1 +let multiset_equiv rel l1 l2 = + BatList.length l1 = BatList.length l2 && forall_exists rel l1 l2 +let take p l = + let rec take_aux acc = function + | [] -> l, [] + | x::xs when p x -> take_aux (x::acc) xs + | x::xs -> List.rev acc, x::xs + in take_aux [] l + +let rec fold_flatten f acc l = + match l with + | [] -> acc + | x :: xs -> let acc, xs' = f acc x in fold_flatten f acc (xs' @ xs) + +let add_unique f x l = + if for_some (f x) l then + l + else + x::l + +let first_N n l = + let n = Z.to_int n in + let rec f acc i l = + if i = n then BatList.rev acc,l else + match l with + | h::tl -> f (h::acc) (i+1) tl + | _ -> failwith "firstN" + in + f [] 0 l + +let nth_tail n l = + let rec aux n l = + if n=0 then l else aux (n - 1) (BatList.tl l) + in + aux (Z.to_int n) l + +let prefix l = + match BatList.rev l with + | hd::tl -> BatList.rev tl, hd + | _ -> failwith "impossible" + +let prefix_until f l = + let rec aux prefix = function + | [] -> None + | hd::tl -> + if f hd then Some (BatList.rev prefix, hd, tl) + else aux (hd::prefix) tl in + aux [] l + +let string_to_ascii_bytes (s:string) : char array = + BatArray.of_list (BatString.explode s) +let ascii_bytes_to_string (b:char array) : string = + BatString.implode (BatArray.to_list b) + +let mk_ref a = ref a + +let write_file (fn:string) s = + let fh = open_file_for_writing fn in + append_to_file fh s; + close_out_channel fh + +let copy_file input_name output_name = + (* see https://ocaml.github.io/ocamlunix/ocamlunix.html#sec33 *) + let open Unix in + let buffer_size = 8192 in + let buffer = Bytes.create buffer_size in + let fd_in = openfile input_name [O_RDONLY] 0 in + let fd_out = openfile output_name [O_WRONLY; O_CREAT; O_TRUNC] 0o666 in + let rec copy_loop () = + match read fd_in buffer 0 buffer_size with + | 0 -> () + | r -> ignore (write fd_out buffer 0 r); copy_loop () + in + copy_loop (); + close fd_in; + close fd_out +let delete_file (fn:string) = Sys.remove fn +let file_get_contents f = + let ic = open_in_bin f in + let l = in_channel_length ic in + let s = really_input_string ic l in + close_in ic; + s +let file_get_lines f = + let ic = open_in f in + let rec aux accu = + let l = + try + Some (input_line ic) + with + | End_of_file -> None + in + match l with + | None -> accu + | Some l -> aux (l::accu) + in + let l = aux [] in + close_in ic; + List.rev l +let concat_dir_filename d f = Filename.concat d f + +let slash_code : int = + BatUChar.code (BatUChar.of_char '/') + +let rec dropWhile f xs = + match xs with + | [] -> [] + | x::xs -> + if f x + then dropWhile f xs + else x::xs + +let path_parent (fn : string) : string = + let cs = FStar_String.split [slash_code] fn in + (* ^ Components of the path *) + let cs = cs |> List.rev |> dropWhile (fun s -> s = "") |> List.rev in + (* ^ Remove empty trailing components, so we interpret a/b/c/ as a/b/c *) + (* Remove last component to get parent and concat. *) + FStar_String.concat "/" (FStar_List.init cs) + +let rec __mkdir clean mkparents nm = + let remove_all_in_dir nm = + let open Sys in + Array.iter remove (Array.map (concat_dir_filename nm) (readdir nm)) in + let open Unix in + (match Sys.os_type with + | "Unix" -> ignore (umask 0o002) + | _ -> (* unimplemented*) ()); + try Unix.mkdir nm 0o777 + with + | Unix_error (EEXIST, _, _) -> + if clean then remove_all_in_dir nm + + (* failed due to nonexisting directory, mkparents is true, and nm has a slash: + attempt to recursively create parent and retry. *) + | Unix_error (ENOENT, _, _) when mkparents && FStar_String.index_of nm slash_code <> (Z.of_int (-1)) -> + __mkdir false true (path_parent nm); + Unix.mkdir nm 0o777 + +let mkdir = __mkdir + +let for_range lo hi f = + for i = Z.to_int lo to Z.to_int hi do + f (Z.of_int i) + done + + +let incr r = r := Z.(!r + one) +let decr r = r := Z.(!r - one) +let geq (i:int) (j:int) = i >= j + +let exec_name = Sys.executable_name +let get_exec_dir () = Filename.dirname (Sys.executable_name) +let get_cmd_args () = Array.to_list Sys.argv +let expand_environment_variable x = try Some (Sys.getenv x) with Not_found -> None + +let physical_equality (x:'a) (y:'a) = x == y +let check_sharing a b msg = if physical_equality a b then print1 "Sharing OK: %s\n" msg else print1 "Sharing broken in %s\n" msg + +type oWriter = { + write_byte: char -> unit; + write_bool: bool -> unit; + write_int: int -> unit; + write_int32: int32 -> unit; + write_int64: int64 -> unit; + write_char: char -> unit; + write_double: float -> unit; + write_bytearray: char array -> unit; + write_string: string -> unit; + + close: unit -> unit +} + +type oReader = { + read_byte: unit -> char; + read_bool: unit -> bool; + read_int: unit -> int; + read_int32: unit -> int32; + read_int64: unit -> int64; + read_char: unit -> char; + read_double: unit -> float; + read_bytearray: unit -> char array; + read_string: unit -> string; + + close: unit -> unit +} + +module MkoReader = struct + let read_byte r x = r.read_byte x + let read_bool r x = r.read_bool x + let read_int r x = r.read_int32 x + let read_int32 r x = r.read_int32 x + let read_int64 r x = r.read_int64 x + let read_char r x = r.read_char x + let read_double r x = r.read_double x + let read_bytearray r x = r.read_bytearray x + let read_string r x = r.read_string x + + let close r x = r.close x +end + +module MkoWriter = struct + let write_byte w x = w.write_byte x + let write_bool w x = w.write_bool x + let write_int w x = w.write_int32 x + let write_int32 w x = w.write_int32 x + let write_int64 w x = w.write_int64 x + let write_char w x = w.write_char x + let write_double w x = w.write_double x + let write_bytearray w x = w.write_bytearray x + let write_string w x = w.write_string x + + let close w x = w.close x +end + +(* + * TODO: these functions need to be filled in + *) +let get_owriter (filename:string) : oWriter = { + write_byte = (fun _ -> ()); + write_bool = (fun _ -> ()); + write_int = (fun _ -> ()); + write_int32 = (fun _ -> ()); + write_int64 = (fun _ -> ()); + write_char = (fun _ -> ()); + write_double = (fun _ -> ()); + write_bytearray = (fun _ -> ()); + write_string = (fun _ -> ()); + + close = (fun _ -> ()); +} + +let get_oreader (filename:string) : oReader = { + read_byte = (fun _ -> 'a'); + read_bool = (fun _ -> true); + read_int = (fun _ -> 0); + read_int32 = (fun _ -> failwith "NYI"); + read_int64 = (fun _ -> 0L); + read_char = (fun _ -> 'a'); + read_double = (fun _ -> 0.0); + read_bytearray = (fun _ -> [||]); + read_string = (fun _ -> ""); + + close = (fun _ -> ()); +} + +let getcwd = Sys.getcwd + +let readdir dir = "." :: ".." :: Array.to_list (Sys.readdir dir) + +let paths_to_same_file f g = + let open Unix in + let { st_dev = i; st_ino = j } = stat f in + let { st_dev = i'; st_ino = j' } = stat g in + (i,j) = (i',j') + +let file_exists = Sys.file_exists +(* Sys.is_directory raises Sys_error if the path does not exist *) +let is_directory f = Sys.file_exists f && Sys.is_directory f + + +let basename = Filename.basename +let dirname = Filename.dirname +let print_endline = print_endline + +let map_option f opt = BatOption.map f opt + +let save_value_to_file (fname:string) value = + (* BatFile.with_file_out uses Unix.openfile (which isn't available in + js_of_ocaml) instead of Pervasives.open_out, so we don't use it here. *) + let channel = open_out_bin fname in + BatPervasives.finally + (fun () -> close_out channel) + (fun channel -> output_value channel value) + channel + +let load_value_from_file (fname:string) = + (* BatFile.with_file_in uses Unix.openfile (which isn't available in + js_of_ocaml) instead of Pervasives.open_in, so we don't use it here. *) + try + let channel = open_in_bin fname in + BatPervasives.finally + (fun () -> close_in channel) + (fun channel -> Some (input_value channel)) + channel + with | _ -> None + +let save_2values_to_file (fname:string) value1 value2 = + try + let channel = open_out_bin fname in + BatPervasives.finally + (fun () -> close_out channel) + (fun channel -> + output_value channel value1; + output_value channel value2) + channel + with + | e -> delete_file fname; + raise e + +let load_2values_from_file (fname:string) = + try + let channel = open_in_bin fname in + BatPervasives.finally + (fun () -> close_in channel) + (fun channel -> + let v1 = input_value channel in + let v2 = input_value channel in + Some (v1, v2)) + channel + with | _ -> None + +let print_exn e = + Printexc.to_string e + +let digest_of_file = + let cache = smap_create (Z.of_int 101) in + fun (fname:string) -> + match smap_try_find cache fname with + | Some dig -> dig + | None -> + let dig = BatDigest.file fname in + smap_add cache fname dig; + dig + +let digest_of_string (s:string) = + BatDigest.to_hex (BatDigest.string s) + +(* Precondition: file exists *) +let touch_file (fname:string) : unit = + (* Sets access and modification times to current time *) + Unix.utimes fname 0.0 0.0 + +let ensure_decimal s = Z.to_string (Z.of_string s) + +let measure_execution_time tag f = + let t = Sys.time () in + let retv = f () in + print2 "Execution time of %s: %s ms\n" tag (string_of_float (1000.0 *. (Sys.time() -. t))); + retv + +let return_execution_time f = + let t1 = Sys.time () in + let retv = f () in + let t2 = Sys.time () in + (retv, 1000.0 *. (t2 -. t1)) + +(* Outside of this file the reference to FStar_Util.ref must use the following combinators *) +(* Export it at the end of the file so that we don't break other internal uses of ref *) +(* type 'a ref = 'a ref *) + +let read r = !r +let write r v = r := v +let (!) = read +let (:=) = write + +let marshal (x:'a) : string = Marshal.to_string x [] +let unmarshal (x:string) : 'a = Marshal.from_string x 0 + +type signedness = | Unsigned | Signed +type width = | Int8 | Int16 | Int32 | Int64 + +let rec z_pow2 n = + if n = Z.zero then Z.one + else Z.mul (Z.of_string "2") (z_pow2 (Z.sub n Z.one)) + +let bounds signedness width = + let n = + match width with + | Int8 -> Z.of_string "8" + | Int16 -> Z.of_string "16" + | Int32 -> Z.of_string "32" + | Int64 -> Z.of_string "64" + in + let lower, upper = + match signedness with + | Unsigned -> + Z.zero, Z.sub (z_pow2 n) Z.one + | Signed -> + let upper = z_pow2 (Z.sub n Z.one) in + Z.neg upper, Z.sub upper Z.one + in + lower, upper + +let within_bounds repr signedness width = + let lower, upper = bounds signedness width in + let value = Z.of_string (ensure_decimal repr) in + Z.leq lower value && Z.leq value upper + +let print_array (f: 'a -> string) + (s: 'a array) + : string + = let ls = Array.fold_left (fun out a -> f a :: out) [] s in + format1 "[| %s |]" (String.concat "; " (List.rev ls)) + +let array_of_list (l:'a list) = FStar_ImmutableArray_Base.of_list l + +let array_length (l:'a FStar_ImmutableArray_Base.t) = FStar_ImmutableArray_Base.length l + +let array_index (l:'a FStar_ImmutableArray_Base.t) (i:Z.t) = FStar_ImmutableArray_Base.index l i + +let putenv k v = Unix.putenv k v +let create_process (prog:string) (args:string list) : Z.t = + let pid = Unix.create_process prog (Array.of_list args) Unix.stdin Unix.stdout Unix.stderr in + Z.of_int pid + +let waitpid (pid:Z.t) : (Z.t, Z.t) FStar_Pervasives.either = + let pid, s = Unix.waitpid [] (Z.to_int pid) in + match s with + | WEXITED rc -> FStar_Pervasives.Inl (Z.of_int rc) + | WSIGNALED rc -> FStar_Pervasives.Inr (Z.of_int rc) + | WSTOPPED _ -> failwith "waitpid: unexpected WSTOPPED, should not happen with empty flags" + +let exn_is_enoent (e:exn) : bool = + match e with + | Unix.Unix_error (Unix.ENOENT, _, _) -> true + | _ -> false diff --git a/src/ml/full/FStarC_Tactics_Unseal.ml b/src/ml/full/FStarC_Tactics_Unseal.ml new file mode 100644 index 00000000000..62339692c70 --- /dev/null +++ b/src/ml/full/FStarC_Tactics_Unseal.ml @@ -0,0 +1,7 @@ +open Fstarcompiler +open FStarC_Tactics_Result +open FStarC_Tactics_Types + +let tac_return x = fun ps -> Success (x, ps) + +let unseal x = tac_return x diff --git a/src/ml/full/FStarC_Tactics_V1_Builtins.ml b/src/ml/full/FStarC_Tactics_V1_Builtins.ml new file mode 100644 index 00000000000..ef0bc1b2ca7 --- /dev/null +++ b/src/ml/full/FStarC_Tactics_V1_Builtins.ml @@ -0,0 +1,143 @@ +open Fstarcompiler +open Prims +open FStar_Pervasives_Native +open FStar_Pervasives +open FStarC_Tactics_Result +open FStarC_Tactics_Types + +module N = FStarC_TypeChecker_Normalize +module B = FStarC_Tactics_V1_Basic +module TM = FStarC_Tactics_Monad +module CTRW = FStarC_Tactics_CtrlRewrite +module RD = FStarC_Reflection_V1_Data +module EMB = FStarC_Syntax_Embeddings +module EMBBase = FStarC_Syntax_Embeddings_Base +module NBET = FStarC_TypeChecker_NBETerm + +type ('a,'wp) tac_repr = proofstate -> 'a __result +type 'a __tac = ('a, unit) 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 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_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 +let revert = from_tac_1 B.revert +let binder_retype = from_tac_1 B.binder_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 inspect = from_tac_1 B.inspect +let pack = from_tac_1 B.pack +let pack_curried = from_tac_1 B.pack_curried +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 + +(* 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 : FStarC_Syntax_Syntax.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 ())) diff --git a/src/ml/full/FStarC_Tactics_V2_Builtins.ml b/src/ml/full/FStarC_Tactics_V2_Builtins.ml new file mode 100644 index 00000000000..7d1bf2ef51f --- /dev/null +++ b/src/ml/full/FStarC_Tactics_V2_Builtins.ml @@ -0,0 +1,184 @@ +open Fstarcompiler +open Prims +open FStar_Pervasives_Native +open FStar_Pervasives +open FStarC_Tactics_Result +open FStarC_Tactics_Types + +module N = FStarC_TypeChecker_Normalize +module B = FStarC_Tactics_V2_Basic +module TM = FStarC_Tactics_Monad +module CTRW = FStarC_Tactics_CtrlRewrite +module RT = FStarC_Reflection_Types +module RD = FStarC_Reflection_V1_Data +module EMB = FStarC_Syntax_Embeddings +module EMBBase = FStarC_Syntax_Embeddings_Base +module NBET = FStarC_TypeChecker_NBETerm + +type ('a,'wp) tac_repr = proofstate -> 'a __result +type 'a __tac = ('a, unit) tac_repr + +let interpret_tac (s:string) (t: 'a TM.tac) (ps: proofstate): 'a __result = + FStarC_Errors.with_ctx + ("While running primitive " ^ s ^ " (called from within a plugin)") + (fun () -> 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 s (t: 'a -> 'r TM.tac): 'a -> 'r __tac = + fun (xa: 'a) (ps : proofstate) -> + let m = t xa in + interpret_tac s m ps + +let from_tac_2 s (t: 'a -> 'b -> 'r TM.tac): 'a -> 'b -> 'r __tac = + fun (xa: 'a) (xb: 'b) (ps : proofstate) -> + let m = t xa xb in + interpret_tac s m ps + +let from_tac_3 s (t: 'a -> 'b -> 'c -> 'r TM.tac): 'a -> 'b -> 'c -> 'r __tac = + fun (xa: 'a) (xb: 'b) (xc: 'c) (ps : proofstate) -> + let m = t xa xb xc in + interpret_tac s m ps + +let from_tac_4 s (t: 'a -> 'b -> 'c -> 'd -> 'r TM.tac): 'a -> 'b -> 'c -> 'd -> 'r __tac = + fun (xa: 'a) (xb: 'b) (xc: 'c) (xd: 'd) (ps : proofstate) -> + let m = t xa xb xc xd in + interpret_tac s m ps + +let from_tac_5 s (t: 'a -> 'b -> 'c -> 'd -> 'e -> 'r TM.tac): 'a -> 'b -> 'c -> 'd -> 'e -> 'r __tac = + fun (xa: 'a) (xb: 'b) (xc: 'c) (xd: 'd) (xe: 'e) (ps : proofstate) -> + let m = t xa xb xc xd xe in + interpret_tac s m ps + + +(* Pointing to the internal primitives *) +let fixup_range = from_tac_1 "B.fixup_range" B.fixup_range +let compress = from_tac_1 "B.compress" B.compress +let set_goals = from_tac_1 "TM.set_goals" TM.set_goals +let set_smt_goals = from_tac_1 "TM.set_smt_goals" TM.set_smt_goals +let top_env = from_tac_1 "B.top_env" B.top_env +let fresh = from_tac_1 "B.fresh" B.fresh +let refine_intro = from_tac_1 "B.refine_intro" B.refine_intro +let tc = from_tac_2 "B.tc" B.tc +let tcc = from_tac_2 "B.tcc" B.tcc +let unshelve = from_tac_1 "B.unshelve" B.unshelve +let unquote = fun t -> failwith "Sorry, unquote does not work in compiled tactics" +let norm = fun s -> from_tac_1 "B.norm" B.norm s +let norm_term_env = fun e s -> from_tac_3 "B.norm_term_env" B.norm_term_env e s +let norm_binding_type = fun s -> from_tac_2 "B.norm_binding_type" B.norm_binding_type s +let intro = from_tac_1 "B.intro" B.intro +let intros = from_tac_1 "B.intros" B.intros +let intro_rec = from_tac_1 "B.intro_rec" B.intro_rec +let rename_to = from_tac_2 "B.rename_to" B.rename_to +let revert = from_tac_1 "B.revert" B.revert +let var_retype = from_tac_1 "B.var_retype" B.var_retype +let clear_top = from_tac_1 "B.clear_top" B.clear_top +let clear = from_tac_1 "B.clear" B.clear +let rewrite = from_tac_1 "B.rewrite" B.rewrite +let grewrite = from_tac_2 "B.grewrite" B.grewrite +let t_exact = from_tac_3 "B.t_exact" B.t_exact +let t_apply = from_tac_4 "B.t_apply" B.t_apply +let t_apply_lemma = from_tac_3 "B.t_apply_lemma" B.t_apply_lemma +let print = from_tac_1 "B.print" B.print +let debugging = from_tac_1 "B.debugging" B.debugging +let ide = from_tac_1 "B.ide" B.ide +let dump = from_tac_1 "B.dump" B.dump +let dump_all = from_tac_2 "B.dump_all" B.dump_all +let dump_uvars_of = from_tac_2 "B.dump_uvars_of" B.dump_uvars_of +let t_trefl = from_tac_1 "B.t_trefl" B.t_trefl +let dup = from_tac_1 "B.dup" B.dup +let prune = from_tac_1 "B.prune" B.prune +let addns = from_tac_1 "B.addns" B.addns +let t_destruct = from_tac_1 "B.t_destruct" B.t_destruct +let set_options = from_tac_1 "B.set_options" B.set_options +let uvar_env = from_tac_2 "B.uvar_env" B.uvar_env +let ghost_uvar_env = from_tac_2 "B.ghost_uvar_env" B.ghost_uvar_env +let unify_env = from_tac_3 "B.unify_env" B.unify_env +let unify_guard_env = from_tac_3 "B.unify_guard_env" B.unify_guard_env +let match_env = from_tac_3 "B.match_env" B.match_env +let launch_process = from_tac_3 "B.launch_process" B.launch_process +let fresh_bv_named = from_tac_1 "B.fresh_bv_named" B.fresh_bv_named +let change = from_tac_1 "B.change" B.change +let get_guard_policy = from_tac_1 "B.get_guard_policy" B.get_guard_policy +let set_guard_policy = from_tac_1 "B.set_guard_policy" B.set_guard_policy +let lax_on = from_tac_1 "B.lax_on" B.lax_on +let tadmit_t = from_tac_1 "B.tadmit_t" B.tadmit_t +let join = from_tac_1 "B.join" B.join +let curms = from_tac_1 "B.curms" B.curms +let set_urgency = from_tac_1 "B.set_urgency" B.set_urgency +let set_dump_on_failure = from_tac_1 "B.set_dump_on_failure" B.set_dump_on_failure +let t_commute_applied_match = from_tac_1 "B.t_commute_applied_match" B.t_commute_applied_match +let gather_or_solve_explicit_guards_for_resolved_goals = from_tac_1 "B.gather_explicit_guards_for_resolved_goals" B.gather_explicit_guards_for_resolved_goals +let string_to_term = from_tac_2 "B.string_to_term" B.string_to_term +let push_bv_dsenv = from_tac_2 "B.push_bv_dsenv" B.push_bv_dsenv +let term_to_string = from_tac_1 "B.term_to_string" B.term_to_string +let comp_to_string = from_tac_1 "B.comp_to_string" B.comp_to_string +let term_to_doc = from_tac_1 "B.term_to_doc" B.term_to_doc +let comp_to_doc = from_tac_1 "B.comp_to_doc" B.comp_to_doc +let range_to_string = from_tac_1 "B.range_to_string" B.range_to_string +let term_eq_old = from_tac_2 "B.term_eq_old" 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" B.with_compat_pre_core n (to_tac_0 (f ())) + +let get_vconfig = from_tac_1 "B.get_vconfig" B.get_vconfig +let set_vconfig = from_tac_1 "B.set_vconfig" B.set_vconfig +let t_smt_sync = from_tac_1 "B.t_smt_sync" B.t_smt_sync +let free_uvars = from_tac_1 "B.free_uvars" B.free_uvars +let all_ext_options = from_tac_1 "B.all_ext_options" B.all_ext_options +let ext_getv = from_tac_1 "B.ext_getv" B.ext_getv +let ext_getns = from_tac_1 "B.ext_getns" B.ext_getns + +let alloc x = from_tac_1 "B.alloc" B.alloc x +let read r = from_tac_1 "B.read" B.read r +let write r x = from_tac_2 "B.write" B.write r x + +type ('env, 't) prop_validity_token = unit +type ('env, 'sc, 't, 'pats, 'bnds) match_complete_token = unit + +let is_non_informative = from_tac_2 "B.refl_is_non_informative" B.refl_is_non_informative +let check_subtyping = from_tac_3 "B.refl_check_subtyping" B.refl_check_subtyping +let t_check_equiv = from_tac_5 "B.t_refl_check_equiv" B.t_refl_check_equiv +let core_compute_term_type = from_tac_2 "B.refl_core_compute_term_type" B.refl_core_compute_term_type +let core_check_term = from_tac_4 "B.refl_core_check_term" B.refl_core_check_term +let core_check_term_at_type = from_tac_3 "B.refl_core_check_term_at_type" B.refl_core_check_term_at_type +let check_match_complete = from_tac_4 "B.refl_check_match_complete" B.refl_check_match_complete +let tc_term = from_tac_2 "B.refl_tc_term" B.refl_tc_term +let universe_of = from_tac_2 "B.refl_universe_of" B.refl_universe_of +let check_prop_validity = from_tac_2 "B.refl_check_prop_validity" B.refl_check_prop_validity +let instantiate_implicits = from_tac_3 "B.refl_instantiate_implicits" B.refl_instantiate_implicits +let try_unify = from_tac_4 "B.refl_try_unify" B.refl_try_unify +let maybe_relate_after_unfolding = from_tac_3 "B.refl_maybe_relate_after_unfolding" B.refl_maybe_relate_after_unfolding +let maybe_unfold_head = from_tac_2 "B.refl_maybe_unfold_head" B.refl_maybe_unfold_head +let norm_well_typed_term = from_tac_3 "B.norm_well_typed_term" B.refl_norm_well_typed_term + +let push_open_namespace = from_tac_2 "B.push_open_namespace" B.push_open_namespace +let push_module_abbrev = from_tac_3 "B.push_module_abbrev" B.push_module_abbrev +let resolve_name = from_tac_2 "B.resolve_name" B.resolve_name +let log_issues = from_tac_1 "B.log_issues" B.log_issues + +(* The handlers need to "embed" their argument. *) +let catch (t: unit -> 'a __tac): ((exn, 'a) either) __tac = from_tac_1 "TM.catch" TM.catch (to_tac_0 (t ())) +let recover (t: unit -> 'a __tac): ((exn, 'a) either) __tac = from_tac_1 "TM.recover" TM.recover (to_tac_0 (t ())) + +let ctrl_rewrite + (d : direction) + (t1 : FStarC_Syntax_Syntax.term -> (bool * ctrl_flag) __tac) + (t2 : unit -> unit __tac) + : unit __tac + = from_tac_3 "ctrl_rewrite" CTRW.ctrl_rewrite d (to_tac_1 t1) (to_tac_0 (t2 ())) + +let call_subtac g (t : unit -> unit __tac) u ty = + let t = to_tac_1 t () in + from_tac_4 "B.call_subtac" B.call_subtac g t u ty + +let call_subtac_tm = from_tac_4 "B.call_subtac_tm" B.call_subtac_tm diff --git a/src/ocaml-output/.gitignore b/src/ocaml-output/.gitignore deleted file mode 100644 index 2d5f063d671..00000000000 --- a/src/ocaml-output/.gitignore +++ /dev/null @@ -1,15 +0,0 @@ -yac-log -.depend -*.cm* -*.o -*.exe -fstar/ -*.tar.gz - -# A touch file -install-compiler-lib - -main.ml - -fstarc/ -fstarlib/ diff --git a/src/ocaml-output/Makefile b/src/ocaml-output/Makefile deleted file mode 100644 index 3d9fe1bf7cf..00000000000 --- a/src/ocaml-output/Makefile +++ /dev/null @@ -1,153 +0,0 @@ -include ../../.common.mk - -FSTAR_HOME = ../.. -DUNE_SNAPSHOT ?= $(call maybe_cygwin_path,$(realpath $(FSTAR_HOME)/ocaml)) -export DUNE_SNAPSHOT - -# The string "Madoko" if madoko is installed, something else otherwise. -MADOKO = $(shell madoko --version 2>/dev/null | cut -c -6) -DOS2UNIX=$(shell which dos2unix >/dev/null 2>&1 && echo dos2unix || echo true) - -# Detect the GNU utilities -INSTALL_EXEC := $(shell ginstall --version 2>/dev/null | cut -c -8 | head -n 1) -FIND=$(shell which gfind >/dev/null 2>&1 && echo gfind || echo find) -ifdef INSTALL_EXEC - INSTALL_EXEC := ginstall -else - INSTALL_EXEC := install -endif -export INSTALL_EXEC - -all: dune-snapshot - -.PHONY: dune-stdlib-snapshot dune-snapshot dune-fstar-snapshot dune-verify-ulib source-files - -# FIXME: dune-fstar-snapshot should also depend on dune-verify-ulib, -# once we no longer lax-typecheck -dune-fstar-snapshot: - +$(MAKE) -C .. ocaml - -dune-verify-ulib: - +$(MAKE) -C ../../ulib core - -dune-stdlib-snapshot: dune-verify-ulib - $(MAKE) -C ../../ulib -f Makefile.extract dune-snapshot - -dune-snapshot: dune-fstar-snapshot dune-stdlib-snapshot - +$(Q)$(MAKE) overlay-snapshots - -overlay-snapshots: - @# These copies MUST be done in this order to make sure - @# we avoid races and always end in a consistent state. - $(call msg, "OVERLAY SNAPSHOTS") - $(Q)install -m0644 -t $(DUNE_SNAPSHOT)/fstar-lib/generated/ fstarc/*.ml - $(Q)install -m0644 -t $(DUNE_SNAPSHOT)/fstar-lib/generated/ fstarlib/*.ml - -# ------------------------------------------------------------------------------ -# Preparing a release... these targets are not optimized and the Makefile is -# actually used for scripting a bunch of stuff. -# ------------------------------------------------------------------------------ - -# Copy the contents of $(1) into $(PREFIX)/$(2) while setting the right file -# permissions and creating directories on the fly as needed. -# (JP: the package version of this command is based on git but for OPAM -# installs we cannot assume the user has git installed.) -install_dir = cd ../../$(1) && find . -type f -exec $(INSTALL_EXEC) -m 644 -D {} $(PREFIX)/$(2)/{} \; - -# Install FStar into $(PREFIX) using the standard Unix directory -# structure. - -# On Cygwin, the `--prefix` option to dune only -# supports Windows paths. -FSTAR_PREFIX=$(call maybe_cygwin_path,$(PREFIX)) - -FSTAR_BUILD_PROFILE ?= release - -install: - @# Rebuild everything - +$(MAKE) -C $(FSTAR_HOME) - @# Install the binary and the binary library - cd $(DUNE_SNAPSHOT) && dune install --profile=$(FSTAR_BUILD_PROFILE) --prefix=$(FSTAR_PREFIX) - @# Then the standard library sources and checked files - +$(MAKE) -C $(FSTAR_HOME)/ulib install - @# Then the rest - +$(MAKE) install-sides - -# The `install-sides` rule is intended to be run only by the nix flake. -# Indeed, nix needs to patch binaries created by OCaml (here fstar.exe), -# thus nix cannot use `dune install` - -.PHONY: install-sides -install-sides: - @# Then the examples (those now work from any F* installation flavor, sources, binary package or opam) - @# ucontrib is needed by examples/crypto - $(call install_dir,examples,share/fstar/examples) - $(call install_dir,ucontrib,share/fstar/contrib) - @# Then the tutorial -ifeq ($(MADOKO),Madoko) - @# Build the tutorial first - +$(MAKE) -C ../../doc/old/tutorial -endif - $(INSTALL_EXEC) -m 644 -D ../../doc/Makefile.include $(PREFIX)/share/fstar/doc/Makefile.include - $(call install_dir,doc/old/tutorial,share/fstar/doc/old/tutorial) - -PACKAGE_NAME ?= fstar - -ifeq ($(OS),Windows_NT) - Z3_NAME=z3.exe -else - Z3_NAME=z3 -endif -Z3_DIR=$(dir $(shell which $(Z3_NAME))) -# Z3_LICENSE MUST be explicitly overridden if z3 is installed from an opam package. -# See for instance $(FSTAR_HOME)/.docker/package.Dockerfile -ifndef Z3_LICENSE - Z3_LICENSE?=$(shell if test -f $(Z3_DIR)/LICENSE.txt ; then echo $(Z3_DIR)/LICENSE.txt ; elif test -f $(Z3_DIR)/../LICENSE.txt ; then echo $(Z3_DIR)/../LICENSE.txt ; fi) -endif - -# Create a zip / tar.gz package of FStar that contains a Z3 binary and -# proper license files. - -# On Cygwin, the `--prefix` option to dune only -# supports Windows paths. -package_prefix=$(call maybe_cygwin_path,$(CURDIR)/fstar) - -package_dir = cd ../../$(1) && find . -type f -exec $(INSTALL_EXEC) -m 644 -D {} $(package_prefix)/$(2)/{} \; - -package: - if test -z "$(Z3_LICENSE)" ; then echo Please set Z3_LICENSE to the location of the license file for Z3 ; false ; fi - @# Clean previous packages. - ! [ -d "$(package_prefix)" ] - rm -f $(PACKAGE_NAME).zip $(PACKAGE_NAME).tar.gz - @# Install F* into the package - +PREFIX=$(package_prefix) $(MAKE) install - @# Make the F* ulib F# DLL (NOT the nuget package) - +PREFIX=$(package_prefix) $(MAKE) -C $(FSTAR_HOME)/ulib ulib-in-fsharp-dll - @# Then the version file. - cp ../../version.txt $(package_prefix)/ - @# Documentation and licenses - cp ../../README.md ../../INSTALL.md ../../LICENSE ../../LICENSE-fsharp.txt $(package_prefix) - cp $(Z3_LICENSE) $(package_prefix)/LICENSE-z3.txt - @# Z3 -ifeq ($(OS),Windows_NT) - cp $(shell which libgmp-10.dll) $(package_prefix)/bin - cp $(Z3_DIR)/*.exe $(Z3_DIR)/*.dll $(Z3_DIR)/*.lib $(package_prefix)/bin - chmod a+x $(package_prefix)/bin/z3.exe $(package_prefix)/bin/*.dll - zip -r -9 $(PACKAGE_NAME).zip fstar -else - cp $(Z3_DIR)/z3 $(package_prefix)/bin - tar czf $(PACKAGE_NAME).tar.gz fstar -endif - -.PHONY: clean -# Clean up all files generated by targets in _this_ Makefile -# We only remove the dynamic/ part of the OCaml snapshot. The rest -# should be removed only through the `clean-dune-snapshot` rule in the -# root Makefile. This is because `make all` no longer performs any -# bootstrapping, so `make clean` shouldn't clean up the whole -# snapshot. -clean: - $(call msg, "CLEAN", "src/ocaml-output") - $(Q)rm -f *.tar.gz *.zip - $(Q)rm -f version_platform.txt - $(Q)rm -rf fstar diff --git a/src/parser/FStarC.Parser.AST.Util.fst b/src/parser/FStarC.Parser.AST.Util.fst index 7b10da1be41..6bc7681d4e0 100644 --- a/src/parser/FStarC.Parser.AST.Util.fst +++ b/src/parser/FStarC.Parser.AST.Util.fst @@ -17,15 +17,15 @@ *) module FStarC.Parser.AST.Util open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStarC.Errors module C = FStarC.Parser.Const -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Ident open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Const open FStarC.Parser.AST @@ -743,13 +743,13 @@ and lidents_of_effect_decl (ed:effect_decl) = concat_map lidents_of_binder bs @ lidents_of_term t -module BU = FStarC.Compiler.Util -let extension_parser_table : BU.smap extension_parser = FStarC.Compiler.Util.smap_create 20 +module BU = FStarC.Util +let extension_parser_table : BU.smap extension_parser = FStarC.Util.smap_create 20 let register_extension_parser (ext:string) (parser:extension_parser) = - FStarC.Compiler.Util.smap_add extension_parser_table ext parser + FStarC.Util.smap_add extension_parser_table ext parser let lookup_extension_parser (ext:string) = - let do () = FStarC.Compiler.Util.smap_try_find extension_parser_table ext in + let do () = FStarC.Util.smap_try_find extension_parser_table ext in match do () with | None -> if Plugins.autoload_plugin ext @@ -768,15 +768,15 @@ let as_open_namespaces_and_abbrevs (ls:list decl) ls {open_namespaces = []; module_abbreviations = []} -let extension_lang_parser_table : BU.smap extension_lang_parser = FStarC.Compiler.Util.smap_create 20 +let extension_lang_parser_table : BU.smap extension_lang_parser = FStarC.Util.smap_create 20 let register_extension_lang_parser (ext:string) (parser:extension_lang_parser) = - FStarC.Compiler.Util.smap_add extension_lang_parser_table ext parser + FStarC.Util.smap_add extension_lang_parser_table ext parser let lookup_extension_lang_parser (ext:string) = - let r = FStarC.Compiler.Util.smap_try_find extension_lang_parser_table ext in + let r = FStarC.Util.smap_try_find extension_lang_parser_table ext in match r with | None -> if Plugins.autoload_plugin ext - then FStarC.Compiler.Util.smap_try_find extension_lang_parser_table ext + then FStarC.Util.smap_try_find extension_lang_parser_table ext else None | _ -> r diff --git a/src/parser/FStarC.Parser.AST.Util.fsti b/src/parser/FStarC.Parser.AST.Util.fsti index adfc5f47e21..cd9a678631f 100644 --- a/src/parser/FStarC.Parser.AST.Util.fsti +++ b/src/parser/FStarC.Parser.AST.Util.fsti @@ -17,8 +17,8 @@ *) module FStarC.Parser.AST.Util open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStarC.Parser.AST (* Check if two decls are equal, ignoring range metadata. @@ -37,19 +37,19 @@ type open_namespaces_and_abbreviations = { type error_message = { message: string; - range: FStarC.Compiler.Range.range; + range: FStarC.Range.range; } type extension_parser = { parse_decl_name: (contents:string -> - FStarC.Compiler.Range.range -> + FStarC.Range.range -> either error_message FStarC.Ident.ident); parse_decl: (open_namespaces_and_abbreviations -> contents:string -> - p:FStarC.Compiler.Range.range -> + p:FStarC.Range.range -> either error_message decl) } @@ -60,11 +60,11 @@ val lookup_extension_parser (extension_name:string) : option extension_parser type extension_lang_parser = { parse_decls: (contents:string -> - p:FStarC.Compiler.Range.range -> + p:FStarC.Range.range -> either error_message (list decl)) } val as_open_namespaces_and_abbrevs (ls:list decl) : open_namespaces_and_abbreviations val register_extension_lang_parser (extension_name:string) (parser:extension_lang_parser) : unit val lookup_extension_lang_parser (extension_name:string) : option extension_lang_parser -val parse_extension_lang (lang_name:string) (raw_text:string) (raw_text_pos:FStarC.Compiler.Range.range) : list decl +val parse_extension_lang (lang_name:string) (raw_text:string) (raw_text_pos:FStarC.Range.range) : list decl diff --git a/src/parser/FStarC.Parser.AST.fst b/src/parser/FStarC.Parser.AST.fst index c2501ed4b27..2c9e6e75f35 100644 --- a/src/parser/FStarC.Parser.AST.fst +++ b/src/parser/FStarC.Parser.AST.fst @@ -16,11 +16,11 @@ module FStarC.Parser.AST open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Const open FStarC.Errors open FStarC.Ident @@ -281,7 +281,7 @@ let as_frag (ds:list decl) : inputFragment = ) ds; Inr ds -// TODO: Move to something like FStarC.Compiler.Util +// TODO: Move to something like FStarC.Util let strip_prefix (prefix s: string): option string = if starts_with s prefix then Some (substring_from s (String.length prefix)) diff --git a/src/parser/FStarC.Parser.AST.fsti b/src/parser/FStarC.Parser.AST.fsti index 163cd7ce80a..6b9083771a5 100644 --- a/src/parser/FStarC.Parser.AST.fsti +++ b/src/parser/FStarC.Parser.AST.fsti @@ -16,9 +16,9 @@ module FStarC.Parser.AST open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC +open FStarC.Effect +open FStarC.Range open FStarC.Const open FStarC.Ident open FStarC.Class.Show @@ -335,7 +335,7 @@ val extract_named_refinement : bool -> term -> option (ident & term & option ter val as_frag : list decl -> inputFragment -// TODO: Move to something like FStarC.Compiler.Util +// TODO: Move to something like FStarC.Util val strip_prefix : string -> string -> option string val compile_op : int -> string -> range -> string diff --git a/src/parser/FStarC.Parser.Const.fst b/src/parser/FStarC.Parser.Const.fst index 14bee4d37ca..dc2717a6d26 100644 --- a/src/parser/FStarC.Parser.Const.fst +++ b/src/parser/FStarC.Parser.Const.fst @@ -17,15 +17,15 @@ module FStarC.Parser.Const open FStar.String open FStarC -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.Util open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Const -open FStarC.Compiler.List -module U = FStarC.Compiler.Util +open FStarC.List +module U = FStarC.Util module Options = FStarC.Options -module List = FStarC.Compiler.List +module List = FStarC.List let p2l l = lid_of_path l dummyRange @@ -323,6 +323,7 @@ let steps_delta = psconst "delta" let steps_reify = psconst "reify_" let steps_norm_debug = psconst "norm_debug" let steps_unfoldonly = psconst "delta_only" +let steps_unfoldonce = psconst "delta_once" let steps_unfoldfully = psconst "delta_fully" let steps_unfoldattr = psconst "delta_attr" let steps_unfoldqual = psconst "delta_qualifier" @@ -398,7 +399,7 @@ let const_to_string x = match x with | Const_string(s, _) -> U.format1 "\"%s\"" s | Const_int (x, _) -> x | Const_char c -> "'" ^ U.string_of_char c ^ "'" - | Const_range r -> FStarC.Compiler.Range.string_of_range r + | Const_range r -> FStarC.Range.string_of_range r | Const_range_of -> "range_of" | Const_set_range_of -> "set_range_of" | Const_reify lopt -> @@ -481,8 +482,8 @@ let is_name (lid:lident) = let term_view_lid = p2l ["FStar"; "Reflection"; "V1"; "Data"; "term_view"] (* tactic constants *) -let fstar_tactics_lid' s : lid = FStarC.Ident.lid_of_path (["FStar"; "Tactics"]@s) FStarC.Compiler.Range.dummyRange -let fstar_stubs_tactics_lid' s : lid = FStarC.Ident.lid_of_path (["FStar"; "Stubs"; "Tactics"]@s) FStarC.Compiler.Range.dummyRange +let fstar_tactics_lid' s : lid = FStarC.Ident.lid_of_path (["FStar"; "Tactics"]@s) FStarC.Range.dummyRange +let fstar_stubs_tactics_lid' s : lid = FStarC.Ident.lid_of_path (["FStar"; "Stubs"; "Tactics"]@s) FStarC.Range.dummyRange let fstar_tactics_lid s = fstar_tactics_lid' [s] let tac_lid = fstar_tactics_lid' ["Effect"; "tac"] let tactic_lid = fstar_tactics_lid' ["Effect"; "tactic"] @@ -506,10 +507,10 @@ let rewrite_by_tactic_lid = fstar_tactics_lid' ["Effect"; "rewrite_with_tactic"] let synth_lid = fstar_tactics_lid' ["Effect"; "synth_by_tactic"] let assert_by_tactic_lid = fstar_tactics_lid' ["Effect"; "assert_by_tactic"] let fstar_syntax_syntax_term = FStarC.Ident.lid_of_str "FStarC.Syntax.Syntax.term" -let binder_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "binder"]) FStarC.Compiler.Range.dummyRange -let binders_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "binders"]) FStarC.Compiler.Range.dummyRange -let bv_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "bv"]) FStarC.Compiler.Range.dummyRange -let fv_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "fv"]) FStarC.Compiler.Range.dummyRange +let binder_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "binder"]) FStarC.Range.dummyRange +let binders_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "binders"]) FStarC.Range.dummyRange +let bv_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "bv"]) FStarC.Range.dummyRange +let fv_lid = lid_of_path (["FStar"; "Stubs"; "Reflection"; "Types"; "fv"]) FStarC.Range.dummyRange let norm_step_lid = psconst "norm_step" let postprocess_with = p2l ["FStar"; "Tactics"; "Effect"; "postprocess_with"] let preprocess_with = p2l ["FStar"; "Tactics"; "Effect"; "preprocess_with"] @@ -517,24 +518,24 @@ let postprocess_extr_with = p2l ["FStar"; "Tactics"; "Effect"; "postprocess_for_ let term_lid = p2l ["FStar"; "Stubs"; "Reflection"; "Types"; "term"] let ctx_uvar_and_subst_lid = p2l ["FStar"; "Stubs"; "Reflection"; "Types"; "ctx_uvar_and_subst"] let universe_uvar_lid = p2l ["FStar"; "Stubs"; "Reflection"; "Types"; "universe_uvar"] -let check_with_lid = lid_of_path (["FStar"; "Stubs"; "VConfig"; "check_with"]) FStarC.Compiler.Range.dummyRange +let check_with_lid = lid_of_path (["FStar"; "Stubs"; "VConfig"; "check_with"]) FStarC.Range.dummyRange let decls_lid = p2l ["FStar"; "Stubs"; "Reflection"; "Types"; "decls"] // meta dsl constants -let dsl_typing_builtin s = lid_of_path (["FStar"; "Reflection"; "Typing"; "Builtins"]@[s]) FStarC.Compiler.Range.dummyRange -let dsl_tac_typ_lid = lid_of_path ["FStar"; "Reflection"; "Typing"; "dsl_tac_t"] FStarC.Compiler.Range.dummyRange +let dsl_typing_builtin s = lid_of_path (["FStar"; "Reflection"; "Typing"; "Builtins"]@[s]) FStarC.Range.dummyRange +let dsl_tac_typ_lid = lid_of_path ["FStar"; "Reflection"; "Typing"; "dsl_tac_t"] FStarC.Range.dummyRange (* Calculational proofs, from FStar.Calc *) -let calc_lid i : lid = lid_of_path ["FStar"; "Calc"; i] FStarC.Compiler.Range.dummyRange +let calc_lid i : lid = lid_of_path ["FStar"; "Calc"; i] FStarC.Range.dummyRange let calc_init_lid = calc_lid "calc_init" let calc_step_lid = calc_lid "calc_step" let calc_finish_lid = calc_lid "calc_finish" let calc_push_impl_lid = calc_lid "calc_push_impl" (* Classical proofs, from FStar.Classical *) -let classical_sugar_lid i : lid = lid_of_path ["FStar"; "Classical"; "Sugar"; i] FStarC.Compiler.Range.dummyRange +let classical_sugar_lid i : lid = lid_of_path ["FStar"; "Classical"; "Sugar"; i] FStarC.Range.dummyRange let forall_intro_lid = classical_sugar_lid "forall_intro" let exists_intro_lid = classical_sugar_lid "exists_intro" @@ -552,20 +553,20 @@ let and_elim_lid = classical_sugar_lid "and_elim" let match_returns_def_name = reserved_prefix ^ "_ret_" -let steel_memory_inv_lid = FStarC.Ident.lid_of_path ["Steel"; "Memory"; "inv"] FStarC.Compiler.Range.dummyRange +let steel_memory_inv_lid = FStarC.Ident.lid_of_path ["Steel"; "Memory"; "inv"] FStarC.Range.dummyRange -let steel_new_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "new_invariant"] FStarC.Compiler.Range.dummyRange -let steel_st_new_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "new_invariant"] FStarC.Compiler.Range.dummyRange +let steel_new_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "new_invariant"] FStarC.Range.dummyRange +let steel_st_new_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "new_invariant"] FStarC.Range.dummyRange -let steel_with_invariant_g_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "with_invariant_g"] FStarC.Compiler.Range.dummyRange -let steel_st_with_invariant_g_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "with_invariant_g"] FStarC.Compiler.Range.dummyRange +let steel_with_invariant_g_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "with_invariant_g"] FStarC.Range.dummyRange +let steel_st_with_invariant_g_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "with_invariant_g"] FStarC.Range.dummyRange -let steel_with_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "with_invariant"] FStarC.Compiler.Range.dummyRange -let steel_st_with_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "with_invariant"] FStarC.Compiler.Range.dummyRange +let steel_with_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "Effect"; "Atomic"; "with_invariant"] FStarC.Range.dummyRange +let steel_st_with_invariant_lid = FStarC.Ident.lid_of_path ["Steel"; "ST"; "Util"; "with_invariant"] FStarC.Range.dummyRange (* on_domain_lids are constant, so compute them once *) -let fext_lid s = Ident.lid_of_path ["FStar"; "FunctionalExtensionality"; s] FStarC.Compiler.Range.dummyRange +let fext_lid s = Ident.lid_of_path ["FStar"; "FunctionalExtensionality"; s] FStarC.Range.dummyRange let fext_on_domain_lid = fext_lid "on_domain" let fext_on_dom_lid = fext_lid "on_dom" let fext_on_domain_g_lid = fext_lid "on_domain_g" diff --git a/src/parser/FStarC.Parser.Dep.fst b/src/parser/FStarC.Parser.Dep.fst index 35bb9fda4ea..0765704fda9 100644 --- a/src/parser/FStarC.Parser.Dep.fst +++ b/src/parser/FStarC.Parser.Dep.fst @@ -22,14 +22,12 @@ *) module FStarC.Parser.Dep -open FStar.Pervasives -open FStarC.Compiler.Effect //for ref, failwith etc -open FStarC.Compiler.List -open FStar open FStarC -open FStarC.Compiler +open FStarC +open FStarC.Effect //for ref, failwith etc +open FStarC.List open FStarC.Parser open FStarC.Parser.AST -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStar.String open FStarC.Ident @@ -37,7 +35,7 @@ open FStarC.Errors open FStarC.Class.Show module Const = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util let dbg = Debug.get_toggle "Dep" let dbg_CheckedFiles = Debug.get_toggle "CheckedFiles" @@ -127,7 +125,18 @@ let module_name_of_file f = | Some longname -> longname | None -> - raise_error0 Errors.Fatal_NotValidFStarFile (Util.format1 "Not a valid FStar file: '%s'" f) + raise_error0 Errors.Fatal_NotValidFStarFile ( + [ text <| Util.format1 "Not a valid FStar file: '%s'" f; ] @ + (if Platform.system = Platform.Windows && f = ".." then [ + text <| "Note: In Windows-compiled versions of F*, a literal + asterisk as argument will be expanded to a list of files, + **even if quoted**. It is possible you provided such an + argument which got expanded to the list of all files in this + directory, causing spurious arguments that F* attempts to interpret as files."; + text <| "Hint: did you perhaps pass --already_cached '*' or similar? You can add + a comma (',*') to prevent the expansion and retain the behavior."; + ] else []) + ) (* In public interface *) let lowercase_module_name f = String.lowercase (module_name_of_file f) @@ -414,28 +423,30 @@ let dependences_of (file_system_map:files_for_module_name) List.map (file_of_dep file_system_map all_cmd_line_files) deps |> List.filter (fun k -> k <> fn) (* skip current module, cf #451 *) -let print_graph (outc : out_channel) (fn : string) (graph:dependence_graph) = +let print_graph (outc : out_channel) (fn : string) (graph:dependence_graph) + (file_system_map:files_for_module_name) + (cmd_lined_files:list file_name) + : unit + = if not (Options.silent ()) then begin Util.print1 "A DOT-format graph has been dumped in the current directory as `%s`\n" fn; Util.print1 "With GraphViz installed, try: fdp -Tpng -odep.png %s\n" fn; Util.print1 "Hint: cat %s | grep -v _ | grep -v prims\n" fn end; - let s = - "digraph {\n" ^ - String.concat "\n" (List.collect - (fun k -> - let deps = (must (deps_try_find graph k)).edges in - let r s = replace_char s '.' '_' in - let print dep = - Util.format2 " \"%s\" -> \"%s\"" - (r (lowercase_module_name k)) - (r (module_name_of_dep dep)) - in - List.map print deps) - (List.unique (deps_keys graph))) ^ - "\n}\n" - in - fprint outc "%s" [s] + let sb = FStarC.StringBuffer.create 10000 in + let pr str = ignore <| FStarC.StringBuffer.add str sb in + pr "digraph {\n"; + List.unique (deps_keys graph) |> List.iter (fun k -> + let deps = (must (deps_try_find graph k)).edges in + List.iter (fun dep -> + let l = basename k in + let r = basename <| file_of_dep file_system_map cmd_lined_files dep in + if not <| Options.should_be_already_cached (module_name_of_dep dep) then + pr (Util.format2 " \"%s\" -> \"%s\"\n" l r) + ) deps + ); + pr "}\n"; + fprint outc "%s" [FStarC.StringBuffer.contents sb] let safe_readdir_for_include (d:string) : list string = try readdir d @@ -795,7 +806,7 @@ let collect_one if data_from_cache |> is_some then begin //we found the parsing data in the checked file let deps, has_inline_for_extraction, mo_roots = from_parsing_data (data_from_cache |> must) original_map filename in if !dbg then - BU.print2 "Reading the parsing data for %s from its checked file .. found [%s]\n" filename (show deps); + BU.print2 "Reading the parsing data for %s from its checked file .. found %s\n" filename (show deps); data_from_cache |> must, deps, has_inline_for_extraction, mo_roots end @@ -949,7 +960,10 @@ let collect_one | Const_set_range_of -> add_to_parsing_data (P_dep (false, ("fstar.range" |> Ident.lid_of_str))) | Const_real _ -> - add_to_parsing_data (P_dep (false, ("fstar.real" |> Ident.lid_of_str))) + (* FStar.Real has a real literal it, don't add a circular dep. *) + let mm = maybe_module_name_of_file filename in + if mm <> Some "FStar.Real" then + add_to_parsing_data (P_dep (false, ("fstar.real" |> Ident.lid_of_str))) | _ -> () @@ -1516,12 +1530,12 @@ let collect (all_cmd_line_files: list file_name) profile (fun () -> List.iter discover_one all_cmd_line_files) "FStarC.Parser.Dep.discover"; (* At this point, dep_graph has all the (immediate) dependency graph of all the files. *) - let cycle_detected dep_graph cycle filename = + let cycle_detected (dep_graph:dependence_graph) cycle filename = Util.print1 "The cycle contains a subset of the modules in:\n%s \n" (String.concat "\n`used by` " cycle); (* Write the graph to a file for the user to see. *) let fn = "dep.graph" in - with_file_outchannel fn (fun outc -> print_graph outc fn dep_graph); + with_file_outchannel fn (fun outc -> print_graph outc fn dep_graph file_system_map all_cmd_line_files); print_string "\n"; raise_error0 Errors.Fatal_CyclicDependence [ @@ -1583,7 +1597,7 @@ let collect (all_cmd_line_files: list file_name) | _ -> [x]) in match node.color with | Gray -> - cycle_detected dep_graph cycle filename + cycle_detected dep_graph cycle filename | Black -> (* If the element has been visited already, then the map contains all its * dependencies. Otherwise, the map only contains its direct dependencies. *) @@ -1748,7 +1762,7 @@ let print_full (outc : out_channel) (deps:deps) : unit = aux all_extracted_modules; List.rev !order in - let sb = FStarC.StringBuffer.create (FStarC.BigInt.of_int_fs 10000) in + let sb = FStarC.StringBuffer.create 10000 in let pr str = ignore <| FStarC.StringBuffer.add str sb in let print_entry target first_dep all_deps = pr target; @@ -2046,7 +2060,7 @@ let do_print (outc : out_channel) (fn : string) deps : unit = pref (); profile (fun () -> print_full outc deps) "FStarC.Parser.Deps.print_full_deps" | Some "graph" -> - print_graph outc fn deps.dep_graph + print_graph outc fn deps.dep_graph deps.file_system_map deps.cmd_line_files | Some "raw" -> print_raw outc deps | Some _ -> diff --git a/src/parser/FStarC.Parser.Dep.fsti b/src/parser/FStarC.Parser.Dep.fsti index c5c6b59935a..4b2578b191b 100644 --- a/src/parser/FStarC.Parser.Dep.fsti +++ b/src/parser/FStarC.Parser.Dep.fsti @@ -14,18 +14,18 @@ limitations under the License. *) module FStarC.Parser.Dep -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Parser open FStarC.Parser.AST -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const open FStar.String open FStarC.Ident open FStarC.Errors module Const = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util type open_kind = | Open_module | Open_namespace type module_name = string diff --git a/src/parser/FStarC.Parser.Driver.fst b/src/parser/FStarC.Parser.Driver.fst index 5a1826db5b3..c9d6ae551be 100644 --- a/src/parser/FStarC.Parser.Driver.fst +++ b/src/parser/FStarC.Parser.Driver.fst @@ -15,14 +15,14 @@ *) module FStarC.Parser.Driver open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Parser open FStarC.Parser.AST open FStarC.Parser.ParseIt -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Errors open FStarC.Class.Show diff --git a/src/parser/FStarC.Parser.Driver.fsti b/src/parser/FStarC.Parser.Driver.fsti index 9f0cebef3ca..bf92ecde96f 100644 --- a/src/parser/FStarC.Parser.Driver.fsti +++ b/src/parser/FStarC.Parser.Driver.fsti @@ -15,7 +15,7 @@ *) module FStarC.Parser.Driver -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module AST = FStarC.Parser.AST module AU = FStarC.Parser.AST.Util module ParseIt = FStarC.Parser.ParseIt diff --git a/src/parser/FStarC.Parser.ParseIt.fsti b/src/parser/FStarC.Parser.ParseIt.fsti index 0b8e2250a66..05b09cf95fb 100644 --- a/src/parser/FStarC.Parser.ParseIt.fsti +++ b/src/parser/FStarC.Parser.ParseIt.fsti @@ -14,11 +14,11 @@ limitations under the License. *) module FStarC.Parser.ParseIt -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Parser -open FStarC.Compiler.Util +open FStarC.Util open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors module AU = FStarC.Parser.AST.Util type filename = string @@ -46,7 +46,7 @@ type parse_error = (error_code & error_message & Range.range) type code_fragment = { code: string; - range: FStarC.Compiler.Range.range; + range: FStarC.Range.range; } type incremental_result 'a = diff --git a/src/parser/FStarC.Parser.ToDocument.fst b/src/parser/FStarC.Parser.ToDocument.fst index 4b123695cf5..f734a1f35c9 100644 --- a/src/parser/FStarC.Parser.ToDocument.fst +++ b/src/parser/FStarC.Parser.ToDocument.fst @@ -18,21 +18,21 @@ module FStarC.Parser.ToDocument open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Parser.AST open FStarC.Ident open FStarC.Const open FStarC.Pprint -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Class.Show module C = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util @@ -48,7 +48,7 @@ let maybe_unthunk t = let min x y = if x > y then y else x let max x y = if x > y then x else y -// VD: copied over from NBE, should both probably go in FStarC.Compiler.List +// VD: copied over from NBE, should both probably go in FStarC.List let map_rev (f: 'a -> 'b) (l: list 'a): list 'b = let rec aux (l:list 'a) (acc:list 'b) = match l with @@ -305,9 +305,9 @@ let is_non_latin_char (s:Char.char): bool = int_of_char s > 0x024f let matches_token (s:string) = function - | StartsWith c -> FStarC.Compiler.String.get s 0 = c + | StartsWith c -> FStarC.String.get s 0 = c | Exact s' -> s = s' - | UnicodeOperator -> is_non_latin_char (FStarC.Compiler.String.get s 0) + | UnicodeOperator -> is_non_latin_char (FStarC.String.get s 0) let matches_level s (assoc_levels, tokens) = List.tryFind (matches_token s) tokens <> None @@ -674,7 +674,7 @@ let p_char_literal' quote_char (c: FStarC.BaseTypes.char): document = | '\r' -> "\\r" | '\v' -> "\\v" | '\0' -> "\\0" - | c -> let s = FStarC.Compiler.Util.string_of_char c in + | c -> let s = FStarC.Util.string_of_char c in if quote_char = c then "\\" ^ s else s) |> str let p_char_literal (c: FStarC.BaseTypes.char): document = @@ -2292,7 +2292,7 @@ let modul_to_document (m:modul) = | Interface (_, decls, _) -> decls |> List.map decl_to_document |> separate hardline -let comments_to_document (comments : list (string & FStarC.Compiler.Range.range)) = +let comments_to_document (comments : list (string & FStarC.Range.range)) = separate_map hardline (fun (comment, range) -> str comment) comments let extract_decl_range (d: decl): decl_meta = diff --git a/src/parser/FStarC.Parser.ToDocument.fsti b/src/parser/FStarC.Parser.ToDocument.fsti index 42f64da6889..fcc2c73d38c 100644 --- a/src/parser/FStarC.Parser.ToDocument.fsti +++ b/src/parser/FStarC.Parser.ToDocument.fsti @@ -16,7 +16,7 @@ (** Convert Parser.Ast to Pprint.document for prettyprinting. *) module FStarC.Parser.ToDocument -open FStarC.Compiler.Effect +open FStarC.Effect val term_to_document : FStarC.Parser.AST.term -> FStarC.Pprint.document val decl_to_document : FStarC.Parser.AST.decl -> FStarC.Pprint.document @@ -24,7 +24,7 @@ val signature_to_document : FStarC.Parser.AST.decl -> FStarC.Pprint.document val pat_to_document : FStarC.Parser.AST.pattern -> FStarC.Pprint.document val binder_to_document : FStarC.Parser.AST.binder -> FStarC.Pprint.document val modul_to_document : FStarC.Parser.AST.modul -> FStarC.Pprint.document -val comments_to_document : list (string & FStarC.Compiler.Range.range) -> FStarC.Pprint.document -val modul_with_comments_to_document : FStarC.Parser.AST.modul -> list (string & FStarC.Compiler.Range.range) -> FStarC.Pprint.document & list (string & FStarC.Compiler.Range.range) +val comments_to_document : list (string & FStarC.Range.range) -> FStarC.Pprint.document +val modul_with_comments_to_document : FStarC.Parser.AST.modul -> list (string & FStarC.Range.range) -> FStarC.Pprint.document & list (string & FStarC.Range.range) val handleable_args_length : FStarC.Ident.ident -> int -val decl_with_comments_to_document : FStarC.Parser.AST.decl -> list (string & FStarC.Compiler.Range.range) -> FStarC.Pprint.document & list (string & FStarC.Compiler.Range.range) \ No newline at end of file +val decl_with_comments_to_document : FStarC.Parser.AST.decl -> list (string & FStarC.Range.range) -> FStarC.Pprint.document & list (string & FStarC.Range.range) \ No newline at end of file diff --git a/src/parser/Makefile b/src/parser/Makefile deleted file mode 100644 index 1bec20525c0..00000000000 --- a/src/parser/Makefile +++ /dev/null @@ -1,17 +0,0 @@ -all: ../../bin/parse.exe - -../../bin/parse.exe: ast.fs parse.fs lexhelp.fs lex.fs dsenv.fs desugar.fs parseit.fsi parseit.fs driver.fs - fsc --define:TEST -g -r ../../bin/tc.dll -r ../../bin/basic.dll -r ../../bin/absyn.dll --mlcompatibility $^ -o $@ - -parse.fs: parse.fsy - fsyacc --module FStar.Parser.Parse $^ - -lex.fs: lex.fsl - fslex --unicode $^ - -clean: - rm lex.fs parse.fs - -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/parser/README b/src/parser/README index be87da38e0b..449be539603 100644 --- a/src/parser/README +++ b/src/parser/README @@ -2,14 +2,14 @@ Parser ------ The parser is implemented as a menhir grammar in -FSTAR_HOME/ocaml/fstar-lib/FStar_Parser_Parse.mly +/src/ml/bare/FStarC_Parser_Parse.mly To call into the parser from F*, we have a wrapper written in OCaml with an F* interface: * FStarC.Parser.ParseIt.fsti: This is the F* interface -* FSTAR_HOME/ocaml/fstar-lib/FStar_Parser_ParseIt.ml: This is its +* src/ml/bare/FStar_Parser_ParseIt.ml: This is its implementation It provides an API that allows parsing and entire file, a fragment of @@ -21,22 +21,22 @@ Lexer ----- The lexer is written using sedlex in -FSTAR_HOME/ocaml/fstar-lib/FStar_Parser_LexFStar.ml. +src/ml/bare/FStarC_Parser_LexFStar.ml. It uses a small wrapper for the OCaml Lexing module implemeted in -FSTAR_HOME/ocaml/fstar-lib/FStar_SedLexing.ml +src/ml/bare/FStarC_SedLexing.ml If you want to modify the parser, you need a recent version of menhir (at least december 2016). Also the printer in -[src/parser/FStarC.Parser.ToDocument.fs] should be kept up to date with +[src/parser/FStarC.Parser.ToDocument.fst] should be kept up to date with the parser as much as possible since it tries to keep the same general structure as the parser. If you're adding a new token, you need to edit: -- [src/parser/ml/FStar_Parser_LexFStar.ml] to add it to the parser +- [src/ml/bare/FStarC_Parser_LexFStar.ml] to add it to the parser keyword table (OCaml) -- [FStar_Parser_Parse.mly] to expose it to the parser, possibly with +- [src/ml/bare/FStarC_Parser_Parse.mly] to expose it to the parser, possibly with an adequate precedence diff --git a/src/prettyprint/FStarC.Pprint.fsti b/src/prettyprint/FStarC.Pprint.fsti index eae67c58ef1..96969916bc7 100644 --- a/src/prettyprint/FStarC.Pprint.fsti +++ b/src/prettyprint/FStarC.Pprint.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.Pprint -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.BaseTypes (** A pretty-printing engine and a set of basic document combinators. *) @@ -380,7 +380,7 @@ val surround_separate_map: int -> int -> document -> document -> document -> doc // [pretty_string] uses ToBuffer:RENDERER implementation; // [print_out_channel] uses the ToChannel:RENDERER one. val pretty_string : float -> int -> document -> string -val pretty_out_channel : float -> int -> document -> FStarC.Compiler.Util.out_channel -> unit +val pretty_out_channel : float -> int -> document -> FStarC.Util.out_channel -> unit (* Simple renderer, defined as [pretty_string 1.0 80] *) val render : document -> string diff --git a/src/prettyprint/Makefile b/src/prettyprint/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/prettyprint/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/reflection/FStarC.Reflection.V1.Builtins.fst b/src/reflection/FStarC.Reflection.V1.Builtins.fst index 99562b5f344..0300fff44c1 100644 --- a/src/reflection/FStarC.Reflection.V1.Builtins.fst +++ b/src/reflection/FStarC.Reflection.V1.Builtins.fst @@ -16,9 +16,9 @@ module FStarC.Reflection.V1.Builtins open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Reflection.V1.Data open FStarC.Syntax.Syntax open FStarC.Errors @@ -31,8 +31,8 @@ open FStarC.Class.Tagged module C = FStarC.Const module PC = FStarC.Parser.Const module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util -module Range = FStarC.Compiler.Range +module BU = FStarC.Util +module Range = FStarC.Range module U = FStarC.Syntax.Util module UF = FStarC.Syntax.Unionfind module Print = FStarC.Syntax.Print diff --git a/src/reflection/FStarC.Reflection.V1.Builtins.fsti b/src/reflection/FStarC.Reflection.V1.Builtins.fsti index 2f09bfd14f4..25290f58858 100644 --- a/src/reflection/FStarC.Reflection.V1.Builtins.fsti +++ b/src/reflection/FStarC.Reflection.V1.Builtins.fsti @@ -15,18 +15,20 @@ *) module FStarC.Reflection.V1.Builtins -open FStarC.Ident -open FStarC.Syntax.Syntax +open FStarC +open FStarC.Effect +open FStarC.Order +open FStarC.Reflection.V1.Data open FStarC.Syntax.Embeddings -open FStar.Order +open FStarC.Syntax.Syntax +open FStarC.VConfig +open FStarC.Ident + +module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env -open FStarC.Reflection.V1.Data -open FStarC.Compiler.Effect module O = FStarC.Options module RD = FStarC.Reflection.V1.Data -module EMB = FStarC.Syntax.Embeddings module Z = FStarC.BigInt -open FStarC.VConfig (* Primitives *) val compare_bv : bv -> bv -> order @@ -89,5 +91,5 @@ val compare_string : string -> string -> Z.t val push_binder : Env.env -> binder -> Env.env -val range_of_term : term -> FStarC.Compiler.Range.range -val range_of_sigelt : sigelt -> FStarC.Compiler.Range.range +val range_of_term : term -> FStarC.Range.range +val range_of_sigelt : sigelt -> FStarC.Range.range diff --git a/src/reflection/FStarC.Reflection.V1.Constants.fst b/src/reflection/FStarC.Reflection.V1.Constants.fst index 59bf13310c8..79312de6313 100644 --- a/src/reflection/FStarC.Reflection.V1.Constants.fst +++ b/src/reflection/FStarC.Reflection.V1.Constants.fst @@ -15,23 +15,10 @@ *) module FStarC.Reflection.V1.Constants - -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.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 FStarC.Effect open FStarC.Syntax.Syntax module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range -module Z = FStarC.BigInt -open FStarC.Ident -module PC = FStarC.Parser.Const +module Range = FStarC.Range (* Contains all lids and terms needed for embedding/unembedding *) diff --git a/src/reflection/FStarC.Reflection.V1.Data.fst b/src/reflection/FStarC.Reflection.V1.Data.fst index 1a4f217cd32..9f3738b69e5 100644 --- a/src/reflection/FStarC.Reflection.V1.Data.fst +++ b/src/reflection/FStarC.Reflection.V1.Data.fst @@ -21,10 +21,10 @@ 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 FStarC.Compiler.List +open FStarC.List open FStarC.Syntax.Syntax module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt open FStarC.Ident @@ -38,7 +38,7 @@ open FStarC.Ident 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 ppname_t = FStarC.Compiler.Sealed.seal x +let as_ppname (x:string) : Tot ppname_t = FStarC.Sealed.seal x let notAscription (tv:term_view) : Tot bool = not (Tv_AscribedT? tv) && not (Tv_AscribedC? tv) diff --git a/src/reflection/FStarC.Reflection.V1.Data.fsti b/src/reflection/FStarC.Reflection.V1.Data.fsti index 2d1e198bf8f..7616b226aeb 100644 --- a/src/reflection/FStarC.Reflection.V1.Data.fsti +++ b/src/reflection/FStarC.Reflection.V1.Data.fsti @@ -21,11 +21,11 @@ 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 FStarC.Compiler.List +open FStarC.List open FStarC.Syntax.Syntax -open FStarC.Compiler.Sealed +open FStarC.Sealed module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt open FStarC.Ident diff --git a/src/reflection/FStarC.Reflection.V1.Embeddings.fst b/src/reflection/FStarC.Reflection.V1.Embeddings.fst index 98457abad39..a31c18e81ef 100644 --- a/src/reflection/FStarC.Reflection.V1.Embeddings.fst +++ b/src/reflection/FStarC.Reflection.V1.Embeddings.fst @@ -15,24 +15,24 @@ *) module FStarC.Reflection.V1.Embeddings -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Reflection.V1.Data open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStar.Order open FStarC.Errors -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors module I = FStarC.Ident -module List = FStarC.Compiler.List +module List = FStarC.List module NBETerm = FStarC.TypeChecker.NBETerm module O = FStarC.Options module PC = FStarC.Parser.Const module Print = FStarC.Syntax.Print -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module RD = FStarC.Reflection.V1.Data module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst diff --git a/src/reflection/FStarC.Reflection.V1.Embeddings.fsti b/src/reflection/FStarC.Reflection.V1.Embeddings.fsti index ce9f4f36aa0..5ef116df37b 100644 --- a/src/reflection/FStarC.Reflection.V1.Embeddings.fsti +++ b/src/reflection/FStarC.Reflection.V1.Embeddings.fsti @@ -15,7 +15,7 @@ *) module FStarC.Reflection.V1.Embeddings -open FStar open FStarC.Compiler +open FStar open FStarC open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStar.Order diff --git a/src/reflection/FStarC.Reflection.V1.Interpreter.fst b/src/reflection/FStarC.Reflection.V1.Interpreter.fst index a0f428cfd78..92ddc829967 100644 --- a/src/reflection/FStarC.Reflection.V1.Interpreter.fst +++ b/src/reflection/FStarC.Reflection.V1.Interpreter.fst @@ -15,7 +15,7 @@ *) module FStarC.Reflection.V1.Interpreter -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env @@ -26,9 +26,9 @@ module RB = FStarC.Reflection.V1.Builtins module RD = FStarC.Reflection.V1.Data module RE = FStarC.Reflection.V1.Embeddings module Z = FStarC.BigInt -module Range = FStarC.Compiler.Range -open FStarC.Compiler -open FStarC.Compiler.List +module Range = FStarC.Range +open FStarC +open FStarC.List open FStarC.Ident open FStarC.Syntax.Syntax open FStarC.Reflection.V1.Constants diff --git a/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fst b/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fst index e9c34e2ff3b..5a19e5075ad 100644 --- a/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fst +++ b/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fst @@ -15,25 +15,25 @@ *) module FStarC.Reflection.V1.NBEEmbeddings open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Pervasives open FStarC.Reflection.V1.Data open FStarC.Syntax.Syntax open FStarC.TypeChecker.NBETerm -open FStarC.Compiler.Order +open FStarC.Order open FStarC.Errors module O = FStarC.Options module S = FStarC.Syntax.Syntax // TODO: remove, it's open -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors module I = FStarC.Ident module NBETerm = FStarC.TypeChecker.NBETerm module PC = FStarC.Parser.Const -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module RD = FStarC.Reflection.V1.Data module SS = FStarC.Syntax.Subst module Thunk = FStarC.Thunk diff --git a/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fsti b/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fsti index ffac6752608..eb3ae1b1969 100644 --- a/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fsti +++ b/src/reflection/FStarC.Reflection.V1.NBEEmbeddings.fsti @@ -17,7 +17,7 @@ module FStarC.Reflection.V1.NBEEmbeddings open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.NBETerm open FStarC.Syntax.Syntax open FStar.Order diff --git a/src/reflection/FStarC.Reflection.V2.Builtins.fst b/src/reflection/FStarC.Reflection.V2.Builtins.fst index 599c110d3a2..8bb7cd94988 100644 --- a/src/reflection/FStarC.Reflection.V2.Builtins.fst +++ b/src/reflection/FStarC.Reflection.V2.Builtins.fst @@ -16,9 +16,9 @@ module FStarC.Reflection.V2.Builtins open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Reflection.V2.Data open FStarC.Syntax.Syntax open FStarC.Errors @@ -32,8 +32,8 @@ open FStarC.Class.Tagged module C = FStarC.Const module PC = FStarC.Parser.Const module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util -module Range = FStarC.Compiler.Range +module BU = FStarC.Util +module Range = FStarC.Range module U = FStarC.Syntax.Util module UF = FStarC.Syntax.Unionfind module Print = FStarC.Syntax.Print diff --git a/src/reflection/FStarC.Reflection.V2.Builtins.fsti b/src/reflection/FStarC.Reflection.V2.Builtins.fsti index 2e35aa4027e..b9ee6be2297 100644 --- a/src/reflection/FStarC.Reflection.V2.Builtins.fsti +++ b/src/reflection/FStarC.Reflection.V2.Builtins.fsti @@ -15,14 +15,14 @@ *) module FStarC.Reflection.V2.Builtins -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Ident -open FStar.Order +open FStarC +open FStarC.Effect +open FStarC.Order open FStarC.Reflection.V2.Data open FStarC.Syntax.Embeddings open FStarC.Syntax.Syntax open FStarC.VConfig +open FStarC.Ident module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env diff --git a/src/reflection/FStarC.Reflection.V2.Constants.fst b/src/reflection/FStarC.Reflection.V2.Constants.fst index 4c87142ac14..e87d42df0ad 100644 --- a/src/reflection/FStarC.Reflection.V2.Constants.fst +++ b/src/reflection/FStarC.Reflection.V2.Constants.fst @@ -15,23 +15,10 @@ *) module FStarC.Reflection.V2.Constants - -open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.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 FStarC.Effect open FStarC.Syntax.Syntax module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range -module Z = FStarC.BigInt -open FStarC.Ident -module PC = FStarC.Parser.Const +module Range = FStarC.Range (* Contains all lids and terms needed for embedding/unembedding *) diff --git a/src/reflection/FStarC.Reflection.V2.Data.fst b/src/reflection/FStarC.Reflection.V2.Data.fst index 73d33b1b4ec..ee5d2ca605f 100644 --- a/src/reflection/FStarC.Reflection.V2.Data.fst +++ b/src/reflection/FStarC.Reflection.V2.Data.fst @@ -21,10 +21,10 @@ 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 FStarC.Compiler.List +open FStarC.List open FStarC.Syntax.Syntax module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt open FStarC.Ident @@ -38,7 +38,7 @@ open FStarC.Ident 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 ppname_t = FStarC.Compiler.Sealed.seal x +let as_ppname (x:string) : Tot ppname_t = FStarC.Sealed.seal x let notAscription (tv:term_view) : Tot bool = not (Tv_AscribedT? tv) && not (Tv_AscribedC? tv) diff --git a/src/reflection/FStarC.Reflection.V2.Data.fsti b/src/reflection/FStarC.Reflection.V2.Data.fsti index 7b0f781d8b8..5cddb53e909 100644 --- a/src/reflection/FStarC.Reflection.V2.Data.fsti +++ b/src/reflection/FStarC.Reflection.V2.Data.fsti @@ -21,13 +21,13 @@ 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 FStarC.Compiler.List +open FStarC.List open FStarC.Syntax.Syntax module Ident = FStarC.Ident -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt open FStarC.Ident -open FStarC.Compiler.Sealed +open FStarC.Sealed type name = list string type typ = term diff --git a/src/reflection/FStarC.Reflection.V2.Embeddings.fst b/src/reflection/FStarC.Reflection.V2.Embeddings.fst index 2bee9b70b0b..a9a659931f1 100644 --- a/src/reflection/FStarC.Reflection.V2.Embeddings.fst +++ b/src/reflection/FStarC.Reflection.V2.Embeddings.fst @@ -15,24 +15,24 @@ *) module FStarC.Reflection.V2.Embeddings -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Reflection.V2.Data open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStar.Order open FStarC.Errors -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors module I = FStarC.Ident -module List = FStarC.Compiler.List +module List = FStarC.List module NBETerm = FStarC.TypeChecker.NBETerm module O = FStarC.Options module PC = FStarC.Parser.Const module Print = FStarC.Syntax.Print -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module RD = FStarC.Reflection.V2.Data module S = FStarC.Syntax.Syntax // TODO: remove, it's open module SS = FStarC.Syntax.Subst diff --git a/src/reflection/FStarC.Reflection.V2.Embeddings.fsti b/src/reflection/FStarC.Reflection.V2.Embeddings.fsti index f266e362a06..95dfe99054e 100644 --- a/src/reflection/FStarC.Reflection.V2.Embeddings.fsti +++ b/src/reflection/FStarC.Reflection.V2.Embeddings.fsti @@ -16,7 +16,7 @@ module FStarC.Reflection.V2.Embeddings open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStar.Order diff --git a/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fst b/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fst index e4340f339f7..fa57972e7d5 100644 --- a/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fst +++ b/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fst @@ -15,25 +15,25 @@ *) module FStarC.Reflection.V2.NBEEmbeddings open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Pervasives open FStarC.Reflection.V2.Data open FStarC.Syntax.Syntax open FStarC.TypeChecker.NBETerm -open FStarC.Compiler.Order +open FStarC.Order open FStarC.Errors open FStarC.Dyn open FStarC.Reflection.V2.Constants -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors module I = FStarC.Ident module NBETerm = FStarC.TypeChecker.NBETerm module O = FStarC.Options module PC = FStarC.Parser.Const -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module S = FStarC.Syntax.Syntax // TODO: remove, it's open module SS = FStarC.Syntax.Subst module U = FStarC.Syntax.Util diff --git a/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fsti b/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fsti index 316b4622c8a..df4e4f0328a 100644 --- a/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fsti +++ b/src/reflection/FStarC.Reflection.V2.NBEEmbeddings.fsti @@ -17,7 +17,7 @@ module FStarC.Reflection.V2.NBEEmbeddings open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax.Syntax open FStarC.TypeChecker.NBETerm open FStarC.Reflection.V2.Data diff --git a/src/reflection/Makefile b/src/reflection/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/reflection/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/smtencoding/FStarC.SMTEncoding.Encode.fst b/src/smtencoding/FStarC.SMTEncoding.Encode.fst index f3f86800565..6a414bc8185 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Encode.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Encode.fst @@ -17,9 +17,9 @@ module FStarC.SMTEncoding.Encode open Prims open FStar open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler +open FStarC.Effect +open FStarC.List +open FStarC open FStarC.TypeChecker.Env open FStarC.Syntax open FStarC.Syntax.Syntax @@ -33,7 +33,7 @@ open FStarC.SMTEncoding.Env open FStarC.SMTEncoding.EncodeTerm open FStarC.Class.Show -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Const = FStarC.Parser.Const module Env = FStarC.TypeChecker.Env module N = FStarC.TypeChecker.Normalize @@ -798,7 +798,7 @@ let encode_top_level_let : | _ -> false in let is_smt_theory_symbol = - let fv = FStarC.Compiler.Util.right lbn in + let fv = FStarC.Util.right lbn in Env.fv_has_attr env.tcenv fv FStarC.Parser.Const.smt_theory_symbol_attr_lid in let is_sub_singleton = U.is_sub_singleton body in @@ -1256,7 +1256,7 @@ let encode_datacon (env:env_t) (se:sigelt) in (env, xv::arg_vars, eqns, i + 1)) (env', [], [], 0) - (FStarC.Compiler.List.zip args encoded_args) + (FStarC.List.zip args encoded_args) in let arg_vars = List.rev arg_vars in let arg_params, _ = List.splitAt n_tps arg_vars in diff --git a/src/smtencoding/FStarC.SMTEncoding.Encode.fsti b/src/smtencoding/FStarC.SMTEncoding.Encode.fsti index 7923f45d0ae..21593752f5a 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Encode.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Encode.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.SMTEncoding.Encode -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.SMTEncoding.Term module ErrorReporting = FStarC.SMTEncoding.ErrorReporting module S = FStarC.Syntax.Syntax diff --git a/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fst b/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fst index a151568d04a..5ec46464592 100644 --- a/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fst +++ b/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fst @@ -17,10 +17,10 @@ module FStarC.SMTEncoding.EncodeTerm open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Defensive open FStarC.TypeChecker.Env open FStarC.Syntax @@ -33,7 +33,7 @@ open FStarC.SMTEncoding open FStarC.SMTEncoding.Util open FStarC.SMTEncoding.Env -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Const = FStarC.Parser.Const module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env @@ -320,7 +320,7 @@ let isInteger (tm: Syntax.term') : bool = let getInteger (tm : Syntax.term') = match tm with - | Tm_constant (Const_int (n,None)) -> FStarC.Compiler.Util.int_of_string n + | Tm_constant (Const_int (n,None)) -> FStarC.Util.int_of_string n | _ -> failwith "Expected an Integer term" (* We only want to encode a term as a bitvector term (not an uninterpreted function) @@ -473,7 +473,7 @@ and encode_arith_term env head args_e = we do not want to encode this*) let (tm_sz, _) : arg = List.hd args_e in let sz = getInteger tm_sz.n in - let sz_key = FStarC.Compiler.Util.format1 "BitVector_%s" (string_of_int sz) in + let sz_key = FStarC.Util.format1 "BitVector_%s" (string_of_int sz) in let sz_decls = let t_decls, constr_name, discriminator_name = mkBvConstructor sz in //Typing inversion for bv_t n @@ -505,7 +505,7 @@ and encode_arith_term env head args_e = | Tm_fvar fv, [_;(sz_arg, _);_] when (S.fv_eq_lid fv Const.bv_uext_lid) -> (*fail if extension size is not a constant*) - failwith (FStarC.Compiler.Util.format1 "Not a constant bitvector extend size: %s" + failwith (FStarC.Util.format1 "Not a constant bitvector extend size: %s" (show sz_arg)) | _ -> (List.tail args_e, None) in diff --git a/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fsti b/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fsti index ba87dffb7f2..e1cc1813b80 100644 --- a/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.EncodeTerm.fsti @@ -17,9 +17,9 @@ module FStarC.SMTEncoding.EncodeTerm open Prims open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.Env open FStarC.Syntax open FStarC.Syntax.Syntax @@ -30,7 +30,7 @@ open FStarC.Const open FStarC.SMTEncoding open FStarC.SMTEncoding.Util open FStarC.SMTEncoding.Env -module BU = FStarC.Compiler.Util +module BU = FStarC.Util val isTotFun_axioms: Range.range -> head:term -> vars:fvs -> guards:list term -> bool -> term val mk_Apply : e:term -> vars:fvs -> term val maybe_curry_app : rng:Range.range -> head:either op term -> arity:int -> args:list term -> term diff --git a/src/smtencoding/FStarC.SMTEncoding.Env.fst b/src/smtencoding/FStarC.SMTEncoding.Env.fst index 1bf4d2dbd91..2234a3fca00 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Env.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Env.fst @@ -16,9 +16,9 @@ module FStarC.SMTEncoding.Env open Prims open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.Env open FStarC.Syntax open FStarC.Syntax.Syntax @@ -28,7 +28,7 @@ open FStarC.Ident open FStarC.SMTEncoding.Util module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util open FStarC.Class.Show diff --git a/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fst b/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fst index de156b908c7..95c2bd5bf7f 100644 --- a/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fst +++ b/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fst @@ -15,19 +15,19 @@ *) module FStarC.SMTEncoding.ErrorReporting -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.BaseTypes -open FStarC.Compiler.Util +open FStarC.Util open FStarC.SMTEncoding.Term open FStarC.SMTEncoding.Util open FStarC.SMTEncoding.Z3 open FStarC.SMTEncoding -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Class.Setlike -module BU = FStarC.Compiler.Util +module BU = FStarC.Util exception Not_a_wp_implication of string let sort_labels (l:(list (error_label & bool))) = List.sortWith (fun ((_, _, r1), _) ((_, _, r2), _) -> Range.compare r1 r2) l diff --git a/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fsti b/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fsti index f9e747a1c63..c97c71c5642 100644 --- a/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.ErrorReporting.fsti @@ -15,16 +15,16 @@ *) module FStarC.SMTEncoding.ErrorReporting -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.BaseTypes -open FStarC.Compiler.Util +open FStarC.Util open FStarC.SMTEncoding.Term open FStarC.SMTEncoding.Util open FStarC.SMTEncoding -open FStarC.Compiler.Range -module BU = FStarC.Compiler.Util +open FStarC.Range +module BU = FStarC.Util type label = error_label type labels = list label diff --git a/src/smtencoding/FStarC.SMTEncoding.Pruning.fst b/src/smtencoding/FStarC.SMTEncoding.Pruning.fst index 48a489310db..48c87fc48bf 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Pruning.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Pruning.fst @@ -14,15 +14,15 @@ limitations under the License. *) module FStarC.SMTEncoding.Pruning -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC open FStar.List.Tot -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term open FStarC.Class.Setlike open FStarC.Class.Show open FStarC.Class.Monad -module BU = FStarC.Compiler.Util +module BU = FStarC.Util type triggers = list (list string) type triggers_set = list (RBSet.t string) @@ -332,7 +332,7 @@ let add_decls (ds:list decl) (p:pruning_state) = List.fold_left (fun p d -> add_decl d p) p ds let sym = string -let reached_assumption_names = FStarC.Compiler.RBSet.rbset string +let reached_assumption_names = FStarC.RBSet.rbset string // The main pruning algorithm is expresses as a state monad over the ctxt type ctxt = { diff --git a/src/smtencoding/FStarC.SMTEncoding.Pruning.fsti b/src/smtencoding/FStarC.SMTEncoding.Pruning.fsti index 0df08764ec2..45a6a2a9427 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Pruning.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Pruning.fsti @@ -45,9 +45,9 @@ module FStarC.SMTEncoding.Pruning Thanks to Chris Hawblitzel and Guido Martínez for design and discussions. *) -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term (* The main abstract type of this module, representing the set of all assumptions *) diff --git a/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fst b/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fst index 45741c96ed7..6ed9026c609 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fst @@ -17,13 +17,13 @@ module FStarC.SMTEncoding.Solver.Cache open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util -open FStarC.Compiler.RBSet +module BU = FStarC.Util +open FStarC.RBSet open FStarC.Class.Show open FStarC.Class.Hashable diff --git a/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fsti b/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fsti index 79b00499271..a854029ed06 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Solver.Cache.fsti @@ -17,8 +17,8 @@ module FStarC.SMTEncoding.Solver.Cache open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax diff --git a/src/smtencoding/FStarC.SMTEncoding.Solver.fst b/src/smtencoding/FStarC.SMTEncoding.Solver.fst index d371032b40b..91b6337a299 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Solver.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Solver.fst @@ -16,14 +16,14 @@ module FStarC.SMTEncoding.Solver open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Z3 open FStarC.SMTEncoding.Term -open FStarC.Compiler.Util -open FStarC.Compiler.Hints +open FStarC.Util +open FStarC.Hints open FStarC.TypeChecker open FStarC.TypeChecker.Env open FStarC.SMTEncoding @@ -33,9 +33,9 @@ open FStarC.SMTEncoding.Env open FStarC.Class.Show open FStarC.Class.PP open FStarC.Class.Hashable -open FStarC.Compiler.RBSet +open FStarC.RBSet -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors module Print = FStarC.Syntax.Print @@ -52,7 +52,7 @@ let dbg_SMTFail = Debug.get_toggle "SMTFail" (* Hint databases for record and replay (private) *) (****************************************************************************) -// The type definition is now in [FStarC.Compiler.Util], since it needs to be visible to +// The type definition is now in [FStarC.Util], since it needs to be visible to // both the F# and OCaml implementations. type z3_replay_result = either (option UC.unsat_core), error_labels diff --git a/src/smtencoding/FStarC.SMTEncoding.Solver.fsti b/src/smtencoding/FStarC.SMTEncoding.Solver.fsti index 245e5f2de42..c04fa5c6782 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Solver.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Solver.fsti @@ -15,7 +15,7 @@ *) module FStarC.SMTEncoding.Solver -open FStarC.Compiler.Effect +open FStarC.Effect val with_hints_db : string -> (unit -> 'a) -> 'a val dummy: FStarC.TypeChecker.Env.solver_t diff --git a/src/smtencoding/FStarC.SMTEncoding.SolverState.fst b/src/smtencoding/FStarC.SMTEncoding.SolverState.fst index 7f38f098d06..31b38d51e10 100644 --- a/src/smtencoding/FStarC.SMTEncoding.SolverState.fst +++ b/src/smtencoding/FStarC.SMTEncoding.SolverState.fst @@ -14,16 +14,16 @@ limitations under the License. *) module FStarC.SMTEncoding.SolverState -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term open FStarC.BaseTypes -open FStarC.Compiler.Util +open FStarC.Util open FStar.List.Tot open FStarC.Class.Show open FStarC.Class.Setlike -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Pruning = FStarC.SMTEncoding.Pruning module U = FStarC.SMTEncoding.UnsatCore module TcEnv = FStarC.TypeChecker.Env diff --git a/src/smtencoding/FStarC.SMTEncoding.SolverState.fsti b/src/smtencoding/FStarC.SMTEncoding.SolverState.fsti index 6f3a8666c57..95a2b888556 100644 --- a/src/smtencoding/FStarC.SMTEncoding.SolverState.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.SolverState.fsti @@ -32,13 +32,13 @@ module FStarC.SMTEncoding.SolverState handled in FStarC.SMTEncoding.Z3.fst. Instead, it buffers all Term.decls to be sent to the solver and a call to flush returns all the decls to be sent. *) -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term open FStarC.BaseTypes -open FStarC.Compiler.Util -module BU = FStarC.Compiler.Util +open FStarC.Util +module BU = FStarC.Util module U = FStarC.SMTEncoding.UnsatCore type using_facts_from_setting = list (list string & bool) diff --git a/src/smtencoding/FStarC.SMTEncoding.Term.fst b/src/smtencoding/FStarC.SMTEncoding.Term.fst index 15ad974e570..9e16948c369 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Term.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Term.fst @@ -16,11 +16,11 @@ module FStarC.SMTEncoding.Term open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util let escape (s:string) = BU.replace_char s '\'' '_' @@ -246,14 +246,21 @@ let weightToSmt = function | None -> "" | Some i -> BU.format1 ":weight %s\n" (string_of_int i) -let rec hash_of_term' t = match t with +(* NOTE: these hashes are used for variable names in the encoding (Tm_refine_xxx, etc). +These names can affect the behavior of Z3 and make the difference between a success and +a failure, especially on flaky queries. So this function SHOULD NOT depend on any +external factors, like filepaths, timestamps, etc. There used to be a string_of_range +call here for the Labeled case, which caused flakiness across machines. *) +let rec hash_of_term' t = + match t with | Integer i -> i | String s -> s | Real r -> r | BoundV i -> "@"^string_of_int i | FreeV x -> fv_name x ^ ":" ^ strSort (fv_sort x) //Question: Why is the sort part of the hash? | App(op, tms) -> "("^(op_to_string op)^(List.map hash_of_term tms |> String.concat " ")^")" - | Labeled(t, r1, r2) -> hash_of_term t ^ Errors.Msg.rendermsg r1 ^ (Range.string_of_range r2) + | Labeled(t, _, _) -> + hash_of_term t // labels are semantically irrelevant, ignore them | LblPos(t, r) -> "(! " ^hash_of_term t^ " :lblpos " ^r^ ")" | Quant(qop, pats, wopt, sorts, body) -> "(" @@ -1111,7 +1118,7 @@ let mk_Valid t = match t.tm with | App(Var "Prims.b2t", [{tm=App(Var "Prims.op_Negation", [t])}]) -> mkNot (unboxBool t) t.rng | App(Var "Prims.b2t", [{tm=App(Var "FStar.BV.bvult", [t0; t1;t2])}]) | App(Var "Prims.equals", [_; {tm=App(Var "FStar.BV.bvult", [t0; t1;t2])}; _]) - when (FStarC.Compiler.Util.is_some (getBoxedInteger t0))-> + when (FStarC.Util.is_some (getBoxedInteger t0))-> // sometimes b2t gets needlessly normalized... let sz = match getBoxedInteger t0 with | Some sz -> sz | _ -> failwith "impossible" in mkBvUlt (unboxBitVec sz t1, unboxBitVec sz t2) t.rng diff --git a/src/smtencoding/FStarC.SMTEncoding.Term.fsti b/src/smtencoding/FStarC.SMTEncoding.Term.fsti index 20a295af45f..2832bfc517d 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Term.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Term.fsti @@ -17,11 +17,11 @@ module FStarC.SMTEncoding.Term open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Class.Show -open FStarC.Compiler.List +open FStarC.List open FStarC.Class.Ord module S = FStarC.Syntax.Syntax diff --git a/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fst b/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fst index 96358574334..7e1c9928cd6 100644 --- a/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fst +++ b/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fst @@ -14,11 +14,11 @@ limitations under the License. *) module FStarC.SMTEncoding.UnsatCore -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term -module BU = FStarC.Compiler.Util +module BU = FStarC.Util let filter (core:unsat_core) (decls:list decl) : list decl diff --git a/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fsti b/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fsti index 6aa8daf7891..2acce24c4b9 100644 --- a/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.UnsatCore.fsti @@ -14,9 +14,9 @@ limitations under the License. *) module FStarC.SMTEncoding.UnsatCore -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term type unsat_core = list string diff --git a/src/smtencoding/FStarC.SMTEncoding.Util.fst b/src/smtencoding/FStarC.SMTEncoding.Util.fst index 06c0a05c7d8..aa5de15ff25 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Util.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Util.fst @@ -15,24 +15,16 @@ *) module FStarC.SMTEncoding.Util -open FStarC.Compiler.Effect +open FStarC.Effect -open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.Env -open FStarC.Compiler.Util -open FStarC.Syntax open FStarC.Syntax.Syntax -open FStarC.TypeChecker open FStarC.SMTEncoding.Term open FStarC.Ident -open FStarC.Const -open FStarC.Class.Setlike -module C = FStarC.Parser.Const module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util module SS = FStarC.Syntax.Subst -module N = FStarC.TypeChecker.Normalize module TcEnv = FStarC.TypeChecker.Env let mkAssume (tm, cap, nm) = diff --git a/src/smtencoding/FStarC.SMTEncoding.Z3.fst b/src/smtencoding/FStarC.SMTEncoding.Z3.fst index 7ed10b12e91..a20469feddb 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Z3.fst +++ b/src/smtencoding/FStarC.SMTEncoding.Z3.fst @@ -14,17 +14,17 @@ limitations under the License. *) module FStarC.SMTEncoding.Z3 -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term open FStarC.BaseTypes -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Class.Show module SolverState = FStarC.SMTEncoding.SolverState -module M = FStarC.Compiler.Misc -module BU = FStarC.Compiler.Util +module M = FStarC.Misc +module BU = FStarC.Util (****************************************************************************) (* Z3 Specifics *) (****************************************************************************) @@ -33,53 +33,6 @@ module BU = FStarC.Compiler.Util let _already_warned_solver_mismatch : ref bool = BU.mk_ref false let _already_warned_version_mismatch : ref bool = BU.mk_ref false -let z3url = "https://github.com/Z3Prover/z3/releases" - -(* Check if [path] is potentially a valid z3, by trying to run -it with -version and checking for non-empty output. Alternatively -we could call [which] on it (if it's not an absolute path), but -we shouldn't rely on the existence of a binary which. *) -let inpath (path:string) : bool = - try - let s = BU.run_process "z3_pathtest" path ["-version"] None in - s <> "" - with - | _ -> false - -(* Find the Z3 executable that we should invoke, according to the -needed version. The logic is as follows: - -- If the user provided the --smt option, use that binary unconditionally. -- If z3-VER (or z3-VER.exe) exists in the PATH (where VER is either - the default version or the user-provided --z3version) use it. -- Otherwise, default to "z3" in the PATH. - -We cache the chosen executable for every Z3 version we've ran. -*) -let z3_exe : unit -> string = - let cache : BU.smap string = BU.smap_create 5 in - let find_or (k:string) (f : string -> string) : string = - match smap_try_find cache k with - | Some v -> v - | None -> - let v = f k in - smap_add cache k v; - v - in - fun () -> - find_or (Options.z3_version()) (fun version -> - let path = - let z3_v = Platform.exe ("z3-" ^ version) in - let smto = Options.smt () in - if Some? smto then Some?.v smto - else if inpath z3_v then z3_v - else Platform.exe "z3" - in - if Debug.any () then - BU.print1 "Chosen Z3 executable: %s\n" path; - path - ) - type label = string let status_tag = function @@ -171,7 +124,18 @@ let query_logging = (* Z3 background process handling *) let z3_cmd_and_args () = - let cmd = z3_exe () in + let ver = Options.z3_version () in + let cmd = + match Find.locate_z3 ver with + | Some fn -> fn + | None -> + let open FStarC.Pprint in + let open FStarC.Errors.Msg in + FStarC.Errors.raise_error0 Errors.Error_Z3InvocationError ( + [ text "Z3 solver not found."; + prefix 2 1 (text "Required version: ") (doc_of_string ver)] + @ Find.z3_install_suggestion ver) + in let cmd_args = List.append ["-smt2"; "-in"; @@ -205,27 +169,24 @@ let check_z3version (p:proc) : unit = in let name = getinfo "name" in if name <> "Z3" && not (!_already_warned_solver_mismatch) then ( - Errors.log_issue0 Errors.Warning_SolverMismatch - (BU.format3 "Unexpected SMT solver: expected to be talking to Z3, got %s.\n\ - Please download the correct version of Z3 from %s\n\ - and install it into your $PATH as `%s'." - name - z3url (Platform.exe ("z3-" ^ Options.z3_version ()))); + let open FStarC.Errors.Msg in + Errors.log_issue0 Errors.Warning_SolverMismatch ([ + text <| BU.format1 "Unexpected SMT solver: expected to be talking to Z3, got %s." name; + ] @ Find.z3_install_suggestion (Options.z3_version ()) + ); _already_warned_solver_mismatch := true ); - let ver_found : string = BU.trim_string (List.hd (BU.split (getinfo "version") "-")) in + let ver_found : string = BU.trim_string (getinfo "version") in let ver_conf : string = BU.trim_string (Options.z3_version ()) in if ver_conf <> ver_found && not (!_already_warned_version_mismatch) then ( let open FStarC.Errors in let open FStarC.Pprint in - Errors.log_issue0 Errors.Warning_SolverMismatch [ + let open FStarC.Errors.Msg in + Errors.log_issue0 Errors.Warning_SolverMismatch ([ text (BU.format3 "Unexpected Z3 version for '%s': expected '%s', got '%s'." (proc_prog p) ver_conf ver_found); - prefix 4 1 (text "Please download the correct version of Z3 from") - (url z3url) ^/^ - group (text "and install it into your $PATH as" ^/^ squotes - (doc_of_string (Platform.exe ("z3-" ^ Options.z3_version ()))) ^^ dot); - ]; + ] @ Find.z3_install_suggestion ver_conf + ); Errors.stop_if_err(); (* stop now if this was a hard error *) _already_warned_version_mismatch := true ); @@ -264,13 +225,6 @@ type bgproc = { ctxt: SolverState.solver_state; } -let cmd_and_args_to_string cmd_and_args = - String.concat "" [ - "cmd="; (fst cmd_and_args); - " args=["; (String.concat ", " (snd cmd_and_args)); - "]" - ] - (* the current background process is stored in the_z3proc the params with which it was started are stored in the_z3proc_params refresh will kill and restart the process if the params changed or @@ -285,6 +239,10 @@ let bg_z3_proc = // just to be safe: the executable name in the_z3proc_params should // be enough to distinguish between the different executables. let make_new_z3_proc cmd_and_args = + if Options.hint_info () then + BU.print2 "Creating new z3proc (cmd=[%s], version=[%s])\n" + (show cmd_and_args) + (show (Options.z3_version ())); the_z3proc := Some (new_z3proc_with_id cmd_and_args); the_z3proc_params := Some cmd_and_args; the_z3proc_ask_count := 0 in @@ -300,38 +258,21 @@ let bg_z3_proc = in let maybe_kill_z3proc () = if !the_z3proc <> None then begin + let old_params = must (!the_z3proc_params) in + let old_version = !the_z3proc_version in + + if Options.hint_info () then + BU.print2 "Killing old z3proc (ask_count=%s, old_cmd=[%s])\n" + (show !the_z3proc_ask_count) + (show old_params); + BU.kill_process (must (!the_z3proc)); + the_z3proc_ask_count := 0; the_z3proc := None end in let refresh () = - let next_params = z3_cmd_and_args () in - let old_params = must (!the_z3proc_params) in - - let old_version = !the_z3proc_version in - let next_version = Options.z3_version () in - - (* We only refresh the solver if we have used it at all, or if the - parameters/version must be changed. We also force a refresh if log_queries is - on. I (GM 2023/07/23) think this might have been for making sure we get - a new file after checking a dependency, and that it might not be needed - now. However it's not a big performance hit, and it's only when logging - queries, so I'm maintaining this. *) - if Options.log_queries() || - (!the_z3proc_ask_count > 0) || - old_params <> next_params || - old_version <> next_version - then begin - maybe_kill_z3proc(); - if Options.query_stats() - then begin - BU.print3 "Refreshing the z3proc (ask_count=%s old=[%s] new=[%s])\n" - (BU.string_of_int !the_z3proc_ask_count) - (cmd_and_args_to_string old_params) - (cmd_and_args_to_string next_params) - end; - make_new_z3_proc next_params - end; + maybe_kill_z3proc (); query_logging.close_log() in let restart () = @@ -516,7 +457,7 @@ let doZ3Exe (log_file:_) (r:Range.range) (fresh:bool) (input:string) (label_mess let reason_unknown = BU.map_opt smt_output.smt_reason_unknown (fun x -> let ru = String.concat " " x in if BU.starts_with ru "(:reason-unknown \"" - then let reason = FStarC.Compiler.Util.substring_from ru (String.length "(:reason-unknown \"" ) in + then let reason = FStarC.Util.substring_from ru (String.length "(:reason-unknown \"" ) in let res = String.substring reason 0 (String.length reason - 2) in //it ends with '")' res else ru) in diff --git a/src/smtencoding/FStarC.SMTEncoding.Z3.fsti b/src/smtencoding/FStarC.SMTEncoding.Z3.fsti index 9d12fb0c2fb..40de7f26437 100644 --- a/src/smtencoding/FStarC.SMTEncoding.Z3.fsti +++ b/src/smtencoding/FStarC.SMTEncoding.Z3.fsti @@ -14,13 +14,13 @@ limitations under the License. *) module FStarC.SMTEncoding.Z3 -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.SMTEncoding.Term open FStarC.BaseTypes -open FStarC.Compiler.Util -module BU = FStarC.Compiler.Util +open FStarC.Util +module BU = FStarC.Util module U = FStarC.SMTEncoding.UnsatCore module SolverState = FStarC.SMTEncoding.SolverState @@ -70,11 +70,15 @@ val ask: r:Range.range -> core:option U.unsat_core -> z3result +(* This will make sure the solver is in a fresh state, potentially +killing the current process. A new process will *not* be started +until we actually need to perform a query. *) val refresh: option SolverState.using_facts_from_setting -> unit + val push : msg:string -> unit val pop : msg:string -> unit val snapshot : string -> int val rollback : string -> option int -> unit val start_query (msg:string) (prefix_to_push:list decl) (query:decl) : unit val finish_query (msg:string) : unit -val query_logging : query_log \ No newline at end of file +val query_logging : query_log diff --git a/src/smtencoding/Makefile b/src/smtencoding/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/smtencoding/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/syntax/FStarC.Syntax.CheckLN.fst b/src/syntax/FStarC.Syntax.CheckLN.fst index 6789ee5eb13..cd5077b22f8 100644 --- a/src/syntax/FStarC.Syntax.CheckLN.fst +++ b/src/syntax/FStarC.Syntax.CheckLN.fst @@ -2,7 +2,7 @@ module FStarC.Syntax.CheckLN open FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module L = FStarC.Compiler.List +module L = FStarC.List (* Computes the binding amount of a pattern. Anywhere where this is defined already? *) diff --git a/src/syntax/FStarC.Syntax.Compress.fst b/src/syntax/FStarC.Syntax.Compress.fst index ed1e4497320..1613ae20a50 100644 --- a/src/syntax/FStarC.Syntax.Compress.fst +++ b/src/syntax/FStarC.Syntax.Compress.fst @@ -2,16 +2,16 @@ module FStarC.Syntax.Compress open FStarC open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Effect +open FStarC +open FStarC.Util +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Syntax.Subst open FStarC.Syntax.Visit open FStarC.Class.Show -module List = FStarC.Compiler.List +module List = FStarC.List module Err = FStarC.Errors (* This function really just checks for bad(tm) things happening, the diff --git a/src/syntax/FStarC.Syntax.DsEnv.fst b/src/syntax/FStarC.Syntax.DsEnv.fst index 9bb723c7607..e6a331d6f71 100644 --- a/src/syntax/FStarC.Syntax.DsEnv.fst +++ b/src/syntax/FStarC.Syntax.DsEnv.fst @@ -16,11 +16,11 @@ module FStarC.Syntax.DsEnv open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Util @@ -37,7 +37,7 @@ let ugly_sigelt_to_string (se:sigelt) : string = !ugly_sigelt_to_string_hook se module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Const = FStarC.Parser.Const type local_binding = (ident & bv & used_marker) (* local name binding for name resolution, paired with an env-generated unique name *) @@ -150,7 +150,7 @@ let iface_decls env l = | Some (_, decls) -> Some decls let set_iface_decls env l ds = let _, rest = - FStarC.Compiler.List.partition + FStarC.List.partition (fun (m, _) -> Ident.lid_equals l m) env.remaining_iface_decls in {env with remaining_iface_decls=(l, ds)::rest} @@ -1073,7 +1073,7 @@ let find_data_constructors_for_typ env (lid:lident) = resolve_in_open_namespaces' env lid (fun _ -> None) (fun _ -> None) k_global_def let find_binders_for_datacons: env -> lident -> option (list ident) = - let debug = FStarC.Compiler.Debug.get_toggle "open_include_restrictions" in + let debug = FStarC.Debug.get_toggle "open_include_restrictions" in fun env lid -> let ns = ns_of_lid lid in let k_global_def lid = function @@ -1251,7 +1251,7 @@ let push_include' env ns restriction = in env | None -> - (* module to be included was not prepared, so forbid the 'include'. It may be the case for modules such as FStarC.Compiler.Effect, etc. *) + (* module to be included was not prepared, so forbid the 'include'. It may be the case for modules such as FStarC.Effect, etc. *) raise_error ns Errors.Fatal_IncludeModuleNotPrepared (BU.format1 "include: Module %s was not prepared" (string_of_lid ns)) end diff --git a/src/syntax/FStarC.Syntax.DsEnv.fsti b/src/syntax/FStarC.Syntax.DsEnv.fsti index a22483432fa..41da2b4dd52 100644 --- a/src/syntax/FStarC.Syntax.DsEnv.fsti +++ b/src/syntax/FStarC.Syntax.DsEnv.fsti @@ -15,18 +15,18 @@ *) module FStarC.Syntax.DsEnv -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Effect +open FStarC +open FStarC.Util +open FStarC.Effect open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Util open FStarC.Parser open FStarC.Ident -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util diff --git a/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fst b/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fst index 8ae82157366..05b1d16b6a9 100644 --- a/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fst +++ b/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fst @@ -3,9 +3,6 @@ module FStarC.Syntax.Embeddings.AppEmb open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings.Base -type appemb 'a = - args -> option ('a & args) - let one (e : embedding 'a) : appemb 'a = fun args -> match args with @@ -16,32 +13,26 @@ let one (e : embedding 'a) : appemb 'a = 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 diff --git a/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fsti b/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fsti new file mode 100644 index 00000000000..c27cf3354e5 --- /dev/null +++ b/src/syntax/FStarC.Syntax.Embeddings.AppEmb.fsti @@ -0,0 +1,22 @@ +module FStarC.Syntax.Embeddings.AppEmb + +open FStarC.Syntax.Syntax +open FStarC.Syntax.Embeddings.Base + +type appemb 'a = + args -> option ('a & args) + +let (let?) o f = match o with | None -> None | Some v -> f v + +val (<*>) : appemb ('a -> 'b) -> appemb 'a -> appemb 'b +val (<**>) : appemb ('a -> 'b) -> embedding 'a -> appemb 'b + +val pure (x : 'a) : appemb 'a + +val (<$>) : ('a -> 'b) -> appemb 'a -> appemb 'b + +val (<$$>) : ('a -> 'b) -> embedding 'a -> appemb 'b + +val run : args -> appemb 'a -> option 'a + +val wrap : (term -> option 'a) -> appemb 'a diff --git a/src/syntax/FStarC.Syntax.Embeddings.Base.fst b/src/syntax/FStarC.Syntax.Embeddings.Base.fst index 7e9816e13ce..2cc8e2a4222 100644 --- a/src/syntax/FStarC.Syntax.Embeddings.Base.fst +++ b/src/syntax/FStarC.Syntax.Embeddings.Base.fst @@ -17,16 +17,16 @@ module FStarC.Syntax.Embeddings.Base open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC +open FStarC.Effect +open FStarC.Range open FStar.Pervasives open FStarC.Syntax.Syntax open FStarC.Class.Show open FStarC.Class.PP open FStarC.Class.Deq -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Err = FStarC.Errors module Ident = FStarC.Ident module PC = FStarC.Parser.Const diff --git a/src/syntax/FStarC.Syntax.Embeddings.Base.fsti b/src/syntax/FStarC.Syntax.Embeddings.Base.fsti index 53e6c27a529..6b57a73cdc2 100644 --- a/src/syntax/FStarC.Syntax.Embeddings.Base.fsti +++ b/src/syntax/FStarC.Syntax.Embeddings.Base.fsti @@ -17,13 +17,13 @@ module FStarC.Syntax.Embeddings.Base open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Pervasives open FStarC.Syntax.Syntax module S = FStarC.Syntax.Syntax -module Range = FStarC.Compiler.Range +module Range = FStarC.Range type norm_cb = either Ident.lident term -> term // a callback to the normalizer diff --git a/src/syntax/FStarC.Syntax.Embeddings.fst b/src/syntax/FStarC.Syntax.Embeddings.fst index e3a90fbd00b..52b1fed4b2c 100644 --- a/src/syntax/FStarC.Syntax.Embeddings.fst +++ b/src/syntax/FStarC.Syntax.Embeddings.fst @@ -16,17 +16,17 @@ module FStarC.Syntax.Embeddings -open FStar open FStarC -open FStarC.Compiler +open FStar +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax -open FStarC.Compiler.Range +open FStarC.Range open FStarC.VConfig open FStarC.Class.Show -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module C = FStarC.Const module Err = FStarC.Errors module Ident = FStarC.Ident @@ -307,7 +307,7 @@ let e_string = (fun () -> emb_t_string) let e_real = - let open FStarC.Compiler.Real in + let open FStarC.Real in let ty = S.t_real in let emb_t_real = ET_app(PC.real_lid |> Ident.string_of_lid, []) in let em (r:real) (rng:range) _shadow _norm : term = @@ -798,6 +798,7 @@ let steps_Iota = tconst PC.steps_iota let steps_Reify = tconst PC.steps_reify let steps_NormDebug = tconst PC.steps_norm_debug let steps_UnfoldOnly = tconst PC.steps_unfoldonly +let steps_UnfoldOnce = tconst PC.steps_unfoldonce let steps_UnfoldFully = tconst PC.steps_unfoldonly let steps_UnfoldAttr = tconst PC.steps_unfoldattr let steps_UnfoldQual = tconst PC.steps_unfoldqual @@ -848,6 +849,9 @@ let e_norm_step : embedding Pervasives.norm_step = | UnfoldOnly l -> S.mk_Tm_app steps_UnfoldOnly [S.as_arg (embed l rng None norm)] rng + | UnfoldOnce l -> + S.mk_Tm_app steps_UnfoldOnce [S.as_arg (embed l rng None norm)] + rng | UnfoldFully l -> S.mk_Tm_app steps_UnfoldFully [S.as_arg (embed l rng None norm)] rng @@ -902,6 +906,9 @@ let e_norm_step : embedding Pervasives.norm_step = | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldonly -> BU.bind_opt (try_unembed l norm) (fun ss -> Some <| UnfoldOnly ss) + | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldonce -> + BU.bind_opt (try_unembed l norm) (fun ss -> + Some <| UnfoldOnce ss) | Tm_fvar fv, [(l, _)] when S.fv_eq_lid fv PC.steps_unfoldfully -> BU.bind_opt (try_unembed l norm) (fun ss -> Some <| UnfoldFully ss) @@ -1061,7 +1068,7 @@ let e_vconfig = (fun () -> ET_app (PC.vconfig_lid |> Ident.string_of_lid, [])) let e_order = - let open FStar.Order in + let open FStarC.Order in let ord_Lt_lid = Ident.lid_of_path (["FStar"; "Order"; "Lt"]) Range.dummyRange in let ord_Eq_lid = Ident.lid_of_path (["FStar"; "Order"; "Eq"]) Range.dummyRange in let ord_Gt_lid = Ident.lid_of_path (["FStar"; "Order"; "Gt"]) Range.dummyRange in diff --git a/src/syntax/FStarC.Syntax.Embeddings.fsti b/src/syntax/FStarC.Syntax.Embeddings.fsti index b1c13049f8e..82366cccb67 100644 --- a/src/syntax/FStarC.Syntax.Embeddings.fsti +++ b/src/syntax/FStarC.Syntax.Embeddings.fsti @@ -16,19 +16,19 @@ module FStarC.Syntax.Embeddings -open FStar open FStarC -open FStarC.Compiler +open FStar +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStar.Char open FStarC.VConfig include FStarC.Syntax.Embeddings.Base -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (* Embeddings, both ways and containing type information *) val e_any : embedding term @@ -41,10 +41,10 @@ instance val e_char : embedding char instance val e_int : embedding Z.t instance val e_fsint : embedding int instance val e_string : embedding string -instance val e_real : embedding Compiler.Real.real +instance val e_real : embedding Real.real instance val e_norm_step : embedding Pervasives.norm_step instance val e_vconfig : embedding FStarC.VConfig.vconfig -instance val e_order : embedding FStar.Order.order +instance val e_order : embedding FStarC.Order.order instance val e_option : embedding 'a -> Tot (embedding (option 'a)) instance val e_list : embedding 'a -> Tot (embedding (list 'a)) diff --git a/src/syntax/FStarC.Syntax.Formula.fst b/src/syntax/FStarC.Syntax.Formula.fst index 452b64ee0ca..92ff2a77be8 100644 --- a/src/syntax/FStarC.Syntax.Formula.fst +++ b/src/syntax/FStarC.Syntax.Formula.fst @@ -17,17 +17,17 @@ module FStarC.Syntax.Formula open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Print -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module PC = FStarC.Parser.Const module U = FStarC.Syntax.Util module SS = FStarC.Syntax.Subst diff --git a/src/syntax/FStarC.Syntax.Formula.fsti b/src/syntax/FStarC.Syntax.Formula.fsti index d4860e3f187..1d38db1f0f6 100644 --- a/src/syntax/FStarC.Syntax.Formula.fsti +++ b/src/syntax/FStarC.Syntax.Formula.fsti @@ -15,7 +15,7 @@ *) module FStarC.Syntax.Formula -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Ident open FStarC.Syntax.Syntax open FStarC.Class.Show diff --git a/src/syntax/FStarC.Syntax.Free.fst b/src/syntax/FStarC.Syntax.Free.fst index a63daf253ef..dc9420d25d2 100644 --- a/src/syntax/FStarC.Syntax.Free.fst +++ b/src/syntax/FStarC.Syntax.Free.fst @@ -16,15 +16,15 @@ module FStarC.Syntax.Free open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax -module Util = FStarC.Compiler.Util +module Util = FStarC.Util module UF = FStarC.Syntax.Unionfind open FStarC.Class.Ord diff --git a/src/syntax/FStarC.Syntax.Free.fsti b/src/syntax/FStarC.Syntax.Free.fsti index 2ecd0934308..05b04eca4d9 100644 --- a/src/syntax/FStarC.Syntax.Free.fsti +++ b/src/syntax/FStarC.Syntax.Free.fsti @@ -14,12 +14,12 @@ limitations under the License. *) module FStarC.Syntax.Free -open FStarC.Compiler.Effect +open FStarC.Effect open Prims open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.FlatSet +open FStarC +open FStarC.Util +open FStarC.FlatSet open FStarC.Syntax open FStarC.Syntax.Syntax diff --git a/src/syntax/FStarC.Syntax.Hash.fst b/src/syntax/FStarC.Syntax.Hash.fst index f30b387de46..1e9230d327f 100644 --- a/src/syntax/FStarC.Syntax.Hash.fst +++ b/src/syntax/FStarC.Syntax.Hash.fst @@ -15,14 +15,14 @@ *) module FStarC.Syntax.Hash open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Const module SS = FStarC.Syntax.Subst module UU = FStarC.Syntax.Unionfind -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (* maybe memo *) let mm (t:Type) = bool -> t & bool @@ -100,7 +100,7 @@ and hash_comp c and hash_term' (t:term) : mm H.hash_code = // if Debug.any () - // then FStarC.Compiler.Util.print1 "Hash_term %s\n" (FStarC.Syntax.show t); + // then FStarC.Util.print1 "Hash_term %s\n" (FStarC.Syntax.show t); match (SS.compress t).n with | Tm_bvar bv -> mix (of_int 3) (of_int bv.index) | Tm_name bv -> mix (of_int 5) (of_int bv.index) diff --git a/src/syntax/FStarC.Syntax.Hash.fsti b/src/syntax/FStarC.Syntax.Hash.fsti index db196cd92be..6444d5da0a9 100644 --- a/src/syntax/FStarC.Syntax.Hash.fsti +++ b/src/syntax/FStarC.Syntax.Hash.fsti @@ -17,9 +17,9 @@ *) module FStarC.Syntax.Hash open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Const module H = FStarC.Hash diff --git a/src/syntax/FStarC.Syntax.InstFV.fst b/src/syntax/FStarC.Syntax.InstFV.fst index d4464a577b3..956b730eb5e 100644 --- a/src/syntax/FStarC.Syntax.InstFV.fst +++ b/src/syntax/FStarC.Syntax.InstFV.fst @@ -15,15 +15,15 @@ *) module FStarC.Syntax.InstFV open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident -open FStarC.Compiler.Util -open FStarC.Compiler +open FStarC.Util +open FStarC module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module U = FStarC.Compiler.Util +module U = FStarC.Util let mk t s = S.mk s t.pos @@ -125,7 +125,7 @@ and inst_decreases_order s = function and inst_lcomp_opt s l = match l with | None -> None - | Some rc -> Some ({rc with residual_typ = FStarC.Compiler.Util.map_opt rc.residual_typ (inst s)}) + | Some rc -> Some ({rc with residual_typ = FStarC.Util.map_opt rc.residual_typ (inst s)}) and inst_ascription s (asc:ascription) = let annot, topt, use_eq = asc in @@ -133,7 +133,7 @@ and inst_ascription s (asc:ascription) = match annot with | Inl t -> Inl (inst s t) | Inr c -> Inr (inst_comp s c) in - let topt = FStarC.Compiler.Util.map_opt topt (inst s) in + let topt = FStarC.Util.map_opt topt (inst s) in annot, topt, use_eq let instantiate i t = match i with diff --git a/src/syntax/FStarC.Syntax.InstFV.fsti b/src/syntax/FStarC.Syntax.InstFV.fsti index 8f0e30fda6f..1117099f6c1 100644 --- a/src/syntax/FStarC.Syntax.InstFV.fsti +++ b/src/syntax/FStarC.Syntax.InstFV.fsti @@ -14,7 +14,7 @@ limitations under the License. *) module FStarC.Syntax.InstFV -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident type inst_t = list (lident & universes) diff --git a/src/syntax/FStarC.Syntax.MutRecTy.fst b/src/syntax/FStarC.Syntax.MutRecTy.fst index 5b39115b397..3b783529abb 100644 --- a/src/syntax/FStarC.Syntax.MutRecTy.fst +++ b/src/syntax/FStarC.Syntax.MutRecTy.fst @@ -16,17 +16,17 @@ module FStarC.Syntax.MutRecTy open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Errors open FStarC.Syntax.InstFV module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module U = FStarC.Compiler.Util +module U = FStarC.Util @@ -42,7 +42,7 @@ let disentangle_abbrevs_from_bundle (sigelts: list sigelt) (quals: list qualifier) (members: list lident) - (rng: FStarC.Compiler.Range.range) + (rng: FStarC.Range.range) : sigelt & list sigelt = (* NS: Attributes on the type constructors and abbreviation are gathered, @@ -131,7 +131,7 @@ let disentangle_abbrevs_from_bundle | None -> begin match U.find_map type_abbrev_sigelts replacee with | Some se -> - if FStarC.Compiler.List.existsb (fun x -> lid_equals x fv.fv_name.v) !in_progress + if FStarC.List.existsb (fun x -> lid_equals x fv.fv_name.v) !in_progress then let msg = U.format1 "Cycle on %s in mutually recursive type abbreviations" (string_of_lid fv.fv_name.v) in raise_error fv.fv_name.v Errors.Fatal_CycleInRecTypeAbbreviation msg else unfold_abbrev se @@ -174,7 +174,7 @@ let disentangle_abbrevs_from_bundle (* Now, unfold in inductive types and data constructors *) let filter_out_type_abbrevs l = - List.filter (fun lid -> FStarC.Compiler.List.for_all (fun lid' -> not (lid_equals lid lid')) type_abbrevs) l + List.filter (fun lid -> FStarC.List.for_all (fun lid' -> not (lid_equals lid lid')) type_abbrevs) l in let inductives_with_abbrevs_unfolded = diff --git a/src/syntax/FStarC.Syntax.MutRecTy.fsti b/src/syntax/FStarC.Syntax.MutRecTy.fsti index e4786f19688..8545b68647b 100644 --- a/src/syntax/FStarC.Syntax.MutRecTy.fsti +++ b/src/syntax/FStarC.Syntax.MutRecTy.fsti @@ -15,9 +15,9 @@ *) // (c) Microsoft Corporation. All rights reserved module FStarC.Syntax.MutRecTy -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident val disentangle_abbrevs_from_bundle: list sigelt -> list qualifier -> list lident -> - FStarC.Compiler.Range.range -> sigelt & list sigelt + FStarC.Range.range -> sigelt & list sigelt diff --git a/src/syntax/FStarC.Syntax.Resugar.fst b/src/syntax/FStarC.Syntax.Resugar.fst index b00f874ebf2..de239bfc176 100644 --- a/src/syntax/FStarC.Syntax.Resugar.fst +++ b/src/syntax/FStarC.Syntax.Resugar.fst @@ -17,14 +17,14 @@ *) module FStarC.Syntax.Resugar //we should rename FStarC.ToSyntax to something else open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const -open FStarC.Compiler.List +open FStarC.List open FStarC.Parser.AST open FStarC.Class.Monad open FStarC.Class.Setlike @@ -36,7 +36,7 @@ module SS = FStarC.Syntax.Subst module A = FStarC.Parser.AST module C = FStarC.Parser.Const module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module D = FStarC.Parser.ToDocument module UF = FStarC.Syntax.Unionfind module E = FStarC.Errors diff --git a/src/syntax/FStarC.Syntax.Resugar.fsti b/src/syntax/FStarC.Syntax.Resugar.fsti index b0b15b5ce92..4c2599f5d5b 100644 --- a/src/syntax/FStarC.Syntax.Resugar.fsti +++ b/src/syntax/FStarC.Syntax.Resugar.fsti @@ -15,13 +15,13 @@ *) module FStarC.Syntax.Resugar //we should rename FStarC.ToSyntax to something else -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Const -open FStarC.Compiler.Range +open FStarC.Range module I = FStarC.Ident module S = FStarC.Syntax.Syntax @@ -29,8 +29,8 @@ module SS = FStarC.Syntax.Subst module A = FStarC.Parser.AST module C = FStarC.Parser.Const module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util -module Range = FStarC.Compiler.Range +module BU = FStarC.Util +module Range = FStarC.Range module DsEnv = FStarC.Syntax.DsEnv val resugar_term: S.term -> A.term diff --git a/src/syntax/FStarC.Syntax.Subst.fst b/src/syntax/FStarC.Syntax.Subst.fst index 80bf56d443e..70f671f110a 100644 --- a/src/syntax/FStarC.Syntax.Subst.fst +++ b/src/syntax/FStarC.Syntax.Subst.fst @@ -15,19 +15,19 @@ *) module FStarC.Syntax.Subst open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range +open FStarC +open FStarC.Range open FStarC.Syntax open FStarC.Syntax.Syntax -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident module Err = FStarC.Errors -module U = FStarC.Compiler.Util +module U = FStarC.Util module S = FStarC.Syntax.Syntax /////////////////////////////////////////////////////////////////////////// diff --git a/src/syntax/FStarC.Syntax.Subst.fsti b/src/syntax/FStarC.Syntax.Subst.fsti index 48701cb7225..caf21434781 100644 --- a/src/syntax/FStarC.Syntax.Subst.fsti +++ b/src/syntax/FStarC.Syntax.Subst.fsti @@ -14,13 +14,13 @@ limitations under the License. *) module FStarC.Syntax.Subst -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax open FStarC.Syntax.Syntax -open FStarC.Compiler.Util +open FStarC.Util val shift_subst: int -> subst_t -> subst_t val subst: list subst_elt -> term -> term diff --git a/src/syntax/FStarC.Syntax.Syntax.fst b/src/syntax/FStarC.Syntax.Syntax.fst index 8c45901d78a..fcf299faf34 100644 --- a/src/syntax/FStarC.Syntax.Syntax.fst +++ b/src/syntax/FStarC.Syntax.Syntax.fst @@ -14,14 +14,14 @@ limitations under the License. *) module FStarC.Syntax.Syntax -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List (* Type definitions for the core AST *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Range +open FStarC +open FStarC.Util +open FStarC.Range open FStarC.Ident open FStarC.Const open FStarC.Dyn @@ -30,13 +30,13 @@ open FStarC.VConfig open FStarC.Class.Ord open FStarC.Class.HasRange open FStarC.Class.Setlike -open FStarC.Compiler.Order +open FStarC.Order module O = FStarC.Options module PC = FStarC.Parser.Const module Err = FStarC.Errors module GS = FStarC.GenSym -module FlatSet = FStarC.Compiler.FlatSet +module FlatSet = FStarC.FlatSet let pragma_to_string (p:pragma) : string = match p with @@ -86,7 +86,7 @@ instance showable_should_check_uvar = { // This is set in FStarC.Main.main, where all modules are in-scope. let lazy_chooser : ref (option (lazy_kind -> lazyinfo -> term)) = mk_ref None -let cmp_qualifier (q1 q2 : qualifier) : FStarC.Compiler.Order.order = +let cmp_qualifier (q1 q2 : qualifier) : FStarC.Order.order = match q1, q2 with | Assumption, Assumption -> Eq | New, New -> Eq @@ -588,7 +588,7 @@ let is_ident_allowed_by_restriction' id ) allow_list) fst let is_ident_allowed_by_restriction - = let debug = FStarC.Compiler.Debug.get_toggle "open_include_restrictions" in + = let debug = FStarC.Debug.get_toggle "open_include_restrictions" in fun id restriction -> let result = is_ident_allowed_by_restriction' id restriction in if !debug then print_endline ( "is_ident_allowed_by_restriction(" ^ show id ^ ", " diff --git a/src/syntax/FStarC.Syntax.Syntax.fsti b/src/syntax/FStarC.Syntax.Syntax.fsti index 2ff1febe171..3f14daaa291 100644 --- a/src/syntax/FStarC.Syntax.Syntax.fsti +++ b/src/syntax/FStarC.Syntax.Syntax.fsti @@ -14,13 +14,13 @@ limitations under the License. *) module FStarC.Syntax.Syntax -open FStarC.Compiler.Effect +open FStarC.Effect (* Type definitions for the core AST *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Range +open FStarC +open FStarC.Util +open FStarC.Range open FStarC.Ident open FStarC.Dyn open FStarC.Const diff --git a/src/syntax/FStarC.Syntax.TermHashTable.fsti b/src/syntax/FStarC.Syntax.TermHashTable.fsti index f4d0c88a9f6..66a56c5808e 100644 --- a/src/syntax/FStarC.Syntax.TermHashTable.fsti +++ b/src/syntax/FStarC.Syntax.TermHashTable.fsti @@ -1,5 +1,5 @@ module FStarC.Syntax.TermHashTable -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax module H = FStarC.Hash diff --git a/src/syntax/FStarC.Syntax.Unionfind.fst b/src/syntax/FStarC.Syntax.Unionfind.fst index 91f9d5453d2..4714c936b37 100644 --- a/src/syntax/FStarC.Syntax.Unionfind.fst +++ b/src/syntax/FStarC.Syntax.Unionfind.fst @@ -15,15 +15,15 @@ *) module FStarC.Syntax.Unionfind -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Errors open FStarC.Syntax.Syntax -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module S = FStarC.Syntax.Syntax module PU = FStarC.Unionfind -module BU = FStarC.Compiler.Util -module L = FStarC.Compiler.List +module BU = FStarC.Util +module L = FStarC.List module O = FStarC.Options type vops_t = { diff --git a/src/syntax/FStarC.Syntax.Unionfind.fsti b/src/syntax/FStarC.Syntax.Unionfind.fsti index 7ddcae88b3c..406a1cdb96c 100644 --- a/src/syntax/FStarC.Syntax.Unionfind.fsti +++ b/src/syntax/FStarC.Syntax.Unionfind.fsti @@ -19,8 +19,8 @@ module FStarC.Syntax.Unionfind (* This module offers a transactional interface specialized for terms and * universes on top of the existing union-find implementation. *) -open FStarC.Compiler.Effect -module Range = FStarC.Compiler.Range +open FStarC.Effect +module Range = FStarC.Range module S = FStarC.Syntax.Syntax val uf : Type0 diff --git a/src/syntax/FStarC.Syntax.Util.fst b/src/syntax/FStarC.Syntax.Util.fst index cb30ec79834..7c7e9630014 100644 --- a/src/syntax/FStarC.Syntax.Util.fst +++ b/src/syntax/FStarC.Syntax.Util.fst @@ -16,20 +16,20 @@ module FStarC.Syntax.Util open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Const open FStarC.Dyn -module U = FStarC.Compiler.Util -module List = FStarC.Compiler.List +module U = FStarC.Util +module List = FStarC.List module PC = FStarC.Parser.Const open FStarC.Class.Show @@ -594,7 +594,7 @@ let range_of_sigelt (x: sigelt) = x.sigrng let range_of_arg (hd, _) = hd.pos let range_of_args args r = - args |> List.fold_left (fun r a -> Range.union_ranges r (range_of_arg a)) r + List.fold_left (fun r a -> Range.union_ranges r (range_of_arg a)) r args let mk_app f args = match args with @@ -688,7 +688,7 @@ let qualifier_equal q1 q2 = match q1, q2 with let abs bs t lopt = let close_lopt lopt = match lopt with | None -> None - | Some rc -> Some ({rc with residual_typ=FStarC.Compiler.Util.map_opt rc.residual_typ (close bs)}) + | Some rc -> Some ({rc with residual_typ=FStarC.Util.map_opt rc.residual_typ (close bs)}) in match bs with | [] -> t @@ -832,7 +832,7 @@ let let_rec_arity (lb:letbinding) : int & option (list bool) = let abs_formals_maybe_unascribe_body maybe_unascribe t = let subst_lcomp_opt s l = match l with | Some rc -> - Some ({rc with residual_typ=FStarC.Compiler.Util.map_opt rc.residual_typ (Subst.subst s)}) + Some ({rc with residual_typ=FStarC.Util.map_opt rc.residual_typ (Subst.subst s)}) | _ -> l in let rec aux t abs_body_lcomp = @@ -918,7 +918,6 @@ let is_lid_equality x = lid_equals x PC.eq2_lid let is_forall lid = lid_equals lid PC.forall_lid let is_exists lid = lid_equals lid PC.exists_lid let is_qlid lid = is_forall lid || is_exists lid -let is_equality x = is_lid_equality x.v let lid_is_connective = let lst = [PC.and_lid; PC.or_lid; PC.not_lid; @@ -1561,7 +1560,7 @@ let is_synth_by_tactic t = is_fvar PC.synth_lid t let has_attribute (attrs:list Syntax.attribute) (attr:lident) = - FStarC.Compiler.Util.for_some (is_fvar attr) attrs + FStarC.Util.for_some (is_fvar attr) attrs (* Checks whether the list of attrs contains an application of `attr`, and * returns the arguments if so. If there's more than one, the first one @@ -1587,9 +1586,10 @@ let process_pragma p r = | Getopt.Help -> Errors.raise_error r Errors.Fatal_FailToProcessPragma "Failed to process pragma: use 'fstar --help' to see which options are available" - | Getopt.Error s -> - Errors.raise_error r Errors.Fatal_FailToProcessPragma - ("Failed to process pragma: " ^ s) + | Getopt.Error (s, opt) -> + Errors.raise_error r Errors.Fatal_FailToProcessPragma [ + Errors.Msg.text <| "Failed to process pragma: " ^ s; + ] in match p with | ShowOptions -> @@ -2142,7 +2142,7 @@ let is_binder_unused (b:binder) = b.binder_positivity = Some BinderUnused let deduplicate_terms (l:list term) = - FStarC.Compiler.List.deduplicate (fun x y -> term_eq x y) l + FStarC.List.deduplicate (fun x y -> term_eq x y) l let eq_binding b1 b2 = match b1, b2 with diff --git a/src/syntax/FStarC.Syntax.Util.fsti b/src/syntax/FStarC.Syntax.Util.fsti new file mode 100644 index 00000000000..8cc1cafb304 --- /dev/null +++ b/src/syntax/FStarC.Syntax.Util.fsti @@ -0,0 +1,640 @@ +(* + 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 FStarC.Syntax.Util + +open FStarC.Effect +open FStarC.List + +open FStarC +open FStarC.Util +open FStarC.Ident +open FStarC.Range +open FStarC.Syntax +open FStarC.Syntax.Syntax +open FStarC.Const +open FStarC.Dyn +module U = FStarC.Util +module List = FStarC.List +module PC = FStarC.Parser.Const +open FStarC.Syntax.Subst + +open FStarC.Class.Show +open FStarC.Class.Monad +open FStarC.Class.Setlike + +(********************************************************************************) +(**************************Utilities for identifiers ****************************) +(********************************************************************************) + +(* A hook into FStarC.Syntax.Print, only for debugging and error messages. + * The reference is set in FStarC.Main *) +val tts_f : ref (option (term -> string)) +val tts (t:term) : string +val ttd_f : ref (option (term -> Pprint.document)) +val ttd (t:term) : Pprint.document + +val mk_discriminator (lid:lident) : lident + +(* is uppercase name like Cons *) +val is_name (lid:lident) : bool + +val aqual_of_binder (b:binder) : aqual + +val bqual_and_attrs_of_aqual (a:aqual) : bqual & list attribute + +val arg_of_non_null_binder (b:binder) : arg + +val args_of_non_null_binders (binders:binders) : args + +val args_of_binders (binders:Syntax.binders) : (Syntax.binders & args) + +val name_binders (bs:binders) : binders + +val name_function_binders (t:term) : term + +val subst_of_list (formals:binders) (actuals:args) : subst_t + +val rename_binders (replace_xs:binders) (with_ys:binders) : subst_t + +val unmeta : term -> term +val unmeta_safe : term -> term +val unmeta_lift : term -> term + +(********************************************************************************) +(*************************** Utilities for universes ****************************) +(********************************************************************************) +(* kernel u = (k_u, n) + where u is of the form S^n k_u + i.e., k_u is the "kernel" and n is the offset *) +val univ_kernel : universe -> universe & int + +//ordering on universes: +// constants come first, in order of their size +// named universes come next, in lexical order of their kernels and their offsets +// unification variables next, in lexical order of their kernels and their offsets +// max terms come last +//e.g, [Z; S Z; S S Z; u1; S u1; u2; S u2; S S u2; ?v1; S ?v1; ?v2] +val compare_univs (u1 u2 : universe) : int + +val eq_univs (u1 u2 : universe) : bool + +val eq_univs_list (us vs : universes) : bool + +(********************************************************************************) +(*********************** Utilities for computation types ************************) +(********************************************************************************) + +val ml_comp (t:term) (r:range) : comp + +val comp_effect_name (c:comp) : lident + +val comp_flags (c:comp) : list cflag + +val comp_eff_name_res_and_args (c:comp) : lident & typ & args + +(* + * For layered effects, given a (repr a is), return is + * For wp effects, given a (unit -> M a wp), return wp + * + * The pattern matching is very syntactic inside this function + * It is called from the computation types in the layered effect combinators + * e.g. f and g in bind + * Layered effects typechecking code already makes sure that those types + * have this exact shape + *) +val effect_indices_from_repr (repr:term) (is_layered:bool) (r:Range.range) (err:string) +: list term + +val destruct_comp (c:comp_typ) : (universe & typ & typ) + +val is_named_tot (c:comp) : bool + +val is_total_comp (c:comp) : bool + +val is_partial_return (c:comp) : bool + +val is_tot_or_gtot_comp (c:comp) : bool + +val is_pure_effect (l:lident) : bool + +val is_pure_comp (c:comp) : bool + +val is_ghost_effect (l:lident) : bool +val is_div_effect (l:lident) : bool +val is_pure_or_ghost_comp (c:comp) : bool +val is_pure_or_ghost_effect (l:lident) : bool +val is_pure_or_ghost_function (t:typ) : bool +val is_lemma_comp (c:comp) : bool +val is_lemma (t:typ) : bool + +val head_of (t : term) : term +val head_and_args (t : term) : term & args +val head_and_args_full (t : term) : term & args +val head_and_args_full_unmeta (t : term) : term & args + +val leftmost_head (t : term) : term + +val leftmost_head_and_args (t : term) : term & args + +val un_uinst (t:term) : term + +val is_ml_comp (c:comp) : bool + +val comp_result (c:comp) : typ + +val set_result_typ (c:comp) (t:typ) : comp + +val is_trivial_wp (c:comp) : bool + +val comp_effect_args (c:comp) : args + +(********************************************************************************) +(* Simple utils on the structure of a term *) +(********************************************************************************) +val is_primop_lid : lident -> bool +val is_primop : term -> bool + +val unascribe : term -> term + +val ascribe : term -> ascription -> term + +val unfold_lazy : lazyinfo -> term +val unlazy : term -> term +val unlazy_emb : term -> term +val unlazy_as_t : lazy_kind -> term -> 'a +val mk_lazy (t : 'a) (typ : typ) (k : lazy_kind) (r : option range) : term + +val canon_app : term -> term + +val unrefine : term -> term + +val is_uvar : term -> bool + +val is_unit : term -> bool + +val is_eqtype_no_unrefine : term -> bool + +val is_fun : term -> bool + +val is_function_typ : typ -> bool + +val pre_typ : typ -> typ + +val destruct : typ -> lident -> option args + +val lids_of_sigelt (se: sigelt) : list lident + +val lid_of_sigelt (se:sigelt) : option lident + +val quals_of_sigelt (x: sigelt) : list qualifier + +val range_of_sigelt (x: sigelt) : range + +val range_of_arg : arg -> range + +val range_of_args : args -> range -> range + +val mk_app : term -> args -> term + +val mk_app_binders : term -> binders -> term + +(***********************************************************************************************) +(* Combining an effect name with the name of one of its actions, or a + data constructor name with the name of one of its formal parameters + + NOTE: the conventions defined here must be in sync with manually + linked ML files, such as ulib/ml/prims.ml + *) +(***********************************************************************************************) + +val field_projector_prefix : string (* = "__proj__" *) + +(* NOTE: the following would have been desirable: + +<< +let field_projector_prefix = Ident.reserved_prefix ^ "proj__" +>> + + but it DOES NOT work with --use_hints on + examples/preorders/MRefHeap.fst (even after regenerating hints), it + will produce the following error: + + fstar.exe --use_hints MRefHeap.fst + ./MRefHeap.fst(55,51-58,27): (Error) Unknown assertion failed + Verified module: MRefHeap (2150 milliseconds) + 1 error was reported (see above) + + In fact, any naming convention that DOES NOT start with + Ident.reserved_prefix seems to work. +*) + +val field_projector_sep : string (* = "__item__" *) + +val field_projector_contains_constructor : string -> bool + + +val mk_field_projector_name_from_string : string -> string -> string + +val mk_field_projector_name_from_ident : lident -> ident -> lident + +val mk_field_projector_name : lident -> bv -> int -> lident + +val ses_of_sigbundle (se:sigelt) :list sigelt + +val set_uvar : uvar -> term -> unit + +val qualifier_equal (q1 q2 : qualifier) : bool + + +(***********************************************************************************************) +(* closing types and terms *) +(***********************************************************************************************) +val abs (bs:binders) (t:term) (lopt:option residual_comp) : term + +val arrow_ln (bs:binders) (c:comp) : term +val arrow (bs:binders) (c:comp) : term +val flat_arrow (bs:binders) (c:comp) : term + +val canon_arrow (t:term) : term + +val refine (b:bv) (t:term) : term +val branch (b:branch) : branch // awful name + +val has_decreases (c:comp) : bool + +(* + * AR: this function returns the binders and comp result type of an arrow type, + * flattening arrows of the form t -> Tot (t1 -> C), so that it returns two binders in this example + * the function also descends under the refinements (e.g. t -> Tot (f:(t1 -> C){phi})) + *) +val arrow_formals_comp_ln (k:term) : binders & comp + +val arrow_formals_comp (k:term) : binders & comp +val arrow_formals_ln (k:term) : binders & typ +val arrow_formals (k:term) : binders & typ + +(* let_rec_arity e f: + if `f` is a let-rec bound name in e + then this function returns + 1. f's type + 2. the natural arity of f, i.e., the number of arguments including universes on which the let rec is defined + 3. a list of booleans, one for each argument above, where the boolean is true iff the variable appears in the f's decreases clause + This is used by NBE for detecting potential non-terminating loops +*) +val let_rec_arity (lb:letbinding) : int & option (list bool) + +val abs_formals_maybe_unascribe_body : bool -> term -> binders & term & option residual_comp + +val abs_formals (t:term) : binders & term & option residual_comp + +val remove_inacc (t:term) : term + +val mk_letbinding + (lbname : either bv fv) + (univ_vars : list univ_name) + (typ : term) + (eff : lident) + (def : term) + (lbattrs : list term) + (pos : range) + : letbinding + +val close_univs_and_mk_letbinding + (recs : option (list fv)) + (lbname : either bv fv) + (univ_vars : list univ_name) + (typ : term) + (eff : lident) + (def : term) + (attrs : list term) + (pos : range) + : letbinding + +val open_univ_vars_binders_and_comp (uvs:univ_names) (bs:binders) (c:comp) : univ_names & binders & comp + +(********************************************************************************) +(*********************** Various tests on constants ****************************) +(********************************************************************************) + +val is_tuple_constructor (t:typ) : bool +val is_dtuple_constructor (t:typ) : bool +val is_lid_equality (x : lident) : bool + +val is_forall : lident -> bool +val is_exists : lident -> bool +val is_qlid : lident -> bool + +val lid_is_connective : lident -> bool + +val is_constructor (t:term) (lid : lident) : bool + +val is_constructed_typ (t:term) (lid : lident) : bool + +val get_tycon : term -> option term + +val is_fstar_tactics_by_tactic : term -> bool + +(********************************************************************************) +(*********************** Constructors of common terms **************************) +(********************************************************************************) + +val ktype : term +val ktype0 : term + +//Type(u), where u is a new universe unification variable +val type_u () : typ & universe + +val type_with_u (u:universe) : typ + +val attr_substitute : term + +val exp_bool (b:bool) : term +val exp_true_bool : term +val exp_false_bool : term +val exp_unit : term +(* Makes an (unbounded) integer from its string repr. *) +val exp_int (s:string) : term +val exp_char (c:FStar.Char.char) : term +val exp_string (s:string) : term + +val fvar_const (l:lid) : term +val tand : term +val tor : term +val timp : term +val tiff : term +val t_bool : term +val b2t_v : term +val t_not : term +// These are `True` and `False`, not the booleans +val t_false : term +val t_true : term +val tac_opaque_attr : term +val dm4f_bind_range_attr : term +val tcdecltime_attr : term +val inline_let_attr : term +val rename_let_attr : term + +val t_ctx_uvar_and_sust : term +val t_universe_uvar : term +val t_dsl_tac_typ : term + +val mk_conj_opt (phi1 : option term) (phi2 : term) : option term +val mk_binop (op_t phi1 phi2 : term) : term + +val mk_neg : term -> term +val mk_conj (phi1 phi2 : term) : term +val mk_conj_l (phi : list term) : term +val mk_disj (phi1 phi2 : term) : term +val mk_disj_l (phi : list term) : term +val mk_imp (phi1 phi2 : term) : term +val mk_iff (phi1 phi2 : term) : term + +val b2t (e:term) : term +val unb2t (e:term) : option term + +val is_t_true (t:term) : bool +val mk_conj_simp (t1 t2 : term) : term +val mk_disj_simp (t1 t2 : term) : term + +val teq : term +val mk_untyped_eq2 (e1 e2 : term) : term +val mk_eq2 (u:universe) (t:typ) (e1:term) (e2:term) : term + +val mk_eq3_no_univ (t1 t2 e1 e2 : term) : term + +val mk_has_type (t x t' : term) : term + +val tforall : term +val texists : term +val t_haseq : term + +val decidable_eq : term +val mk_decidable_eq (t e1 e2 : term) : term + +val b_and : term + +val mk_and (e1 e2 : term) : term +val mk_and_l (es : list term) : term +val mk_boolean_negation (b:term) : term + +val mk_residual_comp (l:lident) (t: option typ) (f:list cflag) : residual_comp +val residual_tot (t:typ) : residual_comp +val residual_gtot (t:typ) : residual_comp +val residual_comp_of_comp (c:comp) : residual_comp + +val mk_forall_no_univ (x:bv) (body:typ) : typ +val mk_forall (u:universe) (x:bv) (body:typ) : typ + +val close_forall_no_univs (bs : list binder) (f : typ) : typ + +val mk_exists_no_univ (x:bv) (body:typ) : typ +val mk_exists (u:universe) (x:bv) (body:typ) : typ + +val close_exists_no_univs (bs : list binder) (f : typ) : typ + +val if_then_else (b t1 t2 : term) : term + +////////////////////////////////////////////////////////////////////////////////////// +// Operations on squashed and other irrelevant/sub-singleton types +////////////////////////////////////////////////////////////////////////////////////// +val mk_squash (u:universe) (p:term) : term + +val mk_auto_squash (u:universe) (p:term) : term + +val un_squash (t:term) : option term + +val is_squash (t:term) : option (universe & term) + +val is_auto_squash (t:term) : option (universe & term) + +val is_sub_singleton (t:term) : bool + +val arrow_one_ln (t:typ) : option (binder & comp) +val arrow_one (t:typ) : option (binder & comp) + +val abs_one_ln (t:typ) : option (binder & term) + +val is_free_in (bv:bv) (t:term) : bool + +val action_as_lb (eff_lid:lident) (a:action) (pos:range) : sigelt + +(* Some reification utilities *) +val mk_reify (t:term) (lopt:option Ident.lident) : term +val mk_reflect (t:term) : term + +(* Some utilities for clients who wish to build top-level bindings and keep + * their delta-qualifiers correct (e.g. dmff). *) + +val incr_delta_depth : delta_depth -> delta_depth + +val is_unknown (t:term) : bool + +val dm4f_lid (ed:eff_decl) (name:string) : lident + +val mk_list (typ:term) (rng:range) (l:list term) : term + +// Checks for syntactic equality. A returned false doesn't guarantee anything. +// We DO NOT OPEN TERMS as we descend on them, and just compare their bound variable +// indices. We also ignore some parts of the syntax such universes and most annotations. + +// Setting this ref to `true` causes messages to appear when +// some discrepancy was found. This is useful when trying to debug +// why term_eq is returning `false`. This reference is `one shot`, +// it will disable itself when term_eq returns, but in that single run +// it will provide a (backwards) trace of where the discrepancy apperared. +// +// Use at your own peril, and please keep it if there's no good +// reason against it, so I don't have to go crazy again. +val debug_term_eq : ref bool + +(* generic *) +val eqlist (eq : 'a -> 'a -> bool) (xs : list 'a) (ys : list 'a) : bool +val eqsum (e1 : 'a -> 'a -> bool) (e2 : 'b -> 'b -> bool) (x : either 'a 'b) (y : either 'a 'b) : bool +val eqprod (e1 : 'a -> 'a -> bool) (e2 : 'b -> 'b -> bool) (x : 'a & 'b) (y : 'a & 'b) : bool +val eqopt (e : 'a -> 'a -> bool) (x : option 'a) (y : option 'a) : bool + +val term_eq_dbg (dbg : bool) (t1 t2 : term) : bool +val eq_aqual (a1 a2 : aqual) : bool +val eq_bqual (b1 b2 : bqual) : bool +val term_eq (t1 t2 : term) : bool + +// An estimation of the size of a term, only for debugging +val sizeof (t:term) : int + +val is_fvar (lid:lident) (t:term) : bool + +val is_synth_by_tactic (t:term) : bool + +val has_attribute (attrs:list Syntax.attribute) (attr:lident) : bool + +(* Checks whether the list of attrs contains an application of `attr`, and + * returns the arguments if so. If there's more than one, the first one + * takes precedence. *) +val get_attribute (attr : lident) (attrs:list Syntax.attribute) : option args + +val remove_attr (attr : lident) (attrs:list attribute) : list attribute + +/////////////////////////////////////////// +// Setting pragmas +/////////////////////////////////////////// +val process_pragma (p:pragma) (r:range) : unit + +/////////////////////////////////////////////////////////////////////////////////////////////// +val unbound_variables (tm:term) : list bv +val extract_attr' (attr_lid:lid) (attrs:list term) : option (list term & args) + +val extract_attr (attr_lid:lid) (se:sigelt) : option (sigelt & args) + +(* Utilities for working with Lemma's decorated with SMTPat *) +val is_smt_lemma (t:term) : bool + +val list_elements (e:term) : option (list term) + +val destruct_lemma_with_smt_patterns (t:term) +: option (binders & term & term & list (list arg)) +//binders, pre, post, patterns + +val triggers_of_smt_lemma (t:term) +: list (list lident) //for each disjunctive pattern + //for each conjunct + //triggers in a conjunt + +(* Takes a term of shape `fun x -> e` and returns `e` when +`x` is not free in it. If it is free or the term +has some other shape just apply it to `()`. *) +val unthunk (t:term) : term + +val unthunk_lemma_post (t:term) : term + +val smt_lemma_as_forall (t:term) (universe_of_binders: binders -> list universe) +: term + +(* End SMT Lemma utilities *) + + +(* Effect utilities *) + +(* + * Mainly reading the combinators out of the eff_decl record + * + * For combinators that are present only in either wp or layered effects, + * their getters return option tscheme + * Leaving it to the callers to deal with it + *) + +val effect_sig_ts (sig:effect_signature) : tscheme + +val apply_eff_sig (f:tscheme -> tscheme) : effect_signature -> effect_signature + +val eff_decl_of_new_effect (se:sigelt) :eff_decl + +val is_layered (ed:eff_decl) : bool +val is_dm4f (ed:eff_decl) : bool + +val apply_wp_eff_combinators (f:tscheme -> tscheme) (combs:wp_eff_combinators) : wp_eff_combinators +val apply_layered_eff_combinators (f:tscheme -> tscheme) (combs:layered_eff_combinators) : layered_eff_combinators +val apply_eff_combinators (f:tscheme -> tscheme) (combs:eff_combinators) : eff_combinators + +val get_layered_close_combinator (ed:eff_decl) : option tscheme +val get_wp_close_combinator (ed:eff_decl) : option tscheme +val get_eff_repr (ed:eff_decl) : option tscheme +val get_bind_vc_combinator (ed:eff_decl) : tscheme & option indexed_effect_combinator_kind +val get_return_vc_combinator (ed:eff_decl) : tscheme +val get_bind_repr (ed:eff_decl) : option tscheme + +val get_return_repr (ed:eff_decl) : option tscheme +val get_wp_trivial_combinator (ed:eff_decl) : option tscheme +val get_layered_if_then_else_combinator (ed:eff_decl) : option (tscheme & option indexed_effect_combinator_kind) +val get_wp_if_then_else_combinator (ed:eff_decl) : option tscheme +val get_wp_ite_combinator (ed:eff_decl) : option tscheme +val get_stronger_vc_combinator (ed:eff_decl) : tscheme & option indexed_effect_combinator_kind +val get_stronger_repr (ed:eff_decl) : option tscheme + +val aqual_is_erasable (aq:aqual) : bool + +val is_erased_head (t:term) : option (universe & term) + +val apply_reveal (u:universe) (ty:term) (v:term) : term + +val check_mutual_universes (lbs:list letbinding) : unit + +val ctx_uvar_should_check (u:ctx_uvar) : should_check_uvar +val ctx_uvar_typ (u:ctx_uvar) : term +val ctx_uvar_typedness_deps (u:ctx_uvar) : list ctx_uvar + +val flatten_refinement : term -> term + +val contains_strictly_positive_attribute (attrs:list attribute) : bool + +val contains_unused_attribute (attrs:list attribute) : bool + +//retains the original attributes as is, while deciding if they contains +//the "strictly_positive" attribute +//we retain the attributes since they will then be carried in arguments +//that are applied to the corresponding binder, which is used in embeddings +//and Rel to construct binders from arguments alone +val parse_positivity_attributes (attrs:list attribute) +: option positivity_qualifier & list attribute + +val encode_positivity_attributes (pqual:option positivity_qualifier) (attrs:list attribute) +: list attribute + +val is_binder_strictly_positive (b:binder) : bool +val is_binder_unused (b:binder) : bool + +val deduplicate_terms (l:list term) : list term + +val eq_binding (b1 b2 : binding) : bool diff --git a/src/syntax/FStarC.Syntax.Visit.fst b/src/syntax/FStarC.Syntax.Visit.fst index e9c9cb332c9..656030141ed 100644 --- a/src/syntax/FStarC.Syntax.Visit.fst +++ b/src/syntax/FStarC.Syntax.Visit.fst @@ -1,8 +1,8 @@ module FStarC.Syntax.Visit -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Syntax.VisitM open FStarC.Class.Monad diff --git a/src/syntax/FStarC.Syntax.VisitM.fst b/src/syntax/FStarC.Syntax.VisitM.fst index ba608304061..19331dd2cd3 100644 --- a/src/syntax/FStarC.Syntax.VisitM.fst +++ b/src/syntax/FStarC.Syntax.VisitM.fst @@ -1,8 +1,8 @@ module FStarC.Syntax.VisitM -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Class.Monad @@ -523,7 +523,7 @@ let visitM_sigelt #m {| md : monad m |} (proc_quotes : bool) vt vu (tm : sigelt) let open FStarC.Class.Show in let open FStarC.Class.Monad in -let open FStarC.Compiler.Writer in +let open FStarC.Writer in type mymon = writer (list lident) diff --git a/src/syntax/Makefile b/src/syntax/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/syntax/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/syntax/print/FStarC.Syntax.Print.Pretty.fst b/src/syntax/print/FStarC.Syntax.Print.Pretty.fst index 778945bc81b..553981c709b 100644 --- a/src/syntax/print/FStarC.Syntax.Print.Pretty.fst +++ b/src/syntax/print/FStarC.Syntax.Print.Pretty.fst @@ -17,9 +17,9 @@ module FStarC.Syntax.Print.Pretty open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax.Syntax -open FStarC.Compiler.Util +open FStarC.Util module Resugar = FStarC.Syntax.Resugar module ToDocument = FStarC.Parser.ToDocument module Pp = FStarC.Pprint diff --git a/src/syntax/print/FStarC.Syntax.Print.Pretty.fsti b/src/syntax/print/FStarC.Syntax.Print.Pretty.fsti index 6a1c088a7fd..ccb1d8935f1 100644 --- a/src/syntax/print/FStarC.Syntax.Print.Pretty.fsti +++ b/src/syntax/print/FStarC.Syntax.Print.Pretty.fsti @@ -17,7 +17,7 @@ module FStarC.Syntax.Print.Pretty open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax open FStarC.Syntax.Syntax diff --git a/src/syntax/print/FStarC.Syntax.Print.Ugly.fst b/src/syntax/print/FStarC.Syntax.Print.Ugly.fst index 7230d159f1e..fa91a3e42a4 100644 --- a/src/syntax/print/FStarC.Syntax.Print.Ugly.fst +++ b/src/syntax/print/FStarC.Syntax.Print.Ugly.fst @@ -16,12 +16,12 @@ module FStarC.Syntax.Print.Ugly open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Syntax.Subst open FStarC.Ident @@ -32,7 +32,7 @@ open FStarC.Class.Tagged open FStarC.Class.Show module Errors = FStarC.Errors -module U = FStarC.Compiler.Util +module U = FStarC.Util module A = FStarC.Parser.AST module Unionfind = FStarC.Syntax.Unionfind module C = FStarC.Parser.Const diff --git a/src/syntax/print/FStarC.Syntax.Print.Ugly.fsti b/src/syntax/print/FStarC.Syntax.Print.Ugly.fsti index 81a131bfb09..c9b7153822a 100644 --- a/src/syntax/print/FStarC.Syntax.Print.Ugly.fsti +++ b/src/syntax/print/FStarC.Syntax.Print.Ugly.fsti @@ -15,8 +15,8 @@ See the License for the specific language governing permissions and *) module FStarC.Syntax.Print.Ugly -open FStarC.Compiler.Effect -open FStarC.Compiler +open FStarC.Effect +open FStarC open FStarC.Syntax.Syntax val term_to_string : term -> string diff --git a/src/syntax/print/FStarC.Syntax.Print.fst b/src/syntax/print/FStarC.Syntax.Print.fst index ba76e292a0a..a3e7235b614 100644 --- a/src/syntax/print/FStarC.Syntax.Print.fst +++ b/src/syntax/print/FStarC.Syntax.Print.fst @@ -16,13 +16,13 @@ module FStarC.Syntax.Print open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Range +open FStarC +open FStarC.Range open FStarC.Syntax -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Syntax.Subst open FStarC.Ident @@ -30,7 +30,7 @@ open FStarC.Const open FStarC.Json module Errors = FStarC.Errors -module U = FStarC.Compiler.Util +module U = FStarC.Util module A = FStarC.Parser.AST module Unionfind = FStarC.Syntax.Unionfind module C = FStarC.Parser.Const @@ -351,6 +351,7 @@ instance showable_ctx_uvar_meta = { | Ctx_uvar_meta_attr attr -> "Ctx_uvar_meta_attr " ^ show attr | Ctx_uvar_meta_tac r -> "Ctx_uvar_meta_tac " ^ show r); } +instance showable_bqual = { show = (fun b -> bqual_to_string (Some b)); } // really silly but OK instance showable_aqual = { show = aqual_to_string; } let tscheme_to_string ts = diff --git a/src/syntax/print/FStarC.Syntax.Print.fsti b/src/syntax/print/FStarC.Syntax.Print.fsti index 903d9142531..60f90ef97b9 100644 --- a/src/syntax/print/FStarC.Syntax.Print.fsti +++ b/src/syntax/print/FStarC.Syntax.Print.fsti @@ -16,7 +16,7 @@ See the License for the specific language governing permissions and module FStarC.Syntax.Print open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Class.Show open FStarC.Class.PP @@ -38,6 +38,7 @@ instance val showable_ctxu : showable ctx_uvar instance val showable_binding : showable binding instance val showable_subst_elt : showable subst_elt instance val showable_branch : showable branch +instance val showable_bqual : showable binder_qualifier instance val showable_aqual : showable aqual instance val showable_qualifier : showable qualifier instance val showable_pat : showable pat diff --git a/src/tactics/FStarC.Tactics.Common.fst b/src/tactics/FStarC.Tactics.Common.fst index ed075f9c7e0..8a23a306358 100644 --- a/src/tactics/FStarC.Tactics.Common.fst +++ b/src/tactics/FStarC.Tactics.Common.fst @@ -10,6 +10,6 @@ each other. *) open FStarC.Syntax.Syntax exception NotAListLiteral -exception TacticFailure of FStarC.Errors.Msg.error_message & option FStarC.Compiler.Range.range +exception TacticFailure of FStarC.Errors.Msg.error_message & option FStarC.Range.range exception EExn of term exception SKIP (* used by ctrl_rewrite *) diff --git a/src/tactics/FStarC.Tactics.Common.fsti b/src/tactics/FStarC.Tactics.Common.fsti index ed075f9c7e0..8a23a306358 100644 --- a/src/tactics/FStarC.Tactics.Common.fsti +++ b/src/tactics/FStarC.Tactics.Common.fsti @@ -10,6 +10,6 @@ each other. *) open FStarC.Syntax.Syntax exception NotAListLiteral -exception TacticFailure of FStarC.Errors.Msg.error_message & option FStarC.Compiler.Range.range +exception TacticFailure of FStarC.Errors.Msg.error_message & option FStarC.Range.range exception EExn of term exception SKIP (* used by ctrl_rewrite *) diff --git a/src/tactics/FStarC.Tactics.CtrlRewrite.fst b/src/tactics/FStarC.Tactics.CtrlRewrite.fst index 1cd38b4541d..2929f24f764 100644 --- a/src/tactics/FStarC.Tactics.CtrlRewrite.fst +++ b/src/tactics/FStarC.Tactics.CtrlRewrite.fst @@ -17,10 +17,10 @@ module FStarC.Tactics.CtrlRewrite open FStarC -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC +open FStarC.Util open FStarC.Reflection.V2.Data open FStarC.Reflection.V2.Builtins open FStarC.Tactics.Result @@ -34,7 +34,7 @@ open FStarC.Class.Show open FStarC.Class.Monad module Print = FStarC.Syntax.Print -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util module SS = FStarC.Syntax.Subst diff --git a/src/tactics/FStarC.Tactics.Embedding.fst b/src/tactics/FStarC.Tactics.Embedding.fst index 9a7d7dfa362..5eb2c871aea 100644 --- a/src/tactics/FStarC.Tactics.Embedding.fst +++ b/src/tactics/FStarC.Tactics.Embedding.fst @@ -17,20 +17,20 @@ module FStarC.Tactics.Embedding open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings -open FStarC.Compiler.Util -open FStarC.Compiler.List +open FStarC.Util +open FStarC.List open FStarC.Class.Show open FStarC.Tactics.Common open FStarC.Tactics.Types open FStarC.Tactics.Result -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Err = FStarC.Errors module NBE = FStarC.TypeChecker.NBE module NBETerm = FStarC.TypeChecker.NBETerm diff --git a/src/tactics/FStarC.Tactics.Hooks.fst b/src/tactics/FStarC.Tactics.Hooks.fst index 3c995f7beee..4da9568b5f7 100644 --- a/src/tactics/FStarC.Tactics.Hooks.fst +++ b/src/tactics/FStarC.Tactics.Hooks.fst @@ -17,11 +17,11 @@ module FStarC.Tactics.Hooks open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util -open FStarC.Compiler.Range +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util +open FStarC.Range open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStarC.TypeChecker.Env @@ -31,8 +31,8 @@ open FStarC.Tactics.Interpreter open FStarC.Class.Show module Listlike = FStarC.Class.Listlike -module BU = FStarC.Compiler.Util -module Range = FStarC.Compiler.Range +module BU = FStarC.Util +module Range = FStarC.Range module Err = FStarC.Errors module O = FStarC.Options module PC = FStarC.Parser.Const diff --git a/src/tactics/FStarC.Tactics.Hooks.fsti b/src/tactics/FStarC.Tactics.Hooks.fsti index 4a2512010a2..8e48f829b30 100644 --- a/src/tactics/FStarC.Tactics.Hooks.fsti +++ b/src/tactics/FStarC.Tactics.Hooks.fsti @@ -18,7 +18,7 @@ module FStarC.Tactics.Hooks open FStarC open FStarC.Syntax.Syntax -open FStarC.Compiler.Range +open FStarC.Range module O = FStarC.Options module Env = FStarC.TypeChecker.Env diff --git a/src/tactics/FStarC.Tactics.InterpFuns.fst b/src/tactics/FStarC.Tactics.InterpFuns.fst index d868a1e03db..6e6b29cb534 100644 --- a/src/tactics/FStarC.Tactics.InterpFuns.fst +++ b/src/tactics/FStarC.Tactics.InterpFuns.fst @@ -19,10 +19,10 @@ module FStarC.Tactics.InterpFuns (* This module is awful, don't even look at it please. *) open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Tactics.Types open FStarC.Tactics.Result @@ -33,7 +33,7 @@ open FStarC.Tactics.Monad module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst module PC = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Print = FStarC.Syntax.Print module Cfg = FStarC.TypeChecker.Cfg module E = FStarC.Tactics.Embedding diff --git a/src/tactics/FStarC.Tactics.InterpFuns.fsti b/src/tactics/FStarC.Tactics.InterpFuns.fsti index 18f408d130f..87467a6e8c5 100644 --- a/src/tactics/FStarC.Tactics.InterpFuns.fsti +++ b/src/tactics/FStarC.Tactics.InterpFuns.fsti @@ -18,8 +18,8 @@ module FStarC.Tactics.InterpFuns (* This module is awful, don't even look at it please. *) -open FStar open FStarC.Compiler -open FStarC.Compiler.Effect +open FStar open FStarC +open FStarC.Effect open FStarC.Syntax.Embeddings open FStarC.Tactics.Monad diff --git a/src/tactics/FStarC.Tactics.Interpreter.fst b/src/tactics/FStarC.Tactics.Interpreter.fst index c1acd4f4fb9..f26eaf2a641 100644 --- a/src/tactics/FStarC.Tactics.Interpreter.fst +++ b/src/tactics/FStarC.Tactics.Interpreter.fst @@ -20,11 +20,11 @@ module FStarC.Tactics.Interpreter into this module for all of that. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStarC.TypeChecker.Common @@ -41,7 +41,7 @@ open FStarC.Class.PP open FStarC.Class.Monad module Listlike = FStarC.Class.Listlike -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module E = FStarC.Tactics.Embedding module Env = FStarC.TypeChecker.Env @@ -211,7 +211,7 @@ let unembed_tactic_nbe_0 (eb:NBET.embedding 'b) (cb:NBET.nbe_cbs) (embedded_tac_ let unembed_tactic_1 (ea:embedding 'a) (er:embedding 'r) (f:term) (ncb:norm_cb) : 'a -> tac 'r = fun x -> - let rng = FStarC.Compiler.Range.dummyRange in + let rng = FStarC.Range.dummyRange in let x_tm = embed rng x ncb in let app = S.mk_Tm_app f [as_arg x_tm] rng in unembed_tactic_0 er app ncb @@ -252,7 +252,7 @@ let e_tactic_nbe_1 (ea : NBET.embedding 'a) (er : NBET.embedding 'r) : NBET.embe let unembed_tactic_1_alt (ea:embedding 'a) (er:embedding 'r) (f:term) (ncb:norm_cb) : option ('a -> tac 'r) = Some (fun x -> - let rng = FStarC.Compiler.Range.dummyRange in + let rng = FStarC.Range.dummyRange in let x_tm = embed rng x ncb in let app = S.mk_Tm_app f [as_arg x_tm] rng in unembed_tactic_0 er app ncb) diff --git a/src/tactics/FStarC.Tactics.Interpreter.fsti b/src/tactics/FStarC.Tactics.Interpreter.fsti index afe9dfbd6c6..0a86515868a 100644 --- a/src/tactics/FStarC.Tactics.Interpreter.fsti +++ b/src/tactics/FStarC.Tactics.Interpreter.fsti @@ -15,8 +15,8 @@ *) module FStarC.Tactics.Interpreter -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC.Effect +open FStarC.Range open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStarC.Tactics.Types diff --git a/src/tactics/FStarC.Tactics.Monad.fst b/src/tactics/FStarC.Tactics.Monad.fst index 72c096b7638..d7d3ab36786 100644 --- a/src/tactics/FStarC.Tactics.Monad.fst +++ b/src/tactics/FStarC.Tactics.Monad.fst @@ -17,10 +17,10 @@ module FStarC.Tactics.Monad open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStarC.Syntax.Syntax open FStarC.TypeChecker.Common open FStarC.TypeChecker.Env @@ -37,9 +37,9 @@ module Setlike = FStarC.Class.Setlike module Listlike = FStarC.Class.Listlike module O = FStarC.Options -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Err = FStarC.Errors -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util module UF = FStarC.Syntax.Unionfind diff --git a/src/tactics/FStarC.Tactics.Monad.fsti b/src/tactics/FStarC.Tactics.Monad.fsti index abfd2d0180e..df85e464db4 100644 --- a/src/tactics/FStarC.Tactics.Monad.fsti +++ b/src/tactics/FStarC.Tactics.Monad.fsti @@ -23,8 +23,8 @@ open FStarC.Tactics.Types open FStarC.Class.Monad open FStarC.Errors.Msg -module Range = FStarC.Compiler.Range -module BU = FStarC.Compiler.Util +module Range = FStarC.Range +module BU = FStarC.Util module O = FStarC.Options (* Type of tactics *) diff --git a/src/tactics/FStarC.Tactics.Native.fsti b/src/tactics/FStarC.Tactics.Native.fsti index 50093086f3f..eb5243e9d3c 100644 --- a/src/tactics/FStarC.Tactics.Native.fsti +++ b/src/tactics/FStarC.Tactics.Native.fsti @@ -16,7 +16,7 @@ module FStarC.Tactics.Native -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Syntax.Syntax open FStarC.Tactics.Types diff --git a/src/tactics/FStarC.Tactics.Printing.fst b/src/tactics/FStarC.Tactics.Printing.fst index 062c6af20e9..949f25454ba 100644 --- a/src/tactics/FStarC.Tactics.Printing.fst +++ b/src/tactics/FStarC.Tactics.Printing.fst @@ -16,10 +16,10 @@ module FStarC.Tactics.Printing open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Util +open FStarC.Effect +open FStarC.List open FStarC.Ident open FStarC.Syntax.Syntax open FStarC.TypeChecker.Common @@ -27,8 +27,8 @@ open FStarC.TypeChecker.Env open FStarC.Tactics.Types open FStarC.Class.Show -module BU = FStarC.Compiler.Util -module Range = FStarC.Compiler.Range +module BU = FStarC.Util +module Range = FStarC.Range module Options = FStarC.Options module Print = FStarC.Syntax.Print module SS = FStarC.Syntax.Subst diff --git a/src/tactics/FStarC.Tactics.Types.fst b/src/tactics/FStarC.Tactics.Types.fst index 32eede7b62f..c64be891874 100644 --- a/src/tactics/FStarC.Tactics.Types.fst +++ b/src/tactics/FStarC.Tactics.Types.fst @@ -16,15 +16,15 @@ module FStarC.Tactics.Types open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common module Env = FStarC.TypeChecker.Env module O = FStarC.Options -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module U = FStarC.Syntax.Util let goal_env g = g.goal_main_env diff --git a/src/tactics/FStarC.Tactics.Types.fsti b/src/tactics/FStarC.Tactics.Types.fsti index e598c4ba5f3..25dc3b7dc5e 100644 --- a/src/tactics/FStarC.Tactics.Types.fsti +++ b/src/tactics/FStarC.Tactics.Types.fsti @@ -16,16 +16,16 @@ module FStarC.Tactics.Types open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env open FStarC.Tactics.Common -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module Core = FStarC.TypeChecker.Core module PO = FStarC.TypeChecker.Primops -module Range = FStarC.Compiler.Range +module Range = FStarC.Range (* f: x:int -> P diff --git a/src/tactics/FStarC.Tactics.V1.Basic.fst b/src/tactics/FStarC.Tactics.V1.Basic.fst index 8ee648da06a..075b724bbd2 100644 --- a/src/tactics/FStarC.Tactics.V1.Basic.fst +++ b/src/tactics/FStarC.Tactics.V1.Basic.fst @@ -16,11 +16,11 @@ module FStarC.Tactics.V1.Basic open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Ident open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common @@ -38,7 +38,7 @@ module Listlike = FStarC.Class.Listlike friend FStar.Pervasives (* to use Delta below *) -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module EMB = FStarC.Syntax.Embeddings module Env = FStarC.TypeChecker.Env @@ -1595,7 +1595,7 @@ let set_options (s : string) : tac unit = wrap_err "set_options" <| ( | FStarC.Getopt.Success -> let g' = { g with opts = opts' } in replace_cur g' - | FStarC.Getopt.Error err -> + | FStarC.Getopt.Error (err, _) -> fail2 "Setting options `%s` failed: %s" s err | FStarC.Getopt.Help -> fail1 "Setting options `%s` failed (got `Help`?)" s @@ -2212,7 +2212,7 @@ let string_to_term (e: Env.env) (s: string): tac term | ParseError (_, err, _) -> fail ("string_to_term: got error " ^ Errors.rendermsg err) // FIXME let push_bv_dsenv (e: Env.env) (i: string): tac (env & bv) - = let ident = Ident.mk_ident (i, FStarC.Compiler.Range.dummyRange) in + = let ident = Ident.mk_ident (i, FStarC.Range.dummyRange) in let dsenv, bv = FStarC.Syntax.DsEnv.push_bv e.dsenv ident in ret ({ e with dsenv }, bv) @@ -2224,7 +2224,7 @@ let comp_to_string (c:comp) : tac string = let s = show c in ret s -let range_to_string (r:FStarC.Compiler.Range.range) : tac string +let range_to_string (r:FStarC.Range.range) : tac string = ret (show r) let term_eq_old (t1:term) (t2:term) : tac bool diff --git a/src/tactics/FStarC.Tactics.V1.Basic.fsti b/src/tactics/FStarC.Tactics.V1.Basic.fsti index ef5e47879e4..b9cca6df1d3 100644 --- a/src/tactics/FStarC.Tactics.V1.Basic.fsti +++ b/src/tactics/FStarC.Tactics.V1.Basic.fsti @@ -29,9 +29,9 @@ open FStarC.Reflection.V1.Data open FStarC.Tactics.Types open FStarC.Tactics.Monad -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module O = FStarC.Options -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt module TcComm = FStarC.TypeChecker.Common module Core = FStarC.TypeChecker.Core diff --git a/src/tactics/FStarC.Tactics.V1.Primops.fst b/src/tactics/FStarC.Tactics.V1.Primops.fst index adf12d7507a..63c897a679d 100644 --- a/src/tactics/FStarC.Tactics.V1.Primops.fst +++ b/src/tactics/FStarC.Tactics.V1.Primops.fst @@ -1,11 +1,11 @@ module FStarC.Tactics.V1.Primops open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStarC.TypeChecker.Common @@ -23,7 +23,7 @@ open FStarC.Class.Show open FStarC.Class.Monad open FStarC.Class.HasRange -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module E = FStarC.Tactics.Embedding module Env = FStarC.TypeChecker.Env diff --git a/src/tactics/FStarC.Tactics.V2.Basic.fst b/src/tactics/FStarC.Tactics.V2.Basic.fst index 1b5e04a735d..01909d49aff 100644 --- a/src/tactics/FStarC.Tactics.V2.Basic.fst +++ b/src/tactics/FStarC.Tactics.V2.Basic.fst @@ -16,11 +16,11 @@ module FStarC.Tactics.V2.Basic open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Ident open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common @@ -38,7 +38,7 @@ module Listlike = FStarC.Class.Listlike friend FStar.Pervasives (* to expose norm_step *) -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module Env = FStarC.TypeChecker.Env module Err = FStarC.Errors @@ -73,6 +73,9 @@ open FStarC.Class.Monad open FStarC.Class.PP open FStarC.Class.Setlike +let fixup_range (r : FStarC.Range.range) : tac (FStarC.Range.range) = + return (Errors.maybe_bound_range r) + let compress (t:term) : tac term = return ();! return (SS.compress t) @@ -1703,7 +1706,7 @@ let set_options (s : string) : tac unit = wrap_err "set_options" <| ( | FStarC.Getopt.Success -> let g' = { g with opts = opts' } in replace_cur g' - | FStarC.Getopt.Error err -> + | FStarC.Getopt.Error (err, _) -> fail2 "Setting options `%s` failed: %s" s err | FStarC.Getopt.Help -> fail1 "Setting options `%s` failed (got `Help`?)" s @@ -2118,7 +2121,7 @@ let string_to_term (e: Env.env) (s: string): tac term | ParseError (_, err, _) -> fail ("string_to_term: got error " ^ Errors.rendermsg err) // FIXME let push_bv_dsenv (e: Env.env) (i: string): tac (env & RD.binding) - = let ident = Ident.mk_ident (i, FStarC.Compiler.Range.dummyRange) in + = let ident = Ident.mk_ident (i, FStarC.Range.dummyRange) in let dsenv, bv = FStarC.Syntax.DsEnv.push_bv e.dsenv ident in return ({ e with dsenv }, bv_to_binding bv) @@ -2142,7 +2145,7 @@ let comp_to_doc (c:comp) : tac Pprint.document let s = Print.comp_to_doc' g.dsenv c in return s -let range_to_string (r:FStarC.Compiler.Range.range) : tac string +let range_to_string (r:FStarC.Range.range) : tac string = return (show r) let term_eq_old (t1:term) (t2:term) : tac bool diff --git a/src/tactics/FStarC.Tactics.V2.Basic.fsti b/src/tactics/FStarC.Tactics.V2.Basic.fsti index 4bf11e3b8c0..fa02b229630 100644 --- a/src/tactics/FStarC.Tactics.V2.Basic.fsti +++ b/src/tactics/FStarC.Tactics.V2.Basic.fsti @@ -30,9 +30,9 @@ open FStarC.Reflection.V2.Data open FStarC.Tactics.Types open FStarC.Tactics.Monad -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module O = FStarC.Options -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module Z = FStarC.BigInt module TcComm = FStarC.TypeChecker.Common module Core = FStarC.TypeChecker.Core @@ -47,6 +47,7 @@ val proofstate_of_all_implicits: Range.range -> env -> implicits -> proofstate & (* Metaprogramming primitives (not all of them). * Documented in `ulib/FStarC.Tactics.Builtins.fst` *) +val fixup_range (r : Range.range) : tac (Range.range) val compress : term -> tac term val top_env : unit -> tac env val fresh : unit -> tac Z.t diff --git a/src/tactics/FStarC.Tactics.V2.Primops.fst b/src/tactics/FStarC.Tactics.V2.Primops.fst index 5ddc8c4db72..49d2f64e234 100644 --- a/src/tactics/FStarC.Tactics.V2.Primops.fst +++ b/src/tactics/FStarC.Tactics.V2.Primops.fst @@ -20,11 +20,11 @@ module FStarC.Tactics.V2.Primops into this module for all of that. *) open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Range -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Range +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Syntax.Embeddings open FStarC.TypeChecker.Common @@ -41,7 +41,7 @@ open FStarC.Tactics.InterpFuns open FStarC.Class.Show open FStarC.Class.Monad -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Cfg = FStarC.TypeChecker.Cfg module E = FStarC.Tactics.Embedding module Env = FStarC.TypeChecker.Env @@ -100,6 +100,8 @@ let ops = [ unseal_step; + mk_tac_step_1 0 "fixup_range" fixup_range fixup_range; + mk_tac_step_1 0 "compress" compress compress; mk_tac_step_1 0 "set_goals" set_goals set_goals; mk_tac_step_1 0 "set_smt_goals" set_smt_goals set_smt_goals; diff --git a/src/tactics/Makefile b/src/tactics/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/tactics/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/tests/FStarC.Tests.Data.fst b/src/tests/FStarC.Tests.Data.fst index 07f22ca9947..aa405dcbf64 100644 --- a/src/tests/FStarC.Tests.Data.fst +++ b/src/tests/FStarC.Tests.Data.fst @@ -18,12 +18,12 @@ module FStarC.Tests.Data open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -module BU = FStarC.Compiler.Util +open FStarC +open FStarC.Effect +module BU = FStarC.Util -module FlatSet = FStarC.Compiler.FlatSet -module RBSet = FStarC.Compiler.RBSet +module FlatSet = FStarC.FlatSet +module RBSet = FStarC.RBSet open FStarC.Class.Setlike open FStarC.Class.Show diff --git a/src/tests/FStarC.Tests.Norm.fst b/src/tests/FStarC.Tests.Norm.fst index 5af23a2e591..ed2c8c98c66 100644 --- a/src/tests/FStarC.Tests.Norm.fst +++ b/src/tests/FStarC.Tests.Norm.fst @@ -17,8 +17,8 @@ module FStarC.Tests.Norm //Normalization tests open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Pervasives open FStarC.Syntax.Syntax open FStarC.Tests.Pars @@ -28,11 +28,11 @@ module SS = FStarC.Syntax.Subst module I = FStarC.Ident module P = FStarC.Syntax.Print module Const = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module N = FStarC.TypeChecker.Normalize module Env = FStarC.TypeChecker.Env open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Tests.Util open FStarC.Class.Show @@ -258,7 +258,7 @@ let run_either i r expected normalizer = // force_term r; BU.print1 "%s: ... \n\n" (BU.string_of_int i); let tcenv = Pars.init() in - FStarC.Main.process_args() |> ignore; //set the command line args for debugging + Options.parse_cmd_line() |> ignore; //set the command line args for debugging let x = normalizer tcenv r in Options.init(); //reset them Options.set_option "print_universes" (Options.Bool true); @@ -282,15 +282,15 @@ let run_interpreter i r expected = run_either i r expected (N.normalize [Env.Bet let run_nbe i r expected = run_either i r expected (FStarC.TypeChecker.NBE.normalize_for_unit_test [FStarC.TypeChecker.Env.UnfoldUntil delta_constant]) let run_interpreter_with_time i r expected = let interp () = run_interpreter i r expected in - (i, snd (FStarC.Compiler.Util.return_execution_time interp)) + (i, snd (FStarC.Util.return_execution_time interp)) let run_whnf_with_time i r expected = let whnf () = run_whnf i r expected in - (i, snd (FStarC.Compiler.Util.return_execution_time whnf)) + (i, snd (FStarC.Util.return_execution_time whnf)) let run_nbe_with_time i r expected = let nbe () = run_nbe i r expected in - (i, snd (FStarC.Compiler.Util.return_execution_time nbe)) + (i, snd (FStarC.Util.return_execution_time nbe)) let run_tests tests run = Options.__set_unit_tests(); @@ -354,9 +354,9 @@ let run_all_interpreter_with_time () = let run_both_with_time i r expected = let nbe () = run_nbe i r expected in let norm () = run_interpreter i r expected in - FStarC.Compiler.Util.measure_execution_time "nbe" nbe; + FStarC.Util.measure_execution_time "nbe" nbe; BU.print_string "\n"; - FStarC.Compiler.Util.measure_execution_time "normalizer" norm; + FStarC.Util.measure_execution_time "normalizer" norm; BU.print_string "\n" let compare () = diff --git a/src/tests/FStarC.Tests.Pars.fst b/src/tests/FStarC.Tests.Pars.fst index 835c2b2ae60..415f774776d 100644 --- a/src/tests/FStarC.Tests.Pars.fst +++ b/src/tests/FStarC.Tests.Pars.fst @@ -15,12 +15,12 @@ *) module FStarC.Tests.Pars open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.Range +open FStarC.Effect +open FStarC.Range open FStarC.Parser -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Errors @@ -32,7 +32,7 @@ module SMT = FStarC.SMTEncoding.Solver module Tc = FStarC.TypeChecker.Tc module TcTerm = FStarC.TypeChecker.TcTerm module ToSyntax = FStarC.ToSyntax.ToSyntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module D = FStarC.Parser.Driver module Rel = FStarC.TypeChecker.Rel module NBE = FStarC.TypeChecker.NBE @@ -47,7 +47,7 @@ let parse_mod mod_name dsenv = match parse None (Filename mod_name) with | ASTFragment (Inl m, _) -> let m, env'= ToSyntax.ast_modul_to_modul m dsenv in - let env' , _ = DsEnv.prepare_module_or_interface false false env' (FStarC.Ident.lid_of_path ["Test"] (FStarC.Compiler.Range.dummyRange)) DsEnv.default_mii in + let env' , _ = DsEnv.prepare_module_or_interface false false env' (FStarC.Ident.lid_of_path ["Test"] (FStarC.Range.dummyRange)) DsEnv.default_mii in env', m | ParseError (err, msg, r) -> raise (Error(err, msg, r, [])) @@ -85,15 +85,15 @@ let init_once () : unit = let _prims_mod, env = Tc.check_module env prims_mod false in // needed to run tests with chars // let dsenv, env = add_mods ["FStar.Pervasives.Native.fst"; "FStar.Pervasives.fst"; "FStar.Mul.fst"; "FStar.Squash.fsti"; - // "FStar.Classical.fst"; "FStarC.Compiler.List.Tot.Base.fst"; "FStarC.Compiler.List.Tot.Properties.fst"; "FStarC.Compiler.List.Tot.fst"; + // "FStar.Classical.fst"; "FStarC.List.Tot.Base.fst"; "FStarC.List.Tot.Properties.fst"; "FStarC.List.Tot.fst"; // "FStar.StrongExcludedMiddle.fst"; "FStar.Seq.Base.fst"; "FStar.Seq.Properties.fst"; "FStar.Seq.fst"; // "FStar.BitVector.fst"; "FStar.Math.Lib.fst"; "FStar.Math.Lemmas.fst"; "FStar.UInt.fst"; "FStar.UInt32.fst"; // "FStar.Char.fsti"; "FStar.String.fsti"] dsenv env in // only needed to test tatic normalization - // let dsenv, env = add_mods ["FStarC.Compiler.Range.fsti"; "FStar.Pervasives.Native.fst"; "FStar.Pervasives.fst"; "FStarC.Reflection.Types.fsti"; "FStar.Order.fst"; + // let dsenv, env = add_mods ["FStarC.Range.fsti"; "FStar.Pervasives.Native.fst"; "FStar.Pervasives.fst"; "FStarC.Reflection.Types.fsti"; "FStar.Order.fst"; // "FStarC.Reflection.Data.fst"; "FStarC.Reflection.Basic.fst"; "FStar.Squash.fsti"; "FStar.Classical.fst"; - // "FStarC.Compiler.List.Tot.Base.fst"; "FStarC.Compiler.List.Tot.Properties.fst"; "FStarC.Compiler.List.Tot.fst"; "FStar.Char.fsti"; + // "FStarC.List.Tot.Base.fst"; "FStarC.List.Tot.Properties.fst"; "FStarC.List.Tot.fst"; "FStar.Char.fsti"; // "FStar.String.fsti"; "FStarC.Reflection.Syntax.fst"; "FStarC.Reflection.Syntax.Lemmas.fst"; // "FStarC.Reflection.Formula.fst"; "FStarC.Tactics.Types.fsti"; "FStarC.Tactics.Result.fst"; // "FStarC.Tactics.Effect.fst"; "FStarC.Tactics.Builtins.fst"; "FStarC.Tactics.Derived.fst"; @@ -106,7 +106,7 @@ let init_once () : unit = tcenv_ref := Some env let _ = - FStarC.Main.setup_hooks(); + FStarC.Hooks.setup_hooks(); init_once() let init () = @@ -129,9 +129,9 @@ let pars s = failwith "Impossible: parsing a Fragment always results in a Term" with | Error(err, msg, r, _ctx) when not <| FStarC.Options.trace_error() -> - if r = FStarC.Compiler.Range.dummyRange + if r = FStarC.Range.dummyRange then BU.print_string (Errors.rendermsg msg) - else BU.print2 "%s: %s\n" (FStarC.Compiler.Range.string_of_range r) (Errors.rendermsg msg); + else BU.print2 "%s: %s\n" (FStarC.Range.string_of_range r) (Errors.rendermsg msg); exit 1 | e when not ((Options.trace_error())) -> raise e @@ -178,7 +178,7 @@ let pars_and_tc_fragment (s:string) = | e when not ((Options.trace_error())) -> raise e let test_hashes () = - FStarC.Main.process_args () |> ignore; //set options + Options.parse_cmd_line () |> ignore; //set options let _ = pars_and_tc_fragment "type unary_nat = | U0 | US of unary_nat" in let test_one_hash (n:int) = let rec aux n = @@ -236,7 +236,7 @@ let parse_incremental_decls () = frag_text = source1; frag_line = 1; frag_col = 0 } in - let open FStarC.Compiler.Range in + let open FStarC.Range in match parse None input0, parse None input1 with | IncrementalFragment (decls0, _, parse_err0), IncrementalFragment (decls1, _, parse_err1) -> ( @@ -305,7 +305,7 @@ let parse_incremental_decls_use_lang () = frag_text = source0; frag_line = 1; frag_col = 0 } in - let open FStarC.Compiler.Range in + let open FStarC.Range in match parse None input0 with | IncrementalFragment (decls0, _, parse_err0) -> ( let _ = diff --git a/src/tests/FStarC.Tests.Test.fst b/src/tests/FStarC.Tests.Test.fst index c2cd6c175b8..bb58c95e6a1 100644 --- a/src/tests/FStarC.Tests.Test.fst +++ b/src/tests/FStarC.Tests.Test.fst @@ -15,13 +15,13 @@ *) module FStarC.Tests.Test open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax open FStarC.Errors module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module O = FStarC.Options module G = FStarC.Getopt @@ -34,11 +34,11 @@ let main argv = BU.print_string "F* unit tests. This binary can take the same options \ as F*, but not all of them are meaningful."; exit 0 - | G.Error msg -> + | G.Error (msg, _) -> BU.print_error msg; exit 1 | G.Empty | G.Success -> - FStarC.Main.setup_hooks(); + FStarC.Hooks.setup_hooks(); Pars.init() |> ignore; Pars.parse_incremental_decls(); Pars.parse_incremental_decls_use_lang (); @@ -53,9 +53,9 @@ let main argv = exit 0 with | Error(err, msg, r, _ctx) when not <| O.trace_error() -> - if r = FStarC.Compiler.Range.dummyRange + if r = FStarC.Range.dummyRange then BU.print_string (Errors.rendermsg msg) - else BU.print2 "%s: %s\n" (FStarC.Compiler.Range.string_of_range r) (Errors.rendermsg msg); + else BU.print2 "%s: %s\n" (FStarC.Range.string_of_range r) (Errors.rendermsg msg); exit 1 | e -> BU.print2_error "Error\n%s\n%s\n" (BU.message_of_exn e) (BU.trace_of_exn e); diff --git a/src/tests/FStarC.Tests.Unif.fst b/src/tests/FStarC.Tests.Unif.fst index b1e4fcbb03a..4781a0271fe 100644 --- a/src/tests/FStarC.Tests.Unif.fst +++ b/src/tests/FStarC.Tests.Unif.fst @@ -19,10 +19,10 @@ module FStarC.Tests.Unif open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Errors -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.Tests.Pars module S = FStarC.Syntax.Syntax @@ -33,11 +33,11 @@ module P = FStarC.Syntax.Print module N = FStarC.TypeChecker.Normalize module Rel = FStarC.TypeChecker.Rel module Env = FStarC.TypeChecker.Env -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.TypeChecker.Common open FStarC.TypeChecker.Env open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Tests.Util open FStarC.Class.Show @@ -71,7 +71,7 @@ let guard_eq i g g' = let unify i bvs x y g' check = BU.print1 "%s ..." (BU.string_of_int i); - FStarC.Main.process_args () |> ignore; //set options + Options.parse_cmd_line () |> ignore; //set options BU.print2 "Unify %s\nand %s\n" (show x) (show y); let tcenv = tcenv() in let tcenv = Env.push_bvs tcenv bvs in @@ -97,7 +97,7 @@ let unify' x y = let norm t = N.normalize [] (tcenv()) t let check_core i subtyping guard_ok x y = - FStarC.Main.process_args () |> ignore; //set options + Options.parse_cmd_line () |> ignore; //set options let env = tcenv () in let res = if subtyping @@ -119,7 +119,7 @@ let check_core i subtyping guard_ok x y = Options.init() let check_core_typing i e t = - FStarC.Main.process_args () |> ignore; //set options + Options.parse_cmd_line () |> ignore; //set options let env = tcenv () in let _ = match FStarC.TypeChecker.Core.check_term env e t true with @@ -199,7 +199,7 @@ let run_all () = (NonTrivial (tc "(forall (x:int). (forall (y:int). (forall (z:int). y==z)))")); //imitation: unifies u to a constant - FStarC.Main.process_args () |> ignore; //set options + Options.parse_cmd_line () |> ignore; //set options let tm, us = inst 1 (tc "fun (u:Type0 -> Type0) (x:Type0) -> u x") in let sol = tc "fun (x:Type0) -> Prims.pair x x" in unify_check 9 [] tm diff --git a/src/tests/FStarC.Tests.Util.fst b/src/tests/FStarC.Tests.Util.fst index 746caeb675d..9e4712036f9 100644 --- a/src/tests/FStarC.Tests.Util.fst +++ b/src/tests/FStarC.Tests.Util.fst @@ -17,11 +17,11 @@ module FStarC.Tests.Util open FStar open FStarC -open FStarC.Compiler +open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Errors -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax module S = FStarC.Syntax.Syntax @@ -30,10 +30,10 @@ module SS = FStarC.Syntax.Subst module I = FStarC.Ident module UF = FStarC.Syntax.Unionfind module Const = FStarC.Parser.Const -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Class.Tagged open FStarC.Class.Show open FStarC.Syntax.Print {} diff --git a/src/tests/Makefile b/src/tests/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/tests/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/tosyntax/FStarC.ToSyntax.Interleave.fst b/src/tosyntax/FStarC.ToSyntax.Interleave.fst index f9f6e76c971..7a2912c1ae6 100644 --- a/src/tosyntax/FStarC.ToSyntax.Interleave.fst +++ b/src/tosyntax/FStarC.ToSyntax.Interleave.fst @@ -14,13 +14,13 @@ limitations under the License. *) module FStarC.ToSyntax.Interleave -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List //Reorders the top-level definitions/declarations in a file //in a proper order for consistent type-checking open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident open FStarC.Errors open FStarC.Syntax.Syntax @@ -29,7 +29,7 @@ open FStarC.Class.Show open FStarC.Pprint open FStarC.Class.PP -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (* Some basic utilities *) let id_eq_lid i (l:lident) = (string_of_id i) = (string_of_id (ident_of_lid l)) @@ -421,7 +421,7 @@ let interleave_module (a:modul) (expect_complete_modul:bool) : E.withenv modul = impls in let iface_lets, remaining_iface_vals = - match FStarC.Compiler.Util.prefix_until (function {d=Val _} -> true + match FStarC.Util.prefix_until (function {d=Val _} -> true | {d=Splice _} -> true | _ -> false) iface with | None -> iface, [] diff --git a/src/tosyntax/FStarC.ToSyntax.Interleave.fsti b/src/tosyntax/FStarC.ToSyntax.Interleave.fsti index 0c84301c9a5..ae97d33cdec 100644 --- a/src/tosyntax/FStarC.ToSyntax.Interleave.fsti +++ b/src/tosyntax/FStarC.ToSyntax.Interleave.fsti @@ -14,8 +14,8 @@ limitations under the License. *) module FStarC.ToSyntax.Interleave -open FStarC.Compiler.Effect -open FStarC.Compiler.Effect +open FStarC.Effect +open FStarC.Effect open FStarC.Ident open FStarC.Parser.AST module DsEnv = FStarC.Syntax.DsEnv diff --git a/src/tosyntax/FStarC.ToSyntax.ToSyntax.fst b/src/tosyntax/FStarC.ToSyntax.ToSyntax.fst index 080808ea591..37316d0af7f 100644 --- a/src/tosyntax/FStarC.ToSyntax.ToSyntax.fst +++ b/src/tosyntax/FStarC.ToSyntax.ToSyntax.fst @@ -15,11 +15,11 @@ *) module FStarC.ToSyntax.ToSyntax open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Util @@ -36,7 +36,7 @@ open FStarC.Class.Show module C = FStarC.Parser.Const module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Env = FStarC.Syntax.DsEnv module P = FStarC.Syntax.Print module EMB = FStarC.Syntax.Embeddings @@ -44,16 +44,16 @@ module SS = FStarC.Syntax.Subst let extension_tosyntax_table : BU.smap extension_tosyntax_decl_t -= FStarC.Compiler.Util.smap_create 20 += FStarC.Util.smap_create 20 let register_extension_tosyntax (lang_name:string) (cb:extension_tosyntax_decl_t) -= FStarC.Compiler.Util.smap_add extension_tosyntax_table lang_name cb += FStarC.Util.smap_add extension_tosyntax_table lang_name cb let lookup_extension_tosyntax (lang_name:string) -= FStarC.Compiler.Util.smap_try_find extension_tosyntax_table lang_name += FStarC.Util.smap_try_find extension_tosyntax_table lang_name let dbg_attrs = Debug.get_toggle "attrs" let dbg_ToSyntax = Debug.get_toggle "ToSyntax" @@ -3592,7 +3592,7 @@ and desugar_redefine_effect env d d_attrs trans_qual quals eff_name eff_binders let nparam = List.length action.action_params in { // Since we called enter_monad_env before, this is going to generate - // a name of the form FStarC.Compiler.Effect.uu___proj__STATE__item__get + // a name of the form FStarC.Effect.uu___proj__STATE__item__get action_name = Env.qualify env (action.action_unqualified_name); action_unqualified_name = action.action_unqualified_name; action_univs = action.action_univs ; diff --git a/src/tosyntax/FStarC.ToSyntax.ToSyntax.fsti b/src/tosyntax/FStarC.ToSyntax.ToSyntax.fsti index 7bb8b17cad1..2250f104a3a 100644 --- a/src/tosyntax/FStarC.ToSyntax.ToSyntax.fsti +++ b/src/tosyntax/FStarC.ToSyntax.ToSyntax.fsti @@ -14,11 +14,11 @@ limitations under the License. *) module FStarC.ToSyntax.ToSyntax -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Util diff --git a/src/tosyntax/Makefile b/src/tosyntax/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/tosyntax/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/src/typechecker/FStarC.TypeChecker.Cfg.fst b/src/typechecker/FStarC.TypeChecker.Cfg.fst index 7b3d35965e2..f2b7593dfa3 100644 --- a/src/typechecker/FStarC.TypeChecker.Cfg.fst +++ b/src/typechecker/FStarC.TypeChecker.Cfg.fst @@ -2,10 +2,10 @@ module FStarC.TypeChecker.Cfg open FStar open FStarC open FStar.Char -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.String +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.String open FStarC.Const open FStarC.Syntax open FStarC.Syntax.Syntax @@ -16,7 +16,7 @@ open FStarC.Class.Show module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module FC = FStarC.Const module PC = FStarC.Parser.Const module U = FStarC.Syntax.Util @@ -46,6 +46,7 @@ let steps_to_string f = do_not_unfold_pure_lets = %s;\n\ unfold_until = %s;\n\ unfold_only = %s;\n\ + unfold_once = %s;\n\ unfold_fully = %s;\n\ unfold_attr = %s;\n\ unfold_qual = %s;\n\ @@ -78,6 +79,7 @@ let steps_to_string f = f.do_not_unfold_pure_lets |> show; f.unfold_until |> show; f.unfold_only |> show; + f.unfold_once |> show; f.unfold_fully |> show; f.unfold_attr |> show; f.unfold_qual |> show; @@ -149,6 +151,7 @@ let default_steps : fsteps = { do_not_unfold_pure_lets = false; unfold_until = None; unfold_only = None; + unfold_once = None; unfold_fully = None; unfold_attr = None; unfold_qual = None; @@ -191,6 +194,7 @@ let fstep_add_one s fs = | DoNotUnfoldPureLets -> { fs with do_not_unfold_pure_lets = true } | UnfoldUntil d -> { fs with unfold_until = Some d } | UnfoldOnly lids -> { fs with unfold_only = Some lids } + | UnfoldOnce lids -> { fs with unfold_once = Some lids } | UnfoldFully lids -> { fs with unfold_fully = Some lids } | UnfoldAttr lids -> { fs with unfold_attr = Some lids } | UnfoldQual strs -> @@ -459,6 +463,8 @@ let translate_norm_step = function | Pervasives.NormDebug -> [NormDebug] | Pervasives.UnfoldOnly names -> [UnfoldUntil delta_constant; UnfoldOnly (List.map I.lid_of_str names)] + | Pervasives.UnfoldOnce names -> + [UnfoldUntil delta_constant; UnfoldOnce (List.map I.lid_of_str names)] | Pervasives.UnfoldFully names -> [UnfoldUntil delta_constant; UnfoldFully (List.map I.lid_of_str names)] | Pervasives.UnfoldAttr names -> diff --git a/src/typechecker/FStarC.TypeChecker.Cfg.fsti b/src/typechecker/FStarC.TypeChecker.Cfg.fsti index 2a8915dcf65..e8e771d5b90 100644 --- a/src/typechecker/FStarC.TypeChecker.Cfg.fsti +++ b/src/typechecker/FStarC.TypeChecker.Cfg.fsti @@ -15,10 +15,10 @@ *) module FStarC.TypeChecker.Cfg -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStar.String open FStarC.Const open FStar.Char @@ -36,7 +36,7 @@ open FStarC.Class.Deq module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module FC = FStarC.Const module PC = FStarC.Parser.Const module U = FStarC.Syntax.Util @@ -56,6 +56,7 @@ type fsteps = { do_not_unfold_pure_lets : bool; unfold_until : option S.delta_depth; unfold_only : option (list I.lid); + unfold_once : option (list I.lid); unfold_fully : option (list I.lid); unfold_attr : option (list I.lid); unfold_qual : option (list string); diff --git a/src/typechecker/FStarC.TypeChecker.Common.fst b/src/typechecker/FStarC.TypeChecker.Common.fst index 666af95e4a7..99ae5efe2c3 100644 --- a/src/typechecker/FStarC.TypeChecker.Common.fst +++ b/src/typechecker/FStarC.TypeChecker.Common.fst @@ -16,12 +16,12 @@ module FStarC.TypeChecker.Common open Prims open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Ident @@ -29,7 +29,7 @@ module S = FStarC.Syntax.Syntax module Print = FStarC.Syntax.Print module U = FStarC.Syntax.Util -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module PC = FStarC.Parser.Const module C = FStarC.Parser.Const @@ -113,7 +113,7 @@ let id_info_table_empty = id_info_db = BU.psmap_empty (); id_info_buffer = [] } -open FStarC.Compiler.Range +open FStarC.Range let print_identifier_info info = BU.format3 "id info { %s, %s : %s}" @@ -285,7 +285,7 @@ let mk_lcomp eff_name res_typ cflags comp_thunk = { eff_name = eff_name; res_typ = res_typ; cflags = cflags; - comp_thunk = FStarC.Compiler.Util.mk_ref (Inl comp_thunk) } + comp_thunk = FStarC.Util.mk_ref (Inl comp_thunk) } let lcomp_comp lc = match !(lc.comp_thunk) with diff --git a/src/typechecker/FStarC.TypeChecker.Common.fsti b/src/typechecker/FStarC.TypeChecker.Common.fsti index a7fd49405e4..e8f0ad5ace4 100644 --- a/src/typechecker/FStarC.TypeChecker.Common.fsti +++ b/src/typechecker/FStarC.TypeChecker.Common.fsti @@ -16,26 +16,26 @@ module FStarC.TypeChecker.Common open Prims open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Ident open FStarC.Class.Show open FStarC.Class.Monoid -open FStarC.Compiler.CList -module CList = FStarC.Compiler.CList +open FStarC.CList +module CList = FStarC.CList (* Bring instances in scope *) open FStarC.Syntax.Print {} module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util (* relations on types, kinds, etc. *) type rel = diff --git a/src/typechecker/FStarC.TypeChecker.Core.fst b/src/typechecker/FStarC.TypeChecker.Core.fst index f1f355e0808..47b589b134d 100644 --- a/src/typechecker/FStarC.TypeChecker.Core.fst +++ b/src/typechecker/FStarC.TypeChecker.Core.fst @@ -1,20 +1,20 @@ module FStarC.TypeChecker.Core open FStarC open FStar.List.Tot -open FStarC.Compiler -open FStarC.Compiler.Util -open FStarC.Compiler.Effect +open FStarC +open FStarC.Util +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker module Env = FStarC.TypeChecker.Env module S = FStarC.Syntax.Syntax -module R = FStarC.Compiler.Range +module R = FStarC.Range module U = FStarC.Syntax.Util module N = FStarC.TypeChecker.Normalize module PC = FStarC.Parser.Const module I = FStarC.Ident module P = FStarC.Syntax.Print -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module TcUtil = FStarC.TypeChecker.Util module Hash = FStarC.Syntax.Hash module Subst = FStarC.Syntax.Subst @@ -431,12 +431,10 @@ let check_bqual (b0 b1:bqual) return () | Some Equality, Some Equality -> return () - | Some (Meta t1), Some (Meta t2) -> - if equal_term t1 t2 - then return () - else fail "Binder qualifier mismatch" + | Some (Meta t1), Some (Meta t2) when equal_term t1 t2 -> + return () | _ -> - fail "Binder qualifier mismatch" + fail (BU.format2 "Binder qualifier mismatch, %s vs %s" (show b0) (show b1)) let check_aqual (a0 a1:aqual) : result unit @@ -462,7 +460,7 @@ let check_positivity_qual (rel:relation) (p0 p1:option positivity_qualifier) let mk_forall_l (us:universes) (xs:binders) (t:term) : term - = FStarC.Compiler.List.fold_right2 + = FStarC.List.fold_right2 (fun u x t -> U.mk_forall u x.binder_bv t) us xs diff --git a/src/typechecker/FStarC.TypeChecker.Core.fsti b/src/typechecker/FStarC.TypeChecker.Core.fsti index 70864d3129a..4a7abcc8a5c 100644 --- a/src/typechecker/FStarC.TypeChecker.Core.fsti +++ b/src/typechecker/FStarC.TypeChecker.Core.fsti @@ -1,11 +1,11 @@ module FStarC.TypeChecker.Core open FStarC -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Syntax.Syntax open FStarC.TypeChecker.Common module Env = FStarC.TypeChecker.Env module S = FStarC.Syntax.Syntax -module R = FStarC.Compiler.Range +module R = FStarC.Range module U = FStarC.Syntax.Util type tot_or_ghost = diff --git a/src/typechecker/FStarC.TypeChecker.DMFF.fst b/src/typechecker/FStarC.TypeChecker.DMFF.fst index 97c4940b73a..2d7ad0b4927 100644 --- a/src/typechecker/FStarC.TypeChecker.DMFF.fst +++ b/src/typechecker/FStarC.TypeChecker.DMFF.fst @@ -15,14 +15,14 @@ *) module FStarC.TypeChecker.DMFF open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker open FStarC.TypeChecker.Common open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Errors open FStarC.Syntax @@ -49,7 +49,7 @@ module N = FStarC.TypeChecker.Normalize module TcComm = FStarC.TypeChecker.Common module TcUtil = FStarC.TypeChecker.Util module TcTerm = FStarC.TypeChecker.TcTerm -module BU = FStarC.Compiler.Util //basic util +module BU = FStarC.Util //basic util module U = FStarC.Syntax.Util module PC = FStarC.Parser.Const module TEQ = FStarC.TypeChecker.TermEqAndSimplify diff --git a/src/typechecker/FStarC.TypeChecker.DMFF.fsti b/src/typechecker/FStarC.TypeChecker.DMFF.fsti index faafe9f6e91..a7d498095cc 100644 --- a/src/typechecker/FStarC.TypeChecker.DMFF.fsti +++ b/src/typechecker/FStarC.TypeChecker.DMFF.fsti @@ -16,7 +16,7 @@ limitations under the License. *) module FStarC.TypeChecker.DMFF -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.TypeChecker open FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fst b/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fst index f0d3fbe073e..181e99115e6 100644 --- a/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fst +++ b/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fst @@ -17,11 +17,11 @@ *) module FStarC.TypeChecker.DeferredImplicits -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Errors open FStarC.TypeChecker open FStarC.Syntax @@ -31,7 +31,7 @@ open FStarC.Syntax.Subst open FStarC.Ident open FStarC.TypeChecker.Common open FStarC.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module U = FStarC.Syntax.Util module SS = FStarC.Syntax.Subst diff --git a/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fsti b/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fsti index 291c1032669..bd695a6b08d 100644 --- a/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fsti +++ b/src/typechecker/FStarC.TypeChecker.DeferredImplicits.fsti @@ -21,7 +21,7 @@ ////////////////////////////////////////////////////////////////////////// module FStarC.TypeChecker.DeferredImplicits -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common diff --git a/src/typechecker/FStarC.TypeChecker.Env.fst b/src/typechecker/FStarC.TypeChecker.Env.fst index e6c9206ac78..7a6a62084e9 100644 --- a/src/typechecker/FStarC.TypeChecker.Env.fst +++ b/src/typechecker/FStarC.TypeChecker.Env.fst @@ -15,17 +15,17 @@ *) module FStarC.TypeChecker.Env open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Syntax.Subst open FStarC.Syntax.Util -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Errors open FStarC.TypeChecker.Common open FStarC.Class.Setlike @@ -36,7 +36,7 @@ module Listlike = FStarC.Class.Listlike module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module UF = FStarC.Syntax.Unionfind module Const = FStarC.Parser.Const @@ -1825,7 +1825,7 @@ let should_enc_path proof_ns path = | x::xs, y::ys -> String.lowercase x = String.lowercase y && str_i_prefix xs ys | _, _ -> false in - match FStarC.Compiler.List.tryFind (fun (p, _) -> str_i_prefix p path) proof_ns with + match FStarC.List.tryFind (fun (p, _) -> str_i_prefix p path) proof_ns with | None -> false | Some (_, b) -> b diff --git a/src/typechecker/FStarC.TypeChecker.Env.fsti b/src/typechecker/FStarC.TypeChecker.Env.fsti index fdc48da5081..4b949d1c8b1 100644 --- a/src/typechecker/FStarC.TypeChecker.Env.fsti +++ b/src/typechecker/FStarC.TypeChecker.Env.fsti @@ -15,9 +15,9 @@ *) module FStarC.TypeChecker.Env open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax.Syntax open FStarC.Ident open FStarC.TypeChecker.Common @@ -26,7 +26,7 @@ open FStarC.Class.Deq open FStarC.Class.Show open FStarC.Class.Setlike -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module TcComm = FStarC.TypeChecker.Common @@ -44,6 +44,7 @@ type step = | DoNotUnfoldPureLets | UnfoldUntil of delta_depth | UnfoldOnly of list FStarC.Ident.lid + | UnfoldOnce of list FStarC.Ident.lid | UnfoldFully of list FStarC.Ident.lid | UnfoldAttr of list FStarC.Ident.lid | UnfoldQual of list string @@ -169,7 +170,7 @@ and env = { curmodule :lident; (* Name of this module *) gamma :list binding; (* Local typing environment *) gamma_sig :list sig_binding; (* and signature elements *) - gamma_cache :FStarC.Compiler.Util.smap cached_elt; (* Memo table for the global gamma_sig environment *) + gamma_cache :FStarC.Util.smap cached_elt; (* Memo table for the global gamma_sig environment *) modules :list modul; (* already fully type checked modules *) expected_typ :option (typ & bool); (* type expected by the context *) (* a true bool will check for type equality (else subtyping) *) diff --git a/src/typechecker/FStarC.TypeChecker.Err.fst b/src/typechecker/FStarC.TypeChecker.Err.fst index 0b695a36a0a..679554b740d 100644 --- a/src/typechecker/FStarC.TypeChecker.Err.fst +++ b/src/typechecker/FStarC.TypeChecker.Err.fst @@ -14,27 +14,18 @@ limitations under the License. *) module FStarC.TypeChecker.Err -open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect -open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.List -open FStarC.Syntax +open FStarC open FStarC.Syntax.Syntax -open FStarC.Compiler.Util -open FStarC.TypeChecker.Normalize +open FStarC.Util open FStarC.TypeChecker.Env -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Ident open FStarC.Pprint module N = FStarC.TypeChecker.Normalize -module BU = FStarC.Compiler.Util //basic util -module Env = FStarC.TypeChecker.Env -open FStarC.TypeChecker.Common open FStarC.Errors.Msg -open FStarC.Class.PP open FStarC.Class.Show let info_at_pos env file row col : option (either string lident & typ & Range.range) = diff --git a/src/typechecker/FStarC.TypeChecker.Generalize.fst b/src/typechecker/FStarC.TypeChecker.Generalize.fst index 6f622bcac5a..2614151ce36 100644 --- a/src/typechecker/FStarC.TypeChecker.Generalize.fst +++ b/src/typechecker/FStarC.TypeChecker.Generalize.fst @@ -16,10 +16,10 @@ module FStarC.TypeChecker.Generalize open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List -open FStarC.Compiler.Util +open FStarC +open FStarC.Effect +open FStarC.List +open FStarC.Util open FStarC.Errors open FStarC.Syntax open FStarC.Syntax.Syntax @@ -28,7 +28,7 @@ open FStarC.TypeChecker.Env open FStarC.Class.Show open FStarC.Class.Setlike -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst module Free = FStarC.Syntax.Free diff --git a/src/typechecker/FStarC.TypeChecker.Generalize.fsti b/src/typechecker/FStarC.TypeChecker.Generalize.fsti index 23da7cac5b9..e141cac75ba 100644 --- a/src/typechecker/FStarC.TypeChecker.Generalize.fsti +++ b/src/typechecker/FStarC.TypeChecker.Generalize.fsti @@ -16,7 +16,7 @@ module FStarC.TypeChecker.Generalize -open FStar open FStarC.Compiler +open FStar open FStarC open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env diff --git a/src/typechecker/FStarC.TypeChecker.NBE.fst b/src/typechecker/FStarC.TypeChecker.NBE.fst index be91269b552..75aae82b855 100644 --- a/src/typechecker/FStarC.TypeChecker.NBE.fst +++ b/src/typechecker/FStarC.TypeChecker.NBE.fst @@ -17,10 +17,10 @@ *) module FStarC.TypeChecker.NBE open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker.Cfg open FStarC.TypeChecker open FStarC.TypeChecker.Env @@ -32,10 +32,10 @@ open FStarC.TypeChecker.NBETerm module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module Range = FStarC.Compiler.Range +module Range = FStarC.Range module U = FStarC.Syntax.Util module P = FStarC.Syntax.Print -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module Env = FStarC.TypeChecker.Env module Z = FStarC.BigInt module C = FStarC.Const @@ -82,7 +82,7 @@ let dbg_NBETop = Debug.get_toggle "NBETop" //////////////////////////////////////////////////////////////////////////////// -// Utilities: Many of these should just move to FStarC.Compiler.List, if it's +// Utilities: Many of these should just move to FStarC.List, if it's // not already there //////////////////////////////////////////////////////////////////////////////// @@ -1244,7 +1244,7 @@ and readback (cfg:config) (x:t) : term = | Constant (String (s, r)) -> mk (S.Tm_constant (C.Const_string (s, r))) | Constant (Char c) -> with_range (U.exp_char c) | Constant (Range r) -> PO.embed_simple #_ #EMB.e___range x.nbe_r r - | Constant (Real r) -> PO.embed_simple x.nbe_r (Compiler.Real.Real r) + | Constant (Real r) -> PO.embed_simple x.nbe_r (Real.Real r) | Constant (SConst c) -> mk (S.Tm_constant c) | Meta(t, m) -> diff --git a/src/typechecker/FStarC.TypeChecker.NBE.fsti b/src/typechecker/FStarC.TypeChecker.NBE.fsti index 9178f6df60b..2e8f940ae25 100644 --- a/src/typechecker/FStarC.TypeChecker.NBE.fsti +++ b/src/typechecker/FStarC.TypeChecker.NBE.fsti @@ -17,9 +17,9 @@ *) module FStarC.TypeChecker.NBE open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.NBETerm.fst b/src/typechecker/FStarC.TypeChecker.NBETerm.fst index f4a23cd5402..79137b5106a 100644 --- a/src/typechecker/FStarC.TypeChecker.NBETerm.fst +++ b/src/typechecker/FStarC.TypeChecker.NBETerm.fst @@ -16,8 +16,8 @@ module FStarC.TypeChecker.NBETerm open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Errors open FStar.Char @@ -28,7 +28,7 @@ friend FStar.Pervasives (* To expose norm_step *) module PC = FStarC.Parser.Const module S = FStarC.Syntax.Syntax module P = FStarC.Syntax.Print -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module C = FStarC.Const module SE = FStarC.Syntax.Embeddings module TEQ = FStarC.TypeChecker.TermEqAndSimplify @@ -374,14 +374,14 @@ let e_int : embedding Z.t = in mk_emb' em un (fun () -> lid_as_typ PC.int_lid [] []) (SE.emb_typ_of int) -let e_real : embedding Compiler.Real.real = - let em _cb (Compiler.Real.Real c) = Constant (Real c) in +let e_real : embedding Real.real = + let em _cb (Real.Real c) = Constant (Real c) in let un _cb c = match c with - | Constant (Real a) -> Some (Compiler.Real.Real a) + | Constant (Real a) -> Some (Real.Real a) | _ -> None in - mk_emb' em un (fun () -> lid_as_typ PC.real_lid [] []) (SE.emb_typ_of Compiler.Real.real) + mk_emb' em un (fun () -> lid_as_typ PC.real_lid [] []) (SE.emb_typ_of Real.real) let e_fsint = embed_as e_int Z.to_int_fs Z.of_int_fs None @@ -919,7 +919,7 @@ let e_order = let ord_Lt_fv = lid_as_fv ord_Lt_lid (Some Data_ctor) in let ord_Eq_fv = lid_as_fv ord_Eq_lid (Some Data_ctor) in let ord_Gt_fv = lid_as_fv ord_Gt_lid (Some Data_ctor) in - let open FStar.Order in + let open FStarC.Order in let embed_order cb (o:order) : t = match o with | Lt -> mkConstruct ord_Lt_fv [] [] diff --git a/src/typechecker/FStarC.TypeChecker.NBETerm.fsti b/src/typechecker/FStarC.TypeChecker.NBETerm.fsti index 3eb2efac532..79afeba8437 100644 --- a/src/typechecker/FStarC.TypeChecker.NBETerm.fsti +++ b/src/typechecker/FStarC.TypeChecker.NBETerm.fsti @@ -19,8 +19,8 @@ module FStarC.TypeChecker.NBETerm open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.Ident open FStarC.VConfig @@ -279,7 +279,7 @@ instance val e_bool : embedding bool instance val e_string : embedding string instance val e_char : embedding char instance val e_int : embedding Z.t -instance val e_real : embedding Compiler.Real.real +instance val e_real : embedding Real.real instance val e_unit : embedding unit val e_any : embedding t val mk_any_emb : t -> embedding t @@ -296,12 +296,12 @@ instance val e_tuple3 : embedding 'a -> embedding 'b -> embedding 'c -> Prims.To instance val e_tuple4 : embedding 'a -> embedding 'b -> embedding 'c -> embedding 'd -> Prims.Tot (embedding ('a & 'b & 'c & 'd)) instance val e_tuple5 : embedding 'a -> embedding 'b -> embedding 'c -> embedding 'd -> embedding 'e -> Prims.Tot (embedding ('a & 'b & 'c & 'd & 'e)) instance val e_either : embedding 'a -> embedding 'b -> Prims.Tot (embedding (either 'a 'b)) -instance val e_sealed : embedding 'a -> Prims.Tot (embedding (FStarC.Compiler.Sealed.sealed 'a)) +instance val e_sealed : embedding 'a -> Prims.Tot (embedding (FStarC.Sealed.sealed 'a)) instance val e_string_list : embedding (list string) val e_arrow : embedding 'a -> embedding 'b -> embedding ('a -> 'b) instance val e_abstract_nbe_term : embedding abstract_nbe_term -instance val e_order : embedding FStar.Order.order +instance val e_order : embedding FStarC.Order.order (* Unconditionally fails raising an exception when called *) val e_unsupported : #a:Type -> embedding a diff --git a/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fst b/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fst index 72f8433fffb..7bacf99803a 100644 --- a/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fst +++ b/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fst @@ -1,16 +1,16 @@ module FStarC.TypeChecker.Normalize.Unfolding open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.TypeChecker.Cfg open FStarC.TypeChecker.Env open FStarC.Syntax.Print module Common = FStarC.TypeChecker.Common -module BU = FStarC.Compiler.Util -module Path = FStarC.Compiler.Path +module BU = FStarC.Util +module Path = FStarC.Path module PC = FStarC.Parser.Const module Print = FStarC.Syntax.Print module S = FStarC.Syntax.Syntax @@ -34,15 +34,16 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = | None -> [] | Some quals -> quals in - (* unfold or not, fully or not, reified or not *) - let yes = true , false , false in - let no = false , false , false in - let fully = true , true , false in - let reif = true , false , true in + (* unfold or not, fully or not, reified or not, only once or not *) + let yes = true , false , false, false in + let no = false , false , false, false in + let fully = true , true , false, false in + let reif = true , false , true, false in + let once = true , false , false, true in let yesno b = if b then yes else no in let fullyno b = if b then fully else no in - let comb_or l = List.fold_right (fun (a,b,c) (x,y,z) -> (a||x, b||y, c||z)) l (false, false, false) in + let comb_or l = List.fold_right (fun (a,b,c,d) (x,y,z,w) -> (a||x, b||y, c||z, d||w)) l (false, false, false, false) in let default_unfolding () = log_unfolding cfg (fun () -> BU.print3 "should_unfold: Reached a %s with delta_depth = %s\n >> Our delta_level is %s\n" @@ -55,14 +56,16 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = | Eager_unfolding_only -> true | Unfold l -> Common.delta_depth_greater_than (Env.delta_depth_of_fv cfg.tcenv fv) l)) in - let res = - match qninfo, - cfg.steps.unfold_only, - cfg.steps.unfold_fully, - cfg.steps.unfold_attr, - cfg.steps.unfold_qual, - cfg.steps.unfold_namespace - with + let selective_unfold = + Some? cfg.steps.unfold_only || + Some? cfg.steps.unfold_once || + Some? cfg.steps.unfold_fully || + Some? cfg.steps.unfold_attr || + Some? cfg.steps.unfold_qual || + Some? cfg.steps.unfold_namespace + in + let res : bool & bool & bool & bool = + match qninfo, selective_unfold with // We unfold dm4f actions if and only if we are reifying | _ when Env.qninfo_is_action qninfo -> let b = should_reify cfg in @@ -77,23 +80,24 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = no // Don't unfold HasMaskedEffect - | Some (Inr ({sigquals=qs; sigel=Sig_let {lbs=(is_rec, _)}}, _), _), _, _, _, _, _ when + | Some (Inr ({sigquals=qs; sigel=Sig_let {lbs=(is_rec, _)}}, _), _), _ when List.contains HasMaskedEffect qs -> log_unfolding cfg (fun () -> BU.print_string " >> HasMaskedEffect, not unfolding\n"); no + // Unfoldonce. NB: this is before the zeta case, so we unfold even if zeta is off + | _, true when Some? cfg.steps.unfold_once && BU.for_some (fv_eq_lid fv) (Some?.v cfg.steps.unfold_once) -> + log_unfolding cfg (fun () -> BU.print_string " >> UnfoldOnce\n"); + once + // Recursive lets may only be unfolded when Zeta is on - | Some (Inr ({sigquals=qs; sigel=Sig_let {lbs=(is_rec, _)}}, _), _), _, _, _, _, _ when + | Some (Inr ({sigquals=qs; sigel=Sig_let {lbs=(is_rec, _)}}, _), _), _ when is_rec && not cfg.steps.zeta && not cfg.steps.zeta_full -> log_unfolding cfg (fun () -> BU.print_string " >> It's a recursive definition but we're not doing Zeta, not unfolding\n"); no // We're doing selectively unfolding, assume it to not unfold unless it meets the criteria - | _, Some _, _, _, _, _ - | _, _, Some _, _, _, _ - | _, _, _, Some _, _, _ - | _, _, _, _, Some _, _ - | _, _, _, _, _, Some _ -> + | _, true -> log_unfolding cfg (fun () -> BU.print1 "should_unfold: Reached a %s with selective unfolding\n" (show fv)); // How does the following code work? @@ -147,12 +151,11 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = // do not unfold. // NB: Using specific attributes like UnfoldOnly will override this. This gives more // control to the user if they *really* want to unfold one of these. - | _, _, _, _, _, _ when Some? cfg.steps.dont_unfold_attr + | _ when Some? cfg.steps.dont_unfold_attr && List.existsb (fun fa -> U.has_attribute attrs fa) (Some?.v cfg.steps.dont_unfold_attr) -> log_unfolding cfg (fun () -> BU.print_string " >> forbidden by attribute, not unfolding\n"); no - // Nothing special, just check the depth | _ -> default_unfolding() @@ -164,10 +167,11 @@ let should_unfold cfg should_reify fv qninfo : should_unfold_res = ); let r = match res with - | false, _, _ -> Should_unfold_no - | true, false, false -> Should_unfold_yes - | true, true, false -> Should_unfold_fully - | true, false, true -> Should_unfold_reify + | false, _, _, _ -> Should_unfold_no + | true, false, false, false -> Should_unfold_yes + | true, false, false, true -> Should_unfold_once + | true, true, false, false -> Should_unfold_fully + | true, false, true, false -> Should_unfold_reify | _ -> failwith <| BU.format1 "Unexpected unfolding result: %s" (show res) in diff --git a/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fsti b/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fsti index fc981c6c573..923363f0c7e 100644 --- a/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fsti +++ b/src/typechecker/FStarC.TypeChecker.Normalize.Unfolding.fsti @@ -1,6 +1,6 @@ module FStarC.TypeChecker.Normalize.Unfolding -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.TypeChecker open FStarC.Syntax.Syntax open FStarC.TypeChecker.Cfg @@ -13,6 +13,7 @@ val plugin_unfold_warn_ctr : ref int type should_unfold_res = | Should_unfold_no | Should_unfold_yes + | Should_unfold_once | Should_unfold_fully | Should_unfold_reify diff --git a/src/typechecker/FStarC.TypeChecker.Normalize.fst b/src/typechecker/FStarC.TypeChecker.Normalize.fst index ccf13ab27f6..a6e4d211347 100644 --- a/src/typechecker/FStarC.TypeChecker.Normalize.fst +++ b/src/typechecker/FStarC.TypeChecker.Normalize.fst @@ -16,12 +16,12 @@ module FStarC.TypeChecker.Normalize open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Defensive -open FStarC.Compiler.Util +open FStarC.Util open FStar.String open FStarC.Const open FStar.Char @@ -41,7 +41,7 @@ open FStarC.Class.Deq module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module FC = FStarC.Const module PC = FStarC.Parser.Const module U = FStarC.Syntax.Util @@ -631,9 +631,19 @@ let decide_unfolding cfg stack fv qninfo (* : option (option cfg * stack) *) = | Should_unfold_no -> // No unfolding None + | Should_unfold_yes -> // Usual unfolding, no change to cfg or stack Some (None, stack) + + | Should_unfold_once -> + let Some once = cfg.steps.unfold_once in + let cfg' = { cfg with steps = { + cfg.steps with unfold_once = + Some <| List.filter (fun lid -> not (S.fv_eq_lid fv lid)) once } } in + // Unfold only once. Keep the stack, but remove the lid from the step. + Some (Some cfg', stack) + | Should_unfold_fully -> // Unfolding fully, use new cfg with more steps and keep old one in stack let cfg' = @@ -937,7 +947,7 @@ let rec norm : cfg -> env -> stack -> term -> term = match decide_unfolding cfg stack fv qninfo with | Some (None, stack) -> do_unfold_fv cfg stack t qninfo fv | Some (Some cfg, stack) -> - do_unfold_fv cfg [] t qninfo fv |> rebuild cfg empty_env stack + do_unfold_fv cfg stack t qninfo fv | None -> rebuild cfg empty_env stack t end diff --git a/src/typechecker/FStarC.TypeChecker.Normalize.fsti b/src/typechecker/FStarC.TypeChecker.Normalize.fsti index 8a66b5062ae..537da275347 100644 --- a/src/typechecker/FStarC.TypeChecker.Normalize.fsti +++ b/src/typechecker/FStarC.TypeChecker.Normalize.fsti @@ -16,7 +16,7 @@ module FStarC.TypeChecker.Normalize open FStarC -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.TypeChecker open FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.PatternUtils.fst b/src/typechecker/FStarC.TypeChecker.PatternUtils.fst index eea2cf67665..b012e5542ef 100644 --- a/src/typechecker/FStarC.TypeChecker.PatternUtils.fst +++ b/src/typechecker/FStarC.TypeChecker.PatternUtils.fst @@ -15,10 +15,10 @@ *) module FStarC.TypeChecker.PatternUtils -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Errors open FStarC.TypeChecker open FStarC.Syntax @@ -32,7 +32,7 @@ type lcomp_with_binder = option bv & lcomp module SS = FStarC.Syntax.Subst module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module P = FStarC.Syntax.Print module C = FStarC.Parser.Const diff --git a/src/typechecker/FStarC.TypeChecker.PatternUtils.fsti b/src/typechecker/FStarC.TypeChecker.PatternUtils.fsti index b77e8c5a4d8..d42cc83d8e7 100644 --- a/src/typechecker/FStarC.TypeChecker.PatternUtils.fsti +++ b/src/typechecker/FStarC.TypeChecker.PatternUtils.fsti @@ -15,10 +15,10 @@ *) module FStarC.TypeChecker.PatternUtils -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Errors open FStarC.TypeChecker open FStarC.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.Positivity.fst b/src/typechecker/FStarC.TypeChecker.Positivity.fst index 78ffc1ee43f..d34e4a90228 100644 --- a/src/typechecker/FStarC.TypeChecker.Positivity.fst +++ b/src/typechecker/FStarC.TypeChecker.Positivity.fst @@ -19,8 +19,8 @@ module FStarC.TypeChecker.Positivity open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.TypeChecker.Env open FStarC.Syntax open FStarC.Syntax.Syntax @@ -29,10 +29,10 @@ open FStarC.Errors open FStar.List.Tot module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module N = FStarC.TypeChecker.Normalize -module L = FStarC.Compiler.List +module L = FStarC.List module C = FStarC.Parser.Const open FStarC.Class.Setlike @@ -812,7 +812,7 @@ let rec ty_strictly_positive_in_type (env:env) | Some (Inl (fv, us)) -> begin - if FStarC.Compiler.List.existsML (Ident.lid_equals fv.fv_name.v) mutuals + if FStarC.List.existsML (Ident.lid_equals fv.fv_name.v) mutuals then ( //if the head is one of the mutually inductive types //then check that ty_lid does not occur in the arguments diff --git a/src/typechecker/FStarC.TypeChecker.Positivity.fsti b/src/typechecker/FStarC.TypeChecker.Positivity.fsti index 0c545a2b803..703a3b1a24c 100644 --- a/src/typechecker/FStarC.TypeChecker.Positivity.fsti +++ b/src/typechecker/FStarC.TypeChecker.Positivity.fsti @@ -17,7 +17,7 @@ *) module FStarC.TypeChecker.Positivity -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax open FStarC.Ident diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Array.fst b/src/typechecker/FStarC.TypeChecker.Primops.Array.fst index 490e3ec0832..12dc6fa8810 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Array.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Array.fst @@ -1,8 +1,8 @@ module FStarC.TypeChecker.Primops.Array open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Errors open FStarC.Class.Monad open FStarC.Syntax.Syntax @@ -10,7 +10,7 @@ open FStarC.Syntax.Embeddings open FStarC.TypeChecker.Primops.Base -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module EMB = FStarC.Syntax.Embeddings module NBETerm = FStarC.TypeChecker.NBETerm module PC = FStarC.Parser.Const diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Base.fst b/src/typechecker/FStarC.TypeChecker.Primops.Base.fst index 5dac0932a51..6d37c1eaa1f 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Base.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Base.fst @@ -3,9 +3,9 @@ module FStarC.TypeChecker.Primops.Base (* This module defines the type of primitive steps and some helpers. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Syntax.Syntax open FStarC.Class.Monad diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Base.fsti b/src/typechecker/FStarC.TypeChecker.Primops.Base.fsti index 063154f23cf..5c41ae80c2c 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Base.fsti +++ b/src/typechecker/FStarC.TypeChecker.Primops.Base.fsti @@ -2,21 +2,21 @@ module FStarC.TypeChecker.Primops.Base (* This module defines the type of primitive steps and some helpers. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Syntax.Syntax module Env = FStarC.TypeChecker.Env module EMB = FStarC.Syntax.Embeddings module NBE = FStarC.TypeChecker.NBETerm type psc = { - psc_range : FStarC.Compiler.Range.range; + psc_range : FStarC.Range.range; psc_subst : unit -> subst_t // potentially expensive, so thunked } val null_psc : psc -val psc_range : psc -> FStarC.Compiler.Range.range +val psc_range : psc -> FStarC.Range.range val psc_subst : psc -> subst_t type interp_t = diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Docs.fst b/src/typechecker/FStarC.TypeChecker.Primops.Docs.fst index c9481cf9e2c..6f20ad2f605 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Docs.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Docs.fst @@ -1,9 +1,9 @@ module FStarC.TypeChecker.Primops.Docs open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Class.Monad module Z = FStarC.BigInt diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Eq.fst b/src/typechecker/FStarC.TypeChecker.Primops.Eq.fst index 1162e8ca03c..e902044410f 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Eq.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Eq.fst @@ -1,9 +1,9 @@ module FStarC.TypeChecker.Primops.Eq open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Syntax.Syntax open FStarC.TypeChecker open FStarC.Class.Monad diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Erased.fst b/src/typechecker/FStarC.TypeChecker.Primops.Erased.fst index 0ba615199f4..a0e22d2658d 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Erased.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Erased.fst @@ -1,9 +1,9 @@ module FStarC.TypeChecker.Primops.Erased open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Syntax.Syntax open FStarC.TypeChecker open FStarC.Class.Monad diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Errors.Msg.fst b/src/typechecker/FStarC.TypeChecker.Primops.Errors.Msg.fst index e000a215bdd..6ef93c13685 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Errors.Msg.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Errors.Msg.fst @@ -1,9 +1,9 @@ module FStarC.TypeChecker.Primops.Errors.Msg open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Class.Monad module Z = FStarC.BigInt diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Issue.fst b/src/typechecker/FStarC.TypeChecker.Primops.Issue.fst index 59624fb9678..94c33538a60 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Issue.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Issue.fst @@ -1,8 +1,8 @@ module FStarC.TypeChecker.Primops.Issue open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Errors open FStarC.Class.Monad diff --git a/src/typechecker/FStarC.TypeChecker.Primops.MachineInts.fst b/src/typechecker/FStarC.TypeChecker.Primops.MachineInts.fst index 161a141729f..9f030229831 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.MachineInts.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.MachineInts.fst @@ -3,8 +3,8 @@ module FStarC.TypeChecker.Primops.MachineInts (* Primops about machine integers *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStar.Char open FStarC.TypeChecker.Primops.Base module PC = FStarC.Parser.Const @@ -12,10 +12,10 @@ module Z = FStarC.BigInt (* We're going full Haskell in this module *) open FStarC.Class.Monad -open FStarC.Compiler.Writer +open FStarC.Writer open FStarC.Class.Show -open FStarC.Compiler.MachineInts +open FStarC.MachineInts (* NB: Eta expanding trips typeclass resolution *) let mymon = writer (list primitive_step) @@ -89,6 +89,6 @@ let ops : list primitive_step = (iterM bounded_arith_ops_for all_machint_kinds ;! emit [ (* Single extra op that returns a U32 *) - mk1 0 PC.char_u32_of_char (fun (c : char) -> let n = Compiler.Util.int_of_char c |> Z.of_int_fs in + mk1 0 PC.char_u32_of_char (fun (c : char) -> let n = Util.int_of_char c |> Z.of_int_fs in MachineInts.mk #UInt32 n None); ]) diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Range.fst b/src/typechecker/FStarC.TypeChecker.Primops.Range.fst index d4f254eff93..8a7cf08848e 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Range.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Range.fst @@ -1,13 +1,13 @@ module FStarC.TypeChecker.Primops.Range open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Class.Monad open FStarC.TypeChecker.Primops.Base -open FStarC.Compiler.Range +open FStarC.Range module PC = FStarC.Parser.Const module Z = FStarC.BigInt @@ -27,7 +27,7 @@ let __mk_range (fn : string) (from_l from_c to_l to_c : Z.t) : unsealedRange = let explode (r : unsealedRange) : (string & Z.t & Z.t & Z.t & Z.t) = match r with | U r -> - let open FStarC.Compiler.Range.Type in + let open FStarC.Range.Type in (file_of_range r, Z.of_int_fs (line_of_pos (start_of_range r)), Z.of_int_fs (col_of_pos (start_of_range r)), @@ -52,5 +52,5 @@ let ops = [ mk5 0 PC.__mk_range_lid __mk_range; mk5 0 PC.mk_range_lid mk_range; mk1 0 PC.__explode_range_lid explode; - mk2 0 PC.join_range_lid FStarC.Compiler.Range.union_ranges; + mk2 0 PC.join_range_lid FStarC.Range.union_ranges; ] diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Real.fst b/src/typechecker/FStarC.TypeChecker.Primops.Real.fst index a7a21e80d68..357332483b2 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Real.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Real.fst @@ -1,11 +1,11 @@ module FStarC.TypeChecker.Primops.Real open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStarC.Class.Monad -open FStarC.Compiler.Order +open FStarC.Order open FStarC.TypeChecker.Primops.Base open FStarC.Syntax.Syntax @@ -61,7 +61,7 @@ instance nbe_e_tf : TypeChecker.NBETerm.embedding tf = in mk_emb em un (fun () -> lid_as_typ PC.bool_lid [] []) (Syntax.Embeddings.emb_typ_of tf) -let cmp (r1 r2 : Compiler.Real.real) : option order = +let cmp (r1 r2 : Real.real) : option order = match r1._0, r2._0 with | "0.0", "0.0" -> Some Eq | "0.0", "0.5" -> Some Lt @@ -74,17 +74,17 @@ let cmp (r1 r2 : Compiler.Real.real) : option order = | "1.0", "1.0" -> Some Eq | _ -> None -let lt (r1 r2 : Compiler.Real.real) : option tf = +let lt (r1 r2 : Real.real) : option tf = cmp r1 r2 |> Class.Monad.fmap (function Lt -> T | _ -> F) -let le (r1 r2 : Compiler.Real.real) : option tf = +let le (r1 r2 : Real.real) : option tf = cmp r1 r2 |> Class.Monad.fmap (function Lt | Eq -> T | _ -> F) -let gt (r1 r2 : Compiler.Real.real) : option tf = +let gt (r1 r2 : Real.real) : option tf = cmp r1 r2 |> Class.Monad.fmap (function Gt -> T | _ -> F) -let ge (r1 r2 : Compiler.Real.real) : option tf = +let ge (r1 r2 : Real.real) : option tf = cmp r1 r2 |> Class.Monad.fmap (function Gt | Eq -> T | _ -> F) -let of_int (i:Z.t) : Compiler.Real.real = - Compiler.Real.Real (string_of_int (Z.to_int_fs i) ^ ".0") +let of_int (i:Z.t) : Real.real = + Real.Real (string_of_int (Z.to_int_fs i) ^ ".0") let ops = [ mk1 0 PC.real_of_int of_int; diff --git a/src/typechecker/FStarC.TypeChecker.Primops.Sealed.fst b/src/typechecker/FStarC.TypeChecker.Primops.Sealed.fst index 6e7c8437a1d..ea262dc2c04 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.Sealed.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.Sealed.fst @@ -1,8 +1,8 @@ module FStarC.TypeChecker.Primops.Sealed open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker.Primops.Base diff --git a/src/typechecker/FStarC.TypeChecker.Primops.fst b/src/typechecker/FStarC.TypeChecker.Primops.fst index 3e222569609..1be8551b9e4 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.fst +++ b/src/typechecker/FStarC.TypeChecker.Primops.fst @@ -4,16 +4,16 @@ module FStarC.TypeChecker.Primops with their implementations. *) open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC +open FStarC.Effect +open FStarC.List open FStar.String open FStarC.Syntax open FStarC.Syntax.Syntax open FStarC.Class.Monad module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module PC = FStarC.Parser.Const module EMB = FStarC.Syntax.Embeddings module Z = FStarC.BigInt diff --git a/src/typechecker/FStarC.TypeChecker.Primops.fsti b/src/typechecker/FStarC.TypeChecker.Primops.fsti index 8236610bdbb..b9d4c35ae6f 100644 --- a/src/typechecker/FStarC.TypeChecker.Primops.fsti +++ b/src/typechecker/FStarC.TypeChecker.Primops.fsti @@ -1,6 +1,6 @@ module FStarC.TypeChecker.Primops -open FStarC.Compiler.Effect +open FStarC.Effect include FStarC.TypeChecker.Primops.Base (* This module just contains the list of all builtin primitive steps diff --git a/src/typechecker/FStarC.TypeChecker.Quals.fst b/src/typechecker/FStarC.TypeChecker.Quals.fst index 564e89cf344..016ca9e0360 100644 --- a/src/typechecker/FStarC.TypeChecker.Quals.fst +++ b/src/typechecker/FStarC.TypeChecker.Quals.fst @@ -16,8 +16,8 @@ module FStarC.TypeChecker.Quals open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Effect +open FStarC +open FStarC.Effect open FStarC.Errors open FStarC.Errors.Msg open FStarC.Pprint @@ -29,7 +29,7 @@ open FStarC.Class.PP module SS = FStarC.Syntax.Subst module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module N = FStarC.TypeChecker.Normalize module C = FStarC.Parser.Const @@ -247,17 +247,17 @@ let check_must_erase_attribute env se = let has_attr = Env.fv_has_attr env lbname C.must_erase_for_extraction_attr in if must_erase && not has_attr then log_issue lbname Error_MustEraseMissing [ - text (BU.format2 "Values of type `%s` will be erased during extraction, \ - but its interface hides this fact. Add the `must_erase_for_extraction` \ - attribute to the `val %s` declaration for this symbol in the interface" - (show lbname) (show lbname)); + text (BU.format1 "Values of type `%s` will be erased during extraction, \ + but its interface hides this fact." (show lbname)); + text (BU.format1 "Add the `must_erase_for_extraction` \ + attribute to the `val %s` declaration for this symbol in the interface" (show lbname)); ] else if has_attr && not must_erase then log_issue lbname Error_MustEraseMissing [ text (BU.format1 "Values of type `%s` cannot be erased during extraction, \ - but the `must_erase_for_extraction` attribute claims that it can. \ - Please remove the attribute." + but the `must_erase_for_extraction` attribute claims that it can." (show lbname)); + text "Please remove the attribute."; ]) end | _ -> () diff --git a/src/typechecker/FStarC.TypeChecker.Quals.fsti b/src/typechecker/FStarC.TypeChecker.Quals.fsti index 9a23f2e8de1..28871759265 100644 --- a/src/typechecker/FStarC.TypeChecker.Quals.fsti +++ b/src/typechecker/FStarC.TypeChecker.Quals.fsti @@ -17,7 +17,7 @@ module FStarC.TypeChecker.Quals open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env diff --git a/src/typechecker/FStarC.TypeChecker.Rel.fst b/src/typechecker/FStarC.TypeChecker.Rel.fst index d6c2ae1ab47..b51bb586032 100644 --- a/src/typechecker/FStarC.TypeChecker.Rel.fst +++ b/src/typechecker/FStarC.TypeChecker.Rel.fst @@ -20,11 +20,11 @@ module FStarC.TypeChecker.Rel open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Errors open FStarC.Defensive open FStarC.TypeChecker @@ -45,10 +45,10 @@ open FStarC.Class.Listlike open FStarC.Class.Monoid module Setlike = FStarC.Class.Setlike open FStarC.Class.Listlike -open FStarC.Compiler.CList +open FStarC.CList module Listlike = FStarC.Class.Listlike -module BU = FStarC.Compiler.Util //basic util +module BU = FStarC.Util //basic util module U = FStarC.Syntax.Util module S = FStarC.Syntax.Syntax module SS = FStarC.Syntax.Subst @@ -58,7 +58,7 @@ module PC = FStarC.Parser.Const module FC = FStarC.Const module TcComm = FStarC.TypeChecker.Common module TEQ = FStarC.TypeChecker.TermEqAndSimplify -module CList = FStarC.Compiler.CList +module CList = FStarC.CList let dbg_Disch = Debug.get_toggle "Disch" let dbg_Discharge = Debug.get_toggle "Discharge" diff --git a/src/typechecker/FStarC.TypeChecker.Rel.fsti b/src/typechecker/FStarC.TypeChecker.Rel.fsti index 8f58dfac52c..66e040613ca 100644 --- a/src/typechecker/FStarC.TypeChecker.Rel.fsti +++ b/src/typechecker/FStarC.TypeChecker.Rel.fsti @@ -16,17 +16,17 @@ module FStarC.TypeChecker.Rel open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.TypeChecker open FStarC.Syntax open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax open FStarC.TypeChecker.Common -open FStarC.Compiler.Range +open FStarC.Range open FStarC.Class.Show type match_result = diff --git a/src/typechecker/FStarC.TypeChecker.Tc.fst b/src/typechecker/FStarC.TypeChecker.Tc.fst index 4ccd7d83b7d..b7562bcfe65 100644 --- a/src/typechecker/FStarC.TypeChecker.Tc.fst +++ b/src/typechecker/FStarC.TypeChecker.Tc.fst @@ -16,15 +16,15 @@ module FStarC.TypeChecker.Tc open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors open FStarC.TypeChecker open FStarC.TypeChecker.Common open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax @@ -46,7 +46,7 @@ module UF = FStarC.Syntax.Unionfind module N = FStarC.TypeChecker.Normalize module TcComm = FStarC.TypeChecker.Common module TcUtil = FStarC.TypeChecker.Util -module BU = FStarC.Compiler.Util //basic util +module BU = FStarC.Util //basic util module U = FStarC.Syntax.Util module Gen = FStarC.TypeChecker.Generalize module TcInductive = FStarC.TypeChecker.TcInductive @@ -1135,9 +1135,9 @@ let tc_partial_modul env modul = if Debug.any () then BU.print3 "Now %s %s of %s\n" action label (string_of_lid modul.name); - Debug.disable_all (); - if Options.should_check (string_of_lid modul.name) // || Options.debug_all_modules () - then Debug.enable_toggles (Options.debug_keys ()); + let dsnap = Debug.snapshot () in + if not (Options.should_check (string_of_lid modul.name)) && not (Options.debug_all_modules ()) + then Debug.disable_all (); let name = BU.format2 "%s %s" (if modul.is_interface then "interface" else "module") (string_of_lid modul.name) in let env = {env with Env.is_iface=modul.is_interface; admit=not verify} in @@ -1148,6 +1148,7 @@ let tc_partial_modul env modul = (string_of_lid modul.name) (if modul.is_interface then " (interface)" else "")) (fun () -> let ses, env = tc_decls env modul.declarations in + Debug.restore dsnap; {modul with declarations=ses}, env ) @@ -1222,9 +1223,9 @@ let load_checked_module (en:env) (m:modul) :env = module. *) (* Reset debug flags *) - if Options.should_check (string_of_lid m.name) || Options.debug_all_modules () - then Debug.enable_toggles (Options.debug_keys ()) - else Debug.disable_all (); + let dsnap = Debug.snapshot () in + if not (Options.should_check (string_of_lid m.name)) && not (Options.debug_all_modules ()) + then Debug.disable_all (); let m = deep_compress_modul m in let env = load_checked_module_sigelts en m in @@ -1232,6 +1233,7 @@ let load_checked_module (en:env) (m:modul) :env = //except with the flag `must_check_exports` set to false, since this is already a checked module //the second true flag is for iface_exists, used to determine whether should extract interface or not let _, env = finish_partial_modul true true env m in + Debug.restore dsnap; env let load_partial_checked_module (en:env) (m:modul) : env = diff --git a/src/typechecker/FStarC.TypeChecker.Tc.fsti b/src/typechecker/FStarC.TypeChecker.Tc.fsti index 7aa6e1b4afd..2b6f46e5c68 100644 --- a/src/typechecker/FStarC.TypeChecker.Tc.fsti +++ b/src/typechecker/FStarC.TypeChecker.Tc.fsti @@ -14,8 +14,8 @@ limitations under the License. *) module FStarC.TypeChecker.Tc -open FStarC.Compiler.Effect -open FStarC.Compiler.Effect +open FStarC.Effect +open FStarC.Effect open FStarC.Syntax.Syntax open FStarC.TypeChecker.Env open FStarC.TypeChecker.Common diff --git a/src/typechecker/FStarC.TypeChecker.TcEffect.fst b/src/typechecker/FStarC.TypeChecker.TcEffect.fst index 152c5110ef0..c5e454e69d0 100644 --- a/src/typechecker/FStarC.TypeChecker.TcEffect.fst +++ b/src/typechecker/FStarC.TypeChecker.TcEffect.fst @@ -15,14 +15,14 @@ *) module FStarC.TypeChecker.TcEffect open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Syntax open FStarC.TypeChecker -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Errors open FStarC.Syntax.Syntax @@ -40,7 +40,7 @@ module TcUtil = FStarC.TypeChecker.Util module Gen = FStarC.TypeChecker.Generalize module TEQ = FStarC.TypeChecker.TermEqAndSimplify -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.Class.Show open FStarC.Class.Tagged diff --git a/src/typechecker/FStarC.TypeChecker.TcEffect.fsti b/src/typechecker/FStarC.TypeChecker.TcEffect.fsti index b6449e38809..9310dde8ac1 100644 --- a/src/typechecker/FStarC.TypeChecker.TcEffect.fsti +++ b/src/typechecker/FStarC.TypeChecker.TcEffect.fsti @@ -15,10 +15,10 @@ *) module FStarC.TypeChecker.TcEffect -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Ident module S = FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.TcInductive.fst b/src/typechecker/FStarC.TypeChecker.TcInductive.fst index e337895a1ce..ff24df44b47 100644 --- a/src/typechecker/FStarC.TypeChecker.TcInductive.fst +++ b/src/typechecker/FStarC.TypeChecker.TcInductive.fst @@ -17,14 +17,14 @@ *) module FStarC.TypeChecker.TcInductive open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors open FStarC.TypeChecker open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax @@ -39,7 +39,7 @@ module SS = FStarC.Syntax.Subst module N = FStarC.TypeChecker.Normalize module TcUtil = FStarC.TypeChecker.Util module Gen = FStarC.TypeChecker.Generalize -module BU = FStarC.Compiler.Util //basic util +module BU = FStarC.Util //basic util module U = FStarC.Syntax.Util module PP = FStarC.Syntax.Print module C = FStarC.Parser.Const diff --git a/src/typechecker/FStarC.TypeChecker.TcInductive.fsti b/src/typechecker/FStarC.TypeChecker.TcInductive.fsti index 53b6ca291de..9700d95706a 100644 --- a/src/typechecker/FStarC.TypeChecker.TcInductive.fsti +++ b/src/typechecker/FStarC.TypeChecker.TcInductive.fsti @@ -15,12 +15,12 @@ *) module FStarC.TypeChecker.TcInductive -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.TcTerm.fst b/src/typechecker/FStarC.TypeChecker.TcTerm.fst index 28e7720dec6..9c071ca7689 100644 --- a/src/typechecker/FStarC.TypeChecker.TcTerm.fst +++ b/src/typechecker/FStarC.TypeChecker.TcTerm.fst @@ -16,16 +16,16 @@ module FStarC.TypeChecker.TcTerm open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.Errors open FStarC.Defensive open FStarC.TypeChecker open FStarC.TypeChecker.Common open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax @@ -47,7 +47,7 @@ module TcComm = FStarC.TypeChecker.Common module N = FStarC.TypeChecker.Normalize module TcUtil = FStarC.TypeChecker.Util module Gen = FStarC.TypeChecker.Generalize -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module PP = FStarC.Syntax.Print module UF = FStarC.Syntax.Unionfind diff --git a/src/typechecker/FStarC.TypeChecker.TcTerm.fsti b/src/typechecker/FStarC.TypeChecker.TcTerm.fsti index 3c1b03af993..245641dcb02 100644 --- a/src/typechecker/FStarC.TypeChecker.TcTerm.fsti +++ b/src/typechecker/FStarC.TypeChecker.TcTerm.fsti @@ -16,12 +16,12 @@ module FStarC.TypeChecker.TcTerm open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker open FStarC.TypeChecker.Env -open FStarC.Compiler.Util +open FStarC.Util open FStarC.Ident open FStarC.Syntax open FStarC.Syntax.Syntax @@ -32,7 +32,7 @@ open FStarC.TypeChecker.Rel open FStarC.TypeChecker.Common val level_of_type: env -> term -> typ -> universe //the term argument is for error reporting only -val tc_constant: env -> FStarC.Compiler.Range.range -> sconst -> typ +val tc_constant: env -> FStarC.Range.range -> sconst -> typ val tc_binders: env -> binders -> binders & env & guard_t & universes val tc_term: env -> term -> term & lcomp & guard_t val tc_maybe_toplevel_term: env -> term -> term & lcomp & guard_t diff --git a/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fst b/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fst index 2a9b017480c..7f93d17a00c 100644 --- a/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fst +++ b/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fst @@ -1,9 +1,9 @@ module FStarC.TypeChecker.TermEqAndSimplify open FStarC open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC.Effect +open FStarC +open FStarC.Util open FStarC.Syntax open FStarC.Const open FStarC.Ident @@ -14,7 +14,7 @@ module SS = FStarC.Syntax.Subst module U = FStarC.Syntax.Util module PC = FStarC.Parser.Const module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util open FStarC.Class.Tagged open FStarC.Class.Show diff --git a/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fsti b/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fsti index 1d31266665f..53f2d304faa 100644 --- a/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fsti +++ b/src/typechecker/FStarC.TypeChecker.TermEqAndSimplify.fsti @@ -1,6 +1,6 @@ module FStarC.TypeChecker.TermEqAndSimplify open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStarC.TypeChecker.Env open FStarC.Syntax.Syntax diff --git a/src/typechecker/FStarC.TypeChecker.Util.fst b/src/typechecker/FStarC.TypeChecker.Util.fst index d2eca1faae6..05e7e464a56 100644 --- a/src/typechecker/FStarC.TypeChecker.Util.fst +++ b/src/typechecker/FStarC.TypeChecker.Util.fst @@ -16,11 +16,11 @@ module FStarC.TypeChecker.Util open FStar.Pervasives -open FStarC.Compiler.Effect -open FStarC.Compiler.List +open FStarC.Effect +open FStarC.List open FStar open FStarC -open FStarC.Compiler -open FStarC.Compiler.Util +open FStarC +open FStarC.Util open FStarC.Errors open FStarC.Errors.Msg open FStarC.Pprint @@ -42,7 +42,7 @@ module Listlike = FStarC.Class.Listlike module SS = FStarC.Syntax.Subst module S = FStarC.Syntax.Syntax -module BU = FStarC.Compiler.Util +module BU = FStarC.Util module U = FStarC.Syntax.Util module N = FStarC.TypeChecker.Normalize module TcComm = FStarC.TypeChecker.Common diff --git a/src/typechecker/FStarC.TypeChecker.Util.fsti b/src/typechecker/FStarC.TypeChecker.Util.fsti index af2e8733647..c191240052a 100644 --- a/src/typechecker/FStarC.TypeChecker.Util.fsti +++ b/src/typechecker/FStarC.TypeChecker.Util.fsti @@ -16,10 +16,10 @@ module FStarC.TypeChecker.Util open FStar.Pervasives -open FStarC.Compiler.Effect +open FStarC.Effect open FStar open FStarC -open FStarC.Compiler +open FStarC open FStarC.TypeChecker open FStarC.Syntax open FStarC.TypeChecker.Env diff --git a/src/typechecker/Makefile b/src/typechecker/Makefile deleted file mode 100644 index 9f6d5bc01e9..00000000000 --- a/src/typechecker/Makefile +++ /dev/null @@ -1,3 +0,0 @@ -FSTAR_HOME ?= ../.. - -include ../Makefile.boot.common diff --git a/stage0/.gitattributes b/stage0/.gitattributes new file mode 100644 index 00000000000..49a35fe618a --- /dev/null +++ b/stage0/.gitattributes @@ -0,0 +1,2 @@ +** -diff -merge +** linguist-generated=true diff --git a/stage0/.gitignore b/stage0/.gitignore new file mode 100644 index 00000000000..3daf4e6bbe4 --- /dev/null +++ b/stage0/.gitignore @@ -0,0 +1,3 @@ +# copied from the root +version.txt +/lib diff --git a/stage0/Makefile b/stage0/Makefile new file mode 120000 index 00000000000..b0cd2af01e9 --- /dev/null +++ b/stage0/Makefile @@ -0,0 +1 @@ +../mk/stage0.mk \ No newline at end of file diff --git a/ocaml/default.nix b/stage0/default.nix similarity index 100% rename from ocaml/default.nix rename to stage0/default.nix diff --git a/stage0/dune b/stage0/dune new file mode 100644 index 00000000000..46fe85e40b3 --- /dev/null +++ b/stage0/dune @@ -0,0 +1,3 @@ +(env + (_ + (flags (:standard -w -A)))) diff --git a/stage0/dune-project b/stage0/dune-project new file mode 100644 index 00000000000..8cccbd9aacd --- /dev/null +++ b/stage0/dune-project @@ -0,0 +1,15 @@ +(lang dune 3.2) +; ^ Before changing this, consider that we need a version +; that we can use to build Linux, Windows, and MacOS packages. +; In particular our current Windows runner is limited to Dune 3.5. +; Changes here may pass normal CI, but later fail when trying to do +; a release, so *make sure* to test it manually. + +(name fstar) +(generate_opam_files false) +(using menhir 2.1) + +(package + (name fstar) + (synopsis "The F* programming language and proof assistant") +) diff --git a/ocaml/fstar-lib/.gitignore b/stage0/fstar-lib/.gitignore similarity index 100% rename from ocaml/fstar-lib/.gitignore rename to stage0/fstar-lib/.gitignore diff --git a/stage0/fstar-lib/FStarC_BaseTypes.ml b/stage0/fstar-lib/FStarC_BaseTypes.ml new file mode 100644 index 00000000000..66b018bd10c --- /dev/null +++ b/stage0/fstar-lib/FStarC_BaseTypes.ml @@ -0,0 +1,10 @@ +type char = FStar_Char.char[@@deriving yojson,show] +type float = FStar_Float.float[@@deriving yojson,show] +type double = FStar_Float.double[@@deriving yojson,show] +type byte = FStar_UInt8.byte[@@deriving yojson,show] +type int8 = FStar_Int8.int8 +type uint8 = FStar_UInt8.uint8 +type int16 = FStar_Int16.int16 +type uint16 = FStar_UInt16.uint16 +type int32 = FStar_Int32.int32 +type int64 = FStar_Int64.int64 diff --git a/stage0/fstar-lib/FStarC_BigInt.ml b/stage0/fstar-lib/FStarC_BigInt.ml new file mode 100644 index 00000000000..2314ae4ffac --- /dev/null +++ b/stage0/fstar-lib/FStarC_BigInt.ml @@ -0,0 +1,44 @@ +type bigint = Z.t +type t = bigint + +let zero = Z.zero +let one = Z.one +let two = Z.of_string "2" + +let succ_big_int = Z.succ +let pred_big_int = Z.pred +let minus_big_int = Z.neg +let abs_big_int = Z.abs + +let add_big_int = Z.add +let mult_big_int = Z.mul +let sub_big_int = Z.sub +let div_big_int = Z.ediv +let mod_big_int = Z.erem + +let eq_big_int = Z.equal +let le_big_int = Z.leq +let lt_big_int = Z.lt +let ge_big_int = Z.geq +let gt_big_int = Z.gt + +let logand_big_int = Z.logand +let logor_big_int = Z.logor +let logxor_big_int = Z.logxor +let lognot_big_int = Z.lognot + +let shift_left_big_int x y = Z.shift_left x (Z.to_int y) +let shift_right_big_int x y = Z.shift_right x (Z.to_int y) + +let sqrt_big_int = Z.sqrt + +let string_of_big_int = Z.to_string +let big_int_of_string = Z.of_string + +let of_int = Z.of_int +let to_int = Z.to_int + +let of_int_fs x = x +let to_int_fs x = x + +let of_hex x = Z.of_string ("0x" ^ x) diff --git a/ocaml/fstar-lib/FStarC_Compiler_Bytes.ml b/stage0/fstar-lib/FStarC_Compiler_Bytes.ml similarity index 98% rename from ocaml/fstar-lib/FStarC_Compiler_Bytes.ml rename to stage0/fstar-lib/FStarC_Compiler_Bytes.ml index d79b5e31963..c9ed427771d 100644 --- a/ocaml/fstar-lib/FStarC_Compiler_Bytes.ml +++ b/stage0/fstar-lib/FStarC_Compiler_Bytes.ml @@ -12,7 +12,7 @@ let f_encode f (b:bytes) = String.concat "" (Array.to_list (Array.map f b)) let length (b:bytes) = BatArray.length b let get (b:bytes) n = Z.of_int (BatArray.get b (Z.to_int n)) let make (f : _ -> Z.t) n = BatArray.init (Z.to_int n) (fun i -> Z.to_int (f (Z.of_int i))) -let zero_create n : bytes = BatArray.create n 0 +let zero_create n : bytes = BatArray.make n 0 let sub ( b:bytes) s l = BatArray.sub b s l let set = BatArray.set diff --git a/stage0/fstar-lib/FStarC_Compiler_Effect.ml b/stage0/fstar-lib/FStarC_Compiler_Effect.ml new file mode 100644 index 00000000000..f2f62ef3da1 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Compiler_Effect.ml @@ -0,0 +1,14 @@ +type 'a ref' = 'a ref[@@deriving yojson,show] +type 'a ref = 'a ref'[@@deriving yojson,show] + +let op_Bang (r:'a ref) = !r +let op_Colon_Equals x y = x := y +let alloc x = ref x +let raise = raise +let exit i = exit (Z.to_int i) +exception Failure = Failure (* NB: reusing OCaml's native Failure. *) +(* Not used: handled specially by extraction. If used, + you will get all sorts of weird failures (e.g. an incomplete match + on f2!). *) +(* let try_with f1 f2 = try f1 () with | e -> f2 e *) +(* let failwith x = raise (Failure x) *) diff --git a/stage0/fstar-lib/FStarC_Compiler_Hints.ml b/stage0/fstar-lib/FStarC_Compiler_Hints.ml new file mode 100644 index 00000000000..85f40c7f926 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Compiler_Hints.ml @@ -0,0 +1,118 @@ +open FStarC_Json + +(** Hints. *) +type hint = { + hint_name:string; + hint_index:Z.t; + fuel:Z.t; + ifuel:Z.t; + unsat_core:string list option; + query_elapsed_time:Z.t; + hash:string option +} + +type hints = hint option list + +type hints_db = { + module_digest:string; + hints: hints +} + +type hints_read_result = + | HintsOK of hints_db + | MalformedJson + | UnableToOpen + +let write_hints (filename: string) (hints: hints_db): unit = + let json = `List [ + `String hints.module_digest; + `List (List.map (function + | None -> `Null + | Some { hint_name; hint_index; fuel; ifuel; unsat_core; query_elapsed_time; hash } -> + `List [ + `String hint_name; + `Int (Z.to_int hint_index); + `Int (Z.to_int fuel); + `Int (Z.to_int ifuel); + (match unsat_core with + | None -> `Null + | Some strings -> + `List (List.map (fun s -> `String s) strings)); + `Int (Z.to_int query_elapsed_time); + `String (match hash with | Some(h) -> h | _ -> "") + ] + ) hints.hints) + ] in + let channel = open_out_bin filename in + BatPervasives.finally + (fun () -> close_out channel) + (fun channel -> Yojson.Safe.pretty_to_channel channel json) + channel + +let read_hints (filename: string) : hints_read_result = + let mk_hint nm ix fuel ifuel unsat_core time hash_opt = { + hint_name = nm; + hint_index = Z.of_int ix; + fuel = Z.of_int fuel; + ifuel = Z.of_int ifuel; + unsat_core = begin + match unsat_core with + | `Null -> + None + | `List strings -> + Some (List.map (function + | `String s -> s + | _ -> raise Exit) + strings) + | _ -> + raise Exit + end; + query_elapsed_time = Z.of_int time; + hash = hash_opt + } + in + try + let chan = open_in filename in + let json = Yojson.Safe.from_channel chan in + close_in chan; + HintsOK ( + match json with + | `List [ + `String module_digest; + `List hints + ] -> { + module_digest; + hints = List.map (function + | `Null -> None + | `List [ `String hint_name; + `Int hint_index; + `Int fuel; + `Int ifuel; + unsat_core; + `Int query_elapsed_time ] -> + (* This case is for dealing with old-style hint files + that lack a query-hashes field. We should remove this + case once we definitively remove support for old hints *) + Some (mk_hint hint_name hint_index fuel ifuel unsat_core query_elapsed_time None) + | `List [ `String hint_name; + `Int hint_index; + `Int fuel; + `Int ifuel; + unsat_core; + `Int query_elapsed_time; + `String hash ] -> + let hash_opt = if hash <> "" then Some(hash) else None in + Some (mk_hint hint_name hint_index fuel ifuel unsat_core query_elapsed_time hash_opt) + | _ -> + raise Exit + ) hints + } + | _ -> + raise Exit + ) + with + | Exit -> + MalformedJson + | Sys_error _ -> + UnableToOpen + diff --git a/stage0/fstar-lib/FStarC_Compiler_List.ml b/stage0/fstar-lib/FStarC_Compiler_List.ml new file mode 100644 index 00000000000..9fb1e8cf062 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Compiler_List.ml @@ -0,0 +1,3 @@ +(* We give an implementation here using OCaml's BatList, + which provides tail-recursive versions of most functions *) +include FStar_List diff --git a/stage0/fstar-lib/FStarC_Compiler_Plugins_Base.ml b/stage0/fstar-lib/FStarC_Compiler_Plugins_Base.ml new file mode 100644 index 00000000000..c089443fc2f --- /dev/null +++ b/stage0/fstar-lib/FStarC_Compiler_Plugins_Base.ml @@ -0,0 +1,9 @@ +open Dynlink + +exception DynlinkError of string + +let dynlink_loadfile (fname:string) : unit = + try + Dynlink.loadfile fname + with Dynlink.Error e -> + raise (DynlinkError (Dynlink.error_message e)) diff --git a/ocaml/fstar-lib/FStarC_Compiler_Range.ml b/stage0/fstar-lib/FStarC_Compiler_Range.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Compiler_Range.ml rename to stage0/fstar-lib/FStarC_Compiler_Range.ml diff --git a/ocaml/fstar-lib/FStarC_Compiler_String.ml b/stage0/fstar-lib/FStarC_Compiler_String.ml similarity index 94% rename from ocaml/fstar-lib/FStarC_Compiler_String.ml rename to stage0/fstar-lib/FStarC_Compiler_String.ml index 45c7ba41578..9dcff4a94df 100644 --- a/ocaml/fstar-lib/FStarC_Compiler_String.ml +++ b/stage0/fstar-lib/FStarC_Compiler_String.ml @@ -29,8 +29,8 @@ let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) let collect f s = let r = ref "" in BatUTF8.iter (fun c -> r := !r ^ f (BatUChar.code c)) s; !r -let lowercase = BatString.lowercase -let uppercase = BatString.uppercase +let lowercase = BatString.lowercase_ascii +let uppercase = BatString.uppercase_ascii let escaped = BatString.escaped let index = get exception Found of int diff --git a/ocaml/fstar-lib/FStarC_Compiler_Util.ml b/stage0/fstar-lib/FStarC_Compiler_Util.ml similarity index 98% rename from ocaml/fstar-lib/FStarC_Compiler_Util.ml rename to stage0/fstar-lib/FStarC_Compiler_Util.ml index b8903986786..8264ef00022 100644 --- a/ocaml/fstar-lib/FStarC_Compiler_Util.ml +++ b/stage0/fstar-lib/FStarC_Compiler_Util.ml @@ -1171,4 +1171,18 @@ let array_length (l:'a FStar_ImmutableArray_Base.t) = FStar_ImmutableArray_Base. let array_index (l:'a FStar_ImmutableArray_Base.t) (i:Z.t) = FStar_ImmutableArray_Base.index l i let putenv k v = Unix.putenv k v -let execvp c args = Unix.execvp c (Array.of_list args) +let create_process (prog:string) (args:string list) : Z.t = + let pid = Unix.create_process prog (Array.of_list args) Unix.stdin Unix.stdout Unix.stderr in + Z.of_int pid + +let waitpid (pid:Z.t) : (Z.t, Z.t) FStar_Pervasives.either = + let pid, s = Unix.waitpid [] (Z.to_int pid) in + match s with + | WEXITED rc -> FStar_Pervasives.Inl (Z.of_int rc) + | WSIGNALED rc -> FStar_Pervasives.Inr (Z.of_int rc) + | WSTOPPED _ -> failwith "waitpid: unexpected WSTOPPED, should not happen with empty flags" + +let exn_is_enoent (e:exn) : bool = + match e with + | Unix.Unix_error (Unix.ENOENT, _, _) -> true + | _ -> false diff --git a/stage0/fstar-lib/FStarC_Dyn.ml b/stage0/fstar-lib/FStarC_Dyn.ml new file mode 100644 index 00000000000..a138a7cd6c2 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Dyn.ml @@ -0,0 +1,12 @@ +type dyn = Obj.t +[@printer fun fmt _ -> Format.pp_print_string fmt ""] +[@@deriving show] + +let dyn_to_yojson _ = `Null +let dyn_of_yojson _ = failwith "cannot readback" + +let mkdyn (x:'a) : dyn = + Obj.repr x + +let undyn (d:dyn) : 'a = + Obj.obj d diff --git a/ocaml/fstar-lib/FStarC_Extraction_ML_PrintML.ml b/stage0/fstar-lib/FStarC_Extraction_ML_PrintML.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Extraction_ML_PrintML.ml rename to stage0/fstar-lib/FStarC_Extraction_ML_PrintML.ml diff --git a/stage0/fstar-lib/FStarC_Getopt.ml b/stage0/fstar-lib/FStarC_Getopt.ml new file mode 100644 index 00000000000..a7bad22b6c4 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Getopt.ml @@ -0,0 +1,108 @@ +let noshort = 0 +type 'a opt_variant = + | ZeroArgs of (unit -> 'a) + | OneArg of (string -> 'a) * string +type 'a opt' = FStar_Char.char * string * 'a opt_variant +type opt = unit opt' +type parse_cmdline_res = + | Empty + | Help + | Error of (string * string) + | Success + +let bind l f = + match l with + | Help + | Error _ -> l + | Success -> f () + (* | Empty *) + (* ^ Empty does not occur internally. *) + +(* Returns None if this wasn't an option arg (did not start with "-") + * Otherwise, returns Some (o, s) where [s] is the trimmed option, and [o] + * is the opt we found in specs (possibly None if not present, which should + * trigger an error) *) +let find_matching_opt specs s : (opt option * string) option = + if String.length s < 2 then + None + else if String.sub s 0 2 = "--" then + (* long opts *) + let strim = String.sub s 2 ((String.length s) - 2) in + let o = FStar_List.tryFind (fun (_, option, _) -> option = strim) specs in + Some (o, strim) + else if String.sub s 0 1 = "-" then + (* short opts *) + let strim = String.sub s 1 ((String.length s) - 1) in + let o = FStar_List.tryFind (fun (shortoption, _, _) -> FStar_String.make Z.one shortoption = strim) specs in + Some (o, strim) + else + None + +(* remark: doesn't work with files starting with -- *) +let rec parse (opts:opt list) def ar ix max i : parse_cmdline_res = + if ix > max then Success + else + let arg = ar.(ix) in + let go_on () = bind (def arg) (fun _ -> parse opts def ar (ix + 1) max (i + 1)) in + match find_matching_opt opts arg with + | None -> go_on () + | Some (None, _) -> Error ("unrecognized option '" ^ arg ^ "'\n", arg) + | Some (Some (_, opt, p), argtrim) -> + begin match p with + | ZeroArgs f -> f (); parse opts def ar (ix + 1) max (i + 1) + | OneArg (f, name) -> + if ix + 1 > max + then Error ("last option '" ^ argtrim ^ "' takes an argument but has none\n", opt) + else + let r = + try (f (ar.(ix + 1)); Success) + with _ -> Error ("wrong argument given to option `" ^ argtrim ^ "`\n", opt) + in bind r (fun () -> parse opts def ar (ix + 2) max (i + 1)) + end + +let parse_array specs others args offset = + parse specs others args offset (Array.length args - 1) 0 + +let parse_cmdline specs others = + if Array.length Sys.argv = 1 then Empty + else parse_array specs others Sys.argv 1 + +let parse_string specs others (str:string) = + let split_spaces (str:string) = + let seps = [int_of_char ' '; int_of_char '\t'] in + FStar_List.filter (fun s -> s != "") (FStar_String.split seps str) + in + (* to match the style of the F# code in FStar.GetOpt.fs *) + let index_of str c = + try + String.index str c + with Not_found -> -1 + in + let substring_from s j = + let len = String.length s - j in + String.sub s j len + in + let rec split_quoted_fragments (str:string) = + let i = index_of str '\'' in + if i < 0 then Some (split_spaces str) + else let prefix = String.sub str 0 i in + let suffix = substring_from str (i + 1) in + let j = index_of suffix '\'' in + if j < 0 then None + else let quoted_frag = String.sub suffix 0 j in + let rest = split_quoted_fragments (substring_from suffix (j + 1)) in + match rest with + | None -> None + | Some rest -> Some (split_spaces prefix @ quoted_frag::rest) + + in + match split_quoted_fragments str with + | None -> Error("Failed to parse options; unmatched quote \"'\"", "") + | Some args -> + parse_array specs others (Array.of_list args) 0 + +let parse_list specs others lst = + parse_array specs others (Array.of_list lst) 0 + +let cmdline () = + Array.to_list (Sys.argv) diff --git a/ocaml/fstar-lib/FStarC_Hash.ml b/stage0/fstar-lib/FStarC_Hash.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Hash.ml rename to stage0/fstar-lib/FStarC_Hash.ml diff --git a/stage0/fstar-lib/FStarC_Json.ml b/stage0/fstar-lib/FStarC_Json.ml new file mode 100644 index 00000000000..120e71eefb0 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Json.ml @@ -0,0 +1,39 @@ +exception UnsupportedJson + +type json = +| JsonNull +| JsonBool of bool +| JsonInt of Z.t +| JsonStr of string +| JsonList of json list +| JsonAssoc of (string * json) list + +let json_of_yojson yjs: json option = + let rec aux yjs = + match yjs with + | `Null -> JsonNull + | `Bool b -> JsonBool b + | `Int i -> JsonInt (Z.of_int i) + | `String s -> JsonStr s + | `List l -> JsonList (List.map aux l) + | `Assoc a -> JsonAssoc (List.map (fun (k, v) -> (k, aux v)) a) + | _ -> raise UnsupportedJson in + try Some (aux yjs) with UnsupportedJson -> None + +let rec yojson_of_json js = + match js with + | JsonNull -> `Null + | JsonBool b -> `Bool b + | JsonInt i -> `Int (Z.to_int i) + | JsonStr s -> `String s + | JsonList l -> `List (List.map yojson_of_json l) + | JsonAssoc a -> `Assoc (List.map (fun (k, v) -> (k, yojson_of_json v)) a) + +let json_of_string str : json option = + let open Yojson.Basic in + try + json_of_yojson (Yojson.Basic.from_string str) + with Yojson.Json_error _ -> None + +let string_of_json json = + Yojson.Basic.to_string (yojson_of_json json) diff --git a/stage0/fstar-lib/FStarC_Parser_LexFStar.ml b/stage0/fstar-lib/FStarC_Parser_LexFStar.ml new file mode 100644 index 00000000000..25be6188616 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Parser_LexFStar.ml @@ -0,0 +1,719 @@ +open FStarC_Parser_Parse +open FStarC_Parser_Util + +module Option = BatOption +module String = BatString +module Hashtbl = BatHashtbl +module Sedlexing = FStarC_Sedlexing +module L = Sedlexing +module E = FStarC_Errors +module Codes = FStarC_Errors_Codes +module BU = FStarC_Compiler_Util + +let ba_of_string s = Array.init (String.length s) (fun i -> Char.code (String.get s i)) +let array_trim_both a n m = Array.sub a n (Array.length a - n - m) +let string_trim_both s n m = BatString.sub s n (String.length s - (n+m)) +let trim_both lexbuf n m = string_trim_both (L.lexeme lexbuf) n m +let utrim_both lexbuf n m = array_trim_both (L.ulexeme lexbuf) n m +let trim_right lexbuf n = trim_both lexbuf 0 n +let trim_left lexbuf n = trim_both lexbuf n 0 + +let unescape (a:int array) : int = + match a.(0) with + | 92 (* \ *) -> + (match a.(1) with + | 48 (*0*) -> 0 + | 98 (*b*) -> 8 + | 116 (*t*) -> 9 + | 110 (*n*) -> 10 + | 118 (*v*) -> 11 + | 102 (*f*) -> 12 + | 114 (*r*) -> 13 + | 117 (*u*) -> + let s = FStarC_Parser_Utf8.from_int_array a 2 4 in + int_of_string ("0x"^s) + | 120 (*x*) -> + let s = FStarC_Parser_Utf8.from_int_array a 2 2 in + int_of_string ("0x"^s) + | c -> c) + | c -> c + +let keywords = Hashtbl.create 0 +let constructors = Hashtbl.create 0 +let operators = Hashtbl.create 0 + +let () = + Hashtbl.add keywords "attributes" ATTRIBUTES ; + Hashtbl.add keywords "noeq" NOEQUALITY ; + Hashtbl.add keywords "unopteq" UNOPTEQUALITY ; + Hashtbl.add keywords "and" AND ; + Hashtbl.add keywords "assert" ASSERT ; + Hashtbl.add keywords "assume" ASSUME ; + Hashtbl.add keywords "begin" BEGIN ; + Hashtbl.add keywords "by" BY ; + Hashtbl.add keywords "calc" CALC ; + Hashtbl.add keywords "class" CLASS ; + Hashtbl.add keywords "default" DEFAULT ; + Hashtbl.add keywords "decreases" DECREASES ; + Hashtbl.add keywords "effect" EFFECT ; + Hashtbl.add keywords "eliminate" ELIM; + Hashtbl.add keywords "else" ELSE ; + Hashtbl.add keywords "end" END ; + Hashtbl.add keywords "ensures" ENSURES ; + Hashtbl.add keywords "exception" EXCEPTION ; + Hashtbl.add keywords "exists" (EXISTS false); + Hashtbl.add keywords "false" FALSE ; + Hashtbl.add keywords "friend" FRIEND ; + Hashtbl.add keywords "forall" (FORALL false); + Hashtbl.add keywords "fun" FUN ; + Hashtbl.add keywords "λ" FUN ; + Hashtbl.add keywords "function" FUNCTION ; + Hashtbl.add keywords "if" IF ; + Hashtbl.add keywords "in" IN ; + Hashtbl.add keywords "include" INCLUDE ; + Hashtbl.add keywords "inline" INLINE ; + Hashtbl.add keywords "inline_for_extraction" INLINE_FOR_EXTRACTION ; + Hashtbl.add keywords "instance" INSTANCE ; + Hashtbl.add keywords "introduce" INTRO ; + Hashtbl.add keywords "irreducible" IRREDUCIBLE ; + Hashtbl.add keywords "let" (LET false) ; + Hashtbl.add keywords "logic" LOGIC ; + Hashtbl.add keywords "match" MATCH ; + Hashtbl.add keywords "returns" RETURNS ; + Hashtbl.add keywords "as" AS ; + Hashtbl.add keywords "module" MODULE ; + Hashtbl.add keywords "new" NEW ; + Hashtbl.add keywords "new_effect" NEW_EFFECT ; + Hashtbl.add keywords "layered_effect" LAYERED_EFFECT ; + Hashtbl.add keywords "polymonadic_bind" POLYMONADIC_BIND ; + Hashtbl.add keywords "polymonadic_subcomp" POLYMONADIC_SUBCOMP ; + Hashtbl.add keywords "noextract" NOEXTRACT ; + Hashtbl.add keywords "of" OF ; + Hashtbl.add keywords "open" OPEN ; + Hashtbl.add keywords "opaque" OPAQUE ; + Hashtbl.add keywords "private" PRIVATE ; + Hashtbl.add keywords "quote" QUOTE ; + Hashtbl.add keywords "range_of" RANGE_OF ; + Hashtbl.add keywords "rec" REC ; + Hashtbl.add keywords "reifiable" REIFIABLE ; + Hashtbl.add keywords "reify" REIFY ; + Hashtbl.add keywords "reflectable" REFLECTABLE ; + Hashtbl.add keywords "requires" REQUIRES ; + Hashtbl.add keywords "set_range_of" SET_RANGE_OF; + Hashtbl.add keywords "sub_effect" SUB_EFFECT ; + Hashtbl.add keywords "synth" SYNTH ; + Hashtbl.add keywords "then" THEN ; + Hashtbl.add keywords "total" TOTAL ; + Hashtbl.add keywords "true" TRUE ; + Hashtbl.add keywords "try" TRY ; + Hashtbl.add keywords "type" TYPE ; + Hashtbl.add keywords "unfold" UNFOLD ; + Hashtbl.add keywords "unfoldable" UNFOLDABLE ; + Hashtbl.add keywords "val" VAL ; + Hashtbl.add keywords "when" WHEN ; + Hashtbl.add keywords "with" WITH ; + Hashtbl.add keywords "_" UNDERSCORE ; + Hashtbl.add keywords "α" (TVAR "a") ; + Hashtbl.add keywords "β" (TVAR "b") ; + Hashtbl.add keywords "γ" (TVAR "c") ; + Hashtbl.add keywords "δ" (TVAR "d") ; + Hashtbl.add keywords "ε" (TVAR "e") ; + Hashtbl.add keywords "φ" (TVAR "f") ; + Hashtbl.add keywords "χ" (TVAR "g") ; + Hashtbl.add keywords "η" (TVAR "h") ; + Hashtbl.add keywords "ι" (TVAR "i") ; + Hashtbl.add keywords "κ" (TVAR "k") ; + Hashtbl.add keywords "μ" (TVAR "m") ; + Hashtbl.add keywords "ν" (TVAR "n") ; + Hashtbl.add keywords "Ï€" (TVAR "p") ; + Hashtbl.add keywords "θ" (TVAR "q") ; + Hashtbl.add keywords "Ï" (TVAR "r") ; + Hashtbl.add keywords "σ" (TVAR "s") ; + Hashtbl.add keywords "Ï„" (TVAR "t") ; + Hashtbl.add keywords "ψ" (TVAR "u") ; + Hashtbl.add keywords "ω" (TVAR "w") ; + Hashtbl.add keywords "ξ" (TVAR "x") ; + Hashtbl.add keywords "ζ" (TVAR "z") ; + Hashtbl.add constructors "â„•" (IDENT "nat"); + Hashtbl.add constructors "ℤ" (IDENT "int"); + Hashtbl.add constructors "ð”¹" (IDENT "bool"); + let l = + ["~", TILDE "~"; + "-", MINUS; + "/\\", CONJUNCTION; + "\\/", DISJUNCTION; + "<:", SUBTYPE; + "$:", EQUALTYPE; + "<@", SUBKIND; + "(|", LENS_PAREN_LEFT; + "|)", LENS_PAREN_RIGHT; + "#", HASH; + "u#", UNIV_HASH; + "&", AMP; + "()", LPAREN_RPAREN; + "(", LPAREN; + ")", RPAREN; + ",", COMMA; + "~>", SQUIGGLY_RARROW; + "->", RARROW; + "<--", LONG_LEFT_ARROW; + "<-", LARROW; + "<==>", IFF; + "==>", IMPLIES; + ".", DOT; + "?.", QMARK_DOT; + "?", QMARK; + ".[", DOT_LBRACK; + ".(|", DOT_LENS_PAREN_LEFT; + ".(", DOT_LPAREN; + ".[|", DOT_LBRACK_BAR; + "{:pattern", LBRACE_COLON_PATTERN; + "{:well-founded", LBRACE_COLON_WELL_FOUNDED; + "returns$", RETURNS_EQ; + ":", COLON; + "::", COLON_COLON; + ":=", COLON_EQUALS; + ";", SEMICOLON; + "=", EQUALS; + "%[", PERCENT_LBRACK; + "!{", BANG_LBRACE; + "[@@@", LBRACK_AT_AT_AT; + "[@@", LBRACK_AT_AT; + "[@", LBRACK_AT; + "[", LBRACK; + "[|", LBRACK_BAR; + "{|", LBRACE_BAR; + "|>", PIPE_RIGHT; + "]", RBRACK; + "|]", BAR_RBRACK; + "|}", BAR_RBRACE; + "{", LBRACE; + "|", BAR; + "}", RBRACE; + "$", DOLLAR; + (* New Unicode equivalents *) + "∀", (FORALL false); + "∃", (EXISTS false); + "⊤", NAME "True"; + "⊥", NAME "False"; + "⟹", IMPLIES; + "⟺", IFF; + "→", RARROW; + "â†", LARROW; + "⟵", LONG_LEFT_ARROW; + "â†", SQUIGGLY_RARROW; + "≔", COLON_EQUALS; + "∧", CONJUNCTION; + "∨", DISJUNCTION; + "¬", TILDE "~"; + "⸬", COLON_COLON; + "â–¹", PIPE_RIGHT; + "÷", OPINFIX3 "÷"; + "‖", OPINFIX0a "||"; + "×", IDENT "op_Multiply"; + "∗", OPINFIX3 "*"; + "⇒", OPINFIX0c "=>"; + "≥", OPINFIX0c ">="; + "≤", OPINFIX0c "<="; + "≠", OPINFIX0c "<>"; + "≪", OPINFIX0c "<<"; + "â—ƒ", OPINFIX0c "<|"; + "±", OPPREFIX "±"; + "âˆ", OPPREFIX "âˆ"; + "∂", OPPREFIX "∂"; + "√", OPPREFIX "√"; + ] in + List.iter (fun (k,v) -> Hashtbl.add operators k v) l + +let current_range lexbuf = + FStarC_Parser_Util.mksyn_range (fst (L.range lexbuf)) (snd (L.range lexbuf)) + +let fail lexbuf (e, msg) = + let m = current_range lexbuf in + E.raise_error_text m e msg + +type delimiters = { angle:int ref; paren:int ref; } +let n_typ_apps = ref 0 + +let is_typ_app_gt () = + if !n_typ_apps > 0 + then (decr n_typ_apps; true) + else false + +let rec mknewline n lexbuf = + if n = 0 then () + else (L.new_line lexbuf; mknewline (n-1) lexbuf) + +let clean_number x = String.strip ~chars:"uzyslLUnIN" x + +(* Try to trim each line of [comment] by the ammount of space + on the first line of the comment if possible *) +(* TODO : apply this to FSDOC too *) +let maybe_trim_lines start_column comment = + if start_column = 0 then comment + else + let comment_lines = String.split_on_char '\n' comment in + let ensures_empty_prefix k s = + let j = min k (String.length s - 1) in + let rec aux i = if i > j then k else if s.[i] <> ' ' then i else aux (i+1) in + aux 0 in + let trim_width = List.fold_left ensures_empty_prefix start_column comment_lines in + String.concat "\n" (List.map (fun s -> String.tail s trim_width) comment_lines) + +let comment_buffer = Buffer.create 128 +let blob_buffer = Buffer.create 128 +let use_lang_buffer = Buffer.create 128 + +let start_comment lexbuf = + Buffer.add_string comment_buffer "(*" ; + (false, comment_buffer, fst (L.range lexbuf)) + +let terminate_comment buffer startpos lexbuf = + let endpos = snd (L.range lexbuf) in + Buffer.add_string buffer "*)" ; + let comment = Buffer.contents buffer in + let comment = maybe_trim_lines (startpos.Lexing.pos_cnum - startpos.Lexing.pos_bol) comment in + Buffer.clear buffer; + add_comment (comment, FStarC_Parser_Util.mksyn_range startpos endpos) + +let push_one_line_comment pre lexbuf = + let startpos, endpos = L.range lexbuf in + assert (startpos.Lexing.pos_lnum = endpos.Lexing.pos_lnum); + add_comment (pre ^ L.lexeme lexbuf, FStarC_Parser_Util.mksyn_range startpos endpos) + +(** Unicode class definitions + Auto-generated from http:/ /www.unicode.org/Public/8.0.0/ucd/UnicodeData.txt **) +(** Ll **) +let u_lower = [%sedlex.regexp? ll] +(** Lu *) +let u_upper = [%sedlex.regexp? lu] +(** Lo *) +let u_other = [%sedlex.regexp? lo] +(** Lm *) +let u_modifier = [%sedlex.regexp? lm] +(** Lt *) +let u_title = [%sedlex.regexp? lt] +(** Zs *) +let u_space = [%sedlex.regexp? zs] +(** These are not unicode spaces but we accept as whitespace in F* source (e.g. tab and BOM) *) +let u_space_extra = [%sedlex.regexp? '\t' | '\x0B' | '\x0C' | '\xA0' | 0xfeff] +(** Zl and Zp *) +let u_line_sep = [%sedlex.regexp? zl] +let u_par_sep = [%sedlex.regexp? zp] +(** Sm math symbols *) +let u_math = [%sedlex.regexp? sm] +let u_math_ascii = [%sedlex.regexp? 0x002b | 0x003c .. 0x003e | 0x007c | 0x007e] +let u_math_nonascii = [%sedlex.regexp? Sub(u_math, u_math_ascii)] +(** Sc currency *) +let u_currency = [%sedlex.regexp? sc] +(** Sk *) +let u_modifier_symbol = [%sedlex.regexp? sk] +(** So *) +let u_other_symbol = [%sedlex.regexp? so] +(** Nd *) +let u_decimal_digit = [%sedlex.regexp? nd] +(** Nl *) +let u_digit_letter = [%sedlex.regexp? nl] +(** No *) +let u_other_digit = [%sedlex.regexp? no] +(** Pd *) +let u_punct_hyphen = [%sedlex.regexp? pd] +(** Ps *) +let u_punct_obra = [%sedlex.regexp? ps] +(** Pe *) +let u_punct_cbra = [%sedlex.regexp? pe] +(** Pi *) +let u_punct_oquot = [%sedlex.regexp? pi] +(** Pf *) +let u_punct_cquot = [%sedlex.regexp? pf] +(** Pc *) +let u_punct_connect = [%sedlex.regexp? pc] +(** Po *) +let u_punct_other = [%sedlex.regexp? po] +(** Mn *) +let u_mod_nospace = [%sedlex.regexp? mn] +(** Mc *) +let u_mod = [%sedlex.regexp? mc] +(** Me *) +let u_mod_enclose = [%sedlex.regexp? me] +(** Cc *) +let u_ascii_control = [%sedlex.regexp? cc] +(** Cf *) +let u_format_control = [%sedlex.regexp? cf] +(** Co *) +let u_private_use = [%sedlex.regexp? co] +(** Cs *) +let u_surrogate = [%sedlex.regexp? cs] + +(* -------------------------------------------------------------------- *) +let lower = [%sedlex.regexp? u_lower] +let upper = [%sedlex.regexp? u_upper | u_title] +let letter = [%sedlex.regexp? u_lower | u_upper | u_other | u_modifier] +let digit = [%sedlex.regexp? '0'..'9'] +let hex = [%sedlex.regexp? '0'..'9' | 'A'..'F' | 'a'..'f'] + +(* -------------------------------------------------------------------- *) +let anywhite = [%sedlex.regexp? u_space | u_space_extra] +let newline = [%sedlex.regexp? "\r\n" | 10 | 13 | 0x2028 | 0x2029] + +(* -------------------------------------------------------------------- *) +let op_char = [%sedlex.regexp? Chars "!$%&*+-.<>=?^|~:@#\\/"] + +(* op_token must be splt into seperate regular expressions to prevent + compliation from hanging *) +let op_token_1 = [%sedlex.regexp? "~" | "-" | "/\\" | "\\/" | "<:" | "$:" | "<@" | "(|" | "|)" | "#" ] +let op_token_2 = [%sedlex.regexp? "u#" | "&" | "()" | "(" | ")" | "," | "~>" | "->" | "<--" ] +let op_token_3 = [%sedlex.regexp? "<-" | "<==>" | "==>" | "." | "?." | "?" | ".[|" | ".[" | ".(|" | ".(" ] +let op_token_4 = [%sedlex.regexp? "$" | "{:pattern" | "{:well-founded" | ":" | "::" | ":=" | ";;" | ";" | "=" | "%[" | "returns$" ] +let op_token_5 = [%sedlex.regexp? "!{" | "[@@@" | "[@@" | "[@" | "[|" | "{|" | "[" | "|>" | "]" | "|]" | "|}" | "{" | "|" | "}" ] + +(* -------------------------------------------------------------------- *) +let xinteger = + [%sedlex.regexp? + ( '0', ('x'| 'X'), Plus hex + | '0', ('o'| 'O'), Plus ('0' .. '7') + | '0', ('b'| 'B'), Plus ('0' .. '1') )] +let integer = [%sedlex.regexp? Plus digit] +let any_integer = [%sedlex.regexp? xinteger | integer] +let unsigned = [%sedlex.regexp? Chars "uU"] +let int8 = [%sedlex.regexp? any_integer, 'y'] +let uint8 = [%sedlex.regexp? any_integer, unsigned, 'y'] +let int16 = [%sedlex.regexp? any_integer, 's'] +let uint16 = [%sedlex.regexp? any_integer, unsigned, 's'] +let int32 = [%sedlex.regexp? any_integer, 'l'] +let uint32 = [%sedlex.regexp? any_integer, unsigned, 'l'] +let int64 = [%sedlex.regexp? any_integer, 'L'] +let uint64 = [%sedlex.regexp? any_integer, unsigned, 'L'] +let char8 = [%sedlex.regexp? any_integer, 'z'] +let sizet = [%sedlex.regexp? any_integer, "sz"] + +let floatp = [%sedlex.regexp? Plus digit, '.', Star digit] +let floate = [%sedlex.regexp? Plus digit, Opt ('.', Star digit), Chars "eE", Opt (Chars "+-"), Plus digit] +let real = [%sedlex.regexp? floatp, 'R'] +let ieee64 = [%sedlex.regexp? floatp | floate] +let xieee64 = [%sedlex.regexp? xinteger, 'L', 'F'] +let range = [%sedlex.regexp? Plus digit, '.', '.', Plus digit] + +let op_prefix = [%sedlex.regexp? Chars "!~?"] +let op_infix0a = [%sedlex.regexp? Chars "|"] (* left *) +let op_infix0b = [%sedlex.regexp? Chars "&"] (* left *) +let op_infix0c = [%sedlex.regexp? Chars "=<>"] (* left *) +let op_infix0c_nogt = [%sedlex.regexp? Chars "=<"] (* left *) +let op_infix0d = [%sedlex.regexp? Chars "$"] (* left *) + +let op_infix0 = [%sedlex.regexp? op_infix0a | op_infix0b | op_infix0c | op_infix0d] +let op_infix1 = [%sedlex.regexp? Chars "@^"] (* right *) +let op_infix2 = [%sedlex.regexp? Chars "+-"] (* left *) +let op_infix3 = [%sedlex.regexp? Chars "*/%"] (* left *) +let symbolchar = [%sedlex.regexp? op_prefix | op_infix0 | op_infix1 | op_infix2 | op_infix3 | Chars ".:"] +let uoperator = [%sedlex.regexp? u_math_nonascii] + +(* -------------------------------------------------------------------- *) +let escape_char = [%sedlex.regexp? '\\', (Chars "\\\"'bfntrv0" | "x", hex, hex | "u", hex, hex, hex, hex)] +let char = [%sedlex.regexp? Compl '\\' | escape_char] + +(* -------------------------------------------------------------------- *) +let constructor_start_char = [%sedlex.regexp? upper] +let ident_start_char = [%sedlex.regexp? lower | '_'] +let ident_char = [%sedlex.regexp? letter | digit | '\'' | '_'] +let tvar_char = [%sedlex.regexp? letter | digit | '\'' | '_'] + +let constructor = [%sedlex.regexp? constructor_start_char, Star ident_char] +let ident = [%sedlex.regexp? ident_start_char, Star ident_char] +let tvar = [%sedlex.regexp? '\'', (ident_start_char | constructor_start_char), Star tvar_char] + +(* [ensure_no_comment lexbuf next] takes a [lexbuf] and [next], a + continuation. It is to be called after a regexp was matched, to + ensure match text does not contain any comment start. + + If the match [s] contains a comment start (an occurence of [//]) + then we place the lexer at that comment start. We continue with + [next s], [s] being either the whole match, or the chunk before + [//]. +*) +let ensure_no_comment lexbuf (next: string -> token): token = + let s = L.lexeme lexbuf in + next (try let before, _after = BatString.split s "//" in + (* rollback to the begining of the match *) + L.rollback lexbuf; + (* skip [n] characters in the lexer, with [n] being [hd]'s len *) + BatString.iter (fun _ -> let _ = L.next lexbuf in ()) before; + before with | Not_found -> s) + +let rec token lexbuf = +match%sedlex lexbuf with + | "%splice" -> SPLICE + | "%splice_t" -> SPLICET + | "```", ident -> + 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 snap name pos blob_buffer lexbuf + | "`%" -> BACKTICK_PERC + | "`#" -> BACKTICK_HASH + | "`@" -> BACKTICK_AT + | "#lang-", ident -> ( + let s = L.lexeme lexbuf in + let lang_name = BatString.lchop ~n:6 s in + let snap = Sedlexing.snapshot lexbuf in + Buffer.clear use_lang_buffer; + let pos = L.current_pos lexbuf in + use_lang_blob snap lang_name pos use_lang_buffer lexbuf + ) + + | "seq![" -> SEQ_BANG_LBRACK + + | "#show-options" -> PRAGMA_SHOW_OPTIONS + | "#set-options" -> PRAGMA_SET_OPTIONS + | "#reset-options" -> PRAGMA_RESET_OPTIONS + | "#push-options" -> PRAGMA_PUSH_OPTIONS + | "#pop-options" -> PRAGMA_POP_OPTIONS + | "#restart-solver" -> PRAGMA_RESTART_SOLVER + | "#print-effects-graph" -> PRAGMA_PRINT_EFFECTS_GRAPH + | "__SOURCE_FILE__" -> STRING (BU.basename (L.source_file lexbuf)) + | "__LINE__" -> INT (string_of_int (L.current_line lexbuf), false) + | "__FILELINE__" -> STRING (BU.basename (L.source_file lexbuf) ^ "(" ^ (string_of_int (L.current_line lexbuf)) ^ ")") + + | Plus anywhite -> token lexbuf + | newline -> L.new_line lexbuf; token lexbuf + + (* Must appear before tvar to avoid 'a <-> 'a' conflict *) + | ('\'', char, '\'') -> CHAR (unescape (utrim_both lexbuf 1 1)) + | ('\'', char, '\'', 'B') -> CHAR (unescape (utrim_both lexbuf 1 2)) + | '`' -> BACKTICK + + | "match", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:5 s with + | "" -> MATCH + | s -> MATCH_OP s + ) + + | "if", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:2 s with + | "" -> IF + | s -> IF_OP s + ) + + | "let", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:3 s with + | "" -> LET false + | s -> LET_OP s + ) + + | "exists", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:6 s with + | "" -> EXISTS false + | s -> EXISTS_OP s + ) + + | "∃", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> EXISTS false + | s -> EXISTS_OP s + ) + + | "forall", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:6 s with + | "" -> FORALL false + | s -> FORALL_OP s + ) + + | "∀", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> FORALL false + | s -> FORALL_OP s + ) + + | "and", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:3 s with + | "" -> AND + | s -> AND_OP s + ) + + | ";", Plus op_char -> + ensure_no_comment lexbuf (fun s -> + match BatString.lchop ~n:1 s with + | "" -> SEMICOLON + | s -> SEMICOLON_OP (Some s) + ) + + | ";;" -> SEMICOLON_OP None + + | ident -> let id = L.lexeme lexbuf in + if BU.starts_with id FStarC_Ident.reserved_prefix + then FStarC_Errors.raise_error_text (current_range lexbuf) Codes.Fatal_ReservedPrefix + (FStarC_Ident.reserved_prefix ^ " is a reserved prefix for an identifier"); + Hashtbl.find_option keywords id |> Option.default (IDENT id) + | constructor -> let id = L.lexeme lexbuf in + Hashtbl.find_option constructors id |> Option.default (NAME id) + + | tvar -> TVAR (L.lexeme lexbuf) + | (integer | xinteger) -> INT (clean_number (L.lexeme lexbuf), false) + | (uint8 | char8) -> + let c = clean_number (L.lexeme lexbuf) in + let cv = int_of_string c in + if cv < 0 || cv > 255 then fail lexbuf (Codes.Fatal_SyntaxError, "Out-of-range character literal") + else UINT8 (c) + | int8 -> INT8 (clean_number (L.lexeme lexbuf), false) + | uint16 -> UINT16 (clean_number (L.lexeme lexbuf)) + | int16 -> INT16 (clean_number (L.lexeme lexbuf), false) + | uint32 -> UINT32 (clean_number (L.lexeme lexbuf)) + | int32 -> INT32 (clean_number (L.lexeme lexbuf), false) + | uint64 -> UINT64 (clean_number (L.lexeme lexbuf)) + | int64 -> INT64 (clean_number (L.lexeme lexbuf), false) + | sizet -> SIZET (clean_number (L.lexeme lexbuf)) + | range -> RANGE (L.lexeme lexbuf) + | real -> REAL(trim_right lexbuf 1) + | (integer | xinteger | ieee64 | xieee64), Plus ident_char -> + fail lexbuf (Codes.Fatal_SyntaxError, "This is not a valid numeric literal: " ^ L.lexeme lexbuf) + + | "(*" -> + let inner, buffer, startpos = start_comment lexbuf in + comment inner buffer startpos lexbuf + + | "// IN F*:" -> token lexbuf + | "//" -> + (* Only match on "//" to allow the longest-match rule to catch IN F*. This + * creates a lexing conflict with op_infix3 which is caught below. *) + one_line_comment (L.lexeme lexbuf) lexbuf + + | '"' -> string (Buffer.create 0) lexbuf.Sedlexing.start_p lexbuf + + | '`', '`', (Plus (Compl ('`' | 10 | 13 | 0x2028 | 0x2029) | '`', Compl ('`' | 10 | 13 | 0x2028 | 0x2029))), '`', '`' -> + IDENT (trim_both lexbuf 2 2) + + (* Pipe operators have special treatment in the parser. *) + | "<|" -> PIPE_LEFT + | "|>" -> PIPE_RIGHT + + | op_token_1 + | op_token_2 + | op_token_3 + | op_token_4 + | op_token_5 -> L.lexeme lexbuf |> Hashtbl.find operators + + | "<" -> OPINFIX0c("<") + | ">" -> if is_typ_app_gt () + then TYP_APP_GREATER + else begin match%sedlex lexbuf with + | Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c (">" ^ s)) + | _ -> assert false end + + (* Operators. *) + | op_prefix, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPPREFIX s) + | op_infix0a, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0a s) + | op_infix0b, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0b s) + | op_infix0c_nogt, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0c s) + | op_infix0d, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX0d s) + | op_infix1, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX1 s) + | op_infix2, Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX2 s) + | op_infix3, Star symbolchar -> ensure_no_comment lexbuf (function + | "" -> one_line_comment "" lexbuf + | s -> OPINFIX3 s + ) + | "**" , Star symbolchar -> ensure_no_comment lexbuf (fun s -> OPINFIX4 s) + + (* Unicode Operators *) + | uoperator -> let id = L.lexeme lexbuf in + Hashtbl.find_option operators id |> Option.default (OPINFIX4 id) + + | ".[]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".()<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".(||)<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".[||]<-" -> OP_MIXFIX_ASSIGNMENT (L.lexeme lexbuf) + | ".[]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".()" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".(||)" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + | ".[||]" -> OP_MIXFIX_ACCESS (L.lexeme lexbuf) + + | eof -> EOF + | _ -> fail lexbuf (Codes.Fatal_SyntaxError, "unexpected char") + +and one_line_comment pre lexbuf = +match%sedlex lexbuf with + | Star (Compl (10 | 13 | 0x2028 | 0x2029)) -> push_one_line_comment pre lexbuf; token lexbuf + | _ -> assert false + +and string buffer start_pos lexbuf = +match%sedlex lexbuf with + | '\\', newline, Star anywhite -> L.new_line lexbuf; string buffer start_pos lexbuf + | newline -> + Buffer.add_string buffer (L.lexeme lexbuf); + L.new_line lexbuf; string buffer start_pos lexbuf + | escape_char -> + Buffer.add_string buffer (BatUTF8.init 1 (fun _ -> unescape (L.ulexeme lexbuf) |> BatUChar.chr)); + string buffer start_pos lexbuf + | '"' -> + (* position info must be set since the start of the string *) + lexbuf.Sedlexing.start_p <- start_pos; + STRING (Buffer.contents buffer) + | eof -> fail lexbuf (Codes.Fatal_SyntaxError, "unterminated string") + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + string buffer start_pos lexbuf + | _ -> assert false + +and comment inner buffer startpos lexbuf = +match%sedlex lexbuf with + | "(*" -> + Buffer.add_string buffer "(*" ; + let _ = comment true buffer startpos lexbuf in + comment inner buffer startpos lexbuf + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + comment inner buffer startpos lexbuf + | "*)" -> + terminate_comment buffer startpos lexbuf; + if inner then EOF else token lexbuf + | eof -> + terminate_comment buffer startpos lexbuf; EOF + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + comment inner buffer startpos lexbuf + | _ -> assert false + +and uninterpreted_blob snap name pos buffer lexbuf = +match %sedlex lexbuf with + | "```" -> + BLOB(name, Buffer.contents buffer, pos, snap) + | eof -> + E.raise_error_text (current_range lexbuf) Codes.Fatal_SyntaxError + "Syntax error: unterminated extension syntax" + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + uninterpreted_blob snap name pos buffer lexbuf + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + uninterpreted_blob snap name pos buffer lexbuf + | _ -> assert false + +and use_lang_blob snap name pos buffer lexbuf = +match %sedlex lexbuf with + | eof -> + L.rollback lexbuf; (* leave the eof to be consumed later *) + USE_LANG_BLOB(name, Buffer.contents buffer, pos, snap) + | newline -> + L.new_line lexbuf; + Buffer.add_string buffer (L.lexeme lexbuf); + use_lang_blob snap name pos buffer lexbuf + | any -> + Buffer.add_string buffer (L.lexeme lexbuf); + use_lang_blob snap name pos buffer lexbuf + | _ -> assert false + +and ignore_endline lexbuf = +match%sedlex lexbuf with + | Star ' ', newline -> token lexbuf + | _ -> assert false diff --git a/ocaml/fstar-lib/FStarC_Parser_Parse.mly b/stage0/fstar-lib/FStarC_Parser_Parse.mly similarity index 100% rename from ocaml/fstar-lib/FStarC_Parser_Parse.mly rename to stage0/fstar-lib/FStarC_Parser_Parse.mly diff --git a/ocaml/fstar-lib/FStarC_Parser_ParseIt.ml b/stage0/fstar-lib/FStarC_Parser_ParseIt.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Parser_ParseIt.ml rename to stage0/fstar-lib/FStarC_Parser_ParseIt.ml diff --git a/ocaml/fstar-lib/FStarC_Parser_ParseIt.mli b/stage0/fstar-lib/FStarC_Parser_ParseIt.mli similarity index 100% rename from ocaml/fstar-lib/FStarC_Parser_ParseIt.mli rename to stage0/fstar-lib/FStarC_Parser_ParseIt.mli diff --git a/stage0/fstar-lib/FStarC_Parser_Utf8.ml b/stage0/fstar-lib/FStarC_Parser_Utf8.ml new file mode 100644 index 00000000000..ad7c081844d --- /dev/null +++ b/stage0/fstar-lib/FStarC_Parser_Utf8.ml @@ -0,0 +1,164 @@ +(* + Originally part of the ulex package with the following license: + + Copyright 2005 by Alain Frisch. + + Permission is hereby granted, free of charge, to any person obtaining + a copy of this software and associated documentation files (the + "Software"), to deal in the Software without restriction, including + without limitation the rights to use, copy, modify, merge, publish, + distribute, sublicense, and/or sell copies of the Software, and to + permit persons to whom the Software is furnished to do so, subject to + the following conditions: + + The above copyright notice and this permission notice shall be + included in all copies or substantial portions of the Software. + + THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, + EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF + MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND + NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE + LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION + OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION + WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. +*) + + +exception MalFormed + +(* cf http://www.faqs.org/rfcs/rfc3629.html *) + +let width = Array.make 256 (-1) +let () = + for i = 0 to 127 do width.(i) <- 1 done; + for i = 192 to 223 do width.(i) <- 2 done; + for i = 224 to 239 do width.(i) <- 3 done; + for i = 240 to 247 do width.(i) <- 4 done + +let next s i = + match s.[i] with + | '\000'..'\127' as c -> + Char.code c + | '\192'..'\223' as c -> + let n1 = Char.code c in + let n2 = Char.code s.[i+1] in + if (n2 lsr 6 != 0b10) then raise MalFormed; + ((n1 land 0x1f) lsl 6) lor (n2 land 0x3f) + | '\224'..'\239' as c -> + let n1 = Char.code c in + let n2 = Char.code s.[i+1] in + let n3 = Char.code s.[i+2] in + if (n2 lsr 6 != 0b10) || (n3 lsr 6 != 0b10) then raise MalFormed; + let p = + ((n1 land 0x0f) lsl 12) lor ((n2 land 0x3f) lsl 6) lor (n3 land 0x3f) + in + if (p >= 0xd800) && (p <= 0xdf00) then raise MalFormed; + p + | '\240'..'\247' as c -> + let n1 = Char.code c in + let n2 = Char.code s.[i+1] in + let n3 = Char.code s.[i+2] in + let n4 = Char.code s.[i+3] in + if (n2 lsr 6 != 0b10) || (n3 lsr 6 != 0b10) || (n4 lsr 6 != 0b10) + then raise MalFormed; + ((n1 land 0x07) lsl 18) lor ((n2 land 0x3f) lsl 12) lor + ((n3 land 0x3f) lsl 6) lor (n4 land 0x3f) + | _ -> raise MalFormed + + +(* With this implementation, a truncated code point will result + in Stream.Failure, not in MalFormed. *) + +let from_stream s = + match Stream.next s with + | '\000'..'\127' as c -> + Char.code c + | '\192'..'\223' as c -> + let n1 = Char.code c in + let n2 = Char.code (Stream.next s) in + if (n2 lsr 6 != 0b10) then raise MalFormed; + ((n1 land 0x1f) lsl 6) lor (n2 land 0x3f) + | '\224'..'\239' as c -> + let n1 = Char.code c in + let n2 = Char.code (Stream.next s) in + let n3 = Char.code (Stream.next s) in + if (n2 lsr 6 != 0b10) || (n3 lsr 6 != 0b10) then raise MalFormed; + ((n1 land 0x0f) lsl 12) lor ((n2 land 0x3f) lsl 6) lor (n3 land 0x3f) + | '\240'..'\247' as c -> + let n1 = Char.code c in + let n2 = Char.code (Stream.next s) in + let n3 = Char.code (Stream.next s) in + let n4 = Char.code (Stream.next s) in + if (n2 lsr 6 != 0b10) || (n3 lsr 6 != 0b10) || (n4 lsr 6 != 0b10) + then raise MalFormed; + ((n1 land 0x07) lsl 18) lor ((n2 land 0x3f) lsl 12) lor + ((n3 land 0x3f) lsl 6) lor (n4 land 0x3f) + | _ -> raise MalFormed + + + +let compute_len s pos bytes = + let rec aux n i = + if i >= pos + bytes then if i = pos + bytes then n else raise MalFormed + else + let w = width.(Char.code s.[i]) in + if w > 0 then aux (succ n) (i + w) + else raise MalFormed + in + aux 0 pos + +let rec blit_to_int s spos a apos n = + if n > 0 then begin + a.(apos) <- next s spos; + blit_to_int s (spos + width.(Char.code s.[spos])) a (succ apos) (pred n) + end + +let to_int_array s pos bytes = + let n = compute_len s pos bytes in + let a = Array.make n 0 in + blit_to_int s pos a 0 n; + a + +(**************************) + +let width_code_point p = + if p <= 0x7f then 1 + else if p <= 0x7ff then 2 + else if p <= 0xffff then 3 + else if p <= 0x10ffff then 4 + else raise MalFormed + +let store b p = + if p <= 0x7f then + Buffer.add_char b (Char.chr p) + else if p <= 0x7ff then ( + Buffer.add_char b (Char.chr (0xc0 lor (p lsr 6))); + Buffer.add_char b (Char.chr (0x80 lor (p land 0x3f))) + ) + else if p <= 0xffff then ( + if (p >= 0xd800 && p < 0xe000) then raise MalFormed; + Buffer.add_char b (Char.chr (0xe0 lor (p lsr 12))); + Buffer.add_char b (Char.chr (0x80 lor ((p lsr 6) land 0x3f))); + Buffer.add_char b (Char.chr (0x80 lor (p land 0x3f))) + ) + else if p <= 0x10ffff then ( + Buffer.add_char b (Char.chr (0xf0 lor (p lsr 18))); + Buffer.add_char b (Char.chr (0x80 lor ((p lsr 12) land 0x3f))); + Buffer.add_char b (Char.chr (0x80 lor ((p lsr 6) land 0x3f))); + Buffer.add_char b (Char.chr (0x80 lor (p land 0x3f))) + ) + else raise MalFormed + + +let from_int_array a apos len = + let b = Buffer.create (len * 4) in + let rec aux apos len = + if len > 0 then (store b a.(apos); aux (succ apos) (pred len)) + else Buffer.contents b in + aux apos len + +let stream_from_char_stream s = + Stream.from + (fun _ -> + try Some (from_stream s) + with Stream.Failure -> None) diff --git a/ocaml/fstar-lib/FStarC_Parser_Util.ml b/stage0/fstar-lib/FStarC_Parser_Util.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Parser_Util.ml rename to stage0/fstar-lib/FStarC_Parser_Util.ml diff --git a/ocaml/fstar-lib/FStarC_Platform.ml b/stage0/fstar-lib/FStarC_Platform.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Platform.ml rename to stage0/fstar-lib/FStarC_Platform.ml diff --git a/stage0/fstar-lib/FStarC_Pprint.ml b/stage0/fstar-lib/FStarC_Pprint.ml new file mode 100644 index 00000000000..bbe281ae431 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Pprint.ml @@ -0,0 +1,87 @@ +(* + Copyright 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. +*) + +(* prettyprint.fsti's OCaml implementation is just a thin wrapper around + Francois Pottier's pprint package. *) +include PPrint + +(* FIXME(adl) also print the char in a comment if it's representable *) +let doc_of_char c = PPrint.OCaml.char (Char.chr c) +let doc_of_string = PPrint.string +let doc_of_bool b = PPrint.string (string_of_bool b) +let blank_buffer_doc = [ ("", PPrint.empty) ] + +let substring s ofs len = + PPrint.substring s (Z.to_int ofs) (Z.to_int len) + +let fancystring s apparent_length = + PPrint.fancystring s (Z.to_int apparent_length) + +let fancysubstring s ofs len apparent_length = + PPrint.fancysubstring s (Z.to_int ofs) (Z.to_int len) (Z.to_int apparent_length) + +let blank n = PPrint.blank (Z.to_int n) + +let break_ n = PPrint.break (Z.to_int n) + +let op_Hat_Hat = PPrint.(^^) +let op_Hat_Slash_Hat = PPrint.(^/^) + +let nest j doc = PPrint.nest (Z.to_int j) doc + +let long_left_arrow = PPrint.string "<--" +let larrow = PPrint.string "<-" +let rarrow = PPrint.string "->" + +let repeat n doc = PPrint.repeat (Z.to_int n) doc + +let hang n doc = PPrint.hang (Z.to_int n) doc + +let prefix n b left right = + PPrint.prefix (Z.to_int n) (Z.to_int b) left right + +let jump n b right = + PPrint.jump (Z.to_int n) (Z.to_int b) right + +let infix n b middle left right = + PPrint.infix (Z.to_int n) (Z.to_int b) middle left right + +let surround n b opening contents closing = + PPrint.surround (Z.to_int n) (Z.to_int b) opening contents closing + +let soft_surround n b opening contents closing = + PPrint.soft_surround (Z.to_int n) (Z.to_int b) opening contents closing + +let surround_separate n b void_ opening sep closing docs = + PPrint.surround_separate (Z.to_int n) (Z.to_int b) void_ opening sep closing docs + +let surround_separate_map n b void_ opening sep closing f xs = + PPrint.surround_separate_map (Z.to_int n) (Z.to_int b) void_ opening sep closing f xs + +(* Wrap up ToBuffer.pretty. *) +let pretty_string rfrac width doc = + let buf = Buffer.create 0 in + PPrint.ToBuffer.pretty rfrac (Z.to_int width) buf doc; + Buffer.contents buf + +(* Wrap up ToChannel.pretty *) +let pretty_out_channel rfrac width doc ch = + PPrint.ToChannel.pretty rfrac (Z.to_int width) ch doc; + flush ch + +(* A simple renderer, with some default values. *) +let render (doc:document) : string = + pretty_string 1.0 (Z.of_int 80) doc diff --git a/stage0/fstar-lib/FStarC_Reflection_Types.ml b/stage0/fstar-lib/FStarC_Reflection_Types.ml new file mode 100644 index 00000000000..f0a3c0a42da --- /dev/null +++ b/stage0/fstar-lib/FStarC_Reflection_Types.ml @@ -0,0 +1,26 @@ +open FStar_All + +(* TODO: make this an F* module, no need to drop to OCaml for this *) + +type binder = FStarC_Syntax_Syntax.binder +type bv = FStarC_Syntax_Syntax.bv +type namedv = bv +type term = FStarC_Syntax_Syntax.term +type env = FStarC_TypeChecker_Env.env +type fv = FStarC_Syntax_Syntax.fv +type comp = FStarC_Syntax_Syntax.comp +type sigelt = FStarC_Syntax_Syntax.sigelt +type ctx_uvar_and_subst = FStarC_Syntax_Syntax.ctx_uvar_and_subst +type optionstate = FStarC_Options.optionstate +type letbinding = FStarC_Syntax_Syntax.letbinding + +type universe_uvar = FStarC_Syntax_Syntax.universe_uvar +type universe = FStarC_Syntax_Syntax.universe + +type name = string list +type ident = FStarC_Ident.ident +type univ_name = ident +type typ = term +type binders = binder list +type match_returns_ascription = FStarC_Syntax_Syntax.match_returns_ascription +type decls = sigelt list diff --git a/stage0/fstar-lib/FStarC_Sedlexing.ml b/stage0/fstar-lib/FStarC_Sedlexing.ml new file mode 100644 index 00000000000..eb4520bd949 --- /dev/null +++ b/stage0/fstar-lib/FStarC_Sedlexing.ml @@ -0,0 +1,126 @@ +(** +A custom version of Sedlexing enhanced with +lc, bol and fname position tracking and +specialized for UTF-8 string inputs +(the parser driver always reads whole files) +**) + +exception Error + +module L = Lexing +type pos = L.position + +type lexbuf = { + buf: int array; + len: int; + + mutable cur: int; + mutable cur_p: pos; + mutable start: int; + mutable start_p: pos; + + mutable mark: int; + mutable mark_p: pos; + mutable mark_val: int; +} + +let get_buf lb = lb.buf +let get_cur lb = lb.cur +let get_start lb = lb.start + +(* N.B. the offsets are for interactive mode + we want to ble able to interpret a fragment as if it was part + of a larger file and report absolute error positions *) +let create (s:string) fn loffset coffset = + let a = FStarC_Parser_Utf8.to_int_array s 0 (String.length s) in + let start_p = { + L.pos_fname = fn; + L.pos_cnum = coffset; + L.pos_bol = 0; + L.pos_lnum = loffset; } + in { + buf = a; + len = Array.length a; + + cur = 0; + cur_p = start_p; + + start = 0; + start_p = start_p; + + mark = 0; + mark_p = start_p; + mark_val = 0; + } + +let current_pos b = b.cur_p + +let start b = + b.mark <- b.cur; + b.mark_val <- (-1); + b.mark_p <- b.cur_p; + b.start <- b.cur; + b.start_p <- b.cur_p + +let mark b i = + b.mark <- b.cur; + b.mark_p <- b.cur_p; + b.mark_val <- i + +let backtrack b = + b.cur <- b.mark; + 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 + let c = b.buf.(b.cur) in + (b.cur <- b.cur + 1; + b.cur_p <- {b.cur_p with L.pos_cnum = b.cur_p.L.pos_cnum + 1}; Some (Uchar.of_int c)) + +let new_line b = + b.cur_p <- { b.cur_p with + L.pos_lnum = b.cur_p.L.pos_lnum + 1; + L.pos_bol = b.cur_p.L.pos_cnum; + } + +let range b = (b.start_p, b.cur_p) + +let ulexeme lexbuf = + Array.sub lexbuf.buf lexbuf.start (lexbuf.cur - lexbuf.start) + +let rollback b = + b.cur <- b.start; + b.cur_p <- b.start_p + +let lexeme lexbuf = + FStarC_Parser_Utf8.from_int_array lexbuf.buf lexbuf.start (lexbuf.cur - lexbuf.start) + +let lookahead b pos = + if b.len <= pos then "" + else FStarC_Parser_Utf8.from_int_array b.buf pos (b.len - pos) + +let source_file b = + b.cur_p.L.pos_fname + +let current_line b = + b.cur_p.Lexing.pos_lnum + +(* Since sedlex 2.4, we need to expose Sedlexing.__private_next_int + (see #2343) + + From https://github.com/ocaml-communi-ty/sedlex/blob/268c553f474457574e22701679d68f66aa771551/src/lib/sedlexing.mli#L154-L161 + [next] and [__private__next_int] have the same doc description, + the only difference is the return type *) +let __private__next_int b = + match next b with + | Some v -> Uchar.to_int v + | None -> -1 diff --git a/stage0/fstar-lib/FStarC_StringBuffer.ml b/stage0/fstar-lib/FStarC_StringBuffer.ml new file mode 100644 index 00000000000..a35ba05d3a4 --- /dev/null +++ b/stage0/fstar-lib/FStarC_StringBuffer.ml @@ -0,0 +1,7 @@ +(* See FStar.StringBuffer.fsi *) +type t = Buffer.t +let create (i:FStarC_BigInt.t) = Buffer.create (FStarC_BigInt.to_int i) +let add s t = Buffer.add_string t s; t +let contents = Buffer.contents +let clear t = Buffer.clear t; t +let output_channel = Buffer.output_buffer diff --git a/ocaml/fstar-lib/FStarC_Syntax_TermHashTable.ml b/stage0/fstar-lib/FStarC_Syntax_TermHashTable.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Syntax_TermHashTable.ml rename to stage0/fstar-lib/FStarC_Syntax_TermHashTable.ml diff --git a/ocaml/fstar-lib/FStarC_Tactics_Native.ml b/stage0/fstar-lib/FStarC_Tactics_Native.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Tactics_Native.ml rename to stage0/fstar-lib/FStarC_Tactics_Native.ml diff --git a/ocaml/fstar-lib/FStarC_Tactics_Unseal.ml b/stage0/fstar-lib/FStarC_Tactics_Unseal.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Tactics_Unseal.ml rename to stage0/fstar-lib/FStarC_Tactics_Unseal.ml diff --git a/ocaml/fstar-lib/FStarC_Tactics_V1_Builtins.ml b/stage0/fstar-lib/FStarC_Tactics_V1_Builtins.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Tactics_V1_Builtins.ml rename to stage0/fstar-lib/FStarC_Tactics_V1_Builtins.ml diff --git a/ocaml/fstar-lib/FStarC_Tactics_V2_Builtins.ml b/stage0/fstar-lib/FStarC_Tactics_V2_Builtins.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Tactics_V2_Builtins.ml rename to stage0/fstar-lib/FStarC_Tactics_V2_Builtins.ml diff --git a/ocaml/fstar-lib/FStarC_Unionfind.ml b/stage0/fstar-lib/FStarC_Unionfind.ml similarity index 100% rename from ocaml/fstar-lib/FStarC_Unionfind.ml rename to stage0/fstar-lib/FStarC_Unionfind.ml diff --git a/ocaml/fstar-lib/FStar_All.ml b/stage0/fstar-lib/FStar_All.ml similarity index 100% rename from ocaml/fstar-lib/FStar_All.ml rename to stage0/fstar-lib/FStar_All.ml diff --git a/ocaml/fstar-lib/FStar_Buffer.ml b/stage0/fstar-lib/FStar_Buffer.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Buffer.ml rename to stage0/fstar-lib/FStar_Buffer.ml diff --git a/ocaml/fstar-lib/FStar_Bytes.ml b/stage0/fstar-lib/FStar_Bytes.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Bytes.ml rename to stage0/fstar-lib/FStar_Bytes.ml diff --git a/ocaml/fstar-lib/FStar_Char.ml b/stage0/fstar-lib/FStar_Char.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Char.ml rename to stage0/fstar-lib/FStar_Char.ml diff --git a/ocaml/fstar-lib/FStar_CommonST.ml b/stage0/fstar-lib/FStar_CommonST.ml similarity index 100% rename from ocaml/fstar-lib/FStar_CommonST.ml rename to stage0/fstar-lib/FStar_CommonST.ml diff --git a/ocaml/fstar-lib/FStar_Date.ml b/stage0/fstar-lib/FStar_Date.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Date.ml rename to stage0/fstar-lib/FStar_Date.ml diff --git a/ocaml/fstar-lib/FStar_Exn.ml b/stage0/fstar-lib/FStar_Exn.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Exn.ml rename to stage0/fstar-lib/FStar_Exn.ml diff --git a/ocaml/fstar-lib/FStar_Float.ml b/stage0/fstar-lib/FStar_Float.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Float.ml rename to stage0/fstar-lib/FStar_Float.ml diff --git a/ocaml/fstar-lib/FStar_Ghost.ml b/stage0/fstar-lib/FStar_Ghost.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Ghost.ml rename to stage0/fstar-lib/FStar_Ghost.ml diff --git a/ocaml/fstar-lib/FStar_Heap.ml b/stage0/fstar-lib/FStar_Heap.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Heap.ml rename to stage0/fstar-lib/FStar_Heap.ml diff --git a/ocaml/fstar-lib/FStar_HyperStack_All.ml b/stage0/fstar-lib/FStar_HyperStack_All.ml similarity index 100% rename from ocaml/fstar-lib/FStar_HyperStack_All.ml rename to stage0/fstar-lib/FStar_HyperStack_All.ml diff --git a/ocaml/fstar-lib/FStar_HyperStack_IO.ml b/stage0/fstar-lib/FStar_HyperStack_IO.ml similarity index 100% rename from ocaml/fstar-lib/FStar_HyperStack_IO.ml rename to stage0/fstar-lib/FStar_HyperStack_IO.ml diff --git a/ocaml/fstar-lib/FStar_HyperStack_ST.ml b/stage0/fstar-lib/FStar_HyperStack_ST.ml similarity index 100% rename from ocaml/fstar-lib/FStar_HyperStack_ST.ml rename to stage0/fstar-lib/FStar_HyperStack_ST.ml diff --git a/ocaml/fstar-lib/FStar_IO.ml b/stage0/fstar-lib/FStar_IO.ml similarity index 100% rename from ocaml/fstar-lib/FStar_IO.ml rename to stage0/fstar-lib/FStar_IO.ml diff --git a/ocaml/fstar-lib/FStar_ImmutableArray.ml b/stage0/fstar-lib/FStar_ImmutableArray.ml similarity index 100% rename from ocaml/fstar-lib/FStar_ImmutableArray.ml rename to stage0/fstar-lib/FStar_ImmutableArray.ml diff --git a/ocaml/fstar-lib/FStar_ImmutableArray_Base.ml b/stage0/fstar-lib/FStar_ImmutableArray_Base.ml similarity index 100% rename from ocaml/fstar-lib/FStar_ImmutableArray_Base.ml rename to stage0/fstar-lib/FStar_ImmutableArray_Base.ml diff --git a/ocaml/fstar-lib/FStar_Issue.ml b/stage0/fstar-lib/FStar_Issue.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Issue.ml rename to stage0/fstar-lib/FStar_Issue.ml diff --git a/ocaml/fstar-lib/FStar_List.ml b/stage0/fstar-lib/FStar_List.ml similarity index 100% rename from ocaml/fstar-lib/FStar_List.ml rename to stage0/fstar-lib/FStar_List.ml diff --git a/ocaml/fstar-lib/FStar_List_Tot_Base.ml b/stage0/fstar-lib/FStar_List_Tot_Base.ml similarity index 100% rename from ocaml/fstar-lib/FStar_List_Tot_Base.ml rename to stage0/fstar-lib/FStar_List_Tot_Base.ml diff --git a/ocaml/fstar-lib/FStar_Monotonic_Heap.ml b/stage0/fstar-lib/FStar_Monotonic_Heap.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Monotonic_Heap.ml rename to stage0/fstar-lib/FStar_Monotonic_Heap.ml diff --git a/ocaml/fstar-lib/FStar_Mul.ml b/stage0/fstar-lib/FStar_Mul.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Mul.ml rename to stage0/fstar-lib/FStar_Mul.ml diff --git a/ocaml/fstar-lib/FStar_Option.ml b/stage0/fstar-lib/FStar_Option.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Option.ml rename to stage0/fstar-lib/FStar_Option.ml diff --git a/ocaml/fstar-lib/FStar_Pervasives_Native.ml b/stage0/fstar-lib/FStar_Pervasives_Native.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Pervasives_Native.ml rename to stage0/fstar-lib/FStar_Pervasives_Native.ml diff --git a/ocaml/fstar-lib/FStar_Pprint.ml b/stage0/fstar-lib/FStar_Pprint.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Pprint.ml rename to stage0/fstar-lib/FStar_Pprint.ml diff --git a/ocaml/fstar-lib/FStar_Range.ml b/stage0/fstar-lib/FStar_Range.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Range.ml rename to stage0/fstar-lib/FStar_Range.ml diff --git a/ocaml/fstar-lib/FStar_Reflection_Typing_Builtins.ml b/stage0/fstar-lib/FStar_Reflection_Typing_Builtins.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Reflection_Typing_Builtins.ml rename to stage0/fstar-lib/FStar_Reflection_Typing_Builtins.ml diff --git a/ocaml/fstar-lib/FStar_ST.ml b/stage0/fstar-lib/FStar_ST.ml similarity index 100% rename from ocaml/fstar-lib/FStar_ST.ml rename to stage0/fstar-lib/FStar_ST.ml diff --git a/ocaml/fstar-lib/FStar_Sealed.ml b/stage0/fstar-lib/FStar_Sealed.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Sealed.ml rename to stage0/fstar-lib/FStar_Sealed.ml diff --git a/stage0/fstar-lib/FStar_String.ml b/stage0/fstar-lib/FStar_String.ml new file mode 100644 index 00000000000..9dcff4a94df --- /dev/null +++ b/stage0/fstar-lib/FStar_String.ml @@ -0,0 +1,43 @@ +let make i c = BatUTF8.init (Z.to_int i) (fun _ -> BatUChar.chr c) +let strcat s t = s ^ t +let op_Hat s t = strcat s t + +(* restore pre-2.11 BatString.nsplit behavior, + see https://github.com/ocaml-batteries-team/batteries-included/issues/845 *) +let batstring_nsplit s t = + if s = "" then [] else BatString.split_on_string t s + +let split seps s = + let rec repeat_split acc = function + | [] -> acc + | sep::seps -> + let usep = BatUTF8.init 1 (fun _ -> BatUChar.chr sep) in + let l = BatList.flatten (BatList.map (fun x -> batstring_nsplit x usep) acc) in + repeat_split l seps in + repeat_split [s] seps +let compare x y = Z.of_int (BatString.compare x y) +type char = FStar_Char.char +let concat = BatString.concat +let length s = Z.of_int (BatUTF8.length s) +let strlen s = length s + +let substring s i j = + BatUTF8.init (Z.to_int j) (fun k -> BatUTF8.get s (k + Z.to_int i)) +let sub = substring + +let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) +let collect f s = + let r = ref "" in + BatUTF8.iter (fun c -> r := !r ^ f (BatUChar.code c)) s; !r +let lowercase = BatString.lowercase_ascii +let uppercase = BatString.uppercase_ascii +let escaped = BatString.escaped +let index = get +exception Found of int +let index_of s c = + let c = BatUChar.chr c in + try let _ = BatUTF8.iteri (fun c' i -> if c = c' then raise (Found i) else ()) s in Z.of_int (-1) + with Found i -> Z.of_int i +let list_of_string s = BatList.init (BatUTF8.length s) (fun i -> BatUChar.code (BatUTF8.get s i)) +let string_of_list l = BatUTF8.init (BatList.length l) (fun i -> BatUChar.chr (BatList.at l i)) +let string_of_char (c:char) = BatString.of_char (Char.chr c) diff --git a/ocaml/fstar-lib/FStar_Tcp.ml b/stage0/fstar-lib/FStar_Tcp.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Tcp.ml rename to stage0/fstar-lib/FStar_Tcp.ml diff --git a/ocaml/fstar-lib/FStar_UInt8.ml b/stage0/fstar-lib/FStar_UInt8.ml similarity index 100% rename from ocaml/fstar-lib/FStar_UInt8.ml rename to stage0/fstar-lib/FStar_UInt8.ml diff --git a/ocaml/fstar-lib/FStar_Udp.ml b/stage0/fstar-lib/FStar_Udp.ml similarity index 100% rename from ocaml/fstar-lib/FStar_Udp.ml rename to stage0/fstar-lib/FStar_Udp.ml diff --git a/ocaml/fstar-lib/dune b/stage0/fstar-lib/dune similarity index 100% rename from ocaml/fstar-lib/dune rename to stage0/fstar-lib/dune diff --git a/ocaml/fstar-lib/generated/FStarC_Basefiles.ml b/stage0/fstar-lib/generated/FStarC_Basefiles.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Basefiles.ml rename to stage0/fstar-lib/generated/FStarC_Basefiles.ml diff --git a/ocaml/fstar-lib/generated/FStarC_CheckedFiles.ml b/stage0/fstar-lib/generated/FStarC_CheckedFiles.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_CheckedFiles.ml rename to stage0/fstar-lib/generated/FStarC_CheckedFiles.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Binders.ml b/stage0/fstar-lib/generated/FStarC_Class_Binders.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Binders.ml rename to stage0/fstar-lib/generated/FStarC_Class_Binders.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Deq.ml b/stage0/fstar-lib/generated/FStarC_Class_Deq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Deq.ml rename to stage0/fstar-lib/generated/FStarC_Class_Deq.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_HasRange.ml b/stage0/fstar-lib/generated/FStarC_Class_HasRange.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_HasRange.ml rename to stage0/fstar-lib/generated/FStarC_Class_HasRange.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Hashable.ml b/stage0/fstar-lib/generated/FStarC_Class_Hashable.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Hashable.ml rename to stage0/fstar-lib/generated/FStarC_Class_Hashable.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Listlike.ml b/stage0/fstar-lib/generated/FStarC_Class_Listlike.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Listlike.ml rename to stage0/fstar-lib/generated/FStarC_Class_Listlike.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Monad.ml b/stage0/fstar-lib/generated/FStarC_Class_Monad.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Monad.ml rename to stage0/fstar-lib/generated/FStarC_Class_Monad.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Monoid.ml b/stage0/fstar-lib/generated/FStarC_Class_Monoid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Monoid.ml rename to stage0/fstar-lib/generated/FStarC_Class_Monoid.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Ord.ml b/stage0/fstar-lib/generated/FStarC_Class_Ord.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Ord.ml rename to stage0/fstar-lib/generated/FStarC_Class_Ord.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_PP.ml b/stage0/fstar-lib/generated/FStarC_Class_PP.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_PP.ml rename to stage0/fstar-lib/generated/FStarC_Class_PP.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Setlike.ml b/stage0/fstar-lib/generated/FStarC_Class_Setlike.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Setlike.ml rename to stage0/fstar-lib/generated/FStarC_Class_Setlike.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Show.ml b/stage0/fstar-lib/generated/FStarC_Class_Show.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Class_Show.ml rename to stage0/fstar-lib/generated/FStarC_Class_Show.ml index 8de949d5b09..f5ae5681188 100644 --- a/ocaml/fstar-lib/generated/FStarC_Class_Show.ml +++ b/stage0/fstar-lib/generated/FStarC_Class_Show.ml @@ -12,7 +12,7 @@ let (showable_int : Prims.int showable) = { show = Prims.string_of_int } let (showable_string : Prims.string showable) = { show = (fun x -> Prims.strcat "\"" (Prims.strcat x "\"")) } let show_list : 'a . 'a showable -> 'a Prims.list showable = - fun uu___ -> { show = ((FStarC_Common.string_of_list ()) (show uu___)) } + fun uu___ -> { show = (FStarC_Common.string_of_list (show uu___)) } let show_option : 'a . 'a showable -> 'a FStar_Pervasives_Native.option showable = fun uu___ -> { show = (FStarC_Common.string_of_option (show uu___)) } diff --git a/ocaml/fstar-lib/generated/FStarC_Class_Tagged.ml b/stage0/fstar-lib/generated/FStarC_Class_Tagged.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Class_Tagged.ml rename to stage0/fstar-lib/generated/FStarC_Class_Tagged.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Common.ml b/stage0/fstar-lib/generated/FStarC_Common.ml similarity index 86% rename from ocaml/fstar-lib/generated/FStarC_Common.ml rename to stage0/fstar-lib/generated/FStarC_Common.ml index 302c8079d4b..f721f9868d1 100644 --- a/ocaml/fstar-lib/generated/FStarC_Common.ml +++ b/stage0/fstar-lib/generated/FStarC_Common.ml @@ -93,13 +93,11 @@ let __string_of_list : FStarC_Compiler_Util.string_builder_append strb "]"; FStarC_Compiler_Util.string_of_string_builder strb) let string_of_list : - 'uuuuu . - unit -> ('uuuuu -> Prims.string) -> 'uuuuu Prims.list -> Prims.string - = fun uu___ -> __string_of_list ", " + 'a . ('a -> Prims.string) -> 'a Prims.list -> Prims.string = + fun f -> fun l -> __string_of_list ", " f l let string_of_list' : - 'uuuuu . - unit -> ('uuuuu -> Prims.string) -> 'uuuuu Prims.list -> Prims.string - = fun uu___ -> __string_of_list "; " + 'a . ('a -> Prims.string) -> 'a Prims.list -> Prims.string = + fun f -> fun l -> __string_of_list "; " f l let list_of_option : 'a . 'a FStar_Pervasives_Native.option -> 'a Prims.list = fun o -> @@ -107,9 +105,8 @@ let list_of_option : 'a . 'a FStar_Pervasives_Native.option -> 'a Prims.list | FStar_Pervasives_Native.None -> [] | FStar_Pervasives_Native.Some x -> [x] let string_of_option : - 'uuuuu . - ('uuuuu -> Prims.string) -> - 'uuuuu FStar_Pervasives_Native.option -> Prims.string + 'a . + ('a -> Prims.string) -> 'a FStar_Pervasives_Native.option -> Prims.string = fun f -> fun uu___ -> @@ -163,22 +160,21 @@ let rec eq_list : | (uu___, []) -> false | (x1::t1, x2::t2) -> (f x1 x2) && (eq_list f t1 t2) let psmap_to_list : - 'uuuuu . - 'uuuuu FStarC_Compiler_Util.psmap -> (Prims.string * 'uuuuu) Prims.list - = + 'a . 'a FStarC_Compiler_Util.psmap -> (Prims.string * 'a) Prims.list = fun m -> FStarC_Compiler_Util.psmap_fold m - (fun k -> fun v -> fun a -> (k, v) :: a) [] + (fun k -> fun v -> fun a1 -> (k, v) :: a1) [] let psmap_keys : - 'uuuuu . 'uuuuu FStarC_Compiler_Util.psmap -> Prims.string Prims.list = + 'a . 'a FStarC_Compiler_Util.psmap -> Prims.string Prims.list = fun m -> - FStarC_Compiler_Util.psmap_fold m (fun k -> fun v -> fun a -> k :: a) [] -let psmap_values : - 'uuuuu . 'uuuuu FStarC_Compiler_Util.psmap -> 'uuuuu Prims.list = + FStarC_Compiler_Util.psmap_fold m (fun k -> fun v -> fun a1 -> k :: a1) + [] +let psmap_values : 'a . 'a FStarC_Compiler_Util.psmap -> 'a Prims.list = fun m -> - FStarC_Compiler_Util.psmap_fold m (fun k -> fun v -> fun a -> v :: a) [] -let option_to_list : - 'uuuuu . 'uuuuu FStar_Pervasives_Native.option -> 'uuuuu Prims.list = + FStarC_Compiler_Util.psmap_fold m (fun k -> fun v -> fun a1 -> v :: a1) + [] +let option_to_list : 'a . 'a FStar_Pervasives_Native.option -> 'a Prims.list + = fun uu___ -> match uu___ with | FStar_Pervasives_Native.None -> [] diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_CList.ml b/stage0/fstar-lib/generated/FStarC_Compiler_CList.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_CList.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_CList.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Debug.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Debug.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Debug.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Debug.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_FlatSet.ml b/stage0/fstar-lib/generated/FStarC_Compiler_FlatSet.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_FlatSet.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_FlatSet.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_MachineInts.ml b/stage0/fstar-lib/generated/FStarC_Compiler_MachineInts.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_MachineInts.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_MachineInts.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Misc.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Misc.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Misc.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Misc.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Option.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Option.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Option.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Option.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Order.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Order.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Order.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Order.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Path.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Path.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Path.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Path.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Plugins.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Plugins.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Plugins.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Plugins.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_RBSet.ml b/stage0/fstar-lib/generated/FStarC_Compiler_RBSet.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_RBSet.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_RBSet.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Range_Ops.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Range_Ops.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Range_Ops.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Range_Ops.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Range_Type.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Range_Type.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Range_Type.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Range_Type.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Real.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Real.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Real.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Real.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Sealed.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Sealed.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Sealed.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Sealed.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Compiler_Writer.ml b/stage0/fstar-lib/generated/FStarC_Compiler_Writer.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Compiler_Writer.ml rename to stage0/fstar-lib/generated/FStarC_Compiler_Writer.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Const.ml b/stage0/fstar-lib/generated/FStarC_Const.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Const.ml rename to stage0/fstar-lib/generated/FStarC_Const.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Defensive.ml b/stage0/fstar-lib/generated/FStarC_Defensive.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Defensive.ml rename to stage0/fstar-lib/generated/FStarC_Defensive.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Dependencies.ml b/stage0/fstar-lib/generated/FStarC_Dependencies.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Dependencies.ml rename to stage0/fstar-lib/generated/FStarC_Dependencies.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Errors.ml b/stage0/fstar-lib/generated/FStarC_Errors.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Errors.ml rename to stage0/fstar-lib/generated/FStarC_Errors.ml index 94bbc0d9866..2ad1d592c9d 100644 --- a/ocaml/fstar-lib/generated/FStarC_Errors.ml +++ b/stage0/fstar-lib/generated/FStarC_Errors.ml @@ -804,8 +804,8 @@ let (uu___0 : (FStarC_Compiler_Util.smap_add error_flags we FStar_Pervasives_Native.None; FStarC_Getopt.Error - (Prims.strcat "Invalid --warn_error setting: " - (Prims.strcat msg "\n"))) in + ((Prims.strcat "Invalid --warn_error setting: " + (Prims.strcat msg "\n")), "warn_error")) in let get_error_flags uu___ = let we = FStarC_Options.warn_error () in let uu___1 = FStarC_Compiler_Util.smap_try_find error_flags we in diff --git a/ocaml/fstar-lib/generated/FStarC_Errors_Codes.ml b/stage0/fstar-lib/generated/FStarC_Errors_Codes.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Errors_Codes.ml rename to stage0/fstar-lib/generated/FStarC_Errors_Codes.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Errors_Msg.ml b/stage0/fstar-lib/generated/FStarC_Errors_Msg.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Errors_Msg.ml rename to stage0/fstar-lib/generated/FStarC_Errors_Msg.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_Krml.ml b/stage0/fstar-lib/generated/FStarC_Extraction_Krml.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_Krml.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_Krml.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Code.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Code.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_Code.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_Code.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml index 2db1c39678c..c0bd18c3ec3 100644 --- a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml +++ b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Modul.ml @@ -800,7 +800,9 @@ let (extract_typ_abbrev : [FStarC_TypeChecker_Env.Beta; FStarC_TypeChecker_Env.UnfoldUntil FStarC_Syntax_Syntax.delta_constant; - FStarC_TypeChecker_Env.ForExtraction] tcenv lbtyp in + FStarC_TypeChecker_Env.ForExtraction; + FStarC_TypeChecker_Env.Unrefine; + FStarC_TypeChecker_Env.Unascribe] tcenv lbtyp in let lbdef1 = FStarC_TypeChecker_Normalize.eta_expand_with_type tcenv lbdef lbtyp1 in diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_RegEmb.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_RegEmb.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_RegEmb.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_RegEmb.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_RemoveUnusedParameters.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_RemoveUnusedParameters.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_RemoveUnusedParameters.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_RemoveUnusedParameters.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Syntax.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Syntax.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_Syntax.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_Syntax.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Term.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Term.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_Term.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_Term.ml index 9c061fdb14b..1f5aa8d7d48 100644 --- a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Term.ml +++ b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Term.ml @@ -1173,7 +1173,34 @@ let (head_of_type_is_extract_as_impure_effect : | FStarC_Syntax_Syntax.Tm_fvar fv -> has_extract_as_impure_effect g fv | uu___3 -> false) -let rec (translate_term_to_mlty : +exception NotSupportedByExtension +let (uu___is_NotSupportedByExtension : Prims.exn -> Prims.bool) = + fun projectee -> + match projectee with | NotSupportedByExtension -> true | uu___ -> false +type translate_typ_t = + FStarC_Extraction_ML_UEnv.uenv -> + FStarC_Syntax_Syntax.term -> FStarC_Extraction_ML_Syntax.mlty +let (ref_translate_term_to_mlty : translate_typ_t FStarC_Compiler_Effect.ref) + = + FStarC_Compiler_Util.mk_ref + (fun uu___ -> + fun uu___1 -> FStarC_Compiler_Effect.raise NotSupportedByExtension) +let (translate_term_to_mlty : + FStarC_Extraction_ML_UEnv.uenv -> + FStarC_Syntax_Syntax.term -> FStarC_Extraction_ML_Syntax.mlty) + = + fun g -> + fun t0 -> + let uu___ = FStarC_Compiler_Effect.op_Bang ref_translate_term_to_mlty in + uu___ g t0 +let (register_pre_translate_typ : translate_typ_t -> unit) = + fun f -> + let before = FStarC_Compiler_Effect.op_Bang ref_translate_term_to_mlty in + let after g t = + try (fun uu___ -> match () with | () -> f g t) () + with | NotSupportedByExtension -> before g t in + FStarC_Compiler_Effect.op_Colon_Equals ref_translate_term_to_mlty after +let rec (translate_term_to_mlty' : FStarC_Extraction_ML_UEnv.uenv -> FStarC_Syntax_Syntax.term -> FStarC_Extraction_ML_Syntax.mlty) = @@ -2188,6 +2215,22 @@ let (maybe_promote_effect : (FStarC_Extraction_ML_Syntax.ml_unit, FStarC_Extraction_ML_Syntax.E_PURE) | uu___ -> (ml_e, tag) +type translate_t = + FStarC_Extraction_ML_UEnv.uenv -> + FStarC_Syntax_Syntax.term -> + (FStarC_Extraction_ML_Syntax.mlexpr * FStarC_Extraction_ML_Syntax.e_tag + * FStarC_Extraction_ML_Syntax.mlty) +let (ref_term_as_mlexpr : translate_t FStarC_Compiler_Effect.ref) = + FStarC_Compiler_Util.mk_ref + (fun uu___ -> + fun uu___1 -> FStarC_Compiler_Effect.raise NotSupportedByExtension) +let (register_pre_translate : translate_t -> unit) = + fun f -> + let before = FStarC_Compiler_Effect.op_Bang ref_term_as_mlexpr in + let after g t = + try (fun uu___ -> match () with | () -> f g t) () + with | NotSupportedByExtension -> before g t in + FStarC_Compiler_Effect.op_Colon_Equals ref_term_as_mlexpr after type lb_sig = (FStarC_Syntax_Syntax.lbname * FStarC_Extraction_ML_Syntax.e_tag * (FStarC_Syntax_Syntax.typ * (FStarC_Syntax_Syntax.binders * @@ -2682,7 +2725,9 @@ and (term_as_mlexpr : = fun g -> fun e -> - let uu___ = term_as_mlexpr' g e in + let uu___ = + let uu___1 = FStarC_Compiler_Effect.op_Bang ref_term_as_mlexpr in + uu___1 g e in match uu___ with | (e1, f, t) -> let uu___1 = maybe_promote_effect e1 f t in @@ -3945,7 +3990,7 @@ and (term_as_mlexpr' : FStarC_Syntax_Syntax.hash_code = (top1.FStarC_Syntax_Syntax.hash_code) } in - term_as_mlexpr' g top2) + term_as_mlexpr g top2) | FStarC_Syntax_Syntax.Tm_let { FStarC_Syntax_Syntax.lbs = (is_rec, lbs); FStarC_Syntax_Syntax.body1 = e';_} @@ -4597,4 +4642,6 @@ let (ind_discriminator_body : []; FStarC_Extraction_ML_Syntax.print_typ = false - }]))))) \ No newline at end of file + }]))))) +let (uu___0 : unit) = register_pre_translate term_as_mlexpr' +let (uu___1 : unit) = register_pre_translate_typ translate_term_to_mlty' \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_UEnv.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_UEnv.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_UEnv.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_UEnv.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Extraction_ML_Util.ml b/stage0/fstar-lib/generated/FStarC_Extraction_ML_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Extraction_ML_Util.ml rename to stage0/fstar-lib/generated/FStarC_Extraction_ML_Util.ml diff --git a/stage0/fstar-lib/generated/FStarC_Find.ml b/stage0/fstar-lib/generated/FStarC_Find.ml new file mode 100644 index 00000000000..fbb39f07615 --- /dev/null +++ b/stage0/fstar-lib/generated/FStarC_Find.ml @@ -0,0 +1,314 @@ +open Prims +let (fstar_bin_directory : Prims.string) = + FStarC_Compiler_Util.get_exec_dir () +let (read_fstar_include : + Prims.string -> Prims.string Prims.list FStar_Pervasives_Native.option) = + fun fn -> + try + (fun uu___ -> + match () with + | () -> + let s = FStarC_Compiler_Util.file_get_contents fn in + let subdirs = + FStarC_Compiler_List.filter + (fun s1 -> + (s1 <> "") && + (let uu___1 = + let uu___2 = + FStarC_Compiler_String.get s1 Prims.int_zero in + uu___2 = 35 in + Prims.op_Negation uu___1)) + (FStarC_Compiler_String.split [10] s) in + FStar_Pervasives_Native.Some subdirs) () + with + | uu___ -> + (failwith (Prims.strcat "Could not read " fn); + FStar_Pervasives_Native.None) +let rec (expand_include_d : Prims.string -> Prims.string Prims.list) = + fun dirname -> + let dot_inc_path = Prims.strcat dirname "/fstar.include" in + if FStarC_Compiler_Util.file_exists dot_inc_path + then + let subdirs = + let uu___ = read_fstar_include dot_inc_path in + FStar_Pervasives_Native.__proj__Some__item__v uu___ in + let uu___ = + FStarC_Compiler_List.collect + (fun subd -> + expand_include_d (Prims.strcat dirname (Prims.strcat "/" subd))) + subdirs in + dirname :: uu___ + else [dirname] +let (expand_include_ds : Prims.string Prims.list -> Prims.string Prims.list) + = fun dirnames -> FStarC_Compiler_List.collect expand_include_d dirnames +let (lib_root : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> + let uu___1 = FStarC_Options.no_default_includes () in + if uu___1 + then FStar_Pervasives_Native.None + else + (let uu___3 = + FStarC_Compiler_Util.expand_environment_variable "FSTAR_LIB" in + match uu___3 with + | FStar_Pervasives_Native.Some s -> FStar_Pervasives_Native.Some s + | FStar_Pervasives_Native.None -> + if + FStarC_Compiler_Util.file_exists + (Prims.strcat fstar_bin_directory "/../ulib") + then + FStar_Pervasives_Native.Some + (Prims.strcat fstar_bin_directory "/../ulib") + else + if + FStarC_Compiler_Util.file_exists + (Prims.strcat fstar_bin_directory "/../lib/fstar") + then + FStar_Pervasives_Native.Some + (Prims.strcat fstar_bin_directory "/../lib/fstar") + else FStar_Pervasives_Native.None) +let (lib_paths : unit -> Prims.string Prims.list) = + fun uu___ -> + let uu___1 = + let uu___2 = lib_root () in FStarC_Common.option_to_list uu___2 in + expand_include_ds uu___1 +let (include_path : unit -> Prims.string Prims.list) = + fun uu___ -> + let cache_dir = + let uu___1 = FStarC_Options.cache_dir () in + match uu___1 with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some c -> [c] in + let include_paths = + let uu___1 = FStarC_Options.include_ () in expand_include_ds uu___1 in + let uu___1 = + let uu___2 = lib_paths () in + let uu___3 = + let uu___4 = expand_include_d "." in + FStarC_Compiler_List.op_At include_paths uu___4 in + FStarC_Compiler_List.op_At uu___2 uu___3 in + FStarC_Compiler_List.op_At cache_dir uu___1 +let (do_find : + Prims.string Prims.list -> + Prims.string -> Prims.string FStar_Pervasives_Native.option) + = + fun paths -> + fun filename -> + let uu___ = FStarC_Compiler_Util.is_path_absolute filename in + if uu___ + then + (if FStarC_Compiler_Util.file_exists filename + then FStar_Pervasives_Native.Some filename + else FStar_Pervasives_Native.None) + else + (try + (fun uu___2 -> + match () with + | () -> + FStarC_Compiler_Util.find_map + (FStarC_Compiler_List.rev paths) + (fun p -> + let path = + if p = "." + then filename + else FStarC_Compiler_Util.join_paths p filename in + if FStarC_Compiler_Util.file_exists path + then FStar_Pervasives_Native.Some path + else FStar_Pervasives_Native.None)) () + with | uu___2 -> FStar_Pervasives_Native.None) +let (find_file : Prims.string -> Prims.string FStar_Pervasives_Native.option) + = + let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (100)) in + fun filename -> + let uu___ = FStarC_Compiler_Util.smap_try_find cache filename in + match uu___ with + | FStar_Pervasives_Native.Some f -> f + | FStar_Pervasives_Native.None -> + let result = let uu___1 = include_path () in do_find uu___1 filename in + (if FStar_Pervasives_Native.uu___is_Some result + then FStarC_Compiler_Util.smap_add cache filename result + else (); + result) +let (find_file_odir : + Prims.string -> Prims.string FStar_Pervasives_Native.option) = + let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (100)) in + fun filename -> + let uu___ = FStarC_Compiler_Util.smap_try_find cache filename in + match uu___ with + | FStar_Pervasives_Native.Some f -> f + | FStar_Pervasives_Native.None -> + let odir = + let uu___1 = FStarC_Options.output_dir () in + match uu___1 with + | FStar_Pervasives_Native.Some d -> [d] + | FStar_Pervasives_Native.None -> [] in + let result = + let uu___1 = + let uu___2 = include_path () in + FStarC_Compiler_List.op_At uu___2 odir in + do_find uu___1 filename in + (if FStar_Pervasives_Native.uu___is_Some result + then FStarC_Compiler_Util.smap_add cache filename result + else (); + result) +let (prepend_output_dir : Prims.string -> Prims.string) = + fun fname -> + let uu___ = FStarC_Options.output_dir () in + match uu___ with + | FStar_Pervasives_Native.None -> fname + | FStar_Pervasives_Native.Some x -> + FStarC_Compiler_Util.join_paths x fname +let (prepend_cache_dir : Prims.string -> Prims.string) = + fun fpath -> + let uu___ = FStarC_Options.cache_dir () in + match uu___ with + | FStar_Pervasives_Native.None -> fpath + | FStar_Pervasives_Native.Some x -> + let uu___1 = FStarC_Compiler_Util.basename fpath in + FStarC_Compiler_Util.join_paths x uu___1 +let (locate : unit -> Prims.string) = + fun uu___ -> + let uu___1 = FStarC_Compiler_Util.get_exec_dir () in + FStarC_Compiler_Util.normalize_file_path uu___1 +let (locate_lib : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> + let uu___1 = lib_root () in + FStarC_Compiler_Util.map_opt uu___1 + FStarC_Compiler_Util.normalize_file_path +let (locate_ocaml : unit -> Prims.string) = + fun uu___ -> + let uu___1 = + let uu___2 = FStarC_Compiler_Util.get_exec_dir () in + Prims.strcat uu___2 "/../lib" in + FStarC_Compiler_Util.normalize_file_path uu___1 +let (z3url : Prims.string) = "https://github.com/Z3Prover/z3/releases" +let (packaged_z3_versions : Prims.string Prims.list) = ["4.8.5"; "4.13.3"] +let (z3_install_suggestion : + Prims.string -> FStarC_Pprint.document Prims.list) = + fun v -> + let uu___ = + let uu___1 = + let uu___2 = + let uu___3 = + FStarC_Compiler_Util.format1 + "Please download version %s of Z3 from" v in + FStarC_Errors_Msg.text uu___3 in + let uu___3 = FStarC_Pprint.url z3url in + FStarC_Pprint.prefix (Prims.of_int (4)) Prims.int_one uu___2 uu___3 in + let uu___2 = + let uu___3 = + let uu___4 = + FStarC_Errors_Msg.text "and install it into your $PATH as" in + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = FStarC_Platform.exe (Prims.strcat "z3-" v) in + FStarC_Pprint.doc_of_string uu___8 in + FStarC_Pprint.squotes uu___7 in + FStarC_Pprint.op_Hat_Hat uu___6 FStarC_Pprint.dot in + FStarC_Pprint.op_Hat_Slash_Hat uu___4 uu___5 in + FStarC_Pprint.group uu___3 in + FStarC_Pprint.op_Hat_Slash_Hat uu___1 uu___2 in + let uu___1 = + let uu___2 = + if FStarC_Compiler_List.mem v packaged_z3_versions + then + let uu___3 = + FStarC_Compiler_Util.format1 + "Version %s of Z3 should be included in binary packages of F*. If you are using a binary package and are seeing\n this error, please file a bug report." + v in + FStarC_Errors_Msg.text uu___3 + else FStarC_Pprint.empty in + [uu___2] in + uu___ :: uu___1 +let (z3_inpath : Prims.string -> Prims.bool) = + fun path -> + try + (fun uu___ -> + match () with + | () -> + let s = + FStarC_Compiler_Util.run_process "z3_pathtest" path + ["-version"] FStar_Pervasives_Native.None in + s <> "") () + with | uu___ -> false +let (do_locate_z3 : + Prims.string -> Prims.string FStar_Pervasives_Native.option) = + fun v -> + let guard b = + if b + then FStar_Pervasives_Native.Some () + else FStar_Pervasives_Native.None in + let op_Less_Bar_Greater o1 o2 uu___ = + let uu___1 = o1 () in + match uu___1 with + | FStar_Pervasives_Native.Some v1 -> FStar_Pervasives_Native.Some v1 + | FStar_Pervasives_Native.None -> o2 () in + let path = + let in_lib uu___ = + (fun uu___ -> + let uu___1 = lib_root () in + Obj.magic + (FStarC_Class_Monad.op_let_Bang FStarC_Class_Monad.monad_option + () () (Obj.magic uu___1) + (fun uu___2 -> + (fun root -> + let root = Obj.magic root in + let path1 = + FStarC_Platform.exe + (Prims.strcat root + (Prims.strcat "/z3-" (Prims.strcat v "/bin/z3"))) in + let path2 = + FStarC_Compiler_Util.normalize_file_path path1 in + let uu___2 = + guard (FStarC_Compiler_Util.file_exists path2) in + Obj.magic + (FStarC_Class_Monad.op_let_Bang + FStarC_Class_Monad.monad_option () () uu___2 + (fun uu___3 -> + (fun uu___3 -> + let uu___3 = Obj.magic uu___3 in + Obj.magic + (FStar_Pervasives_Native.Some path2)) + uu___3))) uu___2))) uu___ in + let from_path uu___1 uu___ = + (fun cmd -> + fun uu___ -> + let cmd1 = FStarC_Platform.exe cmd in + let uu___1 = let uu___2 = z3_inpath cmd1 in guard uu___2 in + Obj.magic + (FStarC_Class_Monad.op_let_Bang + FStarC_Class_Monad.monad_option () () uu___1 + (fun uu___2 -> + (fun uu___2 -> + let uu___2 = Obj.magic uu___2 in + Obj.magic (FStar_Pervasives_Native.Some cmd1)) uu___2))) + uu___1 uu___ in + op_Less_Bar_Greater + (op_Less_Bar_Greater + (op_Less_Bar_Greater + (op_Less_Bar_Greater FStarC_Options.smt in_lib) + (from_path (Prims.strcat "z3-" v))) (from_path "z3")) + (fun uu___ -> FStar_Pervasives_Native.None) () in + (let uu___1 = FStarC_Compiler_Debug.any () in + if uu___1 + then + let uu___2 = + FStarC_Class_Show.show FStarC_Class_Show.showable_string v in + let uu___3 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_option FStarC_Class_Show.showable_string) + path in + FStarC_Compiler_Util.print2 "do_locate_z3(%s) = %s\n" uu___2 uu___3 + else ()); + path +let (locate_z3 : Prims.string -> Prims.string FStar_Pervasives_Native.option) + = + fun v -> + let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (5)) in + let find_or k f = + let uu___ = FStarC_Compiler_Util.smap_try_find cache k in + match uu___ with + | FStar_Pervasives_Native.Some v1 -> v1 + | FStar_Pervasives_Native.None -> + let v1 = f k in (FStarC_Compiler_Util.smap_add cache k v1; v1) in + find_or v do_locate_z3 \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_GenSym.ml b/stage0/fstar-lib/generated/FStarC_GenSym.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_GenSym.ml rename to stage0/fstar-lib/generated/FStarC_GenSym.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Ident.ml b/stage0/fstar-lib/generated/FStarC_Ident.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Ident.ml rename to stage0/fstar-lib/generated/FStarC_Ident.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_CompletionTable.ml b/stage0/fstar-lib/generated/FStarC_Interactive_CompletionTable.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_CompletionTable.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_CompletionTable.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_Ide.ml b/stage0/fstar-lib/generated/FStarC_Interactive_Ide.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Interactive_Ide.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_Ide.ml index a797aca766f..8e6ec72de76 100644 --- a/ocaml/fstar-lib/generated/FStarC_Interactive_Ide.ml +++ b/stage0/fstar-lib/generated/FStarC_Interactive_Ide.ml @@ -3003,7 +3003,7 @@ let (js_repl_init_opts : unit -> unit) = match uu___1 with | (res, fnames) -> (match res with - | FStarC_Getopt.Error msg -> + | FStarC_Getopt.Error (msg, uu___2) -> failwith (Prims.strcat "repl_init: " msg) | FStarC_Getopt.Help -> failwith "repl_init: --help unexpected" | FStarC_Getopt.Success -> diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_Ide_Types.ml b/stage0/fstar-lib/generated/FStarC_Interactive_Ide_Types.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_Ide_Types.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_Ide_Types.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_Incremental.ml b/stage0/fstar-lib/generated/FStarC_Interactive_Incremental.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_Incremental.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_Incremental.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_JsonHelper.ml b/stage0/fstar-lib/generated/FStarC_Interactive_JsonHelper.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_JsonHelper.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_JsonHelper.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_Legacy.ml b/stage0/fstar-lib/generated/FStarC_Interactive_Legacy.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_Legacy.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_Legacy.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_Lsp.ml b/stage0/fstar-lib/generated/FStarC_Interactive_Lsp.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_Lsp.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_Lsp.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_PushHelper.ml b/stage0/fstar-lib/generated/FStarC_Interactive_PushHelper.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_PushHelper.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_PushHelper.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Interactive_QueryHelper.ml b/stage0/fstar-lib/generated/FStarC_Interactive_QueryHelper.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Interactive_QueryHelper.ml rename to stage0/fstar-lib/generated/FStarC_Interactive_QueryHelper.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Main.ml b/stage0/fstar-lib/generated/FStarC_Main.ml similarity index 85% rename from ocaml/fstar-lib/generated/FStarC_Main.ml rename to stage0/fstar-lib/generated/FStarC_Main.ml index c4af9a29170..543e86f3b79 100644 --- a/ocaml/fstar-lib/generated/FStarC_Main.ml +++ b/stage0/fstar-lib/generated/FStarC_Main.ml @@ -147,11 +147,26 @@ let (set_error_trap : unit -> unit) = FStarC_Compiler_Effect.exit Prims.int_one in let uu___1 = FStarC_Compiler_Util.sigint_handler_f h' in FStarC_Compiler_Util.set_sigint_handler uu___1 +let (print_help_for : Prims.string -> unit) = + fun o -> + let uu___ = FStarC_Options.help_for_option o in + match uu___ with + | FStar_Pervasives_Native.None -> () + | FStar_Pervasives_Native.Some doc -> + let uu___1 = FStarC_Errors_Msg.renderdoc doc in + FStarC_Compiler_Util.print_error uu___1 let (go_normal : unit -> unit) = fun uu___ -> let uu___1 = process_args () in match uu___1 with | (res, filenames) -> + let check_no_filenames opt = + if Prims.uu___is_Cons filenames + then + (FStarC_Compiler_Util.print1_error + "error: No filenames should be passed with option %s\n" opt; + FStarC_Compiler_Effect.exit Prims.int_one) + else () in ((let uu___3 = FStarC_Options.trace_error () in if uu___3 then set_error_trap () else ()); (match res with @@ -161,8 +176,9 @@ let (go_normal : unit -> unit) = | FStarC_Getopt.Help -> (FStarC_Options.display_usage (); FStarC_Compiler_Effect.exit Prims.int_zero) - | FStarC_Getopt.Error msg -> - (FStarC_Compiler_Util.print_error msg; + | FStarC_Getopt.Error (msg, opt) -> + (FStarC_Compiler_Util.print_error (Prims.strcat "error: " msg); + print_help_for opt; FStarC_Compiler_Effect.exit Prims.int_one) | FStarC_Getopt.Success when FStarC_Options.print_cache_version () -> @@ -292,23 +308,74 @@ let (go_normal : unit -> unit) = FStarC_Compiler_Util.print1 "Registered tactic plugins:\n%s\n" uu___5)) | FStarC_Getopt.Success when FStarC_Options.locate () -> - ((let uu___4 = FStarC_Find.locate () in - FStarC_Compiler_Util.print1 "%s\n" uu___4); + (check_no_filenames "--locate"; + (let uu___5 = FStarC_Find.locate () in + FStarC_Compiler_Util.print1 "%s\n" uu___5); FStarC_Compiler_Effect.exit Prims.int_zero) | FStarC_Getopt.Success when FStarC_Options.locate_lib () -> - let uu___3 = FStarC_Find.locate_lib () in - (match uu___3 with - | FStar_Pervasives_Native.None -> - (FStarC_Compiler_Util.print_error - "No library found (is --no_default_includes set?)\n"; - FStarC_Compiler_Effect.exit Prims.int_one) - | FStar_Pervasives_Native.Some s -> - (FStarC_Compiler_Util.print1 "%s\n" s; - FStarC_Compiler_Effect.exit Prims.int_zero)) + (check_no_filenames "--locate_lib"; + (let uu___4 = FStarC_Find.locate_lib () in + match uu___4 with + | FStar_Pervasives_Native.None -> + (FStarC_Compiler_Util.print_error + "No library found (is --no_default_includes set?)\n"; + FStarC_Compiler_Effect.exit Prims.int_one) + | FStar_Pervasives_Native.Some s -> + (FStarC_Compiler_Util.print1 "%s\n" s; + FStarC_Compiler_Effect.exit Prims.int_zero))) | FStarC_Getopt.Success when FStarC_Options.locate_ocaml () -> - ((let uu___4 = FStarC_Find.locate_ocaml () in - FStarC_Compiler_Util.print1 "%s\n" uu___4); + (check_no_filenames "--locate_ocaml"; + (let uu___5 = FStarC_Find.locate_ocaml () in + FStarC_Compiler_Util.print1 "%s\n" uu___5); FStarC_Compiler_Effect.exit Prims.int_zero) + | FStarC_Getopt.Success when + let uu___3 = FStarC_Options.locate_file () in + FStar_Pervasives_Native.uu___is_Some uu___3 -> + (check_no_filenames "--locate_file"; + (let f = + let uu___4 = FStarC_Options.locate_file () in + FStar_Pervasives_Native.__proj__Some__item__v uu___4 in + let uu___4 = FStarC_Find.find_file f in + match uu___4 with + | FStar_Pervasives_Native.None -> + (FStarC_Compiler_Util.print1_error + "File %s was not found in include path.\n" f; + FStarC_Compiler_Effect.exit Prims.int_one) + | FStar_Pervasives_Native.Some fn -> + ((let uu___6 = + FStarC_Compiler_Util.normalize_file_path fn in + FStarC_Compiler_Util.print1 "%s\n" uu___6); + FStarC_Compiler_Effect.exit Prims.int_zero))) + | FStarC_Getopt.Success when + let uu___3 = FStarC_Options.locate_z3 () in + FStar_Pervasives_Native.uu___is_Some uu___3 -> + (check_no_filenames "--locate_z3"; + (let v = + let uu___4 = FStarC_Options.locate_z3 () in + FStar_Pervasives_Native.__proj__Some__item__v uu___4 in + let uu___4 = FStarC_Find.locate_z3 v in + match uu___4 with + | FStar_Pervasives_Native.None -> + ((let uu___6 = + let uu___7 = + let uu___8 = + let uu___9 = + FStarC_Compiler_Util.format1 + "Z3 version '%s' was not found." v in + FStarC_Errors_Msg.text uu___9 in + [uu___8] in + let uu___8 = FStarC_Find.z3_install_suggestion v in + FStarC_Compiler_List.op_At uu___7 uu___8 in + FStarC_Errors.log_issue0 + FStarC_Errors_Codes.Error_Z3InvocationError () + (Obj.magic + FStarC_Errors_Msg.is_error_message_list_doc) + (Obj.magic uu___6)); + report_errors []; + FStarC_Compiler_Effect.exit Prims.int_one) + | FStar_Pervasives_Native.Some fn -> + (FStarC_Compiler_Util.print1 "%s\n" fn; + FStarC_Compiler_Effect.exit Prims.int_zero))) | FStarC_Getopt.Success -> (FStarC_Compiler_Effect.op_Colon_Equals fstar_files (FStar_Pervasives_Native.Some filenames); diff --git a/stage0/fstar-lib/generated/FStarC_OCaml.ml b/stage0/fstar-lib/generated/FStarC_OCaml.ml new file mode 100644 index 00000000000..b712a3e77f0 --- /dev/null +++ b/stage0/fstar-lib/generated/FStarC_OCaml.ml @@ -0,0 +1,55 @@ +open Prims +let (shellescape : Prims.string -> Prims.string) = + fun s -> + let uu___ = + let uu___1 = FStarC_Compiler_String.list_of_string s in + FStarC_Compiler_List.map + (fun uu___2 -> + match uu___2 with + | 39 -> "'\"'\"'" + | c -> FStarC_Compiler_String.make Prims.int_one c) uu___1 in + FStarC_Compiler_String.concat "" uu___ +let (new_ocamlpath : unit -> Prims.string) = + fun uu___ -> + let ocamldir = FStarC_Find.locate_ocaml () in + let sep = + match FStarC_Platform.system with + | FStarC_Platform.Windows -> ";" + | FStarC_Platform.Posix -> ":" in + let old_ocamlpath = + let uu___1 = + FStarC_Compiler_Util.expand_environment_variable "OCAMLPATH" in + FStarC_Compiler_Util.dflt "" uu___1 in + let new_ocamlpath1 = + Prims.strcat ocamldir (Prims.strcat sep old_ocamlpath) in + new_ocamlpath1 +let exec_in_ocamlenv : 'a . Prims.string -> Prims.string Prims.list -> 'a = + fun cmd -> + fun args -> + let new_ocamlpath1 = new_ocamlpath () in + FStarC_Compiler_Util.putenv "OCAMLPATH" new_ocamlpath1; + (let pid = FStarC_Compiler_Util.create_process cmd (cmd :: args) in + let rc = FStarC_Compiler_Util.waitpid pid in + match rc with + | FStar_Pervasives.Inl rc1 -> FStarC_Compiler_Effect.exit rc1 + | FStar_Pervasives.Inr uu___1 -> + FStarC_Compiler_Effect.exit Prims.int_one) +let (app_lib : Prims.string) = "fstar.lib" +let (plugin_lib : Prims.string) = "fstar.lib" +let (wstr : Prims.string) = "-8" +let (common_args : Prims.string Prims.list) = ["-w"; wstr; "-thread"] +let exec_ocamlc : 'a . Prims.string Prims.list -> 'a = + fun args -> + exec_in_ocamlenv "ocamlfind" + (FStar_List_Tot_Base.op_At ("c" :: common_args) ("-linkpkg" :: + "-package" :: app_lib :: args)) +let exec_ocamlopt : 'a . Prims.string Prims.list -> 'a = + fun args -> + exec_in_ocamlenv "ocamlfind" + (FStar_List_Tot_Base.op_At ("opt" :: common_args) ("-linkpkg" :: + "-package" :: app_lib :: args)) +let exec_ocamlopt_plugin : 'a . Prims.string Prims.list -> 'a = + fun args -> + exec_in_ocamlenv "ocamlfind" + (FStar_List_Tot_Base.op_At ("opt" :: common_args) ("-shared" :: + "-package" :: plugin_lib :: args)) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_Options.ml b/stage0/fstar-lib/generated/FStarC_Options.ml similarity index 97% rename from ocaml/fstar-lib/generated/FStarC_Options.ml rename to stage0/fstar-lib/generated/FStarC_Options.ml index dd03a623717..f67e8c1e7f8 100644 --- a/ocaml/fstar-lib/generated/FStarC_Options.ml +++ b/stage0/fstar-lib/generated/FStarC_Options.ml @@ -364,6 +364,8 @@ let (defaults : (Prims.string * option_val) Prims.list) = ("locate", (Bool false)); ("locate_lib", (Bool false)); ("locate_ocaml", (Bool false)); + ("locate_file", Unset); + ("locate_z3", Unset); ("read_krml_file", Unset); ("record_hints", (Bool false)); ("record_options", (Bool false)); @@ -451,7 +453,7 @@ let rec (option_val_to_string : option_val -> Prims.string) = let uu___ = FStarC_Class_Show.show FStarC_Class_Show.showable_int i in FStarC_Compiler_String.op_Hat "Int " uu___ | List vs -> - let uu___ = (FStarC_Common.string_of_list ()) option_val_to_string vs in + let uu___ = FStarC_Common.string_of_list option_val_to_string vs in FStarC_Compiler_String.op_Hat "List " uu___ | Unset -> "Unset" let (showable_option_val : option_val FStarC_Class_Show.showable) = @@ -741,6 +743,10 @@ let (get_locate_lib : unit -> Prims.bool) = fun uu___ -> lookup_opt "locate_lib" as_bool let (get_locate_ocaml : unit -> Prims.bool) = fun uu___ -> lookup_opt "locate_ocaml" as_bool +let (get_locate_file : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> lookup_opt "locate_file" (as_option as_string) +let (get_locate_z3 : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> lookup_opt "locate_z3" (as_option as_string) let (get_record_hints : unit -> Prims.bool) = fun uu___ -> lookup_opt "record_hints" as_bool let (get_record_options : unit -> Prims.bool) = @@ -865,6 +871,19 @@ let (display_version : unit -> unit) = "F* %s\nplatform=%s\ncompiler=%s\ndate=%s\ncommit=%s\n" uu___2 uu___3 uu___4 uu___5 uu___6 in FStarC_Compiler_Util.print_string uu___1 +let (bold_doc : FStarC_Pprint.document -> FStarC_Pprint.document) = + fun d -> + let uu___ = + let uu___1 = FStarC_Compiler_Util.stdout_isatty () in + uu___1 = (FStar_Pervasives_Native.Some true) in + if uu___ + then + let uu___1 = FStarC_Pprint.fancystring "\027[39;1m" Prims.int_zero in + let uu___2 = + let uu___3 = FStarC_Pprint.fancystring "\027[0m" Prims.int_zero in + FStarC_Pprint.op_Hat_Hat d uu___3 in + FStarC_Pprint.op_Hat_Hat uu___1 uu___2 + else d let (display_debug_keys : unit -> unit) = fun uu___ -> let keys = FStarC_Compiler_Debug.list_all_toggles () in @@ -874,24 +893,69 @@ let (display_debug_keys : unit -> unit) = (fun s -> let uu___2 = FStarC_Compiler_String.op_Hat s "\n" in FStarC_Compiler_Util.print_string uu___2) uu___1 +let (usage_for : + (FStarC_Getopt.opt * FStarC_Pprint.document) -> FStarC_Pprint.document) = + fun o -> + let uu___ = o in + match uu___ with + | ((short, flag, p), explain) -> + let arg = + match p with + | FStarC_Getopt.ZeroArgs uu___1 -> FStarC_Pprint.empty + | FStarC_Getopt.OneArg (uu___1, argname) -> + let uu___2 = FStarC_Pprint.blank Prims.int_one in + let uu___3 = FStarC_Pprint.doc_of_string argname in + FStarC_Pprint.op_Hat_Hat uu___2 uu___3 in + let short_opt = + if short <> FStarC_Getopt.noshort + then + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = + FStarC_Compiler_String.make Prims.int_one short in + FStarC_Compiler_String.op_Hat "-" uu___4 in + FStarC_Pprint.doc_of_string uu___3 in + FStarC_Pprint.op_Hat_Hat uu___2 arg in + [uu___1] + else [] in + let long_opt = + if flag <> "" + then + let uu___1 = + let uu___2 = + let uu___3 = FStarC_Compiler_String.op_Hat "--" flag in + FStarC_Pprint.doc_of_string uu___3 in + FStarC_Pprint.op_Hat_Hat uu___2 arg in + [uu___1] + else [] in + let uu___1 = + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = FStarC_Pprint.blank Prims.int_one in + FStarC_Pprint.op_Hat_Hat FStarC_Pprint.comma uu___5 in + FStarC_Pprint.separate uu___4 + (FStarC_Compiler_List.op_At short_opt long_opt) in + bold_doc uu___3 in + FStarC_Pprint.group uu___2 in + let uu___2 = + let uu___3 = + let uu___4 = + let uu___5 = + let uu___6 = FStarC_Pprint.blank (Prims.of_int (4)) in + let uu___7 = FStarC_Pprint.align explain in + FStarC_Pprint.op_Hat_Hat uu___6 uu___7 in + FStarC_Pprint.group uu___5 in + FStarC_Pprint.op_Hat_Hat uu___4 FStarC_Pprint.hardline in + FStarC_Pprint.op_Hat_Hat FStarC_Pprint.hardline uu___3 in + FStarC_Pprint.op_Hat_Hat uu___1 uu___2 let (display_usage_aux : (FStarC_Getopt.opt * FStarC_Pprint.document) Prims.list -> unit) = fun specs -> let text s = let uu___ = FStarC_Pprint.break_ Prims.int_one in let uu___1 = FStarC_Pprint.words s in FStarC_Pprint.flow uu___ uu___1 in - let bold_doc d = - let uu___ = - let uu___1 = FStarC_Compiler_Util.stdout_isatty () in - uu___1 = (FStar_Pervasives_Native.Some true) in - if uu___ - then - let uu___1 = FStarC_Pprint.fancystring "\027[39;1m" Prims.int_zero in - let uu___2 = - let uu___3 = FStarC_Pprint.fancystring "\027[0m" Prims.int_zero in - FStarC_Pprint.op_Hat_Hat d uu___3 in - FStarC_Pprint.op_Hat_Hat uu___1 uu___2 - else d in let d = let uu___ = FStarC_Pprint.doc_of_string @@ -906,68 +970,10 @@ let (display_usage_aux : FStarC_Pprint.doc_of_string uu___3 in let uu___3 = FStarC_Compiler_List.fold_right - (fun uu___4 -> + (fun o -> fun rest -> - match uu___4 with - | ((short, flag, p), explain) -> - let arg = - match p with - | FStarC_Getopt.ZeroArgs uu___5 -> FStarC_Pprint.empty - | FStarC_Getopt.OneArg (uu___5, argname) -> - let uu___6 = FStarC_Pprint.blank Prims.int_one in - let uu___7 = FStarC_Pprint.doc_of_string argname in - FStarC_Pprint.op_Hat_Hat uu___6 uu___7 in - let short_opt = - if short <> FStarC_Getopt.noshort - then - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - FStarC_Compiler_String.make Prims.int_one - short in - FStarC_Compiler_String.op_Hat "-" uu___8 in - FStarC_Pprint.doc_of_string uu___7 in - FStarC_Pprint.op_Hat_Hat uu___6 arg in - [uu___5] - else [] in - let long_opt = - if flag <> "" - then - let uu___5 = - let uu___6 = - let uu___7 = - FStarC_Compiler_String.op_Hat "--" flag in - FStarC_Pprint.doc_of_string uu___7 in - FStarC_Pprint.op_Hat_Hat uu___6 arg in - [uu___5] - else [] in - let uu___5 = - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = FStarC_Pprint.blank Prims.int_one in - FStarC_Pprint.op_Hat_Hat FStarC_Pprint.comma - uu___9 in - FStarC_Pprint.separate uu___8 - (FStarC_Compiler_List.op_At short_opt long_opt) in - bold_doc uu___7 in - FStarC_Pprint.group uu___6 in - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - let uu___10 = - FStarC_Pprint.blank (Prims.of_int (4)) in - let uu___11 = FStarC_Pprint.align explain in - FStarC_Pprint.op_Hat_Hat uu___10 uu___11 in - FStarC_Pprint.group uu___9 in - let uu___9 = - FStarC_Pprint.op_Hat_Hat FStarC_Pprint.hardline - rest in - FStarC_Pprint.op_Hat_Hat uu___8 uu___9 in - FStarC_Pprint.op_Hat_Hat FStarC_Pprint.hardline uu___7 in - FStarC_Pprint.op_Hat_Hat uu___5 uu___6) specs + let uu___4 = usage_for o in + FStarC_Pprint.op_Hat_Hat uu___4 rest) specs FStarC_Pprint.empty in FStarC_Pprint.op_Hat_Slash_Hat uu___2 uu___3 in FStarC_Pprint.op_Hat_Slash_Hat uu___ uu___1 in @@ -3514,12 +3520,38 @@ let rec (specs_with_types : let uu___280 = text + "Find a file in F*'s include path and print its absolute path, then exit" in + (FStarC_Getopt.noshort, + "locate_file", + (SimpleStr + "basename"), + uu___280) in + let uu___280 + = + let uu___281 + = + let uu___282 + = + text + "Locate the executable for a given Z3 version, then exit. The output is either an absolute path, or a name that was found in the PATH. Note: this is the Z3 executable that F* will attempt to call for the given version, but the version check is not performed at this point." in + (FStarC_Getopt.noshort, + "locate_z3", + (SimpleStr + "version"), + uu___282) in + let uu___282 + = + let uu___283 + = + let uu___284 + = + text "With no arguments: print shell code to set up an environment with the OCaml libraries in scope (similar to 'opam env'). With arguments: run a command in that environment. NOTE: this must be the FIRST argument passed to F* and other options are NOT processed." in (FStarC_Getopt.noshort, "ocamlenv", (WithSideEffect ((fun - uu___281 + uu___285 -> FStarC_Compiler_Util.print_error "--ocamlenv must be the first argument, see fstar.exe --help for details\n"; @@ -3528,12 +3560,12 @@ let rec (specs_with_types : (Const (Bool true)))), - uu___280) in - let uu___280 + uu___284) in + let uu___284 = - let uu___281 + let uu___285 = - let uu___282 + let uu___286 = text "A helper. This runs 'ocamlc' in the environment set up by --ocamlenv, for building an F* application bytecode executable." in @@ -3541,7 +3573,7 @@ let rec (specs_with_types : "ocamlc", (WithSideEffect ((fun - uu___283 + uu___287 -> FStarC_Compiler_Util.print_error "--ocamlc must be the first argument, see fstar.exe --help for details\n"; @@ -3550,12 +3582,12 @@ let rec (specs_with_types : (Const (Bool true)))), - uu___282) in - let uu___282 + uu___286) in + let uu___286 = - let uu___283 + let uu___287 = - let uu___284 + let uu___288 = text "A helper. This runs 'ocamlopt' in the environment set up by --ocamlenv, for building an F* application native executable." in @@ -3563,7 +3595,7 @@ let rec (specs_with_types : "ocamlopt", (WithSideEffect ((fun - uu___285 + uu___289 -> FStarC_Compiler_Util.print_error "--ocamlopt must be the first argument, see fstar.exe --help for details\n"; @@ -3572,12 +3604,12 @@ let rec (specs_with_types : (Const (Bool true)))), - uu___284) in - let uu___284 + uu___288) in + let uu___288 = - let uu___285 + let uu___289 = - let uu___286 + let uu___290 = text "A helper. This runs 'ocamlopt' in the environment set up by --ocamlenv, for building an F* plugin." in @@ -3585,7 +3617,7 @@ let rec (specs_with_types : "ocamlopt_plugin", (WithSideEffect ((fun - uu___287 + uu___291 -> FStarC_Compiler_Util.print_error "--ocamlopt_plugin must be the first argument, see fstar.exe --help for details\n"; @@ -3594,8 +3626,14 @@ let rec (specs_with_types : (Const (Bool true)))), - uu___286) in - [uu___285] in + uu___290) in + [uu___289] in + uu___287 + :: + uu___288 in + uu___285 + :: + uu___286 in uu___283 :: uu___284 in @@ -4084,6 +4122,18 @@ let (settable_specs : (fun uu___ -> match uu___ with | ((uu___2, x, uu___3), uu___4) -> settable x) all_specs +let (help_for_option : + Prims.string -> FStarC_Pprint.document FStar_Pervasives_Native.option) = + fun s -> + let uu___ = + FStarC_Compiler_List.filter + (fun uu___2 -> + match uu___2 with | ((uu___3, x, uu___4), uu___5) -> x = s) + all_specs in + match uu___ with + | [] -> FStar_Pervasives_Native.None + | o::uu___2 -> + let uu___3 = usage_for o in FStar_Pervasives_Native.Some uu___3 let (uu___2 : (((unit -> FStarC_Getopt.parse_cmdline_res) -> unit) * (unit -> FStarC_Getopt.parse_cmdline_res))) @@ -4490,6 +4540,10 @@ let (list_plugins : unit -> Prims.bool) = fun uu___ -> get_list_plugins () let (locate : unit -> Prims.bool) = fun uu___ -> get_locate () let (locate_lib : unit -> Prims.bool) = fun uu___ -> get_locate_lib () let (locate_ocaml : unit -> Prims.bool) = fun uu___ -> get_locate_ocaml () +let (locate_file : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> get_locate_file () +let (locate_z3 : unit -> Prims.string FStar_Pervasives_Native.option) = + fun uu___ -> get_locate_z3 () let (read_krml_file : unit -> Prims.string FStar_Pervasives_Native.option) = fun uu___ -> get_read_krml_file () let (record_hints : unit -> Prims.bool) = fun uu___ -> get_record_hints () @@ -4930,15 +4984,17 @@ let (set_options : Prims.string -> FStarC_Getopt.parse_cmdline_res) = FStarC_Getopt.parse_string settable_specs1 (fun s1 -> FStarC_Compiler_Effect.raise (File_argument s1); - FStarC_Getopt.Error "set_options with file argument") - s in + FStarC_Getopt.Error + ("set_options with file argument", "")) s in if res = FStarC_Getopt.Success then set_error_flags () else res)) () with | File_argument s1 -> let uu___3 = - FStarC_Compiler_Util.format1 "File %s is not a valid option" s1 in + let uu___4 = + FStarC_Compiler_Util.format1 "File %s is not a valid option" s1 in + (uu___4, "") in FStarC_Getopt.Error uu___3 let with_options : 'a . Prims.string -> (unit -> 'a) -> 'a = fun s -> diff --git a/ocaml/fstar-lib/generated/FStarC_Options_Ext.ml b/stage0/fstar-lib/generated/FStarC_Options_Ext.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Options_Ext.ml rename to stage0/fstar-lib/generated/FStarC_Options_Ext.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_AST.ml b/stage0/fstar-lib/generated/FStarC_Parser_AST.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Parser_AST.ml rename to stage0/fstar-lib/generated/FStarC_Parser_AST.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_AST_Util.ml b/stage0/fstar-lib/generated/FStarC_Parser_AST_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Parser_AST_Util.ml rename to stage0/fstar-lib/generated/FStarC_Parser_AST_Util.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_Const.ml b/stage0/fstar-lib/generated/FStarC_Parser_Const.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Parser_Const.ml rename to stage0/fstar-lib/generated/FStarC_Parser_Const.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_Dep.ml b/stage0/fstar-lib/generated/FStarC_Parser_Dep.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Parser_Dep.ml rename to stage0/fstar-lib/generated/FStarC_Parser_Dep.ml index 41d0999a2ba..9be029dad40 100644 --- a/ocaml/fstar-lib/generated/FStarC_Parser_Dep.ml +++ b/stage0/fstar-lib/generated/FStarC_Parser_Dep.ml @@ -143,10 +143,31 @@ let (module_name_of_file : Prims.string -> Prims.string) = | FStar_Pervasives_Native.Some longname -> longname | FStar_Pervasives_Native.None -> let uu___1 = - FStarC_Compiler_Util.format1 "Not a valid FStar file: '%s'" f in + let uu___2 = + let uu___3 = + let uu___4 = + FStarC_Compiler_Util.format1 "Not a valid FStar file: '%s'" f in + FStarC_Errors_Msg.text uu___4 in + [uu___3] in + let uu___3 = + if + (FStarC_Platform.system = FStarC_Platform.Windows) && + (f = "..") + then + let uu___4 = + FStarC_Errors_Msg.text + "Note: In Windows-compiled versions of F*, a literal\n asterisk as argument will be expanded to a list of files,\n **even if quoted**. It is possible you provided such an\n argument which got expanded to the list of all files in this\n directory, causing spurious arguments that F* attempts to interpret as files." in + let uu___5 = + let uu___6 = + FStarC_Errors_Msg.text + "Hint: did you perhaps pass --already_cached '*' or similar? You can add\n a comma (',*') to prevent the expansion and retain the behavior." in + [uu___6] in + uu___4 :: uu___5 + else [] in + FStarC_Compiler_List.op_At uu___2 uu___3 in FStarC_Errors.raise_error0 FStarC_Errors_Codes.Fatal_NotValidFStarFile () - (Obj.magic FStarC_Errors_Msg.is_error_message_string) + (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) (Obj.magic uu___1) let (lowercase_module_name : Prims.string -> Prims.string) = fun f -> diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_Driver.ml b/stage0/fstar-lib/generated/FStarC_Parser_Driver.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Parser_Driver.ml rename to stage0/fstar-lib/generated/FStarC_Parser_Driver.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Parser_ToDocument.ml b/stage0/fstar-lib/generated/FStarC_Parser_ToDocument.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Parser_ToDocument.ml rename to stage0/fstar-lib/generated/FStarC_Parser_ToDocument.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Prettyprint.ml b/stage0/fstar-lib/generated/FStarC_Prettyprint.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Prettyprint.ml rename to stage0/fstar-lib/generated/FStarC_Prettyprint.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Profiling.ml b/stage0/fstar-lib/generated/FStarC_Profiling.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Profiling.ml rename to stage0/fstar-lib/generated/FStarC_Profiling.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_Builtins.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_Builtins.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_Builtins.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_Builtins.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_Constants.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_Constants.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_Constants.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_Constants.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_Data.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_Data.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_Data.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_Data.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_Embeddings.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_Embeddings.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_Embeddings.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_Embeddings.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_Interpreter.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_Interpreter.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_Interpreter.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_Interpreter.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V1_NBEEmbeddings.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V1_NBEEmbeddings.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V1_NBEEmbeddings.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V1_NBEEmbeddings.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_Builtins.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_Builtins.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_Builtins.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_Builtins.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_Constants.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_Constants.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_Constants.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_Constants.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_Data.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_Data.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_Data.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_Data.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_Embeddings.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_Embeddings.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_Embeddings.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_Embeddings.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_Interpreter.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_Interpreter.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_Interpreter.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_Interpreter.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Reflection_V2_NBEEmbeddings.ml b/stage0/fstar-lib/generated/FStarC_Reflection_V2_NBEEmbeddings.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Reflection_V2_NBEEmbeddings.ml rename to stage0/fstar-lib/generated/FStarC_Reflection_V2_NBEEmbeddings.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Encode.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Encode.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Encode.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Encode.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_EncodeTerm.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_EncodeTerm.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_EncodeTerm.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_EncodeTerm.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Env.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Env.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Env.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Env.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_ErrorReporting.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_ErrorReporting.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_ErrorReporting.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_ErrorReporting.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Pruning.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Pruning.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Pruning.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Pruning.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Solver.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Solver.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Solver.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Solver.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_SolverState.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_SolverState.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_SolverState.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_SolverState.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Solver_Cache.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Solver_Cache.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Solver_Cache.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Solver_Cache.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Term.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Term.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Term.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Term.ml index 4922281c0b8..2dd4c30aaac 100644 --- a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Term.ml +++ b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Term.ml @@ -747,13 +747,7 @@ let rec (hash_of_term' : term' -> Prims.string) = Prims.strcat uu___3 ")" in Prims.strcat uu___1 uu___2 in Prims.strcat "(" uu___ - | Labeled (t1, r1, r2) -> - let uu___ = hash_of_term t1 in - let uu___1 = - let uu___2 = FStarC_Errors_Msg.rendermsg r1 in - let uu___3 = FStarC_Compiler_Range_Ops.string_of_range r2 in - Prims.strcat uu___2 uu___3 in - Prims.strcat uu___ uu___1 + | Labeled (t1, uu___, uu___1) -> hash_of_term t1 | LblPos (t1, r) -> let uu___ = let uu___1 = hash_of_term t1 in diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_UnsatCore.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_UnsatCore.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_UnsatCore.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_UnsatCore.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Util.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Util.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Util.ml diff --git a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml similarity index 90% rename from ocaml/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml rename to stage0/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml index 82970f5a79c..51de6020b67 100644 --- a/ocaml/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml +++ b/stage0/fstar-lib/generated/FStarC_SMTEncoding_Z3.ml @@ -114,43 +114,6 @@ let (_already_warned_solver_mismatch : Prims.bool FStarC_Compiler_Effect.ref) = FStarC_Compiler_Util.mk_ref false let (_already_warned_version_mismatch : Prims.bool FStarC_Compiler_Effect.ref) = FStarC_Compiler_Util.mk_ref false -let (z3url : Prims.string) = "https://github.com/Z3Prover/z3/releases" -let (inpath : Prims.string -> Prims.bool) = - fun path -> - try - (fun uu___ -> - match () with - | () -> - let s = - FStarC_Compiler_Util.run_process "z3_pathtest" path - ["-version"] FStar_Pervasives_Native.None in - s <> "") () - with | uu___ -> false -let (z3_exe : unit -> Prims.string) = - let cache = FStarC_Compiler_Util.smap_create (Prims.of_int (5)) in - let find_or k f = - let uu___ = FStarC_Compiler_Util.smap_try_find cache k in - match uu___ with - | FStar_Pervasives_Native.Some v -> v - | FStar_Pervasives_Native.None -> - let v = f k in (FStarC_Compiler_Util.smap_add cache k v; v) in - fun uu___ -> - let uu___1 = FStarC_Options.z3_version () in - find_or uu___1 - (fun version -> - let path = - let z3_v = FStarC_Platform.exe (Prims.strcat "z3-" version) in - let smto = FStarC_Options.smt () in - if FStar_Pervasives_Native.uu___is_Some smto - then FStar_Pervasives_Native.__proj__Some__item__v smto - else - (let uu___3 = inpath z3_v in - if uu___3 then z3_v else FStarC_Platform.exe "z3") in - (let uu___3 = FStarC_Compiler_Debug.any () in - if uu___3 - then FStarC_Compiler_Util.print1 "Chosen Z3 executable: %s\n" path - else ()); - path) type label = Prims.string let (status_tag : z3status -> Prims.string) = fun uu___ -> @@ -268,7 +231,29 @@ let (query_logging : query_log) = } let (z3_cmd_and_args : unit -> (Prims.string * Prims.string Prims.list)) = fun uu___ -> - let cmd = z3_exe () in + let ver = FStarC_Options.z3_version () in + let cmd = + let uu___1 = FStarC_Find.locate_z3 ver in + match uu___1 with + | FStar_Pervasives_Native.Some fn -> fn + | FStar_Pervasives_Native.None -> + let uu___2 = + let uu___3 = + let uu___4 = FStarC_Errors_Msg.text "Z3 solver not found." in + let uu___5 = + let uu___6 = + let uu___7 = FStarC_Errors_Msg.text "Required version: " in + let uu___8 = FStarC_Pprint.doc_of_string ver in + FStarC_Pprint.prefix (Prims.of_int (2)) Prims.int_one + uu___7 uu___8 in + [uu___6] in + uu___4 :: uu___5 in + let uu___4 = FStarC_Find.z3_install_suggestion ver in + FStarC_Compiler_List.op_At uu___3 uu___4 in + FStarC_Errors.raise_error0 + FStarC_Errors_Codes.Error_Z3InvocationError () + (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) + (Obj.magic uu___2) in let cmd_args = let uu___1 = let uu___2 = @@ -341,24 +326,24 @@ let (check_z3version : FStarC_Compiler_Util.proc -> unit) = ((let uu___3 = let uu___4 = let uu___5 = - let uu___6 = FStarC_Options.z3_version () in - Prims.strcat "z3-" uu___6 in - FStarC_Platform.exe uu___5 in - FStarC_Compiler_Util.format3 - "Unexpected SMT solver: expected to be talking to Z3, got %s.\nPlease download the correct version of Z3 from %s\nand install it into your $PATH as `%s'." - name z3url uu___4 in + let uu___6 = + FStarC_Compiler_Util.format1 + "Unexpected SMT solver: expected to be talking to Z3, got %s." + name in + FStarC_Errors_Msg.text uu___6 in + [uu___5] in + let uu___5 = + let uu___6 = FStarC_Options.z3_version () in + FStarC_Find.z3_install_suggestion uu___6 in + FStarC_Compiler_List.op_At uu___4 uu___5 in FStarC_Errors.log_issue0 FStarC_Errors_Codes.Warning_SolverMismatch - () (Obj.magic FStarC_Errors_Msg.is_error_message_string) + () (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) (Obj.magic uu___3)); FStarC_Compiler_Effect.op_Colon_Equals _already_warned_solver_mismatch true) else ()); (let ver_found = - let uu___1 = - let uu___2 = - let uu___3 = getinfo "version" in - FStarC_Compiler_Util.split uu___3 "-" in - FStarC_Compiler_List.hd uu___2 in + let uu___1 = getinfo "version" in FStarC_Compiler_Util.trim_string uu___1 in let ver_conf = let uu___1 = FStarC_Options.z3_version () in @@ -373,41 +358,15 @@ let (check_z3version : FStarC_Compiler_Util.proc -> unit) = ((let uu___4 = let uu___5 = let uu___6 = - let uu___7 = FStarC_Compiler_Util.proc_prog p in - FStarC_Compiler_Util.format3 - "Unexpected Z3 version for '%s': expected '%s', got '%s'." - uu___7 ver_conf ver_found in - FStarC_Errors_Msg.text uu___6 in - let uu___6 = - let uu___7 = - let uu___8 = - let uu___9 = - FStarC_Errors_Msg.text - "Please download the correct version of Z3 from" in - let uu___10 = FStarC_Pprint.url z3url in - FStarC_Pprint.prefix (Prims.of_int (4)) Prims.int_one uu___9 - uu___10 in - let uu___9 = - let uu___10 = - let uu___11 = - FStarC_Errors_Msg.text - "and install it into your $PATH as" in - let uu___12 = - let uu___13 = - let uu___14 = - let uu___15 = - let uu___16 = - let uu___17 = FStarC_Options.z3_version () in - Prims.strcat "z3-" uu___17 in - FStarC_Platform.exe uu___16 in - FStarC_Pprint.doc_of_string uu___15 in - FStarC_Pprint.squotes uu___14 in - FStarC_Pprint.op_Hat_Hat uu___13 FStarC_Pprint.dot in - FStarC_Pprint.op_Hat_Slash_Hat uu___11 uu___12 in - FStarC_Pprint.group uu___10 in - FStarC_Pprint.op_Hat_Slash_Hat uu___8 uu___9 in - [uu___7] in - uu___5 :: uu___6 in + let uu___7 = + let uu___8 = FStarC_Compiler_Util.proc_prog p in + FStarC_Compiler_Util.format3 + "Unexpected Z3 version for '%s': expected '%s', got '%s'." + uu___8 ver_conf ver_found in + FStarC_Errors_Msg.text uu___7 in + [uu___6] in + let uu___6 = FStarC_Find.z3_install_suggestion ver_conf in + FStarC_Compiler_List.op_At uu___5 uu___6 in FStarC_Errors.log_issue0 FStarC_Errors_Codes.Warning_SolverMismatch () (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) (Obj.magic uu___4)); @@ -500,16 +459,6 @@ let (__proj__Mkbgproc__item__ctxt : bgproc -> FStarC_SMTEncoding_SolverState.solver_state) = fun projectee -> match projectee with | { ask; refresh; restart; version; ctxt;_} -> ctxt -let (cmd_and_args_to_string : - (Prims.string * Prims.string Prims.list) -> Prims.string) = - fun cmd_and_args -> - FStarC_Compiler_String.concat "" - ["cmd="; - FStar_Pervasives_Native.fst cmd_and_args; - " args=["; - FStarC_Compiler_String.concat ", " - (FStar_Pervasives_Native.snd cmd_and_args); - "]"] let (bg_z3_proc : bgproc FStarC_Compiler_Effect.ref) = let the_z3proc = FStarC_Compiler_Util.mk_ref FStar_Pervasives_Native.None in let the_z3proc_params = @@ -517,10 +466,24 @@ let (bg_z3_proc : bgproc FStarC_Compiler_Effect.ref) = let the_z3proc_ask_count = FStarC_Compiler_Util.mk_ref Prims.int_zero in let the_z3proc_version = FStarC_Compiler_Util.mk_ref "" in let make_new_z3_proc cmd_and_args = - (let uu___1 = - let uu___2 = new_z3proc_with_id cmd_and_args in - FStar_Pervasives_Native.Some uu___2 in - FStarC_Compiler_Effect.op_Colon_Equals the_z3proc uu___1); + (let uu___1 = FStarC_Options.hint_info () in + if uu___1 + then + let uu___2 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_tuple2 FStarC_Class_Show.showable_string + (FStarC_Class_Show.show_list FStarC_Class_Show.showable_string)) + cmd_and_args in + let uu___3 = + let uu___4 = FStarC_Options.z3_version () in + FStarC_Class_Show.show FStarC_Class_Show.showable_string uu___4 in + FStarC_Compiler_Util.print2 + "Creating new z3proc (cmd=[%s], version=[%s])\n" uu___2 uu___3 + else ()); + (let uu___2 = + let uu___3 = new_z3proc_with_id cmd_and_args in + FStar_Pervasives_Native.Some uu___3 in + FStarC_Compiler_Effect.op_Colon_Equals the_z3proc uu___2); FStarC_Compiler_Effect.op_Colon_Equals the_z3proc_params (FStar_Pervasives_Native.Some cmd_and_args); FStarC_Compiler_Effect.op_Colon_Equals the_z3proc_ask_count @@ -548,44 +511,36 @@ let (bg_z3_proc : bgproc FStarC_Compiler_Effect.ref) = uu___3 <> FStar_Pervasives_Native.None in if uu___2 then - ((let uu___4 = - let uu___5 = FStarC_Compiler_Effect.op_Bang the_z3proc in - FStarC_Compiler_Util.must uu___5 in - FStarC_Compiler_Util.kill_process uu___4); + let old_params = + let uu___3 = FStarC_Compiler_Effect.op_Bang the_z3proc_params in + FStarC_Compiler_Util.must uu___3 in + let old_version = FStarC_Compiler_Effect.op_Bang the_z3proc_version in + ((let uu___4 = FStarC_Options.hint_info () in + if uu___4 + then + let uu___5 = + let uu___6 = FStarC_Compiler_Effect.op_Bang the_z3proc_ask_count in + FStarC_Class_Show.show FStarC_Class_Show.showable_int uu___6 in + let uu___6 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_tuple2 + FStarC_Class_Show.showable_string + (FStarC_Class_Show.show_list + FStarC_Class_Show.showable_string)) old_params in + FStarC_Compiler_Util.print2 + "Killing old z3proc (ask_count=%s, old_cmd=[%s])\n" uu___5 + uu___6 + else ()); + (let uu___5 = + let uu___6 = FStarC_Compiler_Effect.op_Bang the_z3proc in + FStarC_Compiler_Util.must uu___6 in + FStarC_Compiler_Util.kill_process uu___5); + FStarC_Compiler_Effect.op_Colon_Equals the_z3proc_ask_count + Prims.int_zero; FStarC_Compiler_Effect.op_Colon_Equals the_z3proc FStar_Pervasives_Native.None) else () in - let refresh uu___1 = - let next_params = z3_cmd_and_args () in - let old_params = - let uu___2 = FStarC_Compiler_Effect.op_Bang the_z3proc_params in - FStarC_Compiler_Util.must uu___2 in - let old_version = FStarC_Compiler_Effect.op_Bang the_z3proc_version in - let next_version = FStarC_Options.z3_version () in - (let uu___3 = - (((FStarC_Options.log_queries ()) || - (let uu___4 = FStarC_Compiler_Effect.op_Bang the_z3proc_ask_count in - uu___4 > Prims.int_zero)) - || (old_params <> next_params)) - || (old_version <> next_version) in - if uu___3 - then - (maybe_kill_z3proc (); - (let uu___6 = FStarC_Options.query_stats () in - if uu___6 - then - let uu___7 = - let uu___8 = - FStarC_Compiler_Effect.op_Bang the_z3proc_ask_count in - FStarC_Compiler_Util.string_of_int uu___8 in - FStarC_Compiler_Util.print3 - "Refreshing the z3proc (ask_count=%s old=[%s] new=[%s])\n" - uu___7 (cmd_and_args_to_string old_params) - (cmd_and_args_to_string next_params) - else ()); - make_new_z3_proc next_params) - else ()); - query_logging.close_log () in + let refresh uu___1 = maybe_kill_z3proc (); query_logging.close_log () in let restart uu___1 = maybe_kill_z3proc (); query_logging.close_log (); diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Compress.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Compress.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Compress.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Compress.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_DsEnv.ml b/stage0/fstar-lib/generated/FStarC_Syntax_DsEnv.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_DsEnv.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_DsEnv.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Embeddings.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Embeddings.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings_AppEmb.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Embeddings_AppEmb.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings_AppEmb.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Embeddings_AppEmb.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings_Base.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Embeddings_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Embeddings_Base.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Embeddings_Base.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Formula.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Formula.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Formula.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Formula.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Free.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Free.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Free.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Free.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Hash.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Hash.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Hash.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Hash.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_InstFV.ml b/stage0/fstar-lib/generated/FStarC_Syntax_InstFV.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_InstFV.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_InstFV.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_MutRecTy.ml b/stage0/fstar-lib/generated/FStarC_Syntax_MutRecTy.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_MutRecTy.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_MutRecTy.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Print.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Print.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Print.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Print.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Print_Pretty.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Print_Pretty.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Print_Pretty.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Print_Pretty.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml index dd5682ccb86..67b67c9382d 100644 --- a/ocaml/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml +++ b/stage0/fstar-lib/generated/FStarC_Syntax_Print_Ugly.ml @@ -281,7 +281,7 @@ let rec (term_to_string : FStarC_Syntax_Syntax.term -> Prims.string) = | FStarC_Syntax_Syntax.Quote_static -> let uu___1 = term_to_string tm in let uu___2 = - (FStarC_Common.string_of_list ()) term_to_string + FStarC_Common.string_of_list term_to_string (FStar_Pervasives_Native.snd qi.FStarC_Syntax_Syntax.antiquotations) in FStarC_Compiler_Util.format2 "`(%s)%s" uu___1 uu___2 @@ -1018,7 +1018,7 @@ and (cflag_to_string : FStarC_Syntax_Syntax.cflag -> Prims.string) = | FStarC_Syntax_Syntax.DECREASES uu___ -> "" and (cflags_to_string : FStarC_Syntax_Syntax.cflag Prims.list -> Prims.string) = - fun fs -> (FStarC_Common.string_of_list ()) cflag_to_string fs + fun fs -> FStarC_Common.string_of_list cflag_to_string fs and (formula_to_string : FStarC_Syntax_Syntax.term' FStarC_Syntax_Syntax.syntax -> Prims.string) = fun phi -> term_to_string phi @@ -1360,8 +1360,8 @@ let rec (sigelt_to_string : FStarC_Syntax_Syntax.sigelt -> Prims.string) = -> let uu___1 = FStarC_Compiler_Util.string_of_bool lax in let uu___2 = - (FStarC_Common.string_of_list ()) - FStarC_Compiler_Util.string_of_int errs in + FStarC_Common.string_of_list FStarC_Compiler_Util.string_of_int + errs in let uu___3 = let uu___4 = FStarC_Compiler_List.map sigelt_to_string ses in FStarC_Compiler_String.concat "\n" uu___4 in diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Resugar.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Resugar.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Resugar.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Resugar.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Subst.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Subst.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Subst.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Subst.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Syntax.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Syntax.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Syntax.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Syntax.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Unionfind.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Unionfind.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Unionfind.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Unionfind.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Util.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Util.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Util.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Util.ml index a01755610f4..c4b809bc2e4 100644 --- a/ocaml/fstar-lib/generated/FStarC_Syntax_Util.ml +++ b/stage0/fstar-lib/generated/FStarC_Syntax_Util.ml @@ -3679,11 +3679,16 @@ let (process_pragma : (Obj.magic FStarC_Errors_Msg.is_error_message_string) (Obj.magic "Failed to process pragma: use 'fstar --help' to see which options are available") - | FStarC_Getopt.Error s1 -> + | FStarC_Getopt.Error (s1, opt) -> + let uu___2 = + let uu___3 = + FStarC_Errors_Msg.text + (Prims.strcat "Failed to process pragma: " s1) in + [uu___3] in FStarC_Errors.raise_error FStarC_Class_HasRange.hasRange_range r FStarC_Errors_Codes.Fatal_FailToProcessPragma () - (Obj.magic FStarC_Errors_Msg.is_error_message_string) - (Obj.magic (Prims.strcat "Failed to process pragma: " s1)) in + (Obj.magic FStarC_Errors_Msg.is_error_message_list_doc) + (Obj.magic uu___2) in match p with | FStarC_Syntax_Syntax.ShowOptions -> () | FStarC_Syntax_Syntax.SetOptions o -> set_options o diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_Visit.ml b/stage0/fstar-lib/generated/FStarC_Syntax_Visit.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_Visit.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_Visit.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Syntax_VisitM.ml b/stage0/fstar-lib/generated/FStarC_Syntax_VisitM.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Syntax_VisitM.ml rename to stage0/fstar-lib/generated/FStarC_Syntax_VisitM.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Common.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Common.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Common.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Common.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_CtrlRewrite.ml b/stage0/fstar-lib/generated/FStarC_Tactics_CtrlRewrite.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_CtrlRewrite.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_CtrlRewrite.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Embedding.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Embedding.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Embedding.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Embedding.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Hooks.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Hooks.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Hooks.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Hooks.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_InterpFuns.ml b/stage0/fstar-lib/generated/FStarC_Tactics_InterpFuns.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_InterpFuns.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_InterpFuns.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Interpreter.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Interpreter.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Interpreter.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Interpreter.ml index ccfb59906b9..e2841a689a4 100644 --- a/ocaml/fstar-lib/generated/FStarC_Tactics_Interpreter.ml +++ b/stage0/fstar-lib/generated/FStarC_Tactics_Interpreter.ml @@ -1017,7 +1017,7 @@ let run_unembedded_tactic_on_ps : if uu___6 then let uu___7 = - (FStarC_Common.string_of_list ()) + FStarC_Common.string_of_list (fun imp -> FStarC_Class_Show.show FStarC_Syntax_Print.showable_ctxu diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Monad.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Monad.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Monad.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Monad.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Printing.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Printing.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Printing.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Printing.ml index ef19b8a3954..1dff162209f 100644 --- a/ocaml/fstar-lib/generated/FStarC_Tactics_Printing.ml +++ b/stage0/fstar-lib/generated/FStarC_Tactics_Printing.ml @@ -229,7 +229,7 @@ let (ps_to_string : if uu___8 then let uu___9 = - (FStarC_Common.string_of_list ()) p_imp + FStarC_Common.string_of_list p_imp ps.FStarC_Tactics_Types.all_implicits in FStarC_Compiler_Util.format1 "Imps: %s\n" uu___9 else "" in diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Result.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Result.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Result.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Result.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_Types.ml b/stage0/fstar-lib/generated/FStarC_Tactics_Types.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_Types.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_Types.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml b/stage0/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml index d9b592bdc66..73c8256a9b3 100644 --- a/ocaml/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml +++ b/stage0/fstar-lib/generated/FStarC_Tactics_V1_Basic.ml @@ -3608,8 +3608,7 @@ let (t_apply : -> let uu___11 = - (FStarC_Common.string_of_list - ()) + FStarC_Common.string_of_list (fun uu___12 -> @@ -6239,7 +6238,7 @@ let (set_options : Prims.string -> unit FStarC_Tactics_Monad.tac) = (g.FStarC_Tactics_Types.label) } in Obj.magic (FStarC_Tactics_Monad.replace_cur g') - | FStarC_Getopt.Error err -> + | FStarC_Getopt.Error (err, uu___4) -> Obj.magic (fail2 "Setting options `%s` failed: %s" s err) | FStarC_Getopt.Help -> Obj.magic diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_V1_Primops.ml b/stage0/fstar-lib/generated/FStarC_Tactics_V1_Primops.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_V1_Primops.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_V1_Primops.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml b/stage0/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml index 31568b60bce..5a9e9d9dbab 100644 --- a/ocaml/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml +++ b/stage0/fstar-lib/generated/FStarC_Tactics_V2_Basic.ml @@ -4298,8 +4298,7 @@ let (t_apply : -> let uu___13 = - (FStarC_Common.string_of_list - ()) + FStarC_Common.string_of_list (fun uu___14 -> @@ -7347,7 +7346,7 @@ let (set_options : Prims.string -> unit FStarC_Tactics_Monad.tac) = (g.FStarC_Tactics_Types.label) } in Obj.magic (FStarC_Tactics_Monad.replace_cur g') - | FStarC_Getopt.Error err -> + | FStarC_Getopt.Error (err, uu___4) -> Obj.magic (fail2 "Setting options `%s` failed: %s" s err) | FStarC_Getopt.Help -> Obj.magic diff --git a/ocaml/fstar-lib/generated/FStarC_Tactics_V2_Primops.ml b/stage0/fstar-lib/generated/FStarC_Tactics_V2_Primops.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Tactics_V2_Primops.ml rename to stage0/fstar-lib/generated/FStarC_Tactics_V2_Primops.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Thunk.ml b/stage0/fstar-lib/generated/FStarC_Thunk.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_Thunk.ml rename to stage0/fstar-lib/generated/FStarC_Thunk.ml diff --git a/ocaml/fstar-lib/generated/FStarC_ToSyntax_Interleave.ml b/stage0/fstar-lib/generated/FStarC_ToSyntax_Interleave.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_ToSyntax_Interleave.ml rename to stage0/fstar-lib/generated/FStarC_ToSyntax_Interleave.ml diff --git a/ocaml/fstar-lib/generated/FStarC_ToSyntax_ToSyntax.ml b/stage0/fstar-lib/generated/FStarC_ToSyntax_ToSyntax.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_ToSyntax_ToSyntax.ml rename to stage0/fstar-lib/generated/FStarC_ToSyntax_ToSyntax.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Cfg.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Cfg.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Cfg.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Cfg.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Common.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Common.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Common.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Common.ml index a026e9a1cc7..0853dbdb87b 100644 --- a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Common.ml +++ b/stage0/fstar-lib/generated/FStarC_TypeChecker_Common.ml @@ -595,7 +595,7 @@ let (implicits_to_string : implicits -> Prims.string) = let imp_to_string i = FStarC_Class_Show.show FStarC_Syntax_Print.showable_uvar (i.imp_uvar).FStarC_Syntax_Syntax.ctx_uvar_head in - (FStarC_Common.string_of_list ()) imp_to_string imps + FStarC_Common.string_of_list imp_to_string imps type implicits_t = implicit FStarC_Compiler_CList.t type guard_t = { diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Core.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Core.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Core.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Core.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_DMFF.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_DMFF.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_DMFF.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_DMFF.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_DeferredImplicits.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_DeferredImplicits.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_DeferredImplicits.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_DeferredImplicits.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Env.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Env.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Env.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Env.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Err.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Err.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Err.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Err.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Generalize.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Generalize.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Generalize.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Generalize.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_NBE.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_NBE.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_NBE.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_NBE.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_NBETerm.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_NBETerm.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_NBETerm.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_NBETerm.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml index f9782fa8b18..a69ab6d7624 100644 --- a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml +++ b/stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize.ml @@ -2233,8 +2233,7 @@ let rec (norm : do_unfold_fv cfg stack3 t1 qninfo fv | FStar_Pervasives_Native.Some (FStar_Pervasives_Native.Some cfg1, stack3) -> - let uu___5 = do_unfold_fv cfg1 [] t1 qninfo fv in - rebuild cfg1 empty_env stack3 uu___5 + do_unfold_fv cfg1 stack3 t1 qninfo fv | FStar_Pervasives_Native.None -> rebuild cfg empty_env stack2 t1)) | FStarC_Syntax_Syntax.Tm_quoted (qt, qi) -> diff --git a/stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml new file mode 100644 index 00000000000..0c944c36775 --- /dev/null +++ b/stage0/fstar-lib/generated/FStarC_TypeChecker_Normalize_Unfolding.ml @@ -0,0 +1,370 @@ +open Prims +let (plugin_unfold_warn_ctr : Prims.int FStarC_Compiler_Effect.ref) = + FStarC_Compiler_Util.mk_ref Prims.int_zero +type should_unfold_res = + | Should_unfold_no + | Should_unfold_yes + | Should_unfold_fully + | Should_unfold_reify +let (uu___is_Should_unfold_no : should_unfold_res -> Prims.bool) = + fun projectee -> + match projectee with | Should_unfold_no -> true | uu___ -> false +let (uu___is_Should_unfold_yes : should_unfold_res -> Prims.bool) = + fun projectee -> + match projectee with | Should_unfold_yes -> true | uu___ -> false +let (uu___is_Should_unfold_fully : should_unfold_res -> Prims.bool) = + fun projectee -> + match projectee with | Should_unfold_fully -> true | uu___ -> false +let (uu___is_Should_unfold_reify : should_unfold_res -> Prims.bool) = + fun projectee -> + match projectee with | Should_unfold_reify -> true | uu___ -> false +let (should_unfold : + FStarC_TypeChecker_Cfg.cfg -> + (FStarC_TypeChecker_Cfg.cfg -> Prims.bool) -> + FStarC_Syntax_Syntax.fv -> + FStarC_TypeChecker_Env.qninfo -> should_unfold_res) + = + fun cfg -> + fun should_reify -> + fun fv -> + fun qninfo -> + let attrs = + let uu___ = FStarC_TypeChecker_Env.attrs_of_qninfo qninfo in + match uu___ with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some ats -> ats in + let quals = + let uu___ = FStarC_TypeChecker_Env.quals_of_qninfo qninfo in + match uu___ with + | FStar_Pervasives_Native.None -> [] + | FStar_Pervasives_Native.Some quals1 -> quals1 in + let yes = (true, false, false) in + let no = (false, false, false) in + let fully = (true, true, false) in + let reif = (true, false, true) in + let yesno b = if b then yes else no in + let fullyno b = if b then fully else no in + let comb_or l = + FStarC_Compiler_List.fold_right + (fun uu___ -> + fun uu___1 -> + match (uu___, uu___1) with + | ((a, b, c), (x, y, z)) -> ((a || x), (b || y), (c || z))) + l (false, false, false) in + let default_unfolding uu___ = + FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___2 -> + let uu___3 = + FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in + let uu___4 = + let uu___5 = + FStarC_TypeChecker_Env.delta_depth_of_fv + cfg.FStarC_TypeChecker_Cfg.tcenv fv in + FStarC_Class_Show.show + FStarC_Syntax_Syntax.showable_delta_depth uu___5 in + let uu___5 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_list + FStarC_TypeChecker_Env.showable_delta_level) + cfg.FStarC_TypeChecker_Cfg.delta_level in + FStarC_Compiler_Util.print3 + "should_unfold: Reached a %s with delta_depth = %s\n >> Our delta_level is %s\n" + uu___3 uu___4 uu___5); + (let uu___2 = + FStarC_Compiler_Util.for_some + (fun uu___3 -> + match uu___3 with + | FStarC_TypeChecker_Env.NoDelta -> false + | FStarC_TypeChecker_Env.InliningDelta -> true + | FStarC_TypeChecker_Env.Eager_unfolding_only -> true + | FStarC_TypeChecker_Env.Unfold l -> + let uu___4 = + FStarC_TypeChecker_Env.delta_depth_of_fv + cfg.FStarC_TypeChecker_Cfg.tcenv fv in + FStarC_TypeChecker_Common.delta_depth_greater_than + uu___4 l) cfg.FStarC_TypeChecker_Cfg.delta_level in + yesno uu___2) in + let selective_unfold = + ((((FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only) + || + (FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully)) + || + (FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr)) + || + (FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual)) + || + (FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace) in + let res = + if FStarC_TypeChecker_Env.qninfo_is_action qninfo + then + let b = should_reify cfg in + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___1 -> + let uu___2 = + FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv + fv in + let uu___3 = + FStarC_Class_Show.show FStarC_Class_Show.showable_bool + b in + FStarC_Compiler_Util.print2 + "should_unfold: For DM4F action %s, should_reify = %s\n" + uu___2 uu___3); + if b then reif else no) + else + if + (let uu___ = FStarC_TypeChecker_Cfg.find_prim_step cfg fv in + FStarC_Compiler_Option.isSome uu___) + then + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___1 -> + FStarC_Compiler_Util.print_string + " >> It's a primop, not unfolding\n"); + no) + else + (match (qninfo, selective_unfold) with + | (FStar_Pervasives_Native.Some + (FStar_Pervasives.Inr + ({ + FStarC_Syntax_Syntax.sigel = + FStarC_Syntax_Syntax.Sig_let + { FStarC_Syntax_Syntax.lbs1 = (is_rec, uu___); + FStarC_Syntax_Syntax.lids1 = uu___1;_}; + FStarC_Syntax_Syntax.sigrng = uu___2; + FStarC_Syntax_Syntax.sigquals = qs; + FStarC_Syntax_Syntax.sigmeta = uu___3; + FStarC_Syntax_Syntax.sigattrs = uu___4; + FStarC_Syntax_Syntax.sigopens_and_abbrevs = uu___5; + FStarC_Syntax_Syntax.sigopts = uu___6;_}, + uu___7), + uu___8), + uu___9) when + FStarC_Compiler_List.contains + FStarC_Syntax_Syntax.HasMaskedEffect qs + -> + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___11 -> + FStarC_Compiler_Util.print_string + " >> HasMaskedEffect, not unfolding\n"); + no) + | (FStar_Pervasives_Native.Some + (FStar_Pervasives.Inr + ({ + FStarC_Syntax_Syntax.sigel = + FStarC_Syntax_Syntax.Sig_let + { FStarC_Syntax_Syntax.lbs1 = (is_rec, uu___); + FStarC_Syntax_Syntax.lids1 = uu___1;_}; + FStarC_Syntax_Syntax.sigrng = uu___2; + FStarC_Syntax_Syntax.sigquals = qs; + FStarC_Syntax_Syntax.sigmeta = uu___3; + FStarC_Syntax_Syntax.sigattrs = uu___4; + FStarC_Syntax_Syntax.sigopens_and_abbrevs = uu___5; + FStarC_Syntax_Syntax.sigopts = uu___6;_}, + uu___7), + uu___8), + uu___9) when + (is_rec && + (Prims.op_Negation + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.zeta)) + && + (Prims.op_Negation + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.zeta_full) + -> + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___11 -> + FStarC_Compiler_Util.print_string + " >> It's a recursive definition but we're not doing Zeta, not unfolding\n"); + no) + | (uu___, true) -> + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___2 -> + let uu___3 = + FStarC_Class_Show.show + FStarC_Syntax_Print.showable_fv fv in + FStarC_Compiler_Util.print1 + "should_unfold: Reached a %s with selective unfolding\n" + uu___3); + (let meets_some_criterion = + let uu___2 = + let uu___3 = + if + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.for_extraction + then + let uu___4 = + let uu___5 = + FStarC_TypeChecker_Env.lookup_definition_qninfo + [FStarC_TypeChecker_Env.Eager_unfolding_only; + FStarC_TypeChecker_Env.InliningDelta] + (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.v + qninfo in + FStarC_Compiler_Option.isSome uu___5 in + yesno uu___4 + else no in + let uu___4 = + let uu___5 = + match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_only + with + | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.Some lids -> + let uu___6 = + FStarC_Compiler_Util.for_some + (FStarC_Syntax_Syntax.fv_eq_lid fv) + lids in + yesno uu___6 in + let uu___6 = + let uu___7 = + match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_attr + with + | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.Some lids -> + let uu___8 = + FStarC_Compiler_Util.for_some + (fun at -> + FStarC_Compiler_Util.for_some + (fun lid -> + FStarC_Syntax_Util.is_fvar + lid at) lids) attrs in + yesno uu___8 in + let uu___8 = + let uu___9 = + match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_fully + with + | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.Some lids -> + let uu___10 = + FStarC_Compiler_Util.for_some + (FStarC_Syntax_Syntax.fv_eq_lid fv) + lids in + fullyno uu___10 in + let uu___10 = + let uu___11 = + match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_qual + with + | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.Some qs -> + let uu___12 = + FStarC_Compiler_Util.for_some + (fun q -> + FStarC_Compiler_Util.for_some + (fun qual -> + let uu___13 = + FStarC_Class_Show.show + FStarC_Syntax_Print.showable_qualifier + qual in + uu___13 = q) quals) qs in + yesno uu___12 in + let uu___12 = + let uu___13 = + match (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.unfold_namespace + with + | FStar_Pervasives_Native.None -> no + | FStar_Pervasives_Native.Some + namespaces -> + let p = + let uu___14 = + FStarC_Syntax_Syntax.lid_of_fv + fv in + FStarC_Ident.path_of_lid uu___14 in + let r = + FStarC_Compiler_Path.search_forest + (FStarC_Class_Ord.ord_eq + FStarC_Class_Ord.ord_string) + p namespaces in + yesno r in + [uu___13] 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 + comb_or uu___2 in + meets_some_criterion)) + | uu___ when + (FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr) + && + (FStarC_Compiler_List.existsb + (fun fa -> + FStarC_Syntax_Util.has_attribute attrs fa) + (FStar_Pervasives_Native.__proj__Some__item__v + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr)) + -> + (FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___2 -> + FStarC_Compiler_Util.print_string + " >> forbidden by attribute, not unfolding\n"); + no) + | uu___ -> default_unfolding ()) in + FStarC_TypeChecker_Cfg.log_unfolding cfg + (fun uu___1 -> + let uu___2 = + FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in + let uu___3 = + let uu___4 = FStarC_Syntax_Syntax.range_of_fv fv in + FStarC_Class_Show.show + FStarC_Compiler_Range_Ops.showable_range uu___4 in + let uu___4 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_tuple3 + FStarC_Class_Show.showable_bool + FStarC_Class_Show.showable_bool + FStarC_Class_Show.showable_bool) res in + FStarC_Compiler_Util.print3 + "should_unfold: For %s (%s), unfolding res = %s\n" uu___2 + uu___3 uu___4); + (let r = + match res with + | (false, uu___1, uu___2) -> Should_unfold_no + | (true, false, false) -> Should_unfold_yes + | (true, true, false) -> Should_unfold_fully + | (true, false, true) -> Should_unfold_reify + | uu___1 -> + let uu___2 = + let uu___3 = + FStarC_Class_Show.show + (FStarC_Class_Show.show_tuple3 + FStarC_Class_Show.showable_bool + FStarC_Class_Show.showable_bool + FStarC_Class_Show.showable_bool) res in + FStarC_Compiler_Util.format1 + "Unexpected unfolding result: %s" uu___3 in + failwith uu___2 in + (let uu___2 = + ((((FStar_Pervasives_Native.uu___is_Some + (cfg.FStarC_TypeChecker_Cfg.steps).FStarC_TypeChecker_Cfg.dont_unfold_attr) + && + (let uu___3 = FStarC_Options.no_plugins () in + Prims.op_Negation uu___3)) + && (r <> Should_unfold_no)) + && + (FStarC_Compiler_Util.for_some + (FStarC_Syntax_Util.is_fvar + FStarC_Parser_Const.plugin_attr) attrs)) + && + (let uu___3 = + FStarC_Compiler_Effect.op_Bang plugin_unfold_warn_ctr in + uu___3 > Prims.int_zero) in + if uu___2 + then + let msg = + let uu___3 = + FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv fv in + FStarC_Compiler_Util.format1 + "Unfolding name which is marked as a plugin: %s" uu___3 in + (FStarC_Errors.log_issue FStarC_Class_HasRange.hasRange_range + (fv.FStarC_Syntax_Syntax.fv_name).FStarC_Syntax_Syntax.p + FStarC_Errors_Codes.Warning_UnfoldPlugin () + (Obj.magic FStarC_Errors_Msg.is_error_message_string) + (Obj.magic msg); + (let uu___4 = + let uu___5 = + FStarC_Compiler_Effect.op_Bang plugin_unfold_warn_ctr in + uu___5 - Prims.int_one in + FStarC_Compiler_Effect.op_Colon_Equals plugin_unfold_warn_ctr + uu___4)) + else ()); + r) \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_PatternUtils.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_PatternUtils.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_PatternUtils.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_PatternUtils.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Positivity.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Positivity.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Positivity.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Positivity.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Array.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Array.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Array.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Array.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Base.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Base.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Base.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Docs.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Docs.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Docs.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Docs.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Eq.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Eq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Eq.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Eq.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Erased.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Erased.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Erased.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Erased.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Errors_Msg.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Errors_Msg.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Errors_Msg.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Errors_Msg.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Issue.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Issue.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Issue.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Issue.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_MachineInts.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_MachineInts.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_MachineInts.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_MachineInts.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Range.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Range.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Range.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Range.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Real.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Real.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Real.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Real.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Sealed.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Sealed.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Primops_Sealed.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Primops_Sealed.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Quals.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Quals.ml similarity index 96% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Quals.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Quals.ml index cadc420f79e..31a3603adb5 100644 --- a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Quals.ml +++ b/stage0/fstar-lib/generated/FStarC_TypeChecker_Quals.ml @@ -551,14 +551,23 @@ let (check_must_erase_attribute : let uu___6 = FStarC_Class_Show.show FStarC_Syntax_Print.showable_fv lbname in - let uu___7 = - FStarC_Class_Show.show - FStarC_Syntax_Print.showable_fv lbname in - FStarC_Compiler_Util.format2 - "Values of type `%s` will be erased during extraction, but its interface hides this fact. Add the `must_erase_for_extraction` attribute to the `val %s` declaration for this symbol in the interface" - uu___6 uu___7 in + FStarC_Compiler_Util.format1 + "Values of type `%s` will be erased during extraction, but its interface hides this fact." + uu___6 in FStarC_Errors_Msg.text uu___5 in - [uu___4] in + let uu___5 = + let uu___6 = + let uu___7 = + let uu___8 = + FStarC_Class_Show.show + FStarC_Syntax_Print.showable_fv + lbname in + FStarC_Compiler_Util.format1 + "Add the `must_erase_for_extraction` attribute to the `val %s` declaration for this symbol in the interface" + uu___8 in + FStarC_Errors_Msg.text uu___7 in + [uu___6] in + uu___4 :: uu___5 in FStarC_Errors.log_issue FStarC_Syntax_Syntax.hasRange_fv lbname FStarC_Errors_Codes.Error_MustEraseMissing () @@ -576,10 +585,15 @@ let (check_must_erase_attribute : FStarC_Syntax_Print.showable_fv lbname in FStarC_Compiler_Util.format1 - "Values of type `%s` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can. Please remove the attribute." + "Values of type `%s` cannot be erased during extraction, but the `must_erase_for_extraction` attribute claims that it can." uu___7 in FStarC_Errors_Msg.text uu___6 in - [uu___5] in + let uu___6 = + let uu___7 = + FStarC_Errors_Msg.text + "Please remove the attribute." in + [uu___7] in + uu___5 :: uu___6 in FStarC_Errors.log_issue FStarC_Syntax_Syntax.hasRange_fv lbname FStarC_Errors_Codes.Error_MustEraseMissing diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Rel.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Rel.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Rel.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Rel.ml index 105a7af81ee..88c2676c00b 100644 --- a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Rel.ml +++ b/stage0/fstar-lib/generated/FStarC_TypeChecker_Rel.ml @@ -1182,7 +1182,7 @@ let (uvi_to_string : FStarC_TypeChecker_Env.env -> uvi -> Prims.string) = let (uvis_to_string : FStarC_TypeChecker_Env.env -> uvi Prims.list -> Prims.string) = fun env -> - fun uvis -> (FStarC_Common.string_of_list ()) (uvi_to_string env) uvis + fun uvis -> FStarC_Common.string_of_list (uvi_to_string env) uvis let (empty_worklist : FStarC_TypeChecker_Env.env -> worklist) = fun env -> let uu___ = @@ -8862,8 +8862,7 @@ and (solve_t' : tprob -> worklist -> solution) = FStarC_Compiler_Util.string_of_bool wl3.smt_ok in let uu___13 = - (FStarC_Common.string_of_list - ()) + FStarC_Common.string_of_list (prob_to_string env) subprobs in FStarC_Compiler_Util.print2 @@ -14423,7 +14422,7 @@ let (solve_and_commit : if uu___1 then let uu___2 = - (FStarC_Common.string_of_list ()) + FStarC_Common.string_of_list (fun p -> FStarC_Compiler_Util.string_of_int (p_pid p)) wl.attempting in FStarC_Compiler_Util.print1 "solving problems %s {\n" uu___2 diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Tc.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Tc.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Tc.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Tc.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_TcEffect.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_TcEffect.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_TcEffect.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_TcEffect.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_TcInductive.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_TcInductive.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_TcInductive.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_TcInductive.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_TcTerm.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_TcTerm.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_TcTerm.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_TcTerm.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_TermEqAndSimplify.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_TermEqAndSimplify.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_TermEqAndSimplify.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_TermEqAndSimplify.ml diff --git a/ocaml/fstar-lib/generated/FStarC_TypeChecker_Util.ml b/stage0/fstar-lib/generated/FStarC_TypeChecker_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_TypeChecker_Util.ml rename to stage0/fstar-lib/generated/FStarC_TypeChecker_Util.ml diff --git a/ocaml/fstar-lib/generated/FStarC_Universal.ml b/stage0/fstar-lib/generated/FStarC_Universal.ml similarity index 99% rename from ocaml/fstar-lib/generated/FStarC_Universal.ml rename to stage0/fstar-lib/generated/FStarC_Universal.ml index da3a6f81e28..92bb74b422c 100644 --- a/ocaml/fstar-lib/generated/FStarC_Universal.ml +++ b/stage0/fstar-lib/generated/FStarC_Universal.ml @@ -1357,14 +1357,8 @@ let (tc_one_file : "Module after type checking:\n%s\n" uu___4 else ()); (let extend_tcenv tcmod1 tcenv = - (let uu___4 = - let uu___5 = FStarC_Options.lax () in - Prims.op_Negation uu___5 in - if uu___4 - then - FStarC_SMTEncoding_Z3.refresh - FStar_Pervasives_Native.None - else ()); + FStarC_SMTEncoding_Z3.refresh + FStar_Pervasives_Native.None; (let uu___4 = let uu___5 = FStarC_ToSyntax_ToSyntax.add_modul_to_env tcmod1 diff --git a/ocaml/fstar-lib/generated/FStarC_VConfig.ml b/stage0/fstar-lib/generated/FStarC_VConfig.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStarC_VConfig.ml rename to stage0/fstar-lib/generated/FStarC_VConfig.ml diff --git a/ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid.ml b/stage0/fstar-lib/generated/FStar_Algebra_CommMonoid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid.ml rename to stage0/fstar-lib/generated/FStar_Algebra_CommMonoid.ml diff --git a/ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Equiv.ml b/stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Equiv.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Equiv.ml rename to stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Equiv.ml diff --git a/ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold.ml b/stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold.ml rename to stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold.ml diff --git a/ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold_Nested.ml b/stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold_Nested.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold_Nested.ml rename to stage0/fstar-lib/generated/FStar_Algebra_CommMonoid_Fold_Nested.ml diff --git a/ocaml/fstar-lib/generated/FStar_Algebra_Monoid.ml b/stage0/fstar-lib/generated/FStar_Algebra_Monoid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Algebra_Monoid.ml rename to stage0/fstar-lib/generated/FStar_Algebra_Monoid.ml diff --git a/ocaml/fstar-lib/generated/FStar_BV.ml b/stage0/fstar-lib/generated/FStar_BV.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_BV.ml rename to stage0/fstar-lib/generated/FStar_BV.ml diff --git a/ocaml/fstar-lib/generated/FStar_BigOps.ml b/stage0/fstar-lib/generated/FStar_BigOps.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_BigOps.ml rename to stage0/fstar-lib/generated/FStar_BigOps.ml diff --git a/ocaml/fstar-lib/generated/FStar_BitVector.ml b/stage0/fstar-lib/generated/FStar_BitVector.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_BitVector.ml rename to stage0/fstar-lib/generated/FStar_BitVector.ml diff --git a/ocaml/fstar-lib/generated/FStar_Calc.ml b/stage0/fstar-lib/generated/FStar_Calc.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Calc.ml rename to stage0/fstar-lib/generated/FStar_Calc.ml diff --git a/ocaml/fstar-lib/generated/FStar_Cardinality_Cantor.ml b/stage0/fstar-lib/generated/FStar_Cardinality_Cantor.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Cardinality_Cantor.ml rename to stage0/fstar-lib/generated/FStar_Cardinality_Cantor.ml diff --git a/stage0/fstar-lib/generated/FStar_Cardinality_Universes.ml b/stage0/fstar-lib/generated/FStar_Cardinality_Universes.ml new file mode 100644 index 00000000000..bca8bdc5e0f --- /dev/null +++ b/stage0/fstar-lib/generated/FStar_Cardinality_Universes.ml @@ -0,0 +1,5 @@ +open Prims +type 'dummyV0 type_powerset = + | Mk of unit +let (uu___is_Mk : unit -> unit type_powerset -> Prims.bool) = + fun uu___ -> fun projectee -> true \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_Class_Add.ml b/stage0/fstar-lib/generated/FStar_Class_Add.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_Add.ml rename to stage0/fstar-lib/generated/FStar_Class_Add.ml diff --git a/ocaml/fstar-lib/generated/FStar_Class_Embeddable.ml b/stage0/fstar-lib/generated/FStar_Class_Embeddable.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_Embeddable.ml rename to stage0/fstar-lib/generated/FStar_Class_Embeddable.ml diff --git a/ocaml/fstar-lib/generated/FStar_Class_Eq.ml b/stage0/fstar-lib/generated/FStar_Class_Eq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_Eq.ml rename to stage0/fstar-lib/generated/FStar_Class_Eq.ml diff --git a/ocaml/fstar-lib/generated/FStar_Class_Eq_Raw.ml b/stage0/fstar-lib/generated/FStar_Class_Eq_Raw.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_Eq_Raw.ml rename to stage0/fstar-lib/generated/FStar_Class_Eq_Raw.ml diff --git a/ocaml/fstar-lib/generated/FStar_Class_Printable.ml b/stage0/fstar-lib/generated/FStar_Class_Printable.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_Printable.ml rename to stage0/fstar-lib/generated/FStar_Class_Printable.ml diff --git a/ocaml/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml b/stage0/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml rename to stage0/fstar-lib/generated/FStar_Class_TotalOrder_Raw.ml diff --git a/ocaml/fstar-lib/generated/FStar_Classical.ml b/stage0/fstar-lib/generated/FStar_Classical.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Classical.ml rename to stage0/fstar-lib/generated/FStar_Classical.ml diff --git a/ocaml/fstar-lib/generated/FStar_Classical_Sugar.ml b/stage0/fstar-lib/generated/FStar_Classical_Sugar.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Classical_Sugar.ml rename to stage0/fstar-lib/generated/FStar_Classical_Sugar.ml diff --git a/ocaml/fstar-lib/generated/FStar_ConstantTime_Integers.ml b/stage0/fstar-lib/generated/FStar_ConstantTime_Integers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_ConstantTime_Integers.ml rename to stage0/fstar-lib/generated/FStar_ConstantTime_Integers.ml diff --git a/ocaml/fstar-lib/generated/FStar_DependentMap.ml b/stage0/fstar-lib/generated/FStar_DependentMap.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_DependentMap.ml rename to stage0/fstar-lib/generated/FStar_DependentMap.ml diff --git a/ocaml/fstar-lib/generated/FStar_Endianness.ml b/stage0/fstar-lib/generated/FStar_Endianness.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Endianness.ml rename to stage0/fstar-lib/generated/FStar_Endianness.ml diff --git a/ocaml/fstar-lib/generated/FStar_ErasedLogic.ml b/stage0/fstar-lib/generated/FStar_ErasedLogic.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_ErasedLogic.ml rename to stage0/fstar-lib/generated/FStar_ErasedLogic.ml diff --git a/ocaml/fstar-lib/generated/FStar_Error.ml b/stage0/fstar-lib/generated/FStar_Error.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Error.ml rename to stage0/fstar-lib/generated/FStar_Error.ml diff --git a/ocaml/fstar-lib/generated/FStar_ExtractAs.ml b/stage0/fstar-lib/generated/FStar_ExtractAs.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_ExtractAs.ml rename to stage0/fstar-lib/generated/FStar_ExtractAs.ml diff --git a/ocaml/fstar-lib/generated/FStar_Fin.ml b/stage0/fstar-lib/generated/FStar_Fin.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Fin.ml rename to stage0/fstar-lib/generated/FStar_Fin.ml diff --git a/ocaml/fstar-lib/generated/FStar_FiniteMap_Ambient.ml b/stage0/fstar-lib/generated/FStar_FiniteMap_Ambient.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FiniteMap_Ambient.ml rename to stage0/fstar-lib/generated/FStar_FiniteMap_Ambient.ml diff --git a/ocaml/fstar-lib/generated/FStar_FiniteMap_Base.ml b/stage0/fstar-lib/generated/FStar_FiniteMap_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FiniteMap_Base.ml rename to stage0/fstar-lib/generated/FStar_FiniteMap_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_FiniteSet_Ambient.ml b/stage0/fstar-lib/generated/FStar_FiniteSet_Ambient.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FiniteSet_Ambient.ml rename to stage0/fstar-lib/generated/FStar_FiniteSet_Ambient.ml diff --git a/ocaml/fstar-lib/generated/FStar_FiniteSet_Base.ml b/stage0/fstar-lib/generated/FStar_FiniteSet_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FiniteSet_Base.ml rename to stage0/fstar-lib/generated/FStar_FiniteSet_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_FunctionalExtensionality.ml b/stage0/fstar-lib/generated/FStar_FunctionalExtensionality.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FunctionalExtensionality.ml rename to stage0/fstar-lib/generated/FStar_FunctionalExtensionality.ml diff --git a/ocaml/fstar-lib/generated/FStar_FunctionalQueue.ml b/stage0/fstar-lib/generated/FStar_FunctionalQueue.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_FunctionalQueue.ml rename to stage0/fstar-lib/generated/FStar_FunctionalQueue.ml diff --git a/ocaml/fstar-lib/generated/FStar_Functions.ml b/stage0/fstar-lib/generated/FStar_Functions.ml similarity index 86% rename from ocaml/fstar-lib/generated/FStar_Functions.ml rename to stage0/fstar-lib/generated/FStar_Functions.ml index eb068c194ea..24561405f25 100644 --- a/ocaml/fstar-lib/generated/FStar_Functions.ml +++ b/stage0/fstar-lib/generated/FStar_Functions.ml @@ -5,4 +5,4 @@ type ('a, 'b, 'f) is_bij = unit type ('a, 'b, 'f, 'y) in_image = unit type ('a, 'b, 'f) image_of = 'b type ('a, 'b, 'g, 'f) is_inverse_of = unit -type 'a powerset = 'a -> Prims.bool \ No newline at end of file +type 'a powerset = unit \ No newline at end of file diff --git a/ocaml/fstar-lib/generated/FStar_GSet.ml b/stage0/fstar-lib/generated/FStar_GSet.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_GSet.ml rename to stage0/fstar-lib/generated/FStar_GSet.ml diff --git a/ocaml/fstar-lib/generated/FStar_GhostSet.ml b/stage0/fstar-lib/generated/FStar_GhostSet.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_GhostSet.ml rename to stage0/fstar-lib/generated/FStar_GhostSet.ml diff --git a/ocaml/fstar-lib/generated/FStar_HyperStack.ml b/stage0/fstar-lib/generated/FStar_HyperStack.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_HyperStack.ml rename to stage0/fstar-lib/generated/FStar_HyperStack.ml diff --git a/ocaml/fstar-lib/generated/FStar_IFC.ml b/stage0/fstar-lib/generated/FStar_IFC.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_IFC.ml rename to stage0/fstar-lib/generated/FStar_IFC.ml diff --git a/ocaml/fstar-lib/generated/FStar_IndefiniteDescription.ml b/stage0/fstar-lib/generated/FStar_IndefiniteDescription.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_IndefiniteDescription.ml rename to stage0/fstar-lib/generated/FStar_IndefiniteDescription.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int.ml b/stage0/fstar-lib/generated/FStar_Int.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int.ml rename to stage0/fstar-lib/generated/FStar_Int.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int128.ml b/stage0/fstar-lib/generated/FStar_Int128.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int128.ml rename to stage0/fstar-lib/generated/FStar_Int128.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int16.ml b/stage0/fstar-lib/generated/FStar_Int16.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int16.ml rename to stage0/fstar-lib/generated/FStar_Int16.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int32.ml b/stage0/fstar-lib/generated/FStar_Int32.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int32.ml rename to stage0/fstar-lib/generated/FStar_Int32.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int64.ml b/stage0/fstar-lib/generated/FStar_Int64.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int64.ml rename to stage0/fstar-lib/generated/FStar_Int64.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int8.ml b/stage0/fstar-lib/generated/FStar_Int8.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int8.ml rename to stage0/fstar-lib/generated/FStar_Int8.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int_Cast.ml b/stage0/fstar-lib/generated/FStar_Int_Cast.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int_Cast.ml rename to stage0/fstar-lib/generated/FStar_Int_Cast.ml diff --git a/ocaml/fstar-lib/generated/FStar_Int_Cast_Full.ml b/stage0/fstar-lib/generated/FStar_Int_Cast_Full.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Int_Cast_Full.ml rename to stage0/fstar-lib/generated/FStar_Int_Cast_Full.ml diff --git a/ocaml/fstar-lib/generated/FStar_IntegerIntervals.ml b/stage0/fstar-lib/generated/FStar_IntegerIntervals.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_IntegerIntervals.ml rename to stage0/fstar-lib/generated/FStar_IntegerIntervals.ml diff --git a/ocaml/fstar-lib/generated/FStar_Integers.ml b/stage0/fstar-lib/generated/FStar_Integers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Integers.ml rename to stage0/fstar-lib/generated/FStar_Integers.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_Effectful.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_ExploreTerm.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_Output.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_PostProcess.ml diff --git a/ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml b/stage0/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml rename to stage0/fstar-lib/generated/FStar_InteractiveHelpers_Propositions.ml diff --git a/ocaml/fstar-lib/generated/FStar_LexicographicOrdering.ml b/stage0/fstar-lib/generated/FStar_LexicographicOrdering.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_LexicographicOrdering.ml rename to stage0/fstar-lib/generated/FStar_LexicographicOrdering.ml diff --git a/ocaml/fstar-lib/generated/FStar_List_Pure_Base.ml b/stage0/fstar-lib/generated/FStar_List_Pure_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_List_Pure_Base.ml rename to stage0/fstar-lib/generated/FStar_List_Pure_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_List_Tot_Properties.ml b/stage0/fstar-lib/generated/FStar_List_Tot_Properties.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_List_Tot_Properties.ml rename to stage0/fstar-lib/generated/FStar_List_Tot_Properties.ml diff --git a/ocaml/fstar-lib/generated/FStar_MRef.ml b/stage0/fstar-lib/generated/FStar_MRef.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_MRef.ml rename to stage0/fstar-lib/generated/FStar_MRef.ml diff --git a/ocaml/fstar-lib/generated/FStar_Map.ml b/stage0/fstar-lib/generated/FStar_Map.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Map.ml rename to stage0/fstar-lib/generated/FStar_Map.ml diff --git a/ocaml/fstar-lib/generated/FStar_MarkovsPrinciple.ml b/stage0/fstar-lib/generated/FStar_MarkovsPrinciple.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_MarkovsPrinciple.ml rename to stage0/fstar-lib/generated/FStar_MarkovsPrinciple.ml diff --git a/ocaml/fstar-lib/generated/FStar_Math_Euclid.ml b/stage0/fstar-lib/generated/FStar_Math_Euclid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Math_Euclid.ml rename to stage0/fstar-lib/generated/FStar_Math_Euclid.ml diff --git a/ocaml/fstar-lib/generated/FStar_Math_Fermat.ml b/stage0/fstar-lib/generated/FStar_Math_Fermat.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Math_Fermat.ml rename to stage0/fstar-lib/generated/FStar_Math_Fermat.ml diff --git a/ocaml/fstar-lib/generated/FStar_Math_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Math_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Math_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Math_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Math_Lib.ml b/stage0/fstar-lib/generated/FStar_Math_Lib.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Math_Lib.ml rename to stage0/fstar-lib/generated/FStar_Math_Lib.ml diff --git a/ocaml/fstar-lib/generated/FStar_Matrix.ml b/stage0/fstar-lib/generated/FStar_Matrix.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Matrix.ml rename to stage0/fstar-lib/generated/FStar_Matrix.ml diff --git a/ocaml/fstar-lib/generated/FStar_Modifies.ml b/stage0/fstar-lib/generated/FStar_Modifies.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Modifies.ml rename to stage0/fstar-lib/generated/FStar_Modifies.ml diff --git a/ocaml/fstar-lib/generated/FStar_ModifiesGen.ml b/stage0/fstar-lib/generated/FStar_ModifiesGen.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_ModifiesGen.ml rename to stage0/fstar-lib/generated/FStar_ModifiesGen.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_DependentMap.ml b/stage0/fstar-lib/generated/FStar_Monotonic_DependentMap.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_DependentMap.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_DependentMap.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_HyperHeap.ml b/stage0/fstar-lib/generated/FStar_Monotonic_HyperHeap.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_HyperHeap.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_HyperHeap.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_HyperStack.ml b/stage0/fstar-lib/generated/FStar_Monotonic_HyperStack.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_HyperStack.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_HyperStack.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_Map.ml b/stage0/fstar-lib/generated/FStar_Monotonic_Map.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_Map.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_Map.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_Pure.ml b/stage0/fstar-lib/generated/FStar_Monotonic_Pure.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_Pure.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_Pure.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_Seq.ml b/stage0/fstar-lib/generated/FStar_Monotonic_Seq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_Seq.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_Seq.ml diff --git a/ocaml/fstar-lib/generated/FStar_Monotonic_Witnessed.ml b/stage0/fstar-lib/generated/FStar_Monotonic_Witnessed.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Monotonic_Witnessed.ml rename to stage0/fstar-lib/generated/FStar_Monotonic_Witnessed.ml diff --git a/ocaml/fstar-lib/generated/FStar_OrdMap.ml b/stage0/fstar-lib/generated/FStar_OrdMap.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_OrdMap.ml rename to stage0/fstar-lib/generated/FStar_OrdMap.ml diff --git a/ocaml/fstar-lib/generated/FStar_OrdMapProps.ml b/stage0/fstar-lib/generated/FStar_OrdMapProps.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_OrdMapProps.ml rename to stage0/fstar-lib/generated/FStar_OrdMapProps.ml diff --git a/ocaml/fstar-lib/generated/FStar_OrdSet.ml b/stage0/fstar-lib/generated/FStar_OrdSet.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_OrdSet.ml rename to stage0/fstar-lib/generated/FStar_OrdSet.ml diff --git a/ocaml/fstar-lib/generated/FStar_OrdSetProps.ml b/stage0/fstar-lib/generated/FStar_OrdSetProps.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_OrdSetProps.ml rename to stage0/fstar-lib/generated/FStar_OrdSetProps.ml diff --git a/ocaml/fstar-lib/generated/FStar_Order.ml b/stage0/fstar-lib/generated/FStar_Order.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Order.ml rename to stage0/fstar-lib/generated/FStar_Order.ml diff --git a/ocaml/fstar-lib/generated/FStar_PCM.ml b/stage0/fstar-lib/generated/FStar_PCM.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_PCM.ml rename to stage0/fstar-lib/generated/FStar_PCM.ml diff --git a/ocaml/fstar-lib/generated/FStar_Parse.ml b/stage0/fstar-lib/generated/FStar_Parse.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Parse.ml rename to stage0/fstar-lib/generated/FStar_Parse.ml diff --git a/ocaml/fstar-lib/generated/FStar_PartialMap.ml b/stage0/fstar-lib/generated/FStar_PartialMap.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_PartialMap.ml rename to stage0/fstar-lib/generated/FStar_PartialMap.ml diff --git a/ocaml/fstar-lib/generated/FStar_Pervasives.ml b/stage0/fstar-lib/generated/FStar_Pervasives.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Pervasives.ml rename to stage0/fstar-lib/generated/FStar_Pervasives.ml diff --git a/ocaml/fstar-lib/generated/FStar_PredicateExtensionality.ml b/stage0/fstar-lib/generated/FStar_PredicateExtensionality.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_PredicateExtensionality.ml rename to stage0/fstar-lib/generated/FStar_PredicateExtensionality.ml diff --git a/ocaml/fstar-lib/generated/FStar_Preorder.ml b/stage0/fstar-lib/generated/FStar_Preorder.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Preorder.ml rename to stage0/fstar-lib/generated/FStar_Preorder.ml diff --git a/ocaml/fstar-lib/generated/FStar_PropositionalExtensionality.ml b/stage0/fstar-lib/generated/FStar_PropositionalExtensionality.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_PropositionalExtensionality.ml rename to stage0/fstar-lib/generated/FStar_PropositionalExtensionality.ml diff --git a/ocaml/fstar-lib/generated/FStar_PtrdiffT.ml b/stage0/fstar-lib/generated/FStar_PtrdiffT.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_PtrdiffT.ml rename to stage0/fstar-lib/generated/FStar_PtrdiffT.ml diff --git a/ocaml/fstar-lib/generated/FStar_Pure_BreakVC.ml b/stage0/fstar-lib/generated/FStar_Pure_BreakVC.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Pure_BreakVC.ml rename to stage0/fstar-lib/generated/FStar_Pure_BreakVC.ml diff --git a/ocaml/fstar-lib/generated/FStar_Real_Old.ml b/stage0/fstar-lib/generated/FStar_Real_Old.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Real_Old.ml rename to stage0/fstar-lib/generated/FStar_Real_Old.ml diff --git a/ocaml/fstar-lib/generated/FStar_Ref.ml b/stage0/fstar-lib/generated/FStar_Ref.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Ref.ml rename to stage0/fstar-lib/generated/FStar_Ref.ml diff --git a/ocaml/fstar-lib/generated/FStar_RefinementExtensionality.ml b/stage0/fstar-lib/generated/FStar_RefinementExtensionality.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_RefinementExtensionality.ml rename to stage0/fstar-lib/generated/FStar_RefinementExtensionality.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection.ml b/stage0/fstar-lib/generated/FStar_Reflection.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection.ml rename to stage0/fstar-lib/generated/FStar_Reflection.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Const.ml b/stage0/fstar-lib/generated/FStar_Reflection_Const.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_Const.ml rename to stage0/fstar-lib/generated/FStar_Reflection_Const.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml b/stage0/fstar-lib/generated/FStar_Reflection_Formula.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_Formula.ml rename to stage0/fstar-lib/generated/FStar_Reflection_Formula.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_TermEq.ml b/stage0/fstar-lib/generated/FStar_Reflection_TermEq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_TermEq.ml rename to stage0/fstar-lib/generated/FStar_Reflection_TermEq.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_TermEq_Simple.ml b/stage0/fstar-lib/generated/FStar_Reflection_TermEq_Simple.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_TermEq_Simple.ml rename to stage0/fstar-lib/generated/FStar_Reflection_TermEq_Simple.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml b/stage0/fstar-lib/generated/FStar_Reflection_Typing.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_Typing.ml rename to stage0/fstar-lib/generated/FStar_Reflection_Typing.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1.ml b/stage0/fstar-lib/generated/FStar_Reflection_V1.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V1.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V1.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived.ml b/stage0/fstar-lib/generated/FStar_Reflection_V1_Derived.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V1_Derived.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V1_Derived_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V1_Formula.ml b/stage0/fstar-lib/generated/FStar_Reflection_V1_Formula.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V1_Formula.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V1_Formula.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Arith.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Arith.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Arith.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Arith.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Collect.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Collect.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Collect.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Collect.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Compare.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Compare.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Compare.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Compare.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Derived.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Derived.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Derived_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Reflection_V2_Formula.ml b/stage0/fstar-lib/generated/FStar_Reflection_V2_Formula.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Reflection_V2_Formula.ml rename to stage0/fstar-lib/generated/FStar_Reflection_V2_Formula.ml diff --git a/ocaml/fstar-lib/generated/FStar_ReflexiveTransitiveClosure.ml b/stage0/fstar-lib/generated/FStar_ReflexiveTransitiveClosure.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_ReflexiveTransitiveClosure.ml rename to stage0/fstar-lib/generated/FStar_ReflexiveTransitiveClosure.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sealed_Inhabited.ml b/stage0/fstar-lib/generated/FStar_Sealed_Inhabited.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sealed_Inhabited.ml rename to stage0/fstar-lib/generated/FStar_Sealed_Inhabited.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq.ml b/stage0/fstar-lib/generated/FStar_Seq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq.ml rename to stage0/fstar-lib/generated/FStar_Seq.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq_Base.ml b/stage0/fstar-lib/generated/FStar_Seq_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq_Base.ml rename to stage0/fstar-lib/generated/FStar_Seq_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq_Equiv.ml b/stage0/fstar-lib/generated/FStar_Seq_Equiv.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq_Equiv.ml rename to stage0/fstar-lib/generated/FStar_Seq_Equiv.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq_Permutation.ml b/stage0/fstar-lib/generated/FStar_Seq_Permutation.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq_Permutation.ml rename to stage0/fstar-lib/generated/FStar_Seq_Permutation.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq_Properties.ml b/stage0/fstar-lib/generated/FStar_Seq_Properties.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq_Properties.ml rename to stage0/fstar-lib/generated/FStar_Seq_Properties.ml diff --git a/ocaml/fstar-lib/generated/FStar_Seq_Sorted.ml b/stage0/fstar-lib/generated/FStar_Seq_Sorted.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Seq_Sorted.ml rename to stage0/fstar-lib/generated/FStar_Seq_Sorted.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence.ml b/stage0/fstar-lib/generated/FStar_Sequence.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence.ml rename to stage0/fstar-lib/generated/FStar_Sequence.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence_Ambient.ml b/stage0/fstar-lib/generated/FStar_Sequence_Ambient.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence_Ambient.ml rename to stage0/fstar-lib/generated/FStar_Sequence_Ambient.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence_Base.ml b/stage0/fstar-lib/generated/FStar_Sequence_Base.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence_Base.ml rename to stage0/fstar-lib/generated/FStar_Sequence_Base.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence_Permutation.ml b/stage0/fstar-lib/generated/FStar_Sequence_Permutation.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence_Permutation.ml rename to stage0/fstar-lib/generated/FStar_Sequence_Permutation.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence_Seq.ml b/stage0/fstar-lib/generated/FStar_Sequence_Seq.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence_Seq.ml rename to stage0/fstar-lib/generated/FStar_Sequence_Seq.ml diff --git a/ocaml/fstar-lib/generated/FStar_Sequence_Util.ml b/stage0/fstar-lib/generated/FStar_Sequence_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Sequence_Util.ml rename to stage0/fstar-lib/generated/FStar_Sequence_Util.ml diff --git a/ocaml/fstar-lib/generated/FStar_Set.ml b/stage0/fstar-lib/generated/FStar_Set.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Set.ml rename to stage0/fstar-lib/generated/FStar_Set.ml diff --git a/ocaml/fstar-lib/generated/FStar_SizeT.ml b/stage0/fstar-lib/generated/FStar_SizeT.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_SizeT.ml rename to stage0/fstar-lib/generated/FStar_SizeT.ml diff --git a/ocaml/fstar-lib/generated/FStar_Squash.ml b/stage0/fstar-lib/generated/FStar_Squash.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Squash.ml rename to stage0/fstar-lib/generated/FStar_Squash.ml diff --git a/ocaml/fstar-lib/generated/FStar_SquashProperties.ml b/stage0/fstar-lib/generated/FStar_SquashProperties.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_SquashProperties.ml rename to stage0/fstar-lib/generated/FStar_SquashProperties.ml diff --git a/ocaml/fstar-lib/generated/FStar_StrongExcludedMiddle.ml b/stage0/fstar-lib/generated/FStar_StrongExcludedMiddle.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_StrongExcludedMiddle.ml rename to stage0/fstar-lib/generated/FStar_StrongExcludedMiddle.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml b/stage0/fstar-lib/generated/FStar_Tactics_Arith.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Arith.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Arith.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_BV.ml b/stage0/fstar-lib/generated/FStar_Tactics_BV.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_BV.ml rename to stage0/fstar-lib/generated/FStar_Tactics_BV.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_BV_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Tactics_BV_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_BV_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Tactics_BV_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_BreakVC.ml b/stage0/fstar-lib/generated/FStar_Tactics_BreakVC.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_BreakVC.ml rename to stage0/fstar-lib/generated/FStar_Tactics_BreakVC.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml b/stage0/fstar-lib/generated/FStar_Tactics_Canon.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Canon.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Canon.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoid.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonCommMonoidSimple_Equiv.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonCommSemiring.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSwaps.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonCommSwaps.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonCommSwaps.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonCommSwaps.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml b/stage0/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CanonMonoid.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Canon_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Tactics_Canon_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Canon_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Canon_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_CheckLN.ml b/stage0/fstar-lib/generated/FStar_Tactics_CheckLN.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_CheckLN.ml rename to stage0/fstar-lib/generated/FStar_Tactics_CheckLN.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml b/stage0/fstar-lib/generated/FStar_Tactics_Derived.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Derived.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Derived.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml b/stage0/fstar-lib/generated/FStar_Tactics_Effect.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Effect.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Effect.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml b/stage0/fstar-lib/generated/FStar_Tactics_Logic.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Logic.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Logic.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_MApply.ml b/stage0/fstar-lib/generated/FStar_Tactics_MApply.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_MApply.ml rename to stage0/fstar-lib/generated/FStar_Tactics_MApply.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_MApply0.ml b/stage0/fstar-lib/generated/FStar_Tactics_MApply0.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_MApply0.ml rename to stage0/fstar-lib/generated/FStar_Tactics_MApply0.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_MkProjectors.ml b/stage0/fstar-lib/generated/FStar_Tactics_MkProjectors.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_MkProjectors.ml rename to stage0/fstar-lib/generated/FStar_Tactics_MkProjectors.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_NamedView.ml b/stage0/fstar-lib/generated/FStar_Tactics_NamedView.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_NamedView.ml rename to stage0/fstar-lib/generated/FStar_Tactics_NamedView.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Names.ml b/stage0/fstar-lib/generated/FStar_Tactics_Names.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Names.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Names.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Parametricity.ml b/stage0/fstar-lib/generated/FStar_Tactics_Parametricity.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Parametricity.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Parametricity.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml b/stage0/fstar-lib/generated/FStar_Tactics_PatternMatching.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_PatternMatching.ml rename to stage0/fstar-lib/generated/FStar_Tactics_PatternMatching.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Print.ml b/stage0/fstar-lib/generated/FStar_Tactics_Print.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Print.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Print.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_SMT.ml b/stage0/fstar-lib/generated/FStar_Tactics_SMT.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_SMT.ml rename to stage0/fstar-lib/generated/FStar_Tactics_SMT.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml b/stage0/fstar-lib/generated/FStar_Tactics_Simplifier.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Simplifier.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Simplifier.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml b/stage0/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml rename to stage0/fstar-lib/generated/FStar_Tactics_SyntaxHelpers.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_TypeRepr.ml b/stage0/fstar-lib/generated/FStar_Tactics_TypeRepr.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_TypeRepr.ml rename to stage0/fstar-lib/generated/FStar_Tactics_TypeRepr.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml b/stage0/fstar-lib/generated/FStar_Tactics_Typeclasses.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Typeclasses.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Typeclasses.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Util.ml b/stage0/fstar-lib/generated/FStar_Tactics_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Util.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Util.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Derived.ml b/stage0/fstar-lib/generated/FStar_Tactics_V1_Derived.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V1_Derived.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V1_Derived.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic.ml b/stage0/fstar-lib/generated/FStar_Tactics_V1_Logic.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V1_Logic.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic_Lemmas.ml b/stage0/fstar-lib/generated/FStar_Tactics_V1_Logic_Lemmas.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V1_Logic_Lemmas.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V1_Logic_Lemmas.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml b/stage0/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V1_SyntaxHelpers.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_Derived.ml b/stage0/fstar-lib/generated/FStar_Tactics_V2_Derived.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V2_Derived.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V2_Derived.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_Logic.ml b/stage0/fstar-lib/generated/FStar_Tactics_V2_Logic.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V2_Logic.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V2_Logic.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml b/stage0/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V2_SyntaxCoercions.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml b/stage0/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml rename to stage0/fstar-lib/generated/FStar_Tactics_V2_SyntaxHelpers.ml diff --git a/ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml b/stage0/fstar-lib/generated/FStar_Tactics_Visit.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Tactics_Visit.ml rename to stage0/fstar-lib/generated/FStar_Tactics_Visit.ml diff --git a/ocaml/fstar-lib/generated/FStar_UInt.ml b/stage0/fstar-lib/generated/FStar_UInt.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_UInt.ml rename to stage0/fstar-lib/generated/FStar_UInt.ml diff --git a/ocaml/fstar-lib/generated/FStar_UInt128.ml b/stage0/fstar-lib/generated/FStar_UInt128.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_UInt128.ml rename to stage0/fstar-lib/generated/FStar_UInt128.ml diff --git a/ocaml/fstar-lib/generated/FStar_UInt16.ml b/stage0/fstar-lib/generated/FStar_UInt16.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_UInt16.ml rename to stage0/fstar-lib/generated/FStar_UInt16.ml diff --git a/ocaml/fstar-lib/generated/FStar_UInt32.ml b/stage0/fstar-lib/generated/FStar_UInt32.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_UInt32.ml rename to stage0/fstar-lib/generated/FStar_UInt32.ml diff --git a/ocaml/fstar-lib/generated/FStar_UInt64.ml b/stage0/fstar-lib/generated/FStar_UInt64.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_UInt64.ml rename to stage0/fstar-lib/generated/FStar_UInt64.ml diff --git a/ocaml/fstar-lib/generated/FStar_Universe.ml b/stage0/fstar-lib/generated/FStar_Universe.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Universe.ml rename to stage0/fstar-lib/generated/FStar_Universe.ml diff --git a/ocaml/fstar-lib/generated/FStar_Universe_PCM.ml b/stage0/fstar-lib/generated/FStar_Universe_PCM.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Universe_PCM.ml rename to stage0/fstar-lib/generated/FStar_Universe_PCM.ml diff --git a/ocaml/fstar-lib/generated/FStar_WellFounded.ml b/stage0/fstar-lib/generated/FStar_WellFounded.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_WellFounded.ml rename to stage0/fstar-lib/generated/FStar_WellFounded.ml diff --git a/ocaml/fstar-lib/generated/FStar_WellFoundedRelation.ml b/stage0/fstar-lib/generated/FStar_WellFoundedRelation.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_WellFoundedRelation.ml rename to stage0/fstar-lib/generated/FStar_WellFoundedRelation.ml diff --git a/ocaml/fstar-lib/generated/FStar_WellFounded_Util.ml b/stage0/fstar-lib/generated/FStar_WellFounded_Util.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_WellFounded_Util.ml rename to stage0/fstar-lib/generated/FStar_WellFounded_Util.ml diff --git a/ocaml/fstar-lib/generated/FStar_Witnessed_Core.ml b/stage0/fstar-lib/generated/FStar_Witnessed_Core.ml similarity index 100% rename from ocaml/fstar-lib/generated/FStar_Witnessed_Core.ml rename to stage0/fstar-lib/generated/FStar_Witnessed_Core.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Buffer.ml b/stage0/fstar-lib/generated/LowStar_Buffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Buffer.ml rename to stage0/fstar-lib/generated/LowStar_Buffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_BufferOps.ml b/stage0/fstar-lib/generated/LowStar_BufferOps.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_BufferOps.ml rename to stage0/fstar-lib/generated/LowStar_BufferOps.ml diff --git a/ocaml/fstar-lib/generated/LowStar_BufferView.ml b/stage0/fstar-lib/generated/LowStar_BufferView.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_BufferView.ml rename to stage0/fstar-lib/generated/LowStar_BufferView.ml diff --git a/ocaml/fstar-lib/generated/LowStar_BufferView_Down.ml b/stage0/fstar-lib/generated/LowStar_BufferView_Down.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_BufferView_Down.ml rename to stage0/fstar-lib/generated/LowStar_BufferView_Down.ml diff --git a/ocaml/fstar-lib/generated/LowStar_BufferView_Up.ml b/stage0/fstar-lib/generated/LowStar_BufferView_Up.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_BufferView_Up.ml rename to stage0/fstar-lib/generated/LowStar_BufferView_Up.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Comment.ml b/stage0/fstar-lib/generated/LowStar_Comment.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Comment.ml rename to stage0/fstar-lib/generated/LowStar_Comment.ml diff --git a/ocaml/fstar-lib/generated/LowStar_ConstBuffer.ml b/stage0/fstar-lib/generated/LowStar_ConstBuffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_ConstBuffer.ml rename to stage0/fstar-lib/generated/LowStar_ConstBuffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Endianness.ml b/stage0/fstar-lib/generated/LowStar_Endianness.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Endianness.ml rename to stage0/fstar-lib/generated/LowStar_Endianness.ml diff --git a/ocaml/fstar-lib/generated/LowStar_ImmutableBuffer.ml b/stage0/fstar-lib/generated/LowStar_ImmutableBuffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_ImmutableBuffer.ml rename to stage0/fstar-lib/generated/LowStar_ImmutableBuffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Modifies.ml b/stage0/fstar-lib/generated/LowStar_Modifies.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Modifies.ml rename to stage0/fstar-lib/generated/LowStar_Modifies.ml diff --git a/ocaml/fstar-lib/generated/LowStar_ModifiesPat.ml b/stage0/fstar-lib/generated/LowStar_ModifiesPat.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_ModifiesPat.ml rename to stage0/fstar-lib/generated/LowStar_ModifiesPat.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Monotonic_Buffer.ml b/stage0/fstar-lib/generated/LowStar_Monotonic_Buffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Monotonic_Buffer.ml rename to stage0/fstar-lib/generated/LowStar_Monotonic_Buffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_PrefixFreezableBuffer.ml b/stage0/fstar-lib/generated/LowStar_PrefixFreezableBuffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_PrefixFreezableBuffer.ml rename to stage0/fstar-lib/generated/LowStar_PrefixFreezableBuffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_RVector.ml b/stage0/fstar-lib/generated/LowStar_RVector.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_RVector.ml rename to stage0/fstar-lib/generated/LowStar_RVector.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Regional.ml b/stage0/fstar-lib/generated/LowStar_Regional.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Regional.ml rename to stage0/fstar-lib/generated/LowStar_Regional.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Regional_Instances.ml b/stage0/fstar-lib/generated/LowStar_Regional_Instances.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Regional_Instances.ml rename to stage0/fstar-lib/generated/LowStar_Regional_Instances.ml diff --git a/ocaml/fstar-lib/generated/LowStar_UninitializedBuffer.ml b/stage0/fstar-lib/generated/LowStar_UninitializedBuffer.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_UninitializedBuffer.ml rename to stage0/fstar-lib/generated/LowStar_UninitializedBuffer.ml diff --git a/ocaml/fstar-lib/generated/LowStar_Vector.ml b/stage0/fstar-lib/generated/LowStar_Vector.ml similarity index 100% rename from ocaml/fstar-lib/generated/LowStar_Vector.ml rename to stage0/fstar-lib/generated/LowStar_Vector.ml diff --git a/ocaml/fstar-lib/make_fstar_version.sh b/stage0/fstar-lib/make_fstar_version.sh similarity index 100% rename from ocaml/fstar-lib/make_fstar_version.sh rename to stage0/fstar-lib/make_fstar_version.sh diff --git a/ocaml/fstar-lib/prims.ml b/stage0/fstar-lib/prims.ml similarity index 100% rename from ocaml/fstar-lib/prims.ml rename to stage0/fstar-lib/prims.ml diff --git a/ocaml/fstar-tests/FStar_Tests_Main.ml b/stage0/fstar-tests/FStar_Tests_Main.ml similarity index 100% rename from ocaml/fstar-tests/FStar_Tests_Main.ml rename to stage0/fstar-tests/FStar_Tests_Main.ml diff --git a/ocaml/fstar-tests/dune b/stage0/fstar-tests/dune similarity index 100% rename from ocaml/fstar-tests/dune rename to stage0/fstar-tests/dune diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Data.ml b/stage0/fstar-tests/generated/FStarC_Tests_Data.ml similarity index 100% rename from ocaml/fstar-tests/generated/FStarC_Tests_Data.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Data.ml diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Norm.ml b/stage0/fstar-tests/generated/FStarC_Tests_Norm.ml similarity index 100% rename from ocaml/fstar-tests/generated/FStarC_Tests_Norm.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Norm.ml diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Pars.ml b/stage0/fstar-tests/generated/FStarC_Tests_Pars.ml similarity index 100% rename from ocaml/fstar-tests/generated/FStarC_Tests_Pars.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Pars.ml diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Test.ml b/stage0/fstar-tests/generated/FStarC_Tests_Test.ml similarity index 98% rename from ocaml/fstar-tests/generated/FStarC_Tests_Test.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Test.ml index 866b9a4c4af..77eebd37d01 100644 --- a/ocaml/fstar-tests/generated/FStarC_Tests_Test.ml +++ b/stage0/fstar-tests/generated/FStarC_Tests_Test.ml @@ -14,7 +14,7 @@ let main : 'uuuuu 'uuuuu1 . 'uuuuu -> 'uuuuu1 = (FStarC_Compiler_Util.print_string "F* unit tests. This binary can take the same options as F*, but not all of them are meaningful."; FStarC_Compiler_Effect.exit Prims.int_zero) - | FStarC_Getopt.Error msg -> + | FStarC_Getopt.Error (msg, uu___3) -> (FStarC_Compiler_Util.print_error msg; FStarC_Compiler_Effect.exit Prims.int_one) | FStarC_Getopt.Empty -> diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Unif.ml b/stage0/fstar-tests/generated/FStarC_Tests_Unif.ml similarity index 100% rename from ocaml/fstar-tests/generated/FStarC_Tests_Unif.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Unif.ml diff --git a/ocaml/fstar-tests/generated/FStarC_Tests_Util.ml b/stage0/fstar-tests/generated/FStarC_Tests_Util.ml similarity index 100% rename from ocaml/fstar-tests/generated/FStarC_Tests_Util.ml rename to stage0/fstar-tests/generated/FStarC_Tests_Util.ml diff --git a/ocaml/fstar/dune b/stage0/fstar/dune similarity index 100% rename from ocaml/fstar/dune rename to stage0/fstar/dune diff --git a/ocaml/fstar/main.ml b/stage0/fstar/main.ml similarity index 100% rename from ocaml/fstar/main.ml rename to stage0/fstar/main.ml diff --git a/ulib/.gitignore b/stage0/ulib/.gitignore similarity index 100% rename from ulib/.gitignore rename to stage0/ulib/.gitignore diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.Equiv.fst b/stage0/ulib/FStar.Algebra.CommMonoid.Equiv.fst new file mode 100644 index 00000000000..51515a0d264 --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.Equiv.fst @@ -0,0 +1,76 @@ +(* + 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.Algebra.CommMonoid.Equiv + +open FStar.Mul + +unopteq +type equiv (a:Type) = + | EQ : + eq:(a -> a -> Type0) -> + reflexivity:(x:a -> Lemma (x `eq` x)) -> + symmetry:(x:a -> y:a -> Lemma (requires (x `eq` y)) (ensures (y `eq` x))) -> + transitivity:(x:a -> y:a -> z:a -> Lemma (requires (x `eq` y /\ y `eq` z)) (ensures (x `eq` z))) -> + equiv a + +let elim_eq_laws #a (eq:equiv a) + : Lemma ( + (forall x.{:pattern (x `eq.eq` x)} x `eq.eq` x) /\ + (forall x y.{:pattern (x `eq.eq` y)} x `eq.eq` y ==> y `eq.eq` x) /\ + (forall x y z.{:pattern eq.eq x y; eq.eq y z} (x `eq.eq` y /\ y `eq.eq` z) ==> x `eq.eq` z) + ) + = introduce forall x. x `eq.eq` x + with (eq.reflexivity x); + + introduce forall x y. x `eq.eq` y ==> y `eq.eq` x + with (introduce _ ==> _ + with _. eq.symmetry x y); + + introduce forall x y z. (x `eq.eq` y /\ y `eq.eq` z) ==> x `eq.eq` z + with (introduce _ ==> _ + with _. eq.transitivity x y z) + +let equality_equiv (a:Type) : equiv a = + EQ (fun x y -> x == y) (fun x -> ()) (fun x y -> ()) (fun x y z -> ()) + +unopteq +type cm (a:Type) (eq:equiv a) = + | CM : + unit:a -> + mult:(a -> a -> a) -> + identity : (x:a -> Lemma ((unit `mult` x) `EQ?.eq eq` x)) -> + associativity : (x:a -> y:a -> z:a -> + Lemma ((x `mult` y `mult` z) `EQ?.eq eq` (x `mult` (y `mult` z)))) -> + commutativity:(x:a -> y:a -> Lemma ((x `mult` y) `EQ?.eq eq` (y `mult` x))) -> + congruence:(x:a -> y:a -> z:a -> w:a -> Lemma (requires (x `EQ?.eq eq` z /\ y `EQ?.eq eq` w)) (ensures ((mult x y) `EQ?.eq eq` (mult z w)))) -> + cm a eq + + + +// temporarily fixing the universe of this lemma to u#1 because +// otherwise tactics for LowStar.Resource canonicalization fails +// by picking up an incorrect universe u#0 for resource type +let right_identity (#a:Type u#aa) (eq:equiv a) (m:cm a eq) (x:a) + : Lemma (x `CM?.mult m` (CM?.unit m) `EQ?.eq eq` x) = + CM?.commutativity m x (CM?.unit m); + CM?.identity m x; + EQ?.transitivity eq (x `CM?.mult m` (CM?.unit m)) ((CM?.unit m) `CM?.mult m` x) x + +let int_plus_cm : cm int (equality_equiv int) = + CM 0 (+) (fun _ -> ()) (fun _ _ _ -> ()) (fun _ _ -> ()) (fun _ _ _ _ -> ()) + +let int_multiply_cm : cm int (equality_equiv int) = + CM 1 ( * ) (fun _ -> ()) (fun _ _ _ -> ()) (fun _ _ -> ()) (fun _ _ _ _ -> ()) diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fst b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fst new file mode 100644 index 00000000000..0d93db33faa --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fst @@ -0,0 +1,93 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + +(* + Here we reason about nested folds of functions over arbitrary + integer intervals. We call such functions generators. +*) + +module FStar.Algebra.CommMonoid.Fold.Nested + +module CF = FStar.Algebra.CommMonoid.Fold +module CE = FStar.Algebra.CommMonoid.Equiv + +open FStar.IntegerIntervals +open FStar.Matrix + +(* Auxiliary utility that casts (matrix c m n) to seq of length (m*n) *) +let matrix_seq #c #m #r (generator: matrix_generator c m r) = + seq_of_matrix (Matrix.init generator) + +(* + Most general form of nested fold swap theorem. Here we prove that we can + exchange the order of nested foldings over any suitable generator function. + + We use the previously proved weaker version (for zero-based indices) in + order to prove this, because this way the two proofs together are way shorter. + + I keep the argument types explicit in order to make the proof easier to read. +*) +let double_fold_transpose_lemma #c #eq + (#m0: int) (#mk: not_less_than m0) + (#n0: int) (#nk: not_less_than n0) + (cm: CE.cm c eq) + (offset_gen: ifrom_ito m0 mk -> ifrom_ito n0 nk -> c) + : Lemma (double_fold cm offset_gen + `eq.eq` + double_fold cm (transpose_generator offset_gen)) = + let m = interval_size (ifrom_ito m0 mk) in + let n = interval_size (ifrom_ito n0 nk) in + let gen : matrix_generator c m n = fun i j -> offset_gen (m0+i) (n0+j) in + let trans #c #a #b (f: matrix_generator c a b) = transposed_matrix_gen f in + let trans_ofs #c (#a1 #a2 #b1 #b2:int) (f: ifrom_ito a1 a2 -> ifrom_ito b1 b2 -> c) + = transpose_generator f in + // Here, F* agrees that (n-1) == (nk-n0). + // But, replace (n-1) with (nk-n0) below, and the proof will fail :) + let subfold_lhs_base0 (i: under m) = CF.fold cm 0 (n-1) (gen i) in + let subfold_rhs_base0 (j: under n) = CF.fold cm 0 (m-1) (trans gen j) in + let subfold_lhs_precise (i: ifrom_ito m0 mk) + = CF.fold cm n0 nk (offset_gen i) in + let subfold_rhs_precise (j: ifrom_ito n0 nk) + = CF.fold cm m0 mk (trans_ofs offset_gen j) in + let lhs = CF.fold cm m0 mk subfold_lhs_precise in + let rhs = CF.fold cm n0 nk subfold_rhs_precise in + let aux_lhs (i: under m) : Lemma + (CF.fold cm n0 nk (offset_gen (m0+i)) == CF.fold cm 0 (n-1) (gen i)) = + CF.fold_offset_irrelevance_lemma cm n0 nk (offset_gen (m0+i)) 0 (n-1) (gen i) in + let aux_rhs (j: under n) : Lemma + (CF.fold cm m0 mk (trans_ofs offset_gen (n0+j)) == + CF.fold cm 0 (m-1) (trans gen j)) + = CF.fold_offset_irrelevance_lemma cm m0 mk (trans_ofs offset_gen (n0+j)) + 0 (m-1) (trans gen j) in + FStar.Classical.forall_intro aux_lhs; + FStar.Classical.forall_intro aux_rhs; + FStar.Classical.forall_intro eq.reflexivity; + matrix_fold_equals_func_double_fold cm gen; + matrix_fold_equals_func_double_fold cm (trans gen); + let matrix_mn = matrix_seq gen in + let matrix_nm = matrix_seq (trans gen) in + CF.fold_offset_elimination_lemma cm m0 mk subfold_lhs_precise subfold_lhs_base0; + CF.fold_offset_elimination_lemma cm n0 nk subfold_rhs_precise subfold_rhs_base0; + FStar.Classical.forall_intro_2 (FStar.Classical.move_requires_2 eq.symmetry); + FStar.Classical.forall_intro_3 (FStar.Classical.move_requires_3 eq.transitivity); + matrix_fold_equals_fold_of_transpose cm gen; + matrix_fold_equals_func_double_fold cm gen; + matrix_fold_equals_func_double_fold cm (transposed_matrix_gen gen); + assert_norm (double_fold cm (transpose_generator offset_gen) == rhs); + eq.transitivity (FStar.Seq.Permutation.foldm_snoc cm matrix_mn) lhs rhs + diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fsti b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fsti new file mode 100644 index 00000000000..2f247b99b11 --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.Nested.fsti @@ -0,0 +1,58 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + +(* + Here we reason about nested folds of functions over arbitrary + integer intervals. We call such functions generators. +*) + +module FStar.Algebra.CommMonoid.Fold.Nested + +module CF = FStar.Algebra.CommMonoid.Fold +module CE = FStar.Algebra.CommMonoid.Equiv + +open FStar.IntegerIntervals + +(* This constructs a generator function that has its arguments in reverse + order. Useful when reasoning about nested folds, transposed matrices, etc. + + Note how this utility is more general than transposed_matrix_gen + found in FStar.Seq.Matrix -- but for zero-based domains, latter is + more convenient. *) +let transpose_generator #c (#m0 #mk: int) + (#n0 #nk: int) + (gen: ifrom_ito m0 mk -> ifrom_ito n0 nk -> c) + : (f: (ifrom_ito n0 nk -> ifrom_ito m0 mk -> c) { forall i j. f j i == gen i j }) + = fun j i -> gen i j + +let double_fold #c #eq #a0 (#ak: not_less_than a0) #b0 (#bk:not_less_than b0) + (cm: CE.cm c eq) + (g: ifrom_ito a0 ak -> ifrom_ito b0 bk -> c) = + CF.fold cm a0 ak (fun (i: ifrom_ito a0 ak) -> CF.fold cm b0 bk (g i)) + + +(* Most general form of nested fold swap theorem. Here we prove that we can + exchange the order of nested foldings over any suitable generator function. *) +val double_fold_transpose_lemma (#c:_) (#eq: _) + (#m0: int) (#mk: not_less_than m0) + (#n0: int) (#nk: not_less_than n0) + (cm: CE.cm c eq) + (offset_gen: ifrom_ito m0 mk -> ifrom_ito n0 nk -> c) + : Lemma (double_fold cm offset_gen + `eq.eq` + double_fold cm (transpose_generator offset_gen)) diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fst b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fst new file mode 100644 index 00000000000..123f94356a0 --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fst @@ -0,0 +1,122 @@ +(* + 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. + + Author: A. Rozanov +*) + +module FStar.Algebra.CommMonoid.Fold +module CE = FStar.Algebra.CommMonoid.Equiv + +open FStar.Seq.Base +open FStar.Seq.Properties +open FStar.Seq.Permutation + +open FStar.IntegerIntervals + +(* Here we define the notion for big sums and big products for + arbitrary commutative monoids. We construct the folds from + an integer range and a function, then calculate the fold -- + a sum or a product, depending on the monoid operation. *) + +(* We refine multiplication a bit to make proofs smoothier *) + +open FStar.Mul + +let rec fold #c #eq + (cm: CE.cm c eq) + (a: int) (b: not_less_than a) + (expr: (ifrom_ito a b) -> c) + // some of the lemmas want (ensures (fun (x:c) -> ((nk = n0) ==> (x == expr nk)))) + : Tot (c) (decreases b-a) + = if b = a then expr b + else (fold cm a (b-1) expr) `cm.mult` expr b + +let rec fold_equality #c #eq (cm: CE.cm c eq) + (a: int) (b: not_less_than a) + (expr1 expr2: (ifrom_ito a b) -> c) + : Lemma (requires (forall (i: ifrom_ito a b). expr1 i == expr2 i)) + (ensures fold cm a b expr1 == fold cm a b expr2) + (decreases b - a) = + if b > a then fold_equality cm a (b - 1) expr1 expr2 + +let fold_singleton_lemma #c #eq cm a expr + : Lemma (fold #c #eq cm a a expr == expr a) = () + +let fold_snoc_decomposition #c #eq (cm: CE.cm c eq) a b expr + : Lemma (fold cm a b expr == fold cm a (b-1) expr `cm.mult` (expr b)) = () + + +let rec fold_equals_seq_foldm #c #eq (cm: CE.cm c eq) + (a: int) + (b: not_less_than a) + (expr: (ifrom_ito a b) -> c) + : Lemma (ensures fold cm a b expr `eq.eq` + foldm_snoc cm (init (closed_interval_size a b) + (init_func_from_expr expr a b))) + (decreases b-a) = + if (b=a) then + let ts = init (closed_interval_size a b) (init_func_from_expr expr a b) in + lemma_eq_elim (create 1 (expr b)) ts; + foldm_snoc_singleton cm (expr b); + eq.symmetry (foldm_snoc cm ts) (expr b); + eq.reflexivity (expr b); + eq.transitivity (fold cm a b expr) (expr b) (foldm_snoc cm ts) + else + let lhs = fold cm a b expr in + let subexpr : ifrom_ito a (b-1) -> c = expr in + let fullseq = init (b+1-a) (init_func_from_expr expr a b) in + let rhs = foldm_snoc cm fullseq in + let subseq = init (b-a) (init_func_from_expr subexpr a (b-1)) in + let subsum = fold cm a (b-1) expr in + let subfold = foldm_snoc cm subseq in + let last = expr b in + let op = cm.mult in + fold_equals_seq_foldm cm a (b-1) subexpr; + cm.commutativity last subfold; + eq.reflexivity last; + cm.congruence subsum last subfold last; + foldm_snoc_decomposition cm fullseq; + lemma_eq_elim subseq (fst (un_snoc fullseq)); + eq.symmetry rhs (subfold `op` last); + eq.transitivity lhs (subfold `op` last) rhs + +(* I keep the argument types explicitly stated here because it makes + the lemma easier to read. *) +let rec fold_offset_irrelevance_lemma #c #eq (cm: CE.cm c eq) + (m0: int) (mk: not_less_than m0) (expr1 : ifrom_ito m0 mk -> c) + (n0: int) (nk: not_less_than n0) (expr2 : ifrom_ito n0 nk -> c) + : Lemma (requires (((mk-m0) = (nk-n0)) /\ + (forall (i:under (closed_interval_size m0 mk)). + expr1 (i+m0) == expr2 (i+n0)))) + (ensures fold cm m0 mk expr1 == fold cm n0 nk expr2) + (decreases (mk-m0)) = + if (mk>m0 && nk>n0) then ( + fold_offset_irrelevance_lemma cm m0 (mk-1) expr1 n0 (nk-1) expr2; + assert (expr1 ((mk-m0)+m0) == expr2 ((nk-n0)+n0)) + ) else if (mk=m0) then ( + eq.reflexivity (expr1 m0); + assert (expr1 (0+m0) == expr2 (0+n0)); + assert (expr1 m0 == expr2 n0) + ) + +let fold_offset_elimination_lemma #c #eq (cm: CE.cm c eq) + (m0: int) (mk: not_less_than m0) + (expr1 : ifrom_ito m0 mk -> c) + (expr2 : under (closed_interval_size m0 mk) -> c) + : Lemma (requires ((forall (i:under (closed_interval_size m0 mk)). + expr2 i == expr1 (i+m0)))) + (ensures fold cm m0 mk expr1 == fold cm 0 (mk-m0) expr2) + (decreases (mk-m0)) + = fold_offset_irrelevance_lemma cm m0 mk expr1 0 (mk-m0) expr2 diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fsti b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fsti new file mode 100644 index 00000000000..c2124a561c7 --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.Fold.fsti @@ -0,0 +1,114 @@ +(* + 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. + + Author: A. Rozanov +*) + +module FStar.Algebra.CommMonoid.Fold +module CE = FStar.Algebra.CommMonoid.Equiv + +open FStar.Seq.Base +open FStar.Seq.Properties +open FStar.Seq.Permutation + +open FStar.IntegerIntervals +open FStar.Mul + + +(* Here we define the notion for big sums and big products for + arbitrary commutative monoids. We construct the folds from + an integer range and a function, then calculate the fold -- + a sum or a product, depending on the monoid operation. *) + +(* We refine multiplication a bit to make proofs smoothier *) + + +(* Notice how we can't just use a and b if we don't want to break + recursive calls with the same exprs *) +let init_func_from_expr #c (#n0: int) (#nk: not_less_than n0) + (expr: (ifrom_ito n0 nk) -> c) + (a: ifrom_ito n0 nk) (b: ifrom_ito a nk) + : (counter_for (ifrom_ito a b) -> c) + = fun (i: counter_for (ifrom_ito a b)) -> expr (n0 + i) + +(* + Fold (Big Sum or Big Product notation in mathematics) of an arbitrary + function expr defined over a finite range of integers. + + Notice how one should very strictly control the domains of + lambdas, otherwise the proofs easily fail. +*) + +val fold (#c:_) (#eq:_) (cm: CE.cm c eq) + (a: int) (b: not_less_than a) (expr: ifrom_ito a b -> c) : c + +(* This lemma establishes the provable equality of the fold + given said equality for all the values from the allowed range *) +val fold_equality (#c:_) (#eq:_) (cm: CE.cm c eq) + (a: int) (b: not_less_than a) + (expr1 expr2: (ifrom_ito a b) -> c) + : Lemma (requires (forall (i: ifrom_ito a b). expr1 i == expr2 i)) + (ensures fold cm a b expr1 == fold cm a b expr2) + +val fold_singleton_lemma (#c:_) (#eq:_) (cm:CE.cm c eq) + (a:int) (expr: ifrom_ito a a -> c) + : Lemma (fold cm a a expr == expr a) + +(* This lemma decomposes the big_sum into the sum of the first + (k-1) elements plus the remaining last one. + Obviously requires the argument range that is at least + 2 elements long. *) +val fold_snoc_decomposition (#c:_) (#eq:_) + (cm: CE.cm c eq) + (a: int) (b: greater_than a) + (expr: (ifrom_ito a b) -> c) + : Lemma (fold cm a b expr == fold cm a (b-1) expr `cm.mult` (expr b)) + +(* This lemma establishes the equality of fold over int range to its + seq-based foldm_snoc counterpart. *) +val fold_equals_seq_foldm (#c:_) (#eq:_) + (cm: CE.cm c eq) + (a: int) + (b: not_less_than a) + (expr: (ifrom_ito a b) -> c) + : Lemma (ensures fold cm a b expr `eq.eq` + foldm_snoc cm (init (closed_interval_size a b) + (init_func_from_expr expr a b))) + +(* This lemma proves that if we offset some function by some value, + fold of the function against its own domain will be equal to fold + of the offset function against the offset domain + + Notice how we make bounds explicit in order for the lemma to be + readily usable in subdomain reasoning, provided exprs are + compatible too *) +val fold_offset_irrelevance_lemma (#c:_) (#eq:_) (cm: CE.cm c eq) + (m0: int) (mk: not_less_than m0) + (expr1 : ifrom_ito m0 mk -> c) + (n0: int) (nk: not_less_than n0) + (expr2 : ifrom_ito n0 nk -> c) + : Lemma (requires (((mk-m0) = (nk-n0)) /\ + (forall (i:under (closed_interval_size m0 mk)). + expr1 (i+m0) == expr2 (i+n0)))) + (ensures fold cm m0 mk expr1 == fold cm n0 nk expr2) + +(* More specific version for zero-based domain *) +val fold_offset_elimination_lemma (#c:_) (#eq:_) (cm: CE.cm c eq) + (m0: int) (mk: not_less_than m0) + (expr1 : ifrom_ito m0 mk -> c) + (expr2 : under (closed_interval_size m0 mk) -> c) + : Lemma (requires ((forall (i:under (closed_interval_size m0 mk)). + expr2 i == expr1 (i+m0)))) + (ensures fold cm m0 mk expr1 == fold cm 0 (mk-m0) expr2) diff --git a/stage0/ulib/FStar.Algebra.CommMonoid.fst b/stage0/ulib/FStar.Algebra.CommMonoid.fst new file mode 100644 index 00000000000..427aaee3bc0 --- /dev/null +++ b/stage0/ulib/FStar.Algebra.CommMonoid.fst @@ -0,0 +1,39 @@ +(* + 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.Algebra.CommMonoid + +open FStar.Mul + +unopteq +type cm (a:Type) = + | CM : + unit:a -> + mult:(a -> a -> a) -> + identity : (x:a -> Lemma (unit `mult` x == x)) -> + associativity : (x:a -> y:a -> z:a -> + Lemma (x `mult` y `mult` z == x `mult` (y `mult` z))) -> + commutativity:(x:a -> y:a -> Lemma (x `mult` y == y `mult` x)) -> + cm a + +let right_identity (#a:Type) (m:cm a) (x:a) : + Lemma (CM?.mult m x (CM?.unit m) == x) = + CM?.commutativity m x (CM?.unit m); CM?.identity m x + +let int_plus_cm : cm int = + CM 0 (+) (fun x -> ()) (fun x y z -> ()) (fun x y -> ()) + +let int_multiply_cm : cm int = + CM 1 ( * ) (fun x -> ()) (fun x y z -> ()) (fun x y -> ()) diff --git a/stage0/ulib/FStar.Algebra.Monoid.fst b/stage0/ulib/FStar.Algebra.Monoid.fst new file mode 100644 index 00000000000..90849fb3eec --- /dev/null +++ b/stage0/ulib/FStar.Algebra.Monoid.fst @@ -0,0 +1,214 @@ +(* + 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.Algebra.Monoid + +open FStar.Classical +module PropExt = FStar.PropositionalExtensionality + +(* + * AR: 05/12: adding calls to equational lemmas from PropositionalExtensionality + * these should go away with proper prop support + * also see the comment in PropositionalExtensionality.fst + *) + +(** Definition of a monoid *) + +let right_unitality_lemma (m:Type) (u:m) (mult:m -> m -> m) = + forall (x:m). x `mult` u == x + +let left_unitality_lemma (m:Type) (u:m) (mult:m -> m -> m) = + forall (x:m). u `mult` x == x + +let associativity_lemma (m:Type) (mult:m -> m -> m) = + forall (x y z:m). x `mult` y `mult` z == x `mult` (y `mult` z) + +unopteq +type monoid (m:Type) = + | Monoid : + unit:m -> + mult:(m -> m -> m) -> + right_unitality:squash (right_unitality_lemma m unit mult) -> + left_unitality:squash (left_unitality_lemma m unit mult) -> + associativity:squash (associativity_lemma m mult) -> + monoid m + + +let intro_monoid (m:Type) (u:m) (mult:m -> m -> m) + : Pure (monoid m) + (requires (right_unitality_lemma m u mult /\ left_unitality_lemma m u mult /\ associativity_lemma m mult)) + (ensures (fun mm -> Monoid?.unit mm == u /\ Monoid?.mult mm == mult)) += + Monoid u mult () () () + + +(** Some monoid structures *) + +let nat_plus_monoid : monoid nat = + let add (x y : nat) : nat = x + y in + intro_monoid nat 0 add + +let int_plus_monoid : monoid int = + intro_monoid int 0 (+) + +(* let int_mul_monoid : monoid int = *) +(* intro_monoid int 1 op_Multiply *) + +let conjunction_monoid : monoid prop = + let u : prop = singleton True in + let mult (p q : prop) : prop = p /\ q in + + let left_unitality_helper (p:prop) : Lemma ((u `mult` p) == p) = + assert ((u `mult` p) <==> p) ; + PropExt.apply (u `mult` p) p + in + + let right_unitality_helper (p:prop) : Lemma ((p `mult` u) == p) = + assert ((p `mult` u) <==> p) ; + PropExt.apply (p `mult` u) p + in + + let associativity_helper (p1 p2 p3 : prop) : Lemma (p1 `mult` p2 `mult` p3 == p1 `mult` (p2 `mult` p3)) = + assert (p1 `mult` p2 `mult` p3 <==> p1 `mult` (p2 `mult` p3)) ; + PropExt.apply (p1 `mult` p2 `mult` p3) (p1 `mult` (p2 `mult` p3)) + in + + forall_intro right_unitality_helper ; + assert (right_unitality_lemma prop u mult) ; + forall_intro left_unitality_helper ; + assert (left_unitality_lemma prop u mult) ; + forall_intro_3 associativity_helper; + assert (associativity_lemma prop mult) ; + intro_monoid prop u mult + + +let disjunction_monoid : monoid prop = + let u : prop = singleton False in + let mult (p q : prop) : prop = p \/ q in + + let left_unitality_helper (p:prop) : Lemma ((u `mult` p) == p) = + assert ((u `mult` p) <==> p) ; + PropExt.apply (u `mult` p) p + in + + let right_unitality_helper (p:prop) : Lemma ((p `mult` u) == p) = + assert ((p `mult` u) <==> p) ; + PropExt.apply (p `mult` u) p + in + + let associativity_helper (p1 p2 p3 : prop) : Lemma (p1 `mult` p2 `mult` p3 == p1 `mult` (p2 `mult` p3)) = + assert (p1 `mult` p2 `mult` p3 <==> p1 `mult` (p2 `mult` p3)) ; + PropExt.apply (p1 `mult` p2 `mult` p3) (p1 `mult` (p2 `mult` p3)) + in + + forall_intro right_unitality_helper ; + assert (right_unitality_lemma prop u mult) ; + forall_intro left_unitality_helper ; + assert (left_unitality_lemma prop u mult) ; + forall_intro_3 associativity_helper; + assert (associativity_lemma prop mult) ; + intro_monoid prop u mult + +let bool_and_monoid : monoid bool = + let and_ b1 b2 = b1 && b2 in + intro_monoid bool true and_ + +let bool_or_monoid : monoid bool = + let or_ b1 b2 = b1 || b2 in + intro_monoid bool false or_ + +let bool_xor_monoid : monoid bool = + let xor b1 b2 = (b1 || b2) && not (b1 && b2) in + intro_monoid bool false xor + +let lift_monoid_option (#a:Type) (m:monoid a) : monoid (option a) = + let mult (x y:option a) = + match x, y with + | Some x0, Some y0 -> Some (m.mult x0 y0) + | _, _ -> None + in + intro_monoid (option a) (Some m.unit) mult + +(* Definition of a morphism of monoid *) + +let monoid_morphism_unit_lemma (#a #b:Type) (f:a -> b) (ma:monoid a) (mb:monoid b) = + f (Monoid?.unit ma) == Monoid?.unit mb + +let monoid_morphism_mult_lemma (#a #b:Type) (f:a -> b) (ma:monoid a) (mb:monoid b) = + forall (x y:a). Monoid?.mult mb (f x) (f y) == f (Monoid?.mult ma x y) + +type monoid_morphism (#a #b:Type) (f:a -> b) (ma:monoid a) (mb:monoid b) = + | MonoidMorphism : + unit:squash (monoid_morphism_unit_lemma f ma mb) -> + mult:squash (monoid_morphism_mult_lemma f ma mb) -> + monoid_morphism f ma mb + +let intro_monoid_morphism (#a #b:Type) (f:a -> b) (ma:monoid a) (mb:monoid b) + : Pure (monoid_morphism f ma mb) + (requires (monoid_morphism_unit_lemma f ma mb /\ monoid_morphism_mult_lemma f ma mb)) + (ensures (fun _ -> True)) += + MonoidMorphism () () + +let embed_nat_int (n:nat) : int = n +let _ = intro_monoid_morphism embed_nat_int nat_plus_monoid int_plus_monoid + +let neg (p:prop) : prop = ~p +let _ = + assert (neg True <==> False) ; + PropExt.apply (neg True) False ; + let mult_lemma_helper (p q:prop) : Lemma (neg (p /\ q) == (neg p \/ neg q)) = + assert (neg (p /\ q) <==> (neg p \/ neg q)) ; + PropExt.apply (neg (p /\ q)) (neg p \/ neg q) + in + forall_intro_2 mult_lemma_helper ; + intro_monoid_morphism neg conjunction_monoid disjunction_monoid + +let _ = + assert (neg False <==> True) ; + PropExt.apply (neg False) True ; + let mult_lemma_helper (p q:prop) : Lemma (neg (p \/ q) == (neg p /\ neg q)) = + assert (neg (p \/ q) <==> (neg p /\ neg q)) ; + PropExt.apply (neg (p \/ q)) (neg p /\ neg q) + in + forall_intro_2 mult_lemma_helper ; + intro_monoid_morphism neg disjunction_monoid conjunction_monoid + +(* Definition of a left action *) + +let mult_act_lemma (m a:Type) (mult:m -> m -> m) (act:m -> a -> a) = + forall (x x':m) (y:a). (x `mult` x') `act` y == x `act` (x' `act` y) + +let unit_act_lemma (m a:Type) (u:m) (act:m -> a -> a) = + forall (y:a). u `act` y == y + +unopteq +type left_action (#m:Type) (mm:monoid m) (a:Type) = + | LAct : + act:(m -> a -> a) -> + mult_lemma: squash (mult_act_lemma m a (Monoid?.mult mm) act) -> + unit_lemma: squash (unit_act_lemma m a (Monoid?.unit mm) act) -> + left_action mm a + +let left_action_morphism + (#a #b #ma #mb:Type) + (f:a -> b) + (* mf ought to be a monoid morphism but we don't use this fact in the property *) + (mf: ma -> mb) + (#mma:monoid ma) + (#mmb:monoid mb) + (la:left_action mma a) + (lb:left_action mmb b) += forall (g:ma) (x:a). LAct?.act lb (mf g) (f x) == f (LAct?.act la g x) diff --git a/stage0/ulib/FStar.All.fsti b/stage0/ulib/FStar.All.fsti new file mode 100644 index 00000000000..750653d6651 --- /dev/null +++ b/stage0/ulib/FStar.All.fsti @@ -0,0 +1,43 @@ +(* + 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.All +open FStar.Heap +include FStar.ST +include FStar.Exn + +let all_pre = all_pre_h heap +let all_post' (a : Type) (pre:Type) = all_post_h' heap a pre +let all_post (a : Type) = all_post_h heap a +let all_wp (a : Type) = all_wp_h heap a +new_effect ALL = ALL_h heap + +unfold let lift_state_all (a : Type) (wp : st_wp a) (p : all_post a) = wp (fun a -> p (V a)) +sub_effect STATE ~> ALL { lift_wp = lift_state_all } + +unfold +let lift_exn_all (a : Type) (wp : ex_wp a) (p : all_post a) (h : heap) = wp (fun ra -> p ra h) +sub_effect EXN ~> ALL { lift_wp = lift_exn_all } + +effect All (a:Type) (pre:all_pre) (post:(h:heap -> Tot (all_post' a (pre h)))) = + ALL a + (fun (p : all_post a) (h : heap) -> pre h /\ (forall ra h1. post h ra h1 ==> p ra h1)) +effect ML (a:Type) = ALL a (fun (p:all_post a) (_:heap) -> forall (a:result a) (h:heap). p a h) + +val exit : int -> ML 'a +val try_with : (unit -> ML 'a) -> (exn -> ML 'a) -> ML 'a + +exception Failure of string +val failwith : string -> All 'a (fun h -> True) (fun h a h' -> Err? a /\ h == h') diff --git a/stage0/ulib/FStar.BV.fst b/stage0/ulib/FStar.BV.fst new file mode 100644 index 00000000000..e00496b4f9e --- /dev/null +++ b/stage0/ulib/FStar.BV.fst @@ -0,0 +1,139 @@ +(* + 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.BV + +module U = FStar.UInt +module B = FStar.BitVector +module S = FStar.Seq + +let bv_t (n : nat) = B.bv_t n + +let bv_uext #n #i a = + Seq.append (Seq.create i false) a + +let int2bv = U.to_vec +let bv2int = U.from_vec + +let int2bv_lemma_1 = U.to_vec_lemma_1 +let int2bv_lemma_2 = U.to_vec_lemma_2 +let inverse_vec_lemma = U.inverse_vec_lemma +let inverse_num_lemma = U.inverse_num_lemma + +(** Mapping an unbounded nat to a bitvector; only used for bvshl and bvshr + compatibility funs *) +let int2bv_nat (#n: pos) (num: nat): Tot (bv_t n) = U.to_vec (num % pow2 n) + +let int2bv_nat_lemma (#n: pos) (num: uint_t n) + : Lemma + (ensures (int2bv_nat #n num == int2bv #n num)) = + assert (num < pow2 n); + FStar.Math.Lemmas.modulo_lemma num (pow2 n); + assert (num % pow2 n = num) + +let list2bv #n l = S.seq_of_list l +let bv2list #n s = S.seq_to_list s +let list2bv_bij #n a = S.lemma_list_seq_bij a +let bv2list_bij #n a = S.lemma_seq_list_bij a + +let bvand = B.logand_vec +let int2bv_logand #n #x #y #z pf = + inverse_vec_lemma #n (bvand #n (int2bv #n x) (int2bv #n y)) + +let bvxor = B.logxor_vec +let int2bv_logxor #n #x #y #z pf = + inverse_vec_lemma #n (bvxor #n (int2bv x) (int2bv y)) + +let bvor = B.logor_vec +let int2bv_logor #n #x #y #z pf = + inverse_vec_lemma #n (bvor #n (int2bv x) (int2bv y)) + +let bvnot = B.lognot_vec +let int2bv_lognot #n #x #y pf = + inverse_vec_lemma #n (bvnot #n (int2bv x)) + +(*TODO: specify index functions? *) +let bvshl' (#n: pos) (a: bv_t n) (s: bv_t n): bv_t n = + B.shift_left_vec #n a (bv2int #n s) +let bvshl (#n: pos) (a: bv_t n) (s: nat): bv_t n = + bvshl' #n a (int2bv_nat #n s) + +let int2bv_shl' #n #x #y #z pf = + inverse_vec_lemma #n (bvshl' #n (int2bv #n x) (int2bv #n y)) +let int2bv_shl #n #x #y #z pf = + int2bv_nat_lemma #n y; + inverse_vec_lemma #n (bvshl #n (int2bv #n x) y) + +let bvshr' (#n: pos) (a: bv_t n) (s: bv_t n): bv_t n = + B.shift_right_vec #n a (bv2int #n s) +let bvshr (#n: pos) (a: bv_t n) (s: nat) : bv_t n = + bvshr' #n a (int2bv_nat #n s) +let int2bv_shr' #n #x #y #z pf = + inverse_vec_lemma #n (bvshr' #n (int2bv #n x) (int2bv #n y)) +let int2bv_shr #n #x #y #z pf = + int2bv_nat_lemma #n y; + inverse_vec_lemma #n (bvshr #n (int2bv #n x) y) + + + +let bvult #n a b = (bv2int #n a) < (bv2int #n b) + +let int2bv_lemma_ult_1 #n a b = + inverse_num_lemma #n a; + inverse_num_lemma #n b + +let int2bv_lemma_ult_2 #n a b = + inverse_num_lemma #n a; + inverse_num_lemma #n b + + +let bvadd #n a b = + int2bv #n (U.add_mod (bv2int #n a) (bv2int #n b)) +let int2bv_add #n #x #y #z pf = + inverse_vec_lemma #n (bvadd #n (int2bv #n x) (int2bv #n y)) + +let bvsub #n a b = + int2bv #n (U.sub_mod (bv2int #n a) (bv2int #n b)) +let int2bv_sub #n #x #y #z pf = + inverse_vec_lemma #n (bvsub #n (int2bv #n x) (int2bv #n y)) + +let bvdiv #n a b = + int2bv #n (U.udiv #n (bv2int #n a) b) +let int2bv_div #n #x #y #z pf = + inverse_vec_lemma #n (bvdiv #n (int2bv #n x) y) + +let bvdiv_unsafe #n a b = if (bv2int b <> 0) then bvdiv a (bv2int b) else int2bv 0 +let bvdiv_unsafe_sound #n #a #b b_nonzero_pf = () + + +let bvmod #n a b = + int2bv #n (U.mod #n (bv2int #n a) b) +let int2bv_mod #n #x #y #z pf = + inverse_vec_lemma #n (bvmod #n (int2bv #n x) y) + +let bvmod_unsafe #n a b = if (bv2int b <> 0) then bvmod a (bv2int b) else int2bv 0 +let bvmod_unsafe_sound #n #a #b b_nonzero_pf = () + +// Z3's bvmul is also modulo +let bvmul #n a b = + int2bv #n (U.mul_mod #n (bv2int #n a) b) +let int2bv_mul #n #x #y #z pf = + inverse_vec_lemma #n (bvmul #n (int2bv #n x) y) + +let bvmul' #n a b = + int2bv #n (U.mul_mod #n (bv2int #n a) (bv2int #n b)) + +let int2bv_mul' #n #x #y #z pf = + inverse_vec_lemma #n (bvmul' #n (int2bv #n x) (int2bv #n y)) diff --git a/stage0/ulib/FStar.BV.fsti b/stage0/ulib/FStar.BV.fsti new file mode 100644 index 00000000000..3c3bb88fe4e --- /dev/null +++ b/stage0/ulib/FStar.BV.fsti @@ -0,0 +1,304 @@ +(* + 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.BV + +/// This module defines an abstract type of length-indexed bit +/// vectors. The type and its operations are handled primitively in +/// F*'s SMT encoding, which maps them to the SMT sort of bit vectors +/// and operations on that sort. Note that this encoding only applies +/// when the length [n] is a syntactic literal: bit vectors with a +/// length referring to some variable, bound or otherwise, are encoded +/// as abstract sequences of bits. +/// +/// Because of this syntactic encoding, it is also often helpful to +/// explicitly specify the bit length on all operations -- for example +/// constructing a 64-bit vector with [int2bv #64 1]. These explicit +/// annotations ensure that the encoding uses the literal length 64, +/// rather than inferring some variable as the length. +/// +/// One way to use this module is in conjunction with +/// FStar.Tactics.BV. Its main tactic, [bv_tac], converts bitwise +/// operations on unsigned integers to operations on bit vectors and +/// back using the [int2bv / bv2int] isomorphism. This can be an +/// effective way of discharging such proof obligations for bitwise +/// operations on integers using the SMT solver's theory of +/// bitvectors. + +open FStar.UInt +// for now just opening this for logand, logxor, etc. but we need a better solution. + +(** The main type of this module, bit vectors of length [n], with + decidable equality *) +val bv_t (n: nat) : eqtype + +(* Experimental: + Redefining basic type from UInt to avoid importing UInt + Reduces verification time by 50% in small examples +// let max_int (n:nat) : Tot int = pow2 n - 1 +// let min_int (n:nat) : Tot int = 0 +// let fits (x:int) (n:nat) : Tot bool = min_int n <= x && x <= max_int n +// let size (x:int) (n:nat) : Tot Type0 = b2t(fits x n) +// type uint_t' (n:nat) = x:int{size x n} +*) + +(** Extending a bit vector of length [n] to a larger vector of size + [m+n], filling the extra bits with 0 *) +val bv_uext (#n #m: pos) (a: bv_t n) : Tot (normalize (bv_t (m + n))) + +(**** Relating unsigned integers to bitvectors *) + +(** Mapping a bounded unsigned integer of size [< 2^n], to a n-length + bit vector *) +val int2bv (#n: pos) (num: uint_t n) : Tot (bv_t n) + +(** Mapping a bit vector back to a bounded unsigned integer of size [< + 2^n] *) +val bv2int (#n: pos) (vec: bv_t n) : Tot (uint_t n) + +val int2bv_lemma_1 (#n: pos) (a b: uint_t n) + : Lemma (requires a = b) (ensures (int2bv #n a = int2bv #n b)) + +val int2bv_lemma_2 (#n: pos) (a b: uint_t n) + : Lemma (requires (int2bv a = int2bv b)) (ensures a = b) + +val inverse_vec_lemma (#n: pos) (vec: bv_t n) + : Lemma (requires True) (ensures vec = (int2bv (bv2int vec))) [SMTPat (int2bv (bv2int vec))] + +val inverse_num_lemma (#n: pos) (num: uint_t n) + : Lemma (requires True) + (ensures num = bv2int #n (int2bv #n num)) + [SMTPat (bv2int #n (int2bv #n num))] + +(**** Relating lists to bitvectors *) + +(** Mapping a list of booleans to a bitvector *) +val list2bv (#n: pos) (l: list bool {List.length l = n}) : Tot (bv_t n) + +(** Mapping a bitvector to a list of booleans *) +val bv2list: #n: pos -> bv_t n -> Tot (l: list bool {List.length l = n}) + +val list2bv_bij (#n: pos) (a: list bool {List.length a = n}) + : Lemma (requires (True)) (ensures (bv2list (list2bv #n a) = a)) + +val bv2list_bij (#n: pos) (a: bv_t n) + : Lemma (requires (True)) (ensures (list2bv (bv2list #n a) = a)) + +(**** Bitwise logical operators *) + +(** Bitwise conjunction *) +val bvand (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_logand: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvand #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (logand #n x y) == z) + +(** Bitwise exclusive or *) +val bvxor (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_logxor: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvxor #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (logxor #n x y) == z) + +(** Bitwise disjunction *) +val bvor (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_logor: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvor #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (logor #n x y) == z) + +(** Bitwise negation *) +val bvnot (#n: pos) (a: bv_t n) : Tot (bv_t n) + +val int2bv_lognot: #n: pos -> #x: uint_t n -> #z: bv_t n -> squash (bvnot #n (int2bv #n x) == z) + -> Lemma (int2bv #n (lognot #n x) == z) + +(** Bitwise shift left: shift by bit-vector. + This variant directly corresponds to the SMT-LIB bvshl function. In some + cases, it may be more efficient to use this variant rather than the below + natural number [bvshl] variant, as the below requires a conversion from + unbounded integers. *) +val bvshl' (#n: pos) (a: bv_t n) (s: bv_t n) : Tot (bv_t n) + +(** Bitwise shift left: shift by integer. + This variant uses an unbounded natural and exists for compatibility. *) +val bvshl (#n: pos) (a: bv_t n) (s: nat) : Tot (bv_t n) + +val int2bv_shl': + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvshl' #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (shift_left #n x y) == z) + +val int2bv_shl: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvshl #n (int2bv #n x) y == z) + -> Lemma (int2bv #n (shift_left #n x y) == z) + +(** Bitwise shift right: shift by bit-vector. + This variant directly corresponds to the SMT-LIB bvshr function. In some + cases, it may be more efficient to use this variant rather than the below + natural number [bvshr] variant, as the below requires a conversion from + unbounded integers. + *) +val bvshr' (#n: pos) (a: bv_t n) (s: bv_t n) : Tot (bv_t n) + +(** Bitwise shift right: shift by integer. + This variant uses an unbounded natural and exists for compatibility. *) +val bvshr (#n: pos) (a: bv_t n) (s: nat) : Tot (bv_t n) + +val int2bv_shr': + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvshr' #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (shift_right #n x y) == z) + +val int2bv_shr: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvshr #n (int2bv #n x) y == z) + -> Lemma (int2bv #n (shift_right #n x y) == z) + +(**** Arithmetic operations *) +unfold +let bv_zero #n = int2bv #n 0 + +(** Inequality on bitvectors *) +val bvult (#n: pos) (a b: bv_t n) : Tot (bool) + +val int2bv_lemma_ult_1 (#n: pos) (a b: uint_t n) + : Lemma (requires a < b) (ensures (bvult #n (int2bv #n a) (int2bv #n b))) + +val int2bv_lemma_ult_2 (#n: pos) (a b: uint_t n) + : Lemma (requires (bvult #n (int2bv #n a) (int2bv #n b))) (ensures a < b) + +(** Addition *) +val bvadd (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_add: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvadd #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (add_mod #n x y) == z) + +(** Subtraction *) +val bvsub (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_sub: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvsub #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (sub_mod #n x y) == z) + +(** Division *) +val bvdiv (#n: pos) (a: bv_t n) (b: uint_t n {b <> 0}) : Tot (bv_t n) + +val int2bv_div: + #n: pos -> + #x: uint_t n -> + #y: uint_t n {y <> 0} -> + #z: bv_t n -> + squash (bvdiv #n (int2bv #n x) y == z) + -> Lemma (int2bv #n (udiv #n x y) == z) + + +(** 'bvdiv_unsafe' is an uninterpreted function on 'bv_t n', + modeling the corresponding operator from SMT-LIB. + When its second argument is nonzero, the lemma below + says that it is equivalent to bvdiv. *) +val bvdiv_unsafe (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +(** 'bvdiv_unsafe' behaves as 'bvdiv' when denominator is nonzero *) +val bvdiv_unsafe_sound : + #n: pos -> + #a : bv_t n -> + #b : bv_t n -> + squash (bv2int b <> 0) + -> Lemma (bvdiv_unsafe #n a b = bvdiv a (bv2int b)) + + +(** Modulus *) +val bvmod (#n: pos) (a: bv_t n) (b: uint_t n {b <> 0}) : Tot (bv_t n) + +val int2bv_mod: + #n: pos -> + #x: uint_t n -> + #y: uint_t n {y <> 0} -> + #z: bv_t n -> + squash (bvmod #n (int2bv #n x) y == z) + -> Lemma (int2bv #n (mod #n x y) == z) + +(** 'bvmod_unsafe' is an uninterpreted function on 'bv_t n', + modeling the corresponding operator from SMT-LIB. + When its second argument is nonzero, the lemma below + says that it is equivalent to bvmod. *) +val bvmod_unsafe (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +(** 'bvmod_unsafe' behaves as 'bvmod' when denominator is nonzero *) +val bvmod_unsafe_sound : + #n: pos -> + #a : bv_t n -> + #b : bv_t n -> + squash (bv2int b <> 0) + -> Lemma (bvmod_unsafe #n a b = bvmod a (bv2int b)) + +(** Multiplication modulo*) +val bvmul (#n: pos) (a: bv_t n) (b: uint_t n) : Tot (bv_t n) + +val int2bv_mul: + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvmul #n (int2bv #n x) y == z) + -> Lemma (int2bv #n (mul_mod #n x y) == z) + +(** Bit-vector multiplication *) +val bvmul' (#n: pos) (a b: bv_t n) : Tot (bv_t n) + +val int2bv_mul': + #n: pos -> + #x: uint_t n -> + #y: uint_t n -> + #z: bv_t n -> + squash (bvmul' #n (int2bv #n x) (int2bv #n y) == z) + -> Lemma (int2bv #n (mul_mod #n x y) == z) + diff --git a/stage0/ulib/FStar.BigOps.fst b/stage0/ulib/FStar.BigOps.fst new file mode 100644 index 00000000000..552c224774c --- /dev/null +++ b/stage0/ulib/FStar.BigOps.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.BigOps +module T = FStar.Tactics.V2 + +let normal_eq (#a:Type) (f:a) + = () + +//////////////////////////////////////////////////////////////////////////////// +let map_op'_nil + (#a:Type) (#b:Type) (#c:Type) + (op:b -> c -> GTot c) (f:a -> GTot b) (z:c) + : Lemma (map_op' op f [] z == z) + = () + +let map_op'_cons #a #b #c (op:b -> c -> GTot c) (f:a -> GTot b) (hd:a) (tl:list a) (z:c) + : Lemma (map_op' op f (hd::tl) z == f hd `op` map_op' op f tl z) + = () + +//////////////////////////////////////////////////////////////////////////////// +let big_and'_nil (#a:Type) (f:a -> Type) + = assert (big_and' f [] == True) by (T.compute()) + +let big_and'_cons (#a:Type) (f:a -> Type) (hd:a) (tl:list a) + = assert (big_and' f (hd :: tl) == (f hd /\ big_and' f tl)) by (T.compute()) + +let big_and'_prop (#a:Type) (f:a -> Type) (l:list a) + = match l with + | [] -> big_and'_nil f + | hd::tl -> big_and'_cons f hd tl + +let rec big_and'_forall (#a:Type) (f:a -> Type) (l:list a) + = match l with + | [] -> big_and'_nil f; () + | hd::tl -> big_and'_cons f hd tl; big_and'_forall f tl + +//////////////////////////////////////////////////////////////////////////////// +let big_or'_nil (#a:Type) (f:a -> Type) + = assert (big_or' f [] == False) by (T.compute()) + +let big_or'_cons (#a:Type) (f:a -> Type) (hd:a) (tl:list a) + = assert (big_or' f (hd :: tl) == (f hd \/ big_or' f tl)) by (T.compute()) + +let big_or'_prop (#a:Type) (f:a -> Type) (l:list a) + = match l with + | [] -> big_or'_nil f + | hd::tl -> big_or'_cons f hd tl + +let rec big_or'_exists (#a:Type) (f:a -> Type) (l:list a) + = match l with + | [] -> big_or'_nil f; () + | hd::tl -> big_or'_cons f hd tl; big_or'_exists f tl + +//////////////////////////////////////////////////////////////////////////////// +let pairwise_and'_nil (#a:Type) (f:a -> a -> Type0) + = assert (pairwise_and' f [] == True) by (T.compute()) + +let pairwise_and'_cons (#a:Type) (f:a -> a -> Type) (hd:a) (tl:list a) + = assert (pairwise_and' f (hd::tl) == (big_and' (f hd) tl /\ pairwise_and' f tl)) + by (T.trefl()) + +let pairwise_and'_prop (#a:Type) (f:a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_and'_nil f + | hd::tl -> pairwise_and'_cons f hd tl + +(* Note, this is good example of where the difference between + the implicitly and explicitly reducing variants of the definitions + makes a difference. + + Proving this lemma directly on the `pairwise_and` is much harder + since one has to reason about many partially reduced forms. + + Instead, we first prove the lemma on the non-reducing primed + version of the definition, and then obtain the lemma we want + at the end using `normal_eq` *) +let rec pairwise_and'_forall (#a:Type) (f: a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_and'_nil f + | hd::tl -> + pairwise_and'_cons f hd tl; + pairwise_and'_forall f tl; + big_and'_forall (f hd) tl + +let rec pairwise_and'_forall_no_repeats (#a:Type) (f: a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_and'_nil f + | hd::tl -> + pairwise_and'_cons f hd tl; + pairwise_and'_forall_no_repeats f tl; + big_and'_forall (f hd) tl +//////////////////////////////////////////////////////////////////////////////// + +let pairwise_or'_nil (#a:Type) (f:a -> a -> Type0) + = assert (pairwise_or' f [] == False) by (T.compute()) + +let pairwise_or'_cons (#a:Type) (f:a -> a -> Type) (hd:a) (tl:list a) + = assert (pairwise_or' f (hd::tl) == (big_or' (f hd) tl \/ pairwise_or' f tl)) + +let pairwise_or'_prop (#a:Type) (f:a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_or'_nil f + | hd::tl -> pairwise_or'_cons f hd tl + +let rec pairwise_or'_exists (#a:Type) (f: a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_or'_nil f + | hd::tl -> + pairwise_or'_cons f hd tl; + pairwise_or'_exists f tl; + big_or'_exists (f hd) tl + +let rec pairwise_or'_exists_no_repeats (#a:Type) (f: a -> a -> Type) (l:list a) + = match l with + | [] -> pairwise_or'_nil f + | hd::tl -> + pairwise_or'_cons f hd tl; + pairwise_or'_exists_no_repeats f tl; + big_or'_exists (f hd) tl diff --git a/stage0/ulib/FStar.BigOps.fsti b/stage0/ulib/FStar.BigOps.fsti new file mode 100644 index 00000000000..b3a307a7fac --- /dev/null +++ b/stage0/ulib/FStar.BigOps.fsti @@ -0,0 +1,274 @@ +(* + 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.BigOps + +/// This library provides propositional connectives over finite sets +/// expressed as lists, aka "big operators", in analogy with LaTeX +/// usage for \bigand, \bigor, etc. +/// +/// The library is designed with a dual usage in mind: +/// +/// 1. Normalization: When applied to a list literal, we want +/// {[big_and f [a;b;c]]} to implicilty reduce to [f a /\ f b /\ f c] +/// +/// 2. Symbolic manipulation: We provide lemmas of the form +/// +/// [big_and f l <==> forall x. L.memP x l ==> f x] +/// +/// In this latter form, partially computing [big_and] as a fold over +/// a list is cumbersome for proof. So, we provide variants [big_and'] +/// etc., that do not reduce implicitly. + +module L = FStar.List.Tot.Base + +(** We control reduction using the [delta_attr] feature of the + normalizer. See FStar.Pervasives for how that works. Every term + that is to be reduced is with the [__reduce__] attribute *) +let __reduce__ = () + +(** We wrap [norm] with a module-specific custom usage, triggering + specific reduction steps *) + +[@@ __reduce__] +unfold +let normal (#a: Type) (x: a) : a = + FStar.Pervasives.norm [ + iota; + zeta; + delta_only [`%L.fold_right_gtot; `%L.map_gtot]; + delta_attr [`%__reduce__]; + primops; + simplify + ] + x + +(** A useful lemma to relate terms to their implicilty reducing variants *) +val normal_eq (#a: Type) (f: a) : Lemma (f == normal f) + +(**** Map and fold *) + +(** A utility that combines map and fold: [map_op' op f l z] maps each + element of [l] by [f] and then combines them using [op] *) +[@@ __reduce__] +let map_op' #a #b #c (op: (b -> c -> GTot c)) (f: (a -> GTot b)) (l: list a) (z: c) : GTot c = + L.fold_right_gtot #a #c l (fun x acc -> (f x) `op` acc) z + +(** Equations for [map_op'] showing how it folds over the empty list *) +val map_op'_nil (#a #b #c: Type) (op: (b -> c -> GTot c)) (f: (a -> GTot b)) (z: c) + : Lemma (map_op' op f [] z == z) + +(** Equations for [map_op'] showing how it folds over a cons cell *) +val map_op'_cons + (#a #b #c: Type) + (op: (b -> c -> GTot c)) + (f: (a -> GTot b)) + (hd: a) + (tl: list a) + (z: c) + : Lemma (map_op' op f (hd :: tl) z == (f hd) `op` (map_op' op f tl z)) + +(**** Conjunction *) + +(** [big_and' f l] = [/\_{x in l} f x] *) +[@@ __reduce__] +let big_and' #a (f: (a -> Type)) (l: list a) : Type = map_op' l_and f l True + +(** Equations for [big_and'] showing it to be trivial over the empty list *) +val big_and'_nil (#a: Type) (f: (a -> Type)) : Lemma (big_and' f [] == True) + +(** Equations for [big_and'] showing it to be a fold over a list with [/\] *) +val big_and'_cons (#a: Type) (f: (a -> Type)) (hd: a) (tl: list a) + : Lemma (big_and' f (hd :: tl) == (f hd /\ big_and' f tl)) + +(** [big_and' f l] is a [prop], i.e., it is proof irrelevant. + + Note: defining `big_and'` to intrinsically be in `prop` + is also possible, but it's much more tedious in proofs. + + This is in part because the [/\] is not defined in prop, + though one can prove that [a /\ b] is a prop. + + The discrepancy means that I preferred to prove these + operators in [prop] extrinsically. +*) +val big_and'_prop (#a: Type) (f: (a -> Type)) (l: list a) : Lemma ((big_and' f l) `subtype_of` unit) + +(** Interpreting the finite conjunction [big_and f l] + as an infinite conjunction [forall] *) +val big_and'_forall (#a: Type) (f: (a -> Type)) (l: list a) + : Lemma (big_and' f l <==> (forall x. L.memP x l ==> f x)) + +(** [big_and f l] is an implicitly reducing variant of [big_and'] + It is defined in [prop] *) + +[@@ __reduce__] +unfold +let big_and #a (f: (a -> Type)) (l: list a) : prop = + big_and'_prop f l; + normal (big_and' f l) + +(**** Disjunction *) + +(** [big_or f l] = [\/_{x in l} f x] *) +[@@ __reduce__] +let big_or' #a (f: (a -> Type)) (l: list a) : Type = map_op' l_or f l False + +(** Equations for [big_or] showing it to be [False] on the empty list *) +val big_or'_nil (#a: Type) (f: (a -> Type)) : Lemma (big_or' f [] == False) + +(** Equations for [big_or] showing it to fold over a list *) +val big_or'_cons (#a: Type) (f: (a -> Type)) (hd: a) (tl: list a) + : Lemma (big_or' f (hd :: tl) == (f hd \/ big_or' f tl)) + +(** [big_or f l] is a `prop` + See the remark above on the style of proof for prop *) +val big_or'_prop (#a: Type) (f: (a -> Type)) (l: list a) : Lemma ((big_or' f l) `subtype_of` unit) + +(** Interpreting the finite disjunction [big_or f l] + as an infinite disjunction [exists] *) +val big_or'_exists (#a: Type) (f: (a -> Type)) (l: list a) + : Lemma (big_or' f l <==> (exists x. L.memP x l /\ f x)) + +(** [big_or f l] is an implicitly reducing variant of [big_or'] + It is defined in [prop] *) + +[@@ __reduce__] +unfold +let big_or #a (f: (a -> Type)) (l: list a) : prop = + big_or'_prop f l; + normal (big_or' f l) + +(**** Pairwise operators *) + +/// We provide functions to apply a reflexive, symmetric binary +/// operator to elements in a list [l] pairwise, in a triangle of +/// elements in the square matrix of [l X l]. To illustrate, for a +/// list of [n] elements, we fold the operator over the pairwise +/// elements of the list in top-down, left-to-right order of the +/// diagram below +/// +/// +/// {[ +/// 0 1 2 3 ... n +/// 0 +/// 1 x +/// 2 x x +/// 3 x x x +/// . x x x x +/// n x x x x ]} + +(** Mapping pairs of elements of [l] using [f] and combining them with + [op]. *) +[@@ __reduce__] +let rec pairwise_op' #a #b (op: (b -> b -> GTot b)) (f: (a -> a -> b)) (l: list a) (z: b) : GTot b = + match l with + | [] -> z + | hd :: tl -> (map_op' op (f hd) tl z) `op` (pairwise_op' op f tl z) + +(** [f] is a symmetric relation *) +let symmetric (#a: Type) (f: (a -> a -> Type)) = forall x y. f x y <==> f y x + +(** [f] is a reflexive relation *) +let reflexive (#a: Type) (f: (a -> a -> Type)) = forall x. f x x + +(** [f] is a anti-reflexive relation *) +let anti_reflexive (#a: Type) (f: (a -> a -> Type)) = forall x. ~(f x x) + +(**** Pairwise conjunction *) + +(** [pairwise_and f l] conjoins [f] on all pairs excluding the diagonal + i.e., + + {[ pairwise_and f [a; b; c] = f a b /\ f a c /\ f b c ]} *) +[@@ __reduce__] +let pairwise_and' #a (f: (a -> a -> Type)) (l: list a) : Type = pairwise_op' l_and f l True + +(** Equations for [pairwise_and] showing it to be a fold with [big_and] *) +val pairwise_and'_nil (#a: Type) (f: (a -> a -> Type0)) : Lemma (pairwise_and' f [] == True) + +(** Equations for [pairwise_and] showing it to be a fold with [big_and] *) +val pairwise_and'_cons (#a: Type) (f: (a -> a -> Type0)) (hd: a) (tl: list a) + : Lemma (pairwise_and' f (hd :: tl) == (big_and' (f hd) tl /\ pairwise_and' f tl)) + +(** [pairwise_and' f l] is a prop + See the remark above on the style of proof for prop *) +val pairwise_and'_prop (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma ((pairwise_and' f l) `subtype_of` unit) + +(** [pairwise_and' f l] for symmetric reflexive relations [f] + is interpreted as universal quantification over pairs of list elements **) +val pairwise_and'_forall (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma (requires symmetric f /\ reflexive f) + (ensures (pairwise_and' f l <==> (forall x y. L.memP x l /\ L.memP y l ==> f x y))) + +(** [pairwise_and' f l] for symmetric relations [f] interpreted as + universal quantification over pairs of list of unique elements *) +val pairwise_and'_forall_no_repeats (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma (requires symmetric f /\ L.no_repeats_p l) + (ensures (pairwise_and' f l <==> (forall x y. L.memP x l /\ L.memP y l /\ x =!= y ==> f x y))) + +(** [pairwise_and f l] is an implicitly reducing variant of [pairwise_and'] + It is defined in [prop] *) + +[@@ __reduce__] +unfold +let pairwise_and #a (f: (a -> a -> Type)) (l: list a) : prop = + pairwise_and'_prop f l; + normal (pairwise_and' f l) + +(**** Pairwise disjunction *) + +(** [pairwise_or f l] disjoins [f] on all pairs excluding the diagonal + i.e., [pairwise_or f [a; b; c] = f a b \/ f a c \/ f b c] *) +[@@ __reduce__] +let pairwise_or' #a (f: (a -> a -> Type)) (l: list a) : Type = pairwise_op' l_or f l False + +(** Equations for [pairwise_or'] showing it to be a fold with [big_or'] *) +val pairwise_or'_nil (#a: Type) (f: (a -> a -> Type0)) : Lemma (pairwise_or' f [] == False) + +(** Equations for [pairwise_or'] showing it to be a fold with [big_or'] *) +val pairwise_or'_cons (#a: Type) (f: (a -> a -> Type0)) (hd: a) (tl: list a) + : Lemma (pairwise_or' f (hd :: tl) == (big_or' (f hd) tl \/ pairwise_or' f tl)) + +(** [pairwise_or' f l] is a prop + See the remark above on the style of proof for prop *) +val pairwise_or'_prop (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma ((pairwise_or' f l) `subtype_of` unit) + +(** [pairwise_or' f l] for symmetric, anti-reflexive relations [f] + interpreted as existential quantification over + pairs of list elements *) +val pairwise_or'_exists (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma (requires symmetric f /\ anti_reflexive f) + (ensures (pairwise_or' f l <==> (exists x y. L.memP x l /\ L.memP y l /\ f x y))) + +(** [pairwise_or' f l] for symmetric, anti-reflexive relations [f] + interpreted as existential quantification over + pairs of list elements *) +val pairwise_or'_exists_no_repeats (#a: Type) (f: (a -> a -> Type)) (l: list a) + : Lemma (requires symmetric f /\ L.no_repeats_p l) + (ensures (pairwise_or' f l <==> (exists x y. L.memP x l /\ L.memP y l /\ x =!= y /\ f x y))) + +(** [pairwise_or f l] is an implicitly reducing variant of [pairwise_or'] + It is defined in [prop] *) + +[@@ __reduce__] +unfold +let pairwise_or #a (f: (a -> a -> Type)) (l: list a) : prop = + pairwise_or'_prop f l; + normal (pairwise_or' f l) + diff --git a/stage0/ulib/FStar.BitVector.fst b/stage0/ulib/FStar.BitVector.fst new file mode 100644 index 00000000000..c75e87c7c1e --- /dev/null +++ b/stage0/ulib/FStar.BitVector.fst @@ -0,0 +1,118 @@ +(* + 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.BitVector + +/// This module defines a bit vector as a sequence of booleans of a +/// given length, and provides various utilities. +/// +/// NOTE: THE TYPE [bv_t] DEFINED IS UNRELATED TO THE SMT SOLVER'S +/// THEORY OF BIT VECTORS. SEE [FStar.BV] FOR THAT. +/// +/// TODO: We might rename this module to FStar.Seq.Boolean? + +open FStar.Mul +open FStar.Seq + +(** [logand] defined in terms of its indexing behavior *) +let rec logand_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logand_vec #n a b) i = (index a i && index b i)) + [SMTPat (index (logand_vec #n a b) i)] = + if i = 0 then () else logand_vec_definition #(n - 1) (slice a 1 n) (slice b 1 n) (i - 1) + +(** [logxor] defined in terms of its indexing behavior *) +let rec logxor_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logxor_vec #n a b) i = (index a i <> index b i)) + [SMTPat (index (logxor_vec #n a b) i)] = + if i = 0 then () else logxor_vec_definition #(n - 1) (slice a 1 n) (slice b 1 n) (i - 1) + + +(** [logor] defined in terms of its indexing behavior *) +let rec logor_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logor_vec #n a b) i = (index a i || index b i)) + [SMTPat (index (logor_vec #n a b) i)] = + if i = 0 then () else logor_vec_definition #(n - 1) (slice a 1 n) (slice b 1 n) (i - 1) + +(** [lognot] defined in terms of its indexing behavior *) +let rec lognot_vec_definition (#n: pos) (a: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (lognot_vec #n a) i = not (index a i)) + [SMTPat (index (lognot_vec #n a) i)] = + if i = 0 then () else lognot_vec_definition #(n - 1) (slice a 1 n) (i - 1) + +(* Bitwise lemmas *) + +(** If both [x] and [y] are false at a given index [i], then so is they logical xor at [i] *) +let lemma_xor_bounded (m: pos) (n: nat) (x y: bv_t m) + : Lemma + (requires + (forall (i: nat). + (i < m /\ i >= n) ==> + (Seq.index x (m - 1 - i) = false /\ Seq.index y (m - 1 - i) = false))) + (ensures + (forall (i: nat). (i < m /\ i >= n) ==> (Seq.index (logxor_vec x y) (m - 1 - i) = false))) = + () + +(** Proves that the subset property is conserved in subslices. *) +let lemma_slice_subset_vec (#n: pos) (a b: bv_t n) (i: nat) (j: nat{i < j && j <= n}) + : Lemma (requires is_subset_vec a b) + (ensures + (match n with + | 1 -> True + | _ -> is_subset_vec #(j - i) (slice a i j) (slice b i j))) = () + +(** Proves that the superset property is conserved in subslices. *) +let lemma_slice_superset_vec (#n: pos) (a b: bv_t n) (i: nat) (j: nat{i < j && j <= n}) + : Lemma (requires is_superset_vec a b) + (ensures + (match n with + | 1 -> True + | _ -> is_superset_vec #(j - i) (slice a i j) (slice b i j))) = () + +(**** Shift operators *) + +(** The fill bits of a shift left are zero *) +let shift_left_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= n - s}) + : Lemma (ensures index (shift_left_vec #n a s) i = false) + [SMTPat (index (shift_left_vec #n a s) i)] = () + +(** Relating the indexes of the shifted vector to the original *) +let shift_left_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < n - s}) + : Lemma (ensures index (shift_left_vec #n a s) i = index a (i + s)) + [SMTPat (index (shift_left_vec #n a s) i)] = () + +(** The fill bits of a shift right are zero *) +let shift_right_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < s}) + : Lemma (ensures index (shift_right_vec #n a s) i = false) + [SMTPat (index (shift_right_vec #n a s) i)] = () + +(** Relating the indexes of the shifted vector to the original *) +let shift_right_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= s}) + : Lemma (ensures index (shift_right_vec #n a s) i = index a (i - s)) + [SMTPat (index (shift_right_vec #n a s) i)] = () + +(** Arithmetic shift right of [a], interpreting position [0] as the + most-significant bit, and using its value to fill *) +(** The fill bits of arithmetic shift right is the value of its + most-significant bit (position zero) *) +let shift_arithmetic_right_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < s}) + : Lemma (ensures index (shift_arithmetic_right_vec #n a s) i = index a 0) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] = () + +(** Relating the indexes of the shifted vector to the original *) +let shift_arithmetic_right_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= s}) + : Lemma (ensures index (shift_arithmetic_right_vec #n a s) i = index a (i - s)) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] = () + diff --git a/stage0/ulib/FStar.BitVector.fsti b/stage0/ulib/FStar.BitVector.fsti new file mode 100644 index 00000000000..909161e5398 --- /dev/null +++ b/stage0/ulib/FStar.BitVector.fsti @@ -0,0 +1,176 @@ +(* + 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.BitVector + +/// This module defines a bit vector as a sequence of booleans of a +/// given length, and provides various utilities. +/// +/// NOTE: THE TYPE [bv_t] DEFINED IS UNRELATED TO THE SMT SOLVER'S +/// THEORY OF BIT VECTORS. SEE [FStar.BV] FOR THAT. +/// +/// TODO: We might rename this module to FStar.Seq.Boolean? + +open FStar.Mul +open FStar.Seq.Base + +(** [bv_t n] is just a sequence of booleans of length [n] *) +[@@do_not_unrefine] +type bv_t (n: nat) = vec: seq bool {length vec = n} + +(**** Common constants *) + +(** A length [n] zero vector *) +let zero_vec (#n: pos) : Tot (bv_t n) = create n false + +(** A vector of length [n] whose [i]th bit is set, only *) +let elem_vec (#n: pos) (i: nat{i < n}) : Tot (bv_t n) = upd (create n false) i true + +(** A length [n] vector all of whose bits are set *) +let ones_vec (#n: pos) : Tot (bv_t n) = create n true + +(** Bitwise logical and *) +let rec logand_vec (#n: pos) (a b: bv_t n) : Tot (bv_t n) = + if n = 1 + then create 1 (index a 0 && index b 0) + else append (create 1 (index a 0 && index b 0)) (logand_vec #(n - 1) (slice a 1 n) (slice b 1 n)) + +(** [logand] defined in terms of its indexing behavior *) +val logand_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logand_vec #n a b) i = (index a i && index b i)) + [SMTPat (index (logand_vec #n a b) i)] + +(** Bitwise logical exclusive or *) +let rec logxor_vec (#n: pos) (a b: bv_t n) : Tot (bv_t n) = + if n = 1 + then create 1 (index a 0 <> index b 0) + else append (create 1 (index a 0 <> index b 0)) (logxor_vec #(n - 1) (slice a 1 n) (slice b 1 n)) + +(** [logxor] defined in terms of its indexing behavior *) +val logxor_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logxor_vec #n a b) i = (index a i <> index b i)) + [SMTPat (index (logxor_vec #n a b) i)] + +(** Bitwise logical or *) +let rec logor_vec (#n: pos) (a b: bv_t n) : Tot (bv_t n) = + if n = 1 + then create 1 (index a 0 || index b 0) + else append (create 1 (index a 0 || index b 0)) (logor_vec #(n - 1) (slice a 1 n) (slice b 1 n)) + +(** [logor] defined in terms of its indexing behavior *) +val logor_vec_definition (#n: pos) (a b: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (logor_vec #n a b) i = (index a i || index b i)) + [SMTPat (index (logor_vec #n a b) i)] + +(** Bitwise negation *) +let rec lognot_vec (#n: pos) (a: bv_t n) : Tot (bv_t n) = + if n = 1 + then create 1 (not (index a 0)) + else append (create 1 (not (index a 0))) (lognot_vec #(n - 1) (slice a 1 n)) + +(** [lognot] defined in terms of its indexing behavior *) +val lognot_vec_definition (#n: pos) (a: bv_t n) (i: nat{i < n}) + : Lemma (ensures index (lognot_vec #n a) i = not (index a i)) + [SMTPat (index (lognot_vec #n a) i)] + +(* Bitwise lemmas *) + +(** If both [x] and [y] are false at a given index [i], then so is they logical xor at [i] *) +val lemma_xor_bounded (m: pos) (n: nat) (x y: bv_t m) + : Lemma + (requires + (forall (i: nat). + (i < m /\ i >= n) ==> + (index x (m - 1 - i) = false /\ index y (m - 1 - i) = false))) + (ensures + (forall (i: nat). (i < m /\ i >= n) ==> (index (logxor_vec x y) (m - 1 - i) = false))) + +(** The property that the zero bits of b are also zero in a. + I.e. that a is a subset of b. *) +let is_subset_vec (#n: pos) (a b: bv_t n) = + forall (i: nat). i < n ==> index b i = false ==> index a i = false + +(** The property that the non-zero bits of b are also non-zero in a. + I.e. that a is a superset of b. *) +let is_superset_vec (#n: pos) (a b: bv_t n) = + forall (i: nat). i < n ==> index b i = true ==> index a i = true + +(** Proves that the subset property is conserved in subslices. *) +val lemma_slice_subset_vec (#n: pos) (a b: bv_t n) (i: nat) (j: nat{i < j && j <= n}) + : Lemma (requires is_subset_vec a b) + (ensures + (match n with + | 1 -> True + | _ -> is_subset_vec #(j - i) (slice a i j) (slice b i j))) + +(** Proves that the superset property is conserved in subslices. *) +val lemma_slice_superset_vec (#n: pos) (a b: bv_t n) (i: nat) (j: nat{i < j && j <= n}) + : Lemma (requires is_superset_vec a b) + (ensures + (match n with + | 1 -> True + | _ -> is_superset_vec #(j - i) (slice a i j) (slice b i j))) + +(**** Shift operators *) + +(* Note: the shift amount is extracted as a bitvector + NS: Not sure what this remark means. *) + +(** Shift [a] left by [s] bits, filling with zeroes *) +let shift_left_vec (#n: pos) (a: bv_t n) (s: nat) : Tot (bv_t n) = + if s >= n then zero_vec #n else if s = 0 then a else append (slice a s n) (zero_vec #s) + +(** The fill bits of a shift left are zero *) +val shift_left_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= n - s}) + : Lemma (ensures index (shift_left_vec #n a s) i = false) + [SMTPat (index (shift_left_vec #n a s) i)] + +(** Relating the indexes of the shifted vector to the original *) +val shift_left_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < n - s}) + : Lemma (ensures index (shift_left_vec #n a s) i = index a (i + s)) + [SMTPat (index (shift_left_vec #n a s) i)] + +(** Shift [a] right by [s] bits, filling with zeroes *) +let shift_right_vec (#n: pos) (a: bv_t n) (s: nat) : Tot (bv_t n) = + if s >= n then zero_vec #n else if s = 0 then a else append (zero_vec #s) (slice a 0 (n - s)) + +(** The fill bits of a shift right are zero *) +val shift_right_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < s}) + : Lemma (ensures index (shift_right_vec #n a s) i = false) + [SMTPat (index (shift_right_vec #n a s) i)] + +(** Relating the indexes of the shifted vector to the original *) +val shift_right_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= s}) + : Lemma (ensures index (shift_right_vec #n a s) i = index a (i - s)) + [SMTPat (index (shift_right_vec #n a s) i)] + +(** Arithmetic shift right of [a], interpreting position [0] as the + most-significant bit, and using its value to fill *) +let shift_arithmetic_right_vec (#n: pos) (a: bv_t n) (s: nat) : Tot (bv_t n) = + if index a 0 + then if s >= n then ones_vec #n else if s = 0 then a else append (ones_vec #s) (slice a 0 (n - s)) + else shift_right_vec a s + +(** The fill bits of arithmetic shift right is the value of its + most-significant bit (position zero) *) +val shift_arithmetic_right_vec_lemma_1 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i < s}) + : Lemma (ensures index (shift_arithmetic_right_vec #n a s) i = index a 0) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] + +(** Relating the indexes of the shifted vector to the original *) +val shift_arithmetic_right_vec_lemma_2 (#n: pos) (a: bv_t n) (s: nat) (i: nat{i < n && i >= s}) + : Lemma (ensures index (shift_arithmetic_right_vec #n a s) i = index a (i - s)) + [SMTPat (index (shift_arithmetic_right_vec #n a s) i)] diff --git a/stage0/ulib/FStar.Bytes.fsti b/stage0/ulib/FStar.Bytes.fsti new file mode 100644 index 00000000000..5092aa1e02e --- /dev/null +++ b/stage0/ulib/FStar.Bytes.fsti @@ -0,0 +1,316 @@ +(* + Copyright 2008-2017 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. +*) +(* +A standard library for manipulation of value bytes. + +This model is realized by Bytes.bytes in OCaml and by +struct {uintX_t size; char *bytes} (or similar) in C. + +This file is essentially a specialized version of FStar.Seq, +with lemmas and refinements taylored for typical operations on +bytes, and with support for machine integers and C-extractible versions +(which Seq does not provide.) + +@summary Value bytes standard library +*) +module FStar.Bytes + +module S = FStar.Seq +module U = FStar.UInt +module U8 = FStar.UInt8 +module U16 = FStar.UInt16 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 +module Str = FStar.String +module Chr = FStar.Char + +unfold let u8 = U8.t +unfold let u16 = U16.t +unfold let u32 = U32.t + +(** Realized by uint8_t in C and int in OCaml (char does not have necessary operators...) *) +unfold type byte = u8 + +(** Realized in C by a pair of a length field and uint8_t* in C + Realized in OCaml by a string *) +val bytes : t:Type0{hasEq t} +val len : bytes -> u32 + +unfold let length b = FStar.UInt32.v (len b) + +(** representation for specs that need lemmas not defined here. *) +val reveal: + bytes + -> GTot (S.seq byte) + +val length_reveal: + x:bytes + -> Lemma (ensures (S.length (reveal x) = length x)) + [SMTPatOr [[SMTPat (S.length (reveal x))]; + [SMTPat (len x)]]] + +val hide: + s:S.seq byte{S.length s < pow2 32} + -> GTot bytes + +val hide_reveal: + x:bytes + -> Lemma (ensures (hide (reveal x) = x)) + [SMTPat (reveal x)] + +val reveal_hide: + x:S.seq byte{S.length x < pow2 32} + -> Lemma (ensures (reveal (hide x) == x)) + [SMTPat (hide x)] + +type lbytes (l:nat) = b:bytes{length b = l} +type kbytes (k:nat) = b:bytes{length b < pow2 k} + +let lbytes32 (l:UInt32.t) = b:bytes{len b = l} + +val empty_bytes : lbytes 0 +val empty_unique: + b:bytes + -> Lemma (length b = 0 ==> b = empty_bytes) + [SMTPat (len b)] + +(** If you statically know the length, it is OK to read at arbitrary indexes *) +val get: + b:bytes + -> pos:u32{U32.v pos < length b} + -> Pure byte + (requires True) + (ensures (fun y -> y == S.index (reveal b) (U32.v pos))) + +unfold let op_String_Access = get + +unfold let index (b:bytes) (i:nat{i < length b}) = get b (U32.uint_to_t i) + +let equal b1 b2 = + length b1 = length b2 /\ + (forall (i:u32{U32.v i < length b1}).{:pattern (b1.[i]); (b2.[i])} b1.[i] == b2.[i]) + +val extensionality: + b1:bytes + -> b2:bytes + -> Lemma (requires (equal b1 b2)) + (ensures (b1 = b2)) + +(** creating byte values **) +val create: + len:u32 + -> v:byte + -> b:lbytes (U32.v len){forall (i:u32{U32.(i <^ len)}).{:pattern b.[i]} b.[i] == v} + +unfold +let create_ (n:nat{FStar.UInt.size n U32.n}) v = create (U32.uint_to_t n) v + +val init: + len:u32 + -> f:(i:u32{U32.(i <^ len)} -> byte) + -> b:lbytes (U32.v len){forall (i:u32{U32.(i <^ len)}).{:pattern b.[i]} b.[i] == f i} + +// this is a hack JROESCH +val abyte (b:byte) : lbytes 1 + (* admit () create 1ul b *) + +val twobytes (b:byte&byte) : lbytes 2 + // init 2ul (fun i -> if i = 0ul then fst b else snd b) + +(** appending bytes **) +val append: + b1:bytes + -> b2:bytes + -> Pure bytes + (requires (UInt.size (length b1 + length b2) U32.n)) + (ensures (fun b -> reveal b == S.append (reveal b1) (reveal b2))) +unfold let op_At_Bar = append + +val slice: + b:bytes + -> s:u32 + -> e:u32{U32.(s <=^ e) /\ U32.v e <= length b} + -> r:bytes{reveal r == Seq.slice (reveal b) (U32.v s) (U32.v e)} +let slice_ b (s:nat) (e:nat{s <= e /\ e <= length b}) = slice b (U32.uint_to_t s) (U32.uint_to_t e) + +val sub: + b:bytes + -> s:u32 + -> l:u32{U32.v s + U32.v l <= length b} + -> r:bytes{reveal r == Seq.slice (reveal b) (U32.v s) (U32.v s + U32.v l)} + +val split: + b:bytes + -> k:u32{U32.v k <= length b} + -> p:(bytes&bytes){ + let x, y = p in + (reveal x, reveal y) == Seq.split (reveal b) (U32.v k)} + +unfold let split_ b (k:nat{FStar.UInt.size k U32.n /\ k < length b}) = split b (U32.uint_to_t k) + +(** Interpret a sequence of bytes as a mathematical integer encoded in big endian **) +let fits_in_k_bytes (n:nat) (k:nat) = FStar.UInt.size n (op_Multiply 8 k) +type uint_k (k:nat) = n:nat{fits_in_k_bytes n k} + +(** repr_bytes n: The number of bytes needed to represent a nat **) +val repr_bytes: + n:nat + -> k:pos{fits_in_k_bytes n k} + +val lemma_repr_bytes_values: + n:nat + -> Lemma (ensures ( let k = repr_bytes n in + if n < 256 then k==1 + else if n < 65536 then k==2 + else if n < 16777216 then k==3 + else if n < 4294967296 then k==4 + else if n < 1099511627776 then k==5 + else if n < 281474976710656 then k==6 + else if n < 72057594037927936 then k==7 + else if n < 18446744073709551616 then k==8 + else True )) + [SMTPat (repr_bytes n)] + +val repr_bytes_size: + k:nat + -> n:uint_k k + -> Lemma (ensures (repr_bytes n <= k)) + [SMTPat (fits_in_k_bytes n k)] + +val int_of_bytes: + b:bytes + -> Tot (uint_k (length b)) + +val bytes_of_int: + k:nat + -> n:nat{repr_bytes n <= k /\ k < pow2 32} + -> lbytes k + +val int_of_bytes_of_int: + #k:nat{k <= 32} + -> n:uint_k k + -> Lemma (ensures (int_of_bytes (bytes_of_int k n) == n)) + [SMTPat (bytes_of_int k n)] + +val bytes_of_int_of_bytes: + b:bytes{length b <= 32} + -> Lemma (ensures (bytes_of_int (length b) (int_of_bytes b) == b)) + [SMTPat (int_of_bytes b)] + +//18-02-25 use [uint32] instead of [int32] etc? +val int32_of_bytes: + b:bytes{length b <= 4} + -> n:u32{U32.v n == int_of_bytes b} + +val int16_of_bytes: + b:bytes{length b <= 2} + -> n:u16{U16.v n == int_of_bytes b} + +val int8_of_bytes: + b:bytes{length b = 1} + -> n:u8{U8.v n = int_of_bytes b} + +val bytes_of_int32: + n:U32.t + -> b:lbytes 4{b == bytes_of_int 4 (U32.v n)} + +val bytes_of_int16: + n:U16.t + -> b:lbytes 2{b == bytes_of_int 2 (U16.v n)} + +val bytes_of_int8: + n:U8.t + -> b:lbytes 1{b == bytes_of_int 1 (U8.v n)} + +//////////////////////////////////////////////////////////////////////////////// +type minbytes (n:nat) = b:bytes{length b >= n} + +val xor: + n:u32 + -> b1:minbytes (U32.v n) + -> b2:minbytes (U32.v n) + -> b:bytes{len b = n} + +unfold let xor_ (#n:nat{FStar.UInt.size n U32.n}) (b1:minbytes n) (b2:minbytes n) = xor (U32.uint_to_t n) b1 b2 + +val xor_commutative: + n:u32 + -> b1:minbytes (U32.v n) + -> b2:minbytes (U32.v n) + -> Lemma (ensures (xor n b1 b2 == xor n b2 b1)) + [SMTPat (xor n b1 b2)] + +val xor_append: + b1:bytes + -> b2:bytes{FStar.UInt.size (length b1 + length b2) U32.n} + -> x1:bytes{len x1 = len b1} + -> x2:bytes{len x2 = len b2} + -> Lemma (ensures (xor U32.(len b1 +^ len b2) + (b1 @| b2) + (x1 @| x2) + == + xor (len b1) b1 x1 @| xor (len b2) b2 x2)) + +val xor_idempotent: + n:u32 + -> b1:lbytes (U32.v n) + -> b2:lbytes (U32.v n) + -> Lemma (ensures (xor n (xor n b1 b2) b2 == b1)) + +val utf8_encode: + s:string{Str.maxlen s (pow2 30)} + -> b:bytes{length b <= op_Multiply 4 (Str.length s)} + +val iutf8_opt: + m:bytes + -> (option (s:string{Str.maxlen s (pow2 30) /\ utf8_encode s == m})) + +val string_of_hex: string -> Tot string + +// missing post on the length of the results (exact on constant arguments) +val bytes_of_hex: string -> Tot bytes +val hex_of_string: string -> Tot string +val hex_of_bytes: bytes -> Tot string +val print_bytes: bytes -> Tot string +val bytes_of_string: string -> bytes //abytes + +(** A better implementation of BufferBytes, formerly found in miTLS *) + +module B = LowStar.Buffer +module M = LowStar.Modifies + +open FStar.HyperStack.ST + +type lbuffer (l:UInt32.t) = b:B.buffer UInt8.t {B.length b == U32.v l} + +val of_buffer (l:UInt32.t) (#p #q:_) (buf:B.mbuffer UInt8.t p q{B.length buf == U32.v l}) + : Stack (b:bytes{length b = UInt32.v l}) + (requires fun h0 -> + B.live h0 buf) + (ensures fun h0 b h1 -> + B.(modifies loc_none h0 h1) /\ + b = hide (B.as_seq h0 buf)) + +val store_bytes: src:bytes { length src <> 0 } -> + dst:lbuffer (len src) -> + Stack unit + (requires (fun h0 -> B.live h0 dst)) + (ensures (fun h0 r h1 -> + M.(modifies (loc_buffer dst) h0 h1) /\ + Seq.equal (reveal src) (B.as_seq h1 dst))) + +(* JP: let's not add from_bytes here because we want to leave it up to the +caller to allocate on the stack or on the heap *) diff --git a/stage0/ulib/FStar.Calc.fst b/stage0/ulib/FStar.Calc.fst new file mode 100644 index 00000000000..b61c27b27f1 --- /dev/null +++ b/stage0/ulib/FStar.Calc.fst @@ -0,0 +1,63 @@ +(* + Copyright 2020 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. + + Authors: Guido Martinez, Aseem Rastogi, Nikhil Swamy +*) + +module FStar.Calc + +open FStar.Squash +open FStar.Preorder + +noeq +type calc_chain #a : list (relation a) -> a -> a -> Type = + | CalcRefl : #x:a -> calc_chain [] x x + | CalcStep : + rs:(list (relation a)) -> #p:(relation a) -> + #x:a -> #y:a -> #z:a -> calc_chain rs x y -> squash (p y z) -> calc_chain (p::rs) x z + +let rec elim_calc_chain #a (rs:list (relation a)) (#x #y:a) (pf:calc_chain rs x y) + : Lemma (ensures (calc_chain_related rs x y)) + = let steps = [delta_only [`%calc_chain_related]; iota; zeta] in + let t = norm steps (calc_chain_related rs x y) in + norm_spec steps (calc_chain_related rs x y); + match pf with + | CalcRefl -> () + | CalcStep tl pf _ -> elim_calc_chain tl pf + +let _calc_init (#a:Type) (x:a) : calc_chain [] x x = CalcRefl + +let calc_init #a x = return_squash (_calc_init x) + +let _calc_step (#t:Type) (#rs:list (relation t)) (#x #y:t) + (p:relation t) + (z:t) + (pf:calc_chain rs x y) + (j:squash (p y z)) + : GTot (calc_chain (p::rs) x z) + = CalcStep rs pf j + +let calc_step #a #x #y p z #rs pf j = + bind_squash (pf ()) (fun pk -> return_squash (_calc_step p z pk (j ()))) + +let calc_finish #a p #x #y #rs pf = + let steps = [delta_only [`%calc_chain_related]; iota; zeta] in + let t = norm steps (calc_chain_related rs x y) in + norm_spec steps (calc_chain_related rs x y); + let _ : squash (p x y) = bind_squash (pf ()) (fun pk -> elim_calc_chain rs pk) in + () + +let calc_push_impl #p #q f = + Classical.arrow_to_impl f diff --git a/stage0/ulib/FStar.Calc.fsti b/stage0/ulib/FStar.Calc.fsti new file mode 100644 index 00000000000..af34be0e4cb --- /dev/null +++ b/stage0/ulib/FStar.Calc.fsti @@ -0,0 +1,92 @@ +(* + Copyright 2020 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. + + Authors: Guido Martinez, Aseem Rastogi, Nikhil Swamy +*) + +module FStar.Calc + +open FStar.Preorder + +/// This module provides calculational proofs support +/// +/// Client programs need not use it directly, +/// instead F* provides convenient syntax for writing calculational proofs +/// +/// See examples/calc for some examples + +/// The main type for the calc proof chain + +val calc_chain (#a:Type u#a) (rs:list (relation a)) (x y:a) : Type u#(max 1 a) + +/// Definition of when a calc chain is sound + +[@@"opaque_to_smt"] +let rec calc_chain_related (#a:Type) (rs:list (relation a)) (x y:a) + : Tot Type0 + = match rs with + | [] -> x == y + (* GM: The `:t` annotation below matters a lot for compactness of the formula! *) + | r1::rs -> exists (w:a). calc_chain_related rs x w /\ r1 w y + +[@@"opaque_to_smt"] +let calc_chain_compatible (#t:Type) (rs:list (relation t)) (p:relation t) + : Tot Type0 + = forall (x y:t). calc_chain_related rs x y ==> p x y + +/// A proof irrelevant type for the calc chains + +type calc_pack (#a:Type) (rs:list (relation a)) (x y:a) = + squash (calc_chain rs x y) + +/// Initializing a calc chain + +val calc_init (#a:Type) (x:a) : Tot (calc_pack [] x x) + +/// A single step of the calc chain +/// +/// Note the list of relations is reversed +/// calc_chain_compatible accounts for it + +val calc_step + (#a:Type) + (#x #y:a) + (p:relation a) (* Relation for this step *) + (z:a) (* Next expression *) + (#rs:list (relation a)) + (pf:unit -> Tot (calc_pack rs x y)) (* Rest of the proof *) + (j:unit -> Tot (squash (p y z))) (* Justification *) + : Tot (calc_pack (p::rs) x z) + +/// Finishing a calc proof, +/// providing the top-level relation as the postcondition + +val calc_finish + (#a:Type) + (p:relation a) + (#x #y:a) + (#rs:list (relation a)) + (pf:unit -> Tot (calc_pack rs x y)) + : Lemma + (requires (norm [delta_only [`%calc_chain_compatible; `%calc_chain_related]; + iota; + zeta] + (Range.labeled (range_of pf) + "Could not prove that this calc-chain is compatible" + (calc_chain_compatible rs p)))) + (ensures (p x y)) + +val calc_push_impl (#p #q:Type) (f:squash p -> GTot (squash q)) + : Tot (squash (p ==> q)) diff --git a/stage0/ulib/FStar.Cardinality.Cantor.fst b/stage0/ulib/FStar.Cardinality.Cantor.fst new file mode 100644 index 00000000000..349cd6ee246 --- /dev/null +++ b/stage0/ulib/FStar.Cardinality.Cantor.fst @@ -0,0 +1,24 @@ +module FStar.Cardinality.Cantor + +open FStar.Functions + +let no_surj_powerset (a : Type) (f : a -> powerset a) : Lemma (~(is_surj f)) = + let aux () : Lemma (requires is_surj f) (ensures False) = + (* Cantor's proof: given a supposed surjective f, + we define a set s that cannot be in the image of f. Namely, + the set of x:a such that x is not in f(x). *) + let s : powerset a = fun x -> not (f x x) in + let aux (x : a) : Lemma (requires f x == s) (ensures False) = + // We have f x == s, which means that f x x == not (f x x), contradiction + assert (f x x) // this triggers the SMT appropriately + in + Classical.forall_intro (Classical.move_requires aux) + in + Classical.move_requires aux () + +let no_inj_powerset (a : Type) (f : powerset a -> a) : Lemma (~(is_inj f)) = + let aux () : Lemma (requires is_inj f) (ensures False) = + let g : a -> GTot (powerset a) = inverse_of_inj f (fun _ -> false) in + no_surj_powerset a g + in + Classical.move_requires aux () diff --git a/stage0/ulib/FStar.Cardinality.Cantor.fsti b/stage0/ulib/FStar.Cardinality.Cantor.fsti new file mode 100644 index 00000000000..af749e8bedc --- /dev/null +++ b/stage0/ulib/FStar.Cardinality.Cantor.fsti @@ -0,0 +1,13 @@ +module FStar.Cardinality.Cantor + +(* Cantor's theorem: there is no surjection from a set to its +powerset, and therefore also no injection from the powerset to the +set. *) + +open FStar.Functions + +val no_surj_powerset (a : Type) (f : a -> powerset a) + : Lemma (~(is_surj f)) + +val no_inj_powerset (a : Type) (f : powerset a -> a) + : Lemma (~(is_inj f)) diff --git a/stage0/ulib/FStar.Cardinality.Universes.fst b/stage0/ulib/FStar.Cardinality.Universes.fst new file mode 100644 index 00000000000..5eb0e8bafa1 --- /dev/null +++ b/stage0/ulib/FStar.Cardinality.Universes.fst @@ -0,0 +1,42 @@ +module FStar.Cardinality.Universes + +open FStar.Functions +open FStar.Cardinality.Cantor + +(* This type is an injection of all powersets of Type u (i.e. Type u -> bool +functions) into Type (u+1) *) +noeq +type type_powerset : (Type u#a -> GTot bool) -> Type u#(max (a+1) b) = + | Mk : f:(Type u#a -> GTot bool) -> type_powerset f + +let aux_inj_type_powerset (f1 f2 : powerset (Type u#a)) + : Lemma (requires type_powerset u#a u#b f1 == type_powerset u#a u#b f2) + (ensures f1 == f2) += + assert (type_powerset f1 == type_powerset f2); + let xx1 : type_powerset f1 = Mk f1 in + let xx2 : type_powerset f2 = coerce_eq () xx1 in + assert (xx1 === xx2); + assert (f1 == f2) + +let inj_type_powerset () : Lemma (is_inj type_powerset) = + Classical.forall_intro_2 (fun f1 -> Classical.move_requires (aux_inj_type_powerset f1)) + +(* let u' > u be universes. (u' = max(a+1, b), u=a below) + The general structure of this proof is: + 1- We know there is an injection of powerset(Type(u)) into Type(u') (see type_powerset above) + 2- We know there is NO injection from powerset(Type(u)) into Type(u) (see no_inj_powerset) + 3- Therefore, there cannot be an injection from Type(u') into Type(u), otherwise we would + compose it with the first injection and obtain the second impossible injection. +*) +let no_inj_universes (f : Type u#(max (a+1) b) -> Type u#a) : Lemma (~(is_inj f)) = + let aux () : Lemma (requires is_inj f) (ensures False) = + let comp : powerset (Type u#a) -> Type u#a = fun x -> f (type_powerset x) in + inj_type_powerset (); + inj_comp type_powerset f; + no_inj_powerset _ comp + in + Classical.move_requires aux () + +let no_inj_universes_suc (f : Type u#(a+1) -> Type u#a) : Lemma (~(is_inj f)) = + no_inj_universes f diff --git a/stage0/ulib/FStar.Cardinality.Universes.fsti b/stage0/ulib/FStar.Cardinality.Universes.fsti new file mode 100644 index 00000000000..4a4baaa14a0 --- /dev/null +++ b/stage0/ulib/FStar.Cardinality.Universes.fsti @@ -0,0 +1,14 @@ +module FStar.Cardinality.Universes + +open FStar.Functions +open FStar.Cardinality.Cantor + +(* Prove that there can be no injection from a universe into a strictly smaller +universe. We use `max (a+1) b` to represent an arbitrary universe strictly larger +than `a` as we cannot write sums of universe levels. *) +val no_inj_universes (f : Type u#(max (a+1) b) -> Type u#a) + : Lemma (~(is_inj f)) + +(* A simpler version for the +1 case. *) +val no_inj_universes_suc (f : Type u#(a+1) -> Type u#a) + : Lemma (~(is_inj f)) diff --git a/stage0/ulib/FStar.Char.fsti b/stage0/ulib/FStar.Char.fsti new file mode 100644 index 00000000000..8e87b73ad3d --- /dev/null +++ b/stage0/ulib/FStar.Char.fsti @@ -0,0 +1,75 @@ +(* + 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.Char + +/// This module provides the [char] type, an abstract type +/// representing UTF-8 characters. +/// +/// UTF-8 characters are representing in a variable-length encoding of +/// between 1 and 4 bytes, with a maximum of 21 bits used to represent +/// a code. +/// +/// See https://en.wikipedia.org/wiki/UTF-8 and +/// https://erratique.ch/software/uucp/doc/unicode.html + +module U32 = FStar.UInt32 + +(** [char] is a new primitive type with decidable equality *) +new +val char:eqtype + +(** A [char_code] is the representation of a UTF-8 char code in + an unsigned 32-bit integer whose value is at most 0x110000, + and not between 0xd800 and 0xe000 *) +type char_code = n: U32.t{U32.v n < 0xd7ff \/ (U32.v n >= 0xe000 /\ U32.v n <= 0x10ffff)} + +(** A primitive to extract the [char_code] of a [char] *) +val u32_of_char: char -> Tot char_code + +(** A primitive to promote a [char_code] to a [char] *) +val char_of_u32: char_code -> Tot char + +(** Encoding and decoding from [char] to [char_code] is the identity *) +val char_of_u32_of_char (c: char) + : Lemma (ensures (char_of_u32 (u32_of_char c) == c)) [SMTPat (u32_of_char c)] + +(** Encoding and decoding from [char] to [char_code] is the identity *) +val u32_of_char_of_u32 (c: char_code) + : Lemma (ensures (u32_of_char (char_of_u32 c) == c)) [SMTPat (char_of_u32 c)] + +(** A couple of utilities to use mathematical integers rather than [U32.t] + to represent a [char_code] *) +let int_of_char (c: char) : nat = U32.v (u32_of_char c) +let char_of_int (i: nat{i < 0xd7ff \/ (i >= 0xe000 /\ i <= 0x10ffff)}) : char = char_of_u32 (U32.uint_to_t i) + +(** Case conversion *) +val lowercase: char -> Tot char +val uppercase: char -> Tot char + +#set-options "--admit_smt_queries true" + +(** This private primitive is used internally by the compiler to + translate character literals with a desugaring-time check of the + size of the number, rather than an expensive verification check. + Since it is marked private, client programs cannot call it + directly Since it is marked unfold, it eagerly reduces, + eliminating the verification overhead of the wrapper *) + +private unfold +let __char_of_int (x: int) : char = char_of_int x +#reset-options + diff --git a/stage0/ulib/FStar.Class.Add.fst b/stage0/ulib/FStar.Class.Add.fst new file mode 100644 index 00000000000..e98b4c94fbb --- /dev/null +++ b/stage0/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/stage0/ulib/FStar.Class.Embeddable.fst b/stage0/ulib/FStar.Class.Embeddable.fst new file mode 100644 index 00000000000..7731fe42f49 --- /dev/null +++ b/stage0/ulib/FStar.Class.Embeddable.fst @@ -0,0 +1,28 @@ +module FStar.Class.Embeddable + +open FStar.Reflection.V2 + +instance embeddable_string : embeddable string = { + embed = (fun s -> pack_ln (Tv_Const (C_String s))); + typ = (`string); +} + +instance embeddable_bool : embeddable bool = { + embed = (fun b -> pack_ln (Tv_Const (if b then C_True else C_False))); + typ = (`bool); +} + +instance embeddable_int : embeddable int = { + embed = (fun i -> pack_ln (Tv_Const (C_Int i))); + typ = (`int); +} + +let rec e_list #a {| ea : embeddable a |} (xs : list a) : term = + match xs with + | [] -> `(Nil #(`# ea.typ)) + | x::xs -> `(Cons #(`#(ea.typ)) (`#(embed x)) (`#(e_list xs))) + +instance embeddable_list (a:Type) (ea : embeddable a) : embeddable (list a) = { + embed = e_list; + typ = (`list (`#ea.typ)); +} diff --git a/stage0/ulib/FStar.Class.Embeddable.fsti b/stage0/ulib/FStar.Class.Embeddable.fsti new file mode 100644 index 00000000000..84da9e806b3 --- /dev/null +++ b/stage0/ulib/FStar.Class.Embeddable.fsti @@ -0,0 +1,14 @@ +module FStar.Class.Embeddable + +open FStar.Reflection.V2 + +class embeddable (a:Type) = { + embed : a -> Tot term; + typ : term; +} + +instance val embeddable_string : embeddable string +instance val embeddable_bool : embeddable bool +instance val embeddable_int : embeddable int + +instance val embeddable_list (a:Type) (ea : embeddable a) : embeddable (list a) diff --git a/stage0/ulib/FStar.Class.Eq.Raw.fst b/stage0/ulib/FStar.Class.Eq.Raw.fst new file mode 100644 index 00000000000..b032eda328d --- /dev/null +++ b/stage0/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/stage0/ulib/FStar.Class.Eq.fst b/stage0/ulib/FStar.Class.Eq.fst new file mode 100644 index 00000000000..e1a3dcbb159 --- /dev/null +++ b/stage0/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/stage0/ulib/FStar.Class.Printable.fst b/stage0/ulib/FStar.Class.Printable.fst new file mode 100644 index 00000000000..8f781012915 --- /dev/null +++ b/stage0/ulib/FStar.Class.Printable.fst @@ -0,0 +1,266 @@ +(* + Copyright 2020 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. + + Authors: Brian G. Milnes +*) + +module FStar.Class.Printable + +open FStar.String +open FStar.Seq.Properties + +class printable (a:Type) = +{ + to_string : a -> string +} + +(* First the prim types. *) + +instance printable_unit : printable unit = +{ + to_string = (fun _ -> "()") +} + +instance printable_bool : printable bool = +{ + to_string = Prims.string_of_bool +} + +instance printable_nat : printable nat = +{ + to_string = Prims.string_of_int +} + +instance printable_int : printable int = +{ + to_string = Prims.string_of_int +} + +(* An instance for refinements, they can be printed as long +as the base type is printable. This allows to print [nat], +for instance. *) +instance printable_ref #a #p (d : printable a) : printable (x:a{p x}) = +{ + to_string = d.to_string +} + +instance printable_list (#a:Type) (x:printable a) : printable (list a) = +{ + to_string = (fun l -> "[" ^ FStar.String.concat "; " (List.Tot.map to_string l) ^ "]") +} + +instance printable_string : printable string = +{ + to_string = fun x -> "\"" ^ x ^ "\"" +} + +instance printable_option #a {| printable a |} : printable (option a) = +{ + to_string = (function None -> "None" | Some x -> "(Some " ^ to_string x ^ ")") +} + +instance printable_either #a #b {| printable a |} {| printable b |} : printable (either a b) = +{ + to_string = + (function Inl x -> "(Inl " ^ to_string x ^ ")" | + Inr x -> "(Inr " ^ to_string x ^ ")") +} + +(* Then the base types. *) + +instance printable_char : printable FStar.Char.char = +{ + to_string = string_of_char +} + +(* Floats are not yet well implemented, so these are placeholders.*) +(* +instance printable_float : printable FStar.Float.float = +{ + to_string = FStar.Float.to_string +} + +instance printable_double : printable FStar.Float.double = +{ + to_string = FStar.Float.to_string +} +*) + +instance printable_byte : printable FStar.UInt8.byte = +{ + to_string = FStar.UInt8.to_string +} + +instance printable_int8 : printable FStar.Int8.t = +{ + to_string = FStar.Int8.to_string +} + +instance printable_uint8 : printable FStar.UInt8.t = +{ + to_string = FStar.UInt8.to_string +} + +instance printable_int16 : printable FStar.Int16.t = +{ + to_string = FStar.Int16.to_string +} + +instance printable_uint16 : printable FStar.UInt16.t = +{ + to_string = FStar.UInt16.to_string +} + +instance printable_int32 : printable FStar.Int32.t = +{ + to_string = FStar.Int32.to_string +} + +instance printable_uint32 : printable FStar.UInt32.t = +{ + to_string = FStar.UInt32.to_string +} + +instance printable_int64 : printable FStar.Int64.t = +{ + to_string = FStar.Int64.to_string +} + +instance printable_uint64 : printable FStar.UInt64.t = +{ + to_string = FStar.UInt64.to_string +} + +(* Placeholders in case someone build a 128 bit integer printer. +instance printable_int128 : printable FStar.Int128.t = +{ + to_string = FStar.Int128.to_string +} + +instance printable_uint128 : printable FStar.UInt128.t = +{ + to_string = FStar.UInt128.to_string +} +*) + +(* Up to 7 sized tuples, anything more and why are you using tuples? *) +instance printable_tuple2 #a #b {| printable a |} {| printable b |} : printable (a & b) = +{ + to_string = (fun (x, y) -> "(" ^ to_string x ^ ", " ^ to_string y ^ ")") +} + +instance printable_tuple3 + #t0 #t1 #t2 + {| printable t0 |} {| printable t1 |} {| printable t2 |} +: printable (tuple3 t0 t1 t2) = +{ + to_string = + (fun (v0,v1,v2) -> + "(" ^ + to_string v0 ^ ", " ^ + to_string v1 ^ ", " ^ + to_string v2 ^ ")" ) +} + +instance printable_tuple4 + #t0 #t1 #t2 #t3 + {| printable t0 |} {| printable t1 |} {| printable t2 |} {| printable t3 |} +: printable (tuple4 t0 t1 t2 t3) = +{ + to_string = + (fun (v0,v1,v2,v3) -> + "(" ^ + to_string v0 ^ ", " ^ + to_string v1 ^ ", " ^ + to_string v2 ^ ", " ^ + to_string v3 ^ ")" ) +} + +instance printable_tuple5 + #t0 #t1 #t2 #t3 #t4 + {| printable t0 |} {| printable t1 |} {| printable t2 |} {| printable t3 |} + {| printable t4 |} +: printable (tuple5 t0 t1 t2 t3 t4) = +{ + to_string = + (fun (v0,v1,v2,v3,v4) -> + "(" ^ + to_string v0 ^ ", " ^ + to_string v1 ^ ", " ^ + to_string v2 ^ ", " ^ + to_string v3 ^ ", " ^ + to_string v4 ^ ")" ) +} + +instance printable_tuple6 + #t0 #t1 #t2 #t3 #t4 #t5 + {| printable t0 |} {| printable t1 |} {| printable t2 |} {| printable t3 |} + {| printable t4 |} {| printable t5 |} +: printable (tuple6 t0 t1 t2 t3 t4 t5) = +{ + to_string = + (fun (v0,v1,v2,v3,v4,v5) -> + "(" ^ + to_string v0 ^ ", " ^ + to_string v1 ^ ", " ^ + to_string v2 ^ ", " ^ + to_string v3 ^ ", " ^ + to_string v4 ^ ", " ^ + to_string v5 ^ ")" ) +} + + +instance printable_tuple7 + #t0 #t1 #t2 #t3 #t4 #t5 #t6 + {| printable t0 |} {| printable t1 |} {| printable t2 |} {| printable t3 |} + {| printable t4 |} {| printable t5 |} {| printable t6 |} +: printable (tuple7 t0 t1 t2 t3 t4 t5 t6) = +{ + to_string = + (fun (v0,v1,v2,v3,v4,v5,v6) -> + "(" ^ + to_string v0 ^ ", " ^ + to_string v1 ^ ", " ^ + to_string v2 ^ ", " ^ + to_string v3 ^ ", " ^ + to_string v4 ^ ", " ^ + to_string v5 ^ ", " ^ + to_string v6 ^ ")" ) +} + +(* Sequences, with a <...> syntax. *) + +(* +instance printable_seq (#a:Type) (x:printable a) : printable (Seq.seq a) = +{ + to_string = + (fun l -> "<" ^ + FStar.String.concat "; " (List.Tot.map to_string (Seq.seq_to_list l)) ^ + ">") +} + +*) + + +instance printable_seq (#b:Type) (x:printable b) : printable (Seq.seq b) = +{ + to_string = + (fun s -> + let strings_of_b = map_seq to_string s + in + "<" ^ + FStar.String.concat "; " (Seq.seq_to_list strings_of_b) + ^ ">") +} diff --git a/stage0/ulib/FStar.Class.TotalOrder.Raw.fst b/stage0/ulib/FStar.Class.TotalOrder.Raw.fst new file mode 100644 index 00000000000..ec055f2a041 --- /dev/null +++ b/stage0/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/stage0/ulib/FStar.Classical.Sugar.fst b/stage0/ulib/FStar.Classical.Sugar.fst new file mode 100644 index 00000000000..fab73510859 --- /dev/null +++ b/stage0/ulib/FStar.Classical.Sugar.fst @@ -0,0 +1,146 @@ +(* + Copyright 2021 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.Classical.Sugar +/// This module provides a few combinators that are targeted +/// by the desugaring phase of the F* front end + +let forall_elim + (#a:Type) + (#p:a -> Type) + (v:a) + (f:squash (forall (x:a). p x)) + : Tot (squash (p v)) + = () + +let exists_elim #t #p #q s_ex_p f + = let open FStar.Squash in + bind_squash s_ex_p (fun ex_p -> + bind_squash ex_p (fun (sig_p: (x:t & p x)) -> + let (| x, px |) = sig_p in + f x (return_squash px))) + +let or_elim_simple + (p:Type) + (q:Type) + (r:Type) + (x:squash (p \/ q)) + (f:squash p -> Tot (squash r)) + (g:squash q -> Tot (squash r)) + : Tot (squash r) + = let open FStar.Squash in + bind_squash x (fun p_or_q -> + bind_squash p_or_q (fun p_cor_q -> + match p_cor_q with + | Prims.Left p -> + f (return_squash p) + | Prims.Right q -> + g (return_squash q))) + +let or_elim + (p:Type) + (q:squash (~p) -> Type) + (r:Type) + (p_or:squash (p \/ q())) + (left:squash p -> Tot (squash r)) + (right:squash (~p) -> squash (q()) -> Tot (squash r)) + : Tot (squash r) + = or_elim_simple p (~p) r () + (fun (s:squash p) -> left s) + (fun (np:squash (~p)) -> + or_elim_simple p (q ()) r p_or + (fun (pf_p:squash p) -> left pf_p) + (fun (pf_q:squash (q())) -> right np pf_q)) + +let and_elim (p:Type) + (q:squash p -> Type) + (r:Type) + (x:squash (p /\ q())) + (f:squash p -> squash (q()) -> Tot (squash r)) + : Tot (squash r) + = let open FStar.Squash in + bind_squash x (fun p_and_q -> + bind_squash p_and_q (fun (Prims.Pair p q) -> + f (return_squash p) (return_squash q))) + +let forall_intro + (a:Type) + (p:a -> Type) + (f: (x:a -> Tot (squash (p x)))) + : Tot (squash (forall x. p x)) + = let open FStar.Squash in + let f' (x:a) + : GTot (squash (p x)) + = f x + in + return_squash (squash_double_arrow (return_squash f')) + +let exists_intro_simple + (a:Type) + (p:a -> Type) + (v:a) + (f: squash (p v)) + : Tot (squash (exists x. p x)) + = let open FStar.Squash in + let p = (| v, f |) in + squash_double_sum (return_squash p) + +let exists_intro + (a:Type) + (p:a -> Type) + (v:a) + (f: unit -> Tot (squash (p v))) + : Tot (squash (exists x. p x)) + = exists_intro_simple a p v (f()) + + +let implies_intro + (p:Type) + (q:squash p -> Type) + (f:(squash p -> Tot (squash (q())))) + : Tot (squash (p ==> q())) + = let open FStar.Squash in + let f' (x:p) + : GTot (squash (q ())) + = f (return_squash x) + in + return_squash (squash_double_arrow (return_squash f')) + +let or_intro_left + (p:Type) + (q:squash (~p) -> Type) + (f:unit -> Tot (squash p)) + : Tot (squash (p \/ q())) + = f() + +let or_intro_right + (p:Type) + (q:squash (~p) -> Type) + (f:squash (~p) -> Tot (squash (q()))) + : Tot (squash (p \/ q())) + = or_elim_simple p (~p) + (p \/ q()) + () + (fun s_p -> or_intro_left p q (fun _ -> s_p)) + (fun s_np -> f s_np) + +let and_intro + (p:Type) + (q:squash p -> Type) + (f:unit -> Tot (squash p)) + (g:squash p -> Tot (squash (q()))) + : Tot (squash (p /\ q())) + = let _ = f() in g() diff --git a/stage0/ulib/FStar.Classical.Sugar.fsti b/stage0/ulib/FStar.Classical.Sugar.fsti new file mode 100644 index 00000000000..ba660277058 --- /dev/null +++ b/stage0/ulib/FStar.Classical.Sugar.fsti @@ -0,0 +1,157 @@ +(* + Copyright 2021 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.Classical.Sugar + +/// This module provides a few combinators that are targeted +/// by the desugaring phase of the F* front end +/// +/// The combinators it provides are fairly standard, except for one +/// subtlety. In F*, the typechecking of terms formed using the +/// logical connectives is biased from left to right. That is: +/// +/// * In [p /\ q] and [p ==> q], the well-typedness of [q] is in a +/// context assuming [squash p] +/// +/// * In [p \/ q], the well-typedness of [q] is in a context assuming +/// [squash (~p)] +/// +/// So, many of these combinators reflect that bias by taking as +/// instantiations for [q] functions that depend on [squash p] or +/// [squash (~p)]. +/// +/// The other subtlety is that the when using these combinators, we +/// encapsulate any proof terms provided by the caller within a +/// thunk. This is to ensure that if, for instance, the caller simply +/// admits a goal, that they do not inadvertently discard any proof +/// obligations in the remainder of their programs. +/// +/// For example, consider the difference between +/// +/// 1. exists_intro a p v (admit()); rest +/// +/// and +/// +/// 2. exists_intro a p v (fun _ -> admit()); rest +/// +/// In (1) the proof of rest is admitted also. + + +(** Eliminate a universal quantifier by providing an instantiation *) +val forall_elim + (#a:Type) + (#p:a -> Type) + (v:a) + (f:squash (forall (x:a). p x)) + : Tot (squash (p v)) + +(** Eliminate an existential quantifier into a proof of a goal [q] *) +val exists_elim + (#t:Type) + (#p:t -> Type) + (#q:Type) + ($s_ex_p: squash (exists (x:t). p x)) + (f: (x:t -> squash (p x) -> Tot (squash q))) + : Tot (squash q) + +(** Eliminate an implication, by providing a proof of the hypothesis + Note, the proof is thunked *) +let implies_elim + (p:Type) + (q:Type) + (_:squash (p ==> q)) + (f:unit -> Tot (squash p)) + : squash q + = f() + +(** Eliminate a disjunction + - The type of q can depend on the ~p + - The right proof can assume both ~p and q +*) +val or_elim + (p:Type) + (q:squash (~p) -> Type) + (r:Type) + (p_or:squash (p \/ q())) + (left:squash p -> Tot (squash r)) + (right:squash (~p) -> squash (q()) -> Tot (squash r)) + : Tot (squash r) + +(** Eliminate a conjunction + - The type of q can depend on p +*) +val and_elim + (p:Type) + (q:squash p -> Type) + (r:Type) + (_:squash (p /\ q())) + (f:squash p -> squash (q()) -> Tot (squash r)) + : Tot (squash r) + +(** Introduce a universal quantifier *) +val forall_intro + (a:Type) + (p:a -> Type) + (f: (x:a -> Tot (squash (p x)))) + : Tot (squash (forall x. p x)) + +(** Introduce an existential quantifier *) +val exists_intro + (a:Type) + (p:a -> Type) + (v:a) + (x: unit -> Tot (squash (p v))) + : Tot (squash (exists x. p x)) + +(** Introduce an implication + - The type of q can depend on p + *) +val implies_intro + (p:Type) + (q:squash p -> Type) + (f:(squash p -> Tot (squash (q())))) + : Tot (squash (p ==> q())) + +(** Introduce an disjunction on the left + - The type of q can depend on ~p + - The proof is thunked to avoid polluting the continuation + *) +val or_intro_left + (p:Type) + (q:squash (~p) -> Type) + (f:unit -> Tot (squash p)) + : Tot (squash (p \/ q())) + +(** Introduce an disjunction on the right + - The type of q can depend on ~p + - The proof can assume ~p too + *) +val or_intro_right + (p:Type) + (q:squash (~p) -> Type) + (f:squash (~p) -> Tot (squash (q()))) + : Tot (squash (p \/ q())) + +(** Introduce a conjunction + - The type of q can depend on p + - The proof in the right case can also assume p + *) +val and_intro + (p:Type) + (q:squash p -> Type) + (left:unit -> Tot (squash p)) + (right:squash p -> Tot (squash (q()))) + : Tot (squash (p /\ q())) diff --git a/stage0/ulib/FStar.Classical.fst b/stage0/ulib/FStar.Classical.fst new file mode 100644 index 00000000000..dc7197a0995 --- /dev/null +++ b/stage0/ulib/FStar.Classical.fst @@ -0,0 +1,190 @@ +(* + 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.Classical + +open FStar.Squash + +let give_witness #a x = return_squash x + +let give_witness_from_squash #a x = x + +let lemma_to_squash_gtot #a #p f x = + f x; + get_proof (p x) + +val get_squashed (#b a: Type) : Pure a (requires (a /\ a == squash b)) (ensures (fun _ -> True)) + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" +[@@ noextract_to "FSharp"] +let get_squashed #b a = + let p = get_proof a in + join_squash #b p +#pop-options + +let get_equality #t a b = get_squashed #(equals a b) (a == b) + +let impl_to_arrow #a #b impl sx = + bind_squash #(a -> GTot b) impl (fun f -> bind_squash sx (fun x -> return_squash (f x))) + +let arrow_to_impl #a #b f = squash_double_arrow (return_squash (fun x -> f (return_squash x))) + +let impl_intro_gtot #p #q f = return_squash f + +let impl_intro_tot #p #q f = return_squash #(p -> GTot q) f + +let impl_intro #p #q f = + give_witness #(p ==> q) (squash_double_arrow (return_squash (lemma_to_squash_gtot f))) + +let move_requires #a #p #q f x = + give_proof (bind_squash (get_proof (l_or (p x) (~(p x)))) + (fun (b: l_or (p x) (~(p x))) -> + bind_squash b + (fun (b': Prims.sum (p x) (~(p x))) -> + match b' with + | Prims.Left hp -> + give_witness hp; + f x; + get_proof (p x ==> q x) + | Prims.Right hnp -> give_witness hnp))) + +let move_requires_2 #a #b #p #q f x y = move_requires (f x) y + +let move_requires_3 #a #b #c #p #q f x y z = move_requires (f x y) z + +let move_requires_4 #a #b #c #d #p #q f x y z w = move_requires (f x y z) w + +// Thanks KM, CH and SZ +let impl_intro_gen #p #q f = + let g () : Lemma (requires p) (ensures (p ==> q ())) = give_proof #(q ()) (f (get_proof p)) in + move_requires g () + +(*** Universal quantification *) +let get_forall #a p = + let t = (forall (x:a). p x) in + assert (norm [delta; delta_only [`%l_Forall]] t == (squash (x:a -> GTot (p x)))); + norm_spec [delta; delta_only [`%l_Forall]] t; + get_squashed #(x: a -> GTot (p x)) (forall (x: a). p x) + +(* TODO: Maybe this should move to FStar.Squash.fst *) +let forall_intro_gtot #a #p f = + let id (#a: Type) (x: a) = x in + let h:(x: a -> GTot (id (p x))) = fun x -> f x in + return_squash #(forall (x: a). id (p x)) () + +let lemma_forall_intro_gtot #a #p f = give_witness (forall_intro_gtot #a #p f) + +let gtot_to_lemma #a #p f x = give_proof #(p x) (return_squash (f x)) + +let forall_intro_squash_gtot #a #p f = + bind_squash #(x: a -> GTot (p x)) + #(forall (x: a). p x) + (squash_double_arrow #a #p (return_squash f)) + (fun f -> lemma_forall_intro_gtot #a #p f) + +let forall_intro_squash_gtot_join #a #p f = + join_squash (bind_squash #(x: a -> GTot (p x)) + #(forall (x: a). p x) + (squash_double_arrow #a #p (return_squash f)) + (fun f -> lemma_forall_intro_gtot #a #p f)) + +let forall_intro #a #p f = give_witness (forall_intro_squash_gtot (lemma_to_squash_gtot #a #p f)) + +let forall_intro_with_pat #a #c #p pat f = forall_intro #a #p f + +let forall_intro_sub #a #p f = forall_intro f + +(* Some basic stuff, should be moved to FStar.Squash, probably *) +let forall_intro_2 #a #b #p f = + let g: x: a -> Lemma (forall (y: b x). p x y) = fun x -> forall_intro (f x) in + forall_intro g + +let forall_intro_2_with_pat #a #b #c #p pat f = forall_intro_2 #a #b #p f + +let forall_intro_3 #a #b #c #p f = + let g: x: a -> Lemma (forall (y: b x) (z: c x y). p x y z) = fun x -> forall_intro_2 (f x) in + forall_intro g + +let forall_intro_3_with_pat #a #b #c #d #p pat f = forall_intro_3 #a #b #c #p f + +let forall_intro_4 #a #b #c #d #p f = + let g: x: a -> Lemma (forall (y: b x) (z: c x y) (w: d x y z). p x y z w) = + fun x -> forall_intro_3 (f x) + in + forall_intro g + + +let forall_impl_intro #a #p #q f = + let f' (x: a) : Lemma (requires (p x)) (ensures (q x)) = f x (get_proof (p x)) in + forall_intro (move_requires f') + + +let ghost_lemma #a #p #q f = + let lem: x: a -> Lemma (p x ==> q x ()) = + (fun x -> + (* basically, the same as above *) + give_proof (bind_squash (get_proof (l_or (p x) (~(p x)))) + (fun (b: l_or (p x) (~(p x))) -> + bind_squash b + (fun (b': Prims.sum (p x) (~(p x))) -> + match b' with + | Prims.Left hp -> + give_witness hp; + f x; + get_proof (p x ==> q x ()) + | Prims.Right hnp -> give_witness hnp)))) + in + forall_intro lem + +(*** Existential quantification *) +let exists_intro #a p witness = () + +#push-options "--warn_error -271" //local SMT pattern misses variables +let exists_intro_not_all_not (#a:Type) (#p:a -> Type) + ($f: (x:a -> Lemma (~(p x))) -> Lemma False) + : Lemma (exists x. p x) + = let open FStar.Squash in + let aux () + : Lemma (requires (forall x. ~(p x))) + (ensures False) + [SMTPat ()] + = bind_squash + (get_proof (forall x. ~ (p x))) + (fun (g: (forall x. ~ (p x))) -> + bind_squash #(x:a -> GTot (~(p x))) #Prims.empty g + (fun (h:(x:a -> GTot (~(p x)))) -> f h)) + in + () +#pop-options + +let forall_to_exists #a #p #r f = forall_intro f + +let forall_to_exists_2 #a #p #b #q #r f = forall_intro_2 f + +let exists_elim goal #a #p have f = + bind_squash #_ + #goal + (join_squash have) + (fun (| x , pf |) -> + return_squash pf; + f x) + +(*** Disjunction *) +let or_elim #l #r #goal hl hr = + impl_intro_gen #l #(fun _ -> goal ()) hl; + impl_intro_gen #r #(fun _ -> goal ()) hr + +let excluded_middle (p: Type) = () diff --git a/stage0/ulib/FStar.Classical.fsti b/stage0/ulib/FStar.Classical.fsti new file mode 100644 index 00000000000..e58b28d8b03 --- /dev/null +++ b/stage0/ulib/FStar.Classical.fsti @@ -0,0 +1,405 @@ +(* + 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.Classical + +/// This module provides various utilities to manipulate the squashed +/// logical connectives [==>], [/\], [\/], [forall], [exists] and [==], +/// defined in Prims in terms of the [squash] type. See Prims and +/// FStar.Squash for basic explanations of the [squash] type. +/// +/// In summary: +/// +/// - [squash p] is proof-irrelevant proof of [p], expressed as a unit +/// refinement. +/// +/// - [Lemma p] is also a proof-irrelevant proof of [p], expressed as +/// a postcondition of a unit-returning Ghost computation. +/// +/// We provide several utilities to turn proofs of various +/// propositions with non-trivial proof terms into proof-irrelevant, +/// classical proofs. + +(** [give_witness x] transforms a constructive proof [x:a] into a + proof-irrelevant postcondition. It is similar to + [FStar.Squash.return_squash] *) +val give_witness (#a: Type) (_: a) : Lemma (ensures a) + +(** [give_witness_from_squash s] moves from a unit-refinement to a + postcondition. It is similar to [FStar.Squash.give_proof] *) +val give_witness_from_squash (#a: Type) (_: squash a) : Lemma (ensures a) + +(** This turns a proof-irrelevant postcondition into a squashed proof *) +val lemma_to_squash_gtot (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> Lemma (p x))) (x: a) + : GTot (squash (p x)) + +(**** Equality *) + +(** Turning an equality precondition into returned squash proof, + similar to [FStar.Squash.get_proof], but avoiding an extra squash, + since [==] is already squashed. *) +val get_equality (#t: Type) (a b: t) : Pure (a == b) (requires (a == b)) (ensures (fun _ -> True)) + +(**** Implication *) + +(** Turning an [a ==> b] into a [squash a -> squash b]. Note [a ==> b] is + defined as [squash (a -> b)], so this distributes the squash over the arrow. *) +val impl_to_arrow (#a #b: Type0) (_: (a ==> b)) (_: squash a) : Tot (squash b) + +(** The converse of [impl_to_arrow] *) +val arrow_to_impl (#a #b: Type0) (_: (squash a -> GTot (squash b))) : GTot (a ==> b) + +(** Similar to [arrow_to_impl], but without squashing proofs on the left *) +val impl_intro_gtot (#p #q: Type0) ($_: (p -> GTot q)) : GTot (p ==> q) + +(** Similar to [impl_intro_gtot], but for a Tot arrow *) +val impl_intro_tot (#p #q: Type0) ($_: (p -> Tot q)) : Tot (p ==> q) + +(** Similar to [arrow_to_impl], but not squashing the proof of [p] on the LHS. *) +val impl_intro (#p #q: Type0) ($_: (p -> Lemma q)) : Lemma (p ==> q) + +(** A lemma with a precondition can also be treated as a proof a quantified implication. + + See the remark at the top of this section comparing nested lemmas + with SMT pattern to [move_requires] and [forall_intro] *) +val move_requires + (#a: Type) + (#p #q: (a -> Type)) + ($_: (x: a -> Lemma (requires (p x)) (ensures (q x)))) + (x: a) + : Lemma (p x ==> q x) + +(** The arity 2 version of [move_requires] *) +val move_requires_2 + (#a: Type) + (#b: (a -> Type)) + (#p #q: (x: a -> b x -> Type)) + ($_: (x: a -> y: b x -> Lemma (requires (p x y)) (ensures (q x y)))) + (x: a) + (y: b x) + : Lemma (p x y ==> q x y) + +(** The arity 3 version of [move_requires] *) +val move_requires_3 + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#p #q: (x: a -> y: b x -> c x y -> Type)) + ($_: (x: a -> y: b x -> z: c x y -> Lemma (requires (p x y z)) (ensures (q x y z)))) + (x: a) + (y: b x) + (z: c x y) + : Lemma (p x y z ==> q x y z) + +(** The arity 4 version of [move_requires] *) +val move_requires_4 + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#d: (x: a -> y: b x -> z: c x y -> Type)) + (#p #q: (x: a -> y: b x -> z: c x y -> w: d x y z -> Type)) + ($_: (x: a -> y: b x -> z: c x y -> w: d x y z -> Lemma (requires (p x y z w)) (ensures (q x y z w)))) + (x: a) + (y: b x) + (z: c x y) + (w: d x y z) + : Lemma (p x y z w ==> q x y z w) + +(** When proving predicate [q] whose well-formedness depends on the + predicate [p], it is convenient to have [q] appear only under a + context where [p] is know to be valid. *) +val impl_intro_gen (#p: Type0) (#q: (squash p -> Tot Type0)) (_: (squash p -> Lemma (q ()))) + : Lemma (p ==> q ()) + +(**** Universal quantification *) + +/// Many of the utilities for universal quantification are designed to +/// help in the proofs of lemmas that ensure quantified +/// postconditions. For example, in order to prove [Lemma (forall +/// (x:a). p x)] it is often useful to "get your hands" on a freshly +/// introduced variable [x] and to prove [p x] for it, i.e., to prove +/// [x:a -> Lemma (p x)] and to turn this into a proof for [forall +/// x. p x]. Functions like [forall_intro] in this module let you do +/// just that. +/// +/// That said, it may often be more convenient to prove such +/// properties using local lemmas in inner scopes. For example, here +/// are two proof sketches for [forall x. p x]. +/// +/// {[ +/// assume +/// val p : nat -> prop +/// +/// let proof1 = +/// let lem (x:nat) +/// : Lemma (ensures p x) +/// = admit() +/// in +/// forall_intro lem; +/// assert (forall x. p x) +/// +/// let proof2 = +/// let lem (x:nat) +/// : Lemma (ensures p x) +/// [SMTPat (p x)] +/// = admit() +/// in +/// assert (forall x. p x) +/// ]} +/// +/// In [proof1], we prove an auxiliary lemma [lem] and then use +/// [forall_intro] to turn it into a proof of [forall x. p x]. +/// +/// In [proof2], we simply decorate [lem] with an SMT pattern to +/// allow the solver to use that lemma to prove [forall x. p x] +/// directly. +/// +/// The style of [proof2] is often more robust for several reasons: +/// +/// - [forall_intro] only works with lemmas that do not have +/// preconditions. E.g., if you wanted to prove [forall x. q x ==> +/// p x], you would have had to prove [lem] with the type [x:nat -> +/// Lemma (q x ==> p x)]. In contrast, in the style of [proof2], +/// you could have proven [x:nat -> Lemma (requires q x) (ensures p +/// x)], which is easier, since you can assume the precondition [q +/// x]. To use this style of lemma-with-precondition with +/// [forall_intro], one typically must also use [move_requires] to +/// coerce a lemma with a precondition into a lemma proving an +/// implication, or to use [ghost_lemma]. +/// +/// - [forall_intro] introduces a quantifier without an SMT +/// pattern. This can pollute the local context with an unguarded +/// quantifier, leading to inefficient proofs. Note, the variants +/// [forall_intro_with_pat] help with this somewhat, but they only +/// support a single pattern, rather than conjunctive and +/// disjunctive patterns. +/// +/// - [forall_intro] and its variants are available for only a fixed +/// arity up to 4. The nested SMTPat lemma style of [proof2] works +/// are arbitrary arity. +/// +/// That said, there may still be cases where [forall_intro] etc. are +/// more suitable. + +(** Turning an universally quantified precondition into returned + squash proof, similar to [FStar.Squash.get_proof], but avoiding an + extra squash, since [forall] is already squashed. *) +val get_forall (#a: Type) (p: (a -> GTot Type0)) + : Pure (forall (x: a). p x) (requires (forall (x: a). p x)) (ensures (fun _ -> True)) + +(** This introduces a squash proof of a universal + quantifier. [forall_intro_gtot f] is equivalent to [return_squash + (return_squash f)]. + + TODO: Perhaps remove this? It seems redundant *) +val forall_intro_gtot (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> GTot (p x))) + : Tot (squash (forall (x: a). p x)) + +(** This turns a dependent arrow into a proof-irrelevant postcondition + of a universal quantifier. *) +val lemma_forall_intro_gtot (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> GTot (p x))) + : Lemma (forall (x: a). p x) + +(** This turns a dependent arrow producing a proof a [p] into a lemma + ensuring [p], effectively squashing the proof of [p], while still + retaining the arrow. *) +val gtot_to_lemma (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> GTot (p x))) (x: a) : Lemma (p x) + +(** This is the analog of [lemma_forall_intro_gtot] but with squashed + proofs on both sides, including a redundant extra squash on the result. + + TODO: perhaps remove this? *) +val forall_intro_squash_gtot (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> GTot (squash (p x)))) + : Tot (squash (forall (x: a). p x)) + +(** This is the analog of [lemma_forall_intro_gtot] but with squashed + proofs on both sides *) +val forall_intro_squash_gtot_join + (#a: Type) + (#p: (a -> GTot Type)) + ($_: (x: a -> GTot (squash (p x)))) + : Tot (forall (x: a). p x) + +(** The main workhorse for introducing universally quantified postconditions, at arity 1. + + See the remark at the start of this section for guidelines on its + use. You may prefer to use a local lemma with an SMT pattern. *) +val forall_intro (#a: Type) (#p: (a -> GTot Type)) ($_: (x: a -> Lemma (p x))) + : Lemma (forall (x: a). p x) + +(** The main workhorse for introducing universally quantified + postconditions, at arity 1, including a provision for a single + pattern. + + See the remark at the start of this section for guidelines on its + use. You may prefer to use a local lemma with an SMT pattern. *) +val forall_intro_with_pat + (#a: Type) + (#c: (x: a -> Type)) + (#p: (x: a -> GTot Type0)) + ($pat: (x: a -> Tot (c x))) + ($_: (x: a -> Lemma (p x))) + : Lemma (forall (x: a). {:pattern (pat x)} p x) + +(** This function is almost identical to [forall_intro]. The only + difference is that rather in [forall_intro f] the type of [f] is + _unified_ with expected type of that argument, leading to better + resolution of implicit variables. + + However, sometimes it is convenient to introduce a quantifier from + a lemma while relying on subtyping---[forall_intro_sub f] allows + the use of subtyping when comparing the type of [f] to the + expected type of the argument. This will likely mean that the + implicit arguments, notably [p], will have to be provided + explicilty. *) +val forall_intro_sub (#a: Type) (#p: (a -> GTot Type)) (_: (x: a -> Lemma (p x))) + : Lemma (forall (x: a). p x) + +(** The arity 2 version of [forall_intro] *) +val forall_intro_2 + (#a: Type) + (#b: (a -> Type)) + (#p: (x: a -> b x -> GTot Type0)) + ($_: (x: a -> y: b x -> Lemma (p x y))) + : Lemma (forall (x: a) (y: b x). p x y) + +(** The arity 2 version of [forall_intro_with_pat] *) +val forall_intro_2_with_pat + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#p: (x: a -> b x -> GTot Type0)) + ($pat: (x: a -> y: b x -> Tot (c x y))) + ($_: (x: a -> y: b x -> Lemma (p x y))) + : Lemma (forall (x: a) (y: b x). {:pattern (pat x y)} p x y) + +(** The arity 3 version of [forall_intro] *) +val forall_intro_3 + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#p: (x: a -> y: b x -> z: c x y -> Type0)) + ($_: (x: a -> y: b x -> z: c x y -> Lemma (p x y z))) + : Lemma (forall (x: a) (y: b x) (z: c x y). p x y z) + +(** The arity 3 version of [forall_intro_with_pat] *) +val forall_intro_3_with_pat + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#d: (x: a -> y: b x -> z: c x y -> Type)) + (#p: (x: a -> y: b x -> z: c x y -> GTot Type0)) + ($pat: (x: a -> y: b x -> z: c x y -> Tot (d x y z))) + ($_: (x: a -> y: b x -> z: c x y -> Lemma (p x y z))) + : Lemma (forall (x: a) (y: b x) (z: c x y). {:pattern (pat x y z)} p x y z) + +(** The arity 4 version of [forall_intro] *) +val forall_intro_4 + (#a: Type) + (#b: (a -> Type)) + (#c: (x: a -> y: b x -> Type)) + (#d: (x: a -> y: b x -> z: c x y -> Type)) + (#p: (x: a -> y: b x -> z: c x y -> w: d x y z -> Type0)) + ($_: (x: a -> y: b x -> z: c x y -> w: d x y z -> Lemma (p x y z w))) + : Lemma (forall (x: a) (y: b x) (z: c x y) (w: d x y z). p x y z w) + +(** This combines th use of [arrow_to_impl] with [forall_intro]. + + TODO: Seems overly specific; could be removed? *) +val forall_impl_intro + (#a: Type) + (#p #q: (a -> GTot Type)) + ($_: (x: a -> squash (p x) -> Lemma (q x))) + : Lemma (forall x. p x ==> q x) + +(** This is similar to [forall_intro], but with a lemma that has a precondition. + + Note: It's unclear why [q] has an additional [unit] argument. + *) +val ghost_lemma + (#a: Type) + (#p: (a -> GTot Type0)) + (#q: (a -> unit -> GTot Type0)) + ($_: (x: a -> Lemma (requires p x) (ensures (q x ())))) + : Lemma (forall (x: a). p x ==> q x ()) + + +(**** Existential quantification *) + +(** The most basic way to introduce a squashed existential quantifier + [exists x. p x] is to present a witness [w] such that [p w]. + + While [exists_intro] is very explicit, as with universal + quantification and [forall_intro], it is only available for a + fixed arity. + + However, unlike with we do not yet provide any conveniences for + higher arities. One workaround is to tuple witnesses together, + e.g., instead of proving [exists x y. p x y] to prove instead + [exists xy. p (fst xy) (snd xy)] and to allow the SMT solver to convert + the latter to the former. *) +val exists_intro (#a: Type) (p: (a -> Type)) (witness: a) + : Lemma (requires (p witness)) (ensures (exists (x: a). p x)) + +(** Introducing an exists via its classical correspondence with a negated universal quantifier *) +val exists_intro_not_all_not + (#a: Type) + (#p: (a -> Type)) + ($f: ((x: a -> Lemma (~(p x))) -> Lemma False)) + : Lemma (exists x. p x) + +(** If [r] is true for all [x:a{p x}], then one can use + [forall_to_exists] to establish [(exists x. p x) ==> r]. *) +val forall_to_exists (#a: Type) (#p: (a -> Type)) (#r: Type) ($_: (x: a -> Lemma (p x ==> r))) + : Lemma ((exists (x: a). p x) ==> r) + +(** The arity two variant of [forall_to_exists] for two separate + existentially quantified hypotheses. + + TODO: overly specific, remove? *) +val forall_to_exists_2 + (#a: Type) + (#p: (a -> Type)) + (#b: Type) + (#q: (b -> Type)) + (#r: Type) + ($f: (x: a -> y: b -> Lemma ((p x /\ q y) ==> r))) + : Lemma (((exists (x: a). p x) /\ (exists (y: b). q y)) ==> r) + +(** An eliminator for squashed existentials: If every witness can be + eliminated into a squashed proof of the [goal], then the [goal] + postcondition is valid. *) +val exists_elim + (goal #a: Type) + (#p: (a -> Type)) + (_: squash (exists (x: a). p x)) + (_: (x: a{p x} -> GTot (squash goal))) + : Lemma goal + + +(*** Disjunction *) + +(** Eliminating [l \/ r] into a [goal] whose well-formedness depends on + [l \/ r] *) +val or_elim + (#l #r: Type0) + (#goal: (squash (l \/ r) -> Tot Type0)) + (hl: (squash l -> Lemma (goal ()))) + (hr: (squash r -> Lemma (goal ()))) + : Lemma ((l \/ r) ==> goal ()) + +(** The law of excluded middle: squashed types are classical *) +val excluded_middle (p: Type) : Lemma (requires (True)) (ensures (p \/ ~p)) diff --git a/stage0/ulib/FStar.Date.fsti b/stage0/ulib/FStar.Date.fsti new file mode 100644 index 00000000000..8b47742be0f --- /dev/null +++ b/stage0/ulib/FStar.Date.fsti @@ -0,0 +1,31 @@ +(* + 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.Date + +/// A module providing primitives for dates and times +new +val dateTime:Type0 +new +val timeSpan:Type0 + +(** EXT marks an external function *) +val now: unit -> EXT dateTime +val secondsFromDawn: unit -> EXT (n: nat{n < pow2 32}) +val newTimeSpan: int -> int -> int -> int -> Tot timeSpan +val addTimeSpan: dateTime -> timeSpan -> Tot dateTime +val greaterDateTime: dateTime -> dateTime -> Tot bool + diff --git a/stage0/ulib/FStar.DependentMap.fst b/stage0/ulib/FStar.DependentMap.fst new file mode 100644 index 00000000000..d9f7e12a48a --- /dev/null +++ b/stage0/ulib/FStar.DependentMap.fst @@ -0,0 +1,155 @@ +(* + 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.DependentMap + +module F = FStar.FunctionalExtensionality +noeq +type t (key: eqtype) (value: (key -> Type)) = { mappings:F.restricted_t key value } + +let create (#key: eqtype) (#value: (key -> Tot Type)) (f: (k: key -> Tot (value k))) + : Tot (t key value) = { mappings = F.on_domain key f } + +let sel (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) : Tot (value k) = + m.mappings k + +let sel_create (#key: eqtype) (#value: (key -> Tot Type)) (f: (k: key -> Tot (value k))) (k: key) + : Lemma (requires True) + (ensures (sel #key #value (create f) k == f k)) + [SMTPat (sel #key #value (create f) k)] = () + +let upd (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) (v: value k) + : Tot (t key value) = + { mappings = F.on_domain key (fun k' -> if k' = k then v else m.mappings k') } + +let sel_upd_same (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) (v: value k) = + () + +let sel_upd_other + (#key: eqtype) + (#value: (key -> Tot Type)) + (m: t key value) + (k: key) + (v: value k) + (k': key) + = () + +let equal (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) = + forall k. sel m1 k == sel m2 k + +let equal_intro (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) = () + +let equal_refl (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) = () + +let equal_elim (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) = + F.extensionality key value m1.mappings m2.mappings + +let restrict (#key: eqtype) (#value: (key -> Tot Type)) (p: (key -> Tot Type0)) (m: t key value) = + { mappings = F.on_domain (k: key{p k}) m.mappings } + +let sel_restrict + (#key: eqtype) + (#value: (key -> Tot Type)) + (p: (key -> Tot Type0)) + (m: t key value) + (k: key{p k}) + = () + +let concat_mappings + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (#key2: eqtype) + (#value2: (key2 -> Tot Type)) + (m1: (k1: key1 -> Tot (value1 k1))) + (m2: (k2: key2 -> Tot (value2 k2))) + (k: either key1 key2) + : concat_value value1 value2 k = + match k with + | Inl k1 -> m1 k1 + | Inr k2 -> m2 k2 + +let concat + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (#key2: eqtype) + (#value2: (key2 -> Tot Type)) + (m1: t key1 value1) + (m2: t key2 value2) + : Tot (t (either key1 key2) (concat_value value1 value2)) = + { mappings = F.on_domain (either key1 key2) (concat_mappings m1.mappings m2.mappings) } + +let sel_concat_l + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (#key2: eqtype) + (#value2: (key2 -> Tot Type)) + (m1: t key1 value1) + (m2: t key2 value2) + (k1: key1) + = () + +let sel_concat_r + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (#key2: eqtype) + (#value2: (key2 -> Tot Type)) + (m1: t key1 value1) + (m2: t key2 value2) + (k2: key2) + = () + +let rename + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (m: t key1 value1) + (#key2: eqtype) + (ren: (key2 -> Tot key1)) + : Tot (t key2 (rename_value value1 ren)) = + { mappings = F.on_domain key2 (fun k2 -> m.mappings (ren k2)) } + +let sel_rename + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (m: t key1 value1) + (#key2: eqtype) + (ren: (key2 -> Tot key1)) + (k2: key2) + : Lemma (ensures (sel (rename m ren) k2 == sel m (ren k2))) = () + +let map + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + : Tot (t key value2) = { mappings = F.on_domain key (fun k -> f k (sel m k)) } + +let sel_map + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + (k: key) + = () + +let map_upd + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + (k: key) + (v: value1 k) + = equal_elim #key #value2 (map f (upd m k v)) (upd (map f m) k (f k v)) + diff --git a/stage0/ulib/FStar.DependentMap.fsti b/stage0/ulib/FStar.DependentMap.fsti new file mode 100644 index 00000000000..f86d7f297da --- /dev/null +++ b/stage0/ulib/FStar.DependentMap.fsti @@ -0,0 +1,242 @@ +(* + 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.DependentMap + +/// This module provides an abstract type of maps whose co-domain +/// depends on the value of each key. i.e., it is an encapsulation +/// of [x:key -> value x], where [key] supports decidable equality. +/// +/// The main constructors of the type are: +/// * [create]: To create the whole map from a function +/// * [upd]: To update a map at a point +/// * [restrict]: To restrict the domain of a map +/// * [concat]: To concatenate maps by taking the union of their key spaces +/// * [rename]: To rename the keys of a map +/// * [map]: To map a function over the values of a map +/// +/// The main eliminators are: +/// * [sel]: To query the map for its value at a point +/// +/// The interface is specified in a style that describes the action of +/// each eliminator over each of the constructors +/// +/// The map also supports an extensional equality principle. + +(** Abstract type of dependent maps, with universe polymorphic values + and keys in universe 0 with decidable equality *) +val t (key: eqtype) ([@@@strictly_positive] value: (key -> Type u#v)) : Type u#v + +(** Creating a new map from a function *) +val create (#key: eqtype) (#value: (key -> Tot Type)) (f: (k: key -> Tot (value k))) + : Tot (t key value) + +(** Querying the map for its value at a given key *) +val sel (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) : Tot (value k) + +(** Relating [create] to [sel] *) +val sel_create (#key: eqtype) (#value: (key -> Tot Type)) (f: (k: key -> Tot (value k))) (k: key) + : Lemma (ensures (sel #key #value (create f) k == f k)) [SMTPat (sel #key #value (create f) k)] + +(** Updating a map at a point *) +val upd (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) (v: value k) + : Tot (t key value) + +(** The action of selecting a key [k] a map with an updated value [v] + at [k] + + This is one of the classic McCarthy select/update axioms in the + setting of a dependent map. + *) +val sel_upd_same (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) (k: key) (v: value k) + : Lemma (ensures (sel (upd m k v) k == v)) [SMTPat (sel (upd m k v) k)] + +(** The action of selecting a key [k] a map with an updated value [v] + at a different key [k'] + + This is one of the classic McCarthy select/update axioms in the + setting of a dependent map. + *) +val sel_upd_other + (#key: eqtype) + (#value: (key -> Tot Type)) + (m: t key value) + (k: key) + (v: value k) + (k': key) + : Lemma (requires (k' <> k)) + (ensures (sel (upd m k v) k' == sel m k')) + [SMTPat (sel (upd m k v) k')] + +(** Extensional propositional equality on maps *) +val equal (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) : prop + +(** Introducing extensional equality by lifting equality on the map, pointwise *) +val equal_intro (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) + : Lemma (requires (forall k. sel m1 k == sel m2 k)) + (ensures (equal m1 m2)) + [SMTPat (equal m1 m2)] + +(** [equal] is reflexive *) +val equal_refl (#key: eqtype) (#value: (key -> Tot Type)) (m: t key value) + : Lemma (ensures (equal m m)) [SMTPat (equal m m)] + +(** [equal] can be eliminated into standard propositional equality + (==), also proving that it is an equivalence relation *) +val equal_elim (#key: eqtype) (#value: (key -> Tot Type)) (m1 m2: t key value) + : Lemma (requires (equal m1 m2)) (ensures (m1 == m2)) [SMTPat (equal m1 m2)] + +(**** Restricting the domain of a map *) + +(** Restricts the domain of the map to those keys satisfying [p] *) +val restrict (#key: eqtype) (#value: (key -> Tot Type)) (p: (key -> Tot Type0)) (m: t key value) + : Tot (t (k: key{p k}) value) + +(** The action of [sel] on [restrict] : the contents of the map isn't changed *) +val sel_restrict + (#key: eqtype) + (#value: (key -> Tot Type)) + (p: (key -> Tot Type0)) + (m: t key value) + (k: key{p k}) + : Lemma (ensures (sel (restrict p m) k == sel m k)) + +(**** Concatenating maps *) + +/// Concatenating [t k1 v1] and [t k2 v2] produces a map +/// [t (either k1 k2) (concat_value v1 v2)] +/// +/// I.e., the key space varies contravariantly, to take the union of +/// the component key spaces. The co-domain is the dependent product +/// of the co-domains of the original map + +(** The key space of a concatenated map is the product of the key spaces *) +let concat_value + (#key1: eqtype) + (value1: (key1 -> Tot Type)) + (#key2: eqtype) + (value2: (key2 -> Tot Type)) + (k: either key1 key2) + : Tot Type = + match k with + | Inl k1 -> value1 k1 + | Inr k2 -> value2 k2 + +(** Concatenating maps *) +val concat + (#key1: eqtype) + (#value1: (key1 -> Tot (Type u#v))) + (#key2: eqtype) + (#value2: (key2 -> Tot (Type u#v))) + (m1: t key1 value1) + (m2: t key2 value2) + : Tot (t (either key1 key2) (concat_value value1 value2)) + +(** The action of [sel] on [concat], for a key on the left picks a + value from the left map *) +val sel_concat_l + (#key1: eqtype) + (#value1: (key1 -> Tot (Type u#v))) + (#key2: eqtype) + (#value2: (key2 -> Tot (Type u#v))) + (m1: t key1 value1) + (m2: t key2 value2) + (k1: key1) + : Lemma (ensures (sel (concat m1 m2) (Inl k1) == sel m1 k1)) + +(** The action of [sel] on [concat], for a key on the right picks a + value from the right map *) +val sel_concat_r + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (#key2: eqtype) + (#value2: (key2 -> Tot Type)) + (m1: t key1 value1) + (m2: t key2 value2) + (k2: key2) + : Lemma (ensures (sel (concat m1 m2) (Inr k2) == sel m2 k2)) + +(**** Renamings *) + +/// Given a map from [key2] to [key1], we can revise a map from [t +/// key1 v] to a map [t key2 v], by composing the maps. + +(** The type of the co-domain of the renamed map also involves + transformation along the renaming function *) +let rename_value + (#key1: eqtype) + (value1: (key1 -> Tot Type)) + (#key2: eqtype) + (ren: (key2 -> Tot key1)) + (k: key2) + : Tot Type = value1 (ren k) + +(** Renaming the keys of a map *) +val rename + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (m: t key1 value1) + (#key2: eqtype) + (ren: (key2 -> Tot key1)) + : Tot (t key2 (rename_value value1 ren)) + +(** The action of [sel] on [rename] *) +val sel_rename + (#key1: eqtype) + (#value1: (key1 -> Tot Type)) + (m: t key1 value1) + (#key2: eqtype) + (ren: (key2 -> Tot key1)) + (k2: key2) + : Lemma (ensures (sel (rename m ren) k2 == sel m (ren k2))) + +(**** Mapping a function over a dependent map *) + +(** [map f m] applies f to each value in [m]'s co-domain *) +val map + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + : Tot (t key value2) + +(** The action of [sel] on [map] *) +val sel_map + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + (k: key) + : Lemma (ensures (sel (map f m) k == f k (sel m k))) + [SMTPat (sel #key #value2 (map #key #value1 #value2 f m) k)] + +(** [map] explained in terms of its action on [upd] *) +val map_upd + (#key: eqtype) + (#value1 #value2: (key -> Tot Type)) + (f: (k: key -> value1 k -> Tot (value2 k))) + (m: t key value1) + (k: key) + (v: value1 k) + : Lemma (ensures (map f (upd m k v) == upd (map f m) k (f k v))) + [ + //AR: wanted to write an SMTPatOr, but gives some error + SMTPat (map #key #value1 #value2 f (upd #key #value1 m k v)) + ] + + +/// We seem to miss lemmas that relate map to the other constructors, +/// including create, restrict etc. diff --git a/stage0/ulib/FStar.Dyn.fst b/stage0/ulib/FStar.Dyn.fst new file mode 100644 index 00000000000..662b2717a74 --- /dev/null +++ b/stage0/ulib/FStar.Dyn.fst @@ -0,0 +1,41 @@ +(* + Copyright 2024 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.Dyn + +// Note: this file is only a reference implementation showing that the API can +// be implemented safely, we have a separate handcrafted ML implementation using +// `magic`. +// Extracting this file directly results in extra indirections, since `mkdyn` +// would allocate a closure and `undyn` would allocate a closure and a heap +// cell. + +noeq type value_type_bundle = { t: Type0; x: t } + +let raw_dyn (t: Type u#a) : Type0 = unit -> Dv (b:value_type_bundle {b.t == (unit -> Dv t)}) +let to_raw_dyn (#t: Type u#a) (x: t) : raw_dyn t = fun _ -> { t = unit -> Dv t; x = fun _ -> x } + +let dyn : Type0 = unit -> Dv value_type_bundle +let mkdyn' (#t: Type u#a) (x: t) : dyn = to_raw_dyn x +let dyn_has_ty (y: dyn) (t: Type u#a) = exists (x: t). y == mkdyn' x +let mkdyn #t x = mkdyn' #t x + +let elim_subtype_of s (t: Type { subtype_of s t }) (x: s): t = x + +let undyn (#t: Type u#a) (y: dyn { dyn_has_ty y t }) : Dv t = + let y : raw_dyn t = elim_subtype_of _ _ y in + let b = y () in + let c : unit -> Dv t = b.x in + c () diff --git a/stage0/ulib/FStar.Dyn.fsti b/stage0/ulib/FStar.Dyn.fsti new file mode 100644 index 00000000000..66b9cd89c1e --- /dev/null +++ b/stage0/ulib/FStar.Dyn.fsti @@ -0,0 +1,31 @@ +(* + Copyright 2008-2024 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.Dyn + +/// Dynamic casts + +val dyn : Type0 + +(** [dyn_has_ty d a] is true if [d] was promoted from type [a] *) +val dyn_has_ty (d: dyn) (a: Type u#a) : prop + +(** Promoting a value of type [a] to [dyn] *) +val mkdyn (#a: Type u#a) (x: a) : d:dyn { dyn_has_ty d a } + +(** This coerces a value of type [dyn] to its original type [a], + with [dyn_has_ty d a] as precondition *) +val undyn (#a: Type u#a) (d: dyn { dyn_has_ty d a }) : Dv a diff --git a/stage0/ulib/FStar.Endianness.fst b/stage0/ulib/FStar.Endianness.fst new file mode 100644 index 00000000000..337146ec377 --- /dev/null +++ b/stage0/ulib/FStar.Endianness.fst @@ -0,0 +1,366 @@ +module FStar.Endianness + +/// A library of lemmas for reasoning about sequences of machine integers and +/// their (little|big)-endian representation as a sequence of bytes. +/// +/// The functions in this module aim to be as generic as possible, in order to +/// facilitate compatibility with: +/// - Vale's model of machine integers (nat64 et al.), which does not rely on +/// FStar's machine integers +/// - HACL*'s Lib.IntTypes module, which exposes a universal indexed integer +/// type but uses F* machine integers under the hood. +/// +/// To achieve maximum compatibility, we try to state most lemmas using nat +/// rather than UIntX. +/// +/// .. note:: +/// +/// This module supersedes the poorly-named ``FStar.Krml.Endianness``. + +module U8 = FStar.UInt8 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 +module Math = FStar.Math.Lemmas +module S = FStar.Seq + +open FStar.Mul + +/// Definition of little and big-endianness +/// --------------------------------------- + +let rec le_to_n b + : Tot nat (decreases (S.length b)) + = if S.length b = 0 then 0 + else U8.v (S.head b) + pow2 8 * le_to_n (S.tail b) + +let rec be_to_n b + : Tot nat (decreases (S.length b)) + = if S.length b = 0 then 0 + else U8.v (S.last b) + pow2 8 * be_to_n (S.slice b 0 (S.length b - 1)) + +let reveal_le_to_n _ = () + +let reveal_be_to_n _ = () + +/// Inverse operations +/// ------------------ + +/// TODO: move to FStar.Math.Lemmas? +private val lemma_euclidean_division: r:nat -> b:nat -> q:pos -> Lemma + (requires (r < q)) + (ensures (r + q * b < q * (b+1))) +let lemma_euclidean_division r b q = () + +/// TODO: move to FStar.Math.Lemmas? US spelling? +private val lemma_factorise: a:nat -> b:nat -> Lemma (a + a * b == a * (b + 1)) +let lemma_factorise a b = () + +let rec lemma_le_to_n_is_bounded b = + if Seq.length b = 0 then () + else + begin + let s = Seq.slice b 1 (Seq.length b) in + assert(Seq.length s = Seq.length b - 1); + lemma_le_to_n_is_bounded s; + assert(UInt8.v (Seq.index b 0) < pow2 8); + assert(le_to_n s < pow2 (8 * Seq.length s)); + assert(le_to_n b < pow2 8 + pow2 8 * pow2 (8 * (Seq.length b - 1))); + lemma_euclidean_division (UInt8.v (Seq.index b 0)) (le_to_n s) (pow2 8); + assert(le_to_n b <= pow2 8 * (le_to_n s + 1)); + assert(le_to_n b <= pow2 8 * pow2 (8 * (Seq.length b - 1))); + Math.Lemmas.pow2_plus 8 (8 * (Seq.length b - 1)); + lemma_factorise 8 (Seq.length b - 1) + end + +let rec lemma_be_to_n_is_bounded b = + if Seq.length b = 0 then () + else + begin + let s = Seq.slice b 0 (Seq.length b - 1) in + assert(Seq.length s = Seq.length b - 1); + lemma_be_to_n_is_bounded s; + assert(UInt8.v (Seq.last b) < pow2 8); + assert(be_to_n s < pow2 (8 * Seq.length s)); + assert(be_to_n b < pow2 8 + pow2 8 * pow2 (8 * (Seq.length b - 1))); + lemma_euclidean_division (UInt8.v (Seq.last b)) (be_to_n s) (pow2 8); + assert(be_to_n b <= pow2 8 * (be_to_n s + 1)); + assert(be_to_n b <= pow2 8 * pow2 (8 * (Seq.length b - 1))); + Math.Lemmas.pow2_plus 8 (8 * (Seq.length b - 1)); + lemma_factorise 8 (Seq.length b - 1) + end + +let rec n_to_le len n = + if len = 0 then + S.empty + else + let len = len - 1 in + let byte = U8.uint_to_t (n % 256) in + let n' = n / 256 in + Math.pow2_plus 8 (8 * len); + assert(n' < pow2 (8 * len )); + let b' = n_to_le len n' in + let b = S.cons byte b' in + S.lemma_eq_intro b' (S.tail b); + b + +let rec n_to_be len n = + if len = 0 then + S.empty + else + let len = len - 1 in + let byte = U8.uint_to_t (n % 256) in + let n' = n / 256 in + Math.pow2_plus 8 (8 * len); + let b' = n_to_be len n' in + let b'' = S.create 1 byte in + let b = S.append b' b'' in + S.lemma_eq_intro b' (S.slice b 0 len); + b + +/// Injectivity +/// ----------- + +// this lemma easily follows from le_to_n . (n_to_le len) == id, the inversion +// proof in the spec for n_to_le +let n_to_le_inj len n1 n2 = () + +let n_to_be_inj len n1 n2 = () + +let rec be_to_n_inj b1 b2 = + if Seq.length b1 = 0 + then () + else begin + be_to_n_inj (Seq.slice b1 0 (Seq.length b1 - 1)) (Seq.slice b2 0 (Seq.length b2 - 1)); + Seq.lemma_split b1 (Seq.length b1 - 1); + Seq.lemma_split b2 (Seq.length b2 - 1) + end + +let rec le_to_n_inj b1 b2 = + if Seq.length b1 = 0 + then () + else begin + le_to_n_inj (Seq.slice b1 1 (Seq.length b1)) (Seq.slice b2 1 (Seq.length b2)); + Seq.lemma_split b1 1; + Seq.lemma_split b2 1 + end + +/// Roundtripping +/// ------------- + +let n_to_be_be_to_n len s = + lemma_be_to_n_is_bounded s; + be_to_n_inj s (n_to_be len (be_to_n s)) + +let n_to_le_le_to_n len s = + lemma_le_to_n_is_bounded s; + le_to_n_inj s (n_to_le len (le_to_n s)) + + +/// Reasoning over sequences of integers +/// ------------------------------------ +/// +/// TODO: should these be sequences of nats instead? then re-use these lemmas to +/// export a variant (which we need for, say, hashes) specialized to F* machine +/// integers? + +let rec seq_uint32_of_le l b = + if S.length b = 0 then + S.empty + else + let hd, tl = Seq.split b 4 in + S.cons (uint32_of_le hd) (seq_uint32_of_le (l - 1) tl) + +let rec le_of_seq_uint32 s = + if S.length s = 0 then + S.empty + else + S.append (le_of_uint32 (S.head s)) (le_of_seq_uint32 (S.tail s)) + +let rec seq_uint32_of_be l b = + if S.length b = 0 then + S.empty + else + let hd, tl = Seq.split b 4 in + S.cons (uint32_of_be hd) (seq_uint32_of_be (l - 1) tl) + +let rec be_of_seq_uint32 s = + if S.length s = 0 then + S.empty + else + S.append (be_of_uint32 (S.head s)) (be_of_seq_uint32 (S.tail s)) + +let rec seq_uint64_of_le l b = + if S.length b = 0 then + S.empty + else + let hd, tl = Seq.split b 8 in + S.cons (uint64_of_le hd) (seq_uint64_of_le (l - 1) tl) + +let rec le_of_seq_uint64 s = + if S.length s = 0 then + S.empty + else + S.append (le_of_uint64 (S.head s)) (le_of_seq_uint64 (S.tail s)) + +let rec seq_uint64_of_be l b = + if S.length b = 0 then + S.empty + else + let hd, tl = Seq.split b 8 in + S.cons (uint64_of_be hd) (seq_uint64_of_be (l - 1) tl) + +let rec be_of_seq_uint64 s = + if S.length s = 0 then + S.empty + else + S.append (be_of_uint64 (S.head s)) (be_of_seq_uint64 (S.tail s)) + +/// Pure indexing & update over sequences +/// ------------------------------------- + +#set-options "--max_fuel 1 --max_ifuel 0 --z3rlimit 50" + +let rec offset_uint32_be (b: bytes) (n: nat) (i: nat) = + if S.length b = 0 then + false_elim () + else + let hd, tl = Seq.split b 4 in + if i = 0 then + () + else + offset_uint32_be tl (n - 1) (i - 1) + +let rec offset_uint32_le (b: bytes) (n: nat) (i: nat) = + if S.length b = 0 then + false_elim () + else + let hd, tl = Seq.split b 4 in + if i = 0 then + () + else + offset_uint32_le tl (n - 1) (i - 1) + +let rec offset_uint64_be (b: bytes) (n: nat) (i: nat) = + if S.length b = 0 then + false_elim () + else + let hd, tl = Seq.split b 8 in + if i = 0 then + () + else + offset_uint64_be tl (n - 1) (i - 1) + +let rec offset_uint64_le (b: bytes) (n: nat) (i: nat) = + if S.length b = 0 then + false_elim () + else + let hd, tl = Seq.split b 8 in + if i = 0 then + () + else + offset_uint64_le tl (n - 1) (i - 1) + + +/// Appending and slicing sequences of integers +/// ------------------------------------------- + +#set-options "--max_fuel 1 --z3rlimit 20" + +(* TODO: move to FStar.Seq.Properties, with the pattern *) +let tail_cons (#a: Type) (hd: a) (tl: S.seq a): Lemma + (ensures (S.equal (S.tail (S.cons hd tl)) tl)) +// [ SMTPat (S.tail (S.cons hd tl)) ] += + () + +let be_of_seq_uint32_base s1 s2 = () + +let le_of_seq_uint32_base s1 s2 = () + +let be_of_seq_uint64_base s1 s2 = () + +let rec be_of_seq_uint32_append s1 s2 = + if S.length s1 = 0 then begin + assert (S.equal (be_of_seq_uint32 s1) S.empty); + assert (S.equal s1 S.empty); + S.append_empty_l s2; + S.append_empty_l (be_of_seq_uint32 s2); + assert (S.equal (S.append s1 s2) s2); + () + end else begin + calc S.equal { + be_of_seq_uint32 (S.append s1 s2); + S.equal { () } + be_of_seq_uint32 (S.append (S.cons (S.head s1) (S.tail s1)) s2); + S.equal { S.append_cons (S.head s1) (S.tail s1) s2 } + be_of_seq_uint32 (S.cons (S.head s1) (S.append (S.tail s1) s2)); + S.equal { () } + be_of_seq_uint32 (S.cons (S.head s1) (S.append (S.tail s1) s2)); + S.equal { S.head_cons (S.head s1) (S.append (S.tail s1) s2); + tail_cons (S.head s1) (S.append (S.tail s1) s2) } + S.append (be_of_uint32 (S.head s1)) + (be_of_seq_uint32 (S.append (S.tail s1) s2)); + S.equal { be_of_seq_uint32_append (S.tail s1) s2 } + S.append (be_of_uint32 (S.head s1)) + (S.append (be_of_seq_uint32 (S.tail s1)) (be_of_seq_uint32 s2)); + } + end + +let rec le_of_seq_uint32_append s1 s2 = + Classical.forall_intro_2 (tail_cons #U32.t); // TODO: this is a local pattern, remove once tail_cons lands in FStar.Seq.Properties + if S.length s1 = 0 then begin + assert (S.equal (le_of_seq_uint32 s1) S.empty); + assert (S.equal (S.append s1 s2) s2); + () + end else begin + assert (S.equal (S.append s1 s2) (S.cons (S.head s1) (S.append (S.tail s1) s2))); + assert (S.equal (le_of_seq_uint32 (S.append s1 s2)) + (S.append (le_of_uint32 (S.head s1)) (le_of_seq_uint32 (S.append (S.tail s1) s2)))); + le_of_seq_uint32_append (S.tail s1) s2 + end + +let rec be_of_seq_uint64_append s1 s2 = + Classical.forall_intro_2 (tail_cons #U64.t); // TODO: this is a local pattern, remove once tail_cons lands in FStar.Seq.Properties + if S.length s1 = 0 then begin + assert (S.equal (be_of_seq_uint64 s1) S.empty); + assert (S.equal (S.append s1 s2) s2); + () + end else begin + assert (S.equal (S.append s1 s2) (S.cons (S.head s1) (S.append (S.tail s1) s2))); + assert (S.equal (be_of_seq_uint64 (S.append s1 s2)) + (S.append (be_of_uint64 (S.head s1)) (be_of_seq_uint64 (S.append (S.tail s1) s2)))); + be_of_seq_uint64_append (S.tail s1) s2 + end + +let rec seq_uint32_of_be_be_of_seq_uint32 n s = + if n = 0 + then () + else begin + assert (s `S.equal` S.cons (S.head s) (S.tail s)); + seq_uint32_of_be_be_of_seq_uint32 (n - 1) (S.tail s); + let s' = be_of_seq_uint32 s in + S.lemma_split s' 4; + S.lemma_append_inj (S.slice s' 0 4) (S.slice s' 4 (S.length s')) (be_of_uint32 (S.head s)) (be_of_seq_uint32 (S.tail s)) + end + +let rec be_of_seq_uint32_seq_uint32_of_be n s = + if n = 0 + then () + else begin + S.lemma_split s 4; + be_of_seq_uint32_seq_uint32_of_be (n - 1) (S.slice s 4 (S.length s)); + let s' = seq_uint32_of_be n s in + let hd, tl = S.split s 4 in + assert (S.head s' == uint32_of_be hd); + tail_cons (uint32_of_be hd) (seq_uint32_of_be (n - 1) tl); + assert (S.tail s' == seq_uint32_of_be (n - 1) tl); + let s'' = be_of_seq_uint32 s' in + S.lemma_split s'' 4; + S.lemma_append_inj (S.slice s'' 0 4) (S.slice s'' 4 (S.length s'')) (be_of_uint32 (S.head s')) (be_of_seq_uint32 (S.tail s')); + n_to_be_be_to_n 4 hd + end + +let slice_seq_uint32_of_be n s lo hi = () + +let be_of_seq_uint32_slice s lo hi = + slice_seq_uint32_of_be (S.length s) (be_of_seq_uint32 s) lo hi diff --git a/stage0/ulib/FStar.Endianness.fsti b/stage0/ulib/FStar.Endianness.fsti new file mode 100644 index 00000000000..3262f4afe03 --- /dev/null +++ b/stage0/ulib/FStar.Endianness.fsti @@ -0,0 +1,364 @@ +module FStar.Endianness + +/// A library of lemmas for reasoning about sequences of machine integers and +/// their (little|big)-endian representation as a sequence of bytes. +/// +/// The functions in this module aim to be as generic as possible, in order to +/// facilitate compatibility with: +/// - Vale's model of machine integers (nat64 et al.), which does not rely on +/// FStar's machine integers +/// - HACL*'s Lib.IntTypes module, which exposes a universal indexed integer +/// type but uses F* machine integers under the hood. +/// +/// To achieve maximum compatibility, we try to state most lemmas using nat +/// rather than UIntX. +/// +/// To limit context pollution, the definitions of the recursive functions are +/// abstract; please add lemmas as you see fit. In extreme cases, ``friend``'ing +/// might be de rigueur. +/// +/// .. note:: +/// +/// This module supersedes the poorly-named ``FStar.Krml.Endianness``. + +module U8 = FStar.UInt8 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 +module Math = FStar.Math.Lemmas +module S = FStar.Seq + +[@@ noextract_to "krml"] +type bytes = S.seq U8.t + +open FStar.Mul + + +/// Definition of little and big-endianness +/// --------------------------------------- +/// +/// This is our spec, to be audited. From bytes to nat. + +/// lt_to_n interprets a byte sequence as a little-endian natural number +val le_to_n : b:bytes -> Tot nat + +/// be_to_n interprets a byte sequence as a big-endian natural number +val be_to_n : b:bytes -> Tot nat + +/// Induction for le_to_n and be_to_n + +val reveal_le_to_n (b:bytes) + : Lemma + (le_to_n b == + (match Seq.length b with + | 0 -> 0 + | _ -> U8.v (S.head b) + pow2 8 * le_to_n (S.tail b))) + +val reveal_be_to_n (b:bytes) + : Lemma + (be_to_n b == + (match Seq.length b with + | 0 -> 0 + | _ -> U8.v (S.last b) + pow2 8 * be_to_n (S.slice b 0 (S.length b - 1)))) + +val lemma_le_to_n_is_bounded: b:bytes -> Lemma + (requires True) + (ensures (le_to_n b < pow2 (8 * Seq.length b))) + (decreases (Seq.length b)) + +val lemma_be_to_n_is_bounded: b:bytes -> Lemma + (requires True) + (ensures (be_to_n b < pow2 (8 * Seq.length b))) + (decreases (Seq.length b)) + + +/// Inverse operations +/// ------------------ +/// +/// From nat to bytes, and their functional correctness. + +/// n_to_le encodes a number as a little-endian byte sequence of a fixed, +/// sufficiently large length. +val n_to_le : len:nat -> n:nat{n < pow2 (8 * len)} -> + Tot (b:bytes{S.length b == len /\ n == le_to_n b}) + (decreases len) + +/// n_to_be encodes a numbers as a big-endian byte sequence of a fixed, +/// sufficiently large length +val n_to_be: + len:nat -> n:nat{n < pow2 (8 * len)} -> + Tot (b:bytes{S.length b == len /\ n == be_to_n b}) + (decreases len) + +/// Injectivity +/// ----------- + +val n_to_le_inj (len: nat) (n1 n2: (n:nat{n < pow2 (8 * len)})): + Lemma (requires (n_to_le len n1 == n_to_le len n2)) + (ensures (n1 == n2)) + +val n_to_be_inj (len: nat) (n1 n2: (n:nat{n < pow2 (8 * len)})) : + Lemma (requires (n_to_be len n1 == n_to_be len n2)) + (ensures (n1 == n2)) + +val be_to_n_inj + (b1 b2: Seq.seq U8.t) +: Lemma + (requires (Seq.length b1 == Seq.length b2 /\ be_to_n b1 == be_to_n b2)) + (ensures (Seq.equal b1 b2)) + (decreases (Seq.length b1)) + +val le_to_n_inj + (b1 b2: Seq.seq U8.t) +: Lemma + (requires (Seq.length b1 == Seq.length b2 /\ le_to_n b1 == le_to_n b2)) + (ensures (Seq.equal b1 b2)) + (decreases (Seq.length b1)) + +/// Roundtripping +/// ------------- + +val n_to_be_be_to_n (len: nat) (s: Seq.seq U8.t) : Lemma + (requires (Seq.length s == len)) + (ensures ( + be_to_n s < pow2 (8 * len) /\ + n_to_be len (be_to_n s) == s + )) + [SMTPat (n_to_be len (be_to_n s))] + +val n_to_le_le_to_n (len: nat) (s: Seq.seq U8.t) : Lemma + (requires (Seq.length s == len)) + (ensures ( + le_to_n s < pow2 (8 * len) /\ + n_to_le len (le_to_n s) == s + )) + [SMTPat (n_to_le len (le_to_n s))] + + +/// Specializations for F* machine integers +/// --------------------------------------- +/// +/// These are useful because they take care of calling the right ``*_is_bounded`` lemmas. + +let uint32_of_le (b: bytes { S.length b = 4 }) = + let n = le_to_n b in + lemma_le_to_n_is_bounded b; + UInt32.uint_to_t n + +let le_of_uint32 (x: UInt32.t): b:bytes{ S.length b = 4 } = + n_to_le 4 (UInt32.v x) + +let uint32_of_be (b: bytes { S.length b = 4 }) = + let n = be_to_n b in + lemma_be_to_n_is_bounded b; + UInt32.uint_to_t n + +let be_of_uint32 (x: UInt32.t): b:bytes{ S.length b = 4 } = + n_to_be 4 (UInt32.v x) + +let uint64_of_le (b: bytes { S.length b = 8 }) = + let n = le_to_n b in + lemma_le_to_n_is_bounded b; + UInt64.uint_to_t n + +let le_of_uint64 (x: UInt64.t): b:bytes{ S.length b = 8 } = + n_to_le 8 (UInt64.v x) + +let uint64_of_be (b: bytes { S.length b = 8 }) = + let n = be_to_n b in + lemma_be_to_n_is_bounded b; + UInt64.uint_to_t n + +let be_of_uint64 (x: UInt64.t): b:bytes{ S.length b = 8 } = + n_to_be 8 (UInt64.v x) + + +/// Lifting {le,be}_to_n / n_to_{le,be} to sequences +/// ------------------------------------------------ +/// +/// TODO: 16-bit (but is it really needed?) +/// TODO: should these be specializations of generic functions that chop on +/// N-byte boundaries, and operate on bounded nats instead of uints? + +val seq_uint32_of_le (l: nat) (b: bytes{ S.length b = 4 * l }): + s:S.seq UInt32.t { S.length s = l } + +val le_of_seq_uint32 (s: S.seq UInt32.t): + Tot (b:bytes { S.length b = 4 * S.length s }) + (decreases (S.length s)) + +val seq_uint32_of_be (l: nat) (b: bytes{ S.length b = 4 * l }): + s:S.seq UInt32.t { S.length s = l } + +val be_of_seq_uint32 (s: S.seq UInt32.t): + Tot (b:bytes { S.length b = 4 * S.length s }) + (decreases (S.length s)) + +val seq_uint64_of_le (l: nat) (b: bytes{ S.length b = 8 * l }): + s:S.seq UInt64.t { S.length s = l } + +val le_of_seq_uint64 (s: S.seq UInt64.t): + Tot (b:bytes { S.length b = 8 * S.length s }) + (decreases (S.length s)) + +val seq_uint64_of_be (l: nat) (b: bytes{ S.length b = 8 * l }): + s:S.seq UInt64.t { S.length s = l } + +val be_of_seq_uint64 (s: S.seq UInt64.t): + Tot (b:bytes { S.length b = 8 * S.length s }) + (decreases (S.length s)) + + +/// Complete specification of the combinators above, relating them to {le,be}_to_ / n_to_{le,be} +/// -------------------------------------------------------------------------------------------- + +val offset_uint32_be (b: bytes) (n: nat) (i: nat): + Lemma + (requires ( + S.length b = 4 * n /\ + i < n)) + (ensures ( + S.index (seq_uint32_of_be n b) i == uint32_of_be (S.slice b (4 * i) (4 * i + 4)))) + (decreases ( + S.length b)) + [ SMTPat (S.index (seq_uint32_of_be n b) i) ] + +val offset_uint32_le (b: bytes) (n: nat) (i: nat): + Lemma + (requires ( + S.length b = 4 * n /\ + i < n)) + (ensures ( + S.index (seq_uint32_of_le n b) i == uint32_of_le (S.slice b (4 * i) (4 * i + 4)))) + (decreases ( + S.length b)) + [ SMTPat (S.index (seq_uint32_of_le n b) i) ] + +val offset_uint64_be (b: bytes) (n: nat) (i: nat): + Lemma + (requires ( + S.length b = 8 * n /\ + i < n)) + (ensures ( + S.index (seq_uint64_of_be n b) i == uint64_of_be (S.slice b (8 * i) (8 * i + 8)))) + (decreases ( + S.length b)) + [ SMTPat (S.index (seq_uint64_of_be n b) i) ] + +val offset_uint64_le (b: bytes) (n: nat) (i: nat): + Lemma + (requires ( + S.length b = 8 * n /\ + i < n)) + (ensures ( + S.index (seq_uint64_of_le n b) i == uint64_of_le (S.slice b (8 * i) (8 * i + 8)))) + (decreases ( + S.length b)) + [ SMTPat (S.index (seq_uint64_of_le n b) i) ] + + +/// Reasoning about appending such sequences +/// ---------------------------------------- +/// +/// TODO: this is fairly incomplete +/// TODO: the *_base cases seem ad-hoc and derivable trivially from offset above; why have them? + +val be_of_seq_uint32_base (s1: S.seq U32.t) (s2: S.seq U8.t): Lemma + (requires ( + S.length s1 = 1 /\ + S.length s2 = 4 /\ + be_to_n s2 = U32.v (S.index s1 0))) + (ensures (S.equal s2 (be_of_seq_uint32 s1))) + [ SMTPat (be_to_n s2); SMTPat (U32.v (S.index s1 0)) ] + +val le_of_seq_uint32_base (s1: S.seq U32.t) (s2: S.seq U8.t): Lemma + (requires ( + S.length s1 = 1 /\ + S.length s2 = 4 /\ + le_to_n s2 = U32.v (S.index s1 0))) + (ensures (S.equal s2 (le_of_seq_uint32 s1))) + [ SMTPat (le_to_n s2); SMTPat (U32.v (S.index s1 0)) ] + +val be_of_seq_uint64_base (s1: S.seq U64.t) (s2: S.seq U8.t): Lemma + (requires ( + S.length s1 = 1 /\ + S.length s2 = 8 /\ + be_to_n s2 = U64.v (S.index s1 0))) + (ensures (S.equal s2 (be_of_seq_uint64 s1))) + [ SMTPat (be_to_n s2); SMTPat (U64.v (S.index s1 0)) ] + +val be_of_seq_uint32_append (s1 s2: S.seq U32.t): Lemma + (ensures ( + S.equal (be_of_seq_uint32 (S.append s1 s2)) + (S.append (be_of_seq_uint32 s1) (be_of_seq_uint32 s2)))) + (decreases ( + S.length s1)) + [ SMTPat (S.append (be_of_seq_uint32 s1) (be_of_seq_uint32 s2)) ] + +val le_of_seq_uint32_append (s1 s2: S.seq U32.t): Lemma + (ensures ( + S.equal (le_of_seq_uint32 (S.append s1 s2)) + (S.append (le_of_seq_uint32 s1) (le_of_seq_uint32 s2)))) + (decreases ( + S.length s1)) + [ SMTPat (S.append (le_of_seq_uint32 s1) (le_of_seq_uint32 s2)) ] + +val be_of_seq_uint64_append (s1 s2: S.seq U64.t): Lemma + (ensures ( + S.equal (be_of_seq_uint64 (S.append s1 s2)) + (S.append (be_of_seq_uint64 s1) (be_of_seq_uint64 s2)))) + (decreases ( + S.length s1)) + [ SMTPat (S.append (be_of_seq_uint64 s1) (be_of_seq_uint64 s2)) ] + +/// Roundtripping +/// ------------- +/// +/// TODO: also incomplete + +val seq_uint32_of_be_be_of_seq_uint32 (n: nat) (s: S.seq U32.t) : Lemma + (requires (n == S.length s)) + (ensures (seq_uint32_of_be n (be_of_seq_uint32 s) `S.equal` s)) + (decreases n) + [SMTPat (seq_uint32_of_be n (be_of_seq_uint32 s))] + +val be_of_seq_uint32_seq_uint32_of_be (n: nat) (s: S.seq U8.t) : Lemma + (requires (4 * n == S.length s)) + (ensures (be_of_seq_uint32 (seq_uint32_of_be n s) `S.equal` s)) + (decreases n) + [SMTPat (be_of_seq_uint32 (seq_uint32_of_be n s))] + +/// Reasoning about slicing such sequences +/// -------------------------------------- +/// +/// (Needs SMTPats above for roundtripping in their proof, hence why they're at the end.) + +val slice_seq_uint32_of_be (n: nat) (s: S.seq U8.t) (lo: nat) (hi: nat) : Lemma + (requires (4 * n == S.length s /\ lo <= hi /\ hi <= n)) + (ensures (S.slice (seq_uint32_of_be n s) lo hi) `S.equal` seq_uint32_of_be (hi - lo) (S.slice s (4 * lo) (4 * hi))) + +val be_of_seq_uint32_slice (s: S.seq U32.t) (lo: nat) (hi: nat) : Lemma + (requires (lo <= hi /\ hi <= S.length s)) + (ensures (be_of_seq_uint32 (S.slice s lo hi) `S.equal` S.slice (be_of_seq_uint32 s) (4 * lo) (4 * hi))) + + +/// Some reasoning about zero bytes + +let rec le_to_n_zeros (s:bytes) + : Lemma + (requires + forall (i:nat). i < Seq.length s ==> Seq.index s i == 0uy) + (ensures le_to_n s == 0) + (decreases (Seq.length s)) + = reveal_le_to_n s; + if Seq.length s = 0 then () + else le_to_n_zeros (Seq.tail s) + +let rec be_to_n_zeros (s:bytes) + : Lemma + (requires + forall (i:nat). i < Seq.length s ==> Seq.index s i == 0uy) + (ensures be_to_n s == 0) + (decreases (Seq.length s)) + = reveal_be_to_n s; + if Seq.length s = 0 then () + else be_to_n_zeros (Seq.slice s 0 (Seq.length s - 1)) diff --git a/stage0/ulib/FStar.Exn.fst b/stage0/ulib/FStar.Exn.fst new file mode 100644 index 00000000000..82ef58e98c4 --- /dev/null +++ b/stage0/ulib/FStar.Exn.fst @@ -0,0 +1,23 @@ +(* + 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.Exn + +(** Providing the signature of [raise], + that is implemented natively in FStar_Exn.ml as primitive raise *) +assume +val raise (e: exn) : Exn 'a (requires True) (ensures (fun r -> r == E e)) + diff --git a/stage0/ulib/FStar.ExtractAs.fst b/stage0/ulib/FStar.ExtractAs.fst new file mode 100644 index 00000000000..11a785dafac --- /dev/null +++ b/stage0/ulib/FStar.ExtractAs.fst @@ -0,0 +1,37 @@ +(* + Copyright 2024 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.ExtractAs +open FStar.Stubs.Reflection.Types + +(** Replaces the annotated definition + by the specified implementation during extraction. + There are no checks whether the implementation + has the same semantics, or even the same type. + + For example, if you have: + + [@@extract_as (`(fun (x: nat) -> "not a number"))] + let add_one (x: nat) : nat = x + 42 + + Then `add_one` will extract to `let add_one x = "not a number"`, + and most likely cause the extracted program to crash. + + Note that the argument needs to be a literal quotation. + The implementation can be recursive, + but then you need to construct the attribute via a tactic. + *) +let extract_as (impl: term) = () diff --git a/stage0/ulib/FStar.Fin.fst b/stage0/ulib/FStar.Fin.fst new file mode 100644 index 00000000000..306c781e04a --- /dev/null +++ b/stage0/ulib/FStar.Fin.fst @@ -0,0 +1,162 @@ +(* + 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.Fin + +/// This module is supposed to contain various lemmas about +/// finiteness. For now, it mainly provides a basic pigeonhole +/// principle +/// +/// TODO: We might generalize this to also support general utilities +/// for reasoning about cardinality, relation with injections and +/// surjections, etc. +/// +/// UPD. November 8, 2022 -- added support for custom equivalence relation-aware +/// pigeon principle lemma. +/// +/// For better readability of lemmas, Argument types are kept explicit, +/// effectively duplicating the interface file declarations. + +module S = FStar.Seq + +(** Find an index of an element in [s] starting from [i] that validates [p] *) +let rec find (#a: Type) (s: S.seq a) (p: (a -> bool)) (i: under (S.length s)) = + if p (S.index s i) + then Some i + else if i + 1 < S.length s + then find #a s p (i + 1) + else None + +(** Given a sequence [s] all of whose elements are at most [n], if the + length of [s] is greater than [n], then there are two distinct + indexes in [s] that contain the same element *) +let rec pigeonhole (#n: pos) (s: S.seq (under n)) = + if n = 1 then (0, 1) + else let k0 = S.index s 0 in + match find s (fun k -> k = k0) 1 with + | Some i -> 0, i + | None -> let (i1,i2) = + pigeonhole (S.init #(under (n-1)) n + (fun i -> let k = S.index s (i+1) in + if k x `r` z + +let is_reflexive_intro #a r = reveal_opaque (`%is_reflexive) (is_reflexive #a) + +let is_symmetric_intro #a r = reveal_opaque (`%is_reflexive) (is_reflexive #a) + +let is_transitive_intro #a r = reveal_opaque (`%is_reflexive) (is_reflexive #a) + +let refl_lemma #a _ _ = reveal_opaque (`%is_reflexive) (is_reflexive #a) + +let symm_lemma #a _ _ _ = reveal_opaque (`%is_symmetric) (is_symmetric #a) + +let trans_lemma #a _ _ _ _ = reveal_opaque (`%is_transitive) (is_transitive #a); + reveal_opaque (`%is_symmetric) (is_symmetric #a) + + +let contains_eq_means_nonempty #a (eq:equivalence_relation a) (s: S.seq a) (x:a) + : Lemma (requires contains_eq eq s x) + (ensures S.length s > 0) + [SMTPat(contains_eq eq s x)] + = reveal_opaque (`%contains_eq) (contains_eq eq) + +let tail_contains_eq #a (eq: equivalence_relation a) (s:S.seq a) + (x:a { contains_eq eq s x /\ ~(eq x (S.head s)) }) + : Lemma (contains_eq eq (S.tail s) x) + = let t = S.tail s in + reveal_opaque (`%contains_eq) (contains_eq eq); + eliminate exists (i: under (S.length s)). eq x (S.index s i) + returns exists (k: under (S.length t)). eq x (S.index t k) + with _. assert (S.index s i == S.index t (i-1)) + +(** retrieves the index of an element given prior knowledge of its presense + unlike find function above, that returns option, this one guarantees + success, thus returning bare index instead. *) +let rec find_eq #a (eq:equivalence_relation a) (s: S.seq a) + (x:a { contains_eq eq s x }) + : Tot (i: nat { (i < S.length s) /\ + (x `eq` S.index s i) /\ + (forall (j: under i). not (x `eq` S.index s j)) }) + (decreases S.length s) + = reveal_opaque (`%contains_eq) (contains_eq eq); + if S.length s = 1 then 0 + else if x `eq` S.index s 0 then 0 + else begin + tail_contains_eq eq s x; + let ieq = find_eq eq (S.tail s) x in + let aux (i: under (1 + ieq)) + : Lemma (not (x `eq` S.index s i)) + = if i > 0 + then assert (S.index (S.tail s) (i-1) == S.index s i) + in Classical.forall_intro aux; + 1 + ieq + end + +(** pigeonhole principle for setoids: + If we have a nonempty sequence (all), and a sequence (s), + and we know in advance that each item of (s) equals some + item in (all), equals meaning (eq), not (==), + then we automatically know that there are at least + 2 equivalent elements in (s). + + This procedure returns the first such pair. *) + +// for better readability, I kept the signature explicit +let rec pigeonhole_eq (#a:Type) (eq: equivalence_relation a) + (holes: S.seq a{S.length holes > 0}) + (pigeons: S.seq (items_of eq holes)) = + if S.length holes = 1 + then begin + reveal_opaque (`%contains_eq) (contains_eq eq); + trans_lemma eq (S.index pigeons 0) (S.index holes 0) (S.index pigeons 1); + (0,1) + end + else let first_pigeon = S.index pigeons 0 in + match find pigeons (fun k -> eq k first_pigeon) 1 with + | Some i -> (symm_lemma eq (S.index pigeons 0) (S.index pigeons i); (0,i)) + | None -> + let index_of_first_pigeon = find_eq eq holes first_pigeon in //we carefully carve first_pigeon from (holes) + let holes_except_first_pigeon = S.append (S.slice holes 0 (index_of_first_pigeon)) + (S.slice holes (index_of_first_pigeon+1) (S.length holes)) in + let all_but_first_pigeon_remain_in_reduced (x: items_of eq holes { not (eq x first_pigeon) }) + : Lemma (contains_eq eq holes_except_first_pigeon x) + = let index_of_x_in_holes = find_eq eq holes x in + reveal_opaque (`%contains_eq) (contains_eq eq); + if index_of_x_in_holes < index_of_first_pigeon + then assert (S.index holes index_of_x_in_holes == S.index holes_except_first_pigeon index_of_x_in_holes) + else begin + // this serves to prove index_of_x_in_holes > index_of_first_pigeon (no equality!) + Classical.move_requires (trans_lemma eq x (S.index holes index_of_x_in_holes)) first_pigeon; + // append/slice smtpat hint + assert (S.index holes index_of_x_in_holes == S.index holes_except_first_pigeon (index_of_x_in_holes-1)) + end + in Classical.forall_intro all_but_first_pigeon_remain_in_reduced; + let i1, i2 = pigeonhole_eq (eq) (holes_except_first_pigeon) + (S.init #(items_of eq holes_except_first_pigeon) + (S.length pigeons - 1) + (fun i -> S.index pigeons (i+1))) + in (i1+1, i2+1) + diff --git a/stage0/ulib/FStar.Fin.fsti b/stage0/ulib/FStar.Fin.fsti new file mode 100644 index 00000000000..f00030d4f63 --- /dev/null +++ b/stage0/ulib/FStar.Fin.fsti @@ -0,0 +1,158 @@ +(* + 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.Fin + +/// This module is supposed to contain various lemmas about +/// finiteness. For now, it mainly provides a basic pigeonhole +/// principle +/// +/// TODO: We might generalize this to also support general utilities +/// for reasoning about cardinality, relation with injections and +/// surjections, etc. +/// +/// UPD. November 8, 2022 -- added support for custom equivalence relation-aware +/// pigeon principle lemma. +/// UPD. November 23, 2022 -- added interface file + +module L = FStar.List.Tot +module S = FStar.Seq + +(** The type of natural numbers bounded by [n] *) +inline_for_extraction +let fin (n: nat) = k: int {0 <= k /\ k < n} + +(** Newer synonym. We perhaps should choose one over another globally. + [under] is also defined in IntegerIntervals.fst, along with other + often used finite intervals. *) +inline_for_extraction +let under (p:nat) = x:nat {x bool)) (i: under (S.length s)) + : Pure (option (in_ s)) + (requires True) + (ensures (function + | None -> (forall (k: nat{i <= k /\ k < S.length s}). p (S.index s k) == false) + | Some j -> i <= j /\ p (S.index s j))) + (decreases (S.length s - i)) + +(** Given a sequence [s] all of whose elements are at most [n], if the + length of [s] is greater than [n], then there are two distinct + indexes in [s] that contain the same element *) +val pigeonhole (#n: pos) (s: S.seq (under n)) + : Pure (in_ s & in_ s) + (requires S.length s = n + 1) + (ensures (fun (i1, i2) -> i1 < i2 /\ S.index s i1 = S.index s i2)) + (decreases n) + +(** Here we prepare to prove pigeonhole principle for a finite sequence + with a custom equivalence relation (as opposed to eqtype). + + Think setoids. *) + +(** Following code is extracted from CuteCAS, which will eventually make + its way into F* -- when I wrap things up with most important notions + of abstract algebra. + + As I port more code from my CAS project to F*, such things will be + moved to separate modules. -- Alex Rozanov *) + +inline_for_extraction +type binary_relation (a: Type) = a -> a -> bool + +(** For performance reasons, forall definitions are best kept hidden from SMT. + Use reveal_opaque when you really need it. Or use refl/trans/symm lemmas + below to keep the context clean. *) + +val is_reflexive (#a:Type) (r: binary_relation a) : Type0 +val is_symmetric (#a:Type) (r: binary_relation a) : Type0 +val is_transitive (#a:Type) (r: binary_relation a) : Type0 + +val is_reflexive_intro (#a:Type) (r: binary_relation a) + : Lemma (requires forall (x:a). r x x) (ensures is_reflexive r) + +val is_symmetric_intro (#a:Type) (r: binary_relation a) + : Lemma (requires forall (x:a). r x x) (ensures is_reflexive r) + +val is_transitive_intro (#a:Type) (r: binary_relation a) + : Lemma (requires forall (x:a). r x x) (ensures is_reflexive r) + +(** Textbook stuff on equivalence relations *) +type equivalence_relation (a: Type) + = r:binary_relation a { is_reflexive r /\ is_symmetric r /\ is_transitive r } + +val refl_lemma (#a:Type) (eq: equivalence_relation a) (x:a) + : Lemma (eq x x) + +val symm_lemma (#a:Type) (eq:equivalence_relation a) (x y:a) + : Lemma (eq x y == eq y x) + +val trans_lemma (#a:Type) (eq: equivalence_relation a) (x y z:a) + : Lemma (requires (eq x y \/ eq y x) /\ (eq y z \/ eq z y)) + (ensures (x `eq` z) && (z `eq` x)) + + +(** (contains) predicate, but with custom comparison operation (a->a->bool) *) +[@@"opaque_to_smt"] +let contains_eq #a (eq: equivalence_relation a) (s: S.seq a) (x:a) + = exists (i:under (S.length s)). eq x (S.index s i) + +val contains_eq_means_nonempty (#a:Type) (eq:equivalence_relation a) (s: S.seq a) (x:a) + : Lemma (requires contains_eq eq s x) + (ensures S.length s > 0) + [SMTPat(contains_eq eq s x)] + +(** a type of all elements present in a given sequence *) +let items_of #a (eq: equivalence_relation a) (s: S.seq a) + = x:a { contains_eq eq s x } + +(** retrieves the index of an element given prior knowledge of its presense + unlike find function above, that returns option, this one guarantees + success, thus returning bare index instead. *) +val find_eq (#a:Type) (eq:equivalence_relation a) (s: S.seq a) (x:a { contains_eq eq s x }) + : (i: nat { (i < S.length s) + /\ (x `eq` S.index s i) + /\ (forall (j: under i). not (x `eq` S.index s j)) }) + +(** pigeonhole principle for setoids: + If we have a nonempty sequence (all), and a sequence (s), + and we know in advance that each item of (s) equals some + item in (all), equals meaning (eq), not (==), + then we automatically know that there are at least + 2 equivalent elements in (s). + + This procedure returns the first such pair. *) + +val pigeonhole_eq (#a:Type) (eq: equivalence_relation a) + (holes: S.seq a{S.length holes > 0}) + (pigeons: S.seq (items_of eq holes)) + : Pure (under (S.length pigeons) & under (S.length pigeons)) + (requires S.length pigeons > S.length holes) + (ensures (fun (i1, i2) -> i1 < i2 /\ (S.index pigeons i1 `eq` S.index pigeons i2))) + (decreases S.length holes) diff --git a/stage0/ulib/FStar.FiniteMap.Ambient.fst b/stage0/ulib/FStar.FiniteMap.Ambient.fst new file mode 100644 index 00000000000..4b046cd9018 --- /dev/null +++ b/stage0/ulib/FStar.FiniteMap.Ambient.fst @@ -0,0 +1,44 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module brings properties about finite maps ambiently into the +context. The properties are modeled after those in the Dafny sequence +axioms, with patterns for quantifiers chosen as in those axioms. + +@summary Puts properties of finite maps into the ambient context +*) +module FStar.FiniteMap.Ambient + +open FStar.FiniteMap.Base + +let all_finite_map_facts_ambient : squash (all_finite_map_facts u#b) = + all_finite_map_facts_lemma u#b () + diff --git a/stage0/ulib/FStar.FiniteMap.Base.fst b/stage0/ulib/FStar.FiniteMap.Base.fst new file mode 100644 index 00000000000..e9b9608b26d --- /dev/null +++ b/stage0/ulib/FStar.FiniteMap.Base.fst @@ -0,0 +1,321 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling +finite maps as they're modeled in Dafny. + +@summary Type and functions for modeling finite maps +*) +module FStar.FiniteMap.Base + +open FStar.FunctionalExtensionality +module FLT = FStar.List.Tot +module FSet = FStar.FiniteSet.Base +open FStar.FiniteSet.Ambient +module T = FStar.Tactics.V2 + +// Finite maps +type map (a: eqtype) (b: Type u#b) = (keys: FSet.set a & setfun_t a b keys) + +let domain (#a: eqtype) (#b: Type u#b) (m: map a b) : FSet.set a = + let (| keys, _ |) = m in + keys + + +let elements (#a: eqtype) (#b: Type u#b) (m: map a b) : (setfun_t a b (domain m)) = + let (| _, f |) = m in + f + +let rec key_list_to_item_list + (#a: eqtype) + (#b: Type u#b) + (m: map a b) + (keys: list a{FSet.list_nonrepeating keys /\ (forall key. FLT.mem key keys ==> FSet.mem key (domain m))}) +: GTot (items: list (a & b){item_list_doesnt_repeat_keys items /\ (forall key. FLT.mem key keys <==> key_in_item_list key items)}) + (decreases keys) = + match keys with + | [] -> [] + | key :: remaining_keys -> (key, Some?.v ((elements m) key)) :: key_list_to_item_list m remaining_keys + +let map_as_list (#a: eqtype) (#b: Type u#b) (m: map a b) +: GTot (items: list (a & b){item_list_doesnt_repeat_keys items /\ (forall key. key_in_item_list key items <==> mem key m)}) = + key_list_to_item_list m (FSet.set_as_list (domain m)) + +/// We represent the Dafny function `Map#Card` with `cardinality`: +/// +/// function Map#Card(Map U V) : int; + +let cardinality (#a: eqtype) (#b: Type u#b) (m: map a b) : GTot nat = + FSet.cardinality (domain m) + +/// We represent the Dafny function `Map#Values` with `values`: +/// +/// function Map#Values(Map U V) : Set V; + +let values (#a: eqtype) (#b: Type u#b) (m: map a b) : GTot (b -> prop) = + fun value -> exists key. ((elements m) key == Some value) + +/// We represent the Dafny function `Map#Items` with `items`: +/// +/// function Map#Items(Map U V) : Set Box; + +let items (#a: eqtype) (#b: Type u#b) (m: map a b) : GTot ((a & b) -> prop) = + fun item -> ((elements m) (fst item) == Some (snd item)) + +/// We represent the Dafny function `Map#Empty` with `emptymap`: +/// +/// function Map#Empty(): Map U V; + +let emptymap (#a: eqtype) (#b: Type u#b) : (map a b) = + (| FSet.emptyset, on_domain a (fun key -> None) |) + +/// We represent the Dafny function `Map#Glue` with `glue`. +/// +/// function Map#Glue([U]bool, [U]V, Ty): Map U V; + +let glue (#a: eqtype) (#b: Type u#b) (keys: FSet.set a) (f: setfun_t a b keys) : map a b = + (| keys, f |) + +/// We represent the Dafny function `Map#Build` with `build`: +/// +/// function Map#Build(Map U V, U, V): Map U V; + +let insert (#a: eqtype) (#b: Type u#b) (k: a) (v: b) (m: map a b) : map a b = + let keys' = FSet.insert k (domain m) in + let f' = on_domain a (fun key -> if key = k then Some v else (elements m) key) in + (| keys', f' |) + +/// We represent the Dafny function `Map#Merge` with `merge`: +/// +/// function Map#Merge(Map U V, Map U V): Map U V; + +let merge (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) : map a b = + let keys' = FSet.union (domain m1) (domain m2) in + let f' = on_domain a (fun key -> if FSet.mem key (domain m2) then (elements m2) key else (elements m1) key) in + (| keys', f' |) + +/// We represent the Dafny function `Map#Subtract` with `subtract`: +/// +/// function Map#Subtract(Map U V, Set U): Map U V; + +let subtract (#a: eqtype) (#b: Type u#b) (m: map a b) (s: FSet.set a) : map a b = + let keys' = FSet.difference (domain m) s in + let f' = on_domain a (fun key -> if FSet.mem key keys' then (elements m) key else None) in + (| keys', f' |) + +/// We represent the Dafny function `Map#Equal` with `equal`: +/// +/// function Map#Equal(Map U V, Map U V): bool; + +let equal (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) : prop = + feq (elements m1) (elements m2) /\ True //a bit ugly, a prop coercion + +/// We represent the Dafny function `Map#Disjoint` with `disjoint`: +/// +/// function Map#Disjoint(Map U V, Map U V): bool; + +let disjoint (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) : prop = + FSet.disjoint (domain m1) (domain m2) /\ True //prop coercion + +/// We represent the Dafny choice operator by `choose`: +/// +/// var x: T :| x in s; + +let choose (#a: eqtype) (#b: Type u#b) (m: map a b{exists key. mem key m}) : GTot (key: a{mem key m}) = + FSet.choose (domain m) + +/// We now prove each of the facts that comprise `all_finite_map_facts`. +/// For fact `xxx_fact`, we prove it with `xxx_lemma`. + +let cardinality_zero_iff_empty_lemma () +: Lemma (cardinality_zero_iff_empty_fact u#b) = + introduce forall (a: eqtype) (b:Type u#b) (m: map a b). cardinality m = 0 <==> m == emptymap + with ( + introduce cardinality m = 0 ==> m == emptymap + with _. assert (feq (elements m) (elements emptymap)) + ) + + +let empty_or_domain_occupied_lemma () + : Lemma (empty_or_domain_occupied_fact u#b) + = introduce forall (a: eqtype) (b:Type u#b) (m: map a b). m == emptymap \/ (exists k. mem k m) + with ( + if FSet.cardinality (domain m) = 0 then + introduce m == emptymap \/ (exists k. mem k m) + with Left ( + assert (cardinality m = 0); + cardinality_zero_iff_empty_lemma () + ) + else + introduce m == emptymap \/ (exists k. mem k m) + with Right () + ) + + +let empty_or_values_occupied_lemma () +: Lemma (empty_or_values_occupied_fact u#b) = + introduce forall (a: eqtype) (b:Type u#b) (m: map a b). m == emptymap \/ (exists v. (values m) v) + with + if FSet.cardinality (domain m) = 0 then + introduce m == emptymap \/ (exists v. (values m) v) + with Left ( + assert (cardinality m = 0); + cardinality_zero_iff_empty_lemma u#b () + ) + else + introduce m == emptymap \/ (exists v. (values m) v) + with Right ( + let k = choose m in + let v = Some?.v ((elements m) k) in + assert ((values m) v) + ) + +let empty_or_items_occupied_lemma () +: Lemma (empty_or_items_occupied_fact u#b) = + introduce forall (a: eqtype) (b: Type u#b) (m: map a b). m == emptymap \/ (exists item. (items m) item) + with + if FSet.cardinality (domain m) = 0 then + introduce m == emptymap \/ (exists v. (values m) v) + with Left ( + assert (cardinality m = 0); + cardinality_zero_iff_empty_lemma u#b () + ) + else + introduce m == emptymap \/ (exists item. (items m) item) + with Right ( + let k = choose m in + let v = Some?.v ((elements m) k) in + assert ((items m) (k, v)) + ) + +let map_cardinality_matches_domain_lemma () +: Lemma (map_cardinality_matches_domain_fact u#b) = + () + +let values_contains_lemma () +: Lemma (values_contains_fact u#b) = + () + +let items_contains_lemma () +: Lemma (items_contains_fact u#b) = + () + +let empty_domain_empty_lemma () +: Lemma (empty_domain_empty_fact u#b) = + () + +let glue_domain_lemma () +: Lemma (glue_domain_fact u#b) = + () + +let glue_elements_lemma () +: Lemma (glue_elements_fact u#b) = + () + +let insert_elements_lemma () +: Lemma (insert_elements_fact u#b) = + () + +let insert_member_cardinality_lemma () +: Lemma (insert_member_cardinality_fact u#b) = + () + +let insert_nonmember_cardinality_lemma () +: Lemma (insert_nonmember_cardinality_fact u#b) = + () + +let merge_domain_is_union_lemma () +: Lemma (merge_domain_is_union_fact u#b) = + () + +let merge_element_lemma () +: Lemma (merge_element_fact u#b) = + () + +let subtract_domain_lemma () +: Lemma (subtract_domain_fact u#b) = + () + +let subtract_element_lemma () +: Lemma (subtract_element_fact u#b) = + () + + +let map_equal_lemma () +: Lemma (map_equal_fact u#b) //Surprising; needed to split this goal into two += assert (map_equal_fact u#b) + by (T.norm [delta_only [`%map_equal_fact]]; + let _ = T.forall_intro () in + let _ = T.forall_intro () in + let _ = T.forall_intro () in + let _ = T.forall_intro () in + T.split (); + T.smt(); + T.smt()) + + +let map_extensionality_lemma () +: Lemma (map_extensionality_fact u#b) = + introduce forall (a: eqtype) (b:Type u#b) (m1: map a b) (m2: map a b). equal m1 m2 ==> m1 == m2 + with ( + introduce equal m1 m2 ==> m1 == m2 + with _. ( + assert (FSet.equal (domain m1) (domain m2)); + assert (feq (elements m1) (elements m2)) + ) + ) + +let disjoint_lemma () +: Lemma (disjoint_fact u#b) = + () + +let all_finite_map_facts_lemma (_:unit) + : Lemma (all_finite_map_facts u#b) + = cardinality_zero_iff_empty_lemma u#b (); + empty_or_domain_occupied_lemma u#b (); + empty_or_values_occupied_lemma u#b (); + empty_or_items_occupied_lemma u#b (); + map_cardinality_matches_domain_lemma u#b (); + values_contains_lemma u#b (); + items_contains_lemma u#b (); + empty_domain_empty_lemma u#b (); + glue_domain_lemma u#b (); + glue_elements_lemma u#b (); + insert_elements_lemma u#b (); + insert_member_cardinality_lemma u#b (); + insert_nonmember_cardinality_lemma u#b (); + merge_domain_is_union_lemma u#b (); + merge_element_lemma u#b (); + subtract_domain_lemma u#b (); + subtract_element_lemma u#b (); + map_equal_lemma u#b (); + map_extensionality_lemma u#b (); + disjoint_lemma u#b () diff --git a/stage0/ulib/FStar.FiniteMap.Base.fsti b/stage0/ulib/FStar.FiniteMap.Base.fsti new file mode 100644 index 00000000000..0c4d69c4a1b --- /dev/null +++ b/stage0/ulib/FStar.FiniteMap.Base.fsti @@ -0,0 +1,463 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling +finite maps as they're modeled in Dafny. + +@summary Type and functions for modeling finite maps +*) +module FStar.FiniteMap.Base + +open FStar.FunctionalExtensionality +module FLT = FStar.List.Tot +module FSet = FStar.FiniteSet.Base + +type setfun_t (a: eqtype) + (b: Type u#b) + (s: FSet.set a) = + f: (a ^-> option b){forall (key: a). FSet.mem key s == Some? (f key)} + +val map (a: eqtype) ([@@@ strictly_positive] b: Type u#b) + : Type u#b + +(** + We translate each Dafny sequence function prefixed with `Map#` + into an F* function. +**) + +/// We represent the Dafny function `Map#Domain` with `domain`: +/// +/// function Map#Domain(Map U V) : Set U; + +val domain (#a: eqtype) (#b: Type u#b) (m: map a b) + : FSet.set a + +/// We represent the Dafny function `Map#Elements` with `elements`: +/// +/// function Map#Elements(Map U V) : [U]V; + +val elements (#a: eqtype) (#b: Type u#b) (m: map a b) + : setfun_t a b (domain m) + +/// We represent the Dafny operator `in` on maps with `mem`: + +let mem (#a: eqtype) (#b: Type u#b) (key: a) (m: map a b) = + FSet.mem key (domain m) + +/// We can convert a map to a list of pairs with `map_as_list`: + +let rec key_in_item_list (#a: eqtype) (#b: Type u#b) (key: a) (items: list (a & b)) : bool = + match items with + | [] -> false + | (k, v) :: tl -> key = k || key_in_item_list key tl + +let rec item_list_doesnt_repeat_keys (#a: eqtype) (#b: Type u#b) (items: list (a & b)) : bool = + match items with + | [] -> true + | (k, v) :: tl -> not (key_in_item_list k tl) && item_list_doesnt_repeat_keys tl + +val map_as_list (#a: eqtype) (#b: Type u#b) (m: map a b) + : GTot (items: list (a & b){item_list_doesnt_repeat_keys items /\ (forall key. key_in_item_list key items <==> mem key m)}) + +/// We represent the Dafny operator [] on maps with `lookup`: + +let lookup (#a: eqtype) (#b: Type u#b) (key: a) (m: map a b{mem key m}) + : b = + Some?.v ((elements m) key) + +/// We represent the Dafny function `Map#Card` with `cardinality`: +/// +/// function Map#Card(Map U V) : int; + +val cardinality (#a: eqtype) (#b: Type u#b) (m: map a b) + : GTot nat + +/// We represent the Dafny function `Map#Values` with `values`: +/// +/// function Map#Values(Map U V) : Set V; + +val values (#a: eqtype) (#b: Type u#b) (m: map a b) + : GTot (b -> prop) + +/// We represent the Dafny function `Map#Items` with `items`: +/// +/// function Map#Items(Map U V) : Set Box; + +val items (#a: eqtype) (#b: Type u#b) (m: map a b) + : GTot ((a & b) -> prop) + +/// We represent the Dafny function `Map#Empty` with `emptymap`: +/// +/// function Map#Empty(): Map U V; + +val emptymap (#a: eqtype) (#b: Type u#b) + : map a b + +/// We represent the Dafny function `Map#Glue` with `glue`. +/// +/// function Map#Glue([U]bool, [U]V, Ty): Map U V; + +val glue (#a: eqtype) (#b: Type u#b) (keys: FSet.set a) (f: setfun_t a b keys) + : map a b + +/// We represent the Dafny function `Map#Build` with `insert`: +/// +/// function Map#Build(Map U V, U, V): Map U V; + +val insert (#a: eqtype) (#b: Type u#b) (k: a) (v: b) (m: map a b) + : map a b + +/// We represent the Dafny function `Map#Merge` with `merge`: +/// +/// function Map#Merge(Map U V, Map U V): Map U V; + +val merge (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) + : map a b + +/// We represent the Dafny function `Map#Subtract` with `subtract`: +/// +/// function Map#Subtract(Map U V, Set U): Map U V; + +val subtract (#a: eqtype) (#b: Type u#b) (m: map a b) (s: FSet.set a) + : map a b + +/// We represent the Dafny function `Map#Equal` with `equal`: +/// +/// function Map#Equal(Map U V, Map U V): bool; + +val equal (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) + : prop + +/// We represent the Dafny function `Map#Disjoint` with `disjoint`: +/// +/// function Map#Disjoint(Map U V, Map U V): bool; + +val disjoint (#a: eqtype) (#b: Type u#b) (m1: map a b) (m2: map a b) + : prop + +/// We represent the Dafny choice operator by `choose`: +/// +/// var x: T :| x in s; + +val choose (#a: eqtype) (#b: Type u#b) (m: map a b{exists key. mem key m}) + : GTot (key: a{mem key m}) + +/// We add the utility functions `remove` and `notin`: + +let remove (#a: eqtype) (#b: Type u#b) (key: a) (m: map a b) + : map a b = + subtract m (FSet.singleton key) + +let notin (#a: eqtype) (#b: Type u#b) (key: a) (m: map a b) + : bool = + not (mem key m) + +(** + We translate each finite map axiom from the Dafny prelude into an F* + predicate ending in `_fact`. +**) + +/// We don't need the following axiom since we return a nat from cardinality: +/// +/// axiom (forall m: Map U V :: { Map#Card(m) } 0 <= Map#Card(m)); + +/// We represent the following Dafny axiom with `cardinality_zero_iff_empty_fact`: +/// +/// axiom (forall m: Map U V :: +/// { Map#Card(m) } +/// Map#Card(m) == 0 <==> m == Map#Empty()); + +let cardinality_zero_iff_empty_fact = + forall (a: eqtype) (b:Type u#b) (m: map a b).{:pattern cardinality m} + cardinality m = 0 <==> m == emptymap + +/// We represent the following Dafny axiom with `empty_or_domain_occupied_fact`: +/// +/// axiom (forall m: Map U V :: +/// { Map#Domain(m) } +/// m == Map#Empty() || (exists k: U :: Map#Domain(m)[k])); + +let empty_or_domain_occupied_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b).{:pattern domain m} + m == emptymap \/ (exists k.{:pattern mem k m} mem k m) + +/// We represent the following Dafny axiom with `empty_or_values_occupied_fact`: +/// +/// axiom (forall m: Map U V :: +/// { Map#Values(m) } +/// m == Map#Empty() || (exists v: V :: Map#Values(m)[v])); + +let empty_or_values_occupied_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b).{:pattern values m} + m == emptymap \/ (exists v. {:pattern values m v } (values m) v) + +/// We represent the following Dafny axiom with `empty_or_items_occupied_fact`: +/// +/// axiom (forall m: Map U V :: +/// { Map#Items(m) } +/// m == Map#Empty() || (exists k, v: Box :: Map#Items(m)[$Box(#_System._tuple#2._#Make2(k, v))])); + +let empty_or_items_occupied_fact = + forall (a: eqtype) (b:Type u#b) (m: map a b).{:pattern items m} + m == emptymap \/ (exists item. {:pattern items m item } (items m) item) + +/// We represent the following Dafny axiom with `map_cardinality_matches_domain_fact`: +/// +/// axiom (forall m: Map U V :: +/// { Set#Card(Map#Domain(m)) } +/// Set#Card(Map#Domain(m)) == Map#Card(m)); + +let map_cardinality_matches_domain_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b).{:pattern FSet.cardinality (domain m)} + FSet.cardinality (domain m) = cardinality m + +/// We don't use the following Dafny axioms, which would require +/// treating the values and items as finite sets, which we can't do +/// because we want to allow non-eqtypes as values. +/// +/// axiom (forall m: Map U V :: +/// { Set#Card(Map#Values(m)) } +/// Set#Card(Map#Values(m)) <= Map#Card(m)); +/// axiom (forall m: Map U V :: +/// { Set#Card(Map#Items(m)) } +/// Set#Card(Map#Items(m)) == Map#Card(m)); + +/// We represent the following Dafny axiom with `values_contains_fact`: +/// +/// axiom (forall m: Map U V, v: V :: { Map#Values(m)[v] } +/// Map#Values(m)[v] == +/// (exists u: U :: { Map#Domain(m)[u] } { Map#Elements(m)[u] } +/// Map#Domain(m)[u] && +/// v == Map#Elements(m)[u])); + +let values_contains_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (v: b).{:pattern (values m) v} + (values m) v <==> + (exists (u: a).{:pattern FSet.mem u (domain m) \/ ((elements m) u)} + FSet.mem u (domain m) /\ (elements m) u == Some v) + +/// We represent the following Dafny axiom with `items_contains_fact`: +/// +/// axiom (forall m: Map Box Box, item: Box :: { Map#Items(m)[item] } +/// Map#Items(m)[item] <==> +/// Map#Domain(m)[_System.Tuple2._0($Unbox(item))] && +/// Map#Elements(m)[_System.Tuple2._0($Unbox(item))] == _System.Tuple2._1($Unbox(item))); + +let items_contains_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (item: a & b).{:pattern (items m) item} + (items m) item <==> + FSet.mem (fst item) (domain m) + /\ (elements m) (fst item) == Some (snd item) + +/// We represent the following Dafny axiom with `empty_domain_empty_fact`: +/// +/// axiom (forall u: U :: +/// { Map#Domain(Map#Empty(): Map U V)[u] } +/// !Map#Domain(Map#Empty(): Map U V)[u]); + +let empty_domain_empty_fact = + forall (a: eqtype) (b: Type u#b) (u: a).{:pattern FSet.mem u (domain (emptymap #a #b))} + not (FSet.mem u (domain (emptymap #a #b))) + +/// We represent the following Dafny axiom with `glue_domain_fact`: +/// +/// axiom (forall a: [U]bool, b: [U]V, t: Ty :: +/// { Map#Domain(Map#Glue(a, b, t)) } +/// Map#Domain(Map#Glue(a, b, t)) == a); + +let glue_domain_fact = + forall (a: eqtype) (b: Type u#b) (keys: FSet.set a) (f: setfun_t a b keys).{:pattern domain (glue keys f)} + domain (glue keys f) == keys + +/// We represent the following Dafny axiom with `glue_elements_fact`. +/// But we have to change it because our version of `Map#Elements` +/// returns a map to an optional value. +/// +/// axiom (forall a: [U]bool, b: [U]V, t: Ty :: +/// { Map#Elements(Map#Glue(a, b, t)) } +/// Map#Elements(Map#Glue(a, b, t)) == b); + +let glue_elements_fact = + forall (a: eqtype) (b: Type u#b) (keys: FSet.set a) (f: setfun_t a b keys).{:pattern elements (glue keys f)} + domain (glue keys f) == keys + /\ elements (glue keys f) == f + +/// We don't need the following Dafny axiom since the type of `glue` implies it: +/// +/// axiom (forall a: [Box]bool, b: [Box]Box, t0, t1: Ty :: +/// { Map#Glue(a, b, TMap(t0, t1)) } +/// // In the following line, no trigger needed, since the quantifier only gets used in negative contexts +/// (forall bx: Box :: a[bx] ==> $IsBox(bx, t0) && $IsBox(b[bx], t1)) +/// ==> +/// $Is(Map#Glue(a, b, TMap(t0, t1)), TMap(t0, t1))); + +/// We represent the following Dafny axiom with `insert_elements_fact`: +/// +/// axiom (forall m: Map U V, u: U, u': U, v: V :: +/// { Map#Domain(Map#Build(m, u, v))[u'] } { Map#Elements(Map#Build(m, u, v))[u'] } +/// (u' == u ==> Map#Domain(Map#Build(m, u, v))[u'] && +/// Map#Elements(Map#Build(m, u, v))[u'] == v) && +/// (u' != u ==> Map#Domain(Map#Build(m, u, v))[u'] == Map#Domain(m)[u'] && +/// Map#Elements(Map#Build(m, u, v))[u'] == Map#Elements(m)[u'])); + +let insert_elements_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (key: a) (key': a) (value: b). + {:pattern FSet.mem key' (domain (insert key value m)) \/ ((elements (insert key value m)) key')} + (key' = key ==> FSet.mem key' (domain (insert key value m)) + /\ (elements (insert key value m)) key' == Some value) + /\ (key' <> key ==> FSet.mem key' (domain (insert key value m)) = FSet.mem key' (domain m) + /\ (elements (insert key value m)) key' == (elements m) key') + +/// We represent the following Dafny axiom with `insert_member_cardinality_fact`: +/// +/// axiom (forall m: Map U V, u: U, v: V :: { Map#Card(Map#Build(m, u, v)) } +/// Map#Domain(m)[u] ==> Map#Card(Map#Build(m, u, v)) == Map#Card(m)); + +let insert_member_cardinality_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (key: a) (value: b).{:pattern cardinality (insert key value m)} + FSet.mem key (domain m) ==> cardinality (insert key value m) = cardinality m + +/// We represent the following Dafny axiom with `insert_nonmember_cardinality_fact`: +/// +/// axiom (forall m: Map U V, u: U, v: V :: { Map#Card(Map#Build(m, u, v)) } +/// !Map#Domain(m)[u] ==> Map#Card(Map#Build(m, u, v)) == Map#Card(m) + 1); + +let insert_nonmember_cardinality_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (key: a) (value: b).{:pattern cardinality (insert key value m)} + not (FSet.mem key (domain m)) ==> cardinality (insert key value m) = cardinality m + 1 + +/// We represent the following Dafny axiom with `merge_domain_is_union_fact`: +/// +/// axiom (forall m: Map U V, n: Map U V :: +/// { Map#Domain(Map#Merge(m, n)) } +/// Map#Domain(Map#Merge(m, n)) == Set#Union(Map#Domain(m), Map#Domain(n))); + +let merge_domain_is_union_fact = + forall (a: eqtype) (b: Type u#b) (m1: map a b) (m2: map a b).{:pattern domain (merge m1 m2)} + domain (merge m1 m2) == FSet.union (domain m1) (domain m2) + +/// We represent the following Dafny axiom with `merge_element_fact`: +/// +/// axiom (forall m: Map U V, n: Map U V, u: U :: +/// { Map#Elements(Map#Merge(m, n))[u] } +/// Map#Domain(Map#Merge(m, n))[u] ==> +/// (!Map#Domain(n)[u] ==> Map#Elements(Map#Merge(m, n))[u] == Map#Elements(m)[u]) && +/// (Map#Domain(n)[u] ==> Map#Elements(Map#Merge(m, n))[u] == Map#Elements(n)[u])); + +let merge_element_fact = + forall (a: eqtype) (b: Type u#b) (m1: map a b) (m2: map a b) (key: a).{:pattern (elements (merge m1 m2)) key} + FSet.mem key (domain (merge m1 m2)) ==> + (not (FSet.mem key (domain m2)) ==> FSet.mem key (domain m1) /\ (elements (merge m1 m2)) key == (elements m1) key) + /\ (FSet.mem key (domain m2) ==> (elements (merge m1 m2)) key == (elements m2) key) + +/// We represent the following Dafny axiom with `subtract_domain_fact`: +/// +/// axiom (forall m: Map U V, s: Set U :: +/// { Map#Domain(Map#Subtract(m, s)) } +/// Map#Domain(Map#Subtract(m, s)) == Set#Difference(Map#Domain(m), s)); + +let subtract_domain_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (s: FSet.set a).{:pattern domain (subtract m s)} + domain (subtract m s) == FSet.difference (domain m) s + +/// We represent the following Dafny axiom with `subtract_element_fact`: +/// +/// axiom (forall m: Map U V, s: Set U, u: U :: +/// { Map#Elements(Map#Subtract(m, s))[u] } +/// Map#Domain(Map#Subtract(m, s))[u] ==> +/// Map#Elements(Map#Subtract(m, s))[u] == Map#Elements(m)[u]); + +let subtract_element_fact = + forall (a: eqtype) (b: Type u#b) (m: map a b) (s: FSet.set a) (key: a).{:pattern (elements (subtract m s)) key} + FSet.mem key (domain (subtract m s)) ==> FSet.mem key (domain m) /\ (elements (subtract m s)) key == (elements m) key + +/// We represent the following Dafny axiom with `map_equal_fact`: +/// +/// axiom (forall m: Map U V, m': Map U V:: +/// { Map#Equal(m, m') } +/// Map#Equal(m, m') <==> (forall u : U :: Map#Domain(m)[u] == Map#Domain(m')[u]) && +/// (forall u : U :: Map#Domain(m)[u] ==> Map#Elements(m)[u] == Map#Elements(m')[u])); + +let map_equal_fact = + forall (a: eqtype) (b: Type u#b) (m1: map a b) (m2: map a b).{:pattern equal m1 m2} + equal m1 m2 <==> (forall key. FSet.mem key (domain m1) = FSet.mem key (domain m2)) + /\ (forall key. FSet.mem key (domain m1) ==> (elements m1) key == (elements m2) key) + +/// We represent the following Dafny axiom with `map_extensionality_fact`: +/// +/// axiom (forall m: Map U V, m': Map U V:: +/// { Map#Equal(m, m') } +/// Map#Equal(m, m') ==> m == m'); + +let map_extensionality_fact = + forall (a: eqtype) (b: Type u#b) (m1: map a b) (m2: map a b).{:pattern equal m1 m2} + equal m1 m2 ==> m1 == m2 + +/// We represent the following Dafny axiom with `disjoint_fact`: +/// +/// axiom (forall m: Map U V, m': Map U V :: +/// { Map#Disjoint(m, m') } +/// Map#Disjoint(m, m') <==> (forall o: U :: {Map#Domain(m)[o]} {Map#Domain(m')[o]} !Map#Domain(m)[o] || !Map#Domain(m')[o])); + +let disjoint_fact = + forall (a: eqtype) (b: Type u#b) (m1: map a b) (m2: map a b).{:pattern disjoint m1 m2} + disjoint m1 m2 <==> (forall key.{:pattern FSet.mem key (domain m1) \/ FSet.mem key (domain m2)} + not (FSet.mem key (domain m1)) || not (FSet.mem key (domain m2))) + +(** + The predicate `all_finite_map_facts` collects all the Dafny finite-map axioms. + One can bring all these facts into scope with `all_finite_map_facts_lemma ()`. +**) + +let all_finite_map_facts = + cardinality_zero_iff_empty_fact u#b + /\ empty_or_domain_occupied_fact u#b + /\ empty_or_values_occupied_fact u#b + /\ empty_or_items_occupied_fact u#b + /\ map_cardinality_matches_domain_fact u#b + /\ values_contains_fact u#b + /\ items_contains_fact u#b + /\ empty_domain_empty_fact u#b + /\ glue_domain_fact u#b + /\ glue_elements_fact u#b + /\ insert_elements_fact u#b + /\ insert_member_cardinality_fact u#b + /\ insert_nonmember_cardinality_fact u#b + /\ merge_domain_is_union_fact u#b + /\ merge_element_fact u#b + /\ subtract_domain_fact u#b + /\ subtract_element_fact u#b + /\ map_equal_fact u#b + /\ map_extensionality_fact u#b + /\ disjoint_fact u#b + +val all_finite_map_facts_lemma (_:unit) + : Lemma (all_finite_map_facts u#b) diff --git a/stage0/ulib/FStar.FiniteSet.Ambient.fst b/stage0/ulib/FStar.FiniteSet.Ambient.fst new file mode 100644 index 00000000000..633e9af7432 --- /dev/null +++ b/stage0/ulib/FStar.FiniteSet.Ambient.fst @@ -0,0 +1,44 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module brings properties about finite sets ambiently into the +context. The properties are modeled after those in the Dafny sequence +axioms, with patterns for quantifiers chosen as in those axioms. + +@summary Puts properties of finite sets into the ambient context +*) +module FStar.FiniteSet.Ambient + +open FStar.FiniteSet.Base + +let all_finite_set_facts_ambient : (squash all_finite_set_facts) = + all_finite_set_facts_lemma () + diff --git a/stage0/ulib/FStar.FiniteSet.Base.fst b/stage0/ulib/FStar.FiniteSet.Base.fst new file mode 100644 index 00000000000..d0f869204a6 --- /dev/null +++ b/stage0/ulib/FStar.FiniteSet.Base.fst @@ -0,0 +1,481 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling +finite sets as they're modeled in Dafny. + +@summary Type and functions for modeling finite sets +*) +module FStar.FiniteSet.Base + +module FLT = FStar.List.Tot +open FStar.FunctionalExtensionality + +let has_elements (#a: eqtype) (f: a ^-> bool) (xs: list a): prop = + forall x. f x == x `FLT.mem` xs + +// Finite sets +type set (a: eqtype) = f:(a ^-> bool){exists xs. f `has_elements` xs} + +/// We represent the Dafny function [] on sets with `mem`: + +let mem (#a: eqtype) (x: a) (s: set a) : bool = + s x + +/// We represent the Dafny function `Set#Card` with `cardinality`: +/// +/// function Set#Card(Set T): int; + +let rec remove_repeats (#a: eqtype) (xs: list a) +: (ys: list a{list_nonrepeating ys /\ (forall y. FLT.mem y ys <==> FLT.mem y xs)}) = + match xs with + | [] -> [] + | hd :: tl -> let tl' = remove_repeats tl in if FLT.mem hd tl then tl' else hd :: tl' + +let set_as_list (#a: eqtype) (s: set a): GTot (xs: list a{list_nonrepeating xs /\ (forall x. FLT.mem x xs = mem x s)}) = + remove_repeats (FStar.IndefiniteDescription.indefinite_description_ghost (list a) (fun xs -> forall x. FLT.mem x xs = mem x s)) + +[@"opaque_to_smt"] +let cardinality (#a: eqtype) (s: set a) : GTot nat = + FLT.length (set_as_list s) + +let intro_set (#a: eqtype) (f: a ^-> bool) (xs: Ghost.erased (list a)) +: Pure (set a) + (requires f `has_elements` xs) + (ensures fun _ -> True) += Classical.exists_intro (fun xs -> f `has_elements` xs) xs; + f + +/// We represent the Dafny function `Set#Empty` with `empty`: + +let emptyset (#a: eqtype): set a = intro_set (on_dom a (fun _ -> false)) [] + +/// We represent the Dafny function `Set#UnionOne` with `insert`: +/// +/// function Set#UnionOne(Set T, T): Set T; + +let insert (#a: eqtype) (x: a) (s: set a): set a = + intro_set (on_dom _ (fun x' -> x = x' || s x')) (x :: set_as_list s) + +/// We represent the Dafny function `Set#Singleton` with `singleton`: +/// +/// function Set#Singleton(T): Set T; + +let singleton (#a: eqtype) (x: a) : set a = + insert x emptyset + +/// We represent the Dafny function `Set#Union` with `union`: +/// +/// function Set#Union(Set T, Set T): Set T; + +let rec union_lists (#a: eqtype) (xs: list a) (ys: list a) : (zs: list a{forall z. FLT.mem z zs <==> FLT.mem z xs \/ FLT.mem z ys}) = + match xs with + | [] -> ys + | hd :: tl -> hd :: union_lists tl ys + +let union (#a: eqtype) (s1: set a) (s2: set a) : (set a) = + intro_set (on_dom a (fun x -> s1 x || s2 x)) (union_lists (set_as_list s1) (set_as_list s2)) + +/// We represent the Dafny function `Set#Intersection` with `intersection`: +/// +/// function Set#Intersection(Set T, Set T): Set T; + +let rec intersect_lists (#a: eqtype) (xs: list a) (ys: list a) +: (zs: list a{forall z. FLT.mem z zs <==> FLT.mem z xs /\ FLT.mem z ys}) = + match xs with + | [] -> [] + | hd :: tl -> let zs' = intersect_lists tl ys in if FLT.mem hd ys then hd :: zs' else zs' + +let intersection (#a: eqtype) (s1: set a) (s2: set a) : set a = + intro_set (on_dom a (fun x -> s1 x && s2 x)) (intersect_lists (set_as_list s1) (set_as_list s2)) + +/// We represent the Dafny function `Set#Difference` with `difference`: +/// +/// function Set#Difference(Set T, Set T): Set T; + +let rec difference_lists (#a: eqtype) (xs: list a) (ys: list a) +: (zs: list a{forall z. FLT.mem z zs <==> FLT.mem z xs /\ ~(FLT.mem z ys)}) = + match xs with + | [] -> [] + | hd :: tl -> let zs' = difference_lists tl ys in if FLT.mem hd ys then zs' else hd :: zs' + +let difference (#a: eqtype) (s1: set a) (s2: set a) : set a = + intro_set (on_dom a (fun x -> s1 x && not (s2 x))) (difference_lists (set_as_list s1) (set_as_list s2)) + +/// We represent the Dafny function `Set#Subset` with `subset`: +/// +/// function Set#Subset(Set T, Set T): bool; + +let subset (#a: eqtype) (s1: set a) (s2: set a) : Type0 = + forall x. (s1 x = true) ==> (s2 x = true) + +/// We represent the Dafny function `Set#Equal` with `equal`: +/// +/// function Set#Equal(Set T, Set T): bool; + +let equal (#a: eqtype) (s1: set a) (s2: set a) : Type0 = + feq s1 s2 + +/// We represent the Dafny function `Set#Disjoint` with `disjoint`: +/// +/// function Set#Disjoint(Set T, Set T): bool; + +let disjoint (#a: eqtype) (s1: set a) (s2: set a) : Type0 = + forall x. not (s1 x && s2 x) + +/// We represent the Dafny choice operator by `choose`: +/// +/// var x: T :| x in s; + +let choose (#a: eqtype) (s: set a{exists x. mem x s}) : GTot (x: a{mem x s}) = + Cons?.hd (set_as_list s) + +/// We now prove each of the facts that comprise `all_finite_set_facts`. +/// For fact `xxx_fact`, we prove it with `xxx_lemma`. Sometimes, that +/// requires a helper lemma, which we call `xxx_helper`. + +let empty_set_contains_no_elements_lemma () +: Lemma (empty_set_contains_no_elements_fact) = + () + +let length_zero_lemma () +: Lemma (length_zero_fact) = + introduce forall (a: eqtype) (s: set a). (cardinality s = 0 <==> s == emptyset) /\ (cardinality s <> 0 <==> (exists x. mem x s)) + with ( + reveal_opaque (`%cardinality) (cardinality #a); + introduce cardinality s = 0 ==> s == emptyset + with _. assert (feq s emptyset); + introduce s == emptyset ==> cardinality s = 0 + with _. assert (set_as_list s == []); + introduce cardinality s <> 0 ==> _ + with _. introduce exists x. mem x s + with (Cons?.hd (set_as_list s)) + and ()) + +let singleton_contains_argument_lemma () +: Lemma (singleton_contains_argument_fact) = + () + +let singleton_contains_lemma () +: Lemma (singleton_contains_fact) = + () + +let rec singleton_cardinality_helper (#a: eqtype) (r: a) (xs: list a) +: Lemma (requires FLT.mem r xs /\ (forall x. FLT.mem x xs <==> x = r)) + (ensures remove_repeats xs == [r]) = + match xs with + | [x] -> () + | hd :: tl -> + assert (Cons?.hd tl = r); + singleton_cardinality_helper r tl + +let singleton_cardinality_lemma () +: Lemma (singleton_cardinality_fact) = + introduce forall (a: eqtype) (r: a). cardinality (singleton r) = 1 + with ( + reveal_opaque (`%cardinality) (cardinality #a); + singleton_cardinality_helper r (set_as_list (singleton r)) + ) + +let insert_lemma () +: Lemma (insert_fact) = + () + +let insert_contains_argument_lemma () +: Lemma (insert_contains_argument_fact) = + () + +let insert_contains_lemma () +: Lemma (insert_contains_fact) = + () + +let rec remove_from_nonrepeating_list (#a: eqtype) (x: a) (xs: list a{FLT.mem x xs /\ list_nonrepeating xs}) +: (xs': list a{ list_nonrepeating xs' + /\ FLT.length xs' = FLT.length xs - 1 + /\ (forall y. FLT.mem y xs' <==> FLT.mem y xs /\ y <> x)}) = + match xs with + | hd :: tl -> if x = hd then tl else hd :: (remove_from_nonrepeating_list x tl) + +let rec nonrepeating_lists_with_same_elements_have_same_length (#a: eqtype) (s1: list a) (s2: list a) +: Lemma (requires list_nonrepeating s1 /\ list_nonrepeating s2 /\ (forall x. FLT.mem x s1 <==> FLT.mem x s2)) + (ensures FLT.length s1 = FLT.length s2) = + match s1 with + | [] -> () + | hd :: tl -> nonrepeating_lists_with_same_elements_have_same_length tl (remove_from_nonrepeating_list hd s2) + +let insert_member_cardinality_lemma () +: Lemma (insert_member_cardinality_fact) = + introduce forall (a: eqtype) (s: set a) (x: a). mem x s ==> cardinality (insert x s) = cardinality s + with + introduce mem x s ==> cardinality (insert x s) = cardinality s + with _. ( + reveal_opaque (`%cardinality) (cardinality #a); + nonrepeating_lists_with_same_elements_have_same_length (set_as_list s) (set_as_list (insert x s)) + ) + +let insert_nonmember_cardinality_lemma () +: Lemma (insert_nonmember_cardinality_fact) = + introduce forall (a: eqtype) (s: set a) (x: a). not (mem x s) ==> cardinality (insert x s) = cardinality s + 1 + with + introduce not (mem x s) ==> cardinality (insert x s) = cardinality s + 1 + with _. ( + reveal_opaque (`%cardinality) (cardinality #a); + nonrepeating_lists_with_same_elements_have_same_length (x :: (set_as_list s)) (set_as_list (insert x s)) + ) + +let union_contains_lemma () +: Lemma (union_contains_fact) = + () + +let union_contains_element_from_first_argument_lemma () +: Lemma (union_contains_element_from_first_argument_fact) = + () + +let union_contains_element_from_second_argument_lemma () +: Lemma (union_contains_element_from_second_argument_fact) = + () + +let union_of_disjoint_lemma () +: Lemma (union_of_disjoint_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). disjoint s1 s2 ==> difference (union s1 s2) s1 == s2 /\ difference (union s1 s2) s2 == s1 + with + introduce disjoint s1 s2 ==> difference (union s1 s2) s1 == s2 /\ difference (union s1 s2) s2 == s1 + with _. ( + assert (feq (difference (union s1 s2) s1) s2); + assert (feq (difference (union s1 s2) s2) s1) + ) + +let intersection_contains_lemma () +: Lemma (intersection_contains_fact) = + () + +let union_idempotent_right_lemma () +: Lemma (union_idempotent_right_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). union (union s1 s2) s2 == union s1 s2 + with assert (feq (union (union s1 s2) s2) (union s1 s2)) + +let union_idempotent_left_lemma () +: Lemma (union_idempotent_left_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). union s1 (union s1 s2) == union s1 s2 + with assert (feq (union s1 (union s1 s2)) (union s1 s2)) + +let intersection_idempotent_right_lemma () +: Lemma (intersection_idempotent_right_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). intersection (intersection s1 s2) s2 == intersection s1 s2 + with assert (feq (intersection (intersection s1 s2) s2) (intersection s1 s2)) + +let intersection_idempotent_left_lemma () +: Lemma (intersection_idempotent_left_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). intersection s1 (intersection s1 s2) == intersection s1 s2 + with assert (feq (intersection s1 (intersection s1 s2)) (intersection s1 s2)) + +let rec union_of_disjoint_nonrepeating_lists_length_lemma (#a: eqtype) (xs1: list a) (xs2: list a) (xs3: list a) +: Lemma (requires list_nonrepeating xs1 + /\ list_nonrepeating xs2 + /\ list_nonrepeating xs3 + /\ (forall x. ~(FLT.mem x xs1 /\ FLT.mem x xs2)) + /\ (forall x. FLT.mem x xs3 <==> FLT.mem x xs1 \/ FLT.mem x xs2)) + (ensures FLT.length xs3 = FLT.length xs1 + FLT.length xs2) = + match xs1 with + | [] -> nonrepeating_lists_with_same_elements_have_same_length xs2 xs3 + | hd :: tl -> union_of_disjoint_nonrepeating_lists_length_lemma tl xs2 (remove_from_nonrepeating_list hd xs3) + +let union_of_disjoint_sets_cardinality_lemma (#a: eqtype) (s1: set a) (s2: set a) +: Lemma (requires disjoint s1 s2) + (ensures cardinality (union s1 s2) = cardinality s1 + cardinality s2) = + reveal_opaque (`%cardinality) (cardinality #a); + union_of_disjoint_nonrepeating_lists_length_lemma (set_as_list s1) (set_as_list s2) (set_as_list (union s1 s2)) + +let union_of_three_disjoint_sets_cardinality_lemma (#a: eqtype) (s1: set a) (s2: set a) (s3: set a) +: Lemma (requires disjoint s1 s2 /\ disjoint s2 s3 /\ disjoint s1 s3) + (ensures cardinality (union (union s1 s2) s3) = cardinality s1 + cardinality s2 + cardinality s3) = + union_of_disjoint_sets_cardinality_lemma s1 s2; + union_of_disjoint_sets_cardinality_lemma (union s1 s2) s3 + +#restart-solver +#push-options "--z3rlimit_factor 8 --split_queries no" +let cardinality_matches_difference_plus_intersection_lemma (#a: eqtype) (s1: set a) (s2: set a) +: Lemma (ensures cardinality s1 = cardinality (difference s1 s2) + cardinality (intersection s1 s2)) = + union_of_disjoint_sets_cardinality_lemma (difference s1 s2) (intersection s1 s2); + assert (feq s1 (union (difference s1 s2) (intersection s1 s2))) +#pop-options +#restart-solver +let union_is_differences_and_intersection (#a: eqtype) (s1: set a) (s2: set a) +: Lemma (union s1 s2 == union (union (difference s1 s2) (intersection s1 s2)) (difference s2 s1)) = + assert (feq (union s1 s2) (union (union (difference s1 s2) (intersection s1 s2)) (difference s2 s1))) + +#restart-solver +#push-options "--z3rlimit_factor 8 --split_queries no" +let intersection_cardinality_helper (a: eqtype) (s1: set a) (s2: set a) +: Lemma (cardinality (union s1 s2) + cardinality (intersection s1 s2) = cardinality s1 + cardinality s2) = + cardinality_matches_difference_plus_intersection_lemma s1 s2; + cardinality_matches_difference_plus_intersection_lemma s2 s1; + union_is_differences_and_intersection s1 s2; + union_of_three_disjoint_sets_cardinality_lemma (difference s1 s2) (intersection s1 s2) (difference s2 s1); + assert (feq (intersection s1 s2) (intersection s2 s1)) +#pop-options + +let intersection_cardinality_lemma () +: Lemma (intersection_cardinality_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). + cardinality (union s1 s2) + cardinality (intersection s1 s2) = cardinality s1 + cardinality s2 + with + intersection_cardinality_helper a s1 s2 + +let difference_contains_lemma () +: Lemma (difference_contains_fact) = + () + +let difference_doesnt_include_lemma () +: Lemma (difference_doesnt_include_fact) = + () + +#restart-solver +#push-options "--z3rlimit_factor 8 --split_queries no" +let difference_cardinality_helper (a: eqtype) (s1: set a) (s2: set a) +: Lemma ( cardinality (difference s1 s2) + cardinality (difference s2 s1) + cardinality (intersection s1 s2) = cardinality (union s1 s2) + /\ cardinality (difference s1 s2) = cardinality s1 - cardinality (intersection s1 s2)) = + union_is_differences_and_intersection s1 s2; + union_of_three_disjoint_sets_cardinality_lemma (difference s1 s2) (intersection s1 s2) (difference s2 s1); + cardinality_matches_difference_plus_intersection_lemma s1 s2 +#pop-options + +let difference_cardinality_lemma () +: Lemma (difference_cardinality_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). + cardinality (difference s1 s2) + cardinality (difference s2 s1) + + cardinality (intersection s1 s2) = cardinality (union s1 s2) + /\ cardinality (difference s1 s2) = cardinality s1 - cardinality (intersection s1 s2) + with + difference_cardinality_helper a s1 s2 + +let subset_helper (a: eqtype) (s1: set a) (s2: set a) +: Lemma (subset s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 ==> mem o s2)) = + introduce (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 ==> mem o s2) ==> subset s1 s2 + with _. + introduce forall x. s1 x = true ==> s2 x = true + with assert (mem x s1 = s1 x) + +let subset_lemma () +: Lemma (subset_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). subset s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 ==> mem o s2) + with subset_helper a s1 s2 + +let equal_lemma () +: Lemma (equal_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). + equal s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 <==> mem o s2) + with ( + introduce (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 <==> mem o s2) ==> equal s1 s2 + with _. + introduce forall x. s1 x = true <==> s2 x = true + with assert (mem x s1 = s1 x /\ mem x s2 = s2 x) + ) + +let equal_extensionality_lemma () +: Lemma (equal_extensionality_fact) = + () + +let disjoint_lemma () +: Lemma (disjoint_fact) = + introduce forall (a: eqtype) (s1: set a) (s2: set a). + disjoint s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} not (mem o s1) \/ not (mem o s2)) + with ( + introduce (forall o.{:pattern mem o s1 \/ mem o s2} not (mem o s1) \/ not (mem o s2)) ==> disjoint s1 s2 + with _. ( + introduce forall x. not (s1 x && s2 x) + with assert (not (mem x s1) \/ not (mem x s2)) + ) + ) + +#restart-solver +#push-options "--z3rlimit_factor 8 --split_queries no" +let insert_remove_helper (a: eqtype) (x: a) (s: set a) +: Lemma (requires mem x s) + (ensures insert x (remove x s) == s) = + assert (feq s (insert x (remove x s))) +#pop-options +#restart-solver + +let insert_remove_lemma () +: Lemma (insert_remove_fact) = + introduce forall (a: eqtype) (x: a) (s: set a). mem x s = true ==> insert x (remove x s) == s + with + introduce mem x s = true ==> insert x (remove x s) == s + with _. insert_remove_helper a x s + +let remove_insert_helper (a: eqtype) (x: a) (s: set a) +: Lemma (requires mem x s = false) + (ensures remove x (insert x s) == s) = + assert (feq s (remove x (insert x s))) + +let remove_insert_lemma () +: Lemma (remove_insert_fact) = + introduce forall (a: eqtype) (x: a) (s: set a). mem x s = false ==> remove x (insert x s) == s + with introduce mem x s = false ==> remove x (insert x s) == s + with _. remove_insert_helper a x s + +let set_as_list_cardinality_lemma () +: Lemma (set_as_list_cardinality_fact) = + introduce forall (a: eqtype) (s: set a). FLT.length (set_as_list s) = cardinality s + with reveal_opaque (`%cardinality) (cardinality #a) + +let all_finite_set_facts_lemma () : Lemma (all_finite_set_facts) = + empty_set_contains_no_elements_lemma (); + length_zero_lemma (); + singleton_contains_argument_lemma (); + singleton_contains_lemma (); + singleton_cardinality_lemma (); + insert_lemma (); + insert_contains_argument_lemma (); + insert_contains_lemma (); + insert_member_cardinality_lemma (); + insert_nonmember_cardinality_lemma (); + union_contains_lemma (); + union_contains_element_from_first_argument_lemma (); + union_contains_element_from_second_argument_lemma (); + union_of_disjoint_lemma (); + intersection_contains_lemma (); + union_idempotent_right_lemma (); + union_idempotent_left_lemma (); + intersection_idempotent_right_lemma (); + intersection_idempotent_left_lemma (); + intersection_cardinality_lemma (); + difference_contains_lemma (); + difference_doesnt_include_lemma (); + difference_cardinality_lemma (); + subset_lemma (); + equal_lemma (); + equal_extensionality_lemma (); + disjoint_lemma (); + insert_remove_lemma (); + remove_insert_lemma (); + set_as_list_cardinality_lemma () diff --git a/stage0/ulib/FStar.FiniteSet.Base.fsti b/stage0/ulib/FStar.FiniteSet.Base.fsti new file mode 100644 index 00000000000..aef4169aa05 --- /dev/null +++ b/stage0/ulib/FStar.FiniteSet.Base.fsti @@ -0,0 +1,456 @@ +(* + Copyright 2008-2021 John Li, Jay Lorch, Rustan Leino, Alex Summers, + Dan Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling +finite sets as they're modeled in Dafny. + +@summary Type and functions for modeling finite sets +*) +module FStar.FiniteSet.Base + +open FStar.FunctionalExtensionality +module FLT = FStar.List.Tot + +val set (a: eqtype) + : Type0 + +(** + We translate each Dafny sequence function prefixed with `Set#` + into an F* function. +**) + +/// We represent the Dafny operator [] on sets with `mem`: + +val mem (#a: eqtype) (x: a) (s: set a) + : bool + +/// We can convert a set to a list with `set_as_list`: + +let rec list_nonrepeating (#a: eqtype) (xs: list a) : bool = + match xs with + | [] -> true + | hd :: tl -> not (FLT.mem hd tl) && list_nonrepeating tl + +val set_as_list (#a: eqtype) (s: set a) + : GTot (xs: list a{list_nonrepeating xs /\ (forall x. FLT.mem x xs = mem x s)}) + +/// We represent the Dafny function `Set#Card` with `cardinality`: +/// +/// function Set#Card(Set T): int; + +val cardinality (#a: eqtype) (s: set a) + : GTot nat + +/// We represent the Dafny function `Set#Empty` with `empty`: +/// +/// function Set#Empty(): Set T; + +val emptyset (#a: eqtype) + : set a + +/// We represent the Dafny function `Set#UnionOne` with `insert`: +/// +/// function Set#UnionOne(Set T, T): Set T; + +val insert (#a: eqtype) (x: a) (s: set a) + : set a + +/// We represent the Dafny function `Set#Singleton` with `singleton`: +/// +/// function Set#Singleton(T): Set T; + +val singleton (#a: eqtype) (x: a) + : set a + +/// We represent the Dafny function `Set#Union` with `union`: +/// +/// function Set#Union(Set T, Set T): Set T; + +val union (#a: eqtype) (s1: set a) (s2: set a) + : (set a) + +/// We represent the Dafny function `Set#Intersection` with `intersection`: +/// +/// function Set#Intersection(Set T, Set T): Set T; + +val intersection (#a: eqtype) (s1: set a) (s2: set a) + : set a + +/// We represent the Dafny function `Set#Difference` with `difference`: +/// +/// function Set#Difference(Set T, Set T): Set T; + +val difference (#a: eqtype) (s1: set a) (s2: set a) + : set a + +/// We represent the Dafny function `Set#Subset` with `subset`: +/// +/// function Set#Subset(Set T, Set T): bool; + +val subset (#a: eqtype) (s1: set a) (s2: set a) + : Type0 + +/// We represent the Dafny function `Set#Equal` with `equal`: +/// +/// function Set#Equal(Set T, Set T): bool; + +val equal (#a: eqtype) (s1: set a) (s2: set a) + : Type0 + +/// We represent the Dafny function `Set#Disjoint` with `disjoint`: +/// +/// function Set#Disjoint(Set T, Set T): bool; + +val disjoint (#a: eqtype) (s1: set a) (s2: set a) + : Type0 + +/// We represent the Dafny choice operator by `choose`: +/// +/// var x: T :| x in s; + +val choose (#a: eqtype) (s: set a{exists x. mem x s}) + : GTot (x: a{mem x s}) + +/// We add the utility functions `remove` and `notin`: + +let remove (#a: eqtype) (x: a) (s: set a) + : set a = + difference s (singleton x) + +let notin (#a: eqtype) (x: a) (s: set a) + : bool = + not (mem x s) + +(** + We translate each finite set axiom from the Dafny prelude into an F* + predicate ending in `_fact`. +**) + +/// We don't need the following axiom since we return a nat from cardinality: +/// +/// axiom (forall s: Set T :: { Set#Card(s) } 0 <= Set#Card(s)); + +/// We represent the following Dafny axiom with `empty_set_contains_no_elements_fact`: +/// +/// axiom (forall o: T :: { Set#Empty()[o] } !Set#Empty()[o]); + +let empty_set_contains_no_elements_fact = + forall (a: eqtype) (o: a).{:pattern mem o (emptyset)} not (mem o (emptyset #a)) + +/// We represent the following Dafny axiom with `length_zero_fact`: +/// +/// axiom (forall s: Set T :: { Set#Card(s) } +/// (Set#Card(s) == 0 <==> s == Set#Empty()) && +/// (Set#Card(s) != 0 ==> (exists x: T :: s[x]))); + +let length_zero_fact = + forall (a: eqtype) (s: set a).{:pattern cardinality s} + (cardinality s = 0 <==> s == emptyset) + /\ (cardinality s <> 0 <==> (exists x. mem x s)) + +/// We represent the following Dafny axiom with `singleton_contains_argument_fact`: +/// +/// axiom (forall r: T :: { Set#Singleton(r) } Set#Singleton(r)[r]); + +let singleton_contains_argument_fact = + forall (a: eqtype) (r: a).{:pattern singleton r} mem r (singleton r) + +/// We represent the following Dafny axiom with `singleton_contains_fact`: +/// +/// axiom (forall r: T, o: T :: { Set#Singleton(r)[o] } Set#Singleton(r)[o] <==> r == o); + +let singleton_contains_fact = + forall (a: eqtype) (r: a) (o: a).{:pattern mem o (singleton r)} mem o (singleton r) <==> r == o + +/// We represent the following Dafny axiom with `singleton_cardinality_fact`: +/// +/// axiom (forall r: T :: { Set#Card(Set#Singleton(r)) } Set#Card(Set#Singleton(r)) == 1); + +let singleton_cardinality_fact = + forall (a: eqtype) (r: a).{:pattern cardinality (singleton r)} cardinality (singleton r) = 1 + +/// We represent the following Dafny axiom with `insert_fact`: +/// +/// axiom (forall a: Set T, x: T, o: T :: { Set#UnionOne(a,x)[o] } +/// Set#UnionOne(a,x)[o] <==> o == x || a[o]); + +let insert_fact = + forall (a: eqtype) (s: set a) (x: a) (o: a).{:pattern mem o (insert x s)} + mem o (insert x s) <==> o == x \/ mem o s + +/// We represent the following Dafny axiom with `insert_contains_argument_fact`: +/// +/// axiom (forall a: Set T, x: T :: { Set#UnionOne(a, x) } +/// Set#UnionOne(a, x)[x]); + +let insert_contains_argument_fact = + forall (a: eqtype) (s: set a) (x: a).{:pattern insert x s} + mem x (insert x s) + +/// We represent the following Dafny axiom with `insert_contains_fact`: +/// +/// axiom (forall a: Set T, x: T, y: T :: { Set#UnionOne(a, x), a[y] } +/// a[y] ==> Set#UnionOne(a, x)[y]); + +let insert_contains_fact = + forall (a: eqtype) (s: set a) (x: a) (y: a).{:pattern insert x s; mem y s} + mem y s ==> mem y (insert x s) + +/// We represent the following Dafny axiom with `insert_member_cardinality_fact`: +/// +/// axiom (forall a: Set T, x: T :: { Set#Card(Set#UnionOne(a, x)) } +/// a[x] ==> Set#Card(Set#UnionOne(a, x)) == Set#Card(a)); + +let insert_member_cardinality_fact = + forall (a: eqtype) (s: set a) (x: a).{:pattern cardinality (insert x s)} + mem x s ==> cardinality (insert x s) = cardinality s + +/// We represent the following Dafny axiom with `insert_nonmember_cardinality_fact`: +/// +/// axiom (forall a: Set T, x: T :: { Set#Card(Set#UnionOne(a, x)) } +/// !a[x] ==> Set#Card(Set#UnionOne(a, x)) == Set#Card(a) + 1); + +let insert_nonmember_cardinality_fact = + forall (a: eqtype) (s: set a) (x: a).{:pattern cardinality (insert x s)} + not (mem x s) ==> cardinality (insert x s) = cardinality s + 1 + +/// We represent the following Dafny axiom with `union_contains_fact`: +/// +/// axiom (forall a: Set T, b: Set T, o: T :: { Set#Union(a,b)[o] } +/// Set#Union(a,b)[o] <==> a[o] || b[o]); + +let union_contains_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (o: a).{:pattern mem o (union s1 s2)} + mem o (union s1 s2) <==> mem o s1 \/ mem o s2 + +/// We represent the following Dafny axiom with `union_contains_element_from_first_argument_fact`: +/// +/// axiom (forall a, b: Set T, y: T :: { Set#Union(a, b), a[y] } +/// a[y] ==> Set#Union(a, b)[y]); + +let union_contains_element_from_first_argument_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (y: a).{:pattern union s1 s2; mem y s1} + mem y s1 ==> mem y (union s1 s2) + +/// We represent the following Dafny axiom with `union_contains_element_from_second_argument_fact`: +/// +/// axiom (forall a, b: Set T, y: T :: { Set#Union(a, b), a[y] } +/// b[y] ==> Set#Union(a, b)[y]); + +let union_contains_element_from_second_argument_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (y: a).{:pattern union s1 s2; mem y s2} + mem y s2 ==> mem y (union s1 s2) + +/// We represent the following Dafny axiom with `union_of_disjoint_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Union(a, b) } +/// Set#Disjoint(a, b) ==> +/// Set#Difference(Set#Union(a, b), a) == b && +/// Set#Difference(Set#Union(a, b), b) == a); + +let union_of_disjoint_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern union s1 s2} + disjoint s1 s2 ==> difference (union s1 s2) s1 == s2 /\ difference (union s1 s2) s2 == s1 + +/// We represent the following Dafny axiom with `intersection_contains_fact`: +/// +/// axiom (forall a: Set T, b: Set T, o: T :: { Set#Intersection(a,b)[o] } +/// Set#Intersection(a,b)[o] <==> a[o] && b[o]); + +let intersection_contains_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (o: a).{:pattern mem o (intersection s1 s2)} + mem o (intersection s1 s2) <==> mem o s1 /\ mem o s2 + +/// We represent the following Dafny axiom with `union_idempotent_right_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Union(Set#Union(a, b), b) } +/// Set#Union(Set#Union(a, b), b) == Set#Union(a, b)); + +let union_idempotent_right_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern union (union s1 s2) s2} + union (union s1 s2) s2 == union s1 s2 + +/// We represent the following Dafny axiom with `union_idempotent_left_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Union(a, Set#Union(a, b)) } +/// Set#Union(a, Set#Union(a, b)) == Set#Union(a, b)); + +let union_idempotent_left_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern union s1 (union s1 s2)} + union s1 (union s1 s2) == union s1 s2 + +/// We represent the following Dafny axiom with `intersection_idempotent_right_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Intersection(Set#Intersection(a, b), b) } +/// Set#Intersection(Set#Intersection(a, b), b) == Set#Intersection(a, b)); + +let intersection_idempotent_right_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern intersection (intersection s1 s2) s2} + intersection (intersection s1 s2) s2 == intersection s1 s2 + +/// We represent the following Dafny axiom with `intersection_idempotent_left_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Intersection(a, Set#Intersection(a, b)) } +/// Set#Intersection(a, Set#Intersection(a, b)) == Set#Intersection(a, b)); + +let intersection_idempotent_left_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern intersection s1 (intersection s1 s2)} + intersection s1 (intersection s1 s2) == intersection s1 s2 + +/// We represent the following Dafny axiom with `intersection_cardinality_fact`: +/// +/// axiom (forall a, b: Set T :: { Set#Card(Set#Union(a, b)) }{ Set#Card(Set#Intersection(a, b)) } +/// Set#Card(Set#Union(a, b)) + Set#Card(Set#Intersection(a, b)) == Set#Card(a) + Set#Card(b)); + +let intersection_cardinality_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern cardinality (intersection s1 s2)} + cardinality (union s1 s2) + cardinality (intersection s1 s2) = cardinality s1 + cardinality s2 + +/// We represent the following Dafny axiom with `difference_contains_fact`: +/// +/// axiom (forall a: Set T, b: Set T, o: T :: { Set#Difference(a,b)[o] } +/// Set#Difference(a,b)[o] <==> a[o] && !b[o]); + +let difference_contains_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (o: a).{:pattern mem o (difference s1 s2)} + mem o (difference s1 s2) <==> mem o s1 /\ not (mem o s2) + +/// We represent the following Dafny axiom with `difference_doesnt_include_fact`: +/// +/// axiom (forall a, b: Set T, y: T :: { Set#Difference(a, b), b[y] } +/// b[y] ==> !Set#Difference(a, b)[y] ); + +let difference_doesnt_include_fact = + forall (a: eqtype) (s1: set a) (s2: set a) (y: a).{:pattern difference s1 s2; mem y s2} + mem y s2 ==> not (mem y (difference s1 s2)) + +/// We represent the following Dafny axiom with `difference_cardinality_fact`: +/// +/// axiom (forall a, b: Set T :: +/// { Set#Card(Set#Difference(a, b)) } +/// Set#Card(Set#Difference(a, b)) + Set#Card(Set#Difference(b, a)) +/// + Set#Card(Set#Intersection(a, b)) +/// == Set#Card(Set#Union(a, b)) && +/// Set#Card(Set#Difference(a, b)) == Set#Card(a) - Set#Card(Set#Intersection(a, b))); + +let difference_cardinality_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern cardinality (difference s1 s2)} + cardinality (difference s1 s2) + cardinality (difference s2 s1) + cardinality (intersection s1 s2) = cardinality (union s1 s2) + /\ cardinality (difference s1 s2) = cardinality s1 - cardinality (intersection s1 s2) + +/// We represent the following Dafny axiom with `subset_fact`: +/// +/// axiom(forall a: Set T, b: Set T :: { Set#Subset(a,b) } +/// Set#Subset(a,b) <==> (forall o: T :: {a[o]} {b[o]} a[o] ==> b[o])); + +let subset_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern subset s1 s2} + subset s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 ==> mem o s2) + +/// We represent the following Dafny axiom with `equal_fact`: +/// +/// axiom(forall a: Set T, b: Set T :: { Set#Equal(a,b) } +/// Set#Equal(a,b) <==> (forall o: T :: {a[o]} {b[o]} a[o] <==> b[o])); + +let equal_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern equal s1 s2} + equal s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} mem o s1 <==> mem o s2) + +/// We represent the following Dafny axiom with `equal_extensionality_fact`: +/// +/// axiom(forall a: Set T, b: Set T :: { Set#Equal(a,b) } // extensionality axiom for sets +/// Set#Equal(a,b) ==> a == b); + +let equal_extensionality_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern equal s1 s2} + equal s1 s2 ==> s1 == s2 + +/// We represent the following Dafny axiom with `disjoint_fact`: +/// +/// axiom (forall a: Set T, b: Set T :: { Set#Disjoint(a,b) } +/// Set#Disjoint(a,b) <==> (forall o: T :: {a[o]} {b[o]} !a[o] || !b[o])); + +let disjoint_fact = + forall (a: eqtype) (s1: set a) (s2: set a).{:pattern disjoint s1 s2} + disjoint s1 s2 <==> (forall o.{:pattern mem o s1 \/ mem o s2} not (mem o s1) \/ not (mem o s2)) + +/// We add a few more facts for the utility function `remove` and for `set_as_list`: + +let insert_remove_fact = + forall (a: eqtype) (x: a) (s: set a).{:pattern insert x (remove x s)} + mem x s = true ==> insert x (remove x s) == s + +let remove_insert_fact = + forall (a: eqtype) (x: a) (s: set a).{:pattern remove x (insert x s)} + mem x s = false ==> remove x (insert x s) == s + +let set_as_list_cardinality_fact = + forall (a: eqtype) (s: set a).{:pattern FLT.length (set_as_list s)} + FLT.length (set_as_list s) = cardinality s + +(** + The predicate `all_finite_set_facts` collects all the Dafny finite-set axioms. + One can bring all these facts into scope with `all_finite_set_facts_lemma ()`. +**) + +let all_finite_set_facts = + empty_set_contains_no_elements_fact + /\ length_zero_fact + /\ singleton_contains_argument_fact + /\ singleton_contains_fact + /\ singleton_cardinality_fact + /\ insert_fact + /\ insert_contains_argument_fact + /\ insert_contains_fact + /\ insert_member_cardinality_fact + /\ insert_nonmember_cardinality_fact + /\ union_contains_fact + /\ union_contains_element_from_first_argument_fact + /\ union_contains_element_from_second_argument_fact + /\ union_of_disjoint_fact + /\ intersection_contains_fact + /\ union_idempotent_right_fact + /\ union_idempotent_left_fact + /\ intersection_idempotent_right_fact + /\ intersection_idempotent_left_fact + /\ intersection_cardinality_fact + /\ difference_contains_fact + /\ difference_doesnt_include_fact + /\ difference_cardinality_fact + /\ subset_fact + /\ equal_fact + /\ equal_extensionality_fact + /\ disjoint_fact + /\ insert_remove_fact + /\ remove_insert_fact + /\ set_as_list_cardinality_fact + +val all_finite_set_facts_lemma : unit -> Lemma (all_finite_set_facts) diff --git a/stage0/ulib/FStar.Float.fsti b/stage0/ulib/FStar.Float.fsti new file mode 100644 index 00000000000..42d9425a8d4 --- /dev/null +++ b/stage0/ulib/FStar.Float.fsti @@ -0,0 +1,25 @@ +(* + 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.Float + +/// Support for floating point numbers in F* is nearly non-existent. +/// This module is a placeholder +assume new +type float : Type0 + +type double = float + diff --git a/stage0/ulib/FStar.FunctionalExtensionality.fst b/stage0/ulib/FStar.FunctionalExtensionality.fst new file mode 100644 index 00000000000..48103f9d5ac --- /dev/null +++ b/stage0/ulib/FStar.FunctionalExtensionality.fst @@ -0,0 +1,103 @@ +(* + 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.FunctionalExtensionality + +inline_for_extraction +let on_domain (a:Type) (#b:a -> Type) ([@@@strictly_positive] f:arrow a b) + = fun (x:a) -> f x + +let feq_on_domain (#a:Type) (#b:a -> Type) (f:arrow a b) + = () + +let idempotence_on_domain #a #b f + = assert_norm (on_domain a f == (on_domain a (on_domain a f))) + +let quantifier_as_lemma (#a:Type) (#b: a -> Type) + (f:squash (forall (x:a). b x)) + (x:a) + : Lemma (b x) + = () + +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Tactics.Types +open FStar.Tactics.Effect +(* we're early enough in the module stack that we need to reimplement + a few of the tactic helpers *) +noextract +let try_with (f : unit -> Tac 'a) (h : exn -> Tac 'a) : Tac 'a = + match catch f with + | Inl e -> h e + | Inr x -> x + +noextract +let l_to_r (t:term) : Tac unit = + ctrl_rewrite BottomUp + (fun _ -> true, Continue) + (fun _ -> + try t_apply_lemma false true t + with _ -> t_trefl false) + +let extensionality_1 (a:Type) + (b: a -> Type) + (f g: arrow a b) + (sq_feq : squash (feq f g)) + : Lemma (ensures on_domain a f == on_domain a g) + = assert (on_domain a f == on_domain a g) + by (norm [delta_only [`%on_domain]]; + l_to_r (quote (quantifier_as_lemma sq_feq)); + t_trefl false) + +let extensionality a b f g + = let fwd a b (f g:arrow a b) + : Lemma (requires feq #a #b f g) + (ensures on_domain a f == on_domain a g) + [SMTPat (feq #a #b f g)] + = extensionality_1 a b f g () + in + () + + +(****** GTot version ******) + +let on_domain_g (a:Type) (#b:a -> Type) (f:arrow_g a b) + = fun (x:a) -> f x + +let feq_on_domain_g (#a:Type) (#b:a -> Type) (f:arrow_g a b) + = () + +let idempotence_on_domain_g #a #b f + = assert_norm (on_domain_g a f == (on_domain_g a (on_domain_g a f))) + +let extensionality_1_g (a:Type) + (b: a -> Type) + (f g: arrow_g a b) + (sq_feq : squash (feq_g f g)) + : Lemma (ensures on_domain_g a f == on_domain_g a g) + = assert (on_domain_g a f == on_domain_g a g) + by (norm [delta_only [`%on_domain_g]]; + l_to_r (quote (quantifier_as_lemma sq_feq)); + t_trefl false) + +let extensionality_g a b f g + = let fwd a b (f g:arrow_g a b) + : Lemma (requires feq_g #a #b f g) + (ensures on_domain_g a f == on_domain_g a g) + [SMTPat (feq_g #a #b f g)] + = extensionality_1_g a b f g () + in + () diff --git a/stage0/ulib/FStar.FunctionalExtensionality.fsti b/stage0/ulib/FStar.FunctionalExtensionality.fsti new file mode 100644 index 00000000000..495b78b22bb --- /dev/null +++ b/stage0/ulib/FStar.FunctionalExtensionality.fsti @@ -0,0 +1,191 @@ +(* + 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.FunctionalExtensionality + +/// Functional extensionality asserts the equality of pointwise-equal +/// functions. +/// +/// The formulation of this axiom is particularly subtle in F* because +/// of its interaction with subtyping. In fact, prior formulations of +/// this axiom were discovered to be unsound by Aseem Rastogi. +/// +/// The predicate [feq #a #b f g] asserts that [f, g: x:a -> (b x)] are +/// pointwise equal on the domain [a]. +/// +/// However, due to subtyping [f] and [g] may also be defined on some +/// domain larger than [a]. We need to be careful to ensure that merely +/// proving [f] and [g] equal on their sub-domain [a] does not lead us +/// to conclude that they are equal everywhere. +/// +/// For more context on how functional extensionality works in F*, see +/// 1. tests/micro-benchmarks/Test.FunctionalExtensionality.fst +/// 2. ulib/FStar.Map.fst and ulib/FStar.Map.fsti +/// 3. Issue #1542 on github.com/FStarLang/FStar/issues/1542 + +(** The type of total, dependent functions *) +unfold +let arrow (a: Type) (b: (a -> Type)) = x: a -> Tot (b x) + +(** Using [arrow] instead *) +[@@ (deprecated "Use arrow instead")] +let efun (a: Type) (b: (a -> Type)) = arrow a b + +(** feq #a #b f g: pointwise equality of [f] and [g] on domain [a] *) +let feq (#a: Type) (#b: (a -> Type)) (f g: arrow a b) = forall x. {:pattern (f x)\/(g x)} f x == g x + +(** [on_domain a f]: + + This is a key function provided by the module. It has several + features. + + 1. Intuitively, [on_domain a f] can be seen as a function whose + maximal domain is [a]. + + 2. While, [on_domain a f] is proven to be *pointwise* equal to [f], + crucially it is not provably equal to [f], since [f] may + actually have a domain larger than [a]. + + 3. [on_domain] is idempotent + + 4. [on_domain a f x] has special treatment in F*'s normalizer. It + reduces to [f x], reflecting the pointwise equality of + [on_domain a f] and [f]. + + 5. [on_domain] is marked [inline_for_extraction], to eliminate the + overhead of an indirection in extracted code. (This feature + will be exercised as part of cross-module inlining across + interface boundaries) +*) +inline_for_extraction +val on_domain (a: Type) (#b: (a -> Type)) ([@@@strictly_positive] f: arrow a b) : Tot (arrow a b) + +(** feq_on_domain: + [on_domain a f] is pointwise equal to [f] + *) +val feq_on_domain (#a: Type) (#b: (a -> Type)) (f: arrow a b) + : Lemma (feq (on_domain a f) f) [SMTPat (on_domain a f)] + +(** on_domain is idempotent *) +val idempotence_on_domain (#a: Type) (#b: (a -> Type)) (f: arrow a b) + : Lemma (on_domain a (on_domain a f) == on_domain a f) [SMTPat (on_domain a (on_domain a f))] + +(** [is_restricted a f]: + + Though stated indirectly, [is_restricted a f] is valid when [f] + is a function whose maximal domain is equal to [a]. + + Equivalently, one may see its definition as + [exists g. f == on_domain a g] +*) +let is_restricted (a: Type) (#b: (a -> Type)) (f: arrow a b) = on_domain a f == f + +(** restricted_t a b: + Lifts the [is_restricted] predicate into a refinement type + + This is the type of functions whose maximal domain is [a] + and whose (dependent) co-domain is [b]. +*) +let restricted_t (a: Type) (b: (a -> Type)) = f: arrow a b {is_restricted a f} + +(** [a ^-> b]: + + Notation for non-dependent restricted functions from [a] to [b]. + The first symbol [^] makes it right associative, as expected for + arrows. + *) +unfold +let op_Hat_Subtraction_Greater (a b: Type) = restricted_t a (fun _ -> b) + +(** [on_dom a f]: + A convenience function to introduce a restricted, dependent function + *) +unfold +let on_dom (a: Type) (#b: (a -> Type)) (f: arrow a b) : restricted_t a b = on_domain a f + +(** [on a f]: + A convenience function to introduce a restricted, non-dependent function + *) +unfold +let on (a #b: Type) (f: (a -> Tot b)) : (a ^-> b) = on_dom a f + +(**** MAIN AXIOM *) + +(** [extensionality]: + + The main axiom of this module states that functions [f] and [g] + that are pointwise equal on domain [a] are provably equal when + restricted to [a] *) +val extensionality (a: Type) (b: (a -> Type)) (f g: arrow a b) + : Lemma (ensures (feq #a #b f g <==> on_domain a f == on_domain a g)) [SMTPat (feq #a #b f g)] + +(**** DUPLICATED FOR GHOST FUNCTIONS *) + +(** The type of ghost, total, dependent functions *) +unfold +let arrow_g (a: Type) (b: (a -> Type)) = x: a -> GTot (b x) + +(** Use [arrow_g] instead *) +[@@ (deprecated "Use arrow_g instead")] +let efun_g (a: Type) (b: (a -> Type)) = arrow_g a b + +(** [feq_g #a #b f g]: pointwise equality of [f] and [g] on domain [a] **) +let feq_g (#a: Type) (#b: (a -> Type)) (f g: arrow_g a b) = + forall x. {:pattern (f x)\/(g x)} f x == g x + +(** The counterpart of [on_domain] for ghost functions *) +val on_domain_g (a: Type) (#b: (a -> Type)) (f: arrow_g a b) : Tot (arrow_g a b) + +(** [on_domain_g a f] is pointwise equal to [f] *) +val feq_on_domain_g (#a: Type) (#b: (a -> Type)) (f: arrow_g a b) + : Lemma (feq_g (on_domain_g a f) f) [SMTPat (on_domain_g a f)] + +(** on_domain_g is idempotent *) +val idempotence_on_domain_g (#a: Type) (#b: (a -> Type)) (f: arrow_g a b) + : Lemma (on_domain_g a (on_domain_g a f) == on_domain_g a f) + [SMTPat (on_domain_g a (on_domain_g a f))] + +(** Counterpart of [is_restricted] for ghost functions *) +let is_restricted_g (a: Type) (#b: (a -> Type)) (f: arrow_g a b) = on_domain_g a f == f + +(** Counterpart of [restricted_t] for ghost functions *) +let restricted_g_t (a: Type) (b: (a -> Type)) = f: arrow_g a b {is_restricted_g a f} + +(** [a ^->> b]: + + Notation for ghost, non-dependent restricted functions from [a] + a to [b]. + *) +unfold +let op_Hat_Subtraction_Greater_Greater (a b: Type) = restricted_g_t a (fun _ -> b) + +(** [on_dom_g a f]: + A convenience function to introduce a restricted, ghost, dependent function + *) +unfold +let on_dom_g (a: Type) (#b: (a -> Type)) (f: arrow_g a b) : restricted_g_t a b = on_domain_g a f + +(** [on_g a f]: + A convenience function to introduce a restricted, ghost, non-dependent function + *) +unfold +let on_g (a #b: Type) (f: (a -> GTot b)) : (a ^->> b) = on_dom_g a f + +(** Main axiom for ghost functions **) +val extensionality_g (a: Type) (b: (a -> Type)) (f g: arrow_g a b) + : Lemma (ensures (feq_g #a #b f g <==> on_domain_g a f == on_domain_g a g)) + [SMTPat (feq_g #a #b f g)] + diff --git a/stage0/ulib/FStar.FunctionalQueue.fst b/stage0/ulib/FStar.FunctionalQueue.fst new file mode 100644 index 00000000000..f4af0d78298 --- /dev/null +++ b/stage0/ulib/FStar.FunctionalQueue.fst @@ -0,0 +1,179 @@ +(* + Copyright 2008-2024 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. + + Author: Megan Frisella +*) +module FStar.FunctionalQueue + +module L = FStar.List.Tot +open FStar.List.Tot +open FStar.Seq + +(* Functional queues in the style of Okasaki. + +Enqueue and dequeue are amortized constant time operations. The queue is +represented by a pair of lists, the first one being the "front" of the +queue, where elements are popped, and the second being the "back", where +elements are pushed. The lists are in opposite order, so that popping +from the front and pushing to the back is O(1). When we need to dequeue +and the front is empty, we reverse the back of the list into the front +(see dequeue). + +The lemmas exposed in the interface guarantee to clients of this module +that we in fact model a queue, by relating the operations to a Sequence. *) + +type queue a = p:(list a & list a){L.isEmpty (fst p) ==> L.isEmpty (snd p)} + +let empty #a = [], [] + +val queue_to_list (#a:Type) (q:queue a) : list a +let queue_to_list #a q + = match (fst q) with + | [] -> [] + | _ -> (fst q) @ (L.rev (snd q)) + +val queue_of_list (#a:Type) (l:list a) : queue a +let queue_of_list #a l + = match l with + | [] -> empty + | _ -> l, [] + +let queue_to_seq #a q + = seq_of_list (queue_to_list q) + +let queue_of_seq #a s + = queue_of_list (seq_to_list s) + +let equal #a q1 q2 = queue_to_seq q1 == queue_to_seq q2 + +let lemma_eq_intro #_ q1 q2 = () + +let lemma_eq_elim #_ q1 q2 = () + +let lemma_list_queue_bij (#a:Type) (l:list a) + : Lemma (queue_to_list (queue_of_list l) == l) + = match l with + | [] -> () + | _ -> L.append_l_nil l + +let lemma_queue_list_bij (#a:Type) (q:queue a) + : Lemma (equal (queue_of_list (queue_to_list q)) q) + = match fst q with + | [] -> () + | l -> ( + L.append_l_nil (L.append l (L.rev (snd q))) + ) + +let lemma_seq_queue_bij (#a:Type) (s:seq a) + : Lemma (queue_to_seq (queue_of_seq s) == s) + = let l = (seq_to_list s) in + lemma_list_queue_bij l; + lemma_seq_list_bij s + +let lemma_queue_seq_bij (#a:Type) (q:queue a) + : Lemma (equal (queue_of_seq (queue_to_seq q)) q) + = let l = (queue_to_list q) in + lemma_queue_list_bij q; + lemma_list_seq_bij l + +let enqueue (#a:Type) (x:a) (q:queue a) + : queue a + = match fst q with + | [] -> [x], [] + | l -> l, x :: (snd q) + +let dequeue (#a:Type) (q:queue a{not_empty q}) + : a & queue a + = lemma_seq_of_list_induction (queue_to_list q); + let hd :: tl = fst q in + match tl with + | [] -> hd, (L.rev (snd q), []) + | _ -> hd, (tl, (snd q)) + +let peek (#a:Type) (q:queue a{not_empty q}) + : a + = lemma_seq_of_list_induction (queue_to_list q); + L.hd (fst q) + +let lemma_empty_ok (#a:Type) + : Lemma (queue_to_seq #a empty == Seq.empty) + = lemma_seq_list_bij #a Seq.empty + +let lemma_enqueue_ok_list (#a:Type) (x:a) (q:queue a) + : Lemma (queue_to_list (enqueue x q) == L.snoc ((queue_to_list q),x)) + = match fst q with + | [] -> () + | l -> ( + L.append_assoc l (L.rev (snd q)) [x]; + L.rev_append [x] (snd q) + ) + +let rec lemma_append_seq_of_list_dist (#a:Type) (l1 l2:list a) + : Lemma (ensures Seq.equal (seq_of_list (L.append l1 l2)) (Seq.append (seq_of_list l1) (seq_of_list l2))) + = match l1 with + | [] -> L.append_nil_l l2 + | hd :: tl -> + ( + lemma_seq_of_list_induction (hd :: (L.append tl l2)); + lemma_append_seq_of_list_dist tl l2; + Seq.append_cons hd (seq_of_list tl) (seq_of_list l2); + lemma_seq_of_list_induction (hd :: tl) + ) + +let lemma_snoc_list_seq (#a:Type) (x:a) (q:queue a) + : Lemma (seq_of_list (L.snoc ((queue_to_list q),x)) == Seq.snoc (queue_to_seq q) x) += + let l = queue_to_list q in + calc (==) { + seq_of_list (L.snoc (l, x)) <: seq a; + == { () } + seq_of_list (l @ [x]); + == { lemma_append_seq_of_list_dist l [x] } + seq_of_list l `Seq.append` seq_of_list [x]; + == { assert (Seq.equal (seq_of_list [x]) (Seq.create 1 x)) } + seq_of_list l `Seq.append` Seq.create 1 x; + == { admit() } + Seq.snoc (seq_of_list l) x; + } + +let lemma_enqueue_ok (#a:Type) (x:a) (q:queue a) + : Lemma (queue_to_seq (enqueue x q) == Seq.snoc (queue_to_seq q) x) + = lemma_enqueue_ok_list x q; + lemma_snoc_list_seq x q + +let lemma_dequeue_ok_list (#a:Type) (q:queue a{not_empty q}) + : Lemma (fst (dequeue q) :: queue_to_list (snd (dequeue q)) == queue_to_list q) + = lemma_seq_of_list_induction (queue_to_list q); + let hd :: tl = fst q in + match tl with + | [] -> L.append_l_nil (L.rev (snd q)) + | _ -> L.append_assoc [hd] tl (L.rev (snd q)) + +let lemma_cons_list_seq (#a:Type) (x:a) (q:queue a) + : Lemma (seq_of_list (x :: (queue_to_list q)) == Seq.cons x (queue_to_seq q)) += let l = (queue_to_list q) in + lemma_append_seq_of_list_dist [x] l; + lemma_seq_list_bij (Seq.create 1 x) + +let lemma_dequeue_ok (#a:Type) (q:queue a{not_empty q}) + : Lemma (let hd, tl = dequeue q in + hd == Seq.head (queue_to_seq q) /\ + equal tl (queue_of_seq (Seq.tail (queue_to_seq q)))) + = lemma_dequeue_ok_list q; + lemma_cons_list_seq (fst (dequeue q)) (snd (dequeue q)) + +let lemma_peek_ok (#a:Type) (q:queue a{not_empty q}) + : Lemma (peek q == Seq.head (queue_to_seq q)) + = lemma_dequeue_ok_list q diff --git a/stage0/ulib/FStar.FunctionalQueue.fsti b/stage0/ulib/FStar.FunctionalQueue.fsti new file mode 100644 index 00000000000..13878a4ea29 --- /dev/null +++ b/stage0/ulib/FStar.FunctionalQueue.fsti @@ -0,0 +1,76 @@ +(* + Copyright 2008-2024 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. + + Author: Megan Frisella +*) +module FStar.FunctionalQueue + +open FStar.Seq + +val queue (a:Type u#a) : Type u#a + +val empty (#a:Type) : queue a + +val queue_to_seq (#a:Type) (q:queue a) : seq a + +val queue_of_seq (#a:Type) (s:seq a) : queue a + +val equal (#a:Type) (q1 q2:queue a) : prop + +let not_empty (#a:Type) (q:queue a) : prop + = let s = queue_to_seq q in + ~(Seq.equal s Seq.empty) /\ length s > 0 + +val lemma_eq_intro: #a:Type -> q1:queue a -> q2:queue a -> Lemma + (requires Seq.equal (queue_to_seq q1) (queue_to_seq q2)) + (ensures (equal q1 q2)) + [SMTPat (equal q1 q2)] + +val lemma_eq_elim: #a:Type -> q1:queue a -> q2:queue a -> Lemma + (requires (equal q1 q2)) + (ensures queue_to_seq q1 == queue_to_seq q2) + [SMTPat (equal q1 q2)] + +val lemma_seq_queue_bij: #a:Type -> s:seq a -> Lemma + (queue_to_seq (queue_of_seq s) == s) + [SMTPat (queue_of_seq s)] + +val lemma_queue_seq_bij: #a:Type -> q:queue a -> Lemma + (equal (queue_of_seq (queue_to_seq q)) q) + [SMTPat (queue_to_seq q)] + +val enqueue (#a:Type) (x:a) (q:queue a) : queue a + +val dequeue (#a:Type) (q:queue a{not_empty q}) : a & queue a + +val peek (#a:Type) (q:queue a{not_empty q}) : a + +val lemma_empty_ok: #a:Type -> Lemma + (queue_to_seq #a empty == Seq.empty) + [SMTPat (empty #a)] + +val lemma_enqueue_ok: #a:Type -> x:a -> q:queue a -> Lemma + (queue_to_seq (enqueue x q) == Seq.snoc (queue_to_seq q) x) + [SMTPat (enqueue x q)] + +val lemma_dequeue_ok: #a:Type -> q:queue a{not_empty q} -> Lemma + (let hd, tl = dequeue q in + hd == Seq.head (queue_to_seq q) /\ + equal tl (queue_of_seq (Seq.tail (queue_to_seq q)))) + [SMTPat (dequeue q)] + +val lemma_peek_ok: #a:Type -> q:queue a{not_empty q} -> Lemma + (peek q == Seq.head (queue_to_seq q)) + [SMTPat (peek q)] diff --git a/stage0/ulib/FStar.Functions.fst b/stage0/ulib/FStar.Functions.fst new file mode 100644 index 00000000000..7410ff4326b --- /dev/null +++ b/stage0/ulib/FStar.Functions.fst @@ -0,0 +1,46 @@ +module FStar.Functions + +let inj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) + : Lemma (requires is_inj f /\ is_inj g) + (ensures is_inj (fun x -> g (f x))) + = () + +let surj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) + : Lemma (requires is_surj f /\ is_surj g) + (ensures is_surj (fun x -> g (f x))) + = () + +let bij_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : + Lemma (requires is_bij f /\ is_bij g) + (ensures is_bij (fun x -> g (f x))) += () + +let lem_surj (#a #b : _) (f : a -> GTot b) (y : b) + : Lemma (requires is_surj f) (ensures in_image f y) + = () + +let inverse_of_bij #a #b f = + (* Construct the inverse from indefinite description + choice. *) + let g0 (y:b) : GTot (x:a{f x == y}) = + FStar.IndefiniteDescription.indefinite_description_ghost a + (fun (x:a) -> f x == y) + in + (* Prove it's surjective *) + let aux (x:a) : Lemma (exists (y:b). g0 y == x) = + assert (g0 (f x) == x) + in + Classical.forall_intro aux; + g0 + +let inverse_of_inj #a #b f def = + (* f is a bijection into its image, obtain its inverse *) + let f' : a -> GTot (image_of f) = fun x -> f x in + let g_partial = inverse_of_bij #a #(image_of f) f' in + (* extend the inverse to the full domain b *) + let g : b -> GTot a = + fun (y:b) -> + if FStar.StrongExcludedMiddle.strong_excluded_middle (in_image f y) + then g_partial y + else def + in + g diff --git a/stage0/ulib/FStar.Functions.fsti b/stage0/ulib/FStar.Functions.fsti new file mode 100644 index 00000000000..9982dc4ddf5 --- /dev/null +++ b/stage0/ulib/FStar.Functions.fsti @@ -0,0 +1,53 @@ +module FStar.Functions + +(* This module contains basic definitions and lemmas +about functions and sets. *) + +let is_inj (#a #b : _) (f : a -> GTot b) : prop = + forall (x1 x2 : a). f x1 == f x2 ==> x1 == x2 + +let is_surj (#a #b : _) (f : a -> GTot b) : prop = + forall (y:b). exists (x:a). f x == y + +let is_bij (#a #b : _) (f : a -> GTot b) : prop = + is_inj f /\ is_surj f + +let in_image (#a #b : _) (f : a -> GTot b) (y : b) : prop = + exists (x:a). f x == y + +let image_of (#a #b : _) (f : a -> GTot b) : Type = + y:b{in_image f y} + +(* g inverses f *) +let is_inverse_of (#a #b : _) (g : b -> GTot a) (f : a -> GTot b) = + forall (x:a). g (f x) == x + +let powerset (a:Type u#aa) : Type u#aa = a -> GTot bool + +val inj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) + : Lemma (requires is_inj f /\ is_inj g) + (ensures is_inj (fun x -> g (f x))) + +val surj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) + : Lemma (requires is_surj f /\ is_surj g) + (ensures is_surj (fun x -> g (f x))) + +val bij_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : + Lemma (requires is_bij f /\ is_bij g) + (ensures is_bij (fun x -> g (f x))) + +val lem_surj (#a #b : _) (f : a -> GTot b) (y : b) + : Lemma (requires is_surj f) (ensures in_image f y) + +(* An bijection has a perfect inverse. *) +val inverse_of_bij (#a #b : _) (f : a -> GTot b) + : Ghost (b -> GTot a) + (requires is_bij f) + (ensures fun g -> is_bij g /\ g `is_inverse_of` f /\ f `is_inverse_of` g) + +(* An injective function has an inverse (as long as the domain is non-empty), +and this inverse is surjective. *) +val inverse_of_inj (#a #b : _) (f : a -> GTot b{is_inj f}) (def : a) + : Ghost (b -> GTot a) + (requires is_inj f) + (ensures fun g -> is_surj g /\ g `is_inverse_of` f) diff --git a/stage0/ulib/FStar.GSet.fst b/stage0/ulib/FStar.GSet.fst new file mode 100644 index 00000000000..018b7b9fa58 --- /dev/null +++ b/stage0/ulib/FStar.GSet.fst @@ -0,0 +1,53 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.GSet +(** Computational sets (on Types): membership is a boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" +open FStar.FunctionalExtensionality +module F = FStar.FunctionalExtensionality + +let set (a: Type) : Tot Type = F.restricted_g_t a (fun _ -> bool) + +type equal (#a:Type) (s1:set a) (s2:set a) = F.feq_g s1 s2 + +(* destructors *) +let mem #a x s = s x + +(* constructors *) +let empty #a = F.on_dom_g a (fun x -> false) +let singleton #a x = F.on_dom_g a #(fun _ -> bool) (fun y -> StrongExcludedMiddle.strong_excluded_middle (y == x)) +let union #a s1 s2 = F.on_dom_g a (fun x -> s1 x || s2 x) +let intersect #a s1 s2 = F.on_dom_g a (fun x -> s1 x && s2 x) +let complement #a s = F.on_dom_g a ( fun x -> not (s x)) +let comprehend #a f = F.on_dom_g a f +let of_set #a f = F.on_dom_g a (fun x -> Set.mem x f) + +(* Properties *) +let mem_empty #a x = () +let mem_singleton #a x y = () +let mem_union #a x s1 s2 = () +let mem_intersect #a x s1 s2 = () +let mem_complement #a x s = () +let mem_subset #a s1 s2 = () +let subset_mem #a s1 s2 = () +let comprehend_mem #a f x = () +let mem_of_set #a f x = () + +(* extensionality *) +let lemma_equal_intro #a s1 s2 = () +let lemma_equal_elim #a s1 s2 = () +let lemma_equal_refl #a s1 s2 = () diff --git a/stage0/ulib/FStar.GSet.fsti b/stage0/ulib/FStar.GSet.fsti new file mode 100644 index 00000000000..408496dc2c8 --- /dev/null +++ b/stage0/ulib/FStar.GSet.fsti @@ -0,0 +1,129 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.GSet +(** Computational sets (on Types): membership is a boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +(* + * AR: mark it must_erase_for_extraction temporarily until CMI comes in + *) +[@@must_erase_for_extraction] +val set (a: Type u#a) : Type u#a + +val equal (#a:Type) (s1:set a) (s2:set a) : Type0 + +(* destructors *) + +val mem : #a:Type -> a -> set a -> GTot bool + +(* constructors *) +val empty : #a:Type -> Tot (set a) +val singleton : #a:Type -> a -> Tot (set a) +val union : #a:Type -> set a -> set a -> Tot (set a) +val intersect : #a:Type -> set a -> set a -> Tot (set a) +val complement : #a:Type -> set a -> Tot (set a) +val comprehend (#a: Type) (f: (a -> GTot bool)) : set a +val of_set (#a: eqtype) (f: Set.set a) : set a + +(* a property about sets *) +let disjoint (#a:Type) (s1: set a) (s2: set a) = + equal (intersect s1 s2) empty + +(* ops *) +type subset (#a:Type) (s1:set a) (s2:set a) :Type0 = forall x. mem x s1 ==> mem x s2 + +(* Properties *) +val mem_empty: #a:Type -> x:a -> Lemma + (requires True) + (ensures (not (mem x empty))) + [SMTPat (mem x empty)] + +val mem_singleton: #a:Type -> x:a -> y:a -> Lemma + (requires True) + (ensures (mem y (singleton x) <==> (x==y))) + [SMTPat (mem y (singleton x))] + +val mem_union: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (union s1 s2) = (mem x s1 || mem x s2))) + [SMTPat (mem x (union s1 s2))] + +val mem_intersect: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (intersect s1 s2) = (mem x s1 && mem x s2))) + [SMTPat (mem x (intersect s1 s2))] + +val mem_complement: #a:Type -> x:a -> s:set a -> Lemma + (requires True) + (ensures (mem x (complement s) = not (mem x s))) + [SMTPat (mem x (complement s))] + +val mem_subset: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 ==> mem x s2)) + (ensures (subset s1 s2)) + [SMTPat (subset s1 s2)] + +val subset_mem: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (subset s1 s2)) + (ensures (forall x. mem x s1 ==> mem x s2)) + [SMTPat (subset s1 s2)] + +val comprehend_mem (#a: Type) (f: (a -> GTot bool)) (x: a) + : Lemma (ensures (mem x (comprehend f) == f x)) + [SMTPat (mem x (comprehend f))] + +val mem_of_set (#a: eqtype) (f: Set.set a) (x: a) + : Lemma (ensures (mem x (of_set f) <==> Set.mem x f)) + [SMTPat (mem x (of_set f))] + +(* extensionality *) + +val lemma_equal_intro: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 = mem x s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_elim: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (equal s1 s2)) + (ensures (s1 == s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_refl: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (s1 == s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +let disjoint_not_in_both (a:Type) (s1:set a) (s2:set a) : + Lemma + (requires (disjoint s1 s2)) + (ensures (forall (x:a).{:pattern (mem x s1) \/ (mem x s2)} mem x s1 ==> ~(mem x s2))) + [SMTPat (disjoint s1 s2)] += let f (x:a) : Lemma (~(mem x (intersect s1 s2))) = () in + FStar.Classical.forall_intro f + +(* Converting lists to sets *) +#reset-options //restore fuel usage here + +let rec as_set' (#a:Type) (l:list a) : set a = + match l with + | [] -> empty + | hd::tl -> union (singleton hd) (as_set' tl) + +let lemma_disjoint_subset (#a:Type) (s1:set a) (s2:set a) (s3:set a) + : Lemma (requires (disjoint s1 s2 /\ subset s3 s1)) + (ensures (disjoint s3 s2)) + = () diff --git a/stage0/ulib/FStar.Ghost.fst b/stage0/ulib/FStar.Ghost.fst new file mode 100644 index 00000000000..b14d8805f65 --- /dev/null +++ b/stage0/ulib/FStar.Ghost.fst @@ -0,0 +1,26 @@ +(* + 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.Ghost + +[@@erasable] +noeq +type erased (a:Type) = + | E of a + +let reveal #a (E x) = x +let hide #a x = E x +let hide_reveal #a x = () +let reveal_hide #a x = () diff --git a/stage0/ulib/FStar.Ghost.fst.sketch b/stage0/ulib/FStar.Ghost.fst.sketch new file mode 100644 index 00000000000..1abb3716ece --- /dev/null +++ b/stage0/ulib/FStar.Ghost.fst.sketch @@ -0,0 +1,28 @@ +(* + 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. +*) + +(* See FStar.Ghost.fsti *) +module FStar.Ghost +let erased a = a +let reveal #a x = x +let hide #a x = x +let hide_reveal #a x = () +let reveal_hide #a x = () +let elift1 #a #b f ga = f ga +let elift2 #a #b #c f ga gc = f ga gc +let elift3 #a #b #c #d f ga gc gd = f ga gc gd +let elift1_p #a #b #p f ga = f ga +let elift2_p #a #c #p #b f ga gc = f ga gc diff --git a/stage0/ulib/FStar.Ghost.fsti b/stage0/ulib/FStar.Ghost.fsti new file mode 100644 index 00000000000..243b270b448 --- /dev/null +++ b/stage0/ulib/FStar.Ghost.fsti @@ -0,0 +1,169 @@ +(* + 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.Ghost + +/// This module provides an erased type to abstract computationally +/// irrelevant values. +/// +/// It relies on the GHOST effect defined in Prims. +/// +/// [erased a] is decorated with the erasable attribute. As such, +/// +/// 1. The type is considered non-informative. +/// +/// So, [Ghost (erased a)] can be subsumed to [Pure (erased a)] +/// +/// 2. The compiler extracts [erased a] to [unit] +/// +/// The type is [erased a] is in a bijection with [a], as +/// witnessed by the [hide] and [reveal] function. +/// +/// Importantly, computationally relevant code cannot use [reveal] +/// (it's marked [GTot]) +/// +/// Just like Coq's prop, it is okay to use erased types +/// freely as long as we produce an erased type. +/// +/// [reveal] and [hide] are coercions: the typechecker will +/// automatically insert them when required. That is, if the type of +/// an expression is [erased X], and the expected type is NOT an +/// [erased Y], it will insert [reveal], and vice versa for [hide]. + +(** [erased t] is the computationally irrelevant counterpart of [t] *) +[@@ erasable] +new +val erased ([@@@strictly_positive] a: Type u#a) : Type u#a + +(** [erased t] is in a bijection with [t], as witnessed by [reveal] + and [hide] *) +val reveal: #a: Type u#a -> erased a -> GTot a + +val hide: #a: Type u#a -> a -> Tot (erased a) + +val hide_reveal (#a: Type) (x: erased a) + : Lemma (ensures (hide (reveal x) == x)) [SMTPat (reveal x)] + +val reveal_hide (#a: Type) (x: a) : Lemma (ensures (reveal (hide x) == x)) [SMTPat (hide x)] + + +/// The rest of this module includes several well-defined defined +/// notions. They are not trusted. + +(** [Tot] is a sub-effect of [GTot] F* will usually subsume [Tot] + computations to [GTot] computations, though, occasionally, it may + be useful to apply this coercion explicitly. *) +let tot_to_gtot (f: ('a -> Tot 'b)) (x: 'a) : GTot 'b = f x + +(** [erased]: Injecting a value into [erased]; just an alias of [hide] *) +let return (#a: Type) (x: a) : erased a = hide x + +(** Sequential composition of erased *) +let bind (#a #b: Type) (x: erased a) (f: (a -> Tot (erased b))) : Tot (erased b) = + let y = reveal x in + f y + +unfold +let (let@) (x:erased 'a) (f:('a -> Tot (erased 'b))) : Tot (erased 'b) = bind x f + +(** Unary map *) +irreducible +let elift1 (#a #b: Type) (f: (a -> GTot b)) (x: erased a) + : Tot (y: erased b {reveal y == f (reveal x)}) = + let@ xx = x in return (f xx) + +(** Binary map *) +irreducible +let elift2 (#a #b #c: Type) (f: (a -> b -> GTot c)) (x: erased a) (y: erased b) + : Tot (z: erased c {reveal z == f (reveal x) (reveal y)}) = + let@ xx = x in + let@ yy = y in + return (f xx yy) + +(** Ternary map *) +irreducible +let elift3 + (#a #b #c #d: Type) + (f: (a -> b -> c -> GTot d)) + (ga: erased a) + (gb: erased b) + (gc: erased c) + : Tot (gd: erased d {reveal gd == f (reveal ga) (reveal gb) (reveal gc)}) = + let@ a = ga in + let@ b = gb in + let@ c = gc in + return (f a b c) + +(** Pushing a refinement type under the [erased] constructor *) +let push_refinement #a (#p: (a -> Type0)) (r: erased a {p (reveal r)}) + : erased (x: a{p x /\ x == reveal r}) = + let x:(x: a{p x}) = reveal r in + return x + +(** Mapping a function with a refined domain over a refined erased value *) +irreducible +let elift1_p + (#a #b: Type) + (#p: (a -> Type)) + ($f: (x: a{p x} -> GTot b)) + (r: erased a {p (reveal r)}) + : Tot (z: erased b {reveal z == f (reveal r)}) = + let x:(x: a{p x}) = reveal r in + return (f x) + +(** Mapping a binary function with a refined domain over a pair of + refined erased values *) +irreducible +let elift2_p + (#a #b #c: Type) + (#p: (a -> b -> Type)) + ($f: (xa: a -> xb: b{p xa xb} -> GTot c)) + (ra: erased a) + (rb: erased b {p (reveal ra) (reveal rb)}) + : Tot (rc: erased c {reveal rc == f (reveal ra) (reveal rb)}) = + let x = reveal ra in + let y:(y: b{p x y}) = reveal rb in + return (f x y) + +(** Mapping a function with a refined domain and co-domain over a + refined erased value producing a refined erased value *) +irreducible +let elift1_pq + (#a #b: Type) + (#p: (a -> Type)) + (#q: (x: a{p x} -> b -> Type)) + ($f: (x: a{p x} -> GTot (y: b{q x y}))) + (r: erased a {p (reveal r)}) + : Tot (z: erased b {reveal z == f (reveal r)}) = + let x:(x: a{p x}) = reveal r in + return (f x) + +(** Mapping a binary function with a refined domain and co-domain over + a pair of refined erased values producing a refined erased value + *) +irreducible +let elift2_pq + (#a #b #c: Type) + (#p: (a -> b -> Type)) + (#q: (x: a -> y: b{p x y} -> c -> Type)) + ($f: (x: a -> y: b{p x y} -> GTot (z: c{q x y z}))) + (ra: erased a) + (rb: erased b {p (reveal ra) (reveal rb)}) + : Tot (z: erased c {reveal z == f (reveal ra) (reveal rb)}) = + let x = reveal ra in + let y:(y: b{p x y}) = reveal rb in + return (f x y) + diff --git a/stage0/ulib/FStar.GhostSet.fst b/stage0/ulib/FStar.GhostSet.fst new file mode 100644 index 00000000000..25659f1d0b0 --- /dev/null +++ b/stage0/ulib/FStar.GhostSet.fst @@ -0,0 +1,53 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.GhostSet +(** Ghost computational sets: membership is a ghost boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" +open FStar.FunctionalExtensionality +module F = FStar.FunctionalExtensionality + +let set (a: Type) : Tot Type = F.restricted_g_t a (fun _ -> bool) + +type equal (#a:Type) (s1:set a) (s2:set a) = F.feq_g s1 s2 + +(* destructors *) +let mem #a x s = s x + +(* constructors *) +let empty #a = F.on_dom_g a (fun x -> false) +let singleton #a f x = F.on_dom_g a #(fun _ -> bool) (fun y -> f x y) +let union #a s1 s2 = F.on_dom_g a (fun x -> s1 x || s2 x) +let intersect #a s1 s2 = F.on_dom_g a (fun x -> s1 x && s2 x) +let complement #a s = F.on_dom_g a ( fun x -> not (s x)) +let comprehend #a f = F.on_dom_g a f +let of_set #a f = F.on_dom_g a (fun x -> Set.mem x f) + +(* Properties *) +let mem_empty #a x = () +let mem_singleton #a x y = () +let mem_union #a x s1 s2 = () +let mem_intersect #a x s1 s2 = () +let mem_complement #a x s = () +let mem_subset #a s1 s2 = () +let subset_mem #a s1 s2 = () +let comprehend_mem #a f x = () +let mem_of_set #a f x = () + +(* extensionality *) +let lemma_equal_intro #a s1 s2 = () +let lemma_equal_elim #a s1 s2 = () +let lemma_equal_refl #a s1 s2 = () diff --git a/stage0/ulib/FStar.GhostSet.fsti b/stage0/ulib/FStar.GhostSet.fsti new file mode 100644 index 00000000000..239423a4e6c --- /dev/null +++ b/stage0/ulib/FStar.GhostSet.fsti @@ -0,0 +1,128 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.GhostSet +(** Ghost computational sets: membership is a ghost boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +[@@must_erase_for_extraction; erasable] +val set (a: Type u#a) : Type u#a + +let decide_eq a = x:a -> y:a -> GTot (b:bool { b <==> (x==y) }) + +val equal (#a:Type) (s1:set a) (s2:set a) : Type0 + +(* destructors *) + +val mem : #a:Type -> a -> set a -> GTot bool + +(* constructors *) +val empty : #a:Type -> Tot (set a) +val singleton : #a:Type -> f:decide_eq a -> a -> Tot (set a) +val union : #a:Type -> set a -> set a -> Tot (set a) +val intersect : #a:Type -> set a -> set a -> Tot (set a) +val complement : #a:Type -> set a -> Tot (set a) +val comprehend (#a: Type) (f: (a -> GTot bool)) : set a +val of_set (#a: eqtype) (f: Set.set a) : set a + +(* a property about sets *) +let disjoint (#a:Type) (s1: set a) (s2: set a) = + equal (intersect s1 s2) empty + +(* ops *) +type subset (#a:Type) (s1:set a) (s2:set a) :Type0 = forall x. mem x s1 ==> mem x s2 + +(* Properties *) +val mem_empty: #a:Type -> x:a -> Lemma + (requires True) + (ensures (not (mem x empty))) + [SMTPat (mem x empty)] + +val mem_singleton: #a:Type -> #f:decide_eq a -> x:a -> y:a -> Lemma + (requires True) + (ensures (mem y (singleton f x) <==> (x==y))) + [SMTPat (mem y (singleton f x))] + +val mem_union: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (union s1 s2) = (mem x s1 || mem x s2))) + [SMTPat (mem x (union s1 s2))] + +val mem_intersect: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (intersect s1 s2) = (mem x s1 && mem x s2))) + [SMTPat (mem x (intersect s1 s2))] + +val mem_complement: #a:Type -> x:a -> s:set a -> Lemma + (requires True) + (ensures (mem x (complement s) = not (mem x s))) + [SMTPat (mem x (complement s))] + +val mem_subset: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 ==> mem x s2)) + (ensures (subset s1 s2)) + [SMTPat (subset s1 s2)] + +val subset_mem: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (subset s1 s2)) + (ensures (forall x. mem x s1 ==> mem x s2)) + [SMTPat (subset s1 s2)] + +val comprehend_mem (#a: Type) (f: (a -> GTot bool)) (x: a) + : Lemma (ensures (mem x (comprehend f) == f x)) + [SMTPat (mem x (comprehend f))] + +val mem_of_set (#a: eqtype) (f: Set.set a) (x: a) + : Lemma (ensures (mem x (of_set f) <==> Set.mem x f)) + [SMTPat (mem x (of_set f))] + +(* extensionality *) + +val lemma_equal_intro: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 = mem x s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_elim: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (equal s1 s2)) + (ensures (s1 == s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_refl: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (s1 == s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +let disjoint_not_in_both (a:Type) (s1:set a) (s2:set a) : + Lemma + (requires (disjoint s1 s2)) + (ensures (forall (x:a).{:pattern (mem x s1) \/ (mem x s2)} mem x s1 ==> ~(mem x s2))) + [SMTPat (disjoint s1 s2)] += let f (x:a) : Lemma (~(mem x (intersect s1 s2))) = () in + FStar.Classical.forall_intro f + +(* Converting lists to sets *) +#reset-options //restore fuel usage here + +let rec as_set' (#a:Type) (f:decide_eq a) (l:list a) : set a = + match l with + | [] -> empty + | hd::tl -> union (singleton f hd) (as_set' f tl) + +let lemma_disjoint_subset (#a:Type) (s1:set a) (s2:set a) (s3:set a) + : Lemma (requires (disjoint s1 s2 /\ subset s3 s1)) + (ensures (disjoint s3 s2)) + = () diff --git a/stage0/ulib/FStar.Heap.fst b/stage0/ulib/FStar.Heap.fst new file mode 100644 index 00000000000..280e2105ee8 --- /dev/null +++ b/stage0/ulib/FStar.Heap.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.Heap + +include FStar.Monotonic.Heap + +let trivial_rel (a:Type0) :Preorder.relation a = fun x y -> True + +let trivial_preorder (a:Type0) :Preorder.preorder a = trivial_rel a + +type ref (a:Type0) = mref a (trivial_preorder a) diff --git a/stage0/ulib/FStar.HyperStack.All.fst b/stage0/ulib/FStar.HyperStack.All.fst new file mode 100644 index 00000000000..c6dbcd68380 --- /dev/null +++ b/stage0/ulib/FStar.HyperStack.All.fst @@ -0,0 +1,39 @@ +(* + 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.HyperStack.All +include FStar.HyperStack.ST + +let all_pre = all_pre_h HyperStack.mem +let all_post' (a:Type) (pre:Type) = all_post_h' HyperStack.mem a pre +let all_post (a:Type) = all_post_h HyperStack.mem a +let all_wp (a:Type) = all_wp_h HyperStack.mem a +new_effect ALL = ALL_h HyperStack.mem + +unfold let lift_state_all (a:Type) (wp:st_wp a) (p:all_post a) = wp (fun a -> p (V a)) +sub_effect STATE ~> ALL = lift_state_all + +unfold let lift_exn_all (a:Type) (wp:ex_wp a) (p:all_post a) (h:HyperStack.mem) = wp (fun ra -> p ra h) +sub_effect EXN ~> ALL = lift_exn_all + +effect All (a:Type) (pre:all_pre) (post: (h0:HyperStack.mem -> Tot (all_post' a (pre h0)))) = + ALL a + (fun (p:all_post a) (h:HyperStack.mem) -> pre h /\ (forall ra h1. post h ra h1 ==> p ra h1)) (* WP *) +effect ML (a:Type) = + ALL a (fun (p:all_post a) (_:HyperStack.mem) -> forall (a:result a) (h:HyperStack.mem). p a h) + +assume val failwith: string -> All 'a (fun h -> True) (fun h a h' -> Err? a /\ h==h') +assume val exit: int -> ML 'a +assume val try_with: (unit -> ML 'a) -> (exn -> ML 'a) -> ML 'a diff --git a/stage0/ulib/FStar.HyperStack.ST.fst b/stage0/ulib/FStar.HyperStack.ST.fst new file mode 100644 index 00000000000..edfe9dc041b --- /dev/null +++ b/stage0/ulib/FStar.HyperStack.ST.fst @@ -0,0 +1,335 @@ +(* + 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.HyperStack.ST + +open FStar.HyperStack + +module W = FStar.Monotonic.Witnessed +module HS = FStar.HyperStack + +open FStar.Preorder + +(* Eternal regions remain contained *) +private let eternal_region_pred (m1 m2:mem) :Type0 + = forall (r:HS.rid).{:pattern (HS.is_heap_color (color r)); (m1 `contains_region` r)} + (HS.is_eternal_region_hs r /\ m1 `contains_region` r) ==> m2 `contains_region` r + +(* rid counter increases monotonically *) +private let rid_ctr_pred (m1 m2:mem) :Type0 = get_rid_ctr m1 <= get_rid_ctr m2 + +(* + * A region r, that is: + * (a) not contained in m1, and + * (b) has rid last component less than m1.rid_ctr + * + * remains not contained in m2 + *) +private let rid_last_component_pred (m1 m2:mem) :Type0 + = forall (r:HS.rid).{:pattern (m1 `contains_region` r)} + ((~ (m1 `contains_region` r)) /\ rid_last_component r < get_rid_ctr m1) ==> + (~ (m2 `contains_region` r)) + +(* Predicate for eternal refs *) +private let eternal_refs_pred (m1 m2:mem) :Type0 + = forall (a:Type) (rel:preorder a) (r:HS.mreference a rel). + {:pattern (m1 `HS.contains` r)} + (is_mm r) \/ + (((m1 `HS.contains` r) /\ + (HS.is_eternal_region_hs (frameOf r) \/ + m2 `contains_region` (HS.frameOf r))) ==> (m2 `HS.contains` r /\ rel (HS.sel m1 r) (HS.sel m2 r))) + +(* + * Predicate for next ref address in a region's heap + * For all regions, their next_addr increases monotonically (or the region ceases to exist) + *) +private let next_ref_addr_in_a_region_pred (m1 m2:mem) :Type0 + = forall (r:HS.rid).{:pattern (m1 `contains_region` r)} + (m1 `contains_region` r) ==> + (if m2 `contains_region` r then + let h1 = Map.sel (HS.get_hmap m1) r in + let h2 = Map.sel (HS.get_hmap m2) r in + Heap.next_addr h1 <= Heap.next_addr h2 + else True) + +(* Predicate that an unused ref whose addr is less than the next addr remains unused *) +private let unused_ref_next_addr_pred (m1 m2:mem) :Type0 + = forall (rid:HS.rid).{:pattern (m1 `contains_region` rid)} + (m1 `contains_region` rid) ==> + (let h1 = Map.sel (HS.get_hmap m1) rid in + (forall (a:Type0) (rel:preorder a) (r:HS.mreference a rel).{:pattern (r `HS.unused_in` m1)} + (HS.frameOf r == rid /\ r `HS.unused_in` m1 /\ HS.as_addr r < Heap.next_addr h1) ==> + (r `HS.unused_in` m2))) + +(* Predicate for mm refs *) +private let mm_refs_pred (m1 m2:mem) :Type0 + = forall (a:Type) (rel:preorder a) (r:HS.mreference a rel).{:pattern (m1 `HS.contains` r)} + (not (is_mm r)) \/ + (m1 `HS.contains` r ==> + (m2 `HS.contains` r /\ rel (HS.sel m1 r) (HS.sel m2 r) \/ + r `HS.unused_in` m2)) + +(* The preorder is the conjunction of above predicates *) +let mem_rel :preorder mem + = HS.lemma_rid_ctr_pred (); HS.lemma_next_addr_contained_refs_addr (); + fun (m1 m2:mem) -> + eternal_region_pred m1 m2 /\ rid_ctr_pred m1 m2 /\ rid_last_component_pred m1 m2 /\ eternal_refs_pred m1 m2 /\ + next_ref_addr_in_a_region_pred m1 m2 /\ unused_ref_next_addr_pred m1 m2 /\ mm_refs_pred m1 m2 + +(* Predicates that we will witness with regions and refs *) +let region_contains_pred r = + fun m -> (not (HS.is_eternal_region_hs r)) \/ m `contains_region` r + +let ref_contains_pred #_ #_ r = + fun m -> + let rid = HS.frameOf r in + rid_last_component rid < get_rid_ctr m /\ + (m `contains_region` rid ==> ( + (HS.as_addr r < Heap.next_addr (Map.sel (HS.get_hmap m) rid)) /\ + (HS.is_mm r ==> (m `HS.contains` r \/ r `HS.unused_in` m)) /\ + ((not (HS.is_mm r)) ==> m `HS.contains` r))) + +let stable p = forall (h1:mem) (h2:mem).{:pattern (mem_rel h1 h2)} (p h1 /\ mem_rel h1 h2) ==> p h2 + +let witnessed p = W.witnessed mem_rel p + +(* TODO: we should derive these using DM4F *) +let gst_get _ = admit () +let gst_put _ = admit () + +let gst_witness _ = admit () +let gst_recall _ = admit () + +let lemma_functoriality p q = W.lemma_witnessed_weakening mem_rel p q + +let same_refs_in_all_regions m0 m1 = same_refs_common contained_region m0 m1 +let same_refs_in_stack_regions m0 m1 = same_refs_common contained_stack_region m0 m1 +let same_refs_in_non_tip_regions m0 m1 = same_refs_common contained_non_tip_region m0 m1 +let same_refs_in_non_tip_stack_regions m0 m1 = same_refs_common contained_non_tip_stack_region m0 m1 + +let lemma_same_refs_in_all_regions_intro _ _ = () +let lemma_same_refs_in_all_regions_elim _ _ _ = () +let lemma_same_refs_in_stack_regions_intro _ _ = () +let lemma_same_refs_in_stack_regions_elim _ _ _ = () +let lemma_same_refs_in_non_tip_regions_intro _ _ = () +let lemma_same_refs_in_non_tip_regions_elim _ _ _ = () +let lemma_same_refs_in_non_tip_stack_regions_intro _ _ = () +let lemma_same_refs_in_non_tip_stack_regions_elim _ _ _ = () +let lemma_equal_domains_trans _ _ _ = () + +let push_frame _ = + let m0 = gst_get () in + let m1 = HS.hs_push_frame m0 in + gst_put m1 + +let pop_frame _ = + let m1 = pop (gst_get ()) in + gst_put m1 + +private let salloc_common (#a:Type) (#rel:preorder a) (init:a) (mm:bool) + :StackInline (mreference a rel) + (requires (fun m -> is_stack_region (get_tip m))) + (ensures (fun m0 s m1 -> is_stack_region (HS.frameOf s) /\ salloc_post init m0 s m1 /\ is_mm s == mm)) + = let m0 = gst_get () in + let r, m1 = HS.alloc rel (get_tip m0) init mm m0 in + Heap.lemma_next_addr_alloc rel (Map.sel (get_hmap m0) (get_tip m0)) init mm; //AR: to prove that next_addr in tip's heap increases (it is part of mem_rel) + gst_put m1; + assert (Set.equal (Map.domain (get_hmap m0)) (Map.domain (get_hmap m1))); + HS.lemma_rid_ctr_pred (); //AR: to prove that rid_last_component of r.id is < rid_ctr + gst_witness (ref_contains_pred r); + gst_witness (region_contains_pred (HS.frameOf r)); + r + +let salloc #_ #_ init = salloc_common init false +let salloc_mm #_ #_ init = salloc_common init true + +let sfree #_ #_ r = + let m0 = gst_get () in + let m1 = HS.free r m0 in + assert (Set.equal (Map.domain (get_hmap m0)) (Map.domain (get_hmap m1))); + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + Heap.lemma_next_addr_free_mm (Map.sel (HS.get_hmap m0) (HS.get_tip m0)) (HS.as_ref r); //AR: to prove that next_addr in tip's heap remains same (to satisfy the predicate in mm rel) + gst_put m1 + +let new_region r0 = + if r0 <> HS.root then gst_recall (region_contains_pred r0); //recall containment of r0 + HS.lemma_rid_ctr_pred (); + let m0 = gst_get () in + let new_rid, m1 = HS.new_eternal_region m0 r0 None in + gst_put m1; + gst_witness (region_contains_pred new_rid); + new_rid + +let new_colored_region r0 c = + if r0 <> HS.root then gst_recall (region_contains_pred r0); //recall containment of r0 + HS.lemma_rid_ctr_pred (); + let m0 = gst_get () in + let new_rid, m1 = HS.new_eternal_region m0 r0 (Some c) in + gst_put m1; + gst_witness (region_contains_pred new_rid); + new_rid + +private let ralloc_common (#a:Type) (#rel:preorder a) (i:rid) (init:a) (mm:bool) + :ST (mreference a rel) + (requires (fun m -> is_heap_color (color i) /\ m `contains_region` i)) + (ensures (fun m0 r m1 -> ralloc_post i init m0 r m1 /\ is_mm r == mm)) + = let m0 = gst_get () in + let r, m1 = HS.alloc rel i init mm m0 in + Heap.lemma_next_addr_alloc rel (Map.sel (HS.get_hmap m0) i) init mm; //AR: to prove that next_addr in tip's heap remains same (to satisfy the predicate in mm rel) + gst_put m1; + assert (Set.equal (Map.domain (get_hmap m0)) (Map.domain (get_hmap m1))); + HS.lemma_rid_ctr_pred (); + gst_witness (ref_contains_pred r); + gst_witness (region_contains_pred i); + r + +let ralloc #_ #_ i init = + if i <> HS.root then gst_recall (region_contains_pred i); + ralloc_common i init false + +let ralloc_mm #_ #_ i init = + if i <> HS.root then gst_recall (region_contains_pred i); + ralloc_common i init true + +let rfree #_ #_ r = + let m0 = gst_get () in + gst_recall (region_contains_pred (HS.frameOf r)); + gst_recall (ref_contains_pred r); + HS.lemma_rid_ctr_pred (); + let m1 = HS.free r m0 in + assert (Set.equal (Map.domain (get_hmap m0)) (Map.domain (get_hmap m1))); + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + Heap.lemma_next_addr_free_mm (Map.sel (HS.get_hmap m0) (HS.frameOf r)) (HS.as_ref r); //AR: to prove that next_addr in tip's heap remains same (to satisfy the predicate in mm rel) + gst_put m1 + +let op_Colon_Equals #_ #_ r v = + let m0 = gst_get () in + gst_recall (region_contains_pred (HS.frameOf r)); + gst_recall (ref_contains_pred r); + let m1 = HS.upd_tot m0 r v in + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + Heap.lemma_upd_equals_upd_tot_for_contained_refs (get_hmap m0 `Map.sel` (HS.frameOf r)) (HS.as_ref r) v; + Heap.lemma_next_addr_upd (Map.sel (HS.get_hmap m0) (HS.frameOf r)) (HS.as_ref r) v; //next_addr in ref's rid heap remains same + gst_put m1 + +let op_Bang #_ #_ r = + let m0 = gst_get () in + gst_recall (region_contains_pred (HS.frameOf r)); + gst_recall (ref_contains_pred r); + Heap.lemma_sel_equals_sel_tot_for_contained_refs (get_hmap m0 `Map.sel` (HS.frameOf r)) (HS.as_ref r); + HS.sel_tot m0 r + +let get _ = gst_get () + +let recall #_ #_ r = + gst_recall (ref_contains_pred r); + gst_recall (region_contains_pred (HS.frameOf r)) + +let recall_region i = if i <> HS.root then gst_recall (region_contains_pred i) +let witness_region i = gst_witness (region_contains_pred i) + +let witness_hsref #_ #_ r = + HS.lemma_rid_ctr_pred (); + HS.lemma_next_addr_contained_refs_addr (); + gst_witness (ref_contains_pred r) + +let mr_witness #r #_ #_ m p = + recall m; + let p_pred (#i:erid) (#a:Type) (#b:preorder a) + (r:m_rref i a b) (p:mem_predicate) + :mem_predicate + = fun m -> m `contains` r /\ p m + in + gst_witness (p_pred m p); + lemma_functoriality (p_pred m p) p + +let weaken_witness p q = + let aux () :Lemma (requires ((forall h. p h ==> q h) /\ witnessed p)) (ensures (witnessed q)) + = lemma_functoriality p q + in + FStar.Classical.move_requires aux () + +let testify (p:mem_predicate) = gst_recall p + +let testify_forall #c #p $s = + W.lemma_witnessed_forall mem_rel p; + gst_recall (fun h -> forall (x:c). p x h) + +let testify_forall_region_contains_pred #c #p $s = + let p' (x:c) :mem_predicate = region_contains_pred (p x) in + let s:squash (forall (x:c). witnessed (p' x)) = () in + testify_forall s + +private let mem_rel_predicate (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) + :mem_predicate + = let rid = HS.frameOf r in + fun m -> + (HS.rid_last_component rid < HS.get_rid_ctr m) /\ ( //will help us prove that a deallocated region remains deallocated + (m `HS.contains` r /\ p m) \/ //the ref is contained and satisfies p + (m `contains_region` rid /\ ~ (m `HS.contains_ref_in_its_region` r) /\ HS.as_addr r < Heap.next_addr (HS.get_hmap m `Map.sel` rid) /\ r `HS.unused_in` m) \/ //the ref is deallocated, but its region is contained and next_addr > addr_of ref + (not (m `contains_region` rid))) //the region itself is not there + +let token_p #_ #_ r p = witnessed (mem_rel_predicate r p) + +let witness_p #_ #_ r p = + gst_recall (ref_contains_pred r); + gst_recall (region_contains_pred (HS.frameOf r)); + HS.lemma_next_addr_contained_refs_addr (); + gst_witness (mem_rel_predicate r p) + +let recall_p #_ #_ r p = + gst_recall (ref_contains_pred r); + gst_recall (region_contains_pred (HS.frameOf r)); + gst_recall (mem_rel_predicate r p) + +let token_functoriality #_ #_ r p q = + lemma_functoriality (mem_rel_predicate r p) (mem_rel_predicate r q) + +let lemma_witnessed_constant p = W.lemma_witnessed_constant mem_rel p + +let lemma_witnessed_nested p = + assert_norm (witnessed (fun (m:mem) -> witnessed p) == + W.witnessed mem_rel (fun (m:mem) -> W.witnessed mem_rel p)); + assert_norm (witnessed p == W.witnessed mem_rel p); + W.lemma_witnessed_nested mem_rel p +let lemma_witnessed_and p q = W.lemma_witnessed_and mem_rel p q +let lemma_witnessed_or p q = W.lemma_witnessed_or mem_rel p q +let lemma_witnessed_impl p q = W.lemma_witnessed_impl mem_rel p q +let lemma_witnessed_forall #_ p = W.lemma_witnessed_forall mem_rel p +let lemma_witnessed_exists #_ p = W.lemma_witnessed_exists mem_rel p + + +let drgn = d_hrid +let rid_of_drgn d = d + +let new_drgn r0 = + if r0 <> HS.root then gst_recall (region_contains_pred r0); //recall containment of r0 + HS.lemma_rid_ctr_pred (); + let m0 = gst_get () in + let new_rid, m1 = HS.new_freeable_heap_region m0 r0 in + gst_put m1; + gst_witness (region_contains_pred new_rid); + new_rid + +let free_drgn d = + let m0 = gst_get () in + let m1 = HS.free_heap_region m0 d in + gst_put m1 + +let ralloc_drgn #_ #_ d init = ralloc_common (rid_of_drgn d) init false +let ralloc_drgn_mm #_ #_ d init = ralloc_common (rid_of_drgn d) init true diff --git a/stage0/ulib/FStar.HyperStack.ST.fsti b/stage0/ulib/FStar.HyperStack.ST.fsti new file mode 100644 index 00000000000..695db7263ce --- /dev/null +++ b/stage0/ulib/FStar.HyperStack.ST.fsti @@ -0,0 +1,606 @@ +(* + 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.HyperStack.ST + +open FStar.HyperStack + +module HS = FStar.HyperStack + +open FStar.Preorder + +(* Setting up the preorder for mem *) + +(* Starting the predicates that constitute the preorder *) + +[@@"opaque_to_smt"] +private unfold let contains_region (m:mem) (r:rid) = get_hmap m `Map.contains` r + +(* The preorder is the conjunction of above predicates *) +val mem_rel :preorder mem + +type mem_predicate = mem -> Type0 + +(* Predicates that we will witness with regions and refs *) +val region_contains_pred (r:HS.rid) :mem_predicate + +val ref_contains_pred (#a:Type) (#rel:preorder a) (r:HS.mreference a rel) :mem_predicate + +(***** Global ST (GST) effect with put, get, witness, and recall *****) + +new_effect GST = STATE_h mem + +let gst_pre = st_pre_h mem +let gst_post' (a:Type) (pre:Type) = st_post_h' mem a pre +let gst_post (a:Type) = st_post_h mem a +let gst_wp (a:Type) = st_wp_h mem a + +unfold let lift_div_gst (a:Type) (wp:pure_wp a) (p:gst_post a) (h:mem) = wp (fun a -> p a h) +sub_effect DIV ~> GST = lift_div_gst + +(* + * AR: A few notes about the interface: + * - The interface closely mimics the interface we formalized in our POPL'18 paper + * - Specifically, `witnessed` is defined for any mem_predicate (not necessarily stable ones) + * - `stable p` is a precondition for `gst_witness` + * - `gst_recall` does not have a precondition for `stable p`, since `gst_witness` is the only way + * clients would have obtained `witnessed p`, and so, `p` should already be stable + * - `lemma_functoriality` does not require stability for either `p` or `q` + * Our metatheory ensures that this is sound (without requiring stability of `q`) + * This form is useful in defining the MRRef interface (see mr_witness) + *) + +val stable (p:mem_predicate) :Type0 + +val witnessed (p:mem_predicate) :Type0 + +(* TODO: we should derive these using DM4F *) +private val gst_get: unit -> GST mem (fun p h0 -> p h0 h0) +private val gst_put: h1:mem -> GST unit (fun p h0 -> mem_rel h0 h1 /\ p () h1) + +private val gst_witness: p:mem_predicate -> GST unit (fun post h0 -> p h0 /\ stable p /\ (witnessed p ==> post () h0)) +private val gst_recall: p:mem_predicate -> GST unit (fun post h0 -> witnessed p /\ (p h0 ==> post () h0)) + +val lemma_functoriality (p:mem_predicate{witnessed p}) (q:mem_predicate{(forall (h:mem). p h ==> q h)}) + : Lemma (witnessed q) + +let st_pre = gst_pre +let st_post' = gst_post' +let st_post = gst_post +let st_wp = gst_wp + +new_effect STATE = GST + +unfold let lift_gst_state (a:Type) (wp:gst_wp a) = wp +sub_effect GST ~> STATE = lift_gst_state + +(* effect State (a:Type) (wp:st_wp a) = *) +(* STATE a wp *) + +(** + WARNING: this effect is unsafe, for C/C++ extraction it shall only be used by + code that would later extract to OCaml or by library functions + *) +effect Unsafe (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ (forall a h1. pre h /\ post h a h1 ==> p a h1)) (* WP *) + +(****** defining predicates for equal refs in some regions ******) + +(* +// * AR: (may be this is an overkill) +// * various effects below talk about refs being equal in some regions (all regions, stack regions, etc.) +// * this was done by defining, for example, an equal_dom predicate with a (forall (r:rid)) quantifier +// * this quantifier was only guarded with Map.contains (HS.get_hmap m) r +// * which meant it could fire for all the contained regions +// * +// * instead now we define abstract predicates, e.g. same_refs_in_all_regions, and provide intro and elim forms +// * the advantage is that, the (lemma) quantifiers are now guarded additionally by same_refs_in_all_regions kind +// * of predicates, and hence should fire more contextually +// * should profile the queries to see if it actually helps +// *) + +(* +// * marking these opaque, since expect them to be unfolded away beforehand +// *) +[@@"opaque_to_smt"] +unfold private let equal_heap_dom (r:rid) (m0 m1:mem) :Type0 + = Heap.equal_dom (get_hmap m0 `Map.sel` r) (get_hmap m1 `Map.sel` r) + +[@@"opaque_to_smt"] +unfold private let contained_region :mem -> mem -> rid -> Type0 + = fun m0 m1 r -> m0 `contains_region` r /\ m1 `contains_region` r + +[@@"opaque_to_smt"] +unfold private let contained_stack_region :mem -> mem -> rid -> Type0 + = fun m0 m1 r -> is_stack_region r /\ contained_region m0 m1 r + +[@@"opaque_to_smt"] +unfold private let contained_non_tip_region :mem -> mem -> rid -> Type0 + = fun m0 m1 r -> r =!= get_tip m0 /\ r =!= get_tip m1 /\ contained_region m0 m1 r + +[@@"opaque_to_smt"] +unfold private let contained_non_tip_stack_region :mem -> mem -> rid -> Type0 + = fun m0 m1 r -> is_stack_region r /\ contained_non_tip_region m0 m1 r + +[@@"opaque_to_smt"] +unfold private let same_refs_common (p:mem -> mem -> rid -> Type0) (m0 m1:mem) = + forall (r:rid). p m0 m1 r ==> equal_heap_dom r m0 m1 + +(* predicates *) +val same_refs_in_all_regions (m0 m1:mem) :Type0 +val same_refs_in_stack_regions (m0 m1:mem) :Type0 +val same_refs_in_non_tip_regions (m0 m1:mem) :Type0 +val same_refs_in_non_tip_stack_regions (m0 m1:mem) :Type0 + +(* intro and elim forms *) +val lemma_same_refs_in_all_regions_intro (m0 m1:mem) + :Lemma (requires (same_refs_common contained_region m0 m1)) (ensures (same_refs_in_all_regions m0 m1)) + [SMTPat (same_refs_in_all_regions m0 m1)] +val lemma_same_refs_in_all_regions_elim (m0 m1:mem) (r:rid) + :Lemma (requires (same_refs_in_all_regions m0 m1 /\ contained_region m0 m1 r)) (ensures (equal_heap_dom r m0 m1)) + [SMTPatOr [[SMTPat (same_refs_in_all_regions m0 m1); SMTPat (m0 `contains_region` r)]; + [SMTPat (same_refs_in_all_regions m0 m1); SMTPat (m1 `contains_region` r)]]] + +val lemma_same_refs_in_stack_regions_intro (m0 m1:mem) + :Lemma (requires (same_refs_common contained_stack_region m0 m1)) (ensures (same_refs_in_stack_regions m0 m1)) + [SMTPat (same_refs_in_stack_regions m0 m1)] +val lemma_same_refs_in_stack_regions_elim (m0 m1:mem) (r:rid) + :Lemma (requires (same_refs_in_stack_regions m0 m1 /\ contained_stack_region m0 m1 r)) (ensures (equal_heap_dom r m0 m1)) + [SMTPatOr [[SMTPat (same_refs_in_stack_regions m0 m1); SMTPat (is_stack_region r); SMTPat (m0 `contains_region` r)]; + [SMTPat (same_refs_in_stack_regions m0 m1); SMTPat (is_stack_region r); SMTPat (m1 `contains_region` r)]]] + +val lemma_same_refs_in_non_tip_regions_intro (m0 m1:mem) + :Lemma (requires (same_refs_common contained_non_tip_region m0 m1)) (ensures (same_refs_in_non_tip_regions m0 m1)) + [SMTPat (same_refs_in_non_tip_regions m0 m1)] + +val lemma_same_refs_in_non_tip_regions_elim (m0 m1:mem) (r:rid) + :Lemma (requires (same_refs_in_non_tip_regions m0 m1 /\ contained_non_tip_region m0 m1 r)) (ensures (equal_heap_dom r m0 m1)) + [SMTPatOr [[SMTPat (same_refs_in_non_tip_regions m0 m1); SMTPat (m0 `contains_region` r)]; + [SMTPat (same_refs_in_non_tip_regions m0 m1); SMTPat (m1 `contains_region` r)]]] + +val lemma_same_refs_in_non_tip_stack_regions_intro (m0 m1:mem) + :Lemma (requires (same_refs_common contained_non_tip_stack_region m0 m1)) (ensures (same_refs_in_non_tip_stack_regions m0 m1)) + [SMTPat (same_refs_in_non_tip_stack_regions m0 m1)] +val lemma_same_refs_in_non_tip_stack_regions_elim (m0 m1:mem) (r:rid) + :Lemma (requires (same_refs_in_non_tip_stack_regions m0 m1 /\ contained_non_tip_stack_region m0 m1 r)) + (ensures (equal_heap_dom r m0 m1)) + [SMTPatOr [[SMTPat (same_refs_in_non_tip_stack_regions m0 m1); SMTPat (is_stack_region r); SMTPat (m0 `contains_region` r);]; + [SMTPat (same_refs_in_non_tip_stack_regions m0 m1); SMTPat (is_stack_region r); SMTPat (m1 `contains_region` r)]]] + +(******) + +let equal_domains (m0 m1:mem) = + get_tip m0 == get_tip m1 /\ + Set.equal (Map.domain (get_hmap m0)) (Map.domain (get_hmap m1)) /\ + same_refs_in_all_regions m0 m1 + +val lemma_equal_domains_trans (m0 m1 m2:mem) + :Lemma (requires (equal_domains m0 m1 /\ equal_domains m1 m2)) + (ensures (equal_domains m0 m2)) + [SMTPat (equal_domains m0 m1); SMTPat (equal_domains m1 m2)] + +(** + * Effect of stacked based code: the 'equal_domains' clause enforces that + * - both mem have the same tip + * - both mem reference the same heaps (their map: rid -> heap have the same domain) + * - in each region id, the corresponding heaps contain the same references on both sides + *) +effect Stack (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ (forall a h1. (pre h /\ post h a h1 /\ equal_domains h h1) ==> p a h1)) (* WP *) + +(** + * Effect of heap-based code. + * - assumes that the stack is empty (tip = root) + * - corresponds to the HyperHeap ST effect + * - can call to Stack and ST code freely + * - respects the stack invariant: the stack has to be empty when returning + *) +effect Heap (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ (forall a h1. (pre h /\ post h a h1 /\ get_tip h = HS.root /\ get_tip h1 = HS.root ) ==> p a h1)) (* WP *) + +let equal_stack_domains (m0 m1:mem) = + get_tip m0 == get_tip m1 /\ + same_refs_in_stack_regions m0 m1 + +(** + * Effect of low-level code: + * - maintains the allocation invariant on the stack: no allocation unless in a new frame that has to be popped before returning + * - not constraints on heap allocation + *) +effect ST (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ (forall a h1. (pre h /\ post h a h1 /\ equal_stack_domains h h1) ==> p a h1)) (* WP *) + +effect St (a:Type) = ST a (fun _ -> True) (fun _ _ _ -> True) + +let inline_stack_inv h h' : GTot Type0 = + (* The frame invariant is enforced *) + get_tip h == get_tip h' /\ + (* The heap structure is unchanged *) + Map.domain (get_hmap h) == Map.domain (get_hmap h') /\ + (* Any region that is not the tip has no seen any allocation *) + same_refs_in_non_tip_regions h h' + +(** + * Effect that indicates to the Karamel compiler that allocation may occur in the caller's frame. + * In other terms, the backend has to unfold the body into the caller's body. + * This effect maintains the stack AND the heap invariant: it can be inlined in the Stack effect + * function body as well as in a Heap effect function body + *) +effect StackInline (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ is_stack_region (get_tip h) /\ (forall a h1. (pre h /\ post h a h1 /\ inline_stack_inv h h1) ==> p a h1)) (* WP *) + +let inline_inv h h' : GTot Type0 = + (* The stack invariant is enforced *) + get_tip h == get_tip h' /\ + (* No frame may have received an allocation but the tip *) + same_refs_in_non_tip_stack_regions h h' + +(** + * Effect that indicates to the Karamel compiler that allocation may occur in the caller's frame. + * In other terms, the backend has to unfold the body into the caller's body. + * This effect only maintains the stack invariant: the tip is left unchanged and no allocation + * may occurs in the stack lower than the tip. + * Region allocation is not constrained. + * Heap allocation is not constrained. + *) +effect Inline (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = + STATE a + (fun (p:st_post a) (h:mem) -> pre h /\ (forall a h1. (pre h /\ post h a h1 /\ inline_inv h h1) ==> p a h1)) (* WP *) + +(** + * TODO: + * REMOVE AS SOON AS CONSENSUS IS REACHED ON NEW LOW EFFECT NAMES + *) +effect STL (a:Type) (pre:st_pre) (post: (m0:mem -> Tot (st_post' a (pre m0)))) = Stack a pre post + +sub_effect + DIV ~> STATE = fun (a:Type) (wp:pure_wp a) (p:st_post a) (h:mem) -> wp (fun a -> p a h) + + +(* + * AR: The clients should open HyperStack.ST after the memory model files (as with Heap and FStar.ST) + *) + +type mreference (a:Type) (rel:preorder a) = + r:HS.mreference a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type mstackref (a:Type) (rel:preorder a) = + r:HS.mstackref a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type mref (a:Type) (rel:preorder a) = + r:HS.mref a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type mmmstackref (a:Type) (rel:preorder a) = + r:HS.mmmstackref a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type mmmref (a:Type) (rel:preorder a) = + r:HS.mmmref a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type s_mref (i:rid) (a:Type) (rel:preorder a) = + r:HS.s_mref i a rel{witnessed (ref_contains_pred r) /\ + witnessed (region_contains_pred (HS.frameOf r))} +type reference (a:Type) = mreference a (Heap.trivial_preorder a) +type stackref (a:Type) = mstackref a (Heap.trivial_preorder a) +type ref (a:Type) = mref a (Heap.trivial_preorder a) +type mmstackref (a:Type) = mmmstackref a (Heap.trivial_preorder a) +type mmref (a:Type) = mmmref a (Heap.trivial_preorder a) +type s_ref (i:rid) (a:Type) = s_mref i a (Heap.trivial_preorder a) + +let is_eternal_region (r:rid) :Type0 + = HS.is_eternal_region_hs r /\ (r == HS.root \/ witnessed (region_contains_pred r)) + +(* + * AR: The change to using ST.rid may not be that bad itself, + * since subtyping should take care of most instances in the client usage. + * However, one case where it could be an issue is modifies clauses that use + * Set.set rid. + *) + +(** Pushes a new empty frame on the stack **) +val push_frame (_:unit) :Unsafe unit (requires (fun m -> True)) (ensures (fun (m0:mem) _ (m1:mem) -> fresh_frame m0 m1)) + +(** Removes old frame from the stack **) +val pop_frame (_:unit) + :Unsafe unit (requires (fun m -> poppable m)) + (ensures (fun (m0:mem) _ (m1:mem) -> poppable m0 /\ m1 == pop m0 /\ popped m0 m1)) + +#push-options "--z3rlimit 40" +let salloc_post (#a:Type) (#rel:preorder a) (init:a) (m0:mem) + (s:mreference a rel{is_stack_region (frameOf s)}) (m1:mem) + = is_stack_region (get_tip m0) /\ + Map.domain (get_hmap m0) == Map.domain (get_hmap m1) /\ + get_tip m0 == get_tip m1 /\ + frameOf s = get_tip m1 /\ + HS.fresh_ref s m0 m1 /\ //it's a fresh reference in the top frame + m1 == HyperStack.upd m0 s init //and it's been initialized +#pop-options + +(** + * Allocates on the top-most stack frame + *) +val salloc (#a:Type) (#rel:preorder a) (init:a) + :StackInline (mstackref a rel) (requires (fun m -> is_stack_region (get_tip m))) + (ensures salloc_post init) + +// JP, AR: these are not supported in C, and `salloc` already benefits from +// automatic memory management. +[@@ (deprecated "Use salloc instead") ] +val salloc_mm (#a:Type) (#rel:preorder a) (init:a) + :StackInline (mmmstackref a rel) (requires (fun m -> is_stack_region (get_tip m))) + (ensures salloc_post init) + +[@@ (deprecated "Use salloc instead") ] +val sfree (#a:Type) (#rel:preorder a) (r:mmmstackref a rel) + :StackInline unit (requires (fun m0 -> frameOf r = get_tip m0 /\ m0 `contains` r)) + (ensures (fun m0 _ m1 -> m0 `contains` r /\ m1 == HS.free r m0)) + +unfold +let new_region_post_common (r0 r1:rid) (m0 m1:mem) = + r1 `HS.extends` r0 /\ + HS.fresh_region r1 m0 m1 /\ + get_hmap m1 == Map.upd (get_hmap m0) r1 Heap.emp /\ + get_tip m1 == get_tip m0 /\ + HS.live_region m0 r0 + +val new_region (r0:rid) + :ST rid + (requires (fun m -> is_eternal_region r0)) + (ensures (fun m0 r1 m1 -> + new_region_post_common r0 r1 m0 m1 /\ + HS.color r1 = HS.color r0 /\ + is_eternal_region r1 /\ + (r1, m1) == HS.new_eternal_region m0 r0 None)) + +val new_colored_region (r0:rid) (c:int) + :ST rid + (requires (fun m -> HS.is_heap_color c /\ is_eternal_region r0)) + (ensures (fun m0 r1 m1 -> + new_region_post_common r0 r1 m0 m1 /\ + HS.color r1 = c /\ + is_eternal_region r1 /\ + (r1, m1) == HS.new_eternal_region m0 r0 (Some c))) + +let ralloc_post (#a:Type) (#rel:preorder a) (i:rid) (init:a) (m0:mem) + (x:mreference a rel) (m1:mem) = + let region_i = get_hmap m0 `Map.sel` i in + as_ref x `Heap.unused_in` region_i /\ + i `is_in` get_hmap m0 /\ + i = frameOf x /\ + m1 == upd m0 x init + +val ralloc (#a:Type) (#rel:preorder a) (i:rid) (init:a) + :ST (mref a rel) (requires (fun m -> is_eternal_region i)) + (ensures (ralloc_post i init)) + +val ralloc_mm (#a:Type) (#rel:preorder a) (i:rid) (init:a) + :ST (mmmref a rel) (requires (fun m -> is_eternal_region i)) + (ensures (ralloc_post i init)) + +(* + * AR: 12/26: For a ref to be readable/writable/free-able, + * the client can either prove contains + * or give us enough so that we can use monotonicity to derive contains + *) +let is_live_for_rw_in (#a:Type) (#rel:preorder a) (r:mreference a rel) (m:mem) :Type0 = + (m `contains` r) \/ + (let i = HS.frameOf r in + (is_eternal_region i \/ i `HS.is_above` get_tip m) /\ + (not (is_mm r) \/ m `HS.contains_ref_in_its_region` r)) + +val rfree (#a:Type) (#rel:preorder a) (r:mreference a rel{HS.is_mm r /\ HS.is_heap_color (HS.color (HS.frameOf r))}) + :ST unit (requires (fun m0 -> r `is_live_for_rw_in` m0)) + (ensures (fun m0 _ m1 -> m0 `contains` r /\ m1 == HS.free r m0)) + +unfold let assign_post (#a:Type) (#rel:preorder a) (r:mreference a rel) (v:a) (m0:mem) (_:unit) (m1:mem) = + m0 `contains` r /\ m1 == HyperStack.upd m0 r v + +(** + * Assigns, provided that the reference exists. + * Guarantees the strongest low-level effect: Stack + *) +val op_Colon_Equals (#a:Type) (#rel:preorder a) (r:mreference a rel) (v:a) + :STL unit (requires (fun m -> r `is_live_for_rw_in` m /\ rel (HS.sel m r) v)) + (ensures (assign_post r v)) + +unfold let deref_post (#a:Type) (#rel:preorder a) (r:mreference a rel) (m0:mem) (x:a) (m1:mem) = + m1 == m0 /\ m0 `contains` r /\ x == HyperStack.sel m0 r + +(** + * Dereferences, provided that the reference exists. + * Guarantees the strongest low-level effect: Stack + *) +val op_Bang (#a:Type) (#rel:preorder a) (r:mreference a rel) + :Stack a (requires (fun m -> r `is_live_for_rw_in` m)) + (ensures (deref_post r)) + +let modifies_none (h0:mem) (h1:mem) = modifies Set.empty h0 h1 + +// NS: This version is just fine; all the operation on mem are ghost +// and we can rig it so that mem just get erased at the end +(** + * Returns the current stack of heaps --- it should be erased + *) +val get (_:unit) + :Stack mem (requires (fun m -> True)) + (ensures (fun m0 x m1 -> m0 == x /\ m1 == m0)) + +(** + * We can only recall refs with mm bit unset, not stack refs + *) +val recall (#a:Type) (#rel:preorder a) (r:mreference a rel{not (HS.is_mm r)}) + :Stack unit (requires (fun m -> is_eternal_region (HS.frameOf r) \/ m `contains_region` (HS.frameOf r))) + (ensures (fun m0 _ m1 -> m0 == m1 /\ m1 `contains` r)) + +(** + * We can only recall eternal regions, not stack regions + *) +val recall_region (i:rid{is_eternal_region i}) + :Stack unit (requires (fun m -> True)) + (ensures (fun m0 _ m1 -> m0 == m1 /\ i `is_in` get_hmap m1)) + +val witness_region (i:rid) + :Stack unit (requires (fun m0 -> HS.is_eternal_region_hs i ==> i `is_in` get_hmap m0)) + (ensures (fun m0 _ m1 -> m0 == m1 /\ witnessed (region_contains_pred i))) + +val witness_hsref (#a:Type) (#rel:preorder a) (r:HS.mreference a rel) + :ST unit (fun h0 -> h0 `HS.contains` r) + (fun h0 _ h1 -> h0 == h1 /\ witnessed (ref_contains_pred r)) + +(** MR witness etc. **) + +type erid = r:rid{is_eternal_region r} + +type m_rref (r:erid) (a:Type) (b:preorder a) = x:mref a b{HS.frameOf x = r} + +(* states that p is preserved by any valid updates on r; note that h0 and h1 may differ arbitrarily elsewhere, hence proving stability usually requires that p depends only on r's content. + *) +unfold type stable_on (#a:Type0) (#rel:preorder a) (p:mem_predicate) (r:mreference a rel) + = forall (h0 h1:mem).{:pattern (p h0); rel (HS.sel h0 r) (HS.sel h1 r)} + (p h0 /\ rel (HS.sel h0 r) (HS.sel h1 r)) ==> p h1 + +(* + * The stable_on_t and mr_witness API is here for legacy reasons, + * the preferred API is stable_on and witness_p + *) + +unfold type stable_on_t (#i:erid) (#a:Type) (#b:preorder a) + (r:m_rref i a b) (p:mem_predicate) + = stable_on p r + +val mr_witness (#r:erid) (#a:Type) (#b:preorder a) + (m:m_rref r a b) (p:mem_predicate) + :ST unit (requires (fun h0 -> p h0 /\ stable_on_t m p)) + (ensures (fun h0 _ h1 -> h0==h1 /\ witnessed p)) + +val weaken_witness (p q:mem_predicate) + :Lemma ((forall h. p h ==> q h) /\ witnessed p ==> witnessed q) + +val testify (p:mem_predicate) + :ST unit (requires (fun _ -> witnessed p)) + (ensures (fun h0 _ h1 -> h0==h1 /\ p h1)) + +val testify_forall (#c:Type) (#p:(c -> mem -> Type0)) + ($s:squash (forall (x:c). witnessed (p x))) + :ST unit (requires (fun h -> True)) + (ensures (fun h0 _ h1 -> h0==h1 /\ (forall (x:c). p x h1))) + +val testify_forall_region_contains_pred (#c:Type) (#p:(c -> GTot rid)) + ($s:squash (forall (x:c). witnessed (region_contains_pred (p x)))) + :ST unit (requires (fun _ -> True)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ + (forall (x:c). HS.is_eternal_region_hs (p x) ==> h1 `contains_region` (p x)))) + + +(****** Begin: preferred API for witnessing and recalling predicates ******) + + +val token_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) :Type0 + +val witness_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) + :ST unit (fun h0 -> p h0 /\ p `stable_on` r) + (fun h0 _ h1 -> h0 == h1 /\ token_p r p) + +val recall_p (#a:Type0) (#rel:preorder a) (r:mreference a rel) (p:mem_predicate) + :ST unit (fun h0 -> ((is_eternal_region (HS.frameOf r) /\ not (HS.is_mm r)) \/ h0 `HS.contains` r) /\ token_p r p) + (fun h0 _ h1 -> h0 == h1 /\ h0 `HS.contains` r /\ p h0) + +val token_functoriality + (#a:Type0) (#rel:preorder a) (r:mreference a rel) + (p:mem_predicate{token_p r p}) (q:mem_predicate{forall (h:mem). p h ==> q h}) + : Lemma (token_p r q) + + +(****** End: preferred API for witnessing and recalling predicates ******) + + +type ex_rid = erid + + +(****** logical properties of witnessed ******) + +val lemma_witnessed_constant (p:Type0) + :Lemma (witnessed (fun (m:mem) -> p) <==> p) + +val lemma_witnessed_nested (p:mem_predicate) + : Lemma (witnessed (fun (m:mem) -> witnessed p) <==> witnessed p) + +val lemma_witnessed_and (p q:mem_predicate) + :Lemma (witnessed (fun s -> p s /\ q s) <==> (witnessed p /\ witnessed q)) + +val lemma_witnessed_or (p q:mem_predicate) + :Lemma ((witnessed p \/ witnessed q) ==> witnessed (fun s -> p s \/ q s)) + +val lemma_witnessed_impl (p q:mem_predicate) + :Lemma ((witnessed (fun s -> p s ==> q s) /\ witnessed p) ==> witnessed q) + +val lemma_witnessed_forall (#t:Type) (p:(t -> mem_predicate)) + :Lemma ((witnessed (fun s -> forall x. p x s)) <==> (forall x. witnessed (p x))) + +val lemma_witnessed_exists (#t:Type) (p:(t -> mem_predicate)) + :Lemma ((exists x. witnessed (p x)) ==> witnessed (fun s -> exists x. p x s)) + + +(*** Support for dynamic regions ***) + + +let is_freeable_heap_region (r:rid) : Type0 = + HS.is_heap_color (color r) /\ HS.rid_freeable r /\ witnessed (region_contains_pred r) + +type d_hrid = r:rid{is_freeable_heap_region r} + +val drgn : Type0 + +val rid_of_drgn (d:drgn) : d_hrid + +val new_drgn (r0:rid) +: ST drgn + (requires fun m -> is_eternal_region r0) + (ensures fun m0 d m1 -> + let r1 = rid_of_drgn d in + new_region_post_common r0 r1 m0 m1 /\ + HS.color r1 == HS.color r0 /\ + (r1, m1) == HS.new_freeable_heap_region m0 r0) + +val free_drgn (d:drgn) +: ST unit + (requires fun m -> contains_region m (rid_of_drgn d)) + (ensures fun m0 _ m1 -> m1 == HS.free_heap_region m0 (rid_of_drgn d)) + +val ralloc_drgn (#a:Type) (#rel:preorder a) (d:drgn) (init:a) +: ST (mreference a rel) + (requires fun m -> m `contains_region` (rid_of_drgn d)) + (ensures fun m0 r m1 -> + not (HS.is_mm r) /\ + ralloc_post (rid_of_drgn d) init m0 r m1) + +val ralloc_drgn_mm (#a:Type) (#rel:preorder a) (d:drgn) (init:a) +: ST (mreference a rel) + (requires fun m -> m `contains_region` (rid_of_drgn d)) + (ensures fun m0 r m1 -> + HS.is_mm r /\ + ralloc_post (rid_of_drgn d) init m0 r m1) + + +(* This causes the verification conditition for the continuation +of the call to this function to be done in a separate Z3 query. *) +inline_for_extraction +let break_vc () + : STATE unit (fun p h -> spinoff (squash (p () h))) + = () diff --git a/stage0/ulib/FStar.HyperStack.fst b/stage0/ulib/FStar.HyperStack.fst new file mode 100644 index 00000000000..c8f49f6f255 --- /dev/null +++ b/stage0/ulib/FStar.HyperStack.fst @@ -0,0 +1,43 @@ +(* + 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.HyperStack + +include FStar.Monotonic.HyperStack + +type reference (a:Type) = mreference a (Heap.trivial_preorder a) + +let stackref (a:Type) = mstackref a (Heap.trivial_preorder a) +let ref (a:Type) = mref a (Heap.trivial_preorder a) + +let mmstackref (a:Type) = mmmstackref a (Heap.trivial_preorder a) +let mmref (a:Type) = mmmref a (Heap.trivial_preorder a) +type s_ref (i:rid) (a:Type) = s_mref i a (Heap.trivial_preorder a) + +(* Two references with different reads are disjoint. *) + +let reference_distinct_sel_disjoint + (#a:Type0) (h: mem) (r1: reference a) (r2: reference a) +: Lemma + (requires ( + h `contains` r1 /\ + h `contains` r2 /\ + frameOf r1 == frameOf r2 /\ + as_addr r1 == as_addr r2 + )) + (ensures ( + sel h r1 == sel h r2 + )) += mreference_distinct_sel_disjoint h r1 r2 diff --git a/stage0/ulib/FStar.IFC.fst b/stage0/ulib/FStar.IFC.fst new file mode 100644 index 00000000000..fdb8645cb87 --- /dev/null +++ b/stage0/ulib/FStar.IFC.fst @@ -0,0 +1,26 @@ +(* + 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.IFC + +let protected #sl l b = b + +let reveal #sl #l #b x = x +let hide #sl #l #b x = x +let reveal_hide #l #t #b x = () +let hide_reveal #sl #l #b x = () + +let map #a #b #sl #l x f = f x +let join #sl #l1 #l2 #a x = x diff --git a/stage0/ulib/FStar.IFC.fsti b/stage0/ulib/FStar.IFC.fsti new file mode 100644 index 00000000000..b242180817e --- /dev/null +++ b/stage0/ulib/FStar.IFC.fsti @@ -0,0 +1,134 @@ +(* + 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.IFC + +/// FStar.IFC provides a simple, generic abstraction for monadic +/// information-flow control based on a user-defined (semi-)lattice of +/// information flow labels. +/// +/// The main idea is to provide an abstract type [protected a l], +/// encapsulating values of type [a] carrying information at +/// confidentiality level [l]. Operations that compute on the +/// underlying [a] are instrumented to reflect the sensitivity of +/// their arguments on their results. +/// +/// Several papers develop this idea, ranging from +/// +/// Fable: A language for enforcing user-defined security policies +/// http://www.cs.umd.edu/~nswamy/papers/fable-tr.pdf +/// +/// To more modern variants like +/// https://hackage.haskell.org/package/lio + +(**** Basic definitions for a join semilattice *) + +(** The [lub] is associative *) +let associative #a (f: (a -> a -> a)) = forall x y z. f (f x y) z == f x (f y z) + +(** The [lub] is commutative *) +let commutative #a (f: (a -> a -> a)) = forall x y. f x y == f y x + +(** The [lub] is idempotent *) +let idempotent #a (f: (a -> a -> a)) = forall x. f x x == x + +(** A semilattice has a top element and a + associative-commutative-idempotent least upper bound operator. + This is effectively the typeclass of a semilattice, however, we + program explicitly with semilattice, rather than use typeclass + instantiation. *) +noeq +type semilattice : Type u#(c + 1) = + | SemiLattice : + #carrier: Type u#c -> + top: carrier -> + lub: (f: (carrier -> carrier -> carrier){associative f /\ commutative f /\ idempotent f}) + -> semilattice + +(** For most of the rest of this development, we'll use an erased + counterpart of a semilattice *) +let sl:Type u#(c + 1) = FStar.Ghost.erased semilattice + +(** A lattice element is just an element of the carrier type *) +let lattice_element (sl: sl) = Ghost.erased (SemiLattice?.carrier (Ghost.reveal sl)) + +(** A convenience for joining elements in the lattice *) +unfold +let lub #sl (x: lattice_element sl) (y: lattice_element sl) : Tot (lattice_element sl) = + Ghost.hide (SemiLattice?.lub (Ghost.reveal sl) (Ghost.reveal x) (Ghost.reveal y)) + +(** The main type provided by this module is [protected l b] i.e,, a + [b]-typed value protected at IFC level [l]. + + [protected b l] is in a bijection with [b], as shown by [reveal] + and [hide] below *) +val protected (#sl: sl u#c) (l: lattice_element sl) (b: Type u#b) : Type u#b + +(** [reveal] projects a [b] from a [protected b l], but incurs a ghost effect *) +val reveal (#sl: _) (#l: lattice_element sl) (#b: _) (x: protected l b) : GTot b + +(** [hide] injects a [b] into a [protected b l]. + + Note, any [b] can be promoted to a [protected l b] i.e., + [protected l b] is only meant to enforce confidentiality *) +val hide (#sl: _) (#l: lattice_element sl) (#b: _) (x: b) : Tot (protected l b) + +(** The next pair of lemmas show that reveal/hide are inverses *) +val reveal_hide (#l #t #b: _) (x: b) : Lemma (reveal (hide #l #t x) == x) [SMTPat (hide #l #t x)] + +val hide_reveal (#sl: _) (#l: lattice_element sl) (#b: _) (x: protected l b) + : Lemma (hide (reveal x) == x) [SMTPat (reveal x)] + +/// [protected l b] is a form of parameterized monad +/// It provides: +/// -- [return] (via [hide]) +/// -- [map] (i.e., it's a functor) +/// -- [join] (so it's also a monad) +/// Which we package up as a [bind] + +unfold +let return #sl #a (l: lattice_element sl) (x: a) : protected l a = hide x + +(** This is just a map of [f] over [x] But, notice the order of + arguments is flipped We write [map x f] instead of [map f x] so + that [f]'s type can depend on [x] *) +val map (#a #b #sl: _) (#l: lattice_element sl) (x: protected l a) (f: (y: a{y == reveal x} -> b)) + : Tot (y: protected l b {reveal y == f (reveal x)}) + +(** This is almost a regular monadic [join] + Except notice that the label of the result is the [lub] + of the both the labels in the argument *) +val join (#sl: _) (#l1 #l2: lattice_element sl) (#a: _) (x: protected l1 (protected l2 a)) + : Tot (y: protected (l1 `lub` l2) a {reveal y == reveal (reveal x)}) + +(** This is almost like a regular bind, except like [map] the type of + the continuation's argument depends on the argument [x]; and, like + [join], the indexes on the result are at least as high as the + indexes of the argument + + As such, any computation that observes the protected value held in + [x] has a secrecy level at least as secret as [x] itself *) +unfold +let (let>>) + #sl + (#l1: lattice_element sl) + #a + (x: protected l1 a) + (#l2: lattice_element sl) + #b + (f: (y: a{y == reveal x} -> protected l2 b)) + : Tot (protected (l1 `lub` l2) b) = join (map x f) + diff --git a/stage0/ulib/FStar.IO.fsti b/stage0/ulib/FStar.IO.fsti new file mode 100644 index 00000000000..4a65a0b20dd --- /dev/null +++ b/stage0/ulib/FStar.IO.fsti @@ -0,0 +1,82 @@ +(* + 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.IO + +open FStar.All + +exception EOF + +new +val fd_read : Type0 +new +val fd_write : Type0 + +val stdin : fd_read +val stdout : fd_write +val stderr : fd_write + +val print_newline : unit -> ML unit +val print_string : string -> ML unit + +(* assume val print_nat_hex : nat -> ML unit *) +(* assume val print_nat_dec : nat -> ML unit *) + +(* Print as hexadecimal with a leading 0x *) +val print_uint8 : FStar.UInt8.t -> ML unit +val print_uint16 : FStar.UInt16.t -> ML unit +val print_uint32 : FStar.UInt32.t -> ML unit +val print_uint64 : FStar.UInt64.t -> ML unit + +(* Print as decimal *) +val print_uint8_dec : FStar.UInt8.t -> ML unit +val print_uint16_dec : FStar.UInt16.t -> ML unit +val print_uint32_dec : FStar.UInt32.t -> ML unit +val print_uint64_dec : FStar.UInt64.t -> ML unit + +(* Print as hex in fixed width, no leading 0x *) +val print_uint8_hex_pad : FStar.UInt8.t -> ML unit +val print_uint16_hex_pad : FStar.UInt16.t -> ML unit +val print_uint32_hex_pad : FStar.UInt32.t -> ML unit +val print_uint64_hex_pad : FStar.UInt64.t -> ML unit + +(* Print as decimal, zero padded to maximum possible length *) +val print_uint8_dec_pad : FStar.UInt8.t -> ML unit +val print_uint16_dec_pad : FStar.UInt16.t -> ML unit +val print_uint32_dec_pad : FStar.UInt32.t -> ML unit +val print_uint64_dec_pad : FStar.UInt64.t -> ML unit + +val print_any : 'a -> ML unit +val input_line : unit -> ML string +val input_int : unit -> ML int +val input_float : unit -> ML FStar.Float.float +val open_read_file : string -> ML fd_read +val open_write_file : string -> ML fd_write +val close_read_file : fd_read -> ML unit +val close_write_file : fd_write -> ML unit +val read_line : fd_read -> ML string +val write_string : fd_write -> string -> ML unit + +(* + An UNSOUND escape hatch for printf-debugging; + Although it always returns false, we mark it + as returning a bool, so that extraction doesn't + erase this call. + + Note: no guarantees are provided regarding the order + of assume valuation of this function; since it is marked as pure, + the compiler may re-order or replicate it. +*) +val debug_print_string : string -> Tot bool diff --git a/stage0/ulib/FStar.ImmutableArray.Base.fsti b/stage0/ulib/FStar.ImmutableArray.Base.fsti new file mode 100644 index 00000000000..f1aa23f5557 --- /dev/null +++ b/stage0/ulib/FStar.ImmutableArray.Base.fsti @@ -0,0 +1,57 @@ +(* + Copyright 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. + + Authors: N. Swamy +*) + +(* This module provides a primitive type of immutable arrays, + implemented in OCaml by an array. + + The main intended usage of this module, as suggested by Jay Lorch, + is to provide a sequence-like type with constant-time random access + of elements, as opposed to FStar.Seq and related types, which + provide only linear time access. + + Both the F* normalizer and NBE engine are aware of this type and + reduce its three functions, `of_list`, `length`, and `index`, by + invoking the corresponding operations on the underlying OCaml array + that represents a `t`. + + See tests/micro-benchmarks/TestImmutableArray.fst for some samples + + And also FStar.ImmutableArray, which includes this interface and + augments it with various properties of the functions below. + +*) +module FStar.ImmutableArray.Base + +(* The main type of immutable arrays *) +new +val t ([@@@strictly_positive] a:Type u#a) : Type u#a + +(* An array supports equality when its elements also do. *) +val array_has_eq (a : Type) : Lemma + (requires hasEq a) + (ensures hasEq (t a)) + [SMTPat (hasEq (t a))] + +(* Creating an immutable array from a list *) +val of_list (#a:Type u#a) (l:list a) : Tot (t a) + +(* The length of an array (is the length of the list from which it was created) *) +val length (#a:Type) (s:t a) : Tot nat + +(* Indexing the array `s` at offset `i`, which must be within bounds *) +val index (#a:Type) (s:t a) (i:nat { i < length s }) : Tot a diff --git a/stage0/ulib/FStar.ImmutableArray.fsti b/stage0/ulib/FStar.ImmutableArray.fsti new file mode 100644 index 00000000000..402d9820290 --- /dev/null +++ b/stage0/ulib/FStar.ImmutableArray.fsti @@ -0,0 +1,81 @@ +(* + Copyright 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. + + Authors: N. Swamy +*) + +(* This module provides a primitive type of immutable arrays, + implemented in OCaml by an array. + + The main intended usage of this module, as suggested by Jay Lorch, + is to provide a sequence-like type with constant-time random access + of elements, as opposed to FStar.Seq and related types, which + provide only linear time access. + + Both the F* normalizer and NBE engine are aware of this type and + reduce its three functions, `of_list`, `length`, and `index`, by + invoking the corresponding operations on the underlying OCaml array + that represents a `t`. + + See tests/micro-benchmarks/TestImmutableArray.fst for some samples + + And also FStar.ImmutableArray, which includes this interface and + augments it with various properties of the functions below. + +*) +module FStar.ImmutableArray +include FStar.ImmutableArray.Base + +(* Converting an immutable array back to a list *) +val to_list (#a:Type u#a) (s:t a) + : Tot (list a) + +(* to_list is the inverse of of_list *) +val to_list_of_list (#a:Type u#a) (l:list a) + : Lemma (to_list (of_list l) == l) + [SMTPat (of_list l)] + +(* of_list is the inverse of to_list *) +val of_list_to_list (#a:Type u#a) (s:t a) + : Lemma (of_list (to_list s) == s) + +(* The length of an immutable array is the length of its corresponding list *) +val length_spec (#a:Type u#a) (s:t a) + : Lemma (length s == FStar.List.Tot.length (to_list s)) + [SMTPat (length s)] + +(* The indexes of an immutable array are in correspondence with its underling list *) +val index_spec (#a:Type u#a) (s:t a) (i:nat{ i < length s }) + : Lemma (index s i == FStar.List.Tot.index (to_list s) i) + [SMTPat (index s i)] + +(* The list of elements precedes the array.*) +val to_list_precedes (#a:Type u#a) (s:t a) + : Lemma (to_list s << s) + +(* Idem. *) +let of_list_precedes (#a:Type u#a) (l:list a) + : Lemma (l << of_list l) + = to_list_precedes (of_list l) + +(* An explicit proof that elements of the array precede the array. *) +let elem_precedes (#a:Type u#a) (s:t a) (i : nat{i < length s}) + : Lemma (index s i << s) + = FStar.List.Tot.( + to_list_precedes s; + let l = to_list s in + assert (memP (index l i) l); + memP_precedes (index l i) l + ) diff --git a/stage0/ulib/FStar.IndefiniteDescription.fst b/stage0/ulib/FStar.IndefiniteDescription.fst new file mode 100644 index 00000000000..0bad5da531f --- /dev/null +++ b/stage0/ulib/FStar.IndefiniteDescription.fst @@ -0,0 +1,67 @@ +(* + Copyright 2008-2024 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.IndefiniteDescription + +/// Indefinite description is an axiom that allows picking a witness +/// for existentially quantified predicate. See the interface for more +/// context. + +(** A proof for squash p can be eliminated to get p in the Ghost effect *) +irreducible let elim_squash (#p:Type u#a) (s:squash p) : GTot p = admit () + +(** Given a classical proof of [exists x. p x], we can exhibit an erased + (computationally irrelevant) a witness [x:erased a] validating + [p x]. *) +irreducible +let indefinite_description_ghost (a: Type) (p: (a -> prop) { exists x. p x }) + : GTot (x: a { p x }) + = let h : squash (exists x. p x) = () in + let h : (exists x. p x) = elim_squash h in + let (| x, h |) : x:a & p x = elim_squash h in + x + +(** A version in ghost is easily derivable *) +let indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) + : Tot (w:Ghost.erased a{ p w }) + = Ghost.hide (indefinite_description_ghost a p) + +(** Indefinite description entails the a strong form of the excluded + middle, i.e., one can case-analyze the truth of a proposition + (only in [Ghost]) *) +let strong_excluded_middle (p: Type0) : GTot (b: bool{b = true <==> p}) = + let h : squash (p \/ ~p) = () in + let h : (p \/ ~p) = elim_squash h in + let h : sum p (~p) = elim_squash h in + match h with + | Left h -> true + | Right h -> false + +(** We also can combine this with a the classical tautology converting + with a [forall] and an [exists] to extract a witness of validity of [p] from + a classical proof that [p] is not universally invalid. + + Note, F*+SMT can easily prove, since it is just classical logic: + [(~(forall n. ~(p n))) ==> (exists n. p n) ] *) +let stronger_markovs_principle (p: (nat -> GTot bool)) + : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) = + indefinite_description_ghost _ (fun n -> p n==true) + +(** A variant of the previous lemma, but for a [prop] rather than a + boolean predicate *) +let stronger_markovs_principle_prop (p: (nat -> GTot prop)) + : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) = + indefinite_description_ghost _ p \ No newline at end of file diff --git a/stage0/ulib/FStar.IndefiniteDescription.fsti b/stage0/ulib/FStar.IndefiniteDescription.fsti new file mode 100644 index 00000000000..109a7593577 --- /dev/null +++ b/stage0/ulib/FStar.IndefiniteDescription.fsti @@ -0,0 +1,59 @@ +(* + 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.IndefiniteDescription + +/// Indefinite description is an axiom that allows picking a witness +/// for existentially quantified predicate. +/// +/// Many other axioms can be derived from this one: Use it with care! +/// +/// For some background on the axiom, see: +/// +/// https://github.com/coq/coq/wiki/CoqAndAxioms#indefinite-description--hilberts-epsilon-operator +/// https://en.wikipedia.org/wiki/Theory_of_descriptions#Indefinite_descriptions + +(** The main axiom: a proof for squash p can be eliminated to get p in the Ghost effect *) +val elim_squash (#p:Type u#a) (s:squash p) : GTot p + +(** Given a classical proof of [exists x. p x], we can exhibit + a witness [x:erased a] validating [p x] in GTot. *) +val indefinite_description_ghost (a: Type) (p: (a -> prop) { exists x. p x }) + : GTot (x: a { p x }) + +(** Given a classical proof of [exists x. p x], we can exhibit an erased + (computationally irrelevant) a witness [x:erased a] validating [p x]. *) +val indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) + : Tot (w:Ghost.erased a{ p w }) + +(** Indefinite description entails the a strong form of the excluded + middle, i.e., one can case-analyze the truth of a proposition + (only in [Ghost]) *) +val strong_excluded_middle (p: Type0) : GTot (b: bool{b = true <==> p}) + +(** We also can combine this with a the classical tautology converting + with a [forall] and an [exists] to extract a witness of validity of [p] from + a classical proof that [p] is not universally invalid. + + Note, F*+SMT can easily prove, since it is just classical logic: + [(~(forall n. ~(p n))) ==> (exists n. p n) ] *) +val stronger_markovs_principle (p: (nat -> GTot bool)) + : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) + +(** A variant of the previous lemma, but for a [prop] rather than a + boolean predicate *) +val stronger_markovs_principle_prop (p: (nat -> GTot prop)) + : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) \ No newline at end of file diff --git a/stage0/ulib/FStar.Int.Cast.Full.fst b/stage0/ulib/FStar.Int.Cast.Full.fst new file mode 100644 index 00000000000..f0ce291e467 --- /dev/null +++ b/stage0/ulib/FStar.Int.Cast.Full.fst @@ -0,0 +1,31 @@ +(* + 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.Int.Cast.Full + +include FStar.Int.Cast + +module U64 = FStar.UInt64 +module U128 = FStar.UInt128 + +inline_for_extraction noextract +val uint64_to_uint128: a:U64.t -> b:U128.t{U128.v b == U64.v a} +inline_for_extraction noextract +let uint64_to_uint128 a = U128.uint64_to_uint128 a + +inline_for_extraction noextract +val uint128_to_uint64: a:U128.t -> b:U64.t{U64.v b == U128.v a % pow2 64} +inline_for_extraction noextract +let uint128_to_uint64 a = U128.uint128_to_uint64 a diff --git a/stage0/ulib/FStar.Int.Cast.fst b/stage0/ulib/FStar.Int.Cast.fst new file mode 100644 index 00000000000..ab6def87d7b --- /dev/null +++ b/stage0/ulib/FStar.Int.Cast.fst @@ -0,0 +1,235 @@ +(* + 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.Int.Cast + +module U8 = FStar.UInt8 +module U16 = FStar.UInt16 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 +module I8 = FStar.Int8 +module I16 = FStar.Int16 +module I32 = FStar.Int32 +module I64 = FStar.Int64 + +let op_At_Percent = FStar.Int.op_At_Percent + +/// Unsigned to unsigned + +val uint8_to_uint64: a:U8.t -> Tot (b:U64.t{U64.v b = U8.v a}) +let uint8_to_uint64 a = U64.uint_to_t (U8.v a) + +val uint8_to_uint32: a:U8.t -> Tot (b:U32.t{U32.v b = U8.v a}) +let uint8_to_uint32 x = U32.uint_to_t (U8.v x) + +val uint8_to_uint16: a:U8.t -> Tot (b:U16.t{U16.v b = U8.v a}) +let uint8_to_uint16 x = U16.uint_to_t (U8.v x) + +val uint16_to_uint64: a:U16.t -> Tot (b:U64.t{U64.v b = U16.v a}) +let uint16_to_uint64 x = U64.uint_to_t (U16.v x) + +val uint16_to_uint32: a:U16.t -> Tot (b:U32.t{U32.v b = U16.v a}) +let uint16_to_uint32 x = U32.uint_to_t (U16.v x) + +val uint16_to_uint8 : a:U16.t -> Tot (b:U8.t{U8.v b = U16.v a % pow2 8}) +let uint16_to_uint8 x = U8.uint_to_t (U16.v x % pow2 8) + +val uint32_to_uint64: a:U32.t -> Tot (b:U64.t{U64.v b = U32.v a}) +let uint32_to_uint64 x = U64.uint_to_t (U32.v x) + +val uint32_to_uint16: a:U32.t -> Tot (b:U16.t{U16.v b = U32.v a % pow2 16}) +let uint32_to_uint16 x = U16.uint_to_t (U32.v x % pow2 16) + +val uint32_to_uint8 : a:U32.t -> Tot (b:U8.t{U8.v b = U32.v a % pow2 8}) +let uint32_to_uint8 x = U8.uint_to_t (U32.v x % pow2 8) + +val uint64_to_uint32: a:U64.t -> Tot (b:U32.t{U32.v b = U64.v a % pow2 32}) +let uint64_to_uint32 x = U32.uint_to_t (U64.v x % pow2 32) + +val uint64_to_uint16: a:U64.t -> Tot (b:U16.t{U16.v b = U64.v a % pow2 16}) +let uint64_to_uint16 x = U16.uint_to_t (U64.v x % pow2 16) + +val uint64_to_uint8 : a:U64.t -> Tot (b:U8.t{U8.v b = U64.v a % pow2 8}) +let uint64_to_uint8 x = U8.uint_to_t (U64.v x % pow2 8) + +/// Signed to signed + +val int8_to_int64: a:I8.t -> Tot (b:I64.t{I64.v b = I8.v a}) +let int8_to_int64 x = I64.int_to_t (I8.v x) + +val int8_to_int32: a:I8.t -> Tot (b:I32.t{I32.v b = I8.v a}) +let int8_to_int32 x = I32.int_to_t (I8.v x) + +val int8_to_int16: a:I8.t -> Tot (b:I16.t{I16.v b = I8.v a}) +let int8_to_int16 x = I16.int_to_t (I8.v x) + +val int16_to_int64: a:I16.t -> Tot (b:I64.t{I64.v b = I16.v a}) +let int16_to_int64 x = I64.int_to_t (I16.v x @% pow2 64) + +val int16_to_int32: a:I16.t -> Tot (b:I32.t{I32.v b = I16.v a}) +let int16_to_int32 x = I32.int_to_t (I16.v x @% pow2 32) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int16_to_int8 : a:I16.t -> Tot (b:I8.t {I8.v b = (I16.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int16_to_int8 x = I8.int_to_t (I16.v x @% pow2 8) + +val int32_to_int64: a:I32.t -> Tot (b:I64.t{I64.v b = I32.v a}) +let int32_to_int64 x = I64.int_to_t (I32.v x @% pow2 64) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int32_to_int16: a:I32.t -> Tot (b:I16.t{I16.v b = (I32.v a @% pow2 16)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int32_to_int16 x = I16.int_to_t (I32.v x @% pow2 16) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int32_to_int8 : a:I32.t -> Tot (b:I8.t {I8.v b = (I32.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int32_to_int8 x = I8.int_to_t (I32.v x @% pow2 8) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int64_to_int32: a:I64.t -> Tot (b:I32.t{I32.v b = (I64.v a @% pow2 32)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int64_to_int32 x = I32.int_to_t (I64.v x @% pow2 32) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int64_to_int16: a:I64.t -> Tot (b:I16.t{I16.v b = (I64.v a @% pow2 16)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int64_to_int16 x = I16.int_to_t (I64.v x @% pow2 16) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val int64_to_int8 : a:I64.t -> Tot (b:I8.t {I8.v b = (I64.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let int64_to_int8 x = I8.int_to_t (I64.v x @% pow2 8) + +/// Unsigned to signed + +val uint8_to_int64: a:U8.t -> Tot (b:I64.t{I64.v b = U8.v a}) +let uint8_to_int64 x = I64.int_to_t (U8.v x) + +val uint8_to_int32: a:U8.t -> Tot (b:I32.t{I32.v b = U8.v a}) +let uint8_to_int32 x = I32.int_to_t (U8.v x) + +val uint8_to_int16: a:U8.t -> Tot (b:I16.t{I16.v b = U8.v a}) +let uint8_to_int16 x = I16.int_to_t (U8.v x) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint8_to_int8 : a:U8.t -> Tot (b:I8.t {I8.v b = (U8.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint8_to_int8 x = I8.int_to_t (U8.v x @% pow2 8) + +val uint16_to_int64: a:U16.t -> Tot (b:I64.t{I64.v b = U16.v a}) +let uint16_to_int64 x = I64.int_to_t (U16.v x) + +val uint16_to_int32: a:U16.t -> Tot (b:I32.t{I32.v b = U16.v a}) +let uint16_to_int32 x = I32.int_to_t (U16.v x) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint16_to_int16: a:U16.t -> Tot (b:I16.t{I16.v b = (U16.v a @% pow2 16)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint16_to_int16 x = I16.int_to_t (U16.v x @% pow2 16) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint16_to_int8 : a:U16.t -> Tot (b:I8.t {I8.v b = (U16.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint16_to_int8 x = I8.int_to_t (U16.v x @% pow2 8) + +val uint32_to_int64: a:U32.t -> Tot (b:I64.t{I64.v b = U32.v a}) +let uint32_to_int64 x = I64.int_to_t (U32.v x) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint32_to_int32: a:U32.t -> Tot (b:I32.t{I32.v b = (U32.v a @% pow2 32)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint32_to_int32 x = I32.int_to_t (U32.v x @% pow2 32) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint32_to_int16: a:U32.t -> Tot (b:I16.t{I16.v b = (U32.v a @% pow2 16)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint32_to_int16 x = I16.int_to_t (U32.v x @% pow2 16) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint32_to_int8 : a:U32.t -> Tot (b:I8.t {I8.v b = (U32.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint32_to_int8 x = I8.int_to_t (U32.v x @% pow2 8) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint64_to_int64: a:U64.t -> Tot (b:I64.t{I64.v b = (U64.v a @% pow2 64)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint64_to_int64 x = I64.int_to_t (U64.v x @% pow2 64) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint64_to_int32: a:U64.t -> Tot (b:I32.t{I32.v b = (U64.v a @% pow2 32)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint64_to_int32 x = I32.int_to_t (U64.v x @% pow2 32) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint64_to_int16: a:U64.t -> Tot (b:I16.t{I16.v b = (U64.v a @% pow2 16)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint64_to_int16 x = I16.int_to_t (U64.v x @% pow2 16) + +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +val uint64_to_int8 : a:U64.t -> Tot (b:I8.t {I8.v b = (U64.v a @% pow2 8)}) +[@@(deprecated "with care; in C the result is implementation-defined when not representable")] +let uint64_to_int8 x = I8.int_to_t (U64.v x @% pow2 8) + +/// Signed to unsigned + +val int8_to_uint64: a:I8.t -> Tot (b:U64.t{U64.v b = I8.v a % pow2 64}) +let int8_to_uint64 x = U64.uint_to_t (I8.v x % pow2 64) + +val int8_to_uint32: a:I8.t -> Tot (b:U32.t{U32.v b = I8.v a % pow2 32}) +let int8_to_uint32 x = U32.uint_to_t (I8.v x % pow2 32) + +val int8_to_uint16: a:I8.t -> Tot (b:U16.t{U16.v b = I8.v a % pow2 16}) +let int8_to_uint16 x = U16.uint_to_t (I8.v x % pow2 16) + +val int8_to_uint8 : a:I8.t -> Tot (b:U8.t {U8.v b = I8.v a % pow2 8}) +let int8_to_uint8 x = U8.uint_to_t (I8.v x % pow2 8) + +val int16_to_uint64: a:I16.t -> Tot (b:U64.t{U64.v b = I16.v a % pow2 64}) +let int16_to_uint64 x = U64.uint_to_t (I16.v x % pow2 64) + +val int16_to_uint32: a:I16.t -> Tot (b:U32.t{U32.v b = I16.v a % pow2 32}) +let int16_to_uint32 x = U32.uint_to_t (I16.v x % pow2 32) + +val int16_to_uint16: a:I16.t -> Tot (b:U16.t{U16.v b = I16.v a % pow2 16}) +let int16_to_uint16 x = U16.uint_to_t (I16.v x % pow2 16) + +val int16_to_uint8 : a:I16.t -> Tot (b:U8.t {U8.v b = I16.v a % pow2 8}) +let int16_to_uint8 x = U8.uint_to_t (I16.v x % pow2 8) + +val int32_to_uint64: a:I32.t -> Tot (b:U64.t{U64.v b = I32.v a % pow2 64}) +let int32_to_uint64 x = U64.uint_to_t (I32.v x % pow2 64) + +val int32_to_uint32: a:I32.t -> Tot (b:U32.t{U32.v b = I32.v a % pow2 32}) +let int32_to_uint32 x = U32.uint_to_t (I32.v x % pow2 32) + +val int32_to_uint16: a:I32.t -> Tot (b:U16.t{U16.v b = I32.v a % pow2 16}) +let int32_to_uint16 x = U16.uint_to_t (I32.v x % pow2 16) + +val int32_to_uint8 : a:I32.t -> Tot (b:U8.t {U8.v b = I32.v a % pow2 8}) +let int32_to_uint8 x = U8.uint_to_t (I32.v x % pow2 8) + +val int64_to_uint64: a:I64.t -> Tot (b:U64.t{U64.v b = I64.v a % pow2 64}) +let int64_to_uint64 x = U64.uint_to_t (I64.v x % pow2 64) + +val int64_to_uint32: a:I64.t -> Tot (b:U32.t{U32.v b = I64.v a % pow2 32}) +let int64_to_uint32 x = U32.uint_to_t (I64.v x % pow2 32) + +val int64_to_uint16: a:I64.t -> Tot (b:U16.t{U16.v b = I64.v a % pow2 16}) +let int64_to_uint16 x = U16.uint_to_t (I64.v x % pow2 16) + +val int64_to_uint8 : a:I64.t -> Tot (b:U8.t {U8.v b = I64.v a % pow2 8}) +let int64_to_uint8 x = U8.uint_to_t (I64.v x % pow2 8) diff --git a/stage0/ulib/FStar.Int.fst b/stage0/ulib/FStar.Int.fst new file mode 100644 index 00000000000..a266e9ae177 --- /dev/null +++ b/stage0/ulib/FStar.Int.fst @@ -0,0 +1,188 @@ +(* + 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.Int + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UInt.fst], which is mostly + * a copy-paste of this module. *) + +open FStar.Mul +open FStar.BitVector +open FStar.Math.Lemmas + +let pow2_values x = + match x with + | 0 -> assert_norm (pow2 0 == 1) + | 1 -> assert_norm (pow2 1 == 2) + | 8 -> assert_norm (pow2 8 == 256) + | 16 -> assert_norm (pow2 16 == 65536) + | 31 -> assert_norm (pow2 31 == 2147483648) + | 32 -> assert_norm (pow2 32 == 4294967296) + | 63 -> assert_norm (pow2 63 == 9223372036854775808) + | 64 -> assert_norm (pow2 64 == 18446744073709551616) + | _ -> () + +let incr_underspec #n a = + if a < max_int n then a + 1 else 0 + +let decr_underspec #n a = + if a > min_int n then a - 1 else 0 + +let add_underspec #n a b = + if fits (a+b) n then a + b else 0 + +let sub_underspec #n a b = + if fits (a-b) n then a - b else 0 + +let mul_underspec #n a b = + if fits (a*b) n then a * b else 0 + +let div_underspec #n a b = + if fits (a / b) n then a / b else 0 + +let div_size #n a b = + FStar.Math.Lib.slash_decr_axiom (abs a) (abs b) + +let to_uint_injective #n x = () + +open FStar.Seq + +let to_vec_lemma_1 #n a b = () + +let to_vec_lemma_2 #n a b = + UInt.to_vec_lemma_2 #n (to_uint a) (to_uint b) + +#push-options "--initial_fuel 1 --max_fuel 1" +let rec inverse_aux #n vec i = + if i = n - 1 then + assert((from_vec vec) % 2 = (if index vec (n - 1) then 1 else 0)) + else inverse_aux #(n - 1) (slice vec 0 (n - 1)) i +#pop-options + +let inverse_vec_lemma #n vec = () + +let inverse_num_lemma #n num = () + +let from_vec_lemma_1 #n a b = () + +let from_vec_lemma_2 #n a b = inverse_vec_lemma a; inverse_vec_lemma b + +let rec zero_to_vec_lemma #n i = + if i = n - 1 then () else zero_to_vec_lemma #(n - 1) i + +let zero_from_vec_lemma #n = to_vec_lemma_2 (from_vec (zero_vec #n)) (zero n) + +let one_to_vec_lemma #n i = + if i = n - 1 then () else zero_to_vec_lemma #n i + +#push-options "--smtencoding.elim_box true --smtencoding.l_arith_repr native" +let rec pow2_to_vec_lemma #n p i = + if i = n - 1 then () + else if p = 0 then one_to_vec_lemma #n i + else pow2_to_vec_lemma #(n - 1) (p - 1) i +#pop-options + +let pow2_from_vec_lemma #n p = + to_vec_lemma_2 (from_vec (elem_vec #n p)) (pow2_n #n (n - p - 1)) + +let ones_to_vec_lemma #n i = () + +let ones_from_vec_lemma #n = + to_vec_lemma_2 (from_vec (ones_vec #n)) (ones n) + +let nth_lemma #n a b = + assert(forall (i:nat{i < n}). index (to_vec #n a) i = index (to_vec #n b) i); + to_vec_lemma_2 a b + +let zero_nth_lemma #n i = () + +let one_nth_lemma #n i = () + +let ones_nth_lemma #n i = () + +let logand_definition #n a b i = () + +let logxor_definition #n a b i = () + +let logor_definition #n a b i = () + +let lognot_definition #n a i = () + +let logand_commutative #n a b = nth_lemma #n (logand #n a b) (logand #n b a) + +let logand_associative #n a b c = + nth_lemma #n (logand #n (logand #n a b) c) (logand #n a (logand #n b c)) + +let logand_self #n a = nth_lemma #n (logand #n a a) a + +let logand_lemma_1 #n a = + nth_lemma #n (logand #n a (zero n)) (zero n) + +let logand_lemma_2 #n a = + nth_lemma #n (logand #n a (ones n)) a + +let sign_bit_negative #n a = + UInt.from_vec_propriety #n (to_vec a) 1 + +let sign_bit_positive #n a = + UInt.from_vec_propriety #n (to_vec a) 1 + +let logand_pos_le #n a b = + UInt.logand_le (to_uint a) (to_uint b) + +let logand_pow2_minus_one #n a m = + UInt.logand_le (to_uint a) (to_uint (pow2_minus_one #n m)) + +#push-options "--z3rlimit_factor 2" +let logand_max #n a = + sign_bit_positive a; + sign_bit_positive #n (max_int n); + nth_lemma a (logand a (max_int n)) +#pop-options + +let logxor_commutative #n a b = nth_lemma #n (logxor #n a b) (logxor #n b a) + +let logxor_associative #n a b c = nth_lemma #n (logxor #n (logxor #n a b) c) (logxor #n a (logxor #n b c)) + +let logxor_self #n a = nth_lemma #n (logxor #n a a) (zero n) + +let logxor_lemma_1 #n a = nth_lemma #n (logxor #n a (zero n)) a + +let logxor_lemma_2 #n a = nth_lemma #n (logxor #n a (ones n)) (lognot #n a) + +let logxor_inv #n a b = + UInt.logxor_inv (to_uint a) (to_uint b) + +let logxor_neq_nonzero #n a b = + UInt.logxor_neq_nonzero (to_uint a) (to_uint b) + +let lognot_negative #n a = + assert_norm (pow2 n = 2 * pow2 (n - 1)); + UInt.lemma_lognot_value_mod #n (a + pow2 n) + +let shift_left_lemma_1 #n a s i = () + +let shift_left_lemma_2 #n a s i = () + +let shift_left_value_lemma #n a s = + UInt.shift_left_value_lemma #n a s + +let shift_right_lemma_1 #n a s i = () + +let shift_right_lemma_2 #n a s i = () + +let shift_arithmetic_right_lemma_1 #n a s i = () + +let shift_arithmetic_right_lemma_2 #n a s i = () diff --git a/stage0/ulib/FStar.Int.fsti b/stage0/ulib/FStar.Int.fsti new file mode 100644 index 00000000000..eb4ba64e0d1 --- /dev/null +++ b/stage0/ulib/FStar.Int.fsti @@ -0,0 +1,435 @@ +(* + 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.Int + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UInt.fsti], which is mostly + * a copy-paste of this module. *) + +open FStar.Mul +open FStar.BitVector +open FStar.Math.Lemmas + +val pow2_values: x:nat -> Lemma + (let p = pow2 x in + match x with + | 0 -> p=1 + | 1 -> p=2 + | 8 -> p=256 + | 16 -> p=65536 + | 31 -> p=2147483648 + | 32 -> p=4294967296 + | 63 -> p=9223372036854775808 + | 64 -> p=18446744073709551616 + | _ -> True) + [SMTPat (pow2 x)] + +/// Specs + +let max_int (n:pos) : Tot int = pow2 (n-1) - 1 +let min_int (n:pos) : Tot int = - (pow2 (n-1)) + +let fits (x:int) (n:pos) : Tot bool = min_int n <= x && x <= max_int n +let size (x:int) (n:pos) : Tot Type0 = b2t(fits x n) + +(* Machine integer type *) +type int_t (n:pos) = x:int{size x n} + +/// Multiplicative operator semantics, see C11 6.5.5 + +(* Truncation towards zero division *) +let op_Slash (a:int) (b:int{b <> 0}) : Tot int = + if (a >= 0 && b < 0) || (a < 0 && b >= 0) then - (abs a / abs b) + else abs a / abs b + +(* Wrap-around modulo: wraps into [-p/2; p/2[ *) +let op_At_Percent (v:int) (p:int{p>0/\ p%2=0}) : Tot int = + let m = v % p in if m >= p/2 then m - p else m + +/// Constants + +let zero (n:pos) : Tot (int_t n) = 0 + +#push-options "--initial_fuel 1 --max_fuel 1" + +let pow2_n (#n:pos) (p:nat{p < n-1}) : Tot (int_t n) = + pow2_le_compat (n - 2) p; pow2 p + +let pow2_minus_one (#n:pos{1 < n}) (m:nat{m < n}) : Tot (int_t n) = + pow2_le_compat (n - 1) m; + pow2 m - 1 + +let one (n:pos{1 < n}) : Tot (int_t n) = 1 + +#pop-options + +let ones (n:pos) : Tot (int_t n) = -1 + +(* Increment and decrement *) +let incr (#n:pos) (a:int_t n) + : Pure (int_t n) + (requires (b2t (a < max_int n))) (ensures (fun _ -> True)) + = a + 1 + +let decr (#n:pos) (a:int_t n) + : Pure (int_t n) + (requires (b2t (a > min_int n))) (ensures (fun _ -> True)) + = a - 1 + +val incr_underspec: #n:pos -> a:int_t n -> Pure (int_t n) + (requires (b2t (a < max_int n))) + (ensures (fun b -> a + 1 = b)) + +val decr_underspec: #n:pos -> a:int_t n -> Pure (int_t n) + (requires (b2t (a > min_int n))) + (ensures (fun b -> a - 1 = b)) + +let incr_mod (#n:pos) (a:int_t n) : Tot (int_t n) = + (a + 1) % (pow2 (n-1)) + +let decr_mod (#n:pos) (a:int_t n) : Tot (int_t n) = + (a - 1) % (pow2 (n-1)) + +(* Addition primitives *) +let add (#n:pos) (a:int_t n) (b:int_t n) + : Pure (int_t n) + (requires (size (a + b) n)) + (ensures (fun _ -> True)) + = a + b + +val add_underspec: #n:pos -> a:int_t n -> b:int_t n -> Pure (int_t n) + (requires True) + (ensures (fun c -> + size (a + b) n ==> a + b = c)) + +#push-options "--initial_fuel 1 --max_fuel 1" + +let add_mod (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + (a + b) @% (pow2 n) + +(* Subtraction primitives *) +let sub (#n:pos) (a:int_t n) (b:int_t n) + : Pure (int_t n) + (requires (size (a - b) n)) + (ensures (fun _ -> True)) + = a - b + +val sub_underspec: #n:pos -> a:int_t n -> b:int_t n -> Pure (int_t n) + (requires True) + (ensures (fun c -> + size (a - b) n ==> a - b = c)) + +let sub_mod (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + (a - b) @% (pow2 n) + +(* Multiplication primitives *) +let mul (#n:pos) (a:int_t n) (b:int_t n) + : Pure (int_t n) + (requires (size (a * b) n)) + (ensures (fun _ -> True)) + = a * b + +val mul_underspec: #n:pos -> a:int_t n -> b:int_t n -> Pure (int_t n) + (requires True) + (ensures (fun c -> + size (a * b) n ==> a * b = c)) + +let mul_mod (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + (a * b) @% (pow2 n) + +#pop-options + +(* Division primitives *) +let div (#n:pos) (a:int_t n) (b:int_t n{b <> 0}) + : Pure (int_t n) + (requires (size (a / b) n)) + (ensures (fun c -> b <> 0 ==> a / b = c)) += a / b + +val div_underspec: #n:pos -> a:int_t n -> b:int_t n{b <> 0} -> Pure (int_t n) + (requires True) + (ensures (fun c -> + (b <> 0 /\ size (a / b) n) ==> a / b = c)) + +val div_size: #n:pos -> a:int_t n{min_int n < a} -> b:int_t n{b <> 0} -> + Lemma (requires (size a n)) (ensures (size (a / b) n)) + +let udiv (#n:pos) (a:int_t n{min_int n < a}) (b:int_t n{b <> 0}) + : Tot (c:int_t n{b <> 0 ==> a / b = c}) + = div_size #n a b; + a / b + + +(* Modulo primitives *) +let mod (#n:pos) (a:int_t n) (b:int_t n{b <> 0}) : Tot (int_t n) = + a - ((a/b) * b) + +(* Comparison operators *) +let eq #n (a:int_t n) (b:int_t n) : Tot bool = a = b +let gt #n (a:int_t n) (b:int_t n) : Tot bool = a > b +let gte #n (a:int_t n) (b:int_t n) : Tot bool = a >= b +let lt #n (a:int_t n) (b:int_t n) : Tot bool = a < b +let lte #n (a:int_t n) (b:int_t n) : Tot bool = a <= b + +/// Casts + +let to_uint (#n:pos) (x:int_t n) : Tot (UInt.uint_t n) = + if 0 <= x then x else x + pow2 n + +let from_uint (#n:pos) (x:UInt.uint_t n) : Tot (int_t n) = + if x <= max_int n then x else x - pow2 n + +val to_uint_injective: #n:pos -> x:int_t n + -> Lemma (ensures from_uint (to_uint x) == x) [SMTPat (to_uint x)] + +let to_int_t (m:pos) (a:int) : Tot (int_t m) = a @% pow2 m + +open FStar.Seq + +(* WARNING: Mind the big endian vs little endian definition *) + +let to_vec (#n:pos) (num:int_t n) : Tot (bv_t n) = + UInt.to_vec (to_uint num) + +let from_vec (#n:pos) (vec:bv_t n) : Tot (int_t n) = + let x = UInt.from_vec vec in + if max_int n < x then x - pow2 n else x + +val to_vec_lemma_1: #n:pos -> a:int_t n -> b:int_t n -> + Lemma (requires a = b) (ensures equal (to_vec a) (to_vec b)) + +val to_vec_lemma_2: #n:pos -> a:int_t n -> b:int_t n -> + Lemma (requires equal (to_vec a) (to_vec b)) (ensures a = b) + +val inverse_aux: #n:nat -> vec:bv_t n -> i:nat{i < n} -> + Lemma (requires True) (ensures index vec i = index (to_vec (from_vec vec)) i) + [SMTPat (index (to_vec (from_vec vec)) i)] + +val inverse_vec_lemma: #n:pos -> vec:bv_t n -> + Lemma (requires True) (ensures equal vec (to_vec (from_vec vec))) + [SMTPat (to_vec (from_vec vec))] + +val inverse_num_lemma: #n:pos -> num:int_t n -> + Lemma (requires True) (ensures num = from_vec (to_vec num)) + [SMTPat (from_vec (to_vec num))] + +val from_vec_lemma_1: #n:pos -> a:bv_t n -> b:bv_t n -> + Lemma (requires equal a b) (ensures from_vec a = from_vec b) + +val from_vec_lemma_2: #n:pos -> a:bv_t n -> b:bv_t n -> + Lemma (requires from_vec a = from_vec b) (ensures equal a b) + +(* Relations between constants in BitVector and in UInt. *) +val zero_to_vec_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures index (to_vec (zero n)) i = index (zero_vec #n) i) + [SMTPat (index (to_vec (zero n)) i)] + +val zero_from_vec_lemma: #n:pos -> + Lemma (requires True) (ensures from_vec (zero_vec #n) = zero n) + [SMTPat (from_vec (zero_vec #n))] + +val one_to_vec_lemma: #n:pos{1 < n} -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (one n)) i = index (elem_vec #n (n - 1)) i) + [SMTPat (index (to_vec (one n)) i)] + +val pow2_to_vec_lemma: #n:pos -> p:nat{p < n-1} -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (pow2_n #n p)) i = index (elem_vec #n (n - p - 1)) i) + [SMTPat (index (to_vec (pow2_n #n p)) i)] + +val pow2_from_vec_lemma: #n:pos -> p:pos{p < n-1} -> + Lemma (requires True) (ensures from_vec (elem_vec #n p) = pow2_n #n (n - p - 1)) + [SMTPat (from_vec (elem_vec #n p))] + +val ones_to_vec_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (ones n)) i = index (ones_vec #n) i) + [SMTPat (index (to_vec (ones n)) i)] + +val ones_from_vec_lemma: #n:pos -> + Lemma (requires True) (ensures from_vec (ones_vec #n) = ones n) + [SMTPat (from_vec (ones_vec #n))] + + +(* (nth a i) returns a boolean indicating the i-th bit of a. *) +let nth (#n:pos) (a:int_t n) (i:nat{i < n}) : Tot bool = index (to_vec #n a) i + +val nth_lemma: #n:pos -> a:int_t n -> b:int_t n -> + Lemma (requires forall (i:nat{i < n}). nth a i = nth b i) + (ensures a = b) + +(* Lemmas for constants *) +val zero_nth_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures nth (zero n) i = false) + [SMTPat (nth (zero n) i)] + +val one_nth_lemma: #n:pos{1 < n} -> i:nat{i < n} -> + Lemma (requires True) + (ensures (i = n - 1 ==> nth (one n) i = true) /\ + (i < n - 1 ==> nth (one n) i = false)) + [SMTPat (nth (one n) i)] + +val ones_nth_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures (nth (ones n) i) = true) + [SMTPat (nth (ones n) i)] + +(* Bitwise operators *) +let logand (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + from_vec #n (logand_vec #n (to_vec #n a) (to_vec #n b)) + +let logxor (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + from_vec #n (logxor_vec #n (to_vec #n a) (to_vec #n b)) + +let logor (#n:pos) (a:int_t n) (b:int_t n) : Tot (int_t n) = + from_vec #n (logor_vec #n (to_vec #n a) (to_vec #n b)) + +let lognot (#n:pos) (a:int_t n) : Tot (int_t n)= + from_vec #n (lognot_vec #n (to_vec #n a)) + +(* Bitwise operators definitions *) +val logand_definition: #n:pos -> a:int_t n -> b:int_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logand a b) i = (nth a i && nth b i))) + [SMTPat (nth (logand a b) i)] + +val logxor_definition: #n:pos -> a:int_t n -> b:int_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logxor a b) i = (nth a i <> nth b i))) + [SMTPat (nth (logxor a b) i)] + +val logor_definition: #n:pos -> a:int_t n -> b:int_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logor a b) i = (nth a i || nth b i))) + [SMTPat (nth (logor a b) i)] + +val lognot_definition: #n:pos -> a:int_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (lognot a) i = not(nth a i))) + [SMTPat (nth (lognot a) i)] + +(* Two's complement unary minus *) +inline_for_extraction +let minus (#n:pos{1 < n}) (a:int_t n) : Tot (int_t n) = + add_mod (lognot a) 1 + +(* Bitwise operators lemmas *) +(* TODO: lemmas about the relations between different operators *) +(* Bitwise AND operator *) +val logand_commutative: #n:pos -> a:int_t n -> b:int_t n -> + Lemma (requires True) (ensures (logand #n a b = logand #n b a)) + +val logand_associative: #n:pos -> a:int_t n -> b:int_t n -> c:int_t n -> + Lemma (logand #n (logand #n a b) c = logand #n a (logand #n b c)) + +val logand_self: #n:pos -> a:int_t n -> + Lemma (logand #n a a = a) + +val logand_lemma_1: #n:pos -> a:int_t n -> + Lemma (requires True) (ensures (logand #n a (zero n) = zero n)) + +val logand_lemma_2: #n:pos -> a:int_t n -> + Lemma (logand #n a (ones n) = a) + +val sign_bit_negative: #n:pos{1 < n} -> a:int_t n -> + Lemma (nth a 0 = true <==> a < 0) + +val sign_bit_positive: #n:pos{1 < n} -> a:int_t n -> + Lemma (nth a 0 = false <==> 0 <= a) + +val logand_pos_le: #n:pos{1 < n} -> a:int_t n{0 <= a} -> b:int_t n{0 <= b} -> + Lemma (0 <= logand a b /\ logand a b <= a /\ logand a b <= b) + +val logand_pow2_minus_one: #n:pos{1 < n} -> a:int_t n -> m:pos{m < n} -> + Lemma (0 <= logand a (pow2_minus_one m) /\ + logand a (pow2_minus_one m) <= pow2_minus_one #n m) + +val logand_max: #n:pos{1 < n} -> a:int_t n{0 <= a} -> + Lemma (0 <= logand a (max_int n) /\ a = logand a (max_int n)) + +(* Bitwise XOR operator *) +val logxor_commutative: #n:pos -> a:int_t n -> b:int_t n -> + Lemma (requires True) (ensures (logxor #n a b = logxor #n b a)) + +val logxor_associative: #n:pos -> a:int_t n -> b:int_t n -> c:int_t n -> + Lemma (requires True) (ensures (logxor #n (logxor #n a b) c = logxor #n a (logxor #n b c))) + +val logxor_self: #n:pos -> a:int_t n -> + Lemma (requires True) (ensures (logxor #n a a = zero n)) + +val logxor_lemma_1: #n:pos -> a:int_t n -> + Lemma (requires True) (ensures (logxor #n a (zero n) = a)) + +val logxor_lemma_2: #n:pos -> a:int_t n -> + Lemma (requires True) (ensures (logxor #n a (ones n) = lognot #n a)) + +val logxor_inv: #n:pos -> a:int_t n -> b:int_t n -> Lemma + (a = logxor #n (logxor #n a b) b) + +val logxor_neq_nonzero: #n:pos -> a:int_t n -> b:int_t n -> Lemma + (a <> b ==> logxor a b <> 0) + +val lognot_negative: #n:pos -> a:int_t n -> Lemma + (requires a < 0) + (ensures lognot a == UInt.lognot #n (a + pow2 n)) + +(* Shift operators *) + +(** If a is negative the result is undefined behaviour *) +let shift_left (#n:pos) (a:int_t n{0 <= a}) (s:nat) : Tot (int_t n) = + from_vec (shift_left_vec #n (to_vec #n a) s) + +(** If a is negative the result is implementation defined *) +let shift_right (#n:pos) (a:int_t n{0 <= a}) (s:nat) : Tot (int_t n) = + from_vec (shift_right_vec #n (to_vec #n a) s) + +let shift_arithmetic_right (#n:pos) (a:int_t n) (s:nat) : Tot (int_t n) = + from_vec (shift_arithmetic_right_vec #n (to_vec #n a) s) + +(* Shift operators lemmas *) +val shift_left_lemma_1: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i >= n - s} -> + Lemma (requires True) + (ensures (nth (shift_left #n a s) i = false)) + [SMTPat (nth (shift_left #n a s) i)] + +val shift_left_lemma_2: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i < n - s} -> + Lemma (requires True) + (ensures (nth (shift_left #n a s) i = nth #n a (i + s))) + [SMTPat (nth (shift_left #n a s) i)] + +val shift_left_value_lemma: #n:pos -> a:int_t n{0 <= a} -> s:nat -> + Lemma (requires True) + (ensures shift_left #n a s = (a * pow2 s) @% pow2 n) + [SMTPat (shift_left #n a s)] + +val shift_right_lemma_1: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i < s} -> + Lemma (requires True) + (ensures (nth (shift_right #n a s) i = false)) + [SMTPat (nth (shift_right #n a s) i)] + +val shift_right_lemma_2: #n:pos -> a:int_t n{0 <= a} -> s:nat -> i:nat{i < n && i >= s} -> + Lemma (requires True) + (ensures (nth (shift_right #n a s) i = nth #n a (i - s))) + [SMTPat (nth (shift_right #n a s) i)] + +val shift_arithmetic_right_lemma_1: #n:pos -> a:int_t n -> s:nat -> i:nat{i < n && i < s} -> + Lemma (requires True) + (ensures (nth (shift_arithmetic_right #n a s) i = nth a 0)) + [SMTPat (nth (shift_arithmetic_right #n a s) i)] + +val shift_arithmetic_right_lemma_2: #n:pos -> a:int_t n -> s:nat -> i:nat{i < n && i >= s} -> + Lemma (requires True) + (ensures (nth (shift_arithmetic_right #n a s) i = nth #n a (i - s))) + [SMTPat (nth (shift_arithmetic_right #n a s) i)] diff --git a/stage0/ulib/FStar.Int128.fst b/stage0/ulib/FStar.Int128.fst new file mode 100644 index 00000000000..be9dc4b28c0 --- /dev/null +++ b/stage0/ulib/FStar.Int128.fst @@ -0,0 +1,85 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int128 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options + +let mul_wide a b = + assume (size (Int64.v a * Int64.v b) n); + Mk ((Int64.v a) * (Int64.v b)) diff --git a/stage0/ulib/FStar.Int128.fsti b/stage0/ulib/FStar.Int128.fsti new file mode 100644 index 00000000000..6e313df7db3 --- /dev/null +++ b/stage0/ulib/FStar.Int128.fsti @@ -0,0 +1,179 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int128 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 128 + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options + +val mul_wide: a:Int64.t -> b:Int64.t -> Pure t + (requires True) + (ensures (fun c -> v c = Int64.v a * Int64.v b)) diff --git a/stage0/ulib/FStar.Int16.fst b/stage0/ulib/FStar.Int16.fst new file mode 100644 index 00000000000..352f7d63192 --- /dev/null +++ b/stage0/ulib/FStar.Int16.fst @@ -0,0 +1,81 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int16 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options diff --git a/stage0/ulib/FStar.Int16.fsti b/stage0/ulib/FStar.Int16.fsti new file mode 100644 index 00000000000..d45d0e3f4b0 --- /dev/null +++ b/stage0/ulib/FStar.Int16.fsti @@ -0,0 +1,175 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int16 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 16 + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options diff --git a/stage0/ulib/FStar.Int32.fst b/stage0/ulib/FStar.Int32.fst new file mode 100644 index 00000000000..9d916278215 --- /dev/null +++ b/stage0/ulib/FStar.Int32.fst @@ -0,0 +1,81 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int32 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options diff --git a/stage0/ulib/FStar.Int32.fsti b/stage0/ulib/FStar.Int32.fsti new file mode 100644 index 00000000000..a937c754f16 --- /dev/null +++ b/stage0/ulib/FStar.Int32.fsti @@ -0,0 +1,175 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int32 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 32 + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options diff --git a/stage0/ulib/FStar.Int64.fst b/stage0/ulib/FStar.Int64.fst new file mode 100644 index 00000000000..2a7fe2ee20b --- /dev/null +++ b/stage0/ulib/FStar.Int64.fst @@ -0,0 +1,81 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int64 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options diff --git a/stage0/ulib/FStar.Int64.fsti b/stage0/ulib/FStar.Int64.fsti new file mode 100644 index 00000000000..9f121d6d644 --- /dev/null +++ b/stage0/ulib/FStar.Int64.fsti @@ -0,0 +1,175 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int64 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 64 + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options diff --git a/stage0/ulib/FStar.Int8.fst b/stage0/ulib/FStar.Int8.fst new file mode 100644 index 00000000000..a53f9570a71 --- /dev/null +++ b/stage0/ulib/FStar.Int8.fst @@ -0,0 +1,81 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int8 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options diff --git a/stage0/ulib/FStar.Int8.fsti b/stage0/ulib/FStar.Int8.fsti new file mode 100644 index 00000000000..afc1f1a005b --- /dev/null +++ b/stage0/ulib/FStar.Int8.fsti @@ -0,0 +1,175 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Int8 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 8 + +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options diff --git a/stage0/ulib/FStar.IntN.fstip b/stage0/ulib/FStar.IntN.fstip new file mode 100644 index 00000000000..87d5e5d3329 --- /dev/null +++ b/stage0/ulib/FStar.IntN.fstip @@ -0,0 +1,154 @@ +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +new val t : eqtype + +val v (x:t) : Tot (int_t n) + +val int_to_t: x:int_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val uv_inv (x : t) : Lemma + (ensures (int_to_t (v x) == x)) + [SMTPat (v x)] + +val vu_inv (x : int_t n) : Lemma + (ensures (v (int_to_t x) == x)) + [SMTPat (int_to_t x)] + +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(* Subtraction primitives *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(* Multiplication primitives *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(* Division primitives *) +val div (a:t) (b:t{v b <> 0}) : Pure t + // division overflows on INT_MIN / -1 + (requires (size (v a / v b) n)) + (ensures (fun c -> v a / v b = v c)) + +(* Modulo primitives *) +(* If a/b is not representable the result of a%b is undefind *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires (size (v a / v b) n)) + (ensures (fun c -> FStar.Int.mod (v a) (v b) = v c)) + +(* Bitwise operators *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(* Shift operators *) + +(** If a is negative the result is implementation-defined *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_right (v a) (UInt32.v s) = v c)) + +(** If a is negative or a * pow2 s is not representable the result is undefined *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (0 <= v a /\ v a * pow2 (UInt32.v s) <= max_int n /\ UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_left (v a) (UInt32.v s) = v c)) + +val shift_arithmetic_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.Int.shift_arithmetic_right (v a) (UInt32.v s) = v c)) + +(* Comparison operators *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(* Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Subtraction_Hat = sub +unfold let op_Star_Hat = mul +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Greater_Greater_Greater_Hat = shift_arithmetic_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +inline_for_extraction +let ct_abs (a:t{min_int n < v a}) : Tot (b:t{v b = abs (v a)}) = + let mask = a >>>^ UInt32.uint_to_t (n - 1) in + if 0 <= v a then + begin + sign_bit_positive (v a); + nth_lemma (v mask) (FStar.Int.zero _); + logxor_lemma_1 (v a) + end + else + begin + sign_bit_negative (v a); + nth_lemma (v mask) (ones _); + logxor_lemma_2 (v a); + lognot_negative (v a); + UInt.lemma_lognot_value #n (to_uint (v a)) + end; + (a ^^ mask) -^ mask + +(* To input / output constants *) +(* .. in decimal representation *) +val to_string: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __int_to_t (x:int) : Tot t + = int_to_t x +#reset-options diff --git a/stage0/ulib/FStar.IntN.fstp b/stage0/ulib/FStar.IntN.fstp new file mode 100644 index 00000000000..ef34d37cf04 --- /dev/null +++ b/stage0/ulib/FStar.IntN.fstp @@ -0,0 +1,62 @@ +open FStar.Int +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(* NOTE: anything that you fix/update here should be reflected in [FStar.UIntN.fstp], which is mostly + * a copy-paste of this module. *) + +type t : eqtype = + | Mk: v:int_t n -> t + + +let v x = x.v + +irreducible +let int_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = int_to_t 0 + +let one = + FStar.Math.Lemmas.pow2_lt_compat (n - 1) 1; + int_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let shift_arithmetic_right a s = Mk (shift_arithmetic_right (v a) (UInt32.v s)) + +let to_string _ = admit () + +//AR: this is to workaround the interleaving semantics of pragmas in FStar.Int128.fst +// where the interface requires the last but one definition to be lax-checked +#push-options "--admit_smt_queries true" + +let of_string _ = admit () + +#pop-options diff --git a/stage0/ulib/FStar.IntegerIntervals.fst b/stage0/ulib/FStar.IntegerIntervals.fst new file mode 100644 index 00000000000..5706c332ea4 --- /dev/null +++ b/stage0/ulib/FStar.IntegerIntervals.fst @@ -0,0 +1,84 @@ +(* + 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. + + Author: A. Rozanov +*) +module FStar.IntegerIntervals + +(* Aliases to all kinds of integer intervals *) + +(* general infinite integer intervals *) +type less_than (k: int) = x:int{xk} +type not_less_than (x: int) = greater_than (x-1) +type not_greater_than (x: int) = less_than (x+1) + +(* Type coercion. While supposed to be absolutely trivial, + might still be invoked directly under extremely low rlimits *) +let coerce_to_less_than #n (x: not_greater_than n) : less_than (n+1) = x +let coerce_to_not_less_than #n (x: greater_than n) : not_less_than (n+1) = x + +let interval_condition (x y t: int) = (x <= t) && (t < y) + +type interval_type (x y:int) = z : Type0{ z == t:int{interval_condition x y t} } + +(* Default interval is half-open, which is the most frequently used case *) +type interval (x y: int) : interval_type x y = t:int{interval_condition x y t} + +(* general finite integer intervals *) +type efrom_eto (x y: int) = interval (x+1) y +type efrom_ito (x y: int) = interval (x+1) (y+1) +type ifrom_eto (x y: int) = interval x y +type ifrom_ito (x y: int) = interval x (y+1) + +(* Special case for naturals under k, to use in sequences, lists, arrays, etc *) +type under (k: nat) = interval 0 k + +(* If we define our intervals this way, then the following lemma comes for free: *) +private let closed_interval_lemma (x y:int) : Lemma (interval x (y+1) == ifrom_ito x y) = () + + +(* how many numbers fall into an interval? *) +let interval_size (#x #y: int) (interval: interval_type x y) : nat + = if y >= x then y-x else 0 + +(* when we want a zero-based index that runs over an interval, we use this *) +type counter_for (#x #y:int) (interval: interval_type x y) = under (interval_size interval) + +(* special case for closed intervals, used in FStar.Algebra.CommMonoid.Fold *) +let closed_interval_size (x y: int) : nat = interval_size (ifrom_ito x y) + +(* A usage example and a test at the same time: *) +private let _ = assert (interval_size (interval 5 10) = 5) +private let _ = assert (interval_size (ifrom_ito 5 10) = 6) +private let _ = assert (interval_size (ifrom_ito 15 10) = 0) + +(* This lemma, especially when used with forall_intro, helps the + prover verify the index ranges of sequences that correspond + to arbitrary folds. + + It is supposed to be invoked to decrease the toll we put on rlimit, + i.e. will be redundant in most use cases. *) +let counter_bounds_lemma (x y:int) (i: (counter_for (ifrom_ito x y))) + : Lemma (x+i >= x /\ x+i <= y) = () + +(* An integer sequence [0..n), n values in total, + with index value available to the prover. *) +let indices_seq (n: nat) + : (f:FStar.Seq.Base.seq (under n) { + FStar.Seq.Base.length f = n /\ + (forall (k: under n). FStar.Seq.Base.index f k = k) + }) + = FStar.Seq.Base.init n (fun (x:under n) -> x) diff --git a/stage0/ulib/FStar.Integers.fst b/stage0/ulib/FStar.Integers.fst new file mode 100644 index 00000000000..ce57d46b745 --- /dev/null +++ b/stage0/ulib/FStar.Integers.fst @@ -0,0 +1,589 @@ +(* + 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.Integers + +#set-options "--initial_ifuel 2 --max_ifuel 2 --initial_fuel 0 --max_fuel 0" + +irreducible +let mark_for_norm = () + +unfold +let norm (#a:Type) (x:a) = norm [iota; delta_attr [`%mark_for_norm]] x + +type width = + | W8 + | W16 + | W32 + | W64 + | W128 + | Winfinite + +[@@mark_for_norm] +let nat_of_width = function + | W8 -> Some 8 + | W16 -> Some 16 + | W32 -> Some 32 + | W64 -> Some 64 + | W128 -> Some 128 + | Winfinite -> None + +let fixed_width = w:width{w <> Winfinite} + +[@@mark_for_norm] +let nat_of_fixed_width (w:fixed_width) = + match nat_of_width w with + | Some v -> v + +type signed_width = + | Signed of width + | Unsigned of fixed_width //We don't support (Unsigned WInfinite); use nat instead + +[@@mark_for_norm] +let width_of_sw = function + | Signed w -> w + | Unsigned w -> w + +[@@mark_for_norm] +noextract +inline_for_extraction +let int_t sw : Tot Type0 = + match sw with + | Unsigned W8 -> FStar.UInt8.t + | Unsigned W16 -> FStar.UInt16.t + | Unsigned W32 -> FStar.UInt32.t + | Unsigned W64 -> FStar.UInt64.t + | Unsigned W128 -> FStar.UInt128.t + | Signed Winfinite -> int + | Signed W8 -> FStar.Int8.t + | Signed W16 -> FStar.Int16.t + | Signed W32 -> FStar.Int32.t + | Signed W64 -> FStar.Int64.t + | Signed W128 -> FStar.Int128.t + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let within_bounds' sw (x:int) = + match sw, nat_of_width (width_of_sw sw) with + | Signed _, None -> True + | Signed _, Some n -> FStar.Int.size x n + | Unsigned _, Some n -> FStar.UInt.size x n + +unfold +let within_bounds sw x = norm (within_bounds' sw x) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let v #sw (x:int_t sw) + : Tot (y:int_t (Signed Winfinite){within_bounds sw y}) + = match sw with + | Unsigned w -> + (match w with + | W8 -> FStar.UInt8.v x + | W16 -> FStar.UInt16.v x + | W32 -> FStar.UInt32.v x + | W64 -> FStar.UInt64.v x + | W128 -> FStar.UInt128.v x) + | Signed w -> + (match w with + | Winfinite -> x + | W8 -> FStar.Int8.v x + | W16 -> FStar.Int16.v x + | W32 -> FStar.Int32.v x + | W64 -> FStar.Int64.v x + | W128 -> FStar.Int128.v x) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let u #sw + (x:int_t (Signed Winfinite){within_bounds sw x}) + : Tot (y:int_t sw{norm (v x == v y)}) + = match sw with + | Unsigned w -> + (match w with + | W8 -> FStar.UInt8.uint_to_t x + | W16 -> FStar.UInt16.uint_to_t x + | W32 -> FStar.UInt32.uint_to_t x + | W64 -> FStar.UInt64.uint_to_t x + | W128 -> FStar.UInt128.uint_to_t x) + | Signed w -> + (match w with + | Winfinite -> x + | W8 -> FStar.Int8.int_to_t x + | W16 -> FStar.Int16.int_to_t x + | W32 -> FStar.Int32.int_to_t x + | W64 -> FStar.Int64.int_to_t x + | W128 -> FStar.Int128.int_to_t x) + +irreducible +noextract +let cast #sw #sw' + (from:int_t sw{within_bounds sw' (v from)}) + : Tot (to:int_t sw'{norm (v from == v to)}) + = u (v from) + +[@@mark_for_norm] +unfold +noextract +let cast_ok #from to (x:int_t from) = within_bounds to (v x) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( + ) #sw + (x:int_t sw) + (y:int_t sw{within_bounds sw (v x + v y)}) + : Tot (int_t sw) + = match sw with + | Signed Winfinite -> x + y + | Unsigned W8 -> FStar.UInt8.(x +^ y) + | Unsigned W16 -> FStar.UInt16.(x +^ y) + | Unsigned W32 -> FStar.UInt32.(x +^ y) + | Unsigned W64 -> FStar.UInt64.(x +^ y) + | Unsigned W128 -> FStar.UInt128.(x +^ y) + | Signed W8 -> FStar.Int8.(x +^ y) + | Signed W16 -> FStar.Int16.(x +^ y) + | Signed W32 -> FStar.Int32.(x +^ y) + | Signed W64 -> FStar.Int64.(x +^ y) + | Signed W128 -> FStar.Int128.(x +^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( +? ) (#w:fixed_width) + (x:int_t (Unsigned w)) + (y:int_t (Unsigned w)) + : Tot (int_t (Unsigned w)) + = match w with + | W8 -> FStar.UInt8.(x +?^ y) + | W16 -> FStar.UInt16.(x +?^ y) + | W32 -> FStar.UInt32.(x +?^ y) + | W64 -> FStar.UInt64.(x +?^ y) + | W128 -> FStar.UInt128.(x +?^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +noextract +let modulo sw (x:int) (y:pos{Signed? sw ==> y%2=0}) = + match sw with + | Unsigned _ -> x % y + | _ -> FStar.Int.(x @% y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( +% ) (#sw:_{Unsigned? sw}) + (x:int_t sw) + (y:int_t sw) + : Tot (int_t sw) + = let Unsigned w = sw in + match w with + | W8 -> FStar.UInt8.(x +%^ y) + | W16 -> FStar.UInt16.(x +%^ y) + | W32 -> FStar.UInt32.(x +%^ y) + | W64 -> FStar.UInt64.(x +%^ y) + | W128 -> FStar.UInt128.(x +%^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let op_Subtraction #sw + (x:int_t sw) + (y:int_t sw{within_bounds sw (v x - v y)}) + : Tot (int_t sw) + = match sw with + | Signed Winfinite -> x - y + | Unsigned W8 -> FStar.UInt8.(x -^ y) + | Unsigned W16 -> FStar.UInt16.(x -^ y) + | Unsigned W32 -> FStar.UInt32.(x -^ y) + | Unsigned W64 -> FStar.UInt64.(x -^ y) + | Unsigned W128 -> FStar.UInt128.(x -^ y) + | Signed W8 -> FStar.Int8.(x -^ y) + | Signed W16 -> FStar.Int16.(x -^ y) + | Signed W32 -> FStar.Int32.(x -^ y) + | Signed W64 -> FStar.Int64.(x -^ y) + | Signed W128 -> FStar.Int128.(x -^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let op_Subtraction_Question + (#sw:_{Unsigned? sw}) + (x:int_t sw) + (y:int_t sw) + : Tot (int_t sw) + = let Unsigned w = sw in + match w with + | W8 -> FStar.UInt8.(x -?^ y) + | W16 -> FStar.UInt16.(x -?^ y) + | W32 -> FStar.UInt32.(x -?^ y) + | W64 -> FStar.UInt64.(x -?^ y) + | W128 -> FStar.UInt128.(x -?^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let op_Subtraction_Percent + (#sw:_{Unsigned? sw}) + (x:int_t sw) + (y:int_t sw) + : Tot (int_t sw) + = let Unsigned w = sw in + match w with + | W8 -> FStar.UInt8.(x -%^ y) + | W16 -> FStar.UInt16.(x -%^ y) + | W32 -> FStar.UInt32.(x -%^ y) + | W64 -> FStar.UInt64.(x -%^ y) + | W128 -> FStar.UInt128.(x -%^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let op_Minus + (#sw:_{Signed? sw}) + (x:int_t sw{within_bounds sw (0 - v x)}) + : Tot (int_t sw) + = let Signed w = sw in + match w with + | Winfinite -> 0 - x + | W8 -> FStar.Int8.(0y -^ x) + | W16 -> FStar.Int16.(0s -^ x) + | W32 -> FStar.Int32.(0l -^ x) + | W64 -> FStar.Int64.(0L -^ x) + | W128 -> FStar.Int128.(int_to_t 0 -^ x) + +open FStar.Mul +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( * ) (#sw:signed_width{width_of_sw sw <> W128}) + (x:int_t sw) + (y:int_t sw{within_bounds sw (v x * v y)}) + : Tot (int_t sw) + = match sw with + | Signed Winfinite -> x * y + | Unsigned W8 -> FStar.UInt8.(x *^ y) + | Unsigned W16 -> FStar.UInt16.(x *^ y) + | Unsigned W32 -> FStar.UInt32.(x *^ y) + | Unsigned W64 -> FStar.UInt64.(x *^ y) + | Signed W8 -> FStar.Int8.(x *^ y) + | Signed W16 -> FStar.Int16.(x *^ y) + | Signed W32 -> FStar.Int32.(x *^ y) + | Signed W64 -> FStar.Int64.(x *^ y) + | Signed W128 -> FStar.Int128.(x *^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( *? ) (#sw:_{Unsigned? sw /\ width_of_sw sw <> W128}) + (x:int_t sw) + (y:int_t sw) + : Tot (int_t sw) + = let Unsigned w = sw in + match w with + | W8 -> FStar.UInt8.(x *?^ y) + | W16 -> FStar.UInt16.(x *?^ y) + | W32 -> FStar.UInt32.(x *?^ y) + | W64 -> FStar.UInt64.(x *?^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( *% ) (#sw:_{Unsigned? sw /\ width_of_sw sw <> W128}) + (x:int_t sw) + (y:int_t sw) + : Tot (int_t sw) + = let Unsigned w = sw in + match w with + | W8 -> FStar.UInt8.(x *%^ y) + | W16 -> FStar.UInt16.(x *%^ y) + | W32 -> FStar.UInt32.(x *%^ y) + | W64 -> FStar.UInt64.(x *%^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( > ) #sw (x:int_t sw) (y:int_t sw) : bool = + match sw with + | Signed Winfinite -> x > y + | Unsigned W8 -> FStar.UInt8.(x >^ y) + | Unsigned W16 -> FStar.UInt16.(x >^ y) + | Unsigned W32 -> FStar.UInt32.(x >^ y) + | Unsigned W64 -> FStar.UInt64.(x >^ y) + | Unsigned W128 -> FStar.UInt128.(x >^ y) + | Signed W8 -> FStar.Int8.(x >^ y) + | Signed W16 -> FStar.Int16.(x >^ y) + | Signed W32 -> FStar.Int32.(x >^ y) + | Signed W64 -> FStar.Int64.(x >^ y) + | Signed W128 -> FStar.Int128.(x >^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( >= ) #sw (x:int_t sw) (y:int_t sw) : bool = + match sw with + | Signed Winfinite -> x >= y + | Unsigned W8 -> FStar.UInt8.(x >=^ y) + | Unsigned W16 -> FStar.UInt16.(x >=^ y) + | Unsigned W32 -> FStar.UInt32.(x >=^ y) + | Unsigned W64 -> FStar.UInt64.(x >=^ y) + | Unsigned W128 -> FStar.UInt128.(x >=^ y) + | Signed W8 -> FStar.Int8.(x >=^ y) + | Signed W16 -> FStar.Int16.(x >=^ y) + | Signed W32 -> FStar.Int32.(x >=^ y) + | Signed W64 -> FStar.Int64.(x >=^ y) + | Signed W128 -> FStar.Int128.(x >=^ y) + + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( < ) #sw (x:int_t sw) (y:int_t sw) : bool = + match sw with + | Signed Winfinite -> x < y + | Unsigned W8 -> FStar.UInt8.(x <^ y) + | Unsigned W16 -> FStar.UInt16.(x <^ y) + | Unsigned W32 -> FStar.UInt32.(x <^ y) + | Unsigned W64 -> FStar.UInt64.(x <^ y) + | Unsigned W128 -> FStar.UInt128.(x <^ y) + | Signed W8 -> FStar.Int8.(x <^ y) + | Signed W16 -> FStar.Int16.(x <^ y) + | Signed W32 -> FStar.Int32.(x <^ y) + | Signed W64 -> FStar.Int64.(x <^ y) + | Signed W128 -> FStar.Int128.(x <^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( <= ) #sw (x:int_t sw) (y:int_t sw) : bool = + match sw with + | Signed Winfinite -> x <= y + | Unsigned W8 -> FStar.UInt8.(x <=^ y) + | Unsigned W16 -> FStar.UInt16.(x <=^ y) + | Unsigned W32 -> FStar.UInt32.(x <=^ y) + | Unsigned W64 -> FStar.UInt64.(x <=^ y) + | Unsigned W128 -> FStar.UInt128.(x <=^ y) + | Signed W8 -> FStar.Int8.(x <=^ y) + | Signed W16 -> FStar.Int16.(x <=^ y) + | Signed W32 -> FStar.Int32.(x <=^ y) + | Signed W64 -> FStar.Int64.(x <=^ y) + | Signed W128 -> FStar.Int128.(x <=^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( / ) (#sw:signed_width{sw <> Unsigned W128}) + (x:int_t sw) + (y:int_t sw{0 <> (v y <: Prims.int) /\ + (match sw with + | Unsigned _ -> within_bounds sw (v x / v y) + | Signed _ -> within_bounds sw (v x `FStar.Int.op_Slash` v y))}) + : Tot (int_t sw) + = match sw with + | Signed Winfinite -> x / y + | Unsigned W8 -> FStar.UInt8.(x /^ y) + | Unsigned W16 -> FStar.UInt16.(x /^ y) + | Unsigned W32 -> FStar.UInt32.(x /^ y) + | Unsigned W64 -> FStar.UInt64.(x /^ y) + | Signed W8 -> FStar.Int8.(x /^ y) + | Signed W16 -> FStar.Int16.(x /^ y) + | Signed W32 -> FStar.Int32.(x /^ y) + | Signed W64 -> FStar.Int64.(x /^ y) + | Signed W128 -> FStar.Int128.(x /^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( % ) (#sw:signed_width{sw <> Unsigned W128}) + (x:int_t sw) + (y:int_t sw{0 <> (v y <: Prims.int) /\ + (match sw with + | Unsigned _ -> within_bounds sw (FStar.UInt.mod #(nat_of_fixed_width (width_of_sw sw)) (v x) (v y)) + | Signed Winfinite -> True + | Signed _ -> within_bounds sw (FStar.Int.mod #(nat_of_fixed_width (width_of_sw sw)) (v x) (v y))) /\ + within_bounds sw (FStar.Int.op_Slash (v x) (v y))}) + : Tot (int_t sw) + = match sw with + | Signed Winfinite -> x % y + | Unsigned W8 -> FStar.UInt8.(x %^ y) + | Unsigned W16 -> FStar.UInt16.(x %^ y) + | Unsigned W32 -> FStar.UInt32.(x %^ y) + | Unsigned W64 -> FStar.UInt64.(x %^ y) + | Signed W8 -> FStar.Int8.(x %^ y) + | Signed W16 -> FStar.Int16.(x %^ y) + | Signed W32 -> FStar.Int32.(x %^ y) + | Signed W64 -> FStar.Int64.(x %^ y) + | Signed W128 -> FStar.Int128.(x %^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( ^^ ) #sw (x:int_t sw) (y:int_t sw{width_of_sw sw <> Winfinite}) + : Tot (int_t sw) + = match sw with + | Unsigned W8 -> FStar.UInt8.(x ^^ y) + | Unsigned W16 -> FStar.UInt16.(x ^^ y) + | Unsigned W32 -> FStar.UInt32.(x ^^ y) + | Unsigned W64 -> FStar.UInt64.(x ^^ y) + | Unsigned W128 -> FStar.UInt128.(x ^^ y) + | Signed W8 -> FStar.Int8.(x ^^ y) + | Signed W16 -> FStar.Int16.(x ^^ y) + | Signed W32 -> FStar.Int32.(x ^^ y) + | Signed W64 -> FStar.Int64.(x ^^ y) + | Signed W128 -> FStar.Int128.(x ^^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( &^ ) #sw (x:int_t sw) (y:int_t sw{width_of_sw sw <> Winfinite}) + : Tot (int_t sw) + = match sw with + | Unsigned W8 -> FStar.UInt8.(x &^ y) + | Unsigned W16 -> FStar.UInt16.(x &^ y) + | Unsigned W32 -> FStar.UInt32.(x &^ y) + | Unsigned W64 -> FStar.UInt64.(x &^ y) + | Unsigned W128 -> FStar.UInt128.(x &^ y) + | Signed W8 -> FStar.Int8.(x &^ y) + | Signed W16 -> FStar.Int16.(x &^ y) + | Signed W32 -> FStar.Int32.(x &^ y) + | Signed W64 -> FStar.Int64.(x &^ y) + | Signed W128 -> FStar.Int128.(x &^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( |^ ) #sw (x:int_t sw) (y:int_t sw{width_of_sw sw <> Winfinite}) + : Tot (int_t sw) + = match sw with + | Unsigned W8 -> FStar.UInt8.(x |^ y) + | Unsigned W16 -> FStar.UInt16.(x |^ y) + | Unsigned W32 -> FStar.UInt32.(x |^ y) + | Unsigned W64 -> FStar.UInt64.(x |^ y) + | Unsigned W128 -> FStar.UInt128.(x |^ y) + | Signed W8 -> FStar.Int8.(x |^ y) + | Signed W16 -> FStar.Int16.(x |^ y) + | Signed W32 -> FStar.Int32.(x |^ y) + | Signed W64 -> FStar.Int64.(x |^ y) + | Signed W128 -> FStar.Int128.(x |^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( <<^ ) #sw (x:int_t sw{0 <= v x}) + (y:int_t (Unsigned W32){width_of_sw sw <> Winfinite /\ v y < nat_of_fixed_width (width_of_sw sw) /\ (Signed? sw ==> within_bounds sw (v x * pow2 (v y)))}) + : Tot (int_t sw) + = match sw with + | Unsigned W8 -> FStar.UInt8.(x <<^ y) + | Unsigned W16 -> FStar.UInt16.(x <<^ y) + | Unsigned W32 -> FStar.UInt32.(x <<^ y) + | Unsigned W64 -> FStar.UInt64.(x <<^ y) + | Unsigned W128 -> FStar.UInt128.(x <<^ y) + | Signed W8 -> FStar.Int8.(x <<^ y) + | Signed W16 -> FStar.Int16.(x <<^ y) + | Signed W32 -> FStar.Int32.(x <<^ y) + | Signed W64 -> FStar.Int64.(x <<^ y) + | Signed W128 -> FStar.Int128.(x <<^ y) + +[@@mark_for_norm; strict_on_arguments [0]] +unfold +noextract +let ( >>^ ) #sw (x:int_t sw{0 <= v x}) + (y:int_t (Unsigned W32){width_of_sw sw <> Winfinite /\ v y < nat_of_fixed_width (width_of_sw sw)}) + : Tot (int_t sw) + = match sw with + | Unsigned W8 -> FStar.UInt8.(x >>^ y) + | Unsigned W16 -> FStar.UInt16.(x >>^ y) + | Unsigned W32 -> FStar.UInt32.(x >>^ y) + | Unsigned W64 -> FStar.UInt64.(x >>^ y) + | Unsigned W128 -> FStar.UInt128.(x >>^ y) + | Signed W8 -> FStar.Int8.(x >>^ y) + | Signed W16 -> FStar.Int16.(x >>^ y) + | Signed W32 -> FStar.Int32.(x >>^ y) + | Signed W64 -> FStar.Int64.(x >>^ y) + | Signed W128 -> FStar.Int128.(x >>^ y) + +[@@mark_for_norm] +unfold +let uint_8 = int_t (Unsigned W8) + +[@@mark_for_norm] +unfold +let uint_16 = int_t (Unsigned W16) + +[@@mark_for_norm] +unfold +let uint_32 = int_t (Unsigned W32) + +[@@mark_for_norm] +unfold +let uint_64 = int_t (Unsigned W64) + +[@@mark_for_norm] +unfold +let int = int_t (Signed Winfinite) + +[@@mark_for_norm] +unfold +let int_8 = int_t (Signed W8) + +[@@mark_for_norm] +unfold +let int_16 = int_t (Signed W16) + +[@@mark_for_norm] +unfold +let int_32 = int_t (Signed W32) + +[@@mark_for_norm] +unfold +let int_64 = int_t (Signed W64) + +[@@mark_for_norm] +unfold +let int_128 = int_t (Signed W128) + +[@@mark_for_norm] +unfold +let ok #sw + (op:(int_t (Signed Winfinite) + -> int_t (Signed Winfinite) + -> int_t (Signed Winfinite))) + (x:int_t sw) + (y:int_t sw) + = within_bounds sw (op (v x) (v y)) + +[@@mark_for_norm] +unfold +let nat = i:int{ i >= 0 } + +[@@mark_for_norm] +unfold +let pos = i:nat{ 0 < i } + +//////////////////////////////////////////////////////////////////////////////// +//Test +//////////////////////////////////////////////////////////////////////////////// +let f_int (x:int) (y:int) = x + y +let f_nat (x:nat) (y:nat) = x + y +let f_nat_int_pos (x:nat) (y:int) (z:pos) = x + y + z +let f_uint_8 (x:uint_8) (y:uint_8{ok (+) x y}) = x + y +let f_int_16 (x:int_16) (y:int_16{ok (+) x y}) = x + y +let g (x:uint_32) (y:uint_32{ok ( * ) y y /\ ok (+) x (y * y)}) = x + y * y +let h (x:Prims.nat) (y:Prims.nat): nat = u x + u y +let i (x:Prims.nat) (y:Prims.nat) = x + y +let j (x:Prims.int) (y:Prims.nat) = x - y +let k (x:Prims.int) (y:Prims.int) = x * y diff --git a/stage0/ulib/FStar.Issue.fsti b/stage0/ulib/FStar.Issue.fsti new file mode 100644 index 00000000000..3697227fc1e --- /dev/null +++ b/stage0/ulib/FStar.Issue.fsti @@ -0,0 +1,49 @@ +module FStar.Issue +open FStar.Range + +module Pprint = FStar.Pprint + +new +val issue : Type0 + +let issue_level_string = s:string { + s == "Info" \/ + s == "Warning" \/ + s == "Error" \/ + s == "Feature not yet implemented: " +} + +val message_of_issue (i:issue) : Tot (list Pprint.document) + +val level_of_issue (i:issue) : Tot issue_level_string + +val number_of_issue (i:issue) : Tot (option int) + +val range_of_issue (i:issue) : Tot (option range) + +val context_of_issue (i:issue) : Tot (list string) + +val render_issue (i:issue) : Tot string + +(* NOTE: the only way to build a document that actually reduces +in interpreted mode (like in tactics when not using plugins) +is using arbitrary_string, as below. *) +val mk_issue_doc (i:issue_level_string) + (msg:list Pprint.document) + (range:option range) + (number:option int) + (ctx:list string) + : Tot issue + +(* These qualifiers here to make sure that karamel (while building +krmllib) does not attempt to extract this definition, as that would fail +since it does not have an implementation of arbitrary_string. We could +also not extract this module altogether. *) +noextract +inline_for_extraction +let mk_issue (i:issue_level_string) + (msg:string) + (range:option range) + (number:option int) + (ctx:list string) + = mk_issue_doc i [Pprint.arbitrary_string msg] range number ctx diff --git a/stage0/ulib/FStar.LexicographicOrdering.fst b/stage0/ulib/FStar.LexicographicOrdering.fst new file mode 100644 index 00000000000..ef1349c1151 --- /dev/null +++ b/stage0/ulib/FStar.LexicographicOrdering.fst @@ -0,0 +1,132 @@ +(* + Copyright 2021 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. + + Authors: Aseem Rastogi and Nikhil Swamy +*) + +module FStar.LexicographicOrdering +#set-options "--warn_error -242" //no inner let recs in SMT +open FStar.ReflexiveTransitiveClosure +open FStar.WellFounded + +/// A helper lemma about reflexive transitive closure + +let closure_transitive (#a:Type u#a) (#r_a:binrel u#a u#ra a) (x y z:a) + : Lemma + (requires closure r_a x y /\ + squash (r_a y z)) + (ensures closure r_a x z) + [SMTPat (closure r_a x y); + SMTPat (r_a y z)] + = assert (closure r_a y z) + +/// The main workhorse for the proof of lex_t well-foundedness +/// +/// Given x:a and (y:b x), along with proof of their accessibility, +/// this function provides a proof of accessibility for all t s.t. lex_t t (| x, y |) +/// +/// The proof is by induction on the accessibility proofs of x and y +/// In the Left_lex case, we do the induction on the accessibility of x, +/// and in the Right_lex case, on the accessibility of y +/// +/// Note also that the proof _does not_ rely on the in-built lexicographic ordering in F* +/// +/// An interesting aspect of the proof is the wf_b argument, +/// that provides a proof for the well-foundedness of r_b, +/// but note that we only require it on elements of a that are related to x in the +/// transitive closure of r_a + +let rec lex_t_wf_aux (#a:Type u#a) + (#b:a -> Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:(x:a -> binrel u#b u#rb (b x))) + (x:a) + (acc_x:acc r_a x) //x and accessibility of x + (wf_b:(x0:a{closure r_a x0 x} -> well_founded (r_b x0))) //well-foundedness of r_b + (y:b x) + (acc_y:acc (r_b x) y) //y and accessibility of y + (t:(x:a & b x)) //another element t, + (p_t:lex_t r_a r_b t (| x, y |)) //that is related to (| x, y |) + : Tot (acc (lex_t r_a r_b) t) //returns the accessibility proof for t + (decreases acc_x) + = match p_t with + | Left_lex x_t _ y_t _ p_a -> + AccIntro (lex_t_wf_aux + x_t + (match acc_x with + | AccIntro f -> f x_t p_a) + wf_b + y_t + (wf_b x_t y_t)) + | Right_lex _ _ _ _ -> + //inner induction that keeps x same, but recurses on acc_y + let rec lex_t_wf_aux_y (y:b x) (acc_y:acc (r_b x) y) (t:(x:a & b x)) (p_t:lex_t r_a r_b t (| x, y |)) + : Tot (acc (lex_t r_a r_b) t) + (decreases acc_y) + = match p_t with + | Left_lex x_t _ y_t _ p_a -> + AccIntro (lex_t_wf_aux + x_t + (match acc_x with + | AccIntro f -> f x_t p_a) + wf_b + y_t + (wf_b x_t y_t)) + | Right_lex _ y_t _ p_b -> + AccIntro (lex_t_wf_aux_y + y_t + (match acc_y with + | AccIntro f -> f y_t p_b)) in + lex_t_wf_aux_y y acc_y t p_t + + +let lex_t_wf #_ #_ #_ #_ wf_a wf_b = + fun (| x, y |) -> AccIntro (lex_t_wf_aux x (wf_a x) wf_b y (wf_b x y)) + +open FStar.Squash + +(* + * Given lex_sq, we can output a squashed instance of lex + *) +let lex_to_lex_t #a #b r_a r_b t1 t2 p = + let left (p:squash (r_a (dfst t1) (dfst t2))) + : squash (lex_t r_a r_b t1 t2) + = bind_squash p (fun p -> + return_squash (Left_lex #a #b #r_a #r_b (dfst t1) (dfst t2) (dsnd t1) (dsnd t2) p)) in + + let right (p:(dfst t1 == dfst t2 /\ (squash (r_b (dfst t1) (dsnd t1) (dsnd t2))))) + : squash (lex_t r_a r_b t1 t2) + = bind_squash p (fun p -> + match p with + | Prims.Pair (_:dfst t1 == dfst t2) p2 -> + bind_squash p2 (fun p2 -> + return_squash (Right_lex #a #b #r_a #r_b (dfst t1) (dsnd t1) (dsnd t2) p2))) in + + bind_squash p (fun p -> + match p with + | Prims.Left p1 -> left p1 + | Prims.Right p2 -> right p2) + + +let lex_t_non_dep_wf #a #b #r_a #r_b wf_a wf_b = + let rec get_acc (t:a & b) (p:acc (lex_t r_a (fun _ -> r_b)) (tuple_to_dep_tuple t)) + : Tot (acc (lex_t_non_dep r_a r_b) t) + (decreases p) + = let get_acc_aux (t1:a & b) (p_dep:lex_t_non_dep r_a r_b t1 t) + : (p1:acc (lex_t r_a (fun _ -> r_b)) (tuple_to_dep_tuple t1){p1 << p}) + = match p with + | AccIntro f -> f (tuple_to_dep_tuple t1) p_dep in + AccIntro (fun t1 p1 -> get_acc t1 (get_acc_aux t1 p1)) in + fun t -> get_acc t (lex_t_wf wf_a (fun _ -> wf_b) (tuple_to_dep_tuple t)) diff --git a/stage0/ulib/FStar.LexicographicOrdering.fsti b/stage0/ulib/FStar.LexicographicOrdering.fsti new file mode 100644 index 00000000000..3c1ff1106bc --- /dev/null +++ b/stage0/ulib/FStar.LexicographicOrdering.fsti @@ -0,0 +1,194 @@ +(* + Copyright 2021 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. + + Authors: Aseem Rastogi and Nikhil Swamy +*) + +module FStar.LexicographicOrdering + +/// This module proves that lexicographic ordering is well-founded +/// (i.e. every element is accessible) +/// +/// It defines the lex relation as an inductive, and prove its well-foundedness +/// +/// Since SMT proofs in F* are more amenable to squashed definitions, +/// the module also defines a squashed version of the lex relation, +/// and prove its well-foundedness, reusing the proof for the constructive version +/// +/// See tests/micro-benchmarks/Test.WellFoundedRecursion.fst for +/// how we use squashed `lex` to prove termination for the ackermann function +/// +/// Finally, the module defines a non-dependent version of lex +/// (in-terms of dependent lex), and uses it to prove well-foundedness of symmetric products too +/// +/// Some references: +/// - https://github.com/coq/coq/blob/master/theories/Wellfounded/Lexicographic_Product.v +/// - Constructing Recursion Operators in Type Theory, L. Paulson JSC (1986) 2, 325-355 + +open FStar.WellFounded + + +/// Definition of lexicographic ordering as a relation over dependent tuples +/// +/// Two elements are related if: +/// - Either their first components are related +/// - Or, the first components are equal, and the second components are related + +noeq +type lex_t (#a:Type u#a) (#b:a -> Type u#b) + (r_a:binrel u#a u#ra a) + (r_b:(x:a -> binrel u#b u#rb (b x))) + : (x:a & b x) -> (x:a & b x) -> Type u#(max a b ra rb) = + | Left_lex: + x1:a -> x2:a -> + y1:b x1 -> y2:b x2 -> + r_a x1 x2 -> + lex_t r_a r_b (| x1, y1 |) (| x2, y2 |) + | Right_lex: + x:a -> + y1:b x -> y2:b x -> + r_b x y1 y2 -> + lex_t r_a r_b (| x, y1 |) (| x, y2 |) + +/// Given two well-founded relations `r_a` and `r_b`, +/// their lexicographic ordering is also well-founded + +val lex_t_wf (#a:Type u#a) (#b:a -> Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:(x:a -> binrel u#b u#rb (b x))) + (wf_a:well_founded r_a) + (wf_b:(x:a -> well_founded (r_b x))) + : well_founded (lex_t r_a r_b) + + +/// We can also define a squashed version of lex relation + +unfold +let lex_aux (#a:Type u#a) (#b:a -> Type u#b) + (r_a:binrel u#a u#ra a) + (r_b:(x:a -> binrel u#b u#rb (b x))) + : binrel u#(max a b) u#0 (x:a & b x) + = fun (| x1, y1 |) (| x2, y2 |) -> + (squash (r_a x1 x2)) \/ + (x1 == x2 /\ squash ((r_b x1) y1 y2)) + + +/// Provide a mapping from a point in lex_aux to a squashed point in lex + +val lex_to_lex_t (#a:Type u#a) (#b:a -> Type u#b) + (r_a:binrel u#a u#ra a) + (r_b:(x:a -> binrel u#b u#rb (b x))) + (t1 t2:(x:a & b x)) + (p:lex_aux r_a r_b t1 t2) + : squash (lex_t r_a r_b t1 t2) + +/// And prove that is it is well-founded + +let lex_wf (#a:Type u#a) (#b:a -> Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:(x:a -> binrel u#b u#rb (b x))) + (wf_a:well_founded r_a) + (wf_b:(x:a -> well_founded (r_b x))) + : Lemma (is_well_founded (lex_aux r_a r_b)) + = subrelation_squash_wf (lex_to_lex_t r_a r_b) (lex_t_wf wf_a wf_b) + + +/// A user-friendly lex_wf that returns a well-founded relation + +unfold +let lex (#a:Type u#a) (#b:a -> Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:(x:a -> binrel u#b u#rb (b x))) + (wf_a:well_founded r_a) + (wf_b:(x:a -> well_founded (r_b x))) + : well_founded_relation (x:a & b x) + = lex_wf wf_a wf_b; + lex_aux r_a r_b + + +/// We can also define a non-dependent version of the lex ordering, +/// in terms of the dependent lex tuple, +/// and prove its well-foundedness + +let tuple_to_dep_tuple (#a #b:Type) (x:a & b) : dtuple2 a (fun _ -> b) = + (| fst x, snd x |) + + +/// The non-dependent lexicographic ordering +/// and its well-foundedness + +let lex_t_non_dep (#a:Type u#a) + (#b:Type u#b) + (r_a:binrel u#a u#ra a) + (r_b:binrel u#b u#rb b) + : binrel u#(max a b) u#(max a b ra rb) (a & b) + = fun x y -> + lex_t r_a (fun _ -> r_b) (tuple_to_dep_tuple x) (tuple_to_dep_tuple y) + +val lex_t_non_dep_wf (#a:Type u#a) + (#b:Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:binrel u#b u#rb b) + (wf_a:well_founded r_a) + (wf_b:well_founded r_b) + : well_founded (lex_t_non_dep r_a r_b) + + +/// Symmetric product relation +/// we can prove its well-foundedness by showing that it is a subrelation of non-dep lex + +noeq +type sym (#a:Type u#a) + (#b:Type u#b) + (r_a:binrel u#a u#ra a) + (r_b:binrel u#b u#rb b) + : (a & b) -> (a & b) -> Type u#(max a b ra rb) = + | Left_sym: + x1:a -> x2:a -> + y:b -> + r_a x1 x2 -> + sym r_a r_b (x1, y) (x2, y) + | Right_sym: + x:a -> + y1:b -> y2:b -> + r_b y1 y2 -> + sym r_a r_b (x, y1) (x, y2) + +/// sym is a subrelation of non-dependent lex + +let sym_sub_lex (#a:Type u#a) + (#b:Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:binrel u#b u#rb b) + (t1 t2:a & b) + (p:sym r_a r_b t1 t2) + : lex_t_non_dep r_a r_b t1 t2 + = match p with + | Left_sym x1 x2 y p -> + Left_lex #a #(fun _ -> b) #r_a #(fun _ -> r_b) x1 x2 y y p + | Right_sym x y1 y2 p -> + Right_lex #a #(fun _ -> b) #r_a #(fun _ -> r_b) x y1 y2 p + + +/// Theorem for symmetric product +/// +let sym_wf (#a:Type u#a) + (#b:Type u#b) + (#r_a:binrel u#a u#ra a) + (#r_b:binrel u#b u#rb b) + (wf_a:well_founded r_a) + (wf_b:well_founded r_b) + : well_founded (sym r_a r_b) + = subrelation_wf sym_sub_lex (lex_t_non_dep_wf wf_a wf_b) diff --git a/stage0/ulib/FStar.List.Pure.Base.fst b/stage0/ulib/FStar.List.Pure.Base.fst new file mode 100644 index 00000000000..1c0f58ddcca --- /dev/null +++ b/stage0/ulib/FStar.List.Pure.Base.fst @@ -0,0 +1,70 @@ +(* + 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.List.Pure.Base + +open FStar.List.Tot.Base + +(** Functions on list with a pure specification *) + +(** [map2] takes a pair of list of the same length [x1; ...; xn] [y1; ... ; yn] + and return the list [f x1 y1; ... ; f xn yn] *) +val map2 (#a1 #a2 #b: Type) + (f: a1 -> a2 -> b) + (l1:list a1) + (l2:list a2) + : Pure (list b) + (requires (length l1 == length l2)) + (ensures (fun _ -> True)) + (decreases l1) +let rec map2 #a1 #a2 #b f l1 l2 = + match l1, l2 with + | [], [] -> [] + | x1::xs1, x2::xs2 -> f x1 x2 :: map2 f xs1 xs2 + +(** [map3] takes three lists of the same length [x1; ...; xn] + [y1; ... ; yn] [z1; ... ; zn] and return the list + [f x1 y1 z1; ... ; f xn yn zn] *) +val map3 (#a1 #a2 #a3 #b: Type) + (f: a1 -> a2 -> a3 -> b) + (l1:list a1) + (l2:list a2) + (l3:list a3) + : Pure (list b) + (requires (let n = length l1 in + (n == length l2 /\ + n == length l3))) + (ensures (fun _ -> True)) + (decreases l1) +let rec map3 #a1 #a2 #a3 #b f l1 l2 l3 = + match l1, l2, l3 with + | [], [], [] -> [] + | x1::xs1, x2::xs2, x3::xs3 -> f x1 x2 x3 :: map3 f xs1 xs2 xs3 + +(** [zip] takes a pair of list of the same length and returns + the list of index-wise pairs *) +val zip (#a1 #a2:Type) (l1:list a1) (l2:list a2) + : Pure (list (a1 & a2)) + (requires (let n = length l1 in n == length l2)) + (ensures (fun _ -> True)) +let zip #a1 #a2 l1 l2 = map2 (fun x y -> x, y) l1 l2 + +(** [zip3] takes a 3-tuple of list of the same length and returns + the list of index-wise 3-tuples *) +val zip3 (#a1 #a2 #a3:Type) (l1:list a1) (l2:list a2) (l3:list a3) + : Pure (list (a1 & a2 & a3)) + (requires (let n = length l1 in n == length l2 /\ n == length l3)) + (ensures (fun _ -> True)) +let zip3 #a1 #a2 #a3 l1 l2 l3 = map3 (fun x y z -> x,y,z) l1 l2 l3 diff --git a/stage0/ulib/FStar.List.Pure.Properties.fst b/stage0/ulib/FStar.List.Pure.Properties.fst new file mode 100644 index 00000000000..6224666d77d --- /dev/null +++ b/stage0/ulib/FStar.List.Pure.Properties.fst @@ -0,0 +1,275 @@ +(* + 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.List.Pure.Properties + +open FStar.List.Tot.Base +open FStar.List.Pure.Base +open FStar.List.Tot.Properties + +(** Properties of splitAt *) + +let rec splitAt_length + (#a:Type) + (n:nat) + (l:list a) + : Lemma (requires True) + (ensures begin + let l_1, l_2 = splitAt n l in + if length l < n then + length l_1 == length l /\ length l_2 == 0 + else + length l_1 == n /\ length l_2 = length l - n + end) + (decreases n) += + if n = 0 then () + else + match l with + | [] -> () + | _::xs -> splitAt_length (n-1) xs + +let rec splitAt_assoc + (#a:Type) + (n1 n2:nat) + (l:list a) + : Lemma (requires True) + (ensures begin + let l1, l2 = splitAt n1 l in + let l2, l3 = splitAt n2 l2 in + let l1', l2' = splitAt (n1+n2) l in + l1' == l1 @ l2 /\ l2' == l3 + end) + (decreases n1) += + if n1 = 0 then () + else + match l with + | [] -> () + | x :: xs -> splitAt_assoc (n1-1) n2 xs + + +let rec splitAt_length_total (#a:Type) (l:list a) + : Lemma (requires True) (ensures (splitAt (length l) l == (l, []))) (decreases l) += + match l with + | [] -> () + | x :: xs -> splitAt_length_total xs + + +(** If we [append] the two lists produced using a [splitAt], then we + get back the original list *) +let rec lemma_splitAt_append (#a:Type) (n:nat) (l:list a) : + Lemma + (requires n <= length l) + (ensures (let l1, l2 = splitAt n l in + append l1 l2 == l /\ length l1 = n)) = + match n with + | 0 -> () + | _ -> + match l with + | [] -> () + | x :: xs -> lemma_splitAt_append (n-1) xs + + +(** If we [splitAt] the point at which two lists have been [append]ed, then we + get back the original lists. *) +let rec lemma_append_splitAt (#t:Type) (l1 l2:list t) : + Lemma + (ensures (splitAt (length l1) (append l1 l2) == (l1, l2))) = + match l1 with + | [] -> () + | _ -> lemma_append_splitAt (tl l1) l2 + + +(** Fully characterize behavior of [splitAt] in terms of more standard list concepts *) +let lemma_splitAt (#t: Type) (l l1 l2:list t) (n:nat{n <= length l}) : + Lemma (splitAt n l == (l1, l2) <==> l == l1 @ l2 /\ length l1 = n) = + lemma_splitAt_append n l; + lemma_append_splitAt l1 l2 + + +(** The [hd] of the second list returned via [splitAt] is the [n]th element of + the original list *) +let rec lemma_splitAt_index_hd (#t:Type) (n:nat) (l:list t) : + Lemma + (requires (n < length l)) + (ensures (let l1, l2 = splitAt n l in + splitAt_length n l; + length l2 > 0 /\ hd l2 == index l n)) = + let x :: xs = l in + match n with + | 0 -> () + | _ -> lemma_splitAt_index_hd (n - 1) (tl l) + + +(** If two lists have the same left prefix, then shorter left prefixes are + also the same. *) +let rec lemma_splitAt_shorten_left + (#t:Type) (l1 l2:list t) (i:nat{i <= length l1 /\ i <= length l2}) (j:nat{j <= i}) : + Lemma + (requires (fst (splitAt i l1) == fst (splitAt i l2))) + (ensures (fst (splitAt j l1) == fst (splitAt j l2))) = + match j with + | 0 -> () + | _ -> + lemma_splitAt_shorten_left (tl l1) (tl l2) (i-1) (j-1) + +(** Doing an [index] on the left-part of a [splitAt] is same as doing it on + the original list *) +let rec lemma_splitAt_reindex_left (#t:Type) (i:nat) (l:list t) (j:nat) : + Lemma + (requires i <= length l /\ j < i) + (ensures ( + let left, right = splitAt i l in + splitAt_length i l; + j < length left /\ index left j == index l j)) = + match i, j with + | 1, _ | _, 0 -> () + | _ -> lemma_splitAt_reindex_left (i - 1) (tl l) (j - 1) + + +(** Doing an [index] on the right-part of a [splitAt] is same as doing it on + the original list, but shifted *) +let rec lemma_splitAt_reindex_right (#t:Type) (i:nat) (l:list t) (j:nat) : + Lemma + (requires i <= length l /\ j + i < length l) + (ensures ( + let left, right = splitAt i l in + splitAt_length i l; + j < length right /\ index right j == index l (j + i))) = + match i with + | 0 -> () + | _ -> lemma_splitAt_reindex_right (i - 1) (tl l) j + + +(** Properties of split3 *) + + +(** The 3 pieces returned via [split3] can be joined together via an + [append] and a [cons] *) +let lemma_split3_append (#t:Type) (l:list t) (n:nat{n < length l}) : + Lemma + (requires True) + (ensures ( + let a, b, c = split3 l n in + l == append a (b :: c))) = + lemma_splitAt_append n l + + +(** The middle element returned via [split3] is the [n]th [index]ed element *) +let lemma_split3_index (#t:Type) (l:list t) (n:nat{n < length l}) : + Lemma + (requires True) + (ensures ( + let a, b, c = split3 l n in + b == index l n)) = + lemma_splitAt_index_hd n l + + +(** The lengths of the left and right parts of a [split3] are as expected. *) +let lemma_split3_length (#t:Type) (l:list t) (n:nat{n < length l}) : + Lemma + (requires True) + (ensures ( + let a, b, c = split3 l n in + length a = n /\ length c = length l - n - 1)) = + splitAt_length n l + + +(** If we [split3] on lists with the same left prefix, we get the same + element and left prefix. *) +let lemma_split3_on_same_leftprefix + (#t:Type) (l1 l2:list t) (n:nat{n < length l1 /\ n < length l2}) : + Lemma + (requires (fst (splitAt (n+1) l1) == fst (splitAt (n+1) l2))) + (ensures (let a1, b1, c1 = split3 l1 n in + let a2, b2, c2 = split3 l2 n in + a1 == a2 /\ b1 == b2)) = + let a1, b1, c1 = split3 l1 n in + let a2, b2, c2 = split3 l2 n in + lemma_split3_append l1 n; + lemma_split3_append l2 n; + lemma_split3_length l1 n; + lemma_split3_length l2 n; + append_l_cons b1 c1 a1; + append_l_cons b2 c2 a2; + // assert ((a1 @ [b1]) @ c1 == l1); + // assert ((a2 @ [b2]) @ c2 == l2); + let x1, y1 = splitAt (n+1) l1 in + let x2, y2 = splitAt (n+1) l2 in + lemma_splitAt_append (n+1) l1; + lemma_splitAt_append (n+1) l2; + splitAt_length (n+1) l1; + splitAt_length (n+1) l2; + // assert (x1 @ y1 == (a1 @ [b1]) @ c1); + // assert (x2 @ y2 == (a2 @ [b2]) @ c2); + append_length_inv_head x1 y1 (append a1 [b1]) c1; + append_length_inv_head x2 y2 (append a2 [b2]) c2; + // assert (a1 @ [b1] == a2 @ [b2]); + append_length_inv_tail a1 [b1] a2 [b2]; + // assert (a1 == a2 /\ b1 == b2); + () + + +(** If we perform an [unsnoc] on a list, then the left part is the same + as an [append]+[cons] on the list after [split3]. *) +let rec lemma_split3_unsnoc (#t:Type) (l:list t) (n:nat{n < length l}) : + Lemma + (requires (n <> length l - 1)) + (ensures ( + let a, b, c = split3 l n in + lemma_split3_length l n; + length c > 0 /\ ( + let xs, x = unsnoc l in + let ys, y = unsnoc c in + append a (b :: ys) == xs))) = + match n with + | 0 -> () + | _ -> lemma_split3_unsnoc (tl l) (n-1) + + +(** Doing [unsnoc] and [split3] in either order leads to the same left + part, and element. *) +let lemma_unsnoc_split3 (#t:Type) (l:list t) (i:nat{i < length l}) : + Lemma + (requires (i <> length l - 1)) + (ensures ( + let xs, x = unsnoc l in + i < length xs /\ ( + let a0, b0, c0 = split3 l i in + let a1, b1, c1 = split3 xs i in + a0 == a1 /\ b0 == b1))) = + let xs, x = unsnoc l in + lemma_unsnoc_length l; + let a0, b0, c0 = split3 l i in + let a1, b1, c1 = split3 xs i in + splitAt_length_total xs; + // assert (fst (splitAt (length xs) xs) == xs); + // assert (fst (splitAt (length xs) xs) == fst (splitAt (length xs) l)); + // assert (i+1 <= length xs); + lemma_splitAt_shorten_left xs l (length xs) (i+1); + // assert (fst (splitAt (i+1) xs) == fst (splitAt (i+1) l)); + lemma_split3_on_same_leftprefix l xs i + +(** The head of the right side of a [split3] can be [index]ed from original list. *) +let rec lemma_split3_r_hd (#t:Type) (l:list t) (i:nat{i < length l}) : + Lemma + (ensures (let a, b, c = split3 l i in + lemma_split3_length l i; + length c > 0 ==> i + 1 < length l /\ hd c == index l (i + 1))) = + match i with + | 0 -> () + | _ -> lemma_split3_r_hd (tl l) (i - 1) diff --git a/stage0/ulib/FStar.List.Pure.fst b/stage0/ulib/FStar.List.Pure.fst new file mode 100644 index 00000000000..6fc75e241bd --- /dev/null +++ b/stage0/ulib/FStar.List.Pure.fst @@ -0,0 +1,20 @@ +(* + 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.List.Pure + +include FStar.List.Tot +include FStar.List.Pure.Base +include FStar.List.Pure.Properties diff --git a/stage0/ulib/FStar.List.Tot.Base.fst b/stage0/ulib/FStar.List.Tot.Base.fst new file mode 100644 index 00000000000..c08178e20ac --- /dev/null +++ b/stage0/ulib/FStar.List.Tot.Base.fst @@ -0,0 +1,572 @@ +(* + 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. +*) +(** +This module defines all pure and total operations on lists that can be +used in specifications. It is implemented by FStar_List_Tot_Base.ml, any +functional change and/or the addition of new functions MUST be reflected +there. + +@summary Pure total operations on lists +*) +module FStar.List.Tot.Base + +(** +Base operations +*) + +(** [isEmpty l] returns [true] if and only if [l] is empty *) +val isEmpty: list 'a -> Tot bool +let isEmpty l = match l with + | [] -> true + | _ -> false + +(** [hd l] returns the first element of [l]. Requires [l] to be +nonempty, at type-checking time. Named as in: OCaml, F#, Coq *) +val hd: l:list 'a{Cons? l} -> Tot 'a +let hd = function + | hd::_ -> hd + +(** [tail l] returns [l] without its first element. Requires, at +type-checking time, that [l] be nonempty. Similar to: tl in OCaml, F#, Coq +*) +val tail: l:list 'a {Cons? l} -> Tot (list 'a) +let tail = function + | _::tl -> tl + +(** [tl l] returns [l] without its first element. Requires, at +type-checking time, that [l] be nonempty. Named as in: OCaml, F#, Coq +*) +val tl: l:list 'a {Cons? l} -> Tot (list 'a) +let tl = tail + +(** [last l] returns the last element of [l]. Requires, at +type-checking time, that [l] be nonempty. Named as in: Haskell +*) +val last: l:list 'a {Cons? l} -> Tot 'a +let rec last = function + | [hd] -> hd + | _::tl -> last tl + +(** [init l] returns [l] without its last element. Requires, at +type-checking time, that [l] be nonempty. Named as in: Haskell +*) +val init: l:list 'a {Cons? l} -> Tot (list 'a) +let rec init = function + | [_] -> [] + | hd::tl -> hd::(init tl) + +(** [length l] returns the total number of elements in [l]. Named as +in: OCaml, F#, Coq *) +val length: list 'a -> Tot nat +let rec length = function + | [] -> 0 + | _::tl -> 1 + length tl + +(** [nth l n] returns the [n]-th element in list [l] (with the first +element being the 0-th) if [l] is long enough, or [None] +otherwise. Named as in: OCaml, F#, Coq *) +val nth: list 'a -> nat -> Tot (option 'a) +let rec nth l n = match l with + | [] -> None + | hd::tl -> if n = 0 then Some hd else nth tl (n - 1) + +(** [index l n] returns the [n]-th element in list [l] (with the first +element being the 0-th). Requires, at type-checking time, that [l] be +of length at least [n+1]. *) +val index: #a:Type -> l:list a -> i:nat{i < length l} -> Tot a +let rec index #a (l: list a) (i:nat{i < length l}): Tot a = + if i = 0 then + hd l + else + index (tl l) (i - 1) + +(** [count x l] returns the number of occurrences of [x] in +[l]. Requires, at type-checking time, the type of [a] to have equality +defined. Similar to: [List.count_occ] in Coq. *) +val count: #a:eqtype -> a -> list a -> Tot nat +let rec count #a x = function + | [] -> 0 + | hd::tl -> if x=hd then 1 + count x tl else count x tl + +(** [rev_acc l1 l2] appends the elements of [l1] to the beginning of +[l2], in reverse order. It is equivalent to [append (rev l1) l2], but +is tail-recursive. Similar to: [List.rev_append] in OCaml, Coq. *) +val rev_acc: list 'a -> list 'a -> Tot (list 'a) +let rec rev_acc l acc = match l with + | [] -> acc + | hd::tl -> rev_acc tl (hd::acc) + +(** [rev l] returns the list [l] in reverse order. Named as in: OCaml, +F#, Coq. *) +val rev: list 'a -> Tot (list 'a) +let rev l = rev_acc l [] + +(** [append l1 l2] appends the elements of [l2] to the end of [l1]. Named as: OCaml, F#. Similar to: [List.app] in Coq. *) +val append: list 'a -> list 'a -> Tot (list 'a) +let rec append x y = match x with + | [] -> y + | a::tl -> a::append tl y + +(** Defines notation [@@] for [append], as in OCaml, F# . *) +let op_At x y = append x y + +(** [snoc (l, x)] adds [x] to the end of the list [l]. + + Note: We use an uncurried [snoc (l, x)] instead of the curried + [snoc l x]. This is intentional. If [snoc] takes a pair instead + of 2 arguments, it allows for a better pattern on + [lemma_unsnoc_snoc], which connects [snoc] and [unsnoc]. In + particular, if we had two arguments, then either the pattern would + either be too restrictive or would lead to over-triggering. More + context for this can be seen in the (collapsed and uncollapsed) + comments at https://github.com/FStarLang/FStar/pull/1560 *) +val snoc: (list 'a & 'a) -> Tot (list 'a) +let snoc (l, x) = append l [x] + +(** [flatten l], where [l] is a list of lists, returns the list of the +elements of the lists in [l], preserving their order. Named as in: +OCaml, Coq. *) +val flatten: list (list 'a) -> Tot (list 'a) +let rec flatten l = match l with + | [] -> [] + | hd::tl -> append hd (flatten tl) + +(** [map f l] applies [f] to each element of [l] and returns the list +of results, in the order of the original elements in [l]. Requires, at +type-checking time, [f] to be a pure total function. Named as in: OCaml, Coq, F# *) +val map: ('a -> Tot 'b) -> list 'a -> Tot (list 'b) +let rec map f x = match x with + | [] -> [] + | a::tl -> f a::map f tl + +(** [mapi_init f l n] applies, for each [k], [f (n+k)] to the [k]-th +element of [l] and returns the list of results, in the order of the +original elements in [l]. Requires, at type-checking time, [f] to be a +pure total function. *) +val mapi_init: (int -> 'a -> Tot 'b) -> list 'a -> int -> Tot (list 'b) +let rec mapi_init f l i = match l with + | [] -> [] + | hd::tl -> (f i hd)::(mapi_init f tl (i+1)) + +(** [mapi f l] applies, for each [k], [f k] to the [k]-th element of +[l] and returns the list of results, in the order of the original +elements in [l]. Requires, at type-checking time, [f] to be a pure +total function. Named as in: OCaml *) +val mapi: (int -> 'a -> Tot 'b) -> list 'a -> Tot (list 'b) +let mapi f l = mapi_init f l 0 + +(** [concatMap f l] applies [f] to each element of [l] and returns the +concatenation of the results, in the order of the original elements of +[l]. This is equivalent to [flatten (map f l)]. Requires, at +type-checking time, [f] to be a pure total function. *) +val concatMap: ('a -> Tot (list 'b)) -> list 'a -> Tot (list 'b) +let rec concatMap f = function + | [] -> [] + | a::tl -> + let fa = f a in + let ftl = concatMap f tl in + append fa ftl + +(** [fold_left f x [y1; y2; ...; yn]] computes (f (... (f x y1) y2) +... yn). Requires, at type-checking time, [f] to be a pure total +function. Named as in: OCaml, Coq. *) +val fold_left: ('a -> 'b -> Tot 'a) -> 'a -> l:list 'b -> Tot 'a (decreases l) +let rec fold_left f x l = match l with + | [] -> x + | hd::tl -> fold_left f (f x hd) tl + +(** [fold_right f [x1; x2; ...; xn] y] computes (f x1 (f x2 (... (f xn +y)) ... )). Requires, at type-checking time, [f] to be a pure total +function. Named as in: OCaml, Coq *) +val fold_right: ('a -> 'b -> Tot 'b) -> list 'a -> 'b -> Tot 'b +let rec fold_right f l x = match l with + | [] -> x + | hd::tl -> f hd (fold_right f tl x) + +(** [fold_right_gtot] is just like [fold_right], except `f` is + a ghost function **) +let rec fold_right_gtot (#a:Type) (#b:Type) (l:list a) (f:a -> b -> GTot b) (x:b) + : GTot b + = match l with + | [] -> x + | hd::tl -> f hd (fold_right_gtot tl f x) + +(* We define map in terms of fold, to share simple lemmas *) +let map_gtot #a #b (f:a -> GTot b) (x:list a) + : GTot (list b) + = fold_right_gtot x (fun x tl -> f x :: tl) [] + +(** [fold_left2 f x [y1; y2; ...; yn] [z1; z2; ...; zn]] computes (f +(... (f x y1 z1) y2 z2) ... yn zn). Requires, at type-checking time, +[f] to be a pure total function, and the lists [y1; y2; ...; yn] and +[z1; z2; ...; zn] to have the same lengths. Named as in: OCaml *) +val fold_left2 : f:('a -> 'b -> 'c -> Tot 'a) -> accu:'a -> l1:(list 'b) -> l2:(list 'c) -> + Pure 'a (requires (length l1 == length l2)) (ensures (fun _ -> True)) (decreases l1) +let rec fold_left2 f accu l1 l2 = + match (l1, l2) with + | ([], []) -> accu + | (a1::l1, a2::l2) -> fold_left2 f (f accu a1 a2) l1 l2 + +(** Propositional membership (as in Coq). Does not require decidable +equality. *) + +(** [memP x l] holds if, and only if, [x] appears as an +element of [l]. Similar to: List.In in Coq. *) +let rec memP (#a: Type) (x: a) (l: list a) : Tot Type0 = + match l with + | [] -> False + | y :: q -> x == y \/ memP x q + +(** List searching **) + +(** [mem x l] returns [true] if, and only if, [x] appears as an +element of [l]. Requires, at type-checking time, the type of elements +of [l] to have decidable equality. Named as in: OCaml. See also: +List.In in Coq, which is propositional. *) +val mem: #a:eqtype -> a -> list a -> Tot bool +let rec mem #a x = function + | [] -> false + | hd::tl -> if hd = x then true else mem x tl + +(** [contains x l] returns [true] if, and only if, [x] appears as an +element of [l]. Requires, at type-checking time, the type of elements +of [l] to have decidable equality. It is equivalent to: [mem x +l]. TODO: should we rather swap the order of arguments? *) +let contains : #a:eqtype -> a -> list a -> Tot bool = mem + +(** [existsb f l] returns [true] if, and only if, there exists some +element [x] in [l] such that [f x] holds. *) +val existsb: #a:Type + -> f:(a -> Tot bool) + -> list a + -> Tot bool +let rec existsb #a f l = match l with + | [] -> false + | hd::tl -> if f hd then true else existsb f tl + +(** [find f l] returns [Some x] for some element [x] appearing in [l] +such that [f x] holds, or [None] only if no such [x] exists. *) +val find: #a:Type + -> f:(a -> Tot bool) + -> list a + -> Tot (option (x:a{f x})) +let rec find #a f l = match l with + | [] -> None #(x:a{f x}) //These type annotations are only present because it makes bootstrapping go much faster + | hd::tl -> if f hd then Some #(x:a{f x}) hd else find f tl + +(** Filtering elements of a list [l] through a Boolean pure total +predicate [f] *) + +(** [filter f l] returns [l] with all elements [x] such that [f x] +does not hold removed. Requires, at type-checking time, [f] to be a +pure total function. Named as in: OCaml, Coq *) +val filter : #a: Type -> f:(a -> Tot bool) -> l: list a -> Tot (list a) +let rec filter #a f = function + | [] -> [] + | hd::tl -> if f hd then hd::filter f tl else filter f tl + +(** Postcondition on [filter f l]: for any element [x] of [filter f l], +[x] is a member of [l] and [f x] holds. Requires, at type-checking time, +[f] to be a pure total function.*) +let rec mem_filter (#a: Type) (f: (a -> Tot bool)) (l: list a) (x: a) + : Lemma (memP x (filter f l) <==> memP x l /\ f x) = + match l with + | [] -> () + | hd :: tl -> mem_filter f tl x + +(** Postcondition on [filter f l]: stated with [forall]: for any element +[x] of [filter f l], [x] is a member of [l] and [f x] holds. Requires, +at type-checking time, [f] to be a pure total function.*) +let mem_filter_forall (#a: Type) (f: (a -> Tot bool)) (l: list a) + : Lemma (forall x. memP x (filter f l) <==> memP x l /\ f x) + [SMTPat (filter f l)] = + introduce forall x . memP x (filter f l) <==> memP x l /\ f x + with mem_filter f l x + +(** [for_all f l] returns [true] if, and only if, for all elements [x] +appearing in [l], [f x] holds. Requires, at type-checking time, [f] to +be a pure total function. Named as in: OCaml. Similar to: List.forallb +in Coq *) +val for_all: ('a -> Tot bool) -> list 'a -> Tot bool +let rec for_all f l = match l with + | [] -> true + | hd::tl -> if f hd then for_all f tl else false + +(** Specification for [for_all f l] vs. mem *) +let rec for_all_mem + (#a: Type) + (f: (a -> Tot bool)) + (l: list a) +: Lemma + (for_all f l <==> (forall x . memP x l ==> f x)) += match l with + | [] -> () + | _ :: q -> for_all_mem f q + +(** [collect f l] applies [f] to each element of [l] and returns the +concatenation of the results, in the order of the original elements of +[l]. It is equivalent to [flatten (map f l)]. Requires, at +type-checking time, [f] to be a pure total function. TODO: what is +the difference with [concatMap]? *) +val collect: ('a -> Tot (list 'b)) -> list 'a -> Tot (list 'b) +let rec collect f l = match l with + | [] -> [] + | hd::tl -> append (f hd) (collect f tl) + +(** [tryFind f l] returns [Some x] for some element [x] appearing in +[l] such that [f x] holds, or [None] only if no such [x] +exists. Requires, at type-checking time, [f] to be a pure total +function. Contrary to [find], [tryFind] provides no postcondition on +its result. *) +val tryFind: ('a -> Tot bool) -> list 'a -> Tot (option 'a) +let rec tryFind p l = match l with + | [] -> None + | hd::tl -> if p hd then Some hd else tryFind p tl + +(** [tryPick f l] returns [y] for some element [x] appearing in [l] +such that [f x = Some y] for some y, or [None] only if [f x = None] +for all elements [x] of [l]. Requires, at type-checking time, [f] to +be a pure total function. *) +val tryPick: ('a -> Tot (option 'b)) -> list 'a -> Tot (option 'b) +let rec tryPick f l = match l with + | [] -> None + | hd::tl -> + match f hd with + | Some x -> Some x + | None -> tryPick f tl + +(** [choose f l] returns the list of [y] for all elements [x] +appearing in [l] such that [f x = Some y] for some [y]. Requires, at +type-checking time, [f] to be a pure total function. *) +val choose: ('a -> Tot (option 'b)) -> list 'a -> Tot (list 'b) +let rec choose f l = match l with + | [] -> [] + | hd::tl -> + match f hd with + | Some x -> x::(choose f tl) + | None -> choose f tl + +(** [partition f l] returns the pair of lists [(l1, l2)] where all +elements [x] of [l] are in [l1] if [f x] holds, and in [l2] +otherwise. Both [l1] and [l2] retain the original order of +[l]. Requires, at type-checking time, [f] to be a pure total +function. *) +val partition: f:('a -> Tot bool) -> list 'a -> Tot (list 'a & list 'a) +let rec partition f = function + | [] -> [], [] + | hd::tl -> + let l1, l2 = partition f tl in + if f hd + then hd::l1, l2 + else l1, hd::l2 + +(** [subset la lb] is true if and only if all the elements from [la] + are also in [lb]. Requires, at type-checking time, the type of + elements of [la] and [lb] to have decidable equality. *) +val subset: #a:eqtype -> list a -> list a -> Tot bool +let rec subset #a la lb = + match la with + | [] -> true + | h :: tl -> mem h lb && subset tl lb + +(** [noRepeats l] returns [true] if, and only if, no element of [l] +appears in [l] more than once. Requires, at type-checking time, the +type of elements of [la] and [lb] to have decidable equality. *) +val noRepeats : #a:eqtype -> list a -> Tot bool +let rec noRepeats #a la = + match la with + | [] -> true + | h :: tl -> not(mem h tl) && noRepeats tl + + +(** [no_repeats_p l] valid if, and only if, no element of [l] +appears in [l] more than once. *) +val no_repeats_p : #a:Type -> list a -> Tot prop +let rec no_repeats_p #a la = + match la with + | [] -> True + | h :: tl -> ~(memP h tl) /\ no_repeats_p tl + +(** List of tuples **) + +(** [assoc x l] returns [Some y] where [(x, y)] is the first element +of [l] whose first element is [x], or [None] only if no such element +exists. Requires, at type-checking time, the type of [x] to have +decidable equality. Named as in: OCaml. *) +val assoc: #a:eqtype -> #b:Type -> a -> list (a & b) -> Tot (option b) +let rec assoc #a #b x = function + | [] -> None + | (x', y)::tl -> if x=x' then Some y else assoc x tl + +(** [split] takes a list of pairs [(x1, y1), ..., (xn, yn)] and +returns the pair of lists ([x1, ..., xn], [y1, ..., yn]). Named as in: +OCaml *) +val split: list ('a & 'b) -> Tot (list 'a & list 'b) +let rec split l = match l with + | [] -> ([],[]) + | (hd1,hd2)::tl -> + let (tl1,tl2) = split tl in + (hd1::tl1,hd2::tl2) + +(** [unzip] takes a list of pairs [(x1, y1), ..., (xn, yn)] and +returns the pair of lists ([x1, ..., xn], [y1, ..., yn]). Named as in: +Haskell *) +let unzip l = split l + +(** [unzip3] takes a list of triples [(x1, y1, z1), ..., (xn, yn, zn)] +and returns the triple of lists ([x1, ..., xn], [y1, ..., yn], [z1, +..., zn]). Named as in: Haskell *) +val unzip3: list ('a & 'b & 'c) -> Tot (list 'a & list 'b & list 'c) +let rec unzip3 l = match l with + | [] -> ([],[],[]) + | (hd1,hd2,hd3)::tl -> + let (tl1,tl2,tl3) = unzip3 tl in + (hd1::tl1,hd2::tl2,hd3::tl3) + +(** Splitting a list at some index **) + +(** [splitAt] takes a natural number n and a list and returns a pair + of the maximal prefix of l of size smaller than n and the rest of + the list *) +let rec splitAt (#a:Type) (n:nat) (l:list a) : Tot (list a & list a) = + if n = 0 then [], l + else + match l with + | [] -> [], l + | x :: xs -> let l1, l2 = splitAt (n-1) xs in x :: l1, l2 + +let rec lemma_splitAt_snd_length (#a:Type) (n:nat) (l:list a) : + Lemma + (requires (n <= length l)) + (ensures (length (snd (splitAt n l)) = length l - n)) = + match n, l with + | 0, _ -> () + | _, [] -> () + | _, _ :: l' -> lemma_splitAt_snd_length (n - 1) l' + +(** [unsnoc] is an inverse of [snoc]. It splits a list into + all-elements-except-last and last element. *) +val unsnoc: #a:Type -> l:list a{length l > 0} -> Tot (list a & a) +let unsnoc #a l = + let l1, l2 = splitAt (length l - 1) l in + lemma_splitAt_snd_length (length l - 1) l; + l1, hd l2 + +(** [split3] splits a list into 3 parts. This allows easy access to + the part of the list before and after the element, as well as the + element itself. *) +val split3: #a:Type -> l:list a -> i:nat{i < length l} -> Tot (list a & a & list a) +let split3 #a l i = + let a, rest = splitAt i l in + lemma_splitAt_snd_length i l; + let b :: c = rest in + a, b, c + +(** Sorting (implemented as quicksort) **) + +(** [partition] splits a list [l] into two lists, the sum of whose +lengths is the length of [l]. *) +val partition_length: f:('a -> Tot bool) + -> l:list 'a + -> Lemma (requires True) + (ensures (length (fst (partition f l)) + + length (snd (partition f l)) = length l)) +let rec partition_length f l = match l with + | [] -> () + | hd::tl -> partition_length f tl + +(** [bool_of_compare] turns a comparison function into a strict + order. More precisely, [bool_of_compare compare x y] returns true + if, and only if, [compare x y] is negative, meaning [x] precedes + [y] in the ordering defined by compare. + + This is used in sorting, and is defined to be consistent with + OCaml and F#, where sorting is performed in ascending order. +*) +val bool_of_compare : #a:Type -> (a -> a -> Tot int) -> a -> a -> Tot bool +let bool_of_compare #a f x y = f x y < 0 + +(** [compare_of_bool] turns a strict order into a comparison +function. More precisely, [compare_of_bool rel x y] returns a positive +number if, and only if, x `rel` y holds. Inspired from OCaml, where +polymorphic comparison using both the [compare] function and the (>) +infix operator are such that [compare x y] is positive if, and only +if, x > y. Requires, at type-checking time, [rel] to be a pure total +function. *) +val compare_of_bool : #a:eqtype -> (a -> a -> Tot bool) -> a -> a -> Tot int +let compare_of_bool #a rel x y = + if x `rel` y then -1 + else if x = y then 0 + else 1 + +let compare_of_bool_of_compare (#a:eqtype) (f:a -> a -> Tot bool) + : Lemma (forall x y. bool_of_compare (compare_of_bool f) x y == f x y) + = () + +(** [sortWith compare l] returns the list [l'] containing the elements + of [l] sorted along the comparison function [compare], in such a + way that if [compare x y > 0], then [x] appears before [y] in + [l']. Sorts in ascending order *) +val sortWith: ('a -> 'a -> Tot int) -> l:list 'a -> Tot (list 'a) (decreases (length l)) +let rec sortWith f = function + | [] -> [] + | pivot::tl -> + let hi, lo = partition (bool_of_compare f pivot) tl in + partition_length (bool_of_compare f pivot) tl; + append (sortWith f lo) (pivot::sortWith f hi) + +(** A l1 is a strict suffix of l2. *) +let rec strict_suffix_of (#a: Type) (l1 l2: list a) +: Pure Type0 + (requires True) + (ensures (fun _ -> True)) + (decreases l2) += match l2 with + | [] -> False + | _ :: q -> l1 == q \/ l1 `strict_suffix_of` q + +[@@deprecated "This function was misnamed: Please use 'strict_suffix_of'"] +let strict_prefix_of = strict_suffix_of + +val list_unref : #a:Type -> #p:(a -> Type0) -> list (x:a{p x}) -> Tot (list a) +let rec list_unref #a #p l = + match l with + | [] -> [] + | x::xs -> x :: list_unref xs + +val list_refb: #a:eqtype -> #p:(a -> Tot bool) -> + l:list a { for_all p l } -> + Tot (l':list (x:a{ p x }) { + length l = length l' /\ + (forall i. {:pattern (index l i) } index l i = index l' i) }) +let rec list_refb #a #p l = + match l with + | hd :: tl -> hd :: list_refb #a #p tl + | [] -> [] + +val list_ref: #a:eqtype -> #p:(a -> Tot prop) -> l:list a { + forall x. {:pattern mem x l} mem x l ==> p x +} -> Tot (l':list (x:a{ p x }) { + length l = length l' /\ + (forall i. {:pattern (index l i) } index l i = index l' i) }) +let rec list_ref #a #p l = + match l with + | hd :: tl -> + assert (mem hd l); + assert (p hd); + assert (forall x. {:pattern mem x tl} mem x tl ==> mem x l); + hd :: list_ref #a #p tl + | [] -> [] diff --git a/stage0/ulib/FStar.List.Tot.Properties.fst b/stage0/ulib/FStar.List.Tot.Properties.fst new file mode 100644 index 00000000000..08fa9dffeac --- /dev/null +++ b/stage0/ulib/FStar.List.Tot.Properties.fst @@ -0,0 +1,1021 @@ +(* + 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. +*) +(** +This module states and proves some properties about pure and total +operations on lists. + +@summary Properties of pure total operations on lists +*) +module FStar.List.Tot.Properties +open FStar.List.Tot.Base + +(** Properties about mem **) + +(** Correctness of [mem] for types with decidable equality. TODO: +replace [mem] with [memP] in relevant lemmas and define the right +SMTPat to automatically recover lemmas about [mem] for types with +decidable equality *) +let rec mem_memP + (#a: eqtype) + (x: a) + (l: list a) +: Lemma (ensures (mem x l <==> memP x l)) + [SMTPat (mem x l); SMTPat (memP x l)] += match l with + | [] -> () + | a :: q -> mem_memP x q + +(** If an element can be [index]ed, then it is a [memP] of the list. *) +let rec lemma_index_memP (#t:Type) (l:list t) (i:nat{i < length l}) : + Lemma + (ensures (index l i `memP` l)) + [SMTPat (index l i `memP` l)] = + match i with + | 0 -> () + | _ -> lemma_index_memP (tl l) (i - 1) + +(** The empty list has no elements. *) +let memP_empty #a x = () + +(** Full specification for [existsb]: [existsb f xs] holds if, and +only if, there exists an element [x] of [xs] such that [f x] holds. *) +let rec memP_existsb #a f xs = + match xs with + | [] -> () + | hd::tl -> memP_existsb f tl + +let rec memP_map_intro + (#a #b: Type) + (f: a -> Tot b) + (x: a) + (l: list a) +: Lemma + (requires True) + (ensures (memP x l ==> memP (f x) (map f l))) + (decreases l) += match l with + | [] -> () + | _ :: q -> memP_map_intro f x q (* NOTE: would fail if [requires memP x l] instead of [ ==> ] *) + +let rec memP_map_elim + (#a #b: Type) + (f: a -> Tot b) + (y: b) + (l: list a) +: Lemma + (requires True) + (ensures (memP y (map f l) ==> (exists (x : a) . memP x l /\ f x == y))) + (decreases l) += match l with + | [] -> () + | _ :: q -> memP_map_elim f y q + +(** The empty list has no elements *) +let mem_empty #a x = () + +(** Full specification for [existsb]: [existsb f xs] holds if, and +only if, there exists an element [x] of [xs] such that [f x] holds. *) +let rec mem_existsb #a f xs = + match xs with + | [] -> () + | hd::tl -> mem_existsb f tl + +let rec mem_count + (#a: eqtype) + (l: list a) + (x: a) +: Lemma + (mem x l <==> count x l > 0) += match l with + | [] -> () + | x' :: l' -> mem_count l' x + +(** Properties about rev **) + +let rec rev_acc_length l acc = match l with + | [] -> () + | hd::tl -> rev_acc_length tl (hd::acc) + +let rev_length l = rev_acc_length l [] + +let rec rev_acc_memP #a l acc x = match l with + | [] -> () + | hd::tl -> rev_acc_memP tl (hd::acc) x + +(** A list and its reversed have the same elements *) +let rev_memP #a l x = rev_acc_memP l [] x + +let rev_mem l x = rev_memP l x + +(** Properties about append **) + +let append_nil_l l = () + +let rec append_l_nil = function + | [] -> () + | hd::tl -> append_l_nil tl + +let append_cons_l hd tl l = () + +let rec append_l_cons hd tl l = match l with + | [] -> () + | hd'::tl' -> append_l_cons hd tl tl' + +let rec append_assoc l1 l2 l3 = match l1 with + | [] -> () + | hd::tl -> append_assoc tl l2 l3 + +let rec append_length l1 l2 = match l1 with + | [] -> () + | hd::tl -> append_length tl l2 + +let rec append_mem #t l1 l2 a = match l1 with + | [] -> () + | hd::tl -> append_mem tl l2 a + +let rec append_memP #t l1 l2 a = match l1 with + | [] -> () + | hd::tl -> append_memP tl l2 a + + +let rec append_mem_forall #a l1 l2 = match l1 with + | [] -> () + | hd::tl -> append_mem_forall tl l2 + +let rec append_memP_forall #a l1 l2 = match l1 with + | [] -> () + | hd::tl -> append_memP_forall tl l2 + + +let rec append_count #t l1 l2 a = match l1 with + | [] -> () + | hd::tl -> append_count tl l2 a + +let rec append_count_forall #a l1 l2 = match l1 with + | [] -> () + | hd::tl -> append_count_forall tl l2 + +let append_eq_nil l1 l2 = () + +let append_eq_singl l1 l2 x = () + +let rec append_inv_head l l1 l2 = match l with + | [] -> () + | hd::tl -> append_inv_head tl l1 l2 + +let rec append_inv_tail l l1 l2 = match l1, l2 with + | [], [] -> () + | hd1::tl1, hd2::tl2 -> append_inv_tail l tl1 tl2 + | [], hd2::tl2 -> + (match l with + | [] -> () + | hd::tl -> append_l_cons hd tl tl2; append_inv_tail tl [] (tl2@[hd]) + (* We can here apply the induction hypothesis thanks to termination on a lexicographical ordering of the arguments! *) + ) + | hd1::tl1, [] -> + (match l with + | [] -> () + | hd::tl -> append_l_cons hd tl tl1; append_inv_tail tl (tl1@[hd]) [] + (* Idem *) + ) + +let rec append_length_inv_head + (#a: Type) + (left1 right1 left2 right2: list a) +: Lemma + (requires (append left1 right1 == append left2 right2 /\ length left1 == length left2)) + (ensures (left1 == left2 /\ right1 == right2)) + (decreases left1) += match left1 with + | [] -> () + | _ :: left1' -> + append_length_inv_head left1' right1 (tl left2) right2 + +let append_length_inv_tail + (#a: Type) + (left1 right1 left2 right2: list a) +: Lemma + (requires (append left1 right1 == append left2 right2 /\ length right1 == length right2)) + (ensures (left1 == left2 /\ right1 == right2)) += append_length left1 right1; + append_length left2 right2; + append_length_inv_head left1 right1 left2 right2 + +let append_injective #a (l0 l0':list a) + (l1 l1':list a) + : Lemma + (ensures + (length l0 == length l0' \/ length l1 == length l1') /\ + append l0 l1 == append l0' l1' ==> + l0 == l0' /\ l1 == l1') + = introduce + ((length l0 == length l0' \/ length l1 == length l1') /\ + append l0 l1 == append l0' l1') + ==> + (l0 == l0' /\ l1 == l1') + with _. eliminate (length l0 == length l0') \/ + (length l1 == length l1') + returns _ + with _. append_length_inv_head l0 l1 l0' l1' + and _. append_length_inv_tail l0 l1 l0' l1' + +(** The [last] element of a list remains the same, even after that list is + [append]ed to another list. *) +let rec lemma_append_last (#a:Type) (l1 l2:list a) : + Lemma + (requires (length l2 > 0)) + (ensures (last (l1 @ l2) == last l2)) = + match l1 with + | [] -> () + | _ :: l1' -> lemma_append_last l1' l2 + +(** Properties mixing rev and append **) + +let rec rev_acc_rev' l acc = match l with + | [] -> () + | hd::tl -> rev_acc_rev' tl (hd::acc); append_l_cons hd acc (rev' tl) + +let rev_rev' l = rev_acc_rev' l []; append_l_nil (rev' l) + +let rec rev'_append l1 l2 = match l1 with + | [] -> append_l_nil (rev' l2) + | hd::tl -> rev'_append tl l2; append_assoc (rev' l2) (rev' tl) [hd] + +let rev_append l1 l2 = rev_rev' l1; rev_rev' l2; rev_rev' (l1@l2); rev'_append l1 l2 + +let rec rev'_involutive = function + | [] -> () + | hd::tl -> rev'_append (rev' tl) [hd]; rev'_involutive tl + +let rev_involutive l = rev_rev' l; rev_rev' (rev' l); rev'_involutive l + +(** Properties about snoc *) + +let lemma_snoc_length (l, x) = append_length l [x] + +(** Reverse induction principle **) + +let rec rev'_list_ind p = function + | [] -> () + | hd::tl -> rev'_list_ind p tl + +let rev_ind p l = rev'_involutive l; rev'_list_ind p (rev' l) + +(** Properties about iterators **) + +let rec map_lemma f l = + match l with + | [] -> () + | h::t -> map_lemma f t + +(** Properties about unsnoc *) + +(** [unsnoc] is the inverse of [snoc] *) +let lemma_unsnoc_snoc #a l = + let l', x = unsnoc l in + let l1, l2 = l', [x] in + lemma_splitAt_snd_length (length l - 1) l; + // assert ((l1, l2) == splitAt (length l - 1) l); + let rec aux (l:list a{length l > 0}) : + Lemma (let l1, l2 = splitAt (length l - 1) l in + append l1 l2 == l) = + if length l = 1 then () else aux (tl l) in + aux l + +(** [snoc] is the inverse of [unsnoc] *) +let rec lemma_snoc_unsnoc #a lx : Lemma (ensures unsnoc (snoc lx) == lx) (decreases (length (fst lx)))= + let l, x = lx in + match l with + | [] -> () + | _ -> lemma_snoc_unsnoc (tl l, x) + +(** Doing an [unsnoc] gives us a list that is shorter in length by 1 *) +let lemma_unsnoc_length #a l = + lemma_snoc_length (unsnoc l) + +(** [unsnoc] followed by [append] can be connected to the same vice-versa. *) +let rec lemma_unsnoc_append (#a:Type) (l1 l2:list a) : + Lemma + (requires (length l2 > 0)) // the [length l2 = 0] is trivial + (ensures ( + let al, a = unsnoc (l1 @ l2) in + let bl, b = unsnoc l2 in + al == l1 @ bl /\ a == b)) = + match l1 with + | [] -> () + | _ :: l1' -> lemma_unsnoc_append l1' l2 + +(** [unsnoc] gives you [last] element, which is [index]ed at [length l - 1] *) +let rec lemma_unsnoc_is_last (#t:Type) (l:list t) : + Lemma + (requires (length l > 0)) + (ensures (snd (unsnoc l) == last l /\ snd (unsnoc l) == index l (length l - 1))) = + match l with + | [_] -> () + | _ -> lemma_unsnoc_is_last (tl l) + +(** [index]ing on the left part of an [unsnoc]d list is the same as indexing + the original list. *) +let rec lemma_unsnoc_index (#t:Type) (l:list t) (i:nat) : + Lemma + (requires (length l > 0 /\ i < length l - 1)) + (ensures ( + i < length (fst (unsnoc l)) /\ + index (fst (unsnoc l)) i == index l i)) = + match i with + | 0 -> () + | _ -> lemma_unsnoc_index (tl l) (i - 1) + +(** Definition and properties about [split_using] *) + +let rec lemma_split_using (#t:Type) (l:list t) (x:t{x `memP` l}) : + Lemma + (ensures ( + let l1, l2 = split_using l x in + length l2 > 0 /\ + ~(x `memP` l1) /\ + hd l2 == x /\ + append l1 l2 == l)) = + match l with + | [_] -> () + | a :: rest -> + let goal = + let l1, l2 = split_using l x in + length l2 > 0 /\ + ~(x `memP` l1) /\ + hd l2 == x /\ + append l1 l2 == l + in + FStar.Classical.or_elim + #_ #_ + #(fun () -> goal) + (fun (_:squash (a == x)) -> ()) + (fun (_:squash (x `memP` rest)) -> lemma_split_using rest x) + +(** Properties about partition **) + +(** If [partition f l = (l1, l2)], then for any [x], [x] is in [l] if +and only if [x] is in either one of [l1] or [l2] *) +let rec partition_mem #a f l x = match l with + | [] -> () + | hd::tl -> partition_mem f tl x + +(** Same as [partition_mem], but using [forall] *) +let rec partition_mem_forall #a f l = match l with + | [] -> () + | hd::tl -> partition_mem_forall f tl + +(** If [partition f l = (l1, l2)], then for any [x], if [x] is in [l1] +(resp. [l2]), then [f x] holds (resp. does not hold) *) +let rec partition_mem_p_forall #a p l = match l with + | [] -> () + | hd::tl -> partition_mem_p_forall p tl + +(** If [partition f l = (l1, l2)], then the number of occurrences of +any [x] in [l] is the same as the sum of the number of occurrences in +[l1] and [l2]. *) +let rec partition_count #a f l x = match l with + | [] -> () + | hd::tl -> partition_count f tl x + +(** Same as [partition_count], but using [forall] *) +let rec partition_count_forall #a f l= match l with + | [] -> () + | hd::tl -> partition_count_forall f tl + +(** Properties about subset **) + +let rec mem_subset (#a: eqtype) (la lb: list a) + : Lemma (subset la lb <==> (forall x. mem x la ==> mem x lb)) + [SMTPat (subset la lb)] = + match la with + | [] -> () + | hd :: tl -> mem_subset tl lb + +(* NOTE: This is implied by mem_subset above, kept for compatibility *) +let subset_reflexive (#a: eqtype) (l: list a) + : Lemma (subset l l) = () + +(** Correctness of quicksort **) + +(** Correctness of [sortWith], part 1/2: the number of occurrences of +any [x] in [sortWith f l] is the same as the number of occurrences in +[l]. *) +let rec sortWith_permutation #a f l : + Lemma (ensures forall x. count x l = count x (sortWith f l)) + (decreases length l) += match l with + | [] -> () + | pivot::tl -> + let hi, lo = partition (bool_of_compare f pivot) tl in + partition_length (bool_of_compare f pivot) tl; + partition_count_forall (bool_of_compare f pivot) tl; + sortWith_permutation f lo; + sortWith_permutation f hi; + append_count_forall (sortWith f lo) (pivot::sortWith f hi) + +(** Correctness of the merging of two sorted lists around a pivot. *) +let rec append_sorted #a f l1 l2 pivot = match l1 with + | [] -> () + | hd::tl -> append_sorted f tl l2 pivot + +(** Correctness of [sortWith], part 2/2: the elements of [sortWith f +l] are sorted according to comparison function [f], and the elements +of [sortWith f l] are the elements of [l]. *) +let rec sortWith_sorted (#a:eqtype) (f:(a -> a -> Tot int)) (l:list a) : + Lemma (requires (total_order #a (bool_of_compare f))) + (ensures ((sorted (bool_of_compare f) (sortWith f l)) /\ (forall x. mem x l = mem x (sortWith f l)))) + (decreases length l) += + match l with + | [] -> () + | pivot::tl -> + let hi, lo = partition (bool_of_compare f pivot) tl in + partition_length (bool_of_compare f pivot) tl; + partition_mem_forall (bool_of_compare f pivot) tl; + partition_mem_p_forall (bool_of_compare f pivot) tl; + sortWith_sorted f lo; + sortWith_sorted f hi; + append_mem_forall (sortWith f lo) (pivot::sortWith f hi); + append_sorted (bool_of_compare f) (sortWith f lo) (sortWith f hi) pivot + +(** Properties of [noRepeats] *) +let noRepeats_nil + (#a: eqtype) +: Lemma + (ensures (noRepeats #a [])) += () + +let noRepeats_cons + (#a: eqtype) + (h: a) + (tl: list a) +: Lemma + (requires ((~ (mem h tl)) /\ noRepeats tl)) + (ensures (noRepeats #a (h::tl))) += () + +let rec noRepeats_append_elim + (#a: eqtype) + (l1 l2: list a) +: Lemma + (requires (noRepeats (l1 @ l2))) + (ensures (noRepeats l1 /\ noRepeats l2 /\ (forall x . mem x l1 ==> ~ (mem x l2)))) + (decreases l1) += match l1 with + | [] -> () + | x :: q1 -> + append_mem q1 l2 x; + noRepeats_append_elim q1 l2 + +let rec noRepeats_append_intro + (#a: eqtype) + (l1 l2: list a) +: Lemma + (requires (noRepeats l1 /\ noRepeats l2 /\ (forall x . mem x l1 ==> ~ (mem x l2)))) + (ensures (noRepeats (l1 @ l2))) + (decreases l1) += match l1 with + | [] -> () + | x :: q1 -> + append_mem q1 l2 x; + noRepeats_append_intro q1 l2 + +(** Properties of [no_repeats_p] *) +let no_repeats_p_nil + (#a: Type) +: Lemma + (ensures (no_repeats_p #a [])) += () + +let no_repeats_p_cons + (#a: Type) + (h: a) + (tl: list a) +: Lemma + (requires ((~ (memP h tl)) /\ no_repeats_p tl)) + (ensures (no_repeats_p #a (h::tl))) += () + +let rec no_repeats_p_append_elim + (#a: Type) + (l1 l2: list a) +: Lemma + (requires (no_repeats_p (l1 `append` l2))) + (ensures (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2)))) + (decreases l1) += match l1 with + | [] -> () + | x :: q1 -> + append_memP q1 l2 x; + no_repeats_p_append_elim q1 l2 + +let rec no_repeats_p_append_intro + (#a: Type) + (l1 l2: list a) +: Lemma + (requires (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2)))) + (ensures (no_repeats_p (l1 `append` l2))) + (decreases l1) += match l1 with + | [] -> () + | x :: q1 -> + append_memP q1 l2 x; + no_repeats_p_append_intro q1 l2 + +let no_repeats_p_append + (#a: Type) + (l1 l2: list a) +: Lemma + (no_repeats_p (l1 `append` l2) <==> ( + (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2))) + )) += FStar.Classical.move_requires (no_repeats_p_append_intro l1) l2; + FStar.Classical.move_requires (no_repeats_p_append_elim l1) l2 + +let no_repeats_p_append_swap + (#a: Type) + (l1 l2: list a) +: Lemma + (no_repeats_p (l1 `append` l2) <==> no_repeats_p (l2 `append` l1)) += no_repeats_p_append l1 l2; + no_repeats_p_append l2 l1 + +let no_repeats_p_append_permut + (#a: Type) + (l1 l2 l3 l4 l5: list a) +: Lemma + ((no_repeats_p (l1 `append` (l2 `append` (l3 `append` (l4 `append` l5))))) <==> no_repeats_p (l1 `append` (l4 `append` (l3 `append` (l2 `append` l5))))) += no_repeats_p_append l1 (l2 `append` (l3 `append` (l4 `append` l5))); + append_memP_forall l2 (l3 `append` (l4 `append` l5)); + append_memP_forall l3 (l4 `append` l5); + append_memP_forall l4 l5; + no_repeats_p_append l2 (l3 `append` (l4 `append` l5)); + no_repeats_p_append l3 (l4 `append` l5); + no_repeats_p_append l4 l5; + no_repeats_p_append l2 l5; + no_repeats_p_append l3 (l2 `append` l5); + append_memP_forall l2 l5; + no_repeats_p_append l4 (l3 `append` (l2 `append` l5)); + append_memP_forall l3 (l2 `append` l5); + no_repeats_p_append l1 (l4 `append` (l3 `append` (l2 `append` l5))); + append_memP_forall l4 (l3 `append` (l2 `append` l5)) + +let no_repeats_p_false_intro + (#a: Type) + (l1 l l2 l3: list a) +: Lemma + (requires (Cons? l)) + (ensures (~ (no_repeats_p (l1 `append` (l `append` (l2 `append` (l `append` l3))))))) += let x = hd l in + assert (memP x l); + no_repeats_p_append l1 (l `append` (l2 `append` (l `append` l3))); + no_repeats_p_append l (l2 `append` (l `append` l3)); + append_memP l2 (l `append` l3) x; + append_memP l l3 x + +(** Properties of [assoc] *) + +let assoc_nil + (#a: eqtype) + (#b: Type) + (x: a) +: Lemma + (ensures (assoc #a #b x [] == None)) += () + +let assoc_cons_eq + (#a: eqtype) + (#b: Type) + (x: a) + (y: b) + (q: list (a & b)) +: Lemma + (ensures (assoc x ((x, y) :: q) == Some y)) += () + +let assoc_cons_not_eq + (#a: eqtype) + (#b: Type) + (x x': a) + (y: b) + (q: list (a & b)) +: Lemma + (requires (x <> x')) + (ensures (assoc x' ((x, y) :: q) == assoc x' q)) += () + +let rec assoc_append_elim_r + (#a: eqtype) + (#b: Type) + (x: a) + (l1 l2: list (a & b)) +: Lemma + (requires (assoc x l2 == None \/ ~ (assoc x l1 == None))) + (ensures (assoc x (l1 @ l2) == assoc x l1)) + (decreases l1) += match l1 with + | [] -> () + | (x', _) :: q -> if x = x' then () else assoc_append_elim_r x q l2 + +let rec assoc_append_elim_l + (#a: eqtype) + (#b: Type) + (x: a) + (l1 l2: list (a & b)) +: Lemma + (requires (assoc x l1 == None)) + (ensures (assoc x (l1 @ l2) == assoc x l2)) + (decreases l1) += match l1 with + | [] -> () + | (x', _) :: q -> if x = x' then assert False else assoc_append_elim_l x q l2 + +let rec assoc_memP_some + (#a: eqtype) + (#b: Type) + (x: a) + (y: b) + (l: list (a & b)) +: Lemma + (requires (assoc x l == Some y)) + (ensures (memP (x, y) l)) + (decreases l) += match l with + | [] -> () + | (x', _) :: q -> if x = x' then () else assoc_memP_some x y q + +let rec assoc_memP_none + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) +: Lemma + (requires (assoc x l == None)) + (ensures (forall y . ~ (memP (x, y) l))) + (decreases l) += match l with + | [] -> () + | (x', _) :: q -> if x = x' then assert False else assoc_memP_none x q + +let assoc_mem + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) +: Lemma + (ensures (mem x (map fst l) <==> (exists y . assoc x l == Some y))) += match assoc x l with + | None -> + assoc_memP_none x l; + mem_memP x (map fst l); + memP_map_elim fst x l + | Some y -> + assoc_memP_some x y l; + memP_map_intro fst (x, y) l; + mem_memP x (map fst l) + +(** Properties of [fold_left] *) + +let rec fold_left_invar + (#a #b: Type) + (f: (a -> b -> Tot a)) + (l: list b) + (p: (a -> Tot Type0)) + : Lemma + (requires forall (x: a) (y: b) . p x ==> memP y l ==> p (f x y) ) + (ensures forall (x: a) . p x ==> p (fold_left f x l)) += + match l with + | [] -> () + | y :: q -> fold_left_invar f q p + +let rec fold_left_map + (#a #b #c: Type) + (f_aba: a -> b -> Tot a) + (f_bc: b -> Tot c) + (f_aca: a -> c -> Tot a) + (l: list b) + : Lemma + (requires forall (x: a) (y: b) . f_aba x y == f_aca x (f_bc y) ) + (ensures forall (x : a) . fold_left f_aba x l == fold_left f_aca x (map f_bc l) ) + = + match l with + | [] -> () + | y :: q -> fold_left_map f_aba f_bc f_aca q + +let rec map_append + (#a #b: Type) + (f: a -> Tot b) + (l1 l2: list a) +: + Lemma + (ensures map f (l1 @ l2) == map f l1 @ map f l2) += + match l1 with + | [] -> () + | x :: q -> map_append f q l2 + +let rec fold_left_append + (#a #b: Type) + (f: a -> b -> Tot a) + (l1 l2: list b) + : Lemma + (ensures forall x . fold_left f x (l1 @ l2) == fold_left f (fold_left f x l1) l2) += match l1 with + | [] -> () + | x :: q -> fold_left_append f q l2 + +let rec fold_left_monoid + (#a: Type) + (opA: (a -> a -> Tot a)) + (zeroA: a) + (l: list a) +: Lemma + (requires + (forall u v w . (u `opA` (v `opA` w)) == ((u `opA` v) `opA` w)) /\ + (forall x . (x `opA` zeroA) == x) /\ + (forall x . (zeroA `opA` x) == x)) + (ensures + forall x . + (fold_left opA x l) == (x `opA` (fold_left opA zeroA l))) += match l with + | [] -> () + | x :: q -> fold_left_monoid opA zeroA q + +let fold_left_append_monoid + (#a: Type) + (f: (a -> a -> Tot a)) + (z: a) + (l1 l2: list a) +: Lemma + (requires + (forall u v w . f u (f v w) == f (f u v) w) /\ + (forall x . f x z == x) /\ + (forall x . f z x == x)) + (ensures + fold_left f z (l1 @ l2) == f (fold_left f z l1) (fold_left f z l2)) += fold_left_append f l1 l2; + fold_left_monoid f z l2 + +(* Properties of [index] *) + +private let rec index_extensionality_aux + (#a: Type) + (l1 l2: list a) + (l_len: (l_len: unit { length l1 == length l2 } )) + (l_index: (i: (i: nat {i < length l1})) -> Tot (l_index: unit {index l1 i == index l2 i})) +: Lemma + (ensures (l1 == l2)) += match (l1, l2) with + | (a1::q1, a2::q2) -> + let a_eq : (a_eq : unit {a1 == a2}) = l_index 0 in + let q_len : (q_len: unit {length q1 == length q2}) = () in + let q_index (i: (i: nat {i < length q1})) : Tot (q_index: unit {index q1 i == index q2 i}) = + l_index (i + 1) in + let q_eq : (q_eq : unit {l1 == l2}) = index_extensionality_aux q1 q2 q_len q_index in + () + | _ -> () + +let index_extensionality + (#a: Type) + (l1 l2: list a) +: Lemma + (requires + (length l1 == length l2 /\ + (forall (i: nat) . i < length l1 ==> index l1 i == index l2 i))) + (ensures (l1 == l2)) += index_extensionality_aux l1 l2 () (fun i -> ()) + +(** Properties of [strict_suffix_of] *) + +let rec strict_suffix_of_nil (#a: Type) (x: a) (l: list a) +: Lemma + (requires True) + (ensures (strict_suffix_of [] (x::l))) + (decreases l) += match l with + | [] -> () + | a' :: q -> strict_suffix_of_nil a' q + +let strict_suffix_of_or_eq_nil (#a: Type) (l: list a) +: Lemma + (ensures (strict_suffix_of [] l \/ l == [])) += match l with + | [] -> () + | a :: q -> strict_suffix_of_nil a q + +let strict_suffix_of_cons (#a: Type) (x: a) (l: list a) : + Lemma + (ensures (strict_suffix_of l (x::l))) += () + +let rec strict_suffix_of_trans (#a: Type) (l1 l2 l3: list a) +: Lemma + (requires True) + (ensures ((strict_suffix_of l1 l2 /\ strict_suffix_of l2 l3) ==> strict_suffix_of l1 l3)) + (decreases l3) + [SMTPat (strict_suffix_of l1 l2); SMTPat (strict_suffix_of l2 l3)] += match l3 with + | [] -> () + | _ :: q -> strict_suffix_of_trans l1 l2 q + +let rec strict_suffix_of_correct (#a) (l1 l2: list a) +: Lemma + (requires True) + (ensures (strict_suffix_of l1 l2 ==> l1 << l2)) + (decreases l2) += match l2 with + | [] -> () + | _ :: q -> + strict_suffix_of_correct l1 q + +let rec map_strict_suffix_of (#a #b: Type) (f: a -> Tot b) (l1: list a) (l2: list a) : + Lemma + (requires True) + (ensures (strict_suffix_of l1 l2 ==> strict_suffix_of (map f l1) (map f l2))) + (decreases l2) += match l2 with + | [] -> () + | a::q -> + map_strict_suffix_of f l1 q + +let rec mem_strict_suffix_of (#a: eqtype) (l1: list a) (m: a) (l2: list a) +: Lemma + (requires True) + (ensures ((mem m l1 /\ strict_suffix_of l1 l2) ==> mem m l2)) += match l2 with + | [] -> () + | a :: q -> + mem_strict_suffix_of l1 m q + +let rec strict_suffix_of_exists_append + (#a: Type) + (l1 l2: list a) +: Lemma + (ensures (strict_suffix_of l1 l2 ==> (exists l3 . l2 == append l3 l1))) += match l2 with + | [] -> () + | a :: q -> + FStar.Classical.or_elim + #(l1 == q) + #(strict_suffix_of l1 q) + #(fun _ -> exists l3 . l2 == append l3 l1) + (fun _ -> + FStar.Classical.exists_intro (fun l3 -> l2 == append l3 l1) (a :: [])) + (fun _ -> + FStar.Classical.exists_elim + (exists l3 . l2 == append l3 l1) + #_ + #(fun l3 -> q == append l3 l1) + (strict_suffix_of_exists_append l1 q) + (fun l3 -> + FStar.Classical.exists_intro (fun l3 -> l2 == append l3 l1) (a :: l3) + )) + +let strict_suffix_of_or_eq_exists_append + (#a: Type) + (l1 l2: list a) +: Lemma + (ensures ((strict_suffix_of l1 l2 \/ l1 == l2) ==> (exists l3 . l2 == append l3 l1))) += FStar.Classical.or_elim + #(strict_suffix_of l1 l2) + #(l1 == l2) + #(fun _ -> exists l3 . l2 == append l3 l1) + (fun _ -> + strict_suffix_of_exists_append l1 l2) + (fun _ -> + FStar.Classical.exists_intro + (fun l3 -> l2 == append l3 l1) + [] ) + +(** Properties of << with lists *) + +let precedes_tl + (#a: Type) + (l: list a {Cons? l}) +: Lemma (ensures (tl l << l)) += () + +let rec precedes_append_cons_r + (#a: Type) + (l1: list a) + (x: a) + (l2: list a) +: Lemma + (requires True) + (ensures (x << append l1 (x :: l2))) + [SMTPat (x << append l1 (x :: l2))] += match l1 with + | [] -> () + | _ :: q -> precedes_append_cons_r q x l2 + +let precedes_append_cons_prod_r + (#a #b: Type) + (l1: list (a & b)) + (x: a) + (y: b) + (l2: list (a & b)) +: Lemma + (ensures + x << (append l1 ((x, y) :: l2)) /\ + y << (append l1 ((x, y) :: l2))) += precedes_append_cons_r l1 (x, y) l2 + +let rec memP_precedes + (#a: Type) + (x: a) + (l: list a) +: Lemma + (requires True) + (ensures (memP x l ==> x << l)) + (decreases l) += match l with + | [] -> () + | y :: q -> + FStar.Classical.or_elim + #(x == y) + #(memP x q) + #(fun _ -> x << l) + (fun _ -> ()) + (fun _ -> memP_precedes x q) + +let assoc_precedes + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) + (y: b) +: Lemma + (requires (assoc x l == Some y)) + (ensures (x << l /\ y << l)) += assoc_memP_some x y l; + memP_precedes (x, y) l + +(** Properties about find *) + +let rec find_none + (#a: Type) + (f: (a -> Tot bool)) + (l: list a) + (x: a) +: Lemma + (requires (find f l == None /\ memP x l)) + (ensures (f x == false)) += let (x' :: l') = l in + Classical.or_elim + #(x == x') + #(~ (x == x')) + #(fun _ -> f x == false) + (fun h -> ()) + (fun h -> find_none f l' x) + +(** Properties of init and last *) + +let rec append_init_last (#a: Type) (l: list a { Cons? l }) : Lemma + (l == append (init l) [last l]) += match l with + | a :: q -> + if Cons? q + then + append_init_last q + else + () + +let rec init_last_def (#a: Type) (l: list a) (x: a) : Lemma + (let l' = append l [x] in + init l' == l /\ last l' == x) += match l with + | [] -> () + | y :: q -> init_last_def q x + +let init_last_inj (#a: Type) (l1: list a { Cons? l1 } ) (l2: list a { Cons? l2 } ) : Lemma + (requires (init l1 == init l2 /\ last l1 == last l2)) + (ensures (l1 == l2)) += append_init_last l1; + append_init_last l2 + +(* Properties of for_all *) + +#push-options "--fuel 1" +let rec for_all_append #a (f: a -> Tot bool) (s1 s2: list a): Lemma + (ensures for_all f (s1 @ s2) <==> for_all f s1 && for_all f s2) += + let _ = allow_inversion (list a) in + match s1 with + | [] -> () + | hd1 :: tl1 -> for_all_append f tl1 s2 +#pop-options diff --git a/stage0/ulib/FStar.List.Tot.Properties.fsti b/stage0/ulib/FStar.List.Tot.Properties.fsti new file mode 100644 index 00000000000..1a4ff371970 --- /dev/null +++ b/stage0/ulib/FStar.List.Tot.Properties.fsti @@ -0,0 +1,813 @@ +(* + 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. +*) +(** +This module states and proves some properties about pure and total +operations on lists. + +@summary Properties of pure total operations on lists +*) +module FStar.List.Tot.Properties +open FStar.List.Tot.Base + +(** A list indexed by its length **) +let llist a (n:nat) = l:list a {length l = n} + +(** Properties about mem **) + +(** Correctness of [mem] for types with decidable equality. TODO: +replace [mem] with [memP] in relevant lemmas and define the right +SMTPat to automatically recover lemmas about [mem] for types with +decidable equality *) +val mem_memP + (#a: eqtype) + (x: a) + (l: list a) +: Lemma (ensures (mem x l <==> memP x l)) + [SMTPat (mem x l); SMTPat (memP x l)] + +(** If an element can be [index]ed, then it is a [memP] of the list. *) +val lemma_index_memP (#t:Type) (l:list t) (i:nat{i < length l}) : + Lemma + (ensures (index l i `memP` l)) + [SMTPat (index l i `memP` l)] + +(** The empty list has no elements. *) +val memP_empty : #a: Type -> x:a -> + Lemma (requires (memP x [])) + (ensures False) + +(** Full specification for [existsb]: [existsb f xs] holds if, and +only if, there exists an element [x] of [xs] such that [f x] holds. *) +val memP_existsb: #a: Type -> f:(a -> Tot bool) -> xs:list a -> + Lemma(ensures (existsb f xs <==> (exists (x:a). (f x = true /\ memP x xs)))) + +val memP_map_intro + (#a #b: Type) + (f: a -> Tot b) + (x: a) + (l: list a) +: Lemma + (requires True) + (ensures (memP x l ==> memP (f x) (map f l))) + +val memP_map_elim + (#a #b: Type) + (f: a -> Tot b) + (y: b) + (l: list a) +: Lemma + (requires True) + (ensures (memP y (map f l) ==> (exists (x : a) . memP x l /\ f x == y))) + +(** The empty list has no elements *) +val mem_empty : #a:eqtype -> x:a -> + Lemma (requires (mem x [])) + (ensures False) + +(** Full specification for [existsb]: [existsb f xs] holds if, and +only if, there exists an element [x] of [xs] such that [f x] holds. *) +val mem_existsb: #a:eqtype -> f:(a -> Tot bool) -> xs:list a -> + Lemma(ensures (existsb f xs <==> (exists (x:a). (f x = true /\ mem x xs)))) + +val mem_count + (#a: eqtype) + (l: list a) + (x: a) +: Lemma + (mem x l <==> count x l > 0) + +(** Properties about rev **) + +val rev_acc_length : l:list 'a -> acc:list 'a -> + Lemma (requires True) + (ensures (length (rev_acc l acc) = length l + length acc)) + +val rev_length : l:list 'a -> + Lemma (requires True) + (ensures (length (rev l) = length l)) + +val rev_acc_memP : #a:Type -> l:list a -> acc:list a -> x:a -> + Lemma (requires True) + (ensures (memP x (rev_acc l acc) <==> (memP x l \/ memP x acc))) + +(** A list and its reversed have the same elements *) +val rev_memP : #a:Type -> l:list a -> x:a -> + Lemma (requires True) + (ensures (memP x (rev l) <==> memP x l)) + +val rev_mem : #a:eqtype -> l:list a -> x:a -> + Lemma (requires True) + (ensures (mem x (rev l) <==> mem x l)) + +(** Properties about append **) + +val append_nil_l: l:list 'a -> + Lemma (requires True) + (ensures ([]@l == l)) + +val append_l_nil: l:list 'a -> + Lemma (requires True) + (ensures (l@[] == l)) [SMTPat (l@[])] + +val append_cons_l: hd:'a -> tl:list 'a -> l:list 'a -> + Lemma (requires True) + (ensures (((hd::tl)@l) == (hd::(tl@l)))) + +val append_l_cons: hd:'a -> tl:list 'a -> l:list 'a -> + Lemma (requires True) + (ensures ((l@(hd::tl)) == ((l@[hd])@tl))) + +val append_assoc: l1:list 'a -> l2:list 'a -> l3:list 'a -> + Lemma (requires True) + (ensures ((l1@(l2@l3)) == ((l1@l2)@l3))) + +val append_length: l1:list 'a -> l2:list 'a -> + Lemma (requires True) + (ensures (length (l1@l2) = length l1 + length l2)) [SMTPat (length (l1 @ l2))] + +val append_mem: #t:eqtype -> l1:list t + -> l2:list t + -> a:t + -> Lemma (requires True) + (ensures (mem a (l1@l2) = (mem a l1 || mem a l2))) + (* [SMTPat (mem a (l1@l2))] *) + +val append_memP: #t:Type -> l1:list t + -> l2:list t + -> a:t + -> Lemma (requires True) + (ensures (memP a (l1 `append` l2) <==> (memP a l1 \/ memP a l2))) + (* [SMTPat (mem a (l1@l2))] *) + +val append_mem_forall: #a:eqtype -> l1:list a + -> l2:list a + -> Lemma (requires True) + (ensures (forall a. mem a (l1@l2) = (mem a l1 || mem a l2))) + +val append_memP_forall: #a:Type -> l1:list a + -> l2:list a + -> Lemma (requires True) + (ensures (forall a. memP a (l1 `append` l2) <==> (memP a l1 \/ memP a l2))) + + +val append_count: #t:eqtype -> l1:list t + -> l2:list t + -> a:t + -> Lemma (requires True) + (ensures (count a (l1@l2) = (count a l1 + count a l2))) + +val append_count_forall: #a:eqtype -> l1:list a + -> l2:list a + -> Lemma (requires True) + (ensures (forall a. count a (l1@l2) = (count a l1 + count a l2))) + (* [SMTPat (l1@l2)] *) + +val append_eq_nil: l1:list 'a -> l2:list 'a -> + Lemma (requires (l1@l2 == [])) + (ensures (l1 == [] /\ l2 == [])) + +val append_eq_singl: l1:list 'a -> l2:list 'a -> x:'a -> + Lemma (requires (l1@l2 == [x])) + (ensures ((l1 == [x] /\ l2 == []) \/ (l1 == [] /\ l2 == [x]))) + +val append_inv_head: l:list 'a -> l1:list 'a -> l2:list 'a -> + Lemma (requires ((l@l1) == (l@l2))) + (ensures (l1 == l2)) + +val append_inv_tail: l:list 'a -> l1:list 'a -> l2:list 'a -> + Lemma (requires ((l1@l) == (l2@l))) + (ensures (l1 == l2)) + +val append_length_inv_head + (#a: Type) + (left1 right1 left2 right2: list a) +: Lemma + (requires (append left1 right1 == append left2 right2 /\ length left1 == length left2)) + (ensures (left1 == left2 /\ right1 == right2)) + +val append_length_inv_tail + (#a: Type) + (left1 right1 left2 right2: list a) +: Lemma + (requires (append left1 right1 == append left2 right2 /\ length right1 == length right2)) + (ensures (left1 == left2 /\ right1 == right2)) + +val append_injective #a (l0 l0':list a) + (l1 l1':list a) + : Lemma + (ensures + (length l0 == length l0' \/ length l1 == length l1') /\ + append l0 l1 == append l0' l1' ==> + l0 == l0' /\ l1 == l1') + +(** The [last] element of a list remains the same, even after that list is + [append]ed to another list. *) +val lemma_append_last (#a:Type) (l1 l2:list a) : + Lemma + (requires (length l2 > 0)) + (ensures (last (l1 @ l2) == last l2)) + +(** Properties mixing rev and append **) + +let rec rev' (#a:Type) (xs : list a) : list a = + match xs with + | [] -> [] + | hd::tl -> (rev' tl)@[hd] +let rev'T = rev' + +val rev_acc_rev': l:list 'a -> acc:list 'a -> + Lemma (requires (True)) + (ensures ((rev_acc l acc) == ((rev' l)@acc))) + +val rev_rev': l:list 'a -> + Lemma (requires True) + (ensures ((rev l) == (rev' l))) + +val rev'_append: l1:list 'a -> l2:list 'a -> + Lemma (requires True) + (ensures ((rev' (l1@l2)) == ((rev' l2)@(rev' l1)))) + +val rev_append: l1:list 'a -> l2:list 'a -> + Lemma (requires True) + (ensures ((rev (l1@l2)) == ((rev l2)@(rev l1)))) + +val rev'_involutive : l:list 'a -> + Lemma (requires True) + (ensures (rev' (rev' l) == l)) + +val rev_involutive : l:list 'a -> + Lemma (requires True) + (ensures (rev (rev l) == l)) + +(** Properties about snoc *) + +val lemma_snoc_length : (lx:(list 'a & 'a)) -> + Lemma (requires True) + (ensures (length (snoc lx) = length (fst lx) + 1)) + +(** Reverse induction principle **) + +val rev'_list_ind: p:(list 'a -> Tot bool) -> l:list 'a -> + Lemma (requires ((p []) /\ (forall hd tl. p (rev' tl) ==> p (rev' (hd::tl))))) + (ensures (p (rev' l))) + +val rev_ind: p:(list 'a -> Tot bool) -> l:list 'a -> + Lemma (requires ((p []) /\ (forall hd tl. p hd ==> p (hd@[tl])))) + (ensures (p l)) + +(** Properties about iterators **) + +val map_lemma: f:('a -> Tot 'b) + -> l:(list 'a) + -> Lemma (requires True) + (ensures (length (map f l)) = length l) + [SMTPat (map f l)] + +(** Properties about unsnoc *) + +(** [unsnoc] is the inverse of [snoc] *) +val lemma_unsnoc_snoc: #a:Type -> l:list a{length l > 0} -> + Lemma (requires True) + (ensures (snoc (unsnoc l) == l)) + [SMTPat (snoc (unsnoc l))] + +(** [snoc] is the inverse of [unsnoc] *) +val lemma_snoc_unsnoc: #a:Type -> lx:(list a & a) -> + Lemma (requires True) + (ensures (unsnoc (snoc lx) == lx)) + [SMTPat (unsnoc (snoc lx))] + +(** Doing an [unsnoc] gives us a list that is shorter in length by 1 *) +val lemma_unsnoc_length: #a:Type -> l:list a{length l > 0} -> + Lemma (requires True) + (ensures (length (fst (unsnoc l)) == length l - 1)) + +(** [unsnoc] followed by [append] can be connected to the same vice-versa. *) +val lemma_unsnoc_append (#a:Type) (l1 l2:list a) : + Lemma + (requires (length l2 > 0)) // the [length l2 = 0] is trivial + (ensures ( + let al, a = unsnoc (l1 @ l2) in + let bl, b = unsnoc l2 in + al == l1 @ bl /\ a == b)) + +(** [unsnoc] gives you [last] element, which is [index]ed at [length l - 1] *) +val lemma_unsnoc_is_last (#t:Type) (l:list t) : + Lemma + (requires (length l > 0)) + (ensures (snd (unsnoc l) == last l /\ snd (unsnoc l) == index l (length l - 1))) + +(** [index]ing on the left part of an [unsnoc]d list is the same as indexing + the original list. *) +val lemma_unsnoc_index (#t:Type) (l:list t) (i:nat) : + Lemma + (requires (length l > 0 /\ i < length l - 1)) + (ensures ( + i < length (fst (unsnoc l)) /\ + index (fst (unsnoc l)) i == index l i)) + +(** Definition and properties about [split_using] *) + +(** [split_using] splits a list at the first instance of finding an + element in it. + + NOTE: Uses [strong_excluded_middle] axiom. *) +let rec split_using (#t:Type) (l:list t) (x:t{x `memP` l}) : + GTot (list t & list t) = + match l with + | [_] -> [], l + | a :: rest -> + if FStar.StrongExcludedMiddle.strong_excluded_middle (a == x) then ( + [], l + ) else ( + let l1', l2' = split_using rest x in + a :: l1', l2' + ) + +val lemma_split_using (#t:Type) (l:list t) (x:t{x `memP` l}) : + Lemma + (ensures ( + let l1, l2 = split_using l x in + length l2 > 0 /\ + ~(x `memP` l1) /\ + hd l2 == x /\ + append l1 l2 == l)) + +(** Definition of [index_of] *) + +(** [index_of l x] gives the index of the leftmost [x] in [l]. + + NOTE: Uses [strong_excluded_middle] axiom. *) +let rec index_of (#t:Type) (l:list t) (x:t{x `memP` l}) : + GTot (i:nat{i < length l /\ index l i == x}) = + match l with + | [_] -> 0 + | a :: rest -> + if FStar.StrongExcludedMiddle.strong_excluded_middle (a == x) then ( + 0 + ) else ( + 1 + index_of rest x + ) + + +(** Properties about partition **) + +(** If [partition f l = (l1, l2)], then for any [x], [x] is in [l] if +and only if [x] is in either one of [l1] or [l2] *) +val partition_mem: #a:eqtype -> f:(a -> Tot bool) + -> l:list a + -> x:a + -> Lemma (requires True) + (ensures (let l1, l2 = partition f l in + mem x l = (mem x l1 || mem x l2))) + +(** Same as [partition_mem], but using [forall] *) +val partition_mem_forall: #a:eqtype -> f:(a -> Tot bool) + -> l:list a + -> Lemma (requires True) + (ensures (let l1, l2 = partition f l in + (forall x. mem x l = (mem x l1 || mem x l2)))) + +(** If [partition f l = (l1, l2)], then for any [x], if [x] is in [l1] +(resp. [l2]), then [f x] holds (resp. does not hold) *) +val partition_mem_p_forall: #a:eqtype -> p:(a -> Tot bool) + -> l:list a + -> Lemma (requires True) + (ensures (let l1, l2 = partition p l in + (forall x. mem x l1 ==> p x) /\ (forall x. mem x l2 ==> not (p x)))) + +(** If [partition f l = (l1, l2)], then the number of occurrences of +any [x] in [l] is the same as the sum of the number of occurrences in +[l1] and [l2]. *) +val partition_count: #a:eqtype -> f:(a -> Tot bool) + -> l:list a + -> x:a + -> Lemma (requires True) + (ensures (count x l = (count x (fst (partition f l)) + count x (snd (partition f l))))) + +(** Same as [partition_count], but using [forall] *) +val partition_count_forall: #a:eqtype -> f:(a -> Tot bool) + -> l:list a + -> Lemma (requires True) + (ensures (forall x. count x l = (count x (fst (partition f l)) + count x (snd (partition f l))))) + (* [SMTPat (partitionT f l)] *) + +(** Properties about subset **) + +val mem_subset (#a: eqtype) (la lb: list a) + : Lemma (subset la lb <==> (forall x. mem x la ==> mem x lb)) + [SMTPat (subset la lb)] + +(* NOTE: This is implied by mem_subset above, kept for compatibility *) +val subset_reflexive (#a: eqtype) (l: list a) + : Lemma (subset l l) + +(** Correctness of quicksort **) + +(** Correctness of [sortWith], part 1/2: the number of occurrences of +any [x] in [sortWith f l] is the same as the number of occurrences in +[l]. *) +val sortWith_permutation: #a:eqtype -> f:(a -> a -> Tot int) -> l:list a -> + Lemma (requires True) + (ensures (forall x. count x l = count x (sortWith f l))) + +(** [sorted f l] holds if, and only if, any two consecutive elements + [x], [y] of [l] are such that [f x y] holds + *) +let rec sorted (#a:Type) (f : a -> a -> Tot bool) : list a -> bool = function + | [] + | [_] -> true + | x::y::tl -> f x y && sorted f (y::tl) + +(** [f] is a total order if, and only if, it is reflexive, +anti-symmetric, transitive and total. *) +type total_order (#a:Type) (f: (a -> a -> Tot bool)) = + (forall a. f a a) (* reflexivity *) + /\ (forall a1 a2. f a1 a2 /\ f a2 a1 ==> a1 == a2) (* anti-symmetry *) + /\ (forall a1 a2 a3. f a1 a2 /\ f a2 a3 ==> f a1 a3) (* transitivity *) + /\ (forall a1 a2. f a1 a2 \/ f a2 a1) (* totality *) + +(** Correctness of the merging of two sorted lists around a pivot. *) +val append_sorted: #a:eqtype + -> f:(a -> a -> Tot bool) + -> l1:list a{sorted f l1} + -> l2:list a{sorted f l2} + -> pivot:a + -> Lemma (requires (total_order #a f + /\ (forall y. mem y l1 ==> not(f pivot y)) + /\ (forall y. mem y l2 ==> f pivot y))) + (ensures (sorted f (l1@(pivot::l2)))) + [SMTPat (sorted f (l1@(pivot::l2)))] + +(** Correctness of [sortWith], part 2/2: the elements of [sortWith f +l] are sorted according to comparison function [f], and the elements +of [sortWith f l] are the elements of [l]. *) +val sortWith_sorted: #a:eqtype -> f:(a -> a -> Tot int) -> l:list a -> + Lemma (requires (total_order #a (bool_of_compare f))) + (ensures ((sorted (bool_of_compare f) (sortWith f l)) /\ (forall x. mem x l = mem x (sortWith f l)))) + +(** Properties of [noRepeats] *) +val noRepeats_nil + (#a: eqtype) +: Lemma + (ensures (noRepeats #a [])) + +val noRepeats_cons + (#a: eqtype) + (h: a) + (tl: list a) +: Lemma + (requires ((~ (mem h tl)) /\ noRepeats tl)) + (ensures (noRepeats #a (h::tl))) + +val noRepeats_append_elim + (#a: eqtype) + (l1 l2: list a) +: Lemma + (requires (noRepeats (l1 @ l2))) + (ensures (noRepeats l1 /\ noRepeats l2 /\ (forall x . mem x l1 ==> ~ (mem x l2)))) + +val noRepeats_append_intro + (#a: eqtype) + (l1 l2: list a) +: Lemma + (requires (noRepeats l1 /\ noRepeats l2 /\ (forall x . mem x l1 ==> ~ (mem x l2)))) + (ensures (noRepeats (l1 @ l2))) + +(** Properties of [no_repeats_p] *) +val no_repeats_p_nil + (#a: Type) +: Lemma + (ensures (no_repeats_p #a [])) + +val no_repeats_p_cons + (#a: Type) + (h: a) + (tl: list a) +: Lemma + (requires ((~ (memP h tl)) /\ no_repeats_p tl)) + (ensures (no_repeats_p #a (h::tl))) + +val no_repeats_p_append_elim + (#a: Type) + (l1 l2: list a) +: Lemma + (requires (no_repeats_p (l1 `append` l2))) + (ensures (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2)))) + +val no_repeats_p_append_intro + (#a: Type) + (l1 l2: list a) +: Lemma + (requires (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2)))) + (ensures (no_repeats_p (l1 `append` l2))) + +val no_repeats_p_append + (#a: Type) + (l1 l2: list a) +: Lemma + (no_repeats_p (l1 `append` l2) <==> ( + (no_repeats_p l1 /\ no_repeats_p l2 /\ (forall x . memP x l1 ==> ~ (memP x l2))) + )) + +val no_repeats_p_append_swap + (#a: Type) + (l1 l2: list a) +: Lemma + (no_repeats_p (l1 `append` l2) <==> no_repeats_p (l2 `append` l1)) + +val no_repeats_p_append_permut + (#a: Type) + (l1 l2 l3 l4 l5: list a) +: Lemma + ((no_repeats_p (l1 `append` (l2 `append` (l3 `append` (l4 `append` l5))))) <==> no_repeats_p (l1 `append` (l4 `append` (l3 `append` (l2 `append` l5))))) + +val no_repeats_p_false_intro + (#a: Type) + (l1 l l2 l3: list a) +: Lemma + (requires (Cons? l)) + (ensures (~ (no_repeats_p (l1 `append` (l `append` (l2 `append` (l `append` l3))))))) + +(** Properties of [assoc] *) + +val assoc_nil + (#a: eqtype) + (#b: Type) + (x: a) +: Lemma + (ensures (assoc #a #b x [] == None)) + +val assoc_cons_eq + (#a: eqtype) + (#b: Type) + (x: a) + (y: b) + (q: list (a & b)) +: Lemma + (ensures (assoc x ((x, y) :: q) == Some y)) + +val assoc_cons_not_eq + (#a: eqtype) + (#b: Type) + (x x': a) + (y: b) + (q: list (a & b)) +: Lemma + (requires (x <> x')) + (ensures (assoc x' ((x, y) :: q) == assoc x' q)) + +val assoc_append_elim_r + (#a: eqtype) + (#b: Type) + (x: a) + (l1 l2: list (a & b)) +: Lemma + (requires (assoc x l2 == None \/ ~ (assoc x l1 == None))) + (ensures (assoc x (l1 @ l2) == assoc x l1)) + +val assoc_append_elim_l + (#a: eqtype) + (#b: Type) + (x: a) + (l1 l2: list (a & b)) +: Lemma + (requires (assoc x l1 == None)) + (ensures (assoc x (l1 @ l2) == assoc x l2)) + +val assoc_memP_some + (#a: eqtype) + (#b: Type) + (x: a) + (y: b) + (l: list (a & b)) +: Lemma + (requires (assoc x l == Some y)) + (ensures (memP (x, y) l)) + +val assoc_memP_none + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) +: Lemma + (requires (assoc x l == None)) + (ensures (forall y . ~ (memP (x, y) l))) + +val assoc_mem + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) +: Lemma + (ensures (mem x (map fst l) <==> (exists y . assoc x l == Some y))) + +(** Properties of [fold_left] *) + +val fold_left_invar + (#a #b: Type) + (f: (a -> b -> Tot a)) + (l: list b) + (p: (a -> Tot Type0)) + : Lemma + (requires forall (x: a) (y: b) . p x ==> memP y l ==> p (f x y) ) + (ensures forall (x: a) . p x ==> p (fold_left f x l)) + +val fold_left_map + (#a #b #c: Type) + (f_aba: a -> b -> Tot a) + (f_bc: b -> Tot c) + (f_aca: a -> c -> Tot a) + (l: list b) + : Lemma + (requires forall (x: a) (y: b) . f_aba x y == f_aca x (f_bc y) ) + (ensures forall (x : a) . fold_left f_aba x l == fold_left f_aca x (map f_bc l) ) + +val map_append + (#a #b: Type) + (f: a -> Tot b) + (l1 l2: list a) +: + Lemma + (ensures map f (l1 @ l2) == map f l1 @ map f l2) + +val fold_left_append + (#a #b: Type) + (f: a -> b -> Tot a) + (l1 l2: list b) + : Lemma + (ensures forall x . fold_left f x (l1 @ l2) == fold_left f (fold_left f x l1) l2) + +val fold_left_monoid + (#a: Type) + (opA: (a -> a -> Tot a)) + (zeroA: a) + (l: list a) +: Lemma + (requires + (forall u v w . (u `opA` (v `opA` w)) == ((u `opA` v) `opA` w)) /\ + (forall x . (x `opA` zeroA) == x) /\ + (forall x . (zeroA `opA` x) == x)) + (ensures + forall x . + (fold_left opA x l) == (x `opA` (fold_left opA zeroA l))) + +val fold_left_append_monoid + (#a: Type) + (f: (a -> a -> Tot a)) + (z: a) + (l1 l2: list a) +: Lemma + (requires + (forall u v w . f u (f v w) == f (f u v) w) /\ + (forall x . f x z == x) /\ + (forall x . f z x == x)) + (ensures + fold_left f z (l1 @ l2) == f (fold_left f z l1) (fold_left f z l2)) + +(* Properties of [index] *) + +val index_extensionality + (#a: Type) + (l1 l2: list a) +: Lemma + (requires + (length l1 == length l2 /\ + (forall (i: nat) . i < length l1 ==> index l1 i == index l2 i))) + (ensures (l1 == l2)) + +(** Properties of [strict_suffix_of] *) + +val strict_suffix_of_nil (#a: Type) (x: a) (l: list a) +: Lemma + (requires True) + (ensures (strict_suffix_of [] (x::l))) + +val strict_suffix_of_or_eq_nil (#a: Type) (l: list a) +: Lemma + (ensures (strict_suffix_of [] l \/ l == [])) + +val strict_suffix_of_cons (#a: Type) (x: a) (l: list a) : + Lemma + (ensures (strict_suffix_of l (x::l))) + +val strict_suffix_of_trans (#a: Type) (l1 l2 l3: list a) +: Lemma + (requires True) + (ensures ((strict_suffix_of l1 l2 /\ strict_suffix_of l2 l3) ==> strict_suffix_of l1 l3)) + [SMTPat (strict_suffix_of l1 l2); SMTPat (strict_suffix_of l2 l3)] + +val strict_suffix_of_correct (#a:Type) (l1 l2: list a) +: Lemma + (requires True) + (ensures (strict_suffix_of l1 l2 ==> l1 << l2)) + +val map_strict_suffix_of (#a #b: Type) (f: a -> Tot b) (l1: list a) (l2: list a) : + Lemma + (requires True) + (ensures (strict_suffix_of l1 l2 ==> strict_suffix_of (map f l1) (map f l2))) + +val mem_strict_suffix_of (#a: eqtype) (l1: list a) (m: a) (l2: list a) +: Lemma + (requires True) + (ensures ((mem m l1 /\ strict_suffix_of l1 l2) ==> mem m l2)) + +val strict_suffix_of_exists_append + (#a: Type) + (l1 l2: list a) +: Lemma + (ensures (strict_suffix_of l1 l2 ==> (exists l3 . l2 == append l3 l1))) + +val strict_suffix_of_or_eq_exists_append + (#a: Type) + (l1 l2: list a) +: Lemma + (ensures ((strict_suffix_of l1 l2 \/ l1 == l2) ==> (exists l3 . l2 == append l3 l1))) + +(** Properties of << with lists *) + +val precedes_tl + (#a: Type) + (l: list a {Cons? l}) +: Lemma (ensures (tl l << l)) + +val precedes_append_cons_r + (#a: Type) + (l1: list a) + (x: a) + (l2: list a) +: Lemma + (requires True) + (ensures (x << append l1 (x :: l2))) + [SMTPat (x << append l1 (x :: l2))] + +val precedes_append_cons_prod_r + (#a #b: Type) + (l1: list (a & b)) + (x: a) + (y: b) + (l2: list (a & b)) +: Lemma + (ensures + x << (append l1 ((x, y) :: l2)) /\ + y << (append l1 ((x, y) :: l2))) + +val memP_precedes + (#a: Type) + (x: a) + (l: list a) +: Lemma + (requires True) + (ensures (memP x l ==> x << l)) + +val assoc_precedes + (#a: eqtype) + (#b: Type) + (x: a) + (l: list (a & b)) + (y: b) +: Lemma + (requires (assoc x l == Some y)) + (ensures (x << l /\ y << l)) + +(** Properties about find *) + +val find_none + (#a: Type) + (f: (a -> Tot bool)) + (l: list a) + (x: a) +: Lemma + (requires (find f l == None /\ memP x l)) + (ensures (f x == false)) + +(** Properties of init and last *) + +val append_init_last (#a: Type) (l: list a { Cons? l }) : Lemma + (l == append (init l) [last l]) + +val init_last_def (#a: Type) (l: list a) (x: a) : Lemma + (let l' = append l [x] in + init l' == l /\ last l' == x) + +val init_last_inj (#a: Type) (l1: list a { Cons? l1 } ) (l2: list a { Cons? l2 } ) : Lemma + (requires (init l1 == init l2 /\ last l1 == last l2)) + (ensures (l1 == l2)) + +(* Properties of for_all *) + +val for_all_append #a (f: a -> Tot bool) (s1 s2: list a): Lemma + (ensures for_all f (s1 @ s2) <==> for_all f s1 && for_all f s2) \ No newline at end of file diff --git a/stage0/ulib/FStar.List.Tot.fst b/stage0/ulib/FStar.List.Tot.fst new file mode 100644 index 00000000000..1e10ef59993 --- /dev/null +++ b/stage0/ulib/FStar.List.Tot.fst @@ -0,0 +1,18 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.List.Tot +include FStar.List.Tot.Base +include FStar.List.Tot.Properties diff --git a/stage0/ulib/FStar.List.fst b/stage0/ulib/FStar.List.fst new file mode 100644 index 00000000000..f4b2640d1be --- /dev/null +++ b/stage0/ulib/FStar.List.fst @@ -0,0 +1,367 @@ +(* + 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. +*) + +(** +F* standard library List module. + +@summary F* stdlib List module. +*) +module FStar.List +open FStar.All +include FStar.List.Tot + +(** Base operations **) + +(** [hd l] returns the first element of [l]. Raises an exception if +[l] is empty (thus, [hd] hides [List.Tot.hd] which requires [l] to be +nonempty at type-checking time.) Named as in: OCaml, F#, Coq *) +val hd: list 'a -> ML 'a +let hd = function + | hd::tl -> hd + | _ -> failwith "head of empty list" + +(** [tail l] returns [l] without its first element. Raises an +exception if [l] is empty (thus, [tail] hides [List.Tot.tail] which +requires [l] to be nonempty at type-checking time). Similar to: tl in +OCaml, F#, Coq *) +val tail: list 'a -> ML (list 'a) +let tail = function + | hd::tl -> tl + | _ -> failwith "tail of empty list" + +(** [tl l] returns [l] without its first element. Raises an exception +if [l] is empty (thus, [tl] hides [List.Tot.tl] which requires [l] to +be nonempty at type-checking time). Named as in: tl in OCaml, F#, Coq +*) +val tl : list 'a -> ML (list 'a) +let tl l = tail l + +(** [last l] returns the last element of [l]. Requires, at +type-checking time, that [l] be nonempty. Named as in: Haskell +*) +val last: list 'a -> ML 'a +let rec last = function + | [hd] -> hd + | _::tl -> last tl + | _ -> failwith "last of empty list" + +(** [init l] returns [l] without its last element. Requires, at +type-checking time, that [l] be nonempty. Named as in: Haskell +*) +val init: list 'a -> ML (list 'a) +let rec init = function + | [_] -> [] + | hd::tl -> hd::(init tl) + | _ -> failwith "init of empty list" + +(** [nth l n] returns the [n]-th element in list [l] (with the first +element being the 0-th) if [l] is long enough, or raises an exception +otherwise (thus, [nth] hides [List.Tot.nth] which has [option] type.) +Named as in: OCaml, F#, Coq *) + +val nth: list 'a -> int -> ML 'a +let rec nth l n = + if n < 0 then + failwith "nth takes a non-negative integer as input" + else + if n = 0 then + match l with + | [] -> failwith "not enough elements" + | hd::_ -> hd + else + match l with + | [] -> failwith "not enough elements" + | _::tl -> nth tl (n - 1) + +(** Iterators **) + +(** [iter f l] performs [f x] for each element [x] of [l], in the +order in which they appear in [l]. Named as in: OCaml, F# . *) +val iter: ('a -> ML unit) -> list 'a -> ML unit +let rec iter f x = match x with + | [] -> () + | a::tl -> let _ = f a in iter f tl + +(** [iteri_aux n f l] performs, for each i, [f (i+n) x] for the i-th +element [x] of [l], in the order in which they appear in [l]. *) +val iteri_aux: int -> (int -> 'a -> ML unit) -> list 'a -> ML unit +let rec iteri_aux i f x = match x with + | [] -> () + | a::tl -> f i a; iteri_aux (i+1) f tl + +(** [iteri_aux f l] performs, for each [i], [f i x] for the i-th +element [x] of [l], in the order in which they appear in [l]. Named as +in: OCaml *) +val iteri: (int -> 'a -> ML unit) -> list 'a -> ML unit +let iteri f x = iteri_aux 0 f x + +(** [map f l] applies [f] to each element of [l] and returns the list +of results, in the order of the original elements in [l]. (Hides +[List.Tot.map] which requires, at type-checking time, [f] to be a pure +total function.) Named as in: OCaml, Coq, F# *) +val map: ('a -> ML 'b) -> list 'a -> ML (list 'b) +let rec map f x = match x with + | [] -> [] + | a::tl -> f a::map f tl + +(** [mapT f l] applies [f] to each element of [l] and returns the list +of results, in the order of the original elements in [l]. Requires, at +type-checking time, [f] to be a pure total function. *) +val mapT: ('a -> Tot 'b) -> list 'a -> Tot (list 'b) +let mapT = FStar.List.Tot.map + +(** [mapi_init f n l] applies, for each [k], [f (n+k)] to the [k]-th +element of [l] and returns the list of results, in the order of the +original elements in [l]. (Hides [List.Tot.mapi_init] which requires, +at type-checking time, [f] to be a pure total function.) *) +val mapi_init: (int -> 'a -> ML 'b) -> list 'a -> int -> ML (list 'b) +let rec mapi_init f l i = match l with + | [] -> [] + | hd::tl -> (f i hd)::(mapi_init f tl (i+1)) + +(** [mapi f l] applies, for each [k], [f k] to the [k]-th element of +[l] and returns the list of results, in the order of the original +elements in [l]. (Hides [List.Tot.mapi] which requires, at +type-checking time, [f] to be a pure total function.) Named as in: +OCaml *) +val mapi: (int -> 'a -> ML 'b) -> list 'a -> ML (list 'b) +let mapi f l = mapi_init f l 0 + +(** [concatMap f l] applies [f] to each element of [l] and returns the +concatenation of the results, in the order of the original elements of +[l]. This is equivalent to [flatten (map f l)]. (Hides +[List.Tot.concatMap], which requires, at type-checking time, [f] to be +a pure total function.) *) + +val concatMap: ('a -> ML (list 'b)) -> list 'a -> ML (list 'b) +let rec concatMap f = function + | [] -> [] + | a::tl -> + let fa = f a in + let ftl = concatMap f tl in + fa @ ftl + +(** [map2 f l1 l2] computes [f x1 x2] for each element x1 of [l1] and +the element [x2] of [l2] at the same position, and returns the list of +such results, in the order of the original elements in [l1]. Raises an +exception if [l1] and [l2] have different lengths. Named as in: OCaml +*) +val map2: ('a -> 'b -> ML 'c) -> list 'a -> list 'b -> ML (list 'c) +let rec map2 f l1 l2 = match l1, l2 with + | [], [] -> [] + | hd1::tl1, hd2::tl2 -> (f hd1 hd2)::(map2 f tl1 tl2) + | _, _ -> failwith "The lists do not have the same length" + +(** [map3 f l1 l2 l3] computes [f x1 x2 x3] for each element x1 of +[l1] and the element [x2] of [l2] and the element [x3] of [l3] at the +same position, and returns the list of such results, in the order of +the original elements in [l1]. Raises an exception if [l1], [l2] and +[l3] have different lengths. Named as in: OCaml *) +val map3: ('a -> 'b -> 'c -> ML 'd) -> list 'a -> list 'b -> list 'c -> ML (list 'd) +let rec map3 f l1 l2 l3 = match l1, l2, l3 with + | [], [], [] -> [] + | hd1::tl1, hd2::tl2, hd3::tl3 -> (f hd1 hd2 hd3)::(map3 f tl1 tl2 tl3) + | _, _, _ -> failwith "The lists do not have the same length" + +(** [fold_left f x [y1; y2; ...; yn]] computes (f (... (f x y1) y2) +... yn). (Hides [List.Tot.fold_left], which requires, at type-checking +time, [f] to be a pure total function.) Named as in: OCaml, Coq *) +val fold_left: ('a -> 'b -> ML 'a) -> 'a -> list 'b -> ML 'a +let rec fold_left f x y = match y with + | [] -> x + | hd::tl -> fold_left f (f x hd) tl + +(** [fold_left2 f x [y1; y2; ...; yn] [z1; z2; ...; zn]] computes (f +(... (f x y1 z1) y2 z2 ... yn zn). Raises an exception if [y1; y2; +...] and [z1; z2; ...] have different lengths. (Thus, hides +[List.Tot.fold_left2] which requires such a condition at type-checking +time.) Named as in: OCaml *) +val fold_left2: ('s -> 'a -> 'b -> ML 's) -> 's -> list 'a -> list 'b -> ML 's +let rec fold_left2 f a l1 l2 = match l1, l2 with + | [], [] -> a + | hd1::tl1, hd2::tl2 -> fold_left2 f (f a hd1 hd2) tl1 tl2 + | _, _ -> failwith "The lists do not have the same length" + +(** [fold_right f [x1; x2; ...; xn] y] computes (f x1 (f x2 (... (f xn +y)) ... )). (Hides [List.Tot.fold_right], which requires, at +type-checking time, [f] to be a pure total function.) Named as in: +OCaml, Coq *) +val fold_right: ('a -> 'b -> ML 'b) -> list 'a -> 'b -> ML 'b +let rec fold_right f l x = match l with + | [] -> x + | hd::tl -> f hd (fold_right f tl x) + +(** List searching **) + +(** [filter f l] returns [l] with all elements [x] such that [f x] +does not hold removed. (Hides [List.Tot.filter] which requires, at +type-checking time, [f] to be a pure total function.) Named as in: +OCaml, Coq *) +val filter: ('a -> ML bool) -> list 'a -> ML (list 'a) +let rec filter f = function + | [] -> [] + | hd::tl -> if f hd then hd::(filter f tl) else filter f tl + +(** [for_all f l] returns [true] if, and only if, for all elements [x] +appearing in [l], [f x] holds. (Hides [List.Tot.for_all], which +requires, at type-checking time, [f] to be a pure total function.) +Named as in: OCaml. Similar to: List.forallb in Coq *) +val for_all: ('a -> ML bool) -> list 'a -> ML bool +let rec for_all f l = match l with + | [] -> true + | hd::tl -> if f hd then for_all f tl else false + +(** [for_all f l1 l2] returns [true] if, and only if, for all elements +[x1] appearing in [l1] and the element [x2] appearing in [l2] at the +same position, [f x1 x2] holds. Raises an exception if [l1] and [l2] +have different lengths. Similar to: List.for_all2 in OCaml. Similar +to: List.Forall2 in Coq (which is propositional) *) +val forall2: ('a -> 'b -> ML bool) -> list 'a -> list 'b -> ML bool +let rec forall2 f l1 l2 = match l1,l2 with + | [], [] -> true + | hd1::tl1, hd2::tl2 -> if f hd1 hd2 then forall2 f tl1 tl2 else false + | _, _ -> failwith "The lists do not have the same length" + +(** [collect f l] applies [f] to each element of [l] and returns the +concatenation of the results, in the order of the original elements of +[l]. It is equivalent to [flatten (map f l)]. (Hides +[List.Tot.collect] which requires, at type-checking time, [f] to be a +pure total function.) TODO: what is the difference with [concatMap]? +*) +val collect: ('a -> ML (list 'b)) -> list 'a -> ML (list 'b) +let rec collect f l = match l with + | [] -> [] + | hd::tl -> append (f hd) (collect f tl) + +(** [tryFind f l] returns [Some x] for some element [x] appearing in +[l] such that [f x] holds, or [None] only if no such [x] +exists. (Hides [List.Tot.tryFind], which requires, at type-checking +time, [f] to be a pure total function.) *) +val tryFind: ('a -> ML bool) -> list 'a -> ML (option 'a) +let rec tryFind p l = match l with + | [] -> None + | hd::tl -> if p hd then Some hd else tryFind p tl + +(** [tryPick f l] returns [y] for some element [x] appearing in [l] +such that [f x = Some y] for some y, or [None] only if [f x = None] +for all elements [x] of [l]. (Hides [List.Tot.tryPick], which +requires, at type-checking time, [f] to be a pure total function.) *) +val tryPick: ('a -> ML (option 'b)) -> list 'a -> ML (option 'b) +let rec tryPick f l = match l with + | [] -> None + | hd::tl -> + match f hd with + | Some x -> Some x + | None -> tryPick f tl + +(** [choose f l] returns the list of [y] for all elements [x] +appearing in [l] such that [f x = Some y] for some [y]. (Hides +[List.Tot.choose] which requires, at type-checking time, [f] to be a +pure total function.) *) +val choose: ('a -> ML (option 'b)) -> list 'a -> ML (list 'b) +let rec choose f l = match l with + | [] -> [] + | hd::tl -> + match f hd with + | Some x -> x::(choose f tl) + | None -> choose f tl + +(** [partition f l] returns the pair of lists [(l1, l2)] where all +elements [x] of [l] are in [l1] if [f x] holds, and in [l2] +otherwise. Both [l1] and [l2] retain the original order of [l]. (Hides +[List.Tot.partition], which requires, at type-checking time, [f] to be +a pure total function.) *) +val partition: ('a -> ML bool) -> list 'a -> ML (list 'a & list 'a) +let rec partition f = function + | [] -> [], [] + | hd::tl -> + let l1, l2 = partition f tl in + if f hd + then hd::l1, l2 + else l1, hd::l2 + +(** List of tuples **) + +(** [zip] takes two lists [x1, ..., xn] and [y1, ..., yn] and returns +the list of pairs [(x1, y1), ..., (xn, yn)]. Raises an exception if +the two lists have different lengths. Named as in: Haskell *) +val zip: list 'a -> list 'b -> ML (list ('a & 'b)) +let rec zip l1 l2 = match l1,l2 with + | [], [] -> [] + | hd1::tl1, hd2::tl2 -> (hd1,hd2)::(zip tl1 tl2) + | _, _ -> failwith "The lists do not have the same length" + +(** Sorting (implemented as quicksort) **) + +(** [sortWith compare l] returns the list [l'] containing the elements +of [l] sorted along the comparison function [compare], in such a way +that if [compare x y > 0], then [x] appears before [y] in [l']. (Hides +[List.Tot.sortWith], which requires, at type-checking time, [compare] +to be a pure total function.) *) +val sortWith: ('a -> 'a -> ML int) -> list 'a -> ML (list 'a) +let rec sortWith f = function + | [] -> [] + | pivot::tl -> + let hi, lo = partition (fun x -> f pivot x > 0) tl in + sortWith f lo@(pivot::sortWith f hi) + +(** [splitAt n l] returns the pair of lists [(l1, l2)] such that [l1] +contains the first [n] elements of [l] and [l2] contains the +rest. Raises an exception if [l] has fewer than [n] elements. *) +val splitAt: nat -> list 'a -> ML (list 'a & list 'a) +let rec splitAt n l = + if n = 0 then [], l + else + match l with + | [] -> failwith "splitAt index is more that list length" + | hd::tl -> + let l1, l2 = splitAt (n - 1) tl in + hd::l1, l2 + +(** [filter_map f l] returns the list of [y] for all elements [x] +appearing in [l] such that [f x = Some y] for some [y]. (Implemented +here as a tail-recursive version of [choose] *) +let filter_map (f:'a -> ML (option 'b)) (l:list 'a) : ML (list 'b) = + let rec filter_map_acc (acc:list 'b) (l:list 'a) : ML (list 'b) = + match l with + | [] -> + rev acc + | hd :: tl -> + match f hd with + | Some hd -> + filter_map_acc (hd :: acc) tl + | None -> + filter_map_acc acc tl + in + filter_map_acc [] l + +(** [index f l] returns the position index in list [l] of the first +element [x] in [l] such that [f x] holds. Raises an exception if no +such [x] exists. TODO: rename this function (it hides List.Tot.index +which has a completely different semantics.) *) +val index: ('a -> ML bool) -> list 'a -> ML int +let index f l = + let rec index l i : ML int = + match l with + | [] -> + failwith "List.index: not found" + | hd :: tl -> + if f hd then + i + else + index tl (i + 1) + in + index l 0 diff --git a/stage0/ulib/FStar.MRef.fst b/stage0/ulib/FStar.MRef.fst new file mode 100644 index 00000000000..4c5d8c3ed6b --- /dev/null +++ b/stage0/ulib/FStar.MRef.fst @@ -0,0 +1,37 @@ +(* + 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.MRef +open FStar.Heap +open FStar.ST + +open FStar.Preorder + +private let p_pred (#a:Type) (#b:preorder a) (r:mref a b) (p:(a -> Type)) + = fun h -> h `contains` r /\ p (sel h r) + +let token #_ #_ r p = witnessed (p_pred r p) + +let witness_token #_ #_ m p = + gst_recall (contains_pred m); + gst_witness (p_pred m p) + +let recall_token #_ #_ m p = gst_recall (p_pred m p) + +let lemma_functoriality #_ #_ r p q = lemma_functoriality (p_pred r p) (p_pred r q) + +let recall p = gst_recall p + +let witness p = gst_witness p diff --git a/stage0/ulib/FStar.MRef.fsti b/stage0/ulib/FStar.MRef.fsti new file mode 100644 index 00000000000..d31f2746bf3 --- /dev/null +++ b/stage0/ulib/FStar.MRef.fsti @@ -0,0 +1,50 @@ +(* + 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.MRef +open FStar.Heap +open FStar.ST + +open FStar.Preorder + +let stable = FStar.Preorder.stable + +val token (#a:Type) (#b:preorder a) (r:mref a b) (p:(a -> Type){stable p b}) : Type0 + +val witness_token: #a:Type -> #b:preorder a -> m:mref a b -> p:(a -> Type){stable p b} + -> ST unit (requires (fun h0 -> p (sel h0 m))) + (ensures (fun h0 _ h1 -> h0==h1 /\ token m p)) + +val recall_token: #a:Type -> #b:preorder a -> m:mref a b -> p:(a -> Type){stable p b} + -> ST unit (requires (fun _ -> token m p)) + (ensures (fun h0 _ h1 -> h0==h1 /\ p (sel h1 m))) + +let spred (#a:Type) (rel:preorder a) = p:(a -> Type){Preorder.stable p rel} + +val lemma_functoriality (#a:Type) (#rel:preorder a) (r:mref a rel) (p q:spred rel) + : Lemma (requires (token r p /\ (forall x. p x ==> q x))) + (ensures (token r q)) + +(* KM : These don't have much to do here... *) + +val recall: p:(heap -> Type){ST.stable p} -> + ST unit + (requires (fun _ -> witnessed p)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ p h1)) + +val witness: p:(heap -> Type){ST.stable p} -> + ST unit + (requires (fun h0 -> p h0)) + (ensures (fun h0 _ h1 -> h0==h1 /\ witnessed p)) diff --git a/stage0/ulib/FStar.Map.fst b/stage0/ulib/FStar.Map.fst new file mode 100644 index 00000000000..540ea614292 --- /dev/null +++ b/stage0/ulib/FStar.Map.fst @@ -0,0 +1,102 @@ +(* + 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. +*) +(** + * Implementation of partial maps with extensional equality + *) +module FStar.Map +open FStar.Set +open FStar.FunctionalExtensionality +module S = FStar.Set +module F = FStar.FunctionalExtensionality + + +(* The main "trick" in the representation of the type `t` + * is to use a domain-restricted function type `key ^-> value` + * from the FStar.FunctionalExtensionality library. + * These restricted function types enjoy extensional equality, + * which is necessary if Map.t is to also enjoy extensional equality. + *) +noeq +type t (key:eqtype) (value:Type) = { + mappings: key ^-> value; + domain: set key +} + +let sel #key #value m k = m.mappings k + +(* Since mappings are restricted functions, + assignments to that field must use `F.on` + to restrict the domain of the functional maps *) +let upd #key #value m k v = { + mappings = F.on key (fun x -> if x = k then v else m.mappings x); + domain = S.union m.domain (singleton k) +} + +(* idem *) +let const #key #value v = { + mappings = F.on key (fun _ -> v); + domain = complement empty +} + +let domain #key #value m = m.domain + +let contains #key #value m k = mem k m.domain + +(* Again, use F.on to build a domain-restricted function *) +let concat #key #value m1 m2 = { + mappings = F.on key (fun x -> if mem x m2.domain then m2.mappings x else m1.mappings x); + domain = union m1.domain m2.domain +} + +let map_val #_ #_ f #key m = { + mappings = F.on key (fun x -> f (m.mappings x)); + domain = m.domain +} + +let restrict #key #value s m = { + mappings = m.mappings; + domain = intersect s m.domain +} + +let map_literal #k #v f = { + mappings = F.on k f; + domain = complement empty; +} + +let lemma_SelUpd1 #key #value m k v = () +let lemma_SelUpd2 #key #value m k1 k2 v = () +let lemma_SelConst #key #value v k = () +let lemma_SelRestrict #key #value m ks k = () +let lemma_SelConcat1 #key #value m1 m2 k = () +let lemma_SelConcat2 #key #value m1 m2 k = () +let lemma_SelMapVal #val1 #val2 f #key m k = () +let lemma_InDomUpd1 #key #value m k1 k2 v = () +let lemma_InDomUpd2 #key #value m k1 k2 v = () +let lemma_InDomConstMap #key #value v k = () +let lemma_InDomConcat #key #value m1 m2 k = () +let lemma_InMapVal #val1 #val2 f #key m k = () +let lemma_InDomRestrict #key #value m ks k = () +let lemma_ContainsDom #key #value m k = () +let lemma_UpdDomain #key #value m k v = () +let lemma_map_literal #key #value f = () + +let equal (#key:eqtype) (#value:Type) (m1:t key value) (m2:t key value) : Type0 = + F.feq m1.mappings m2.mappings /\ + S.equal m1.domain m2.domain + +let lemma_equal_intro #key #value m1 m2 = () +let lemma_equal_elim #key #value m1 m2 = () +let lemma_equal_refl #key #value m1 m2 = () diff --git a/stage0/ulib/FStar.Map.fsti b/stage0/ulib/FStar.Map.fsti new file mode 100644 index 00000000000..109aa14bdeb --- /dev/null +++ b/stage0/ulib/FStar.Map.fsti @@ -0,0 +1,189 @@ +(* + 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. +*) + +(** + + @summary FStar.Map provides a polymorphic, partial map from keys to + values, where keys support decidable equality. + + `m:Map.t key value` is a partial map from `key` to `value` + + A distinctive feature of the library is in its model of partiality. + + A map can be seen as a pair of: + 1. a total map `key -> Tot value` + 2. a set of keys that record the domain of the map + +*) +module FStar.Map +module S = FStar.Set + +(* Map.t key value: The main type provided by this module *) +val t (key:eqtype) ([@@@strictly_positive] value:Type u#a) + : Type u#a + +(* sel m k : Look up key `k` in map `m` *) +val sel: #key:eqtype -> #value:Type -> t key value -> key -> Tot value + +(* upd m k v : A map identical to `m` except mapping `k` to `v` *) +val upd: #key:eqtype -> #value:Type -> t key value -> key -> value -> Tot (t key value) + +(* const v : A constant map mapping all keys to `v` *) +val const: #key:eqtype -> #value:Type -> value -> Tot (t key value) + +(* domain m : The set of keys on which this partial map is defined *) +val domain: #key:eqtype -> #value:Type -> t key value -> Tot (S.set key) + +(* contains m k: Decides if key `k` is in the map `m` *) +val contains: #key:eqtype -> #value:Type -> t key value -> key -> Tot bool + +(* concat m1 m2 : + A map whose domain is the union of the domains of `m1` and `m2`. + + Maps every key `k` in the domain of `m1` to `sel m1 k` + and all other keys to `sel m2 k`. +*) +val concat: #key:eqtype -> #value:Type -> t key value -> t key value -> Tot (t key value) + +(* map_val f m: + A map whose domain is the same as `m` but all values have + `f` applied to them. +*) +val map_val: #val1:Type -> #val2:Type -> f:(val1 -> val2) -> #key:eqtype -> t key val1 -> Tot (t key val2) + +(* restrict s m: + Restricts the domain of `m` to (domain m `intersect` s) +*) +val restrict: #key:eqtype -> #value:Type -> S.set key -> t key value -> Tot (t key value) + +(* const_on dom v: A defined notion, for convenience + A partial constant map on dom +*) +let const_on (#key:eqtype) (#value:Type) (dom:S.set key) (v:value) + : t key value + = restrict dom (const v) + + +(* map_literal f: A map that is extensionally equal to the function [f] *) +val map_literal (#k:eqtype) (#v:Type) (f: k -> Tot v) + : t k v + +(* disjoint_dom m1 m2: + Disjoint domains. TODO: its pattern is biased towards `m1`. Why? + *) +let disjoint_dom (#key:eqtype) (#value:Type) (m1:t key value) (m2:t key value) + = forall x.{:pattern (contains m1 x)(* ; (contains m2 x) *)} contains m1 x ==> not (contains m2 x) + +(* has_dom m dom: A relational version of the `domain m` function *) +let has_dom (#key:eqtype) (#value:Type) (m:t key value) (dom:S.set key) + = forall x. contains m x <==> S.mem x dom + +(* Properties about map functions *) +val lemma_SelUpd1: #key:eqtype -> #value:Type -> m:t key value -> k:key -> v:value -> + Lemma (requires True) (ensures (sel (upd m k v) k == v)) + [SMTPat (sel (upd m k v) k)] + +val lemma_SelUpd2: #key:eqtype -> #value:Type -> m:t key value -> k1:key -> k2:key -> v:value -> + Lemma (requires True) (ensures (k2=!=k1 ==> sel (upd m k2 v) k1 == sel m k1)) + [SMTPat (sel (upd m k2 v) k1)] + +val lemma_SelConst: #key:eqtype -> #value:Type -> v:value -> k:key -> + Lemma (requires True) (ensures (sel (const v) k == v)) + [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 (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 -> + Lemma (requires True) (ensures (contains m2 k ==> sel (concat m1 m2) k==sel m2 k)) + [SMTPat (sel (concat m1 m2) k)] + +val lemma_SelConcat2: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> k:key -> + Lemma (requires True) (ensures (not(contains m2 k) ==> sel (concat m1 m2) k==sel m1 k)) + [SMTPat (sel (concat m1 m2) k)] + +val lemma_SelMapVal: #val1:Type -> #val2:Type -> f:(val1 -> val2) -> #key:eqtype -> m:t key val1 -> k:key -> + Lemma (requires True) (ensures (sel (map_val f m) k == f (sel m k))) + [SMTPat (sel (map_val f m) k)] + +val lemma_InDomUpd1: #key:eqtype -> #value:Type -> m:t key value -> k1:key -> k2:key -> v:value -> + Lemma (requires True) (ensures (contains (upd m k1 v) k2 == (k1=k2 || contains m k2))) + [SMTPat (contains (upd m k1 v) k2)] + +val lemma_InDomUpd2: #key:eqtype -> #value:Type -> m:t key value -> k1:key -> k2:key -> v:value -> + Lemma (requires True) (ensures (k2=!=k1 ==> contains (upd m k2 v) k1 == contains m k1)) + [SMTPat (contains (upd m k2 v) k1)] + +val lemma_InDomConstMap: #key:eqtype -> #value:Type -> v:value -> k:key -> + Lemma (requires True) (ensures (contains (const v) k)) + [SMTPat (contains (const v) k)] + +val lemma_InDomConcat: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> k:key -> + Lemma (requires True) (ensures (contains (concat m1 m2) k==(contains m1 k || contains m2 k))) + [SMTPat (contains (concat m1 m2) k)] + +val lemma_InMapVal: #val1:Type -> #val2:Type -> f:(val1 -> val2) -> #key:eqtype -> m:t key val1 -> k:key -> + Lemma (requires True) (ensures (contains (map_val f m) k == contains m k)) + [SMTPat (contains (map_val f m) k)] + +val lemma_InDomRestrict: #key:eqtype -> #value:Type -> m:t key value -> ks:S.set key -> k:key -> + Lemma (requires True) (ensures (contains (restrict ks m) k == (S.mem k ks && contains m k))) + [SMTPat (contains (restrict ks m) k)] + +val lemma_ContainsDom: #key:eqtype -> #value:Type -> m:t key value -> k:key -> + Lemma (requires True) (ensures (contains m k = S.mem k (domain m))) + [SMTPatOr[[SMTPat (contains m k)]; [SMTPat (S.mem k (domain m))]]] + +val lemma_UpdDomain : #key:eqtype -> #value:Type -> m:t key value -> k:key -> v:value -> + Lemma (requires True) + (ensures (S.equal (domain (upd m k v)) (S.union (domain m) (S.singleton k)))) + [SMTPat (domain (upd m k v))] + +val lemma_map_literal (#k:eqtype) (#v:Type) (f: k -> Tot v) + : Lemma ((forall k.{:pattern (sel (map_literal f) k)} sel (map_literal f) k == f k) /\ + domain (map_literal f) == Set.complement Set.empty) + [SMTPat (map_literal f)] + +(*** Extensional equality ***) + +(* equal m1 m2: + Maps `m1` and `m2` have the same domain and + and are pointwise equal on that domain. + *) +val equal (#key:eqtype) (#value:Type) (m1:t key value) (m2:t key value) : prop + +(* lemma_equal_intro: + Introducing `equal m1 m2` by showing maps to be pointwise equal on the same domain +*) +val lemma_equal_intro: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> + Lemma (requires (forall k. sel m1 k == sel m2 k /\ + contains m1 k = contains m2 k)) + (ensures (equal m1 m2)) + [SMTPat (equal m1 m2)] + +(* lemma_equal_elim: + Eliminating `equal m1 m2` to provable equality of maps + Internally, this involves a use of functional extensionality +*) +val lemma_equal_elim: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> + Lemma (ensures (equal m1 m2 <==> m1 == m2)) + [SMTPat (equal m1 m2)] + +[@@(deprecated "Use lemma_equal_elim instead")] +val lemma_equal_refl: #key:eqtype -> #value:Type -> m1:t key value -> m2:t key value -> + Lemma (requires (m1 == m2)) + (ensures (equal m1 m2)) diff --git a/stage0/ulib/FStar.MarkovsPrinciple.fst b/stage0/ulib/FStar.MarkovsPrinciple.fst new file mode 100644 index 00000000000..fd10c91d1fa --- /dev/null +++ b/stage0/ulib/FStar.MarkovsPrinciple.fst @@ -0,0 +1,26 @@ +(* + 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.MarkovsPrinciple + +assume val markovs_principle : p:(nat -> Tot bool) -> Ghost nat + (requires (~(forall (n:nat). ~(p n)))) + (ensures (fun n -> p n)) + +(* here is a stronger variant of Markov's principle + (might be as strong as indefinite description?) *) +assume val stronger_markovs_principle : p:(nat -> GTot bool) -> Ghost nat + (requires (~(forall (n:nat). ~(p n)))) + (ensures (fun n -> p n)) diff --git a/stage0/ulib/FStar.Math.Euclid.fst b/stage0/ulib/FStar.Math.Euclid.fst new file mode 100644 index 00000000000..cdd3bae2979 --- /dev/null +++ b/stage0/ulib/FStar.Math.Euclid.fst @@ -0,0 +1,273 @@ +module FStar.Math.Euclid + +open FStar.Mul +open FStar.Math.Lemmas + +/// +/// Auxiliary lemmas +/// + +val eq_mult_left (a b:int) : Lemma (requires a = b * a) (ensures a = 0 \/ b = 1) +let eq_mult_left a b = () + +val eq_mult_one (a b:int) : Lemma + (requires a * b = 1) + (ensures (a = 1 /\ b = 1) \/ (a = -1 /\ b = -1)) +let eq_mult_one a b = () + +val opp_idempotent (a:int) : Lemma (-(-a) == a) +let opp_idempotent a = () + +val add_sub_l (a b:int) : Lemma (a - b + b = a) +let add_sub_l a b = () + +val add_sub_r (a b:int) : Lemma (a + b - b = a) +let add_sub_r a b = () + +/// +/// Divides relation +/// + +let divides_reflexive a = + Classical.exists_intro (fun q -> a = q * a) 1 + +let divides_transitive a b c = + eliminate exists q1. b == q1 * a + returns a `divides` c + with _pf. + eliminate exists q2. c == q2 * b + returns _ + with _pf2. + introduce exists q. c == q * a + with (q1 * q2) + and () + + +let divide_antisym a b = + if a <> 0 then + Classical.exists_elim (a = b \/ a = -b) (Squash.get_proof (exists q1. b = q1 * a)) + (fun q1 -> + Classical.exists_elim (a = b \/ a = -b) (Squash.get_proof (exists q2. a = q2 * b)) + (fun q2 -> + assert (b = q1 * a); + assert (a = q2 * b); + assert (b = q1 * (q2 * b)); + paren_mul_right q1 q2 b; + eq_mult_left b (q1 * q2); + eq_mult_one q1 q2)) + +let divides_0 a = + Classical.exists_intro (fun q -> 0 = q * a) 0 + +let divides_1 a = () + +let divides_minus a b = + Classical.exists_elim (a `divides` (-b)) + (Squash.get_proof (a `divides` b)) + (fun q -> Classical.exists_intro (fun q' -> -b = q' * a) (-q)) + +let divides_opp a b = + Classical.exists_elim ((-a) `divides` b) + (Squash.get_proof (a `divides` b)) + (fun q -> Classical.exists_intro (fun q' -> b = q' * (-a)) (-q)) + +let divides_plus a b d = + Classical.exists_elim (d `divides` (a + b)) (Squash.get_proof (exists q1. a = q1 * d)) + (fun q1 -> + Classical.exists_elim (d `divides` (a + b)) (Squash.get_proof (exists q2. b = q2 * d)) + (fun q2 -> + assert (a + b = q1 * d + q2 * d); + distributivity_add_left q1 q2 d; + Classical.exists_intro (fun q -> a + b = q * d) (q1 + q2))) + +let divides_sub a b d = + Classical.forall_intro_2 (Classical.move_requires_2 divides_minus); + divides_plus a (-b) d + +let divides_mult_right a b d = + Classical.exists_elim (d `divides` (a * b)) (Squash.get_proof (d `divides` b)) + (fun q -> + paren_mul_right a q d; + Classical.exists_intro (fun r -> a * b = r * d) (a * q)) + +/// +/// GCD +/// + +let mod_divides a b = + Classical.exists_intro (fun q -> a = q * b) (a / b) + +let divides_mod a b = + Classical.exists_elim (a % b = 0) (Squash.get_proof (b `divides` a)) + (fun q -> cancel_mul_div q b) + +let is_gcd_unique a b c d = + divide_antisym c d + +let is_gcd_reflexive a = () + +let is_gcd_symmetric a b d = () + +let is_gcd_0 a = () + +let is_gcd_1 a = () + +let is_gcd_minus a b d = + Classical.forall_intro_2 (Classical.move_requires_2 divides_minus); + opp_idempotent b + +let is_gcd_opp a b d = + Classical.forall_intro_2 (Classical.move_requires_2 divides_minus); + divides_opp d a; + divides_opp d b + +let is_gcd_plus a b q d = + add_sub_r b (q * a); + Classical.forall_intro_3 (Classical.move_requires_3 divides_plus); + Classical.forall_intro_3 (Classical.move_requires_3 divides_mult_right); + Classical.forall_intro_3 (Classical.move_requires_3 divides_sub) + +/// +/// Extended Euclidean algorithm +/// + +val is_gcd_for_euclid (a b q d:int) : Lemma + (requires is_gcd b (a - q * b) d) + (ensures is_gcd a b d) +let is_gcd_for_euclid a b q d = + add_sub_l a (q * b); + is_gcd_plus b (a - q * b) q d + +val egcd (a b u1 u2 u3 v1 v2 v3:int) : Pure (int & int & int) + (requires v3 >= 0 /\ + u1 * a + u2 * b = u3 /\ + v1 * a + v2 * b = v3 /\ + (forall d. is_gcd u3 v3 d ==> is_gcd a b d)) + (ensures (fun (u, v, d) -> u * a + v * b = d /\ is_gcd a b d)) + (decreases v3) + +let rec egcd a b u1 u2 u3 v1 v2 v3 = + if v3 = 0 then + begin + divides_0 u3; + (u1, u2, u3) + end + else + begin + let q = u3 / v3 in + euclidean_division_definition u3 v3; + assert (u3 - q * v3 = (q * v3 + u3 % v3) - q * v3); + assert (q * v3 - q * v3 = 0); + swap_add_plus_minus (q * v3) (u3 % v3) (q * v3); + calc (==) { + (u1 - q * v1) * a + (u2 - q * v2) * b; + == { _ by (FStar.Tactics.Canon.canon()) } + (u1 * a + u2 * b) - q * (v1 * a + v2 * b); + == { } + u3 - q * v3; + == { lemma_div_mod u3 v3 } + u3 % v3; + }; + let u1, v1 = v1, u1 - q * v1 in + let u2, v2 = v2, u2 - q * v2 in + let u3' = u3 in + let v3' = v3 in + let u3, v3 = v3, u3 - q * v3 in + (* proving the implication in the precondition *) + introduce forall d. is_gcd v3' (u3' - q * v3') d ==> is_gcd u3' v3' d with + introduce _ ==> _ with _. + is_gcd_for_euclid u3' v3' q d; + let r = egcd a b u1 u2 u3 v1 v2 v3 in + r + end + +let euclid_gcd a b = + if b >= 0 then + egcd a b 1 0 a 0 1 b + else ( + introduce forall d. is_gcd a (-b) d ==> is_gcd a b d + with introduce _ ==> _ + with _pf. + (is_gcd_minus a b d; + is_gcd_symmetric b a d); + let res = egcd a b 1 0 a 0 (-1) (-b) in + let _, _, d = res in + assert (is_gcd a b d); + res + ) + +val is_gcd_prime_aux (p:int) (a:pos{a < p}) (d:int) : Lemma + (requires is_prime p /\ d `divides` p /\ d `divides` a) + (ensures d = 1 \/ d = -1) +let is_gcd_prime_aux p a d = () + +val is_gcd_prime (p:int{is_prime p}) (a:pos{a < p}) : Lemma (is_gcd p a 1) +let is_gcd_prime p a = + Classical.forall_intro_2 (Classical.move_requires_2 divides_minus); + Classical.forall_intro (Classical.move_requires (is_gcd_prime_aux p a)); + assert (forall x. x `divides` p /\ x `divides` a ==> x = 1 \/ x = -1 /\ x `divides` 1) + +let bezout_prime p a = + let r, s, d = euclid_gcd p a in + assert (r * p + s * a = d); + assert (is_gcd p a d); + is_gcd_prime p a; + is_gcd_unique p a 1 d; + assert (d = 1 \/ d = -1); + assert ((-r) * p + (-s) * a == -(r * p + s * a)) by (FStar.Tactics.Canon.canon()); + if d = 1 then r, s else -r, -s + +let euclid n a b r s = + let open FStar.Math.Lemmas in + calc (==) { + b % n; + == { distributivity_add_left (r * n) (s * a) b } + (r * n * b + s * a * b) % n; + == { paren_mul_right s a b } + (r * n * b + s * (a * b)) % n; + == { modulo_distributivity (r * n * b) (s * (a * b)) n } + ((r * n * b) % n + s * (a * b) % n) % n; + == { lemma_mod_mul_distr_r s (a * b) n } + ((r * n * b) % n + s * ((a * b) % n) % n) % n; + == { assert (a * b % n = 0) } + ((r * n * b) % n + s * 0 % n) % n; + == { assert (s * 0 == 0) } + ((r * n * b) % n + 0 % n) % n; + == { modulo_lemma 0 n } + ((r * n * b) % n) % n; + == { lemma_mod_twice (r * n * b) n } + (r * n * b) % n; + == { _ by (FStar.Tactics.Canon.canon ()) } + (n * (r * b)) % n; + == { lemma_mod_mul_distr_l n (r * b) n} + n % n * (r * b) % n; + == { assert (n % n = 0) } + (0 * (r * b)) % n; + == { assert (0 * (r * b) == 0) } + 0 % n; + == { small_mod 0 n } + 0; + } + +let euclid_prime p a b = + let ra, sa, da = euclid_gcd p a in + let rb, sb, db = euclid_gcd p b in + assert (is_gcd p a da); + assert (is_gcd p b db); + assert (da `divides` p); + assert (da = 1 \/ da = -1 \/ da = p \/ da = -p); + if da = 1 then + euclid p a b ra sa + else if da = -1 then + begin + assert ((-ra) * p + (-sa) * a == -(ra * p + sa * a)) by (FStar.Tactics.Canon.canon()); + euclid p a b (-ra) (-sa) + end + else if da = p then + divides_mod a p + else + begin + opp_idempotent p; + divides_opp (-p) a; + divides_mod a p + end diff --git a/stage0/ulib/FStar.Math.Euclid.fsti b/stage0/ulib/FStar.Math.Euclid.fsti new file mode 100644 index 00000000000..f5d2ac9b965 --- /dev/null +++ b/stage0/ulib/FStar.Math.Euclid.fsti @@ -0,0 +1,127 @@ +module FStar.Math.Euclid + +open FStar.Mul + +/// +/// Divides relation +/// +/// It is reflexive, transitive, and antisymmetric up to sign. +/// When a <> 0, a `divides` b iff a % b = 0 (this is proved below) +/// + +let divides (a b:int) : prop = exists q. b = q * a + +val divides_reflexive (a:int) : Lemma (a `divides` a) [SMTPat (a `divides` a)] + +val divides_transitive (a b c:int) : Lemma + (requires a `divides` b /\ b `divides` c) + (ensures a `divides` c) + +val divide_antisym (a b:int) : Lemma + (requires a `divides` b /\ b `divides` a) + (ensures a = b \/ a = -b) + +val divides_0 (a:int) : Lemma (a `divides` 0) + +val divides_1 (a:int) : Lemma (requires a `divides` 1) (ensures a = 1 \/ a = -1) + +val divides_minus (a b:int) : Lemma + (requires a `divides` b) + (ensures a `divides` (-b)) + +val divides_opp (a b:int) : Lemma + (requires a `divides` b) + (ensures (-a) `divides` b) + +val divides_plus (a b d:int) : Lemma + (requires d `divides` a /\ d `divides` b) + (ensures d `divides` (a + b)) + +val divides_sub (a b d:int) : Lemma + (requires d `divides` a /\ d `divides` b) + (ensures d `divides` (a - b)) + +val divides_mult_right (a b d:int) : Lemma + (requires d `divides` b) + (ensures d `divides` (a * b)) + +/// +/// Greatest Common Divisor (GCD) relation +/// +/// We deviate from the standard definition in that we allow the divisor to +/// be negative. Thus, the GCD of two integers is unique up to sign. +/// + +let is_gcd (a b d:int) : prop = + d `divides` a /\ + d `divides` b /\ + (forall x. (x `divides` a /\ x `divides` b) ==> x `divides` d) + +val mod_divides (a:int) (b:nonzero) : Lemma (requires a % b = 0) (ensures b `divides` a) + +val divides_mod (a:int) (b:nonzero) : Lemma (requires b `divides` a) (ensures a % b = 0) + +val is_gcd_unique (a b c d:int) : Lemma + (requires is_gcd a b c /\ is_gcd a b d) + (ensures c = d \/ c = -d) + +val is_gcd_reflexive (a:int) : Lemma (is_gcd a a a) + +val is_gcd_symmetric (a b d:int) : Lemma + (requires is_gcd a b d) + (ensures is_gcd b a d) + +val is_gcd_0 (a:int) : Lemma (is_gcd a 0 a) + +val is_gcd_1 (a:int) : Lemma (is_gcd a 1 1) + +val is_gcd_minus (a b d:int) : Lemma + (requires is_gcd a (-b) d) + (ensures is_gcd b a d) + +val is_gcd_opp (a b d:int) : Lemma + (requires is_gcd a b d) + (ensures is_gcd b a (-d)) + +val is_gcd_plus (a b q d:int) : Lemma + (requires is_gcd a b d) + (ensures is_gcd a (b + q * a) d) + +/// +/// Extended Euclidean algorithm +/// +/// Computes the GCD of two integers (a, b) together with Bézout coefficients +/// (r, s) satisfying r a + s b = gcd(a, b) +/// + +val euclid_gcd (a b:int) : Pure (int & int & int) + (requires True) + (ensures fun (r, s, d) -> r * a + s * b = d /\ is_gcd a b d) + +/// +/// A definition of primality based on the divides relation +/// + +let is_prime (p:int) = + 1 < p /\ + (forall (d:int).{:pattern (d `divides` p)} + (d `divides` p ==> (d = 1 \/ d = -1 \/ d = p \/ d = -p))) + +val bezout_prime (p:int) (a:pos{a < p}) : Pure (int & int) + (requires is_prime p) + (ensures fun (r, s) -> r * p + s * a = 1) + +/// +/// Euclid's lemma and its generalization to arbitrary integers +/// +/// - If a prime p divides a*b, then it must divide at least one of a or b +/// - If n divides a*b and a,n are coprime then n divides b +/// + +val euclid (n:pos) (a b r s:int) : Lemma + (requires (a * b) % n = 0 /\ r * n + s * a = 1) + (ensures b % n = 0) + +val euclid_prime (p:int{is_prime p}) (a b:int) : Lemma + (requires (a * b) % p = 0) + (ensures a % p = 0 \/ b % p = 0) diff --git a/stage0/ulib/FStar.Math.Fermat.fst b/stage0/ulib/FStar.Math.Fermat.fst new file mode 100644 index 00000000000..1c8140d0cff --- /dev/null +++ b/stage0/ulib/FStar.Math.Fermat.fst @@ -0,0 +1,524 @@ +module FStar.Math.Fermat + +open FStar.Mul +open FStar.Math.Lemmas +open FStar.Math.Euclid + +#set-options "--fuel 1 --ifuel 0 --z3rlimit 20" + +/// +/// Pow +/// + +val pow_zero (k:pos) : Lemma (ensures pow 0 k == 0) (decreases k) +let rec pow_zero k = + match k with + | 1 -> () + | _ -> pow_zero (k - 1) + +val pow_one (k:nat) : Lemma (pow 1 k == 1) +let rec pow_one = function + | 0 -> () + | k -> pow_one (k - 1) + +val pow_plus (a:int) (k m:nat): Lemma (pow a (k + m) == pow a k * pow a m) +let rec pow_plus a k m = + match k with + | 0 -> () + | _ -> + calc (==) { + pow a (k + m); + == { } + a * pow a ((k + m) - 1); + == { pow_plus a (k - 1) m } + a * (pow a (k - 1) * pow a m); + == { } + pow a k * pow a m; + } + +val pow_mod (p:pos) (a:int) (k:nat) : Lemma (pow a k % p == pow (a % p) k % p) +let rec pow_mod p a k = + if k = 0 then () + else + calc (==) { + pow a k % p; + == { } + a * pow a (k - 1) % p; + == { lemma_mod_mul_distr_r a (pow a (k - 1)) p } + (a * (pow a (k - 1) % p)) % p; + == { pow_mod p a (k - 1) } + (a * (pow (a % p) (k - 1) % p)) % p; + == { lemma_mod_mul_distr_r a (pow (a % p) (k - 1)) p } + a * pow (a % p) (k - 1) % p; + == { lemma_mod_mul_distr_l a (pow (a % p) (k - 1)) p } + (a % p * pow (a % p) (k - 1)) % p; + == { } + pow (a % p) k % p; + } + +/// +/// Binomial theorem +/// + +val binomial (n k:nat) : nat +let rec binomial n k = + match n, k with + | _, 0 -> 1 + | 0, _ -> 0 + | _, _ -> binomial (n - 1) k + binomial (n - 1) (k - 1) + +val binomial_0 (n:nat) : Lemma (binomial n 0 == 1) +let binomial_0 n = () + +val binomial_lt (n:nat) (k:nat{n < k}) : Lemma (binomial n k = 0) +let rec binomial_lt n k = + match n, k with + | _, 0 -> () + | 0, _ -> () + | _ -> binomial_lt (n - 1) k; binomial_lt (n - 1) (k - 1) + +val binomial_n (n:nat) : Lemma (binomial n n == 1) +let rec binomial_n n = + match n with + | 0 -> () + | _ -> binomial_lt n (n + 1); binomial_n (n - 1) + +val pascal (n:nat) (k:pos{k <= n}) : Lemma + (binomial n k + binomial n (k - 1) = binomial (n + 1) k) +let pascal n k = () + +val factorial: nat -> pos +let rec factorial = function + | 0 -> 1 + | n -> n * factorial (n - 1) + +let ( ! ) n = factorial n + +val binomial_factorial (m n:nat) : Lemma (binomial (n + m) n * (!n * !m) == !(n + m)) +let rec binomial_factorial m n = + match m, n with + | 0, _ -> binomial_n n + | _, 0 -> () + | _ -> + let open FStar.Math.Lemmas in + let reorder1 (a b c d:int) : Lemma (a * (b * (c * d)) == c * (a * (b * d))) = + assert (a * (b * (c * d)) == c * (a * (b * d))) by (FStar.Tactics.CanonCommSemiring.int_semiring()) + in + let reorder2 (a b c d:int) : Lemma (a * ((b * c) * d) == b * (a * (c * d))) = + assert (a * ((b * c) * d) == b * (a * (c * d))) by (FStar.Tactics.CanonCommSemiring.int_semiring()) + in + calc (==) { + binomial (n + m) n * (!n * !m); + == { pascal (n + m - 1) n } + (binomial (n + m - 1) n + binomial (n + m - 1) (n - 1)) * (!n * !m); + == { addition_is_associative n m (-1) } + (binomial (n + (m - 1)) n + binomial (n + (m - 1)) (n - 1)) * (!n * !m); + == { distributivity_add_left (binomial (n + (m - 1)) n) + (binomial (n + (m - 1)) (n - 1)) + (!n * !m) + } + binomial (n + (m - 1)) n * (!n * !m) + + binomial (n + (m - 1)) (n - 1) * (!n * !m); + == { } + binomial (n + (m - 1)) n * (!n * (m * !(m - 1))) + + binomial ((n - 1) + m) (n - 1) * ((n * !(n - 1)) * !m); + == { reorder1 (binomial (n + (m - 1)) n) (!n) m (!(m - 1)); + reorder2 (binomial ((n - 1) + m) (n - 1)) n (!(n - 1)) (!m) + } + m * (binomial (n + (m - 1)) n * (!n * !(m - 1))) + + n * (binomial ((n - 1) + m) (n - 1) * (!(n - 1) * !m)); + == { binomial_factorial (m - 1) n; binomial_factorial m (n - 1) } + m * !(n + (m - 1)) + n * !((n - 1) + m); + == { } + m * !(n + m - 1) + n * !(n + m - 1); + == { } + n * !(n + m - 1) + m * !(n + m - 1); + == { distributivity_add_left m n (!(n + m - 1)) } + (n + m) * !(n + m - 1); + == { } + !(n + m); + } + +val sum: a:nat -> b:nat{a <= b} -> f:((i:nat{a <= i /\ i <= b}) -> int) + -> Tot int (decreases (b - a)) +let rec sum a b f = + if a = b then f a else f a + sum (a + 1) b f + +val sum_extensionality (a:nat) (b:nat{a <= b}) (f g:(i:nat{a <= i /\ i <= b}) -> int) : Lemma + (requires forall (i:nat{a <= i /\ i <= b}). f i == g i) + (ensures sum a b f == sum a b g) + (decreases (b - a)) +let rec sum_extensionality a b f g = + if a = b then () + else sum_extensionality (a + 1) b f g + +val sum_first (a:nat) (b:nat{a < b}) (f:(i:nat{a <= i /\ i <= b}) -> int) : Lemma + (sum a b f == f a + sum (a + 1) b f) +let sum_first a b f = () + +val sum_last (a:nat) (b:nat{a < b}) (f:(i:nat{a <= i /\ i <= b}) -> int) : Lemma + (ensures sum a b f == sum a (b - 1) f + f b) + (decreases (b - a)) +let rec sum_last a b f = + if a + 1 = b then sum_first a b f + else sum_last (a + 1) b f + +val sum_const (a:nat) (b:nat{a <= b}) (k:int) : Lemma + (ensures sum a b (fun i -> k) == k * (b - a + 1)) + (decreases (b - a)) +let rec sum_const a b k = + if a = b then () + else + begin + sum_const (a + 1) b k; + sum_extensionality (a + 1) b + (fun (i:nat{a <= i /\ i <= b}) -> k) + (fun (i:nat{a + 1 <= i /\ i <= b}) -> k) + end + +val sum_scale (a:nat) (b:nat{a <= b}) (f:(i:nat{a <= i /\ i <= b}) -> int) (k:int) : Lemma + (ensures k * sum a b f == sum a b (fun i -> k * f i)) + (decreases (b - a)) +let rec sum_scale a b f k = + if a = b then () + else + begin + sum_scale (a + 1) b f k; + sum_extensionality (a + 1) b + (fun (i:nat{a <= i /\ i <= b}) -> k * f i) + (fun (i:nat{a + 1 <= i /\ i <= b}) -> k * f i) + end + +val sum_add (a:nat) (b:nat{a <= b}) (f g:(i:nat{a <= i /\ i <= b}) -> int) : Lemma + (ensures sum a b f + sum a b g == sum a b (fun i -> f i + g i)) + (decreases (b - a)) +let rec sum_add a b f g = + if a = b then () + else + begin + sum_add (a + 1) b f g; + sum_extensionality (a + 1) b + (fun (i:nat{a <= i /\ i <= b}) -> f i + g i) + (fun (i:nat{a + 1 <= i /\ i <= b}) -> f i + g i) + end + +val sum_shift (a:nat) (b:nat{a <= b}) (f:(i:nat{a <= i /\ i <= b}) -> int) : Lemma + (ensures sum a b f == sum (a + 1) (b + 1) (fun (i:nat{a + 1 <= i /\ i <= b + 1}) -> f (i - 1))) + (decreases (b - a)) +let rec sum_shift a b f = + if a = b then () + else + begin + sum_shift (a + 1) b f; + sum_extensionality (a + 2) (b + 1) + (fun (i:nat{a + 1 <= i /\ i <= b + 1}) -> f (i - 1)) + (fun (i:nat{a + 1 + 1 <= i /\ i <= b + 1}) -> f (i - 1)) + end + +val sum_mod (a:nat) (b:nat{a <= b}) (f:(i:nat{a <= i /\ i <= b}) -> int) (n:pos) : Lemma + (ensures sum a b f % n == sum a b (fun i -> f i % n) % n) + (decreases (b - a)) +let rec sum_mod a b f n = + if a = b then () + else + let g = fun (i:nat{a <= i /\ i <= b}) -> f i % n in + let f' = fun (i:nat{a + 1 <= i /\ i <= b}) -> f i % n in + calc (==) { + sum a b f % n; + == { sum_first a b f } + (f a + sum (a + 1) b f) % n; + == { lemma_mod_plus_distr_r (f a) (sum (a + 1) b f) n } + (f a + (sum (a + 1) b f) % n) % n; + == { sum_mod (a + 1) b f n; sum_extensionality (a + 1) b f' g } + (f a + sum (a + 1) b g % n) % n; + == { lemma_mod_plus_distr_r (f a) (sum (a + 1) b g) n } + (f a + sum (a + 1) b g) % n; + == { lemma_mod_plus_distr_l (f a) (sum (a + 1) b g) n } + (f a % n + sum (a + 1) b g) % n; + == { } + sum a b g % n; + } + +val binomial_theorem_aux (a b:int) (n:nat) (i:nat{1 <= i /\ i <= n - 1}) : Lemma + (a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i) + + b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1)) == + binomial n i * pow a (n - i) * pow b i) +let binomial_theorem_aux a b n i = + let open FStar.Math.Lemmas in + calc (==) { + a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i) + + b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1)); + == { } + a * (binomial (n - 1) i * pow a ((n - i) - 1) * pow b i) + + b * (binomial (n - 1) (i - 1) * pow a (n - i) * pow b (i - 1)); + == { _ by (FStar.Tactics.CanonCommSemiring.int_semiring()) } + binomial (n - 1) i * ((a * pow a ((n - i) - 1)) * pow b i) + + binomial (n - 1) (i - 1) * (pow a (n - i) * (b * pow b (i - 1))); + == { assert (a * pow a ((n - i) - 1) == pow a (n - i)); assert (b * pow b (i - 1) == pow b i) } + binomial (n - 1) i * (pow a (n - i) * pow b i) + + binomial (n - 1) (i - 1) * (pow a (n - i) * pow b i); + == { _ by (FStar.Tactics.CanonCommSemiring.int_semiring()) } + (binomial (n - 1) i + binomial (n - 1) (i - 1)) * (pow a (n - i) * pow b i); + == { pascal (n - 1) i } + binomial n i * (pow a (n - i) * pow b i); + == { paren_mul_right (binomial n i) (pow a (n - i)) (pow b i) } + binomial n i * pow a (n - i) * pow b i; + } + +#push-options "--fuel 2" + +val binomial_theorem (a b:int) (n:nat) : Lemma + (pow (a + b) n == sum 0 n (fun i -> binomial n i * pow a (n - i) * pow b i)) +let rec binomial_theorem a b n = + if n = 0 then () + else + if n = 1 then + (binomial_n 1; binomial_0 1) + else + let reorder (a b c d:int) : Lemma (a + b + (c + d) == a + d + (b + c)) = + assert (a + b + (c + d) == a + d + (b + c)) by (FStar.Tactics.CanonCommSemiring.int_semiring()) + in + calc (==) { + pow (a + b) n; + == { } + (a + b) * pow (a + b) (n - 1); + == { distributivity_add_left a b (pow (a + b) (n - 1)) } + a * pow (a + b) (n - 1) + b * pow (a + b) (n - 1); + == { binomial_theorem a b (n - 1) } + a * sum 0 (n - 1) (fun i -> binomial (n - 1) i * pow a (n - 1 - i) * pow b i) + + b * sum 0 (n - 1) (fun i -> binomial (n - 1) i * pow a (n - 1 - i) * pow b i); + == { sum_scale 0 (n - 1) (fun i -> binomial (n - 1) i * pow a (n - 1 - i) * pow b i) a; + sum_scale 0 (n - 1) (fun i -> binomial (n - 1) i * pow a (n - 1 - i) * pow b i) b + } + sum 0 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + + sum 0 (n - 1) (fun i -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)); + == { sum_first 0 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)); + sum_last 0 (n - 1) (fun i -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)); + sum_extensionality 1 (n - 1) + (fun (i:nat{1 <= i /\ i <= n - 1}) -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + (fun (i:nat{0 <= i /\ i <= n - 1}) -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)); + sum_extensionality 0 (n - 2) + (fun (i:nat{0 <= i /\ i <= n - 2}) -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + (fun (i:nat{0 <= i /\ i <= n - 1}) -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i))} + (a * (binomial (n - 0) 0 * pow a (n - 1 - 0) * pow b 0)) + sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + + (sum 0 (n - 2) (fun i -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + b * (binomial (n - 1) (n - 1) * pow a (n - 1 - (n - 1)) * pow b (n - 1))); + == { binomial_0 n; binomial_n (n - 1) } + pow a n + sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + + (sum 0 (n - 2) (fun i -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + pow b n); + == { sum_shift 0 (n - 2) (fun i -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)); + sum_extensionality 1 (n - 1) + (fun (i:nat{1 <= i /\ i <= n - 1}) -> (fun (i:nat{0 <= i /\ i <= n - 2}) -> b * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) (i - 1)) + (fun (i:nat{1 <= i /\ i <= n - 2 + 1}) -> b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1))) + } + pow a n + sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + + (sum 1 (n - 1) (fun i -> b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1))) + pow b n); + == { reorder (pow a n) + (sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i))) + (sum 1 (n - 2 + 1) (fun i -> b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1)))) + (pow b n) + } + a * pow a (n - 1) + b * pow b (n - 1) + + (sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + + sum 1 (n - 1) (fun i -> b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1)))); + == { sum_add 1 (n - 1) + (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i)) + (fun i -> b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1))) + } + pow a n + pow b n + + (sum 1 (n - 1) (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i) + + b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1)))); + + == { Classical.forall_intro (binomial_theorem_aux a b n); + sum_extensionality 1 (n - 1) + (fun i -> a * (binomial (n - 1) i * pow a (n - 1 - i) * pow b i) + + b * (binomial (n - 1) (i - 1) * pow a (n - 1 - (i - 1)) * pow b (i - 1))) + (fun i -> binomial n i * pow a (n - i) * pow b i) + } + pow a n + pow b n + sum 1 (n - 1) (fun i -> binomial n i * pow a (n - i) * pow b i); + == { } + pow a n + (sum 1 (n - 1) (fun i -> binomial n i * pow a (n - i) * pow b i) + pow b n); + == { binomial_0 n; binomial_n n } + binomial n 0 * pow a (n - 0) * pow b 0 + + (sum 1 (n - 1) (fun i -> binomial n i * pow a (n - i) * pow b i) + + binomial n n * pow a (n - n) * pow b n); + == { sum_first 0 n (fun i -> binomial n i * pow a (n - i) * pow b i); + sum_last 1 n (fun i -> binomial n i * pow a (n - i) * pow b i); + sum_extensionality 1 n + (fun (i:nat{0 <= i /\ i <= n}) -> binomial n i * pow a (n - i) * pow b i) + (fun (i:nat{1 <= i /\ i <= n}) -> binomial n i * pow a (n - i) * pow b i); + sum_extensionality 1 (n - 1) + (fun (i:nat{1 <= i /\ i <= n}) -> binomial n i * pow a (n - i) * pow b i) + (fun (i:nat{1 <= i /\ i <= n - 1}) -> binomial n i * pow a (n - i) * pow b i) + } + sum 0 n (fun i -> binomial n i * pow a (n - i) * pow b i); + } + +#pop-options + +val factorial_mod_prime (p:int{is_prime p}) (k:pos{k < p}) : Lemma + (requires !k % p = 0) + (ensures False) + (decreases k) +let rec factorial_mod_prime p k = + if k = 0 then () + else + begin + euclid_prime p k !(k - 1); + factorial_mod_prime p (k - 1) + end + +val binomial_prime (p:int{is_prime p}) (k:pos{k < p}) : Lemma + (binomial p k % p == 0) +let binomial_prime p k = + calc (==) { + (p * !(p -1)) % p; + == { FStar.Math.Lemmas.lemma_mod_mul_distr_l p (!(p - 1)) p } + (p % p * !(p - 1)) % p; + == { } + (0 * !(p - 1)) % p; + == { } + 0; + }; + binomial_factorial (p - k) k; + assert (binomial p k * (!k * !(p - k)) == p * !(p - 1)); + euclid_prime p (binomial p k) (!k * !(p - k)); + if (binomial p k % p <> 0) then + begin + euclid_prime p !k !(p - k); + assert (!k % p = 0 \/ !(p - k) % p = 0); + if !k % p = 0 then + factorial_mod_prime p k + else + factorial_mod_prime p (p - k) + end + +val freshman_aux (p:int{is_prime p}) (a b:int) (i:pos{i < p}): Lemma + ((binomial p i * pow a (p - i) * pow b i) % p == 0) +let freshman_aux p a b i = + calc (==) { + (binomial p i * pow a (p - i) * pow b i) % p; + == { paren_mul_right (binomial p i) (pow a (p - i)) (pow b i) } + (binomial p i * (pow a (p - i) * pow b i)) % p; + == { lemma_mod_mul_distr_l (binomial p i) (pow a (p - i) * pow b i) p } + (binomial p i % p * (pow a (p - i) * pow b i)) % p; + == { binomial_prime p i } + 0; + } + +val freshman (p:int{is_prime p}) (a b:int) : Lemma + (pow (a + b) p % p = (pow a p + pow b p) % p) +let freshman p a b = + let f (i:nat{0 <= i /\ i <= p}) = binomial p i * pow a (p - i) * pow b i % p in + Classical.forall_intro (freshman_aux p a b); + calc (==) { + pow (a + b) p % p; + == { binomial_theorem a b p } + sum 0 p (fun i -> binomial p i * pow a (p - i) * pow b i) % p; + == { sum_mod 0 p (fun i -> binomial p i * pow a (p - i) * pow b i) p } + sum 0 p f % p; + == { sum_first 0 p f; sum_last 1 p f } + (f 0 + sum 1 (p - 1) f + f p) % p; + == { sum_extensionality 1 (p - 1) f (fun _ -> 0) } + (f 0 + sum 1 (p - 1) (fun _ -> 0) + f p) % p; + == { sum_const 1 (p - 1) 0 } + (f 0 + f p) % p; + == { } + ((binomial p 0 * pow a p * pow b 0) % p + + (binomial p p * pow a 0 * pow b p) % p) % p; + == { binomial_0 p; binomial_n p; small_mod 1 p } + (pow a p % p + pow b p % p) % p; + == { lemma_mod_plus_distr_l (pow a p) (pow b p % p) p; + lemma_mod_plus_distr_r (pow a p) (pow b p) p } + (pow a p + pow b p) % p; + } + +val fermat_aux (p:int{is_prime p}) (a:pos{a < p}) : Lemma + (ensures pow a p % p == a % p) + (decreases a) +let rec fermat_aux p a = + if a = 1 then pow_one p + else + calc (==) { + pow a p % p; + == { } + pow ((a - 1) + 1) p % p; + == { freshman p (a - 1) 1 } + (pow (a - 1) p + pow 1 p) % p; + == { pow_one p } + (pow (a - 1) p + 1) % p; + == { lemma_mod_plus_distr_l (pow (a - 1) p) 1 p } + (pow (a - 1) p % p + 1) % p; + == { fermat_aux p (a - 1) } + ((a - 1) % p + 1) % p; + == { lemma_mod_plus_distr_l (a - 1) 1 p } + ((a - 1) + 1) % p; + == { } + a % p; + } + +let fermat p a = + if a % p = 0 then + begin + small_mod 0 p; + pow_mod p a p; + pow_zero p + end + else + calc (==) { + pow a p % p; + == { pow_mod p a p } + pow (a % p) p % p; + == { fermat_aux p (a % p) } + (a % p) % p; + == { lemma_mod_twice a p } + a % p; + } + +val mod_mult_congr_aux (p:int{is_prime p}) (a b c:int) : Lemma + (requires (a * c) % p = (b * c) % p /\ 0 <= b /\ b <= a /\ a < p /\ c % p <> 0) + (ensures a = b) +let mod_mult_congr_aux p a b c = + let open FStar.Math.Lemmas in + calc (==>) { + (a * c) % p == (b * c) % p; + ==> { mod_add_both (a * c) (b * c) (-b * c) p } + (a * c - b * c) % p == (b * c - b * c) % p; + ==> { swap_mul a c; swap_mul b c; lemma_mul_sub_distr c a b } + (c * (a - b)) % p == (b * c - b * c) % p; + ==> { small_mod 0 p; lemma_mod_mul_distr_l c (a - b) p } + (c % p * (a - b)) % p == 0; + }; + let r, s = FStar.Math.Euclid.bezout_prime p (c % p) in + FStar.Math.Euclid.euclid p (c % p) (a - b) r s; + small_mod (a - b) p + +let mod_mult_congr p a b c = + let open FStar.Math.Lemmas in + lemma_mod_mul_distr_l a c p; + lemma_mod_mul_distr_l b c p; + if a % p = b % p then () + else if b % p < a % p then mod_mult_congr_aux p (a % p) (b % p) c + else mod_mult_congr_aux p (b % p) (a % p) c + +let fermat_alt p a = + calc (==) { + (pow a (p - 1) * a) % p; + == { lemma_mod_mul_distr_r (pow a (p - 1)) a p; + lemma_mod_mul_distr_l (pow a (p - 1)) (a % p) p + } + ((pow a (p - 1) % p) * (a % p)) % p; + == { pow_mod p a (p - 1) } + ((pow (a % p) (p - 1) % p) * (a % p)) % p; + == { lemma_mod_mul_distr_l (pow (a % p) (p - 1)) (a % p) p } + (pow (a % p) (p - 1) * (a % p)) % p; + == { } + pow (a % p) p % p; + == { fermat p (a % p) } + (a % p) % p; + == { lemma_mod_twice a p } + a % p; + == { } + (1 * a) % p; + }; + small_mod 1 p; + mod_mult_congr p (pow a (p - 1)) 1 a diff --git a/stage0/ulib/FStar.Math.Fermat.fsti b/stage0/ulib/FStar.Math.Fermat.fsti new file mode 100644 index 00000000000..51972bd6513 --- /dev/null +++ b/stage0/ulib/FStar.Math.Fermat.fsti @@ -0,0 +1,37 @@ +module FStar.Math.Fermat + +open FStar.Mul +open FStar.Math.Euclid + +/// Fermat's Little Theorem (and Binomial Theorem) +/// +/// Proven by induction from the Freshman's dream identity +/// +/// pow (a + b) p % p = (pow a p + pow b p) % p +/// +/// which follows from the Binomial Theorem +/// +/// pow (a + b) n = sum_{i=0}^n (binomial n k * pow a (n - i) * pow b i) +/// +/// which in turn can be proved by induction from Pascal's identity +/// +/// binomial n k + binomial n (k - 1) = binomial (n + 1) k +/// +/// See +/// https://github.com/coqtail/coqtail/blob/master/src/Hierarchy/Commutative_ring_binomial.v +/// https://github.com/coq-contribs/rsa/blob/master/Binomials.v +/// + +#set-options "--fuel 0 --ifuel 0" + +let rec pow (a:int) (k:nat) : int = + if k = 0 then 1 + else a * pow a (k - 1) + +val fermat (p:int{is_prime p}) (a:int) : Lemma (pow a p % p == a % p) + +val mod_mult_congr (p:int{is_prime p}) (a b c:int) : Lemma + (requires (a * c) % p = (b * c) % p /\ c % p <> 0) + (ensures a % p = b % p) + +val fermat_alt (p:int{is_prime p}) (a:int{a % p <> 0}) : Lemma (pow a (p - 1) % p == 1) diff --git a/stage0/ulib/FStar.Math.Lemmas.fst b/stage0/ulib/FStar.Math.Lemmas.fst new file mode 100644 index 00000000000..7f3cbbc03f5 --- /dev/null +++ b/stage0/ulib/FStar.Math.Lemmas.fst @@ -0,0 +1,711 @@ +(* + 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.Math.Lemmas + +open FStar.Mul +open FStar.Math.Lib + +#set-options "--fuel 0 --ifuel 0" + +(* Lemma: definition of Euclidean division *) +let euclidean_div_axiom a b = () + +let lemma_eucl_div_bound a b q = () + +let lemma_mult_le_left a b c = () + +let lemma_mult_le_right a b c = () + +let lemma_mult_lt_left a b c = () + +let lemma_mult_lt_right a b c = () + +let lemma_mult_lt_sqr (n:nat) (m:nat) (k:nat{n < k && m < k}) + : Lemma (n * m < k * k) = + calc (<=) { + n * m; + <= { lemma_mult_le_left n m (k - 1) } + n * (k - 1); + <= { lemma_mult_le_right (k - 1) n (k - 1) } + (k - 1) * (k - 1); + <= {} + k*k - 1; + } + +(* Lemma: multiplication on integers is commutative *) +let swap_mul a b = () + +let lemma_cancel_mul a b n = () + +(* Lemma: multiplication is right distributive over addition *) +let distributivity_add_left a b c = () + +(* Lemma: multiplication is left distributive over addition *) +let distributivity_add_right a b c = + calc (==) { + a * (b + c); + == {} + (b + c) * a; + == { distributivity_add_left b c a } + b * a + c * a; + == {} + a * b + a * c; + } + +(* Lemma: multiplication is associative, hence parenthesizing is meaningless *) +(* GM: This is really just an identity since the LHS is associated to the left *) +let paren_mul_left a b c = () + +(* Lemma: multiplication is associative, hence parenthesizing is meaningless *) +let paren_mul_right a b c = () + +(* Lemma: addition is associative, hence parenthesizing is meaningless *) +let paren_add_left a b c = () + +(* Lemma: addition is associative, hence parenthesizing is meaningless *) +let paren_add_right a b c = () + +let addition_is_associative a b c = () + +let subtraction_is_distributive a b c = () + +let swap_add_plus_minus a b c = () + +(* Lemma: minus applies to the whole term *) +let neg_mul_left a b = () + +(* Lemma: minus applies to the whole term *) +let neg_mul_right a b = () + +let swap_neg_mul a b = + neg_mul_left a b; + neg_mul_right a b + +(* Lemma: multiplication is left distributive over subtraction *) +let distributivity_sub_left a b c = + calc (==) { + (a - b) * c; + == {} + (a + (-b)) * c; + == { distributivity_add_left a (-b) c } + a * c + (-b) * c; + == { neg_mul_left b c } + a * c - b * c; + } + +(* Lemma: multiplication is right distributive over subtraction *) +let distributivity_sub_right a b c = + calc (==) { + a * (b - c); + == {} + a * (b + (-c)); + == { distributivity_add_right a b (-c) } + a * b + a * (-c); + == { neg_mul_right a c } + a * b - a * c; + } + +(* Lemma: multiplication precedence on addition *) +let mul_binds_tighter a b c = () + +let lemma_abs_mul a b = () + +let lemma_abs_bound a b = () + +let mul_ineq1 a b c d = + if a = 0 || c = 0 then () + else begin + lemma_abs_bound a b; + lemma_abs_bound c d; + lemma_abs_mul a c; + lemma_mult_lt_left (abs a) (abs c) d; + lemma_mult_lt_right d (abs a) b; + lemma_abs_bound (a * c) (b * d); + () + end + +(* Zero is neutral for addition *) +let add_zero_left_is_same (n : int) : Lemma(0 + n = n) = () +let add_zero_right_is_same (n : int) : Lemma(n + 0 = n) = () + +(* One is neutral for multiplication *) +let mul_one_left_is_same (n : int) : Lemma(1 * n = n) = () +let mul_one_right_is_same (n : int) : Lemma(n * 1 = n) = () + +(* Multiplying by zero gives zero *) +let mul_zero_left_is_zero (n : int) : Lemma(0 * n = 0) = () +let mul_zero_right_is_zero (n : int) : Lemma(n * 0 = 0) = () + +let nat_times_nat_is_nat a b = () + +let pos_times_pos_is_pos a b = () + +let nat_over_pos_is_nat a b = () + +let nat_plus_nat_equal_zero_lemma a b = () + +let int_times_int_equal_zero_lemma a b = () + +#push-options "--fuel 1" +let pow2_double_sum n = () + +let pow2_double_mult n = pow2_double_sum n + +let rec pow2_lt_compat n m = + match m with + | 0 -> () + | _ -> pow2_lt_compat (n-1) (m-1) +#pop-options + +let pow2_le_compat n m = + if m < n then pow2_lt_compat n m + +#push-options "--fuel 1" +let rec pow2_plus n m = + match n with + | 0 -> () + | _ -> pow2_plus (n - 1) m +#pop-options + +(* Lemma : definition of the exponential property of pow2 *) +let pow2_minus n m = + pow2_plus (n - m) m; + slash_star_axiom (pow2 (n - m)) (pow2 m) (pow2 n) + +(* Lemma: loss of precision in euclidean division *) +let multiply_fractions a n = () + +(** Same as `small_mod` *) +let modulo_lemma a b = () + +(** Same as `lemma_div_def` in Math.Lib *) +let lemma_div_mod a p = () + +let lemma_mod_lt a p = () + +let lemma_div_lt_nat a n m = + lemma_div_mod a (pow2 m); + assert(a = pow2 m * (a / pow2 m) + a % pow2 m); + pow2_plus m (n-m); + assert(pow2 n = pow2 m * pow2 (n - m)) + +let lemma_div_lt a n m = + if a >= 0 then lemma_div_lt_nat a n m + +let bounded_multiple_is_zero (x:int) (n:pos) = () + +let small_div (a:nat) (n:pos) : Lemma (requires a < n) (ensures a / n == 0) = () + +let small_mod (a:nat) (n:pos) : Lemma (requires a < n) (ensures a % n == a) = () + +let lt_multiple_is_equal a b x n = + assert (0 * n == 0); + bounded_multiple_is_zero x n + +let lemma_mod_plus (a:int) (k:int) (n:pos) = + calc (==) { + (a+k*n)%n - a%n; + == { lemma_div_mod a n; lemma_div_mod (a+k*n) n } + ((a + k*n) - n*((a + k*n)/n)) - (a - n*(a/n)); + == {} + n*k + n*(a/n) - n*((a + k*n)/n); + == { distributivity_add_right n k (a/n); + distributivity_sub_right n (k + a/n) ((a + k*n)/n) } + n * (k + a/n - (a+k*n)/n); + }; + lt_multiple_is_equal ((a+k*n)%n) (a%n) (k + a/n - (a+k*n)/n) n; + () + +let lemma_div_plus (a:int) (k:int) (n:pos) = + calc (==) { + n * ((a+k*n)/n - a/n); + == { distributivity_sub_right n ((a+k*n)/n) (a/n) } + n * ((a+k*n)/n) - n*(a/n); + == { lemma_div_mod (a+k*n) n; lemma_div_mod a n } + (a + k*n - (a+k*n)%n) - (a - a%n); + == {} + k*n - (a+k*n)%n + a%n; + == { lemma_mod_plus a k n } + k*n; + }; + lemma_cancel_mul ((a+k*n)/n - a/n) k n + +let lemma_div_mod_plus (a:int) (k:int) (n:pos) : Lemma ((a + k * n) / n = a / n + k /\ + (a + k * n) % n = a % n) = + lemma_div_plus a k n; + lemma_mod_plus a k n + +let add_div_mod_1 a n = + lemma_mod_plus a 1 n; + lemma_div_plus a 1 n + +let sub_div_mod_1 a n = + lemma_mod_plus a (-1) n; + lemma_div_plus a (-1) n + +#push-options "--smtencoding.elim_box true --smtencoding.nl_arith_repr native" + +let cancel_mul_div (a:int) (n:nonzero) = () + +#pop-options + +let cancel_mul_mod (a:int) (n:pos) = + small_mod 0 n; + lemma_mod_plus 0 a n + +let lemma_mod_add_distr (a:int) (b:int) (n:pos) = + calc (==) { + (a + b%n) % n; + == { lemma_mod_plus (a + (b % n)) (b / n) n } + (a + b%n + n * (b/n)) % n; + == { lemma_div_mod b n } + (a + b) % n; + } + +let lemma_mod_sub_distr (a:int) (b:int) (n:pos) = + calc (==) { + (a - b%n) % n; + == { lemma_mod_plus (a - (b % n)) (-(b / n)) n } + (a - b%n + n * (-(b/n))) % n; + == { neg_mul_right n (b/n) } + (a - b%n - n * (b/n)) % n; + == { lemma_div_mod b n } + (a - b) % n; + } + +let lemma_mod_sub_0 a = () + +let lemma_mod_sub_1 a b = + calc (==) { + (-a) % b; + == { lemma_mod_plus (-a) 1 b } + ((-a) + 1*b) % b; + == {} + (b - a) % b; + == { small_mod (b-a) b } + b - a; + == { small_mod a b } + b - a%b; + } + +let lemma_mod_mul_distr_l a b n = + calc (==) { + (a * b) % n; + == { lemma_div_mod a n } + ((n * (a/n) + a%n) * b) % n; + == { distributivity_add_left (n * (a/n)) (a%n) b } + (n * (a/n) * b + (a%n) * b) % n; + == { paren_mul_right n (a/n) b; swap_mul ((a/n) * b) n } + ((a%n) * b + ((a/n) * b) * n) % n; + == { lemma_mod_plus ((a%n) * b) ((a/n) * b) n } + ((a%n) * b) % n; + } + +let lemma_mod_mul_distr_r (a:int) (b:int) (n:pos) = + calc (==) { + (a * b) % n; + == { swap_mul a b } + (b * a) % n; + == { lemma_mod_mul_distr_l b a n } + (b%n * a) % n; + == { swap_mul a (b%n) } + (a * (b%n)) % n; + } + +let lemma_mod_injective p a b = () + +let lemma_mul_sub_distr a b c = + distributivity_sub_right a b c + +let lemma_div_exact a p = () + +let div_exact_r (a:int) (n:pos) = lemma_div_exact a n + +let lemma_mod_spec a p = + calc (==) { + (a - a%p)/p; + == { lemma_div_mod a p } + (p*(a/p))/p; + == { cancel_mul_div (a/p) p } + a/p; + } + +let lemma_mod_spec2 a p = + calc (==) { + (a % p) + ((a - (a % p)) / p) * p; + == { lemma_mod_spec a p } + (a % p) + (a / p) * p; + == { lemma_div_mod a p } + a; + } + +let lemma_mod_plus_distr_l a b p = + let q = (a - (a % p)) / p in + lemma_mod_spec2 a p; + lemma_mod_plus (a % p + b) q p + +let lemma_mod_plus_distr_r a b p = + lemma_mod_plus_distr_l b a p + +let lemma_mod_mod a b p = + lemma_mod_lt b p; + modulo_lemma (b % p) p + +(* * Lemmas about multiplication, division and modulo. **) +(* * This part focuses on the situation where **) +(* * dividend: nat divisor: pos **) +(* * TODO: add triggers for certain lemmas. **) + +(* Lemma: Definition of euclidean division *) +let euclidean_division_definition a b = () + +(* Lemma: Propriety about modulo *) +let modulo_range_lemma a b = () + +let small_modulo_lemma_1 a b = () + +let small_modulo_lemma_2 a b = () + +let small_division_lemma_1 a b = () + +let small_division_lemma_2 (a:int) (n:pos) = lemma_div_mod a n + +(* Lemma: Multiplication by a positive integer preserves order *) +let multiplication_order_lemma a b p = () + +(* Lemma: Propriety about multiplication after division *) +let division_propriety a b = () + +(* Internal lemmas for proving the definition of division *) +let division_definition_lemma_1 a b m = + if a / b - 1 < 0 then () else begin + division_propriety a b; + multiplication_order_lemma m (a / b - 1) b + end + +let division_definition_lemma_2 a b m = + division_propriety a b; + multiplication_order_lemma (a / b + 1) m b + +(* Lemma: Definition of division *) +let division_definition a b m = + division_definition_lemma_1 a b m; + division_definition_lemma_2 a b m + +(* Lemma: (a * b) / b = a; identical to `cancel_mul_div` above *) +let multiple_division_lemma (a:int) (n:nonzero) = cancel_mul_div a n + +(* Lemma: (a * b) % b = 0 *) +let multiple_modulo_lemma (a:int) (n:pos) = cancel_mul_mod a n + +(* Lemma: Division distributivity under special condition *) +let division_addition_lemma a b n = division_definition (a + n * b) b (a / b + n) + +(* Lemma: Modulo distributivity *) +let modulo_distributivity a b c = + calc (==) { + (a + b) % c; + == { lemma_mod_plus_distr_l a b c } + ((a % c) + b) % c; + == { lemma_mod_plus_distr_r (a % c) b c } + ((a % c) + (b % c)) % c; + } + +let lemma_div_le a b d = + calc (==>) { + (a <= b) <: Type0; + ==> { lemma_div_mod a d; lemma_div_mod b d } + d * (a/d) + a%d <= d * (b/d) + b%d; + ==> {} + d * (a/d) - d * (b/d) <= b%d - a%d; + ==> {} + d * (a/d - b/d) <= b%d - a%d; + ==> { (* a%d >= 0, and b%d < d*) } + d * (a/d - b/d) < d; + ==> {} + a/d - b/d <= 0; + } + +(* Lemma: Division distributivity under special condition *) +let division_sub_lemma (a:int) (n:pos) (b:nat) = + neg_mul_left b n; + lemma_div_plus a (-b) n + +let lemma_mod_plus_mul_distr a b c p = + calc (==) { + ((a + b) * c) % p; + == { lemma_mod_mul_distr_l (a + b) c p } + (((a + b) % p) * c) % p; + == { lemma_mod_mul_distr_r ((a + b) % p) c p } + (((a + b) % p) * (c % p)) % p; + == { modulo_distributivity a b p } + ((((a % p) + (b % p)) % p) * (c % p)) % p; + } + +(* Lemma: Modulo distributivity under special condition *) +let modulo_addition_lemma (a:int) (n:pos) (b:int) = lemma_mod_plus a b n + +(* Lemma: Modulo distributivity under special condition *) +let lemma_mod_sub (a:int) (n:pos) (b:int) = + neg_mul_left b n; + lemma_mod_plus a (-b) n + +let mod_mult_exact (a:int) (n:pos) (q:pos) = + calc (==) { + a % n; + == { lemma_div_mod a (n * q) } + ((n * q) * (a / (n * q)) + a % (n * q)) % n; + == { (* hyp *) } + ((n * q) * (a / (n * q))) % n; + == { paren_mul_right n q (a / (n * q)); + swap_mul n (q * (a / (n * q))) } + ((q * (a / (n * q))) * n) % n; + == { multiple_modulo_lemma (q * (a / (n*q))) n } + 0; + } + +let mod_mul_div_exact (a:int) (b:pos) (n:pos) = + calc (==) { + (a / b) % n; + == { lemma_div_mod a (b * n) (* + hyp *) } + (((b*n)*(a / (b*n))) / b) % n; + == { paren_mul_right b n (a / (b*n)) } + ((b*(n*(a / (b*n)))) / b) % n; + == { cancel_mul_div (n * (a / (b * n))) b } + (n*(a / (b*n))) % n; + == { cancel_mul_mod (a / (b*n)) n } + 0; + } + +#push-options "--fuel 1" +let mod_pow2_div2 (a:int) (m:pos) : Lemma + (requires a % pow2 m == 0) + (ensures (a / 2) % pow2 (m - 1) == 0) + = + mod_mul_div_exact a 2 (pow2 (m - 1)) +#pop-options + +private val lemma_div_lt_cancel (a : int) (b : pos) (n : int) : + Lemma (requires (a < b * n)) + (ensures (a / b < n)) + +private let lemma_div_lt_cancel a b n = + (* by contradiction *) + if a / b >= n then begin + calc (>=) { + a; + >= { slash_decr_axiom a b } + (a / b) * b; + >= {} + n * b; + }; + assert False + end + +private val lemma_mod_mult_zero (a : int) (b : pos) (c : pos) : Lemma ((a % (b * c)) / b / c == 0) +private let lemma_mod_mult_zero a b c = + (* < 1 *) + lemma_mod_lt a (b * c); + lemma_div_lt_cancel (a % (b * c)) b c; + lemma_div_lt_cancel ((a % (b * c)) / b) c 1; + + (* >= 0 *) + nat_over_pos_is_nat (a % (b * c)) b; + nat_over_pos_is_nat ((a % (b * c)) / b) c; + () + +(* Lemma: Divided by a product is equivalent to being divided one by one *) +let division_multiplication_lemma (a:int) (b:pos) (c:pos) = + calc (==) { + a / b / c; + == { lemma_div_mod a (b * c) } + ((b * c) * (a / (b * c)) + a % (b * c)) / b / c; + == { paren_mul_right b c (a / (b * c)) } + (b * (c * (a / (b * c))) + a % (b * c)) / b / c; + == { lemma_div_plus (a % (b * c)) (c * (a / (b * c))) b } + (c * (a / (b * c)) + ((a % (b * c)) / b)) / c; + == { lemma_div_plus ((a % (b * c)) / b) (a / (b * c)) c } + (a / (b * c)) + (a % (b * c)) / b / c; + == { lemma_mod_mult_zero a b c } + a / (b * c); + } + +private val cancel_fraction (a:int) (b:pos) (c:pos) : Lemma ((a * c) / (b * c) == a / b) +private let cancel_fraction a b c = + calc (==) { + (a * c) / (b * c); + == { swap_mul b c } + (a * c) / (c * b); + == { division_multiplication_lemma (a * c) c b } + ((a * c) / c) / b; + == { cancel_mul_div a c } + a / b; + } + +let modulo_scale_lemma a b c = + calc (==) { + (a * b) % (b * c); + == { lemma_div_mod (a * b) (b * c) } + a * b - (b * c) * ((a * b) / (b * c)); + == { cancel_fraction a c b } + a * b - (b * c) * (a / c); + == { paren_mul_right b c (a / c) } + a * b - b * (c * (a / c)); + == { swap_mul b (c * (a / c)); distributivity_sub_left a (c * (a / c)) b } + (a - c * (a / c)) * b; + == { lemma_div_mod a c } + (a % c) * b; + } + +let lemma_mul_pos_pos_is_pos (x:pos) (y:pos) : Lemma (x*y > 0) = () +let lemma_mul_nat_pos_is_nat (x:nat) (y:pos) : Lemma (x*y >= 0) = () + +let modulo_division_lemma_0 (a:nat) (b:pos) (c:pos) : Lemma + (a / (b*c) <= a /\ (a - (a / (b * c)) * (b * c)) / b = a / b - ((a / (b * c)) * c)) + = slash_decr_axiom a (b*c); + calc (==) { + (a / (b*c)) * (b * c); + == { swap_mul b c } + (a / (b*c)) * (c * b); + == { paren_mul_right (a / (b*c)) c b } + ((a / (b*c)) * c) * b; + }; + cut ((a / (b*c)) * (b * c) = ((a / (b * c)) * c) * b); + lemma_div_mod a (b*c); + division_sub_lemma a b ((a / (b*c)) * c); + () + +let modulo_division_lemma a b c = + calc (==) { + (a % (b * c)) / b; + == { lemma_div_mod a (b * c) } + (a - (b * c) * (a / (b * c))) / b; + == { paren_mul_right b c ((a / (b * c))); neg_mul_right b (c * (a / (b * c))) } + (a + b * (-(c * (a / (b * c))))) / b; + == { lemma_div_plus a (-(c * (a / (b * c)))) b } + (a / b) - c * (a / (b * c)); + == { division_multiplication_lemma a b c } + (a / b) - c * ((a / b) / c); + == { lemma_div_mod (a/b) c } + (a / b) % c; + } + +let modulo_modulo_lemma (a:int) (b:pos) (c:pos) = + pos_times_pos_is_pos b c; + calc (==) { + (a % (b * c)) % b; + == { calc (==) { + a % (b * c); + == { lemma_div_mod a (b * c) } + a - (b * c) * (a / (b * c)); + == { paren_mul_right b c (a / (b * c)) } + a - b * (c * (a / (b * c))); + }} + (a - b * (c * (a / (b * c)))) % b; + == { () } + (a + (- (b * (c * (a / (b * c)))))) % b; + == { neg_mul_right b (c * (a / (b * c))) } + (a + (b * (-c * (a / (b * c))))) % b; + == { () } + (a + (-c * (a / (b * c))) * b) % b; + == { lemma_mod_plus a (-c * (a / (b * c))) b} + a % b; + } + +let pow2_multiplication_division_lemma_1 a b c = + pow2_plus (c - b) b; + paren_mul_right a (pow2 (c - b)) (pow2 b); + paren_mul_left a (pow2 (c - b)) (pow2 b); + multiple_division_lemma (a * pow2 (c - b)) (pow2 b) + +let pow2_multiplication_division_lemma_2 a b c = + pow2_plus c (b - c); + division_multiplication_lemma (a * pow2 c) (pow2 c) (pow2 (b - c)); + multiple_division_lemma a (pow2 c) + +let pow2_multiplication_modulo_lemma_1 a b c = + pow2_plus (c - b) b; + paren_mul_right a (pow2 (c - b)) (pow2 b); + paren_mul_left a (pow2 (c - b)) (pow2 b); + multiple_modulo_lemma (a * pow2 (c - b)) (pow2 b) + +let pow2_multiplication_modulo_lemma_2 a b c = + calc (==) { + (a * pow2 c) % pow2 b; + == {} + (a * pow2 c) % pow2 (c + (b-c)); + == { pow2_plus c (b-c) } + (a * pow2 c) % (pow2 c * pow2 (b-c)); + == { modulo_scale_lemma a (pow2 c) (pow2 (b-c)) } + (a % pow2 (b - c)) * pow2 c; + } + +let pow2_modulo_division_lemma_1 a b c = + pow2_plus (c - b) b; + modulo_division_lemma a (pow2 b) (pow2 (c - b)) + +let pow2_modulo_division_lemma_2 a b c = + pow2_le_compat b c; + small_division_lemma_1 (a % pow2 c) (pow2 b) + +let pow2_modulo_modulo_lemma_1 a b c = + pow2_plus (c - b) b; + modulo_modulo_lemma a (pow2 b) (pow2 (c - b)) + +let pow2_modulo_modulo_lemma_2 a b c = + pow2_le_compat b c; + small_modulo_lemma_1 (a % pow2 c) (pow2 b) + +let modulo_add p a b c = + modulo_distributivity a b p; + modulo_distributivity a c p + +let lemma_mod_twice a p = lemma_mod_mod (a % p) a p + +let modulo_sub p a b c = + modulo_add p (-a) (a + b) (a + c) + +let mod_add_both (a:int) (b:int) (x:int) (n:pos) = + calc (==) { + (a + x) % n; + == { modulo_distributivity a x n } + ((a % n) + (x % n)) % n; + == { (* hyp *) } + ((b % n) + (x % n)) % n; + == { modulo_distributivity b x n } + (b + x) % n; + } + +let lemma_mod_plus_injective (n:pos) (a:int) (b:nat) (c:nat) = + small_mod b n; + small_mod c n; + mod_add_both (a + b) (a + c) (-a) n + +(* Another characterization of the modulo *) +let modulo_sub_lemma a b c = + calc (==) { + b; + == { modulo_lemma b c } + b % c; + == { lemma_mod_twice b c } + (b%c) % c; + == { (* hyp *) } + (b%c + (a-b)%c) % c; + == { modulo_distributivity b (a-b) c } + (b+(a-b)) % c; + == {} + a % c; + } diff --git a/stage0/ulib/FStar.Math.Lemmas.fsti b/stage0/ulib/FStar.Math.Lemmas.fsti new file mode 100644 index 00000000000..162041482a3 --- /dev/null +++ b/stage0/ulib/FStar.Math.Lemmas.fsti @@ -0,0 +1,407 @@ +(* + 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.Math.Lemmas + +open FStar.Mul + +(* Lemma: definition of Euclidean division *) +val euclidean_div_axiom: a:int -> b:pos -> Lemma + (a - b * (a / b) >= 0 /\ a - b * (a / b) < b) + +val lemma_eucl_div_bound: a:int -> b:int -> q:int -> Lemma + (requires (a < q)) + (ensures (a + q * b < q * (b+1))) + +val lemma_mult_le_left: a:nat -> b:int -> c:int -> Lemma + (requires (b <= c)) + (ensures (a * b <= a * c)) + +val lemma_mult_le_right: a:nat -> b:int -> c:int -> Lemma + (requires (b <= c)) + (ensures (b * a <= c * a)) + +val lemma_mult_lt_left: a:pos -> b:int -> c:int -> Lemma + (requires (b < c)) + (ensures (a * b < a * c)) + +val lemma_mult_lt_right: a:pos -> b:int -> c:int -> Lemma + (requires (b < c)) + (ensures (b * a < c * a)) + +val lemma_mult_lt_sqr (n:nat) (m:nat) (k:nat{n < k && m < k}) + : Lemma (n * m < k * k) + +(* Lemma: multiplication on integers is commutative *) +val swap_mul: a:int -> b:int -> Lemma (a * b = b * a) + +val lemma_cancel_mul (a b : int) (n : pos) : Lemma (requires (a * n = b * n)) (ensures (a = b)) + +(* Lemma: multiplication is right distributive over addition *) +val distributivity_add_left: a:int -> b:int -> c:int -> Lemma + ((a + b) * c = a * c + b * c) + +(* Lemma: multiplication is left distributive over addition *) +val distributivity_add_right: a:int -> b:int -> c:int -> Lemma + (a * (b + c) = a * b + a * c) + +(* Lemma: multiplication is associative, hence parenthesizing is meaningless *) +(* GM: This is really just an identity since the LHS is associated to the left *) +val paren_mul_left: a:int -> b:int -> c:int -> Lemma + (a * b * c = (a * b) * c) + +(* Lemma: multiplication is associative, hence parenthesizing is meaningless *) +val paren_mul_right: a:int -> b:int -> c:int -> Lemma + (a * b * c = a * (b * c)) + +(* Lemma: addition is associative, hence parenthesizing is meaningless *) +val paren_add_left: a:int -> b:int -> c:int -> Lemma + (a + b + c = (a + b) + c) + +(* Lemma: addition is associative, hence parenthesizing is meaningless *) +val paren_add_right: a:int -> b:int -> c:int -> Lemma + (a + b + c = a + (b + c)) + +val addition_is_associative: a:int -> b:int -> c:int -> Lemma + (a + b + c = (a + b) + c /\ a + b + c = a + (b + c)) + +val subtraction_is_distributive: a:int -> b:int -> c:int -> Lemma + (a - b + c = (a - b) + c /\ + a - b - c = a - (b + c) /\ + a - b - c = (a - b) - c /\ + a + (-b - c) = a - b - c /\ + a - (b - c) = a - b + c) + +val swap_add_plus_minus: a:int -> b:int -> c:int -> Lemma + (a + b - c = (a - c) + b) + +(* Lemma: minus applies to the whole term *) +val neg_mul_left: a:int -> b:int -> Lemma (-(a * b) = (-a) * b) + +(* Lemma: minus applies to the whole term *) +val neg_mul_right: a:int -> b:int -> Lemma (-(a * b) = a * (-b)) + +val swap_neg_mul: a:int -> b:int -> Lemma ((-a) * b = a * (-b)) + +(* Lemma: multiplication is left distributive over subtraction *) +val distributivity_sub_left: a:int -> b:int -> c:int -> + Lemma ((a - b) * c = a * c - b * c) + +(* Lemma: multiplication is right distributive over subtraction *) +val distributivity_sub_right: a:int -> b:int -> c:int -> + Lemma ((a * (b - c) = a * b - a * c)) + +(* Lemma: multiplication precedence on addition *) +val mul_binds_tighter: a:int -> b:int -> c:int -> Lemma (a + (b * c) = a + b * c) + +val lemma_abs_mul : a:int -> b:int -> Lemma (abs a * abs b = abs (a * b)) + +val lemma_abs_bound : a:int -> b:nat -> Lemma (abs a < b <==> -b < a /\ a < b) + +(* Lemma: multiplication keeps symmetric bounds : + b > 0 && d > 0 && -b < a < b && -d < c < d ==> - b * d < a * c < b * d *) +val mul_ineq1: a:int -> b:nat -> c:int -> d:nat -> Lemma + (requires (-b < a /\ a < b /\ + -d < c /\ c < d)) + (ensures (-(b * d) < a * c /\ a * c < b * d)) + +(* Zero is neutral for addition *) +val add_zero_left_is_same (n : int) : Lemma(0 + n = n) +val add_zero_right_is_same (n : int) : Lemma(n + 0 = n) + +(* One is neutral for multiplication *) +val mul_one_left_is_same (n : int) : Lemma(1 * n = n) +val mul_one_right_is_same (n : int) : Lemma(n * 1 = n) + +(* Multiplying by zero gives zero *) +val mul_zero_left_is_zero (n : int) : Lemma(0 * n = 0) +val mul_zero_right_is_zero (n : int) : Lemma(n * 0 = 0) + +val nat_times_nat_is_nat: a:nat -> b:nat -> Lemma (a * b >= 0) + +val pos_times_pos_is_pos: a:pos -> b:pos -> Lemma (a * b > 0) + +val nat_over_pos_is_nat: a:nat -> b:pos -> Lemma (a / b >= 0) + +val nat_plus_nat_equal_zero_lemma: a:nat -> b:nat{a + b = 0} -> Lemma(a = 0 /\ b = 0) + +val int_times_int_equal_zero_lemma: a:int -> b:int{a * b = 0} -> Lemma(a = 0 \/ b = 0) + +val pow2_double_sum: n:nat -> Lemma (pow2 n + pow2 n = pow2 (n + 1)) + +val pow2_double_mult: n:nat -> Lemma (2 * pow2 n = pow2 (n + 1)) + +val pow2_lt_compat: n:nat -> m:nat -> Lemma + (requires (m < n)) + (ensures (pow2 m < pow2 n)) + (decreases m) + +val pow2_le_compat: n:nat -> m:nat -> Lemma + (requires (m <= n)) + (ensures (pow2 m <= pow2 n)) + +val pow2_plus: n:nat -> m:nat -> Lemma + (ensures (pow2 n * pow2 m = pow2 (n + m))) + (decreases n) + +(* Lemma : definition of the exponential property of pow2 *) +val pow2_minus: n:nat -> m:nat{ n >= m } -> Lemma + ((pow2 n) / (pow2 m) = pow2 (n - m)) + +(* Lemma: loss of precision in euclidean division *) +val multiply_fractions (a:int) (n:nonzero) : Lemma (n * ( a / n ) <= a) + +(** Same as `small_mod` *) +val modulo_lemma: a:nat -> b:pos -> Lemma (requires (a < b)) (ensures (a % b = a)) + +(** Same as `lemma_div_def` in Math.Lib *) +val lemma_div_mod: a:int -> p:nonzero -> Lemma (a = p * (a / p) + a % p) + +val lemma_mod_lt: a:int -> p:pos -> Lemma (0 <= a % p /\ a % p < p /\ (a >= 0 ==> a % p <= a)) + +val lemma_div_lt_nat: a:int -> n:nat -> m:nat{m <= n} -> + Lemma (requires (a < pow2 n)) + (ensures (a / pow2 m < pow2 (n-m))) + +val lemma_div_lt (a:int) (n:nat) (m:nat) : Lemma + (requires m <= n /\ a < pow2 n) + (ensures a / pow2 m < pow2 (n-m)) + +val bounded_multiple_is_zero (x:int) (n:pos) : Lemma + (requires -n < x * n /\ x * n < n) + (ensures x == 0) + +val small_div (a:nat) (n:pos) : Lemma (requires a < n) (ensures a / n == 0) + +val small_mod (a:nat) (n:pos) : Lemma (requires a < n) (ensures a % n == a) + +val lt_multiple_is_equal (a:nat) (b:nat) (x:int) (n:nonzero) : Lemma + (requires a < n /\ b < n /\ a == b + x * n) + (ensures a == b /\ x == 0) + +val lemma_mod_plus (a:int) (k:int) (n:pos) : Lemma ((a + k * n) % n = a % n) + +val lemma_div_plus (a:int) (k:int) (n:pos) : Lemma ((a + k * n) / n = a / n + k) + +val lemma_div_mod_plus (a:int) (k:int) (n:pos) + : Lemma ((a + k * n) / n = a / n + k /\ + (a + k * n) % n = a % n) + +val add_div_mod_1 (a:int) (n:pos) + : Lemma ((a + n) % n == a % n /\ + (a + n) / n == a / n + 1) + +val sub_div_mod_1 (a:int) (n:pos) + : Lemma ((a - n) % n == a % n /\ + (a - n) / n == a / n - 1) + +val cancel_mul_div (a:int) (n:nonzero) : Lemma ((a * n) / n == a) + +val cancel_mul_mod (a:int) (n:pos) : Lemma ((a * n) % n == 0) + +val lemma_mod_add_distr (a:int) (b:int) (n:pos) : Lemma ((a + b % n) % n = (a + b) % n) + +val lemma_mod_sub_distr (a:int) (b:int) (n:pos) : Lemma ((a - b % n) % n = (a - b) % n) + +val lemma_mod_sub_0: a:pos -> Lemma ((-1) % a = a - 1) + +val lemma_mod_sub_1: a:pos -> b:pos{a < b} -> Lemma ((-a) % b = b - (a%b)) + +val lemma_mod_mul_distr_l (a:int) (b:int) (n:pos) : Lemma + (requires True) + (ensures (a * b) % n = ((a % n) * b) % n) + + +val lemma_mod_mul_distr_r (a:int) (b:int) (n:pos) : Lemma ((a * b) % n = (a * (b % n)) % n) + +val lemma_mod_injective: p:pos -> a:nat -> b:nat -> Lemma + (requires (a < p /\ b < p /\ a % p = b % p)) + (ensures (a = b)) + +val lemma_mul_sub_distr: a:int -> b:int -> c:int -> Lemma + (a * b - a * c = a * (b - c)) + +val lemma_div_exact: a:int -> p:pos -> Lemma + (requires (a % p = 0)) + (ensures (a = p * (a / p))) + +val div_exact_r (a:int) (n:pos) : Lemma + (requires (a % n = 0)) + (ensures (a = (a / n) * n)) + +val lemma_mod_spec: a:int -> p:pos -> Lemma + (a / p = (a - (a % p)) / p) + +val lemma_mod_spec2: a:int -> p:pos -> Lemma + (let q:int = (a - (a % p)) / p in a = (a % p) + q * p) + +val lemma_mod_plus_distr_l: a:int -> b:int -> p:pos -> Lemma + ((a + b) % p = ((a % p) + b) % p) + +val lemma_mod_plus_distr_r: a:int -> b:int -> p:pos -> Lemma + ((a + b) % p = (a + (b % p)) % p) + +val lemma_mod_mod: a:int -> b:int -> p:pos -> Lemma + (requires (a = b % p)) + (ensures (a % p = b % p)) + +(* * Lemmas about multiplication, division and modulo. **) +(* * This part focuses on the situation where **) +(* * dividend: nat divisor: pos **) +(* * TODO: add triggers for certain lemmas. **) + +(* Lemma: Definition of euclidean division *) +val euclidean_division_definition: a:int -> b:nonzero -> + Lemma (a = (a / b) * b + a % b) + +(* Lemma: Propriety about modulo *) +val modulo_range_lemma: a:int -> b:pos -> + Lemma (a % b >= 0 && a % b < b) + +val small_modulo_lemma_1: a:nat -> b:nonzero -> + Lemma (requires a < b) (ensures a % b = a) + +val small_modulo_lemma_2: a:int -> b:pos -> + Lemma (requires a % b = a) (ensures a < b) + +val small_division_lemma_1: a:nat -> b:nonzero -> + Lemma (requires a < b) (ensures a / b = 0) + +val small_division_lemma_2 (a:int) (n:pos) : Lemma + (requires a / n = 0) + (ensures 0 <= a /\ a < n) + +(* Lemma: Multiplication by a positive integer preserves order *) +val multiplication_order_lemma: a:int -> b:int -> p:pos -> + Lemma (a >= b <==> a * p >= b * p) + +(* Lemma: Propriety about multiplication after division *) +val division_propriety: a:int -> b:pos -> + Lemma (a - b < (a / b) * b && (a / b) * b <= a) + +(* Internal lemmas for proving the definition of division *) +val division_definition_lemma_1: a:int -> b:pos -> m:int{a - b < m * b} -> + Lemma (m > a / b - 1) + +val division_definition_lemma_2: a:int -> b:pos -> m:int{m * b <= a} -> + Lemma (m < a / b + 1) + +(* Lemma: Definition of division *) +val division_definition: a:int -> b:pos -> m:int{a - b < m * b && m * b <= a} -> + Lemma (m = a / b) + +(* Lemma: (a * b) / b = a; identical to `cancel_mul_div` above *) +val multiple_division_lemma (a:int) (n:nonzero) : Lemma ((a * n) / n = a) + +(* Lemma: (a * b) % b = 0 *) +val multiple_modulo_lemma (a:int) (n:pos) : Lemma ((a * n) % n = 0) + +(* Lemma: Division distributivity under special condition *) +val division_addition_lemma: a:int -> b:pos -> n:int -> + Lemma ( (a + n * b) / b = a / b + n ) + +(* Lemma: Modulo distributivity *) +val modulo_distributivity: a:int -> b:int -> c:pos -> Lemma ((a + b) % c == (a % c + b % c) % c) + +val lemma_div_le: a:int -> b:int -> d:pos -> + Lemma (requires (a <= b)) + (ensures (a / d <= b / d)) + +(* Lemma: Division distributivity under special condition *) +val division_sub_lemma (a:int) (n:pos) (b:nat) : Lemma ((a - b * n) / n = a / n - b) + +val lemma_mod_plus_mul_distr: a:int -> b:int -> c:int -> p:pos -> Lemma + (((a + b) * c) % p = ((((a % p) + (b % p)) % p) * (c % p)) % p) + +(* Lemma: Modulo distributivity under special condition *) +val modulo_addition_lemma (a:int) (n:pos) (b:int) : Lemma ((a + b * n) % n = a % n) + +(* Lemma: Modulo distributivity under special condition *) +val lemma_mod_sub (a:int) (n:pos) (b:int) : Lemma (ensures (a - b * n) % n = a % n) + +val mod_mult_exact (a:int) (n:pos) (q:pos) : Lemma + (requires (a % (n * q) == 0)) + (ensures a % n == 0) + +val mod_mul_div_exact (a:int) (b:pos) (n:pos) : Lemma + (requires (a % (b * n) == 0)) + (ensures (a / b) % n == 0) + +val mod_pow2_div2 (a:int) (m:pos) : Lemma + (requires a % pow2 m == 0) + (ensures (a / 2) % pow2 (m - 1) == 0) + +(* Lemma: Divided by a product is equivalent to being divided one by one *) +val division_multiplication_lemma (a:int) (b:pos) (c:pos) : Lemma + (a / (b * c) = (a / b) / c) + +val modulo_scale_lemma : a:int -> b:pos -> c:pos -> Lemma ((a * b) % (b * c) == (a % c) * b) + +val lemma_mul_pos_pos_is_pos (x:pos) (y:pos) : Lemma (x*y > 0) +val lemma_mul_nat_pos_is_nat (x:nat) (y:pos) : Lemma (x*y >= 0) + +val modulo_division_lemma: a:nat -> b:pos -> c:pos -> + Lemma ((a % (b * c)) / b = (a / b) % c) + +val modulo_modulo_lemma (a:int) (b:pos) (c:pos) : Lemma + ((a % (b * c)) % b = a % b) + +val pow2_multiplication_division_lemma_1: a:int -> b:nat -> c:nat{c >= b} -> + Lemma ( (a * pow2 c) / pow2 b = a * pow2 (c - b)) + +val pow2_multiplication_division_lemma_2: a:int -> b:nat -> c:nat{c <= b} -> + Lemma ( (a * pow2 c) / pow2 b = a / pow2 (b - c)) + +val pow2_multiplication_modulo_lemma_1: a:int -> b:nat -> c:nat{c >= b} -> + Lemma ( (a * pow2 c) % pow2 b = 0 ) + +val pow2_multiplication_modulo_lemma_2: a:int -> b:nat -> c:nat{c <= b} -> + Lemma ( (a * pow2 c) % pow2 b = (a % pow2 (b - c)) * pow2 c ) + +val pow2_modulo_division_lemma_1: a:nat -> b:nat -> c:nat{c >= b} -> + Lemma ( (a % pow2 c) / pow2 b = (a / pow2 b) % (pow2 (c - b)) ) + +val pow2_modulo_division_lemma_2: a:int -> b:nat -> c:nat{c <= b} -> + Lemma ( (a % pow2 c) / pow2 b = 0 ) + +val pow2_modulo_modulo_lemma_1: a:int -> b:nat -> c:nat{c >= b} -> + Lemma ( (a % pow2 c) % pow2 b = a % pow2 b ) + +val pow2_modulo_modulo_lemma_2: a:int -> b:nat -> c:nat{c <= b} -> + Lemma ( (a % pow2 c) % pow2 b = a % pow2 c ) + +val modulo_add : p:pos -> a:int -> b:int -> c:int -> Lemma + (requires (b % p = c % p)) + (ensures ((a + b) % p = (a + c) % p)) + +val lemma_mod_twice : a:int -> p:pos -> Lemma ((a % p) % p == a % p) + +val modulo_sub : p:pos -> a:int -> b:int -> c:int -> Lemma + (requires ((a + b) % p = (a + c) % p)) + (ensures (b % p = c % p)) + +val mod_add_both (a:int) (b:int) (x:int) (n:pos) : Lemma + (requires a % n == b % n) + (ensures (a + x) % n == (b + x) % n) + +val lemma_mod_plus_injective (n:pos) (a:int) (b:nat) (c:nat) : Lemma + (requires b < n /\ c < n /\ (a + b) % n = (a + c) % n) + (ensures b = c) + +(* Another characterization of the modulo *) +val modulo_sub_lemma (a : int) (b : nat) (c : pos) : + Lemma + (requires (b < c /\ (a - b) % c = 0)) + (ensures (b = a % c)) \ No newline at end of file diff --git a/stage0/ulib/FStar.Math.Lib.fst b/stage0/ulib/FStar.Math.Lib.fst new file mode 100644 index 00000000000..2b9408631a6 --- /dev/null +++ b/stage0/ulib/FStar.Math.Lib.fst @@ -0,0 +1,146 @@ +(* + 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.Math.Lib + +open FStar.Mul + +(* Definition of the division operator *) +val lemma_div_def: a:nat -> b:pos -> Lemma (a = b * (a/b) + a % b) +let lemma_div_def a b = () + +private let mul_lemma (a:nat) (b:nat) (c:nat) : Lemma (requires (a <= b)) + (ensures (c * a <= c * b)) + = () + +private let mul_lemma' (a:nat) (b:nat) (c:pos) : Lemma (requires (c * a <= c * b)) + (ensures (a <= b)) + = () + +private let mul_div_lemma (a:nat) (b:pos) : Lemma (b * (a / b) <= a) = () + +val slash_decr_axiom: a:nat -> b:pos -> Lemma (a / b <= a) +let slash_decr_axiom a b = + mul_lemma 1 b a; + mul_div_lemma a b; + mul_lemma' (a / b) a b + +private let lemma_mul_minus_distr_l (a:int) (b:int) (c:int) : Lemma (a * (b - c) = a * b - a * c) + = () + +(* Axiom: definition of the "b divides c" relation *) +#reset-options "--z3rlimit 30" +val slash_star_axiom: a:nat -> b:pos -> c:nat -> Lemma + (requires (a * b = c)) + (ensures (a = c / b)) +let slash_star_axiom a b c = + lemma_div_def c b; + lemma_mul_minus_distr_l b a (c/b) + +#reset-options +val log_2: x:pos -> Tot nat +let rec log_2 x = + if x >= 2 then 1 + log_2 (x / 2) else 0 + +(* Function: power of x *) +val powx : x:int -> n:nat -> Tot int +let rec powx x n = + match n with + | 0 -> 1 + | n -> x * powx x (n - 1) + +(* Function: absolute value *) +val abs: x:int -> Tot (y:int{ (x >= 0 ==> y = x) /\ (x < 0 ==> y = -x) }) +let abs x = if x >= 0 then x else -x + +(* Function: maximum value *) +val max: x:int -> y:int -> Tot (z:int{ (x >= y ==> z = x) /\ (x < y ==> z = y) }) +let max x y = if x >= y then x else y + +(* Function: minimum value *) +val min: x:int -> y:int -> Tot (z:int{ (x >= y ==> z = y) /\ (x < y ==> z = x) }) +let min x y = if x >= y then y else x + +(* Function: standard euclidean division, the rest is always positive *) +val div: a:int -> b:pos -> Tot (c:int{(a < 0 ==> c < 0) /\ (a >= 0 ==> c >= 0)}) +let div a b = + if a < 0 then + begin + slash_decr_axiom (-a) b; + if a % b = 0 then - (-a / b) + else - (-a / b) - 1 + end + else a / b + +(* Function: equivalent of the '/' operator in C, hence the rest can be negative *) +val div_non_eucl: a:int -> b:pos -> + Tot (q:int{ ( a >= 0 ==> q = a / b ) /\ ( a < 0 ==> q = -((-a)/b) ) }) +let div_non_eucl a b = + if a < 0 then 0 - ((0 - a) / b) + else a / b + +(* The equivalent of the << C operator *) +val shift_left: v:int -> i:nat -> Tot (res:int{res = v * (pow2 i)}) +let shift_left v i = + v * (pow2 i) + +(* asr OCaml operator *) +val arithmetic_shift_right: v:int -> i:nat -> Tot (res:int{ res = div v (pow2 i) }) +let arithmetic_shift_right v i = + div v (pow2 i) + +(* Case of C cast functions ? *) +(* Implemented by "mod" in OCaml *) +val signed_modulo: v:int -> p:pos -> Tot (res:int{ res = v - ((div_non_eucl v p) * p) }) +let signed_modulo v p = + if v >= 0 then v % p + else 0 - ( (0-v) % p) + +val op_Plus_Percent : a:int -> p:pos -> + Tot (res:int{ (a >= 0 ==> res = a % p) /\ (a < 0 ==> res = -((-a) % p)) }) +let op_Plus_Percent a p = signed_modulo a p + +(** Useful lemmas for future proofs **) + +(* Lemmas of x^n *) +val powx_lemma1: a:int -> Lemma (powx a 1 = a) +let powx_lemma1 a = () + +val powx_lemma2: x:int -> n:nat -> m:nat -> Lemma + (powx x n * powx x m = powx x (n + m)) +let rec powx_lemma2 x n m = + let ass (x y z : int) : Lemma ((x*y)*z == x*(y*z)) = () in + match n with + | 0 -> () + | _ -> powx_lemma2 x (n-1) m; ass x (powx x (n-1)) (powx x m) + +(* Lemma: absolute value of product is the product of the absolute values *) +val abs_mul_lemma: a:int -> b:int -> Lemma (abs (a * b) = abs a * abs b) +let abs_mul_lemma a b = () + +(* Lemma: absolute value of a signed_module b is bounded by b *) +val signed_modulo_property: v:int -> p:pos -> Lemma (abs (signed_modulo v p ) < p) +let signed_modulo_property v p = () + +(* Lemma: non-Euclidean division has a smaller output compared to its input *) +val div_non_eucl_decr_lemma: a:int -> b:pos -> Lemma (abs (div_non_eucl a b) <= abs a) +let div_non_eucl_decr_lemma a b = + slash_decr_axiom (abs a) b + +(* Lemma: dividing by a bigger value leads to 0 in non-Euclidean division *) +val div_non_eucl_bigger_denom_lemma: a:int -> b:pos -> Lemma + (requires (b > abs a)) + (ensures (div_non_eucl a b = 0)) +let div_non_eucl_bigger_denom_lemma a b = () diff --git a/stage0/ulib/FStar.Matrix.fst b/stage0/ulib/FStar.Matrix.fst new file mode 100644 index 00000000000..c44a524868f --- /dev/null +++ b/stage0/ulib/FStar.Matrix.fst @@ -0,0 +1,1174 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + +(* + In this module we provide basic definitions to work with matrices via + seqs, and define transpose transform together with theorems that assert + matrix fold equality of original and transposed matrices. +*) + + +module FStar.Matrix + +module CE = FStar.Algebra.CommMonoid.Equiv +module CF = FStar.Algebra.CommMonoid.Fold +module SP = FStar.Seq.Permutation +module SB = FStar.Seq.Base +module SProp = FStar.Seq.Properties +module ML = FStar.Math.Lemmas + +open FStar.IntegerIntervals +open FStar.Mul +open FStar.Seq.Equiv + +(* + A little glossary that might help reading this file + We don't list common terms like associativity and reflexivity. + + lhs, rhs left hand side, right hand side + liat subsequence of all elements except the last (tail read backwards) + snoc construction of sequence from a pair (liat, last) (cons read backwards) + un_snoc decomposition of sequence into a pair (liat, last) + foldm sum or product of all elements in a sequence using given CommMonoid + foldm_snoc recursively defined sum/product of a sequence, starting from the last element + congruence respect of equivalence ( = ) by a binary operation ( * ), a=b ==> a*x = b*x + unit identity element (xu=x, ux=x) (not to be confused with invertible elements) +*) + +type matrix c m n = z:SB.seq c { SB.length z = m*n } + +let seq_of_matrix #c #m #n mx = mx + +let ijth #c #m #n mx i j = SB.index mx (get_ij m n i j) + +let ijth_lemma #c #m #n mx i j + : Lemma (ijth mx i j == SB.index (seq_of_matrix mx) (get_ij m n i j)) = () + +let matrix_of_seq #c m n s = s + +let foldm #c #eq #m #n cm mx = SP.foldm_snoc cm mx + +let matrix_fold_equals_fold_of_seq #c #eq #m #n cm mx + : Lemma (ensures foldm cm mx `eq.eq` SP.foldm_snoc cm (seq_of_matrix mx)) [SMTPat(foldm cm mx)] + = eq.reflexivity (foldm cm mx) + +let matrix_fold_internal #c #eq #m #n (cm:CE.cm c eq) (mx: matrix c m n) + : Lemma (ensures foldm cm mx == SP.foldm_snoc cm mx) = () + +(* A flattened matrix (seq) constructed from generator function + Notice how the domains of both indices are strictly controlled. *) +let init #c (#m #n: pos) (generator: matrix_generator c m n) + : matrix_of generator = + let mn = m * n in + let generator_ij ij = generator (get_i m n ij) (get_j m n ij) in + let flat_indices = indices_seq mn in + let result = SProp.map_seq generator_ij flat_indices in + SProp.map_seq_len generator_ij flat_indices; + assert (SB.length result == SB.length flat_indices); + let aux (i: under m) (j: under n) + : Lemma (SB.index (SProp.map_seq generator_ij flat_indices) (get_ij m n i j) == generator i j) + = consistency_of_i_j m n i j; + consistency_of_ij m n (get_ij m n i j); + assert (generator_ij (get_ij m n i j) == generator i j); + SProp.map_seq_index generator_ij flat_indices (get_ij m n i j) in + let aux1 (ij: under mn) + : Lemma (SB.index (SProp.map_seq generator_ij flat_indices) ij == generator_ij ij) + = SProp.map_seq_index generator_ij flat_indices ij in + FStar.Classical.forall_intro aux1; + FStar.Classical.forall_intro_2 aux; + result + +private let matrix_seq #c #m #n (gen: matrix_generator c m n) : (t:SB.seq c{ (SB.length t = (m*n)) /\ + (forall (i: under m) (j: under n). SB.index t (get_ij m n i j) == gen i j) /\ + (forall(ij: under (m*n)). SB.index t ij == gen (get_i m n ij) (get_j m n ij)) +}) = init gen + +(* This auxiliary lemma establishes the decomposition of the seq-matrix + into the concatenation of its first (m-1) rows and its last row (thus snoc) *) +let matrix_append_snoc_lemma #c (#m #n: pos) (generator: matrix_generator c m n) + : Lemma (matrix_seq generator == (SB.slice (matrix_seq generator) 0 ((m-1)*n)) + `SB.append` + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n))) + = SB.lemma_eq_elim (matrix_seq generator) + (SB.append (SB.slice (matrix_seq generator) 0 ((m-1)*n)) + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n))) + +let matrix_seq_decomposition_lemma #c (#m:greater_than 1) (#n: pos) (generator: matrix_generator c m n) + : Lemma ((matrix_seq generator) == + SB.append (matrix_seq #c #(m-1) #n generator) + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n))) + = SB.lemma_eq_elim (matrix_seq generator) + ((matrix_seq #c #(m-1) #n generator) `SB.append` + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n))) + +(* This auxiliary lemma establishes the equality of the fold of the entire matrix + to the op of folds of (the submatrix of the first (m-1) rows) and (the last row). *) +let matrix_fold_snoc_lemma #c #eq + (#m: not_less_than 2) + (#n: pos) + (cm: CE.cm c eq) + (generator: matrix_generator c m n) + : Lemma (assert ((m-1)*n < m*n); + SP.foldm_snoc cm (matrix_seq generator) `eq.eq` + cm.mult (SP.foldm_snoc cm (matrix_seq #c #(m-1) #n generator)) + (SP.foldm_snoc cm (SB.slice (matrix_seq #c #m #n generator) ((m-1)*n) (m*n)))) + = SB.lemma_eq_elim (matrix_seq generator) + ((matrix_seq #c #(m-1) #n generator) `SB.append` + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n))); + SP.foldm_snoc_append cm (matrix_seq #c #(m-1) #n generator) + (SB.slice (matrix_seq generator) ((m-1)*n) (m*n)) + +(* + There are many auxiliary lemmas like this that are extracted because + lemma_eq_elim invocations often impact verification speed more than + one might expect they would. +*) +let matrix_submatrix_lemma #c (#m: not_less_than 2) (#n: pos) + (generator: matrix_generator c m n) + : Lemma ((matrix_seq generator) == (matrix_seq (fun (i:under(m-1)) (j:under n) -> generator i j) + `SB.append` SB.init n (generator (m-1)))) + = SB.lemma_eq_elim (matrix_seq (fun (i:under (m-1)) (j:under n) -> generator i j)) + (matrix_seq #c #(m-1) #n generator); + SB.lemma_eq_elim (SB.slice (matrix_seq generator) ((m-1)*n) (m*n)) + (SB.init n (generator (m-1))); + matrix_seq_decomposition_lemma generator + +let matrix_seq_of_one_row_matrix #c #m #n (generator : matrix_generator c m n) + : Lemma (requires m==1) + (ensures matrix_seq generator == (SB.init n (generator 0))) = + SB.lemma_eq_elim (matrix_seq generator) (SB.init n (generator 0)) + +let one_row_matrix_fold_aux #c #eq #m #n (cm:CE.cm c eq) (generator : matrix_generator c m n) : Lemma + (requires m=1) + (ensures foldm cm (init generator) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) /\ + SP.foldm_snoc cm (seq_of_matrix (init generator)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i))))) = + let lhs_seq = matrix_seq generator in + let rhs_seq = SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i))) in + let lhs = SP.foldm_snoc cm (matrix_seq generator) in + let rhs = SP.foldm_snoc cm rhs_seq in + SP.foldm_snoc_singleton cm (SP.foldm_snoc cm (SB.init n (generator 0))); + SB.lemma_eq_elim (SB.create 1 (SP.foldm_snoc cm (SB.init n (generator 0)))) + (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))); + matrix_seq_of_one_row_matrix generator; + eq.symmetry rhs lhs + + +let fold_of_subgen_aux #c #eq (#m:pos{m>1}) #n (cm: CE.cm c eq) (gen: matrix_generator c m n) (subgen: matrix_generator c (m-1) n) : Lemma + (requires subgen == (fun (i: under (m-1)) (j: under n) -> gen i j)) + (ensures forall (i: under (m-1)). SP.foldm_snoc cm (SB.init n (subgen i)) == + SP.foldm_snoc cm (SB.init n (gen i))) = + let aux_pat (i: under (m-1)) : Lemma (SP.foldm_snoc cm (SB.init n (subgen i)) + == SP.foldm_snoc cm (SB.init n (gen i))) = + SB.lemma_eq_elim (SB.init n (subgen i)) (SB.init n (gen i)) in + Classical.forall_intro aux_pat + +let arithm_aux (m: pos{m>1}) (n: pos) : Lemma ((m-1)*n < m*n) = () + +let terminal_case_aux #c #eq (#p:pos{p=1}) #n (cm:CE.cm c eq) (generator: matrix_generator c p n) (m: pos{m<=p}) : Lemma + (ensures SP.foldm_snoc cm (SB.slice (seq_of_matrix (init generator)) 0 (m*n)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun (i:under m) -> SP.foldm_snoc cm (SB.init n (generator i))))) + = one_row_matrix_fold_aux cm generator + +#push-options "--ifuel 0 --fuel 1 --z3rlimit 10" +let terminal_case_two_aux #c #eq (#p:pos) #n (cm:CE.cm c eq) (generator: matrix_generator c p n) (m: pos{m=1}) : Lemma + (ensures SP.foldm_snoc cm (SB.slice (seq_of_matrix (init generator)) 0 (m*n)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun (i:under m) -> SP.foldm_snoc cm (SB.init n (generator i))))) + = + SP.foldm_snoc_singleton cm (SP.foldm_snoc cm (SB.init n (generator 0))); + assert (SP.foldm_snoc cm (SB.init m (fun (i:under m) -> SP.foldm_snoc cm (SB.init n (generator i)))) `eq.eq` + SP.foldm_snoc cm (SB.init n (generator 0))); + let line = SB.init n (generator 0) in + let slice = SB.slice (matrix_seq generator) 0 n in + let aux (ij: under n) : Lemma (SB.index slice ij == SB.index line ij) = + Math.Lemmas.small_div ij n; + Math.Lemmas.small_mod ij n + in Classical.forall_intro aux; + SB.lemma_eq_elim line slice; + eq.symmetry (SP.foldm_snoc cm (SB.init m (fun (i:under m) -> SP.foldm_snoc cm (SB.init n (generator i))))) + (SP.foldm_snoc cm line) +#pop-options + +let liat_equals_init #c (m:pos) (gen: under m -> c) + : Lemma (fst (SProp.un_snoc (SB.init m gen)) == SB.init (m-1) gen) = + SB.lemma_eq_elim (fst (SProp.un_snoc (SB.init m gen))) (SB.init (m-1) gen) + +let math_aux (m n: pos) (j: under n) : Lemma (j+((m-1)*n) < m*n) = () + +let math_aux_2 (m n: pos) (j: under n) : Lemma (get_j m n (j+(m-1)*n) == j) + = + Math.Lemmas.modulo_addition_lemma j n (m-1); + Math.Lemmas.small_mod j n + +let math_aux_3 (m n: pos) (j: under n) : Lemma (get_i m n (j+(m-1)*n) == (m-1)) + = + Math.Lemmas.division_addition_lemma j n (m-1); + Math.Lemmas.small_div j n + +let math_aux_4 (m n: pos) (j: under n) : Lemma ((j+((m-1)*n)) - ((m-1)*n) == j) = () + +let seq_eq_from_member_eq #c (n: pos) (p q: (z:SB.seq c{SB.length z=n})) + (proof: (i: under n) -> Lemma (SB.index p i == SB.index q i)) + : Lemma (p == q) = + Classical.forall_intro proof; + SB.lemma_eq_elim p q + +let math_wut_lemma (x: pos) : Lemma (requires x>1) (ensures x-1 > 0) = () + +(* This proof used to be very unstable, so I rewrote it with as much precision + and control over lambdas as possible. + + I also left intact some trivial auxiliaries and the quake option + in order to catch regressions the moment they happen instead of several + releases later -- Alex *) +#push-options "--ifuel 0 --fuel 0 --z3rlimit 15" +#restart-solver +let rec matrix_fold_equals_double_fold #c #eq (#p:pos) #n (cm:CE.cm c eq) + (generator: matrix_generator c p n) (m: pos{m<=p}) + : Lemma (ensures SP.foldm_snoc cm (SB.slice (seq_of_matrix (init generator)) 0 (m*n)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (generator i))))) + (decreases m) = + if p=1 then terminal_case_aux cm generator m + else if m=1 then terminal_case_two_aux cm generator m + else + let lhs_seq = (SB.slice (matrix_seq generator) 0 (m*n)) in + let rhs_seq_gen = fun (i: under m) -> SP.foldm_snoc cm (SB.init n (generator i)) in + let rhs_seq_subgen = fun (i: under (m-1)) -> SP.foldm_snoc cm (SB.init n (generator i)) in + let rhs_seq = SB.init m rhs_seq_gen in + let lhs = SP.foldm_snoc cm lhs_seq in + let rhs = SP.foldm_snoc cm rhs_seq in + let matrix = lhs_seq in + let submatrix = SB.slice (matrix_seq generator) 0 ((m-1)*n) in + let last_row = SB.slice (matrix_seq generator) ((m-1)*n) (m*n) in + SB.lemma_len_slice (matrix_seq generator) ((m-1)*n) (m*n); + assert (SB.length last_row = n); + SB.lemma_eq_elim matrix (SB.append submatrix last_row); + SP.foldm_snoc_append cm submatrix last_row; + matrix_fold_equals_double_fold #c #eq #p #n cm generator (m-1); + SB.lemma_eq_elim (SB.init (m-1) rhs_seq_gen) + (SB.init (m-1) rhs_seq_subgen); + let aux (j: under n) : Lemma (SB.index last_row j == generator (m-1) j) = + SB.lemma_index_app2 submatrix last_row (j+((m-1)*n)); + math_aux_2 m n j; + math_aux_3 m n j; + math_aux_4 m n j; + () in Classical.forall_intro aux; + let rhs_liat, rhs_last = SProp.un_snoc rhs_seq in + let rhs_last_seq = SB.init n (generator (m-1)) in + liat_equals_init m rhs_seq_gen; + SP.foldm_snoc_decomposition cm rhs_seq; + let aux_2 (j: under n) : Lemma (SB.index last_row j == SB.index rhs_last_seq j) = () in + seq_eq_from_member_eq n last_row rhs_last_seq aux_2; + SB.lemma_eq_elim rhs_liat (SB.init (m-1) rhs_seq_gen); + cm.commutativity (SP.foldm_snoc cm submatrix) (SP.foldm_snoc cm last_row); + eq.transitivity lhs (SP.foldm_snoc cm submatrix `cm.mult` SP.foldm_snoc cm last_row) + (SP.foldm_snoc cm last_row `cm.mult` SP.foldm_snoc cm submatrix); + eq.reflexivity (SP.foldm_snoc cm last_row); + cm.congruence (SP.foldm_snoc cm last_row) (SP.foldm_snoc cm submatrix) + (SP.foldm_snoc cm last_row) (SP.foldm_snoc cm (SB.init (m-1) rhs_seq_subgen)); + eq.transitivity lhs (SP.foldm_snoc cm last_row `cm.mult` SP.foldm_snoc cm submatrix) rhs +#pop-options + +let matrix_fold_equals_fold_of_seq_folds #c #eq #m #n cm generator : Lemma + (ensures foldm cm (init generator) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) /\ + SP.foldm_snoc cm (seq_of_matrix (init generator)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i))))) = + matrix_fold_equals_double_fold cm generator m; + assert ((SB.slice (seq_of_matrix (init generator)) 0 (m*n)) == seq_of_matrix (init generator)); + SB.lemma_eq_elim (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) + (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (generator i)))); + assert ((SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) == + (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (generator i))))); +() + +(* This auxiliary lemma shows that the fold of the last line of a matrix + is equal to the corresponding fold of the generator function *) +let matrix_last_line_equals_gen_fold #c #eq + (#m #n: pos) + (cm: CE.cm c eq) + (generator: matrix_generator c m n) + : Lemma (SP.foldm_snoc cm (SB.slice (matrix_seq generator) ((m-1)*n) (m*n)) + `eq.eq` CF.fold cm 0 (n-1) (generator (m-1))) = + let slice = SB.slice #c in + let foldm_snoc = SP.foldm_snoc #c #eq in + assert (matrix_seq generator == seq_of_matrix (init generator)); + let init = SB.init #c in + let lemma_eq_elim = SB.lemma_eq_elim #c in + lemma_eq_elim (slice (matrix_seq generator) ((m-1)*n) (m*n)) + (init n (generator (m-1))); + let g : ifrom_ito 0 (n-1) -> c = generator (m-1) in + CF.fold_equals_seq_foldm cm 0 (n-1) g; + let gen = CF.init_func_from_expr g 0 (n-1) in + eq.reflexivity (foldm_snoc cm (init (closed_interval_size 0 (n-1)) gen)); + lemma_eq_elim (slice (matrix_seq generator) ((m-1)*n) (m*n)) + (init (closed_interval_size 0 (n-1)) gen); + eq.symmetry (CF.fold cm 0 (n-1) (generator (m-1))) + (foldm_snoc cm (init (closed_interval_size 0 (n-1)) gen)); + eq.transitivity (foldm_snoc cm (slice (matrix_seq generator) ((m-1)*n) (m*n))) + (foldm_snoc cm (init (closed_interval_size 0 (n-1)) gen)) + (CF.fold cm 0 (n-1) (generator (m-1))) + +(* This lemma proves that a matrix fold is the same thing as double-fold of + its generator function against full indices ranges *) +#push-options "--ifuel 0 --fuel 0" +let rec matrix_fold_aux #c #eq // lemma needed for precise generator domain control + (#gen_m #gen_n: pos) // full generator domain + (cm: CE.cm c eq) + (m: ifrom_ito 1 gen_m) (n: ifrom_ito 1 gen_n) //subdomain + (generator: matrix_generator c gen_m gen_n) + : Lemma (ensures SP.foldm_snoc cm (matrix_seq #c #m #n generator) `eq.eq` + CF.fold cm 0 (m-1) (fun (i: under m) -> CF.fold cm 0 (n-1) (generator i))) + (decreases m) = + Classical.forall_intro_2 (ijth_lemma (init generator)); + let slice = SB.slice #c in + let foldm_snoc = SP.foldm_snoc #c #eq in + let lemma_eq_elim = SB.lemma_eq_elim #c in + if m = 1 then begin + matrix_fold_equals_fold_of_seq cm (init generator); + matrix_last_line_equals_gen_fold #c #eq #m #n cm generator; + CF.fold_singleton_lemma cm 0 (fun (i:under m) -> CF.fold cm 0 (n-1) (generator i)); + assert (CF.fold cm 0 (m-1) (fun (i: under m) -> CF.fold cm 0 (n-1) (generator i)) + == CF.fold cm 0 (n-1) (generator 0)) + end else begin + Classical.forall_intro_3 (Classical.move_requires_3 eq.transitivity); + matrix_fold_aux cm (m-1) n generator; + let outer_func (i: under m) = CF.fold cm 0 (n-1) (generator i) in + let outer_func_on_subdomain (i: under (m-1)) = CF.fold cm 0 (n-1) (generator i) in + CF.fold_equality cm 0 (m-2) outer_func_on_subdomain outer_func; + CF.fold_snoc_decomposition cm 0 (m-1) outer_func; + matrix_fold_snoc_lemma #c #eq #m #n cm generator; + matrix_last_line_equals_gen_fold #c #eq #m #n cm generator; + cm.congruence (foldm_snoc cm (matrix_seq #c #(m-1) #n generator)) + (foldm_snoc cm (slice (matrix_seq #c #m #n generator) ((m-1)*n) (m*n))) + (CF.fold cm 0 (m-2) outer_func) + (CF.fold cm 0 (n-1) (generator (m-1))) + end +#pop-options + +(* This lemma establishes that the fold of a matrix is equal to + nested Algebra.CommMonoid.Fold.fold over the matrix generator *) +let matrix_fold_equals_func_double_fold #c #eq #m #n cm generator + : Lemma (foldm cm (init generator) `eq.eq` + CF.fold cm 0 (m-1) (fun (i:under m) -> CF.fold cm 0 (n-1) (generator i))) + = matrix_fold_aux cm m n generator + +(* This function provides the transposed matrix generator, with indices swapped + Notice how the forall property of the result function is happily proved + automatically by z3 :) *) +let transposed_matrix_gen #c #m #n (generator: matrix_generator c m n) + : (f: matrix_generator c n m { forall i j. f j i == generator i j }) + = fun j i -> generator i j + +(* This lemma shows that the transposed matrix is + a permutation of the original one *) +let matrix_transpose_is_permutation #c #m #n generator + : Lemma (SP.is_permutation (seq_of_matrix (init generator)) + (seq_of_matrix (init (transposed_matrix_gen generator))) + (transpose_ji m n)) = + let matrix_transposed_eq_lemma #c (#m #n: pos) + (gen: matrix_generator c m n) + (ij: under (m*n)) + : Lemma (SB.index (seq_of_matrix (init gen)) ij == + SB.index (seq_of_matrix (init (transposed_matrix_gen gen))) (transpose_ji m n ij)) + = + ijth_lemma (init gen) (get_i m n ij) (get_j m n ij); + ijth_lemma (init (transposed_matrix_gen gen)) + (get_i n m (transpose_ji m n ij)) + (get_j n m (transpose_ji m n ij)); + () in + let transpose_inequality_lemma (m n: pos) (ij: under (m*n)) (kl: under (n*m)) + : Lemma (requires kl <> ij) (ensures transpose_ji m n ij <> transpose_ji m n kl) = + dual_indices m n ij; + dual_indices m n kl in + Classical.forall_intro (matrix_transposed_eq_lemma generator); + Classical.forall_intro_2 (Classical.move_requires_2 + (transpose_inequality_lemma m n)); + SP.reveal_is_permutation (seq_of_matrix (init generator)) + (seq_of_matrix (init (transposed_matrix_gen generator))) + (transpose_ji m n) + +(* Fold over matrix equals fold over transposed matrix *) +let matrix_fold_equals_fold_of_transpose #c #eq #m #n + (cm: CE.cm c eq) + (gen: matrix_generator c m n) + : Lemma (foldm cm (init gen) `eq.eq` + foldm cm (init (transposed_matrix_gen gen))) = + let matrix_seq #c #m #n (g: matrix_generator c m n) = (seq_of_matrix (init g)) in + let matrix_mn = matrix_seq gen in + let matrix_nm = matrix_seq (transposed_matrix_gen gen) in + matrix_transpose_is_permutation gen; + SP.foldm_snoc_perm cm (matrix_seq gen) + (matrix_seq (transposed_matrix_gen gen)) + (transpose_ji m n); + matrix_fold_equals_fold_of_seq cm (init gen); + matrix_fold_equals_fold_of_seq cm (init (transposed_matrix_gen gen)); + eq.symmetry (foldm cm (init (transposed_matrix_gen gen))) + (SP.foldm_snoc cm (matrix_seq (transposed_matrix_gen gen))); + eq.transitivity (foldm cm (init gen)) (SP.foldm_snoc cm (matrix_seq gen)) + (SP.foldm_snoc cm (matrix_seq (transposed_matrix_gen gen))); + eq.transitivity (foldm cm (init gen)) (SP.foldm_snoc cm (matrix_seq (transposed_matrix_gen gen))) + (foldm cm (init (transposed_matrix_gen gen))) + +let matrix_eq_fun #c (#m #n: pos) (eq: CE.equiv c) (ma mb: matrix c m n) = + eq_of_seq eq (seq_of_matrix ma) (seq_of_matrix mb) + +(* + Matrix equivalence, defined as element-wise equivalence of its underlying + flattened sequence, is constructed trivially from the element equivalence + and the lemmas defined above. +*) +let matrix_equiv #c (eq: CE.equiv c) (m n: pos) : CE.equiv (matrix c m n) = + CE.EQ (matrix_eq_fun eq) + (fun m -> eq_of_seq_reflexivity eq (seq_of_matrix m)) + (fun ma mb -> eq_of_seq_symmetry eq (seq_of_matrix ma) (seq_of_matrix mb)) + (fun ma mb mc -> eq_of_seq_transitivity eq (seq_of_matrix ma) (seq_of_matrix mb) (seq_of_matrix mc)) + +(* Equivalence of matrices means equivalence of all corresponding elements *) +let matrix_equiv_ijth #c (#m #n: pos) (eq: CE.equiv c) (ma mb: matrix c m n) (i: under m) (j: under n) + : Lemma (requires (matrix_equiv eq m n).eq ma mb) (ensures ijth ma i j `eq.eq` ijth mb i j) = + eq_of_seq_element_equality eq (seq_of_matrix ma) (seq_of_matrix mb) + +(* Equivalence of all corresponding elements means equivalence of matrices *) +let matrix_equiv_from_element_eq #c (#m #n: pos) (eq: CE.equiv c) (ma mb: matrix c m n) + : Lemma (requires (forall (i: under m) (j: under n). ijth ma i j `eq.eq` ijth mb i j)) + (ensures matrix_eq_fun eq ma mb) = + assert (SB.length (seq_of_matrix ma) = SB.length (seq_of_matrix mb)); + let s1 = seq_of_matrix ma in + let s2 = seq_of_matrix mb in + assert (forall (ij: under (m*n)). SB.index s1 ij == ijth ma (get_i m n ij) (get_j m n ij)); + assert (forall (ij: under (m*n)). SB.index s2 ij == ijth mb (get_i m n ij) (get_j m n ij)); + assert (forall (ij: under (m*n)). SB.index s1 ij `eq.eq` SB.index s2 ij); + eq_of_seq_from_element_equality eq (seq_of_matrix ma) (seq_of_matrix mb) + +(* We construct addition CommMonoid from the following definitions *) +let matrix_add_is_associative #c #eq #m #n (add: CE.cm c eq) (ma mb mc: matrix c m n) + : Lemma (matrix_add add (matrix_add add ma mb) mc `(matrix_equiv eq m n).eq` + matrix_add add ma (matrix_add add mb mc)) = + matrix_equiv_from_proof eq + (matrix_add add (matrix_add add ma mb) mc) + (matrix_add add ma (matrix_add add mb mc)) + (fun i j -> add.associativity (ijth ma i j) (ijth mb i j) (ijth mc i j)) + +let matrix_add_is_commutative #c #eq (#m #n: pos) (add: CE.cm c eq) (ma mb: matrix c m n) + : Lemma (matrix_add add ma mb `(matrix_equiv eq m n).eq` matrix_add add mb ma) = + matrix_equiv_from_proof eq (matrix_add add ma mb) (matrix_add add mb ma) + (fun i j -> add.commutativity (ijth ma i j) (ijth mb i j)) + +let matrix_add_congruence #c #eq (#m #n: pos) (add: CE.cm c eq) (ma mb mc md: matrix c m n) + : Lemma (requires matrix_eq_fun eq ma mc /\ matrix_eq_fun eq mb md) + (ensures matrix_add add ma mb `matrix_eq_fun eq` matrix_add add mc md) = + matrix_equiv_from_proof eq (matrix_add add ma mb) (matrix_add add mc md) + (fun i j -> matrix_equiv_ijth eq ma mc i j; + matrix_equiv_ijth eq mb md i j; + add.congruence (ijth ma i j) (ijth mb i j) + (ijth mc i j) (ijth md i j)) + +let matrix_add_zero #c #eq (add: CE.cm c eq) (m n: pos) + : (z: matrix c m n { forall (i: under m) (j: under n). ijth z i j == add.unit }) + = matrix_of_seq m n (SB.create (m*n) add.unit) + +let matrix_add_identity #c #eq (add: CE.cm c eq) (#m #n: pos) (mx: matrix c m n) + : Lemma (matrix_add add (matrix_add_zero add m n) mx `matrix_eq_fun eq` mx) = + matrix_equiv_from_proof eq (matrix_add add (matrix_add_zero add m n) mx) mx + (fun i j -> add.identity (ijth mx i j)) + +let matrix_add_comm_monoid #c #eq (add: CE.cm c eq) (m n: pos) + : CE.cm (matrix c m n) (matrix_equiv eq m n) + = CE.CM (matrix_add_zero add m n) + (matrix_add add) + (matrix_add_identity add) + (matrix_add_is_associative add) + (matrix_add_is_commutative add) + (matrix_add_congruence add) + +(* equivalence of addressing styles *) +let matrix_row_col_lemma #c #m #n (mx: matrix c m n) (i: under m) (j: under n) + : Lemma (ijth mx i j == SB.index (row mx i) j /\ ijth mx i j == SB.index (col mx j) i) = () + +(* + See how lemma_eq_elim is defined, note the SMTPat there. + Invoking this is often more efficient in big proofs than invoking + lemma_eq_elim directly. +*) +let seq_of_products_lemma #c #eq (mul: CE.cm c eq) (s: SB.seq c) (t: SB.seq c {SB.length t == SB.length s}) + (r: SB.seq c{SB.equal r (SB.init (SB.length s) (fun (i: under (SB.length s)) -> SB.index s i `mul.mult` SB.index t i))}) + : Lemma (seq_of_products mul s t == r) = () + +let dot_lemma #c #eq add mul s t + : Lemma (dot add mul s t == SP.foldm_snoc add (seq_of_products mul s t)) = () + +let matrix_mul_gen #c #eq #m #n #p (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) + (i: under m) (k: under p) + = dot add mul (row mx i) (col my k) + +let matrix_mul #c #eq #m #n #p (add mul: CE.cm c eq) (mx: matrix c m n) (my: matrix c n p) + = init (matrix_mul_gen add mul mx my) + +(* the following lemmas improve verification performance. *) +(* Sometimes this fact gets lost and needs an explicit proof *) +let seq_last_index #c (s: SB.seq c{SB.length s > 0}) + : Lemma (SProp.last s == SB.index s (SB.length s - 1)) = () + +(* It often takes assert_norm to obtain the fact that, + (fold s == last s `op` fold (slice s 0 (length s - 1))). + Invoking this lemma instead offers a more stable option. *) +let seq_fold_decomposition #c #eq (cm: CE.cm c eq) (s: SB.seq c{SB.length s > 0}) + : Lemma (SP.foldm_snoc cm s == cm.mult (SProp.last s) (SP.foldm_snoc cm (fst (SProp.un_snoc s)))) = () + + +(* Using common notation for algebraic operations instead of `mul` / `add` infix + simplifies the code and makes it more compact. *) +let rec foldm_snoc_distributivity_left #c #eq (mul add: CE.cm c eq) (a: c) (s: SB.seq c) + : Lemma (requires is_fully_distributive mul add /\ is_absorber add.unit mul) + (ensures mul.mult a (SP.foldm_snoc add s) `eq.eq` + SP.foldm_snoc add (const_op_seq mul a s)) + (decreases SB.length s) = + if SB.length s > 0 then + let ((+), ( * ), (=)) = add.mult, mul.mult, eq.eq in + let sum s = SP.foldm_snoc add s in + let liat, last = SProp.un_snoc s in + let rhs_liat, rhs_last = SProp.un_snoc (const_op_seq mul a s) in + foldm_snoc_distributivity_left mul add a liat; + SB.lemma_eq_elim rhs_liat (const_op_seq mul a liat); + eq.reflexivity rhs_last; + add.congruence rhs_last (a*sum liat) rhs_last (sum rhs_liat); + eq.transitivity (a*sum s) (rhs_last + a*sum liat) (rhs_last + sum rhs_liat) + +let rec foldm_snoc_distributivity_right #c #eq (mul add: CE.cm c eq) (s: SB.seq c) (a: c) + : Lemma (requires is_fully_distributive mul add /\ is_absorber add.unit mul) + (ensures mul.mult (SP.foldm_snoc add s) a `eq.eq` + SP.foldm_snoc add (seq_op_const mul s a)) + (decreases SB.length s) = + if SB.length s > 0 then + let ((+), ( * ), (=)) = add.mult, mul.mult, eq.eq in + let sum s = SP.foldm_snoc add s in + let liat, last = SProp.un_snoc s in + let rhs_liat, rhs_last = SProp.un_snoc (seq_op_const mul s a) in + foldm_snoc_distributivity_right mul add liat a; + SB.lemma_eq_elim rhs_liat (seq_op_const mul liat a); + eq.reflexivity rhs_last; + add.congruence rhs_last (sum liat*a) rhs_last (sum rhs_liat); + eq.transitivity (sum s*a) (rhs_last + sum liat*a) (rhs_last + sum rhs_liat) + +let foldm_snoc_distributivity_right_eq #c #eq (mul add: CE.cm c eq) (s: SB.seq c) (a: c) (r: SB.seq c) + : Lemma (requires is_fully_distributive mul add /\ is_absorber add.unit mul /\ + SB.equal r (seq_op_const mul s a)) + (ensures mul.mult (SP.foldm_snoc add s) a `eq.eq` + SP.foldm_snoc add r) + = foldm_snoc_distributivity_right mul add s a + +let foldm_snoc_distributivity_left_eq #c #eq (mul add: CE.cm c eq) (a: c) + (s: SB.seq c) + (r: SB.seq c{SB.equal r (const_op_seq mul a s)}) + : Lemma (requires is_fully_distributive mul add /\ is_absorber add.unit mul) + (ensures (mul.mult a(SP.foldm_snoc add s)) `eq.eq` + SP.foldm_snoc add r) + = foldm_snoc_distributivity_left mul add a s + +let matrix_mul_ijth #c #eq #m #n #k (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n k) i h + : Lemma (ijth (matrix_mul add mul mx my) i h == dot add mul (row mx i) (col my h)) = () + +let matrix_mul_ijth_as_sum #c #eq #m #n #p (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) i k + : Lemma (ijth (matrix_mul add mul mx my) i k == + SP.foldm_snoc add (SB.init n (fun (j: under n) -> mul.mult (ijth mx i j) (ijth my j k)))) = + let r = SB.init n (fun (j: under n) -> mul.mult (ijth mx i j) (ijth my j k)) in + assert (ijth (matrix_mul add mul mx my) i k == + SP.foldm_snoc add (seq_of_products mul (row mx i) (col my k))); + seq_of_products_lemma mul (row mx i) (col my k) r + +let matrix_mul_ijth_eq_sum_of_seq #c #eq #m #n #p (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my: matrix c n p) (i: under m) (k: under p) + (r: SB.seq c{r `SB.equal` seq_of_products mul (row mx i) (col my k)}) + : Lemma (ijth (matrix_mul add mul mx my) i k == SP.foldm_snoc add r) = () + + +let double_foldm_snoc_transpose_lemma #c #eq (#m #n: pos) (cm: CE.cm c eq) (f: under m -> under n -> c) + : Lemma (SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)))) `eq.eq` + SP.foldm_snoc cm (SB.init n (fun (j: under n) -> SP.foldm_snoc cm (SB.init m (fun (i: under m) -> f i j))))) = + Classical.forall_intro_2 (Classical.move_requires_2 eq.symmetry); + let gen : matrix_generator c m n = f in + let mx = init gen in + let mx_seq = matrix_seq gen in + matrix_fold_equals_fold_of_seq_folds cm gen; + let aux (i: under m) : Lemma (SB.init n (gen i) == SB.init n (fun (j: under n) -> f i j)) + = SB.lemma_eq_elim (SB.init n (gen i))(SB.init n (fun (j: under n) -> f i j)) + in Classical.forall_intro aux; + SB.lemma_eq_elim (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (gen i)))) + (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)))); + SB.lemma_eq_elim (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)))) + (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)))); + matrix_transpose_is_permutation gen; + matrix_fold_equals_fold_of_transpose cm gen; + let trans_gen = transposed_matrix_gen gen in + let mx_trans = init trans_gen in + let mx_trans_seq = matrix_seq trans_gen in + matrix_fold_equals_fold_of_seq_folds cm trans_gen; + assert (foldm cm mx_trans `eq.eq` + SP.foldm_snoc cm (SB.init n (fun j -> SP.foldm_snoc cm (SB.init m (trans_gen j))))); + let aux_tr_lemma (j: under n) + : Lemma ((SB.init m (trans_gen j)) == (SB.init m (fun (i: under m) -> f i j))) + = SB.lemma_eq_elim (SB.init m (trans_gen j)) (SB.init m (fun (i: under m) -> f i j)) + in Classical.forall_intro aux_tr_lemma; + SB.lemma_eq_elim (SB.init n (fun j -> SP.foldm_snoc cm (SB.init m (trans_gen j)))) + (SB.init n (fun (j:under n) -> SP.foldm_snoc cm (SB.init m (fun (i: under m) -> f i j)))); + assert (foldm cm mx_trans `eq.eq` + SP.foldm_snoc cm (SB.init n (fun (j:under n) -> SP.foldm_snoc cm (SB.init m (fun (i: under m) -> f i j))))); + eq.transitivity (SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j))))) + (foldm cm mx) + (foldm cm mx_trans); + eq.transitivity (SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j))))) + (foldm cm mx_trans) + (SP.foldm_snoc cm (SB.init n (fun (j:under n) -> SP.foldm_snoc cm (SB.init m (fun (i: under m) -> f i j))))) + +let matrix_mul_ijth_eq_sum_of_seq_for_init #c #eq #m #n #p (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) i k + (f: under n -> c { SB.init n f `SB.equal` seq_of_products mul (row mx i) (col my k)}) + : Lemma (ijth (matrix_mul add mul mx my) i k == SP.foldm_snoc add (SB.init n f)) = () + +let double_foldm_snoc_of_equal_generators #c #eq (#m #n: pos) + (cm: CE.cm c eq) + (f g: under m -> under n -> c) + : Lemma (requires (forall (i: under m) (j: under n). f i j `eq.eq` g i j)) + (ensures SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)))) + `eq.eq` SP.foldm_snoc cm (SB.init m (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> g i j))))) = + let aux i : Lemma (SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j)) `eq.eq` + SP.foldm_snoc cm (SB.init n (fun (j: under n) -> g i j))) + = SP.foldm_snoc_of_equal_inits cm (fun j -> f i j) (fun j -> g i j) in + Classical.forall_intro aux; + SP.foldm_snoc_of_equal_inits cm (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> f i j))) + (fun (i: under m) -> SP.foldm_snoc cm (SB.init n (fun (j: under n) -> g i j))) + +#push-options "--z3rlimit 15 --ifuel 0 --fuel 0" +let matrix_mul_is_associative #c #eq #m #n #p #q (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my: matrix c n p) (mz: matrix c p q) + : Lemma (matrix_eq_fun eq ((matrix_mul add mul mx my) `matrix_mul add mul` mz) + (matrix_mul add mul mx (matrix_mul add mul my mz))) = + let rhs = mx `matrix_mul add mul` (my `matrix_mul add mul` mz) in + let lhs = (mx `matrix_mul add mul` my) `matrix_mul add mul` mz in + let mxy = matrix_mul add mul mx my in + let myz = matrix_mul add mul my mz in + let ((+), ( * ), (=)) = add.mult, mul.mult, eq.eq in + let aux i l : squash (ijth lhs i l = ijth rhs i l) = + let sum_j (f: under n -> c) = SP.foldm_snoc add (SB.init n f) in + let sum_k (f: under p -> c) = SP.foldm_snoc add (SB.init p f) in + let xy_products_init k j = ijth mx i j * ijth my j k in + let xy_cell_as_sum k = sum_j (xy_products_init k) in + let xy_cell_lemma k : Lemma (ijth mxy i k == xy_cell_as_sum k) = + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx my i k (xy_products_init k) + in Classical.forall_intro xy_cell_lemma; + let xy_z_products_init k = xy_cell_as_sum k * ijth mz k l in + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mxy mz i l xy_z_products_init; + let full_init_kj k j = (ijth mx i j * ijth my j k) * ijth mz k l in + let full_init_jk j k = (ijth mx i j * ijth my j k) * ijth mz k l in + let full_init_rh j k = ijth mx i j * (ijth my j k * ijth mz k l) in + let sum_jk (f: (under n -> under p -> c)) = sum_j (fun j -> sum_k (fun k -> f j k)) in + let sum_kj (f: (under p -> under n -> c)) = sum_k (fun k -> sum_j (fun j -> f k j)) in + let xy_z_distr k : Lemma (((xy_cell_as_sum k) * (ijth mz k l)) = sum_j (full_init_kj k)) + = foldm_snoc_distributivity_right_eq mul add (SB.init n (xy_products_init k)) (ijth mz k l) + (SB.init n (full_init_kj k)) + in Classical.forall_intro xy_z_distr; + SP.foldm_snoc_of_equal_inits add xy_z_products_init + (fun k -> sum_j (full_init_kj k)); + double_foldm_snoc_transpose_lemma add full_init_kj; + eq.transitivity (ijth lhs i l) (sum_kj full_init_kj) + (sum_jk full_init_jk); + let aux_rh j k : Lemma (full_init_jk j k = full_init_rh j k) + = mul.associativity (ijth mx i j) (ijth my j k) (ijth mz k l) + in Classical.forall_intro_2 aux_rh; + double_foldm_snoc_of_equal_generators add full_init_jk full_init_rh; + eq.transitivity (ijth lhs i l) (sum_jk full_init_jk) (sum_jk full_init_rh); + + // now expand the right hand side, fully dual to the first part of the lemma. + let yz_products_init j k = ijth my j k * ijth mz k l in + let yz_cell_as_sum j = sum_k (yz_products_init j) in + let x_yz_products_init j = ijth mx i j * yz_cell_as_sum j in + let yz_cell_lemma j : Lemma (ijth myz j l == sum_k (yz_products_init j)) = + matrix_mul_ijth_eq_sum_of_seq_for_init add mul my mz j l (yz_products_init j); + () in Classical.forall_intro yz_cell_lemma; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx myz i l x_yz_products_init; + let x_yz_distr j : Lemma (ijth mx i j * yz_cell_as_sum j = sum_k (full_init_rh j)) + = foldm_snoc_distributivity_left_eq mul add (ijth mx i j) (SB.init p (yz_products_init j)) + (SB.init p (full_init_rh j)) + in Classical.forall_intro x_yz_distr; + SP.foldm_snoc_of_equal_inits add x_yz_products_init (fun j -> sum_k (full_init_rh j)); + eq.symmetry (ijth rhs i l) (sum_jk full_init_rh); + eq.transitivity (ijth lhs i l) (sum_jk full_init_rh) (ijth rhs i l); + () in matrix_equiv_from_proof eq lhs rhs aux +#pop-options + +let matrix_mul_unit_row_lemma #c #eq m (add mul: CE.cm c eq) (i: under m) + : Lemma ((row (matrix_mul_unit add mul m) i + == (SB.create i add.unit) `SB.append` + ((SB.create 1 mul.unit) `SB.append` (SB.create (m-i-1) add.unit))) /\ + (row (matrix_mul_unit add mul m) i + == ((SB.create i add.unit) `SB.append` (SB.create 1 mul.unit)) `SB.append` + (SB.create (m-i-1) add.unit))) = + SB.lemma_eq_elim ((SB.create i add.unit `SB.append` SB.create 1 mul.unit) + `SB.append` (SB.create (m-i-1) add.unit)) + (row (matrix_mul_unit add mul m) i); + SB.lemma_eq_elim ((SB.create i add.unit) `SB.append` + (SB.create 1 mul.unit `SB.append` SB.create (m-i-1) add.unit)) + (row (matrix_mul_unit add mul m) i) + +let matrix_mul_unit_col_lemma #c #eq m (add mul: CE.cm c eq) (i: under m) + : Lemma ((col (matrix_mul_unit add mul m) i + == (SB.create i add.unit) `SB.append` + ((SB.create 1 mul.unit) `SB.append` (SB.create (m-i-1) add.unit))) /\ + (col (matrix_mul_unit add mul m) i == + ((SB.create i add.unit) `SB.append` (SB.create 1 mul.unit)) `SB.append` + (SB.create (m-i-1) add.unit))) = + SB.lemma_eq_elim ((SB.create i add.unit `SB.append` SB.create 1 mul.unit) + `SB.append` (SB.create (m-i-1) add.unit)) + (col (matrix_mul_unit add mul m) i); + SB.lemma_eq_elim ((SB.create i add.unit) `SB.append` + (SB.create 1 mul.unit `SB.append` SB.create (m-i-1) add.unit)) + (col (matrix_mul_unit add mul m) i) + +let seq_of_products_zeroes_lemma #c #eq #m (mul: CE.cm c eq) + (z: c{is_absorber z mul}) + (s: SB.seq c{SB.length s == m}) + : Lemma (ensures (eq_of_seq eq (seq_of_products mul (SB.create m z) s) (SB.create m z))) + = eq_of_seq_from_element_equality eq (seq_of_products mul (SB.create m z) s) (SB.create m z) + +let rec foldm_snoc_zero_lemma #c #eq (add: CE.cm c eq) (zeroes: SB.seq c) + : Lemma (requires (forall (i: under (SB.length zeroes)). SB.index zeroes i `eq.eq` add.unit)) + (ensures eq.eq (SP.foldm_snoc add zeroes) add.unit) + (decreases SB.length zeroes) = + if (SB.length zeroes < 1) then begin + assert_norm (SP.foldm_snoc add zeroes == add.unit); + eq.reflexivity add.unit + end else + let liat, last = SProp.un_snoc zeroes in + foldm_snoc_zero_lemma add liat; + add.congruence last (SP.foldm_snoc add liat) add.unit add.unit; + add.identity add.unit; + SP.foldm_snoc_decomposition add zeroes; + eq.transitivity (SP.foldm_snoc add zeroes) + (add.mult add.unit add.unit) + add.unit + + +let matrix_mul_unit_ijth #c #eq (add mul: CE.cm c eq) m (i j: under m) + : Lemma (ijth (matrix_mul_unit add mul m) i j == (if i=j then mul.unit else add.unit))=() + +let last_equals_index #c (s: SB.seq c{SB.length s > 0}) + : Lemma ((snd (SProp.un_snoc s)) == SB.index s (SB.length s - 1)) = () + + + +let matrix_right_mul_identity_aux_0 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k=0}) + : Lemma (ensures SP.foldm_snoc add (SB.init k (fun (k: under m) + -> ijth mx i k `mul.mult` + ijth (matrix_mul_unit add mul m) k j)) + `eq.eq` add.unit) + = eq.reflexivity add.unit + +let rec matrix_right_mul_identity_aux_1 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k<=j}) + : Lemma (ensures SP.foldm_snoc add (SB.init k (fun (k: under m) + -> ijth mx i k `mul.mult` + ijth (matrix_mul_unit add mul m) k j)) + `eq.eq` add.unit) + (decreases k) + = if k = 0 then matrix_right_mul_identity_aux_0 add mul mx i j k + else + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen = fun (k: under m) -> ijth mx i k * ijth unit k j in + let full = SB.init k gen in + let liat,last = SProp.un_snoc full in + matrix_right_mul_identity_aux_1 add mul mx i j (k-1); + liat_equals_init k gen; + eq.reflexivity (SP.foldm_snoc add liat); + mul.congruence last (SP.foldm_snoc add liat) add.unit (SP.foldm_snoc add liat); + eq.transitivity (last * SP.foldm_snoc add liat) + (add.unit * SP.foldm_snoc add liat) + (add.unit); + + eq.reflexivity (SP.foldm_snoc add (SB.init (k-1) gen)); + matrix_mul_unit_ijth add mul m (k-1) j; // This one reduces the rlimits needs to default + add.congruence last (SP.foldm_snoc add liat) add.unit add.unit; + add.identity add.unit; + SP.foldm_snoc_decomposition add full; + eq.transitivity (SP.foldm_snoc add full) + (add.mult add.unit add.unit) + add.unit + +let matrix_right_mul_identity_aux_2 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k=j+1}) + : Lemma (ensures SP.foldm_snoc add (SB.init k (fun (k: under m) + -> ijth mx i k `mul.mult` + ijth (matrix_mul_unit add mul m) k j)) + `eq.eq` ijth mx i j) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen = fun (k: under m) -> ijth mx i k * ijth unit k j in + let full = SB.init k gen in + let liat,last = SProp.un_snoc full in + matrix_right_mul_identity_aux_1 add mul mx i j j; + liat_equals_init k gen; + mul.identity (ijth mx i j); + eq.reflexivity last; + add.congruence last (SP.foldm_snoc add liat) last add.unit; + matrix_mul_unit_ijth add mul m (k-1) j; // This one reduces the rlimits needs to default + add.identity last; + add.commutativity last add.unit; + mul.commutativity (ijth mx i j) mul.unit; + eq.transitivity (add.mult last add.unit) (add.mult add.unit last) last; + SP.foldm_snoc_decomposition add full; + eq.transitivity (SP.foldm_snoc add full) (add.mult last add.unit) last; + eq.transitivity last (mul.unit * ijth mx i j) (ijth mx i j); + eq.transitivity (SP.foldm_snoc add full) last (ijth mx i j) + +let rec matrix_right_mul_identity_aux_3 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:under (m+1){k>j+1}) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth mx i k `mul.mult` ijth (matrix_mul_unit add mul m) k j)) + `eq.eq` ijth mx i j) + (decreases k) = + if (k-1) > j+1 then matrix_right_mul_identity_aux_3 add mul mx i j (k-1) + else matrix_right_mul_identity_aux_2 add mul mx i j (k-1); + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen = fun (k: under m) -> ijth mx i k * ijth unit k j in + let subgen (i: under (k)) = gen i in + let full = SB.init k gen in + SP.foldm_snoc_decomposition add full; + liat_equals_init k gen; + let liat,last = SProp.un_snoc full in + SB.lemma_eq_elim liat (SB.init (k-1) gen); + add.identity add.unit; + mul.commutativity (ijth mx i (k-1)) add.unit; + eq.reflexivity (SP.foldm_snoc add (SB.init (k-1) gen)); + matrix_mul_unit_ijth add mul m (k-1) j; // This one reduces the rlimits needs to default + add.congruence last (SP.foldm_snoc add (SB.init (k-1) gen)) + add.unit (SP.foldm_snoc add (SB.init (k-1) gen)); + add.identity (SP.foldm_snoc add (SB.init (k-1) gen)); + eq.transitivity (SP.foldm_snoc add full) + (add.mult add.unit (SP.foldm_snoc add (SB.init (k-1) gen))) + (SP.foldm_snoc add (SB.init (k-1) gen)); + eq.transitivity (SP.foldm_snoc add full) + (SP.foldm_snoc add (SB.init (k-1) gen)) + (ijth mx i j) + +let matrix_right_identity_aux #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:under (m+1)) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth mx i k `mul.mult` ijth (matrix_mul_unit add mul m) k j)) + `eq.eq` + (if k>j then ijth mx i j else add.unit)) + (decreases k) = + if k=0 then matrix_right_mul_identity_aux_0 add mul mx i j k + else if k <= j then matrix_right_mul_identity_aux_1 add mul mx i j k + else if k = j+1 then matrix_right_mul_identity_aux_2 add mul mx i j k + else matrix_right_mul_identity_aux_3 add mul mx i j k + +let matrix_left_mul_identity_aux_0 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k=0}) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth (matrix_mul_unit add mul m) i k `mul.mult` ijth mx k j)) + `eq.eq` add.unit) = eq.reflexivity add.unit + +#restart-solver +let rec matrix_left_mul_identity_aux_1 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k<=i /\ k>0}) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth (matrix_mul_unit add mul m) i k `mul.mult` ijth mx k j)) + `eq.eq` add.unit) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen (k: under m) = ijth unit i k * ijth mx k j in + let full = SB.init k gen in + let liat,last = SProp.un_snoc full in + if k=1 then matrix_left_mul_identity_aux_0 add mul mx i j (k-1) + else matrix_left_mul_identity_aux_1 add mul mx i j (k-1); + liat_equals_init k gen; + eq.reflexivity (SP.foldm_snoc add liat); + SP.foldm_snoc_decomposition add full; + mul.congruence last (SP.foldm_snoc add liat) add.unit (SP.foldm_snoc add liat); + eq.transitivity (last * SP.foldm_snoc add liat) + (add.unit * SP.foldm_snoc add liat) + (add.unit); + add.congruence last (SP.foldm_snoc add liat) add.unit add.unit; + add.identity add.unit; + eq.transitivity (SP.foldm_snoc add full) + (add.mult add.unit add.unit) + add.unit + +#push-options "--z3rlimit 20" +let matrix_left_mul_identity_aux_2 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:nat{k=i+1}) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth (matrix_mul_unit add mul m) i k `mul.mult` ijth mx k j)) + `eq.eq` ijth mx i j) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen (k: under m) = ijth unit i k * ijth mx k j in + let full = SB.init k gen in + let liat,last = SProp.un_snoc full in + assert (k-1 <= i /\ k-1 >= 0); + if (k-1)=0 then matrix_left_mul_identity_aux_0 add mul mx i j (k-1) + else matrix_left_mul_identity_aux_1 add mul mx i j (k-1); + matrix_mul_unit_ijth add mul m i (k-1); // This one reduces the rlimits needs to default + SP.foldm_snoc_decomposition add full; + liat_equals_init k gen; + mul.identity (ijth mx i j); + eq.reflexivity last; + add.congruence last (SP.foldm_snoc add liat) last add.unit; + add.identity last; + add.commutativity last add.unit; + mul.commutativity (ijth mx i j) mul.unit; + eq.transitivity (add.mult last add.unit) (add.mult add.unit last) last; + eq.transitivity (SP.foldm_snoc add full) (add.mult last add.unit) last; + eq.transitivity last (mul.unit * ijth mx i j) (ijth mx i j); + eq.transitivity (SP.foldm_snoc add full) last (ijth mx i j) + +let rec matrix_left_mul_identity_aux_3 #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:under(m+1){k>i+1}) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth (matrix_mul_unit add mul m) i k `mul.mult` ijth mx k j)) + `eq.eq` ijth mx i j) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let gen (k: under m) = ijth unit i k * ijth mx k j in + let full = SB.init k gen in + if (k-1 = i+1) then matrix_left_mul_identity_aux_2 add mul mx i j (k-1) + else matrix_left_mul_identity_aux_3 add mul mx i j (k-1); + matrix_mul_unit_ijth add mul m i (k-1); // This one reduces the rlimits needs to default + SP.foldm_snoc_decomposition add full; + liat_equals_init k gen; + let liat,last = SProp.un_snoc full in + SB.lemma_eq_elim liat (SB.init (k-1) gen); + add.identity add.unit; + mul.commutativity (ijth mx i (k-1)) add.unit; + eq.reflexivity (SP.foldm_snoc add (SB.init (k-1) gen)); + add.congruence last (SP.foldm_snoc add (SB.init (k-1) gen)) + add.unit (SP.foldm_snoc add (SB.init (k-1) gen)); + add.identity (SP.foldm_snoc add (SB.init (k-1) gen)); + eq.transitivity (SP.foldm_snoc add full) + (add.mult add.unit (SP.foldm_snoc add (SB.init (k-1) gen))) + (SP.foldm_snoc add (SB.init (k-1) gen)); + eq.transitivity (SP.foldm_snoc add full) + (SP.foldm_snoc add (SB.init (k-1) gen)) + (ijth mx i j) + +let matrix_left_identity_aux #c #eq #m + (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + (i j: under m) (k:under (m+1)) + : Lemma (ensures SP.foldm_snoc add (SB.init k + (fun (k: under m) -> ijth (matrix_mul_unit add mul m) i k `mul.mult` ijth mx k j)) + `eq.eq` (if k>i then ijth mx i j else add.unit)) + (decreases k) = + if k=0 then matrix_left_mul_identity_aux_0 add mul mx i j k + else if k <= i then matrix_left_mul_identity_aux_1 add mul mx i j k + else if k = i+1 then matrix_left_mul_identity_aux_2 add mul mx i j k + else matrix_left_mul_identity_aux_3 add mul mx i j k + +let matrix_mul_right_identity #c #eq #m (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul mx (matrix_mul_unit add mul m) `matrix_eq_fun eq` mx) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul mx unit in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let aux (i j: under m) : Lemma (ijth mxu i j $=$ ijth mx i j) = + let gen = fun (k: under m) -> ijth mx i k * ijth unit k j in + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx unit i j gen; + let seq = SB.init m gen in + matrix_right_identity_aux add mul mx i j m + in Classical.forall_intro_2 aux; + matrix_equiv_from_element_eq eq mxu mx + +let matrix_mul_left_identity #c #eq #m (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul (matrix_mul_unit add mul m) mx `matrix_eq_fun eq` mx) = + let unit = matrix_mul_unit add mul m in + let mxu = matrix_mul add mul unit mx in + let ( * ) = mul.mult in + let ( $=$ ) = eq.eq in + let aux (i j: under m) : squash (ijth mxu i j $=$ ijth mx i j) = + let gen (k: under m) = ijth unit i k * ijth mx k j in + matrix_mul_ijth_eq_sum_of_seq_for_init add mul unit mx i j gen; + let seq = SB.init m gen in + matrix_left_identity_aux add mul mx i j m + in + matrix_equiv_from_proof eq mxu mx aux + +let matrix_mul_identity #c #eq #m (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul mx (matrix_mul_unit add mul m) `matrix_eq_fun eq` mx /\ + matrix_mul add mul (matrix_mul_unit add mul m) mx `matrix_eq_fun eq` mx) = + matrix_mul_left_identity add mul mx; + matrix_mul_right_identity add mul mx + +let dot_of_equal_sequences #c #eq (add mul: CE.cm c eq) m + (p q r s: (z:SB.seq c{SB.length z == m})) + : Lemma (requires eq_of_seq eq p r /\ eq_of_seq eq q s) + (ensures eq.eq (dot add mul p q) (dot add mul r s)) = + eq_of_seq_element_equality eq p r; + eq_of_seq_element_equality eq q s; + let aux (i: under (SB.length p)) : Lemma (SB.index (seq_of_products mul p q) i `eq.eq` + SB.index (seq_of_products mul r s) i) + = mul.congruence (SB.index p i) (SB.index q i) (SB.index r i) (SB.index s i) + in Classical.forall_intro aux; + eq_of_seq_from_element_equality eq (seq_of_products mul p q) (seq_of_products mul r s); + SP.foldm_snoc_equality add (seq_of_products mul p q) (seq_of_products mul r s) + +let matrix_mul_congruence #c #eq #m #n #p (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) + (mz: matrix c m n) (mw: matrix c n p) + : Lemma (requires matrix_eq_fun eq mx mz /\ matrix_eq_fun eq my mw) + (ensures matrix_eq_fun eq (matrix_mul add mul mx my) (matrix_mul add mul mz mw)) = + let aux (i: under m) (k: under p) : Lemma (ijth (matrix_mul add mul mx my) i k + `eq.eq` ijth (matrix_mul add mul mz mw) i k) = + let init_xy (j: under n) = mul.mult (ijth mx i j) (ijth my j k) in + let init_zw (j: under n) = mul.mult (ijth mz i j) (ijth mw j k) in + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx my i k init_xy; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mz mw i k init_zw; + let sp_xy = SB.init n init_xy in + let sp_zw = SB.init n init_zw in + let all_eq (j: under n) : Lemma (init_xy j `eq.eq` init_zw j) = + matrix_equiv_ijth eq mx mz i j; + matrix_equiv_ijth eq my mw j k; + mul.congruence (ijth mx i j) (ijth my j k) (ijth mz i j) (ijth mw j k) + in Classical.forall_intro all_eq; + eq_of_seq_from_element_equality eq sp_xy sp_zw; + SP.foldm_snoc_equality add sp_xy sp_zw + in matrix_equiv_from_proof eq (matrix_mul add mul mx my) (matrix_mul add mul mz mw) aux + +#push-options "--z3rlimit 30 --ifuel 0 --fuel 0" +let matrix_mul_is_left_distributive #c #eq #m #n #p (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my mz: matrix c n p) + : Lemma (matrix_mul add mul mx (matrix_add add my mz) `matrix_eq_fun eq` + matrix_add add (matrix_mul add mul mx my) (matrix_mul add mul mx mz)) = + let myz = matrix_add add my mz in + let mxy = matrix_mul add mul mx my in + let mxz = matrix_mul add mul mx mz in + let lhs = matrix_mul add mul mx myz in + let rhs = matrix_add add mxy mxz in + let sum_j (f: under n -> c) = SP.foldm_snoc add (SB.init n f) in + let sum_k (f: under p -> c) = SP.foldm_snoc add (SB.init p f) in + let aux i k : Lemma (ijth lhs i k `eq.eq` ijth rhs i k) = + let init_lhs j = mul.mult (ijth mx i j) (ijth myz j k) in + let init_xy j = mul.mult (ijth mx i j) (ijth my j k) in + let init_xz j = mul.mult (ijth mx i j) (ijth mz j k) in + let init_rhs j = mul.mult (ijth mx i j) (ijth my j k) `add.mult` + mul.mult (ijth mx i j) (ijth mz j k) in + Classical.forall_intro eq.reflexivity; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx myz i k init_lhs; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx my i k init_xy; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx mz i k init_xz; + SP.foldm_snoc_split_seq add (SB.init n init_xy) + (SB.init n init_xz) + (SB.init n init_rhs) + (fun j -> ()); + eq.symmetry (ijth rhs i k) (sum_j init_rhs); + SP.foldm_snoc_of_equal_inits add init_lhs init_rhs; + eq.transitivity (ijth lhs i k) + (sum_j init_rhs) + (ijth rhs i k) + in matrix_equiv_from_proof eq lhs rhs aux +#pop-options + +let matrix_mul_is_right_distributive #c #eq #m #n #p (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx my: matrix c m n) (mz: matrix c n p) + : Lemma (matrix_mul add mul (matrix_add add mx my) mz `matrix_eq_fun eq` + matrix_add add (matrix_mul add mul mx mz) (matrix_mul add mul my mz)) = + let mxy = matrix_add add mx my in + let mxz = matrix_mul add mul mx mz in + let myz = matrix_mul add mul my mz in + let lhs = matrix_mul add mul mxy mz in + let rhs = matrix_add add mxz myz in + let sum_j (f: under n -> c) = SP.foldm_snoc add (SB.init n f) in + let sum_k (f: under p -> c) = SP.foldm_snoc add (SB.init p f) in + let aux i k : Lemma (ijth lhs i k `eq.eq` + ijth rhs i k) = + let init_lhs j = mul.mult (ijth mxy i j) (ijth mz j k) in + let init_xz j = mul.mult (ijth mx i j) (ijth mz j k) in + let init_yz j = mul.mult (ijth my i j) (ijth mz j k) in + let init_rhs j = mul.mult (ijth mx i j) (ijth mz j k) `add.mult` + mul.mult (ijth my i j) (ijth mz j k) in + Classical.forall_intro eq.reflexivity; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mxy mz i k init_lhs; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul mx mz i k init_xz; + matrix_mul_ijth_eq_sum_of_seq_for_init add mul my mz i k init_yz; + SP.foldm_snoc_split_seq add (SB.init n init_xz) + (SB.init n init_yz) + (SB.init n init_rhs) + (fun j -> ()); + eq.symmetry (ijth rhs i k) (sum_j init_rhs); + SP.foldm_snoc_of_equal_inits add init_lhs init_rhs; + eq.transitivity (ijth lhs i k) + (sum_j init_rhs) + (ijth rhs i k) + in matrix_equiv_from_proof eq lhs rhs aux +#pop-options diff --git a/stage0/ulib/FStar.Matrix.fsti b/stage0/ulib/FStar.Matrix.fsti new file mode 100644 index 00000000000..b3039acdc70 --- /dev/null +++ b/stage0/ulib/FStar.Matrix.fsti @@ -0,0 +1,365 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + +(* + In this module we provide basic definitions to work with matrices via + seqs, and define transpose transform together with theorems that assert + matrix fold equality of original and transposed matrices. +*) + + +module FStar.Matrix + +module CE = FStar.Algebra.CommMonoid.Equiv +module CF = FStar.Algebra.CommMonoid.Fold +module SP = FStar.Seq.Permutation +module SB = FStar.Seq.Base +module ML = FStar.Math.Lemmas + +open FStar.IntegerIntervals +open FStar.Mul + +(* This is similar to lambdas passed to FStar.Seq.Base.init *) +type matrix_generator c (m n: pos) = under m -> under n -> c + +(* We hide the implementation details of a matrix. *) +val matrix (c:Type u#a) (m n : pos) : Type u#a + +(* This lemma asserts the flattened index to be valid + for the flattened matrix seq *) +let flattened_index_is_under_flattened_size (m n: pos) (i: under m) (j: under n) + : Lemma ((((i*n)+j)) < m*n) = assert (i*n <= (m-1)*n) + +(* Returns the flattened index from 2D indices pair + and the two array dimensions. *) +let get_ij (m n: pos) (i:under m) (j: under n) : under (m*n) + = flattened_index_is_under_flattened_size m n i j; i*n + j + +(* The following two functions return the matrix indices from the + flattened index and the two dimensions *) +let get_i (m n: pos) (ij: under (m*n)) : under m = ij / n +let get_j (m n: pos) (ij: under (m*n)) : under n = ij % n + +(* A proof that getting a 2D index back from the flattened + index works correctly *) +let consistency_of_i_j (m n: pos) (i: under m) (j: under n) + : Lemma (get_i m n (get_ij m n i j) = i /\ get_j m n (get_ij m n i j) = j) = + flattened_index_is_under_flattened_size m n i j; //speeds up the proof + ML.lemma_mod_plus j i n; + ML.lemma_div_plus j i n + +(* A proof that getting the flattened index from 2D + indices works correctly *) +let consistency_of_ij (m n: pos) (ij: under (m*n)) + : Lemma (get_ij m n (get_i m n ij) (get_j m n ij) == ij) = () + +(* The transposition transform for the flattened index *) +let transpose_ji (m n: pos) (ij: under (m*n)) : under (n*m) = + flattened_index_is_under_flattened_size n m (get_j m n ij) (get_i m n ij); + (get_j m n ij)*m + (get_i m n ij) + +(* Auxiliary arithmetic lemma *) +let indices_transpose_lemma (m: pos) (i: under m) (j: nat) + : Lemma (((j*m+i)%m=i) && ((j*m+i)/m=j)) = ML.lemma_mod_plus i j m + +(* A proof of trasnspotition transform bijectivity *) +let ji_is_transpose_of_ij (m n: pos) (ij: under (m*n)) + : Lemma (transpose_ji n m (transpose_ji m n ij) = ij) = + indices_transpose_lemma m (get_i m n ij) (get_j m n ij) + +(* A proof that 2D indices are swapped with the transpotition transform *) +let dual_indices (m n: pos) (ij: under (m*n)) : Lemma ( + (get_j n m (transpose_ji m n ij) = get_i m n ij) /\ + (get_i n m (transpose_ji m n ij) = get_j m n ij)) + = consistency_of_ij m n ij; + indices_transpose_lemma m (get_i m n ij) (get_j m n ij) + +(* A matrix can always be treated as a flattened seq *) +val seq_of_matrix : (#c: Type) -> (#m:pos) -> (#n:pos) -> (mx: matrix c m n) -> + (s:SB.seq c { + SB.length s=m*n /\ + (forall (ij: under (m*n)). SB.index s ij == SB.index s (get_ij m n (get_i m n ij) (get_j m n ij))) + }) + +(* Indexer for a matrix *) +val ijth : (#c:Type) -> (#m:pos) -> (#n:pos) -> (mx: matrix c m n) -> (i: under m) -> (j: under n) -> + (t:c{t == SB.index (seq_of_matrix mx) (get_ij m n i j)}) + +(* Indexer for a matrix returns the correct value *) +val ijth_lemma : (#c:Type) -> (#m:pos) -> (#n:pos) -> (mx: matrix c m n) -> (i: under m) -> (j: under n) -> + Lemma (ijth mx i j == SB.index (seq_of_matrix mx) (get_ij m n i j)) + +(* A matrix can always be constructed from an m*n-sized seq *) +val matrix_of_seq : (#c: Type) -> (m:pos) -> (n:pos) -> (s: SB.seq c{SB.length s = m*n}) -> matrix c m n + +(* A type for matrices constructed via concrete generator *) +type matrix_of #c (#m #n: pos) (gen: matrix_generator c m n) = z:matrix c m n { + (forall (i: under m) (j: under n). ijth z i j == gen i j) /\ + (forall (ij: under (m*n)). (SB.index (seq_of_matrix z) ij) == (gen (get_i m n ij) (get_j m n ij))) +} + +(* Monoid-based fold of a matrix treated as a flat seq *) +val foldm : (#c:Type) -> (#eq:CE.equiv c) -> (#m:pos) -> (#n:pos) -> (cm: CE.cm c eq) -> (mx:matrix c m n) -> c + +(* foldm_snoc of the corresponding seq is equal to foldm of the matrix *) +val matrix_fold_equals_fold_of_seq : + (#c:Type) -> (#eq:CE.equiv c) -> (#m:pos) -> (#n:pos) -> (cm: CE.cm c eq) -> (mx:matrix c m n) + -> Lemma (ensures foldm cm mx `eq.eq` SP.foldm_snoc cm (seq_of_matrix mx)) [SMTPat(foldm cm mx)] + +(* A matrix constructed from given generator *) +val init : (#c:Type) -> (#m:pos) -> (#n: pos) -> (generator: matrix_generator c m n) + -> matrix_of generator + +(* A matrix fold is equal to double foldm_snoc over init-generated seq of seqs *) +val matrix_fold_equals_fold_of_seq_folds : (#c:Type) -> (#eq: CE.equiv c) -> + (#m: pos) -> (#n: pos) -> + (cm: CE.cm c eq) -> + (generator: matrix_generator c m n) -> + Lemma (ensures foldm cm (init generator) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) + /\ SP.foldm_snoc cm (seq_of_matrix (init generator)) `eq.eq` + SP.foldm_snoc cm (SB.init m (fun i -> SP.foldm_snoc cm (SB.init n (generator i)))) + ) + +(* This auxiliary lemma shows that the fold of the last line of a matrix + is equal to the corresponding fold of the generator function *) + +(* This lemma establishes that the fold of a matrix is equal to + nested Algebra.CommMonoid.Fold.fold over the matrix generator *) +val matrix_fold_equals_func_double_fold : (#c:Type) -> (#eq: CE.equiv c) -> + (#m: pos) -> (#n: pos) -> + (cm: CE.cm c eq) -> + (generator: matrix_generator c m n) -> + Lemma (foldm cm (init generator) `eq.eq` + CF.fold cm 0 (m-1) (fun (i:under m) -> CF.fold cm 0 (n-1) (generator i))) + +val transposed_matrix_gen (#c:_) (#m:pos) (#n:pos) (generator: matrix_generator c m n) + : (f: matrix_generator c n m { forall i j. f j i == generator i j }) + +val matrix_transpose_is_permutation (#c:_) (#m #n: pos) + (generator: matrix_generator c m n) + : Lemma (SP.is_permutation (seq_of_matrix (init generator)) + (seq_of_matrix (init (transposed_matrix_gen generator))) + (transpose_ji m n)) + +val matrix_fold_equals_fold_of_transpose (#c:_) (#eq:_) + (#m #n: pos) + (cm: CE.cm c eq) + (gen: matrix_generator c m n) + : Lemma (foldm cm (init gen) `eq.eq` + foldm cm (init (transposed_matrix_gen gen))) + +(* The equivalence relation defined for matrices of given dimensions *) +val matrix_equiv : (#c: Type) -> + (eq: CE.equiv c) -> + (m: pos) -> (n: pos) -> + CE.equiv (matrix c m n) + +(* element-wise matrix equivalence lemma *) +val matrix_equiv_ijth (#c:_) (#m #n: pos) (eq: CE.equiv c) + (ma mb: matrix c m n) (i: under m) (j: under n) + : Lemma (requires (matrix_equiv eq m n).eq ma mb) + (ensures ijth ma i j `eq.eq` ijth mb i j) + +(* We can always establish matrix equivalence from element-wise equivalence *) +val matrix_equiv_from_element_eq (#c:_) (#m #n: pos) (eq: CE.equiv c) (ma mb: matrix c m n) + : Lemma (requires (forall (i: under m) (j: under n). ijth ma i j `eq.eq` ijth mb i j)) + (ensures (matrix_equiv eq m n).eq ma mb) + +(* + Notice that even though we can (and will) construct CommMonoid for matrix addition, + we still publish the operations as well since as soon as we get to multiplication, + results usually have different dimensions, so it would be convenient to have both + the CommMonoid for matrix addition and the explicit addition function. + + This becomes the only way with non-square matrix multiplication, since these + would not constitute a monoid to begin with. +*) + +(* This version of the lemma is useful if we don't want to invoke + Classical.forall_intro_2 in a big proof to conserve resources *) +let matrix_equiv_from_proof #c (#m #n: pos) (eq: CE.equiv c) (ma mb: matrix c m n) + (proof: (i:under m) -> (j:under n) -> Lemma (eq.eq (ijth ma i j) (ijth mb i j))) + : Lemma ((matrix_equiv eq m n).eq ma mb) + = Classical.forall_intro_2 proof; + matrix_equiv_from_element_eq eq ma mb + +(* This one is the generator function for sum of matrices *) +let matrix_add_generator #c #eq (#m #n: pos) (add: CE.cm c eq) (ma mb: matrix c m n) + : matrix_generator c m n = fun i j -> add.mult (ijth ma i j) (ijth mb i j) + +(* This is the matrix sum operation given the addition CommMonoid *) +let matrix_add #c #eq (#m #n: pos) (add: CE.cm c eq) (ma mb: matrix c m n) + : matrix_of (matrix_add_generator add ma mb) + = init (matrix_add_generator add ma mb) + +(* Sum of matrices ijth element lemma *) +let matrix_add_ijth #c #eq (#m #n: pos) (add: CE.cm c eq) (ma mb: matrix c m n) (i: under m) (j: under n) + : Lemma (ijth (matrix_add add ma mb) i j == add.mult (ijth ma i j) (ijth mb i j)) = () + +(* m*n-sized matrix addition CommMonoid *) +val matrix_add_comm_monoid : (#c:Type) -> + (#eq:CE.equiv c) -> + (add: CE.cm c eq) -> + (m:pos) -> (n: pos) -> + CE.cm (matrix c m n) (matrix_equiv eq m n) + + +(* Sometimes we want matrix rows and columns to be accessed as sequences *) +let col #c #m #n (mx: matrix c m n) (j: under n) = SB.init m (fun (i: under m) -> ijth mx i j) + +let row #c #m #n (mx: matrix c m n) (i: under m) = SB.init n (fun (j: under n) -> ijth mx i j) + +(* ijth-based and row/col-based element access methods are equivalent *) +val matrix_row_col_lemma (#c:_) (#m #n:pos) (mx: matrix c m n) (i: under m) (j: under n) + : Lemma (ijth mx i j == SB.index (row mx i) j /\ ijth mx i j == SB.index (col mx j) i) + +(* This transforms a seq X={Xi} into a seq X={Xi `op` c} *) +let seq_op_const #c #eq (cm: CE.cm c eq) (s: SB.seq c) (const: c) + = SB.init (SB.length s) (fun (i: under (SB.length s)) -> cm.mult (SB.index s i) const) + +(* Well, technically it is the same thing as above, given cm is commutative. + We will still use prefix and postfix applications separately since + sometimes provable equality (==) rather than `eq.eq` comes in handy *) +let const_op_seq #c #eq (cm: CE.cm c eq) (const: c) (s: SB.seq c) + = SB.init (SB.length s) (fun (i: under (SB.length s)) -> cm.mult const (SB.index s i)) + + +(* We can get a sequence of products (or sums) from two sequences of equal length *) +let seq_of_products #c #eq (mul: CE.cm c eq) (s: SB.seq c) (t: SB.seq c {SB.length t == SB.length s}) + = SB.init (SB.length s) (fun (i: under (SB.length s)) -> SB.index s i `mul.mult` SB.index t i) + +(* As trivial as it seems to be, sometimes this lemma proves to be useful, mostly because + lemma_eq_elim invocation is surprisingly costly resources-wise. *) +val seq_of_products_lemma (#c:_) (#eq:_) (mul: CE.cm c eq) + (s: SB.seq c) (t: SB.seq c {SB.length t == SB.length s}) + (r: SB.seq c { SB.equal r (SB.init (SB.length s) + (fun (i: under (SB.length s)) -> + SB.index s i `mul.mult` SB.index t i))}) + : Lemma (seq_of_products mul s t == r) + +(* The usual dot product of two sequences of equal lengths *) +let dot #c #eq (add mul: CE.cm c eq) (s: SB.seq c) (t: SB.seq c{SB.length t == SB.length s}) + = SP.foldm_snoc add (seq_of_products mul s t) + +val dot_lemma (#c:_) (#eq:_) (add mul: CE.cm c eq) (s: SB.seq c) (t: SB.seq c{SB.length t == SB.length s}) + : Lemma (dot add mul s t == SP.foldm_snoc add (seq_of_products mul s t)) + +(* Of course, it would be best to define the matrix product as a convolution, + but we don't have all the necessary framework for that level of generality yet. *) +val matrix_mul (#c:_) (#eq:_) (#m #n #p:pos) (add mul: CE.cm c eq) (mx: matrix c m n) (my: matrix c n p) + : matrix c m p + +(* Both distributivity laws hold for matrices as shown below *) +let is_left_distributive #c #eq (mul add: CE.cm c eq) = + forall (x y z: c). mul.mult x (add.mult y z) `eq.eq` add.mult (mul.mult x y) (mul.mult x z) + +let is_right_distributive #c #eq (mul add: CE.cm c eq) = + forall (x y z: c). mul.mult (add.mult x y) z `eq.eq` add.mult (mul.mult x z) (mul.mult y z) + +let is_fully_distributive #c #eq (mul add: CE.cm c eq) = is_left_distributive mul add /\ is_right_distributive mul add + +(* + This definition is of course far more general than matrices, and should rather + be a part of algebra core, as it is relevant to any magma. + + In the process of development of F* abstract algebra framework, this definition + will probably take its rightful place near the most basic of grouplike structures. + + Also note that this property is defined via forall. We would probably want + to make such properties opaque to SMT in the future, to avoid verification performance + issues. +*) +let is_absorber #c #eq (z:c) (op: CE.cm c eq) = + forall (x:c). op.mult z x `eq.eq` z /\ op.mult x z `eq.eq` z + +(* + Similar lemmas to reason about matrix product elements + We're going to refactor these a bit, as some are clearly redundant. + Might want to keep internal usages to one variant of the lemma and + remove the rest. +*) +val matrix_mul_ijth (#c:_) (#eq:_) (#m #n #k:pos) (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n k) (i: under m) (h: under k) + : Lemma (ijth (matrix_mul add mul mx my) i h == dot add mul (row mx i) (col my h)) + +val matrix_mul_ijth_as_sum (#c:_) (#eq:_) (#m #n #p:pos) (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) (i: under m) (k: under p) + : Lemma (ijth (matrix_mul add mul mx my) i k == + SP.foldm_snoc add (SB.init n (fun (j: under n) -> mul.mult (ijth mx i j) (ijth my j k)))) + +val matrix_mul_ijth_eq_sum_of_seq (#c:_) (#eq:_) (#m #n #p:pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my: matrix c n p) (i: under m) (k: under p) + (r: SB.seq c{r `SB.equal` seq_of_products mul (row mx i) (col my k)}) + : Lemma (ijth (matrix_mul add mul mx my) i k == SP.foldm_snoc add r) + +val matrix_mul_ijth_eq_sum_of_seq_for_init (#c:_) (#eq:_) (#m #n #p:pos) (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) (i: under m) (k: under p) + (f: under n -> c { SB.init n f `SB.equal` seq_of_products mul (row mx i) (col my k)}) + : Lemma (ijth (matrix_mul add mul mx my) i k == SP.foldm_snoc add (SB.init n f)) + + +(* Basically, we prove that (XY)Z = X(YZ) for any matrices of compatible sizes *) +val matrix_mul_is_associative (#c:_) (#eq:_) (#m #n #p #q: pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my: matrix c n p) (mz: matrix c p q) + : Lemma ((matrix_equiv eq m q).eq ((matrix_mul add mul mx my) `matrix_mul add mul` mz) + (matrix_mul add mul mx (matrix_mul add mul my mz))) + +(* Square identity matrix of size m*m *) +let matrix_mul_unit #c #eq (add mul: CE.cm c eq) m + : matrix c m m = init (fun i j -> if i=j then mul.unit else add.unit) + +(* Matrix multiplicative identity lemmas *) +val matrix_mul_right_identity (#c:_) (#eq:_) (#m: pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul mx (matrix_mul_unit add mul m) `(matrix_equiv eq m m).eq` mx) + +val matrix_mul_left_identity (#c:_) (#eq:_) (#m: pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul (matrix_mul_unit add mul m) mx `(matrix_equiv eq m m).eq` mx) + +val matrix_mul_identity (#c:_) (#eq:_) (#m: pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_absorber add.unit mul}) + (mx: matrix c m m) + : Lemma (matrix_mul add mul mx (matrix_mul_unit add mul m) `(matrix_equiv eq m m).eq` mx /\ + matrix_mul add mul (matrix_mul_unit add mul m) mx `(matrix_equiv eq m m).eq` mx) + +(* Matrix multiplication of course also respects matrix equivalence *) +val matrix_mul_congruence (#c:_) (#eq:_) (#m #n #p:pos) (add mul: CE.cm c eq) + (mx: matrix c m n) (my: matrix c n p) + (mz: matrix c m n) (mw: matrix c n p) + : Lemma (requires (matrix_equiv eq m n).eq mx mz /\ (matrix_equiv eq n p).eq my mw) + (ensures (matrix_equiv eq m p).eq (matrix_mul add mul mx my) + (matrix_mul add mul mz mw)) + +(* Both distributivities for matrices *) +val matrix_mul_is_left_distributive (#c:_) (#eq:_) (#m #n #p:pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx: matrix c m n) (my mz: matrix c n p) + : Lemma (matrix_mul add mul mx (matrix_add add my mz) `(matrix_equiv eq m p).eq` + matrix_add add (matrix_mul add mul mx my) (matrix_mul add mul mx mz)) + +val matrix_mul_is_right_distributive (#c:_) (#eq:_) (#m #n #p:pos) (add: CE.cm c eq) + (mul: CE.cm c eq{is_fully_distributive mul add /\ is_absorber add.unit mul}) + (mx my: matrix c m n) (mz: matrix c n p) + : Lemma (matrix_mul add mul (matrix_add add mx my) mz `(matrix_equiv eq m p).eq` + matrix_add add (matrix_mul add mul mx mz) (matrix_mul add mul my mz)) diff --git a/stage0/ulib/FStar.Modifies.fst b/stage0/ulib/FStar.Modifies.fst new file mode 100644 index 00000000000..106a2910789 --- /dev/null +++ b/stage0/ulib/FStar.Modifies.fst @@ -0,0 +1,459 @@ +(* + 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.Modifies + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module B = FStar.Buffer +module U32 = FStar.UInt32 + +noeq +type loc_aux : Type = + | LocBuffer: + (#t: Type) -> + (b: B.buffer t) -> + loc_aux + +let loc_aux_in_addr + (l: loc_aux) + (r: HS.rid) + (n: nat) +: GTot Type0 += match l with + | LocBuffer b -> + B.frameOf b == r /\ + B.as_addr b == n + +let aloc (r: HS.rid) (n: nat) : Tot (Type u#1) = + (l: loc_aux { loc_aux_in_addr l r n } ) + +let loc_aux_includes_buffer + (#a: Type) + (s: loc_aux) + (b: B.buffer a) +: GTot Type0 += match s with + | LocBuffer #a0 b0 -> a == a0 /\ b0 `B.includes` b + +let loc_aux_includes + (s1 s2: loc_aux) +: GTot Type0 + (decreases s2) += match s2 with + | LocBuffer b -> loc_aux_includes_buffer s1 b + +let loc_aux_includes_refl + (s: loc_aux) +: Lemma + (loc_aux_includes s s) += () + +let loc_aux_includes_buffer_includes + (#a: Type) + (s: loc_aux) + (b1 b2: B.buffer a) +: Lemma + (requires (loc_aux_includes_buffer s b1 /\ b1 `B.includes` b2)) + (ensures (loc_aux_includes_buffer s b2)) += () + +let loc_aux_includes_loc_aux_includes_buffer + (#a: Type) + (s1 s2: loc_aux) + (b: B.buffer a) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes_buffer s2 b)) + (ensures (loc_aux_includes_buffer s1 b)) += match s2 with + | LocBuffer b2 -> loc_aux_includes_buffer_includes s1 b2 b + +let loc_aux_includes_trans + (s1 s2 s3: loc_aux) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes s2 s3)) + (ensures (loc_aux_includes s1 s3)) += match s3 with + | LocBuffer b -> loc_aux_includes_loc_aux_includes_buffer s1 s2 b + +(* the following is necessary because `decreases` messes up 2nd-order unification with `Classical.forall_intro_3` *) + +let loc_aux_includes_trans' + (s1 s2: loc_aux) + (s3: loc_aux) +: Lemma + ((loc_aux_includes s1 s2 /\ loc_aux_includes s2 s3) ==> loc_aux_includes s1 s3) += Classical.move_requires (loc_aux_includes_trans s1 s2) s3 + +let loc_aux_disjoint_buffer + (l: loc_aux) + (#t: Type) + (p: B.buffer t) +: GTot Type0 += match l with + | LocBuffer b -> B.disjoint b p + +let loc_aux_disjoint + (l1 l2: loc_aux) +: GTot Type0 += match l2 with + | LocBuffer b -> + loc_aux_disjoint_buffer l1 b + +let loc_aux_disjoint_sym + (l1 l2: loc_aux) +: Lemma + (ensures (loc_aux_disjoint l1 l2 <==> loc_aux_disjoint l2 l1)) += () + +let loc_aux_disjoint_buffer_includes + (l: loc_aux) + (#t: Type) + (p1: B.buffer t) + (p2: B.buffer t) +: Lemma + (requires (loc_aux_disjoint_buffer l p1 /\ p1 `B.includes` p2)) + (ensures (loc_aux_disjoint_buffer l p2)) += () + +let loc_aux_disjoint_loc_aux_includes_buffer + (l1 l2: loc_aux) + (#t3: Type) + (b3: B.buffer t3) +: Lemma + (requires (loc_aux_disjoint l1 l2 /\ loc_aux_includes_buffer l2 b3)) + (ensures (loc_aux_disjoint_buffer l1 b3)) += match l2 with + | LocBuffer b2 -> loc_aux_disjoint_buffer_includes l1 b2 b3 + +let loc_aux_disjoint_loc_aux_includes + (l1 l2 l3: loc_aux) +: Lemma + (requires (loc_aux_disjoint l1 l2 /\ loc_aux_includes l2 l3)) + (ensures (loc_aux_disjoint l1 l3)) += match l3 with + | LocBuffer b3 -> + loc_aux_disjoint_loc_aux_includes_buffer l1 l2 b3 + +let loc_aux_preserved (l: loc_aux) (h1 h2: HS.mem) : GTot Type0 += match l with + | LocBuffer b -> + ( + B.live h1 b + ) ==> ( + B.live h2 b /\ + B.as_seq h2 b == B.as_seq h1 b + ) + +module MG = FStar.ModifiesGen + +let cls : MG.cls aloc = MG.Cls #aloc + (fun #r #a -> loc_aux_includes) + (fun #r #a x -> ()) + (fun #r #a x1 x2 x3 -> ()) + (fun #r #a -> loc_aux_disjoint) + (fun #r #a x1 x2 -> ()) + (fun #r #a larger1 larger2 smaller1 smaller2 -> ()) + (fun #r #a -> loc_aux_preserved) + (fun #r #a x h -> ()) + (fun #r #a x h1 h2 h3 -> ()) + (fun #r #a b h1 h2 f -> + match b with + | LocBuffer b' -> + let g () : Lemma + (requires (B.live h1 b')) + (ensures (loc_aux_preserved b h1 h2)) + = f _ _ (B.content b') + in + Classical.move_requires g () + ) + +let loc = MG.loc cls + +let loc_none = MG.loc_none + +let loc_union = MG.loc_union + +let loc_union_idem = MG.loc_union_idem + +let loc_union_comm = MG.loc_union_comm + +let loc_union_assoc = MG.loc_union_assoc + +let loc_union_loc_none_l = MG.loc_union_loc_none_l + +let loc_union_loc_none_r = MG.loc_union_loc_none_r + +let loc_buffer #t b = + MG.loc_of_aloc #_ #cls #(B.frameOf b) #(B.as_addr b) (LocBuffer b) + +let loc_addresses = MG.loc_addresses + +let loc_regions = MG.loc_regions + +let loc_includes = MG.loc_includes + +let loc_includes_refl = MG.loc_includes_refl + +let loc_includes_trans = MG.loc_includes_trans + +let loc_includes_union_r = MG.loc_includes_union_r + +let loc_includes_union_l = MG.loc_includes_union_l + +let loc_includes_none = MG.loc_includes_none + +let loc_includes_buffer #t b1 b2 = + MG.loc_includes_aloc #_ #cls #(B.frameOf b1) #(B.as_addr b1) (LocBuffer b1) (LocBuffer b2) + +let loc_includes_gsub_buffer_r l #t b i len = + loc_includes_trans l (loc_buffer b) (loc_buffer (B.sub b i len)) + +let loc_includes_gsub_buffer_l #t b i1 len1 i2 len2 = () + +let loc_includes_addresses_buffer #t preserve_liveness r s p = + MG.loc_includes_addresses_aloc #_ #cls preserve_liveness r s #(B.as_addr p) (LocBuffer p) + +let loc_includes_region_buffer #t preserve_liveness s b = + MG.loc_includes_region_aloc #_ #cls preserve_liveness s #(B.frameOf b) #(B.as_addr b) (LocBuffer b) + +let loc_includes_region_addresses = MG.loc_includes_region_addresses #_ #cls + +let loc_includes_region_region = MG.loc_includes_region_region #_ #cls + +let loc_includes_region_union_l = MG.loc_includes_region_union_l + +let loc_includes_addresses_addresses = MG.loc_includes_addresses_addresses #_ cls + +let loc_disjoint = MG.loc_disjoint + +let loc_disjoint_sym = MG.loc_disjoint_sym + +let loc_disjoint_none_r = MG.loc_disjoint_none_r + +let loc_disjoint_union_r = MG.loc_disjoint_union_r + +let loc_disjoint_includes = MG.loc_disjoint_includes + +let loc_disjoint_buffer #t1 #t2 b1 b2 = + MG.loc_disjoint_aloc_intro #_ #cls #(B.frameOf b1) #(B.as_addr b1) #(B.frameOf b2) #(B.as_addr b2) (LocBuffer b1) (LocBuffer b2) + +let loc_disjoint_gsub_buffer #t b i1 len1 i2 len2 = () + +let loc_disjoint_addresses = MG.loc_disjoint_addresses #_ #cls + +let loc_disjoint_buffer_addresses #t p preserve_liveness r n = + MG.loc_disjoint_aloc_addresses_intro #_ #cls #(B.frameOf p) #(B.as_addr p) (LocBuffer p) preserve_liveness r n + +let loc_disjoint_regions = MG.loc_disjoint_regions #_ #cls + +let modifies = MG.modifies + +let modifies_mreference_elim = MG.modifies_mreference_elim + +let modifies_buffer_elim #t1 b p h h' = + MG.modifies_aloc_elim #_ #cls #(B.frameOf b) #(B.as_addr b) (LocBuffer b) p h h' + +let modifies_refl = MG.modifies_refl + +let modifies_loc_includes = MG.modifies_loc_includes + +let address_liveness_insensitive_locs = MG.address_liveness_insensitive_locs _ + +let region_liveness_insensitive_locs = MG.region_liveness_insensitive_locs _ + +let address_liveness_insensitive_buffer #t b = + MG.loc_includes_address_liveness_insensitive_locs_aloc #_ #cls #(B.frameOf b) #(B.as_addr b) (LocBuffer b) + +let address_liveness_insensitive_addresses = + MG.loc_includes_address_liveness_insensitive_locs_addresses cls + +let region_liveness_insensitive_buffer #t b = + MG.loc_includes_region_liveness_insensitive_locs_loc_of_aloc #_ cls #(B.frameOf b) #(B.as_addr b) (LocBuffer b) + +let region_liveness_insensitive_addresses = + MG.loc_includes_region_liveness_insensitive_locs_loc_addresses cls + +let region_liveness_insensitive_regions = + MG.loc_includes_region_liveness_insensitive_locs_loc_regions cls + +let region_liveness_insensitive_address_liveness_insensitive = + MG.loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs cls + +let modifies_liveness_insensitive_mreference = MG.modifies_preserves_liveness + +let modifies_liveness_insensitive_buffer l1 l2 h h' #t x = + MG.modifies_preserves_liveness_strong l1 l2 h h' (B.content x) (LocBuffer x) + +let modifies_liveness_insensitive_region = MG.modifies_preserves_region_liveness + +let modifies_liveness_insensitive_region_mreference = MG.modifies_preserves_region_liveness_reference + +let modifies_liveness_insensitive_region_buffer l1 l2 h h' #t x = + MG.modifies_preserves_region_liveness_aloc l1 l2 h h' #(B.frameOf x) #(B.as_addr x) (LocBuffer x) + + +let modifies_trans = MG.modifies_trans + +let modifies_only_live_regions = MG.modifies_only_live_regions + +let no_upd_fresh_region = MG.no_upd_fresh_region + +let modifies_fresh_frame_popped = MG.modifies_fresh_frame_popped + +let modifies_loc_regions_intro = MG.modifies_loc_regions_intro #_ #cls + +let modifies_loc_addresses_intro = MG.modifies_loc_addresses_intro + +let modifies_ralloc_post = MG.modifies_ralloc_post #_ #cls + +let modifies_salloc_post = MG.modifies_salloc_post #_ #cls + +let modifies_free = MG.modifies_free #_ #cls + +let modifies_none_modifies = MG.modifies_none_modifies #_ #cls + +let modifies_buffer_none_modifies h1 h2 = + MG.modifies_none_intro #_ #cls h1 h2 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + +let modifies_0_modifies h1 h2 = + B.lemma_reveal_modifies_0 h1 h2; + MG.modifies_none_intro #_ #cls h1 h2 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + +let modifies_1_modifies #a b h1 h2 = + B.lemma_reveal_modifies_1 b h1 h2; + MG.modifies_intro (loc_buffer b) h1 h2 + (fun _ -> ()) + (fun t' pre' b' -> + MG.loc_disjoint_sym (loc_mreference b') (loc_buffer b); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b) #(B.as_addr b) (LocBuffer b) true (HS.frameOf b') (Set.singleton (HS.as_addr b')) + ) + (fun t' pre' b' -> ()) + (fun r n -> ()) + (fun r' a' b' -> + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b) #(B.as_addr b) b' (LocBuffer b) + ) + +let modifies_2_modifies #a1 #a2 b1 b2 h1 h2 = + B.lemma_reveal_modifies_2 b1 b2 h1 h2; + MG.modifies_intro (loc_union (loc_buffer b1) (loc_buffer b2)) h1 h2 + (fun _ -> ()) + (fun t' pre' b' -> + loc_disjoint_includes (loc_mreference b') (loc_union (loc_buffer b1) (loc_buffer b2)) (loc_mreference b') (loc_buffer b1); + loc_disjoint_sym (loc_mreference b') (loc_buffer b1); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b1) #(B.as_addr b1) (LocBuffer b1) true (HS.frameOf b') (Set.singleton (HS.as_addr b')); + loc_disjoint_includes (loc_mreference b') (loc_union (loc_buffer b1) (loc_buffer b2)) (loc_mreference b') (loc_buffer b2); + loc_disjoint_sym (loc_mreference b') (loc_buffer b2); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b2) #(B.as_addr b2) (LocBuffer b2) true (HS.frameOf b') (Set.singleton (HS.as_addr b')) + ) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r' a' b' -> + loc_disjoint_includes (MG.loc_of_aloc b') (loc_union (loc_buffer b1) (loc_buffer b2)) (MG.loc_of_aloc b') (loc_buffer b1); + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b1) #(B.as_addr b1) b' (LocBuffer b1); + loc_disjoint_includes (MG.loc_of_aloc b') (loc_union (loc_buffer b1) (loc_buffer b2)) (MG.loc_of_aloc b') (loc_buffer b2); + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b2) #(B.as_addr b2) b' (LocBuffer b2) + ) + +#set-options "--z3rlimit 20" + +let modifies_3_modifies #a1 #a2 #a3 b1 b2 b3 h1 h2 = + B.lemma_reveal_modifies_3 b1 b2 b3 h1 h2; + MG.modifies_intro (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) h1 h2 + (fun _ -> ()) + (fun t' pre' b' -> + loc_disjoint_includes (loc_mreference b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (loc_mreference b') (loc_buffer b1); + loc_disjoint_sym (loc_mreference b') (loc_buffer b1); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b1) #(B.as_addr b1) (LocBuffer b1) true (HS.frameOf b') (Set.singleton (HS.as_addr b')); + loc_disjoint_includes (loc_mreference b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (loc_mreference b') (loc_buffer b2); + loc_disjoint_sym (loc_mreference b') (loc_buffer b2); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b2) #(B.as_addr b2) (LocBuffer b2) true (HS.frameOf b') (Set.singleton (HS.as_addr b')); + loc_disjoint_includes (loc_mreference b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (loc_mreference b') (loc_buffer b3); + loc_disjoint_sym (loc_mreference b') (loc_buffer b3); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(B.frameOf b3) #(B.as_addr b3) (LocBuffer b3) true (HS.frameOf b') (Set.singleton (HS.as_addr b')) + ) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r' a' b' -> + loc_disjoint_includes (MG.loc_of_aloc b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (MG.loc_of_aloc b') (loc_buffer b1); + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b1) #(B.as_addr b1) b' (LocBuffer b1); + loc_disjoint_includes (MG.loc_of_aloc b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (MG.loc_of_aloc b') (loc_buffer b2); + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b2) #(B.as_addr b2) b' (LocBuffer b2); + loc_disjoint_includes (MG.loc_of_aloc b') (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) (MG.loc_of_aloc b') (loc_buffer b3); + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(B.frameOf b3) #(B.as_addr b3) b' (LocBuffer b3) + ) + +#reset-options + +let modifies_buffer_rcreate_post_common #a r init len b h0 h1 = + MG.modifies_none_intro #_ #cls h0 h1 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + +let mreference_live_buffer_unused_in_disjoint #t1 #pre #t2 h b1 b2 = + loc_disjoint_includes (loc_freed_mreference b1) (loc_freed_mreference (B.content b2)) (loc_freed_mreference b1) (loc_buffer b2) + +let buffer_live_mreference_unused_in_disjoint #t1 #t2 #pre h b1 b2 = + loc_disjoint_includes (loc_freed_mreference (B.content b1)) (loc_freed_mreference b2) (loc_buffer b1) (loc_freed_mreference b2) + +let does_not_contain_addr = MG.does_not_contain_addr + +let not_live_region_does_not_contain_addr = MG.not_live_region_does_not_contain_addr + +let unused_in_does_not_contain_addr = MG.unused_in_does_not_contain_addr + +let addr_unused_in_does_not_contain_addr = MG.addr_unused_in_does_not_contain_addr + +let free_does_not_contain_addr = MG.free_does_not_contain_addr + +let does_not_contain_addr_elim = MG.does_not_contain_addr_elim + +let modifies_only_live_addresses = MG.modifies_only_live_addresses + + +(* Type class instance *) + +let cloc_aloc = aloc + +let cloc_cls = cls + +let cloc_of_loc l = l + +let loc_of_cloc l = l + +let loc_of_cloc_of_loc l = () + +let cloc_of_loc_of_cloc l = () + +let cloc_of_loc_none _ = () + +let cloc_of_loc_union _ _ = () + +let cloc_of_loc_addresses _ _ _ = () + +let cloc_of_loc_regions _ _ = () + +let loc_includes_to_cloc l1 l2 = () + +let loc_disjoint_to_cloc l1 l2 = () + +let modifies_to_cloc l h1 h2 = () diff --git a/stage0/ulib/FStar.Modifies.fsti b/stage0/ulib/FStar.Modifies.fsti new file mode 100644 index 00000000000..f4fab8c0f4c --- /dev/null +++ b/stage0/ulib/FStar.Modifies.fsti @@ -0,0 +1,870 @@ +(* + 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.Modifies + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module B = FStar.Buffer + +(*** The modifies clause *) + +val loc : Type u#1 + +val loc_none: loc + +val loc_union + (s1 s2: loc) +: GTot loc + +(** The following is useful to make Z3 cut matching loops with +modifies_trans and modifies_refl *) +val loc_union_idem + (s: loc) +: Lemma + (loc_union s s == s) + [SMTPat (loc_union s s)] + +val loc_union_comm + (s1 s2: loc) +: Lemma + (loc_union s1 s2 == loc_union s2 s1) + [SMTPat (loc_union s1 s2)] + +val loc_union_assoc + (s1 s2 s3: loc) +: Lemma + (loc_union s1 (loc_union s2 s3) == loc_union (loc_union s1 s2) s3) + +val loc_union_loc_none_l + (s: loc) +: Lemma + (loc_union loc_none s == s) + [SMTPat (loc_union loc_none s)] + +val loc_union_loc_none_r + (s: loc) +: Lemma + (loc_union s loc_none == s) + [SMTPat (loc_union s loc_none)] + +val loc_buffer + (#t: Type) + (b: B.buffer t) +: GTot loc + +val loc_addresses + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: GTot loc + +val loc_regions + (preserve_liveness: bool) + (r: Set.set HS.rid) +: GTot loc + +let loc_mreference + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot loc += loc_addresses true (HS.frameOf b) (Set.singleton (HS.as_addr b)) + +let loc_freed_mreference + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot loc += loc_addresses false (HS.frameOf b) (Set.singleton (HS.as_addr b)) + +let loc_region_only + (preserve_liveness: bool) + (r: HS.rid) +: GTot loc += loc_regions preserve_liveness (Set.singleton r) + +let loc_all_regions_from + (preserve_liveness: bool) + (r: HS.rid) +: GTot loc += loc_regions preserve_liveness (HS.mod_set (Set.singleton r)) + + +(* Inclusion of memory locations *) + +val loc_includes + (s1 s2: loc) +: GTot Type0 + +val loc_includes_refl + (s: loc) +: Lemma + (loc_includes s s) + [SMTPat (loc_includes s s)] + +val loc_includes_trans + (s1 s2 s3: loc) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + +val loc_includes_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_includes s s1 /\ loc_includes s s2)) + (ensures (loc_includes s (loc_union s1 s2))) + [SMTPat (loc_includes s (loc_union s1 s2))] + +val loc_includes_union_l + (s1 s2 s: loc) +: Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + [SMTPat (loc_includes (loc_union s1 s2) s)] + +val loc_includes_none + (s: loc) +: Lemma + (loc_includes s loc_none) + [SMTPat (loc_includes s loc_none)] + +val loc_includes_buffer + (#t: Type) + (b1 b2: B.buffer t) +: Lemma + (requires (b1 `B.includes` b2)) + (ensures (loc_includes (loc_buffer b1) (loc_buffer b2))) + [SMTPatOr [ + [SMTPat (B.includes b1 b2)]; + [SMTPat (loc_includes(loc_buffer b1) (loc_buffer b2))] + ]] + +val loc_includes_gsub_buffer_r + (l: loc) + (#t: Type) + (b: B.buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= (B.length b) /\ loc_includes l (loc_buffer b))) + (ensures (UInt32.v i + UInt32.v len <= (B.length b) /\ loc_includes l (loc_buffer (B.sub b i len)))) + [SMTPat (loc_includes l (loc_buffer (B.sub b i len)))] + +val loc_includes_gsub_buffer_l + (#t: Type) + (b: B.buffer t) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires (UInt32.v i1 + UInt32.v len1 <= (B.length b) /\ UInt32.v i1 <= UInt32.v i2 /\ UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1)) + (ensures (UInt32.v i1 + UInt32.v len1 <= (B.length b) /\ UInt32.v i1 <= UInt32.v i2 /\ UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1 /\ loc_includes (loc_buffer (B.sub b i1 len1)) (loc_buffer (B.sub b i2 len2)))) + [SMTPat (loc_includes (loc_buffer (B.sub b i1 len1)) (loc_buffer (B.sub b i2 len2)))] + +val loc_includes_addresses_buffer + (#t: Type) + (preserve_liveness: bool) + (r: HS.rid) + (s: Set.set nat) + (p: B.buffer t) +: Lemma + (requires (B.frameOf p == r /\ Set.mem (B.as_addr p) s)) + (ensures (loc_includes (loc_addresses preserve_liveness r s) (loc_buffer p))) + [SMTPat (loc_includes (loc_addresses preserve_liveness r s) (loc_buffer p))] + +val loc_includes_region_buffer + (#t: Type) + (preserve_liveness: bool) + (s: Set.set HS.rid) + (b: B.buffer t) +: Lemma + (requires (Set.mem (B.frameOf b) s)) + (ensures (loc_includes (loc_regions preserve_liveness s) (loc_buffer b))) + [SMTPat (loc_includes (loc_regions preserve_liveness s) (loc_buffer b))] + +val loc_includes_region_addresses + (preserve_liveness1: bool) + (preserve_liveness2: bool) + (s: Set.set HS.rid) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (Set.mem r s)) + (ensures (loc_includes (loc_regions preserve_liveness1 s) (loc_addresses preserve_liveness2 r a))) + [SMTPat (loc_includes (loc_regions preserve_liveness1 s) (loc_addresses preserve_liveness2 r a))] + +val loc_includes_region_region + (preserve_liveness1: bool) + (preserve_liveness2: bool) + (s1 s2: Set.set HS.rid) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_regions preserve_liveness1 s1) (loc_regions preserve_liveness2 s2))) + [SMTPat (loc_includes (loc_regions preserve_liveness1 s1) (loc_regions preserve_liveness2 s2))] + +val loc_includes_region_union_l + (preserve_liveness: bool) + (l: loc) + (s1 s2: Set.set HS.rid) +: Lemma + (requires (loc_includes l (loc_regions preserve_liveness (Set.intersect s2 (Set.complement s1))))) + (ensures (loc_includes (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness s2))) + [SMTPat (loc_includes (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness s2))] + +val loc_includes_addresses_addresses + (preserve_liveness1 preserve_liveness2: bool) + (r: HS.rid) + (s1 s2: Set.set nat) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_addresses preserve_liveness1 r s1) (loc_addresses preserve_liveness2 r s2))) + + +(* Disjointness of two memory locations *) + +val loc_disjoint + (s1 s2: loc) +: GTot Type0 + +val loc_disjoint_sym + (s1 s2: loc) +: Lemma + (requires (loc_disjoint s1 s2)) + (ensures (loc_disjoint s2 s1)) + +let loc_disjoint_sym' + (s1 s2: loc) +: Lemma + (loc_disjoint s1 s2 <==> loc_disjoint s2 s1) + [SMTPat (loc_disjoint s1 s2)] += Classical.move_requires (loc_disjoint_sym s1) s2; + Classical.move_requires (loc_disjoint_sym s2) s1 + +val loc_disjoint_none_r + (s: loc) +: Lemma + (ensures (loc_disjoint s loc_none)) + [SMTPat (loc_disjoint s loc_none)] + +val loc_disjoint_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_disjoint s s1 /\ loc_disjoint s s2)) + (ensures (loc_disjoint s (loc_union s1 s2))) + [SMTPat (loc_disjoint s (loc_union s1 s2))] + +val loc_disjoint_includes + (p1 p2 p1' p2' : loc) +: Lemma + (requires (loc_includes p1 p1' /\ loc_includes p2 p2' /\ loc_disjoint p1 p2)) + (ensures (loc_disjoint p1' p2')) + [SMTPatOr [ + [SMTPat (loc_disjoint p1 p2); SMTPat (loc_disjoint p1' p2')]; + [SMTPat (loc_includes p1 p1'); SMTPat (loc_includes p2 p2')]; + ]] + +val loc_disjoint_buffer + (#t1 #t2: Type) + (b1: B.buffer t1) + (b2: B.buffer t2) +: Lemma + (requires (B.disjoint b1 b2)) + (ensures (loc_disjoint (loc_buffer b1) (loc_buffer b2))) + [SMTPatOr [ + [SMTPat (B.disjoint b1 b2)]; + [SMTPat (loc_disjoint (loc_buffer b1) (loc_buffer b2))]; + ]] + +val loc_disjoint_gsub_buffer + (#t: Type) + (b: B.buffer t) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len1 <= (B.length b) /\ + UInt32.v i2 + UInt32.v len2 <= (B.length b) /\ ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v i2 \/ + UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + ))) + (ensures ( + UInt32.v i1 + UInt32.v len1 <= (B.length b) /\ + UInt32.v i2 + UInt32.v len2 <= (B.length b) /\ + loc_disjoint (loc_buffer (B.sub b i1 len1)) (loc_buffer (B.sub b i2 len2)) + )) + [SMTPat (loc_disjoint (loc_buffer (B.sub b i1 len1)) (loc_buffer (B.sub b i2 len2)))] + +val loc_disjoint_addresses + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (n1 n2: Set.set nat) +: Lemma + (requires (r1 <> r2 \/ Set.subset (Set.intersect n1 n2) Set.empty)) + (ensures (loc_disjoint (loc_addresses preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))) + [SMTPat (loc_disjoint (loc_addresses preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))] + +val loc_disjoint_buffer_addresses + (#t: Type) + (p: B.buffer t) + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (requires (r <> B.frameOf p \/ (~ (Set.mem (B.as_addr p) n)))) + (ensures (loc_disjoint (loc_buffer p) (loc_addresses preserve_liveness r n))) + [SMTPat (loc_disjoint (loc_buffer p) (loc_addresses preserve_liveness r n))] + +val loc_disjoint_regions + (preserve_liveness1 preserve_liveness2: bool) + (rs1 rs2: Set.set HS.rid) +: Lemma + (requires (Set.subset (Set.intersect rs1 rs2) Set.empty)) + (ensures (loc_disjoint (loc_regions preserve_liveness1 rs1) (loc_regions preserve_liveness2 rs2))) + [SMTPat (loc_disjoint (loc_regions preserve_liveness1 rs1) (loc_regions preserve_liveness2 rs2))] + + +(** The modifies clause proper *) + +val modifies + (s: loc) + (h1 h2: HS.mem) +: GTot Type0 + +val modifies_mreference_elim + (#t: Type) + (#pre: Preorder.preorder t) + (b: HS.mreference t pre) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_mreference b) p /\ + HS.contains h b /\ + modifies p h h' + )) + (ensures ( + HS.contains h' b /\ + HS.sel h b == HS.sel h' b + )) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (HS.sel h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h b) ]; + [ SMTPat (modifies p h h'); SMTPat (HS.sel h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h' b) ] + ] ] + +val modifies_buffer_elim + (#t1: Type) + (b: B.buffer t1) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_buffer b) p /\ + B.live h b /\ + modifies p h h' + )) + (ensures ( + B.live h' b /\ ( + B.as_seq h b == B.as_seq h' b + ))) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (B.as_seq h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (B.live h b) ]; + [ SMTPat (modifies p h h'); SMTPat (B.as_seq h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (B.live h' b) ] + ] ] + +val modifies_refl + (s: loc) + (h: HS.mem) +: Lemma + (modifies s h h) + [SMTPat (modifies s h h)] + +val modifies_loc_includes + (s1: loc) + (h h': HS.mem) + (s2: loc) +: Lemma + (requires (modifies s2 h h' /\ loc_includes s1 s2)) + (ensures (modifies s1 h h')) + [SMTPatOr [ + [SMTPat (modifies s1 h h'); SMTPat (modifies s2 h h')]; + [SMTPat (modifies s1 h h'); SMTPat (loc_includes s1 s2)]; + [SMTPat (modifies s2 h h'); SMTPat (loc_includes s1 s2)]; + ]] + +/// Some memory locations are tagged as liveness-insensitive: the +/// liveness preservation of a memory location only depends on its +/// disjointness from the liveness-sensitive memory locations of a +/// modifies clause. + + +val address_liveness_insensitive_locs: loc + +val region_liveness_insensitive_locs: loc + +val address_liveness_insensitive_buffer (#t: Type) (b: B.buffer t) : Lemma + (address_liveness_insensitive_locs `loc_includes` (loc_buffer b)) + [SMTPat (address_liveness_insensitive_locs `loc_includes` (loc_buffer b))] + +val address_liveness_insensitive_addresses (r: HS.rid) (a: Set.set nat) : Lemma + (address_liveness_insensitive_locs `loc_includes` (loc_addresses true r a)) + [SMTPat (address_liveness_insensitive_locs `loc_includes` (loc_addresses true r a))] + +val region_liveness_insensitive_buffer (#t: Type) (b: B.buffer t) : Lemma + (region_liveness_insensitive_locs `loc_includes` (loc_buffer b)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_buffer b))] + +val region_liveness_insensitive_addresses (preserve_liveness: bool) (r: HS.rid) (a: Set.set nat) : Lemma + (region_liveness_insensitive_locs `loc_includes` (loc_addresses preserve_liveness r a)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_addresses preserve_liveness r a))] + +val region_liveness_insensitive_regions (rs: Set.set HS.rid) : Lemma + (region_liveness_insensitive_locs `loc_includes` (loc_regions true rs)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_regions true rs))] + +val region_liveness_insensitive_address_liveness_insensitive: + squash (region_liveness_insensitive_locs `loc_includes` address_liveness_insensitive_locs) + +val modifies_liveness_insensitive_mreference + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_mreference x) /\ address_liveness_insensitive_locs `loc_includes` l2 /\ h `HS.contains` x)) + (ensures (h' `HS.contains` x)) + (* TODO: pattern *) + +val modifies_liveness_insensitive_buffer + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (x: B.buffer t) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_buffer x) /\ address_liveness_insensitive_locs `loc_includes` l2 /\ B.live h x)) + (ensures (B.live h' x)) + (* TODO: pattern *) + +let modifies_liveness_insensitive_mreference_weak + (l : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies l h h' /\ address_liveness_insensitive_locs `loc_includes` l /\ h `HS.contains` x)) + (ensures (h' `HS.contains` x)) + [SMTPatOr [ + [SMTPat (h `HS.contains` x); SMTPat (modifies l h h');]; + [SMTPat (h' `HS.contains` x); SMTPat (modifies l h h');]; + ]] += modifies_liveness_insensitive_mreference loc_none l h h' x + +let modifies_liveness_insensitive_buffer_weak + (l : loc) + (h h' : HS.mem) + (#t: Type) + (x: B.buffer t) +: Lemma + (requires (modifies l h h' /\ address_liveness_insensitive_locs `loc_includes` l /\ B.live h x)) + (ensures (B.live h' x)) + [SMTPatOr [ + [SMTPat (B.live h x); SMTPat (modifies l h h');]; + [SMTPat (B.live h' x); SMTPat (modifies l h h');]; + ]] += modifies_liveness_insensitive_buffer loc_none l h h' x + +val modifies_liveness_insensitive_region + (l1 l2 : loc) + (h h' : HS.mem) + (x: HS.rid) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_region_only false x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h x)) + (ensures (HS.live_region h' x)) + (* TODO: pattern *) + +val modifies_liveness_insensitive_region_mreference + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_mreference x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (HS.frameOf x))) + (ensures (HS.live_region h' (HS.frameOf x))) + (* TODO: pattern *) + +val modifies_liveness_insensitive_region_buffer + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (x: B.buffer t) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_buffer x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (B.frameOf x))) + (ensures (HS.live_region h' (B.frameOf x))) + (* TODO: pattern *) + +let modifies_liveness_insensitive_region_weak + (l2 : loc) + (h h' : HS.mem) + (x: HS.rid) +: Lemma + (requires (modifies l2 h h' /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h x)) + (ensures (HS.live_region h' x)) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h x)]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' x)]; + ]] += modifies_liveness_insensitive_region loc_none l2 h h' x + +let modifies_liveness_insensitive_region_mreference_weak + (l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies l2 h h' /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (HS.frameOf x))) + (ensures (HS.live_region h' (HS.frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (HS.frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (HS.frameOf x))]; + ]] += modifies_liveness_insensitive_region_mreference loc_none l2 h h' x + +let modifies_liveness_insensitive_region_buffer_weak + (l2 : loc) + (h h' : HS.mem) + (#t: Type) + (x: B.buffer t) +: Lemma + (requires (modifies l2 h h' /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (B.frameOf x))) + (ensures (HS.live_region h' (B.frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (B.frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (B.frameOf x))]; + ]] += modifies_liveness_insensitive_region_buffer loc_none l2 h h' x + + +val modifies_trans + (s12: loc) + (h1 h2: HS.mem) + (s23: loc) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3)) + (ensures (modifies (loc_union s12 s23) h1 h3)) + [SMTPat (modifies s12 h1 h2); SMTPat (modifies s23 h2 h3)] + +val modifies_only_live_regions + (rs: Set.set HS.rid) + (l: loc) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_regions false rs) l) h h' /\ + (forall r . Set.mem r rs ==> (~ (HS.live_region h r))) + )) + (ensures (modifies l h h')) + +val no_upd_fresh_region: r:HS.rid -> l:loc -> h0:HS.mem -> h1:HS.mem -> Lemma + (requires (HS.fresh_region r h0 h1 /\ modifies (loc_union (loc_all_regions_from false r) l) h0 h1)) + (ensures (modifies l h0 h1)) + [SMTPat (HS.fresh_region r h0 h1); SMTPat (modifies l h0 h1)] + +val modifies_fresh_frame_popped + (h0 h1: HS.mem) + (s: loc) + (h2 h3: HS.mem) +: Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + modifies (loc_union (loc_all_regions_from false (HS.get_tip h1)) s) h1 h2 /\ + (HS.get_tip h2) == (HS.get_tip h1) /\ + HS.popped h2 h3 + )) + (ensures ( + modifies s h0 h3 /\ + (HS.get_tip h3) == HS.get_tip h0 + )) + [SMTPat (HS.fresh_frame h0 h1); SMTPat (HS.popped h2 h3); SMTPat (modifies s h0 h3)] + +val modifies_loc_regions_intro + (rs: Set.set HS.rid) + (h1 h2: HS.mem) +: Lemma + (requires (HS.modifies rs h1 h2)) + (ensures (modifies (loc_regions true rs) h1 h2)) + +val modifies_loc_addresses_intro + (r: HS.rid) + (a: Set.set nat) + (l: loc) + (h1 h2: HS.mem) +: Lemma + (requires ( + HS.live_region h2 r /\ + modifies (loc_union (loc_region_only false r) l) h1 h2 /\ + HS.modifies_ref r a h1 h2 + )) + (ensures (modifies (loc_union (loc_addresses true r a) l) h1 h2)) + +val modifies_ralloc_post + (#a: Type) + (#rel: Preorder.preorder a) + (i: HS.rid) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel { HST.is_eternal_region (HS.frameOf x) } ) + (h' : HS.mem) +: Lemma + (requires (HST.ralloc_post i init h x h')) + (ensures (modifies loc_none h h')) + +val modifies_salloc_post + (#a: Type) + (#rel: Preorder.preorder a) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel { HS.is_stack_region (HS.frameOf x) } ) + (h' : HS.mem) +: Lemma + (requires (HST.salloc_post init h x h')) + (ensures (modifies loc_none h h')) + +val modifies_free + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel { HS.is_mm r } ) + (m: HS.mem { m `HS.contains` r } ) +: Lemma + (modifies (loc_freed_mreference r) m (HS.free r m)) + +val modifies_none_modifies + (h1 h2: HS.mem) +: Lemma + (requires (HST.modifies_none h1 h2)) + (ensures (modifies loc_none h1 h2)) + +val modifies_buffer_none_modifies + (h1 h2: HS.mem) +: Lemma + (requires (B.modifies_none h1 h2)) + (ensures (modifies loc_none h1 h2)) + +val modifies_0_modifies + (h1 h2: HS.mem) +: Lemma + (requires (B.modifies_0 h1 h2)) + (ensures (modifies loc_none h1 h2)) + [SMTPat (B.modifies_0 h1 h2)] + +val modifies_1_modifies + (#a: Type) + (b: B.buffer a) + (h1 h2: HS.mem) +: Lemma + (requires (B.modifies_1 b h1 h2)) + (ensures (modifies (loc_buffer b) h1 h2)) + [SMTPat (B.modifies_1 b h1 h2)] + +val modifies_2_modifies + (#a1 #a2: Type) + (b1: B.buffer a1) + (b2: B.buffer a2) + (h1 h2: HS.mem) +: Lemma + (requires (B.modifies_2 b1 b2 h1 h2)) + (ensures (modifies (loc_union (loc_buffer b1) (loc_buffer b2)) h1 h2)) + [SMTPat (B.modifies_2 b1 b2 h1 h2)] + +val modifies_3_modifies + (#a1 #a2 #a3: Type) + (b1: B.buffer a1) + (b2: B.buffer a2) + (b3: B.buffer a3) + (h1 h2: HS.mem) +: Lemma + (requires (B.modifies_3 b1 b2 b3 h1 h2)) + (ensures (modifies (loc_union (loc_buffer b1) (loc_union (loc_buffer b2) (loc_buffer b3))) h1 h2)) + +val modifies_buffer_rcreate_post_common + (#a: Type) + (r: HS.rid) + (init: a) + (len: FStar.UInt32.t) + (b: B.buffer a) + (h0 h1: HS.mem) +: Lemma + (requires (B.rcreate_post_common r init len b h0 h1)) + (ensures (modifies loc_none h0 h1)) + +val mreference_live_buffer_unused_in_disjoint + (#t1: Type) + (#pre: Preorder.preorder t1) + (#t2: Type) + (h: HS.mem) + (b1: HS.mreference t1 pre) + (b2: B.buffer t2) +: Lemma + (requires (HS.contains h b1 /\ B.unused_in b2 h)) + (ensures (loc_disjoint (loc_freed_mreference b1) (loc_buffer b2))) + [SMTPat (HS.contains h b1); SMTPat (B.unused_in b2 h)] + +val buffer_live_mreference_unused_in_disjoint + (#t1: Type) + (#t2: Type) + (#pre: Preorder.preorder t2) + (h: HS.mem) + (b1: B.buffer t1) + (b2: HS.mreference t2 pre) +: Lemma + (requires (B.live h b1 /\ HS.unused_in b2 h)) + (ensures (loc_disjoint (loc_buffer b1) (loc_freed_mreference b2))) + [SMTPat (B.live h b1); SMTPat (HS.unused_in b2 h)] + +(** BEGIN TODO: move to FStar.Monotonic.HyperStack *) + +val does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: GTot Type0 + +val not_live_region_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (~ (HS.live_region h (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val unused_in_does_not_contain_addr + (h: HS.mem) + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) +: Lemma + (requires (r `HS.unused_in` h)) + (ensures (h `does_not_contain_addr` (HS.frameOf r, HS.as_addr r))) + +val addr_unused_in_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (HS.live_region h (fst ra) ==> snd ra `Heap.addr_unused_in` (Map.sel (HS.get_hmap h) (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val free_does_not_contain_addr + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + HS.is_mm r /\ + m `HS.contains` r /\ + fst x == HS.frameOf r /\ + snd x == HS.as_addr r + )) + (ensures ( + HS.free r m `does_not_contain_addr` x + )) + [SMTPat (HS.free r m `does_not_contain_addr` x)] + +val does_not_contain_addr_elim + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + m `does_not_contain_addr` x /\ + HS.frameOf r == fst x /\ + HS.as_addr r == snd x + )) + (ensures (~ (m `HS.contains` r))) + +(** END TODO *) + +val modifies_only_live_addresses + (r: HS.rid) + (a: Set.set nat) + (l: loc) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_addresses false r a) l) h h' /\ + (forall x . Set.mem x a ==> h `does_not_contain_addr` (r, x)) + )) + (ensures (modifies l h h')) + + +/// Type class instantiation for compositionality with other kinds of memory locations than regions, references or buffers (just in case). +/// No usage pattern has been found yet. + +module MG = FStar.ModifiesGen + +val cloc_aloc : HS.rid -> nat -> Tot (Type u#1) + +val cloc_cls: MG.cls cloc_aloc + +val cloc_of_loc (l: loc) : Tot (MG.loc cloc_cls) + +val loc_of_cloc (l: MG.loc cloc_cls) : Tot loc + +val loc_of_cloc_of_loc (l: loc) : Lemma + (loc_of_cloc (cloc_of_loc l) == l) + [SMTPat (loc_of_cloc (cloc_of_loc l))] + +val cloc_of_loc_of_cloc (l: MG.loc cloc_cls) : Lemma + (cloc_of_loc (loc_of_cloc l) == l) + [SMTPat (cloc_of_loc (loc_of_cloc l))] + +val cloc_of_loc_none : unit -> Lemma (cloc_of_loc loc_none == MG.loc_none) + +val cloc_of_loc_union (l1 l2: loc) : Lemma + (cloc_of_loc (loc_union l1 l2) == MG.loc_union (cloc_of_loc l1) (cloc_of_loc l2)) + +val cloc_of_loc_addresses + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (cloc_of_loc (loc_addresses preserve_liveness r n) == MG.loc_addresses preserve_liveness r n) + +val cloc_of_loc_regions + (preserve_liveness: bool) + (r: Set.set HS.rid) +: Lemma + (cloc_of_loc (loc_regions preserve_liveness r) == MG.loc_regions preserve_liveness r) + +val loc_includes_to_cloc (l1 l2: loc) : Lemma + (loc_includes l1 l2 <==> MG.loc_includes (cloc_of_loc l1) (cloc_of_loc l2)) + +val loc_disjoint_to_cloc (l1 l2: loc) : Lemma + (loc_disjoint l1 l2 <==> MG.loc_disjoint (cloc_of_loc l1) (cloc_of_loc l2)) + +val modifies_to_cloc (l: loc) (h1 h2: HS.mem) : Lemma + (modifies l h1 h2 <==> MG.modifies (cloc_of_loc l) h1 h2) diff --git a/stage0/ulib/FStar.ModifiesGen.fst b/stage0/ulib/FStar.ModifiesGen.fst new file mode 100644 index 00000000000..412343c3c23 --- /dev/null +++ b/stage0/ulib/FStar.ModifiesGen.fst @@ -0,0 +1,2232 @@ +(* + 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.ModifiesGen + +#set-options "--split_queries no --ext 'context_pruning='" +#set-options "--using_facts_from '*,-FStar.Tactics,-FStar.Reflection,-FStar.List'" + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +noeq +type aloc (#al: aloc_t) (c: cls al) = | ALoc: + (region: HS.rid) -> + (addr: nat) -> + (loc: option (al region addr)) -> + aloc c + +let aloc_domain (#al: aloc_t) (c: cls al) (regions: Ghost.erased (Set.set HS.rid)) (addrs: ((r: HS.rid { Set.mem r (Ghost.reveal regions) } ) -> GTot (GSet.set nat))) : GTot (GSet.set (aloc c)) = + GSet.comprehend (fun a -> Set.mem a.region (Ghost.reveal regions) && GSet.mem a.addr (addrs a.region)) + +module F = FStar.FunctionalExtensionality + +[@@(unifier_hint_injective)] +let i_restricted_g_t = F.restricted_g_t + +let addrs_dom regions = + (r: HS.rid { Set.mem r (Ghost.reveal regions) } ) + +let non_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 } ) + (r:addrs_dom regions) = + (y: GSet.set nat { r `Set.mem` (Ghost.reveal region_liveness_tags) ==> GSet.subset (GSet.complement GSet.empty) y }) + +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)) + (r:addrs_dom regions) = (y: GSet.set nat { GSet.subset (non_live_addrs r) y } ) + +[@@erasable] +noeq +type loc' (#al: aloc_t u#x) (c: cls al) : Type u#x = + | Loc: + (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)) -> + (live_addrs: + i_restricted_g_t + (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)) + } ) -> + loc' c + +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) = + 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) = + F.on_dom_g _ f + +let loc_none #a #c = + Loc + (Ghost.hide (Set.empty)) + (Ghost.hide (Set.empty)) + (mk_non_live_addrs (fun _ -> GSet.empty)) + (mk_live_addrs (fun _ -> GSet.empty)) + (Ghost.hide GSet.empty) + +let regions_of_loc + (#al: aloc_t) (#c: cls al) + (s: loc c) +: GTot (Set.set HS.rid) += Ghost.reveal (Loc?.regions s) + +let addrs_of_loc_liveness_not_preserved + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) +: GTot (GSet.set nat) += if Set.mem r (regions_of_loc l) + then Loc?.non_live_addrs l r + else GSet.empty + +let addrs_of_loc_weak + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) +: GTot (GSet.set nat) += if Set.mem r (regions_of_loc l) + then Loc?.live_addrs l r + else GSet.empty + +let addrs_of_loc_aux_pred + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) + (addr: nat) +: GTot bool += StrongExcludedMiddle.strong_excluded_middle (exists a . GSet.mem a (Ghost.reveal (Loc?.aux l)) /\ a.region == r /\ a.addr == addr) + +let addrs_of_loc_aux + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) +: GTot (y: GSet.set nat { GSet.subset (GSet.intersect y (addrs_of_loc_weak l r)) GSet.empty } ) += GSet.comprehend (addrs_of_loc_aux_pred l r) + `GSet.intersect` (GSet.complement (addrs_of_loc_weak l r)) + +let addrs_of_loc + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) +: GTot (GSet.set nat) += GSet.union + (addrs_of_loc_weak l r) + (addrs_of_loc_aux l r) + +let addrs_of_loc_aux_prop + (#al: aloc_t) (#c: cls al) + (l: loc c) + (r: HS.rid) +: Lemma + (GSet.subset (GSet.intersect (addrs_of_loc_aux l r) (addrs_of_loc_weak l r)) GSet.empty) + [SMTPatOr [ + [SMTPat (addrs_of_loc_aux l r)]; + [SMTPat (addrs_of_loc_weak l r)]; + [SMTPat (addrs_of_loc l r)]; + ]] += () + +let loc_union #al #c s1 s2 = + let regions1 = Ghost.reveal (Loc?.regions s1) in + let regions2 = Ghost.reveal (Loc?.regions s2) in + let regions = Set.union regions1 regions2 in + let region_liveness_tags : Ghost.erased (Set.set HS.rid) = (Ghost.hide (Set.union (Ghost.reveal (Loc?.region_liveness_tags s1)) (Ghost.reveal (Loc?.region_liveness_tags s2)))) in + let gregions = Ghost.hide regions in + let non_live_addrs = + F.on_dom_g (addrs_dom gregions) #(non_live_addrs_codom gregions region_liveness_tags) + (fun r -> + GSet.union + (if Set.mem r regions1 then Loc?.non_live_addrs s1 r else GSet.empty) + (if Set.mem r regions2 then Loc?.non_live_addrs s2 r else GSet.empty)) + in + let live_addrs = + F.on_dom_g (addrs_dom gregions) #(live_addrs_codom gregions region_liveness_tags non_live_addrs) + (fun r -> + GSet.union + (if Set.mem r regions1 then addrs_of_loc_weak s1 r else GSet.empty) + (if Set.mem r regions2 then addrs_of_loc_weak s2 r else GSet.empty)) + in + let aux = Ghost.hide + (Ghost.reveal (Loc?.aux s1) `GSet.union` Ghost.reveal (Loc?.aux s2)) + in + Loc + (Ghost.hide regions) + region_liveness_tags + non_live_addrs + live_addrs + aux + +let fun_set_equal (#t: Type) (#t': Type) + (#p:(t -> GSet.set t' -> Type)) + (f1 f2: i_restricted_g_t t (fun x -> g:GSet.set t'{p x g})) :Tot Type0 = + forall (x: t) . {:pattern (f1 x) \/ (f2 x) } f1 x `GSet.equal` f2 x + +let fun_set_equal_elim (#t: Type) (#t': Type) + (#p:(t -> GSet.set t' -> Type)) + (f1 f2: i_restricted_g_t t (fun x -> g:GSet.set t'{p x g})) : Lemma + (requires (fun_set_equal f1 f2)) + (ensures (f1 == f2)) +// [SMTPat (fun_set_equal f1 f2)] += assert (f1 `FunctionalExtensionality.feq_g` f2) + +let loc_equal (#al: aloc_t) (#c: cls al) (s1 s2: loc c) : GTot Type0 = + let Loc regions1 region_liveness_tags1 _ _ aux1 = s1 in + let Loc regions2 region_liveness_tags2 _ _ aux2 = s2 in + Ghost.reveal regions1 `Set.equal` Ghost.reveal regions2 /\ + Ghost.reveal region_liveness_tags1 `Set.equal` Ghost.reveal region_liveness_tags2 /\ + fun_set_equal (Loc?.non_live_addrs s1) (Loc?.non_live_addrs s2) /\ + fun_set_equal (Loc?.live_addrs s1) (Loc?.live_addrs s2) /\ + Ghost.reveal (Loc?.aux s1) `GSet.equal` Ghost.reveal (Loc?.aux s2) + +let loc_equal_elim (#al: aloc_t) (#c: cls al) (s1 s2: loc c) : Lemma + (requires (loc_equal s1 s2)) + (ensures (s1 == s2)) + [SMTPat (s1 `loc_equal` s2)] += fun_set_equal_elim (Loc?.non_live_addrs s1) (Loc?.non_live_addrs s2); + fun_set_equal_elim (Loc?.live_addrs s1) (Loc?.live_addrs s2) + + +let loc_union_idem #al #c s = + assert (loc_union s s `loc_equal` s) + +let loc_union_comm #al #c s1 s2 = + assert (loc_union s1 s2 `loc_equal` loc_union s2 s1) + +let loc_union_assoc #al #c s1 s2 s3 = + assert (loc_union s1 (loc_union s2 s3) `loc_equal` loc_union (loc_union s1 s2) s3) + +let loc_union_loc_none_l #al #c s = + assert (loc_union loc_none s `loc_equal` s) + +let loc_union_loc_none_r #al #c s = + assert (loc_union s loc_none `loc_equal` s) + +let loc_of_aloc #al #c #r #n b = + let regions = (Ghost.hide (Set.singleton r)) in + let region_liveness_tags = (Ghost.hide (Set.empty)) in + Loc + regions + region_liveness_tags + (mk_non_live_addrs (fun _ -> GSet.empty)) + (mk_live_addrs (fun _ -> GSet.empty)) + (Ghost.hide (GSet.singleton (ALoc r n (Some b)))) + +let loc_of_aloc_not_none #al #c #r #n b = () + +let loc_addresses #al #c preserve_liveness r n = + let regions = (Ghost.hide (Set.singleton r)) in + Loc + regions + (Ghost.hide Set.empty) + (mk_non_live_addrs (fun _ -> if preserve_liveness then GSet.empty else GSet.of_set n)) + (mk_live_addrs (fun _ -> GSet.of_set n)) + (Ghost.hide (aloc_domain c regions (fun _ -> GSet.of_set n))) + +let loc_regions_region_liveness_tags (preserve_liveness: bool) (r: Set.set HS.rid) : Tot (Ghost.erased (Set.set HS.rid)) = + if preserve_liveness then Ghost.hide Set.empty else Ghost.hide r + +let loc_regions #al #c preserve_liveness r = + let region_liveness_tags = loc_regions_region_liveness_tags preserve_liveness r in + let addrs (r' : HS.rid { Set.mem r' r } ) : GTot (y: GSet.set nat { r' `Set.mem` (Ghost.reveal region_liveness_tags) ==> GSet.subset (GSet.complement GSet.empty) y } ) = + GSet.complement GSet.empty + in + let live_addrs (r' : HS.rid { Set.mem r' r } ) : GTot (y: GSet.set nat { addrs r' `GSet.subset` y } ) = + addrs r' + in + Loc + (Ghost.hide r) + region_liveness_tags + (mk_non_live_addrs addrs) + (mk_live_addrs live_addrs) + (Ghost.hide (aloc_domain c (Ghost.hide r) addrs)) + +let aloc_includes (#al: aloc_t) (#c: cls al) (b0 b: aloc c) : GTot Type0 = + b0.region == b.region /\ b0.addr == b.addr /\ Some? b0.loc == Some? b.loc /\ (if Some? b0.loc && Some? b.loc then c.aloc_includes (Some?.v b0.loc) (Some?.v b.loc) else True) + +let loc_aux_includes_buffer + (#al: aloc_t) (#c: cls al) + (s: GSet.set (aloc c)) + (b: aloc c) +: GTot Type0 + (decreases s) += exists (b0 : aloc c) . b0 `GSet.mem` s /\ b0 `aloc_includes` b + +let loc_aux_includes + (#al: aloc_t) (#c: cls al) + (s1 s2: GSet.set (aloc c)) +: GTot Type0 + (decreases s2) += forall (b2: aloc c) . GSet.mem b2 s2 ==> loc_aux_includes_buffer s1 b2 + +let loc_aux_includes_union_l + (#al: aloc_t) (#c: cls al) + (s1 s2 s: GSet.set (aloc c)) +: Lemma + (requires (loc_aux_includes s1 s \/ loc_aux_includes s2 s)) + (ensures (loc_aux_includes (GSet.union s1 s2) s)) + (decreases s) += () + +let loc_aux_includes_refl + (#al: aloc_t) (#c: cls al) + (s: GSet.set (aloc c)) +: Lemma + (loc_aux_includes s s) += Classical.forall_intro_3 (fun r a b -> c.aloc_includes_refl #r #a b) + +let loc_aux_includes_subset + (#al: aloc_t) (#c: cls al) + (s1 s2: GSet.set (aloc c)) +: Lemma + (requires (s1 `GSet.subset` s2)) + (ensures (loc_aux_includes s2 s1)) += Classical.forall_intro_3 (fun r a b -> c.aloc_includes_refl #r #a b) + +let loc_aux_includes_subset' + (#al: aloc_t) (#c: cls al) + (s1 s2: GSet.set (aloc c)) +: Lemma + (requires (s1 `GSet.subset` s2)) + (ensures (loc_aux_includes s2 s1)) + [SMTPatOr [ + [SMTPat (s1 `GSet.subset` s2)]; + [SMTPat (loc_aux_includes s2 s1)]; + ]] += loc_aux_includes_subset s1 s2 + +let loc_aux_includes_union_l_r + (#al: aloc_t) (#c: cls al) + (s s': GSet.set (aloc c)) +: Lemma + (loc_aux_includes (GSet.union s s') s) += loc_aux_includes_refl s; + loc_aux_includes_union_l s s' s + +let loc_aux_includes_union_l_l + (#al: aloc_t) (#c: cls al) + (s s': GSet.set (aloc c)) +: Lemma + (loc_aux_includes (GSet.union s' s) s) += loc_aux_includes_refl s; + loc_aux_includes_union_l s' s s + +let loc_aux_includes_buffer_includes + (#al: aloc_t) (#c: cls al) + (s: GSet.set (aloc c)) + (b1 b2: aloc c) +: Lemma + (requires (loc_aux_includes_buffer s b1 /\ b1 `aloc_includes` b2)) + (ensures (loc_aux_includes_buffer s b2)) += Classical.forall_intro_3 (fun r a b1 -> Classical.forall_intro_2 (fun b2 b3 -> Classical.move_requires (c.aloc_includes_trans #r #a b1 b2) b3)) + +let loc_aux_includes_loc_aux_includes_buffer + (#al: aloc_t) (#c: cls al) + (s1 s2: GSet.set (aloc c)) + (b: aloc c) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes_buffer s2 b)) + (ensures (loc_aux_includes_buffer s1 b)) += Classical.forall_intro_3 (fun s b1 b2 -> Classical.move_requires (loc_aux_includes_buffer_includes #al #c s b1) b2) + +let loc_aux_includes_trans + (#al: aloc_t) (#c: cls al) + (s1 s2 s3: GSet.set (aloc c)) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes s2 s3)) + (ensures (loc_aux_includes s1 s3)) += Classical.forall_intro_3 (fun r a b1 -> Classical.forall_intro_2 (fun b2 b3 -> Classical.move_requires (c.aloc_includes_trans #r #a b1 b2) b3)) + +let addrs_of_loc_weak_loc_union + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) + (r: HS.rid) +: Lemma + (addrs_of_loc_weak (loc_union l1 l2) r == GSet.union (addrs_of_loc_weak l1 r) (addrs_of_loc_weak l2 r)) + [SMTPat (addrs_of_loc_weak (loc_union l1 l2) r)] += assert (GSet.equal (addrs_of_loc_weak (loc_union l1 l2) r) (GSet.union (addrs_of_loc_weak l1 r) (addrs_of_loc_weak l2 r))) + +let addrs_of_loc_union + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) + (r: HS.rid) +: Lemma + (addrs_of_loc (loc_union l1 l2) r == GSet.union (addrs_of_loc l1 r) (addrs_of_loc l2 r)) + [SMTPat (addrs_of_loc (loc_union l1 l2) r)] += assert (GSet.equal (addrs_of_loc (loc_union l1 l2) r) (GSet.union (addrs_of_loc l1 r) (addrs_of_loc l2 r))) + +unfold +let loc_includes' #al (#c: cls al) (s1 s2: loc c) = + let regions1 = Ghost.reveal (Loc?.regions s1) in + let regions2 = Ghost.reveal (Loc?.regions s2) in ( + Set.subset regions2 regions1 /\ + Set.subset (Ghost.reveal (Loc?.region_liveness_tags s2)) (Ghost.reveal (Loc?.region_liveness_tags s1)) /\ + ( + forall (r: HS.rid { Set.mem r regions2 } ) . + GSet.subset (Loc?.non_live_addrs s2 r) (Loc?.non_live_addrs s1 r) + ) /\ + ( + forall (r: HS.rid) . + GSet.subset (addrs_of_loc_weak s2 r) (addrs_of_loc_weak s1 r) + ) /\ ( + forall (r: HS.rid) . + GSet.subset (addrs_of_loc s2 r) (addrs_of_loc s1 r) + ) /\ ( + (Ghost.reveal (Loc?.aux s1)) `loc_aux_includes` (Ghost.reveal (Loc?.aux s2)) + ) + ) + +let loc_includes #al #c s1 s2 = + loc_includes' s1 s2 + +let loc_includes_refl #al #c s = + loc_aux_includes_refl (Ghost.reveal (Loc?.aux s)) + +let loc_includes_refl' + (#al: aloc_t) (#c: cls al) + (s: loc c) +: Lemma + (loc_includes s s) + [SMTPat (loc_includes s s)] += loc_includes_refl s + +let loc_includes_trans #al #c s1 s2 s3 = + loc_aux_includes_trans (Ghost.reveal (Loc?.aux s1)) (Ghost.reveal (Loc?.aux s2)) (Ghost.reveal (Loc?.aux s3)) + +let loc_includes_union_r #al #c s s1 s2 = () + +let loc_includes_union_l #al #c s1 s2 s = + let u12 = loc_union s1 s2 in + Classical.or_elim + #(loc_includes s1 s) + #(loc_includes s2 s) + #(fun _ -> loc_includes (loc_union s1 s2) s) + (fun _ -> + loc_aux_includes_union_l_r (Ghost.reveal (Loc?.aux s1)) (Ghost.reveal (Loc?.aux s2)); + assert (loc_includes (loc_union s1 s2) s1); + loc_includes_trans u12 s1 s) + (fun _ -> + loc_aux_includes_union_l_l (Ghost.reveal (Loc?.aux s2)) (Ghost.reveal (Loc?.aux s1)); + assert (loc_includes (loc_union s1 s2) s2); + loc_includes_trans u12 s2 s) + +let loc_includes_none #al #c s = () + +let loc_includes_none_elim #al #c s = + assert (s `loc_equal` loc_none) + +let loc_includes_aloc #al #c #r #n b1 b2 = () + +let loc_includes_aloc_elim #aloc #c #r1 #r2 #n1 #n2 b1 b2 = () + +let addrs_of_loc_loc_of_aloc + (#al: aloc_t) + (#c: cls al) + (#r: HS.rid) + (#a: nat) + (p: al r a) + (r': HS.rid) +: Lemma + (addrs_of_loc (loc_of_aloc #_ #c p) r' `GSet.equal` (if r = r' then GSet.singleton a else GSet.empty)) + [SMTPat (addrs_of_loc (loc_of_aloc #_ #c p) r')] += () + +let loc_includes_addresses_aloc #al #c preserve_liveness r s #a p = () + +let loc_includes_region_aloc #al #c preserve_liveness s #r #a b = () + +let loc_includes_region_addresses #al #c s preserve_liveness1 preserve_liveness2 r a = () + +let loc_includes_region_region #al #c preserve_liveness1 preserve_liveness2 s1 s2 = () + +let loc_includes_region_union_l #al #c preserve_liveness l s1 s2 = + assert ((loc_regions #_ #c preserve_liveness (Set.intersect s2 (Set.complement s1)) `loc_union` loc_regions #_ #c preserve_liveness (Set.intersect s2 s1)) `loc_equal` loc_regions preserve_liveness s2); + loc_includes_region_region #_ #c preserve_liveness preserve_liveness s1 (Set.intersect s2 s1); + loc_includes_union_l (loc_regions preserve_liveness s1) l (loc_regions preserve_liveness (Set.intersect s2 (Set.complement s1))); + loc_includes_union_l (loc_regions preserve_liveness s1) l (loc_regions preserve_liveness (Set.intersect s2 s1)); + loc_includes_union_r (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness (Set.intersect s2 (Set.complement s1))) (loc_regions preserve_liveness (Set.intersect s2 s1)) + +let loc_includes_addresses_addresses #al c preserve_liveness1 preserve_liveness2 r s1 s2 = () + +(* Disjointness of two memory locations *) + +let aloc_disjoint (#al: aloc_t) (#c: cls al) (b1 b2: aloc c) : GTot Type0 = + if b1.region = b2.region && b1.addr = b2.addr + then Some? b1.loc /\ Some? b2.loc /\ c.aloc_disjoint (Some?.v b1.loc) (Some?.v b2.loc) + else True + +let aloc_disjoint_sym (#al: aloc_t) (#c: cls al) (b1 b2: aloc c) : Lemma + (aloc_disjoint b1 b2 <==> aloc_disjoint b2 b1) += Classical.forall_intro_2 (fun r a -> Classical.forall_intro_2 (fun b1 b2 -> c.aloc_disjoint_sym #r #a b1 b2)) + +let loc_aux_disjoint + (#al: aloc_t) (#c: cls al) + (l1 l2: GSet.set (aloc c)) +: GTot Type0 += forall (b1 b2: aloc c) . (GSet.mem b1 l1 /\ GSet.mem b2 l2) ==> aloc_disjoint b1 b2 + +let loc_aux_disjoint_union_l + (#al: aloc_t) (#c: cls al) + (ll1 lr1 l2: GSet.set (aloc c)) +: Lemma + (ensures (loc_aux_disjoint (GSet.union ll1 lr1) l2 <==> (loc_aux_disjoint ll1 l2 /\ loc_aux_disjoint lr1 l2))) += () + +let loc_aux_disjoint_union_r + (#al: aloc_t) (#c: cls al) + (l1 ll2 lr2: GSet.set (aloc c)) +: Lemma + (loc_aux_disjoint l1 (GSet.union ll2 lr2) <==> (loc_aux_disjoint l1 ll2 /\ loc_aux_disjoint l1 lr2)) += () + +let loc_aux_disjoint_sym + (#al: aloc_t) (#c: cls al) + (l1 l2: GSet.set (aloc c)) +: Lemma + (ensures (loc_aux_disjoint l1 l2 <==> loc_aux_disjoint l2 l1)) += Classical.forall_intro_2 (aloc_disjoint_sym #al #c) + +let regions_of_loc_loc_union + (#al: aloc_t) (#c: cls al) + (s1 s2: loc c) +: Lemma + (regions_of_loc (loc_union s1 s2) == regions_of_loc s1 `Set.union` regions_of_loc s2) + [SMTPat (regions_of_loc (loc_union s1 s2))] += assert (regions_of_loc (loc_union s1 s2) `Set.equal` (regions_of_loc s1 `Set.union` regions_of_loc s2)) + +let regions_of_loc_monotonic + (#al: aloc_t) (#c: cls al) + (s1 s2: loc c) +: Lemma + (requires (loc_includes s1 s2)) + (ensures (Set.subset (regions_of_loc s2) (regions_of_loc s1))) += () + +let loc_disjoint_region_liveness_tags (#al: aloc_t) (#c: cls al) (l1 l2: loc c) : GTot Type0 = + Set.subset (Set.intersect (Ghost.reveal (Loc?.region_liveness_tags l1)) (Ghost.reveal (Loc?.region_liveness_tags l2))) Set.empty + +let loc_disjoint_addrs (#al: aloc_t) (#c: cls al) (l1 l2: loc c) : GTot Type0 = + (forall (r: HS.rid) . + GSet.subset (GSet.intersect (addrs_of_loc_weak l1 r) (addrs_of_loc l2 r)) GSet.empty /\ + GSet.subset (GSet.intersect (addrs_of_loc l1 r) (addrs_of_loc_weak l2 r)) GSet.empty + ) + +let loc_disjoint_aux (#al: aloc_t) (#c: cls al) (l1 l2: loc c) : GTot Type0 = + loc_aux_disjoint (Ghost.reveal (Loc?.aux l1)) (Ghost.reveal (Loc?.aux l2)) + +let loc_disjoint + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) +: GTot Type0 += loc_disjoint_region_liveness_tags l1 l2 /\ + loc_disjoint_addrs l1 l2 /\ + loc_disjoint_aux l1 l2 + +let loc_disjoint_sym #al #c l1 l2 = + Classical.forall_intro_2 (loc_aux_disjoint_sym #al #c) + +let loc_disjoint_sym' + (#al: aloc_t) (#c: cls al) + (s1 s2: loc c) +: Lemma + (requires (loc_disjoint s1 s2)) + (ensures (loc_disjoint s2 s1)) + [SMTPat (loc_disjoint s1 s2)] += loc_disjoint_sym s1 s2 + +let loc_disjoint_none_r #al #c s = () + +let loc_disjoint_union_r #al #c s s1 s2 = () + +let aloc_disjoint_includes (#al: aloc_t) (#c: cls al) (b1 b2 b3 : aloc c) : Lemma + (requires (aloc_disjoint b1 b2 /\ aloc_includes b2 b3)) + (ensures (aloc_disjoint b1 b3)) += if b1.region = b2.region && b1.addr = b2.addr + then begin + c.aloc_includes_refl (Some?.v b1.loc); + c.aloc_disjoint_includes (Some?.v b1.loc) (Some?.v b2.loc) (Some?.v b1.loc) (Some?.v b3.loc) + end + else () + +let loc_aux_disjoint_loc_aux_includes + (#al: aloc_t) (#c: cls al) + (l1 l2 l3: GSet.set (aloc c)) +: Lemma + (requires (loc_aux_disjoint l1 l2 /\ loc_aux_includes l2 l3)) + (ensures (loc_aux_disjoint l1 l3)) += // FIXME: WHY WHY WHY do I need this assert? + assert (forall (b1 b3: aloc c) . (GSet.mem b1 l1 /\ GSet.mem b3 l3) ==> (exists (b2: aloc c) . GSet.mem b2 l2 /\ aloc_disjoint b1 b2 /\ aloc_includes b2 b3)); + Classical.forall_intro_3 (fun b1 b2 b3 -> Classical.move_requires (aloc_disjoint_includes #al #c b1 b2) b3) + +let loc_disjoint_includes #al #c p1 p2 p1' p2' = + regions_of_loc_monotonic p1 p1'; + regions_of_loc_monotonic p2 p2'; + let l1 = Ghost.reveal (Loc?.aux p1) in + let l2 = Ghost.reveal (Loc?.aux p2) in + let l1' = Ghost.reveal (Loc?.aux p1') in + let l2' = Ghost.reveal (Loc?.aux p2') in + loc_aux_disjoint_loc_aux_includes l1 l2 l2'; + loc_aux_disjoint_sym l1 l2'; + loc_aux_disjoint_loc_aux_includes l2' l1 l1'; + loc_aux_disjoint_sym l2' l1' + +let loc_disjoint_aloc_intro #al #c #r1 #a1 #r2 #a2 b1 b2 = () + +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 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)))) +#pop-options + +let loc_disjoint_addresses_elim #al #c preserve_liveness1 preserve_liveness2 r1 r2 n1 n2 = () + +let loc_disjoint_aloc_addresses_intro #al #c #r' #a' p preserve_liveness r n = () + +let loc_disjoint_aloc_addresses_elim #al #c #r' #a' p preserve_liveness r n = () + +#push-options "--z3rlimit 15" +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)))) +#pop-options + +let loc_none_in_some_region #a (c: cls a) (r: HS.rid) : GTot (loc c) = + Loc + (Ghost.hide (Set.singleton r)) + (Ghost.hide (Set.empty)) + (mk_non_live_addrs (fun _ -> GSet.empty)) + (mk_live_addrs (fun _ -> GSet.empty)) + (Ghost.hide GSet.empty) + +(** Liveness-insensitive memory locations *) + +let address_liveness_insensitive_locs #al c = + Loc + (Ghost.hide (Set.complement Set.empty)) + (Ghost.hide Set.empty) + (mk_non_live_addrs (fun _ -> GSet.empty)) + (mk_live_addrs (fun _ -> GSet.complement GSet.empty)) + (Ghost.hide (aloc_domain c (Ghost.hide (Set.complement Set.empty)) (fun _ -> GSet.complement GSet.empty))) + +let loc_includes_address_liveness_insensitive_locs_aloc #al #c #r #n a = () + +let loc_includes_address_liveness_insensitive_locs_addresses #al c r a = () + +let region_liveness_insensitive_locs #al c = + Loc + (Ghost.hide (Set.complement Set.empty)) + (Ghost.hide Set.empty) + (mk_non_live_addrs (fun _ -> GSet.complement GSet.empty)) + (mk_live_addrs (fun _ -> GSet.complement GSet.empty)) + (Ghost.hide (aloc_domain c (Ghost.hide (Set.complement Set.empty)) (fun _ -> GSet.complement GSet.empty))) + +let loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs #al c = () + +let loc_includes_region_liveness_insensitive_locs_loc_regions #al c r = () + +let loc_includes_region_liveness_insensitive_locs_loc_addresses #al c preserve_liveness r a = () + +let loc_includes_region_liveness_insensitive_locs_loc_of_aloc #al c #r #a x = () + +(** The modifies clause proper *) + +let modifies_preserves_livenesses + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += (forall (t: Type) (pre: Preorder.preorder t) (p: HS.mreference t pre) . + let r = HS.frameOf p in ( + HS.contains h1 p /\ + (Set.mem r (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (Loc?.non_live_addrs s r))) + ) ==> ( + HS.contains h2 p + )) + +let modifies_preserves_livenesses_elim + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (p: HS.mreference t pre) +: Lemma + (requires (modifies_preserves_livenesses s h1 h2 /\ HS.contains h1 p /\ (Set.mem (HS.frameOf p) (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (Loc?.non_live_addrs s (HS.frameOf p)))))) + (ensures (HS.contains h2 p)) += () + +let modifies_preserves_livenesses_intro + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (f: ( + (t: Type) -> + (pre: Preorder.preorder t) -> + (p: HS.mreference t pre) -> + Lemma + (requires ( + HS.contains h1 p /\ + (Set.mem (HS.frameOf p) (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (Loc?.non_live_addrs s (HS.frameOf p)))) + )) + (ensures (HS.contains h2 p)) + )) +: Lemma + (modifies_preserves_livenesses s h1 h2) += let f' + (t : Type) + (pre: Preorder.preorder t) + (p : HS.mreference t pre) + : Lemma + ( + (HS.contains h1 p /\ (Set.mem (HS.frameOf p) (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (Loc?.non_live_addrs s (HS.frameOf p))))) ==> + (h2 `HS.contains` p)) + = Classical.move_requires (f t pre) p + in + Classical.forall_intro_3 f' + +let modifies_preserves_mreferences + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += (forall (t: Type) (pre: Preorder.preorder t) (p: HS.mreference t pre) . + let r = HS.frameOf p in ( + HS.contains h1 p /\ + (Set.mem r (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (addrs_of_loc s r))) + ) ==> ( + HS.contains h2 p /\ + HS.sel h2 p == HS.sel h1 p + )) + +let modifies_preserves_mreferences_intro + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (f: ( + (t: Type) -> + (pre: Preorder.preorder t) -> + (p: HS.mreference t pre) -> + Lemma + (requires ( + HS.contains h1 p /\ + (Set.mem (HS.frameOf p) (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (addrs_of_loc s (HS.frameOf p)))) + )) + (ensures (HS.contains h2 p /\ HS.sel h2 p == HS.sel h1 p)) + )) +: Lemma + (modifies_preserves_mreferences s h1 h2) += let f' + (t : Type) + (pre: Preorder.preorder t) + (p : HS.mreference t pre) + : Lemma + ( + (HS.contains h1 p /\ (Set.mem (HS.frameOf p) (regions_of_loc s) ==> ~ (GSet.mem (HS.as_addr p) (addrs_of_loc s (HS.frameOf p))))) ==> + (h2 `HS.contains` p /\ h2 `HS.sel` p == h1 `HS.sel` p)) + = Classical.move_requires (f t pre) p + in + Classical.forall_intro_3 f' + +let modifies_preserves_alocs + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += (forall (r: HS.rid) (a: nat) (b: al r a) . + loc_aux_disjoint (Ghost.reveal (Loc?.aux s)) (GSet.singleton (ALoc r a (Some b))) + ==> + c.aloc_preserved b h1 h2 + ) + +let modifies_preserves_alocs_intro + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (u: unit { modifies_preserves_mreferences s h1 h2 } ) + (f: ( + (r: HS.rid) -> + (a: nat) -> + (b: al r a) -> + Lemma + (requires ( + Set.mem r (regions_of_loc s) /\ + (~ (GSet.mem a (addrs_of_loc_weak s r))) /\ + (GSet.mem a (addrs_of_loc_aux s r) /\ loc_aux_disjoint (Ghost.reveal (Loc?.aux s)) (GSet.singleton (ALoc r a (Some b)))) + )) + (ensures (c.aloc_preserved b h1 h2)) + )) +: Lemma + (modifies_preserves_alocs s h1 h2) += let f' + (r: HS.rid) + (a: nat) + (b: al r a) + : Lemma + (requires (loc_aux_disjoint (Ghost.reveal (Loc?.aux s)) (GSet.singleton (ALoc r a (Some b))))) + (ensures (c.aloc_preserved b h1 h2)) + = if Set.mem r (regions_of_loc s) && (not (GSet.mem a (addrs_of_loc_weak s r))) + then begin + if GSet.mem a (addrs_of_loc_aux s r) + then + Classical.move_requires (f r a) b + else + 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)); + assert (GSet.mem (ALoc r a None) (Ghost.reveal (Loc?.aux s))); + assert (aloc_disjoint #_ #c (ALoc r a None) (ALoc r a (Some b))); + assert False + end + else + c.same_mreference_aloc_preserved b h1 h2 (fun a' pre' r' -> ()) + in + Classical.forall_intro_3 (fun r a b -> Classical.move_requires (f' r a) b) + +let modifies_preserves_regions + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += forall (r: HS.rid) . (HS.live_region h1 r /\ ~ (Set.mem r (Ghost.reveal (Loc?.region_liveness_tags s)))) ==> HS.live_region h2 r + + +let modifies_preserves_not_unused_in + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += (forall (r: HS.rid) (n: nat) . ( + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r) /\ + (Set.mem r (regions_of_loc s) ==> ~ (GSet.mem n (Loc?.non_live_addrs s r))) + ) ==> ( + n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r) + )) + +let modifies_preserves_not_unused_in_intro + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (f: ( + (r: HS.rid) -> + (n: nat) -> + Lemma + (requires ( + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r) /\ + (Set.mem r (regions_of_loc s) ==> ~ (GSet.mem n (Loc?.non_live_addrs s r))) + )) + (ensures ( + n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r) + )) + )) +: Lemma + (modifies_preserves_not_unused_in s h1 h2) += let f' + (r: HS.rid) + (n: nat) + : Lemma + (( + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r) /\ + (Set.mem r (regions_of_loc s) ==> ~ (GSet.mem n (Loc?.non_live_addrs s r))) + ) ==> ( + n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r) + )) + = Classical.move_requires (f r) n + in + Classical.forall_intro_2 f' + +let modifies + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 += modifies_preserves_regions s h1 h2 /\ + modifies_preserves_not_unused_in s h1 h2 /\ + modifies_preserves_mreferences s h1 h2 /\ + modifies_preserves_livenesses s h1 h2 /\ + modifies_preserves_alocs s h1 h2 + +val modifies_intro_strong + (#al: aloc_t) (#c: cls al) (l: loc c) (h h' : HS.mem) + (regions: ( + (r: HS.rid) -> + Lemma + (requires (HS.live_region h r)) + (ensures (HS.live_region h' r)) + )) + (mrefs: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires ((loc_disjoint (loc_mreference b) l) /\ HS.contains h b)) + (ensures (HS.contains h' b /\ HS.sel h' b == HS.sel h b)) + )) + (livenesses: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires (HS.contains h b)) + (ensures (HS.contains h' b)) + )) + (addr_unused_in: ( + (r: HS.rid) -> + (n: nat) -> + Lemma + (requires ( + (Set.mem r (regions_of_loc l) ==> ~ (GSet.mem n (Loc?.non_live_addrs l r))) /\ + HS.live_region h r /\ + HS.live_region h' r /\ n `Heap.addr_unused_in` (HS.get_hmap h' `Map.sel` r) + )) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` r))) + )) + (alocs: ( + (r: HS.rid) -> + (a: nat) -> + (x: al r a) -> + Lemma + (requires (loc_disjoint (loc_of_aloc x) l)) + (ensures (c.aloc_preserved x h h')) + )) +: Lemma + (modifies l h h') + +#push-options "--z3rlimit 20" +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'); + + let aux (t:Type) (pre:Preorder.preorder t) (p:HS.mreference t pre) + :Lemma (requires (HS.contains h p /\ + (Set.mem (HS.frameOf p) (regions_of_loc l) ==> ~ (GSet.mem (HS.as_addr p) (addrs_of_loc l (HS.frameOf p)))))) + (ensures (HS.contains h' p /\ HS.sel h' p == HS.sel h p)) + = + 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_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)); + mrefs t pre p + in + + modifies_preserves_mreferences_intro l h h' aux; + Classical.forall_intro_3 (fun t pre p -> Classical.move_requires (lives t pre) p); + modifies_preserves_not_unused_in_intro l h h' (fun r n -> + unused_ins r n + ); + modifies_preserves_alocs_intro l h h' () (fun r a b -> + loc_aux_disjoint_sym (Ghost.reveal (Loc?.aux l)) (Ghost.reveal (Loc?.aux (loc_of_aloc b))); + alocs r a b + ) +#pop-options + +let modifies_intro #al #c l h h' regions mrefs lives unused_ins alocs = + modifies_intro_strong l h h' + regions + mrefs + lives + (fun r n -> unused_ins r n) + alocs + +let modifies_none_intro #al #c h h' regions mrefs unused_ins = + modifies_intro_strong #_ #c loc_none h h' + (fun r -> regions r) + (fun t pre b -> mrefs t pre b) + (fun t pre b -> mrefs t pre b) + (fun r n -> unused_ins r n) + (fun r a x -> + c.same_mreference_aloc_preserved x h h' (fun t pre b -> mrefs t pre b) + ) + +let modifies_address_intro #al #c r n h h' regions mrefs unused_ins = + Classical.forall_intro (Classical.move_requires regions); + let l : loc c = loc_addresses #_ #c false r (Set.singleton n) in + modifies_preserves_mreferences_intro l h h' + (fun t pre p -> mrefs t pre p) + ; + modifies_preserves_livenesses_intro l h h' + (fun t pre p -> mrefs t pre p) + ; + modifies_preserves_not_unused_in_intro l h h' + (fun r n -> unused_ins r n) + ; + modifies_preserves_alocs_intro l h h' () + (fun r a b -> + c.same_mreference_aloc_preserved b h h' (fun t pre p -> mrefs t pre p) + ) + +let modifies_aloc_intro #al #c #r #n x h h' regions mrefs livenesses unused_ins alocs = + modifies_intro_strong #_ #c (loc_of_aloc x) h h' + (fun r -> regions r) + (fun t pre b -> mrefs t pre b) + (fun t pre b -> livenesses t pre b) + (fun r n -> unused_ins r n) + (fun r' n' z -> + if r' = r && n' = n + then begin + loc_disjoint_aloc_elim #_ #c z x; + alocs z + end else + c.same_mreference_aloc_preserved z h h' (fun t pre p -> + mrefs t pre p + ) + ) + +let modifies_live_region #al #c s h1 h2 r = () + +let modifies_mreference_elim #al #c #t #pre b p h h' = () + +let modifies_aloc_elim #al #c #r #a b p h h' = () + +let modifies_refl #al #c s h = + Classical.forall_intro_3 (fun r a b -> c.aloc_preserved_refl #r #a b h) + +let modifies_loc_includes #al #c s1 h h' s2 = + assert (modifies_preserves_mreferences s1 h h'); + Classical.forall_intro_2 (loc_aux_disjoint_sym #al #c); + Classical.forall_intro_3 (fun l1 l2 l3 -> Classical.move_requires (loc_aux_disjoint_loc_aux_includes #al #c l1 l2) l3); + assert (modifies_preserves_alocs s1 h h') + +let modifies_preserves_liveness #al #c s1 s2 h h' #t #pre r = () + +#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 + let la = loc_of_aloc #_ #c #rg #ad x in + if Set.mem rg (regions_of_loc s2) + then begin + assert (Loc?.non_live_addrs s2 rg `GSet.subset` Loc?.non_live_addrs (address_liveness_insensitive_locs c) rg); + assert (Loc?.non_live_addrs s2 rg `GSet.subset` GSet.empty); + assert (~ (GSet.mem ad (Loc?.non_live_addrs s2 rg))); + if Set.mem rg (regions_of_loc s1) + then begin + if GSet.mem ad (Loc?.non_live_addrs s1 rg) + then begin + assert (loc_disjoint_aux s1 la); + assert (GSet.subset (Loc?.non_live_addrs s1 rg) (Loc?.live_addrs s1 rg)); + assert (aloc_domain c (Loc?.regions s1) (Loc?.live_addrs s1) `GSet.subset` (Ghost.reveal (Loc?.aux s1))); + assert (GSet.mem (ALoc rg ad None) (Ghost.reveal (Loc?.aux s1))); + assert (GSet.mem (ALoc rg ad (Some x)) (Ghost.reveal (Loc?.aux la))); + assert (aloc_disjoint (ALoc rg ad None) (ALoc #_ #c rg ad (Some x))); + () + end else () + end else () + end else () +#pop-options + +let modifies_preserves_region_liveness #al #c l1 l2 h h' r = () + +let modifies_preserves_region_liveness_reference #al #c l1 l2 h h' #t #pre r = () + +let modifies_preserves_region_liveness_aloc #al #c l1 l2 h h' #r #n x = + if Set.mem r (Ghost.reveal (Loc?.region_liveness_tags l1)) + then begin + assert (GSet.subset (GSet.complement GSet.empty) (Loc?.non_live_addrs l1 r)); + assert (GSet.subset (Loc?.non_live_addrs l1 r) (Loc?.live_addrs l1 r)) + end else () + +let modifies_trans' + (#al: aloc_t) (#c: cls al) + (s: loc c) + (h1 h2: HS.mem) + (h3: HS.mem) +: Lemma + (requires (modifies s h1 h2 /\ modifies s h2 h3)) + (ensures (modifies s h1 h3)) += Classical.forall_intro_3 (fun r a b -> Classical.move_requires (c.aloc_preserved_trans #r #a b h1 h2) h3) + +let modifies_trans #al #c s12 h1 h2 s23 h3 = + let u = loc_union s12 s23 in + modifies_loc_includes u h1 h2 s12; + modifies_loc_includes u h2 h3 s23; + modifies_trans' u h1 h2 h3 + +let addr_unused_in_aloc_preserved + (#al: aloc_t) (#c: cls al) + (#r: HS.rid) + (#a: nat) + (b: al r a) + (h1: HS.mem) + (h2: HS.mem) + : Lemma + (requires (HS.live_region h1 r ==> a `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r))) + (ensures (c.aloc_preserved b h1 h2)) += c.same_mreference_aloc_preserved b h1 h2 (fun a' pre r' -> assert False) + +#push-options "--z3rlimit 10" +let modifies_only_live_regions_weak + (#al: aloc_t) (#c: cls al) + (rs: Set.set HS.rid) + (l: loc c) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_regions false rs) l) h h' /\ + loc_disjoint (loc_regions false rs) l /\ + (forall r . Set.mem r rs ==> (~ (HS.live_region h r))) + )) + (ensures (modifies l h h')) += assert (modifies_preserves_mreferences l h h'); // FIXME: WHY WHY WHY? + Classical.forall_intro_3 (fun r a b -> Classical.move_requires (addr_unused_in_aloc_preserved #al #c #r #a b h) h') +#pop-options + +(* Restrict a set of locations along a set of regions *) + +let restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) +: GTot (loc c) += let (Loc regions region_liveness_tags non_live_addrs live_addrs aux) = l in + let regions' = (Ghost.hide (Set.intersect (Ghost.reveal regions) rs)) in + Loc + regions' + (Ghost.hide (Set.intersect (Ghost.reveal region_liveness_tags) rs)) + (mk_non_live_addrs (fun (r: addrs_dom regions') -> (non_live_addrs r <: GSet.set nat))) + (mk_live_addrs (fun (r: addrs_dom regions') -> (live_addrs r <: GSet.set nat))) + (Ghost.hide (GSet.intersect (Ghost.reveal aux) (aloc_domain c (Ghost.hide rs) (fun r -> GSet.complement GSet.empty)))) + +let regions_of_loc_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) +: Lemma + (regions_of_loc (restrict_to_regions l rs) == Set.intersect (regions_of_loc l) rs) + [SMTPat (regions_of_loc (restrict_to_regions l rs))] += assert (Set.equal (regions_of_loc (restrict_to_regions l rs)) (Set.intersect (regions_of_loc l) rs)) + +let addrs_of_loc_weak_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) + (r: HS.rid) +: Lemma + (addrs_of_loc_weak (restrict_to_regions l rs) r == (if Set.mem r rs then addrs_of_loc_weak l r else GSet.empty)) + [SMTPat (addrs_of_loc_weak (restrict_to_regions l rs) r)] += assert (GSet.equal (addrs_of_loc_weak (restrict_to_regions l rs) r) (if Set.mem r rs then addrs_of_loc_weak l r else GSet.empty)) + +let addrs_of_loc_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) + (r: HS.rid) +: Lemma + (addrs_of_loc (restrict_to_regions l rs) r == (if Set.mem r rs then addrs_of_loc l r else GSet.empty)) + [SMTPat (addrs_of_loc (restrict_to_regions l rs) r)] += assert (GSet.equal (addrs_of_loc (restrict_to_regions l rs) r) (if Set.mem r rs then addrs_of_loc l r else GSet.empty)) + +let loc_includes_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) +: Lemma + (loc_includes l (restrict_to_regions l rs)) += Classical.forall_intro (loc_aux_includes_refl #al #c) + +let loc_includes_loc_union_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) +: Lemma + (loc_equal (loc_union (restrict_to_regions l rs) (restrict_to_regions l (Set.complement rs))) l) += () + +let loc_includes_loc_regions_restrict_to_regions + (#al: aloc_t) (#c: cls al) + (l: loc c) + (rs: Set.set HS.rid) +: Lemma + (loc_includes (loc_regions false rs) (restrict_to_regions l rs)) += Classical.forall_intro (loc_aux_includes_refl #al #c) + +let modifies_only_live_regions #al #c rs l h h' = + let s = l in + let c_rs = Set.complement rs in + let s_rs = restrict_to_regions s rs in + let s_c_rs = restrict_to_regions s c_rs in + let lrs = loc_regions false rs in + loc_includes_loc_regions_restrict_to_regions s rs; + loc_includes_union_l lrs s_c_rs s_rs; + loc_includes_refl s_c_rs; + loc_includes_union_l lrs s_c_rs s_c_rs; + loc_includes_union_r (loc_union lrs s_c_rs) s_rs s_c_rs; + loc_includes_loc_union_restrict_to_regions s rs; + loc_includes_trans (loc_union lrs s_c_rs) (loc_union s_rs s_c_rs) s; + modifies_loc_includes (loc_union lrs s_c_rs) h h' (loc_union lrs s); + loc_includes_loc_regions_restrict_to_regions s c_rs; + loc_disjoint_regions #al #c false false rs c_rs; + loc_includes_refl lrs; + loc_disjoint_includes lrs (loc_regions false c_rs) lrs s_c_rs; + modifies_only_live_regions_weak rs s_c_rs h h'; + loc_includes_restrict_to_regions s c_rs; + modifies_loc_includes s h h' s_c_rs + +let no_upd_fresh_region #al #c r l h0 h1 = + modifies_only_live_regions (HS.mod_set (Set.singleton r)) l h0 h1 + +let fresh_frame_modifies #al c h0 h1 = + modifies_intro_strong #_ #c loc_none h0 h1 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r a x -> + c.same_mreference_aloc_preserved #r #a x h0 h1 (fun _ _ _ -> ())) + +let new_region_modifies #al c m0 r0 col += let (_, m1) = HS.new_eternal_region m0 r0 col in + modifies_intro_strong #_ #c loc_none m0 m1 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r a x -> + c.same_mreference_aloc_preserved #r #a x m0 m1 (fun _ _ _ -> ())) + +#push-options "--z3rlimit 20" +let popped_modifies #al c h0 h1 = + let l = loc_region_only #_ #c false (HS.get_tip h0) in + modifies_preserves_mreferences_intro l h0 h1 (fun t pre p -> + 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))); + () + ); + modifies_preserves_alocs_intro l h0 h1 () (fun r a b -> + loc_aux_disjoint_sym (Ghost.reveal (Loc?.aux l)) (Ghost.reveal (Loc?.aux (loc_of_aloc b))); + () + ) +#pop-options + +let modifies_fresh_frame_popped #al #c h0 h1 s h2 h3 = + fresh_frame_modifies c h0 h1; + let r = loc_region_only #al #c false (HS.get_tip h2) in + let rs = HS.mod_set (Set.singleton (HS.get_tip h1)) in + let s' = loc_union (loc_regions false rs) s in + modifies_trans' s' h0 h1 h2; + assert (modifies_preserves_mreferences r h2 h3); + let f23 (r: HS.rid) (a: nat) (b: al r a) : Lemma + (requires (r <> HS.get_tip h2)) + (ensures (c.aloc_preserved b h2 h3)) + = c.same_mreference_aloc_preserved #r #a b h2 h3 (fun a' pre r' -> ()) + in + modifies_preserves_alocs_intro r h2 h3 () (fun r a b -> + f23 r a b + ); + modifies_trans' s' h0 h2 h3; + modifies_only_live_regions rs s h0 h3 + +let modifies_loc_regions_intro #al #c rs h1 h2 = + let f (r: HS.rid) (a: nat) (b: al r a) : Lemma + (requires (not (Set.mem r rs))) + (ensures (c.aloc_preserved b h1 h2)) + = c.same_mreference_aloc_preserved #r #a b h1 h2 (fun a' pre r' -> ()) + in + assert (modifies_preserves_mreferences (loc_regions #al #c true rs) h1 h2); + modifies_preserves_alocs_intro (loc_regions #_ #c true rs) h1 h2 () (fun r a b -> + f r a b + ) + +#push-options "--z3rlimit 20" +let modifies_loc_addresses_intro_weak + (#al: aloc_t) (#c: cls al) + (r: HS.rid) + (s: Set.set nat) + (l: loc c) + (h1 h2: HS.mem) +: Lemma + (requires ( + HS.live_region h2 r /\ + modifies (loc_union (loc_region_only false r) l) h1 h2 /\ + HS.modifies_ref r s h1 h2 /\ + loc_disjoint l (loc_region_only false r) + )) + (ensures (modifies (loc_union (loc_addresses true r s) l) h1 h2)) += modifies_preserves_mreferences_intro (loc_union (loc_addresses true r s) l) h1 h2 (fun r' a' b' -> + () + ); + modifies_preserves_livenesses_intro (loc_union (loc_addresses true r s) l) h1 h2 (fun r' a' b' -> + () + ); + modifies_preserves_not_unused_in_intro (loc_union (loc_addresses true r s) l) h1 h2 (fun r' n' -> + () + ); + let f (a: nat) (b: al r a) : Lemma + (requires (not (Set.mem a s))) + (ensures (c.aloc_preserved b h1 h2)) + = c.same_mreference_aloc_preserved #r #a b h1 h2 (fun a' pre r_ -> ()) + in + 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 () + ) + +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); + assert (modifies (loc_union (loc_region_only false r) (loc_union (restrict_to_regions l (Set.singleton r)) (restrict_to_regions l (Set.complement (Set.singleton r))))) h1 h2); + let l' = restrict_to_regions l (Set.complement (Set.singleton r)) in + loc_includes_refl (loc_region_only #_ #c false r) ; + loc_includes_loc_regions_restrict_to_regions l (Set.complement (Set.singleton r)); + loc_disjoint_regions #_ #c false false (Set.complement (Set.singleton r)) (Set.singleton r); + loc_disjoint_includes (loc_regions #_ #c false (Set.complement (Set.singleton r))) (loc_region_only false r) l' (loc_region_only false r); + modifies_loc_addresses_intro_weak r s l' h1 h2; + loc_includes_restrict_to_regions l (Set.complement (Set.singleton r)) +#pop-options + +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') + = c.same_mreference_aloc_preserved #r #a b h h' (fun a' pre r' -> ()) + in + Classical.forall_intro_3 g + +let modifies_salloc_post #al #c #a #rel init h x h' = + let g (r: HS.rid) (a: nat) (b: al r a) : Lemma + (c.aloc_preserved b h h') + = c.same_mreference_aloc_preserved #r #a b h h' (fun a' pre r' -> ()) + in + Classical.forall_intro_3 g + +let modifies_free #al #c #a #rel r m = + let g (r': HS.rid) (a: nat) (b: al r' a) : Lemma + (requires (r' <> HS.frameOf r \/ a <> HS.as_addr r)) + (ensures (c.aloc_preserved b m (HS.free r m))) + = c.same_mreference_aloc_preserved #r' #a b m (HS.free r m) (fun a' pre r' -> ()) + in + modifies_preserves_alocs_intro (loc_freed_mreference #_ #c r) m (HS.free r m) () (fun r a b -> g r a b) + +let modifies_none_modifies #al #c h1 h2 += let g (r: HS.rid) (a: nat) (b: al r a) : Lemma + (c.aloc_preserved b h1 h2) + = c.same_mreference_aloc_preserved #r #a b h1 h2 (fun a' pre r' -> ()) + in + Classical.forall_intro_3 g + +let modifies_upd #al #c #t #pre r v h = + let h' = HS.upd h r v in + modifies_intro #_ #c (loc_mreference r) h h' + (fun r -> ()) + (fun t pre b -> ()) + (fun t pre b -> ()) + (fun r n -> ()) + (fun r a b -> c.same_mreference_aloc_preserved #r #a b h h' (fun a' pre' r' -> ())) + +#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 + (requires (a0 `GSet.mem` addrs_of_loc_weak l r0)) + (ensures (l `loc_includes` loc_addresses true r0 (Set.singleton a0))) += () + +val modifies_strengthen' + (#al: aloc_t) (#c: cls al) (l: loc c) (#r0: HS.rid) (#a0: nat) (al0: al r0 a0) (h h' : HS.mem) + (alocs: ( + (f: ((t: Type) -> (pre: Preorder.preorder t) -> (m: HS.mreference t pre) -> Lemma + (requires (HS.frameOf m == r0 /\ HS.as_addr m == a0 /\ HS.contains h m)) + (ensures (HS.contains h' m)) + )) -> + (x: al r0 a0) -> + Lemma + (requires (c.aloc_disjoint x al0 /\ loc_disjoint (loc_of_aloc x) l)) + (ensures (c.aloc_preserved x h h')) + )) +: Lemma + (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 25 --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'); + assert (modifies_preserves_mreferences (loc_union l (loc_of_aloc al0)) h h'); + assert (modifies_preserves_not_unused_in (loc_union l (loc_of_aloc al0)) h h'); + assert (modifies_preserves_livenesses (loc_union l (loc_of_aloc al0)) h h'); + modifies_preserves_alocs_intro (loc_union l (loc_of_aloc al0)) h h' () (fun r a b -> + if r = r0 && a = a0 + then begin + assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux (loc_union l (loc_of_aloc al0)))) (GSet.singleton (ALoc r0 a0 (Some b)))); + assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux l)) (GSet.singleton (ALoc r0 a0 (Some b)))); + assert (loc_disjoint l (loc_of_aloc b)); + loc_disjoint_sym l (loc_of_aloc b); + assert (loc_aux_disjoint #_ #c (Ghost.reveal (Loc?.aux (loc_of_aloc al0))) (GSet.singleton (ALoc r0 a0 (Some b)))); + assert (loc_aux_disjoint #_ #c (GSet.singleton (ALoc r0 a0 (Some al0))) (GSet.singleton (ALoc r0 a0 (Some b)))); + assert (GSet.mem (ALoc r0 a0 (Some al0)) (GSet.singleton (ALoc #_ #c r0 a0 (Some al0)))); + assert (GSet.mem (ALoc r0 a0 (Some b)) (GSet.singleton (ALoc #_ #c r0 a0 (Some b)))); + assert (aloc_disjoint #_ #c (ALoc r0 a0 (Some al0)) (ALoc r0 a0 (Some b))); + assert (c.aloc_disjoint al0 b); + c.aloc_disjoint_sym al0 b; + alocs (fun t pre m -> ()) b + end + else begin + assert (loc_disjoint (loc_union l (loc_addresses true r0 (Set.singleton a0))) (loc_of_aloc b)) + by (let open FStar.Stubs.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 = + if a0 `GSet.mem` addrs_of_loc_weak l r0 + then begin + addrs_of_loc_weak_loc_includes l r0 a0; + loc_includes_refl l; + loc_includes_union_r l l (loc_addresses true r0 (Set.singleton a0)); + loc_includes_union_l l (loc_of_aloc al0) l; + loc_includes_trans (loc_union l (loc_of_aloc al0)) l (loc_union l (loc_addresses true r0 (Set.singleton a0))); + modifies_loc_includes (loc_union l (loc_of_aloc al0)) h h' (loc_union l (loc_addresses true r0 (Set.singleton a0))) + end + else + modifies_strengthen' l al0 h h' alocs + + +let does_not_contain_addr (h: HS.mem) (ra: HS.rid & nat) : GTot Type0 = + HS.live_region h (fst ra) ==> snd ra `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` (fst ra)) + +let not_live_region_does_not_contain_addr h ra = () + +let unused_in_does_not_contain_addr h #a #rel r = () + +let addr_unused_in_does_not_contain_addr h ra = () + +let does_not_contain_addr_addr_unused_in h ra = () + +let free_does_not_contain_addr #a #rel r m x = () + +let does_not_contain_addr_elim #a #rel r m x = () + +let disjoint_addrs_of_loc_loc_disjoint + (#al: aloc_t) + (#c: cls al) + (l1 l2: loc c) +: Lemma + (requires ( + Set.subset (Set.intersect (Ghost.reveal (Loc?.region_liveness_tags l1)) (Ghost.reveal (Loc?.region_liveness_tags l2))) Set.empty /\ + (forall r . GSet.subset (GSet.intersect (addrs_of_loc l1 r) (addrs_of_loc l2 r)) GSet.empty) + )) + (ensures (loc_disjoint l1 l2)) += // FIXME: WHY WHY WHY do I need this assert? + let l1' = Ghost.reveal (Loc?.aux l1) in + 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)))) + in + Loc + (Ghost.hide (Set.complement Set.empty)) + (Ghost.hide Set.empty) + (mk_non_live_addrs f) + (mk_live_addrs (fun x -> f x)) + (Ghost.hide (aloc_domain c (Ghost.hide (Set.complement Set.empty)) f)) + +let loc_unused_in #al c h = + let f (r: HS.rid) : GTot (GSet.set nat) = + if not (HS.live_region h r) + then + GSet.complement GSet.empty + else + GSet.comprehend (fun a -> StrongExcludedMiddle.strong_excluded_middle (h `does_not_contain_addr` (r, a))) + in + Loc + (Ghost.hide (Set.complement Set.empty)) + (Ghost.hide (Set.complement (FStar.Map.domain (HS.get_hmap h)))) + (mk_non_live_addrs (fun x -> f x)) + (mk_live_addrs (fun x -> f x)) + (Ghost.hide (aloc_domain c (Ghost.hide (Set.complement Set.empty)) f)) + +let loc_regions_unused_in #al c h rs = () + +#push-options "--z3rlimit 20" +let loc_addresses_unused_in #al c r a h = () +#pop-options + +let loc_addresses_not_unused_in #al c r a h = () + +#push-options "--z3rlimit 50" +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_spinoff (loc_disjoint #al #c (loc_unused_in #al c h) + (loc_not_unused_in #al c h)) +#pop-options + +#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) + +#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 + let ln = loc_not_unused_in c h in + assert (forall (r: HS.rid) . Loc?.non_live_addrs ln r `GSet.subset` Loc?.non_live_addrs ln' r); + assert (ln' `loc_includes` ln); + let lu = loc_unused_in c h in + let lu' = loc_unused_in c h' in + 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 + +#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'); + assert (modifies_preserves_mreferences l h h'); + assert (modifies_preserves_livenesses l h h'); + modifies_preserves_alocs_intro l h h' () (fun r a b -> + if StrongExcludedMiddle.strong_excluded_middle (h `does_not_contain_addr` (r, a)) + then c.same_mreference_aloc_preserved b h h' (fun a' pre' r' -> ()) + else () + ) +#pop-options + +#push-options "--z3rlimit 20" +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); + assert (~ (h `does_not_contain_addr` (HS.frameOf b, HS.as_addr b))); + loc_addresses_not_unused_in c (HS.frameOf b) (Set.singleton (HS.as_addr b)) h; + loc_includes_trans (loc_not_unused_in c h) (loc_freed_mreference b) (loc_mreference b); + () +#pop-options + +#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 *) + +noeq +type cls_union_aloc + (al: (bool -> HS.rid -> nat -> Tot (Type u#x))) + (r: HS.rid) (n: nat) : Type u#x += | ALOC_FALSE of (al false) r n + | ALOC_TRUE of (al true) r n + +let bool_of_cls_union_aloc + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (#r: HS.rid) (#n: nat) + (l: cls_union_aloc al r n) +: Tot bool = + match l with + | ALOC_FALSE _ -> false + | ALOC_TRUE _ -> true + +let aloc_of_cls_union_aloc + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (#r: HS.rid) (#n: nat) + (l: cls_union_aloc al r n) +: Tot ((al (bool_of_cls_union_aloc l)) r n) += match l with + | ALOC_FALSE x -> x + | ALOC_TRUE x -> x + +let make_cls_union_aloc + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (b: bool) + (#r: HS.rid) + (#n: nat) + (l: (al b) r n) +: Tot (cls_union_aloc al r n) += if b + then ALOC_TRUE l + else ALOC_FALSE l + +let cls_union_aloc_includes + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (#r: HS.rid) + (#a: nat) + (larger smaller: cls_union_aloc al r a) +: GTot Type0 = + bool_of_cls_union_aloc larger == bool_of_cls_union_aloc smaller /\ + (c (bool_of_cls_union_aloc larger)).aloc_includes + (aloc_of_cls_union_aloc larger) + (aloc_of_cls_union_aloc smaller) + +let cls_union_aloc_disjoint + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (#r: HS.rid) + (#a: nat) + (larger smaller: cls_union_aloc al r a) +: GTot Type0 = + bool_of_cls_union_aloc larger == bool_of_cls_union_aloc smaller /\ + (c (bool_of_cls_union_aloc larger)).aloc_disjoint + (aloc_of_cls_union_aloc larger) + (aloc_of_cls_union_aloc smaller) + +let cls_union_aloc_preserved + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (#r: HS.rid) + (#a: nat) + (x: cls_union_aloc al r a) + (h h' : HS.mem) +: GTot Type0 += (c (bool_of_cls_union_aloc x)).aloc_preserved + (aloc_of_cls_union_aloc x) + h + h' + +let aloc_union = cls_union_aloc + +let cls_union #al c = Cls + #(cls_union_aloc al) + (cls_union_aloc_includes c) + (* aloc_includes_refl *) + (fun #r #a x -> + (c (bool_of_cls_union_aloc x)).aloc_includes_refl (aloc_of_cls_union_aloc x)) + (* aloc_includes_trans *) + (fun #r #a x1 x2 x3 -> + (c (bool_of_cls_union_aloc x1)).aloc_includes_trans + (aloc_of_cls_union_aloc x1) + (aloc_of_cls_union_aloc x2) + (aloc_of_cls_union_aloc x3) + ) + (cls_union_aloc_disjoint c) + (* aloc_disjoint_sym *) + (fun #r #a x1 x2 -> + if bool_of_cls_union_aloc x1 = bool_of_cls_union_aloc x2 + then + (c (bool_of_cls_union_aloc x1)).aloc_disjoint_sym + (aloc_of_cls_union_aloc x1) + (aloc_of_cls_union_aloc x2) + else () + ) + (* aloc_disjoint_includes *) + (fun #r #a larger1 larger2 smaller1 smaller2 -> + (c (bool_of_cls_union_aloc larger1)).aloc_disjoint_includes + (aloc_of_cls_union_aloc larger1) + (aloc_of_cls_union_aloc larger2) + (aloc_of_cls_union_aloc smaller1) + (aloc_of_cls_union_aloc smaller2) + ) + (cls_union_aloc_preserved c) + (* aloc_preserved_refl *) + (fun #r #a x h -> + (c (bool_of_cls_union_aloc x)).aloc_preserved_refl + (aloc_of_cls_union_aloc x) + h + ) + (* aloc_preserved_trans *) + (fun #r #a x h1 h2 h3 -> + (c (bool_of_cls_union_aloc x)).aloc_preserved_trans + (aloc_of_cls_union_aloc x) + h1 + h2 + h3 + ) + (* same_mreference_aloc_preserved *) + (fun #r #a b h1 h2 f -> + (c (bool_of_cls_union_aloc b)).same_mreference_aloc_preserved + (aloc_of_cls_union_aloc b) + h1 + h2 + f + ) + +let union_aux_of_aux_left_pred + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (s: GSet.set (aloc (c b))) + (x: aloc (cls_union c)) +: GTot bool += let ALoc region addr loc = x in + match loc with + | None -> GSet.mem (ALoc region addr None) s + | Some loc -> + b = bool_of_cls_union_aloc #al #region #addr loc && + GSet.mem (ALoc region addr (Some (aloc_of_cls_union_aloc #al #region #addr loc))) s + +let union_aux_of_aux_left + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (s: GSet.set (aloc (c b))) +: Tot (GSet.set (aloc (cls_union c))) += GSet.comprehend (union_aux_of_aux_left_pred c b s) + +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)) = + union_aux_of_aux_left c b (Ghost.reveal aux) + `GSet.union` + (aloc_domain (cls_union c) regions live_addrs) + in + Loc + #(cls_union_aloc al) + #(cls_union c) + regions + region_liveness_tags + non_live_addrs + live_addrs + (Ghost.hide aux') + +let union_aux_of_aux_left_inv_pred + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (#c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (s: GSet.set (aloc (cls_union c))) + (x: aloc (c b)) +: GTot bool += let ALoc region addr loc = x in + match loc with + | None -> GSet.mem (ALoc region addr None) s + | Some loc -> + GSet.mem (ALoc region addr (Some (make_cls_union_aloc b loc))) s + +let union_aux_of_aux_left_inv + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (#c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (s: GSet.set (aloc (cls_union c))) +: Tot (GSet.set (aloc (c b))) += GSet.comprehend (union_aux_of_aux_left_inv_pred b s) + +let mem_union_aux_of_aux_left_intro + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (x: aloc (c b)) + (aux: GSet.set (aloc (c b))) +: Lemma + (GSet.mem x aux <==> GSet.mem (ALoc x.region x.addr (if None? x.loc then None else Some (make_cls_union_aloc b (Some?.v x.loc)))) (union_aux_of_aux_left c b aux)) + [SMTPat (GSet.mem x aux)] += () + +let mem_union_aux_of_aux_left_elim + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (x: aloc (cls_union c)) + (aux: GSet.set (aloc (c b))) +: Lemma + (GSet.mem x (union_aux_of_aux_left c b aux) <==> (if None? x.loc then GSet.mem (ALoc x.region x.addr None) aux else (bool_of_cls_union_aloc (Some?.v x.loc) == b /\ GSet.mem (ALoc x.region x.addr (Some (aloc_of_cls_union_aloc (Some?.v x.loc)))) aux))) + [SMTPat (GSet.mem x (union_aux_of_aux_left #al c b aux))] += () + +let addrs_of_loc_union_loc_of_loc + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (l: loc (c b)) + (r: HS.rid) +: Lemma + (addrs_of_loc (union_loc_of_loc c b l) r `GSet.equal` addrs_of_loc l r) + [SMTPat (addrs_of_loc (union_loc_of_loc #al c b l) r)] += () + +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))) + +#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))) +#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)) + +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)) + +#push-options "--z3rlimit 25" +let union_loc_of_loc_includes_intro + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (larger smaller: loc (c b)) +: Lemma + (requires (larger `loc_includes` smaller)) + (ensures (union_loc_of_loc c b larger `loc_includes` union_loc_of_loc c b smaller)) += (); + let auxl = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux larger)) in + let auxs = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux smaller)) in + assert (forall r a . GSet.mem (ALoc r a None) auxs ==> ( + GSet.mem (ALoc r a None) (Ghost.reveal (Loc?.aux smaller)) /\ + GSet.mem (ALoc r a None) (Ghost.reveal (Loc?.aux larger)) /\ + GSet.mem (ALoc r a None) auxl + )); + assert (auxl `loc_aux_includes` auxs); + 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 + +#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)))) + (b: bool) + (larger smaller: loc (c b)) +: Lemma + (requires (union_loc_of_loc c b larger `loc_includes` union_loc_of_loc c b smaller)) + (ensures (larger `loc_includes` smaller)) += let auxl = Ghost.reveal (Loc?.aux larger) in + let auxl' = union_aux_of_aux_left c b auxl in + let auxs = Ghost.reveal (Loc?.aux smaller) in + let auxs' = union_aux_of_aux_left c b auxs in + 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 + let doml = aloc_domain (c b) (Loc?.regions larger) (Loc?.live_addrs larger) in + let doms = aloc_domain (c b) (Loc?.regions smaller) (Loc?.live_addrs smaller) in + let g + (r: HS.rid) + (a: nat) + (x: aloc (c b)) + (y: aloc (c b)) + : GTot Type0 + = GSet.mem y (GSet.union auxl doml) /\ y `aloc_includes` x + in + let g' (r: HS.rid) (a: nat) (x: aloc (c b)) : GTot Type0 = + exists (y: aloc (c b)) . g r a x y + in + let f + (r: HS.rid) + (a: nat) + (x: aloc (c b)) + : Lemma + (requires (GSet.mem x auxs /\ (~ (GSet.mem x.addr (addrs_of_loc_weak smaller x.region))))) + (ensures (g' r a x)) + = let x' : aloc (cls_union c) = ALoc x.region x.addr (if None? x.loc then None else Some (make_cls_union_aloc b (Some?.v x.loc))) in + Classical.exists_elim + (g' r a x) + #(aloc (cls_union c)) + #(fun y' -> GSet.mem y' (GSet.union auxl' doml') /\ y' `aloc_includes` x') + () + (fun (y': aloc (cls_union c) { GSet.mem y' (GSet.union auxl' doml') /\ y' `aloc_includes` x' } ) -> + let y : aloc (c b) = ALoc y'.region y'.addr (if None? y'.loc then None else Some (aloc_of_cls_union_aloc (Some?.v y'.loc))) in + assert (g r a x y) + ) + in + let f' + (r: HS.rid) + (a: nat) + (x: aloc (c b)) + : Lemma + ((GSet.mem x auxs /\ (~ (GSet.mem x.addr (addrs_of_loc_weak smaller x.region)))) ==> g' r a x) + = Classical.move_requires (f r a) x + in + Classical.forall_intro_3 f'; + 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.Stubs.Tactics.V2.Builtins in + set_options "--z3cliopt 'smt.qi.eager_threshold=1'"; + () + ); + assert (larger `loc_includes'` smaller) by ( + let open FStar.Stubs.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 + +#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)))) + (b: bool) + (larger smaller: loc (c b)) +: Lemma + (requires (larger `loc_disjoint` smaller)) + (ensures (union_loc_of_loc c b larger `loc_disjoint` union_loc_of_loc c b smaller)) += let auxl = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux larger)) in + let auxs = union_aux_of_aux_left c b (Ghost.reveal (Loc?.aux smaller)) in + let g + (xl xs: aloc (cls_union c)) + : Lemma + (requires (GSet.mem xl auxl /\ GSet.mem xs auxs)) + (ensures (GSet.mem xl auxl /\ GSet.mem xs auxs /\ aloc_disjoint xl xs)) + = + let xl' : aloc (c b) = ALoc xl.region xl.addr (if None? xl.loc then None else Some (aloc_of_cls_union_aloc (Some?.v xl.loc))) in + let xs' : aloc (c b) = ALoc xs.region xs.addr (if None? xs.loc then None else Some (aloc_of_cls_union_aloc (Some?.v xs.loc))) in + assert (GSet.mem xl' (Ghost.reveal (Loc?.aux larger))); + assert (GSet.mem xs' (Ghost.reveal (Loc?.aux smaller))); + assert (aloc_disjoint xl' xs'); + assert (aloc_disjoint xl xs) + in + Classical.forall_intro_2 (fun xl -> Classical.move_requires (g xl)); + assert (forall xl xs . (GSet.mem xl auxl /\ GSet.mem xs auxs) ==> aloc_disjoint xl xs); + assert (auxl `loc_aux_disjoint` auxs); + let larger' = union_loc_of_loc c b larger in + let smaller' = union_loc_of_loc c b smaller in + 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 (forall (xl xs: aloc (cls_union c)) . + (GSet.mem xl doml /\ GSet.mem xs auxs) ==> ( + 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.Stubs.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'); + () +#pop-options + +#push-options "--z3rlimit 32" +let union_loc_of_loc_disjoint_elim + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (larger smaller: loc (c b)) +: Lemma + (requires (union_loc_of_loc c b larger `loc_disjoint` union_loc_of_loc c b smaller)) + (ensures (larger `loc_disjoint` smaller)) += let auxl = Ghost.reveal (Loc?.aux larger) in + let auxl' = union_aux_of_aux_left c b auxl in + let auxs = Ghost.reveal (Loc?.aux smaller) in + let auxs' = union_aux_of_aux_left c b auxs in + assert (forall (x y: aloc (c b)) . (GSet.mem x auxl /\ GSet.mem y auxs) ==> ( + let x' = ALoc x.region x.addr (if None? x.loc then None else Some (make_cls_union_aloc b (Some?.v x.loc))) in + let y' = ALoc y.region y.addr (if None? y.loc then None else Some (make_cls_union_aloc b (Some?.v y.loc))) in + GSet.mem x' auxl' /\ GSet.mem y' auxs' /\ (aloc_disjoint x' y' ==> aloc_disjoint x y))); + assert (auxl `loc_aux_disjoint` auxs) +#pop-options + +let union_loc_of_loc_disjoint #al c b s1 s2 = + Classical.move_requires (union_loc_of_loc_disjoint_elim c b s1) s2; + Classical.move_requires (union_loc_of_loc_disjoint_intro c b s1) s2 + +#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)))) + (b: bool) + (l: loc (c b)) + (h1 h2: HS.mem) +: Lemma + (requires (modifies #_ #(cls_union c) (union_loc_of_loc c b l) h1 h2)) + (ensures (modifies #_ #(c b) l h1 h2)) += assert (modifies_preserves_regions l h1 h2); + assert (modifies_preserves_mreferences l h1 h2); + modifies_preserves_alocs_intro #_ #(c b) l h1 h2 () (fun r' a' b' -> + let g + (x: aloc (cls_union c)) + : Lemma + (requires ( + GSet.mem a' (addrs_of_loc_aux #_ #(cls_union c) (union_loc_of_loc c b l) r') /\ + GSet.mem x (Ghost.reveal (Loc?.aux #_ #(cls_union c) (union_loc_of_loc c b l))) + )) + (ensures ( + aloc_disjoint #_ #(cls_union c) x (ALoc #_ #(cls_union c) r' a' (Some (make_cls_union_aloc b b'))))) + = if r' = x.region && a' = x.addr + then begin + let x' : aloc (c b) = ALoc #_ #(c b) r' a' (if None? x.loc then None else Some (aloc_of_cls_union_aloc (Some?.v x.loc))) in + assert (aloc_disjoint #(al b) #(c b) x' (ALoc r' a' (Some b'))) + end else + () + in + 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)))) + (b: bool) + (l: loc (c b)) + (h1 h2: HS.mem) +: Lemma + (requires (modifies #_ #(c b) l h1 h2)) + (ensures (modifies #_ #(cls_union c) (union_loc_of_loc c b l) h1 h2)) += let l' = union_loc_of_loc c b l in + assert (modifies_preserves_regions l' h1 h2); + assert (modifies_preserves_mreferences l' h1 h2); + assert (modifies_preserves_livenesses l' h1 h2); + assert (modifies_preserves_not_unused_in l' h1 h2); + modifies_preserves_alocs_intro #_ #(cls_union c) l' h1 h2 () (fun r' a' b' -> + let b_ = bool_of_cls_union_aloc b' in + let a_ = aloc_of_cls_union_aloc b' in + let ll' : aloc (cls_union c) = ALoc r' a' (Some b') in + let ll : aloc (c b_) = ALoc r' a' (Some a_) in + assert (exists (x: aloc (c b)) . GSet.mem x (Ghost.reveal (Loc?.aux l)) /\ + ( + let xr = x.region in + let xa = x.addr in + let xl : option (al b xr xa) = x.loc in + xr == r' /\ + xa == a' /\ ( + let xl' : option (aloc_union al r' a') = if None? xl then None else Some (make_cls_union_aloc #al b (Some?.v xl)) in + let x' : aloc (cls_union c) = ALoc r' a' xl' in + GSet.mem x' (Ghost.reveal (Loc?.aux l')) /\ + aloc_disjoint #_ #(cls_union c) x' ll' + ))); + assert (b_ == b); + let f (x: aloc (c b)) : Lemma + (requires (GSet.mem x (Ghost.reveal (Loc?.aux l)))) + (ensures (aloc_disjoint #_ #(c b) x ll)) + = let xr = x.region in + let xa = x.addr in + let xl : option (al b xr xa) = x.loc in + let xl' : option (aloc_union al xr xa) = if None? xl then None else Some (make_cls_union_aloc #al b (Some?.v xl)) in + let x' : aloc (cls_union c) = ALoc xr xa xl' in + assert (GSet.mem x' (Ghost.reveal (Loc?.aux l'))); + assert (aloc_disjoint #_ #(cls_union c) x' ll'); + assert (aloc_disjoint #_ #(c b) x ll) + in + Classical.forall_intro (Classical.move_requires f); + assert (loc_aux_disjoint (Ghost.reveal (Loc?.aux l)) (GSet.singleton ll)) + ) +#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; + Classical.move_requires (modifies_union_loc_of_loc_intro c b l h1) h2 + +let loc_of_union_loc #al #c b l += let (Loc regions region_liveness_tags non_live_addrs live_addrs aux) = l in + let aux' = union_aux_of_aux_left_inv b (Ghost.reveal aux) in + Loc + regions + region_liveness_tags + non_live_addrs + live_addrs + (Ghost.hide aux') + +let loc_of_union_loc_union_loc_of_loc #al c b s += assert (loc_of_union_loc b (union_loc_of_loc c b s) `loc_equal` s) + +let loc_of_union_loc_none #al c b += assert (loc_of_union_loc #_ #c b loc_none `loc_equal` loc_none) + +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)) + +let loc_of_union_loc_addresses #al c b preserve_liveness r n = + assert (loc_of_union_loc #_ #c b (loc_addresses preserve_liveness r n) `loc_equal` loc_addresses preserve_liveness r n) + +let loc_of_union_loc_regions #al c b preserve_liveness r = + assert (loc_of_union_loc #_ #c b (loc_regions preserve_liveness r) `loc_equal` loc_regions preserve_liveness r) + +module U = FStar.Universe + +let raise_aloc al r n = U.raise_t (al r n) + +let raise_cls #al c = Cls #(raise_aloc u#x u#y al) + (fun #r #a x1 x2 -> c.aloc_includes (U.downgrade_val x1) (U.downgrade_val x2)) + (fun #r #a x -> c.aloc_includes_refl (U.downgrade_val x)) + (fun #r #a x1 x2 x3 -> c.aloc_includes_trans (U.downgrade_val x1) (U.downgrade_val x2) (U.downgrade_val x3)) + (fun #r #a x1 x2 -> c.aloc_disjoint (U.downgrade_val x1) (U.downgrade_val x2)) + (fun #r #a x1 x2 -> c.aloc_disjoint_sym (U.downgrade_val x1) (U.downgrade_val x2)) + (fun #r #a larger1 larger2 smaller1 smaller2 -> c.aloc_disjoint_includes (U.downgrade_val larger1) (U.downgrade_val larger2) (U.downgrade_val smaller1) (U.downgrade_val smaller2)) + (fun #r #a x h1 h2 -> c.aloc_preserved (U.downgrade_val x) h1 h2) + (fun #r #a x h -> c.aloc_preserved_refl (U.downgrade_val x) h) + (fun #r #a x h1 h2 h3 -> c.aloc_preserved_trans (U.downgrade_val x) h1 h2 h3) + (fun #r #a b h1 h2 f -> c.same_mreference_aloc_preserved (U.downgrade_val b) h1 h2 f) + +let downgrade_aloc (#al: aloc_t u#a) (#c: cls al) (a: aloc (raise_cls u#a u#b c)) : Tot (aloc c) = + let ALoc region addr x = a in + ALoc region addr (if None? x then None else Some (U.downgrade_val (Some?.v x))) + +let upgrade_aloc (#al: aloc_t u#a) (#c: cls al) (a: aloc c) : Tot (aloc (raise_cls u#a u#b c)) = + let ALoc region addr x = a in + ALoc region addr (if None? x then None else Some (U.raise_val (Some?.v x))) + +let downgrade_aloc_upgrade_aloc (#al: aloc_t u#a) (#c: cls al) (a: aloc c) : Lemma + (downgrade_aloc (upgrade_aloc u#a u#b a) == a) + [SMTPat (downgrade_aloc (upgrade_aloc u#a u#b a))] += () + +let upgrade_aloc_downgrade_aloc (#al: aloc_t u#a) (#c: cls al) (a: aloc (raise_cls u#a u#b c)) : Lemma + (upgrade_aloc (downgrade_aloc a) == a) + [SMTPat (upgrade_aloc u#a u#b (downgrade_aloc a))] += () + +let raise_loc_aux_pred + (#al: aloc_t u#a) + (c: cls al) + (aux: Ghost.erased (GSet.set (aloc c))) + (a: aloc (raise_cls u#a u#b c)) +: GTot bool += GSet.mem (downgrade_aloc a) (Ghost.reveal aux) + +let raise_loc #al #c l = + let (Loc regions region_liveness_tags non_live_addrs live_addrs aux) = l in + Loc + regions + region_liveness_tags + non_live_addrs + live_addrs + (Ghost.hide (GSet.comprehend (raise_loc_aux_pred c aux))) + +let raise_loc_none #al #c = + assert (raise_loc u#x u#y (loc_none #_ #c) `loc_equal` loc_none) + +let raise_loc_union #al #c l1 l2 = + assert (raise_loc u#x u#y (loc_union l1 l2) `loc_equal` loc_union (raise_loc l1) (raise_loc l2)) + +let raise_loc_addresses #al #c preserve_liveness r a = + assert (raise_loc u#x u#y (loc_addresses #_ #c preserve_liveness r a) `loc_equal` loc_addresses 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) + +#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 + assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); + assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux 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))) +#pop-options + +#push-options "--z3rlimit 20" +let raise_loc_disjoint #al #c l1 l2 = + let l1' = raise_loc l1 in + let l2' = raise_loc l2 in + assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); + assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux 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 (forall r . addrs_of_loc l1' r `GSet.equal` addrs_of_loc l1 r); + assert (forall r . addrs_of_loc l2' r `GSet.equal` addrs_of_loc l2 r); + assert (forall (x1 x2: aloc (raise_cls u#x u#y c)) . aloc_disjoint x1 x2 <==> aloc_disjoint (downgrade_aloc x1) (downgrade_aloc x2)); + assert (forall (x1 x2: aloc (c)) . aloc_disjoint x1 x2 <==> aloc_disjoint (upgrade_aloc u#x u#y x1) (upgrade_aloc x2)) +#pop-options + +let modifies_raise_loc #al #c l h1 h2 = + let l' = raise_loc l in + assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l))); + assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l)) <==> GSet.mem (upgrade_aloc x) (Ghost.reveal (Loc?.aux l'))); + assert (forall r . addrs_of_loc l' r `GSet.equal` addrs_of_loc l r); + assert (forall (x1 x2: aloc (raise_cls u#x u#y c)) . aloc_disjoint x1 x2 <==> aloc_disjoint (downgrade_aloc x1) (downgrade_aloc x2)); + assert (forall (r: HS.rid) (a: nat) (b: raise_aloc al r a) . + loc_aux_disjoint (Ghost.reveal (Loc?.aux l')) (GSet.singleton (ALoc r a (Some b))) ==> + loc_aux_disjoint (Ghost.reveal (Loc?.aux l)) (GSet.singleton (ALoc r a (Some (U.downgrade_val b))))); + assert (modifies_preserves_alocs l h1 h2 ==> modifies_preserves_alocs l' h1 h2); + assert (forall (r: HS.rid) (a: nat) (b: al r a) . + loc_aux_disjoint (Ghost.reveal (Loc?.aux l)) (GSet.singleton (ALoc r a (Some b))) ==> + loc_aux_disjoint (Ghost.reveal (Loc?.aux l')) (GSet.singleton (ALoc r a (Some (U.raise_val b))))); + assert (modifies_preserves_alocs l' h1 h2 ==> modifies_preserves_alocs l h1 h2) + +let lower_loc_aux_pred + (#al: aloc_t u#a) + (c: cls al) + (aux: Ghost.erased (GSet.set (aloc (raise_cls u#a u#b c)))) + (a: aloc c) +: GTot bool += GSet.mem (upgrade_aloc a) (Ghost.reveal aux) + +let lower_loc #al #c l = + let (Loc regions region_liveness_tags non_live_addrs live_addrs aux) = l in + Loc + regions + region_liveness_tags + non_live_addrs + live_addrs + (Ghost.hide (GSet.comprehend (lower_loc_aux_pred c aux))) + +let lower_loc_raise_loc #al #c l = + assert (lower_loc (raise_loc u#x u#y l) `loc_equal` l) + +let raise_loc_lower_loc #al #c l = + assert (raise_loc (lower_loc l) `loc_equal` l) + +let lower_loc_none #al #c = + assert (lower_loc u#x u#y #_ #c loc_none `loc_equal` loc_none) + +let lower_loc_union #al #c l1 l2 = + assert (lower_loc u#x u#y (loc_union l1 l2) `loc_equal` loc_union (lower_loc l1) (lower_loc l2)) + +let lower_loc_addresses #al #c preserve_liveness r a = + assert (lower_loc u#x u#y #_ #c (loc_addresses preserve_liveness r a) `loc_equal` loc_addresses preserve_liveness r a) + +let lower_loc_regions #al #c preserve_liveness r = + assert (lower_loc u#x u#y #_ #c (loc_regions preserve_liveness r) `loc_equal` loc_regions preserve_liveness r) diff --git a/stage0/ulib/FStar.ModifiesGen.fsti b/stage0/ulib/FStar.ModifiesGen.fsti new file mode 100644 index 00000000000..2277fc8089c --- /dev/null +++ b/stage0/ulib/FStar.ModifiesGen.fsti @@ -0,0 +1,1238 @@ +(* + 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.ModifiesGen + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(*** The modifies clause *) + +(* NOTE: aloc cannot be a member of the class, because of OCaml + extraction. So it must be a parameter of the class instead. *) + +[@@erasable] +type aloc_t = HS.rid -> nat -> Tot Type + +[@@erasable] +noeq +type cls (aloc: aloc_t) : Type = | Cls: + (aloc_includes: ( + (#r: HS.rid) -> + (#a: nat) -> + aloc r a -> + aloc r a -> + GTot Type0 + )) -> + (aloc_includes_refl: ( + (#r: HS.rid) -> + (#a: nat) -> + (x: aloc r a) -> + Lemma + (aloc_includes x x) + )) -> + (aloc_includes_trans: ( + (#r: HS.rid) -> + (#a: nat) -> + (x1: aloc r a) -> + (x2: aloc r a) -> + (x3: aloc r a) -> + Lemma + (requires (aloc_includes x1 x2 /\ aloc_includes x2 x3)) + (ensures (aloc_includes x1 x3)) + )) -> + (aloc_disjoint: ( + (#r: HS.rid) -> + (#a: nat) -> + (x1: aloc r a) -> + (x2: aloc r a) -> + GTot Type0 + )) -> + (aloc_disjoint_sym: ( + (#r: HS.rid) -> + (#a: nat) -> + (x1: aloc r a) -> + (x2: aloc r a) -> + Lemma + (aloc_disjoint x1 x2 <==> aloc_disjoint x2 x1) + )) -> + (aloc_disjoint_includes: ( + (#r: HS.rid) -> + (#a: nat) -> + (larger1: aloc r a) -> + (larger2: aloc r a) -> + (smaller1: aloc r a) -> + (smaller2: aloc r a) -> + Lemma + (requires (aloc_disjoint larger1 larger2 /\ larger1 `aloc_includes` smaller1 /\ larger2 `aloc_includes` smaller2)) + (ensures (aloc_disjoint smaller1 smaller2)) + )) -> + (aloc_preserved: ( + (#r: HS.rid) -> + (#a: nat) -> + aloc r a -> + HS.mem -> + HS.mem -> + GTot Type0 + )) -> + (aloc_preserved_refl: ( + (#r: HS.rid) -> + (#a: nat) -> + (x: aloc r a) -> + (h: HS.mem) -> + Lemma + (aloc_preserved x h h) + )) -> + (aloc_preserved_trans: ( + (#r: HS.rid) -> + (#a: nat) -> + (x: aloc r a) -> + (h1: HS.mem) -> + (h2: HS.mem) -> + (h3: HS.mem) -> + Lemma + (requires (aloc_preserved x h1 h2 /\ aloc_preserved x h2 h3)) + (ensures (aloc_preserved x h1 h3)) + )) -> + (* if any reference at this address is preserved, then any location at this address is preserved *) + (same_mreference_aloc_preserved: ( + (#r: HS.rid) -> + (#a: nat) -> + (b: aloc r a) -> + (h1: HS.mem) -> + (h2: HS.mem) -> + (f: ( + (a' : Type0) -> + (pre: Preorder.preorder a') -> + (r': HS.mreference a' pre) -> + Lemma + (requires (h1 `HS.contains` r' /\ r == HS.frameOf r' /\ a == HS.as_addr r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) + )) -> + Lemma + (aloc_preserved b h1 h2) + )) -> + cls aloc + +[@@erasable] +val loc (#aloc: aloc_t u#x) (c: cls aloc) : Tot (Type u#x) + +val loc_none (#aloc: aloc_t) (#c: cls aloc): Tot (loc c) + +val loc_union + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) +: GTot (loc c) + +(** The following is useful to make Z3 cut matching loops with +modifies_trans and modifies_refl *) +val loc_union_idem + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (loc_union s s == s) + +val loc_union_comm + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) +: Lemma + (loc_union s1 s2 == loc_union s2 s1) + +val loc_union_assoc + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2 s3: loc c) +: Lemma + (loc_union s1 (loc_union s2 s3) == loc_union (loc_union s1 s2) s3) + +val loc_union_loc_none_l + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (loc_union loc_none s == s) + +val loc_union_loc_none_r + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (loc_union s loc_none == s) + + +val loc_of_aloc + (#aloc: aloc_t) (#c: cls aloc) + (#r: HS.rid) + (#n: nat) + (b: aloc r n) +: GTot (loc c) + +val loc_of_aloc_not_none + (#aloc: aloc_t) (#c: cls aloc) + (#r: HS.rid) + (#n: nat) + (b: aloc r n) +: Lemma (loc_of_aloc #_ #c b == loc_none ==> False) + +val loc_addresses + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: GTot (loc c) + +val loc_regions + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (r: Set.set HS.rid) +: GTot (loc c) + +let loc_mreference + (#aloc: aloc_t) (#c: cls aloc) + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot (loc c) += loc_addresses true (HS.frameOf b) (Set.singleton (HS.as_addr b)) + +let loc_freed_mreference + (#aloc: aloc_t) (#c: cls aloc) + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot (loc c) += loc_addresses false (HS.frameOf b) (Set.singleton (HS.as_addr b)) + +let loc_region_only + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (r: HS.rid) +: GTot (loc c) += loc_regions preserve_liveness (Set.singleton r) + +let loc_all_regions_from + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (r: HS.rid) +: GTot (loc c) += loc_regions preserve_liveness (HS.mod_set (Set.singleton r)) + + +(* Inclusion of memory locations *) + +[@@erasable] +val loc_includes + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) +: GTot Type0 + +val loc_includes_refl + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (loc_includes s s) + +val loc_includes_trans + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2 s3: loc c) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + +val loc_includes_union_r + (#aloc: aloc_t) (#c: cls aloc) + (s s1 s2: loc c) +: Lemma + (requires (loc_includes s s1 /\ loc_includes s s2)) + (ensures (loc_includes s (loc_union s1 s2))) + +val loc_includes_union_l + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2 s: loc c) +: Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + +val loc_includes_none + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (loc_includes s loc_none) + +val loc_includes_none_elim + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (requires (loc_includes loc_none s)) + (ensures (s == loc_none)) + + +val loc_includes_aloc + (#aloc: aloc_t) (#c: cls aloc) + (#r: HS.rid) + (#n: nat) + (b1 b2: aloc r n) +: Lemma + (requires (c.aloc_includes b1 b2)) + (ensures (loc_includes (loc_of_aloc b1) (loc_of_aloc #_ #c b2))) + +val loc_includes_aloc_elim + (#aloc: aloc_t) (#c: cls aloc) + (#r1 #r2: HS.rid) + (#n1 #n2: nat) + (b1: aloc r1 n1) + (b2: aloc r2 n2) +: Lemma + (requires (loc_includes (loc_of_aloc b1) (loc_of_aloc #_ #c b2))) + (ensures (r1 == r2 /\ n1 == n2 /\ c.aloc_includes b1 b2)) + +val loc_includes_addresses_aloc + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (r: HS.rid) + (s: Set.set nat) + (#a: nat) + (p: aloc r a) +: Lemma + (requires (Set.mem a s)) + (ensures (loc_includes (loc_addresses preserve_liveness r s) (loc_of_aloc #_ #c p))) + +val loc_includes_region_aloc + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (s: Set.set HS.rid) + (#r: HS.rid) + (#a: nat) + (b: aloc r a) +: Lemma + (requires (Set.mem r s)) + (ensures (loc_includes (loc_regions preserve_liveness s) (loc_of_aloc #_ #c b))) + +val loc_includes_region_addresses + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (s: Set.set HS.rid) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (Set.mem r s)) + (ensures (loc_includes (loc_regions #_ #c preserve_liveness1 s) (loc_addresses preserve_liveness2 r a))) + +val loc_includes_region_region + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (s1 s2: Set.set HS.rid) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_regions #_ #c preserve_liveness1 s1) (loc_regions preserve_liveness2 s2))) + +val loc_includes_region_union_l + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness: bool) + (l: loc c) + (s1 s2: Set.set HS.rid) +: Lemma + (requires (loc_includes l (loc_regions preserve_liveness (Set.intersect s2 (Set.complement s1))))) + (ensures (loc_includes (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness s2))) + +val loc_includes_addresses_addresses + (#aloc: aloc_t) (c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (r: HS.rid) + (a1 a2: Set.set nat) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset a2 a1)) + (ensures (loc_includes #_ #c (loc_addresses preserve_liveness1 r a1) (loc_addresses preserve_liveness2 r a2))) + + +(* Disjointness of two memory locations *) + +[@@erasable] +val loc_disjoint + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) +: GTot Type0 + +val loc_disjoint_sym + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) +: Lemma + (requires (loc_disjoint s1 s2)) + (ensures (loc_disjoint s2 s1)) + +val loc_disjoint_none_r + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) +: Lemma + (ensures (loc_disjoint s loc_none)) + +val loc_disjoint_union_r + (#aloc: aloc_t) (#c: cls aloc) + (s s1 s2: loc c) +: Lemma + (requires (loc_disjoint s s1 /\ loc_disjoint s s2)) + (ensures (loc_disjoint s (loc_union s1 s2))) + +val loc_disjoint_includes + (#aloc: aloc_t) (#c: cls aloc) + (p1 p2 p1' p2' : loc c) +: Lemma + (requires (loc_includes p1 p1' /\ loc_includes p2 p2' /\ loc_disjoint p1 p2)) + (ensures (loc_disjoint p1' p2')) + +val loc_disjoint_aloc_intro + (#aloc: aloc_t) (#c: cls aloc) + (#r1: HS.rid) + (#a1: nat) + (#r2: HS.rid) + (#a2: nat) + (b1: aloc r1 a1) + (b2: aloc r2 a2) +: Lemma + (requires ((r1 == r2 /\ a1 == a2) ==> c.aloc_disjoint b1 b2)) + (ensures (loc_disjoint (loc_of_aloc b1) (loc_of_aloc #_ #c b2))) + +val loc_disjoint_aloc_elim + (#aloc: aloc_t) (#c: cls aloc) + (#r1: HS.rid) + (#a1: nat) + (#r2: HS.rid) + (#a2: nat) + (b1: aloc r1 a1) + (b2: aloc r2 a2) +: Lemma + (requires (loc_disjoint (loc_of_aloc b1) (loc_of_aloc #_ #c b2))) + (ensures ((r1 == r2 /\ a1 == a2) ==> c.aloc_disjoint b1 b2)) + +val loc_disjoint_addresses_intro + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (n1 n2: Set.set nat) +: Lemma + (requires (r1 <> r2 \/ Set.subset (Set.intersect n1 n2) Set.empty)) + (ensures (loc_disjoint (loc_addresses #_ #c preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))) + +let loc_disjoint_addresses #aloc #c = loc_disjoint_addresses_intro #aloc #c + +val loc_disjoint_addresses_elim + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (n1 n2: Set.set nat) +: Lemma + (requires (loc_disjoint (loc_addresses #_ #c preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))) + (ensures (r1 <> r2 \/ Set.subset (Set.intersect n1 n2) Set.empty)) + +val loc_disjoint_aloc_addresses_intro + (#aloc: aloc_t) (#c: cls aloc) + (#r' : HS.rid) + (#a' : nat) + (p: aloc r' a') + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (requires (r == r' ==> (~ (Set.mem a' n)))) + (ensures (loc_disjoint (loc_of_aloc p) (loc_addresses #_ #c preserve_liveness r n))) + +val loc_disjoint_aloc_addresses_elim + (#aloc: aloc_t) (#c: cls aloc) + (#r' : HS.rid) + (#a' : nat) + (p: aloc r' a') + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (requires (loc_disjoint (loc_of_aloc p) (loc_addresses #_ #c preserve_liveness r n))) + (ensures (r == r' ==> (~ (Set.mem a' n)))) + +val loc_disjoint_regions + (#aloc: aloc_t) (#c: cls aloc) + (preserve_liveness1 preserve_liveness2: bool) + (rs1 rs2: Set.set HS.rid) +: Lemma + (requires (Set.subset (Set.intersect rs1 rs2) Set.empty)) + (ensures (loc_disjoint (loc_regions #_ #c preserve_liveness1 rs1) (loc_regions preserve_liveness2 rs2))) + + +(** Liveness-insensitive memory locations *) + +val address_liveness_insensitive_locs (#aloc: aloc_t) (c: cls aloc) : Tot (loc c) + +val loc_includes_address_liveness_insensitive_locs_aloc (#aloc: aloc_t) (#c: cls aloc) (#r: HS.rid) (#n: nat) (a: aloc r n) : Lemma + (loc_includes (address_liveness_insensitive_locs c) (loc_of_aloc a)) + +val loc_includes_address_liveness_insensitive_locs_addresses (#aloc: aloc_t) (c: cls aloc) (r: HS.rid) (a: Set.set nat) : Lemma + (loc_includes (address_liveness_insensitive_locs c) (loc_addresses true r a)) + +val region_liveness_insensitive_locs (#al: aloc_t) (c: cls al) : Tot (loc c) + +val loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs (#al: aloc_t) (c: cls al) : Lemma + (loc_includes (region_liveness_insensitive_locs c) (address_liveness_insensitive_locs c)) + +val loc_includes_region_liveness_insensitive_locs_loc_regions + (#al: aloc_t) (c: cls al) (r: Set.set HS.rid) +: Lemma + (region_liveness_insensitive_locs c `loc_includes` loc_regions #_ #c true r) + +val loc_includes_region_liveness_insensitive_locs_loc_addresses + (#al: aloc_t) (c: cls al) (preserve_liveness: bool) (r: HS.rid) (a: Set.set nat) +: Lemma + (region_liveness_insensitive_locs c `loc_includes` loc_addresses #_ #c preserve_liveness r a) + +val loc_includes_region_liveness_insensitive_locs_loc_of_aloc + (#al: aloc_t) (c: cls al) (#r: HS.rid) (#a: nat) (x: al r a) +: Lemma + (region_liveness_insensitive_locs c `loc_includes` loc_of_aloc #_ #c x) + + +(** The modifies clause proper *) + +[@@erasable] +val modifies + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) + (h1 h2: HS.mem) +: GTot Type0 + +val modifies_intro + (#al: aloc_t) (#c: cls al) (l: loc c) (h h' : HS.mem) + (regions: ( + (r: HS.rid) -> + Lemma + (requires (HS.live_region h r)) + (ensures (HS.live_region h' r)) + )) + (mrefs: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires ((loc_disjoint (loc_mreference b) l) /\ HS.contains h b)) + (ensures (HS.contains h' b /\ HS.sel h' b == HS.sel h b)) + )) + (livenesses: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires (HS.contains h b)) + (ensures (HS.contains h' b)) + )) + (addr_unused_in: ( + (r: HS.rid) -> + (n: nat) -> + Lemma + (requires ( + HS.live_region h r /\ + HS.live_region h' r /\ n `Heap.addr_unused_in` (HS.get_hmap h' `Map.sel` r) + )) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` r))) + )) + (alocs: ( + (r: HS.rid) -> + (a: nat) -> + (x: al r a) -> + Lemma + (requires (loc_disjoint (loc_of_aloc x) l)) + (ensures (c.aloc_preserved x h h')) + )) +: Lemma + (modifies l h h') + +val modifies_none_intro + (#al: aloc_t) (#c: cls al) (h h' : HS.mem) + (regions: ( + (r: HS.rid) -> + Lemma + (requires (HS.live_region h r)) + (ensures (HS.live_region h' r)) + )) + (mrefs: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires (HS.contains h b)) + (ensures (HS.contains h' b /\ HS.sel h' b == HS.sel h b)) + )) + (addr_unused_in: ( + (r: HS.rid) -> + (n: nat) -> + Lemma + (requires (HS.live_region h r /\ HS.live_region h' r /\ n `Heap.addr_unused_in` (HS.get_hmap h' `Map.sel` r))) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` r))) + )) +: Lemma + (modifies (loc_none #_ #c) h h') + +val modifies_address_intro + (#al: aloc_t) (#c: cls al) (r: HS.rid) (n: nat) (h h' : HS.mem) + (regions: ( + (r: HS.rid) -> + Lemma + (requires (HS.live_region h r)) + (ensures (HS.live_region h' r)) + )) + (mrefs: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires ((r <> HS.frameOf b \/ n <> HS.as_addr b) /\ HS.contains h b)) + (ensures (HS.contains h' b /\ HS.sel h' b == HS.sel h b)) + )) + (addr_unused_in: ( + (r': HS.rid) -> + (n' : nat) -> + Lemma + (requires ((r' <> r \/ n' <> n) /\ HS.live_region h r' /\ HS.live_region h' r' /\ n' `Heap.addr_unused_in` (HS.get_hmap h' `Map.sel` r'))) + (ensures (n' `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` r'))) + )) +: Lemma + (modifies (loc_addresses #_ #c false r (Set.singleton n)) h h') + +val modifies_aloc_intro + (#al: aloc_t) (#c: cls al) (#r: HS.rid) (#n: nat) (z: al r n) (h h' : HS.mem) + (regions: ( + (r: HS.rid) -> + Lemma + (requires (HS.live_region h r)) + (ensures (HS.live_region h' r)) + )) + (mrefs: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires ((r <> HS.frameOf b \/ n <> HS.as_addr b) /\ HS.contains h b)) + (ensures (HS.contains h' b /\ HS.sel h' b == HS.sel h b)) + )) + (livenesses: ( + (t: Type0) -> + (pre: Preorder.preorder t) -> + (b: HS.mreference t pre) -> + Lemma + (requires (HS.contains h b)) + (ensures (HS.contains h' b)) + )) + (addr_unused_in: ( + (r: HS.rid) -> + (n: nat) -> + Lemma + (requires (HS.live_region h r /\ HS.live_region h' r /\ n `Heap.addr_unused_in` (HS.get_hmap h' `Map.sel` r))) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` r))) + )) + (alocs: ( + (x: al r n) -> + Lemma + (requires (c.aloc_disjoint x z)) + (ensures (c.aloc_preserved x h h')) + )) +: Lemma + (modifies (loc_of_aloc #_ #c z) h h') + +val modifies_live_region + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) + (h1 h2: HS.mem) + (r: HS.rid) +: Lemma + (requires (modifies s h1 h2 /\ loc_disjoint s (loc_region_only false r) /\ HS.live_region h1 r)) + (ensures (HS.live_region h2 r)) + +val modifies_mreference_elim + (#aloc: aloc_t) (#c: cls aloc) + (#t: Type) + (#pre: Preorder.preorder t) + (b: HS.mreference t pre) + (p: loc c) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_mreference b) p /\ + HS.contains h b /\ + modifies p h h' + )) + (ensures ( + HS.contains h' b /\ + HS.sel h b == HS.sel h' b + )) + +val modifies_aloc_elim + (#aloc: aloc_t) (#c: cls aloc) + (#r: HS.rid) + (#a: nat) + (b: aloc r a) + (p: loc c) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_of_aloc b) p /\ + modifies p h h' + )) + (ensures ( + c.aloc_preserved b h h' + )) + +val modifies_refl + (#aloc: aloc_t) (#c: cls aloc) + (s: loc c) + (h: HS.mem) +: Lemma + (modifies s h h) + +val modifies_loc_includes + (#aloc: aloc_t) (#c: cls aloc) + (s1: loc c) + (h h': HS.mem) + (s2: loc c) +: Lemma + (requires (modifies s2 h h' /\ loc_includes s1 s2)) + (ensures (modifies s1 h h')) + +val modifies_preserves_liveness + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (r: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union s1 s2) h h' /\ loc_disjoint s1 (loc_mreference r) /\ loc_includes (address_liveness_insensitive_locs c) s2 /\ h `HS.contains` r)) + (ensures (h' `HS.contains` r)) + +val modifies_preserves_liveness_strong + (#aloc: aloc_t) (#c: cls aloc) + (s1 s2: loc c) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (r: HS.mreference t pre) + (x: aloc (HS.frameOf r) (HS.as_addr r)) +: Lemma + (requires (modifies (loc_union s1 s2) h h' /\ loc_disjoint s1 (loc_of_aloc #_ #c #(HS.frameOf r) #(HS.as_addr r) x) /\ loc_includes (address_liveness_insensitive_locs c) s2 /\ h `HS.contains` r)) + (ensures (h' `HS.contains` r)) + +val modifies_preserves_region_liveness + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) + (h h' : HS.mem) + (r: HS.rid) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ region_liveness_insensitive_locs c `loc_includes` l2 /\ loc_disjoint (loc_region_only false r) l1 /\ HS.live_region h r)) + (ensures (HS.live_region h' r)) + +val modifies_preserves_region_liveness_reference + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (r: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ region_liveness_insensitive_locs c `loc_includes` l2 /\ loc_disjoint (loc_mreference r) l1 /\ HS.live_region h (HS.frameOf r))) + (ensures (HS.live_region h' (HS.frameOf r))) + +val modifies_preserves_region_liveness_aloc + (#al: aloc_t) (#c: cls al) + (l1 l2: loc c) + (h h' : HS.mem) + (#r: HS.rid) + (#n: nat) + (x: al r n) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ region_liveness_insensitive_locs c `loc_includes` l2 /\ loc_disjoint (loc_of_aloc x) l1 /\ HS.live_region h r)) + (ensures (HS.live_region h' r)) + +val modifies_trans + (#aloc: aloc_t) (#c: cls aloc) + (s12: loc c) + (h1 h2: HS.mem) + (s23: loc c) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3)) + (ensures (modifies (loc_union s12 s23) h1 h3)) + +val modifies_only_live_regions + (#aloc: aloc_t) (#c: cls aloc) + (rs: Set.set HS.rid) + (l: loc c) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_regions false rs) l) h h' /\ + (forall r . Set.mem r rs ==> (~ (HS.live_region h r))) + )) + (ensures (modifies l h h')) + +val no_upd_fresh_region + (#aloc: aloc_t) (#c: cls aloc) + (r:HS.rid) + (l:loc c) + (h0:HS.mem) + (h1:HS.mem) +: Lemma + (requires (HS.fresh_region r h0 h1 /\ modifies (loc_union (loc_all_regions_from false r) l) h0 h1)) + (ensures (modifies l h0 h1)) + +val fresh_frame_modifies + (#aloc: aloc_t) (c: cls aloc) + (h0 h1: HS.mem) +: Lemma + (requires (HS.fresh_frame h0 h1)) + (ensures (modifies #_ #c loc_none h0 h1)) + +val new_region_modifies + (#al: aloc_t) + (c: cls al) + (m0: HS.mem) + (r0: HS.rid) + (col: option int) +: Lemma + (requires (HST.is_eternal_region r0 /\ HS.live_region m0 r0 /\ (None? col \/ HS.is_heap_color (Some?.v col)))) + (ensures ( + let (_, m1) = HS.new_eternal_region m0 r0 col in + modifies (loc_none #_ #c) m0 m1 + )) + +val popped_modifies + (#aloc: aloc_t) (c: cls aloc) + (h0 h1: HS.mem) : Lemma + (requires (HS.popped h0 h1)) + (ensures (modifies #_ #c (loc_region_only false (HS.get_tip h0)) h0 h1)) + +val modifies_fresh_frame_popped + (#aloc: aloc_t) (#c: cls aloc) + (h0 h1: HS.mem) + (s: loc c) + (h2 h3: HS.mem) +: Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + modifies (loc_union (loc_all_regions_from false (HS.get_tip h1)) s) h1 h2 /\ + HS.get_tip h2 == HS.get_tip h1 /\ + HS.popped h2 h3 + )) + (ensures ( + modifies s h0 h3 /\ + HS.get_tip h3 == HS.get_tip h0 + )) + +val modifies_loc_regions_intro + (#aloc: aloc_t) (#c: cls aloc) + (rs: Set.set HS.rid) + (h1 h2: HS.mem) +: Lemma + (requires (HS.modifies rs h1 h2)) + (ensures (modifies (loc_regions #_ #c true rs) h1 h2)) + +val modifies_loc_addresses_intro + (#aloc: aloc_t) (#c: cls aloc) + (r: HS.rid) + (a: Set.set nat) + (l: loc c) + (h1 h2: HS.mem) +: Lemma + (requires ( + HS.live_region h2 r /\ + modifies (loc_union (loc_region_only false r) l) h1 h2 /\ + HS.modifies_ref r a h1 h2 + )) + (ensures (modifies (loc_union (loc_addresses true r a) l) h1 h2)) + +val modifies_ralloc_post + (#aloc: aloc_t) (#c: cls aloc) + (#a: Type) + (#rel: Preorder.preorder a) + (i: HS.rid) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel) + (h' : HS.mem) +: Lemma + (requires (HST.ralloc_post i init h x h')) + (ensures (modifies (loc_none #_ #c) h h')) + +val modifies_salloc_post + (#aloc: aloc_t) (#c: cls aloc) + (#a: Type) + (#rel: Preorder.preorder a) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel { HS.is_stack_region (HS.frameOf x) } ) + (h' : HS.mem) +: Lemma + (requires (HST.salloc_post init h x h')) + (ensures (modifies (loc_none #_ #c) h h')) + +val modifies_free + (#aloc: aloc_t) (#c: cls aloc) + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel { HS.is_mm r } ) + (m: HS.mem { m `HS.contains` r } ) +: Lemma + (modifies (loc_freed_mreference #_ #c r) m (HS.free r m)) + +val modifies_none_modifies + (#aloc: aloc_t) (#c: cls aloc) + (h1 h2: HS.mem) +: Lemma + (requires (HST.modifies_none h1 h2)) + (ensures (modifies (loc_none #_ #c) h1 h2)) + +val modifies_upd + (#aloc: aloc_t) (#c: cls aloc) + (#t: Type) (#pre: Preorder.preorder t) + (r: HS.mreference t pre) + (v: t) + (h: HS.mem) +: Lemma + (requires (HS.contains h r)) + (ensures (modifies #_ #c (loc_mreference r) h (HS.upd h r v))) + +val modifies_strengthen + (#al: aloc_t) (#c: cls al) (l: loc c) (#r0: HS.rid) (#a0: nat) (al0: al r0 a0) (h h' : HS.mem) + (alocs: ( + (f: ((t: Type) -> (pre: Preorder.preorder t) -> (m: HS.mreference t pre) -> Lemma + (requires (HS.frameOf m == r0 /\ HS.as_addr m == a0 /\ HS.contains h m)) + (ensures (HS.contains h' m)) + )) -> + (x: al r0 a0) -> + Lemma + (requires (c.aloc_disjoint x al0 /\ loc_disjoint (loc_of_aloc x) l)) + (ensures (c.aloc_preserved x h h')) + )) +: Lemma + (requires (modifies (loc_union l (loc_addresses true r0 (Set.singleton a0))) h h')) + (ensures (modifies (loc_union l (loc_of_aloc al0)) h h')) + +(** BEGIN TODO: move to FStar.Monotonic.HyperStack *) + +[@@erasable] +val does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: GTot Type0 + +val not_live_region_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (~ (HS.live_region h (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val unused_in_does_not_contain_addr + (h: HS.mem) + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) +: Lemma + (requires (r `HS.unused_in` h)) + (ensures (h `does_not_contain_addr` (HS.frameOf r, HS.as_addr r))) + +val addr_unused_in_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (HS.live_region h (fst ra) ==> snd ra `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val does_not_contain_addr_addr_unused_in + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (h `does_not_contain_addr` ra)) + (ensures (HS.live_region h (fst ra) ==> snd ra `Heap.addr_unused_in` (HS.get_hmap h `Map.sel` (fst ra)))) + +val free_does_not_contain_addr + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + HS.is_mm r /\ + m `HS.contains` r /\ + fst x == HS.frameOf r /\ + snd x == HS.as_addr r + )) + (ensures ( + HS.free r m `does_not_contain_addr` x + )) + +val does_not_contain_addr_elim + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + m `does_not_contain_addr` x /\ + HS.frameOf r == fst x /\ + HS.as_addr r == snd x + )) + (ensures (~ (m `HS.contains` r))) + +(** END TODO *) + +val loc_not_unused_in (#al: aloc_t) (c: cls al) (h: HS.mem) : GTot (loc c) + +val loc_unused_in (#al: aloc_t) (c: cls al) (h: HS.mem) : GTot (loc c) + +val loc_regions_unused_in (#al: aloc_t) (c: cls al) (h: HS.mem) (rs: Set.set HS.rid) : Lemma + (requires (forall r . Set.mem r rs ==> (~ (HS.live_region h r)))) + (ensures (loc_unused_in c h `loc_includes` loc_regions false rs)) + +val loc_addresses_unused_in (#al: aloc_t) (c: cls al) (r: HS.rid) (a: Set.set nat) (h: HS.mem) : Lemma + (requires (forall x . Set.mem x a ==> h `does_not_contain_addr` (r, x))) + (ensures (loc_unused_in c h `loc_includes` loc_addresses false r a)) + +val loc_addresses_not_unused_in (#al: aloc_t) (c: cls al) (r: HS.rid) (a: Set.set nat) (h: HS.mem) : Lemma + (requires (forall x . Set.mem x a ==> ~ (h `does_not_contain_addr` (r, x)))) + (ensures (loc_not_unused_in c h `loc_includes` loc_addresses false r a)) + +val loc_unused_in_not_unused_in_disjoint (#al: aloc_t) (c: cls al) (h: HS.mem) : Lemma + (loc_unused_in c h `loc_disjoint` loc_not_unused_in c h) + +val not_live_region_loc_not_unused_in_disjoint + (#al: aloc_t) + (c: cls al) + (h0: HS.mem) + (r: HS.rid) +: Lemma + (requires (~ (HS.live_region h0 r))) + (ensures (loc_disjoint (loc_region_only false r) (loc_not_unused_in c h0))) + +val modifies_address_liveness_insensitive_unused_in + (#al: aloc_t) + (c: cls al) + (h h' : HS.mem) +: Lemma + (requires (modifies (address_liveness_insensitive_locs c) h h')) + (ensures (loc_not_unused_in c h' `loc_includes` loc_not_unused_in c h /\ loc_unused_in c h `loc_includes` loc_unused_in c h')) + +val modifies_only_not_unused_in + (#al: aloc_t) + (#c: cls al) + (l: loc c) + (h h' : HS.mem) +: Lemma + (requires (modifies (loc_unused_in c h `loc_union` l) h h')) + (ensures (modifies l h h')) + +let modifies_only_live_addresses + (#aloc: aloc_t) (#c: cls aloc) + (r: HS.rid) + (a: Set.set nat) + (l: loc c) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_addresses false r a) l) h h' /\ + (forall x . Set.mem x a ==> h `does_not_contain_addr` (r, x)) + )) + (ensures (modifies l h h')) += loc_addresses_unused_in c r a h; + loc_includes_refl l; + loc_includes_union_l (loc_unused_in c h) l l; + loc_includes_union_l (loc_unused_in c h) l (loc_addresses false r a); + loc_includes_union_r (loc_union (loc_unused_in c h) l) (loc_addresses false r a) l; + modifies_loc_includes (loc_union (loc_unused_in c h) l) h h' (loc_union (loc_addresses false r a) l); + modifies_only_not_unused_in l h h' + +val mreference_live_loc_not_unused_in + (#al: aloc_t) + (c: cls al) + (#t: Type) + (#pre: Preorder.preorder t) + (h: HS.mem) + (r: HS.mreference t pre) +: Lemma + (requires (h `HS.contains` r)) + (ensures (loc_not_unused_in c h `loc_includes` loc_freed_mreference r /\ loc_not_unused_in c h `loc_includes` loc_mreference r)) + + +val mreference_unused_in_loc_unused_in + (#al: aloc_t) + (c: cls al) + (#t: Type) + (#pre: Preorder.preorder t) + (h: HS.mem) + (r: HS.mreference t pre) +: Lemma + (requires (r `HS.unused_in` h)) + (ensures (loc_unused_in c h `loc_includes` loc_freed_mreference r /\ loc_unused_in c h `loc_includes` loc_mreference r)) + + +(** * Compositionality *) + +val aloc_union: (bool -> Tot (aloc_t u#x)) -> Tot (aloc_t u#x) + +val cls_union (#a: (bool -> Tot aloc_t)) (c: ((b: bool) -> Tot (cls (a b)))) : Tot (cls (aloc_union a)) + +val union_loc_of_loc (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) (b: bool) (l: loc (c b)) : GTot (loc (cls_union c)) + +val union_loc_of_loc_none + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) +: Lemma + (union_loc_of_loc c b (loc_none #_ #(c b)) == loc_none #_ #(cls_union c)) + +val union_loc_of_loc_union + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (l1 l2: loc (c b)) +: Lemma + (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)) + +val union_loc_of_loc_addresses + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (union_loc_of_loc c b (loc_addresses #_ #(c b) preserve_liveness r n) == loc_addresses #_ #(cls_union c) preserve_liveness r n) + +val union_loc_of_loc_regions + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (preserve_liveness: bool) + (r: Set.set HS.rid) +: Lemma + (union_loc_of_loc c b (loc_regions #_ #(c b) preserve_liveness r) == loc_regions #_ #(cls_union c) preserve_liveness r) + +val union_loc_of_loc_includes + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (s1 s2: loc (c b)) +: Lemma + (union_loc_of_loc c b s1 `loc_includes` union_loc_of_loc c b s2 <==> s1 `loc_includes` s2) + +val union_loc_of_loc_disjoint + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (s1 s2: loc (c b)) +: Lemma + (union_loc_of_loc c b s1 `loc_disjoint` union_loc_of_loc c b s2 <==> s1 `loc_disjoint` s2) + +val modifies_union_loc_of_loc + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (l: loc (c b)) + (h1 h2: HS.mem) +: Lemma + (modifies #_ #(cls_union c) (union_loc_of_loc c b l) h1 h2 <==> modifies #_ #(c b) l h1 h2) + +val loc_of_union_loc + (#al: (bool -> Tot aloc_t)) + (#c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (l: loc (cls_union c)) +: GTot (loc (c b)) + +val loc_of_union_loc_union_loc_of_loc + (#al: (bool -> HS.rid -> nat -> Tot Type)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (s: loc (c b)) +: Lemma + (loc_of_union_loc b (union_loc_of_loc c b s) == s) + +val loc_of_union_loc_none + (#al: (bool -> Tot aloc_t)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) +: Lemma + (loc_of_union_loc #_ #c b loc_none == loc_none) + +val loc_of_union_loc_union + (#al: (bool -> Tot aloc_t)) + (c: ((b: bool) -> Tot (cls (al b)))) + (b: bool) + (l1 l2: loc (cls_union c)) +: Lemma + (loc_of_union_loc b (l1 `loc_union` l2) == loc_of_union_loc b l1 `loc_union` loc_of_union_loc b l2) + +val loc_of_union_loc_addresses + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (loc_of_union_loc #_ #c b (loc_addresses preserve_liveness r n) == loc_addresses preserve_liveness r n) + +val loc_of_union_loc_regions + (#al: (bool -> Tot aloc_t)) (c: (b: bool) -> Tot (cls (al b))) + (b: bool) + (preserve_liveness: bool) + (r: Set.set HS.rid) +: Lemma + (loc_of_union_loc #_ #c b (loc_regions preserve_liveness r) == loc_regions preserve_liveness r) + + +/// Universes + +val raise_aloc (al: aloc_t u#x) : Tot (aloc_t u#(max x (y + 1))) + +val raise_cls (#al: aloc_t u#x) (c: cls al) : Tot (cls (raise_aloc u#x u#y al)) + +val raise_loc (#al: aloc_t u#x) (#c: cls al) (l: loc c) : Tot (loc (raise_cls u#x u#y c)) + +val raise_loc_none (#al: aloc_t u#x) (#c: cls al) : Lemma + (raise_loc u#x u#y (loc_none #_ #c) == loc_none) + +val raise_loc_union (#al: aloc_t u#x) (#c: cls al) (l1 l2: loc c) : Lemma + (raise_loc u#x u#y (loc_union l1 l2) == loc_union (raise_loc l1) (raise_loc l2)) + +val raise_loc_addresses (#al: aloc_t u#x) (#c: cls al) (preserve_liveness: bool) (r: HS.rid) (a: Set.set nat) : Lemma + (raise_loc u#x u#y (loc_addresses #_ #c preserve_liveness r a) == loc_addresses preserve_liveness r a) + +val raise_loc_regions (#al: aloc_t u#x) (#c: cls al) (preserve_liveness: bool) (r: Set.set HS.rid) : Lemma + (raise_loc u#x u#y (loc_regions #_ #c preserve_liveness r) == loc_regions preserve_liveness r) + +val raise_loc_includes (#al: aloc_t u#x) (#c: cls al) (l1 l2: loc c) : Lemma + (loc_includes (raise_loc u#x u#y l1) (raise_loc l2) <==> loc_includes l1 l2) + +val raise_loc_disjoint (#al: aloc_t u#x) (#c: cls al) (l1 l2: loc c) : Lemma + (loc_disjoint (raise_loc u#x u#y l1) (raise_loc l2) <==> loc_disjoint l1 l2) + +val modifies_raise_loc (#al: aloc_t u#x) (#c: cls al) (l: loc c) (h1 h2: HS.mem) : Lemma + (modifies (raise_loc u#x u#y l) h1 h2 <==> modifies l h1 h2) + +val lower_loc (#al: aloc_t u#x) (#c: cls al) (l: loc (raise_cls u#x u#y c)) : Tot (loc c) + +val lower_loc_raise_loc (#al: aloc_t u#x) (#c: cls al) (l: loc c) : Lemma + (lower_loc (raise_loc u#x u#y l) == l) + +val raise_loc_lower_loc (#al: aloc_t u#x) (#c: cls al) (l: loc (raise_cls u#x u#y c)) : Lemma + (raise_loc (lower_loc l) == l) + +val lower_loc_none (#al: aloc_t u#x) (#c: cls al) : Lemma + (lower_loc u#x u#y #_ #c loc_none == loc_none) + +val lower_loc_union (#al: aloc_t u#x) (#c: cls al) (l1 l2: loc (raise_cls u#x u#y c)) : Lemma + (lower_loc u#x u#y (loc_union l1 l2) == loc_union (lower_loc l1) (lower_loc l2)) + +val lower_loc_addresses (#al: aloc_t u#x) (#c: cls al) (preserve_liveness: bool) (r: HS.rid) (a: Set.set nat) : Lemma + (lower_loc u#x u#y #_ #c (loc_addresses preserve_liveness r a) == loc_addresses preserve_liveness r a) + +val lower_loc_regions (#al: aloc_t u#x) (#c: cls al) (preserve_liveness: bool) (r: Set.set HS.rid) : Lemma + (lower_loc u#x u#y #_ #c (loc_regions preserve_liveness r) == loc_regions preserve_liveness r) diff --git a/stage0/ulib/FStar.Monotonic.DependentMap.fst b/stage0/ulib/FStar.Monotonic.DependentMap.fst new file mode 100644 index 00000000000..5ad55dcc133 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.DependentMap.fst @@ -0,0 +1,90 @@ +(* + 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.Monotonic.DependentMap +(** A library for mutable partial, dependent maps, + that grow monotonically, + while subject to an invariant on the entire map *) +open FStar.HyperStack.ST +module HS = FStar.HyperStack +module DM = FStar.DependentMap + +/// `map a b`: Represent the partial map as a list of pairs of points +let map a b = list (x:a & b x) + +/// `repr r`: Converts the list of pairs into a DM.t +let rec repr (#a:eqtype) (#b:a -> Type) (r:map a b) + : GTot (partial_dependent_map a b) + = match r with + | [] -> empty_partial_dependent_map + | (|x, y|)::tl -> DM.upd (repr tl) x (Some y) + +/// Three basic operations on map: empty, sel upd +let empty #a #b = [] + +let rec sel #a #b r x = + match r with + | [] -> None + | (|x', y|)::tl -> + if x = x' then Some y else sel tl x + +let upd #a #b r x v = (|x, v|)::r + +//////////////////////////////////////////////////////////////////////////////// + +/// `grows'` and `grows`: a preorder of invariant-respecting maps +/// - Needs to be introduced in 2 steps because of an F* limitation +let grows' (#a:eqtype) (#b:a -> Type) (#inv:(partial_dependent_map a b -> Type)) + (m1:imap a b inv) (m2:imap a b inv) = + forall x.{:pattern (Some? (sel m1 x))} + Some? (sel m1 x) ==> + Some? (sel m2 x) /\ + Some?.v (sel m1 x) == Some?.v (sel m2 x) +let grows #a #b #inv = grows' #a #b #inv + +let contains_stable #a #b #inv #r t x y = () +let defined_stable #a #b #inv #r t x = () +//////////////////////////////////////////////////////////////////////////////// + +//The main stateful interface is minimal and straigtforward +let alloc #a #b #inv #r _ = ralloc r [] + +let extend #a #b #inv #r t x y = + recall t; + let cur = !t in + t := upd cur x y; + mr_witness t (contains t x y) + +let lookup #a #b #inv #r t x = + let m = !t in + let y = sel m x in + match y with + | None -> y + | Some b -> + mr_witness t (contains t x b); + y + +let rec mmap_f #a #b #c m f = + match m with + | [] -> + assert (DM.equal (empty_partial_dependent_map #a #c) + (DM.map (f_opt f) (empty_partial_dependent_map #a #b))); + assert_norm (repr #a #c [] == empty_partial_dependent_map #a #c); + [] + | (| x, y |)::tl -> (| x, f x y |)::(mmap_f #a #b #c tl f) //AR: doesn't work without these implicits + +let map_f #a #b #c #inv #inv' #r #r' t f + = let m = !t in + ralloc r' (mmap_f m f) diff --git a/stage0/ulib/FStar.Monotonic.DependentMap.fsti b/stage0/ulib/FStar.Monotonic.DependentMap.fsti new file mode 100644 index 00000000000..37d1b9a82af --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.DependentMap.fsti @@ -0,0 +1,246 @@ +(* + 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.Monotonic.DependentMap +(** A library for mutable partial, dependent maps, + that grow monotonically, + while subject to an invariant on the entire map *) +open FStar.HyperStack.ST + +module HS = FStar.HyperStack +module DM = FStar.DependentMap +module HST = FStar.HyperStack.ST + +/// The logical model of the map is given in terms of DM.t/// +let opt (#a:eqtype) (b:a -> Type) = fun (x:a) -> option (b x) +let partial_dependent_map (a:eqtype) (b:a -> Type) = + DM.t a (opt b) + +/// An empty partial, dependent map maps all keys to None +let empty_partial_dependent_map (#a:_) (#b:_) + : partial_dependent_map a b + = DM.create #a #(opt b) (fun x -> None) +//////////////////////////////////////////////////////////////////////////////// + +/// `map a b`: Internally, the model is implemented using this abstract type +/// These maps provide three operations: +/// - empty, sel, upd +/// Which are proven to be in correspondence with the operations on DM.t +/// via the homomorphism `repr` below +val map + (a:eqtype) + (b:(a -> Type u#b)) + : Type u#b + +/// `repr m`: A ghost function that reveals the internal `map` as a `DM.t` +val repr (#a:_) (#b:_) + (r:map a b) + : GTot (partial_dependent_map a b) + +/// An `empty : map a b` is equivalent to the `empty_partial_dependent_map` +val empty (#a:_) (#b:_) + : r:map a b{repr r == empty_partial_dependent_map} + +/// Selecting a key from a map `sel r x` is equivalent to selecting it from its `repr` +val sel (#a:_) (#b:_) + (r:map a b) + (x:a) + : Pure (option (b x)) + (requires True) + (ensures (fun o -> DM.sel (repr r) x == o)) + +/// Updating a map using `upd r x v` is equivalent to updating its repr +val upd (#a:_) (#b:_) + (r:map a b) + (x:a) + (v:b x) + : Pure (map a b) + (requires True) + (ensures (fun r' -> repr r' == DM.upd (repr r) x (Some v))) + +/// `imap a b inv` further augments a map with an invariant on its repr +let imap (a:eqtype) (b: a -> Type) (inv:DM.t a (opt b) -> Type) = + r:map a b{inv (repr r)} + +/// `grows r1 r2` is an abstract preorder on `imap` +val grows (#a:_) (#b:_) (#inv:DM.t a (opt b) -> Type) + : FStar.Preorder.preorder (imap a b inv) + +/// And, finally, the main type of this module: +/// +/// `t r a b inv` is a mutable, imap stored in region `r` constrained +/// to evolve according to `grows` +let t (r:HST.erid) (a:eqtype) (b:a -> Type) (inv:DM.t a (opt b) -> Type) = + m_rref r (imap a b inv) grows + +/// `defined t x h`: In state `h`, map `t` is defined at point `x`. +/// - We define these in `Type` rather than `bool` +/// since it is typical for client code to use `defined` +/// as a stable heap predicate, which requires a `heap -> Type` +let defined + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (h:HS.mem) + : GTot Type + = Some? (sel (HS.sel h t) x) + +/// `fresh t x h`: The map is not defined at point `x` +let fresh + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (h:HS.mem) + : GTot Type0 + = ~ (defined t x h) + +/// `value_of t x h`: Get the value of `x` in the map `t` in state `h` +let value_of + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (h:HS.mem{defined t x h}) + : GTot (b x) + = Some?.v (sel (HS.sel h t) x) + +/// `contains t x y h`: In state `h`, `t` maps `x` to `y` +let contains + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (y:b x) + (h:HS.mem) + : GTot Type0 + = defined t x h /\ + value_of t x h == y + +/// `contains_stable`: The `contains` predicate is stable with respect to `grows` +val contains_stable + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (y:b x) + : Lemma (ensures (HST.stable_on_t t (contains t x y))) + +/// `defined_stable`: The `defined` predicate is stable with respect to `grows` +/// - this is easily derivable from the previous lemma +/// But, we provide it here as a convenience to clients +val defined_stable + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + : Lemma (ensures (HST.stable_on_t t (defined t x))) + +//////////////////////////////////////////////////////////////////////////////// +// Interface of stateful operations +//////////////////////////////////////////////////////////////////////////////// + +/// `alloc ()`: Allocating a new `t` requires proving the `inv` of the empty map +val alloc (#a:eqtype) (#b:a -> Type) (#inv:DM.t a (opt b) -> Type) (#r:HST.erid) + (_:unit{inv (repr empty)}) + : ST (t r a b inv) + (requires (fun h -> HyperStack.ST.witnessed (region_contains_pred r))) + (ensures (fun h0 x h1 -> + ralloc_post r empty h0 x h1)) + +/// `extend t x y`: Extending `t` with (x -> y) +/// Requires: - proving that the `t` does not already define `x` +/// - and that the resulting heap would still respect `inv` +/// Ensures: - that only `t` is modified +/// - by updating it to contain `(x -> y)` +/// - and in the future `t` will always contain `(x -> y)` + +val extend + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + (y:b x) + : Stack unit + (requires (fun h -> + ~(defined t x h) /\ + inv (repr (upd (HS.sel h t) x y)))) + (ensures (fun h0 u h1 -> + let cur = HS.sel h0 t in + HS.contains h1 t /\ + HS.modifies (Set.singleton r) h0 h1 /\ + HS.modifies_ref r (Set.singleton (HS.as_addr t)) h0 h1 /\ + HS.sel h1 t == upd cur x y /\ + witnessed (contains t x y))) + +/// `lookup t x`: Querying the map `t` at point `x` +/// Ensures: - The state does not change +/// - If it returns `Some v`, then `t` will always contains `x -> v` +val lookup + (#a:eqtype) + (#b:a -> Type) + (#inv:DM.t a (opt b) -> Type) + (#r:HST.erid) + (t:t r a b inv) + (x:a) + : ST (option (b x)) + (requires (fun h -> True)) + (ensures (fun h0 y h1 -> + h0==h1 /\ + y == sel (HS.sel h1 t) x /\ + (match y with + | None -> ~(defined t x h1) + | Some v -> + contains t x v h1 /\ + witnessed (contains t x v)))) + +let forall_t (#a:eqtype) (#b:a -> Type) (#inv:DM.t a (opt b) -> Type) (#r:HST.erid) + (t:t r a b inv) (h:HS.mem) (pred: (x:a) -> b x -> Type0) + = forall (x:a).{:pattern (sel (HS.sel h t) x) \/ (DM.sel (repr (HS.sel h t)) x)} + defined t x h ==> pred x (Some?.v (sel (HS.sel h t) x)) + +let f_opt (#a:eqtype) (#b #c:a -> Type) (f: (x:a) -> b x -> c x) :(x:a) -> option (b x) -> option (c x) + = fun x y -> + match y with + | None -> None + | Some y -> Some (f x y) + +val mmap_f (#a:eqtype) (#b #c:a -> Type) (m:map a b) (f: (x:a) -> b x -> c x) + :Tot (m':(map a c){repr m' == DM.map (f_opt f) (repr m)}) + +val map_f (#a:eqtype) (#b #c:a -> Type) + (#inv:DM.t a (opt b) -> Type) (#inv':DM.t a (opt c) -> Type) + (#r #r':HST.erid) + (m:t r a b inv) (f: (x:a) -> b x -> c x) + :ST (t r' a c inv') + (requires (fun h0 -> inv' (DM.map (f_opt f) (repr (HS.sel h0 m))) /\ witnessed (region_contains_pred r'))) + (ensures (fun h0 m' h1 -> + inv' (DM.map (f_opt f) (repr (HS.sel h0 m))) /\ //AR: surprised that even after the fix for #57, we need this repetition from the requires clause + ralloc_post r' (mmap_f (HS.sel h0 m) f) h0 m' h1)) diff --git a/stage0/ulib/FStar.Monotonic.Heap.fst b/stage0/ulib/FStar.Monotonic.Heap.fst new file mode 100644 index 00000000000..1d9e5424251 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Heap.fst @@ -0,0 +1,331 @@ +(* + 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.Monotonic.Heap + +open FStar.Preorder +open FStar.Classical +module F = FStar.FunctionalExtensionality + +private noeq type heap_rec = { + next_addr: pos; + memory : F.restricted_t pos (fun (x:pos) + -> option (a:Type0 & rel:(option (preorder a)) & b:bool & a)) + //type, preorder, mm flag, and value +} + +let heap = h:heap_rec{(forall (n:nat). n >= h.next_addr ==> None? (h.memory n))} + +let equal h1 h2 = + let _ = () in + h1.next_addr = h2.next_addr /\ + FStar.FunctionalExtensionality.feq h1.memory h2.memory + +let equal_extensional h1 h2 = () + +let emp = { + next_addr = 1; + memory = F.on_dom pos (fun r -> None) +} + +let next_addr h = h.next_addr + +noeq +type core_mref (a:Type0) : Type0 = { + addr: (x: nat { x > 0 } ); + init: a; + mm: bool; //manually managed flag +} + +let addr_of #a #rel r = r.addr + +let is_mm #a #rel r = r.mm + +let contains #a #rel h r = + let _ = () in + Some? (h.memory r.addr) /\ + (let Some (| a1, pre_opt, mm, _ |) = h.memory r.addr in + a == a1 /\ Some? pre_opt /\ Some?.v pre_opt == rel /\ mm = r.mm) //using `===` here, since otherwise typechecker fails with a and a1 being different types, why? + +let addr_unused_in n h = n <> 0 && None? (h.memory n) + +let not_addr_unused_in_nullptr h = () + +let unused_in #a #rel r h = addr_unused_in (addr_of r) h + +let sel_tot #a #rel h r = + let Some (| _, _, _, x |) = h.memory r.addr in + x + +// +// We want to provide a `sel` API to the client that does not require a +// `contains` precondition, so that the clients don't have to prove it at +// every use of `sel` +// +// To do so, we need to be able to branch on whether the ref is contained in the heap +// +// But that's a problem since `contains` is in prop +// +// The following function assumes a boolean returning version of contains +// We could implement is using the classical strong excluded middle axiom, +// but we prefer to assume an specialized instance of it +// +assume val contains_bool (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) + : GTot (b:bool{b <==> (h `contains` r)}) + +let sel #a #rel h r = + if h `contains_bool` r + then sel_tot #a h r + else r.init + +let upd_tot' (#a: Type0) (#rel: preorder a) (h: heap) (r: mref a rel) (x: a) = + { h with memory = F.on_dom pos (fun r' -> if r.addr = r' + then Some (| a, Some rel, r.mm, x |) + else h.memory r') } + +let upd_tot #a #rel h r x = upd_tot' h r x + +let upd #a #rel h r x = + if h `contains_bool` r + then upd_tot' h r x + else + if r.addr >= h.next_addr + then + { next_addr = r.addr + 1; + memory = F.on_dom pos (fun r' -> if r' = r.addr + then Some (| a, Some rel, r.mm, x |) + else h.memory r') } + else + { h with memory = F.on_dom pos (fun r' -> if r' = r.addr + then Some (| a, Some rel, r.mm, x |) + else h.memory r') } + +let alloc #a rel h x mm = + let r = { addr = h.next_addr; init = x; mm = mm } in + r, { next_addr = r.addr + 1; + memory = F.on_dom pos (fun r' -> if r' = r.addr + then Some (| a, Some rel, r.mm, x |) + else h.memory r') } + +let free_mm #a #rel h r = + { h with memory = F.on_dom pos (fun r' -> if r' = r.addr then None else h.memory r') } + +(* + * update of a well-typed mreference + *) +private let lemma_upd_contains_test + (#a:Type) (#rel:preorder a) (h0:heap) (r:mref a rel) (x:a) + :Lemma (h0 `contains` r ==> + (let h1 = upd h0 r x in + (forall (b:Type) (rel:preorder b) (r':mref b rel). (h0 `contains` r' /\ addr_of r' = addr_of r) ==> sel h1 r' == x /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). addr_of r' <> addr_of r ==> sel h0 r' == sel h1 r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). h0 `contains` r' <==> h1 `contains` r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). r' `unused_in` h0 <==> r' `unused_in` h1)))) + = () + +(* + * update of a mreference that is mapped but not necessarily well-typed + * we cannot prove that h0 `contains` r' ==> h1 `contains` r' + * because consider that in h0 (r:mref a) contains (| b, y:b |), + * and that (r':mref b) s.t. r'.addr = r.addr + * in h0, r' is well-typed, but in h1 it's not + *) +private let lemma_upd_contains_not_necessarily_well_typed_test + (#a:Type) (#rel:preorder a) (h0:heap) (r:mref a rel) (x:a) + :Lemma ((~ (r `unused_in` h0)) ==> + (let h1 = upd h0 r x in + h1 `contains` r /\ + (forall (b:Type) (#rel:preorder b) (r':mref b rel). addr_of r' <> addr_of r ==> sel h0 r' == sel h1 r') /\ + (forall (b:Type) (#rel:preorder b) (r':mref b rel). (r'.addr <> r.addr /\ h0 `contains` r') ==> h1 `contains` r') /\ + (forall (b:Type) (#rel:preorder b) (r':mref b rel). r' `unused_in` h0 <==> r' `unused_in` h1))) + = () + +(* + * update of an unused mreference + *) +private let lemma_upd_unused_test + (#a:Type) (#rel:preorder a) (h0:heap) (r:mref a rel) (x:a) + :Lemma (r `unused_in` h0 ==> + (let h1 = upd h0 r x in + h1 `contains` r /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). addr_of r' <> addr_of r ==> sel h0 r' == sel h1 r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). h0 `contains` r' ==> h1 `contains` r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). ~ (r' `unused_in` h0) ==> ~ (r' `unused_in` h1)))) + = () + +(* + * alloc and alloc_mm behaves just like upd of an unmapped mreference + *) +private let lemma_alloc_test (#a:Type) (rel:preorder a) (h0:heap) (x:a) (mm:bool) + :Lemma (let (r, h1) = alloc rel h0 x mm in + r `unused_in` h0 /\ + h1 `contains` r /\ + is_mm r = mm /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). addr_of r' <> addr_of r ==> sel h0 r' == sel h1 r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). h0 `contains` r' ==> h1 `contains` r') /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). ~ (r' `unused_in` h0) ==> ~ (r' `unused_in` h1))) + = () + +private let lemma_free_mm_test (#a:Type) (rel:preorder a) (h0:heap) (r:mref a rel{h0 `contains` r /\ is_mm r}) + :Lemma (let h1 = free_mm h0 r in + r `unused_in` h1 /\ + (forall (b:Type) (rel:preorder b) (r':mref b rel). addr_of r' <> addr_of r ==> + ((sel h0 r' == sel h1 r' /\ + (h0 `contains` r' <==> h1 `contains` r') /\ + (r' `unused_in` h0 <==> r' `unused_in` h1))))) + = () + +private let lemma_alloc_fresh_test (#a:Type) (rel:preorder a) (h0:heap) (x:a) (mm:bool) + :Lemma (let r, h1 = alloc rel h0 x mm in + fresh r h0 h1 /\ modifies Set.empty h0 h1) + = () + +let lemma_ref_unused_iff_addr_unused #a #rel h r = () +let lemma_contains_implies_used #a #rel h r = () +let lemma_distinct_addrs_distinct_types #a #b #rel1 #rel2 h r1 r2 = () +let lemma_distinct_addrs_distinct_preorders u = () +let lemma_distinct_addrs_distinct_mm u = () +let lemma_distinct_addrs_unused #a #b #rel1 #rel2 h r1 r2 = () +let lemma_alloc #a rel h0 x mm = + let r, h1 = alloc rel h0 x mm in + let h1' = upd h0 r x in + assert (equal h1 h1') +let lemma_free_mm_sel #a #b #rel1 #rel2 h0 r1 r2 = () +let lemma_free_mm_contains #a #b #rel1 #rel2 h0 r1 r2 = () +let lemma_free_mm_unused #a #b #rel1 #rel2 h0 r1 r2 = () +let lemma_free_addr_unused_in #a #rel h r n = () +let lemma_sel_same_addr #a #rel h r1 r2 = () +let lemma_sel_upd1 #a #rel h r1 x r2 = () +let lemma_sel_upd2 #a #b #rel1 #rel2 h r1 r2 x = () +let lemma_mref_injectivity = () +let lemma_in_dom_emp #a #rel r = () +let lemma_upd_contains #a #rel h r x = () +let lemma_well_typed_upd_contains #a #b #rel1 #rel2 h r1 x r2 = () +let lemma_unused_upd_contains #a #b #rel1 #rel2 h r1 x r2 = () +let lemma_upd_contains_different_addr #a #b #rel1 #rel2 h r1 x r2 = () +let lemma_upd_unused #a #b #rel1 #rel2 h r1 x r2 = () +let lemma_contains_upd_modifies #a #rel h r x = () +let lemma_unused_upd_modifies #a #rel h r x = () + +let lemma_sel_equals_sel_tot_for_contained_refs #a #rel h r = () +let lemma_upd_equals_upd_tot_for_contained_refs #a #rel h r x = () +let lemma_modifies_and_equal_dom_sel_diff_addr #a #rel s h0 h1 r = () + +let lemma_heap_equality_upd_same_addr #a #rel h r1 r2 x = + assert (equal (upd h r1 x) (upd h r2 x)) + +let lemma_heap_equality_cancel_same_mref_upd #a #rel h r x y = + let h0 = upd (upd h r x) r y in + let h1 = upd h r y in + assert (equal h0 h1) + +let lemma_heap_equality_upd_with_sel #a #rel h r = + let h' = upd h r (sel h r) in + let Some (| _, _, _, _ |) = h.memory r.addr in + assert (equal h h') + +let lemma_heap_equality_commute_distinct_upds #a #b #rel_a #rel_b h r1 r2 x y = + let h0 = upd (upd h r1 x) r2 y in + let h1 = upd (upd h r2 y) r1 x in + assert (equal h0 h1) + +let lemma_next_addr_upd_tot #_ #_ _ _ _ = () +let lemma_next_addr_upd #_ #_ _ _ _ = () +let lemma_next_addr_alloc #_ _ _ _ _ = () +let lemma_next_addr_free_mm #_ #_ _ _ = () +let lemma_next_addr_contained_refs_addr #_ #_ _ _ = () + +(*** Untyped views of references *) + +(* Definition and ghost decidable equality *) +noeq type aref' :Type0 = { + a_addr: (x: nat { x > 0 } ); + a_mm: bool; //manually managed flag +} +let aref = aref' +let dummy_aref = { + a_addr = 1; + a_mm = false; +} +let aref_equal a1 a2 = a1.a_addr = a2.a_addr && a1.a_mm = a2.a_mm + +(* Introduction rule *) +let aref_of #t #rel r = { + a_addr = r.addr; + a_mm = r.mm; +} + +(* Operators lifted from ref *) +let addr_of_aref a = a.a_addr +let addr_of_aref_of #t #rel r = () +let aref_is_mm a = a.a_mm +let is_mm_aref_of #t #rel r = () +let aref_unused_in a h = None? (h.memory a.a_addr) +let unused_in_aref_of #t #rel r h = () +let contains_aref_unused_in #a #rel h x y = () + +(* Elimination rule *) +let aref_live_at (h: heap) (a: aref) (t: Type0) (rel: preorder t) = + let _ = () in + Some? (h.memory a.a_addr) /\ + (let Some (| a1, pre_opt, mm, _ |) = h.memory a.a_addr in + t == a1 /\ Some? pre_opt /\ Some?.v pre_opt === rel /\ mm == a.a_mm) //using `===` here, since otherwise typechecker fails with a and a1 being different types, why? + +let ref_of' + (h: heap) + (a: aref) + (t: Type0) + (rel: preorder t) +: Pure (mref t rel) + (requires (aref_live_at h a t rel)) + (ensures (fun _ -> True)) += let Some (| _, pre_opt, _, x |) = h.memory a.a_addr in + { + addr = a.a_addr; + init = x; + mm = a.a_mm + } + +let gref_of a t rel = + let m : squash (exists (h: heap) . aref_live_at h a t rel) = () in + let l : (exists (h: heap) . aref_live_at h a t rel) = + Squash.join_squash #(h: heap & aref_live_at h a t rel) m + in + let k : (exists (h: heap { aref_live_at h a t rel} ) . squash True ) = + FStar.Squash.bind_squash + #(h: heap & aref_live_at h a t rel) + #(h: (h: heap { aref_live_at h a t rel} ) & squash True) + l + (fun h -> let (| h', _ |) = h in Squash.return_squash (| h', () |) ) + in + let h = FStar.ErasedLogic.exists_proj1 #(h: heap {aref_live_at h a t rel}) #(fun _ -> squash True) k in + ref_of' h a t rel + +let ref_of h a t rel = ref_of' h a t rel + +let aref_live_at_aref_of h #t #rel r = () +let contains_gref_of h a t rel = () +let aref_of_gref_of a t rel = () + +let addr_of_gref_of a t rel = addr_of_aref_of (gref_of a t rel) + +let is_mm_gref_of a t rel = is_mm_aref_of (gref_of a t rel) + +let unused_in_gref_of a t rel h = unused_in_aref_of (gref_of a t rel) h + +let sel_ref_of a t rel h1 h2 = () + +let upd_ref_of a t rel h1 h2 x = + lemma_heap_equality_upd_same_addr h1 (ref_of h2 a t rel) (gref_of a t rel) x diff --git a/stage0/ulib/FStar.Monotonic.Heap.fsti b/stage0/ulib/FStar.Monotonic.Heap.fsti new file mode 100644 index 00000000000..35834a1df3b --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Heap.fsti @@ -0,0 +1,419 @@ +(* + 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.Monotonic.Heap + +module S = FStar.Set +module TS = FStar.TSet + +open FStar.Preorder + +let set = Set.set +let tset = TSet.set + +val heap :Type u#1 + +val equal: heap -> heap -> Type0 + +val equal_extensional (h1:heap) (h2:heap) + :Lemma (requires True) (ensures (equal h1 h2 <==> h1 == h2)) + [SMTPat (equal h1 h2)] + +val emp :heap + +val next_addr: heap -> GTot pos + +new +val core_mref ([@@@ strictly_positive] a:Type0) : Type0 + +let mref (a:Type0) (rel:preorder a) : Type0 = core_mref a + +val addr_of: #a:Type0 -> #rel:preorder a -> mref a rel -> GTot pos + +val is_mm: #a:Type0 -> #rel:preorder a -> mref a rel -> GTot bool + +let compare_addrs (#a #b:Type0) (#rel1:preorder a) (#rel2:preorder b) (r1:mref a rel1) (r2:mref b rel2) + :GTot bool = addr_of r1 = addr_of r2 + +val contains: #a:Type0 -> #rel:preorder a -> heap -> mref a rel -> Type0 + +val addr_unused_in: nat -> heap -> Type0 + +val not_addr_unused_in_nullptr (h: heap) : Lemma (~ (addr_unused_in 0 h)) + +val unused_in: #a:Type0 -> #rel:preorder a -> mref a rel -> heap -> Type0 + +let fresh (#a:Type) (#rel:preorder a) (r:mref a rel) (h0:heap) (h1:heap) = + r `unused_in` h0 /\ h1 `contains` r + +let only_t (#a:Type0) (#rel:preorder a) (x:mref a rel) :GTot (tset nat) = TS.singleton (addr_of x) + +let only (#a:Type0) (#rel:preorder a) (x:mref a rel) :GTot (set nat) = S.singleton (addr_of x) + +let op_Hat_Plus_Plus (#a:Type0) (#rel:preorder a) (r:mref a rel) (s:set nat) :GTot (set nat) = S.union (only r) s + +let op_Plus_Plus_Hat (#a:Type0) (#rel:preorder a) (s:set nat) (r:mref a rel) :GTot (set nat) = S.union s (only r) + +let op_Hat_Plus_Hat (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (r1:mref a rel1) (r2:mref b rel2) + :GTot (set nat) = S.union (only r1) (only r2) + +val sel_tot: #a:Type0 -> #rel:preorder a -> h:heap -> r:mref a rel{h `contains` r} -> Tot a + +val sel: #a:Type0 -> #rel:preorder a -> heap -> mref a rel -> GTot a + +val upd_tot: #a:Type0 -> #rel:preorder a -> h:heap -> r:mref a rel{h `contains` r} -> x:a -> Tot heap + +val upd: #a:Type0 -> #rel:preorder a -> h:heap -> r:mref a rel -> x:a -> GTot heap + +val alloc: #a:Type0 -> rel:preorder a -> heap -> a -> mm:bool -> Tot (mref a rel & heap) + +val free_mm: #a:Type0 -> #rel:preorder a -> h:heap -> r:mref a rel{h `contains` r /\ is_mm r} -> Tot heap + +let modifies_t (s:tset nat) (h0:heap) (h1:heap) = + (forall (a:Type) (rel:preorder a) (r:mref a rel).{:pattern (sel h1 r)} + ((~ (TS.mem (addr_of r) s)) /\ h0 `contains` r) ==> sel h1 r == sel h0 r) /\ + (forall (a:Type) (rel:preorder a) (r:mref a rel).{:pattern (contains h1 r)} + h0 `contains` r ==> h1 `contains` r) /\ + (forall (a:Type) (rel:preorder a) (r:mref a rel).{:pattern (r `unused_in` h0)} + r `unused_in` h1 ==> r `unused_in` h0) /\ + (forall (n: nat) . {:pattern (n `addr_unused_in` h0) } + n `addr_unused_in` h1 ==> n `addr_unused_in` h0 + ) + + +let modifies (s:set nat) (h0:heap) (h1:heap) = modifies_t (TS.tset_of_set s) h0 h1 + +let equal_dom (h1:heap) (h2:heap) :GTot Type0 = + (forall (a:Type0) (rel:preorder a) (r:mref a rel). + {:pattern (h1 `contains` r) \/ (h2 `contains` r)} + h1 `contains` r <==> h2 `contains` r) /\ + (forall (a:Type0) (rel:preorder a) (r:mref a rel). + {:pattern (r `unused_in` h1) \/ (r `unused_in` h2)} + r `unused_in` h1 <==> r `unused_in` h2) + +val lemma_ref_unused_iff_addr_unused (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) + :Lemma (requires True) + (ensures (r `unused_in` h <==> addr_of r `addr_unused_in` h)) + [SMTPatOr [[SMTPat (r `unused_in` h)]; [SMTPat (addr_of r `addr_unused_in` h)]]] + +val lemma_contains_implies_used (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) + :Lemma (requires (h `contains` r)) + (ensures (~ (r `unused_in` h))) + [SMTPatOr [[SMTPat (h `contains` r)]; [SMTPat (r `unused_in` h)]]] + +val lemma_distinct_addrs_distinct_types + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (r2:mref b rel2) + :Lemma (requires (a =!= b /\ h `contains` r1 /\ h `contains` r2)) + (ensures (addr_of r1 <> addr_of r2)) + [SMTPat (h `contains` r1); SMTPat (h `contains` r2)] + +val lemma_distinct_addrs_distinct_preorders (u:unit) + :Lemma (forall (a:Type0) (rel1 rel2:preorder a) (r1:mref a rel1) (r2:mref a rel2) (h:heap). + {:pattern (h `contains` r1); (h `contains` r2)} + (h `contains` r1 /\ h `contains` r2 /\ rel1 =!= rel2) ==> addr_of r1 <> addr_of r2) + +val lemma_distinct_addrs_distinct_mm (u:unit) + :Lemma (forall (a b:Type0) (rel1:preorder a) (rel2:preorder b) (r1:mref a rel1) (r2:mref b rel2) (h:heap). + {:pattern (h `contains` r1); (h `contains` r2)} + (h `contains` r1 /\ h `contains` r2 /\ is_mm r1 =!= is_mm r2) ==> addr_of r1 <> addr_of r2) + +(* + * AR: this is a bit surprising. i had to add ~ (r1 === r2) postcondition to make the lemma + * lemma_live_1 in hyperstack to go through. if addr_of r1 <> addr_of r2, shouldn't we get ~ (r1 === r2) + * automatically? should dig into smt encoding to figure. + *) +val lemma_distinct_addrs_unused + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (r2:mref b rel2) + :Lemma (requires (r1 `unused_in` h /\ ~ (r2 `unused_in` h))) + (ensures (addr_of r1 <> addr_of r2 /\ (~ (r1 === r2)))) + [SMTPat (r1 `unused_in` h); SMTPat (r2 `unused_in` h)] + +val lemma_alloc (#a:Type0) (rel:preorder a) (h0:heap) (x:a) (mm:bool) + :Lemma (requires True) + (ensures (let r, h1 = alloc rel h0 x mm in + fresh r h0 h1 /\ h1 == upd h0 r x /\ is_mm r = mm /\ addr_of r == next_addr h0)) + [SMTPat (alloc rel h0 x mm)] + +val lemma_free_mm_sel + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h0:heap) + (r1:mref a rel1{h0 `contains` r1 /\ is_mm r1}) (r2:mref b rel2) + :Lemma (requires True) + (ensures (addr_of r2 <> addr_of r1 ==> sel h0 r2 == sel (free_mm h0 r1) r2)) + [SMTPat (sel (free_mm h0 r1) r2)] + +val lemma_free_mm_contains + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h0:heap) + (r1:mref a rel1{h0 `contains` r1 /\ is_mm r1}) (r2:mref b rel2) + :Lemma (requires True) + (ensures (let h1 = free_mm h0 r1 in + (addr_of r2 <> addr_of r1 /\ h0 `contains` r2) <==> h1 `contains` r2)) + [SMTPat ((free_mm h0 r1) `contains` r2)] + +val lemma_free_mm_unused + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h0:heap) + (r1:mref a rel1{h0 `contains` r1 /\ is_mm r1}) (r2:mref b rel2) + :Lemma (requires True) + (ensures (let h1 = free_mm h0 r1 in + ((addr_of r1 = addr_of r2 ==> r2 `unused_in` h1) /\ + (r2 `unused_in` h0 ==> r2 `unused_in` h1) /\ + (r2 `unused_in` h1 ==> (r2 `unused_in` h0 \/ addr_of r2 = addr_of r1))))) + [SMTPat (r2 `unused_in` (free_mm h0 r1))] + +val lemma_free_addr_unused_in + (#a: Type) (#rel: preorder a) (h: heap) (r: mref a rel { h `contains` r /\ is_mm r } ) + (n: nat) +: Lemma + (requires (n `addr_unused_in` (free_mm h r) /\ n <> addr_of r)) + (ensures (n `addr_unused_in` h)) + [SMTPat (n `addr_unused_in` (free_mm h r))] + +(* + * AR: we can prove this lemma only if both the mreferences have same preorder + *) +val lemma_sel_same_addr (#a:Type0) (#rel:preorder a) (h:heap) (r1:mref a rel) (r2:mref a rel) + :Lemma (requires (h `contains` r1 /\ addr_of r1 = addr_of r2 /\ is_mm r1 == is_mm r2)) + (ensures (h `contains` r2 /\ sel h r1 == sel h r2)) + [SMTPatOr [ + [SMTPat (sel h r1); SMTPat (sel h r2)]; + [SMTPat (h `contains` r1); SMTPat (h `contains` r2)]; + ]] + +(* + * AR: this is true only if the preorder is same, else r2 may not be contained in h + *) +val lemma_sel_upd1 (#a:Type0) (#rel:preorder a) (h:heap) (r1:mref a rel) (x:a) (r2:mref a rel) + :Lemma (requires (addr_of r1 = addr_of r2 /\ is_mm r1 == is_mm r2)) + (ensures (sel (upd h r1 x) r2 == x)) + [SMTPat (sel (upd h r1 x) r2)] + +val lemma_sel_upd2 (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (r2:mref b rel2) (x:b) + :Lemma (requires (addr_of r1 <> addr_of r2)) + (ensures (sel (upd h r2 x) r1 == sel h r1)) + [SMTPat (sel (upd h r2 x) r1)] + +val lemma_mref_injectivity + :(u:unit{forall (a:Type0) (b:Type0) (rel1:preorder a) (rel2:preorder b) (r1:mref a rel1) (r2:mref b rel2). a =!= b ==> ~ (r1 === r2)}) + +val lemma_in_dom_emp (#a:Type0) (#rel:preorder a) (r:mref a rel) + :Lemma (requires True) + (ensures (r `unused_in` emp)) + [SMTPat (r `unused_in` emp)] + +val lemma_upd_contains (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) (x:a) + :Lemma (requires True) + (ensures ((upd h r x) `contains` r)) + [SMTPat ((upd h r x) `contains` r)] + +val lemma_well_typed_upd_contains + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (x:a) (r2:mref b rel2) + :Lemma (requires (h `contains` r1)) + (ensures (let h1 = upd h r1 x in + h1 `contains` r2 <==> h `contains` r2)) + [SMTPat ((upd h r1 x) `contains` r2)] + +val lemma_unused_upd_contains + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (x:a) (r2:mref b rel2) + :Lemma (requires (r1 `unused_in` h)) + (ensures (let h1 = upd h r1 x in + (h `contains` r2 ==> h1 `contains` r2) /\ + (h1 `contains` r2 ==> (h `contains` r2 \/ addr_of r2 = addr_of r1)))) + [SMTPat ((upd h r1 x) `contains` r2)] + +val lemma_upd_contains_different_addr + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (x:a) (r2:mref b rel2) + :Lemma (requires (h `contains` r2 /\ addr_of r1 <> addr_of r2)) + (ensures ((upd h r1 x) `contains` r2)) + [SMTPat ((upd h r1 x) `contains` r2)] + +val lemma_upd_unused + (#a:Type0) (#b:Type0) (#rel1:preorder a) (#rel2:preorder b) (h:heap) (r1:mref a rel1) (x:a) (r2:mref b rel2) + :Lemma (requires True) + (ensures ((addr_of r1 <> addr_of r2 /\ r2 `unused_in` h) <==> r2 `unused_in` (upd h r1 x))) + [SMTPat (r2 `unused_in` (upd h r1 x))] + +val lemma_contains_upd_modifies (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) (x:a) + :Lemma (requires (h `contains` r)) + (ensures (modifies (S.singleton (addr_of r)) h (upd h r x))) + [SMTPat (upd h r x)] + +val lemma_unused_upd_modifies (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) (x:a) + :Lemma (requires (r `unused_in` h)) + (ensures (modifies (Set.singleton (addr_of r)) h (upd h r x))) + [SMTPat (upd h r x); SMTPat (r `unused_in` h)] + +val lemma_sel_equals_sel_tot_for_contained_refs + (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel{h `contains` r}) + :Lemma (requires True) + (ensures (sel_tot h r == sel h r)) + +val lemma_upd_equals_upd_tot_for_contained_refs + (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel{h `contains` r}) (x:a) + :Lemma (requires True) + (ensures (upd_tot h r x == upd h r x)) + +val lemma_modifies_and_equal_dom_sel_diff_addr + (#a:Type0)(#rel:preorder a) (s:set nat) (h0:heap) (h1:heap) (r:mref a rel) + :Lemma (requires (modifies s h0 h1 /\ equal_dom h0 h1 /\ (~ (S.mem (addr_of r) s)))) + (ensures (sel h0 r == sel h1 r)) + [SMTPat (modifies s h0 h1); SMTPat (equal_dom h0 h1); SMTPat (sel h1 r)] + +val lemma_heap_equality_upd_same_addr (#a: Type0) (#rel: preorder a) (h: heap) (r1 r2: mref a rel) (x: a) + :Lemma (requires ((h `contains` r1 \/ h `contains` r2) /\ addr_of r1 = addr_of r2 /\ is_mm r1 == is_mm r2)) + (ensures (upd h r1 x == upd h r2 x)) + +val lemma_heap_equality_cancel_same_mref_upd + (#a:Type) (#rel:preorder a) (h:heap) (r:mref a rel) + (x:a) (y:a) + :Lemma (requires True) + (ensures (upd (upd h r x) r y == upd h r y)) + +val lemma_heap_equality_upd_with_sel + (#a:Type) (#rel:preorder a) (h:heap) (r:mref a rel) + :Lemma (requires (h `contains` r)) + (ensures (upd h r (sel h r) == h)) + +val lemma_heap_equality_commute_distinct_upds + (#a:Type) (#b:Type) (#rel_a:preorder a) (#rel_b:preorder b) (h:heap) (r1:mref a rel_a) (r2:mref b rel_b) + (x:a) (y:b) + :Lemma (requires (addr_of r1 =!= addr_of r2)) + (ensures (upd (upd h r1 x) r2 y == upd (upd h r2 y) r1 x)) + +val lemma_next_addr_upd_tot + (#a:Type0) (#rel:preorder a) (h0:heap) (r:mref a rel{h0 `contains` r}) (x:a) + :Lemma (let h1 = upd_tot h0 r x in next_addr h1 == next_addr h0) + +val lemma_next_addr_upd + (#a:Type0) (#rel:preorder a) (h0:heap) (r:mref a rel) (x:a) + :Lemma (let h1 = upd h0 r x in next_addr h1 >= next_addr h0) + +val lemma_next_addr_alloc + (#a:Type0) (rel:preorder a) (h0:heap) (x:a) (mm:bool) + :Lemma (let _, h1 = alloc rel h0 x mm in next_addr h1 > next_addr h0) + +val lemma_next_addr_free_mm + (#a:Type0) (#rel:preorder a) (h0:heap) (r:mref a rel{h0 `contains` r /\ is_mm r}) + :Lemma (let h1 = free_mm h0 r in next_addr h1 == next_addr h0) + +val lemma_next_addr_contained_refs_addr + (#a:Type0) (#rel:preorder a) (h:heap) (r:mref a rel) + :Lemma (h `contains` r ==> addr_of r < next_addr h) + +(*** Untyped views of monotonic references *) + +(* Definition and ghost decidable equality *) +val aref: Type0 +val dummy_aref: aref +val aref_equal (a1 a2: aref) : Ghost bool (requires True) (ensures (fun b -> b == true <==> a1 == a2)) + +(* Introduction rule *) +val aref_of: #t: Type0 -> #rel: preorder t -> r: mref t rel -> Tot aref + +(* Operators lifted from ref *) +val addr_of_aref: a: aref -> GTot (n: nat { n > 0 } ) +val addr_of_aref_of: #t: Type0 -> #rel: preorder t -> r: mref t rel -> Lemma (addr_of r == addr_of_aref (aref_of r)) +[SMTPat (addr_of_aref (aref_of r))] +val aref_is_mm: aref -> GTot bool +val is_mm_aref_of: #t: Type0 -> #rel: preorder t -> r: mref t rel -> Lemma (is_mm r == aref_is_mm (aref_of r)) +[SMTPat (aref_is_mm (aref_of r))] +val aref_unused_in: aref -> heap -> Type0 +val unused_in_aref_of: #t: Type0 -> #rel: preorder t -> r: mref t rel -> h: heap -> Lemma (unused_in r h <==> aref_unused_in (aref_of r) h) +[SMTPat (aref_unused_in (aref_of r) h)] +val contains_aref_unused_in: #a:Type -> #rel: preorder a -> h:heap -> x:mref a rel -> y:aref -> Lemma + (requires (contains h x /\ aref_unused_in y h)) + (ensures (addr_of x <> addr_of_aref y)) + +(* Elimination rule *) +val aref_live_at: h: heap -> a: aref -> t: Type0 -> rel: preorder t -> GTot Type0 +val gref_of: a: aref -> t: Type0 -> rel: preorder t -> Ghost (mref t rel) (requires (exists h . aref_live_at h a t rel)) (ensures (fun _ -> True)) +val ref_of: h: heap -> a: aref -> t: Type0 -> rel: preorder t -> Pure (mref t rel) (requires (aref_live_at h a t rel)) (ensures (fun x -> aref_live_at h a t rel /\ addr_of (gref_of a t rel) == addr_of x /\ is_mm x == aref_is_mm a)) +val aref_live_at_aref_of + (h: heap) + (#t: Type0) + (#rel: preorder t) + (r: mref t rel) +: Lemma + (ensures (aref_live_at h (aref_of r) t rel <==> contains h r)) + [SMTPat (aref_live_at h (aref_of r) t rel)] +val contains_gref_of + (h: heap) + (a: aref) + (t: Type0) + (rel: preorder t) +: Lemma + (requires (exists h' . aref_live_at h' a t rel)) + (ensures ((exists h' . aref_live_at h' a t rel) /\ (contains h (gref_of a t rel) <==> aref_live_at h a t rel))) + [SMTPatOr [ + [SMTPat (contains h (gref_of a t rel))]; + [SMTPat (aref_live_at h a t rel)]; + ]] + +val aref_of_gref_of + (a: aref) + (t: Type0) + (rel: preorder t) +: Lemma + (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ aref_of (gref_of a t rel) == a)) + [SMTPat (aref_of (gref_of a t rel))] + +(* Operators lowered to ref *) +val addr_of_gref_of + (a: aref) + (t: Type0) + (rel: preorder t) +: Lemma + (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ addr_of (gref_of a t rel) == addr_of_aref a)) + [SMTPat (addr_of (gref_of a t rel))] + +val is_mm_gref_of + (a: aref) + (t: Type0) + (rel: preorder t) +: Lemma + (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ is_mm (gref_of a t rel) == aref_is_mm a)) + [SMTPat (is_mm (gref_of a t rel))] + +val unused_in_gref_of + (a: aref) + (t: Type0) + (rel: preorder t) + (h: heap) +: Lemma + (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ (unused_in (gref_of a t rel) h <==> aref_unused_in a h))) + [SMTPat (unused_in (gref_of a t rel) h)] + +val sel_ref_of + (a: aref) + (t: Type0) + (rel: preorder t) + (h1 h2: heap) +: Lemma + (requires (aref_live_at h1 a t rel /\ aref_live_at h2 a t rel)) + (ensures (aref_live_at h2 a t rel /\ sel h1 (ref_of h2 a t rel) == sel h1 (gref_of a t rel))) + [SMTPat (sel h1 (ref_of h2 a t rel))] + +val upd_ref_of + (a: aref) + (t: Type0) + (rel: preorder t) + (h1 h2: heap) + (x: t) +: Lemma + (requires (aref_live_at h1 a t rel /\ aref_live_at h2 a t rel)) + (ensures (aref_live_at h2 a t rel /\ upd h1 (ref_of h2 a t rel) x == upd h1 (gref_of a t rel) x)) + [SMTPat (upd h1 (ref_of h2 a t rel) x)] diff --git a/stage0/ulib/FStar.Monotonic.HyperHeap.fst b/stage0/ulib/FStar.Monotonic.HyperHeap.fst new file mode 100644 index 00000000000..284ef0cf097 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.HyperHeap.fst @@ -0,0 +1,139 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, 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.Monotonic.HyperHeap + +module Set = FStar.Set +module Map = FStar.Map + +open FStar.Monotonic.Heap +open FStar.Ghost + +(* + * This is a temporary assumption, we should fix the model to get rid of it + *) +assume HasEq_rid: hasEq (erased (list (int & int & bool))) + +let rid = erased (list (int & int & bool)) + +let reveal r = FStar.List.Tot.map (fun (i, j, _) -> i, j) (reveal r) + +let color r = + match reveal r with + | [] -> 0 + | (c, _)::_ -> c + +let rid_freeable r = + match Ghost.reveal r with + | [] -> false + | (_, _, b)::_ -> b + +let root = hide [] + +let root_last_component () = () + +let lemma_root_has_color_zero _ = () + +let root_is_not_freeable () = () + +let rid_length r = List.Tot.length (reveal r) + +let rid_tail (r:rid{rid_length r > 0}) = elift1_p (tot_to_gtot Cons?.tl) r + +let rec includes r1 r2 = + if r1 = r2 then true + else if rid_length r2 > rid_length r1 + then includes r1 (rid_tail r2) + else false + +private let rec lemma_aux (k:rid) (i:rid) + :Lemma (requires (rid_length k > 0 /\ + rid_length k <= rid_length i /\ + includes k i /\ + not (includes (rid_tail k) i))) + (ensures False) + (decreases (rid_length i)) + = lemma_aux k (rid_tail i) + +let rec lemma_disjoint_includes i j k = + if rid_length k <= rid_length j + then () + else (lemma_disjoint_includes i j (rid_tail k); + if rid_length i <= rid_length (rid_tail k) + then () + else (if includes k i + then lemma_aux k i + else ())) + +let extends r0 r1 = Cons? (reveal r0) && rid_tail r0 = r1 + +let parent r = rid_tail r + +let lemma_includes_refl _ = () + +let lemma_extends_includes _ _ = () + +let lemma_includes_anti_symmetric _ _ = () + +let lemma_extends_disjoint _ _ _ = () + +let lemma_extends_parent _ = () + +let lemma_extends_not_root _ _ = () + +let lemma_extends_only_parent _ _ = () + +private let test0 :unit = + assert (includes (hide [(0, 1, false) ; (1, 0, false)]) (hide [(2, 2, false); (0, 1, false); (1, 0, false)])) + +private let test1 (r1:rid) (r2:rid{includes r1 r2}) :unit = assert (includes r1 (hide ((0, 0, false)::(Ghost.reveal r2)))) + +let mod_set _ = magic () + +let rec lemma_includes_trans i j k = + if j = k then () + else match Ghost.reveal k with + | hd::tl -> lemma_includes_trans i j (hide tl) + +let lemma_modset _ _ = () + +let lemma_modifies_includes _ _ _ _ = () + +let lemma_modifies_includes2 _ _ _ _ = () + +let lemma_disjoint_parents _ _ _ _ = () + +let lemma_include_cons _ _ = () + +let extends_parent _ _ = () + +let includes_child _ _ = () + +let root_is_root _ = () + +let extend r n c = + elift1 (fun r -> + let freeable = rid_freeable (hide r) in + (c, n, freeable)::r + ) r + +let extend_monochrome_freeable r n freeable = + elift1 (fun r -> + let c = color (hide r) in + (c, n, freeable)::r + ) r + +let extend_monochrome r n = extend_monochrome_freeable r n (rid_freeable r) + diff --git a/stage0/ulib/FStar.Monotonic.HyperHeap.fsti b/stage0/ulib/FStar.Monotonic.HyperHeap.fsti new file mode 100644 index 00000000000..927f269cbaa --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.HyperHeap.fsti @@ -0,0 +1,195 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, 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.Monotonic.HyperHeap + +module Set = FStar.Set +module Map = FStar.Map + +open FStar.Monotonic.Heap +open FStar.Ghost + +(* + * This module provides the map view of the memory and associated functions and lemmas + * The intention of this module is for it to be included in HyperStack + * Clients should not open/know about HyperHeap, they should work only with HyperStack + *) + +(* + * AR: mark it must_erase_for_extraction temporarily until CMI comes in + *) +[@@must_erase_for_extraction] +val rid :eqtype + +val reveal (r:rid) :GTot (list (int & int)) + +let rid_last_component (r:rid) :GTot int + = let open FStar.List.Tot.Base in + let r = reveal r in + if length r = 0 then 0 + else snd (hd r) + +val color (x:rid) :GTot int + +val rid_freeable (x:rid) : GTot bool + +type hmap = Map.t rid heap + +val root : r:rid{color r == 0 /\ not (rid_freeable r)} + +val root_last_component (_:unit) : Lemma (rid_last_component root == 0) + +let root_has_color_zero (u:unit) :Lemma (color root == 0) = () + +val root_is_not_freeable (_:unit) : Lemma (not (rid_freeable root)) + +private val rid_length (r:rid) :GTot nat + +private val rid_tail (r:rid{rid_length r > 0}) :rid + +val includes (r1:rid) (r2:rid) :GTot bool (decreases (reveal r2)) + +let disjoint (i:rid) (j:rid) :GTot bool = not (includes i j) && not (includes j i) + +val lemma_disjoint_includes (i:rid) (j:rid) (k:rid) + :Lemma (requires (disjoint i j /\ includes j k)) + (ensures (disjoint i k)) + (decreases (List.Tot.Base.length (reveal k))) + [SMTPat (disjoint i j); SMTPat (includes j k)] + +val extends (i:rid) (j:rid) :GTot bool + +val parent (r:rid{r =!= root}) :rid + +val lemma_includes_refl (i:rid) + :Lemma (includes i i) + [SMTPat (includes i i)] + +val lemma_extends_includes (i:rid) (j:rid) + :Lemma (requires (extends j i)) + (ensures (includes i j /\ not(includes j i))) + [SMTPat (extends j i)] + +val lemma_includes_anti_symmetric (i:rid) (j:rid) + :Lemma (requires (includes i j /\ i =!= j)) + (ensures (not (includes j i))) + [SMTPat (includes i j)] + +val lemma_extends_disjoint (i:rid) (j:rid) (k:rid) + :Lemma (requires (extends j i /\ extends k i /\ j =!= k)) + (ensures (disjoint j k)) + +val lemma_extends_parent (i:rid{i =!= root}) + :Lemma (extends i (parent i)) + [SMTPat (parent i)] + +val lemma_extends_not_root (i:rid) (j:rid{extends j i}) + :Lemma (j =!= root) + [SMTPat (extends j i)] + +val lemma_extends_only_parent (i:rid) (j:rid{extends j i}) + :Lemma (i == parent j) + [SMTPat (extends j i)] + +val mod_set (s:Set.set rid) :(Set.set rid) +assume Mod_set_def: forall (x:rid) (s:Set.set rid). {:pattern Set.mem x (mod_set s)} + Set.mem x (mod_set s) <==> (exists (y:rid). Set.mem y s /\ includes y x) + +let modifies (s:Set.set rid) (m0:hmap) (m1:hmap) = + Map.equal m1 (Map.concat m1 (Map.restrict (Set.complement (mod_set s)) m0)) /\ + Set.subset (Map.domain m0) (Map.domain m1) + +let modifies_just (s:Set.set rid) (m0:hmap) (m1:hmap) = + Map.equal m1 (Map.concat m1 (Map.restrict (Set.complement s) m0)) /\ + Set.subset (Map.domain m0) (Map.domain m1) + +let modifies_one (r:rid) (m0:hmap) (m1:hmap) = modifies_just (Set.singleton r) m0 m1 + +let equal_on (s:Set.set rid) (m0:hmap) (m1:hmap) = + (forall (r:rid). {:pattern (Map.contains m0 r)} (Set.mem r (mod_set s) /\ Map.contains m0 r) ==> Map.contains m1 r) /\ + Map.equal m1 (Map.concat m1 (Map.restrict (mod_set s) m0)) + +let lemma_modifies_just_trans (m1:hmap) (m2:hmap) (m3:hmap) + (s1:Set.set rid) (s2:Set.set rid) + :Lemma (requires (modifies_just s1 m1 m2 /\ modifies_just s2 m2 m3)) + (ensures (modifies_just (Set.union s1 s2) m1 m3)) + = () + +let lemma_modifies_trans (m1:hmap) (m2:hmap) (m3:hmap) + (s1:Set.set rid) (s2:Set.set rid) + :Lemma (requires (modifies s1 m1 m2 /\ modifies s2 m2 m3)) + (ensures (modifies (Set.union s1 s2) m1 m3)) + = () + +val lemma_includes_trans (i:rid) (j:rid) (k:rid) + :Lemma (requires (includes i j /\ includes j k)) + (ensures (includes i k)) + (decreases (reveal k)) + [SMTPat (includes i j); SMTPat (includes j k)] + +val lemma_modset (i:rid) (j:rid) + :Lemma (requires (includes j i)) + (ensures (Set.subset (mod_set (Set.singleton i)) (mod_set (Set.singleton j)))) + +val lemma_modifies_includes (m1:hmap) (m2:hmap) (i:rid) (j:rid) + :Lemma (requires (modifies (Set.singleton i) m1 m2 /\ includes j i)) + (ensures (modifies (Set.singleton j) m1 m2)) + +val lemma_modifies_includes2 (m1:hmap) (m2:hmap) (s1:Set.set rid) (s2:Set.set rid) + :Lemma (requires (modifies s1 m1 m2 /\ (forall x. Set.mem x s1 ==> (exists y. Set.mem y s2 /\ includes y x)))) + (ensures (modifies s2 m1 m2)) + +val lemma_disjoint_parents (pr:rid) (r:rid) (ps:rid) (s:rid) + :Lemma (requires (r `extends` pr /\ s `extends` ps /\ disjoint pr ps)) + (ensures (disjoint r s)) + [SMTPat (extends r pr); SMTPat (extends s ps); SMTPat (disjoint pr ps)] + +val lemma_include_cons (i:rid) (j:rid) + :Lemma (requires (i =!= j /\ includes i j)) + (ensures (j =!= root)) + +let disjoint_regions (s1:Set.set rid) (s2:Set.set rid) = + forall x y. {:pattern (Set.mem x s1); (Set.mem y s2)} (Set.mem x s1 /\ Set.mem y s2) ==> disjoint x y + +val extends_parent (tip:rid{tip =!= root}) (r:rid) + :Lemma (extends r (parent tip) /\ r =!= tip ==> disjoint r tip \/ extends r tip) + [SMTPat (extends r (parent tip))] + +val includes_child (tip:rid{tip =!= root}) (r:rid) + :Lemma (includes r tip ==> r == tip \/ includes r (parent tip)) + [SMTPat (includes r (parent tip))] + +val root_is_root (s:rid) + :Lemma (requires (includes s root)) + (ensures (s == root)) + [SMTPat (includes s root)] + +unfold +let extend_post (r:rid) (n:int) (c:int) (freeable:bool) : pure_post rid = + fun s -> + s `extends` r /\ + Cons? (reveal s) /\ + Cons?.hd (reveal s) == (c, n) /\ + color s == c /\ + rid_freeable s == freeable + +val extend (r:rid) (n:int) (c:int) +: Pure rid (requires True) (extend_post r n c (rid_freeable r)) + +val extend_monochrome_freeable (r:rid) (n:int) (freeable:bool) +: Pure rid (requires True) (extend_post r n (color r) freeable) + +val extend_monochrome (r:rid) (n:int) +: Pure rid (requires True) (extend_post r n (color r) (rid_freeable r)) diff --git a/stage0/ulib/FStar.Monotonic.HyperStack.fst b/stage0/ulib/FStar.Monotonic.HyperStack.fst new file mode 100644 index 00000000000..54a0c230f6f --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.HyperStack.fst @@ -0,0 +1,208 @@ +(* + Copyright 2008-2014 Aseem Rastogi, 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.Monotonic.HyperStack + +open FStar.Preorder +module Map = FStar.Map + +let map_invariant = map_invariant_predicate + +let downward_closed = downward_closed_predicate + +let tip_top = tip_top_predicate + +let rid_ctr_pred = rid_ctr_pred_predicate + +noeq type mem' = + | HS :rid_ctr:int -> h:hmap -> tip:rid -> mem' + +let mk_mem rid_ctr h tip = HS rid_ctr h tip + +let get_hmap m = m.h +let get_rid_ctr m = m.rid_ctr +let get_tip m = m.tip + +let lemma_mk_mem'_projectors _ _ _ = () + +let lemma_mem_projectors_are_in_wf_relation _ = () + +let lemma_is_wf_ctr_and_tip_intro _ _ _ = root_is_not_freeable () + +let lemma_is_wf_ctr_and_tip_elim _ = () + +let lemma_map_invariant _ _ _ = () + +let lemma_downward_closed _ _ _ = () + +let lemma_tip_top _ _ = () + +let lemma_tip_top_smt _ _ = () + +let lemma_rid_ctr_pred _ = () + +let as_ref #_ #_ x = MkRef?.ref x + +let lemma_as_ref_inj #_ #_ _ = () + +private val lemma_extends_fresh_disjoint: i:rid -> j:rid -> ipar:rid -> jpar:rid + -> (m0:mem) -> (m1:mem) -> + Lemma (requires (let h0, h1 = get_hmap m0, get_hmap m1 in + (map_invariant h0 /\ + map_invariant h1 /\ + fresh_region i m0 m1 /\ + fresh_region j m0 m1 /\ + h0 `Map.contains` ipar /\ + h0 `Map.contains` jpar /\ + extends i ipar /\ + extends j jpar /\ + i<>j))) + (ensures (disjoint i j)) +let lemma_extends_fresh_disjoint i j ipar jpar m0 m1 = () + +let lemma_sel_same_addr #_ #_ _ _ _ = () + +let lemma_upd_same_addr #_ #_ h r1 r2 x = + FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr (Map.sel h.h (frameOf r1)) (as_ref r1) (as_ref r2) x; + Classical.or_elim #(h `contains` r1) #(~ (h `contains` r1)) + #(fun _ -> h `contains` r1 /\ h `contains` r2 /\ upd h r1 x == upd h r2 x) + (fun _ -> lemma_sel_same_addr h r1 r2) (fun _ -> lemma_sel_same_addr h r2 r1) + +let mreference_distinct_sel_disjoint #_ #_ #_ h r1 r2 = + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + Heap.lemma_sel_same_addr (Map.sel h.h (frameOf r1)) (as_ref r1) (as_ref r2) + +private let lemma_pop_is_popped (m0:mem{poppable m0}) + : Lemma (popped m0 (pop m0)) + = let m1 = pop m0 in + assert (Set.equal (Map.domain m1.h) (remove_elt (Map.domain m0.h) m0.tip)) + +let modifies_drop_tip _ _ _ _ = () + +let eternal_disjoint_from_tip _ _ = () + +let above_tip_is_live #_ #_ _ _ = () + +let lemma_heap_equality_cancel_same_mref_upd #_ #_ h r x y = + let h0 = upd (upd h r x) r y in + let h1 = upd h r y in + Heap.lemma_heap_equality_cancel_same_mref_upd (Map.sel h.h (frameOf r)) (as_ref r) x y; + assert (Map.equal h0.h h1.h) + +let lemma_heap_equality_upd_with_sel #_ #_ h r = + let h' = upd h r (sel h r) in + Heap.lemma_heap_equality_upd_with_sel (Map.sel h.h (frameOf r)) (as_ref r); + assert (Map.equal h.h h'.h) + +let lemma_heap_equality_commute_distinct_upds #_ #_ #_ #_ h r1 r2 x y = + let h0 = upd (upd h r1 x) r2 y in + let h1 = upd (upd h r2 y) r1 x in + if frameOf r1 = frameOf r2 then Heap.lemma_heap_equality_commute_distinct_upds (Map.sel h.h (frameOf r1)) (as_ref r1) (as_ref r2) x y; + assert (Map.equal h0.h h1.h) + +let lemma_next_addr_contained_refs_addr _ = + let aux (a:Type0) (rel:preorder a) (r:mreference a rel) (m:mem) + :Lemma (m `contains` r ==> as_addr r < Heap.next_addr (get_hmap m `Map.sel` frameOf r)) + = Heap.lemma_next_addr_contained_refs_addr (get_hmap m `Map.sel` frameOf r) (as_ref r) + in + Classical.forall_intro_4 aux + +private let lemma_upd_1 #a #rel (h:mem) (x:mreference a rel) (v:a{rel (sel h x) v}) : Lemma + (requires (contains h x)) + (ensures (contains h x + /\ modifies_one (frameOf x) h (upd h x v) + /\ modifies_ref (frameOf x) (Set.singleton (as_addr x)) h (upd h x v) + /\ sel (upd h x v) x == v )) + = () + +private let lemma_upd_2 (#a:Type) (#rel:preorder a) (h:mem) (x:mreference a rel) (v:a{rel (sel h x) v}) : Lemma + (requires (frameOf x = get_tip h /\ x `unused_in` h)) + (ensures (frameOf x = get_tip h + /\ modifies_one (get_tip h) h (upd h x v) + /\ modifies_ref (get_tip h) Set.empty h (upd h x v) + /\ sel (upd h x v) x == v )) + = () + +private val lemma_live_1: #a:Type -> #a':Type -> #rel:preorder a -> #rel':preorder a' + -> h:mem -> x:mreference a rel -> x':mreference a' rel' -> Lemma + (requires (contains h x /\ x' `unused_in` h)) + (ensures (frameOf x <> frameOf x' \/ ~ (as_ref x === as_ref x'))) +let lemma_live_1 #a #a' #rel #rel' h x x' = () + +(*** Untyped views of references *) + +(* Definition and ghost decidable equality *) + +noeq type aref = + | ARef: aref_region:rid -> + aref_aref:Heap.aref -> + aref + +let dummy_aref = ARef root Heap.dummy_aref + +let aref_equal a1 a2 = a1.aref_region = a2.aref_region && Heap.aref_equal a1.aref_aref a2.aref_aref + +let aref_of #_ #_ r = ARef (frameOf r) (Heap.aref_of (as_ref r)) + +let frameOf_aref a = a.aref_region + +let frameOf_aref_of #_ #_ _ = () + +let aref_as_addr a = Heap.addr_of_aref a.aref_aref + +let aref_as_addr_aref_of #_ #_ r = Heap.addr_of_aref_of (as_ref r) + +let aref_is_mm r = Heap.aref_is_mm r.aref_aref + +let is_mm_aref_of #_ #_ r = Heap.is_mm_aref_of (as_ref r) + +let aref_unused_in a h = + ~ (live_region h a.aref_region) \/ + Heap.aref_unused_in a.aref_aref (Map.sel h.h a.aref_region) + +let unused_in_aref_of #_ #_ r h = Heap.unused_in_aref_of (as_ref r) (Map.sel h.h (frameOf r)) + +let contains_aref_unused_in #_ #_ h x y = + if frameOf x = frameOf_aref y + then + Heap.contains_aref_unused_in (Map.sel h.h (frameOf x)) (as_ref x) y.aref_aref + else () + +let aref_live_at h a v rel = + live_region h a.aref_region /\ + Heap.aref_live_at (Map.sel h.h a.aref_region) a.aref_aref v rel + +let greference_of a v rel = MkRef a.aref_region (Heap.gref_of a.aref_aref v rel) + +let reference_of h a v rel = MkRef a.aref_region (Heap.ref_of (Map.sel h.h a.aref_region) a.aref_aref v rel) + +let aref_live_at_aref_of _ #_ #_ _ = () + +let contains_greference_of _ _ _ _ = () + +let aref_of_greference_of _ _ _ = () + +let frameOf_greference_of _ _ _ = () + +let as_addr_greference_of _ _ _ = () + +let is_mm_greference_of _ _ _ = () + +let unused_in_greference_of _ _ _ _ = () + +let sel_reference_of _ _ _ _ _ = () + +let upd_reference_of _ _ _ _ _ _ = () diff --git a/stage0/ulib/FStar.Monotonic.HyperStack.fsti b/stage0/ulib/FStar.Monotonic.HyperStack.fsti new file mode 100644 index 00000000000..a05e34df1ef --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.HyperStack.fsti @@ -0,0 +1,624 @@ +(* + Copyright 2008-2014 Aseem Rastogi, 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.Monotonic.HyperStack + +open FStar.Preorder +module Map = FStar.Map + +include FStar.Monotonic.HyperHeap + + +(****** Some predicates ******) + +unfold let is_in (r:rid) (h:hmap) = h `Map.contains` r + +let is_stack_region r = color r > 0 +let is_heap_color c = c <= 0 + +[@@(deprecated "FStar.HyperStack.ST.is_eternal_region")] +let is_eternal_region r = is_heap_color (color r) && not (rid_freeable r) + +unfold let is_eternal_region_hs r = is_heap_color (color r) && not (rid_freeable r) + +type sid = r:rid{is_stack_region r} //stack region ids + +(* + * AR: marking these unfolds, else I think there are pattern firing issues depending on which one we use + *) +unfold let is_above r1 r2 = r1 `includes` r2 +unfold let is_just_below r1 r2 = r1 `extends` r2 +unfold let is_below r1 r2 = r2 `is_above` r1 +let is_strictly_below r1 r2 = r1 `is_below` r2 && r1 <> r2 +let is_strictly_above r1 r2 = r1 `is_above` r2 && r1 <> r2 + + +[@@"opaque_to_smt"] +unfold private let map_invariant_predicate (m:hmap) :Type0 = + forall r. Map.contains m r ==> + (forall s. includes s r ==> Map.contains m s) + +[@@"opaque_to_smt"] +unfold private let downward_closed_predicate (h:hmap) :Type0 = + forall (r:rid). r `is_in` h //for any region in the memory + ==> (r=root //either is the root + \/ (forall (s:rid). (r `is_above` s //or, any region beneath it + /\ s `is_in` h) //that is also in the memory + ==> ((is_stack_region r = is_stack_region s) /\ //must be of the same flavor as itself + ((is_heap_color (color r) /\ rid_freeable r) ==> s == r)))) //and if r is a freeable heap region, s can only be r (no regions strictly below r) + +[@@"opaque_to_smt"] +unfold private let tip_top_predicate (tip:rid) (h:hmap) :Type0 = + forall (r:sid). r `is_in` h <==> r `is_above` tip + +[@@"opaque_to_smt"] +unfold private let rid_ctr_pred_predicate (h:hmap) (n:int) :Type0 = + forall (r:rid). h `Map.contains` r ==> rid_last_component r < n + + +(****** Mem definition ******) + +[@@ remove_unused_type_parameters [0]] +val map_invariant (m:hmap) :Type0 //all regions above a contained region are contained +[@@ remove_unused_type_parameters [0]] +val downward_closed (h:hmap) :Type0 //regions below a non-root region are of the same color +[@@ remove_unused_type_parameters [0;1]] +val tip_top (tip:rid) (h:hmap) :Type0 //all contained stack regions are above tip +[@@ remove_unused_type_parameters [0;1]] +val rid_ctr_pred (h:hmap) (n:int) :Type0 //all live regions have last component less than the rid_ctr + +let is_tip (tip:rid) (h:hmap) = + (is_stack_region tip \/ tip = root) /\ //the tip is a stack region, or the root + tip `is_in` h /\ //the tip is live + tip_top tip h //any other sid activation is a above (or equal to) the tip + +let is_wf_with_ctr_and_tip (h:hmap) (ctr:int) (tip:rid) + = (not (rid_freeable root)) /\ + root `is_in` h /\ + tip `is_tip` h /\ + map_invariant h /\ + downward_closed h /\ + rid_ctr_pred h ctr + +private val mem' :Type u#1 + +private val mk_mem (rid_ctr:int) (h:hmap) (tip:rid) :mem' + +val get_hmap (m:mem') :hmap +val get_rid_ctr (m:mem') :int +val get_tip (m:mem') :rid + +private val lemma_mk_mem'_projectors (rid_ctr:int) (h:hmap) (tip:rid) + :Lemma (requires True) + (ensures (let m = mk_mem rid_ctr h tip in + (get_hmap m == h /\ get_rid_ctr m == rid_ctr /\ get_tip m == tip))) + [SMTPatOr [[SMTPat (get_hmap (mk_mem rid_ctr h tip))]; + [SMTPat (get_rid_ctr (mk_mem rid_ctr h tip))]; + [SMTPat (get_tip (mk_mem rid_ctr h tip))] + ]] + +type mem :Type = m:mem'{is_wf_with_ctr_and_tip (get_hmap m) (get_rid_ctr m) (get_tip m) } + + +(****** Lemmas about mem and predicates ******) + +private val lemma_mem_projectors_are_in_wf_relation (m:mem) + :Lemma (is_wf_with_ctr_and_tip (get_hmap m) (get_rid_ctr m) (get_tip m)) + +private val lemma_is_wf_ctr_and_tip_intro (h:hmap) (ctr:int) (tip:rid) + :Lemma (requires (root `is_in` h /\ (is_stack_region tip \/ tip = root) /\ tip `is_in` h /\ + tip_top_predicate tip h /\ map_invariant_predicate h /\ + downward_closed_predicate h /\ rid_ctr_pred_predicate h ctr)) + (ensures (is_wf_with_ctr_and_tip h ctr tip)) + +private val lemma_is_wf_ctr_and_tip_elim (m:mem) + :Lemma (let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + (root `is_in` h /\ (is_stack_region tip \/ tip = root) /\ tip `is_in` h /\ + tip_top_predicate tip h /\ map_invariant_predicate h /\ + downward_closed_predicate h /\ rid_ctr_pred_predicate h rid_ctr)) + +(******* map_invariant related lemmas ******) + +val lemma_map_invariant (m:mem) (r s:rid) + :Lemma (requires (r `is_in` get_hmap m /\ s `is_above` r)) + (ensures (s `is_in` get_hmap m)) + [SMTPat (r `is_in` get_hmap m); SMTPat (s `is_above` r); SMTPat (s `is_in` get_hmap m)] + +(****** downward_closed related lemmas *******) + +val lemma_downward_closed (m:mem) (r:rid) (s:rid{s =!= root}) + :Lemma (requires (r `is_in` get_hmap m /\ s `is_above` r)) + (ensures (is_heap_color (color r) == is_heap_color (color s) /\ + is_stack_region r == is_stack_region s)) + [SMTPatOr [[SMTPat (get_hmap m `Map.contains` r); SMTPat (s `is_above` r); SMTPat (is_heap_color (color s))]; + [SMTPat (get_hmap m `Map.contains` r); SMTPat (s `is_above` r); SMTPat (is_stack_region s)] + ]] + +(****** tip_top related lemmas ******) + +val lemma_tip_top (m:mem) (r:sid) + :Lemma (r `is_in` get_hmap m <==> r `is_above` get_tip m) + +(* + * Pointer uses lemma_tip_top by calling it explicitly with Classical.forall_intro2 + * Classical.forall_intro2 does not work well with SMTPat + * So adding this smt form of the same lemma + *) +val lemma_tip_top_smt (m:mem) (r:rid) + :Lemma (requires (is_stack_region r)) + (ensures (r `is_in` get_hmap m <==> r `is_above` get_tip m)) + [SMTPatOr [[SMTPat (is_stack_region r); SMTPat (r `is_above` get_tip m)]; + [SMTPat (is_stack_region r); SMTPat (r `is_in` get_hmap m)]]] + +(****** rid_ctr_pred related lemmas ******) + +val lemma_rid_ctr_pred (_:unit) + :Lemma (forall (m:mem) (r:rid).{:pattern (get_hmap m `Map.contains` r)} get_hmap m `Map.contains` r ==> rid_last_component r < get_rid_ctr m) + +(*****) + +(****** Operations on mem ******) + + +let empty_mem : mem = + let empty_map = Map.restrict Set.empty (Map.const Heap.emp) in + let h = Map.upd empty_map root Heap.emp in + let tip = root in + root_last_component (); + lemma_is_wf_ctr_and_tip_intro h 1 tip; + mk_mem 1 h tip + +let heap_region_does_not_overlap_with_tip + (m:mem) (r:rid{is_heap_color (color r) /\ not (disjoint r (get_tip m)) /\ r =!= root /\ is_stack_region (get_tip m)}) + : Lemma (requires True) + (ensures (~ (r `is_in` get_hmap m))) + = root_has_color_zero() + +let poppable (m:mem) = get_tip m =!= root + +private let remove_elt (#a:eqtype) (s:Set.set a) (x:a) = Set.intersect s (Set.complement (Set.singleton x)) + +let popped (m0 m1:mem) = + poppable m0 /\ + (let h0, tip0, h1, tip1 = get_hmap m0, get_tip m0, get_hmap m1, get_tip m1 in + (parent tip0 = tip1 /\ + Set.equal (Map.domain h1) (remove_elt (Map.domain h0) tip0) /\ + Map.equal h1 (Map.restrict (Map.domain h1) h0))) + +let pop (m0:mem{poppable m0}) :mem = + let h0, tip0, rid_ctr0 = get_hmap m0, get_tip m0, get_rid_ctr m0 in + root_has_color_zero(); + lemma_is_wf_ctr_and_tip_elim m0; + let dom = remove_elt (Map.domain h0) tip0 in + let h1 = Map.restrict dom h0 in + let tip1 = parent tip0 in + lemma_is_wf_ctr_and_tip_intro h1 rid_ctr0 tip1; + mk_mem rid_ctr0 h1 tip1 + +//A (reference a) may reside in the stack or heap, and may be manually managed +//Mark it private so that clients can't use its projectors etc. +//enabling extraction of mreference to just a reference in ML and pointer in C +//note that this not enforcing any abstraction +(* + * AR: 12/26: Defining it using Heap.mref directly, removing the HyperHeap.mref indirection + *) +private noeq +type mreference' (a:Type) (rel:preorder a) = + | MkRef : frame:rid -> ref:Heap.mref a rel -> mreference' a rel + +let mreference a rel = mreference' a rel + +//TODO: rename to frame_of, avoiding the inconsistent use of camelCase +let frameOf (#a:Type) (#rel:preorder a) (r:mreference a rel) :rid + = r.frame + +let mk_mreference (#a:Type) (#rel:preorder a) (id:rid) + (r:Heap.mref a rel) + :mreference a rel + = MkRef id r + +//Hopefully we can get rid of this one +val as_ref (#a:Type0) (#rel:preorder a) (x:mreference a rel) + :Heap.mref a rel + +//And make this one abstract +let as_addr #a #rel (x:mreference a rel) + :GTot pos + = Heap.addr_of (as_ref x) + +val lemma_as_ref_inj (#a:Type) (#rel:preorder a) (r:mreference a rel) + :Lemma (requires True) (ensures (mk_mreference (frameOf r) (as_ref r) == r)) + [SMTPat (as_ref r)] + +let is_mm (#a:Type) (#rel:preorder a) (r:mreference a rel) :GTot bool = + Heap.is_mm (as_ref r) + +// Warning: all of the type aliases below get special support for KaRaMeL +// extraction. If you rename or add to this list, +// src/extraction/FStar.Extraction.Karamel.fs needs to be updated. + +//adding (not s.mm) to stackref and ref so as to keep their semantics as is +let mstackref (a:Type) (rel:preorder a) = + s:mreference a rel{ is_stack_region (frameOf s) && not (is_mm s) } + +let mref (a:Type) (rel:preorder a) = + s:mreference a rel{ is_eternal_region_hs (frameOf s) && not (is_mm s) } + +let mmmstackref (a:Type) (rel:preorder a) = + s:mreference a rel{ is_stack_region (frameOf s) && is_mm s } + +let mmmref (a:Type) (rel:preorder a) = + s:mreference a rel{ is_eternal_region_hs (frameOf s) && is_mm s } + +//NS: Why do we need this one? +let s_mref (i:rid) (a:Type) (rel:preorder a) = s:mreference a rel{frameOf s = i} + +(* + * AR: this used to be (is_eternal_region i \/ i `is_above` m.tip) /\ Map.contains ... + * As far as the memory model is concerned, this should just be Map.contains + * The fact that an eternal region is always contained (because of monotonicity) should be used in the ST interface + *) +let live_region (m:mem) (i:rid) :bool = get_hmap m `Map.contains` i + +let contains (#a:Type) (#rel:preorder a) (m:mem) (s:mreference a rel) = + live_region m (frameOf s) /\ + Heap.contains (get_hmap m `Map.sel` (frameOf s)) (as_ref s) + +let unused_in (#a:Type) (#rel:preorder a) (r:mreference a rel) (m:mem) = + not ((get_hmap m) `Map.contains` (frameOf r)) \/ + Heap.unused_in (as_ref r) ((get_hmap m) `Map.sel` (frameOf r)) + +let contains_ref_in_its_region (#a:Type) (#rel:preorder a) (m:mem) (r:mreference a rel) = + Heap.contains (get_hmap m `Map.sel` (frameOf r)) (as_ref r) + +let fresh_ref (#a:Type) (#rel:preorder a) (r:mreference a rel) (m0:mem) (m1:mem) :Type0 = + let i = frameOf r in + Heap.fresh (as_ref r) (get_hmap m0 `Map.sel` i) (get_hmap m1 `Map.sel` i) + +let fresh_region (i:rid) (m0 m1:mem) = + not (get_hmap m0 `Map.contains` i) /\ get_hmap m1 `Map.contains` i + +let sel (#a:Type) (#rel:preorder a) (m:mem) (s:mreference a rel) :GTot a + = Heap.sel (get_hmap m `Map.sel` (frameOf s)) (as_ref s) + +let upd (#a:Type) (#rel:preorder a) (m:mem) (s:mreference a rel{live_region m (frameOf s)}) (v:a) + :GTot mem + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let i = frameOf s in + let h = Map.upd h i (Heap.upd (Map.sel h i) (as_ref s) v) in + lemma_is_wf_ctr_and_tip_intro h rid_ctr tip; + mk_mem rid_ctr h tip + +let alloc (#a:Type0) (rel:preorder a) (id:rid) (init:a) (mm:bool) (m:mem{get_hmap m `Map.contains` id}) + :Tot (p:(mreference a rel & mem){let (r, h) = Heap.alloc rel (get_hmap m `Map.sel` id) init mm in + as_ref (fst p) == r /\ + get_hmap (snd p) == Map.upd (get_hmap m) id h}) + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let r, id_h = Heap.alloc rel (Map.sel h id) init mm in + let h = Map.upd h id id_h in + lemma_is_wf_ctr_and_tip_intro h rid_ctr tip; + (mk_mreference id r), mk_mem rid_ctr h tip + +let free (#a:Type0) (#rel:preorder a) (r:mreference a rel{is_mm r}) (m:mem{m `contains` r}) + :Tot mem + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let i = frameOf r in + let i_h = h `Map.sel` i in + let i_h = Heap.free_mm i_h (as_ref r) in + let h = Map.upd h i i_h in + lemma_is_wf_ctr_and_tip_intro h rid_ctr tip; + mk_mem rid_ctr h tip + +let upd_tot (#a:Type) (#rel:preorder a) (m:mem) (r:mreference a rel{m `contains` r}) (v:a) + :Tot mem + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let i = frameOf r in + let i_h = h `Map.sel` i in + let i_h = Heap.upd_tot i_h (as_ref r) v in + let h = Map.upd h i i_h in + lemma_is_wf_ctr_and_tip_intro h rid_ctr tip; + mk_mem rid_ctr h tip + +let sel_tot (#a:Type) (#rel:preorder a) (m:mem) (r:mreference a rel{m `contains` r}) + :Tot a + = Heap.sel_tot (get_hmap m `Map.sel` (frameOf r)) (as_ref r) + +let fresh_frame (m0:mem) (m1:mem) = + not (get_hmap m0 `Map.contains` get_tip m1) /\ + parent (get_tip m1) == get_tip m0 /\ + get_hmap m1 == Map.upd (get_hmap m0) (get_tip m1) Heap.emp + +let hs_push_frame (m:mem) :Tot (m':mem{fresh_frame m m'}) + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let new_tip_rid = extend tip rid_ctr 1 in + let h = Map.upd h new_tip_rid Heap.emp in + assert (forall (s:rid). (new_tip_rid `is_above` s /\ s `is_in` h) ==> s = new_tip_rid); + lemma_is_wf_ctr_and_tip_intro h (rid_ctr + 1) new_tip_rid; + mk_mem (rid_ctr + 1) h new_tip_rid + +let new_eternal_region (m:mem) (parent:rid{is_eternal_region_hs parent /\ get_hmap m `Map.contains` parent}) + (c:option int{None? c \/ is_heap_color (Some?.v c)}) + :Tot (t:(rid & mem){fresh_region (fst t) m (snd t)}) + = let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let new_rid = + if None? c then extend_monochrome parent rid_ctr + else extend parent rid_ctr (Some?.v c) + in + let h = Map.upd h new_rid Heap.emp in + lemma_is_wf_ctr_and_tip_intro h (rid_ctr + 1) tip; + new_rid, mk_mem (rid_ctr + 1) h tip + +let new_freeable_heap_region + (m:mem) + (parent:rid{is_eternal_region_hs parent /\ get_hmap m `Map.contains` parent}) +: t:(rid & mem){fresh_region (fst t) m (snd t) /\ rid_freeable (fst t)} += let h, rid_ctr, tip = get_hmap m, get_rid_ctr m, get_tip m in + lemma_is_wf_ctr_and_tip_elim m; + let new_rid = extend_monochrome_freeable parent rid_ctr true in + let h = Map.upd h new_rid Heap.emp in + lemma_is_wf_ctr_and_tip_intro h (rid_ctr + 1) tip; + new_rid, mk_mem (rid_ctr + 1) h tip + +let free_heap_region + (m0:mem) + (r:rid{ + is_heap_color (color r) /\ + rid_freeable r /\ + get_hmap m0 `Map.contains` r}) +: mem += let h0, rid_ctr0 = get_hmap m0, get_rid_ctr m0 in + lemma_is_wf_ctr_and_tip_elim m0; + let dom = remove_elt (Map.domain h0) r in + let h1 = Map.restrict dom h0 in + lemma_is_wf_ctr_and_tip_intro h1 rid_ctr0 (get_tip m0); + mk_mem (get_rid_ctr m0) h1 (get_tip m0) + + +(****** The following two lemmas are only used in FStar.Pointer.Base, and invoked explicitly ******) + +val lemma_sel_same_addr (#a:Type0) (#rel:preorder a) (h:mem) (r1:mreference a rel) (r2:mreference a rel) + :Lemma (requires (frameOf r1 == frameOf r2 /\ h `contains` r1 /\ as_addr r1 = as_addr r2 /\ is_mm r1 == is_mm r2)) + (ensures (h `contains` r2 /\ sel h r1 == sel h r2)) + +val lemma_upd_same_addr (#a:Type0) (#rel:preorder a) (h:mem) (r1 r2:mreference a rel) (x: a) + :Lemma (requires (frameOf r1 == frameOf r2 /\ (h `contains` r1 \/ h `contains` r2) /\ + as_addr r1 == as_addr r2 /\ is_mm r1 == is_mm r2)) + (ensures (h `contains` r1 /\ h `contains` r2 /\ upd h r1 x == upd h r2 x)) + +(* Two references with different reads are disjoint. *) +val mreference_distinct_sel_disjoint + (#a:Type0) (#rel1: preorder a) (#rel2: preorder a) (h: mem) (r1: mreference a rel1) (r2:mreference a rel2) + : Lemma (requires (h `contains` r1 /\ h `contains` r2 /\ frameOf r1 == frameOf r2 /\ as_addr r1 == as_addr r2)) + (ensures (sel h r1 == sel h r2)) + +(* + * AR: 12/26: modifies clauses + * NOTE: the modifies clauses used to have a m0.tip == m1.tip conjunct too + * which seemed a bit misplaced + * removing that conjunct required very few changes (one in HACL), since ST effect gives it already + *) +let modifies (s:Set.set rid) (m0:mem) (m1:mem) = modifies_just s (get_hmap m0) (get_hmap m1) + +let modifies_transitively (s:Set.set rid) (m0:mem) (m1:mem) = FStar.Monotonic.HyperHeap.modifies s (get_hmap m0) (get_hmap m1) + +let heap_only (m0:mem) = get_tip m0 == root + +let top_frame (m:mem) = get_hmap m `Map.sel` get_tip m + +val modifies_drop_tip (m0:mem) (m1:mem) (m2:mem) (s:Set.set rid) + : Lemma (fresh_frame m0 m1 /\ get_tip m1 == get_tip m2 /\ + modifies_transitively (Set.union s (Set.singleton (get_tip m1))) m1 m2 ==> + modifies_transitively s m0 (pop m2)) + +let modifies_one id h0 h1 = modifies_one id (get_hmap h0) (get_hmap h1) +let modifies_ref (id:rid) (s:Set.set nat) (h0:mem) (h1:mem) = + Heap.modifies s (get_hmap h0 `Map.sel` id) (get_hmap h1 `Map.sel` id) + + +(****** API for generating modifies clauses in the old style, should use new modifies clauses now ******) + +noeq type some_ref = + | Ref: #a:Type0 -> #rel:preorder a -> mreference a rel -> some_ref + +let some_refs = list some_ref + +[@@"opaque_to_smt"] +private let rec regions_of_some_refs (rs:some_refs) :Tot (Set.set rid) = + match rs with + | [] -> Set.empty + | (Ref r)::tl -> Set.union (Set.singleton (frameOf r)) (regions_of_some_refs tl) + +[@@"opaque_to_smt"] +private let rec refs_in_region (r:rid) (rs:some_refs) :GTot (Set.set nat) = + match rs with + | [] -> Set.empty + | (Ref x)::tl -> + Set.union (if frameOf x = r then Set.singleton (as_addr x) else Set.empty) + (refs_in_region r tl) + +[@@"opaque_to_smt"] +private let rec modifies_some_refs (i:some_refs) (rs:some_refs) (h0:mem) (h1:mem) :GTot Type0 = + match i with + | [] -> True + | (Ref x)::tl -> + (modifies_ref (frameOf x) (refs_in_region (frameOf x) rs) h0 h1) /\ + (modifies_some_refs tl rs h0 h1) + +[@@"opaque_to_smt"] +unfold private let norm_steps :list norm_step = + //iota for reducing match + [iota; zeta; delta; delta_only ["FStar.Monotonic.HyperStack.regions_of_some_refs"; + "FStar.Monotonic.HyperStack.refs_in_region"; + "FStar.Monotonic.HyperStack.modifies_some_refs"]; + primops] + +[@@"opaque_to_smt"] +unfold let mods (rs:some_refs) (h0 h1:mem) :GTot Type0 = + (norm norm_steps (modifies (regions_of_some_refs rs) h0 h1)) /\ + (norm norm_steps (modifies_some_refs rs rs h0 h1)) + +////// + +val eternal_disjoint_from_tip (h:mem{is_stack_region (get_tip h)}) + (r:rid{is_heap_color (color r) /\ + r =!= root /\ + r `is_in` get_hmap h}) + :Lemma (disjoint (get_tip h) r) + +val above_tip_is_live (#a:Type) (#rel:preorder a) (m:mem) (x:mreference a rel) + :Lemma (requires (frameOf x `is_above` get_tip m)) + (ensures (frameOf x `is_in` get_hmap m)) + +///// + +(****** Lemmas about equality of mem ******) + +val lemma_heap_equality_cancel_same_mref_upd + (#a:Type) (#rel:preorder a) (h:mem) (r:mreference a rel) (x y:a) + :Lemma (requires (live_region h (frameOf r))) + (ensures (upd (upd h r x) r y == upd h r y)) + +val lemma_heap_equality_upd_with_sel + (#a:Type) (#rel:preorder a) (h:mem) (r:mreference a rel) + :Lemma (requires (h `contains` r)) + (ensures (upd h r (sel h r) == h)) + +val lemma_heap_equality_commute_distinct_upds + (#a:Type) (#b:Type) (#rel_a:preorder a) (#rel_b:preorder b) + (h:mem) (r1:mreference a rel_a) (r2:mreference b rel_b) (x:a) (y:b) + :Lemma (requires (as_addr r1 =!= as_addr r2 /\ live_region h (frameOf r1) /\ live_region h (frameOf r2))) + (ensures (upd (upd h r1 x) r2 y == upd (upd h r2 y) r1 x)) + +val lemma_next_addr_contained_refs_addr (_:unit) + :Lemma (forall (a:Type0) (rel:preorder a) (r:mreference a rel) (m:mem). + m `contains` r ==> as_addr r < Heap.next_addr (get_hmap m `Map.sel` frameOf r)) + +(*** Untyped views of references *) + +(* Definition and ghost decidable equality *) + +val aref: Type0 + +val dummy_aref :aref + +val aref_equal (a1 a2: aref) + :Ghost bool (requires True) + (ensures (fun b -> b == true <==> a1 == a2)) + +(* Introduction rule *) + +val aref_of (#t: Type) (#rel: preorder t) (r: mreference t rel) :aref + +(* Operators lifted from reference *) + +val frameOf_aref (a:aref) :GTot rid + +val frameOf_aref_of (#t:Type) (#rel:preorder t) (r:mreference t rel) + :Lemma (frameOf_aref (aref_of r) == frameOf r) + [SMTPat (frameOf_aref (aref_of r))] + +val aref_as_addr (a:aref) :GTot pos + +val aref_as_addr_aref_of (#t:Type) (#rel:preorder t) (r:mreference t rel) + :Lemma (aref_as_addr (aref_of r) == as_addr r) + [SMTPat (aref_as_addr (aref_of r))] + +val aref_is_mm (r:aref) :GTot bool + +val is_mm_aref_of (#t:Type) (#rel:preorder t) (r:mreference t rel) + :Lemma (aref_is_mm (aref_of r) == is_mm r) + [SMTPat (aref_is_mm (aref_of r))] + +[@@ remove_unused_type_parameters [0;1]] +val aref_unused_in (a:aref) (h:mem) :GTot Type0 + +val unused_in_aref_of (#t:Type) (#rel:preorder t) (r:mreference t rel) (h:mem) + :Lemma (aref_unused_in (aref_of r) h <==> unused_in r h) + [SMTPat (aref_unused_in (aref_of r) h)] + +val contains_aref_unused_in (#a:Type) (#rel:preorder a) (h:mem) (x:mreference a rel) (y:aref) + :Lemma (requires (contains h x /\ aref_unused_in y h)) + (ensures (frameOf x <> frameOf_aref y \/ as_addr x <> aref_as_addr y)) + [SMTPat (contains h x); SMTPat (aref_unused_in y h)] + +(* Elimination rule *) + +[@@ remove_unused_type_parameters [0;1;2;3]] +val aref_live_at (h:mem) (a:aref) (v:Type0) (rel:preorder v) :GTot Type0 + +val greference_of (a:aref) (v:Type0) (rel:preorder v) + :Ghost (mreference v rel) (requires (exists h . aref_live_at h a v rel)) + (ensures (fun _ -> True)) + +val reference_of (h:mem) (a:aref) (v:Type0) (rel:preorder v) + :Pure (mreference v rel) (requires (aref_live_at h a v rel)) + (ensures (fun x -> aref_live_at h a v rel /\ frameOf x == frameOf_aref a /\ + as_addr x == aref_as_addr a /\ is_mm x == aref_is_mm a)) + +val aref_live_at_aref_of (h:mem) (#t:Type0) (#rel:preorder t) (r:mreference t rel) + :Lemma (aref_live_at h (aref_of r) t rel <==> contains h r) + [SMTPat (aref_live_at h (aref_of r) t rel)] + +val contains_greference_of (h:mem) (a:aref) (t:Type0) (rel:preorder t) + :Lemma (requires (exists h' . aref_live_at h' a t rel)) + (ensures ((exists h' . aref_live_at h' a t rel) /\ (contains h (greference_of a t rel) <==> aref_live_at h a t rel))) + [SMTPatOr [ + [SMTPat (contains h (greference_of a t rel))]; + [SMTPat (aref_live_at h a t rel)]; + ]] + +val aref_of_greference_of (a:aref) (v:Type0) (rel:preorder v) + :Lemma (requires (exists h' . aref_live_at h' a v rel)) + (ensures ((exists h' . aref_live_at h' a v rel) /\ aref_of (greference_of a v rel) == a)) + [SMTPat (aref_of (greference_of a v rel))] + +(* Operators lowered to rref *) + +val frameOf_greference_of (a:aref) (t:Type0) (rel:preorder t) + :Lemma (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ frameOf (greference_of a t rel) == frameOf_aref a)) + [SMTPat (frameOf (greference_of a t rel))] + +val as_addr_greference_of (a:aref) (t:Type0) (rel:preorder t) + :Lemma (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ as_addr (greference_of a t rel) == aref_as_addr a)) + [SMTPat (as_addr (greference_of a t rel))] + +val is_mm_greference_of (a:aref) (t:Type0) (rel:preorder t) + :Lemma (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ is_mm (greference_of a t rel) == aref_is_mm a)) + [SMTPat (is_mm (greference_of a t rel))] + +val unused_in_greference_of (a:aref) (t:Type0) (rel:preorder t) (h:mem) + :Lemma (requires (exists h . aref_live_at h a t rel)) + (ensures ((exists h . aref_live_at h a t rel) /\ (unused_in (greference_of a t rel) h <==> aref_unused_in a h))) + [SMTPat (unused_in (greference_of a t rel) h)] + +val sel_reference_of (a:aref) (v:Type0) (rel:preorder v) (h1 h2: mem) + :Lemma (requires (aref_live_at h1 a v rel /\ aref_live_at h2 a v rel)) + (ensures (aref_live_at h2 a v rel /\ sel h1 (reference_of h2 a v rel) == sel h1 (greference_of a v rel))) + [SMTPat (sel h1 (reference_of h2 a v rel))] + +val upd_reference_of (a:aref) (v:Type0) (rel:preorder v) (h1 h2:mem) (x:v) + :Lemma (requires (aref_live_at h1 a v rel /\ aref_live_at h2 a v rel)) + (ensures (aref_live_at h1 a v rel /\ aref_live_at h2 a v rel /\ + upd h1 (reference_of h2 a v rel) x == upd h1 (greference_of a v rel) x)) + [SMTPat (upd h1 (reference_of h2 a v rel) x)] diff --git a/stage0/ulib/FStar.Monotonic.Map.fst b/stage0/ulib/FStar.Monotonic.Map.fst new file mode 100644 index 00000000000..7fb705038dd --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Map.fst @@ -0,0 +1,126 @@ +(* + 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. +*) +(** A library for monotonic references to partial, dependent maps, with a whole-map invariant *) +module FStar.Monotonic.Map + +open FStar.HyperStack +open FStar.HyperStack.ST + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(* Partial, dependent maps *) +type map' (a:Type) (b:a -> Type) = + (x:a -> Tot (option (b x))) + +(* Partial, dependent maps, with a whole-map invariant *) +type map (a:Type) (b:a -> Type) (inv:map' a b -> Type0) = + m:map' a b{inv m} + +let upd (#a:eqtype) #b (m:map' a b) (x:a) (y:b x) + : Tot (map' a b) + = fun z -> if x = z then Some y else m z + +let sel #a #b (m:map' a b) (x:a) + : Tot (option (b x)) + = m x + +let grows_aux #a #b #inv :Preorder.preorder (map a b inv) = + fun (m1 m2:map a b inv) -> + forall x.{:pattern (Some? (m1 x))} + Some? (m1 x) ==> Some? (m2 x) /\ Some?.v (m1 x) == Some?.v (m2 x) + +[@@"opaque_to_smt"] +let grows #a #b #inv = grows_aux #a #b #inv + +(* Monotone, partial, dependent maps, with a whole-map invariant *) +type t r a b inv = m_rref r (map a b inv) grows //maybe grows can include the inv? + +let empty_map a b + : Tot (map' a b) + = fun x -> None + +type rid = HST.erid + +let alloc (#r:rid) #a #b #inv + : ST (t r a b inv) + (requires (fun h -> inv (empty_map a b) /\ witnessed (region_contains_pred r))) + (ensures (fun h0 x h1 -> + inv (empty_map a b) /\ + ralloc_post r (empty_map a b) h0 x h1)) + = ralloc r (empty_map a b) + +let defined #r #a #b #inv (m:t r a b inv) (x:a) (h:HS.mem) + : GTot Type0 + = Some? (sel (HS.sel h m) x) + +let contains #r #a #b #inv (m:t r a b inv) (x:a) (y:b x) (h:HS.mem) + : GTot Type0 + = Some? (sel (HS.sel h m) x) /\ Some?.v (sel (HS.sel h m) x) == y + +let value #r #a #b #inv (m:t r a b inv) (x:a) (h:HS.mem{defined m x h}) + : GTot (r:b x{contains m x r h}) + = Some?.v (sel (HS.sel h m) x) + +let fresh #r #a #b #inv (m:t r a b inv) (x:a) (h:HS.mem) + : GTot Type0 + = None? (sel (HS.sel h m) x) + +let contains_stable #r #a #b #inv (m:t r a b inv) (x:a) (y:b x) + : Lemma (ensures (stable_on_t m (contains m x y))) + = reveal_opaque (`%grows) (grows #a #b #inv) + +let extend (#r:rid) (#a:eqtype) (#b:a -> Type) (#inv:(map' a b -> Type0)) (m:t r a b inv) (x:a) (y:b x) + : ST unit + (requires (fun h -> let cur = HS.sel h m in inv (upd cur x y) /\ sel cur x == None)) + (ensures (fun h0 u h1 -> + let cur = HS.sel h0 m in + let hsref = m in + HS.contains h1 m + /\ modifies (Set.singleton r) h0 h1 + /\ modifies_ref r (Set.singleton (HS.as_addr hsref)) h0 h1 + /\ HS.sel h1 m == upd cur x y + /\ HST.witnessed (defined m x) + /\ HST.witnessed (contains m x y))) + = recall m; + reveal_opaque (`%grows) (grows #a #b #inv); + let cur = !m in + m := upd cur x y; + contains_stable m x y; + mr_witness m (defined m x); + mr_witness m (contains m x y) + +let lookup #r #a #b #inv (m:t r a b inv) (x:a) + : ST (option (b x)) + (requires (fun h -> True)) + (ensures (fun h0 y h1 -> + h0==h1 /\ + y == sel (HS.sel h1 m) x /\ + (None? y ==> fresh m x h1) /\ + (Some? y ==> + defined m x h1 /\ + contains m x (Some?.v y) h1 /\ + HST.witnessed (defined m x) /\ + HST.witnessed (contains m x (Some?.v y))))) += reveal_opaque (`%grows) (grows #a #b #inv); + let y = sel !m x in + match y with + | None -> y + | Some b -> + contains_stable m x b; + mr_witness m (defined m x); + mr_witness m (contains m x b); + y diff --git a/stage0/ulib/FStar.Monotonic.Pure.fst b/stage0/ulib/FStar.Monotonic.Pure.fst new file mode 100644 index 00000000000..8d1716d77c1 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Pure.fst @@ -0,0 +1,62 @@ +(* + Copyright 2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) + +module FStar.Monotonic.Pure + +(* + * This module provides utilities to intro and elim the monotonicity + * property of pure wps + * + * Since pure_wp_monotonic predicate is marked opaque_to_smt in prims, + * reasoning with it requires explicit coercions + *) + +unfold +let is_monotonic (#a:Type) (wp:pure_wp' a) = + (* + * Once we support using tactics in ulib/, + * this would be written as: Prims.pure_wp_monotonic0, + * with a postprocessing tactic to norm it + *) + forall (p q:pure_post a). (forall (x:a). p x ==> q x) ==> (wp p ==> wp q) + +let elim_pure_wp_monotonicity (#a:Type) (wp:pure_wp a) + : Lemma (is_monotonic wp) + = reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic + +let elim_pure_wp_monotonicity_forall (_:unit) + : Lemma + (forall (a:Type) (wp:pure_wp a). is_monotonic wp) + = reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic + +let intro_pure_wp_monotonicity (#a:Type) (wp:pure_wp' a) + : Lemma + (requires is_monotonic wp) + (ensures pure_wp_monotonic a wp) + = reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic + +unfold +let as_pure_wp (#a:Type) (wp:pure_wp' a) + : Pure (pure_wp a) + (requires is_monotonic wp) + (ensures fun r -> r == wp) + = intro_pure_wp_monotonicity wp; + wp + +let elim_pure (#a:Type) (#wp:pure_wp a) ($f : unit -> PURE a wp) (p:pure_post a) + : Pure a (requires (wp p)) (ensures (fun r -> p r)) + = elim_pure_wp_monotonicity wp; + f () diff --git a/stage0/ulib/FStar.Monotonic.Seq.fst b/stage0/ulib/FStar.Monotonic.Seq.fst new file mode 100644 index 00000000000..32040d0000b --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Seq.fst @@ -0,0 +1,435 @@ +(* + 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.Monotonic.Seq + +open FStar.Seq +open FStar.Classical +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +open FStar.HyperStack +open FStar.HyperStack.ST + +(* 2016-11-22: The following is meant to override the fact that the + enclosing namespace of the current module (here FStar.Monotonic) is + automatically opened, which makes Seq resolve into + FStar.Monotonic.Seq instead of FStar.Seq. *) +module Seq = FStar.Seq + +//////////////////////////////////////////////////////////////////////////////// + +(* + * 12/08 + * AR: writing this in terms of length and index + * earlier it was written in terms of an exists s3. Seq.equal (append s1 s3) s2 + * that meant going through many hoops to prove simple things like transitivity of grows + * so far this seems to work better. + *) +let grows_aux (#a:Type) :Preorder.preorder (seq a) + = fun (s1:seq a) (s2:seq a) -> + length s1 <= length s2 /\ + (forall (i:nat).{:pattern (Seq.index s1 i) \/ (Seq.index s2 i)} i < length s1 ==> index s1 i == index s2 i) + +[@@"opaque_to_smt"] +let grows #a = grows_aux #a + +type rid = HST.erid + +let snoc (s:seq 'a) (x:'a) + : Tot (seq 'a) + = Seq.append s (Seq.create 1 x) + +let lemma_snoc_extends (#a:Type) (s:seq a) (x:a) + : Lemma (requires True) + (ensures (grows s (Seq.snoc s x))) + [SMTPat (grows s (Seq.snoc s x))] + = reveal_opaque (`%grows) (grows #a) + +let alloc_mref_seq (#a:Type) (r:rid) (init:seq a) + : ST (m_rref r (seq a) grows) + (requires (fun _ -> HST.witnessed (region_contains_pred r))) + (ensures (fun h0 m h1 -> + HS.contains h1 m /\ + HS.sel h1 m == init /\ + HST.ralloc_post r init h0 m h1)) + = ralloc r init + +(* + * AR: changing rids below to rid which is eternal regions. + *) +let at_least (#a:Type) (#i:rid) (n:nat) (x:a) (r:m_rref i (seq a) grows) (h:mem) = + Seq.length (HS.sel h r) > n + /\ Seq.index (HS.sel h r) n == x + +let at_least_is_stable (#a:Type) (#i:rid) (n:nat) (x:a) (r:m_rref i (seq a) grows) + : Lemma (ensures stable_on_t r (at_least n x r)) + = reveal_opaque (`%grows) (grows #a) + +(** extending a stored sequence, witnessing its new entry for convenience. *) +let write_at_end (#a:Type) (#i:rid) (r:m_rref i (seq a) grows) (x:a) + : ST unit + (requires (fun h -> True)) + (ensures (fun h0 _ h1 -> + contains h1 r + /\ modifies_one i h0 h1 + /\ modifies_ref i (Set.singleton (HS.as_addr r)) h0 h1 + /\ HS.sel h1 r == Seq.snoc (HS.sel h0 r) x + /\ witnessed (at_least (Seq.length (HS.sel h0 r)) x r))) + = + recall r; + let s0 = !r in + let n = Seq.length s0 in + r := Seq.snoc s0 x; + at_least_is_stable n x r; + Seq.contains_snoc s0 x; + mr_witness r (at_least n x r) + +//////////////////////////////////////////////////////////////////////////////// +//Monotone sequences with a (stateless) invariant of the whole sequence +//////////////////////////////////////////////////////////////////////////////// + +let grows_p (#a:Type) (p:seq a -> Type) :Preorder.preorder (s:seq a{p s}) = + fun s1 s2 -> grows s1 s2 + +let i_seq (r:rid) (a:Type) (p:seq a -> Type) = m_rref r (s:seq a{p s}) (grows_p p) + +let alloc_mref_iseq (#a:Type) (p:seq a -> Type) (r:rid) (init:seq a{p init}) + : ST (i_seq r a p) + (requires (fun _ -> HST.witnessed (region_contains_pred r))) + (ensures (fun h0 m h1 -> HST.ralloc_post r init h0 m h1)) + = ralloc r init + +let i_at_least (#r:rid) (#a:Type) (#p:(seq a -> Type)) (n:nat) (x:a) (m:i_seq r a p) (h:mem) = + Seq.length (HS.sel h m) > n + /\ Seq.index (HS.sel h m) n == x + +let i_at_least_is_stable (#r:rid) (#a:Type) (#p:seq a -> Type) (n:nat) (x:a) (m:i_seq r a p) + : Lemma (ensures stable_on_t m (i_at_least n x m)) + = reveal_opaque (`%grows) (grows #a) + +let int_at_most #r #a #p (x:int) (is:i_seq r a p) (h:mem) : Type0 = + x < Seq.length (HS.sel h is) + +let int_at_most_is_stable (#r:rid) (#a:Type) (#p:seq a -> Type) (is:i_seq r a p) (k:int) + : Lemma (ensures stable_on_t is (int_at_most k is)) + = reveal_opaque (`%grows) (grows #a) + +let i_sel (#r:rid) (#a:Type) (#p:seq a -> Type) (h:mem) (m:i_seq r a p) + : GTot (s:seq a{p s}) + = HS.sel h m + +let i_read (#a:Type) (#p:Seq.seq a -> Type) (#r:rid) (m:i_seq r a p) + : ST (s:seq a{p s}) + (requires (fun h -> True)) + (ensures (fun h0 x h1 -> h0==h1 /\ x == i_sel h0 m)) + = !m + +let i_contains (#r:rid) (#a:Type) (#p:seq a -> Type) (m:i_seq r a p) (h:mem) + : GTot Type0 + = HS.contains h m + +let i_write_at_end (#a:Type) (#p:seq a -> Type) (#rgn:rid) (r:i_seq rgn a p) (x:a) + : ST unit + (requires (fun h -> p (Seq.snoc (i_sel h r) x))) + (ensures (fun h0 _ h1 -> + i_contains r h1 + /\ modifies_one rgn h0 h1 + /\ modifies_ref rgn (Set.singleton (HS.as_addr r)) h0 h1 + /\ i_sel h1 r == Seq.snoc (i_sel h0 r) x + /\ witnessed (i_at_least (Seq.length (i_sel h0 r)) x r))) + = + recall r; + let s0 = !r in + let n = Seq.length s0 in + r := Seq.snoc s0 x; + i_at_least_is_stable n x r; + contains_snoc s0 x; + mr_witness r (i_at_least n x r) + +//////////////////////////////////////////////////////////////////////////////// +//Testing invariant sequences +//////////////////////////////////////////////////////////////////////////////// +private let invariant (s:seq nat) = + forall (i:nat) (j:nat). i < Seq.length s /\ j < Seq.length s /\ i<>j + ==> Seq.index s i <> Seq.index s j + +private val test0: r:rid -> a:m_rref r (seq nat) grows -> k:nat -> ST unit + (requires (fun h -> k < Seq.length (HS.sel h a))) + (ensures (fun h0 result h1 -> True)) +let test0 r a k = + let h0 = HST.get() in + let _ = + let s = HS.sel h0 a in + at_least_is_stable k (Seq.index (HS.sel h0 a) k) a; + Seq.contains_intro s k (Seq.index s k) in + mr_witness a (at_least k (Seq.index (HS.sel h0 a) k) a) + +private val itest: r:rid -> a:i_seq r nat invariant -> k:nat -> ST unit + (requires (fun h -> k < Seq.length (i_sel h a))) + (ensures (fun h0 result h1 -> True)) +let itest r a k = + let h0 = HST.get() in + i_at_least_is_stable k (Seq.index (i_sel h0 a) k) a; + mr_witness a (i_at_least k (Seq.index (i_sel h0 a) k) a) + + +//////////////////////////////////////////////////////////////////////////////// +//Mapping functions over monotone sequences +//////////////////////////////////////////////////////////////////////////////// +val un_snoc: #a: Type -> s:seq a {Seq.length s > 0} -> Tot(seq a & a) +let un_snoc #a s = + let last = Seq.length s - 1 in + Seq.slice s 0 last, Seq.index s last + +val map: ('a -> Tot 'b) -> s:seq 'a -> Tot (seq 'b) + (decreases (Seq.length s)) +let rec map f s = + if Seq.length s = 0 then Seq.empty + else let prefix, last = un_snoc s in + Seq.snoc (map f prefix) (f last) + +val map_snoc: f:('a -> Tot 'b) -> s:seq 'a -> a:'a -> Lemma + (map f (Seq.snoc s a) == Seq.snoc (map f s) (f a)) +let map_snoc f s a = + let prefix, last = un_snoc (Seq.snoc s a) in + cut (Seq.equal prefix s) + +private let op_At s1 s2 = Seq.append s1 s2 + +val map_append: f:('a -> Tot 'b) -> s1:seq 'a -> s2:seq 'a -> Lemma + (requires True) + (ensures (map f (s1@s2) == (map f s1 @ map f s2))) + (decreases (Seq.length s2)) +#reset-options "--z3rlimit 10 --initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" +let rec map_append f s_1 s_2 = + if Seq.length s_2 = 0 + then (cut (Seq.equal (s_1@s_2) s_1); + cut (Seq.equal (map f s_1 @ map f s_2) (map f s_1))) + else (let prefix_2, last = un_snoc s_2 in + let m_s_1 = map f s_1 in + let m_p_2 = map f prefix_2 in + let flast = f last in + cut (Seq.equal (s_1@s_2) (Seq.snoc (s_1@prefix_2) last)); //map f (s1@s2) = map f (snoc (s1@p) last) + map_snoc f (Seq.append s_1 prefix_2) last; // = snoc (map f (s1@p)) (f last) + map_append f s_1 prefix_2; // = snoc (map f s_1 @ map f p) (f last) + cut (Seq.equal (Seq.snoc (m_s_1 @ m_p_2) flast) + (m_s_1 @ Seq.snoc m_p_2 flast)); // = map f s1 @ (snoc (map f p) (f last)) + map_snoc f prefix_2 last) // = map f s1 @ map f (snoc p last) + +#reset-options "--z3rlimit 5" + +val map_length: f:('a -> Tot 'b) -> s1:seq 'a -> Lemma + (requires True) + (ensures (Seq.length s1 = Seq.length (map f s1))) + (decreases (length s1)) + [SMTPat (Seq.length (map f s1))] +let rec map_length f s1 = + if Seq.length s1 = 0 then () + else let prefix, last = un_snoc s1 in + map_length f prefix + +val map_index: f:('a -> Tot 'b) -> s:seq 'a -> i:nat{i Lemma + (requires True) + (ensures (Seq.index (map f s) i == f (Seq.index s i))) + (decreases (Seq.length s)) + [SMTPat (Seq.index (map f s) i)] +let rec map_index f s i = + if i = Seq.length s - 1 + then () + else let prefix, last = un_snoc s in + map_index f prefix i + +//17-01-05 all the stuff above should go to Seq.Properties! + +let map_grows (#a:Type) (#b:Type) (f:a -> Tot b) + (s1:seq a) (s3:seq a) + : Lemma (grows s1 s3 + ==> grows (map f s1) (map f s3)) + = reveal_opaque (`%grows) (grows #a); + reveal_opaque (`%grows) (grows #b) + +let map_prefix (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot b) + (bs:seq b) + (h:mem) = + grows bs (map f (HS.sel h r)) + +//17-01-05 this applies to log_t's defined below. +let map_prefix_stable (#a:Type) (#b:Type) (#i:rid) (r:m_rref i (seq a) grows) (f:a -> Tot b) (bs:seq b) + :Lemma (stable_on_t r (map_prefix r f bs)) + = reveal_opaque (`%grows) (grows #a); + reveal_opaque (`%grows) (grows #b) + +let map_has_at_index (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot b) + (n:nat) (v:b) (h:mem) = + let s = HS.sel h r in + n < Seq.length s + /\ Seq.index (map f s) n == v + +let map_has_at_index_stable (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot b) (n:nat) (v:b) + : Lemma (stable_on_t r (map_has_at_index r f n v)) + = reveal_opaque (`%grows) (grows #a) + + +//////////////////////////////////////////////////////////////////////////////// +//Collecting monotone sequences +//////////////////////////////////////////////////////////////////////////////// + +(** yields the concatenation of all sequences returned by f applied to the sequence elements *) +val collect: ('a -> Tot (seq 'b)) -> s:seq 'a -> Tot (seq 'b) + (decreases (Seq.length s)) +let rec collect f s = + if Seq.length s = 0 then Seq.empty + else let prefix, last = un_snoc s in + Seq.append (collect f prefix) (f last) + +val collect_snoc: f:('a -> Tot (seq 'b)) -> s:seq 'a -> a:'a -> Lemma + (collect f (Seq.snoc s a) == Seq.append (collect f s) (f a)) +let collect_snoc f s a = + let prefix, last = un_snoc (Seq.snoc s a) in + cut (Seq.equal prefix s) + +#reset-options "--z3rlimit 20 --initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" + +let collect_grows (f:'a -> Tot (seq 'b)) + (s1:seq 'a) (s2:seq 'a) + : Lemma (grows s1 s2 ==> grows (collect f s1) (collect f s2)) + = reveal_opaque (`%grows) (grows #'a); + reveal_opaque (`%grows) (grows #'b); + let rec collect_grows_aux (f:'a -> Tot (seq 'b)) (s1:seq 'a) (s2:seq 'a) + :Lemma (requires (grows s1 s2)) (ensures (grows (collect f s1) (collect f s2))) + (decreases (Seq.length s2)) + = if length s1 = length s2 then assert (Seq.equal s1 s2) + else + let s2_prefix, s2_last = un_snoc s2 in + collect_grows_aux f s1 s2_prefix + in + Classical.arrow_to_impl #(grows s1 s2) #(grows (collect f s1) (collect f s2)) (fun _ -> collect_grows_aux f s1 s2) + +let collect_prefix (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot (seq b)) + (bs:seq b) + (h:mem) = + grows bs (collect f (HS.sel h r)) + +let collect_prefix_stable (#a:Type) (#b:Type) (#i:rid) (r:m_rref i (seq a) grows) (f:a -> Tot (seq b)) (bs:seq b) + : Lemma (stable_on_t r (collect_prefix r f bs)) + = let aux : h0:mem -> h1:mem -> Lemma + (collect_prefix r f bs h0 + /\ grows (HS.sel h0 r) (HS.sel h1 r) + ==> collect_prefix r f bs h1) = + fun h0 h1 -> + let s1 = HS.sel h0 r in + let s3 = HS.sel h1 r in + collect_grows f s1 s3 + in + forall_intro_2 aux + +let collect_has_at_index (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot (seq b)) + (n:nat) (v:b) (h:mem) = + let s = HS.sel h r in + n < Seq.length (collect f s) + /\ Seq.index (collect f s) n == v + +let collect_has_at_index_stable (#a:Type) (#b:Type) (#i:rid) + (r:m_rref i (seq a) grows) + (f:a -> Tot (seq b)) (n:nat) (v:b) + : Lemma (stable_on_t r (collect_has_at_index r f n v)) + = reveal_opaque (`%grows) (grows #b); + Classical.forall_intro_2 (collect_grows f) + +//////////////////////////////////////////////////////////////////////////////// +//Monotonic sequence numbers, bounded by the length of a log +//////////////////////////////////////////////////////////////////////////////// +//17-01-05 the simpler variant, with an historic name; consider using uniform names below. +type log_t (i:rid) (a:Type) = m_rref i (seq a) grows + +let increases (x:int) (y:int) = b2t (x <= y) + +let at_most_log_len (#l:rid) (#a:Type) (x:nat) (log:log_t l a) + : mem -> GTot Type0 + = fun h -> x <= Seq.length (HS.sel h log) + +//Note: we may want int seqn, instead of nat seqn +//because the handshake uses an initial value of -1 +type seqn_val (#l:rid) (#a:Type) (i:rid) (log:log_t l a) (max:nat) = + (x:nat{x <= max /\ witnessed (at_most_log_len x log)}) //never more than the length of the log + +type seqn (#l:rid) (#a:Type) (i:rid) (log:log_t l a) (max:nat) = + m_rref i //counter in region i + (seqn_val i log max) //never more than the length of the log + increases //increasing + +let at_most_log_len_stable (#l:rid) (#a:Type) (x:nat) (log:log_t l a) + : Lemma (stable_on_t log (at_most_log_len x log)) + = reveal_opaque (`%grows) (grows #a) + +let new_seqn (#a:Type) (#l:rid) (#max:nat) + (i:rid) (init:nat) (log:log_t l a) + : ST (seqn i log max) + (requires (fun h -> + HST.witnessed (region_contains_pred i) /\ + init <= max /\ + init <= Seq.length (HS.sel h log))) + (ensures (fun h0 c h1 -> //17-01-05 unify with ralloc_post? + modifies_one i h0 h1 /\ + modifies_ref i Set.empty h0 h1 /\ + fresh_ref c h0 h1 /\ + HS.sel h1 c = init /\ + FStar.Map.contains (HS.get_hmap h1) i)) + = reveal_opaque (`%grows) (grows #a); + recall log; recall_region i; + mr_witness log (at_most_log_len init log); + ralloc i init + +let increment_seqn (#a:Type) (#l:rid) (#max:nat) + (#i:rid) (#log:log_t l a) ($c:seqn i log max) + : ST unit + (requires (fun h -> + let log = HS.sel h log in + let n = HS.sel h c in + n < Seq.length log /\ + n + 1 <= max)) + (ensures (fun h0 _ h1 -> + modifies_one i h0 h1 /\ + modifies_ref i (Set.singleton (HS.as_addr c)) h0 h1 /\ + HS.sel h1 c = HS.sel h0 c + 1)) + = reveal_opaque (`%grows) (grows #a); + recall c; recall log; + let n = !c + 1 in + mr_witness log (at_most_log_len n log); + c := n + +let testify_seqn (#a:Type0) (#i:rid) (#l:rid) (#log:log_t l a) (#max:nat) (ctr:seqn i log max) + : ST unit + (requires (fun h -> True)) + (ensures (fun h0 _ h1 -> + h0==h1 /\ + at_most_log_len (HS.sel h1 ctr) log h1)) + = let n = !ctr in + testify (at_most_log_len n log) + +private let test (i:rid) (l:rid) (a:Type0) (log:log_t l a) //(p:(nat -> Type)) + (r:seqn i log 8) (h:mem) + = assert (HS.sel h r = Heap.sel (FStar.Map.sel (HS.get_hmap h) i) (HS.as_ref r)) diff --git a/stage0/ulib/FStar.Monotonic.Witnessed.fst b/stage0/ulib/FStar.Monotonic.Witnessed.fst new file mode 100644 index 00000000000..f354e0765b5 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Witnessed.fst @@ -0,0 +1,338 @@ +(* + 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.Monotonic.Witnessed + +open FStar.Preorder + +(* NOT EXPOSED BY THE INTERFACE [start] *) + +(* + A hybrid modal extension to F*'s classical reasoning logic: + - extends F*'s logic with two hybrid modal operators (get, set) + - extends F*'s logic with corresponding logical axioms, based + on the Kripke semantics of these two hybrid modal operators: + + w |= get p iff w |= p w + + w |= set p w' iff w' |= p + + We do not expose these modal operators to the users directly. + Instead we use them below to define the 'witnessed' modality + which is the basis of reasoning about monotonic state in F*, + as discussed in Ahman et al.'s POPL 2018 paper "Recalling a + Witness: Foundations and Applications of Monotonic State". +*) + +(* Hybrid modal operators *) +assume private type get : #world:Type -> (world -> Type0) -> Type0 +assume private type set : #world:Type -> Type0 -> world -> Type0 + +(* Weakening for the get operator *) +assume val get_weakening :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (forall w. p w ==> q w)) + (ensures (get p ==> get q)) + [SMTPat (get p); SMTPat (get q)] + +(* Interaction axioms between the get and set operators *) +assume val get_set_axiom :#world:Type + -> p:Type0 + -> Lemma (get (set #world p) <==> p) + [SMTPat (get (set #world p))] + +assume val set_get_axiom :#world:Type + -> w:world + -> p:(world -> Type0) + -> Lemma (set (get p) w <==> set (p w) w) + [SMTPat (set (get p) w)] + +assume val set_set_axiom :#world:Type + -> w:world + -> w':world + -> p:Type0 + -> Lemma (set (set p w') w <==> set p w') + [SMTPat (set (set p w') w)] + +(* Useful derivable get lemma *) + +private val get_constant_lemma :world:Type + -> p:Type0 + -> Lemma (get #world (fun _ -> p) <==> p) +let get_constant_lemma world p = get_set_axiom #world p + +(* Get and set commute with (non-modal) logical connectives *) + +private val get_true :world:Type + -> Lemma (get #world (fun _ -> True)) +let get_true world = get_constant_lemma world True + +assume private val set_true :#world:Type + -> w:world + -> Lemma (set True w) + +private val get_false :world:Type + -> Lemma (requires (get #world (fun _ -> False))) + (ensures (False)) +let get_false world = get_constant_lemma world False + +assume val set_false :#world:Type + -> w:world + -> Lemma (requires (set False w)) + (ensures (False)) + +private val get_and_1 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get (fun w -> p w /\ q w))) + (ensures (get p /\ get q)) +let get_and_1 #world p q = () + +assume private val set_and_1 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set (p /\ q) w)) + (ensures (set p w /\ set q w)) + +assume private val get_and_2 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get p /\ get q)) + (ensures (get (fun w -> p w /\ q w))) + + +assume private val set_and_2 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set p w /\ set q w)) + (ensures (set (p /\ q) w)) + +private val get_or_1 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get p \/ get q)) + (ensures (get (fun w -> p w \/ q w))) +let get_or_1 #world p q = () + +assume private val set_or_1 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set p w \/ set q w)) + (ensures (set (p \/ q) w)) + +assume private val get_or_2 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get (fun w -> p w \/ q w))) + (ensures (get p \/ get q)) + +assume private val set_or_2 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set (p \/ q) w)) + (ensures (set p w \/ set q w)) + +private val get_impl_1 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get (fun w -> p w ==> q w) /\ get p)) + (ensures (get q)) +let get_impl_1 #world p q = + get_and_2 (fun w -> p w ==> q w) p; + get_weakening (fun w -> (p w ==> q w) /\ p w) q + +assume private val set_impl_1 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set (p ==> q) w /\ set p w)) + (ensures (set q w)) + +assume private val get_impl_2 :#world:Type + -> p:(world -> Type0) + -> q:(world -> Type0) + -> Lemma (requires (get p ==> get q)) + (ensures (get (fun w -> p w ==> q w))) + +assume private val set_impl_2 :#world:Type + -> w:world + -> p:Type0 + -> q:Type0 + -> Lemma (requires (set p w ==> set q w)) + (ensures (set (p ==> q) w)) + +private val get_forall_1_aux :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> x:t + -> Lemma (requires (get (fun w -> forall x. p x w))) + (ensures (get (fun w -> p x w))) +let get_forall_1_aux #world #t p x = + get_weakening (fun w -> forall x. p x w) (fun w -> p x w) + +private val get_forall_1 :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> Lemma (requires (get (fun w -> forall x. p x w))) + (ensures (forall x. get (fun w -> p x w))) +let get_forall_1 #world #t p = () + +assume private val set_forall_1 :#world:Type + -> #t:Type + -> w:world + -> p:(t -> Type0) + -> Lemma (requires (set (forall x. p x) w)) + (ensures (forall x. set (p x) w)) + +assume private val get_forall_2 :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> Lemma (requires (forall x. get (fun w -> p x w))) + (ensures (get (fun w -> forall x. p x w))) + +assume private val set_forall_2 :#world:Type + -> #t:Type + -> w:world + -> p:(t -> Type0) + -> Lemma (requires (forall x. set (p x) w)) + (ensures (set (forall x. p x) w)) + +private val get_exists_1_aux :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> x:t + -> Lemma (requires (get (fun w -> p x w))) + (ensures (get (fun w -> exists x. p x w))) +let get_exists_1_aux #world #t p x = + get_weakening (fun w -> p x w) (fun w -> exists x . p x w) + +private val get_exists_1 :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> Lemma (requires (exists x. get (fun w -> p x w))) + (ensures (get (fun w -> exists x. p x w))) +let get_exists_1 #world #t p = () + +assume private val set_exists_1 :#world:Type + -> #t:Type + -> w:world + -> p:(t -> Type0) + -> Lemma (requires (exists x. set (p x) w)) + (ensures (set (exists x. p x) w)) + +assume private val get_exists_2 :#world:Type + -> #t:Type + -> p:(t -> world -> Type0) + -> Lemma (requires (get (fun w -> exists x. p x w))) + (ensures (exists x. get (fun w -> p x w))) + +assume private val set_exists_2 :#world:Type + -> #t:Type + -> w:world + -> p:(t -> Type0) + -> Lemma (requires (set (exists x. p x) w)) + (ensures (exists x. set (p x) w)) + +private val get_eq :#world:Type + -> #t:Type + -> v:t + -> v':t + -> Lemma (get #world (fun _ -> v == v') <==> v == v') +let get_eq #world #t v v' = + get_constant_lemma world (v == v') + +assume private val set_eq :#world:Type + -> #t:Type + -> w:world + -> v:t + -> v':t + -> Lemma (set (v == v') w <==> v == v') + +(* NOT EXPOSED BY THE INTERFACE [end] *) + + +(* EXPOSED BY THE INTERFACE [start] *) + +(* Witnessed modality *) + +let witnessed #state rel p = get (fun s -> forall s'. rel s s' ==> p s') + +(* Weakening for the witnessed modality *) + +let lemma_witnessed_weakening #state rel p q = () + +(* Some logical properties of the witnessed modality *) + +let lemma_witnessed_constant #state rel p = get_constant_lemma state p + +let lemma_witnessed_nested #state rel p = () + +let lemma_witnessed_and #state rel p q = + let aux () :Lemma (requires (witnessed rel p /\ witnessed rel q)) + (ensures (witnessed rel (fun s -> p s /\ q s))) + = get_and_2 (fun s -> forall s'. rel s s' ==> p s') (fun s -> forall s'. rel s s' ==> q s') + in + FStar.Classical.move_requires aux () + +let lemma_witnessed_or #state rel p q = () + +let lemma_witnessed_impl #state rel p q = + let aux () :Lemma (requires ((witnessed rel (fun s -> p s ==> q s) /\ witnessed rel p))) + (ensures (witnessed rel q)) + = get_and_2 (fun s -> forall s'. rel s s' ==> p s' ==> q s') (fun s -> forall s'. rel s s' ==> p s') + in + FStar.Classical.move_requires aux () + +let lemma_witnessed_forall #state #t rel p = + let aux () :Lemma (requires (forall x. witnessed rel (fun s -> p x s))) + (ensures (witnessed rel (fun s -> forall x. p x s))) + = get_forall_2 #state #t (fun x s -> forall s'. rel s s' ==> p x s') + in + FStar.Classical.move_requires aux () + +let lemma_witnessed_exists #state #t rel p = () + +(* EXPOSED BY THE INTERFACE [end] *) + + +(* NOT EXPOSED BY THE INTERFACE [start] *) + +(* An equivalent past-view of the witnessed modality *) + +let witnessed_past (#state:Type) (rel:preorder state) (p:(state -> Type0)) = + get (fun s -> exists s'. rel s' s /\ (forall s''. rel s' s'' ==> p s'')) + +val witnessed_defs_equiv_1 :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> Lemma (requires (witnessed #state rel p)) + (ensures (witnessed #state rel p)) +let witnessed_defs_equiv_1 #state rel p = () + +val witnessed_defs_equiv_2 :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> Lemma (requires (witnessed #state rel p)) + (ensures (witnessed #state rel p)) +let witnessed_defs_equiv_2 #state rel p = + get_weakening #state (fun s -> exists s'. rel s' s /\ (forall s''. rel s' s'' ==> p s'')) + (fun s -> forall s'. rel s s' ==> p s') + +(* NOT EXPOSED BY THE INTERFACE [end] *) diff --git a/stage0/ulib/FStar.Monotonic.Witnessed.fsti b/stage0/ulib/FStar.Monotonic.Witnessed.fsti new file mode 100644 index 00000000000..04ff041c7d7 --- /dev/null +++ b/stage0/ulib/FStar.Monotonic.Witnessed.fsti @@ -0,0 +1,86 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Monotonic.Witnessed + +open FStar.Preorder + +(* + A module that defines the 'witnessed' logical capability/modality + that is the basis of reasoning about monotonic state in F*, as + discussed in Ahman et al.'s POPL 2018 paper "Recalling a Witness: + Foundations and Applications of Monotonic State". Compared to the + POPL paper, where 'witnessed' and 'witnessed_weakening' were + simply postulated as axioms, this module defines them on top of + a more basic hybrid modal extension of F*'s reasoning logic (see + the corresponding fst file). Also, compared to the POPL paper, this + module proves many additional logical properties of 'witnessed'. +*) + +(* Witnessed modality *) + +[@@ remove_unused_type_parameters [0; 1; 2]] +val witnessed : #state:Type -> rel:preorder state -> p:(state -> Type0) -> Type0 + +(* Weakening for the witnessed modality *) + +val lemma_witnessed_weakening :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> q:(state -> Type0) + -> Lemma (requires (forall s. p s ==> q s)) + (ensures (witnessed rel p ==> witnessed rel q)) + +(* Some logical properties of the witnessed modality *) + +val lemma_witnessed_constant :#state:Type + -> rel:preorder state + -> p:Type0 + -> Lemma (witnessed rel (fun _ -> p) <==> p) + +val lemma_witnessed_nested :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> Lemma (witnessed rel (fun _ -> witnessed rel p) <==> witnessed rel p) + +val lemma_witnessed_and :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> q:(state -> Type0) + -> Lemma (witnessed rel (fun s -> p s /\ q s) <==> (witnessed rel p /\ witnessed rel q)) + +val lemma_witnessed_or :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> q:(state -> Type0) + -> Lemma ((witnessed rel p \/ witnessed rel q) ==> witnessed rel (fun s -> p s \/ q s)) + +val lemma_witnessed_impl :#state:Type + -> rel:preorder state + -> p:(state -> Type0) + -> q:(state -> Type0) + -> Lemma ((witnessed rel (fun s -> p s ==> q s) /\ witnessed rel p) ==> witnessed rel q) + +val lemma_witnessed_forall :#state:Type + -> #t:Type + -> rel:preorder state + -> p:(t -> state -> Type0) + -> Lemma ((witnessed rel (fun s -> forall x. p x s)) <==> (forall x. witnessed rel (p x))) + +val lemma_witnessed_exists :#state:Type + -> #t:Type + -> rel:preorder state + -> p:(t -> state -> Type0) + -> Lemma ((exists x. witnessed rel (p x)) ==> witnessed rel (fun s -> exists x. p x s)) diff --git a/stage0/ulib/FStar.Mul.fst b/stage0/ulib/FStar.Mul.fst new file mode 100644 index 00000000000..9c456027c19 --- /dev/null +++ b/stage0/ulib/FStar.Mul.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.Mul +//If we're not doing anything with tuples, +//open this module to let '*' be multiplication +unfold let op_Star = Prims.op_Multiply diff --git a/stage0/ulib/FStar.Option.fst b/stage0/ulib/FStar.Option.fst new file mode 100644 index 00000000000..f0027c19bad --- /dev/null +++ b/stage0/ulib/FStar.Option.fst @@ -0,0 +1,62 @@ +(* + 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.Option + +open FStar.All + +inline_for_extraction +val isNone: option 'a -> Tot bool +inline_for_extraction +let isNone = function + | None -> true + | Some _ -> false + +inline_for_extraction +val isSome: option 'a -> Tot bool +inline_for_extraction +let isSome = function + | Some _ -> true + | None -> false + +inline_for_extraction +val map: ('a -> ML 'b) -> option 'a -> ML (option 'b) +inline_for_extraction +let map f = function + | Some x -> Some (f x) + | None -> None + +inline_for_extraction +val mapTot: ('a -> Tot 'b) -> option 'a -> Tot (option 'b) +inline_for_extraction +let mapTot f = function + | Some x -> Some (f x) + | None -> None + +inline_for_extraction +val get: option 'a -> ML 'a +let get = function + | Some x -> x + | None -> failwith "empty option" + +let (let?) (x: option 'a) (f: 'a -> option 'b): option 'b + = match x with + | Some x -> f x + | None -> None + +let (and?) (x: option 'a) (y: option 'b): option ('a & 'b) + = match x, y with + | Some x, Some y -> Some (x, y) + | _ -> None diff --git a/stage0/ulib/FStar.OrdSetProps.fst b/stage0/ulib/FStar.OrdSetProps.fst new file mode 100644 index 00000000000..da66144787e --- /dev/null +++ b/stage0/ulib/FStar.OrdSetProps.fst @@ -0,0 +1,51 @@ +(* + 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.OrdSetProps + +open FStar.OrdSet + +val fold: #a:eqtype -> #b:Type -> #f:cmp a -> (a -> b -> Tot b) -> s:ordset a f -> b + -> Tot b (decreases (size s)) +let rec fold (#a:eqtype) (#b:Type) #f g s x = + if s = empty then x + else + let Some e = choose s in + let a_rest = fold g (remove e s) x in + g e a_rest + +(**********) + +let insert (#a:eqtype) (#f:cmp a) (x:a) (s:ordset a f) = union #a #f (singleton #a #f x) s + +val union':#a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot (ordset a f) +let union' (#a:eqtype) #f s1 s2 = fold (fun e (s:ordset a f) -> insert e s) s1 s2 + +val union_lemma: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f + -> Lemma (requires (True)) + (ensures (forall x. mem x (union s1 s2) = mem x (union' s1 s2))) + (decreases (size s1)) +let rec union_lemma (#a:eqtype) #f s1 s2 = + if s1 = empty then () + else + union_lemma (remove (Some?.v (choose s1)) s1) s2 + +val union_lemma': #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f + -> Lemma (requires (True)) + (ensures (union s1 s2 = union' s1 s2)) +let union_lemma' (#a:eqtype) #f s1 s2 = + union_lemma s1 s2; + eq_lemma (union s1 s2) (union' s1 s2) + diff --git a/stage0/ulib/FStar.Order.fst b/stage0/ulib/FStar.Order.fst new file mode 100644 index 00000000000..f157f6f04d3 --- /dev/null +++ b/stage0/ulib/FStar.Order.fst @@ -0,0 +1,86 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Order + +[@@plugin] +type order = | Lt | Eq | Gt + +// Some derived checks +val ge : order -> bool +let ge o = o <> Lt + +val le : order -> bool +let le o = o <> Gt + +val ne : order -> bool +let ne o = o <> Eq + +// Just for completeness and consistency... +val gt : order -> bool +let gt o = o = Gt + +val lt : order -> bool +let lt o = o = Lt + +val eq : order -> bool +let eq o = o = Eq + +// Lexicographical combination, thunked to be lazy +val lex : order -> (unit -> order) -> order +let lex o1 o2 = + match o1 with + | Lt -> Lt + | Eq -> o2 () + | Gt -> Gt + +val order_from_int : int -> order +let order_from_int i = + if i < 0 then Lt + else if i = 0 then Eq + else Gt + +val int_of_order : order -> int +let int_of_order = function + | Lt -> (-1) + | Eq -> 0 + | Gt -> 1 + +val compare_int : int -> int -> order +let compare_int i j = order_from_int (i - j) + +(* + * It promises to call the comparator in strictly smaller elements + * Useful when writing a comparator for an inductive type, + * that contains the list of itself as an argument to one of its + * data constructors + *) +let rec compare_list (#a:Type) + (l1 l2:list a) + (f:(x:a{x << l1} -> y:a{y << l2} -> order)) + : order + = match l1, l2 with + | [], [] -> Eq + | [], _ -> Lt + | _, [] -> Gt + | x::xs, y::ys -> lex (f x y) (fun _ -> compare_list xs ys f) + +val compare_option : ('a -> 'a -> order) -> option 'a -> option 'a -> order +let compare_option f x y = + match x, y with + | None , None -> Eq + | None , Some _ -> Lt + | Some _ , None -> Gt + | Some x , Some y -> f x y diff --git a/stage0/ulib/FStar.PCM.fst b/stage0/ulib/FStar.PCM.fst new file mode 100644 index 00000000000..6e5bd4cf7da --- /dev/null +++ b/stage0/ulib/FStar.PCM.fst @@ -0,0 +1,232 @@ +(* + Copyright 2020 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.PCM + +/// This module defines the partial commutative monoid (PCM) algebraic structure, as well as helper +/// predicates and functions to manipulate PCMs. + +(**** Base definitions *) + +(** A symmetric relation *) +let symrel (a: Type u#a) = c:(a -> a -> prop) { (forall x y. c x y <==> c y x) } + +(** [pcm'] is a magma, the base for the partial commutative monoid *) +noeq +type pcm' (a:Type u#a) = { + composable: symrel a; + op: x:a -> y:a{composable x y} -> a; + one:a +} + +(** The type of a commutativity property *) +let lem_commutative (#a: Type u#a) (p:pcm' a) = + x:a -> + y:a{p.composable x y} -> + Lemma (p.op x y == p.op y x) + +(** The type of a left-associativity property *) +let lem_assoc_l (#a: Type u#a) (p:pcm' a) = + x:a -> + y:a -> + z:a{p.composable y z /\ p.composable x (p.op y z)} -> + Lemma (p.composable x y /\ + p.composable (p.op x y) z /\ + p.op x (p.op y z) == p.op (p.op x y) z) + + +(** The type of a right-associativity property *) +let lem_assoc_r (#a: Type u#a) (p:pcm' a) = + x:a -> + y:a -> + z:a {p.composable x y /\ + p.composable (p.op x y) z} -> + Lemma + (p.composable y z /\ + p.composable x (p.op y z) /\ + p.op x (p.op y z) == p.op (p.op x y) z) + +(** The type of the property characterizing the unit element of the monoid *) +let lem_is_unit (#a: Type u#a) (p:pcm' a) = + x:a -> + Lemma (p.composable x p.one /\ + p.op x p.one == x) + +(** Main type describing partial commutative monoids *) +noeq +type pcm (a:Type u#a) = { + p:pcm' a; + comm:lem_commutative p; + assoc: lem_assoc_l p; + assoc_r: lem_assoc_r p; + is_unit: lem_is_unit p; + refine: a -> prop +} + +(**** Derived predicates *) + + +(** Returns the composable predicate of the PCM *) +let composable (#a: Type u#a) (p:pcm a) (x y:a) = p.p.composable x y + +(** Calls the operation of the PCM *) +let op (#a: Type u#a) (p:pcm a) (x:a) (y:a{composable p x y}) = p.p.op x y + +(** + Two elements [x] and [y] are compatible with respect to a PCM if their subtraction + is well-defined, e.g. if there exists an element [frame] such that [x * z = y] +*) +let compatible (#a: Type u#a) (pcm:pcm a) (x y:a) = + (exists (frame:a). + composable pcm x frame /\ op pcm frame x == y + ) + +(** Compatibility is reflexive *) +let compatible_refl + (#a: Type u#a) (pcm:pcm a) (x:a) + : Lemma (compatible pcm x x) + = + pcm.is_unit x; + pcm.comm x pcm.p.one; + assert (op pcm pcm.p.one x == x) + +(** Compatibility is transitive *) +let compatible_trans + (#a: Type u#a) (pcm:pcm a) (x y z:a) + : Lemma (requires (compatible pcm x y /\ compatible pcm y z)) + (ensures (compatible pcm x z)) + = Classical.forall_intro_3 pcm.assoc + +(** + Helper function to get access to the existentially quantified frame between two compatible + elements +*) +let compatible_elim + (#a: Type u#a) (pcm:pcm a) (x y:a) + (goal: Type) + (lemma: (frame: a{composable pcm x frame /\ op pcm frame x == y}) -> + Lemma (goal) + ) + : Lemma (requires (compatible pcm x y)) (ensures (goal)) + = + Classical.exists_elim + goal #a #(fun frame -> composable pcm x frame /\ op pcm frame x == y) + () (fun frame -> lemma frame) + +let compatible_intro + (#a: Type u#a) (pcm:pcm a) (x y:a) + (frame: a) + : Lemma + (requires (composable pcm x frame /\ op pcm frame x == y)) + (ensures (compatible pcm x y)) + = () + +(** Two elements are joinable when they can evolve to a common point. *) +let joinable #a (p:pcm a) (x y : a) : prop = + exists z. compatible p x z /\ compatible p y z + +let frame_compatible #a (p:pcm a) (x:FStar.Ghost.erased a) (v y:a) = + (forall (frame:a). {:pattern (composable p x frame)} + composable p x frame /\ + v == op p x frame ==> + composable p y frame /\ + v == op p y frame) + +(* + * Frame preserving updates from x to y + * - should preserve all frames, + * - and a frame containing rest of the PCM value should continue to do so + *) + +type frame_preserving_upd (#a:Type u#a) (p:pcm a) (x y:a) = + v:a{ + p.refine v /\ + compatible p x v + } -> + v_new:a{ + p.refine v_new /\ + compatible p y v_new /\ + (forall (frame:a{composable p x frame}).{:pattern composable p x frame} + composable p y frame /\ + (op p x frame == v ==> op p y frame == v_new))} + + +(* + * A specific case of frame preserving updates when y is a refined value + * + * All the frames of x should compose with--and the composition should result in--y + *) +let frame_preserving (#a: Type u#a) (pcm:pcm a) (x y: a) = + (forall frame. composable pcm frame x ==> composable pcm frame y) /\ + (forall frame.{:pattern (composable pcm frame x)} composable pcm frame x ==> op pcm frame y == y) + +(* + * As expected, given frame_preserving, we can construct a frame_preserving_update + *) +let frame_preserving_val_to_fp_upd (#a:Type u#a) (p:pcm a) + (x:Ghost.erased a) (v:a{frame_preserving p x v /\ p.refine v}) + : frame_preserving_upd p x v + = Classical.forall_intro (p.comm v); + fun _ -> v + +(** The PCM [p] is exclusive to element [x] if the only element composable with [x] is [p.one] *) +let exclusive (#a:Type u#a) (p:pcm a) (x:a) = + forall (frame:a). composable p x frame ==> frame == p.p.one + +(** A mutation from [x] to [p.one] is frame preserving if [p] is exclusive to [x] *) +let exclusive_is_frame_preserving (#a: Type u#a) (p:pcm a) (x:a) + : Lemma (requires exclusive p x) + (ensures frame_preserving p x p.p.one) + = p.is_unit x; + p.is_unit p.p.one + +(* Some sanity checks on the definition of frame preserving updates *) + +let no_op_is_frame_preserving (#a:Type u#a) (p:pcm a) + (x:a) + : frame_preserving_upd p x x + = fun v -> v + +let compose_frame_preserving_updates (#a:Type u#a) (p:pcm a) + (x y z:a) + (f:frame_preserving_upd p x y) + (g:frame_preserving_upd p y z) + : frame_preserving_upd p x z + = fun v -> g (f v) + +let frame_preserving_subframe (#a:Type u#a) (p:pcm a) (x y:a) + (subframe:a{composable p x subframe /\ composable p y subframe}) + (f:frame_preserving_upd p x y) + : frame_preserving_upd p (op p x subframe) (op p y subframe) + = fun v -> + compatible_elim p (op p x subframe) v (compatible p x v) (fun frame -> + p.comm x subframe; + p.assoc frame subframe x); + let w = f v in + let aux (frame: a{composable p (op p x subframe) frame}): + Lemma (composable p (op p y subframe) frame /\ + (op p (op p x subframe) frame == v ==> op p (op p y subframe) frame == w)) + [SMTPat (composable p (op p y subframe) frame)] + = p.assoc_r x subframe frame; + assert (composable p x (op p subframe frame)); + assert (composable p y (op p subframe frame)); + p.assoc y subframe frame + in + compatible_elim p (op p x subframe) v (compatible p (op p y subframe) w) (fun frame -> + aux frame; + p.comm frame (op p x subframe); + p.comm (op p y subframe) frame); + w + diff --git a/stage0/ulib/FStar.Parse.fst b/stage0/ulib/FStar.Parse.fst new file mode 100644 index 00000000000..b3835bc746c --- /dev/null +++ b/stage0/ulib/FStar.Parse.fst @@ -0,0 +1,24 @@ +(* + Copyright 2008-2020 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.Parse + +(** A primitive parser for booleans *) +assume +val bool_of_string: string -> Tot (option bool) + +(** A primitive parser for [int] *) +assume +val int_of_string: string -> Tot (option int) diff --git a/stage0/ulib/FStar.PartialMap.fst b/stage0/ulib/FStar.PartialMap.fst new file mode 100644 index 00000000000..0fc813960b9 --- /dev/null +++ b/stage0/ulib/FStar.PartialMap.fst @@ -0,0 +1,40 @@ +(* + Copyright 2008-2021 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. + + Author: Aseem Rastogi +*) + +module FStar.PartialMap + +open FStar.FunctionalExtensionality + +type t k v = k ^-> option v + +let empty _ _ = on_dom _ (fun _ -> None) +let literal f = on_dom _ (fun x -> f x) +let sel m x = m x +let upd m x y = on_dom _ (fun x1 -> if x1 = x then Some y else m x1) +let remove m x = on_dom _ (fun x1 -> if x1 = x then None else m x1) + +let sel_empty _ _ = () +let sel_literal _ _ = () +let sel_upd _ _ _ = () +let sel_upd_distinct_key _ _ _ _ = () +let sel_remove _ _ = () +let sel_remove_distinct_key _ _ _ = () + +let equal m1 m2 = feq m1 m2 /\ True +let eq_intro _ _ = () +let eq_elim _ _ = () diff --git a/stage0/ulib/FStar.PartialMap.fsti b/stage0/ulib/FStar.PartialMap.fsti new file mode 100644 index 00000000000..3795a2882d3 --- /dev/null +++ b/stage0/ulib/FStar.PartialMap.fsti @@ -0,0 +1,100 @@ +(* + Copyright 2008-2021 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. + + Author: Aseem Rastogi +*) + +/// A partial map, partial in the sense that selecting a key in the map may fail +/// (by returning None) + +module FStar.PartialMap + +/// The main map type + +val t (k:eqtype) ([@@@strictly_positive] v:Type u#a) : Type u#a + +/// An empty map + +val empty (k:eqtype) (v:Type) : t k v + +/// A constructor that constructs the map from a function + +val literal (#k:eqtype) (#v:Type) (f:k -> option v) : t k v + +/// Select a key from the map, may fail by returning None + +val sel (#k:eqtype) (#v:Type) (m:t k v) (x:k) : option v + +/// Updating a key in the map + +val upd (#k:eqtype) (#v:Type) (m:t k v) (x:k) (y:v) : t k v + +/// Removing a key from the map + +val remove (#k:eqtype) (#v:Type) (m:t k v) (x:k) : t k v + +/// Helper function to check if a key exists in the map + +let contains (#k:eqtype) (#v:Type) (m:t k v) (x:k) : bool = + Some? (sel m x) + +/// A constant map + +let const (k:eqtype) (#v:Type) (y:v) : t k v = + literal (fun x -> Some y) + +/// The reasoning principles provided by the map + +val sel_empty (#k:eqtype) (v:Type) (x:k) + : Lemma (ensures sel (empty k v) x == None) + [SMTPat (sel (empty k v) x)] + +val sel_literal (#k:eqtype) (#v:Type) (f:k -> option v) (x:k) + : Lemma (ensures sel (literal f) x == f x) + [SMTPat (sel (literal f) x)] + +val sel_upd (#k:eqtype) (#v:Type) (m:t k v) (x:k) (y:v) + : Lemma (ensures sel (upd m x y) x == Some y) + [SMTPat (sel (upd m x y) x)] + +val sel_upd_distinct_key (#k:eqtype) (#v:Type) (m:t k v) (x1 x2:k) (y:v) + : Lemma (requires x1 =!= x2) + (ensures sel (upd m x1 y) x2 == sel m x2) + [SMTPat (sel (upd m x1 y) x2)] + +val sel_remove (#k:eqtype) (#v:Type) (m:t k v) (x:k) + : Lemma (ensures sel (remove m x) x == None) + [SMTPat (sel (remove m x) x)] + +val sel_remove_distinct_key (#k:eqtype) (#v:Type) (m:t k v) (x1 x2:k) + : Lemma (requires x1 =!= x2) + (ensures sel (remove m x1) x2 == sel m x2) + [SMTPat (sel (remove m x1) x2)] + +/// The map type supports extensional equality +/// +/// Below are the intro and elim forms + +val equal (#k:eqtype) (#v:Type) (m1 m2:t k v) : prop + +val eq_intro (#k:eqtype) (#v:Type) (m1 m2:t k v) + : Lemma (requires forall (x:k). sel m1 x == sel m2 x) + (ensures equal m1 m2) + [SMTPat (equal m1 m2)] + +val eq_elim (#k:eqtype) (#v:Type) (m1 m2:t k v) + : Lemma (requires equal m1 m2) + (ensures m1 == m2) + [SMTPat (equal m1 m2)] diff --git a/stage0/ulib/FStar.Pervasives.Native.fst b/stage0/ulib/FStar.Pervasives.Native.fst new file mode 100644 index 00000000000..f6db654977b --- /dev/null +++ b/stage0/ulib/FStar.Pervasives.Native.fst @@ -0,0 +1,175 @@ +(* + 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.Pervasives.Native + +(* This is a file from the core library, dependencies must be explicit *) +open Prims + +/// This module is implicitly opened in the scope of all other modules. +/// +/// It provides several basic types in F* that enjoy some special +/// status in extraction. For instance, the tuple type below is +/// compiled to OCaml's tuple type, rather than to a F*-defined +/// inductive type. See ulib/ml/FStar_Pervasives_Native.ml +/// + +(** [option a] represents either [Some a]-value or a non-informative [None]. *) +type option (a: Type) = + | None : option a + | Some : v: a -> option a + +(**** Tuples *) + +/// Aside from special support in extraction, the tuple types have +/// special syntax in F*. +/// +/// For instance, rather than [tupleN a1 ... aN], +/// we usually write [a1 & ... & aN] or [a1 * ... * aN]. +/// +/// The latter notation is more common for those coming to F* from +/// OCaml or F#. However, the [*] also clashes with the multiplication +/// operator on integers define in FStar.Mul. For this reason, we now +/// prefer to use the [&] notation, though there are still many uses +/// of [*] remaining. +/// +/// Tuple values are introduced using as [a1, ..., an], rather than +/// [MktupleN a1 ... aN]. +/// +/// We define tuples up to a fixed arity of 14. We have considered +/// splitting this module into 14 different modules, one for each +/// tuple type rather than eagerly including 14-tuples in the +/// dependence graph of all programs. + +(** Pairs: [tuple2 a b] is can be written either as [a * b], for + notation compatible with OCaml's. Or, better, as [a & b]. *) +type tuple2 'a 'b = | Mktuple2 : _1: 'a -> _2: 'b -> tuple2 'a 'b + +(** The fst and snd projections on pairs are very common *) +let fst (x: tuple2 'a 'b) : 'a = Mktuple2?._1 x +let snd (x: tuple2 'a 'b) : 'b = Mktuple2?._2 x + +type tuple3 'a 'b 'c = | Mktuple3 : _1: 'a -> _2: 'b -> _3: 'c -> tuple3 'a 'b 'c + +type tuple4 'a 'b 'c 'd = | Mktuple4 : _1: 'a -> _2: 'b -> _3: 'c -> _4: 'd -> tuple4 'a 'b 'c 'd + +type tuple5 'a 'b 'c 'd 'e = + | Mktuple5 : _1: 'a -> _2: 'b -> _3: 'c -> _4: 'd -> _5: 'e -> tuple5 'a 'b 'c 'd 'e + +type tuple6 'a 'b 'c 'd 'e 'f = + | Mktuple6 : _1: 'a -> _2: 'b -> _3: 'c -> _4: 'd -> _5: 'e -> _6: 'f -> tuple6 'a 'b 'c 'd 'e 'f + +type tuple7 'a 'b 'c 'd 'e 'f 'g = + | Mktuple7 : _1: 'a -> _2: 'b -> _3: 'c -> _4: 'd -> _5: 'e -> _6: 'f -> _7: 'g + -> tuple7 'a 'b 'c 'd 'e 'f 'g + +type tuple8 'a 'b 'c 'd 'e 'f 'g 'h = + | Mktuple8 : _1: 'a -> _2: 'b -> _3: 'c -> _4: 'd -> _5: 'e -> _6: 'f -> _7: 'g -> _8: 'h + -> tuple8 'a 'b 'c 'd 'e 'f 'g 'h + +type tuple9 'a 'b 'c 'd 'e 'f 'g 'h 'i = + | Mktuple9 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i + -> tuple9 'a 'b 'c 'd 'e 'f 'g 'h 'i + +type tuple10 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j = + | Mktuple10 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i -> + _10: 'j + -> tuple10 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j + +type tuple11 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k = + | Mktuple11 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i -> + _10: 'j -> + _11: 'k + -> tuple11 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k + +type tuple12 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l = + | Mktuple12 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i -> + _10: 'j -> + _11: 'k -> + _12: 'l + -> tuple12 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l + +type tuple13 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm = + | Mktuple13 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i -> + _10: 'j -> + _11: 'k -> + _12: 'l -> + _13: 'm + -> tuple13 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm + +type tuple14 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm 'n = + | Mktuple14 : + _1: 'a -> + _2: 'b -> + _3: 'c -> + _4: 'd -> + _5: 'e -> + _6: 'f -> + _7: 'g -> + _8: 'h -> + _9: 'i -> + _10: 'j -> + _11: 'k -> + _12: 'l -> + _13: 'm -> + _14: 'n + -> tuple14 'a 'b 'c 'd 'e 'f 'g 'h 'i 'j 'k 'l 'm 'n + diff --git a/stage0/ulib/FStar.Pervasives.fst b/stage0/ulib/FStar.Pervasives.fst new file mode 100644 index 00000000000..42987e0cdc6 --- /dev/null +++ b/stage0/ulib/FStar.Pervasives.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.Pervasives + +(* This is a file from the core library, dependencies must be explicit *) +open Prims + +/// Implementation of FStar.Pervasives.fsti +let remove_unused_type_parameters _ = () + +let smt_pat #_ _ = () + +let smt_pat_or _ = () + +let spinoff p = p + +#push-options "--no_tactics" +let spinoff_eq _ = () +let spinoff_equiv _ = () +#pop-options + +let assert_spinoff _ = () + +let ambient #_ _ = True + +let intro_ambient #_ _ = () + +let normalize_term #_ x = x + +let normalize a = a + +noeq +type norm_step = + | Simpl // Logical simplification, e.g., [P /\ True ~> P] + | Weak // Weak reduction: Do not reduce under binders + | HNF // Head normal form + | Primops // Reduce primitive operators, e.g., [1 + 1 ~> 2] + | Delta // Unfold all non-recursive definitions + | Zeta // Unroll recursive calls + | ZetaFull // Unroll recursive calls fully + | Iota // Reduce case analysis (i.e., match) + | NBE // Use normalization-by-evaluation, instead of interpretation (experimental) + | Reify // Reify effectful definitions into their representations + | NormDebug // Turn on debugging for this call + | UnfoldOnly : list string -> norm_step // Unlike Delta, unfold definitions for only the given + // names, each string is a fully qualified name + // like `A.M.f` + // idem + | UnfoldFully : list string -> norm_step + | UnfoldAttr : list string -> norm_step // Unfold definitions marked with the given attributes + | UnfoldQual : list string -> norm_step + | UnfoldNamespace : list string -> norm_step + | Unmeta : norm_step + | Unascribe // Remove type ascriptions [t <: ty ~> t] + +irreducible +let simplify = Simpl + +irreducible +let weak = Weak + +irreducible +let hnf = HNF + +irreducible +let primops = Primops + +irreducible +let delta = Delta + +irreducible +let norm_debug = NormDebug + +irreducible +let zeta = Zeta + +irreducible +let zeta_full = ZetaFull + +irreducible +let iota = Iota + +irreducible +let nbe = NBE + +irreducible +let reify_ = Reify + +irreducible +let delta_only s = UnfoldOnly s + +irreducible +let delta_fully s = UnfoldFully s + +irreducible +let delta_attr s = UnfoldAttr s + +irreducible +let delta_qualifier s = UnfoldAttr s + +irreducible +let delta_namespace s = UnfoldNamespace s + +irreducible +let unmeta = Unmeta + +irreducible +let unascribe = Unascribe + +let norm _ #_ x = x + +let assert_norm _ = () + +let normalize_term_spec #_ _ = () + +let normalize_spec _ = () + +let norm_spec _ #_ _ = () + +let inversion _ = True + +let allow_inversion _ = () + +let invertOption _ = () + +let rec false_elim #_ _ = false_elim () + +let inline_let = () + +let rename_let _ = () + +let plugin _ = () + +let tcnorm = () + +let must_erase_for_extraction = () + +let dm4f_bind_range = () + +let expect_failure _ = () + +let expect_lax_failure _ = () + +let tcdecltime = () + +let unifier_hint_injective = () + +let strict_on_arguments _ = () + +let resolve_implicits = () + +let override_resolve_implicits_handler #a x l = () + +let handle_smt_goals = () + +let erasable = () + +let commute_nested_matches = () + +let noextract_to _ = () + +let normalize_for_extraction _ = () + +let ite_soundness_by _ = () + +let default_effect _ = () +let top_level_effect _ = () +let effect_param = () +let bind_has_range_args = () +let primitive_extraction = () + +let extract_as_impure_effect = () + +let strictly_positive = () + +let unused = () + +let no_auto_projectors = () + +let no_auto_projectors_decls = () + +let no_subtyping = () + +let admit_termination = () + +let singleton #_ x = x + +let coercion = () + +let desugar_of_variant_record _ = () + +let defer_to #a (_:a) = () diff --git a/stage0/ulib/FStar.Pervasives.fsti b/stage0/ulib/FStar.Pervasives.fsti new file mode 100644 index 00000000000..31dd09c6942 --- /dev/null +++ b/stage0/ulib/FStar.Pervasives.fsti @@ -0,0 +1,1231 @@ +(* + 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.Pervasives + +(* This is a file from the core library, dependencies must be explicit *) +open Prims +include FStar.Pervasives.Native + +/// This module is implicitly opened in the scope of all other +/// modules. +/// +/// It provides several basic definitions in F* that are common to +/// most programs. Broadly, these include: +/// +/// - Utility types and functions, like [id], [either], dependent +/// tuples, etc. +/// +/// - Utility effect definitions, including [DIV] for divergence, +/// [EXN] of exceptions, [STATE_h] a template for state, and (the +/// poorly named) [ALL_h] which combines them all. +/// +/// - Some utilities to control proofs, e.g., inversion of inductive +/// type definitions. +/// +/// - Built-in attributes that can be used to decorate definitions and +/// trigger various kinds of special treatments for those +/// definitions. + +(** [remove_unused_type_parameters] + + This attribute is used to decorate signatures in interfaces for + type abbreviations, indicating that the 0-based positional + parameters are unused in the definition and should be eliminated + for extraction. + + This is important particularly for use with F# extraction, since + F# does not accept type abbreviations with unused type parameters. + + See tests/bug-reports/RemoveUnusedTyparsIFace.A.fsti + *) +val remove_unused_type_parameters : list int -> Tot unit + +(** Values of type [pattern] are used to tag [Lemma]s with SMT + quantifier triggers *) +type pattern : Type0 = unit + +(** The concrete syntax [SMTPat] desugars to [smt_pat] *) +val smt_pat (#a: Type) (x: a) : Tot pattern + +(** The concrete syntax [SMTPatOr] desugars to [smt_pat_or]. This is + used to represent a disjunction of conjunctions of patterns. + + Note, the typing discipline and syntax of patterns is laxer than + it should be. Patterns like [SMTPatOr [SMTPatOr [...]]] are + expressible, but unsupported by F* + + TODO: We should tighten this up, perhaps just reusing the + attribute mechanism for patterns. +*) +val smt_pat_or (x: list (list pattern)) : Tot pattern + +(** eqtype is defined in prims at universe 0 + + Although, usually, only universe 0 types have decidable equality, + sometimes it is possible to define a type in a higher univese also + with decidable equality (e.g., type t : Type u#1 = | Unit) + + Further, sometimes, as in Lemma below, we need to use a + universe-polymorphic equality type (although it is only ever + instantiated with `unit`) +*) +type eqtype_u = a:Type{hasEq a} + +(** [Lemma] is a very widely used effect abbreviation. + + It stands for a unit-returning [Ghost] computation, whose main + value is its logical payload in proving an implication between its + pre- and postcondition. + + [Lemma] is desugared specially. The valid forms are: + + Lemma (ensures post) + Lemma post [SMTPat ...] + Lemma (ensures post) [SMTPat ...] + Lemma (ensures post) (decreases d) + Lemma (ensures post) (decreases d) [SMTPat ...] + Lemma (requires pre) (ensures post) (decreases d) + Lemma (requires pre) (ensures post) [SMTPat ...] + Lemma (requires pre) (ensures post) (decreases d) [SMTPat ...] + + and + + Lemma post (== Lemma (ensures post)) + + the squash argument on the postcondition allows to assume the + precondition for the *well-formedness* of the postcondition. +*) +effect Lemma (a: eqtype_u) (pre: Type) (post: (squash pre -> Type)) (pats: list pattern) = + Pure a pre (fun r -> post ()) + +(** IN the default mode of operation, all proofs in a verification + condition are bundled into a single SMT query. Sub-terms marked + with the [spinoff] below are the exception: each of them is + spawned off into a separate SMT query *) +val spinoff (p: Type0) : Type0 + +val spinoff_eq (p:Type0) : Lemma (spinoff p == p) + +val spinoff_equiv (p:Type0) : Lemma (p <==> spinoff p) [SMTPat (spinoff p)] + +(** Logically equivalent to assert, but spins off separate query *) +val assert_spinoff (p: Type) : Pure unit (requires (spinoff (squash p))) (ensures (fun x -> p)) + +(** The polymorphic identity function *) +unfold +let id (#a: Type) (x: a) : a = x + +(** Trivial postconditions for the [PURE] effect *) +unfold +let trivial_pure_post (a: Type) : pure_post a = fun _ -> True + +(** Sometimes it is convenient to explicit introduce nullary symbols + into the ambient context, so that SMT can appeal to their definitions + even when they are no mentioned explicitly in the program, e.g., when + needed for triggers. + + Use [intro_ambient t] for that. + See, e.g., LowStar.Monotonic.Buffer.fst and its usage there for loc_none *) +[@@ remove_unused_type_parameters [0; 1;]] +val ambient (#a: Type) (x: a) : Type0 + +(** cf. [ambient], above *) +val intro_ambient (#a: Type) (x: a) : Tot (squash (ambient x)) + + +/// Controlling normalization + +(** In any invocation of the F* normalizer, every occurrence of + [normalize_term e] is reduced to the full normal for of [e]. *) +val normalize_term (#a: Type) (x: a) : Tot a + +(** In any invocation of the F* normalizer, every occurrence of + [normalize e] is reduced to the full normal for of [e]. *) +val normalize (a: Type0) : Type0 + +(** Value of [norm_step] are used to enable specific normalization + steps, controlling how the normalizer reduces terms. *) +val norm_step : Type0 + +(** Logical simplification, e.g., [P /\ True ~> P] *) +val simplify : norm_step + +(** Weak reduction: Do not reduce under binders *) +val weak : norm_step + +(** Head normal form: Do not reduce in function arguments or in binder types *) +val hnf : norm_step + +(** Reduce primitive operators, e.g., [1 + 1 ~> 2] *) +val primops : norm_step + +(** Unfold all non-recursive definitions *) +val delta : norm_step + +(** Turn on debugging for this specific call. *) +val norm_debug : norm_step + +(** Unroll recursive calls + + Note: Since F*'s termination check is semantic rather than + syntactically structural, recursive calls in inconsistent contexts, + or recursive evaluation of open terms can diverge. + + When asking for the [zeta] step, F* implements a heuristic to + disable [zeta] when reducing terms beneath a blocked match. This + helps prevent some trivial looping behavior. However, it also + means that with [zeta] alone, your term may not reduce as much as + you might want. See [zeta_full] for that. + *) +val zeta : norm_step + +(** Unroll recursive calls + + Unlike [zeta], [zeta_full] has no looping prevention + heuristics. F* will try to unroll recursive functions as much as + it can, potentially looping. Use with care. + + Note, [zeta_full] implies [zeta]. + See [tests/micro-benchmarks/ReduceRecUnderMatch.fst] for an example. + *) +val zeta_full : norm_step + +(** Reduce case analysis (i.e., match) *) +val iota : norm_step + +(** Use normalization-by-evaluation, instead of interpretation (experimental) *) +val nbe : norm_step + +(** Reify effectful definitions into their representations *) +val reify_ : norm_step + +(** Unlike [delta], unfold definitions for only the names in the given + list. Each string is a fully qualified name like [A.M.f] *) +val delta_only (s: list string) : Tot norm_step + +(** Unfold definitions for only the names in the given list, but + unfold each definition encountered after unfolding as well. + + For example, given + + {[ + let f0 = 0 + let f1 = f0 + 1 + ]} + + [norm [delta_only [`%f1]] f1] will reduce to [f0 + 1]. + [norm [delta_fully [`%f1]] f1] will reduce to [0 + 1]. + + Each string is a fully qualified name like [A.M.f], typically + constructed using a quotation, as in the example above. *) +val delta_fully (s: list string) : Tot norm_step + +(** Rather than mention a symbol to unfold by name, it can be + convenient to tag a collection of related symbols with a common + attribute and then to ask the normalizer to reduce them all. + + For example, given: + + {[ + irreducible let my_attr = () + + [@@my_attr] + let f0 = 0 + + [@@my_attr] + let f1 = f0 + 1 + ]} + + {[norm [delta_attr [`%my_attr]] f1]} + + will reduce to [0 + 1]. + + *) +val delta_attr (s: list string) : Tot norm_step + +(** + For example, given: + + {[ + unfold + let f0 = 0 + + inline_for_extraction + let f1 = f0 + 1 + + ]} + + {[norm [delta_qualifier ["unfold"; "inline_for_extraction"]] f1]} + + will reduce to [0 + 1]. + + *) +val delta_qualifier (s: list string) : Tot norm_step + +val delta_namespace (s: list string) : Tot norm_step + +(** + This step removes the some internal meta nodes during normalization + + In most cases you shouldn't need to use this step explicitly + + *) +val unmeta : norm_step + +(** + This step removes ascriptions during normalization + + An ascription is a type or computation type annotation on + an expression, written as (e <: t) or (e <: C) + + normalize (e <: (t|C)) usually would normalize both the expression e + and the ascription + + However, with unascribe step on, it will drop the ascription + and return the result of (normalize e), + + Removing ascriptions may improve the performance, + as the normalization has less work to do + + However, ascriptions help in re-typechecking of the terms, + and in some cases, are necessary for doing so + + Use it with care + + *) +val unascribe : norm_step + +(** [norm s e] requests normalization of [e] with the reduction steps + [s]. *) +val norm (s: list norm_step) (#a: Type) (x: a) : Tot a + +(** [assert_norm p] reduces [p] as much as possible and then asks the + SMT solver to prove the reduct, concluding [p] *) +val assert_norm (p: Type) : Pure unit (requires (normalize p)) (ensures (fun _ -> p)) + +(** Sometimes it is convenient to introduce an equation between a term + and its normal form in the context. *) +val normalize_term_spec (#a: Type) (x: a) : Lemma (normalize_term #a x == x) + +(** Like [normalize_term_spec], but specialized to [Type0] *) +val normalize_spec (a: Type0) : Lemma (normalize a == a) + +(** Like [normalize_term_spec], but with specific normalization steps *) +val norm_spec (s: list norm_step) (#a: Type) (x: a) : Lemma (norm s #a x == x) + +(** Use the following to expose an ["opaque_to_smt"] definition to the + solver as: [reveal_opaque (`%defn) defn]. NB: zeta is needed in + the case where the definition is recursive. *) +let reveal_opaque (s: string) = norm_spec [delta_only [s]; zeta] + +(** Wrappers over pure wp combinators that return a pure_wp type + (with monotonicity refinement) *) + +unfold +let pure_return (a:Type) (x:a) : pure_wp a = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_return0 a x + +unfold +let pure_bind_wp (a b:Type) (wp1:pure_wp a) (wp2:(a -> Tot (pure_wp b))) : Tot (pure_wp b) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_bind_wp0 a b wp1 wp2 + +unfold +let pure_if_then_else (a p:Type) (wp_then wp_else:pure_wp a) : Tot (pure_wp a) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_if_then_else0 a p wp_then wp_else + +unfold +let pure_ite_wp (a:Type) (wp:pure_wp a) : Tot (pure_wp a) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_ite_wp0 a wp + +unfold +let pure_close_wp (a b:Type) (wp:b -> Tot (pure_wp a)) : Tot (pure_wp a) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_close_wp0 a b wp + +unfold +let pure_null_wp (a:Type) : Tot (pure_wp a) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_null_wp0 a + +[@@ "opaque_to_smt"] +unfold +let pure_assert_wp (p:Type) : Tot (pure_wp unit) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_assert_wp0 p + +[@@ "opaque_to_smt"] +unfold +let pure_assume_wp (p:Type) : Tot (pure_wp unit) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + pure_assume_wp0 p + +/// The [DIV] effect for divergent computations +/// +/// The wp-calculus for [DIV] is same as that of [PURE] + + +(** The effect of divergence: from a specificational perspective it is + identical to PURE, however the specs are given a partial + correctness interpretation. Computations with the [DIV] effect may + not terminate. *) +new_effect { + DIV : a:Type -> wp:pure_wp a -> Effect + with + return_wp = pure_return + ; bind_wp = pure_bind_wp + ; if_then_else = pure_if_then_else + ; ite_wp = pure_ite_wp + ; stronger = pure_stronger + ; close_wp = pure_close_wp + ; trivial = pure_trivial +} + +(** [PURE] computations can be silently promoted for use in a [DIV] context *) +sub_effect PURE ~> DIV { lift_wp = purewp_id } + + +(** [Div] is the Hoare-style counterpart of the wp-indexed [DIV] *) +unfold +let div_hoare_to_wp (#a:Type) (#pre:pure_pre) (post:pure_post' a pre) : Tot (pure_wp a) = + reveal_opaque (`%pure_wp_monotonic) pure_wp_monotonic; + fun (p:pure_post a) -> pre /\ (forall a. post a ==> p a) + +effect Div (a: Type) (pre: pure_pre) (post: pure_post' a pre) = + DIV a (div_hoare_to_wp post) + + +(** [Dv] is the instance of [DIV] with trivial pre- and postconditions *) +effect Dv (a: Type) = DIV a (pure_null_wp a) + + +(** We use the [EXT] effect to underspecify external system calls + as being impure but having no observable effect on the state *) +effect EXT (a: Type) = Dv a + +/// The [STATE_h] effect template for stateful computations, generic +/// in the type of the state. +/// +/// Note, [STATE_h] is itself not a computation type in F*, since it +/// is parameterized by the type of heap. However, instantiations of +/// [STATE_h] with specific types of the heap are computation +/// types. See, e.g., [FStar.ST] for such instantiations. +/// +/// Weakest preconditions for stateful computations transform +/// [st_post_h] postconditions to [st_pre_h] preconditions. Both are +/// parametric in the type of the state, here denoted by the +/// [heap:Type] variable. + +(** Preconditions are predicates on the [heap] *) +let st_pre_h (heap: Type) = heap -> GTot Type0 + +(** Postconditions relate [a]-typed results to the final [heap], here + refined by some pure proposition [pre], typically instantiated to + the precondition applied to the initial [heap] *) +let st_post_h' (heap a pre: Type) = a -> _: heap{pre} -> GTot Type0 + +(** Postconditions without refinements *) +let st_post_h (heap a: Type) = st_post_h' heap a True + +(** The type of the main WP-transformer for stateful computations *) +let st_wp_h (heap a: Type) = st_post_h heap a -> Tot (st_pre_h heap) + +(** Returning a value does not transform the state *) +unfold +let st_return (heap a: Type) (x: a) (p: st_post_h heap a) = p x + +(** Sequential composition of stateful WPs *) +unfold +let st_bind_wp + (heap: Type) + (a b: Type) + (wp1: st_wp_h heap a) + (wp2: (a -> GTot (st_wp_h heap b))) + (p: st_post_h heap b) + (h0: heap) + = wp1 (fun a h1 -> wp2 a p h1) h0 + +(** Branching for stateful WPs *) +unfold +let st_if_then_else + (heap a p: Type) + (wp_then wp_else: st_wp_h heap a) + (post: st_post_h heap a) + (h0: heap) + = wp_then post h0 /\ (~p ==> wp_else post h0) + +(** As with [PURE] the [wp] combinator names the postcondition as + [k] to avoid duplicating it. *) +unfold +let st_ite_wp (heap a: Type) (wp: st_wp_h heap a) (post: st_post_h heap a) (h0: heap) = + forall (k: st_post_h heap a). + (forall (x: a) (h: heap). {:pattern (guard_free (k x h))} post x h ==> k x h) ==> wp k h0 + +(** Subsumption for stateful WPs *) +unfold +let st_stronger (heap a: Type) (wp1 wp2: st_wp_h heap a) = + (forall (p: st_post_h heap a) (h: heap). wp1 p h ==> wp2 p h) + +(** Closing the scope of a binder within a stateful WP *) +unfold +let st_close_wp (heap a b: Type) (wp: (b -> GTot (st_wp_h heap a))) (p: st_post_h heap a) (h: heap) = + (forall (b: b). wp b p h) + +(** Applying a stateful WP to a trivial postcondition *) +unfold +let st_trivial (heap a: Type) (wp: st_wp_h heap a) = (forall h0. wp (fun r h1 -> True) h0) + +(** Introducing a new effect template [STATE_h] *) +new_effect { + STATE_h (heap: Type) : result: Type -> wp: st_wp_h heap result -> Effect + with + return_wp = st_return heap + ; bind_wp = st_bind_wp heap + ; if_then_else = st_if_then_else heap + ; ite_wp = st_ite_wp heap + ; stronger = st_stronger heap + ; close_wp = st_close_wp heap + ; trivial = st_trivial heap +} + +/// The [EXN] effect for computations that may raise exceptions or +/// fatal errors +/// +/// Weakest preconditions for stateful computations transform +/// [ex_post] postconditions (predicates on [result]s) to [ex_pre] +/// precondition propositions. + +(** Normal results are represented using [V x]. + Handleable exceptions are represented [E e]. + Fatal errors are [Err msg]. *) +noeq +type result (a: Type) = + | V : v: a -> result a + | E : e: exn -> result a + | Err : msg: string -> result a + +(** Exceptional preconditions are just propositions *) +let ex_pre = Type0 + +(** Postconditions on results refined by a precondition *) +let ex_post' (a pre: Type) = _: result a {pre} -> GTot Type0 + +(** Postconditions on results *) +let ex_post (a: Type) = ex_post' a True + +(** Exceptions WP-predicate transformers *) +let ex_wp (a: Type) = ex_post a -> GTot ex_pre + +(** Returning a value [x] normally promotes it to the [V x] result *) +unfold +let ex_return (a: Type) (x: a) (p: ex_post a) : GTot Type0 = p (V x) + +(** Sequential composition of exception-raising code requires case analysing + the result of the first computation before "running" the second one *) +unfold +let ex_bind_wp (a b: Type) (wp1: ex_wp a) (wp2: (a -> GTot (ex_wp b))) (p: ex_post b) + : GTot Type0 = + forall (k: ex_post b). + (forall (rb: result b). {:pattern (guard_free (k rb))} p rb ==> k rb) ==> + (wp1 (function + | V ra1 -> wp2 ra1 k + | E e -> k (E e) + | Err m -> k (Err m))) + +(** As for other effects, branching in [ex_wp] appears in two forms. + First, a simple case analysis on [p] *) +unfold +let ex_if_then_else (a p: Type) (wp_then wp_else: ex_wp a) (post: ex_post a) = + wp_then post /\ (~p ==> wp_else post) + +(** Naming continuations for use with branching *) +unfold +let ex_ite_wp (a: Type) (wp: ex_wp a) (post: ex_post a) = + forall (k: ex_post a). + (forall (rb: result a). {:pattern (guard_free (k rb))} post rb ==> k rb) ==> wp k + +(** Subsumption for exceptional WPs *) +unfold +let ex_stronger (a: Type) (wp1 wp2: ex_wp a) = (forall (p: ex_post a). wp1 p ==> wp2 p) + +(** Closing the scope of a binder for exceptional WPs *) +unfold +let ex_close_wp (a b: Type) (wp: (b -> GTot (ex_wp a))) (p: ex_post a) = (forall (b: b). wp b p) + +(** Applying a computation with a trivial postcondition *) +unfold +let ex_trivial (a: Type) (wp: ex_wp a) = wp (fun r -> True) + +(** Introduce a new effect for [EXN] *) +new_effect { + EXN : result: Type -> wp: ex_wp result -> Effect + with + return_wp = ex_return + ; bind_wp = ex_bind_wp + ; if_then_else = ex_if_then_else + ; ite_wp = ex_ite_wp + ; stronger = ex_stronger + ; close_wp = ex_close_wp + ; trivial = ex_trivial +} + +(** A Hoare-style abbreviation for EXN *) +effect Exn (a: Type) (pre: ex_pre) (post: ex_post' a pre) = + EXN a (fun (p: ex_post a) -> pre /\ (forall (r: result a). post r ==> p r)) + +(** We include divergence in exceptions. + + NOTE: BE WARNED, CODE IN THE [EXN] EFFECT IS ONLY CHECKED FOR + PARTIAL CORRECTNESS *) +unfold +let lift_div_exn (a: Type) (wp: pure_wp a) (p: ex_post a) = wp (fun a -> p (V a)) +sub_effect DIV ~> EXN { lift_wp = lift_div_exn } + +(** A variant of [Exn] with trivial pre- and postconditions *) +effect Ex (a: Type) = Exn a True (fun v -> True) + +/// The [ALL_h] effect template for computations that may diverge, +/// raise exceptions or fatal errors, and uses a generic state. +/// +/// Note, this effect is poorly named, particularly as F* has since +/// gained many more user-defined effect. We no longer have an effect +/// that includes all others. +/// +/// We might rename this in the future to something like [StExnDiv_h]. +/// +/// We layer state on top of exceptions, meaning that raising an +/// exception does not discard the state. +/// +/// As with [STATE_h], [ALL_h] is not a computation type, though its +/// instantiation with a specific type of [heap] (in FStar.All) is. + +(** [all_pre_h] is a predicate on the initial state *) +let all_pre_h (h: Type) = h -> GTot Type0 + +(** Postconditions relate [result]s to final [heap]s refined by a precondition *) +let all_post_h' (h a pre: Type) = result a -> _: h{pre} -> GTot Type0 + +(** A variant of [all_post_h'] without the precondition refinement *) +let all_post_h (h a: Type) = all_post_h' h a True + +(** WP predicate transformers for the [All_h] effect template *) +let all_wp_h (h a: Type) = all_post_h h a -> Tot (all_pre_h h) + +(** Returning a value [x] normally promotes it to the [V x] result + without touching the [heap] *) +unfold +let all_return (heap a: Type) (x: a) (p: all_post_h heap a) = p (V x) + +(** Sequential composition for [ALL_h] is like [EXN]: case analysis of + the exceptional result before "running" the continuation *) +unfold +let all_bind_wp + (heap: Type) + (a b: Type) + (wp1: all_wp_h heap a) + (wp2: (a -> GTot (all_wp_h heap b))) + (p: all_post_h heap b) + (h0: heap) + : GTot Type0 = + wp1 (fun ra h1 -> + (match ra with + | V v -> wp2 v p h1 + | E e -> p (E e) h1 + | Err msg -> p (Err msg) h1)) + h0 + +(** Case analysis in [ALL_h] *) +unfold +let all_if_then_else + (heap a p: Type) + (wp_then wp_else: all_wp_h heap a) + (post: all_post_h heap a) + (h0: heap) + = wp_then post h0 /\ (~p ==> wp_else post h0) + +(** Naming postcondition for better sharing in [ALL_h] *) +unfold +let all_ite_wp (heap a: Type) (wp: all_wp_h heap a) (post: all_post_h heap a) (h0: heap) = + forall (k: all_post_h heap a). + (forall (x: result a) (h: heap). {:pattern (guard_free (k x h))} post x h ==> k x h) ==> wp k h0 + +(** Subsumption in [ALL_h] *) +unfold +let all_stronger (heap a: Type) (wp1 wp2: all_wp_h heap a) = + (forall (p: all_post_h heap a) (h: heap). wp1 p h ==> wp2 p h) + +(** Closing a binder in the scope of an [ALL_h] wp *) +unfold +let all_close_wp + (heap a b: Type) + (wp: (b -> GTot (all_wp_h heap a))) + (p: all_post_h heap a) + (h: heap) + = (forall (b: b). wp b p h) + +(** Applying an [ALL_h] wp to a trivial postcondition *) +unfold +let all_trivial (heap a: Type) (wp: all_wp_h heap a) = (forall (h0: heap). wp (fun r h1 -> True) h0) + +(** Introducing the [ALL_h] effect template *) +new_effect { + ALL_h (heap: Type) : a: Type -> wp: all_wp_h heap a -> Effect + with + return_wp = all_return heap + ; bind_wp = all_bind_wp heap + ; if_then_else = all_if_then_else heap + ; ite_wp = all_ite_wp heap + ; stronger = all_stronger heap + ; close_wp = all_close_wp heap + ; trivial = all_trivial heap +} + +(** + Controlling inversions of inductive type + + Given a value of an inductive type [v:t], where [t = A | B], the SMT + solver can only prove that [v=A \/ v=B] by _inverting_ [t]. This + inversion is controlled by the [ifuel] setting, which usually limits + the recursion depth of the number of such inversions that the solver + can perform. + + The [inversion] predicate below is a way to circumvent the + [ifuel]-based restrictions on inversion depth. In particular, if the + [inversion t] is available in the SMT solver's context, it is free to + invert [t] infinitely, regardless of the [ifuel] setting. + + Be careful using this, since it explicitly subverts the [ifuel] + setting. If used unwisely, this can lead to very poor SMT solver + performance. *) +[@@ remove_unused_type_parameters [0]] +val inversion (a: Type) : Type0 + +(** To introduce [inversion t] in the SMT solver's context, call + [allow_inversion t]. *) +val allow_inversion (a: Type) : Pure unit (requires True) (ensures (fun x -> inversion a)) + +(** Since the [option] type is so common, we always allow inverting + options, regardless of [ifuel] *) +val invertOption (a: Type) + : Lemma (requires True) (ensures (forall (x: option a). None? x \/ Some? x)) [SMTPat (option a)] + +(** Values of type [a] or type [b] *) +type either a b = + | Inl : v: a -> either a b + | Inr : v: b -> either a b + +(** Projections for the components of a dependent pair *) +let dfst (#a: Type) (#b: a -> GTot Type) (t: dtuple2 a b) + : Tot a + = Mkdtuple2?._1 t + +let dsnd (#a: Type) (#b: a -> GTot Type) (t: dtuple2 a b) + : Tot (b (Mkdtuple2?._1 t)) + = Mkdtuple2?._2 t + +(** Dependent triples, with sugar [x:a & y:b x & c x y] *) +unopteq +type dtuple3 (a: Type) (b: (a -> GTot Type)) (c: (x: a -> b x -> GTot Type)) = + | Mkdtuple3 : _1: a -> _2: b _1 -> _3: c _1 _2 -> dtuple3 a b c + +(** Dependent quadruples, with sugar [x:a & y:b x & z:c x y & d x y z] *) +unopteq +type dtuple4 + (a: Type) (b: (x: a -> GTot Type)) (c: (x: a -> b x -> GTot Type)) + (d: (x: a -> y: b x -> z: c x y -> GTot Type)) + = | Mkdtuple4 : _1: a -> _2: b _1 -> _3: c _1 _2 -> _4: d _1 _2 _3 -> dtuple4 a b c d + +(** Dependent quadruples, with sugar [x:a & y:b x & z:c x y & d x y z] *) +unopteq +type dtuple5 + (a: Type) (b: (x: a -> GTot Type)) (c: (x: a -> b x -> GTot Type)) + (d: (x: a -> y: b x -> z: c x y -> GTot Type)) + (e: (x: a -> y: b x -> z: c x y -> w: d x y z -> GTot Type)) + = | Mkdtuple5 : _1: a -> _2: b _1 -> _3: c _1 _2 -> _4: d _1 _2 _3 -> _5: e _1 _2 _3 _4 -> dtuple5 a b c d e + +(** Explicitly discarding a value *) +let ignore (#a: Type) (x: a) : Tot unit = () + +(** In a context where [false] is provable, you can prove that any + type [a] is inhabited. + + There are many proofs of this fact in F*. Here, in the implementation, we build an + infinitely looping function, since the termination check succeeds + in a [False] context. *) +val false_elim (#a: Type) (u: unit{False}) : Tot a + +/// Attributes: +/// +/// An attribute is any F* term. +/// +/// Attributes are desugared and checked for being well-scoped. But, +/// they are not type-checked. +/// +/// It is associated with a definition using the [[@@attribute]] +/// notation, just preceding the definition. + +(** We collect several internal ocaml attributes into a single + inductive type. + + This may be unnecessary. In the future, we are likely to flatten + this definition into several definitions of abstract top-level + names. + + An example: + + {[ + [@@ CInline ] let f x = UInt32.(x +%^ 1) + ]} + + is extracted to C by KaRaMeL to a C definition tagged with the + [inline] qualifier. *) +type __internal_ocaml_attributes = + | PpxDerivingShow (* Generate [@@@ deriving show ] on the resulting OCaml type *) + | PpxDerivingShowConstant of string (* Similar, but for constant printers. *) + | PpxDerivingYoJson (* Generate [@@@ deriving yojson ] on the resulting OCaml type *) + | CInline + (* KaRaMeL-only: generates a C "inline" attribute on the resulting + * function declaration. When used on a local definition (i.e. a letbinding) + KaRaMeL will try to inline this binding in the extracted C code. *) + | Substitute + (* KaRaMeL-only: forces KaRaMeL to inline the function at call-site; this is + * deprecated and the recommended way is now to use F*'s + * [inline_for_extraction], which now also works for stateful functions. *) + | Gc + (* KaRaMeL-only: instructs KaRaMeL to heap-allocate any value of this + * data-type; this requires running with a conservative GC as the + * allocations are not freed. *) + | Comment of string + (* KaRaMeL-only: attach a comment to the declaration. Note that using F*-doc + * syntax automatically fills in this attribute. *) + | CPrologue of string + (* KaRaMeL-only: verbatim C code to be prepended to the declaration. + * Multiple attributes are valid and accumulate, separated by newlines. *) + | CEpilogue of string (* Ibid. *) + | CConst of string + (* KaRaMeL-only: indicates that the parameter with that name is to be marked + * as C const. This will be checked by the C compiler, not by KaRaMeL or F*. + * + * This is deprecated and doesn't work as intended. Use + * LowStar.ConstBuffer.fst instead! *) + | CCConv of string (* A calling convention for C, one of stdcall, cdecl, fastcall *) + | CAbstractStruct + (* KaRaMeL-only: for types that compile to struct types (records and + * inductives), indicate that the header file should only contain a forward + * declaration, which in turn forces the client to only ever use this type + * through a pointer. *) + | CIfDef (* KaRaMeL-only: on a given `val foo`, compile if foo with #ifdef. *) + | CMacro +(* KaRaMeL-only: for a top-level `let v = e`, compile as a macro *) + | CNoInline + (* For security-sensitive functions only: generate special attributes in C + to prevent inlining; if the function is subjected to a -static-header + option, the `inline` attribute will be removed, but the static will + remain. *) + +(** The [inline_let] attribute on a local let-binding, instructs the + extraction pipeline to inline the definition. This may be both to + avoid generating unnecessary intermediate variables, and also to + enable further partial evaluation. Note, use this with care, since + inlining all lets can lead to an exponential blowup in code + size. *) +val inline_let : unit + +(** The [rename_let] attribute support a form of metaprogramming for + the names of let-bound variables used in extracted code. + + This is useful, particularly in conjunction with partial + evaluation, to ensure that names reflect their usage context. + + See tests/micro-benchmarks/Renaming*.fst *) +val rename_let (new_name: string) : Tot unit + +(** The [plugin] attribute is used in conjunction with native + compilation of F* components, accelerating their reduction + relative to the default strategy of just interpreting them. + + See examples/native_tactics for several examples. *) +val plugin (x: int) : Tot unit + +(** An attribute to mark things that the typechecker should *first* + elaborate and typecheck, but unfold before verification. *) +val tcnorm : unit + +(** We erase all ghost functions and unit-returning pure functions to + [()] at extraction. This creates a small issue with abstract + types. Consider a module that defines an abstract type [t] whose + (internal) definition is [unit] and also defines [f: int -> t]. [f] + would be erased to be just [()] inside the module, while the + client calls to [f] would not, since [t] is abstract. To get + around this, when extracting interfaces, if we encounter an + abstract type, we tag it with this attribute, so that + extraction can treat it specially. + + Note, since the use of cross-module inlining (the [--cmi] option), + this attribute is no longer necessary. We retain it for legacy, + but will remove it in the future. *) +val must_erase_for_extraction : unit + +(** This attribute is used with the Dijkstra Monads for Free + construction to track position information in generated VCs *) +val dm4f_bind_range : unit + +(** When attached a top-level definition, the typechecker will succeed + if and only if checking the definition results in an error. The + error number list is actually OPTIONAL. If present, it will be + checked that the definition raises exactly those errors in the + specified multiplicity, but order does not matter. *) +val expect_failure (errs: list int) : Tot unit + +(** When --admit_smt_queries true is present, with the previous attribute since some + definitions only fail when verification is turned on. With this + attribute, one can ensure that a definition fails while lax-checking + too. Same semantics as above, but lax mode will be turned on for the + definition. *) +val expect_lax_failure (errs: list int) : Tot unit + +(** Print the time it took to typecheck a top-level definition *) +val tcdecltime : unit + +(** This attribute is to be used as a hint for the unifier. A + function-typed symbol `t` marked with this attribute will be treated + as being injective in all its arguments by the unifier. That is, + given a problem `t a1..an =?= t b1..bn` the unifier will solve it by + proving `ai =?= bi` for all `i`, without trying to unfold the + definition of `t`. *) +val unifier_hint_injective : unit + +(** + This attribute is used to control the evaluation order + and unfolding strategy for certain definitions. + + In particular, given + {[ + [@@(strict_on_arguments [1;2])] + let f x0 (x1:list x0) (x1:option x0) = e + ]} + + An application [f e0 e1 e2] is reduced by the normalizer by: + + 1. evaluating [e0 ~>* v0, e1 ~>* v1, e2 ~>* v2] + + 2 a. + If, according to the positional arguments [1;2], + if v1 and v2 have constant head symbols + (e.g., v1 = Cons _ _ _, and v2 = None _) + then [f] is unfolded to [e] and reduced as + {[e[v0/x0][v1/x1][v2/x2]]} + + 2 b. + + Otherwise, [f] is not unfolded and the term is [f e0 e1 e2] + reduces to [f v0 v1 v2]. *) +val strict_on_arguments (x: list int) : Tot unit + +(** + * An attribute to tag a tactic designated to solve any + * unsolved implicit arguments remaining at the end of type inference. + **) +val resolve_implicits : unit + +(** + * Implicit arguments can be tagged with an attribute [abc] to dispatch + * their solving to a user-defined tactic also tagged with the same + * attribute and resolve_implicits [@@abc; resolve_implicits]. + + * However, sometimes it is useful to have multiple such + * [abc]-tagged tactics in scope. In such a scenario, to choose among them, + * one can use the attribute as shown below to declare that [t] overrides + * all the tactics [t1...tn] and should be used to solve [abc]-tagged + * implicits, so long as [t] is not iself overridden by some other tactic. + + [@@resolve_implicits; abc; override_resolve_implicits_handler abc [`%t1; ... `%tn]] + let t = e + + **) +val override_resolve_implicits_handler : #a:Type -> a -> list string -> Tot unit + +(** A tactic registered to solve implicits with the (handle_smt_goals) + attribute will receive the SMT goal generated during typechecking + just before it is passed to the SMT solver. + *) +val handle_smt_goals : unit + +(** This attribute can be added to an inductive type definition, + indicating that it should be erased on extraction to `unit`. + + However, any pattern matching on the inductive type results + in a `Ghost` effect, ensuring that computationally relevant + code cannot rely on the values of the erasable type. + + See tests/micro-benchmarks/Erasable.fst, for examples. Also + see https://github.com/FStarLang/FStar/issues/1844 *) +val erasable : unit + +(** [commute_nested_matches] + This attribute can be used to decorate an inductive type [t] + + During normalization, if reduction is blocked on matching the + constructors of [t] in the following sense: + + [ + match (match e0 with | P1 -> e1 | ... | Pn -> en) with + | Q1 -> f1 ... | Qm -> fm + ] + + i.e., the outer match is stuck due to the inner match on [e0] + being stuck, and if the head constructor the outer [Qi] patterns + are the constructors of the decorated inductive type [t], then, + this is reduced to + + [ + match e0 with + | P1 -> (match e1 with | Q1 -> f1 ... | Qm -> fm) + | ... + | Pn -> (match en with | Q1 -> f1 ... | Qm -> fm) + ] + + This is sometimes useful when partially evaluating code before + extraction, particularly when aiming to obtain first-order code + for KaRaMeL. However, this attribute should be used with care, + since if after the rewriting the inner matches do not reduce, then + this can cause an explosion in code size. + + See tests/micro-benchmarks/CommuteNestedMatches.fst + and examples/layeredeffects/LowParseWriters.fsti + *) +val commute_nested_matches : unit + +(** This attribute controls extraction: it can be used to disable + extraction of a given top-level definition into a specific backend, + such as "OCaml". If any extracted code must call into an erased + function, an error will be raised (code 340). + *) +val noextract_to (backend:string) : Tot unit + + +(** This attribute decorates a let binding, e.g., + + [@@normalize_for_extraction steps] + let f = e + + The effect is that prior to extraction, F* will first reduce [e] + using the normalization [steps], and then proceed to extract it as + usual. + + Almost the same behavior can be achieved by using a + [postprocess_for_extraction_with t] attribute, which runs tactic + [t] on the goal [e == ?u] and extracts the solution to [?u] in + place of [e]. However, using a tactic to postprocess a term is + more general than needed for some cases. + + In particular, if we intend to only normalize [e] before + extraction (rather than applying some other form of equational + reasoning), then using [normalize_for_extraction] can be more + efficient, for the following reason: + + Since we are reducing [e] just before extraction, F* can enable an + otherwise non-user-facing normalization feature that allows all + arguments marked [@@@erasable] to be erased to [()]---these terms + will anyway be extracted to [()] so erasing them during + normalization is a useful optimization. + *) +val normalize_for_extraction (steps:list norm_step) : Tot unit + + +(** A layered effect definition may optionally be annotated with + (ite_soundness_by t) attribute, where t is another attribute + When so, the implicits and the smt guard generated when + checking the soundness of the if-then-else combinator, are + dispatched to the tactic in scope that has the t attribute (in addition + to the resolve_implicits attribute as usual) + + See examples/layeredeffects/IteSoundess.fst for a few examples + *) +val ite_soundness_by (attribute: unit): Tot unit + +(** By-default functions that have a layered effect, need to have a type + annotation for their bodies + However, a layered effect definition may contain the default_effect + attribute to indicate to the typechecker that for missing annotations, + use the default effect. + The default effect attribute takes as argument a string, that is the name + of the default effect, two caveats: + - The argument must be a string constant (not a name, for example) + - The argument should be the fully qualified name + For example, the TAC effect in FStar.Tactics.Effect.fsti specifies + its default effect as FStar.Tactics.Tac + F* will typecheck that the default effect only takes one argument, + the result type of the computation + *) +val default_effect (s:string) : Tot unit + +(** A layered effect may optionally be annotated with the + top_level_effect attribute so indicate that this effect may + appear at the top-level + (e.g., a top-level let x = e, where e has a layered effect type) + + The top_level_effect attribute takes (optional) string argument, that is the + name of the effect abbreviation that may constrain effect arguments + for the top-level effect + + As with default effect, the string argument must be a string constant, + and fully qualified + + E.g. a Hoare-style effect `M a pre post`, may have the attribute + `@@ top_level_effect "N"`, where the effect abbreviation `N` may be: + + effect N a post = M a True post + + i.e., enforcing a trivial precondition if `M` appears at the top-level + + If the argument to `top_level_effect` is absent, then the effect itself + is allowed at the top-level with any effect arguments + + See tests/micro-benchmarks/TopLevelIndexedEffects.fst for examples + + *) +val top_level_effect (s:string) : Tot unit + +(** This attribute can be annotated on the binders in an effect signature + to indicate that they are effect parameters. For example, for a + state effect that is parametric in the type of the state, the state + index may be marked as an effect parameter. + + Also see https://github.com/FStarLang/FStar/wiki/Indexed-effects + + *) +val effect_param : unit + +(** Bind definition for a layered effect may optionally contain range + arguments, that are provided by the typechecker during reification + This attribute on the effect definition indicates that the bind + has range arguments. + See for example the TAC effect in FStar.Tactics.Effect.fsti + *) +val bind_has_range_args : unit + + +(** An indexed effect definition may be annotated with + this attribute to indicate that the effect should be + extracted "natively". E.g., the `bind` of the effect is + extracted to primitive `let` bindings + + As an example, `Steel` effects (the effect for concurrent + separation logic) are marked as such + + *) +val primitive_extraction : unit + +(** A qualifier on a type definition which when used in co-domain position + on an arrow type will be extracted as if it were an impure effect type. + + e.g., if you have + + [@@extract_as_impure_effect] + val stt (a:Type) (pre:_) (post:_) : Type + + then arrows of the form `a -> stt b p q` will be extracted + similarly to `a -> Dv b`. + *) +val extract_as_impure_effect : unit + + +(** A binder in a definition/declaration may optionally be annotated as strictly_positive + When the let definition is used in a data constructor type in an inductive + definition, this annotation is used to check the positivity of the inductive + + Further F* checks that the binder is actually positive in the let definition + + See tests/micro-benchmarks/Positivity.fst and NegativeTests.Positivity.fst for a few examples + *) +val strictly_positive : unit + +(** A binder in a definition/declaration may optionally be annotated as unused. + This is used in the strict positivity checker. E.g., a type such as the one + below is accepted + + let f ([@@@unused] a:Type) = unit + type t = | MkT: f t -> t + + F* checks that the binder is actually unused in the definition + + See tests/micro-benchmarks/Positivity.fst for a few examples + *) +val unused : unit + +(** This attribute may be added to an inductive type + to disable auto generated projectors + + Normally there should not be any need to use this unless: + for some reason F* cannot typecheck the auto-generated projectors. + + Another reason to use this attribute may be to avoid generating and + typechecking lot of projectors, most of which are not going to be used + in the rest of the program + *) +val no_auto_projectors : unit + +(** As [no_auto_projectors] but also do not even generate declarations + for them. *) +val no_auto_projectors_decls : unit + +(** This attribute can be added to a let definition + and indicates to the typechecker to typecheck the signature of the definition + without using subtyping. This is sometimes useful for indicating that a lemma + can be applied by the tactic engine without requiring to check additional + subtyping obligations +*) +val no_subtyping : unit + +val admit_termination : unit + +(** Pure and ghost inner let bindings are now always inlined during + the wp computation, if: the return type is not unit and the head + symbol is not marked irreducible. + + To circumvent this behavior, singleton can be used. + See the example usage in ulib/FStar.Algebra.Monoid.fst. *) +val singleton (#a: Type) (x: a) : Tot (y: a{y == x}) + +(** A weakening coercion from eqtype to Type. + + One of its uses is in types of layered effect combinators that + are subjected to stricter typing discipline (no subtyping) *) +unfold let eqtype_as_type (a:eqtype) : Type = a + +(** A coercion of the [x] from [a] to [b], when [a] is provably equal + to [b]. In most cases, F* will silently coerce from [a] to [b] + 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 + +(** Marks a record type as being the result of an automatic desugar of + a constructor with a record payload. + For example, in a module `M`, `type foo = | A {x: int}` desugars + to the type `M.foo` and a type `M.foo__A__payload`. That latter + type `foo__A__payload` is decorated with an attribute + `desugar_of_variant_record ["M.A"]`. *) +val desugar_of_variant_record (type_name: string): unit + +(** Tag for implicits that are to be solved by a tactic. *) +val defer_to (#a:Type) (tag : a) : unit diff --git a/stage0/ulib/FStar.Pprint.fsti b/stage0/ulib/FStar.Pprint.fsti new file mode 100644 index 00000000000..7ac5c135064 --- /dev/null +++ b/stage0/ulib/FStar.Pprint.fsti @@ -0,0 +1,392 @@ +(* + 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 FStar.Pprint + +(* Unfortunate *) +open FStar.Char +open FStar.Float + +(* The rest of this file is taken almost verbatim from src/prettyprint/FStar.Pprint.fsti *) + +(** A pretty-printing engine and a set of basic document combinators. *) + +(** {1 Building documents} *) + +(** Documents must be built in memory before they are rendered. This may seem + costly, but it is a simple approach, and works well. *) + +(** The following operations form a set of basic (low-level) combinators for + building documents. On top of these combinators, higher-level combinators + can be defined: see {!PPrintCombinators}. *) + +(** This is the abstract type of documents. *) +new +val document : Type0 + +(** The following basic (low-level) combinators allow constructing documents. *) + +(** [empty] is the empty document. *) +val empty: document + +(** [doc_of_char c] is a document that consists of the single character [c]. This + character must not be a newline. *) +val doc_of_char: char -> document + +(** [doc_of_string s] is a document that consists of the string [s]. This string must + not contain a newline. *) +val doc_of_string: string -> document + +(** [doc_of_bool b] is a document that consists of the boolean [b]. *) +val doc_of_bool: bool -> document + +(** [substring s ofs len] is a document that consists of the portion of the + string [s] delimited by the offset [ofs] and the length [len]. This + portion must contain a newline. *) +val substring: string -> int -> int -> document + +(** [fancystring s apparent_length] is a document that consists of the string + [s]. This string must not contain a newline. The string may contain fancy + characters: color escape characters, UTF-8 or multi-byte characters, + etc. Thus, its apparent length (which measures how many columns the text + will take up on screen) differs from its length in bytes. *) +val fancystring: string -> int -> document + +(** [fancysubstring s ofs len apparent_length] is a document that consists of + the portion of the string [s] delimited by the offset [ofs] and the length + [len]. This portion must not contain a newline. The string may contain fancy + characters. *) +val fancysubstring : string -> int -> int -> int -> document + +(** [utf8string s] is a document that consists of the UTF-8-encoded string [s]. + This string must not contain a newline. *) +val utf8string: string -> document + +(** [hardline] is a forced newline document. This document forces all enclosing + groups to be printed in non-flattening mode. In other words, any enclosing + groups are dissolved. *) +val hardline: document + +(** [blank n] is a document that consists of [n] blank characters. *) +val blank: int -> document + +(** [break_ n] is a document which consists of either [n] blank characters, + when forced to display on a single line, or a single newline character, + otherwise. Note that there is no choice at this point: choices are encoded + by the [group] combinator. *) +val break_: int -> document + +(** [doc1 ^^ doc2] is the concatenation of the documents [doc1] and [doc2]. *) +val ( ^^ ) : document -> document -> document +(** [x ^/^ y] separates x and y with a breakable space. It is a short-hand for + [x ^^ break 1 ^^ y] *) +val ( ^/^ ) : document -> document -> document + +(** [nest j doc] is the document [doc], in which the indentation level has + been increased by [j], that is, in which [j] blanks have been inserted + after every newline character. Read this again: indentation is inserted + after every newline character. No indentation is inserted at the beginning + of the document. *) +val nest: int -> document -> document + +(** [group doc] encodes a choice. If possible, then the entire document [group + doc] is rendered on a single line. Otherwise, the group is dissolved, and + [doc] is rendered. There might be further groups within [doc], whose + presence will lead to further choices being explored. *) +val group: document -> document + +// (** [column f] is the document obtained by applying the function [f] to the +// current column number. This combinator allows making the construction of +// a document dependent on the current column number. *) +// val column: (int -> document) -> document + +// (** [nesting f] is the document obtained by applying the function [f] to the +// current indentation level, that is, the number of indentation (blank) +// characters that were inserted at the beginning of the current line. *) +// val nesting: (int -> document) -> document + +// (** [position f] is the document obtained by applying the function [f] +// to the current position in the rendered output. The position +// consists of [bol], which is the character-offset of the beginnig +// of the current line (starting at 0), [line], which is the current +// line (starting at 1), and [column], which is the current column +// (starting at 0). The current character-offset is always given by +// [bol + column]. *) +// val position : (int -> int -> int -> document) -> document + +(** [ifflat doc1 doc2] is rendered as [doc1] if part of a group that can be + successfully flattened, and is rendered as [doc2] otherwise. Use this + operation with caution. Because the pretty-printer is free to choose + between [doc1] and [doc2], these documents should be semantically + equivalent. *) +val ifflat: document -> document -> document + +// SI: purposely commented-out for now. +// (** {1 Rendering documents} *) +// +// (** This renderer sends its output into an output channel. *) +// module ToChannel : PPrintRenderer.RENDERER +// with type channel = out_channel +// and type document = document +// +// (** This renderer sends its output into a memory buffer. *) +// module ToBuffer : PPrintRenderer.RENDERER +// with type channel = Buffer.t +// and type document = document +// +// (** This renderer sends its output into a formatter channel. *) +// module ToFormatter : PPrintRenderer.RENDERER +// with type channel = Format.formatter +// and type document = document + + +(** A set of high-level combinators for building documents. *) + +(** {1 Single characters} *) + +(** The following constant documents consist of a single character. *) + +val lparen: document +val rparen: document +val langle: document +val rangle: document +val lbrace: document +val rbrace: document +val lbracket: document +val rbracket: document +val squote: document +val dquote: document +val bquote: document +val semi: document +val colon: document +val comma: document +val space: document +val dot: document +val sharp: document +val slash: document +val backslash: document +val equals: document +val qmark: document +val tilde: document +val at: document +val percent: document +val dollar: document +val caret: document +val ampersand: document +val star: document +val plus: document +val minus: document +val underscore: document +val bang: document +val bar: document +val rarrow: document +val long_left_arrow: document +val larrow: document + +(** {1 Delimiters} *) + +(** [precede l x] is [l ^^ x]. *) +val precede: document -> document -> document + +(** [terminate r x] is [x ^^ r]. *) +val terminate: document -> document -> document + +(** [enclose l r x] is [l ^^ x ^^ r]. *) +val enclose: document -> document -> document -> document + +(** The following combinators enclose a document within a pair of delimiters. + They are partial applications of [enclose]. No whitespace or line break is + introduced. *) + +val squotes: document -> document +val dquotes: document -> document +val bquotes: document -> document +val braces: document -> document +val parens: document -> document +val angles: document -> document +val brackets: document -> document + +(** {1 Repetition} *) + +(** [twice doc] is the document obtained by concatenating two copies of + the document [doc]. *) +val twice: document -> document + +(** [repeat n doc] is the document obtained by concatenating [n] copies of + the document [doc]. *) +val repeat: int -> document -> document + +(** {1 Lists and options} *) + +(** [concat docs] is the concatenation of the documents in the list [docs] (with ^^). *) +val concat: list document -> document + +(** [separate sep docs] is the concatenation of the documents in the list + [docs]. The separator [sep] is inserted between every two adjacent + documents. *) +val separate: document -> list document -> document + +(** [concat_map f xs] is equivalent to [concat (List.map f xs)]. *) +val concat_map: ('a -> document) -> list 'a -> document + +(** [separate_map sep f xs] is equivalent to [separate sep (List.map f xs)]. *) +val separate_map: document -> ('a -> document) -> list 'a -> document + +(** [separate2 sep last_sep docs] is the concatenation of the documents in the + list [docs]. The separator [sep] is inserted between every two adjacent + documents, except between the last two documents, where the separator + [last_sep] is used instead. *) +val separate2: document -> document -> list document -> document + +(** [optional f None] is the empty document. [optional f (Some x)] is + the document [f x]. *) +val optional: ('a -> document) -> option 'a -> document + +(** {1 Text} *) + +(** [lines s] is the list of documents obtained by splitting [s] at newline + characters, and turning each line into a document via [substring]. This + code is not UTF-8 aware. *) +val lines: string -> list document + +(** [arbitrary_string s] is equivalent to [separate (break 1) (lines s)]. + It is analogous to [string s], but is valid even if the string [s] + contains newline characters. *) +val arbitrary_string: string -> document + +(** [words s] is the list of documents obtained by splitting [s] at whitespace + characters, and turning each word into a document via [substring]. All + whitespace is discarded. This code is not UTF-8 aware. *) +val words: string -> list document + +(** [split ok s] splits the string [s] before and after every occurrence of a + character that satisfies the predicate [ok]. The substrings thus obtained + are turned into documents, and a list of documents is returned. No + information is lost: the concatenation of the documents yields the + original string. This code is not UTF-8 aware. *) +val split: (char -> bool) -> string -> list document + +(** [flow sep docs] separates the documents in the list [docs] with the + separator [sep] and arranges for a new line to begin whenever a document + does not fit on the current line. This is useful for typesetting + free-flowing, ragged-right text. A typical choice of [sep] is [break b], + where [b] is the number of spaces that must be inserted between two + consecutive words (when displayed on the same line). *) +val flow: document -> list document -> document + +(** [flow_map sep f docs] is equivalent to [flow sep (List.map f docs)]. *) +val flow_map: document -> ('a -> document) -> list 'a -> document + +(** [url s] is a possible way of displaying the URL [s]. A potential line + break is inserted immediately before and immediately after every slash + and dot character. *) +val url: string -> document + +(** {1 Alignment and indentation} *) + +(** [align doc] increases the indentation level to reach the current + column. Thus, this document will be rendered within a box whose + upper left corner is the current position. *) +val align: document -> document + +(* [hang n doc] is analogous to [align], but additionally indents + all lines, except the first one, by [n]. Thus, the text in the + box forms a hanging indent. *) +val hang: int -> document -> document + +(** [prefix n b left right] has the following flat layout: {[ +left right +]} +and the following non-flat layout: +{[ +left + right +]} +The parameter [n] controls the nesting of [right] (when not flat). +The parameter [b] controls the number of spaces between [left] and [right] +(when flat). + *) +val prefix: int -> int -> document -> document -> document + +(** [jump n b right] is equivalent to [prefix n b empty right]. *) +val jump: int -> int -> document -> document + +(** [infix n b middle left right] has the following flat layout: {[ +left middle right +]} +and the following non-flat layout: {[ +left middle + right +]} +The parameter [n] controls the nesting of [right] (when not flat). +The parameter [b] controls the number of spaces between [left] and [middle] +(always) and between [middle] and [right] (when flat). +*) +val infix: int -> int -> document -> document -> document -> document + +(** [surround n b opening contents closing] has the following flat layout: {[ +opening contents closing +]} +and the following non-flat layout: {[ +opening + contents +closing +]} +The parameter [n] controls the nesting of [contents] (when not flat). +The parameter [b] controls the number of spaces between [opening] and [contents] +and between [contents] and [closing] (when flat). +*) +val surround: int -> int -> document -> document -> document -> document + +(** [soft_surround] is analogous to [surround], but involves more than one + group, so it offers possibilities other than the completely flat layout + (where [opening], [contents], and [closing] appear on a single line) and + the completely developed layout (where [opening], [contents], and + [closing] appear on separate lines). It tries to place the beginning of + [contents] on the same line as [opening], and to place [closing] on the + same line as the end of [contents], if possible. +*) +val soft_surround: int -> int -> document -> document -> document -> document + +(** [surround_separate n b void opening sep closing docs] is equivalent to + [surround n b opening (separate sep docs) closing], except when the + list [docs] is empty, in which case it reduces to [void]. *) +val surround_separate: int -> int -> document -> document -> document -> document -> list document -> document + +(** [surround_separate_map n b void opening sep closing f xs] is equivalent to + [surround_separate n b void opening sep closing (List.map f xs)]. *) +val surround_separate_map: int -> int -> document -> document -> document -> document -> ('a -> document) -> list 'a -> document + +(** {1 Short-hands} *) + + +//(** [!^s] is a short-hand for [string s]. *) +// val ( !^ ) : string -> document + +(** [x ^/^ y] separates [x] and [y] with a breakable space. + It is a short-hand for [x ^^ break 1 ^^ y]. *) + +(** [x ^//^ y] is a short-hand for [prefix 2 1 x y]. *) +// val ( ^//^ ) : document -> document -> document + +// Expose underlying Renderer.pretty implementations (avoid inner modules). +// [pretty_string] uses ToBuffer:RENDERER implementation; +// [print_out_channel] uses the ToChannel:RENDERER one. +(** Note: this exists in the underlying module, but userspace cannot really +call it since we have no support for floats. See [render] below. *) +val pretty_string : float -> int -> document -> string + +(** Render a document. Equivalent to [pretty_string 1.0 80]. *) +val render : document -> string diff --git a/stage0/ulib/FStar.PredicateExtensionality.fst b/stage0/ulib/FStar.PredicateExtensionality.fst new file mode 100644 index 00000000000..0571d1d9cf9 --- /dev/null +++ b/stage0/ulib/FStar.PredicateExtensionality.fst @@ -0,0 +1,30 @@ +(* + 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.PredicateExtensionality +module F = FStar.FunctionalExtensionality +module P = FStar.PropositionalExtensionality + +let predicate (a:Type) = a -> Tot prop + +let peq (#a:Type) (p1:predicate a) (p2:predicate a) = + forall x. (p1 x <==> p2 x) + +let predicateExtensionality (a:Type) (p1 p2:predicate a) + : Lemma (requires (peq #a p1 p2)) + (ensures (F.on_domain a p1==F.on_domain a p2)) + = P.axiom(); + assert (F.feq p1 p2) + diff --git a/stage0/ulib/FStar.Preorder.fst b/stage0/ulib/FStar.Preorder.fst new file mode 100644 index 00000000000..9591cdd3fc6 --- /dev/null +++ b/stage0/ulib/FStar.Preorder.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.Preorder + +(* Preordered relations and stable predicates *) + +type relation (a:Type) = a -> a -> Type0 + +type predicate (a:Type) = a -> Type0 + +let reflexive (#a:Type) (rel:relation a) = + forall (x:a). rel x x + +let transitive (#a:Type) (rel:relation a) = + forall (x:a) (y:a) (z:a). (rel x y /\ rel y z) ==> rel x z + +let preorder_rel (#a:Type) (rel:relation a) = + reflexive rel /\ transitive rel + +type preorder (a:Type) = rel:relation a{preorder_rel rel} + +let stable (#a:Type) (p:predicate a) (rel:relation a{preorder_rel rel}) = + forall (x:a) (y:a). (p x /\ rel x y) ==> p y diff --git a/stage0/ulib/FStar.Printf.fst b/stage0/ulib/FStar.Printf.fst new file mode 100644 index 00000000000..6c647d8a79d --- /dev/null +++ b/stage0/ulib/FStar.Printf.fst @@ -0,0 +1,209 @@ +(* + 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.Printf + +(* + * A variable arity C-style printf + * See tests/micro-benchmarks/Test.Printf.fst for example usage + *) + +open FStar.Char +open FStar.String +module I = FStar.Integers + +noeq +type extension = + | MkExtension : #a:Type0 -> $f:(a -> Tot string) -> extension + +/// `arg`: The format specifiers supported +/// %b : bool +/// %d : int +/// %c : char +/// %s : string +/// %uy : U8.t +/// %us : U16.t +/// %ul : U32.t +/// %uL : U64.t +/// %y : Int8.t +/// %i : Int16.t +/// %l : Int32.t +/// %L : Int64.t +noeq +type arg = + | Bool + | Int + | Char + | String + | U8 + | U16 + | U32 + | U64 + | I8 + | I16 + | I32 + | I64 + | Extension of extension + +/// `arg_type`: Interpreting a `arg` tag as a type +let arg_type (a:arg) : Tot Type0 = + match a with + | Bool -> bool + | Int -> int + | Char -> char + | String -> string + | U8 -> FStar.UInt8.t + | U16 -> FStar.UInt16.t + | U32 -> FStar.UInt32.t + | U64 -> FStar.UInt64.t + | I8 -> FStar.Int8.t + | I16 -> FStar.Int16.t + | I32 -> FStar.Int32.t + | I64 -> FStar.Int64.t + | Extension (MkExtension #t _) -> t + +let string_of_arg (#a:arg) (x:arg_type a) : string = + match a with + | Bool -> string_of_bool x + | Int -> string_of_int x + | Char -> string_of_char x + | String -> x + | U8 -> FStar.UInt8.to_string x + | U16 -> FStar.UInt16.to_string x + | U32 -> FStar.UInt32.to_string x + | U64 -> FStar.UInt64.to_string x + | I8 -> FStar.Int8.to_string x + | I16 -> FStar.Int16.to_string x + | I32 -> FStar.Int32.to_string x + | I64 -> FStar.Int64.to_string x + | Extension (MkExtension f) -> f x + +/// `dir`: Internal to this module +/// A 'directive"; used when parsing a format specifier +noeq +type dir = + | Lit of char + | Arg of arg + +/// `dir_type ds`: Interpreting a list directives as a pure function type +let rec dir_type (ds:list dir) : Tot Type0 = + match ds with + | [] -> string + | Lit c :: ds' -> dir_type ds' + | Arg a :: ds' -> arg_type a -> dir_type ds' + +/// `string_of_dirs ds`: +/// Interpreting a list of directives as its function, +/// in a continuation-passing style +let rec string_of_dirs + (ds:list dir) + (k:string -> string) + : dir_type ds + = match ds with + | [] -> k "" + | Lit c :: ds' -> + coerce_eq () ( + string_of_dirs ds' (fun res -> k (string_of_char c ^ res)) + ) + | Arg a :: ds' -> + fun (x : arg_type a) -> + string_of_dirs ds' (fun res -> ((k "") + ^ string_of_arg x + ^ res)) + +type extension_parser = i:list char -> option (extension & o:list char{o << i}) + +/// `parse_format s`: +/// Parses a list of characters into a list of directives +/// Or None, in case the format string is invalid +let rec parse_format + (s:list char) + (parse_ext: extension_parser) + : option (list dir) + = let add_dir (d:dir) (ods : option (list dir)) + : option (list dir) + = match ods with + | None -> None + | Some ds -> Some (d::ds) + in + match s with + | [] -> Some [] + | ['%'] -> None + + //Unsigned integers beging with '%u' + | '%' :: 'u' :: s' -> begin + match s' with + | 'y' :: s'' -> add_dir (Arg U8) (parse_format s'' parse_ext) + | 's' :: s'' -> add_dir (Arg U16) (parse_format s'' parse_ext) + | 'l' :: s'' -> add_dir (Arg U32) (parse_format s'' parse_ext) + | 'L' :: s'' -> add_dir (Arg U64) (parse_format s'' parse_ext) + | _ -> None + end + + //User extensions begin with '%X' + | '%' :: 'X' :: s' -> begin + match parse_ext s' with + | Some (ext, rest) -> add_dir (Arg (Extension ext)) (parse_format rest parse_ext) + | _ -> None + end + + | '%' :: c :: s' -> begin + match c with + | '%' -> add_dir (Lit '%') (parse_format s' parse_ext) + | 'b' -> add_dir (Arg Bool) (parse_format s' parse_ext) + | 'd' -> add_dir (Arg Int) (parse_format s' parse_ext) + | 'c' -> add_dir (Arg Char) (parse_format s' parse_ext) + | 's' -> add_dir (Arg String) (parse_format s' parse_ext) + | 'y' -> add_dir (Arg I8) (parse_format s' parse_ext) + | 'i' -> add_dir (Arg I16) (parse_format s' parse_ext) + | 'l' -> add_dir (Arg I32) (parse_format s' parse_ext) + | 'L' -> add_dir (Arg I64) (parse_format s' parse_ext) + | _ -> None + end + | c :: s' -> + add_dir (Lit c) (parse_format s' parse_ext) + +/// `parse_format_string`: parses a format `string` into a list of directives +let parse_format_string + (s:string) + (parse_ext:extension_parser) + : option (list dir) + = parse_format (list_of_string s) parse_ext + +let no_extensions : extension_parser = fun s -> None + +/// `sprintf`: The main function of this module +/// A variable arity string formatter +/// Used as: `sprintf "format string" v1 ... vn` +/// +/// It's marked `inline_for_extraction`, meaning that we don't need +/// any special support in our compilation targets to support sprintf +/// +/// `sprintf "Hello %s" "world"` +/// will just extract to `"Hello " ^ "world"` +inline_for_extraction +let sprintf + (s:string{normalize_term (b2t (Some? (parse_format_string s no_extensions)))}) + : norm [unascribe; delta; iota; zeta; primops] (dir_type (Some?.v (parse_format_string s no_extensions))) + = norm [unascribe; delta; iota; zeta; primops] (string_of_dirs (Some?.v (parse_format_string s no_extensions)) (fun s -> s)) + + +/// `ext_sprintf`: An extensible version of sprintf +inline_for_extraction +let ext_sprintf + (parse_ext: extension_parser) + (s:string{normalize_term (b2t (Some? (parse_format_string s parse_ext)))}) + : norm [unascribe; delta; iota; zeta; primops] (dir_type (Some?.v (parse_format_string s parse_ext))) + = norm [unascribe; delta; iota; zeta; primops] (string_of_dirs (Some?.v (parse_format_string s parse_ext)) (fun s -> s)) diff --git a/stage0/ulib/FStar.PropositionalExtensionality.fst b/stage0/ulib/FStar.PropositionalExtensionality.fst new file mode 100644 index 00000000000..567fd35ec62 --- /dev/null +++ b/stage0/ulib/FStar.PropositionalExtensionality.fst @@ -0,0 +1,42 @@ +(* + 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.PropositionalExtensionality +(* + * + * The propositional extensionality axiom asserts the equality of + * equisatisfiable propositions. + * + * The formulation of this axiom is (clearly) tied closely to the + * precise definition of `prop`. + * + * `Prims.prop` is defined as the type of all subtypes of `unit`, + * including, e.g., `squash t`, for all `t`. + * + * Note, we have considered several other plausible definitions of + * `prop`, but some of which are actually inconsistent with this + * axiom. See, for instance, + * examples/paradoxes/PropositionalExtensionalityInconsistent.fst. + * + *) + +assume +val axiom (_:unit) + : Lemma (forall (p1 p2:prop). (p1 <==> p2) <==> (p1 == p2)) + +let apply (p1 p2:prop) + : Lemma (ensures ((p1 <==> p2) <==> (p1 == p2))) + = axiom () diff --git a/stage0/ulib/FStar.PtrdiffT.fst b/stage0/ulib/FStar.PtrdiffT.fst new file mode 100644 index 00000000000..e589a04bb3a --- /dev/null +++ b/stage0/ulib/FStar.PtrdiffT.fst @@ -0,0 +1,56 @@ +module FStar.PtrdiffT + +module Cast = FStar.Int.Cast +module I64 = FStar.Int64 + +open FStar.Ghost + +friend FStar.SizeT + +(** We assume the existence of lower and upper bounds corresponding to PTRDIFF_MIN + and PTRDIFF_MAX, which ensure that a ptrdiff_t has at least width 16 according to + the C standard *) +assume +val max_bound : x:erased int { x >= pow2 15 - 1 } +let min_bound : erased int = hide (- (reveal max_bound + 1)) + +(** We also assume that size_t is wider than ptrdiff_t *) +assume +val bounds_lemma (_:unit) : Lemma (SizeT.bound > max_bound) + +let t = x:I64.t{I64.v x >= min_bound /\ I64.v x <= max_bound } + +let fits x = + FStar.Int.fits x I64.n == true /\ + x <= max_bound /\ x >= min_bound + +let fits_lt x y = () + +let v x = + I64.v x + +let int_to_t (x: int) : Pure t + (requires (fits x)) + (ensures (fun y -> v y == x)) + = I64.int_to_t x + +let ptrdiff_v_inj x = () +let ptrdiff_int_to_t_inj x = () + +let mk x = int_to_t (I16.v x) + +let ptrdifft_to_sizet x = + bounds_lemma (); + SizeT.Sz <| Cast.int64_to_uint64 x + +let add x y = I64.add x y + +let div x y = + FStar.Math.Lib.slash_decr_axiom (v x) (v y); + I64.div x y + +let rem x y = I64.rem x y +let gt x y = I64.gt x y +let gte x y = I64.gte x y +let lt x y = I64.lt x y +let lte x y = I64.lte x y diff --git a/stage0/ulib/FStar.PtrdiffT.fsti b/stage0/ulib/FStar.PtrdiffT.fsti new file mode 100644 index 00000000000..be203a848b9 --- /dev/null +++ b/stage0/ulib/FStar.PtrdiffT.fsti @@ -0,0 +1,114 @@ +module FStar.PtrdiffT + +module I16 = FStar.Int16 +module US = FStar.SizeT + +val t : eqtype + +val fits (x: int) : Tot prop + +val fits_lt (x y: int) : Lemma + (requires (abs x < abs y /\ fits y)) + (ensures (fits x)) + [SMTPat (fits x); SMTPat (fits y)] + +[@@noextract_to "krml"] +val v (x: t) : Pure int + (requires True) + (ensures (fun y -> fits y)) + +[@@noextract_to "krml"] +val int_to_t (x: int) : Pure t + (requires (fits x)) + (ensures (fun y -> v y == x)) + +/// v and int_to_t are inverses +val ptrdiff_v_inj (x: t) + : Lemma + (ensures int_to_t (v x) == x) + [SMTPat (v x)] + +val ptrdiff_int_to_t_inj (x: int) + : Lemma + (requires fits x) + (ensures v (int_to_t x) == x) + [SMTPat (int_to_t x)] + +/// According to the C standard, "the bit width of ptrdiff_t is not less than 17 since c99, +/// 16 since C23" +/// (https://en.cppreference.com/w/c/types/ptrdiff_t) +/// We therefore only offer a function to create a ptrdiff_t when we are sure it fits +noextract inline_for_extraction +val mk (x: I16.t) : Pure t + (requires True) + (ensures (fun y -> v y == I16.v x)) + +noextract inline_for_extraction +let zero : (zero_ptrdiff: t { v zero_ptrdiff == 0 }) = + mk 0s + +(** Cast from ptrdiff_to to size_t. + We restrict the cast to positive integers to avoid reasoning about modular arithmetic *) +val ptrdifft_to_sizet (x:t{v x >= 0}) : Pure US.t + (requires True) + (ensures fun c -> v x == US.v c) + +val add (x y: t) : Pure t + (requires (fits (v x + v y))) + (ensures (fun z -> v z == v x + v y)) + +(** Division primitive + + As for rem below, we only provide division on positive signed + integers, to avoid having to reason about possible overflows *) +val div (a:t{v a >= 0}) (b:t{v b > 0}) : Pure t + (requires True) + (ensures fun c -> v a / v b == v c) + +(** Modulo specification, similar to FStar.Int.mod *) + +let mod_spec (a:int{fits a}) (b:int{fits b /\ b <> 0}) : GTot (n:int{fits n}) = + let open FStar.Mul in + let res = a - ((a/b) * b) in + fits_lt res b; + res + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b]. + Note, according to the C standard, this operation is only defined + if a/b is representable. + To avoid requiring the precondition `fits (v a / v b)`, we instead + restrict this primitive to positive integers only. + *) +val rem (a:t{v a >= 0}) (b:t{v b > 0}) : Pure t + (requires True) + (ensures (fun c -> mod_spec (v a) (v b) = v c)) + +(** Greater than *) +val gt (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x > v y))) + +(** Greater than or equal *) +val gte (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x >= v y))) + +(** Less than *) +val lt (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x < v y))) + +(** Less than or equal *) +val lte (x y: t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x <= v y))) + +(** Infix notations *) + +unfold let op_Plus_Hat = add +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/FStar.Pure.BreakVC.fst b/stage0/ulib/FStar.Pure.BreakVC.fst new file mode 100644 index 00000000000..804666d3240 --- /dev/null +++ b/stage0/ulib/FStar.Pure.BreakVC.fst @@ -0,0 +1,34 @@ +module FStar.Pure.BreakVC + +open FStar.Tactics.V2 + +let mono_lem () : Lemma (pure_wp_monotonic unit break_wp') = + assert (pure_wp_monotonic unit break_wp') by begin + norm [delta]; + l_to_r [`spinoff_eq] + end + +let squash_p_impl_p (p:pure_post unit) : squash (squash (p ()) ==> p ()) = () + +#push-options "--no_tactics" // don't process `with_tactic` markers + +let (==>>) = (==>) // Working around #3173 and #3175 + +let aux2 (p:pure_post unit) +: Lemma (break_wp p ==> pure_return unit () p) += calc (==>>) { + break_wp p; + == {} + spinoff (squash (p ())); + ==> { spinoff_equiv (squash (p ())) } + squash (p ()); + ==>> { squash_p_impl_p p } + p (); + ==> { () } + pure_return unit () p; + } + +let break_vc () : PURE unit break_wp = + Classical.forall_intro aux2; + () +#pop-options diff --git a/stage0/ulib/FStar.Pure.BreakVC.fsti b/stage0/ulib/FStar.Pure.BreakVC.fsti new file mode 100644 index 00000000000..b564e6411e1 --- /dev/null +++ b/stage0/ulib/FStar.Pure.BreakVC.fsti @@ -0,0 +1,21 @@ +module FStar.Pure.BreakVC + +open FStar.Tactics + +let break_wp' : pure_wp' unit = + fun p -> spinoff (squash (p ())) + +val mono_lem () : Lemma (pure_wp_monotonic unit break_wp') + +private +let post () : Tac unit = + norm [delta_fully [`%mono_lem; `%break_wp']]; + trefl() + +[@@postprocess_with post] +unfold +let break_wp : pure_wp unit = + let _ = mono_lem () in + break_wp' + +val break_vc () : PURE unit break_wp diff --git a/stage0/ulib/FStar.Range.fsti b/stage0/ulib/FStar.Range.fsti new file mode 100644 index 00000000000..b8b8bdfda64 --- /dev/null +++ b/stage0/ulib/FStar.Range.fsti @@ -0,0 +1,59 @@ +(* + 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.Range + +open FStar.Sealed + +(** [__range] is a type for the internal representations of source + ranges. Internally, it includes a "definition" range and a "use" range, each + of which has a filename, a start position (line+col), and an end position. + + We do not fully expose this type, but explode below allows to inspect it, + and __mk_range to construct it. + + [range] is a sealed version of [__range], meaning it does not provide + any facts about its values. We use this type since we have *total* functions + inspecting terms and returning their range metadada (like the range_of constant). + Given that range is sealed, it is sound to make range_of total. +*) + +assume new type __range + +type range = sealed __range + +(** A dummy range constant *) +val __range_0 : __range +let range_0 : range = seal __range_0 + +(** Building a range constant *) +val __mk_range (file: string) (from_line from_col to_line to_col: int) : Tot __range + +val mk_range (file: string) (from_line from_col to_line to_col: int) : Tot range +(* This is essentially +unfold +let mk_range (file: string) (from_line from_col to_line to_col: int) : Tot range = + seal (__mk_range file from_line from_col to_line to_col) +but the extra indirection breaks the custom errors messages in QuickCode. +Just retaining this as a primop for now (Guido 30/Aug/2024) *) + +val join_range (r1 r2 : range) : Tot range + +(** [labeled] is used internally to the SMT encoding to associate a + source-code location with an assertion. *) +irreducible +let labeled (r : range) (msg: string) (b: Type) : Type = b + +val explode (r : __range) : Tot (string * int * int * int * int) diff --git a/stage0/ulib/FStar.Real.Old.fst b/stage0/ulib/FStar.Real.Old.fst new file mode 100644 index 00000000000..f1837bce014 --- /dev/null +++ b/stage0/ulib/FStar.Real.Old.fst @@ -0,0 +1,70 @@ +(* This module is DEPRECATED. Use FStar.Real instead. *) +module FStar.Real.Old + +module SEM = FStar.StrongExcludedMiddle + +let of_string = admit() +// We cannot really implement this. The old implementation +// had no execution behavior for it nor assumed any facts. + +let (=.) x y = SEM.strong_excluded_middle (x == y) +let (<>.) x y = SEM.strong_excluded_middle (x =!= y) +let (>.) x y = SEM.strong_excluded_middle (x >. y) +let (>=.) x y = SEM.strong_excluded_middle (x >=. y) +let (<.) x y = SEM.strong_excluded_middle (x <. y) +let (<=.) x y = SEM.strong_excluded_middle (x <=. y) + +#reset-options "--smtencoding.elim_box true --smtencoding.l_arith_repr native --smtencoding.nl_arith_repr native" + +let n_over_n2 (n:real{n <>. 0.0R /\ n*.n <>. 0.0R}) = + assert (n /. (n *. n) == 1.0R /. n) + +let test = assert (two >. one) +let test1 = assert (one =. 1.0R) + +let test_lt1 = assert (1.0R <. 2.0R) +let test_lt2 = assert (~ (1.0R <. 1.0R)) +let test_lt3 = assert (~ (2.0R <. 1.0R)) + +let test_le1 = assert (1.0R <=. 2.0R) +let test_le2 = assert (1.0R <=. 1.0R) +let test_le3 = assert (~ (2.0R <=. 1.0R)) + +let test_gt1 = assert (~ (1.0R >. 2.0R)) +let test_gt2 = assert (~ (1.0R >. 1.0R)) +let test_gt3 = assert (2.0R >. 1.0R) + +let test_ge1 = assert (~ (1.0R >=. 2.0R)) +let test_ge2 = assert (1.0R >=. 1.0R) +let test_ge3 = assert (2.0R >=. 1.0R) + +let test_add_eq = assert (1.0R +. 1.0R =. 2.0R) +let test_add_eq' = assert (1.0R +. 3.0R =. 4.0R) +let test_add_lt = assert (1.0R +. 1.0R <. 3.0R) + +let test_mul_eq = assert (2.0R *. 2.0R =. 4.0R) +let test_mul_lt = assert (2.0R *. 2.0R <. 5.0R) + +let test_div_eq = assert (8.0R /. 2.0R =. 4.0R) +let test_div_lt = assert (8.0R /. 2.0R <. 5.0R) + +let test_sqrt_2_mul = assert (sqrt_2 *. sqrt_2 == 2.0R) +//let test_sqrt_2_add = assert (sqrt_2 +. sqrt_2 >. 2.0R) // Fails +let test_sqrt_2_scale = assert (1.0R /. sqrt_2 =. sqrt_2 /. 2.0R) + +// Common identities +let add_id_l = assert (forall n. 0.0R +. n =. n) +let add_id_r = assert (forall n. n +. 0.0R =. n) + +let mul_nil_l = assert (forall n. 0.0R *. n =. 0.0R) +let mul_nil_r = assert (forall n. n *. 0.0R =. 0.0R) + +let mul_id_l = assert (forall n. 1.0R *. n =. n) +let mul_id_r = assert (forall n. n *. 1.0R =. n) + +let add_comm = assert (forall x y. x +. y =. y +.x) +let add_assoc = assert (forall x y z. ((x +. y) +.z) =. (x +. (y +. z))) + +let mul_comm = assert (forall x y. x *. y =. y *.x) +let mul_assoc = assert (forall x y z. ((x *. y) *.z) =. (x *. (y *. z))) +let mul_dist = assert (forall x y z. x *. (y +. z) =. (x *. y) +. (x *.z)) diff --git a/stage0/ulib/FStar.Real.Old.fsti b/stage0/ulib/FStar.Real.Old.fsti new file mode 100644 index 00000000000..d7d924a4d17 --- /dev/null +++ b/stage0/ulib/FStar.Real.Old.fsti @@ -0,0 +1,48 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Real.Old + +(* This module is DEPRECATED. Use FStar.Real instead. *) + +open FStar.Real +module R = FStar.Real + +let real = R.real +let of_int = R.of_int + +(** + Used to extract real constants; this function is + uninterpreted logically. i.e., 1.1R is extracted to + [of_string "1.1"] + *) +val of_string: string -> Tot real + +unfold let ( +. ) : real -> real -> Tot real = R.op_Plus_Dot +unfold let ( -. ) : real -> real -> Tot real = R.op_Subtraction_Dot +unfold let ( *. ) : real -> real -> Tot real = R.op_Star_Dot +unfold let ( /. ) : real -> d:real{d <> 0.0R} -> Tot real = R.op_Slash_Dot + +(* Assuming ghost decidable equality, but it is not eqtype. *) +val ( =. ) (x y : real) : GTot (b:bool{b <==> x == y}) +val ( >. ) (x y : real) : GTot (b:bool{b <==> R.op_Greater_Dot x y}) +val ( >=. ) (x y : real) : GTot (b:bool{b <==> R.op_Greater_Equals_Dot x y}) +val ( <. ) (x y : real) : GTot (b:bool{b <==> R.op_Less_Dot x y}) +val ( <=. ) (x y : real) : GTot (b:bool{b <==> R.op_Less_Equals_Dot x y}) + +unfold let zero = R.zero +unfold let one = R.one +unfold let two = R.two +unfold let sqrt_2 = R.sqrt_2 diff --git a/stage0/ulib/FStar.Real.fsti b/stage0/ulib/FStar.Real.fsti new file mode 100644 index 00000000000..f4f265aeb6a --- /dev/null +++ b/stage0/ulib/FStar.Real.fsti @@ -0,0 +1,50 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Real +(* + This module provides a signature for real arithmetic. + + Real number constants can be specific in floating point format with + an 'R' suffix, e.g., 1.0R + + All these operations are mapped to the corresponding primitives + in Z3's theory of real arithmetic. + + This is only a logical model of the reals. There is no extraction + for them, as they are an erasable type. Any operation that can observe + a real (comparisons, etc) must be Ghost or a proposition. +*) + +[@@erasable] +val real : Type0 + +val of_int : int -> Tot real + +val ( +. ) : real -> real -> Tot real +val ( -. ) : real -> real -> Tot real +val ( *. ) : real -> real -> Tot real +val ( /. ) : real -> d:real{d =!= 0.0R} -> Tot real + +val ( >. ) : real -> real -> prop +val ( >=. ) : real -> real -> prop + +val ( <. ) : real -> real -> prop +val ( <=. ) : real -> real -> prop + +let zero : real = of_int 0 +let one : real = of_int 1 +let two : real = of_int 2 +val sqrt_2 : r:real{r >=. 0.0R /\ r *. r == two} diff --git a/stage0/ulib/FStar.Ref.fst b/stage0/ulib/FStar.Ref.fst new file mode 100644 index 00000000000..e597f5a7e83 --- /dev/null +++ b/stage0/ulib/FStar.Ref.fst @@ -0,0 +1,74 @@ +(* + 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.Ref + +(* wrapper over FStar.ST to provide operations over refs with default preorder *) + +include FStar.Heap +include FStar.ST + +open FStar.Heap +open FStar.ST + +unfold +let sel (#a:Type0) (h:heap) (r:ref a) : GTot a + = Heap.sel h r + +unfold +let upd (#a:Type0) (h:heap) (r:ref a) (v:a) :GTot heap + = Heap.upd h r v + +unfold +let addr_of (#a:Type0) (r:ref a) : GTot nat = addr_of r + +unfold +let contains (#a:Type0) (h:heap) (r:ref a) :GTot Type0 + = Heap.contains h r + +unfold +let unused_in (#a:Type0) (r:ref a) (h:heap) :GTot Type0 + = Heap.unused_in r h + +unfold +let fresh (#a:Type0) (r:ref a) (h0:heap) (h1:heap) : Type0 + = Heap.fresh r h0 h1 + +unfold +let only (#a:Type0) (r:ref a) :GTot (Set.set nat) + = Heap.only r + +val recall (#a:Type0) (r:ref a) : STATE unit (fun p h -> h `contains` r ==> p () h) +let recall #_ r = recall r + +val alloc (#a:Type0) (init:a) + :ST (ref a) + (fun _ -> True) + (fun h0 r h1 -> fresh r h0 h1 /\ modifies Set.empty h0 h1 /\ sel h1 r == init) +let alloc #_ init = alloc init + +val read (#a:Type0) (r:ref a) :STATE a (fun p h -> p (sel h r) h) +let read #_ r = read r + +val write (#a:Type0) (r:ref a) (v:a) + :ST unit (fun _ -> True) (fun h0 _ h1 -> h0 `contains` r /\ modifies (only r) h0 h1 /\ equal_dom h0 h1 /\ sel h1 r == v) +let write #_ r v = write r v + +val op_Bang (#a:Type0) (r:ref a) :STATE a (fun p h -> p (sel h r) h) +let op_Bang #_ r = read r + +val op_Colon_Equals (#a:Type0) (r:ref a) (v:a) + :ST unit (fun _ -> True) (fun h0 _ h1 -> h0 `contains` r /\ modifies (only r) h0 h1 /\ equal_dom h0 h1 /\ sel h1 r == v) +let op_Colon_Equals #_ r v = write r v diff --git a/stage0/ulib/FStar.RefinementExtensionality.fst b/stage0/ulib/FStar.RefinementExtensionality.fst new file mode 100644 index 00000000000..6ac69db4317 --- /dev/null +++ b/stage0/ulib/FStar.RefinementExtensionality.fst @@ -0,0 +1,33 @@ +module FStar.RefinementExtensionality + +open FStar.FunctionalExtensionality +open FStar.PredicateExtensionality + +let refext0 (t:Type) (r1 : t -> prop) (r2 : t -> prop) : + Lemma (requires (r1 == r2)) + (ensures (x:t{r1 x} == x:t{r2 x})) = () + +let refext_on_domain (t:Type) (r1 : t -> prop) (r2 : t -> prop) : + Lemma (requires (forall x. r1 x <==> r2 x)) + (ensures (x:t{on t r1 x} == x:t{on t r2 x})) = + PredicateExtensionality.predicateExtensionality _ r1 r2; + refext0 t (on t r1) (on t r2) + +let refext (t:Type) (r1 : t -> prop) (r2 : t -> prop) : + Lemma (requires (forall x. r1 x <==> r2 x)) + (ensures (x:t{r1 x} == x:t{r2 x})) = + assert (x:t{on t r1 x} == x:t{r1 x}); + assert (x:t{on t r2 x} == x:t{r2 x}); + refext_on_domain t r1 r2; + () + +(* Small test. Use names to avoid hash-consing mismatches. *) +let ref1 (x:int) : prop = b2t (x >= 0) +let ref2 (x:int) : prop = x >= 0 \/ x >= 1 + +let ty1 = x:int{ref1 x} +let ty2 = x:int{ref2 x} + +let _ = + refext int ref1 ref2; + assert (ty1 == ty2) diff --git a/stage0/ulib/FStar.RefinementExtensionality.fsti b/stage0/ulib/FStar.RefinementExtensionality.fsti new file mode 100644 index 00000000000..5fb90dd1fee --- /dev/null +++ b/stage0/ulib/FStar.RefinementExtensionality.fsti @@ -0,0 +1,5 @@ +module FStar.RefinementExtensionality + +val refext (t:Type) (r1 : t -> prop) (r2 : t -> prop) : + Lemma (requires (forall x. r1 x <==> r2 x)) + (ensures (x:t{r1 x} == x:t{r2 x})) diff --git a/stage0/ulib/FStar.Reflection.Const.fst b/stage0/ulib/FStar.Reflection.Const.fst new file mode 100644 index 00000000000..678695745f7 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.Const.fst @@ -0,0 +1,79 @@ +(* + 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.Const + +(* Common lids *) + +// TODO: these are awful names +// TODO: _qn vs _lid + +let imp_qn = ["Prims"; "l_imp"] +let and_qn = ["Prims"; "l_and"] +let or_qn = ["Prims"; "l_or"] +let not_qn = ["Prims"; "l_not"] +let iff_qn = ["Prims"; "l_iff"] +let eq2_qn = ["Prims"; "eq2"] +let eq1_qn = ["Prims"; "eq"] +let true_qn = ["Prims"; "l_True"] +let false_qn = ["Prims"; "l_False"] +let b2t_qn = ["Prims"; "b2t"] +let forall_qn = ["Prims"; "l_Forall"] +let exists_qn = ["Prims"; "l_Exists"] +let squash_qn = ["Prims"; "squash"] +let prop_qn = ["Prims"; "prop"] + +let bool_true_qn = ["Prims"; "true"] +let bool_false_qn = ["Prims"; "false"] + +let int_lid = ["Prims"; "int"] +let bool_lid = ["Prims"; "bool"] +let unit_lid = ["Prims"; "unit"] +let string_lid = ["Prims"; "string"] + +let add_qn = ["Prims"; "op_Addition"] +let neg_qn = ["Prims"; "op_Minus"] +let minus_qn = ["Prims"; "op_Subtraction"] +let mult_qn = ["Prims"; "op_Multiply"] +let mult'_qn = ["FStar"; "Mul"; "op_Star"] +let div_qn = ["Prims"; "op_Division"] +let lt_qn = ["Prims"; "op_LessThan"] +let lte_qn = ["Prims"; "op_LessThanOrEqual"] +let gt_qn = ["Prims"; "op_GreaterThan"] +let gte_qn = ["Prims"; "op_GreaterThanOrEqual"] +let mod_qn = ["Prims"; "op_Modulus"] + +let nil_qn = ["Prims"; "Nil"] +let cons_qn = ["Prims"; "Cons"] + +let mktuple2_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple2"] +let mktuple3_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple3"] +let mktuple4_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple4"] +let mktuple5_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple5"] +let mktuple6_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple6"] +let mktuple7_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple7"] +let mktuple8_qn = ["FStar"; "Pervasives"; "Native"; "Mktuple8"] + +let land_qn = ["FStar" ; "UInt" ; "logand"] +let lxor_qn = ["FStar" ; "UInt" ; "logxor"] +let lor_qn = ["FStar" ; "UInt" ; "logor"] +let ladd_qn = ["FStar" ; "UInt" ; "add_mod"] +let lsub_qn = ["FStar" ; "UInt" ; "sub_mod"] +let shiftl_qn = ["FStar" ; "UInt" ; "shift_left"] +let shiftr_qn = ["FStar" ; "UInt" ; "shift_right"] +let udiv_qn = ["FStar" ; "UInt" ; "udiv"] +let umod_qn = ["FStar" ; "UInt" ; "mod"] +let mul_mod_qn = ["FStar" ; "UInt" ; "mul_mod"] +let nat_bv_qn = ["FStar" ; "BV" ; "int2bv"] diff --git a/stage0/ulib/FStar.Reflection.Formula.fst b/stage0/ulib/FStar.Reflection.Formula.fst new file mode 100644 index 00000000000..3e8ff064485 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.Formula.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.Reflection.Formula + +(* This module is a temporary for Meta-F* migration *) +include FStar.Reflection.V1.Formula diff --git a/stage0/ulib/FStar.Reflection.TermEq.Simple.fst b/stage0/ulib/FStar.Reflection.TermEq.Simple.fst new file mode 100644 index 00000000000..9ea6044b6af --- /dev/null +++ b/stage0/ulib/FStar.Reflection.TermEq.Simple.fst @@ -0,0 +1,10 @@ +module FStar.Reflection.TermEq.Simple + +open FStar.Stubs.Reflection.Types +open FStar.Reflection.TermEq + +let term_eq = term_eq +let term_eq_ok _ _ = () + +let univ_eq = univ_eq +let univ_eq_ok _ _ = () diff --git a/stage0/ulib/FStar.Reflection.TermEq.Simple.fsti b/stage0/ulib/FStar.Reflection.TermEq.Simple.fsti new file mode 100644 index 00000000000..b8575ebc9dc --- /dev/null +++ b/stage0/ulib/FStar.Reflection.TermEq.Simple.fsti @@ -0,0 +1,31 @@ +module FStar.Reflection.TermEq.Simple + +(* This is just a wrapper over FStar.Reflection.TermEq. + +For clients who just want to use term_eq, and not term_eq_dec, this +interface brings in less dependencies. + +Returning just a boolean and providing the SMTPat lemma makes it a bit +more convenient to use: one can write `if term_eq (foo _) _` for an +effectful foo without running into a variable escaping its scope. *) + +open FStar.Stubs.Reflection.Types + +(* A conservative version: works on all terms, returns `true` if they +are guaranteed to be equal. *) +[@@plugin] +val term_eq (t1 t2 : term) : bool + +val term_eq_ok (t1 t2 : term) + : Lemma (requires term_eq t1 t2) + (ensures t1 == t2) + [SMTPat (term_eq t1 t2)] + +(* Idem for universes *) +[@@plugin] +val univ_eq (u1 u2 : universe) : bool + +val univ_eq_ok (u1 u2 : universe) + : Lemma (requires univ_eq u1 u2) + (ensures u1 == u2) + [SMTPat (univ_eq u1 u2)] diff --git a/stage0/ulib/FStar.Reflection.TermEq.fst b/stage0/ulib/FStar.Reflection.TermEq.fst new file mode 100644 index 00000000000..0b38743a70a --- /dev/null +++ b/stage0/ulib/FStar.Reflection.TermEq.fst @@ -0,0 +1,703 @@ +module FStar.Reflection.TermEq + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Stubs.Reflection.V2.Builtins +module L = FStar.List.Tot + + +(* "SMT may not be able to prove the types of ... and ... to be equal, +if the proof fails, try annotating these with the same type" *) +#set-options "--warn_error -290" + +(* +This file raised several limitations of the SMT encoding. Lines marked +with #2908 are seemingly consequences of issue #2908 and should be removed. +In fact many auxiliary lemmas should be removed as they should become +obvious. Lines marked with *** should not be needed. +*) + +let rec memP_allP #a #b (top:b) (pred : (x:a{x << top}) -> Type) (x : a) (l : list a{l << top}) + : Lemma (requires allP top pred l /\ L.memP x l) + (ensures x << top /\ pred x) + [SMTPat (allP top pred l); SMTPat (L.memP x l)] + = match l with + | [] -> () + | y::ys -> + if StrongExcludedMiddle.strong_excluded_middle (x == y) then () else memP_allP top pred x ys + +let rec memP_allP0 #a (pred : a -> Type) (x : a) (l : list a) + : Lemma (requires allP0 pred l /\ L.memP x l) + (ensures pred x) + [SMTPat (allP0 pred l); SMTPat (L.memP x l)] + = match l with + | [] -> () + | y::ys -> + if StrongExcludedMiddle.strong_excluded_middle (x == y) then () else memP_allP0 pred x ys + +let rec memP_dec #a (x : a) (l : list a) + : Lemma (requires L.memP x l) + (ensures x << l) + [SMTPat (L.memP x l)] + = match l with + | [] -> () + | y::ys -> + if StrongExcludedMiddle.strong_excluded_middle (x == y) then () else memP_dec x ys + +(* FIXME: the only reason these are not exposed is to not contaminate +the namespace for most users, especially as `Eq` is already used in +Reflection.Formula. But there should not be a problem with using this +name fully-qualified. *) +private +type _cmpres = + | Eq + | Neq + | Unknown + +// Would it be easier for the proofs to be embedded in the _cmpres? +let valid #t (c:_cmpres) (x y : t) = + match c with + | Eq -> x == y + | Neq -> x =!= y + | Unknown -> True + +type cmpres #t (x y : t) = c:_cmpres{valid c x y} + +type comparator_for (t:Type) = x:t -> y:t -> cmpres x y + +let (&&&) (#s : Type u#ss) (#t : Type u#tt) (#x #y : s) (#w #z : t) + ($c1 : cmpres x y) + ($c2 : cmpres w z) + : cmpres (x,w) (y,z) = + match c1, c2 with + | Eq, Eq -> Eq + | Neq, _ + | _, Neq -> Neq + | _ -> Unknown + +val bv_cmp : comparator_for bv +let bv_cmp x1 x2 = + let v1 = inspect_bv x1 in + let v2 = inspect_bv x2 in + pack_inspect_bv x1; + pack_inspect_bv x2; + 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 = + pack_inspect_fv f1; + pack_inspect_fv f2; + let n1 = inspect_fv f1 in + let n2 = inspect_fv f2 in + if n1 = n2 then Eq else Neq + +val opt_cmp : #a:Type -> comparator_for a -> comparator_for (option a) +let opt_cmp cmp o1 o2 = + match o1, o2 with + | None, None -> Eq + | Some x, Some y -> cmp x y + | _ -> Neq + +val either_cmp : #a:Type -> #b:Type -> comparator_for a -> comparator_for b -> comparator_for (either a b) +let either_cmp cmpa cmpb e1 e2 = + match e1, e2 with + | Inl x, Inl y -> cmpa x y + | Inr x, Inr y -> cmpb x y + | _ -> Neq + +val pair_cmp : #a:Type -> #b:Type -> comparator_for a -> comparator_for b -> comparator_for (a & b) +let pair_cmp cmpa cmpb (a1, b1) (a2, b2) = + cmpa a1 a2 &&& cmpb b1 b2 + +val list_cmp : #a:Type u#aa -> comparator_for a -> comparator_for (list a) +let rec list_cmp #a cmp l1 l2 = + match l1, l2 with + | [], [] -> Eq + | x::xs, y::ys -> cmp x y &&& list_cmp cmp xs ys + | _ -> Neq + +val list_dec_cmp : +#a:Type u#aa -> #b:Type u#bb -> top1:b -> top2:b -> + f:(x:a -> y:a{x << top1 /\ y << top2} -> cmpres x y) -> + l1:(list a) -> l2:(list a){l1 << top1 /\ l2 << top2} -> + cmpres l1 l2 +let rec list_dec_cmp #a top1 top2 cmp l1 l2 = + match l1, l2 with + | [], [] -> Eq + | x::xs, y::ys -> cmp x y &&& list_dec_cmp top1 top2 cmp xs ys + | _ -> Neq + +val opt_dec_cmp : #a:Type -> #b:Type -> top1:b -> top2:b -> + (f : (x:a -> y:a{x << top1 /\ y << top2} -> cmpres x y)) -> + o1:(option a){o1 << top1} -> o2:(option a){o2 << top2} -> + cmpres o1 o2 +let opt_dec_cmp top1 top2 cmp o1 o2 = + match o1, o2 with + | None, None -> Eq + | Some x, Some y -> cmp x y + | _ -> Neq + +val either_dec_cmp : #a:Type -> #b:Type -> #c:Type -> top1:c -> top2:c -> + (x:a -> y:a{x< cmpres x y) -> + (x:b -> y:b{x< cmpres x y) -> + e1 :(either a b){e1 << top1} -> + e2 :(either a b){e2 << top2} -> + cmpres e1 e2 +let either_dec_cmp top1 top2 cmpa cmpb e1 e2 = + match e1, e2 with + | Inl x, Inl y -> cmpa x y + | Inr x, Inr y -> cmpb x y + | _ -> Neq + +val eq_cmp : #a:eqtype -> comparator_for a +let eq_cmp x y = if x = y then Eq else Neq + +val range_cmp : comparator_for range +let range_cmp r1 r2 = + Sealed.sealed_singl r1 r2; + Eq + +val ident_cmp : comparator_for ident +let ident_cmp i1 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) = + pack_inspect_universe u1; + pack_inspect_universe u2; + let uv1 = inspect_universe u1 in + let uv2 = inspect_universe u2 in + match uv1, uv2 with + | Uv_Zero, Uv_Zero -> Eq + | Uv_Succ u1, Uv_Succ u2 -> univ_cmp u1 u2 + | Uv_Max us1, Uv_Max us2 -> list_dec_cmp u1 u2 univ_cmp us1 us2 + | Uv_BVar v1, Uv_BVar v2 -> eq_cmp v1 v2 + | Uv_Name n1, Uv_Name n2 -> ident_cmp n1 n2 + | Uv_Unif u1, Uv_Unif u2 -> Unknown + | Uv_Unk, Uv_Unk -> Eq + | _ -> Neq + +val const_cmp : comparator_for vconst +let const_cmp c1 c2 = + match c1, c2 with + | C_Unit, C_Unit -> Eq + | C_Int i1, C_Int i2 -> eq_cmp i1 i2 + | C_True, C_True -> Eq + | C_False, C_False -> Eq + | C_String s1, C_String s2 -> eq_cmp s1 s2 + | C_Range r1, C_Range r2 -> range_cmp r1 r2 + | C_Reify, C_Reify -> Eq + | C_Reflect n1, C_Reflect n2 -> eq_cmp n1 n2 + | C_Real s1, C_Real s2 -> eq_cmp s1 s2 + | _ -> Neq + +(* TODO. Or seal...? *) +val ctxu_cmp : comparator_for ctx_uvar_and_subst +let ctxu_cmp _ _ = Unknown + +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 comp_cmp : comparator_for comp +val pat_cmp : comparator_for pattern +val pat_arg_cmp : comparator_for (pattern & bool) +val br_cmp : comparator_for branch +val match_returns_ascription_cmp : comparator_for match_returns_ascription + +let rec term_cmp t1 t2 = + pack_inspect_inv t1; + pack_inspect_inv t2; + let tv1 = inspect_ln t1 in + let tv2 = inspect_ln t2 in + match tv1, tv2 with + | Tv_Unsupp, _ + | _, Tv_Unsupp -> Unknown + | 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 -> + fv_cmp f1 f2 &&& list_dec_cmp t1 t2 univ_cmp u1 u2 + + | Tv_App h1 a1, Tv_App h2 a2 -> + term_cmp h1 h2 &&& arg_cmp a1 a2 + + | Tv_Abs b1 e1, Tv_Abs b2 e2 -> + binder_cmp b1 b2 + &&& term_cmp e1 e2 + + | Tv_Arrow b1 c1, Tv_Arrow b2 c2 -> + binder_cmp b1 b2 + &&& comp_cmp c1 c2 + + | Tv_Type u1, Tv_Type u2 -> + univ_cmp u1 u2 + + | Tv_Refine sb1 r1, Tv_Refine sb2 r2 -> + binder_cmp sb1 sb2 + &&& term_cmp r1 r2 + + | Tv_Const c1, Tv_Const c2 -> + const_cmp c1 c2 + + | Tv_Uvar n1 u1, Tv_Uvar n2 u2 -> + eq_cmp n1 n2 &&& ctxu_cmp u1 u2 + + | 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 + &&& binder_cmp sb1 sb2 + &&& term_cmp e1 e2 + &&& term_cmp b1 b2 + + | Tv_Match sc1 o1 brs1, Tv_Match sc2 o2 brs2 -> + term_cmp sc1 sc2 + &&& opt_dec_cmp t1 t2 match_returns_ascription_cmp o1 o2 + &&& list_dec_cmp t1 t2 br_cmp brs1 brs2 + + | Tv_AscribedT e1 ta1 tacopt1 eq1, Tv_AscribedT e2 ta2 tacopt2 eq2 -> + term_cmp e1 e2 + &&& term_cmp ta1 ta2 + &&& opt_dec_cmp t1 t2 term_cmp tacopt1 tacopt2 + &&& eq_cmp eq1 eq2 + + | Tv_AscribedC e1 c1 tacopt1 eq1, Tv_AscribedC e2 c2 tacopt2 eq2 -> + term_cmp e1 e2 + &&& comp_cmp c1 c2 + &&& opt_dec_cmp t1 t2 term_cmp tacopt1 tacopt2 + &&& eq_cmp eq1 eq2 + + | Tv_Unknown, Tv_Unknown -> Eq + + | _ -> Neq + +and arg_cmp (a1, q1) (a2, q2) = + term_cmp a1 a2 &&& aqual_cmp q1 q2 + +and aqual_cmp a1 a2 = + match a1, a2 with + | Q_Implicit, Q_Implicit -> Eq + | Q_Explicit, Q_Explicit -> Eq + | Q_Equality, Q_Equality -> Eq + | Q_Meta m1, Q_Meta m2 -> term_cmp m1 m2 + | _ -> Neq + +and match_returns_ascription_cmp asc1 asc2 = + let (b1, (tc1, tacopt1, eq1)) = asc1 in + let (b2, (tc2, tacopt2, eq2)) = asc2 in + binder_cmp b1 b2 + &&& either_dec_cmp asc1 asc2 term_cmp comp_cmp tc1 tc2 + &&& opt_dec_cmp asc1 asc2 term_cmp tacopt1 tacopt2 + &&& eq_cmp eq1 eq2 + +and binder_cmp b1 b2 = + let bv1 = inspect_binder b1 in + let bv2 = inspect_binder b2 in + pack_inspect_binder b1; + pack_inspect_binder b2; + 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 + let cv2 = inspect_comp c2 in + pack_inspect_comp_inv c1; + pack_inspect_comp_inv c2; + match cv1, cv2 with + | C_Total t1, C_Total t2 + | C_GTotal t1, C_GTotal t2 -> + term_cmp t1 t2 + + | C_Lemma pre1 post1 pat1, C_Lemma pre2 post2 pat2 -> + term_cmp pre1 pre2 + &&& term_cmp post1 post2 + &&& term_cmp pat1 pat2 + + | C_Eff us1 ef1 t1 args1 dec1, C_Eff us2 ef2 t2 args2 dec2 -> + list_dec_cmp c1 c2 univ_cmp us1 us2 + &&& eq_cmp ef1 ef2 + &&& term_cmp t1 t2 + &&& list_dec_cmp c1 c2 arg_cmp args1 args2 + &&& list_dec_cmp c1 c2 term_cmp dec1 dec2 + + | _ -> Neq + +and br_cmp br1 br2 = + //pair_cmp pat_cmp term_cmp br1 br2 + pat_cmp (fst br1) (fst br2) &&& term_cmp (snd br1) (snd br2) + +and pat_cmp p1 p2 = + match p1, p2 with + | 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 subpats1 subpats2 + + | _ -> Neq + +and pat_arg_cmp (p1, b1) (p2, b2) = + pat_cmp p1 p2 &&& eq_cmp b1 b2 + +let defined r = ~(Unknown? r) + +let def2 f l1 l2 =(forall x y. L.memP x l1 /\ L.memP y l2 ==> defined (f x y)) + +let rec defined_list #a (f : comparator_for a) (l1 l2 : list a) + : Lemma (requires (def2 f l1 l2)) (ensures defined (list_cmp f l1 l2)) + = match l1, l2 with + | [], [] -> () + | x::xs, y::ys -> defined_list f xs ys + | _ -> () + +let rec defined_list_dec #a #b (t1 t2 : b) (f : comparator_for a) + (l1 : list a{l1 << t1}) + (l2 : list a{l2 << t2}) + : Lemma (requires (def2 f l1 l2)) (ensures defined (list_dec_cmp t1 t2 f l1 l2)) + = match l1, l2 with + | [], [] -> () + | x::xs, y::ys -> defined_list_dec t1 t2 f xs ys + | _ -> () + +let faithful_univ_UvMax (u : universe) (us : list universe) + : Lemma (requires inspect_universe u == Uv_Max us /\ faithful_univ u) + (ensures allP u faithful_univ us) + = assert_norm (faithful_univ u <==> allP u faithful_univ us) // #2908 + +let univ_eq_UvMax (u1 u2 : universe) (us1 us2 : list universe) + : Lemma (requires inspect_universe u1 == Uv_Max us1 /\ + inspect_universe u2 == Uv_Max us2) + (ensures univ_cmp u1 u2 == list_dec_cmp u1 u2 univ_cmp us1 us2) + = assert_norm (univ_cmp u1 u2 == list_dec_cmp u1 u2 univ_cmp us1 us2) // #2908 + +val univ_faithful_lemma (u1 u2 : universe) : Lemma (requires faithful_univ u1 /\ faithful_univ u2) (ensures defined (univ_cmp u1 u2)) +let rec univ_faithful_lemma (u1 u2 : universe) = + match inspect_universe u1, inspect_universe u2 with + | Uv_Zero, Uv_Zero -> () + | Uv_Succ u1, Uv_Succ u2 -> univ_faithful_lemma u1 u2 + | Uv_Max us1, Uv_Max us2 -> + (****)faithful_univ_UvMax u1 us1; + (***)faithful_univ_UvMax u2 us2; + univ_faithful_lemma_list u1 u2 us1 us2; + (***)univ_eq_UvMax u1 u2 us1 us2; + () + | Uv_BVar _, Uv_BVar _ -> () + | Uv_Name _, Uv_Name _ -> () + | _ -> () + +and univ_faithful_lemma_list #b (u1 u2 : b) (us1 : list universe{us1 << u1}) (us2 : list universe{us2 << u2}) + : Lemma (requires allP u1 faithful_univ us1 /\ allP u2 faithful_univ us2) + (ensures defined (list_dec_cmp u1 u2 univ_cmp us1 us2)) + (decreases us1) + = + introduce forall x y. L.memP x us1 /\ L.memP y us2 ==> defined (univ_cmp x y) with + (introduce forall y. L.memP x us1 /\ L.memP y us2 ==> defined (univ_cmp x y) with + (introduce (L.memP x us1 /\ L.memP y us2) ==> (defined (univ_cmp x y)) with h. ( + univ_faithful_lemma x y + ) + ) + ) + ; + defined_list_dec u1 u2 univ_cmp us1 us2 + +(* Just a placeholder for now *) +val faithful_lemma (t1:term) (t2:term) : Lemma (requires faithful t1 /\ faithful t2) (ensures defined (term_cmp t1 t2)) + +#push-options "--z3rlimit 40" + +let faithful_Tv_UInst (t : term) (f : fv) (us : list universe) + : Lemma (requires inspect_ln t == Tv_UInst f us + /\ faithful t) + (ensures allP t faithful_univ us) + = () + +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) (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) + (ensures allP t faithful_branch brs) + = assert_norm (faithful t ==> allP t faithful_branch brs) + +let term_eq_Tv_Match (t1 t2 : term) (sc1 sc2 : term) (o1 o2 : option match_returns_ascription) (brs1 brs2 : list branch) + : Lemma (requires inspect_ln t1 == Tv_Match sc1 o1 brs1 + /\ inspect_ln t2 == Tv_Match sc2 o2 brs2) + (ensures term_cmp t1 t2 == (term_cmp sc1 sc2 + &&& opt_dec_cmp t1 t2 match_returns_ascription_cmp o1 o2 + &&& list_dec_cmp t1 t2 br_cmp brs1 brs2)) + = assume (term_cmp t1 t2 == (term_cmp sc1 sc2 + &&& 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) (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) + (ensures pat_cmp p1 p2 == (fv_cmp f1 f2 + &&& opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) ous1 ous2 + &&& list_dec_cmp p1 p2 pat_arg_cmp args1 args2)) + = assert_norm (pat_cmp p1 p2 == (fv_cmp f1 f2 + &&& opt_dec_cmp p1 p2 (list_dec_cmp p1 p2 univ_cmp) ous1 ous2 + &&& list_dec_cmp p1 p2 pat_arg_cmp args1 args2)) + +let comp_eq_C_Eff (c1 c2 : comp) (us1 us2 : universes) (ef1 ef2 : name) (t1 t2 : typ) (args1 args2 : list argv) (dec1 dec2 : list term) + : Lemma (requires inspect_comp c1 == C_Eff us1 ef1 t1 args1 dec1 + /\ inspect_comp c2 == C_Eff us2 ef2 t2 args2 dec2) + (ensures comp_cmp c1 c2 == (list_dec_cmp c1 c2 univ_cmp us1 us2 + &&& eq_cmp ef1 ef2 + &&& term_cmp t1 t2 + &&& list_dec_cmp c1 c2 arg_cmp args1 args2 + &&& list_dec_cmp c1 c2 term_cmp dec1 dec2)) + = assume (comp_cmp c1 c2 == (list_dec_cmp c1 c2 univ_cmp us1 us2 + &&& eq_cmp ef1 ef2 + &&& term_cmp t1 t2 + &&& list_dec_cmp c1 c2 arg_cmp args1 args2 + &&& list_dec_cmp c1 c2 term_cmp dec1 dec2)) // #2908, assert_norm doesn't work + +let rec faithful_lemma (t1 t2 : term) = + match inspect_ln t1, inspect_ln t2 with + | Tv_Var _, Tv_Var _ + | Tv_BVar _, Tv_BVar _ + | Tv_FVar _, Tv_FVar _ -> () + | Tv_UInst f1 us1, Tv_UInst f2 us2 -> + let tv1 = inspect_ln t1 in + let tv2 = inspect_ln t2 in + univ_faithful_lemma_list t1 t2 us1 us2; + () + + | Tv_Const c1, Tv_Const c2 -> () + | Tv_App h1 a1, Tv_App h2 a2 -> + faithful_lemma h1 h2; + faithful_lemma_arg a1 a2 + | Tv_Abs b1 t1, Tv_Abs b2 t2 -> + faithful_lemma_binder b1 b2; + faithful_lemma t1 t2 + | Tv_Arrow b1 c1, Tv_Arrow b2 c2 -> + faithful_lemma_binder b1 b2; + faithful_lemma_comp c1 c2 + | Tv_Type u1, Tv_Type u2 -> + univ_faithful_lemma u1 u2 + | Tv_Refine b1 t1, Tv_Refine b2 t2 -> + faithful_lemma_binder b1 b2; + faithful_lemma t1 t2 + + | Tv_Let r1 ats1 x1 e1 b1, Tv_Let r2 ats2 x2 e2 b2 -> + faithful_lemma_attrs_dec t1 t2 ats1 ats2; + 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 e1 e2 b1 b2; + () + + | Tv_Match sc1 o1 brs1, Tv_Match sc2 o2 brs2 -> + (***)faithful_Tv_Match t1 sc1 o1 brs1; + (***)faithful_Tv_Match t2 sc2 o2 brs2; + faithful_lemma sc1 sc2; + faithful_lemma_branches t1 t2 brs1 brs2; + (***)term_eq_Tv_Match t1 t2 sc1 sc2 o1 o2 brs1 brs2; + () + + | Tv_AscribedT e1 t1 tacopt1 eq1, Tv_AscribedT e2 t2 tacopt2 eq2 -> + faithful_lemma e1 e2; + faithful_lemma t1 t2; + (match tacopt1, tacopt2 with | Some t1, Some t2 -> faithful_lemma t1 t2 | _ -> ()); + () + + | Tv_AscribedC e1 c1 tacopt1 eq1, Tv_AscribedC e2 c2 tacopt2 eq2 -> + faithful_lemma e1 e2; + faithful_lemma_comp c1 c2; + (match tacopt1, tacopt2 with | Some t1, Some t2 -> faithful_lemma t1 t2 | _ -> ()); + () + + | Tv_Unknown, Tv_Unknown -> () + + | _ -> assert (defined (term_cmp t1 t2)) (* rest of the cases trivial *) + +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 _ _, 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 subpats1 subpats2; + (***)pat_eq_Pat_Cons p1 p2 head1 head2 univs1 univs2 subpats1 subpats2; + () + + | _ -> () + +and faithful_lemma_pattern_arg (pb1 pb2 : pattern & bool) + : Lemma (requires faithful_pattern_arg pb1 /\ faithful_pattern_arg pb2) + (ensures defined (pat_arg_cmp pb1 pb2)) + = + let (p1, _) = pb1 in + let (p2, _) = pb2 in + faithful_lemma_pattern p1 p2 + +and faithful_lemma_pattern_args #b + (top1 top2 : b) + (pats1 : list (pattern & bool){pats1 << top1}) + (pats2 : list (pattern & bool){pats2 << top2}) + : Lemma (requires allP top1 faithful_pattern_arg pats1 /\ allP top2 faithful_pattern_arg pats2) + (ensures defined (list_dec_cmp top1 top2 pat_arg_cmp pats1 pats2)) + (decreases pats1) + = + introduce forall x y. L.memP x pats1 /\ L.memP y pats2 ==> defined (pat_arg_cmp x y) with + (introduce forall y. L.memP x pats1 /\ L.memP y pats2 ==> defined (pat_arg_cmp x y) with + (introduce (L.memP x pats1 /\ L.memP y pats2) ==> (defined (pat_arg_cmp x y)) with h. ( + faithful_lemma_pattern_arg x y + ) + ) + ) + ; + defined_list_dec top1 top2 pat_arg_cmp pats1 pats2 + +and faithful_lemma_branch (br1 br2 : branch) : Lemma (requires faithful_branch br1 /\ faithful_branch br2) (ensures defined (br_cmp br1 br2)) = + faithful_lemma_pattern (fst br1) (fst br2); + faithful_lemma (snd br1) (snd br2) + +and faithful_lemma_branches #b (top1 top2 : b) + (brs1 : list branch{brs1 << top1}) + (brs2 : list branch{brs2 << top2}) + : Lemma (requires allP top1 faithful_branch brs1 /\ allP top2 faithful_branch brs2) + (ensures defined (list_dec_cmp top1 top2 br_cmp brs1 brs2)) + (decreases brs1) + = + introduce forall x y. L.memP x brs1 /\ L.memP y brs2 ==> defined (br_cmp x y) with + (introduce forall y. L.memP x brs1 /\ L.memP y brs2 ==> defined (br_cmp x y) with + (introduce (L.memP x brs1 /\ L.memP y brs2) ==> (defined (br_cmp x y)) with h. ( + faithful_lemma_branch x y + ) + ) + ) + ; + defined_list_dec top1 top2 br_cmp brs1 brs2 + +and faithful_lemma_arg (a1 a2 : argv) : Lemma (requires faithful_arg a1 /\ faithful_arg a2) (ensures defined (arg_cmp a1 a2)) = + faithful_lemma (fst a1) (fst a2); + (match snd a1, snd a2 with | Q_Meta t1, Q_Meta t2 -> faithful_lemma t1 t2 | _ -> ()) + +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.qual bv2.qual; + faithful_lemma bv1.sort bv2.sort; + faithful_lemma_attrs_dec b1 b2 bv1.attrs bv2.attrs; + assert_norm ( + (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)) = + match q1, q2 with + | Q_Meta t1, Q_Meta t2 -> faithful_lemma t1 t2 + | _ -> () + +and faithful_lemma_attrs_dec #b (top1 top2 : b) + (at1 : list term{at1 << top1}) + (at2 : list term{at2 << top2}) + : Lemma (requires faithful_attrs at1 /\ faithful_attrs at2) + (ensures defined (list_dec_cmp top1 top2 term_cmp at1 at2)) + (decreases at1) + = + // TODO: factor out + introduce forall x y. L.memP x at1 /\ L.memP y at2 ==> defined (term_cmp x y) with + (introduce forall y. L.memP x at1 /\ L.memP y at2 ==> defined (term_cmp x y) with + (introduce (L.memP x at1 /\ L.memP y at2) ==> (defined (term_cmp x y)) with h. ( + faithful_lemma x y + ) + ) + ) + ; + defined_list_dec top1 top2 term_cmp at1 at2 + +and faithful_lemma_comp (c1 c2 : comp) : Lemma (requires faithful_comp c1 /\ faithful_comp c2) (ensures defined (comp_cmp c1 c2)) = + match inspect_comp c1, inspect_comp c2 with + | C_Total t1, C_Total t2 -> faithful_lemma t1 t2 + | C_GTotal t1, C_GTotal t2 -> faithful_lemma t1 t2 + | C_Lemma pre1 post1 pat1, C_Lemma pre2 post2 pat2 -> + faithful_lemma pre1 pre2; + faithful_lemma post1 post2; + faithful_lemma pat1 pat2 + | C_Eff us1 e1 r1 args1 dec1, C_Eff us2 e2 r2 args2 dec2 -> + univ_faithful_lemma_list c1 c2 us1 us2; + faithful_lemma r1 r2; + introduce forall x y. L.memP x args1 /\ L.memP y args2 ==> defined (arg_cmp x y) with + (introduce forall y. L.memP x args1 /\ L.memP y args2 ==> defined (arg_cmp x y) with + (introduce (L.memP x args1 /\ L.memP y args2) ==> (defined (arg_cmp x y)) with h. ( + faithful_lemma_arg x y + ) + ) + ) + ; + defined_list_dec c1 c2 arg_cmp args1 args2; + introduce forall x y. L.memP x dec1 /\ L.memP y dec2 ==> defined (term_cmp x y) with + (introduce forall y. L.memP x dec1 /\ L.memP y dec2 ==> defined (term_cmp x y) with + (introduce (L.memP x dec1 /\ L.memP y dec2) ==> (defined (term_cmp x y)) with h. ( + faithful_lemma x y + ) + ) + ) + ; + defined_list_dec c1 c2 term_cmp dec1 dec2; + (***)comp_eq_C_Eff c1 c2 us1 us2 e1 e2 r1 r2 args1 args2 dec1 dec2; + () + | _ -> () +#pop-options + + +let term_eq (t1 t2 : term) : (b:bool{b ==> t1 == t2}) = + Eq? (term_cmp t1 t2) + +let term_eq_dec (t1 t2 : faithful_term) : (b:bool{b <==> t1 == t2}) = + faithful_lemma t1 t2; + Eq? (term_cmp t1 t2) + +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/stage0/ulib/FStar.Reflection.TermEq.fsti b/stage0/ulib/FStar.Reflection.TermEq.fsti new file mode 100644 index 00000000000..f8856cbff68 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.TermEq.fsti @@ -0,0 +1,159 @@ +module FStar.Reflection.TermEq + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Stubs.Reflection.V2.Builtins +module L = FStar.List.Tot + +(* Auxiliary... would be good to move. *) +let rec allP0 #a (pred : a -> Type0) (l : list a) : Type0 = + match l with + | [] -> True + | x::xs -> pred x /\ allP0 pred xs + +let rec allP #a #b (top:b) (pred : (x:a{x << top}) -> Type0) (l : list a{l << top \/ l === top}) : Type0 = + match l with + | [] -> True + | x::xs -> pred x /\ allP top pred xs + +let optP0 #a (pred : a -> Type0) (o : option a) : Type0 = + match o with + | None -> True + | Some x -> pred x + +let optP #a #b (top:b) (pred : (x:a{x << top}) -> Type0) (o : option a{o << top}) : Type0 = + match o with + | None -> True + | Some x -> pred x +(* /Aux *) + +let rec faithful_univ (u : universe) : Type0 = + match inspect_universe u with + | Uv_Unif _ -> False (* We just forbid this *) + + | Uv_Unk + | Uv_Zero + | Uv_BVar _ + | Uv_Name _ -> True + + | Uv_Succ u -> faithful_univ u + | Uv_Max us -> allP u faithful_univ us + +(* Just a placeholder for now *) +let faithful_const (c:vconst) : Type0 = True + +let rec faithful (t:term) : Type0 = + match inspect_ln t with + | Tv_Var _ + | Tv_BVar _ + | Tv_FVar _ + | Tv_Unknown -> + True + + | Tv_Const c -> + faithful_const c + + | Tv_UInst f us -> + allP t faithful_univ us + + | Tv_Unsupp -> False + | Tv_App h a -> + faithful h /\ faithful_arg a + | Tv_Abs b t -> + faithful_binder b /\ faithful t + | Tv_Arrow b c -> + faithful_binder b /\ faithful_comp c + | Tv_Type u -> + faithful_univ u + | Tv_Refine b phi -> + faithful_binder b + /\ faithful phi + + | Tv_Uvar n u -> False + | Tv_Let r ats x e b -> + faithful_attrs ats + /\ faithful_binder x + /\ faithful e + /\ faithful b + + | Tv_Match sc o brs -> + faithful sc + /\ None? o // stopgap + /\ allP t faithful_branch brs + + | Tv_AscribedT e ta tacopt eq -> + faithful e + /\ faithful ta + /\ optP t faithful tacopt + + | Tv_AscribedC e c tacopt eq -> + faithful e + /\ faithful_comp c + /\ optP t faithful tacopt + +and faithful_arg (a : argv) : Type0 = + faithful (fst a) /\ faithful_qual (snd a) + +and faithful_qual (q:aqualv) : Type0 = + match q with + | Q_Implicit -> True + | Q_Explicit -> True + | Q_Equality -> True + | Q_Meta m -> faithful m + +and faithful_binder (b:binder) : Type0 = + match inspect_binder b with + | {sort=sort; qual=q; attrs=attrs} -> + faithful sort /\ faithful_qual q /\ faithful_attrs attrs + +and faithful_branch (b : branch) : Type0 = + let (p, t) = b in + faithful_pattern p /\ faithful t + +and faithful_pattern (p : pattern) : Type0 = + match p with + | Pat_Constant c -> faithful_const c + | 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 _ _ -> True + | Pat_Dot_Term None -> True + | Pat_Dot_Term (Some t) -> faithful t + +and faithful_pattern_arg (pb : pattern & bool) : Type0 = + faithful_pattern (fst pb) + +and faithful_attrs ats : Type0 = + allP ats faithful ats + +and faithful_comp c = + match inspect_comp c with + | C_Total t -> faithful t + | C_GTotal t -> faithful t + | C_Lemma pre post pats -> faithful pre /\ faithful post /\ faithful pats + | C_Eff us ef r args decs -> + allP c faithful_univ us + /\ faithful r + /\ allP c faithful_arg args + /\ allP c faithful decs + +let faithful_term = t:term{faithful t} +let faithful_universe = u:universe{faithful_univ u} + +(* A conservative version: works on all terms, returns `true` if they +are guaranteed to be equal. *) +[@@plugin] +val term_eq (t1 t2 : term) : (b:bool{b ==> t1 == t2}) + +(* A fully decidable version, for faithful terms. *) +[@@plugin] +val term_eq_dec (t1 t2 : faithful_term) : (b:bool{b <==> t1 == t2}) + +(* Idem for universes *) +[@@plugin] +val univ_eq (u1 u2 : universe) : (b:bool{b ==> u1 == u2}) + +[@@plugin] +val univ_eq_dec (u1 u2 : faithful_universe) : (b:bool{b <==> u1 == u2}) diff --git a/stage0/ulib/FStar.Reflection.V1.Compare.fsti b/stage0/ulib/FStar.Reflection.V1.Compare.fsti new file mode 100644 index 00000000000..5d4409d6df3 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V1.Compare.fsti @@ -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.Reflection.V1.Compare + +(* The V2 module is generic already, and does not make any V1/V2 distinction. *) +include FStar.Reflection.V2.Compare diff --git a/stage0/ulib/FStar.Reflection.V1.Derived.Lemmas.fst b/stage0/ulib/FStar.Reflection.V1.Derived.Lemmas.fst new file mode 100644 index 00000000000..91cd00d9e98 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V1.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.V1.Derived.Lemmas + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V1.Builtins +open FStar.Stubs.Reflection.V1.Data +open FStar.Reflection.V1.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/stage0/ulib/FStar.Reflection.V1.Derived.fst b/stage0/ulib/FStar.Reflection.V1.Derived.fst new file mode 100644 index 00000000000..e45206d1dba --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V1.Derived.fst @@ -0,0 +1,262 @@ +(* + 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.Derived + +open FStar.Stubs.Reflection.Types +open FStar.Reflection.Const +open FStar.Stubs.Reflection.V1.Builtins +open FStar.Stubs.Reflection.V1.Data +open FStar.Order +open FStar.Stubs.VConfig + +let bv_of_binder (b : binder) : bv = (inspect_binder b).binder_bv + +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 + +(* + * AR: add versions that take attributes as arguments? + *) +let mk_binder (bv : bv) (sort : typ) : binder = + pack_binder { + binder_bv=bv; + binder_qual=Q_Explicit; + binder_attrs=[]; + binder_sort = sort; + } + +let mk_implicit_binder (bv : bv) (sort : typ) : binder = + pack_binder { + binder_bv=bv; + binder_qual=Q_Implicit; + binder_attrs=[]; + binder_sort = sort; + } + +let type_of_binder (b : binder) : typ = + (inspect_binder b).binder_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 binder_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/stage0/ulib/FStar.Reflection.V1.Formula.fst b/stage0/ulib/FStar.Reflection.V1.Formula.fst new file mode 100644 index 00000000000..282257db474 --- /dev/null +++ b/stage0/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.Stubs.Tactics.V1.Builtins +open FStar.Stubs.Reflection.Types +open FStar.Reflection.Const +open FStar.Stubs.Reflection.V1.Builtins +open FStar.Reflection.V1.Derived +open FStar.Stubs.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/stage0/ulib/FStar.Reflection.V1.fst b/stage0/ulib/FStar.Reflection.V1.fst new file mode 100644 index 00000000000..f4cad669531 --- /dev/null +++ b/stage0/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.Stubs.Reflection.Types +include FStar.Stubs.Reflection.V1.Data +include FStar.Stubs.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/stage0/ulib/FStar.Reflection.V2.Arith.fst b/stage0/ulib/FStar.Reflection.V2.Arith.fst new file mode 100644 index 00000000000..b7ab5b71c85 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Arith.fst @@ -0,0 +1,249 @@ +(* + 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.Arith + +open FStar.Tactics.V2.Bare +open FStar.Reflection.V2 +module O = FStar.Order + +(* + * Simple decision procedure to decide if a term is an "arithmetic + * proposition", by which we mean a simple relation between two + * arithmetic expressions (each representing integers or naturals) + * + * Main use case: deciding, in a tactic, if a goal is an arithmetic + * expression and applying a custom decision procedure there (instead of + * feeding to the SMT solver) + *) + +noeq +type expr = + | Lit : int -> expr + // atom, contains both a numerical ID and the actual term encountered + | Atom : nat -> term -> expr + | Plus : expr -> expr -> expr + | Mult : expr -> expr -> expr + | Minus : expr -> expr -> expr + | Land : expr -> expr -> expr + | Lxor : expr -> expr -> expr + | Lor : expr -> expr -> expr + | Ladd : expr -> expr -> expr + | Lsub : expr -> expr -> expr + | Shl : expr -> expr -> expr + | Shr : expr -> expr -> expr + | Neg : expr -> expr + | Udiv : expr -> expr -> expr + | Umod : expr -> expr -> expr + | MulMod : expr -> expr -> expr + | NatToBv : expr -> expr + // | Div : expr -> expr -> expr // Add this one? + +noeq +type connective = + | C_Lt | C_Eq | C_Gt | C_Ne + +noeq +type prop = + | CompProp : expr -> connective -> expr -> prop + | AndProp : prop -> prop -> prop + | OrProp : prop -> prop -> prop + | NotProp : prop -> prop + +let lt e1 e2 = CompProp e1 C_Lt e2 +let le e1 e2 = CompProp e1 C_Lt (Plus (Lit 1) e2) +let eq e1 e2 = CompProp e1 C_Eq e2 +let ne e1 e2 = CompProp e1 C_Ne e2 +let gt e1 e2 = CompProp e1 C_Gt e2 +let ge e1 e2 = CompProp (Plus (Lit 1) e1) C_Gt e2 + +(* Define a traversal monad! Makes exception handling and counter-keeping easy *) +private let st = p:(nat & list term){fst p == List.Tot.Base.length (snd p)} +private let tm a = st -> Tac (either string (a & st)) +private let return (x:'a) : tm 'a = fun i -> Inr (x, i) +private let (let!) (m : tm 'a) (f : 'a -> tm 'b) : tm 'b = + fun i -> match m i with + | Inr (x, j) -> f x j + | s -> Inl (Inl?.v s) // why? To have a catch-all pattern and thus an easy WP + +val lift : ('a -> Tac 'b) -> ('a -> tm 'b) +let lift f x st = + Inr (f x, st) + +val liftM : ('a -> 'b) -> (tm 'a -> tm 'b) +let liftM f x = + let! xx = x in + return (f xx) + +val liftM2 : ('a -> 'b -> 'c) -> (tm 'a -> tm 'b -> tm 'c) +let liftM2 f x y = + let! xx = x in + let! yy = y in + return (f xx yy) + +val liftM3 : ('a -> 'b -> 'c -> 'd) -> (tm 'a -> tm 'b -> tm 'c -> tm 'd) +let liftM3 f x y z = + let! xx = x in + let! yy = y in + let! zz = z in + return (f xx yy zz) + + +private let rec find_idx (f : 'a -> Tac bool) (l : list 'a) : Tac (option ((n:nat{n < List.Tot.Base.length l}) & 'a)) = + match l with + | [] -> None + | x::xs -> + if f x + then Some (0, x) + else begin match find_idx f xs with + | None -> None + | Some (i, x) -> Some (i+1, x) + end + +private let atom (t:term) : tm expr = fun (n, atoms) -> + match find_idx (term_eq_old t) atoms with + | None -> Inr (Atom n t, (n + 1, t::atoms)) + | Some (i, t) -> Inr (Atom (n - 1 - i) t, (n, atoms)) + +private val fail : (#a:Type) -> string -> tm a +private let fail #a s = fun i -> Inl s + +val as_arith_expr : term -> tm expr +#push-options "--initial_fuel 4 --max_fuel 4" +let rec as_arith_expr (t:term) = + let hd, tl = collect_app_ln t in + // Invoke [collect_app_order]: forall (arg, qual) ∈ tl, (arg, qual) << t + collect_app_order t; + // [precedes_fst_tl]: forall (arg, qual) ∈ tl, arg << t + let precedes_fst_tl (arg: term) (q: aqualv) + : Lemma (List.Tot.memP (arg, q) tl ==> arg << t) + = let _: argv = arg, q in () + in Classical.forall_intro_2 (precedes_fst_tl); + match inspect_ln hd, tl with + | Tv_FVar fv, [(e1, Q_Implicit); (e2, Q_Explicit) ; (e3, Q_Explicit)] -> + let qn = inspect_fv fv in + let e2' = as_arith_expr e2 in + let e3' = as_arith_expr e3 in + if qn = land_qn then liftM2 Land e2' e3' + else if qn = lxor_qn then liftM2 Lxor e2' e3' + else if qn = lor_qn then liftM2 Lor e2' e3' + else if qn = shiftr_qn then liftM2 Shr e2' e3' + else if qn = shiftl_qn then liftM2 Shl e2' e3' + else if qn = udiv_qn then liftM2 Udiv e2' e3' + else if qn = umod_qn then liftM2 Umod e2' e3' + else if qn = mul_mod_qn then liftM2 MulMod e2' e3' + else if qn = ladd_qn then liftM2 Ladd e2' e3' + else if qn = lsub_qn then liftM2 Lsub e2' e3' + else atom t + | Tv_FVar fv, [(l, Q_Explicit); (r, Q_Explicit)] -> + let qn = inspect_fv fv in + // Have to go through hoops to get F* to typecheck this. + // Maybe the do notation is twisting the terms somehow unexpected? + let ll = as_arith_expr l in + let rr = as_arith_expr r in + if qn = add_qn then liftM2 Plus ll rr + else if qn = minus_qn then liftM2 Minus ll rr + else if qn = mult_qn then liftM2 Mult ll rr + else if qn = mult'_qn then liftM2 Mult ll rr + else atom t + | Tv_FVar fv, [(l, Q_Implicit); (r, Q_Explicit)] -> + let qn = inspect_fv fv in + let ll = as_arith_expr l in + let rr = as_arith_expr r in + if qn = nat_bv_qn then liftM NatToBv rr + else atom t + | Tv_FVar fv, [(a, Q_Explicit)] -> + let qn = inspect_fv fv in + let aa = as_arith_expr a in + if qn = neg_qn then liftM Neg aa + else atom t + | Tv_Const (C_Int i), _ -> + return (Lit i) + | _ -> + atom t +#pop-options + +val is_arith_expr : term -> tm expr +let is_arith_expr t = + let! a = as_arith_expr t in + match a with + | Atom _ t -> begin + let hd, tl = collect_app_ref t in + match inspect_ln hd, tl with + | Tv_FVar _, [] + | Tv_BVar _, [] + | Tv_Var _, [] -> return a + | _ -> let! s = lift term_to_string t in + fail ("not an arithmetic expression: (" ^ s ^ ")") + end + | _ -> return a + +// Cannot use this... +// 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 (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) + | Comp Lt l r -> liftM2 lt (is_arith_expr l) (is_arith_expr r) + | Comp Le l r -> liftM2 le (is_arith_expr l) (is_arith_expr r) + | And l r -> liftM2 AndProp (is_arith_prop l) (is_arith_prop r) + | Or l r -> liftM2 OrProp (is_arith_prop l) (is_arith_prop r) + | _ -> + let! s = lift term_to_string t in + fail ("connector (" ^ s ^ ")")) i + + +// Run the monadic computations, disregard the counter +let run_tm (m : tm 'a) : Tac (either string 'a) = + match m (0, []) with + | Inr (x, _) -> Inr x + | s -> Inl (Inl?.v s) // why? To have a catch-all pattern and thus an easy WP + +let rec expr_to_string (e:expr) : string = + match e with + | Atom i _ -> "a"^(string_of_int i) + | Lit i -> string_of_int i + | Plus l r -> "(" ^ (expr_to_string l) ^ " + " ^ (expr_to_string r) ^ ")" + | Minus l r -> "(" ^ (expr_to_string l) ^ " - " ^ (expr_to_string r) ^ ")" + | Mult l r -> "(" ^ (expr_to_string l) ^ " * " ^ (expr_to_string r) ^ ")" + | Neg l -> "(- " ^ (expr_to_string l) ^ ")" + | Land l r -> "(" ^ (expr_to_string l) ^ " & " ^ (expr_to_string r) ^ ")" + | Lor l r -> "(" ^ (expr_to_string l) ^ " | " ^ (expr_to_string r) ^ ")" + | Lxor l r -> "(" ^ (expr_to_string l) ^ " ^ " ^ (expr_to_string r) ^ ")" + | Ladd l r -> "(" ^ (expr_to_string l) ^ " >> " ^ (expr_to_string r) ^ ")" + | Lsub l r -> "(" ^ (expr_to_string l) ^ " >> " ^ (expr_to_string r) ^ ")" + | Shl l r -> "(" ^ (expr_to_string l) ^ " << " ^ (expr_to_string r) ^ ")" + | Shr l r -> "(" ^ (expr_to_string l) ^ " >> " ^ (expr_to_string r) ^ ")" + | NatToBv l -> "(" ^ "to_vec " ^ (expr_to_string l) ^ ")" + | Udiv l r -> "(" ^ (expr_to_string l) ^ " / " ^ (expr_to_string r) ^ ")" + | Umod l r -> "(" ^ (expr_to_string l) ^ " % " ^ (expr_to_string r) ^ ")" + | MulMod l r -> "(" ^ (expr_to_string l) ^ " ** " ^ (expr_to_string r) ^ ")" + +let rec compare_expr (e1 e2 : expr) : O.order = + match e1, e2 with + | Lit i, Lit j -> O.compare_int i j + | Atom _ t, Atom _ s -> compare_term t s + | Plus l1 l2, Plus r1 r2 + | Minus l1 l2, Minus r1 r2 + | Mult l1 l2, Mult r1 r2 -> O.lex (compare_expr l1 r1) (fun () -> compare_expr l2 r2) + | Neg e1, Neg e2 -> compare_expr e1 e2 + | Lit _, _ -> O.Lt | _, Lit _ -> O.Gt + | Atom _ _, _ -> O.Lt | _, Atom _ _ -> O.Gt + | Plus _ _, _ -> O.Lt | _, Plus _ _ -> O.Gt + | Mult _ _, _ -> O.Lt | _, Mult _ _ -> O.Gt + | Neg _, _ -> O.Lt | _, Neg _ -> O.Gt + | _ -> O.Gt // don't care about this for now diff --git a/stage0/ulib/FStar.Reflection.V2.Collect.fst b/stage0/ulib/FStar.Reflection.V2.Collect.fst new file mode 100644 index 00000000000..c1c3926feb9 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Collect.fst @@ -0,0 +1,69 @@ +(* + 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.Collect + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Stubs.Reflection.V2.Data + +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 + +// (* 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 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 (fun b -> (inspect_binder b).sort) 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') \ No newline at end of file diff --git a/stage0/ulib/FStar.Reflection.V2.Compare.fst b/stage0/ulib/FStar.Reflection.V2.Compare.fst new file mode 100644 index 00000000000..55d1c28aab2 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Compare.fst @@ -0,0 +1,249 @@ +(* + 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.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Reflection.V2.Derived +open FStar.Order + +(* Many warnings about types SMT maybe not being able to prove +types are equal, but all spurious. *) +#set-options "--warn_error -290" + +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_Real r1, C_Real r2 -> order_from_int (compare_string r1 r2) + | 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 + | C_Real _, _ -> Lt | _ , C_Real _ -> 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;2]) = + 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 _ _, Tv_App _ _ -> + (* We do something special here to first compare the heads, + then the arguments, as lists. Otherwise `f _ _` is always before `g _ _`, + regardless of `f` and `g`. *) + let open FStar.Reflection.V2.Derived.Lemmas in + let h1, aa1 = collect_app_ref s in + let h2, aa2 = collect_app_ref t in + Reflection.V2.Derived.Lemmas.collect_app_order s; + Reflection.V2.Derived.Lemmas.collect_app_order t; + lex (__compare_term h1 h2) (fun () -> compare_argv_list s t aa1 aa2) + + | 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 (b1 b2 : Ghost.erased term) // termination bounds + (a1 : argv{fst a1 << Ghost.reveal b1}) + (a2 : argv{fst a2 << Ghost.reveal b2}) +: Tot order (decreases %[Ghost.reveal b1; 0]) = + let t1, q1 = a1 in + let t2, q2 = a2 in + assert (t1 << a1); + assert (t2 << a2); + match q1, q2 with + (* We should never see Q_Meta here *) + | Q_Implicit, Q_Explicit -> Lt + | Q_Explicit, Q_Implicit -> Gt + | _, _ -> + assert (t1 << Ghost.reveal b1); + assert (t2 << Ghost.reveal b2); + __compare_term t1 t2 + +and compare_argv_list (b1 b2 : Ghost.erased term) + (l1 : list (a:argv{fst a << Ghost.reveal b1})) + (l2 : list (a:argv{fst a << Ghost.reveal b2})) +: Tot order (decreases %[Ghost.reveal b1; 1; l1]) = + match l1, l2 with + | [], [] -> Eq + | [], _ -> Lt + | _, [] -> Gt + | hd1::tl1, hd2::tl2 -> + assert (fst hd1 << Ghost.reveal b1); + lex (compare_argv b1 b2 hd1 hd2) (fun () -> compare_argv_list b1 b2 tl1 tl2) + +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 + +(* We need this indirection since otherwise the plugin attribute +"leaks" into compare_argv and friends, which take an erased termination +bound, for which we do not have a plugin. *) +let compare_term = __compare_term +let compare_comp = __compare_comp +let compare_binder = __compare_binder diff --git a/stage0/ulib/FStar.Reflection.V2.Compare.fsti b/stage0/ulib/FStar.Reflection.V2.Compare.fsti new file mode 100644 index 00000000000..3d712847e04 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Compare.fsti @@ -0,0 +1,47 @@ +(* + 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.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Order + +[@@plugin] +val compare_name (n1 n2 : name) : order + +[@@plugin] +val compare_fv (f1 f2 : fv) : order + +[@@plugin] +val compare_const (c1 c2 : vconst) : order + +[@@plugin] +val compare_ident (i1 i2:ident) : order + +[@@plugin] +val compare_universe (u1 u2:universe) : order + +[@@plugin] +val compare_universes (us1 us2:universes) : order + +[@@plugin] +val compare_term (s t : term) : order + +[@@plugin] +val compare_comp (c1 c2 : comp) : order + +[@@plugin] +val compare_binder (b1 b2 : binder) : order diff --git a/stage0/ulib/FStar.Reflection.V2.Derived.Lemmas.fst b/stage0/ulib/FStar.Reflection.V2.Derived.Lemmas.fst new file mode 100644 index 00000000000..bc37f67c13f --- /dev/null +++ b/stage0/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.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Stubs.Reflection.V2.Data +open FStar.Reflection.V2.Collect +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 == [] /\ ~(Tv_App? (inspect_ln t))))) +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/stage0/ulib/FStar.Reflection.V2.Derived.fst b/stage0/ulib/FStar.Reflection.V2.Derived.fst new file mode 100644 index 00000000000..e88210271e1 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Derived.fst @@ -0,0 +1,253 @@ +(* + 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.Stubs.Reflection.Types +open FStar.Reflection.Const +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Stubs.Reflection.V2.Data +open FStar.Order +open FStar.Stubs.VConfig +open FStar.Reflection.V2.Collect + +let type_of_binder (b : binder) : typ = + (inspect_binder b).sort + +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 + +val flatten_name : name -> Tot string +let rec flatten_name ns = + match ns with + | [] -> "" + | [n] -> n + | n::ns -> n ^ "." ^ flatten_name ns + +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 mk_arr_ln (bs: list binder{~(Nil? bs)}) (cod : comp) : Tot term (decreases bs) = + match bs with + | [b] -> pack_ln (Tv_Arrow b cod) + | (b::bs) -> pack_ln (Tv_Arrow b (pack_comp (C_Total (mk_arr_ln bs cod)))) + +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/stage0/ulib/FStar.Reflection.V2.Formula.fst b/stage0/ulib/FStar.Reflection.V2.Formula.fst new file mode 100644 index 00000000000..5a4d9427b91 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.Formula.fst @@ -0,0 +1,254 @@ +(* + 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.Stubs.Reflection.Types +open FStar.Reflection.Const +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Reflection.V2.Derived +open FStar.Stubs.Reflection.V2.Data + +open FStar.Stubs.Tactics.Common +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Tactics.NamedView + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +///// 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 (mkmsg "Unexpected: term_as_formula", None)) + +// 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/stage0/ulib/FStar.Reflection.V2.fst b/stage0/ulib/FStar.Reflection.V2.fst new file mode 100644 index 00000000000..e1adf5d9700 --- /dev/null +++ b/stage0/ulib/FStar.Reflection.V2.fst @@ -0,0 +1,25 @@ +(* + 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.Stubs.Reflection.Types +include FStar.Stubs.Reflection.V2.Data +include FStar.Stubs.Reflection.V2.Builtins +include FStar.Reflection.V2.Derived +include FStar.Reflection.V2.Derived.Lemmas +include FStar.Reflection.Const +include FStar.Reflection.V2.Compare +include FStar.Reflection.V2.Collect diff --git a/stage0/ulib/FStar.Reflection.fst b/stage0/ulib/FStar.Reflection.fst new file mode 100644 index 00000000000..7f2c5f7cdee --- /dev/null +++ b/stage0/ulib/FStar.Reflection.fst @@ -0,0 +1,20 @@ +(* + 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 + +(* This switch currently points to V1. Ask for V2 explicitly by +importing FStar.Reflection.V2 *) +include FStar.Reflection.V1 diff --git a/stage0/ulib/FStar.ReflexiveTransitiveClosure.fst b/stage0/ulib/FStar.ReflexiveTransitiveClosure.fst new file mode 100644 index 00000000000..c6e2a6097ad --- /dev/null +++ b/stage0/ulib/FStar.ReflexiveTransitiveClosure.fst @@ -0,0 +1,185 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.ReflexiveTransitiveClosure + +open FStar.Tactics.V2 +#set-options "--max_ifuel 1 --max_fuel 0" + +noeq +type _closure (#a:Type u#a) (r:binrel u#a u#r a) : a -> a -> Type u#(max a r) = +| Refl: x:a -> _closure r x x +| Step: x:a -> y:a -> squash (r x y) ->_closure r x y +| Closure: x:a -> y:a -> z:a -> _closure r x y -> _closure r y z -> _closure r x z + +let _closure0 (#a:Type) (r:binrel a) (x y: a) : prop = + squash (_closure r x y) + +let rec induct_ (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:_closure r x y) +: Tot (squash (p x y)) (decreases xy) += match xy with + | Refl x -> f_refl x + | Step x y _ -> f_step x y + | Closure x y z xy yz -> + let p1 = induct_ r p f_refl f_step f_closure x y xy in + let p2 = induct_ r p f_refl f_step f_closure y z yz in + f_closure x y z + +let get_squash (#a:Type) (r:binrel a) (x:a) (y:a{_closure0 r x y}) + : Tot (squash (_closure r x y)) + = assert_norm (_closure0 r x y ==> squash (_closure r x y)) + +val closure_reflexive: #a:Type u#a -> r:binrel u#a u#r a -> Lemma (reflexive (_closure0 r)) +let closure_reflexive #a r = + assert (forall x. _closure0 r x x) by + (let x = forall_intro () in + mapply (`FStar.Squash.return_squash); + mapply (`Refl)) + +#push-options "--warn_error -271" +val closure_transitive: #a:Type u#a -> r:binrel u#a u#r a -> Lemma (transitive (_closure0 r)) +let closure_transitive #a r = + let open FStar.Squash in + let aux (x y z:a) + (s0:squash (_closure r x y)) + (s1:squash (_closure r y z)) + : GTot (squash (_closure r x z)) + = bind_squash s0 (fun p0 -> + bind_squash s1 (fun p1 -> + return_squash (Closure x y z p0 p1))) + in + let aux (x y z:a) + : Lemma (requires (_closure0 r x y /\ _closure0 r y z)) + (ensures _closure0 r x z) + [SMTPat ()] + = get_squash r x y; get_squash r y z; aux x y z () () + in + () +#pop-options + +let closure #a r = + closure_reflexive r; + closure_transitive r; + _closure0 r + +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 (binding_to_term xy) in + squash_intro (); + mapply (`Step); + assumption()) + +val closure_one_aux: #a:Type u#a -> r:binrel u#a u#r a -> x:a -> y:a + -> xy:_closure r x y + -> Tot (either (squash (x == y)) + (z:a & squash (r x z) & _closure r z y)) + (decreases xy) +let rec closure_one_aux #a r x y xy = + match xy with + | Refl _ -> Inl () + | Step _ _ pr -> Inr (| y, pr, Refl y |) + | Closure x i y xi iy -> + match closure_one_aux r i y iy with + | Inl _ -> closure_one_aux r x y xi + | Inr (| z, r_i_z, c_z_y |) -> + let c_z_y : _closure r z y = c_z_y in + match closure_one_aux r x i xi with + | Inl _ -> Inr (| z, r_i_z, c_z_y |) + | Inr (| w, r_x_w, c_w_i |) -> + let step : _closure r i z = Step #a #r i z r_i_z in + let c_i_y : _closure r i y = Closure i z y step c_z_y in + let c_w_y : _closure r w y = Closure w i y c_w_i c_i_y in + Inr (| w, r_x_w, c_w_y |) + +let closure_one_aux' (#a:Type u#a) (r:binrel u#a u#r a) (x y:a) + (xy:_closure r x y) + : GTot (squash (x == y \/ (exists z. squash (r x z) /\ closure r z y))) + = let p = closure_one_aux r x y xy in + match p with + | Inl _ -> () + | Inr (| z, rxz, _c_zy |) -> + assert (squash (r x z)); + let s : closure r z y = FStar.Squash.return_squash _c_zy in + let ss = FStar.Squash.return_squash s in + FStar.Squash.give_proof ss; + assert (closure r z y); + () + +val closure_one: #a:Type u#a -> r:binrel u#a u#r a -> x:a -> y:a + -> xy:squash (closure r x y) + -> GTot (squash (x == y \/ (exists z. squash (r x z) /\ closure r z y))) +let closure_one #a r x y xy = + let open FStar.Squash in + bind_squash xy (fun xy -> + bind_squash xy (closure_one_aux' r x y)) + +let closure_inversion #a r x y = closure_one r x y () + +val _stable_on_closure: #a:Type u#a -> r:binrel u#a u#r a -> p:(a -> Type0) + -> p_stable_on_r: squash (forall x y. p x /\ squash (r x y) ==> p y) + -> x: a + -> y: a + -> xy: _closure r x y + -> px: squash (p x) + -> GTot (squash (p y)) (decreases xy) +let rec _stable_on_closure #a r p p_stable_on_r x y xy px = + match xy with + | Refl _ -> () + | Step _ _ _ -> () + | Closure x a y xa ay -> + let hi = _stable_on_closure r p p_stable_on_r in + let pa = hi x a xa px in + hi a y ay pa + +let squash_implies_to_arrow (p:Type u#p) (q:Type) + : Lemma (requires (squash (p -> GTot q))) + (ensures squash p ==> q) + = () + +let squash_double_arrow (#a:Type u#a) (#p:Type0) + (f:(squash (a -> Tot (squash p)))) + : Tot (squash (a -> GTot p)) = + FStar.Squash.squash_double_arrow f + +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 (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 (binding_to_term xy) in + exact (quote (_stable_on_closure r p hr x y xy (Squash.get_proof _)))) + +let induct + (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:squash (closure r x y)) +: squash (p x y) += let xy = FStar.Squash.join_squash #(_closure r x y) xy in + FStar.Squash.bind_squash xy (induct_ r p f_refl f_step f_closure x y) diff --git a/stage0/ulib/FStar.ReflexiveTransitiveClosure.fsti b/stage0/ulib/FStar.ReflexiveTransitiveClosure.fsti new file mode 100644 index 00000000000..a5ca566e010 --- /dev/null +++ b/stage0/ulib/FStar.ReflexiveTransitiveClosure.fsti @@ -0,0 +1,83 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.ReflexiveTransitiveClosure + +/// This module defines the reflexive transitive closure of a +/// relation. That is, the smallest preorder that includes it. +/// +/// Closures are convenient for defining monotonic memory references: +/// +/// - Define a `step` relation and take `closure step` as the +/// monotonic relation of the reference. +/// +/// - To witness a property of the value of the reference, one must +/// show that the property is stable with respect to `closure step`, +/// but this boils down to proving that is stable with respect to +/// `step` (see lemma `stable_on_closure` below). +/// +/// See examples/preorder/Closure.fst for usage examples. + +let binrel (a:Type) = a -> a -> Type + +let predicate (a:Type u#a) = a -> Type0 + +let reflexive (#a:Type) (rel:binrel u#a u#r a) = + forall (x:a). squash (rel x x) + +let transitive (#a:Type) (rel:binrel u#a u#r a) = + forall (x:a) (y:a) (z:a). (squash (rel x y) /\ squash (rel y z)) ==> squash (rel x z) + +let preorder_rel (#a:Type) (rel:binrel u#a u#r a) = + reflexive rel /\ transitive rel + +type preorder (a:Type u#a) : Type u#(max a (1 + r)) = rel:binrel u#a u#r a{preorder_rel rel} + +let stable (#a:Type u#a) (p:a -> Type0) (rel:binrel u#a u#r a{preorder_rel rel}) = + forall (x:a) (y:a). (p x /\ squash (rel x y)) ==> p y + +val closure (#a:Type u#a) (r:binrel u#a u#r a) : preorder u#a u#0 a + +(** `closure r` includes `r` *) +val closure_step: #a:Type u#a -> r:binrel u#a u#r a -> x:a -> y:a { r x y } + -> Lemma (ensures closure r x y) + [SMTPat (closure r x y)] + +(** `closure r` is the smallest preorder that includes `r` *) +val closure_inversion: #a:Type u#a -> r:binrel u#a u#r a -> x:a -> y:a + -> Lemma (requires closure r x y) + (ensures x == y \/ (exists z. squash (r x z) /\ closure r z y)) + +(** +* A predicate that is stable on `r` is stable on `closure r` +* +* This is useful to witness properties of monotonic references where +* the monotonicity relation is the closure of a step relation. +*) +val stable_on_closure: #a:Type u#a -> r:binrel u#a u#r a -> p:(a -> Type0) + -> p_stable_on_r: (squash (forall x y.{:pattern (p y); (r x y)} p x /\ squash (r x y) ==> p y)) + -> Lemma (forall x y.{:pattern (closure r x y)} p x /\ closure r x y ==> p y) + +(** +* Induction over the reflective transitive closure of r +*) +val induct + (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:squash (closure r x y)) +: squash (p x y) + diff --git a/stage0/ulib/FStar.ST.fst b/stage0/ulib/FStar.ST.fst new file mode 100644 index 00000000000..4f44fd94ba8 --- /dev/null +++ b/stage0/ulib/FStar.ST.fst @@ -0,0 +1,132 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, 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.ST + +open FStar.TSet +open FStar.Heap +open FStar.Preorder + +module W = FStar.Monotonic.Witnessed + +(***** Global ST (GST) effect with put, get, witness, and recall *****) + +new_effect GST = STATE_h heap + +let gst_pre = st_pre_h heap +let gst_post' (a:Type) (pre:Type) = st_post_h' heap a pre +let gst_post (a:Type) = st_post_h heap a +let gst_wp (a:Type) = st_wp_h heap a + +unfold let lift_div_gst (a:Type) (wp:pure_wp a) (p:gst_post a) (h:heap) = wp (fun a -> p a h) +sub_effect DIV ~> GST = lift_div_gst + +let heap_rel (h1:heap) (h2:heap) = + forall (a:Type0) (rel:preorder a) (r:mref a rel). h1 `contains` r ==> + (h2 `contains` r /\ rel (sel h1 r) (sel h2 r)) + +assume val gst_get: unit -> GST heap (fun p h0 -> p h0 h0) +assume val gst_put: h1:heap -> GST unit (fun p h0 -> heap_rel h0 h1 /\ p () h1) + +type heap_predicate = heap -> Type0 + +let stable (p:heap_predicate) = + forall (h1:heap) (h2:heap). (p h1 /\ heap_rel h1 h2) ==> p h2 + +[@@"opaque_to_smt"] +let witnessed (p:heap_predicate{stable p}) : Type0 = W.witnessed heap_rel p + +assume val gst_witness: p:heap_predicate -> GST unit (fun post h0 -> stable p /\ p h0 /\ (witnessed p ==> post () h0)) +assume val gst_recall: p:heap_predicate -> GST unit (fun post h0 -> stable p /\ witnessed p /\ (p h0 ==> post () h0)) + +val lemma_functoriality (p:heap_predicate{stable p /\ witnessed p}) + (q:heap_predicate{stable q /\ (forall (h:heap). p h ==> q h)}) + :Lemma (ensures (witnessed q)) +let lemma_functoriality p q = + reveal_opaque (`%witnessed) witnessed; + W.lemma_witnessed_weakening heap_rel p q + +(***** ST effect *****) + +let st_pre = gst_pre +let st_post' = gst_post' +let st_post = gst_post +let st_wp = gst_wp + +new_effect STATE = GST + +unfold let lift_gst_state (a:Type) (wp:gst_wp a) = wp +sub_effect GST ~> STATE = lift_gst_state + +effect State (a:Type) (wp:st_wp a) = STATE a wp + +effect ST (a:Type) (pre:st_pre) (post: (h:heap -> Tot (st_post' a (pre h)))) = + STATE a (fun (p:st_post a) (h:heap) -> pre h /\ (forall a h1. post h a h1 ==> p a h1)) +effect St (a:Type) = ST a (fun h -> True) (fun h0 r h1 -> True) + +let contains_pred (#a:Type0) (#rel:preorder a) (r:mref a rel) = fun h -> h `contains` r + +type mref (a:Type0) (rel:preorder a) = r:Heap.mref a rel{is_mm r = false /\ witnessed (contains_pred r)} + +let recall (#a:Type) (#rel:preorder a) (r:mref a rel) :STATE unit (fun p h -> Heap.contains h r ==> p () h) + = gst_recall (contains_pred r) + +let alloc (#a:Type) (#rel:preorder a) (init:a) + :ST (mref a rel) + (fun h -> True) + (fun h0 r h1 -> fresh r h0 h1 /\ modifies Set.empty h0 h1 /\ sel h1 r == init) + = let h0 = gst_get () in + let r, h1 = alloc rel h0 init false in + gst_put h1; + gst_witness (contains_pred r); + r + +let read (#a:Type) (#rel:preorder a) (r:mref a rel) :STATE a (fun p h -> p (sel h r) h) + = let h0 = gst_get () in + gst_recall (contains_pred r); + Heap.lemma_sel_equals_sel_tot_for_contained_refs h0 r; + sel_tot h0 r + +let write (#a:Type) (#rel:preorder a) (r:mref a rel) (v:a) + : ST unit + (fun h -> rel (sel h r) v) + (fun h0 x h1 -> rel (sel h0 r) v /\ h0 `contains` r /\ + modifies (Set.singleton (addr_of r)) h0 h1 /\ equal_dom h0 h1 /\ + sel h1 r == v) + = let h0 = gst_get () in + gst_recall (contains_pred r); + let h1 = upd_tot h0 r v in + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + Heap.lemma_upd_equals_upd_tot_for_contained_refs h0 r v; + gst_put h1 + +let get (u:unit) :ST heap (fun h -> True) (fun h0 h h1 -> h0==h1 /\ h==h1) = gst_get () + +let op_Bang (#a:Type) (#rel:preorder a) (r:mref a rel) + : STATE a (fun p h -> p (sel h r) h) += read #a #rel r + +let op_Colon_Equals (#a:Type) (#rel:preorder a) (r:mref a rel) (v:a) + : ST unit + (fun h -> rel (sel h r) v) + (fun h0 x h1 -> rel (sel h0 r) v /\ h0 `contains` r /\ + modifies (Set.singleton (addr_of r)) h0 h1 /\ equal_dom h0 h1 /\ + sel h1 r == v) += write #a #rel r v + +type ref (a:Type0) = mref a (trivial_preorder a) + +let modifies_none (h0:heap) (h1:heap) = modifies !{} h0 h1 diff --git a/stage0/ulib/FStar.Sealed.Inhabited.fst b/stage0/ulib/FStar.Sealed.Inhabited.fst new file mode 100644 index 00000000000..52314431c5e --- /dev/null +++ b/stage0/ulib/FStar.Sealed.Inhabited.fst @@ -0,0 +1,57 @@ +(* + 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. + + Authors: G. Martinez, N. Swamy +*) + +module FStar.Sealed.Inhabited + +(* This module provides an instance of FStar.Sealed.sealed + specialized for inhabited types. + + The main type `sealed w` is the singleton type of a sealed values + that is provably equal to `seal w`. + + This type `sealed_` is not intended for use by clients, it is exposed + only to enable writing an SMT pattern. +*) +let sealed_ (#a:Type u#a) + (witness:a) + : Type u#0 + = FStar.Sealed.sealed a + +(* A trivial predicate, just for writing an SMT pattern on sealed_singleton *) +let is_sealed (#a:Type u#a) + (#witness:a) + (x:sealed_ witness) + : prop + = True + +let sealed (#a:Type u#a) + (witness:a) + : Type u#0 + = s:sealed_ witness { is_sealed s } + +(* Sealing a value `x:a` at the type `sealed w` *) +let seal (#a:Type u#a) (#w:a) (x:a) + : sealed w + = FStar.Sealed.seal x + +(* A lemma with an SMT pattern for automatically proving that a + `seal x == seal w`*) +let sealed_singleton (a:Type u#a) (w:a) (x:sealed w) + : Lemma (x == seal #a #w w) + [SMTPat (is_sealed #a #w x)] + = FStar.Sealed.sealed_singl x (seal #a #w w) diff --git a/stage0/ulib/FStar.Sealed.fsti b/stage0/ulib/FStar.Sealed.fsti new file mode 100644 index 00000000000..c14905a9013 --- /dev/null +++ b/stage0/ulib/FStar.Sealed.fsti @@ -0,0 +1,51 @@ +(* + 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. + + Authors: G. Martinez, N. Swamy +*) + +module FStar.Sealed + +(* This module provides the type ``sealed a`` which is a singleton + type from the perspective of F*'s logic. I.e., two values `x, y` + both of type `sealed a` are provably equal. + + However, from the meta-F*, i.e., using the Tac effect, one can + break the seal and extract an underlying value of type `a` from a + `sealed a`. + + See also FStar.Sealed.Inhabited for a version of this module for + use with inhabited types, in a style that is more efficient for + SMT-based reasoning +*) +assume +new type sealed ([@@@strictly_positive] a : Type u#aa) : Type u#0 + +(* The main axiom provided by this module: + + Two sealed values of the same type are equal. + + Their seal can be broken only at the meta level, by incurring a Tac effect. + See FStar.Tactics.unseal +*) +val sealed_singl (#a:Type) (x y : sealed a) + : Lemma (x == y) + +(* Sealing a value hides it from the logical fragment of F* *) +val seal (#a : Type u#aa) (x:a) : Tot (sealed a) + +val map_seal (#a : Type u#aa) (#b : Type u#bb) (s : sealed a) (f : a -> Tot b) : Tot (sealed b) + +val bind_seal (#a : Type u#aa) (#b : Type u#bb) (s : sealed a) (f : a -> Tot (sealed b)) : Tot (sealed b) diff --git a/stage0/ulib/FStar.Seq.Base.fst b/stage0/ulib/FStar.Seq.Base.fst new file mode 100644 index 00000000000..3c1ebe619d0 --- /dev/null +++ b/stage0/ulib/FStar.Seq.Base.fst @@ -0,0 +1,290 @@ +(* + 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. +*) + +(* A logical theory of sequences indexed by natural numbers in [0, n) *) +module FStar.Seq.Base +//#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 1 --max_ifuel 1" + +module List = FStar.List.Tot + +type seq (a:Type u#a) :Type u#a = + | MkSeq: l:list a -> seq a + +let length #_ s = List.length (MkSeq?.l s) + +let seq_to_list #_ s = + match s with + | MkSeq l -> l + +let seq_of_list #_ l = MkSeq l + +let index #_ s i = List.index (MkSeq?.l s) i + +let _cons (#a:Type) (x:a) (s:seq a) : Tot (seq a) = MkSeq (x::(MkSeq?.l s)) + +let hd (#a:Type) (s:seq a{length s > 0}) : Tot a = List.hd (MkSeq?.l s) + +let tl (#a:Type) (s:seq a{length s > 0}) : Tot (seq a) = MkSeq (List.tl (MkSeq?.l s)) + +let rec create #_ len v = if len = 0 then MkSeq [] else _cons v (create (len - 1) v) + +private let rec init_aux' (#a:Type) (len:nat) (k:nat{k < len}) (contents: (i:nat{i < len} -> Tot a)) + : Tot (seq a) + (decreases (len - k)) + = if k + 1 = len + then MkSeq [contents k] + else _cons (contents k) (init_aux' len (k+1) contents) + +let init_aux = init_aux' + +let init #_ len contents = if len = 0 then MkSeq [] else init_aux len 0 contents + +private let rec init_aux_ghost' (#a:Type) (len:nat) (k:nat{k < len}) (contents:(i:nat { i < len } -> GTot a)) + : GTot (seq a) + (decreases (len - k)) + = if k + 1 = len + then MkSeq [contents k] + else _cons (contents k) (init_aux_ghost' len (k+1) contents) + +let init_aux_ghost = init_aux_ghost' + +let init_ghost #_ len contents = if len = 0 then MkSeq [] else init_aux_ghost len 0 contents + +let empty #_ = MkSeq [] + +let lemma_empty #_ _ = () + +private let rec upd' (#a:Type) (s:seq a) (n:nat{n < length s}) (v:a) + : Tot (seq a) + (decreases (length s)) + = if n = 0 then _cons v (tl s) else _cons (hd s) (upd' (tl s) (n - 1) v) + +let upd = upd' + +let append #_ s1 s2 = MkSeq (List.append (MkSeq?.l s1) (MkSeq?.l s2)) + +private let rec slice' (#a:Type) (s:seq a) (i:nat) (j:nat{i <= j && j <= length s}) + : Tot (seq a) + (decreases (length s)) + = if i > 0 then slice' #a (tl s) (i - 1) (j - 1) + else if j = 0 then MkSeq [] + else _cons (hd s) (slice' #a (tl s) i (j - 1)) + +let slice = slice' + +let lemma_seq_of_seq_to_list #_ s = () +let lemma_seq_to_seq_of_list #_ s = () +let lemma_seq_of_list_cons #_ x l = () +let lemma_seq_to_list_cons #_ x s = () + +let rec lemma_create_len #_ n i = if n = 0 then () else lemma_create_len (n - 1) i + +let rec lemma_init_aux_len' (#a:Type) (n:nat) (k:nat{k < n}) (contents:(i:nat{ i < n } -> Tot a)) + : Lemma (requires True) + (ensures (length (init_aux n k contents) = n - k)) + (decreases (n-k)) += if k + 1 = n then () else lemma_init_aux_len' #a n (k+1) contents + +let lemma_init_len #_ n contents = if n = 0 then () else lemma_init_aux_len' n 0 contents + +let lemma_init_aux_len = lemma_init_aux_len' + +private let rec lemma_init_ghost_aux_len' (#a:Type) (n:nat) (k:nat{k < n}) (contents:(i:nat{ i < n } -> GTot a)) + : Lemma (requires True) + (ensures (length (init_aux_ghost n k contents) = n - k)) + (decreases (n-k)) += if k + 1 = n then () else lemma_init_ghost_aux_len' #a n (k+1) contents + +let lemma_init_ghost_len #_ n contents = if n = 0 then () else lemma_init_ghost_aux_len' n 0 contents + +let lemma_init_ghost_aux_len = lemma_init_ghost_aux_len' + +let rec lemma_len_upd #_ n v s = if n = 0 then () else lemma_len_upd (n - 1) v (tl s) + +let lemma_len_append #_ s1 s2 = FStar.List.Tot.append_length (MkSeq?.l s1) (MkSeq?.l s2) + +let rec lemma_len_slice' (#a:Type) (s:seq a) (i:nat) (j:nat{i <= j && j <= length s}) + : Lemma + (requires True) + (ensures (length (slice s i j) = j - i)) (decreases (length s)) += if i > 0 then lemma_len_slice' #a (tl s) (i - 1) (j - 1) + else if j = 0 then () + else lemma_len_slice' #a (tl s) i (j - 1) + +let lemma_len_slice = lemma_len_slice' + +let rec lemma_index_create #_ n v i = + if n = 0 then () + else if i = 0 then () + else (lemma_create_len (n - 1) v; lemma_index_create (n - 1) v (i - 1)) + +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 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' + +let rec lemma_index_upd2' (#a:Type) (s:seq a) (n:nat{n < length s}) (v:a) (i:nat{i<>n /\ i < length s}) + : Lemma + (requires True) + (ensures (index (upd s n v) i == index s i)) + (decreases (length s)) += match (MkSeq?.l s) with + | [] -> () + | hd::tl -> + if i = 0 then () + else + if n = 0 then () + else (lemma_len_upd (n - 1) v (MkSeq tl); lemma_index_upd2' #a (MkSeq tl) (n - 1) v (i - 1)) + +let lemma_index_upd2 = lemma_index_upd2' + +let rec lemma_index_app1' (#a:Type) (s1:seq a) (s2:seq a) (i:nat{i < length s1}) + : Lemma + (requires True) + (ensures (index (append s1 s2) i == index s1 i)) (decreases (length s1)) += match (MkSeq?.l s1) with + | [] -> () + | hd::tl -> + if i = 0 then () + else (lemma_len_append (MkSeq tl) s2; lemma_index_app1' #a (MkSeq tl) s2 (i - 1)) + +let lemma_index_app1 = lemma_index_app1' + +let rec lemma_index_app2' (#a:Type) (s1:seq a) (s2:seq a) (i:nat{i < length s1 + length s2 /\ length s1 <= i}) +: Lemma + (requires True) + (ensures (index (append s1 s2) i == index s2 (i - length s1))) (decreases (length s1)) += match s1.l with + | [] -> () + | hd::tl -> lemma_index_app2' #a (MkSeq tl) s2 (i - 1) + +let lemma_index_app2 = lemma_index_app2' + +let rec lemma_index_slice0' (#a:Type) (s:seq a) (j:nat{j <= length s}) (k : nat{k < j}) +: Lemma + (requires True) + (ensures (index (slice s 0 j) k == index s k)) (decreases (length s)) += if k = 0 + then () + else lemma_index_slice0' (tl s) (j-1) (k-1) + +#push-options "--fuel 1 --ifuel 0" +let rec lemma_index_slice' (#a:Type) (s:seq a) (i:nat) (j:nat{i <= j /\ j <= length s}) (k:nat{k < j - i}) +: Lemma + (requires True) + (ensures (index (slice s i j) k == index s (k + i))) (decreases (length s)) += if i > 0 + then ( + lemma_index_slice' #a (tl s) (i - 1) (j - 1) k; + assert (index (slice (tl s) (i - 1) (j - 1)) k == index (tl s) (k + (i - 1))); + assert (index (slice (tl s) (i - 1) (j - 1)) k == index s (k + i)); + assert (index (slice s i j) k == index s (k + i)) + ) + else ( + assert (j > 0); + lemma_index_slice0' #a s j k + ) +#pop-options + +let lemma_index_slice = lemma_index_slice' + +let hasEq_lemma _ = () + +let equal #a s1 s2 = + (length s1 = length s2 + /\ (forall (i:nat{i < length s1}).{:pattern (index s1 i); (index s2 i)} (index s1 i == index s2 i))) + +let rec eq_i' (#a:eqtype) (s1:seq a) (s2:seq a{length s1 == length s2}) (i:nat{i <= length s1}) +: Tot (r:bool{r <==> (forall j. (j >= i /\ j < length s1) ==> (index s1 j = index s2 j))}) + (decreases (length s1 - i)) += if i = length s1 then true + else + if index s1 i = index s2 i then eq_i' s1 s2 (i + 1) + else false + +let eq_i = eq_i' + +let eq #_ s1 s2 = if length s1 = length s2 then eq_i s1 s2 0 else false + +let lemma_eq_intro #_ s1 s2 = () + +let lemma_eq_refl #_ s1 s2 = () + +let lemma_eq_elim #_ s1 s2 = + assert ( length s1 == List.length (MkSeq?.l s1) ); + assert ( length s2 == List.length (MkSeq?.l s2) ); + assert ( forall (i: nat) . i < length s1 ==> index s1 i == List.index (MkSeq?.l s1) i); + assert ( forall (i: nat) . i < length s1 ==> index s2 i == List.index (MkSeq?.l s2) i); + List.index_extensionality (MkSeq?.l s1) (MkSeq?.l s2) + +(* Properties of [append] *) + +let append_assoc #a s1 s2 s3 = List.append_assoc (MkSeq?.l s1) (MkSeq?.l s2) (MkSeq?.l s3) + +let append_empty_l #a s = List.append_nil_l (MkSeq?.l s) + +let append_empty_r #a s = List.append_l_nil (MkSeq?.l s) + + +private +let rec init_index_aux (#a:Type) (len:nat) (k:nat{k < len}) (contents:(i:nat { i < len } -> Tot a)) + : Lemma (requires True) + (ensures (forall (i:nat{i < len - k}).index (init_aux len k contents) i == contents (k + i))) + (decreases (len - k)) += + if k + 1 = len + then () + else begin + init_index_aux #a len (k+1) contents ; + assert (forall (i:nat{i < len - k}). + if i = 0 then index (init_aux len k contents) 0 == contents k + else index (init_aux len k contents) i == index (init_aux len (k+1) contents) (i-1)) + end + +let init_index #_ len contents = + if len = 0 then () else init_index_aux len 0 contents + +let init_index_ #_ len contents j = init_index len contents + +private +let rec init_ghost_index_aux (#a:Type) (len:nat) (k:nat{k < len}) (contents:(i:nat { i < len } -> GTot a)) + : Lemma (requires True) + (ensures (forall (i:nat{i < len - k}).index (init_aux_ghost len k contents) i == contents (k + i))) + (decreases (len - k)) += + if k + 1 = len + then () + else begin + init_ghost_index_aux #a len (k+1) contents ; + assert (forall (i:nat{i < len - k}). + if i = 0 then index (init_aux_ghost len k contents) 0 == contents k + else index (init_aux_ghost len k contents) i == index (init_aux_ghost len (k+1) contents) (i-1)) + end + +let init_ghost_index #_ len contents = + if len = 0 then () else init_ghost_index_aux len 0 contents + +let init_ghost_index_ #_ len contents j = init_ghost_index len contents + +let lemma_equal_instances_implies_equal_types () = () diff --git a/stage0/ulib/FStar.Seq.Base.fsti b/stage0/ulib/FStar.Seq.Base.fsti new file mode 100644 index 00000000000..9dbfeaa0c5f --- /dev/null +++ b/stage0/ulib/FStar.Seq.Base.fsti @@ -0,0 +1,232 @@ +(* + 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. +*) + +(* A logical theory of sequences indexed by natural numbers in [0, n) *) +module FStar.Seq.Base +//#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 1 --max_ifuel 1" + +module List = FStar.List.Tot + +new val seq ([@@@strictly_positive] a : Type u#a) : Type u#a + +(* Destructors *) +val length: #a:Type -> seq a -> Tot nat + +val seq_to_list (#a:Type) (s:seq a) : Tot (l:list a{List.length l == length s}) + +val seq_of_list (#a:Type) (l:list a) : Tot (s:seq a{List.length l == length s}) + +val index: #a:Type -> s:seq a -> i:nat{i < length s} -> Tot a + +val create: #a:Type -> nat -> a -> Tot (seq a) + +private val init_aux (#a:Type) (len:nat) (k:nat{k < len}) (contents:(i:nat { i < len } -> Tot a)) + :Tot (seq a) + +inline_for_extraction val init: #a:Type -> len:nat -> contents: (i:nat { i < len } -> Tot a) -> Tot (seq a) + +private val init_aux_ghost (#a:Type) (len:nat) (k:nat{k < len}) (contents:(i:nat { i < len } -> GTot a)) + : GTot (seq a) + +inline_for_extraction val init_ghost: #a:Type -> len:nat -> contents: (i:nat { i < len } -> GTot a) -> GTot (seq a) + +val empty (#a:Type) : Tot (s:(seq a){length s=0}) + +[@@(deprecated "Seq.empty")] +unfold +let createEmpty (#a:Type) + : Tot (s:(seq a){length s=0}) + = empty #a + +val lemma_empty (#a:Type) (s:seq a) : Lemma (length s = 0 ==> s == empty #a) + +val upd: #a:Type -> s:seq a -> n:nat{n < length s} -> a -> Tot (seq a) + +val append: #a:Type -> seq a -> seq a -> Tot (seq a) + +let cons (#a:Type) (x:a) (s:seq a) : Tot (seq a) = append (create 1 x) s + +let op_At_Bar (#a:Type) (s1:seq a) (s2:seq a) = append s1 s2 + +val slice: #a:Type -> s:seq a -> i:nat -> j:nat{i <= j && j <= length s} -> Tot (seq a) + +(* Lemmas about seq_to_list/seq_of_list *) +val lemma_seq_of_seq_to_list : #a:Type -> s:seq a -> + Lemma + (requires True) + (ensures seq_of_list (seq_to_list s) == s) + [SMTPat (seq_of_list (seq_to_list s))] + +val lemma_seq_to_seq_of_list : #a:Type -> l:list a -> + Lemma + (requires True) + (ensures seq_to_list (seq_of_list l) == l) + [SMTPat (seq_to_list (seq_of_list l))] + +val lemma_seq_of_list_cons : #a:Type -> x:a -> l:list a -> + Lemma + (requires True) + (ensures seq_of_list (x::l) == create 1 x @| seq_of_list l) + [SMTPat (seq_of_list (x::l))] + +val lemma_seq_to_list_cons : #a:Type -> x:a -> s:seq a -> + Lemma + (requires True) + (ensures seq_to_list (cons x s) == x :: seq_to_list s) + [SMTPat (seq_to_list (cons x s))] + +(* Lemmas about length *) +val lemma_create_len: #a:Type -> n:nat -> i:a -> Lemma + (requires True) + (ensures (length (create n i) = n)) + [SMTPat (length (create n i))] + +val lemma_init_len: #a:Type -> n:nat -> contents: (i:nat { i < n } -> Tot a) -> Lemma + (requires True) + (ensures (length (init n contents) = n)) + [SMTPat (length (init n contents))] + +private val lemma_init_aux_len (#a:Type) (n:nat) (k:nat{k < n}) (contents:(i:nat{ i < n } -> Tot a)) + : Lemma (requires True) + (ensures (length (init_aux n k contents) = n - k)) + [SMTPat (length (init_aux n k contents))] + +val lemma_init_ghost_len: #a:Type -> n:nat -> contents: (i:nat { i < n } -> GTot a) -> Lemma + (requires True) + (ensures (length (init_ghost n contents) = n)) + [SMTPat (length (init_ghost n contents))] + +private val lemma_init_ghost_aux_len (#a:Type) (n:nat) (k:nat{k < n}) (contents:(i:nat{ i < n } -> GTot a)) + : Lemma (requires True) + (ensures (length (init_aux_ghost n k contents) = n - k)) + [SMTPat (length (init_aux_ghost n k contents))] + +val lemma_len_upd: #a:Type -> n:nat -> v:a -> s:seq a{n < length s} -> Lemma + (requires True) + (ensures (length (upd s n v) = length s)) + [SMTPat (length (upd s n v))] + +val lemma_len_append: #a:Type -> s1:seq a -> s2:seq a -> Lemma + (requires True) + (ensures (length (append s1 s2) = length s1 + length s2)) + [SMTPat (length (append s1 s2))] + +val lemma_len_slice: #a:Type -> s:seq a -> i:nat -> j:nat{i <= j && j <= length s} -> Lemma + (requires True) + (ensures (length (slice s i j) = j - i)) + [SMTPat (length (slice s i j))] + +(* Lemmas about index *) +val lemma_index_create: #a:Type -> n:nat -> v:a -> i:nat{i < n} -> Lemma + (requires True) + (ensures (index (create n v) i == v)) + [SMTPat (index (create n v) i)] + +val 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)) + [SMTPat (index (upd s n v) n)] + +val lemma_index_upd2: #a:Type -> s:seq a -> n:nat{n < length s} -> v:a -> i:nat{i<>n /\ i < length s} -> Lemma + (requires True) + (ensures (index (upd s n v) i == index s i)) + [SMTPat (index (upd s n v) i)] + +val lemma_index_app1: #a:Type -> s1:seq a -> s2:seq a -> i:nat{i < length s1} -> Lemma + (requires True) + (ensures (index (append s1 s2) i == index s1 i)) + [SMTPat (index (append s1 s2) i)] + +val lemma_index_app2: #a:Type -> s1:seq a -> s2:seq a -> i:nat{i < length s1 + length s2 /\ length s1 <= i} -> Lemma + (requires True) + (ensures (index (append s1 s2) i == index s2 (i - length s1))) + [SMTPat (index (append s1 s2) i)] + +val lemma_index_slice: #a:Type -> s:seq a -> i:nat -> j:nat{i <= j /\ j <= length s} -> k:nat{k < j - i} -> Lemma + (requires True) + (ensures (index (slice s i j) k == index s (k + i))) + [SMTPat (index (slice s i j) k)] + +val hasEq_lemma: a:Type -> Lemma (requires (hasEq a)) (ensures (hasEq (seq a))) [SMTPat (hasEq (seq a))] + +[@@ remove_unused_type_parameters [0; 1; 2]] +val equal (#a:Type) (s1:seq a) (s2:seq a) : Tot prop + +(* decidable equality *) +private val eq_i: + #a:eqtype -> s1:seq a -> s2:seq a{length s1 = length s2} + -> i:nat{i <= length s1} + -> Tot (r:bool{r <==> (forall j. (j >= i /\ j < length s1) ==> (index s1 j = index s2 j))}) + +val eq: #a:eqtype -> s1:seq a -> s2:seq a -> Tot (r:bool{r <==> equal s1 s2}) + +val lemma_eq_intro: #a:Type -> s1:seq a -> s2:seq a -> Lemma + (requires (length s1 = length s2 + /\ (forall (i:nat{i < length s1}).{:pattern (index s1 i); (index s2 i)} (index s1 i == index s2 i)))) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_eq_refl: #a:Type -> s1:seq a -> s2:seq a -> Lemma + (requires (s1 == s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_eq_elim: #a:Type -> s1:seq a -> s2:seq a -> Lemma + (requires (equal s1 s2)) + (ensures (s1==s2)) + [SMTPat (equal s1 s2)] + +(* Properties of [append] *) + +val append_assoc + (#a: Type) + (s1 s2 s3: seq a) +: Lemma + (ensures (append (append s1 s2) s3 == append s1 (append s2 s3))) + +val append_empty_l + (#a: Type) + (s: seq a) +: Lemma + (ensures (append empty s == s)) + +val append_empty_r + (#a: Type) + (s: seq a) +: Lemma + (ensures (append s empty == s)) + + +val init_index (#a:Type) (len:nat) (contents:(i:nat { i < len } -> Tot a)) + : Lemma (requires True) + (ensures (forall (i:nat{i < len}). index (init len contents) i == contents i)) + +val init_index_ (#a:Type) (len:nat) (contents:(i:nat { i < len } -> Tot a)) (j: nat) + : Lemma (requires j < len) + (ensures (index (init len contents) j == contents j)) + [SMTPat (index (init len contents) j)] + +val init_ghost_index (#a:Type) (len:nat) (contents:(i:nat { i < len } -> GTot a)) + : Lemma (requires True) + (ensures (forall (i:nat{i < len}). index (init_ghost len contents) i == contents i)) + +val init_ghost_index_ (#a:Type) (len:nat) (contents:(i:nat { i < len } -> GTot a)) (j: nat) + : Lemma (requires j < len) + (ensures (index (init_ghost len contents) j == contents j)) + [SMTPat (index (init_ghost len contents) j)] + +val lemma_equal_instances_implies_equal_types (_:unit) + :Lemma (forall (a:Type) (b:Type) (s1:seq a) (s2:seq b). s1 === s2 ==> a == b) diff --git a/stage0/ulib/FStar.Seq.Equiv.fst b/stage0/ulib/FStar.Seq.Equiv.fst new file mode 100644 index 00000000000..c53ae39f65e --- /dev/null +++ b/stage0/ulib/FStar.Seq.Equiv.fst @@ -0,0 +1,100 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + +module FStar.Seq.Equiv +module CE = FStar.Algebra.CommMonoid.Equiv + +open FStar.Seq.Base +open FStar.Seq.Properties +open FStar.IntegerIntervals + +let rec eq_of_seq #c eq s1 s2 + : Tot prop (decreases length s1) = + (length s1 = length s2 /\ + (length s1 = 0 \/ ( + let s1s, s1l = un_snoc s1 in + let s2s, s2l = un_snoc s2 in + eq.eq s1l s2l /\ eq_of_seq eq s1s s2s))) + +let rec eq_of_seq_element_equality #c eq s1 s2 + : Lemma (requires eq_of_seq eq s1 s2) + (ensures (length s1 = length s2) /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i))) + (decreases length s1) = + if (length s1 > 0) then + let s1liat, s1last = un_snoc s1 in + let s2liat, s2last = un_snoc s2 in + eq_of_seq_element_equality eq s1liat s2liat + +let rec eq_of_seq_from_element_equality #c eq s1 s2 + : Lemma (requires (length s1 = length s2) /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i))) + (ensures eq_of_seq eq s1 s2) + (decreases length s1) = + if length s1 = 0 then () else + let s1liat, s1last = un_snoc s1 in + let s2liat, s2last = un_snoc s2 in + eq_of_seq_from_element_equality eq s1liat s2liat + +let eq_of_seq_condition #c eq s1 s2 + : Lemma ((length s1 = length s2) /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i)) <==> + eq_of_seq eq s1 s2) = + Classical.move_requires_2 (eq_of_seq_element_equality eq) s1 s2; + Classical.move_requires_2 (eq_of_seq_from_element_equality eq) s1 s2 + +let rec eq_of_seq_reflexivity #c (eq: CE.equiv c) s + : Lemma (ensures eq_of_seq eq s s) + (decreases length s) = + if length s > 0 then + let liat, last = un_snoc s in + eq_of_seq_reflexivity #c eq liat; + eq.reflexivity last + +let rec eq_of_seq_symmetry #c (eq: CE.equiv c) s1 s2 + : Lemma (requires eq_of_seq eq s1 s2) + (ensures eq_of_seq eq s2 s1) + (decreases length s1) = + if length s1 > 0 then + let lia1, las1 = un_snoc s1 in + let lia2, las2 = un_snoc s2 in + eq_of_seq_symmetry #c eq lia1 lia2; + eq.symmetry las1 las2 + +let rec eq_of_seq_transitivity #c (eq: CE.equiv c) s1 s2 s3 + : Lemma (requires eq_of_seq eq s1 s2 /\ eq_of_seq eq s2 s3) + (ensures eq_of_seq eq s1 s3) + (decreases length s1) = + if length s1 > 0 then + let lia1, las1 = un_snoc s1 in + let lia2, las2 = un_snoc s2 in + let lia3, las3 = un_snoc s3 in + eq_of_seq_transitivity #c eq lia1 lia2 lia3; + eq.transitivity las1 las2 las3 + +let seq_equiv #c (eq: CE.equiv c) = + CE.EQ (eq_of_seq eq) (eq_of_seq_reflexivity eq) + (eq_of_seq_symmetry eq) + (eq_of_seq_transitivity eq) + +let eq_of_seq_unsnoc #c eq m (s1 s2: (z:seq c{length z==m})) + : Lemma (requires eq_of_seq eq s1 s2) + (ensures eq.eq (snd (un_snoc s1)) (snd (un_snoc s2)) /\ + eq_of_seq eq (fst (un_snoc s1)) (fst (un_snoc s2))) = + eq_of_seq_element_equality eq s1 s2; + eq_of_seq_from_element_equality eq (fst (un_snoc s1)) (fst (un_snoc s2)) diff --git a/stage0/ulib/FStar.Seq.Equiv.fsti b/stage0/ulib/FStar.Seq.Equiv.fsti new file mode 100644 index 00000000000..3e7c8d9de11 --- /dev/null +++ b/stage0/ulib/FStar.Seq.Equiv.fsti @@ -0,0 +1,62 @@ +(* + Copyright 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. + + Author: A. Rozanov +*) + + +(* Sequence equivalence relation (see FStar.Algebra.CommMonoid.Equiv) +*) + +module FStar.Seq.Equiv +module CE = FStar.Algebra.CommMonoid.Equiv +open FStar.Seq.Base +open FStar.Seq.Properties +open FStar.IntegerIntervals + +val eq_of_seq (#c:_) (eq:CE.equiv c) (s1 s2: seq c) : prop + +val eq_of_seq_element_equality (#c:_) (eq: CE.equiv c) (s1 s2: seq c) + : Lemma (requires eq_of_seq eq s1 s2) + (ensures length s1 = length s2 /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i))) + +val eq_of_seq_from_element_equality (#c:_) (eq: CE.equiv c) (s1 s2: seq c) + : Lemma (requires (length s1 = length s2) /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i))) + (ensures eq_of_seq eq s1 s2) + +val eq_of_seq_condition (#c:_) (eq: CE.equiv c) (s1 s2: seq c) + : Lemma ((length s1 = length s2) /\ + (forall (i: under (length s1)). (index s1 i `eq.eq` index s2 i)) <==> + eq_of_seq eq s1 s2) + +val eq_of_seq_reflexivity (#c:_) (eq: CE.equiv c) (s: seq c) + : Lemma (ensures eq_of_seq eq s s) + +val eq_of_seq_symmetry (#c:_) (eq: CE.equiv c) (s1 s2: seq c) + : Lemma (requires eq_of_seq eq s1 s2) + (ensures eq_of_seq eq s2 s1) + +val eq_of_seq_transitivity (#c:_) (eq: CE.equiv c) (s1 s2 s3: seq c) + : Lemma (requires eq_of_seq eq s1 s2 /\ eq_of_seq eq s2 s3) + (ensures eq_of_seq eq s1 s3) + +val seq_equiv (#c:_) (eq:CE.equiv c) : (CE.equiv (seq c)) + +val eq_of_seq_unsnoc (#c:_) (eq:CE.equiv c) (m:pos) (s1 s2: (z:seq c{length z==m})) + : Lemma (requires eq_of_seq eq s1 s2) + (ensures eq.eq (snd (un_snoc s1)) (snd (un_snoc s2)) /\ + eq_of_seq eq (fst (un_snoc s1)) (fst (un_snoc s2))) diff --git a/stage0/ulib/FStar.Seq.Permutation.fst b/stage0/ulib/FStar.Seq.Permutation.fst new file mode 100644 index 00000000000..5dd0a3484e5 --- /dev/null +++ b/stage0/ulib/FStar.Seq.Permutation.fst @@ -0,0 +1,736 @@ +(* + Copyright 2021-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. + + Authors: N. Swamy, A. Rastogi, A. Rozanov +*) +module FStar.Seq.Permutation +open FStar.Seq +open FStar.Calc + +[@@"opaque_to_smt"] +let is_permutation (#a:Type) (s0:seq a) (s1:seq a) (f:index_fun s0) = + Seq.length s0 == Seq.length s1 /\ + (forall x y. // {:pattern f x; f y} + x <> y ==> f x <> f y) /\ + (forall (i:nat{i < Seq.length s0}). // {:pattern (Seq.index s1 (f i))} + Seq.index s0 i == Seq.index s1 (f i)) + +let reveal_is_permutation #a (s0 s1:seq a) (f:index_fun s0) + = reveal_opaque (`%is_permutation) (is_permutation s0 s1 f) + +let reveal_is_permutation_nopats (#a:Type) (s0 s1:seq a) (f:index_fun s0) + : Lemma (is_permutation s0 s1 f <==> + + Seq.length s0 == Seq.length s1 /\ + + (forall x y. x <> y ==> f x <> f y) /\ + + (forall (i:nat{i < Seq.length s0}). + Seq.index s0 i == Seq.index s1 (f i))) + = reveal_is_permutation s0 s1 f + +let split3_index (#a:eqtype) (s0:seq a) (x:a) (s1:seq a) (j:nat) + : Lemma + (requires j < Seq.length (Seq.append s0 s1)) + (ensures ( + let s = Seq.append s0 (Seq.cons x s1) in + let s' = Seq.append s0 s1 in + let n = Seq.length s0 in + if j < n then Seq.index s' j == Seq.index s j + else Seq.index s' j == Seq.index s (j + 1) + )) + = let n = Seq.length (Seq.append s0 s1) in + if j < n then () + else () + +#push-options "--fuel 2 --ifuel 0 --z3rlimit_factor 2" +let rec find (#a:eqtype) (x:a) (s:seq a{ count x s > 0 }) + : Tot (frags:(seq a & seq a) { + let s' = Seq.append (fst frags) (snd frags) in + let n = Seq.length (fst frags) in + s `Seq.equal` Seq.append (fst frags) (Seq.cons x (snd frags)) + }) (decreases (Seq.length s)) + = if Seq.head s = x + then Seq.empty, Seq.tail s + else ( + let pfx, sfx = find x (Seq.tail s) in + assert (Seq.equal (Seq.tail s) + (Seq.append pfx (Seq.cons x sfx))); + assert (Seq.equal s + (Seq.cons (Seq.head s) (Seq.tail s))); + Seq.cons (Seq.head s) pfx, sfx + ) +#pop-options + +let introduce_is_permutation (#a:Type) (s0:seq a) (s1:seq a) + (f:index_fun s0) + (_:squash (Seq.length s0 == Seq.length s1)) + (_:squash (forall x y. x <> y ==> f x <> f y)) + (_:squash (forall (i:nat{i < Seq.length s0}). Seq.index s0 i == Seq.index s1 (f i))) + : Lemma + (ensures + is_permutation s0 s1 f) + = reveal_is_permutation_nopats s0 s1 f + +let reveal_is_permutation_pats (#a:Type) (s0 s1:seq a) (f:index_fun s0) + : Lemma (is_permutation s0 s1 f <==> + + Seq.length s0 == Seq.length s1 /\ + + (forall x y. {:pattern f x; f y } x <> y ==> f x <> f y) /\ + + (forall (i:nat{i < Seq.length s0}). {:pattern (Seq.index s0 i)} + Seq.index s0 i == Seq.index s1 (f i))) + = reveal_is_permutation s0 s1 f + +let adapt_index_fun (s:Seq.seq 'a { Seq.length s > 0 }) + (f:index_fun (Seq.tail s)) + (n:nat{n < Seq.length s}) + : index_fun s + = fun i -> if i = 0 + then n + else if f (i - 1) < n + then f (i - 1) + else f (i - 1) + 1 + +let count_singleton_one (#a:eqtype) (x:a) + : Lemma (count x (Seq.create 1 x) == 1) + = () +let count_singleton_zero (#a:eqtype) (x y:a) + : Lemma (x =!= y ==> count x (Seq.create 1 y) == 0) + = () +let equal_counts_empty (#a:eqtype) (s0 s1:seq a) + : Lemma + (requires Seq.length s0 == 0 /\ (forall x. count x s0 == count x s1)) + (ensures Seq.length s1 == 0) + = if Seq.length s1 > 0 then + assert (count (Seq.head s1) s1 > 0) +let count_head (#a:eqtype) (x:seq a{ Seq.length x > 0 }) + : Lemma (count (Seq.head x) x > 0) + = () + + +#push-options "--fuel 0" +#restart-solver +let rec permutation_from_equal_counts (#a:eqtype) (s0:seq a) (s1:seq a{(forall x. count x s0 == count x s1)}) + : Tot (seqperm s0 s1) + (decreases (Seq.length s0)) + = if Seq.length s0 = 0 + then ( + let f : index_fun s0 = fun i -> i in + reveal_is_permutation_pats s0 s1 f; + equal_counts_empty s0 s1; + f + ) else ( + count_head s0; + assert (count (Seq.head s0) s0 > 0); + let pfx, sfx = find (Seq.head s0) s1 in + introduce forall x. count x (Seq.tail s0) == count x (Seq.append pfx sfx) + with ( + if x = Seq.head s0 + then ( + calc (eq2 #int) { + count x (Seq.tail s0) <: int; + (==) { + assert (s0 `Seq.equal` Seq.cons (Seq.head s0) (Seq.tail s0)); + lemma_append_count_aux (Seq.head s0) (Seq.create 1 (Seq.head s0)) (Seq.tail s0); + count_singleton_one x + } + count x s0 - 1 <: int; + (==) {} + count x s1 - 1 <: int; + (==) {} + count x (Seq.append pfx (Seq.cons (Seq.head s0) sfx)) - 1 <: int; + (==) { lemma_append_count_aux x pfx (Seq.cons (Seq.head s0) sfx) } + count x pfx + count x (Seq.cons (Seq.head s0) sfx) - 1 <: int; + (==) { lemma_append_count_aux x (Seq.create 1 (Seq.head s0)) sfx } + count x pfx + (count x (Seq.create 1 (Seq.head s0)) + count x sfx) - 1 <: int; + (==) { count_singleton_one x } + count x pfx + count x sfx <: int; + (==) { lemma_append_count_aux x pfx sfx } + count x (Seq.append pfx sfx) <: int; + } + ) + else ( + calc (==) { + count x (Seq.tail s0); + (==) { + assert (s0 `Seq.equal` Seq.cons (Seq.head s0) (Seq.tail s0)); + lemma_append_count_aux x (Seq.create 1 (Seq.head s0)) (Seq.tail s0); + count_singleton_zero x (Seq.head s0) + } + count x s0; + (==) { } + count x s1; + (==) { } + count x (Seq.append pfx (Seq.cons (Seq.head s0) sfx)); + (==) { lemma_append_count_aux x pfx (Seq.cons (Seq.head s0) sfx) } + count x pfx + count x (Seq.cons (Seq.head s0) sfx); + (==) { lemma_append_count_aux x (Seq.create 1 (Seq.head s0)) sfx } + count x pfx + (count x (Seq.create 1 (Seq.head s0)) + count x sfx) ; + (==) { count_singleton_zero x (Seq.head s0) } + count x pfx + count x sfx; + (==) { lemma_append_count_aux x pfx sfx } + count x (Seq.append pfx sfx); + } + ) + ); + let s1' = (Seq.append pfx sfx) in + let f' = permutation_from_equal_counts (Seq.tail s0) s1' in + reveal_is_permutation_pats (Seq.tail s0) s1' f'; + let n = Seq.length pfx in + let f : index_fun s0 = adapt_index_fun s0 f' n in + assert (Seq.length s0 == Seq.length s1); + let len_eq : squash (Seq.length s0 == Seq.length s1) = () in + assert (forall x y. x <> y ==> f' x <> f' y); + let neq = + introduce forall x y. x <> y ==> f x <> f y + with (introduce _ ==> _ + with _. ( + if f x = n || f y = n + then () + else if f' (x - 1) < n + then ( + assert (f x == f' (x - 1)); + if f' (y - 1) < n + then assert (f y == f' (y - 1)) + else assert (f y == f' (y - 1) + 1) + ) + else ( + assert (f x == f' (x - 1) + 1); + if f' (y - 1) < n + then assert (f y == f' (y - 1)) + else assert (f y == f' (y - 1) + 1) + ) + ) + ) + in + let perm_prop = + introduce forall (i:nat{i < Seq.length s0}). Seq.index s0 i == Seq.index s1 (f i) + with ( + if i = 0 then () + else if f' (i - 1) < n + then ( + assert (f i == f' (i - 1)); + assert (Seq.index (Seq.tail s0) (i - 1) == + Seq.index s1' (f' (i - 1))) + ) + else ( + assert (f i = f' (i - 1) + 1); + assert (Seq.index (Seq.tail s0) (i - 1) == + Seq.index s1' (f' (i - 1))) + ) + ) + in + introduce_is_permutation s0 s1 f len_eq neq perm_prop; + f) +#pop-options + + +module CE = FStar.Algebra.CommMonoid.Equiv + +let elim_monoid_laws #a #eq (m:CE.cm a eq) + : Lemma ( + (forall x y. {:pattern m.mult x y} eq.eq (m.mult x y) (m.mult y x)) /\ + (forall x y z.{:pattern (m.mult x (m.mult y z))} eq.eq (m.mult x (m.mult y z)) (m.mult (m.mult x y) z)) /\ + (forall x.{:pattern (m.mult x m.unit)} eq.eq (m.mult x m.unit) x) + ) + = introduce forall x y. eq.eq (m.mult x y) (m.mult y x) + with ( m.commutativity x y ); + + introduce forall x y z. eq.eq (m.mult x (m.mult y z)) (m.mult (m.mult x y) z) + with ( m.associativity x y z; + eq.symmetry (m.mult (m.mult x y) z) (m.mult x (m.mult y z)) ); + + introduce forall x. eq.eq (m.mult x m.unit) x + with ( CE.right_identity eq m x ) + +let rec foldm_snoc_unit_seq (#a:Type) (#eq:CE.equiv a) (m:CE.cm a eq) (s:Seq.seq a) + : Lemma (requires Seq.equal s (Seq.create (Seq.length s) m.unit)) + (ensures eq.eq (foldm_snoc m s) m.unit) + (decreases Seq.length s) + = CE.elim_eq_laws eq; + elim_monoid_laws m; + if Seq.length s = 0 + then () + else let s_tl, _ = un_snoc s in + foldm_snoc_unit_seq m s_tl + +#push-options "--fuel 2" +let foldm_snoc_singleton (#a:_) #eq (m:CE.cm a eq) (x:a) + : Lemma (eq.eq (foldm_snoc m (Seq.create 1 x)) x) + = elim_monoid_laws m +#pop-options + +let x_yz_to_y_xz #a #eq (m:CE.cm a eq) (x y z:a) + : Lemma ((x `m.mult` (y `m.mult` z)) + `eq.eq` + (y `m.mult` (x `m.mult` z))) + = CE.elim_eq_laws eq; + elim_monoid_laws m; + calc (eq.eq) { + x `m.mult` (y `m.mult` z); + (eq.eq) { m.commutativity x (y `m.mult` z) } + (y `m.mult` z) `m.mult` x; + (eq.eq) { m.associativity y z x } + y `m.mult` (z `m.mult` x); + (eq.eq) { m.congruence y (z `m.mult` x) y (x `m.mult` z) } + y `m.mult` (x `m.mult` z); + } + +let lemma_un_snoc_append (#a:Type) (s1 : seq a) (s2 : seq a {Seq.length s2 <> 0}) + : Lemma (fst (Seq.un_snoc (append s1 s2)) == append s1 (fst (Seq.un_snoc s2))) + = assert (Seq.equal (fst (Seq.un_snoc (append s1 s2))) + (append s1 (fst (Seq.un_snoc s2)))) + +#push-options "--fuel 1 --ifuel 0" +let rec foldm_snoc_append #a #eq (m:CE.cm a eq) (s1 s2: seq a) + : Lemma + (ensures eq.eq (foldm_snoc m (append s1 s2)) + (m.mult (foldm_snoc m s1) (foldm_snoc m s2))) + (decreases (Seq.length s2)) + = CE.elim_eq_laws eq; + elim_monoid_laws m; + if Seq.length s2 = 0 + then assert (Seq.append s1 s2 `Seq.equal` s1) + else ( + let s2', last = Seq.un_snoc s2 in + calc (eq.eq) + { + foldm_snoc m (append s1 s2); + (eq.eq) { assert (Seq.equal (append s1 s2) + (Seq.snoc (append s1 s2') last)) } + foldm_snoc m (Seq.snoc (append s1 s2') last); + (eq.eq) { + lemma_un_snoc_append s1 s2; + assert (Seq.equal (fst (Seq.un_snoc (append s1 s2))) (append s1 s2')) + } + + m.mult last (foldm_snoc m (append s1 s2')); + (eq.eq) { foldm_snoc_append m s1 s2'; + m.congruence last (foldm_snoc m (append s1 s2')) + last (m.mult (foldm_snoc m s1) (foldm_snoc m s2')) } + m.mult last (m.mult (foldm_snoc m s1) (foldm_snoc m s2')); + (eq.eq) { x_yz_to_y_xz m last (foldm_snoc m s1) (foldm_snoc m s2') } + m.mult (foldm_snoc m s1) (m.mult last (foldm_snoc m s2')); + (eq.eq) { } + m.mult (foldm_snoc m s1) (foldm_snoc m s2); + }) +#pop-options + +let foldm_snoc_sym #a #eq (m:CE.cm a eq) (s1 s2: seq a) + : Lemma + (ensures eq.eq (foldm_snoc m (append s1 s2)) (foldm_snoc m (append s2 s1))) + = CE.elim_eq_laws eq; + elim_monoid_laws m; + foldm_snoc_append m s1 s2; + foldm_snoc_append m s2 s1 + +#push-options "--fuel 0" +let foldm_snoc3 #a #eq (m:CE.cm a eq) (s1:seq a) (x:a) (s2:seq a) + : Lemma (eq.eq (foldm_snoc m (Seq.append s1 (Seq.cons x s2))) + (m.mult x (foldm_snoc m (Seq.append s1 s2)))) + = CE.elim_eq_laws eq; + elim_monoid_laws m; + calc (eq.eq) + { + foldm_snoc m (Seq.append s1 (Seq.cons x s2)); + (eq.eq) { foldm_snoc_append m s1 (Seq.cons x s2) } + m.mult (foldm_snoc m s1) (foldm_snoc m (Seq.cons x s2)); + (eq.eq) { foldm_snoc_append m (Seq.create 1 x) s2; + m.congruence (foldm_snoc m s1) + (foldm_snoc m (Seq.cons x s2)) + (foldm_snoc m s1) + (m.mult (foldm_snoc m (Seq.create 1 x)) (foldm_snoc m s2)) } + m.mult (foldm_snoc m s1) (m.mult (foldm_snoc m (Seq.create 1 x)) (foldm_snoc m s2)); + (eq.eq) { foldm_snoc_singleton m x; + m.congruence (foldm_snoc m (Seq.create 1 x)) + (foldm_snoc m s2) + x + (foldm_snoc m s2); + m.congruence (foldm_snoc m s1) + (m.mult (foldm_snoc m (Seq.create 1 x)) (foldm_snoc m s2)) + (foldm_snoc m s1) + (m.mult x (foldm_snoc m s2)) } + m.mult (foldm_snoc m s1) (m.mult x (foldm_snoc m s2)); + (eq.eq) { x_yz_to_y_xz m (foldm_snoc m s1) x (foldm_snoc m s2) } + m.mult x (m.mult (foldm_snoc m s1) (foldm_snoc m s2)); + (eq.eq) { foldm_snoc_append m s1 s2; + m.congruence x + (m.mult (foldm_snoc m s1) (foldm_snoc m s2)) + x + (foldm_snoc m (Seq.append s1 s2)) } + m.mult x (foldm_snoc m (Seq.append s1 s2)); + } +#pop-options + + +let remove_i #a (s:seq a) (i:nat{i < Seq.length s}) + : a & seq a + = let s0, s1 = Seq.split s i in + Seq.head s1, Seq.append s0 (Seq.tail s1) + +#push-options "--using_facts_from '* -FStar.Seq.Properties.slice_slice'" +let shift_perm' #a + (s0 s1:seq a) + (_:squash (Seq.length s0 == Seq.length s1 /\ Seq.length s0 > 0)) + (p:seqperm s0 s1) + : Tot (seqperm (fst (Seq.un_snoc s0)) + (snd (remove_i s1 (p (Seq.length s0 - 1))))) + = reveal_is_permutation s0 s1 p; + let s0', last = Seq.un_snoc s0 in + let n = Seq.length s0' in + let p' (i:nat{ i < n }) + : j:nat{ j < n } + = if p i < p n then p i else p i - 1 + in + let _, s1' = remove_i s1 (p n) in + reveal_is_permutation_nopats s0' s1' p'; + p' +#pop-options + +let shift_perm #a + (s0 s1:seq a) + (_:squash (Seq.length s0 == Seq.length s1 /\ Seq.length s0 > 0)) + (p:seqperm s0 s1) + : Pure (seqperm (fst (Seq.un_snoc s0)) + (snd (remove_i s1 (p (Seq.length s0 - 1))))) + (requires True) + (ensures fun _ -> let n = Seq.length s0 - 1 in + Seq.index s1 (p n) == + Seq.index s0 n) + = reveal_is_permutation s0 s1 p; + shift_perm' s0 s1 () p + +let seqperm_len #a (s0 s1:seq a) + (p:seqperm s0 s1) + : Lemma + (ensures Seq.length s0 == Seq.length s1) + = reveal_is_permutation s0 s1 p + +let eq2_eq #a (eq:CE.equiv a) (x y:a) + : Lemma (requires x == y) + (ensures x `eq.eq` y) + = eq.reflexivity x + +(* The sequence indexing lemmas make this quite fiddly *) +#push-options "--z3rlimit_factor 2 --fuel 1 --ifuel 0" +let rec foldm_snoc_perm #a #eq m s0 s1 p + : Lemma + (ensures eq.eq (foldm_snoc m s0) (foldm_snoc m s1)) + (decreases (Seq.length s0)) + = //for getting calc chain to compose + CE.elim_eq_laws eq; + seqperm_len s0 s1 p; + if Seq.length s0 = 0 then ( + assert (Seq.equal s0 s1); + eq2_eq eq (foldm_snoc m s0) (foldm_snoc m s1) + ) + else ( + let n0 = Seq.length s0 - 1 in + let prefix, last = Seq.un_snoc s0 in + let prefix', suffix0 = Seq.split s1 (p n0) in + assert (Seq.equal s1 (Seq.append prefix' suffix0)); + let last', suffix' = Seq.head suffix0, Seq.tail suffix0 in + assert (Seq.cons last' suffix' `Seq.equal` suffix0); + assert (s1 `Seq.equal` Seq.append prefix' (Seq.cons last' suffix')); + let s1' = snd (remove_i s1 (p n0)) in + let p' : seqperm prefix s1' = shift_perm s0 s1 () p in + assert (last == last'); + calc + (eq.eq) + { + foldm_snoc m s1; + (eq.eq) { eq2_eq eq (foldm_snoc m s1) + (foldm_snoc m (Seq.append prefix' (Seq.cons last' suffix'))) } + foldm_snoc m (Seq.append prefix' (Seq.cons last' suffix')); + (eq.eq) { foldm_snoc3 m prefix' last' suffix' } + m.mult last' (foldm_snoc m (append prefix' suffix')); + (eq.eq) { assert (Seq.equal (append prefix' suffix') s1'); + eq2_eq eq (m.mult last' (foldm_snoc m (append prefix' suffix'))) + (m.mult last' (foldm_snoc m s1')) } + m.mult last' (foldm_snoc m s1'); + (eq.eq) { foldm_snoc_perm m prefix s1' p'; + eq.symmetry (foldm_snoc m prefix) (foldm_snoc m s1'); + eq.reflexivity last'; + m.congruence last' + (foldm_snoc m s1') + last' + (foldm_snoc m prefix) } + m.mult last' (foldm_snoc m prefix); + (eq.eq) { eq2_eq eq (m.mult last' (foldm_snoc m prefix)) + (foldm_snoc m s0) } + foldm_snoc m s0; + }; + eq.symmetry (foldm_snoc m s1) (foldm_snoc m s0)) +#pop-options + +//////////////////////////////////////////////////////////////////////////////// +// foldm_snoc_split +//////////////////////////////////////////////////////////////////////////////// + +(* Some utilities to introduce associativity-commutativity reasoning on + CM using quantified formulas with patterns. + + Use these with care, since with large terms the SMT solver may end up + with an explosion of instantiations +*) +let cm_associativity #c #eq (cm: CE.cm c eq) + : Lemma (forall (x y z:c). {:pattern (x `cm.mult` y `cm.mult` z)} + (x `cm.mult` y `cm.mult` z) `eq.eq` (x `cm.mult` (y `cm.mult` z))) + = Classical.forall_intro_3 (Classical.move_requires_3 cm.associativity) + +let cm_commutativity #c #eq (cm: CE.cm c eq) + : Lemma (forall (x y:c). {:pattern (x `cm.mult` y)} + (x `cm.mult` y) `eq.eq` (y `cm.mult` x)) + = Classical.forall_intro_2 (Classical.move_requires_2 cm.commutativity) + +(* A utility to introduce the equivalence relation laws into the context. + FStar.Algebra.CommutativeMonoid provides something similar, but this + version provides a more goal-directed pattern for transitivity. + We should consider changing FStar.Algebra.CommutativeMonoid *) +let elim_eq_laws #a (eq:CE.equiv a) + : Lemma ( + (forall x.{:pattern (x `eq.eq` x)} x `eq.eq` x) /\ + (forall x y.{:pattern (x `eq.eq` y)} x `eq.eq` y ==> y `eq.eq` x) /\ + (forall x y z.{:pattern eq.eq x y; eq.eq x z} (x `eq.eq` y /\ y `eq.eq` z) ==> x `eq.eq` z) + ) + = CE.elim_eq_laws eq + +let fold_decomposition_aux #c #eq (cm: CE.cm c eq) + (n0: int) + (nk: int{nk=n0}) + (expr1 expr2: (ifrom_ito n0 nk) -> c) + : Lemma (foldm_snoc cm (init (closed_interval_size n0 nk) + (init_func_from_expr (func_sum cm expr1 expr2) n0 nk)) `eq.eq` + cm.mult (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr1 n0 nk))) + (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr2 n0 nk)))) + = elim_eq_laws eq; + let sum_of_funcs (i: under (closed_interval_size n0 nk)) + = expr1 (n0+i) `cm.mult` expr2 (n0+i) in + lemma_eq_elim (init (closed_interval_size n0 nk) sum_of_funcs) + (create 1 (expr1 n0 `cm.mult` expr2 n0)); + foldm_snoc_singleton cm (expr1 n0 `cm.mult` expr2 n0); + let ts = (init (closed_interval_size n0 nk) sum_of_funcs) in + let ts1 = (init (nk+1-n0) (fun i -> expr1 (n0+i))) in + let ts2 = (init (nk+1-n0) (fun i -> expr2 (n0+i))) in + assert (foldm_snoc cm ts `eq.eq` sum_of_funcs (nk-n0)); // this assert speeds up the proof. + foldm_snoc_singleton cm (expr1 nk); + foldm_snoc_singleton cm (expr2 nk); + cm.congruence (foldm_snoc cm ts1) (foldm_snoc cm ts2) (expr1 nk) (expr2 nk) + +let aux_shuffle_lemma #c #eq (cm: CE.cm c eq) + (s1 s2 l1 l2: c) + : Lemma (((s1 `cm.mult` s2) `cm.mult` (l1 `cm.mult` l2)) `eq.eq` + ((s1 `cm.mult` l1) `cm.mult` (s2 `cm.mult` l2))) + = elim_eq_laws eq; + cm_commutativity cm; + cm_associativity cm; + let (+) = cm.mult in + cm.congruence (s1+s2) l1 (s2+s1) l1; + cm.congruence ((s1+s2)+l1) l2 ((s2+s1)+l1) l2; + cm.congruence ((s2+s1)+l1) l2 (s2+(s1+l1)) l2; + cm.congruence (s2+(s1+l1)) l2 ((s1+l1)+s2) l2 + + +#push-options "--ifuel 0 --fuel 1 --z3rlimit 40" +(* This proof is quite delicate, for several reasons: + - It's working with higher order functions that are non-trivially dependently typed, + notably on the ranges the ranges of indexes they manipulate + + - When using the induction hypothesis (i.e., on a recursive call), what we get + is a property about the function at a different type, i.e., `range_count n0 (nk - 1)`. + + - If left to the SMT solver alone, these higher order functions + at slightly different types cannot be proven equal and the + proof fails, often mysteriously. + + - To have something more robust, I rewrote this function to + return a squash proof, and then to coerce this proof to the + type needed, where the F* unififer/normalization machinery can + help, rather than leaving it purely to SMT, which is what + happens when the property is states as a postcondition of a + Lemma +*) +let rec foldm_snoc_split' #c #eq (cm: CE.cm c eq) + (n0: int) + (nk: not_less_than n0) + (expr1 expr2: (ifrom_ito n0 nk) -> c) + : Tot (squash (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr (func_sum cm expr1 expr2) n0 nk)) `eq.eq` + cm.mult (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr1 n0 nk))) + (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr2 n0 nk))))) + (decreases nk-n0) + = if (nk=n0) + then fold_decomposition_aux cm n0 nk expr1 expr2 + else ( + cm_commutativity cm; + elim_eq_laws eq; + let lfunc_up_to (nf: ifrom_ito n0 nk) = init_func_from_expr (func_sum cm expr1 expr2) n0 nf in + let range_count = closed_interval_size in + let full_count = range_count n0 nk in + let sub_count = range_count n0 (nk-1) in + let fullseq = init full_count (lfunc_up_to nk) in + let rfunc_1_up_to (nf: ifrom_ito n0 nk) = init_func_from_expr expr1 n0 nf in + let rfunc_2_up_to (nf: ifrom_ito n0 nk) = init_func_from_expr expr2 n0 nf in + let fullseq_r1 = init full_count (rfunc_1_up_to nk) in + let fullseq_r2 = init full_count (rfunc_2_up_to nk) in + let subseq = init sub_count (lfunc_up_to nk) in + let subfold = foldm_snoc cm subseq in + let last = lfunc_up_to nk sub_count in + lemma_eq_elim (fst (un_snoc fullseq)) subseq; // subseq is literally (liat fullseq) + let fullfold = foldm_snoc cm fullseq in + let subseq_r1 = init sub_count (rfunc_1_up_to nk) in + let subseq_r2 = init sub_count (rfunc_2_up_to nk) in + lemma_eq_elim (fst (un_snoc fullseq_r1)) subseq_r1; // subseq is literally (liat fullseq) + lemma_eq_elim (fst (un_snoc fullseq_r2)) subseq_r2; // subseq is literally (liat fullseq) + lemma_eq_elim (init sub_count (lfunc_up_to nk)) subseq; + lemma_eq_elim (init sub_count (lfunc_up_to (nk-1))) subseq; + lemma_eq_elim subseq_r1 (init sub_count (rfunc_1_up_to (nk-1))); + lemma_eq_elim subseq_r2 (init sub_count (rfunc_2_up_to (nk-1))); + let fullfold_r1 = foldm_snoc cm fullseq_r1 in + let fullfold_r2 = foldm_snoc cm fullseq_r2 in + let subfold_r1 = foldm_snoc cm subseq_r1 in + let subfold_r2 = foldm_snoc cm subseq_r2 in + cm.congruence (foldm_snoc cm (init sub_count (rfunc_1_up_to (nk-1)))) + (foldm_snoc cm (init sub_count (rfunc_2_up_to (nk-1)))) + subfold_r1 subfold_r2; + let last_r1 = rfunc_1_up_to nk sub_count in + let last_r2 = rfunc_2_up_to nk sub_count in + let nk' = nk - 1 in + (* here's the nasty bit with where we have to massage the proof from the induction hypothesis *) + let ih + : squash ((foldm_snoc cm (init (range_count n0 nk') (init_func_from_expr #_ #n0 #nk' (func_sum #(ifrom_ito n0 nk') cm expr1 expr2) n0 nk')) `eq.eq` + cm.mult (foldm_snoc cm (init (range_count n0 nk') (init_func_from_expr #_ #n0 #nk' expr1 n0 nk'))) + (foldm_snoc cm (init (range_count n0 nk') (init_func_from_expr #_ #n0 #nk' expr2 n0 nk'))))) + = foldm_snoc_split' cm n0 nk' expr1 expr2 + in + calc (==) { + subfold; + == { } + foldm_snoc cm subseq; + == { assert (Seq.equal subseq + (init (range_count n0 nk') + (init_func_from_expr #_ #n0 #nk' + (func_sum #(ifrom_ito n0 nk') cm expr1 expr2) n0 nk'))) } + foldm_snoc cm (init (range_count n0 nk') + (init_func_from_expr #_ #n0 #nk' + (func_sum #(ifrom_ito n0 nk') cm expr1 expr2) n0 nk')); + }; + assert (Seq.equal subseq_r1 (init (range_count n0 nk') (init_func_from_expr #_ #n0 #nk' expr1 n0 nk'))); + assert (Seq.equal subseq_r2 (init (range_count n0 nk') (init_func_from_expr #_ #n0 #nk' expr2 n0 nk'))); + let _ : squash (subfold `eq.eq` (subfold_r1 `cm.mult` subfold_r2)) = ih in + cm.congruence subfold last (subfold_r1 `cm.mult` subfold_r2) last; + aux_shuffle_lemma cm subfold_r1 subfold_r2 (rfunc_1_up_to nk sub_count) (rfunc_2_up_to nk sub_count); + cm.congruence (subfold_r1 `cm.mult` (rfunc_1_up_to nk sub_count)) (subfold_r2 `cm.mult` (rfunc_2_up_to nk sub_count)) + (foldm_snoc cm fullseq_r1) (foldm_snoc cm fullseq_r2) + ) +#pop-options + +/// Finally, package the proof up into a Lemma, as expected by the interface +let foldm_snoc_split #c #eq (cm: CE.cm c eq) + (n0: int) + (nk: not_less_than n0) + (expr1 expr2: (ifrom_ito n0 nk) -> c) + = foldm_snoc_split' cm n0 nk expr1 expr2 + +open FStar.Seq.Equiv + +let rec foldm_snoc_equality #c #eq (add: CE.cm c eq) (s t: seq c) + : Lemma (requires length s == length t /\ eq_of_seq eq s t) + (ensures foldm_snoc add s `eq.eq` foldm_snoc add t) + (decreases length s) = + if length s = 0 then ( + assert_norm (foldm_snoc add s == add.unit); + assert_norm (foldm_snoc add t == add.unit); + eq.reflexivity add.unit + ) + else ( + let sliat, slast = un_snoc s in + let tliat, tlast = un_snoc t in + eq_of_seq_unsnoc eq (length s) s t; + foldm_snoc_equality add sliat tliat; + add.congruence slast (foldm_snoc add sliat) + tlast (foldm_snoc add tliat) + ) + +let foldm_snoc_split_seq #c #eq (add: CE.cm c eq) + (s: seq c) (t: seq c{length s == length t}) + (sum_seq: seq c{length sum_seq == length s}) + (proof: (i: under (length s)) -> Lemma ((index s i `add.mult` index t i) + `eq.eq` (index sum_seq i))) + : Lemma ((foldm_snoc add s `add.mult` foldm_snoc add t) `eq.eq` + (foldm_snoc add sum_seq)) = + if length s = 0 then add.identity add.unit + else + let n = length s in + let index_1 (i:under n) = index s i in + let index_2 (i:under n) = index t i in + let nk = (n-1) in + assert (n == closed_interval_size 0 nk); + let index_sum = func_sum add index_1 index_2 in + let expr1 = init_func_from_expr #c #0 #(n-1) index_1 0 nk in + let expr2 = init_func_from_expr #c #0 #(n-1) index_2 0 nk in + let expr_sum = init_func_from_expr #c #0 #(n-1) index_sum 0 nk in + Classical.forall_intro eq.reflexivity; + Classical.forall_intro_2 (Classical.move_requires_2 eq.symmetry); + Classical.forall_intro_3 (Classical.move_requires_3 eq.transitivity); + foldm_snoc_split add 0 (n-1) index_1 index_2; + assert (foldm_snoc add (init n (expr_sum)) `eq.eq` + add.mult (foldm_snoc add (init n expr1)) (foldm_snoc add (init n expr2))); + lemma_eq_elim s (init n expr1); + lemma_eq_elim t (init n expr2); + Classical.forall_intro proof; + eq_of_seq_from_element_equality eq (init n expr_sum) sum_seq; + foldm_snoc_equality add (init n expr_sum) sum_seq ; + + assert (eq.eq (foldm_snoc add (init n expr_sum)) + (foldm_snoc add sum_seq)); + assert (foldm_snoc add s == foldm_snoc add (init n expr1)); + assert (foldm_snoc add t == foldm_snoc add (init n expr2)); + assert (add.mult (foldm_snoc add s) (foldm_snoc add t) `eq.eq` + foldm_snoc add (init n (expr_sum))); + eq.transitivity (add.mult (foldm_snoc add s) (foldm_snoc add t)) + (foldm_snoc add (init n (expr_sum))) + (foldm_snoc add sum_seq) + +let rec foldm_snoc_of_equal_inits #c #eq #m (cm: CE.cm c eq) + (f: (under m) -> c) + (g: (under m) -> c) + : Lemma (requires (forall (i: under m). f i `eq.eq` g i)) + (ensures foldm_snoc cm (init m f) `eq.eq` + foldm_snoc cm (init m g)) = + if m=0 then begin + assert_norm (foldm_snoc cm (init m f) == cm.unit); + assert_norm (foldm_snoc cm (init m g) == cm.unit); + eq.reflexivity cm.unit + end else + if m=1 then begin + foldm_snoc_singleton cm (f 0); + foldm_snoc_singleton cm (g 0); + eq.transitivity (foldm_snoc cm (init m f)) (f 0) (g 0); + eq.symmetry (foldm_snoc cm (init m g)) (g 0); + eq.transitivity (foldm_snoc cm (init m f)) + (g 0) + (foldm_snoc cm (init m g)) + end else + let fliat, flast = un_snoc (init m f) in + let gliat, glast = un_snoc (init m g) in + foldm_snoc_of_equal_inits cm (fun (i: under (m-1)) -> f i) + (fun (i: under (m-1)) -> g i); + lemma_eq_elim (init (m-1) (fun (i: under (m-1)) -> f i)) fliat; + lemma_eq_elim (init (m-1) (fun (i: under (m-1)) -> g i)) gliat; + cm.congruence flast (foldm_snoc cm fliat) + glast (foldm_snoc cm gliat) + diff --git a/stage0/ulib/FStar.Seq.Permutation.fsti b/stage0/ulib/FStar.Seq.Permutation.fsti new file mode 100644 index 00000000000..864e2a70d95 --- /dev/null +++ b/stage0/ulib/FStar.Seq.Permutation.fsti @@ -0,0 +1,165 @@ +(* + Copyright 2021-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. + + Authors: N. Swamy, A. Rastogi, A. Rozanov +*) +module FStar.Seq.Permutation + +open FStar.Seq + +open FStar.IntegerIntervals + +(* This module defines a permutation on sequences as a bijection among + the sequence indices relating equal elements. + + It defines a few utilities to work with such permutations. + + Notably: + + 1. Given two sequence with equal element counts, it constructs a + permutation. + + 2. Folding the multiplication of a commutative monoid over a + sequence and its permutation produces the equivalent results +*) + +(* A function from the indices of `s` to itself *) +let index_fun #a (s:seq a) = under (Seq.length s) -> under (Seq.length s) + +(* An abstract predicate defining when an index_fun is a permutation *) +val is_permutation (#a:Type) (s0:seq a) (s1:seq a) (f:index_fun s0) : prop + +(* Revealing the interpretation of is_permutation *) +val reveal_is_permutation (#a:Type) (s0 s1:seq a) (f:index_fun s0) + : Lemma (is_permutation s0 s1 f <==> + (* lengths of the sequences are the same *) + Seq.length s0 == Seq.length s1 /\ + (* f is injective *) + (forall x y. {:pattern f x; f y} + x <> y ==> f x <> f y) /\ + (* and f relates equal items in s0 and s1 *) + (forall (i:nat{i < Seq.length s0}).{:pattern (Seq.index s1 (f i))} + Seq.index s0 i == Seq.index s1 (f i))) + +(* A seqperm is an index_fun that is also a permutation *) +let seqperm (#a:Type) (s0:seq a) (s1:seq a) = + f:index_fun s0 { is_permutation s0 s1 f } + +(* We can construct a permutation from + sequences whose element counts are the same *) +val permutation_from_equal_counts + (#a:eqtype) + (s0:seq a) (s1:seq a{(forall x. count x s0 == count x s1)}) + : Tot (seqperm s0 s1) + +(** Now, some utilities related to commutative monoids and permutations *) + +module CE = FStar.Algebra.CommMonoid.Equiv + +(* folding a m.mult over a sequence *) +let foldm_snoc (#a:Type) (#eq:CE.equiv a) (m:CE.cm a eq) (s:seq a) = + foldr_snoc m.mult s m.unit + +(* folding over a sequence of units is unit *) +val foldm_snoc_unit_seq (#a:Type) (#eq:CE.equiv a) (m:CE.cm a eq) (s:Seq.seq a) + : Lemma (requires Seq.equal s (Seq.create (Seq.length s) m.unit)) + (ensures eq.eq (foldm_snoc m s) m.unit) + +(* folding over a singleton sequence is the sequence element *) +val foldm_snoc_singleton (#a:_) (#eq:_) (m:CE.cm a eq) (x:a) + : Lemma (eq.eq (foldm_snoc m (Seq.create 1 x)) x) + +(* folding m over the concatenation of s1 and s2 + can be decomposed into a fold over s1 and a fold over s2 *) +val foldm_snoc_append (#a:Type) (#eq:CE.equiv a) (m:CE.cm a eq) (s1 s2: seq a) + : Lemma + (ensures eq.eq (foldm_snoc m (append s1 s2)) + (m.mult (foldm_snoc m s1) (foldm_snoc m s2))) + +(* folds over concatenated lists can is symmetric *) +val foldm_snoc_sym (#a:Type) (#eq:CE.equiv a) (m:CE.cm a eq) (s1 s2: seq a) + : Lemma + (ensures eq.eq (foldm_snoc m (append s1 s2)) + (foldm_snoc m (append s2 s1))) + +(* And, finally, if s0 and s1 are permutations, + then folding m over them is identical *) +val foldm_snoc_perm (#a:_) (#eq:_) + (m:CE.cm a eq) + (s0:seq a) + (s1:seq a) + (p:seqperm s0 s1) + : Lemma + (ensures eq.eq (foldm_snoc m s0) (foldm_snoc m s1)) + +/// foldm_snoc_split: This next bit is for a lemma that proves that if +/// if the fold is taken over a sequence of sums, it is equal +/// to a sum of folds of the summand sequences + +(* This constructs a sequence init function to be used to create + a sequence of function values in a given finite integer range *) +let init_func_from_expr #c (#n0: int) (#nk: not_less_than n0) + (expr: ifrom_ito n0 nk -> c) + (a: ifrom_ito n0 nk) + (b: ifrom_ito a nk) + (i: under (closed_interval_size a b)) + : c + = expr (n0+i) + +(* CommMonoid-induced pointwise sum of two functions *) +let func_sum #a #c #eq (cm: CE.cm c eq) (f g: a -> c) + : t:(a -> c){ forall (x:a). t x == f x `cm.mult` g x } + = fun (x:a) -> cm.mult (f x) (g x) + +open FStar.Seq.Equiv + +(* The lemma itself: + if the fold is taken over a sequence of sums, it is equal + to a sum of folds of the summand sequences *) +val foldm_snoc_split (#c:_) (#eq:_) + (cm: CE.cm c eq) + (n0: int) + (nk: not_less_than n0) + (expr1 expr2: (ifrom_ito n0 nk) -> c) + : Lemma (ensures (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr (func_sum cm expr1 expr2) n0 nk)) `eq.eq` + cm.mult (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr1 n0 nk))) + (foldm_snoc cm (init (closed_interval_size n0 nk) (init_func_from_expr expr2 n0 nk))))) + + + +val foldm_snoc_equality (#c:_) (#eq:_) (add: CE.cm c eq) (s t: seq c) + : Lemma (requires length s == length t /\ eq_of_seq eq s t) + (ensures foldm_snoc add s `eq.eq` foldm_snoc add t) + + +val foldm_snoc_split_seq (#c:_) (#eq:_) (add: CE.cm c eq) + (s: seq c) (t: seq c{length s == length t}) + (sum_seq: seq c{length sum_seq == length s}) + (proof: (i: under (length s)) + -> Lemma ((index s i `add.mult` index t i) + `eq.eq` (index sum_seq i))) + : Lemma ((foldm_snoc add s `add.mult` foldm_snoc add t) `eq.eq` + (foldm_snoc add sum_seq)) + +val foldm_snoc_of_equal_inits (#c:_) (#eq:_) (#m: pos) (cm: CE.cm c eq) + (f: (under m) -> c) (g: (under m) -> c) + : Lemma (requires (forall (i: under m). f i `eq.eq` g i)) + (ensures foldm_snoc cm (init m f) `eq.eq` foldm_snoc cm (init m g)) + +(* this one turns out to be quite useful to speed up big proofs *) +let foldm_snoc_decomposition #c #eq (cm: CE.cm c eq) + (s: seq c{length s > 0}) + : Lemma (foldm_snoc cm s == + cm.mult (snd (un_snoc s)) (foldm_snoc cm (fst (un_snoc s)))) = () diff --git a/stage0/ulib/FStar.Seq.Properties.fst b/stage0/ulib/FStar.Seq.Properties.fst new file mode 100644 index 00000000000..d7d564abdbd --- /dev/null +++ b/stage0/ulib/FStar.Seq.Properties.fst @@ -0,0 +1,667 @@ +(* + 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.Seq.Properties + +open FStar.Seq.Base +module Seq = FStar.Seq.Base + +let lemma_append_inj_l #_ s1 s2 t1 t2 i = + assert (index s1 i == (index (append s1 s2) i)); + assert (index t1 i == (index (append t1 t2) i)) + +let lemma_append_inj_r #_ s1 s2 t1 t2 i = + assert (index s2 i == (index (append s1 s2) (i + length s1))); + assert (index t2 i == (index (append t1 t2) (i + length t1))) + +let lemma_append_len_disj #_ s1 s2 t1 t2 = + cut (length (append s1 s2) == length s1 + length s2); + cut (length (append t1 t2) == length t1 + length t2) + +let lemma_append_inj #_ s1 s2 t1 t2 = + lemma_append_len_disj s1 s2 t1 t2; + FStar.Classical.forall_intro #(i:nat{i < length s1}) #(fun i -> index s1 i == index t1 i) (lemma_append_inj_l s1 s2 t1 t2); + FStar.Classical.forall_intro #(i:nat{i < length s2}) #(fun i -> index s2 i == index t2 i) (lemma_append_inj_r s1 s2 t1 t2) + +let lemma_head_append #_ _ _ = () + +let lemma_tail_append #_ s1 s2 = cut (equal (tail (append s1 s2)) (append (tail s1) s2)) + +let lemma_cons_inj #_ v1 v2 s1 s2 = + let t1 = create 1 v1 in + let t2 = create 1 v2 in + lemma_append_inj t1 s1 t2 s2; + assert(index t1 0 == index t2 0) + +let lemma_split #_ s i = + cut (equal (append (fst (split s i)) (snd (split s i))) s) + +let rec mem_index' (#a:eqtype) (x:a) (s:seq a) + : Lemma (requires (mem x s)) + (ensures (exists i. index s i == x)) + (decreases (length s)) + = if length s = 0 then () + else if head s = x then () + else mem_index' x (tail s) + +let mem_index = mem_index' + +let lemma_slice_append #_ _ _ = () + +let rec lemma_slice_first_in_append' (#a:Type) (s1:seq a) (s2:seq a) + (i:nat{i <= length s1}) +: Lemma + (ensures (equal (slice (append s1 s2) i (length (append s1 s2))) (append (slice s1 i (length s1)) s2))) + (decreases (length s1)) += if i = 0 then () + else lemma_slice_first_in_append' (tail s1) s2 (i - 1) + +let lemma_slice_first_in_append = lemma_slice_first_in_append' + +let slice_upd #_ s i j k v = + lemma_eq_intro (slice (upd s k v) i j) (slice s i j) + +let upd_slice #_ s i j k v = + lemma_eq_intro (upd (slice s i j) k v) (slice (upd s (i + k) v) i j) + +let lemma_append_cons #_ _ _ = () + +let lemma_tl #_ _ _ = () + +let rec sorted_feq' (#a:Type) + (f g : (a -> a -> Tot bool)) + (s:seq a{forall x y. f x y == g x y}) + : Lemma (ensures (sorted f s <==> sorted g s)) + (decreases (length s)) + = if length s <= 1 then () + else sorted_feq' f g (tail s) + +let sorted_feq = sorted_feq' + +let rec lemma_append_count' (#a:eqtype) (lo:seq a) (hi:seq a) +: Lemma + (requires True) + (ensures (forall x. count x (append lo hi) = (count x lo + count x hi))) + (decreases (length lo)) += if length lo = 0 + then cut (equal (append lo hi) hi) + else (cut (equal (cons (head lo) (append (tail lo) hi)) + (append lo hi)); + lemma_append_count' (tail lo) hi; + let tl_l_h = append (tail lo) hi in + let lh = cons (head lo) tl_l_h in + cut (equal (tail lh) tl_l_h)) + +let lemma_append_count = lemma_append_count' + +let lemma_append_count_aux #_ _ lo hi = lemma_append_count lo hi + +let lemma_mem_inversion #_ _ = () + +let rec lemma_mem_count' (#a:eqtype) (s:seq a) (f:a -> Tot bool) +: Lemma + (requires (forall (i:nat{i f x)) + (decreases (length s)) += if length s = 0 + then () + else (let t = i:nat{i f:(a -> a -> Tot bool){total_order a f} + -> lo:seq a{sorted f lo} + -> pivot:a + -> hi:seq a{sorted f hi} + -> Lemma (requires (forall y. (mem y lo ==> f y pivot) + /\ (mem y hi ==> f pivot y))) + (ensures (sorted f (append lo (cons pivot hi)))) + (decreases (length lo)) += fun #_ f lo pivot hi -> + if length lo = 0 + then (cut (equal (append lo (cons pivot hi)) (cons pivot hi)); + cut (equal (tail (cons pivot hi)) hi)) + else (sorted_concat_lemma' f (tail lo) pivot hi; + lemma_append_cons lo (cons pivot hi); + lemma_tl (head lo) (append (tail lo) (cons pivot hi))) + +let sorted_concat_lemma = sorted_concat_lemma' + +let split_5 #a s i j = + let frag_lo = slice s 0 i in + let frag_i = slice s i (i + 1) in + let frag_mid = slice s (i + 1) j in + let frag_j = slice s j (j + 1) in + let frag_hi = slice s (j + 1) (length s) in + upd (upd (upd (upd (create 5 frag_lo) 1 frag_i) 2 frag_mid) 3 frag_j) 4 frag_hi + +let lemma_swap_permutes_aux_frag_eq #a s i j i' j' = + cut (equal (slice s i' j') (slice (swap s i j) i' j')); + cut (equal (slice s i (i + 1)) (slice (swap s i j) j (j + 1))); + cut (equal (slice s j (j + 1)) (slice (swap s i j) i (i + 1))) + +#push-options "--z3rlimit 20" +let lemma_swap_permutes_aux #_ s i j x = + if j=i + then cut (equal (swap s i j) s) + else begin + let s5 = split_5 s i j in + let frag_lo, frag_i, frag_mid, frag_j, frag_hi = + index s5 0, index s5 1, index s5 2, index s5 3, index s5 4 in + lemma_append_count_aux x frag_lo (append frag_i (append frag_mid (append frag_j frag_hi))); + lemma_append_count_aux x frag_i (append frag_mid (append frag_j frag_hi)); + lemma_append_count_aux x frag_mid (append frag_j frag_hi); + lemma_append_count_aux x frag_j frag_hi; + + let s' = swap s i j in + let s5' = split_5 s' i j in + let frag_lo', frag_j', frag_mid', frag_i', frag_hi' = + index s5' 0, index s5' 1, index s5' 2, index s5' 3, index s5' 4 in + + lemma_swap_permutes_aux_frag_eq s i j 0 i; + lemma_swap_permutes_aux_frag_eq s i j (i + 1) j; + lemma_swap_permutes_aux_frag_eq s i j (j + 1) (length s); + + lemma_append_count_aux x frag_lo (append frag_j (append frag_mid (append frag_i frag_hi))); + lemma_append_count_aux x frag_j (append frag_mid (append frag_i frag_hi)); + lemma_append_count_aux x frag_mid (append frag_i frag_hi); + lemma_append_count_aux x frag_i frag_hi + 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 + #(fun x -> count x s = count x (swap s i j)) + (lemma_swap_permutes_aux s i j) + +(* perm_len: + A lemma that shows that two sequences that are permutations + of each other also have the same length +*) +//a proof optimization: Z3 only needs to unfold the recursive definition of `count` once +#push-options "--fuel 1 --ifuel 1 --z3rlimit 20" +let rec perm_len' (#a:eqtype) (s1 s2: seq a) + : Lemma (requires (permutation a s1 s2)) + (ensures (length s1 == length s2)) + (decreases (length s1)) + = if length s1 = 0 then begin + if length s2 = 0 then () + else assert (count (index s2 0) s2 > 0) + end + else let s1_hd = head s1 in + let s1_tl = tail s1 in + assert (count s1_hd s1 > 0); + assert (count s1_hd s2 > 0); + assert (length s2 > 0); + let s2_hd = head s2 in + let s2_tl = tail s2 in + if s1_hd = s2_hd + then (assert (permutation a s1_tl s2_tl); perm_len' s1_tl s2_tl) + else let i = index_mem s1_hd s2 in + let s_pfx, s_sfx = split_eq s2 i in + assert (equal s_sfx (append (create 1 s1_hd) (tail s_sfx))); + let s2' = append s_pfx (tail s_sfx) in + lemma_append_count s_pfx s_sfx; + lemma_append_count (create 1 s1_hd) (tail s_sfx); + lemma_append_count s_pfx (tail s_sfx); + assert (permutation a s1_tl s2'); + perm_len' s1_tl s2' +#pop-options + +let perm_len = perm_len' + +let cons_perm #_ tl s = lemma_tl (head s) tl + +let lemma_mem_append #_ s1 s2 = lemma_append_count s1 s2 + +let lemma_slice_cons #_ s i j = + cut (equal (slice s i j) (append (create 1 (index s i)) (slice s (i + 1) j))); + lemma_mem_append (create 1 (index s i)) (slice s (i + 1) j) + +let lemma_slice_snoc #_ s i j = + cut (equal (slice s i j) (append (slice s i (j - 1)) (create 1 (index s (j - 1))))); + lemma_mem_append (slice s i (j - 1)) (create 1 (index s (j - 1))) + +let lemma_ordering_lo_snoc #_ f s i j pv = + cut (equal (slice s i (j + 1)) (append (slice s i j) (create 1 (index s j)))); + lemma_mem_append (slice s i j) (create 1 (index s j)) + +let lemma_ordering_hi_cons #_ f s back len pv = + cut (equal (slice s back len) (append (create 1 (index s back)) (slice s (back + 1) len))); + lemma_mem_append (create 1 (index s back)) (slice s (back + 1) len) + +let swap_frame_lo #_ s lo i j = cut (equal (slice s lo i) (slice (swap s i j) lo i)) + +let swap_frame_lo' #_ s lo i' i j = cut (equal (slice s lo i') (slice (swap s i j) lo i')) + +let swap_frame_hi #_ s i j k hi = cut (equal (slice s k hi) (slice (swap s i j) k hi)) + +let lemma_swap_slice_commute #_ s start i j len = + cut (equal (slice (swap s i j) start len) (swap (slice s start len) (i - start) (j - start))) + +let lemma_swap_permutes_slice #_ s start i j len = + lemma_swap_slice_commute s start i j len; + lemma_swap_permutes (slice s start len) (i - start) (j - start) + +let splice_refl #_ s i j = cut (equal s (splice s i s j)) + +let lemma_swap_splice #_ s start i j len = cut (equal (swap s i j) (splice s start (swap s i j) len)) + +let lemma_seq_frame_hi #_ s1 s2 i j m n = + cut (equal (slice s1 m n) (slice s2 m n)) + +let lemma_seq_frame_lo #_ s1 s2 i j m n = + cut (equal (slice s1 i j) (slice s2 i j)) + +let lemma_tail_slice #_ s i j = + cut (equal (tail (slice s i j)) (slice s (i + 1) j)) + +let lemma_weaken_frame_right #_ s1 s2 i j k = cut (equal s1 (splice s2 i s1 k)) + +let lemma_weaken_frame_left #_ s1 s2 i j k = cut (equal s1 (splice s2 i s1 k)) + +let lemma_trans_frame #_ s1 s2 s3 i j = cut (equal s1 (splice s3 i s1 j)) + +let lemma_weaken_perm_left #_ s1 s2 i j k = + cut (equal (slice s2 i k) (append (slice s2 i j) + (slice s2 j k))); + cut (equal (slice s1 i k) (append (slice s2 i j) + (slice s1 j k))); + lemma_append_count (slice s2 i j) (slice s2 j k); + lemma_append_count (slice s2 i j) (slice s1 j k) + +let lemma_weaken_perm_right #_ s1 s2 i j k = + cut (equal (slice s2 i k) (append (slice s2 i j) + (slice s2 j k))); + cut (equal (slice s1 i k) (append (slice s1 i j) + (slice s2 j k))); + lemma_append_count (slice s2 i j) (slice s2 j k); + lemma_append_count (slice s1 i j) (slice s2 j k) + +let lemma_trans_perm #_ _ _ _ _ _ = () + + +let lemma_cons_snoc #_ _ _ _ = () + +let lemma_tail_snoc #_ s x = lemma_slice_first_in_append s (Seq.create 1 x) 1 + +let lemma_snoc_inj #_ s1 s2 v1 v2 = + let t1 = create 1 v1 in + let t2 = create 1 v2 in + lemma_append_inj s1 t1 s2 t2; + assert(head t1 == head t2) + +let lemma_mem_snoc #_ s x = lemma_append_count s (Seq.create 1 x) + +let rec find_append_some': #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (Some? (find_l f s1))) + (ensures (find_l f (append s1 s2) == find_l f s1)) + (decreases (length s1)) += fun #_ s1 s2 f -> + if f (head s1) then () + else + let _ = cut (equal (tail (append s1 s2)) (append (tail s1) s2)) in + find_append_some' (tail s1) s2 f + +let find_append_some = find_append_some' + +let rec find_append_none': #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (None? (find_l f s1))) + (ensures (find_l f (append s1 s2) == find_l f s2)) + (decreases (length s1)) += fun #_ s1 s2 f -> + if Seq.length s1 = 0 then cut (equal (append s1 s2) s2) + else + let _ = cut (equal (tail (append s1 s2)) (append (tail s1) s2)) in + find_append_none' (tail s1) s2 f + +let find_append_none = find_append_none' + +let rec find_append_none_s2': #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (None? (find_l f s2))) + (ensures (find_l f (append s1 s2) == find_l f s1)) + (decreases (length s1)) += fun #_ s1 s2 f -> + if Seq.length s1 = 0 then cut (equal (append s1 s2) s2) + else if f (head s1) then () + else begin + find_append_none_s2' (tail s1) s2 f; + cut (equal (tail (append s1 s2)) (append (tail s1) s2)) + end + +let find_append_none_s2 = find_append_none_s2' + +let find_snoc #_ s x f = + if Some? (find_l f s) then find_append_some s (Seq.create 1 x) f + else find_append_none s (Seq.create 1 x) f + +let un_snoc_snoc #_ s x = + let s', x = un_snoc (snoc s x) in + assert (Seq.equal s s') + +let find_mem #_ s f x + = match seq_find f s with + | None -> mem_index x s + | Some _ -> () + +let rec seq_mem_k': #a:eqtype -> s:seq a -> n:nat{n < Seq.length s} -> + Lemma (requires True) + (ensures (mem (Seq.index s n) s)) + (decreases n) += fun #_ s n -> + if n = 0 then () + else let tl = tail s in + seq_mem_k' tl (n - 1) + +let seq_mem_k = seq_mem_k' + +module L = FStar.List.Tot + +let lemma_seq_of_list_induction #_ l + = match l with + | [] -> () + | hd::tl -> lemma_tl hd (seq_of_list tl) + +let rec lemma_seq_list_bij': #a:Type -> s:seq a -> Lemma + (requires (True)) + (ensures (seq_of_list (seq_to_list s) == s)) + (decreases (length s)) += fun #_ s -> + let l = seq_to_list s in + lemma_seq_of_list_induction l; + if length s = 0 then ( + assert (equal s (seq_of_list l)) + ) + else ( + lemma_seq_list_bij' (slice s 1 (length s)); + assert (equal s (seq_of_list (seq_to_list s))) + ) + +let lemma_seq_list_bij = lemma_seq_list_bij' + +let rec lemma_list_seq_bij': #a:Type -> l:list a -> Lemma + (requires (True)) + (ensures (seq_to_list (seq_of_list l) == l)) + (decreases (L.length l)) += fun #_ l -> + lemma_seq_of_list_induction l; + if L.length l = 0 then () + else ( + lemma_list_seq_bij' (L.tl l); + assert(equal (seq_of_list (L.tl l)) (slice (seq_of_list l) 1 (length (seq_of_list l)))) + ) + +let lemma_list_seq_bij = lemma_list_seq_bij' + +let rec lemma_index_is_nth': #a:Type -> s:seq a -> i:nat{i < length s} -> Lemma + (requires True) + (ensures (L.index (seq_to_list s) i == index s i)) + (decreases i) += fun #_ s i -> + assert (s `equal` cons (head s) (tail s)); + if i = 0 then () + else ( + lemma_index_is_nth' (slice s 1 (length s)) (i-1) + ) + +let lemma_index_is_nth = lemma_index_is_nth' + +let contains #a s x = + exists (k:nat). k < Seq.length s /\ Seq.index s k == x + +let contains_intro #_ _ _ _ = () + +let contains_elim #_ _ _ = () + +let lemma_contains_empty #_ = () + +let lemma_contains_singleton #_ _ = () + +private let intro_append_contains_from_disjunction (#a:Type) (s1:seq a) (s2:seq a) (x:a) + : Lemma (requires s1 `contains` x \/ s2 `contains` x) + (ensures (append s1 s2) `contains` x) + = let open FStar.Classical in + let open FStar.Squash in + or_elim #(s1 `contains` x) #(s2 `contains` x) #(fun _ -> (append s1 s2) `contains` x) + (fun _ -> ()) + (fun _ -> let s = append s1 s2 in + exists_elim (s `contains` x) (get_proof (s2 `contains` x)) (fun k -> + assert (Seq.index s (Seq.length s1 + k) == x))) + +let append_contains_equiv #_ s1 s2 x + = FStar.Classical.move_requires (intro_append_contains_from_disjunction s1 s2) x + +let contains_snoc #_ s x = + FStar.Classical.forall_intro (append_contains_equiv s (Seq.create 1 x)) + +let rec lemma_find_l_contains' (#a:Type) (f:a -> Tot bool) (l:seq a) + : Lemma (requires True) (ensures Some? (find_l f l) ==> l `contains` (Some?.v (find_l f l))) + (decreases (Seq.length l)) + = if length l = 0 then () + else if f (head l) then () + else lemma_find_l_contains' f (tail l) + +let lemma_find_l_contains = lemma_find_l_contains' + +let contains_cons #_ hd tl x + = append_contains_equiv (Seq.create 1 hd) tl x + +let append_cons_snoc #_ _ _ _ = () + +let append_slices #_ _ _ = () + +let rec find_l_none_no_index' (#a:Type) (s:Seq.seq a) (f:(a -> Tot bool)) : + Lemma (requires (None? (find_l f s))) + (ensures (forall (i:nat{i < Seq.length s}). not (f (Seq.index s i)))) + (decreases (Seq.length s)) += if Seq.length s = 0 + then () + else (assert (not (f (head s))); + assert (None? (find_l f (tail s))); + find_l_none_no_index' (tail s) f; + assert (Seq.equal s (cons (head s) (tail s))); + find_append_none (create 1 (head s)) (tail s) f) + +let find_l_none_no_index = find_l_none_no_index' + +let cons_head_tail #_ s = + let _ : squash (slice s 0 1 == create 1 (index s 0)) = + lemma_index_slice s 0 1 0; + lemma_index_create 1 (index s 0) 0; + lemma_eq_elim (slice s 0 1) (create 1 (index s 0)) + in + lemma_split s 1 + +let head_cons #_ _ _ = () + +let suffix_of_tail #_ s = cons_head_tail s + +let index_cons_l #_ _ _ = () + +let index_cons_r #_ _ _ _ = () + +let append_cons #_ c s1 s2 = lemma_eq_elim (append (cons c s1) s2) (cons c (append s1 s2)) + +let index_tail #_ _ _ = () + +let mem_cons #_ x s = lemma_append_count (create 1 x) s + +let snoc_slice_index #_ s i j = lemma_eq_elim (snoc (slice s i j) (index s j)) (slice s i (j + 1)) + +let cons_index_slice #_ s i j _ = lemma_eq_elim (cons (index s i) (slice s (i + 1) j)) (slice s i j) + +let slice_is_empty #_ s i = lemma_eq_elim (slice s i i) Seq.empty + +let slice_length #_ s = lemma_eq_elim (slice s 0 (length s)) s + +let slice_slice #_ s i1 j1 i2 j2 = lemma_eq_elim (slice (slice s i1 j1) i2 j2) (slice s (i1 + i2) (i1 + j2)) + +let rec lemma_seq_of_list_index #_ l i + = lemma_seq_of_list_induction l; + match l with + | [] -> () + | hd::tl -> if i = 0 then () else lemma_seq_of_list_index tl (i - 1) + +let seq_of_list_tl #_ l = lemma_seq_of_list_induction l + +let rec mem_seq_of_list #_ x l += lemma_seq_of_list_induction l; + match l with + | [] -> () + | y :: q -> + let _ : squash (head (seq_of_list l) == y) = () in + let _ : squash (tail (seq_of_list l) == seq_of_list q) = seq_of_list_tl l in + let _ : squash (mem x (seq_of_list l) == (x = y || mem x (seq_of_list q))) = + lemma_mem_inversion (seq_of_list l) + in + mem_seq_of_list x q + +let rec intro_of_list'': #a:Type -> + i:nat -> + s:seq a -> + l:list a -> + Lemma + (requires ( + List.Tot.length l + i = length s /\ + i <= length s /\ + explode_and i s l)) + (ensures ( + equal (seq_of_list l) (slice s i (length s)))) + (decreases ( + List.Tot.length l)) += fun #_ i s l -> + lemma_seq_of_list_induction l; + match l with + | [] -> () + | hd :: tl -> intro_of_list'' (i + 1) s tl + +let intro_of_list' = intro_of_list'' + +let intro_of_list #_ s l = intro_of_list' 0 s l + +#push-options "--z3rlimit 20" +let rec elim_of_list'': #a:Type -> + i:nat -> + s:seq a -> + l:list a -> + Lemma + (requires ( + List.Tot.length l + i = length s /\ + i <= length s /\ + slice s i (length s) == seq_of_list l)) + (ensures ( + explode_and i s l)) + (decreases ( + List.Tot.length l)) += fun #_ i s l -> + match l with + | [] -> () + | hd :: tl -> + lemma_seq_of_list_induction l; + elim_of_list'' (i + 1) s tl +#pop-options + +let elim_of_list' = elim_of_list'' + +let elim_of_list #_ l = elim_of_list' 0 (seq_of_list l) l + +let rec lemma_seq_to_list_permutation' (#a:eqtype) (s:seq a) + :Lemma (requires True) (ensures (forall x. count x s == List.Tot.Base.count x (seq_to_list s))) (decreases (length s)) + = if length s > 0 then ( + assert (equal s (cons (head s) (tail s))); + lemma_seq_to_list_permutation' (slice s 1 (length s)) + ) + +let lemma_seq_to_list_permutation = lemma_seq_to_list_permutation' + +let rec lemma_seq_of_list_permutation #a l + = + lemma_seq_of_list_induction l; + match l with + | [] -> () + | _::tl -> lemma_seq_of_list_permutation tl + +let rec lemma_seq_of_list_sorted #a f l + = + lemma_seq_of_list_induction l; + if List.Tot.length l > 1 then begin + lemma_seq_of_list_induction (List.Tot.Base.tl l); + lemma_seq_of_list_sorted f (List.Tot.Base.tl l) + end + + +let lemma_seq_sortwith_correctness #_ f s + = let l = seq_to_list s in + let l' = List.Tot.Base.sortWith f l in + let s' = seq_of_list l' in + let cmp = List.Tot.Base.bool_of_compare f in + + (* sortedness *) + List.Tot.Properties.sortWith_sorted f l; //the list returned by List.sortWith is sorted + lemma_seq_of_list_sorted cmp l'; //seq_of_list preserves sortedness + + (* permutation *) + lemma_seq_to_list_permutation s; //seq_to_list is a permutation + List.Tot.Properties.sortWith_permutation f l; //List.sortWith is a permutation + lemma_seq_of_list_permutation l' //seq_of_list is a permutation + + +(****** Seq map ******) + +let rec map_seq #a #b f s : Tot (Seq.seq b) (decreases Seq.length s) = + if Seq.length s = 0 + then Seq.empty + else let hd, tl = head s, tail s in + cons (f hd) (map_seq f tl) + +let rec map_seq_len #a #b f s + : Lemma (ensures Seq.length (map_seq f s) == Seq.length s) (decreases Seq.length s) + = if Seq.length s = 0 + then () + else map_seq_len f (tail s) + +let rec map_seq_index #a #b f s i + : Lemma (ensures (map_seq_len f s; Seq.index (map_seq f s) i == f (Seq.index s i))) (decreases Seq.length s) + = map_seq_len f s; + if Seq.length s = 0 + then () + else if i = 0 + then () + else map_seq_index f (tail s) (i-1) + +let map_seq_append #a #b f s1 s2 = + map_seq_len f s1; + map_seq_len f s2; + map_seq_len f (Seq.append s1 s2); + Classical.forall_intro (map_seq_index f s1); + Classical.forall_intro (map_seq_index f s2); + Classical.forall_intro (map_seq_index f (Seq.append s1 s2)); + assert (Seq.equal (map_seq f (Seq.append s1 s2)) + (Seq.append (map_seq f s1) (map_seq f s2))) diff --git a/stage0/ulib/FStar.Seq.Properties.fsti b/stage0/ulib/FStar.Seq.Properties.fsti new file mode 100644 index 00000000000..0f5bb3513e6 --- /dev/null +++ b/stage0/ulib/FStar.Seq.Properties.fsti @@ -0,0 +1,762 @@ +(* + 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.Seq.Properties + +open FStar.Seq.Base +module Seq = FStar.Seq.Base + +let lseq (a: Type) (l: nat) : Tot Type = + s: Seq.seq a { Seq.length s == l } + +let indexable (#a:Type) (s:Seq.seq a) (j:int) = 0 <= j /\ j < Seq.length s + +val lemma_append_inj_l: #a:Type -> s1:seq a -> s2:seq a -> t1:seq a -> t2:seq a{length s1 = length t1 /\ equal (append s1 s2) (append t1 t2)} -> i:nat{i < length s1} + -> Lemma (index s1 i == index t1 i) + +val lemma_append_inj_r: #a:Type -> s1:seq a -> s2:seq a -> t1:seq a -> t2:seq a{length s1 = length t1 /\ length s2 = length t2 /\ equal (append s1 s2) (append t1 t2)} -> i:nat{i < length s2} + -> Lemma (ensures (index s2 i == index t2 i)) + +val lemma_append_len_disj: #a:Type -> s1:seq a -> s2:seq a -> t1:seq a -> t2:seq a {(length s1 = length t1 \/ length s2 = length t2) /\ (equal (append s1 s2) (append t1 t2))} + -> Lemma (ensures (length s1 = length t1 /\ length s2 = length t2)) + +val lemma_append_inj: #a:Type -> s1:seq a -> s2:seq a -> t1:seq a -> t2:seq a {length s1 = length t1 \/ length s2 = length t2} + -> Lemma (requires (equal (append s1 s2) (append t1 t2))) + (ensures (equal s1 t1 /\ equal s2 t2)) + +let head (#a:Type) (s:seq a{length s > 0}) : Tot a = index s 0 + +let tail (#a:Type) (s:seq a{length s > 0}) : Tot (seq a) = slice s 1 (length s) + +val lemma_head_append: #a:Type -> s1:seq a{length s1 > 0} -> s2:seq a -> Lemma + (head (append s1 s2) == head s1) + +val lemma_tail_append: #a:Type -> s1:seq a{length s1 > 0} -> s2:seq a -> Lemma + (tail (append s1 s2) == append (tail s1) s2) + +let last (#a:Type) (s:seq a{length s > 0}) : Tot a = index s (length s - 1) + +val lemma_cons_inj: #a:Type -> v1:a -> v2:a -> s1:seq a -> s2:seq a + -> Lemma (requires (equal (cons v1 s1) (cons v2 s2))) + (ensures (v1 == v2 /\ equal s1 s2)) + +let split (#a:Type) (s:seq a) (i:nat{(0 <= i /\ i <= length s)}) : Tot (seq a & seq a) + = slice s 0 i, slice s i (length s) + +val lemma_split : #a:Type -> s:seq a -> i:nat{(0 <= i /\ i <= length s)} -> Lemma + (ensures (append (fst (split s i)) (snd (split s i)) == s)) + +let split_eq (#a:Type) (s:seq a) (i:nat{(0 <= i /\ i <= length s)}) +: Pure + (seq a & seq a) + (requires True) + (ensures (fun x -> (append (fst x) (snd x) == s))) += let x = split s i in + lemma_split s i; + x + +let rec count (#a:eqtype) (x:a) (s:seq a) : Tot nat (decreases (length s)) += if length s = 0 then 0 + else if head s = x + then 1 + count x (tail s) + else count x (tail s) + +let mem (#a:eqtype) (x:a) (l:seq a) : Tot bool = count x l > 0 + +val mem_index (#a:eqtype) (x:a) (s:seq a) + : Lemma (requires (mem x s)) + (ensures (exists i. index s i == x)) + +(* index_mem: + A utility function that finds the first index of + `x` in `s`, given that we know the `x` is actually contained in `s` *) +let rec index_mem (#a:eqtype) (x:a) (s:seq a) + : Pure nat + (requires (mem x s)) + (ensures (fun i -> i < length s /\ index s i == x)) + (decreases (length s)) + = if head s = x then 0 + else 1 + index_mem x (tail s) + +let swap (#a:Type) (s:seq a) (i:nat{i s1:seq a{length s1 >= 1} -> s2:seq a -> Lemma + (ensures (equal (append s1 s2) (append (slice s1 0 1) (append (slice s1 1 (length s1)) s2)))) + +val lemma_slice_first_in_append: #a:Type -> s1:seq a -> s2:seq a -> i:nat{i <= length s1} -> Lemma + (ensures (equal (slice (append s1 s2) i (length (append s1 s2))) (append (slice s1 i (length s1)) s2))) + +val slice_upd: #a:Type -> s:seq a -> i:nat -> j:nat{i <= j /\ j <= length s} + -> k:nat{k < length s} -> v:a -> Lemma + (requires k < i \/ j <= k) + (ensures slice (upd s k v) i j == slice s i j) + [SMTPat (slice (upd s k v) i j)] + +val upd_slice: #a:Type -> s:seq a -> i:nat -> j:nat{i <= j /\ j <= length s} + -> k:nat{k < j - i} -> v:a -> Lemma + (requires i + k < j) + (ensures upd (slice s i j) k v == slice (upd s (i + k) v) i j) + [SMTPat (upd (slice s i j) k v)] + +// TODO: should be renamed cons_head_append, or something like that (because it is NOT related to (append (cons _ _) _)) +val lemma_append_cons: #a:Type -> s1:seq a{length s1 > 0} -> s2:seq a -> Lemma + (requires True) + (ensures (equal (append s1 s2) (cons (head s1) (append (tail s1) s2)))) + +val lemma_tl: #a:Type -> hd:a -> tl:seq a -> Lemma + (ensures (equal (tail (cons hd tl)) tl)) + +let rec sorted (#a:Type) (f:a -> a -> Tot bool) (s:seq a) +: Tot bool (decreases (length s)) += if length s <= 1 + then true + else let hd = head s in + f hd (index s 1) && sorted f (tail s) + +val sorted_feq (#a:Type) + (f g : (a -> a -> Tot bool)) + (s:seq a{forall x y. f x y == g x y}) + : Lemma (ensures (sorted f s <==> sorted g s)) + + +val lemma_append_count: #a:eqtype -> lo:seq a -> hi:seq a -> Lemma + (requires True) + (ensures (forall x. count x (append lo hi) = (count x lo + count x hi))) + +val lemma_append_count_aux: #a:eqtype -> x:a -> lo:seq a -> hi:seq a -> Lemma + (requires True) + (ensures (count x (append lo hi) = (count x lo + count x hi))) + +val lemma_mem_inversion: #a:eqtype -> s:seq a{length s > 0} -> Lemma + (ensures (forall x. mem x s = (x=head s || mem x (tail s)))) + +val lemma_mem_count: #a:eqtype -> s:seq a -> f:(a -> Tot bool) -> Lemma + (requires (forall (i:nat{i f x)) + +val lemma_count_slice: #a:eqtype -> s:seq a -> i:nat{i<=length s} -> Lemma + (requires True) + (ensures (forall x. count x s = count x (slice s 0 i) + count x (slice s i (length s)))) + +type total_order (a:eqtype) (f: (a -> a -> Tot bool)) = + (forall a. f a a) (* reflexivity *) + /\ (forall a1 a2. (f a1 a2 /\ a1<>a2) <==> not (f a2 a1)) (* anti-symmetry *) + /\ (forall a1 a2 a3. f a1 a2 /\ f a2 a3 ==> f a1 a3) (* transitivity *) +type tot_ord (a:eqtype) = f:(a -> a -> Tot bool){total_order a f} + +val sorted_concat_lemma: #a:eqtype + -> f:(a -> a -> Tot bool){total_order a f} + -> lo:seq a{sorted f lo} + -> pivot:a + -> hi:seq a{sorted f hi} + -> Lemma (requires (forall y. (mem y lo ==> f y pivot) + /\ (mem y hi ==> f pivot y))) + (ensures (sorted f (append lo (cons pivot hi)))) + +val split_5 : #a:Type -> s:seq a -> i:nat -> j:nat{i < j && j < length s} -> Pure (seq (seq a)) + (requires True) + (ensures (fun x -> + (length x = 5 + /\ equal s (append (index x 0) (append (index x 1) (append (index x 2) (append (index x 3) (index x 4))))) + /\ equal (index x 0) (slice s 0 i) + /\ equal (index x 1) (slice s i (i+1)) + /\ equal (index x 2) (slice s (i+1) j) + /\ equal (index x 3) (slice s j (j + 1)) + /\ equal (index x 4) (slice s (j + 1) (length s))))) + +val lemma_swap_permutes_aux_frag_eq: #a:Type -> s:seq a -> i:nat{i j:nat{i <= j && j i':nat -> j':nat{i' <= j' /\ j'<=length s /\ + (j < i' //high slice + \/ j' <= i //low slice + \/ (i < i' /\ j' <= j)) //mid slice + } + -> Lemma (ensures (slice s i' j' == slice (swap s i j) i' j' + /\ slice s i (i + 1) == slice (swap s i j) j (j + 1) + /\ slice s j (j + 1) == slice (swap s i j) i (i + 1))) + +val lemma_swap_permutes_aux: #a:eqtype -> s:seq a -> i:nat{i j:nat{i <= j && j x:a -> Lemma + (requires True) + (ensures (count x s = count x (swap s i j))) + +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 tl:seq a -> s:seq a{length s > 0} -> + Lemma (requires (permutation a tl (tail s))) + (ensures (permutation a (cons (head s) tl) s)) + +val lemma_mem_append : #a:eqtype -> s1:seq a -> s2:seq a + -> Lemma (ensures (forall x. mem x (append s1 s2) <==> (mem x s1 || mem x s2))) + +val lemma_slice_cons: #a:eqtype -> s:seq a -> i:nat -> j:nat{i < j && j <= length s} + -> Lemma (ensures (forall x. mem x (slice s i j) <==> (x = index s i || mem x (slice s (i + 1) j)))) + +val lemma_slice_snoc: #a:eqtype -> s:seq a -> i:nat -> j:nat{i < j && j <= length s} + -> Lemma (ensures (forall x. mem x (slice s i j) <==> (x = index s (j - 1) || mem x (slice s i (j - 1))))) + +val lemma_ordering_lo_snoc: #a:eqtype -> f:tot_ord a -> s:seq a -> i:nat -> j:nat{i <= j && j < length s} -> pv:a + -> Lemma (requires ((forall y. mem y (slice s i j) ==> f y pv) /\ f (index s j) pv)) + (ensures ((forall y. mem y (slice s i (j + 1)) ==> f y pv))) + +val lemma_ordering_hi_cons: #a:eqtype -> f:tot_ord a -> s:seq a -> back:nat -> len:nat{back < len && len <= length s} -> pv:a + -> Lemma (requires ((forall y. mem y (slice s (back + 1) len) ==> f pv y) /\ f pv (index s back))) + (ensures ((forall y. mem y (slice s back len) ==> f pv y))) + +val swap_frame_lo : #a:Type -> s:seq a -> lo:nat -> i:nat{lo <= i} -> j:nat{i <= j && j < length s} + -> Lemma (ensures (slice s lo i == slice (swap s i j) lo i)) + +val swap_frame_lo' : #a:Type -> s:seq a -> lo:nat -> i':nat {lo <= i'} -> i:nat{i' <= i} -> j:nat{i <= j && j < length s} + -> Lemma (ensures (slice s lo i' == slice (swap s i j) lo i')) + +val swap_frame_hi : #a:Type -> s:seq a -> i:nat -> j:nat{i <= j} -> k:nat{j < k} -> hi:nat{k <= hi /\ hi <= length s} + -> Lemma (ensures (slice s k hi == slice (swap s i j) k hi)) + +val lemma_swap_slice_commute : #a:Type -> s:seq a -> start:nat -> i:nat{start <= i} -> j:nat{i <= j} -> len:nat{j < len && len <= length s} + -> Lemma (ensures (slice (swap s i j) start len == (swap (slice s start len) (i - start) (j - start)))) + +val lemma_swap_permutes_slice : #a:eqtype -> s:seq a -> start:nat -> i:nat{start <= i} -> j:nat{i <= j} -> len:nat{j < len && len <= length s} + -> Lemma (ensures (permutation a (slice s start len) (slice (swap s i j) start len))) + +(* replaces the [i,j) sub-sequence of s1 with the corresponding sub-sequence of s2 *) +let splice (#a:Type) (s1:seq a) (i:nat) (s2:seq a{length s1=length s2}) (j:nat{i <= j /\ j <= (length s2)}) +: Tot (seq a) += Seq.append (slice s1 0 i) (Seq.append (slice s2 i j) (slice s1 j (length s1))) + +(* replace with sub *) +let replace_subseq (#a:Type0) (s:Seq.seq a) (i:nat) (j:nat{i <= j /\ j <= length s}) (sub:Seq.seq a{length sub == j - i}) :Tot (Seq.seq a) + = Seq.append (Seq.slice s 0 i) (Seq.append sub (Seq.slice s j (Seq.length s))) + +val splice_refl : #a:Type -> s:seq a -> i:nat -> j:nat{i <= j && j <= length s} + -> Lemma + (ensures (s == splice s i s j)) + +val lemma_swap_splice : #a:Type -> s:seq a -> start:nat -> i:nat{start <= i} -> j:nat{i <= j} -> len:nat{j < len && len <= length s} + -> Lemma + (ensures (swap s i j == splice s start (swap s i j) len)) + +val lemma_seq_frame_hi: #a:Type -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat{i <= j} -> m:nat{j <= m} -> n:nat{m < n && n <= length s1} + -> Lemma + (requires (s1 == (splice s2 i s1 j))) + (ensures ((slice s1 m n == slice s2 m n) /\ (index s1 m == index s2 m))) + +val lemma_seq_frame_lo: #a:Type -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat{i <= j} -> m:nat{j < m} -> n:nat{m <= n && n <= length s1} + -> Lemma + (requires (s1 == (splice s2 m s1 n))) + (ensures ((slice s1 i j == slice s2 i j) /\ (index s1 j == index s2 j))) + +val lemma_tail_slice: #a:Type -> s:seq a -> i:nat -> j:nat{i < j && j <= length s} + -> Lemma + (requires True) + (ensures (tail (slice s i j) == slice s (i + 1) j)) + [SMTPat (tail (slice s i j))] + +val lemma_weaken_frame_right : #a:Type -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat -> k:nat{i <= j && j <= k && k <= length s1} + -> Lemma + (requires (s1 == splice s2 i s1 j)) + (ensures (s1 == splice s2 i s1 k)) + +val lemma_weaken_frame_left : #a:Type -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat -> k:nat{i <= j && j <= k && k <= length s1} + -> Lemma + (requires (s1 == splice s2 j s1 k)) + (ensures (s1 == splice s2 i s1 k)) + +val lemma_trans_frame : #a:Type -> s1:seq a -> s2:seq a -> s3:seq a{length s1 = length s2 /\ length s2 = length s3} -> i:nat -> j:nat{i <= j && j <= length s1} + -> Lemma + (requires ((s1 == splice s2 i s1 j) /\ s2 == splice s3 i s2 j)) + (ensures (s1 == splice s3 i s1 j)) + +val lemma_weaken_perm_left: #a:eqtype -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat -> k:nat{i <= j /\ j <= k /\ k <= length s1} + -> Lemma + (requires (s1 == splice s2 j s1 k /\ permutation a (slice s2 j k) (slice s1 j k))) + (ensures (permutation a (slice s2 i k) (slice s1 i k))) + +val lemma_weaken_perm_right: #a:eqtype -> s1:seq a -> s2:seq a{length s1 = length s2} -> i:nat -> j:nat -> k:nat{i <= j /\ j <= k /\ k <= length s1} + -> Lemma + (requires (s1 == splice s2 i s1 j /\ permutation a (slice s2 i j) (slice s1 i j))) + (ensures (permutation a (slice s2 i k) (slice s1 i k))) + +val lemma_trans_perm: #a:eqtype -> s1:seq a -> s2:seq a -> s3:seq a{length s1 = length s2 /\ length s2 = length s3} -> i:nat -> j:nat{i<=j && j <= length s1} + -> Lemma + (requires (permutation a (slice s1 i j) (slice s2 i j) + /\ permutation a (slice s2 i j) (slice s3 i j))) + (ensures (permutation a (slice s1 i j) (slice s3 i j))) + + +(*New additions, please review*) + +let snoc (#a:Type) (s:seq a) (x:a) : Tot (seq a) = Seq.append s (Seq.create 1 x) + +val lemma_cons_snoc (#a:Type) (hd:a) (s:Seq.seq a) (tl:a) + : Lemma (requires True) + (ensures (Seq.equal (cons hd (snoc s tl)) + (snoc (cons hd s) tl))) + +val lemma_tail_snoc: #a:Type -> s:Seq.seq a{Seq.length s > 0} -> x:a + -> Lemma (ensures (tail (snoc s x) == snoc (tail s) x)) + +val lemma_snoc_inj: #a:Type -> s1:seq a -> s2:seq a -> v1:a -> v2:a + -> Lemma (requires (equal (snoc s1 v1) (snoc s2 v2))) + (ensures (v1 == v2 /\ equal s1 s2)) + +val lemma_mem_snoc : #a:eqtype -> s:Seq.seq a -> x:a -> + Lemma (ensures (forall y. mem y (snoc s x) <==> mem y s \/ x=y)) + +let rec find_l (#a:Type) (f:a -> Tot bool) (l:seq a) +: Tot (o:option a{Some? o ==> f (Some?.v o)}) + (decreases (Seq.length l)) += if Seq.length l = 0 then None + else if f (head l) then Some (head l) + else find_l f (tail l) + +let rec ghost_find_l (#a:Type) (f:a -> GTot bool) (l:seq a) +: GTot (o:option a{Some? o ==> f (Some?.v o)}) + (decreases (Seq.length l)) += if Seq.length l = 0 then None + else if f (head l) then Some (head l) + else ghost_find_l f (tail l) + +val find_append_some: #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (Some? (find_l f s1))) + (ensures (find_l f (append s1 s2) == find_l f s1)) + +val find_append_none: #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (None? (find_l f s1))) + (ensures (find_l f (append s1 s2) == find_l f s2)) + +val find_append_none_s2: #a:Type -> s1:seq a -> s2:seq a -> f:(a -> Tot bool) -> Lemma + (requires (None? (find_l f s2))) + (ensures (find_l f (append s1 s2) == find_l f s1)) + +val find_snoc: #a:Type -> s:Seq.seq a -> x:a -> f:(a -> Tot bool) + -> Lemma (ensures (let res = find_l f (snoc s x) in + match res with + | None -> find_l f s == None /\ not (f x) + | Some y -> res == find_l f s \/ (f x /\ x==y))) + +let un_snoc (#a:Type) (s:seq a{length s <> 0}) : Tot (r:(seq a & a){s == snoc (fst r) (snd r)}) = + let s', a = split s (length s - 1) in + assert (Seq.equal (snoc s' (Seq.index a 0)) s); + s', Seq.index a 0 + +val un_snoc_snoc (#a:Type) (s:seq a) (x:a) : Lemma (un_snoc (snoc s x) == (s, x)) + +let rec find_r (#a:Type) (f:a -> Tot bool) (l:seq a) +: Tot (o:option a{Some? o ==> f (Some?.v o)}) + (decreases (Seq.length l)) += if Seq.length l = 0 then None + else let prefix, last = un_snoc l in + if f last then Some last + else find_r f prefix + +type found (i:nat) = True + +let rec seq_find_aux (#a:Type) (f:a -> Tot bool) (l:seq a) (ctr:nat{ctr <= Seq.length l}) +: Pure (option a) + (requires (forall (i:nat{ i < Seq.length l /\ i >= ctr}). + not (f (Seq.index l i) ))) + (ensures (function + | None -> forall (i:nat{i < Seq.length l}). not (f (Seq.index l i)) + | Some x -> f x /\ (exists (i:nat{i < Seq.length l}). {:pattern (found i)} + found i /\ x == Seq.index l i))) += match ctr with + | 0 -> None + | _ -> let i = ctr - 1 in + if f (Seq.index l i) + then ( + cut (found i); + Some (Seq.index l i)) + else seq_find_aux f l i + +let seq_find (#a:Type) (f:a -> Tot bool) (l:seq a) +: Pure (option a) + (requires True) + (ensures (function + | None -> forall (i:nat{i < Seq.length l}). not (f (Seq.index l i)) + | Some x -> f x /\ (exists (i:nat{i < Seq.length l}).{:pattern (found i)} + found i /\ x == Seq.index l i))) += seq_find_aux f l (Seq.length l) + +val find_mem (#a:eqtype) (s:seq a) (f:a -> Tot bool) (x:a{f x}) + : Lemma (requires (mem x s)) + (ensures (Some? (seq_find f s) /\ f (Some?.v (seq_find f s)))) + +let for_all + (#a: Type) + (f: (a -> Tot bool)) + (l: seq a) +: Pure bool + (requires True) + (ensures (fun b -> (b == true <==> (forall (i: nat {i < Seq.length l} ) . f (index l i) == true)))) += None? (seq_find (fun i -> not (f i)) l) + +val seq_mem_k: #a:eqtype -> s:seq a -> n:nat{n < Seq.length s} -> + Lemma (requires True) + (ensures (mem (Seq.index s n) s)) + [SMTPat (mem (Seq.index s n) s)] + +module L = FStar.List.Tot + +val lemma_seq_of_list_induction (#a:Type) (l:list a) + :Lemma (requires True) + (ensures (let s = seq_of_list l in + match l with + | [] -> Seq.equal s empty + | hd::tl -> s == cons hd (seq_of_list tl) /\ + head s == hd /\ tail s == (seq_of_list tl))) + +val lemma_seq_list_bij: #a:Type -> s:seq a -> Lemma + (requires (True)) + (ensures (seq_of_list (seq_to_list s) == s)) + +val lemma_list_seq_bij: #a:Type -> l:list a -> Lemma + (requires (True)) + (ensures (seq_to_list (seq_of_list l) == l)) + +unfold let createL_post (#a:Type0) (l:list a) (s:seq a) : GTot Type0 = + normalize (L.length l = length s) /\ seq_to_list s == l /\ seq_of_list l == s + +let createL (#a:Type0) (l:list a) +: Pure (seq a) + (requires True) + (ensures (fun s -> createL_post #a l s)) += let s = seq_of_list l in + lemma_list_seq_bij l; + s + +val lemma_index_is_nth: #a:Type -> s:seq a -> i:nat{i < length s} -> Lemma + (requires True) + (ensures (L.index (seq_to_list s) i == index s i)) + +//////////////////////////////////////////////////////////////////////////////// +//s `contains` x : Type0 +// An undecidable version of `mem`, +// for when the sequence payload is not an eqtype +//////////////////////////////////////////////////////////////////////////////// +[@@ remove_unused_type_parameters [0; 1; 2]] +val contains (#a:Type) (s:seq a) (x:a) : Tot Type0 + +val contains_intro (#a:Type) (s:seq a) (k:nat) (x:a) + : Lemma (k < Seq.length s /\ Seq.index s k == x + ==> + s `contains` x) + +val contains_elim (#a:Type) (s:seq a) (x:a) + : Lemma (s `contains` x + ==> + (exists (k:nat). k < Seq.length s /\ Seq.index s k == x)) + +val lemma_contains_empty (#a:Type) : Lemma (forall (x:a). ~ (contains Seq.empty x)) + +val lemma_contains_singleton (#a:Type) (x:a) : Lemma (forall (y:a). contains (create 1 x) y ==> y == x) + +val append_contains_equiv (#a:Type) (s1:seq a) (s2:seq a) (x:a) + : Lemma ((append s1 s2) `contains` x + <==> + (s1 `contains` x \/ s2 `contains` x)) + +val contains_snoc : #a:Type -> s:Seq.seq a -> x:a -> + Lemma (ensures (forall y. (snoc s x) `contains` y <==> s `contains` y \/ x==y)) + +val lemma_find_l_contains (#a:Type) (f:a -> Tot bool) (l:seq a) + : Lemma (requires True) (ensures Some? (find_l f l) ==> l `contains` (Some?.v (find_l f l))) + +val contains_cons (#a:Type) (hd:a) (tl:Seq.seq a) (x:a) + : Lemma ((cons hd tl) `contains` x + <==> + (x==hd \/ tl `contains` x)) + +val append_cons_snoc (#a:Type) (u: Seq.seq a) (x:a) (v:Seq.seq a) + : Lemma (Seq.equal (Seq.append u (cons x v)) + (Seq.append (snoc u x) v)) + +val append_slices (#a:Type) (s1:Seq.seq a) (s2:Seq.seq a) + : Lemma ( Seq.equal s1 (Seq.slice (Seq.append s1 s2) 0 (Seq.length s1)) /\ + Seq.equal s2 (Seq.slice (Seq.append s1 s2) (Seq.length s1) (Seq.length s1 + Seq.length s2)) /\ + (forall (i:nat) (j:nat). + i <= j /\ j <= Seq.length s2 ==> + Seq.equal (Seq.slice s2 i j) + (Seq.slice (Seq.append s1 s2) (Seq.length s1 + i) (Seq.length s1 + j)))) + + +val find_l_none_no_index (#a:Type) (s:Seq.seq a) (f:(a -> Tot bool)) : + Lemma (requires (None? (find_l f s))) + (ensures (forall (i:nat{i < Seq.length s}). not (f (Seq.index s i)))) + (decreases (Seq.length s)) + +(** More properties, with new naming conventions *) + +let suffix_of + (#a: Type) + (s_suff s: seq a) += exists s_pref . (s == append s_pref s_suff) + +val cons_head_tail + (#a: Type) + (s: seq a {length s > 0}) +: Lemma + (requires True) + (ensures (s == cons (head s) (tail s))) + [SMTPat (cons (head s) (tail s))] + +val head_cons + (#a: Type) + (x: a) + (s: seq a) +: Lemma + (ensures (head (cons x s) == x)) + +val suffix_of_tail + (#a: Type) + (s: seq a {length s > 0}) +: Lemma + (requires True) + (ensures ((tail s) `suffix_of` s)) + [SMTPat ((tail s) `suffix_of` s)] + +val index_cons_l + (#a: Type) + (c: a) + (s: seq a) +: Lemma + (ensures (index (cons c s) 0 == c)) + +val index_cons_r + (#a: Type) + (c: a) + (s: seq a) + (i: nat {1 <= i /\ i <= length s}) +: Lemma + (ensures (index (cons c s) i == index s (i - 1))) + +val append_cons + (#a: Type) + (c: a) + (s1 s2: seq a) +: Lemma + (ensures (append (cons c s1) s2 == cons c (append s1 s2))) + +val index_tail + (#a: Type) + (s: seq a {length s > 0}) + (i: nat {i < length s - 1} ) +: Lemma + (ensures (index (tail s) i == index s (i + 1))) + +val mem_cons + (#a:eqtype) + (x:a) + (s:seq a) +: Lemma + (ensures (forall y. mem y (cons x s) <==> mem y s \/ x=y)) + +val snoc_slice_index + (#a: Type) + (s: seq a) + (i: nat) + (j: nat {i <= j /\ j < length s} ) +: Lemma + (requires True) + (ensures (snoc (slice s i j) (index s j) == slice s i (j + 1))) + [SMTPat (snoc (slice s i j) (index s j))] + +val cons_index_slice + (#a: Type) + (s: seq a) + (i: nat) + (j: nat {i < j /\ j <= length s} ) + (k:nat{k == i+1}) +: Lemma + (requires True) + (ensures (cons (index s i) (slice s k j) == slice s i j)) + [SMTPat (cons (index s i) (slice s k j))] + +val slice_is_empty + (#a: Type) + (s: seq a) + (i: nat {i <= length s}) +: Lemma + (requires True) + (ensures (slice s i i == Seq.empty)) + [SMTPat (slice s i i)] + +val slice_length + (#a: Type) + (s: seq a) +: Lemma + (requires True) + (ensures (slice s 0 (length s) == s)) + [SMTPat (slice s 0 (length s))] + +val slice_slice + (#a: Type) + (s: seq a) + (i1: nat) + (j1: nat {i1 <= j1 /\ j1 <= length s} ) + (i2: nat) + (j2: nat {i2 <= j2 /\ j2 <= j1 - i1} ) +: Lemma + (requires True) + (ensures (slice (slice s i1 j1) i2 j2 == slice s (i1 + i2) (i1 + j2))) + [SMTPat (slice (slice s i1 j1) i2 j2)] + +val lemma_seq_of_list_index (#a:Type) (l:list a) (i:nat{i < List.Tot.length l}) + :Lemma (requires True) + (ensures (index (seq_of_list l) i == List.Tot.index l i)) + [SMTPat (index (seq_of_list l) i)] + +[@@(deprecated "seq_of_list")] +let of_list (#a:Type) (l:list a) :seq a = seq_of_list l + +val seq_of_list_tl + (#a: Type) + (l: list a { List.Tot.length l > 0 } ) +: Lemma + (requires True) + (ensures (seq_of_list (List.Tot.tl l) == tail (seq_of_list l))) + +val mem_seq_of_list + (#a: eqtype) + (x: a) + (l: list a) +: Lemma + (requires True) + (ensures (mem x (seq_of_list l) == List.Tot.mem x l)) + [SMTPat (mem x (seq_of_list l))] + +(** Dealing efficiently with `seq_of_list` by meta-evaluating conjunctions over +an entire list. *) + +let rec explode_and (#a: Type) + (i: nat) + (s: seq a { i <= length s }) + (l: list a { List.Tot.length l + i = length s }): + Tot Type + (decreases (List.Tot.length l)) += match l with + | [] -> True + | hd :: tl -> index s i == hd /\ explode_and (i + 1) s tl + +unfold +let pointwise_and s l = + norm [ iota; zeta; primops; delta_only [ `%(explode_and) ] ] (explode_and 0 s l) + +val intro_of_list': #a:Type -> + i:nat -> + s:seq a -> + l:list a -> + Lemma + (requires ( + List.Tot.length l + i = length s /\ + i <= length s /\ + explode_and i s l)) + (ensures ( + equal (seq_of_list l) (slice s i (length s)))) + +val intro_of_list (#a: Type) (s: seq a) (l: list a): + Lemma + (requires ( + List.Tot.length l = length s /\ + pointwise_and s l)) + (ensures ( + s == seq_of_list l)) + +val elim_of_list': #a:Type -> + i:nat -> + s:seq a -> + l:list a -> + Lemma + (requires ( + List.Tot.length l + i = length s /\ + i <= length s /\ + slice s i (length s) == seq_of_list l)) + (ensures ( + explode_and i s l)) + +val elim_of_list (#a: Type) (l: list a): + Lemma + (ensures ( + let s = seq_of_list l in + pointwise_and s l)) + +(****** sortWith ******) +let sortWith (#a:eqtype) (f:a -> a -> Tot int) (s:seq a) :Tot (seq a) + = seq_of_list (List.Tot.Base.sortWith f (seq_to_list s)) + +val lemma_seq_to_list_permutation (#a:eqtype) (s:seq a) + :Lemma (requires True) (ensures (forall x. count x s == List.Tot.Base.count x (seq_to_list s))) (decreases (length s)) + +val lemma_seq_of_list_permutation (#a:eqtype) (l:list a) + :Lemma (forall x. List.Tot.Base.count x l == count x (seq_of_list l)) + +val lemma_seq_of_list_sorted (#a:Type) (f:a -> a -> Tot bool) (l:list a) + :Lemma (requires (List.Tot.Properties.sorted f l)) (ensures (sorted f (seq_of_list l))) + +val lemma_seq_sortwith_correctness (#a:eqtype) (f:a -> a -> Tot int) (s:seq a) + :Lemma (requires (total_order a (List.Tot.Base.bool_of_compare f))) + (ensures (let s' = sortWith f s in sorted (List.Tot.Base.bool_of_compare f) s' /\ permutation a s s')) + +(* sort_lseq: + A wrapper of Seq.sortWith which proves that the output sequences + is a sorted permutation of the input sequence with the same length +*) +let sort_lseq (#a:eqtype) #n (f:tot_ord a) (s:lseq a n) + : s':lseq a n{sorted f s' /\ permutation a s s'} = + lemma_seq_sortwith_correctness (L.compare_of_bool f) s; + let s' = sortWith (L.compare_of_bool f) s in + perm_len s s'; + sorted_feq f (L.bool_of_compare (L.compare_of_bool f)) s'; + s' + +let rec foldr (#a #b:Type) (f:b -> a -> Tot a) (s:seq b) (init:a) + : Tot a (decreases (length s)) + = if length s = 0 then init + else f (head s) (foldr f (tail s) init) + +let rec foldr_snoc (#a #b:Type) (f:b -> a -> Tot a) (s:seq b) (init:a) + : Tot a (decreases (length s)) + = if length s = 0 then init + else let s, last = un_snoc s in + f last (foldr_snoc f s init) + +(****** Seq map ******) + +val map_seq (#a #b:Type) (f:a -> Tot b) (s:Seq.seq a) : Tot (Seq.seq b) + +val map_seq_len (#a #b:Type) (f:a -> Tot b) (s:Seq.seq a) + : Lemma (ensures Seq.length (map_seq f s) == Seq.length s) + +val map_seq_index (#a #b:Type) (f:a -> Tot b) (s:Seq.seq a) (i:nat{i < Seq.length s}) + : Lemma (ensures (map_seq_len f s; Seq.index (map_seq f s) i == f (Seq.index s i))) + +val map_seq_append (#a #b:Type) (f:a -> Tot b) (s1 s2:Seq.seq a) + : Lemma (ensures (map_seq f (Seq.append s1 s2) == + Seq.append (map_seq f s1) (map_seq f s2))) diff --git a/stage0/ulib/FStar.Seq.Sorted.fst b/stage0/ulib/FStar.Seq.Sorted.fst new file mode 100644 index 00000000000..4289f36638e --- /dev/null +++ b/stage0/ulib/FStar.Seq.Sorted.fst @@ -0,0 +1,128 @@ +(* + 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.Seq.Sorted + +open FStar.Seq + +type sorted_pred (#a:eqtype) (f:tot_ord a) (s:seq a) : Type0 = + forall (i j: (k:nat{k f (index s i) (index s j) + +val sorted_pred_tail : + #a:eqtype -> + f:tot_ord a -> + s:seq a{length s > 0} -> + Lemma (requires (sorted_pred #a f s)) (ensures (sorted_pred #a f (tail s))) +let sorted_pred_tail #a f s = () + +val sorted_pred_sorted_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a -> + Lemma (requires (sorted_pred f s)) (ensures (sorted #a f s == true)) (decreases (length s)) +let rec sorted_pred_sorted_lemma #a f s = + if length s <= 1 then () + else begin + assert (f (index s 0) (index s 1)) ; + sorted_pred_tail #a f s; + sorted_pred_sorted_lemma #a f (tail s) + end + +let intro_sorted_pred (#a:eqtype) (f:tot_ord a) (s:seq a) + ($g:(i:nat{i < length s} -> j:nat{j < length s} -> Lemma (requires (i <= j)) (ensures (f (index s i) (index s j))))) + : Lemma (sorted_pred #a f s) += let aux (i j : (k:nat{k < length s})) (p:squash (i <= j)) : GTot (squash (f (index s i) (index s j))) = + FStar.Squash.give_proof p ; + g i j ; + FStar.Squash.get_proof (f (index s i) (index s j)) + in + FStar.Classical.forall_intro_2 (fun (i j:(k:nat{k < length s})) -> + FStar.Classical.give_witness (FStar.Classical.arrow_to_impl (aux i j)) <: Lemma (i <= j ==> f (index s i) (index s j))) + +val sorted_pred_cons_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a{length s > 1} -> + Lemma (requires (f (index s 0) (index s 1) /\ sorted_pred #a f (tail s))) (ensures (sorted_pred #a f s)) +let sorted_pred_cons_lemma #a f s = + let aux (i j : (k:nat{k < length s})) : Lemma (requires (i <= j)) (ensures (f (index s i) (index s j))) = + if i = 0 then + if j = 0 then () + else assert (f (index s 0) (index (tail s) 0) /\ f (index (tail s) 0) (index (tail s) (j-1))) + else assert (f (index (tail s) (i - 1)) (index (tail s) (j - 1))) + in + intro_sorted_pred #a f s aux + +val sorted_sorted_pred_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a -> + Lemma (requires (sorted #a f s == true)) (ensures (sorted_pred #a f s)) (decreases (length s)) +let rec sorted_sorted_pred_lemma #a f s = + if length s = 0 then () + else if length s = 1 then () + else (sorted_sorted_pred_lemma #a f (tail s) ; sorted_pred_cons_lemma #a f s) + +val sorted_pred_slice_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a -> + i:nat{i < length s} -> + j:nat{i <= j /\ j <= length s} -> + Lemma (requires (sorted_pred #a f s)) (ensures (sorted_pred #a f (slice s i j))) +let sorted_pred_slice_lemma #a f s i j = () + +val sorted_slice_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a -> + i:nat{i < length s} -> + j:nat{i <= j /\ j <= length s} -> + Lemma (requires (sorted #a f s == true)) (ensures (sorted #a f (slice s i j) == true)) +let sorted_slice_lemma #a f s i j = + sorted_sorted_pred_lemma #a f s ; + sorted_pred_slice_lemma #a f s i j ; + sorted_pred_sorted_lemma #a f (slice s i j) + +val sorted_split_lemma : + #a:eqtype -> + f:tot_ord a -> + s:seq a -> + i:nat{i < length s} -> + Lemma (requires (sorted #a f s == true)) + (ensures (let s1, s2 = split s i in sorted #a f s1 == true /\ sorted #a f s2 == true)) +let sorted_split_lemma #a f s i = + sorted_slice_lemma #a f s 0 i ; + sorted_slice_lemma #a f s i (length s) + +val sorted_pred_append_lemma : + #a:eqtype -> + f:tot_ord a -> + s1:seq a -> + s2:seq a -> + Lemma (requires (sorted_pred #a f s1 /\ sorted_pred #a f s2 /\ (length s1 > 0 /\ length s2 > 0 ==> f (last s1) (head s2)))) + (ensures (sorted_pred #a f (append s1 s2))) +let sorted_pred_append_lemma #a f s1 s2 = + let s = append s1 s2 in + let aux (i j:(k:nat{k < length s})) : Lemma (requires (i <= j)) (ensures (f (index s i) (index s j))) = + if i < length s1 then + if j < length s1 then + assert (f (index s1 i) (index s1 j)) + else + (assert (f (index s1 i) (last s1)) ; assert (f (head s2) (index s2 (j - length s1)))) + else + (assert (j >= length s1) ; assert (f (index s2 (i - length s1)) (index s2 (j - length s1)))) + in + intro_sorted_pred #a f s aux diff --git a/stage0/ulib/FStar.Seq.fst b/stage0/ulib/FStar.Seq.fst new file mode 100644 index 00000000000..41a285f4f3b --- /dev/null +++ b/stage0/ulib/FStar.Seq.fst @@ -0,0 +1,18 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Seq +include FStar.Seq.Base +include FStar.Seq.Properties diff --git a/stage0/ulib/FStar.Set.fst b/stage0/ulib/FStar.Set.fst new file mode 100644 index 00000000000..eefca405718 --- /dev/null +++ b/stage0/ulib/FStar.Set.fst @@ -0,0 +1,60 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.Set +(** Computational sets (on eqtypes): membership is a boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" +open FStar.FunctionalExtensionality +module F = FStar.FunctionalExtensionality + +let set (a:eqtype) = F.restricted_t a (fun _ -> bool) + +let equal (#a:eqtype) (s1:set a) (s2:set a) = F.feq s1 s2 + +(* destructors *) + +let mem #a x s = s x + +(* constructors *) +let empty #a = F.on_dom a (fun x -> false) +let singleton #a x = F.on_dom a (fun y -> y = x) +let union #a s1 s2 = F.on_dom a (fun x -> s1 x || s2 x) +let intersect #a s1 s2 = F.on_dom a (fun x -> s1 x && s2 x) +let complement #a s = F.on_dom a (fun x -> not (s x)) +let intension #a f = F.on_dom a f + +(* Properties *) +let mem_empty #a x = () +let mem_singleton #a x y = () +let mem_union #a x s1 s2 = () +let mem_intersect #a x s1 s2 = () +let mem_complement #a x s = () +let mem_intension #a x f = () +let mem_subset #a s1 s2 = () +let subset_mem #a s1 s2 = () + +(* extensionality *) +let lemma_equal_intro #a s1 s2 = () +let lemma_equal_elim #a s1 s2 = () +let lemma_equal_refl #a s1 s2 = () + +let disjoint_not_in_both (a:eqtype) (s1:set a) (s2:set a) : + Lemma + (requires (disjoint s1 s2)) + (ensures (forall (x:a).{:pattern (mem x s1) \/ (mem x s2)} mem x s1 ==> ~(mem x s2))) + [SMTPat (disjoint s1 s2)] += let f (x:a) : Lemma (~(mem x (intersect s1 s2))) = () in + FStar.Classical.forall_intro f diff --git a/stage0/ulib/FStar.Set.fsti b/stage0/ulib/FStar.Set.fsti new file mode 100644 index 00000000000..c9f3a78e02c --- /dev/null +++ b/stage0/ulib/FStar.Set.fsti @@ -0,0 +1,136 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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.Set +(** Computational sets (on eqtypes): membership is a boolean function *) +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +val set (a:eqtype) + : Type0 + +val equal (#a:eqtype) (s1:set a) (s2:set a) + : Type0 + +(* destructors *) + +val mem (#a:eqtype) (x:a) (s:set a) + : Tot bool + +(* constructors *) +val empty (#a:eqtype) + : Tot (set a) + +val singleton (#a:eqtype) (x:a) + : Tot (set a) + +val union : #a:eqtype -> set a -> set a -> Tot (set a) +val intersect : #a:eqtype -> set a -> set a -> Tot (set a) +val complement : #a:eqtype -> set a -> Tot (set a) +val intension : #a:eqtype -> (a -> Tot bool) -> GTot (set a) + +(* Derived functions *) + +let disjoint (#a:eqtype) (s1: set a) (s2: set a) = + equal (intersect s1 s2) empty + +let subset (#a:eqtype) (s1:set a) (s2:set a) = + forall x. mem x s1 ==> mem x s2 + +let add (#a:eqtype) (x:a) (s:set a) : set a = + union s (singleton x) + +let remove (#a:eqtype) (x:a) (s:set a) : set a = + intersect s (complement (singleton x)) + +(* Properties *) +val mem_empty: #a:eqtype -> x:a -> Lemma + (requires True) + (ensures (not (mem x empty))) + [SMTPat (mem x empty)] + +val mem_singleton: #a:eqtype -> x:a -> y:a -> Lemma + (requires True) + (ensures (mem y (singleton x) = (x=y))) + [SMTPat (mem y (singleton x))] + +val mem_union: #a:eqtype -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (union s1 s2) = (mem x s1 || mem x s2))) + [SMTPat (mem x (union s1 s2))] + +val mem_intersect: #a:eqtype -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (intersect s1 s2) = (mem x s1 && mem x s2))) + [SMTPat (mem x (intersect s1 s2))] + +val mem_complement: #a:eqtype -> x:a -> s:set a -> Lemma + (requires True) + (ensures (mem x (complement s) = not (mem x s))) + [SMTPat (mem x (complement s))] + +val mem_intension: #a:eqtype -> x:a -> f:(a -> Tot bool) -> Lemma + (requires True) + (ensures (mem x (intension f) = f x)) + +val mem_subset: #a:eqtype -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 ==> mem x s2)) + (ensures (subset s1 s2)) + [SMTPat (subset s1 s2)] + +val subset_mem: #a:eqtype -> s1:set a -> s2:set a -> Lemma + (requires (subset s1 s2)) + (ensures (forall x. mem x s1 ==> mem x s2)) + [SMTPat (subset s1 s2)] + +(* extensionality *) +val lemma_equal_intro: #a:eqtype -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 = mem x s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_elim: #a:eqtype -> s1:set a -> s2:set a -> Lemma + (requires (equal s1 s2)) + (ensures (s1 == s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_refl: #a:eqtype -> s1:set a -> s2:set a -> Lemma + (requires (s1 == s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val disjoint_not_in_both (a:eqtype) (s1:set a) (s2:set a) + : Lemma + (requires (disjoint s1 s2)) + (ensures (forall (x:a).{:pattern (mem x s1) \/ (mem x s2)} mem x s1 ==> ~(mem x s2))) + [SMTPat (disjoint s1 s2)] + +(* Converting lists to sets *) + +(* WHY IS THIS HERE? It is not strictly part of the interface *) +#reset-options //restore fuel usage here +let rec as_set' (#a:eqtype) (l:list a) : set a = + match l with + | [] -> empty + | hd::tl -> union (singleton hd) (as_set' tl) + +unfold +let as_set (#a:eqtype) (l:list a) = normalize_term (as_set' l) + +let lemma_disjoint_subset (#a:eqtype) (s1:set a) (s2:set a) (s3:set a) + : Lemma (requires (disjoint s1 s2 /\ subset s3 s1)) + (ensures (disjoint s3 s2)) + = () diff --git a/stage0/ulib/FStar.SizeT.fst b/stage0/ulib/FStar.SizeT.fst new file mode 100644 index 00000000000..dbfb19c327b --- /dev/null +++ b/stage0/ulib/FStar.SizeT.fst @@ -0,0 +1,86 @@ +module FStar.SizeT +open FStar.Ghost +module I64 = FStar.Int64 + +(* This is only intended as a model, but will be extracted natively by Krml + with the correct C semantics *) + +(* We assume the existence of some lower bound on the size, + where the bound is at least 2^16 *) +assume +val bound : x:erased nat { x >= pow2 16 } + +type t : eqtype = | Sz : (x:U64.t { U64.v x < bound }) -> t + +let fits x = + FStar.UInt.fits x U64.n == true /\ + x < bound + +let fits_at_least_16 _ = () + +let v x = + U64.v (Sz?.x x) + +irreducible +let uint_to_t x = + Sz (U64.uint_to_t x) + +let size_v_inj (x: t) = () +let size_uint_to_t_inj (x: nat) = () + + +/// These two predicates are only used for modeling purposes, and their definitions must +/// remain abstract to ensure they can only be introduced through a static assert. +/// We simply define them as True here +let fits_u32 = (reveal bound >= pow2 32) == true +let fits_u64 = (reveal bound == pow2 64) + +let fits_u64_implies_fits_32 () + : Lemma + (requires fits_u64) + (ensures fits_u32) + = () + +let fits_u32_implies_fits (x:nat) + : Lemma + (requires fits_u32 /\ x < pow2 32) + (ensures fits x) + = () + +let fits_u64_implies_fits (x:nat) + : Lemma + (requires fits_u64 /\ x < pow2 64) + (ensures fits x) + = () + +let of_u32 (x: U32.t) + = uint_to_t (U32.v x) + +let of_u64 (x: U64.t) + = uint_to_t (U64.v x) + +let uint16_to_sizet x = uint_to_t (U16.v x) +let uint32_to_sizet x = uint_to_t (U32.v x) +let uint64_to_sizet x = uint_to_t (U64.v x) +let sizet_to_uint32 x = FStar.Int.Cast.uint64_to_uint32 (Sz?.x x) +let sizet_to_uint64 x = (Sz?.x x) + +let fits_lte x y = () + +let add x y = Sz <| U64.add x.x y.x +let sub x y = Sz <| U64.sub x.x y.x +let mul x y = Sz <| U64.mul x.x y.x + +let div x y = + let res_n = U64.div x.x y.x in + FStar.Math.Lib.slash_decr_axiom (U64.v x.x) (U64.v y.x); + assert (U64.v res_n < bound); + let res = Sz res_n in + fits_lte (U64.v res.x) (U64.v x.x); + res + +let rem x y = Sz <| U64.rem x.x y.x +let gt x y = U64.gt x.x y.x +let gte x y = U64.gte x.x y.x +let lt x y = U64.lt x.x y.x +let lte x y = U64.lte x.x y.x diff --git a/stage0/ulib/FStar.SizeT.fsti b/stage0/ulib/FStar.SizeT.fsti new file mode 100644 index 00000000000..4e9f42321db --- /dev/null +++ b/stage0/ulib/FStar.SizeT.fsti @@ -0,0 +1,184 @@ +module FStar.SizeT + +open FStar.Mul + +module U16 = FStar.UInt16 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 + +new +val t : eqtype + +val fits (x: nat) : Tot prop + +/// According to the C standard, "the bit width of t is not less than 16 since c99" +/// (https://en.cppreference.com/w/c/types/size_t) + +val fits_at_least_16 (x:nat) + : Lemma + (requires x < pow2 16) + (ensures fits x) + [SMTPat (fits x)] + +[@@noextract_to "krml"] +val v (x: t) : Pure nat + (requires True) + (ensures (fun y -> fits y)) + +/// We therefore offer two functions to create a t value. +/// Any value that fits in a uint_16 can be cast directly to t +/// Any value that might not fit in a uint_16 needs to satisfy the `fits_u32` +/// or `fits_u64` predicates. These predicates can only be introduced through a +/// stateful function (currently in Steel.ST.HigherArray), which will be extracted +/// to a static_assert by krml +val uint_to_t (x: nat) : Pure t + (requires (fits x)) + (ensures (fun y -> v y == x)) + +/// v and uint_to_t are inverses +val size_v_inj (x: t) + : Lemma + (ensures uint_to_t (v x) == x) + [SMTPat (v x)] + +val size_uint_to_t_inj (x: nat) + : Lemma + (requires fits x) + (ensures v (uint_to_t x) == x) + [SMTPat (uint_to_t x)] + +val fits_u32 : prop +val fits_u64 : prop + +val fits_u64_implies_fits_32 (_:unit) + : Lemma + (requires fits_u64) + (ensures fits_u32) + +val fits_u32_implies_fits (x:nat) + : Lemma + (requires fits_u32 /\ x < pow2 32) + (ensures fits x) + +val fits_u64_implies_fits (x:nat) + : Lemma + (requires fits_u64 /\ x < pow2 64) + (ensures fits x) + +/// Creates a size_t when given a uint32 literal. Note, this will not +/// extract if [x] is not a literal (e.g., 12ul). If you want to do a +/// cast, see `uint32_to_sizet` below +noextract inline_for_extraction +val of_u32 (x: U32.t) : Pure t + (requires fits_u32) + (ensures (fun y -> v y == U32.v x)) + +/// Creates a size_t when given a uint64 literal. Note, this will not +/// extract if [x] is not a literal (e.g., 12uL). If you want to do a +/// cast, see `uint64_to_sizet` below +noextract inline_for_extraction +val of_u64 (x: U64.t) : Pure t + (requires fits_u64) + (ensures (fun y -> v y == U64.v x)) + +val uint16_to_sizet (x:U16.t) : Pure t + (requires True) + (ensures fun y -> v y == U16.v x) + +val uint32_to_sizet (x:U32.t) : Pure t + (requires fits_u32) + (ensures fun y -> v y == U32.v x) + +val uint64_to_sizet (x:U64.t) : Pure t + (requires fits_u64) + (ensures fun y -> v y == U64.v x) + +val sizet_to_uint32 (x:t) : Pure U32.t + (requires True) + (ensures fun y -> U32.v y == v x % pow2 32) + +val sizet_to_uint64 (x:t) : Pure U64.t + (requires True) + (ensures fun y -> U64.v y == v x % pow2 64) + +val fits_lte (x y: nat) : Lemma + (requires (x <= y /\ fits y)) + (ensures (fits x)) + [SMTPat (fits x); SMTPat (fits y)] + +(** Non-overflowing arithmetic operations *) + +val add (x y: t) : Pure t + (requires (fits (v x + v y))) + (ensures (fun z -> v z == v x + v y)) + +val sub (x y: t) : Pure t + (requires (v x >= v y)) + (ensures (fun z -> v z == v x - v y)) + +val mul (x y: t) : Pure t + (requires (fits (v x * v y))) + (ensures (fun z -> v z == v x * v y)) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(** Modulo specification, similar to FStar.UInt.mod *) + +let mod_spec (a:nat{fits a}) (b:nat{fits b /\ b <> 0}) : GTot (n:nat{fits n}) = + let open FStar.Mul in + let res = a - ((a/b) * b) in + fits_lte res a; + res + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> mod_spec (v a) (v b) = v c)) + +(** Greater than *) +val gt (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x > v y))) + +(** Greater than or equal *) +val gte (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x >= v y))) + +(** Less than *) +val lt (x y:t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x < v y))) + +(** Less than or equal *) +val lte (x y: t) : Pure bool + (requires True) + (ensures (fun z -> z == (v x <= v y))) + +(** Infix notations *) + +unfold let ( +^ ) = add +unfold let ( -^ ) = sub +unfold let ( *^ ) = mul +unfold let ( %^ ) = rem +unfold let ( >^ ) = gt +unfold let ( >=^ ) = gte +unfold let ( <^ ) = lt +unfold let ( <=^ ) = lte + +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = assume (x >= 0 /\ fits x); uint_to_t x diff --git a/stage0/ulib/FStar.Squash.fst b/stage0/ulib/FStar.Squash.fst new file mode 100644 index 00000000000..c29493a6f9e --- /dev/null +++ b/stage0/ulib/FStar.Squash.fst @@ -0,0 +1,53 @@ +(* + Copyright 2008-2024 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.Squash +open FStar.IndefiniteDescription + +(* This file shows that there is another natural model for some of the + squash things; for this one it doesn't seem to harm importing this + file (exposing the implementation); it probably doesn't help either *) + +let return_squash (#a:Type) x = () + +let bind_squash (#a:Type) (#b:Type) f g = + g (elim_squash f) + +let push_squash (#a:Type) (#b:(a->Type)) f = + return_squash fun x -> elim_squash (f x) + +let get_proof (p:Type) = () + +let give_proof (#p:Type) _ = () + +let proof_irrelevance (p:Type) x y = () + +let squash_double_arrow #a #p f = + bind_squash f push_squash + +let push_sum (#a:Type) (#b:(a -> Type)) ($p : dtuple2 a (fun (x:a) -> squash (b x))) = + match p with + | Mkdtuple2 x y -> + bind_squash #(b x) #(dtuple2 a b) y (fun y' -> + return_squash (Mkdtuple2 x y')) + +let squash_double_sum (#a:Type) (#b:(a -> Type)) (p : squash (dtuple2 a (fun (x:a) -> squash (b x)))) = + bind_squash p (fun p' -> push_sum p') // Need eta... + +let map_squash (#a:Type) (#b:Type) s f = + bind_squash #a #b s (fun x -> return_squash (f x)) + +let join_squash (#a:Type) (x:squash (squash a)) = + bind_squash x (fun x -> x) diff --git a/stage0/ulib/FStar.Squash.fsti b/stage0/ulib/FStar.Squash.fsti new file mode 100644 index 00000000000..c0563201d88 --- /dev/null +++ b/stage0/ulib/FStar.Squash.fsti @@ -0,0 +1,94 @@ +(* + 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.Squash + +/// The module provides an interface to work with [squash] types, F*'s +/// representation for proof-irrelevant propositions. +/// +/// The type [squash p] is defined in [Prims] as [_:unit{p}]. As such, +/// the [squash] type captures the classical logic used in F*'s +/// refinement types, although the interface in this module isn't +/// specifically classical. The module [FStar.Classical] provides +/// further derived forms to manipulate [squash] types. +/// +/// This is inspired in part by: Quotient Types: A Modular +/// Approach. Aleksey Nogin, TPHOLs 2002. +/// http://www.nuprl.org/documents/Nogin/QuotientTypes_02.pdf +/// +/// Broadly, [squash] is a monad, support the usual [return] and +/// [bind] operations. +/// +/// Additionally, it supports a [push_squash] operation that relates +/// arrow types and [squash]. + +(** A proof of [a] can be forgotten to create a squashed proof of [a] + *) +val return_squash (#a: Type) (x: a) : Tot (squash a) + +(** Sequential composition of squashed proofs *) +val bind_squash (#a #b: Type) (x: squash a) (f: (a -> GTot (squash b))) : Tot (squash b) + +(** The [push] operation, together with [bind_squash], allow deriving + some of the other operations, notably [squash_double_arrow]. We + rarely use the [push_squash] operation directly. + + One reading of [push f] is that for a function [f] that builds a + proof-irrelevant prooof of [b x] for all [x:a], there exists a + proof-irrelevant proof of [forall (x:a). b x]. + + Note: since [f] is not itself squashed, [push_squash f] is not + equal to [f]. *) +val push_squash (#a: Type) (#b: (a -> Type)) (f: (x: a -> Tot (squash (b x)))) + : Tot (squash (x: a -> GTot (b x))) + +/// The pre- and postconditions of of [Pure] are equivalent to +/// squashed arguments and results. + +(** [get_proof p], in a context requiring [p] is equivalent to a proof + of [squash p] *) +val get_proof (p: Type) : Pure (squash p) (requires p) (ensures (fun _ -> True)) + +(** [give_proof x], for [x:squash p] is a equivalent to ensuring + [p]. *) +val give_proof (#p: Type) (x: squash p) : Pure unit (requires True) (ensures (fun _ -> p)) + +(** All proofs of [squash p] are equal *) +val proof_irrelevance (p: Type) (x y: squash p) : Tot (squash (x == y)) + +(** Squashing the proof of the co-domain of squashed universal + quantifier is redundant---[squash_double_arrow] allows removing + it. *) +val squash_double_arrow (#a: Type) (#p: (a -> Type)) ($f: (squash (x: a -> GTot (squash (p x))))) + : GTot (squash (x: a -> GTot (p x))) + +(** The analog of [push_squash] for sums (existential quantification *) +val push_sum (#a: Type) (#b: (a -> Type)) ($p: (dtuple2 a (fun (x: a) -> squash (b x)))) + : Tot (squash (dtuple2 a b)) + +(** The analog of [squash_double_arrow] for sums (existential quantification) *) +val squash_double_sum + (#a: Type) + (#b: (a -> Type)) + ($p: (squash (dtuple2 a (fun (x: a) -> squash (b x))))) + : Tot (squash (dtuple2 a b)) + +(** [squash] is functorial; a ghost function can be mapped over a squash *) +val map_squash (#a #b: Type) (x: squash a) (f: (a -> GTot b)) : Tot (squash b) + +(** [squash] is a monad: double squashing is redundant and can be removed. *) +val join_squash (#a: Type) (x: squash (squash a)) : Tot (squash a) + diff --git a/stage0/ulib/FStar.SquashProperties.fst b/stage0/ulib/FStar.SquashProperties.fst new file mode 100644 index 00000000000..d8b9e6664f6 --- /dev/null +++ b/stage0/ulib/FStar.SquashProperties.fst @@ -0,0 +1,176 @@ +(* + 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.SquashProperties + +open FStar.Constructive + +open FStar.Squash + +val join_squash : #a:Type -> squash (squash a) -> GTot (squash a) +let join_squash #a s = bind_squash #(squash a) #a s (fun x -> x) + +val squash_arrow : #a:Type -> #p:(a -> Type) -> + $f:(x:a -> GTot (squash (p x))) -> GTot (squash (x:a -> GTot (p x))) +let squash_arrow #a #p f = squash_double_arrow (return_squash f) + +val forall_intro : #a:Type -> #p:(a -> Type) -> + $f:(x:a -> Lemma (p x)) -> Lemma (x:a -> GTot (p x))(* (forall (x:a). p x) *) +let forall_intro #a #p f = + let ff : (x:a -> GTot (squash (p x))) = (fun x -> f x; get_proof (p x)) in + give_proof #(x:a -> GTot (p x)) (squash_arrow #a #p ff) + + +// currently unused +// val squash_elim : a:Type -> #b:Type -> t1:b -> t2:b -> +// ( a -> Tot (ceq t1 t2)) -> +// Tot (squash a -> Tot (ceq t1 t2)) + +(* assume val tt (t:Type) : squash t *) + +(* assume val squash_mem_elim : a:Type -> #b:Type -> t1:b -> t2:b -> *) +(* (x:squash a -> t:(squash a -> Type) -> Tot (t ())) -> *) +(* Tot (x:squash a -> t:(squash a -> Type) -> Tot (t x)) *) + +(* get_proof and give_proof are phrased in terms of squash *) + +(* The whole point of defining squash is to soundly allow define excluded_middle; + here this follows from get_proof and give_proof *) + +val bool_of_or : #p:Type -> #q:Type -> Prims.sum p q -> + Tot (b:bool{(b ==> p) /\ (not(b) ==> q)}) +let bool_of_or #p #q t = + match t with + | Prims.Left _ -> true + | Prims.Right _ -> false + +val excluded_middle : p:Type -> GTot (squash (b:bool{b <==> p})) +let excluded_middle (p:Type) = map_squash (join_squash (get_proof (p \/ (~p)))) bool_of_or + + +val excluded_middle_squash : p:Type0 -> GTot (p \/ ~p) +let excluded_middle_squash p = + bind_squash (excluded_middle p) (fun x -> + if x then + map_squash (get_proof p) (Prims.Left #p) + else + return_squash (Prims.Right #_ #(~p) (return_squash (fun (h:p) -> + give_proof (return_squash h); + false_elim #False ())))) + +(* we thought we might prove proof irrelevance by Berardi ... but didn't manage *) + +(* Conditional on any Type -- unused below *) +val ifProp: #p:Type0 -> b:Type0 -> e1:squash p -> e2:squash p -> GTot (squash p) +let ifProp #p b e1 e2 = + bind_squash (excluded_middle_squash b) + (fun (x:Prims.sum b (~ b)) -> + match x with + | Prims.Left _ -> e1 + | Prims.Right _ -> e2) + +(* The powerset operator *) +type pow (p:Type) = p -> GTot bool + +noeq type retract 'a 'b : Type = + | MkR: i:('a -> GTot 'b) -> + j:('b -> GTot 'a) -> + inv:(x:'a -> GTot (ceq (j (i x)) x)) -> + retract 'a 'b + +noeq type retract_cond 'a 'b : Type = + | MkC: i2:('a -> GTot 'b) -> + j2:('b -> GTot 'a) -> + inv2:(retract 'a 'b -> x:'a -> GTot (ceq (j2 (i2 x)) x)) -> + retract_cond 'a 'b + +(* unused below *) +val ac: r:retract_cond 'a 'b -> retract 'a 'b -> x:'a -> + GTot (ceq ((MkC?.j2 r) (MkC?.i2 r x)) x) +let ac (MkC _ _ inv2) = inv2 + +let false_elim (#a:Type) (f:False) : Tot a + = match f with + +val l1: (a:Type0) -> (b:Type0) -> GTot (squash (retract_cond (pow a) (pow b))) +let l1 (a:Type) (b:Type) = + bind_squash (excluded_middle_squash (retract (pow a) (pow b))) + (fun (x:Prims.sum (retract (pow a) (pow b)) (~ (retract (pow a) (pow b)))) -> + match x with + | Prims.Left (MkR f0 g0 e) -> + return_squash (MkC f0 g0 (fun _ -> e)) + | Prims.Right nr -> + let f0 (x:pow a) (y:b) = false in + let g0 (x:pow b) (y:a) = false in + map_squash nr (fun (f:(retract (pow a) (pow b) -> GTot False)) -> + MkC f0 g0 (fun r x -> false_elim (f r)))) + +(* The paradoxical set *) +type u = p:Type -> Tot (squash (pow p)) + +(* NS: FAILS TO CHECK BEYOND HERE ... TODO, revisit *) + +(* Bijection between U and (pow U) *) +assume val f : u -> Tot (squash (pow u)) +#set-options "--print_universes" +(* let f x = x u *) //fails here without a means of denoting universes + +// val g : squash (pow U) -> Tot U +// let g sh = fun (x:Type) -> +// let (slX:squash (pow U -> Tot (pow x))) = map_squash (l1 x U) MkC?.j2 in +// let (srU:squash (pow U -> Tot (pow U))) = map_squash (l1 U U) MkC?.i2 in +// bind_squash srU (fun rU -> +// bind_squash slX (fun lX -> +// bind_squash sh (fun h -> +// return_squash (lX (rU h))))) + +// (* This only works if importing FStar.All.fst, which is nonsense *) +// val r : U +// let r = +// let ff : (U -> Tot (squash bool)) = +// (fun (u:U) -> map_squash (u U) (fun uu -> not (uu u))) in +// g (squash_arrow ff) + +(* CH: stopped here *) +(* val not_has_fixpoint : squash (ceq (r U r) (not (r U r))) *) +(* let not_has_fixpoint = Refl #bool #(r U r) *) + + +(* otherwise we could assume proof irrelevance as an axiom; + note that proof relevance shouldn't be derivable for squash types *) +(* val not_provable : unit -> *) +(* Tot (cnot (ceq (return_squash true) (return_squash false))) *) +(* val not_provable : unit -> *) +(* Tot (squash (cnot (ceq (return_squash true) (return_squash false)))) *) + +// type cheq (#a:Type) (x:a) : #b:Type -> b -> Type = +// | HRefl : cheq #a x #a x + +(* val not_provable : unit -> *) +(* Tot (cimp (cheq (return_squash #(b:bool{b=true}) true) *) +(* (return_squash #(b:bool{b=false}) false)) (squash cfalse)) *) +(* let not_provable () = *) +(* (fun h -> match h with *) +(* | HRefl -> *) +(* assert(return_squash #(b:bool{b=true}) true == *) +(* return_squash #(b:bool{b=false}) false); *) +(* bind_squash (return_squash #(b:bool{b=true}) true) (fun btrue -> *) +(* bind_squash (return_squash #(b:bool{b=false}) false) (fun bfalse -> *) +(* assert (btrue <> bfalse); magic()))) *) + +(* TODO: + - play with this a bit more; try out some examples + + search for give_proof / get_proof +*) diff --git a/stage0/ulib/FStar.String.fsti b/stage0/ulib/FStar.String.fsti new file mode 100644 index 00000000000..ba6245670af --- /dev/null +++ b/stage0/ulib/FStar.String.fsti @@ -0,0 +1,148 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.String +open FStar.List.Tot +(* String is a primitive type in F*. + + Most of the functions in this interface have a special status in + that they are: + + 1. All the total functions in this module are handled by F*'s + normalizers and can be reduced during typechecking + + 2. All the total functions, plus two functions in the ML effect, + have native OCaml implementations in FStar_String.ml + + These functions are, however, not suitable for use in Low* code, + since many of them incur implicit allocations that must be garbage + collected. + + For strings in Low*, see LowStar.String, LowStar.Literal etc. +*) + +type char = FStar.Char.char + +/// `list_of_string` and `string_of_list`: A pair of coercions to +/// expose and pack a string as a list of characters +val list_of_string : string -> Tot (list char) +val string_of_list : list char -> Tot string + +/// A pair +val string_of_list_of_string (s:string) + : Lemma (string_of_list (list_of_string s) == s) +val list_of_string_of_list (l:list char) + : Lemma (list_of_string (string_of_list l) == l) + +/// `strlen s` counts the number of utf8 values in a string +/// It is not the byte length of a string +let strlen s = List.length (list_of_string s) + +/// `length`, an alias for `strlen` +unfold +let length s = strlen s + +/// `maxlen`: When applied to a literal s of less than n characters, +/// `maxlen s n` reduces to `True` before going to the SMT solver. +/// Otherwise, the left disjunct reduces partially but the right +/// disjunct remains as is, allowing to keep `strlen s <= n` in the +/// context. +unfold +let maxlen s n = b2t (normalize_term (strlen s <= n)) \/ strlen s <= n + +/// `make l c`: builds a string of length `l` with each character set +/// to `c` +val make: l:nat -> char -> Tot (s:string {length s = l}) + +/// `string_of_char`: A convenient abbreviation for `make 1 c` +let string_of_char (c:char) : Tot string = make 1 c + +/// `split cs s`: splits the string by delimiters in `cs` +val split: list char -> string -> Tot (list string) + +/// `concat s l` concatentates the strings in `l` delimited by `s` +val concat: string -> list string -> Tot string + +/// `compare s0 s1`: lexicographic ordering on strings +val compare: string -> string -> Tot int + +/// `lowercase`: transform each character to its lowercase variant +val lowercase: string -> Tot string + +/// `uppercase`: transform each character to its uppercase variant +val uppercase: string -> Tot string + +/// `index s n`: returns the nth character in `s` +val index: s:string -> n:nat {n < length s} -> Tot char + +/// `index_of s c`: +/// The first index of `c` in `s` +/// returns -1 if the char is not found, for compatibility with C +val index_of: string -> char -> Tot int + +/// `sub s i len` +/// Second argument is a length, not an index. +/// Returns a substring of length `len` beginning at `i` +val sub: s:string -> i:nat -> l:nat{i + l <= length s} -> Tot (r: string {length r = l}) + +/// `collect f s`: maps `f` over each character of `s` +/// from left to right, appending and flattening the result +[@@(deprecated "FStar.String.collect can be defined using list_of_string and List.collect")] +val collect: (char -> FStar.All.ML string) -> string -> FStar.All.ML string + +/// `substring s i len` +/// A partial variant of `sub s i len` without bounds checks. +/// May fail with index out of bounds +val substring: string -> int -> int -> Ex string + +/// `get s i`: Similar to `index` except it may fail +/// if `i` is out of bounds +val get: string -> int -> Ex char + + +/// Some lemmas (admitted for now as we don't have a model) +val concat_length (s1 s2: string): Lemma + (ensures length (s1 ^ s2) = length s1 + length s2) + +val list_of_concat (s1 s2: string): Lemma + (ensures list_of_string (s1 ^ s2) == list_of_string s1 @ list_of_string s2) + +val index_string_of_list (l:list char) (i : nat{i < List.Tot.length l}) : + Lemma ( + (**) list_of_string_of_list l; // necessary to get equality between the lengths + index (string_of_list l) i == List.Tot.index l i) + +let index_list_of_string (s:string) (i : nat{i < length s}) : + Lemma (List.Tot.index (list_of_string s) i == index s i) = + index_string_of_list (list_of_string s) i; + string_of_list_of_string s + +let concat_injective (s0 s0':string) + (s1 s1':string) + : Lemma + (s0 ^ s1 == s0' ^ s1' /\ + (length s0 == length s0' \/ + length s1 == length s1') ==> + s0 == s0' /\ s1 == s1') + = list_of_concat s0 s1; + list_of_concat s0' s1'; + append_injective (list_of_string s0) + (list_of_string s0') + (list_of_string s1) + (list_of_string s1'); + string_of_list_of_string s0; + string_of_list_of_string s0'; + string_of_list_of_string s1; + string_of_list_of_string s1' diff --git a/stage0/ulib/FStar.StrongExcludedMiddle.fst b/stage0/ulib/FStar.StrongExcludedMiddle.fst new file mode 100644 index 00000000000..3c21369d254 --- /dev/null +++ b/stage0/ulib/FStar.StrongExcludedMiddle.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.StrongExcludedMiddle + +let strong_excluded_middle : p:Type0 -> GTot (b:bool{b = true <==> p}) = + IndefiniteDescription.strong_excluded_middle diff --git a/stage0/ulib/FStar.Stubs.Errors.Msg.fsti b/stage0/ulib/FStar.Stubs.Errors.Msg.fsti new file mode 100644 index 00000000000..536dc55220d --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Errors.Msg.fsti @@ -0,0 +1,54 @@ +module FStar.Stubs.Errors.Msg + +(* Implemented in src/, allows constructing structured pretty-printed error messages. *) + +open FStar.Pprint + +(* An error message is a list of documents. This allows us to print errors like +these: + +* Error 19 at tests/error-messages/Bug1997.fst(92,19-92,49): + - Assertion failed + - The SMT solver could not prove the query. Use --query_stats for more details. + - Also see: Prims.fst(96,32-96,42) + +The header is taken from the code and range, and then the documents are rendered +in order. + +`empty` documents in the list are skipped. +*) +type error_message = list document + +(* A helper for creating errors from strings, only to be used for text. +This will split the string into words and format is a paragraph. + +If you call this with a string containing a pretty-printed term (or +anything else) all its formatting will be lost. You should instead use +[term_to_doc] or similar to work with the documents directly, or as a +last resort use doc_of_string. *) +val text : string -> document + +(* Makes an indented sublist using bullet as a header for each list element. *) +val sublist : bullet:document -> elems:list document -> document + +(* == sublist (doc_of_string "- ") *) +val bulleted : list document -> document + +(* Create a simple error message from a string. If the string is just +text and can be long, please use [text] instead. On the other hand, if +you need to respect indentation/spacing in the string, then use this +one, but if that's the case it's probably better to build a doc instead +of lifting from a string. NB: mkmsg s is equal to [doc_of_string s]. *) +val mkmsg : string -> error_message + +(* A nested document that can be concatenated with another one *) +val subdoc : document -> document + +(* Only to be used by FStar.Errors *) +val renderdoc : document -> string + +(* Returns a document with the current stack trace *) +val backtrace_doc : unit -> document + +(* Render an error message as a string. *) +val rendermsg : error_message -> string diff --git a/stage0/ulib/FStar.Stubs.Reflection.Types.fsti b/stage0/ulib/FStar.Stubs.Reflection.Types.fsti new file mode 100644 index 00000000000..ff9504bee98 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Reflection.Types.fsti @@ -0,0 +1,43 @@ +(* + 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.Stubs.Reflection.Types + +include FStar.Range +include FStar.Sealed + +assume new type namedv // named fresh variable +assume new type bv // db variable +assume new type binder + +assume new type term +assume new type env +assume new type fv +assume new type comp +assume new type sigelt // called `def` in the paper, but we keep the internal name here +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 univ_name = ident +type typ = term +type binders = list binder + +type decls = list sigelt diff --git a/stage0/ulib/FStar.Stubs.Reflection.V1.Builtins.fsti b/stage0/ulib/FStar.Stubs.Reflection.V1.Builtins.fsti new file mode 100644 index 00000000000..0acc9a7ad06 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Reflection.V1.Builtins.fsti @@ -0,0 +1,142 @@ +(* + 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.Stubs.Reflection.V1.Builtins + +open FStar.Order +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V1.Data +open FStar.Stubs.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 : sigelt_view -> sigelt + +val inspect_fv : fv -> name +val pack_fv : name -> fv + +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 + +(* 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_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) + +(** 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} + +(** Primitives & helpers *) +val lookup_typ : env -> name -> option sigelt +val compare_bv : bv -> bv -> order +val binders_of_env : env -> binders +val moduleof : env -> name +val lookup_attr : term -> env -> list fv +val all_defs_in_env : env -> list fv +val defs_in_module : env -> name -> list fv +val term_eq : term -> term -> bool +val env_open_modules : env -> list name + +(** [push_binder] extends the environment with a single binder. + This is useful as one traverses the syntax of a term, + pushing binders as one traverses a binder in a lambda, + match, etc. TODO: Should this really be push_bv? *) +val push_binder : env -> binder -> 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 + +(** Substitute an open bv (a name) by a term [t1] in a term [t2]. *) +val subst : bv -> t1:term -> t2:term -> term + +(** Close an open binder in a term (i.e. turn the name into a de Bruijn index. *) +val close_term : binder -> term -> term + +(** 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/stage0/ulib/FStar.Stubs.Reflection.V1.Data.fsti b/stage0/ulib/FStar.Stubs.Reflection.V1.Data.fsti new file mode 100644 index 00000000000..edca6b450ec --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Reflection.V1.Data.fsti @@ -0,0 +1,200 @@ +(* + 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.Stubs.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. *) +open FStar.Stubs.Reflection.V2.Data {} +open FStar.Stubs.Reflection.V2.Builtins {} + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Syntax.Syntax + +(* 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 + | 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 + +// This is shadowing `pattern` from Prims (for smt_pats) +noeq +type pattern = + | Pat_Constant : vconst -> pattern // A built-in constant + | Pat_Cons : fv -> option universes -> list (pattern & bool) -> pattern + // A fully applied constructor, each boolean marks + // whether the argument was an explicitly-provided + // implicit argument + | Pat_Var : bv -> sealed typ -> pattern // Pattern bound variable + | Pat_Dot_Term : option term -> pattern // Dot pattern: resolved by other elements in the pattern and type + +type branch = pattern & term // | pattern -> term + +noeq +type aqualv = + | Q_Implicit + | Q_Explicit + | Q_Meta of term + +type argv = term & aqualv + +(* 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 bv_view = { + bv_ppname : ppname_t; + bv_index : nat; +} + +noeq +type binder_view = { + binder_bv : bv; + binder_qual : aqualv; + binder_attrs : list term; + binder_sort : typ; +} + +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:bv -> 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 : bv:bv -> sort:typ -> 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) -> bv:bv -> ty:typ -> 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/stage0/ulib/FStar.Stubs.Reflection.V2.Builtins.fsti b/stage0/ulib/FStar.Stubs.Reflection.V2.Builtins.fsti new file mode 100644 index 00000000000..ba1254f927c --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Reflection.V2.Builtins.fsti @@ -0,0 +1,204 @@ +(* + 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.Stubs.Reflection.V2.Builtins + +open FStar.Order +open FStar.Stubs.Syntax.Syntax +open FStar.Stubs.VConfig +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data + +(*** 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 pack_inspect_lb (lb:letbinding) : Lemma (pack_lb (inspect_lb lb) == lb) +val inspect_pack_lb (lbv:lb_view) : Lemma (inspect_lb (pack_lb lbv) == lbv) + +val pack_inspect_sigelt (se:sigelt) : Lemma ((~(Unk? (inspect_sigelt se))) ==> pack_sigelt (inspect_sigelt se) == se) +val inspect_pack_sigelt (sev:sigelt_view { ~ (Unk? sev) }) : Lemma (inspect_sigelt (pack_sigelt sev) == sev) + + +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 sigelts marked with a given attribute. The +criterion used is that the [attr] attribute MUST be a top-level name +(Tv_FVar) and any sigelt that has an attribute with [attr] (possibly +applied) is returned. The sigelt can then be inspect to find the +arguments to the attribute, if needed. + +Used e.g. to find all typeclass instances, and read their functional +dependencies. *) +val lookup_attr_ses : attr:term -> env -> list sigelt + +(** As [lookup_attr_ses], but just returns the name associated +to the sigelts. *) +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/stage0/ulib/FStar.Stubs.Reflection.V2.Data.fsti b/stage0/ulib/FStar.Stubs.Reflection.V2.Data.fsti new file mode 100644 index 00000000000..a03dcb9ab26 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Reflection.V2.Data.fsti @@ -0,0 +1,243 @@ +(* + 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.Stubs.Reflection.V2.Data + +include FStar.Stubs.Syntax.Syntax +open FStar.Stubs.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 + | C_Real : string -> vconst (* Real literals are represented as a string e.g. "1.2" *) + (* 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_Equality + | 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/stage0/ulib/FStar.Stubs.Syntax.Syntax.fsti b/stage0/ulib/FStar.Stubs.Syntax.Syntax.fsti new file mode 100644 index 00000000000..951e963e348 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Syntax.Syntax.fsti @@ -0,0 +1,20 @@ +module FStar.Stubs.Syntax.Syntax +open FStar.Stubs.Reflection.Types + +noeq +type subst_elt = + | DB : int -> 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 + + +(* + * match e as binder returns t|C + * + * 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) diff --git a/stage0/ulib/FStar.Stubs.Tactics.Common.fsti b/stage0/ulib/FStar.Stubs.Tactics.Common.fsti new file mode 100644 index 00000000000..019ceaa6181 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Tactics.Common.fsti @@ -0,0 +1,14 @@ +module FStar.Stubs.Tactics.Common + +include FStar.Stubs.Errors.Msg + +(* This module is realized by FStar.Tactics.Common in the F* sources. +Any change must be reflected there. *) + +exception NotAListLiteral + +(* We should attempt to not use this one and define more exceptions +above. *) +exception TacticFailure of error_message & option FStar.Range.range + +exception SKIP diff --git a/stage0/ulib/FStar.Stubs.Tactics.Result.fsti b/stage0/ulib/FStar.Stubs.Tactics.Result.fsti new file mode 100644 index 00000000000..a0a64dee7cb --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Tactics.Result.fsti @@ -0,0 +1,28 @@ +(* + 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.Stubs.Tactics.Result + +// This file is never extracted. It's a copy of the one with the same name in +// the compiler. It lives here so that one doesn't need to adjust their load +// path to use tactics from ulib. + +open FStar.Stubs.Tactics.Types + +noeq type __result a = + | Success : v:a -> ps:proofstate -> __result a + | Failed : exn:exn (* Error *) + -> ps:proofstate (* The proofstate at time of failure *) + -> __result a diff --git a/stage0/ulib/FStar.Stubs.Tactics.Types.fsti b/stage0/ulib/FStar.Stubs.Tactics.Types.fsti new file mode 100644 index 00000000000..d3898c04d25 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Tactics.Types.fsti @@ -0,0 +1,74 @@ +(* + 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.Stubs.Tactics.Types + +open FStar.Stubs.Reflection.Types +include FStar.Stubs.Tactics.Common +include FStar.Stubs.TypeChecker.Core + +assume new type goal +assume new type proofstate + +(* Returns the active goals *) +val goals_of : proofstate -> list goal +(* Returns the goals marked for SMT *) +val smt_goals_of : proofstate -> list goal + +(* Inspecting a goal *) +val goal_env : goal -> env +val goal_type : goal -> typ +val goal_witness : goal -> term +val is_guard : goal -> bool (* A bit of helper info: did this goal come from a VC guard? *) + +val get_label : goal -> string +val set_label : string -> goal -> goal + +(* Tracing *) +val incr_depth : proofstate -> proofstate +val decr_depth : proofstate -> proofstate +(* [tracepoint] always returns true. We do not use unit to prevent +erasure. *) +val tracepoint : proofstate -> b:bool{b == true} +val set_proofstate_range : proofstate -> FStar.Range.range -> proofstate + +type direction = + | TopDown + | BottomUp + +type ctrl_flag = + | Continue + | Skip + | Abort + +type guard_policy = + | Goal // Add guards as (normal) goals + | SMT // Add guards as SMT goals + | SMTSync // Send guards to SMT immediately, will *log* errors (not raise) if anything fails + | Force // Force guards without SMT, immediately. Raises an exception on failure. + | ForceSMT // Force guards with SMT, immediately. Raises an exception on failure. + | Drop // Drop guards, clearly unsound! careful! + +(* Typing reflection *) +val non_informative_token (g:env) (t:typ) : Type0 +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 + +(* Must be inline, this definition is not there in src/FStar.Tactics.Types *) +inline_for_extraction +let issues = list FStar.Issue.issue + +val tref (a:Type) : Type0 diff --git a/stage0/ulib/FStar.Stubs.Tactics.Unseal.fsti b/stage0/ulib/FStar.Stubs.Tactics.Unseal.fsti new file mode 100644 index 00000000000..db321b34fe4 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.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.Stubs.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/stage0/ulib/FStar.Stubs.Tactics.V1.Builtins.fsti b/stage0/ulib/FStar.Stubs.Tactics.V1.Builtins.fsti new file mode 100644 index 00000000000..de18e6838f6 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Tactics.V1.Builtins.fsti @@ -0,0 +1,451 @@ +(* + 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.Stubs.Tactics.V1.Builtins + +open FStar.Stubs.VConfig +open FStar.Stubs.Reflection.V1.Builtins +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V1.Data +open FStar.Reflection.Const +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.Types +include FStar.Stubs.Tactics.Unseal + +(** [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 integer. It does not get reset when +catching a failure. *) +val fresh : unit -> Tac int + +(** [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_binder_type steps b] will call the normalizer on the type of the [b] +binder for the current goal. Notably, this cannot be done via binder_retype and norm, +because of uvars being resolved to lambda-abstractions. *) +val norm_binder_type : list norm_step -> binder -> 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 binder + +(** Similar to intros, but allows to build a recursive function. +Currently broken (c.f. issue #1103) +*) +val intro_rec : unit -> Tac (binder & binder) + +(** [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 : binder -> string -> Tac binder + +(** [revert] pushes out a binder from the environment into the goal type, +so a behaviour opposite to [intros]. +*) +val revert : unit -> Tac unit + +(** [binder_retype] changes the type of a binder in the context. After calling it +with a binder 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 binder_retype : binder -> 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 : binder -> Tac unit + +(** If [b] is a binder of type [v == r], [rewrite b] will rewrite +the variable [v] for [r] everywhere in the current goal type and witness/ +*) +val rewrite : binder -> 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 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 +`--admit_smt_queries true` 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 + +(** 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 + then in a curried form instead *) +val pack_curried : term_view -> Tac term + +(** 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 bounded +variable. *) +val push_bv_dsenv : env -> string -> Tac (env & bv) + +(** 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) diff --git a/stage0/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti b/stage0/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti new file mode 100644 index 00000000000..a277a35e88d --- /dev/null +++ b/stage0/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti @@ -0,0 +1,629 @@ +(* + 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.Stubs.Tactics.V2.Builtins + +open FStar.Stubs.VConfig +open FStar.Stubs.Reflection.Types +open FStar.Reflection.Const +open FStar.Stubs.Reflection.V2.Data +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Tactics.Effect +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.Types +include FStar.Stubs.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 + +(** Like [intro] but pushes many binders at once. The goal has to be +a literal arrow, we will not normalize it nor unfold it. This can be +faster than repeatedly calling intros, and furthermore it will solve the +witness to a flat abstraction instead of many nested ones. + +[max] is an upper bound on the amount of binders this will introduce, +only considered when [max >= 0] (so use [-1] for no limit). *) +val intros (max:int) : Tac (list 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 + +(** [grewrite t1 t2] will rewrite [t1] anywhere it appears in the goal +for [t2]. It will add a goal (after the current one) for [t1 == t2]. *) +val grewrite (t1 t2 : term) : 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 Tac] was passed in. *) +val debugging : unit -> Tac bool + +(** [ide ()] return true if F* is running in interactive mode. This is +useful to only print diagnostics messages in interactive mode but not in +batch. *) +val ide : 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 +`--admit_smt_queries true` 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 + +(** [set_dump_failure b] controls whether the engine will dump out +the proofstate if a tactic fails during exception. This is true by +default, but can be disabled to get less verbosity. *) +val set_dump_on_failure : bool -> 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 + +(** Like term_to_string, but returns an unrendered pretty-printing +document *) +val term_to_doc : term -> Tac Pprint.document + +(** Like comp_to_string, but returns an unrendered pretty-printing +document *) +val comp_to_doc : comp -> Tac Pprint.document + +(** 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) + +(* Return all k/v pairs in the state. The order is unspecified, +do not rely on it. *) +val all_ext_options : unit -> Tac (list (string & string)) + +(* Lookup a k/v pair in the --ext option state. The empty string +is returned if the key was unset. *) +val ext_getv (k:string) : Tac string + +(* Return all k/v pairs in the state which are within +the given namespace. *) +val ext_getns (ns:string) : Tac (list (string & string)) + +(** The following primitives provide support for local state + during execution of a tactic. + The local state is monotonic, it is not + reverted when the tactic backtracks (using catch e.g.) + *) +val alloc (#a:Type) (x:a) : Tac (tref a) +val read (#a:Type) (r:tref a) : Tac a +val write (#a:Type) (r:tref a) (x:a) : Tac unit + +(***** 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? *) + +unfold +let ret_t (a:Type) = option a & issues + +val is_non_informative (g:env) (t:typ) + : Tac (ret_t (non_informative_token g t)) + +val check_subtyping (g:env) (t0 t1:typ) + : Tac (ret_t (subtyping_token g t0 t1)) + +val t_check_equiv (smt_ok:bool) (unfolding_ok:bool) (g:env) (t0 t1:typ) + : Tac (ret_t (equiv_token g t0 t1)) + +// +// Compute the type of e using the core typechecker +// +val core_compute_term_type (g:env) (e:term) + : Tac (ret_t (r:(tot_or_ghost & typ){typing_token g e r})) + +// +// Check that e:eff t using the core typechecker +// +val core_check_term (g:env) (e:term) (t:typ) (eff:tot_or_ghost) + : Tac (ret_t (typing_token g e (eff, t))) + +// +// Return eff s.t. e:eff t using the core typechecker +// +val core_check_term_at_type (g:env) (e:term) (t:typ) + : Tac (ret_t (eff:tot_or_ghost{typing_token g e (eff, t)})) + +// +// Instantiate the implicits in e and compute its type +// +val tc_term (g:env) (e:term) + : Tac (ret_t (r:(term & (tot_or_ghost & typ)){typing_token g (fst r) (snd r)})) + +val universe_of (g:env) (e:term) + : Tac (ret_t (u:universe{typing_token g e (E_Total, pack_ln (Tv_Type u))})) + +type prop_validity_token (g:env) (t:term) = + Ghost.erased ( + 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 (ret_t (prop_validity_token g t)) + +// 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 (l, t', ty), +// l is the list of fresh names (fresh w.r.t. g) and types, +// that represent implicits, of corresponding types, the API could not solve for +// +// t' is the elaborated t, and ty is its type +// +val instantiate_implicits (g:env) (t:term) (expected_typ : option term) + : Tac (ret_t (list (namedv & typ) & term & typ)) + +// +// Tries to find substitutions for the names in uvs +// by unifying t0 and t1 +// +// Internally, it creates fresh unification variables for uvs, +// substitutes them in t0 and t1, +// and tries to unify them +// +// The returned list contains uvs that could be solved +// +// uvs names are oldest binding first (i.e., most recent binding at the end of the list) +// +// and under the environment (g, (rev uvs)), t0 and t1 should be well-typed +// +// The API does not provide any guarantees, the caller should typecheck +// that the solutions are well-typed +// +val try_unify (g:env) (uvs:list (namedv & typ)) (t0 t1:term) + : Tac (ret_t (list (namedv & term))) + +val maybe_relate_after_unfolding (g:env) (t1 t2:term) + : Tac (ret_t unfold_side) + +val maybe_unfold_head (g:env) (t0:term) + : Tac (ret_t (t1:term{equiv_token g t0 t1})) + +(** [norm_well_typed_term e steps t] will call the normalizer on the +term [t] using the list of steps [steps], over environment [e]. It +differs from norm_term_env in that it will not attempt to typecheck t +(so there is an implicit well-typing precondition for t, which we are +not strcitly requiring yet in reflection primitives) and it will also +return a token for the equivalence between t and t'. *) +val norm_well_typed_term + (g:env) (steps : list norm_step) (t:term) + : Tac (t':term{equiv_token g t t'}) + +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 + +(* Reentrancy: a metaprogram can spawn a sub-metaprogram to +solve a goal, starting from a clean state, and obtain the witness +that solves it. *) +val call_subtac (g:env) (t : unit -> Tac unit) (u:universe) + (goal_ty : term{typing_token g goal_ty (E_Total, pack_ln (Tv_Type u))}) + : Tac (ret_t (w:term{typing_token g w (E_Total, goal_ty)})) + +val call_subtac_tm + (g:env) (t : term) (u:universe) + (goal_ty : term{typing_token g goal_ty (E_Total, pack_ln (Tv_Type u))}) + : Tac (ret_t (w:term{typing_token g w (E_Total, goal_ty)})) diff --git a/stage0/ulib/FStar.Stubs.TypeChecker.Core.fsti b/stage0/ulib/FStar.Stubs.TypeChecker.Core.fsti new file mode 100644 index 00000000000..e9e96aa1a8e --- /dev/null +++ b/stage0/ulib/FStar.Stubs.TypeChecker.Core.fsti @@ -0,0 +1,30 @@ +(* + 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.Stubs.TypeChecker.Core + +// +// A stub for using some type definition from FStar.TypeChecker.Core +// + +type tot_or_ghost = + | E_Total + | E_Ghost + +type unfold_side = + | Left + | Right + | Both + | Neither diff --git a/stage0/ulib/FStar.Stubs.VConfig.fsti b/stage0/ulib/FStar.Stubs.VConfig.fsti new file mode 100644 index 00000000000..5260dbcc515 --- /dev/null +++ b/stage0/ulib/FStar.Stubs.VConfig.fsti @@ -0,0 +1,57 @@ +(* + 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.Stubs.VConfig + +(** This type represents the set of verification-relevant options used + to check a particular definition. It can be read from tactics via + sigelt_opts and set via the check_with attribute. + + This type, and the whole module, mirror FStar.VConfig in F* sources. + *) +type vconfig = { + initial_fuel : int; + max_fuel : int; + initial_ifuel : int; + max_ifuel : int; + detail_errors : bool; + detail_hint_replay : bool; + no_smt : bool; + quake_lo : int; + quake_hi : int; + quake_keep : bool; + retry : bool; + smtencoding_elim_box : bool; + smtencoding_nl_arith_repr : string; + smtencoding_l_arith_repr : string; + smtencoding_valid_intro : bool; + smtencoding_valid_elim : bool; + tcnorm : bool; + no_plugins : bool; + no_tactics : bool; + z3cliopt : list string; + z3smtopt : list string; + z3refresh : bool; + z3rlimit : int; + z3rlimit_factor : int; + z3seed : int; + z3version : string; + 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/stage0/ulib/FStar.TSet.fst b/stage0/ulib/FStar.TSet.fst new file mode 100644 index 00000000000..e84f7246884 --- /dev/null +++ b/stage0/ulib/FStar.TSet.fst @@ -0,0 +1,91 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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. +*) +(** Propositional sets (on any types): membership is a predicate *) +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 + *) +[@@erasable] +let set a = F.restricted_t a (fun _ -> prop) + +let equal #_ s1 s2 = forall x. s1 x <==> s2 x + +let mem x s = s x + +let empty #a = F.on_dom a #(fun _ -> prop) (fun x -> False) +let singleton #a x = F.on_dom a #(fun _ -> prop) (fun y -> y == x) +let union #a s1 s2 = F.on_dom a #(fun _ -> prop) (fun x -> s1 x \/ s2 x) +let intersect #a s1 s2 = F.on_dom a #(fun _ -> prop) (fun x -> s1 x /\ s2 x) +let complement #a s = F.on_dom a #(fun _ -> prop) (fun x -> ~ (s x)) +let intension #a f = F.on_dom a #(fun _ -> prop) f + +let mem_empty #_ _ = () +let mem_singleton #_ _ _ = () +let mem_union #_ _ _ _ = () +let mem_intersect #_ _ _ _ = () +let mem_complement #_ _ _ = () +let mem_subset #_ _ _ = () +let subset_mem #_ _ _ = () +let mem_intension #_ _ _ = () + +let lemma_equal_intro #_ _ _ = () +let lemma_equal_elim #a s1 s2 = PredicateExtensionality.predicateExtensionality a s1 s2 +let lemma_equal_refl #_ _ _ = () + +let tset_of_set #a s = + F.on_dom a #(fun _ -> prop) (fun (x:a) -> squash (b2t (Set.mem x s))) + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" +private let lemma_mem_tset_of_set_l (#a:eqtype) (s:Set.set a) (x:a) + :Lemma (requires True) + (ensures (mem x (tset_of_set s) ==> Set.mem x s)) + = if FStar.StrongExcludedMiddle.strong_excluded_middle (mem x (tset_of_set s)) then + let t1 = mem x (tset_of_set s) in + let t2 = b2t (Set.mem x s) in + let u:(squash t1) = FStar.Squash.get_proof t1 in + let u:(squash (squash t2)) = u in + let u:squash t2 = FStar.Squash.join_squash u in + FStar.Squash.give_proof u + else () +#pop-options + +private let lemma_mem_tset_of_set_r (#a:eqtype) (s:Set.set a) (x:a) + :Lemma (requires True) + (ensures (Set.mem x s ==> mem x (tset_of_set s))) + = if Set.mem x s then + let u:squash (b2t (Set.mem x s)) = () in + let _ = assert (mem x (tset_of_set s) == squash (b2t (Set.mem x s))) in + FStar.Squash.give_proof u + else () + +let lemma_mem_tset_of_set #a s x = lemma_mem_tset_of_set_l #a s x; lemma_mem_tset_of_set_r #a s x + +let filter #a f s = F.on_dom a #(fun _ -> prop) (fun (x:a) -> f x /\ s x) + +let lemma_mem_filter #a f s x = () + +let exists_y_in_s (#a:Type) (#b:Type) (s:set a) (f:a -> Tot b) (x:b) : Tot prop = + exists (y:a). mem y s /\ x == f y + +let map #_ #b f s = F.on_dom b (exists_y_in_s s f) + +let lemma_mem_map #_ #_ _ _ _ = () diff --git a/stage0/ulib/FStar.TSet.fsti b/stage0/ulib/FStar.TSet.fsti new file mode 100644 index 00000000000..47f99d567c9 --- /dev/null +++ b/stage0/ulib/FStar.TSet.fsti @@ -0,0 +1,131 @@ +(* + Copyright 2008-2014 Nikhil Swamy, Aseem Rastogi, + Microsoft Research, University of Maryland + + 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. +*) +(** Propositional sets (on any types): membership is a predicate *) +module FStar.TSet + +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +(* + * AR: mark it must_erase_for_extraction temporarily until CMI comes in + *) +[@@must_erase_for_extraction; erasable] +val set (a:Type u#a) : Type u#(max 1 a) + +val equal (#a:Type) (s1:set a) (s2:set a) : prop + +(* destructors *) + +val mem : 'a -> set 'a -> prop + +(* constructors *) +val empty : #a:Type -> Tot (set a) +val singleton : #a:Type -> x:a -> Tot (set a) +val union : #a:Type -> x:set a -> y:set a -> Tot (set a) +val intersect : #a:Type -> x:set a -> y:set a -> Tot (set a) +val complement : #a:Type -> x:set a -> Tot (set a) +val intension : #a:Type -> (a -> prop) -> Tot (set a) + +(* ops *) +let subset (#a:Type) (s1:set a) (s2:set a) : Type0 = forall x. mem x s1 ==> mem x s2 + +(* Properties *) +val mem_empty: #a:Type -> x:a -> Lemma + (requires True) + (ensures (~ (mem x empty))) + [SMTPat (mem x empty)] + +val mem_singleton: #a:Type -> x:a -> y:a -> Lemma + (requires True) + (ensures (mem y (singleton x) <==> (x==y))) + [SMTPat (mem y (singleton x))] + +val mem_union: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (union s1 s2) == (mem x s1 \/ mem x s2))) + [SMTPat (mem x (union s1 s2))] + +val mem_intersect: #a:Type -> x:a -> s1:set a -> s2:set a -> Lemma + (requires True) + (ensures (mem x (intersect s1 s2) == (mem x s1 /\ mem x s2))) + [SMTPat (mem x (intersect s1 s2))] + +val mem_complement: #a:Type -> x:a -> s:set a -> Lemma + (requires True) + (ensures (mem x (complement s) == ~(mem x s))) + [SMTPat (mem x (complement s))] + +val mem_subset: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 ==> mem x s2)) + (ensures (subset s1 s2)) + [SMTPat (subset s1 s2)] + +val subset_mem: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (subset s1 s2)) + (ensures (forall x. mem x s1 ==> mem x s2)) + [SMTPat (subset s1 s2)] + +val mem_intension (#a:Type) (x:a) (f:(a -> prop)) +: Lemma + (ensures (mem x (intension f) == f x)) + [SMTPat (mem x (intension f))] + +(* extensionality *) + +val lemma_equal_intro: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (forall x. mem x s1 <==> mem x s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_elim: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (equal s1 s2)) + (ensures (s1 == s2)) + [SMTPat (equal s1 s2)] + +val lemma_equal_refl: #a:Type -> s1:set a -> s2:set a -> Lemma + (requires (s1 == s2)) + (ensures (equal s1 s2)) + [SMTPat (equal s1 s2)] + +val tset_of_set (#a:eqtype) (s:Set.set a) : Tot (set a) + +val lemma_mem_tset_of_set (#a:eqtype) (s:Set.set a) (x:a) + :Lemma (requires True) + (ensures (Set.mem x s <==> mem x (tset_of_set s))) + [SMTPat (mem x (tset_of_set s))] + +val filter (#a:Type) (f:a -> Type0) (s:set a) : Tot (set a) + +val lemma_mem_filter (#a:Type) (f:(a -> Type0)) (s:set a) (x:a) + :Lemma (requires True) + (ensures (mem x (filter f s) <==> mem x s /\ f x)) + [SMTPat (mem x (filter f s))] + +val map (#a:Type) (#b:Type) (f:a -> Tot b) (s:set a) : Tot (set b) + +val lemma_mem_map (#a:Type) (#b:Type) (f:(a -> Tot b)) (s:set a) (x:b) + :Lemma ((exists (y:a). {:pattern (mem y s)} mem y s /\ x == f y) <==> mem x (map f s)) + [SMTPat (mem x (map f s))] + +#reset-options +let rec as_set' (#a:Type) (l:list a) : Tot (set a) = + match l with + | [] -> empty + | hd::tl -> union (singleton hd) (as_set' tl) + + +(* unfold let as_set (#a:Type) (l:list a) : set a = *) +(* Prims.norm [zeta; iota; delta_only ["FStar.TSet.as_set'"]] (as_set' l) *) diff --git a/stage0/ulib/FStar.Tactics.Arith.fst b/stage0/ulib/FStar.Tactics.Arith.fst new file mode 100644 index 00000000000..fb5c0e654fd --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Arith.fst @@ -0,0 +1,52 @@ +(* + 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.Arith + +open FStar.Tactics.V2.Bare +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 = + let g = cur_goal () in + match run_tm (is_arith_prop g) with + | Inr _ -> true + | _ -> false + +val split_arith : unit -> Tac unit +let rec split_arith () = + if is_arith_goal () then + begin + prune ""; + addns "Prims"; + smt () + end + else begin + let g = cur_goal () in + match term_as_formula g with + | True_ -> + trivial () + | And l r -> + seq FStar.Tactics.split split_arith + | Implies p q -> + let _ = implies_intro () in + seq split_arith l_revert + | Forall _x _sort _p -> + let bs = forall_intros () in + seq split_arith (fun () -> l_revert_all bs) + | _ -> + () + end diff --git a/stage0/ulib/FStar.Tactics.BV.Lemmas.fst b/stage0/ulib/FStar.Tactics.BV.Lemmas.fst new file mode 100644 index 00000000000..f1162ad1514 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BV.Lemmas.fst @@ -0,0 +1,38 @@ +(* + 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.BV.Lemmas + +open FStar.BV +open FStar.UInt + +// using uint_t' instead of uint_t breaks the tactic (goes to inl). + +(* Congruence lemmas *) +let cong_bvand #n #w #x #y #z pf1 pf2 = () +let cong_bvxor #n #w #x #y #z pf1 pf2 = () +let cong_bvor #n #w #x #y #z pf1 pf2 = () +let cong_bvshl #n #w #x #y pf = () +let cong_bvshr #n #w #x #y pf = () +let cong_bvdiv #n #w #x #y pf = () +let cong_bvmod #n #w #x #y pf = () +let cong_bvmul #n #w #x #y pf = () +let cong_bvadd #n #w #x #y #z pf1 pf2 = () +let cong_bvsub #n #w #x #y #z pf1 pf2 = () +let eq_to_bv #n #x #y pf = int2bv_lemma_2 #n x y +let lt_to_bv #n #x #y pf = int2bv_lemma_ult_2 #n x y +let trans #n #x #y #z #w pf1 pf2 pf3 = () +let trans_lt #n #x #y #z #w pf1 pf2 pf3 = () +let trans_lt2 #n #x #y #z #w pf1 pf2 pf3 = int2bv_lemma_ult_2 x y \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.BV.Lemmas.fsti b/stage0/ulib/FStar.Tactics.BV.Lemmas.fsti new file mode 100644 index 00000000000..bd5bde0903d --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BV.Lemmas.fsti @@ -0,0 +1,90 @@ +(* + 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.BV.Lemmas + +open FStar.BV +open FStar.UInt + +// using uint_t' instead of uint_t breaks the tactic (goes to inl). + +(* Congruence lemmas *) +val cong_bvand : #n:pos -> (#w:bv_t n) -> (#x:bv_t n) -> + (#y:bv_t n) -> (#z:bv_t n) -> + squash (w == y) -> squash (x == z) -> + Lemma (bvand #n w x == bvand #n y z) + +val cong_bvxor : #n:pos -> (#w:bv_t n) -> (#x:bv_t n) -> + (#y:bv_t n) -> (#z:bv_t n) -> + squash (w == y) -> squash (x == z) -> + Lemma (bvxor w x == bvxor y z) + +val cong_bvor : #n:pos -> (#w:bv_t n) -> (#x:bv_t n) -> + (#y:bv_t n) -> (#z:bv_t n) -> + squash (w == y) -> squash (x == z) -> + Lemma (bvor w x == bvor y z) + +val cong_bvshl : #n:pos -> (#w:bv_t n) -> (#x:uint_t n) -> + (#y:bv_t n) -> squash (w == y) -> + Lemma (bvshl w x == bvshl y x) + +val cong_bvshr : #n:pos -> #w:bv_t n -> (#x:uint_t n) -> + #y:bv_t n -> squash (w == y) -> + Lemma (bvshr #n w x == bvshr #n y x) + +val cong_bvdiv : #n:pos -> #w:bv_t n -> (#x:uint_t n{x <> 0}) -> + #y:bv_t n -> squash (w == y) -> + Lemma (bvdiv #n w x == bvdiv #n y x) + +val cong_bvmod : #n:pos -> #w:bv_t n -> (#x:uint_t n{x <> 0}) -> + #y:bv_t n -> squash (w == y) -> + Lemma (bvmod #n w x == bvmod #n y x) + +val cong_bvmul : #n:pos -> #w:bv_t n -> (#x:uint_t n) -> + #y:bv_t n -> squash (w == y) -> + Lemma (bvmul #n w x == bvmul #n y x) + +val cong_bvadd : #n:pos -> (#w:bv_t n) -> (#x:bv_t n) -> + (#y:bv_t n) -> (#z:bv_t n) -> + squash (w == y) -> squash (x == z) -> + Lemma (bvadd w x == bvadd y z) + +val cong_bvsub : #n:pos -> (#w:bv_t n) -> (#x:bv_t n) -> + (#y:bv_t n) -> (#z:bv_t n) -> + squash (w == y) -> squash (x == z) -> + Lemma (bvsub w x == bvsub y z) + +(* Used to reduce the initial equation to an equation on bitvectors*) +val eq_to_bv: #n:pos -> (#x:uint_t n) -> (#y:uint_t n) -> + squash (int2bv #n x == int2bv #n y) -> Lemma (x == y) + +val lt_to_bv: #n:pos -> (#x:uint_t n) -> (#y:uint_t n) -> + (b2t (bvult #n (int2bv #n x) (int2bv #n y))) -> Lemma (x < y) + +(* Creates two fresh variables and two equations of the form int2bv + x = z /\ int2bv y = w. The above lemmas transform these two + equations before finally instantiating them through reflexivity, + leaving Z3 to solve z = w *) +val trans: #n:pos -> (#x:bv_t n) -> (#y:bv_t n) -> (#z:bv_t n) -> (#w:bv_t n) -> + squash (x == z) -> squash (y == w) -> squash (z == w) -> + Lemma (x == y) + +val trans_lt: #n:pos -> (#x:bv_t n) -> (#y:bv_t n) -> (#z:bv_t n) -> (#w:bv_t n) -> + (eq2 #(bv_t n) x z) -> (eq2 #(bv_t n) y w) -> squash (bvult #n z w) -> + Lemma (bvult #n x y) + +val trans_lt2: #n:pos -> (#x:uint_t n) -> (#y:uint_t n) -> (#z:bv_t n) -> (#w:bv_t n) -> + squash (int2bv #n x == z) -> squash (int2bv #n y == w) -> squash (bvult #n z w) -> + Lemma (x < y) \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.BV.fst b/stage0/ulib/FStar.Tactics.BV.fst new file mode 100644 index 00000000000..ffc88862410 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BV.fst @@ -0,0 +1,124 @@ +(* + 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.BV + +open FStar.Tactics.V2.Bare +open FStar.Tactics.MApply0 +open FStar.Reflection.V2.Formula +open FStar.Reflection.V2.Arith +open FStar.BV +open FStar.UInt +open FStar.Tactics.BV.Lemmas + +// using uint_t' instead of uint_t breaks the tactic (goes to inl). + +let rec arith_expr_to_bv (e:expr) : Tac unit = + match e with + | NatToBv (MulMod e1 _) | MulMod e1 _ -> + apply_lemma (`int2bv_mul); + apply_lemma (`cong_bvmul); + arith_expr_to_bv e1 + | NatToBv (Umod e1 _) | Umod e1 _ -> + apply_lemma (`int2bv_mod); + apply_lemma (`cong_bvmod); + arith_expr_to_bv e1 + | NatToBv (Udiv e1 _) | Udiv e1 _ -> + apply_lemma (`int2bv_div); + apply_lemma (`cong_bvdiv); + arith_expr_to_bv e1 + | NatToBv (Shl e1 _) | Shl e1 _ -> + apply_lemma (`int2bv_shl); + apply_lemma (`cong_bvshl); + arith_expr_to_bv e1 + | NatToBv (Shr e1 _) | Shr e1 _ -> + apply_lemma (`int2bv_shr); + apply_lemma (`cong_bvshr); + arith_expr_to_bv e1 + | NatToBv (Land e1 e2) | (Land e1 e2) -> + apply_lemma (`int2bv_logand); + apply_lemma (`cong_bvand); + arith_expr_to_bv e1; + arith_expr_to_bv e2 + | NatToBv (Lxor e1 e2) | (Lxor e1 e2) -> + apply_lemma (`int2bv_logxor); + apply_lemma (`cong_bvxor); + arith_expr_to_bv e1; + arith_expr_to_bv e2 + | NatToBv (Lor e1 e2) | (Lor e1 e2) -> + apply_lemma (`int2bv_logor); + apply_lemma (`cong_bvor); + arith_expr_to_bv e1; + arith_expr_to_bv e2 + | NatToBv (Ladd e1 e2) | (Ladd e1 e2) -> + apply_lemma (`int2bv_add); + apply_lemma (`cong_bvadd); + arith_expr_to_bv e1; + arith_expr_to_bv e2 + | NatToBv (Lsub e1 e2) | (Lsub e1 e2) -> + apply_lemma (`int2bv_sub); + apply_lemma (`cong_bvsub); + arith_expr_to_bv e1; + arith_expr_to_bv e2 + | _ -> + trefl () + +let arith_to_bv_tac () : Tac unit = focus (fun () -> + norm [delta_only ["FStar.BV.bvult"]]; + let g = cur_goal () in + let f = term_as_formula g in + match f with + | Comp (Eq _) l r -> + begin match run_tm (as_arith_expr l) with + | Inl s -> + dump s; + trefl () + | Inr e -> + // dump "inr arith_to_bv"; + seq (fun () -> arith_expr_to_bv e) trefl + end + | _ -> + fail ("arith_to_bv_tac: unexpected: " ^ term_to_string g) +) + +(* As things are right now, we need to be able to parse NatToBv +too. This can be useful, if we have mixed expressions so I'll leave it +as is for now *) +let bv_tac () = focus (fun () -> + mapply0 (`eq_to_bv); + mapply0 (`trans); + arith_to_bv_tac (); + arith_to_bv_tac (); + set_options "--smtencoding.elim_box true"; + norm [delta] ; + smt () +) + +let bv_tac_lt n = focus (fun () -> + 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 (); + arith_to_bv_tac (); + set_options "--smtencoding.elim_box true"; + smt () +) + +let to_bv_tac () = focus (fun () -> + apply_lemma (`eq_to_bv); + apply_lemma (`trans); + arith_to_bv_tac (); + arith_to_bv_tac () +) diff --git a/stage0/ulib/FStar.Tactics.BV.fsti b/stage0/ulib/FStar.Tactics.BV.fsti new file mode 100644 index 00000000000..eb6f09cdd72 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BV.fsti @@ -0,0 +1,31 @@ +(* + 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.BV + +open FStar.Tactics.Effect +open FStar.Tactics.BV.Lemmas {} (* bring into tc scope, since the tactic calls the lemmas *) + +[@@plugin] +val arith_to_bv_tac () : Tac unit + +[@@plugin] +val bv_tac () : Tac unit + +[@@plugin] +val bv_tac_lt (n:int) : Tac unit + +[@@plugin] +val to_bv_tac () : Tac unit \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.BreakVC.fst b/stage0/ulib/FStar.Tactics.BreakVC.fst new file mode 100644 index 00000000000..a4e4af39ca6 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BreakVC.fst @@ -0,0 +1,34 @@ +module FStar.Tactics.BreakVC + +open FStar.Tactics.V2 + +let mono_lem () : Lemma (tac_wp_monotonic #unit break_wp') = + assert (tac_wp_monotonic #unit break_wp') by begin + norm [delta]; + l_to_r [`spinoff_eq] + end + +let squash_p_impl_p (p:pure_post unit) : squash (squash (p ()) ==> p ()) = () + +#push-options "--no_tactics" // don't process `with_tactic` markers + +let (==>>) = (==>) // Working around #3173 and #3175 + +let aux (ps:proofstate) (p : __result unit -> Type0) +: Lemma (break_wp ps p ==> tac_return_wp () ps p) += calc (==>>) { + break_wp ps p; + == {} + spinoff (squash (p (Success () ps))); + <==> { spinoff_equiv (squash (p (Success () ps))) } + squash (p (Success () ps)); + ==>> { squash_p_impl_p _ } + p (Success () ps); + ==> { () } + tac_return_wp () ps p; + } + +let break_vc () : TAC unit break_wp = + Classical.forall_intro_2 aux; + () +#pop-options diff --git a/stage0/ulib/FStar.Tactics.BreakVC.fsti b/stage0/ulib/FStar.Tactics.BreakVC.fsti new file mode 100644 index 00000000000..0ef1fd151a9 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.BreakVC.fsti @@ -0,0 +1,22 @@ +module FStar.Tactics.BreakVC + +open FStar.Tactics +open FStar.Stubs.Tactics.Result + +let break_wp' : tac_wp_t0 unit = + fun ps p -> spinoff (squash (p (Success () ps))) + +val mono_lem () : Lemma (tac_wp_monotonic #unit break_wp') + +private +let post () : Tac unit = + norm [delta_fully [`%mono_lem; `%break_wp']]; + trefl() + +[@@postprocess_with post] +unfold +let break_wp : tac_wp_t unit = + let _ = mono_lem () in + break_wp' + +val break_vc () : TAC unit break_wp diff --git a/stage0/ulib/FStar.Tactics.Builtins.fsti b/stage0/ulib/FStar.Tactics.Builtins.fsti new file mode 100644 index 00000000000..f852a1c1fa2 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Builtins.fsti @@ -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.Stubs.Tactics.V1.Builtins diff --git a/stage0/ulib/FStar.Tactics.Canon.Lemmas.fst b/stage0/ulib/FStar.Tactics.Canon.Lemmas.fst new file mode 100644 index 00000000000..8c35cb2c801 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Canon.Lemmas.fst @@ -0,0 +1,38 @@ +(* + 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.Canon.Lemmas + +open FStar.Mul + +let distr #x #y #z = () +let distl #x #y #z = () +let ass_plus_l #x #y #z = () +let ass_mult_l #x #y #z = () +let comm_plus #x #y = () +let sw_plus #x #y #z = () +let sw_mult #x #y #z = () +let comm_mult #x #y = () +let trans #a #x #z #y e1 e2 = () +let cong_plus #w #x #y #z p q = () +let cong_mult #w #x #y #z p q = () +let neg_minus_one #x = () +let x_plus_zero #x = () +let zero_plus_x #x = () +let x_mult_zero #x = () +let zero_mult_x #x = () +let x_mult_one #x = () +let one_mult_x #x = () +let minus_is_plus #x #y = () \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.Canon.Lemmas.fsti b/stage0/ulib/FStar.Tactics.Canon.Lemmas.fsti new file mode 100644 index 00000000000..7b573543497 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Canon.Lemmas.fsti @@ -0,0 +1,61 @@ +(* + 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.Canon.Lemmas + +open FStar.Mul + +val distr : (#x : int) -> (#y : int) -> (#z : int) -> Lemma (x * (y + z) == x * y + x * z) + +val distl : (#x : int) -> (#y : int) -> (#z : int) -> Lemma ((x + y) * z == x * z + y * z) + +val ass_plus_l : (#x : int) -> (#y : int) -> (#z : int) -> Lemma (x + (y + z) == (x + y) + z) + +val ass_mult_l : (#x : int) -> (#y : int) -> (#z : int) -> Lemma (x * (y * z) == (x * y) * z) + +val comm_plus : (#x : int) -> (#y : int) -> Lemma (x + y == y + x) + +val sw_plus : (#x : int) -> (#y : int) -> (#z : int) -> Lemma ((x + y) + z == (x + z) + y) + +val sw_mult : (#x : int) -> (#y : int) -> (#z : int) -> Lemma ((x * y) * z == (x * z) * y) + +val comm_mult : (#x : int) -> (#y : int) -> Lemma (x * y == y * x) + +val trans : (#a:Type) -> (#x:a) -> (#z:a) -> (#y:a) -> + squash (x == y) -> squash (y == z) -> Lemma (x == z) + +val cong_plus : (#w:int) -> (#x:int) -> (#y:int) -> (#z:int) -> + squash (w == y) -> squash (x == z) -> + Lemma (w + x == y + z) + +val cong_mult : (#w:int) -> (#x:int) -> (#y:int) -> (#z:int) -> + squash (w == y) -> squash (x == z) -> + Lemma (w * x == y * z) + +val neg_minus_one : (#x:int) -> Lemma (-x == (-1) * x) + +val x_plus_zero : (#x:int) -> Lemma (x + 0 == x) + +val zero_plus_x : (#x:int) -> Lemma (0 + x == x) + +val x_mult_zero : (#x:int) -> Lemma (x * 0 == 0) + +val zero_mult_x : (#x:int) -> Lemma (0 * x == 0) + +val x_mult_one : (#x:int) -> Lemma (x * 1 == x) + +val one_mult_x : (#x:int) -> Lemma (1 * x == x) + +val minus_is_plus : (#x : int) -> (#y : int) -> Lemma (x - y == x + (-y)) diff --git a/stage0/ulib/FStar.Tactics.Canon.fst b/stage0/ulib/FStar.Tactics.Canon.fst new file mode 100644 index 00000000000..61a7ef8f431 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Canon.fst @@ -0,0 +1,179 @@ +(* + 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.Canon + +open FStar.Reflection.V2 +open FStar.Tactics.V2.Bare +open FStar.Reflection.V2.Arith +open FStar.Mul +module O = FStar.Order +open FStar.Tactics.Canon.Lemmas + +let step (t : unit -> Tac unit) : Tac unit = + apply_lemma (`trans); + t () + +let step_lemma (lem : term) : Tac unit = + step (fun () -> apply_lemma lem) + +val canon_point : expr -> Tac expr +let rec canon_point e = + let skip () : Tac expr = + trefl (); e + in + match e with + // Evaluate constants + | Plus (Lit a) (Lit b) -> + norm [primops]; + trefl (); + Lit (a + b) + + | Mult (Lit a) (Lit b) -> + norm [delta; primops]; // Need delta to turn op_Star into op_Multiply, as there's no primop for it + trefl (); + Lit (a * b) + + // Forget about negations + | Neg e -> + step_lemma (`neg_minus_one); + canon_point (Mult (Lit (-1)) e) + + // Distribute + | Mult a (Plus b c) -> + step_lemma (`distr); + step_lemma (`cong_plus); + let l = canon_point (Mult a b) in + let r = canon_point (Mult a c) in + canon_point (Plus l r) + + | Mult (Plus a b) c -> + step_lemma (`distl); + step_lemma (`cong_plus); + let l = canon_point (Mult a c) in + let r = canon_point (Mult b c) in + canon_point (Plus l r) + + // Associate to the left + | Mult a (Mult b c) -> + step_lemma (`ass_mult_l); + step_lemma (`cong_mult); + let l = canon_point (Mult a b) in + let r = canon_point c in + canon_point (Mult l r) + + | Plus a (Plus b c) -> + step_lemma (`ass_plus_l); + step_lemma (`cong_plus); + let l = canon_point (Plus a b) in + let r = canon_point c in + canon_point (Plus l r) + + | Plus (Plus a b) c -> + if O.gt (compare_expr b c) + then begin + step_lemma (`sw_plus); + apply_lemma (`cong_plus); + let l = canon_point (Plus a c) in + trefl() ; + Plus l b + end + else skip () + + | Mult (Mult a b) c -> + if O.gt (compare_expr b c) + then begin + step_lemma (`sw_mult); + apply_lemma (`cong_mult); + let l = canon_point (Mult a c) in + trefl (); + Mult l b + end + else skip () + + | Plus a (Lit 0) -> + apply_lemma (`x_plus_zero); + a + + | Plus (Lit 0) b -> + apply_lemma (`zero_plus_x); + b + + | Plus a b -> + if O.gt (compare_expr a b) + then (apply_lemma (`comm_plus); Plus b a) + else skip () + + | Mult (Lit 0) _ -> + apply_lemma (`zero_mult_x); + Lit 0 + + | Mult _ (Lit 0) -> + apply_lemma (`x_mult_zero); + Lit 0 + + | Mult (Lit 1) r -> + apply_lemma (`one_mult_x); + r + + | Mult l (Lit 1) -> + apply_lemma (`x_mult_one); + l + + | Mult a b -> + if O.gt (compare_expr a b) + then (apply_lemma (`comm_mult); Mult b a) + else skip () + + // Forget about subtraction + | Minus a b -> + step_lemma (`minus_is_plus); + step_lemma (`cong_plus); + trefl (); + let negb = match b with | Lit n -> Lit (-n) | _ -> Neg b in + // ^ We need to take care wrt literals, since an application (- N) + // will get reduced to the literal -N and then neg_minus_one will not + // apply. + let r = canon_point negb in + canon_point (Plus a r) + + | _ -> + skip () + +// On canon_point_entry, we interpret the LHS of the goal as an +// arithmetic expression, of which we keep track in canon_point so we +// avoid reinterpreting the goal, which gives a good speedup. +// +// However, we are repeating work between canon_point_entry calls, since +// in (L + R), we are called once for L, once for R, and once for the +// sum which traverses both (their canonized forms, actually). +// +// The proper way to solve this is have some state-passing in pointwise, +// maybe having the inner tactic be of type (list a -> tactic a), where +// the list is the collected results for all child calls. +let canon_point_entry () : Tac unit = + norm [primops]; + let g = cur_goal () in + match term_as_formula g with + | Comp (Eq _) l r -> + begin match run_tm (is_arith_expr l) with + | Inr e -> (let _e = canon_point e in ()) + | Inl _ -> trefl () + end + | _ -> + fail ("impossible: " ^ term_to_string g) + +let canon () : Tac unit = + pointwise canon_point_entry diff --git a/stage0/ulib/FStar.Tactics.Canon.fsti b/stage0/ulib/FStar.Tactics.Canon.fsti new file mode 100644 index 00000000000..88e00ee66bf --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Canon.fsti @@ -0,0 +1,22 @@ +(* + 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.Canon + +open FStar.Tactics.Effect +open FStar.Tactics.Canon.Lemmas {} (* bring lemmas into tc scope *) + +[@@plugin] +val canon () : Tac unit diff --git a/stage0/ulib/FStar.Tactics.CanonCommMonoid.fst b/stage0/ulib/FStar.Tactics.CanonCommMonoid.fst new file mode 100644 index 00000000000..18553f1ca9f --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonCommMonoid.fst @@ -0,0 +1,485 @@ +(* + 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.CanonCommMonoid + +open FStar.Algebra.CommMonoid +open FStar.List +open FStar.Reflection.V2 +open FStar.Tactics.V2 +open FStar.Classical +open FStar.Tactics.CanonCommSwaps + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +(* An expression canonizer for commutative monoids. + Inspired by: + - http://adam.chlipala.net/cpdt/html/Cpdt.Reflection.html + - http://poleiro.info/posts/2015-04-13-writing-reflective-tactics.html +*) + +(* Only dump when debugging is on *) +private let dump m = if debugging () then dump m + +(***** Expression syntax *) + +let var : eqtype = nat + +type exp : Type = + | Unit : exp + | Var : var -> exp + | Mult : exp -> exp -> exp + +let rec exp_to_string (e:exp) : string = + match e with + | Unit -> "Unit" + | Var x -> "Var " ^ string_of_int (x <: var) + | Mult e1 e2 -> "Mult (" ^ exp_to_string e1 + ^ ") (" ^ exp_to_string e2 ^ ")" + +(***** Expression denotation *) + +// Use a map that stores for each variable +// (1) its denotation that should be treated abstractly (type a) and +// (2) user-specified extra information depending on its term (type b) + +let vmap (a b:Type) = list (var & (a&b)) & (a & b) +let const (#a #b:Type) (xa:a) (xb:b) : vmap a b = [], (xa,xb) +let select (#a #b:Type) (x:var) (vm:vmap a b) : Tot a = + match assoc #var #(a & b) x (fst vm) with + | Some (a, _) -> a + | _ -> fst (snd vm) +let select_extra (#a #b:Type) (x:var) (vm:vmap a b) : Tot b = + match assoc #var #(a & b) x (fst vm) with + | Some (_, b) -> b + | _ -> snd (snd vm) +let update (#a #b:Type) (x:var) (xa:a) (xb:b) (vm:vmap a b) : vmap a b = + (x, (xa, xb))::fst vm, snd vm + +let rec mdenote (#a #b:Type) (m:cm a) (vm:vmap a b) (e:exp) : Tot a = + match e with + | Unit -> CM?.unit m + | Var x -> select x vm + | Mult e1 e2 -> CM?.mult m (mdenote m vm e1) (mdenote m vm e2) + +let rec xsdenote (#a #b:Type) (m:cm a) (vm:vmap a b) (xs:list var) : Tot a = + match xs with + | [] -> CM?.unit m + | [x] -> select x vm + | x::xs' -> CM?.mult m (select x vm) (xsdenote m vm xs') + +(***** Flattening expressions to lists of variables *) + +let rec flatten (e:exp) : list var = + match e with + | Unit -> [] + | Var x -> [x] + | Mult e1 e2 -> flatten e1 @ flatten e2 + +let rec flatten_correct_aux (#a #b:Type) (m:cm a) (vm:vmap a b) + (xs1 xs2:list var) : + Lemma (xsdenote m vm (xs1 @ xs2) == CM?.mult m (xsdenote m vm xs1) + (xsdenote m vm xs2)) = + match xs1 with + | [] -> CM?.identity m (xsdenote m vm xs2) + | [x] -> if (Nil? xs2) then right_identity m (select x vm) + | x::xs1' -> (CM?.associativity m (select x vm) + (xsdenote m vm xs1') (xsdenote m vm xs2); + flatten_correct_aux m vm xs1' xs2) + +let rec flatten_correct (#a #b:Type) (m:cm a) (vm:vmap a b) (e:exp) : + Lemma (mdenote m vm e == xsdenote m vm (flatten e)) = + match e with + | Unit | Var _ -> () + | Mult e1 e2 -> flatten_correct_aux m vm (flatten e1) (flatten e2); + flatten_correct m vm e1; flatten_correct m vm e2 + +(***** Permuting the lists of variables + by swapping adjacent elements *) + +(* The user has control over the permutation. He can store extra + information in the vmap and use that for choosing the + permutation. This means that permute has access to the vmap. *) + +let permute (b:Type) = a:Type -> vmap a b -> list var -> list var + +// high-level correctness criterion for permutations +let permute_correct (#b:Type) (p:permute b) = + #a:Type -> m:cm a -> vm:vmap a b -> xs:list var -> + Lemma (xsdenote m vm xs == xsdenote m vm (p a vm xs)) + +// sufficient condition: +// permutation has to be expressible as swaps of adjacent list elements + +let rec apply_swap_aux_correct (#a #b:Type) (n:nat) (m:cm a) (vm:vmap a b) + (xs:list var) (s:swap (length xs + n)) : + Lemma (requires True) + (ensures (xsdenote m vm xs == xsdenote m vm (apply_swap_aux n xs s))) + (decreases xs) = + match xs with + | [] | [_] -> () + | x1 :: x2 :: xs' -> + if n = (s <: nat) + then (// x1 + (x2 + xs') =a (x1 + x2) + xs' + // =c (x2 + x1) + xs' = a x2 + (x1 + xs') + let a = CM?.associativity m in + a (select x1 vm) (select x2 vm) (xsdenote m vm xs'); + a (select x2 vm) (select x1 vm) (xsdenote m vm xs'); + CM?.commutativity m (select x1 vm) (select x2 vm)) + else apply_swap_aux_correct (n+1) m vm (x2 :: xs') s + +let apply_swap_correct (#a #b:Type) (m:cm a) (vm:vmap a b) + (xs:list var) (s:swap (length xs)): + Lemma (requires True) + (ensures (xsdenote m vm xs == xsdenote m vm (apply_swap xs s))) + (decreases xs) = apply_swap_aux_correct 0 m vm xs s + +let rec apply_swaps_correct (#a #b:Type) (m:cm a) (vm:vmap a b) + (xs:list var) (ss:list (swap (length xs))): + Lemma (requires True) + (ensures (xsdenote m vm xs == xsdenote m vm (apply_swaps xs ss))) + (decreases ss) = + match ss with + | [] -> () + | s::ss' -> apply_swap_correct m vm xs s; + apply_swaps_correct m vm (apply_swap xs s) ss' + +let permute_via_swaps (#b:Type) (p:permute b) = + (#a:Type) -> (vm:vmap a b) -> xs:list var -> + Lemma (exists ss. p a vm xs == apply_swaps xs ss) + +let permute_via_swaps_correct_aux + (#b:Type) (p:permute b) (pvs:permute_via_swaps p) + (#a:Type) (m:cm a) (vm:vmap a b) (xs:list var) : + Lemma (xsdenote m vm xs == xsdenote m vm (p a vm xs)) = + pvs vm xs; + assert(exists ss. p a vm xs == apply_swaps xs ss); + exists_elim (xsdenote m vm xs == xsdenote m vm (p a vm xs)) + (() <: squash (exists ss. p a vm xs == apply_swaps xs ss)) + (fun ss -> apply_swaps_correct m vm xs ss) + +let permute_via_swaps_correct + (#b:Type) (p:permute b) (pvs:permute_via_swaps p) : permute_correct p = + permute_via_swaps_correct_aux p pvs + +(***** Sorting variables is a correct permutation + (since it can be done by swaps) *) + +// Here we sort without associating any extra information with the +// variables and only look at the actual identifiers + +let sort : permute unit = + (fun a vm -> List.Tot.Base.sortWith #nat (compare_of_bool (<))) + +let sortWith (#b:Type) (f:nat -> nat -> int) : permute b = + (fun a vm -> List.Tot.Base.sortWith #nat f) + +let sort_via_swaps (#a:Type) (vm : vmap a unit) (xs:list var) : + Lemma (exists ss. sort a vm xs == apply_swaps xs ss) = + List.Tot.Properties.sortWith_permutation #nat (compare_of_bool (<)) xs; + let ss = equal_counts_implies_swaps #nat xs (sort a vm xs) in + assert (sort a vm xs == apply_swaps xs ss) + +let sortWith_via_swaps (#a #b:Type) (f:nat -> nat -> int) + (vm : vmap a b) (xs:list var) : + Lemma (exists ss. sortWith #b f a vm xs == apply_swaps xs ss) = + List.Tot.Properties.sortWith_permutation #nat f xs; + let ss = equal_counts_implies_swaps #nat xs (sortWith #b f a vm xs) in + assert (sortWith #b f a vm xs == apply_swaps xs ss) + +let sort_correct_aux (#a:Type) (m:cm a) (vm:vmap a unit) (xs:list var) : + Lemma (xsdenote m vm xs == xsdenote m vm (sort a vm xs)) = + permute_via_swaps_correct #unit sort sort_via_swaps m vm xs + +let sortWith_correct_aux (#a #b:Type) (f:nat -> nat -> int) (m:cm a) (vm:vmap a b) (xs:list var) : + Lemma (xsdenote m vm xs == xsdenote m vm (sortWith #b f a vm xs)) = + permute_via_swaps_correct (sortWith f) (fun #a -> sortWith_via_swaps f) m vm xs + +let sort_correct : permute_correct #unit sort = sort_correct_aux + +let sortWith_correct (#b:Type) (f:nat -> nat -> int) : + permute_correct #b (sortWith #b f) = + (fun #a -> sortWith_correct_aux #a #b f) + +(***** Canonicalization tactics *) + +let canon (#a #b:Type) (vm:vmap a b) (p:permute b) (e:exp) = p a vm (flatten e) + +let canon_correct (#a #b:Type) (p:permute b) (pc:permute_correct p) + (m:cm a) (vm:vmap a b) (e:exp) : + Lemma (mdenote m vm e == xsdenote m vm (canon vm p e)) = + flatten_correct m vm e; pc m vm (flatten e) + +let monoid_reflect (#a #b:Type) (p:permute b) (pc:permute_correct p) + (m:cm a) (vm:vmap a b) (e1 e2:exp) + (_ : squash (xsdenote m vm (canon vm p e1) == + xsdenote m vm (canon vm p e2))) + : squash (mdenote m vm e1 == mdenote m vm e2) = + canon_correct p pc m vm e1; canon_correct p pc m vm e2 + +(* Finds the position of first occurrence of x in xs. + This is now specialized to terms and their funny term_eq. *) +let rec where_aux (n:nat) (x:term) (xs:list term) : + Tac (option nat) = + match xs with + | [] -> None + | x'::xs' -> if term_eq_old x x' then Some n else where_aux (n+1) x xs' +let where = where_aux 0 + +// This expects that mult, unit, and t have already been normalized +let rec reification_aux (#a #b:Type) (unquotea:term->Tac a) (ts:list term) + (vm:vmap a b) (f:term->Tac b) + (mult unit t : term) : Tac (exp & list term & vmap a b) = + let hd, tl = collect_app_ref t in + let fvar (t:term) (ts:list term) (vm:vmap a b) : Tac (exp & list term & vmap a b) = + match where t ts with + | Some v -> (Var v, ts, vm) + | None -> let vfresh = length ts in let z = unquotea t in + (Var vfresh, ts @ [t], update vfresh z (f t) vm) + in + match inspect hd, list_unref tl with + | Tv_FVar fv, [(t1, Q_Explicit) ; (t2, Q_Explicit)] -> + if term_eq_old (pack (Tv_FVar fv)) mult + then (let (e1,ts,vm) = reification_aux unquotea ts vm f mult unit t1 in + let (e2,ts,vm) = reification_aux unquotea ts vm f mult unit t2 in + (Mult e1 e2, ts, vm)) + else fvar t ts vm + | _, _ -> + if term_eq_old t unit + then (Unit, ts, vm) + else fvar t ts vm + +// TODO: could guarantee same-length lists +let reification (b:Type) (f:term->Tac b) (def:b) (#a:Type) + (unquotea:term->Tac a) (quotea:a -> Tac term) (tmult tunit:term) (munit:a) + (ts:list term) : + Tac (list exp & vmap a b) = + let tmult: term = norm_term [delta;zeta;iota] tmult in + let tunit: term = norm_term [delta;zeta;iota] tunit in + let ts = Tactics.Util.map (norm_term [delta;zeta;iota]) ts in + // dump ("mult = " ^ term_to_string mult ^ + // "; unit = " ^ term_to_string unit ^ + // "; t = " ^ term_to_string t); + let (es,_, vm) = + Tactics.Util.fold_left + (fun (es,vs,vm) t -> + let (e,vs,vm) = reification_aux unquotea vs vm f tmult tunit t + in (e::es,vs,vm)) + ([],[], const munit def) ts + in (List.Tot.Base.rev es,vm) + +val term_mem: term -> list term -> Tac bool +let rec term_mem x = function + | [] -> false + | hd::tl -> if term_eq_old hd x then true else term_mem x tl + +let unfold_topdown (ts: list term) = + let should_rewrite (s:term) : Tac (bool & int) = + (term_mem s ts, 0) + in + let rewrite () : Tac unit = + norm [delta]; + trefl() + in + topdown_rewrite should_rewrite rewrite + +let rec quote_list (#a:Type) (ta:term) (quotea:a->Tac term) (xs:list a) : + Tac term = + match xs with + | [] -> mk_app (`Nil) [(ta, Q_Implicit)] + | x::xs' -> mk_app (`Cons) [(ta, Q_Implicit); + (quotea x, Q_Explicit); + (quote_list ta quotea xs', Q_Explicit)] + +let quote_vm (#a #b:Type) (ta tb: term) + (quotea:a->Tac term) (quoteb:b->Tac term) (vm:vmap a b) : Tac term = + let quote_pair (p:a&b) : Tac term = + mk_app (`Mktuple2) [(ta, Q_Implicit); (tb, Q_Implicit); + (quotea (fst p), Q_Explicit); (quoteb (snd p), Q_Explicit)] in + let t_a_star_b = mk_e_app (`tuple2) [ta;tb] in + let quote_map_entry (p:(nat&(a&b))) : Tac term = + mk_app (`Mktuple2) [(`nat, Q_Implicit); (t_a_star_b, Q_Implicit); + (pack (Tv_Const (C_Int (fst p))), Q_Explicit); + (quote_pair (snd p), Q_Explicit)] in + let tyentry = mk_e_app (`tuple2) [(`nat); t_a_star_b] in + let tlist = quote_list tyentry quote_map_entry (fst vm) in + (* dump (term_to_string (tc tlist)); *) + let tpair = quote_pair (snd vm) in + (* dump (term_to_string (tc tpair)); *) + let tylist = mk_e_app (`list) [tyentry] in + (* dump (term_to_string (tc tylist)); *) + mk_app (`Mktuple2) [(tylist, Q_Implicit); (t_a_star_b, Q_Implicit); + (tlist, Q_Explicit); (tpair, Q_Explicit)] + +let rec quote_exp (e:exp) : Tac term = + match e with + | Unit -> `Unit + | Var x -> mk_e_app (`Var) [pack (Tv_Const (C_Int x))] + | Mult e1 e2 -> mk_e_app (`Mult) [quote_exp e1; quote_exp e2] + +(* [@@plugin] *) +let canon_monoid_aux + (a b: Type) (ta: term) (unquotea: term -> Tac a) (quotea: a -> Tac term) + (tm tmult tunit: term) (munit: a) (tb: term) (quoteb:b->Tac term) + (f:term->Tac b) (def:b) (tp:term) (tpc:term): Tac unit = + norm []; + match term_as_formula (cur_goal ()) with + | Comp (Eq (Some t)) t1 t2 -> + // dump ("t1 =" ^ term_to_string t1 ^ + // "; t2 =" ^ term_to_string t2); + if term_eq_old t ta then + match reification b f def unquotea quotea tmult tunit munit [t1;t2] with + | [r1;r2], vm -> + // dump ("r1=" ^ exp_to_string r1 ^ + // "; r2=" ^ exp_to_string r2); + // dump ("vm =" ^ term_to_string (quote vm)); + + // change_sq (quote (mdenote m vm r1 == mdenote m vm r2)); + // TODO: quasi-quotes would help at least for splicing in the vm r1 r2 + let tvm = quote_vm ta tb quotea quoteb vm in + let tr1 = quote_exp r1 in + let tr2 = quote_exp r2 in + let teq:term = mk_app (`eq2) + [(ta, Q_Implicit); + (mk_app (`mdenote) [(ta,Q_Implicit); (tb,Q_Implicit); + (tm,Q_Explicit); (tvm,Q_Explicit); (tr1,Q_Explicit)], Q_Explicit); + (mk_app (`mdenote) [(ta,Q_Implicit); (tb,Q_Implicit); + (tm,Q_Explicit); (tvm,Q_Explicit); (tr2,Q_Explicit)], Q_Explicit)] in + change_sq teq; + + // dump ("before =" ^ term_to_string (norm_term [delta;primops] + // (quote (mdenote m vm r1 == mdenote m vm r2)))); + // dump ("expected after =" ^ term_to_string (norm_term [delta;primops] + // (quote (xsdenote m vm (canon vm p r1) == + // xsdenote m vm (canon vm p r2))))); + // mapply0 (quote (monoid_reflect #a #b p pc)); + mapply0 (mk_app (`monoid_reflect) [(ta, Q_Implicit); + (tb, Q_Implicit); + (tp, Q_Explicit); + (tpc, Q_Explicit)]); + (* dump ("before unfold, tp = " ^ term_to_string tp); *) + unfold_topdown [(`canon); (`xsdenote); tp]; + (* dump ("after unfold"); *) + // would like to do only this norm [primops] but ... + // for now having to do all this mess + norm [delta_only [// term_to_string tp; + `%canon; + `%xsdenote; + `%flatten; + `%select; + `%select_extra; + `%quote_list; + `%quote_vm; + `%quote_exp; + + (* Defined ahead *) + "FStar.Tactics.CanonCommMonoid.const_compare"; + "FStar.Tactics.CanonCommMonoid.special_compare"; + + `%FStar.Pervasives.Native.fst; + `%FStar.Pervasives.Native.snd; + `%FStar.Pervasives.Native.__proj__Mktuple2__item___1; + `%FStar.Pervasives.Native.__proj__Mktuple2__item___2; + + `%FStar.List.Tot.assoc; + `%FStar.List.Tot.op_At; + `%FStar.List.Tot.append; + + (* TODO: the rest is a super brittle stop-gap, know thy instances *) + "SL.AutoTactic.compare_b"; + "SL.AutoTactic.compare_v"; + `%FStar.Order.int_of_order; + `%FStar.Reflection.V2.compare_term; + `%FStar.List.Tot.sortWith; + `%FStar.List.Tot.partition; + `%FStar.List.Tot.bool_of_compare; + `%FStar.List.Tot.compare_of_bool; + ]; zeta; iota; primops] // TODO: restrict primops to "less than" only + // - would need this even if unfold_def did it's job? + // ; dump "done" + | _ -> fail "Unexpected" + else fail "Goal should be an equality at the right monoid type" + | _ -> fail "Goal should be an equality" + +let canon_monoid_with + (b:Type) (f:term->Tac b) (def:b) (p:permute b) (pc:permute_correct p) + (#a:Type) (m:cm a) : Tac unit = + canon_monoid_aux a b + (quote a) (unquote #a) (fun (x:a) -> quote x) + (quote m) (quote (CM?.mult m)) (quote (CM?.unit m)) (CM?.unit m) + (quote b) (fun (x:b) -> quote x) f def (quote p) (quote (pc <: permute_correct p)) + +let canon_monoid (#a:Type) (cm:cm a) : Tac unit = + canon_monoid_with unit (fun _ -> ()) () + (fun a -> sort a) sort_correct cm + +(***** Examples *) + +let lem0 (a b c d : int) = + assert (0 + 1 + a + b + c + d + 2 == (b + 0) + 2 + d + (c + a + 0) + 1) + by (canon_monoid int_plus_cm; trefl ()) + + +// (* Trying to enable computation with constants beyond unit. +// It might be enough to move all them to the end of the list by +// a careful ordering and let the normalizer do its thing: *) + +// remember if something is a constant or not +let is_const (t:term) : Tac bool = Tv_Const? (inspect t) + +// sort things and put the constants last +let const_compare (#a:Type) (vm:vmap a bool) (x y:var) = + match select_extra x vm, select_extra y vm with + | false, false | true, true -> compare_of_bool (<) x y + | false, true -> 1 + | true, false -> -1 + +let const_last (a:Type) (vm:vmap a bool) (xs:list var) : list var = + List.Tot.Base.sortWith #nat (const_compare vm) xs + +let canon_monoid_const #a cm = canon_monoid_with bool is_const false + (fun a -> const_last a) + (fun #a m vm xs -> sortWith_correct #bool (const_compare vm) #a m vm xs) #a cm + +let lem1 (a b c d : int) = + assert_by_tactic (0 + 1 + a + b + c + d + 2 == (b + 0) + 2 + d + (c + a + 0) + 1) + (fun _ -> canon_monoid_const int_plus_cm; trefl()) + +// (* Trying to only bring some constants to the front, +// as Nik said would be useful for separation logic *) + +// remember if something is a constant or not +let is_special (ts:list term) (t:term) : Tac bool = t `term_mem` ts + +// put the special things sorted before the non-special ones, +// but don't change anything else +let special_compare (#a:Type) (vm:vmap a bool) (x y:var) = + match select_extra x vm, select_extra y vm with + | false, false -> 0 + | true, true -> compare_of_bool (<) x y + | false, true -> -1 + | true, false -> 1 + +let special_first (a:Type) (vm:vmap a bool) (xs:list var) : list var = + List.Tot.Base.sortWith #nat (special_compare vm) xs + +let special_first_correct : permute_correct special_first = + (fun #a m vm xs -> sortWith_correct #bool (special_compare vm) #a m vm xs) + +let canon_monoid_special (ts:list term) = + canon_monoid_with bool (is_special ts) false + (fun a -> special_first a) + special_first_correct diff --git a/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst b/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst new file mode 100644 index 00000000000..954d38c4dca --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst @@ -0,0 +1,392 @@ +(* + 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.CanonCommMonoidSimple.Equiv + +open FStar.Algebra.CommMonoid.Equiv +open FStar.List +open FStar.Classical +open FStar.Tactics.CanonCommSwaps +open FStar.Tactics.V2.Bare + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +(* A simple expression canonizer for commutative monoids (working up to + some given equivalence relation as opposed to just propositional equality). + For a canonizer with more features see FStar.Tactics.CanonCommMonoid.fst. + + Based on FStar.Tactics.CanonCommMonoidSimple.fst +*) + +(* Only dump when debugging is on *) +//let dump m = if debugging () then dump m + +(***** Expression syntax *) + +// GM: ugh, we had `nat`, but then we get bitten by lack +// of subtyping over datatypes when we typecheck the amap term +// we generate (see convert_am). +let atom : eqtype = int + +type exp : Type = + | Unit : exp + | Mult : exp -> exp -> exp + | Atom : atom -> exp + +let rec exp_to_string (e:exp) : string = + match e with + | Unit -> "Unit" + | Atom x -> "Atom " ^ string_of_int (x <: atom) + | Mult e1 e2 -> "Mult (" ^ exp_to_string e1 + ^ ") (" ^ exp_to_string e2 ^ ")" + +(***** Expression denotation *) + +// Use a map that stores for each atom +// (1) its denotation that should be treated abstractly (type a) and +// (2) user-specified extra information depending on its term (type b) + +let amap (a:Type) = list (atom & a) & a +let const (#a:Type) (xa:a) : amap a = ([], xa) +let select (#a:Type) (x:atom) (am:amap a) : Tot a = + match assoc #atom #a x (fst am) with + | Some a -> a + | _ -> snd am +let update (#a:Type) (x:atom) (xa:a) (am:amap a) : amap a = + (x, xa)::fst am, snd am + +let rec mdenote (#a:Type u#aa) (eq:equiv a) (m:cm a eq) (am:amap a) (e:exp) : a = + match e with + | Unit -> CM?.unit m + | Atom x -> select x am + | Mult e1 e2 -> CM?.mult m (mdenote eq m am e1) (mdenote eq m am e2) + +let rec xsdenote (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (xs:list atom) : a = + match xs with + | [] -> CM?.unit m + | [x] -> select x am + | x::xs' -> CM?.mult m (select x am) (xsdenote eq m am xs') + +(***** Flattening expressions to lists of atoms *) + +let rec flatten (e:exp) : list atom = + match e with + | Unit -> [] + | Atom x -> [x] + | Mult e1 e2 -> flatten e1 @ flatten e2 + +let rec flatten_correct_aux (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (xs1 xs2:list atom) + : Lemma (xsdenote eq m am (xs1 @ xs2) `EQ?.eq eq` CM?.mult m (xsdenote eq m am xs1) + (xsdenote eq m am xs2)) = + match xs1 with + | [] -> + CM?.identity m (xsdenote eq m am xs2); + EQ?.symmetry eq (CM?.mult m (CM?.unit m) (xsdenote eq m am xs2)) (xsdenote eq m am xs2) + | [x] -> ( + if (Nil? xs2) + then (right_identity eq m (select x am); + EQ?.symmetry eq (CM?.mult m (select x am) (CM?.unit m)) (select x am)) + else EQ?.reflexivity eq (CM?.mult m (xsdenote eq m am [x]) (xsdenote eq m am xs2))) + | x::xs1' -> + flatten_correct_aux eq m am xs1' xs2; + EQ?.reflexivity eq (select x am); + CM?.congruence m (select x am) (xsdenote eq m am (xs1' @ xs2)) + (select x am) (CM?.mult m (xsdenote eq m am xs1') (xsdenote eq m am xs2)); + CM?.associativity m (select x am) (xsdenote eq m am xs1') (xsdenote eq m am xs2); + EQ?.symmetry eq (CM?.mult m (CM?.mult m (select x am) (xsdenote eq m am xs1')) (xsdenote eq m am xs2)) + (CM?.mult m (select x am) (CM?.mult m (xsdenote eq m am xs1') (xsdenote eq m am xs2))); + EQ?.transitivity eq (CM?.mult m (select x am) (xsdenote eq m am (xs1' @ xs2))) + (CM?.mult m (select x am) (CM?.mult m (xsdenote eq m am xs1') (xsdenote eq m am xs2))) + (CM?.mult m (CM?.mult m (select x am) (xsdenote eq m am xs1')) (xsdenote eq m am xs2)) + +let rec flatten_correct (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (e:exp) + : Lemma (mdenote eq m am e `EQ?.eq eq` xsdenote eq m am (flatten e)) = + match e with + | Unit -> EQ?.reflexivity eq (CM?.unit m) + | Atom x -> EQ?.reflexivity eq (select x am) + | Mult e1 e2 -> + flatten_correct_aux eq m am (flatten e1) (flatten e2); + EQ?.symmetry eq (xsdenote eq m am (flatten e1 @ flatten e2)) + (CM?.mult m (xsdenote eq m am (flatten e1)) (xsdenote eq m am (flatten e2))); + flatten_correct eq m am e1; + flatten_correct eq m am e2; + CM?.congruence m (mdenote eq m am e1) (mdenote eq m am e2) + (xsdenote eq m am (flatten e1)) (xsdenote eq m am (flatten e2)); + EQ?.transitivity eq (CM?.mult m (mdenote eq m am e1) (mdenote eq m am e2)) + (CM?.mult m (xsdenote eq m am (flatten e1)) (xsdenote eq m am (flatten e2))) + (xsdenote eq m am (flatten e1 @ flatten e2)) + +(***** Permuting the lists of atoms + by swapping adjacent elements *) + +let permute = list atom -> list atom + +// high-level correctness criterion for permutations +let permute_correct (p:permute) = + #a:Type -> eq:equiv a -> m:cm a eq -> am:amap a -> xs:list atom -> + Lemma (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (p xs)) + +// sufficient condition: +// permutation has to be expressible as swaps of adjacent list elements + +// In the general case, an arbitrary permutation can be done via swaps. +// (see FStar.Tactics.CanonCommSwaps for a proof) + +let rec apply_swap_aux_correct (#a:Type) (n:nat) (eq:equiv a) (m:cm a eq) (am:amap a) + (xs:list atom) (s:swap (length xs + n)) + : Lemma (requires True) + (ensures (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (apply_swap_aux n xs s))) + (decreases xs) = + match xs with + | [] -> EQ?.reflexivity eq (CM?.unit m) + | [x] -> EQ?.reflexivity eq (select x am) + | [x1;x2] -> + if n = (s <: nat) + then CM?.commutativity m (select x1 am) (select x2 am) + else EQ?.reflexivity eq (xsdenote eq m am [x1;x2]) + | x1 :: x2 :: xs' -> + if n = (s <: nat) + then ( + CM?.associativity m (select x1 am) (select x2 am) (xsdenote eq m am xs'); + EQ?.symmetry eq (CM?.mult m (CM?.mult m (select x1 am) (select x2 am)) (xsdenote eq m am xs')) + (CM?.mult m (select x1 am) (CM?.mult m (select x2 am) (xsdenote eq m am xs'))); + CM?.commutativity m (select x1 am) (select x2 am); + EQ?.reflexivity eq (xsdenote eq m am xs'); + CM?.congruence m (CM?.mult m (select x1 am) (select x2 am)) (xsdenote eq m am xs') + (CM?.mult m (select x2 am) (select x1 am)) (xsdenote eq m am xs'); + CM?.associativity m (select x2 am) (select x1 am) (xsdenote eq m am xs'); + EQ?.transitivity eq (CM?.mult m (select x1 am) (CM?.mult m (select x2 am) (xsdenote eq m am xs'))) + (CM?.mult m (CM?.mult m (select x1 am) (select x2 am)) (xsdenote eq m am xs')) + (CM?.mult m (CM?.mult m (select x2 am) (select x1 am)) (xsdenote eq m am xs')); + EQ?.transitivity eq (CM?.mult m (select x1 am) (CM?.mult m (select x2 am) (xsdenote eq m am xs'))) + (CM?.mult m (CM?.mult m (select x2 am) (select x1 am)) (xsdenote eq m am xs')) + (CM?.mult m (select x2 am) (CM?.mult m (select x1 am) (xsdenote eq m am xs')))) + else ( + apply_swap_aux_correct (n+1) eq m am (x2 :: xs') s; + EQ?.reflexivity eq (select x1 am); + CM?.congruence m (select x1 am) (xsdenote eq m am (x2 :: xs')) + (select x1 am) (xsdenote eq m am (apply_swap_aux (n+1) (x2 :: xs') s))) + +let apply_swap_correct (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) + (xs:list atom) (s:swap (length xs)) + : Lemma (ensures (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (apply_swap xs s))) + (decreases xs) = + apply_swap_aux_correct 0 eq m am xs s + +let rec apply_swaps_correct (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) + (xs:list atom) (ss:list (swap (length xs))) + : Lemma (requires True) + (ensures (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (apply_swaps xs ss))) + (decreases ss) = + match ss with + | [] -> EQ?.reflexivity eq (xsdenote eq m am xs) + | s::ss' -> + apply_swap_correct eq m am xs s; + apply_swaps_correct eq m am (apply_swap xs s) ss'; + EQ?.transitivity eq (xsdenote eq m am xs) + (xsdenote eq m am (apply_swap xs s)) + (xsdenote eq m am (apply_swaps (apply_swap xs s) ss')) + +let permute_via_swaps (p:permute) = + (#a:Type) -> (am:amap a) -> xs:list atom -> + Lemma (exists (ss:swaps_for xs). p xs == apply_swaps xs ss) + +let permute_via_swaps_correct_aux (p:permute) (pvs:permute_via_swaps p) + (#a:Type) (eq:equiv a)(m:cm a eq) (am:amap a) (xs:list atom) + : Lemma (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (p xs)) = + pvs am xs; + assert(exists (ss:swaps_for xs). p xs == apply_swaps xs ss); + exists_elim (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (p xs)) + (() <: squash (exists (ss:swaps_for xs). p xs == apply_swaps xs ss)) + (fun ss -> apply_swaps_correct eq m am xs ss) + +let permute_via_swaps_correct + (p:permute) (pvs:permute_via_swaps p) : permute_correct p = + fun #a -> permute_via_swaps_correct_aux p pvs #a + +(***** Sorting atoms is a correct permutation + (since it can be done by swaps) *) + +// Here we sort the variable numbers + +let sort : permute = List.Tot.Base.sortWith #int (compare_of_bool (<)) + +let sort_via_swaps (#a:Type) (am:amap a) (xs:list atom) + : Lemma (exists (ss:swaps_for xs). sort xs == apply_swaps xs ss) + = List.Tot.Properties.sortWith_permutation #int (compare_of_bool (<)) xs; + let ss = equal_counts_implies_swaps xs (sort xs) in + () + +let sort_correct_aux (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (xs:list atom) + : Lemma (xsdenote eq m am xs `EQ?.eq eq` xsdenote eq m am (sort xs)) = + permute_via_swaps_correct sort (fun #a am -> sort_via_swaps am) eq m am xs + +let sort_correct : permute_correct sort = (fun #a -> sort_correct_aux #a) + +(***** Canonicalization tactics *) + +let canon (e:exp) = sort (flatten e) + +let canon_correct (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (e:exp) + : Lemma (mdenote eq m am e `EQ?.eq eq` xsdenote eq m am (canon e)) = + flatten_correct eq m am e; + sort_correct eq m am (flatten e); + EQ?.transitivity eq (mdenote eq m am e) + (xsdenote eq m am (flatten e)) + (xsdenote eq m am (sort (flatten e))) + +let monoid_reflect_orig (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (e1 e2:exp) + : Lemma (requires (xsdenote eq m am (canon e1) `EQ?.eq eq` xsdenote eq m am (canon e2))) + (ensures (mdenote eq m am e1 `EQ?.eq eq` mdenote eq m am e2)) = + canon_correct eq m am e1; + canon_correct eq m am e2; + EQ?.symmetry eq (mdenote eq m am e2) (xsdenote eq m am (canon e2)); + EQ?.transitivity eq (mdenote eq m am e1) + (xsdenote eq m am (canon e1)) + (xsdenote eq m am (canon e2)); + EQ?.transitivity eq (mdenote eq m am e1) + (xsdenote eq m am (canon e2)) + (mdenote eq m am e2) + +let monoid_reflect (#a:Type) (eq:equiv a) (m:cm a eq) (am:amap a) (e1 e2:exp) + (_ : squash (xsdenote eq m am (canon e1) `EQ?.eq eq` xsdenote eq m am (canon e2))) + : squash (mdenote eq m am e1 `EQ?.eq eq` mdenote eq m am e2) = + monoid_reflect_orig #a eq m am e1 e2 + +(* Finds the position of first occurrence of x in xs. + This is now specialized to terms and their funny term_eq. *) +let rec where_aux (n:nat) (x:term) (xs:list term) : + Tac (option nat) = + match xs with + | [] -> None + | x'::xs' -> if term_eq x x' then Some n else where_aux (n+1) x xs' +let where = where_aux 0 + +let fatom (t:term) (ts:list term) (am:amap term) : Tac (exp & list term & amap term) = + match where t ts with + | Some v -> (Atom v, ts, am) + | None -> + let vfresh = length ts in + let t = norm_term [iota; zeta] t in + (Atom vfresh, ts @ [t], update vfresh t am) + +// 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 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 + let (e2, ts, am) = reification_aux ts am mult unit t2 in + (Mult e1 e2, ts, am)) + else fatom t ts am + | _, _ -> + if term_eq t unit + then (Unit, ts, am) + else fatom t ts am + +let reification (eq: term) (m: term) (ts:list term) (am:amap term) (t:term) : + Tac (exp & list term & amap term) = + let mult = norm_term [iota; zeta; delta] (`CM?.mult (`#m)) in + let unit = norm_term [iota; zeta; delta] (`CM?.unit (`#m)) in + let t = norm_term [iota; zeta] t in + reification_aux ts am mult unit t + +let rec repeat_cong_right_identity (eq: term) (m: term) : Tac unit = + or_else (fun _ -> apply_lemma (`right_identity)) + (fun _ -> apply_lemma (`CM?.congruence (`#m)); + split (); + apply_lemma (`EQ?.reflexivity (`#eq)); + repeat_cong_right_identity eq m + ) + +let rec convert_map (m : list (atom & term)) : term = + match m with + | [] -> `[] + | (a, t)::ps -> + let a = pack (Tv_Const (C_Int a)) in + (* let t = norm_term [delta] t in *) + `((`#a, (`#t)) :: (`#(convert_map ps))) + +(* `am` is an amap (basically a list) of terms, each representing a value +of type `a` (whichever we are canonicalizing). This functions converts +`am` into a single `term` of type `amap a`, suitable to call `mdenote` with *) +let convert_am (am : amap term) : term = + let (map, def) = am in + (* let def = norm_term [delta] def in *) + `( (`#(convert_map map), `#def) ) + +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 (Tv_Const (C_Int n)) in + (`Atom (`#nt)) + +let canon_lhs_rhs (eq: term) (m: term) (lhs rhs:term) : Tac unit = + let m_unit = norm_term [iota; zeta; delta](`CM?.unit (`#m)) in + let am = const m_unit in (* empty map *) + let (r1, ts, am) = reification eq m [] am lhs in + let (r2, _, am) = reification eq m ts am rhs in + //dump ("am = " ^ term_to_string (quote am)); + //dump ("r1 = " ^ term_to_string (norm_term [delta;primops] (quote (mdenote eq m am r1)))); + //dump ("r2 = " ^ term_to_string (norm_term [delta;primops] (quote (mdenote eq m am r2)))); + //dump ("before = " ^ term_to_string (norm_term [hnf;delta;primops] + // (quote (mdenote eq m am r1 `EQ?.eq eq` mdenote eq m am r2)))); + //dump ("current goal -- " ^ term_to_string (cur_goal ())); + let am = convert_am am in + let r1 = quote_exp r1 in + let r2 = quote_exp r2 in + change_sq (`(mdenote (`#eq) (`#m) (`#am) (`#r1) + `EQ?.eq (`#eq)` + mdenote (`#eq) (`#m) (`#am) (`#r2))); + (* dump ("expected after = " ^ term_to_string (norm_term [delta;primops] *) + (* (quote (xsdenote eq m am (canon r1) `EQ?.eq eq` *) + (* xsdenote eq m am (canon r2))))); *) + apply (`monoid_reflect); + //dump ("after apply monoid_reflect"); + norm [iota; zeta; delta_only [`%canon; `%xsdenote; `%flatten; `%sort; + `%select; `%assoc; `%fst; `%__proj__Mktuple2__item___1; + `%(@); `%append; `%List.Tot.sortWith; + `%List.Tot.partition; `%bool_of_compare; + `%compare_of_bool; + ]; primops]; + //dump "before refl"; + or_else (fun _ -> apply_lemma (`(EQ?.reflexivity (`#eq)))) + (fun _ -> repeat_cong_right_identity eq m) + +[@@plugin] +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 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 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 + | (lhs, Q_Explicit) , (rhs, Q_Explicit) -> canon_lhs_rhs eq m lhs rhs + | _ -> fail "Goal should have been an application of a binary relation to 2 explicit arguments" + ) + else ( + fail "Goal should have been an application of a binary relation to n implicit and 2 explicit arguments" + ) + ) + | _ -> fail "Goal should be squash applied to a binary relation") diff --git a/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.fst b/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.fst new file mode 100644 index 00000000000..e534d902447 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonCommMonoidSimple.fst @@ -0,0 +1,274 @@ +(* + 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.CanonCommMonoidSimple + +open FStar.Algebra.CommMonoid +open FStar.List +open FStar.Reflection.V2 +open FStar.Tactics.V2.Bare +open FStar.Classical +open FStar.Tactics.CanonCommSwaps + +let term_eq = FStar.Stubs.Tactics.V2.Builtins.term_eq_old + +(* A simple expression canonizer for commutative monoids. + For a canonizer with more features see FStar.Tactics.CanonCommMonoid.fst. + + Inspired by: + - http://adam.chlipala.net/cpdt/html/Cpdt.Reflection.html + - http://poleiro.info/posts/2015-04-13-writing-reflective-tactics.html +*) + +(* Only dump when debugging is on *) +let dump m = if debugging () then dump m + +(***** Expression syntax *) + +let atom : eqtype = nat + +type exp : Type = + | Unit : exp + | Mult : exp -> exp -> exp + | Atom : atom -> exp + +let rec exp_to_string (e:exp) : string = + match e with + | Unit -> "Unit" + | Atom x -> "Atom " ^ string_of_int (x <: atom) + | Mult e1 e2 -> "Mult (" ^ exp_to_string e1 + ^ ") (" ^ exp_to_string e2 ^ ")" + +(***** Expression denotation *) + +// Use a map that stores for each atom +// (1) its denotation that should be treated abstractly (type a) and +// (2) user-specified extra information depending on its term (type b) + +let amap (a:Type) = list (atom & a) & a +let const (#a:Type) (xa:a) : amap a = ([], xa) +let select (#a:Type) (x:atom) (am:amap a) : Tot a = + match assoc #atom #a x (fst am) with + | Some a -> a + | _ -> snd am +let update (#a:Type) (x:atom) (xa:a) (am:amap a) : amap a = + (x, xa)::fst am, snd am + +let rec mdenote (#a:Type) (m:cm a) (am:amap a) (e:exp) : a = + match e with + | Unit -> CM?.unit m + | Atom x -> select x am + | Mult e1 e2 -> CM?.mult m (mdenote m am e1) (mdenote m am e2) + +let rec xsdenote (#a:Type) (m:cm a) (am:amap a) (xs:list atom) : a = + match xs with + | [] -> CM?.unit m + | [x] -> select x am + | x::xs' -> CM?.mult m (select x am) (xsdenote m am xs') + +(***** Flattening expressions to lists of atoms *) + +let rec flatten (e:exp) : list atom = + match e with + | Unit -> [] + | Atom x -> [x] + | Mult e1 e2 -> flatten e1 @ flatten e2 + +let rec flatten_correct_aux (#a:Type) (m:cm a) (am:amap a) (xs1 xs2:list atom) : + Lemma (xsdenote m am (xs1 @ xs2) == CM?.mult m (xsdenote m am xs1) + (xsdenote m am xs2)) = + match xs1 with + | [] -> CM?.identity m (xsdenote m am xs2) + | [x] -> if (Nil? xs2) then right_identity m (select x am) + | x::xs1' -> (CM?.associativity m (select x am) + (xsdenote m am xs1') (xsdenote m am xs2); + flatten_correct_aux m am xs1' xs2) + +let rec flatten_correct (#a:Type) (m:cm a) (am:amap a) (e:exp) : + Lemma (mdenote m am e == xsdenote m am (flatten e)) = + match e with + | Unit | Atom _ -> () + | Mult e1 e2 -> flatten_correct_aux m am (flatten e1) (flatten e2); + flatten_correct m am e1; flatten_correct m am e2 + +(***** Permuting the lists of atoms + by swapping adjacent elements *) + +let permute = list atom -> list atom + +// high-level correctness criterion for permutations +let permute_correct (p:permute) = + #a:Type -> m:cm a -> am:amap a -> xs:list atom -> + Lemma (xsdenote m am xs == xsdenote m am (p xs)) + +// sufficient condition: +// permutation has to be expressible as swaps of adjacent list elements + +// In the general case, an arbitrary permutation can be done via swaps. +// (see FStar.Tactics.CanonCommSwaps for a proof) + + +let rec apply_swap_aux_correct (#a:Type) (n:nat) (m:cm a) (am:amap a) + (xs:list atom) (s:swap (length xs + n)) : + Lemma (requires True) + (ensures (xsdenote m am xs == xsdenote m am (apply_swap_aux n xs s))) + (decreases xs) = + match xs with + | [] | [_] -> () + | x1 :: x2 :: xs' -> + if n = (s <: nat) + then (// x1 + (x2 + xs') =a (x1 + x2) + xs' + // =c (x2 + x1) + xs' = a x2 + (x1 + xs') + let a = CM?.associativity m in + a (select x1 am) (select x2 am) (xsdenote m am xs'); + a (select x2 am) (select x1 am) (xsdenote m am xs'); + CM?.commutativity m (select x1 am) (select x2 am)) + else apply_swap_aux_correct (n+1) m am (x2 :: xs') s + +let apply_swap_correct (#a:Type) (m:cm a) (am:amap a) + (xs:list atom) (s:swap (length xs)): + Lemma (ensures (xsdenote m am xs == xsdenote m am (apply_swap xs s))) + (decreases xs) = apply_swap_aux_correct 0 m am xs s + +let rec apply_swaps_correct (#a:Type) (m:cm a) (am:amap a) + (xs:list atom) (ss:list (swap (length xs))): + Lemma (requires True) + (ensures (xsdenote m am xs == xsdenote m am (apply_swaps xs ss))) + (decreases ss) = + match ss with + | [] -> () + | s::ss' -> apply_swap_correct m am xs s; + apply_swaps_correct m am (apply_swap xs s) ss' + +let permute_via_swaps (p:permute) = + (#a:Type) -> (am:amap a) -> xs:list atom -> + Lemma (exists ss. p xs == apply_swaps xs ss) + +let permute_via_swaps_correct_aux (p:permute) (pvs:permute_via_swaps p) + (#a:Type) (m:cm a) (am:amap a) (xs:list atom) : + Lemma (xsdenote m am xs == xsdenote m am (p xs)) = + pvs am xs; + assert(exists ss. p xs == apply_swaps xs ss); + exists_elim (xsdenote m am xs == xsdenote m am (p xs)) + (() <: squash (exists ss. p xs == apply_swaps xs ss)) + (fun ss -> apply_swaps_correct m am xs ss) + +let permute_via_swaps_correct + (p:permute) (pvs:permute_via_swaps p) : permute_correct p = + fun #a -> permute_via_swaps_correct_aux p pvs #a + +(***** Sorting atoms is a correct permutation + (since it can be done by swaps) *) + +// Here we sort the variable numbers + +let sort : permute = List.Tot.Base.sortWith #nat (compare_of_bool (<)) + +let sort_via_swaps (#a:Type) (am : amap a) (xs:list atom) + : Lemma (exists ss. sort xs == apply_swaps xs ss) + = + List.Tot.Properties.sortWith_permutation #nat (compare_of_bool (<)) xs; + let ss = equal_counts_implies_swaps #nat xs (sort xs) in + () + +let sort_correct_aux (#a:Type) (m:cm a) (am:amap a) (xs:list atom) : + Lemma (xsdenote m am xs == xsdenote m am (sort xs)) = + permute_via_swaps_correct sort (fun #a am -> sort_via_swaps am) m am xs + +let sort_correct : permute_correct sort = (fun #a -> sort_correct_aux #a) + +(***** Canonicalization tactics *) + +(* [@@plugin] *) +let canon (e:exp) = sort (flatten e) + +let canon_correct (#a:Type) (m:cm a) (am:amap a) (e:exp) : + Lemma (mdenote m am e == xsdenote m am (canon e)) = + flatten_correct m am e; sort_correct m am (flatten e) + +let monoid_reflect_orig (#a:Type) (m:cm a) (am:amap a) (e1 e2:exp) : + Lemma (requires (xsdenote m am (canon e1) == xsdenote m am (canon e2))) + (ensures (mdenote m am e1 == mdenote m am e2)) = + canon_correct m am e1; canon_correct m am e2 + +let monoid_reflect (#a:Type) (m:cm a) (am:amap a) (e1 e2:exp) + (_ : squash (xsdenote m am (canon e1) == xsdenote m am (canon e2))) + : squash (mdenote m am e1 == mdenote m am e2) = + canon_correct m am e1; canon_correct m am e2 + +(* Finds the position of first occurrence of x in xs. + This is now specialized to terms and their funny term_eq. *) +let rec where_aux (n:nat) (x:term) (xs:list term) : + Tac (option nat) = + match xs with + | [] -> None + | x'::xs' -> if term_eq x x' then Some n else where_aux (n+1) x xs' +let where = where_aux 0 + +// This expects that mult, unit, and t have already been normalized +let rec reification_aux (#a:Type) (ts:list term) (am:amap a) + (mult unit t : term) : Tac (exp & list term & amap a) = + let hd, tl = collect_app_ref t in + let fatom (t:term) (ts:list term) (am:amap a) : Tac (exp & list term & amap a) = + match where t ts with + | Some v -> (Atom v, ts, am) + | None -> let vfresh = length ts in let z = unquote t in + (Atom vfresh, ts @ [t], update vfresh z am) + in + match inspect hd, list_unref 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 + let (e2,ts,am) = reification_aux ts am mult unit t2 in + (Mult e1 e2, ts, am)) + else fatom t ts am + | _, _ -> + if term_eq t unit + then (Unit, ts, am) + else fatom t ts am + +let reification (#a:Type) (m:cm a) (ts:list term) (am:amap a) (t:term) : + Tac (exp & list term & amap a) = + let mult = norm_term [delta;zeta;iota] (quote (CM?.mult m)) in + let unit = norm_term [delta;zeta;iota] (quote (CM?.unit m)) in + let t = norm_term [delta;zeta;iota] t in + reification_aux ts am mult unit t + +let canon_monoid (#a:Type) (m:cm a) : Tac unit = + norm []; + match term_as_formula (cur_goal ()) with + | Comp (Eq (Some t)) t1 t2 -> + // dump ("t1 =" ^ term_to_string t1 ^ + // "; t2 =" ^ term_to_string t2); + if term_eq t (quote a) then + let (r1, ts, am) = reification m [] (const (CM?.unit m)) t1 in + let (r2, _, am) = reification m ts am t2 in + dump ("am =" ^ term_to_string (quote am)); + change_sq (quote (mdenote m am r1 == mdenote m am r2)); + // dump ("before =" ^ term_to_string (norm_term [delta;primops] + // (quote (mdenote m am r1 == mdenote m am r2)))); + // dump ("expected after =" ^ term_to_string (norm_term [delta;primops] + // (quote (xsdenote m am (canon r1) == + // xsdenote m am (canon r2))))); + apply (`monoid_reflect); + // dump ("after apply"); + norm [delta_only [`%canon; `%xsdenote; `%flatten; `%sort; + `%select; `%assoc; `%fst; `%__proj__Mktuple2__item___1; + `%(@); `%append; `%List.Tot.sortWith; + `%List.Tot.partition; `%bool_of_compare; `%compare_of_bool; + ]; primops] + // ;dump "done" + else fail "Goal should be an equality at the right monoid type" + | _ -> fail "Goal should be an equality" diff --git a/stage0/ulib/FStar.Tactics.CanonCommSemiring.fst b/stage0/ulib/FStar.Tactics.CanonCommSemiring.fst new file mode 100644 index 00000000000..5864cce4493 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonCommSemiring.fst @@ -0,0 +1,1708 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Tactics.CanonCommSemiring + +/// A tactic to solve equalities on a commutative semiring (a, +, *, 0, 1) +/// +/// The tactic [canon_semiring] is parameterized by the base type [a] and +/// a semiring theory [cr a]. This requires: +/// +/// - A commutative monoid (a, +, 0) for addition +/// That is, + is associative, commutative and has identity element 0 +/// - An additive inverse operator for (a, +, 0), making it an Abelian group +/// That is, a + -a = 0 +/// - A commutative monoid (a, *, 1) for multiplication +/// That is, * is associative, commutative and has identity element 1 +/// - Multiplication left-distributes over addition +/// That is, a * (b + c) == a * b + a * c +/// - 0 is an absorbing element of multiplication +/// That is, 0 * a = 0 +/// +/// In contrast to the previous version of FStar.Tactics.CanonCommSemiring, +/// the tactic defined here canonizes products, additions and additive inverses, +/// collects coefficients in monomials, and eliminates trivial expressions. +/// +/// This is based on the legacy (second) version of Coq's ring tactic: +/// - https://github.com/coq-contribs/legacy-ring/ +/// +/// See also the newest ring tactic in Coq, which is even more general +/// and efficient: +/// - https://coq.inria.fr/refman/addendum/ring.html +/// - http://www.cs.ru.nl/~freek/courses/tt-2014/read/10.1.1.61.3041.pdf + +open FStar.List +open FStar.Algebra.CommMonoid + +(* Trying to not just open FStar.Tactics.V2 to reduce deps. +TODO: Add an interface to this module. It's non trivial due to the quoting. *) +open FStar.Stubs.Reflection.Types +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula +open FStar.Stubs.Tactics.Types +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Tactics.V2.Derived +open FStar.Tactics.Util +open FStar.Tactics.NamedView +open FStar.Tactics.MApply + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +(** An attribute for marking definitions to unfold by the tactic *) +irreducible let canon_attr = () + +/// +/// Commutative semiring theory +/// + +let distribute_left_lemma (a:Type) (cm_add:cm a) (cm_mult:cm a) = + let ( + ) = cm_add.mult in + let ( * ) = cm_mult.mult in + x:a -> y:a -> z:a -> Lemma (x * (y + z) == x * y + x * z) + +let distribute_right_lemma (a:Type) (cm_add:cm a) (cm_mult:cm a) = + let ( + ) = cm_add.mult in + let ( * ) = cm_mult.mult in + x:a -> y:a -> z:a -> Lemma ((x + y) * z == x * z + y * z) + +let mult_zero_l_lemma (a:Type) (cm_add:cm a) (cm_mult:cm a) = + x:a -> Lemma (cm_mult.mult cm_add.unit x == cm_add.unit) + +let add_opp_r_lemma (a:Type) (cm_add:cm a) (opp:(a -> a)) = + let ( + ) = cm_add.mult in + x:a -> Lemma (x + opp x == cm_add.unit) + +[@@canon_attr] +unopteq +type cr (a:Type) = + | CR : + cm_add: cm a -> + cm_mult: cm a -> + opp: (a -> a) -> + add_opp: add_opp_r_lemma a cm_add opp -> + distribute: distribute_left_lemma a cm_add cm_mult -> + mult_zero_l: mult_zero_l_lemma a cm_add cm_mult -> + cr a + +let distribute_right (#a:Type) (r:cr a) : distribute_right_lemma a r.cm_add r.cm_mult = + fun x y z -> + r.cm_mult.commutativity (r.cm_add.mult x y) z; + r.distribute z x y; + r.cm_mult.commutativity x z; + r.cm_mult.commutativity y z + +/// +/// Syntax of canonical ring expressions +/// + +(** + * Marking expressions we would like to normalize fully. + * This does not do anything at the moment, but it would be nice + * to have a cheap mechanism to make this work without traversing the + * whole goal. +**) +[@@canon_attr] +unfold let norm_fully (#a:Type) (x:a) = x + +let index: eqtype = nat + +(* + * A list of variables represents a sorted product of one or more variables. + * We do not need to prove sortedness to prove correctness, so we never + * make it explicit. + *) +type varlist = + | Nil_var : varlist + | Cons_var : index -> varlist -> varlist + +(* + * A canonical expression represents an ordered sum of monomials. + * Each monomial is either: + * - a varlist (a product of variables): x1 * ... * xk + * - a product of a scalar and a varlist: c * x1 * ... * xk + * + * The order on monomials is the lexicographic order on varlist, with the + * additional convention that monomials with a scalar are less than monomials + * without a scalar. + *) +type canonical_sum a = + | Nil_monom : canonical_sum a + | Cons_monom : a -> varlist -> canonical_sum a -> canonical_sum a + | Cons_varlist : varlist -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec varlist_lt (x y:varlist) : bool = + match x, y with + | Nil_var, Cons_var _ _ -> true + | Cons_var i xs, Cons_var j ys -> + if i < j then true else i = j && varlist_lt xs ys + | _, _ -> false + +[@@canon_attr] +val varlist_merge: l1:varlist -> l2:varlist -> Tot varlist (decreases %[l1; l2; 0]) + +[@@canon_attr] +val vm_aux: index -> t1:varlist -> l2:varlist -> Tot varlist (decreases %[t1; l2; 1]) + +(* Merges two lists of variables, preserving sortedness *) +[@@canon_attr] +let rec varlist_merge l1 l2 = + match l1, l2 with + | _, Nil_var -> l1 + | Nil_var, _ -> l2 + | Cons_var v1 t1, Cons_var v2 t2 -> vm_aux v1 t1 l2 +and vm_aux v1 t1 l2 = + match l2 with + | Cons_var v2 t2 -> + if v1 < v2 + then Cons_var v1 (varlist_merge t1 l2) + else Cons_var v2 (vm_aux v1 t1 t2) + | _ -> Cons_var v1 t1 + +(* + * Merges two canonical expressions + * + * We require that [a] is eqtype for better reasons later. + * Here it is convenient to fix the universe of [a] in + * mutually recursive functions. + *) +[@@canon_attr] +val canonical_sum_merge : #a:eqtype -> cr a + -> s1:canonical_sum a -> s2:canonical_sum a + -> Tot (canonical_sum a) (decreases %[s1; s2; 0]) + +[@@canon_attr] +val csm_aux: #a:eqtype -> r:cr a -> c1:a -> l1:varlist -> t1:canonical_sum a + -> s2:canonical_sum a -> Tot (canonical_sum a) (decreases %[t1; s2; 1]) + +[@@canon_attr] +let rec canonical_sum_merge #a r s1 s2 = + let aplus = r.cm_add.mult in + let aone = r.cm_mult.unit in + match s1 with + | Cons_monom c1 l1 t1 -> csm_aux r c1 l1 t1 s2 + | Cons_varlist l1 t1 -> csm_aux r aone l1 t1 s2 + | Nil_monom -> s2 + +and csm_aux #a r c1 l1 t1 s2 = + let aplus = r.cm_add.mult in + let aone = r.cm_mult.unit in + match s2 with + | Cons_monom c2 l2 t2 -> + if l1 = l2 + then Cons_monom (norm_fully (aplus c1 c2)) l1 (canonical_sum_merge r t1 t2) + else + if varlist_lt l1 l2 + then Cons_monom c1 l1 (canonical_sum_merge r t1 s2) + else Cons_monom c2 l2 (csm_aux #a r c1 l1 t1 t2) + | Cons_varlist l2 t2 -> + if l1 = l2 + then Cons_monom (norm_fully (aplus c1 aone)) l1 (canonical_sum_merge r t1 t2) + else + if varlist_lt l1 l2 + then Cons_monom c1 l1 (canonical_sum_merge r t1 s2) + else Cons_varlist l2 (csm_aux r c1 l1 t1 t2) + | Nil_monom -> + //if c1 = aone then Cons_varlist l1 t1 else + Cons_monom c1 l1 t1 + +(* Inserts a monomial into the appropriate position in a canonical sum *) +val monom_insert: #a:eqtype -> r:cr a + -> c1:a -> l1:varlist -> s2:canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec monom_insert #a r c1 l1 s2 = + let aplus = r.cm_add.mult in + let aone = r.cm_mult.unit in + match s2 with + | Cons_monom c2 l2 t2 -> + if l1 = l2 + then Cons_monom (norm_fully (aplus c1 c2)) l1 t2 + else + if varlist_lt l1 l2 + then Cons_monom c1 l1 s2 + else Cons_monom c2 l2 (monom_insert r c1 l1 t2) + | Cons_varlist l2 t2 -> + if l1 = l2 + then Cons_monom (norm_fully (aplus c1 aone)) l1 t2 + else + if varlist_lt l1 l2 + then Cons_monom c1 l1 s2 + else Cons_varlist l2 (monom_insert r c1 l1 t2) + | Nil_monom -> + if c1 = aone + then Cons_varlist l1 Nil_monom + else Cons_monom c1 l1 Nil_monom + +(* Inserts a monomial without scalar into a canonical sum *) +val varlist_insert: #a:eqtype -> cr a -> varlist -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let varlist_insert #a r l1 s2 = + let aone = r.cm_mult.unit in + monom_insert r aone l1 s2 + +(* Multiplies a sum by a scalar c0 *) +val canonical_sum_scalar: #a:Type -> cr a -> a -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec canonical_sum_scalar #a r c0 s = + let amult = r.cm_mult.mult in + match s with + | Cons_monom c l t -> Cons_monom (norm_fully (amult c0 c)) l (canonical_sum_scalar r c0 t) + | Cons_varlist l t -> Cons_monom c0 l (canonical_sum_scalar r c0 t) + | Nil_monom -> Nil_monom + +(* Multiplies a sum by a monomial without scalar *) +val canonical_sum_scalar2: #a:eqtype -> cr a -> varlist + -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec canonical_sum_scalar2 #a r l0 s = + match s with + | Cons_monom c l t -> + monom_insert r c (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t) + | Cons_varlist l t -> + varlist_insert r (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t) + | Nil_monom -> Nil_monom + + +(* Multiplies a sum by a monomial with scalar *) +val canonical_sum_scalar3: #a:eqtype -> cr a -> a -> varlist + -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec canonical_sum_scalar3 #a r c0 l0 s = + let amult = r.cm_mult.mult in + match s with + | Cons_monom c l t -> + monom_insert r (norm_fully (amult c0 c)) (varlist_merge l0 l) + (canonical_sum_scalar3 r c0 l0 t) + | Cons_varlist l t -> + monom_insert r c0 (varlist_merge l0 l) + (canonical_sum_scalar3 r c0 l0 t) + | Nil_monom -> s + +(* Multiplies two canonical sums *) +val canonical_sum_prod: #a:eqtype -> cr a + -> canonical_sum a -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec canonical_sum_prod #a r s1 s2 = + match s1 with + | Cons_monom c1 l1 t1 -> + canonical_sum_merge r (canonical_sum_scalar3 r c1 l1 s2) + (canonical_sum_prod r t1 s2) + | Cons_varlist l1 t1 -> + canonical_sum_merge r (canonical_sum_scalar2 r l1 s2) + (canonical_sum_prod r t1 s2) + | Nil_monom -> s1 + +/// +/// Syntax of concrete semiring polynomials +/// + +(* This is the type where we reflect expressions before normalization *) +type spolynomial a = + | SPvar : index -> spolynomial a + | SPconst : a -> spolynomial a + | SPplus : spolynomial a -> spolynomial a -> spolynomial a + | SPmult : spolynomial a -> spolynomial a -> spolynomial a + +(** Canonize a reflected expression *) +val spolynomial_normalize: #a:eqtype -> cr a -> spolynomial a -> canonical_sum a + +[@@canon_attr] +let rec spolynomial_normalize #a r p = + match p with + | SPvar i -> Cons_varlist (Cons_var i Nil_var) Nil_monom + | SPconst c -> Cons_monom c Nil_var Nil_monom + | SPplus l q -> + canonical_sum_merge r (spolynomial_normalize r l) (spolynomial_normalize r q) + | SPmult l q -> + canonical_sum_prod r (spolynomial_normalize r l) (spolynomial_normalize r q) + +(** + * Simplify a canonical sum. + * Removes 0 * x1 * ... * xk and turns 1 * x1 * ... * xk into x1 * ... * xk +**) +val canonical_sum_simplify: #a:eqtype -> cr a -> canonical_sum a -> canonical_sum a + +[@@canon_attr] +let rec canonical_sum_simplify #a r s = + let azero = r.cm_add.unit in + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + match s with + | Cons_monom c l t -> + if norm_fully (c = azero) then canonical_sum_simplify r t + else + if norm_fully (c = aone) + then Cons_varlist l (canonical_sum_simplify r t) + else Cons_monom c l (canonical_sum_simplify r t) + | Cons_varlist l t -> Cons_varlist l (canonical_sum_simplify r t) + | Nil_monom -> s + +(** + * The main canonization algorithm: turn an expression into a sum and + * simplify it. +**) +val spolynomial_simplify: #a:eqtype -> cr a -> spolynomial a -> canonical_sum a + +[@@canon_attr] +let spolynomial_simplify #a r p = + canonical_sum_simplify r + (spolynomial_normalize r p) + +/// +/// Interpretation of varlists, monomials and canonical sums +/// + +type var = nat + +(** + * The variable map: + * This maps polynomial variables to ring expressions. That is, any term + * that is not an addition or a multiplication is turned into a variable + * + * The representation is inefficient. For large terms it might be worthwhile + * using a better data structure. +**) +let vmap a = list (var & a) & a + +(** Add a new entry in a variable map *) +let update (#a:Type) (x:var) (xa:a) (vm:vmap a) : vmap a = + let l, y = vm in (x, xa) :: l, y + +(** Quotes a list *) +let rec quote_list (#a:Type) (ta:term) (quotea:a -> Tac term) (xs:list a) : + Tac term = + match xs with + | [] -> mk_app (`Nil) [(ta, Q_Implicit)] + | x::xs' -> mk_app (`Cons) [(ta, Q_Implicit); + (quotea x, Q_Explicit); + (quote_list ta quotea xs', Q_Explicit)] + +(** Quotes a variable map *) +let quote_vm (#a:Type) (ta: term) (quotea:a -> Tac term) (vm:vmap a) : Tac term = + let quote_map_entry (p:(nat & a)) : Tac term = + mk_app (`Mktuple2) [(`nat, Q_Implicit); (ta, Q_Implicit); + (pack (Tv_Const (C_Int (fst p))), Q_Explicit); + (quotea (snd p), Q_Explicit)] in + let tyentry = mk_e_app (`tuple2) [(`nat); ta] in + let tlist = quote_list tyentry quote_map_entry (fst vm) in + let tylist = mk_e_app (`list) [tyentry] in + mk_app (`Mktuple2) [(tylist, Q_Implicit); (ta, Q_Implicit); + (tlist, Q_Explicit); (quotea (snd vm), Q_Explicit)] + +(** + * A varlist is interpreted as the product of the entries in the variable map + * + * Unbound variables are mapped to the default value according to the map. + * This would normally never occur, but it makes it easy to prove correctness. + *) +[@@canon_attr] +let interp_var (#a:Type) (vm:vmap a) (i:index) = + match List.Tot.Base.assoc i (fst vm) with + | Some x -> x + | _ -> snd vm + +[@@canon_attr] +private +let rec ivl_aux (#a:Type) (r:cr a) (vm:vmap a) (x:index) (t:varlist) + : Tot a (decreases t) = + let amult = r.cm_mult.mult in + match t with + | Nil_var -> interp_var vm x + | Cons_var x' t' -> amult (interp_var vm x) (ivl_aux r vm x' t') + +[@@canon_attr] +let interp_vl (#a:Type) (r:cr a) (vm:vmap a) (l:varlist) = + let aone = r.cm_mult.unit in + match l with + | Nil_var -> aone + | Cons_var x t -> ivl_aux r vm x t + +[@@canon_attr] +let interp_m (#a:Type) (r:cr a) (vm:vmap a) (c:a) (l:varlist) = + let amult = r.cm_mult.mult in + match l with + | Nil_var -> c + | Cons_var x t -> amult c (ivl_aux r vm x t) + +[@@canon_attr] +let rec ics_aux (#a:Type) (r:cr a) (vm:vmap a) (x:a) (s:canonical_sum a) + : Tot a (decreases s) = + let aplus = r.cm_add.mult in + match s with + | Nil_monom -> x + | Cons_varlist l t -> aplus x (ics_aux r vm (interp_vl r vm l) t) + | Cons_monom c l t -> aplus x (ics_aux r vm (interp_m r vm c l) t) + +(** Interpretation of a canonical sum *) +[@@canon_attr] +let interp_cs (#a:Type) (r:cr a) (vm:vmap a) (s:canonical_sum a) : a = + let azero = r.cm_add.unit in + match s with + | Nil_monom -> azero + | Cons_varlist l t -> ics_aux r vm (interp_vl r vm l) t + | Cons_monom c l t -> ics_aux r vm (interp_m r vm c l) t + +(** Interpretation of a polynomial *) +[@@canon_attr] +let rec interp_sp (#a:Type) (r:cr a) (vm:vmap a) (p:spolynomial a) : a = + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match p with + | SPconst c -> c + | SPvar i -> interp_var vm i + | SPplus p1 p2 -> aplus (interp_sp r vm p1) (interp_sp r vm p2) + | SPmult p1 p2 -> amult (interp_sp r vm p1) (interp_sp r vm p2) + +/// +/// Proof of correctness +/// + +val mult_one_l (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_mult.mult r.cm_mult.unit x == x) + [SMTPat (r.cm_mult.mult r.cm_mult.unit x)] +let mult_one_l #a r x = + r.cm_mult.identity x + +val mult_one_r (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_mult.mult x r.cm_mult.unit == x) + [SMTPat (r.cm_mult.mult x r.cm_mult.unit)] +let mult_one_r #a r x = + r.cm_mult.commutativity r.cm_mult.unit x + +val mult_zero_l (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_mult.mult r.cm_add.unit x == r.cm_add.unit) + [SMTPat (r.cm_mult.mult r.cm_add.unit x)] +let mult_zero_l #a r x = + r.mult_zero_l x + +val mult_zero_r (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_mult.mult x r.cm_add.unit == r.cm_add.unit) + [SMTPat (r.cm_mult.mult x r.cm_add.unit)] +let mult_zero_r #a r x = + r.cm_mult.commutativity x r.cm_add.unit + +val add_zero_l (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_add.mult r.cm_add.unit x == x) + [SMTPat (r.cm_add.mult r.cm_add.unit x)] +let add_zero_l #a r x = + r.cm_add.identity x + +val add_zero_r (#a:Type) (r:cr a) (x:a) : + Lemma (r.cm_add.mult x r.cm_add.unit == x) + [SMTPat (r.cm_add.mult x r.cm_add.unit)] +let add_zero_r #a r x = + r.cm_add.commutativity r.cm_add.unit x + +val opp_unique (#a:Type) (r:cr a) (x y:a) : Lemma + (requires r.cm_add.mult x y == r.cm_add.unit) + (ensures y == r.opp x) +let opp_unique #a r x y = + let ( + ) = r.cm_add.mult in + let zero = r.cm_add.unit in + calc (==) { + y; + == { r.add_opp x } + y + (x + r.opp x); + == { r.cm_add.associativity y x (r.opp x) } + (y + x) + r.opp x; + == { r.cm_add.commutativity x y } + zero + r.opp x; + == { } + r.opp x; + } + +val add_mult_opp (#a:Type) (r:cr a) (x:a) : Lemma + (r.cm_add.mult x (r.cm_mult.mult (r.opp r.cm_mult.unit) x) == r.cm_add.unit) +let add_mult_opp #a r x = + let ( + ) = r.cm_add.mult in + let ( * ) = r.cm_mult.mult in + let zero = r.cm_add.unit in + let one = r.cm_mult.unit in + calc (==) { + x + r.opp one * x; + == { } + one * x + r.opp one * x; + == { distribute_right r one (r.opp one) x } + (one + r.opp one) * x; + == { r.add_opp one } + zero * x; + == { } + zero; + } + +val ivl_aux_ok (#a:Type) (r:cr a) (vm:vmap a) (v:varlist) (i:index) : Lemma + (ivl_aux r vm i v == r.cm_mult.mult (interp_var vm i) (interp_vl r vm v)) +let ivl_aux_ok #a r vm v i = () + +val vm_aux_ok (#a:eqtype) (r:cr a) (vm:vmap a) (v:index) (t l:varlist) : + Lemma + (ensures + interp_vl r vm (vm_aux v t l) == + r.cm_mult.mult (interp_vl r vm (Cons_var v t)) (interp_vl r vm l)) + (decreases %[t; l; 1]) + +val varlist_merge_ok (#a:eqtype) (r:cr a) (vm:vmap a) (x y:varlist) : + Lemma + (ensures + interp_vl r vm (varlist_merge x y) == + r.cm_mult.mult (interp_vl r vm x) (interp_vl r vm y)) + (decreases %[x; y; 0]) + +let rec varlist_merge_ok #a r vm x y = + let amult = r.cm_mult.mult in + match x, y with + | Cons_var v1 t1, Nil_var -> () + | Cons_var v1 t1, Cons_var v2 t2 -> + if v1 < v2 + then + begin + varlist_merge_ok r vm t1 y; + assert ( + interp_vl r vm (varlist_merge x y) == + amult (interp_var vm v1) (amult (interp_vl r vm t1) (interp_vl r vm y))); + r.cm_mult.associativity + (interp_var vm v1) (interp_vl r vm t1) (interp_vl r vm y) + end + else + vm_aux_ok r vm v1 t1 y + | Nil_var, _ -> () +and vm_aux_ok #a r vm v1 t1 l2 = + match l2 with + | Cons_var v2 t2 -> + if v1 < v2 + then + begin + varlist_merge_ok r vm t1 l2; + r.cm_mult.associativity + (interp_var vm v1) (interp_vl r vm t1) (interp_vl r vm l2) + end + else + begin + vm_aux_ok r vm v1 t1 t2; + calc (==) { + interp_vl r vm (Cons_var v2 (vm_aux v1 t1 t2)); + == { } + ivl_aux r vm v2 (vm_aux v1 t1 t2); + == { } + r.cm_mult.mult (interp_var vm v2) (interp_vl r vm (vm_aux v1 t1 t2)); + == { } + r.cm_mult.mult (interp_var vm v2) (r.cm_mult.mult (interp_vl r vm (Cons_var v1 t1)) (interp_vl r vm t2)); + == { r.cm_mult.commutativity + (interp_vl r vm (Cons_var v1 t1)) (interp_vl r vm t2) } + r.cm_mult.mult (interp_var vm v2) + (r.cm_mult.mult (interp_vl r vm t2) (interp_vl r vm (Cons_var v1 t1)) ); + == { r.cm_mult.associativity + (interp_var vm v2) + (interp_vl r vm t2) (interp_vl r vm (Cons_var v1 t1)) } + r.cm_mult.mult + (r.cm_mult.mult (interp_var vm v2) (interp_vl r vm t2)) + (interp_vl r vm (Cons_var v1 t1)); + == { r.cm_mult.commutativity + (interp_vl r vm (Cons_var v1 t1)) (interp_vl r vm (Cons_var v2 t2)) } + r.cm_mult.mult (interp_vl r vm (Cons_var v1 t1)) (interp_vl r vm (Cons_var v2 t2)); + } + end + | _ -> () + +val ics_aux_ok: #a:eqtype -> r:cr a -> vm:vmap a -> x:a -> s:canonical_sum a -> + Lemma (ensures ics_aux r vm x s == r.cm_add.mult x (interp_cs r vm s)) + (decreases s) +let rec ics_aux_ok #a r vm x s = + match s with + | Nil_monom -> () + | Cons_varlist l t -> + ics_aux_ok r vm (interp_vl r vm l) t + | Cons_monom c l t -> + ics_aux_ok r vm (interp_m r vm c l) t + +val interp_m_ok: #a:eqtype -> r:cr a -> vm:vmap a -> x:a -> l:varlist -> + Lemma (interp_m r vm x l == r.cm_mult.mult x (interp_vl r vm l)) +let interp_m_ok #a r vm x l = () + +val aplus_assoc_4: #a:Type -> r:cr a -> w:a -> x:a -> y:a -> z:a -> Lemma + (let aplus = r.cm_add.mult in + aplus (aplus w x) (aplus y z) == aplus (aplus w y) (aplus x z)) +let aplus_assoc_4 #a r w x y z = + let aplus = r.cm_add.mult in + let assoc = r.cm_add.associativity in + let comm = r.cm_add.commutativity in + calc (==) { + aplus (aplus w x) (aplus y z); + == { assoc w x (aplus y z) } + aplus w (aplus x (aplus y z)); + == { comm x (aplus y z) } + aplus w (aplus (aplus y z) x); + == { assoc w (aplus y z) x } + aplus (aplus w (aplus y z)) x; + == { assoc w y z } + aplus (aplus (aplus w y) z) x; + == { assoc (aplus w y) z x } + aplus (aplus w y) (aplus z x); + == { comm z x } + aplus (aplus w y) (aplus x z); + } + +val canonical_sum_merge_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> s1:canonical_sum a -> s2:canonical_sum a -> + Lemma + (ensures + interp_cs r vm (canonical_sum_merge r s1 s2) == + r.cm_add.mult (interp_cs r vm s1) (interp_cs r vm s2)) + (decreases %[s1; s2; 0]) + +val csm_aux_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> c1:a -> l1:varlist -> t1:canonical_sum a -> s2:canonical_sum a -> + Lemma + (ensures + interp_cs r vm (csm_aux r c1 l1 t1 s2) == + r.cm_add.mult (interp_cs r vm (Cons_monom c1 l1 t1)) (interp_cs r vm s2)) + (decreases %[t1; s2; 1]) + +let rec canonical_sum_merge_ok #a r vm s1 s2 = + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match s1 with + | Cons_monom c1 l1 t1 -> csm_aux_ok #a r vm c1 l1 t1 s2 + | Cons_varlist l1 t1 -> + calc (==) { + interp_cs r vm (canonical_sum_merge r s1 s2); + == { } + interp_cs r vm (csm_aux r aone l1 t1 s2); + == { csm_aux_ok #a r vm aone l1 t1 s2 } + aplus (interp_cs r vm (Cons_monom aone l1 t1)) + (interp_cs r vm s2); + == { ics_aux_ok r vm (interp_vl r vm l1) t1 } + aplus (interp_cs r vm (Cons_varlist l1 t1)) + (interp_cs r vm s2); + } + | Nil_monom -> () +and csm_aux_ok #a r vm c1 l1 t1 s2 = + let aplus = r.cm_add.mult in + let aone = r.cm_mult.unit in + let amult = r.cm_mult.mult in + match s2 with + | Nil_monom -> () + | Cons_monom c2 l2 t2 -> + let s1 = Cons_monom c1 l1 t1 in + if l1 = l2 then + begin + calc (==) { + interp_cs r vm (csm_aux r c1 l1 t1 s2); + == { } + ics_aux r vm (interp_m r vm (aplus c1 c2) l1) + (canonical_sum_merge r t1 t2); + == { ics_aux_ok r vm (interp_m r vm (aplus c1 c2) l1) + (canonical_sum_merge r t1 t2) } + aplus (interp_m r vm (aplus c1 c2) l1) + (interp_cs r vm (canonical_sum_merge r t1 t2)); + == { interp_m_ok r vm (aplus c1 c2) l1 } + aplus (amult (aplus c1 c2) (interp_vl r vm l1)) + (interp_cs r vm (canonical_sum_merge r t1 t2)); + == { canonical_sum_merge_ok r vm t1 t2 } + aplus (amult (aplus c1 c2) (interp_vl r vm l1)) + (aplus (interp_cs r vm t1) (interp_cs r vm t2)); + == { distribute_right r c1 c2 (interp_vl r vm l1) } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2))) + (aplus (interp_cs r vm t1) + (interp_cs r vm t2)); + == { aplus_assoc_4 r + (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t1) + (interp_cs r vm t2) } + aplus (aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm t1)) + (aplus (amult c2 (interp_vl r vm l2)) (interp_cs r vm t2)); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s1) + (aplus (amult c2 (interp_vl r vm l2)) (interp_cs r vm t2)); + == { ics_aux_ok r vm (amult c2 (interp_vl r vm l2)) t2; + interp_m_ok r vm c2 l2 } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + else if varlist_lt l1 l2 then + begin + calc (==) { + interp_cs r vm (canonical_sum_merge r s1 s2); + == { } + ics_aux r vm (interp_m r vm c1 l1) + (canonical_sum_merge r t1 s2); + == { ics_aux_ok r vm (interp_m r vm c1 l1) + (canonical_sum_merge r t1 s2) } + aplus (interp_m r vm c1 l1) + (interp_cs r vm (canonical_sum_merge r t1 s2)); + == { interp_m_ok r vm c1 l1 } + aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm (canonical_sum_merge r t1 s2)); + == { canonical_sum_merge_ok r vm t1 s2 } + aplus (amult c1 (interp_vl r vm l1)) + (aplus (interp_cs r vm t1) (interp_cs r vm s2)); + == { r.cm_add.associativity + (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t1) + (interp_cs r vm s2) + } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t1)) + (interp_cs r vm s2); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + else + begin + calc (==) { + interp_cs r vm (csm_aux r c1 l1 t1 s2); + == { } + ics_aux r vm (interp_m r vm c2 l2) + (csm_aux r c1 l1 t1 t2); + == { ics_aux_ok r vm (interp_m r vm c2 l2) + (csm_aux r c1 l1 t1 t2) } + aplus (interp_m r vm c2 l2) + (interp_cs r vm (csm_aux r c1 l1 t1 t2)); + == { interp_m_ok r vm c2 l2 } + aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm (csm_aux r c1 l1 t1 t2)); + == { csm_aux_ok r vm c1 l1 t1 t2 } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm s1) (interp_cs r vm t2)); + == { r.cm_add.commutativity (interp_cs r vm s1) (interp_cs r vm t2) } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm t2) (interp_cs r vm s1)); + == { r.cm_add.associativity + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) + (interp_cs r vm s1) + } + aplus (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)) + (interp_cs r vm s1); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s2) (interp_cs r vm s1); + == { r.cm_add.commutativity (interp_cs r vm s1) (interp_cs r vm s2) } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + | Cons_varlist l2 t2 -> // Same as Cons_monom with c2 = aone + let c2 = aone in + let s1 = Cons_monom c1 l1 t1 in + if l1 = l2 then + begin + calc (==) { + interp_cs r vm (csm_aux r c1 l1 t1 s2); + == { } + ics_aux r vm (interp_m r vm (aplus c1 c2) l1) + (canonical_sum_merge r t1 t2); + == { ics_aux_ok r vm (interp_m r vm (aplus c1 c2) l1) + (canonical_sum_merge r t1 t2) } + aplus (interp_m r vm (aplus c1 c2) l1) + (interp_cs r vm (canonical_sum_merge r t1 t2)); + == { interp_m_ok r vm (aplus c1 c2) l1 } + aplus (amult (aplus c1 c2) (interp_vl r vm l1)) + (interp_cs r vm (canonical_sum_merge r t1 t2)); + == { canonical_sum_merge_ok r vm t1 t2 } + aplus (amult (aplus c1 c2) (interp_vl r vm l1)) + (aplus (interp_cs r vm t1) (interp_cs r vm t2)); + == { distribute_right r c1 c2 (interp_vl r vm l1) } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2))) + (aplus (interp_cs r vm t1) + (interp_cs r vm t2)); + == { aplus_assoc_4 r + (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t1) + (interp_cs r vm t2) } + aplus (aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm t1)) + (aplus (amult c2 (interp_vl r vm l2)) (interp_cs r vm t2)); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s1) + (aplus (amult c2 (interp_vl r vm l2)) (interp_cs r vm t2)); + == { ics_aux_ok r vm (amult c2 (interp_vl r vm l2)) t2; + interp_m_ok r vm c2 l2 } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + else if varlist_lt l1 l2 then + begin + calc (==) { + interp_cs r vm (canonical_sum_merge r s1 s2); + == { } + ics_aux r vm (interp_m r vm c1 l1) + (canonical_sum_merge r t1 s2); + == { ics_aux_ok r vm (interp_m r vm c1 l1) + (canonical_sum_merge r t1 s2) } + aplus (interp_m r vm c1 l1) + (interp_cs r vm (canonical_sum_merge r t1 s2)); + == { interp_m_ok r vm c1 l1 } + aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm (canonical_sum_merge r t1 s2)); + == { canonical_sum_merge_ok r vm t1 s2 } + aplus (amult c1 (interp_vl r vm l1)) + (aplus (interp_cs r vm t1) (interp_cs r vm s2)); + == { r.cm_add.associativity + (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t1) + (interp_cs r vm s2) + } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t1)) + (interp_cs r vm s2); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + else + begin + calc (==) { + interp_cs r vm (csm_aux r c1 l1 t1 s2); + == { } + ics_aux r vm (interp_m r vm c2 l2) + (csm_aux r c1 l1 t1 t2); + == { ics_aux_ok r vm (interp_m r vm c2 l2) + (csm_aux r c1 l1 t1 t2) } + aplus (interp_m r vm c2 l2) + (interp_cs r vm (csm_aux r c1 l1 t1 t2)); + == { interp_m_ok r vm c2 l2 } + aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm (csm_aux r c1 l1 t1 t2)); + == { csm_aux_ok r vm c1 l1 t1 t2 } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm s1) (interp_cs r vm t2)); + == { r.cm_add.commutativity (interp_cs r vm s1) (interp_cs r vm t2) } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm t2) (interp_cs r vm s1)); + == { r.cm_add.associativity + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) + (interp_cs r vm s1) + } + aplus (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)) + (interp_cs r vm s1); + == { ics_aux_ok r vm (amult c1 (interp_vl r vm l1)) t1; + interp_m_ok r vm c1 l1 } + aplus (interp_cs r vm s2) (interp_cs r vm s1); + == { r.cm_add.commutativity (interp_cs r vm s1) (interp_cs r vm s2) } + aplus (interp_cs r vm s1) (interp_cs r vm s2); + } + end + +val monom_insert_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> c1:a -> l1:varlist -> s2:canonical_sum a -> + Lemma + (interp_cs r vm (monom_insert r c1 l1 s2) == + r.cm_add.mult (r.cm_mult.mult c1 (interp_vl r vm l1)) (interp_cs r vm s2)) +let rec monom_insert_ok #a r vm c1 l1 s2 = + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + let aone = r.cm_mult.unit in + match s2 with + | Cons_monom c2 l2 t2 -> + if l1 = l2 + then + calc (==) { + interp_cs r vm (monom_insert r c1 l1 s2); + == { } + interp_cs r vm (Cons_monom (aplus c1 c2) l1 t2); + == { } + ics_aux r vm (interp_m r vm (aplus c1 c2) l1) t2; + == { ics_aux_ok r vm (interp_m r vm (aplus c1 c2) l1) t2 } + aplus (interp_m r vm (aplus c1 c2) l1) (interp_cs r vm t2); + == { interp_m_ok r vm (aplus c1 c2) l1 } + aplus (amult (aplus c1 c2) (interp_vl r vm l2)) (interp_cs r vm t2); + == { distribute_right r c1 c2 (interp_vl r vm l2) } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2))) + (interp_cs r vm t2); + == { r.cm_add.associativity + (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) } + aplus (amult c1 (interp_vl r vm l1)) + (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)); + == { ics_aux_ok r vm (interp_m r vm c2 l2) t2 } + aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm s2); + } + else + if varlist_lt l1 l2 then () + else + calc (==) { + interp_cs r vm (monom_insert r c1 l1 s2); + == { } + interp_cs r vm (Cons_monom c2 l2 (monom_insert r c1 l1 t2)); + == { } + aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm (monom_insert r c1 l1 t2)); + == { monom_insert_ok r vm c1 l1 t2 } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t2)); + == { r.cm_add.commutativity + (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t2) } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm t2) + (amult c1 (interp_vl r vm l1))); + == { r.cm_add.associativity + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) + (amult c1 (interp_vl r vm l1)) } + aplus (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)) + (amult c1 (interp_vl r vm l1)); + == { ics_aux_ok r vm (interp_m r vm c2 l2) t2 } + aplus (interp_cs r vm s2) (amult c1 (interp_vl r vm l1)); + == { r.cm_add.commutativity + (interp_cs r vm s2) + (amult c1 (interp_vl r vm l1)) } + aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm s2); + } + | Cons_varlist l2 t2 -> // Same as Cons_monom with c2 = aone + let c2 = aone in + if l1 = l2 + then + calc (==) { + interp_cs r vm (monom_insert r c1 l1 s2); + == { } + interp_cs r vm (Cons_monom (aplus c1 c2) l1 t2); + == { } + ics_aux r vm (interp_m r vm (aplus c1 c2) l1) t2; + == { ics_aux_ok r vm (interp_m r vm (aplus c1 c2) l1) t2 } + aplus (interp_m r vm (aplus c1 c2) l1) (interp_cs r vm t2); + == { interp_m_ok r vm (aplus c1 c2) l1 } + aplus (amult (aplus c1 c2) (interp_vl r vm l2)) (interp_cs r vm t2); + == { distribute_right r c1 c2 (interp_vl r vm l2) } + aplus (aplus (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2))) + (interp_cs r vm t2); + == { r.cm_add.associativity + (amult c1 (interp_vl r vm l1)) + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) } + aplus (amult c1 (interp_vl r vm l1)) + (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)); + == { ics_aux_ok r vm (interp_m r vm c2 l2) t2 } + aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm s2); + } + else + if varlist_lt l1 l2 then () + else + calc (==) { + interp_cs r vm (monom_insert r c1 l1 s2); + == { } + interp_cs r vm (Cons_monom c2 l2 (monom_insert r c1 l1 t2)); + == { } + aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm (monom_insert r c1 l1 t2)); + == { monom_insert_ok r vm c1 l1 t2 } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t2)); + == { r.cm_add.commutativity + (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t2) } + aplus (amult c2 (interp_vl r vm l2)) + (aplus (interp_cs r vm t2) + (amult c1 (interp_vl r vm l1))); + == { r.cm_add.associativity + (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2) + (amult c1 (interp_vl r vm l1)) } + aplus (aplus (amult c2 (interp_vl r vm l2)) + (interp_cs r vm t2)) + (amult c1 (interp_vl r vm l1)); + == { ics_aux_ok r vm (interp_m r vm c2 l2) t2 } + aplus (interp_cs r vm s2) (amult c1 (interp_vl r vm l1)); + == { r.cm_add.commutativity + (interp_cs r vm s2) + (amult c1 (interp_vl r vm l1)) } + aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm s2); + } + | Nil_monom -> () + +val varlist_insert_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> l1:varlist -> s2:canonical_sum a -> + Lemma (interp_cs r vm (varlist_insert r l1 s2) == + r.cm_add.mult (interp_vl r vm l1) (interp_cs r vm s2)) +let varlist_insert_ok #a r vm l1 s2 = + let aone = r.cm_mult.unit in + monom_insert_ok r vm aone l1 s2 + +val canonical_sum_scalar_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> c0:a -> s:canonical_sum a -> + Lemma ( + interp_cs r vm (canonical_sum_scalar r c0 s) == + r.cm_mult.mult c0 (interp_cs r vm s)) +let rec canonical_sum_scalar_ok #a r vm c0 s = + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match s with + | Cons_monom c l t -> + calc (==) { + interp_cs r vm (canonical_sum_scalar r c0 s); + == { } + interp_cs r vm (Cons_monom (amult c0 c) l (canonical_sum_scalar r c0 t)); + == { } + aplus (amult (amult c0 c) (interp_vl r vm l)) + (interp_cs r vm (canonical_sum_scalar r c0 t)); + == { r.cm_mult.associativity c0 c (interp_vl r vm l) } + aplus (amult c0 (amult c (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar r c0 t)); + == { canonical_sum_scalar_ok r vm c0 t } + aplus (amult c0 (amult c (interp_vl r vm l))) + (amult c0 (interp_cs r vm t)); + == { r.distribute c0 (amult c (interp_vl r vm l)) + (interp_cs r vm t) } + amult c0 (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult c0 (interp_cs r vm s); + } + | Cons_varlist l t -> // Same as Cons_monom c l t with c = r.cm_mult.unit + let c = aone in + calc (==) { + interp_cs r vm (canonical_sum_scalar r c0 s); + == { } + interp_cs r vm (Cons_monom (amult c0 c) l (canonical_sum_scalar r c0 t)); + == { } + aplus (amult (amult c0 c) (interp_vl r vm l)) + (interp_cs r vm (canonical_sum_scalar r c0 t)); + == { r.cm_mult.associativity c0 c (interp_vl r vm l) } + aplus (amult c0 (amult c (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar r c0 t)); + == { canonical_sum_scalar_ok r vm c0 t } + aplus (amult c0 (amult c (interp_vl r vm l))) + (amult c0 (interp_cs r vm t)); + == { r.distribute c0 (amult c (interp_vl r vm l)) + (interp_cs r vm t) } + amult c0 (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult c0 (interp_cs r vm s); + } + | Nil_monom -> () + +val canonical_sum_scalar2_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> l0:varlist -> s:canonical_sum a -> + Lemma ( + interp_cs r vm (canonical_sum_scalar2 r l0 s) == + r.cm_mult.mult (interp_vl r vm l0) (interp_cs r vm s)) +let rec canonical_sum_scalar2_ok #a r vm l0 s = + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match s with + | Cons_monom c l t -> + calc (==) { + interp_cs r vm (canonical_sum_scalar2 r l0 s); + == { } + interp_cs r vm + (monom_insert r c (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t)); + == { monom_insert_ok r vm c (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t) } + aplus (amult c (interp_vl r vm (varlist_merge l0 l))) + (interp_cs r vm (canonical_sum_scalar2 r l0 t)); + == { varlist_merge_ok r vm l0 l } + aplus (amult c (amult (interp_vl r vm l0) (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar2 r l0 t)); + == { canonical_sum_scalar2_ok r vm l0 t } + aplus (amult c (amult (interp_vl r vm l0) (interp_vl r vm l))) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.associativity c (interp_vl r vm l0) + (interp_vl r vm l) } + aplus (amult (amult c (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.commutativity (interp_vl r vm l0) c } + aplus (amult (amult (interp_vl r vm l0) c) (interp_vl r vm l)) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.associativity (interp_vl r vm l0) c (interp_vl r vm l) } + aplus (amult (interp_vl r vm l0) (amult c (interp_vl r vm l))) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.distribute (interp_vl r vm l0) + (amult c (interp_vl r vm l)) (interp_cs r vm t) } + amult (interp_vl r vm l0) + (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult (interp_vl r vm l0) (interp_cs r vm s); + } + | Cons_varlist l t -> // Same as Cons_monom c l t with c = aone + let c = aone in + calc (==) { + interp_cs r vm (canonical_sum_scalar2 r l0 s); + == { } + interp_cs r vm + (monom_insert r c (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t)); + == { monom_insert_ok r vm c (varlist_merge l0 l) (canonical_sum_scalar2 r l0 t) } + aplus (amult c (interp_vl r vm (varlist_merge l0 l))) + (interp_cs r vm (canonical_sum_scalar2 r l0 t)); + == { varlist_merge_ok r vm l0 l } + aplus (amult c (amult (interp_vl r vm l0) (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar2 r l0 t)); + == { canonical_sum_scalar2_ok r vm l0 t } + aplus (amult c (amult (interp_vl r vm l0) (interp_vl r vm l))) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.associativity c (interp_vl r vm l0) + (interp_vl r vm l) } + aplus (amult (amult c (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.commutativity (interp_vl r vm l0) c } + aplus (amult (amult (interp_vl r vm l0) c) (interp_vl r vm l)) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.cm_mult.associativity (interp_vl r vm l0) c (interp_vl r vm l) } + aplus (amult (interp_vl r vm l0) (amult c (interp_vl r vm l))) + (amult (interp_vl r vm l0) (interp_cs r vm t)); + == { r.distribute (interp_vl r vm l0) + (amult c (interp_vl r vm l)) (interp_cs r vm t) } + amult (interp_vl r vm l0) + (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult (interp_vl r vm l0) (interp_cs r vm s); + } + | Nil_monom -> () + +val canonical_sum_scalar3_ok: #a:eqtype -> r:cr a -> vm:vmap a + -> c0:a -> l0:varlist -> s:canonical_sum a -> + Lemma ( + interp_cs r vm (canonical_sum_scalar3 r c0 l0 s) == + r.cm_mult.mult (r.cm_mult.mult c0 (interp_vl r vm l0)) (interp_cs r vm s)) +let rec canonical_sum_scalar3_ok #a r vm c0 l0 s = + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match s with + | Cons_monom c l t -> + calc (==) { + interp_cs r vm (canonical_sum_scalar3 r c0 l0 s); + == { } + interp_cs r vm + (monom_insert r (amult c0 c) (varlist_merge l0 l) + (canonical_sum_scalar3 r c0 l0 t)); + == { monom_insert_ok r vm (amult c0 c) (varlist_merge l0 l) (canonical_sum_scalar3 r c0 l0 t) } + aplus (amult (amult c0 c) (interp_vl r vm (varlist_merge l0 l))) + (interp_cs r vm (canonical_sum_scalar3 r c0 l0 t)); + == { varlist_merge_ok r vm l0 l } + aplus (amult (amult c0 c) (amult (interp_vl r vm l0) (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar3 r c0 l0 t)); + == { canonical_sum_scalar3_ok r vm c0 l0 t } + aplus (amult (amult c0 c) (amult (interp_vl r vm l0) (interp_vl r vm l))) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity (amult c0 c) + (interp_vl r vm l0) (interp_vl r vm l) } + aplus (amult (amult (amult c0 c) (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.commutativity c0 c } + aplus (amult (amult (amult c c0) (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity c c0 (interp_vl r vm l0) } + aplus (amult (amult c (amult c0 (interp_vl r vm l0))) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.commutativity c (amult c0 (interp_vl r vm l0)) } + aplus (amult (amult (amult c0 (interp_vl r vm l0)) c) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity (amult c0 (interp_vl r vm l0)) c (interp_vl r vm l) } + aplus (amult (amult c0 (interp_vl r vm l0)) (amult c (interp_vl r vm l))) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.distribute (amult c0 (interp_vl r vm l0)) + (amult c (interp_vl r vm l)) (interp_cs r vm t) } + amult (amult c0 (interp_vl r vm l0)) + (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm s); + } + | Cons_varlist l t -> // Same as Cons_monom c l t with c = aone + let c = aone in + calc (==) { + interp_cs r vm (canonical_sum_scalar3 r c0 l0 s); + == { } + interp_cs r vm + (monom_insert r (amult c0 c) (varlist_merge l0 l) + (canonical_sum_scalar3 r c0 l0 t)); + == { monom_insert_ok r vm (amult c0 c) (varlist_merge l0 l) (canonical_sum_scalar3 r c0 l0 t) } + aplus (amult (amult c0 c) (interp_vl r vm (varlist_merge l0 l))) + (interp_cs r vm (canonical_sum_scalar3 r c0 l0 t)); + == { varlist_merge_ok r vm l0 l } + aplus (amult (amult c0 c) (amult (interp_vl r vm l0) (interp_vl r vm l))) + (interp_cs r vm (canonical_sum_scalar3 r c0 l0 t)); + == { canonical_sum_scalar3_ok r vm c0 l0 t } + aplus (amult (amult c0 c) (amult (interp_vl r vm l0) (interp_vl r vm l))) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity (amult c0 c) + (interp_vl r vm l0) (interp_vl r vm l) } + aplus (amult (amult (amult c0 c) (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.commutativity c0 c } + aplus (amult (amult (amult c c0) (interp_vl r vm l0)) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity c c0 (interp_vl r vm l0) } + aplus (amult (amult c (amult c0 (interp_vl r vm l0))) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.commutativity c (amult c0 (interp_vl r vm l0)) } + aplus (amult (amult (amult c0 (interp_vl r vm l0)) c) (interp_vl r vm l)) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.cm_mult.associativity (amult c0 (interp_vl r vm l0)) c (interp_vl r vm l) } + aplus (amult (amult c0 (interp_vl r vm l0)) (amult c (interp_vl r vm l))) + (amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm t)); + == { r.distribute (amult c0 (interp_vl r vm l0)) + (amult c (interp_vl r vm l)) (interp_cs r vm t) } + amult (amult c0 (interp_vl r vm l0)) + (aplus (amult c (interp_vl r vm l)) (interp_cs r vm t)); + == { } + amult (amult c0 (interp_vl r vm l0)) (interp_cs r vm s); + } + | Nil_monom -> () + +val canonical_sum_prod_ok: #a:eqtype -> r:cr a -> vm:vmap a -> + s1:canonical_sum a -> s2:canonical_sum a -> + Lemma (interp_cs r vm (canonical_sum_prod r s1 s2) == + r.cm_mult.mult (interp_cs r vm s1) (interp_cs r vm s2)) +let rec canonical_sum_prod_ok #a r vm s1 s2 = + let aone = r.cm_mult.unit in + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match s1 with + | Cons_monom c1 l1 t1 -> + calc (==) { + interp_cs r vm (canonical_sum_prod r s1 s2); + == { } + interp_cs r vm + (canonical_sum_merge r (canonical_sum_scalar3 r c1 l1 s2) + (canonical_sum_prod r t1 s2)); + == { canonical_sum_merge_ok r vm + (canonical_sum_scalar3 r c1 l1 s2) + (canonical_sum_prod r t1 s2) } + aplus (interp_cs r vm (canonical_sum_scalar3 r c1 l1 s2)) + (interp_cs r vm (canonical_sum_prod r t1 s2)); + == { canonical_sum_scalar3_ok r vm c1 l1 s2; + canonical_sum_prod_ok r vm t1 s2 } + aplus (amult (amult c1 (interp_vl r vm l1)) (interp_cs r vm s2)) + (amult (interp_cs r vm t1) (interp_cs r vm s2)); + == { distribute_right r (amult c1 (interp_vl r vm l1)) + (interp_cs r vm t1) (interp_cs r vm s2) } + amult (aplus (amult c1 (interp_vl r vm l1)) (interp_cs r vm t1)) + (interp_cs r vm s2); + == { } + amult (interp_cs r vm s1) (interp_cs r vm s2); + } + | Cons_varlist l1 t1 -> + calc (==) { + interp_cs r vm (canonical_sum_prod r s1 s2); + == { } + interp_cs r vm + (canonical_sum_merge r (canonical_sum_scalar2 r l1 s2) + (canonical_sum_prod r t1 s2)); + == { canonical_sum_merge_ok r vm + (canonical_sum_scalar2 r l1 s2) + (canonical_sum_prod r t1 s2) } + aplus (interp_cs r vm (canonical_sum_scalar2 r l1 s2)) + (interp_cs r vm (canonical_sum_prod r t1 s2)); + == { canonical_sum_scalar2_ok r vm l1 s2; + canonical_sum_prod_ok r vm t1 s2 } + aplus (amult (interp_vl r vm l1) (interp_cs r vm s2)) + (amult (interp_cs r vm t1) (interp_cs r vm s2)); + == { distribute_right r (interp_vl r vm l1) + (interp_cs r vm t1) (interp_cs r vm s2) } + amult (aplus (interp_vl r vm l1) (interp_cs r vm t1)) + (interp_cs r vm s2); + == { } + amult (interp_cs r vm s1) (interp_cs r vm s2); + } + | Nil_monom -> () + +val spolynomial_normalize_ok: #a:eqtype -> r:cr a -> vm:vmap a -> p:spolynomial a -> + Lemma (interp_cs r vm (spolynomial_normalize r p) == interp_sp r vm p) +let rec spolynomial_normalize_ok #a r vm p = + match p with + | SPvar _ -> () + | SPconst _ -> () + | SPplus l q -> + canonical_sum_merge_ok r vm + (spolynomial_normalize r l) (spolynomial_normalize r q); + spolynomial_normalize_ok r vm l; + spolynomial_normalize_ok r vm q + | SPmult l q -> + canonical_sum_prod_ok r vm + (spolynomial_normalize r l) (spolynomial_normalize r q); + spolynomial_normalize_ok r vm l; + spolynomial_normalize_ok r vm q + +val canonical_sum_simplify_ok: #a:eqtype -> r:cr a -> vm:vmap a -> s:canonical_sum a -> + Lemma (interp_cs r vm (canonical_sum_simplify r s) == interp_cs r vm s) +let rec canonical_sum_simplify_ok #a r vm s = + let azero = r.cm_add.unit in + let aone = r.cm_mult.unit in + match s with + | Cons_monom c _ t -> canonical_sum_simplify_ok r vm t + | Cons_varlist _ t -> canonical_sum_simplify_ok r vm t + | Nil_monom -> () + +val spolynomial_simplify_ok: #a:eqtype -> r:cr a -> vm:vmap a -> p:spolynomial a -> + Lemma (interp_cs r vm (spolynomial_simplify r p) == interp_sp r vm p) +let spolynomial_simplify_ok #a r vm p = + canonical_sum_simplify_ok r vm (spolynomial_normalize r p); + spolynomial_normalize_ok r vm p + + +(** + * This is the type where we first reflect expressions, + * before eliminating additive inverses +**) +type polynomial a = + | Pvar : index -> polynomial a + | Pconst : a -> polynomial a + | Pplus : polynomial a -> polynomial a -> polynomial a + | Pmult : polynomial a -> polynomial a -> polynomial a + | Popp : polynomial a -> polynomial a + +(** Canonize a reflected expression *) +val polynomial_normalize: #a:eqtype -> cr a -> polynomial a -> canonical_sum a + +[@@canon_attr] +let rec polynomial_normalize #a r p = + match p with + | Pvar i -> Cons_varlist (Cons_var i Nil_var) Nil_monom + | Pconst c -> Cons_monom c Nil_var Nil_monom + | Pplus l q -> + canonical_sum_merge r (polynomial_normalize r l) (polynomial_normalize r q) + | Pmult l q -> + canonical_sum_prod r (polynomial_normalize r l) (polynomial_normalize r q) + | Popp p -> + canonical_sum_scalar3 r (r.opp r.cm_mult.unit) Nil_var (polynomial_normalize r p) + +val polynomial_simplify: #a:eqtype -> cr a -> polynomial a -> canonical_sum a + +[@@canon_attr] +let polynomial_simplify #a r p = + canonical_sum_simplify r + (polynomial_normalize r p) + +(** Translate to a representation without additive inverses *) +val spolynomial_of: #a:eqtype -> cr a -> polynomial a -> spolynomial a + +[@@canon_attr] +let rec spolynomial_of #a r p = + match p with + | Pvar i -> SPvar i + | Pconst c -> SPconst c + | Pplus l q -> SPplus (spolynomial_of r l) (spolynomial_of r q) + | Pmult l q -> SPmult (spolynomial_of r l) (spolynomial_of r q) + | Popp p -> SPmult (SPconst (r.opp r.cm_mult.unit)) (spolynomial_of r p) + +(** Interpretation of a polynomial *) +[@@canon_attr] +let rec interp_p (#a:Type) (r:cr a) (vm:vmap a) (p:polynomial a) : a = + let aplus = r.cm_add.mult in + let amult = r.cm_mult.mult in + match p with + | Pconst c -> c + | Pvar i -> interp_var vm i + | Pplus p1 p2 -> aplus (interp_p r vm p1) (interp_p r vm p2) + | Pmult p1 p2 -> amult (interp_p r vm p1) (interp_p r vm p2) + | Popp p -> r.opp (interp_p r vm p) + + +val spolynomial_of_ok: #a:eqtype -> r:cr a -> vm:vmap a -> p:polynomial a -> + Lemma (interp_p r vm p == interp_sp r vm (spolynomial_of r p)) +let rec spolynomial_of_ok #a r vm p = + match p with + | Pconst c -> () + | Pvar i -> () + | Pplus p1 p2 -> + spolynomial_of_ok r vm p1; + spolynomial_of_ok r vm p2 + | Pmult p1 p2 -> + spolynomial_of_ok r vm p1; + spolynomial_of_ok r vm p2 + | Popp p -> + spolynomial_of_ok r vm p; + let x = interp_sp r vm (spolynomial_of r p) in + let y = r.cm_mult.mult (r.opp r.cm_mult.unit) x in + add_mult_opp r x; + opp_unique r x y + + +val polynomial_normalize_ok: #a:eqtype -> r:cr a -> vm:vmap a -> p:polynomial a -> + Lemma (interp_cs r vm (polynomial_normalize r p) == + interp_cs r vm (spolynomial_normalize r (spolynomial_of r p))) +let rec polynomial_normalize_ok #a r vm p = + match p with + | Pvar _ -> () + | Pconst _ -> () + | Pplus l q -> + canonical_sum_merge_ok r vm + (polynomial_normalize r l) + (polynomial_normalize r q); + canonical_sum_merge_ok r vm + (spolynomial_normalize r (spolynomial_of r l)) + (spolynomial_normalize r (spolynomial_of r q)); + polynomial_normalize_ok r vm l; + polynomial_normalize_ok r vm q + + | Pmult l q -> + canonical_sum_prod_ok r vm + (polynomial_normalize r l) + (polynomial_normalize r q); + canonical_sum_prod_ok r vm + (spolynomial_normalize r (spolynomial_of r l)) + (spolynomial_normalize r (spolynomial_of r q)); + polynomial_normalize_ok r vm l; + polynomial_normalize_ok r vm q + + | Popp p1 -> + let l = SPconst (r.opp r.cm_mult.unit) in + polynomial_normalize_ok r vm p1; + canonical_sum_prod_ok r vm + (spolynomial_normalize r l) + (polynomial_normalize r p1); + canonical_sum_prod_ok r vm + (spolynomial_normalize r l) + (spolynomial_normalize r (spolynomial_of r p1)) + + +val polynomial_simplify_ok: #a:eqtype -> r:cr a -> vm:vmap a -> p:polynomial a -> + Lemma (interp_cs r vm (polynomial_simplify r p) == interp_p r vm p) +let polynomial_simplify_ok #a r vm p = + calc (==) { + interp_cs r vm (polynomial_simplify r p); + == { } + interp_cs r vm (canonical_sum_simplify r (polynomial_normalize r p)); + == { canonical_sum_simplify_ok r vm (polynomial_normalize r p) } + interp_cs r vm (polynomial_normalize r p); + == { polynomial_normalize_ok r vm p } + interp_cs r vm (spolynomial_normalize r (spolynomial_of r p)); + == { spolynomial_normalize_ok r vm (spolynomial_of r p) } + interp_sp r vm (spolynomial_of r p); + == { spolynomial_of_ok r vm p } + interp_p r vm p; + } + + +/// +/// Tactic definition +/// + +(* Only dump when debugging is on *) +let ddump m = if debugging () then dump m + +(** + * Finds the position of first occurrence of x in xs. + * This is specialized to terms and their funny term_eq. +**) +let rec find_aux (n:nat) (x:term) (xs:list term) : Tac (option nat) = + match xs with + | [] -> None + | x'::xs' -> if term_eq x x' then Some n else find_aux (n+1) x xs' + +let find = find_aux 0 + +let make_fvar (#a:Type) (t:term) (unquotea:term -> Tac a) (ts:list term) + (vm:vmap a) : Tac (polynomial a & list term & vmap a) = + match find t ts with + | Some v -> (Pvar v, ts, vm) + | None -> + let vfresh = length ts in + let z = unquotea t in + (Pvar vfresh, ts @ [t], update vfresh z vm) + +(** 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 + match inspect hd, list_unref tl with + | Tv_FVar fv, [(t1, _) ; (t2, _)] -> + //ddump ("add = " ^ term_to_string add ^ " + // \nmul = " ^ term_to_string mult); + //ddump ("fv = " ^ term_to_string (pack (Tv_FVar fv))); + let binop (op:polynomial a -> polynomial a -> polynomial a) : Tac (polynomial a & list term & vmap a) = + let (e1, ts, vm) = reification_aux unquotea ts vm add opp mone mult t1 in + let (e2, ts, vm) = reification_aux unquotea ts vm add opp mone mult t2 in + (op e1 e2, ts, vm) + in + if term_eq (pack (Tv_FVar fv)) add then binop Pplus else + if term_eq (pack (Tv_FVar fv)) mult then binop Pmult else + make_fvar t unquotea ts vm + | Tv_FVar fv, [(t1, _)] -> + let monop (op:polynomial a -> polynomial a) : Tac (polynomial a & list term & vmap a) = + let (e, ts, vm) = reification_aux unquotea ts vm add opp mone mult t1 in + (op e, ts, vm) + in + if term_eq (pack (Tv_FVar fv)) opp then monop Popp else + make_fvar t unquotea ts vm + | Tv_Const _, [] -> Pconst (unquotea t), ts, vm + | _, _ -> make_fvar t unquotea ts vm + +(** + * How to normalize terms in the tactic. + * This is carefully tuned to unfold all and no more than required +**) +let steps = + [ + primops; + iota; + zeta; + delta_attr [`%canon_attr]; + delta_only [ + `%FStar.Mul.op_Star; // For integer ring + `%FStar.Algebra.CommMonoid.int_plus_cm; // For integer ring + `%FStar.Algebra.CommMonoid.int_multiply_cm; // For integer ring + `%FStar.Algebra.CommMonoid.__proj__CM__item__mult; + `%FStar.Algebra.CommMonoid.__proj__CM__item__unit; + `%__proj__CR__item__cm_add; + `%__proj__CR__item__opp; + `%__proj__CR__item__cm_mult; + `%FStar.List.Tot.assoc; + `%FStar.Pervasives.Native.fst; + `%FStar.Pervasives.Native.snd; + `%FStar.Pervasives.Native.__proj__Mktuple2__item___1; + `%FStar.Pervasives.Native.__proj__Mktuple2__item___2; + `%FStar.List.Tot.op_At; + `%FStar.List.Tot.append; + ] + ] + +let canon_norm () : Tac unit = norm steps + +let reification (#a:Type) + (unquotea:term -> Tac a) (quotea:a -> Tac term) (tadd topp tmone tmult:term) (munit:a) (ts:list term) : Tac (list (polynomial a) & vmap a) = + // Be careful not to normalize operations too much + // E.g. we don't want to turn ( +% ) into (a + b) % prime + // or we won't be able to spot ring operations + let add = tadd in + let opp = topp in + let mone = tmone in + let mult = tmult in + let ts = Tactics.Util.map (norm_term steps) ts in + //ddump ("add = " ^ term_to_string add ^ "\nmult = " ^ term_to_string mult); + let (es, _, vm) = + Tactics.Util.fold_left + (fun (es, vs, vm) t -> + let (e, vs, vm) = reification_aux unquotea vs vm add opp mone mult t + in (e::es, vs, vm)) + ([],[], ([], munit)) ts + in (List.Tot.Base.rev es, vm) + +(* The implicit argument in the application of `Pconst` is crucial *) +let rec quote_polynomial (#a:Type) (ta:term) (quotea:a -> Tac term) (e:polynomial a) : Tac term = + match e with + | Pconst c -> mk_app (`Pconst) [(ta, Q_Implicit); (quotea c, Q_Explicit)] + | Pvar x -> mk_e_app (`Pvar) [pack (Tv_Const (C_Int x))] + | Pplus e1 e2 -> + mk_e_app (`Pplus) [quote_polynomial ta quotea e1; quote_polynomial ta quotea e2] + | Pmult e1 e2 -> + mk_e_app (`Pmult) [quote_polynomial ta quotea e1; quote_polynomial ta quotea e2] + | Popp e -> mk_e_app (`Popp) [quote_polynomial ta quotea e] + +(* Constructs the 3 main goals of the tactic *) +let semiring_reflect (#a:eqtype) (r:cr a) (vm:vmap a) (e1 e2:polynomial a) (a1 a2:a) + (_ : squash ( + interp_cs r vm (polynomial_simplify r e1) == + interp_cs r vm (polynomial_simplify r e2))) + (_ : squash (a1 == interp_p r vm e1)) + (_ : squash (a2 == interp_p r vm e2)) : + squash (a1 == a2) + = + polynomial_simplify_ok r vm e1; + polynomial_simplify_ok r vm e2 + +(* [@@plugin] *) +let canon_semiring_aux + (a: Type) (ta: term) (unquotea: term -> Tac a) (quotea: a -> Tac term) + (tr tadd topp tmone tmult: term) + (munit: a) + : Tac unit += + focus (fun () -> + norm []; // Do not normalize anything implicitly + let g = cur_goal () in + match term_as_formula g with + | Comp (Eq (Some t)) t1 t2 -> + (* First, make sure we have an equality at type ta, since otherwise + we will fail to apply the reflection Lemma. We can just cut by the equality + we want, since they should be equiprovable (though not equal). *) + let b = tcut (`(squash (eq2 #(`#ta) (`#t1) (`#t2)))) in + (* Try solving it trivially if type was exactly the same, or give to smt. + It should really be trivial. *) + begin + try exact b with | _ -> smt () + end; + begin + match reification unquotea quotea tadd topp tmone tmult munit [t1; t2] with + | ([e1; e2], vm) -> +(* + ddump (term_to_string t1); + ddump (term_to_string t2); + let r : cr a = unquote tr in + ddump ("vm = " ^ term_to_string (quote vm) ^ "\n" ^ + "before = " ^ term_to_string (norm_term steps + (quote (interp_p r vm e1 == interp_p r vm e2)))); + dump ("expected after = " ^ term_to_string (norm_term steps + (quote ( + interp_cs r vm (polynomial_simplify r e1) == + interp_cs r vm (polynomial_simplify r e2))))); +*) + let tvm = quote_vm ta quotea vm in + let te1 = quote_polynomial ta quotea e1 in + //ddump ("te1 = " ^ term_to_string te1); + let te2 = quote_polynomial ta quotea e2 in + //ddump ("te2 = " ^ term_to_string te2); + mapply (`(semiring_reflect + #(`#ta) (`#tr) (`#tvm) (`#te1) (`#te2) (`#t1) (`#t2))); + //ddump "Before canonization"; + canon_norm (); + //ddump "After canonization"; + later (); + //ddump "Before normalizing left-hand side"; + canon_norm (); + //ddump "After normalizing left-hand side"; + trefl (); + //ddump "Before normalizing right-hand side"; + canon_norm (); + //ddump "After normalizing right-hand side"; + trefl () + | _ -> fail "Unexpected" + end + | _ -> fail "Goal should be an equality") + +let canon_semiring (#a:eqtype) (r:cr a) : Tac unit = + canon_semiring_aux a + (quote a) (unquote #a) (fun (x:a) -> quote x) (quote r) + (norm_term steps (quote r.cm_add.mult)) + (norm_term steps (quote r.opp)) + (norm_term steps (quote (r.opp r.cm_mult.unit))) + (norm_term steps (quote r.cm_mult.mult)) + r.cm_add.unit + +/// Ring of integers + +[@@canon_attr] +let int_cr : cr int = + CR int_plus_cm int_multiply_cm op_Minus (fun x -> ()) (fun x y z -> ()) (fun x -> ()) + +let int_semiring () : Tac unit = canon_semiring int_cr diff --git a/stage0/ulib/FStar.Tactics.CanonCommSwaps.fst b/stage0/ulib/FStar.Tactics.CanonCommSwaps.fst new file mode 100644 index 00000000000..34a209eb2e7 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonCommSwaps.fst @@ -0,0 +1,144 @@ +(* + 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.CanonCommSwaps + +open FStar.List.Tot.Base + +let swap (n:nat) :Type = x:nat{x < n-1} + +let rec apply_swap_aux (#a:Type) (n:nat) (xs:list a) (s:swap (length xs + n)) : + Pure (list a) (requires True) + (ensures (fun zs -> length zs == length xs)) (decreases xs) = + match xs with + | [] | [_] -> xs + | x1 :: x2 :: xs' -> if n = (s <: nat) + then x2 :: x1 :: xs' + else x1 :: apply_swap_aux (n+1) (x2 :: xs') s + +let apply_swap (#a:Type) = apply_swap_aux #a 0 + +let rec apply_swaps (#a:Type) (xs:list a) (ss:list (swap (length xs))) : + Pure (list a) (requires True) + (ensures (fun zs -> length zs == length xs)) (decreases ss) = + match ss with + | [] -> xs + | s::ss' -> apply_swaps (apply_swap xs s) ss' + +let equal_counts (#a:eqtype) (xs ys:list a) : Type0 = + (forall (e:a).{:pattern (count e xs) \/ (count e ys)} count e xs == count e ys) + +let extend_equal_counts (#a:eqtype) (h:a) (xs ys:list a) : Lemma + (requires equal_counts xs ys) + (ensures equal_counts (h::xs) (h::ys)) + = + () + +let retract_equal_counts (#a:eqtype) (h:a) (xs ys:list a) : Lemma + (requires equal_counts (h::xs) (h::ys)) + (ensures equal_counts xs ys) + = + assert (forall (e:a).{:pattern (count e xs) \/ (count e ys)} count e (h::xs) == count e (h::ys)) + +unfold let swap_for (#a:eqtype) (xs:list a) = swap (length xs) +unfold let swaps_for (#a:eqtype) (xs:list a) = list (swap_for xs) + +let rec append_swaps (#a:eqtype) (xs:list a) (ss1 ss2:swaps_for xs) : Lemma + (ensures apply_swaps xs (ss1 @ ss2) == apply_swaps (apply_swaps xs ss1) ss2) + (decreases ss1) + = + match ss1 with + | [] -> () + | h::t -> append_swaps (apply_swap xs h) t ss2 + +let rec lift_swap_cons (#a:eqtype) (n:nat) (h:a) (xs:list a) (s:swap (length xs + n)) : Lemma + (requires n <= s) + (ensures apply_swap_aux n (h::xs) (s + 1) == h::(apply_swap_aux n xs s)) + (decreases xs) + = + match xs with + | [] -> () + | x::xt -> if n < s then lift_swap_cons (n + 1) x xt s + +let rec lift_swaps_cons (#a:eqtype) (h:a) (xs:list a) (ss:swaps_for xs) : Pure (swaps_for (h::xs)) + (requires True) + (ensures (fun ss' -> + apply_swaps (h::xs) ss' == h::(apply_swaps xs ss) + )) + (decreases ss) + = + match ss with + | [] -> [] + | s::st -> + ( + lift_swap_cons 0 h xs s; + (s + 1)::(lift_swaps_cons h (apply_swap xs s) st) + ) + +let rec swap_to_front (#a:eqtype) (h:a) (xs:list a) : Pure (swaps_for xs) + (requires count h xs >= 1) + (ensures (fun ss -> + let ys = apply_swaps xs ss in + equal_counts xs ys /\ + Cons? ys /\ + hd ys == h + )) + = + match xs with + | [] -> [] + | x::xt -> + ( + if x = h then [] + else + ( + let ss = swap_to_front h xt in // ss turns xt into h::xt' + let ss' = lift_swaps_cons x xt ss in // ss' turns x::xt into x::h::xt' + let s:swap_for xs = 0 in + append_swaps xs ss' [s]; + ss' @ [s] + ) + ) + +let rec equal_counts_implies_swaps (#a:eqtype) (xs ys:list a) : Pure (swaps_for xs) + (requires equal_counts xs ys) + (ensures (fun ss -> ys == apply_swaps xs ss)) + (decreases ys) + = + match ys with + | [] -> + ( + match xs with + | [] -> [] + | x::xt -> + ( + assert (count x xs >= 1); + [] + ) + ) + | y::yt -> + ( + assert (count y ys >= 1); + assert (count y xs >= 1); + let ss0 = swap_to_front y xs in // find y in xs, swap it to the front + let xs' = apply_swaps xs ss0 in // hd xs' == y + let xt = tl xs' in // xs' == y::xt + retract_equal_counts y xt yt; // prove (equal_counts xt yt) + let ss1 = equal_counts_implies_swaps xt yt in // prove (yt == apply_swaps xt ss1) + let ss1' = lift_swaps_cons y xt ss1 in // y::yt == apply_swaps (y::xt) ss1' + // ys == apply_swaps (apply_swaps xs ss0) ss1' + append_swaps xs ss0 ss1'; + ss0 @ ss1' + ) + diff --git a/stage0/ulib/FStar.Tactics.CanonMonoid.fst b/stage0/ulib/FStar.Tactics.CanonMonoid.fst new file mode 100644 index 00000000000..129d785c746 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CanonMonoid.fst @@ -0,0 +1,127 @@ +(* + 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.CanonMonoid + +open FStar.Algebra.Monoid +open FStar.List +open FStar.Reflection.V2 +open FStar.Tactics.V2 + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +(* Only dump when debugging is on *) +let dump m = if debugging () then dump m + +(* "A Monoid Expression Simplifier" ported from + http://adam.chlipala.net/cpdt/html/Cpdt.Reflection.html *) + +type exp (a:Type) : Type = + | Unit : exp a + | Var : a -> exp a + | Mult : exp a -> exp a -> exp a + +let rec exp_to_string (#a:Type) (a_to_string:a->string) (e:exp a) = + match e with + | Unit -> "Unit" + | Var x -> "Var " ^ a_to_string x + | Mult e1 e2 -> "Mult (" ^ exp_to_string a_to_string e1 + ^ ") (" ^ exp_to_string a_to_string e2 ^ ")" + +let rec mdenote (#a:Type) (m:monoid a) (e:exp a) : a = + match e with + | Unit -> Monoid?.unit m + | Var x -> x + | Mult e1 e2 -> Monoid?.mult m (mdenote m e1) (mdenote m e2) + +let rec mldenote (#a:Type) (m:monoid a) (xs:list a) : a = + match xs with + | [] -> Monoid?.unit m + | [x] -> x + | x::xs' -> Monoid?.mult m x (mldenote m xs') + +let rec flatten (#a:Type) (e:exp a) : list a = + match e with + | Unit -> [] + | Var x -> [x] + | Mult e1 e2 -> flatten e1 @ flatten e2 + +(* This proof internally uses the monoid laws; the SMT solver picks up + on them because they are written as squashed formulas in the + definition of monoid; need to be careful with this since these are + quantified formulas without any patterns. Dangerous stuff! *) +let rec flatten_correct_aux (#a:Type) (m:monoid a) ml1 ml2 : + Lemma (mldenote m (ml1 @ ml2) == Monoid?.mult m (mldenote m ml1) + (mldenote m ml2)) = + match ml1 with + | [] -> () + | e::es1' -> flatten_correct_aux m es1' ml2 + +let rec flatten_correct (#a:Type) (m:monoid a) (e:exp a) : + Lemma (mdenote m e == mldenote m (flatten e)) = + match e with + | Unit | Var _ -> () + | Mult e1 e2 -> flatten_correct_aux m (flatten e1) (flatten e2); + flatten_correct m e1; flatten_correct m e2 + +let monoid_reflect (#a:Type) (m:monoid a) (e1 e2:exp a) + (_ : squash (mldenote m (flatten e1) == mldenote m (flatten e2))) + : squash (mdenote m e1 == mdenote m e2) = + flatten_correct m e1; flatten_correct m e2 + +// This expects that mult, unit, and me have already been normalized +let rec reification_aux (#a:Type) (mult unit me : term) : Tac (exp a) = + let hd, tl = collect_app_ref me in + let tl = list_unref tl in + match inspect hd, tl with + | Tv_FVar fv, [(me1, Q_Explicit) ; (me2, Q_Explicit)] -> + if term_eq_old (pack (Tv_FVar fv)) mult + then Mult (reification_aux mult unit me1) (reification_aux mult unit me2) + else Var (unquote me) + | _, _ -> + if term_eq_old me unit + then Unit + else Var (unquote me) + +let reification (#a:Type) (m:monoid a) (me:term) : Tac (exp a) = + let mult = norm_term [delta;zeta;iota] (quote (Monoid?.mult m)) in + let unit = norm_term [delta;zeta;iota] (quote (Monoid?.unit m)) in + let me = norm_term [delta;zeta;iota] me in + // dump ("mult = " ^ term_to_string mult ^ + // "; unit = " ^ term_to_string unit ^ + // "; me = " ^ term_to_string me); + reification_aux mult unit me + +let canon_monoid (#a:Type) (m:monoid a) : Tac unit = + norm []; + let g = cur_goal () in + match term_as_formula g with + | Comp (Eq (Some t)) me1 me2 -> + (* First, make sure we have an equality at type ta, since otherwise + we will fail to apply the reflection Lemma. We can just cut by the equality + we want, since they should be equiprovable (though not equal). *) + let b = tcut (`(squash (eq2 #(`#(quote a)) (`#me1) (`#me2)))) in + smt (); // let the SMT prove it, it should really be trivial + + let r1 = reification m me1 in + let r2 = reification m me2 in + change_sq (quote (eq2 #a (mdenote m r1) (mdenote m r2))); + apply (`monoid_reflect); + norm [delta_only [`%mldenote; + `%flatten; + `%FStar.List.Tot.op_At; + `%FStar.List.Tot.append]] + | _ -> fail "Goal should be an equality" diff --git a/stage0/ulib/FStar.Tactics.CheckLN.fst b/stage0/ulib/FStar.Tactics.CheckLN.fst new file mode 100644 index 00000000000..0b1791a4e7b --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CheckLN.fst @@ -0,0 +1,72 @@ +module FStar.Tactics.CheckLN + +open FStar.Tactics.V2.Bare +open FStar.Tactics.Util + +let rec for_all (p : 'a -> Tac bool) (l : list 'a) : Tac bool = + match l with + | [] -> true + | x::xs -> if p x then for_all p xs else false + +let rec check (t:term) : Tac bool = + match inspect t with + (* We are using the named view, which opens terms + as needed on every node. If we reach a bvar, the original + term is not LN. *) + | Tv_BVar bv -> false + + | Tv_Const _ -> true + | Tv_Uvar _ _ -> false (* conservative *) + + | Tv_Var _ -> true + | Tv_FVar _ -> true + | Tv_UInst _ us -> for_all check_u us + | Tv_App hd (a, q) -> if check hd then check a else false + | Tv_Abs b body -> if check b.sort then check body else false + | Tv_Arrow b c -> if check b.sort then check_comp c else false + | Tv_Type u -> check_u u + | Tv_Refine b ref -> if check b.sort then check ref else false + | Tv_Let recf attrs b def body -> + if not (for_all check attrs) then false else + if not (check def) then false else + check body + | Tv_Match sc _ brs -> + if check sc then for_all check_br brs else false + | Tv_AscribedT e t _ _ -> + if check e then check t else false + | Tv_AscribedC e c _ _ -> + if check e then check_comp c else false + + | Tv_Unknown -> true + | Tv_Unsupp -> true // hm.. +and check_u (u:universe) : Tac bool = + match inspect_universe u with + | Uv_BVar _ -> false + | Uv_Name _ -> true + | Uv_Unif _ -> false (* conservative *) + | Uv_Zero -> true + | Uv_Succ u -> check_u u + | Uv_Max us -> for_all check_u us + | Uv_Unk -> true +and check_comp (c:comp) : Tac bool = + match c with + | C_Total typ -> check typ + | C_GTotal typ -> check typ + | C_Lemma pre post pats -> + if not (check pre) then false else + if not (check post) then false else + check pats + | C_Eff us nm res args decrs -> + if not (for_all check_u us) then false else + if not (check res) then false else + if not (for_all (fun (a,q) -> check a) args) then false else + if not (for_all check decrs) then false else + true + +and check_br (b:branch) : Tac bool = + (* Could check the pattern's ascriptions too. *) + let (p, t) = b in + check t + +[@@plugin] +let check_ln (t:term) : Tac bool = check t diff --git a/stage0/ulib/FStar.Tactics.CheckLN.fsti b/stage0/ulib/FStar.Tactics.CheckLN.fsti new file mode 100644 index 00000000000..3f9e4c9d78c --- /dev/null +++ b/stage0/ulib/FStar.Tactics.CheckLN.fsti @@ -0,0 +1,7 @@ +module FStar.Tactics.CheckLN + +open FStar.Tactics.V2.Bare + +(* Checks if a term is locally nameless. *) +[@@plugin] +val check_ln (t:term) : Tac bool diff --git a/stage0/ulib/FStar.Tactics.Derived.fst b/stage0/ulib/FStar.Tactics.Derived.fst new file mode 100644 index 00000000000..97c1e367d06 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Derived.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.Derived + +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.Derived diff --git a/stage0/ulib/FStar.Tactics.Effect.fst b/stage0/ulib/FStar.Tactics.Effect.fst new file mode 100644 index 00000000000..f60b36cc6fd --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Effect.fst @@ -0,0 +1,52 @@ +(* + 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.Effect + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Tactics.Types +open FStar.Stubs.Tactics.Result + +/// This admit is to typecheck the bind implementation when the +/// interface is interleaved + +#push-options "--admit_smt_queries true" +let tac_bind_interleave_begin = () +#pop-options +let tac_bind_interleave_end = () + +let with_tactic _ p = p + +let rewrite_with_tactic _ p = p + +let synth_by_tactic #_ _ = admit () + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" +let assert_by_tactic _ _ = () +#pop-options + +let by_tactic_seman _ _ = () + +let preprocess_with _ = () + +let postprocess_with _ = () + +let postprocess_for_extraction_with _ = () + +#set-options "--no_tactics" + +let unfold_with_tactic _ _ = () + +let unfold_rewrite_with_tactic _ _ = () diff --git a/stage0/ulib/FStar.Tactics.Effect.fsti b/stage0/ulib/FStar.Tactics.Effect.fsti new file mode 100644 index 00000000000..d104d531ef3 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Effect.fsti @@ -0,0 +1,255 @@ +(* + 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.Effect + +open FStar.Monotonic.Pure + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Tactics.Types +open FStar.Stubs.Tactics.Result + +(* This module is extracted, don't add any `assume val`s or extraction + * will break. (`synth_by_tactic` is fine) *) + +type tac_wp_t0 (a:Type) = + proofstate -> (__result a -> Type0) -> Type0 + +unfold +let tac_wp_monotonic (#a:Type) (wp:tac_wp_t0 a) = + forall (ps:proofstate) (p q:__result a -> Type0). + (forall x. p x ==> q x) ==> (wp ps p ==> wp ps q) + +type tac_wp_t (a:Type) = wp:tac_wp_t0 a{tac_wp_monotonic wp} + +let tac_repr (a:Type) (wp:tac_wp_t a) = + ps0:proofstate -> DIV (__result a) (as_pure_wp (wp ps0)) + +unfold +let tac_return_wp (#a:Type) (x:a) : tac_wp_t a = + fun ps post -> post (Success x ps) + +(* monadic return *) +let tac_return (a:Type) (x:a) : tac_repr a (tac_return_wp x) = + fun (s:proofstate) -> Success x s + +unfold +let tac_bind_wp (#a #b:Type) (wp_f:tac_wp_t a) (wp_g:a -> tac_wp_t b) : tac_wp_t b = + fun ps post -> + wp_f ps (fun r -> + match r with + | Success x ps -> wp_g x ps post + | Failed ex ps -> post (Failed ex ps)) + +/// An optimization to name the continuation + +unfold +let tac_wp_compact (a:Type) (wp:tac_wp_t a) : tac_wp_t a = + fun ps post -> + forall (k:__result a -> Type0). (forall (r:__result a).{:pattern (guard_free (k r))} post r ==> k r) ==> wp ps k + + +/// tac_bind_interleave_begin is an ugly hack to get interface interleaving +/// work with admit_smt_queries true for the bind combinator + +val tac_bind_interleave_begin : unit + + +/// We cannot verify the bind combinator, since the body of bind +/// does some operations on the proof state, with which we cannot prove +/// that the proofstate is sequenced. Two ways to fix it: +/// +/// 1. We separate the "meta" proofstate s.t. range, depth, etc. from the main +/// proofstate, and then sequencing only applies to the main proofstate +/// +/// 2. The pre and post of the TAC effect are just exception pre and post, +/// since we can't prove much about the proofstate anyway, as it is +/// mostly abstract + +(* monadic bind *) +#push-options "--admit_smt_queries true" +let tac_bind (a:Type) (b:Type) + (wp_f:tac_wp_t a) + (wp_g:a -> tac_wp_t b) + (r1 r2:range) + (t1:tac_repr a wp_f) + (t2:(x:a -> tac_repr b (wp_g x))) : tac_repr b (tac_wp_compact b (tac_bind_wp wp_f wp_g)) = + fun ps -> + let ps = set_proofstate_range ps r1 in + let ps = incr_depth ps in + let r = t1 ps in + match r with + | Success a ps' -> + let ps' = set_proofstate_range ps' r2 in + // Force evaluation of __tracepoint q even on the interpreter + begin match tracepoint ps' with + | true -> t2 a (decr_depth ps') + end + | Failed e ps' -> Failed e ps' +#pop-options + + +/// tac_bind_interleave_end is an ugly hack to get interface interleaving +/// work with admit_smt_queries true for the bind combinator + +val tac_bind_interleave_end : unit + +unfold +let tac_if_then_else_wp (#a:Type) (wp_then:tac_wp_t a) (wp_else:tac_wp_t a) (b:bool) + : tac_wp_t a + = fun ps post -> (b ==> wp_then ps post) /\ + ((~ b) ==> wp_else ps post) + +let tac_if_then_else (a:Type) + (wp_then:tac_wp_t a) + (wp_else:tac_wp_t a) + (f:tac_repr a wp_then) + (g:tac_repr a wp_else) + (b:bool) + : Type + = tac_repr a (tac_wp_compact a (tac_if_then_else_wp wp_then wp_else b)) + +let tac_subcomp (a:Type) + (wp_f:tac_wp_t a) + (wp_g:tac_wp_t a) + (f:tac_repr a wp_f) + : Pure (tac_repr a wp_g) + (requires forall ps p. wp_g ps p ==> wp_f ps p) + (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 +/// +/// And the bind combinator has range arguments +/// that will be provided when the effect is reified + +[@@ default_effect "FStar.Tactics.Effect.Tac"; bind_has_range_args] +reflectable +effect { + TAC (a:Type) (wp:tac_wp_t a) + with { repr=tac_repr; + return=tac_return; + bind=tac_bind; + if_then_else=tac_if_then_else; + 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)) + +(* "Total" variant *) +effect Tac (a:Type) = TacH a (requires (fun _ -> True)) (ensures (fun _ _ -> True)) + +(* Metaprograms that succeed *) +effect TacS (a:Type) = TacH a (requires (fun _ -> True)) (ensures (fun _ps r -> Success? r)) + +(* A variant that doesn't prove totality (nor type safety!) *) +effect TacF (a:Type) = TacH a (requires (fun _ -> False)) (ensures (fun _ _ -> True)) + +unfold +let lift_div_tac_wp (#a:Type) (wp:pure_wp a) : tac_wp_t a = + elim_pure_wp_monotonicity wp; + fun ps p -> wp (fun x -> p (Success x ps)) + +let lift_div_tac (a:Type) (wp:pure_wp a) (f:eqtype_as_type unit -> DIV a wp) + : tac_repr a (lift_div_tac_wp wp) + = elim_pure_wp_monotonicity wp; + fun ps -> Success (f ()) ps + +sub_effect DIV ~> TAC = lift_div_tac + +let get () + : TAC proofstate (fun ps post -> post (Success ps ps)) + = TAC?.reflect (fun ps -> Success ps ps) + +let raise (#a:Type) (e:exn) + : TAC a (fun ps post -> post (Failed e ps)) + = TAC?.reflect (fun ps -> Failed #a e ps) + + +/// assert p by t + +val with_tactic (t : unit -> Tac unit) (p:Type u#a) : Type u#a + +(* This syntactic marker will generate a goal of the shape x == ?u for + * a new unification variable ?u, and run tactic [t] to solve this goal. + * If after running [t], the uvar was solved and only trivial goals remain + * in the proofstate, then `rewrite_with_tactic t x` will be replaced + * by the solution of ?u *) +val rewrite_with_tactic (t:unit -> Tac unit) (#a:Type) (x:a) : a + +(* This will run the tactic in order to (try to) produce a term of type + * t. Note that the type looks dangerous from a logical perspective. It + * should not lead to any inconsistency, however, as any time this term + * appears during typechecking, it is forced to be fully applied and the + * tactic is run. A failure of the tactic is a typechecking failure. It + * can be thought as a language construct, and not a real function. *) +val synth_by_tactic : (#t:Type) -> (unit -> Tac unit) -> Tot t + +val assert_by_tactic (p:Type) (t:unit -> Tac unit) + : Pure unit + (requires (set_range_of (with_tactic t (squash p)) (range_of t))) + (ensures (fun _ -> p)) + +val by_tactic_seman (tau:unit -> Tac unit) (phi:Type) + : Lemma (with_tactic tau phi ==> phi) + +(* One can always bypass the well-formedness of metaprograms. It does + * not matter as they are only run at typechecking time, and if they get + * stuck, the compiler will simply raise an error. *) +let assume_safe (#a:Type) (tau:unit -> TacF a) : Tac a = admit (); tau () + +private let tac a b = a -> Tac b +private let tactic a = tac unit a + +(* A hook to preprocess a definition before it is typechecked and + * elaborated. This attribute should be used for top-level lets. The + * tactic [tau] will be called on a quoting of the definition of the let + * (if many, once for each) and the result of the tactic will replace + * the definition. There are no goals involved, nor any proof obligation + * to be done by the tactic. *) +val preprocess_with (tau : term -> Tac term) : Tot unit + +(* A hook to postprocess a definition, after typechecking, and rewrite + * it into a (provably equal) shape chosen by the user. This can be used + * to implement custom transformations previous to extraction, such as + * selective inlining. When ran added to a definition [let x = E], the + * [tau] metaprogram is presented with a goal of the shape [E == ?u] for + * a fresh uvar [?u]. The metaprogram should then both instantiate [?u] + * and prove the equality. *) +val postprocess_with (tau : unit -> Tac unit) : Tot unit + +(* Similar semantics to [postprocess_with], but the metaprogram only + * runs before extraction, and hence typechecking and the logical + * environment should not be affected at all. *) +val postprocess_for_extraction_with (tau : unit -> Tac unit) : Tot unit + +#set-options "--no_tactics" + +val unfold_with_tactic (t:unit -> Tac unit) (p:Type) + : Lemma (requires p) + (ensures (with_tactic t p)) + +val unfold_rewrite_with_tactic (t:unit -> Tac unit) (#a:Type) (p:a) + : Lemma (rewrite_with_tactic t p == p) diff --git a/stage0/ulib/FStar.Tactics.Logic.fst b/stage0/ulib/FStar.Tactics.Logic.fst new file mode 100644 index 00000000000..0f3c6122aca --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Logic.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.Logic + +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.Logic diff --git a/stage0/ulib/FStar.Tactics.MApply.fst b/stage0/ulib/FStar.Tactics.MApply.fst new file mode 100644 index 00000000000..5ec9c4a3a7e --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MApply.fst @@ -0,0 +1,3 @@ +module FStar.Tactics.MApply + +(* This file just here to trigger extraction. *) diff --git a/stage0/ulib/FStar.Tactics.MApply.fsti b/stage0/ulib/FStar.Tactics.MApply.fsti new file mode 100644 index 00000000000..2a79d8eb5b6 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MApply.fsti @@ -0,0 +1,24 @@ +module FStar.Tactics.MApply + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Tactics.Effect +open FStar.Tactics.V2.SyntaxCoercions + +include FStar.Tactics.MApply0 + +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); +} + +let mapply (#ty:Type) {| termable ty |} (x : ty) : Tac unit = + let t = to_term x in + mapply0 t diff --git a/stage0/ulib/FStar.Tactics.MApply0.fst b/stage0/ulib/FStar.Tactics.MApply0.fst new file mode 100644 index 00000000000..887e055d02b --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MApply0.fst @@ -0,0 +1,84 @@ +module FStar.Tactics.MApply0 + +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula + +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Tactics.NamedView +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions + +let push1 #p #q f u = () +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 (2)" + 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 (3)" + end + +(* `m` is for `magic` *) +let mapply0 (t : term) : Tac unit = + apply_squash_or_lem 10 t diff --git a/stage0/ulib/FStar.Tactics.MApply0.fsti b/stage0/ulib/FStar.Tactics.MApply0.fsti new file mode 100644 index 00000000000..7b923720b1a --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MApply0.fsti @@ -0,0 +1,18 @@ +module FStar.Tactics.MApply0 + +open FStar.Stubs.Reflection.Types +open FStar.Tactics.Effect + +(* Used by mapply, must be exposed, but not to be used directly *) +private val push1 : (#p:Type) -> (#q:Type) -> + squash (p ==> q) -> + squash p -> + squash q +private val push1' : (#p:Type) -> (#q:Type) -> + (p ==> q) -> + squash p -> + squash q + +(* `m` is for `magic` *) +[@@plugin] +val mapply0 (t : term) : Tac unit diff --git a/stage0/ulib/FStar.Tactics.MkProjectors.fst b/stage0/ulib/FStar.Tactics.MkProjectors.fst new file mode 100644 index 00000000000..e512e890ad1 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MkProjectors.fst @@ -0,0 +1,232 @@ +module FStar.Tactics.MkProjectors + +(* NB: We cannot use typeclasses here, or any module that depends on +them, since they use the tactics defined here. So we must be careful +with our includes. *) +open FStar.List.Tot +open FStar.Reflection.V2 +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.Syntax.Syntax +open FStar.Tactics.V2.SyntaxCoercions +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Tactics.V2.Derived +open FStar.Tactics.Util +open FStar.Tactics.NamedView + +exception NotFound + +let meta_projectors = () + +(* Thunked version of debug *) +let debug (f : unit -> Tac string) : Tac unit = + if debugging () then + print (f ()) + +[@@plugin] +let mk_one_projector (unf:list string) (np:nat) (i:nat) : Tac unit = + debug (fun () -> dump "ENTRY mk_one_projector"; ""); + let _params = Stubs.Tactics.V2.Builtins.intros np in + let thing : binding = intro () in + let r = t_destruct thing in + match r with + | [(cons, arity)] -> begin + if (i >= arity) then + fail "proj: bad index in mk_one_projector"; + let _ = Stubs.Tactics.V2.Builtins.intros i in + let the_b = intro () in + let _ = Stubs.Tactics.V2.Builtins.intros (arity-i-1) in + let eq_b : binding = intro () in + rewrite eq_b; + norm [iota; delta_only unf; zeta_full]; + (* NB: ^ zeta_full above so we reduce under matches too. Since + we are not unfolding anything but the projectors, which are + not, recursive, this should not bring about any divergence. An + alternative is to use NBE. *) + exact the_b + end + | _ -> fail "proj: more than one case?" + +[@@plugin] +let mk_one_method (proj:string) (np:nat) : Tac unit = + debug (fun () -> dump "ENTRY mk_one_method"; ""); + let nm = explode_qn proj in + let params = repeatn np (fun () -> let b : binding = intro () in + (binding_to_term b, Q_Implicit)) in + let thing : binding = intro () in + let proj = pack (Tv_FVar (pack_fv nm)) in + exact (mk_app proj (params @ [(binding_to_term thing, Q_Explicit)])) + +let subst_map (ss : list (namedv & fv)) (r:term) (t : term) : Tac term = + let subst = List.Tot.map (fun (x, fv) -> NT (Reflection.V2.pack_namedv x) (mk_e_app (Tv_FVar fv) [r])) ss in + subst_term subst t + +let binder_mk_implicit (b:binder) : binder = + let q = + match b.qual with + | Q_Explicit -> Q_Implicit + | q -> q (* keep Q_Meta as it is *) + in + { b with qual = q } + +let binder_to_term (b:binder) : Tot term = + pack (Tv_Var (binder_to_namedv b)) + +let binder_argv (b:binder) : Tot argv = + let q = + match b.qual with + | Q_Meta _ -> Q_Implicit + | q -> q + in + (binder_to_term b, q) + +let rec list_last #a (xs : list a) : Tac a = + match xs with + | [] -> fail "list_last: empty" + | [x] -> x + | _::xs -> list_last xs + +let embed_int (i:int) : term = + let open FStar.Reflection.V2 in + pack_ln (Tv_Const (C_Int i)) + +let embed_string (s:string) : term = + let open FStar.Reflection.V2 in + pack_ln (Tv_Const (C_String s)) + +(* For compatibility: the typechecker sets this attribute for all +projectors. Karamel relies on it to do inlining. *) +let substitute_attr : term = + `Pervasives.Substitute + +let mk_proj_decl (is_method:bool) + (tyqn:name) ctorname + (univs : list univ_name) + (params : list binder) + (idx:nat) + (field : binder) + (unfold_names_tm : term) + (smap : list (namedv & fv)) +: Tac (list sigelt & fv) += + debug (fun () -> "Processing field " ^ unseal field.ppname); + debug (fun () -> "Field typ = " ^ term_to_string field.sort); + let np = length params in + let tyfv = pack_fv tyqn in + let nm : name = cur_module () @ ["__proj__" ^ list_last ctorname ^ "__item__" ^ unseal field.ppname] in + let fv = pack_fv nm in + let rty : term = + let hd = pack (Tv_UInst tyfv (List.Tot.map (fun un -> pack_universe (Uv_Name un)) univs)) in + mk_app hd (List.Tot.map binder_argv params) + in + let rb : binder = fresh_binder rty in + let projty = mk_tot_arr (List.Tot.map binder_mk_implicit params + @ [rb]) + (subst_map smap (binder_to_term rb) field.sort) + in + debug (fun () -> "Proj typ = " ^ term_to_string projty); + let se_proj = pack_sigelt <| + Sg_Let { + isrec = false; + lbs = [{ + lb_fv = fv; + lb_us = univs; + lb_typ = projty; + lb_def = + (* NB: the definition of the projector is again a tactic + invocation, so this whole thing has two phases. *) + (`(_ by (mk_one_projector + (`#unfold_names_tm) + (`#(embed_int np)) + (`#(embed_int idx))))) + }]} + in + let maybe_se_method : list sigelt = + if not is_method then [] else + if List.existsb (Reflection.TermEq.Simple.term_eq (`Typeclasses.no_method)) field.attrs then [] else + let meth_fv = pack_fv (cur_module () @ [unseal field.ppname]) in + let rb = { rb with qual = Q_Meta (`Typeclasses.tcresolve) } in + let projty = mk_tot_arr (List.Tot.map binder_mk_implicit params + @ [rb]) + (subst_map smap (binder_to_term rb) field.sort) + in + (* The method is just defined based on the projector. *) + let lb_def = + if true + then + (* This generates a method defined to be equal to the projector + i.e. method {| c |} = c.method *) + (`(_ by (mk_one_method + (`#(embed_string (implode_qn nm))) + (`#(embed_int np))))) + else + (* This defines the method in the same way as the projector + i.e. method {| c |} = match c with | Mk ... method ... -> method *) + (`(_ by (mk_one_projector + (`#unfold_names_tm) + (`#(embed_int np)) + (`#(embed_int idx))))) + in + (* dump ("returning se with name " ^ unseal field.ppname); *) + (* dump ("def = " ^ term_to_string lb_def); *) + let se = pack_sigelt <| Sg_Let { + isrec = false; + lbs = [{ + lb_fv = meth_fv; + lb_us = univs; + lb_typ = projty; + lb_def = lb_def; + }]} + in + [se] + in + (* Propagate binder attributes, i.e. attributes in the field + decl, to the method itself. *) + let se_proj = set_sigelt_attrs (substitute_attr :: field.attrs @ sigelt_attrs se_proj) se_proj in + + (* Do we need to set the sigelt's Projector qual? If so, + here is how to do it, but F* currently rejects tactics + trying to generate "internal" qualifiers like Projector. However, + it does not seem to make a difference. *) + (* In fact, it seems to trip the encoding as soon as a field + has more binders, since the encoding has some primitive treatment + for projectors/discriminators. *) + //let se_proj = set_sigelt_quals ( + // Projector (ctorname, pack_ident (unseal field.ppname, range_0)) :: + // sigelt_quals se_proj) se_proj + //in + (se_proj :: maybe_se_method , fv) + +[@@plugin] +let mk_projs (is_class:bool) (tyname:string) : Tac decls = + debug (fun () -> "!! mk_projs tactic called on: " ^ tyname); + let tyqn = explode_qn tyname in + match lookup_typ (top_env ()) tyqn with + | None -> + raise NotFound + | Some se -> + match inspect_sigelt se with + | Sg_Inductive {nm; univs; params; typ; ctors} -> + if (length ctors <> 1) then + fail "Expected an inductive with one constructor"; + let indices = fst (collect_arr_bs typ) in + if Cons? indices then + fail "Inductive indices nonempty?"; + let [(ctorname, ctor_t)] = ctors in + (* dump ("ityp = " ^ term_to_string typ); *) + (* dump ("ctor_t = " ^ term_to_string ctor_t); *) + let (fields, _) = collect_arr_bs ctor_t in + let unfold_names_tm = `(Nil u#0 #string) in + let (decls, _, _, _) = + fold_left (fun (decls, smap, unfold_names_tm, idx) (field : binder) -> + let (ds, fv) = mk_proj_decl is_class tyqn ctorname univs params idx field unfold_names_tm smap in + (decls @ ds, + (binder_to_namedv field, fv)::smap, + (`(Cons u#0 #string (`#(embed_string (implode_qn (inspect_fv fv)))) (`#unfold_names_tm))), + idx+1)) + ([], [], unfold_names_tm, 0) + fields + in + decls + | _ -> + fail "not an inductive" diff --git a/stage0/ulib/FStar.Tactics.MkProjectors.fsti b/stage0/ulib/FStar.Tactics.MkProjectors.fsti new file mode 100644 index 00000000000..a31ce5b77aa --- /dev/null +++ b/stage0/ulib/FStar.Tactics.MkProjectors.fsti @@ -0,0 +1,17 @@ +module FStar.Tactics.MkProjectors + +open FStar.Stubs.Reflection.Types +open FStar.Tactics.Effect + +(** Opt-in to the new projector generation by a metaprogram. This also + affects typeclass method generation. *) +val meta_projectors : unit + +[@@plugin] +val mk_one_projector (unf:list string) (np:nat) (i:nat) : Tac unit + +[@@plugin] +val mk_one_method (proj:string) (np:nat) : Tac unit + +[@@plugin] +val mk_projs (is_class:bool) (tyname:string) : Tac (list sigelt) diff --git a/stage0/ulib/FStar.Tactics.NamedView.fst b/stage0/ulib/FStar.Tactics.NamedView.fst new file mode 100644 index 00000000000..0c54161cc3d --- /dev/null +++ b/stage0/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.Stubs.Tactics.V2.Builtins + +exception LengthMismatch +exception NotEnoughBinders + +(* We work with reflection V2. *) +module R = FStar.Reflection.V2 +module RD = FStar.Stubs.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 = Stubs.Tactics.V2.Builtins.tcc e t in + R.inspect_comp c + +let comp_to_string (c:comp) : Tac string = Stubs.Tactics.V2.Builtins.comp_to_string (R.pack_comp c) diff --git a/stage0/ulib/FStar.Tactics.NamedView.fsti b/stage0/ulib/FStar.Tactics.NamedView.fsti new file mode 100644 index 00000000000..46fe0c4e2ae --- /dev/null +++ b/stage0/ulib/FStar.Tactics.NamedView.fsti @@ -0,0 +1,237 @@ +(* + 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 +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 : b:binder -> body:term -> named_term_view + | Tv_Arrow : b: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 + +let tag_of (t:term) : Tac string = + match inspect t with + | Tv_Var bv -> "Tv_Var" + | Tv_BVar fv -> "Tv_BVar" + | Tv_FVar fv -> "Tv_FVar" + | Tv_UInst _ _ -> "Tv_UInst" + | Tv_App f x -> "Tv_App" + | Tv_Abs x t -> "Tv_Abs" + | Tv_Arrow x t -> "Tv_Arrow" + | Tv_Type _ -> "Tv_Type" + | 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_Match t _ branches -> "Tv_Match" + | Tv_AscribedT _ _ _ _ -> "Tv_AscribedT" + | Tv_AscribedC _ _ _ _ -> "Tv_AscribedC" + | Tv_Unknown -> "Tv_Unknown" + | Tv_Unsupp -> "Tv_Unsupp" diff --git a/stage0/ulib/FStar.Tactics.Names.fst b/stage0/ulib/FStar.Tactics.Names.fst new file mode 100644 index 00000000000..496e0d2a0c4 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Names.fst @@ -0,0 +1,25 @@ +module FStar.Tactics.Names + +open FStar.Tactics.NamedView +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.Reflection.V2.Builtins +module V = FStar.Tactics.Visit + +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 + | _ -> t + in + match catch (fun () -> ignore (V.visit_tm ff t); false) with + | Inr x -> x + | Inl Appears -> true + | Inl e -> raise e \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.Names.fsti b/stage0/ulib/FStar.Tactics.Names.fsti new file mode 100644 index 00000000000..5409a6945bb --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Names.fsti @@ -0,0 +1,9 @@ +module FStar.Tactics.Names + +open FStar.Stubs.Reflection.Types +open FStar.Tactics.Effect + +(** Decides whether a top-level name [nm] syntactically +appears in the term [t]. *) +[@@plugin] +val name_appears_in (nm:name) (t:term) : Tac bool diff --git a/stage0/ulib/FStar.Tactics.Parametricity.fst b/stage0/ulib/FStar.Tactics.Parametricity.fst new file mode 100644 index 00000000000..8f5b3463ac9 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Parametricity.fst @@ -0,0 +1,355 @@ +module FStar.Tactics.Parametricity + +open FStar.List +open FStar.Tactics.V2.Bare + +type bvmap = list (namedv & (binder & binder & binder)) +let fvmap = list (fv & fv) + +noeq +type param_state = { + bvmap : bvmap; + fresh : int; + recs : fvmap; +} + +let rec fold_right2 (f : 'a -> 'b -> 'c -> Tac 'c) (l1:list 'a) (l2:list 'b) (c:'c) : Tac 'c = + match l1, l2 with + | h1::t1, h2::t2 -> f h1 h2 (fold_right2 f t1 t2 c) + | [], [] -> c + | _ -> fail "fold_right2" + +let rec zip3 (l1 : list 'a) (l2 : list 'b) (l3 : list 'c) : list ('a & 'b & 'c) = + match l1, l2, l3 with + | h1::t1, h2::t2, h3::t3 -> (h1, h2, h3) :: (zip3 t1 t2 t3) + | _ -> [] + +let last (xs:list 'a) : Tac 'a = + match List.Tot.rev xs with + | h::_ -> h + | [] -> fail "last: empty list" + +(* Override it to add freshness. The code for typechecking an inductive +raises a failure if two binders of the same constructor have the same name. *) +//noeq type t = | A of x:int -> x:int -> x:int -> t +// but this doesn't fail nor warn... why?? + +let app_binders (t:term) (bs:list binder) : Tac term = + mk_e_app t (List.Tot.map binder_to_term bs) + +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 NotFoundBV of namedv + +let lookup_rec_fv (s:param_state) (f:fv) : Tac fv = + let rec aux (m:fvmap) : Tac fv = + match m with + | [] -> raise NotARecFV + | (f1, k)::fs -> if compare_fv f f1 = Order.Eq + then k + else aux fs + in + aux s.recs + +let push_fv (f1 f2 : fv) (s:param_state) : param_state = + { s with recs = (f1,f2)::s.recs } + +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 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 t with + | Tv_Var v -> + begin try + 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. + * The right thing here would be to track them... but this should do for now. *) + | NotFoundBV _ -> t + | e -> raise e + end + | _ -> t + +let replace_by (s:param_state) (b:bool) (t:term) : Tac term = + let r = visit_tm (replace_var s b) t in + //print ("rep " ^ string_of_bool b ^ " " ^ term_to_string t ^ " = " ^ term_to_string r); + r + +let tapp q t1 t2 = pack (Tv_App t1 (t2, q)) +let tabs b t : Tac term = pack (Tv_Abs b t) + +let rec param' (s:param_state) (t:term) : Tac term = + let r = + match inspect t with + | Tv_Type _u -> // t = Type + (* It's this: + `(fun (s r : (`#t)) -> s -> r -> Type) + just working around extraction bug. *) + let s = fresh_binder_named "s" t in + let r = fresh_binder_named "r" t in + let xs = fresh_binder_named "xs" (Tv_Var s) in + let xr = fresh_binder_named "xr" (Tv_Var r) in + pack <| Tv_Abs s <| Tv_Abs r <| Tv_Arrow xs (C_Total <| Tv_Arrow xr (C_Total <| Tv_Type Uv_Unk)) + + | Tv_Var bv -> + let (_, _, b) = lookup s bv in + binder_to_term b + + | Tv_Arrow b c -> // t1 -> t2 === (x:t1) -> Tot t2 + begin match inspect_comp c with + | C_Total t2 -> + let (s', (bx0, bx1, bxR)) = push_binder b s 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 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 + + | Tv_App l (r, q) -> + let lR = param' s l in + let l0 = replace_by s false r in + let l1 = replace_by s true r in + let rR = param' s r in + mk_app lR [(l0, q); (l1, q); (rR, q)] + + | Tv_Abs b t -> + let abs b t : Tac term = pack (Tv_Abs b t) in + let (s', (bx0, bx1, bxR)) = push_binder b s in + + let t = param' s' t in + abs bx0 (abs bx1 (abs bxR t)) + + | Tv_Match t None brs -> + pack (Tv_Match (param' s t) None (map (param_br s) brs)) + + | Tv_UInst fv _ + | Tv_FVar fv -> + pack (Tv_FVar (param_fv s fv)) + + | Tv_Const c -> + `() + + | Tv_AscribedT t _ _ _ + | Tv_AscribedC t _ _ _ -> param' s t + + | _ -> + raise (Unsupported (Tactics.Print.term_to_ast_string t)) + in + r + +and param_fv (s:param_state) (f : fv) : Tac fv = + (* first of all look for recursive knots *) + try lookup_rec_fv s f + with + | _ -> + + (* try to get it from the same module the FV is defined *) + let nm' = explode_qn (implode_qn (inspect_fv f) ^ "_param") in + //dump ("nm' = " ^ implode_qn nm'); + match lookup_typ (top_env ()) nm' with + | Some se' -> pack_fv nm' + | None -> + + (* or this module, where the translation is defined... *) + let nm' = ["FStar"; "Tactics"; "Parametricity"; last (inspect_fv f) ^ "_param"] in + //dump ("nm' = " ^ implode_qn nm'); + match lookup_typ (top_env ()) nm' with + | Some se' -> pack_fv nm' + | None -> + + (* otherwise, try to get it from the *current* module, where we're running the tactic *) + let nm' = cur_module () @ [last (inspect_fv f) ^ "_param"] in + //dump ("nm' = " ^ implode_qn nm'); + match lookup_typ (top_env ()) nm' with + | Some se' -> pack_fv nm' + + (* TODO: lookup in env *) + + | None -> + raise (NotFoundFV f) + +and param_pat (s:param_state) (p : pattern) : Tac (param_state & (pattern & pattern & pattern)) = + let is_dot_pat (p:pattern) : Tac bool = + match p with + | Pat_Dot_Term _ -> true + | _ -> false + in + //dump ("param_pat of " ^ term_to_string (quote p)); + match p with + | 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) -> + if is_dot_pat p then (s, (pats0, pats1, patsr)) + else + let (s', (p0, p1, pr)) = param_pat s p in + (s', ( + (p0,i)::pats0, + (p1,i)::pats1, + (pr,false)::(p1,i)::(p0,i)::patsr))) + (s, ([], [], [])) + pats + in + let pats0 = List.Tot.rev pats0 in + let pats1 = List.Tot.rev pats1 in + let patsr = List.Tot.rev patsr in + (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 {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" + //let (s', (b0, b1, bR)) = push_binder (pack_binder bv Q_Explicit) s in + //(s', (Pat_Dot_Term (bv_of_binder b0) (replace_by s' false t), + // Pat_Dot_Term (bv_of_binder b1) (replace_by s' true t), + // Pat_Dot_Term (bv_of_binder bR) (param' s' t))) + + | Pat_Constant c -> + let b = fresh_binder_named "cR" (`_) in + (s, (Pat_Constant c, + Pat_Constant c, + Pat_Var {v=binder_to_namedv b; sort=seal (`_)})) + +and param_br (s:param_state) (br : branch) : Tac branch = + let (pat, t) = br in + let (s', (_, _, pat')) = param_pat s pat in + (pat', param' s' t) + +and push_binder (b:binder) (s:param_state) : Tac (param_state & (binder & binder & binder)) = + 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)) (`#(binder_to_term bx0)) (`#(binder_to_term bx1))) in + + (* respect implicits *) + let bx0 = { bx0 with qual = q } in + let bx1 = { bx1 with qual = q } in + let bxr = { bxr with qual = q } 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 = { + bvmap = []; + fresh = 0; + recs = []; +} + +[@@plugin] +let param (t:term) : Tac term = + let t = param' init_param_state t in + //dump ("res = " ^ term_to_string t); + t + +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 + + let orig = app_binders (fv_to_tm (pack_fv nm)) bs in + + let (s, bs) = + fold_left (fun (s, bvs) b -> let (s, (bx0, bx1, bxr)) = push_binder b s in + (s, bxr::bx1::bx0::bvs)) (s, []) bs + in + let bs = List.Tot.rev bs in + + let cod = + match inspect_comp c with + | C_Total ty -> ty + | _ -> fail "param_ctor got a non-tot comp" + in + + let cod = mk_e_app (param' s cod) [replace_by s false orig; replace_by s true orig] in + + let ty' = mk_tot_arr bs cod in + + let r = (nm', ty') in + (* 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) (fv0 fv1 : fv) : Tac decls = + match inspect_sigelt se with + | 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); *) + 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)); + //dump ("bx1 = " ^ term_to_string (quote bx1)); + //dump ("bxr = " ^ term_to_string (quote bxr)); + (s, bxr::bx1::bx0::bvs)) (s, []) params + in + 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 + (* dump ("new typ = " ^ term_to_string typ); *) + let ctors = Tactics.Util.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) (fv0 fv1 : fv) : Tac decls = + match inspect_sigelt se with + | 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 {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" + +[@@plugin] +let paramd (nm:string) : Tac decls = + let nm' = implode_qn (cur_module () @ [last (explode_qn nm) ^ "_param"]) in + let fv0 = pack_fv (explode_qn nm) in + let fv1 = pack_fv (explode_qn nm') in + let se = lookup_typ (top_env ()) (explode_qn nm) in + 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 + | _ -> fail "paramd: unsupported sigelt" + in + //dump ("returning : " ^ term_to_string (quote decls)); + decls + +[@@plugin] +let paramds (nms:list string) : Tac decls = + List.Tot.flatten (map paramd nms) diff --git a/stage0/ulib/FStar.Tactics.Parametricity.fsti b/stage0/ulib/FStar.Tactics.Parametricity.fsti new file mode 100644 index 00000000000..d502f90bbdb --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Parametricity.fsti @@ -0,0 +1,29 @@ +module FStar.Tactics.Parametricity + +open FStar.Tactics.Effect +open FStar.Stubs.Reflection.Types + +(* May be raised by the translations. *) +exception Unsupported of string +exception NotFoundFV of fv + +(* Translate a term or type *) +[@@plugin] +val param (t:term) : Tac term + +(* Take a top-level declaration, of name nm, and generate +declarations for its parametricity translation. *) +[@@plugin] +val paramd (nm:string) : Tac decls + +(* As above for several declarations at once. *) +[@@plugin] +val paramds (nms:list string) : Tac decls + +(* Parametricity principle for some base types. We should use +a typeclass for this. *) +let param_of_eqtype (a:eqtype) : a -> a -> Type0 = (fun (x y : a) -> squash (x == y)) +let int_param = param_of_eqtype int +let bool_param = param_of_eqtype bool +let unit_param = param_of_eqtype unit +let string_param = param_of_eqtype string diff --git a/stage0/ulib/FStar.Tactics.PatternMatching.fst b/stage0/ulib/FStar.Tactics.PatternMatching.fst new file mode 100644 index 00000000000..15982a392a7 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.PatternMatching.fst @@ -0,0 +1,887 @@ +(* + 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. +*) +/// ========================== +/// Pattern-matching tactics +/// ========================== +/// +/// :Author: Clément Pit-Claudel +/// :Contact: clement.pitclaudel@live.com +/// :Date: 2017-10-13 + +module FStar.Tactics.PatternMatching + +open FStar.Tactics.V2 + +/// Contents +/// ======== +/// +/// 1 Contents +/// 2 Motivation +/// 3 Some utility functions +/// 4 Pattern types +/// 5 Pattern matching exceptions +/// 5.1 Types of exceptions +/// 5.2 The exception monad +/// 5.3 Liftings +/// 6 Pattern interpretation +/// 7 Pattern-matching problems +/// 7.1 Definitions +/// 7.2 Resolution +/// 8 A DSL for pattern-matching +/// 8.1 Pattern notations +/// 8.2 Problem notations +/// 8.3 Continuations +/// 9 Putting it all together +/// 10 Examples +/// 10.1 Simple examples +/// 10.2 A real-life example +/// 11 Possible extensions +/// 12 Notes +/// +/// Motivation +/// ========== +/// +/// Suppose you have a goal of the form ``squash (a == b)``. How do you capture +/// `a` and `b` for further inspection? +/// +/// Here's a basic (but cumbersome!) implementation: + +let fetch_eq_side () : Tac (term & term) = + let g = cur_goal () in + match inspect g with + | Tv_App squash (g, _) -> + (match inspect squash with + | Tv_UInst squash _ + | Tv_FVar squash -> + if fv_to_string squash = flatten_name squash_qn then + (match inspect g with + | Tv_App eq_type_x (y, _) -> + (match inspect eq_type_x with + | Tv_App eq_type (x, _) -> + (match inspect eq_type with + | Tv_App eq (typ, _) -> + (match inspect eq with + | Tv_UInst eq _ + | Tv_FVar eq -> + if fv_to_string eq = flatten_name eq2_qn then + (x, y) + else fail "not an equality" + | _ -> fail "not an app2 of fvar: ") + | _ -> fail "not an app3") + | _ -> fail "not an app2") + | _ -> fail "not an app under squash") + else fail "not a squash" + | _ -> fail "not an app of fvar at top level") + | _ -> fail "not an app at top level" + +/// …and here's how you could use it: + +(* let _ = *) +(* assert_by_tactic (1 + 1 == 2) *) +(* (fun () -> let l, r = fetch_eq_side () in *) +(* print (term_to_string l ^ " / " ^ term_to_string r)) *) + +/// This file defines pattern-matching primitives that let you write the same +/// thing like this… +/// +/// .. code:: fstar +/// +/// let fetch_eq_side' #a () : Tac (term * term) = +/// gpm (fun (left right: a) (g: pm_goal (squash (left == right))) -> +/// (quote left, quote right) <: Tac (term * term)) +/// +/// 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)) +/// +/// …or, more succinctly, like this: +/// +/// .. code:: fstar +/// +/// 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)) + + +/// Some utility functions +/// ====================== +/// +/// (Skip over this part on a quick read — these are just convenience functions) + + +(** Ensure that tactic `t` fails. **) +let mustfail #a (t: unit -> Tac a) (message: string) : Tac unit = + match trytac t with + | Some _ -> fail message + | None -> () + +/// The following two tactics are needed because of issues with the ``Tac`` +/// effect. + +let implies_intro' () : Tac unit = + let _ = implies_intro () in () + +let repeat' #a (f: unit -> Tac a) : Tac unit = + let _ = repeat f in () + +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: namedv) : Tac unit = + let hd = quote (FStar.Squash.return_squash #a) in + 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: namedv): Tac unit = + exact (pack (Tv_Var h)) + +/// Pattern types +/// ============= +/// +/// Patterns are defined using a simple inductive type, mirroring the structure +/// of ``term_view``. + +type varname = string + +type qn = string + +type pattern = +| PVar: name: varname -> pattern +| PQn: qn: qn -> pattern +| PType: pattern +| PApp: hd: pattern -> arg: pattern -> pattern + +let desc_of_pattern = function +| PVar _ -> "a variable" +| PQn qn -> "a constant (" ^ qn ^ ")" +| PType -> "Type" +| PApp _ _ -> "a function application" + +let rec string_of_pattern = function +| PVar x -> "?" ^ x +| PQn qn -> qn +| PType -> "Type" +| PApp l r -> "(" ^ string_of_pattern l ^ " " + ^ string_of_pattern r ^ ")" + +/// Pattern matching exceptions +/// =========================== +/// +/// Pattern-matching is defined as a pure, monadic function (because of issues +/// with combining DM4F effects, but also because it helps with debugging). +/// This section defines the exception monad. +/// +/// Types of exceptions +/// ------------------- + +noeq type match_exception = +| NameMismatch of qn & qn +| SimpleMismatch of pattern & term +| NonLinearMismatch of varname & term & term +| UnsupportedTermInPattern of term +| IncorrectTypeInAbsPatBinder of typ + +let term_head t : Tac string = + match inspect t with + | Tv_Var bv -> "Tv_Var" + | Tv_BVar fv -> "Tv_BVar" + | Tv_FVar fv -> "Tv_FVar" + | Tv_UInst _ _ -> "Tv_UInst" + | Tv_App f x -> "Tv_App" + | Tv_Abs x t -> "Tv_Abs" + | Tv_Arrow x t -> "Tv_Arrow" + | Tv_Type _ -> "Tv_Type" + | 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_Match t _ branches -> "Tv_Match" + | Tv_AscribedT _ _ _ _ -> "Tv_AscribedT" + | Tv_AscribedC _ _ _ _ -> "Tv_AscribedC" + | Tv_Unknown -> "Tv_Unknown" + | Tv_Unsupp -> "Tv_Unsupp" + +let string_of_match_exception = function + | NameMismatch (qn1, qn2) -> + "Match failure (name mismatch): expecting " ^ + qn1 ^ ", found " ^ qn2 + | SimpleMismatch (pat, tm) -> + "Match failure (sort mismatch): expecting " ^ + desc_of_pattern pat ^ ", got " ^ term_to_string tm + | NonLinearMismatch (nm, t1, t2) -> + "Match failure (nonlinear mismatch): variable " ^ nm ^ + " needs to match both " ^ (term_to_string t1) ^ + " and " ^ (term_to_string t2) + | UnsupportedTermInPattern tm -> + "Match failure (unsupported term in pattern): " ^ + term_to_string tm ^ " (" ^ term_head tm ^ ")" + | IncorrectTypeInAbsPatBinder typ -> + "Incorrect type in pattern-matching binder: " ^ + term_to_string typ ^ " (use one of ``var``, ``hyp …``, or ``goal …``)" + +/// The exception monad +/// ------------------- + +noeq type match_res a = +| Success of a +| Failure of match_exception + +let return #a (x: a) : match_res a = + Success x + +let (let?) (#a #b: Type) + (f: match_res a) + (g: a -> Tac (match_res b)) + : Tac (match_res b) = + match f with + | Success aa -> g aa + | Failure ex -> Failure ex + +let raise #a (ex: match_exception) : match_res a = + Failure ex + +/// Liftings +/// -------- +/// +/// There's a natural lifting from the exception monad into the tactic effect: + +let lift_exn_tac #a #b (f: a -> match_res b) (aa: a) : Tac b = + match f aa with + | Success bb -> bb + | Failure ex -> Tactics.fail (string_of_match_exception ex) + +let lift_exn_tactic #a #b (f: a -> match_res b) (aa: a) : Tac b = + match f aa with + | Success bb -> bb + | Failure ex -> Tactics.fail (string_of_match_exception ex) + +/// Pattern interpretation +/// ====================== +/// +/// This section implement pattern-matching. This is strictly a one term, one +/// pattern implementation — handling cases in which mutliple hypotheses match +/// the same pattern is done later. + +type bindings = list (varname & term) +let string_of_bindings (bindings: bindings) = + String.concat "\n" + (map (fun (nm, tm) -> (">> " ^ nm ^ ": " ^ term_to_string tm)) + bindings) + +(** Match a pattern against a term. +`cur_bindings` is a list of bindings collected while matching previous parts of +the pattern. Returns a result in the exception monad. **) +let rec interp_pattern_aux (pat: pattern) (cur_bindings: bindings) (tm:term) + : Tac (match_res bindings) = + let interp_var (v: varname) cur_bindings tm = + match List.Tot.Base.assoc v cur_bindings with + | Some tm' -> if term_eq tm tm' then return cur_bindings + else raise (NonLinearMismatch (v, tm, tm')) + | None -> return ((v, tm) :: cur_bindings) in + let interp_qn (qn: qn) cur_bindings tm = + match inspect tm with + | Tv_UInst fv _ + | Tv_FVar fv -> + if fv_to_string fv = qn then return cur_bindings + else raise (NameMismatch (qn, (fv_to_string fv))) + | _ -> raise (SimpleMismatch (pat, tm)) in + let interp_type cur_bindings tm = + match inspect tm with + | Tv_Type _ -> return cur_bindings + | _ -> raise (SimpleMismatch (pat, tm)) in + let interp_app (p_hd p_arg: (p:pattern{p << pat})) cur_bindings tm = + match inspect tm with + | Tv_App hd (arg, _) -> + let? with_hd = interp_pattern_aux p_hd cur_bindings hd in + let? with_arg = interp_pattern_aux p_arg with_hd arg in + return with_arg + | _ -> raise (SimpleMismatch (pat, tm)) in + match pat with + | PVar var -> interp_var var cur_bindings tm + | 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 + +(** Match a pattern `pat` against a term. +Returns a result in the exception monad. **) +let interp_pattern (pat: pattern) : term -> Tac (match_res bindings) = + fun (tm: term) -> + let? rev_bindings = interp_pattern_aux pat [] tm in + return (List.Tot.Base.rev rev_bindings) + +(** Match a term `tm` against a pattern `pat`. +Raises an exception if the match fails. This is mostly useful for debugging: +use ``mgw`` to capture matches. **) +let match_term pat (tm : term) : Tac bindings = + match interp_pattern pat (norm_term [] tm) with + | Success bb -> bb + | Failure ex -> Tactics.fail (string_of_match_exception ex) + +/// Pattern-matching problems +/// ========================= +/// +/// Generalizing past single-term single-pattern problems, we obtain the +/// following notions of pattern-matching problems and solutions: + +let debug msg : Tac unit = () // print msg + +/// Definitions +/// ----------- + +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``). + +noeq type matching_problem = + { mp_vars: list varname; + mp_hyps: list (varname & pattern); + mp_goal: option pattern } + +let string_of_matching_problem mp = + let vars = + String.concat ", " mp.mp_vars in + let hyps = + String.concat "\n " + (List.Tot.Base.map (fun (nm, pat) -> + nm ^ ": " ^ (string_of_pattern pat)) mp.mp_hyps) in + let goal = match mp.mp_goal with + | None -> "_" + | Some pat -> string_of_pattern pat in + "\n{ vars: " ^ vars ^ "\n" ^ + " hyps: " ^ hyps ^ "\n" ^ + " goal: " ^ goal ^ " }" + +/// A solution is composed of terms captured to mach the holes, and binders +/// captured to match hypothesis patterns. + +noeq type matching_solution = + { ms_vars: list (varname & term); + ms_hyps: list (varname & hypothesis) } + +let string_of_matching_solution ms = + let vars = + String.concat "\n " + (map (fun (varname, tm) -> + varname ^ ": " ^ (term_to_string tm)) ms.ms_vars) in + let hyps = + String.concat "\n " + (map (fun (nm, binding) -> + nm ^ ": " ^ (binding_to_string binding)) ms.ms_hyps) in + "\n{ vars: " ^ vars ^ "\n" ^ + " hyps: " ^ hyps ^ " }" + +(** Find a varname in an association list; fail if it can't be found. **) +let assoc_varname_fail (#b: Type) (key: varname) (ls: list (varname & b)) + : Tac b = + match List.Tot.Base.assoc key ls with + | None -> fail ("Not found: " ^ key) + | Some x -> x + +let ms_locate_hyp (a: Type) (solution: matching_solution) + (name: varname) : Tac hypothesis = + assoc_varname_fail name solution.ms_hyps + +let ms_locate_var (a: Type) (solution: matching_solution) + (name: varname) : Tac a = + unquote #a (assoc_varname_fail name solution.ms_vars) + +let ms_locate_unit (a: Type) _solution _binder_name : Tac unit = + () + +/// Resolution +/// ---------- +/// +/// Solving a matching problem is a two-steps process: find an initial +/// assignment for holes based on the goal pattern, then find a set of +/// hypotheses matching hypothesis patterns. +/// +/// Note that the implementation takes a continuation of type +/// ``matching_solution -> Tac a``. This continuation is needed because we want +/// users to be able to provide extra criteria on matching solutions (most +/// commonly, this criterion is that a particular tactic should run +/// successfuly). +/// +/// This makes it easy to implement a simple for of search through the context, +/// where one can find a hypothesis matching a particular predicate by +/// constructing a trivial matching problem and passing the predicate as the +/// continuation. + +(** Scan ``hypotheses`` for a match for ``pat`` that lets ``body`` succeed. + +``name`` is used to refer to the hypothesis matched in the final solution. +``part_sol`` includes bindings gathered while matching previous solutions. **) +let rec solve_mp_for_single_hyp #a + (name: varname) + (pat: pattern) + (hypotheses: list hypothesis) + (body: matching_solution -> Tac a) + (part_sol: matching_solution) + : Tac a = + match hypotheses with + | [] -> + fail #a "No matching hypothesis" + | h :: hs -> + or_else // Must be in ``Tac`` here to run `body` + (fun () -> + 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 -> + let ms_hyps = (name, h) :: part_sol.ms_hyps in + body ({ part_sol with ms_vars = bindings; ms_hyps = ms_hyps })) + (fun () -> + solve_mp_for_single_hyp name pat hs body part_sol) + +(** Scan ``hypotheses`` for matches for ``mp_hyps`` that lets ``body`` +succeed. **) +let rec solve_mp_for_hyps #a + (mp_hyps: list (varname & pattern)) + (hypotheses: list hypothesis) + (body: matching_solution -> Tac a) + (partial_solution: matching_solution) + : Tac a = + match mp_hyps with + | [] -> body partial_solution + | (name, pat) :: pats -> + solve_mp_for_single_hyp name pat hypotheses + (solve_mp_for_hyps pats hypotheses body) + partial_solution + +(** Solve a matching problem. + +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: list hypothesis) (goal: term) + (body: matching_solution -> Tac a) + : Tac a = + let goal_ps = + match problem.mp_goal with + | None -> { ms_vars = []; ms_hyps = [] } + | Some pat -> + match interp_pattern pat goal with + | Failure ex -> fail ("Failed to match goal: " ^ (string_of_match_exception ex)) + | Success bindings -> { ms_vars = bindings; ms_hyps = [] } in + solve_mp_for_hyps #a problem.mp_hyps hypotheses body goal_ps + +/// A DSL for pattern-matching +/// ========================== +/// +/// Using pattern-matching problems as defined above is relatively cumbersome, +/// so we now introduce a lightweight notation, in two steps: pattern notations, +/// and matching-problem notations. +/// +/// Pattern notations +/// ----------------- +/// +/// The first part of our pattern-matching syntax is pattern notations: we +/// provide a reflective function which constructs a pattern from a term: +/// 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_namedv bv)) + | Tv_FVar fv + | Tv_UInst fv _ -> + let qn = fv_to_string fv in + return (PQn qn) + | Tv_Type _ -> + return PType + | Tv_App f (x, _) -> + let? fpat = pattern_of_term_ex f in + let? xpat = pattern_of_term_ex x in + return (PApp fpat xpat) + | _ -> raise (UnsupportedTermInPattern tm) + +(** β-reduce a term `tm`. +This is useful to remove needles function applications introduced by F*, like +``(fun a b c -> a) 1 2 3``. **) +let beta_reduce (tm: term) : Tac term = + norm_term [] tm + +(** Compile a term `tm` into a pattern. **) +let pattern_of_term tm : Tac pattern = + match pattern_of_term_ex tm with + | Success bb -> bb + | Failure ex -> Tactics.fail (string_of_match_exception ex) + +/// Problem notations +/// ----------------- +/// +/// We then introduce a DSL for matching problems, best explained on the +/// following example:: +/// +/// (fun (a b c: ①) (h1 h2 h3: hyp ②) (g: pm_goal ③) → ④) +/// +/// This notation is intended to express a pattern-matching problems with three +/// holes ``a``, ``b``, and ``c`` of type ①, matching hypotheses ``h1``, ``h2``, +/// and ``h3`` against pattern ② and the goal against the pattern ③. The body +/// of the notation (④) is then run with appropriate terms bound to ``a``, +/// ``b``, and ``c``, appropriate binders bound to ``h1``, ``h2``, and ``h3``, +/// and ``()`` bound to ``g``. +/// +/// We call these patterns ``abspat``s (abstraction patterns), and we provide +/// facilities to parse them into matching problems, and to run their bodies +/// against a particular matching solution. + +// We used to annotate variables with an explicit 'var' marker, but then that +// var annotation leaked into the types of other hypotheses due to type +// inference, requiring non-trivial normalization. + +// let var (a: Type) = a +let hyp (a: Type) = binding +let pm_goal (a: Type) = unit + +let hyp_qn = `%hyp +let goal_qn = `%pm_goal + +noeq type abspat_binder_kind = +| ABKVar of typ +| ABKHyp +| ABKGoal + +let string_of_abspat_binder_kind = function + | ABKVar _ -> "varname" + | ABKHyp -> "hyp" + | ABKGoal -> "goal" + +noeq type abspat_argspec = + { asa_name: absvar; + asa_kind: abspat_binder_kind } + +// We must store this continuation, because recomputing it yields different +// names when the binders are re-opened. +type abspat_continuation = + list abspat_argspec & 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_named_binder b in + match interp_pattern hyp_pat typ with + | Success [(_, hyp_typ)] -> ABKHyp, hyp_typ + | Success _ -> fail "classifiy_abspat_binder: impossible (1)" + | Failure _ -> + match interp_pattern goal_pat typ with + | Success [(_, goal_typ)] -> ABKGoal, goal_typ + | Success _ -> fail "classifiy_abspat_binder: impossible (2)" + | 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 (list binder & term) = + match inspect tm with + | Tv_Abs binder tm -> + let binders, body = binders_and_body_of_abs tm in + binder :: binders, body + | _ -> [], tm + +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)``, +where ``binders`` are of one of the forms ``var …``, ``hyp …``, or ``goal …``. +``var`` binders are typed holes to be used in other binders; ``hyp`` binders +indicate a pattern to be matched against hypotheses; and ``goal`` binders match +the goal. + + +A reduction phase is run to ensure that the pattern looks reasonable; it is +needed because F* tends to infer arguments in β-expanded form. + +The continuation returned can't directly be applied to a pattern-matching +solution; see ``interp_abspat_continuation`` below for that. **) +let matching_problem_of_abs (tm: term) + : Tac (matching_problem & abspat_continuation) = + + let binders, body = binders_and_body_of_abs (cleanup_abspat tm) in + debug ("Got binders: " ^ (String.concat ", " + (map (fun b -> name_of_named_binder b <: Tac string) binders))); + + let classified_binders : list (binder & string & abspat_binder_kind & typ) = + map (fun binder -> + let bv_name = name_of_named_binder binder in + debug ("Got binder: " ^ bv_name ^ "; type is " ^ + 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 + + let problem = + fold_left + (fun problem (binder, bv_name, binder_kind, typ) -> + 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 + | ABKVar _ -> { problem with mp_vars = bv_name :: problem.mp_vars } + | ABKHyp -> { problem with mp_hyps = (bv_name, (pattern_of_term typ)) + :: problem.mp_hyps } + | ABKGoal -> { problem with mp_goal = Some (pattern_of_term typ) }) + ({ mp_vars = []; mp_hyps = []; mp_goal = None }) + classified_binders in + + let continuation = + let abspat_argspec_of_binder xx : Tac abspat_argspec = + match xx with | (binder, xx, binder_kind, yy) -> + { asa_name = binder_to_binding binder; asa_kind = binder_kind } in + (map abspat_argspec_of_binder classified_binders, tm) in + + let mp = + { mp_vars = List.Tot.Base.rev #varname problem.mp_vars; + mp_hyps = List.Tot.Base.rev #(varname & pattern) problem.mp_hyps; + mp_goal = problem.mp_goal } in + + debug ("Got matching problem: " ^ (string_of_matching_problem mp)); + mp, continuation + +/// Continuations +/// ------------- +/// +/// Parsing an abspat yields a matching problem and a continuation of type +/// ``abspat_continuation``, which is essentially just a list of binders and a +/// term (the body of the abstraction pattern). + +(** Get the (quoted) type expected by a specific kind of abspat binder. **) +let arg_type_of_binder_kind binder_kind : Tac term = + match binder_kind with + | ABKVar typ -> typ + | ABKHyp -> `binder + | ABKGoal -> `unit + +(** Retrieve the function used to locate a value for a given abspat binder. **) +let locate_fn_of_binder_kind binder_kind = + match binder_kind with + | ABKVar _ -> `ms_locate_var + | ABKHyp -> `ms_locate_hyp + | ABKGoal -> `ms_locate_unit + +(** Construct a term fetching the value of an abspat argument from a quoted +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 (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 + +(** Specialize a continuation of type ``abspat_continuation``. +This constructs a fully applied version of `continuation`, but it requires a +quoted solution to be passed in. **) + +let rec hoist_and_apply (head:term) (arg_terms:list term) (hoisted_args:list argv) + : Tac term = + match arg_terms with + | [] -> 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 + 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) + : Tac term = + let mk_arg_term argspec = + abspat_arg_of_abspat_argspec solution_term argspec in + let argspecs, body = continuation in + hoist_and_apply body (map mk_arg_term argspecs) [] + +(** Specialize a continuation of type ``abspat_continuation``. This yields a +quoted function taking a matching solution and running its body with appropriate +bindings. **) +let specialize_abspat_continuation (continuation: abspat_continuation) + : Tac term = + let solution_binder = fresh_binder (`matching_solution) 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)); + let normalized = beta_reduce thunked in + debug ("… which reduces to " ^ (term_to_string normalized)); + thunked + +(** Interpret a continuation of type ``abspat_continuation``. +This yields a function taking a matching solution and running the body of the +continuation with appropriate bindings. **) +let interp_abspat_continuation (a:Type0) (continuation: abspat_continuation) + : Tac (matching_solution -> Tac a) = + let applied = specialize_abspat_continuation continuation in + unquote #(matching_solution -> Tac a) applied + +/// Putting it all together +/// ======================= +/// +/// We now have all we need to use pattern-matching, short of a few convenience functions: + +(** Construct a matching problem from an abspat. **) +let interp_abspat #a (abspat: a) + : Tac (matching_problem & abspat_continuation) = + matching_problem_of_abs (quote abspat) + +(** Construct an solve a matching problem. +This higher-order function isn't very usable on its own — it's mostly a +convenience function to avoid duplicating the problem-parsing code. **) +let match_abspat #b #a (abspat: a) + (k: abspat_continuation -> Tac (matching_solution -> Tac b)) + : Tac b = + let goal = cur_goal () in + let hypotheses = vars_of_env (cur_env ()) in + let problem, continuation = interp_abspat abspat in + solve_mp problem hypotheses goal (k continuation) + +(** Inspect the matching problem produced by parsing an abspat. **) +let inspect_abspat_problem #a (abspat: a) : Tac matching_problem = + fst (interp_abspat #a abspat) + +(** Inspect the matching solution produced by parsing and solving an abspat. **) +let inspect_abspat_solution #a (abspat: a) : Tac matching_solution = + match_abspat abspat (fun _ -> (fun solution -> solution <: Tac _) <: Tac _) + +let tpair #a #b (x : a) : Tac (b -> Tac (a & b)) = + fun (y: b) -> (x, y) + +/// Our first convenient entry point! +/// +/// This takes an abspat, parses it, computes a solution, and runs the body of +/// the abspat with appropriate bindings. It implements what others call ‘lazy’ +/// pattern-matching, so called because the success of the body of the pattern +/// isn't taken into account when deciding whether a particular set of matched +/// hypothesis should be retained. In other words, it picks the first matching +/// set of hypotheses, and commits to it. +/// +/// If you think that sounds like a greedy algorithm, it does. That's why it's +/// called ‘gpm’ below: greedy pattern-matching. + +(** Solve a greedy pattern-matching problem and run its continuation. +This if for pattern-matching problems in the ``Tac`` effect. **) +let gpm #b #a (abspat: a) () : Tac b = + let continuation, solution = match_abspat abspat tpair in + interp_abspat_continuation b continuation solution + +/// And here's the non-greedy version of the same. It's informative to compare +/// the implementations! This one will only find assignments that let the body +/// run successfuly. + +(** Solve a greedy pattern-matching problem and run its continuation. +This if for pattern-matching problems in the ``Tac`` effect. **) +let pm #b #a (abspat: a) : Tac b = + match_abspat abspat (interp_abspat_continuation b) + +/// Examples +/// ======== +/// +/// We conclude with a small set of examples. + +/// Simple examples +/// --------------- +/// +/// Here's the example from the intro, which we can now run! + +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) *) +(* (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 ()) + +/// A real-life example +/// ------------------- +/// +/// The following tactics combines mutliple simple building blocks to solve a +/// goal. Each use of ``lpm`` recognizes a specific pattern; and each tactic is +/// 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 ()) *) + +/// Possible extensions +/// =================== +/// +/// The following tasks would make for interesting extensions of this +/// experiment: +/// +/// - Handling multiple goal patterns (easy) +/// - Extending the matching language (match under binders?) +/// - Introducing specialized syntax +/// - Thinking about a sound way of supporting ‘match-anything’ patterns in +/// abspat notations +/// - Using the normalizer to partially-evaluated pattern-matching tactics +/// - Migrating to a compile-time version of ``quote`` diff --git a/stage0/ulib/FStar.Tactics.Print.fst b/stage0/ulib/FStar.Tactics.Print.fst new file mode 100644 index 00000000000..77a248e6542 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Print.fst @@ -0,0 +1,111 @@ +module FStar.Tactics.Print + +open FStar.Reflection.V2 +open FStar.Tactics.Effect +open FStar.Stubs.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 ^ ")" + +(* TODO: making this a local definition in print_list fails to extract. *) +private +let rec print_list_aux (f:'a -> Tac string) (xs:list 'a) : Tac string = + match xs with + | [] -> "" + | [x] -> f x + | x::xs -> f x ^ "; " ^ print_list_aux f xs + +private +let print_list (f:'a -> Tac string) (l:list 'a) : Tac string = + "[" ^ print_list_aux f l ^ "]" + +let rec universe_to_ast_string (u:universe) : Tac string = + match inspect_universe u with + | Uv_Zero -> "Uv_Zero" + | Uv_Succ u -> "Uv_Succ" ^ paren (universe_to_ast_string u) + | Uv_Max us -> "Uv_Max" ^ print_list universe_to_ast_string us + | Uv_BVar n -> "Uv_BVar" ^ paren (string_of_int n) + | Uv_Name i -> "Uv_Name" ^ paren (fst i) + | Uv_Unif _ -> "Uv_Unif" + | Uv_Unk -> "Uv_Unk" + +let universes_to_ast_string (us:universes) : Tac string = + print_list universe_to_ast_string us + +let rec term_to_ast_string (t:term) : Tac string = + match inspect t with + | 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 -> + "Tv_UInst" ^ paren (fv_to_string fv ^ ", " ^ universes_to_ast_string us) + | Tv_App hd (a, _) -> "Tv_App " ^ paren (term_to_ast_string hd ^ ", " ^ term_to_ast_string a) + | 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 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 " ^ paren (string_of_bool recf ^ ", " ^ + binder_to_string x ^ ", " ^ + term_to_ast_string e1 ^ ", " ^ + term_to_ast_string e2) + | Tv_Match e ret_opt brs -> + "Tv_Match " ^ + paren ( + term_to_ast_string e ^ + ", " ^ + match_returns_to_string ret_opt ^ + ", " ^ + branches_to_ast_string brs) + | Tv_AscribedT e t _ use_eq -> "Tv_AscribedT " ^ paren (term_to_ast_string e ^ ", " ^ term_to_ast_string t ^ ", " ^ string_of_bool use_eq) + | Tv_AscribedC e c _ use_eq -> "Tv_AscribedC " ^ paren (term_to_ast_string e ^ ", " ^ comp_to_ast_string c ^ ", " ^ string_of_bool use_eq) + | Tv_Unknown -> "_" + | Tv_Unsupp -> "" + +and match_returns_to_string (ret_opt:option match_returns_ascription) : Tac string = + let tacopt_to_string tacopt : Tac string = + match tacopt with + | None -> "" + | Some tac -> " by " ^ (term_to_ast_string tac) in + match ret_opt with + | None -> "" + | Some (b, asc) -> + (binder_to_string b ^ " ") + ^ + (match asc with + | Inl t, tacopt, _ -> (term_to_ast_string t) ^ (tacopt_to_string tacopt) + | Inr c, tacopt, _ -> (comp_to_ast_string c) ^ (tacopt_to_string tacopt)) + +and branches_to_ast_string (brs:list branch) : Tac string = + print_list branch_to_ast_string brs + +and branch_to_ast_string (b:branch) : Tac string = + let p, e = b in + paren ("_pat, " ^ term_to_ast_string e) + +and comp_to_ast_string (c:comp) : Tac string = + match inspect_comp c with + | C_Total t -> "Tot " ^ term_to_ast_string t + | C_GTotal t -> "GTot " ^ term_to_ast_string t + | C_Lemma pre post _ -> "Lemma " ^ term_to_ast_string pre ^ " " ^ term_to_ast_string post + | C_Eff us eff res _ _ -> + "Effect" ^ "<" ^ universes_to_ast_string us ^ "> " ^ paren (implode_qn eff ^ ", " ^ term_to_ast_string res) + +and const_to_ast_string (c:vconst) : Tac string = + match c with + | C_Unit -> "C_Unit" + | C_Int i -> "C_Int " ^ string_of_int i + | C_True -> "C_True" + | C_False -> "C_False" + | C_String s -> "C_String " ^ s + | C_Range _ -> "C_Range _" + | C_Reify -> "C_Reify" + | C_Reflect name -> "C_Reflect " ^ implode_qn name + | C_Real r -> "C_Real \"" ^ r ^ "\"" diff --git a/stage0/ulib/FStar.Tactics.Print.fsti b/stage0/ulib/FStar.Tactics.Print.fsti new file mode 100644 index 00000000000..38efbf930bb --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Print.fsti @@ -0,0 +1,32 @@ +module FStar.Tactics.Print + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Tactics.Effect + +[@@plugin] +val namedv_to_string (x:namedv) : Tac string + +[@@plugin] +val universe_to_ast_string (u:universe) : Tac string + +[@@plugin] +val universes_to_ast_string (us:universes) : Tac string + +[@@plugin] +val term_to_ast_string (t:term) : Tac string + +[@@plugin] +val match_returns_to_string (ret_opt:option match_returns_ascription) : Tac string + +[@@plugin] +val branches_to_ast_string (brs:list branch) : Tac string + +[@@plugin] +val branch_to_ast_string (b:branch) : Tac string + +[@@plugin] +val comp_to_ast_string (c:comp) : Tac string + +[@@plugin] +val const_to_ast_string (c:vconst) : Tac string diff --git a/stage0/ulib/FStar.Tactics.Result.fsti b/stage0/ulib/FStar.Tactics.Result.fsti new file mode 100644 index 00000000000..85dd4bf3f3a --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Result.fsti @@ -0,0 +1,3 @@ +module FStar.Tactics.Result + +include FStar.Stubs.Tactics.Result diff --git a/stage0/ulib/FStar.Tactics.SMT.fst b/stage0/ulib/FStar.Tactics.SMT.fst new file mode 100644 index 00000000000..0d00a17c40c --- /dev/null +++ b/stage0/ulib/FStar.Tactics.SMT.fst @@ -0,0 +1,35 @@ +module FStar.Tactics.SMT + +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.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/stage0/ulib/FStar.Tactics.SMT.fsti b/stage0/ulib/FStar.Tactics.SMT.fsti new file mode 100644 index 00000000000..c9c8719cbd3 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.SMT.fsti @@ -0,0 +1,42 @@ +module FStar.Tactics.SMT + +open FStar.Tactics.Effect + +(* Alias to just use the current vconfig *) +[@@plugin] +val smt_sync () : Tac unit + +(* smt_sync': as smt_sync, but using a particular fuel/ifuel *) +[@@plugin] +val smt_sync' (fuel ifuel : nat) : Tac unit + +(* Getting/setting solver configuration *) + +[@@plugin] +val get_rlimit () : Tac int +[@@plugin] +val set_rlimit (v : int) : Tac unit + +[@@plugin] +val get_initial_fuel () : Tac int +[@@plugin] +val get_initial_ifuel () : Tac int +[@@plugin] +val get_max_fuel () : Tac int +[@@plugin] +val get_max_ifuel () : Tac int + +[@@plugin] +val set_initial_fuel (v : int) : Tac unit +[@@plugin] +val set_initial_ifuel (v : int) : Tac unit +[@@plugin] +val set_max_fuel (v : int) : Tac unit +[@@plugin] +val set_max_ifuel (v : int) : Tac unit + +(* Set both min and max *) +[@@plugin] +val set_fuel (v : int) : Tac unit +[@@plugin] +val set_ifuel (v : int) : Tac unit diff --git a/stage0/ulib/FStar.Tactics.Simplifier.fst b/stage0/ulib/FStar.Tactics.Simplifier.fst new file mode 100644 index 00000000000..e0fae7dbb1d --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Simplifier.fst @@ -0,0 +1,309 @@ +(* + 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.Simplifier + +open FStar.Tactics.V2 +open FStar.Reflection.V2.Formula +open FStar.Reflection.Const + +(* A correct-by-construction logical simplifier + * + * No calling `norm [simpl]`, that's cheating! + *) + +val lem_iff_refl : #a:Type -> Lemma (a <==> a) +let lem_iff_refl #a = () + +val lem_iff_trans : #a:Type -> #b:Type -> #c:Type -> squash (a <==> b) -> squash (b <==> c) + -> Lemma (a <==> c) +let lem_iff_trans #a #b #c _ _ = () + +let tiff () : Tac unit = + apply_lemma (`lem_iff_refl) + +let step () : Tac unit = + apply_lemma (`lem_iff_trans) + +val lem_true_and_p : #p:Type -> Lemma ((True /\ p) <==> p) +let lem_true_and_p #p = () + +val lem_p_and_true : #p:Type -> Lemma ((p /\ True) <==> p) +let lem_p_and_true #p = () + +val lem_false_and_p : #p:Type -> Lemma ((False /\ p) <==> False) +let lem_false_and_p #p = () + +val lem_p_and_false : #p:Type -> Lemma ((p /\ False) <==> False) +let lem_p_and_false #p = () + +val lem_true_or_p : #p:Type -> Lemma ((True \/ p) <==> True) +let lem_true_or_p #p = () + +val lem_p_or_true : #p:Type -> Lemma ((p \/ True) <==> True) +let lem_p_or_true #p = () + +val lem_false_or_p : #p:Type -> Lemma ((False \/ p) <==> p) +let lem_false_or_p #p = () + +val lem_p_or_false : #p:Type -> Lemma ((p \/ False) <==> p) +let lem_p_or_false #p = () + +val lem_true_imp_p : #p:Type -> Lemma ((True ==> p) <==> p) +let lem_true_imp_p #p = () + +val lem_p_imp_true : #p:Type -> Lemma ((p ==> True) <==> True) +let lem_p_imp_true #p = () + +val lem_false_imp_p : #p:Type -> Lemma ((False ==> p) <==> True) +let lem_false_imp_p #p = () + +val lem_fa_true : #a:Type -> Lemma ((forall (x:a). True) <==> True) +let lem_fa_true #a = () + +val lem_fa_false : #a:Type -> (x:a) -> Lemma ((forall (x:a). False) <==> False) +let lem_fa_false #a x = () + +val lem_ex_false : #a:Type -> Lemma ((exists (x:a). False) <==> False) +let lem_ex_false #a = () + +val lem_ex_true : #a:Type -> (x:a) -> Lemma ((exists (x:a). True) <==> True) +let lem_ex_true #a x = () + +val lem_neg_false : unit -> Lemma (~False <==> True) +let lem_neg_false () = () + +val lem_neg_true : unit -> Lemma (~True <==> False) +let lem_neg_true () = () + +val lem_true_iff_p : #p:Type -> Lemma ((True <==> p) <==> p) +let lem_true_iff_p #p = () + +val lem_false_iff_p : #p:Type -> Lemma ((False <==> p) <==> ~p) +let lem_false_iff_p #p = () + +val lem_p_iff_true : #p:Type -> Lemma ((p <==> True) <==> p) +let lem_p_iff_true #p = () + +val lem_p_iff_false : #p:Type -> Lemma ((p <==> False) <==> ~p) +let lem_p_iff_false #p = () + +val and_cong (#p #q #p' #q' : Type) : squash (p <==> p') -> + squash (q <==> q') -> + Lemma ((p /\ q) <==> (p' /\ q')) +let and_cong #p #q #p' #q' _ _ = () + +val or_cong (#p #q #p' #q' : Type) : squash (p <==> p') -> + squash (q <==> q') -> + Lemma ((p \/ q) <==> (p' \/ q')) +let or_cong #p #q #p' #q' _ _ = () + +val imp_cong (#p #q #p' #q' : Type) : squash (p <==> p') -> + squash (q <==> q') -> + Lemma ((p ==> q) <==> (p' ==> q')) +let imp_cong #p #q #p' #q' _ _ = () + +val fa_cong (#a : Type) (#p #q : a -> Type) : + (x:a -> squash (p x <==> q x)) -> + Lemma ((forall (x:a). p x) <==> (forall (x:a). q x)) +let fa_cong #a #p #q f = + assert ((forall (x:a). p x) <==> (forall (x:a). q x)) by ( + split(); + let do1 () : Tac unit = + let _ = l_intros () in + let t = quote f in + let x = nth_var (-1) in + let bb = pose (mk_e_app t [binding_to_term x]) in + () + in + iseq [do1; do1] + ) + +val ex_cong (#a : Type) (#p #q : a -> Type) : + (x:a -> squash (p x <==> q x)) -> + Lemma ((exists (x:a). p x) <==> (exists (x:a). q x)) +let ex_cong #a #p #q f = + assert ((exists (x:a). p x) <==> (exists (x:a). q x)) by (assume_safe (fun () -> + split(); + let do1 () : Tac unit = + let [ex] = l_intros () in + let (b, pf) = elim_exists (binding_to_term ex) in + let t = quote f in + let bb = pose (mk_e_app t [binding_to_term b]) in + () + in + iseq [do1; do1] + )) + +val neg_cong (#p #q:Type) : squash (p <==> q) -> Lemma (~p <==> ~q) +let neg_cong #p #q _ = () + +val iff_cong (#p #p' #q #q' : Type) : squash (p <==> p') -> squash (q <==> q') -> Lemma ((p <==> q) <==> (p' <==> q')) +let iff_cong #p #p' #q #q' _ _ = () + +// Absolutely hideous, do something about normalization +val is_true : term -> Tac bool +let is_true t = + begin match term_as_formula' t with + | True_ -> true + | _ -> begin match inspect t with + | Tv_App l r -> + begin match inspect l with + | Tv_Abs b t -> + begin match term_as_formula' t with + | True_ -> true + | _ -> false + end + | _ -> false + end + | _ -> false + end + end + +val is_false : term -> Tac bool +let is_false t = + begin match term_as_formula' t with + | False_ -> true + | _ -> begin match inspect t with + | Tv_App l r -> + begin match inspect l with + | Tv_Abs b t -> + begin match term_as_formula' t with + | False_ -> true + | _ -> false + end + | _ -> false + end + | _ -> false + end + end + +val inhabit : unit -> Tac unit +let inhabit () = + let t = cur_goal () in + match inspect t with + | Tv_FVar fv -> + let qn = inspect_fv fv in + if qn = int_lid then exact (`42) + else if qn = bool_lid then exact (`true) + else if qn = unit_lid then exact (`()) + else fail "" + | _ -> fail "" + +val simplify_point : unit -> Tac unit +val recurse : unit -> Tac unit + +let rec simplify_point () = + recurse (); + norm []; + let g = cur_goal () in + let f = term_as_formula g in + match f with + | Iff l r -> + begin match term_as_formula' l with + | And p q -> + if is_true p then apply_lemma (`lem_true_and_p) + else if is_true q then apply_lemma (`lem_p_and_true) + else if is_false p then apply_lemma (`lem_false_and_p) + else if is_false q then apply_lemma (`lem_p_and_false) + else tiff () + + | Or p q -> + if is_true p then apply_lemma (`lem_true_or_p) + else if is_true q then apply_lemma (`lem_p_or_true) + else if is_false p then apply_lemma (`lem_false_or_p) + else if is_false q then apply_lemma (`lem_p_or_false) + else tiff () + + | Implies p q -> + if is_true p then apply_lemma (`lem_true_imp_p) + else if is_true q then apply_lemma (`lem_p_imp_true) + else if is_false p then apply_lemma (`lem_false_imp_p) + else tiff () + + | Forall _b _sort p -> + if is_true p then apply_lemma (`lem_fa_true) + else if is_false p then or_else (fun () -> apply_lemma (`lem_fa_false); inhabit ()) tiff + else tiff () + + | Exists _b _sort p -> + if is_false p then apply_lemma (`lem_ex_false) + else if is_true p then or_else (fun () -> apply_lemma (`lem_ex_true); inhabit ()) tiff + else tiff () + + | Not p -> + if is_true p then apply_lemma (`lem_neg_true) + else if is_false p then apply_lemma (`lem_neg_false) + else tiff () + + | Iff p q -> + // After applying the lemma, we might still have more simpl to do, + // so add an intermediate step. + step (); + if is_true p then apply_lemma (`lem_true_iff_p) + else if is_true q then apply_lemma (`lem_p_iff_true) + else if is_false p then apply_lemma (`lem_false_iff_p) + else if is_false q then apply_lemma (`lem_p_iff_false) + else tiff (); + simplify_point () + + | _ -> tiff () + end + | _ -> fail "simplify_point: failed precondition: goal should be `g <==> ?u`" + +and recurse () : Tac unit = + step (); + norm []; + let g = cur_goal () in + let f = term_as_formula g in + match f with + | Iff l r -> + begin match term_as_formula' l with + | And _ _ -> + seq (fun () -> apply_lemma (`and_cong)) simplify_point + + | Or _ _ -> + seq (fun () -> apply_lemma (`or_cong)) simplify_point + + | Implies _ _ -> + seq (fun () -> apply_lemma (`imp_cong)) simplify_point + + | Forall _ _ _ -> + apply_lemma (`fa_cong); + let _ = intro () in + simplify_point () + + | Exists _ _ _ -> + apply_lemma (`ex_cong); + let _ = intro () in + simplify_point () + + | Not _ -> + apply_lemma (`neg_cong); + simplify_point () + + | Iff _ _ -> + seq (fun () -> apply_lemma (`iff_cong)) simplify_point + + | _ -> tiff () + end + | _ -> fail "recurse: failed precondition: goal should be `g <==> ?u`" + +val equiv : #p:Type -> #q:Type -> squash (p <==> q) -> squash q -> Lemma p +let equiv #p #q _ _ = () + +let simplify () : Tac unit = + apply_lemma (`equiv); + simplify_point () diff --git a/stage0/ulib/FStar.Tactics.SyntaxHelpers.fst b/stage0/ulib/FStar.Tactics.SyntaxHelpers.fst new file mode 100644 index 00000000000..73077a511d1 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.SyntaxHelpers.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.SyntaxHelpers + +(* This module is a temporary for Meta-F* migration *) +include FStar.Tactics.V1.SyntaxHelpers diff --git a/stage0/ulib/FStar.Tactics.TypeRepr.fst b/stage0/ulib/FStar.Tactics.TypeRepr.fst new file mode 100644 index 00000000000..5fb2055bf7d --- /dev/null +++ b/stage0/ulib/FStar.Tactics.TypeRepr.fst @@ -0,0 +1,170 @@ +module FStar.Tactics.TypeRepr + +//#set-options "--print_implicits --print_full_names --print_universes" + +open FStar.Tactics.V2.Bare + +let add_suffix (s:string) (nm:name) : name = + explode_qn (implode_qn nm ^ s) + +let unitv_ : term = `() +let unitt_ : term = `(unit) +let empty_ : term = `(empty) +let either_ (a b : term) : term = `(either (`#a) (`#b)) +let tuple2_ (a b : term) : term = `(tuple2 (`#a) (`#b)) +let mktuple2_ (a b : term) : term = `(Mktuple2 (`#a) (`#b)) + +let get_inductive_typ (nm:string) : Tac (se:sigelt_view{Sg_Inductive? se}) = + let e = top_env () in + let se = lookup_typ e (explode_qn nm) in + match se with + | None -> fail "ctors_of_typ: type not found" + | Some se -> + let sev = inspect_sigelt se in + if Sg_Inductive? sev then + sev + else + fail "ctors_of_typ: not an inductive type" + +let alg_ctor (ty : typ) : Tac typ = + let tys, c = collect_arr ty in + Tactics.Util.fold_right (fun ty acc -> tuple2_ ty acc) tys unitt_ + +[@@plugin] +let generate_repr_typ (params : binders) (ctors : list ctor) : Tac typ = + let ctor_typs = Util.map (fun (_, ty) -> alg_ctor ty) ctors in + let alternative_typ = + Util.fold_right (fun ty acc -> either_ ty acc) ctor_typs empty_ in + alternative_typ + +(* Expects a goal of type [t -> t_repr] *) +[@@plugin] +let generate_down () : Tac unit = + let b = intro () in + let cases = t_destruct b in + cases |> Util.iteri #(fv & nat) (fun i (c, n) -> + let bs = repeatn n (fun _ -> intro ()) in + let _b_eq = intro () in + let sol = Util.fold_right (fun (b:binding) acc -> mktuple2_ b acc) bs unitv_ in + let _ = repeatn i (fun _ -> apply (`Inr)) in + apply (`Inl); + exact sol + ) + +let rec get_apply_tuple (b:binding) : Tac (list binding) = + let hd, args = collect_app b.sort in + match inspect hd, args with + | Tv_UInst fv _, [b1; b2] + | Tv_FVar fv, [b1; b2] -> + if inspect_fv fv = explode_qn (`%tuple2) then + let cases = t_destruct b in + guard (List.Tot.length cases = 1 && inspect_fv (fst (List.Tot.hd cases)) = explode_qn (`%Mktuple2) && snd (List.Tot.hd cases) = 2); + let b1 = intro () in + let b2 = intro () in + let _eq = intro () in + b1 :: get_apply_tuple b2 + else + fail ("unexpected term in apply_tuple: " ^ term_to_string b.sort) + | Tv_FVar fv, [] -> + if inspect_fv fv = explode_qn (`%unit) then + [] + else + fail ("unexpected term in apply_tuple: " ^ term_to_string b.sort) + | _ -> + fail ("unexpected term in apply_tuple: " ^ term_to_string b.sort) + +(* Expects a goal of type [t_repr -> t] *) + +let rec generate_up_aux (ctors : list ctor) (b:binding) : Tac unit = + match ctors with + | [] -> + (* b must have type empty, it's the finisher for the cases *) + apply (`empty_elim); + exact b + | c::cs -> + let cases = t_destruct b in + if List.Tot.length cases <> 2 then + fail "generate_up_aux: expected Inl/Inr???"; + focus (fun () -> + let b' = intro () in + let _eq = intro () in + let c_name = fst c in + let args = get_apply_tuple b' in + apply (pack (Tv_FVar (pack_fv c_name))); + Util.iter (fun (b:binding) -> exact b) args; + qed() + ); + let b = intro () in + let _eq = intro () in + generate_up_aux cs b + +(* Expects a goal of type [t_repr -> t] *) +[@@plugin] +let generate_up (nm:string) () : Tac unit = + let Sg_Inductive {ctors} = get_inductive_typ nm in + let b = intro () in + generate_up_aux ctors b + +let make_implicits (bs : binders) : binders = + bs |> List.Tot.map (fun b -> + match b.qual with + | Q_Explicit -> { b with qual = Q_Implicit } + | _ -> b + ) + +let binder_to_argv (b:binder) : argv = + (binder_to_term b, b.qual) + +let generate_all (nm:name) (params:binders) (ctors : list ctor) : Tac decls = + let params_i = make_implicits params in + let t = mk_app (pack (Tv_FVar (pack_fv nm))) (List.Tot.map binder_to_argv params) in + let t_repr = generate_repr_typ params ctors in + let se_repr = pack_sigelt <| Sg_Let { + isrec = false; + lbs = [{ + lb_fv = pack_fv (add_suffix "_repr" nm); + lb_us = []; + lb_typ = mk_arr params <| C_Total (`Type); + lb_def = mk_abs params t_repr; + }] + } + in + + let down_def = + `(_ by (generate_down ())) + in + let down_def = mk_abs params_i down_def in + let se_down = + let b = fresh_binder t in + pack_sigelt <| Sg_Let { + isrec = false; + lbs = [{ + lb_fv = pack_fv (add_suffix "_down" nm); + lb_us = []; + lb_typ = mk_tot_arr params_i <| Tv_Arrow b (C_Total t_repr); + lb_def = down_def; + }] + } + in + let up_def = + `(_ by (generate_up (`#(pack (Tv_Const (C_String (implode_qn nm))))) ())) + in + let up_def = mk_abs params_i up_def in + let se_up = + let b = fresh_binder t_repr in + pack_sigelt <| Sg_Let { + isrec = false; + lbs = [{ + lb_fv = pack_fv (add_suffix "_up" nm); + lb_us = []; + lb_typ = mk_tot_arr params_i <| Tv_Arrow b (C_Total t); + lb_def = up_def; + }] + } + in + [se_repr; se_down; se_up] + +[@@plugin] +let entry (nm : string) : Tac decls = + let Sg_Inductive {params; nm; ctors} = get_inductive_typ nm in + generate_all nm params ctors diff --git a/stage0/ulib/FStar.Tactics.TypeRepr.fsti b/stage0/ulib/FStar.Tactics.TypeRepr.fsti new file mode 100644 index 00000000000..f9730db5dd0 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.TypeRepr.fsti @@ -0,0 +1,21 @@ +module FStar.Tactics.TypeRepr + +open FStar.Tactics.V2.Bare + +private +let empty_elim (e:empty) (#a:Type) : a = match e with + +(* Do not use directly. *) +[@@plugin] +val generate_repr_typ (params : binders) (ctors : list ctor) : Tac typ + +(* Do not use directly. *) +[@@plugin] +val generate_down () : Tac unit + +(* Do not use directly. *) +[@@plugin] +val generate_up (nm:string) () : Tac unit + +[@@plugin] +val entry (nm : string) : Tac decls diff --git a/stage0/ulib/FStar.Tactics.Typeclasses.fst b/stage0/ulib/FStar.Tactics.Typeclasses.fst new file mode 100644 index 00000000000..29a67e6b06b --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Typeclasses.fst @@ -0,0 +1,426 @@ +(* + 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.Reflection.V2 +module R = FStar.Reflection.V2 +open FStar.Stubs.Tactics.Common +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions +open FStar.Tactics.NamedView + +(* Thunked version of debug *) +let debug (f : unit -> Tac string) : Tac unit = + if debugging () then + print (f ()) + +module L = FStar.List.Tot.Base +let (@) = L.op_At + +(* The attribute that marks classes *) +irreducible +let tcclass : unit = () + +(* The attribute that marks instances *) +irreducible +let tcinstance : unit = () + +(* Functional dependencies of a class. *) +irreducible +let fundeps (_ : list int) : unit = () + +(* The attribute that marks class fields + to signal that no method should be generated for them *) +irreducible +let no_method : unit = () + +noeq +type st_t = { + seen : list term; + glb : list (sigelt & fv); + fuel : int; +} + +noeq +type tc_goal = { + g : term; + (* ^ The goal as a term *) + head_fv : fv; + (* ^ Head fv of goal (g), i.e. the class name *) + c_se : option sigelt; + (* ^ Class sigelt *) + fundeps : option (list int); + (* ^ Functional dependendcies of class, if any. *) + args_and_uvars : list (argv & bool); + (* ^ The arguments of the goal, and whether they are + unresolved, even partially. I.e. the boolean is true + when the arg contains uvars. *) +} + + +val fv_eq : fv -> fv -> Tot bool +let fv_eq fv1 fv2 = + let n1 = inspect_fv fv1 in + let n2 = inspect_fv fv2 in + n1 = n2 + +let rec head_of (t:term) : Tac (option fv) = + (* NB: must use `inspect` to make use of unionfind graph. + inspect_ln won't work. *) + match inspect t with + | Tv_FVar fv + | Tv_UInst fv _ -> Some fv + | Tv_App h _ -> head_of h + | v -> None + +let rec res_typ (t:term) : Tac term = + match inspect t with + | Tv_Arrow _ c -> ( + match inspect_comp c with + | C_Total t -> res_typ t + | _ -> t + ) + | _ -> t + +(* Would be good to use different exceptions for each reason +the search stops, but it takes some work to properly account +for them and report proper errors. *) +exception NoInst + +private +let rec first (f : 'a -> Tac 'b) (l : list 'a) : Tac 'b = + match l with + | [] -> raise NoInst + | x::xs -> (fun () -> f x) `or_else` (fun () -> first f xs) + +private +let rec maybe_intros () : Tac unit = + let g = cur_goal () in + match inspect g with + | Tv_Arrow _ _ -> + ignore (intro ()); + maybe_intros () + | _ -> () + +let sigelt_name (se:sigelt) : list fv = + match FStar.Stubs.Reflection.V2.Builtins.inspect_sigelt se with + | Stubs.Reflection.V2.Data.Sg_Let _ lbs -> ( + match lbs with + | [lb] -> [(FStar.Stubs.Reflection.V2.Builtins.inspect_lb lb).lb_fv] + | _ -> [] + ) + | Stubs.Reflection.V2.Data.Sg_Val nm _ _ -> [pack_fv nm] + | _ -> [] + +(* Would be nice to define an unembedding class here.. but it's circular. *) +let unembed_int (t:term) : Tac (option int) = + match inspect_ln t with + | R.Tv_Const (C_Int i) -> Some i + | _ -> None + +let rec unembed_list (#a:Type) (u : term -> Tac (option a)) (t:term) : Tac (option (list a)) = + match hua t with + | Some (fv, _, [(ty, Q_Implicit); (hd, Q_Explicit); (tl, Q_Explicit)]) -> + if implode_qn (inspect_fv fv) = `%Prims.Cons then + match u hd, unembed_list u tl with + | Some hd, Some tl -> Some (hd::tl) + | _ -> None + else + None + | Some (fv, _, [(ty, Q_Implicit)]) -> + if implode_qn (inspect_fv fv) = `%Prims.Nil then + Some [] + else + None + | _ -> + None + +let extract_fundeps (se : sigelt) : Tac (option (list int)) = + let attrs = sigelt_attrs se in + let rec aux (attrs : list term) : Tac (option (list int)) = + match attrs with + | [] -> None + | attr::attrs' -> + match collect_app attr with + | hd, [(a0, Q_Explicit)] -> + if FStar.Reflection.TermEq.Simple.term_eq hd (`fundeps) then ( + unembed_list unembed_int a0 + ) else + aux attrs' + | _ -> + aux attrs' + in + aux attrs + +let trywith (st:st_t) (g:tc_goal) (t typ : term) (k : st_t -> Tac unit) : Tac unit = + // print ("head_fv = " ^ fv_to_string g.head_fv); + // print ("fundeps = " ^ Util.string_of_option (Util.string_of_list (fun i -> string_of_int i)) fundeps); + let unresolved_args = g.args_and_uvars |> Util.mapi (fun i (_, b) -> if b then [i <: int] else []) |> List.Tot.flatten in + // print ("unresolved_args = " ^ Util.string_of_list (fun i -> string_of_int i) unresolved_args); + + match head_of (res_typ typ) with + | None -> + debug (fun () -> "no head for typ of this? " ^ term_to_string t ^ " typ=" ^ term_to_string typ); + raise NoInst + | Some fv' -> + if not (fv_eq fv' g.head_fv) then + raise NoInst; // class mismatch, would be better to not even get here + debug (fun () -> "Trying to apply hypothesis/instance: " ^ term_to_string t); + (fun () -> + if Cons? unresolved_args && None? g.fundeps then + fail "Will not continue as there are unresolved args (and no fundeps)" + else if Cons? unresolved_args && Some? g.fundeps then ( + let Some fundeps = g.fundeps in + debug (fun () -> "checking fundeps"); + let all_good = List.Tot.for_all (fun i -> List.Tot.mem i fundeps) unresolved_args in + if all_good then apply t else fail "fundeps" + ) else ( + apply_noinst t + ) + ) `seq` (fun () -> + debug (fun () -> dump "next"; "apply seems to have worked"); + let st = { st with fuel = st.fuel - 1 } in + k st) + +let local (st:st_t) (g:tc_goal) (k : st_t -> Tac unit) () : Tac unit = + debug (fun () -> "local, goal = " ^ term_to_string g.g); + let bs = vars_of_env (cur_env ()) in + first (fun (b:binding) -> + trywith st g (pack (Tv_Var b)) b.sort k) + bs + +let global (st:st_t) (g:tc_goal) (k : st_t -> Tac unit) () : Tac unit = + debug (fun () -> "global, goal = " ^ term_to_string g.g); + first (fun (se, fv) -> + let typ = tc (cur_env()) (pack (Tv_FVar fv)) in // FIXME: a bit slow.. but at least it's a simple fvar + trywith st g (pack (Tv_FVar fv)) typ k) + st.glb + +exception Next +let try_trivial (st:st_t) (g:tc_goal) (k : st_t -> Tac unit) () : Tac unit = + match g.g with + | Tv_FVar fv -> + if implode_qn (inspect_fv fv) = `%unit + then exact (`()) + else raise Next + | _ -> raise Next + +let ( <|> ) (t1 t2 : unit -> Tac 'a) : unit -> Tac 'a = + fun () -> + try t1 () with _ -> t2 () + +(* + tcresolve': the main typeclass instantiation function. + + It mostly creates a tc_goal record and calls the functions above. +*) +let rec tcresolve' (st:st_t) : Tac unit = + if st.fuel <= 0 then + raise NoInst; + debug (fun () -> "fuel = " ^ string_of_int st.fuel); + + maybe_intros(); + let g = cur_goal () in + + (* Try to detect loops *) + if L.existsb (Reflection.TermEq.Simple.term_eq g) st.seen then ( + debug (fun () -> "loop"); + raise NoInst + ); + + match hua g with + | None -> + debug (fun () -> "Goal does not look like a typeclass"); + raise NoInst + + | Some (head_fv, us, args) -> + (* ^ Maybe should check is this really is a class too? *) + let c_se = lookup_typ (cur_env ()) (inspect_fv head_fv) in + let fundeps = match c_se with + | None -> None + | Some se -> extract_fundeps se + in + + let args_and_uvars = args |> Util.map (fun (a, q) -> (a, q), Cons? (free_uvars a )) in + let st = { st with seen = g :: st.seen } in + let g = { g; head_fv; c_se; fundeps; args_and_uvars } in + (try_trivial st g tcresolve' <|> + local st g tcresolve' <|> + global st g tcresolve') () + +[@@plugin] +let tcresolve () : Tac unit = + let open FStar.Pprint in + debug (fun () -> dump ""; "tcresolve entry point"); + norm []; + let w = cur_witness () in + set_dump_on_failure false; (* We report our own errors *) + + // Not using intros () directly, since that unfolds aggressively if the term is not a literal arrow + maybe_intros (); + + // Fetch a list of all instances in scope right now. + // TODO: turn this into a hash map per class, ideally one that can be + // persisted across calss. + let glb = lookup_attr_ses (`tcinstance) (cur_env ()) in + let glb = glb |> Tactics.Util.concatMap (fun se -> + sigelt_name se |> Tactics.Util.concatMap (fun fv -> [(se, fv)]) + ) + in + let st0 = { + seen = []; + glb = glb; + fuel = 16; + } in + try + tcresolve' st0; + debug (fun () -> "Solved to:\n\t" ^ term_to_string w) + with + | NoInst -> + let open FStar.Pprint in + fail_doc [ + prefix 2 1 (text "Could not solve typeclass constraint") + (bquotes (term_to_doc (cur_goal ()))); + ] + | TacticFailure (msg,r) -> + fail_doc_at ([text "Typeclass resolution failed."] @ msg) r + | e -> raise e + +(**** 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 open FStar.Reflection.TermEq.Simple in + let has_no_method_attr (b:binder) : bool = + L.existsb (term_eq (`no_method)) b.attrs + in + bs |> L.filter (fun b -> not (has_no_method_attr b)) + +private +let binder_set_meta (b : binder) (t : term) : binder = + { b with qual = Q_Meta t } + +[@@plugin] +let mk_class (nm:string) : Tac decls = + let ns = explode_qn nm in + let r = lookup_typ (top_env ()) ns in + guard (Some? r); + let Some se = r 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 {nm=name;univs=us;params;typ=ity;ctors} = sv in + debug (fun () -> "params = " ^ Tactics.Util.string_of_list binder_to_string params); + debug (fun () -> "got it, name = " ^ implode_qn name); + debug (fun () -> "got it, ity = " ^ term_to_string ity); + let ctor_name = last name in + // Must have a single constructor + guard (L.length ctors = 1); + let [(c_name, ty)] = ctors in + debug (fun () -> "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 *) + + debug (fun () -> "params = " ^ Tactics.Util.string_of_list binder_to_string params); + debug (fun () -> "n_params = " ^ string_of_int (List.Tot.Base.length params)); + debug (fun () -> "n_univs = " ^ string_of_int (List.Tot.Base.length us)); + debug (fun () -> "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 *) + filter_no_method_binders bs + |> Tactics.Util.map (fun (b:binder) -> + let s = name_of_binder b in + debug (fun () -> "processing method " ^ s); + let ns = cur_module () in + let sfv = pack_fv (ns @ [s]) in + let dbv = fresh_namedv_named "d" in + let tcr = (`tcresolve) in + 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_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} -> lookup_lb lbs proj_name + | _ -> fail "mk_class: proj not Sg_Let?" + in + debug (fun () -> "proj_ty = " ^ term_to_string proj_lb.lb_typ); + + let ty = + 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 b1 = binder_set_meta b1 tcr in + mk_arr (ps@(b1::bs')) cod + in + 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 + debug (fun () -> "def = " ^ term_to_string def); + debug (fun () -> "ty = " ^ term_to_string ty); + + let ty : term = ty in + let def : term = def in + let sfv : fv = sfv 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 se = set_sigelt_attrs b.attrs se in + //debug (fun () -> "trying to return : " ^ term_to_string (quote se)); + se + ) diff --git a/stage0/ulib/FStar.Tactics.Typeclasses.fsti b/stage0/ulib/FStar.Tactics.Typeclasses.fsti new file mode 100644 index 00000000000..eac4b77fc7b --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Typeclasses.fsti @@ -0,0 +1,50 @@ +(* + 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.Stubs.Reflection.Types (* for `decls` *) + +(* The attribute that marks classes *) +val tcclass : unit + +(* The attribute that marks instances *) +val tcinstance : unit + +(* Functional dependencies of a class. It takes an int list +representing the arguments of the class (starting from 0, both explicit +and implicit alike) that are dependent on the rest. When trying to apply +an instance, if the fundeps are unresolved (i.e. contain uvars) but the +other arguments do not, we will apply the instance and instantiate the +fundeps. *) +val fundeps : list int -> 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 *) +[@@tcnorm] +unfold let solve (#a:Type) (#[tcresolve ()] ev : a) : Tot a = ev diff --git a/stage0/ulib/FStar.Tactics.Util.fst b/stage0/ulib/FStar.Tactics.Util.fst new file mode 100644 index 00000000000..25fb09dafd6 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Util.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.Tactics.Util + +open FStar.Tactics.Effect +open FStar.List.Tot.Base + +(* Tac list functions, since there's no effect polymorphism *) +val map: ('a -> Tac 'b) -> list 'a -> Tac (list 'b) +let rec map f x = match x with + | [] -> [] + | a::tl -> f a::map f tl + +let rec concatMap (f : 'a -> Tac (list 'b)) (l : list 'a) : Tac (list 'b) = + match l with + | [] -> [] + | x::xs -> f x @ concatMap f xs + +val __mapi: nat -> (nat -> 'a -> Tac 'b) -> list 'a -> Tac (list 'b) +let rec __mapi i f x = match x with + | [] -> [] + | a::tl -> f i a::__mapi (i+1) f tl + +val mapi: (nat -> 'a -> Tac 'b) -> list 'a -> Tac (list 'b) +let mapi f l = __mapi 0 f l + +val iter : ('a -> Tac unit) -> list 'a -> Tac unit +let rec iter f x = match x with + | [] -> () + | a::tl -> f a; iter f tl + +val iteri_aux: int -> (int -> 'a -> Tac unit) -> list 'a -> Tac unit +let rec iteri_aux i f x = match x with + | [] -> () + | a::tl -> f i a; iteri_aux (i+1) f tl + +val iteri: (int -> 'a -> Tac unit) -> list 'a -> Tac unit +let iteri f x = iteri_aux 0 f x + +val fold_left: ('a -> 'b -> Tac 'a) -> 'a -> l:list 'b -> Tac 'a +let rec fold_left f x l = match l with + | [] -> x + | hd::tl -> fold_left f (f x hd) tl + +val fold_right: ('a -> 'b -> Tac 'b) -> list 'a -> 'b -> Tac 'b +let rec fold_right f l x = match l with + | [] -> x + | hd::tl -> f hd (fold_right f tl x) + +(* There's no unconditionally total zip like this in Tot.Base, why? Anyway use this *) +val zip : (#a:Type) -> (#b:Type) -> list a -> list b -> Tac (list (a & b)) +let rec zip #a #b l1 l2 = match l1, l2 with + | x::xs, y::ys -> (x,y) :: (zip xs ys) + | _ -> [] + +val filter: ('a -> Tac bool) -> list 'a -> Tac (list 'a) +let rec filter f = function + | [] -> [] + | hd::tl -> if f hd then hd::(filter f tl) else filter f tl + +private let rec filter_map_acc (f:'a -> Tac (option 'b)) (acc:list 'b) (l:list 'a) + : Tac (list 'b) = + match l with + | [] -> + rev acc + | hd :: tl -> + match f hd with + | Some hd -> + filter_map_acc f (hd :: acc) tl + | None -> + filter_map_acc f acc tl + +let filter_map (f:'a -> Tac (option 'b)) (l:list 'a) : Tac (list 'b) = + filter_map_acc f [] l + +val tryPick: ('a -> Tac (option 'b)) -> list 'a -> Tac (option 'b) +let rec tryPick f l = match l with + | [] -> None + | hd::tl -> + match f hd with + | Some x -> Some x + | None -> tryPick f tl + +let map_opt (f:'a -> Tac 'b) (x:option 'a) : Tac (option 'b) = + match x with + | None -> None + | Some x -> Some (f x) + +(** Apply a given tactic [t] repeatedly [n] times and return the results. *) +let rec repeatn (#a:Type) (n : int) (t : unit -> Tac a) : Tac (l:list a{n < 0 \/ length l == n}) = + if n <= 0 + then [] + else t () :: repeatn (n - 1) t + +let rec tryFind (#a:Type) (f:a -> Tac bool) (l:list a) : Tac bool = + match l with + | [] -> false + | hd::tl -> + if f hd then true + else tryFind f tl + +let rec fold_left2 (#a #b #c:Type) (f:a -> b -> c -> Tac a) (x:a) (l1:list b) (l2:list c) + : TacH a + (requires fun _ -> length l1 == length l2) + (ensures fun _ _ -> True) = + match l1, l2 with + | [], [] -> 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 + +let string_of_option #a (f : a -> Tac string) (o : option a) : Tac string = + match o with + | Some x -> "Some " ^ f x + | None -> "None" diff --git a/stage0/ulib/FStar.Tactics.V1.Derived.fst b/stage0/ulib/FStar.Tactics.V1.Derived.fst new file mode 100644 index 00000000000..a4478fa47b2 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.Derived.fst @@ -0,0 +1,943 @@ +(* + 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.Effect +open FStar.Stubs.Tactics.Types +open FStar.Stubs.Tactics.Result +open FStar.Tactics.Util +open FStar.Stubs.Tactics.V1.Builtins +open FStar.Tactics.V1.SyntaxHelpers +open FStar.Stubs.VConfig +include FStar.Tactics.Names + +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 (mkmsg m, None)) ps)) + = raise #a (TacticFailure (mkmsg m, None)) + +let fail_silently (#a:Type) (m:string) + : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure (mkmsg m, None)) ps)) + = set_urgency 0; + raise #a (TacticFailure (mkmsg m, None)) + +(** 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 [--debug 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 = + Stubs.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 + +(** [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/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fst b/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fst new file mode 100644 index 00000000000..6c659076957 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fst @@ -0,0 +1,86 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Tactics.V1.Logic.Lemmas + +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))) + +let split_lem #a #b sa sb = () + +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)) + +let __lemma_to_squash #req #ens (_ : squash req) (h : (unit -> Lemma (requires req) (ensures ens))) : squash ens = + h () + +let vbind #p #q sq f = FStar.Classical.give_witness_from_squash (FStar.Squash.bind_squash sq f) + +let or_ind #p #q #phi o l r = () + +let bool_ind b phi l r = () + +let or_intro_1 #p #q _ = () + +let or_intro_2 #p #q _ = () + +let __and_elim #p #q #phi p_and_q f = () + +let __and_elim' #p #q #phi p_and_q f = () + +let __witness #a x #p _ = () + +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) + +let __forall_inst #t (#pred : t -> Type0) (h : (forall x. pred x)) (x : t) : squash (pred x) = + () + +let __forall_inst_sq #t (#pred : t -> Type0) (h : squash (forall x. pred x)) (x : t) : squash (pred x) = + () + +let sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : + Lemma (requires (forall x. p x ==> phi)) + (ensures phi) = () + +let lemma_from_squash #a #b f x = let _ = f x in assert (b x) + +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' + +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' + +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' + +let revert_squash #a #b s x = let x : (_:unit{forall x. b x}) = s in () \ No newline at end of file diff --git a/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fsti b/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fsti new file mode 100644 index 00000000000..ac111b0f954 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.Logic.Lemmas.fsti @@ -0,0 +1,82 @@ +(* + 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.Lemmas + +val fa_intro_lem (#a:Type) (#p:a -> Type) (f:(x:a -> squash (p x))) : Lemma (forall (x:a). p x) + +val split_lem : (#a:Type) -> (#b:Type) -> + squash a -> squash b -> Lemma (a /\ b) +val imp_intro_lem : (#a:Type) -> (#b : Type) -> + (a -> squash b) -> + Lemma (a ==> b) +val __lemma_to_squash #req #ens (_ : squash req) (h : (unit -> Lemma (requires req) (ensures ens))) : squash ens + +val vbind : (#p:Type) -> (#q:Type) -> squash p -> (p -> squash q) -> Lemma q + +val or_ind : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p \/ q) -> + (squash (p ==> phi)) -> + (squash (q ==> phi)) -> + Lemma phi + +val bool_ind : (b:bool) -> (phi:Type) -> (squash (b == true ==> phi)) -> + (squash (b == false ==> phi)) -> + Lemma phi + +val or_intro_1 : (#p:Type) -> (#q:Type) -> squash p -> Lemma (p \/ q) + +val or_intro_2 : (#p:Type) -> (#q:Type) -> squash q -> Lemma (p \/ q) + +val __and_elim : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi + +val __and_elim' : (#p:Type) -> (#q:Type) -> (#phi:Type) -> + squash (p /\ q) -> + squash (p ==> q ==> phi) -> + Lemma phi + +val __witness : (#a:Type) -> (x:a) -> (#p:(a -> Type)) -> squash (p x) -> squash (exists (x:a). p x) + +val __elim_exists' #t (#pred : t -> Type0) #goal (h : (exists x. pred x)) + (k : (x:t -> pred x -> squash goal)) : squash goal + +val __forall_inst #t (#pred : t -> Type0) (h : (forall x. pred x)) (x : t) : squash (pred x) + +val __forall_inst_sq #t (#pred : t -> Type0) (h : squash (forall x. pred x)) (x : t) : squash (pred x) + +val sklem0 (#a:Type) (#p : a -> Type0) ($v : (exists (x:a). p x)) (phi:Type0) : + Lemma (requires (forall x. p x ==> phi)) + (ensures phi) + +val lemma_from_squash : #a:Type -> #b:(a -> Type) -> (x:a -> squash (b x)) -> x:a -> Lemma (b x) + +val lem1_fa #a #pre #post + ($lem : (x:a -> Lemma (requires pre x) (ensures post x))) : + Lemma (forall (x:a). pre x ==> post x) + +val 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) + +val 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) + +val revert_squash : (#a:Type) -> (#b : (a -> Type)) -> + (squash (forall (x:a). b x)) -> + x:a -> squash (b x) diff --git a/stage0/ulib/FStar.Tactics.V1.Logic.fst b/stage0/ulib/FStar.Tactics.V1.Logic.fst new file mode 100644 index 00000000000..de2b2c293c5 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.Logic.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.Tactics.V1.Logic + +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.V1.Builtins +open FStar.Tactics.V1.Derived +open FStar.Tactics.Util +open FStar.Reflection.V1 +open FStar.Reflection.V1.Formula + +open FStar.Tactics.V1.Logic.Lemmas + +(** 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 + +(** 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 + +(** Split a conjunction into two goals. *) +let split () : Tac unit = + try apply_lemma (`split_lem) + with | _ -> fail "Could not split goal" + +(** 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) + +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 + +(** 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)) + +let cases_or (o:term) : Tac unit = + apply_lemma (mk_e_app (`or_ind) [o]) + +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 ()) + +let left () : Tac unit = + apply_lemma (`or_intro_1) + +let right () : Tac unit = + apply_lemma (`or_intro_2) + +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 ()) + +let witness (t : term) : Tac unit = + apply_raw (`__witness); + exact t + +(* 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) + +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 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 + +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 () + +let easy #a #x = x + +(** 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/stage0/ulib/FStar.Tactics.V1.Logic.fsti b/stage0/ulib/FStar.Tactics.V1.Logic.fsti new file mode 100644 index 00000000000..8b2ebf89a32 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.Logic.fsti @@ -0,0 +1,151 @@ +(* + 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.Reflection.V1 +open FStar.Reflection.V1.Formula +open FStar.Tactics.V1.Logic.Lemmas {} (* bring lemmas into TC scope *) + +(* Repeated to avoid importing FStar.Tactics.V1.Derived. *) +private let cur_goal () : Tac typ = + let open FStar.Stubs.Tactics.Types in + let open FStar.Stubs.Tactics.V1.Builtins in + match goals_of (get ()) with + | g::_ -> goal_type g + | _ -> raise (TacticFailure (mkmsg "no more goals", None)) + +(** Returns the current goal as a [formula]. *) +let cur_formula () : Tac formula = term_as_formula (cur_goal ()) + +(** Revert an introduced binder as a forall. *) +[@@plugin] +val l_revert () : Tac unit + +(** Repeated [l_revert]. *) +[@@plugin] +val l_revert_all (bs:binders) : Tac unit + +(** Introduce a forall. *) +[@@plugin] +val forall_intro () : Tac binder + +(** Introduce a forall, with some given name. *) +[@@plugin] +val forall_intro_as (s:string) : Tac binder + +(** Repeated [forall_intro]. *) +[@@plugin] +val forall_intros () : Tac binders + +(** Split a conjunction into two goals. *) +[@@plugin] +val split () : Tac unit + +(** Introduce an implication. *) +[@@plugin] +val implies_intro () : Tac binder + +[@@plugin] +val implies_intro_as (s:string) : Tac binder + +(** Repeated [implies_intro]. *) +[@@plugin] +val implies_intros () : Tac binders + +(** "Logical" intro: introduce a forall or an implication. *) +[@@plugin] +val l_intro () : Tac binder + +(** Repeated [l]. *) +[@@plugin] +val l_intros () : Tac (list binder) + +[@@plugin] +val squash_intro () : Tac unit + +[@@plugin] +val l_exact (t:term) : Tac unit + +[@@plugin] +val hyp (b:binder) : Tac unit + +[@@plugin] +val pose_lemma (t : term) : Tac binder + +[@@plugin] +val explode () : Tac unit + +[@@plugin] +val simplify_eq_implication () : Tac unit + +[@@plugin] +val rewrite_all_equalities () : Tac unit + +[@@plugin] +val unfold_definition_and_simplify_eq (tm:term) : Tac unit + +(** A tactic to unsquash a hypothesis. Perhaps you are looking +for [unsquash_term]. *) +[@@plugin] +val unsquash (t:term) : Tac term + +[@@plugin] +val cases_or (o:term) : Tac unit + +[@@plugin] +val cases_bool (b:term) : Tac unit + +[@@plugin] +val left () : Tac unit + +[@@plugin] +val right () : Tac unit + +[@@plugin] +val and_elim (t : term) : Tac unit + +[@@plugin] +val destruct_and (t : term) : Tac (binder & binder) + +[@@plugin] +val witness (t : term) : Tac unit + +(* returns witness and proof as binders *) +[@@plugin] +val elim_exists (t : term) : Tac (binder & binder) + +[@@plugin] +val instantiate (fa : term) (x : term) : Tac binder + +[@@plugin] +val instantiate_as (fa : term) (x : term) (s : string) : Tac binder + +[@@plugin] +val skolem () : Tac (list (binders & binder)) + +[@@plugin] +val easy_fill () : Tac unit + +[@@plugin] +val easy : #a:Type -> (#[easy_fill ()] _ : a) -> a + +(** 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. *) +[@@plugin] +val using_lemma (t : term) : Tac binder diff --git a/stage0/ulib/FStar.Tactics.V1.SyntaxHelpers.fst b/stage0/ulib/FStar.Tactics.V1.SyntaxHelpers.fst new file mode 100644 index 00000000000..919809cffaf --- /dev/null +++ b/stage0/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.Stubs.Tactics.Types +open FStar.Stubs.Tactics.V1.Builtins + +(* 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 (mkmsg m, None)) + +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/stage0/ulib/FStar.Tactics.V1.fsti b/stage0/ulib/FStar.Tactics.V1.fsti new file mode 100644 index 00000000000..dfa6041bc38 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V1.fsti @@ -0,0 +1,37 @@ +(* + 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.Stubs.Reflection.Types +include FStar.Reflection.Const +include FStar.Stubs.Reflection.V1.Data +include FStar.Stubs.Reflection.V1.Builtins +include FStar.Reflection.V1.Derived +include FStar.Reflection.V1.Formula +include FStar.Reflection.V1.Compare + +include FStar.Stubs.Tactics.Types +include FStar.Tactics.Effect +include FStar.Stubs.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 + +include FStar.Tactics.SMT (* Version agnostic *) diff --git a/stage0/ulib/FStar.Tactics.V2.Bare.fsti b/stage0/ulib/FStar.Tactics.V2.Bare.fsti new file mode 100644 index 00000000000..8cffaa8dd62 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.Bare.fsti @@ -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.V2.Bare + +include FStar.Stubs.Reflection.Types +include FStar.Reflection.V2 +include FStar.Reflection.V2.Formula + +include FStar.Stubs.Tactics.Types +include FStar.Tactics.Effect +include FStar.Stubs.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.SMT + +include FStar.Reflection.TermEq.Simple diff --git a/stage0/ulib/FStar.Tactics.V2.Derived.fst b/stage0/ulib/FStar.Tactics.V2.Derived.fst new file mode 100644 index 00000000000..06f6a002612 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.Derived.fst @@ -0,0 +1,946 @@ +(* + 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.Effect +open FStar.Stubs.Tactics.Types +open FStar.Stubs.Tactics.Result +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Tactics.Util +open FStar.Tactics.V2.SyntaxHelpers +open FStar.Stubs.VConfig +open FStar.Tactics.NamedView +open FStar.Tactics.V2.SyntaxCoercions +include FStar.Tactics.Names + +module L = FStar.List.Tot.Base +module V = FStar.Tactics.Visit +private let (@) = L.op_At + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +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_doc_at (#a:Type) (m:error_message) (r:option range) + : TAC a (fun ps post -> post (Failed (TacticFailure (m, r)) ps)) + = raise #a (TacticFailure (m, r)) + +let fail_doc (#a:Type) (m:error_message) + : TAC a (fun ps post -> post (Failed (TacticFailure (m, None)) ps)) + = raise #a (TacticFailure (m, None)) + +let fail_at (#a:Type) (m:string) (r:option range) + : TAC a (fun ps post -> post (Failed (TacticFailure (mkmsg m, r)) ps)) + = fail_doc_at (mkmsg m) r + +let fail (#a:Type) (m:string) + : TAC a (fun ps post -> post (Failed (TacticFailure (mkmsg m, None)) ps)) + = fail_at m None + +let fail_silently_doc (#a:Type) (m:error_message) + : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure (m, None)) ps)) + = set_urgency 0; + raise #a (TacticFailure (m, None)) + +let fail_silently (#a:Type) (m:string) + : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure (mkmsg m, None)) ps)) + = fail_silently_doc (mkmsg 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 [--debug 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 = + Stubs.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) = intros (-1) + +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]. Note: there is a primitive grewrite +which is likely a better choice. This in case it's useful for backwards +compatibility. *) +let __grewrite_derived (t1 t2 : term) : Tac unit = + let e = tcut (mk_sq_eq t1 t2) in + let e = pack (Tv_Var e) in + pointwise (fun () -> + let (lhs, rhs) : term & term = + match term_as_formula (cur_goal()) with + | Comp (Eq _) lhs rhs -> + lhs, rhs + | _ -> + raise SKIP + in + if Tv_Uvar? lhs then + trefl () (* If the LHS is a uvar, do nothing, so we do not instantiate it. *) + else if not (term_eq lhs t1) then + raise SKIP + 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_var] 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_var (-1)] +will return the last binder, [nth_var (-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 + +(** [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' + +(* t_check_equiv wrappers. *) +let check_equiv g t0 t1 = t_check_equiv true true g t0 t1 +let check_equiv_nosmt g t0 t1 = t_check_equiv false false g t0 t1 diff --git a/stage0/ulib/FStar.Tactics.V2.Logic.fst b/stage0/ulib/FStar.Tactics.V2.Logic.fst new file mode 100644 index 00000000000..16ab7413ae9 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.Logic.fst @@ -0,0 +1,267 @@ +(* + 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.Stubs.Tactics.V2.Builtins +open FStar.Tactics.V2.Derived +open FStar.Tactics.V2.SyntaxCoercions +open FStar.Tactics.NamedView +open FStar.Tactics.Util + +open FStar.Tactics.V1.Logic.Lemmas + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +(** 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 + +(** 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 + +(** Split a conjunction into two goals. *) +let split () : Tac unit = + try apply_lemma (`split_lem) + with | _ -> fail "Could not split goal" + +(** 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) + +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 + +(** 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) + +let cases_or (o:term) : Tac unit = + apply_lemma (mk_e_app (`or_ind) [o]) + +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 ()) + +let left () : Tac unit = + apply_lemma (`or_intro_1) + +let right () : Tac unit = + apply_lemma (`or_intro_2) + +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 ()) + +let witness (t : term) : Tac unit = + apply_raw (`__witness); + exact t + +(* 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) + +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 + +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 + +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 () + +let easy #a #x = x + +(** 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/stage0/ulib/FStar.Tactics.V2.Logic.fsti b/stage0/ulib/FStar.Tactics.V2.Logic.fsti new file mode 100644 index 00000000000..4898bdad08c --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.Logic.fsti @@ -0,0 +1,166 @@ +(* + 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.Tactics.Effect +open FStar.Reflection.V2 +open FStar.Reflection.V2.Formula +open FStar.Tactics.NamedView +open FStar.Tactics.V1.Logic.Lemmas {} (* bring lemmas into TC scope *) + +(* Repeated to avoid importing FStar.Tactics.V1.Derived. *) +private let cur_goal () : Tac typ = + let open FStar.Stubs.Tactics.Types in + let open FStar.Stubs.Tactics.V2.Builtins in + match goals_of (get ()) with + | g::_ -> goal_type g + | _ -> raise (TacticFailure (mkmsg "no more goals", None)) + +(** Returns the current goal as a [formula]. *) +let cur_formula () : Tac formula = term_as_formula (cur_goal ()) + +(** Revert an introduced binder as a forall. *) +[@@plugin] +val l_revert () : Tac unit + +(** Repeated [l_revert]. *) +[@@plugin] +val l_revert_all (bs:list binding) : Tac unit + +(** Introduce a forall. *) +[@@plugin] +val forall_intro () : Tac binding + +(** Introduce a forall, with some given name. *) +[@@plugin] +val forall_intro_as (s:string) : Tac binding + +(** Repeated [forall_intro]. *) +[@@plugin] +val forall_intros () : Tac (list binding) + +(** Split a conjunction into two goals. *) +[@@plugin] +val split () : Tac unit + +(** Introduce an implication. *) +[@@plugin] +val implies_intro () : Tac binding + +[@@plugin] +val implies_intro_as (s:string) : Tac binding + +(** Repeated [implies_intro]. *) +[@@plugin] +val implies_intros () : Tac (list binding) + +(** "Logical" intro: introduce a forall or an implication. *) +[@@plugin] +val l_intro () : Tac binding + +(** Repeated [l]. *) +[@@plugin] +val l_intros () : Tac (list binding) + +[@@plugin] +val squash_intro () : Tac unit + +[@@plugin] +val l_exact (t:term) : Tac unit + +// FIXME: should this take a binding? It's less general... +// but usually what we want. Coercions could help. +[@@plugin] +val hyp (x:namedv) : Tac unit + +[@@plugin] +val pose_lemma (t : term) : Tac binding + +[@@plugin] +val explode () : Tac unit + +[@@plugin] +val simplify_eq_implication () : Tac unit + +[@@plugin] +val rewrite_all_equalities () : Tac unit + +[@@plugin] +val unfold_definition_and_simplify_eq (tm:term) : Tac unit + +(** 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 +*) +[@@plugin] +val unsquash (t : term) : Tac term + +[@@plugin] +val cases_or (o:term) : Tac unit + +[@@plugin] +val cases_bool (b:term) : Tac unit + +[@@plugin] +val left () : Tac unit + +[@@plugin] +val right () : Tac unit + +[@@plugin] +val and_elim (t : term) : Tac unit + +[@@plugin] +val destruct_and (t : term) : Tac (binding & binding) + +[@@plugin] +val witness (t : term) : Tac unit + +(* returns witness and proof as binders *) +[@@plugin] +val elim_exists (t : term) : Tac (binding & binding) + +[@@plugin] +val instantiate (fa : term) (x : term) : Tac binding + +[@@plugin] +val instantiate_as (fa : term) (x : term) (s : string) : Tac binding + +[@@plugin] +val skolem () : Tac (list (list binding & binding)) + +[@@plugin] +val easy_fill () : Tac unit + +(* We mark this as a plugin so it can reduce. Some kind of 'transparent' attribute +would be better. `inline_for_extraction` is almost that? *) +[@@plugin] +val easy : #a:Type -> (#[easy_fill ()] _ : a) -> a + +(** 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. *) +[@@plugin] +val using_lemma (t : term) : Tac binding diff --git a/stage0/ulib/FStar.Tactics.V2.SyntaxCoercions.fst b/stage0/ulib/FStar.Tactics.V2.SyntaxCoercions.fst new file mode 100644 index 00000000000..c25c9670a7a --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.SyntaxCoercions.fst @@ -0,0 +1,33 @@ +module FStar.Tactics.V2.SyntaxCoercions + +open FStar.Stubs.Tactics.V2.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/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fst b/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fst new file mode 100644 index 00000000000..27f0ff9f74c --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fst @@ -0,0 +1,93 @@ +module FStar.Tactics.V2.SyntaxHelpers + +open FStar.Reflection.V2 +open FStar.Tactics.Effect +open FStar.Stubs.Tactics.Types +open FStar.Stubs.Tactics.V2.Builtins +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 + +let collect_arr_bs t = + let (bs, c) = collect_arr' [] (C_Total t) in + (List.Tot.Base.rev bs, c) + +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) + +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 (mkmsg m, None)) + +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' [] + +(* Destruct an application into [h]ead fv, [u]niverses, and [a]rguments. *) +let hua (t:term) : Tac (option (fv & universes & list argv)) = + let hd, args = collect_app t in + match inspect hd with + | Tv_FVar fv -> Some (fv, [], args) + | Tv_UInst fv us -> Some (fv, us, args) + | _ -> None diff --git a/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fsti b/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fsti new file mode 100644 index 00000000000..a9f86886d72 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.SyntaxHelpers.fsti @@ -0,0 +1,37 @@ +module FStar.Tactics.V2.SyntaxHelpers + +open FStar.Reflection.V2 +open FStar.Tactics.Effect +open FStar.Tactics.NamedView + +(* These are fully-named variants of functions found in FStar.Reflection *) + +[@@plugin] +val collect_arr_bs : typ -> Tac (list binder & comp) + +[@@plugin] +val collect_arr : typ -> Tac (list typ & comp) + +[@@plugin] +val collect_abs : term -> Tac (list binder & term) + +[@@plugin] +val mk_arr (bs: list binder) (cod : comp) : Tac term + +[@@plugin] +val mk_tot_arr (bs: list binder) (cod : term) : Tac term + +[@@plugin] +val lookup_lb (lbs:list letbinding) (nm:name) : Tac letbinding + +[@@plugin] +val inspect_unascribe (t:term) : Tac (tv:term_view{notAscription tv}) + +(* Helpers for dealing with nested applications and arrows *) + +[@@plugin] +val collect_app (t:term) : Tac (term & list argv) + +(* Destruct an application into [h]ead fv, [u]niverses, and [a]rguments. *) +[@@plugin] +val hua (t:term) : Tac (option (fv & universes & list argv)) diff --git a/stage0/ulib/FStar.Tactics.V2.fsti b/stage0/ulib/FStar.Tactics.V2.fsti new file mode 100644 index 00000000000..5376f07e4b0 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.V2.fsti @@ -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.Tactics.V2 + +(* The bare version, plus some particular things we expose to users +for convenience. Crucially, mapply must be here, so we can open +tactics.v2.bare in typeclasses, and typeclasses in mapply, and not +trigger a cycle. *) +include FStar.Tactics.V2.Bare +include FStar.Tactics.MApply0 +include FStar.Tactics.MApply diff --git a/stage0/ulib/FStar.Tactics.Visit.fst b/stage0/ulib/FStar.Tactics.Visit.fst new file mode 100644 index 00000000000..80e146821c7 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.Visit.fst @@ -0,0 +1,136 @@ +(* + 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.Visit + +(* Visit a term and transform it step by step. *) + +open FStar.Stubs.Reflection.Types +open FStar.Stubs.Reflection.V2.Data +open FStar.Stubs.Reflection.V2.Builtins +open FStar.Tactics.Effect +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 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 = + let tv = inspect_ln t in + let tv' = + match tv with + | Tv_FVar _ + | Tv_Var _ + | Tv_BVar _ + | Tv_UInst _ _ -> tv + + | Tv_Type u -> Tv_Type u + | Tv_Const c -> Tv_Const c + | Tv_Uvar i u -> Tv_Uvar i u + | Tv_Unknown -> Tv_Unknown + | Tv_Unsupp -> Tv_Unsupp + | Tv_Arrow b c -> + let b = on_sort_binder (visit_tm ff) b in + let c = visit_comp ff c in + Tv_Arrow b c + | Tv_Abs b t -> + let b = on_sort_binder (visit_tm ff) b in + let t = visit_tm ff t in + Tv_Abs b t + | Tv_App l (r, q) -> + let l = visit_tm ff l in + let r = visit_tm ff r in + Tv_App l (r, q) + | 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 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 def t + | Tv_Match sc ret_opt brs -> + let sc = visit_tm ff sc in + let ret_opt = map_opt (fun (b, asc) -> + let b = on_sort_binder (visit_tm ff) b in + let asc = + match asc with + | Inl t, tacopt, use_eq -> + Inl (visit_tm ff t), map_opt (visit_tm ff) tacopt, use_eq + | Inr c, tacopt, use_eq-> + Inr (visit_comp ff c), map_opt (visit_tm ff) tacopt, use_eq in + b, asc) ret_opt in + let brs = map (visit_br ff) brs in + Tv_Match sc ret_opt brs + | Tv_AscribedT e t topt use_eq -> + let e = visit_tm ff e in + let t = visit_tm ff t in + Tv_AscribedT e t topt use_eq + | Tv_AscribedC e c topt use_eq -> + let e = visit_tm ff e in + let c = visit_comp ff c in + Tv_AscribedC e c topt use_eq + in + ff (pack_ln tv') +and visit_br (ff : term -> Tac term) (b:branch) : Tac branch = + let (p, t) = b in + let p = visit_pat ff p in + let t = visit_tm ff t in + (p, t) +and visit_pat (ff : term -> Tac term) (p:pattern) : Tac pattern = + match p with + | 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' = + match cv with + | C_Total ret -> + let ret = visit_tm ff ret in + C_Total ret + + | C_GTotal ret -> + let ret = visit_tm ff ret in + C_GTotal ret + + | C_Lemma pre post pats -> + let pre = visit_tm ff pre in + let post = visit_tm ff post in + let pats = visit_tm ff pats in + C_Lemma pre post pats + + | C_Eff us eff res args decrs -> + let res = visit_tm ff res in + let args = map (fun (a, q) -> (visit_tm ff a, q)) args in + let decrs = map (visit_tm ff) decrs in + C_Eff us eff res args decrs + in + pack_comp cv' diff --git a/stage0/ulib/FStar.Tactics.fsti b/stage0/ulib/FStar.Tactics.fsti new file mode 100644 index 00000000000..feedb662246 --- /dev/null +++ b/stage0/ulib/FStar.Tactics.fsti @@ -0,0 +1,18 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Tactics + +include FStar.Tactics.V1 diff --git a/stage0/ulib/FStar.Tcp.fsti b/stage0/ulib/FStar.Tcp.fsti new file mode 100644 index 00000000000..7f3e7f87643 --- /dev/null +++ b/stage0/ulib/FStar.Tcp.fsti @@ -0,0 +1,58 @@ +(* + 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.Tcp + +open FStar.Bytes +open FStar.Error + +new val networkStream: eqtype +new val tcpListener: Type0 + +val set_nonblock: networkStream -> unit +val clear_nonblock: networkStream -> unit + +(* Server side *) + +val listen: string -> nat -> EXT tcpListener +val acceptTimeout: nat -> tcpListener -> EXT networkStream +val accept: tcpListener -> EXT networkStream +val stop: tcpListener -> EXT unit + +(* Client side *) + +val connectTimeout: nat -> string -> nat -> EXT networkStream +val connect: string -> nat -> EXT networkStream + +(* Input/Output *) + +// adding support for (potentially) non-blocking I/O +// NB for now, send *fails* on partial writes, and *loops* on EAGAIN/EWOULDBLOCK. + +type recv_result (max:nat) = + | RecvWouldBlock + | RecvError of string + | Received of b:bytes {length b <= max} +val recv_async: networkStream -> max:nat -> EXT (recv_result max) + +val recv: networkStream -> max:nat -> EXT (optResult string (b:bytes {length b <= max})) +val send: networkStream -> bytes -> EXT (optResult string unit) +val close: networkStream -> EXT unit + +(* Create a network stream from a given stream. + Only used by the application interface TLSharp. *) +(* assume val create: System.IO.Stream -> NetworkStream*) + + diff --git a/stage0/ulib/FStar.UInt.fst b/stage0/ulib/FStar.UInt.fst new file mode 100644 index 00000000000..a4cd0ca0bc3 --- /dev/null +++ b/stage0/ulib/FStar.UInt.fst @@ -0,0 +1,633 @@ +(* + 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.UInt + +(* NOTE: anything that you fix/update here should be reflected in [FStar.Int.fst], which is mostly + * a copy-paste of this module. *) + +open FStar.Mul +open FStar.BitVector +open FStar.Math.Lemmas + +let pow2_values x = + match x with + | 0 -> assert_norm (pow2 0 == 1) + | 1 -> assert_norm (pow2 1 == 2) + | 8 -> assert_norm (pow2 8 == 256) + | 16 -> assert_norm (pow2 16 == 65536) + | 31 -> assert_norm (pow2 31 == 2147483648) + | 32 -> assert_norm (pow2 32 == 4294967296) + | 63 -> assert_norm (pow2 63 == 9223372036854775808) + | 64 -> assert_norm (pow2 64 == 18446744073709551616) + | 128 -> assert_norm (pow2 128 = 0x100000000000000000000000000000000) + | _ -> () + +let incr_underspec #n a = + if a < max_int n then a + 1 else 0 + +let decr_underspec #n a = + if a > min_int n then a - 1 else 0 + +let add_underspec #n a b = + if fits (a+b) n then a + b else 0 + +let sub_underspec #n a b = + if fits (a-b) n then a - b else 0 + +let mul_underspec #n a b = + if fits (a*b) n then a * b else 0 + +#push-options "--fuel 0 --ifuel 0" +let lt_square_div_lt a b = () + +let div_underspec #n a b = + if fits (a / b) n then a / b else 0 +#pop-options + +let div_size #n a b = + FStar.Math.Lib.slash_decr_axiom a b; () + +open FStar.Seq + +let to_vec_lemma_1 #n a b = () + +let rec to_vec_lemma_2 #n a b = + if n = 0 then () else begin + assert(equal (slice (to_vec b) 0 (n - 1)) (to_vec #(n - 1) (b / 2))); + assert(equal (slice (to_vec a) 0 (n - 1)) (to_vec #(n - 1) (a / 2))); + to_vec_lemma_2 #(n - 1) (a / 2) (b / 2); + assert(a % 2 = (if index (to_vec a) (n - 1) then 1 else 0)); + assert(b % 2 = (if index (to_vec b) (n - 1) then 1 else 0)); + assert(a % 2 = b % 2) + end + +let rec inverse_aux #n vec i = + if i = n - 1 then + assert((from_vec vec) % 2 = (if index vec (n - 1) then 1 else 0)) + else inverse_aux #(n - 1) (slice vec 0 (n - 1)) i + +let inverse_vec_lemma #n vec = () + +let inverse_num_lemma #n num = to_vec_lemma_2 #n num (from_vec (to_vec num)) + +let from_vec_lemma_1 #n a b = () + +let from_vec_lemma_2 #n a b = inverse_vec_lemma a; inverse_vec_lemma b + +#push-options "--fuel 0 --ifuel 0" +let from_vec_aux #n a s1 s2 = + paren_mul_left (from_vec #s2 (slice a 0 s2)) (pow2 (s1 - s2)) (pow2 (n - s1)); + paren_mul_right (from_vec #s2 (slice a 0 s2)) (pow2 (s1 - s2)) (pow2 (n - s1)); + pow2_plus (s1 - s2) (n - s1) +#pop-options + +let seq_slice_lemma #n a s1 t1 s2 t2 = () + +#push-options "--initial_fuel 1 --max_fuel 1" +let rec from_vec_propriety #n a s = + if s = n - 1 then () else begin + from_vec_propriety #n a (s + 1); + from_vec_propriety #(s + 1) (slice a 0 (s + 1)) s; + seq_slice_lemma #n a 0 (s + 1) 0 s; + seq_slice_lemma #n a 0 (s + 1) s (s + 1); + from_vec_aux #n a (s + 1) s; + from_vec_propriety #(n - s) (slice a s n) 1; + seq_slice_lemma #n a s n 0 1; + seq_slice_lemma #n a s n 1 (n - s) + end +#pop-options + +let append_lemma #n #m a b = + assert(equal a (slice (append a b) 0 n)); + assert(equal b (slice (append a b) n (n + m))); + from_vec_propriety #(n + m) (append a b) n + +let slice_left_lemma #n a s = + from_vec_propriety #n a s; + division_addition_lemma (from_vec #(n - s) (slice a s n)) (pow2 (n - s)) (from_vec #s (slice a 0 s)); + small_division_lemma_1 (from_vec #(n - s) (slice a s n)) (pow2 (n - s)) + +let slice_right_lemma #n a s = + from_vec_propriety #n a (n - s); + modulo_addition_lemma (from_vec #s (slice a (n - s) n)) (pow2 s) (from_vec #(n - s) (slice a 0 (n - s))); + small_modulo_lemma_1 (from_vec #s (slice a (n - s) n)) (pow2 s) + +let rec zero_to_vec_lemma #n i = + if i = n - 1 then () else zero_to_vec_lemma #(n - 1) i + +let zero_from_vec_lemma #n = to_vec_lemma_2 (from_vec (zero_vec #n)) (zero n) + +let one_to_vec_lemma #n i = + if i = n - 1 then () else zero_to_vec_lemma #n i + +let rec pow2_to_vec_lemma #n p i = + if i = n - 1 then () + else if p = 0 then one_to_vec_lemma #n i + else pow2_to_vec_lemma #(n - 1) (p - 1) i + +let pow2_from_vec_lemma #n p = + to_vec_lemma_2 (from_vec (elem_vec #n p)) (pow2_n #n (n - p - 1)) + +let rec ones_to_vec_lemma #n i = + if i = n - 1 then () else ones_to_vec_lemma #(n - 1) i + +let ones_from_vec_lemma #n = + to_vec_lemma_2 (from_vec (ones_vec #n)) (ones n) + +let nth_lemma #n a b = + assert(forall (i:nat{i < n}). index (to_vec #n a) i = index (to_vec #n b) i); + to_vec_lemma_2 a b + +let zero_nth_lemma #n i = () + +let pow2_nth_lemma #n p i = () + +let one_nth_lemma #n i = () + +let ones_nth_lemma #n i = () + +let logand_definition #n a b i = () + +let logxor_definition #n a b i = () + +let logor_definition #n a b i = () + +let lognot_definition #n a i = () + +let logand_commutative #n a b = nth_lemma #n (logand #n a b) (logand #n b a) + +let logand_associative #n a b c = nth_lemma #n (logand #n (logand #n a b) c) (logand #n a (logand #n b c)) + +let logand_self #n a = nth_lemma #n (logand #n a a) a + +let logand_lemma_1 #n a = nth_lemma #n (logand #n a (zero n)) (zero n) + +let logand_lemma_2 #n a = nth_lemma #n (logand #n a (ones n)) a + +let rec subset_vec_le_lemma #n a b = match n with + | 1 -> () + | _ -> lemma_slice_subset_vec #n a b 0 (n-1); + subset_vec_le_lemma #(n-1) (slice a 0 (n-1)) (slice b 0 (n-1)) + +let logand_le #n a b = + let va = to_vec a in + let vb = to_vec b in + let vand = to_vec (logand a b) in + subset_vec_le_lemma #n vand va; + subset_vec_le_lemma #n vand vb + +let logxor_commutative #n a b = nth_lemma #n (logxor #n a b) (logxor #n b a) + +let logxor_associative #n a b c = nth_lemma #n (logxor #n (logxor #n a b) c) (logxor #n a (logxor #n b c)) + +let logxor_self #n a = nth_lemma #n (logxor #n a a) (zero n) + +let logxor_lemma_1 #n a = nth_lemma #n (logxor #n a (zero n)) a + +let logxor_lemma_2 #n a = nth_lemma #n (logxor #n a (ones n)) (lognot #n a) + +let xor_lemma _ _ = () + +let logxor_inv #n a b = + let open FStar.BitVector in + let open FStar.Seq in + let va = to_vec a in + let vb = to_vec b in + cut(forall (i:nat). i < n ==> index (logxor_vec #n va vb) i = (index va i <> index vb i)); + cut (forall (i:nat). {:pattern (index (logxor_vec (logxor_vec va vb) vb) i)} + i < n ==> index (logxor_vec (logxor_vec va vb) vb) i = (xor (xor (index va i) + (index vb i)) + (index vb i))); + cut (forall (i:nat). i < n ==> index (logxor_vec (logxor_vec va vb) vb) i = index va i); + Seq.lemma_eq_intro (logxor_vec (logxor_vec va vb) vb) va; + inverse_num_lemma a; inverse_num_lemma b + +let logxor_neq_nonzero #n a b = + let va = to_vec a in + let vb = to_vec b in + if logxor a b = 0 then + begin + let open FStar.Seq in + let f (i:nat{i < n}) : Lemma (not (nth #n 0 i)) = zero_nth_lemma #n i in + Classical.forall_intro f; + assert (forall (i:nat{i < n}). index va i = index vb i); + lemma_eq_intro va vb; + assert (from_vec va = from_vec vb) + end + +let logor_commutative #n a b = nth_lemma #n (logor #n a b) (logor #n b a) + +let logor_associative #n a b c = nth_lemma #n (logor #n (logor #n a b) c) (logor #n a (logor #n b c)) + +let logor_self #n a = nth_lemma #n (logor #n a a) a + +let logor_lemma_1 #n a = nth_lemma (logor #n a (zero n)) a + +let logor_lemma_2 #n a = nth_lemma (logor #n a (ones n)) (ones n) + +let rec superset_vec_ge_lemma #n a b = match n with + | 1 -> () + | _ -> lemma_slice_superset_vec #n a b 0 (n-1); + superset_vec_ge_lemma #(n-1) (slice a 0 (n-1)) (slice b 0 (n-1)) + +let logor_ge #n a b = + let va = to_vec a in + let vb = to_vec b in + let vor = to_vec (logor a b) in + superset_vec_ge_lemma #n vor va; + superset_vec_ge_lemma #n vor vb + +let lognot_self #n a = nth_lemma (lognot #n (lognot #n a)) a + +let lognot_lemma_1 #n = nth_lemma (lognot #n (zero n)) (ones n) + +val to_vec_mod_pow2: #n:nat -> a:uint_t n -> m:pos -> i:nat{n - m <= i /\ i < n} -> + Lemma (requires (a % pow2 m == 0)) + (ensures (index (to_vec a) i == false)) + [SMTPat (index (to_vec #n a) i); SMTPat (pow2 m)] +let rec to_vec_mod_pow2 #n a m i = + if i = n - 1 then + begin + lemma_index_app2 (to_vec #(n - 1) (a / 2)) (Seq.create 1 (a % 2 = 1)) i; + mod_mult_exact a 2 (pow2 (m - 1)) + end + else + begin + lemma_index_app1 (to_vec #(n - 1) (a / 2)) (Seq.create 1 (a % 2 = 1)) i; + assert (index (to_vec a) i == index (to_vec #(n - 1) (a / 2)) i); + mod_pow2_div2 a m; + to_vec_mod_pow2 #(n - 1) (a / 2) (m - 1) i + end + +val to_vec_lt_pow2: #n:nat -> a:uint_t n -> m:nat -> i:nat{i < n - m} -> + Lemma (requires (a < pow2 m)) + (ensures (index (to_vec a) i == false)) + [SMTPat (index (to_vec #n a) i); SMTPat (pow2 m)] +let rec to_vec_lt_pow2 #n a m i = + if n = 0 then () + else + if m = 0 then + assert (a == zero n) + else + begin + lemma_index_app1 (to_vec #(n - 1) (a / 2)) (Seq.create 1 (a % 2 = 1)) i; + assert (index (to_vec a) i == index (to_vec #(n - 1) (a / 2)) i); + to_vec_lt_pow2 #(n - 1) (a / 2) (m - 1) i + end + +(** Used in the next two lemmas *) +#push-options "--initial_fuel 0 --max_fuel 1 --z3rlimit 40" +let rec index_to_vec_ones #n m i = + let a = pow2 m - 1 in + pow2_le_compat n m; + if m = 0 then one_to_vec_lemma #n i + else if m = n then ones_to_vec_lemma #n i + else if i = n - 1 then () + else index_to_vec_ones #(n - 1) (m - 1) i +#pop-options + +let logor_disjoint #n a b m = + assert (a % pow2 m == 0); // To trigger pattern above + assert (forall (i:nat{n - m <= i /\ i < n}).{:pattern (index (to_vec a) i)} + index (to_vec a) i == false); + assert (b < pow2 m); // To trigger pattern above + assert (forall (i:nat{i < n - m}).{:pattern (index (to_vec b) i)} + index (to_vec b) i == false); + Seq.lemma_split (logor_vec (to_vec a) (to_vec b)) (n - m); + Seq.lemma_eq_intro + (logor_vec (to_vec a) (to_vec b)) + (append (slice (to_vec a) 0 (n - m)) (slice (to_vec b) (n - m) n)); + append_lemma #(n - m) #m (slice (to_vec a) 0 (n - m)) (slice (to_vec b) (n - m) n); + slice_left_lemma #n (to_vec a) (n - m); + div_exact_r a (pow2 m); + assert (from_vec #(n - m) (slice (to_vec a) 0 (n - m)) * pow2 m == a); + slice_right_lemma #n (to_vec b) m; + small_modulo_lemma_1 b (pow2 m); + assert (from_vec #m (slice (to_vec b) (n - m) n) == b) + +let logand_mask #n a m = + pow2_lt_compat n m; + Seq.lemma_split (logand_vec (to_vec a) (to_vec (pow2 m - 1))) (n - m); + Seq.lemma_eq_intro + (logand_vec (to_vec a) (to_vec (pow2 m - 1))) + (append (zero_vec #(n - m)) (slice (to_vec a) (n - m) n)); + append_lemma #(n - m) #m (zero_vec #(n - m)) (slice (to_vec a) (n - m) n); + calc (==) { + 0 * pow2 m + a % pow2 m; + == { } + 0 + a % pow2 m; + == { } + a % pow2 m; + }; + assert (0 * pow2 m + a % pow2 m == a % pow2 m); + assert (from_vec #(n - m) (zero_vec #(n - m)) == 0); + slice_right_lemma #n (to_vec a) m; + assert (from_vec #m (slice (to_vec a) (n - m) n) == a % pow2 m) + +let shift_left_lemma_1 #n a s i = () + +let shift_left_lemma_2 #n a s i = () + +let shift_right_lemma_1 #n a s i = () + +let shift_right_lemma_2 #n a s i = () + +let shift_left_logand_lemma #n a b s = nth_lemma (shift_left #n (logand #n a b) s) (logand #n (shift_left #n a s) (shift_left #n b s)) + +let shift_right_logand_lemma #n a b s = nth_lemma (shift_right #n (logand #n a b) s) (logand #n (shift_right #n a s) (shift_right #n b s)) + +let shift_left_logxor_lemma #n a b s = nth_lemma (shift_left #n (logxor #n a b) s) (logxor #n (shift_left #n a s) (shift_left #n b s)) + +let shift_right_logxor_lemma #n a b s = nth_lemma (shift_right #n (logxor #n a b) s) (logxor #n (shift_right #n a s) (shift_right #n b s)) + +let shift_left_logor_lemma #n a b s = nth_lemma (shift_left #n (logor #n a b) s) (logor #n (shift_left #n a s) (shift_left #n b s)) + +let shift_right_logor_lemma #n a b s = nth_lemma (shift_right #n (logor #n a b) s) (logor #n (shift_right #n a s) (shift_right #n b s)) + + +let shift_left_value_aux_1 #n a s = pow2_multiplication_modulo_lemma_1 a n s + +let shift_left_value_aux_2 #n a = + assert_norm(a * pow2 0 = a); + small_modulo_lemma_1 a (pow2 n) + +let shift_left_value_aux_3 #n a s = + append_lemma #(n - s) #s (slice (to_vec a) s n) (zero_vec #s); + slice_right_lemma #n (to_vec a) (n - s); + pow2_multiplication_modulo_lemma_2 a n s + +let shift_left_value_lemma #n a s = + if s >= n then shift_left_value_aux_1 #n a s + else if s = 0 then shift_left_value_aux_2 #n a + else shift_left_value_aux_3 #n a s + +let shift_right_value_aux_1 #n a s = + pow2_le_compat s n; + small_division_lemma_1 a (pow2 s) + +let shift_right_value_aux_2 #n a = assert_norm (pow2 0 == 1) + +#push-options "--z3rlimit 50" +let shift_right_value_aux_3 #n a s = + append_lemma #s #(n - s) (zero_vec #s) (slice (to_vec a) 0 (n - s)); + slice_left_lemma #n (to_vec a) (n - s) +#pop-options + +let shift_right_value_lemma #n a s = + if s >= n then shift_right_value_aux_1 #n a s + else if s = 0 then shift_right_value_aux_2 #n a + else shift_right_value_aux_3 #n a s + +#push-options "--z3rlimit 10" +let lemma_msb_pow2 #n a = if n = 1 then () else from_vec_propriety (to_vec a) 1 +#pop-options + +val plus_one_mod : p:pos -> a:nat -> + Lemma (requires (a < p /\ ((a + 1) % p == 0))) (ensures (a == p - 1)) +let plus_one_mod p a = () + +let lemma_minus_zero #n a = + if minus a = 0 then + begin + plus_one_mod (pow2 n) (lognot a); + lognot_self a; + logxor_self (ones n); + logxor_lemma_2 #n (ones n) + end + +#push-options "--z3rlimit 20 --fuel 1 --ifuel 0" +let lemma_msb_gte #n a b = + from_vec_propriety (to_vec a) 1; + from_vec_propriety (to_vec b) 1 +#pop-options + +(* Lemmas toward showing ~n + 1 = -a *) + +// #set-options "--initial_fuel 1 --max_fuel 1 --initial_ifuel 1 --max_ifuel 1" + +#push-options "--z3rlimit 80" +let lemma_uint_mod #n a = () +#pop-options + +let lemma_add_sub_cancel #n a b = + let ab = (a-b) % pow2 n in + let abb = (ab + b) % pow2 n in + let ab_mod = sub_mod a b in + let abb_mod = add_mod ab b in + let p = pow2 n in + lemma_uint_mod a; + assert (add_mod (sub_mod a b) b = add_mod ab_mod b); + assert (add_mod ab_mod b = (ab_mod + b) % p); + assert (add_mod ab_mod b = ((a-b) % p + b) % p); + FStar.Math.Lemmas.lemma_mod_plus_distr_l (a-b) b p; + assert (((a-b) + b) % p = (((a-b) % p) + b) % p); + assert (a % p = (((a-b) % p) + b) % p) + +let lemma_mod_sub_distr_l a b p = + let q = (a - (a % p)) / p in + FStar.Math.Lemmas.lemma_mod_spec2 a p; + FStar.Math.Lemmas.lemma_mod_plus (a % p - b) q p + +let lemma_sub_add_cancel #n a b = + let ab = (a+b) % pow2 n in + let abb = (ab - b) % pow2 n in + let ab_mod = add_mod a b in + let abb_mod = sub_mod ab b in + let p = pow2 n in + lemma_uint_mod a; + lemma_mod_sub_distr_l (a+b) b p + +let lemma_zero_extend #n a = + let hd0 = Seq.create 1 false in + let av = to_vec a in + let eav = Seq.append hd0 av in + let r = zero_extend a in + append_lemma #1 #n hd0 av; + assert (r = from_vec eav); + from_vec_propriety #(n+1) eav 1; + assert (r = a) + +#push-options "--z3rlimit 40" +let lemma_one_extend #n a = + let hd1 = Seq.create 1 true in + let av = to_vec a in + let eav = Seq.append hd1 av in + let r = one_extend a in + append_lemma #1 #n hd1 av; + assert (r = from_vec eav); + from_vec_propriety #(n+1) eav 1; + assert (r = pow2 n + a) +#pop-options + +#push-options "--fuel 1 --ifuel 0 --z3rlimit 40" +let lemma_lognot_zero_ext #n a = + let lhs = lognot #(n+1) a in + let rhs = pow2 n + (lognot #n a) in + + let av = to_vec a in + assert (Seq.length av = n); + let hd0 = Seq.create 1 false in + let hd1 = Seq.create 1 true in + let nav = to_vec (lognot a) in + let eav = Seq.append hd0 av in + + append_lemma #1 #n hd0 av; + assert (from_vec #(n+1) eav = op_Multiply (from_vec #1 hd0) (pow2 n) + from_vec av); + assert (op_Multiply (from_vec #1 hd0) (pow2 n) = 0); + assert (from_vec #(n+1) eav = from_vec #n av); + assert (from_vec #(n+1) eav < pow2 n); + + let nav = BitVector.lognot_vec #n av in + let neav_r = BitVector.lognot_vec #(n+1) eav in + let neav_l = Seq.append hd1 nav in + append_lemma #1 #n hd1 nav; + assert (from_vec #(n+1) neav_l = (op_Multiply (from_vec #1 hd1) (pow2 n)) + (from_vec #n nav)); + assert (op_Multiply (from_vec #1 hd1) (pow2 n) = pow2 n); + assert (from_vec #(n+1) neav_l = pow2 n + from_vec #n nav); + assert (pow2 n + from_vec #n nav = rhs); + + assert (forall (i:pos{i < n+1}). Seq.index neav_r i = Seq.index neav_l i); + Seq.Base.lemma_eq_intro neav_l neav_r; + assert (neav_l = neav_r); + assert (from_vec neav_r = lhs) + +let lemma_lognot_one_ext #n a = + let lhs = lognot #(n+1) (one_extend a) in + let rhs = lognot #n a in + let av = to_vec a in + assert (Seq.length av = n); + let hd0 = Seq.create 1 false in + let hd1 = Seq.create 1 true in + let nav = to_vec (lognot #n a) in + let eav = Seq.append hd1 av in + append_lemma #1 #n hd1 av; + append_lemma #1 #n hd0 nav; + let nav = BitVector.lognot_vec #n av in + let neav_r = BitVector.lognot_vec #(n+1) eav in + let neav_l = Seq.append hd0 nav in + Seq.Base.lemma_eq_elim neav_l neav_r + +#push-options "--z3rlimit 60" +let rec lemma_lognot_value_mod #n a = + if n = 1 then () else + begin + assert (-pow2 n <= (-(a+1)) && -(a+1) < 0); + + let av = to_vec a in + let hd = from_vec #1 (Seq.slice (to_vec a) 0 1) in + let tl = from_vec #(n-1) (Seq.slice (to_vec a) 1 n) in + + assert (hd = 0 || hd = 1); + let hdpow = op_Multiply hd (pow2 (n-1)) in + + from_vec_propriety (to_vec a) 1; + assert (from_vec av = (op_Multiply + (from_vec #1 (Seq.slice av 0 1)) (pow2 (n-1))) + + (from_vec #(n-1) (Seq.slice av 1 n))); + + let ntl = lognot tl in + lemma_lognot_value_mod #(n-1) tl; + assert (ntl = pow2 (n-1) - tl - 1); + + assert (a = hdpow + tl); + assert (lognot a = lognot #n (hdpow + tl)); + assert (tl < pow2 (n-1)); + if hdpow = 0 then + begin + assert (lognot a = lognot #n tl); + lemma_lognot_zero_ext #(n-1) tl; + lemma_zero_extend tl + end + else + begin + lemma_lognot_one_ext #(n-1) tl; + lemma_one_extend tl + end + end +#pop-options + +let lemma_lognot_value_zero #n a = + let p = pow2 n in + calc (==) { + sub_mod (sub_mod 0 a) 1; + == { } + sub_mod ((0 - a) % p) 1; + == { } + ((0 - a) % p - 1) % p; + == { } + (0 % p - 1) % p; + == { modulo_lemma 0 p } + (0 - 1) % p; + == { lemma_mod_sub_0 p } + p - 1; + == { } + p - 0 - 1; + == { lemma_lognot_value_mod a } + lognot a; + } +#pop-options + +#push-options "--z3rlimit 150" +private +val lemma_mod_variation: #n:pos -> a:uint_t n -> + Lemma (a <> 0 ==> ((-a) % pow2 n) - 1 % pow2 n = (((-a) % pow2 n) - 1) % pow2 n) +let lemma_mod_variation #n a = assert (pow2 n =!= 0) +#pop-options + +let lemma_one_mod_pow2 #n = () + +#push-options "--z3rlimit 50" +private +val lemma_lognot_value_variation: #n:pos -> a:uint_t n{a <> 0} -> + Lemma (lognot a = (-a) % pow2 n - 1 % pow2 n) +let lemma_lognot_value_variation #n a = + let p = pow2 n in + calc (==) { + lognot a <: int; + == { lemma_lognot_value_mod a } + p - a - 1; + == { FStar.Math.Lemmas.modulo_lemma a p } + p - (a % p) - 1; + == { FStar.Math.Lemmas.modulo_lemma 1 p } + (p - (a % p)) - (1 % p); + == { FStar.Math.Lemmas.lemma_mod_sub_1 a p } + (-a) % p - 1 % p; + } +#pop-options + +let lemma_lognot_value_nonzero #n a = + let p = pow2 n in + lemma_lognot_value_variation #n a; + assert (lognot a = (-a) % (pow2 n) - 1 % (pow2 n)); + assert (sub_mod (sub_mod 0 a) 1 = (((0 - a) % p) - 1) % p); + lemma_mod_variation #n a; + assert (((-a) % p) - 1 % p = (((-a) % p) - 1) % p); + assert ((-a) % p - 1 % p = (((0 - a) % p) - 1) % p) + +let lemma_lognot_value #n a = + if a = 0 then lemma_lognot_value_zero a + else lemma_lognot_value_nonzero a + +let lemma_minus_eq_zero_sub #n a = + let na = lognot a in + let ma = minus a in + assert (sub_mod ma 1 = sub_mod (add_mod na 1) 1); + lemma_sub_add_cancel na 1; + assert (sub_mod ma 1 = na); + lemma_lognot_value #n a; + assert (na = sub_mod (sub_mod 0 a) 1); + assert (ma = add_mod (sub_mod (sub_mod 0 a) 1) 1); + lemma_add_sub_cancel (sub_mod 0 a) 1 diff --git a/stage0/ulib/FStar.UInt.fsti b/stage0/ulib/FStar.UInt.fsti new file mode 100644 index 00000000000..1b1c58f45ea --- /dev/null +++ b/stage0/ulib/FStar.UInt.fsti @@ -0,0 +1,603 @@ +(* + 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.UInt + +(* NOTE: anything that you fix/update here should be reflected in [FStar.Int.fsti], which is mostly + * a copy-paste of this module. *) + +open FStar.Mul +open FStar.BitVector +open FStar.Math.Lemmas + +val pow2_values: x:nat -> Lemma + (let p = pow2 x in + match x with + | 0 -> p=1 + | 1 -> p=2 + | 8 -> p=256 + | 16 -> p=65536 + | 31 -> p=2147483648 + | 32 -> p=4294967296 + | 63 -> p=9223372036854775808 + | 64 -> p=18446744073709551616 + | 128 -> p=0x100000000000000000000000000000000 + | _ -> True) + [SMTPat (pow2 x)] + +/// Specs +/// +/// Note: lacking any type of functors for F*, this is a copy/paste of [FStar.Int.fst], where the relevant bits that changed are: +/// - definition of max and min +/// - use of regular integer modulus instead of wrap-around modulus + +let max_int (n:nat) : Tot int = pow2 n - 1 +let min_int (n:nat) : Tot int = 0 + +let fits (x:int) (n:nat) : Tot bool = min_int n <= x && x <= max_int n +let size (x:int) (n:nat) : Tot Type0 = b2t(fits x n) + +(* Machine integer type *) +[@@do_not_unrefine] +type uint_t (n:nat) = x:int{size x n} + +/// Constants + +let zero (n:nat) : Tot (uint_t n) = 0 + +let pow2_n (#n:pos) (p:nat{p < n}) : Tot (uint_t n) = + pow2_le_compat (n - 1) p; pow2 p + +let one (n:pos) : Tot (uint_t n) = 1 + +let ones (n:nat) : Tot (uint_t n) = max_int n + +(* Increment and decrement *) +let incr (#n:nat) (a:uint_t n) : Pure (uint_t n) + (requires (b2t (a < max_int n))) (ensures (fun _ -> True)) + = a + 1 + +let decr (#n:nat) (a:uint_t n) : Pure (uint_t n) + (requires (b2t (a > min_int n))) (ensures (fun _ -> True)) + = a - 1 + +val incr_underspec: #n:nat -> a:uint_t n -> Pure (uint_t n) + (requires (b2t (a < max_int n))) + (ensures (fun b -> a + 1 = b)) + +val decr_underspec: #n:nat -> a:uint_t n -> Pure (uint_t n) + (requires (b2t (a > min_int n))) + (ensures (fun b -> a - 1 = b)) + +let incr_mod (#n:nat) (a:uint_t n) : Tot (uint_t n) = (a + 1) % (pow2 n) + +let decr_mod (#n:nat) (a:uint_t n) : Tot (uint_t n) = (a - 1) % (pow2 n) + +(* Addition primitives *) +let add (#n:nat) (a:uint_t n) (b:uint_t n) : Pure (uint_t n) + (requires (size (a + b) n)) + (ensures (fun _ -> True)) + = a + b + +val add_underspec: #n:nat -> a:uint_t n -> b:uint_t n -> Pure (uint_t n) + (requires True) + (ensures (fun c -> + size (a + b) n ==> a + b = c)) + +let add_mod (#n:nat) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + (a + b) % (pow2 n) + +(* Subtraction primitives *) +let sub (#n:nat) (a:uint_t n) (b:uint_t n) : Pure (uint_t n) + (requires (size (a - b) n)) + (ensures (fun _ -> True)) + = a - b + +val sub_underspec: #n:nat -> a:uint_t n -> b:uint_t n -> Pure (uint_t n) + (requires True) + (ensures (fun c -> + size (a - b) n ==> a - b = c)) + +let sub_mod (#n:nat) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + (a - b) % (pow2 n) + +(* Multiplication primitives *) +let mul (#n:nat) (a:uint_t n) (b:uint_t n) : Pure (uint_t n) + (requires (size (a * b) n)) + (ensures (fun _ -> True)) + = a * b + +val mul_underspec: #n:nat -> a:uint_t n -> b:uint_t n -> Pure (uint_t n) + (requires True) + (ensures (fun c -> + size (a * b) n ==> a * b = c)) + +let mul_mod (#n:nat) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + (a * b) % (pow2 n) + +private +val lt_square_div_lt (a:nat) (b:pos) : Lemma + (requires (a < b * b)) + (ensures (a / b < b)) + +#push-options "--fuel 0 --ifuel 0" +let mul_div (#n:nat) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + FStar.Math.Lemmas.lemma_mult_lt_sqr a b (pow2 n); + lt_square_div_lt (a * b) (pow2 n); + (a * b) / (pow2 n) +#pop-options + +(* Division primitives *) +let div (#n:nat) (a:uint_t n) (b:uint_t n{b <> 0}) : Pure (uint_t n) + (requires (size (a / b) n)) + (ensures (fun c -> b <> 0 ==> a / b = c)) + = a / b + +val div_underspec: #n:nat -> a:uint_t n -> b:uint_t n{b <> 0} -> Pure (uint_t n) + (requires True) + (ensures (fun c -> + (b <> 0 /\ size (a / b) n) ==> a / b = c)) + +val div_size: #n:pos -> a:uint_t n -> b:uint_t n{b <> 0} -> + Lemma (requires (size a n)) (ensures (size (a / b) n)) + +let udiv (#n:pos) (a:uint_t n) (b:uint_t n{b <> 0}) : Tot (c:uint_t n{b <> 0 ==> a / b = c}) = + div_size #n a b; + a / b + + +(* Modulo primitives *) +let mod (#n:nat) (a:uint_t n) (b:uint_t n{b <> 0}) : Tot (uint_t n) = + a - ((a/b) * b) + +(* Comparison operators *) +let eq #n (a:uint_t n) (b:uint_t n) : Tot bool = (a = b) +let gt #n (a:uint_t n) (b:uint_t n) : Tot bool = (a > b) +let gte #n (a:uint_t n) (b:uint_t n) : Tot bool = (a >= b) +let lt #n (a:uint_t n) (b:uint_t n) : Tot bool = (a < b) +let lte #n (a:uint_t n) (b:uint_t n) : Tot bool = (a <= b) + +/// Casts + +let to_uint_t (m:nat) (a:int) : Tot (uint_t m) = a % pow2 m + +open FStar.Seq.Base + +(* WARNING: Mind the big endian vs little endian definition *) + +(* Casts *) +let rec to_vec (#n:nat) (num:uint_t n) : Tot (bv_t n) = + if n = 0 then empty #bool + else append (to_vec #(n - 1) (num / 2)) (create 1 (num % 2 = 1)) + +let rec from_vec (#n:nat) (vec:bv_t n) : Tot (uint_t n) = + if n = 0 then 0 + else 2 * from_vec #(n - 1) (slice vec 0 (n - 1)) + (if index vec (n - 1) then 1 else 0) + +val to_vec_lemma_1: #n:nat -> a:uint_t n -> b:uint_t n -> + Lemma (requires a = b) (ensures equal (to_vec a) (to_vec b)) + +val to_vec_lemma_2: #n:nat -> a:uint_t n -> b:uint_t n -> + Lemma (requires equal (to_vec a) (to_vec b)) (ensures a = b) + +val inverse_aux: #n:nat -> vec:bv_t n -> i:nat{i < n} -> + Lemma (requires True) (ensures index vec i = index (to_vec (from_vec vec)) i) + [SMTPat (index (to_vec (from_vec vec)) i)] + +val inverse_vec_lemma: #n:nat -> vec:bv_t n -> + Lemma (requires True) (ensures equal vec (to_vec (from_vec vec))) + [SMTPat (to_vec (from_vec vec))] + +val inverse_num_lemma: #n:nat -> num:uint_t n -> + Lemma (requires True) (ensures num = from_vec (to_vec num)) + [SMTPat (from_vec (to_vec num))] + +val from_vec_lemma_1: #n:nat -> a:bv_t n -> b:bv_t n -> + Lemma (requires equal a b) (ensures from_vec a = from_vec b) + +val from_vec_lemma_2: #n:nat -> a:bv_t n -> b:bv_t n -> + Lemma (requires from_vec a = from_vec b) (ensures equal a b) + +val from_vec_aux: #n:nat -> a:bv_t n -> s1:nat{s1 < n} -> s2:nat{s2 < s1} -> + Lemma (requires True) + (ensures (from_vec #s2 (slice a 0 s2)) * pow2 (n - s2) + (from_vec #(s1 - s2) (slice a s2 s1)) * pow2 (n - s1) + (from_vec #(n - s1) (slice a s1 n)) = ((from_vec #s2 (slice a 0 s2)) * pow2 (s1 - s2) + (from_vec #(s1 - s2) (slice a s2 s1))) * pow2 (n - s1) + (from_vec #(n - s1) (slice a s1 n))) + +val seq_slice_lemma: #n:nat -> a:bv_t n -> s1:nat{s1 < n} -> t1:nat{t1 >= s1 && t1 <= n} -> s2:nat{s2 < t1 - s1} -> t2:nat{t2 >= s2 && t2 <= t1 - s1} -> + Lemma (equal (slice (slice a s1 t1) s2 t2) (slice a (s1 + s2) (s1 + t2))) + +val from_vec_propriety: #n:pos -> a:bv_t n -> s:nat{s < n} -> + Lemma (requires True) + (ensures from_vec a = (from_vec #s (slice a 0 s)) * pow2 (n - s) + from_vec #(n - s) (slice a s n)) + (decreases (n - s)) + +val append_lemma: #n:pos -> #m:pos -> a:bv_t n -> b:bv_t m -> + Lemma (from_vec #(n + m) (append a b) = (from_vec #n a) * pow2 m + (from_vec #m b)) + +val slice_left_lemma: #n:pos -> a:bv_t n -> s:pos{s < n} -> + Lemma (requires True) + (ensures from_vec #s (slice a 0 s) = (from_vec #n a) / (pow2 (n - s))) + +val slice_right_lemma: #n:pos -> a:bv_t n -> s:pos{s < n} -> + Lemma (requires True) + (ensures from_vec #s (slice a (n - s) n) = (from_vec #n a) % (pow2 s)) + +(* Relations between constants in BitVector and in UInt. *) +val zero_to_vec_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures index (to_vec (zero n)) i = index (zero_vec #n) i) + [SMTPat (index (to_vec (zero n)) i)] + +val zero_from_vec_lemma: #n:pos -> + Lemma (requires True) (ensures from_vec (zero_vec #n) = zero n) + [SMTPat (from_vec (zero_vec #n))] + +val one_to_vec_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (one n)) i = index (elem_vec #n (n - 1)) i) + [SMTPat (index (to_vec (one n)) i)] + +val pow2_to_vec_lemma: #n:pos -> p:nat{p < n} -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (pow2_n #n p)) i = index (elem_vec #n (n - p - 1)) i) + [SMTPat (index (to_vec (pow2_n #n p)) i)] + +val pow2_from_vec_lemma: #n:pos -> p:nat{p < n} -> + Lemma (requires True) (ensures from_vec (elem_vec #n p) = pow2_n #n (n - p - 1)) + [SMTPat (from_vec (elem_vec #n p))] + +val ones_to_vec_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) + (ensures index (to_vec (ones n)) i = index (ones_vec #n) i) + [SMTPat (index (to_vec (ones n)) i)] + +val ones_from_vec_lemma: #n:pos -> + Lemma (requires True) (ensures from_vec (ones_vec #n) = ones n) + [SMTPat (from_vec (ones_vec #n))] + + +(* (nth a i) returns a boolean indicating the i-th bit of a. *) +let nth (#n:pos) (a:uint_t n) (i:nat{i < n}) : Tot bool = + index (to_vec #n a) i + +val nth_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires forall (i:nat{i < n}). nth a i = nth b i) + (ensures a = b) + +(* Lemmas for constants *) +val zero_nth_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures nth (zero n) i = false) + [SMTPat (nth (zero n) i)] + +val pow2_nth_lemma: #n:pos -> p:nat{p < n} -> i:nat{i < n} -> + Lemma (requires True) + (ensures (i = n - p - 1 ==> nth (pow2_n #n p) i = true) /\ + (i <> n - p - 1 ==> nth (pow2_n #n p) i = false)) + [SMTPat (nth (pow2_n #n p) i)] + +val one_nth_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) + (ensures (i = n - 1 ==> nth (one n) i = true) /\ + (i < n - 1 ==> nth (one n) i = false)) + [SMTPat (nth (one n) i)] + +val ones_nth_lemma: #n:pos -> i:nat{i < n} -> + Lemma (requires True) (ensures (nth (ones n) i) = true) + [SMTPat (nth (ones n) i)] + +(* Bitwise operators *) +let logand (#n:pos) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + from_vec #n (logand_vec #n (to_vec #n a) (to_vec #n b)) + +let logxor (#n:pos) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + from_vec #n (logxor_vec #n (to_vec #n a) (to_vec #n b)) + +let logor (#n:pos) (a:uint_t n) (b:uint_t n) : Tot (uint_t n) = + from_vec #n (logor_vec #n (to_vec #n a) (to_vec #n b)) + +let lognot (#n:pos) (a:uint_t n) : Tot (uint_t n) = + from_vec #n (lognot_vec #n (to_vec #n a)) + +(* Bitwise operators definitions *) +val logand_definition: #n:pos -> a:uint_t n -> b:uint_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logand a b) i = (nth a i && nth b i))) + [SMTPat (nth (logand a b) i)] + +val logxor_definition: #n:pos -> a:uint_t n -> b:uint_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logxor a b) i = (nth a i <> nth b i))) + [SMTPat (nth (logxor a b) i)] + +val logor_definition: #n:pos -> a:uint_t n -> b:uint_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (logor a b) i = (nth a i || nth b i))) + [SMTPat (nth (logor a b) i)] + +val lognot_definition: #n:pos -> a:uint_t n -> i:nat{i < n} -> + Lemma (requires True) + (ensures (nth (lognot a) i = not(nth a i))) + [SMTPat (nth (lognot a) i)] + +(* Two's complement unary minus *) +inline_for_extraction +let minus (#n:pos) (a:uint_t n) : Tot (uint_t n) = + add_mod (lognot a) 1 + +(* Bitwise operators lemmas *) +(* TODO: lemmas about the relations between different operators *) +(* Bitwise AND operator *) +val logand_commutative: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires True) (ensures (logand #n a b = logand #n b a)) + +val logand_associative: #n:pos -> a:uint_t n -> b:uint_t n -> c:uint_t n -> + Lemma (requires True) + (ensures (logand #n (logand #n a b) c = logand #n a (logand #n b c))) + +val logand_self: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logand #n a a = a)) + +val logand_lemma_1: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logand #n a (zero n) = zero n)) + +val logand_lemma_2: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logand #n a (ones n) = a)) + +(* subset_vec_le_lemma proves that a subset of bits is numerically smaller or equal. *) +val subset_vec_le_lemma: #n:pos -> a:bv_t n -> b:bv_t n -> + Lemma (requires is_subset_vec #n a b) (ensures (from_vec a) <= (from_vec b)) + +(* logand_le proves the the result of AND is less than or equal to both arguments. *) +val logand_le: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires True) + (ensures (logand a b) <= a /\ (logand a b) <= b) + +(* Bitwise XOR operator *) +val logxor_commutative: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires True) (ensures (logxor #n a b = logxor #n b a)) + +val logxor_associative: #n:pos -> a:uint_t n -> b:uint_t n -> c:uint_t n -> + Lemma (requires True) (ensures (logxor #n (logxor #n a b) c = logxor #n a (logxor #n b c))) + +val logxor_self: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logxor #n a a = zero n)) + +val logxor_lemma_1: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logxor #n a (zero n) = a)) + +val logxor_lemma_2: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logxor #n a (ones n) = lognot #n a)) + +private let xor (b:bool) (b':bool) : Tot bool = b <> b' + +private val xor_lemma (a:bool) (b:bool) : Lemma + (requires (True)) + (ensures (xor (xor a b) b = a)) + [SMTPat (xor (xor a b) b)] + +val logxor_inv: #n:pos -> a:uint_t n -> b:uint_t n -> Lemma + (a = logxor #n (logxor #n a b) b) + +val logxor_neq_nonzero: #n:pos -> a:uint_t n -> b:uint_t n -> Lemma + (a <> b ==> logxor a b <> 0) + +(* Bitwise OR operators *) +val logor_commutative: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires True) (ensures (logor #n a b = logor #n b a)) + +val logor_associative: #n:pos -> a:uint_t n -> b:uint_t n -> c:uint_t n -> + Lemma (requires True) + (ensures (logor #n (logor #n a b) c = logor #n a (logor #n b c))) + +val logor_self: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logor #n a a = a)) + +val logor_lemma_1: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logor #n a (zero n) = a)) + +val logor_lemma_2: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (logor #n a (ones n) = ones n)) + + +(* superset_vec_le_lemma proves that a superset of bits is numerically greater than or equal. *) +val superset_vec_ge_lemma: #n:pos -> a:bv_t n -> b:bv_t n -> + Lemma (requires is_superset_vec #n a b) + (ensures (from_vec a) >= (from_vec b)) + +(* logor_ge proves that the result of an OR is greater than or equal to both arguments. *) +val logor_ge: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (requires True) + (ensures (logor a b) >= a /\ (logor a b) >= b) + +(* Bitwise NOT operator *) +val lognot_self: #n:pos -> a:uint_t n -> + Lemma (requires True) (ensures (lognot #n (lognot #n a) = a)) + +val lognot_lemma_1: #n:pos -> + Lemma (requires True) (ensures (lognot #n (zero n) = ones n)) + +(** Used in the next two lemmas *) +private val index_to_vec_ones: #n:pos -> m:nat{m <= n} -> i:nat{i < n} -> + Lemma (requires True) + (ensures (pow2 m <= pow2 n /\ + (i < n - m ==> index (to_vec #n (pow2 m - 1)) i == false) /\ + (n - m <= i ==> index (to_vec #n (pow2 m - 1)) i == true))) + [SMTPat (index (to_vec #n (pow2 m - 1)) i)] + + +val logor_disjoint: #n:pos -> a:uint_t n -> b:uint_t n -> m:pos{m < n} -> + Lemma (requires (a % pow2 m == 0 /\ b < pow2 m)) + (ensures (logor #n a b == a + b)) + +val logand_mask: #n:pos -> a:uint_t n -> m:pos{m < n} -> + Lemma (pow2 m < pow2 n /\ logand #n a (pow2 m - 1) == a % pow2 m) + + +(* Shift operators *) + +let shift_left (#n:pos) (a:uint_t n) (s:nat) : Tot (uint_t n) = + from_vec (shift_left_vec #n (to_vec #n a) s) + +let shift_right (#n:pos) (a:uint_t n) (s:nat) : Tot (uint_t n) = + from_vec (shift_right_vec #n (to_vec #n a) s) + +(* Shift operators lemmas *) +val shift_left_lemma_1: #n:pos -> a:uint_t n -> s:nat -> i:nat{i < n && i >= n - s} -> + Lemma (requires True) + (ensures (nth (shift_left #n a s) i = false)) + [SMTPat (nth (shift_left #n a s) i)] + +val shift_left_lemma_2: #n:pos -> a:uint_t n -> s:nat -> i:nat{i < n && i < n - s} -> + Lemma (requires True) + (ensures (nth (shift_left #n a s) i = nth #n a (i + s))) + [SMTPat (nth (shift_left #n a s) i)] + +val shift_right_lemma_1: #n:pos -> a:uint_t n -> s:nat -> i:nat{i < n && i < s} -> + Lemma (requires True) + (ensures (nth (shift_right #n a s) i = false)) + [SMTPat (nth (shift_right #n a s) i)] + +val shift_right_lemma_2: #n:pos -> a:uint_t n -> s:nat -> i:nat{i < n && i >= s} -> + Lemma (requires True) + (ensures (nth (shift_right #n a s) i = nth #n a (i - s))) + [SMTPat (nth (shift_right #n a s) i)] + +(* Lemmas with shift operators and bitwise operators *) +val shift_left_logand_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_left #n (logand #n a b) s = logand #n (shift_left #n a s) (shift_left #n b s))) + +val shift_right_logand_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_right #n (logand #n a b) s = logand #n (shift_right #n a s) (shift_right #n b s))) + +val shift_left_logxor_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_left #n (logxor #n a b) s = logxor #n (shift_left #n a s) (shift_left #n b s))) + +val shift_right_logxor_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_right #n (logxor #n a b) s = logxor #n (shift_right #n a s) (shift_right #n b s))) + +val shift_left_logor_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_left #n (logor #n a b) s = logor #n (shift_left #n a s) (shift_left #n b s))) + +val shift_right_logor_lemma: #n:pos -> a:uint_t n -> b:uint_t n -> s:nat -> + Lemma (requires True) + (ensures (shift_right #n (logor #n a b) s = logor #n (shift_right #n a s) (shift_right #n b s))) + + +(* Lemmas about value after shift operations *) +val shift_left_value_aux_1: #n:pos -> a:uint_t n -> s:nat{s >= n} -> + Lemma (requires True) + (ensures shift_left #n a s = (a * pow2 s) % pow2 n) + +val shift_left_value_aux_2: #n:pos -> a:uint_t n -> + Lemma (requires True) + (ensures shift_left #n a 0 = (a * pow2 0) % pow2 n) + +val shift_left_value_aux_3: #n:pos -> a:uint_t n -> s:pos{s < n} -> + Lemma (requires True) + (ensures shift_left #n a s = (a * pow2 s) % pow2 n) + +val shift_left_value_lemma: #n:pos -> a:uint_t n -> s:nat -> + Lemma (requires True) + (ensures shift_left #n a s = (a * pow2 s) % pow2 n) + [SMTPat (shift_left #n a s)] + +val shift_right_value_aux_1: #n:pos -> a:uint_t n -> s:nat{s >= n} -> + Lemma (requires True) + (ensures shift_right #n a s = a / pow2 s) + +val shift_right_value_aux_2: #n:pos -> a:uint_t n -> + Lemma (requires True) + (ensures shift_right #n a 0 = a / pow2 0) + +val shift_right_value_aux_3: #n:pos -> a:uint_t n -> s:pos{s < n} -> + Lemma (requires True) + (ensures shift_right #n a s = a / pow2 s) + +val shift_right_value_lemma: #n:pos -> a:uint_t n -> s:nat -> + Lemma (requires True) + (ensures shift_right #n a s = a / pow2 s) + [SMTPat (shift_right #n a s)] + +(* Lemmas about the most significant bit in various situations *) + +let msb (#n:pos) (a:uint_t n) : Tot bool = nth a 0 + +val lemma_msb_pow2: #n:pos -> a:uint_t n -> + Lemma (msb a <==> a >= pow2 (n-1)) + +val lemma_minus_zero: #n:pos -> a:uint_t n -> + Lemma (minus a = 0 ==> a = 0) + +val lemma_msb_gte: #n:pos{n > 1} -> a:uint_t n -> b:uint_t n -> + Lemma ((a >= b && not (msb a)) ==> not (msb b)) + + +(* Lemmas toward showing ~n + 1 = -a *) + +val lemma_uint_mod: #n:pos -> a:uint_t n -> + Lemma (a = a % pow2 n) + +val lemma_add_sub_cancel: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (add_mod (sub_mod a b) b = a) + +val lemma_mod_sub_distr_l: a:int -> b:int -> p:pos -> + Lemma ((a - b) % p = ((a % p) - b) % p) + +val lemma_sub_add_cancel: #n:pos -> a:uint_t n -> b:uint_t n -> + Lemma (sub_mod (add_mod a b) b = a) + +let zero_extend_vec (#n:pos) (a:BitVector.bv_t n): Tot (BitVector.bv_t (n+1)) = append (create 1 false) a +let one_extend_vec (#n:pos) (a:BitVector.bv_t n): Tot (BitVector.bv_t (n+1)) = append (create 1 true) a + +let zero_extend (#n:pos) (a:uint_t n): Tot (uint_t (n+1)) = from_vec (zero_extend_vec (to_vec a)) +let one_extend (#n:pos) (a:uint_t n): Tot (uint_t (n+1)) = from_vec (one_extend_vec (to_vec a)) + +val lemma_zero_extend: #n:pos -> a:uint_t n -> + Lemma (zero_extend a = a) + [SMTPat (zero_extend a)] + +val lemma_one_extend: #n:pos -> a:uint_t n -> + Lemma (one_extend a = pow2 n + a) + [SMTPat (one_extend a)] + +val lemma_lognot_zero_ext: #n:pos -> a:uint_t n -> + Lemma (lognot #(n+1) (zero_extend a) = pow2 n + (lognot #n a)) + +val lemma_lognot_one_ext: #n:pos -> a:uint_t n -> + Lemma (lognot #(n+1) (one_extend a) = lognot #n a) + +val lemma_lognot_value_mod: #n:pos -> a:uint_t n -> + Lemma + (requires True) + (ensures (lognot a = pow2 n - a - 1)) + (decreases n) + +val lemma_lognot_value_zero: #n:pos -> a:uint_t n{a = 0} -> + Lemma (lognot a = sub_mod (sub_mod 0 a) 1) + +val lemma_one_mod_pow2: #n:pos -> + Lemma (1 = 1 % (pow2 n)) + +val lemma_lognot_value_nonzero: #n:pos -> a:uint_t n{a <> 0} -> + Lemma (lognot a = sub_mod (sub_mod 0 a) 1) + +val lemma_lognot_value: #n:pos -> a:uint_t n -> + Lemma (lognot #n a = sub_mod (sub_mod 0 a) 1) + +val lemma_minus_eq_zero_sub: #n:pos -> a:uint_t n -> + Lemma (minus #n a = sub_mod #n 0 a) diff --git a/stage0/ulib/FStar.UInt128.fst b/stage0/ulib/FStar.UInt128.fst new file mode 100644 index 00000000000..c4cb549d4f0 --- /dev/null +++ b/stage0/ulib/FStar.UInt128.fst @@ -0,0 +1,1230 @@ +(* + 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.UInt128 + +open FStar.Mul + +module UInt = FStar.UInt +module Seq = FStar.Seq +module BV = FStar.BitVector + +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 + +module Math = FStar.Math.Lemmas + +open FStar.BV + +(* We try to keep the dependencies of this module low, +by not opening the full Tactics module. This speeds up +checking the library by improving parallelism. *) +module T = FStar.Stubs.Tactics.V2.Builtins +module TD = FStar.Tactics.V2.Derived +module TM = FStar.Tactics.MApply + +#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) = + let ( ^^ ) = UInt.logxor in + let ( |^ ) = UInt.logor in + let ( -%^ ) = UInt.sub_mod in + let ( >>^ ) = UInt.shift_right in + a ^^ ((a ^^ b) |^ ((a -%^ b) ^^ b)) >>^ 63 + +[@@ noextract_to "krml"] +noextract +let carry_bv (a b: uint_t 64) = + bvshr (bvxor (int2bv a) + (bvor (bvxor (int2bv a) (int2bv b)) (bvxor (bvsub (int2bv a) (int2bv b)) (int2bv b)))) + 63 + +let carry_uint64_ok (a b:uint_t 64) + : squash (int2bv (carry_uint64 a b) == carry_bv a b) + = _ by (T.norm [delta_only [`%carry_uint64]; unascribe]; + let open FStar.Tactics.BV in + TM.mapply (`FStar.Tactics.BV.Lemmas.trans); + arith_to_bv_tac (); + arith_to_bv_tac (); + T.norm [delta_only [`%carry_bv]]; + TD.trefl()) + +let fact1 (a b: uint_t 64) = carry_bv a b == int2bv 1 +let fact0 (a b: uint_t 64) = carry_bv a b == int2bv 0 + +let lem_ult_1 (a b: uint_t 64) + : squash (bvult (int2bv a) (int2bv b) ==> fact1 a b) + = assert (bvult (int2bv a) (int2bv b) ==> fact1 a b) + by (T.norm [delta_only [`%fact1;`%carry_bv]]; + T.set_options "--smtencoding.elim_box true --using_facts_from '__Nothing__' --z3smtopt '(set-option :smt.case_split 1)'"; + TD.smt()) + +let lem_ult_2 (a b:uint_t 64) + : squash (not (bvult (int2bv a) (int2bv b)) ==> fact0 a b) + = assert (not (bvult (int2bv a) (int2bv b)) ==> fact0 a b) + by (T.norm [delta_only [`%fact0;`%carry_bv]]; + T.set_options "--smtencoding.elim_box true --using_facts_from '__Nothing__' --z3smtopt '(set-option :smt.case_split 1)'") + +let int2bv_ult (#n: pos) (a b: uint_t n) + : Lemma (ensures a < b <==> bvult #n (int2bv #n a) (int2bv #n b)) + = introduce (a < b) ==> (bvult #n (int2bv #n a) (int2bv #n b)) + with _ . FStar.BV.int2bv_lemma_ult_1 a b; + introduce (bvult #n (int2bv #n a) (int2bv #n b)) ==> (a < b) + with _ . FStar.BV.int2bv_lemma_ult_2 a b + +let lem_ult (a b:uint_t 64) + : Lemma (if a < b + then fact1 a b + else fact0 a b) + = int2bv_ult a b; + lem_ult_1 a b; + lem_ult_2 a b + +let constant_time_carry (a b: U64.t) : Tot U64.t = + let open U64 in + // CONSTANT_TIME_CARRY macro + // ((a ^ ((a ^ b) | ((a - b) ^ b))) >> (sizeof(a) * 8 - 1)) + // 63 = sizeof(a) * 8 - 1 + a ^^ ((a ^^ b) |^ ((a -%^ b) ^^ b)) >>^ 63ul + +let carry_uint64_equiv (a b:UInt64.t) + : Lemma (U64.v (constant_time_carry a b) == carry_uint64 (U64.v a) (U64.v b)) + = () + +// This type gets a special treatment in KaRaMeL and its definition is never +// printed in the resulting C file. +type uint128: Type0 = { low: U64.t; high: U64.t } + +let t = uint128 + +let _ = intro_ambient n +let _ = intro_ambient t + +[@@ noextract_to "krml"] +let v x = U64.v x.low + (U64.v x.high) * (pow2 64) + +let div_mod (x:nat) (k:nat{k > 0}) : Lemma (x / k * k + x % k == x) = () + +let uint_to_t x = + div_mod x (pow2 64); + { low = U64.uint_to_t (x % (pow2 64)); + high = U64.uint_to_t (x / (pow2 64)); } + +let v_inj (x1 x2: t): Lemma (requires (v x1 == v x2)) + (ensures x1 == x2) = + assert (uint_to_t (v x1) == uint_to_t (v x2)); + assert (uint_to_t (v x1) == x1); + 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 (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); + 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) + (ensures (fun r -> U64.v r == (if U64.v a < U64.v b then 1 else 0))) = + constant_time_carry_ok a b; + constant_time_carry a b + +let carry_sum_ok (a b:U64.t) : + Lemma (U64.v (carry (U64.add_mod a b) b) == (U64.v a + U64.v b) / (pow2 64)) = () + +let add (a b: t) : Pure t + (requires (v a + v b < pow2 128)) + (ensures (fun r -> v a + v b = v r)) = + let l = U64.add_mod a.low b.low in + carry_sum_ok a.low b.low; + { low = l; + high = U64.add (U64.add a.high b.high) (carry l b.low); } + +let add_underspec (a b: t) = + let l = U64.add_mod a.low b.low in + begin + if v a + v b < pow2 128 + then carry_sum_ok a.low b.low + else () + end; + { low = l; + high = U64.add_underspec (U64.add_underspec a.high b.high) (carry l b.low); } + +val mod_mod: a:nat -> k:nat{k>0} -> k':nat{k'>0} -> + Lemma ((a % k) % (k'*k) == a % k) +let mod_mod a k k' = + assert (a % k < k); + assert (a % k < k' * k) + +let mod_spec (a:nat) (k:nat{k > 0}) : + Lemma (a % k == a - a / k * k) = () + +val div_product : n:nat -> m1:nat{m1>0} -> m2:nat{m2>0} -> + Lemma (n / (m1*m2) == (n / m1) / m2) +let div_product n m1 m2 = + Math.division_multiplication_lemma 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.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 = + 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 + +val mod_add: n1:nat -> n2:nat -> k:nat{k > 0} -> + Lemma ((n1 % k + n2 % k) % k == (n1 + n2) % k) +let mod_add n1 n2 k = Math.modulo_distributivity n1 n2 k + +val mod_add_small: n1:nat -> n2:nat -> k:nat{k > 0} -> Lemma + (requires (n1 % k + n2 % k < k)) + (ensures (n1 % k + n2 % k == (n1 + n2) % k)) +let mod_add_small n1 n2 k = + mod_add n1 n2 k; + Math.small_modulo_lemma_1 (n1%k + n2%k) k + +// 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 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 + let a_l = U64.v a.low in + let a_h = U64.v a.high in + let b_l = U64.v b.low in + 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); + 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 + + (a_l + b_l) / (pow2 64) * (pow2 64)) + ((a_l + b_l) % (pow2 64)) + (pow2 128); + assert (U64.v r.low + U64.v r.high * pow2 64 == + (a_h * pow2 64 + + b_h * pow2 64 + + (a_l + b_l) / (pow2 64) * (pow2 64) + (a_l + b_l) % (pow2 64)) % pow2 128); + mod_spec_rew_n (a_l + b_l) (pow2 64); + assert (v r == + (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 + +#push-options "--retry 5" +let sub (a b: t) : Pure t + (requires (v a - v b >= 0)) + (ensures (fun r -> v r = v a - v b)) = + let l = U64.sub_mod a.low b.low in + { low = l; + high = U64.sub (U64.sub a.high b.high) (carry a.low l); } +#pop-options + +let sub_underspec (a b: t) = + let l = U64.sub_mod a.low b.low in + { low = l; + high = U64.sub_underspec (U64.sub_underspec a.high b.high) (carry a.low l); } + +let sub_mod_impl (a b: t) : t = + let l = U64.sub_mod a.low b.low in + { low = l; + high = U64.sub_mod (U64.sub_mod a.high b.high) (carry a.low l); } + +#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); + () +#pop-options + +val u64_diff_wrap : a:U64.t -> b:U64.t -> + Lemma (requires (U64.v a < U64.v b)) + (ensures (U64.v (U64.sub_mod a b) == U64.v a - U64.v b + pow2 64)) +let u64_diff_wrap a b = () + +#push-options "--z3rlimit 20" +val sub_mod_wrap1_ok : a:t -> b:t -> Lemma + (requires (v a - v b < 0 /\ U64.v a.low < U64.v b.low)) + (ensures (v (sub_mod_impl a b) = v a - v b + pow2 128)) + +#push-options "--retry 10" +let sub_mod_wrap1_ok a b = + // carry == 1 and subtraction in low wraps + let l = U64.sub_mod a.low b.low in + assert (U64.v (carry a.low l) == 1); + u64_diff_wrap a.low b.low; + // a.high <= b.high since v a < v b; + // case split on equality and strictly less + if U64.v a.high = U64.v b.high then () + else begin + u64_diff_wrap a.high b.high; + () + end +#pop-options +#pop-options + + +let sum_lt (a1 a2 b1 b2:nat) : Lemma + (requires (a1 + a2 < b1 + b2 /\ a1 >= b1)) + (ensures (a2 < b2)) = () + +let sub_mod_wrap2_ok (a b:t) : Lemma + (requires (v a - v b < 0 /\ U64.v a.low >= U64.v b.low)) + (ensures (v (sub_mod_impl a b) = v a - v b + pow2 128)) = + // carry == 0, subtraction in low is exact, but subtraction in high + // must wrap since v a < v b + let l = U64.sub_mod a.low b.low in + let r = sub_mod_impl a b in + assert (U64.v l == U64.v a.low - U64.v b.low); + assert (U64.v (carry a.low l) == 0); + sum_lt (U64.v a.low) (U64.v a.high * pow2 64) (U64.v b.low) (U64.v b.high * pow2 64); + assert (U64.v (U64.sub_mod a.high b.high) == U64.v a.high - U64.v b.high + pow2 64); + () + +let sub_mod_wrap_ok (a b:t) : Lemma + (requires (v a - v b < 0)) + (ensures (v (sub_mod_impl a b) = v a - v b + pow2 128)) = + if U64.v a.low < U64.v b.low + then sub_mod_wrap1_ok a b + else sub_mod_wrap2_ok a b + +#restart-solver +#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)) = + (if v a - v b >= 0 + then sub_mod_pos_ok a b + else sub_mod_wrap_ok a b); + sub_mod_impl a b +#pop-options + +#restart-solver + +val shift_bound : #n:nat -> num:UInt.uint_t n -> n':nat -> + Lemma (num * pow2 n' <= pow2 (n'+n) - pow2 n') +let shift_bound #n num n' = + Math.lemma_mult_le_right (pow2 n') num (pow2 n - 1); + Math.distributivity_sub_left (pow2 n) 1 (pow2 n'); + Math.pow2_plus n' n + +val append_uint : #n1:nat -> #n2:nat -> num1:UInt.uint_t n1 -> num2:UInt.uint_t n2 -> UInt.uint_t (n1+n2) +let append_uint #n1 #n2 num1 num2 = + shift_bound num2 n1; + num1 + num2 * pow2 n1 + +val to_vec_append : #n1:nat{n1 > 0} -> #n2:nat{n2 > 0} -> num1:UInt.uint_t n1 -> num2:UInt.uint_t n2 -> + Lemma (UInt.to_vec (append_uint num1 num2) == Seq.append (UInt.to_vec num2) (UInt.to_vec num1)) +let to_vec_append #n1 #n2 num1 num2 = + UInt.append_lemma (UInt.to_vec num2) (UInt.to_vec num1) + +let vec128 (a: t) : BV.bv_t 128 = UInt.to_vec #128 (v a) +let vec64 (a: U64.t) : BV.bv_t 64 = UInt.to_vec (U64.v a) + +let to_vec_v (a: t) : + Lemma (vec128 a == Seq.append (vec64 a.high) (vec64 a.low)) = + to_vec_append (U64.v a.low) (U64.v a.high) + +val logand_vec_append (#n1 #n2: pos) (a1 b1: BV.bv_t n1) (a2 b2: BV.bv_t n2) : + Lemma (Seq.append (BV.logand_vec a1 b1) (BV.logand_vec a2 b2) == + BV.logand_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) +let logand_vec_append #n1 #n2 a1 b1 a2 b2 = + Seq.lemma_eq_intro (Seq.append (BV.logand_vec a1 b1) (BV.logand_vec a2 b2)) + (BV.logand_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) + +let logand (a b: t) : Pure t + (requires True) + (ensures (fun r -> v r = UInt.logand #128 (v a) (v b))) = + let r = { low = U64.logand a.low b.low; + high = U64.logand a.high b.high } in + to_vec_v r; + assert (vec128 r == Seq.append (vec64 r.high) (vec64 r.low)); + logand_vec_append (vec64 a.high) (vec64 b.high) + (vec64 a.low) (vec64 b.low); + to_vec_v a; + to_vec_v b; + assert (vec128 r == BV.logand_vec (vec128 a) (vec128 b)); + r + +val logxor_vec_append (#n1 #n2: pos) (a1 b1: BV.bv_t n1) (a2 b2: BV.bv_t n2) : + Lemma (Seq.append (BV.logxor_vec a1 b1) (BV.logxor_vec a2 b2) == + BV.logxor_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) +let logxor_vec_append #n1 #n2 a1 b1 a2 b2 = + Seq.lemma_eq_intro (Seq.append (BV.logxor_vec a1 b1) (BV.logxor_vec a2 b2)) + (BV.logxor_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) + +let logxor (a b: t) : Pure t + (requires True) + (ensures (fun r -> v r = UInt.logxor #128 (v a) (v b))) = + let r = { low = U64.logxor a.low b.low; + high = U64.logxor a.high b.high } in + to_vec_v r; + assert (vec128 r == Seq.append (vec64 r.high) (vec64 r.low)); + logxor_vec_append (vec64 a.high) (vec64 b.high) + (vec64 a.low) (vec64 b.low); + to_vec_v a; + to_vec_v b; + assert (vec128 r == BV.logxor_vec (vec128 a) (vec128 b)); + r + +val logor_vec_append (#n1 #n2: pos) (a1 b1: BV.bv_t n1) (a2 b2: BV.bv_t n2) : + Lemma (Seq.append (BV.logor_vec a1 b1) (BV.logor_vec a2 b2) == + BV.logor_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) +let logor_vec_append #n1 #n2 a1 b1 a2 b2 = + Seq.lemma_eq_intro (Seq.append (BV.logor_vec a1 b1) (BV.logor_vec a2 b2)) + (BV.logor_vec #(n1 + n2) (Seq.append a1 a2) (Seq.append b1 b2)) + +let logor (a b: t) : Pure t + (requires True) + (ensures (fun r -> v r = UInt.logor #128 (v a) (v b))) = + let r = { low = U64.logor a.low b.low; + high = U64.logor a.high b.high } in + to_vec_v r; + assert (vec128 r == Seq.append (vec64 r.high) (vec64 r.low)); + logor_vec_append (vec64 a.high) (vec64 b.high) + (vec64 a.low) (vec64 b.low); + to_vec_v a; + to_vec_v b; + assert (vec128 r == BV.logor_vec (vec128 a) (vec128 b)); + r + +val lognot_vec_append (#n1 #n2: pos) (a1: BV.bv_t n1) (a2: BV.bv_t n2) : + Lemma (Seq.append (BV.lognot_vec a1) (BV.lognot_vec a2) == + BV.lognot_vec #(n1 + n2) (Seq.append a1 a2)) +let lognot_vec_append #n1 #n2 a1 a2 = + Seq.lemma_eq_intro (Seq.append (BV.lognot_vec a1) (BV.lognot_vec a2)) + (BV.lognot_vec #(n1 + n2) (Seq.append a1 a2)) + +let lognot (a: t) : Pure t + (requires True) + (ensures (fun r -> v r = UInt.lognot #128 (v a))) = + let r = { low = U64.lognot a.low; + high = U64.lognot a.high } in + to_vec_v r; + assert (vec128 r == Seq.append (vec64 r.high) (vec64 r.low)); + lognot_vec_append (vec64 a.high) (vec64 a.low); + to_vec_v a; + assert (vec128 r == BV.lognot_vec (vec128 a)); + r + +let mod_mul_cancel (n:nat) (k:nat{k > 0}) : + Lemma ((n * k) % k == 0) = + mod_spec (n * k) k; + mul_div_cancel n k; + () + +let shift_past_mod (n:nat) (k1:nat) (k2:nat{k2 >= k1}) : + Lemma ((n * pow2 k2) % pow2 k1 == 0) = + assert (k2 == (k2 - k1) + k1); + Math.pow2_plus (k2 - k1) k1; + Math.paren_mul_right n (pow2 (k2 - k1)) (pow2 k1); + mod_mul_cancel (n * pow2 (k2 - k1)) (pow2 k1) + +val mod_double: a:nat -> k:nat{k>0} -> + Lemma (a % k % k == a % k) +let mod_double a k = + mod_mod a k 1 + +let shift_left_large_val (#n1:nat) (#n2: nat) (a1:UInt.uint_t n1) (a2:UInt.uint_t n2) (s:nat) : + Lemma ((a1 + a2 * pow2 n1) * pow2 s == (a1 * pow2 s + a2 * pow2 (n1+s))) = + Math.distributivity_add_left a1 (a2 * pow2 n1) (pow2 s); + Math.paren_mul_right a2 (pow2 n1) (pow2 s); + Math.pow2_plus n1 s + +#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)) = + shift_left_large_val a1 a2 s; + mod_add (a1 * pow2 s) (a2 * pow2 (n1+s)) (pow2 (n1+n2)); + shift_past_mod a2 (n1+n2) (n1+s); + mod_double (a1 * pow2 s) (pow2 (n1+n2)); + () +#pop-options + +val shift_left_large_lemma_t : a:t -> s:nat -> + Lemma (requires (s >= 64)) + (ensures ((v a * pow2 s) % pow2 128 == + (U64.v a.low * pow2 s) % pow2 128)) +let shift_left_large_lemma_t a s = + shift_left_large_lemma #64 #64 (U64.v a.low) (U64.v a.high) s + +private let u32_64: n:U32.t{U32.v n == 64} = U32.uint_to_t 64 + +val div_pow2_diff: a:nat -> n1:nat -> n2:nat{n2 <= n1} -> Lemma + (requires True) + (ensures (a / pow2 (n1 - n2) == a * pow2 n2 / pow2 n1)) +let div_pow2_diff a n1 n2 = + Math.pow2_plus n2 (n1-n2); + assert (a * pow2 n2 / pow2 n1 == a * pow2 n2 / (pow2 n2 * pow2 (n1 - n2))); + div_product (a * pow2 n2) (pow2 n2) (pow2 (n1-n2)); + mul_div_cancel a (pow2 n2) + +val mod_mul_pow2 : n:nat -> e1:nat -> e2:nat -> + Lemma (n % pow2 e1 * pow2 e2 <= pow2 (e1+e2) - pow2 e2) +let mod_mul_pow2 n e1 e2 = + Math.lemma_mod_lt n (pow2 e1); + Math.lemma_mult_le_right (pow2 e2) (n % pow2 e1) (pow2 e1 - 1); + assert (n % pow2 e1 * pow2 e2 <= pow2 e1 * pow2 e2 - pow2 e2); + Math.pow2_plus 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 + +#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))) = + let high = U64.shift_left hi s in + let low = U64.shift_right lo (U32.sub u32_64 s) in + let s = U32.v s in + let high_n = U64.v hi % pow2 (64 - s) * pow2 s in + let low_n = U64.v lo / pow2 (64 - s) in + Math.pow2_plus (64-s) s; + mod_mul (U64.v hi) (pow2 s) (pow2 (64-s)); + assert (U64.v high == high_n); + assert (U64.v low == low_n); + pow2_div_bound (U64.v lo) (64-s); + assert (low_n < pow2 s); + mod_mul_pow2 (U64.v hi) (64 - s) s; + U64.add high low +#pop-options + + +let div_plus_multiple (a:nat) (b:nat) (k:pos) : + Lemma (requires (a < k)) + (ensures ((a + b * k) / k == b)) = + Math.division_addition_lemma a k b; + Math.small_division_lemma_1 a k + +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))) +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 + +val add_mod_small: n: nat -> m:nat -> k1:pos -> k2:pos -> + Lemma (requires (n < k1)) + (ensures (n + (k1 * m) % (k1 * k2) == + (n + k1 * m) % (k1 * k2))) +#restart-solver +#push-options "--z3rlimit_factor 4" +let add_mod_small n m k1 k2 = + mod_spec (k1 * m) (k1 * k2); + mod_spec (n + k1 * m) (k1 * k2); + div_add_small n m k1 k2 +#pop-options + +let mod_then_mul_64 (n:nat) : Lemma (n % pow2 64 * pow2 64 == n * pow2 64 % pow2 128) = + Math.pow2_plus 64 64; + mod_mul n (pow2 64) (pow2 64) + +let mul_abc_to_acb (a b c: int) : Lemma (a * b * c == a * c * b) = () + +let add_u64_shift_left_respec (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 * pow2 64 == + (U64.v hi * pow2 64) * pow2 (U32.v s) % pow2 128 + + U64.v lo * pow2 (U32.v s) / pow2 64 * pow2 64)) = + let r = add_u64_shift_left hi lo s in + let hi = U64.v hi in + let lo = U64.v lo in + let s = U32.v s in + // spec of add_u64_shift_left + assert (U64.v r == hi * pow2 s % pow2 64 + lo / pow2 (64 - s)); + Math.distributivity_add_left (hi * pow2 s % pow2 64) (lo / pow2 (64-s)) (pow2 64); + mod_then_mul_64 (hi * pow2 s); + assert (hi * pow2 s % pow2 64 * pow2 64 == (hi * pow2 s * pow2 64) % pow2 128); + div_pow2_diff lo 64 s; + assert (lo / pow2 (64-s) == lo * pow2 s / pow2 64); + assert (U64.v r * pow2 64 == hi * pow2 s * pow2 64 % pow2 128 + lo * pow2 s / pow2 64 * pow2 64); + mul_abc_to_acb hi (pow2 s) (pow2 64); + r + +val add_mod_small' : n:nat -> m:nat -> k:pos -> + Lemma (requires (n + m % k < k)) + (ensures (n + m % k == (n + m) % k)) +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 + +#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 + // n % pow2 (s2-s1) * pow2 s1 <= pow2 s2 - pow2 s1 + mod_mul n (pow2 s1) (pow2 (s2-s1)); + // assert (n * pow2 s1 % pow2 s2 == n % pow2 (s2-s1) * pow2 s1); + 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')) + (ensures (a + b < a' + b')) = () + +let u64_pow2_bound (a: UInt.uint_t 64) (s: nat) : + Lemma (a * pow2 s < pow2 (64+s)) = + Math.pow2_plus 64 s; + Math.lemma_mult_le_right (pow2 s) a (pow2 64) + +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) = + let a_l = U64.v a.low in + let a_h = U64.v a.high in + u64_pow2_bound a_l s; + mul_mod_bound a_h (64+s) 128; + // assert (a_h * pow2 (64+s) % pow2 128 <= pow2 128 - pow2 (64+s)); + add_lt_le (a_l * pow2 s) (pow2 (64+s)) (a_h * pow2 (64+s) % pow2 128) (pow2 128 - pow2 (64+s)); + add_mod_small' (a_l * pow2 s) (a_h * pow2 (64+s)) (pow2 128); + shift_t_val a s; + () + +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) * pow2 s % pow2 128) = + let a_l = U64.v a.low in + let a_h = U64.v a.high in + shift_t_mod_val' a s; + Math.pow2_plus 64 s; + Math.paren_mul_right a_h (pow2 64) (pow2 s); + () + +#push-options "--z3rlimit 20" +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)) = + if U32.eq s 0ul then a + else + let r = { low = U64.shift_left a.low s; + high = add_u64_shift_left_respec a.high a.low s; } in + let s = U32.v s in + let a_l = U64.v a.low in + let a_h = U64.v a.high in + mod_spec_rew_n (a_l * pow2 s) (pow2 64); + shift_t_mod_val a s; + r +#pop-options + +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} + +#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); + let r = { low = U64.uint_to_t 0; + high = U64.shift_left a.low h_shift; } in + assert (U64.v r.high == (U64.v a.low * pow2 (U32.v s - 64)) % pow2 64); + mod_mul (U64.v a.low * pow2 (U32.v s - 64)) (pow2 64) (pow2 64); + Math.pow2_plus (U32.v s - 64) 64; + 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 +#pop-options + +let shift_left a s = + if (U32.lt s u32_64) then shift_left_small a s + else shift_left_large a s + +#restart-solver +let add_u64_shift_right (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 lo / pow2 (U32.v s) + + U64.v hi * pow2 (64 - U32.v s) % pow2 64)) = + let low = U64.shift_right lo s in + let high = U64.shift_left hi (U32.sub u32_64 s) in + let s = U32.v s in + let low_n = U64.v lo / pow2 s in + let high_n = U64.v hi % pow2 s * pow2 (64 - s) in + Math.pow2_plus (64-s) s; + mod_mul (U64.v hi) (pow2 (64-s)) (pow2 s); + assert (U64.v high == high_n); + pow2_div_bound (U64.v lo) s; + assert (low_n < pow2 (64 - s)); + mod_mul_pow2 (U64.v hi) s (64 - s); + U64.add low high + +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 = + Math.paren_mul_right a (pow2 (n1-n2)) (pow2 n2); + mul_div_cancel (a * pow2 (n1 - n2)) (pow2 n2); + Math.pow2_plus (n1 - n2) n2 + +#restart-solver +let add_u64_shift_right_respec (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 lo / pow2 (U32.v s) + + U64.v hi * pow2 64 / pow2 (U32.v s) % pow2 64)) = + let r = add_u64_shift_right hi lo s in + let s = U32.v s in + mul_pow2_diff (U64.v hi) 64 s; + r + +#restart-solver +let mul_div_spec (n:nat) (k:pos) : Lemma (n / k * k == n - n % k) = () + +let mul_distr_sub (n1 n2:nat) (k:nat) : Lemma ((n1 - n2) * k == n1 * k - n2 * k) = () + +val div_product_comm : n1:nat -> k1:pos -> k2:pos -> + Lemma (n1 / k1 / k2 == n1 / k2 / k1) +let div_product_comm n1 k1 k2 = + div_product n1 k1 k2; + div_product n1 k2 k1 + +val shift_right_reconstruct : a_h:UInt.uint_t 64 -> s:nat{s < 64} -> + Lemma (a_h * pow2 (64-s) == a_h / pow2 s * pow2 64 + a_h * pow2 64 / pow2 s % pow2 64) +let shift_right_reconstruct a_h s = + mul_pow2_diff a_h 64 s; + mod_spec_rew_n (a_h * pow2 (64-s)) (pow2 64); + div_product_comm (a_h * pow2 64) (pow2 s) (pow2 64); + mul_div_cancel a_h (pow2 64); + assert (a_h / pow2 s * pow2 64 == a_h * pow2 64 / pow2 s / pow2 64 * pow2 64); + () + +val u128_div_pow2 (a: t) (s:nat{s < 64}) : + Lemma (v a / pow2 s == U64.v a.low / pow2 s + U64.v a.high * pow2 (64 - s)) +let u128_div_pow2 a s = + Math.pow2_plus (64-s) s; + Math.paren_mul_right (U64.v a.high) (pow2 (64-s)) (pow2 s); + Math.division_addition_lemma (U64.v a.low) (pow2 s) (U64.v a.high * pow2 (64 - s)) + +#restart-solver +let shift_right_small (a: t) (s: U32.t{U32.v s < 64}) : Pure t + (requires True) + (ensures (fun r -> v r == v a / pow2 (U32.v s))) = + if U32.eq s 0ul then a + else + let r = { low = add_u64_shift_right_respec a.high a.low s; + high = U64.shift_right a.high s; } in + let a_h = U64.v a.high in + let a_l = U64.v a.low in + let s = U32.v s in + shift_right_reconstruct a_h s; + assert (v r == a_h * pow2 (64-s) + a_l / pow2 s); + u128_div_pow2 a s; + r + +let shift_right_large (a: t) (s: U32.t{U32.v s >= 64 /\ U32.v s < 128}) : Pure t + (requires True) + (ensures (fun r -> v r == v a / pow2 (U32.v s))) = + let r = { high = U64.uint_to_t 0; + low = U64.shift_right a.high (U32.sub s u32_64); } in + let s = U32.v s in + Math.pow2_plus 64 (s - 64); + div_product (v a) (pow2 64) (pow2 (s - 64)); + assert (v a / pow2 s == v a / pow2 64 / pow2 (s - 64)); + div_plus_multiple (U64.v a.low) (U64.v a.high) (pow2 64); + r + +let shift_right (a: t) (s: U32.t) : Pure t + (requires (U32.v s < 128)) + (ensures (fun r -> v r == v a / pow2 (U32.v s))) = + if U32.lt s u32_64 + then shift_right_small a s + else shift_right_large a s + +let eq (a b:t) = U64.eq a.low b.low && U64.eq a.high b.high +let gt (a b:t) = U64.gt a.high b.high || + (U64.eq a.high b.high && U64.gt a.low b.low) +let lt (a b:t) = U64.lt a.high b.high || + (U64.eq a.high b.high && U64.lt a.low b.low) +let gte (a b:t) = U64.gt a.high b.high || + (U64.eq a.high b.high && U64.gte a.low b.low) +let lte (a b:t) = U64.lt a.high b.high || + (U64.eq a.high b.high && U64.lte a.low b.low) + +let u64_logand_comm (a b:U64.t) : Lemma (U64.logand a b == U64.logand b a) = + UInt.logand_commutative (U64.v a) (U64.v b) + +val u64_and_0 (a b:U64.t) : + Lemma (U64.v b = 0 ==> U64.v (U64.logand a b) = 0) + [SMTPat (U64.logand a b)] +let u64_and_0 a b = UInt.logand_lemma_1 (U64.v a) + +let u64_0_and (a b:U64.t) : + Lemma (U64.v a = 0 ==> U64.v (U64.logand a b) = 0) + [SMTPat (U64.logand a b)] = + u64_logand_comm a b + +val u64_1s_and (a b:U64.t) : + Lemma (U64.v a = pow2 64 - 1 /\ + U64.v b = pow2 64 - 1 ==> U64.v (U64.logand a b) = pow2 64 - 1) + [SMTPat (U64.logand a b)] +let u64_1s_and a b = UInt.logand_lemma_2 (U64.v a) + +let eq_mask (a b: t) : Pure t + (requires True) + (ensures (fun r -> (v a = v b ==> v r = pow2 128 - 1) /\ (v a <> v b ==> v r = 0))) = + let mask = U64.logand (U64.eq_mask a.low b.low) + (U64.eq_mask a.high b.high) in + { low = mask; high = mask; } + +private let gte_characterization (a b: t) : + Lemma (v a >= v b ==> + U64.v a.high > U64.v b.high \/ + (U64.v a.high = U64.v b.high /\ U64.v a.low >= U64.v b.low)) = () + +private let lt_characterization (a b: t) : + Lemma (v a < v b ==> + U64.v a.high < U64.v b.high \/ + (U64.v a.high = U64.v b.high /\ U64.v a.low < U64.v b.low)) = () + +let u64_logor_comm (a b:U64.t) : Lemma (U64.logor a b == U64.logor b a) = + UInt.logor_commutative (U64.v a) (U64.v b) + +val u64_or_1 (a b:U64.t) : + Lemma (U64.v b = pow2 64 - 1 ==> U64.v (U64.logor a b) = pow2 64 - 1) + [SMTPat (U64.logor a b)] +let u64_or_1 a b = UInt.logor_lemma_2 (U64.v a) + +let u64_1_or (a b:U64.t) : + Lemma (U64.v a = pow2 64 - 1 ==> U64.v (U64.logor a b) = pow2 64 - 1) + [SMTPat (U64.logor a b)] = + u64_logor_comm a b + +val u64_or_0 (a b:U64.t) : + Lemma (U64.v a = 0 /\ U64.v b = 0 ==> U64.v (U64.logor a b) = 0) + [SMTPat (U64.logor a b)] +let u64_or_0 a b = UInt.logor_lemma_1 (U64.v a) + +val u64_not_0 (a:U64.t) : + Lemma (U64.v a = 0 ==> U64.v (U64.lognot a) = pow2 64 - 1) + [SMTPat (U64.lognot a)] +let u64_not_0 a = UInt.lognot_lemma_1 #64 + +val u64_not_1 (a:U64.t) : + Lemma (U64.v a = pow2 64 - 1 ==> U64.v (U64.lognot a) = 0) + [SMTPat (U64.lognot a)] +let u64_not_1 a = + UInt.nth_lemma (UInt.lognot #64 (UInt.ones 64)) (UInt.zero 64) + +let gte_mask (a b: t) : Pure t + (requires True) + (ensures (fun r -> (v a >= v b ==> v r = pow2 128 - 1) /\ (v a < v b ==> v r = 0))) = + let mask_hi_gte = U64.logand (U64.gte_mask a.high b.high) + (U64.lognot (U64.eq_mask a.high b.high)) in + let mask_lo_gte = U64.logand (U64.eq_mask a.high b.high) + (U64.gte_mask a.low b.low) in + let mask = U64.logor mask_hi_gte mask_lo_gte in + gte_characterization a b; + lt_characterization a b; + { low = mask; high = mask; } + +let uint64_to_uint128 (a:U64.t) = { low = a; high = U64.uint_to_t 0; } + +let uint128_to_uint64 (a:t) : b:U64.t{U64.v b == v a % pow2 64} = a.low + +inline_for_extraction +let u64_l32_mask: x:U64.t{U64.v x == pow2 32 - 1} = U64.uint_to_t 0xffffffff + +let u64_mod_32 (a: U64.t) : Pure U64.t + (requires True) + (ensures (fun r -> U64.v r = U64.v a % pow2 32)) = + UInt.logand_mask (U64.v a) 32; + U64.logand a u64_l32_mask + +let u64_32_digits (a: U64.t) : Lemma (U64.v a / pow2 32 * pow2 32 + U64.v a % pow2 32 == U64.v a) = + div_mod (U64.v a) (pow2 32) + +val mul32_digits : x:UInt.uint_t 64 -> y:UInt.uint_t 32 -> + Lemma (x * y == (x / pow2 32 * y) * pow2 32 + (x % pow2 32) * y) +let mul32_digits x y = () + +let u32_32 : x:U32.t{U32.v x == 32} = U32.uint_to_t 32 + +#push-options "--z3rlimit 30" +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 + +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); + 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) +let uint_product_bound #n a b = + product_bound a b (pow2 n); + Math.pow2_plus n n + +val u32_product_bound : a:nat{a < pow2 32} -> b:nat{b < pow2 32} -> + Lemma (UInt.size (a * b) 64 /\ a * b < pow2 64 - pow2 32 - 1) +let u32_product_bound a b = + uint_product_bound #32 a b + +let mul32 x y = + let x0 = u64_mod_32 x in + let x1 = U64.shift_right x u32_32 in + u32_product_bound (U64.v x0) (U32.v y); + let x0y = U64.mul x0 (FStar.Int.Cast.uint32_to_uint64 y) in + let x0yl = u64_mod_32 x0y in + let x0yh = U64.shift_right x0y u32_32 in + u32_product_bound (U64.v x1) (U32.v y); + // not in the original C code + let x1y' = U64.mul x1 (FStar.Int.Cast.uint32_to_uint64 y) in + let x1y = U64.add x1y' x0yh in + // correspondence with C: + // r0 = r.low + // r0 is written using u32_combine hi lo = lo + hi << 32 + // r1 = r.high + let r = { low = u32_combine x1y x0yl; + high = U64.shift_right x1y u32_32; } in + u64_32_digits x; + //assert (U64.v x == U64.v x1 * pow2 32 + U64.v x0); + assert (U64.v x0y == U64.v x0 * U32.v y); + u64_32_digits x0y; + //assert (U64.v x0y == U64.v x0yh * pow2 32 + U64.v x0yl); + assert (U64.v x1y' == U64.v x / pow2 32 * U32.v y); + mul32_digits (U64.v x) (U32.v y); + assert (U64.v x * U32.v y == U64.v x1y' * pow2 32 + U64.v x0y); + r + +let l32 (x: UInt.uint_t 64) : UInt.uint_t 32 = x % pow2 32 +let h32 (x: UInt.uint_t 64) : UInt.uint_t 32 = x / pow2 32 + +val mul32_bound : x:UInt.uint_t 32 -> y:UInt.uint_t 32 -> + n:UInt.uint_t 64{n < pow2 64 - pow2 32 - 1 /\ n == x * y} +let mul32_bound x y = + u32_product_bound x y; + x * y + +let pll (x y: U64.t) : n:UInt.uint_t 64{n < pow2 64 - pow2 32 - 1} = + mul32_bound (l32 (U64.v x)) (l32 (U64.v y)) +let plh (x y: U64.t) : n:UInt.uint_t 64{n < pow2 64 - pow2 32 - 1} = + mul32_bound (l32 (U64.v x)) (h32 (U64.v y)) +let phl (x y: U64.t) : n:UInt.uint_t 64{n < pow2 64 - pow2 32 - 1} = + mul32_bound (h32 (U64.v x)) (l32 (U64.v y)) +let phh (x y: U64.t) : n:UInt.uint_t 64{n < pow2 64 - pow2 32 - 1} = + mul32_bound (h32 (U64.v x)) (h32 (U64.v y)) + +let pll_l (x y: U64.t) : UInt.uint_t 32 = + l32 (pll x y) +let pll_h (x y: U64.t) : UInt.uint_t 32 = + h32 (pll x y) + +let mul_wide_low (x y: U64.t) = (plh x y + (phl x y + pll_h x y) % pow2 32) * pow2 32 % pow2 64 + pll_l x y + +let mul_wide_high (x y: U64.t) = + 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 + +inline_for_extraction noextract +let mul_wide_impl_t' (x y: U64.t) : Pure (tuple4 U64.t U64.t U64.t U64.t) + (requires True) + (ensures (fun r -> let (u1, w3, x', t') = r in + U64.v u1 == U64.v x % pow2 32 /\ + U64.v w3 == pll_l x y /\ + U64.v x' == h32 (U64.v x) /\ + U64.v t' == phl x y + pll_h x y)) = + let u1 = u64_mod_32 x in + let v1 = u64_mod_32 y in + u32_product_bound (U64.v u1) (U64.v v1); + let t = U64.mul u1 v1 in + assert (U64.v t == pll x y); + let w3 = u64_mod_32 t in + assert (U64.v w3 == pll_l x y); + let k = U64.shift_right t u32_32 in + assert (U64.v k == pll_h x y); + let x' = U64.shift_right x u32_32 in + assert (U64.v x' == h32 (U64.v x)); + u32_product_bound (U64.v x') (U64.v v1); + let t' = U64.add (U64.mul x' v1) k in + (u1, w3, x', t') + +// similar to u32_combine, but use % 2^64 * 2^32 +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 64 + U64.v lo)) = + U64.add lo (U64.shift_left hi u32_32) + +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 /\ + U64.v r.high == mul_wide_high x y % pow2 64}) = + let (u1, w3, x', t') = mul_wide_impl_t' x y in + let k' = u64_mod_32 t' in + let w1 = U64.shift_right t' u32_32 in + assert (U64.v w1 == (phl x y + pll_h x y) / pow2 32); + let y' = U64.shift_right y u32_32 in + assert (U64.v y' == h32 (U64.v y)); + u32_product_bound (U64.v u1) (U64.v y'); + let t'' = U64.add (U64.mul u1 y') k' in + assert (U64.v t'' == plh x y + (phl x y + pll_h x y) % pow2 32); + let k'' = U64.shift_right t'' u32_32 in + assert (U64.v k'' == (plh x y + (phl x y + pll_h x y) % pow2 32) / pow2 32); + u32_product_bound (U64.v x') (U64.v y'); + mod_mul_pow2 (U64.v t'') 32 64; + let r0 = u32_combine' t'' w3 in + // let r0 = U64.add (U64.shift_left t'' u32_32) w3 in + assert (U64.v r0 == (plh x y + (phl x y + pll_h x y) % pow2 32) * pow2 32 % pow2 64 + pll_l x y); + let xy_w1 = U64.add (U64.mul x' y') w1 in + assert (U64.v xy_w1 == phh x y + (phl x y + pll_h x y) / pow2 32); + let r1 = U64.add_mod xy_w1 k'' in + 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 + +let product_sums (a b c d:nat) : + Lemma ((a + b) * (c + d) == a * c + a * d + b * c + b * d) = () + +val u64_32_product (xl xh yl yh:UInt.uint_t 32) : + Lemma ((xl + xh * pow2 32) * (yl + yh * pow2 32) == + xl * yl + (xl * yh) * pow2 32 + (xh * yl) * pow2 32 + (xh * yh) * pow2 64) +#push-options "--z3rlimit 25" +let u64_32_product xl xh yl yh = + assert (xh >= 0); //flakiness; without this, can't prove that (xh * pow2 32) >= 0 + assert (pow2 32 >= 0); //flakiness; without this, can't prove that (xh * pow2 32) >= 0 + assert (xh*pow2 32 >= 0); + product_sums xl (xh*pow2 32) yl (yh*pow2 32); + mul_abc_to_acb xh (pow2 32) yl; + assert (xl * (yh * pow2 32) == (xl * yh) * pow2 32); + Math.pow2_plus 32 32; + assert ((xh * pow2 32) * (yh * pow2 32) == (xh * yh) * pow2 64) +#pop-options + +let product_expand (x y: U64.t) : + Lemma (U64.v x * U64.v y == phh x y * pow2 64 + + (plh x y + phl x y + pll_h x y) * pow2 32 + + pll_l x y) = + assert (U64.v x == l32 (U64.v x) + h32 (U64.v x) * pow2 32); + assert (U64.v y == l32 (U64.v y) + h32 (U64.v y) * pow2 32); + u64_32_product (l32 (U64.v x)) (h32 (U64.v x)) (l32 (U64.v y)) (h32 (U64.v y)) + +let product_low_expand (x y: U64.t) : + Lemma ((U64.v x * U64.v y) % pow2 64 == + ((plh x y + phl x y + pll_h x y) * pow2 32 + pll_l x y) % pow2 64) = + product_expand x y; + Math.lemma_mod_plus ((plh x y + phl x y + pll_h x y) * pow2 32 + pll_l x y) (phh x y) (pow2 64) + +let add_mod_then_mod (n m:nat) (k:pos) : + Lemma ((n + m % k) % k == (n + m) % k) = + mod_add n m k; + mod_add n (m % k) k; + mod_double m k + +let shift_add (n:nat) (m:nat{m < pow2 32}) : + Lemma (n * pow2 32 % pow2 64 + m == (n * pow2 32 + m) % pow2 64) = + add_mod_small' m (n*pow2 32) (pow2 64) + +let mul_wide_low_ok (x y: U64.t) : + Lemma (mul_wide_low x y == (U64.v x * U64.v y) % pow2 64) = + Math.pow2_plus 32 32; + mod_mul (plh x y + (phl x y + pll_h x y) % pow2 32) (pow2 32) (pow2 32); + assert (mul_wide_low x y == + (plh x y + (phl x y + pll_h x y) % pow2 32) % pow2 32 * pow2 32 + pll_l x y); + add_mod_then_mod (plh x y) (phl x y + pll_h x y) (pow2 32); + assert (mul_wide_low x y == (plh x y + phl x y + pll_h x y) % pow2 32 * pow2 32 + pll_l x y); + mod_mul (plh x y + phl x y + pll_h x y) (pow2 32) (pow2 32); + shift_add (plh x y + phl x y + pll_h x y) (pll_l x y); + 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 + +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 20" +let product_high32 x y = + Math.pow2_plus 32 32; + product_expand x y; + Math.division_addition_lemma (plh x y + phl x y + pll_h x y) (pow2 32) (phh x y * pow2 32); + mul_div_cancel (phh x y * pow2 32) (pow2 32); + mul_div_cancel (plh x y + phl x y + pll_h x y) (pow2 32); + Math.small_division_lemma_1 (pll_l x y) (pow2 32) +#pop-options + +val product_high_expand : x:U64.t -> y:U64.t -> + Lemma ((U64.v x * U64.v y) / pow2 64 == phh x y + (plh x y + phl x y + pll_h x y) / pow2 32) + +#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); + product_high32 x y; + Math.division_addition_lemma (plh x y + phl x y + pll_h x y) (pow2 32) (phh x y); + () +#pop-options + +val mod_spec_multiply : n:nat -> k:pos -> + Lemma ((n - n%k) / k * k == n - n%k) +let mod_spec_multiply n k = + Math.lemma_mod_spec2 n k + +val mod_spec_mod (n:nat) (k:pos) : Lemma ((n - n%k) % k == 0) +let mod_spec_mod n k = + assert (n - n%k == n / k * k); + Math.multiple_modulo_lemma (n/k) k + +let mul_injective (n m:nat) (k:pos) : + Lemma (requires (n * k == m * k)) + (ensures (n == m)) = () + +val div_sum_combine1 : n:nat -> m:nat -> k:pos -> + Lemma ((n / k + m / k) * k == (n - n % k) + (m - m % k)) +let div_sum_combine1 n m k = + Math.distributivity_add_left (n / k) (m / k) k; + div_mod n k; + div_mod m k; + () + +let mod_0 (k:pos) : + Lemma (0 % k == 0) = () + +let n_minus_mod_exact (n:nat) (k:pos) : + Lemma ((n - n % k) % k == 0) = + mod_spec_mod n k; + mod_0 k + +let sub_mod_gt_0 (n:nat) (k:pos) : + Lemma (0 <= n - n % k) = () + +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)) +#push-options "--retry 5" // sporadically fails +let sum_rounded_mod_exact n m k = + n_minus_mod_exact n k; + n_minus_mod_exact m k; + sub_mod_gt_0 n k; + sub_mod_gt_0 m k; + mod_add (n - n%k) (m - m%k) k; + Math.div_exact_r ((n - n%k) + (m - m % k)) k +#pop-options + +val div_sum_combine : n:nat -> m:nat -> k:pos -> + Lemma (n / k + m / k == (n + (m - n % k) - m % k) / k) +#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)) +#pop-options + +val sum_shift_carry : a:nat -> b:nat -> k:pos -> + Lemma (a / k + (b + a%k) / k == (a + b) / k) +let sum_shift_carry a b k = + div_sum_combine a (b+a%k) k; +// assert (a / k + (b + a%k) / k == (a + b + (a % k - a % k) - (b + a%k) % k) / k); +// assert ((a + b + (a % k - a % k) - (b + a%k) % k) / k == (a + b - (b + a%k) % k) / k); + add_mod_then_mod b a k; + Math.lemma_mod_spec (a+b) k + +let mul_wide_high_ok (x y: U64.t) : + Lemma ((U64.v x * U64.v y) / pow2 64 == mul_wide_high x y) = + product_high_expand x y; + sum_shift_carry (phl x y + pll_h x y) (plh x y) (pow2 32) + +let product_div_bound (#n:pos) (x y: UInt.uint_t n) : + Lemma (x * y / pow2 n < pow2 n) = + Math.pow2_plus n n; + product_bound x y (pow2 n); + pow2_div_bound #(n+n) (x * y) n + +let mul_wide (x y:U64.t) : Pure t + (requires True) + (ensures (fun r -> v r == U64.v x * U64.v y)) = + mul_wide_low_ok x y; + mul_wide_high_ok x y; + product_div_bound (U64.v x) (U64.v y); + Math.modulo_lemma (mul_wide_high x y) (pow2 64); + mul_wide_impl x y diff --git a/stage0/ulib/FStar.UInt128.fsti b/stage0/ulib/FStar.UInt128.fsti new file mode 100644 index 00000000000..88f6da8fc42 --- /dev/null +++ b/stage0/ulib/FStar.UInt128.fsti @@ -0,0 +1,168 @@ +(* + 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.UInt128 + +open FStar.UInt +open FStar.Mul + +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 + +noextract +let n = 128 + +val t: (x:Type0{hasEq x}) + +[@@ noextract_to "krml"] +val v (x:t) : Tot (uint_t n) + +[@@ noextract_to "krml"] +val uint_to_t: x:uint_t n -> Pure t + (requires True) + (ensures (fun y -> v y = x)) + +val v_inj (x1 x2: t): Lemma (requires (v x1 == v x2)) (ensures (x1 == x2)) + +val add: a:t -> b:t -> Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +val add_underspec: a:t -> b:t -> Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +val add_mod: a:t -> b:t -> Pure t + (requires True) + (ensures (fun c -> (v a + v b) % pow2 n = v c)) + +(* Subtraction primitives *) +val sub: a:t -> b:t -> Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +val sub_underspec: a:t -> b:t -> Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +val sub_mod: a:t -> b:t -> Pure t + (requires True) + (ensures (fun c -> (v a - v b) % pow2 n = v c)) + +(* Bitwise operators *) +val logand: a:t -> b:t -> Pure t + (requires True) + (ensures (fun r -> v r == logand (v a) (v b))) + +val logxor: a:t -> b:t -> Pure t + (requires True) + (ensures (fun r -> v r == logxor (v a) (v b))) + +val logor: a:t -> b:t -> Pure t + (requires True) + (ensures (fun r -> v r == logor (v a) (v b))) + +val lognot: a:t -> Pure t + (requires True) + (ensures (fun r -> v r == lognot (v a))) + +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verifiation check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t = + assume (fits x 128); + uint_to_t x + + +(* Shift operators *) +val shift_left: a:t -> s:UInt32.t -> Pure t + (requires (U32.v s < n)) + (ensures (fun c -> v c = ((v a * pow2 (UInt32.v s)) % pow2 n))) + +val shift_right: a:t -> s:UInt32.t -> Pure t + (requires (U32.v s < n)) + (ensures (fun c -> v c = (v a / (pow2 (UInt32.v s))))) + +(* Comparison operators *) + +val eq (a:t) (b:t) : Pure bool + (requires True) + (ensures (fun r -> r == eq #n (v a) (v b))) + +val gt (a:t) (b:t) : Pure bool + (requires True) + (ensures (fun r -> r == gt #n (v a) (v b))) + +val lt (a:t) (b:t) : Pure bool + (requires True) + (ensures (fun r -> r == lt #n (v a) (v b))) + +val gte (a:t) (b:t) : Pure bool + (requires True) + (ensures (fun r -> r == gte #n (v a) (v b))) + +val lte (a:t) (b:t) : Pure bool + (requires True) + (ensures (fun r -> r == lte #n (v a) (v b))) + +val eq_mask: a:t -> b:t -> Tot (c:t{(v a = v b ==> v c = pow2 n - 1) /\ (v a <> v b ==> v c = 0)}) + +val gte_mask: a:t -> b:t -> Tot (c:t{(v a >= v b ==> v c = pow2 n - 1) /\ (v a < v b ==> v c = 0)}) + +(* Casts *) +val uint64_to_uint128: a:U64.t -> b:t{v b == U64.v a} +val uint128_to_uint64: a:t -> b:U64.t{U64.v b == v a % pow2 64} + +(* To input / output constants *) +(* TODO: assume these without implementations *) +//val to_string: t -> Tot string +//val of_string: string -> Tot t + +(* Infix notations *) +inline_for_extraction noextract let op_Plus_Hat = add +inline_for_extraction noextract let op_Plus_Question_Hat = add_underspec +inline_for_extraction noextract let op_Plus_Percent_Hat = add_mod +inline_for_extraction noextract let op_Subtraction_Hat = sub +inline_for_extraction noextract let op_Subtraction_Question_Hat = sub_underspec +inline_for_extraction noextract let op_Subtraction_Percent_Hat = sub_mod +inline_for_extraction noextract let op_Amp_Hat = logand +inline_for_extraction noextract let op_Hat_Hat = logxor +inline_for_extraction noextract let op_Bar_Hat = logor +inline_for_extraction noextract let op_Less_Less_Hat = shift_left +inline_for_extraction noextract let op_Greater_Greater_Hat = shift_right +inline_for_extraction noextract let op_Equals_Hat = eq +inline_for_extraction noextract let op_Greater_Hat = gt +inline_for_extraction noextract let op_Less_Hat = lt +inline_for_extraction noextract let op_Greater_Equals_Hat = gte +inline_for_extraction noextract let op_Less_Equals_Hat = lte + +(* Multiplication primitives *) +(* Note that unlike UIntN, we do not provide uint128 * uint128 primitives (mul, + mul_underspec, mul_mod, and mul_div) *) +val mul32: x:U64.t -> y:U32.t -> Pure t + (requires True) + (ensures (fun r -> v r == U64.v x * U32.v y)) + +val mul_wide: x:U64.t -> y:U64.t -> Pure t + (requires True) + (ensures (fun r -> v r == U64.v x * U64.v y)) diff --git a/stage0/ulib/FStar.UInt16.fst b/stage0/ulib/FStar.UInt16.fst new file mode 100644 index 00000000000..64d0467f5d8 --- /dev/null +++ b/stage0/ulib/FStar.UInt16.fst @@ -0,0 +1,92 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt16 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +type t : eqtype = + | Mk: v:uint_t n -> t + +let v x = x.v + +irreducible +let uint_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = uint_to_t 0 + +let one = uint_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let add_underspec a b = Mk (add_underspec (v a) (v b)) + +let add_mod a b = Mk (add_mod (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let sub_underspec a b = Mk (sub_underspec (v a) (v b)) + +let sub_mod a b = Mk (sub_mod (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let mul_underspec a b = Mk (mul_underspec (v a) (v b)) + +let mul_mod a b = Mk (mul_mod (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +#push-options "--z3rlimit 80 --fuel 1" //AR: working around the interleaving semantics of pragmas + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let lemma_sub_msbs a b + = from_vec_propriety (to_vec (v a)) 1; + from_vec_propriety (to_vec (v b)) 1; + from_vec_propriety (to_vec (v (sub_mod a b))) 1 + +#pop-options + +let to_string _ = admit () + +let to_string_hex _ = admit () + +let to_string_hex_pad _ = admit () + +let of_string _ = admit () diff --git a/stage0/ulib/FStar.UInt16.fsti b/stage0/ulib/FStar.UInt16.fsti new file mode 100644 index 00000000000..587a4b41d3c --- /dev/null +++ b/stage0/ulib/FStar.UInt16.fsti @@ -0,0 +1,362 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt16 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 16 + +/// For FStar.UIntN.fstp: anything that you fix/update here should be +/// reflected in [FStar.IntN.fstp], which is mostly a copy-paste of +/// this module. +/// +/// Except, as compared to [FStar.IntN.fstp], here: +/// - every occurrence of [int_t] has been replaced with [uint_t] +/// - every occurrence of [@%] has been replaced with [%]. +/// - some functions (e.g., add_underspec, etc.) are only defined here, not on signed integers + +/// This module provides an abstract type for machine integers of a +/// given signedness and width. The interface is designed to be safe +/// with respect to arithmetic underflow and overflow. + +/// Note, we have attempted several times to re-design this module to +/// make it more amenable to normalization and to impose less overhead +/// on the SMT solver when reasoning about machine integer +/// arithmetic. The following github issue reports on the current +/// status of that work. +/// +/// https://github.com/FStarLang/FStar/issues/1757 + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(** Abstract type of machine integers, with an underlying + representation using a bounded mathematical integer *) +new val t : eqtype + +(** A coercion that projects a bounded mathematical integer from a + machine integer *) +val v (x:t) : Tot (uint_t n) + +(** A coercion that injects a bounded mathematical integers into a + machine integer *) +val uint_to_t (x:uint_t n) : Pure t + (requires True) + (ensures (fun y -> v y = x)) + +(** Injection/projection inverse *) +val uv_inv (x : t) : Lemma + (ensures (uint_to_t (v x) == x)) + [SMTPat (v x)] + +(** Projection/injection inverse *) +val vu_inv (x : uint_t n) : Lemma + (ensures (v (uint_to_t x) == x)) + [SMTPat (uint_to_t x)] + +(** An alternate form of the injectivity of the [v] projection *) +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +(** Constants 0 and 1 *) +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +(**** Addition primitives *) + +(** Bounds-respecting addition + + The precondition enforces that the sum does not overflow, + expressing the bound as an addition on mathematical integers *) +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(** Underspecified, possibly overflowing addition: + + The postcondition only enures that the result is the sum of the + arguments in case there is no overflow *) +val add_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +(** Addition modulo [2^n] + + Machine integers can always be added, but the postcondition is now + in terms of addition modulo [2^n] on mathematical integers *) +val add_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.add_mod (v a) (v b) = v c)) + +(**** Subtraction primitives *) + + +(** Bounds-respecting subtraction + + The precondition enforces that the difference does not underflow, + expressing the bound as a difference on mathematical integers *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(** Underspecified, possibly overflowing subtraction: + + The postcondition only enures that the result is the difference of + the arguments in case there is no underflow *) +val sub_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +(** Subtraction modulo [2^n] + + Machine integers can always be subtractd, but the postcondition is + now in terms of subtraction modulo [2^n] on mathematical integers *) +val sub_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.sub_mod (v a) (v b) = v c)) + +(**** Multiplication primitives *) + + +(** Bounds-respecting multiplication + + The precondition enforces that the product does not overflow, + expressing the bound as a product on mathematical integers *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(** Underspecified, possibly overflowing product + + The postcondition only enures that the result is the product of + the arguments in case there is no overflow *) +val mul_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a * v b) n ==> v a * v b = v c)) + +(** Multiplication modulo [2^n] + + Machine integers can always be multiplied, but the postcondition + is now in terms of product modulo [2^n] on mathematical integers *) +val mul_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mul_mod (v a) (v b) = v c)) + +(**** Division primitives *) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(**** Modulo primitives *) + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mod (v a) (v b) = v c)) + +(**** Bitwise operators *) + +/// Also see FStar.BV + +(** Bitwise logical conjunction *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +(** Bitwise logical exclusive-or *) +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +(** Bitwise logical disjunction *) +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +(** Bitwise logical negation *) +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(**** Shift operators *) + +(** Shift right with zero fill, shifting at most the integer width *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_right (v a) (UInt32.v s) = v c)) + +(** Shift left with zero fill, shifting at most the integer width *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_left (v a) (UInt32.v s) = v c)) + +(**** Comparison operators *) + +(** Equality + + Note, it is safe to also use the polymorphic decidable equality + operator [=] *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) + +(** Greater than *) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) + +(** Greater than or equal *) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) + +(** Less than *) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) + +(** Less than or equal *) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(** Unary negation *) +inline_for_extraction +let minus (a:t) = add_mod (lognot a) (uint_to_t 1) + +(** The maximum shift value for this type, i.e. its width minus one, + as an UInt32. *) +inline_for_extraction +let n_minus_one = UInt32.uint_to_t (n - 1) + +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" + +(** A constant-time way to compute the equality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b + + Note, the branching on [a=b] is just for proof-purposes. + *) +[@ CNoInline ] +let eq_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a = v b ==> v c = pow2 n - 1) /\ + (v a <> v b ==> v c = 0))) + = let x = logxor a b in + let minus_x = minus x in + let x_or_minus_x = logor x minus_x in + let xnx = shift_right x_or_minus_x n_minus_one in + let c = sub_mod xnx (uint_to_t 1) in + if a = b then + begin + logxor_self (v a); + lognot_lemma_1 #n; + logor_lemma_1 (v x); + assert (v x = 0 /\ v minus_x = 0 /\ + v x_or_minus_x = 0 /\ v xnx = 0); + assert (v c = ones n) + end + else + begin + logxor_neq_nonzero (v a) (v b); + lemma_msb_pow2 #n (v (lognot x)); + lemma_msb_pow2 #n (v minus_x); + lemma_minus_zero #n (v x); + assert (v c = FStar.UInt.zero n) + end; + c + +private +val lemma_sub_msbs (a:t) (b:t) + : Lemma ((msb (v a) = msb (v b)) ==> (v a < v b <==> msb (v (sub_mod a b)))) + +(** A constant-time way to compute the [>=] inequality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=0a483a9b431d87eca1b275463c632f8d5551978a + *) +[@ CNoInline ] +let gte_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a >= v b ==> v c = pow2 n - 1) /\ + (v a < v b ==> v c = 0))) + = let x = a in + let y = b in + let x_xor_y = logxor x y in + let x_sub_y = sub_mod x y in + let x_sub_y_xor_y = logxor x_sub_y y in + let q = logor x_xor_y x_sub_y_xor_y in + let x_xor_q = logxor x q in + let x_xor_q_ = shift_right x_xor_q n_minus_one in + let c = sub_mod x_xor_q_ (uint_to_t 1) in + lemma_sub_msbs x y; + lemma_msb_gte (v x) (v y); + lemma_msb_gte (v y) (v x); + c +#reset-options + +(*** Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Plus_Question_Hat = add_underspec +unfold let op_Plus_Percent_Hat = add_mod +unfold let op_Subtraction_Hat = sub +unfold let op_Subtraction_Question_Hat = sub_underspec +unfold let op_Subtraction_Percent_Hat = sub_mod +unfold let op_Star_Hat = mul +unfold let op_Star_Question_Hat = mul_underspec +unfold let op_Star_Percent_Hat = mul_mod +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +(**** To input / output constants *) +(** In decimal representation *) +val to_string: t -> Tot string + +(** In hex representation (with leading 0x) *) +val to_string_hex: t -> Tot string + +(** In fixed-width hex representation (left-padded with zeroes, no leading 0x) *) +val to_string_hex_pad: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = uint_to_t x +#reset-options diff --git a/stage0/ulib/FStar.UInt32.fst b/stage0/ulib/FStar.UInt32.fst new file mode 100644 index 00000000000..e87d8b968f9 --- /dev/null +++ b/stage0/ulib/FStar.UInt32.fst @@ -0,0 +1,92 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt32 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +type t : eqtype = + | Mk: v:uint_t n -> t + +let v x = x.v + +irreducible +let uint_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = uint_to_t 0 + +let one = uint_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let add_underspec a b = Mk (add_underspec (v a) (v b)) + +let add_mod a b = Mk (add_mod (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let sub_underspec a b = Mk (sub_underspec (v a) (v b)) + +let sub_mod a b = Mk (sub_mod (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let mul_underspec a b = Mk (mul_underspec (v a) (v b)) + +let mul_mod a b = Mk (mul_mod (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (v s)) + +#push-options "--z3rlimit 80 --fuel 1" //AR: working around the interleaving semantics of pragmas + +let shift_left a s = Mk (shift_left (v a) (v s)) + +let lemma_sub_msbs a b + = from_vec_propriety (to_vec (v a)) 1; + from_vec_propriety (to_vec (v b)) 1; + from_vec_propriety (to_vec (v (sub_mod a b))) 1 + +#pop-options + +let to_string _ = admit () + +let to_string_hex _ = admit () + +let to_string_hex_pad _ = admit () + +let of_string _ = admit () diff --git a/stage0/ulib/FStar.UInt32.fsti b/stage0/ulib/FStar.UInt32.fsti new file mode 100644 index 00000000000..1d32e55cd76 --- /dev/null +++ b/stage0/ulib/FStar.UInt32.fsti @@ -0,0 +1,362 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt32 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 32 + +/// For FStar.UIntN.fstp: anything that you fix/update here should be +/// reflected in [FStar.IntN.fstp], which is mostly a copy-paste of +/// this module. +/// +/// Except, as compared to [FStar.IntN.fstp], here: +/// - every occurrence of [int_t] has been replaced with [uint_t] +/// - every occurrence of [@%] has been replaced with [%]. +/// - some functions (e.g., add_underspec, etc.) are only defined here, not on signed integers + +/// This module provides an abstract type for machine integers of a +/// given signedness and width. The interface is designed to be safe +/// with respect to arithmetic underflow and overflow. + +/// Note, we have attempted several times to re-design this module to +/// make it more amenable to normalization and to impose less overhead +/// on the SMT solver when reasoning about machine integer +/// arithmetic. The following github issue reports on the current +/// status of that work. +/// +/// https://github.com/FStarLang/FStar/issues/1757 + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(** Abstract type of machine integers, with an underlying + representation using a bounded mathematical integer *) +new val t : eqtype + +(** A coercion that projects a bounded mathematical integer from a + machine integer *) +val v (x:t) : Tot (uint_t n) + +(** A coercion that injects a bounded mathematical integers into a + machine integer *) +val uint_to_t (x:uint_t n) : Pure t + (requires True) + (ensures (fun y -> v y = x)) + +(** Injection/projection inverse *) +val uv_inv (x : t) : Lemma + (ensures (uint_to_t (v x) == x)) + [SMTPat (v x)] + +(** Projection/injection inverse *) +val vu_inv (x : uint_t n) : Lemma + (ensures (v (uint_to_t x) == x)) + [SMTPat (uint_to_t x)] + +(** An alternate form of the injectivity of the [v] projection *) +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +(** Constants 0 and 1 *) +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +(**** Addition primitives *) + +(** Bounds-respecting addition + + The precondition enforces that the sum does not overflow, + expressing the bound as an addition on mathematical integers *) +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(** Underspecified, possibly overflowing addition: + + The postcondition only enures that the result is the sum of the + arguments in case there is no overflow *) +val add_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +(** Addition modulo [2^n] + + Machine integers can always be added, but the postcondition is now + in terms of addition modulo [2^n] on mathematical integers *) +val add_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.add_mod (v a) (v b) = v c)) + +(**** Subtraction primitives *) + + +(** Bounds-respecting subtraction + + The precondition enforces that the difference does not underflow, + expressing the bound as a difference on mathematical integers *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(** Underspecified, possibly overflowing subtraction: + + The postcondition only enures that the result is the difference of + the arguments in case there is no underflow *) +val sub_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +(** Subtraction modulo [2^n] + + Machine integers can always be subtractd, but the postcondition is + now in terms of subtraction modulo [2^n] on mathematical integers *) +val sub_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.sub_mod (v a) (v b) = v c)) + +(**** Multiplication primitives *) + + +(** Bounds-respecting multiplication + + The precondition enforces that the product does not overflow, + expressing the bound as a product on mathematical integers *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(** Underspecified, possibly overflowing product + + The postcondition only enures that the result is the product of + the arguments in case there is no overflow *) +val mul_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a * v b) n ==> v a * v b = v c)) + +(** Multiplication modulo [2^n] + + Machine integers can always be multiplied, but the postcondition + is now in terms of product modulo [2^n] on mathematical integers *) +val mul_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mul_mod (v a) (v b) = v c)) + +(**** Division primitives *) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(**** Modulo primitives *) + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mod (v a) (v b) = v c)) + +(**** Bitwise operators *) + +/// Also see FStar.BV + +(** Bitwise logical conjunction *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +(** Bitwise logical exclusive-or *) +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +(** Bitwise logical disjunction *) +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +(** Bitwise logical negation *) +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(**** Shift operators *) + +(** Shift right with zero fill, shifting at most the integer width *) +val shift_right (a:t) (s:t) : Pure t + (requires (v s < n)) + (ensures (fun c -> FStar.UInt.shift_right (v a) (v s) = v c)) + +(** Shift left with zero fill, shifting at most the integer width *) +val shift_left (a:t) (s:t) : Pure t + (requires (v s < n)) + (ensures (fun c -> FStar.UInt.shift_left (v a) (v s) = v c)) + +(**** Comparison operators *) + +(** Equality + + Note, it is safe to also use the polymorphic decidable equality + operator [=] *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) + +(** Greater than *) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) + +(** Greater than or equal *) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) + +(** Less than *) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) + +(** Less than or equal *) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(** Unary negation *) +inline_for_extraction +let minus (a:t) = add_mod (lognot a) (uint_to_t 1) + +(** The maximum shift value for this type, i.e. its width minus one, + as an *) +inline_for_extraction +let n_minus_one = uint_to_t (n - 1) + +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" + +(** A constant-time way to compute the equality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b + + Note, the branching on [a=b] is just for proof-purposes. + *) +[@ CNoInline ] +let eq_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a = v b ==> v c = pow2 n - 1) /\ + (v a <> v b ==> v c = 0))) + = let x = logxor a b in + let minus_x = minus x in + let x_or_minus_x = logor x minus_x in + let xnx = shift_right x_or_minus_x n_minus_one in + let c = sub_mod xnx (uint_to_t 1) in + if a = b then + begin + logxor_self (v a); + lognot_lemma_1 #n; + logor_lemma_1 (v x); + assert (v x = 0 /\ v minus_x = 0 /\ + v x_or_minus_x = 0 /\ v xnx = 0); + assert (v c = ones n) + end + else + begin + logxor_neq_nonzero (v a) (v b); + lemma_msb_pow2 #n (v (lognot x)); + lemma_msb_pow2 #n (v minus_x); + lemma_minus_zero #n (v x); + assert (v c = FStar.UInt.zero n) + end; + c + +private +val lemma_sub_msbs (a:t) (b:t) + : Lemma ((msb (v a) = msb (v b)) ==> (v a < v b <==> msb (v (sub_mod a b)))) + +(** A constant-time way to compute the [>=] inequality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=0a483a9b431d87eca1b275463c632f8d5551978a + *) +[@ CNoInline ] +let gte_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a >= v b ==> v c = pow2 n - 1) /\ + (v a < v b ==> v c = 0))) + = let x = a in + let y = b in + let x_xor_y = logxor x y in + let x_sub_y = sub_mod x y in + let x_sub_y_xor_y = logxor x_sub_y y in + let q = logor x_xor_y x_sub_y_xor_y in + let x_xor_q = logxor x q in + let x_xor_q_ = shift_right x_xor_q n_minus_one in + let c = sub_mod x_xor_q_ (uint_to_t 1) in + lemma_sub_msbs x y; + lemma_msb_gte (v x) (v y); + lemma_msb_gte (v y) (v x); + c +#reset-options + +(*** Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Plus_Question_Hat = add_underspec +unfold let op_Plus_Percent_Hat = add_mod +unfold let op_Subtraction_Hat = sub +unfold let op_Subtraction_Question_Hat = sub_underspec +unfold let op_Subtraction_Percent_Hat = sub_mod +unfold let op_Star_Hat = mul +unfold let op_Star_Question_Hat = mul_underspec +unfold let op_Star_Percent_Hat = mul_mod +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +(**** To input / output constants *) +(** In decimal representation *) +val to_string: t -> Tot string + +(** In hex representation (with leading 0x) *) +val to_string_hex: t -> Tot string + +(** In fixed-width hex representation (left-padded with zeroes, no leading 0x) *) +val to_string_hex_pad: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = uint_to_t x +#reset-options diff --git a/stage0/ulib/FStar.UInt64.fst b/stage0/ulib/FStar.UInt64.fst new file mode 100644 index 00000000000..16333a891e9 --- /dev/null +++ b/stage0/ulib/FStar.UInt64.fst @@ -0,0 +1,92 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt64 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +type t : eqtype = + | Mk: v:uint_t n -> t + +let v x = x.v + +irreducible +let uint_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = uint_to_t 0 + +let one = uint_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let add_underspec a b = Mk (add_underspec (v a) (v b)) + +let add_mod a b = Mk (add_mod (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let sub_underspec a b = Mk (sub_underspec (v a) (v b)) + +let sub_mod a b = Mk (sub_mod (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let mul_underspec a b = Mk (mul_underspec (v a) (v b)) + +let mul_mod a b = Mk (mul_mod (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +#push-options "--z3rlimit 80 --fuel 1" //AR: working around the interleaving semantics of pragmas + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let lemma_sub_msbs a b + = from_vec_propriety (to_vec (v a)) 1; + from_vec_propriety (to_vec (v b)) 1; + from_vec_propriety (to_vec (v (sub_mod a b))) 1 + +#pop-options + +let to_string _ = admit () + +let to_string_hex _ = admit () + +let to_string_hex_pad _ = admit () + +let of_string _ = admit () diff --git a/stage0/ulib/FStar.UInt64.fsti b/stage0/ulib/FStar.UInt64.fsti new file mode 100644 index 00000000000..c83d48a5cc0 --- /dev/null +++ b/stage0/ulib/FStar.UInt64.fsti @@ -0,0 +1,362 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt64 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 64 + +/// For FStar.UIntN.fstp: anything that you fix/update here should be +/// reflected in [FStar.IntN.fstp], which is mostly a copy-paste of +/// this module. +/// +/// Except, as compared to [FStar.IntN.fstp], here: +/// - every occurrence of [int_t] has been replaced with [uint_t] +/// - every occurrence of [@%] has been replaced with [%]. +/// - some functions (e.g., add_underspec, etc.) are only defined here, not on signed integers + +/// This module provides an abstract type for machine integers of a +/// given signedness and width. The interface is designed to be safe +/// with respect to arithmetic underflow and overflow. + +/// Note, we have attempted several times to re-design this module to +/// make it more amenable to normalization and to impose less overhead +/// on the SMT solver when reasoning about machine integer +/// arithmetic. The following github issue reports on the current +/// status of that work. +/// +/// https://github.com/FStarLang/FStar/issues/1757 + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(** Abstract type of machine integers, with an underlying + representation using a bounded mathematical integer *) +new val t : eqtype + +(** A coercion that projects a bounded mathematical integer from a + machine integer *) +val v (x:t) : Tot (uint_t n) + +(** A coercion that injects a bounded mathematical integers into a + machine integer *) +val uint_to_t (x:uint_t n) : Pure t + (requires True) + (ensures (fun y -> v y = x)) + +(** Injection/projection inverse *) +val uv_inv (x : t) : Lemma + (ensures (uint_to_t (v x) == x)) + [SMTPat (v x)] + +(** Projection/injection inverse *) +val vu_inv (x : uint_t n) : Lemma + (ensures (v (uint_to_t x) == x)) + [SMTPat (uint_to_t x)] + +(** An alternate form of the injectivity of the [v] projection *) +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +(** Constants 0 and 1 *) +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +(**** Addition primitives *) + +(** Bounds-respecting addition + + The precondition enforces that the sum does not overflow, + expressing the bound as an addition on mathematical integers *) +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(** Underspecified, possibly overflowing addition: + + The postcondition only enures that the result is the sum of the + arguments in case there is no overflow *) +val add_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +(** Addition modulo [2^n] + + Machine integers can always be added, but the postcondition is now + in terms of addition modulo [2^n] on mathematical integers *) +val add_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.add_mod (v a) (v b) = v c)) + +(**** Subtraction primitives *) + + +(** Bounds-respecting subtraction + + The precondition enforces that the difference does not underflow, + expressing the bound as a difference on mathematical integers *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(** Underspecified, possibly overflowing subtraction: + + The postcondition only enures that the result is the difference of + the arguments in case there is no underflow *) +val sub_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +(** Subtraction modulo [2^n] + + Machine integers can always be subtractd, but the postcondition is + now in terms of subtraction modulo [2^n] on mathematical integers *) +val sub_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.sub_mod (v a) (v b) = v c)) + +(**** Multiplication primitives *) + + +(** Bounds-respecting multiplication + + The precondition enforces that the product does not overflow, + expressing the bound as a product on mathematical integers *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(** Underspecified, possibly overflowing product + + The postcondition only enures that the result is the product of + the arguments in case there is no overflow *) +val mul_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a * v b) n ==> v a * v b = v c)) + +(** Multiplication modulo [2^n] + + Machine integers can always be multiplied, but the postcondition + is now in terms of product modulo [2^n] on mathematical integers *) +val mul_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mul_mod (v a) (v b) = v c)) + +(**** Division primitives *) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(**** Modulo primitives *) + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mod (v a) (v b) = v c)) + +(**** Bitwise operators *) + +/// Also see FStar.BV + +(** Bitwise logical conjunction *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +(** Bitwise logical exclusive-or *) +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +(** Bitwise logical disjunction *) +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +(** Bitwise logical negation *) +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(**** Shift operators *) + +(** Shift right with zero fill, shifting at most the integer width *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_right (v a) (UInt32.v s) = v c)) + +(** Shift left with zero fill, shifting at most the integer width *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_left (v a) (UInt32.v s) = v c)) + +(**** Comparison operators *) + +(** Equality + + Note, it is safe to also use the polymorphic decidable equality + operator [=] *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) + +(** Greater than *) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) + +(** Greater than or equal *) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) + +(** Less than *) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) + +(** Less than or equal *) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(** Unary negation *) +inline_for_extraction +let minus (a:t) = add_mod (lognot a) (uint_to_t 1) + +(** The maximum shift value for this type, i.e. its width minus one, + as an UInt32. *) +inline_for_extraction +let n_minus_one = UInt32.uint_to_t (n - 1) + +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" + +(** A constant-time way to compute the equality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b + + Note, the branching on [a=b] is just for proof-purposes. + *) +[@ CNoInline ] +let eq_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a = v b ==> v c = pow2 n - 1) /\ + (v a <> v b ==> v c = 0))) + = let x = logxor a b in + let minus_x = minus x in + let x_or_minus_x = logor x minus_x in + let xnx = shift_right x_or_minus_x n_minus_one in + let c = sub_mod xnx (uint_to_t 1) in + if a = b then + begin + logxor_self (v a); + lognot_lemma_1 #n; + logor_lemma_1 (v x); + assert (v x = 0 /\ v minus_x = 0 /\ + v x_or_minus_x = 0 /\ v xnx = 0); + assert (v c = ones n) + end + else + begin + logxor_neq_nonzero (v a) (v b); + lemma_msb_pow2 #n (v (lognot x)); + lemma_msb_pow2 #n (v minus_x); + lemma_minus_zero #n (v x); + assert (v c = FStar.UInt.zero n) + end; + c + +private +val lemma_sub_msbs (a:t) (b:t) + : Lemma ((msb (v a) = msb (v b)) ==> (v a < v b <==> msb (v (sub_mod a b)))) + +(** A constant-time way to compute the [>=] inequality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=0a483a9b431d87eca1b275463c632f8d5551978a + *) +[@ CNoInline ] +let gte_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a >= v b ==> v c = pow2 n - 1) /\ + (v a < v b ==> v c = 0))) + = let x = a in + let y = b in + let x_xor_y = logxor x y in + let x_sub_y = sub_mod x y in + let x_sub_y_xor_y = logxor x_sub_y y in + let q = logor x_xor_y x_sub_y_xor_y in + let x_xor_q = logxor x q in + let x_xor_q_ = shift_right x_xor_q n_minus_one in + let c = sub_mod x_xor_q_ (uint_to_t 1) in + lemma_sub_msbs x y; + lemma_msb_gte (v x) (v y); + lemma_msb_gte (v y) (v x); + c +#reset-options + +(*** Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Plus_Question_Hat = add_underspec +unfold let op_Plus_Percent_Hat = add_mod +unfold let op_Subtraction_Hat = sub +unfold let op_Subtraction_Question_Hat = sub_underspec +unfold let op_Subtraction_Percent_Hat = sub_mod +unfold let op_Star_Hat = mul +unfold let op_Star_Question_Hat = mul_underspec +unfold let op_Star_Percent_Hat = mul_mod +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +(**** To input / output constants *) +(** In decimal representation *) +val to_string: t -> Tot string + +(** In hex representation (with leading 0x) *) +val to_string_hex: t -> Tot string + +(** In fixed-width hex representation (left-padded with zeroes, no leading 0x) *) +val to_string_hex_pad: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = uint_to_t x +#reset-options diff --git a/stage0/ulib/FStar.UInt8.fst b/stage0/ulib/FStar.UInt8.fst new file mode 100644 index 00000000000..00b53f2d14e --- /dev/null +++ b/stage0/ulib/FStar.UInt8.fst @@ -0,0 +1,92 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt8 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +type t : eqtype = + | Mk: v:uint_t n -> t + +let v x = x.v + +irreducible +let uint_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = uint_to_t 0 + +let one = uint_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let add_underspec a b = Mk (add_underspec (v a) (v b)) + +let add_mod a b = Mk (add_mod (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let sub_underspec a b = Mk (sub_underspec (v a) (v b)) + +let sub_mod a b = Mk (sub_mod (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let mul_underspec a b = Mk (mul_underspec (v a) (v b)) + +let mul_mod a b = Mk (mul_mod (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +#push-options "--z3rlimit 80 --fuel 1" //AR: working around the interleaving semantics of pragmas + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let lemma_sub_msbs a b + = from_vec_propriety (to_vec (v a)) 1; + from_vec_propriety (to_vec (v b)) 1; + from_vec_propriety (to_vec (v (sub_mod a b))) 1 + +#pop-options + +let to_string _ = admit () + +let to_string_hex _ = admit () + +let to_string_hex_pad _ = admit () + +let of_string _ = admit () diff --git a/stage0/ulib/FStar.UInt8.fsti b/stage0/ulib/FStar.UInt8.fsti new file mode 100644 index 00000000000..4f36d383f53 --- /dev/null +++ b/stage0/ulib/FStar.UInt8.fsti @@ -0,0 +1,363 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.UInt8 + +(**** THIS MODULE IS GENERATED AUTOMATICALLY USING [mk_int.sh], DO NOT EDIT DIRECTLY ****) + +unfold let n = 8 + +/// For FStar.UIntN.fstp: anything that you fix/update here should be +/// reflected in [FStar.IntN.fstp], which is mostly a copy-paste of +/// this module. +/// +/// Except, as compared to [FStar.IntN.fstp], here: +/// - every occurrence of [int_t] has been replaced with [uint_t] +/// - every occurrence of [@%] has been replaced with [%]. +/// - some functions (e.g., add_underspec, etc.) are only defined here, not on signed integers + +/// This module provides an abstract type for machine integers of a +/// given signedness and width. The interface is designed to be safe +/// with respect to arithmetic underflow and overflow. + +/// Note, we have attempted several times to re-design this module to +/// make it more amenable to normalization and to impose less overhead +/// on the SMT solver when reasoning about machine integer +/// arithmetic. The following github issue reports on the current +/// status of that work. +/// +/// https://github.com/FStarLang/FStar/issues/1757 + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(** Abstract type of machine integers, with an underlying + representation using a bounded mathematical integer *) +new val t : eqtype + +(** A coercion that projects a bounded mathematical integer from a + machine integer *) +val v (x:t) : Tot (uint_t n) + +(** A coercion that injects a bounded mathematical integers into a + machine integer *) +val uint_to_t (x:uint_t n) : Pure t + (requires True) + (ensures (fun y -> v y = x)) + +(** Injection/projection inverse *) +val uv_inv (x : t) : Lemma + (ensures (uint_to_t (v x) == x)) + [SMTPat (v x)] + +(** Projection/injection inverse *) +val vu_inv (x : uint_t n) : Lemma + (ensures (v (uint_to_t x) == x)) + [SMTPat (uint_to_t x)] + +(** An alternate form of the injectivity of the [v] projection *) +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +(** Constants 0 and 1 *) +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +(**** Addition primitives *) + +(** Bounds-respecting addition + + The precondition enforces that the sum does not overflow, + expressing the bound as an addition on mathematical integers *) +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(** Underspecified, possibly overflowing addition: + + The postcondition only enures that the result is the sum of the + arguments in case there is no overflow *) +val add_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +(** Addition modulo [2^n] + + Machine integers can always be added, but the postcondition is now + in terms of addition modulo [2^n] on mathematical integers *) +val add_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.add_mod (v a) (v b) = v c)) + +(**** Subtraction primitives *) + + +(** Bounds-respecting subtraction + + The precondition enforces that the difference does not underflow, + expressing the bound as a difference on mathematical integers *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(** Underspecified, possibly overflowing subtraction: + + The postcondition only enures that the result is the difference of + the arguments in case there is no underflow *) +val sub_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +(** Subtraction modulo [2^n] + + Machine integers can always be subtractd, but the postcondition is + now in terms of subtraction modulo [2^n] on mathematical integers *) +val sub_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.sub_mod (v a) (v b) = v c)) + +(**** Multiplication primitives *) + + +(** Bounds-respecting multiplication + + The precondition enforces that the product does not overflow, + expressing the bound as a product on mathematical integers *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(** Underspecified, possibly overflowing product + + The postcondition only enures that the result is the product of + the arguments in case there is no overflow *) +val mul_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a * v b) n ==> v a * v b = v c)) + +(** Multiplication modulo [2^n] + + Machine integers can always be multiplied, but the postcondition + is now in terms of product modulo [2^n] on mathematical integers *) +val mul_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mul_mod (v a) (v b) = v c)) + +(**** Division primitives *) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(**** Modulo primitives *) + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mod (v a) (v b) = v c)) + +(**** Bitwise operators *) + +/// Also see FStar.BV + +(** Bitwise logical conjunction *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +(** Bitwise logical exclusive-or *) +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +(** Bitwise logical disjunction *) +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +(** Bitwise logical negation *) +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(**** Shift operators *) + +(** Shift right with zero fill, shifting at most the integer width *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_right (v a) (UInt32.v s) = v c)) + +(** Shift left with zero fill, shifting at most the integer width *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_left (v a) (UInt32.v s) = v c)) + +(**** Comparison operators *) + +(** Equality + + Note, it is safe to also use the polymorphic decidable equality + operator [=] *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) + +(** Greater than *) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) + +(** Greater than or equal *) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) + +(** Less than *) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) + +(** Less than or equal *) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(** Unary negation *) +inline_for_extraction +let minus (a:t) = add_mod (lognot a) (uint_to_t 1) + +(** The maximum shift value for this type, i.e. its width minus one, + as an UInt32. *) +inline_for_extraction +let n_minus_one = UInt32.uint_to_t (n - 1) + +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" + +(** A constant-time way to compute the equality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b + + Note, the branching on [a=b] is just for proof-purposes. + *) +[@ CNoInline ] +let eq_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a = v b ==> v c = pow2 n - 1) /\ + (v a <> v b ==> v c = 0))) + = let x = logxor a b in + let minus_x = minus x in + let x_or_minus_x = logor x minus_x in + let xnx = shift_right x_or_minus_x n_minus_one in + let c = sub_mod xnx (uint_to_t 1) in + if a = b then + begin + logxor_self (v a); + lognot_lemma_1 #n; + logor_lemma_1 (v x); + assert (v x = 0 /\ v minus_x = 0 /\ + v x_or_minus_x = 0 /\ v xnx = 0); + assert (v c = ones n) + end + else + begin + logxor_neq_nonzero (v a) (v b); + lemma_msb_pow2 #n (v (lognot x)); + lemma_msb_pow2 #n (v minus_x); + lemma_minus_zero #n (v x); + assert (v c = FStar.UInt.zero n) + end; + c + +private +val lemma_sub_msbs (a:t) (b:t) + : Lemma ((msb (v a) = msb (v b)) ==> (v a < v b <==> msb (v (sub_mod a b)))) + +(** A constant-time way to compute the [>=] inequality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=0a483a9b431d87eca1b275463c632f8d5551978a + *) +[@ CNoInline ] +let gte_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a >= v b ==> v c = pow2 n - 1) /\ + (v a < v b ==> v c = 0))) + = let x = a in + let y = b in + let x_xor_y = logxor x y in + let x_sub_y = sub_mod x y in + let x_sub_y_xor_y = logxor x_sub_y y in + let q = logor x_xor_y x_sub_y_xor_y in + let x_xor_q = logxor x q in + let x_xor_q_ = shift_right x_xor_q n_minus_one in + let c = sub_mod x_xor_q_ (uint_to_t 1) in + lemma_sub_msbs x y; + lemma_msb_gte (v x) (v y); + lemma_msb_gte (v y) (v x); + c +#reset-options + +(*** Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Plus_Question_Hat = add_underspec +unfold let op_Plus_Percent_Hat = add_mod +unfold let op_Subtraction_Hat = sub +unfold let op_Subtraction_Question_Hat = sub_underspec +unfold let op_Subtraction_Percent_Hat = sub_mod +unfold let op_Star_Hat = mul +unfold let op_Star_Question_Hat = mul_underspec +unfold let op_Star_Percent_Hat = mul_mod +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +(**** To input / output constants *) +(** In decimal representation *) +val to_string: t -> Tot string + +(** In hex representation (with leading 0x) *) +val to_string_hex: t -> Tot string + +(** In fixed-width hex representation (left-padded with zeroes, no leading 0x) *) +val to_string_hex_pad: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = uint_to_t x +#reset-options +unfold inline_for_extraction type byte = t diff --git a/stage0/ulib/FStar.UIntN.fstip b/stage0/ulib/FStar.UIntN.fstip new file mode 100644 index 00000000000..8155ad7493c --- /dev/null +++ b/stage0/ulib/FStar.UIntN.fstip @@ -0,0 +1,341 @@ +/// For FStar.UIntN.fstp: anything that you fix/update here should be +/// reflected in [FStar.IntN.fstp], which is mostly a copy-paste of +/// this module. +/// +/// Except, as compared to [FStar.IntN.fstp], here: +/// - every occurrence of [int_t] has been replaced with [uint_t] +/// - every occurrence of [@%] has been replaced with [%]. +/// - some functions (e.g., add_underspec, etc.) are only defined here, not on signed integers + +/// This module provides an abstract type for machine integers of a +/// given signedness and width. The interface is designed to be safe +/// with respect to arithmetic underflow and overflow. + +/// Note, we have attempted several times to re-design this module to +/// make it more amenable to normalization and to impose less overhead +/// on the SMT solver when reasoning about machine integer +/// arithmetic. The following github issue reports on the current +/// status of that work. +/// +/// https://github.com/FStarLang/FStar/issues/1757 + +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +(** Abstract type of machine integers, with an underlying + representation using a bounded mathematical integer *) +new val t : eqtype + +(** A coercion that projects a bounded mathematical integer from a + machine integer *) +val v (x:t) : Tot (uint_t n) + +(** A coercion that injects a bounded mathematical integers into a + machine integer *) +val uint_to_t (x:uint_t n) : Pure t + (requires True) + (ensures (fun y -> v y = x)) + +(** Injection/projection inverse *) +val uv_inv (x : t) : Lemma + (ensures (uint_to_t (v x) == x)) + [SMTPat (v x)] + +(** Projection/injection inverse *) +val vu_inv (x : uint_t n) : Lemma + (ensures (v (uint_to_t x) == x)) + [SMTPat (uint_to_t x)] + +(** An alternate form of the injectivity of the [v] projection *) +val v_inj (x1 x2: t): Lemma + (requires (v x1 == v x2)) + (ensures (x1 == x2)) + +(** Constants 0 and 1 *) +val zero : x:t{v x = 0} + +val one : x:t{v x = 1} + +(**** Addition primitives *) + +(** Bounds-respecting addition + + The precondition enforces that the sum does not overflow, + expressing the bound as an addition on mathematical integers *) +val add (a:t) (b:t) : Pure t + (requires (size (v a + v b) n)) + (ensures (fun c -> v a + v b = v c)) + +(** Underspecified, possibly overflowing addition: + + The postcondition only enures that the result is the sum of the + arguments in case there is no overflow *) +val add_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a + v b) n ==> v a + v b = v c)) + +(** Addition modulo [2^n] + + Machine integers can always be added, but the postcondition is now + in terms of addition modulo [2^n] on mathematical integers *) +val add_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.add_mod (v a) (v b) = v c)) + +(**** Subtraction primitives *) + + +(** Bounds-respecting subtraction + + The precondition enforces that the difference does not underflow, + expressing the bound as a difference on mathematical integers *) +val sub (a:t) (b:t) : Pure t + (requires (size (v a - v b) n)) + (ensures (fun c -> v a - v b = v c)) + +(** Underspecified, possibly overflowing subtraction: + + The postcondition only enures that the result is the difference of + the arguments in case there is no underflow *) +val sub_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a - v b) n ==> v a - v b = v c)) + +(** Subtraction modulo [2^n] + + Machine integers can always be subtractd, but the postcondition is + now in terms of subtraction modulo [2^n] on mathematical integers *) +val sub_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.sub_mod (v a) (v b) = v c)) + +(**** Multiplication primitives *) + + +(** Bounds-respecting multiplication + + The precondition enforces that the product does not overflow, + expressing the bound as a product on mathematical integers *) +val mul (a:t) (b:t) : Pure t + (requires (size (v a * v b) n)) + (ensures (fun c -> v a * v b = v c)) + +(** Underspecified, possibly overflowing product + + The postcondition only enures that the result is the product of + the arguments in case there is no overflow *) +val mul_underspec (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> + size (v a * v b) n ==> v a * v b = v c)) + +(** Multiplication modulo [2^n] + + Machine integers can always be multiplied, but the postcondition + is now in terms of product modulo [2^n] on mathematical integers *) +val mul_mod (a:t) (b:t) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mul_mod (v a) (v b) = v c)) + +(**** Division primitives *) + +(** Euclidean division of [a] and [b], with [b] non-zero *) +val div (a:t) (b:t{v b <> 0}) : Pure t + (requires (True)) + (ensures (fun c -> v a / v b = v c)) + +(**** Modulo primitives *) + +(** Euclidean remainder + + The result is the modulus of [a] with respect to a non-zero [b] *) +val rem (a:t) (b:t{v b <> 0}) : Pure t + (requires True) + (ensures (fun c -> FStar.UInt.mod (v a) (v b) = v c)) + +(**** Bitwise operators *) + +/// Also see FStar.BV + +(** Bitwise logical conjunction *) +val logand (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logand` v y = v z)) + +(** Bitwise logical exclusive-or *) +val logxor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logxor` v y == v z)) + +(** Bitwise logical disjunction *) +val logor (x:t) (y:t) : Pure t + (requires True) + (ensures (fun z -> v x `logor` v y == v z)) + +(** Bitwise logical negation *) +val lognot (x:t) : Pure t + (requires True) + (ensures (fun z -> lognot (v x) == v z)) + +(**** Shift operators *) + +(** Shift right with zero fill, shifting at most the integer width *) +val shift_right (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_right (v a) (UInt32.v s) = v c)) + +(** Shift left with zero fill, shifting at most the integer width *) +val shift_left (a:t) (s:UInt32.t) : Pure t + (requires (UInt32.v s < n)) + (ensures (fun c -> FStar.UInt.shift_left (v a) (UInt32.v s) = v c)) + +(**** Comparison operators *) + +(** Equality + + Note, it is safe to also use the polymorphic decidable equality + operator [=] *) +let eq (a:t) (b:t) : Tot bool = eq #n (v a) (v b) + +(** Greater than *) +let gt (a:t) (b:t) : Tot bool = gt #n (v a) (v b) + +(** Greater than or equal *) +let gte (a:t) (b:t) : Tot bool = gte #n (v a) (v b) + +(** Less than *) +let lt (a:t) (b:t) : Tot bool = lt #n (v a) (v b) + +(** Less than or equal *) +let lte (a:t) (b:t) : Tot bool = lte #n (v a) (v b) + +(** Unary negation *) +inline_for_extraction +let minus (a:t) = add_mod (lognot a) (uint_to_t 1) + +(** The maximum shift value for this type, i.e. its width minus one, + as an UInt32. *) +inline_for_extraction +let n_minus_one = UInt32.uint_to_t (n - 1) + +#set-options "--z3rlimit 80 --initial_fuel 1 --max_fuel 1" + +(** A constant-time way to compute the equality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=2e60bb395c1f589a398ec606d611132ef9ef764b + + Note, the branching on [a=b] is just for proof-purposes. + *) +[@ CNoInline ] +let eq_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a = v b ==> v c = pow2 n - 1) /\ + (v a <> v b ==> v c = 0))) + = let x = logxor a b in + let minus_x = minus x in + let x_or_minus_x = logor x minus_x in + let xnx = shift_right x_or_minus_x n_minus_one in + let c = sub_mod xnx (uint_to_t 1) in + if a = b then + begin + logxor_self (v a); + lognot_lemma_1 #n; + logor_lemma_1 (v x); + assert (v x = 0 /\ v minus_x = 0 /\ + v x_or_minus_x = 0 /\ v xnx = 0); + assert (v c = ones n) + end + else + begin + logxor_neq_nonzero (v a) (v b); + lemma_msb_pow2 #n (v (lognot x)); + lemma_msb_pow2 #n (v minus_x); + lemma_minus_zero #n (v x); + assert (v c = FStar.UInt.zero n) + end; + c + +private +val lemma_sub_msbs (a:t) (b:t) + : Lemma ((msb (v a) = msb (v b)) ==> (v a < v b <==> msb (v (sub_mod a b)))) + +(** A constant-time way to compute the [>=] inequality of + two machine integers. + + With inspiration from https://git.zx2c4.com/WireGuard/commit/src/crypto/curve25519-hacl64.h?id=0a483a9b431d87eca1b275463c632f8d5551978a + *) +[@ CNoInline ] +let gte_mask (a:t) (b:t) + : Pure t + (requires True) + (ensures (fun c -> (v a >= v b ==> v c = pow2 n - 1) /\ + (v a < v b ==> v c = 0))) + = let x = a in + let y = b in + let x_xor_y = logxor x y in + let x_sub_y = sub_mod x y in + let x_sub_y_xor_y = logxor x_sub_y y in + let q = logor x_xor_y x_sub_y_xor_y in + let x_xor_q = logxor x q in + let x_xor_q_ = shift_right x_xor_q n_minus_one in + let c = sub_mod x_xor_q_ (uint_to_t 1) in + lemma_sub_msbs x y; + lemma_msb_gte (v x) (v y); + lemma_msb_gte (v y) (v x); + c +#reset-options + +(*** Infix notations *) +unfold let op_Plus_Hat = add +unfold let op_Plus_Question_Hat = add_underspec +unfold let op_Plus_Percent_Hat = add_mod +unfold let op_Subtraction_Hat = sub +unfold let op_Subtraction_Question_Hat = sub_underspec +unfold let op_Subtraction_Percent_Hat = sub_mod +unfold let op_Star_Hat = mul +unfold let op_Star_Question_Hat = mul_underspec +unfold let op_Star_Percent_Hat = mul_mod +unfold let op_Slash_Hat = div +unfold let op_Percent_Hat = rem +unfold let op_Hat_Hat = logxor +unfold let op_Amp_Hat = logand +unfold let op_Bar_Hat = logor +unfold let op_Less_Less_Hat = shift_left +unfold let op_Greater_Greater_Hat = shift_right +unfold let op_Equals_Hat = eq +unfold let op_Greater_Hat = gt +unfold let op_Greater_Equals_Hat = gte +unfold let op_Less_Hat = lt +unfold let op_Less_Equals_Hat = lte + +(**** To input / output constants *) +(** In decimal representation *) +val to_string: t -> Tot string + +(** In hex representation (with leading 0x) *) +val to_string_hex: t -> Tot string + +(** In fixed-width hex representation (left-padded with zeroes, no leading 0x) *) +val to_string_hex_pad: t -> Tot string + +val of_string: string -> Tot t + +#set-options "--admit_smt_queries true" +//This private primitive is used internally by the +//compiler to translate bounded integer constants +//with a desugaring-time check of the size of the number, +//rather than an expensive verification check. +//Since it is marked private, client programs cannot call it directly +//Since it is marked unfold, it eagerly reduces, +//eliminating the verification overhead of the wrapper +private +unfold +let __uint_to_t (x:int) : Tot t + = uint_to_t x +#reset-options diff --git a/stage0/ulib/FStar.UIntN.fstp b/stage0/ulib/FStar.UIntN.fstp new file mode 100644 index 00000000000..f62ba12c4f9 --- /dev/null +++ b/stage0/ulib/FStar.UIntN.fstp @@ -0,0 +1,73 @@ +open FStar.UInt +open FStar.Mul + +#set-options "--max_fuel 0 --max_ifuel 0" + +type t : eqtype = + | Mk: v:uint_t n -> t + +let v x = x.v + +irreducible +let uint_to_t x = Mk x + +let uv_inv _ = () + +let vu_inv _ = () + +let v_inj _ _ = () + +let zero = uint_to_t 0 + +let one = uint_to_t 1 + +let add a b = Mk (add (v a) (v b)) + +let add_underspec a b = Mk (add_underspec (v a) (v b)) + +let add_mod a b = Mk (add_mod (v a) (v b)) + +let sub a b = Mk (sub (v a) (v b)) + +let sub_underspec a b = Mk (sub_underspec (v a) (v b)) + +let sub_mod a b = Mk (sub_mod (v a) (v b)) + +let mul a b = Mk (mul (v a) (v b)) + +let mul_underspec a b = Mk (mul_underspec (v a) (v b)) + +let mul_mod a b = Mk (mul_mod (v a) (v b)) + +let div a b = Mk (div (v a) (v b)) + +let rem a b = Mk (mod (v a) (v b)) + +let logand x y = Mk (logand (v x) (v y)) + +let logxor x y = Mk (logxor (v x) (v y)) + +let logor x y = Mk (logor (v x) (v y)) + +let lognot x = Mk (lognot (v x)) + +let shift_right a s = Mk (shift_right (v a) (UInt32.v s)) + +#push-options "--z3rlimit 80 --fuel 1" //AR: working around the interleaving semantics of pragmas + +let shift_left a s = Mk (shift_left (v a) (UInt32.v s)) + +let lemma_sub_msbs a b + = from_vec_propriety (to_vec (v a)) 1; + from_vec_propriety (to_vec (v b)) 1; + from_vec_propriety (to_vec (v (sub_mod a b))) 1 + +#pop-options + +let to_string _ = admit () + +let to_string_hex _ = admit () + +let to_string_hex_pad _ = admit () + +let of_string _ = admit () diff --git a/stage0/ulib/FStar.Udp.fsti b/stage0/ulib/FStar.Udp.fsti new file mode 100644 index 00000000000..4fc562bc99d --- /dev/null +++ b/stage0/ulib/FStar.Udp.fsti @@ -0,0 +1,45 @@ +(* + 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.Udp +open FStar.Bytes +open FStar.Error + +(* Type declarations *) +new val socket: eqtype +new val sock_in_channel: Type0 +new val sock_out_channel: Type0 +new val udpListener: Type0 + +(* Server side *) +val listen: string -> nat -> EXT udpListener +val accept: udpListener -> EXT socket +val stop: udpListener -> EXT unit + +(* Client side *) +val connect: string -> nat -> EXT socket + +(* Input/Output *) +val recv: socket -> nat -> EXT (optResult string bytes) +val send: socket -> bytes -> EXT (optResult string unit) +val close: socket -> EXT unit + +(* Helper functions *) +val socket_split: socket -> EXT (sock_in_channel & sock_out_channel) +val flush: sock_out_channel -> EXT unit + +(* Unimplemented *) +//assume val connectTimeout: nat -> string -> nat -> EXT socket +//assume val acceptTimeout: nat -> tcpListener -> EXT socket diff --git a/stage0/ulib/FStar.Universe.fst b/stage0/ulib/FStar.Universe.fst new file mode 100644 index 00000000000..be74a827047 --- /dev/null +++ b/stage0/ulib/FStar.Universe.fst @@ -0,0 +1,32 @@ +(* + 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.Universe + +(** This module implements some basic facilities to raise the universe of a type * + * The type [raise_t a] is supposed to be isomorphic to [a] but in a higher * + * universe. The two functions [raise_val] and [downgrade_val] allow to coerce * + * from [a] to [raise_t a] and back. **) + +noeq type raise0 (a : Type u#a) : Type u#(max a b) = +| Ret : a -> raise0 a + +let raise_t a = raise0 a +let raise_val #a x = Ret x +let downgrade_val #a x = match x with Ret x0 -> x0 + +let downgrade_val_raise_val #a x = () + +let raise_val_downgrade_val #a x = () diff --git a/stage0/ulib/FStar.Universe.fsti b/stage0/ulib/FStar.Universe.fsti new file mode 100644 index 00000000000..bde3b9f050a --- /dev/null +++ b/stage0/ulib/FStar.Universe.fsti @@ -0,0 +1,51 @@ +(* + 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.Universe + +(** This module implements some basic facilities to raise the universe of a type * + * The type [raise_t a] is supposed to be isomorphic to [a] but in a higher * + * universe. The two functions [raise_val] and [downgrade_val] allow to coerce * + * from [a] to [raise_t a] and back. **) + + +(** [raise_t a] is an isomorphic copy of [a] (living in universe 'ua) in universe [max 'ua 'ub] **) +val raise_t ([@@@ strictly_positive] _ : Type u#a) : Type u#(max a b) + +(** [raise_val x] injects a value [x] of type [a] to [raise_t a] **) +val raise_val : #a:Type u#a -> x:a -> raise_t u#a u#b a + +(** [downgrade_val x] projects a value [x] of type [raise_t a] to [a] **) +val downgrade_val : #a:Type u#a -> x:raise_t u#a u#b a -> a + +val downgrade_val_raise_val + (#a: Type u#a) + (x: a) +: Lemma + (downgrade_val u#a u#b (raise_val x) == x) + [SMTPat (downgrade_val u#a u#b (raise_val x))] + +val raise_val_downgrade_val + (#a: Type u#a) + (x: raise_t u#a u#b a) +: Lemma + (raise_val (downgrade_val x) == x) + [SMTPat (raise_val u#a u#b (downgrade_val x))] + +let lift_dom #a #b (q:a -> b) : raise_t a -> b = + fun v -> q (downgrade_val v) + +let lift_codom #a #b (q:a -> b) : a -> raise_t b = + fun v -> raise_val (q v) diff --git a/stage0/ulib/FStar.Util.fst b/stage0/ulib/FStar.Util.fst new file mode 100644 index 00000000000..eb1a5db6713 --- /dev/null +++ b/stage0/ulib/FStar.Util.fst @@ -0,0 +1,29 @@ +(* + 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.Util + +open FStar.Heap +open FStar.HyperStack + +(* 2016-11-22: the following MUST be defined here AFTER the above `open', + since they are used in [op_At_Plus_At] below *) +let op_Plus_Plus x y = TSet.union x y +let op_Plus_Plus_Hat x y = x ++ (TSet.singleton y) +let op_Hat_Plus_Hat x y = (TSet.singleton x) ++ (TSet.singleton y) + +let op_At_Plus_At (#a:Type) (#b:Type) (x:reference a) (y:reference b) = + Set.union (Set.singleton (as_addr x)) (Set.singleton (as_addr y)) +let op_Plus_Plus_At (#a:Type) (x:Set.set nat) (y:reference a) = Set.union x (Set.singleton (as_addr y)) diff --git a/stage0/ulib/FStar.Vector.Base.fst b/stage0/ulib/FStar.Vector.Base.fst new file mode 100644 index 00000000000..55308351d51 --- /dev/null +++ b/stage0/ulib/FStar.Vector.Base.fst @@ -0,0 +1,91 @@ + (* + Copyright 2008-2017 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.Vector.Base +module U32 = FStar.UInt32 +module S = FStar.Seq + +/// The raw vector type: the main type provided by this module +let raw a l = s:S.seq a{S.length s = U32.v l} + +/// Abstractly, a `raw a l` is just a sequence whose length is `U32.v l`. +/// `reveal` and `hide` build an isomorphism establishing this +let reveal #a #l v = v +let hide #a s = s +let hide_reveal #a #l v = () +let reveal_hide #a s = () + +/// Extensional equality can be used to prove syntactic equality +let extensionality #a #l v1 v2 = () + +//////////////////////////////////////////////////////////////////////////////// +/// A small set of basic operations on vectors, corresponding to the operations on +/// sequences. Other operations can be derived from these, as we do for seq. +/// -- init, index, update, append, slice +//////////////////////////////////////////////////////////////////////////////// + +/// `init l contents`: +/// initialize an `l`-sized vector using `contents i` for the `i`th element +let init #a l contents = Seq.init (U32.v l) contents + +/// `index v i`: get the `i`th element of `v` +let index #a #l v i = Seq.index v (U32.v i) + +/// `update v i x`: +/// a new vector that differs from `v` only at index `i`, where it contains `x`. +let update #a #l v i x = Seq.upd v (U32.v i) x + +/// `append v1 v2`: +/// requires proving that the sum of the lengths of v1 and v2 still fit in a u32 +let append #a #l1 #l2 v1 v2 = Seq.append v1 v2 + +/// `sub v i j`: +/// the sub-vector of `v` starting from index `i` up to, but not including, `j` +let sub #a #l v i j = Seq.slice v (U32.v i) (U32.v j) + +//////////////////////////////////////////////////////////////////////////////// +/// Lemmas about the basic operations, all rather boring +/// -- Each is just a lifting specifying the corresponding operation on seq +//////////////////////////////////////////////////////////////////////////////// +let reveal_init #a l contents = () +let reveal_index #a #l v i = () +let reveal_update #a #l v i x = () +let reveal_append #a #l1 #l2 v1 v2 = () +let reveal_sub #a #l v i j = () + +//////////////////////////////////////////////////////////////////////////////// +/// Dynamically sized vectors +//////////////////////////////////////////////////////////////////////////////// + +let t a = (l:len_t & raw a l) + + +/// Unlike raw vectors, t-vectors support decidable equality +let t_has_eq a = () + +/// The length of a t-vector is a dynamically computable u32 +let len #a (| l , _ |) = l + +/// Access the underlying raw vector +let as_raw #a (|_, v|) = v + +/// Promote a raw vector +let from_raw #a #l v = (| l, v |) + +/// as_raw and from_raw are mutual inverses +let as_raw_from_raw #a #l v = () +let from_raw_as_raw #a x = () + +let dummy = () diff --git a/stage0/ulib/FStar.Vector.Base.fsti b/stage0/ulib/FStar.Vector.Base.fsti new file mode 100644 index 00000000000..2d7646375fa --- /dev/null +++ b/stage0/ulib/FStar.Vector.Base.fsti @@ -0,0 +1,345 @@ +(* + Copyright 2008-2017 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. +*) + +(* + + A library for vectors, i.e., immutable arrays, whose length is + representable by a machine integer, FStar.UInt32.t. + + This is closely related to FStar.Seq, with the following main + differences: + + The type `raw a l`: A raw vector + + 1. Raw vectors receive special treatment during extraction, + especially by KaRaMeL, which extracts a vector to a raw C + pointer. When extracting to OCaml, a `raw a l` is a + `Batteries.Vect t a` + + 2. The length of a vector is representable in a U32.t + + 3. The interface is designed around a length-indexed type: this + enables the compilation to raw pointers, since this ensures + that all functions that manipulate vectors always have a U32 + variable describing that vector's length in scope. + + A length-indexed interface is also suitable for clients for whom + proving properties about the length is a primary concern: the + signatures in this interface carry intrinsic proofs about length + properties, simplifying proof obligations in client code. + + 4. Raw vectors lack decidable equality (since that cannot be + implemented given the representation choice in KaRaMeL) + + The type `t a`: A dynamically sized vector + + 1. Conceptually, a `t a` is a pair of a `len:U32.t` and a `raw a + len`. They are implemented as such by KaRaMeL. When extracting + to OCaml, `t a` is identical to `raw a _`, i.e., it is still + extracted to a `Batteries.Vect.t a` + + 2. Unlike raw vectors, `t a` supports decidable equality when it + is supported by `a`. This is the main reason `t a` is provided + at an abstract type, rather than being exposed as a pair of a + U32 and a raw vector, since the latter does not support + decidable equality. + + @summary Immutable vectors whose length is less than `pow2 32` +*) + +module FStar.Vector.Base +module U32 = FStar.UInt32 +module S = FStar.Seq + +//////////////////////////////////////////////////////////////////////////////// +/// The basic model of raw vectors as u32-length sequences +//////////////////////////////////////////////////////////////////////////////// + +/// The length of a vector fits in 32 bits +let len_t = U32.t + +/// A raw vector. +/// - `vector a n` is extracted to an `a*` in C by KaRaMeL +/// - Does not support decidable equality +val raw ([@@@strictly_positive] a:Type u#a) + (l:len_t) + : Type u#a + +/// A convenience to use `nat` for the length of vector in specs and proofs +let raw_length (#a:Type) (#l:len_t) (v:raw a l) : GTot nat = U32.v l + +(** + Abstractly, a `vec a l` is just a sequence whose length is `U32.v l`. + `reveal` and `hide` build an isomorphism establishing this +**) + +val reveal: + #a:Type + -> #l:len_t + -> v:raw a l + -> GTot (s:S.seq a{S.length s = raw_length v}) + +val hide: + #a:Type + -> s:S.seq a{S.length s < pow2 32} + -> GTot (raw a (U32.uint_to_t (S.length s))) + +val hide_reveal: + #a:Type + -> #l:len_t + -> v:raw a l + -> Lemma (ensures (hide (reveal v) == v)) + [SMTPat (reveal v)] + +val reveal_hide: + #a:Type + -> s:S.seq a{S.length s < pow2 32} + -> Lemma (ensures (reveal (hide s) == s)) + [SMTPat (hide s)] + +/// Extensional equality for vectors +let equal (#a:Type) (#l:len_t) (v1:raw a l) (v2:raw a l) = + Seq.equal (reveal v1) (reveal v2) + +/// Extensional equality can be used to prove syntactic equality +val extensionality: + #a:Type + -> #l:len_t + -> v1:raw a l + -> v2:raw a l + -> Lemma (requires (equal v1 v2)) + (ensures (v1 == v2)) + +//////////////////////////////////////////////////////////////////////////////// +/// end of the basic model +//////////////////////////////////////////////////////////////////////////////// + + +//////////////////////////////////////////////////////////////////////////////// +/// A small set of basic operations on raw vectors, corresponding to the operations +/// on sequences. Other operations can be derived from these, as we do for seq. +/// -- init, index, update, append, slice +//////////////////////////////////////////////////////////////////////////////// + +/// `index_t v`: is the type of a within-bounds index of `v` +let index_t (#a:Type) (#l:len_t) (v:raw a l) = + m:len_t{U32.v m < U32.v l} + +/// `init l contents`: +/// initialize an `l`-sized vector using `contents i` for the `i`th element +val init: + #a:Type + -> l:len_t + -> contents: (i:nat { i < U32.v l } -> Tot a) + -> Tot (raw a l) + +/// `index v i`: get the `i`th element of `v` +val index: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:index_t v + -> Tot a + +/// `v.[i]` is shorthand for `index v i` +unfold let op_String_Access #a #l = index #a #l + +/// `update v i x`: +/// - a new vector that differs from `v` only at index `i`, where it contains `x`. +/// - Incurs a full copy in KaRaMeL +/// - In OCaml, the new vector shares as much as possible with `v` +val update: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:index_t v + -> x:a + -> Tot (raw a l) + +/// `v.[i] <- x` is shorthand for `update v i x` +unfold let op_String_Assignment #a #l = update #a #l + +/// `append v1 v2`: +/// - requires proving that the sum of the lengths of v1 and v2 still fit in a u32 +/// - Incurs a full copy in KaRaMeL +/// - Amortized constant time in OCaml +val append: + #a:Type + -> #l1:len_t + -> #l2:len_t + -> v1:raw a l1 + -> v2:raw a l2{UInt.size U32.(v l1 + v l2) U32.n} + -> Tot (raw a U32.(l1 +^ l2)) + +/// `v1 @| v2`: shorthand for `append v1 v2` +unfold let (@|) #a #l1 #l2 = append #a #l1 #l2 + +/// `sub v i j`: +/// - the sub-vector of `v` starting from index `i` up to, but not including, `j` +/// - Constant time in KaRaMeL (just an addition on a pointer) +/// - Worst-case (log l) time in OCaml +val sub: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:len_t + -> j:len_t{U32.(v i <= v j /\ v j <= v l)} + -> Tot (raw a U32.(j -^ i)) + +//////////////////////////////////////////////////////////////////////////////// +/// Lemmas about the basic operations, all rather boring +/// -- Each is just a lifting specifying the corresponding operation on seq +//////////////////////////////////////////////////////////////////////////////// + +val reveal_init: + #a:Type + -> l:len_t + -> contents: (i:nat { i < U32.v l } -> Tot a) + -> Lemma + (ensures (reveal (init l contents) == Seq.init (U32.v l) contents)) + [SMTPat (init l contents)] + +val reveal_index: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:index_t v + -> Lemma + (ensures (v.[i] == Seq.index (reveal v) (U32.v i))) + [SMTPat (v.[i])] + +val reveal_update: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:index_t v + -> x:a + -> Lemma + (ensures (reveal (v.[i] <- x) == Seq.upd (reveal v) (U32.v i) x)) + [SMTPat (v.[i] <- x)] + +val reveal_append: + #a:Type + -> #l1:len_t + -> #l2:len_t + -> v1:raw a l1 + -> v2:raw a l2{UInt.size U32.(v l1 + v l2) U32.n} + -> Lemma + (ensures (reveal (v1 @| v2) == Seq.append (reveal v1) (reveal v2))) + [SMTPat (v1 @| v2)] + +val reveal_sub: + #a:Type + -> #l:len_t + -> v:raw a l + -> i:len_t + -> j:len_t{U32.(v i <= v j /\ v j <= v l)} + -> Lemma + (ensures (reveal (sub v i j) == S.slice (reveal v) (U32.v i) (U32.v j))) + [SMTPat (sub v i j)] + +//////////////////////////////////////////////////////////////////////////////// +/// Now, we have `Vector.Base.t`, abstractly, a raw vector paired with its u32 length +//////////////////////////////////////////////////////////////////////////////// +val t: + a:Type u#a + -> Type u#a + +/// Unlike raw vectors, t-vectors support decidable equality +val t_has_eq: + a:Type u#a + -> Lemma + (requires (hasEq a)) + (ensures (hasEq (t a))) + [SMTPat (hasEq (t a))] + +/// The length of a t-vector is a dynamically computable u32 +val len: + #a:Type + -> t a + -> len_t + +/// A convenience to access the length of a t-vector as a nat +[@@"deprecated: this will be moved to the ghost effect"] +let length (#a:Type) (x:t a) : nat = U32.v (len x) + +/// Access the underlying raw vector +val as_raw: + #a:Type + -> x:t a + -> raw a (len x) + +/// Promote a raw vector +val from_raw: + #a:Type + -> #l:len_t + -> v:raw a l + -> x:t a{len x = l} + +/// as_raw and from_raw are mutual inverses +val as_raw_from_raw: + #a:Type + -> #l:len_t + -> v:raw a l + -> Lemma (ensures (as_raw (from_raw v) == v)) + [SMTPat (from_raw v)] + +val from_raw_as_raw: + #a:Type + -> x:t a + -> Lemma (ensures (from_raw (as_raw x) == x)) + [SMTPat (as_raw x)] + +/// `v.(i)` accesses the ith element of v +unfold +let op_Array_Access + (#a:Type) + (x:t a) + (i:index_t (as_raw x)) + : Tot a + = (as_raw x).[i] + +/// `v.(i) <- x` is a new t-vector that differs from v only at i +unfold +let op_Array_Assignment + (#a:Type) + (x:t a) + (i:index_t (as_raw x)) + (v:a) + : Tot (t a) + = from_raw ((as_raw x).[i] <- v) + +/// `v1 @@ v2`: appending t-vectors +unfold +let (@@) + (#a:Type) + (x1:t a) + (x2:t a{UInt.size (length x1 + length x2) U32.n}) + : Tot (t a) + = from_raw (as_raw x1 @| as_raw x2) + +/// `slice v i j`: +/// the sub-vector of `v` starting from index `i` up to, but not including, `j` +unfold +let slice + (#a:Type) + (x:t a) + (i:len_t) + (j:len_t{U32.(v i <= v j /\ v j <= length x)}) + : Tot (t a) + = from_raw (sub (as_raw x) i j) + +val dummy : unit diff --git a/stage0/ulib/FStar.Vector.Properties.fst b/stage0/ulib/FStar.Vector.Properties.fst new file mode 100644 index 00000000000..6c46296e9d7 --- /dev/null +++ b/stage0/ulib/FStar.Vector.Properties.fst @@ -0,0 +1,100 @@ + (* + Copyright 2008-2017 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.Vector.Properties +open FStar.Vector.Base +module S = FStar.Seq +module U32 = FStar.UInt32 + +/// This coercion seems to be necessary in some places +/// +/// For example, when trying to treat a `raw a (l1 +^ l2)` +/// as a `raw a (m1 +^ m2)` +/// F* type inference tries matches on the head symbol of the index +/// and tries to prove `l1 = m1 /\ l2 = m2` +/// which is often too strong. +/// This coercion is a workaround for in such cases +unfold +let coerce + (#a:Type) + (#l:len_t) + (v:raw a l) + (m:len_t{l == m}) + : Tot (raw a m) + = v + +/// An abbreviation that states that some binary arithmetic +/// operation on len_t's respects bouns +unfold +let ok + (op:int -> int -> int) + (l1:len_t) + (l2:len_t) + : Type + = UInt.size U32.(op (v l1) (v l2)) U32.n + +/// Most lemmas from FStar.Seq.Properties can just be lifted +/// to vectors, although the lengths have to be bounds checked +let append_inj + (#a:Type) + (#l1:len_t) + (#l2:len_t) + (#m1:len_t) + (#m2:len_t) + (u1:raw a l1) + (u2:raw a l2{ok (+) l1 l2}) + (v1:raw a m1) + (v2:raw a m2{ok (+) m1 m2}) + : Lemma + (requires (let open U32 in + m1 +^ m2 = l1 +^ l2 /\ + equal (u1@|u2) (coerce (v1@|v2) (l1 +^ l2)) /\ + (l1 == m1 \/ l2 == m2))) + (ensures (l1 = m1 /\ + l2 = m2 /\ + equal u1 v1 /\ + equal u2 v2)) + = FStar.Seq.lemma_append_inj (reveal u1) (reveal u2) (reveal v1) (reveal v2) + +let head (#a:Type) (#l:len_t{l <> 0ul}) (v:raw a l) + : Tot a + = v.[0ul] + +let tail (#a:Type) (#l:len_t{l <> 0ul}) (v:raw a l) + : Tot (raw a U32.(l -^ 1ul)) + = sub v 1ul l + +let head_append + (#a:Type) + (#l1:len_t) + (#l2:len_t) + (v1:raw a l1{l1 <> 0ul}) + (v2:raw a l2{ok (+) l1 l2}) + : Lemma + (ensures (head (v1@|v2) == head v1)) + = () + +let tail_append + (#a:Type) + (#l1:len_t) + (#l2:len_t) + (v1:raw a l1{l1 <> 0ul}) + (v2:raw a l2{ok (+) l1 l2}) + : Lemma + (ensures (tail (v1@|v2) == tail v1@|v2)) + = Seq.lemma_tail_append (reveal v1) (reveal v2) + +/// and so on ... diff --git a/stage0/ulib/FStar.Vector.fst b/stage0/ulib/FStar.Vector.fst new file mode 100644 index 00000000000..30261080018 --- /dev/null +++ b/stage0/ulib/FStar.Vector.fst @@ -0,0 +1,18 @@ +(* + Copyright 2008-2018 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module FStar.Vector +include FStar.Vector.Base +include FStar.Vector.Properties diff --git a/stage0/ulib/FStar.WellFounded.Util.fst b/stage0/ulib/FStar.WellFounded.Util.fst new file mode 100644 index 00000000000..98661a47d84 --- /dev/null +++ b/stage0/ulib/FStar.WellFounded.Util.fst @@ -0,0 +1,121 @@ +module FStar.WellFounded.Util +open FStar.WellFounded + +#set-options "--warn_error -242" //inner let recs not encoded to SMT; ok + +let intro_lift_binrel (#a:Type) (r:binrel a) (y:a) (x:a) + : Lemma + (requires r y x) + (ensures lift_binrel r (| a, y |) (| a, x |)) + = let t0 : top = (| a, y |) in + let t1 : top = (| a, x |) in + let pf1 : squash (dfst t0 == a /\ dfst t1 == a) = () in + let pf2 : squash (r (dsnd t0) (dsnd t1)) = () in + let pf : squash (lift_binrel r t0 t1) = + FStar.Squash.bind_squash pf1 (fun (pf1: (dfst t0 == a /\ dfst t1 == a)) -> + FStar.Squash.bind_squash pf2 (fun (pf2: (r (dsnd t0) (dsnd t1))) -> + let p : lift_binrel r t0 t1 = (| pf1, pf2 |) in + FStar.Squash.return_squash p)) + in + () + +let elim_lift_binrel (#a:Type) (r:binrel a) (y:top) (x:a) + : Lemma + (requires lift_binrel r y (| a, x |)) + (ensures dfst y == a /\ r (dsnd y) x) + = let s : squash (lift_binrel r y (| a, x |)) = FStar.Squash.get_proof (lift_binrel r y (| a, x |)) in + let s : squash (dfst y == a /\ r (dsnd y) x) = FStar.Squash.bind_squash s (fun (pf:lift_binrel r y (|a, x|)) -> + let p1 : (dfst y == a /\ a == a) = dfst pf in + let p2 : r (dsnd y) x = dsnd pf in + introduce dfst y == a /\ r (dsnd y) x + with eliminate dfst y == a /\ a == a + returns _ + with l r. l + and FStar.Squash.return_squash p2) + in + () + +let lower_binrel (#a:Type) + (#r:binrel a) + (x y:top) + (p:lift_binrel r x y) + : r (dsnd x) (dsnd y) + = dsnd p + + +let lift_binrel_well_founded (#a:Type u#a) + (#r:binrel u#a u#r a) + (wf_r:well_founded r) + : well_founded (lift_binrel r) + = let rec aux (y:top{dfst y == a}) + (pf:acc r (dsnd y)) + : Tot (acc (lift_binrel r) y) + (decreases pf) + = AccIntro (fun (z:top) (p:lift_binrel r z y) -> + aux z (pf.access_smaller (dsnd z) (lower_binrel z y p))) + in + let aux' (y:top{dfst y =!= a}) + : acc (lift_binrel r) y + = AccIntro (fun y p -> false_elim ()) + in + fun (x:top) -> + let b = FStar.StrongExcludedMiddle.strong_excluded_middle (dfst x == a) in + if b + then aux x (wf_r (dsnd x)) + else aux' x + +let lower_binrel_squashed (#a:Type u#a) + (#r:binrel u#a u#r a) + (x y:top u#a) + (p:lift_binrel_squashed r x y) + : squash (r (dsnd x) (dsnd y)) + = assert (dfst x==a /\ dfst y==a /\ squash (r (dsnd x) (dsnd y))) + by FStar.Tactics.(exact (quote (FStar.Squash.return_squash p))) + + +let lift_binrel_squashed_well_founded (#a:Type u#a) + (#r:binrel u#a u#r a) + (wf_r:well_founded (squash_binrel r)) + : well_founded (lift_binrel_squashed r) + = let rec aux (y:top{dfst y == a}) + (pf:acc (squash_binrel r) (dsnd y)) + : Tot (acc (lift_binrel_squashed r) y) + (decreases pf) + = AccIntro (fun (z:top) (p:lift_binrel_squashed r z y) -> + let p = lower_binrel_squashed z y p in + aux z (pf.access_smaller (dsnd z) (FStar.Squash.join_squash p))) + in + let aux' (y:top{dfst y =!= a}) + : acc (lift_binrel_squashed r) y + = AccIntro (fun y p -> false_elim ()) + in + fun (x:top) -> + let b = FStar.StrongExcludedMiddle.strong_excluded_middle (dfst x == a) in + if b + then aux x (wf_r (dsnd x)) + else aux' x + +let lift_binrel_squashed_intro (#a:Type) (#r:binrel a) + (wf_r:well_founded (squash_binrel r)) + (x y:a) + (sqr:squash (r x y)) + : Lemma + (ensures lift_binrel_squashed r (|a, x|) (|a, y|)) + = assert (lift_binrel_squashed r (| a, x |) (| a , y |)) + by FStar.Tactics.( + norm [delta_only [`%lift_binrel_squashed]]; + split(); split(); trefl(); trefl(); + mapply (`FStar.Squash.join_squash) + ) + +let unsquash_well_founded (#a:Type u#a) (r:binrel u#a u#r a) (wf_r:well_founded (squash_binrel r)) + : well_founded u#a u#r r + = let rec f (x:a) + : Tot (acc r x) + (decreases {:well-founded (lift_binrel_squashed_as_well_founded_relation wf_r) (| a, x |)}) + = AccIntro (let g_smaller (y: a) (u: r y x) : acc r y = + lift_binrel_squashed_intro wf_r y x (FStar.Squash.return_squash u); + f y + in g_smaller) + in + f diff --git a/stage0/ulib/FStar.WellFounded.Util.fsti b/stage0/ulib/FStar.WellFounded.Util.fsti new file mode 100644 index 00000000000..3706c626750 --- /dev/null +++ b/stage0/ulib/FStar.WellFounded.Util.fsti @@ -0,0 +1,118 @@ +(* + Copyright 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. + + Authors: N. Swamy +*) + +module FStar.WellFounded.Util +open FStar.WellFounded +(** Provides some utilities related to well-founded relations *) + +(* 1. Given a well-founded relation `r:binrel a` + turn it into a well-founded relation on `binrel top`, + by construction a relation that only relates `top` elements + in `a` by `r` + + This is useful when writing type-polymorphic recursive functions + whose termination depends on some custom well-founded order + + See tests/micro-benchmarks/TestWellFoundedRecursion.rel_poly2 +*) + +let top = (b:Type & b) + +let lift_binrel (#a:Type) + (r:binrel a) + : binrel top + = fun (t0 t1:top) -> + (_:(dfst t0==a /\ dfst t1==a) & r (dsnd t0) (dsnd t1)) + +val intro_lift_binrel (#a:Type) (r:binrel a) (y:a) (x:a) + : Lemma + (requires r y x) + (ensures lift_binrel r (| a, y |) (| a, x |)) + +val elim_lift_binrel (#a:Type) (r:binrel a) (y:top) (x:a) + : Lemma + (requires lift_binrel r y (| a, x |)) + (ensures dfst y == a /\ r (dsnd y) x) + +val lower_binrel (#a:Type) + (#r:binrel a) + (x y:top) + (p:lift_binrel r x y) + : r (dsnd x) (dsnd y) + + +val lift_binrel_well_founded (#a:Type u#a) + (#r:binrel u#a u#r a) + (wf_r:well_founded r) + : well_founded (lift_binrel r) + +let lift_binrel_as_well_founded_relation (#a:Type u#a) (#r:binrel u#a u#r a) (wf_r:well_founded r) + : well_founded_relation u#(a + 1) u#r (top u#a) + = as_well_founded #top #(lift_binrel r) (lift_binrel_well_founded wf_r) + + +(* 2. Given a well-founded relation `r:binrel a` + turn it into a *squashed* well-founded relation on `binrel top`, + by construction a relation that only relates `top` elements + in `a` by `r` + + This is very similar to 1, but uses squashed types, + which leads to slightly better SMT automation at use sites. + + See tests/micro-benchmarks/TestWellFoundedRecursion.rel_poly + +*) +let lift_binrel_squashed (#a:Type u#a) + (r:binrel u#a u#r a) + : binrel top + = fun (t0 t1:top) -> + (dfst t0==a /\ dfst t1==a /\ squash (r (dsnd t0) (dsnd t1))) + +val lower_binrel_squashed (#a:Type u#a) + (#r:binrel u#a u#r a) + (x y:top u#a) + (p:lift_binrel_squashed r x y) + : squash (r (dsnd x) (dsnd y)) + + +let squash_binrel (#a:Type) (r:binrel u#a u#r a) (x y:a) = squash (r x y) + +val lift_binrel_squashed_well_founded (#a:Type u#a) + (#r:binrel u#a u#r a) + (wf_r:well_founded (squash_binrel r)) + : well_founded (lift_binrel_squashed r) + + +let lift_binrel_squashed_as_well_founded_relation (#a:Type u#a) + (#r:binrel u#a u#r a) + (wf_r:well_founded (squash_binrel r)) + : well_founded_relation u#(a + 1) u#0 top + = as_well_founded #top #(lift_binrel_squashed r) (lift_binrel_squashed_well_founded wf_r) + +val lift_binrel_squashed_intro (#a:Type) + (#r:binrel a) + (wf_r:well_founded (squash_binrel r)) + (x y:a) + (sqr:squash (r x y)) + : Lemma + (ensures lift_binrel_squashed r (|a, x|) (|a, y|)) + +(* If a squashed relation is well-founded, then so is its unsquashed counterpart. + The converse is not true, i.e., the well-founded proof is in contravariant position here *) +val unsquash_well_founded (#a:Type u#a) (r:binrel u#a u#r a) (wf_r:well_founded (squash_binrel r)) + : well_founded u#a u#r r diff --git a/stage0/ulib/FStar.WellFounded.fst b/stage0/ulib/FStar.WellFounded.fst new file mode 100644 index 00000000000..eab78d99e16 --- /dev/null +++ b/stage0/ulib/FStar.WellFounded.fst @@ -0,0 +1,131 @@ +(* + Copyright 2015 Chantal Keller and Catalin Hritcu, Microsoft Research and Inria + + 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. + + Authors: Chantal Keller, Catalin Hritcu, Aseem Rastogi, Nikhil Swamy +*) + +(* Defining accessibility predicates and well-founded recursion like in Coq + https://coq.inria.fr/library/Coq.Init.Wf.html +*) + +module FStar.WellFounded + +#set-options "--warn_error -242" //inner let recs not encoded to SMT; ok + +let binrel (a:Type) = a -> a -> Type + +(* + * The accessibility relation + * -- Marked erasable, since this is a singleton type anyway + * -- Erasability also simplifies proofs that use accessibility in + * with axioms like indefinitedescription + *) +[@@ erasable] +noeq +type acc (#a:Type u#a) (r:binrel u#a u#r a) (x:a) : Type u#(max a r) = + | AccIntro : access_smaller:(y:a -> r y x -> acc r y) -> acc r x + +(* + * A binrel r is well-founded if every element is accessible + *) +let well_founded (#a:Type u#a) (r:binrel u#a u#r a) = x:a -> acc r x + +(* + * Accessibility predicates can be used for implementing + * total fix points + *) +let rec fix_F (#aa:Type) (#r:binrel aa) (#p:(aa -> Type)) + (f: (x:aa -> (y:aa -> r y x -> p y) -> p x)) + (x:aa) (a:acc r x) + : Tot (p x) (decreases a) + = f x (fun y h -> fix_F f y (a.access_smaller y h)) + +let fix (#aa:Type) (#r:binrel aa) (rwf:well_founded r) + (p:aa -> Type) (f:(x:aa -> (y:aa -> r y x -> p y) -> p x)) + (x:aa) + : p x + = fix_F f x (rwf x) + +let is_well_founded (#a:Type) (rel:binrel a) = + forall (x:a). squash (acc rel x) + +let well_founded_relation (a:Type) = rel:binrel a{is_well_founded rel} + +unfold +let as_well_founded (#a:Type u#a) + (#rel:binrel u#a u#r a) + (f:well_founded rel) + : well_founded_relation a + = introduce forall (x:a). squash (acc rel x) + with FStar.Squash.return_squash (FStar.Squash.return_squash (f x)); + rel + +open FStar.IndefiniteDescription + +(* + * Proofs that subrelation and inverse image commute with well-foundedness + * + * Reference: Constructing Recursion Operators in Type Theory, L. Paulson JSC (1986) 2, 325-355 + *) +let subrelation_wf (#a:Type) (#r #sub_r:binrel a) + (sub_w:(x:a -> y:a -> sub_r x y -> r x y)) + (r_wf:well_founded r) + : well_founded sub_r + = let rec aux (x:a) (acc_r:acc r x) : Tot (acc sub_r x) (decreases acc_r) = + AccIntro (fun y sub_r_y_x -> + aux y + (match acc_r with + | AccIntro f -> f y (sub_w y x sub_r_y_x))) in + fun x -> aux x (r_wf x) + +let subrelation_squash_wf (#a:Type u#a) + (#r:binrel u#a u#r a) + (#sub_r:binrel u#a u#sr a) + (sub_w:(x:a -> y:a -> sub_r x y -> squash (r x y))) + (r_wf:well_founded r) + : Lemma (is_well_founded sub_r) + = introduce forall (x:a). squash (acc sub_r x) + with ( + let rec acc_y (x:a) (acc_r:acc r x) (y:a) (p:sub_r y x) + : Tot (acc sub_r y) + (decreases acc_r) + = AccIntro (acc_y y (acc_r.access_smaller + y + (elim_squash (sub_w y x p)))) + in + FStar.Squash.return_squash (FStar.Squash.return_squash (AccIntro (acc_y x (r_wf x)))) + ) + +unfold +let subrelation_as_wf (#a:Type u#a) (#r #sub_r:binrel u#a u#r a) + (sub_w:(x:a -> y:a -> sub_r x y -> squash (r x y))) + (r_wf:well_founded r) + : well_founded_relation a + = subrelation_squash_wf sub_w r_wf; + sub_r + +let inverse_image (#a:Type u#a) (#b:Type u#b) (r_b:binrel u#b u#r b) (f:a -> b) : binrel u#a u#r a = + fun x y -> r_b (f x) (f y) + +let inverse_image_wf (#a:Type u#a) (#b:Type u#b) (#r_b:binrel u#b u#r b) + (f:a -> b) + (r_b_wf:well_founded r_b) + : well_founded (inverse_image r_b f) + = let rec aux (x:a) (acc_r_b:acc r_b (f x)) + : Tot (acc (inverse_image r_b f) x) + (decreases acc_r_b) = + AccIntro (fun y p -> aux y (acc_r_b.access_smaller (f y) p)) + in + fun x -> aux x (r_b_wf (f x)) diff --git a/stage0/ulib/FStar.WellFoundedRelation.fst b/stage0/ulib/FStar.WellFoundedRelation.fst new file mode 100644 index 00000000000..8fc20a895a5 --- /dev/null +++ b/stage0/ulib/FStar.WellFoundedRelation.fst @@ -0,0 +1,213 @@ +(* + Copyright 2022 Jay Lorch and Nikhil Swamy, 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. +*) + +(* This library is intended to simplify using well-founded relations + in decreases clauses. +*) + +module FStar.WellFoundedRelation + +open FStar.Universe +module WF = FStar.WellFounded +module WFU = FStar.WellFounded.Util + +let rec default_decreaser (#a: Type u#a) (x: a) + : Tot (acc_classical (default_relation #a) x) (decreases x) = + let smaller (y: a{default_relation y x}) : acc_classical (default_relation #a) y = + default_decreaser y + in + AccClassicalIntro smaller + +let default_wfr (a: Type u#a) : (wfr: wfr_t a{wfr.relation == default_relation}) = + let proof (x1: a) (x2: a) + : Lemma (requires default_relation x1 x2) + (ensures default_decreaser x1 << default_decreaser x2) = + assert ((default_decreaser x2).access_smaller x1 == default_decreaser x1) + in + { relation = default_relation; decreaser = default_decreaser; proof = proof; } + +let rec empty_decreaser (#a: Type u#a) (x: a) + : Tot (acc_classical (empty_relation #a) x) (decreases x) = + let smaller (y: a{empty_relation y x}) : acc_classical (empty_relation #a) y = + empty_decreaser y + in + AccClassicalIntro smaller + +let empty_wfr (a: Type u#a) : (wfr: wfr_t a{wfr.relation == empty_relation}) = + let proof (x1: a) (x2: a) + : Lemma (requires empty_relation x1 x2) (ensures empty_decreaser x1 << empty_decreaser x2) = + assert ((empty_decreaser x2).access_smaller x1 == empty_decreaser x1) + in + { relation = empty_relation; decreaser = empty_decreaser; proof = proof; } + +let rec acc_decreaser + (#a: Type u#a) + (r: a -> a -> Type0) + (f: WF.well_founded r{forall x1 x2 (p: r x1 x2). (f x2).access_smaller x1 p == f x1}) + (x: a) + : Tot (acc_classical (acc_relation r) x) (decreases (f x)) = + let smaller (y: a{(acc_relation r) y x}) : (acc_classical (acc_relation r) y) = ( + eliminate exists (p: r y x). True + returns f y << f x + with _. assert ((f x).access_smaller y p == f y); + acc_decreaser r f y + ) in + AccClassicalIntro smaller + +let rec eta_expand_well_founded (#a: Type) (r: WF.binrel a) (wf_r: WF.well_founded r) (x: a) + : Tot (WF.acc r x) + (decreases {:well-founded (WFU.lift_binrel_as_well_founded_relation wf_r) (| a, x |)}) + = WF.AccIntro (let g_smaller (y: a) (u: r y x) : WF.acc r y = + WFU.intro_lift_binrel r y x; + eta_expand_well_founded r wf_r y + in g_smaller) + +let acc_to_wfr (#a: Type u#a) (r: WF.binrel u#a u#0 a) (f: WF.well_founded r) + : (wfr: wfr_t a{wfr.relation == acc_relation r}) = + let f = eta_expand_well_founded r f in + let proof (x1: a) (x2: a) + : Lemma (requires acc_relation r x1 x2) + (ensures acc_decreaser r f x1 << acc_decreaser r f x2) = + assert ((acc_decreaser r f x2).access_smaller x1 == acc_decreaser r f x1) + in + { relation = acc_relation r; decreaser = acc_decreaser r f; proof = proof; } + +let rec subrelation_decreaser (#a: Type u#a) (r: a -> a -> Type0) + (wfr: wfr_t a{forall x1 x2. r x1 x2 ==> wfr.relation x1 x2}) (x: a) + : Tot (acc_classical r x) (decreases wfr.decreaser x) = + let smaller (y: a{r y x}) : (acc_classical r y) = + subrelation_decreaser r wfr y + in + AccClassicalIntro smaller + +let subrelation_to_wfr (#a: Type u#a) (r: a -> a -> Type0) + (wfr: wfr_t a{forall x1 x2. r x1 x2 ==> wfr.relation x1 x2}) + : (wfr': wfr_t a{wfr'.relation == r}) = + let proof (x1: a) (x2: a) + : Lemma (requires r x1 x2) + (ensures subrelation_decreaser r wfr x1 << subrelation_decreaser r wfr x2) = + assert ((subrelation_decreaser r wfr x2).access_smaller x1 == subrelation_decreaser r wfr x1) + in + { relation = r; decreaser = subrelation_decreaser r wfr; proof = proof; } + +let rec inverse_image_decreaser (#a: Type u#a) (#b: Type u#b) (r: a -> a -> Type0) (f: a -> b) + (wfr: wfr_t b{forall x1 x2. r x1 x2 ==> wfr.relation (f x1) (f x2)}) + (x: a) + : Tot (acc_classical r x) (decreases wfr.decreaser (f x)) = + let smaller (y: a{r y x}) : (acc_classical r y) = + inverse_image_decreaser r f wfr y + in + AccClassicalIntro smaller + +let inverse_image_to_wfr (#a: Type u#a) (#b: Type u#b) (r: a -> a -> Type0) (f: a -> b) + (wfr: wfr_t b{forall x1 x2. r x1 x2 ==> wfr.relation (f x1) (f x2)}) + : (wfr': wfr_t a{wfr'.relation == r}) = + let proof (x1: a) (x2: a) + : Lemma (requires r x1 x2) + (ensures inverse_image_decreaser r f wfr x1 << inverse_image_decreaser r f wfr x2) = + assert ((inverse_image_decreaser r f wfr x2).access_smaller x1 == + inverse_image_decreaser r f wfr x1) + in + { relation = r; decreaser = inverse_image_decreaser r f wfr; proof = proof; } + +let rec lex_nondep_decreaser (#a: Type u#a) (#b: Type u#b) (wfr_a: wfr_t a) (wfr_b: wfr_t b) + (xy: a & b) + : Tot (acc_classical (lex_nondep_relation wfr_a wfr_b) xy) + (decreases %[wfr_a.decreaser (fst xy); wfr_b.decreaser (snd xy)]) = + let smaller (xy': a & b{lex_nondep_relation wfr_a wfr_b xy' xy}) + : (acc_classical (lex_nondep_relation wfr_a wfr_b) xy') = + lex_nondep_decreaser wfr_a wfr_b xy' + in + AccClassicalIntro smaller + +let lex_nondep_wfr (#a: Type u#a) (#b: Type u#b) (wfr_a: wfr_t a) (wfr_b: wfr_t b) + : wfr: wfr_t (a & b){wfr.relation == lex_nondep_relation wfr_a wfr_b} = + let proof (xy1: a & b) (xy2: a & b) + : Lemma (requires lex_nondep_relation wfr_a wfr_b xy1 xy2) + (ensures lex_nondep_decreaser wfr_a wfr_b xy1 << + lex_nondep_decreaser wfr_a wfr_b xy2) = + assert ((lex_nondep_decreaser wfr_a wfr_b xy2).access_smaller xy1 == + lex_nondep_decreaser wfr_a wfr_b xy1) + in + { relation = lex_nondep_relation wfr_a wfr_b; + decreaser = lex_nondep_decreaser wfr_a wfr_b; + proof = proof; } + +let rec lex_dep_decreaser (#a: Type u#a) (#b: a -> Type u#b) (wfr_a: wfr_t a) + (a_to_wfr_b: (x: a -> wfr_t (b x))) (xy: (x: a & b x)) + : Tot (acc_classical (lex_dep_relation wfr_a a_to_wfr_b) xy) + (decreases %[wfr_a.decreaser (dfst xy); (a_to_wfr_b (dfst xy)).decreaser (dsnd xy)]) = + let smaller (xy': (x: a & b x){lex_dep_relation wfr_a a_to_wfr_b xy' xy}) + : (acc_classical (lex_dep_relation wfr_a a_to_wfr_b) xy') = + lex_dep_decreaser wfr_a a_to_wfr_b xy' + in + AccClassicalIntro smaller + +let lex_dep_wfr (#a: Type u#a) (#b: a -> Type u#b) (wfr_a: wfr_t a) + (a_to_wfr_b: (x: a -> wfr_t (b x))) + : wfr: wfr_t (x: a & b x){wfr.relation == lex_dep_relation wfr_a a_to_wfr_b} = + let proof (xy1: (x: a & b x)) (xy2: (x: a & b x)) + : Lemma (requires lex_dep_relation wfr_a a_to_wfr_b xy1 xy2) + (ensures lex_dep_decreaser wfr_a a_to_wfr_b xy1 << + lex_dep_decreaser wfr_a a_to_wfr_b xy2) = + assert ((lex_dep_decreaser wfr_a a_to_wfr_b xy2).access_smaller xy1 == + lex_dep_decreaser wfr_a a_to_wfr_b xy1) + in + { relation = lex_dep_relation wfr_a a_to_wfr_b; + decreaser = lex_dep_decreaser wfr_a a_to_wfr_b; + proof = proof; } + +let bool_wfr: (wfr: wfr_t bool{wfr.relation == bool_relation}) = + inverse_image_to_wfr #bool #nat bool_relation (fun b -> if b then 1 else 0) (default_wfr nat) + +let option_wfr (#a: Type u#a) (wfr: wfr_t a) + : wfr': wfr_t (option a){wfr'.relation == option_relation wfr} = + // We'll need the unit type raised to universe u#a + + let unit_a: Type u#a = raise_t unit in + + // Step 1: Create a function f mapping an `option a` to a + // `(b: bool & (if b then a else unit_a))`. It should map + // `Some x` to `(| true, x |)` and `None` to `(| false, () |)`. + + let f: option a -> (b: bool & (if b then a else unit_a)) = + fun opt -> (match opt with | Some x -> (| true, x |) | None -> (| false, raise_val () |) ) + in + + // Step 2: Create a wfr for (b: bool & (if b then a else unit_a)) using lex_dep_wfr. + // The precedence for the bool field should be bool_wfr (i.e., false precedes true). + // The precedence for the (if b then a else unit_a) field should be either wfr or + // empty_wfr, depending on whether b is true or false. + + let bool_to_wfr_a (b: bool) : wfr_t (if b then a else unit_a) = + if b then wfr else empty_wfr unit_a + in + let wfr_bool_a: wfr_t (b: bool & (if b then a else unit_a)) = + lex_dep_wfr bool_wfr bool_to_wfr_a + in + + assert (forall (bx1: (b: bool & (if b then a else unit_a))) + (bx2: (b: bool & (if b then a else unit_a))). + wfr_bool_a.relation bx1 bx2 <==> + (let (| b1, x1 |), (| b2, x2 |) = bx1, bx2 in + (not b1 && b2) \/ (b1 && b2 /\ wfr.relation x1 x2))); + + // Step 3: Create the final wfr using inverse_image_to_wfr, using `f` as the mapping + // function from `option a` to `(b: bool & (if b then a else unit_a))` and + // `wfr_bool_a` as the wfr_t for `(b: bool & (if b then a else unit_a))`. + + assert (forall opt1 opt2. (option_relation wfr) opt1 opt2 ==> wfr_bool_a.relation (f opt1) (f opt2)); + inverse_image_to_wfr (option_relation wfr) f wfr_bool_a diff --git a/stage0/ulib/FStar.WellFoundedRelation.fsti b/stage0/ulib/FStar.WellFoundedRelation.fsti new file mode 100644 index 00000000000..4d56cf786c0 --- /dev/null +++ b/stage0/ulib/FStar.WellFoundedRelation.fsti @@ -0,0 +1,230 @@ +(* + Copyright 2022 Jay Lorch and Nikhil Swamy, 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. +*) + +(* This library is intended to simplify using well-founded relations + in decreases clauses. + + The key data structure is `wfr_t a`, which encapsulates a + well-founded relation on `a`. Specifically, the predicate + `wfr.relation x1 x2` means that `x1` precedes `x2` in the + well-founded relation described by `wfr`. + + You can then use this relatedness to show that a function is + decreasing in a certain term. Whenever `wfr.relation x1 x2` holds, + `wfr.decreaser x1 << wfr.decreaser x2` also holds. The library has + an ambient lemma triggered by seeing two instances of + `wfr.decreaser`, so you can use `wfr.decreaser x` in your decreases + clause. For example: + + // Define `nat_nat_wfr` to represent the lexicographically-precedes + // relation between two elements of type `nat * nat`. That is, + // `(x1, y1)` is related to `(x2, y2)` if + // `x1 < x2 \/ (x1 == x2 /\ y1 < y2)`. + + let nat_nat_wfr = lex_nondep_wfr (default_wfr nat) (default_wfr nat) + + // To show that `f` is well-defined, we use the decreases clause + // `nat_nat_wfr.decreaser (x, y)`. We then need to show, on each + // recursive call, that the parameters x2 and y2 to the nested + // call satisfy `nat_nat_wfr.relation (x2, y2) (x, y)`. + + let rec f (x: nat) (y: nat) + : Tot nat (decreases (nat_nat_wfr.decreaser (x, y))) = + if x = 0 then + 0 + else if y = 0 then ( + // This assertion isn't necessary; it's just for illustration + assert (nat_nat_wfr.relation (x - 1, 100) (x, y)); + f (x - 1) 100 + ) + else ( + // This assertion isn't necessary; it's just for illustration + assert (nat_nat_wfr.relation (x, y - 1) (x, y)); + f x (y - 1) + ) + + One way `wfr_t` can be useful is that it simplifies debugging when + the SMT solver can't verify termination. You can assert the + relation explicitly (as in the examples above), and if the assertion + doesn't hold you can try to prove it. If you instead use something + like `decreases %[x, y]`, it's harder to debug because you can't + `assert (%[x2, y2] << %[x, y])`. + + But where `wfr_t` is most useful is in writing a function that takes + a well-founded relation as input. Here's an illustrative example: + + let rec count_steps_to_none + (#a: Type) + (wfr: wfr_t a) + (stepper: (x: a) -> (y: option a{Some? y ==> wfr.relation (Some?.v y) x})) + (start: option a) + : Tot nat (decreases (option_wfr wfr).decreaser start) = + match start with + | None -> 0 + | Some x -> 1 + count_steps_to_none wfr stepper (stepper x) + + `wfr_t` is also useful when composing a well-founded relation + produced using `acc` (from the FStar.WellFounded library) with one + or more other well-founded relations. + + There are a few ways to build a `wfr_t`, described in more detail in + comments throughout this file. Those ways are: + + `default_wfr a` + `empty_wfr a` + `acc_to_wfr r f` + `subrelation_to_wfr r wfr` + `inverse_image_to_wfr r f wfr` + `lex_nondep_wfr wfr_a wfr_b` + `lex_dep_wfr wfr_a a_to_wfr_b` + `bool_wfr` + `option_wfr wfr` +*) + +module FStar.WellFoundedRelation + +noeq type acc_classical (#a: Type u#a) (r: a -> a -> Type0) (x: a) : Type u#a = + | AccClassicalIntro : access_smaller:(y: a{r y x} -> acc_classical r y) -> acc_classical r x + +noeq type wfr_t (a: Type u#a) : Type u#(a + 1) = + { + relation: a -> a -> Type0; + decreaser: (x: a -> acc_classical relation x); + proof: (x1: a) -> (x2: a) -> + Lemma (requires relation x1 x2) (ensures decreaser x1 << decreaser x2); + } + +let ambient_wfr_lemma (#a: Type u#a) (wfr: wfr_t a) (x1: a) (x2: a) + : Lemma (requires wfr.relation x1 x2) + (ensures wfr.decreaser x1 << wfr.decreaser x2) + [SMTPat (wfr.decreaser x1); SMTPat (wfr.decreaser x2)] = + wfr.proof x1 x2 + +/// `default_wfr a` is the well-founded relation built into F* for +/// type `a`. For instance, for `nat` it's the less-than relation. +/// For an inductive type it's the sub-term ordering. +/// +/// `(default_wfr a).relation` is `default_relation` as defined below. + +let default_relation (#a: Type u#a) (x1: a) (x2: a) : Type0 = x1 << x2 + +val default_wfr (a: Type u#a) : (wfr: wfr_t a{wfr.relation == default_relation}) + +/// `empty_wfr a` is the empty well-founded relation, which doesn't relate any +/// pair of values. +/// +/// `(empty_wfr a).relation` is `empty_relation` as defined below. + +let empty_relation (#a: Type u#a) (x1: a) (x2: a) : Type0 = False + +val empty_wfr (a: Type u#a) : (wfr: wfr_t a{wfr.relation == empty_relation}) + +/// `acc_to_wfr r f` is a `wfr_t` built from a relation `r` and a +/// function `f: well-founded r`. Such a function demonstrates that +/// `r` is well-founded using the accessibility type `acc` described +/// in FStar.WellFounded.fst. +/// +/// `(acc_to_wfr r f).relation` is `acc_relation r` as defined below. + +let acc_relation (#a: Type u#a) (r: a -> a -> Type0) (x1: a) (x2: a) : Type0 = exists (p: r x1 x2). True + +val acc_to_wfr (#a: Type u#a) (r: a -> a -> Type0) (f: FStar.WellFounded.well_founded r) + : (wfr: wfr_t a{wfr.relation == acc_relation r}) + +/// `subrelation_to_wfr r wfr` is a `wfr_t` built from a relation `r` +/// that's a subrelation of an existing well-founded relation `wfr`. +/// By "subrelation" we mean that any pair related by `r` is also +/// related by `wfr`. +/// +/// `(subrelation_to_wfr r wfr).relation` is the parameter `r`. + +val subrelation_to_wfr (#a: Type u#a) (r: a -> a -> Type0) + (wfr: wfr_t a{forall x1 x2. r x1 x2 ==> wfr.relation x1 x2}) + : (wfr': wfr_t a{wfr'.relation == r}) + +/// `inverse_image_to_wfr r f wfr` is a `wfr_t` built from a relation +/// `r: a -> a -> Type0`, a function `f: a -> b`, and an existing +/// well-founded relation `wfr` on `b`. The relation `r` must be an +/// "inverse image" of `wfr` using the mapping function `f`, meaning +/// that `forall x1 x2. r x1 x2 ==> wfr.relation (f x1) (f x2)`. +/// +/// `(inverse_image_to_wfr r f wfr).relation` is the parameter `r`. + +val inverse_image_to_wfr + (#a: Type u#a) + (#b: Type u#b) + (r: a -> a -> Type0) + (f: a -> b) + (wfr: wfr_t b{forall x1 x2. r x1 x2 ==> wfr.relation (f x1) (f x2)}) + : (wfr': wfr_t a{wfr'.relation == r}) + +/// `lex_nondep_wfr wfr_a wfr_b` is a `wfr_t` describing lexicographic +/// precedence for non-dependent tuples of some type `a * b`. It's +/// built from two well-founded relations: a `wfr_t a` and a `wfr_t +/// b`. +/// +/// `(lex_nondep_wfr wfr_a wfr_b).relation` is `lex_nondep_relation +/// wfr_a wfr_b` as defined below. + +let lex_nondep_relation (#a: Type u#a) (#b: Type u#b) (wfr_a: wfr_t a) (wfr_b: wfr_t b) + (xy1: a & b) (xy2: a & b) + : Type0 = + let (x1, y1), (x2, y2) = xy1, xy2 in + wfr_a.relation x1 x2 \/ (x1 == x2 /\ wfr_b.relation y1 y2) + +val lex_nondep_wfr (#a: Type u#a) (#b: Type u#b) (wfr_a: wfr_t a) (wfr_b: wfr_t b) + : wfr: wfr_t (a & b){wfr.relation == lex_nondep_relation wfr_a wfr_b} + +/// `lex_dep_wfr wfr_a a_to_wfr_b` is a `wfr_t` describing +/// lexicographic precedence for dependent tuples of type `(x: a & b +/// x)`. It's built from a well-founded relation of type `wfr_t a` +/// and a function `a_to_wfr_b` that maps each `x: a` to a `wfr_t (b +/// x)`. +/// +/// `(lex_dep_wfr wfr_a a_to_wfr_b).relation` is `lex_dep_relation +/// wfr_a a_to_wfr_b` as defined below. + +let lex_dep_relation (#a: Type u#a) (#b: a -> Type u#b) (wfr_a: wfr_t a) + (a_to_wfr_b: (x: a -> wfr_t (b x))) (xy1: (x: a & b x)) (xy2: (x: a & b x)) + : Type0 = + let (| x1, y1 |), (| x2, y2 |) = xy1, xy2 in + wfr_a.relation x1 x2 \/ (x1 == x2 /\ (a_to_wfr_b x1).relation y1 y2) + +val lex_dep_wfr (#a: Type u#a) (#b: a -> Type u#b) (wfr_a: wfr_t a) + (a_to_wfr_b: (x: a -> wfr_t (b x))) + : wfr: wfr_t (x: a & b x){wfr.relation == lex_dep_relation wfr_a a_to_wfr_b} + +/// `bool_wfr` is the well-founded relation on booleans that has false +/// preceding true. +/// +/// `bool_wfr.relation` is `bool_relation`, as defined below. + +let bool_relation (x1: bool) (x2: bool) : Type0 = x1 == false /\ x2 == true + +val bool_wfr: (wfr: wfr_t bool{wfr.relation == bool_relation}) + +/// `option_wfr wfr` is a `wfr_t` describing precedence for an `option +/// a`. It's built from a well-founded relation `wfr` on `a`. It has +/// `None` precede any `Some x`, and has `Some x1` precede `Some x2` +/// if `x1` precedes `x2` according to `wfr`. +/// +/// `(option_wfr wfr).relation` is `option_relation wfr` as defined below. + +let option_relation (#a: Type u#a) (wfr: wfr_t a) (opt1: option a) (opt2: option a) : Type0 = + Some? opt2 /\ (None? opt1 \/ wfr.relation (Some?.v opt1) (Some?.v opt2)) + +val option_wfr (#a: Type u#a) (wfr: wfr_t a) + : wfr': wfr_t (option a){wfr'.relation == option_relation wfr} diff --git a/stage0/ulib/LowStar.Buffer.fst b/stage0/ulib/LowStar.Buffer.fst new file mode 100644 index 00000000000..75d9b69432d --- /dev/null +++ b/stage0/ulib/LowStar.Buffer.fst @@ -0,0 +1,100 @@ +(* + 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 LowStar.Buffer + +include LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(* + * Wrapper over LowStar.Monotonic.Buffer, with trivial preorders + * -- functions that take explicit preorder as arguments (e.g. sub etc.) + * -- these include allocation functions also + *) +let trivial_preorder (a:Type0) :srel a = fun _ _ -> True + +type buffer (a:Type0) = mbuffer a (trivial_preorder a) (trivial_preorder a) + +unfold let null (#a:Type0) :buffer a = mnull #a #(trivial_preorder a) #(trivial_preorder a) + +unfold let gsub (#a:Type0) = mgsub #a #(trivial_preorder a) #(trivial_preorder a) (trivial_preorder a) + +unfold let gsub_inj (#a:Type0) = mgsub_inj #a #(trivial_preorder a) #(trivial_preorder a) (trivial_preorder a) (trivial_preorder a) + +[@@unifier_hint_injective] +inline_for_extraction +type pointer (a:Type0) = b:buffer a{length b == 1} + +inline_for_extraction +type pointer_or_null (a:Type0) = b:buffer a{if g_is_null b then True else length b == 1} + +inline_for_extraction let sub (#a:Type0) = msub #a #(trivial_preorder a) #(trivial_preorder a) (trivial_preorder a) + +inline_for_extraction let offset (#a:Type0) = moffset #a #(trivial_preorder a) #(trivial_preorder a) (trivial_preorder a) + +unfold let lbuffer (a:Type0) (len:nat) = lmbuffer a (trivial_preorder a) (trivial_preorder a) len + +inline_for_extraction let gcmalloc (#a:Type0) = mgcmalloc #a #(trivial_preorder a) + +inline_for_extraction let malloc (#a:Type0) = mmalloc #a #(trivial_preorder a) + +inline_for_extraction let alloca (#a:Type0) = malloca #a #(trivial_preorder a) + +inline_for_extraction let alloca_of_list (#a:Type0) = malloca_of_list #a #(trivial_preorder a) + +inline_for_extraction let gcmalloc_of_list (#a:Type0) = mgcmalloc_of_list #a #(trivial_preorder a) + +module L = FStar.List.Tot + +unfold +let assign_list_t #a (l: list a) = (b: buffer a) -> HST.Stack unit + (requires (fun h0 -> + live h0 b /\ + length b = L.length l)) + (ensures (fun h0 _ h1 -> + live h1 b /\ + (modifies (loc_buffer b) h0 h1) /\ + as_seq h1 b == Seq.seq_of_list l)) + +let rec assign_list #a (l: list a): assign_list_t l += fun b -> + Seq.lemma_seq_of_list_induction l; + match l with + | [] -> + let h = HST.get () in + assert (length b = 0); + assert (Seq.length (as_seq h b) = 0); + assert (Seq.equal (as_seq h b) (Seq.empty #a)); + assert (Seq.seq_of_list [] `Seq.equal` Seq.empty #a) + | hd :: tl -> + let b_hd = sub b 0ul 1ul in + let b_tl = offset b 1ul in + let h = HST.get () in + upd b_hd 0ul hd; + let h0 = HST.get () in + assign_list tl b_tl; + let h1 = HST.get () in + assert (as_seq h1 b_hd == as_seq h0 b_hd); + assert (get h1 b_hd 0 == hd); + assert (as_seq h1 b_tl == Seq.seq_of_list tl); + assert (Seq.equal (as_seq h1 b) (Seq.append (as_seq h1 b_hd) (as_seq h1 b_tl))); + assert ((Seq.seq_of_list l) == (Seq.cons hd (Seq.seq_of_list tl))) diff --git a/stage0/ulib/LowStar.BufferOps.fst b/stage0/ulib/LowStar.BufferOps.fst new file mode 100644 index 00000000000..a0f478e58a2 --- /dev/null +++ b/stage0/ulib/LowStar.BufferOps.fst @@ -0,0 +1,63 @@ +(* + 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 LowStar.BufferOps + +(* Handy notations for LowStar.Buffer, so users can open this module + instead of the whole LowStar.Buffer, to just bring these operators + and notations into the scope without bringing any definition from + LowStar.Buffer into the scope. *) + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module U32 = FStar.UInt32 +module G = FStar.Ghost +module Seq = FStar.Seq +module B = LowStar.Buffer +module L = FStar.List.Tot + +inline_for_extraction +unfold +let op_Array_Access (#a:Type0) (#rrel #rel:B.srel a) = B.index #a #rrel #rel + +inline_for_extraction +unfold +let op_Array_Assignment (#a:Type0) (#rrel #rel:B.srel a) = B.upd #a #rrel #rel + +(* NOTE: DO NOT mark ( !* ) as inline_for_extraction, + because it is specially treated by KaRaMeL to extract as *p instead + of p[0] *) +let ( !* ) (#a:Type0) (#rrel #rel:B.srel a) (p:B.mpointer a rrel rel): + HST.Stack a + (requires (fun h -> B.live h p)) + (ensures (fun h0 x h1 -> B.live h1 p /\ x == B.get h0 p 0 /\ h1 == h0)) = + B.index p 0ul + +(* NOTE: DO NOT mark ( *= ) as inline_for_extraction, + because it is specially treated by KaRaMeL to extract as *p = v instead + of p[0] = v *) +let ( *= ) (#a:Type0) (#rrel #rel:B.srel a) (p:B.mpointer a rrel rel) (v:a) : HST.Stack unit + (requires (fun h -> B.live h p /\ rel (B.as_seq h p) (Seq.upd (B.as_seq h p) 0 v))) + (ensures (fun h0 _ h1 -> + B.live h1 p /\ + B.as_seq h1 p `Seq.equal` Seq.create 1 v /\ + B.modifies (B.loc_buffer p) h0 h1 + )) += B.upd p 0ul v + +// TODO: remove + +inline_for_extraction +let blit (#a:Type0) (#rrel1 #rel1 #rrel2 #rel2:B.srel a) = B.blit #a #rrel1 #rel1 #rrel2 #rel2 diff --git a/stage0/ulib/LowStar.BufferView.Down.fst b/stage0/ulib/LowStar.BufferView.Down.fst new file mode 100644 index 00000000000..b5ecee6fc50 --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.Down.fst @@ -0,0 +1,363 @@ +(* + 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 LowStar.BufferView.Down +open LowStar.Monotonic.Buffer +open FStar.Mul +module HS=FStar.HyperStack +module B=LowStar.Monotonic.Buffer +module Math=FStar.Math.Lemmas + +#set-options "--smtencoding.elim_box true" +#set-options "--smtencoding.l_arith_repr native" +#set-options "--smtencoding.nl_arith_repr wrapped" +#set-options "--z3rlimit_factor 4" //just being conservative +#set-options "--initial_fuel 1 --max_fuel 1" + +noeq +type buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b = + | BufferView: buf:B.mbuffer src rrel rel + -> v:view src dest + -> buffer_view src rrel rel dest + +let mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) + : GTot (buffer dest) + = (| src, rrel, rel, BufferView b v |) + +let as_buffer (#b:Type) (v:buffer b) = + let (| _, _, _, BufferView b _ |) = v in + b + +let as_buffer_mk_buffer_view + (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) = + () + +let get_view (#b : Type) (bv:buffer b) = + let (| _, _, _, BufferView _ v |) = bv in + v + +let get_view_mk_buffer_view + (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) + = () + +let length (#b: _) (vb:buffer b) = + let b = as_buffer vb in + let v = get_view vb in + B.length b * View?.n v + +let length_eq (#b: _) (vb:buffer b) = () + +let indexing' (#a #b: _) (v:view a b) (len_as:nat) (i:nat{i < len_as * View?.n v}) + : Lemma (let n = View?.n v in + let vlen = len_as * n in + n * (i / n) < vlen /\ + n * (i / n) + n <= vlen) + = let n = View?.n v in + let vlen = len_as * n in + assert (n * (i / n) < vlen); + assert (i / n <= len_as - 1) + +let indexing #b vb i = indexing' (get_view vb) (B.length (as_buffer vb)) i + +let sel' (#a #b: _) (v:view a b) + (es:Seq.seq a) + (i:nat{i / View?.n v < Seq.length es}) + : GTot b + = let n = View?.n v in + let a_i = i / n in + let bs = View?.get v (Seq.index es a_i) in + Seq.index bs (i % n) + +let sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : GTot b + = indexing vb i; + let es = B.as_seq h (as_buffer vb) in + let v = get_view vb in + sel' v es i + +let lemma_g_upd_with_same_seq (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem{B.live h b}) (s:_) + : Lemma (Seq.equal s (B.as_seq h b) ==> + B.g_upd_seq b s h == h) + = B.lemma_g_upd_with_same_seq b h + +let mods (#b: _) + (vb:buffer b) + (h h':HS.mem) + = B.modifies (B.loc_buffer (as_buffer vb)) h h' + +val upd' (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : GTot (h':HS.mem{ + (indexing vb i; + let b = as_buffer vb in + let v = get_view vb in + let n = View?.n v in + let a_i = i / n in + B.as_seq h' b == + Seq.upd (B.as_seq h b) a_i (Seq.index (B.as_seq h' b) a_i)) /\ + sel h' vb i == x /\ + (forall (j:nat{j< length vb}). i<>j ==> sel h' vb j == sel h vb j) /\ + (x == sel h vb i ==> h == h') /\ + mods vb h h' /\ + live h' vb /\ + FStar.HyperStack.ST.equal_domains h h' + }) +#push-options "--z3rlimit_factor 8" +let upd' #b h vb i x = + indexing vb i; + let es = B.as_seq h (as_buffer vb) in + let v = get_view vb in + let n = View?.n v in + let a_i = i / n in + let bs = View?.get v (Seq.index es a_i) in + let bs' = Seq.upd bs (i % n) x in + assert (x == sel h vb i ==> Seq.equal bs bs'); + let a' = View?.put v bs' in + let mem = B.g_upd (as_buffer vb) a_i a' h in + B.g_upd_seq_as_seq (as_buffer vb) (Seq.upd es a_i a') h; + lemma_g_upd_with_same_seq (as_buffer vb) h (Seq.upd es a_i a'); + mem +#pop-options + +let upd = upd' +let sel_upd #b vb i j x h = () +let lemma_upd_with_sel #b vb i h = () +let upd_modifies #b h vb i x = () +let upd_equal_domains #b h vb i x = () + +let rec seq_fold_right_gtot #a #b (s:Seq.seq a) (f:a -> b -> GTot b) (acc:b) + : GTot b (decreases (Seq.length s)) + = if Seq.length s = 0 then acc + else f (Seq.head s) (seq_fold_right_gtot (Seq.tail s) f acc) + +let cons_view #a #b (v:view a b) (x:a) (tl:Seq.seq b) : GTot (Seq.seq b) = + Seq.append (View?.get v x) tl + +let as_seq' (#a #b:_) (es:Seq.seq a) (v:view a b) : GTot (Seq.seq b) = + seq_fold_right_gtot #a #(Seq.seq b) es (cons_view #a #b v) Seq.empty + +let rec as_seq'_len (#a #b:_) (es:Seq.seq a) (v:view a b) + : Lemma (ensures (Seq.length (as_seq' es v) == View?.n v * Seq.length es)) + (decreases (Seq.length es)) + = if Seq.length es = 0 then () + else as_seq'_len (Seq.tail es) v + +let rec as_seq'_injective #a #b (v:view a b) (as1 as2:Seq.seq a) + : Lemma + (requires as_seq' as1 v `Seq.equal` as_seq' as2 v) + (ensures as1 `Seq.equal` as2) + (decreases (Seq.length as1)) + = as_seq'_len as1 v; + as_seq'_len as2 v; + assert (Seq.length as1 == Seq.length as2); + if Seq.length as1 = 0 then () + else let n = View?.n v in + as_seq'_len (Seq.tail as1) v; + as_seq'_len (Seq.tail as2) v; + Seq.lemma_append_inj + (View?.get v (Seq.head as1)) + (as_seq' (Seq.tail as1) v) + (View?.get v (Seq.head as2)) + (as_seq' (Seq.tail as2) v); + as_seq'_injective v (Seq.tail as1) (Seq.tail as2); + assert (as1 `Seq.equal` (Seq.head as1 `Seq.cons` Seq.tail as1)); + assert (as2 `Seq.equal` (Seq.head as2 `Seq.cons` Seq.tail as2)) + +let as_seq #b h vb = + let (| a, _, _, BufferView buf v |) = vb in + let es = B.as_seq h buf in + let bs = as_seq' #a #b es v in + as_seq'_len es v; + bs + +#push-options "--max_ifuel 0" +val sel'_tail (#a #b:_) (v:view a b) (es:Seq.seq a{Seq.length es > 0}) + (i:nat{View?.n v <= i /\ i < Seq.length es * View?.n v}) + : Lemma (let j = i - View?.n v in + sel' v es i == sel' v (Seq.tail es) j) +let sel'_tail #a #b v es i = + let len_as = Seq.length es in + indexing' v len_as i; + let n = View?.n v in + let j = i - n in + let a_i = i / n in + assert (sel' v es i == Seq.index (View?.get v (Seq.index es a_i)) (i % n)); + FStar.Math.Lemmas.lemma_mod_sub i n 1; + FStar.Math.Lemmas.add_div_mod_1 j n; + assert (j / n == (i / n) - 1) +#pop-options + +val as_seq'_sel' (#a #b: _) + (v:view a b) + (es:Seq.seq a) + (i:nat{i < Seq.length es * View?.n v}) + : Lemma + (ensures ( + as_seq'_len es v; + sel' v es i == Seq.index (as_seq' es v) i)) + (decreases (Seq.length es)) + +let rec as_seq'_sel' #a #b v es i = + as_seq'_len es v; + let n : pos = View?.n v in + assert (i / n < Seq.length es); + if Seq.length es = 0 then () + else let bs = as_seq' es v in + assert (Seq.length bs = n + Seq.length (as_seq' (Seq.tail es) v)); + if (i < n) then + begin + assert (Seq.index bs i == Seq.index (View?.get v (Seq.head es)) i) + end + else + begin + let as' = Seq.tail es in + as_seq'_len as' v; + let j = i - n in + assert (j / n < Seq.length as'); + assert (j < Seq.length (as_seq' as' v)); + as_seq'_sel' v as' j; + assert (sel' v as' j == Seq.index (as_seq' as' v) j); + assert (Seq.index (as_seq' es v) i == + Seq.index (as_seq' as' v) j); + sel'_tail v es i + end + +let as_seq_sel #b h vb i = + indexing vb i; + let (| a, _, _, BufferView buf v |) = vb in + let es = B.as_seq h buf in + as_seq'_len es v; + as_seq'_sel' v es i + +let get_sel #b h vb i = as_seq_sel h vb i + +val as_seq'_slice (#a #b: _) + (v:view a b) + (es:Seq.seq a) + (i:nat{i < Seq.length es * View?.n v}) + : Lemma + (ensures ( + as_seq'_len es v; + indexing' v (Seq.length es) i; + let n = View?.n v in + View?.get v (Seq.index es (i / n)) == + Seq.slice (as_seq' es v) (n * (i /n)) (n * (i / n) + n))) + (decreases (Seq.length es)) + +#push-options "--z3rlimit 100" +let rec as_seq'_slice #a #b v es i = + let n = View?.n v in + if Seq.length es = 0 then () + else let bs = as_seq' es v in + if i < n then + begin + assert (View?.get v (Seq.index es (i / n)) `Seq.equal` + Seq.slice (as_seq' es v) (n * (i /n)) (n * (i / n) + n)) + end + else let as' = Seq.tail es in + let j = i - n in + as_seq'_slice v (Seq.tail es) (i - n); + as_seq'_len as' v; + indexing' v (Seq.length as') j; + FStar.Math.Lemmas.add_div_mod_1 j n; + assert (View?.get v (Seq.index as' (j / n)) `Seq.equal` + Seq.slice (as_seq' as' v) (n * (j / n)) (n * (j / n) + n)); + assert (Seq.slice (as_seq' as' v) (n * (j / n)) (n * (j / n) + n) `Seq.equal` + Seq.slice (as_seq' es v) (n * (j / n) + n) (n * (j / n) + n + n)); + FStar.Math.Lemmas.add_div_mod_1 j n; + assert (j / n == i / n - 1) +#pop-options + +let put_sel #b h vb i = + indexing vb i; + let v = get_view vb in + let n = View?.n v in + let es = (B.as_seq h (as_buffer vb)) in + as_seq'_slice v es i; + as_seq'_len es v; + assert (View?.put v (View?.get v (Seq.index es (i / n))) == + View?.put v (Seq.slice (as_seq' es v) (n * (i /n)) (n * (i / n) + n))) + +let rec upd_seq' (#a #b: _) (v:view a b) (s:Seq.seq b{Seq.length s % View?.n v = 0}) (acc:Seq.seq a) + : GTot (Seq.lseq a (Seq.length acc + Seq.length s / View?.n v)) + (decreases (Seq.length s)) = + let n = View?.n v in + if Seq.length s = 0 then acc + else let pfx, suffix = Seq.split s n in + Math.lemma_mod_sub (Seq.length s) n 1; + let es = upd_seq' v suffix acc in + Seq.cons (View?.put v pfx) es + +let upd_seq #b h vb s = + let (| a, _, _, BufferView b v |) = vb in + Math.cancel_mul_mod (B.length b) (View?.n v); + let es : Seq.seq a = upd_seq' v s Seq.empty in + B.g_upd_seq b es h + +let as_seq'_cons (#a #b:_) (v:view a b) (hd:a) (tl:Seq.seq a) + : Lemma (as_seq' (Seq.cons hd tl) v == View?.get v hd `Seq.append` as_seq' tl v) + = let s = Seq.cons hd tl in + assert (Seq.head s == hd); + assert (Seq.tail s `Seq.equal` tl) + +let rec upd_seq'_spec (#a #b: _) (v:view a b) (s:Seq.seq b{Seq.length s % View?.n v = 0}) (acc:Seq.seq a) + : Lemma + (ensures ( + let es = upd_seq' v s acc in + as_seq' es v `Seq.equal` Seq.append s (as_seq' acc v))) + (decreases (Seq.length s)) + = if Seq.length s = 0 then () + else let n = View?.n v in + let pfx, suffix = Seq.split s n in + Math.lemma_mod_sub (Seq.length s) n 1; + upd_seq'_spec v suffix acc; + as_seq'_slice v (upd_seq' v s acc) 0; + let as' = upd_seq' v suffix acc in + assert (as_seq' as' v `Seq.equal` Seq.append suffix (as_seq' acc v)); + let es = upd_seq' v s acc in + assert (es `Seq.equal` Seq.cons (View?.put v pfx) as'); + as_seq'_cons v (View?.put v pfx) as' + +#push-options "--z3rlimit 20" +let upd_seq_spec (#b: _) (h:HS.mem) (vb:buffer b{live h vb}) (s:Seq.seq b{Seq.length s = length vb}) + = let h' = upd_seq h vb s in + Math.cancel_mul_mod (B.length (as_buffer vb)) (View?.n (get_view vb)); + let es = upd_seq' (get_view vb) s Seq.empty in + B.g_upd_seq_as_seq (as_buffer vb) es h; + lemma_g_upd_with_same_seq (as_buffer vb) h es; + assert (FStar.HyperStack.ST.equal_domains h h'); + assert (modifies vb h h'); + upd_seq'_spec (get_view vb) s Seq.empty; + assert (as_seq h' vb `Seq.equal` s); + assert (as_seq h vb == as_seq' (B.as_seq h (as_buffer vb)) (get_view vb)); + assert (as_seq h' vb == s); + assert (es == B.as_seq h' (as_buffer vb)); + let v= get_view vb in + FStar.Classical.forall_intro_2 (fun as1 as2 -> + Classical.move_requires (as_seq'_injective v as1) as2 + <: Lemma ((as_seq' as1 v `Seq.equal` as_seq' as2 v) ==> (as1 `Seq.equal` as2))) +#pop-options diff --git a/stage0/ulib/LowStar.BufferView.Down.fsti b/stage0/ulib/LowStar.BufferView.Down.fsti new file mode 100644 index 00000000000..7862da54982 --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.Down.fsti @@ -0,0 +1,272 @@ +(* + 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 LowStar.BufferView.Down + +(** + * A "down view" on a buffer allows treating a + * `Buffer.buffer a` as a + * `BufferView.Down.buffer b` + * + * A "view" on a buffer is intended for specification purposes only + * It does not correspond to a pointer cast in C. + * + * Building a down view requires providing a pair of mutually inverse functions + * from `a` to sequences of `b`. (e.g., from a `lbuffer u32 n` to a `lbuffer u8 (4*n)`) + * + * I.e., a down view allows "exploding" an `a` into its component `b`'s. + + * In contrast, an "up view" (see LowStar.BufferView.Up) allows + * "compacting" a sequences of `a`'s into a `b`. + * (e.g., from an `lbuffer u8 (4*n)` to an `lbuffer u32 n`) + **) + +open LowStar.Monotonic.Buffer +open FStar.Mul +module HS=FStar.HyperStack +module B=LowStar.Monotonic.Buffer + +(** Definition of a view **) + +/// `f` and `g` are mutual inverses +let inverses #a #b + (f: (a -> GTot b)) + (g: (b -> GTot a)) = + (forall x. g (f x) == x) /\ + (forall y. f (g y) == y) + +/// `view a b` maps single `a`'s to an `n`-lengthed sequence of `b`s +noeq +type view (a:Type) (b:Type) = + | View : n:pos -> + get:(a -> GTot (Seq.lseq b n)) -> + put:(Seq.lseq b n -> GTot a) { + inverses get put + } -> + view a b + +/// `buffer_views src dest`: +/// +/// The main abstract type provided by this module. This type is +/// indexed by both the `src` and `dest` types. The former (`src`) is +/// the type of the underlying B.buffer's contents: as such, it is +/// forced to be in universe 0. +/// +/// The destination type `dest` is for specification only and is not +/// subject to the same universe constraints by the memory model. +/// + +val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b + +/// `buffer b`: In contrast to `buffer_view`, `buffer b` hides the +/// source type of the view. As such, it is likely more convenient to +/// use in specifications and the rest of this interface is designed +/// around this type. +/// +/// However, the type lives in a higher universe, +/// this means, for instance, that values of `buffer b` cannot be +/// stored in the heap. +/// +/// We leave its definition transparent in case clients wish to +/// manipulate both the `src` and `dest` types explicitly (e.g., to +/// stay in a lower universe) + +let buffer (dest:Type u#a) : Type u#(max 1 a) = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) + +let as_buffer_t (#dest:Type) (b:buffer dest) = B.mbuffer (Mkdtuple4?._1 b) (Mkdtuple4?._2 b) (Mkdtuple4?._3 b) + +/// `mk_buffer_view`: The main constructor +val mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) + : GTot (buffer dest) + + +/// `as_buffer`: Projecting the underlying B.buffer from its view +val as_buffer (#b:Type) (v:buffer b) : as_buffer_t v + +/// A lemma-relating projector to constructor +val as_buffer_mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) + : Lemma (let bv = mk_buffer_view b v in + Mkdtuple4?._1 bv == src /\ + Mkdtuple4?._2 bv == rrel /\ + Mkdtuple4?._3 bv == rel /\ + as_buffer bv == b) + [SMTPat (as_buffer (mk_buffer_view b v))] + +/// `get_view`: Projecting the view functions itself +val get_view (#b : Type) (v:buffer b) : view (Mkdtuple4?._1 v) b + +/// A lemma-relating projector to constructor +val get_view_mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest) + : Lemma (let bv = mk_buffer_view b v in + Mkdtuple4?._1 bv == src /\ + get_view bv == v) + [SMTPat (get_view (mk_buffer_view b v))] + +/// `live h vb`: liveness of a buffer view corresponds to liveness of +/// the underlying buffer +unfold +let live #b h (vb:buffer b) = live h (as_buffer vb) + + +/// `length vb`: is defined in terms of the underlying buffer +/// +/// Internally, it is defined as +/// +/// ``` +/// length (as_buffer vb) * View?.n (get_view vb) +/// ``` +/// +/// However, rather than expose this definition to callers, we treat +/// length abstractly. +/// +/// To reveal its definition explicitly, use the `length_eq` lemma below. +val length (#b: _) (vb:buffer b) + : GTot nat + +/// `length_eq`: Reveals the definition of the `length` function +val length_eq (#b: _) (vb:buffer b) + : Lemma (length vb = B.length (as_buffer vb) * View?.n (get_view vb)) + +/// `indexing` +val indexing (#b: _) (vb:buffer b) (i:nat{i < length vb}) + : Lemma (let n = View?.n (get_view vb) in + let vlen = length vb in + n * (i / n) < vlen /\ + n * (i / n) + n <= vlen) + +/// `sel h vb i` : selects element at index `i` from the buffer `vb` in heap `h` +val sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : GTot b + +/// `upd h vb i x`: stores `x` at index `i` in the buffer `vb` in heap `h` +val upd (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : GTot HS.mem + +/// `sel_upd`: A classic select/update lemma for reasoning about maps +val sel_upd (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (j:nat{j < length vb}) + (x:b) + (h:HS.mem{live h vb}) + : Lemma (if i = j + then sel (upd h vb i x) vb j == x + else sel (upd h vb i x) vb j == sel h vb j) + [SMTPat (sel (upd h vb i x) vb j)] + +val lemma_upd_with_sel (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (h:HS.mem{live h vb}) + :Lemma (upd h vb i (sel h vb i) == h) + +/// `modifies` on views is just defined in terms of the underlying buffer +unfold +let modifies (#b: _) + (vb:buffer b) + (h h':HS.mem) + = B.modifies (B.loc_buffer (as_buffer vb)) h h' + +/// `upd_modifies`: Footprint of `upd` +val upd_modifies (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (ensures (modifies vb h (upd h vb i x) /\ + live (upd h vb i x) vb)) + [SMTPat (upd h vb i x)] + +/// `upd_equal_domains`: `upd` does not modify the memory domains +val upd_equal_domains (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (FStar.HyperStack.ST.equal_domains h (upd h vb i x)) + +/// `as_seq h vb`: Viewing the entire buffer as a sequence of `b` +val as_seq (#b: _) (h:HS.mem) (vb:buffer b) + : GTot (Seq.lseq b (length vb)) + +/// `as_seq_sel`: +/// +/// Relates selecting an element in the heap to selecting an element +/// from the sequence +val as_seq_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (sel h vb i == Seq.index (as_seq h vb) i) + +/// `get_sel`: +/// +/// Relates selecting an element from the view to translating an +/// element of the underlying buffer to a sequence and selecting +/// the corresponding element there +val get_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let v = get_view vb in + let n = View?.n v in + length_eq vb; + sel h vb i == + Seq.index + (View?.get v (Seq.index (B.as_seq h (as_buffer vb)) + (i / n))) + (i % n)) + +/// `put_sel`: +/// +/// Relates selecting a subsequence of the underlying buffer +/// to selecting and translating an element from the view. +val put_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let v = get_view vb in + let n = View?.n v in + length_eq vb; + indexing vb i; + View?.put v (Seq.slice (as_seq h vb) + (n * (i / n)) + (n * (i / n) + n)) == + Seq.index (B.as_seq h (as_buffer vb)) + (i / n)) + +/// `upd_seq h vb s`: Updating the entire sequence in one go +val upd_seq (#b: _) (h:HS.mem) (vb:buffer b{live h vb}) (s:Seq.seq b{Seq.length s = length vb}) + : GTot HS.mem + +val upd_seq_spec (#b: _) (h:HS.mem) (vb:buffer b{live h vb}) (s:Seq.seq b{Seq.length s = length vb}) + : Lemma (let h' = upd_seq h vb s in + as_seq h' vb == s /\ + FStar.HyperStack.ST.equal_domains h h' /\ + modifies vb h h' /\ + (as_seq h vb == s ==> h==h')) diff --git a/stage0/ulib/LowStar.BufferView.Up.fst b/stage0/ulib/LowStar.BufferView.Up.fst new file mode 100644 index 00000000000..fe270504b7f --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.Up.fst @@ -0,0 +1,205 @@ +(* + 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 LowStar.BufferView.Up +module Down = LowStar.BufferView.Down + +noeq +type buffer (dest:Type0) : Type u#1 = + | Buffer: src:Type0 + -> down_buf:Down.buffer src + -> v:view src dest{Down.length down_buf % View?.n v == 0} + -> buffer dest + +let mk_buffer #src #dest down_buf v = Buffer src down_buf v + +let buffer_src #b bv = Buffer?.src bv +let as_down_buffer #b bv = Buffer?.down_buf bv +let get_view #b v = Buffer?.v v +let as_buffer_mk_buffer #_ #_ _ _ = () +let length #b vb = + Down.length (as_down_buffer vb) / View?.n (get_view vb) + +let length_eq #_ _ = () + +//#reset-options "--max_fuel 0 --max_ifuel 1" +let view_indexing #b vb i + = let n = View?.n (get_view vb) in + length_eq vb; + FStar.Math.Lemmas.distributivity_add_left (length vb) (-i) n; + let open FStar.Mul in + assert ((length vb + (-i)) * n = length vb * n + (-i) * n); + assert (length vb > i); + assert (length vb + (-i) > 0); + assert (n <= (length vb + (-i)) * n) + +let split_at_i (#b: _) (vb:buffer b) (i:nat{i < length vb}) (h:HS.mem) + : GTot (frags: + (let src_t = buffer_src vb in + Seq.seq src_t & + Seq.lseq src_t (View?.n (get_view vb)) & + Seq.seq src_t){ + let prefix, es, suffix = frags in + Down.as_seq h (as_down_buffer vb) == + (prefix `Seq.append` (es `Seq.append` suffix)) + }) + = let open FStar.Mul in + let s0 = Down.as_seq h (as_down_buffer vb) in + let v = get_view vb in + let n = View?.n v in + let start = i * n in + view_indexing vb i; + length_eq vb; + let prefix, suffix = Seq.split s0 start in + Seq.lemma_split s0 start; + let es, tail = Seq.split suffix n in + Seq.lemma_split suffix n; + prefix, es, tail + +let sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) + : GTot b + = let v = get_view vb in + let _, es, _ = split_at_i vb i h in + View?.get v es + +let upd' (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : GTot (h':HS.mem{sel h' vb i == x}) + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + let h' = Down.upd_seq h (as_down_buffer vb) s1 in + Down.upd_seq_spec h (as_down_buffer vb) s1; + assert (Down.as_seq h' (as_down_buffer vb) == s1); + let n = View?.n v in + assert (sel h' vb i == View?.get v (Seq.slice s1 (i * n) (i * n + n))); + assert (Seq.slice s1 (i * n) (i * n + n) `Seq.equal` View?.put v x); + h' + + +let upd #b h vb i x + : GTot HS.mem + = upd' #b h vb i x + +let sel_upd1 (#b:_) (vb:buffer b) (i:nat{i < length vb}) (x:b) (h:HS.mem{live h vb}) + : Lemma (sel (upd h vb i x) vb i == x) + = () + +let lt_leq_mul (min:nat) (max:nat{min < max}) (n:nat) + : Lemma (FStar.Mul.(min * n + n <= max * n)) + = let open FStar.Mul in + assert ((min * n) + n = (min + 1) * n); + assert ((min * n) + n <= max * n) + +#set-options "--z3rlimit 20" +let sel_upd2 (#b:_) (vb:buffer b) + (i:nat{i < length vb}) + (j:nat{j < length vb /\ i<>j}) + (x:b) + (h:HS.mem{live h vb}) + : Lemma (sel (upd h vb i x) vb j == sel h vb j) + = let open FStar.Mul in + let v = get_view vb in + view_indexing vb i; + view_indexing vb j; + let h' = upd h vb i x in + let s0 = Down.as_seq h (as_down_buffer vb) in + let s1 = Down.as_seq h' (as_down_buffer vb) in + let min = if i < j then i else j in + let max = if i < j then j else i in + let n = View?.n v in + lt_leq_mul min max n; + let min0, max0 = + Seq.slice s0 (min * n) ((min * n) + n), + Seq.slice s0 (max * n) ((max * n) + n) + in + let _, s_j, _ = split_at_i vb j h in + let min1, max1 = + Seq.slice s1 (min * n) ((min * n) + n), + Seq.slice s1 (max * n) ((max * n) + n) + in + let _, s_j', _ = split_at_i vb j h' in + let prefix, s_i, suffix = split_at_i vb i h in + Down.upd_seq_spec h (as_down_buffer vb) (prefix `Seq.append` (View?.put v x `Seq.append` suffix)); + if i < j + then begin + assert (Seq.equal max0 s_j); + assert (Seq.equal max1 s_j'); + assert (Seq.equal s_j s_j') + end + else begin + assert (Seq.equal min0 s_j); + assert (Seq.equal min1 s_j'); + assert (Seq.equal s_j s_j') + end + +let sel_upd #b vb i j x h = + if i=j then sel_upd1 vb i x h + else sel_upd2 vb i j x h + +let lemma_upd_with_sel #b vb i h = + let v = get_view vb in + let prefix, es, suffix = split_at_i vb i h in + let s0 = Down.as_seq h (as_down_buffer vb) in + let s1 = prefix `Seq.append` (View?.put v (View?.get v es) `Seq.append` suffix) in + assert (Seq.equal s0 s1); + Down.upd_seq_spec h (as_down_buffer vb) s0 + +let upd_modifies #b h vb i x + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + Down.upd_seq_spec h (as_down_buffer vb) s1 + +let upd_equal_domains #b h vb i x + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + upd_modifies h vb i x; + Down.upd_seq_spec h (as_down_buffer vb) s1 + +let rec as_seq' (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i <= length vb}) + : GTot (Seq.lseq b (length vb - i)) + (decreases (length vb - i)) + = let v = get_view vb in + if i = length vb + then Seq.empty + else let _ = view_indexing vb i in + let _, s_i, suffix = split_at_i vb i h in + View?.get v s_i `Seq.cons` as_seq' h vb (i + 1) + +let as_seq (#b: _) (h:HS.mem) (vb:buffer b) = as_seq' h vb 0 + +#set-options "--max_fuel 1 --max_ifuel 1" +let as_seq_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) + : Lemma (ensures (sel h vb i == Seq.index (as_seq h vb) i)) + = + let rec as_seq'_as_seq' (j:nat) + (i:nat{j + i < length vb}) + : Lemma (ensures (Seq.index (as_seq' h vb j) i == Seq.index (as_seq' h vb (j + i)) 0)) + (decreases i) + = if i = 0 then () else as_seq'_as_seq' (j + 1) (i - 1) + in + as_seq'_as_seq' 0 i + +#set-options "--max_fuel 0 --max_ifuel 1" +let get_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) = () +let put_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) = () diff --git a/stage0/ulib/LowStar.BufferView.Up.fsti b/stage0/ulib/LowStar.BufferView.Up.fsti new file mode 100644 index 00000000000..113983a3614 --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.Up.fsti @@ -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 LowStar.BufferView.Up + +(** + * A "view" on a buffer allows treating a + * `Buffer.buffer a` as a + * `BufferView.buffer b` + * + * A "view" on a buffer is intended for specification purposes only + * It does not correspond to a pointer cast in C. + * + * Building a view requires providing a pair of mutually inverse functions + * from sequences of `a` (sub-sequences of the source buffer) + * to elements of `b`. + * + **) +open LowStar.Monotonic.Buffer + +module HS=FStar.HyperStack +module B=LowStar.Monotonic.Buffer +module Down=LowStar.BufferView.Down + +(** Definition of a view **) + +/// `f` and `g` are mutual inverses +let inverses = Down.inverses + +/// `view a b` maps `n`-lengthed sequences of `a` to a single `b` +noeq +type view (a:Type) (b:Type) = + | View : n:pos -> + get:(Seq.lseq a n -> GTot b) -> + put:(b -> GTot (Seq.lseq a n)) { + inverses get put + } -> + view a b + +val buffer (dest:Type0) : Type u#1 + +/// `mk_buffer`: The main constructor +val mk_buffer (#src:Type0) + (#dest:Type0) + (b:Down.buffer src) + (v:view src dest{ + Down.length b % View?.n v == 0 + }) + : GTot (buffer dest) + +val buffer_src (#dest:Type) (b:buffer dest) : Type0 + +/// `as_down_buffer`: Projecting the underlying Down.buffer from its view +val as_down_buffer (#b:Type) (v:buffer b) : Down.buffer (buffer_src v) + +/// `get_view`: Projecting the view functions itself +val get_view (#b : Type) (v:buffer b) : view (buffer_src v) b + +/// A lemma-relating projector to constructor +val as_buffer_mk_buffer (#src #dest:Type) + (d:Down.buffer src) + (v:view src dest{ + Down.length d % View?.n v == 0 + }) + : Lemma (let bv = mk_buffer d v in + buffer_src bv == src /\ + as_down_buffer bv == d /\ + get_view bv == v) + [SMTPatOr [[SMTPat (buffer_src (mk_buffer d v))]; + [SMTPat (as_down_buffer (mk_buffer d v))]; + [SMTPat (get_view (mk_buffer d v))]]] + +/// `live h vb`: liveness of a buffer view corresponds to liveness of +/// the underlying buffer +unfold +let live #b h (vb:buffer b) = Down.live h (as_down_buffer vb) +val length (#b: _) (vb:buffer b) + : GTot nat + +/// `length_eq`: Reveals the definition of the `length` function +val length_eq (#b: _) (vb:buffer b) + : Lemma (length vb = Down.length (as_down_buffer vb) / View?.n (get_view vb)) + +/// `view_indexing`: A lemma that requires a bit of non-linear +/// arithmetic, necessary for some of the specs below and convenient +/// when relating the underlying buffer to its view. +val view_indexing (#b: _) (vb:buffer b) (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let n = View?.n (get_view vb) in + n <= length vb * n - i * n) + +/// `sel h vb i` : selects element at index `i` from the buffer `vb` in heap `h` +val sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : GTot b + +/// `upd h vb i x`: stores `x` at index `i` in the buffer `vb` in heap `h` +val upd (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : GTot HS.mem + +/// `sel_upd`: A classic select/update lemma for reasoning about maps +val sel_upd (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (j:nat{j < length vb}) + (x:b) + (h:HS.mem{live h vb}) + : Lemma (if i = j + then sel (upd h vb i x) vb j == x + else sel (upd h vb i x) vb j == sel h vb j) + [SMTPat (sel (upd h vb i x) vb j)] + +val lemma_upd_with_sel (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (h:HS.mem{live h vb}) + :Lemma (upd h vb i (sel h vb i) == h) + +/// `modifies` on views is just defined in terms of the underlying buffer +unfold +let modifies (#b: _) + (vb:buffer b) + (h h':HS.mem) + = Down.modifies (as_down_buffer vb) h h' + +/// `upd_modifies`: Footprint of `upd` +val upd_modifies (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (ensures (modifies vb h (upd h vb i x) /\ + live (upd h vb i x) vb)) + [SMTPat (upd h vb i x)] + +/// `upd_equal_domains`: `upd` does not modify the memory domains +val upd_equal_domains (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (FStar.HyperStack.ST.equal_domains h (upd h vb i x)) + +/// `as_seq h vb`: Viewing the entire buffer as a sequence of `b` +val as_seq (#b: _) (h:HS.mem) (vb:buffer b) + : GTot (Seq.lseq b (length vb)) + +/// `as_seq_sel`: +/// +/// Relates selecting an element in the heap to selecting an element +/// from the sequence +val as_seq_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (sel h vb i == Seq.index (as_seq h vb) i) + +/// `get_sel`: +/// +/// Relates selecting an element from the view to translating a +/// subsequence of the underlying buffer through the view +val get_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let v = get_view vb in + let n = View?.n v in + length_eq vb; + view_indexing vb i; + sel h vb i == + View?.get v (Seq.slice (Down.as_seq h (as_down_buffer vb)) (i * n) (i * n + n))) + +/// `put_sel`: +/// +/// Relates selecting a subsequence of the underlying buffer +/// to selecting and translating an element from the view. +val put_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let v = get_view vb in + let n = View?.n v in + length_eq vb; + view_indexing vb i; + View?.put v (sel h vb i) == + Seq.slice (Down.as_seq h (as_down_buffer vb)) (i * n) (i * n + n)) diff --git a/stage0/ulib/LowStar.BufferView.fst b/stage0/ulib/LowStar.BufferView.fst new file mode 100644 index 00000000000..f33679d3f96 --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.fst @@ -0,0 +1,207 @@ +(* + 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 LowStar.BufferView + +noeq +type buffer_view (a:Type0) (rrel rel:B.srel a) (b:Type u#b) : Type u#b = + | BufferView: buf:B.mbuffer a rrel rel + -> v:view a b{B.length buf % View?.n v == 0} + -> buffer_view a rrel rel b + +let mk_buffer_view #src #rrel #rel #dest b v = (| src, rrel, rel, BufferView b v |) + +let as_buffer #b v = BufferView?.buf (Mkdtuple4?._4 v) + +let as_buffer_mk_buffer_view #_ #_ #_ #_ _ _ = () + +let get_view #b v = BufferView?.v (Mkdtuple4?._4 v) + +let get_view_mk_buffer_view #_ #_ #_ #_ _ _ = () + +let length #b vb = B.length (as_buffer vb) / View?.n (get_view vb) + +let length_eq #_ _ = () + +#reset-options "--max_fuel 0 --max_ifuel 1" +let view_indexing #b vb i + = let n = View?.n (get_view vb) in + length_eq vb; + FStar.Math.Lemmas.distributivity_add_left (length vb) (-i) n; + let open FStar.Mul in + assert ((length vb + (-i)) * n = length vb * n + (-i) * n); + assert (length vb > i); + assert (length vb + (-i) > 0); + assert (n <= (length vb + (-i)) * n) + + +let split_at_i (#b: _) (vb:buffer b) (i:nat{i < length vb}) (h:HS.mem) + : GTot (frags: + (let src_t = Mkdtuple4?._1 vb in + Seq.seq src_t & + Seq.lseq src_t (View?.n (get_view vb)) & + Seq.seq src_t){ + let prefix, es, suffix = frags in + B.as_seq h (as_buffer vb) == + (prefix `Seq.append` (es `Seq.append` suffix)) + }) + = let open FStar.Mul in + let s0 = B.as_seq h (as_buffer vb) in + let v = get_view vb in + let n = View?.n v in + let start = i * n in + view_indexing vb i; + length_eq vb; + let prefix, suffix = Seq.split s0 start in + Seq.lemma_split s0 start; + let es, tail = Seq.split suffix n in + Seq.lemma_split suffix n; + prefix, es, tail + +let sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) + : GTot b + = let v = get_view vb in + let _, es, _ = split_at_i vb i h in + View?.get v es + +let upd #b h vb i x + : GTot HS.mem + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + B.g_upd_seq (as_buffer vb) s1 h + +let sel_upd1 (#b:_) (vb:buffer b) (i:nat{i < length vb}) (x:b) (h:HS.mem{live h vb}) + : Lemma (sel (upd h vb i x) vb i == x) + = + let v = get_view vb in + view_indexing vb i; + let h' = upd h vb i x in + let prefix, es, suffix = split_at_i vb i h in + let es' = View?.put v x in + let s' = B.as_seq h' (as_buffer vb) in + B.g_upd_seq_as_seq (as_buffer vb) (prefix `Seq.append` (es' `Seq.append` suffix)) h; + assert (s' == prefix `Seq.append` (es' `Seq.append` suffix)); + let prefix', es'', suffix' = split_at_i vb i h' in + assert (s' == prefix' `Seq.append` (es'' `Seq.append` suffix')); + Seq.lemma_append_inj prefix (es' `Seq.append` suffix) + prefix' (es'' `Seq.append` suffix'); + Seq.lemma_append_inj es' suffix + es'' suffix'; + assert (es' == es'') + +let lt_leq_mul (min:nat) (max:nat{min < max}) (n:nat) + : Lemma (FStar.Mul.(min * n + n <= max * n)) + = let open FStar.Mul in + assert ((min * n) + n = (min + 1) * n); + assert ((min * n) + n <= max * n) + +#set-options "--z3rlimit 20" +let sel_upd2 (#b:_) (vb:buffer b) + (i:nat{i < length vb}) + (j:nat{j < length vb /\ i<>j}) + (x:b) + (h:HS.mem{live h vb}) + : Lemma (sel (upd h vb i x) vb j == sel h vb j) + = let open FStar.Mul in + let v = get_view vb in + view_indexing vb i; + view_indexing vb j; + let h' = upd h vb i x in + let s0 = B.as_seq h (as_buffer vb) in + let s1 = B.as_seq h' (as_buffer vb) in + let min = if i < j then i else j in + let max = if i < j then j else i in + let n = View?.n v in + lt_leq_mul min max n; + let min0, max0 = + Seq.slice s0 (min * n) ((min * n) + n), + Seq.slice s0 (max * n) ((max * n) + n) + in + let _, s_j, _ = split_at_i vb j h in + let min1, max1 = + Seq.slice s1 (min * n) ((min * n) + n), + Seq.slice s1 (max * n) ((max * n) + n) + in + let _, s_j', _ = split_at_i vb j h' in + let prefix, s_i, suffix = split_at_i vb i h in + B.g_upd_seq_as_seq (as_buffer vb) (prefix `Seq.append` (View?.put v x `Seq.append` suffix)) h; + if i < j + then begin + assert (Seq.equal max0 s_j); + assert (Seq.equal max1 s_j'); + assert (Seq.equal s_j s_j') + end + else begin + assert (Seq.equal min0 s_j); + assert (Seq.equal min1 s_j'); + assert (Seq.equal s_j s_j') + end + +let sel_upd #b vb i j x h = + if i=j then sel_upd1 vb i x h + else sel_upd2 vb i j x h + +let lemma_upd_with_sel #b vb i h = + let v = get_view vb in + let prefix, es, suffix = split_at_i vb i h in + let s0 = B.as_seq h (as_buffer vb) in + let s1 = prefix `Seq.append` (View?.put v (View?.get v es) `Seq.append` suffix) in + assert (Seq.equal s0 s1); + B.lemma_g_upd_with_same_seq (as_buffer vb) h + +let upd_modifies #b h vb i x + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + B.g_upd_seq_as_seq (as_buffer vb) s1 h + +let upd_equal_domains #b h vb i x + = let open FStar.Mul in + let v = get_view vb in + let prefix, _, suffix = split_at_i vb i h in + let s1 = prefix `Seq.append` (View?.put v x `Seq.append` suffix) in + upd_modifies h vb i x; + B.g_upd_seq_as_seq (as_buffer vb) s1 h + +let rec as_seq' (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i <= length vb}) + : GTot (Seq.lseq b (length vb - i)) + (decreases (length vb - i)) + = let v = get_view vb in + if i = length vb + then Seq.empty + else let _ = view_indexing vb i in + let _, s_i, suffix = split_at_i vb i h in + View?.get v s_i `Seq.cons` as_seq' h vb (i + 1) + +let as_seq (#b: _) (h:HS.mem) (vb:buffer b) = as_seq' h vb 0 + +#set-options "--max_fuel 1 --max_ifuel 1" +let as_seq_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) + : Lemma (ensures (sel h vb i == Seq.index (as_seq h vb) i)) + = + let rec as_seq'_as_seq' (j:nat) + (i:nat{j + i < length vb}) + : Lemma (ensures (Seq.index (as_seq' h vb j) i == Seq.index (as_seq' h vb (j + i)) 0)) + (decreases i) + = if i = 0 then () else as_seq'_as_seq' (j + 1) (i - 1) + in + as_seq'_as_seq' 0 i + +#set-options "--max_fuel 0 --max_ifuel 1" +let get_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) = () +let put_sel (#b: _) (h:HS.mem) (vb:buffer b) (i:nat{i < length vb}) = () diff --git a/stage0/ulib/LowStar.BufferView.fsti b/stage0/ulib/LowStar.BufferView.fsti new file mode 100644 index 00000000000..e076f63502e --- /dev/null +++ b/stage0/ulib/LowStar.BufferView.fsti @@ -0,0 +1,257 @@ +(* + 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 LowStar.BufferView + +(** + * A "view" on a buffer allows treating a + * `Buffer.buffer a` as a + * `BufferView.buffer b` + * + * A "view" on a buffer is intended for specification purposes only + * It does not correspond to a pointer cast in C. + * + * Building a view requires providing a pair of mutually inverse functions + * from sequences of `a` (sub-sequences of the source buffer) + * to elements of `b`. + * + **) +open LowStar.Monotonic.Buffer + +module HS=FStar.HyperStack +module B=LowStar.Monotonic.Buffer + +(** Definition of a view **) + +/// `f` and `g` are mutual inverses +let inverses #a #b + (f: (a -> GTot b)) + (g: (b -> GTot a)) = + (forall x. g (f x) == x) /\ + (forall y. f (g y) == y) + +/// `view a b` maps `n`-lengthed sequences of `a` to a single `b` +noeq +type view (a:Type) (b:Type) = + | View : n:pos -> + get:(Seq.lseq a n -> GTot b) -> + put:(b -> GTot (Seq.lseq a n)) { + inverses get put + } -> + view a b + +/// `buffer_views src dest`: +/// +/// The main abstract type provided by this module. This type is +/// indexed by both the `src` and `dest` types. The former (`src`) is +/// the type of the underlying B.buffer's contents: as such, it is +/// forced to be in universe 0. +/// +/// The destination type `dest` is for specification only and is not +/// subject to the same universe constraints by the memory model. + +val buffer_view (src:Type0) (rrel rel:B.srel src) (dest:Type u#b) : Type u#b + +/// `buffer b`: In contrast to `buffer_view`, `buffer b` hides the +/// source type of the view. As such, it is likely more convenient to +/// use in specifications and the rest of this interface is designed +/// around this type. +/// +/// However, the type has a higher universe, and +/// this means, for instance, that values of `buffer b` cannot be +/// stored in the heap. +/// +/// We leave its definition transparent in case clients wish to +/// manipulate both the `src` and `dest` types explicitly (e.g., to +/// stay in a lower universe) + +let buffer (dest:Type u#a) : Type u#(max a 1) = (src:Type0 & rrel:B.srel src & rel:B.srel src & buffer_view src rrel rel dest) + +let as_buffer_t (#dest:Type) (b:buffer dest) = B.mbuffer (Mkdtuple4?._1 b) (Mkdtuple4?._2 b) (Mkdtuple4?._3 b) + +/// `mk_buffer_view`: The main constructor +val mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest{ + length b % View?.n v == 0 + }) + : GTot (buffer dest) + + +/// `as_buffer`: Projecting the underlying B.buffer from its view +val as_buffer (#b:Type) (v:buffer b) : as_buffer_t v + +/// A lemma-relating projector to constructor +val as_buffer_mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest{ + length b % View?.n v == 0 + }) + : Lemma (let bv = mk_buffer_view b v in + Mkdtuple4?._1 bv == src /\ + Mkdtuple4?._2 bv == rrel /\ + Mkdtuple4?._3 bv == rel /\ + as_buffer bv == b) + [SMTPat (as_buffer (mk_buffer_view b v))] + +/// `get_view`: Projecting the view functions itself +val get_view (#b : Type) (v:buffer b) : view (Mkdtuple4?._1 v) b + +/// A lemma-relating projector to constructor +val get_view_mk_buffer_view (#src:Type0) (#rrel #rel:B.srel src) (#dest:Type) + (b:B.mbuffer src rrel rel) + (v:view src dest{ + length b % View?.n v == 0 + }) + : Lemma (let bv = mk_buffer_view b v in + Mkdtuple4?._1 bv == src /\ + get_view bv == v) + [SMTPat (get_view (mk_buffer_view b v))] + +/// `live h vb`: liveness of a buffer view corresponds to liveness of +/// the underlying buffer +unfold +let live #b h (vb:buffer b) = live h (as_buffer vb) + +/// `length vb`: is defined in terms of the underlying buffer +/// +/// Internally, it is defined as +/// +/// ``` +/// length (as_buffer vb) / View?.n (get_view vb) +/// ``` +/// +/// However, rather than expose this definition (which uses non-linear +/// arithmetic) to callers, we treat length abstractly. +/// +/// To reveal its definition explicitly, use the `length_eq` lemma below. +val length (#b: _) (vb:buffer b) + : GTot nat + +/// `length_eq`: Reveals the definition of the `length` function +val length_eq (#b: _) (vb:buffer b) + : Lemma (length vb = B.length (as_buffer vb) / View?.n (get_view vb)) + +/// `view_indexing`: A lemma that requires a bit of non-linear +/// arithmetic, necessary for some of the specs below and convenient +/// when relating the underlying buffer to its view. +val view_indexing (#b: _) (vb:buffer b) (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let n = View?.n (get_view vb) in + n <= length vb * n - i * n) + +/// `sel h vb i` : selects element at index `i` from the buffer `vb` in heap `h` +val sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : GTot b + +/// `upd h vb i x`: stores `x` at index `i` in the buffer `vb` in heap `h` +val upd (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : GTot HS.mem + +/// `sel_upd`: A classic select/update lemma for reasoning about maps +val sel_upd (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (j:nat{j < length vb}) + (x:b) + (h:HS.mem{live h vb}) + : Lemma (if i = j + then sel (upd h vb i x) vb j == x + else sel (upd h vb i x) vb j == sel h vb j) + [SMTPat (sel (upd h vb i x) vb j)] + +val lemma_upd_with_sel (#b:_) + (vb:buffer b) + (i:nat{i < length vb}) + (h:HS.mem{live h vb}) + :Lemma (upd h vb i (sel h vb i) == h) + +/// `modifies` on views is just defined in terms of the underlying buffer +unfold +let modifies (#b: _) + (vb:buffer b) + (h h':HS.mem) + = B.modifies (B.loc_buffer (as_buffer vb)) h h' + +/// `upd_modifies`: Footprint of `upd` +val upd_modifies (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (ensures (modifies vb h (upd h vb i x) /\ + live (upd h vb i x) vb)) + [SMTPat (upd h vb i x)] + +/// `upd_equal_domains`: `upd` does not modify the memory domains +val upd_equal_domains (#b: _) + (h:HS.mem) + (vb:buffer b{live h vb}) + (i:nat{i < length vb}) + (x:b) + : Lemma (FStar.HyperStack.ST.equal_domains h (upd h vb i x)) + +/// `as_seq h vb`: Viewing the entire buffer as a sequence of `b` +val as_seq (#b: _) (h:HS.mem) (vb:buffer b) + : GTot (Seq.lseq b (length vb)) + +/// `as_seq_sel`: +/// +/// Relates selecting an element in the heap to selecting an element +/// from the sequence +val as_seq_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (sel h vb i == Seq.index (as_seq h vb) i) + +/// `get_sel`: +/// +/// Relates selecting an element from the view to translating a +/// subsequence of the underlying buffer through the view +val get_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let v = get_view vb in + let n = View?.n v in + length_eq vb; + view_indexing vb i; + sel h vb i == + View?.get v (Seq.slice (B.as_seq h (as_buffer vb)) (i * n) (i * n + n))) + +/// `put_sel`: +/// +/// Relates selecting a subsequence of the underlying buffer +/// to selecting and translating an element from the view. +val put_sel (#b: _) + (h:HS.mem) + (vb:buffer b) + (i:nat{i < length vb}) + : Lemma (let open FStar.Mul in + let v = get_view vb in + let n = View?.n v in + length_eq vb; + view_indexing vb i; + View?.put v (sel h vb i) == + Seq.slice (B.as_seq h (as_buffer vb)) (i * n) (i * n + n)) diff --git a/stage0/ulib/LowStar.Comment.fst b/stage0/ulib/LowStar.Comment.fst new file mode 100644 index 00000000000..6777af9bf52 --- /dev/null +++ b/stage0/ulib/LowStar.Comment.fst @@ -0,0 +1,9 @@ +module LowStar.Comment + +let comment_gen + #t before body after += body + +let comment + s += () diff --git a/stage0/ulib/LowStar.Comment.fsti b/stage0/ulib/LowStar.Comment.fsti new file mode 100644 index 00000000000..a3fb0cd3d83 --- /dev/null +++ b/stage0/ulib/LowStar.Comment.fsti @@ -0,0 +1,28 @@ +module LowStar.Comment +open FStar.HyperStack.ST + +/// `comment_gen before body after` extracts to KaRaMeL AST +/// `EComment (before, body', after)` (where `body` extracts +/// to `body'`), and so ultimately extracts to the +/// corresponding C implementation of `body` enclosed with +/// two comments `/* before */` and `/* after */`. +/// `before` and `after` *must be* string literals. +/// However, `comment_gen` is not enough to produce +/// standalone comments, because if `body` is a pure unit +/// expression, then F\*, not KaRaMeL, will erase it at +/// extraction. + +val comment_gen: #t: Type -> before: string -> body: t -> after: string -> Pure t + (requires (True)) + (ensures (fun res -> res == body)) + +/// `comment s` extracts to KaRaMeL AST +/// `EStandaloneComment s`, and so ultimately extracts to +/// the standalone C comment `/* s */`. `s` *must be* +/// a string literal. + +val comment + (s: string) +: Stack unit + (requires (fun _ -> True)) + (ensures (fun h _ h' -> h == h')) diff --git a/stage0/ulib/LowStar.ConstBuffer.fst b/stage0/ulib/LowStar.ConstBuffer.fst new file mode 100644 index 00000000000..1359d632b67 --- /dev/null +++ b/stage0/ulib/LowStar.ConstBuffer.fst @@ -0,0 +1,53 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module LowStar.ConstBuffer + +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +open FStar.HyperStack.ST + +module I = LowStar.ImmutableBuffer +module B = LowStar.Buffer + +let const_buffer a = qbuf a + +let as_qbuf c = c + +let of_buffer b = (| MUTABLE, b |) + +let of_ibuffer b = (| IMMUTABLE, b |) + +let of_qbuf #_ #q b = (| q, b |) + +let is_null #a c = + let x = qbuf_mbuf c in + B.is_null x + +let index c i = + let x = qbuf_mbuf c in + B.index x i + +let sub #a c i len = + let (| q, x |) = c in + let x : B.mbuffer a (q_preorder q a) (q_preorder q a) = x in + let y = B.msub (q_preorder q a) x i len in + (| q, y |) + +let cast c = qbuf_mbuf c +let to_buffer c = qbuf_mbuf c +let to_ibuffer c = qbuf_mbuf c diff --git a/stage0/ulib/LowStar.ConstBuffer.fsti b/stage0/ulib/LowStar.ConstBuffer.fsti new file mode 100644 index 00000000000..3a85785ce3f --- /dev/null +++ b/stage0/ulib/LowStar.ConstBuffer.fsti @@ -0,0 +1,298 @@ +(* + Copyright 2008-2019 Microsoft Research + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. +*) +module LowStar.ConstBuffer + +(* This module provides a model of const pointers in C. + + A well-typed client guarantees that it will not mutate memory + through a const pointer. But it cannot rely on the context not + mutating the same memory. + + As such, we model const pointers as a finite disjunction of + {mutable, immutable}-pointers, forcing code to guarantee the + strongest condition of the two (immutability) and to rely only on + the weakest (i.e., mutability). + + The main type of this module is `const_buffer t`. It is extracted + by KaRaMeL to `const t*`. +*) + +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +open FStar.HyperStack.ST + +module I = LowStar.ImmutableBuffer +module B = LowStar.Buffer + +(*** A model for const pointers **) + +/// We start by defining the finite disjunction of mutable and +/// immutable buffers. +/// +/// NB: THIS IS FOR SPECIFICATIONAL PURPOSES ONLY +/// The concrete type `const_buffer` is defined later + +/// `qual`: mutability qualifier +[@@erasable] +noeq +type qual = + | MUTABLE + | IMMUTABLE + +/// `qbuf_cases q a`: disjunction of mutable and immutable pointers +let qbuf_cases (q:qual) (a:Type) = + match q with + | MUTABLE -> B.buffer a + | IMMUTABLE -> I.ibuffer a + +/// `q_preorder q a`: As we'll see shortly, it is convenient to also +/// define a disjunction of the preorder indices on a qualified +/// buffer +inline_for_extraction +let q_preorder (q:qual) (a:Type) = + match q with + | MUTABLE -> B.trivial_preorder a + | IMMUTABLE -> I.immutable_preorder a + +/// `qbuf a`: This type is used for specificational purposes only. It +/// is buffer whose mutability qualifier is existentially bound, via +/// a dependent pair +let qbuf a = (q:qual & qbuf_cases q a) + +/// `qbuf_qual c`: projecting the mutability qualifier of a `qbuf` +let qbuf_qual (c:qbuf 'a) : qual = dfst c + +/// `qbuf_pre c`: case-dependent preorders for a qbuf +let qbuf_pre (c:qbuf 'a) = q_preorder (qbuf_qual c) 'a + +/// `qbuf_mbuf c`: turning a qbuf into a regular monotonic buffer +let qbuf_mbuf (c:qbuf 'a) : B.mbuffer 'a (qbuf_pre c) (qbuf_pre c) = dsnd c + +(*** CONCRETE CONST POINTERS **) + +/// `const_buffer`: +/// An abstract type of a read-only pointer to an array of `a` +val const_buffer (a:Type u#0) : Type u#0 + +/// `as_qbuf`: For specificational purposes, a const_buffer can be +/// seen as an existentially quantified qbuf +val as_qbuf (c:const_buffer 'a) : Tot (qbuf 'a) + +/// `qual_of`: +let qual_of (#a:_) (c:const_buffer a) + : Tot qual + = dfst (as_qbuf c) + +/// `as_mbuf`: A convenience function to turn a const_buffer into a +/// regular mbuffer, for spec purposes +let as_mbuf (c:const_buffer 'a) : GTot _ = qbuf_mbuf (as_qbuf c) + +/// We now give several convenience functions that lift common +/// notions on buffers to const_buffer, via the `as_mbuf` coercion +let live (h:HS.mem) (c:const_buffer 'a) = B.live h (as_mbuf c) +let length (c:const_buffer 'a) = B.length (as_mbuf c) +let loc_buffer (c:const_buffer 'a) = B.loc_buffer (as_mbuf c) +let loc_addr_of_buffer (c:const_buffer 'a) = B.loc_addr_of_buffer (as_mbuf c) +let as_seq (h:HS.mem) (c:const_buffer 'a) = B.as_seq h (as_mbuf c) +let g_is_null (c:const_buffer 'a) = B.g_is_null (as_mbuf c) + +(*** CONSTRUCTORS **) + +/// `of_buffer`: A constructors for const buffers from mutable and +/// immutable buffers. It is fully specified in terms of the +/// `qbuf/mbuf` model +val of_buffer (b:B.buffer 'a) + : Pure (const_buffer 'a) + (requires True) + (ensures fun c -> + let c = as_qbuf c in + qbuf_qual c == MUTABLE /\ + qbuf_mbuf c == b) + +/// `of_ibuffer`: A constructors for const buffers from mutable and +/// immutable buffers. It is fully specified in terms of the +/// `qbuf/mbuf` model +val of_ibuffer (b:I.ibuffer 'a) + : Pure (const_buffer 'a) + (requires True) + (ensures fun c -> + let c = as_qbuf c in + qbuf_qual c == IMMUTABLE /\ + qbuf_mbuf c == b) + + +/// `of_qbuf`: A constructors for const buffers from either mutable and +/// immutable buffers. It is fully specified in terms of the +/// `qbuf/mbuf` model +val of_qbuf (#q:qual) (b:B.mbuffer 'a (q_preorder q 'a) (q_preorder q 'a)) + : Pure (const_buffer 'a) + (requires True) + (ensures fun c -> + let c = as_qbuf c in + qbuf_qual c == q /\ + qbuf_mbuf c == b) + +/// null constant buffer +let null 'a : const_buffer 'a = of_buffer B.null + +(*** OPERATIONS ON CONST POINTERS **) + +/// Is the buffer the null pointer? +val is_null (c:const_buffer 'a) + : Stack bool (requires (fun h -> live h c)) + (ensures (fun h y h' -> h == h' /\ y == g_is_null c)) + + +/// `index c i`: Very similar to the spec for `Buffer.index` +val index (c:const_buffer 'a) (i:U32.t) + : Stack 'a + (requires fun h -> + live h c /\ + U32.v i < length c) + (ensures fun h0 y h1 -> + h0 == h1 /\ + y == Seq.index (as_seq h0 c) (U32.v i)) + + +/// Specification of sub +let gsub (c:const_buffer 'a) (i:U32.t) (len:U32.t{U32.v i + U32.v len <= length c}) + : GTot (const_buffer 'a) + = let qc = as_qbuf c in + of_qbuf (B.mgsub (qbuf_pre qc) (qbuf_mbuf qc) i len) + +/// Relational specification of sub +let const_sub_buffer (i:U32.t) (len:U32.t) (csub c:const_buffer 'a) = + let qc = as_qbuf c in + let qcsub = as_qbuf csub in + U32.v i + U32.v len <= length c /\ + csub == gsub c i len + +/// `sub`: A sub-buffer of a const buffer points to a given +/// within-bounds offset of its head +val sub (#a:_) (c:const_buffer a) (i:U32.t) (len:Ghost.erased (U32.t)) + : Stack (const_buffer a) + (requires fun h -> + live h c /\ + U32.v i + U32.v len <= length c) + (ensures fun h0 c' h1 -> + let qc = as_qbuf c in + let qc' = as_qbuf c' in + h0 == h1 /\ + c' `const_sub_buffer i len` c) + +/// Discussion between NS and JP (20191119) +/// +/// Why is it safe to generate C code that casts away the const qualifier with the +/// cast operations below? Looking at the C11 standard, 6.7.3 alinea 6: +/// +/// > If an attempt is made to modify an object defined with a const-qualified type +/// > through useof an lvalue with non-const-qualified type, the behavior is +/// > undefined. +/// +/// So, dangerous things happen in situations where the original object is *created* +/// with a const qualifier (the object's _identity_ is const). +/// +/// ``` +/// #include +/// #include +/// +/// extern void f(const int *x); +/// +/// int main() { +/// const int x = 0; +/// f(&x); // f promises not to modify x +/// printf("%d\n", x); // prints 0 at -O3 but 1 at -O0 +/// return 0; +/// } +/// ``` +/// +/// with: +/// +/// ``` +/// void f(const int *x) { +/// int *y = (int *)x; +/// *y = 1; +/// } +/// ``` +/// +/// In Low*, however, we never create objects that are marked const from the start. +/// This is for historical reasons; in particular, immutable buffers are not marked +/// const (they certainly could be). +/// +/// So, the casts seem to be safe? Also, the difference in behavior noted above +/// does not happen if x is defined as +/// +/// ``` +/// const int *x = calloc(1, sizeof *x); +/// ``` +/// +/// Finally, the compiler, if the const qualifier is stripped from x, could still +/// potentially rely on an argument of freshness (pointer provenance?) to deduce +/// that &x is the sole pointer to x and that therefore the value of x should remain +/// the same. This does not seem to be happening. + +/// `cast`: It is possible to cast away the const qualifier recovering +/// a mutable or immutable pointer, in case the context can prove +/// that `qbuf_qual c` is MUTABLE or IMMUTABLE, respectively +val cast (c:const_buffer 'a) + : Pure (B.mbuffer 'a (qbuf_pre (as_qbuf c)) (qbuf_pre (as_qbuf c))) + (requires True) + (ensures fun x -> + x == as_mbuf c) + +val to_buffer (c:const_buffer 'a) + : Pure (B.buffer 'a) + (requires ( + let c = as_qbuf c in + qbuf_qual c == MUTABLE)) + (ensures fun x -> + x == as_mbuf c) + +val to_ibuffer (c:const_buffer 'a) + : Pure (I.ibuffer 'a) + (requires ( + let c = as_qbuf c in + qbuf_qual c == IMMUTABLE)) + (ensures fun x -> + x == as_mbuf c) + +//////////////////////////////////////////////////////////////////////////////// +let test (x:B.buffer U32.t) (y:I.ibuffer U32.t) + : Stack U32.t + (requires fun h -> + B.live h x /\ + B.live h y /\ + B.length x > 0 /\ + B.length y > 2 /\ + B.get h y 0 == 1ul /\ + B.get h y 1 == 2ul /\ + B.disjoint x y) + (ensures fun h0 a h1 -> + B.modifies (B.loc_buffer x) h0 h1 /\ + a == 4ul) + = let c1 = of_buffer x in + let c2 = of_ibuffer y in + B.upd x 0ul 1ul; + let a = index c1 0ul in + assert (a == 1ul); + let a' = index c2 0ul in + assert (a' == 1ul); + let c3 = sub c2 1ul 1ul in + let a'' = index c3 0ul in + assert (a'' == 2ul); + U32.(a +^ a' +^ a'') diff --git a/stage0/ulib/LowStar.Endianness.fst b/stage0/ulib/LowStar.Endianness.fst new file mode 100644 index 00000000000..9b0af2d6caa --- /dev/null +++ b/stage0/ulib/LowStar.Endianness.fst @@ -0,0 +1,551 @@ +module LowStar.Endianness + +/// Stateful operations between machine integers and buffers of uint8s. Most of +/// these operations are implemented natively using the target's system endianness +/// headers, relying on macros or static inline declarations. +/// +/// .. note:: +/// +/// This module supersedes ``C.Endianness``. + +module MB = LowStar.Monotonic.Buffer +module B = LowStar.Buffer + +open FStar.HyperStack.ST +open FStar.Endianness +open LowStar.BufferOps + +module U8 = FStar.UInt8 +module U16 = FStar.UInt16 +module U32 = FStar.UInt32 +module U64 = FStar.UInt64 +module U128 = FStar.UInt128 + +module HS = FStar.HyperStack + +inline_for_extraction +type u8 = U8.t +inline_for_extraction +type u16 = U16.t +inline_for_extraction +type u32 = U32.t +inline_for_extraction +type u64 = U64.t +inline_for_extraction +type u128 = U128.t + +/// Byte-swapping operations +/// ------------------------ +/// +/// TODO these are totally unspecified + +assume val htole16: u16 -> u16 +assume val le16toh: u16 -> u16 + +assume val htole32: u32 -> u32 +assume val le32toh: u32 -> u32 + +assume val htole64: u64 -> u64 +assume val le64toh: u64 -> u64 + +assume val htobe16: u16 -> u16 +assume val be16toh: u16 -> u16 + +assume val htobe32: u32 -> u32 +assume val be32toh: u32 -> u32 + +assume val htobe64: u64 -> u64 +assume val be64toh: u64 -> u64 + +/// Precondition for store functions +/// +/// Parametrized by the predicate that different store functions can pass accordingly +/// +/// Typically saying sequence contents are le_to_n or be_to_n etc. + +unfold let store_pre + (#a:Type) (#rrel #rel:MB.srel a) (b:MB.mbuffer a rrel rel) + (i:nat) (j:nat{i + j <= MB.length b}) (predicate:Seq.seq a -> Type0) + = fun (h:HS.mem) -> + let sb = MB.as_seq h b in + let len = MB.length b in + + MB.live h b /\ + + (forall (s:Seq.seq a). //monotonicity precondition that once the contents of the buffer + //between [i, j) are replaced as per the predicate, the + //preorder rel is satisfied + + (Seq.length s == len /\ + Seq.equal (Seq.slice s 0 i) (Seq.slice sb 0 i) /\ + Seq.equal (Seq.slice s (i + j) len) (Seq.slice sb (i + j) len) /\ + predicate (Seq.slice s i (i + j))) + + ==> rel sb s) + + +/// Common postcondition + +unfold let store_post + (#a:Type) (#rrel #rel:MB.srel a) (b:MB.mbuffer a rrel rel) + (i:nat) (j:nat{i + j <= MB.length b}) (predicate:Seq.seq a -> Type0) + = fun (h0:HS.mem) (_:unit) (h1:HS.mem) -> + MB.live h1 b /\ + MB.(modifies (loc_buffer b) h0 h1) /\ + (let s1 = MB.as_seq h0 b in + let s2 = MB.as_seq h1 b in + let len = MB.length b in + + //the buffer only changes in the interval [i, j) as per the predicate + Seq.equal (Seq.slice s2 0 i) (Seq.slice s1 0 i) /\ + Seq.equal (Seq.slice s2 (i + j) len) (Seq.slice s1 (i + j) len) /\ + predicate (Seq.slice s2 i (i + j))) + + +/// Loads and stores +/// ---------------- +/// +/// These are primitive + +assume val store16_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 2 <= MB.length b}) + (z:u16) + : Stack unit + (requires (store_pre b (U32.v i) 2 (fun s -> le_to_n s == U16.v z))) + (ensures (store_post b (U32.v i) 2 (fun s -> le_to_n s == U16.v z))) + +assume val load16_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 2 <= MB.length b}) + : Stack u16 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + le_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 2)) == U16.v z) + +assume val store16_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 2 <= MB.length b}) + (z:u16) + : Stack unit + (requires (store_pre b (U32.v i) 2 (fun s -> be_to_n s == U16.v z))) + (ensures (store_post b (U32.v i) 2 (fun s -> be_to_n s == U16.v z))) + +assume val load16_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 2 <= MB.length b}) + : Stack u16 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + be_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 2)) == U16.v z) + +assume val store32_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 4 <= MB.length b}) + (z:u32) + : Stack unit + (requires (store_pre b (U32.v i) 4 (fun s -> le_to_n s == U32.v z))) + (ensures (store_post b (U32.v i) 4 (fun s -> le_to_n s == U32.v z))) + +assume val load32_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 4 <= MB.length b}) + : Stack u32 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + le_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 4)) == U32.v z) + +assume val store32_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 4 <= MB.length b}) + (z:u32) + : Stack unit + (requires (store_pre b (U32.v i) 4 (fun s -> be_to_n s == U32.v z))) + (ensures (store_post b (U32.v i) 4 (fun s -> be_to_n s == U32.v z))) + +assume val load32_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 4 <= MB.length b}) + : Stack u32 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + be_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 4)) == U32.v z) + +assume val store64_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 8 <= MB.length b}) + (z:u64) + : Stack unit + (requires (store_pre b (U32.v i) 8 (fun s -> le_to_n s == U64.v z))) + (ensures (store_post b (U32.v i) 8 (fun s -> le_to_n s == U64.v z))) + +assume val load64_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 8 <= MB.length b}) + : Stack u64 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + le_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 8)) == U64.v z) + +assume val store64_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 8 <= MB.length b}) + (z:u64) + : Stack unit + (requires (store_pre b (U32.v i) 8 (fun s -> be_to_n s == U64.v z))) + (ensures (store_post b (U32.v i) 8 (fun s -> be_to_n s == U64.v z))) + +assume val load64_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 8 <= MB.length b}) + : Stack u64 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + be_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 8)) == U64.v z) + +assume val store128_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 16 <= MB.length b}) + (z:u128) + : Stack unit + (requires (store_pre b (U32.v i) 16 (fun s -> le_to_n s == U128.v z))) + (ensures (store_post b (U32.v i) 16 (fun s -> le_to_n s == U128.v z))) + +assume val load128_le_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 16 <= MB.length b}) + : Stack u128 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + le_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 16)) == U128.v z) + +assume val store128_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 16 <= MB.length b}) + (z:u128) + : Stack unit + (requires (store_pre b (U32.v i) 16 (fun s -> be_to_n s == U128.v z))) + (ensures (store_post b (U32.v i) 16 (fun s -> be_to_n s == U128.v z))) + + +assume val load128_be_i + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32{U32.v i + 16 <= MB.length b}) + : Stack u128 + (requires fun h -> MB.live h b) + (ensures fun h0 z h1 -> + h0 == h1 /\ + MB.live h1 b /\ + be_to_n (Seq.slice (MB.as_seq h1 b) (U32.v i) (U32.v i + 16)) == U128.v z) + +/// Loads and stores, on buffers of the right size. +/// ----------------------------------------------- +/// +/// There is bunch of legacy code that wants these operators that operate on buffers of exactly the right size. This is actually more restrictive than the version above, which operates on monotonic buffers, so we offer specialized operators. + +let store16_le + (b:B.buffer UInt8.t{B.length b == 2}) + (z:UInt16.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt16.v z)) += + store16_le_i b 0ul z + +let load16_le + (b:B.buffer UInt8.t{B.length b == 2}): + Stack UInt16.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt16.v z)) += + load16_le_i b 0ul + + +let store16_be + (b:B.buffer UInt8.t{B.length b == 2}) + (z:UInt16.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt16.v z)) += + store16_be_i b 0ul z + +let load16_be + (b:B.buffer UInt8.t{B.length b == 2}): + Stack UInt16.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt16.v z)) += + load16_be_i b 0ul + + +let store32_le + (b:B.buffer UInt8.t{B.length b == 4}) + (z:UInt32.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt32.v z)) += + store32_le_i b 0ul z + +let load32_le + (b:B.buffer UInt8.t{B.length b == 4}): + Stack UInt32.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt32.v z)) += + load32_le_i b 0ul + + +let store32_be + (b:B.buffer UInt8.t{B.length b == 4}) + (z:UInt32.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt32.v z)) += + store32_be_i b 0ul z + +let load32_be + (b:B.buffer UInt8.t{B.length b == 4}): + Stack UInt32.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt32.v z)) += + load32_be_i b 0ul + + +let store64_le + (b:B.buffer UInt8.t{B.length b == 8}) + (z:UInt64.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt64.v z)) += + store64_le_i b 0ul z + +let load64_le + (b:B.buffer UInt8.t{B.length b == 8}): + Stack UInt64.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt64.v z)) += + load64_le_i b 0ul + + +let load64_be + (b:B.buffer UInt8.t{B.length b == 8}): + Stack UInt64.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt64.v z)) += + load64_be_i b 0ul + +let store64_be + (b:B.buffer UInt8.t{B.length b == 8}) + (z:UInt64.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt64.v z)) += + store64_be_i b 0ul z + + +let load128_le + (b:B.buffer UInt8.t{B.length b == 16}): + Stack UInt128.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt128.v z)) += + load128_le_i b 0ul + +let store128_le + (b:B.buffer UInt8.t{B.length b == 16}) + (z:UInt128.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + le_to_n (B.as_seq h1 b) == UInt128.v z)) += + store128_le_i b 0ul z + + +let load128_be + (b:B.buffer UInt8.t{B.length b == 16}): + Stack UInt128.t + (requires (fun h -> B.live h b)) + (ensures (fun h0 z h1 -> h0 == h1 /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt128.v z)) += + load128_be_i b 0ul + +let store128_be + (b:B.buffer UInt8.t{B.length b = 16}) + (z:UInt128.t): + Stack unit + (requires (fun h -> B.live h b)) + (ensures (fun h0 _ h1 -> B.(modifies (loc_buffer b) h0 h1) /\ B.live h1 b /\ + be_to_n (B.as_seq h1 b) == UInt128.v z)) += + store128_be_i b 0ul z + +/// Index and update +/// ---------------- +/// +/// These are more sophisticated than load/store above, because they reason +/// over the underlying sequence of bytes interpreted as a sequence of (little|big)-endian +/// integers. + +#set-options "--z3rlimit 20 --max_fuel 0 --max_ifuel 0" + +inline_for_extraction +let index_32_be + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32) + : Stack u32 + (requires fun h -> + MB.live h b /\ MB.length b % 4 = 0 /\ + U32.v i < MB.length b / 4) + (ensures fun h0 r h1 -> + h0 == h1 /\ + r = Seq.index (seq_uint32_of_be (MB.length b / 4) (MB.as_seq h0 b)) (U32.v i)) + = load32_be_i b FStar.UInt32.(4ul *^ i) + +inline_for_extraction +let index_32_le + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32) + : Stack u32 + (requires fun h -> + MB.live h b /\ MB.length b % 4 = 0 /\ + U32.v i < MB.length b / 4) + (ensures fun h0 r h1 -> + h0 == h1 /\ + r = Seq.index (seq_uint32_of_le (MB.length b / 4) (MB.as_seq h0 b)) (U32.v i)) + = load32_le_i b FStar.UInt32.(4ul *^ i) + +inline_for_extraction +let index_64_be + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32) + : Stack u64 + (requires fun h -> + MB.live h b /\ MB.length b % 8 = 0 /\ + U32.v i < MB.length b / 8) + (ensures fun h0 r h1 -> + h0 == h1 /\ + r = Seq.index (seq_uint64_of_be (MB.length b / 8) (MB.as_seq h0 b)) (UInt32.v i)) + = load64_be_i b FStar.UInt32.(8ul *^ i) + +inline_for_extraction +let index_64_le + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32) + : Stack u64 + (requires fun h -> + MB.live h b /\ MB.length b % 8 = 0 /\ + U32.v i < MB.length b / 8) + (ensures fun h0 r h1 -> + h0 == h1 /\ + r = Seq.index (seq_uint64_of_le (MB.length b / 8) (MB.as_seq h0 b)) (UInt32.v i)) + = load64_le_i b FStar.UInt32.(8ul *^ i) + +#reset-options "--using_facts_from 'Prims'" + +let interval_4_disjoint (i j: nat) + : Lemma + (requires (i <> j)) + (ensures (let open FStar.Mul in 4 * i + 4 <= 4 * j \/ 4 * j + 4 <= 4 * i)) + = () + +#reset-options "--z3rlimit 16 --max_fuel 0 --max_ifuel 0" + +open FStar.Mul + +inline_for_extraction +let upd_32_be + (#rrel #rel:MB.srel u8) (b:MB.mbuffer u8 rrel rel) + (i:u32) (v:u32) + : Stack unit + (requires fun h -> + MB.length b % 4 = 0 /\ + U32.v i < MB.length b / 4 /\ + store_pre b (U32.(v (4ul *^ i))) 4 (fun s -> be_to_n s == U32.v v) h) + (ensures fun h0 _ h1 -> + MB.(modifies (loc_buffer b) h0 h1) /\ + seq_uint32_of_be (MB.length b / 4) (MB.as_seq h1 b) `Seq.equal` Seq.upd (seq_uint32_of_be (MB.length b / 4) (MB.as_seq h0 b)) (U32.v i) v) + = let h0 = get () in + store32_be_i b U32.(4ul *^ i) v; + let h1 = get () in + //AR: 03/01: the following 3 assertions say how the buffer changed + assert (be_to_n (Seq.slice (MB.as_seq h1 b) (U32.(v (4ul *^ i))) (U32.(v (4ul *^ i) + 4))) == U32.v v); + assert (Seq.equal (Seq.slice (MB.as_seq h0 b) 0 (U32.(v (4ul *^ i)))) + (Seq.slice (MB.as_seq h1 b) 0 (U32.(v (4ul *^ i))))); + assert (Seq.equal (Seq.slice (MB.as_seq h0 b) (U32.(v (4ul *^ i) + 4)) (MB.length b)) + (Seq.slice (MB.as_seq h1 b) (U32.(v (4ul *^ i) + 4)) (MB.length b))); + let f () : Lemma + (seq_uint32_of_be (MB.length b / 4) (MB.as_seq h1 b) `Seq.equal` Seq.upd (seq_uint32_of_be (MB.length b / 4) (MB.as_seq h0 b)) + (UInt32.v i) v) + = let s0 = MB.as_seq h0 b in + let s1 = MB.as_seq h1 b in + let n = MB.length b / 4 in + assert (4 `Prims.op_Multiply` n == MB.length b); + let s0' = seq_uint32_of_be n s0 in + let s1' = seq_uint32_of_be n s1 in + let lo = UInt32.v i in + let hi = lo + 1 in + let s2' = Seq.upd s0' lo v in + assert (Seq.length s1' == Seq.length s2'); + let i' = UInt32.v i in + let g + (j' : nat) + : Lemma + (requires (j' < n)) + (ensures (j' < n /\ Seq.index s1' j' == Seq.index s2' j')) + = if j' = UInt32.v i + then () + else begin + let u () : Lemma + (Seq.slice s0 (4 * j') (4 * j' + 4) == Seq.slice s1 (4 * j') (4 * j' + 4)) + = if j' < UInt32.v i + then begin + Seq.slice_slice s0 0 (4 * i') (4 * j') (4 * j' + 4); + Seq.slice_slice s1 0 (4 * i') (4 * j') (4 * j' + 4) + end else begin + Seq.slice_slice s0 (4 * i' + 4) (MB.length b) (4 * (j' - i' - 1)) (4 * (j' - i')); + Seq.slice_slice s1 (4 * i' + 4) (MB.length b) (4 * (j' - i' - 1)) (4 * (j' - i')) + end + in + u () + end + in + Classical.forall_intro (Classical.move_requires g) + in + f () diff --git a/stage0/ulib/LowStar.Failure.fsti b/stage0/ulib/LowStar.Failure.fsti new file mode 100644 index 00000000000..124d3ef05da --- /dev/null +++ b/stage0/ulib/LowStar.Failure.fsti @@ -0,0 +1,12 @@ +module LowStar.Failure + +/// This module exposes a single function for failure, which gets distinguished +/// treatment in KaRaMeL, is implemented in a header, correctly redirects to a +/// user-overridable KRML_HOST_EXIT macro (for situations where libc's exit(3) +/// does not apply), and does not require disabling C compiler warnings about +/// infinite recursion like C.Failure does. + +val failwith: #a:Type -> Prims.string -> + FStar.HyperStack.ST.Stack a + (requires (fun _ -> True)) + (ensures (fun _ _ _ -> False)) diff --git a/stage0/ulib/LowStar.Ignore.fsti b/stage0/ulib/LowStar.Ignore.fsti new file mode 100644 index 00000000000..31c213900c2 --- /dev/null +++ b/stage0/ulib/LowStar.Ignore.fsti @@ -0,0 +1,12 @@ +module LowStar.Ignore + +open FStar.HyperStack.ST + +(** This module provides a distinguished `ignore` function; the function gets + special treatment in KaRaMeL, which ensures that a call to `ignore e` + results in KRML_IGNORE(e). + + By default, KRML_IGNORE(e) expands to (void)(e), but this behavior can be + overridden (see include/krml/internal/target.h). *) + +val ignore: #a:Type -> x:a -> Stack unit (fun _ -> True) (fun h0 _ h1 -> h0 == h1) diff --git a/stage0/ulib/LowStar.ImmutableBuffer.fst b/stage0/ulib/LowStar.ImmutableBuffer.fst new file mode 100644 index 00000000000..564c00f2506 --- /dev/null +++ b/stage0/ulib/LowStar.ImmutableBuffer.fst @@ -0,0 +1,265 @@ +(* + 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 LowStar.ImmutableBuffer + +include LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +let immutable_preorder (a:Type0) :srel a = fun s1 s2 -> Seq.equal s1 s2 + +type ibuffer (a:Type0) = mbuffer a (immutable_preorder a) (immutable_preorder a) + +unfold let inull (#a:Type0) :ibuffer a = mnull #a #(immutable_preorder a) #(immutable_preorder a) + +unfold let igsub (#a:Type0) = mgsub #a #(immutable_preorder a) #(immutable_preorder a) (immutable_preorder a) + +unfold let igsub_inj (#a:Type0) = mgsub_inj #a #(immutable_preorder a) #(immutable_preorder a) (immutable_preorder a) (immutable_preorder a) + +inline_for_extraction +type ipointer (a:Type0) = b:ibuffer a{length b == 1} + +inline_for_extraction +type ipointer_or_null (a:Type0) = b:ibuffer a{if g_is_null b then True else length b == 1} + +inline_for_extraction let isub (#a:Type0) = msub #a #(immutable_preorder a) #(immutable_preorder a) (immutable_preorder a) + +inline_for_extraction let ioffset (#a:Type0) = moffset #a #(immutable_preorder a) #(immutable_preorder a) (immutable_preorder a) + +(* + * It's a bit sub-optimal that we have both cpred and seq_eq + * Ideally it should only be the erased version seq_eq + * + * However, Lib.Buffer in hacl is already using cpred, so keeping it for now + * But it should be cleaned up when that dependency is gone + *) +let cpred (#a:Type0) (s:Seq.seq a) :spred a = fun s1 -> Seq.equal s s1 + +let seq_eq (s:Ghost.erased (Seq.seq 'a)) : spred 'a = + fun s' -> s' `Seq.equal` Ghost.reveal s + +let value_is #a (b:ibuffer a) (s:Ghost.erased (Seq.seq a)) = + witnessed b (seq_eq s) + +let sub_ptr_value_is (#a:_) (b0 b1:ibuffer a) (h:HS.mem) (i len:U32.t) (v:Seq.seq a) + : Lemma + (requires + U32.v i + U32.v len <= length b1 /\ + b0 == mgsub (immutable_preorder a) b1 i len /\ + value_is b1 v /\ + Seq.length v == length b1) + (ensures + value_is b0 (Seq.slice v (U32.v i) (U32.v i + U32.v len))) + = let sub_v = Seq.slice v (U32.v i) (U32.v i + U32.v len) in + witnessed_functorial b1 b0 i len (seq_eq (Ghost.hide v)) (seq_eq (Ghost.hide sub_v)) + +unfold let libuffer (a:Type0) (len:nat) (s:Seq.seq a) = + b:lmbuffer a (immutable_preorder a) (immutable_preorder a) len{witnessed b (cpred s)} + +unfold let libuffer_or_null (a:Type0) (len:nat) (r:HS.rid) (s:Seq.seq a) = + b:lmbuffer_or_null a (immutable_preorder a) (immutable_preorder a) len r{(not (g_is_null b)) ==> + witnessed b (cpred s)} + +let igcmalloc (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:libuffer a (U32.v len) (Seq.create (U32.v len) init){frameOf b == r /\ recallable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = let b = mgcmalloc r init len in + witness_p b (cpred (Seq.create (U32.v len) init)); + b + +(* + * Unlike other allocation functions in this module, + * this function (and other flavors of alloc_and_blit) don't provide the witnessed contents + * as the refinement of the return type + * This is because the contents depend on the input memory (== the contents of src) + *) +let igcmalloc_and_blit (#a:Type0) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len){frameOf b == r}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + b `value_is` G.hide s) + = let b = mgcmalloc_and_blit r src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + +inline_for_extraction +let igcmalloc_partial (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:libuffer_or_null a (U32.v len) r (Seq.create (U32.v len) init){recallable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = igcmalloc r init len + +let imalloc (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:libuffer a (U32.v len) (Seq.create (U32.v len) init){frameOf b == r /\ freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = let b = mmalloc r init len in + witness_p b (cpred (Seq.create (U32.v len) init)); + b + +let imalloc_and_blit (#a:Type0) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len){frameOf b == r /\ freeable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + b `value_is` G.hide s) + = let b = mmalloc_and_blit r src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + +inline_for_extraction +let imalloc_partial (#a:Type0) (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:libuffer_or_null a (U32.v len) r (Seq.create (U32.v len) init){(not (g_is_null b)) ==> freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = imalloc r init len + +let ialloca (#a:Type0) (init:a) (len:U32.t) + :HST.StackInline (libuffer a (U32.v len) (Seq.create (U32.v len) init)) + (requires (fun _ -> alloca_pre len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init) /\ + frameOf b == HS.get_tip h0)) + = let b = malloca init len in + witness_p b (cpred (Seq.create (U32.v len) init)); + b + +let ialloca_and_blit (#a:Type0) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.StackInline (lmbuffer a (immutable_preorder a) (immutable_preorder a) (U32.v len)) + (requires fun h0 -> + alloca_pre len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + let s = Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len) in + alloc_post_mem_common b h0 h1 s /\ + frameOf b == HS.get_tip h0 /\ + b `value_is` G.hide s) + = let b = malloca_and_blit src id_src len in + let h0 = HST.get () in + witness_p b (seq_eq (G.hide (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)))); + b + +let ialloca_of_list (#a:Type0) (init: list a) + :HST.StackInline (libuffer a (normalize_term (List.Tot.length init)) (Seq.seq_of_list init)) + (requires (fun _ -> alloca_of_list_pre init)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.seq_of_list init) /\ + frameOf b == HS.get_tip h0)) + = let b = malloca_of_list init in + witness_p b (cpred (Seq.seq_of_list init)); + b + +let igcmalloc_of_list (#a:Type0) (r:HS.rid) (init:list a) + :HST.ST (b:libuffer a (normalize_term (List.Tot.length init)) (Seq.seq_of_list init){frameOf b == r /\ recallable b}) + (requires (fun _ -> gcmalloc_of_list_pre r init)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.seq_of_list init))) + = let b = mgcmalloc_of_list r init in + witness_p b (cpred (Seq.seq_of_list init)); + b + +inline_for_extraction +let igcmalloc_of_list_partial (#a:Type0) (r:HS.rid) (init:list a) + :HST.ST (b:libuffer_or_null a (normalize_term (List.Tot.length init)) r (Seq.seq_of_list init){recallable b}) + (requires (fun _ -> gcmalloc_of_list_pre r init)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.seq_of_list init))) + = igcmalloc_of_list r init + +let witness_contents (#a:Type0) (b:ibuffer a) (s:Seq.seq a) + :HST.ST unit (requires (fun h0 -> Seq.equal (as_seq h0 b) s)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ witnessed b (cpred s))) + = witness_p b (cpred s) + +let recall_contents (#a:Type0) (b:ibuffer a) (s:Seq.seq a) + :HST.ST unit (requires (fun h0 -> (recallable b \/ live h0 b) /\ witnessed b (cpred s))) + (ensures (fun h0 _ h1 -> h0 == h1 /\ live h0 b /\ as_seq h0 b == s)) + = recall_p b (cpred s) + +let witness_value (#a:Type0) (b:ibuffer a) + :HST.ST unit (requires (fun h0 -> True)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ b `value_is` (Ghost.hide (as_seq h1 b)))) + = let h = HST.get () in + let s = Ghost.hide (as_seq h b) in + witness_p b (seq_eq s) + +let recall_value (#a:Type0) (b:ibuffer a) (s:Ghost.erased (Seq.seq a)) + :HST.ST unit (requires (fun h0 -> (recallable b \/ live h0 b) /\ b `value_is` s)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ live h1 b /\ as_seq h1 b == Ghost.reveal s)) + = recall_p b (seq_eq s) + +(* + * Immutable buffers are distinct from (trivial) buffers + * + * The proof basically proves a contradiction assuming that the buffers are not distinct + * Using injectivity of the base preorders, we get that trivial preorder is same as immutable preorder + * After which it is easy to derive the contradiction, provided client has provided a witness for inhabitance + *) +let inhabited_immutable_buffer_is_distinct_from_buffer (#a:Type0) (x:a) (ib:ibuffer a) (b:LowStar.Buffer.buffer a) + : Lemma (~ (ib === b)) + = let aux () : Lemma (requires (ib === b)) (ensures False) + = //use injectivity to prove that all sequences of type a are equal + mbuffer_injectivity_in_first_preorder (); + assert (immutable_preorder a == LowStar.Buffer.trivial_preorder a); + assert (forall (s1 s2:Seq.seq a). (immutable_preorder a) s1 s2 == (LowStar.Buffer.trivial_preorder a) s1 s2); + assert (forall (s1 s2:Seq.seq a). (immutable_preorder a) s1 s2 == Seq.equal s1 s2); + assert (forall (s1 s2:Seq.seq a). (LowStar.Buffer.trivial_preorder a) s1 s2 == True); + assert (forall (s1 s2:Seq.seq a). Seq.equal s1 s2); + + //now derive the contradiction + let s1 = Seq.create 0 x in + let s2 = Seq.create 1 x in + Seq.lemma_eq_elim s1 s2; + assert (s1 == s2); assert (Seq.length s1 == Seq.length s2) + in + (Classical.move_requires aux) () + +let buffer_immutable_buffer_disjoint + (#t: Type) (#ti: Type) + (b: LowStar.Buffer.buffer t) + (bi: ibuffer ti) + (h: HS.mem) +: Lemma + (requires ( + live h b /\ live h bi + )) + (ensures ( + disjoint b bi + )) += if length b = 0 + then empty_disjoint b bi + else if length bi = 0 + then empty_disjoint bi b + else begin + let s = as_seq h b in + assert (~ (LowStar.Buffer.trivial_preorder _ Seq.empty s <==> immutable_preorder _ Seq.empty s)); + live_same_addresses_equal_types_and_preorders b bi h + end diff --git a/stage0/ulib/LowStar.Literal.fsti b/stage0/ulib/LowStar.Literal.fsti new file mode 100644 index 00000000000..183e49ef519 --- /dev/null +++ b/stage0/ulib/LowStar.Literal.fsti @@ -0,0 +1,120 @@ +module LowStar.Literal + +module B = LowStar.Buffer +module IB = LowStar.ImmutableBuffer +module HS = FStar.HyperStack +module ST = FStar.HyperStack.ST + +open FStar.Mul + +/// This module enables clients to make use of string literals in Low* as +/// shorthand syntax for immutable, always-live uint8 buffers. See +/// LowStar.printf for writing and printing string literals. + +/// .. note:: +/// +/// This module supersedes ``C.String``. + +/// As a reminder, the F* compiler enforces that string literals are UTF-8 +/// encoded, and list_of_string returns the corresponding sequence of Unicode +/// scalar values (see https://erratique.ch/software/uucp/doc/Uucp.html#uminimal) for an excellent +/// crash course on Unicode. + +/// When compiling with KaRaMeL, string literals are printed as series of bytes, +/// where non-alphanumeric characters are hex-encoded. For instance, if after reading +/// the C standard, the user writes ``let x = "🤮"``, then KaRaMeL will generate +/// ``const char *x = "\xf0\x9f\xa4\xae"``. + +/// String literals as buffers +/// -------------------------- + +/// Therefore, in order to talk about the interpretation of a string literal as +/// a series of bytes, we need to define the serialization of Unicode scalar values +/// (as returned by ``String.list_of_string``) into bytes. This is a commendable and +/// noble goal, but instead, we choose to restrict ourselves to the ASCII subset of +/// UTF-8, where the byte encoding of a scalar value is the identity. +let is_ascii_char (c: Char.char) = UInt32.lt (Char.u32_of_char c) 0x80ul + +let ascii_char = c:Char.char{is_ascii_char c} + +let is_ascii_string (s: string) = + List.Tot.for_all is_ascii_char (String.list_of_string s) + +let ascii_string = s:string{is_ascii_string s} + +let for_all_tail #a p (l: list a { Cons? l }): Lemma + (requires (List.Tot.for_all p l)) + (ensures (List.Tot.for_all p (List.Tot.tl l))) += + () + +let ascii_chars_of_ascii_string (s: ascii_string): + l:list ascii_char { List.Tot.length l = String.length s } += List.Tot.list_refb #(Char.char) #_ (String.list_of_string s) + +let u8_of_ascii_char (c: ascii_char): x:UInt8.t{ UInt8.v x = Char.int_of_char c } = + let x32 = Char.u32_of_char c in + assert_norm (pow2 24 * pow2 8 = pow2 32); + Math.Lemmas.modulo_modulo_lemma (UInt32.v x32) (pow2 24) (pow2 8); + Int.Cast.Full.uint32_to_uint8 x32 + +/// This means that if a string literal only contains ASCII, then we can easily +/// reflect its contents in terms of uint8's, without having to talk about the utf8 +/// encoding. +/// TODO: lemma: S.index (u8s_of_string s) i = String.index s i +/// (cannot be proven right now because we don't know much about String.index) +/// (is this even what we want? should we do everything in terms of list_of_string?) +let u8s_of_ascii_string (s: ascii_string): + ss:Seq.seq UInt8.t { Seq.length ss = List.Tot.length (String.list_of_string s) } += + let cs = List.Tot.map u8_of_ascii_char (ascii_chars_of_ascii_string s) in + Seq.seq_of_list cs + +unfold let buffer_of_literal_post (s: ascii_string) (h0: HS.mem) (b: IB.ibuffer UInt8.t) (h1: HS.mem) = + IB.frameOf b == HS.root /\ // is this really useful? + IB.recallable b /\ ( + // An inlined version of alloc_post_mem_common, without the unused_in + // condition, which would contradict the Stack annotation + let s = u8s_of_ascii_string s in + IB.live h1 b /\ + Map.domain (HS.get_hmap h1) `Set.equal` Map.domain (HS.get_hmap h0) /\ + HS.get_tip h1 == HS.get_tip h0 /\ + B.(modifies loc_none h0 h1) /\ + B.as_seq h1 b == s) + +/// Consequently, this function becomes in C a simple cast from ``const char *`` to +/// ``char *``, since immutable buffers don't (yet) have the ``const`` attribute in +/// KaRaMeL. (This is unsavory, and should be fixed later.) This way, a string +/// literal can be seen as an immutable buffer and passed around as such. +/// This function checks at extraction-time that its argument is a literal. +val buffer_of_literal: (s: ascii_string) -> + ST.Stack (IB.ibuffer UInt8.t) + (requires (fun _ -> String.length s < pow2 32)) + (ensures buffer_of_literal_post s) + +/// .. note:: +/// +/// This literal will be zero-terminated, but since we do not require that the +/// string literal be zero-free, the trailing zero will be ignored and unused. This +/// means that we won't be able to use the C standard library functions for string +/// manipulation and will instead have to pass lengths at run-time. + +/// Rather than having to write ``assert_norm`` by hand, this convenient wrapper +/// relies on the normalizer to discharge all the relevant proof obligations, and +/// synthesizes the length of the resulting buffer. The pair has no cost: KaRaMeL +/// guarantees that it will be eliminated. +unfold +let buf_len_of_literal (s: string): + ST.Stack (IB.ibuffer UInt8.t & UInt32.t) + (requires (fun _ -> + normalize (is_ascii_string s) /\ + normalize (List.Tot.length (String.list_of_string s) < pow2 32))) + (ensures (fun h0 r h1 -> + let b, l = r in + buffer_of_literal_post s h0 b h1 /\ + UInt32.v l = normalize_term (List.Tot.length (String.list_of_string s)) /\ + UInt32.v l = IB.length b)) += + [@@inline_let] + let l = normalize_term (UInt32.uint_to_t (List.Tot.length (String.list_of_string s))) in + buffer_of_literal s, l diff --git a/stage0/ulib/LowStar.Modifies.fst b/stage0/ulib/LowStar.Modifies.fst new file mode 100644 index 00000000000..1482f14b626 --- /dev/null +++ b/stage0/ulib/LowStar.Modifies.fst @@ -0,0 +1,17 @@ +(* + 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 LowStar.Modifies +include LowStar.Buffer diff --git a/stage0/ulib/LowStar.ModifiesPat.fst b/stage0/ulib/LowStar.ModifiesPat.fst new file mode 100644 index 00000000000..532c15785ce --- /dev/null +++ b/stage0/ulib/LowStar.ModifiesPat.fst @@ -0,0 +1,17 @@ +(* + 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 LowStar.ModifiesPat +include LowStar.Modifies diff --git a/stage0/ulib/LowStar.Monotonic.Buffer.fst b/stage0/ulib/LowStar.Monotonic.Buffer.fst new file mode 100644 index 00000000000..684ff260f0d --- /dev/null +++ b/stage0/ulib/LowStar.Monotonic.Buffer.fst @@ -0,0 +1,1954 @@ +(* + 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 LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +private let srel_to_lsrel (#a:Type0) (len:nat) (pre:srel a) :P.preorder (Seq.lseq a len) = pre + +(* + * Counterpart of compatible_sub from the fsti but using sequences + * + * The patterns are guarded tightly, the proof of transitivity gets quite flaky otherwise + * The cost is that we have to additional asserts as triggers + *) +let compatible_sub_preorder (#a:Type0) + (len:nat) (rel:srel a) (i:nat) (j:nat{i <= j /\ j <= len}) (sub_rel:srel a) + = compatible_subseq_preorder len rel i j sub_rel + +(* + * Reflexivity of the compatibility relation + *) +let lemma_seq_sub_compatilibity_is_reflexive (#a:Type0) (len:nat) (rel:srel a) + :Lemma (compatible_sub_preorder len rel 0 len rel) + = assert (forall (s1 s2:Seq.seq a). Seq.length s1 == Seq.length s2 ==> + Seq.equal (Seq.replace_subseq s1 0 (Seq.length s1) s2) s2) + +(* + * Transitivity of the compatibility relation + * + * i2 and j2 are relative offsets within [i1, j1) (i.e. assuming i1 = 0) + *) +let lemma_seq_sub_compatibility_is_transitive (#a:Type0) + (len:nat) (rel:srel a) (i1 j1:nat) (rel1:srel a) (i2 j2:nat) (rel2:srel a) + :Lemma (requires (i1 <= j1 /\ j1 <= len /\ i2 <= j2 /\ j2 <= j1 - i1 /\ + compatible_sub_preorder len rel i1 j1 rel1 /\ + compatible_sub_preorder (j1 - i1) rel1 i2 j2 rel2)) + (ensures (compatible_sub_preorder len rel (i1 + i2) (i1 + j2) rel2)) + = let t1 (s1 s2:Seq.seq a) = Seq.length s1 == len /\ Seq.length s2 == len /\ rel s1 s2 in + let t2 (s1 s2:Seq.seq a) = t1 s1 s2 /\ rel2 (Seq.slice s1 (i1 + i2) (i1 + j2)) (Seq.slice s2 (i1 + i2) (i1 + j2)) in + + let aux0 (s1 s2:Seq.seq a) :Lemma (t1 s1 s2 ==> t2 s1 s2) + = Classical.arrow_to_impl #(t1 s1 s2) #(t2 s1 s2) + (fun _ -> + assert (rel1 (Seq.slice s1 i1 j1) (Seq.slice s2 i1 j1)); + assert (rel2 (Seq.slice (Seq.slice s1 i1 j1) i2 j2) (Seq.slice (Seq.slice s2 i1 j1) i2 j2)); + assert (Seq.equal (Seq.slice (Seq.slice s1 i1 j1) i2 j2) (Seq.slice s1 (i1 + i2) (i1 + j2))); + assert (Seq.equal (Seq.slice (Seq.slice s2 i1 j1) i2 j2) (Seq.slice s2 (i1 + i2) (i1 + j2)))) + in + + + let t1 (s s2:Seq.seq a) = Seq.length s == len /\ Seq.length s2 == j2 - i2 /\ + rel2 (Seq.slice s (i1 + i2) (i1 + j2)) s2 in + let t2 (s s2:Seq.seq a) = t1 s s2 /\ rel s (Seq.replace_subseq s (i1 + i2) (i1 + j2) s2) in + let aux1 (s s2:Seq.seq a) :Lemma (t1 s s2 ==> t2 s s2) + = Classical.arrow_to_impl #(t1 s s2) #(t2 s s2) + (fun _ -> + assert (Seq.equal (Seq.slice s (i1 + i2) (i1 + j2)) (Seq.slice (Seq.slice s i1 j1) i2 j2)); + assert (rel1 (Seq.slice s i1 j1) (Seq.replace_subseq (Seq.slice s i1 j1) i2 j2 s2)); + assert (rel s (Seq.replace_subseq s i1 j1 (Seq.replace_subseq (Seq.slice s i1 j1) i2 j2 s2))); + assert (Seq.equal (Seq.replace_subseq s i1 j1 (Seq.replace_subseq (Seq.slice s i1 j1) i2 j2 s2)) + (Seq.replace_subseq s (i1 + i2) (i1 + j2) s2))) + in + + Classical.forall_intro_2 aux0; Classical.forall_intro_2 aux1 + +noeq type mbuffer (a:Type0) (rrel:srel a) (rel:srel a) :Type0 = + | Null + | Buffer: + max_length:U32.t -> + content:HST.mreference (Seq.lseq a (U32.v max_length)) (srel_to_lsrel (U32.v max_length) rrel) -> + idx:U32.t -> + length:Ghost.erased U32.t{U32.v idx + U32.v (Ghost.reveal length) <= U32.v max_length} -> + mbuffer a rrel rel + +let g_is_null #_ #_ #_ b = Null? b + +let mnull #_ #_ #_ = Null + +let null_unique #_ #_ #_ _ = () + +let unused_in #_ #_ #_ b h = + match b with + | Null -> False + | Buffer _ content _ _ -> content `HS.unused_in` h + +let buffer_compatible (#t: Type) (#rrel #rel: srel t) (b: mbuffer t rrel rel) : GTot Type0 = + match b with + | Null -> True + | Buffer max_length content idx length -> + compatible_sub_preorder (U32.v max_length) rrel + (U32.v idx) (U32.v idx + U32.v length) rel //proof of compatibility + +let live #_ #rrel #rel h b = + match b with + | Null -> True + | Buffer max_length content idx length -> + h `HS.contains` content /\ + buffer_compatible b + +let live_null _ _ _ _ = () + +let live_is_null (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (g_is_null b == true)) + (ensures (live h b)) + [SMTPat (live h b)] + = null_unique b; + live_null a rrel rel h + +let live_not_unused_in #_ #_ #_ _ _ = () + +let lemma_live_equal_mem_domains #_ #_ #_ _ _ _ = () + +let live_not_unused_in' (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (live h b /\ b `unused_in` h)) + (ensures False) + [SMTPat (live h b); SMTPat (b `unused_in` h)] + = live_not_unused_in h b + + + +let frameOf #_ #_ #_ b = if Null? b then HS.root else HS.frameOf (Buffer?.content b) + +let as_addr #_ #_ #_ b = if g_is_null b then 0 else HS.as_addr (Buffer?.content b) + +let unused_in_equiv #_ #_ #_ b h = + if g_is_null b then Heap.not_addr_unused_in_nullptr (Map.sel (HS.get_hmap h) HS.root) else () + +let live_region_frameOf #_ #_ #_ _ _ = () + +let len #_ #_ #_ b = + match b with + | Null -> 0ul + | Buffer _ _ _ len -> len + +let len_null a _ _ = () + +let length_null_1 (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (requires (length b =!= 0)) (ensures (g_is_null b == false)) + [SMTPat (length b)] + = len_null a rrel rel; + null_unique b + +let length_null_2 (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (requires (g_is_null b == true)) (ensures (length b == 0)) + [SMTPat (g_is_null b)] + = len_null a rrel rel; + null_unique b + +let as_seq #_ #_ #_ h b = + match b with + | Null -> Seq.empty + | Buffer max_len content idx len -> + Seq.slice (HS.sel h content) (U32.v idx) (U32.v idx + U32.v len) + +let length_as_seq #_ #_ #_ _ _ = () + +let mbuffer_injectivity_in_first_preorder () = () + +let mgsub #a #rrel #rel sub_rel b i len = + match b with + | Null -> Null + | Buffer max_len content idx length -> + Buffer max_len content (U32.add idx i) (Ghost.hide len) + +let live_gsub #_ #rrel #rel _ b i len sub_rel = + match b with + | Null -> () + | Buffer max_len content idx length -> + let prf () : Lemma + (requires (buffer_compatible b)) + (ensures (buffer_compatible (mgsub sub_rel b i len))) + = + lemma_seq_sub_compatibility_is_transitive (U32.v max_len) rrel + (U32.v idx) (U32.v idx + U32.v length) rel + (U32.v i) (U32.v i + U32.v len) sub_rel + in + Classical.move_requires prf () + +let gsub_is_null #_ #_ #_ _ _ _ _ = () + +let len_gsub #_ #_ #_ _ _ _ _ = () + +let frameOf_gsub #_ #_ #_ _ _ _ _ = () + +let as_addr_gsub #_ #_ #_ _ _ _ _ = () + +let mgsub_inj #_ #_ #_ _ _ _ _ _ _ _ _ = () + +#push-options "--z3rlimit 20" +let gsub_gsub #_ #_ #rel b i1 len1 sub_rel1 i2 len2 sub_rel2 = + let prf () : Lemma + (requires (compatible_sub b i1 len1 sub_rel1 /\ compatible_sub (mgsub sub_rel1 b i1 len1) i2 len2 sub_rel2)) + (ensures (compatible_sub b (U32.add i1 i2) len2 sub_rel2)) + = + lemma_seq_sub_compatibility_is_transitive (length b) rel (U32.v i1) (U32.v i1 + U32.v len1) sub_rel1 + (U32.v i2) (U32.v i2 + U32.v len2) sub_rel2 + in + Classical.move_requires prf () +#pop-options + +/// A buffer ``b`` is equal to its "largest" sub-buffer, at index 0 and +/// length ``len b``. + +let gsub_zero_length #_ #_ #rel b = lemma_seq_sub_compatilibity_is_reflexive (length b) rel + +let as_seq_gsub #_ #_ #_ h b i len _ = + match b with + | Null -> () + | Buffer _ content idx len0 -> + Seq.slice_slice (HS.sel h content) (U32.v idx) (U32.v idx + U32.v len0) (U32.v i) (U32.v i + U32.v len) + +let lemma_equal_instances_implies_equal_types (a:Type) (b:Type) (s1:Seq.seq a) (s2:Seq.seq b) + : Lemma (requires s1 === s2) + (ensures a == b) + = Seq.lemma_equal_instances_implies_equal_types () + +let s_lemma_equal_instances_implies_equal_types (_:unit) + : Lemma (forall (a:Type) (b:Type) (s1:Seq.seq a) (s2:Seq.seq b). + {:pattern (has_type s1 (Seq.seq a)); + (has_type s2 (Seq.seq b)) } + s1 === s2 ==> a == b) + = Seq.lemma_equal_instances_implies_equal_types() + +let live_same_addresses_equal_types_and_preorders' + (#a1 #a2: Type0) + (#rrel1 #rel1: srel a1) + (#rrel2 #rel2: srel a2) + (b1: mbuffer a1 rrel1 rel1) + (b2: mbuffer a2 rrel2 rel2) + (h: HS.mem) +: Lemma + (requires + frameOf b1 == frameOf b2 /\ + as_addr b1 == as_addr b2 /\ + live h b1 /\ + live h b2 /\ + (~ (g_is_null b1 /\ g_is_null b2))) + (ensures + a1 == a2 /\ + rrel1 == rrel2) += Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + let s1 : Seq.seq a1 = as_seq h b1 in + assert (Seq.seq a1 == Seq.seq a2); + let s1' : Seq.seq a2 = coerce_eq _ s1 in + assert (s1 === s1'); + lemma_equal_instances_implies_equal_types a1 a2 s1 s1' + +let live_same_addresses_equal_types_and_preorders + #_ #_ #_ #_ #_ #_ b1 b2 h += Classical.move_requires (live_same_addresses_equal_types_and_preorders' b1 b2) h + +(* Untyped view of buffers, used only to implement the generic modifies clause. DO NOT USE in client code. *) + +noeq +type ubuffer_ +: Type0 += { + b_max_length: nat; + b_offset: nat; + b_length: nat; + b_is_mm: bool; +} + +val ubuffer' (region: HS.rid) (addr: nat) : Tot Type0 + +let ubuffer' region addr = (x: ubuffer_ { x.b_offset + x.b_length <= x.b_max_length } ) + +let ubuffer (region: HS.rid) (addr: nat) : Tot Type0 = G.erased (ubuffer' region addr) + +let ubuffer_of_buffer' (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) + :Tot (ubuffer (frameOf b) (as_addr b)) + = if Null? b + then + Ghost.hide ({ + b_max_length = 0; + b_offset = 0; + b_length = 0; + b_is_mm = false; + }) + else + Ghost.hide ({ + b_max_length = U32.v (Buffer?.max_length b); + b_offset = U32.v (Buffer?.idx b); + b_length = U32.v (Buffer?.length b); + b_is_mm = HS.is_mm (Buffer?.content b); + }) + +let ubuffer_preserved' + (#r: HS.rid) + (#a: nat) + (b: ubuffer r a) + (h h' : HS.mem) +: GTot Type0 += forall (t':Type0) (rrel rel:srel t') (b':mbuffer t' rrel rel) . + ((frameOf b' == r /\ as_addr b' == a) ==> ( + (live h b' ==> live h' b') /\ ( + ((live h b' /\ live h' b' /\ Buffer? b') ==> ( + let ({ b_max_length = bmax; b_offset = boff; b_length = blen }) = Ghost.reveal b in + let Buffer max _ idx len = b' in ( + U32.v max == bmax /\ + U32.v idx <= boff /\ + boff + blen <= U32.v idx + U32.v len + ) ==> + Seq.equal (Seq.slice (as_seq h b') (boff - U32.v idx) (boff - U32.v idx + blen)) (Seq.slice (as_seq h' b') (boff - U32.v idx) (boff - U32.v idx + blen)) + ))))) + +val ubuffer_preserved (#r: HS.rid) (#a: nat) (b: ubuffer r a) (h h' : HS.mem) : GTot Type0 + +let ubuffer_preserved = ubuffer_preserved' + +let ubuffer_preserved_intro + (#r:HS.rid) + (#a:nat) + (b:ubuffer r a) + (h h' :HS.mem) + (f0: ( + (t':Type0) -> + (rrel:srel t') -> (rel:srel t') -> + (b':mbuffer t' rrel rel) -> + Lemma + (requires (frameOf b' == r /\ as_addr b' == a /\ live h b')) + (ensures (live h' b')) + )) + (f: ( + (t':Type0) -> + (rrel:srel t') -> (rel:srel t') -> + (b':mbuffer t' rrel rel) -> + Lemma + (requires ( + frameOf b' == r /\ as_addr b' == a /\ + live h b' /\ live h' b' /\ + Buffer? b' /\ ( + let ({ b_max_length = bmax; b_offset = boff; b_length = blen }) = Ghost.reveal b in + let Buffer max _ idx len = b' in ( + U32.v max == bmax /\ + U32.v idx <= boff /\ + boff + blen <= U32.v idx + U32.v len + )))) + (ensures ( + Buffer? b' /\ ( + let ({ b_max_length = bmax; b_offset = boff; b_length = blen }) = Ghost.reveal b in + let Buffer max _ idx len = b' in + U32.v max == bmax /\ + U32.v idx <= boff /\ + boff + blen <= U32.v idx + U32.v len /\ + Seq.equal (Seq.slice (as_seq h b') (boff - U32.v idx) (boff - U32.v idx + blen)) (Seq.slice (as_seq h' b') (boff - U32.v idx) (boff - U32.v idx + blen)) + ))) + )) +: Lemma + (ubuffer_preserved b h h') += let g' + (t':Type0) (rrel rel:srel t') + (b':mbuffer t' rrel rel) + : Lemma + ((frameOf b' == r /\ as_addr b' == a) ==> ( + (live h b' ==> live h' b') /\ ( + ((live h b' /\ live h' b' /\ Buffer? b') ==> ( + let ({ b_max_length = bmax; b_offset = boff; b_length = blen }) = Ghost.reveal b in + let Buffer max _ idx len = b' in ( + U32.v max == bmax /\ + U32.v idx <= boff /\ + boff + blen <= U32.v idx + U32.v len + ) ==> + Seq.equal (Seq.slice (as_seq h b') (boff - U32.v idx) (boff - U32.v idx + blen)) (Seq.slice (as_seq h' b') (boff - U32.v idx) (boff - U32.v idx + blen)) + ))))) + = Classical.move_requires (f0 t' rrel rel) b'; + Classical.move_requires (f t' rrel rel) b' + in + Classical.forall_intro_4 g' + +val ubuffer_preserved_refl (#r: HS.rid) (#a: nat) (b: ubuffer r a) (h : HS.mem) : Lemma + (ubuffer_preserved b h h) + +let ubuffer_preserved_refl #r #a b h = () + +val ubuffer_preserved_trans (#r: HS.rid) (#a: nat) (b: ubuffer r a) (h1 h2 h3 : HS.mem) : Lemma + (requires (ubuffer_preserved b h1 h2 /\ ubuffer_preserved b h2 h3)) + (ensures (ubuffer_preserved b h1 h3)) + +let ubuffer_preserved_trans #r #a b h1 h2 h3 = () + +val same_mreference_ubuffer_preserved + (#r: HS.rid) + (#a: nat) + (b: ubuffer r a) + (h1 h2: HS.mem) + (f: ( + (a' : Type) -> + (pre: Preorder.preorder a') -> + (r': HS.mreference a' pre) -> + Lemma + (requires (h1 `HS.contains` r' /\ r == HS.frameOf r' /\ a == HS.as_addr r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) + )) +: Lemma + (ubuffer_preserved b h1 h2) + +let same_mreference_ubuffer_preserved #r #a b h1 h2 f = + ubuffer_preserved_intro b h1 h2 + (fun t' _ _ b' -> + if Null? b' + then () + else + f _ _ (Buffer?.content b') + ) + (fun t' _ _ b' -> + if Null? b' + then () + else + f _ _ (Buffer?.content b') + ) + +val addr_unused_in_ubuffer_preserved + (#r: HS.rid) + (#a: nat) + (b: ubuffer r a) + (h1 h2: HS.mem) +: Lemma + (requires (HS.live_region h1 r ==> a `Heap.addr_unused_in` (Map.sel (HS.get_hmap h1) r))) + (ensures (ubuffer_preserved b h1 h2)) + +let addr_unused_in_ubuffer_preserved #r #a b h1 h2 = () + +val ubuffer_of_buffer (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) :Tot (ubuffer (frameOf b) (as_addr b)) + +let ubuffer_of_buffer #_ #_ #_ b = ubuffer_of_buffer' b + +let ubuffer_of_buffer_from_to_none_cond + #a #rrel #rel (b: mbuffer a rrel rel) from to +: GTot bool += g_is_null b || U32.v to < U32.v from || U32.v from > length b + +let ubuffer_of_buffer_from_to + #a #rrel #rel (b: mbuffer a rrel rel) from to +: GTot (ubuffer (frameOf b) (as_addr b)) += if ubuffer_of_buffer_from_to_none_cond b from to + then + Ghost.hide ({ + b_max_length = 0; + b_offset = 0; + b_length = 0; + b_is_mm = false; + }) + else + let to' = if U32.v to > length b then length b else U32.v to in + let b1 = ubuffer_of_buffer b in + Ghost.hide ({ Ghost.reveal b1 with b_offset = (Ghost.reveal b1).b_offset + U32.v from; b_length = to' - U32.v from }) + +val ubuffer_preserved_elim (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h h':HS.mem) + :Lemma (requires (ubuffer_preserved #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) h h' /\ live h b)) + (ensures (live h' b /\ as_seq h b == as_seq h' b)) + +let ubuffer_preserved_elim #_ #_ #_ _ _ _ = () + +val ubuffer_preserved_from_to_elim (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h h' : HS.mem) + :Lemma (requires (ubuffer_preserved #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) h h' /\ live h b)) + (ensures (live h' b /\ ((U32.v from <= U32.v to /\ U32.v to <= length b) ==> Seq.slice (as_seq h b) (U32.v from) (U32.v to) == Seq.slice (as_seq h' b) (U32.v from) (U32.v to)))) + +let ubuffer_preserved_from_to_elim #_ #_ #_ _ _ _ _ _ = () + +let unused_in_ubuffer_preserved (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h h':HS.mem) + : Lemma (requires (b `unused_in` h)) + (ensures (ubuffer_preserved #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) h h')) + = Classical.move_requires (fun b -> live_not_unused_in h b) b; + live_null a rrel rel h; + null_unique b; + unused_in_equiv b h; + addr_unused_in_ubuffer_preserved #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) h h' + +let ubuffer_includes' (larger smaller: ubuffer_) : GTot Type0 = + larger.b_is_mm == smaller.b_is_mm /\ + larger.b_max_length == smaller.b_max_length /\ + larger.b_offset <= smaller.b_offset /\ + smaller.b_offset + smaller.b_length <= larger.b_offset + larger.b_length + +(* TODO: added this because of #606, now that it is fixed, we may not need it anymore *) +let ubuffer_includes0 (#r1 #r2:HS.rid) (#a1 #a2:nat) (larger:ubuffer r1 a1) (smaller:ubuffer r2 a2) = + r1 == r2 /\ a1 == a2 /\ ubuffer_includes' (G.reveal larger) (G.reveal smaller) + +val ubuffer_includes (#r: HS.rid) (#a: nat) (larger smaller: ubuffer r a) : GTot Type0 + +let ubuffer_includes #r #a larger smaller = ubuffer_includes0 larger smaller + +val ubuffer_includes_refl (#r: HS.rid) (#a: nat) (b: ubuffer r a) : Lemma + (b `ubuffer_includes` b) + +let ubuffer_includes_refl #r #a b = () + +val ubuffer_includes_trans (#r: HS.rid) (#a: nat) (b1 b2 b3: ubuffer r a) : Lemma + (requires (b1 `ubuffer_includes` b2 /\ b2 `ubuffer_includes` b3)) + (ensures (b1 `ubuffer_includes` b3)) + +let ubuffer_includes_trans #r #a b1 b2 b3 = () + +(* + * TODO: not sure how to make this lemma work with preorders + * it creates a buffer larger' in the proof + * we need a compatible preorder for that + * may be take that as an argument? + *) +(*val ubuffer_includes_ubuffer_preserved (#r: HS.rid) (#a: nat) (larger smaller: ubuffer r a) (h1 h2: HS.mem) : Lemma + (requires (larger `ubuffer_includes` smaller /\ ubuffer_preserved larger h1 h2)) + (ensures (ubuffer_preserved smaller h1 h2)) +let ubuffer_includes_ubuffer_preserved #r #a larger smaller h1 h2 = + ubuffer_preserved_intro smaller h1 h2 (fun t' b' -> + if Null? b' + then () + else + let (Buffer max_len content idx' len') = b' in + let idx = U32.uint_to_t (G.reveal larger).b_offset in + let len = U32.uint_to_t (G.reveal larger).b_length in + let larger' = Buffer max_len content idx len in + assert (b' == gsub larger' (U32.sub idx' idx) len'); + ubuffer_preserved_elim larger' h1 h2 + )*) + +let ubuffer_disjoint' (x1 x2: ubuffer_) : GTot Type0 = + if x1.b_length = 0 || x2.b_length = 0 + then True + else + (x1.b_max_length == x2.b_max_length /\ + (x1.b_offset + x1.b_length <= x2.b_offset \/ + x2.b_offset + x2.b_length <= x1.b_offset)) + +(* TODO: added this because of #606, now that it is fixed, we may not need it anymore *) +let ubuffer_disjoint0 (#r1 #r2:HS.rid) (#a1 #a2:nat) (b1:ubuffer r1 a1) (b2:ubuffer r2 a2) = + r1 == r2 /\ a1 == a2 /\ + ubuffer_disjoint' (G.reveal b1) (G.reveal b2) + +val ubuffer_disjoint (#r:HS.rid) (#a:nat) (b1 b2:ubuffer r a) :GTot Type0 +let ubuffer_disjoint #r #a b1 b2 = ubuffer_disjoint0 b1 b2 + +val ubuffer_disjoint_sym (#r:HS.rid) (#a: nat) (b1 b2:ubuffer r a) + :Lemma (ubuffer_disjoint b1 b2 <==> ubuffer_disjoint b2 b1) +let ubuffer_disjoint_sym #_ #_ b1 b2 = () + +val ubuffer_disjoint_includes (#r: HS.rid) (#a: nat) (larger1 larger2: ubuffer r a) (smaller1 smaller2: ubuffer r a) : Lemma + (requires (ubuffer_disjoint larger1 larger2 /\ larger1 `ubuffer_includes` smaller1 /\ larger2 `ubuffer_includes` smaller2)) + (ensures (ubuffer_disjoint smaller1 smaller2)) + +let ubuffer_disjoint_includes #r #a larger1 larger2 smaller1 smaller2 = () + +val liveness_preservation_intro (#a:Type0) (#rrel:srel a) (#rel:srel a) + (h h':HS.mem) (b:mbuffer a rrel rel) + (f: ( + (t':Type0) -> + (pre: Preorder.preorder t') -> + (r: HS.mreference t' pre) -> + Lemma + (requires (HS.frameOf r == frameOf b /\ HS.as_addr r == as_addr b /\ h `HS.contains` r)) + (ensures (h' `HS.contains` r)) + )) + :Lemma (requires (live h b)) (ensures (live h' b)) + +let liveness_preservation_intro #_ #_ #_ _ _ b f = + if Null? b + then () + else f _ _ (Buffer?.content b) + +(* Basic, non-compositional modifies clauses, used only to implement the generic modifies clause. DO NOT USE in client code *) + +let modifies_0_preserves_mreferences (h1 h2: HS.mem) : GTot Type0 = + forall (a: Type) (pre: Preorder.preorder a) (r: HS.mreference a pre) . + h1 `HS.contains` r ==> (h2 `HS.contains` r /\ HS.sel h1 r == HS.sel h2 r) + +let modifies_0_preserves_regions (h1 h2: HS.mem) : GTot Type0 = + forall (r: HS.rid) . HS.live_region h1 r ==> HS.live_region h2 r + +let modifies_0_preserves_not_unused_in (h1 h2: HS.mem) : GTot Type0 = + forall (r: HS.rid) (n: nat) . ( + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r) + ) ==> ( + n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r) + ) + +let modifies_0' (h1 h2: HS.mem) : GTot Type0 = + modifies_0_preserves_mreferences h1 h2 /\ + modifies_0_preserves_regions h1 h2 /\ + modifies_0_preserves_not_unused_in h1 h2 + +val modifies_0 (h1 h2: HS.mem) : GTot Type0 + +let modifies_0 = modifies_0' + +val modifies_0_live_region (h1 h2: HS.mem) (r: HS.rid) : Lemma + (requires (modifies_0 h1 h2 /\ HS.live_region h1 r)) + (ensures (HS.live_region h2 r)) + +let modifies_0_live_region h1 h2 r = () + +val modifies_0_mreference (#a: Type) (#pre: Preorder.preorder a) (h1 h2: HS.mem) (r: HS.mreference a pre) : Lemma + (requires (modifies_0 h1 h2 /\ h1 `HS.contains` r)) + (ensures (h2 `HS.contains` r /\ h1 `HS.sel` r == h2 `HS.sel` r)) + +let modifies_0_mreference #a #pre h1 h2 r = () + +let modifies_0_ubuffer + (#r: HS.rid) + (#a: nat) + (b: ubuffer r a) + (h1 h2: HS.mem) +: Lemma + (requires (modifies_0 h1 h2)) + (ensures (ubuffer_preserved b h1 h2)) += same_mreference_ubuffer_preserved b h1 h2 (fun a' pre r' -> modifies_0_mreference h1 h2 r') + +val modifies_0_unused_in + (h1 h2: HS.mem) + (r: HS.rid) + (n: nat) +: Lemma + (requires ( + modifies_0 h1 h2 /\ + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r) + )) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r))) + +let modifies_0_unused_in h1 h2 r n = () + +let modifies_1_preserves_mreferences (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + :GTot Type0 + = forall (a':Type) (pre:Preorder.preorder a') (r':HS.mreference a' pre). + ((frameOf b <> HS.frameOf r' \/ as_addr b <> HS.as_addr r') /\ h1 `HS.contains` r') ==> + (h2 `HS.contains` r' /\ HS.sel h1 r' == HS.sel h2 r') + +let modifies_1_preserves_ubuffers (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + : GTot Type0 + = forall (b':ubuffer (frameOf b) (as_addr b)). + (ubuffer_disjoint #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) b') ==> ubuffer_preserved #(frameOf b) #(as_addr b) b' h1 h2 + +let modifies_1_from_to_preserves_ubuffers (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) + : GTot Type0 + = forall (b':ubuffer (frameOf b) (as_addr b)). + (ubuffer_disjoint #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) b') ==> ubuffer_preserved #(frameOf b) #(as_addr b) b' h1 h2 + +let modifies_1_preserves_livenesses (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + : GTot Type0 + = forall (a':Type) (pre:Preorder.preorder a') (r':HS.mreference a' pre). h1 `HS.contains` r' ==> h2 `HS.contains` r' + +let modifies_1' (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + : GTot Type0 + = modifies_0_preserves_regions h1 h2 /\ + modifies_1_preserves_mreferences b h1 h2 /\ + modifies_1_preserves_livenesses b h1 h2 /\ + modifies_0_preserves_not_unused_in h1 h2 /\ + modifies_1_preserves_ubuffers b h1 h2 + +val modifies_1 (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) :GTot Type0 + +let modifies_1 = modifies_1' + +let modifies_1_from_to (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) + : GTot Type0 + = if ubuffer_of_buffer_from_to_none_cond b from to + then modifies_0 h1 h2 + else + modifies_0_preserves_regions h1 h2 /\ + modifies_1_preserves_mreferences b h1 h2 /\ + modifies_1_preserves_livenesses b h1 h2 /\ + modifies_0_preserves_not_unused_in h1 h2 /\ + modifies_1_from_to_preserves_ubuffers b from to h1 h2 + +val modifies_1_live_region (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) (r:HS.rid) + :Lemma (requires (modifies_1 b h1 h2 /\ HS.live_region h1 r)) (ensures (HS.live_region h2 r)) + +let modifies_1_live_region #_ #_ #_ _ _ _ _ = () + +let modifies_1_from_to_live_region (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) (r:HS.rid) + :Lemma (requires (modifies_1_from_to b from to h1 h2 /\ HS.live_region h1 r)) (ensures (HS.live_region h2 r)) += () + +val modifies_1_liveness + (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + (#a':Type0) (#pre:Preorder.preorder a') (r':HS.mreference a' pre) + :Lemma (requires (modifies_1 b h1 h2 /\ h1 `HS.contains` r')) (ensures (h2 `HS.contains` r')) + +let modifies_1_liveness #_ #_ #_ _ _ _ #_ #_ _ = () + +let modifies_1_from_to_liveness + (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) + (#a':Type0) (#pre:Preorder.preorder a') (r':HS.mreference a' pre) + :Lemma (requires (modifies_1_from_to b from to h1 h2 /\ h1 `HS.contains` r')) (ensures (h2 `HS.contains` r')) += () + +val modifies_1_unused_in (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) (r:HS.rid) (n:nat) + :Lemma (requires (modifies_1 b h1 h2 /\ + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r))) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r))) +let modifies_1_unused_in #_ #_ #_ _ _ _ _ _ = () + +let modifies_1_from_to_unused_in (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) (r:HS.rid) (n:nat) + :Lemma (requires (modifies_1_from_to b from to h1 h2 /\ + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r))) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r))) += () + +val modifies_1_mreference + (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + (#a':Type0) (#pre:Preorder.preorder a') (r': HS.mreference a' pre) + : Lemma (requires (modifies_1 b h1 h2 /\ (frameOf b <> HS.frameOf r' \/ as_addr b <> HS.as_addr r') /\ h1 `HS.contains` r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) +let modifies_1_mreference #_ #_ #_ _ _ _ #_ #_ _ = () + +let modifies_1_from_to_mreference + (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) + (#a':Type0) (#pre:Preorder.preorder a') (r': HS.mreference a' pre) + : Lemma (requires (modifies_1_from_to b from to h1 h2 /\ (frameOf b <> HS.frameOf r' \/ as_addr b <> HS.as_addr r') /\ h1 `HS.contains` r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) += () + +val modifies_1_ubuffer (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) (b':ubuffer (frameOf b) (as_addr b)) + : Lemma (requires (modifies_1 b h1 h2 /\ ubuffer_disjoint #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) b')) + (ensures (ubuffer_preserved #(frameOf b) #(as_addr b) b' h1 h2)) +let modifies_1_ubuffer #_ #_ #_ _ _ _ _ = () + +let modifies_1_from_to_ubuffer (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) (b':ubuffer (frameOf b) (as_addr b)) + : Lemma (requires (modifies_1_from_to b from to h1 h2 /\ ubuffer_disjoint #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) b')) + (ensures (ubuffer_preserved #(frameOf b) #(as_addr b) b' h1 h2)) += () + +val modifies_1_null (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) + : Lemma (requires (modifies_1 b h1 h2 /\ g_is_null b)) + (ensures (modifies_0 h1 h2)) +let modifies_1_null #_ #_ #_ _ _ _ = () + +let modifies_addr_of_preserves_not_unused_in (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) + :GTot Type0 + = forall (r: HS.rid) (n: nat) . + ((r <> frameOf b \/ n <> as_addr b) /\ + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r)) ==> + (n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r)) + +let modifies_addr_of' (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) :GTot Type0 = + modifies_0_preserves_regions h1 h2 /\ + modifies_1_preserves_mreferences b h1 h2 /\ + modifies_addr_of_preserves_not_unused_in b h1 h2 + +val modifies_addr_of (#a:Type0) (#rrel:srel a) (#rel:srel a) (b:mbuffer a rrel rel) (h1 h2:HS.mem) :GTot Type0 +let modifies_addr_of = modifies_addr_of' + +val modifies_addr_of_live_region (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) (r:HS.rid) + :Lemma (requires (modifies_addr_of b h1 h2 /\ HS.live_region h1 r)) + (ensures (HS.live_region h2 r)) +let modifies_addr_of_live_region #_ #_ #_ _ _ _ _ = () + +val modifies_addr_of_mreference (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) + (#a':Type0) (#pre:Preorder.preorder a') (r':HS.mreference a' pre) + : Lemma (requires (modifies_addr_of b h1 h2 /\ (frameOf b <> HS.frameOf r' \/ as_addr b <> HS.as_addr r') /\ h1 `HS.contains` r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) +let modifies_addr_of_mreference #_ #_ #_ _ _ _ #_ #_ _ = () + +val modifies_addr_of_unused_in (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) (r:HS.rid) (n:nat) + : Lemma (requires (modifies_addr_of b h1 h2 /\ + (r <> frameOf b \/ n <> as_addr b) /\ + HS.live_region h1 r /\ HS.live_region h2 r /\ + n `Heap.addr_unused_in` (HS.get_hmap h2 `Map.sel` r))) + (ensures (n `Heap.addr_unused_in` (HS.get_hmap h1 `Map.sel` r))) +let modifies_addr_of_unused_in #_ #_ #_ _ _ _ _ _ = () + +module MG = FStar.ModifiesGen + +let cls : MG.cls ubuffer = MG.Cls #ubuffer + ubuffer_includes + (fun #r #a x -> ubuffer_includes_refl x) + (fun #r #a x1 x2 x3 -> ubuffer_includes_trans x1 x2 x3) + ubuffer_disjoint + (fun #r #a x1 x2 -> ubuffer_disjoint_sym x1 x2) + (fun #r #a larger1 larger2 smaller1 smaller2 -> ubuffer_disjoint_includes larger1 larger2 smaller1 smaller2) + ubuffer_preserved + (fun #r #a x h -> ubuffer_preserved_refl x h) + (fun #r #a x h1 h2 h3 -> ubuffer_preserved_trans x h1 h2 h3) + (fun #r #a b h1 h2 f -> same_mreference_ubuffer_preserved b h1 h2 f) + +let loc = MG.loc cls +let _ = intro_ambient loc + +let loc_none = MG.loc_none +let _ = intro_ambient loc_none + +let loc_union = MG.loc_union +let _ = intro_ambient loc_union + +let loc_union_idem = MG.loc_union_idem + +let loc_union_comm = MG.loc_union_comm + +let loc_union_assoc = MG.loc_union_assoc + +let loc_union_idem_1 + (s1 s2: loc) +: Lemma + (loc_union s1 (loc_union s1 s2) == loc_union s1 s2) + [SMTPat (loc_union s1 (loc_union s1 s2))] += loc_union_assoc s1 s1 s2 + +let loc_union_idem_2 + (s1 s2: loc) +: Lemma + (loc_union (loc_union s1 s2) s2 == loc_union s1 s2) + [SMTPat (loc_union (loc_union s1 s2) s2)] += loc_union_assoc s1 s2 s2 + +let loc_union_loc_none_l = MG.loc_union_loc_none_l + +let loc_union_loc_none_r = MG.loc_union_loc_none_r + +let loc_buffer_from_to #a #rrel #rel b from to = + if ubuffer_of_buffer_from_to_none_cond b from to + then MG.loc_none + else + MG.loc_of_aloc #_ #_ #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) + +let loc_buffer #_ #_ #_ b = + if g_is_null b then MG.loc_none + else MG.loc_of_aloc #_ #_ #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) + +let loc_buffer_eq #_ #_ #_ _ = () + +let loc_buffer_from_to_high #_ #_ #_ _ _ _ = () + +let loc_buffer_from_to_none #_ #_ #_ _ _ _ = () + +let loc_buffer_from_to_mgsub #_ #_ #_ _ _ _ _ _ _ = () + +let loc_buffer_mgsub_eq #_ #_ #_ _ _ _ _ = () + +let loc_buffer_null _ _ _ = () + +let loc_buffer_from_to_eq #_ #_ #_ _ _ _ = () + +let loc_buffer_mgsub_rel_eq #_ #_ #_ _ _ _ _ _ = () + +let loc_addresses = MG.loc_addresses + +let loc_regions = MG.loc_regions + +let loc_includes = MG.loc_includes + +let loc_includes_refl = MG.loc_includes_refl + +let loc_includes_trans = MG.loc_includes_trans + +let loc_includes_trans_backwards + (s1 s2 s3: loc) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + [SMTPat (loc_includes s1 s3); SMTPat (loc_includes s2 s3)] += loc_includes_trans s1 s2 s3 + + +let loc_includes_union_r = MG.loc_includes_union_r + +let loc_includes_union_l = MG.loc_includes_union_l + +let loc_includes_union_l' + (s1 s2 s: loc) + : Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + [SMTPat (loc_includes (loc_union s1 s2) s)] + = loc_includes_union_l s1 s2 s + +let loc_includes_union_r' + (s s1 s2: loc) +: Lemma + (loc_includes s (loc_union s1 s2) <==> (loc_includes s s1 /\ loc_includes s s2)) + [SMTPat (loc_includes s (loc_union s1 s2))] += Classical.move_requires (loc_includes_union_r s s1) s2; + Classical.move_requires (loc_includes_union_l s1 s2) s1; + Classical.move_requires (loc_includes_union_l s1 s2) s2; + Classical.move_requires (loc_includes_trans s (loc_union s1 s2)) s1; + Classical.move_requires (loc_includes_trans s (loc_union s1 s2)) s2 + +let loc_includes_none = MG.loc_includes_none + +val loc_includes_buffer (#a:Type0) (#rrel1:srel a) (#rrel2:srel a) (#rel1:srel a) (#rel2:srel a) + (b1:mbuffer a rrel1 rel1) (b2:mbuffer a rrel2 rel2) + :Lemma (requires (frameOf b1 == frameOf b2 /\ as_addr b1 == as_addr b2 /\ + ubuffer_includes0 #(frameOf b1) #(frameOf b2) #(as_addr b1) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2))) + (ensures (loc_includes (loc_buffer b1) (loc_buffer b2))) +let loc_includes_buffer #t #_ #_ #_ #_ b1 b2 = + let t1 = ubuffer (frameOf b1) (as_addr b1) in + MG.loc_includes_aloc #_ #cls #(frameOf b1) #(as_addr b1) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) + +let loc_includes_gsub_buffer_r l #_ #_ #_ b i len sub_rel = + let b' = mgsub sub_rel b i len in + loc_includes_buffer b b'; + loc_includes_trans l (loc_buffer b) (loc_buffer b') + +let loc_includes_gsub_buffer_r' (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:UInt32.t) (len:UInt32.t) (sub_rel:srel a) + :Lemma (requires (UInt32.v i + UInt32.v len <= (length b))) + (ensures (loc_includes (loc_buffer b) (loc_buffer (mgsub sub_rel b i len)))) + [SMTPat (mgsub sub_rel b i len)] + = () + +let loc_includes_gsub_buffer_l #_ #_ #rel b i1 len1 sub_rel1 i2 len2 sub_rel2 = + let b1 = mgsub sub_rel1 b i1 len1 in + let b2 = mgsub sub_rel2 b i2 len2 in + loc_includes_buffer b1 b2 + +let loc_includes_loc_buffer_loc_buffer_from_to #_ #_ #_ b from to = + if ubuffer_of_buffer_from_to_none_cond b from to + then () + else MG.loc_includes_aloc #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) (ubuffer_of_buffer_from_to b from to) + +let loc_includes_loc_buffer_from_to #_ #_ #_ b from1 to1 from2 to2 = + if ubuffer_of_buffer_from_to_none_cond b from1 to1 || ubuffer_of_buffer_from_to_none_cond b from2 to2 + then () + else MG.loc_includes_aloc #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from1 to1) (ubuffer_of_buffer_from_to b from2 to2) + +#push-options "--z3rlimit 20" +let loc_includes_as_seq #_ #rrel #_ #_ h1 h2 larger smaller = + if Null? smaller then () else + if Null? larger then begin + MG.loc_includes_none_elim (loc_buffer smaller); + MG.loc_of_aloc_not_none #_ #cls #(frameOf smaller) #(as_addr smaller) (ubuffer_of_buffer smaller) + end else begin + MG.loc_includes_aloc_elim #_ #cls #(frameOf larger) #(frameOf smaller) #(as_addr larger) #(as_addr smaller) (ubuffer_of_buffer larger) (ubuffer_of_buffer smaller); + let ul = Ghost.reveal (ubuffer_of_buffer larger) in + let us = Ghost.reveal (ubuffer_of_buffer smaller) in + assert (as_seq h1 smaller == Seq.slice (as_seq h1 larger) (us.b_offset - ul.b_offset) (us.b_offset - ul.b_offset + length smaller)); + assert (as_seq h2 smaller == Seq.slice (as_seq h2 larger) (us.b_offset - ul.b_offset) (us.b_offset - ul.b_offset + length smaller)) + end +#pop-options + +let loc_includes_addresses_buffer #a #rrel #srel preserve_liveness r s p = + MG.loc_includes_addresses_aloc #_ #cls preserve_liveness r s #(as_addr p) (ubuffer_of_buffer p) + +let loc_includes_addresses_buffer' (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (loc_includes (loc_addresses true (frameOf b) (Set.singleton (as_addr b))) (loc_buffer b)) + [SMTPat (loc_buffer b)] + = () + +let loc_includes_region_buffer #_ #_ #_ preserve_liveness s b = + MG.loc_includes_region_aloc #_ #cls preserve_liveness s #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) + +let loc_includes_region_buffer' (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (loc_includes (loc_regions true (Set.singleton (frameOf b))) (loc_buffer b)) + [SMTPat (loc_buffer b)] + = () + +let loc_includes_region_addresses = MG.loc_includes_region_addresses #_ #cls + +let loc_includes_region_addresses' + (preserve_liveness: bool) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (loc_includes (loc_regions true (Set.singleton r)) (loc_addresses preserve_liveness r a)) + [SMTPat (loc_addresses preserve_liveness r a)] += () + +let loc_includes_region_region = MG.loc_includes_region_region #_ #cls + +let loc_includes_region_region' + (preserve_liveness: bool) + (s: Set.set HS.rid) +: Lemma + (loc_includes (loc_regions false s) (loc_regions preserve_liveness s)) + [SMTPat (loc_regions preserve_liveness s)] += () + +let loc_includes_region_union_l = MG.loc_includes_region_union_l + +let loc_includes_addresses_addresses = MG.loc_includes_addresses_addresses cls + +let loc_includes_addresses_addresses_1 + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (s1 s2: Set.set nat) +: Lemma + (requires (r1 == r2 /\ (preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_addresses preserve_liveness1 r1 s1) (loc_addresses preserve_liveness2 r2 s2))) + [SMTPat (loc_includes (loc_addresses preserve_liveness1 r1 s1) (loc_addresses preserve_liveness2 r2 s2))] += loc_includes_addresses_addresses preserve_liveness1 preserve_liveness2 r1 s1 s2 + +let loc_includes_addresses_addresses_2 + (preserve_liveness: bool) + (r: HS.rid) + (s: Set.set nat) +: Lemma + (loc_includes (loc_addresses false r s) (loc_addresses preserve_liveness r s)) + [SMTPat (loc_addresses preserve_liveness r s)] += () + +let loc_includes_union_l_buffer + (s1 s2:loc) + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + :Lemma (requires (loc_includes s1 (loc_buffer b) \/ loc_includes s2 (loc_buffer b))) + (ensures (loc_includes (loc_union s1 s2) (loc_buffer b))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_buffer b))] + = loc_includes_union_l s1 s2 (loc_buffer b) + +let loc_includes_union_l_addresses + (s1 s2: loc) + (prf: bool) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (loc_includes s1 (loc_addresses prf r a) \/ loc_includes s2 (loc_addresses prf r a))) + (ensures (loc_includes (loc_union s1 s2) (loc_addresses prf r a))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_addresses prf r a))] += loc_includes_union_l s1 s2 (loc_addresses prf r a) + +let loc_includes_union_l_regions + (s1 s2: loc) + (prf: bool) + (r: Set.set HS.rid) +: Lemma + (requires (loc_includes s1 (loc_regions prf r) \/ loc_includes s2 (loc_regions prf r))) + (ensures (loc_includes (loc_union s1 s2) (loc_regions prf r))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_regions prf r))] += loc_includes_union_l s1 s2 (loc_regions prf r) + +let loc_disjoint = MG.loc_disjoint + +let loc_disjoint_sym = MG.loc_disjoint_sym + +let loc_disjoint_sym' + (s1 s2: loc) +: Lemma + (loc_disjoint s1 s2 <==> loc_disjoint s2 s1) + [SMTPat (loc_disjoint s1 s2)] += Classical.move_requires (loc_disjoint_sym s1) s2; + Classical.move_requires (loc_disjoint_sym s2) s1 + +let loc_disjoint_none_r = MG.loc_disjoint_none_r + +let loc_disjoint_union_r = MG.loc_disjoint_union_r + +let loc_disjoint_includes = MG.loc_disjoint_includes + +let loc_disjoint_union_r' + (s s1 s2: loc) +: Lemma + (ensures (loc_disjoint s (loc_union s1 s2) <==> (loc_disjoint s s1 /\ loc_disjoint s s2))) + [SMTPat (loc_disjoint s (loc_union s1 s2))] += Classical.move_requires (loc_disjoint_union_r s s1) s2; + loc_includes_union_l s1 s2 s1; + loc_includes_union_l s1 s2 s2; + Classical.move_requires (loc_disjoint_includes s (loc_union s1 s2) s) s1; + Classical.move_requires (loc_disjoint_includes s (loc_union s1 s2) s) s2 + +val loc_disjoint_buffer (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) + :Lemma (requires ((frameOf b1 == frameOf b2 /\ as_addr b1 == as_addr b2) ==> + ubuffer_disjoint0 #(frameOf b1) #(frameOf b2) #(as_addr b1) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2))) + (ensures (loc_disjoint (loc_buffer b1) (loc_buffer b2))) +let loc_disjoint_buffer #_ #_ #_ #_ #_ #_ b1 b2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf b1) #(as_addr b1) #(frameOf b2) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) + +let loc_disjoint_includes_r (b1 : loc) (b2 b2': loc) : Lemma + (requires (loc_includes b2 b2' /\ loc_disjoint b1 b2)) + (ensures (loc_disjoint b1 b2')) + [SMTPat (loc_disjoint b1 b2'); SMTPat (loc_includes b2 b2')] + = loc_disjoint_includes b1 b2 b1 b2' + +let loc_disjoint_gsub_buffer #_ #_ #_ b i1 len1 sub_rel1 i2 len2 sub_rel2 = + loc_disjoint_buffer (mgsub sub_rel1 b i1 len1) (mgsub sub_rel2 b i2 len2) + +let loc_disjoint_loc_buffer_from_to #_ #_ #_ b from1 to1 from2 to2 = + if ubuffer_of_buffer_from_to_none_cond b from1 to1 || ubuffer_of_buffer_from_to_none_cond b from2 to2 + then () + else MG.loc_disjoint_aloc_intro #_ #cls #(frameOf b) #(as_addr b) #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from1 to1) (ubuffer_of_buffer_from_to b from2 to2) + +let loc_disjoint_addresses = MG.loc_disjoint_addresses_intro #_ #cls + +let loc_disjoint_regions = MG.loc_disjoint_regions #_ #cls + +let modifies = MG.modifies + +let modifies_live_region = MG.modifies_live_region + +let modifies_mreference_elim = MG.modifies_mreference_elim + +let modifies_buffer_elim #_ #_ #_ b p h h' = + if g_is_null b + then + assert (as_seq h b `Seq.equal` as_seq h' b) + else begin + MG.modifies_aloc_elim #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) p h h' ; + ubuffer_preserved_elim b h h' + end + +let modifies_buffer_from_to_elim #_ #_ #_ b from to p h h' = + if g_is_null b + then () + else begin + MG.modifies_aloc_elim #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) p h h' ; + ubuffer_preserved_from_to_elim b from to h h' + end + +let modifies_refl = MG.modifies_refl + +let modifies_loc_includes = MG.modifies_loc_includes + +let address_liveness_insensitive_locs = MG.address_liveness_insensitive_locs _ + +let region_liveness_insensitive_locs = MG.region_liveness_insensitive_locs _ + +let address_liveness_insensitive_buffer #_ #_ #_ b = + MG.loc_includes_address_liveness_insensitive_locs_aloc #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) + +let address_liveness_insensitive_addresses = + MG.loc_includes_address_liveness_insensitive_locs_addresses cls + +let region_liveness_insensitive_buffer #_ #_ #_ b = + MG.loc_includes_region_liveness_insensitive_locs_loc_of_aloc #_ cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) + +let region_liveness_insensitive_addresses = + MG.loc_includes_region_liveness_insensitive_locs_loc_addresses cls + +let region_liveness_insensitive_regions = + MG.loc_includes_region_liveness_insensitive_locs_loc_regions cls + +let region_liveness_insensitive_address_liveness_insensitive = + MG.loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs cls + +let modifies_liveness_insensitive_mreference = MG.modifies_preserves_liveness + +let modifies_liveness_insensitive_buffer l1 l2 h h' #_ #_ #_ x = + if g_is_null x then () + else + liveness_preservation_intro h h' x (fun t' pre r -> + MG.modifies_preserves_liveness_strong l1 l2 h h' r (ubuffer_of_buffer x)) + +let modifies_liveness_insensitive_region = MG.modifies_preserves_region_liveness + +let modifies_liveness_insensitive_region_mreference = MG.modifies_preserves_region_liveness_reference + +let modifies_liveness_insensitive_region_buffer l1 l2 h h' #_ #_ #_ x = + if g_is_null x then () + else MG.modifies_preserves_region_liveness_aloc l1 l2 h h' #(frameOf x) #(as_addr x) (ubuffer_of_buffer x) + +let modifies_liveness_insensitive_region_weak + (l2 : loc) + (h h' : HS.mem) + (x: HS.rid) +: Lemma + (requires (modifies l2 h h' /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h x)) + (ensures (HS.live_region h' x)) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h x)]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' x)]; + ]] += modifies_liveness_insensitive_region loc_none l2 h h' x + +let modifies_liveness_insensitive_region_mreference_weak + (l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) + : Lemma (requires (modifies l2 h h' /\ + region_liveness_insensitive_locs `loc_includes` l2 /\ + HS.live_region h (HS.frameOf x))) + (ensures (HS.live_region h' (HS.frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (HS.frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (HS.frameOf x))]; + ]] + = modifies_liveness_insensitive_region_mreference loc_none l2 h h' x + +let modifies_liveness_insensitive_region_buffer_weak + (l2:loc) + (h h':HS.mem) + (#a:Type0) (#rrel #rel:srel a) + (x:mbuffer a rrel rel) + :Lemma (requires (modifies l2 h h' /\ + region_liveness_insensitive_locs `loc_includes` l2 /\ + HS.live_region h (frameOf x))) + (ensures (HS.live_region h' (frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (frameOf x))]; + ]] + = modifies_liveness_insensitive_region_buffer loc_none l2 h h' x + +let modifies_trans = MG.modifies_trans + +let modifies_trans_linear (l l_goal:loc) (h1 h2 h3:HS.mem) + : Lemma (requires (modifies l h1 h2 /\ modifies l_goal h2 h3 /\ l_goal `loc_includes` l)) + (ensures (modifies l_goal h1 h3)) + [SMTPat (modifies l h1 h2); SMTPat (modifies l_goal h1 h3)] + = modifies_trans l h1 h2 l_goal h3 + +let modifies_only_live_regions = MG.modifies_only_live_regions + +let no_upd_fresh_region = MG.no_upd_fresh_region + +let new_region_modifies = MG.new_region_modifies #_ cls + +let modifies_fresh_frame_popped = MG.modifies_fresh_frame_popped + +let modifies_loc_regions_intro = MG.modifies_loc_regions_intro #_ #cls + +let modifies_loc_addresses_intro = MG.modifies_loc_addresses_intro #_ #cls + +let modifies_ralloc_post = MG.modifies_ralloc_post #_ #cls + +let modifies_salloc_post = MG.modifies_salloc_post #_ #cls + +let modifies_free = MG.modifies_free #_ #cls + +let modifies_none_modifies = MG.modifies_none_modifies #_ #cls + +let modifies_upd = MG.modifies_upd #_ #cls + +val modifies_0_modifies + (h1 h2: HS.mem) +: Lemma + (requires (modifies_0 h1 h2)) + (ensures (modifies loc_none h1 h2)) +let modifies_0_modifies h1 h2 = + MG.modifies_none_intro #_ #cls h1 h2 + (fun r -> modifies_0_live_region h1 h2 r) + (fun t pre b -> modifies_0_mreference #t #pre h1 h2 b) + (fun r n -> modifies_0_unused_in h1 h2 r n) + +val modifies_1_modifies + (#a:Type0)(#rrel #rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) + :Lemma (requires (modifies_1 b h1 h2)) + (ensures (modifies (loc_buffer b) h1 h2)) +let modifies_1_modifies #t #_ #_ b h1 h2 = + if g_is_null b + then begin + modifies_1_null b h1 h2; + modifies_0_modifies h1 h2 + end else + MG.modifies_intro (loc_buffer b) h1 h2 + (fun r -> modifies_1_live_region b h1 h2 r) + (fun t pre p -> + loc_disjoint_sym (loc_mreference p) (loc_buffer b); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer b) true (HS.frameOf p) (Set.singleton (HS.as_addr p)); + modifies_1_mreference b h1 h2 p + ) + (fun t pre p -> + modifies_1_liveness b h1 h2 p + ) + (fun r n -> + modifies_1_unused_in b h1 h2 r n + ) + (fun r' a' b' -> + loc_disjoint_sym (MG.loc_of_aloc b') (loc_buffer b); + MG.loc_disjoint_aloc_elim #_ #cls #(frameOf b) #(as_addr b) #r' #a' (ubuffer_of_buffer b) b'; + if frameOf b = r' && as_addr b = a' + then + modifies_1_ubuffer #t b h1 h2 b' + else + same_mreference_ubuffer_preserved #r' #a' b' h1 h2 + (fun a_ pre_ r_ -> modifies_1_mreference b h1 h2 r_) + ) + +val modifies_1_from_to_modifies + (#a:Type0)(#rrel #rel:srel a) + (b:mbuffer a rrel rel) (from to: U32.t) (h1 h2:HS.mem) + :Lemma (requires (modifies_1_from_to b from to h1 h2)) + (ensures (modifies (loc_buffer_from_to b from to) h1 h2)) +let modifies_1_from_to_modifies #t #_ #_ b from to h1 h2 = + if ubuffer_of_buffer_from_to_none_cond b from to + then begin + modifies_0_modifies h1 h2 + end else + MG.modifies_intro (loc_buffer_from_to b from to) h1 h2 + (fun r -> modifies_1_from_to_live_region b from to h1 h2 r) + (fun t pre p -> + loc_disjoint_sym (loc_mreference p) (loc_buffer_from_to b from to); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(frameOf b) #(as_addr b) (ubuffer_of_buffer_from_to b from to) true (HS.frameOf p) (Set.singleton (HS.as_addr p)); + modifies_1_from_to_mreference b from to h1 h2 p + ) + (fun t pre p -> + modifies_1_from_to_liveness b from to h1 h2 p + ) + (fun r n -> + modifies_1_from_to_unused_in b from to h1 h2 r n + ) + (fun r' a' b' -> + loc_disjoint_sym (MG.loc_of_aloc b') (loc_buffer_from_to b from to); + MG.loc_disjoint_aloc_elim #_ #cls #(frameOf b) #(as_addr b) #r' #a' (ubuffer_of_buffer_from_to b from to) b'; + if frameOf b = r' && as_addr b = a' + then + modifies_1_from_to_ubuffer #t b from to h1 h2 b' + else + same_mreference_ubuffer_preserved #r' #a' b' h1 h2 + (fun a_ pre_ r_ -> modifies_1_from_to_mreference b from to h1 h2 r_) + ) + +val modifies_addr_of_modifies + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (h1 h2:HS.mem) + :Lemma (requires (modifies_addr_of b h1 h2)) + (ensures (modifies (loc_addr_of_buffer b) h1 h2)) +let modifies_addr_of_modifies #t #_ #_ b h1 h2 = + MG.modifies_address_intro #_ #cls (frameOf b) (as_addr b) h1 h2 + (fun r -> modifies_addr_of_live_region b h1 h2 r) + (fun t pre p -> + modifies_addr_of_mreference b h1 h2 p + ) + (fun r n -> + modifies_addr_of_unused_in b h1 h2 r n + ) + +val modifies_loc_buffer_from_to_intro' + (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + (from to: U32.t) + (l: loc) (h h' : HS.mem) +: Lemma + (requires ( + let s = as_seq h b in + let s' = as_seq h' b in + not (g_is_null b) /\ + live h b /\ + modifies (loc_union l (loc_buffer b)) h h' /\ + U32.v from <= U32.v to /\ + U32.v to <= length b /\ + Seq.slice s 0 (U32.v from) `Seq.equal` Seq.slice s' 0 (U32.v from) /\ + Seq.slice s (U32.v to) (length b) `Seq.equal` Seq.slice s' (U32.v to) (length b) + )) + (ensures (modifies (loc_union l (loc_buffer_from_to b from to)) h h')) + +#push-options "--z3rlimit 16" + +let modifies_loc_buffer_from_to_intro' #a #rrel #rel b from to l h h' = + let r0 = frameOf b in + let a0 = as_addr b in + let bb : ubuffer r0 a0 = ubuffer_of_buffer b in + modifies_loc_includes (loc_union l (loc_addresses true r0 (Set.singleton a0))) h h' (loc_union l (loc_buffer b)); + MG.modifies_strengthen l #r0 #a0 (ubuffer_of_buffer_from_to b from to) h h' (fun f (x: ubuffer r0 a0) -> + ubuffer_preserved_intro x h h' + (fun t' rrel' rel' b' -> f _ _ (Buffer?.content b')) + (fun t' rrel' rel' b' -> + // prove that the types, rrels, rels are equal + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + assert (Seq.seq t' == Seq.seq a); + let _s0 : Seq.seq a = as_seq h b in + let _s1 : Seq.seq t' = coerce_eq _ _s0 in + lemma_equal_instances_implies_equal_types a t' _s0 _s1; + let boff = U32.v (Buffer?.idx b) in + let from_ = boff + U32.v from in + let to_ = boff + U32.v to in + let ({ b_max_length = ml; b_offset = xoff; b_length = xlen; b_is_mm = is_mm }) = Ghost.reveal x in + let ({ b_max_length = _; b_offset = b'off; b_length = b'len }) = Ghost.reveal (ubuffer_of_buffer b') in + let bh = as_seq h b in + let bh' = as_seq h' b in + let xh = Seq.slice (as_seq h b') (xoff - b'off) (xoff - b'off + xlen) in + let xh' = Seq.slice (as_seq h' b') (xoff - b'off) (xoff - b'off + xlen) in + let prf (i: nat) : Lemma + (requires (i < xlen)) + (ensures (i < xlen /\ Seq.index xh i == Seq.index xh' i)) + = let xi = xoff + i in + let bi : ubuffer r0 a0 = + Ghost.hide ({ b_max_length = ml; b_offset = xi; b_length = 1; b_is_mm = is_mm; }) + in + assert (Seq.index xh i == Seq.index (Seq.slice (as_seq h b') (xi - b'off) (xi - b'off + 1)) 0); + assert (Seq.index xh' i == Seq.index (Seq.slice (as_seq h' b') (xi - b'off) (xi - b'off + 1)) 0); + let li = MG.loc_of_aloc bi in + MG.loc_includes_aloc #_ #cls x bi; + loc_disjoint_includes l (MG.loc_of_aloc x) l li; + if xi < boff || boff + length b <= xi + then begin + MG.loc_disjoint_aloc_intro #_ #cls bb bi; + assert (loc_disjoint (loc_union l (loc_buffer b)) li); + MG.modifies_aloc_elim bi (loc_union l (loc_buffer b)) h h' + end else + if xi < from_ + then begin + assert (Seq.index xh i == Seq.index (Seq.slice bh 0 (U32.v from)) (xi - boff)); + assert (Seq.index xh' i == Seq.index (Seq.slice bh' 0 (U32.v from)) (xi - boff)) + end else begin + assert (to_ <= xi); + assert (Seq.index xh i == Seq.index (Seq.slice bh (U32.v to) (length b)) (xi - to_)); + assert (Seq.index xh' i == Seq.index (Seq.slice bh' (U32.v to) (length b)) (xi - to_)) + end + in + Classical.forall_intro (Classical.move_requires prf); + assert (xh `Seq.equal` xh') + ) + ) + +#pop-options + +let modifies_loc_buffer_from_to_intro #a #rrel #rel b from to l h h' = + if g_is_null b + then () + else modifies_loc_buffer_from_to_intro' b from to l h h' + +let does_not_contain_addr = MG.does_not_contain_addr + +let not_live_region_does_not_contain_addr = MG.not_live_region_does_not_contain_addr + +let unused_in_does_not_contain_addr = MG.unused_in_does_not_contain_addr + +let addr_unused_in_does_not_contain_addr = MG.addr_unused_in_does_not_contain_addr + +let free_does_not_contain_addr = MG.free_does_not_contain_addr + +let does_not_contain_addr_elim = MG.does_not_contain_addr_elim + +let modifies_only_live_addresses = MG.modifies_only_live_addresses + +let loc_not_unused_in = MG.loc_not_unused_in _ + +let loc_unused_in = MG.loc_unused_in _ + +let loc_regions_unused_in = MG.loc_regions_unused_in cls + +let loc_unused_in_not_unused_in_disjoint = + MG.loc_unused_in_not_unused_in_disjoint cls + +let not_live_region_loc_not_unused_in_disjoint = MG.not_live_region_loc_not_unused_in_disjoint cls + +let fresh_frame_loc_not_unused_in_disjoint + (h0 h1: HS.mem) +: Lemma + (requires (HS.fresh_frame h0 h1)) + (ensures (loc_disjoint (loc_region_only false (HS.get_tip h1)) (loc_not_unused_in h0))) + [SMTPat (HS.fresh_frame h0 h1)] += not_live_region_loc_not_unused_in_disjoint h0 (HS.get_tip h1) + +let live_loc_not_unused_in #_ #_ #_ b h = + unused_in_equiv b h; + Classical.move_requires (MG.does_not_contain_addr_addr_unused_in h) (frameOf b, as_addr b); + MG.loc_addresses_not_unused_in cls (frameOf b) (Set.singleton (as_addr b)) h; + () + +let unused_in_loc_unused_in #_ #_ #_ b h = + unused_in_equiv b h; + Classical.move_requires (MG.addr_unused_in_does_not_contain_addr h) (frameOf b, as_addr b); + MG.loc_addresses_unused_in cls (frameOf b) (Set.singleton (as_addr b)) h; + () + +let modifies_address_liveness_insensitive_unused_in = + MG.modifies_address_liveness_insensitive_unused_in cls + +let modifies_only_not_unused_in = MG.modifies_only_not_unused_in + +let mreference_live_loc_not_unused_in = + MG.mreference_live_loc_not_unused_in cls + +let mreference_unused_in_loc_unused_in = + MG.mreference_unused_in_loc_unused_in cls + +let unused_in_not_unused_in_disjoint_2 + (l1 l2 l1' l2': loc) + (h: HS.mem) +: Lemma + (requires (loc_unused_in h `loc_includes` l1 /\ loc_not_unused_in h `loc_includes` l2 /\ l1 `loc_includes` l1' /\ l2 `loc_includes` l2' )) + (ensures (loc_disjoint l1' l2' )) + [SMTPat (loc_disjoint l1' l2'); SMTPat (loc_unused_in h `loc_includes` l1); SMTPat (loc_not_unused_in h `loc_includes` l2)] += loc_includes_trans (loc_unused_in h) l1 l1' ; + loc_includes_trans (loc_not_unused_in h) l2 l2' ; + loc_unused_in_not_unused_in_disjoint h ; + loc_disjoint_includes (loc_unused_in h) (loc_not_unused_in h) l1' l2' + +let modifies_loc_unused_in l h1 h2 l' = + modifies_loc_includes address_liveness_insensitive_locs h1 h2 l; + modifies_address_liveness_insensitive_unused_in h1 h2; + loc_includes_trans (loc_unused_in h1) (loc_unused_in h2) l' + +let ralloc_post_fresh_loc (#a:Type) (#rel:Preorder.preorder a) (i: HS.rid) (init:a) (m0: HS.mem) + (x: HST.mreference a rel{HST.is_eternal_region (HS.frameOf x)}) (m1: HS.mem) : Lemma + (requires (HST.ralloc_post i init m0 x m1)) + (ensures (fresh_loc (loc_freed_mreference x) m0 m1)) + [SMTPat (HST.ralloc_post i init m0 x m1)] += () + +let fresh_frame_modifies h0 h1 = MG.fresh_frame_modifies #_ cls h0 h1 + +let popped_modifies = MG.popped_modifies #_ cls + +let modifies_remove_new_locs l_fresh l_aux l_goal h1 h2 h3 = + modifies_only_not_unused_in l_goal h1 h3 + +let modifies_remove_fresh_frame (h1 h2 h3:HS.mem) (l:loc) + : Lemma (requires (HS.fresh_frame h1 h2 /\ + modifies (loc_union (loc_all_regions_from false (HS.get_tip h2)) l) h2 h3)) + (ensures (modifies l h1 h3)) + [SMTPat (modifies l h1 h3); SMTPat (HS.fresh_frame h1 h2)] + = loc_regions_unused_in h1 (HS.mod_set (Set.singleton (HS.get_tip h2))); + modifies_only_not_unused_in l h1 h3 + +let disjoint_neq #_ #_ #_ #_ #_ #_ b1 b2 = + if frameOf b1 = frameOf b2 && as_addr b1 = as_addr b2 then + MG.loc_disjoint_aloc_elim #_ #cls #(frameOf b1) #(as_addr b1) #(frameOf b2) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) + else () + +let empty_disjoint + #t1 #t2 #rrel1 #rel1 #rrel2 #rel2 b1 b2 += let r = frameOf b1 in + let a = as_addr b1 in + if r = frameOf b2 && a = as_addr b2 then + MG.loc_disjoint_aloc_intro #_ #cls #r #a #r #a (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) + else () + +(* +let includes_live #a #rrel #rel1 #rel2 h larger smaller = + if Null? larger || Null? smaller then () + else + MG.loc_includes_aloc_elim #_ #cls #(frameOf larger) #(frameOf smaller) #(as_addr larger) #(as_addr smaller) (ubuffer_of_buffer larger) (ubuffer_of_buffer smaller) +*) + +let includes_frameOf_as_addr #_ #_ #_ #_ #_ #_ larger smaller = + if Null? larger || Null? smaller then () + else + MG.loc_includes_aloc_elim #_ #cls #(frameOf larger) #(frameOf smaller) #(as_addr larger) #(as_addr smaller) (ubuffer_of_buffer larger) (ubuffer_of_buffer smaller) + +let pointer_distinct_sel_disjoint #a #_ #_ #_ #_ b1 b2 h = + if frameOf b1 = frameOf b2 && as_addr b1 = as_addr b2 + then begin + HS.mreference_distinct_sel_disjoint h (Buffer?.content b1) (Buffer?.content b2); + loc_disjoint_buffer b1 b2 + end + else + loc_disjoint_buffer b1 b2 + +let is_null #_ #_ #_ b = Null? b + +let msub #a #rrel #rel sub_rel b i len = + match b with + | Null -> Null + | Buffer max_len content i0 len0 -> + Buffer max_len content (U32.add i0 i) len + +let moffset #a #rrel #rel sub_rel b i = + match b with + | Null -> Null + | Buffer max_len content i0 len -> + Buffer max_len content (U32.add i0 i) (Ghost.hide ((U32.sub (Ghost.reveal len) i))) + +let index #_ #_ #_ b i = + let open HST in + let s = ! (Buffer?.content b) in + Seq.index s (U32.v (Buffer?.idx b) + U32.v i) + +let g_upd_seq #_ #_ #_ b s h = + if Seq.length s = 0 then h + else + let s0 = HS.sel h (Buffer?.content b) in + let Buffer _ content idx length = b in + HS.upd h (Buffer?.content b) (Seq.replace_subseq s0 (U32.v idx) (U32.v idx + U32.v length) s) + +let lemma_g_upd_with_same_seq #_ #_ #_ b h = + if Null? b then () + else + let open FStar.UInt32 in + let Buffer _ content idx length = b in + let s = HS.sel h content in + assert (Seq.equal (Seq.replace_subseq s (v idx) (v idx + v length) (Seq.slice s (v idx) (v idx + v length))) s); + HS.lemma_heap_equality_upd_with_sel h (Buffer?.content b) + +#push-options "--z3rlimit 48" +let g_upd_seq_as_seq #a #_ #_ b s h = + let h' = g_upd_seq b s h in + if g_is_null b then assert (Seq.equal s Seq.empty) + else begin + assert (Seq.equal (as_seq h' b) s); + // prove modifies_1_preserves_ubuffers + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + s_lemma_equal_instances_implies_equal_types (); + modifies_1_modifies b h h' + end + +let g_upd_modifies_strong #_ #_ #_ b i v h = + let h' = g_upd b i v h in + // prove modifies_1_from_to_preserves_ubuffers + Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm (); + s_lemma_equal_instances_implies_equal_types (); + modifies_1_from_to_modifies b (U32.uint_to_t i) (U32.uint_to_t (i + 1)) h h' +#pop-options + +let upd' #_ #_ #_ b i v = + let open HST in + let h = get() in + let Buffer max_length content idx len = b in + let s0 = !content in + let sb0 = Seq.slice s0 (U32.v idx) (U32.v max_length) in + let s_upd = Seq.upd sb0 (U32.v i) v in + let sf = Seq.replace_subseq s0 (U32.v idx) (U32.v max_length) s_upd in + assert (sf `Seq.equal` + Seq.replace_subseq s0 (U32.v idx) (U32.v idx + U32.v len) (Seq.upd (as_seq h b) (U32.v i) v)); + content := sf + +let recallable (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot Type0 = + (not (g_is_null b)) ==> ( + HST.is_eternal_region (frameOf b) /\ + not (HS.is_mm (Buffer?.content b)) /\ + buffer_compatible b + ) + +let region_lifetime_buf #_ #_ #_ b = + (not (g_is_null b)) ==> ( + HS.is_heap_color (HS.color (frameOf b)) /\ + not (HS.is_mm (Buffer?.content b)) /\ + buffer_compatible b + ) + +let region_lifetime_sub #a #rrel #rel #subrel b0 b1 = + match b1 with + | Null -> () + | Buffer max_len content idx length -> + assert (forall (len:nat) (i:nat) (j:nat{i <= j /\ j <= len}). compatible_sub_preorder len rrel i j subrel) + +let recallable_null #_ #_ #_ = () + +let recallable_mgsub #_ #rrel #rel b i len sub_rel = + match b with + | Null -> () + | Buffer max_len content idx length -> + lemma_seq_sub_compatibility_is_transitive (U32.v max_len) rrel + (U32.v idx) (U32.v idx + U32.v length) rel + (U32.v i) (U32.v i + U32.v len) sub_rel + +(* +let recallable_includes #_ #_ #_ #_ #_ #_ larger smaller = + if Null? larger || Null? smaller then () + else + MG.loc_includes_aloc_elim #_ #cls #(frameOf larger) #(frameOf smaller) #(as_addr larger) #(as_addr smaller) (ubuffer_of_buffer larger) (ubuffer_of_buffer smaller) +*) + +let recall #_ #_ #_ b = if Null? b then () else HST.recall (Buffer?.content b) + +private let spred_as_mempred (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (p:spred a) + :HST.mem_predicate + = fun h -> + buffer_compatible b ==> + p (as_seq h b) + +let witnessed #_ #rrel #rel b p = + match b with + | Null -> p Seq.empty + | Buffer max_length content idx length -> + HST.token_p content (spred_as_mempred b p) + +private let lemma_stable_on_rel_is_stable_on_rrel (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (p:spred a) + :Lemma (requires (Buffer? b /\ stable_on p rel)) + (ensures (HST.stable_on (spred_as_mempred b p) (Buffer?.content b))) + = let Buffer max_length content idx length = b in + let mp = spred_as_mempred b p in + let aux (h0 h1:HS.mem) :Lemma ((mp h0 /\ rrel (HS.sel h0 content) (HS.sel h1 content)) ==> mp h1) + = Classical.arrow_to_impl #(mp h0 /\ rrel (HS.sel h0 content) (HS.sel h1 content) /\ buffer_compatible b) #(mp h1) + (fun _ -> assert (rel (as_seq h0 b) (as_seq h1 b))) + in + Classical.forall_intro_2 aux + +let witness_p #a #rrel #rel b p = + match b with + | Null -> () + | Buffer _ content _ _ -> + lemma_stable_on_rel_is_stable_on_rrel b p; + //AR: TODO: the proof doesn't go through without this assertion, which should follow directly from the lemma call + assert (HST.stable_on #(Seq.lseq a (U32.v (Buffer?.max_length b))) #(srel_to_lsrel (U32.v (Buffer?.max_length b)) rrel) (spred_as_mempred b p) (Buffer?.content b)); + HST.witness_p content (spred_as_mempred b p) + +let recall_p #_ #_ #_ b p = + match b with + | Null -> () + | Buffer _ content _ _ -> HST.recall_p content (spred_as_mempred b p) + +let witnessed_functorial #a #rrel #rel1 #rel2 b1 b2 i len s1 s2 = + match b1, b2 with + | Null, Null -> assert (as_seq HS.empty_mem b1 == Seq.empty) + | Buffer _ content _ _, _ -> + assert (forall (len:nat) (i:nat) (j:nat{i <= j /\ j <= len}). compatible_sub_preorder len rrel i j rel1); + HST.token_functoriality content (spred_as_mempred b1 s1) (spred_as_mempred b2 s2) + +let witnessed_functorial_st #a #rrel #rel1 #rel2 b1 b2 i len s1 s2 = + match b1, b2 with + | Null, Null -> () + | Buffer _ content _ _, _ -> + HST.token_functoriality content (spred_as_mempred b1 s1) (spred_as_mempred b2 s2) + +let freeable (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) = + (not (g_is_null b)) /\ + HS.is_mm (Buffer?.content b) /\ + HS.is_heap_color (HS.color (frameOf b)) /\ + U32.v (Buffer?.max_length b) > 0 /\ + Buffer?.idx b == 0ul /\ + Ghost.reveal (Buffer?.length b) == Buffer?.max_length b + +let free #_ #_ #_ b = HST.rfree (Buffer?.content b) + +let freeable_length #_ #_ #_ b = () + +let freeable_disjoint #_ #_ #_ #_ #_ #_ b1 b2 = + if frameOf b1 = frameOf b2 && as_addr b1 = as_addr b2 then + MG.loc_disjoint_aloc_elim #_ #cls #(frameOf b1) #(as_addr b1) #(frameOf b2) #(as_addr b2) (ubuffer_of_buffer b1) (ubuffer_of_buffer b2) + +let freeable_disjoint' (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) + :Lemma (requires (freeable b1 /\ length b2 > 0 /\ disjoint b1 b2)) + (ensures (loc_disjoint (loc_addr_of_buffer b1) (loc_addr_of_buffer b2))) + [SMTPat (freeable b1); SMTPat (disjoint b1 b2)] + = freeable_disjoint b1 b2 + +private let alloc_heap_common (#a:Type0) (#rrel:srel a) + (r:HST.erid) (len:U32.t{U32.v len > 0}) (s:Seq.seq a{Seq.length s == U32.v len}) + (mm:bool) + :HST.ST (lmbuffer a rrel rrel (U32.v len)) + (requires (fun _ -> True)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 s /\ + frameOf b == r /\ + HS.is_mm (Buffer?.content b) == mm /\ + Buffer?.idx b == 0ul /\ + Ghost.reveal (Buffer?.length b) == Buffer?.max_length b)) + = lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + if mm then HST.ralloc_mm r s else HST.ralloc r s + in + let b = Buffer len content 0ul (Ghost.hide len) in + b + +let mgcmalloc #_ #_ r init len = + alloc_heap_common r len (Seq.create (U32.v len) init) false + +private let read_sub_buffer (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (idx len:U32.t) + : HST.ST (Seq.seq a) + (requires fun h0 -> + live h0 b /\ U32.v len > 0 /\ + U32.v idx + U32.v len <= length b) + (ensures fun h0 s h1 -> + h0 == h1 /\ + s == Seq.slice (as_seq h0 b) (U32.v idx) (U32.v idx + U32.v len)) + = let open HST in + let s = ! (Buffer?.content b) in //the whole allocation unit + let s = Seq.slice s (U32.v (Buffer?.idx b)) + (U32.v (Buffer?.max_length b)) in //b buffer + Seq.slice s (U32.v idx) (U32.v idx + U32.v len) //slice of b + +let mgcmalloc_and_blit #_ #_ r #_ #_ src id_src len = + alloc_heap_common r len (read_sub_buffer src id_src len) false + +let mmalloc #_ #_ r init len = + alloc_heap_common r len (Seq.create (U32.v len) init) true + +let mmalloc_and_blit #_ #_ r #_ #_ src id_src len = + alloc_heap_common r len (read_sub_buffer src id_src len) true + +let malloca #a #rrel init len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.salloc (Seq.create (U32.v len) init) + in + Buffer len content 0ul (Ghost.hide len) + +let malloca_and_blit #a #rrel #_ #_ src id_src len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.salloc (read_sub_buffer src id_src len) + in + Buffer len content 0ul (Ghost.hide len) + +let malloca_of_list #a #rrel init = + let len = U32.uint_to_t (FStar.List.Tot.length init) in + let s = Seq.seq_of_list init in + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.salloc s + in + Buffer len content 0ul (Ghost.hide len) + +let mgcmalloc_of_list #a #rrel r init = + let len = U32.uint_to_t (FStar.List.Tot.length init) in + let s = Seq.seq_of_list init in + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.ralloc r s + in + Buffer len content 0ul (Ghost.hide len) + +let mmalloc_drgn #a #rrel d init len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content : HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.ralloc_drgn d (Seq.create (U32.v len) init) + in + Buffer len content 0ul len + +let mmalloc_drgn_mm #a #rrel d init len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content : HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.ralloc_drgn_mm d (Seq.create (U32.v len) init) + in + Buffer len content 0ul len + +let mmalloc_drgn_and_blit #a #rrel #_ #_ d src id_src len = + lemma_seq_sub_compatilibity_is_reflexive (U32.v len) rrel; + let content: HST.mreference (Seq.lseq a (U32.v len)) (srel_to_lsrel (U32.v len) rrel) = + HST.ralloc_drgn d (read_sub_buffer src id_src len) + in + Buffer len content 0ul len + +#push-options "--max_fuel 0 --initial_ifuel 1 --max_ifuel 1 --z3rlimit 128 --split_queries no" +#restart-solver +let blit #a #rrel1 #rrel2 #rel1 #rel2 src idx_src dst idx_dst len = + let open HST in + match src, dst with + | Buffer _ _ _ _, Buffer _ _ _ _ -> + if len = 0ul then () + else + let h = get () in + let Buffer max_length1 content1 idx1 length1 = src in + let Buffer max_length2 content2 idx2 length2 = dst in + let s_full1 = !content1 in + let s_full2 = !content2 in + let s1 = Seq.slice s_full1 (U32.v idx1) (U32.v max_length1) in + let s2 = Seq.slice s_full2 (U32.v idx2) (U32.v max_length2) in + let s_sub_src = Seq.slice s1 (U32.v idx_src) (U32.v idx_src + U32.v len) in + let s2' = Seq.replace_subseq s2 (U32.v idx_dst) (U32.v idx_dst + U32.v len) s_sub_src in + let s_full2' = Seq.replace_subseq s_full2 (U32.v idx2) (U32.v max_length2) s2' in + + assert (Seq.equal (Seq.slice s2' (U32.v idx_dst) (U32.v idx_dst + U32.v len)) s_sub_src); + assert (Seq.equal (Seq.slice s2' 0 (U32.v idx_dst)) (Seq.slice s2 0 (U32.v idx_dst))); + assert (Seq.equal (Seq.slice s2' (U32.v idx_dst + U32.v len) (length dst)) + (Seq.slice s2 (U32.v idx_dst + U32.v len) (length dst))); + + // AF: Needed to trigger the preorder relation. A bit verbose because the second sequence + // has a ghost computation (U32.v (Ghost.reveal length)) + assert (s_full2' `Seq.equal` + Seq.replace_subseq s_full2 + (U32.v idx2) + (U32.v idx2 + U32.v length2) + (Seq.replace_subseq (as_seq h dst) + (U32.v idx_dst) + (U32.v idx_dst + U32.v len) + (Seq.slice (as_seq h src) + (U32.v idx_src) + (U32.v idx_src + U32.v len) + ) + ) + ); + + content2 := s_full2'; + + let h1 = get () in + assert (s_full2' `Seq.equal` Seq.replace_subseq s_full2 (U32.v idx2) (U32.v idx2 + U32.v length2) (Seq.slice s2' 0 (U32.v length2))); + assert (h1 == g_upd_seq dst (Seq.slice s2' 0 (U32.v length2)) h); + g_upd_seq_as_seq dst (Seq.slice s2' 0 (U32.v length2)) h //for modifies clause + | _, _ -> () +#pop-options + +#restart-solver +#push-options "--z3rlimit 256 --max_fuel 0 --max_ifuel 1 --initial_ifuel 1 --z3cliopt smt.qi.EAGER_THRESHOLD=4" +let fill' (#t:Type) (#rrel #rel: srel t) + (b: mbuffer t rrel rel) + (z:t) + (len:U32.t) +: HST.Stack unit + (requires (fun h -> + live h b /\ + U32.v len <= length b /\ + rel (as_seq h b) (Seq.replace_subseq (as_seq h b) 0 (U32.v len) (Seq.create (U32.v len) z)) + )) + (ensures (fun h0 _ h1 -> + modifies (loc_buffer b) h0 h1 /\ + live h1 b /\ + Seq.slice (as_seq h1 b) 0 (U32.v len) `Seq.equal` Seq.create (U32.v len) z /\ + Seq.slice (as_seq h1 b) (U32.v len) (length b) `Seq.equal` Seq.slice (as_seq h0 b) (U32.v len) (length b) + )) += let open HST in + if len = 0ul then () + else begin + let h = get () in + let Buffer max_length content idx length = b in + let s_full = !content in + let s = Seq.slice s_full (U32.v idx) (U32.v max_length) in + let s_src = Seq.create (U32.v len) z in + let s' = Seq.replace_subseq s 0 (U32.v len) s_src in + let s_full' = Seq.replace_subseq s_full (U32.v idx) (U32.v idx + U32.v len) s_src in + // AF: Needed to trigger the preorder relation. A bit verbose because the second sequence + // has a ghost computation (U32.v (Ghost.reveal length)) + assert (s_full' `Seq.equal` Seq.replace_subseq s_full (U32.v idx) (U32.v idx + U32.v length) (Seq.replace_subseq (Seq.slice s_full (U32.v idx) (U32.v idx + U32.v length)) 0 (U32.v len) s_src)); + content := s_full'; + let h' = HST.get () in + assert (s_full' `Seq.equal` Seq.replace_subseq s_full (U32.v idx) (U32.v idx + U32.v length) (Seq.slice s' 0 (U32.v length))); + assert (h' == g_upd_seq b (Seq.slice s' 0 (U32.v length)) h); + g_upd_seq_as_seq b (Seq.slice s' 0 (U32.v length)) h //for modifies clause + end +#pop-options + +let fill #t #rrel #rel b z len = fill' b z len + +let abuffer' = ubuffer' + +let coerce (t2: Type) (#t1: Type) (x1: t1) : Pure t2 (requires (t1 == t2)) (ensures (fun y -> y == x1)) = x1 + +let cloc_cls = + assert_norm (MG.cls abuffer == MG.cls ubuffer); + coerce (MG.cls abuffer) cls + +let cloc_of_loc l = + assert_norm (MG.cls abuffer == MG.cls ubuffer); + coerce (MG.loc cloc_cls) l + +let loc_of_cloc l = + assert_norm (MG.cls abuffer == MG.cls ubuffer); + coerce loc l + +let loc_of_cloc_of_loc l = () + +let cloc_of_loc_of_cloc l = () + +let cloc_of_loc_none _ = () + +let cloc_of_loc_union _ _ = () + +let cloc_of_loc_addresses _ _ _ = () + +let cloc_of_loc_regions _ _ = () + +let loc_includes_to_cloc l1 l2 = () + +let loc_disjoint_to_cloc l1 l2 = () + +let modifies_to_cloc l h1 h2 = () diff --git a/stage0/ulib/LowStar.Monotonic.Buffer.fsti b/stage0/ulib/LowStar.Monotonic.Buffer.fsti new file mode 100644 index 00000000000..94e6961fe21 --- /dev/null +++ b/stage0/ulib/LowStar.Monotonic.Buffer.fsti @@ -0,0 +1,2348 @@ +(* + 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 LowStar.Monotonic.Buffer + +module G = FStar.Ghost +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(* Most comments are taken from the Low* tutorial at: + https://fstarlang.github.io/lowstar/html/LowStar.html + *) + +(* Shorthand for preorder over sequences *) +unfold let srel (a:Type0) = Preorder.preorder (Seq.seq a) + +(* + * A compatibility relation between preorders of a sequence and its subsequence + *) +[@@"opaque_to_smt"] +unfold +let compatible_subseq_preorder (#a:Type0) + (len:nat) (rel:srel a) (i:nat) (j:nat{i <= j /\ j <= len}) (sub_rel:srel a) + = (forall (s1 s2:Seq.seq a). {:pattern (rel s1 s2); (sub_rel (Seq.slice s1 i j) (Seq.slice s2 i j))} //for any two sequences s1 and s2 + (Seq.length s1 == len /\ Seq.length s2 == len /\ rel s1 s2) ==> //of length len, and related by rel + (sub_rel (Seq.slice s1 i j) (Seq.slice s2 i j))) /\ //their slices [i, j) are related by sub_rel + (forall (s s2:Seq.seq a). {:pattern (sub_rel (Seq.slice s i j) s2); (rel s (Seq.replace_subseq s i j s2))} //for any two sequences s and s2 + (Seq.length s == len /\ Seq.length s2 == j - i /\ sub_rel (Seq.slice s i j) s2) ==> //such that s has length len and s2 has length (j - i), and the slice [i, j) of s is related to s2 by sub_rel + (rel s (Seq.replace_subseq s i j s2))) //if we replace the slice [i, j) in s by s2, then s and the resulting buffer are related by rel + + +/// Low* buffers +/// ============== +/// +/// The workhorse of Low*, this module allows modeling C arrays on the +/// stack and in the heap. At compilation time, KaRaMeL implements +/// buffers using C arrays, i.e. if Low* type ``t`` is translated into C +/// type ``u``, then Low* type ``buffer t`` is translated to C type ``u*``. +/// +/// The type is indexed by two preorders: +/// rrel is the preorder with which the buffer is initially created +/// rel is the preorder of the current buffer (which could be a sub-buffer of the original one) +/// +/// The buffer contents are constrained to evolve according to rel + +(* + * rrel is part of the type for technical reasons + * If we make it part of the implementation of the buffer type, + * it bumps up the universe of buffer itself by one, + * which is too restrictive (e.g. no buffers of buffers) + * + * We expect that clients will rarely work with this directly + * Most of the times, they will use wrappers such as buffer, immutable buffer etc. + *) +val mbuffer (a:Type0) (rrel rel:srel a) :Tot Type0 + +/// The C ``NULL`` pointer is represented as the Low* ``null`` buffer. For +/// any given type, there is exactly one ``null`` buffer of this type, +/// just like there is exactly one C ``NULL`` pointer of any given type. +/// +/// The nullity test ``g_is_null`` is ghost, for proof purposes +/// only. The corresponding stateful nullity test is ``is_null``, see +/// below. + +(* FIXME: The nullity test for proof purposes is currently expressed + as a ghost predicate, `g_is_null`, but it is scheduled to be + replaced with equality with `null` *) + +val g_is_null (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot bool + +val mnull (#a:Type0) (#rrel #rel:srel a) :Tot (b:mbuffer a rrel rel {g_is_null b}) + +val null_unique (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :Lemma (g_is_null b <==> b == mnull) + +/// ``unused_in b h`` holds only if buffer ``b`` has not been allocated +/// yet. + +val unused_in (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem) :GTot Type0 + + +/// ``live h b`` holds if, and only if, buffer ``b`` is currently +/// allocated in ``h`` and has not been deallocated yet. +/// +/// This predicate corresponds to the C notion of "lifetime", and as +/// such, is a prerequisite for all stateful operations on buffers +/// (see below), per the C standard: +/// +/// If an object is referred to outside of its lifetime, the +/// behavior is undefined. +/// +/// -- ISO/IEC 9899:2011, Section 6.2.4 paragraph 2 +/// +/// By contrast, it is not required for the ghost versions of those +/// operators. + +val live (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) :GTot Type0 + + +/// The null pointer is always live. + +val live_null (a:Type0) (rrel rel:srel a) (h:HS.mem) :Lemma (live h (mnull #a #rrel #rel)) + +val live_is_null (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (g_is_null b == true)) + (ensures (live h b)) + [SMTPat (live h b)] + +/// A live buffer has already been allocated. + +val live_not_unused_in (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (live h b /\ b `unused_in` h)) (ensures False) + + +/// If two memories have equal domains, then liveness in one implies liveness in the other + +val lemma_live_equal_mem_domains (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h0 h1:HS.mem) + :Lemma (requires (HST.equal_domains h0 h1 /\ live h0 b)) + (ensures (live h1 b)) + [SMTPat (HST.equal_domains h0 h1); SMTPat (live h1 b)] + + +(* FIXME: the following definition is necessary to isolate the pattern + because of unification. In other words, if we attached the pattern + to `live_not_unused_in`, then we would not be able to use + `FStar.Classical.forall_intro_`n and + `FStar.Classical.move_requires` due to unification issues. Anyway, + we plan to isolate patterns in a separate module to clean up the Z3 + context. + *) + +val live_not_unused_in' (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (live h b /\ b `unused_in` h)) + (ensures False) + [SMTPat (live h b); SMTPat (b `unused_in` h)] + + +/// Buffers live in the HyperStack model, which is an extension of +/// the HyperHeap model, a hierarchical memory model that divides the +/// heap into a tree of regions. This coarse-grained separation +/// allows the programmer to state modifies clauses at the level of +/// regions, rather than on individual buffers. +/// +/// The HyperHeap memory model is described: +/// - in the 2016 POPL paper: https://www.fstar-lang.org/papers/mumon/ +/// - in the relevant section of the F* tutorial: http://www.fstar-lang.org/tutorial/ +/// +/// ``frameOf b`` returns the identifier of the region in which the +/// buffer ``b`` lives. + +val frameOf (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :Tot HS.rid + + +/// ``as_addr b`` returns the abstract address of the buffer in its +/// region, as an allocation unit: two buffers that are allocated +/// separately in the same region will actually have different +/// addresses, but a sub-buffer of a buffer will actually have the +/// same address as its enclosing buffer. + +val as_addr (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot nat + + +/// A buffer is unused if, and only if, its address is unused. + +val unused_in_equiv (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem) + :Lemma (unused_in b h <==> + (HS.live_region h (frameOf b) ==> as_addr b `Heap.addr_unused_in` (Map.sel (HS.get_hmap h) (frameOf b)))) + + +/// If a buffer is live, then so is its region. + +val live_region_frameOf (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (requires (live h b)) + (ensures (HS.live_region h (frameOf b))) + [SMTPatOr [ + [SMTPat (live h b)]; + [SMTPat (HS.live_region h (frameOf b))]; + ]] + + +/// The length of a buffer ``b`` is available as a machine integer ``len +/// b`` or as a mathematical integer ``length b``, but both in ghost +/// (proof) code only: just like in C, one cannot compute the length +/// of a buffer at run-time. + +val len (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot U32.t + +let length (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot nat = U32.v (len b) + + +/// The null pointer has length 0. + +val len_null (a:Type0) (rrel rel:srel a) :Lemma (len (mnull #a #rrel #rel) == 0ul) + +val length_null_1 (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (requires (length b =!= 0)) (ensures (g_is_null b == false)) + [SMTPat (length b)] + +val length_null_2 (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (requires (g_is_null b == true)) (ensures (length b == 0)) + [SMTPat (g_is_null b)] + + +/// For functional correctness, buffers are reflected at the proof +/// level using sequences, via ``as_seq b h``, which returns the +/// contents of a given buffer ``b`` in a given heap ``h``. If ``b`` is not +/// live in ``h``, then the result is unspecified. + +(* TODO: why not return a lseq and remove length_as_seq lemma? *) +val as_seq (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) :GTot (Seq.seq a) + + +/// The contents of a buffer ``b`` has the same length as ``b`` itself. + +val length_as_seq (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (b:mbuffer a rrel rel) + :Lemma (Seq.length (as_seq h b) == length b) + [SMTPat (Seq.length (as_seq h b))] + + +/// ``get`` is an often-convenient shorthand to index the value of a +/// given buffer in a given heap, for proof purposes. + + +let get (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (p:mbuffer a rrel rel) (i:nat) + :Ghost a (requires (i < length p)) (ensures (fun _ -> True)) + = Seq.index (as_seq h p) i + +/// Injectivity in the first preorder + +val mbuffer_injectivity_in_first_preorder (_:unit) + : Lemma (forall (a:Type0) (rrel1 rrel2 rel1 rel2:srel a) + (b1:mbuffer a rrel1 rel1) + (b2:mbuffer a rrel2 rel2). + rrel1 =!= rrel2 ==> ~ (b1 === b2)) + +/// Before defining sub-buffer related API, we need to define the notion of "compatibility" +/// +/// +/// Sub-buffers can be taken at a different preorder than their parent buffers +/// But we need to ensure that the changes to the sub-buffer are compatible with the preorder +/// of the parent buffer, and vice versa. + +(* + * The quantifiers are fiercely guarded, so if you are working directly with them, + * you may have to write additional asserts as triggers + *) +[@@"opaque_to_smt"] +unfold let compatible_sub + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t{U32.v i + U32.v len <= length b}) (sub_rel:srel a) + = compatible_subseq_preorder (length b) rel (U32.v i) (U32.v i + U32.v len) sub_rel + + +/// ``gsub`` is the way to carve a sub-buffer out of a given +/// buffer. ``gsub b i len`` return the sub-buffer of ``b`` starting from +/// offset ``i`` within ``b``, and with length ``len``. Of course ``i`` and +/// ``len`` must fit within the length of ``b``. +/// +/// Further the clients can attach a preorder with the subbuffer (sub_rel), +/// provided it is compatible +/// +/// ``gsub`` is the ghost version, for proof purposes. Its stateful +/// counterpart is ``sub``, see below. + +val mgsub (#a:Type0) (#rrel #rel:srel a) (sub_rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) + :Ghost (mbuffer a rrel sub_rel) + (requires (U32.v i + U32.v len <= length b)) + (ensures (fun _ -> True)) + +// goffset + +/// A buffer is live exactly at the same time as all of its sub-buffers. + +val live_gsub (#a:Type0) (#rrel #rel:srel a) + (h:HS.mem) (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b /\ compatible_sub b i len sub_rel)) + (ensures (live h b <==> (live h (mgsub sub_rel b i len) /\ (exists h0 . {:pattern (live h0 b)} live h0 b)))) + [SMTPatOr [ + [SMTPat (live h (mgsub sub_rel b i len))]; + [SMTPat (live h b); SMTPat (mgsub sub_rel b i len);] + ]] + + +val gsub_is_null (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b)) + (ensures (g_is_null (mgsub sub_rel b i len) <==> g_is_null b)) + [SMTPat (g_is_null (mgsub sub_rel b i len))] + + +/// The length of a sub-buffer is exactly the one provided at ``gsub``. + + +val len_gsub (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len':U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len' <= length b)) + (ensures (len (mgsub sub_rel b i len') == len')) + [SMTPatOr [ + [SMTPat (len (mgsub sub_rel b i len'))]; + [SMTPat (length (mgsub sub_rel b i len'))]; + ]] + + +val frameOf_gsub (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b)) + (ensures (frameOf (mgsub sub_rel b i len) == frameOf b)) + [SMTPat (frameOf (mgsub sub_rel b i len))] + +val as_addr_gsub (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b)) + (ensures (as_addr (mgsub sub_rel b i len) == as_addr b)) + [SMTPat (as_addr (mgsub sub_rel b i len))] + +val mgsub_inj (#a:Type0) (#rrel #rel:srel a) (sub_rel1 sub_rel2:srel a) + (b1 b2:mbuffer a rrel rel) + (i1 i2:U32.t) + (len1 len2:U32.t) + :Lemma (requires (U32.v i1 + U32.v len1 <= length b1 /\ + U32.v i2 + U32.v len2 <= length b2 /\ + mgsub sub_rel1 b1 i1 len1 === mgsub sub_rel2 b2 i2 len2)) + (ensures (len1 == len2 /\ (b1 == b2 ==> i1 == i2) /\ ((i1 == i2 /\ length b1 == length b2) ==> b1 == b2))) + + +/// Nesting two ``gsub`` collapses into one ``gsub``, transitively. + +val gsub_gsub (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (i1:U32.t) (len1:U32.t) (sub_rel1:srel a) + (i2: U32.t) (len2: U32.t) (sub_rel2:srel a) + :Lemma (requires (U32.v i1 + U32.v len1 <= length b /\ + U32.v i2 + U32.v len2 <= U32.v len1)) + (ensures (((compatible_sub b i1 len1 sub_rel1 /\ compatible_sub (mgsub sub_rel1 b i1 len1) i2 len2 sub_rel2) ==> compatible_sub b (U32.add i1 i2) len2 sub_rel2) /\ + mgsub sub_rel2 (mgsub sub_rel1 b i1 len1) i2 len2 == mgsub sub_rel2 b (U32.add i1 i2) len2)) + [SMTPat (mgsub sub_rel2 (mgsub sub_rel1 b i1 len1) i2 len2)] + + +/// A buffer ``b`` is equal to its "largest" sub-buffer, at index 0 and +/// length ``len b``. + +val gsub_zero_length (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (compatible_sub b 0ul (len b) rel /\ b == mgsub rel b 0ul (len b)) + + +/// The contents of a sub-buffer is the corresponding slice of the +/// contents of its enclosing buffer. + +val as_seq_gsub (#a:Type0) (#rrel #rel:srel a) + (h:HS.mem) (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b)) + (ensures (as_seq h (mgsub sub_rel b i len) == Seq.slice (as_seq h b) (U32.v i) (U32.v i + U32.v len))) + [SMTPat (as_seq h (mgsub sub_rel b i len))] + +/// Two live non-null buffers having the same region and address have +/// their elements of the same type. + +val live_same_addresses_equal_types_and_preorders + (#a1 #a2: Type0) + (#rrel1 #rel1: srel a1) + (#rrel2 #rel2: srel a2) + (b1: mbuffer a1 rrel1 rel1) + (b2: mbuffer a2 rrel2 rel2) + (h: HS.mem) +: Lemma + ((frameOf b1 == frameOf b2 /\ as_addr b1 == as_addr b2 /\ live h b1 /\ live h b2 /\ (~ (g_is_null b1 /\ g_is_null b2))) ==> (a1 == a2 /\ rrel1 == rrel2)) + + +/// # The modifies clause +/// +/// The modifies clause for regions, references and buffers. +/// ========================================================== +/// +/// This module presents the modifies clause, a way to track the set +/// of memory locations modified by a stateful Low* (or even F*) +/// program. The basic principle of modifies clauses is that any +/// location that is disjoint from a set of memory locations modified +/// by an operation is preserved by that operation. +/// +/// We start by specifying a monoid of sets of memory locations. From +/// a rough high-level view, ``loc`` is the type of sets of memory +/// locations, equipped with an identity element ``loc_none``, +/// representing the empty set, and an associative and commutative +/// operator, ``loc_union``, representing the union of two sets of +/// memory locations. +/// +/// Moreover, ``loc_union`` is idempotent, which is useful to cut SMT +/// matching loops with ``modifies_trans`` and ``modifies_refl`` below. + +[@@erasable] +val loc : Type0 + +val loc_none: loc + +val loc_union + (s1 s2: loc) +: GTot loc + +val loc_union_idem + (s: loc) +: Lemma + (loc_union s s == s) + [SMTPat (loc_union s s)] + +val loc_union_comm + (s1 s2: loc) +: Lemma + (loc_union s1 s2 == loc_union s2 s1) + [SMTPat (loc_union s1 s2)] + +val loc_union_assoc + (s1 s2 s3: loc) +: Lemma + (loc_union s1 (loc_union s2 s3) == loc_union (loc_union s1 s2) s3) + +val loc_union_idem_1 + (s1 s2: loc) +: Lemma + (loc_union s1 (loc_union s1 s2) == loc_union s1 s2) + [SMTPat (loc_union s1 (loc_union s1 s2))] + +val loc_union_idem_2 + (s1 s2: loc) +: Lemma + (loc_union (loc_union s1 s2) s2 == loc_union s1 s2) + [SMTPat (loc_union (loc_union s1 s2) s2)] + +val loc_union_loc_none_l + (s: loc) +: Lemma + (loc_union loc_none s == s) + [SMTPat (loc_union loc_none s)] + +val loc_union_loc_none_r + (s: loc) +: Lemma + (loc_union s loc_none == s) + [SMTPat (loc_union s loc_none)] + +/// ``loc_buffer b`` is the set of memory locations associated to a buffer ``b``. + +val loc_buffer_from_to (#a:Type0) (#rrel #rel:srel a) (b: mbuffer a rrel rel) (from to: U32.t) : GTot loc + +val loc_buffer (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot loc + +val loc_buffer_eq (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) : Lemma + (loc_buffer b == loc_buffer_from_to b 0ul (len b)) + +val loc_buffer_from_to_high (#a: Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (from to: U32.t) +: Lemma + (requires (length b <= U32.v to)) + (ensures (loc_buffer_from_to b from to == loc_buffer_from_to b from (len b))) + +val loc_buffer_from_to_none (#a: Type) (#rrel #rel: srel a) (b: mbuffer a rrel rel) (from to: U32.t) +: Lemma + (requires (g_is_null b \/ length b < U32.v from \/ U32.v to < U32.v from)) + (ensures (loc_buffer_from_to b from to == loc_none)) + +val loc_buffer_from_to_mgsub (#a:Type0) (#rrel #rel:srel a) (sub_rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) + (from to: U32.t) +: Lemma + (requires ( + U32.v i + U32.v len <= length b /\ + U32.v from <= U32.v to /\ U32.v to <= U32.v len + )) + (ensures ( + loc_buffer_from_to (mgsub sub_rel b i len) from to == loc_buffer_from_to b (i `U32.add` from) (i `U32.add` to) + )) + +val loc_buffer_mgsub_eq (#a:Type0) (#rrel #rel:srel a) (sub_rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) + :Lemma + (requires (U32.v i + U32.v len <= length b)) + (ensures (loc_buffer (mgsub sub_rel b i len) == loc_buffer_from_to b i (i `U32.add` len))) + +val loc_buffer_null (a:Type0) (rrel rel:srel a) + :Lemma (loc_buffer (mnull #a #rrel #rel) == loc_none) + [SMTPat (loc_buffer (mnull #a #rrel #rel))] + +val loc_buffer_from_to_eq + (#a:Type0) (#rrel #rel:srel a) + (b: mbuffer a rrel rel) + (from to: U32.t) +: Lemma + (requires (U32.v from <= U32.v to /\ U32.v to <= length b)) + (ensures (loc_buffer_from_to b from to == loc_buffer (mgsub rel b from (to `U32.sub` from)))) + [SMTPat (loc_buffer_from_to b from to)] + +val loc_buffer_mgsub_rel_eq + (#a:Type0) (#rrel #rel:srel a) + (b: mbuffer a rrel rel) + (rel1 rel2: srel a) + (i len: U32.t) +: Lemma + (requires (U32.v i + U32.v len <= length b)) + (ensures (loc_buffer (mgsub rel1 b i len) == loc_buffer (mgsub rel2 b i len))) + [SMTPat (loc_buffer (mgsub rel1 b i len)); SMTPat (loc_buffer (mgsub rel2 b i len))] + + +/// ``loc_addresses r n`` is the set of memory locations associated to a +/// set of addresses ``n`` in a given region ``r``. + +val loc_addresses + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: GTot loc + +unfold let loc_addr_of_buffer (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot loc = + loc_addresses false (frameOf b) (Set.singleton (as_addr b)) + +/// ``loc_regions r`` is the set of memory locations associated to a set +/// ``r`` of regions. + +val loc_regions + (preserve_liveness: bool) + (r: Set.set HS.rid) +: GTot loc + + +/// ``loc_mreference b`` is the set of memory locations associated to a +/// reference ``b``, which is actually the set of memory locations +/// associated to the address of ``b``. + +unfold +let loc_mreference + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot loc += loc_addresses true (HS.frameOf b) (Set.singleton (HS.as_addr b)) + +unfold +let loc_freed_mreference + (#a: Type) + (#p: Preorder.preorder a) + (b: HS.mreference a p) +: GTot loc += loc_addresses false (HS.frameOf b) (Set.singleton (HS.as_addr b)) + + +/// ``loc_region_only r`` is the set of memory locations associated to a +/// region ``r`` but not any region ``r'`` that extends ``r`` (in the sense +/// of ``FStar.HyperStack.extends``.) + +unfold +let loc_region_only + (preserve_liveness: bool) + (r: HS.rid) +: GTot loc += loc_regions preserve_liveness (Set.singleton r) + + +/// ``loc_all_regions_from r`` is the set of all memory locations +/// associated to a region ``r`` and any region ``r'`` that transitively +/// extends ``r`` (in the sense of ``FStar.HyperStack.extends``, +/// e.g. nested stack frames.) + +unfold +let loc_all_regions_from + (preserve_liveness: bool) + (r: HS.rid) +: GTot loc += loc_regions preserve_liveness (HS.mod_set (Set.singleton r)) + + +/// We equip the ``loc`` monoid of sets of memory locations with an +/// inclusion relation, ``loc_includes``, which is a preorder compatible +/// with ``loc_union``. Although we consider sets of memory locations, +/// we do not specify them using any F* set library such as +/// ``FStar.Set``, ``FStar.TSet`` or ``FStar.GSet``, because ``loc_includes`` +/// encompasses more than just set-theoretic inclusion. + +val loc_includes + (s1 s2: loc) +: GTot Type0 + +val loc_includes_refl + (s: loc) +: Lemma + (loc_includes s s) + [SMTPat (loc_includes s s)] + +val loc_includes_trans + (s1 s2 s3: loc) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + +val loc_includes_trans_backwards + (s1 s2 s3: loc) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + [SMTPat (loc_includes s1 s3); SMTPat (loc_includes s2 s3)] + +val loc_includes_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_includes s s1 /\ loc_includes s s2)) + (ensures (loc_includes s (loc_union s1 s2))) + +val loc_includes_union_l + (s1 s2 s: loc) +: Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + + +val loc_includes_union_l' + (s1 s2 s: loc) + : Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + [SMTPat (loc_includes (loc_union s1 s2) s)] + +val loc_includes_union_r' + (s s1 s2: loc) +: Lemma + (loc_includes s (loc_union s1 s2) <==> (loc_includes s s1 /\ loc_includes s s2)) + [SMTPat (loc_includes s (loc_union s1 s2))] + +val loc_includes_none + (s: loc) +: Lemma + (loc_includes s loc_none) + [SMTPat (loc_includes s loc_none)] + + +/// If a buffer ``b1`` includes a buffer ``b2`` in the sense of the buffer +/// theory (see ``LowStar.Buffer.includes``), then so are their +/// corresponding sets of memory locations. + +val loc_includes_gsub_buffer_r + (l:loc) + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:UInt32.t) (len:UInt32.t) (sub_rel:srel a) +: Lemma (requires (UInt32.v i + UInt32.v len <= (length b) /\ + loc_includes l (loc_buffer b))) + (ensures (loc_includes l (loc_buffer (mgsub sub_rel b i len)))) + [SMTPat (loc_includes l (loc_buffer (mgsub sub_rel b i len)))] + +val loc_includes_gsub_buffer_r' (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:UInt32.t) (len:UInt32.t) (sub_rel:srel a) + :Lemma (requires (UInt32.v i + UInt32.v len <= (length b))) + (ensures (loc_includes (loc_buffer b) (loc_buffer (mgsub sub_rel b i len)))) + [SMTPat (mgsub sub_rel b i len)] + +val loc_includes_gsub_buffer_l (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + (i1:UInt32.t) (len1:UInt32.t) (sub_rel1:srel a) + (i2:UInt32.t) (len2:UInt32.t) (sub_rel2:srel a) + :Lemma (requires (UInt32.v i1 + UInt32.v len1 <= (length b) /\ + UInt32.v i1 <= UInt32.v i2 /\ UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1 + )) + (ensures (loc_includes (loc_buffer (mgsub sub_rel1 b i1 len1)) (loc_buffer (mgsub sub_rel2 b i2 len2)))) + [SMTPat (mgsub sub_rel1 b i1 len1); SMTPat (mgsub sub_rel2 b i2 len2)] + +val loc_includes_loc_buffer_loc_buffer_from_to + (#a: _) (#rrel #rel: _) + (b: mbuffer a rrel rel) + (from to: U32.t) +: Lemma + (loc_includes (loc_buffer b) (loc_buffer_from_to b from to)) + +val loc_includes_loc_buffer_from_to + (#a: _) (#rrel #rel: _) + (b: mbuffer a rrel rel) + (from1 to1 from2 to2: U32.t) +: Lemma + (requires (U32.v from1 <= U32.v from2 /\ U32.v to2 <= U32.v to1)) + (ensures (loc_includes (loc_buffer_from_to b from1 to1) (loc_buffer_from_to b from2 to2))) + +/// If the contents of a buffer are equal in two given heaps, then so +/// are the contents of any of its sub-buffers. + +val loc_includes_as_seq (#a:Type0) (#rrel #rel1 #rel2:srel a) + (h1 h2:HS.mem) (larger:mbuffer a rrel rel1) (smaller:mbuffer a rrel rel2) + :Lemma (requires (loc_includes (loc_buffer larger) (loc_buffer smaller) /\ + as_seq h1 larger == as_seq h2 larger /\ + (live h1 larger \/ live h1 smaller) /\ (live h2 larger \/ live h2 smaller))) + (ensures (as_seq h1 smaller == as_seq h2 smaller)) + +/// Given a buffer ``b``, if its address is in a set ``s`` of addresses in +/// the region of ``b``, then the set of memory locations corresponding +/// to ``b`` is included in the set of memory locations corresponding to +/// the addresses in ``s`` in region ``r``. +/// +/// In particular, the set of memory locations corresponding to a +/// buffer is included in the set of memory locations corresponding to +/// its region and address. + +val loc_includes_addresses_buffer (#a:Type0) (#rrel #rel:srel a) + (preserve_liveness:bool) (r:HS.rid) (s:Set.set nat) (p:mbuffer a rrel rel) + :Lemma (requires (frameOf p == r /\ Set.mem (as_addr p) s)) + (ensures (loc_includes (loc_addresses preserve_liveness r s) (loc_buffer p))) + [SMTPat (loc_includes (loc_addresses preserve_liveness r s) (loc_buffer p))] + +val loc_includes_addresses_buffer' (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (loc_includes (loc_addresses true (frameOf b) (Set.singleton (as_addr b))) (loc_buffer b)) + [SMTPat (loc_buffer b)] + + +/// The set of memory locations corresponding to a buffer is included +/// in the set of memory locations corresponding to its region. + +val loc_includes_region_buffer (#a:Type0) (#rrel #rel:srel a) + (preserve_liveness:bool) (s:Set.set HS.rid) (b:mbuffer a rrel rel) + :Lemma (requires (Set.mem (frameOf b) s)) + (ensures (loc_includes (loc_regions preserve_liveness s) (loc_buffer b))) + [SMTPat (loc_includes (loc_regions preserve_liveness s) (loc_buffer b))] + +val loc_includes_region_buffer' (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (loc_includes (loc_regions true (Set.singleton (frameOf b))) (loc_buffer b)) + [SMTPat (loc_buffer b)] + + +/// If a region ``r`` is in a set of regions ``s``, then the set of memory +/// locations corresponding to a set of addresses ``a`` in ``r`` is +/// included in the set of memory locations corresponding to the +/// regions in ``s``. +/// +/// In particular, the the set of memory locations corresponding to a +/// set of addresses ``a`` in a given region ``r`` is included in the set +/// of memory locations corresponding to region ``r``. + +val loc_includes_region_addresses + (preserve_liveness1: bool) + (preserve_liveness2: bool) + (s: Set.set HS.rid) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (Set.mem r s)) + (ensures (loc_includes (loc_regions preserve_liveness1 s) (loc_addresses preserve_liveness2 r a))) + [SMTPat (loc_includes (loc_regions preserve_liveness1 s) (loc_addresses preserve_liveness2 r a))] + +val loc_includes_region_addresses' + (preserve_liveness: bool) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (loc_includes (loc_regions true (Set.singleton r)) (loc_addresses preserve_liveness r a)) + [SMTPat (loc_addresses preserve_liveness r a)] + +/// If a set of region identifiers ``s1`` includes a set of region +/// identifiers ``s2``, then so are their corresponding sets of memory +/// locations. + +val loc_includes_region_region + (preserve_liveness1: bool) + (preserve_liveness2: bool) + (s1 s2: Set.set HS.rid) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_regions preserve_liveness1 s1) (loc_regions preserve_liveness2 s2))) + [SMTPat (loc_includes (loc_regions preserve_liveness1 s1) (loc_regions preserve_liveness2 s2))] + +val loc_includes_region_region' + (preserve_liveness: bool) + (s: Set.set HS.rid) +: Lemma + (loc_includes (loc_regions false s) (loc_regions preserve_liveness s)) + [SMTPat (loc_regions preserve_liveness s)] + +/// The following lemma can act as a cut when reasoning with sets of +/// memory locations corresponding to sets of regions. + +val loc_includes_region_union_l + (preserve_liveness: bool) + (l: loc) + (s1 s2: Set.set HS.rid) +: Lemma + (requires (loc_includes l (loc_regions preserve_liveness (Set.intersect s2 (Set.complement s1))))) + (ensures (loc_includes (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness s2))) + [SMTPat (loc_includes (loc_union (loc_regions preserve_liveness s1) l) (loc_regions preserve_liveness s2))] + + +/// If a set of addresses ``s1`` includes a set of addresses ``s2``, +/// then so are their corresponding memory locations +val loc_includes_addresses_addresses + (preserve_liveness1 preserve_liveness2: bool) + (r: HS.rid) + (s1 s2: Set.set nat) +: Lemma + (requires ((preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_addresses preserve_liveness1 r s1) (loc_addresses preserve_liveness2 r s2))) + +val loc_includes_addresses_addresses_1 + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (s1 s2: Set.set nat) +: Lemma + (requires (r1 == r2 /\ (preserve_liveness1 ==> preserve_liveness2) /\ Set.subset s2 s1)) + (ensures (loc_includes (loc_addresses preserve_liveness1 r1 s1) (loc_addresses preserve_liveness2 r2 s2))) + [SMTPat (loc_includes (loc_addresses preserve_liveness1 r1 s1) (loc_addresses preserve_liveness2 r2 s2))] + +val loc_includes_addresses_addresses_2 + (preserve_liveness: bool) + (r: HS.rid) + (s: Set.set nat) +: Lemma + (loc_includes (loc_addresses false r s) (loc_addresses preserve_liveness r s)) + [SMTPat (loc_addresses preserve_liveness r s)] + +/// Patterns with loc_includes, union on the left + +val loc_includes_union_l_buffer + (s1 s2:loc) + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + :Lemma (requires (loc_includes s1 (loc_buffer b) \/ loc_includes s2 (loc_buffer b))) + (ensures (loc_includes (loc_union s1 s2) (loc_buffer b))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_buffer b))] + +val loc_includes_union_l_addresses + (s1 s2: loc) + (prf: bool) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (loc_includes s1 (loc_addresses prf r a) \/ loc_includes s2 (loc_addresses prf r a))) + (ensures (loc_includes (loc_union s1 s2) (loc_addresses prf r a))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_addresses prf r a))] + +val loc_includes_union_l_regions + (s1 s2: loc) + (prf: bool) + (r: Set.set HS.rid) +: Lemma + (requires (loc_includes s1 (loc_regions prf r) \/ loc_includes s2 (loc_regions prf r))) + (ensures (loc_includes (loc_union s1 s2) (loc_regions prf r))) + [SMTPat (loc_includes (loc_union s1 s2) (loc_regions prf r))] + +/// Since inclusion encompasses more than just set-theoretic +/// inclusion, we also need to specify disjointness accordingly, as a +/// symmetric relation compatible with union. + +val loc_disjoint + (s1 s2: loc) +: GTot Type0 + +val loc_disjoint_sym + (s1 s2: loc) +: Lemma + (requires (loc_disjoint s1 s2)) + (ensures (loc_disjoint s2 s1)) + +val loc_disjoint_sym' + (s1 s2: loc) +: Lemma + (loc_disjoint s1 s2 <==> loc_disjoint s2 s1) + [SMTPat (loc_disjoint s1 s2)] + +val loc_disjoint_none_r + (s: loc) +: Lemma + (ensures (loc_disjoint s loc_none)) + [SMTPat (loc_disjoint s loc_none)] + +val loc_disjoint_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_disjoint s s1 /\ loc_disjoint s s2)) + (ensures (loc_disjoint s (loc_union s1 s2))) + + +/// If two sets of memory locations are disjoint, then so are any two +/// included sets of memory locations. + +val loc_disjoint_includes + (p1 p2 p1' p2' : loc) +: Lemma + (requires (loc_includes p1 p1' /\ loc_includes p2 p2' /\ loc_disjoint p1 p2)) + (ensures (loc_disjoint p1' p2')) + +val loc_disjoint_union_r' + (s s1 s2: loc) +: Lemma + (ensures (loc_disjoint s (loc_union s1 s2) <==> (loc_disjoint s s1 /\ loc_disjoint s s2))) + [SMTPat (loc_disjoint s (loc_union s1 s2))] + +val loc_disjoint_includes_r (b1 : loc) (b2 b2': loc) : Lemma + (requires (loc_includes b2 b2' /\ loc_disjoint b1 b2)) + (ensures (loc_disjoint b1 b2')) + [SMTPat (loc_disjoint b1 b2'); SMTPat (loc_includes b2 b2')] + +val loc_disjoint_gsub_buffer (#a:Type0) (#rrel:srel a) (#rel:srel a) + (b:mbuffer a rrel rel) + (i1:UInt32.t) (len1:UInt32.t) (sub_rel1:srel a) + (i2:UInt32.t) (len2:UInt32.t) (sub_rel2:srel a) + :Lemma (requires (UInt32.v i1 + UInt32.v len1 <= (length b) /\ + UInt32.v i2 + UInt32.v len2 <= (length b) /\ + (UInt32.v i1 + UInt32.v len1 <= UInt32.v i2 \/ + UInt32.v i2 + UInt32.v len2 <= UInt32.v i1))) + (ensures (loc_disjoint (loc_buffer (mgsub sub_rel1 b i1 len1)) (loc_buffer (mgsub sub_rel2 b i2 len2)))) + [SMTPat (mgsub sub_rel1 b i1 len1); SMTPat (mgsub sub_rel2 b i2 len2)] + +val loc_disjoint_loc_buffer_from_to + (#a: _) (#rrel #rel: _) + (b: mbuffer a rrel rel) + (from1 to1 from2 to2: U32.t) +: Lemma + (requires (U32.v to1 <= U32.v from2 \/ U32.v to2 <= U32.v from1)) + (ensures (loc_disjoint (loc_buffer_from_to b from1 to1) (loc_buffer_from_to b from2 to2))) + +/// If two sets of addresses correspond to different regions or are +/// disjoint, then their corresponding sets of memory locations are +/// disjoint. + +val loc_disjoint_addresses + (preserve_liveness1 preserve_liveness2: bool) + (r1 r2: HS.rid) + (n1 n2: Set.set nat) +: Lemma + (requires (r1 <> r2 \/ Set.subset (Set.intersect n1 n2) Set.empty)) + (ensures (loc_disjoint (loc_addresses preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))) + [SMTPat (loc_disjoint (loc_addresses preserve_liveness1 r1 n1) (loc_addresses preserve_liveness2 r2 n2))] + +/// If two sets of region identifiers are disjoint, then so are their +/// corresponding sets of memory locations. + +val loc_disjoint_regions + (preserve_liveness1: bool) + (preserve_liveness2: bool) + (rs1 rs2: Set.set HS.rid) +: Lemma + (requires (Set.subset (Set.intersect rs1 rs2) Set.empty)) + (ensures (loc_disjoint (loc_regions preserve_liveness1 rs1) (loc_regions preserve_liveness2 rs2))) + [SMTPat (loc_disjoint (loc_regions preserve_liveness1 rs1) (loc_regions preserve_liveness2 rs2))] + + +/// Some utilities to work with lists of buffers and locs + +(* buf_t is a `buffer` at some type `a` *) +let buf_t = a:Type0 & rrel:srel a & rel:srel a & mbuffer a rrel rel + +(* A convenience to construct a buf_t *) +[@@BigOps.__reduce__] +let buf (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) : buf_t = (|a, rrel, rel, b|) + +(* A conjunction of liveness conditions on the buffers in `l` + Implicitly reduced at typechecking time *) +[@@"opaque_to_smt"] +unfold +let all_live (h:HS.mem) (l:list buf_t) : Type0 = + BigOps.big_and #buf_t (fun (| _, _, _, b |) -> live h b) l + +(* Pairwise disjointness of locations; + Implicitly reduced at typechecking time *) +[@@"opaque_to_smt"] +unfold +let all_disjoint (l:list loc) : Type0 = + BigOps.pairwise_and loc_disjoint l + +(* Union of a list of locations; + Implicitly reduced at typechecking time *) +[@@"opaque_to_smt"] +unfold +let loc_union_l (l:list loc) = + BigOps.normal (List.Tot.fold_right_gtot l loc_union loc_none) + +(* + * Same as all_disjoint, retaining for backward compatibility + *) +[@@"opaque_to_smt"] +unfold +let loc_pairwise_disjoint (l:list loc) :Type0 = BigOps.pairwise_and loc_disjoint l + +/// The modifies clauses proper. +/// +/// Let ``s`` be a set of memory locations, and ``h1`` and ``h2`` be two +/// memory states. Then, ``s`` is modified from ``h1`` to ``h2`` only if, +/// any memory location disjoint from ``s`` is preserved from ``h1`` into +/// ``h2``. Elimination lemmas illustrating this principle follow. + +val modifies + (s: loc) + (h1 h2: HS.mem) +: GTot Type0 + +/// If a region ``r`` is disjoint from a set ``s`` of memory locations +/// which is modified, then its liveness is preserved. + +val modifies_live_region + (s: loc) + (h1 h2: HS.mem) + (r: HS.rid) +: Lemma + (requires (modifies s h1 h2 /\ loc_disjoint s (loc_region_only false r) /\ HS.live_region h1 r)) + (ensures (HS.live_region h2 r)) + [SMTPatOr [ + [SMTPat (modifies s h1 h2); SMTPat (HS.live_region h1 r)]; + [SMTPat (modifies s h1 h2); SMTPat (HS.live_region h2 r)]; + ]] + +/// If a reference ``b`` is disjoint from a set ``p`` of memory locations +/// which is modified, then its liveness and contents are preserved. + +val modifies_mreference_elim + (#t: Type) + (#pre: Preorder.preorder t) + (b: HS.mreference t pre) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_mreference b) p /\ + HS.contains h b /\ + modifies p h h' + )) + (ensures ( + HS.contains h' b /\ + HS.sel h b == HS.sel h' b + )) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (HS.sel h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h b) ]; + [ SMTPat (modifies p h h'); SMTPat (HS.sel h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h' b) ] + ] ] + +/// If a buffer ``b`` is disjoint from a set ``p`` of +/// memory locations which is modified, then its liveness and contents +/// are preserved. + +val modifies_buffer_elim (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (p:loc) (h h':HS.mem) + :Lemma (requires (loc_disjoint (loc_buffer b) p /\ live h b /\ modifies p h h')) + (ensures (live h' b /\ (as_seq h b == as_seq h' b))) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (as_seq h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (live h b) ]; + [ SMTPat (modifies p h h'); SMTPat (as_seq h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (live h' b) ] + ]] + +val modifies_buffer_from_to_elim (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (from to: U32.t) (p:loc) (h h':HS.mem) + :Lemma (requires (loc_disjoint (loc_buffer_from_to b from to) p /\ live h b /\ modifies p h h' /\ U32.v from <= U32.v to /\ U32.v to <= length b)) + (ensures (live h' b /\ Seq.slice (as_seq h b) (U32.v from) (U32.v to) == Seq.slice (as_seq h' b) (U32.v from) (U32.v to))) + +/// If the memory state does not change, then any memory location is +/// modified (and, in particular, the empty set, ``loc_none``.) + +val modifies_refl + (s: loc) + (h: HS.mem) +: Lemma + (modifies s h h) + [SMTPat (modifies s h h)] + + +/// If a set ``s2`` of memory locations is modified, then so is any set +/// ``s1`` that includes ``s2``. In other words, it is always possible to +/// weaken a modifies clause by widening its set of memory locations. + +val modifies_loc_includes + (s1: loc) + (h h': HS.mem) + (s2: loc) +: Lemma + (requires (modifies s2 h h' /\ loc_includes s1 s2)) + (ensures (modifies s1 h h')) + [SMTPat (modifies s1 h h'); SMTPat (modifies s2 h h')] + +/// Some memory locations are tagged as liveness-insensitive: the +/// liveness preservation of a memory location only depends on its +/// disjointness from the liveness-sensitive memory locations of a +/// modifies clause. + +val address_liveness_insensitive_locs: loc + +val region_liveness_insensitive_locs: loc + +val address_liveness_insensitive_buffer (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (address_liveness_insensitive_locs `loc_includes` (loc_buffer b)) + [SMTPat (address_liveness_insensitive_locs `loc_includes` (loc_buffer b))] + +val address_liveness_insensitive_addresses (r: HS.rid) (a: Set.set nat) : Lemma + (address_liveness_insensitive_locs `loc_includes` (loc_addresses true r a)) + [SMTPat (address_liveness_insensitive_locs `loc_includes` (loc_addresses true r a))] + +val region_liveness_insensitive_buffer (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (region_liveness_insensitive_locs `loc_includes` (loc_buffer b)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_buffer b))] + +val region_liveness_insensitive_addresses (preserve_liveness: bool) (r: HS.rid) (a: Set.set nat) : Lemma + (region_liveness_insensitive_locs `loc_includes` (loc_addresses preserve_liveness r a)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_addresses preserve_liveness r a))] + +val region_liveness_insensitive_regions (rs: Set.set HS.rid) : Lemma + (region_liveness_insensitive_locs `loc_includes` (loc_regions true rs)) + [SMTPat (region_liveness_insensitive_locs `loc_includes` (loc_regions true rs))] + +val region_liveness_insensitive_address_liveness_insensitive: + squash (region_liveness_insensitive_locs `loc_includes` address_liveness_insensitive_locs) + +val modifies_liveness_insensitive_mreference + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_mreference x) /\ address_liveness_insensitive_locs `loc_includes` l2 /\ h `HS.contains` x)) + (ensures (h' `HS.contains` x)) + [SMTPatOr [ + [SMTPat (h `HS.contains` x); SMTPat (modifies (loc_union l1 l2) h h');]; + [SMTPat (h' `HS.contains` x); SMTPat (modifies (loc_union l1 l2) h h');]; + ]] + (* TODO: pattern *) + +val modifies_liveness_insensitive_buffer + (l1 l2:loc) + (h h':HS.mem) + (#a:Type0) (#rrel #rel:srel a) + (x:mbuffer a rrel rel) + :Lemma (requires (modifies (loc_union l1 l2) h h' /\ + loc_disjoint l1 (loc_buffer x) /\ + address_liveness_insensitive_locs `loc_includes` l2 /\ + live h x)) + (ensures (live h' x)) + [SMTPatOr [ + [SMTPat (live h x); SMTPat (modifies (loc_union l1 l2) h h');]; + [SMTPat (live h' x); SMTPat (modifies (loc_union l1 l2) h h');]; + ]] + +let modifies_liveness_insensitive_mreference_weak + (l : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) + : Lemma (requires (modifies l h h' /\ + address_liveness_insensitive_locs `loc_includes` l /\ + h `HS.contains` x)) + (ensures (h' `HS.contains` x)) + [SMTPatOr [ + [SMTPat (h `HS.contains` x); SMTPat (modifies l h h');]; + [SMTPat (h' `HS.contains` x); SMTPat (modifies l h h');]; + ]] + = modifies_liveness_insensitive_mreference loc_none l h h' x + +let modifies_liveness_insensitive_buffer_weak + (l:loc) + (h h':HS.mem) + (#a:Type0) (#rrel #rel:srel a) + (x:mbuffer a rrel rel) + :Lemma (requires (modifies l h h' /\ address_liveness_insensitive_locs `loc_includes` l /\ live h x)) + (ensures (live h' x)) + [SMTPatOr [ + [SMTPat (live h x); SMTPat (modifies l h h');]; + [SMTPat (live h' x); SMTPat (modifies l h h');]; + ]] + = modifies_liveness_insensitive_buffer loc_none l h h' x + +val modifies_liveness_insensitive_region + (l1 l2 : loc) + (h h' : HS.mem) + (x: HS.rid) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_region_only false x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h x)) + (ensures (HS.live_region h' x)) + [SMTPatOr [ + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h x)]; + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h' x)]; + ]] + +val modifies_liveness_insensitive_region_mreference + (l1 l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) +: Lemma + (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_mreference x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (HS.frameOf x))) + (ensures (HS.live_region h' (HS.frameOf x))) + [SMTPatOr [ + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h (HS.frameOf x))]; + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h' (HS.frameOf x))]; + ]] + +val modifies_liveness_insensitive_region_buffer + (l1 l2:loc) + (h h':HS.mem) + (#a:Type0) (#rrel #rel:srel a) + (x:mbuffer a rrel rel) + :Lemma (requires (modifies (loc_union l1 l2) h h' /\ loc_disjoint l1 (loc_buffer x) /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h (frameOf x))) + (ensures (HS.live_region h' (frameOf x))) + [SMTPatOr [ + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h (frameOf x))]; + [SMTPat (modifies (loc_union l1 l2) h h'); SMTPat (HS.live_region h' (frameOf x))]; + ]] + +val modifies_liveness_insensitive_region_weak + (l2 : loc) + (h h' : HS.mem) + (x: HS.rid) +: Lemma + (requires (modifies l2 h h' /\ region_liveness_insensitive_locs `loc_includes` l2 /\ HS.live_region h x)) + (ensures (HS.live_region h' x)) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h x)]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' x)]; + ]] + +val modifies_liveness_insensitive_region_mreference_weak + (l2 : loc) + (h h' : HS.mem) + (#t: Type) + (#pre: Preorder.preorder t) + (x: HS.mreference t pre) + : Lemma (requires (modifies l2 h h' /\ + region_liveness_insensitive_locs `loc_includes` l2 /\ + HS.live_region h (HS.frameOf x))) + (ensures (HS.live_region h' (HS.frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (HS.frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (HS.frameOf x))]; + ]] + +val modifies_liveness_insensitive_region_buffer_weak + (l2:loc) + (h h':HS.mem) + (#a:Type0) (#rrel #rel:srel a) + (x:mbuffer a rrel rel) + :Lemma (requires (modifies l2 h h' /\ + region_liveness_insensitive_locs `loc_includes` l2 /\ + HS.live_region h (frameOf x))) + (ensures (HS.live_region h' (frameOf x))) + [SMTPatOr [ + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h (frameOf x))]; + [SMTPat (modifies l2 h h'); SMTPat (HS.live_region h' (frameOf x))]; + ]] + +/// Modifies clauses are transitive. This lemma is the most general +/// one. + +val modifies_trans + (s12: loc) + (h1 h2: HS.mem) + (s23: loc) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3)) + (ensures (modifies (loc_union s12 s23) h1 h3)) + +val modifies_trans_linear (l l_goal:loc) (h1 h2 h3:HS.mem) + : Lemma (requires (modifies l h1 h2 /\ modifies l_goal h2 h3 /\ l_goal `loc_includes` l)) + (ensures (modifies l_goal h1 h3)) + [SMTPat (modifies l h1 h2); SMTPat (modifies l_goal h1 h3)] + + +/// Regions that are not live can be removed from sets of memory +/// locations that are modified. + +val modifies_only_live_regions + (rs: Set.set HS.rid) + (l: loc) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_regions false rs) l) h h' /\ + (forall r . Set.mem r rs ==> (~ (HS.live_region h r))) + )) + (ensures (modifies l h h')) + +/// As a consequence, fresh regions can be removed from modifies +/// clauses. + +val no_upd_fresh_region: r:HS.rid -> l:loc -> h0:HS.mem -> h1:HS.mem -> Lemma + (requires (HS.fresh_region r h0 h1 /\ modifies (loc_union (loc_all_regions_from false r) l) h0 h1)) + (ensures (modifies l h0 h1)) + [SMTPat (HS.fresh_region r h0 h1); SMTPat (modifies l h0 h1)] + +val new_region_modifies (m0: HS.mem) (r0: HS.rid) (col: option int) : Lemma + (requires (HST.is_eternal_region r0 /\ HS.live_region m0 r0 /\ (None? col \/ HS.is_heap_color (Some?.v col)))) + (ensures ( + let (_, m1) = HS.new_eternal_region m0 r0 col in + modifies loc_none m0 m1 + )) + [SMTPat (HS.new_eternal_region m0 r0 col)] + + +/// Stack discipline: any stack frame (and all its transitively +/// extending regions) that is pushed, modified and popped can be +/// removed from a modifies clause. + +/// AR: 01/29/2019: Removing the smt pattern from this lemma. +/// Clients are no longer expected to call it explicitly, +/// if you are having to, please raise an issue. + +val modifies_fresh_frame_popped + (h0 h1: HS.mem) + (s: loc) + (h2 h3: HS.mem) +: Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + modifies (loc_union (loc_all_regions_from false (HS.get_tip h1)) s) h1 h2 /\ + (HS.get_tip h2) == (HS.get_tip h1) /\ + HS.popped h2 h3 + )) + (ensures ( + modifies s h0 h3 /\ + (HS.get_tip h3) == HS.get_tip h0 + )) + +/// Compatibility lemmas to rescue modifies clauses specified in the +/// standard F* HyperStack library. + +val modifies_loc_regions_intro + (rs: Set.set HS.rid) + (h1 h2: HS.mem) +: Lemma + (requires (HS.modifies rs h1 h2)) + (ensures (modifies (loc_regions true rs) h1 h2)) + +val modifies_loc_addresses_intro + (r: HS.rid) + (a: Set.set nat) + (l: loc) + (h1 h2: HS.mem) +: Lemma + (requires ( + HS.live_region h2 r /\ + modifies (loc_union (loc_region_only false r) l) h1 h2 /\ + HS.modifies_ref r a h1 h2 + )) + (ensures (modifies (loc_union (loc_addresses true r a) l) h1 h2)) + +/// Modifies clauses for allocating a reference: nothing is +/// modified. (In particular, a modifies clause does not track +/// memory locations that are created.) + +val modifies_ralloc_post + (#a: Type) + (#rel: Preorder.preorder a) + (i: HS.rid) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel) + (h' : HS.mem) +: Lemma + (requires (HST.ralloc_post i init h x h')) + (ensures (modifies loc_none h h')) + [SMTPat (HST.ralloc_post i init h x h')] + +val modifies_salloc_post + (#a: Type) + (#rel: Preorder.preorder a) + (init: a) + (h: HS.mem) + (x: HST.mreference a rel { HS.is_stack_region (HS.frameOf x) } ) + (h' : HS.mem) +: Lemma + (requires (HST.salloc_post init h x h')) + (ensures (modifies loc_none h h')) + [SMTPat (HST.salloc_post init h x h')] + +/// Modifies clause for freeing a reference: the address is modified. + +val modifies_free + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel { HS.is_mm r } ) + (m: HS.mem { m `HS.contains` r } ) +: Lemma + (modifies (loc_freed_mreference r) m (HS.free r m)) + [SMTPat (HS.free r m)] + +/// Another compatibility lemma + +val modifies_none_modifies + (h1 h2: HS.mem) +: Lemma + (requires (HST.modifies_none h1 h2)) + (ensures (modifies loc_none h1 h2)) + [SMTPat (HST.modifies_none h1 h2)] + +/// Compatibility with HS.upd + +val modifies_upd + (#t: Type) (#pre: Preorder.preorder t) + (r: HS.mreference t pre) + (v: t) + (h: HS.mem) +: Lemma + (requires (HS.contains h r)) + (ensures (modifies (loc_mreference r) h (HS.upd h r v))) + [SMTPat (HS.upd h r v)] + +/// Introduction lemma for modifying loc_buffer_from_to + +val modifies_loc_buffer_from_to_intro + (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + (from to: U32.t) + (l: loc) (h h' : HS.mem) +: Lemma + (requires ( + let s = as_seq h b in + let s' = as_seq h' b in + live h b /\ + modifies (loc_union l (loc_buffer b)) h h' /\ + U32.v from <= U32.v to /\ + U32.v to <= length b /\ + Seq.slice s 0 (U32.v from) `Seq.equal` Seq.slice s' 0 (U32.v from) /\ + Seq.slice s (U32.v to) (length b) `Seq.equal` Seq.slice s' (U32.v to) (length b) + )) + (ensures (modifies (loc_union l (loc_buffer_from_to b from to)) h h')) + + +/// A memory ``h`` does not contain address ``a`` in region ``r``, denoted +/// ``does_not_contain_addr h (r, a)``, only if, either region ``r`` is +/// not live, or address ``a`` is unused in region ``r``. + +(* BEGIN TODO: move to FStar.Monotonic.HyperStack *) + +val does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: GTot Type0 + +val not_live_region_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (~ (HS.live_region h (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val unused_in_does_not_contain_addr + (h: HS.mem) + (#a: Type) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) +: Lemma + (requires (r `HS.unused_in` h)) + (ensures (h `does_not_contain_addr` (HS.frameOf r, HS.as_addr r))) + +val addr_unused_in_does_not_contain_addr + (h: HS.mem) + (ra: HS.rid & nat) +: Lemma + (requires (HS.live_region h (fst ra) ==> snd ra `Heap.addr_unused_in` (Map.sel (HS.get_hmap h) (fst ra)))) + (ensures (h `does_not_contain_addr` ra)) + +val free_does_not_contain_addr + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + HS.is_mm r /\ + m `HS.contains` r /\ + fst x == HS.frameOf r /\ + snd x == HS.as_addr r + )) + (ensures ( + HS.free r m `does_not_contain_addr` x + )) + [SMTPat (HS.free r m `does_not_contain_addr` x)] + +val does_not_contain_addr_elim + (#a: Type0) + (#rel: Preorder.preorder a) + (r: HS.mreference a rel) + (m: HS.mem) + (x: HS.rid & nat) +: Lemma + (requires ( + m `does_not_contain_addr` x /\ + HS.frameOf r == fst x /\ + HS.as_addr r == snd x + )) + (ensures (~ (m `HS.contains` r))) + +(** END TODO *) + +/// Addresses that have not been allocated yet can be removed from +/// modifies clauses. + +val modifies_only_live_addresses + (r: HS.rid) + (a: Set.set nat) + (l: loc) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_addresses false r a) l) h h' /\ + (forall x . Set.mem x a ==> h `does_not_contain_addr` (r, x)) + )) + (ensures (modifies l h h')) + + +(* Generic way to ensure that a buffer just allocated is disjoint from + any other object, however the latter's liveness is defined. *) + +val loc_not_unused_in (h: HS.mem) : GTot loc + +val loc_unused_in (h: HS.mem) : GTot loc + +(* Shortcut notations with more handy names *) + +let loc_in (l: loc) (h: HS.mem) = + loc_not_unused_in h `loc_includes` l + +let loc_not_in (l: loc) (h: HS.mem) = + loc_unused_in h `loc_includes` l + +val loc_regions_unused_in (h: HS.mem) (rs: Set.set HS.rid) : Lemma + (requires (forall r . Set.mem r rs ==> (~ (HS.live_region h r)))) + (ensures (loc_unused_in h `loc_includes` loc_regions false rs)) + +val loc_unused_in_not_unused_in_disjoint (h: HS.mem) : Lemma + (loc_disjoint (loc_unused_in h) (loc_not_unused_in h)) + +val not_live_region_loc_not_unused_in_disjoint + (h0: HS.mem) + (r: HS.rid) +: Lemma + (requires (~ (HS.live_region h0 r))) + (ensures (loc_disjoint (loc_region_only false r) (loc_not_unused_in h0))) + +val fresh_frame_loc_not_unused_in_disjoint + (h0 h1: HS.mem) +: Lemma + (requires (HS.fresh_frame h0 h1)) + (ensures (loc_disjoint (loc_region_only false (HS.get_tip h1)) (loc_not_unused_in h0))) + [SMTPat (HS.fresh_frame h0 h1)] + +val live_loc_not_unused_in (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem) + :Lemma (requires (live h b)) + (ensures (loc_not_unused_in h `loc_includes` loc_addr_of_buffer b)) + [SMTPat (live h b)] + +val unused_in_loc_unused_in (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem) + :Lemma (requires (unused_in b h)) + (ensures (loc_unused_in h `loc_includes` loc_addr_of_buffer b)) + [SMTPat (unused_in b h)] + +val modifies_address_liveness_insensitive_unused_in + (h h' : HS.mem) +: Lemma + (requires (modifies (address_liveness_insensitive_locs) h h')) + (ensures (loc_not_unused_in h' `loc_includes` loc_not_unused_in h /\ loc_unused_in h `loc_includes` loc_unused_in h')) + +/// Addresses that have not been allocated yet can be removed from +/// modifies clauses. + +val modifies_only_not_unused_in + (l: loc) + (h h' : HS.mem) +: Lemma + (requires (modifies (loc_union (loc_unused_in h) l) h h')) + (ensures (modifies l h h')) + +val mreference_live_loc_not_unused_in + (#t: Type) + (#pre: Preorder.preorder t) + (h: HS.mem) + (r: HS.mreference t pre) +: Lemma + (requires (h `HS.contains` r)) + (ensures (loc_not_unused_in h `loc_includes` loc_freed_mreference r /\ loc_not_unused_in h `loc_includes` loc_mreference r)) + [SMTPatOr [ + [SMTPat (HS.contains h r)]; + [SMTPat (loc_not_unused_in h `loc_includes` loc_mreference r)]; + [SMTPat (loc_not_unused_in h `loc_includes` loc_freed_mreference r)]; + ]] + +val mreference_unused_in_loc_unused_in + (#t: Type) + (#pre: Preorder.preorder t) + (h: HS.mem) + (r: HS.mreference t pre) +: Lemma + (requires (r `HS.unused_in` h)) + (ensures (loc_unused_in h `loc_includes` loc_freed_mreference r /\ loc_unused_in h `loc_includes` loc_mreference r)) + [SMTPatOr [ + [SMTPat (HS.unused_in r h)]; + [SMTPat (loc_unused_in h `loc_includes` loc_mreference r)]; + [SMTPat (loc_unused_in h `loc_includes` loc_freed_mreference r)]; + ]] + +val unused_in_not_unused_in_disjoint_2 + (l1 l2 l1' l2': loc) + (h: HS.mem) +: Lemma + (requires (loc_unused_in h `loc_includes` l1 /\ loc_not_unused_in h `loc_includes` l2 /\ l1 `loc_includes` l1' /\ l2 `loc_includes` l2' )) + (ensures (loc_disjoint l1' l2' )) + [SMTPat (loc_disjoint l1' l2'); SMTPat (loc_unused_in h `loc_includes` l1); SMTPat (loc_not_unused_in h `loc_includes` l2)] + +val modifies_loc_unused_in + (l: loc) + (h1 h2: HS.mem) + (l' : loc) +: Lemma + (requires ( + modifies l h1 h2 /\ + address_liveness_insensitive_locs `loc_includes` l /\ + loc_unused_in h2 `loc_includes` l' + )) + (ensures (loc_unused_in h1 `loc_includes` l')) + [SMTPatOr [ + [SMTPat (modifies l h1 h2); SMTPat (loc_unused_in h2 `loc_includes` l')]; + [SMTPat (modifies l h1 h2); SMTPat (loc_unused_in h1 `loc_includes` l')]; + ]] + +/// Shorthand: freshness + +let fresh_loc (l: loc) (h h' : HS.mem) : GTot Type0 = + loc_unused_in h `loc_includes` l /\ + loc_not_unused_in h' `loc_includes` l + +val ralloc_post_fresh_loc (#a:Type) (#rel:Preorder.preorder a) (i: HS.rid) (init:a) (m0: HS.mem) + (x: HST.mreference a rel{HST.is_eternal_region (HS.frameOf x)}) (m1: HS.mem) : Lemma + (requires (HST.ralloc_post i init m0 x m1)) + (ensures (fresh_loc (loc_freed_mreference x) m0 m1)) + [SMTPat (HST.ralloc_post i init m0 x m1)] + +//AR: this is needed for liveness across fresh_frame +val fresh_frame_modifies (h0 h1: HS.mem) : Lemma + (requires (HS.fresh_frame h0 h1)) + (ensures (modifies loc_none h0 h1)) + [SMTPat (HS.fresh_frame h0 h1)] + +val popped_modifies (h0 h1: HS.mem) : Lemma + (requires (HS.popped h0 h1)) + (ensures (modifies (loc_region_only false (HS.get_tip h0)) h0 h1)) + [SMTPat (HS.popped h0 h1)] + +val modifies_remove_new_locs (l_fresh l_aux l_goal:loc) (h1 h2 h3:HS.mem) + : Lemma (requires (fresh_loc l_fresh h1 h2 /\ + modifies l_aux h1 h2 /\ + l_goal `loc_includes` l_aux /\ + modifies (loc_union l_fresh l_goal) h2 h3)) + (ensures (modifies l_goal h1 h3)) + [SMTPat (fresh_loc l_fresh h1 h2); + SMTPat (modifies l_aux h1 h2); + SMTPat (modifies l_goal h1 h3)] + +(* + * AR: this lemma is framing the modifies clause across a fresh frame + * one way to do it would have been to reuse the lemma modifies_remove_new_locs, + * treating the fresh frame as another new location + * however, the way library is set up, loc_region in any form cannot be considered + * a fresh loc + * so, we have a special lemma for fresh_frame + *) +val modifies_remove_fresh_frame (h1 h2 h3:HS.mem) (l:loc) + : Lemma (requires (HS.fresh_frame h1 h2 /\ + modifies (loc_union (loc_all_regions_from false (HS.get_tip h2)) l) h2 h3)) + (ensures (modifies l h1 h3)) + [SMTPat (modifies l h1 h3); SMTPat (HS.fresh_frame h1 h2)] + +/// Legacy shorthands for disjointness and inclusion of buffers +/// + +let disjoint (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) :GTot Type0 = + loc_disjoint (loc_buffer b1) (loc_buffer b2) + +let includes (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) :GTot Type0 = + loc_includes (loc_buffer b1) (loc_buffer b2) /\ + (g_is_null b1 <==> g_is_null b2) + +val disjoint_neq (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) + :Lemma (requires (disjoint b1 b2 /\ U32.v (len b1) > 0)) + (ensures (~(b1 === b2))) + +val empty_disjoint (#t1 #t2: Type) (#rrel1 #rel1: srel t1) (#rrel2 #rel2: srel t2) (b1: mbuffer t1 rrel1 rel1) (b2: mbuffer t2 rrel2 rel2) : Lemma + (requires (length b1 == 0)) + (ensures (disjoint b1 b2)) + + +(* +/// The liveness of a sub-buffer entails from the liveness +/// of its enclosing buffer. + +val includes_live (#a:Type0) (#rrel #rel1 #rel2:srel a) + (h:HS.mem) (larger:mbuffer a rrel rel1) (smaller:mbuffer a rrel rel2) + :Lemma (requires (larger `includes` smaller)) + (ensures (live h larger ==> live h smaller)) + [SMTPatOr [ + [SMTPat (includes larger smaller); SMTPat (live h larger)]; + [SMTPat (includes larger smaller); SMTPat (live h smaller)]; + ]] +*) + +val includes_frameOf_as_addr (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (larger:mbuffer a1 rrel1 rel1) (smaller:mbuffer a2 rrel2 rel2) + :Lemma (requires (larger `includes` smaller)) + (ensures (g_is_null larger == g_is_null smaller /\ frameOf larger == frameOf smaller /\ as_addr larger == as_addr smaller)) + [SMTPat (larger `includes` smaller)] + +/// +/// Useful shorthands for pointers, or maybe-null pointers + +inline_for_extraction +type mpointer (a:Type0) (rrel:srel a) (rel:srel a) = + b:mbuffer a rrel rel{length b == 1} + +inline_for_extraction +type mpointer_or_null (a:Type0) (rrel:srel a) (rel:srel a) = + b:mbuffer a rrel rel{if g_is_null b then True else length b == 1} + +unfold +let deref (#a:Type0) (#rrel #rel:srel a) (h:HS.mem) (x:mpointer a rrel rel) = + get h x 0 + + +/// Two pointers having different contents are disjoint. This is valid +/// only for pointers, i.e. buffers of size 1. + +val pointer_distinct_sel_disjoint + (#a:Type0) (#rrel1 #rrel2 #rel1 #rel2:srel a) + (b1:mpointer a rrel1 rel1) + (b2:mpointer a rrel2 rel2) + (h:HS.mem) + :Lemma (requires (live h b1 /\ live h b2 /\ get h b1 0 =!= get h b2 0)) + (ensures (disjoint b1 b2)) + +/// The following stateful operations on buffers do not change the +/// memory, but, as required by the C standard, they all require the +/// buffer in question to be live. + +/// The nullity test, ``is_null b``, which KaRaMeL compiles to C as ``b == NULL``. + +val is_null (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :HST.Stack bool (requires (fun h -> live h b)) + (ensures (fun h y h' -> h == h' /\ y == g_is_null b)) + + +/// ``sub b i len`` constructs the sub-buffer of ``b`` starting from +/// offset ``i`` with length ``len``. KaRaMeL extracts this operation as +/// ``b + i`` (or, equivalently, ``&b[i]``.) + +val msub (#a:Type0) (#rrel #rel:srel a) (sub_rel:srel a) (b:mbuffer a rrel rel) + (i:U32.t) (len:Ghost.erased U32.t) + :HST.Stack (mbuffer a rrel sub_rel) + (requires (fun h -> U32.v i + U32.v (Ghost.reveal len) <= length b /\ compatible_sub b i (Ghost.reveal len) sub_rel /\ live h b)) + (ensures (fun h y h' -> h == h' /\ y == mgsub sub_rel b i (Ghost.reveal len))) + +/// ``offset b i`` construct the tail of the buffer ``b`` starting from +/// offset ``i``, i.e. the sub-buffer of ``b`` starting from offset ``i`` +/// with length ``U32.sub (len b) i``. KaRaMeL compiles it as ``b + i`` or +/// ``&b[i]``. +/// +/// This stateful operation cannot be derived from ``sub``, because the +/// length cannot be computed outside of proofs. + +val moffset (#a:Type0) (#rrel #rel:srel a) (sub_rel:srel a) (b:mbuffer a rrel rel) + (i:U32.t) + :HST.Stack (mbuffer a rrel sub_rel) + (requires (fun h -> U32.v i <= length b /\ compatible_sub b i (U32.sub (len b) i) sub_rel /\ live h b)) + (ensures (fun h y h' -> h == h' /\ y == mgsub sub_rel b i (U32.sub (len b) i))) +// goffset + + +/// ``index b i`` reads the value of ``b`` at offset ``i`` from memory and +/// returns it. KaRaMeL compiles it as b[i]. + +val index (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (i:U32.t) + :HST.Stack a (requires (fun h -> live h b /\ U32.v i < length b)) + (ensures (fun h y h' -> h == h' /\ y == Seq.index (as_seq h b) (U32.v i))) + + +/// The following stateful operations on buffers modify the memory, +/// and, as usual, require the liveness of the buffer. + +/// ``g_upd_seq b s h`` updates the entire buffer `b`'s contents in +/// heap `h` to correspond to the sequence `s` + +val g_upd_seq (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (s:Seq.lseq a (length b)) + (h:HS.mem{live h b}) + :GTot HS.mem + +val lemma_g_upd_with_same_seq (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (h:HS.mem) + :Lemma (requires (live h b)) (ensures (g_upd_seq b (as_seq h b) h == h)) + +/// A lemma specifying `g_upd_seq` in terms of its effect on the +/// buffer's underlying sequence + +val g_upd_seq_as_seq (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (s:Seq.lseq a (length b)) + (h:HS.mem{live h b}) + : Lemma (let h' = g_upd_seq b s h in + (Seq.length s > 0 ==> not (g_is_null b)) /\ + modifies (loc_buffer b) h h' /\ + live h' b /\ + HST.equal_domains h h' /\ + as_seq h' b == s) + +/// ``g_upd b i v h`` updates the buffer `b` in heap `h` at location +/// `i` writing ``v`` there. This is the spec analog of the stateful +/// update `upd` below. + +let g_upd (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (i:nat{i < length b}) + (v:a) + (h:HS.mem{live h b}) + : GTot HS.mem + = g_upd_seq b (Seq.upd (as_seq h b) i v) h + +val g_upd_modifies_strong (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (i:nat{i < length b}) + (v:a) + (h:HS.mem{live h b}) + : Lemma (modifies (loc_buffer_from_to b (U32.uint_to_t i) (U32.uint_to_t (i + 1))) h (g_upd b i v h)) + +/// ``upd b i v`` writes ``v`` to the memory, at offset ``i`` of +/// buffer ``b``. KaRaMeL compiles it as ``b[i] = v``. + +val upd' + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (i:U32.t) + (v:a) + :HST.Stack unit (requires (fun h -> live h b /\ U32.v i < length b /\ + rel (as_seq h b) (Seq.upd (as_seq h b) (U32.v i) v))) + (ensures (fun h _ h' -> h' == g_upd b (U32.v i) v h)) + +inline_for_extraction +let upd + (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) + (i:U32.t) + (v:a) + : HST.Stack unit (requires (fun h -> live h b /\ U32.v i < length b /\ + rel (as_seq h b) (Seq.upd (as_seq h b) (U32.v i) v))) + (ensures (fun h _ h' -> (not (g_is_null b)) /\ + modifies (loc_buffer b) h h' /\ + live h' b /\ + as_seq h' b == Seq.upd (as_seq h b) (U32.v i) v)) + = let h = HST.get () in + upd' b i v; + g_upd_seq_as_seq b (Seq.upd (as_seq h b) (U32.v i) v) h + +(* FIXME: Comment on `recall` *) + +val recallable (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot Type0 + +val region_lifetime_buf (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) : Type0 + +(* + * A functoriality lemma + *) +unfold +let rrel_rel_always_compatible (#a:Type0) (rrel rel:srel a) = + forall (len:nat) (i:nat) (j:nat{i <= j /\ j <= len}). compatible_subseq_preorder len rrel i j rel + + +val region_lifetime_sub (#a:Type0) (#rrel #rel #subrel:srel a) + (b0:mbuffer a rrel rel) + (b1:mbuffer a rrel subrel) +: Lemma + (requires rrel_rel_always_compatible rrel subrel) + (ensures + (region_lifetime_buf b0 /\ + (exists i len. U32.v i + U32.v len <= length b0 /\ b1 == mgsub subrel b0 i len)) ==> region_lifetime_buf b1) + +val recallable_null (#a:Type0) (#rrel #rel:srel a) + :Lemma (recallable (mnull #a #rrel #rel)) [SMTPat (recallable (mnull #a #rrel #rel))] + +(* +val recallable_includes (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (larger:mbuffer a1 rrel1 rel1) (smaller:mbuffer a2 rrel2 rel2) + :Lemma (requires (larger `includes` smaller)) + (ensures (recallable larger <==> recallable smaller)) + [SMTPatOr [ + [SMTPat (recallable larger); SMTPat (recallable smaller);]; + [SMTPat (larger `includes` smaller)]; + ]] +*) + +val recallable_mgsub (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (i:U32.t) (len:U32.t) (sub_rel:srel a) + :Lemma (requires (U32.v i + U32.v len <= length b /\ compatible_sub b i len sub_rel /\ recallable b)) + (ensures (recallable (mgsub sub_rel b i len))) + [SMTPatOr [ + [SMTPat (recallable (mgsub sub_rel b i len))]; + [SMTPat (recallable b); SMTPat (mgsub sub_rel b i len);] + ]] + +val recall (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :HST.Stack unit (requires (fun m -> recallable b \/ (region_lifetime_buf b /\ HS.live_region m (frameOf b)))) + (ensures (fun m0 _ m1 -> m0 == m1 /\ live m1 b)) + +(* + * Begin: API for general witness and recall + * Clients can witness predicates on the contents of the buffer, and later recall them + * Provided the predicates are stable w.r.t. the buffer preorder + *) + +(* Shorthand for predicates of Seq.seq a *) +unfold let spred (a:Type0) = Seq.seq a -> Type0 + +(* + * Note the tight patterns on the quantifier, you may need to write additional triggers + * if you are directly working with them + *) +unfold let stable_on (#a:Type0) (p:spred a) (rel:srel a) = + forall (s1 s2:Seq.seq a).{:pattern (p s1); (rel s1 s2); (p s2)} (p s1 /\ rel s1 s2) ==> p s2 + +(* Clients get this pure token when they witness a predicate *) +val witnessed (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (p:spred a) :Type0 + +(* + * We can only support witness and recall for gc-malloced buffers (i.e. recallable ones) + * This is not a fundamental limitation, but needs some tweaks to the underlying state model + *) +val witness_p (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (p:spred a) + :HST.ST unit (requires (fun h0 -> p (as_seq h0 b) /\ p `stable_on` rel)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ b `witnessed` p)) + +val recall_p (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) (p:spred a) + :HST.ST unit (requires (fun h0 -> (recallable b \/ live h0 b) /\ b `witnessed` p)) + (ensures (fun h0 _ h1 -> h0 == h1 /\ live h0 b /\ p (as_seq h0 b))) + +val witnessed_functorial (#a:Type0) + (#rrel #rel1 #rel2:srel a) + (b1:mbuffer a rrel rel1) (b2:mbuffer a rrel rel2) (i len:U32.t) + (s1 s2:spred a) +: Lemma + (requires + rrel_rel_always_compatible rrel rel1 /\ //e.g. trivial_preorder, immutable preorder etc. + U32.v i + U32.v len <= length b1 /\ + b2 == mgsub rel2 b1 i len /\ //the underlying allocation unit for b1 and b2 must be the same + witnessed b1 s1 /\ + (forall h. s1 (as_seq h b1) ==> s2 (as_seq h b2))) + (ensures witnessed b2 s2) + +(* + * A stateful version that relaxes the rrel and rel compatibility + * but requires liveness of b1 + *) +val witnessed_functorial_st (#a:Type0) + (#rrel #rel1 #rel2:srel a) + (b1:mbuffer a rrel rel1) (b2:mbuffer a rrel rel2) (i len:U32.t) + (s1 s2:spred a) +: HST.Stack unit + (requires fun h -> + live h b1 /\ + U32.v i + U32.v len <= length b1 /\ + b2 == mgsub rel2 b1 i len /\ + witnessed b1 s1 /\ + (forall h. s1 (as_seq h b1) ==> s2 (as_seq h b2))) + (ensures fun h0 _ h1 -> h0 == h1 /\ witnessed b2 s2) + +(* End: API for general witness and recall *) + + +/// Deallocation. A buffer that was allocated by ``malloc`` (see below) +/// can be ``free`` d. + +val freeable (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) :GTot Type0 + +val free (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :HST.ST unit (requires (fun h0 -> live h0 b /\ freeable b)) + (ensures (fun h0 _ h1 -> (not (g_is_null b)) /\ + Map.domain (HS.get_hmap h1) `Set.equal` Map.domain (HS.get_hmap h0) /\ + (HS.get_tip h1) == (HS.get_tip h0) /\ + modifies (loc_addr_of_buffer b) h0 h1 /\ + HS.live_region h1 (frameOf b))) + +val freeable_length (#a:Type0) (#rrel #rel:srel a) (b:mbuffer a rrel rel) + :Lemma (requires (freeable b)) (ensures (length b > 0)) + [SMTPat (freeable b)] + +val freeable_disjoint (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) + :Lemma (requires (freeable b1 /\ length b2 > 0 /\ disjoint b1 b2)) + (ensures (frameOf b1 <> frameOf b2 \/ as_addr b1 <> as_addr b2)) + +val freeable_disjoint' (#a1 #a2:Type0) (#rrel1 #rel1:srel a1) (#rrel2 #rel2:srel a2) + (b1:mbuffer a1 rrel1 rel1) (b2:mbuffer a2 rrel2 rel2) + :Lemma (requires (freeable b1 /\ length b2 > 0 /\ disjoint b1 b2)) + (ensures (loc_disjoint (loc_addr_of_buffer b1) (loc_addr_of_buffer b2))) + [SMTPat (freeable b1); SMTPat (disjoint b1 b2)] + +(***** Begin allocation functions *****) + + +/// Allocation. This is the common postcondition of all allocation +/// operators, which tells that the resulting buffer is fresh, and +/// specifies its initial contents. + +(* + * Allocation functions: + * In the return type, we try to give heap-independent postconditions (such as length) + * in the refinement of the buffer type (for the usage pattern of top-level buffers) + * while heap dependent postconditions are provided in the ensures clause + * + * One unsatisfying aspect is that these functions are duplicated in the wrappers that we write + * (e.g. Buffer, ImmutableBuffer, etc.) + * If we don't duplicate, then the clients may face type inference issues (for preorders) + * + * So, if you change any of the pre- or postcondition, you should change the pre and post spec functions + * (such as alloc_post_mem_common etc.), rather than the specs directly + + * Perhaps we can rely on F* type inference and not write specs explicitly in those wrappers? + * Will try that + * + * For memory dependent post, alloc_post_mem_common is the one used by everyone + * + * For heap allocations, the library also provides partial functions that could return null + * Clients need to explicitly check for non-null values when using these functions + * Partial function specs use alloc_partial_post_mem_common + * + * NOTE: a useful test for the implementation of partial functions is that + * their spec should be valid even when their implementation just returns null + *) + +unfold let lmbuffer (a:Type0) (rrel rel:srel a) (len:nat) + = b:mbuffer a rrel rel{length b == len /\ not (g_is_null b)} + +unfold +let alloc_post_mem_common (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (h0 h1:HS.mem) (s:Seq.seq a) + = live h1 b /\ + unused_in b h0 /\ + Map.domain (HS.get_hmap h1) `Set.equal` Map.domain (HS.get_hmap h0) /\ + (HS.get_tip h1) == (HS.get_tip h0) /\ + modifies loc_none h0 h1 /\ + as_seq h1 b == s + +(* Return type and post for partial allocation functions *) +unfold let lmbuffer_or_null (a:Type0) (rrel rel:srel a) (len:nat) (r:HS.rid) + = b:mbuffer a rrel rel{(not (g_is_null b)) ==> (length b == len /\ frameOf b == r)} + +unfold let alloc_partial_post_mem_common (#a:Type0) (#rrel #rel:srel a) + (b:mbuffer a rrel rel) (h0 h1:HS.mem) (s:Seq.seq a) + = (g_is_null b /\ h0 == h1) \/ + ((not (g_is_null b)) /\ alloc_post_mem_common b h0 h1 s) + + +unfold let malloc_pre (r:HS.rid) (len:U32.t) = HST.is_eternal_region r /\ U32.v len > 0 + + +/// ``gcmalloc r init len`` allocates a memory-managed buffer of some +/// positive length ``len`` in an eternal region ``r``. Every cell of this +/// buffer will have initial contents ``init``. Such a buffer cannot be +/// freed. In fact, it is eternal: it cannot be deallocated at all. + +(* + * See the Allocation comment above when changing the spec + *) +val mgcmalloc (#a:Type0) (#rrel:srel a) + (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ recallable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + + +(* + * Allocate a memory-managed buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val mgcmalloc_and_blit (#a:Type0) (#rrel:srel a) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ recallable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len))) + +(* + * See the Allocation comment above when changing the spec + *) +inline_for_extraction +let mgcmalloc_partial (#a:Type0) (#rrel:srel a) + (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:lmbuffer_or_null a rrel rrel (U32.v len) r{recallable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = mgcmalloc r init len + + +/// ``malloc r init len`` allocates a hand-managed buffer of some +/// positive length ``len`` in an eternal region ``r``. Every cell of this +/// buffer will have initial contents ``init``. Such a buffer can be +/// freed using ``free`` above. Note that the ``freeable`` permission is +/// only on the whole buffer ``b``, and is not inherited by any of its +/// strict sub-buffers. + +(* + * See the Allocation comment above when changing the spec + *) +val mmalloc (#a:Type0) (#rrel:srel a) + (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + +(* + * Allocate a hand-managed buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val mmalloc_and_blit (#a:Type0) (#rrel:srel a) (r:HS.rid) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == r /\ freeable b}) + (requires fun h0 -> + malloc_pre r len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len))) + +(* + * See the Allocation comment above when changing the spec + *) +inline_for_extraction +let mmalloc_partial (#a:Type0) (#rrel:srel a) + (r:HS.rid) (init:a) (len:U32.t) + :HST.ST (b:lmbuffer_or_null a rrel rrel (U32.v len) r{(not (g_is_null b)) ==> freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) init))) + = mmalloc r init len + + +/// ``alloca init len`` allocates a buffer of some positive length ``len`` +/// in the current stack frame. Every cell of this buffer will have +/// initial contents ``init``. Such a buffer cannot be freed +/// individually, but is automatically freed as soon as its stack +/// frame is deallocated by ``HST.pop_frame``. + +unfold let alloca_pre (len:U32.t) = U32.v len > 0 + +(* + * See the Allocation comment above when changing the spec + *) +val malloca (#a:Type0) (#rrel:srel a) + (init:a) (len:U32.t) + :HST.StackInline (lmbuffer a rrel rrel (U32.v len)) + (requires (fun _ -> alloca_pre len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init) /\ + frameOf b == HS.get_tip h0)) + +(* + * Allocate a stack buffer initialized with contents from src + * + * This allocates and initializes the buffer atomically (from the perspective of the Low* clients) + *) +val malloca_and_blit (#a:Type0) (#rrel:srel a) + (#rrel1 #rel1:srel a) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) + : HST.StackInline (lmbuffer a rrel rrel (U32.v len)) + (requires fun h0 -> + alloca_pre len /\ + live h0 src /\ U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len)) /\ + frameOf b == HS.get_tip h0) + + +/// ``alloca_of_list init`` allocates a buffer in the current stack +/// frame. The initial values of the cells of this buffer are +/// specified by the ``init`` list, which must be nonempty, and of +/// length representable as a machine integer. + +unfold let alloca_of_list_pre (#a:Type0) (init:list a) = + normalize (0 < FStar.List.Tot.length init) /\ + normalize (FStar.List.Tot.length init <= UInt.max_int 32) + +(* + * See the Allocation comment above when changing the spec + *) +val malloca_of_list (#a:Type0) (#rrel:srel a) (init: list a) + :HST.StackInline (lmbuffer a rrel rrel (normalize_term (List.Tot.length init))) + (requires (fun _ -> alloca_of_list_pre init)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.seq_of_list init) /\ + frameOf b == HS.get_tip h0)) + +unfold let gcmalloc_of_list_pre (#a:Type0) (r:HS.rid) (init:list a) = + HST.is_eternal_region r /\ + normalize (FStar.List.Tot.length init <= UInt.max_int 32) + +(* + * See the Allocation comment above when changing the spec + *) +val mgcmalloc_of_list (#a:Type0) (#rrel:srel a) (r:HS.rid) (init:list a) + :HST.ST (b:lmbuffer a rrel rrel (normalize_term (List.Tot.length init)){frameOf b == r /\ recallable b}) + (requires (fun _ -> gcmalloc_of_list_pre r init)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.seq_of_list init))) + +(* + * See the Allocation comment above when changing the spec + *) +inline_for_extraction +let mgcmalloc_of_list_partial (#a:Type0) (#rrel:srel a) (r:HS.rid) (init:list a) + :HST.ST (b:lmbuffer_or_null a rrel rrel (normalize_term (List.Tot.length init)) r{recallable b}) + (requires (fun _ -> gcmalloc_of_list_pre r init)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.seq_of_list init))) + + = mgcmalloc_of_list r init + + +unfold let alloc_drgn_pre (h:HS.mem) (d:HST.drgn) (len:U32.t) = h `HS.live_region` (HST.rid_of_drgn d) /\ U32.v len > 0 + +val mmalloc_drgn (#a:Type0) (#rrel:srel a) + (d:HST.drgn) (init:a) (len:U32.t) +: HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == HST.rid_of_drgn d /\ region_lifetime_buf b}) + (requires fun h -> alloc_drgn_pre h d len) + (ensures fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init)) + +val mmalloc_drgn_mm (#a:Type0) (#rrel:srel a) + (d:HST.drgn) (init:a) (len:U32.t) +: HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == HST.rid_of_drgn d /\ freeable b}) + (requires fun h -> alloc_drgn_pre h d len) + (ensures fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) init)) + +val mmalloc_drgn_and_blit (#a:Type0) (#rrel:srel a) + (#rrel1 #rel1:srel a) + (d:HST.drgn) (src:mbuffer a rrel1 rel1) (id_src:U32.t) (len:U32.t) +: HST.ST (b:lmbuffer a rrel rrel (U32.v len){frameOf b == HST.rid_of_drgn d /\ region_lifetime_buf b}) + (requires fun h -> + alloc_drgn_pre h d len /\ + live h src /\ + U32.v id_src + U32.v len <= length src) + (ensures fun h0 b h1 -> + alloc_post_mem_common b h0 h1 + (Seq.slice (as_seq h0 src) (U32.v id_src) (U32.v id_src + U32.v len))) + + + +(***** End allocation functions *****) + + +/// Derived operations + +val blit (#a:Type0) (#rrel1 #rrel2 #rel1 #rel2:srel a) + (src:mbuffer a rrel1 rel1) + (idx_src:U32.t) + (dst:mbuffer a rrel2 rel2) + (idx_dst:U32.t) + (len:U32.t) + :HST.Stack unit (requires (fun h -> live h src /\ live h dst /\ + U32.v idx_src + U32.v len <= length src /\ + U32.v idx_dst + U32.v len <= length dst /\ + (* TODO: remove the rhs part of this disjunction once patterns on loc_buffer_from_to are introduced *) + (loc_disjoint (loc_buffer_from_to src idx_src (idx_src `U32.add` len)) (loc_buffer_from_to dst idx_dst (idx_dst `U32.add` len)) \/ disjoint src dst) /\ + rel2 (as_seq h dst) + (Seq.replace_subseq (as_seq h dst) (U32.v idx_dst) (U32.v idx_dst + U32.v len) + (Seq.slice (as_seq h src) (U32.v idx_src) (U32.v idx_src + U32.v len))))) + (ensures (fun h _ h' -> modifies (loc_buffer dst) h h' /\ + live h' dst /\ + Seq.slice (as_seq h' dst) (U32.v idx_dst) (U32.v idx_dst + U32.v len) == + Seq.slice (as_seq h src) (U32.v idx_src) (U32.v idx_src + U32.v len) /\ + Seq.slice (as_seq h' dst) 0 (U32.v idx_dst) == + Seq.slice (as_seq h dst) 0 (U32.v idx_dst) /\ + Seq.slice (as_seq h' dst) (U32.v idx_dst + U32.v len) (length dst) == + Seq.slice (as_seq h dst) (U32.v idx_dst + U32.v len) (length dst))) + +val fill (#t:Type) (#rrel #rel: srel t) + (b: mbuffer t rrel rel) + (z:t) + (len:U32.t) +: HST.Stack unit + (requires (fun h -> + live h b /\ + U32.v len <= length b /\ + rel (as_seq h b) (Seq.replace_subseq (as_seq h b) 0 (U32.v len) (Seq.create (U32.v len) z)) + )) + (ensures (fun h0 _ h1 -> + modifies (loc_buffer b) h0 h1 /\ + live h1 b /\ + Seq.slice (as_seq h1 b) 0 (U32.v len) == Seq.create (U32.v len) z /\ + Seq.slice (as_seq h1 b) (U32.v len) (length b) == Seq.slice (as_seq h0 b) (U32.v len) (length b) + )) + +/// Type class instantiation for compositionality with other kinds of memory locations than regions, references or buffers (just in case). +/// No usage pattern has been found yet. + +module MG = FStar.ModifiesGen + +val abuffer' (region: HS.rid) (addr: nat) : Tot Type0 + +inline_for_extraction +let abuffer (region: HS.rid) (addr: nat) : Tot Type0 = G.erased (abuffer' region addr) + +val cloc_cls: MG.cls abuffer + +val cloc_of_loc (l: loc) : Tot (MG.loc cloc_cls) + +val loc_of_cloc (l: MG.loc cloc_cls) : Tot loc + +val loc_of_cloc_of_loc (l: loc) : Lemma + (loc_of_cloc (cloc_of_loc l) == l) + [SMTPat (loc_of_cloc (cloc_of_loc l))] + +val cloc_of_loc_of_cloc (l: MG.loc cloc_cls) : Lemma + (cloc_of_loc (loc_of_cloc l) == l) + [SMTPat (cloc_of_loc (loc_of_cloc l))] + +val cloc_of_loc_none: unit -> Lemma (cloc_of_loc loc_none == MG.loc_none) + +val cloc_of_loc_union (l1 l2: loc) : Lemma + (cloc_of_loc (loc_union l1 l2) == MG.loc_union (cloc_of_loc l1) (cloc_of_loc l2)) + +val cloc_of_loc_addresses + (preserve_liveness: bool) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (cloc_of_loc (loc_addresses preserve_liveness r n) == MG.loc_addresses preserve_liveness r n) + +val cloc_of_loc_regions + (preserve_liveness: bool) + (r: Set.set HS.rid) +: Lemma + (cloc_of_loc (loc_regions preserve_liveness r) == MG.loc_regions preserve_liveness r) + +val loc_includes_to_cloc (l1 l2: loc) : Lemma + (loc_includes l1 l2 <==> MG.loc_includes (cloc_of_loc l1) (cloc_of_loc l2)) + +val loc_disjoint_to_cloc (l1 l2: loc) : Lemma + (loc_disjoint l1 l2 <==> MG.loc_disjoint (cloc_of_loc l1) (cloc_of_loc l2)) + +val modifies_to_cloc (l: loc) (h1 h2: HS.mem) : Lemma + (modifies l h1 h2 <==> MG.modifies (cloc_of_loc l) h1 h2) diff --git a/stage0/ulib/LowStar.PrefixFreezableBuffer.fst b/stage0/ulib/LowStar.PrefixFreezableBuffer.fst new file mode 100644 index 00000000000..d6f618db11b --- /dev/null +++ b/stage0/ulib/LowStar.PrefixFreezableBuffer.fst @@ -0,0 +1,148 @@ +(* + 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 LowStar.PrefixFreezableBuffer + +open FStar.HyperStack.ST + +include LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost + +module U8 = FStar.UInt8 +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module ST = FStar.HyperStack.ST + +module E = FStar.Endianness +module LE = LowStar.Endianness + + +(* + * Implementation for LowStar.PrefixfreezableBuffer + *) + +#set-options "--max_fuel 0 --max_ifuel 0" + +let le_to_n s = E.le_to_n s + +let prefix_freezable_preorder = pre + +let prefix_freezable_preorder_elim _ _ = () + +private let update_frozen_until_alloc + (b:mbuffer u8 prefix_freezable_preorder prefix_freezable_preorder) + : Stack + unit + (requires fun h -> + live h b /\ + length b >= 4 /\ + frozen_until (as_seq h b) == 0) + (ensures fun h0 _ h1 -> + live h1 b /\ + modifies (loc_buffer b) h0 h1 /\ + frozen_until (as_seq h1 b) == 4 /\ + witnessed b (frozen_until_at_least 4)) + = LE.store32_le_i b 0ul 4ul; + witness_p b (frozen_until_at_least 4) + +let gcmalloc r len = + let h0 = ST.get () in + + let b = mgcmalloc #_ #prefix_freezable_preorder r 0uy (U32.add len 4ul) in + + let h = ST.get () in E.le_to_n_zeros (Seq.slice (as_seq h b) 0 4); + + assert (fresh_loc (loc_buffer b) h0 h); //TODO: necessary for firing modifies_remove_new_locs lemma? + update_frozen_until_alloc b; + b + +let malloc r len = + let h0 = ST.get () in + + let b = mmalloc #_ #prefix_freezable_preorder r 0uy (U32.add len 4ul) in + + let h = ST.get () in E.le_to_n_zeros (Seq.slice (as_seq h b) 0 4); + + assert (fresh_loc (loc_buffer b) h0 h); //TODO: necessary for firing modifies_remove_new_locs lemma? + update_frozen_until_alloc b; + b + +let alloca len = + let h0 = ST.get () in + + let b = malloca #_ #prefix_freezable_preorder 0uy (U32.add len 4ul) in + + let h = ST.get () in E.le_to_n_zeros (Seq.slice (as_seq h b) 0 4); + + assert (fresh_loc (loc_buffer b) h0 h); //TODO: necessary for firing modifies_remove_new_locs lemma? + update_frozen_until_alloc b; + b + +let upd b i v = + recall_p b (frozen_until_at_least 4); + upd b i v + +(* + * This lemma handles the mismatch between the style of the spec + * in LE.store_pre and LE.store_post, and the preorder of PrefixFreezableBuffers + * Basically the sequence library is missing a lemma that eliminates + * equality on two slices to some equality on the base sequences + *) +let le_pre_post_index + (s1 s2:Seq.seq u8) + : Lemma + (ensures + (Seq.length s1 == Seq.length s2 /\ + Seq.length s1 >= 4 /\ + Seq.equal (Seq.slice s1 0 0) (Seq.slice s2 0 0) /\ + Seq.equal (Seq.slice s1 4 (Seq.length s1)) + (Seq.slice s2 4 (Seq.length s2))) ==> + + (forall (i:nat).{:pattern (Seq.index s1 i); (Seq.index s2 i)} + (i >= 4 /\ i < Seq.length s1) ==> + (Seq.index s1 i == Seq.index s2 i))) + = assert (forall (s:Seq.seq u8). + Seq.length s >= 4 ==> + (forall (i:nat). + (i >= 4 /\ i < Seq.length s) ==> + Seq.index s i == Seq.index (Seq.slice s 4 (Seq.length s)) (i - 4))) + +let freeze b i = + recall_p b (frozen_until_at_least 4); + FStar.Classical.forall_intro_2 le_pre_post_index; + LE.store32_le_i b 0ul i; + witness_p b (frozen_until_at_least (U32.v i)) + +let frozen_until_st b = LE.load32_le_i b 0ul + +let witness_slice b i j snap = + witness_p b (slice_is i j snap) + +let recall_slice b i j snap = + recall_p b (slice_is i j snap) + +let witness_frozen_until b n = + witness_p b (frozen_until_at_least n) + +let recall_frozen_until b n = + recall_p b (frozen_until_at_least n) + +let recall_frozen_until_default b = + recall_p b (frozen_until_at_least 4) diff --git a/stage0/ulib/LowStar.PrefixFreezableBuffer.fsti b/stage0/ulib/LowStar.PrefixFreezableBuffer.fsti new file mode 100644 index 00000000000..46ec82badc1 --- /dev/null +++ b/stage0/ulib/LowStar.PrefixFreezableBuffer.fsti @@ -0,0 +1,268 @@ +(* + 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 LowStar.PrefixFreezableBuffer + +open FStar.HyperStack.ST + +include LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost + +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module ST = FStar.HyperStack.ST + +(* + * A library for prefix freezable buffers of elements of type u8 + * + * Our monotonicity theory does not easily support preorders and predicates over + * multiple references. So instead of keeping the frozen-until counter in a + * separate (ghost) reference, the library maintains the frozen-until counter (a u32) + * in the first four bytes of the buffer itself + * + * Buffer contents up to the frozen-until counter are stable and clients can witness + * and recall them + * + *) + +type u8 = UInt8.t +type u32 = U32.t + +#set-options "--max_fuel 0 --max_ifuel 0" + + +/// This is the frozen until index in the sequence representation of a PrefixFreezableBuffer + +val le_to_n (s:Seq.seq u8) : Tot nat + +let frozen_until (s:Seq.seq u8{Seq.length s >= 4}) = le_to_n (Seq.slice s 0 4) + + +/// Preorder for PrefixFreezableBuffers + +private unfold let pre (s1 s2:Seq.seq u8) = + Seq.length s1 == Seq.length s2 /\ //lengths are same + (let len = Seq.length s1 in + len >= 4 ==> //if length >= 4 then + (let frozen_until1 = frozen_until s1 in + let frozen_until2 = frozen_until s2 in + (4 <= frozen_until1 /\ frozen_until1 <= len) ==> //if frozen_until1 is in the range [4, len] then + (frozen_until1 <= frozen_until2 /\ frozen_until2 <= len /\ //frozen until index increases monotonically, but remains <= len + (forall (i:nat).{:pattern Seq.index s2 i} + (4 <= i /\ i < frozen_until1) ==> Seq.index s2 i == Seq.index s1 i)))) //and the contents until frozen_until1 remain same + + +val prefix_freezable_preorder : srel u8 + +/// Clients can call the following lemma to reveal the preorder + +val prefix_freezable_preorder_elim (s1 s2:Seq.seq u8) + : Lemma (prefix_freezable_preorder s1 s2 <==> pre s1 s2) + + +/// Predicate for the frozen_until index being at least n +/// +/// It is stable w.r.t. the prefix_freezable_preorder + +let frozen_until_at_least (n:nat) : spred u8 = + fun s -> Seq.length s >= 4 /\ //it follows from the inequalities below, but we need it for typing of frozen_until + + 4 <= n /\ n <= frozen_until s /\ frozen_until s <= Seq.length s + + +/// Predicate for the frozen slice with indices in the [4, frozen_until) range +/// +/// It is stable w.r.t. the prefix_freezable_preorder + +let slice_is (i j:u32) (snap:G.erased (Seq.seq u8)) : spred u8 = + fun s -> let len = Seq.length s in len >= 4 /\ //for typing of frozen_until + (let frozen_until = frozen_until s in + let i = U32.v i in + let j = U32.v j in + let snap = G.reveal snap in + 4 <= i /\ i <= j /\ j <= frozen_until /\ frozen_until <= len /\ + Seq.length snap == j - i /\ + Seq.equal (Seq.slice s i j) snap) + + +/// Buffer type for PrefixfreezableBuffers +/// +/// And abbreviation for the length indexed version + +type buffer = + b:mbuffer u8 (prefix_freezable_preorder) (prefix_freezable_preorder) + {length b >= 4 /\ b `witnessed` frozen_until_at_least 4} + +unfold let lbuffer (len:u32) = + b:buffer{length b == U32.v len + 4} + + +/// Allocation precondition for prefix freezable buffers adds an additional constraint +/// that the input length + 4 must fit in u32 + +unfold let malloc_pre (r:HS.rid) (len:u32) = + UInt.size (U32.v len + 4) 32 /\ malloc_pre r len + + +/// The postcondition is also different in that there is no initializer +/// and an additional predicate for the initial value of the frozen_until_index + +unfold let alloc_post_mem_common + (h0:HS.mem) (b:buffer) (h1:HS.mem) + = live h1 b /\ + unused_in b h0 /\ + Map.domain (HS.get_hmap h1) `Set.equal` Map.domain (HS.get_hmap h0) /\ + HS.get_tip h1 == HS.get_tip h0 /\ + modifies loc_none h0 h1 /\ + frozen_until (as_seq h1 b) == 4 + + +/// Allocation functions + +val gcmalloc (r:HS.rid) (len:u32) + : ST (b:lbuffer len{frameOf b == r /\ recallable b}) + (requires fun _ -> malloc_pre r len) + (ensures alloc_post_mem_common) + +val malloc (r:HS.rid) (len:u32) + : ST + (b:lbuffer len{frameOf b == r /\ freeable b}) + (requires fun _ -> malloc_pre r len) + (ensures alloc_post_mem_common) + +unfold let alloca_pre (len:U32.t) = //precondition for stack allocated prefix freezable buffers + UInt.size (U32.v len + 4) 32 /\ alloca_pre len + +val alloca (len:u32) + : StackInline + (lbuffer len) + (requires fun _ -> alloca_pre len) + (ensures fun h0 b h1 -> + alloc_post_mem_common h0 b h1 /\ frameOf b == HS.get_tip h0) + + +/// Update function +/// +/// Input index must be geq than the current frozen until index + +val upd (b:buffer) (i:u32) (v:u8) + : Stack + unit + (requires fun h -> + live h b /\ U32.v i < length b /\ + U32.v i >= frozen_until (as_seq h b)) + (ensures fun h0 _ h1 -> + (not (g_is_null b)) /\ + modifies (loc_buffer b) h0 h1 /\ + live h1 b /\ + frozen_until (as_seq h0 b) == frozen_until (as_seq h1 b) /\ + as_seq h1 b == Seq.upd (as_seq h0 b) (U32.v i) v) + + +/// API to freeze the buffer up-to the input index +/// +/// Also provides a witnessed frozen_until_at_least predicate + +val freeze (b:buffer) (i:u32) + : Stack + unit + (requires fun h -> + live h b /\ + U32.v i <= length b /\ + U32.v i >= frozen_until (as_seq h b)) + (ensures fun h0 _ h1 -> + (not (g_is_null b)) /\ + modifies (loc_buffer b) h0 h1 /\ + live h1 b /\ + frozen_until (as_seq h1 b) == U32.v i /\ + b `witnessed` frozen_until_at_least (U32.v i) /\ + (forall (k:nat).{:pattern (Seq.index (as_seq h1 b) k)} //contents from [4, len) remain same + (4 <= k /\ k < length b) ==> + (Seq.index (as_seq h1 b) k == Seq.index (as_seq h0 b) k))) + + +/// API for querying the current frozen until index + +val frozen_until_st (b:buffer) + : Stack + u32 + (requires fun h -> live h b) + (ensures fun h0 r h1 -> + h0 == h1 /\ + U32.v r == frozen_until (as_seq h1 b)) + + +/// Clients can witness contents of some [i, j) within the range [4, frozen_until) + +val witness_slice (b:buffer) (i j:u32) (snap:G.erased (Seq.seq u8)) + : Stack + unit + (requires fun h -> slice_is i j snap (as_seq h b)) + (ensures fun h0 _ h1 -> + h0 == h1 /\ + b `witnessed` slice_is i j snap) + + +/// Clients can recall contents of some previously witnessed slice + +val recall_slice (b:buffer) (i j:u32) (snap:G.erased (Seq.seq u8)) + : Stack + unit + (requires fun h -> + (recallable b \/ live h b) /\ + b `witnessed` slice_is i j snap) + (ensures fun h0 _ h1 -> + h0 == h1 /\ + slice_is i j snap (as_seq h1 b)) + + +/// Clients can also witness the value of the frozen until index + +val witness_frozen_until (b:buffer) (n:nat) + : Stack + unit + (requires fun h -> frozen_until_at_least n (as_seq h b)) + (ensures fun h0 _ h1 -> + h0 == h1 /\ + b `witnessed` frozen_until_at_least n) + + +/// And then recall the previously witnessed value of the frozen until index + +val recall_frozen_until (b:buffer) (n:nat) + : Stack + unit + (requires fun h -> + (recallable b \/ live h b) /\ + b `witnessed` frozen_until_at_least n) + (ensures fun h0 _ h1 -> + h0 == h1 /\ + frozen_until_at_least n (as_seq h1 b)) + + +/// By-default, clients can recall that 4 <= frozen until index <= length b + +val recall_frozen_until_default (b:buffer) + : Stack + unit + (requires fun h -> recallable b \/ live h b) + (ensures fun h0 _ h1 -> + h0 == h1 /\ + frozen_until_at_least 4 (as_seq h1 b)) diff --git a/stage0/ulib/LowStar.Printf.fst b/stage0/ulib/LowStar.Printf.fst new file mode 100644 index 00000000000..76c1feab457 --- /dev/null +++ b/stage0/ulib/LowStar.Printf.fst @@ -0,0 +1,538 @@ +(* + 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 LowStar.Printf + +/// This module provides imperative printing functions for several +/// primitive Low* types, including +/// -- booleans (%b) +/// -- characters (%c) +/// -- strings (%s) +/// -- machine integers +/// (UInt8.t as %uy, UInt16.t as %us, UInt32.t as %ul, and UInt64.t as %uL; +/// Int8.t as %y, Int16.t as %i, Int32.t as %l , and Int64.t as %L) +/// -- and arrays (aka buffers) of these base types formatted +/// as %xN, where N is the format specifier for the array element type +/// e.g., %xuy for buffers of UInt8.t + +/// The main function of this module is `printf` +/// There are a few main differences relative to C printf +/// -- The format specifiers are different (see above) +/// +/// -- For technical reasons explained below, an extra dummy +/// argument `done` has to be provided at the end for the +/// computation to have any effect. +/// +/// E.g., one must write +/// `printf "%b %c" true 'c' done` +/// rather than just +/// `printf "%b %c" true 'c'` +/// +/// -- When printing arrays, two arguments must be passed; the +/// length of the array fragment to be formatted and the array +/// itself +/// +/// -- When extracted, rather than producing a C `printf` (which +/// does not, e.g., support printing of dynamically sized +/// arrays), our `printf` is specialized to a sequence of calls +/// to primitive printers for each supported type +/// +/// Before diving into the technical details of how this module works, +/// you might want to see a sample usage at the very end of this file. + +open FStar.Char +open FStar.String +open FStar.HyperStack.ST +module L = FStar.List.Tot +module LB = LowStar.Monotonic.Buffer + +/// `lmbuffer a r s l` is +/// - a monotonic buffer of `a` +/// - governed by preorders `r` and `s` +/// - with length `l` +let lmbuffer a r s l = + b:LB.mbuffer a r s{ + LB.len b == l + } + +/// `StTrivial`: A effect abbreviation for a stateful computation +/// with no precondition, and which does not change the state +effect StTrivial (a:Type) = + Stack a + (requires fun h -> True) + (ensures fun h0 _ h1 -> h0==h1) + +/// `StBuf a b`: A effect abbreviation for a stateful computation +/// that may read `b` does not change the state +effect StBuf (a:Type) #t #r #s #l (b:lmbuffer t r s l) = + Stack a + (requires fun h -> LB.live h b) + (ensures (fun h0 _ h1 -> h0 == h1)) + +/// Primitive printers for all the types supported by this module +assume val print_string: string -> StTrivial unit +assume val print_char : char -> StTrivial unit +assume val print_u8 : UInt8.t -> StTrivial unit +assume val print_u16 : UInt16.t -> StTrivial unit +assume val print_u32 : UInt32.t -> StTrivial unit +assume val print_u64 : UInt64.t -> StTrivial unit +assume val print_i8 : Int8.t -> StTrivial unit +assume val print_i16 : Int16.t -> StTrivial unit +assume val print_i32 : Int32.t -> StTrivial unit +assume val print_i64 : Int64.t -> StTrivial unit +assume val print_bool : bool -> StTrivial unit +assume val print_lmbuffer_bool (l:_) (#r:_) (#s:_) (b:lmbuffer bool r s l) : StBuf unit b +assume val print_lmbuffer_char (l:_) (#r:_) (#s:_) (b:lmbuffer char r s l) : StBuf unit b +assume val print_lmbuffer_string (l:_) (#r:_) (#s:_) (b:lmbuffer string r s l) : StBuf unit b +assume val print_lmbuffer_u8 (l:_) (#r:_) (#s:_) (b:lmbuffer UInt8.t r s l) : StBuf unit b +assume val print_lmbuffer_u16 (l:_) (#r:_) (#s:_) (b:lmbuffer UInt16.t r s l) : StBuf unit b +assume val print_lmbuffer_u32 (l:_) (#r:_) (#s:_) (b:lmbuffer UInt32.t r s l) : StBuf unit b +assume val print_lmbuffer_u64 (l:_) (#r:_) (#s:_) (b:lmbuffer UInt64.t r s l) : StBuf unit b +assume val print_lmbuffer_i8 (l:_) (#r:_) (#s:_) (b:lmbuffer Int8.t r s l) : StBuf unit b +assume val print_lmbuffer_i16 (l:_) (#r:_) (#s:_) (b:lmbuffer Int16.t r s l) : StBuf unit b +assume val print_lmbuffer_i32 (l:_) (#r:_) (#s:_) (b:lmbuffer Int32.t r s l) : StBuf unit b +assume val print_lmbuffer_i64 (l:_) (#r:_) (#s:_) (b:lmbuffer Int64.t r s l) : StBuf unit b + + +/// An attribute to control reduction +noextract irreducible +let __reduce__ = unit + +/// Base types supported so far +noextract +type base_typ = + | Bool + | Char + | String + | U8 + | U16 + | U32 + | U64 + | I8 + | I16 + | I32 + | I64 + +/// Argument types are base types and arrays thereof +/// Or polymorphic arguments specified by "%a" +noextract +type arg = + | Base of base_typ + | Array of base_typ + | Any + +/// Interpreting a `base_typ` as a type +[@@__reduce__] +noextract +let base_typ_as_type (b:base_typ) : Type0 = + match b with + | Bool -> bool + | Char -> char + | String -> string + | U8 -> FStar.UInt8.t + | U16 -> FStar.UInt16.t + | U32 -> FStar.UInt32.t + | U64 -> FStar.UInt64.t + | I8 -> FStar.Int8.t + | I16 -> FStar.Int16.t + | I32 -> FStar.Int32.t + | I64 -> FStar.Int64.t + +/// `fragment`: A format string is parsed into a list of fragments of +/// string literals and other arguments that need to be spliced in +/// (interpolated) +noextract +type fragment = + | Frag of string + | Interpolate of arg + +noextract +let fragments = list fragment + +/// `parse_format s`: +/// Parses a list of characters in a format string into a list of fragments +/// Or None, in case the format string is invalid +[@@__reduce__] +noextract inline_for_extraction +let rec parse_format + (s:list char) + : Tot (option fragments) + (decreases (L.length s)) + = let add_dir (d:arg) (ods : option fragments) + = match ods with + | None -> None + | Some ds -> Some (Interpolate d::ds) + in + let head_buffer (ods:option fragments) + = match ods with + | Some (Interpolate (Base t) :: rest) -> Some (Interpolate (Array t) :: rest) + | _ -> None + in + let cons_frag (c:char) (ods:option fragments) + = match ods with + | Some (Frag s::rest) -> Some (Frag (string_of_list (c :: list_of_string s)) :: rest) + | Some rest -> Some (Frag (string_of_list [c]) :: rest) + | _ -> None + in + match s with + | [] -> Some [] + | ['%'] -> None + + // %a... polymorphic arguments and preceded by their printers + | '%' :: 'a' :: s' -> + add_dir Any (parse_format s') + + // %x... arrays of base types + | '%' :: 'x' :: s' -> + head_buffer (parse_format ('%' :: s')) + + // %u ... Unsigned integers + | '%' :: 'u' :: s' -> begin + match s' with + | 'y' :: s'' -> add_dir (Base U8) (parse_format s'') + | 's' :: s'' -> add_dir (Base U16) (parse_format s'') + | 'l' :: s'' -> add_dir (Base U32) (parse_format s'') + | 'L' :: s'' -> add_dir (Base U64) (parse_format s'') + | _ -> None + end + + | '%' :: c :: s' -> begin + match c with + | '%' -> cons_frag '%' (parse_format s') + | 'b' -> add_dir (Base Bool) (parse_format s') + | 'c' -> add_dir (Base Char) (parse_format s') + | 's' -> add_dir (Base String) (parse_format s') + | 'y' -> add_dir (Base I8) (parse_format s') + | 'i' -> add_dir (Base I16) (parse_format s') + | 'l' -> add_dir (Base I32) (parse_format s') + | 'L' -> add_dir (Base I64) (parse_format s') + | _ -> None + end + + | c :: s' -> + cons_frag c (parse_format s') + + +/// `parse_format_string`: a wrapper around `parse_format` +[@@__reduce__] +noextract inline_for_extraction +let parse_format_string + (s:string) + : option fragments + = parse_format (list_of_string s) + +/// `lift a` lifts the type `a` to a higher universe +noextract +type lift (a:Type u#a) : Type u#(max a b) = + | Lift : a -> lift a + +/// `done` is a `unit` in universe 1 +noextract +let done : lift unit = Lift u#0 u#1 () + +/// `arg_t`: interpreting an argument as a type +/// (in universe 1) since it is polymorphic in the preorders of a buffer +/// GM: Somehow, this needs to be a `let rec` (even if it not really recursive) +/// or print_frags fails to verify. I don't know why; the generated +/// VC and its encoding seem identical (modulo hash consing in the +/// latter). +[@@__reduce__] +noextract +let rec arg_t (a:arg) : Type u#1 = + match a with + | Base t -> lift (base_typ_as_type t) + | Array t -> (l:UInt32.t & r:_ & s:_ & lmbuffer (base_typ_as_type t) r s l) + | Any -> (a:Type0 & (a -> StTrivial unit) & a) + +/// `frag_t`: a fragment is either a string literal or a argument to be interpolated +noextract +let frag_t = either string (a:arg & arg_t a) + +/// `live_frags h l` is a liveness predicate on all the buffers in `l` +[@@__reduce__] +noextract +let rec live_frags (h:_) (l:list frag_t) : prop = + match l with + | [] -> True + | Inl _ :: rest -> live_frags h rest + | Inr a :: rest -> + (match a with + | (| Base _, _ |) -> live_frags h rest + | (| Any, _ |) -> live_frags h rest + | (| Array _, (| _, _, _, b |) |) -> LB.live h b /\ live_frags h rest) + + +/// `interpret_frags` interprets a list of fragments as a Low* function type +/// Note `l` is the fragments in L-to-R order (i.e., parsing order) +/// `acc` accumulates the fragment values in reverse order +[@@__reduce__] +noextract +let rec interpret_frags (l:fragments) (acc:list frag_t) : Type u#1 = + match l with + | [] -> + // Always a dummy argument at the end + // Ensures that all cases of this match + // have the same universe, i.e., u#1 + lift u#0 u#1 unit + -> Stack unit + (requires fun h0 -> live_frags h0 acc) + (ensures fun h0 _ h1 -> h0 == h1) + + | Interpolate (Base t) :: args -> + // Base types are simple: we just take one more argument + x:base_typ_as_type t -> + interpret_frags args (Inr (| Base t, Lift x |) :: acc) + + | Interpolate (Array t) :: args -> + // Arrays are implicitly polymorphic in their preorders `r` and `s` + // which is what forces us to be in universe 1 + // Note, the length `l` is explicit + l:UInt32.t -> + #r:LB.srel (base_typ_as_type t) -> + #s:LB.srel (base_typ_as_type t) -> + b:lmbuffer (base_typ_as_type t) r s l -> + interpret_frags args (Inr (| Array t, (| l, r, s, b |) |) :: acc) + + | Interpolate Any :: args -> + #a:Type0 -> + p:(a -> StTrivial unit) -> + x:a -> + interpret_frags args (Inr (| Any, (| a, p, x |) |) :: acc) + + | Frag s :: args -> + // Literal fragments do not incur an additional argument + // We just accumulate them and recur + interpret_frags args (Inl s :: acc) + + +/// `normal` A normalization marker with very specific steps enabled +noextract unfold +let normal (#a:Type) (x:a) : a = + FStar.Pervasives.norm + [iota; + zeta; + delta_attr [`%__reduce__; `%BigOps.__reduce__]; + delta_only [`%Base?; `%Array?; `%Some?; `%Some?.v; `%list_of_string]; + primops; + simplify] + x + +/// `coerce`: A utility to trigger extensional equality of types +noextract +let coerce (x:'a{'a == 'b}) : 'b = x + +/// `fragment_printer`: The type of a printer of fragments +noextract +let fragment_printer = + (acc:list frag_t) + -> Stack unit + (requires fun h0 -> live_frags h0 acc) + (ensures fun h0 _ h1 -> h0 == h1) + +/// `print_frags`: Having accumulated all the pieces of a format +/// string and the arguments to the printed (i.e., the `list frag_t`), +/// this function does the actual work of printing them all using the +/// primitive printers +noextract inline_for_extraction +let rec print_frags (acc:list frag_t) + : Stack unit + (requires fun h0 -> live_frags h0 acc) + (ensures fun h0 _ h1 -> h0 == h1) + = match acc with + | [] -> () + | hd::tl -> + print_frags tl; + (match hd with + | Inl s -> print_string s + | Inr (| Base t, Lift value |) -> + (match t with + | Bool -> print_bool value + | Char -> print_char value + | String -> print_string value + | U8 -> print_u8 value + | U16 -> print_u16 value + | U32 -> print_u32 value + | U64 -> print_u64 value + | I8 -> print_i8 value + | I16 -> print_i16 value + | I32 -> print_i32 value + | I64 -> print_i64 value) + | Inr (| Array t, (| l, r, s, value |) |) -> + (match t with + | Bool -> print_lmbuffer_bool l value + | Char -> print_lmbuffer_char l value + | String -> print_lmbuffer_string l value + | U8 -> print_lmbuffer_u8 l value + | U16 -> print_lmbuffer_u16 l value + | U32 -> print_lmbuffer_u32 l value + | U64 -> print_lmbuffer_u64 l value + | I8 -> print_lmbuffer_i8 l value + | I16 -> print_lmbuffer_i16 l value + | I32 -> print_lmbuffer_i32 l value + | I64 -> print_lmbuffer_i64 l value) + | Inr (| Any, (| _, printer, value |) |) -> + printer value) + +[@@__reduce__] +let no_inst #a (#b:a -> Type) (f: (#x:a -> b x)) : unit -> #x:a -> b x = fun () -> f +[@@__reduce__] +let elim_unit_arrow #t (f:unit -> t) : t = f () + +// let test2 (f: (#a:Type -> a -> a)) : id_t 0 = test f () +// let coerce #a (#b: (a -> Type)) ($f: (#x:a -> b x)) (t:Type{norm t == (#x:a -> b x)}) +/// `aux frags acc`: This is the main workhorse which interprets a +/// parsed format string (`frags`) as a variadic, stateful function +[@@__reduce__] +noextract inline_for_extraction +let rec aux (frags:fragments) (acc:list frag_t) (fp: fragment_printer) : interpret_frags frags acc = + match frags with + | [] -> + let f (l:lift u#0 u#1 unit) + : Stack unit + (requires fun h0 -> live_frags h0 acc) + (ensures fun h0 _ h1 -> h0 == h1) + = fp acc + in + (f <: interpret_frags [] acc) + + | Frag s :: rest -> + coerce (aux rest (Inl s :: acc) fp) + + | Interpolate (Base t) :: args -> + let f (x:base_typ_as_type t) + : interpret_frags args (Inr (| Base t, Lift x |) :: acc) + = aux args (Inr (| Base t, Lift x |) :: acc) fp + in + f + + | Interpolate (Array t) :: rest -> + let f : + l:UInt32.t + -> #r:LB.srel (base_typ_as_type t) + -> #s:LB.srel (base_typ_as_type t) + -> b:lmbuffer (base_typ_as_type t) r s l + -> interpret_frags rest (Inr (| Array t, (| l, r, s, b |) |) :: acc) + = fun l #r #s b -> aux rest (Inr (| Array t, (| l, r, s, b |) |) :: acc) fp + in + f <: interpret_frags (Interpolate (Array t) :: rest) acc + + | Interpolate Any :: rest -> + let f : + unit + -> #a:Type + -> p:(a -> StTrivial unit) + -> x:a + -> interpret_frags rest (Inr (| Any, (| a, p, x |) |) :: acc) + = fun () #a p x -> aux rest (Inr (| Any, (| a, p, x |) |) :: acc) fp + in + elim_unit_arrow (no_inst (f ()) <: (unit -> interpret_frags (Interpolate Any :: rest) acc)) + +/// `format_string` : A valid format string is one that can be successfully parsed +[@@__reduce__] +noextract +let format_string = s:string{normal #bool (Some? (parse_format_string s))} + +/// `interpret_format_string` parses a string into fragments and then +/// interprets it as a type +[@@__reduce__] +noextract +let interpret_format_string (s:format_string) : Type = + interpret_frags (Some?.v (parse_format_string s)) [] + +/// `printf'`: Almost there ... this has a variadic type +/// and calls the actual printers for all its arguments. +/// +/// Note, the `normalize_term` in its body is crucial. It's what +/// allows the term to be specialized at extraction time. +noextract inline_for_extraction +let printf' (s:format_string) : interpret_format_string s = + normalize_term + (match parse_format_string s with + | Some frags -> aux frags [] print_frags) + +/// `intro_normal_f`: a technical gadget to introduce +/// implicit normalization in the domain and co-domain of a function type +noextract inline_for_extraction +let intro_normal_f (#a:Type) (b: (a -> Type)) (f:(x:a -> b x)) + : (x:(normal a) -> normal (b x)) + = f + +/// `printf`: The main function has type +/// `s:normal format_string -> normal (interpret_format_string s)` +/// Note: +/// This is the type F* infers for it and it is best to leave it that way +/// rather then writing it down and asking F* to re-check what it inferred. +/// +/// Annotating it results in a needless additional proof obligation to +/// equate types after they are partially reduced, which is pointless. +noextract inline_for_extraction +val printf : s:normal format_string -> normal (interpret_format_string s) +let printf = intro_normal_f #format_string interpret_format_string printf' + + +/// `skip`: We also provide `skip`, a function that has the same type as printf +/// but normalizes to `()`, i.e., it prints nothing. This is useful for conditional +/// printing in debug code, for instance. +noextract inline_for_extraction +let skip' (s:format_string) : interpret_format_string s = + normalize_term + (match parse_format_string s with + | Some frags -> aux frags [] (fun _ -> ())) + +noextract inline_for_extraction +val skip : s:normal format_string -> normal (interpret_format_string s) +let skip = intro_normal_f #format_string interpret_format_string skip' + + +/// `test`: A small test function +/// Running `fstar --codegen OCaml LowStar.Printf.fst --extract LowStar.Printf` +/// produces the following for the body of this function +/// ``` +/// print_string "Hello "; +/// print_bool true; +/// print_string " Low* "; +/// print_u64 m; +/// print_string " Printf "; +/// print_lmbuffer_bool l () () x; +/// print_string " "; +/// print_string "bye" +/// ``` +let test (m:UInt64.t) (l:UInt32.t) (#r:_) (#s:_) (x:LB.mbuffer bool r s{LB.len x = l}) + : Stack unit + (requires (fun h0 -> LB.live h0 x)) + (ensures (fun h0 _ h1 -> h0 == h1)) + = printf "Hello %b Low* %uL Printf %xb %s" + true //%b boolean + m //%uL u64 + l x //%xb (buffer bool) + "bye" + done //dummy universe coercion + +let test2 (x:(int & int)) (print_pair:(int & int) -> StTrivial unit) + : Stack unit + (requires (fun h0 -> True)) + (ensures (fun h0 _ h1 -> h0 == h1)) + = printf "Hello pair %a" print_pair x done + +let test3 (m:UInt64.t) (l:UInt32.t) (#r:_) (#s:_) (x:LB.mbuffer bool r s{LB.len x = l}) + : Stack unit + (requires (fun h0 -> LB.live h0 x)) + (ensures (fun h0 _ h1 -> h0 == h1)) + = skip "Hello %b Low* %uL Printf %xb %s" + true //%b boolean + m //%uL u64 + l x //%xb (buffer bool) + "bye" + done //dummy universe coercion diff --git a/stage0/ulib/LowStar.RVector.fst b/stage0/ulib/LowStar.RVector.fst new file mode 100644 index 00000000000..93e11cac701 --- /dev/null +++ b/stage0/ulib/LowStar.RVector.fst @@ -0,0 +1,1184 @@ +(* + 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 LowStar.RVector + +open FStar.Classical +open FStar.Integers +open LowStar.Modifies +open LowStar.Regional +open LowStar.Vector + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module S = FStar.Seq +module B = LowStar.Buffer +module V = LowStar.Vector + +module U32 = FStar.UInt32 + +/// Utilities + +/// A `regional` type `a` is also `copyable` when there exists a copy operator +/// that guarantees the same representation between `src` and `dst`. +/// For instance, the `copy` operation for `B.buffer a` is `B.blit`. +/// +/// Here, no reference at run-time is kept to the state argument of the +/// regional; conceivably, the caller will already have some reference handy to +/// the instance of the regional class and can retrieve the parameter from +/// there. +inline_for_extraction +noeq type copyable (#rst:Type) (a:Type0) (rg:regional rst a) = +| Cpy: + copy: (s:rst{s==Rgl?.state rg} -> src:a -> dst:a -> + HST.ST unit + (requires (fun h0 -> + rg_inv rg h0 src /\ rg_inv rg h0 dst /\ + HS.disjoint (Rgl?.region_of rg src) + (Rgl?.region_of rg dst))) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from + false (Rgl?.region_of rg dst)) h0 h1 /\ + rg_inv rg h1 dst /\ + Rgl?.r_repr rg h1 dst == Rgl?.r_repr rg h0 src))) -> + copyable a rg + +// rst: regional state +type rvector (#a:Type0) (#rst:Type) (rg:regional rst a) = V.vector a + +val loc_rvector: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> GTot loc +let loc_rvector #a #rst #rg rv = + loc_all_regions_from false (V.frameOf rv) + +/// The invariant of `rvector` +// Here we will define the invariant for `rvector #a` that contains +// the invariant for each element and some more about the vector itself. + +val rs_elems_inv: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + GTot Type0 +let rs_elems_inv #a #rst rg h rs i j = + V.forall_seq rs i j (rg_inv rg h) + +val rv_elems_inv: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + GTot Type0 +let rv_elems_inv #a #rst #rg h rv i j = + rs_elems_inv rg h (V.as_seq h rv) (U32.v i) (U32.v j) + +val elems_inv: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + GTot Type0 +let elems_inv #a #rst #rg h rv = + rv_elems_inv h rv 0ul (V.size_of rv) + +val rs_elems_reg: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + GTot Type0 +let rs_elems_reg #a #rst rg rs prid i j = + V.forall_seq rs i j + (fun v -> HS.extends (Rgl?.region_of rg v) prid) /\ + V.forall2_seq rs i j + (fun v1 v2 -> HS.disjoint (Rgl?.region_of rg v1) + (Rgl?.region_of rg v2)) + +val rv_elems_reg: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + GTot Type0 +let rv_elems_reg #a #rst #rg h rv i j = + rs_elems_reg rg (V.as_seq h rv) (V.frameOf rv) (U32.v i) (U32.v j) + +val elems_reg: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + GTot Type0 +let elems_reg #a #rst #rg h rv = + rv_elems_reg h rv 0ul (V.size_of rv) + +val rv_itself_inv: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> GTot Type0 +let rv_itself_inv #a #rst #rg h rv = + V.live h rv /\ V.freeable rv /\ + HST.is_eternal_region (V.frameOf rv) + +// This is the invariant of `rvector`. +val rv_inv: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> GTot Type0 +let rv_inv #a #rst #rg h rv = + elems_inv h rv /\ + elems_reg h rv /\ + rv_itself_inv h rv + +val rs_elems_inv_live_region: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + Lemma (requires (rs_elems_inv rg h rs i j)) + (ensures (V.forall_seq rs i j + (fun r -> HS.live_region h (Rgl?.region_of rg r)))) +let rec rs_elems_inv_live_region #a #rst rg h rs i j = + if i = j then () + else (Rgl?.r_inv_reg rg h (S.index rs (j - 1)); + rs_elems_inv_live_region rg h rs i (j - 1)) + +val rv_elems_inv_live_region: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + Lemma (requires (rv_elems_inv h rv i j)) + (ensures (V.forall_ h rv i j + (fun r -> HS.live_region h (Rgl?.region_of rg r)))) +let rv_elems_inv_live_region #a #rst #rg h rv i j = + rs_elems_inv_live_region rg h (V.as_seq h rv) (U32.v i) (U32.v j) + +/// Utilities for fine-grained region control + +val rs_loc_elem: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> i:nat{i < S.length rs} -> + GTot loc +let rs_loc_elem #a #rst rg rs i = + loc_all_regions_from false (Rgl?.region_of rg (S.index rs i)) + +val rs_loc_elems: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> i:nat -> j:nat{i <= j && j <= S.length rs} -> + GTot loc (decreases j) +let rec rs_loc_elems #a #rst rg rs i j = + if i = j then loc_none + else loc_union (rs_loc_elems rg rs i (j - 1)) + (rs_loc_elem rg rs (j - 1)) + +val rv_loc_elems: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + GTot loc +let rv_loc_elems #a #rst #rg h rv i j = + rs_loc_elems rg (V.as_seq h rv) (U32.v i) (U32.v j) + +val rv_loc_elem: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t{i < V.size_of rv} -> + GTot loc +let rv_loc_elem #a #rst #rg h rv i = + rs_loc_elems rg (V.as_seq h rv) (U32.v i) (U32.v i+1) + + +// Properties about inclusion of locations + +val rs_loc_elems_rec_inverse: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> + i:nat -> j:nat{i < j && j <= S.length rs} -> + Lemma (requires true) + (ensures (rs_loc_elems rg rs i j == + loc_union (rs_loc_elem rg rs i) + (rs_loc_elems rg rs (i + 1) j))) + (decreases j) +let rec rs_loc_elems_rec_inverse #a #rst rg rs i j = + if i + 1 = j then () + else (assert (rs_loc_elems rg rs i j == + loc_union (rs_loc_elems rg rs i (j - 1)) + (rs_loc_elem rg rs (j - 1))); + assert (rs_loc_elems rg rs (i + 1) j == + loc_union (rs_loc_elems rg rs (i + 1) (j - 1)) + (rs_loc_elem rg rs (j - 1))); + rs_loc_elems_rec_inverse rg rs i (j - 1); + assert (rs_loc_elems rg rs i j == + loc_union (loc_union + (rs_loc_elem rg rs i) + (rs_loc_elems rg rs (i + 1) (j - 1))) + (rs_loc_elem rg rs (j - 1))); + loc_union_assoc (rs_loc_elem rg rs i) + (rs_loc_elems rg rs (i + 1) (j - 1)) + (rs_loc_elem rg rs (j - 1))) + +val rs_loc_elems_includes: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + k:nat{i <= k && k < j} -> + Lemma (loc_includes (rs_loc_elems rg rs i j) + (rs_loc_elem rg rs k)) +let rec rs_loc_elems_includes #a #rst rg rs i j k = + if k = j - 1 then () + else rs_loc_elems_includes #a #rst rg rs i (j - 1) k + +val loc_all_exts_from: + preserve_liveness: bool -> r: HS.rid -> GTot loc +let loc_all_exts_from preserve_liveness r = + B.loc_regions + preserve_liveness + (Set.intersect + (HS.mod_set (Set.singleton r)) + (Set.complement (Set.singleton r))) + +val rs_loc_elem_included: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat{i < S.length rs} -> + Lemma (requires (HS.extends (Rgl?.region_of rg (S.index rs i)) prid)) + (ensures (loc_includes (loc_all_exts_from false prid) + (rs_loc_elem rg rs i))) +let rs_loc_elem_included #a #rst rg rs prid i = () + +val rs_loc_elems_included: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + Lemma (requires (rs_elems_reg rg rs prid i j)) + (ensures (loc_includes (loc_all_exts_from false prid) + (rs_loc_elems rg rs i j))) + (decreases j) +let rec rs_loc_elems_included #a #rst rg rs prid i j = + if i = j then () + else (rs_loc_elem_included rg rs prid (j - 1); + rs_loc_elems_included rg rs prid i (j - 1)) + +val rv_loc_elems_included: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + Lemma (requires (rv_elems_reg h rv i j)) + (ensures (loc_includes (loc_all_exts_from false (V.frameOf rv)) + (rv_loc_elems h rv i j))) +let rv_loc_elems_included #a #rst #rg h rv i j = + rs_loc_elems_included rg (V.as_seq h rv) (V.frameOf rv) (U32.v i) (U32.v j) + +// Properties about disjointness of locations + +val rs_loc_elem_disj: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + k:nat{i <= k && k < j} -> + l:nat{i <= l && l < j && k <> l} -> + Lemma (requires (rs_elems_reg rg rs prid i j)) + (ensures (loc_disjoint (rs_loc_elem rg rs k) + (rs_loc_elem rg rs l))) +let rs_loc_elem_disj #a #rst rg rs prid i j k l = () + +val rs_loc_elem_disj_forall: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + Lemma (requires (rs_elems_reg rg rs prid i j)) + (ensures ( + forall (k:nat{i <= k && k < j}). + forall (l:nat{i <= l && l < j && k <> l}). + loc_disjoint (rs_loc_elem rg rs k) + (rs_loc_elem rg rs l))) +let rs_loc_elem_disj_forall #a #rst rg rs prid i j = () + +val rs_loc_elems_elem_disj: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + k1:nat{i <= k1} -> + k2:nat{k1 <= k2 && k2 <= j} -> + l:nat{i <= l && l < j && (l < k1 || k2 <= l)} -> + Lemma (requires (rs_elems_reg rg rs prid i j)) + (ensures (loc_disjoint (rs_loc_elems rg rs k1 k2) + (rs_loc_elem rg rs l))) + (decreases k2) +let rec rs_loc_elems_elem_disj #a #rst rg rs prid i j k1 k2 l = + if k1 = k2 then () + else (rs_loc_elem_disj rg rs prid i j (k2 - 1) l; + rs_loc_elems_elem_disj rg rs prid i j k1 (k2 - 1) l) + +val rs_loc_elems_disj: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + k1:nat{i <= k1} -> + k2:nat{k1 <= k2 && k2 <= j} -> + l1:nat{i <= l1} -> + l2:nat{l1 <= l2 && l2 <= j} -> + Lemma (requires (rs_elems_reg rg rs prid i j /\ (k2 <= l1 || l2 <= k1))) + (ensures (loc_disjoint (rs_loc_elems rg rs k1 k2) + (rs_loc_elems rg rs l1 l2))) + (decreases k2) +let rec rs_loc_elems_disj #a #rst rg rs prid i j k1 k2 l1 l2 = + if k1 = k2 then () + else (rs_loc_elems_elem_disj rg rs prid i j l1 l2 (k2 - 1); + rs_loc_elems_disj rg rs prid i j k1 (k2 - 1) l1 l2) + +val rv_loc_elems_disj: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + k1:uint32_t{i <= k1} -> + k2:uint32_t{k1 <= k2 && k2 <= j} -> + l1:uint32_t{i <= l1} -> + l2:uint32_t{l1 <= l2 && l2 <= j} -> + Lemma (requires (rv_elems_reg h rv i j /\ (k2 <= l1 || l2 <= k1))) + (ensures (loc_disjoint (rv_loc_elems h rv k1 k2) + (rv_loc_elems h rv l1 l2))) +let rv_loc_elems_disj #a #rst #rg h rv i j k1 k2 l1 l2 = + rs_loc_elems_disj rg (V.as_seq h rv) (V.frameOf rv) + (U32.v i) (U32.v j) (U32.v k1) (U32.v k2) (U32.v l1) (U32.v l2) + +val rs_loc_elems_parent_disj: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> prid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + Lemma (requires (rs_elems_reg rg rs prid i j)) + (ensures (loc_disjoint (rs_loc_elems rg rs i j) + (loc_region_only false prid))) + (decreases j) +let rec rs_loc_elems_parent_disj #a #rst rg rs prid i j = + if i = j then () + else rs_loc_elems_parent_disj rg rs prid i (j - 1) + +val rv_loc_elems_parent_disj: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + Lemma (requires (rv_elems_reg h rv i j)) + (ensures (loc_disjoint (rv_loc_elems h rv i j) + (loc_region_only false (V.frameOf rv)))) +let rv_loc_elems_parent_disj #a #rst #rg h rv i j = + rs_loc_elems_parent_disj rg (V.as_seq h rv) (V.frameOf rv) (U32.v i) (U32.v j) + +val rs_loc_elems_each_disj: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> drid:HS.rid -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + Lemma (requires (V.forall_seq rs i j + (fun r -> HS.disjoint (Rgl?.region_of rg r) drid))) + (ensures (loc_disjoint (rs_loc_elems rg rs i j) + (loc_all_regions_from false drid))) + (decreases j) +let rec rs_loc_elems_each_disj #a #rst rg rs drid i j = + if i = j then () + else rs_loc_elems_each_disj rg rs drid i (j - 1) + +val rv_loc_elems_each_disj: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + drid:HS.rid -> + Lemma (requires (V.forall_ h rv i j + (fun r -> HS.disjoint (Rgl?.region_of rg r) drid))) + (ensures (loc_disjoint (rv_loc_elems h rv i j) + (loc_all_regions_from false drid))) +let rv_loc_elems_each_disj #a #rst #rg h rv i j drid = + rs_loc_elems_each_disj rg (V.as_seq h rv) drid (U32.v i) (U32.v j) + +// Preservation based on disjointness + +val rv_loc_elems_preserved: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (V.live h0 rv /\ + loc_disjoint p (V.loc_vector_within rv i j) /\ + modifies p h0 h1)) + (ensures (rv_loc_elems h0 rv i j == + rv_loc_elems h1 rv i j)) + (decreases (U32.v j)) +let rec rv_loc_elems_preserved #a #rst #rg rv i j p h0 h1 = + if i = j then () + else (V.loc_vector_within_includes rv i j (j - 1ul) j; + V.get_preserved rv (j - 1ul) p h0 h1; + assert (V.get h0 rv (j - 1ul) == V.get h1 rv (j - 1ul)); + V.loc_vector_within_includes rv i j i (j - 1ul); + rv_loc_elems_preserved rv i (j - 1ul) p h0 h1) + +val rs_elems_inv_preserved: + #a:Type0 -> #rst:Type -> rg:regional rst a -> rs:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length rs} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rs_elems_inv rg h0 rs i j /\ + loc_disjoint p (rs_loc_elems rg rs i j) /\ + modifies p h0 h1)) + (ensures (rs_elems_inv rg h1 rs i j)) + (decreases j) +let rec rs_elems_inv_preserved #a #rst rg rs i j p h0 h1 = + if i = j then () + else (rs_elems_inv_preserved rg rs i (j - 1) p h0 h1; + Rgl?.r_sep rg (S.index rs (j - 1)) p h0 h1) + +val rv_elems_inv_preserved: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (V.live h0 rv /\ + rv_elems_inv h0 rv i j /\ + loc_disjoint p (V.loc_vector rv) /\ + loc_disjoint p (rv_loc_elems h0 rv i j) /\ + modifies p h0 h1)) + (ensures (rv_elems_inv h1 rv i j)) +let rv_elems_inv_preserved #a #rst #rg rv i j p h0 h1 = + rs_elems_inv_preserved rg (V.as_seq h0 rv) (U32.v i) (U32.v j) p h0 h1 + +val rv_inv_preserved_: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rv_inv h0 rv /\ + loc_disjoint p (loc_vector rv) /\ + loc_disjoint p (rv_loc_elems h0 rv 0ul (V.size_of rv)) /\ + modifies p h0 h1)) + (ensures (rv_inv h1 rv)) +let rv_inv_preserved_ #a #rst #rg rv p h0 h1 = + rv_elems_inv_preserved #a #rst #rg rv 0ul (V.size_of rv) p h0 h1 + +// The first core lemma of `rvector` +val rv_inv_preserved: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rv_inv h0 rv /\ + loc_disjoint p (loc_rvector rv) /\ + modifies p h0 h1)) + (ensures (rv_inv h1 rv)) + [SMTPat (rv_inv h0 rv); + SMTPat (loc_disjoint p (loc_rvector rv)); + SMTPat (modifies p h0 h1)] +let rv_inv_preserved #a #rst #rg rv p h0 h1 = + assert (loc_includes (loc_rvector rv) (V.loc_vector rv)); + rv_loc_elems_included h0 rv 0ul (V.size_of rv); + assert (loc_includes (loc_rvector rv) (rv_loc_elems h0 rv 0ul (V.size_of rv))); + rv_inv_preserved_ rv p h0 h1 + +val rv_inv_preserved_int: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + i:uint32_t{i < V.size_of rv} -> + h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rv_inv h0 rv /\ + modifies (loc_all_regions_from false + (Rgl?.region_of rg (V.get h0 rv i))) h0 h1 /\ + rg_inv rg h1 (V.get h1 rv i))) + (ensures (rv_inv h1 rv)) +let rv_inv_preserved_int #a #rst #rg rv i h0 h1 = + rs_loc_elems_elem_disj + rg (V.as_seq h0 rv) (V.frameOf rv) + 0 (U32.v (V.size_of rv)) 0 (U32.v i) (U32.v i); + rs_elems_inv_preserved + rg (V.as_seq h0 rv) 0 (U32.v i) + (loc_all_regions_from false + (Rgl?.region_of rg (V.get h1 rv i))) + h0 h1; + rs_loc_elems_elem_disj + rg (V.as_seq h0 rv) (V.frameOf rv) + 0 (U32.v (V.size_of rv)) + (U32.v i + 1) (U32.v (V.size_of rv)) (U32.v i); + rs_elems_inv_preserved + rg (V.as_seq h0 rv) (U32.v i + 1) (U32.v (V.size_of rv)) + (loc_all_regions_from false + (Rgl?.region_of rg (V.get h1 rv i))) + h0 h1 + +/// Representation + +val as_seq_seq: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> + j:nat{i <= j /\ j <= S.length rs /\ + rs_elems_inv rg h rs i j} -> + GTot (s:S.seq (Rgl?.repr rg){S.length s = j - i}) + (decreases j) +let rec as_seq_seq #a #rst rg h rs i j = + if i = j then S.empty + else S.snoc (as_seq_seq rg h rs i (j - 1)) + (Rgl?.r_repr rg h (S.index rs (j - 1))) + +val as_seq_sub: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg -> + i:uint32_t -> + j:uint32_t{ + i <= j /\ + j <= V.size_of rv /\ + rv_elems_inv h rv i j} -> + GTot (s:S.seq (Rgl?.repr rg){S.length s = U32.v j - U32.v i}) + (decreases (U32.v j)) +let as_seq_sub #a #rst #rg h rv i j = + as_seq_seq rg h (V.as_seq h rv) (U32.v i) (U32.v j) + +val as_seq: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg{rv_inv h rv} -> + GTot (s:S.seq (Rgl?.repr rg){S.length s = U32.v (V.size_of rv)}) +let as_seq #a #rst #rg h rv = + as_seq_sub h rv 0ul (V.size_of rv) + +val as_seq_sub_as_seq: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + h:HS.mem -> rv:rvector rg{rv_inv h rv} -> + Lemma (S.equal (as_seq_sub h rv 0ul (V.size_of rv)) + (as_seq h rv)) + [SMTPat (as_seq_sub h rv 0ul (V.size_of rv))] +let as_seq_sub_as_seq #a #rst #rg h rv = () + +val as_seq_seq_index: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> + j:nat{i <= j /\ j <= S.length rs /\ rs_elems_inv rg h rs i j} -> + k:nat{k < j - i} -> + Lemma (requires true) + (ensures (S.index (as_seq_seq rg h rs i j) k == + Rgl?.r_repr rg h (S.index rs (i + k)))) + (decreases j) + [SMTPat (S.index (as_seq_seq rg h rs i j) k)] +let rec as_seq_seq_index #a #rst rg h rs i j k = + if i = j then () + else if k = j - i - 1 then () + else as_seq_seq_index rg h rs i (j - 1) k + +val as_seq_seq_eq: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs1:S.seq a -> rs2:S.seq a -> + i:nat -> + j:nat{i <= j /\ j <= S.length rs1 /\ rs_elems_inv rg h rs1 i j} -> + k:nat -> + l:nat{k <= l /\ l <= S.length rs2 /\ rs_elems_inv rg h rs2 k l} -> + Lemma (requires (S.equal (S.slice rs1 i j) (S.slice rs2 k l))) + (ensures (S.equal (as_seq_seq rg h rs1 i j) + (as_seq_seq rg h rs2 k l))) +let as_seq_seq_eq #a #rst rg h rs1 rs2 i j k l = + assert (forall (a:nat{a < j - i}). + S.index (as_seq_seq rg h rs1 i j) a == + Rgl?.r_repr rg h (S.index rs1 (i + a))); + assert (forall (a:nat{a < l - k}). + S.index (as_seq_seq rg h rs2 k l) a == + Rgl?.r_repr rg h (S.index rs2 (k + a))); + assert (S.length (S.slice rs1 i j) = j - i); + assert (S.length (S.slice rs2 k l) = l - k); + assert (forall (a:nat{a < j - i}). + S.index (S.slice rs1 i j) a == + S.index (S.slice rs2 k l) a); + assert (forall (a:nat{a < j - i}). + S.index rs1 (i + a) == S.index rs2 (k + a)) + +val as_seq_seq_slice: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> j:nat{i <= j /\ j <= S.length rs /\ rs_elems_inv rg h rs i j} -> + k:nat -> l:nat{k <= l && l <= j - i} -> + Lemma (S.equal (S.slice (as_seq_seq rg h rs i j) k l) + (as_seq_seq rg h (S.slice rs (i + k) (i + l)) 0 (l - k))) +#reset-options "--z3rlimit 10" +let rec as_seq_seq_slice #a #rst rg h rs i j k l = + if k = l then () + else (as_seq_seq_slice rg h rs i j k (l - 1); + as_seq_seq_index rg h rs i j (l - 1); + as_seq_seq_eq rg h + (S.slice rs (i + k) (i + l - 1)) + (S.slice rs (i + k) (i + l)) + 0 (l - k - 1) 0 (l - k - 1)) + +val as_seq_seq_upd: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> rs:S.seq a -> + i:nat -> + j:nat{ + i <= j /\ + j <= S.length rs /\ + rs_elems_inv rg h rs i j} -> + k:nat{i <= k && k < j} -> v:a{rg_inv rg h v} -> + Lemma (S.equal (as_seq_seq rg h (S.upd rs k v) i j) + (S.upd (as_seq_seq rg h rs i j) (k - i) + (Rgl?.r_repr rg h v))) +let rec as_seq_seq_upd #a #rst rg h rs i j k v = + if i = j then () + else if k = j - 1 then () + else as_seq_seq_upd rg h rs i (j - 1) k v + +// Preservation based on disjointness + +val as_seq_seq_preserved: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + rs:S.seq a -> i:nat -> j:nat{i <= j && j <= S.length rs} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rs_elems_inv rg h0 rs i j /\ + loc_disjoint p (rs_loc_elems rg rs i j) /\ + modifies p h0 h1)) + (ensures (rs_elems_inv_preserved rg rs i j p h0 h1; + S.equal (as_seq_seq rg h0 rs i j) + (as_seq_seq rg h1 rs i j))) +let rec as_seq_seq_preserved #a #rst rg rs i j p h0 h1 = + if i = j then () + else (rs_elems_inv_preserved rg rs i (j - 1) p h0 h1; + as_seq_seq_preserved rg rs i (j - 1) p h0 h1; + Rgl?.r_sep rg (S.index rs (j - 1)) p h0 h1) + +val as_seq_sub_preserved: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg -> + i:uint32_t -> j:uint32_t{i <= j && j <= V.size_of rv} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (V.live h0 rv /\ + rv_elems_inv h0 rv i j /\ + loc_disjoint p (rv_loc_elems h0 rv i j) /\ + loc_disjoint p (V.loc_vector rv) /\ + modifies p h0 h1)) + (ensures (rv_elems_inv_preserved rv i j p h0 h1; + S.equal (as_seq_sub h0 rv i j) + (as_seq_sub h1 rv i j))) +let as_seq_sub_preserved #a #rst #rg rv i j p h0 h1 = + as_seq_seq_preserved rg (V.as_seq h0 rv) (U32.v i) (U32.v j) p h0 h1 + + +val as_seq_preserved_: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rv_inv h0 rv /\ + loc_disjoint p (loc_vector rv) /\ + loc_disjoint p (rv_loc_elems h0 rv 0ul (V.size_of rv)) /\ + modifies p h0 h1)) + (ensures (rv_inv_preserved_ rv p h0 h1; + S.equal (as_seq h0 rv) (as_seq h1 rv))) +let as_seq_preserved_ #a #rst #rg rv p h0 h1 = + as_seq_sub_preserved rv 0ul (V.size_of rv) p h0 h1 + + +// The second core lemma of `rvector` +val as_seq_preserved: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (rv_inv h0 rv /\ + loc_disjoint p (loc_rvector rv) /\ + modifies p h0 h1)) + (ensures (rv_inv_preserved rv p h0 h1; + S.equal (as_seq h0 rv) (as_seq h1 rv))) + [SMTPat (rv_inv h0 rv); + SMTPat (loc_disjoint p (loc_rvector rv)); + SMTPat (modifies p h0 h1)] +let as_seq_preserved #a #rst #rg rv p h0 h1 = + assert (loc_includes (loc_rvector rv) (V.loc_vector rv)); + rv_loc_elems_included h0 rv 0ul (V.size_of rv); + assert (loc_includes (loc_rvector rv) (rv_loc_elems h0 rv 0ul (V.size_of rv))); + as_seq_preserved_ rv p h0 h1 + +/// Construction + +val alloc_empty: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + HST.ST (rvector rg) + (requires (fun h0 -> true)) + (ensures (fun h0 bv h1 -> h0 == h1 /\ V.size_of bv = 0ul)) +let alloc_empty #a #rst rg = + V.alloc_empty a + +val alloc_: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + cidx:uint32_t{cidx <= V.size_of rv} -> + HST.ST unit + (requires (fun h0 -> rv_itself_inv h0 rv)) + (ensures (fun h0 _ h1 -> + modifies (V.loc_vector_within rv 0ul cidx) h0 h1 /\ + rv_itself_inv h1 rv /\ + rv_elems_inv h1 rv 0ul cidx /\ + rv_elems_reg h1 rv 0ul cidx /\ + S.equal (as_seq_sub h1 rv 0ul cidx) + (S.create (U32.v cidx) (Ghost.reveal (Rgl?.irepr rg))) /\ + // the loop invariant for this function + V.forall_ h1 rv 0ul cidx + (fun r -> HS.fresh_region (Rgl?.region_of rg r) h0 h1 /\ + Rgl?.r_alloc_p rg r) /\ + Set.subset (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)))) + (decreases (U32.v cidx)) +#reset-options "--z3rlimit 20" +let rec alloc_ #a #rst #rg rv cidx = + let hh0 = HST.get () in + if cidx = 0ul then () + else (let nrid = HST.new_region (V.frameOf rv) in + let v = rg_alloc rg nrid in + + let hh1 = HST.get () in + V.assign rv (cidx - 1ul) v; + + let hh2 = HST.get () in + V.loc_vector_within_included rv (cidx - 1ul) cidx; + Rgl?.r_sep + rg (V.get hh2 rv (cidx - 1ul)) + (V.loc_vector_within rv (cidx - 1ul) cidx) + hh1 hh2; + alloc_ rv (cidx - 1ul); + + let hh3 = HST.get () in + V.loc_vector_within_included rv 0ul (cidx - 1ul); + Rgl?.r_sep + rg (V.get hh3 rv (cidx - 1ul)) + (V.loc_vector_within rv 0ul (cidx - 1ul)) + hh2 hh3; + V.forall2_extend hh3 rv 0ul (cidx - 1ul) + (fun r1 r2 -> HS.disjoint (Rgl?.region_of rg r1) + (Rgl?.region_of rg r2)); + V.loc_vector_within_union_rev rv 0ul cidx) + +val alloc_rid: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + len:uint32_t{len > 0ul} -> rid:HST.erid -> + HST.ST (rvector rg) + (requires (fun h0 -> true)) + (ensures (fun h0 rv h1 -> + modifies (V.loc_vector rv) h0 h1 /\ + rv_inv h1 rv /\ + V.frameOf rv = rid /\ + V.size_of rv = len /\ + V.forall_all h1 rv (fun r -> Rgl?.r_alloc_p rg r) /\ + S.equal (as_seq h1 rv) + (S.create (U32.v len) (Ghost.reveal (Rgl?.irepr rg))))) +let alloc_rid #a #rst rg len rid = + let vec = V.alloc_rid len (rg_dummy rg) rid in + alloc_ #a #rst #rg vec len; + V.loc_vector_within_included vec 0ul len; + vec + +val alloc_reserve: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + len:uint32_t{len > 0ul} -> rid:HST.erid -> + HST.ST (rvector rg) + (requires (fun h0 -> true)) + (ensures (fun h0 rv h1 -> + modifies (V.loc_vector rv) h0 h1 /\ + rv_inv h1 rv /\ + V.frameOf rv = rid /\ + V.size_of rv = 0ul /\ + S.equal (as_seq h1 rv) S.empty /\ + Set.equal (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + B.fresh_loc (V.loc_vector rv) h0 h1)) +let alloc_reserve #a #rst rg len rid = + V.alloc_reserve len (rg_dummy rg) rid + +val alloc: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + len:uint32_t{len > 0ul} -> + HST.ST (rvector rg) + (requires (fun h0 -> true)) + (ensures (fun h0 rv h1 -> + modifies (V.loc_vector rv) h0 h1 /\ + rv_inv h1 rv /\ + HS.fresh_region (V.frameOf rv) h0 h1 /\ + V.size_of rv = len /\ + V.forall_all h1 rv (fun r -> Rgl?.r_alloc_p rg r) /\ + S.equal (as_seq h1 rv) + (S.create (U32.v len) (Ghost.reveal (Rgl?.irepr rg))))) +let alloc #a #rst rg len = + let nrid = HST.new_region HS.root in + alloc_rid rg len nrid + +val insert: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg{not (V.is_full rv)} -> v:a -> + HST.ST (rvector rg) + (requires (fun h0 -> + rv_inv h0 rv /\ rg_inv rg h0 v /\ + HS.extends (Rgl?.region_of rg v) (V.frameOf rv) /\ + V.forall_all h0 rv + (fun b -> HS.disjoint (Rgl?.region_of rg b) + (Rgl?.region_of rg v)))) + (ensures (fun h0 irv h1 -> + V.size_of irv = V.size_of rv + 1ul /\ + V.frameOf rv = V.frameOf irv /\ + modifies (loc_union (V.loc_addr_of_vector rv) + (V.loc_vector irv)) h0 h1 /\ + rv_inv h1 irv /\ + V.get h1 irv (V.size_of rv) == v /\ + S.equal (as_seq h1 irv) + (S.snoc (as_seq h0 rv) (Rgl?.r_repr rg h0 v)))) +#reset-options "--z3rlimit 20" +let insert #a #rst #rg rv v = + let hh0 = HST.get () in + let irv = V.insert rv v in + let hh1 = HST.get () in + + // Safety + rs_loc_elems_parent_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) 0 (U32.v (V.size_of rv)); + rs_elems_inv_preserved + rg (V.as_seq hh0 rv) 0 (U32.v (V.size_of rv)) + (loc_region_only false (V.frameOf rv)) + hh0 hh1; + Rgl?.r_sep rg v + (loc_region_only false (V.frameOf rv)) + hh0 hh1; + + // Correctness + assert (S.equal (V.as_seq hh0 rv) + (S.slice (V.as_seq hh1 irv) 0 (U32.v (V.size_of rv)))); + as_seq_seq_preserved + rg (V.as_seq hh0 rv) + 0 (U32.v (V.size_of rv)) + (loc_region_only false (V.frameOf rv)) hh0 hh1; + as_seq_seq_slice + rg hh1 (V.as_seq hh1 irv) 0 (U32.v (V.size_of irv)) + 0 (U32.v (V.size_of rv)); + irv + +val insert_copy: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> cp:copyable #rst a rg -> + rv:rvector rg{not (V.is_full rv)} -> v:a -> + HST.ST (rvector rg) + (requires (fun h0 -> + rv_inv h0 rv /\ rg_inv rg h0 v /\ + HS.disjoint (Rgl?.region_of rg v) (V.frameOf rv))) + (ensures (fun h0 irv h1 -> + V.size_of irv = V.size_of rv + 1ul /\ + V.frameOf rv = V.frameOf irv /\ + modifies (loc_rvector rv) h0 h1 /\ + rv_inv h1 irv /\ + S.equal (as_seq h1 irv) + (S.snoc (as_seq h0 rv) (Rgl?.r_repr rg h0 v)))) +let insert_copy #a #rst #rg cp rv v = + let hh0 = HST.get () in + rv_elems_inv_live_region hh0 rv 0ul (V.size_of rv); + let nrid = HST.new_region (V.frameOf rv) in + let nv = rg_alloc rg nrid in + + let hh1 = HST.get () in + Rgl?.r_sep rg v loc_none hh0 hh1; + rv_inv_preserved rv loc_none hh0 hh1; + as_seq_preserved rv loc_none hh0 hh1; + Cpy?.copy cp (Rgl?.state rg) v nv; + + let hh2 = HST.get () in + rv_loc_elems_each_disj hh2 rv 0ul (V.size_of rv) nrid; + rv_inv_preserved_ rv (loc_all_regions_from false nrid) hh1 hh2; + as_seq_preserved_ rv (loc_all_regions_from false nrid) hh1 hh2; + insert rv nv + +val assign: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + i:uint32_t{i < V.size_of rv} -> v:a -> + HST.ST unit + (requires (fun h0 -> + // rv_inv h0 rv /\ + rv_itself_inv h0 rv /\ + rv_elems_inv h0 rv 0ul i /\ + rv_elems_inv h0 rv (i + 1ul) (V.size_of rv) /\ + elems_reg h0 rv /\ + + V.forall_ h0 rv 0ul i + (fun b -> HS.disjoint (Rgl?.region_of rg b) + (Rgl?.region_of rg v)) /\ + V.forall_ h0 rv (i + 1ul) (V.size_of rv) + (fun b -> HS.disjoint (Rgl?.region_of rg b) + (Rgl?.region_of rg v)) /\ + rg_inv rg h0 v /\ + HS.extends (Rgl?.region_of rg v) (V.frameOf rv))) + (ensures (fun h0 _ h1 -> + modifies (V.loc_vector_within rv i (i + 1ul)) h0 h1 /\ + rv_inv h1 rv /\ + V.get h1 rv i == v /\ + S.equal (as_seq h1 rv) + (S.append + (as_seq_sub h0 rv 0ul i) + (S.cons (Rgl?.r_repr rg h0 v) + (as_seq_sub h0 rv (i + 1ul) (V.size_of rv)))))) +let assign #a #rst #rg rv i v = + let hh0 = HST.get () in + V.assign rv i v; + let hh1 = HST.get () in + + // Safety + rs_loc_elems_parent_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) 0 (U32.v i); + rs_loc_elems_parent_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) (U32.v i + 1) (U32.v (V.size_of rv)); + rs_elems_inv_preserved + rg (V.as_seq hh0 rv) 0 (U32.v i) + (V.loc_vector rv) + hh0 hh1; + rs_elems_inv_preserved + rg (V.as_seq hh0 rv) (U32.v i + 1) (U32.v (V.size_of rv)) + (V.loc_vector rv) + hh0 hh1; + Rgl?.r_sep rg v (V.loc_vector rv) hh0 hh1; + + // Correctness + rs_loc_elems_parent_disj + rg (V.as_seq hh1 rv) (V.frameOf rv) 0 (U32.v (V.size_of rv)); + as_seq_seq_preserved + rg (V.as_seq hh1 rv) + 0 (U32.v (V.size_of rv)) + (V.loc_vector rv) hh0 hh1 + +private val r_sep_forall: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + v:a{rg_inv rg h0 v} -> + Lemma (requires (loc_disjoint (loc_all_regions_from + false (Rgl?.region_of rg v)) p /\ + modifies p h0 h1)) + (ensures (rg_inv rg h1 v /\ + Rgl?.r_repr rg h0 v == Rgl?.r_repr rg h1 v)) +private let r_sep_forall #a #rst rg p h0 h1 v = + Rgl?.r_sep rg v p h0 h1 + +val assign_copy: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> cp:copyable #rst a rg -> + rv:rvector rg -> + i:uint32_t{i < V.size_of rv} -> v:a -> + HST.ST unit + (requires (fun h0 -> + rv_inv h0 rv /\ + rg_inv rg h0 v /\ + HS.disjoint (Rgl?.region_of rg v) (V.frameOf rv))) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from + false (Rgl?.region_of rg (V.get h1 rv i))) h0 h1 /\ + rv_inv h1 rv /\ + S.equal (as_seq h1 rv) + (S.upd (as_seq h0 rv) (U32.v i) (Rgl?.r_repr rg h0 v)))) +let assign_copy #a #rst #rg cp rv i v = + let hh0 = HST.get () in + Cpy?.copy cp (Rgl?.state rg) v (V.index rv i); + let hh1 = HST.get () in + + // Safety + rv_inv_preserved_int #a #rst #rg rv i hh0 hh1; + + // Correctness + forall_intro + (move_requires + (rs_loc_elem_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) + 0 (U32.v (V.size_of rv)) + (U32.v i))); + assert (forall (k:nat{k <> U32.v i && k < U32.v (V.size_of rv)}). + loc_disjoint (rs_loc_elem rg (V.as_seq hh0 rv) k) + (rs_loc_elem rg (V.as_seq hh0 rv) (U32.v i))); + forall_intro + (move_requires + (r_sep_forall + rg (rs_loc_elem rg (V.as_seq hh0 rv) (U32.v i)) + hh0 hh1)); + assert (forall (k:nat{k <> U32.v i && k < U32.v (V.size_of rv)}). + loc_disjoint (rs_loc_elem rg (V.as_seq hh0 rv) k) + (rs_loc_elem rg (V.as_seq hh0 rv) (U32.v i)) ==> + Rgl?.r_repr rg hh1 (S.index (V.as_seq hh1 rv) k) == + Rgl?.r_repr rg hh0 (S.index (V.as_seq hh0 rv) k)); + assert (forall (k:nat{k <> U32.v i && k < U32.v (V.size_of rv)}). + Rgl?.r_repr rg hh1 (S.index (V.as_seq hh1 rv) k) == + Rgl?.r_repr rg hh0 (S.index (V.as_seq hh0 rv) k)); + assert (forall (k:nat{k <> U32.v i && k < U32.v (V.size_of rv)}). + S.index (as_seq_seq rg hh1 (V.as_seq hh1 rv) + 0 (U32.v (V.size_of rv))) k == + S.index (as_seq_seq rg hh0 (V.as_seq hh0 rv) + 0 (U32.v (V.size_of rv))) k) + +val free_elems: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + idx:uint32_t{idx < V.size_of rv} -> + HST.ST unit + (requires (fun h0 -> + V.live h0 rv /\ + rv_elems_inv h0 rv 0ul (idx + 1ul) /\ + rv_elems_reg h0 rv 0ul (idx + 1ul))) + (ensures (fun h0 _ h1 -> + modifies (rv_loc_elems h0 rv 0ul (idx + 1ul)) h0 h1)) +let rec free_elems #a #rst #rg rv idx = + let hh0 = HST.get () in + rg_free rg (V.index rv idx); + + let hh1 = HST.get () in + rs_loc_elems_elem_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) + 0 (U32.v idx + 1) 0 (U32.v idx) (U32.v idx); + rv_elems_inv_preserved + rv 0ul idx (rs_loc_elem rg (V.as_seq hh0 rv) (U32.v idx)) hh0 hh1; + + if idx <> 0ul then + free_elems rv (idx - 1ul) + +val flush: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg -> i:uint32_t{i <= V.size_of rv} -> + HST.ST (rvector rg) + (requires (fun h0 -> rv_inv h0 rv)) + (ensures (fun h0 frv h1 -> + V.size_of frv = V.size_of rv - i /\ + V.frameOf rv = V.frameOf frv /\ + modifies (loc_rvector rv) h0 h1 /\ + rv_inv h1 frv /\ + S.equal (as_seq h1 frv) + (S.slice (as_seq h0 rv) (U32.v i) (U32.v (V.size_of rv))))) +#reset-options "--z3rlimit 40" +let flush #a #rst #rg rv i = + let hh0 = HST.get () in + (if i = 0ul then () else free_elems rv (i - 1ul)); + rv_loc_elems_included hh0 rv 0ul i; + + let hh1 = HST.get () in + assert (modifies (rs_loc_elems rg (V.as_seq hh0 rv) 0 (U32.v i)) hh0 hh1); + let frv = V.flush rv (rg_dummy rg) i in + + let hh2 = HST.get () in + assert (modifies (loc_region_only false (V.frameOf rv)) hh1 hh2); + + // Safety + rs_loc_elems_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) 0 (U32.v (V.size_of rv)) + 0 (U32.v i) (U32.v i) (U32.v (V.size_of rv)); + rs_loc_elems_parent_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) + (U32.v i) (U32.v (V.size_of rv)); + rs_elems_inv_preserved + rg (V.as_seq hh0 rv) (U32.v i) (U32.v (V.size_of rv)) + (loc_union (rs_loc_elems rg (V.as_seq hh0 rv) 0 (U32.v i)) + (loc_region_only false (V.frameOf rv))) + hh0 hh2; + assert (rv_inv #a #rst #rg hh2 frv); + + // Correctness + as_seq_seq_preserved + rg (V.as_seq hh0 rv) (U32.v i) (U32.v (V.size_of rv)) + (loc_union (rs_loc_elems rg (V.as_seq hh0 rv) 0 (U32.v i)) + (loc_region_only false (V.frameOf rv))) + hh0 hh2; + as_seq_seq_slice + rg hh0 (V.as_seq hh0 rv) 0 (U32.v (V.size_of rv)) + (U32.v i) (U32.v (V.size_of rv)); + assert (S.equal (S.slice (as_seq hh0 rv) (U32.v i) (U32.v (V.size_of rv))) + (as_seq_seq rg hh2 (V.as_seq hh0 rv) + (U32.v i) (U32.v (V.size_of rv)))); + as_seq_seq_eq + rg hh2 (V.as_seq hh0 rv) (V.as_seq hh2 frv) + (U32.v i) (U32.v (V.size_of rv)) 0 (U32.v (V.size_of frv)); + assert (S.equal (as_seq_seq rg hh2 (V.as_seq hh2 frv) + 0 (U32.v (V.size_of frv))) + (as_seq_seq rg hh2 (V.as_seq hh0 rv) + (U32.v i) (U32.v (V.size_of rv)))); + assert (S.equal (S.slice (as_seq hh0 rv) (U32.v i) (U32.v (V.size_of rv))) + (as_seq hh2 frv)); + frv + +val free_elems_from: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + idx:uint32_t{idx < V.size_of rv} -> + HST.ST unit + (requires (fun h0 -> + V.live h0 rv /\ + rv_elems_inv h0 rv idx (V.size_of rv) /\ + rv_elems_reg h0 rv idx (V.size_of rv))) + (ensures (fun h0 _ h1 -> + modifies (rv_loc_elems h0 rv idx (V.size_of rv)) h0 h1)) +let rec free_elems_from #a #rst #rg rv idx = + let hh0 = HST.get () in + rs_loc_elems_elem_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) + (U32.v idx) (U32.v (V.size_of rv)) + (U32.v idx+1) (U32.v (V.size_of rv)) + (U32.v idx); + + rg_free rg (V.index rv idx); + + let hh1 = HST.get () in + rv_elems_inv_preserved + rv (idx+1ul) (V.size_of rv) + (rv_loc_elem hh0 rv idx) hh0 hh1; + + if idx + 1ul < V.size_of rv then + begin + free_elems_from rv (idx + 1ul); + rs_loc_elems_rec_inverse rg (V.as_seq hh0 rv) (U32.v idx) (U32.v (V.size_of rv)) + end + +val shrink: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> + rv:rvector rg -> new_size:uint32_t{new_size <= V.size_of rv} -> + HST.ST (rvector rg) + (requires (fun h0 -> rv_inv h0 rv)) + (ensures (fun h0 frv h1 -> + V.size_of frv = new_size /\ + V.frameOf rv = V.frameOf frv /\ + modifies (loc_rvector rv) h0 h1 /\ + rv_inv h1 frv /\ + S.equal (as_seq h1 frv) + (S.slice (as_seq h0 rv) 0 (U32.v new_size)))) +#reset-options "--z3rlimit 40" +let shrink #a #rst #rg rv new_size = + let size = V.size_of rv in + [@@inline_let] let sz = U32.v size in + [@@inline_let] let nsz = U32.v new_size in + let hh0 = HST.get () in + if new_size >= size then rv else + begin + free_elems_from rv new_size; + rv_loc_elems_included hh0 rv new_size size; + let hh1 = HST.get () in + assert (modifies (rs_loc_elems rg (V.as_seq hh0 rv) nsz sz) hh0 hh1); + let frv = V.shrink rv new_size in + + let hh2 = HST.get () in + assert (modifies (loc_region_only false (V.frameOf rv)) hh1 hh2); + + // Safety + rs_loc_elems_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) 0 sz + 0 nsz nsz sz; + rs_loc_elems_parent_disj + rg (V.as_seq hh0 rv) (V.frameOf rv) 0 nsz; + rs_elems_inv_preserved + rg (V.as_seq hh0 rv) 0 nsz + (loc_union (rs_loc_elems rg (V.as_seq hh0 rv) nsz sz) + (loc_region_only false (V.frameOf rv))) + hh0 hh2; + assert (rv_inv #a #rst #rg hh2 frv); + + // Correctness + as_seq_seq_preserved + rg (V.as_seq hh0 rv) 0 nsz + (loc_union (rs_loc_elems rg (V.as_seq hh0 rv) nsz sz) + (loc_region_only false (V.frameOf rv))) + hh0 hh2; + as_seq_seq_slice + rg hh0 (V.as_seq hh0 rv) 0 sz 0 nsz; + assert (S.equal (S.slice (as_seq hh0 rv) 0 nsz) + (as_seq_seq rg hh2 (V.as_seq hh0 rv) 0 nsz)); + as_seq_seq_eq + rg hh2 (V.as_seq hh0 rv) (V.as_seq hh2 frv) 0 nsz 0 nsz; + assert (S.equal (as_seq_seq rg hh2 (V.as_seq hh2 frv) 0 nsz) + (as_seq_seq rg hh2 (V.as_seq hh0 rv) 0 nsz)); + assert (S.equal (S.slice (as_seq hh0 rv) 0 nsz) + (as_seq hh2 frv)); + frv +end + +val free: + #a:Type0 -> #rst:Type -> #rg:regional rst a -> rv:rvector rg -> + HST.ST unit + (requires (fun h0 -> rv_inv h0 rv)) + (ensures (fun h0 _ h1 -> modifies (loc_rvector rv) h0 h1)) +let free #a #rst #rg rv = + let hh0 = HST.get () in + (if V.size_of rv = 0ul then () + else free_elems rv (V.size_of rv - 1ul)); + let hh1 = HST.get () in + rv_loc_elems_included hh0 rv 0ul (V.size_of rv); + V.free rv diff --git a/stage0/ulib/LowStar.Regional.Instances.fst b/stage0/ulib/LowStar.Regional.Instances.fst new file mode 100644 index 00000000000..fdea7459d95 --- /dev/null +++ b/stage0/ulib/LowStar.Regional.Instances.fst @@ -0,0 +1,277 @@ +(* + 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 LowStar.Regional.Instances + +open FStar.Integers +open LowStar.Buffer +open LowStar.Regional +open LowStar.RVector + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module S = FStar.Seq +module B = LowStar.Buffer +module V = LowStar.Vector +module RV = LowStar.RVector + +/// `LowStar.Buffer` is regional + +val buffer_region_of: + #a:Type -> v:B.buffer a -> GTot HS.rid +let buffer_region_of #a v = + B.frameOf v + +val buffer_dummy: a:Type -> Tot (B.buffer a) +let buffer_dummy _ = B.null + +let nonzero = len:UInt32.t{len > 0ul} + +val buffer_r_inv: + #a:Type -> len:nonzero -> + h:HS.mem -> v:B.buffer a -> GTot Type0 +let buffer_r_inv #a len h v = + B.live h v /\ B.freeable v /\ + B.len v == len + +val buffer_r_inv_reg: + #a:Type -> len:nonzero -> + h:HS.mem -> v:B.buffer a -> + Lemma (requires (buffer_r_inv len h v)) + (ensures (HS.live_region h (buffer_region_of v))) +let buffer_r_inv_reg #a len h v = () + +val buffer_repr: a:Type0 -> len:nat{len > 0} -> Type0 +let buffer_repr a len = s:S.seq a{S.length s = len} + +val buffer_r_repr: + #a:Type -> len:UInt32.t{len > 0ul} -> + h:HS.mem -> v:B.buffer a{buffer_r_inv len h v} -> + GTot (buffer_repr a (UInt32.v len)) +let buffer_r_repr #a len h v = B.as_seq h v + +val buffer_r_sep: + #a:Type -> len:UInt32.t{len > 0ul} -> + v:B.buffer a -> p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (buffer_r_inv len h0 v /\ + loc_disjoint + (loc_all_regions_from false + (buffer_region_of v)) p /\ + modifies p h0 h1)) + (ensures (buffer_r_inv len h1 v /\ + buffer_r_repr len h0 v == buffer_r_repr len h1 v)) +let buffer_r_sep #a len v p h0 h1 = + assert (loc_includes (loc_all_regions_from false (buffer_region_of v)) + (loc_buffer v)); + B.modifies_buffer_elim v p h0 h1 + +val buffer_irepr: + #a:Type0 -> ia:a -> len:UInt32.t{len > 0ul} -> + Ghost.erased (buffer_repr a (UInt32.v len)) +let buffer_irepr #a ia len = + Ghost.hide (S.create (UInt32.v len) ia) + +val buffer_r_alloc_p: + #a:Type0 -> v:B.buffer a -> GTot Type0 +let buffer_r_alloc_p #a v = + True + +/// This is the key example here that illustrates how to efficiently do +/// closure-conversion by hand: we have at run-time a function that takes +/// ``arg`` (an actual parameter) that contains the closure state. However, if +/// the function only takes ``arg``, it will have a type that is too +/// polymorphic, i.e. it'll have type ``forall arg. arg -> ...``. Therefore, we +/// add ``arg'`` which is an erased, type-only index which, once instantiated, +/// restricts the domain of the function to operate on the sole value being +/// captured. +val buffer_r_alloc: + #a:Type -> #arg':Ghost.erased (a & nonzero) -> arg:(a & nonzero) { arg == Ghost.reveal arg' } -> r:HST.erid -> + HST.ST (B.buffer a) + (requires (fun h0 -> true)) + (ensures (fun h0 v h1 -> + let ia = fst arg in + let len = snd arg in + Set.subset (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + modifies loc_none h0 h1 /\ + fresh_loc (B.loc_buffer v) h0 h1 /\ + buffer_r_alloc_p v /\ + buffer_r_inv len h1 v /\ + buffer_region_of v = r /\ + buffer_r_repr len h1 v == Ghost.reveal (buffer_irepr ia len))) +let buffer_r_alloc #a #_ (ia, len) r = + B.malloc r ia len + +val buffer_r_free: + #a:Type -> + #arg':Ghost.erased (a & nonzero) -> + arg:(a & nonzero) { arg == Ghost.reveal arg' } -> + v:B.buffer a -> + HST.ST unit + (requires (fun h0 -> + let ia = fst arg in + let len = snd arg in + buffer_r_inv len h0 v)) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from false (buffer_region_of v)) h0 h1)) +let buffer_r_free #a len v = + B.free v + +val buffer_copy: + #a:Type -> + #arg':Ghost.erased (a & nonzero) -> + arg:(a & nonzero){ arg == Ghost.reveal arg' } -> + src:B.buffer a -> dst:B.buffer a -> + HST.ST unit + (requires (fun h0 -> + let len = snd arg in + buffer_r_inv len h0 src /\ buffer_r_inv len h0 dst /\ + HS.disjoint (buffer_region_of src) (buffer_region_of dst))) + (ensures (fun h0 _ h1 -> + let len = snd arg in + modifies (loc_all_regions_from false (buffer_region_of dst)) h0 h1 /\ + buffer_r_inv len h1 dst /\ + buffer_r_repr len h1 dst == buffer_r_repr len h0 src)) +let buffer_copy #a #_ (ia, len) src dst = + B.blit src 0ul dst 0ul len + +#set-options "--print_implicits" +val buffer_regional: + #a:Type -> ia:a -> len:nonzero -> + regional (a & nonzero) (B.buffer a) +let buffer_regional #a ia len = + Rgl (ia, len) + (buffer_region_of #a) + B.loc_buffer + (buffer_dummy a) + (buffer_r_inv #a len) + (buffer_r_inv_reg #a len) + (buffer_repr a (UInt32.v len)) + (buffer_r_repr #a len) + (buffer_r_sep #a len) + (buffer_irepr #a ia len) + (buffer_r_alloc_p #a) + // This is key: there is no partial application here, meaning this extracts to C. + (buffer_r_alloc #a #(ia, len)) + (buffer_r_free #a #(ia, len)) + + + +val buffer_copyable: + #a:Type -> ia:a -> len:nonzero -> + copyable #(a & nonzero) (B.buffer a) (buffer_regional ia len) +let buffer_copyable #a ia len = + Cpy (buffer_copy #_ #(ia, len)) + +/// If `a` is regional, then `vector a` is also regional. +/// +/// We keep a pointer at run-time to the parent type-class. + +val vector_region_of: + #a:Type0 -> #rst:Type -> rg:regional rst a -> v:rvector rg -> GTot HS.rid +let vector_region_of #a #rst rg v = V.frameOf v + +val vector_dummy: + #a:Type0 -> #rst:Type -> rg:Ghost.erased (regional rst a) -> Tot (rvector rg) +let vector_dummy #a #_ _ = V.alloc_empty a + +val vector_r_inv: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> v:rvector rg -> GTot Type0 +let vector_r_inv #a #rst rg h v = RV.rv_inv h v + +val vector_r_inv_reg: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> v:rvector rg -> + Lemma (requires (vector_r_inv rg h v)) + (ensures (HS.live_region h (vector_region_of rg v))) +let vector_r_inv_reg #a #rst rg h v = () + +val vector_repr: #a:Type0 -> #rst:Type -> rg:regional rst a -> Tot Type0 +let vector_repr #a #rst rg = S.seq (Rgl?.repr rg) + +val vector_r_repr: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + h:HS.mem -> v:rvector rg{vector_r_inv rg h v} -> + GTot (vector_repr rg) +let vector_r_repr #a #rst rg h v = RV.as_seq h v + +val vector_r_sep: + #a:Type0 -> #rst:Type -> rg:regional rst a -> + v:rvector rg -> p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (vector_r_inv rg h0 v /\ + loc_disjoint + (loc_all_regions_from false (vector_region_of rg v)) + p /\ + modifies p h0 h1)) + (ensures (vector_r_inv rg h1 v /\ + vector_r_repr rg h0 v == vector_r_repr rg h1 v)) +let vector_r_sep #a #rst rg v p h0 h1 = + RV.rv_inv_preserved v p h0 h1; + RV.as_seq_preserved v p h0 h1 + +val vector_irepr: + #a:Type0 -> #rst:Type -> rg:regional rst a -> Ghost.erased (vector_repr rg) +let vector_irepr #a #rst rg = + Ghost.hide S.empty + +val vector_r_alloc_p: + #a:Type0 -> #rst:Type -> rg:regional rst a -> v:rvector rg -> GTot Type0 +let vector_r_alloc_p #a #rst rg v = + V.size_of v = 0ul + +val vector_r_alloc: + #a:Type0 -> #rst:Type -> rg:regional rst a -> r:HST.erid -> + HST.ST (rvector rg) + (requires (fun h0 -> true)) + (ensures (fun h0 v h1 -> + Set.subset (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + modifies loc_none h0 h1 /\ + fresh_loc (V.loc_vector v) h0 h1 /\ + vector_r_alloc_p rg v /\ + vector_r_inv rg h1 v /\ + vector_region_of rg v = r /\ + vector_r_repr rg h1 v == Ghost.reveal (vector_irepr rg))) +let vector_r_alloc #a #rst rg r = + let nrid = HST.new_region r in + V.alloc_reserve 1ul (rg_dummy rg) r + +val vector_r_free: + #a:Type0 -> #rst:Type -> #rg:Ghost.erased (regional rst a) -> (s:regional rst a{s == Ghost.reveal rg}) -> v:rvector rg -> + HST.ST unit + (requires (fun h0 -> vector_r_inv rg h0 v)) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from false (vector_region_of rg v)) h0 h1)) +let vector_r_free #_ #_ _ v = + V.free v + +val vector_regional: + #a:Type0 -> #rst:Type -> rg:regional rst a -> regional (regional rst a) (rvector rg) +let vector_regional #a #rst rg = + Rgl rg + (vector_region_of #a #rst rg) + V.loc_vector + (vector_dummy #a #rst rg) + (vector_r_inv #a #rst rg) + (vector_r_inv_reg #a #rst rg) + (vector_repr #a rg) + (vector_r_repr #a #rst rg) + (vector_r_sep #a #rst rg) + (vector_irepr #a rg) + (vector_r_alloc_p #a #rst rg) + (vector_r_alloc #a #rst) + (vector_r_free #a #rst #rg) diff --git a/stage0/ulib/LowStar.Regional.fst b/stage0/ulib/LowStar.Regional.fst new file mode 100644 index 00000000000..bd3c3006fbb --- /dev/null +++ b/stage0/ulib/LowStar.Regional.fst @@ -0,0 +1,165 @@ +(* + 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 LowStar.Regional + +(** + * This module defines what is conceptually a typeclass called + * `regional` (although it is not syntactically marked as a `class` + * yet). + * + * `regional a` is the the class of types whose values have explicit + * memory allocations confined spatially within a single heap region + * in the hyperstack memory model. + * + * Being confined to a region, values of regional types support a + * natural framing principles: state mutations that do not overlap + * with a regional value's region are noninterfering. + * + * Instances of regional types are given for buffers and vectors: + * See LowStar.Regional.Instances, LowStar.RVector for samples. + * + *) + +open LowStar.Modifies + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +/// Regionality + +/// Motivation: we want to ensure that all stateful operations for a value of +/// type `a` are within the `region_of` the value. +/// +/// Furthermore, we would like regional to be parameterized over another type class +/// that elements can have. However, we are also trying to extract to C, meaning +/// that we can't incur any run-time lookups and indirections. In essence, we'd +/// like for members of a regional to potentially be partial applications where +/// the first argument may be an agility parameter, an extra type class for the +/// elements, etc. etc. except that partial applications are not allowed in C. +/// +/// We therefore add an "st" type, which is a piece of (pure) state (hence more +/// like a parameter) that functions are allowed to capture. Currently, only +/// ``r_alloc`` needs that extra parameter. The parameter is stored within the +/// type class, so that clients are not required to manage that piece of state +/// themselves. This is, in effect, closure-conversion for ``r_alloc`` where the +/// closure state is lifted and stored in the regional itself. As such, the only +/// piece of state that ``r_alloc`` may receive is the exact value that was +/// captured. +/// +/// Several alternative designs exist, e.g. making ``a`` at type ``st -> Type0`` +/// (won't extract); instantiating ``st`` as a singleton type and dropping the +/// refinement (also works, but doesn't make the intent of closure-conversion +/// explicit); dropping the refinement and leaving it up to the user to store +/// the refinement in ``r_inv`` (which would then take ``state`` as an +/// argument)... +noeq type regional (st:Type) (a:Type0) = +| Rgl: + // This is not really a piece of state, but more like a parameter. + state: st -> + + // The target type should have a region where it belongs. + region_of: (a -> GTot HS.rid) -> + + //loc_of for the underlying a + loc_of: (a -> GTot loc) -> + + // A parameterless value of type `a`. + // It does not have to satisfy the invariant `r_inv` described below. + dummy: a -> + + // An invariant we want to maintain for each operation. + // For example, it may include `live` and `freeable` properties + // for related objects. + r_inv: (HS.mem -> a -> GTot Type0) -> + r_inv_reg: + (h:HS.mem -> v:a -> + Lemma (requires (r_inv h v)) + (ensures (HS.live_region h (region_of v)))) -> + + // A representation type of `a` and a corresponding conversion function + repr: Type0 -> + r_repr: (h:HS.mem -> v:a{r_inv h v} -> GTot repr) -> + + // A core separation lemma, saying that the invariant and representation are + // preserved when an orthogonal state transition happens. + r_sep: + (v:a -> p:loc -> h:HS.mem -> h':HS.mem -> + Lemma (requires (r_inv h v /\ + loc_disjoint (loc_all_regions_from false (region_of v)) p /\ + modifies p h h')) + (ensures (r_inv h' v /\ r_repr h v == r_repr h' v))) -> + + /// Allocation + // The representation for the initial value of type `a` + irepr: Ghost.erased repr -> + + // A property that should hold for all initial values of type `a`. + r_alloc_p: (a -> GTot Type0) -> + + // An allocation operation. We might have several ways of initializing a + // given target type `a`; then multiple typeclass instances should be + // defined, and each of them can be used properly. + r_alloc: ((s:st { s == state }) -> r:HST.erid -> + HST.ST a + (requires (fun h0 -> True)) + (ensures (fun h0 v h1 -> + Set.subset (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + modifies loc_none h0 h1 /\ + fresh_loc (loc_of v) h0 h1 /\ //the underlying loc is fresh + r_alloc_p v /\ r_inv h1 v /\ region_of v == r /\ + r_repr h1 v == Ghost.reveal irepr))) -> + + // Destruction: note that it allows to `modify` all the regions, including + // its subregions. It is fair when we want to `free` a vector and its + // elements as well, assuming the elements belong to subregions. + r_free: ((s:st { s == state }) -> v:a -> + HST.ST unit + (requires (fun h0 -> r_inv h0 v)) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from false (region_of v)) h0 h1))) -> + + regional st a + +let rg_inv #a #rst (rg: regional rst a) = + Rgl?.r_inv rg + +inline_for_extraction +let rg_dummy #a #rst (rg:regional rst a) +: Tot a += Rgl?.dummy rg + +inline_for_extraction +let rg_alloc #a #rst (rg:regional rst a) (r:HST.erid) +: HST.ST a + (requires (fun h0 -> True)) + (ensures (fun h0 v h1 -> + Set.subset (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + modifies loc_none h0 h1 /\ + fresh_loc (Rgl?.loc_of rg v) h0 h1 /\ + (Rgl?.r_alloc_p rg) v /\ rg_inv rg h1 v /\ (Rgl?.region_of rg) v == r /\ + (Rgl?.r_repr rg) h1 v == Ghost.reveal (Rgl?.irepr rg))) += Rgl?.r_alloc rg (Rgl?.state rg) r + +inline_for_extraction +let rg_free #a #rst (rg:regional rst a) (v:a) +: HST.ST unit + (requires (fun h0 -> rg_inv rg h0 v)) + (ensures (fun h0 _ h1 -> + modifies (loc_all_regions_from false (Rgl?.region_of rg v)) h0 h1)) += (Rgl?.r_free rg) (Rgl?.state rg) v diff --git a/stage0/ulib/LowStar.UninitializedBuffer.fst b/stage0/ulib/LowStar.UninitializedBuffer.fst new file mode 100644 index 00000000000..e6082579d97 --- /dev/null +++ b/stage0/ulib/LowStar.UninitializedBuffer.fst @@ -0,0 +1,213 @@ +(* + 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 LowStar.UninitializedBuffer + +include LowStar.Monotonic.Buffer + +module P = FStar.Preorder +module G = FStar.Ghost +module U32 = FStar.UInt32 +module Seq = FStar.Seq + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(* + * Uninitialized buffers + * + * Modeled as: seq (option a) with a preorder that an index once set remains set + *) +private let initialization_preorder (a:Type0) :srel (option a) = + fun s1 s2 -> Seq.length s1 == Seq.length s2 /\ + (forall (i:nat).{:pattern (Seq.index s2 i)} i < Seq.length s1 ==> Some? (Seq.index s1 i) ==> Some? (Seq.index s2 i)) + +type ubuffer (a:Type0) = + mbuffer (option a) (initialization_preorder a) (initialization_preorder a) + +unfold let unull (#a:Type0) :ubuffer a = mnull #(option a) #(initialization_preorder a) #(initialization_preorder a) + +unfold let gsub (#a:Type0) = mgsub #(option a) #(initialization_preorder a) #(initialization_preorder a) (initialization_preorder a) + +unfold let gsub_inj (#a:Type0) = mgsub_inj #(option a) #(initialization_preorder a) #(initialization_preorder a) (initialization_preorder a) (initialization_preorder a) + +inline_for_extraction +type pointer (a:Type0) = b:ubuffer a{length b == 1} + +inline_for_extraction +type pointer_or_null (a:Type0) = b:ubuffer a{if g_is_null b then True else length b == 1} + +inline_for_extraction let usub (#a:Type0) = msub #(option a) #(initialization_preorder a) #(initialization_preorder a) (initialization_preorder a) + +inline_for_extraction let uoffset (#a:Type0) = moffset #(option a) #(initialization_preorder a) #(initialization_preorder a) (initialization_preorder a) + + +(****** main stateful API *****) + +(* + * b `initialized_at` i: is a stable predicate that witnesses the initialization of an index i in ubuffer b + *) +private let ipred (#a:Type0) (i:nat) :spred (option a) = fun s -> i < Seq.length s ==> Some? (Seq.index s i) +let initialized_at (#a:Type0) (b:ubuffer a) (i:nat) :Type0 = witnessed b (ipred i) + +(* + * Clients need to prove that b is initialized_at i + *) +let uindex (#a:Type0) (b:ubuffer a) (i:U32.t) + :HST.Stack a (requires (fun h0 -> live h0 b /\ U32.v i < length b /\ b `initialized_at` (U32.v i))) + (ensures (fun h0 y h1 -> let y_opt = Seq.index (as_seq h0 b) (U32.v i) in + Some? y_opt /\ y == Some?.v y_opt /\ h0 == h1)) + = let y_opt = index b i in + recall_p b (ipred (U32.v i)); + Some?.v y_opt + +(* + * b `initialized_at` i is a postcondition + *) +let uupd (#a:Type0) (b:ubuffer a) (i:U32.t) (v:a) + :HST.Stack unit (requires (fun h0 -> live h0 b /\ U32.v i < length b)) + (ensures (fun h0 _ h1 -> modifies (loc_buffer b) h0 h1 /\ + live h1 b /\ + as_seq h1 b == Seq.upd (as_seq h0 b) (U32.v i) (Some v) /\ + b `initialized_at` (U32.v i))) + = upd b i (Some v); + witness_p b (ipred (U32.v i)) + +unfold let lubuffer (a:Type0) (len:nat) = b:ubuffer a{length b == len} + +unfold let lubuffer_or_null (a:Type0) (len:nat) (r:HS.rid) = + b:ubuffer a{(not (g_is_null b)) ==> (length b == len /\ frameOf b == r)} + +(* + * No initializer + *) +let ugcmalloc (#a:Type0) (r:HS.rid) (len:U32.t) + :HST.ST (b:lubuffer a (U32.v len){frameOf b == r /\ recallable b}) + (requires (fun h0 -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) None))) + = mgcmalloc r None len + +inline_for_extraction +let ugcmalloc_partial (#a:Type0) (r:HS.rid) (len:U32.t) + :HST.ST (b:lubuffer_or_null a (U32.v len) r{recallable b}) + (requires (fun h0 -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) None))) + = mgcmalloc r None len + +let umalloc (#a:Type0) (r:HS.rid) (len:U32.t) + :HST.ST (b:lubuffer a (U32.v len){frameOf b == r /\ freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) None))) + = mmalloc r None len + +inline_for_extraction +let umalloc_partial (#a:Type0) (r:HS.rid) (len:U32.t) + :HST.ST (b:lubuffer_or_null a (U32.v len) r{(not (g_is_null b)) ==> freeable b}) + (requires (fun _ -> malloc_pre r len)) + (ensures (fun h0 b h1 -> alloc_partial_post_mem_common b h0 h1 (Seq.create (U32.v len) None))) + = mmalloc r None len + +let ualloca (#a:Type0) (len:U32.t) + :HST.StackInline (lubuffer a (U32.v len)) + (requires (fun _ -> alloca_pre len)) + (ensures (fun h0 b h1 -> alloc_post_mem_common b h0 h1 (Seq.create (U32.v len) None) /\ + frameOf b == HS.get_tip h0)) + = malloca None len + +(* + * blit functionality, where src is a regular buffer + *) +[@@"opaque_to_smt"] +unfold let valid_j_for_blit + (#a:Type0) (#rrel #rel:srel a) (src:mbuffer a rrel rel) (idx_src:U32.t) + (dst:ubuffer a) (idx_dst:U32.t) (j:U32.t) + = U32.v idx_src + U32.v j <= length src /\ + U32.v idx_dst + U32.v j <= length dst + +(* + * postcondition of blit + *) +[@@"opaque_to_smt"] +unfold private let ublit_post_j + (#a:Type0) (#rrel #rel:srel a) (src:mbuffer a rrel rel) (idx_src:U32.t) + (dst:ubuffer a) (idx_dst:U32.t) (j:U32.t{valid_j_for_blit src idx_src dst idx_dst j}) + (h0 h1:HS.mem) + = modifies (loc_buffer dst) h0 h1 /\ live h1 dst /\ + (forall (i:nat).{:pattern (Seq.index (as_seq h1 dst) i)} (i >= U32.v idx_dst /\ i < U32.v idx_dst + U32.v j ==> + Seq.index (as_seq h1 dst) i == + Some (Seq.index (as_seq h0 src) (U32.v idx_src + i - U32.v idx_dst))) + ) /\ + Seq.slice (as_seq h1 dst) 0 (U32.v idx_dst) == Seq.slice (as_seq h0 dst) 0 (U32.v idx_dst) /\ + Seq.slice (as_seq h1 dst) (U32.v idx_dst + U32.v j) (length dst) == Seq.slice (as_seq h0 dst) (U32.v idx_dst + U32.v j) (length dst) /\ + (forall (i:nat).{:pattern (dst `initialized_at` i)} (i >= U32.v idx_dst /\ i < U32.v idx_dst + U32.v j) ==> + dst `initialized_at` i) + +let ublit (#a:Type0) (#rrel #rel:srel a) + (src:mbuffer a rrel rel) (idx_src:U32.t) + (dst:ubuffer a{disjoint src dst}) (idx_dst:U32.t) + (len:U32.t{valid_j_for_blit src idx_src dst idx_dst len}) + :HST.Stack unit (requires (fun h0 -> live h0 src /\ live h0 dst)) + (ensures (fun h0 _ h1 -> ublit_post_j src idx_src dst idx_dst len h0 h1)) + = let rec aux (j:U32.t{valid_j_for_blit src idx_src dst idx_dst j}) + :HST.Stack unit + (requires (fun h0 -> live h0 src /\ live h0 dst /\ ublit_post_j src idx_src dst idx_dst j h0 h0)) + (ensures (fun h0 _ h1 -> ublit_post_j src idx_src dst idx_dst len h0 h1)) + = let open FStar.UInt32 in + if j = len then () + else if j <^ len then begin + uupd dst (idx_dst +^ j) (index src (idx_src +^ j)); + aux (j +^ 1ul) + end + in + aux 0ul + +let witness_initialized (#a:Type0) (b:ubuffer a) (i:nat) + :HST.ST unit (fun h0 -> i < length b /\ Some? (Seq.index (as_seq h0 b) i)) + (fun h0 _ h1 -> h0 == h1 /\ b `initialized_at` i) + = witness_p b (ipred i) + +let recall_initialized (#a:Type0) (b:ubuffer a) (i:nat) + :HST.ST unit (fun h0 -> (recallable b \/ live h0 b) /\ b `initialized_at` i) + (fun h0 _ h1 -> h0 == h1 /\ live h0 b /\ (i < length b ==> Some? (Seq.index (as_seq h0 b) i))) + = recall_p b (ipred i) + +let buffer_immutable_buffer_disjoint + (#ti:Type) (#t:Type0) + (bi:LowStar.ImmutableBuffer.ibuffer ti) + (b:ubuffer t) + (h: HS.mem) +: Lemma + (requires ( + live h b /\ + live h bi /\ + (exists (x:t). True ) // If the type is not inhabited, the initialization and immutable preorders are effectively identical + )) + (ensures ( + disjoint b bi + )) += if length b = 0 + then empty_disjoint b bi + else if length bi = 0 + then empty_disjoint bi b + else begin + let open LowStar.ImmutableBuffer in + let s = as_seq h b in + let s0 = Seq.upd s 0 None in + let s1 = Seq.upd s 0 (Some (FStar.IndefiniteDescription.indefinite_description_ghost t (fun _ -> True))) in + assert(initialization_preorder _ s0 s1 /\ + Seq.index s0 0 =!= Seq.index s1 0 /\ + ~( immutable_preorder _ s0 s1 <==> initialization_preorder _ s0 s1)); + live_same_addresses_equal_types_and_preorders b bi h + end diff --git a/stage0/ulib/LowStar.Vector.fst b/stage0/ulib/LowStar.Vector.fst new file mode 100644 index 00000000000..802c6c4e92a --- /dev/null +++ b/stage0/ulib/LowStar.Vector.fst @@ -0,0 +1,718 @@ +(* + 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 LowStar.Vector + + +(** + * This module provides support for mutable, partially filled arrays + * whose contents may grow up to some fixed capacity determined + * during initialization. + * + * Vectors support an insertion operation that may, if the capacity + * has been reached, involve copying its contents to a new + * vector of twice the capacity (so long as the capacity has not + * already reached max_uint32). + * + * Conversely, an operation called `flush` is also provided to + * shrink a vector to some prefix of its current contents. + * + * Other operations are fairly standard, and involve reading, + * writing, and iterating over a vector. + * + *) + +open FStar.Integers +open LowStar.Modifies + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module B = LowStar.Buffer +module S = FStar.Seq + +type uint32_t = UInt32.t + +val max_uint32: uint32_t +let max_uint32 = 4294967295ul // UInt32.uint_to_t (UInt.max_int UInt32.n) + +module U32 = FStar.UInt32 + +/// Abstract vector type + +inline_for_extraction noeq type vector_str a = +| Vec: sz:uint32_t -> + cap:uint32_t{cap >= sz} -> + vs:B.buffer a{B.len vs = cap} -> + vector_str a + +val vector (a: Type0): Tot Type0 +let vector a = vector_str a + +/// Specification + +val as_seq: + HS.mem -> #a:Type -> vec:vector a -> + GTot (s:S.seq a{S.length s = U32.v (Vec?.sz vec)}) +let as_seq h #a vec = + B.as_seq h (B.gsub (Vec?.vs vec) 0ul (Vec?.sz vec)) + +/// Capacity + +inline_for_extraction val size_of: #a:Type -> vec:vector a -> Tot uint32_t +inline_for_extraction let size_of #a vec = + Vec?.sz vec + +inline_for_extraction val capacity_of: #a:Type -> vec:vector a -> Tot uint32_t +inline_for_extraction let capacity_of #a vec = + Vec?.cap vec + +val is_empty: #a:Type -> vec:vector a -> Tot bool +let is_empty #a vec = + size_of vec = 0ul + +val is_full: #a:Type -> vstr:vector_str a -> GTot bool +let is_full #a vstr = + Vec?.sz vstr >= max_uint32 + +/// Memory-related + +val live: #a:Type -> HS.mem -> vector a -> GTot Type0 +let live #a h vec = + B.live h (Vec?.vs vec) + +val freeable: #a:Type -> vector a -> GTot Type0 +let freeable #a vec = + B.freeable (Vec?.vs vec) + +val loc_vector: #a:Type -> vector a -> GTot loc +let loc_vector #a vec = + B.loc_buffer (Vec?.vs vec) + +val loc_addr_of_vector: #a:Type -> vector a -> GTot loc +let loc_addr_of_vector #a vec = + B.loc_addr_of_buffer (Vec?.vs vec) + +val loc_vector_within: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + GTot loc (decreases (U32.v (j - i))) +let rec loc_vector_within #a vec i j = + if i = j then loc_none + else loc_union (B.loc_buffer (B.gsub (Vec?.vs vec) i 1ul)) + (loc_vector_within vec (i + 1ul) j) + +val loc_vector_within_includes_: + #a:Type -> vec:vector a -> + i:uint32_t -> + j1:uint32_t{i <= j1 && j1 <= size_of vec} -> + j2:uint32_t{i <= j2 && j2 <= j1} -> + Lemma (requires True) + (ensures (loc_includes (loc_vector_within vec i j1) + (loc_vector_within vec i j2))) + (decreases (U32.v (j1 - i))) +let rec loc_vector_within_includes_ #a vec i j1 j2 = + if i = j1 then () + else if i = j2 then () + else begin + loc_vector_within_includes_ vec (i + 1ul) j1 j2; + loc_includes_union_l (B.loc_buffer (B.gsub (Vec?.vs vec) i 1ul)) + (loc_vector_within vec (i + 1ul) j1) + (loc_vector_within vec (i + 1ul) j2); + loc_includes_union_r (loc_vector_within vec i j1) + (B.loc_buffer (B.gsub (Vec?.vs vec) i 1ul)) + (loc_vector_within vec (i + 1ul) j2) + end + +val loc_vector_within_includes: + #a:Type -> vec:vector a -> + i1:uint32_t -> j1:uint32_t{i1 <= j1 && j1 <= size_of vec} -> + i2:uint32_t{i1 <= i2} -> j2:uint32_t{i2 <= j2 && j2 <= j1} -> + Lemma (requires True) + (ensures (loc_includes (loc_vector_within vec i1 j1) + (loc_vector_within vec i2 j2))) + (decreases (U32.v (j1 - i1))) +let rec loc_vector_within_includes #a vec i1 j1 i2 j2 = + if i1 = j1 then () + else if i1 = i2 then loc_vector_within_includes_ vec i1 j1 j2 + else begin + loc_vector_within_includes vec (i1 + 1ul) j1 i2 j2; + loc_includes_union_l (B.loc_buffer (B.gsub (Vec?.vs vec) i1 1ul)) + (loc_vector_within vec (i1 + 1ul) j1) + (loc_vector_within vec i2 j2) + end + +val loc_vector_within_included: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + Lemma (requires True) + (ensures (loc_includes (loc_vector vec) + (loc_vector_within vec i j))) + (decreases (U32.v (j - i))) +let rec loc_vector_within_included #a vec i j = + if i = j then () + else loc_vector_within_included vec (i + 1ul) j + +val loc_vector_within_disjoint_: + #a:Type -> vec:vector a -> + i1:uint32_t -> + i2:uint32_t{i1 < i2} -> + j2:uint32_t{i2 <= j2 && j2 <= size_of vec} -> + Lemma (requires True) + (ensures (loc_disjoint (B.loc_buffer (B.gsub (Vec?.vs vec) i1 1ul)) + (loc_vector_within vec i2 j2))) + (decreases (U32.v (j2 - i2))) +let rec loc_vector_within_disjoint_ #a vec i1 i2 j2 = + if i2 = j2 then () + else loc_vector_within_disjoint_ vec i1 (i2 + 1ul) j2 + +val loc_vector_within_disjoint: + #a:Type -> vec:vector a -> + i1:uint32_t -> j1:uint32_t{i1 <= j1 && j1 <= size_of vec} -> + i2:uint32_t{j1 <= i2} -> j2:uint32_t{i2 <= j2 && j2 <= size_of vec} -> + Lemma (requires True) + (ensures (loc_disjoint (loc_vector_within vec i1 j1) + (loc_vector_within vec i2 j2))) + (decreases (U32.v (j1 - i1))) +let rec loc_vector_within_disjoint #a vec i1 j1 i2 j2 = + if i1 = j1 then () + else (loc_vector_within_disjoint_ vec i1 i2 j2; + loc_vector_within_disjoint vec (i1 + 1ul) j1 i2 j2) + +val loc_vector_within_union_rev: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i < j && j <= size_of vec} -> + Lemma (requires True) + (ensures (loc_vector_within vec i j == + loc_union (loc_vector_within vec i (j - 1ul)) + (loc_vector_within vec (j - 1ul) j))) + (decreases (U32.v (j - i))) +let rec loc_vector_within_union_rev #a vec i j = + if i = j - 1ul then () + else begin + loc_vector_within_union_rev vec (i + 1ul) j; + loc_union_assoc (B.loc_buffer (B.gsub (Vec?.vs vec) i 1ul)) + (loc_vector_within vec (i + 1ul) (j - 1ul)) + (loc_vector_within vec (j - 1ul) j) + end + +unfold val frameOf: #a:Type -> vector a -> Tot HS.rid +unfold let frameOf #a vec = + B.frameOf (Vec?.vs vec) + +unfold val hmap_dom_eq: h0:HS.mem -> h1:HS.mem -> GTot Type0 +unfold let hmap_dom_eq h0 h1 = + Set.equal (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) + +val modifies_as_seq: + #a:Type -> vec:vector a -> dloc:loc -> + h0:HS.mem -> h1:HS.mem -> + Lemma (requires (live h0 vec /\ + loc_disjoint (loc_vector vec) dloc /\ + modifies dloc h0 h1)) + (ensures (live h1 vec /\ + as_seq h0 vec == as_seq h1 vec)) + [SMTPat (live h0 vec); + SMTPat (loc_disjoint (loc_vector vec) dloc); + SMTPat (modifies dloc h0 h1)] +let modifies_as_seq #a vec dloc h0 h1 = + B.modifies_buffer_elim (Vec?.vs vec) dloc h0 h1 + +val modifies_as_seq_within: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + dloc:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (live h0 vec /\ + loc_disjoint (loc_vector_within vec i j) dloc /\ + modifies dloc h0 h1)) + (ensures (S.slice (as_seq h0 vec) (U32.v i) (U32.v j) == + S.slice (as_seq h1 vec) (U32.v i) (U32.v j))) + (decreases (U32.v (j - i))) + [SMTPat (live h0 vec); + SMTPat (loc_disjoint (loc_vector_within vec i j) dloc); + SMTPat (modifies dloc h0 h1)] +let rec modifies_as_seq_within #a vec i j dloc h0 h1 = + if i = j then () + else begin + B.modifies_buffer_elim (B.gsub (Vec?.vs vec) i 1ul) dloc h0 h1; + modifies_as_seq_within vec (i + 1ul) j dloc h0 h1; + assert (S.equal (S.slice (as_seq h0 vec) (U32.v i) (U32.v j)) + (S.append (S.slice (as_seq h0 vec) (U32.v i) (U32.v i + 1)) + (S.slice (as_seq h0 vec) (U32.v i + 1) (U32.v j)))); + assert (S.equal (S.slice (as_seq h1 vec) (U32.v i) (U32.v j)) + (S.append (S.slice (as_seq h1 vec) (U32.v i) (U32.v i + 1)) + (S.slice (as_seq h1 vec) (U32.v i + 1) (U32.v j)))) + end + +/// Construction + +inline_for_extraction val alloc_empty: + a:Type -> Tot (vec:vector a{size_of vec = 0ul}) +inline_for_extraction let alloc_empty a = + Vec 0ul 0ul B.null + +val alloc_empty_as_seq_empty: + a:Type -> h:HS.mem -> + Lemma (S.equal (as_seq h (alloc_empty a)) S.empty) + [SMTPat (as_seq h (alloc_empty a))] +let alloc_empty_as_seq_empty a h = () + +val alloc_rid: + #a:Type -> len:uint32_t{len > 0ul} -> v:a -> + rid:HS.rid{HST.is_eternal_region rid} -> + HST.ST (vector a) + (requires (fun h0 -> true)) + (ensures (fun h0 vec h1 -> + frameOf vec = rid /\ + live h1 vec /\ freeable vec /\ + modifies loc_none h0 h1 /\ + Set.equal (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + size_of vec = len /\ + S.equal (as_seq h1 vec) (S.create (U32.v len) v) /\ + B.fresh_loc (loc_vector vec) h0 h1)) +let alloc_rid #a len v rid = + Vec len len (B.malloc rid v len) + +// Allocate a vector with the length `len`, filled with the initial value `v`. +// Note that the vector is allocated in the root region. +val alloc: + #a:Type -> len:uint32_t{len > 0ul} -> v:a -> + HST.ST (vector a) + (requires (fun h0 -> true)) + (ensures (fun h0 vec h1 -> + frameOf vec = HS.root /\ + live h1 vec /\ freeable vec /\ + modifies loc_none h0 h1 /\ + Set.equal (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + size_of vec = len /\ + S.equal (as_seq h1 vec) (S.create (U32.v len) v) /\ + B.fresh_loc (loc_vector vec) h0 h1)) +let alloc #a len v = + alloc_rid len v HS.root + +// Allocate a vector with the _capacity_ `len`; we still need to provide an +// initial value `ia` in order to allocate space. +val alloc_reserve: + #a:Type -> len:uint32_t{len > 0ul} -> ia:a -> + rid:HS.rid{HST.is_eternal_region rid} -> + HST.ST (vector a) + (requires (fun h0 -> true)) + (ensures (fun h0 vec h1 -> + frameOf vec = rid /\ live h1 vec /\ freeable vec /\ + modifies loc_none h0 h1 /\ + B.fresh_loc (loc_vector vec) h0 h1 /\ + Set.equal (Map.domain (HS.get_hmap h0)) + (Map.domain (HS.get_hmap h1)) /\ + size_of vec = 0ul /\ + S.equal (as_seq h1 vec) S.empty)) +let alloc_reserve #a len ia rid = + Vec 0ul len (B.malloc rid ia len) + +// Allocate a vector with a given buffer with the length `len`. +// Note that it does not copy the buffer content; instead it directly uses the +// buffer pointer. +val alloc_by_buffer: + #a:Type -> len:uint32_t{len > 0ul} -> + buf:B.buffer a{B.len buf = len} -> + HST.ST (vector a) + (requires (fun h0 -> B.live h0 buf)) + (ensures (fun h0 vec h1 -> + frameOf vec = B.frameOf buf /\ loc_vector vec == B.loc_buffer buf /\ + live h1 vec /\ h0 == h1 /\ + size_of vec = len /\ + S.equal (as_seq h1 vec) (B.as_seq h0 buf))) +let alloc_by_buffer #a len buf = + Vec len len buf + +/// Destruction + +val free: + #a:Type -> vec:vector a -> + HST.ST unit + (requires (fun h0 -> live h0 vec /\ freeable vec)) + (ensures (fun h0 _ h1 -> modifies (loc_addr_of_vector vec) h0 h1)) +let free #a vec = + B.free (Vec?.vs vec) + +/// Element access + +val get: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t{i < size_of vec} -> GTot a +let get #a h vec i = + S.index (as_seq h vec) (U32.v i) + +val index: + #a:Type -> vec:vector a -> i:uint32_t -> + HST.ST a + (requires (fun h0 -> live h0 vec /\ i < size_of vec)) + (ensures (fun h0 v h1 -> + h0 == h1 /\ S.index (as_seq h1 vec) (U32.v i) == v)) +let index #a vec i = + B.index (Vec?.vs vec) i + +val front: + #a:Type -> vec:vector a{size_of vec > 0ul} -> + HST.ST a + (requires (fun h0 -> live h0 vec)) + (ensures (fun h0 v h1 -> + h0 == h1 /\ S.index (as_seq h1 vec) 0 == v)) +let front #a vec = + B.index (Vec?.vs vec) 0ul + +val back: + #a:Type -> vec:vector a{size_of vec > 0ul} -> + HST.ST a + (requires (fun h0 -> live h0 vec)) + (ensures (fun h0 v h1 -> + h0 == h1 /\ S.index (as_seq h1 vec) (U32.v (size_of vec) - 1) == v)) +let back #a vec = + B.index (Vec?.vs vec) (size_of vec - 1ul) + +/// Operations + +val clear: + #a:Type -> vec:vector a -> + Tot (cvec:vector a{size_of cvec = 0ul}) +let clear #a vec = + Vec 0ul (Vec?.cap vec) (Vec?.vs vec) + +val clear_as_seq_empty: + #a:Type -> h:HS.mem -> vec:vector a -> + Lemma (S.equal (as_seq h (clear vec)) S.empty) + [SMTPat (as_seq h (clear vec))] +let clear_as_seq_empty #a h vec = () + +private val slice_append: + #a:Type -> s:S.seq a -> + i:nat -> j:nat{i <= j} -> k:nat{j <= k && k <= S.length s} -> + Lemma (S.equal (S.slice s i k) + (S.append (S.slice s i j) (S.slice s j k))) +private let slice_append #a s i j k = () + +val assign: + #a:Type -> vec:vector a -> + i:uint32_t -> v:a -> + HST.ST unit + (requires (fun h0 -> live h0 vec /\ i < size_of vec)) + (ensures (fun h0 _ h1 -> + hmap_dom_eq h0 h1 /\ + modifies (loc_vector_within #a vec i (i + 1ul)) h0 h1 /\ + get h1 vec i == v /\ + S.equal (as_seq h1 vec) (S.upd (as_seq h0 vec) (U32.v i) v) /\ + live h1 vec)) +#reset-options "--z3rlimit 10" +let assign #a vec i v = + let hh0 = HST.get () in + // NOTE: `B.upd (Vec?.vs vec) i v` makes more sense, + // but the `modifies` postcondition is coarse-grained. + B.upd (B.sub (Vec?.vs vec) i 1ul) 0ul v; + let hh1 = HST.get () in + loc_vector_within_disjoint vec 0ul i i (i + 1ul); + modifies_as_seq_within + vec 0ul i (loc_vector_within #a vec i (i + 1ul)) hh0 hh1; + loc_vector_within_disjoint vec i (i + 1ul) (i + 1ul) (size_of vec); + modifies_as_seq_within + vec (i + 1ul) (size_of vec) (loc_vector_within #a vec i (i + 1ul)) hh0 hh1; + slice_append (as_seq hh1 vec) 0 (U32.v i) (U32.v i + 1); + slice_append (as_seq hh1 vec) 0 (U32.v i + 1) (U32.v (size_of vec)); + slice_append (S.upd (as_seq hh0 vec) (U32.v i) v) 0 (U32.v i) (U32.v i + 1); + slice_append (S.upd (as_seq hh0 vec) (U32.v i) v) 0 (U32.v i + 1) (U32.v (size_of vec)) + +private val resize_ratio: uint32_t +private let resize_ratio = 2ul + +private val new_capacity: cap:uint32_t -> Tot uint32_t +private let new_capacity cap = + if cap >= max_uint32 / resize_ratio then max_uint32 + else if cap = 0ul then 1ul + else cap * resize_ratio + +val insert: + #a:Type -> vec:vector a -> v:a -> + HST.ST (vector a) + (requires (fun h0 -> + live h0 vec /\ freeable vec /\ not (is_full vec) /\ + HST.is_eternal_region (frameOf vec))) + (ensures (fun h0 nvec h1 -> + frameOf vec = frameOf nvec /\ + hmap_dom_eq h0 h1 /\ + live h1 nvec /\ freeable nvec /\ + modifies (loc_union (loc_addr_of_vector vec) + (loc_vector nvec)) h0 h1 /\ + size_of nvec = size_of vec + 1ul /\ + get h1 nvec (size_of vec) == v /\ + S.equal (as_seq h1 nvec) (S.snoc (as_seq h0 vec) v))) +#reset-options "--z3rlimit 20" +let insert #a vec v = + let sz = Vec?.sz vec in + let cap = Vec?.cap vec in + let vs = Vec?.vs vec in + if sz = cap + then (let ncap = new_capacity cap in + let nvs = B.malloc (B.frameOf vs) v ncap in + B.blit vs 0ul nvs 0ul sz; + B.upd nvs sz v; + B.free vs; + Vec (sz + 1ul) ncap nvs) + else + (B.upd vs sz v; + Vec (sz + 1ul) cap vs) + +// Flush elements in the vector until the index `i`. +// It also frees the original allocation and reallocates a smaller space for +// remaining elements. +val flush: + #a:Type -> vec:vector a -> ia:a -> + i:uint32_t{i <= size_of vec} -> + HST.ST (vector a) + (requires (fun h0 -> + live h0 vec /\ freeable vec /\ + HST.is_eternal_region (frameOf vec))) + (ensures (fun h0 fvec h1 -> + frameOf vec = frameOf fvec /\ + hmap_dom_eq h0 h1 /\ + live h1 fvec /\ freeable fvec /\ + modifies (loc_union (loc_addr_of_vector vec) + (loc_vector fvec)) h0 h1 /\ + size_of fvec = size_of vec - i /\ + S.equal (as_seq h1 fvec) + (S.slice (as_seq h0 vec) (U32.v i) (U32.v (size_of vec))))) +let flush #a vec ia i = + let fsz = Vec?.sz vec - i in + let asz = if Vec?.sz vec = i then 1ul else fsz in + let vs = Vec?.vs vec in + let fvs = B.malloc (B.frameOf vs) ia asz in + B.blit vs i fvs 0ul fsz; + B.free vs; + Vec fsz asz fvs + +val shrink: + #a:Type -> vec:vector a -> + new_size:uint32_t{new_size <= size_of vec} -> + Tot (vector a) +let shrink #a vec new_size = + Vec new_size (Vec?.cap vec) (Vec?.vs vec) + + +/// Iteration + +val fold_left_seq: + #a:Type -> #b:Type0 -> seq:S.seq a -> + f:(b -> a -> GTot b) -> ib:b -> + GTot b (decreases (S.length seq)) +let rec fold_left_seq #a #b seq f ib = + if S.length seq = 0 then ib + else fold_left_seq (S.tail seq) f (f ib (S.head seq)) + +val fold_left_buffer: + #a:Type -> #b:Type0 -> len:uint32_t -> + buf:B.buffer a{B.len buf = len} -> + f:(b -> a -> Tot b) -> ib:b -> + HST.ST b + (requires (fun h0 -> B.live h0 buf)) + (ensures (fun h0 v h1 -> + h0 == h1 /\ + v == fold_left_seq (B.as_seq h0 buf) f ib)) + (decreases (B.length buf)) +let rec fold_left_buffer #a #b len buf f ib = + if len = 0ul then ib + else (fold_left_buffer (len - 1ul) (B.sub buf 1ul (len - 1ul)) + f (f ib (B.index buf 0ul))) + +val fold_left: + #a:Type -> #b:Type0 -> vec:vector a -> + f:(b -> a -> Tot b) -> ib:b -> + HST.ST b + (requires (fun h0 -> live h0 vec)) + (ensures (fun h0 v h1 -> + h0 == h1 /\ + v == fold_left_seq (as_seq h0 vec) f ib)) +let fold_left #a #b vec f ib = + fold_left_buffer (Vec?.sz vec) (B.sub (Vec?.vs vec) 0ul (Vec?.sz vec)) f ib + +val forall_seq: + #a:Type -> seq:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length seq} -> + p:(a -> GTot Type0) -> GTot Type0 +let forall_seq #a seq i j p = + forall (idx:nat{i <= idx && idx < j}). + p (S.index seq idx) + +val forall_buffer: + #a:Type -> h:HS.mem -> buf:B.buffer a -> + i:nat -> j:nat{i <= j && j <= B.length buf} -> + p:(a -> GTot Type0) -> GTot Type0 +let forall_buffer #a h buf i j p = + forall_seq (B.as_seq h buf) i j p + +val forall_: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + p:(a -> Tot Type0) -> GTot Type0 +let forall_ #a h vec i j p = + forall_seq (as_seq h vec) (U32.v i) (U32.v j) p + +val forall_all: + #a:Type -> h:HS.mem -> vec:vector a -> + p:(a -> Tot Type0) -> GTot Type0 +let forall_all #a h vec p = + forall_ h vec 0ul (size_of vec) p + +val forall2_seq: + #a:Type -> seq:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length seq} -> + p:(a -> a -> GTot Type0) -> GTot Type0 +let forall2_seq #a seq i j p = + forall (k:nat{i <= k && k < j}) (l:nat{i <= l && l < j && k <> l}). + p (S.index seq k) (S.index seq l) + +val forall2_buffer: + #a:Type -> h:HS.mem -> buf:B.buffer a -> + i:nat -> j:nat{i <= j && j <= B.length buf} -> + p:(a -> a -> GTot Type0) -> GTot Type0 +let forall2_buffer #a h buf i j p = + forall2_seq (B.as_seq h buf) i j p + +val forall2: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + p:(a -> a -> GTot Type0) -> GTot Type0 +let forall2 #a h vec i j p = + forall2_seq (as_seq h vec) (U32.v i) (U32.v j) p + +val forall2_all: + #a:Type -> h:HS.mem -> vec:vector a -> + p:(a -> a -> GTot Type0) -> GTot Type0 +let forall2_all #a h vec p = + forall2 h vec 0ul (size_of vec) p + +/// Facts + +val get_as_seq_index: + #a:Type -> h:HS.mem -> buf:B.buffer a -> i:uint32_t{i < B.len buf} -> + Lemma (B.get h buf (U32.v i) == S.index (B.as_seq h (B.gsub buf i 1ul)) 0) +let get_as_seq_index #a h buf i = () + +val get_preserved: + #a:Type -> vec:vector a -> + i:uint32_t{i < size_of vec} -> + p:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (live h0 vec /\ + loc_disjoint p (loc_vector_within vec i (i + 1ul)) /\ + modifies p h0 h1)) + (ensures (get h0 vec i == get h1 vec i)) +let get_preserved #a vec i p h0 h1 = + get_as_seq_index h0 (Vec?.vs vec) i; + get_as_seq_index h1 (Vec?.vs vec) i + +private val get_preserved_within: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + k:uint32_t{(k < i || j <= k) && k < size_of vec} -> + h0:HS.mem -> h1:HS.mem -> + Lemma (requires (live h0 vec /\ + modifies (loc_vector_within vec i j) h0 h1)) + (ensures (get h0 vec k == get h1 vec k)) + [SMTPat (live h0 vec); + SMTPat (modifies (loc_vector_within vec i j) h0 h1); + SMTPat (get h0 vec k)] +let get_preserved_within #a vec i j k h0 h1 = + if k < i then begin + loc_vector_within_disjoint vec k (k + 1ul) i j; + get_preserved vec k (loc_vector_within vec i j) h0 h1 + end + else begin + loc_vector_within_disjoint vec i j k (k + 1ul); + get_preserved vec k (loc_vector_within vec i j) h0 h1 + end + +val forall_seq_ok: + #a:Type -> seq:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length seq} -> + k:nat{i <= k && k < j} -> + p:(a -> GTot Type0) -> + Lemma (requires (forall_seq seq i j p)) + (ensures (p (S.index seq k))) +let forall_seq_ok #a seq i j k p = () + +val forall2_seq_ok: + #a:Type -> seq:S.seq a -> + i:nat -> j:nat{i <= j && j <= S.length seq} -> + k:nat{i <= k && k < j} -> l:nat{i <= l && l < j && k <> l} -> + p:(a -> a -> GTot Type0) -> + Lemma (requires (forall2_seq seq i j p)) + (ensures (p (S.index seq k) (S.index seq l))) +let forall2_seq_ok #a seq i j k l p = () + +val forall_as_seq: + #a:Type -> s0:S.seq a -> s1:S.seq a{S.length s0 = S.length s1} -> + i:nat -> j:nat{i <= j && j <= S.length s0} -> + k:nat{i <= k && k < j} -> + p:(a -> Tot Type0) -> + Lemma (requires (p (S.index s0 k) /\ S.slice s0 i j == S.slice s1 i j)) + (ensures (p (S.index s1 k))) + [SMTPat (p (S.index s0 k)); + SMTPat (S.slice s0 i j); + SMTPat (S.slice s1 i j)] +let forall_as_seq #a s0 s1 i j k p = + assert (S.index (S.slice s0 i j) (k - i) == + S.index (S.slice s1 i j) (k - i)) + +val forall_preserved: + #a:Type -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + p:(a -> Tot Type0) -> + dloc:loc -> h0:HS.mem -> h1:HS.mem -> + Lemma (requires (live h0 vec /\ + loc_disjoint (loc_vector_within vec i j) dloc /\ + forall_ h0 vec i j p /\ + modifies dloc h0 h1)) + (ensures (forall_ h1 vec i j p)) +let forall_preserved #a vec i j p dloc h0 h1 = + modifies_as_seq_within vec i j dloc h0 h1; + assert (S.slice (as_seq h0 vec) (U32.v i) (U32.v j) == + S.slice (as_seq h1 vec) (U32.v i) (U32.v j)) + +val forall2_extend: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j < size_of vec} -> + p:(a -> a -> Tot Type0) -> + Lemma (requires (forall2 h vec i j p /\ + forall_ h vec i j + (fun a -> p a (get h vec j) /\ p (get h vec j) a))) + (ensures (forall2 h vec i (j + 1ul) p)) +let forall2_extend #a h vec i j p = () + +val forall2_forall_left: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + k:uint32_t{i <= k && k < j} -> + p:(a -> a -> Tot Type0) -> + Lemma (requires (forall2 h vec i j p)) + (ensures (forall_ h vec i k (p (get h vec k)))) +let forall2_forall_left #a h vec i j k p = () + +val forall2_forall_right: + #a:Type -> h:HS.mem -> vec:vector a -> + i:uint32_t -> j:uint32_t{i <= j && j <= size_of vec} -> + k:uint32_t{i <= k && k < j} -> + p:(a -> a -> Tot Type0) -> + Lemma (requires (forall2 h vec i j p)) + (ensures (forall_ h vec (k + 1ul) j (p (get h vec k)))) +let forall2_forall_right #a h vec i j k p = () diff --git a/ulib/Makefile b/stage0/ulib/Makefile similarity index 100% rename from ulib/Makefile rename to stage0/ulib/Makefile diff --git a/ulib/Makefile.extract b/stage0/ulib/Makefile.extract similarity index 98% rename from ulib/Makefile.extract rename to stage0/ulib/Makefile.extract index a469d2611b6..2c7b79f7292 100644 --- a/ulib/Makefile.extract +++ b/stage0/ulib/Makefile.extract @@ -15,6 +15,8 @@ FSTAR_FILES+=$(wildcard *.fst *.fsti) FSTAR_FILES+=$(wildcard experimental/*.fst experimental/*.fsti) FSTAR_FILES:=$(filter-out $(NOEXTRACT_FILES), $(FSTAR_FILES)) +OTHERFLAGS += --z3version 4.13.3 + CODEGEN = Plugin MY_FSTAR=$(RUNLIM) $(FSTAR) $(SIL) $(OTHERFLAGS) --cache_checked_modules --odir $(OUTPUT_DIRECTORY) --cache_dir .cache --warn_error @241 EXTRACT_MODULES=--extract '* $(NOEXTRACT_MODULES)' diff --git a/ulib/Makefile.extract.fsharp b/stage0/ulib/Makefile.extract.fsharp similarity index 98% rename from ulib/Makefile.extract.fsharp rename to stage0/ulib/Makefile.extract.fsharp index 8aead6591e9..ed51ebc7ee0 100644 --- a/ulib/Makefile.extract.fsharp +++ b/stage0/ulib/Makefile.extract.fsharp @@ -26,6 +26,8 @@ OUTPUT_DIRECTORY=fs/extracted CODEGEN ?= FSharp +OTHERFLAGS += --z3version 4.13.3 + MY_FSTAR=$(FSTAR) $(OTHERFLAGS) --warn_error @241 --cache_checked_modules --odir $(OUTPUT_DIRECTORY) --cache_dir .cache # And then, in a separate invocation, from each .checked file we diff --git a/ulib/Makefile.verify b/stage0/ulib/Makefile.verify similarity index 97% rename from ulib/Makefile.verify rename to stage0/ulib/Makefile.verify index d45a978faf2..afd2553ab7e 100644 --- a/ulib/Makefile.verify +++ b/stage0/ulib/Makefile.verify @@ -28,12 +28,13 @@ FSTAR_FILES += $(filter-out $(FLAKY), \ endif endif -WITH_CACHE_DIR=--cache_dir .cache --hint_dir .hints +WITH_CACHE_DIR=--cache_dir .cache # 271 -> pattern uses theory symbols # 330 -> experimental feature # 247 -> did not write checked file OTHERFLAGS+=--warn_error @271-330@247 --ext context_pruning +OTHERFLAGS += --z3version 4.13.3 include $(FSTAR_HOME)/.common.mk include gmake/z3.mk @@ -42,7 +43,6 @@ include gmake/Makefile.tmpl # Default rule is verify-all, defined in gmake/Makefile.tmpl %.fst-in: - @echo --use_hints --hint_info #turn off 271 (pattern uses theory symbols warning), to be fixed soon %FStar.UInt.fsti.checked: OTHERFLAGS+=--warn_error -271 diff --git a/stage0/ulib/Prims.fst b/stage0/ulib/Prims.fst new file mode 100644 index 00000000000..f25def5bf9c --- /dev/null +++ b/stage0/ulib/Prims.fst @@ -0,0 +1,732 @@ +(* + Copyright 2008-2020 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 Prims + +/// This module is implicitly opened in the scope of all other modules. +/// +/// It provides the very basic primitives on which F* is +/// built, including the definition of total functions, the basic +/// logical connectives, the PURE and GHOST effects and the like. +/// +/// While some of the primitives have logical significance, others are +/// define various conveniences in the language, e.g., type of +/// attributes. + + +(***** Begin trusted primitives *****) + +(** Primitives up to the definition of the GTot effect are trusted + Beyond that all definitions are fully verified *) + + +(** Type of attributes *) +assume new +type attribute : Type0 + +(** An attribute indicating that some definition must be processed by the + Dijkstra monads for free construction *) +assume +val cps:attribute + +(** This attribute marks definitions for logical connectives that should + not be unfolded during tactics. *) +assume +val tac_opaque : attribute + +(** This attribute can be used on type binders to make unifier attempt + to unrefine them before instantiating them. This is useful in polymorphic + definitions where the type does not change the result type, for example + eq2 below. Using the attribute, an equality between two nats will happen + at type int, which is more canonical. + + This feature is experimental and only enabled with "--ext __unrefine" *) +assume +val unrefine : attribute + +(** This attribute can be attached to a type definition to partly counter the + behavior of the `unrefine` attribute. It will cause the definition marked + `do_not_unrefine` to not be unfolded during the unrefining process. *) +assume +val do_not_unrefine : attribute + +(** A predicate to express when a type supports decidable equality + The type-checker emits axioms for [hasEq] for each inductive type *) +assume +type hasEq : Type -> GTot Type0 + +(** A convenient abbreviation, [eqtype] is the type of types in + universe 0 which support decidable equality *) +type eqtype = a: Type0{hasEq a} + +(** [bool] is a two element type with elements [true] and [false]. We + assume it is primitive, for convenient interop with other + languages, although it could easily be defined as an inductive type + with two cases, [BTrue | BFalse] *) +assume new +type bool : eqtype + +(** [empty] is the empty inductive type. The type with no + inhabitants represents logical falsehood. Note, [empty] is + seldom used directly in F*. We instead use its "squashed" variant, + [False], see below. *) +type empty = + +(** [trivial] is the singleton inductive type---it is trivially + inhabited. Like [empty], [trivial] is seldom used. We instead use + its "squashed" variants, [True] *) +type trivial = | T + +(** [unit]: another singleton type, with its only inhabitant written [()] + we assume it is primitive, for convenient interop with other languages *) +assume new +type unit : eqtype + +(** [squash p] is a central type in F*---[squash p] is the proof + irrelevant analog of [p] and is represented as a unit + refinement. Squashed proofs are typically discharged using an SMT + solver, without any proof terms explicitly reconstructed. As + such, one way to think of [squash p] is as the type of properties + proven using classical axioms without building proof terms. + + Note, [squash p] is just a unit refinement, it resides in universe + 0, lowering the universe of [p]. From this perspective, one may + also see [squash] as a coercion down to universe 0. + + The type is marked [tac_opaque] to indicate to Meta-F* that + instances of [squash] should not be unfolded when evaluating + tactics (since many optimizations in F*'s SMT encoding rely + specifically on occurrences of [squash]. + + See FStar.Squash for various ways of manipulating squashed + types. *) +[@@ tac_opaque] +type squash (p: Type) : Type0 = x: unit{p} + +(** [auto_squash] is equivalent to [squash]. However, F* will + automatically insert `auto_squash` when simplifying terms, + converting terms of the form `p /\ True` to `auto_squash p`. + + We distinguish these automatically inserted squashes from explicit, + user-written squashes. + + A user should not have to manipulate [auto_squash] at all, except + in rare circumstances when writing tactics to process proofs that + have already been partially simplified by F*'s simplifier. +*) +let auto_squash (p: Type) = squash p + +(** The [logical] type is transitionary. It is just an abbreviation + for [Type0], but is used to classify uses of the basic squashed + logical connectives that follow. Some day, we plan to remove the + [logical] type, replacing it with [prop] (also defined below). + + The type is marked [private] to intentionally prevent user code + from referencing this type, hopefully easing the removal of + [logical] in the future. *) +private +type logical = Type0 + +(** An attribute indicating that a symbol is an smt theory symbol and + hence may not be used in smt patterns. The typechecker warns if + such symbols are used in patterns *) +assume +val smt_theory_symbol:attribute + +(** [l_True] has a special bit of syntactic sugar. It is written just + as "True" and rendered in the ide as [True]. It is a squashed version + of constructive truth, [trivial]. *) +[@@ tac_opaque; smt_theory_symbol] +let l_True:logical = squash trivial + +(** [l_False] has a special bit of syntactic sugar. It is written just + as "False" and rendered in the ide as [Falsee]. It is a squashed version + of constructive falsehood, the empty type. *) +[@@ tac_opaque; smt_theory_symbol] +let l_False:logical = squash empty + +(** The type of provable equalities, defined as the usual inductive + type with a single constructor for reflexivity. As with the other + connectives, we often work instead with the squashed version of + equality, below. *) +type equals (#a: Type) (x: a) : a -> Type = | Refl : equals x x + +(** [eq2] is the squashed version of [equals]. It's a proof + irrelevant, homogeneous equality in Type#0 and is written with + an infix binary [==]. + + TODO: instead of hard-wiring the == syntax, + we should just rename eq2 to op_Equals_Equals +*) +[@@ tac_opaque; smt_theory_symbol] +type eq2 (#[@@@unrefine] a: Type) (x: a) (y: a) : logical = squash (equals x y) + +(** bool-to-type coercion: This is often automatically inserted type, + when using a boolean in context expecting a type. But, + occasionally, one may have to write [b2t] explicitly *) +type b2t (b: bool) : logical = (b == true) + +(** constructive conjunction *) +type pair (p: Type) (q: Type) = | Pair : _1:p -> _2:q -> pair p q + +(** squashed conjunction, specialized to [Type0], written with an + infix binary [/\] *) +[@@ tac_opaque; smt_theory_symbol] +type l_and (p: logical) (q: logical) : logical = squash (pair p q) + +(** constructive disjunction *) +type sum (p: Type) (q: Type) = + | Left : v:p -> sum p q + | Right : v:q -> sum p q + +(** squashed disjunction, specialized to [Type0], written with an + infix binary [\/] *) +[@@ tac_opaque; smt_theory_symbol] +type l_or (p: logical) (q: logical) : logical = squash (sum p q) + +(** squashed (non-dependent) implication, specialized to [Type0], + written with an infix binary [==>]. Note, [==>] binds weaker than + [/\] and [\/] *) +[@@ tac_opaque; smt_theory_symbol] +type l_imp (p: logical) (q: logical) : logical = squash (p -> GTot q) +(* ^^^ NB: The GTot effect is primitive; *) +(* elaborated using GHOST a few lines below *) + +(** squashed double implication, infix binary [<==>] *) +[@@ smt_theory_symbol] +type l_iff (p: logical) (q: logical) : logical = (p ==> q) /\ (q ==> p) + +(** squashed negation, prefix unary [~] *) +[@@ smt_theory_symbol] +type l_not (p: logical) : logical = l_imp p False + +(** l_ITE is a weak form of if-then-else at the level of + logical formulae. It's not much used. + + TODO: Can we remove it *) +unfold +type l_ITE (p: logical) (q: logical) (r: logical) : logical = (p ==> q) /\ (~p ==> r) + + +(** One of the main axioms provided by prims is [precedes], a + built-in well-founded partial order over all terms. It's typically + written with an infix binary [<<]. + + The [<<] order includes: + * The [<] ordering on natural numbers + * The subterm ordering on inductive types + * [f x << D f] for data constructors D of an inductive t whose + arguments include a ghost or total function returning a t *) + +assume +type precedes : #a: Type -> #b: Type -> a -> b -> Type0 + +(** The type of primitive strings of characters; See FStar.String *) +assume new +type string : eqtype + +(** This attribute can be added to the declaration or definition of + any top-level symbol. It causes F* to report a warning on any + use of that symbol, printing the [msg] argument. + + This is used, for instance to: + + - tag every escape hatch, e.g., [assume], [admit], etc + + Reports for uses of symbols tagged with this attribute + are controlled using the `--report_assumes` option + and warning number 334. + + See tests/micro-benchmarks/WarnOnUse.fst + *) +assume +val warn_on_use (msg: string) : Tot unit + +(** The [deprecated "s"] attribute: "s" is an alternative function + that should be printed in the warning it can be omitted if the use + case has no such function *) +assume +val deprecated (s: string) : Tot unit + + +(** Within the SMT encoding, we have a relation [(HasType e t)] + asserting that (the encoding of) [e] has a type corresponding to + (the encoding of) [t]. + + It is sometimes convenient, e.g., when writing triggers for + quantifiers, to have access to this relation at the source + level. The [has_type] predicate below reflects the SMT encodings + [HasType] relation. We also use it to define the type [prop] or + proof irrelevant propositions, below. + + Note, unless you have a really good reason, you probably don't + want to use this [has_type] predicate. F*'s type theory certainly + does not internalize its own typing judgment *) +[@@deprecated "'has_type' is intended for internal use and debugging purposes only; \ + do not rely on it for your proofs"] +assume +type has_type : #a: Type -> a -> Type -> Type0 + +(** Squashed universal quantification, or dependent products, written + [forall (x:a). p x], specialized to Type0 *) +[@@ tac_opaque; smt_theory_symbol] +type l_Forall (#a: Type) (p: (a -> GTot Type0)) : logical = squash (x: a -> GTot (p x)) + +#push-options "--warn_error -288" +(** [p1 `subtype_of` p2] when every element of [p1] is also an element + of [p2]. *) +let subtype_of (p1 p2: Type) = forall (x: p1). has_type x p2 +#pop-options + +(** The type of squashed types. + + Note, the [prop] type is a work in progress in F*. In particular, + we would like in the future to more systematically use [prop] for + proof-irrelevant propositions throughout the libraries. However, + we still use [Type0] in many places. + + See https://github.com/FStarLang/FStar/issues/1048 for more + details and the current status of the work. + *) +type prop = a: Type0{a `subtype_of` unit} + +(**** The PURE effect *) + +(** The type of pure preconditions *) +let pure_pre = Type0 + +(** Pure postconditions, predicates on [a], on which the precondition + [pre] is also valid. This provides a way for postcondition formula + to be typed in a context where they can assume the validity of the + precondition. This is discussed extensively in Issue #57 *) +let pure_post' (a pre: Type) = _: a{pre} -> GTot Type0 +let pure_post (a: Type) = pure_post' a True + +(** A pure weakest precondition transforms postconditions on [a]-typed + results to pure preconditions + + We require the weakest preconditions to satisfy the monotonicity + property over the postconditions + To enforce it, we first define a vanilla wp type, + and then refine it with the monotonicity condition *) +let pure_wp' (a: Type) = pure_post a -> GTot pure_pre + +(** The monotonicity predicate is marked opaque_to_smt, + meaning that its definition is hidden from the SMT solver, + and if required, will need to be explicitly revealed + This has the advantage that clients that do not need to work with it + directly, don't have the (quantified) definition in their solver context *) + +let pure_wp_monotonic0 (a:Type) (wp:pure_wp' a) = + forall (p q:pure_post a). (forall (x:a). p x ==> q x) ==> (wp p ==> wp q) + +[@@ "opaque_to_smt"] +let pure_wp_monotonic = pure_wp_monotonic0 + +let pure_wp (a: Type) = wp:pure_wp' a{pure_wp_monotonic a wp} + +(** This predicate is an internal detail, used to optimize the + encoding of some quantifiers to SMT by omitting their typing + guards. This is safe to use only when the quantifier serves to + introduce a local macro---use with caution. *) +assume +type guard_free : Type0 -> Type0 + +(** The return combinator for the PURE effect requires + proving the postcondition only on [x] + + Clients should not use it directly, + instead use FStar.Pervasives.pure_return *) +unfold +let pure_return0 (a: Type) (x: a) : pure_wp a = + fun (p: pure_post a) -> + forall (return_val: a). return_val == x ==> p return_val + +(** Sequential composition for the PURE effect + + Clients should not use it directly, + instead use FStar.Pervasives.pure_bind_wp *) +unfold +let pure_bind_wp0 + (a b: Type) + (wp1: pure_wp a) + (wp2: (a -> GTot (pure_wp b))) + : pure_wp b + = fun (p: pure_post b) -> + wp1 (fun (bind_result_1: a) -> wp2 bind_result_1 p) + +(** Conditional composition for the PURE effect + + The combinator is optimized to make use of how the typechecker generates VC + for conditionals. + + The more intuitive form of the combinator would have been: + [(p ==> wp_then post) /\ (~p ==> wp_else post)] + + However, the way the typechecker constructs the VC, [wp_then] is already + weakened with [p]. + + Hence, here we only weaken [wp_else] + + Clients should not use it directly, + instead use FStar.Pervasives.pure_if_then_else *) +unfold +let pure_if_then_else0 (a p: Type) (wp_then wp_else: pure_wp a) : pure_wp a = + fun (post: pure_post a) -> + wp_then post /\ (~p ==> wp_else post) + +(** Conditional composition for the PURE effect, while trying to avoid + duplicating the postcondition by giving it a local name [k]. + + Note the use of [guard_free] here: [k] is just meant to be a macro + for [post]. + + Clients should not use it directly, + instead use FStar.Pervasives.pure_ite_wp *) +unfold +let pure_ite_wp0 (a: Type) (wp: pure_wp a) : pure_wp a = + fun (post: pure_post a) -> + forall (k: pure_post a). (forall (x: a). {:pattern (guard_free (k x))} post x ==> k x) ==> wp k + +(** Subsumption for the PURE effect *) +unfold +let pure_stronger (a: Type) (wp1 wp2: pure_wp a) = forall (p: pure_post a). wp1 p ==> wp2 p + +(** Closing a PURE WP under a binder for [b] + + Clients should not use it directly, + instead use FStar.Pervasives.pure_close_wp *) +unfold +let pure_close_wp0 (a b: Type) (wp: (b -> GTot (pure_wp a))) : pure_wp a = fun (p: pure_post a) -> forall (b: b). wp b p + +(** Trivial WP for PURE: Prove the WP with the trivial postcondition *) +unfold +let pure_trivial (a: Type) (wp: pure_wp a) = wp (fun (trivial_result: a) -> True) + +(** Introduces the PURE effect. + The definition of the PURE effect is fixed. + NO USER SHOULD EVER CHANGE THIS. *) +total +new_effect { + PURE : a: Type -> wp: pure_wp a -> Effect + with + return_wp = pure_return0 + ; bind_wp = pure_bind_wp0 + ; if_then_else = pure_if_then_else0 + ; ite_wp = pure_ite_wp0 + ; stronger = pure_stronger + ; close_wp = pure_close_wp0 + ; trivial = pure_trivial +} + +(** [Pure] is a Hoare-style counterpart of [PURE] + + Note the type of post, which allows to assume the precondition + for the well-formedness of the postcondition. c.f. #57 *) +effect Pure (a: Type) (pre: pure_pre) (post: pure_post' a pre) = + PURE a + (fun (p: pure_post a) -> pre /\ (forall (pure_result: a). post pure_result ==> p pure_result)) + +(** [Admit] is an effect abbreviation for a computation that + disregards the verification condition of its continuation *) +effect Admit (a: Type) = PURE a (fun (p: pure_post a) -> True) + +(** The primitive effect [Tot] is definitionally equal to an instance of [PURE] *) + +(** Clients should not use it directly, instead use FStar.Pervasives.pure_null_wp *) +unfold +let pure_null_wp0 (a: Type) : pure_wp a = fun (p: pure_post a) -> forall (any_result: a). p any_result + +(** [Tot]: From here on, we have [Tot] as a defined symbol in F*. *) +effect Tot (a: Type) = PURE a (pure_null_wp0 a) + +(** Clients should not use it directly, instead use FStar.Pervasives.pure_assert_wp *) +[@@ "opaque_to_smt"] +unfold +let pure_assert_wp0 (p: Type) : pure_wp unit = fun (post: pure_post unit) -> p /\ post () + +(** Clients should not use it directly, instead use FStar.Pervasives.pure_assume_wp *) +[@@ "opaque_to_smt"] +unfold +let pure_assume_wp0 (p: Type) : pure_wp unit = fun (post: pure_post unit) -> p ==> post () + +(**** The [GHOST] effect *) + +(** [GHOST] is logically equivalent to [PURE], but distinguished from + it nominally so that specific, computationally irrelevant + operations, are provided only in [GHOST] and are erased during + extraction *) +total +new_effect GHOST = PURE + +unfold +let purewp_id (a: Type) (wp: pure_wp a) = wp + +(** [PURE] computations can be lifted to the [GHOST] effect (but not + vice versa) using just the identity lifting on pure wps *) +sub_effect PURE ~> GHOST { lift_wp = purewp_id } + +(** [Ghost] is a the Hoare-style counterpart of [GHOST] *) +effect Ghost (a: Type) (pre: Type) (post: pure_post' a pre) = + GHOST a + (fun (p: pure_post a) -> pre /\ (forall (ghost_result: a). post ghost_result ==> p ghost_result) + ) + +(** As with [Tot], the primitive effect [GTot] is definitionally equal + to an instance of GHOST *) +effect GTot (a: Type) = GHOST a (pure_null_wp0 a) + + +(***** End trusted primitives *****) + +(** This point onward, F* fully verifies all the definitions *) + +(** [===] heterogeneous equality *) +let ( === ) (#a #b: Type) (x: a) (y: b) : logical = a == b /\ x == y + +(** Dependent pairs [dtuple2] in concrete syntax is [x:a & b x]. + Its values can be constructed with the concrete syntax [(| x, y |)] *) +unopteq +type dtuple2 (a: Type) (b: (a -> GTot Type)) = + | Mkdtuple2 : _1: a -> _2: b _1 -> dtuple2 a b + +(** Squashed existential quantification, or dependent sums, + are written [exists (x:a). p x] : specialized to Type0 *) +[@@ tac_opaque; smt_theory_symbol] +type l_Exists (#a: Type) (p: (a -> GTot Type0)) : logical = squash (x: a & p x) + +(** Primitive type of mathematical integers, mapped to zarith in OCaml + extraction and to the SMT sort of integers *) +assume new +type int : eqtype + +(**** Basic operators on booleans and integers *) + +(** [&&] boolean conjunction *) + +[@@ smt_theory_symbol] +assume +val op_AmpAmp: bool -> bool -> Tot bool + +(** [||] boolean disjunction *) + +[@@ smt_theory_symbol] +assume +val op_BarBar: bool -> bool -> Tot bool + +(** [not] boolean negation *) + +[@@ smt_theory_symbol] +assume +val op_Negation: bool -> Tot bool + +(** Integer multiplication, no special symbol. See FStar.Mul *) + +[@@ smt_theory_symbol] +assume +val op_Multiply: int -> int -> Tot int + +(** [-] integer subtraction *) + +[@@ smt_theory_symbol] +assume +val op_Subtraction: int -> int -> Tot int + +(** [+] integer addition *) + +[@@ smt_theory_symbol] +assume +val op_Addition: int -> int -> Tot int + +(** [-] prefix unary integer negation *) + +[@@ smt_theory_symbol] +assume +val op_Minus: int -> Tot int + +(** [<=] integer comparison *) + +[@@ smt_theory_symbol] +assume +val op_LessThanOrEqual: int -> int -> Tot bool + +(** [>] integer comparison *) + +[@@ smt_theory_symbol] +assume +val op_GreaterThan: int -> int -> Tot bool + +(** [>=] integer comparison *) + +[@@ smt_theory_symbol] +assume +val op_GreaterThanOrEqual: int -> int -> Tot bool + +(** [<] integer comparison *) + +[@@ smt_theory_symbol] +assume +val op_LessThan: int -> int -> Tot bool + +(** [=] decidable equality on [eqtype] *) + +[@@ smt_theory_symbol] +assume +val op_Equality: #[@@@unrefine]a: eqtype -> a -> a -> Tot bool + +(** [<>] decidable dis-equality on [eqtype] *) + +[@@ smt_theory_symbol] +assume +val op_disEquality: #[@@@unrefine]a: eqtype -> a -> a -> Tot bool + +(** The extensible open inductive type of exceptions *) +assume new +type exn : Type0 + +(** [array]: TODO: should be removed. + See FStar.Seq, LowStar.Buffer, etc. *) +assume new +type array : Type -> Type0 + + +(** String concatenation and its abbreviation as [^]. TODO, both + should be removed in favor of what is present in FStar.String *) +assume +val strcat: string -> string -> Tot string +inline_for_extraction unfold +let op_Hat s1 s2 = strcat s1 s2 + +(** The inductive type of polymorphic lists *) +type list (a: Type) = + | Nil : list a + | Cons : hd: a -> tl: list a -> list a + +(** The [M] marker is interpreted by the Dijkstra Monads for Free + construction. It has a "double meaning", either as an alias for + reasoning about the direct definitions, or as a marker for places + where a CPS transformation should happen. *) +effect M (a: Type) = Tot a (attributes cps) + +(** Returning a value into the [M] effect *) +let returnM (a: Type) (x: a) : M a = x + +(** [as_requires] turns a WP into a precondition, by applying it to + a trivial postcondition *) +unfold +let as_requires (#a: Type) (wp: pure_wp a) : pure_pre = wp (fun x -> True) + +(** [as_ensures] turns a WP into a postcondition, relying on a kind of + double negation translation. *) +unfold +let as_ensures (#a: Type) (wp: pure_wp a) : pure_post a = fun (x:a) -> ~(wp (fun y -> (y =!= x))) + +(** The keyword term-level keyword [assume] is desugared to [_assume]. + It explicitly provides an escape hatch to assume a given property + [p]. *) +[@@ warn_on_use "Uses an axiom"] +assume +val _assume (p: Type) : Pure unit (requires (True)) (ensures (fun x -> p)) + +(** [admit] is another escape hatch: It discards the continuation and + returns a value of any type *) +[@@ warn_on_use "Uses an axiom"] +assume +val admit: #a: Type -> unit -> Admit a + +(** [magic] is another escape hatch: It retains the continuation but + returns a value of any type *) +[@@ warn_on_use "Uses an axiom"] +assume +val magic: #a: Type -> unit -> Tot a + +(** [unsafe_coerce] is another escape hatch: It coerces an [a] to a + [b]. *) +[@@ warn_on_use "Uses an axiom"] +irreducible +let unsafe_coerce (#a #b: Type) (x: a) : b = + admit (); + x + +(** [admitP]: TODO: Unused ... remove? *) +[@@ warn_on_use "Uses an axiom"] +assume +val admitP (p: Type) : Pure unit True (fun x -> p) + +(** The keyword term-level keyword [assert] is desugared to [_assert]. + It force a proof of a property [p], then assuming [p] for the + continuation. *) +val _assert (p: Type) : Pure unit (requires p) (ensures (fun x -> p)) +let _assert p = () + +(** Logically equivalent to assert; TODO remove? *) +val cut (p: Type) : Pure unit (requires p) (fun x -> p) +let cut p = () + +(** The type of non-negative integers *) +type nat = i: int{i >= 0} + +(** The type of positive integers *) +type pos = i: int{i > 0} + +(** The type of non-zero integers *) +type nonzero = i: int{i <> 0} + +/// Arbitrary precision ints are compiled to zarith (big_ints) in +/// OCaml and to .NET BigInteger in F#. Both the modulus and division +/// operations are Euclidean and are mapped to the corresponding +/// theory symbols in the SMT encoding + +(** Euclidean modulus *) + +[@@ smt_theory_symbol] +assume +val op_Modulus: int -> nonzero -> Tot int + +(** Euclidean division, written [/] *) + +[@@ smt_theory_symbol] +assume +val op_Division: int -> nonzero -> Tot int + +(** [pow2 x] is [2^x]: + + TODO: maybe move this to FStar.Int *) +let rec pow2 (x: nat) : Tot pos = + match x with + | 0 -> 1 + | _ -> 2 `op_Multiply` (pow2 (x - 1)) + +(** [min] computes the minimum of two [int]s *) +let min x y = if x <= y then x else y + +(** [abs] computes the absolute value of an [int] *) +let abs (x: int) : Tot int = if x >= 0 then x else - x + +(** A primitive printer for booleans: + + TODO: unnecessary, this could easily be defined *) +assume +val string_of_bool: bool -> Tot string + +(** A primitive printer for [int] *) +assume +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__ = 72 diff --git a/ulib/default.nix b/stage0/ulib/default.nix similarity index 100% rename from ulib/default.nix rename to stage0/ulib/default.nix diff --git a/stage0/ulib/experimental/FStar.ConstantTime.Integers.fst b/stage0/ulib/experimental/FStar.ConstantTime.Integers.fst new file mode 100644 index 00000000000..c6f890d4b0d --- /dev/null +++ b/stage0/ulib/experimental/FStar.ConstantTime.Integers.fst @@ -0,0 +1,84 @@ +(* + 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.ConstantTime.Integers + +(** + This module provides a refinement of FStar.IFC providing an + interface restricted only to constant-time operations on integers. + + In contrast, FStar.IFC provides a general monadic information-flow + control framework, which need not be restricted to constant-time + operations. +*) + +open FStar.IFC +open FStar.Integers + +/// A `secret_int l s` is a machine-integer at secrecy level `l` and +/// signedness/width `s`. +let secret_int (#sl:sl) + (l:lattice_element sl) + (s:sw) : Type0 = + protected l (int_t s) + +/// A `secret_int l s` can be seen as an int in spec +let reveal (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x:secret_int l s) + : GTot (y:int{within_bounds s y}) + = v (reveal x) + +/// `hide` is the inverse of `reveal`, proving that `secret_int` is injective +let hide (#sl:sl) (#l:lattice_element sl) (#s:sw) (x:int{within_bounds s x}) + : GTot (secret_int l s) + = return l (u x) + +let reveal_hide #sl #l #s x = () +let hide_reveal #sl #l #s x = () + +let promote #sl #l0 #s x l1 = + join (return #_ #(secret_int l0 s) l1 x) + +////////////////////////////////////////////////////////////////////////////////////////// +/// The remainder of this module provides liftings of specific integers operations +/// to work on secret integers, i.e., only those that respect the constant time guarantees +/// and do not break confidentiality. +/// +/// Note, with our choice of representation, it is impossible to +/// implement functions that break basic IFC guarantees, e.g., we +/// cannot implement a boolean comparison function on secret_ints +noextract +inline_for_extraction +let addition #sl (#l:lattice_element sl) #s + (x : secret_int l s) + (y : secret_int l s {ok ( + ) (m x) (m y)}) + : Tot (z:secret_int l s{m z == m x + m y}) + = let>> a = x in + let>> b = y in + return l (a + b) + +noextract +inline_for_extraction +let addition_mod (#sl:sl) + (#l:lattice_element sl) + (#sw: _ {Unsigned? sw /\ width_of_sw sw <> W128}) + (x : secret_int l sw) + (y : secret_int l sw) + : Tot (z:secret_int l sw { m z == m x +% m y } ) + = let>> a = x in + let>> b = y in + return l (a +% b) diff --git a/stage0/ulib/experimental/FStar.ConstantTime.Integers.fsti b/stage0/ulib/experimental/FStar.ConstantTime.Integers.fsti new file mode 100644 index 00000000000..11d83600a42 --- /dev/null +++ b/stage0/ulib/experimental/FStar.ConstantTime.Integers.fsti @@ -0,0 +1,193 @@ +(* + 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.ConstantTime.Integers + +/// This module provides a refinement of FStar.IFC providing an +/// interface restricted only to constant-time operations on integers. +/// +/// In contrast, FStar.IFC provides a general monadic information-flow +/// control framework, which need not be restricted to constant-time +/// operations. + +open FStar.IFC +open FStar.Integers + + +(** `sw`: signedness and width of machine integers excluding + FStar.[U]Int128, which does not provide constant-time + operations. *) +let sw = s:signed_width{width_of_sw s <> Winfinite + /\ width_of_sw s <> W128} + +(** A `secret_int l s` is a machine-integer at secrecy level `l` and + signedness/width `s`. *) +val secret_int (#sl:sl u#c) + (l:lattice_element sl) + (s:sw) : Type0 + +(** A `secret_int l s` can be seen as an int in spec *) +val reveal (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x:secret_int l s) + : GTot (y:int{within_bounds s y}) + +(** A `secret_int l s` can be also be seen as an machine integer in spec *) +let m #sl (#t:lattice_element sl) #s (x:secret_int t s) + : GTot (int_t s) + = u (reveal x) + +(** `hide` is the inverse of `reveal`, proving that `secret_int` is injective *) +val hide (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x:int{within_bounds s x}) + : GTot (secret_int l s) + +val reveal_hide (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x:int{within_bounds s x}) + : Lemma (reveal (hide #sl #l #s x) == x) + +val hide_reveal (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x:secret_int l s) + : Lemma (hide (reveal x) == x) + [SMTPat (reveal x)] + +(** `promote x l` allows increasing the confidentiality classification of `x` + This can easily be programmed using the FStar.IFC interface *) +val promote (#sl:sl) + (#l0:lattice_element sl) + (#s:sw) + (x:secret_int l0 s) + (l1:lattice_element sl) + : Tot (y:secret_int (l1 `lub` l0) s{reveal y == reveal x}) + +/// The remainder of this module provides liftings of specific +/// integers operations to work on secret integers, i.e., only those +/// that respect the constant time guarantees and do not break +/// confidentiality. +/// +/// Note, with our choice of representation, it is impossible to +/// implement functions that break basic IFC guarantees, e.g., we +/// cannot implement a boolean comparison function on secret_ints + +(** Bounds-respecting addition *) +noextract +inline_for_extraction +val addition (#sl:sl) + (#l:lattice_element sl) + (#s:sw) + (x : secret_int l s) + (y : secret_int l s {ok ( + ) (m x) (m y)}) + : Tot (z:secret_int l s{m z == m x + m y}) + +(** Addition modulo *) +noextract +inline_for_extraction +val addition_mod (#sl:sl) + (#l:lattice_element sl) + (#sw: _ {Unsigned? sw /\ width_of_sw sw <> W128}) + (x : secret_int l sw) + (y : secret_int l sw) + : Tot (z:secret_int l sw { m z == m x +% m y } ) + +/// If we like this style, I will proceed to implement a lifting of +/// the rest of the constant-time integers over secret integers + + +/// Now, a multiplexing layer to overload operators over int_t and secret_int + +(** A type of qualifiers, distinguishing secret and public integers *) +noeq +type qual = + | Secret: #sl:sl + -> l:lattice_element sl + -> sw:sw + -> qual + | Public: sw:signed_width + -> qual + +(** The signedness and width of a qualifier *) +[@@mark_for_norm] +unfold +let sw_qual = function + | Secret _ sw -> sw + | Public sw -> sw + +(** The lattice element of a secret qualifier *) +[@@mark_for_norm] +unfold +let label_qual (q:qual{Secret? q}) : lattice_element (Secret?.sl q) = + match q with + | Secret l _ -> l + +(** The type corresponding to a qualifier, either an integer or a secret integer *) +[@@mark_for_norm] +unfold +let t (q:qual) = + match q with + | Secret l s -> secret_int l s + | Public s -> int_t s + +[@@mark_for_norm] +unfold +let i (#q:qual) (x:t q) : GTot (int_t (sw_qual q)) = + match q with + | Public s -> x + | Secret l s -> m (x <: secret_int l s) + +[@@mark_for_norm] +unfold +let as_secret (#q:qual{Secret? q}) (x:t q) + : secret_int (label_qual q) (sw_qual q) + = x + +[@@mark_for_norm] +unfold +let as_public (#q:qual{Public? q}) (x:t q) + : int_t (sw_qual q) + = x + +(** Lifting addition to work over both secret and public integers *) +[@@mark_for_norm] +unfold +noextract +inline_for_extraction +let ( + ) (#q:qual) (x:t q) (y:t q{ok (+) (i x) (i y)}) + : Tot (t q) + = match q with + | Public s -> as_public x + as_public y + | Secret l s -> as_secret x `addition` as_secret y + +(** Lifting addition modulo to work over both secret and public integers *) +[@@mark_for_norm] +unfold +noextract +inline_for_extraction +let ( +% ) (#q:qual{norm (Unsigned? (sw_qual q) /\ width_of_sw (sw_qual q) <> W128)}) + (x:t q) + (y:t q) + : Tot (t q) + = match q with + | Public s -> as_public x +% as_public y + | Secret l s -> as_secret x `addition_mod` as_secret y + +(**** See src/tests/microbenchmarks/Test.ConstantTimeIntegers.fst for some unit tests *) + diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.Base.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.Base.fst new file mode 100644 index 00000000000..ee4baabf472 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.Base.fst @@ -0,0 +1,633 @@ +module FStar.InteractiveHelpers.Base + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + +(*** Utilities *) +val bv_eq : bv -> bv -> Tot bool +let bv_eq (bv1 bv2 : bv) = + let bvv1 = inspect_bv bv1 in + let bvv2 = inspect_bv bv2 in + (* We don't check for type equality: the fact that no two different binders + * have the same name and index is an invariant which must be enforced - + * and actually we could limit ourselves to checking the index *) + bvv1.bv_index = bvv2.bv_index + +val fv_eq : fv -> fv -> Tot bool +let fv_eq fv1 fv2 = + let n1 = inspect_fv fv1 in + let n2 = inspect_fv fv2 in + n1 = n2 + +// TODO: use everywhere +val fv_eq_name : fv -> name -> Tot bool +let fv_eq_name fv n = + let fvn = inspect_fv fv in + fvn = n + +// TODO: use more +val opt_apply (#a #b : Type) (f : a -> Tot b) (x : option a) : Tot (option b) +let opt_apply #a #b f x = + match x with + | None -> None + | Some x' -> Some (f x') + +val opt_tapply (#a #b : Type) (f : a -> Tac b) (x : option a) : Tac (option b) +let opt_tapply #a #b f x = + match x with + | None -> None + | Some x' -> Some (f x') + +val option_to_string : (#a : Type) -> (a -> Tac string) -> option a -> Tac string +let option_to_string #a f x = + match x with + | None -> "None" + | Some x' -> "Some (" ^ f x' ^ ")" + + +let opt_cons (#a : Type) (opt_x : option a) (ls : list a) : Tot (list a) = + match opt_x with + | Some x -> x :: ls + | None -> ls + +val list_to_string : #a : Type -> (a -> Tac string) -> list a -> Tac string +let list_to_string #a f ls = + (Tactics.Util.fold_left (fun s x -> s ^ " (" ^ f x ^ ");") "[" ls) ^ "]" + + +/// Apply a term to a list of parameters, normalize the result to make sure +/// all the abstractions are simplified +val mk_app_norm : env -> term -> list term -> Tac term +let mk_app_norm e t params = + let t1 = mk_e_app t params in + let t2 = norm_term_env e [] t1 in + t2 + +val opt_mk_app_norm : env -> option term -> list term -> Tac (option term) +let opt_mk_app_norm e opt_t params = + opt_tapply (fun t -> mk_app_norm e t params) opt_t + +// TODO: remove +let rec unzip #a #b (l : list (a & b)) : Tot (list a & list b) = + match l with + | [] -> ([],[]) + | (hd1,hd2)::tl -> + let (tl1,tl2) = unzip tl in + (hd1::tl1,hd2::tl2) + +/// Alternative ``bv_to_string`` function where we print the index of the bv. +/// It can be very useful for debugging. +let abv_to_string bv : Tac string = + let bvv = inspect_bv bv in + name_of_bv bv ^ " (%" ^ string_of_int (bvv.bv_index) ^ ")" + +let print_binder_info (full : bool) (b : binder) : Tac unit = + let open inspect_binder b <: binder_view in + let qual_str = match binder_qual with + | Q_Implicit -> "Implicit" + | Q_Explicit -> "Explicit" + | Q_Meta t -> "Meta: " ^ term_to_string t + in + let bview = inspect_bv binder_bv in + if full then + print ( + "> print_binder_info:" ^ + "\n- name: " ^ (name_of_binder b) ^ + "\n- as string: " ^ (binder_to_string b) ^ + "\n- aqual: " ^ qual_str ^ + "\n- ppname: " ^ name_of_bv binder_bv ^ + "\n- index: " ^ string_of_int bview.bv_index ^ + "\n- sort: " ^ term_to_string binder_sort + ) + else print (binder_to_string b) + +let print_binders_info (full : bool) (e:env) : Tac unit = + iter (print_binder_info full) (binders_of_env e) + +let acomp_to_string (c:comp) : Tac string = + match inspect_comp c with + | C_Total ret -> + "C_Total (" ^ term_to_string ret ^ ")" + | C_GTotal ret -> + "C_GTotal (" ^ term_to_string ret ^ ")" + | C_Lemma pre post patterns -> + "C_Lemma (" ^ term_to_string pre ^ ") (" ^ term_to_string post ^ ")" + | C_Eff us eff_name result eff_args _ -> + let eff_arg_to_string (a : term) : Tac string = + " (" ^ term_to_string a ^ ")" + in + let args_str = map (fun (x, y) -> eff_arg_to_string x) eff_args in + let args_str = List.Tot.fold_left (fun x y -> x ^ y) "" args_str in + "C_Eff (" ^ flatten_name eff_name ^ ") (" ^ term_to_string result ^ ")" ^ args_str + +exception MetaAnalysis of error_message +let mfail_doc m = + raise (MetaAnalysis m) +let mfail str = + raise (MetaAnalysis (mkmsg str)) + +(*** Debugging *) +/// Some debugging facilities +val print_dbg : bool -> string -> Tac unit +let print_dbg debug s = + if debug then print s + +/// Return the qualifier of a term as a string +val term_view_construct (t : term_view) : Tac string + +let term_view_construct (t : term_view) : Tac string = + match t with + | Tv_Var _ -> "Tv_Var" + | Tv_BVar _ -> "Tv_BVar" + | Tv_FVar _ -> "Tv_FVar" + | Tv_App _ _ -> "Tv_App" + | Tv_Abs _ _ -> "Tv_Abs" + | Tv_Arrow _ _ -> "Tv_Arrow" + | Tv_Type _ -> "Tv_Type" + | Tv_Refine _ _ _ -> "Tv_Refine" + | Tv_Const _ -> "Tv_Const" + | Tv_Uvar _ _ -> "Tv_Uvar" + | Tv_Let _ _ _ _ _ _ -> "Tv_Let" + | Tv_Match _ _ _ -> "Tv_Match" + | Tv_AscribedT _ _ _ _ -> "Tv_AscribedT" + | Tv_AscribedC _ _ _ _ -> "Tv_AScribedC" + | _ -> "Tv_Unknown" + +val term_construct (t : term) : Tac string + +let term_construct (t : term) : Tac string = + term_view_construct (inspect t) + +(*** Pretty printing *) +/// There are many issues linked to terms (pretty) printing. +/// The first issue is that when parsing terms, F* automatically inserts +/// ascriptions, which then clutter the terms printed to the user. The current +/// workaround is to filter those ascriptions in the terms before exploiting them. +/// TODO: this actually doesn't work for some unknown reason: some terms like [a /\ b] +/// become [l_and a b]... + +val filter_ascriptions : bool -> term -> Tac term + +let filter_ascriptions dbg t = + print_dbg dbg ("[> filter_ascriptions: " ^ term_view_construct t ^ ": " ^ term_to_string t ); + visit_tm (fun t -> + match inspect t with + | Tv_AscribedT e _ _ _ + | Tv_AscribedC e _ _ _ -> e + | _ -> t) t + +/// Our prettification function. Apply it to all the terms which might be printed +/// back to the user. Note that the time at which the function is applied is +/// important: we can't apply it on all the assertions we export to the user, just +/// before exporting, because we may have inserted ascriptions on purpose, which +/// would then be filtered away. +val prettify_term : bool -> term -> Tac term +let prettify_term dbg t = filter_ascriptions dbg t + +(*** Environments *) +/// We need a way to handle environments with variable bindings +/// and name shadowing, to properly display the context to the user. + +/// A map linking variables to terms. For now we use a list to define it, because +/// there shouldn't be too many bindings. +type bind_map (a : Type) = list (bv & a) + +let bind_map_push (#a:Type) (m:bind_map a) (b:bv) (x:a) = (b,x)::m + +let rec bind_map_get (#a:Type) (m:bind_map a) (b:bv) : Tot (option a) = + match m with + | [] -> None + | (b', x)::m' -> + if compare_bv b b' = Order.Eq then Some x else bind_map_get m' b + +let rec bind_map_get_from_name (#a:Type) (m:bind_map a) (name:string) : + Tac (option (bv & a)) = + match m with + | [] -> None + | (b', x)::m' -> + let b'v = inspect_bv b' in + if unseal b'v.bv_ppname = name then Some (b', x) else bind_map_get_from_name m' name + +noeq type genv = +{ + env : env; + (* Whenever we evaluate a let binding, we keep track of the relation between + * the binder and its definition. + * The boolean indicates whether or not the variable is considered abstract. We + * often need to introduce variables which don't appear in the user context, for + * example when we need to deal with a postcondition for Stack or ST, which handles + * the previous and new memory states, and which may not be available in the user + * context, or where we don't always know which variable to use. + * In this case, whenever we output the term, we write its content as an + * abstraction applied to those missing parameters. For instance, in the + * case of the assertion introduced for a post-condition: + * [> assert((fun h1 h2 -> post) h1 h2); + * Besides the informative goal, the user can replace those parameters (h1 + * and h2 above) by the proper ones then normalize the assertion by using + * the appropriate command to get a valid assertion. *) + bmap : bind_map (typ & bool & term); + (* Whenever we introduce a new variable, we check whether it shadows another + * variable because it has the same name, and put it in the below + * list. Of course, for the F* internals such shadowing is not an issue, because + * the index of every variable should be different, but this is very important + * when generating code for the user *) + svars : list (bv & typ); +} + +let get_env (e:genv) : env = e.env +let get_bind_map (e:genv) : bind_map (typ & bool & term) = e.bmap +let mk_genv env bmap svars : genv = Mkgenv env bmap svars +let mk_init_genv env : genv = mk_genv env [] [] + +val genv_to_string : genv -> Tac string +let genv_to_string ge = + let binder_to_string (b : binder) : Tac string = + abv_to_string (bv_of_binder b) ^ "\n" + in + let binders_str = map binder_to_string (binders_of_env ge.env) in + let bmap_elem_to_string (e : bv & (typ & bool & term)) : Tac string = + let bv, (_sort, abs, t) = e in + "(" ^ abv_to_string bv ^" -> (" ^ + string_of_bool abs ^ ", " ^ term_to_string t ^ "))\n" + in + let bmap_str = map bmap_elem_to_string ge.bmap in + let svars_str = map (fun (bv, _) -> abv_to_string bv ^ "\n") ge.svars in + let flatten = List.Tot.fold_left (fun x y -> x ^ y) "" in + "> env:\n" ^ flatten binders_str ^ + "> bmap:\n" ^ flatten bmap_str ^ + "> svars:\n" ^ flatten svars_str + +let genv_get (ge:genv) (b:bv) : Tot (option (typ & bool & term)) = + bind_map_get ge.bmap b + +let genv_get_from_name (ge:genv) (name:string) : Tac (option ((bv & typ) & (bool & term))) = + (* tweak return a bit to include sort *) + match bind_map_get_from_name ge.bmap name with + | None -> None + | Some (bv, (sort, b, x)) -> Some ((bv, sort), (b, x)) + +/// Push a binder to a ``genv``. Optionally takes a ``term`` which provides the +/// term the binder is bound to (in a `let _ = _ in` construct for example). +let genv_push_bv (ge:genv) (b:bv) (sort:typ) (abs:bool) (t:option term) : Tac genv = + let br = mk_binder b sort in + let sv = genv_get_from_name ge (name_of_bv b) in + let svars' = if Some? sv then fst (Some?.v sv) :: ge.svars else ge.svars in + let e' = push_binder ge.env br in + let tm = if Some? t then Some?.v t else pack (Tv_Var b) in + let bmap' = bind_map_push ge.bmap b (sort, abs, tm) in + mk_genv e' bmap' svars' + +let genv_push_binder (ge:genv) (b:binder) (abs:bool) (t:option term) : Tac genv = + genv_push_bv ge (bv_of_binder b) (binder_sort b) abs t + +/// Check if a binder is shadowed by another more recent binder +let bv_is_shadowed (ge : genv) (bv : bv) : Tot bool = + List.Tot.existsb (fun (b,_) -> bv_eq bv b) ge.svars + +let binder_is_shadowed (ge : genv) (b : binder) : Tot bool = + bv_is_shadowed ge (bv_of_binder b) + +let find_shadowed_bvs (ge : genv) (bl : list bv) : Tot (list (bv & bool)) = + List.Tot.map (fun b -> b, bv_is_shadowed ge b) bl + +let find_shadowed_binders (ge : genv) (bl : list binder) : Tot (list (binder & bool)) = + List.Tot.map (fun b -> b, binder_is_shadowed ge b) bl + +val bv_is_abstract : genv -> bv -> Tot bool +let bv_is_abstract ge bv = + match genv_get ge bv with + | None -> false + | Some (_, abs, _) -> abs + +val binder_is_abstract : genv -> binder -> Tot bool +let binder_is_abstract ge b = + bv_is_abstract ge (bv_of_binder b) + +val genv_abstract_bvs : genv -> Tot (list (bv & typ)) +let genv_abstract_bvs ge = + List.Tot.concatMap + (fun (bv, (ty, abs, _)) -> if abs then [bv,ty] else []) ge.bmap + +/// Versions of ``fresh_bv`` and ``fresh_binder`` inspired by the standard library +/// We make sure the name is fresh because we need to be able to generate valid code +/// (it is thus not enough to have a fresh integer). +let rec _fresh_bv binder_names basename i : Tac bv = + let name = basename ^ string_of_int i in + (* In worst case the performance is quadratic in the number of binders. + * TODO: fix that, it actually probably happens for anonymous variables ('_') *) + if List.Tot.mem name binder_names then _fresh_bv binder_names basename (i+1) + else fresh_bv_named name + +let fresh_bv (e : env) (basename : string) : Tac bv = + let binders = binders_of_env e in + let binder_names = Tactics.map name_of_binder binders in + _fresh_bv binder_names basename 0 + +let fresh_binder (e : env) (basename : string) (ty : typ) : Tac binder = + let bv = fresh_bv e basename in + mk_binder bv ty + +let genv_push_fresh_binder (ge : genv) (basename : string) (ty : typ) : Tac (genv & binder) = + let b = fresh_binder ge.env basename ty in + (* TODO: we can have a shortcircuit push (which performs less checks) *) + let ge' = genv_push_binder ge b true None in + ge', b + +// TODO: actually we should use push_fresh_bv more +let push_fresh_binder (e : env) (basename : string) (ty : typ) : Tac (env & binder) = + let b = fresh_binder e basename ty in + let e' = push_binder e b in + e', b + +let genv_push_fresh_bv (ge : genv) (basename : string) (ty : typ) : Tac (genv & bv) = + let ge', b = genv_push_fresh_binder ge basename ty in + ge', bv_of_binder b + +val push_fresh_var : env -> string -> typ -> Tac (term & binder & env) +let push_fresh_var e0 basename ty = + let e1, b1 = push_fresh_binder e0 basename ty in + let v1 = pack (Tv_Var (bv_of_binder b1)) in + v1, b1, e1 + +val genv_push_fresh_var : genv -> string -> typ -> Tac (term & binder & genv) +let genv_push_fresh_var ge0 basename ty = + let ge1, b1 = genv_push_fresh_binder ge0 basename ty in + let v1 = pack (Tv_Var (bv_of_binder b1)) in + v1, b1, ge1 + +val push_two_fresh_vars : env -> string -> typ -> Tac (term & binder & term & binder & env) +let push_two_fresh_vars e0 basename ty = + let e1, b1 = push_fresh_binder e0 basename ty in + let e2, b2 = push_fresh_binder e1 basename ty in + let v1 = pack (Tv_Var (bv_of_binder b1)) in + let v2 = pack (Tv_Var (bv_of_binder b2)) in + v1, b1, v2, b2, e2 + +val genv_push_two_fresh_vars : genv -> string -> typ -> Tac (term & binder & term & binder & genv) +let genv_push_two_fresh_vars ge0 basename ty = + let ge1, b1 = genv_push_fresh_binder ge0 basename ty in + let ge2, b2 = genv_push_fresh_binder ge1 basename ty in + let v1 = pack (Tv_Var (bv_of_binder b1)) in + let v2 = pack (Tv_Var (bv_of_binder b2)) in + v1, b1, v2, b2, ge2 + + + +(*** Substitutions *) +/// Substitutions + +/// Custom substitutions using the normalizer. This is the easiest and safest +/// way to perform a substitution: if you want to substitute [v] with [t] in [exp], +/// just normalize [(fun v -> exp) t]. Note that this may be computationally expensive. +val norm_apply_subst : env -> term -> list ((bv & typ) & term) -> Tac term +val norm_apply_subst_in_comp : env -> comp -> list ((bv & typ) & term) -> Tac comp + +let norm_apply_subst e t subst = + let bl, vl = unzip subst in + let bl = List.Tot.map (fun (bv,ty) -> mk_binder bv ty) bl in + let t1 = mk_abs bl t in + let t2 = mk_e_app t1 vl in + norm_term_env e [] t2 + +let norm_apply_subst_in_comp e c subst = + let subst = (fun x -> norm_apply_subst e x subst) in + let subst_in_aqualv a : Tac aqualv = + match a with + | Q_Implicit + | Q_Explicit -> a + | Q_Meta t -> Q_Meta (subst t) + in + match inspect_comp c with + | C_Total ret -> + let ret = subst ret in + pack_comp (C_Total ret) + | C_GTotal ret -> + let ret = subst ret in + pack_comp (C_GTotal ret) + | C_Lemma pre post patterns -> + let pre = subst pre in + let post = subst post in + let patterns = subst patterns in + pack_comp (C_Lemma pre post patterns) + | C_Eff us eff_name result eff_args decrs -> + let result = subst result in + let eff_args = map (fun (x, a) -> (subst x, subst_in_aqualv a)) eff_args in + let decrs = map subst decrs in + pack_comp (C_Eff us eff_name result eff_args decrs) + +/// As substitution with normalization is very expensive, we implemented another +/// technique which works by exploring terms. This is super fast, but the terms +/// seem not to be reconstructed in the same way, which has a big impact on pretty printing. +/// For example, terms like [A /\ B] get printed as [Prims.l_and A B]. +val deep_apply_subst : env -> term -> list (bv & term) -> Tac term +// Whenever we encounter a construction which introduces a binder, we need to apply +// the substitution in the binder type. Note that this gives a new binder, with +// which we need to replace the old one in what follows. +// Also note that it should be possible to rewrite [deep_apply_subst] in terms of [visit_tm], +// but [deep_apply_subst] seems to be a bit more precise with regard to type replacements (not +// sure it is really important, though). +val deep_apply_subst_in_bv : env -> bv -> list (bv & term) -> Tac (bv & list (bv & term)) +val deep_apply_subst_in_binder : env -> binder -> list (bv & term) -> Tac (binder & list (bv & term)) +val deep_apply_subst_in_comp : env -> comp -> list (bv & term) -> Tac comp +val deep_apply_subst_in_pattern : env -> pattern -> list (bv & term) -> Tac (pattern & list (bv & term)) + +let rec deep_apply_subst e t subst = + match inspect t with + | Tv_Var b -> + begin match bind_map_get subst b with + | None -> t + | Some t' -> t' + end + | Tv_BVar b -> + (* Note: Tv_BVar shouldn't happen *) + begin match bind_map_get subst b with + | None -> t + | Some t' -> t' + end + | Tv_FVar _ -> t + | Tv_App hd (a,qual) -> + let hd = deep_apply_subst e hd subst in + let a = deep_apply_subst e a subst in + pack (Tv_App hd (a, qual)) + | Tv_Abs br body -> + let body = deep_apply_subst e body subst in + pack (Tv_Abs br body) + | Tv_Arrow br c -> + let br, subst = deep_apply_subst_in_binder e br subst in + let c = deep_apply_subst_in_comp e c subst in + pack (Tv_Arrow br c) + | Tv_Type _ -> t + | Tv_Refine bv sort ref -> + let sort = deep_apply_subst e sort subst in + let bv, subst = deep_apply_subst_in_bv e bv subst in + let ref = deep_apply_subst e ref subst in + pack (Tv_Refine bv sort ref) + | Tv_Const _ -> t + | Tv_Uvar _ _ -> t + | Tv_Let recf attrs bv ty def body -> + (* No need to substitute in the attributes - that we filter for safety *) + let ty = deep_apply_subst e ty subst in + let def = deep_apply_subst e def subst in + let bv, subst = deep_apply_subst_in_bv e bv subst in + let body = deep_apply_subst e body subst in + pack (Tv_Let recf [] bv ty def body) + | Tv_Match scrutinee ret_opt branches -> (* TODO: type of pattern variables *) + let scrutinee = deep_apply_subst e scrutinee subst in + let ret_opt = map_opt (fun (b, asc) -> + let b, subst = deep_apply_subst_in_binder e b subst in + let asc = + match asc with + | Inl t, tacopt, use_eq -> + Inl (deep_apply_subst e t subst), + map_opt (fun tac -> deep_apply_subst e tac subst) tacopt, + use_eq + | Inr c, tacopt, use_eq -> + Inr (deep_apply_subst_in_comp e c subst), + map_opt (fun tac -> deep_apply_subst e tac subst) tacopt, + use_eq in + b, asc) ret_opt in + (* For the branches: we don't need to explore the patterns *) + let deep_apply_subst_in_branch branch = + let pat, tm = branch in + let pat, subst = deep_apply_subst_in_pattern e pat subst in + let tm = deep_apply_subst e tm subst in + pat, tm + in + let branches = map deep_apply_subst_in_branch branches in + pack (Tv_Match scrutinee ret_opt branches) + | Tv_AscribedT exp ty tac use_eq -> + let exp = deep_apply_subst e exp subst in + let ty = deep_apply_subst e ty subst in + (* no need to apply it on the tactic - that we filter for safety *) + pack (Tv_AscribedT exp ty None use_eq) + | Tv_AscribedC exp c tac use_eq -> + let exp = deep_apply_subst e exp subst in + let c = deep_apply_subst_in_comp e c subst in + (* no need to apply it on the tactic - that we filter for safety *) + pack (Tv_AscribedC exp c None use_eq) + | _ -> + (* Unknown *) + t + +and deep_apply_subst_in_bv e bv subst = + (* No substitution needs to happen for variables + (there is no longer a sort). But, shift the substitution. *) + bv, (bv, pack (Tv_Var bv))::subst + +(* + * AR: TODO: should apply subst in attrs? + *) +and deep_apply_subst_in_binder e br subst = + let open inspect_binder br <: binder_view in + let binder_sort = deep_apply_subst e binder_sort subst in + let binder_bv, subst = deep_apply_subst_in_bv e binder_bv subst in + pack_binder { + binder_bv=binder_bv; + binder_qual=binder_qual; + binder_attrs=binder_attrs; + binder_sort=binder_sort; + }, subst + +and deep_apply_subst_in_comp e c subst = + let subst = (fun x -> deep_apply_subst e x subst) in + let subst_in_aqualv a : Tac aqualv = + match a with + | Q_Implicit + | Q_Explicit -> a + | Q_Meta t -> Q_Meta (subst t) + in + match inspect_comp c with + | C_Total ret -> + let ret = subst ret in + pack_comp (C_Total ret) + | C_GTotal ret -> + let ret = subst ret in + pack_comp (C_GTotal ret) + | C_Lemma pre post patterns -> + let pre = subst pre in + let post = subst post in + let patterns = subst patterns in + pack_comp (C_Lemma pre post patterns) + | C_Eff us eff_name result eff_args decrs -> + let result = subst result in + let eff_args = map (fun (x, a) -> (subst x, subst_in_aqualv a)) eff_args in + let decrs = map subst decrs in + pack_comp (C_Eff us eff_name result eff_args decrs) + +and deep_apply_subst_in_pattern e pat subst = + match pat with + | Pat_Constant _ -> pat, subst + | Pat_Cons fv us patterns -> + (* The types of the variables in the patterns should be independent of each + * other: we use fold_left only to incrementally update the substitution *) + let patterns, subst = + fold_right (fun (pat, b) (pats, subst) -> + let pat, subst = deep_apply_subst_in_pattern e pat subst in + ((pat, b) :: pats, subst)) patterns ([], subst) + in + Pat_Cons fv us patterns, subst + | Pat_Var bv st -> + let st = Sealed.seal (deep_apply_subst e (unseal st) subst) in + let bv, subst = deep_apply_subst_in_bv e bv subst in + Pat_Var bv st, subst + | Pat_Dot_Term eopt -> + Pat_Dot_Term (map_opt (fun t -> deep_apply_subst e t subst) eopt), subst + +/// The substitution functions actually used in the rest of the meta F* functions. +/// For now, we use normalization because even though it is sometimes slow it +/// gives prettier terms, and readability is the priority. In order to mitigate +/// the performance issue, we try to minimize the number of calls to those functions, +/// by doing lazy instantiations for example (rather than incrementally apply +/// substitutions in a term, accumulate the substitutions and perform them all at once). +/// TODO: would it be good to have a native substitution function in F* +let apply_subst = norm_apply_subst +let apply_subst_in_comp = norm_apply_subst_in_comp + +val opt_apply_subst : env -> option term -> list ((bv & typ) & term) -> Tac (option term) +let opt_apply_subst e opt_t subst = + match opt_t with + | None -> None + | Some t -> Some (apply_subst e t subst) + +(*** Variable shadowing *) +/// Introduce fresh variables to generate a substitution for the variables shadowed +/// in the current environment. +val generate_shadowed_subst : genv -> Tac (genv & list (bv & typ & bv)) + +/// In order to introduce variables with coherent types (the variables' types +/// may be dependent) and make things simpler, we build one big term: +/// [> (fun x1 x2 ... xn -> ()) +/// Then, for each variable, we introduce a fresh variable with the same type as +/// the outermost abstraction, apply the above term to this new variable and +/// normalize to "apply" the substitution and reveal the next binding. + +let rec _generate_shadowed_subst (ge:genv) (t:term) (bvl : list (bv & typ)) : + Tac (genv & list (bv & typ & bv)) = + match bvl with + | [] -> ge, [] + | old_bv :: bvl' -> + match inspect t with + | Tv_Abs b _ -> + (* Introduce the new binder *) + let bv = (inspect_binder b).binder_bv in + let bvv = inspect_bv bv in + let ty = binder_sort b in + let name = unseal bvv.bv_ppname in + let ge1, fresh = genv_push_fresh_bv ge ("__" ^ name) ty in + let t1 = mk_e_app t [pack (Tv_Var fresh)] in + let t2 = norm_term_env ge1.env [] t1 in + (* Recursion *) + let ge2, nbvl = _generate_shadowed_subst ge1 t2 bvl' in + (* Return *) + ge2, (fst old_bv, ty, fresh) :: nbvl + | _ -> mfail "_subst_with_fresh_vars: not a Tv_Abs" + +let generate_shadowed_subst ge = + (* We need to replace the variables starting with the oldest *) + let bvl = List.Tot.rev ge.svars in + let bl = List.Tot.map (fun (bv, sort) -> mk_binder bv sort) bvl in + let dummy = mk_abs bl (`()) in + _generate_shadowed_subst ge dummy bvl diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.Effectful.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.Effectful.fst new file mode 100644 index 00000000000..301763e6ad6 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.Effectful.fst @@ -0,0 +1,962 @@ +module FStar.InteractiveHelpers.Effectful + +module HS = FStar.HyperStack + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul +open FStar.InteractiveHelpers.Base +open FStar.InteractiveHelpers.ExploreTerm +open FStar.InteractiveHelpers.Propositions + +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +/// Effectful term analysis: retrieve information about an effectful term, including +/// its return type, its arguments, its correctly instantiated pre/postcondition, etc. + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + + +(*** Effectful term analysis *) +/// Cast information +noeq type cast_info = { + term : term; + p_ty : option type_info; // The type of the term + exp_ty : option type_info; // The type of the expected parameter +} + +let mk_cast_info t p_ty exp_ty : cast_info = + Mkcast_info t p_ty exp_ty + +val cast_info_to_string : cast_info -> Tac string +let cast_info_to_string info = + "Mkcast_info (" ^ term_to_string info.term ^ ") (" ^ + option_to_string type_info_to_string info.p_ty ^ ") (" ^ + option_to_string type_info_to_string info.exp_ty ^ ")" + +/// Extracts the effectful information from a computation +noeq type effect_info = { + ei_type : effect_type; + ei_ret_type : type_info; + ei_pre : option term; + ei_post : option term; +} + +let mk_effect_info = Mkeffect_info + +/// Convert a ``typ_or_comp`` to cast information +val effect_info_to_string : effect_info -> Tac string +let effect_info_to_string c = + "Mkeffect_info " ^ + effect_type_to_string c.ei_type ^ " (" ^ + option_to_string term_to_string c.ei_pre ^ ") (" ^ + type_info_to_string c.ei_ret_type ^ ") (" ^ + option_to_string term_to_string c.ei_post ^ ")" + +/// Effectful term information +noeq type eterm_info = { + einfo : effect_info; + (* Head and parameters of the decomposition of the term into a function application *) + head : term; + parameters : list cast_info; +} + +val eterm_info_to_string : eterm_info -> Tac string +let eterm_info_to_string info = + let params = map (fun x -> "(" ^ cast_info_to_string x ^ "); \n") info.parameters in + let params_str = List.Tot.fold_left (fun x y -> x ^ y) "" params in + "Mketerm_info (" ^ + effect_info_to_string info.einfo ^ ") (" ^ + term_to_string info.head ^ ")\n[" ^ + params_str ^ "]" + +let mk_eterm_info = Mketerm_info + + +(**** Step 1 *) +/// Decompose a function application between its body and parameters +val decompose_application : env -> term -> Tac (term & list cast_info) + +#push-options "--ifuel 1" +let rec decompose_application_aux (e : env) (t : term) : + Tac (term & list cast_info) = + match inspect t with + | Tv_App hd (a, qualif) -> + let hd0, params = decompose_application_aux e hd in + (* Parameter type *) + let a_type = get_type_info e a in + (* Type expected by the function *) + let hd_ty = safe_tc e hd in + let param_type = + match hd_ty with + | None -> None + | Some hd_ty' -> + match inspect hd_ty' with + | Tv_Arrow b c -> + Some (get_type_info_from_type (binder_sort b)) + | _ -> None + in + let cast_info = mk_cast_info a a_type param_type in + hd0, cast_info :: params + | _ -> t, [] +#pop-options + +let decompose_application e t = + let hd, params = decompose_application_aux e t in + hd, List.Tot.rev params + +/// Computes an effect type, its return type and its (optional) pre and post +val comp_view_to_effect_info : dbg:bool -> comp_view -> Tac (option effect_info) + +let comp_view_to_effect_info dbg cv = + match cv with + | C_Total ret_ty -> + let ret_type_info = get_type_info_from_type ret_ty in + Some (mk_effect_info E_Total ret_type_info None None) + | C_GTotal ret_ty -> + let ret_type_info = get_type_info_from_type ret_ty in + Some (mk_effect_info E_Total ret_type_info None None) + | C_Lemma pre post patterns -> + (* We use unit as the return type information *) + let pre = prettify_term dbg pre in + let post = prettify_term dbg post in + Some (mk_effect_info E_Lemma unit_type_info (Some pre) (Some post)) + | C_Eff univs eff_name ret_ty eff_args _ -> + print_dbg dbg ("comp_view_to_effect_info: C_Eff " ^ flatten_name eff_name); + let ret_type_info = get_type_info_from_type ret_ty in + let etype = effect_name_to_type eff_name in + let mk_res = mk_effect_info etype ret_type_info in + let eff_args = map (fun (x,a) -> (prettify_term dbg x, a)) eff_args in + begin match etype, eff_args with + | E_PURE, [(pre, _)] -> Some (mk_res (Some pre) None) + | E_Pure, [(pre, _); (post, _)] + | E_Stack, [(pre, _); (post, _)] + | E_ST, [(pre, _); (post, _)] -> Some (mk_res (Some pre) (Some post)) + (* If the effect is unknown and there are two parameters or less, we make the + * guess that the first one is a pre-condition and the second one is a + * post-condition *) + | E_Unknown, [] -> Some (mk_res None None) + | E_Unknown, [(pre, _)] -> Some (mk_res (Some pre) None) + | E_Unknown, [(pre, _); (post, _)] -> Some (mk_res (Some pre) (Some post)) + | _ -> None + end + +val comp_to_effect_info : dbg:bool -> comp -> Tac (option effect_info) + +let comp_to_effect_info dbg c = + let cv : comp_view = inspect_comp c in + comp_view_to_effect_info dbg cv + +val compute_effect_info : dbg:bool -> env -> term -> Tac (option effect_info) + +let compute_effect_info dbg e tm = + match safe_tcc e tm with + | Some c -> comp_to_effect_info dbg c + | None -> None + +/// Converts a ``typ_or_comp`` to an ``effect_info`` by flushing the instantiations +/// stored in the ``typ_or_comp``. +let typ_or_comp_to_effect_info (dbg : bool) (ge : genv) (c : typ_or_comp) : + Tac effect_info = +(* match c with + | TC_Typ ty pl num_unflushed -> + let tinfo = get_type_info_from_type ty in + mk_effect_info E_Total tinfo None None + | TC_Comp cv pl num_unflushed -> + let opt_einfo = comp_to_effect_info dbg cv in + match opt_einfo with + | None -> mfail ("typ_or_comp_to_effect_info failed on: " ^ acomp_to_string cv) + | Some einfo -> einfo *) + let c = flush_typ_or_comp dbg ge.env c in + match c with + | TC_Typ ty _ _ -> + let tinfo = get_type_info_from_type ty in + mk_effect_info E_Total tinfo None None + | TC_Comp cv _ _ -> + let opt_einfo = comp_to_effect_info dbg cv in + match opt_einfo with + | None -> mfail ("typ_or_comp_to_effect_info failed on: " ^ acomp_to_string cv) + | Some einfo -> einfo + + +/// ``tcc`` often returns a lifted effect which is not what we want (ex.: a +/// lemma called inside a Stack function may have been lifted to Stack, but +/// when studying this term effect, we want to retrieve its non-lifted effect). +/// The workaround is to decompose the term if it is an application, then retrieve +/// the effect of the head, and reconstruct it. +/// Note: I tried inspecting then repacking the term before calling ``tcc`` to +/// see if it allows to "forget" the context: it doesn't work. +val tcc_no_lift : env -> term -> Tac comp + +let tcc_no_lift e t = + match inspect t with + | Tv_App _ _ -> + let hd, args = collect_app t in + let c = tcc e hd in + inst_comp e c (List.Tot.map fst args) + | _ -> + (* Fall back to ``tcc`` *) + tcc e t + +/// Returns the effectful information about a term +val compute_eterm_info : dbg:bool -> env -> term -> Tac eterm_info + +#push-options "--ifuel 2" +let compute_eterm_info (dbg : bool) (e : env) (t : term) = + (* Decompose the term if it is a function application *) + let hd, parameters = decompose_application e t in + try + begin + let c : comp = tcc_no_lift e t in + let opt_einfo = comp_to_effect_info dbg c in + match opt_einfo with + | None -> mfail ("compute_eterm_info: failed on: " ^ term_to_string t) + | Some einfo -> + mk_eterm_info einfo hd parameters + end + with + | TacticFailure (msg, _) -> + mfail_doc ([text "compute_eterm_info: failure"] @ msg) + | e -> raise e +#pop-options + +(***** Types, casts and refinements *) + +(* TODO: those are not needed anymore *) +let has_refinement (ty:type_info) : Tot bool = + Some? ty.refin + +let get_refinement (ty:type_info{Some? ty.refin}) : Tot term = + Some?.v ty.refin + +let get_opt_refinment (ty:type_info) : Tot (option term) = + ty.refin + +let get_rawest_type (ty:type_info) : Tot typ = + ty.ty + +/// Compare the type of a parameter and its expected type +type type_comparison = | Refines | Same_raw_type | Unknown + +#push-options "--ifuel 1" +let type_comparison_to_string c = + match c with + | Refines -> "Refines" + | Same_raw_type -> "Same_raw_type" + | Unknown -> "Unknown" +#pop-options + +// TODO: without debugging information generation, is Tot +let compare_types (dbg : bool) (info1 info2 : type_info) : + Tac (c:type_comparison{c = Same_raw_type ==> has_refinement info2}) = + print_dbg dbg "[> compare_types"; + if term_eq info1.ty info2.ty then + let _ = print_dbg dbg "-> types are equal" in + if has_refinement info2 then + let _ = print_dbg dbg "-> 2nd type has refinement" in + // This doesn't work like in C: we need to check if info1 has a + // refinement, then we can compare the refinements inside ANOTHER if + if has_refinement info1 then + let _ = print_dbg dbg "-> 1st type has refinement" in + if term_eq (get_refinement info1) (get_refinement info2) then + let _ = print_dbg dbg "-> Refines" in + Refines + else + let _ = print_dbg dbg "-> Same_raw_type" in + Same_raw_type // Same raw type but can't say anything about the expected refinement + else + let _ = print_dbg dbg "-> 1st type has no refinement" in + let _ = print_dbg dbg "-> Same_raw_type" in + Same_raw_type // Same raw type but can't say anything about the expected refinement + else + let _ = print_dbg dbg "-> 2nd type has no refinement: Refines" in + Refines // The first type is more precise than the second type + else + let _ = print_dbg dbg "types are not equal" in + Unknown + +let compare_cast_types (dbg : bool) (p:cast_info) : + Tac (c:type_comparison{ + ((c = Refines \/ c = Same_raw_type) ==> (Some? p.p_ty /\ Some? p.exp_ty)) /\ + (c = Same_raw_type ==> has_refinement (Some?.v p.exp_ty))}) = + print_dbg dbg "[> compare_cast_types"; + match p.p_ty, p.exp_ty with + | Some info1, Some info2 -> + compare_types dbg info1 info2 + | _ -> Unknown + +(*/// Retrieve the list of types from the parameters stored in ``typ_or_comp``. +val typ_or_comp_to_param_types : typ_or_comp -> Tot (list typ) + +let typ_or_comp_to_param_types c = + let pl = params_of_typ_or_comp c in + List.Tot.map type_of_binder pl *) + +(**** Step 2 *) +/// The retrieved type refinements and post-conditions are not instantiated (they +/// are lambda functions): instantiate them to get propositions. + + +/// Generate a term of the form [has_type x ty] +val mk_has_type : term -> typ -> Tac term +let mk_has_type t ty = + let params = [(ty, Q_Implicit); (t, Q_Explicit); (ty, Q_Explicit)] in + mk_app (`has_type) params + + +// TODO: I don't understand why I need ifuel 2 here +#push-options "--ifuel 2" +/// Generate the propositions equivalent to a correct type cast. +/// Note that the type refinements need to be instantiated. +val cast_info_to_propositions : bool -> genv -> cast_info -> Tac (list proposition) +let cast_info_to_propositions dbg ge ci = + print_dbg dbg ("[> cast_info_to_propositions:\n" ^ cast_info_to_string ci); + match compare_cast_types dbg ci with + | Refines -> + print_dbg dbg ("-> Comparison result: Refines"); + [] + | Same_raw_type -> + print_dbg dbg ("-> Comparison result: Same_raw_type"); + let refin = get_refinement (Some?.v ci.exp_ty) in + let inst_refin = mk_app_norm ge.env refin [ci.term] in + [inst_refin] + | Unknown -> + print_dbg dbg ("-> Comparison result: Unknown"); + match ci.p_ty, ci.exp_ty with + | Some p_ty, Some e_ty -> + let p_rty = get_rawest_type p_ty in + let e_rty = get_rawest_type e_ty in + (* For the type cast, we generate an assertion of the form: + * [> has_type (p <: type_of_p) expected_type + * The reason is that we want the user to know which parameter is + * concerned (hence the ``has_type``), and which types should be + * related (hence the ascription). + *) + let ascr_term = pack (Tv_AscribedT ci.term p_rty None false) in + let has_type_params = [(p_rty, Q_Implicit); (ascr_term, Q_Explicit); (e_rty, Q_Explicit)] in + let type_cast = mk_app (`has_type) has_type_params in + (* Expected type's refinement *) + let inst_opt_refin = opt_mk_app_norm ge.env e_ty.refin [ci.term] in + opt_cons inst_opt_refin [type_cast] + | _ -> [] +#pop-options + +/// Generates a list of propositions from a list of ``cast_info``. Note that +/// the user should revert the list before printing the propositions. +val cast_info_list_to_propositions : bool -> genv -> list cast_info -> Tac (list proposition) +let cast_info_list_to_propositions dbg ge ls = + let lsl = map (cast_info_to_propositions dbg ge) ls in + flatten lsl + +/// When dealing with unknown effects, we try to guess what the pre and post-conditions +/// are. The effects are indeed very likely to have a pre and a post-condition, +/// and to be parameterized with an internal effect state, so that the pre and posts +/// have the following shapes: +/// - pre : STATE -> Type0 +/// - post : STATE -> RET -> STATE -> Type0 +/// Or (no state/pure): +/// - pre : Type0 +/// - post : RET -> Type0 +/// We try to detect that with the following functions: +noeq type pre_post_type = +| PP_Unknown | PP_Pure +| PP_State : (state_type:term) -> pre_post_type + +val compute_pre_type : bool -> env -> term -> Tac pre_post_type +let compute_pre_type dbg e pre = + print_dbg dbg "[> compute_pre_type"; + match safe_tc e pre with + | None -> + print_dbg dbg "safe_tc failed"; + PP_Unknown + | Some ty -> + print_dbg dbg "safe_tc succeeded"; + let brs, c = collect_arr_bs ty in + print_dbg dbg ("num binders: " ^ string_of_int (List.Tot.length brs)); + match brs, is_total_or_gtotal c with + | [], true -> + print_dbg dbg "PP_Pure"; + PP_Pure + | [b], true -> + print_dbg dbg ("PP_State " ^ (term_to_string (type_of_binder b))); + PP_State (type_of_binder b) + | _ -> + print_dbg dbg "PP_Unknown"; + PP_Unknown + +val opt_remove_refin : typ -> Tac typ +let opt_remove_refin ty = + match inspect ty with + | Tv_Refine _ sort _ -> sort + | _ -> ty + +val compute_post_type : bool -> env -> term -> term -> Tac pre_post_type +let compute_post_type dbg e ret_type post = + print_dbg dbg "[> compute_post_type"; + let get_tot_ret_type c : Tac (option term_view) = + match get_total_or_gtotal_ret_type c with + | Some ret_ty -> Some (inspect ret_ty) + | None -> None + in + match safe_tc e post with + | None -> + print_dbg dbg "safe_tc failed"; + PP_Unknown + | Some ty -> + print_dbg dbg "safe_tc succeeded"; + let brs, c = collect_arr_bs ty in + print_dbg dbg ("num binders: " ^ string_of_int (List.Tot.length brs)); + match brs, is_total_or_gtotal c with + | [r], true -> + (* Pure *) + print_dbg dbg "PP_Pure"; + PP_Pure + | [s1; r; s2], true -> + (* Stateful: check that the state types are coherent *) + let r_ty = type_of_binder r in + let s1_ty = type_of_binder s1 in + (* After testing with Stack: the final state seems to have a refinement + * (which gives the postcondition) so we need to remove it to match + * it against the initial state *) + let s2_ty = opt_remove_refin (type_of_binder s2) in + let ret_type_eq = term_eq ret_type r_ty in + let state_type_eq = term_eq s1_ty s2_ty in + print_dbg dbg ("- ret type:\n-- target: " ^ term_to_string ret_type ^ + "\n-- binder: " ^ term_to_string r_ty); + print_dbg dbg ("- state types:\n-- binder1: " ^ term_to_string s1_ty ^ + "\n-- binder2: " ^ term_to_string s2_ty); + print_dbg dbg ("- ret type equality: " ^ string_of_bool ret_type_eq); + print_dbg dbg ("- state types equality: " ^ string_of_bool state_type_eq); + if ret_type_eq && state_type_eq + then + begin + print_dbg dbg ("PP_State" ^ term_to_string (type_of_binder s1)); + PP_State (type_of_binder s1) + end + else + begin + print_dbg dbg "PP_Unknown"; + PP_Unknown + end + | _ -> + print_dbg dbg "PP_Unknown"; + PP_Unknown + +val check_pre_post_type : bool -> env -> term -> term -> term -> Tac pre_post_type +let check_pre_post_type dbg e pre ret_type post = + print_dbg dbg "[> check_pre_post_type"; + match compute_pre_type dbg e pre, compute_post_type dbg e ret_type post with + | PP_Pure, PP_Pure -> + print_dbg dbg "PP_Pure, PP_Pure"; + PP_Pure + | PP_State ty1, PP_State ty2 -> + print_dbg dbg "PP_State, PP_State"; + if term_eq ty1 ty2 then PP_State ty1 else PP_Unknown + | _ -> + print_dbg dbg "_, _"; + PP_Unknown + +val check_opt_pre_post_type : bool -> env -> option term -> term -> option term -> Tac (option pre_post_type) +let check_opt_pre_post_type dbg e opt_pre ret_type opt_post = + print_dbg dbg "[> check_opt_pre_post_type"; + match opt_pre, opt_post with + | Some pre, Some post -> + print_dbg dbg "Some pre, Some post"; + Some (check_pre_post_type dbg e pre ret_type post) + | Some pre, None -> + print_dbg dbg "Some pre, None"; + Some (compute_pre_type dbg e pre) + | None, Some post -> + print_dbg dbg "None, Some post"; + Some (compute_post_type dbg e ret_type post) + | None, None -> + print_dbg dbg "None, None"; + None + +val _introduce_variables_for_abs : genv -> typ -> Tac (list term & list binder & genv) +let rec _introduce_variables_for_abs ge ty = + match inspect ty with + | Tv_Arrow b c -> + let ge1, b1 = genv_push_fresh_binder ge ("__" ^ name_of_binder b) (type_of_binder b) in + let bv1 = bv_of_binder b1 in + let v1 = pack (Tv_Var bv1) in + begin match get_total_or_gtotal_ret_type c with + | Some ty1 -> + let vl, bl, ge2 = _introduce_variables_for_abs ge1 ty1 in + v1 :: vl, b1 :: bl, ge2 + | None -> [v1], [b1], ge1 + end + | _ -> [], [], ge + +val introduce_variables_for_abs : genv -> term -> Tac (list term & list binder & genv) +let introduce_variables_for_abs ge tm = + match safe_tc ge.env tm with + | Some ty -> _introduce_variables_for_abs ge ty + | None -> [], [], ge + +val introduce_variables_for_opt_abs : genv -> option term -> Tac (list term & list binder & genv) +let introduce_variables_for_opt_abs ge opt_tm = + match opt_tm with + | Some tm -> introduce_variables_for_abs ge tm + | None -> [], [], ge + + +val effect_type_is_stateful : effect_type -> Tot bool +let effect_type_is_stateful etype = + match etype with + | E_Total | E_GTotal | E_Lemma | E_PURE | E_Pure -> false + | E_Stack | E_ST | E_Unknown -> true + +let is_st_get dbg t : Tac bool = + print_dbg dbg ("[> is_st_get:\n" ^ term_to_string t); + match inspect t with + | Tv_App hd (a, qual) -> + print_dbg dbg "-> Is Tv_App"; + begin match inspect hd with + | Tv_FVar fv -> + print_dbg dbg ("-> Head is Tv_FVar: " ^ fv_to_string fv); + fv_eq_name fv ["FStar"; "HyperStack"; "ST"; "get"] + | _ -> + print_dbg dbg "-> Head is not Tv_FVar"; + false + end + | _ -> + print_dbg dbg "-> Is not Tv_App"; + false + +let is_let_st_get dbg (t : term_view) = + print_dbg dbg ("[> is_let_st_get:\n" ^ term_to_string t); + match t with + | Tv_Let recf attrs bv ty def body -> + print_dbg dbg "The term is a let expression"; + if is_st_get dbg def then Some (bv, ty) else None + | _ -> + print_dbg dbg "The term is not a let expression"; + None + +// TODO: Define relation between parents and children in and use it in explore_term +// app: head or arg +// let : bv or def or child +// match: scrutinee or branch +// ascribed: e or ty + +/// Check if a term's computation is effectful. The return type is option +/// because we may not be able to retrieve the term computation. +val term_has_effectful_comp : bool -> env -> term -> Tac (option bool) +let term_has_effectful_comp dbg e tm = + print_dbg dbg "[> term_has_effectful_comp"; + let einfo_opt = compute_effect_info dbg e tm in + match einfo_opt with + | Some einfo -> + print_dbg dbg ("Effect type: " ^ effect_type_to_string einfo.ei_type); + Some (not (effect_type_is_pure einfo.ei_type)) + | None -> + print_dbg dbg "Could not compute effect info"; + None + +/// Check if a related term is effectful. This is used to look for instances of +/// ``HS.mem`` to instantiate pre/postconditions, which means that the term should +/// be a parent/child term of the term under study, as generated by ``explore_term`` +/// (otherwise the way we check that a term is effectful doesn't make sense). +/// The computation is an overapproximation: it may happen that, for instance, we +/// can't compute a term computation. In this case, we consider that the term is +/// effectful. There are also situations in which we may not be sure which term to +/// consider. +let related_term_is_effectul dbg ge tv : Tac bool = + let is_effectful tm = + term_has_effectful_comp dbg ge.env tm <> Some false + in + match tv with + | Tv_Var _ | Tv_BVar _ | Tv_FVar _ -> false + | Tv_App hd (a, qual) -> + (* The term under focus should be the app itself or an argument *) + false + | Tv_Abs br body -> false + | Tv_Arrow br c0 -> false + | Tv_Type _ -> false + | Tv_Refine bv sort ref -> + false + | Tv_Const _ -> false + | Tv_Uvar _ _ -> false + | Tv_Let recf attrs bv ty def body -> is_effectful def + | Tv_Match scrutinee _ret_opt branches -> + (* TODO: we need to keep track of the relation between parents and children *) + (* We assume the term under focus is in one the branches of the match - this + * assumption is safe: in the worst case, we won't be able to find a mem to use. + * Besides, in practice it is uncommon (impossible?) to use an effectful term + * as the scrutinee of a match *) + is_effectful scrutinee + | Tv_AscribedT e ty tac _ -> false (* The focused term should be inside the ascription *) + | Tv_AscribedC e c tac _ -> false (* The focused term should be inside the ascription *) + | _ -> (* Unknown: keep things safe *) true + +/// Look for a term of the form ``let h = ST.get ()`` in a list of parent/children terms +/// and return the let-bound bv. Abort the search if we find a non-effectful term. +/// The typical usages of this function are the following: +/// - look for a state variable to instantiate the precondition of the term under focus +/// - look for state variables for the pre/postconditions of a term defined before +/// the term under focus. +val find_mem_in_related: + dbg:bool + -> ge:genv + -> tms:list term_view + -> Tac (option (bv & typ)) + +let rec find_mem_in_related dbg ge tms = + match tms with + | [] -> None + | tv :: tms' -> + print_dbg dbg ("[> find_mem_in_related:\n" ^ term_to_string tv); + match is_let_st_get dbg tv with + | Some bvt -> + print_dbg dbg "Term is of the form `let x = FStar.HyperStack.ST.get ()`: success"; + Some bvt + | None -> + print_dbg dbg "Term is not of the form `let x = FStar.HyperStack.ST.get ()`: continuing"; + if related_term_is_effectul dbg ge tv + then + begin + print_dbg dbg "Term is effectful: stopping here"; + None + end + else + begin + print_dbg dbg "Term is not effectful: continuing"; + find_mem_in_related dbg ge tms' + end + +// TODO: not used for now +/// Look for a term of the form ``let h = ST.get ()`` in a child term (the +/// focused term is supposed to be a subterm of the definition of a let-construct). +val find_mem_in_children: + dbg:bool + -> ge:genv + -> child:term + -> Tac (genv & option bv) + +let rec find_mem_in_children dbg ge child = + (* We stop whenever we find an expression which is not a let-binding *) + match inspect child with + | Tv_Let recf attrs bv ty def body -> + if is_st_get dbg def then ge, Some bv + else if term_has_effectful_comp dbg ge.env def <> Some false then ge, None + else + let ge1 = genv_push_bv ge bv ty false None in + find_mem_in_children dbg ge1 body + | _ -> ge, None + +/// Instantiates optional pre and post conditions +val pre_post_to_propositions : + dbg:bool + -> ge:genv + -> etype:effect_type + -> ret_value:term + -> ret_abs_binder:option binder + -> ret_type:type_info + -> opt_pre:option term + -> opt_post:option term + -> parents:list term_view (* to look for state variables for the pre *) + -> children:list term_view (* to look for state variables for the pre and post *) + -> Tac (genv & option proposition & option proposition) + +let pre_post_to_propositions dbg ge0 etype v ret_abs_binder ret_type opt_pre opt_post + parents children = + print_dbg dbg "[> pre_post_to_propositions: begin"; + print_dbg dbg ("- uninstantiated pre: " ^ option_to_string term_to_string opt_pre); + print_dbg dbg ("- uninstantiated post: " ^ option_to_string term_to_string opt_post); + let brs = match ret_abs_binder with | None -> [] | Some b -> [b] in + (* Analyze the pre and the postcondition and introduce the necessary variables *) + let ge3, (pre_values, pre_binders), (post_values, post_binders) = + match etype with + | E_Lemma -> + print_dbg dbg "E_Lemma"; + ge0, ([], []), ([(`())], []) + | E_Total | E_GTotal -> + print_dbg dbg "E_Total/E_GTotal"; + ge0, ([], []), ([], []) + | E_PURE | E_Pure -> + print_dbg dbg "E_PURE/E_Pure"; + ge0, ([], []), ([v], brs) + | E_Stack | E_ST -> + print_dbg dbg "E_Stack/E_ST"; + (* Look for state variables in the context *) + print_dbg dbg "Looking for the initial state in the context"; + let b1_opt = find_mem_in_related dbg ge0 parents in + print_dbg dbg "Looking for the final state in the context"; + let b2_opt = find_mem_in_related dbg ge0 children in + (* Introduce state variables if necessary *) + let opt_push_fresh_state opt_bvt basename ge : Tac (term & binder & genv) = + match opt_bvt with + | Some (bv, ty) -> pack (Tv_Var bv), mk_binder bv ty, ge + | None -> genv_push_fresh_var ge basename (`HS.mem) + in + let h1, b1, ge1 = opt_push_fresh_state b1_opt "__h0_" ge0 in + let h2, b2, ge2 = opt_push_fresh_state b2_opt "__h1_" ge1 in + ge2, ([h1], [b1]), ([h1; v; h2], List.Tot.flatten ([b1]::brs::[[b2]])) + | E_Unknown -> + (* We don't know what the effect is and the current pre and post-conditions + * are currently guesses. Introduce any necessary variable abstracted by + * those parameters *) + (* The pre and post-conditions are likely to have the same shape as + * one of Pure or Stack (depending on whether we use or not an internal + * state). We try to check that and to instantiate them accordingly *) + let pp_type = check_opt_pre_post_type dbg ge0.env opt_pre ret_type.ty opt_post in + begin match pp_type with + | Some PP_Pure -> + print_dbg dbg "PP_Pure"; + (* We only need the return value *) + ge0, ([], []), ([v], brs) + | Some (PP_State state_type) -> + print_dbg dbg "PP_State"; + (* Introduce variables for the states *) + let s1, b1, s2, b2, ge1 = genv_push_two_fresh_vars ge0 "__s" state_type in + ge1, ([s1], [b1]), ([s1; v; s2], List.Tot.flatten ([b1]::brs::[[b2]])) + | Some PP_Unknown -> + print_dbg dbg "PP_Unknown"; + (* Introduce variables for all the values, for the pre and the post *) + let pre_values, pre_binders, ge1 = introduce_variables_for_opt_abs ge0 opt_pre in + let post_values, post_binders, ge1 = introduce_variables_for_opt_abs ge1 opt_post in + ge1, (pre_values, pre_binders), (post_values, post_binders) + | _ -> + print_dbg dbg "No pre and no post"; + (* No pre and no post *) + ge0, ([], []), ([], []) + end + in + (* Generate the propositions: *) + (* - from the precondition *) + let pre_prop = opt_mk_app_norm ge3.env opt_pre pre_values in + (* - from the postcondition - note that in the case of a global post-condition + * we might try to instantiate the return variable with a variable whose + * type is not correct, leading to an error. We thus catch errors below and + * drop the post if there is a problem *) + let post_prop = + try opt_mk_app_norm ge3.env opt_post post_values + with + | _ -> + print_dbg dbg "Dropping a postcondition because of incoherent typing"; + None + in + (* return *) + print_dbg dbg "[> pre_post_to_propositions: end"; + ge3, pre_prop, post_prop + +/// Convert effectful type information to a list of propositions. May have to +/// introduce additional binders for the preconditions/postconditions/goal (hence +/// the environment in the return type). +/// The ``bind_var`` parameter is a variable if the studied term was bound in a let +/// expression. +val eterm_info_to_assertions : + dbg:bool + -> with_gpre:bool + -> with_gpost:bool + -> ge:genv + -> t:term + -> is_let:bool (* the term is the bound expression in a let binding *) + -> is_assert:bool (* the term is an assert - in which case we only output the precondition *) + -> info:eterm_info + -> opt_bind_var:option term (* if let binding: the bound var *) + -> opt_c:option typ_or_comp + -> parents:list term_view + -> children:list term_view -> + Tac (genv & assertions) + +let eterm_info_to_assertions dbg with_gpre with_gpost ge t is_let is_assert info bind_var opt_c + parents children = + print_dbg dbg "[> eterm_info_to_assertions"; + (* Introduce additional variables to instantiate the return type refinement, + * the precondition, the postcondition and the goal *) + (* First, the return value: returns an updated env, the value to use for + * the return type and a list of abstract binders *) + let einfo = info.einfo in + let ge0, (v : term), (opt_b : option binder) = + match bind_var with + | Some v -> ge, v, None + | None -> + (* If the studied term is stateless, we can use it directly in the + * propositions. If the return value is of type unit, we can just use (). + * Otherwise we need to introduce a variable. + * For the reason why we do this: remember that the studied term might be + * a return value: it is not necessarily bound in a let. *) + if effect_type_is_stateful einfo.ei_type then + if is_unit_type einfo.ei_ret_type.ty then + ge, `(), None + else + let b = fresh_binder ge.env "__ret" einfo.ei_ret_type.ty in + let bv = bv_of_binder b in + let tm = pack (Tv_Var bv) in + genv_push_binder ge b true None, tm, Some b + else ge, t, None + in + (* Generate propositions from the pre and the post-conditions *) + (**) print_dbg dbg "> Instantiating local pre/post"; + let ge1, pre_prop, post_prop = + pre_post_to_propositions dbg ge0 einfo.ei_type v opt_b einfo.ei_ret_type + einfo.ei_pre einfo.ei_post parents children in + print_dbg dbg ("- pre prop: " ^ option_to_string term_to_string pre_prop); + print_dbg dbg ("- post prop: " ^ option_to_string term_to_string post_prop); + (* If the term is an assertion/assumption, only output the postcondition - + * note that in the case of an assertion, the pre and the post are the same, + * but in the case of an assumption, only the post is interesting *) + if is_assert then + begin + print_dbg dbg "The term is an assert: only keep the postcondition"; + ge1, { pres = opt_cons post_prop []; posts = [] } + end + else begin + (* Generate propositions from the target computation (pre, post, type cast) *) + let ge2, gparams_props, gpre_prop, gcast_props, gpost_prop = + (* Check if we do the computation (which can be expensive) - note that + * computing the global postcondition makes sense only if the focused + * term is the return value and thus not a let-binding *) + let with_goal : bool = with_gpre || ((not is_let) && with_gpost) in + begin match opt_c, with_goal with + | Some c, true -> + let ei = typ_or_comp_to_effect_info dbg ge1 c in + print_dbg dbg ("- target effect: " ^ effect_info_to_string ei); + print_dbg dbg ("- global unfilt. pre: " ^ option_to_string term_to_string ei.ei_pre); + print_dbg dbg ("- global unfilt. post: " ^ option_to_string term_to_string ei.ei_post); + (* The parameters' type information. To be used only if the variables are not + * shadowed (the parameters themselves, but also the variables inside the refinements) *) + let gparams_props = + begin + if with_gpre then + begin + print_dbg dbg "Generating assertions from the global parameters' types"; + print_dbg dbg ("Current genv:\n" ^ genv_to_string ge1); + (* Retrieve the types and pair them with the parameters - note that + * we need to reverse the list of parameters (the outer parameter was + * added first in the list and is thus last) *) + let params = + rev (List.Tot.map (fun x -> (x, type_of_binder x)) (params_of_typ_or_comp c)) in + iteri (fun i (b, _) -> print_dbg dbg ("Global parameter " ^ string_of_int i ^ + ": " ^ binder_to_string b)) params; + (* Filter the shadowed parameters *) + let params = filter (fun (b, _)-> not (binder_is_shadowed ge1 b)) params in + (* Generate the propositions *) + let param_to_props (x : (binder & typ)) : Tac (list term) = + let b, ty = x in + let bv = bv_of_binder b in + print_dbg dbg ("Generating assertions from global parameter: " ^ binder_to_string b); + let tinfo = get_type_info_from_type ty in + let v = pack (Tv_Var bv) in + let p1 = mk_has_type v tinfo.ty in + let pl = match tinfo.refin with + | None -> [] + | Some r -> + let p2 = mk_app_norm ge1.env r [v] in + (* Discard the proposition generated from the type refinement if + * it contains shadowed variables *) + if term_has_shadowed_variables ge1 p2 + then begin print_dbg dbg "Discarding type refinement because of shadowed variables"; [] end + else begin print_dbg dbg "Keeping type refinement"; [p2] end + in + p1 :: pl + in + let props = map param_to_props params in + List.Tot.flatten props + end + else + begin + print_dbg dbg "Ignoring the global parameters' types"; + [] + end + end <: Tac (list term) + in + (* The global pre-condition is to be used only if none of its variables + * are shadowed (which implies that we are close enough to the top of + * the function *) + let gpre = + match ei.ei_pre, with_gpre with + | Some pre, true -> + if term_has_shadowed_variables ge1 pre then + begin + print_dbg dbg "Dropping the global precondition because of shadowed variables"; + None + end + else ei.ei_pre + | _ -> None + in + (* The global post-condition and the type cast are relevant only if the + * studied term is not the definition in a let binding *) + let gpost, gcast_props = + if not with_gpost then None, [] + else if is_let then + begin + print_dbg dbg "Dropping the global postcondition and return type because we are studying a let expression"; + None, [] + end + else + (* Because of the way the studied function is rewritten before being sent to F* + * we might have a problem with the return type (we might instantiate + * the return variable from the global post or from the return type + * refinement with a variable whose type is not valid for that, triggering + * an exception. In that case, we drop the post and the target type + * refinement. Note that here only the type refinement may be instantiated, + * we thus also need to check for the post inside ``pre_post_to_propositions`` *) + try + print_dbg dbg "> Generating propositions from the global type cast"; + print_dbg dbg ("- known type: " ^ type_info_to_string einfo.ei_ret_type); + print_dbg dbg ("- exp. type : " ^ type_info_to_string ei.ei_ret_type); + let gcast = mk_cast_info v (Some einfo.ei_ret_type) (Some ei.ei_ret_type) in + print_dbg dbg (cast_info_to_string gcast); + let gcast_props = cast_info_to_propositions dbg ge1 gcast in + print_dbg dbg "> Propositions for global type cast:"; + print_dbg dbg (list_to_string term_to_string gcast_props); + ei.ei_post, List.Tot.rev gcast_props + with + | _ -> + print_dbg dbg "Dropping the global postcondition and return type because of incoherent typing"; + None, [] + in + (* Generate the propositions from the precondition and the postcondition *) + (* TODO: not sure about the return type parameter: maybe catch failures *) + print_dbg dbg "> Instantiating global pre/post"; + (* Note that we need to revert the lists of parents terms *) + (* For the children: + * - if the focused term is the return value and is pure: go look for + * a state variable introduced before + * - otherwise, use the children in revert order *) + let gchildren = + if is_let then rev children (* the postcondition should have been dropped anyway *) + else if effect_type_is_stateful einfo.ei_type then rev children + else parents + in + let ge2, gpre_prop, gpost_prop = + pre_post_to_propositions dbg ge1 ei.ei_type v opt_b einfo.ei_ret_type + gpre gpost (rev parents) gchildren in + (* Some debugging output *) + print_dbg dbg ("- global pre prop: " ^ option_to_string term_to_string gpre_prop); + print_dbg dbg ("- global post prop: " ^ option_to_string term_to_string gpost_prop); + (* Return type: *) + ge2, gparams_props, gpre_prop, gcast_props, gpost_prop + | _, _ -> + ge1, [], None, [], None + end <: Tac _ + in + (* Generate the propositions: *) + (* - from the parameters' cast info *) + let params_props = cast_info_list_to_propositions dbg ge2 info.parameters in + (* - from the return type *) + let (ret_values : list term), (ret_binders : list binder) = + if E_Lemma? einfo.ei_type then ([] <: list term), ([] <: list binder) + else [v], (match opt_b with | Some b -> [b] | None -> []) in + let ret_has_type_prop = + match ret_values with + | [v] -> Some (mk_has_type v einfo.ei_ret_type.ty) + | _ -> None + in + let ret_refin_prop = opt_mk_app_norm ge2.env (get_opt_refinment einfo.ei_ret_type) ret_values in + (* Concatenate, revert and return *) + let pres = opt_cons gpre_prop (List.Tot.append params_props (opt_cons pre_prop [])) in + let pres = append gparams_props pres in + let posts = opt_cons ret_has_type_prop + (opt_cons ret_refin_prop (opt_cons post_prop + (List.Tot.append gcast_props (opt_cons gpost_prop [])))) in + (* Debugging output *) + print_dbg dbg "- generated pres:"; + if dbg then iter (fun x -> print (term_to_string x)) pres; + print_dbg dbg "- generated posts:"; + if dbg then iter (fun x -> print (term_to_string x)) posts; + ge2, { pres = pres; posts = posts } + end diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.ExploreTerm.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.ExploreTerm.fst new file mode 100644 index 00000000000..86795c53b76 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.ExploreTerm.fst @@ -0,0 +1,622 @@ +module FStar.InteractiveHelpers.ExploreTerm + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul +open FStar.InteractiveHelpers.Base + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + +(*** Types and effects *) +/// Define utilities to handle and carry types and effects + +(**** Type analysis *) +/// Retrieve and deconstruct a type/effect + +/// Some constants +//let prims_true_qn = "Prims.l_True" +//let prims_true_term = `Prims.l_True + +let pure_effect_qn = "Prims.PURE" +let pure_hoare_effect_qn = "Prims.Pure" +let stack_effect_qn = "FStar.HyperStack.ST.Stack" +let st_effect_qn = "FStar.HyperStack.ST.ST" + + +/// Return the qualifier of a comp as a string +val comp_qualifier (c : comp) : Tac string + +#push-options "--ifuel 1" +let comp_qualifier (c : comp) : Tac string = + match inspect_comp c with + | C_Total _ -> "C_Total" + | C_GTotal _ -> "C_GTotal" + | C_Lemma _ _ _ -> "C_Lemma" + | C_Eff _ _ _ _ _ -> "C_Eff" +#pop-options + +/// Effect information: we list the current supported effects +type effect_type = +| E_Total | E_GTotal | E_Lemma | E_PURE | E_Pure | E_Stack | E_ST | E_Unknown + +val effect_type_to_string : effect_type -> string + +#push-options "--ifuel 1" +let effect_type_to_string ety = + match ety with + | E_Total -> "E_Total" + | E_GTotal -> "E_GTotal" + | E_Lemma -> "E_Lemma" + | E_PURE -> "E_PURE" + | E_Pure -> "E_Pure" + | E_Stack -> "E_Stack" + | E_ST -> "E_ST" + | E_Unknown -> "E_Unknown" +#pop-options + +val effect_name_to_type (ename : name) : Tot effect_type + +let effect_name_to_type (ename : name) : Tot effect_type = + let ename = flatten_name ename in + if ename = pure_effect_qn then E_PURE + else if ename = pure_hoare_effect_qn then E_Pure + else if ename = stack_effect_qn then E_Stack + else if ename = st_effect_qn then E_ST + else E_Unknown + +val effect_type_is_pure : effect_type -> Tot bool +let effect_type_is_pure etype = + match etype with + | E_Total | E_GTotal | E_Lemma | E_PURE | E_Pure -> true + | E_Stack | E_ST | E_Unknown -> false + +/// Type information +noeq type type_info = { + ty : typ; (* the type without refinement *) + refin : option term; +} + +let mk_type_info = Mktype_info + +val type_info_to_string : type_info -> Tac string +let type_info_to_string info = + "Mktype_info (" ^ + term_to_string info.ty ^ ") (" ^ + option_to_string term_to_string info.refin ^ ")" + +let unit_type_info = mk_type_info (`unit) None + +val safe_tc (e:env) (t:term) : Tac (option term) +let safe_tc e t = + try Some (tc e t) with | _ -> None + +val safe_tcc (e:env) (t:term) : Tac (option comp) +let safe_tcc e t = + try Some (tcc e t) with | _ -> None + +let get_type_info_from_type (ty:typ) : Tac type_info = + match inspect ty with + | Tv_Refine bv sort refin -> + let raw_type = prettify_term false sort in + let b : binder = mk_binder bv sort in + let refin = prettify_term false refin in + let refin = pack (Tv_Abs b refin) in + mk_type_info raw_type (Some refin) + | _ -> + let ty = prettify_term false ty in + mk_type_info ty None + +#push-options "--ifuel 1" +let get_type_info (e:env) (t:term) : Tac (option type_info) = + match safe_tc e t with + | None -> None + | Some ty -> Some (get_type_info_from_type ty) +#pop-options + +val get_total_or_gtotal_ret_type : comp -> Tot (option typ) +let get_total_or_gtotal_ret_type c = + match inspect_comp c with + | C_Total ret_ty | C_GTotal ret_ty -> Some ret_ty + | _ -> None + +val get_comp_ret_type : comp -> Tot typ +let get_comp_ret_type c = + match inspect_comp c with + | C_Total ret_ty | C_GTotal ret_ty + | C_Eff _ _ ret_ty _ _ -> ret_ty + | C_Lemma _ _ _ -> (`unit) + +val is_total_or_gtotal : comp -> Tot bool +let is_total_or_gtotal c = + Some? (get_total_or_gtotal_ret_type c) + +val is_unit_type : typ -> Tac bool +let is_unit_type ty = + match inspect ty with + | Tv_FVar fv -> fv_eq_name fv Reflection.Const.unit_lid + | _ -> false + + +(**** typ_or_comp *) +/// This type is used to store typing information. +/// We use it mostly to track what the target type/computation is for a term, +/// while exploring this term. It is especially useful to generate post-conditions, +/// for example. We store the list of abstractions encountered so far at the +/// same time. +/// Note that in order to keep track of the type correctly, whenever we encounter +/// an abstraction in the term, we need to check that the term' type is an arrow, +/// in which case we need to do a substitution (the arrow takes as first parameter +/// which is not the same as the abstraction's binder). As the substitution is costly +/// (we do it by using the normalizer, but the "final" return term is the whole +/// function's body type, which is often super big) we do it lazily: we count how +/// many parameters we have encountered and not substituted, and "flush" when we +/// really need to inspect the typ_or_comp. +// TODO: actually we only need to carry a comp (if typ: consider it total) +(* TODO: remove the instantiation: instantiate incrementally *) +noeq type typ_or_comp = +| TC_Typ : v:typ -> pl:list binder -> num_unflushed:nat -> typ_or_comp +| TC_Comp : v:comp -> pl:list binder -> num_unflushed:nat -> typ_or_comp + +let typ_or_comp_to_string (tyc : typ_or_comp) : Tac string = + match tyc with + | TC_Typ v pl num_unflushed -> + "TC_Typ (" ^ term_to_string v ^ ") " ^ list_to_string (fun b -> name_of_binder b) pl ^ + " " ^ string_of_int num_unflushed + | TC_Comp c pl num_unflushed -> + "TC_Comp (" ^ acomp_to_string c ^ ") " ^ list_to_string (fun b -> name_of_binder b) pl ^ + " " ^ string_of_int num_unflushed + +/// Return the list of parameters stored in a ``typ_or_comp`` +let params_of_typ_or_comp (c : typ_or_comp) : list binder = + match c with + | TC_Typ _ pl _ | TC_Comp _ pl _ -> pl + +let num_unflushed_of_typ_or_comp (c : typ_or_comp) : nat = +match c with + | TC_Typ _ _ n | TC_Comp _ _ n -> n + +/// Compute a ``typ_or_comp`` from the type of a term +// TODO: try to get a more precise comp +val safe_typ_or_comp : bool -> env -> term -> + Tac (opt:option typ_or_comp{Some? opt ==> TC_Comp? (Some?.v opt)}) +let safe_typ_or_comp dbg e t = + match safe_tcc e t with + | None -> + print_dbg dbg ("[> safe_typ_or_comp:" ^ + "\n-term: " ^ term_to_string t ^ + "\n-comp: None"); + None + | Some c -> + print_dbg dbg ("[> safe_typ_or_comp:" ^ + "\n-term: " ^ term_to_string t ^ + "\n-comp: " ^ acomp_to_string c); + Some (TC_Comp c [] 0) + +val subst_bv_in_comp : env -> bv -> typ -> term -> comp -> Tac comp +let subst_bv_in_comp e b sort t c = + apply_subst_in_comp e c [((b, sort), t)] + +val subst_binder_in_comp : env -> binder -> term -> comp -> Tac comp +let subst_binder_in_comp e b t c = + subst_bv_in_comp e (bv_of_binder b) (binder_sort b) t c + +/// Utility for computations: unfold a type until it is of the form Tv_Arrow _ _, +/// fail otherwise +val unfold_until_arrow : env -> typ -> Tac typ +let rec unfold_until_arrow e ty0 = + if Tv_Arrow? (inspect ty0) then ty0 + else + begin + (* Start by normalizing the term - note that this operation is expensive *) + let ty = norm_term_env e [] ty0 in + (* Helper to unfold top-level identifiers *) + let unfold_fv (fv : fv) : Tac term = + let ty = pack (Tv_FVar fv) in + let fvn = flatten_name (inspect_fv fv) in + (* unfold the top level binding, check that it has changed, and recurse *) + let ty' = norm_term_env e [delta_only [fvn]] ty in + (* I'm not confident about using eq_term here *) + begin match inspect ty' with + | Tv_FVar fv' -> + if flatten_name (inspect_fv fv') = fvn + then mfail ("unfold_until_arrow: could not unfold: " ^ term_to_string ty0) else ty' + | _ -> ty' + end + in + (* Inspect *) + match inspect ty with + | Tv_Arrow _ _ -> ty + | Tv_FVar fv -> + (* Try to unfold the top-level identifier and recurse *) + let ty' = unfold_fv fv in + unfold_until_arrow e ty' + | Tv_App _ _ -> + (* Strip all the parameters, try to unfold the head and recurse *) + let hd, args = collect_app ty in + begin match inspect hd with + | Tv_FVar fv -> + let hd' = unfold_fv fv in + let ty' = mk_app hd' args in + unfold_until_arrow e ty' + | _ -> mfail ("unfold_until_arrow: could not unfold: " ^ term_to_string ty0) + end + | Tv_Refine bv sort ref -> + unfold_until_arrow e sort + | Tv_AscribedT body _ _ _ + | Tv_AscribedC body _ _ _ -> + unfold_until_arrow e body + | _ -> + (* Other situations: don't know what to do *) + mfail ("unfold_until_arrow: could not unfold: " ^ term_to_string ty0) + end + +/// Instantiate a comp +val inst_comp_once : env -> comp -> term -> Tac comp +let inst_comp_once e c t = + let ty = get_comp_ret_type c in + let ty' = unfold_until_arrow e ty in + begin match inspect ty' with + | Tv_Arrow b1 c1 -> + subst_binder_in_comp e b1 t c1 + | _ -> (* Inconsistent state *) + mfail "inst_comp_once: inconsistent state" + end + +val inst_comp : env -> comp -> list term -> Tac comp +let rec inst_comp e c tl = + match tl with + | [] -> c + | t :: tl' -> + let c' = try inst_comp_once e c t + with | MetaAnalysis msg -> mfail_doc ([text "inst_comp: error"] @ msg) + | err -> raise err + in + inst_comp e c' tl' + +/// Update the current ``typ_or_comp`` before going into the body of an abstraction. +/// Explanations: +/// In the case we dive into a term of the form: +/// [> (fun x -> body) : y:ty -> body_type +/// we need to substitute y with x in body_type to get the proper type for body. +/// Note that we checked, and in practice the binders are indeed different. +// TODO: actually, we updated it to do a lazy instantiation +val abs_update_typ_or_comp : binder -> typ_or_comp -> env -> Tac typ_or_comp + +let _abs_update_typ (b:binder) (ty:typ) (pl:list binder) (e:env) : + Tac typ_or_comp = + (* Try to reveal an arrow *) + try + let ty' = unfold_until_arrow e ty in + begin match inspect ty' with + | Tv_Arrow b1 c1 -> + let c1' = subst_binder_in_comp e b1 (pack (Tv_Var (bv_of_binder b))) c1 in + TC_Comp c1' (b :: pl) 0 + | _ -> (* Inconsistent state *) + mfail "_abs_update_typ: inconsistent state" + end + with + | MetaAnalysis msg -> + mfail_doc ( + [text ("_abs_update_typ: could not find an arrow in " ^ term_to_string ty)] + @ msg + ) + | err -> raise err + +let abs_update_typ_or_comp (b:binder) (c : typ_or_comp) (e:env) : Tac typ_or_comp = + match c with + (*| TC_Typ v pl n -> _abs_update_typ b v pl e + | TC_Comp v pl n -> + (* Note that the computation is not necessarily pure, in which case we might + * want to do something with the effect arguments (pre, post...) - for + * now we just ignore them *) + let ty = get_comp_ret_type v in + _abs_update_typ b ty pl e *) + | TC_Typ v pl n -> TC_Typ v (b::pl) (n+1) + | TC_Comp v pl n -> TC_Comp v (b::pl) (n+1) + +val abs_update_opt_typ_or_comp : binder -> option typ_or_comp -> env -> + Tac (option typ_or_comp) +let abs_update_opt_typ_or_comp b opt_c e = + match opt_c with + | None -> None + | Some c -> + try + let c = abs_update_typ_or_comp b c e in + Some c + with | MetaAnalysis msg -> None + | err -> raise err + +/// Flush the instantiation stored in a ``typ_or_comp`` +val flush_typ_or_comp : bool -> env -> typ_or_comp -> + Tac (tyc:typ_or_comp{num_unflushed_of_typ_or_comp tyc = 0}) + +/// Strip all the arrows we can without doing any instantiation. When we can't +/// strip arrows anymore, do the instantiation at once. +/// We keep track of two list of binders: +/// - the remaining binders +/// - the instantiation corresponding to the arrows we have stripped so far, and +/// which will be applied all at once +let rec _flush_typ_or_comp_comp (dbg : bool) (e:env) (rem : list binder) (inst : list ((bv & typ) & term)) + (c:comp) : Tac comp = + let flush c inst = + let inst = List.Tot.rev inst in + apply_subst_in_comp e c inst + in + match rem with + | [] -> + (* No more binders: flush *) + flush c inst + | b :: rem' -> + (* Check if the return type is an arrow, if not flush and normalize *) + let ty = get_comp_ret_type c in + let ty, inst' = + if Tv_Arrow? (inspect ty) then ty, inst + else get_comp_ret_type (flush c inst), [] + in + match inspect ty with + | Tv_Arrow b' c' -> + _flush_typ_or_comp_comp dbg e rem' (((bv_of_binder b', binder_sort b'), pack (Tv_Var (bv_of_binder b)))::inst) c' + | _ -> + mfail ("_flush_typ_or_comp: inconsistent state" ^ + "\n-comp: " ^ acomp_to_string c ^ + "\n-remaning binders: " ^ list_to_string (fun b -> name_of_binder b) rem) + +let flush_typ_or_comp dbg e tyc = + let flush_comp pl n c : Tac (tyc:typ_or_comp{num_unflushed_of_typ_or_comp tyc = 0}) = + let pl', _ = List.Tot.splitAt n pl in + let pl' = List.Tot.rev pl' in + let c = _flush_typ_or_comp_comp dbg e pl' [] c in + TC_Comp c pl 0 + in + try begin match tyc with + | TC_Typ ty pl n -> + let c = pack_comp (C_Total ty) in + flush_comp pl n c + | TC_Comp c pl n -> flush_comp pl n c + end + with | MetaAnalysis msg -> + mfail_doc ([text ("flush_typ_or_comp failed on: " ^ typ_or_comp_to_string tyc)] @ msg) + | err -> raise err + +/// Compute the target ``typ_or_comp`` for an argument by the type of the head: +/// in `hd a`, if `hd` has type `t -> ...`, use `t` +val safe_arg_typ_or_comp : bool -> env -> term -> + Tac (opt:option typ_or_comp{Some? opt ==> TC_Typ? (Some?.v opt)}) +let safe_arg_typ_or_comp dbg e hd = + print_dbg dbg ("safe_arg_typ_or_comp: " ^ term_to_string hd); + match safe_tc e hd with + | None -> None + | Some ty -> + print_dbg dbg ("hd type: " ^ term_to_string ty); + let ty = + if Tv_Arrow? (inspect ty) then + begin + print_dbg dbg "no need to unfold the type"; + ty + end + else + begin + print_dbg dbg "need to unfold the type"; + let ty = unfold_until_arrow e ty in + print_dbg dbg ("result of unfolding : "^ term_to_string ty); + ty + end + in + match inspect ty with + | Tv_Arrow b c -> Some (TC_Typ (type_of_binder b) [] 0) + | _ -> None + +/// Exploring a term + +(*** Term exploration *) +/// Explore a term, correctly updating the environment when traversing abstractions + +let convert_ctrl_flag (flag : ctrl_flag) = + match flag with + | Continue -> Continue + | Skip -> Continue + | Abort -> Abort + +/// TODO: for now I need to use universe 0 for type a because otherwise it doesn't +/// type check +/// ctrl_flag: +/// - Continue: continue exploring the term +/// - Skip: don't explore the sub-terms of this term +/// - Abort: stop exploration +/// TODO: we might want a more precise control (like: don't explore the type of the +/// ascription but explore its body) +/// Note that ``explore_term`` doesn't use the environment parameter besides pushing +/// binders and passing it to ``f``, which means that you can give it arbitrary +/// environments, ``explore_term`` itself won't fail (but the passed function might). + +let explorer (a : Type) = + a -> genv -> list (genv & term_view) -> option typ_or_comp -> term_view -> + Tac (a & ctrl_flag) + +// TODO: use more +let bind_expl (#a : Type) (x : a) (f1 f2 : a -> Tac (a & ctrl_flag)) : Tac (a & ctrl_flag) = + let x1, flag1 = f1 x in + if flag1 = Continue then + f2 x1 + else x1, convert_ctrl_flag flag1 + +// TODO: change the signature to move the dbg flag +val explore_term : + dbg : bool + -> dfs : bool (* depth-first search *) + -> #a : Type0 + -> f : explorer a + -> x : a + -> ge : genv + (* the list of terms traversed so far (first is most recent) with the environment + * at the time they were traversed *) + -> parents : list (genv & term_view) + -> c : option typ_or_comp + -> t:term -> + Tac (a & ctrl_flag) + +val explore_pattern : + dbg : bool + -> dfs : bool (* depth-first search *) + -> #a : Type0 + -> f : explorer a + -> x : a + -> ge:genv + -> pat:pattern -> + Tac (genv & a & ctrl_flag) + +(* TODO: carry around the list of encompassing terms *) +let rec explore_term dbg dfs #a f x ge0 pl0 c0 t0 = + print_dbg dbg ("[> explore_term: " ^ term_construct t0 ^ ":\n" ^ term_to_string t0); + let tv0 = inspect t0 in + let x0, flag = f x ge0 pl0 c0 tv0 in + let pl1 = (ge0, tv0) :: pl0 in + if flag = Continue then + begin match tv0 with + | Tv_Var _ | Tv_BVar _ | Tv_FVar _ -> x0, Continue + | Tv_App hd (a,qual) -> + (* Explore the argument - we update the target typ_or_comp when doing so. + * Note that the only way to get the correct target type is to deconstruct + * the type of the head *) + let a_c = safe_arg_typ_or_comp dbg ge0.env hd in + print_dbg dbg ("Tv_App: updated target typ_or_comp to:\n" ^ + option_to_string typ_or_comp_to_string a_c); + let x1, flag1 = explore_term dbg dfs f x0 ge0 pl1 a_c a in + (* Explore the head - no type information here: we can compute it, + * but it seems useless (or maybe use it only if it is not Total) *) + if flag1 = Continue then + explore_term dbg dfs f x1 ge0 pl1 None hd + else x1, convert_ctrl_flag flag1 + | Tv_Abs br body -> + let ge1 = genv_push_binder ge0 br false None in + let c1 = abs_update_opt_typ_or_comp br c0 ge1.env in + explore_term dbg dfs f x0 ge1 pl1 c1 body + | Tv_Arrow br c0 -> x0, Continue (* TODO: we might want to explore that *) + | Tv_Type _ -> x0, Continue + | Tv_Refine bv sort ref -> + let bvv = inspect_bv bv in + let x1, flag1 = explore_term dbg dfs f x0 ge0 pl1 None sort in + if flag1 = Continue then + let ge1 = genv_push_bv ge0 bv sort false None in + explore_term dbg dfs f x1 ge1 pl1 None ref + else x1, convert_ctrl_flag flag1 + | Tv_Const _ -> x0, Continue + | Tv_Uvar _ _ -> x0, Continue + | Tv_Let recf attrs bv ty def body -> + (* Binding definition exploration - for the target computation: initially we + * used the type of the definition, however it is often unnecessarily complex. + * Now, we use the type of the binder used for the binding. *) + let def_c = Some (TC_Typ ty [] 0) in + let explore_def x = explore_term dbg dfs f x ge0 pl1 def_c def in + (* Exploration of the following instructions *) + let ge1 = genv_push_bv ge0 bv ty false (Some def) in + let explore_next x = explore_term dbg dfs f x ge1 pl1 c0 body in + (* Perform the exploration in the proper order *) + let expl1, expl2 = if dfs then explore_next, explore_def else explore_def, explore_next in + bind_expl x0 expl1 expl2 + | Tv_Match scrutinee _ret_opt branches -> //AR: TODO: need to account for returns annotation here + (* Auxiliary function to explore the branches *) + let explore_branch (x_flag : a & ctrl_flag) (br : branch) : Tac (a & ctrl_flag)= + let x0, flag = x_flag in + if flag = Continue then + let pat, branch_body = br in + (* Explore the pattern *) + let ge1, x1, flag1 = explore_pattern dbg dfs #a f x0 ge0 pat in + if flag1 = Continue then + (* Explore the branch body *) + explore_term dbg dfs #a f x1 ge1 pl1 c0 branch_body + else x1, convert_ctrl_flag flag1 + (* Don't convert the flag *) + else x0, flag + in + (* Explore the scrutinee *) + let scrut_c = safe_typ_or_comp dbg ge0.env scrutinee in + let x1 = explore_term dbg dfs #a f x0 ge0 pl1 scrut_c scrutinee in + (* Explore the branches *) + fold_left explore_branch x1 branches + | Tv_AscribedT e ty tac _ -> + let c1 = Some (TC_Typ ty [] 0) in + let x1, flag = explore_term dbg dfs #a f x0 ge0 pl1 None ty in + if flag = Continue then + explore_term dbg dfs #a f x1 ge0 pl1 c1 e + else x1, convert_ctrl_flag flag + | Tv_AscribedC e c1 tac _ -> + (* TODO: explore the comp *) + explore_term dbg dfs #a f x0 ge0 pl1 (Some (TC_Comp c1 [] 0)) e + | _ -> + (* Unknown *) + x0, Continue + end + else x0, convert_ctrl_flag flag + +and explore_pattern dbg dfs #a f x ge0 pat = + print_dbg dbg ("[> explore_pattern:"); + match pat with + | Pat_Constant _ -> ge0, x, Continue + | Pat_Cons fv us patterns -> + let explore_pat ge_x_flag pat = + let ge0, x, flag = ge_x_flag in + let pat1, _ = pat in + if flag = Continue then + explore_pattern dbg dfs #a f x ge0 pat1 + else + (* Don't convert the flag *) + ge0, x, flag + in + fold_left explore_pat (ge0, x, Continue) patterns + | Pat_Var bv st -> + let ge1 = genv_push_bv ge0 bv (unseal st) false None in + ge1, x, Continue + | Pat_Dot_Term _ -> ge0, x, Continue + +(*** Variables in a term *) +/// Returns the list of free variables contained in a term +val free_in : term -> Tac (list bv) +let free_in t = + let same_name (bv1 bv2 : bv) : Tac bool = + name_of_bv bv1 = name_of_bv bv2 + in + let update_free (fl:list bv) (ge:genv) (pl:list (genv & term_view)) + (c:option typ_or_comp) (tv:term_view) : + Tac (list bv & ctrl_flag) = + match tv with + | Tv_Var bv | Tv_BVar bv -> + (* Check if the binding was not introduced during the traversal *) + begin match genv_get_from_name ge (name_of_bv bv) with + | None -> + (* Check if we didn't already count the binding *) + let fl' = if Tactics.tryFind (same_name bv) fl then fl else bv :: fl in + fl', Continue + | Some _ -> fl, Continue + end + | _ -> fl, Continue + in + let e = top_env () in (* we actually don't care about the environment *) + let ge = mk_genv e [] [] in + List.Tot.rev (fst (explore_term false false update_free [] ge [] None t)) + +/// Returns the list of abstract variables appearing in a term, in the order in +/// which they were introduced in the context. +val abs_free_in : genv -> term -> Tac (list (bv & typ)) +let abs_free_in ge t = + let fvl = free_in t in + let absl = List.Tot.rev (genv_abstract_bvs ge) in + let is_free_in_term bv = + Some? (List.Tot.find (bv_eq bv) fvl) + in + let absfree = List.Tot.concatMap + (fun (bv, ty) -> if is_free_in_term bv then [bv,ty] else []) absl + in + absfree + +/// Returns the list of free shadowed variables appearing in a term. +val shadowed_free_in : genv -> term -> Tac (list bv) +let shadowed_free_in ge t = + let fvl = free_in t in + List.Tot.filter (fun bv -> bv_is_shadowed ge bv) fvl + +/// Returns true if a term contains variables which are shadowed in a given environment +val term_has_shadowed_variables : genv -> term -> Tac bool +let term_has_shadowed_variables ge t = + let fvl = free_in t in + Some? (List.Tot.tryFind (bv_is_shadowed ge) fvl) diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.Output.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.Output.fst new file mode 100644 index 00000000000..2407760edc3 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.Output.fst @@ -0,0 +1,187 @@ +module FStar.InteractiveHelpers.Output + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul +open FStar.InteractiveHelpers.Base +open FStar.InteractiveHelpers.ExploreTerm +open FStar.InteractiveHelpers.Propositions + +/// Facilities to output results to the IDE/emacs/whatever. +/// Contains datatypes and functions to carry information. + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + +(*** Convert terms to string *) +/// The important point is to handle variable shadowing properly, so that the +/// generated term is meaningful in the user context, or at least that it is clear +/// to the user that some variables are shadowed. + +/// Introduce fresh variables for the variables shadowed in the current environment +/// and substitute them in the terms. Note that as the binding of the value returned +/// by a function application might shadow one of its parameters, we need to treat +/// differently the pre-assertions and the post-assertions. Moreover, we need to +/// keep track of which variables are shadowed for every assertion. + +let rec _split_subst_at_bv (#a #b : Type) (x : bv) (subst : list ((bv & a) & b)) : + Tot (list ((bv & a) & b) & list ((bv & a) & b)) + (decreases subst) = + match subst with + | [] -> [], [] + | ((src, ty), tgt) :: subst' -> + if bv_eq x src then + [], subst' + else + let s1, s2 = _split_subst_at_bv x subst' in + ((src, ty), tgt) :: s1, s2 + +val subst_shadowed_with_abs_in_assertions : bool -> genv -> option bv -> assertions -> Tac (genv & assertions) +let subst_shadowed_with_abs_in_assertions dbg ge shadowed_bv es = + (* When generating the substitution, we need to pay attention to the fact that + * the returned value potentially bound by a let may shadow another variable. + * We need to take this into account for the post-assertions (but not the + * pre-assertions). *) + print_dbg dbg ("subst_shadowed_with_abs_in_assertions:\n" ^ genv_to_string ge); + (* Generate the substitution *) + let ge1, subst = generate_shadowed_subst ge in + let post_subst = map (fun (src, ty, tgt) -> (src, ty), pack (Tv_Var tgt)) subst in + (* The current substitution is valid for the post-assertions: derive from it + * a substitution valid for the pre-assertions (just cut it where the bv + * shadowed by the return value appears). Note that because we might introduce + * dummy variables for the return value, it is not valid just to ignore + * the last substitution pair. *) + let pre_subst = + if Some? shadowed_bv then fst (_split_subst_at_bv (Some?.v shadowed_bv) post_subst) + else post_subst + in + let subst_to_string subst : Tac string = + let to_string ((x, ty), y) = + "(" ^ abv_to_string x ^ " -> " ^ term_to_string y ^ ")\n" + in + let str = map to_string subst in + List.Tot.fold_left (fun x y -> x ^ y) "" str + in + if dbg then + begin + print_dbg dbg ("- pre_subst:\n" ^ subst_to_string pre_subst); + print_dbg dbg ("- post_subst:\n" ^ subst_to_string post_subst) + end; + (* Apply *) + let apply = (fun s -> map (fun t -> apply_subst ge1.env t s)) in + let pres = apply pre_subst es.pres in + let posts = apply post_subst es.posts in + ge1, mk_assertions pres posts + +(*** Convert propositions to string *) +/// Originally: we output the ``eterm_info`` and let the emacs commands do some +/// filtering and formatting. Now, we convert ``eterm_info`` to a ``assertions``. +/// Note that we also convert all the information to a string that we export at +/// once in order for the output not to be polluted by any other messages +/// (warning messages from F*, for example). + +let string_to_printout (prefix data:string) : Tot string = + prefix ^ ":\n" ^ data ^ "\n" + +let term_to_printout (ge:genv) (prefix:string) (t:term) : Tac string = + (* We need to look for abstract variables and abstract them away *) + let abs = abs_free_in ge t in + let abs_binders = List.Tot.map (fun (bv, t) -> mk_binder bv t) abs in + let abs_terms = map (fun (bv, _) -> pack (Tv_Var bv)) abs in + let t = mk_abs abs_binders t in + let t = mk_e_app t abs_terms in + string_to_printout prefix (term_to_string t) + +let opt_term_to_printout (ge:genv) (prefix:string) (t:option term) : Tac string = + match t with + | Some t' -> term_to_printout ge prefix t' + | None -> string_to_printout prefix "" + +let proposition_to_printout (ge:genv) (prefix:string) (p:proposition) : Tac string = + term_to_printout ge prefix p + +let propositions_to_printout (ge:genv) (prefix:string) (pl:list proposition) : Tac string = + let prop_to_printout i p = + let prefix' = prefix ^ ":prop" ^ string_of_int i in + proposition_to_printout ge prefix' p + in + let str = string_to_printout (prefix ^ ":num") (string_of_int (List.Tot.length pl)) in + let concat_prop s_i p : Tac (string & int) = + let s, i = s_i in + s ^ prop_to_printout i p, i+1 + in + let str, _ = fold_left concat_prop (str,0) pl in + str + +let error_message_to_printout (prefix : string) (message : option string) : Tot string = + let msg = match message with | Some msg -> msg | _ -> "" in + string_to_printout (prefix ^ ":error") msg + +/// Utility type and function to communicate the results to emacs. +noeq type export_result = +| ESuccess : ge:genv -> a:assertions -> export_result +| EFailure : err:string -> export_result + +let result_to_printout (prefix:string) (res:export_result) : + Tac string = + let str = prefix ^ ":BEGIN\n" in + (* Note that the emacs commands will always look for fields for the error message + * and the pre/post assertions, so we need to generate them, even though they + * might be empty. *) + let err, ge, pres, posts = + match res with + | ESuccess ge a -> None, ge, a.pres, a.posts + | EFailure err -> + let ge = mk_init_genv (top_env ()) in (* dummy environment - will not be used *) + Some err, ge, [], [] + in + (* Error message *) + let str = str ^ error_message_to_printout prefix err in + (* Assertions *) + let str = str ^ propositions_to_printout ge (prefix ^ ":pres") pres in + let str = str ^ propositions_to_printout ge (prefix ^ ":posts") posts in + str ^ prefix ^ ":END\n" ^ "%FIH:FSTAR_META:END%" + +let printout_result (prefix:string) (res:export_result) : + Tac unit = + print (result_to_printout prefix res) + +/// The function to use to export the results in case of success +let printout_success (ge:genv) (a:assertions) : Tac unit = + printout_result "ainfo" (ESuccess ge a) + +/// The function to use to communicate failure in case of error +let printout_failure (err : error_message) : Tac unit = + printout_result "ainfo" (EFailure (rendermsg err)) + +let _debug_print_var (name : string) (t : term) : Tac unit = + print ("_debug_print_var: " ^ name ^ ": " ^ term_to_string t); + begin match safe_tc (top_env ()) t with + | Some ty -> print ("type: " ^ term_to_string ty) + | _ -> () + end; + print ("qualifier: " ^ term_construct t); + begin match inspect t with + | Tv_Var bv -> + let b : bv_view = inspect_bv bv in + print ("Tv_Var: ppname: " ^ name_of_bv bv ^ + "; index: " ^ (string_of_int b.bv_index)) + | _ -> () + end; + print "end of _debug_print_var" + +/// We use the following to solve goals requiring a unification variable (for +/// which we might not have a candidate, or for which the candidate may not +/// typecheck correctly). We can't use the tactic ``tadmit`` for the simple +/// reason that it generates a warning which may mess up with the subsequent +/// parsing of the data generated by the tactics. +// TODO: actually, there already exists Prims.magic +assume val magic_witness (#a : Type) : a + +let tadmit_no_warning () : Tac unit = + apply (`magic_witness) + +let pp_tac () : Tac unit = + print ("post-processing: " ^ (term_to_string (cur_goal ()))); + dump ""; + trefl() + diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst new file mode 100644 index 00000000000..cf8f9122c77 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.PostProcess.fst @@ -0,0 +1,745 @@ +module FStar.InteractiveHelpers.PostProcess + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul +open FStar.InteractiveHelpers.Base +open FStar.InteractiveHelpers.ExploreTerm +open FStar.InteractiveHelpers.Propositions +open FStar.InteractiveHelpers.Effectful +open FStar.InteractiveHelpers.Output + +/// The high-level post-processing tactics, used to retrieve some specific +/// information from the context and generate output which can be exploited +/// on the IDE side. + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + +(*** General utilities *) +/// We declare some identifiers that we will use to guide the meta processing +assume type meta_info +assume val focus_on_term : meta_info + +let end_proof () = + tadmit_t (`()) + +let unsquash_equality (t:term) : Tac (option (term & term)) = + begin match term_as_formula t with + | Comp (Eq _) l r -> Some (l, r) + | _ -> None + end + +#push-options "--ifuel 2" +let pp_explore (dbg dfs : bool) + (#a : Type0) + (f : explorer a) + (x : a) : + Tac unit = + let g = cur_goal () in + let e = cur_env () in + print_dbg dbg ("[> pp_explore:\n" ^ term_to_string g); + begin match unsquash_equality g with + | Some (l, _) -> + let c = safe_typ_or_comp dbg e l in + let ge = mk_genv e [] [] in + print_dbg dbg ("[> About to explore term:\n" ^ term_to_string l); + let x = explore_term dbg dfs #a f x ge [] c l in + end_proof () + | _ -> mfail "pp_explore: not a squashed equality" + end +#pop-options + +/// This function goes through the goal, which is presumed to be a squashed equality, +/// and prints all the subterms of its left operand. Very useful for debugging. +val pp_explore_print_goal : unit -> Tac unit +let pp_explore_print_goal () = + let f : explorer unit = + fun _ _ _ _ _ -> ((), Continue) + in + pp_explore true false f () + +/// Check for meta-identifiers. Note that we can't simply use ``term_eq`` which +/// sometimes unexpectedly fails (maybe because of information hidden to Meta-F*) +val is_focus_on_term : term -> Tac bool +let is_focus_on_term t = is_fvar t (`%focus_on_term) + +/// Check if a term is an assertion or an assumption and return its content +/// if it is the case. +val term_is_assert_or_assume : term -> Tac (option term) +let term_is_assert_or_assume t = + match inspect t with + | Tv_App hd (a, Q_Explicit) -> + if is_any_fvar a [`%Prims._assert; `%FStar.Pervasives.assert_norm; `%Prims._assume] + then Some a + else None + | _ -> None + +/// Check if the given term view is of the form: 'let _ = focus_on_term in body' +/// Returns 'body' if it is the case. +val is_focused_term : term_view -> Tac (option term) +let is_focused_term tv = + match tv with + | Tv_Let recf attrs _ _ def body -> + if is_focus_on_term def then Some body else None + | _ -> None + +noeq type exploration_result (a : Type)= { + ge : genv; + parents : list (genv & term_view); + tgt_comp : option typ_or_comp; + res : a; +} + +let mk_exploration_result = Mkexploration_result + +let pred_explorer (a:Type) = + genv -> list (genv & term_view) -> option typ_or_comp -> term_view -> + Tac (option a) + +val find_predicated_term_explorer : #a:Type0 -> pred_explorer a -> bool -> + explorer (option (exploration_result a)) +let find_predicated_term_explorer #a pred dbg acc ge pl opt_c t = + if Some? acc then mfail "find_focused_term_explorer: non empty accumulator"; + if dbg then + begin + print ("[> find_focused_term_explorer: " ^ term_view_construct t ^ ":\n" ^ term_to_string t) + end; + match pred ge pl opt_c t with + | Some ft -> Some (mk_exploration_result ge pl opt_c ft), Abort + | None -> None, Continue + +val find_predicated_term : #a:Type0 -> pred_explorer a -> bool -> bool -> + genv -> list (genv & term_view) -> + option typ_or_comp -> term -> + Tac (option (exploration_result a)) +let find_predicated_term #a pred dbg dfs ge pl opt_c t = + fst (explore_term dbg dfs #(option (exploration_result a)) + (find_predicated_term_explorer #a pred dbg) + None ge pl opt_c t) + +val _is_focused_term_explorer : pred_explorer term +let _is_focused_term_explorer ge pl opt_c tv = + is_focused_term tv + +val find_focused_term : bool -> bool -> genv -> list (genv & term_view) -> option typ_or_comp -> term -> + Tac (option (exploration_result term)) +let find_focused_term dbg dfs ge pl opt_c t = + find_predicated_term #term _is_focused_term_explorer dbg dfs ge pl opt_c t + +/// This function raises a MetaAnalysis exception if it can't find a focused term +val find_focused_term_in_current_goal : bool -> Tac (exploration_result term) +let find_focused_term_in_current_goal dbg = + let g = cur_goal () in + let e = cur_env () in + print_dbg dbg ("[> find_focused_assert_in_current_goal:\n" ^ term_to_string g); + begin match unsquash_equality g with + | Some (l, _) -> + let c = safe_typ_or_comp dbg e l in + let ge = mk_genv e [] [] in + print_dbg dbg ("[> About to explore term:\n" ^ term_to_string l); + begin match find_focused_term dbg true ge [] c l with + | Some res -> + print_dbg dbg ("[> Found focused term:\n" ^ term_to_string res.res); + res + | None -> + mfail ("find_focused_term_in_current_goal: could not find a focused term in the current goal: " + ^ term_to_string g) + end + | _ -> mfail "find_focused_term_in_current_goal: not a squashed equality" + end + +/// This function raises a MetaAnalysis exception if it can't find a focused term +val find_focused_assert_in_current_goal : bool -> Tac (exploration_result term) +let find_focused_assert_in_current_goal dbg = + print_dbg dbg ("[> find_focused_assert_in_current_goal"); + let res = find_focused_term_in_current_goal dbg in + print_dbg dbg ("[> Found focused term:\n" ^ term_to_string res.res); + (* Check that it is an assert or an assume, retrieve the assertion *) + let res' = + match inspect res.res with + | Tv_Let _ _ bv0 ty fterm _ -> + let ge' = genv_push_bv res.ge bv0 ty false None in + ({ res with res = fterm; ge = ge' }) + | _ -> res + in + begin match term_is_assert_or_assume res'.res with + | None -> mfail ("find_focused_assert_in_current_goal: the found focused term is not an assertion or an assumption:" ^ term_to_string res.res) + | Some tm -> { res' with res = tm } + end + +(*** Analyze effectful term *) +/// Analyze a term in order to print properly instantiated pre/postconditions +/// and type conditions. + +/// with_globals states whether to analyze the target pre/post together with the +/// focused term. +val analyze_effectful_term : + dbg:bool + -> with_gpre:bool + -> with_gpost:bool + -> res:exploration_result term + -> Tac unit + +let analyze_effectful_term dbg with_gpre with_gpost res = + let ge = res.ge in + let opt_c = res.tgt_comp in + (* Analyze the effectful term and check whether it is a 'let' or not *) + let ge1, studied_term, info, ret_bv, shadowed_bv, is_let = + begin match inspect res.res with + | Tv_Let _ _ bv0 ty fterm _ -> + (* Before pushing the binder, check if it shadows another variable. + * If it is the case, we will need it to correctly output the pre + * and post-assertions (because for the pre-assertions the variable + * will not be shadowed yet, while it will be the case for the post- + * assertions) *) + print_dbg dbg ("Restraining to: " ^ term_to_string fterm); + let shadowed_bv : option bv = + match genv_get_from_name ge (name_of_bv bv0) with + | None -> None + | Some (sbv, _) -> Some (fst sbv) + in + let ge1 = genv_push_bv ge bv0 ty false None in + (* If the bv name is "uu___", introduce a fresh variable and use it instead: + * the underscore might have been introduced when desugaring a let using + * tuples. If doing that is not necessary, the introduced variable will + * not appear in the generated assertions anyway. *) + let ge2, (bv1 : bv) = + let bvv0 = inspect_bv bv0 in + let _ = print_dbg dbg ("Variable bound in let: " ^ abv_to_string bv0) in + if unseal bvv0.bv_ppname = "uu___" (* this is a bit hacky *) + then genv_push_fresh_bv ge1 "ret" ty + else ge1, bv0 + in + let info = compute_eterm_info dbg ge2.env fterm in + (ge2, fterm, (info <: eterm_info), Some bv1, shadowed_bv, true) + | _ -> (ge, res.res, compute_eterm_info dbg ge.env res.res, None, None, false) + end + in + print_dbg dbg ("[> Focused term constructor: " ^ term_construct studied_term); + print_dbg dbg ("[> Environment information (after effect analysis):\n" ^ genv_to_string ge1); + (* Check if the considered term is an assert, in which case we will only + * display the precondition (otherwise we introduce too many assertions + * in the context) *) + let is_assert = Some? (term_is_assert_or_assume studied_term) in + (* Instantiate the refinements *) + (* TODO: use bv rather than term for ret_arg *) + let ret_arg = opt_tapply (fun x -> pack (Tv_Var x)) ret_bv in + let parents = List.Tot.map snd res.parents in + let ge2, asserts = + eterm_info_to_assertions dbg with_gpre with_gpost ge1 studied_term is_let + is_assert info ret_arg opt_c parents [] in + (* Simplify and filter *) + let asserts = simp_filter_assertions ge2.env simpl_norm_steps asserts in + (* Introduce fresh variables for the shadowed ones and substitute *) + let ge3, asserts = subst_shadowed_with_abs_in_assertions dbg ge2 shadowed_bv asserts in + (* If not a let, insert all the assertions before the term *) + let asserts = + if is_let then asserts + else mk_assertions (List.Tot.append asserts.pres asserts.posts) [] + in + (* Print *) + printout_success ge3 asserts + +[@plugin] +val pp_analyze_effectful_term : bool -> bool -> bool -> unit -> Tac unit +let pp_analyze_effectful_term dbg with_gpre with_gpost () = + try + let res = find_focused_term_in_current_goal dbg in + analyze_effectful_term dbg with_gpre with_gpost res; + end_proof () + with | MetaAnalysis msg -> printout_failure msg; end_proof () + | err -> (* Shouldn't happen, so transmit the exception for debugging *) raise err + +(*** Split conjunctions *) +/// Split an assert made of conjunctions so that there is one assert per +/// conjunction. We try to be a bit smart. For instance, if the assertion is of +/// the form: +/// [> assert(let Construct x1 ... xn = e in A1 /\ ... /\ An); +/// We generate: +/// [> assert(let Construct x1 ... xn = e in A1); +/// [> ... +/// [> assert(let Construct x1 ... xn = e in An); + +/// Remove ``b2t`` if it is the head of the term +val remove_b2t : term -> Tac term +let remove_b2t (t:term) : Tac term = + match inspect t with + | Tv_App hd (a, Q_Explicit) -> + begin match inspect hd with + | Tv_FVar fv -> + if fv_eq_name fv b2t_qn then a else t + | _ -> t + end + | _ -> t + +// TODO: gather all the functions like split_conjunctions, is_eq... +/// Try to destruct a term of the form '_ && _' or '_ /\ _' +val is_conjunction : term -> Tac (option (term & term)) +let is_conjunction t = + let t = remove_b2t t in + let hd, params = collect_app t in + match params with + | [(x,Q_Explicit);(y,Q_Explicit)] -> + begin match inspect hd with + | Tv_FVar fv -> + let fvn = inspect_fv fv in + if fvn = and_qn || fvn = ["Prims"; "op_AmpAmp"] + then Some (x, y) else None + | _ -> None + end + | _ -> None + +val split_conjunctions : term -> Tac (list term) + +let rec _split_conjunctions (ls : list term) (t : term) : Tac (list term) = + match is_conjunction t with + | None -> t :: ls + | Some (l, r) -> + let ls1 = _split_conjunctions ls r in + let ls2 = _split_conjunctions ls1 l in + ls2 + +let split_conjunctions t = + _split_conjunctions [] t + +/// Split a term of the form: +/// [> let Constuct x1 ... xn = x in A1 /\ ... /\ Am +/// into m terms: +/// [> let Constuct x1 ... xn = x in A1 +/// ... +/// [> let Constuct x1 ... xn = x in Am +val split_conjunctions_under_match : bool -> term -> Tac (list term) + +let split_conjunctions_under_match dbg t = + let t1 = remove_b2t t in + print_dbg dbg ("[> split_conjunctions_under_match: " ^ term_construct t1); + match inspect t1 with + | Tv_Match scrut ret_opt [(pat, br)] -> + let tl = split_conjunctions br in + map (fun x -> pack (Tv_Match scrut ret_opt [(pat, x)])) tl + | _ -> + (* Not of the proper shape: return the original term *) + [t] + +val split_assert_conjs : bool -> exploration_result term -> Tac unit +let split_assert_conjs dbg res = + let ge0 = res.ge in + (* Simplify the term (it may be an abstraction applied to some parameters) *) + let t = norm_term_env ge0.env simpl_norm_steps res.res in + (* Split the conjunctions *) + let conjs = split_conjunctions t in + (* If there is only one conjunction, check if it is of the following form + * and try to split: + * [> let Construct x1 .. xn = x in A1 /\ ... /\ Am + *) + let conjs = + if List.Tot.length conjs = 1 then split_conjunctions_under_match dbg t + else conjs + in + let asserts = mk_assertions conjs [] in + (* Print *) + printout_success ge0 asserts + +[@plugin] +val pp_split_assert_conjs : bool -> unit -> Tac unit +let pp_split_assert_conjs dbg () = + try + let res = find_focused_assert_in_current_goal dbg in + split_assert_conjs dbg res; + end_proof () + with | MetaAnalysis msg -> printout_failure msg; end_proof () + | err -> (* Shouldn't happen, so transmit the exception for debugging *) raise err + +(*** Term unfolding in assert *) +/// Unfold/rewrite a term in an assert. +/// If the term is a (recursive) top-level identifier, unfold it. +/// Otherwise look for an equality or a pure let-binding to replace it with. +/// If the assert is an equality, unfold/rewrite only on the side chosen by the user. + +// TODO: use "kind" keyword rather than type above +/// An equality kind +noeq type eq_kind = + | Eq_Dec : typ -> eq_kind (* = *) + | Eq_Undec : typ -> eq_kind (* == *) + | Eq_Hetero : typ -> typ -> eq_kind (* === *) + +/// Deconstruct an equality +// We use our own construct because ``term_as_formula`` doesn't always work +// TODO: update ``term_as_formula`` +val is_eq : bool -> term -> Tac (option (eq_kind & term & term)) +let is_eq dbg t = + let t = remove_b2t t in + print_dbg dbg ("[> is_eq: " ^ term_to_string t); + let hd, params = collect_app t in + print_dbg dbg ("- hd:\n" ^ term_to_string hd); + print_dbg dbg ("- parameters:\n" ^ list_to_string (fun (x, y) -> term_to_string x) params); + match inspect hd with + | Tv_FVar fv -> + begin match params with + | [(a,Q_Implicit);(x,Q_Explicit);(y,Q_Explicit)] -> + if is_any_fvar a [`%Prims.op_Equality; `%Prims.equals; "Prims.op_Equals"] then + Some ((Eq_Dec a), x, y) + else if is_any_fvar a [`%Prims.eq2; "Prims.op_Equals_Equals"] then + Some ((Eq_Undec a), x, y) + else None + | [(a,Q_Implicit);(b,Q_Implicit);(x,Q_Explicit);(y,Q_Explicit)] -> + if is_fvar a (`%Prims.op_Equals_Equals_Equals) then + Some ((Eq_Hetero a b), x, y) + else None + | _ -> None + end + | _ -> None + +/// Reconstruct an equality +val mk_eq : eq_kind -> term -> term -> Tot term +let mk_eq k t1 t2 = + match k with + | Eq_Dec ty -> + mk_app (`Prims.op_Equality) [(ty, Q_Implicit); (t1, Q_Explicit); (t2, Q_Explicit)] + | Eq_Undec ty -> + mk_app (`Prims.eq2) [(ty, Q_Implicit); (t1, Q_Explicit); (t2, Q_Explicit)] + | Eq_Hetero ty1 ty2 -> + mk_app Prims.(`( === )) [(ty1, Q_Implicit); (ty2, Q_Implicit); + (t1, Q_Explicit); (t2, Q_Explicit)] + +let formula_construct (f : formula) : Tac string = + match f with + | True_ -> "True_" + | False_ -> "False_" + | Comp _ _ _ -> "Comp" + | And _ _ -> "And" + | Or _ _ -> "Or" + | Not _ -> "Not" + | Implies _ _ -> "Implies" + | Iff _ _ -> "Iff" + | Forall _ _ _ -> "Forall" + | Exists _ _ _ -> "Exists" + | App _ _ -> "Apply" + | Name _ -> "Name" + | FV _ -> "FV" + | IntLit _ -> "IntLit" + | F_Unknown -> "F_Unknown" + +/// Check if a proposition is an equality which can be used to rewrite a term. +/// Return the operand of the equality which the term is equal to if it is the case. +val is_equality_for_term : bool -> term -> term -> Tac (option term) +let is_equality_for_term dbg tm p = + print_dbg dbg ("[> is_equality_for_term:" ^ + "\n- term: " ^ term_to_string tm ^ + "\n- prop: " ^ term_to_string p); + (* Specialize equality for bv - TODO: not sure if necessary, but I had problems + * in the past *) + let check_eq : term -> Tac bool = + match inspect tm with + | Tv_Var bv -> + (fun tm' -> match inspect tm' with | Tv_Var bv' -> bv_eq bv bv' | _ -> false) + | _ -> (fun tm' -> term_eq tm tm') + in + match is_eq dbg p with + | Some (ekind, l, r) -> + (* We ignore heterogeneous equality, because it risks to cause havoc at + * typing after substitution *) + print_dbg dbg ("Term is eq: " ^ term_to_string l ^ " = " ^ term_to_string r); + if Eq_Hetero? ekind then + begin + print_dbg dbg "Ignoring heterogeneous equality"; + None + end + else if check_eq l then Some r + else if check_eq r then Some l + else None + | _ -> + print_dbg dbg "Term is not eq"; + None + +val find_subequality : bool -> term -> term -> Tac (option term) +let find_subequality dbg tm p = + print_dbg dbg ("[> find_subequality:" ^ + "\n- ter : " ^ term_to_string tm ^ + "\n- props: " ^ term_to_string p); + let conjuncts = split_conjunctions p in + print_dbg dbg ("Conjuncts:\n" ^ list_to_string term_to_string conjuncts); + tryPick (is_equality_for_term dbg tm) conjuncts + +/// Look for an equality in a postcondition which can be used for rewriting. +val find_equality_from_post : + bool -> genv -> term -> bv -> typ -> term -> effect_info -> + list term_view -> list term_view -> Tac (genv & option term) +let find_equality_from_post dbg ge0 tm let_bv let_bvty ret_value einfo parents children = + print_dbg dbg "[> find_equality_from_post"; + let tinfo = get_type_info_from_type let_bvty in + (* Compute the post-condition *) + let ge1, _, post_prop = + pre_post_to_propositions dbg ge0 einfo.ei_type ret_value (Some (mk_binder let_bv let_bvty)) + tinfo einfo.ei_pre einfo.ei_post parents children + in + print_dbg dbg ("Computed post: " ^ option_to_string term_to_string post_prop); + (* Look for an equality in the post *) + let res = + match post_prop with + | None -> None + | Some p -> find_subequality dbg tm p + in + (* If we found something, we return the updated environment, + * otherwise we can return the original one *) + match res with + | None -> ge0, None + | Some tm -> ge1, Some tm + +/// Given a list of parent terms (as generated by ``explore_term``), look for an +/// equality given by a post-condition which can be used to replace a term. +val find_context_equality : + dbg:bool + -> ge0:genv + -> tm:term + -> parents:list term_view + -> children:list term_view + -> Tac (genv & option term) + +/// Auxiliary function which actually performs the search +let rec find_context_equality_aux dbg ge0 tm (opt_bv : option bv) + (parents children : list term_view) : + Tac (genv & option term) = + match parents with + | [] -> ge0, None + | tv :: parents' -> + print_dbg dbg ("[> find_context_equality:\n" ^ + "- term : " ^ term_to_string tm ^ "\n" ^ + "- parent: " ^ term_to_string tv); + (* We only consider let-bindings *) + match tv with + | Tv_Let _ _ bv' ty def _ -> + print_dbg dbg "Is Tv_Let"; + let tm_info = compute_eterm_info dbg ge0.env def in + let einfo = tm_info.einfo in + (* If the searched term is a bv and the current let is the one which + * introduces it: + * - if the term is effectful, use it + * - otherwise, try to use its postcondition. If we don't find any + * equalities, some there *) + let let_bv_is_tm = + match opt_bv with + | Some tm_bv -> bv_eq tm_bv bv' + | None -> false + in + if let_bv_is_tm && effect_type_is_pure einfo.ei_type then ge0, Some def + else + let ret_value = pack (Tv_Var bv') in + begin match find_equality_from_post dbg ge0 tm bv' ty ret_value + einfo parents children with + | ge1, Some p -> ge1, Some p + | _, None -> find_context_equality_aux dbg ge0 tm opt_bv parents' (tv :: children) + end + | _ -> find_context_equality_aux dbg ge0 tm opt_bv parents' (tv :: children) + +let find_context_equality dbg ge0 tm parents children = + let opt_bv = + match inspect tm with + | Tv_Var bv -> Some bv + | _ -> None + in + find_context_equality_aux dbg ge0 tm opt_bv parents children + +/// Replace a subterm by another term +val replace_term_in : bool -> term -> term -> term -> Tac term +let rec replace_term_in dbg from_term to_term tm = + if term_eq from_term tm then to_term else + match inspect tm with + | Tv_Var _ | Tv_BVar _ | Tv_FVar _ -> tm + | Tv_App hd (a, qual) -> + let a' = replace_term_in dbg from_term to_term a in + let hd' = replace_term_in dbg from_term to_term hd in + pack (Tv_App hd' (a', qual)) + | Tv_Abs br body -> + let body' = replace_term_in dbg from_term to_term body in + pack (Tv_Abs br body') + | Tv_Arrow br c0 -> tm (* TODO: we might want to explore that *) + | Tv_Type _ -> tm + | Tv_Refine bv sort ref -> + let sort' = replace_term_in dbg from_term to_term sort in + let ref' = replace_term_in dbg from_term to_term ref in + pack (Tv_Refine bv sort' ref') + | Tv_Const _ -> tm + | Tv_Uvar _ _ -> tm + | Tv_Let recf attrs bv ty def body -> + (* GM 2023-04-27: leaving ty untouched, old code did not + descend into sort. *) + let def' = replace_term_in dbg from_term to_term def in + let body' = replace_term_in dbg from_term to_term body in + pack (Tv_Let recf attrs bv ty def' body') + | Tv_Match scrutinee ret_opt branches -> //AR: TODO: account for the returns annotation + (* Auxiliary function to explore the branches *) + let explore_branch (br : branch) : Tac branch = + (* Only explore the branch body *) + let pat, body = br in + let body' = replace_term_in dbg from_term to_term body in + (pat, body') + in + let scrutinee' = replace_term_in dbg from_term to_term scrutinee in + let branches' = map explore_branch branches in + pack (Tv_Match scrutinee' ret_opt branches') + | Tv_AscribedT e ty tac use_eq -> + let e' = replace_term_in dbg from_term to_term e in + let ty' = replace_term_in dbg from_term to_term ty in + pack (Tv_AscribedT e' ty' tac use_eq) + | Tv_AscribedC e c tac use_eq -> + let e' = replace_term_in dbg from_term to_term e in + pack (Tv_AscribedC e' c tac use_eq) + | _ -> + (* Unknown *) + tm + +val strip_implicit_parameters : term -> Tac term +let rec strip_implicit_parameters tm = + match inspect tm with + | Tv_App hd (a,qualif) -> + if Q_Implicit? qualif then strip_implicit_parameters hd else tm + | _ -> tm + +val unfold_in_assert_or_assume : bool -> exploration_result term -> Tac unit +let unfold_in_assert_or_assume dbg ares = + print_dbg dbg ("[> unfold_in_assert_or_assume:\n" ^ term_to_string ares.res); + (* Find the focused term inside the assert, and on which side of the + * equality if the assert is an equality *) + let find_focused_in_term t = + find_focused_term dbg false ares.ge ares.parents ares.tgt_comp t + in + let find_in_whole_term () : Tac _ = + match find_focused_in_term ares.res with + | Some res -> + ares.res, res, (fun x -> x <: Tac term), true + | None -> mfail "unfold_in_assert_or_assume: could not find a focused term in the assert" + in + (* - subterm: the subterm of the assertion in which we found the focused term + * (if an equality, left or right operand, otherwise whole assertion) + * - unf_res: the result of the exploration for the focused term inside the + * assertion, which gives the term to unfold + * - rebuild: a Tot function which, given a term, rebuilds the equality by + * replacing the above subterm with the given term + * - insert_before: whether to insert the new assertion before or after the + * current assertion in the user file *) + let subterm, unf_res, (rebuild : term -> Tac term), insert_before = + let _ = print_dbg dbg ("Assertion: " ^ term_to_string ares.res) in + match is_eq dbg ares.res with + | Some (kd, l, r) -> + print_dbg dbg "The assertion is an equality"; + begin match find_focused_in_term l with + | Some res -> + print_dbg dbg ("Found focused term in left operand:" ^ + "\n- left : " ^ term_to_string l ^ + "\n- right : " ^ term_to_string r ^ + "\n- focused: " ^ term_to_string res.res); + let rebuild t : Tac term = mk_eq kd t r in + l, res, rebuild, true + | None -> + begin match find_focused_in_term r with + | Some res -> + print_dbg dbg ("Found focused term in right operand:" ^ + "\n- left : " ^ term_to_string l ^ + "\n- right : " ^ term_to_string r ^ + "\n- focused: " ^ term_to_string res.res); + let rebuild (t : term) : Tac term = mk_eq kd l t in + r, res, rebuild, false + | None -> + mfail "unfold_in_assert_or_assume: could not find a focused term in the assert" + end + end + | None -> + print_dbg dbg "The assertion is not an equality"; + find_in_whole_term () + in + print_dbg dbg ("Found subterm in assertion/assumption:\n" ^ + "- subterm: " ^ term_to_string subterm ^ "\n" ^ + "- focused term: " ^ term_to_string unf_res.res); + (* Unfold the term *) + let res_view = inspect unf_res.res in + let ge1, opt_unf_tm = + match res_view with + | Tv_FVar fv -> + print_dbg dbg ("The focused term is a top identifier: " ^ fv_to_string fv); + (* The easy case: just use the normalizer *) + let fname = flatten_name (inspect_fv fv) in + let subterm' = norm_term_env ares.ge.env [delta_only [fname]; zeta] subterm in + print_dbg dbg ("Normalized subterm: " ^ term_to_string subterm'); + ares.ge, Some subterm' + | _ -> + (* Look for an equality given by a previous post-condition. In the case + * the term is a bv, we can also use the let-binding which introduces it, + * if it is pure. *) + let parents = List.Tot.map snd ares.parents in + let opt_bvty : option (bv & typ) = + match res_view with + | Tv_Var bv -> + print_dbg dbg ("The focused term is a local variable: " ^ bv_to_string bv); + (* Check that the binder was not introduced by an abstraction inside the assertion *) + if not (Some? (genv_get ares.ge bv)) then + mfail "unfold_in_assert_or_assume: can't unfold a variable locally introduced in an assertion"; + Some (bv, pack_ln Tv_Unknown) // FIXME + | _ -> + print_dbg dbg ("The focused term is an arbitrary term: " ^ term_to_string unf_res.res); + None + in + let ge1, eq_tm = find_context_equality dbg ares.ge unf_res.res parents [] in + (* Check if we found an equality *) + let opt_eq_tm = + match eq_tm with + | Some eq_tm -> Some eq_tm + | _ -> None + in + (* Apply it *) + let subterm' = + match opt_bvty, opt_eq_tm with + | Some bvty, Some eq_tm -> Some (apply_subst ge1.env subterm [(bvty, eq_tm)]) + | None, Some eq_tm -> Some (replace_term_in dbg unf_res.res eq_tm subterm) + | _ -> None + in + ge1, subterm' + in + (* If we couldn't unfold the term, check if it is a top-level identifier with + * implicit parameters (it may happen that the user calls the command on a + * top-level identifier which has implicit parameters without providing + * those parameters, in which case the focused term is the identifier applied + * to those implicits inferred by F*, and thus an app and not an fvar). + * Note that so far we have no way to check if the implicit parameters have + * been explicitly provided by the user or not, which is why we can't do better + * than greedy tests.*) + let ge2, unf_tm = + match opt_unf_tm with + | Some unf_tm -> ge1, unf_tm + | None -> + begin match inspect (strip_implicit_parameters unf_res.res) with + | Tv_FVar fv -> + print_dbg dbg ("The focused term is a top identifier with implicit parameters: " + ^ fv_to_string fv); + (* The easy case: just use the normalizer *) + let fname = flatten_name (inspect_fv fv) in + let subterm' = norm_term_env ge1.env [delta_only [fname]; zeta] subterm in + print_dbg dbg ("Normalized subterm: " ^ term_to_string subterm'); + ge1, subterm' + | _ -> + mfail ("unfold_in_assert_or_assume: " ^ + "couldn't find equalities with which to rewrite: " ^ + term_to_string unf_res.res) + end + in + (* Create the assertions to output *) + let final_assert = rebuild unf_tm in + let final_assert = prettify_term dbg final_assert in + print_dbg dbg ("-> Final assertion:\n" ^ term_to_string final_assert); + let asserts = + if insert_before then mk_assertions [final_assert] [] else mk_assertions [] [final_assert] + in + (* Introduce fresh variables for the shadowed ones and substitute *) + let ge3, asserts = subst_shadowed_with_abs_in_assertions dbg ge2 None asserts in + (* Output *) + printout_success ge3 asserts + +[@plugin] +val pp_unfold_in_assert_or_assume : bool -> unit -> Tac unit +let pp_unfold_in_assert_or_assume dbg () = + try + let res = find_focused_assert_in_current_goal dbg in + unfold_in_assert_or_assume dbg res; + end_proof () + with | MetaAnalysis msg -> printout_failure msg; end_proof () + | err -> (* Shouldn't happen, so transmit the exception for debugging *) raise err diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fst new file mode 100644 index 00000000000..c0537d1e81f --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fst @@ -0,0 +1,44 @@ +module FStar.InteractiveHelpers.Propositions + +open FStar.List.Tot +open FStar.Tactics +open FStar.Mul +open FStar.InteractiveHelpers.Base +open FStar.InteractiveHelpers.ExploreTerm + +private +let term_eq = FStar.Reflection.TermEq.Simple.term_eq + +/// Propositions and assertions. +/// Assertions are propositions to be inserted in the F* code: we differentiate +/// between pre and post assertions, which are to be inserted before a point in +/// the code. For instance, if we analyze an effectful term in F*: +/// [> assert(y <> 0); // pre assertion +/// [> let z = x / y in // term of interest +/// [> assert(...); // post assertion + +#set-options "--z3rlimit 15 --fuel 0 --ifuel 1" + +/// Analyze a term to retrieve its effectful information + +let proposition_to_string p = term_to_string p + +let is_trivial_proposition p = + term_eq (`Prims.l_True) p + +let simp_filter_proposition (e:env) (steps:list norm_step) (p:proposition) : + Tac (list proposition) = + let prop1 = norm_term_env e steps p in + (* If trivial, filter *) + if term_eq (`Prims.l_True) prop1 then [] + else [prop1] + +let simp_filter_propositions (e:env) (steps:list norm_step) (pl:list proposition) : + Tac (list proposition) = + List.Tot.flatten (map (simp_filter_proposition e steps) pl) + +let simp_filter_assertions (e:env) (steps:list norm_step) (a:assertions) : + Tac assertions = + let pres = simp_filter_propositions e steps a.pres in + let posts = simp_filter_propositions e steps a.posts in + mk_assertions pres posts diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fsti b/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fsti new file mode 100644 index 00000000000..65a691d2abe --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.Propositions.fsti @@ -0,0 +1,52 @@ +module FStar.InteractiveHelpers.Propositions + +open FStar.Tactics.Effect +open FStar.Stubs.Reflection.Types + +/// Propositions and assertions. +/// Assertions are propositions to be inserted in the F* code: we differentiate +/// between pre and post assertions, which are to be inserted before a point in +/// the code. For instance, if we analyze an effectful term in F*: +/// [> assert(y <> 0); // pre assertion +/// [> let z = x / y in // term of interest +/// [> assert(...); // post assertion + +/// Analyze a term to retrieve its effectful information + +type proposition = term + +[@@plugin] +val proposition_to_string : proposition -> Tac string + +/// Propositions split between pre and post assertions +[@@plugin] +noeq type assertions = { + pres : list proposition; + posts : list proposition; +} + +let mk_assertions pres posts : assertions = + Mkassertions pres posts + +(*** Simplification *) +/// Whenever we generate assertions, we simplify them to make them cleaner, +/// prettier and remove the trivial ones. The normalization steps we apply +/// are listed below. +let simpl_norm_steps = [primops; simplify; iota] + +/// Simplify the propositions and filter the trivial ones. +/// Check if a proposition is trivial (i.e.: is True) +[@@plugin] +val is_trivial_proposition : proposition -> Tac bool + +[@@plugin] +val simp_filter_proposition (e:env) (steps:list norm_step) (p:proposition) : + Tac (list proposition) + +[@@plugin] +val simp_filter_propositions (e:env) (steps:list norm_step) (pl:list proposition) : + Tac (list proposition) + +[@@plugin] +val simp_filter_assertions (e:env) (steps:list norm_step) (a:assertions) : + Tac assertions diff --git a/stage0/ulib/experimental/FStar.InteractiveHelpers.fst b/stage0/ulib/experimental/FStar.InteractiveHelpers.fst new file mode 100644 index 00000000000..5ae34d12610 --- /dev/null +++ b/stage0/ulib/experimental/FStar.InteractiveHelpers.fst @@ -0,0 +1,11 @@ +module FStar.InteractiveHelpers + +/// FStar.InteractiveHelpers defines a library of meta functions to help the user +/// interact with F*. + +include FStar.InteractiveHelpers.Base +include FStar.InteractiveHelpers.ExploreTerm +include FStar.InteractiveHelpers.Propositions +include FStar.InteractiveHelpers.Effectful +include FStar.InteractiveHelpers.Output +include FStar.InteractiveHelpers.PostProcess diff --git a/stage0/ulib/experimental/FStar.MST.fst b/stage0/ulib/experimental/FStar.MST.fst new file mode 100644 index 00000000000..df1d3733c64 --- /dev/null +++ b/stage0/ulib/experimental/FStar.MST.fst @@ -0,0 +1,247 @@ +(* + Copyright 2020 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.MST + +module P = FStar.Preorder +module W = FStar.Witnessed.Core +open FStar.Monotonic.Pure + +type pre_t (state:Type u#2) = state -> Type0 +type post_t (state:Type u#2) (a:Type u#a) = state -> a -> state -> Type0 + +type repr + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req:pre_t state) + (ens:post_t state a) + = + s0:state -> + DIV (a & state) + (as_pure_wp (fun p -> + req s0 /\ + (forall (x:a) (s1:state). (ens s0 x s1 /\ rel s0 s1) ==> p (x, s1)))) + +let return + (a:Type) + (x:a) + (state:Type u#2) + (rel:P.preorder state) + : repr a state rel + (fun _ -> True) + (fun s0 r s1 -> r == x /\ s0 == s1) + = + fun s0 -> x, s0 + +let bind + (a:Type) + (b:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:pre_t state) + (ens_f:post_t state a) + (req_g:a -> pre_t state) + (ens_g:a -> post_t state b) + (f:repr a state rel req_f ens_f) + (g:(x:a -> repr b state rel (req_g x) (ens_g x))) + : repr b state rel + (fun s0 -> req_f s0 /\ (forall x s1. ens_f s0 x s1 ==> (req_g x) s1)) + (fun s0 r s2 -> req_f s0 /\ (exists x s1. ens_f s0 x s1 /\ (req_g x) s1 /\ (ens_g x) s1 r s2)) + = + fun s0 -> + let x, s1 = f s0 in + (g x) s1 + +let subcomp + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:pre_t state) + (ens_f:post_t state a) + (req_g:pre_t state) + (ens_g:post_t state a) + (f:repr a state rel req_f ens_f) + : Pure (repr a state rel req_g ens_g) + (requires + (forall s. req_g s ==> req_f s) /\ + (forall s0 x s1. (req_g s0 /\ ens_f s0 x s1) ==> ens_g s0 x s1)) + (ensures fun _ -> True) + = + f + +let if_then_else + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_then:pre_t state) + (ens_then:post_t state a) + (req_else:pre_t state) + (ens_else:post_t state a) + (f:repr a state rel req_then ens_then) + (g:repr a state rel req_else ens_else) + (p:bool) + : Type + = + repr a state rel + (fun s -> (p ==> req_then s) /\ ((~ p) ==> req_else s)) + (fun s0 x s1 -> (p ==> ens_then s0 x s1) /\ ((~ p) ==> ens_else s0 x s1)) + +[@@ primitive_extraction] +reflectable +effect { + MSTATE (a:Type) + ([@@@ effect_param] state:Type u#2) + ([@@@ effect_param] rel:P.preorder state) + (req:pre_t state) + (ens:post_t state a) + with { repr; return; bind; subcomp; if_then_else } +} + +[@@ noextract_to "krml"] +let get (#state:Type u#2) (#rel:P.preorder state) () + : MSTATE state state rel + (fun _ -> True) + (fun s0 r s1 -> s0 == r /\ r == s1) + = + MSTATE?.reflect (fun s0 -> s0, s0) + +[@@ noextract_to "krml"] +let put (#state:Type u#2) (#rel:P.preorder state) (s:state) + : MSTATE unit state rel + (fun s0 -> rel s0 s) + (fun _ _ s1 -> s1 == s) + = + MSTATE?.reflect (fun _ -> (), s) + +assume +val witness (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + : MSTATE (W.witnessed state rel p) state rel + (fun s0 -> p s0 /\ W.stable state rel p) + (fun s0 _ s1 -> s0 == s1) + +assume +val recall (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + (w:W.witnessed state rel p) + : MSTATE unit state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1 /\ p s1) + + +(* + * AR: why do we need the first conjunct in the postcondition? + * + * without this some proofs that use `assert e by t` fail + * the way `assert e by t` works is that, it is desugared into `with_tactic e t` + * that is abstract and remains in the VC as is at some point, we take a pass over + * the VC, find the `with_tactic e t` nodes in it, farm out `G |= e by t` where `G` + * is the context at that point in the VC in the original VC, `with_tactic e t` + * is simply replace by `True`. + * So why is it OK to replace it by `True`, don't we lose the fact that `e` holds for + * the rest of the VC? + * In the wp world of things, this works fine, since the wp of `assert e by t` is + * (fun _ -> with_tactic e t /\ (e ==> ...)) + * i.e. the type of `assert e by t` already introduces a cut, so replacing it by + * `True` works fine. + * + * But this doesn't work when we use the intricate `~ (wp (fun r -> r =!= x))` + * combinator to convert from wp to pre post + * + * Basically, the shape of the VC in that case becomes: + * (with_tactic e t /\ (((~ with_tactic e t) \/ (e /\ ...)) ==> ...)) + * + * In this VC, if we replace the first `with_tactic e t` with `True`, for the second conjunct, + * the solver can no longer reason that the first disjunct cannot hold + * + * The wp (fun _ -> True) below helps add that assumption to the second conjunct + *) + +let lift_pure_mst + (a:Type) + (wp:pure_wp a) + (state:Type u#2) + (rel:P.preorder state) + (f:eqtype_as_type unit -> PURE a wp) + : repr a state rel + (fun s0 -> wp (fun _ -> True)) + (fun s0 x s1 -> wp (fun _ -> True) /\ (~ (wp (fun r -> r =!= x \/ s0 =!= s1)))) + = + elim_pure_wp_monotonicity wp; + fun s0 -> + let x = f () in + x, s0 + +sub_effect PURE ~> MSTATE = lift_pure_mst + + +(* + * A polymonadic bind between DIV and MSTATE + * + * This is ultimately used when defining par and frame in Steel.Effect.fst (via NMST layer) + * par and frame try to compose reified Steel with Steel, since Steel is non total, its reification + * incurs a Div effect, and so, we need a way to compose Div and Steel + * + * To do so, we have to go all the way down and have a story for MST and NMST too + * + * This polymonadic bind gives us bare minimum to realize that + * It is quite imprecise, in that it doesn't say anything about the post of the Div computation + * That's because, the as_ensures combinator is not encoded for Div effect in the SMT, + * the way it is done for PURE and GHOST + * + * However, since the reification use case gives us Dv anyway, this is fine for now + *) +let bind_div_mst (a:Type) (b:Type) + (wp:pure_wp a) + (state:Type u#2) (rel:P.preorder state) (req:a -> pre_t state) (ens:a -> post_t state b) + (f:eqtype_as_type unit -> DIV a wp) (g:(x:a -> repr b state rel (req x) (ens x))) +: repr b state rel + (fun s0 -> wp (fun _ -> True) /\ (forall x. req x s0)) + (fun s0 y s1 -> exists x. (ens x) s0 y s1) += elim_pure_wp_monotonicity wp; + fun s0 -> + let x = f () in + (g x) s0 + +polymonadic_bind (DIV, MSTATE) |> MSTATE = bind_div_mst + + +let mst_assume (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : MSTATE unit state rel (fun _ -> True) (fun m0 _ m1 -> p /\ m0 == m1) + = + assume p + +let mst_admit (#state:Type u#2) (#rel:P.preorder state) (#a:Type) () + : MSTATE a state rel (fun _ -> True) (fun _ _ _ -> False) + = + admit () + +let mst_assert (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : MSTATE unit state rel (fun _ -> p) (fun m0 _ m1 -> p /\ m0 == m1) + = + assert p + +let lift_mst_total_mst (a:Type) + (state:Type u#2) (rel:P.preorder state) + (req:pre_t state) (ens:post_t state a) + (f:MSTTotal.repr a state rel req ens) +: repr a state rel req ens += fun s0 -> f s0 + +sub_effect MSTTotal.MSTATETOT ~> MSTATE = lift_mst_total_mst diff --git a/stage0/ulib/experimental/FStar.MSTTotal.fst b/stage0/ulib/experimental/FStar.MSTTotal.fst new file mode 100644 index 00000000000..23ed925c669 --- /dev/null +++ b/stage0/ulib/experimental/FStar.MSTTotal.fst @@ -0,0 +1,208 @@ +(* + Copyright 2020 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.MSTTotal +module W = FStar.Witnessed.Core +module P = FStar.Preorder + +open FStar.Monotonic.Pure + +type pre_t (state:Type u#2) = state -> Type0 +type post_t (state:Type u#2) (a:Type u#a) = state -> a -> state -> Type0 + +type repr + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req:pre_t state) + (ens:post_t state a) + = + s0:state -> + PURE (a & state) + (as_pure_wp (fun p -> + req s0 /\ + (forall (x:a) (s1:state). (ens s0 x s1 /\ rel s0 s1) ==> p (x, s1)))) + +let return + (a:Type) + (x:a) + (state:Type u#2) + (rel:P.preorder state) + : repr a state rel + (fun _ -> True) + (fun s0 r s1 -> r == x /\ s0 == s1) + = + fun s0 -> x, s0 + +let bind + (a:Type) + (b:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:pre_t state) + (ens_f:post_t state a) + (req_g:a -> pre_t state) + (ens_g:a -> post_t state b) + (f:repr a state rel req_f ens_f) + (g:(x:a -> repr b state rel (req_g x) (ens_g x))) + : repr b state rel + (fun s0 -> req_f s0 /\ (forall x s1. ens_f s0 x s1 ==> (req_g x) s1)) + (fun s0 r s2 -> req_f s0 /\ (exists x s1. ens_f s0 x s1 /\ (req_g x) s1 /\ (ens_g x) s1 r s2)) + = + fun s0 -> + let x, s1 = f s0 in + (g x) s1 + +let subcomp + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:pre_t state) + (ens_f:post_t state a) + (req_g:pre_t state) + (ens_g:post_t state a) + (f:repr a state rel req_f ens_f) + : Pure (repr a state rel req_g ens_g) + (requires + (forall s. req_g s ==> req_f s) /\ + (forall s0 x s1. (req_g s0 /\ ens_f s0 x s1) ==> ens_g s0 x s1)) + (ensures fun _ -> True) + = + f + +let if_then_else + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_then:pre_t state) + (ens_then:post_t state a) + (req_else:pre_t state) + (ens_else:post_t state a) + (f:repr a state rel req_then ens_then) + (g:repr a state rel req_else ens_else) + (p:bool) + : Type + = + repr a state rel + (fun s -> (b2t p ==> req_then s) /\ ((~ (b2t p)) ==> req_else s)) + (fun s0 x s1 -> (b2t p ==> ens_then s0 x s1) /\ ((~ (b2t p)) ==> ens_else s0 x s1)) + +[@@ primitive_extraction] +total +reflectable +effect { + MSTATETOT (a:Type) + ([@@@ effect_param] state:Type u#2) + ([@@@ effect_param] rel:P.preorder state) + (req:pre_t state) + (ens:post_t state a) + with { repr; return; bind; subcomp; if_then_else } +} + +[@@ noextract_to "krml"] +let get (#state:Type u#2) (#rel:P.preorder state) () + : MSTATETOT state state rel + (fun _ -> True) + (fun s0 r s1 -> s0 == r /\ r == s1) + = + MSTATETOT?.reflect (fun s0 -> s0, s0) + +[@@ noextract_to "krml"] +let put (#state:Type u#2) (#rel:P.preorder state) (s:state) + : MSTATETOT unit state rel + (fun s0 -> rel s0 s) + (fun _ _ s1 -> s1 == s) + = + MSTATETOT?.reflect (fun _ -> (), s) + +assume +val witness (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + : MSTATETOT (W.witnessed state rel p) state rel + (fun s0 -> p s0 /\ W.stable state rel p) + (fun s0 _ s1 -> s0 == s1) + +assume +val recall (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + (w:W.witnessed state rel p) + : MSTATETOT unit state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1 /\ p s1) + + +(* + * AR: why do we need the first conjunct in the postcondition? + * + * without this some proofs that use `assert e by t` fail + * the way `assert e by t` works is that, it is desugared into `with_tactic e t` + * that is abstract and remains in the VC as is at some point, we take a pass over + * the VC, find the `with_tactic e t` nodes in it, farm out `G |= e by t` where `G` + * is the context at that point in the VC in the original VC, `with_tactic e t` + * is simply replace by `True`. + * So why is it OK to replace it by `True`, don't we lose the fact that `e` holds for + * the rest of the VC? + * In the wp world of things, this works fine, since the wp of `assert e by t` is + * (fun _ -> with_tactic e t /\ (e ==> ...)) + * i.e. the type of `assert e by t` already introduces a cut, so replacing it by + * `True` works fine. + * + * But this doesn't work when we use the intricate `~ (wp (fun r -> r =!= x))` + * combinator to convert from wp to pre post + * + * Basically, the shape of the VC in that case becomes: + * (with_tactic e t /\ (((~ with_tactic e t) \/ (e /\ ...)) ==> ...)) + * + * In this VC, if we replace the first `with_tactic e t` with `True`, for the second conjunct, + * the solver can no longer reason that the first disjunct cannot hold + * + * The wp (fun _ -> True) below helps add that assumption to the second conjunct + *) + +let lift_pure_mst_total + (a:Type) + (wp:pure_wp a) + (state:Type u#2) + (rel:P.preorder state) + (f:eqtype_as_type unit -> PURE a wp) + : repr a state rel + (fun s0 -> wp (fun _ -> True)) + (fun s0 x s1 -> wp (fun _ -> True) /\ (~ (wp (fun r -> r =!= x \/ s0 =!= s1)))) + = + elim_pure_wp_monotonicity wp; + fun s0 -> + let x = f () in + x, s0 + +sub_effect PURE ~> MSTATETOT = lift_pure_mst_total + + +let mst_tot_assume (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : MSTATETOT unit state rel (fun _ -> True) (fun m0 _ m1 -> p /\ m0 == m1) + = + assume p + +let mst_tot_admit (#state:Type u#2) (#rel:P.preorder state) (#a:Type) () + : MSTATETOT a state rel (fun _ -> True) (fun _ _ _ -> False) + = + admit () + +let mst_tot_assert (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : MSTATETOT unit state rel (fun _ -> p) (fun m0 _ m1 -> p /\ m0 == m1) + = + assert p diff --git a/stage0/ulib/experimental/FStar.NMST.fst b/stage0/ulib/experimental/FStar.NMST.fst new file mode 100644 index 00000000000..fe30b2c40ba --- /dev/null +++ b/stage0/ulib/experimental/FStar.NMST.fst @@ -0,0 +1,224 @@ +(* + Copyright 2020 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.NMST + +#set-options "--compat_pre_typed_indexed_effects" + +module W = FStar.Witnessed.Core +module P = FStar.Preorder + +module M = FStar.MST + +open FStar.Monotonic.Pure + +type tape = nat -> bool + +type repr + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req:M.pre_t state) + (ens:M.post_t state a) + = + (tape & nat) -> + M.MSTATE (a & nat) state rel req (fun s0 (x, _) s1 -> ens s0 x s1) + + +let return (a:Type) (x:a) (state:Type u#2) (rel:P.preorder state) + : repr a state rel (fun _ -> True) (fun s0 r s1 -> r == x /\ s0 == s1) + = + fun (_, n) -> x, n + +let bind + (a:Type) + (b:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:M.pre_t state) + (ens_f:M.post_t state a) + (req_g:a -> M.pre_t state) + (ens_g:a -> M.post_t state b) + (f:repr a state rel req_f ens_f) + (g:(x:a -> repr b state rel (req_g x) (ens_g x))) + : repr b state rel + (fun s0 -> req_f s0 /\ (forall x s1. ens_f s0 x s1 ==> (req_g x) s1)) + (fun s0 r s2 -> req_f s0 /\ (exists x s1. ens_f s0 x s1 /\ (req_g x) s1 /\ (ens_g x) s1 r s2)) + = + fun (t, n) -> + let x, n1 = f (t, n) in + (g x) (t, n1) + +let subcomp + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:M.pre_t state) + (ens_f:M.post_t state a) + (req_g:M.pre_t state) + (ens_g:M.post_t state a) + (f:repr a state rel req_f ens_f) + : Pure (repr a state rel req_g ens_g) + (requires + (forall s. req_g s ==> req_f s) /\ + (forall s0 x s1. (req_g s0 /\ ens_f s0 x s1) ==> ens_g s0 x s1)) + (ensures fun _ -> True) + = + f + +let if_then_else + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_then:M.pre_t state) + (ens_then:M.post_t state a) + (req_else:M.pre_t state) + (ens_else:M.post_t state a) + (f:repr a state rel req_then ens_then) + (g:repr a state rel req_else ens_else) + (p:bool) + : Type + = + repr a state rel + (fun s0 -> (p ==> req_then s0) /\ ((~ p) ==> req_else s0)) + (fun s0 x s1 -> (p ==> ens_then s0 x s1) /\ ((~ p) ==> ens_else s0 x s1)) + +[@@ primitive_extraction] +reflectable +effect { + NMSTATE (a:Type) + ([@@@ effect_param] state:Type u#2) + ([@@@ effect_param] rel:P.preorder state) + (req:M.pre_t state) + (ens:M.post_t state a) + with { repr; return; bind; subcomp; if_then_else } +} + +[@@ noextract_to "krml"] +let get (#state:Type u#2) (#rel:P.preorder state) () + : NMSTATE state state rel + (fun _ -> True) + (fun s0 s s1 -> s0 == s /\ s == s1) + = + NMSTATE?.reflect (fun (_, n) -> MST.get (), n) + +[@@ noextract_to "krml"] +let put (#state:Type u#2) (#rel:P.preorder state) (s:state) + : NMSTATE unit state rel + (fun s0 -> rel s0 s) + (fun _ _ s1 -> s1 == s) + = + NMSTATE?.reflect (fun (_, n) -> MST.put s, n) + + +[@@ noextract_to "krml"] +let witness (state:Type u#2) (rel:P.preorder state) (p:W.s_predicate state) + : NMSTATE (W.witnessed state rel p) state rel + (fun s0 -> p s0 /\ W.stable state rel p) + (fun s0 _ s1 -> s0 == s1) + = + NMSTATE?.reflect (fun (_, n) -> M.witness state rel p, n) + +[@@ noextract_to "krml"] +let recall (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + (w:W.witnessed state rel p) + : NMSTATE unit state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1 /\ p s1) + = + NMSTATE?.reflect (fun (_, n) -> M.recall state rel p w, n) + +[@@ noextract_to "krml"] +let sample (#state:Type u#2) (#rel:P.preorder state) () + : NMSTATE bool state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1) + = + NMSTATE?.reflect (fun (t, n) -> t n, n+1) + +let lift_pure_nmst + (a:Type) + (wp:pure_wp a) + (state:Type u#2) + (rel:P.preorder state) + (f:eqtype_as_type unit -> PURE a wp) + : repr a state rel + (fun s0 -> wp (fun _ -> True)) + (fun s0 x s1 -> wp (fun _ -> True) /\ (~ (wp (fun r -> r =!= x \/ s0 =!= s1)))) + = + fun (_, n) -> + elim_pure_wp_monotonicity wp; + let x = f () in + x, n + +sub_effect PURE ~> NMSTATE = lift_pure_nmst + + +(* + * A polymonadic bind between DIV and NMSTATE + * + * This is ultimately used when defining par and frame in Steel.Effect.fst + * par and frame try to compose reified Steel with Steel, since Steel is non total, its reification + * incurs a Div effect, and so, we need a way to compose Div and Steel + * + * To do so, we have to go all the way down and have a story for MST and NMST too + * + * This polymonadic bind gives us bare minimum to realize that + * It is quite imprecise, in that it doesn't say anything about the post of the Div computation + * That's because, the as_ensures combinator is not encoded for Div effect in the SMT, + * the way it is done for PURE and GHOST + * + * However, since the reification use case gives us Dv anyway, this is fine for now + *) +let bind_div_nmst (a:Type) (b:Type) + (wp:pure_wp a) + (state:Type u#2) (rel:P.preorder state) (req:a -> M.pre_t state) (ens:a -> M.post_t state b) + (f:eqtype_as_type unit -> DIV a wp) (g:(x:a -> repr b state rel (req x) (ens x))) +: repr b state rel + (fun s0 -> wp (fun _ -> True) /\ (forall x. req x s0)) + (fun s0 y s1 -> exists x. (ens x) s0 y s1) += elim_pure_wp_monotonicity wp; + fun s0 -> + let x = f () in + (g x) s0 + +polymonadic_bind (DIV, NMSTATE) |> NMSTATE = bind_div_nmst + + +let nmst_assume (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : NMSTATE unit state rel (fun _ -> True) (fun m0 _ m1 -> p /\ m0 == m1) + = + assume p + +let nmst_admit (#state:Type u#2) (#rel:P.preorder state) (#a:Type) () + : NMSTATE a state rel (fun _ -> True) (fun _ _ _ -> False) + = + admit () + +let nmst_assert (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : NMSTATE unit state rel (fun _ -> p) (fun m0 _ m1 -> p /\ m0 == m1) + = + assert p + +let lift_nmst_total_nmst (a:Type) (state:Type u#2) (rel:P.preorder state) + (req:M.pre_t state) (ens:M.post_t state a) + (f:NMSTTotal.repr a state rel req ens) +: repr a state rel req ens += fun (t, n) -> f (t, n) + +sub_effect NMSTTotal.NMSTATETOT ~> NMSTATE = lift_nmst_total_nmst diff --git a/stage0/ulib/experimental/FStar.NMSTTotal.fst b/stage0/ulib/experimental/FStar.NMSTTotal.fst new file mode 100644 index 00000000000..770911b170c --- /dev/null +++ b/stage0/ulib/experimental/FStar.NMSTTotal.fst @@ -0,0 +1,183 @@ +(* + Copyright 2020 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.NMSTTotal + +module W = FStar.Witnessed.Core +module P = FStar.Preorder + +module M = FStar.MSTTotal + +open FStar.Monotonic.Pure + +type tape = nat -> bool + +type repr + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req:M.pre_t state) + (ens:M.post_t state a) + = + (tape & nat) -> + M.MSTATETOT (a & nat) state rel req (fun s0 (x, _) s1 -> ens s0 x s1) + + +let return (a:Type) (x:a) (state:Type u#2) (rel:P.preorder state) + : repr a state rel (fun _ -> True) (fun s0 r s1 -> r == x /\ s0 == s1) + = + fun (_, n) -> x, n + +let bind + (a:Type) + (b:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:M.pre_t state) + (ens_f:M.post_t state a) + (req_g:a -> M.pre_t state) + (ens_g:a -> M.post_t state b) + (f:repr a state rel req_f ens_f) + (g:(x:a -> repr b state rel (req_g x) (ens_g x))) + : repr b state rel + (fun s0 -> req_f s0 /\ (forall x s1. ens_f s0 x s1 ==> (req_g x) s1)) + (fun s0 r s2 -> req_f s0 /\ (exists x s1. ens_f s0 x s1 /\ (req_g x) s1 /\ (ens_g x) s1 r s2)) + = + fun (t, n) -> + let x, n1 = f (t, n) in + (g x) (t, n1) + +let subcomp + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_f:M.pre_t state) + (ens_f:M.post_t state a) + (req_g:M.pre_t state) + (ens_g:M.post_t state a) + (f:repr a state rel req_f ens_f) + : Pure (repr a state rel req_g ens_g) + (requires + (forall s. req_g s ==> req_f s) /\ + (forall s0 x s1. (req_g s0 /\ ens_f s0 x s1) ==> ens_g s0 x s1)) + (ensures fun _ -> True) + = + f + +let if_then_else + (a:Type) + (state:Type u#2) + (rel:P.preorder state) + (req_then:M.pre_t state) + (ens_then:M.post_t state a) + (req_else:M.pre_t state) + (ens_else:M.post_t state a) + (f:repr a state rel req_then ens_then) + (g:repr a state rel req_else ens_else) + (p:bool) + : Type + = + repr a state rel + (fun s0 -> (p ==> req_then s0) /\ ((~ p) ==> req_else s0)) + (fun s0 x s1 -> (p ==> ens_then s0 x s1) /\ ((~ p) ==> ens_else s0 x s1)) + +[@@ primitive_extraction] +total +reflectable +effect { + NMSTATETOT (a:Type) + ([@@@ effect_param] state:Type u#2) + ([@@@ effect_param] rel:P.preorder state) + (req:M.pre_t state) + (ens:M.post_t state a) + with { repr; return; bind; subcomp; if_then_else } +} + +[@@ noextract_to "krml"] +let get (#state:Type u#2) (#rel:P.preorder state) () + : NMSTATETOT state state rel + (fun _ -> True) + (fun s0 s s1 -> s0 == s /\ s == s1) + = + NMSTATETOT?.reflect (fun (_, n) -> MSTTotal.get (), n) + +[@@ noextract_to "krml"] +let put (#state:Type u#2) (#rel:P.preorder state) (s:state) + : NMSTATETOT unit state rel + (fun s0 -> rel s0 s) + (fun _ _ s1 -> s1 == s) + = + NMSTATETOT?.reflect (fun (_, n) -> MSTTotal.put s, n) + + +[@@ noextract_to "krml"] +let witness (state:Type u#2) (rel:P.preorder state) (p:W.s_predicate state) + : NMSTATETOT (W.witnessed state rel p) state rel + (fun s0 -> p s0 /\ W.stable state rel p) + (fun s0 _ s1 -> s0 == s1) + = + NMSTATETOT?.reflect (fun (_, n) -> M.witness state rel p, n) + +[@@ noextract_to "krml"] +let recall (state:Type u#2) + (rel:P.preorder state) + (p:W.s_predicate state) + (w:W.witnessed state rel p) + : NMSTATETOT unit state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1 /\ p s1) + = + NMSTATETOT?.reflect (fun (_, n) -> M.recall state rel p w, n) + +[@@ noextract_to "krml"] +let sample (#state:Type u#2) (#rel:P.preorder state) () + : NMSTATETOT bool state rel + (fun _ -> True) + (fun s0 _ s1 -> s0 == s1) + = + NMSTATETOT?.reflect (fun (t, n) -> t n, n+1) + +let lift_pure_nmst + (a:Type) + (wp:pure_wp a) + (state:Type u#2) + (rel:P.preorder state) + (f:eqtype_as_type unit -> PURE a wp) + : repr a state rel + (fun s0 -> wp (fun _ -> True)) + (fun s0 x s1 -> wp (fun _ -> True) /\ (~ (wp (fun r -> r =!= x \/ s0 =!= s1)))) + = + fun (_, n) -> + elim_pure_wp_monotonicity wp; + let x = f () in + x, n + +sub_effect PURE ~> NMSTATETOT = lift_pure_nmst + +let nmst_tot_assume (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : NMSTATETOT unit state rel (fun _ -> True) (fun m0 _ m1 -> p /\ m0 == m1) + = + assume p + +let nmst_tot_admit (#state:Type u#2) (#rel:P.preorder state) (#a:Type) () + : NMSTATETOT a state rel (fun _ -> True) (fun _ _ _ -> False) + = + admit () + +let nmst_tot_assert (#state:Type u#2) (#rel:P.preorder state) (p:Type) + : NMSTATETOT unit state rel (fun _ -> p) (fun m0 _ m1 -> p /\ m0 == m1) + = + assert p diff --git a/stage0/ulib/experimental/FStar.OrdMap.fst b/stage0/ulib/experimental/FStar.OrdMap.fst new file mode 100644 index 00000000000..78857934fcd --- /dev/null +++ b/stage0/ulib/experimental/FStar.OrdMap.fst @@ -0,0 +1,146 @@ +(* + 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.OrdMap + +open FStar.OrdSet +open FStar.FunctionalExtensionality +module F = FStar.FunctionalExtensionality + +let map_t (k:eqtype) (v:Type) (f:cmp k) (d:ordset k f) = + g:F.restricted_t k (fun _ -> option v){forall x. mem x d == Some? (g x)} + +noeq +type ordmap (k:eqtype) (v:Type) (f:cmp k) = + | Mk_map: d:ordset k f -> m:map_t k v f d -> ordmap k v f + +let empty (#k:eqtype) (#v:Type) #f = + let d = OrdSet.empty in + let g = F.on_dom k (fun x -> None) in + Mk_map d g + +let const_on (#k:eqtype) (#v:Type) #f d x = + let g = F.on_dom k (fun y -> if mem y d then Some x else None) in + Mk_map d g + +let select (#k:eqtype) (#v:Type) #f x m = (Mk_map?.m m) x + +let insert (#a:eqtype) (#f:cmp a) (x:a) (s:ordset a f) = union #a #f (singleton #a #f x) s + +let update (#k:eqtype) (#v:Type) #f x y m = + let s' = insert x (Mk_map?.d m) in + let g' = F.on_dom k (fun (x':k) -> if x' = x then Some y else (Mk_map?.m m) x') in + Mk_map s' g' + +let contains (#k:eqtype) (#v:Type) #f x m = mem x (Mk_map?.d m) + +let dom (#k:eqtype) (#v:Type) #f m = (Mk_map?.d m) + +let remove (#k:eqtype) (#v:Type) #f x m = + let s' = remove x (Mk_map?.d m) in + let g' = F.on_dom k (fun x' -> if x' = x then None else (Mk_map?.m m) x') in + Mk_map s' g' + +let choose (#k:eqtype) (#v:Type) #f m = + match OrdSet.choose (Mk_map?.d m) with + | None -> None + | Some x -> Some (x, Some?.v ((Mk_map?.m m) x)) + +let size (#k:eqtype) (#v:Type) #f m = OrdSet.size (Mk_map?.d m) + +let equal (#k:eqtype) (#v:Type) (#f:cmp k) (m1:ordmap k v f) (m2:ordmap k v f) = + forall x. select #k #v #f x m1 == select #k #v #f x m2 + +let eq_intro (#k:eqtype) (#v:Type) #f m1 m2 = () + +let eq_lemma (#k:eqtype) (#v:Type) #f m1 m2 = + let Mk_map s1 g1 = m1 in + let Mk_map s2 g2 = m2 in + let _ = cut (feq g1 g2) in + let _ = OrdSet.eq_lemma s1 s2 in + () + +let upd_order (#k:eqtype) (#v:Type) #f x y x' y' m = + let (Mk_map s1 g1) = update #k #v #f x' y' (update #k #v #f x y m) in + let (Mk_map s2 g2) = update #k #v #f x y (update #k #v #f x' y' m) in + cut (feq g1 g2) + +let upd_same_k (#k:eqtype) (#v:Type) #f x y y' m = + let (Mk_map s1 g1) = update #k #v #f x y m in + let (Mk_map s2 g2) = update #k #v #f x y (update #k #v #f x y' m) in + cut (feq g1 g2) + +let sel_upd1 (#k:eqtype) (#v:Type) #f x y m = () + +let sel_upd2 (#k:eqtype) (#v:Type) #f x y x' m = () + +let sel_empty (#k:eqtype) (#v:Type) #f x = () + +let sel_contains (#k:eqtype) (#v:Type) #f x m = () + +let contains_upd1 (#k:eqtype) (#v:Type) #f x y x' m = () + +let contains_upd2 (#k:eqtype) (#v:Type) #f x y x' m = () + +let contains_empty (#k:eqtype) (#v:Type) #f x = () + +let contains_remove (#k:eqtype) (#v:Type) #f x y m = () + +let eq_remove (#k:eqtype) (#v:Type) #f x m = + let (Mk_map s g) = m in + let m' = remove #k #v #f x m in + let (Mk_map s' g') = m' in + let _ = cut (feq g g') in + () + +let choose_empty (#k:eqtype) (#v:Type) #f = () + +private val dom_empty_helper: #k:eqtype -> #v:Type -> #f:cmp k -> m:ordmap k v f + -> Lemma (requires (True)) + (ensures ((dom #k #v #f m = OrdSet.empty) ==> + (m == empty #k #v #f))) +let dom_empty_helper (#k:eqtype) (#v:Type) #f m = + let (Mk_map s g) = m in + if (not (s = OrdSet.empty)) then () + else + let (Mk_map s' g') = empty #k #v #f in + cut (feq g g') + +let choose_m (#k:eqtype) (#v:Type) #f m = + dom_empty_helper #k #v #f m; + let c = choose #k #v #f m in + match c with + | None -> () + | Some (x, y) -> + let m' = remove #k #v #f x m in + let (Mk_map s' g') = m' in + let (Mk_map s'' g'') = update #k #v #f x y m' in + cut (feq (Mk_map?.m m) g'') + +let size_empty (#k:eqtype) (#v:Type) #f = () + +let size_remove (#k:eqtype) (#v:Type) #f y m = () + +let dom_lemma (#k:eqtype) (#v:Type) #f x m = () + +let contains_const_on (#k:eqtype) (#v:Type) #f d x y = () + +let select_const_on (#k:eqtype) (#v:Type) #f d x y = () + +let sel_rem1 (#k:eqtype) (#v:Type) #f x m = () + +let sel_rem2 (#k:eqtype) (#v:Type) #f x x' m = () + +let rem_upd (#k:eqtype) (#v:Type) #f x y x' m = () diff --git a/stage0/ulib/experimental/FStar.OrdMap.fsti b/stage0/ulib/experimental/FStar.OrdMap.fsti new file mode 100644 index 00000000000..445cf9b95f8 --- /dev/null +++ b/stage0/ulib/experimental/FStar.OrdMap.fsti @@ -0,0 +1,183 @@ +(* + 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.OrdMap + +open FStar.OrdSet + +(* TODO (KM) : move me this should go in a common file on relations *) +type total_order (a:eqtype) (f: (a -> a -> Tot bool)) = + (forall a1 a2. (f a1 a2 /\ f a2 a1) ==> a1 = a2) (* anti-symmetry *) + /\ (forall a1 a2 a3. f a1 a2 /\ f a2 a3 ==> f a1 a3) (* transitivity *) + /\ (forall a1 a2. f a1 a2 \/ f a2 a1) (* totality *) + +let cmp (a:eqtype) = f:(a -> a -> Tot bool){total_order a f} + +val ordmap (k:eqtype) (v:Type u#a) (f:cmp k) : Type u#a + +val empty : #key:eqtype -> #value:Type -> #f:cmp key -> Tot (ordmap key value f) +val const_on: #key:eqtype -> #value:Type -> #f:cmp key -> d:ordset key f -> x:value -> Tot (ordmap key value f) +val select : #key:eqtype -> #value:Type -> #f:cmp key -> k:key + -> m:ordmap key value f -> Tot (option value) +val update : #key:eqtype -> #value:Type -> #f:cmp key -> key -> value + -> m:ordmap key value f -> Tot (ordmap key value f) +val contains: #key:eqtype -> #value:Type -> #f:cmp key -> key -> ordmap key value f + -> Tot bool +val dom : #key:eqtype -> #value:Type -> #f:cmp key -> m:ordmap key value f -> + Tot (ordset key f) + +val remove : #key:eqtype -> #value:Type -> #f:cmp key -> key + -> ordmap key value f -> Tot (ordmap key value f) +val choose : #key:eqtype -> #value:Type -> #f:cmp key -> ordmap key value f + -> Tot (option (key & value)) + +val size : #key:eqtype -> #value:Type -> #f:cmp key -> ordmap key value f + -> Tot nat + +val equal (#k:eqtype) (#v:Type) (#f:cmp k) (m1:ordmap k v f) (m2:ordmap k v f) : prop + +val eq_intro: #k:eqtype -> #v:Type -> #f:cmp k -> m1:ordmap k v f -> m2:ordmap k v f + -> Lemma (requires (forall x. select #k #v #f x m1 == select #k #v #f x m2)) + (ensures (equal m1 m2)) + [SMTPat (equal m1 m2)] + +val eq_lemma: #k:eqtype -> #v:Type -> #f:cmp k -> m1:ordmap k v f -> m2:ordmap k v f + -> Lemma (requires (equal m1 m2)) + (ensures (m1 == m2)) + [SMTPat (equal m1 m2)] + +val upd_order: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> x':k -> y':v + -> m:ordmap k v f + -> Lemma (requires (x =!= x')) + (ensures (equal (update #k #v #f x y (update #k #v #f x' y' m)) + (update #k #v #f x' y' (update #k #v #f x y m)))) + [SMTPat (update #k #v #f x y (update #k #v #f x' y' m))] //NS:This pattern is too aggresive; it will fire for any pair of updates + +val upd_same_k: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> y':v + -> m:ordmap k v f + -> Lemma (requires (True)) + (ensures (equal (update #k #v #f x y (update #k #v #f x y' m)) + (update #k #v #f x y m))) + [SMTPat (update #k #v #f x y (update #k #v #f x y' m))] //NS:This pattern is too aggresive; it will fire for any pair of updates + +val sel_upd1: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> m:ordmap k v f + -> Lemma (requires True) (ensures select #k #v #f x + (update #k #v #f x y m) == Some y) + [SMTPat (select #k #v #f x (update #k #v #f x y m))] + +val sel_upd2: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> x':k -> m:ordmap k v f + -> Lemma (requires True) + (ensures (x =!= x' ==> (select #k #v #f x' (update #k #v #f x y m) + == select #k #v #f x' m))) + [SMTPat (select #k #v #f x' (update #k #v #f x y m))] + +val sel_empty: #k:eqtype -> #v:Type -> #f:cmp k -> x:k + -> Lemma (requires True) + (ensures (select #k #v #f x (empty #k #v #f) == None)) + [SMTPat (select #k #v #f x (empty #k #v #f))] + +val sel_contains: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> m:ordmap k v f + -> Lemma (requires (True)) + (ensures (contains #k #v #f x m = Some? (select #k #v #f x m))) + [SMTPat (select #k #v #f x m); SMTPat (contains #k #v #f x m)] + +val contains_upd1: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> x':k + -> m:ordmap k v f + -> Lemma (requires True) + (ensures (contains #k #v #f x' (update #k #v #f x y m) = + (x = x' || contains #k #v #f x' m))) + [SMTPat (contains #k #v #f x' (update #k #v #f x y m))] + +val contains_upd2: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> x':k + -> m:ordmap k v f + -> Lemma (requires True) + (ensures (x =!= x' ==> (contains #k #v #f x' (update #k #v #f x y m) + = contains #k #v #f x' m))) + [SMTPat (contains #k #v #f x' (update #k #v #f x y m))] + +val contains_empty: #k:eqtype -> #v:Type -> #f:cmp k -> x:k + -> Lemma (requires True) + (ensures (not (contains #k #v #f x (empty #k #v #f)))) + [SMTPat (contains #k #v #f x (empty #k #v #f))] + +val contains_remove: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:k -> m:ordmap k v f + -> Lemma (requires True) + (ensures (contains #k #v #f x (remove #k #v #f y m) = + (contains #k #v #f x m && not (x = y)))) + [SMTPat (contains #k #v #f x (remove #k #v #f y m))] + +val eq_remove: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> m:ordmap k v f + -> Lemma (requires (not (contains #k #v #f x m))) + (ensures (equal m (remove #k #v #f x m))) + [SMTPat (remove #k #v #f x m)] + +val choose_empty: #k:eqtype -> #v:Type -> #f:cmp k + -> Lemma (requires True) (ensures (None? (choose #k #v #f + (empty #k #v #f)))) + [SMTPat (choose #k #v #f (empty #k #v #f))] + +val choose_m: #k:eqtype -> #v:Type -> #f:cmp k -> m:ordmap k v f + -> Lemma (requires (~ (equal m (empty #k #v #f)))) + (ensures (Some? (choose #k #v #f m) /\ + (select #k #v #f (fst (Some?.v (choose #k #v #f m))) m == + Some (snd (Some?.v (choose #k #v #f m)))) /\ + (equal m (update #k #v #f (fst (Some?.v (choose #k #v #f m))) + (snd (Some?.v (choose #k #v #f m))) + (remove #k #v #f (fst (Some?.v (choose #k #v #f m))) m))))) + [SMTPat (choose #k #v #f m)] + +val size_empty: #k:eqtype -> #v:Type -> #f:cmp k + -> Lemma (requires True) + (ensures (size #k #v #f (empty #k #v #f) = 0)) + [SMTPat (size #k #v #f (empty #k #v #f))] + +val size_remove: #k:eqtype -> #v:Type -> #f:cmp k -> y:k -> m:ordmap k v f + -> Lemma (requires (contains #k #v #f y m)) + (ensures (size #k #v #f m = size #k #v #f (remove #k #v #f y m) + 1)) + [SMTPat (size #k #v #f (remove #k #v #f y m))] + +val dom_lemma: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> m:ordmap k v f + -> Lemma (requires True) + (ensures (contains #k #v #f x m <==> + OrdSet.mem #k #f x (dom #k #v #f m))) + [SMTPat (mem #k #f x (dom #k #v #f m))] + +val contains_const_on: #k:eqtype -> #v:Type -> #f:cmp k -> d:ordset k f -> x:v -> y:k + -> Lemma (requires (True)) + (ensures (mem y d = contains y (const_on d x))) + //(contains y (const_on d x) ==> Some?.v (select p w) = x))) + [SMTPat (contains #k #v #f y (const_on #k #v #f d x))] + +val select_const_on: #k:eqtype -> #v:Type -> #f:cmp k -> d:ordset k f -> x:v -> y:k + -> Lemma (requires True) + (ensures (mem y d ==> (contains y (const_on d x) /\ Some?.v (select y (const_on d x)) == x))) + [SMTPat (select #k #v #f y (const_on #k #v #f d x))] + +val sel_rem1: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> m:ordmap k v f + -> Lemma (requires True) (ensures select #k #v #f x + (remove #k #v #f x m) == None) + [SMTPat (select #k #v #f x (remove #k #v #f x m))] + +val sel_rem2: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> x':k -> m:ordmap k v f + -> Lemma (requires True) (ensures (x =!= x' ==> + select #k #v #f x' + (remove #k #v #f x m) == select #k #v #f x' m)) + [SMTPat (select #k #v #f x' (remove #k #v #f x m))] + +val rem_upd: #k:eqtype -> #v:Type -> #f:cmp k -> x:k -> y:v -> x':k -> m:ordmap k v f + -> Lemma (requires (True)) (ensures (x =!= x' ==> + equal (update #k #v #f x y (remove #k #v #f x' m)) + (remove #k #v #f x' (update #k #v #f x y m)))) + [SMTPat (update #k #v #f x y (remove #k #v #f x' m))] diff --git a/stage0/ulib/experimental/FStar.OrdMapProps.fst b/stage0/ulib/experimental/FStar.OrdMapProps.fst new file mode 100644 index 00000000000..87c998314a6 --- /dev/null +++ b/stage0/ulib/experimental/FStar.OrdMapProps.fst @@ -0,0 +1,26 @@ +(* + 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.OrdMapProps + +open FStar.OrdMap + +val fold: #k:eqtype -> #v:Type -> #a:Type -> #f:cmp k -> (k -> v -> a -> Tot a) + -> m:ordmap k v f -> a -> Tot a (decreases (size m)) +let rec fold #k #v #t #f g m a = + if size m = 0 then a + else + let Some (k, v) = choose m in + fold g (remove k m) (g k v a) diff --git a/stage0/ulib/experimental/FStar.OrdSet.fst b/stage0/ulib/experimental/FStar.OrdSet.fst new file mode 100644 index 00000000000..5a3bd3069ac --- /dev/null +++ b/stage0/ulib/experimental/FStar.OrdSet.fst @@ -0,0 +1,773 @@ +(* + 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.OrdSet + +[@@do_not_unrefine] +type ordset a f = l:(list a){sorted f l} + +let hasEq_ordset _ _ = () + +let rec simple_induction #t #f (p: ordset t f -> Type0) (x: ordset t f) + : Lemma (requires p [] /\ (forall (l: ordset t f{Cons? l}). p (Cons?.tl l) ==> p l)) + (ensures p x) = match x with + | [] -> () + | ph::pt -> simple_induction p pt; + assert (p (Cons?.tl (ph::pt))) + +let rec base_induction #t #f (p: ordset t f -> Type0) (x: ordset t f) + : Lemma (requires (forall (l: ordset t f{List.Tot.Base.length l < 2}). p l) + /\ (forall (l: ordset t f{Cons? l}). p (Cons?.tl l) ==> p l)) + (ensures p x) + (decreases List.Tot.Base.length x) = + if List.Tot.Base.length x < 2 then () + else match x with + | ph::pt -> base_induction p pt; + assert (p (Cons?.tl (ph::pt))) + +let empty #_ #_ = [] + +let tail #a #f s = Cons?.tl s <: ordset a f +let head #_ #_ s = Cons?.hd s + +let mem #_ #_ x s = List.Tot.mem x s + +(* In case snoc-based List implementation is optimized, we use library ones, + but we additionally supply them with relevant postconditions that come + from s being an ordset. *) +let rec last_direct #a #f (s: ordset a f{s <> empty}) + : (x:a{mem x s /\ (forall (z:a{mem z s}). f z x)}) + = match s with + | [x] -> x + | h::g::t -> last_direct (tail s) + +let last_lib #a #f (s: ordset a f{s <> empty}) + = snd (List.Tot.Base.unsnoc s) + +let last_eq #a #f (s: ordset a f{s <> empty}) + : Lemma (last_direct s = last_lib s) = simple_induction + (fun p -> if p<>[] then last_direct #a #f p = last_lib p else true) s + +let last #a #f s = last_eq s; last_lib s + +let rec liat_direct #a #f (s: ordset a f{s <> empty}) : (l:ordset a f{ + (forall x. mem x l = (mem x s && (x <> last s))) /\ + (if tail s <> empty then head s = head l else true) + }) = + match s with + | [x] -> [] + | h::g::t -> h::(liat_direct #a #f (g::t)) + +let liat_lib #a #f (s: ordset a f{s <> empty}) = fst (List.Tot.Base.unsnoc s) + +let liat_eq #a #f (s:ordset a f {s<>empty}) + : Lemma (liat_direct s = liat_lib s) = simple_induction + (fun p -> if p<>[] then liat_direct p = liat_lib p else true) s + +let liat #a #f s = liat_eq s; liat_lib s + +let unsnoc #a #f s = + liat_eq s; + last_eq s; + let l = List.Tot.Base.unsnoc s in + (fst l, snd l) + +let as_list (#a:eqtype) (#f:cmp a) (s:ordset a f) : Tot (l:list a{sorted f l}) = s + +val insert': #a:eqtype -> #f:cmp a -> x:a -> s:ordset a f + -> Tot (l:(ordset a f){let s = as_list s in let l = as_list l in + (Cons? l /\ + (head #a #f l = x \/ + (Cons? s /\ head #a #f l = head #a #f s)))}) +let rec insert' #_ #f x s = + match s with + | [] -> [x] + | hd::tl -> + if x = hd then hd::tl + else if f x hd then x::hd::tl + else hd::(insert' #_ #f x tl) + +let rec distinct' #a f l : Tot (ordset a f) = + match l with + | [] -> [] + | x::t -> insert' x (distinct' f t) + +let rec insert_mem (#a:eqtype) #f (x:a) (s:ordset a f) + : Lemma (mem x (insert' x s)) + = if s<>empty then insert_mem #a #f x (tail s) + +let insert_sub (#a:eqtype) #f x (s:ordset a f) test + : Lemma (mem test (insert' x s) = (mem test s || test = x)) = + simple_induction (fun p -> mem test (insert' x p) = (mem test p || test = x)) s + +let rec distinct_props #a (f:cmp a) (l: list a) + : Lemma (forall x. (mem x (distinct' f l) = List.Tot.Base.mem x l)) = + match l with + | [] -> () + | x::t -> distinct_props f t; + Classical.forall_intro (insert_sub x (distinct' f t)) + +let distinct #a f l = distinct_props f l; distinct' f l + +let rec union #_ #_ s1 s2 = match s1 with + | [] -> s2 + | hd::tl -> union tl (insert' hd s2) + +val remove': #a:eqtype -> #f:cmp a -> x:a -> s:ordset a f + -> Tot (l:(ordset a f){ ((Nil? s ==> Nil? l) /\ + (Cons? s ==> head s = x ==> l = tail s) /\ + (Cons? s ==> head s =!= x ==> (Cons? l /\ head l = Cons?.hd s)))}) + +let rec remove' #a #f x s = match s with + | [] -> [] + | hd::(tl: ordset a f) -> + if x = hd then tl + else hd::(remove' x tl) + +let size' (#a:eqtype) (#f:cmp a) (s:ordset a f) = List.Tot.length s + +let liat_length #a #f (s:ordset a f{s<>empty}) : Lemma (size' (liat s) = ((size' s) - 1)) + = simple_induction (fun p -> if p<>empty then size' (liat p) = ((size' p)-1) else true) s + +let rec not_mem_aux (#a:eqtype) (#f:cmp a) (x:a) (s:ordset a f) + : Lemma (requires (size' s > 0) && (head s <> x) && (f x (head s))) + (ensures not (mem x s)) = + if tail s <> [] then not_mem_aux x (tail s) + +let rec subset' #a #f (s1 s2: ordset a f) = match s1, s2 with + | [], _ -> true + | hd::tl, hd'::tl' -> if f hd hd' && hd = hd' then subset' #a #f tl tl' + else if f hd hd' && not (hd = hd') then false + else subset' #a #f s1 tl' + | _, _ -> false + +let tail_is_subset #a #f (s:ordset a f{size' s > 0}) + : Lemma (Cons?.tl s `subset'` s) = + simple_induction (fun (s:ordset a f) -> size' s=0 || subset' (Cons?.tl s) s) s + +let self_is_subset #a #f (s:ordset a f) + : Lemma (subset' s s) = simple_induction (fun (s:ordset a f) -> subset' s s) s + +(* + returns a pair of (fst z) = (everything from s that goes after x) + and (snd z) = (true if x was found in s, false otherwise) +*) +let rec remove_until_greater_than #a #f x (s: ordset a f) + : z:(ordset a f & bool) { (size' (fst z) <= size' s) && + (not(mem x (fst z))) && + (subset' (fst z) s) && + (snd z = mem x s) && + (match (fst z) with + | [] -> true + | h::t -> (sorted f (x::(fst z)))) + } = + match s with + | [] -> ([], false) + | h::(t:ordset a f) -> if h=x then begin + if size' t > 0 then not_mem_aux x t; + tail_is_subset s; + (t, true) + end + else if f x h then begin + not_mem_aux x s; + self_is_subset s; + (s, false) + end + else remove_until_greater_than x t + +let rec remove_until_gt_prop #a #f (s: ordset a f) (x:a) (test:a) + : Lemma (f test x ==> not (mem test (fst (remove_until_greater_than x s)))) = + match s with + | [] -> () + | h::(t:ordset a f) -> + let aux (test:a) : Lemma (requires f test x && h<>test) + (ensures not (mem test (fst (remove_until_greater_than x s)))) = + remove_until_gt_prop #a #f t x test + in Classical.move_requires aux test; + if h <> x then remove_until_gt_prop t x test + +let rec remove_until_gt_mem #a #f (s: ordset a f) (x:a) (test:a) + : Lemma (mem test (fst (remove_until_greater_than x s)) = ( + mem test s && + f x test && + (x<>test) + )) + = if size' s > 0 then remove_until_gt_mem (tail s) x test + +let mem_implies_f #a #f (s: ordset a f) (x:a) + : Lemma (requires mem x s) (ensures f (Cons?.hd s) x) + = simple_induction (fun s -> mem x s ==> f (head s) x) s + +(* + Smart intersect is the set intersect that accounts for the ordering of both lists, + eliminating some checks by trimming leading elements of one of the input lists + that are guaranteeed to not belong to the other list. + E.g. smart_intersect [1;2;3] [3;4;5] can safely trim [1;2;3] to just [3] + upon inspecting the head of [3;4;5]. +*) +let rec smart_intersect #a #f (s1 s2: ordset a f) : Tot (z:ordset a f{ + (forall x. mem x z = (mem x s1 && mem x s2)) /\ + (forall (x:a{sorted f (x::s1)}). sorted f (x::z)) /\ + (forall (x:a{sorted f (x::s2)}). sorted f (x::z)) + }) (decreases size' s1 + size' s2) = + match s1 with + | [] -> [] + | h1::(t1:ordset a f) -> match s2 with + | [] -> [] + | h2::(t2:ordset a f) -> + if h1=h2 then h1::smart_intersect t1 t2 + else begin + if f h1 h2 then ( + let skip1, found = remove_until_greater_than #a #f h2 t1 in + let subresult : ordset a f = smart_intersect skip1 t2 in + Classical.forall_intro (remove_until_gt_mem t1 h2); + Classical.forall_intro (Classical.move_requires (mem_implies_f s2)); + if found then h2::subresult else subresult + ) else ( + let skip2, found = remove_until_greater_than #a #f h1 t2 in + let subresult = smart_intersect #a #f t1 skip2 in + Classical.forall_intro (remove_until_gt_mem t2 h1); + Classical.forall_intro (Classical.move_requires (mem_implies_f s1)); + if found then h1::subresult + else subresult + ) + end + +let intersect #a #f s1 s2 = smart_intersect s1 s2 + +let choose #a #f s = match s with | [] -> None | x::_ -> Some x + +let remove #a #f x s = remove' #_ #f x s + +let size #a #f s = size' s + +let subset #a #f s1 s2 = subset' s1 s2 + +let singleton (#a:eqtype) #f x = [x] + +let mem_of_empty #a #f (s: ordset a f{size s = 0}) (x: a) + : Lemma (not (mem x s)) = () + +let mem_of_tail #a #f (s: ordset a f{size s > 0}) (x:a) + : Lemma ((mem #a #f x (Cons?.tl s) || (x = Cons?.hd s)) = mem x s) = () + +let not_mem_of_tail #a #f (s: ordset a f{size s > 0}) (x:a) + : Lemma (not (mem x (tail s)) = not (mem x s) || x = head s) + = simple_induction (fun s -> mem x s ==> f (head s) x) s + +let rec set_props #a #f (s:ordset a f) + : Lemma (if size s > 0 then ((forall x. mem x (tail s) ==> f (head s) x /\ head s <> x)) + else forall x. not (mem x s)) + = if (size s > 1) then set_props (tail s) + +let rec same_members_means_eq #a #f (s1 s2: ordset a f) + : Lemma (requires forall x. mem x s1 = mem x s2) (ensures s1 == s2) = + match s1 with + | [] -> if size s2>0 then assert (mem (head s2) s2) + | h1::t1 -> set_props s1; + set_props s2; + match s2 with + | h2::t2 -> same_members_means_eq #a #f t1 t2 + +let intersect_is_symmetric #a #f (s1 s2: ordset a f) + : Lemma (intersect s1 s2 = intersect s2 s1) + = same_members_means_eq (intersect s1 s2) (intersect s2 s1) + +let remove_until_gt_exclusion #a #f (s:ordset a f) (x:a) (test:a) + : Lemma (requires f x test && (not (mem test (fst (remove_until_greater_than x s))))) + (ensures x=test || not (mem test s)) = + remove_until_gt_mem s x test + +let rec mem_implies_subset #a #f (s1 s2: ordset a f) + : Lemma ((forall x. mem x s1 ==> mem x s2) ==> subset s1 s2) + = match s1 with + | [] -> () + | h1::(t1:ordset a f) -> set_props s1; + set_props s2; + mem_implies_subset t1 s2; + if (size s2 > 0 && f (head s2) h1) + then mem_implies_subset s1 (tail s2) + +let rec subset_implies_mem #a #f (p q: ordset a f) + : Lemma (subset p q ==> (forall x. mem x p ==> mem x q)) = + if Cons? p && Cons? q then + if head p = head q + then subset_implies_mem (tail p) (tail q) + else subset_implies_mem p (tail q) + +let subset_transitivity #a #f (p q r: ordset a f) + : Lemma (requires p `subset` q /\ q `subset` r) + (ensures p `subset` r) = + subset_implies_mem p q; + subset_implies_mem q r; + mem_implies_subset p r + +let head_is_never_in_tail #a #f (s:ordset a f{size s > 0}) + : Lemma (not (mem (head s) (tail s))) = set_props s + +let rec smart_minus #a #f (p q: ordset a f) + : z:ordset a f { ( forall x. mem x z = (mem x p && (not (mem x q)))) /\ + (match p,z with + | ph::pt, zh::zt -> f ph zh + | ph::pt, [] -> subset p q + | [], _ -> z = []) + } = + match p with + | [] -> [] + | ph::(pt:ordset a f) -> match q with + | [] -> p + | qh::(qt:ordset a f) -> + let q_after_ph, found = remove_until_greater_than ph q in + Classical.forall_intro (remove_until_gt_mem q ph); + Classical.forall_intro (Classical.move_requires (mem_implies_f p)); + if found then begin + let result = smart_minus pt q_after_ph in + set_props p; + if result = [] then begin + subset_transitivity pt q_after_ph q; + subset_implies_mem pt q; + mem_implies_subset p q + end; + result + end + else ph::(smart_minus pt q_after_ph) + +let empty_minus_means_subset #a #f (p q: ordset a f) + : Lemma (requires size (smart_minus p q) = 0) (ensures subset p q) = () + +// a little test versus integers :) +let ncmp (x y:nat) = x <= y +let _ = assert (smart_minus #nat #ncmp [1;2;3;4] [3] == [1;2;4]) + +let minus #a #f s1 s2 = smart_minus s1 s2 + +let strict_subset #a #f s1 s2 = s1 <> s2 && subset s1 s2 + +let eq_lemma #a #f s1 s2 = same_members_means_eq s1 s2 + +let mem_empty #_ #_ _ = () + +let mem_singleton #_ #_ _ _ = () + +let mem_insert (#a:eqtype) #f (el:a) (s: ordset a f) (x:a) + : Lemma (mem x (insert' el s) = (x=el || mem x s)) = + simple_induction (fun p -> mem x (insert' el p) = (x=el || mem x p)) s + +let rec mem_union #_ #_ s1 s2 x = + if size s1 > 0 then + match s1 with | hd::tl -> + mem_union tl (insert' hd s2) x; + mem_insert hd s2 x + +let mem_intersect #_ #f s1 s2 x = () + +let mem_subset (#a:eqtype) #f s1 s2 = + subset_implies_mem s1 s2; + mem_implies_subset s1 s2 + +let choose_empty (#a:eqtype) #f = () + +let choose_s (#a:eqtype) #f s = () + +let rec mem_remove (#a:eqtype) #f x y s = + if size s > 0 then (set_props s; mem_remove x y (tail s)) + +let eq_remove (#a:eqtype) #f x s + = simple_induction (fun p -> not (mem x p) ==> p = remove x p) s + +let size_empty (#a:eqtype) #f s = () + +let rec size_remove (#a:eqtype) #f x s = match s with + | hd::tl -> if x<>hd then size_remove #_ #f x tl + +let size_singleton (#a:eqtype) #f x = () + +let rec subset_size (#a:eqtype) #f x y = match x, y with + | [], _ -> () + | hd::tl, hd'::(tl':ordset a f) -> + if f hd hd' && hd = hd' then subset_size tl tl' + else subset_size x tl' + +let insert_when_already_exists (#a:eqtype) #f (s: ordset a f) (x:a) + : Lemma (requires mem x s) + (ensures insert' x s == s) + = simple_induction (fun p -> mem x p <==> insert' x p = p) s + +let size_insert (#a:eqtype) #f (s: ordset a f) (x:a) + : Lemma (size (insert' x s) >= size s) + = simple_induction (fun p -> size (insert' x p) >= size p) s + +let rec precise_size_insert (#a:eqtype) #f (s: ordset a f) (x:a) + : Lemma (size (insert' x s) = (if mem x s then size s else (size s) + 1)) + = if size s > 0 then precise_size_insert (tail s) x + +let rec size_of_union_left (#a:eqtype) #f (s1 s2: ordset a f) + : Lemma (ensures size (union s1 s2) >= size s2) = + match s1 with + | [] -> () + | hd::tl -> size_of_union_left tl (insert' hd s2); + precise_size_insert s2 hd + +let size_of_union_right (#a:eqtype) #f (s1 s2: ordset a f) + : Lemma (ensures size (union s1 s2) >= size s1) = + eq_lemma (union s1 s2) (union s2 s1); + size_of_union_left s2 s1 + +let size_union #a #f s1 s2 = + size_of_union_left s1 s2; + size_of_union_right s1 s2 + +let fold #a #acc #f g init s = List.Tot.fold_left g init s + +private +let rec map_internal (#a #b:eqtype) (#fa:cmp a) (#fb:cmp b) (g:a -> b) (sa:ordset a fa) + : Pure (ordset b fb) + (requires (forall x y. (x `fa` y ==> g x `fb` g y) /\ (x = y <==> g x = g y))) + (ensures (fun sb -> Cons? sb ==> Cons? sa /\ Cons?.hd sb == g (Cons?.hd sa))) += match sa with + | [] -> [] + | x :: xs -> + let y = g x in + let ys = map_internal #a #b #fa #fb g xs in + if not (Cons? ys) || Cons?.hd ys <> y then + y :: ys + else ys + +let rec map_size (#a #b:eqtype) (#fa:cmp a) (#fb: cmp b) (g: a->b) (sa:ordset a fa) + : Lemma (requires (forall x y. (x `fa` y ==> g x `fb` g y) /\ (x = y <==> g x = g y))) + (ensures size (map_internal #a #b #fa #fb g sa) <= size sa) + = if size sa > 0 then map_size #a #b #fa #fb g (tail sa) + +let rec map_as_list (#a #b:eqtype) (#fa:cmp a) (#fb: cmp b) (g: a->b) (sa:ordset a fa) + : Lemma (requires (forall x y. (x `fa` y ==> g x `fb` g y) /\ (x = y <==> g x = g y))) + (ensures as_list (map_internal #a #b #fa #fb g sa) == FStar.List.Tot.map g (as_list sa)) = + match sa with + | [] -> () + | h::(t:ordset a fa) -> map_as_list #a #b #fa #fb g t + +let map #a #b #fa #fb g sa = + map_size #a #b #fa #fb g sa; + map_as_list #a #b #fa #fb g sa; + map_internal #a #b #fa #fb g sa + +let lemma_strict_subset_size #a #f s1 s2 = + let eql (p q: ordset a f) + : Lemma (requires forall x. mem x p = mem x q) + (ensures p=q) + = eq_lemma p q in Classical.move_requires_2 eql s1 s2; + eliminate exists x. mem x s2 && not (mem x s1) + returns size s2 > size s1 with _. + begin + Classical.forall_intro (mem_insert x s1); + precise_size_insert s1 x; + assert (subset (insert' x s1) s2) + end + +let lemma_minus_mem #a #f s1 s2 x = () + +let rec strict_subset_implies_diff_element #a #f (s1 s2: ordset a f) + : Lemma (requires strict_subset s1 s2) + (ensures exists x. (mem x s2 /\ not (mem x s1))) = + match s1,s2 with + | [], h::t -> () + | h1::t1, h2::t2 -> Classical.move_requires (mem_implies_f s1) h2; + if h1=h2 then begin + strict_subset_implies_diff_element #a #f t1 t2; + set_props s2 + end + +let diff_element_implies_strict_subset #a #f (s1 s2: ordset a f) + : Lemma (requires subset s1 s2 /\ (exists x. (mem x s2 /\ not (mem x s1)))) + (ensures strict_subset s1 s2) = () + +let lemma_strict_subset_exists_diff #a #f (s1 s2: ordset a f) + : Lemma (requires subset s1 s2) + (ensures (strict_subset s1 s2) <==> (exists x. (mem x s2 /\ not (mem x s1)))) + = Classical.move_requires_2 strict_subset_implies_diff_element s1 s2 + +let rec count #a #f s c : nat = + match s with + | [] -> 0 + | h::t -> if c h + then 1 + count #a #f t c + else count #a #f t c + +let count_of_empty #_ #_ _ _ = () + +let count_of_impossible #a #f s c = simple_induction (fun p -> count p c = 0) s + +let count_all #a #f s c = simple_induction (fun p -> count p c = size p) s + +let rec count_of_cons #a #f s c = if size s > 1 then count_of_cons (tail s) c + +let rec all #a #f (s: ordset a f) (c: condition a) : Tot bool = + match s with + | [] -> true + | h::t -> c h && all #a #f t c + +let rec any #a #f (s: ordset a f) (c: condition a) : Tot bool = + match s with + | [] -> false + | h::t -> c h || any #a #f t c + +let rec mem_if_any #a #f s c x = if head s<>x then mem_if_any (tail s) c x + +let any_if_mem #a #f (s:ordset a f) (c: condition a) x + : Lemma (requires mem x s && c x) (ensures any s c) = + simple_induction (fun p -> mem x p && c x ==> any p c) s + +let all_means_not_any_not #a #f s c = simple_induction (fun p -> all p c = not (any p (inv c))) s + +let rec find_first #a #f s c = match s with + | [] -> None + | h::(t:ordset a f) -> if c h then Some h else find_first t c + +let find_first_is_some_iff_any #_ #_ s c = simple_induction (fun p -> Some? (find_first p c) = any p c) s + +let rec find_first_precedes_any_other #a #f s c x = + if head s<>x then find_first_precedes_any_other (tail s) c x; + set_props s + +let liat_size #a #f (s:ordset a f{s<>[]}) : Lemma (size (liat s) = size s - 1) = + base_induction (fun p -> if p<>[] then size (liat p) = size p - 1 else true) s + +let mem_liat #a #f (s:ordset a f{s<>[]}) (x:a) + : Lemma (mem x s = (mem x (liat s) || x = last s)) = () + +let rec any_liat #a #f (s:ordset a f{s<>[]}) (c: condition a) + : Lemma (any s c = (any (liat s) c || c (last s))) = match s with + | [x] -> () + | h::(t:ordset a f) -> if size t > 0 then any_liat t c + +let rec find_last' #a #f (s: ordset a f) (c: condition a) : Tot (option a) (decreases size s) = + if s=empty then None + else let liat,last = unsnoc s in + liat_size s; + if c last then Some last + else find_last' liat c + +let rec find_last_props #a #f (s:ordset a f) (c: condition a) + : Lemma (ensures (match find_last' s c with + | None -> not (any s c) + | Some v -> (any s c /\ (forall (x:a{mem x s && c x}). f x v)))) + (decreases size s) = + if size s > 0 then let liat,last = unsnoc s in + liat_size s; + find_last_props liat c; + if c last then any_if_mem s c last else any_liat s c + +let find_last #a #f s c = + find_last_props s c; + find_last' s c + +let find_last_is_some_iff_any #a #f s c = find_last_props s c + +let find_last_follows_any_other #a #f s c x = + any_if_mem s c x; + find_last_is_some_iff_any s c; + find_last_props s c + +let size_of_tail #a #f s = () + +let count_of_tail #_ #_ _ _ = () + +let rec where #a #f s c = + match s with + | [] -> [] + | h::[] -> if c h then [h] else [] + | h::(t:ordset a f) -> if c h then h::(where t c) else where t c + +let intersect_eq_where #_ #_ s1 s2 = + same_members_means_eq (where s1 (mem_of s2)) (intersect s1 s2) + +let minus_eq_where #_ #_ s1 s2 = + same_members_means_eq (where s1 (inv (mem_of s2))) (minus s1 s2) + +let count_is_size_of_where #_ #_ s c + = simple_induction (fun p -> count p c = size (where p c)) s + +let size_of_intersect #_ #_ s1 s2 = + intersect_eq_where s1 s2; + intersect_eq_where s2 s1; + intersect_is_symmetric s1 s2; + count_is_size_of_where s1 (mem_of s2); + count_is_size_of_where s2 (mem_of s1) + +let union_mem_forall #a #f (s1 s2: ordset a f) + : Lemma (forall x. (mem x (union s1 s2)) = (mem x s1 || mem x s2)) = + let aux x : Lemma (mem x (union s1 s2) = (mem x s1 || mem x s2)) = + mem_union s1 s2 x in Classical.forall_intro aux + +let union_with_empty #a #f (s: ordset a f) + : Lemma (union s empty = s) = eq_lemma (union s empty) s + +let union_head_lemma #a #f (s1 s2: ordset a f) + : Lemma (match s1, s2 with + | [],[] -> (union s1 s2 = []) + | [],h::t -> size (union s1 s2) > 0 && Cons?.hd (union s1 s2) = h + | h::t,[] -> size (union s1 s2) > 0 && Cons?.hd (union s1 s2) = h + | h1::t1, h2::t2 -> size (union s1 s2) > 0 && + (Cons?.hd (union s1 s2) = (if f h1 h2 then h1 else h2)) + ) = + match s1,s2 with + | [],[] -> () + | [],h::t -> () + | h::t,[] -> union_with_empty s1 + | h1::t1, h2::t2 -> union_mem_forall s1 s2; + set_props s1; + set_props s2; + set_props (union s1 s2) + +let union_sort_lemma (#a:eqtype) #f (h:a) (t1 t2: ordset a f) + : Lemma (requires sorted f (h::t1) /\ sorted f (h::t2)) + (ensures sorted f (h::(union t1 t2))) = + if size t1 = 0 then union_with_empty t2 + else if size t2 = 0 then union_with_empty t1 + else begin + union_mem_forall t1 t2; + set_props t1; + set_props t2; + set_props (union t1 t2) + end + +let union_with_prefix (#a:eqtype) #f (h:a) (t1 t2: (z:ordset a f{sorted f (h::z)})) + : Lemma (union #a #f (h::t1) (h::t2) = h::(union t1 t2)) = + union_mem_forall t1 t2; + union_sort_lemma h t1 t2; + same_members_means_eq (union #a #f (h::t1) (h::t2)) (h::(union t1 t2)) + +let union_of_tails_size (#a:eqtype) #f (s1 s2: ordset a f) + : Lemma (requires size s1 > 0 && size s2 > 0 && (Cons?.hd s1 <> Cons?.hd s2) && f (Cons?.hd s1) (Cons?.hd s2)) + (ensures size (union s1 s2) = 1 + size (union #a #f (Cons?.tl s1) s2)) = + match s1 with | h1::(t1:ordset a f) -> match s2 with | h2::(t2:ordset a f) -> + union_mem_forall t1 s2; + set_props s1; + set_props s2; + same_members_means_eq (h1::(union t1 s2)) (union s1 s2) + +let union_is_symmetric #a #f (s1 s2: ordset a f) : Lemma (union s1 s2 = union s2 s1) = + same_members_means_eq (union s1 s2) (union s2 s1) + +let size_of_union_aux_1 #a #f (s1 s2: (z:ordset a f{z<>empty})) + : Lemma (requires (head s1) <> (head s2) + && (f (head s1) (head s2)) + && (size (union (tail s1) s2) = size (tail s1) + size s2 - size (intersect (tail s1) s2))) + (ensures size (union s1 s2) = (size s1 + size s2 - size (intersect s1 s2))) = + union_of_tails_size s1 s2; + same_members_means_eq (intersect (tail s1) s2) (intersect s1 s2) + +let size_of_union_aux_2 #a #f (s1 s2: (z:ordset a f{z<>empty})) + : Lemma (requires (head s1) <> (head s2) + && not (f (head s1) (head s2)) + && (size (union s1 (tail s2)) = size s1 + size (tail s2) - size (intersect s1 (tail s2)))) + (ensures size (union s1 s2) = (size s1 + size s2 - size (intersect s1 s2))) + = Classical.forall_intro_2 (union_is_symmetric #a #f); + Classical.forall_intro_2 (intersect_is_symmetric #a #f); + size_of_union_aux_1 s2 s1 + +let rec size_of_union #a #f s1 s2 = + let size = size #a #f in + match s1,s2 with + | [], _ -> same_members_means_eq s2 (union s1 s2) + | _, [] -> same_members_means_eq s1 (union s1 s2) + | h1::(t1:ordset a f), h2::(t2:ordset a f) + -> size_of_union t1 s2; + size_of_union s1 t2; + if h1 = h2 then union_with_prefix h1 t1 t2 + else if f h1 h2 then size_of_union_aux_1 s1 s2 + else size_of_union_aux_2 s1 s2 + +let rec count_dichotomy #_ #_ s c = if s<>[] then count_dichotomy (tail s) c + +let size_of_minus #_ #_ s1 s2 = + minus_eq_where s1 s2; + intersect_eq_where s1 s2; + count_dichotomy s1 (mem_of s2); + count_is_size_of_where s1 (mem_of s2); + count_is_size_of_where s1 (inv (mem_of s2)) + +let intersect_with_subset #_ #_ s1 s2 = same_members_means_eq (intersect s1 s2) s1 + +let lemma_strict_subset_minus_size #_ #_ s1 s2 s = + let size_diff : pos = size s2 - size s1 in + size_of_minus s s2; + size_of_minus s s1; + intersect_with_subset s2 s; + intersect_is_symmetric s2 s; + intersect_with_subset s1 s; + intersect_is_symmetric s1 s + +let lemma_disjoint_union_subset #_ #_ s1 s2 = size_of_union s1 s2 + +let lemma_subset_union #_ #_ _ _ _ = () + +let lemma_strict_subset_transitive #_ #_ _ _ _ = () + +let lemma_intersect_symmetric = intersect_is_symmetric + +let lemma_intersect_union_empty_aux1 #a #f (s1 s2 s3: ordset a f) + : Lemma (requires (intersect s1 s3 == empty /\ intersect s2 s3 == empty)) + (ensures (intersect (union s1 s2) s3 = empty)) + = eq_lemma empty (intersect (union s1 s2) s3) + +let lemma_intersect_union_empty_aux2 #a #f (s1 s2 s3: ordset a f) + : Lemma (requires (intersect (union s1 s2) s3 = empty)) + (ensures (intersect s1 s3 == empty /\ intersect s2 s3 == empty)) + = eq_lemma empty (intersect s1 s3); + eq_lemma empty (intersect s2 s3) + +let lemma_intersect_union_empty #a #f (s1 s2 s3: ordset a f) + : Lemma ((intersect (union s1 s2) s3 = empty) = + (intersect s1 s3 = empty && intersect s2 s3 = empty)) + [SMTPat (intersect (union s1 s2) s3)] = + Classical.move_requires_3 (lemma_intersect_union_empty_aux1 #a #f) s1 s2 s3; + Classical.move_requires_3 (lemma_intersect_union_empty_aux2 #a #f) s1 s2 s3 + +let lemma_union_symmetric #a #f s1 s2 = eq_lemma (union s1 s2) (union s2 s1) + +let union_of_disjoint #a #f s1 s2 = eq_lemma (minus (union s1 s2) s1) s2 + +let distinct_is_idempotent #a #f s = eq_lemma (distinct f s) s + +(* Conversion from OrdSet to Set *) + +module S = FStar.Set + +let rec as_set #a #f s = + match s with + | [] -> S.empty + | hd::tl -> S.union (S.singleton hd) (as_set #a #f tl) + +let rec lemma_as_set_mem #a #f s x + = match s with + | [] -> () + | hd::tl -> + if x = hd + then () + else lemma_as_set_mem #a #f tl x + +let lemma_as_set_disjoint_right #a #f (s1 s2: ordset a f) + : Lemma (requires intersect s1 s2 = empty) + (ensures S.disjoint (as_set s1) (as_set s2)) = () + +let lemma_as_set_disjoint_left #a #f (s1 s2: ordset a f) + : Lemma (requires S.disjoint (as_set s1) (as_set s2)) + (ensures intersect s1 s2 = empty) = + let mem_eq p q : Lemma (S.mem p (as_set q) <==> mem #a #f p q) = () in + Classical.forall_intro_2 mem_eq + +let lemma_as_set_disjoint #a #f s1 s2 = + Classical.move_requires_2 (lemma_as_set_disjoint_right #a #f) s1 s2; + Classical.move_requires_2 (lemma_as_set_disjoint_left #a #f) s1 s2 diff --git a/stage0/ulib/experimental/FStar.OrdSet.fsti b/stage0/ulib/experimental/FStar.OrdSet.fsti new file mode 100644 index 00000000000..d5dfa8a16dc --- /dev/null +++ b/stage0/ulib/experimental/FStar.OrdSet.fsti @@ -0,0 +1,352 @@ +(* + 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.OrdSet + +type total_order (a:eqtype) (f: (a -> a -> Tot bool)) = + (forall a1 a2. (f a1 a2 /\ f a2 a1) ==> a1 = a2) (* anti-symmetry *) + /\ (forall a1 a2 a3. f a1 a2 /\ f a2 a3 ==> f a1 a3) (* transitivity *) + /\ (forall a1 a2. f a1 a2 \/ f a2 a1) (* totality *) + +type cmp (a:eqtype) = f:(a -> a -> Tot bool){total_order a f} + +let rec sorted (#a:eqtype) (f:cmp a) (l:list a) : Tot bool = + match l with + | [] -> true + | x::[] -> true + | x::y::tl -> f x y && x <> y && sorted f (y::tl) + +val ordset (a:eqtype) (f:cmp a) : Type0 + +val hasEq_ordset: a:eqtype -> f:cmp a + -> Lemma (requires (True)) (ensures (hasEq (ordset a f))) + [SMTPat (hasEq (ordset a f))] + +val empty : #a:eqtype -> #f:cmp a -> Tot (ordset a f) + +val tail (#a:eqtype) (#f:cmp a) (s:ordset a f{s<>empty}) : ordset a f +val head (#a:eqtype) (#f:cmp a) (s:ordset a f{s<>empty}) : a + +val mem : #a:eqtype -> #f:cmp a -> a -> s:ordset a f -> Tot bool + +(* currying-friendly version of mem, ready to be used as a lambda *) +unfold let mem_of #a #f (s:ordset a f) x = mem x s + +val last (#a:eqtype) (#f:cmp a) (s: ordset a f{s <> empty}) + : Tot (x:a{(forall (z:a{mem z s}). f z x) /\ mem x s}) + +(* + liat is the reverse of tail, i.e. a list of all but the last element. + A shortcut to (fst (unsnoc s)), which as a word is composed + in a remarkably similar fashion. +*) +val liat (#a:eqtype) (#f:cmp a) (s: ordset a f{s <> empty}) : Tot (l:ordset a f{ + (forall x. mem x l = (mem x s && (x <> last s))) /\ + (if tail s <> empty then (l <> empty) && (head s = head l) else true) + }) + +val unsnoc (#a:eqtype) (#f:cmp a) (s: ordset a f{s <> empty}) : Tot (p:(ordset a f & a){ + p = (liat s, last s) + }) + +val as_list (#a:eqtype) (#f:cmp a) (s:ordset a f) : Tot (l:list a{ + sorted f l /\ + (forall x. (List.Tot.mem x l = mem x s)) +}) + +val distinct (#a:eqtype) (f:cmp a) (l: list a) : Pure (ordset a f) + (requires True) (ensures fun z -> forall x. (mem x z = List.Tot.Base.mem x l)) + +val union : #a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot (ordset a f) +val intersect : #a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot (ordset a f) + +val choose : #a:eqtype -> #f:cmp a -> s:ordset a f -> Tot (option a) +val remove : #a:eqtype -> #f:cmp a -> a -> ordset a f -> Tot (ordset a f) + +val size : #a:eqtype -> #f:cmp a -> ordset a f -> Tot nat + +val subset : #a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot bool +let superset #a #f (s1 s2: ordset a f) : Tot bool = subset s2 s1 + +val singleton : #a:eqtype -> #f:cmp a -> a -> Tot (ordset a f) + +val minus : #a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot (ordset a f) + +val strict_subset: #a:eqtype -> #f:cmp a -> ordset a f -> ordset a f -> Tot bool +let strict_superset #a #f (s1 s2: ordset a f) : Tot bool = strict_subset s2 s1 + +let disjoint #a #f (s1 s2 : ordset a f) : Tot bool = intersect s1 s2 = empty + +let equal (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) : Tot prop = + forall x. mem #_ #f x s1 = mem #_ #f x s2 + +val eq_lemma: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f + -> Lemma (requires (equal s1 s2)) + (ensures (s1 = s2)) + [SMTPat (equal s1 s2)] + +val mem_empty: #a:eqtype -> #f:cmp a -> x:a + -> Lemma (requires True) (ensures (not (mem #a #f x (empty #a #f)))) + [SMTPat (mem #a #f x (empty #a #f))] + +val mem_singleton: #a:eqtype -> #f:cmp a -> x:a -> y:a + -> Lemma (requires True) + (ensures (mem #a #f y (singleton #a #f x)) = (x = y)) + [SMTPat (mem #a #f y (singleton #a #f x))] + +val mem_union: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f -> x:a + -> Lemma (requires True) + (ensures (mem #a #f x (union #a #f s1 s2) = + (mem #a #f x s1 || mem #a #f x s2))) + [SMTPat (mem #a #f x (union #a #f s1 s2))] + +val mem_intersect: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f -> x:a + -> Lemma (requires True) + (ensures (mem #a #f x (intersect s1 s2) = + (mem #a #f x s1 && mem #a #f x s2))) + [SMTPat (mem #a #f x (intersect #a #f s1 s2))] + +val mem_subset: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f + -> Lemma (requires True) + (ensures (subset #a #f s1 s2 <==> + (forall x. mem #a #f x s1 ==> mem #a #f x s2))) + [SMTPat (subset #a #f s1 s2)] + +val choose_empty: #a:eqtype -> #f:cmp a + -> Lemma (requires True) (ensures (None? (choose #a #f (empty #a #f)))) + [SMTPat (choose #a #f (empty #a #f))] + +(* TODO: FIXME: Pattern does not contain all quantified vars *) +val choose_s: #a:eqtype -> #f:cmp a -> s:ordset a f + -> Lemma (requires (not (s = (empty #a #f)))) + (ensures (Some? (choose #a #f s) /\ + s = union #a #f (singleton #a #f (Some?.v (choose #a #f s))) + (remove #a #f (Some?.v (choose #a #f s)) s))) + [SMTPat (choose #a #f s)] + +val mem_remove: #a:eqtype -> #f:cmp a -> x:a -> y:a -> s:ordset a f + -> Lemma (requires True) + (ensures (mem #a #f x (remove #a #f y s) = + (mem #a #f x s && not (x = y)))) + [SMTPat (mem #a #f x (remove #a #f y s))] + +val eq_remove: #a:eqtype -> #f:cmp a -> x:a -> s:ordset a f + -> Lemma (requires (not (mem #a #f x s))) + (ensures (s = remove #a #f x s)) + [SMTPat (remove #a #f x s)] + +val size_empty: #a:eqtype -> #f:cmp a -> s:ordset a f + -> Lemma (requires True) (ensures ((size #a #f s = 0) = (s = empty #a #f))) + [SMTPat (size #a #f s)] + +val size_remove: #a:eqtype -> #f:cmp a -> y:a -> s:ordset a f + -> Lemma (requires (mem #a #f y s)) + (ensures (size #a #f s = size #a #f (remove #a #f y s) + 1)) + [SMTPat (size #a #f (remove #a #f y s))] + +val size_singleton: #a:eqtype -> #f:cmp a -> x:a + -> Lemma (requires True) (ensures (size #a #f (singleton #a #f x) = 1)) + [SMTPat (size #a #f (singleton #a #f x))] + +val subset_size: #a:eqtype -> #f:cmp a -> x:ordset a f -> y:ordset a f + -> Lemma (requires (subset #a #f x y)) + (ensures (size #a #f x <= size #a #f y)) + [SMTPat (subset #a #f x y)] + +(**********) + +val size_union: #a:eqtype -> #f:cmp a -> s1:ordset a f -> s2:ordset a f + -> Lemma (requires True) + (ensures ((size #a #f (union #a #f s1 s2) >= size #a #f s1) && + (size #a #f (union #a #f s1 s2) >= size #a #f s2))) + [SMTPat (size #a #f (union #a #f s1 s2))] + +(**********) + +val fold (#a:eqtype) (#acc:Type) (#f:cmp a) (g:acc -> a -> acc) (init:acc) (s:ordset a f) + : Tot acc + +val map (#a #b:eqtype) (#fa:cmp a) (#fb:cmp b) (g:a -> b) (sa:ordset a fa) + : Pure (ordset b fb) + (requires (forall x y. (x `fa` y ==> g x `fb` g y) /\ (x = y <==> g x = g y))) + (ensures (fun sb -> (size sb <= size sa) /\ + (as_list sb == FStar.List.Tot.map g (as_list sa)) /\ + (let sa = as_list sa in + let sb = as_list sb in + Cons? sb ==> Cons? sa /\ Cons?.hd sb == g (Cons?.hd sa)))) + +val lemma_strict_subset_size (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (requires (strict_subset s1 s2)) + (ensures (subset s1 s2 /\ size s1 < size s2)) + [SMTPat (strict_subset s1 s2)] + +val lemma_minus_mem (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) (x:a) + : Lemma (requires True) (ensures (mem x (minus s1 s2) = (mem x s1 && not (mem x s2)))) + [SMTPat (mem x (minus s1 s2))] + +val lemma_strict_subset_exists_diff (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (requires subset s1 s2) + (ensures (strict_subset s1 s2) <==> (exists x. (mem x s2 /\ not (mem x s1)))) + +type condition a = a -> bool + +let inv #a (c: condition a) : (z:condition a{forall x. c x = not (z x)}) = fun x -> not (c x) + +val count (#a:eqtype) (#f: cmp a) (s: ordset a f) (c: condition a) : nat + +val count_of_empty (#a:eqtype) (#f: cmp a) (s: ordset a f{size s = 0}) (c: condition a) + : Lemma (count s c = 0) + +val count_of_impossible (#a:eqtype) (#f: cmp a) (s: ordset a f) (c: condition a{forall p. not (c p)}) + : Lemma (count s c = 0) + +val count_all (#a:eqtype) (#f: cmp a) (s: ordset a f) (c: condition a{forall p. c p}) + : Lemma (count s c = size s) + +val count_of_cons (#a:eqtype) (#f: cmp a) (s: ordset a f{size s > 0}) (c: condition a) + : Lemma (count s c = (count (tail s) c + (if (c (head s)) then 1 else 0))) + +val all (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) : Tot bool + +val any (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) : Tot bool + +val mem_if_any (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) (x:a{mem x s && c x}) + : Lemma (any s c) + +val all_means_not_any_not (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) + : Lemma (all s c = not (any s (inv c))) + +val find_first (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) : option a + +val find_first_is_some_iff_any (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) + : Lemma (Some? (find_first s c) = any s c) + +val find_first_precedes_any_other (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) (x:a{mem x s && c x}) + : Lemma (Some? (find_first s c) && f (Some?.v (find_first s c)) x) + +val liat_size (#a:eqtype) (#f:cmp a) (s:ordset a f{s<>empty}) + : Lemma (size (liat s) = ((size s)-1)) + +val mem_liat (#a:eqtype) (#f:cmp a) (s:ordset a f{s<>empty}) (x:a) + : Lemma (mem x s = (mem x (liat s) || x = last s)) + +val any_liat (#a:eqtype) (#f:cmp a) (s:ordset a f{s<>empty}) (c:condition a) + : Lemma (any s c = (any (liat s) c || c (last s))) + +val find_last (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) : (z:option a{ match z with + | None -> not (any s c) + | Some v -> (any s c /\ (forall (x:a{mem x s && c x}). f x v)) +}) + +val find_last_is_some_iff_any (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) + : Lemma (Some? (find_last s c) = any s c) + +val find_last_follows_any_other (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) (x:a{mem x s && c x}) + : Lemma (Some? (find_last s c) && f x (Some?.v (find_last s c))) + +val size_of_tail (#a:eqtype) (#f:cmp a) (s:ordset a f{size s > 0}) + : Lemma (size s = 1 + (size (tail s))) + +val count_of_tail (#a:eqtype) (#f:cmp a) (s:ordset a f{size s > 0}) (c: condition a) + : Lemma (count s c = (count (tail s) c + (if c (head s) then 1 else 0))) + +val where (#a:eqtype) (#f:cmp a) (s:ordset a f) (c: condition a) + : Pure (ordset a f) + (requires True) + (ensures fun (z:ordset a f) -> + (as_list #a z == FStar.List.Tot.Base.filter c (as_list s)) /\ + (forall x. mem x z = (mem x s && c x)) /\ + (if size z > 0 && size s > 0 then f (head s) (head z) else true)) + +val intersect_eq_where (#a:eqtype) (#f:cmp a) (s1 s2:ordset a f) + : Lemma (intersect s1 s2 = where s1 (mem_of s2)) + +val minus_eq_where (#a:eqtype) (#f:cmp a) (s1 s2: ordset a f) + : Lemma (minus s1 s2 = where s1 (inv (mem_of s2))) + +val count_is_size_of_where (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) + : Lemma (count s c = size (where s c)) + +val size_of_intersect (#a:eqtype) (#f:cmp a) (s1 s2: ordset a f) + : Lemma (ensures size (intersect s1 s2) = count s1 (mem_of s2) /\ + size (intersect s1 s2) = count s2 (mem_of s1)) + +val size_of_union (#a:eqtype) (#f:cmp a) (s1 s2: ordset a f) + : Lemma (size (union s1 s2) = (size s1 + size s2 - size (intersect s1 s2))) + +val count_dichotomy (#a:eqtype) (#f:cmp a) (s: ordset a f) (c: condition a) + : Lemma (size s = count s c + count s (inv c)) + +val size_of_minus (#a:eqtype) (#f:cmp a) (s1 s2: ordset a f) + : Lemma (size (minus s1 s2) = size s1 - size (intersect s1 s2)) + +val intersect_with_subset (#a:eqtype) (#f:cmp a) (s1 s2: ordset a f) + : Lemma (requires subset s1 s2) + (ensures intersect s1 s2 = s1) + +val lemma_strict_subset_minus_size (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) (s:ordset a f) + : Lemma (requires (strict_subset s1 s2 /\ subset s1 s /\ subset s2 s)) + (ensures (size (minus s s2) < size (minus s s1))) + [SMTPat (strict_subset s1 s2); SMTPat (subset s1 s); SMTPat (subset s2 s)] + +val lemma_disjoint_union_subset (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (requires (~ (s1 == empty) /\ ~ (s2 == empty) /\ intersect s1 s2 == empty)) + (ensures (strict_subset s1 (union s1 s2) /\ strict_subset s2 (union s1 s2))) + [SMTPatOr [[SMTPat (strict_subset s1 (union s1 s2))]; [SMTPat (strict_subset s2 (union s1 s2))]]] + +val lemma_subset_union (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) (s:ordset a f) + : Lemma (requires (subset s1 s /\ subset s2 s)) + (ensures (subset (union s1 s2) s)) + [SMTPat (subset (union s1 s2) s)] + +val lemma_strict_subset_transitive (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) (s3:ordset a f) + : Lemma (requires (strict_subset s1 s2 /\ strict_subset s2 s3)) + (ensures (strict_subset s1 s3)) + [SMTPat (strict_subset s1 s2); SMTPat (strict_subset s2 s3)] + +val lemma_intersect_symmetric (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (requires True) (ensures (intersect s1 s2 == intersect s2 s1)) + [SMTPatOr [[SMTPat (intersect s1 s2)]; [SMTPat (intersect s2 s1)]]] + +val lemma_intersect_union_empty (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) (s3:ordset a f) + : Lemma ((intersect (union s1 s2) s3 = empty) = (intersect s1 s3 = empty && intersect s2 s3 = empty)) + [SMTPat (intersect (union s1 s2) s3)] + +val lemma_union_symmetric (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (union s1 s2 == union s2 s1) + [SMTPat (union s1 s2)] + +val union_of_disjoint (#a:eqtype) (#f:cmp a) (s1:ordset a f) (s2:ordset a f) + : Lemma (requires (disjoint s1 s2)) + (ensures (minus (union s1 s2) s1 == s2)) + [SMTPat (union s1 s2); SMTPat (disjoint s1 s2)] + +val distinct_is_idempotent (#a:eqtype) (#f: cmp a) (s: ordset a f) + : Lemma (distinct f (as_list s) = s) + +(* Conversion from OrdSet to Set *) + +module S = FStar.Set + +val as_set : #a:eqtype -> #f:cmp a -> ordset a f -> Tot (S.set a) + +val lemma_as_set_mem (#a:eqtype) (#f:cmp a) (s:ordset a f) (x:a) + : Lemma (mem x s <==> S.mem x (as_set s)) + [SMTPat (mem x s); + SMTPat (S.mem x (as_set s))] + +val lemma_as_set_disjoint (#a:eqtype) (#f:cmp a) (s1 s2:ordset a f) + : Lemma (intersect s1 s2 = empty <==> S.disjoint (as_set s1) (as_set s2)) + [SMTPat (S.disjoint (as_set s1) (as_set s2))] diff --git a/stage0/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti b/stage0/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti new file mode 100644 index 00000000000..aaae32e06fb --- /dev/null +++ b/stage0/ulib/experimental/FStar.Reflection.Typing.Builtins.fsti @@ -0,0 +1,36 @@ +(* + 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.Reflection.Typing.Builtins + +(** This module defines some utilities in support of the reflection + typing judgment of F*, defined in Refl.Typing.fsti. + + IT IS HIGHLY EXPERIMENTAL AND NOT YET READY TO USE. + *) + +open FStar.Reflection.V2 +open FStar.Range + +val dummy_range : range + +val open_with (t:term) (v:term) : term + +val open_term (t:term) (v:var) : term + +val close_term (t:term) (v:var) : term + +val rename (t:term) (x y:var) : term diff --git a/stage0/ulib/experimental/FStar.Reflection.Typing.fst b/stage0/ulib/experimental/FStar.Reflection.Typing.fst new file mode 100644 index 00000000000..a3181d3fec8 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Reflection.Typing.fst @@ -0,0 +1,980 @@ +(* + 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.Reflection.Typing + +(** This module defines a typing judgment for (parts of) the total + fragment of F*. We are using it in the meta DSL framework as an + official specification for the F* type system. + + We expect it to grow to cover more of the F* language. + + IT IS HIGHLY EXPERIMENTAL AND NOT YET READY TO USE. + *) + +open FStar.List.Tot +open FStar.Reflection.V2 + +module R = FStar.Reflection.V2 +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.Tactics.Types +open FStar.Tactics.Effect +module RTB = FStar.Reflection.Typing.Builtins + +let inspect_pack = R.inspect_pack_inv +let pack_inspect = R.pack_inspect_inv + +let inspect_pack_namedv = R.inspect_pack_namedv +let pack_inspect_namedv = R.pack_inspect_namedv + +let inspect_pack_bv = R.inspect_pack_bv +let pack_inspect_bv = R.pack_inspect_bv + +let inspect_pack_binder = R.inspect_pack_binder +let pack_inspect_binder = R.pack_inspect_binder + +let inspect_pack_comp = R.inspect_pack_comp_inv +let pack_inspect_comp = R.pack_inspect_comp_inv + +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_lb = R.inspect_pack_lb +let pack_inspect_lb = R.pack_inspect_lb + +let inspect_pack_sigelt = R.inspect_pack_sigelt +let pack_inspect_sigelt = R.pack_inspect_sigelt + +let lookup_bvar (e:env) (x:int) : option term = magic () + +let lookup_fvar_uinst (e:R.env) (x:R.fv) (us:list R.universe) + : option R.term = magic () + +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 subst_ctx_uvar_and_subst _ _ = magic () + +let open_with (t:term) (v:term) = RTB.open_with t v + +let open_with_spec (t v:term) = admit () + +let open_term (t:term) (v:var) = RTB.open_term t v + +let open_term_spec (t:term) (v:var) = admit () + +let close_term (t:term) (v:var) = RTB.close_term t v + +let close_term_spec (t:term) (v:var) = admit () + +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) + (bs1:bindings) + (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) + (y:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) y) }) + (t:term) + (t0 t1:term) + (d:subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) = magic () + +let subtyping_token_weakening (g:env) + (bs0:bindings) + (bs1:bindings) + (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) + (t:term) + (t0 t1:term) + (d: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) (ss:subst) + : Lemma (ensures binder_offset_pattern p == + binder_offset_pattern (subst_pattern p ss)) + (decreases p) + = match p with + | Pat_Cons _ _ pats -> + binder_offset_patterns_invariant pats ss + | _ -> () + +and binder_offset_patterns_invariant (p:list (pattern & bool)) (ss:subst) + : Lemma (ensures binder_offset_patterns p == + binder_offset_patterns (subst_patterns p ss)) + (decreases p) + = match p with + | [] -> () + | (hd, _)::tl -> + binder_offset_pattern_invariant hd ss; + let n = binder_offset_pattern hd in + 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 subst_term + (subst_term t [ ND x i ]) + (open_with_var x i) + == t) + (decreases t) + = match inspect_ln t with + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unsupp + | Tv_Unknown + | Tv_BVar _ -> () + | Tv_Var _ -> () + | Tv_App t1 a -> + open_close_inverse' i t1 x; + open_close_inverse' i (fst a) x + + | Tv_Abs b body -> + open_close_inverse'_binder i b x; + open_close_inverse' (i + 1) body x + + | Tv_Arrow b c -> + open_close_inverse'_binder i b x; + open_close_inverse'_comp (i + 1) c x + + | Tv_Refine b f -> + open_close_inverse'_binder i b x; + open_close_inverse' (i + 1) f x + + | Tv_Let recf attrs b def body -> + open_close_inverse'_terms i attrs 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); + open_close_inverse' (i + 1) body x + + | Tv_Match scr ret brs -> + open_close_inverse' i scr x; + (match ret with + | None -> () + | Some m -> open_close_inverse'_match_returns i m x); + open_close_inverse'_branches i brs x + + | Tv_AscribedT e t tac b -> + open_close_inverse' i e x; + open_close_inverse' i t x; + (match tac with + | None -> () + | Some tac -> open_close_inverse' i tac x) + + | Tv_AscribedC e c tac b -> + open_close_inverse' i e x; + open_close_inverse'_comp i c x; + (match tac with + | None -> () + | Some tac -> open_close_inverse' i tac x) + + +and open_close_inverse'_binder (i:nat) (b:binder { ln'_binder b (i - 1) }) (x:var) + : 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 {ppname; qual=q; attrs=attrs; sort=sort} = bndr in + open_close_inverse' i sort x; + open_close_inverse'_terms i attrs x; + assert (subst_terms (subst_terms attrs [ ND x i ]) + (open_with_var x i) == attrs); + pack_inspect_binder 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 subst_terms + (subst_terms ts [ ND x i ]) + (open_with_var x i) + == ts) + (decreases ts) + = match ts with + | [] -> () + | t::ts -> + open_close_inverse' i t x; + open_close_inverse'_terms i ts x + +and open_close_inverse'_comp (i:nat) (c:comp { ln'_comp c (i - 1) }) (x:var) + : Lemma + (ensures subst_comp + (subst_comp c [ ND x i ]) + (open_with_var x i) + == c) + (decreases c) + = match inspect_comp c with + | C_Total t + | C_GTotal t -> open_close_inverse' i t x + + | C_Lemma pre post pats -> + open_close_inverse' i pre x; + open_close_inverse' i post x; + open_close_inverse' i pats x + + | C_Eff us eff_name res args decrs -> + open_close_inverse' i res x; + open_close_inverse'_args i args x; + open_close_inverse'_terms i decrs x + +and open_close_inverse'_args (i:nat) + (ts:list argv { ln'_args ts (i - 1) }) + (x:var) + : Lemma + (ensures subst_args + (subst_args ts [ ND x i ]) + (open_with_var x i) + == ts) + (decreases ts) + = match ts with + | [] -> () + | (t,q)::ts -> + open_close_inverse' i t x; + open_close_inverse'_args i ts x + +and open_close_inverse'_patterns (i:nat) + (ps:list (pattern & bool) { ln'_patterns ps (i - 1) }) + (x:var) + : Lemma + (ensures subst_patterns + (subst_patterns ps [ ND x i ]) + (open_with_var x i) + == ps) + (decreases ps) + = match ps with + | [] -> () + | (p, b)::ps' -> + open_close_inverse'_pattern i p x; + let n = binder_offset_pattern p in + 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 subst_pattern + (subst_pattern p [ ND x i ]) + (open_with_var x i) + == p) + (decreases p) + = match p with + | Pat_Constant _ -> () + + | Pat_Cons fv us pats -> + open_close_inverse'_patterns i pats x + + | Pat_Var bv _ -> () + + | Pat_Dot_Term topt -> + match topt with + | None -> () + | Some t -> open_close_inverse' i t x + + +and open_close_inverse'_branch (i:nat) (br:branch{ln'_branch br (i - 1)}) (x:var) + : 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 [ ND x i ]; + open_close_inverse'_pattern i p x; + open_close_inverse' (i + j) t x + +and open_close_inverse'_branches (i:nat) + (brs:list branch { ln'_branches brs (i - 1) }) + (x:var) + : Lemma + (ensures subst_branches + (subst_branches brs [ ND x i ]) + (open_with_var x i) + == brs) + (decreases brs) + = match brs with + | [] -> () + | br::brs -> + open_close_inverse'_branch i br x; + open_close_inverse'_branches i brs x + +and open_close_inverse'_match_returns (i:nat) + (m:match_returns_ascription { ln'_match_returns m (i - 1) }) + (x:var) + : Lemma + (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 + open_close_inverse'_binder i b x; + let ret = + match ret with + | Inl t -> + open_close_inverse' (i + 1) t x + | Inr c -> + open_close_inverse'_comp (i + 1) c x + in + let as_ = + match as_ with + | None -> () + | Some t -> + open_close_inverse' (i + 1) t x + in + () + +let open_close_inverse (e:R.term { ln e }) (x:var) + : Lemma (open_term (close_term e x) x == e) + = close_term_spec e x; + open_term_spec (close_term e x) x; + open_close_inverse' 0 e x + +let rec close_open_inverse' (i:nat) + (t:term) + (x:var { ~(x `Set.mem` freevars t) }) + : Lemma + (ensures subst_term + (subst_term t (open_with_var x i)) + [ ND x i ] + == t) + (decreases t) + = match inspect_ln t with + | Tv_Uvar _ _ -> assert false + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unsupp + | Tv_Unknown -> () + | Tv_BVar _ -> () + | Tv_Var _ -> () + | Tv_App t1 a -> + close_open_inverse' i t1 x; + close_open_inverse' i (fst a) x + + | Tv_Abs b body -> + close_open_inverse'_binder i b x; + close_open_inverse' (i + 1) body x + + | Tv_Arrow b c -> + close_open_inverse'_binder i b x; + close_open_inverse'_comp (i + 1) c x + + | Tv_Refine b f -> + close_open_inverse'_binder i b x; + close_open_inverse' (i + 1) f x + + | Tv_Let recf attrs b def body -> + close_open_inverse'_terms i attrs 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 + + | Tv_Match scr ret brs -> + close_open_inverse' i scr x; + (match ret with + | None -> () + | Some m -> close_open_inverse'_match_returns i m x); + close_open_inverse'_branches i brs x + + | Tv_AscribedT e t tac b -> + close_open_inverse' i e x; + close_open_inverse' i t x; + (match tac with + | None -> () + | Some t -> close_open_inverse' i t x) + + | Tv_AscribedC e c tac b -> + close_open_inverse' i e x; + close_open_inverse'_comp i c x; + (match tac with + | None -> () + | Some t -> close_open_inverse' i t x) + +and close_open_inverse'_comp (i:nat) + (c:comp) + (x:var{ ~(x `Set.mem` freevars_comp c) }) + : Lemma + (ensures subst_comp + (subst_comp c (open_with_var x i)) + [ ND x i ] + == c) + (decreases c) + = match inspect_comp c with + | C_Total t + | C_GTotal t -> + close_open_inverse' i t x + + | C_Lemma pre post pats -> + close_open_inverse' i pre x; + close_open_inverse' i post x; + close_open_inverse' i pats x + + | C_Eff us eff_name res args decrs -> + close_open_inverse' i res x; + close_open_inverse'_args i args x; + close_open_inverse'_terms i decrs x + +and close_open_inverse'_args (i:nat) (args:list argv) (x:var{ ~(x `Set.mem` freevars_args args) }) + : Lemma + (ensures subst_args + (subst_args args (open_with_var x i)) + [ ND x i] + == args) + (decreases args) + = match args with + | [] -> () + | (a, q) :: args -> + close_open_inverse' i a x; + close_open_inverse'_args i args x + +and close_open_inverse'_binder (i:nat) (b:binder) (x:var{ ~(x `Set.mem` freevars_binder b) }) + : Lemma + (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.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 subst_terms + (subst_terms ts (open_with_var x i)) + [ ND x i ] + == ts) + (decreases ts) + = match ts with + | [] -> () + | hd :: tl -> + close_open_inverse' i hd x; + close_open_inverse'_terms i tl x + +and close_open_inverse'_branches (i:nat) (brs:list branch) + (x:var{ ~(x `Set.mem` freevars_branches brs) }) + : Lemma + (ensures subst_branches + (subst_branches brs (open_with_var x i)) + [ ND x i ] + == brs) + (decreases brs) + = match brs with + | [] -> () + | b :: brs -> + close_open_inverse'_branch i b x; + close_open_inverse'_branches i brs x + +and close_open_inverse'_branch (i:nat) + (br:branch) + (x:var{ ~(x `Set.mem` freevars_branch br) }) + : Lemma + (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); + close_open_inverse' (i + binder_offset_pattern p) t x + + +and close_open_inverse'_pattern (i:nat) + (p:pattern) + (x:var{ ~(x `Set.mem` freevars_pattern p) }) + : Lemma + (ensures subst_pattern + (subst_pattern p (open_with_var x i)) + [ ND x i ] + == p) + (decreases p) + = match p with + | Pat_Constant _ -> () + + | Pat_Cons fv us pats -> + close_open_inverse'_patterns i pats x + + | Pat_Var bv _ -> () + + | Pat_Dot_Term topt -> + match topt with + | None -> () + | Some t -> close_open_inverse' i t x + +and close_open_inverse'_patterns (i:nat) + (ps:list (pattern & bool)) + (x:var {~ (x `Set.mem` freevars_patterns ps) }) + : Lemma + (ensures subst_patterns + (subst_patterns ps (open_with_var x i)) + [ ND x i ] + == ps) + (decreases ps) + = match ps with + | [] -> () + | (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); + 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 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 + close_open_inverse'_binder i b x; + (match ret with + | Inl t -> close_open_inverse' (i + 1) t x + | Inr c -> close_open_inverse'_comp (i + 1) c x); + (match as_ with + | None -> () + | Some t -> close_open_inverse' (i + 1) t x) + + +let close_open_inverse (e:R.term) (x:var {~ (x `Set.mem` freevars e) }) + : Lemma (close_term (open_term e x) x == e) + = open_term_spec e x; + close_term_spec (open_term e x) x; + close_open_inverse' 0 e x + +let rec close_with_not_free_var (t:R.term) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars t))) + (ensures subst_term t [ ND x i ] == t) + (decreases t) = + + match inspect_ln t with + | Tv_Var _ + | Tv_BVar _ + | Tv_FVar _ + | Tv_UInst _ _ -> () + | Tv_App hd (arg, _) -> + close_with_not_free_var hd x i; + close_with_not_free_var arg x i + | Tv_Abs b body -> + close_binder_with_not_free_var b x i; + close_with_not_free_var body x (i + 1) + | Tv_Arrow b c -> + close_binder_with_not_free_var b x i; + close_comp_with_not_free_var c x (i + 1) + | Tv_Type _ -> () + | 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 b e1 e2 -> + close_terms_with_not_free_var attrs 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) + | Tv_Match scrutinee ret_opt brs -> + close_with_not_free_var scrutinee x i; + (match ret_opt with + | None -> () + | Some ret -> close_match_returns_with_not_free_var ret x i); + close_branches_with_not_free_var brs x i + + | Tv_AscribedT e t tacopt _ -> + close_with_not_free_var e x i; + close_with_not_free_var t x i; + (match tacopt with + | None -> () + | Some tac -> close_with_not_free_var tac x i) + + | Tv_AscribedC e c tacopt _ -> + close_with_not_free_var e x i; + close_comp_with_not_free_var c x i; + (match tacopt with + | None -> () + | Some tac -> close_with_not_free_var tac x i) + + | Tv_Unknown -> () + | Tv_Unsupp -> () + +and close_match_returns_with_not_free_var + (r:match_returns_ascription) + (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_match_returns r))) + (ensures subst_match_returns r [ ND x i ] == r) + (decreases r) = + + let b, (ret, as_opt, _) = r in + close_binder_with_not_free_var b x i; + (match ret with + | Inl t -> close_with_not_free_var t x (i + 1) + | Inr c -> close_comp_with_not_free_var c x (i + 1)); + (match as_opt with + | None -> () + | Some t -> close_with_not_free_var t x (i + 1)) + +and close_branches_with_not_free_var + (brs:list R.branch) + (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_branches brs))) + (ensures subst_branches brs [ ND x i ] == brs) + (decreases brs) = + + match brs with + | [] -> () + | hd::tl -> + close_branch_with_not_free_var hd x i; + close_branches_with_not_free_var tl x i + +and close_branch_with_not_free_var + (br:R.branch) + (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_branch br))) + (ensures subst_branch br [ ND x i ] == br) + (decreases br) = + + let p, t = br in + close_pattern_with_not_free_var p x i; + close_with_not_free_var t x (binder_offset_pattern p + i) + +and close_pattern_with_not_free_var (p:R.pattern) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_pattern p))) + (ensures subst_pattern p [ ND x i ] == p) + (decreases p) = + + match p with + | Pat_Constant _ -> () + | Pat_Cons _ _ pats -> + close_patterns_with_not_free_var pats x i + | Pat_Var bv _ -> () + | Pat_Dot_Term topt -> + (match topt with + | None -> () + | Some t -> close_with_not_free_var t x i) + +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 subst_patterns l [ ND x i ] == l) + (decreases l) = + + match l with + | [] -> () + | (p, _)::tl -> + close_pattern_with_not_free_var p x i; + close_patterns_with_not_free_var tl x (binder_offset_pattern p + i) + +and close_terms_with_not_free_var (l:list R.term) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_terms l))) + (ensures subst_terms l [ ND x i ] == l) + (decreases l) = + + match l with + | [] -> () + | hd::tl -> + close_with_not_free_var hd x i; + close_terms_with_not_free_var tl x i + +and close_binder_with_not_free_var (b:R.binder) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_binder b))) + (ensures subst_binder b [ ND x i ] == b) + (decreases b) = + + 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 subst_comp c [ ND x i ] == c) + (decreases c) = + + match inspect_comp c with + | C_Total t + | C_GTotal t -> close_with_not_free_var t x i + | C_Lemma pre post pats -> + close_with_not_free_var pre x i; + close_with_not_free_var post x i; + close_with_not_free_var pats x i + | C_Eff _ _ t args decrs -> + close_with_not_free_var t x i; + close_args_with_not_free_var args x i; + close_terms_with_not_free_var decrs x i + +and close_args_with_not_free_var (l:list R.argv) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars_args l))) + (ensures subst_args l [ ND x i ] == l) + (decreases l) = + + match l with + | [] -> () + | (t, _)::tl -> + close_with_not_free_var t x i; + close_args_with_not_free_var tl x i + +let equiv_arrow #g #e1 #e2 ty q x eq = + assume (~ (x `Set.mem` (freevars e1 `Set.union` freevars e2))); + let c1 = E_Total, e1 in + let c2 = E_Total, e2 in + Rel_arrow _ _ _ _ c1 c2 _ _ (Rel_refl _ _ _) (Relc_typ _ _ _ _ _ eq) + +let equiv_abs_close #g #e1 #e2 ty q x eq = + // TODO: the following can be the preconditions? + // or derived from equiv? + assume (ln' e1 (-1)); + assume (ln' e2 (-1)); + // this should be a lemma + assume (~ (x `Set.mem` (freevars (subst_term e1 [ ND x 0 ]) `Set.union` + freevars (subst_term e2 [ ND x 0 ])))); + open_close_inverse' 0 e1 x; + open_close_inverse' 0 e2 x; + let eq + : equiv (extend_env g x ty) + (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 + + Rel_abs _ _ _ _ _ _ _ (Rel_refl _ _ _) eq + +let rec open_with_gt_ln e i t j + : Lemma (requires ln' e i /\ i < j) + (ensures subst_term e [ DT j t ] == e) + (decreases e) = + match inspect_ln e with + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unsupp + | Tv_Unknown + | Tv_Var _ + | Tv_BVar _ -> () + | Tv_App hd argv -> + open_with_gt_ln hd i t j; + open_with_gt_ln (fst argv) i t j + | Tv_Abs b body -> + open_with_gt_ln_binder b i t j; + open_with_gt_ln body (i + 1) t (j + 1) + | 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 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 b def body -> + open_with_gt_ln_terms attrs 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); + open_with_gt_ln body (i + 1) t (j + 1) + | Tv_Match scr ret brs -> + open_with_gt_ln scr i t j; + (match ret with + | None -> () + | Some ret -> open_with_gt_ln_match_returns ret i t j); + open_with_gt_ln_branches brs i t j + | Tv_AscribedT e t1 tac _ -> + open_with_gt_ln e i t j; + open_with_gt_ln t1 i t j; + (match tac with + | None -> () + | Some tac -> open_with_gt_ln tac i t j) + | Tv_AscribedC e c tac _ -> + open_with_gt_ln e i t j; + open_with_gt_ln_comp c i t j; + (match tac with + | None -> () + | Some tac -> open_with_gt_ln tac 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 subst_binder b [ DT j t ] == b) + (decreases b) = + + 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 subst_comp c [ DT j t ] == c) + (decreases c) = + + match inspect_comp c with + | C_Total t1 + | C_GTotal t1 -> open_with_gt_ln t1 i t j + | C_Lemma pre post pats -> + open_with_gt_ln pre i t j; + open_with_gt_ln post i t j; + open_with_gt_ln pats i t j + | C_Eff _ _ res args decrs -> + open_with_gt_ln res i t j; + open_args_with_gt_ln_args args i t j; + open_with_gt_ln_terms decrs i t j + +and open_with_gt_ln_terms (l:list term) (i:nat) (t:term) (j:nat) + : Lemma (requires ln'_terms l i /\ i < j) + (ensures subst_terms l [ DT j t ] == l) + (decreases l) = + match l with + | [] -> () + | hd::tl -> + open_with_gt_ln hd i t j; + open_with_gt_ln_terms tl i t j + +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 subst_match_returns m [ DT j t ] == m) + (decreases m) = + + let b, (ret, as_, _) = m in + open_with_gt_ln_binder b i t j; + (match ret with + | Inl t1 -> open_with_gt_ln t1 (i + 1) t (j + 1) + | Inr c -> open_with_gt_ln_comp c (i + 1) t (j + 1)); + (match as_ with + | None -> () + | Some t1 -> open_with_gt_ln t1 (i + 1) t (j + 1)) + + +and open_with_gt_ln_branches (l:list branch) (i:nat) (t:term) (j:nat) + : Lemma (requires ln'_branches l i /\ i < j) + (ensures subst_branches l [ DT j t ] == l) + (decreases l) = + match l with + | [] -> () + | hd::tl -> + open_with_gt_ln_branch hd i t j; + open_with_gt_ln_branches tl i t j + +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 subst_args l [ DT j t ] == l) + (decreases l) = + + match l with + | [] -> () + | (t1, _)::tl -> + open_with_gt_ln t1 i t j; + open_args_with_gt_ln_args tl i t j + +and open_with_gt_ln_branch (b:branch) (i:nat) (t:term) (j:nat) + : Lemma (requires ln'_branch b i /\ i < j) + (ensures subst_branch b [ DT j t ] == b) + (decreases b) = + + let p, t1 = b in + open_with_gt_ln_pat p i t j; + let k = binder_offset_pattern p in + open_with_gt_ln t1 (i + k) t (j + k) + +and open_with_gt_ln_pat (p:pattern) (i:nat) (t:term) (j:nat) + : Lemma (requires ln'_pattern p i /\ i < j) + (ensures subst_pattern p [ DT j t ] == p) + (decreases p) = + + match p with + | Pat_Constant _ -> () + | Pat_Cons _ _ pats -> + open_with_gt_ln_pats pats i t j + | Pat_Var bv _ -> () + | Pat_Dot_Term topt -> + (match topt with + | None -> () + | Some t1 -> open_with_gt_ln t1 i t j) + +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 subst_patterns l [ DT j t ] == l) + (decreases l) = + + match l with + | [] -> () + | hd::tl -> + 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() + +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:tot_or_ghost) + (ty_eff: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 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 ()) + +let typing_to_token (#g:env) (#e:term) (#c:comp_typ) (_ : typing g e c) = magic() diff --git a/stage0/ulib/experimental/FStar.Reflection.Typing.fsti b/stage0/ulib/experimental/FStar.Reflection.Typing.fsti new file mode 100644 index 00000000000..ff7178b2979 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Reflection.Typing.fsti @@ -0,0 +1,1907 @@ +(* + 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.Reflection.Typing + +(** This module defines a typing judgment for (parts of) the total + and ghost fragment of F*. + + We are using it in the meta DSL framework as an + official specification for the F* type system. + + We expect it to grow to cover more of the F* language. + + IT IS HIGHLY EXPERIMENTAL AND NOT YET READY TO USE. + *) + +open FStar.List.Tot +open FStar.Reflection.V2 +module L = FStar.List.Tot +module R = FStar.Reflection.V2 +open FStar.Stubs.Tactics.V2.Builtins +open FStar.Stubs.Tactics.Types +open FStar.Tactics.Effect +module RD = FStar.Stubs.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)) + [SMTPat R.(inspect_ln (pack_ln t))] + +val pack_inspect (t:R.term) + : Lemma (requires ~(Tv_Unsupp? (inspect_ln t))) + (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))] + +val pack_inspect_bv (t:R.bv) + : Lemma (ensures R.(pack_bv (inspect_bv t) == t)) + [SMTPat R.(pack_bv (inspect_bv t))] + +val inspect_pack_binder (bview:R.binder_view) + : Lemma (ensures R.(R.inspect_binder (R.pack_binder bview) == bview)) + [SMTPat R.(inspect_binder (pack_binder bview))] + +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_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_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_lb (lb:R.lb_view) + : Lemma (ensures R.inspect_lb (R.pack_lb lb) == lb) + [SMTPat (R.inspect_lb (R.pack_lb lb))] + +val pack_inspect_lb (lb:R.letbinding) + : Lemma (ensures R.pack_lb (R.inspect_lb lb) == lb) + [SMTPat (R.pack_lb (R.inspect_lb lb))] + +val inspect_pack_sigelt (sev:R.sigelt_view { ~ (Unk? sev) }) + : Lemma (ensures R.inspect_sigelt (R.pack_sigelt sev) == sev) + [SMTPat (R.inspect_sigelt (R.pack_sigelt sev))] + +val pack_inspect_sigelt (se:R.sigelt) + : Lemma (requires ~ (Unk? (R.inspect_sigelt se))) + (ensures R.pack_sigelt (R.inspect_sigelt se) == se) + [SMTPat (R.pack_sigelt (R.inspect_sigelt se))] + +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 + +let lookup_fvar (e:env) (x:fv) : option term = lookup_fvar_uinst e x [] + +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 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 + { 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_binding e ({ + ppname = seal_pp_name "x"; + uniq = x; + sort = ty; + }) + +val lookup_bvar_extend_env (g:env) (x y:var) (ty:term) + : Lemma + (ensures ( + if x = y + then lookup_bvar (extend_env g x ty) y == Some ty + else lookup_bvar (extend_env g x ty) y == lookup_bvar g y)) + [SMTPat (lookup_bvar (extend_env g x ty) y)] + +val lookup_fvar_extend_env (g:env) (x:fv) (us:universes) (y:var) (ty:term) + : Lemma + (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 bv_index (x:bv) + : var + = (inspect_bv x).index + +let namedv_uniq (x:namedv) + : var + = (inspect_namedv x).uniq + +let binder_sort (b:binder) = + (inspect_binder b).sort + +let binder_qual (b:binder) = + let { qual = q } = inspect_binder b in q + +noeq +type subst_elt = + | DT : nat -> term -> subst_elt + | NT : var -> term -> subst_elt + | ND : var -> nat -> subst_elt + +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 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_view = { + ppname = s; + index = n; + sort = sort_default; +} + + +let var_as_bv (v:nat) = pack_bv (make_bv v) + +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) +let mk_arrow ty qual t : R.term = + R.pack_ln (R.Tv_Arrow (binder_of_t_q ty qual) (mk_total t)) +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 [] (mk_simple_binder ppname t1) e1 e2) + +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)) + : nat + = match ps with + | [] -> 0 + | (p, b)::ps -> + let n = binder_offset_pattern p in + let m = binder_offset_patterns ps in + n + m + +and binder_offset_pattern (p:pattern) + : nat + = match p with + | Pat_Constant _ + | Pat_Dot_Term _ -> 0 + + | Pat_Var _ _ -> 1 + + | Pat_Cons head univs subpats -> + binder_offset_patterns subpats + +let rec subst_term (t:term) (ss:subst) + : Tot term (decreases t) + = match inspect_ln t with + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unsupp + | Tv_Unknown -> t + | Tv_Var x -> subst_var x ss + | Tv_BVar j -> subst_db j ss + | Tv_App hd argv -> + pack_ln (Tv_App (subst_term hd ss) + (subst_term (fst argv) ss, snd argv)) + + | Tv_Abs b body -> + let b' = subst_binder b ss in + pack_ln (Tv_Abs b' (subst_term body (shift_subst ss))) + + | Tv_Arrow b c -> + let b' = subst_binder b ss in + pack_ln (Tv_Arrow b' (subst_comp c (shift_subst ss))) + + | 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 (subst_ctx_uvar_and_subst c ss)) + + | Tv_Let recf attrs b def body -> + let b = subst_binder b ss in + pack_ln (Tv_Let recf + (subst_terms attrs ss) + b + (if recf + 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 (subst_term scr ss) + (match ret with + | None -> None + | Some m -> Some (subst_match_returns m ss)) + (subst_branches brs ss)) + + | Tv_AscribedT e t tac b -> + pack_ln (Tv_AscribedT (subst_term e ss) + (subst_term t ss) + (match tac with + | None -> None + | Some tac -> Some (subst_term tac ss)) + b) + + | Tv_AscribedC e c tac b -> + pack_ln (Tv_AscribedC (subst_term e ss) + (subst_comp c ss) + (match tac with + | None -> None + | Some tac -> Some (subst_term tac ss)) + 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 { + 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 (subst_term t ss)) + + | C_GTotal t -> + pack_comp (C_GTotal (subst_term t ss)) + + | C_Lemma pre post pats -> + 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 + (subst_term res ss) + (subst_args args ss) + (subst_terms decrs ss)) + +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 -> subst_term t ss :: subst_terms ts ss + +and subst_args (ts:list argv) (ss:subst) + : Tot (list argv) (decreases ts) + = match ts with + | [] -> [] + | (t,q)::ts -> (subst_term t ss,q) :: subst_args ts ss + +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 = subst_pattern p ss in + let ps = subst_patterns ps (shift_subst_n n ss) in + (p,b)::ps + +and subst_pattern (p:pattern) (ss:subst) + : Tot pattern + (decreases p) + = match p with + | Pat_Constant _ -> p + + | Pat_Cons fv us pats -> + let pats = subst_patterns pats ss in + Pat_Cons fv us pats + + | Pat_Var bv s -> + Pat_Var bv s + + | Pat_Dot_Term topt -> + Pat_Dot_Term (match topt with + | None -> None + | Some t -> Some (subst_term t ss)) + + +and subst_branch (br:branch) (ss:subst) + : Tot branch (decreases br) + = let p, t = br in + let p = subst_pattern p ss in + let j = binder_offset_pattern p in + let t = subst_term t (shift_subst_n j ss) in + p, t + +and subst_branches (brs:list branch) (ss:subst) + : Tot (list branch) (decreases brs) + = match brs with + | [] -> [] + | br::brs -> subst_branch br ss :: subst_branches brs ss + +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 = subst_binder b ss in + let ret = + match ret with + | 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 (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 == + 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 == + 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 == + 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 == + 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 +let unit_ty = pack_ln (Tv_FVar unit_fv) +let bool_fv = pack_fv bool_lid +let bool_ty = pack_ln (Tv_FVar bool_fv) + +let u_zero = pack_universe Uv_Zero +let u_max u1 u2 = pack_universe (Uv_Max [u1; u2]) +let u_succ u = pack_universe (Uv_Succ u) +let tm_type u = pack_ln (Tv_Type u) +let tm_prop = + let prop_fv = R.pack_fv R.prop_qn in + R.pack_ln (Tv_FVar prop_fv) +let eqtype_lid : R.name = ["Prims"; "eqtype"] + +let true_bool = pack_ln (Tv_Const C_True) +let false_bool = pack_ln (Tv_Const C_False) +let eq2 (u:universe) (t v0 v1:term) + : term + = let eq2 = pack_fv eq2_qn in + let eq2 = pack_ln (Tv_UInst eq2 [u]) in + let h = pack_ln (Tv_App eq2 (t, Q_Implicit)) in + let h1 = pack_ln (Tv_App h (v0, Q_Explicit)) in + let h2 = pack_ln (Tv_App h1 (v1, Q_Explicit)) in + h2 + +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 (R.Tv_Arrow (mk_binder (seal "x") bool_ty Q_Explicit) (mk_total (tm_type u_zero))) + + +//////////////////////////////////////////////////////////////////////////////// +// freevars +//////////////////////////////////////////////////////////////////////////////// + + +let rec freevars (e:term) + : FStar.Set.set var + = match inspect_ln e with + | Tv_Uvar _ _ -> Set.complement Set.empty + + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unknown + | Tv_Unsupp + | Tv_BVar _ -> Set.empty + + | Tv_Var x -> Set.singleton (namedv_uniq x) + + | Tv_App e1 (e2, _) -> + Set.union (freevars e1) (freevars e2) + + | Tv_Abs b body -> + Set.union (freevars_binder b) (freevars body) + + | Tv_Arrow b c -> + Set.union (freevars_binder b) (freevars_comp c) + + | Tv_Refine b f -> + freevars (binder_sort b) `Set.union` + freevars f + + | Tv_Let recf attrs b def body -> + freevars_terms attrs `Set.union` + freevars (binder_sort b) `Set.union` + freevars def `Set.union` + freevars body + + | Tv_Match scr ret brs -> + freevars scr `Set.union` + freevars_opt ret freevars_match_returns `Set.union` + freevars_branches brs + + | Tv_AscribedT e t tac b -> + freevars e `Set.union` + freevars t `Set.union` + freevars_opt tac freevars + + | Tv_AscribedC e c tac b -> + freevars e `Set.union` + freevars_comp c `Set.union` + freevars_opt tac freevars + +and freevars_opt (#a:Type0) (o:option a) (f: (x:a { x << o } -> FStar.Set.set var)) + : FStar.Set.set var + = match o with + | None -> Set.empty + | Some x -> f x + +and freevars_comp (c:comp) + : FStar.Set.set var + = match inspect_comp c with + | C_Total t + | C_GTotal t -> + freevars t + + | C_Lemma pre post pats -> + freevars pre `Set.union` + freevars post `Set.union` + freevars pats + + | C_Eff us eff_name res args decrs -> + freevars res `Set.union` + freevars_args args `Set.union` + freevars_terms decrs + +and freevars_args (ts:list argv) + : FStar.Set.set var + = match ts with + | [] -> Set.empty + | (t,q)::ts -> + freevars t `Set.union` + freevars_args ts + +and freevars_terms (ts:list term) + : FStar.Set.set var + = match ts with + | [] -> Set.empty + | t::ts -> + freevars t `Set.union` + freevars_terms ts + +and freevars_binder (b:binder) + : Tot (Set.set var) (decreases b) + = let bndr = inspect_binder b in + freevars bndr.sort `Set.union` + freevars_terms bndr.attrs + +and freevars_pattern (p:pattern) + : Tot (Set.set var) (decreases p) + = match p with + | Pat_Constant _ -> + Set.empty + + | Pat_Cons head univs subpats -> + freevars_patterns subpats + + | Pat_Var bv s -> Set.empty + + | Pat_Dot_Term topt -> + freevars_opt topt freevars + +and freevars_patterns (ps:list (pattern & bool)) + : Tot (Set.set var) (decreases ps) + = match ps with + | [] -> Set.empty + | (p, b)::ps -> + freevars_pattern p `Set.union` + freevars_patterns ps + +and freevars_branch (br:branch) + : Tot (Set.set var) (decreases br) + = let p, t = br in + freevars_pattern p `Set.union` + freevars t + +and freevars_branches (brs:list branch) + : Tot (Set.set var) (decreases brs) + = match brs with + | [] -> Set.empty + | hd::tl -> freevars_branch hd `Set.union` freevars_branches tl + +and freevars_match_returns (m:match_returns_ascription) + : Tot (Set.set var) (decreases m) + = let b, (ret, as_, eq) = m in + let b = freevars_binder b in + let ret = + match ret with + | Inl t -> freevars t + | Inr c -> freevars_comp c + in + let as_ = freevars_opt as_ freevars in + b `Set.union` ret `Set.union` as_ + + +let rec ln' (e:term) (n:int) + : Tot bool (decreases e) + = match inspect_ln e with + | Tv_UInst _ _ + | Tv_FVar _ + | Tv_Type _ + | Tv_Const _ + | Tv_Unknown + | Tv_Unsupp + | Tv_Var _ -> true + | Tv_BVar m -> bv_index m <= n + | Tv_App e1 (e2, _) -> ln' e1 n && ln' e2 n + | Tv_Abs b body -> + ln'_binder b n && + ln' body (n + 1) + + | Tv_Arrow b c -> + ln'_binder b n && + ln'_comp c (n + 1) + + | Tv_Refine b f -> + ln'_binder b n && + ln' f (n + 1) + + | Tv_Uvar _ _ -> + false + + | Tv_Let recf attrs b def body -> + ln'_terms attrs n && + ln'_binder b n && + (if recf then ln' def (n + 1) else ln' def n) && + ln' body (n + 1) + + | Tv_Match scr ret brs -> + ln' scr n && + (match ret with + | None -> true + | Some m -> ln'_match_returns m n) && + ln'_branches brs n + + | Tv_AscribedT e t tac b -> + ln' e n && + ln' t n && + (match tac with + | None -> true + | Some tac -> ln' tac n) + + | Tv_AscribedC e c tac b -> + ln' e n && + ln'_comp c n && + (match tac with + | None -> true + | Some tac -> ln' tac n) + +and ln'_comp (c:comp) (i:int) + : Tot bool (decreases c) + = match inspect_comp c with + | C_Total t + | C_GTotal t -> ln' t i + + | C_Lemma pre post pats -> + ln' pre i && + ln' post i && + ln' pats i + + | C_Eff us eff_name res args decrs -> + ln' res i && + ln'_args args i && + ln'_terms decrs i + +and ln'_args (ts:list argv) (i:int) + : Tot bool (decreases ts) + = match ts with + | [] -> true + | (t,q)::ts -> + ln' t i && + ln'_args ts i + +and ln'_binder (b:binder) (n:int) + : Tot bool (decreases b) + = let bndr = inspect_binder b in + ln' bndr.sort n && + ln'_terms bndr.attrs n + +and ln'_terms (ts:list term) (n:int) + : Tot bool (decreases ts) + = match ts with + | [] -> true + | t::ts -> ln' t n && ln'_terms ts n + +and ln'_patterns (ps:list (pattern & bool)) (i:int) + : Tot bool + (decreases ps) + = match ps with + | [] -> true + | (p, b)::ps -> + let b0 = ln'_pattern p i in + let n = binder_offset_pattern p in + let b1 = ln'_patterns ps (i + n) in + b0 && b1 + +and ln'_pattern (p:pattern) (i:int) + : Tot bool + (decreases p) + = match p with + | Pat_Constant _ -> true + + | Pat_Cons head univs subpats -> + ln'_patterns subpats i + + | Pat_Var bv s -> true + + | Pat_Dot_Term topt -> + (match topt with + | None -> true + | Some t -> ln' t i) + +and ln'_branch (br:branch) (i:int) + : Tot bool (decreases br) + = let p, t = br in + let b = ln'_pattern p i in + let j = binder_offset_pattern p in + let b' = ln' t (i + j) in + b&&b' + +and ln'_branches (brs:list branch) (i:int) + : Tot bool (decreases brs) + = match brs with + | [] -> true + | br::brs -> + ln'_branch br i && + ln'_branches brs i + +and ln'_match_returns (m:match_returns_ascription) (i:int) + : Tot bool (decreases m) + = let b, (ret, as_, eq) = m in + let b = ln'_binder b i in + let ret = + match ret with + | Inl t -> ln' t (i + 1) + | Inr c -> ln'_comp c (i + 1) + in + let as_ = + match as_ with + | None -> true + | Some t -> ln' t (i + 1) + in + b && ret && as_ + +let ln (t:term) = ln' t (-1) +let ln_comp (c:comp) = ln'_comp c (-1) + + +// +// term_ctxt is used to define the equiv relation later, +// basically putting two equiv terms in a hole gives equiv terms +// +// The abs, arrow, refine, and let cases don't seem right here, +// since to prove their equiv, we need to extend gamma for their bodies +// +// If this is useful only for app, then may be we should remove it, +// and add app rules to the equiv relation itself + +[@@ no_auto_projectors] +noeq +type term_ctxt = + | Ctxt_hole : term_ctxt + | Ctxt_app_head : term_ctxt -> argv -> term_ctxt + | Ctxt_app_arg : term -> aqualv -> term_ctxt -> term_ctxt + // | Ctxt_abs_binder : binder_ctxt -> term -> term_ctxt + // | Ctxt_abs_body : binder -> term_ctxt -> term_ctxt + // | Ctxt_arrow_binder : binder_ctxt -> comp -> term_ctxt + // | Ctxt_arrow_comp : binder -> comp_ctxt -> term_ctxt + // | Ctxt_refine_sort : bv -> term_ctxt -> term -> term_ctxt + // | Ctxt_refine_ref : bv -> typ -> term_ctxt -> term_ctxt + // | Ctxt_let_sort : bool -> list term -> bv -> term_ctxt -> term -> term -> term_ctxt + // | Ctxt_let_def : bool -> list term -> bv -> term -> term_ctxt -> term -> term_ctxt + // | Ctxt_let_body : bool -> list term -> bv -> term -> term -> term_ctxt -> term_ctxt + // | Ctxt_match_scrutinee : term_ctxt -> option match_returns_ascription -> list branch -> term_ctxt + +// and bv_ctxt = +// | Ctxt_bv : sealed string -> nat -> term_ctxt -> bv_ctxt + +// and binder_ctxt = +// | Ctxt_binder : bv -> aqualv -> list term -> term_ctxt -> binder_ctxt + +// and comp_ctxt = +// | Ctxt_total : term_ctxt -> comp_ctxt +// | Ctxt_gtotal : term_ctxt -> comp_ctxt + +let rec apply_term_ctxt (e:term_ctxt) (t:term) : Tot term (decreases e) = + match e with + | Ctxt_hole -> t + | Ctxt_app_head e arg -> pack_ln (Tv_App (apply_term_ctxt e t) arg) + | Ctxt_app_arg hd q e -> pack_ln (Tv_App hd (apply_term_ctxt e t, q)) +// | Ctxt_abs_binder b body -> pack_ln (Tv_Abs (apply_binder_ctxt b t) body) +// | Ctxt_abs_body b e -> pack_ln (Tv_Abs b (apply_term_ctxt e t)) +// | Ctxt_arrow_binder b c -> pack_ln (Tv_Arrow (apply_binder_ctxt b t) c) +// | Ctxt_arrow_comp b c -> pack_ln (Tv_Arrow b (apply_comp_ctxt c t)) +// | Ctxt_refine_sort b sort phi -> pack_ln (Tv_Refine b (apply_term_ctxt sort t) phi) +// | Ctxt_refine_ref b sort phi -> pack_ln (Tv_Refine b sort (apply_term_ctxt phi t)) + +// | Ctxt_let_sort b attrs bv sort def body -> +// pack_ln (Tv_Let b attrs bv (apply_term_ctxt sort t) def body) +// | Ctxt_let_def b attrs bv sort def body -> +// pack_ln (Tv_Let b attrs bv sort (apply_term_ctxt def t) body) +// | Ctxt_let_body b attrs bv sort def body -> +// pack_ln (Tv_Let b attrs bv sort def (apply_term_ctxt body t)) + +// | Ctxt_match_scrutinee sc ret brs -> +// pack_ln (Tv_Match (apply_term_ctxt sc t) ret brs) + +// and apply_binder_ctxt (b:binder_ctxt) (t:term) : Tot binder (decreases b) = +// let Ctxt_binder binder_bv binder_qual binder_attrs ctxt = b in +// pack_binder {binder_bv; binder_qual; binder_attrs; binder_sort=apply_term_ctxt ctxt t} + +// and apply_comp_ctxt (c:comp_ctxt) (t:term) : Tot comp (decreases c) = +// match c with +// | Ctxt_total e -> pack_comp (C_Total (apply_term_ctxt e t)) +// | Ctxt_gtotal e -> pack_comp (C_GTotal (apply_term_ctxt e t)) + +noeq +type constant_typing: vconst -> term -> Type0 = + | CT_Unit: constant_typing C_Unit unit_ty + | CT_True: constant_typing C_True bool_ty + | CT_False: constant_typing C_False bool_ty + +[@@ no_auto_projectors] +noeq +type univ_eq : universe -> universe -> Type0 = + | UN_Refl : + u:universe -> + univ_eq u u + + | UN_MaxCongL : + u:universe -> + u':universe -> + v:universe -> + univ_eq u u' -> + univ_eq (u_max u v) (u_max u' v) + + | UN_MaxCongR : + u:universe -> + v:universe -> + v':universe -> + univ_eq v v' -> + univ_eq (u_max u v) (u_max u v') + + | UN_MaxComm: + u:universe -> + v:universe -> + univ_eq (u_max u v) (u_max v u) + + | UN_MaxLeq: + u:universe -> + v:universe -> + univ_leq u v -> + univ_eq (u_max u v) v + +and univ_leq : universe -> universe -> Type0 = + | UNLEQ_Refl: + u:universe -> + univ_leq u u + + | UNLEQ_Succ: + u:universe -> + v:universe -> + univ_leq u v -> + univ_leq u (u_succ v) + + | UNLEQ_Max: + u:universe -> + v:universe -> + 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_); + (Pat_Constant C_False, else_)]) + + +// effect and type +type comp_typ = FStar.Stubs.Tactics.Types.tot_or_ghost & typ + +let close_comp_typ' (c:comp_typ) (x:var) (i:nat) = + 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, subst_term (snd c) (open_with_var x i) + +let open_comp_typ (c:comp_typ) (x:var) = + open_comp_typ' c x 0 + +let freevars_comp_typ (c:comp_typ) = freevars (snd c) + +let mk_comp (c:comp_typ) : R.comp = + match fst c with + | E_Total -> mk_total (snd c) + | E_Ghost -> mk_ghost (snd c) + +let mk_arrow_ct ty qual (c:comp_typ) : R.term = + R.pack_ln (R.Tv_Arrow (binder_of_t_q ty qual) (mk_comp c)) + +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 +// +let is_non_informative_name (l:name) : bool = + l = R.unit_lid || + l = R.squash_qn || + l = ["FStar"; "Ghost"; "erased"] + +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 : env -> term -> Type0 = + | Non_informative_type: + g:env -> + u:universe -> + non_informative g (pack_ln (Tv_Type u)) + + | Non_informative_fv: + g:env -> + x:fv{is_non_informative_fv x} -> + non_informative g (pack_ln (Tv_FVar x)) + + | Non_informative_uinst: + g:env -> + x:fv{is_non_informative_fv x} -> + us:list universe -> + non_informative g (pack_ln (Tv_UInst x us)) + + | Non_informative_app: + g:env -> + t:term -> + arg:argv -> + non_informative g t -> + non_informative g (pack_ln (Tv_App t arg)) + + | Non_informative_total_arrow: + g:env -> + t0:term -> + q:aqualv -> + t1:term -> + non_informative g t1 -> + non_informative g (mk_arrow_ct t0 q (E_Total, t1)) + + | Non_informative_ghost_arrow: + g:env -> + t0:term -> + q:aqualv -> + t1:term -> + non_informative g (mk_arrow_ct t0 q (E_Ghost, t1)) + + | Non_informative_token: + g:env -> + t:typ -> + squash (non_informative_token g t) -> + non_informative g t + +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 = + match univs with + | Some univs -> pack_ln (Tv_UInst fv univs) + | None -> 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 +type typing : env -> term -> comp_typ -> Type0 = + | T_Token : + g:env -> + e:term -> + c:comp_typ -> + squash (typing_token g e c) -> + typing g e c + + | T_Var : + g:env -> + x:namedv { Some? (lookup_bvar g (namedv_uniq x)) } -> + typing g (pack_ln (Tv_Var x)) (E_Total, Some?.v (lookup_bvar g (namedv_uniq x))) + + | T_FVar : + g:env -> + x:fv { Some? (lookup_fvar g x) } -> + typing g (pack_ln (Tv_FVar x)) (E_Total, Some?.v (lookup_fvar g x)) + + | T_UInst : + g:env -> + x:fv -> + us:list universe { Some? (lookup_fvar_uinst g x us) } -> + typing g (pack_ln (Tv_UInst x us)) (E_Total, Some?.v (lookup_fvar_uinst g x us)) + + | T_Const: + g:env -> + v:vconst -> + t:term -> + constant_typing v t -> + typing g (constant_as_term v) (E_Total, t) + + | T_Abs : + g:env -> + x:var { None? (lookup_bvar g x) } -> + ty:term -> + body:term { ~(x `Set.mem` freevars body) } -> + body_c:comp_typ -> + u:universe -> + pp_name:pp_name_t -> + q:aqualv -> + ty_eff: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 ty q) body)) + (E_Total, + pack_ln (Tv_Arrow (mk_binder pp_name ty q) + (mk_comp (close_comp_typ body_c x)))) + + | T_App : + g:env -> + e1:term -> + e2:term -> + x:binder -> + t:term -> + eff:tot_or_ghost -> + typing g e1 (eff, pack_ln (Tv_Arrow x (mk_comp (eff, t)))) -> + typing g e2 (eff, binder_sort x) -> + typing g (pack_ln (Tv_App e1 (e2, binder_qual x))) + (eff, open_with t e2) + + | T_Let: + g:env -> + x:var { None? (lookup_bvar g x) } -> + e1:term -> + t1:typ -> + e2:term -> + t2:typ -> + eff:tot_or_ghost -> + pp_name:pp_name_t -> + typing g e1 (eff, t1) -> + typing (extend_env g x t1) (open_term e2 x) (eff, t2) -> + typing g (mk_let pp_name e1 t1 e2) (eff, open_with (close_term t2 x) e1) + + | T_Arrow: + g:env -> + x:var { None? (lookup_bvar g x) } -> + t1:term -> + t2:term { ~(x `Set.mem` freevars t2) } -> + u1:universe -> + u2:universe -> + pp_name:pp_name_t -> + q:aqualv -> + eff:tot_or_ghost -> + t1_eff:tot_or_ghost -> + t2_eff: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 t1 q) (mk_comp (eff, t2)))) + (E_Total, tm_type (u_max u1 u2)) + + | T_Refine: + g:env -> + x:var { None? (lookup_bvar g x) } -> + t:term -> + e:term { ~(x `Set.mem` freevars e) } -> + u1:universe -> + u2:universe -> + t_eff:tot_or_ghost -> + e_eff: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 (mk_simple_binder pp_name_default t) e)) (E_Total, tm_type u1) + + | T_PropIrrelevance: + g:env -> + e:term -> + t:term -> + e_eff:tot_or_ghost -> + t_eff:tot_or_ghost -> + typing g e (e_eff, t) -> + typing g t (t_eff, tm_prop) -> + typing g (`()) (E_Total, t) + + | T_Sub: + g:env -> + e:term -> + c:comp_typ -> + c':comp_typ -> + typing g e c -> + sub_comp g c c' -> + typing g e c' + + | T_If: + g: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:tot_or_ghost -> + ty_eff:tot_or_ghost -> + typing g scrutinee (eff, bool_ty) -> + typing (extend_env g hyp (eq2 (pack_universe Uv_Zero) bool_ty scrutinee true_bool)) then_ (eff, ty) -> + typing (extend_env g hyp (eq2 (pack_universe Uv_Zero) bool_ty scrutinee false_bool)) else_ (eff, ty) -> + 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 -> + sc_u : universe -> + sc_ty : typ -> + sc : term -> + ty_eff:tot_or_ghost -> + typing g sc_ty (ty_eff, tm_type sc_u) -> + eff: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_refl: + g:env -> + t:term -> + rel:relation -> + related g t rel t + + | Rel_sym: + g:env -> + t0:term -> + t1:term -> + related g t0 R_Eq t1 -> + related g t1 R_Eq t0 + + | Rel_trans: + g:env -> + t0:term -> + t1:term -> + t2:term -> + rel:relation -> + related g t0 rel t1 -> + related g t1 rel t2 -> + related g t0 rel t2 + + | Rel_univ: + g:env -> + u:universe -> + v:universe -> + univ_eq u v -> + related g (tm_type u) R_Eq (tm_type v) + + | Rel_beta: + g:env -> + t:typ -> + q:aqualv -> + e:term { ln' e 0 } -> + arg:term { ln arg } -> + related g (R.pack_ln (R.Tv_App (mk_abs t q e) (arg, q))) + R_Eq + (subst_term e [ DT 0 arg ]) + + | Rel_eq_token: + g:env -> + t0:term -> + t1:term -> + squash (equiv_token g t0 t1) -> + related g t0 R_Eq t1 + + | Rel_subtyping_token: + g:env -> + t0:term -> + t1:term -> + squash (subtyping_token g t0 t1) -> + related g t0 R_Sub t1 + + | Rel_equiv: + g:env -> + t0:term -> + t1:term -> + rel:relation -> + related g t0 R_Eq t1 -> + related g t0 rel t1 + + | Rel_arrow: + g:env -> + t1:term -> + t2:term -> + q:aqualv -> + c1:comp_typ -> + c2:comp_typ -> + rel:relation -> + x:var{ + None? (lookup_bvar g x) /\ + ~ (x `Set.mem` (freevars_comp_typ c1 `Set.union` freevars_comp_typ c2)) + } -> + related g t2 rel t1 -> + related_comp (extend_env g x t2) + (open_comp_typ c1 x) + rel + (open_comp_typ c2 x) -> + related g (mk_arrow_ct t1 q c1) rel (mk_arrow_ct t2 q c2) + + | Rel_abs: + g:env -> + t1:term -> + t2:term -> + q:aqualv -> + e1:term -> + e2:term -> + x:var{ + None? (lookup_bvar g x) /\ ~ (x `Set.mem` (freevars e1 `Set.union` freevars e2)) + } -> + related g t1 R_Eq t2 -> + related (extend_env g x t1) + (subst_term e1 (open_with_var x 0)) + R_Eq + (subst_term e2 (open_with_var x 0)) -> + related g (mk_abs t1 q e1) R_Eq (mk_abs t2 q e2) + + | Rel_ctxt: + g:env -> + t0:term -> + t1:term -> + ctxt:term_ctxt -> + related g t0 R_Eq t1 -> + related g (apply_term_ctxt ctxt t0) R_Eq (apply_term_ctxt ctxt t1) + +and related_comp : env -> comp_typ -> relation -> comp_typ -> Type0 = + | Relc_typ: + g:env -> + t0:term -> + t1:term -> + eff:tot_or_ghost -> + rel:relation -> + related g t0 rel t1 -> + related_comp g (eff, t0) rel (eff, t1) + + | Relc_total_ghost: + g:env -> + t:term -> + related_comp g (E_Total, t) R_Sub (E_Ghost, t) + + | Relc_ghost_total: + g:env -> + t:term -> + non_informative g t -> + related_comp g (E_Ghost, t) R_Sub (E_Total, t) + +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 (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 + +and sub_comp (g:env) (c1 c2:comp_typ) = related_comp g c1 R_Sub c2 + +and equiv (g:env) (t1 t2:term) = related g t1 R_Eq t2 + +type tot_typing (g:env) (e:term) (t:term) = typing g e (E_Total, t) + +type ghost_typing (g:env) (e:term) (t:term) = typing g e (E_Ghost, t) + +val subtyping_token_renaming (g:env) + (bs0:bindings) + (bs1:bindings) + (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) + (y:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) y) }) + (t:term) + (t0 t1:term) + (d:subtyping_token (extend_env_l g (bs1@(x,t)::bs0)) t0 t1) + : 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) + (bs1:bindings) + (x:var { None? (lookup_bvar (extend_env_l g (bs1@bs0)) x) }) + (t:term) + (t0 t1:term) + (d:subtyping_token (extend_env_l g (bs1@bs0)) t0 t1) + : 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 (E_Total, tm_type (u_max u u))) + : typing g t (E_Total, tm_type u) + = let ue + : univ_eq (u_max u u) u + = UN_MaxLeq u u (UNLEQ_Refl u) + in + let du : related g (tm_type (u_max u u)) R_Eq (tm_type u) + = Rel_univ g (u_max u u) u ue in + let du : related g (tm_type (u_max u u)) R_Sub (tm_type u) + = Rel_equiv _ _ _ _ du in + T_Sub _ _ _ _ d (Relc_typ _ _ _ E_Total _ du) + +val well_typed_terms_are_ln (g:R.env) (e:R.term) (c:comp_typ) (_:typing g e c) + : Lemma (ensures ln e /\ ln (snd 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) (E_Total, tm_type u)) + +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)) (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 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 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 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 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 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) + : Lemma + (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 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 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) + : Lemma + (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) + : Lemma + (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) + : Lemma (open_term (close_term e x) x == e) + + +val close_open_inverse' (i:nat) + (t:term) + (x:var { ~(x `Set.mem` freevars t) }) + : Lemma + (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 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 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 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 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 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 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 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 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 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) }) + : Lemma (close_term (open_term e x) x == e) + +// +// fst has corresponding lemmas for other syntax classes +// +val close_with_not_free_var (t:R.term) (x:var) (i:nat) + : Lemma + (requires ~ (Set.mem x (freevars t))) + (ensures subst_term t [ ND x i ] == t) + +// this also requires x to be not in freevars e1 `Set.union` freevars 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) + (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) + + +// the proof for this requires e1 and e2 to be ln +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 (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 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 +// + +let fstar_env_fvs (g:R.env) = + lookup_fvar g unit_fv == Some (tm_type u_zero) /\ + lookup_fvar g bool_fv == Some (tm_type u_zero) /\ + lookup_fvar g b2t_fv == Some b2t_ty + +type fstar_env = g:R.env{fstar_env_fvs g} + +type fstar_top_env = g:fstar_env { + forall x. None? (lookup_bvar g x ) +} + +// +// No universe polymorphism yet +// +noeq +type sigelt_typing : env -> sigelt -> Type0 = + | ST_Let : + g : env -> + fv : R.fv -> + ty : R.typ -> + tm : R.term -> + squash (typing g tm (E_Total, ty)) -> + sigelt_typing g (pack_sigelt (Sg_Let false [pack_lb ({ lb_fv = fv; lb_us = []; lb_typ = ty; lb_def = tm })])) + + | ST_Let_Opaque : + g : env -> + fv : R.fv -> + ty : R.typ -> + (* no tm: only a proof of existence *) + squash (exists (tm:R.term). typing g tm (E_Total, ty)) -> + sigelt_typing g (pack_sigelt (Sg_Let false [pack_lb ({ lb_fv = fv; lb_us = []; lb_typ = ty; lb_def = (`_) })])) + +(** + * The type of the top-level tactic that would splice-in the definitions. + * + * The tactic takes as input as type environment and an optional expected type + * + * It returns (sigelts_before, sigelt, sigelt_after) + * where sigelts_before and sigelt_after are list of sigelts + * + * All the returned sigelts indicate via a boolean flag whether they are well-typed, + * in the judgment above + * + * If the flag is not set, F* typechecker typechecks the returned sigelts + * + * The sigelt in the middle, if well-typed, has the input expected type + * + * In addition, each sigelt can have a 'blob' attached with a given name. + * The blob can be used later, e.g., during extraction, and passed back to the + * extension to perform additional processing. + * + * The blob is stored in the sigmeta_extension_data field of the enclosing sigelt. + *) + +let blob = string & R.term + +// +// t is the optional expected type +// +let sigelt_has_type (s:R.sigelt) (t:option R.term) : prop = + let open R in + match t with + | None -> True + | Some t -> + match inspect_sigelt s with + | Sg_Let false [lb] -> begin + let {lb_typ} = inspect_lb lb in + lb_typ == t + end + + | _ -> False + +// +// If checked is true, this sigelt is properly typed for the environment +// If not, we don't know and let F* re-typecheck the sigelt. +// + +let sigelt_for (g:env) (t:option R.typ) = + tup:(bool & sigelt & option blob) { + let (checked, se, _) = tup in + checked ==> (sigelt_typing g se /\ sigelt_has_type se t) + } + +// +// sigelts_before, sigelt, sigelts_after +// +let dsl_tac_result_t (g:env) (t:option R.typ) = + list (sigelt_for g None) & + (sigelt_for g t) & + list (sigelt_for g None) + +// +// The input option R.typ is the expected type +// +type dsl_tac_t = + gt:(fstar_top_env & option R.typ) -> + Tac (dsl_tac_result_t (fst gt) (snd gt)) + +val if_complete_match (g:env) (t:term) + : match_complete_token g t bool_ty [ + Pat_Constant C_True; + Pat_Constant C_False; + ] [[]; []] + +// Derived rule for if + +val 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:tot_or_ghost) + (ty_eff: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) + +(* Helper to return a single let definition in a splice_t tactic. *) +let mk_checked_let (g:R.env) (cur_module:name) (nm:string) (tm:R.term) (ty:R.typ{typing g tm (E_Total, ty)}) + : sigelt_for g (Some ty) = + let fv = pack_fv (cur_module @ [nm]) in + let lb = R.pack_lb ({ lb_fv = fv; lb_us = []; lb_typ = ty; lb_def = tm }) in + let se = R.pack_sigelt (R.Sg_Let false [lb]) in + let pf : sigelt_typing g se = + ST_Let g fv ty tm () + in + ( true, se, None ) + +let mk_unchecked_let (g:R.env) (cur_module:name) (nm:string) (tm:R.term) (ty:R.typ) + : bool & sigelt & option blob = + let fv = pack_fv (cur_module @ [nm]) in + let lb = R.pack_lb ({ lb_fv = fv; lb_us = []; lb_typ = ty; lb_def = tm }) in + let se = R.pack_sigelt (R.Sg_Let false [lb]) in + ( false, se, None ) + +(* Turn a typing derivation into a token. This is useful +to call primitives that require a proof of typing, like +`call_subtac`, since they do not take derivations nor can +they even be mentioned in that module due to dependencies. +Probably the right thing to do is refactor and avoid this, though. *) +val typing_to_token (#g:env) (#e:term) (#c:comp_typ) + : typing g e c -> typing_token g e c diff --git a/stage0/ulib/experimental/FStar.Sequence.Ambient.fst b/stage0/ulib/experimental/FStar.Sequence.Ambient.fst new file mode 100644 index 00000000000..1d024da716b --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Ambient.fst @@ -0,0 +1,43 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module brings properties about sequences ambiently into the +context. The properties are modeled after those in the Dafny sequence +axioms, with patterns for quantifiers chosen as in those axioms. + +@summary Puts properties of sequences into the ambient context +*) +module FStar.Sequence.Ambient + +open FStar.Sequence.Base + +let all_seq_facts_ambient : (squash all_seq_facts) = + all_seq_facts_lemma () diff --git a/stage0/ulib/experimental/FStar.Sequence.Base.fst b/stage0/ulib/experimental/FStar.Sequence.Base.fst new file mode 100644 index 00000000000..eddce94dc9c --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Base.fst @@ -0,0 +1,755 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling sequences +as they're modeled in Dafny. It also states and proves some properties +about sequences, and provides a lemma `all_seq_facts_lemma` one +can call to bring them into context. The properties are modeled after +those in the Dafny sequence axioms, with patterns for quantifiers +chosen as in those axioms. + +@summary Type, functions, and properties of sequences +*) +module FStar.Sequence.Base + +module FLT = FStar.List.Tot + +/// Internally, we represent a sequence as a list. + +type seq (ty: Type) = list ty + +/// We represent the Dafny function `Seq#Length` with `length`: +/// +/// function Seq#Length(Seq T): int; + +let length = FLT.length + +/// We represent the Dafny function `Seq#Empty` with `empty`: +/// +/// function Seq#Empty(): Seq T; + +let empty (#ty: Type) : seq ty = [] + +/// We represent the Dafny function `Seq#Singleton` with `singleton`: +/// +/// function Seq#Singleton(T): Seq T; + +let singleton (#ty: Type) (v: ty) : seq ty = + [v] + +/// We represent the Dafny function `Seq#Index` with `index`: +/// +/// function Seq#Index(Seq T, int): T; + +let index (#ty: Type) (s: seq ty) (i: nat{i < length s}) : ty = + FLT.index s i + +/// We represent the Dafny function `Seq#Build` with `build`: +/// +/// function Seq#Build(s: Seq T, val: T): Seq T; + +let build (#ty: Type) (s: seq ty) (v: ty) : seq ty = + FLT.append s [v] + +/// We represent the Dafny function `Seq#Append` with `append`: +/// +/// function Seq#Append(Seq T, Seq T): Seq T; + +let append = FLT.append + +/// We represent the Dafny function `Seq#Update` with `update`: +/// +/// function Seq#Update(Seq T, int, T): Seq T; + +let update (#ty: Type) (s: seq ty) (i: nat{i < length s}) (v: ty) : seq ty = + let s1, _, s2 = FLT.split3 s i in + append s1 (append [v] s2) + +/// We represent the Dafny function `Seq#Contains` with `contains`: +/// +/// function Seq#Contains(Seq T, T): bool; + +let contains (#ty: Type) (s: seq ty) (v: ty) : Type0 = + FLT.memP v s + +/// We represent the Dafny function `Seq#Take` with `take`: +/// +/// function Seq#Take(s: Seq T, howMany: int): Seq T; + +let take (#ty: Type) (s: seq ty) (howMany: nat{howMany <= length s}) : seq ty = + let result, _ = FLT.splitAt howMany s in + result + +/// We represent the Dafny function `Seq#Drop` with `drop`: +/// +/// function Seq#Drop(s: Seq T, howMany: int): Seq T; + +let drop (#ty: Type) (s: seq ty) (howMany: nat{howMany <= length s}) : seq ty = + let _, result = FLT.splitAt howMany s in + result + +/// We represent the Dafny function `Seq#Equal` with `equal`. +/// +/// function Seq#Equal(Seq T, Seq T): bool; + +let equal (#ty: Type) (s0: seq ty) (s1: seq ty) : Type0 = + length s0 == length s1 /\ + (forall j.{:pattern index s0 j \/ index s1 j} + 0 <= j && j < length s0 ==> index s0 j == index s1 j) + +/// Instead of representing the Dafny function `Seq#SameUntil`, which +/// is only ever used in Dafny to represent prefix relations, we +/// instead use `is_prefix`. +/// +/// function Seq#SameUntil(Seq T, Seq T, int): bool; + +let is_prefix (#ty: Type) (s0: seq ty) (s1: seq ty) : Type0 = + length s0 <= length s1 + /\ (forall (j: nat).{:pattern index s0 j \/ index s1 j} + j < length s0 ==> index s0 j == index s1 j) + +/// We represent the Dafny function `Seq#Rank` with `rank`. +/// +/// function Seq#Rank(Seq T): int; + +let rank (#ty: Type) (v: ty) = v + +/// We now prove each of the facts that comprise `all_seq_facts`. +/// For fact `xxx_fact`, we prove it with `xxx_lemma`. Sometimes, that +/// requires a helper lemma, which we call `xxx_helper`. In some cases, +/// we need multiple helpers, so we suffix their names with integers. + +private let length_of_empty_is_zero_lemma () : Lemma (length_of_empty_is_zero_fact) = + () + +private let length_zero_implies_empty_lemma () : Lemma (length_zero_implies_empty_fact) = + () + +private let singleton_length_one_lemma () : Lemma (singleton_length_one_fact) = + () + +private let build_increments_length_lemma () : Lemma (build_increments_length_fact) = + introduce forall (ty: Type) (s: seq ty) (v: ty). length (build s v) = 1 + length s + with ( + FLT.append_length s [v] + ) + +private let rec index_into_build_helper (#ty: Type) (s: list ty) (v: ty) (i: nat{i < length (append s [v])}) + : Lemma (requires i <= length s) + (ensures index (append s [v]) i == (if i = length s then v else index s i)) = + FLT.append_length s [v]; + match s with + | [] -> () + | hd :: tl -> + if i = 0 then () else index_into_build_helper tl v (i - 1) + +private let index_into_build_lemma () + : Lemma (requires build_increments_length_fact u#a) + (ensures index_into_build_fact u#a ()) = + introduce forall (ty: Type) (s: seq ty) (v: ty) (i: nat{i < length (build s v)}). + (i = length s ==> index (build s v) i == v) + /\ (i <> length s ==> index (build s v) i == index s i) + with ( + index_into_build_helper u#a s v i + ) + +private let append_sums_lengths_lemma () : Lemma (append_sums_lengths_fact) = + introduce forall (ty: Type) (s0: seq ty) (s1: seq ty). length (append s0 s1) = length s0 + length s1 + with ( + FLT.append_length s0 s1 + ) + +private let index_into_singleton_lemma (_: squash (singleton_length_one_fact u#a)) : Lemma (index_into_singleton_fact u#a ()) = + () + +private let rec index_after_append_helper (ty: Type) (s0: list ty) (s1: list ty) (n: nat) + : Lemma (requires n < length (append s0 s1) && length (append s0 s1) = length s0 + length s1) + (ensures index (append s0 s1) n == (if n < length s0 then index s0 n else index s1 (n - length s0))) = + match s0 with + | [] -> () + | hd :: tl -> if n = 0 then () else index_after_append_helper ty tl s1 (n - 1) + +private let index_after_append_lemma (_: squash (append_sums_lengths_fact u#a)) : Lemma (index_after_append_fact u#a ()) = + introduce + forall (ty: Type) (s0: seq ty) (s1: seq ty) (n: nat{n < length (append s0 s1)}). + (n < length s0 ==> index (append s0 s1) n == index s0 n) + /\ (length s0 <= n ==> index (append s0 s1) n == index s1 (n - length s0)) + with ( + index_after_append_helper ty s0 s1 n + ) + +private let rec lemma_splitAt_fst_length (#a:Type) (n:nat) (l:list a) : + Lemma + (requires (n <= length l)) + (ensures (length (fst (FLT.splitAt n l)) = n)) = + match n, l with + | 0, _ -> () + | _, [] -> () + | _, _ :: l' -> lemma_splitAt_fst_length (n - 1) l' + +private let update_maintains_length_helper (#ty: Type) (s: list ty) (i: nat{i < length s}) (v: ty) + : Lemma (length (update s i v) = length s) = + let s1, _, s2 = FLT.split3 s i in + lemma_splitAt_fst_length i s; + FLT.lemma_splitAt_snd_length i s; + FLT.append_length [v] s2; + FLT.append_length s1 (append [v] s2) + +private let update_maintains_length_lemma () : Lemma (update_maintains_length_fact) = + introduce forall (ty: Type) (s: seq ty) (i: nat{i < length s}) (v: ty). + length (update s i v) = length s + with ( + update_maintains_length_helper s i v + ) + +#restart-solver +#push-options "--z3rlimit_factor 4" +private let rec update_then_index_helper + (#ty: Type) + (s: list ty) + (i: nat{i < length s}) + (v: ty) + (n: nat{n < length (update s i v)}) + : Lemma (requires n < length s) + (ensures index (update s i v) n == (if i = n then v else index s n)) = + match s with + | hd :: tl -> + if i = 0 || n = 0 then () + else update_then_index_helper tl (i - 1) v (n - 1) +#pop-options + +private let update_then_index_lemma () : Lemma (update_then_index_fact) = + update_maintains_length_lemma (); + introduce + forall (ty: Type) (s: seq ty) (i: nat{i < length s}) (v: ty) (n: nat{n < length (update s i v)}). + n < length s ==> + (i = n ==> index (update s i v) n == v) + /\ (i <> n ==> index (update s i v) n == index s n) + with + introduce _ ==> _ + with given_antecedent. ( + update_then_index_helper s i v n + ) + +private let contains_iff_exists_index_lemma () : Lemma (contains_iff_exists_index_fact) = + introduce + forall (ty: Type) (s: seq ty) (x: ty). + contains s x <==> (exists (i: nat).{:pattern index s i} i < length s /\ index s i == x) + with ( + introduce contains s x ==> (exists (i: nat).{:pattern index s i} i < length s /\ index s i == x) + with given_antecedent. ( + introduce exists (i: nat). i < length s /\ index s i == x + with (FLT.index_of s x) and () + ); + introduce (exists (i: nat).{:pattern index s i} i < length s /\ index s i == x) ==> contains s x + with given_antecedent. ( + eliminate exists (i: nat). i < length s /\ index s i == x + returns _ + with _. FLT.lemma_index_memP s i + ) + ) + +private let empty_doesnt_contain_anything_lemma () : Lemma (empty_doesnt_contain_anything_fact) = + () + +private let rec build_contains_equiv_helper (ty: Type) (s: list ty) (v: ty) (x: ty) + : Lemma (FLT.memP x (append s [v]) <==> (v == x \/ FLT.memP x s)) = + match s with + | [] -> () + | hd :: tl -> + eliminate x == hd \/ ~(x == hd) + returns FLT.memP x (append s [v]) <==> (v == x \/ FLT.memP x s) + with _. () + and _. build_contains_equiv_helper ty tl v x + +private let build_contains_equiv_lemma () : Lemma (build_contains_equiv_fact) = + introduce + forall (ty: Type) (s: seq ty) (v: ty) (x: ty). + contains (build s v) x <==> (v == x \/ contains s x) + with ( + build_contains_equiv_helper ty s v x + ) + +private let rec take_contains_equiv_exists_helper1 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) + : Lemma (requires FLT.memP x (take s n)) + (ensures (exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x)) = + match s with + | hd :: tl -> + eliminate x == hd \/ ~(x == hd) + returns exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x + with case_x_eq_hd. + assert(index s 0 == x) + and case_x_ne_hd. ( + take_contains_equiv_exists_helper1 ty tl (n - 1) x; + eliminate exists (i_tl: nat). i_tl < n - 1 /\ i_tl < length tl /\ index tl i_tl == x + returns exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x + with _. + introduce exists (i: nat). i < n /\ i < length s /\ index s i == x + with (i_tl + 1) + and ()) + +private let rec take_contains_equiv_exists_helper2 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) (i: nat) + : Lemma (requires (i < n /\ i < length s /\ index s i == x)) + (ensures FLT.memP x (take s n)) = + match s with + | hd :: tl -> + eliminate x == hd \/ ~(x == hd) + returns FLT.memP x (take s n) + with case_x_eq_hd. () + and case_x_ne_hd. take_contains_equiv_exists_helper2 ty tl (n - 1) x (i - 1) + +private let take_contains_equiv_exists_helper3 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) + : Lemma (FLT.memP x (take s n) <==> + (exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x)) = + introduce FLT.memP x (take s n) ==> + (exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x) + with given_antecedent. (take_contains_equiv_exists_helper1 ty s n x); + introduce (exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x) ==> + FLT.memP x (take s n) + with given_antecedent. ( + eliminate exists (i: nat). i < n /\ i < length s /\ index s i == x + returns _ + with _. take_contains_equiv_exists_helper2 ty s n x i + ) + +private let take_contains_equiv_exists_lemma () : Lemma (take_contains_equiv_exists_fact) = + introduce forall (ty: Type) (s: seq ty) (n: nat{n <= length s}) (x: ty). + contains (take s n) x <==> + (exists (i: nat). i < n /\ i < length s /\ index s i == x) + with ( + take_contains_equiv_exists_helper3 ty s n x + ) + +#push-options "--z3rlimit_factor 10 --fuel 1 --ifuel 1" +private let rec drop_contains_equiv_exists_helper1 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) + : Lemma (requires FLT.memP x (drop s n)) + (ensures (exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x)) = + match s with + | hd :: tl -> + eliminate n == 0 \/ n <> 0 + returns exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x + with case_n_eq_0. ( + eliminate x == hd \/ ~(x == hd) + returns _ + with _. assert(index s 0 == x) + and _. ( + drop_contains_equiv_exists_helper1 ty tl n x; + eliminate exists (i_tl: nat). (n <= i_tl /\ i_tl < length tl /\ index tl i_tl == x) + returns _ + with _. introduce exists i. n <= i /\ i < length s /\ index s i == x with (i_tl + 1) and () + )) + and case_n_ne_0. ( + drop_contains_equiv_exists_helper1 ty tl (n - 1) x; + eliminate exists (i_tl: nat). n - 1 <= i_tl /\ i_tl < length tl /\ index tl i_tl == x + returns _ + with _. introduce exists i. n <= i /\ i < length s /\ index s i == x with (i_tl + 1) and ()) +#pop-options + +private let rec drop_contains_equiv_exists_helper2 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) (i: nat) + : Lemma (requires (n <= i /\ i < length s /\ index s i == x)) + (ensures FLT.memP x (drop s n)) = + match s with + | hd :: tl -> + eliminate n == 0 \/ n <> 0 + returns FLT.memP x (drop s n) + with _. FLT.lemma_index_memP s i + and _. ( + drop_contains_equiv_exists_helper2 ty tl (n - 1) x (i - 1); + eliminate exists (i_tl: nat). n - 1 <= i_tl /\ i_tl < length tl /\ index tl i_tl == x + returns _ + with _. + introduce exists i. n <= i /\ i < length s /\ index s i == x with (i_tl + 1) and ()) + +private let drop_contains_equiv_exists_helper3 (ty: Type) (s: list ty) (n: nat{n <= length s}) (x: ty) + : Lemma (FLT.memP x (drop s n) <==> + (exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x)) = + introduce FLT.memP x (drop s n) ==> + (exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x) + with given_antecedent. ( + drop_contains_equiv_exists_helper1 ty s n x); + introduce (exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x) ==> + FLT.memP x (drop s n) + with given_antecedent. ( + eliminate exists (i: nat). n <= i /\ i < length s /\ index s i == x + returns _ + with _. drop_contains_equiv_exists_helper2 ty s n x i + ) + +private let drop_contains_equiv_exists_lemma () : Lemma (drop_contains_equiv_exists_fact) = + introduce + forall (ty: Type) (s: seq ty) (n: nat{n <= length s}) (x: ty). + contains (drop s n) x <==> + (exists (i: nat).{:pattern index s i} n <= i /\ i < length s /\ index s i == x) + with ( + drop_contains_equiv_exists_helper3 ty s n x; + assert (FLT.memP x (drop s n) <==> + (exists (i: nat). n <= i /\ i < length s /\ index s i == x)) + ) + +private let equal_def_lemma () : Lemma (equal_def_fact) = + () + +private let extensionality_lemma () : Lemma (extensionality_fact) = + introduce forall (ty: Type) (a: seq ty) (b: seq ty). equal a b ==> a == b + with + introduce _ ==> _ + with given_antecedent. ( + introduce forall (i: nat) . i < length a ==> index a i == index b i + with + introduce _ ==> _ + with given_antecedent. ( + assert (index a i == index b i) // needed to trigger + ); + FStar.List.Tot.Properties.index_extensionality a b + ) + +private let is_prefix_def_lemma () : Lemma (is_prefix_def_fact) = + () + +private let take_length_lemma () : Lemma (take_length_fact) = + introduce forall (ty: Type) (s: seq ty) (n: nat). + n <= length s ==> length (take s n) = n + with + introduce _ ==> _ + with given_antecedent. ( + lemma_splitAt_fst_length n s + ) + +private let rec index_into_take_helper (#ty: Type) (s: list ty) (n: nat) (j: nat) + : Lemma (requires j < n && n <= length s /\ length (take s n) = n) + (ensures index (take s n) j == index s j) = + match s with + | hd :: tl -> if j = 0 || n = 0 then () else index_into_take_helper tl (n - 1) (j - 1) + +private let index_into_take_lemma () + : Lemma (requires take_length_fact u#a) (ensures index_into_take_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (n: nat) (j: nat). + j < n && n <= length s ==> index (take s n) j == index s j + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (take s n) == n); // triggers take_length_fact + index_into_take_helper s n j + ) + +private let drop_length_lemma () : Lemma (drop_length_fact) = + introduce forall (ty: Type) (s: seq ty) (n: nat). + n <= length s ==> length (drop s n) = length s - n + with + introduce _ ==> _ + with given_antecedent. ( + FLT.lemma_splitAt_snd_length n s + ) + +private let rec index_into_drop_helper (#ty: Type) (s: list ty) (n: nat) (j: nat) + : Lemma (requires j < length s - n /\ length (drop s n) = length s - n) + (ensures index (drop s n) j == index s (j + n)) = + match s with + | hd :: tl -> if n = 0 then () else index_into_drop_helper tl (n - 1) j + +private let index_into_drop_lemma () + : Lemma (requires drop_length_fact u#a) (ensures index_into_drop_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (n: nat) (j: nat). + j < length s - n ==> index (drop s n) j == index s (j + n) + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (drop s n) = length s - n); // triggers drop_length_fact + index_into_drop_helper s n j + ) + +private let drop_index_offset_lemma () + : Lemma (requires drop_length_fact u#a) (ensures drop_index_offset_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (n: nat) (k: nat). + n <= k && k < length s ==> index (drop s n) (k - n) == index s k + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (drop s n) = length s - n); // triggers drop_length_fact + index_into_drop_helper s n (k - n) + ) + +private let rec append_then_take_or_drop_helper (#ty: Type) (s: list ty) (t: list ty) (n: nat) + : Lemma (requires n = length s /\ length (append s t) = length s + length t) + (ensures take (append s t) n == s /\ drop (append s t) n == t) = + match s with + | [] -> () + | hd :: tl -> append_then_take_or_drop_helper tl t (n - 1) + +private let append_then_take_or_drop_lemma () + : Lemma (requires append_sums_lengths_fact u#a) (ensures append_then_take_or_drop_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (t: seq ty) (n: nat). + n = length s ==> take (append s t) n == s /\ drop (append s t) n == t + with + introduce _ ==> _ + with given_antecedent. ( + append_then_take_or_drop_helper s t n + ) + +#push-options "--z3rlimit 20" +private let rec take_commutes_with_in_range_update_helper (#ty: Type) (s: list ty) (i: nat) (v: ty) (n: nat) + : Lemma (requires i < n + /\ n <= length s + /\ length (update s i v) = length s + /\ length (take s n) = n) + (ensures take (update s i v) n == update (take s n) i v) = + match s with + | hd :: tl -> if i = 0 then () else (update_maintains_length_lemma() ; take_commutes_with_in_range_update_helper tl (i - 1) v (n - 1)) +#pop-options + +private let take_commutes_with_in_range_update_lemma () + : Lemma (requires update_maintains_length_fact u#a /\ take_length_fact u#a) + (ensures take_commutes_with_in_range_update_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (i: nat) (v: ty) (n: nat). + i < n && n <= length s ==> + take (update s i v) n == update (take s n) i v + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (update s i v) = length s); // triggers update_maintains_length_fact + assert (length (take s n) = n); // triggers take_length_fact + take_commutes_with_in_range_update_helper s i v n + ) + +private let rec take_ignores_out_of_range_update_helper (#ty: Type) (s: list ty) (i: nat) (v: ty) (n: nat) + : Lemma (requires n <= i + /\ i < length s + /\ length (update s i v) = length s) + (ensures take (update s i v) n == take s n) = + match s with + | hd :: tl -> if n = 0 then () else take_ignores_out_of_range_update_helper tl (i - 1) v (n - 1) + +private let take_ignores_out_of_range_update_lemma () + : Lemma (requires update_maintains_length_fact u#a) + (ensures take_ignores_out_of_range_update_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (i: nat) (v: ty) (n: nat). + n <= i && i < length s ==> + take (update s i v) n == take s n + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (update s i v) = length s); // triggers update_maintains_length_fact + take_ignores_out_of_range_update_helper s i v n + ) + +#push-options "--fuel 2 --ifuel 1 --z3rlimit_factor 4" +private let rec drop_commutes_with_in_range_update_helper (#ty: Type) (s: list ty) (i: nat) (v: ty) (n: nat) + : Lemma (requires n <= i + /\ i < length s + /\ length (update s i v) = length s + /\ length (drop s n) = length s - n) + (ensures drop (update s i v) n == + update (drop s n) (i - n) v) = + match s with + | hd :: tl -> + if n = 0 + then () + else ( + update_maintains_length_lemma (); + drop_length_lemma (); + drop_commutes_with_in_range_update_helper tl (i - 1) v (n - 1) + ) +#pop-options + +private let drop_commutes_with_in_range_update_lemma () + : Lemma (requires update_maintains_length_fact u#a /\ drop_length_fact u#a) + (ensures drop_commutes_with_in_range_update_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (i: nat) (v: ty) (n: nat). + n <= i && i < length s ==> + drop (update s i v) n == update (drop s n) (i - n) v + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (update s i v) = length s); // triggers update_maintains_length_fact + assert (length (drop s n) = length s - n); // triggers drop_length_fact + drop_commutes_with_in_range_update_helper s i v n + ) + +private let rec drop_ignores_out_of_range_update_helper (#ty: Type) (s: list ty) (i: nat) (v: ty) (n: nat) + : Lemma (requires i < n + /\ n <= length s + /\ length (update s i v) = length s) + (ensures drop (update s i v) n == drop s n) = + match s with + | hd :: tl -> if i = 0 then () else drop_ignores_out_of_range_update_helper tl (i - 1) v (n - 1) + +private let drop_ignores_out_of_range_update_lemma () + : Lemma (requires update_maintains_length_fact u#a) + (ensures drop_ignores_out_of_range_update_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (i: nat) (v: ty) (n: nat). + i < n && n <= length s ==> + drop (update s i v) n == drop s n + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (update s i v) = length s); // triggers update_maintains_length_fact + drop_ignores_out_of_range_update_helper s i v n + ) + +private let rec drop_commutes_with_build_helper (#ty: Type) (s: list ty) (v: ty) (n: nat) + : Lemma (requires n <= length s /\ length (append s [v]) = 1 + length s) + (ensures drop (append s [v]) n == append (drop s n) [v]) = + match s with + | [] -> + assert (append s [v] == [v]); + assert (n == 0); + () + | hd :: tl -> if n = 0 then () else drop_commutes_with_build_helper tl v (n - 1) + +private let drop_commutes_with_build_lemma () + : Lemma (requires build_increments_length_fact u#a) + (ensures drop_commutes_with_build_fact u#a ()) = + introduce + forall (ty: Type) (s: seq ty) (v: ty) (n: nat). + n <= length s ==> drop (build s v) n == build (drop s n) v + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (build s v) = 1 + length s); // triggers build_increments_length_fact + drop_commutes_with_build_helper s v n + ) + +private let rank_def_lemma () : Lemma (rank_def_fact) = + () + +private let element_ranks_less_lemma () : Lemma (element_ranks_less_fact) = + introduce forall (ty: Type) (s: seq ty) (i: nat). i < length s ==> rank (index s i) << rank s + with + introduce _ ==> _ + with given_antecedent. ( + contains_iff_exists_index_lemma (); + assert (contains s (index s i)); + FLT.memP_precedes (index s i) s + ) + +private let rec drop_ranks_less_helper (ty: Type) (s: list ty) (i: nat) + : Lemma (requires 0 < i && i <= length s) + (ensures drop s i << s) = + match s with + | [] -> () + | hd :: tl -> if i = 1 then () else drop_ranks_less_helper ty tl (i - 1) + +private let drop_ranks_less_lemma () : Lemma (drop_ranks_less_fact) = + introduce forall (ty: Type) (s: seq ty) (i: nat). + 0 < i && i <= length s ==> rank (drop s i) << rank s + with + introduce _ ==> _ + with given_antecedent. ( + drop_ranks_less_helper ty s i + ) + +private let take_ranks_less_lemma () : Lemma (take_ranks_less_fact) = + take_length_lemma () + +private let append_take_drop_ranks_less_lemma () : Lemma (append_take_drop_ranks_less_fact) = + take_length_lemma (); + drop_length_lemma (); + append_sums_lengths_lemma () + +private let drop_zero_lemma () : Lemma (drop_zero_fact) = + () + +private let take_zero_lemma () : Lemma (take_zero_fact) = + () + +private let rec drop_then_drop_helper (#ty: Type) (s: seq ty) (m: nat) (n: nat) + : Lemma (requires m + n <= length s /\ length (drop s m) = length s - m) + (ensures drop (drop s m) n == drop s (m + n)) = + match s with + | [] -> () + | hd :: tl -> + if m = 0 + then () + else ( + drop_length_lemma (); + drop_then_drop_helper tl (m - 1) n + ) + +private let drop_then_drop_lemma () : Lemma (requires drop_length_fact u#a) (ensures drop_then_drop_fact u#a ()) = + introduce forall (ty: Type) (s: seq ty) (m: nat) (n: nat). + m + n <= length s ==> drop (drop s m) n == drop s (m + n) + with + introduce _ ==> _ + with given_antecedent. ( + assert (length (drop s m) = length s - m); // triggers drop_length_fact + drop_then_drop_helper s m n + ) + +/// Finally, we use all the lemmas for all the facts to establish +/// `all_seq_facts`. To get all those facts in scope, one can +/// invoke `all_seq_facts_lemma`. + +let all_seq_facts_lemma () : Lemma (all_seq_facts u#a) = + length_of_empty_is_zero_lemma u#a (); + length_zero_implies_empty_lemma u#a (); + singleton_length_one_lemma u#a (); + build_increments_length_lemma u#a (); + index_into_build_lemma u#a (); + append_sums_lengths_lemma u#a (); + index_into_singleton_lemma u#a (); + index_after_append_lemma u#a (); + update_maintains_length_lemma u#a (); + update_then_index_lemma u#a (); + contains_iff_exists_index_lemma u#a (); + empty_doesnt_contain_anything_lemma u#a (); + build_contains_equiv_lemma u#a (); + take_contains_equiv_exists_lemma u#a (); + drop_contains_equiv_exists_lemma u#a (); + equal_def_lemma u#a (); + extensionality_lemma u#a (); + is_prefix_def_lemma u#a (); + take_length_lemma u#a (); + index_into_take_lemma u#a (); + drop_length_lemma u#a (); + index_into_drop_lemma u#a (); + drop_index_offset_lemma u#a (); + append_then_take_or_drop_lemma u#a (); + take_commutes_with_in_range_update_lemma u#a (); + take_ignores_out_of_range_update_lemma u#a (); + drop_commutes_with_in_range_update_lemma u#a (); + drop_ignores_out_of_range_update_lemma u#a (); + drop_commutes_with_build_lemma u#a (); + rank_def_lemma u#a (); + element_ranks_less_lemma u#a (); + drop_ranks_less_lemma u#a (); + take_ranks_less_lemma u#a (); + append_take_drop_ranks_less_lemma u#a (); + drop_zero_lemma u#a (); + take_zero_lemma u#a (); + drop_then_drop_lemma u#a () diff --git a/stage0/ulib/experimental/FStar.Sequence.Base.fsti b/stage0/ulib/experimental/FStar.Sequence.Base.fsti new file mode 100644 index 00000000000..0c4246ccbb1 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Base.fsti @@ -0,0 +1,603 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module declares a type and functions used for modeling +sequences as they're modeled in Dafny. + +@summary Type and functions for modeling sequences +*) +module FStar.Sequence.Base + +new val seq ([@@@ strictly_positive] a: Type u#a) : Type u#a + +(** + We translate each Dafny sequence function prefixed with `Seq#` + into an F* function. +**) + +/// We represent the Dafny function `Seq#Length` with `length`: +/// +/// function Seq#Length(Seq T): int; + +val length : #ty: Type -> seq ty -> nat + +/// We represent the Dafny function `Seq#Empty` with `empty`: +/// +/// function Seq#Empty(): Seq T; +/// +/// We also provide an alias `nil` for it. + +val empty : #ty: Type -> seq ty + +/// We represent the Dafny function `Seq#Singleton` with `singleton`: +/// +/// function Seq#Singleton(T): Seq T; + +val singleton : #ty: Type -> ty -> seq ty + +/// We represent the Dafny function `Seq#Index` with `index`: +/// +/// function Seq#Index(Seq T, int): T; +/// +/// We also provide the infix symbol `$@` for it. + +val index: #ty: Type -> s: seq ty -> i: nat{i < length s} -> ty +let ($@) = index + +/// We represent the Dafny function `Seq#Build` with `build`: +/// +/// function Seq#Build(s: Seq T, val: T): Seq T; +/// +/// We also provide the infix symbol `$::` for it. + +val build: #ty: Type -> seq ty -> ty -> seq ty +let ($::) = build + +/// We represent the Dafny function `Seq#Append` with `append`: +/// +/// function Seq#Append(Seq T, Seq T): Seq T; +/// +/// We also provide the infix notation `$+` for it. + +val append: #ty: Type -> seq ty -> seq ty -> seq ty +let ($+) = append + +/// We represent the Dafny function `Seq#Update` with `update`: +/// +/// function Seq#Update(Seq T, int, T): Seq T; + +val update: #ty: Type -> s: seq ty -> i: nat{i < length s} -> ty -> seq ty + +/// We represent the Dafny function `Seq#Contains` with `contains`: +/// +/// function Seq#Contains(Seq T, T): bool; + +val contains: #ty: Type -> seq ty -> ty -> Type0 + +/// We represent the Dafny function `Seq#Take` with `take`: +/// +/// function Seq#Take(s: Seq T, howMany: int): Seq T; + +val take: #ty: Type -> s: seq ty -> howMany: nat{howMany <= length s} -> seq ty + +/// We represent the Dafny function `Seq#Drop` with `drop`: +/// +/// function Seq#Drop(s: Seq T, howMany: int): Seq T; + +val drop: #ty: Type -> s: seq ty -> howMany: nat{howMany <= length s} -> seq ty + +/// We represent the Dafny function `Seq#Equal` with `equal`. +/// +/// function Seq#Equal(Seq T, Seq T): bool; +/// +/// We also provide the infix symbol `$==` for it. + +val equal: #ty: Type -> seq ty -> seq ty -> Type0 +let ($==) = equal + +/// Instead of representing the Dafny function `Seq#SameUntil`, which +/// is only ever used in Dafny to represent prefix relations, we +/// instead use `is_prefix`. +/// +/// function Seq#SameUntil(Seq T, Seq T, int): bool; +/// +/// We also provide the infix notation `$<=` for it. + +val is_prefix: #ty: Type -> seq ty -> seq ty -> Type0 +let ($<=) = is_prefix + +/// We represent the Dafny function `Seq#Rank` with `rank`. +/// +/// function Seq#Rank(Seq T): int; + +val rank: #ty: Type -> ty -> ty + +(** + We translate each sequence axiom from the Dafny prelude into an F* + predicate ending in `_fact`. +**) + +/// We don't need the following axiom since we return a nat from length: +/// +/// axiom (forall s: Seq T :: { Seq#Length(s) } 0 <= Seq#Length(s)); + +/// We represent the following Dafny axiom with `length_of_empty_is_zero_fact`: +/// +/// axiom (forall :: { Seq#Empty(): Seq T } Seq#Length(Seq#Empty(): Seq T) == 0); + +private let length_of_empty_is_zero_fact = + forall (ty: Type u#a).{:pattern empty #ty} length (empty #ty) = 0 + +/// We represent the following Dafny axiom with `length_zero_implies_empty_fact`: +/// +/// axiom (forall s: Seq T :: { Seq#Length(s) } +/// (Seq#Length(s) == 0 ==> s == Seq#Empty()) + +private let length_zero_implies_empty_fact = + forall (ty: Type u#a) (s: seq ty).{:pattern length s} length s = 0 ==> s == empty + +/// We represent the following Dafny axiom with `singleton_length_one_fact`: +/// +/// axiom (forall t: T :: { Seq#Length(Seq#Singleton(t)) } Seq#Length(Seq#Singleton(t)) == 1); + +private let singleton_length_one_fact = + forall (ty: Type u#a) (v: ty).{:pattern length (singleton v)} length (singleton v) = 1 + +/// We represent the following Dafny axiom with `build_increments_length_fact`: +/// +/// axiom (forall s: Seq T, v: T :: +/// { Seq#Build(s,v) } +/// Seq#Length(Seq#Build(s,v)) == 1 + Seq#Length(s)); + +private let build_increments_length_fact = + forall (ty: Type u#a) (s: seq ty) (v: ty).{:pattern build s v} + length (build s v) = 1 + length s + +/// We represent the following Dafny axiom with `index_into_build_fact`: +/// +/// axiom (forall s: Seq T, i: int, v: T :: { Seq#Index(Seq#Build(s,v), i) } +/// (i == Seq#Length(s) ==> Seq#Index(Seq#Build(s,v), i) == v) && +/// (i != Seq#Length(s) ==> Seq#Index(Seq#Build(s,v), i) == Seq#Index(s, i))); + +private let index_into_build_fact (_: squash (build_increments_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (v: ty) (i: nat{i < length (build s v)}) + .{:pattern index (build s v) i} + (i = length s ==> index (build s v) i == v) + /\ (i <> length s ==> index (build s v) i == index s i) + +/// We represent the following Dafny axiom with `append_sums_lengths_fact`: +/// +/// axiom (forall s0: Seq T, s1: Seq T :: { Seq#Length(Seq#Append(s0,s1)) } +/// Seq#Length(Seq#Append(s0,s1)) == Seq#Length(s0) + Seq#Length(s1)); + +private let append_sums_lengths_fact = + forall (ty: Type u#a) (s0: seq ty) (s1: seq ty).{:pattern length (append s0 s1)} + length (append s0 s1) = length s0 + length s1 + +/// We represent the following Dafny axiom with `index_into_singleton_fact`: +/// +/// axiom (forall t: T :: { Seq#Index(Seq#Singleton(t), 0) } Seq#Index(Seq#Singleton(t), 0) == t); + +private let index_into_singleton_fact (_: squash (singleton_length_one_fact u#a)) = + forall (ty: Type u#a) (v: ty).{:pattern index (singleton v) 0} + index (singleton v) 0 == v + +/// We represent the following axiom with `index_after_append_fact`: +/// +/// axiom (forall s0: Seq T, s1: Seq T, n: int :: { Seq#Index(Seq#Append(s0,s1), n) } +/// (n < Seq#Length(s0) ==> Seq#Index(Seq#Append(s0,s1), n) == Seq#Index(s0, n)) && +/// (Seq#Length(s0) <= n ==> Seq#Index(Seq#Append(s0,s1), n) == Seq#Index(s1, n - Seq#Length(s0)))); + +private let index_after_append_fact (_: squash (append_sums_lengths_fact u#a)) = + forall (ty: Type u#a) (s0: seq ty) (s1: seq ty) (n: nat{n < length (append s0 s1)}) + .{:pattern index (append s0 s1) n} + (n < length s0 ==> index (append s0 s1) n == index s0 n) + /\ (length s0 <= n ==> index (append s0 s1) n == index s1 (n - length s0)) + +/// We represent the following Dafny axiom with `update_maintains_length`: +/// +/// axiom (forall s: Seq T, i: int, v: T :: { Seq#Length(Seq#Update(s,i,v)) } +/// 0 <= i && i < Seq#Length(s) ==> Seq#Length(Seq#Update(s,i,v)) == Seq#Length(s)); + +private let update_maintains_length_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat{i < length s}) (v: ty).{:pattern length (update s i v)} + length (update s i v) = length s + +/// We represent the following Dafny axiom with `update_then_index_fact`: +/// +/// axiom (forall s: Seq T, i: int, v: T, n: int :: { Seq#Index(Seq#Update(s,i,v),n) } +/// 0 <= n && n < Seq#Length(s) ==> +/// (i == n ==> Seq#Index(Seq#Update(s,i,v),n) == v) && +/// (i != n ==> Seq#Index(Seq#Update(s,i,v),n) == Seq#Index(s,n))); + +private let update_then_index_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat{i < length s}) (v: ty) (n: nat{n < length (update s i v)}) + .{:pattern index (update s i v) n} + n < length s ==> + (i = n ==> index (update s i v) n == v) + /\ (i <> n ==> index (update s i v) n == index s n) + +/// We represent the following Dafny axiom with `contains_iff_exists_index_fact`: +/// +/// axiom (forall s: Seq T, x: T :: { Seq#Contains(s,x) } +/// Seq#Contains(s,x) <==> +/// (exists i: int :: { Seq#Index(s,i) } 0 <= i && i < Seq#Length(s) && Seq#Index(s,i) == x)); + +private let contains_iff_exists_index_fact = + forall (ty: Type u#a) (s: seq ty) (x: ty).{:pattern contains s x} + contains s x <==> (exists (i: nat).{:pattern index s i} i < length s /\ index s i == x) + +/// We represent the following Dafny axiom with `empty_doesnt_contain_fact`: +/// +/// axiom (forall x: T :: +/// { Seq#Contains(Seq#Empty(), x) } +/// !Seq#Contains(Seq#Empty(), x)); + +private let empty_doesnt_contain_anything_fact = + forall (ty: Type u#a) (x: ty).{:pattern contains empty x} ~(contains empty x) + +/// We represent the following Dafny axiom with `build_contains_equiv_fact`: +/// +/// axiom (forall s: Seq T, v: T, x: T :: // needed to prove things like '4 in [2,3,4]', see method TestSequences0 in SmallTests.dfy +/// { Seq#Contains(Seq#Build(s, v), x) } +/// Seq#Contains(Seq#Build(s, v), x) <==> (v == x || Seq#Contains(s, x))); + +private let build_contains_equiv_fact = + forall (ty: Type u#a) (s: seq ty) (v: ty) (x: ty).{:pattern contains (build s v) x} + contains (build s v) x <==> (v == x \/ contains s x) + +/// We represent the following Dafny axiom with `take_contains_equiv_exists_fact`: +/// +/// axiom (forall s: Seq T, n: int, x: T :: +/// { Seq#Contains(Seq#Take(s, n), x) } +/// Seq#Contains(Seq#Take(s, n), x) <==> +/// (exists i: int :: { Seq#Index(s, i) } +/// 0 <= i && i < n && i < Seq#Length(s) && Seq#Index(s, i) == x)); + +private let take_contains_equiv_exists_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat{n <= length s}) (x: ty).{:pattern contains (take s n) x} + contains (take s n) x <==> + (exists (i: nat).{:pattern index s i} i < n /\ i < length s /\ index s i == x) + +/// We represent the following Dafny axiom with `drop_contains_equiv_exists_fact`: +/// +/// axiom (forall s: Seq T, n: int, x: T :: +/// { Seq#Contains(Seq#Drop(s, n), x) } +/// Seq#Contains(Seq#Drop(s, n), x) <==> +/// (exists i: int :: { Seq#Index(s, i) } +/// 0 <= n && n <= i && i < Seq#Length(s) && Seq#Index(s, i) == x)); + +private let drop_contains_equiv_exists_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat{n <= length s}) (x: ty).{:pattern contains (drop s n) x} + contains (drop s n) x <==> + (exists (i: nat).{:pattern index s i} n <= i && i < length s /\ index s i == x) + +/// We represent the following Dafny axiom with `equal_def_fact`: +/// +/// axiom (forall s0: Seq T, s1: Seq T :: { Seq#Equal(s0,s1) } +/// Seq#Equal(s0,s1) <==> +/// Seq#Length(s0) == Seq#Length(s1) && +/// (forall j: int :: { Seq#Index(s0,j) } { Seq#Index(s1,j) } +/// 0 <= j && j < Seq#Length(s0) ==> Seq#Index(s0,j) == Seq#Index(s1,j))); + +private let equal_def_fact = + forall (ty: Type u#a) (s0: seq ty) (s1: seq ty).{:pattern equal s0 s1} + equal s0 s1 <==> + length s0 == length s1 /\ + (forall j.{:pattern index s0 j \/ index s1 j} + 0 <= j && j < length s0 ==> index s0 j == index s1 j) + +/// We represent the following Dafny axiom with `extensionality_fact`: +/// +/// axiom (forall a: Seq T, b: Seq T :: { Seq#Equal(a,b) } // extensionality axiom for sequences +/// Seq#Equal(a,b) ==> a == b); + +private let extensionality_fact = + forall (ty: Type u#a) (a: seq ty) (b: seq ty).{:pattern equal a b} + equal a b ==> a == b + +/// We represent an analog of the following Dafny axiom with +/// `is_prefix_def_fact`. Our analog uses `is_prefix` instead +/// of `Seq#SameUntil`. +/// +/// axiom (forall s0: Seq T, s1: Seq T, n: int :: { Seq#SameUntil(s0,s1,n) } +/// Seq#SameUntil(s0,s1,n) <==> +/// (forall j: int :: { Seq#Index(s0,j) } { Seq#Index(s1,j) } +/// 0 <= j && j < n ==> Seq#Index(s0,j) == Seq#Index(s1,j))); + +private let is_prefix_def_fact = + forall (ty: Type u#a) (s0: seq ty) (s1: seq ty).{:pattern is_prefix s0 s1} + is_prefix s0 s1 <==> + length s0 <= length s1 + /\ (forall (j: nat).{:pattern index s0 j \/ index s1 j} + j < length s0 ==> index s0 j == index s1 j) + +/// We represent the following Dafny axiom with `take_length_fact`: +/// +/// axiom (forall s: Seq T, n: int :: { Seq#Length(Seq#Take(s,n)) } +/// 0 <= n && n <= Seq#Length(s) ==> Seq#Length(Seq#Take(s,n)) == n); + +private let take_length_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat).{:pattern length (take s n)} + n <= length s ==> length (take s n) = n + +/// We represent the following Dafny axiom with `index_into_take_fact`. +/// +/// axiom (forall s: Seq T, n: int, j: int :: +/// {:weight 25} +/// { Seq#Index(Seq#Take(s,n), j) } +/// { Seq#Index(s, j), Seq#Take(s,n) } +/// 0 <= j && j < n && j < Seq#Length(s) ==> +/// Seq#Index(Seq#Take(s,n), j) == Seq#Index(s, j)); + +private let index_into_take_fact (_ : squash (take_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (n: nat) (j: nat). + {:pattern index (take s n) j \/ index s j ; take s n} + j < n && n <= length s ==> index (take s n) j == index s j + +/// We represent the following Dafny axiom with `drop_length_fact`. +/// +/// axiom (forall s: Seq T, n: int :: { Seq#Length(Seq#Drop(s,n)) } +/// 0 <= n && n <= Seq#Length(s) ==> Seq#Length(Seq#Drop(s,n)) == Seq#Length(s) - n); + +private let drop_length_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat). + {:pattern length (drop s n)} + n <= length s ==> length (drop s n) = length s - n + +/// We represent the following Dafny axiom with `index_into_drop_fact`. +/// +/// axiom (forall s: Seq T, n: int, j: int :: +/// {:weight 25} +/// { Seq#Index(Seq#Drop(s,n), j) } +/// 0 <= n && 0 <= j && j < Seq#Length(s)-n ==> +/// Seq#Index(Seq#Drop(s,n), j) == Seq#Index(s, j+n)); + +private let index_into_drop_fact (_ : squash (drop_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (n: nat) (j: nat). + {:pattern index (drop s n) j} + j < length s - n ==> index (drop s n) j == index s (j + n) + +/// We represent the following Dafny axiom with `drop_index_offset_fact`. +/// +/// axiom (forall s: Seq T, n: int, k: int :: +/// {:weight 25} +/// { Seq#Index(s, k), Seq#Drop(s,n) } +/// 0 <= n && n <= k && k < Seq#Length(s) ==> +/// Seq#Index(Seq#Drop(s,n), k-n) == Seq#Index(s, k)); + +private let drop_index_offset_fact (_ : squash (drop_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (n: nat) (k: nat). + {:pattern index s k; drop s n} + n <= k && k < length s ==> index (drop s n) (k - n) == index s k + +/// We represent the following Dafny axiom with `append_then_take_or_drop_fact`. +/// +/// axiom (forall s, t: Seq T, n: int :: +/// { Seq#Take(Seq#Append(s, t), n) } +/// { Seq#Drop(Seq#Append(s, t), n) } +/// n == Seq#Length(s) +/// ==> +/// Seq#Take(Seq#Append(s, t), n) == s && +/// Seq#Drop(Seq#Append(s, t), n) == t); + +private let append_then_take_or_drop_fact (_ : squash (append_sums_lengths_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (t: seq ty) (n: nat). + {:pattern take (append s t) n \/ drop (append s t) n} + n = length s ==> take (append s t) n == s /\ drop (append s t) n == t + +/// We represent the following Dafny axiom with `take_commutes_with_in_range_update_fact`. +/// +/// axiom (forall s: Seq T, i: int, v: T, n: int :: +/// { Seq#Take(Seq#Update(s, i, v), n) } +/// 0 <= i && i < n && n <= Seq#Length(s) ==> +/// Seq#Take(Seq#Update(s, i, v), n) == Seq#Update(Seq#Take(s, n), i, v) ); + +private let take_commutes_with_in_range_update_fact + (_ : squash (update_maintains_length_fact u#a /\ take_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (i: nat) (v: ty) (n: nat).{:pattern take (update s i v) n} + i < n && n <= length s ==> + take (update s i v) n == update (take s n) i v + +/// We represent the following Dafny axiom with `take_ignores_out_of_range_update_fact`. +/// +/// axiom (forall s: Seq T, i: int, v: T, n: int :: +/// { Seq#Take(Seq#Update(s, i, v), n) } +/// n <= i && i < Seq#Length(s) ==> Seq#Take(Seq#Update(s, i, v), n) == Seq#Take(s, n)); + +private let take_ignores_out_of_range_update_fact (_ : squash (update_maintains_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (i: nat) (v: ty) (n: nat).{:pattern take (update s i v) n} + n <= i && i < length s ==> + take (update s i v) n == take s n + +/// We represent the following Dafny axiom with `drop_commutes_with_in_range_update_fact`. +/// +/// axiom (forall s: Seq T, i: int, v: T, n: int :: +/// { Seq#Drop(Seq#Update(s, i, v), n) } +/// 0 <= n && n <= i && i < Seq#Length(s) ==> +/// Seq#Drop(Seq#Update(s, i, v), n) == Seq#Update(Seq#Drop(s, n), i-n, v) ); + +private let drop_commutes_with_in_range_update_fact + (_ : squash (update_maintains_length_fact u#a /\ drop_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (i: nat) (v: ty) (n: nat).{:pattern drop (update s i v) n} + n <= i && i < length s ==> + drop (update s i v) n == update (drop s n) (i - n) v + +/// We represent the following Dafny axiom with `drop_ignores_out_of_range_update_fact`. +/// Jay noticed that it was unnecessarily weak, possibly due to a typo, so he reported this as +/// Dafny issue #1423 (https://github.com/dafny-lang/dafny/issues/1423) and updated it here. +/// +/// axiom (forall s: Seq T, i: int, v: T, n: int :: +/// { Seq#Drop(Seq#Update(s, i, v), n) } +/// 0 <= i && i < n && n < Seq#Length(s) ==> Seq#Drop(Seq#Update(s, i, v), n) == Seq#Drop(s, n)); + +private let drop_ignores_out_of_range_update_fact (_ : squash (update_maintains_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (i: nat) (v: ty) (n: nat).{:pattern drop (update s i v) n} + i < n && n <= length s ==> + drop (update s i v) n == drop s n + +/// We represent the following Dafny axiom with `drop_commutes_with_build_fact`. +/// +/// axiom (forall s: Seq T, v: T, n: int :: +/// { Seq#Drop(Seq#Build(s, v), n) } +/// 0 <= n && n <= Seq#Length(s) ==> +/// Seq#Drop(Seq#Build(s, v), n) == Seq#Build(Seq#Drop(s, n), v) ); + +private let drop_commutes_with_build_fact (_ : squash (build_increments_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (v: ty) (n: nat).{:pattern drop (build s v) n} + n <= length s ==> drop (build s v) n == build (drop s n) v + +/// We include the definition of `rank` among our facts. + +private let rank_def_fact = + forall (ty: Type u#a) (v: ty).{:pattern rank v} rank v == v + +/// We represent the following Dafny axiom with `element_ranks_less_fact`. +/// +/// axiom (forall s: Seq Box, i: int :: +/// { DtRank($Unbox(Seq#Index(s, i)): DatatypeType) } +/// 0 <= i && i < Seq#Length(s) ==> DtRank($Unbox(Seq#Index(s, i)): DatatypeType) < Seq#Rank(s) ); + +private let element_ranks_less_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat).{:pattern rank (index s i)} + i < length s ==> rank (index s i) << rank s + +/// We represent the following Dafny axiom with `drop_ranks_less_fact`. +/// +/// axiom (forall s: Seq T, i: int :: +/// { Seq#Rank(Seq#Drop(s, i)) } +/// 0 < i && i <= Seq#Length(s) ==> Seq#Rank(Seq#Drop(s, i)) < Seq#Rank(s) ); + +private let drop_ranks_less_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat).{:pattern rank (drop s i)} + 0 < i && i <= length s ==> rank (drop s i) << rank s + +/// We represent the following Dafny axiom with +/// `take_ranks_less_fact`. However, since it isn't true in F* (which +/// has strong requirements for <<), we instead substitute length, +/// requiring decreases clauses to use length in this case. +/// +/// axiom (forall s: Seq T, i: int :: +/// { Seq#Rank(Seq#Take(s, i)) } +/// 0 <= i && i < Seq#Length(s) ==> Seq#Rank(Seq#Take(s, i)) < Seq#Rank(s) ); + +private let take_ranks_less_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat).{:pattern length (take s i)} + i < length s ==> length (take s i) << length s + +/// We represent the following Dafny axiom with +/// `append_take_drop_ranks_less_fact`. However, since it isn't true +/// in F* (which has strong requirements for <<), we instead +/// substitute length, requiring decreases clauses to use +/// length in this case. +/// +/// axiom (forall s: Seq T, i: int, j: int :: +/// { Seq#Rank(Seq#Append(Seq#Take(s, i), Seq#Drop(s, j))) } +/// 0 <= i && i < j && j <= Seq#Length(s) ==> +/// Seq#Rank(Seq#Append(Seq#Take(s, i), Seq#Drop(s, j))) < Seq#Rank(s) ); + +private let append_take_drop_ranks_less_fact = + forall (ty: Type u#a) (s: seq ty) (i: nat) (j: nat).{:pattern length (append (take s i) (drop s j))} + i < j && j <= length s ==> length (append (take s i) (drop s j)) << length s + +/// We represent the following Dafny axiom with `drop_zero_fact`. +/// +/// axiom (forall s: Seq T, n: int :: { Seq#Drop(s, n) } +/// n == 0 ==> Seq#Drop(s, n) == s); + +private let drop_zero_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat).{:pattern drop s n} + n = 0 ==> drop s n == s + +/// We represent the following Dafny axiom with `take_zero_fact`. +/// +/// axiom (forall s: Seq T, n: int :: { Seq#Take(s, n) } +/// n == 0 ==> Seq#Take(s, n) == Seq#Empty()); + +private let take_zero_fact = + forall (ty: Type u#a) (s: seq ty) (n: nat).{:pattern take s n} + n = 0 ==> take s n == empty + +/// We represent the following Dafny axiom with `drop_then_drop_fact`. +/// +/// axiom (forall s: Seq T, m, n: int :: { Seq#Drop(Seq#Drop(s, m), n) } +/// 0 <= m && 0 <= n && m+n <= Seq#Length(s) ==> +/// Seq#Drop(Seq#Drop(s, m), n) == Seq#Drop(s, m+n)); + +private let drop_then_drop_fact (_: squash (drop_length_fact u#a)) = + forall (ty: Type u#a) (s: seq ty) (m: nat) (n: nat).{:pattern drop (drop s m) n} + m + n <= length s ==> drop (drop s m) n == drop s (m + n) + +(** + The predicate `all_dafny_seq_facts` collects all the Dafny sequence axioms. + One can bring all these facts into scope with `all_dafny_seq_facts_lemma ()`. +**) + +let all_seq_facts = + length_of_empty_is_zero_fact u#a + /\ length_zero_implies_empty_fact u#a + /\ singleton_length_one_fact u#a + /\ build_increments_length_fact u#a + /\ index_into_build_fact u#a () + /\ append_sums_lengths_fact u#a + /\ index_into_singleton_fact u#a () + /\ index_after_append_fact u#a () + /\ update_maintains_length_fact u#a + /\ update_then_index_fact u#a + /\ contains_iff_exists_index_fact u#a + /\ empty_doesnt_contain_anything_fact u#a + /\ build_contains_equiv_fact u#a + /\ take_contains_equiv_exists_fact u#a + /\ drop_contains_equiv_exists_fact u#a + /\ equal_def_fact u#a + /\ extensionality_fact u#a + /\ is_prefix_def_fact u#a + /\ take_length_fact u#a + /\ index_into_take_fact u#a () + /\ drop_length_fact u#a + /\ index_into_drop_fact u#a () + /\ drop_index_offset_fact u#a () + /\ append_then_take_or_drop_fact u#a () + /\ take_commutes_with_in_range_update_fact u#a () + /\ take_ignores_out_of_range_update_fact u#a () + /\ drop_commutes_with_in_range_update_fact u#a () + /\ drop_ignores_out_of_range_update_fact u#a () + /\ drop_commutes_with_build_fact u#a () + /\ rank_def_fact u#a + /\ element_ranks_less_fact u#a + /\ drop_ranks_less_fact u#a + /\ take_ranks_less_fact u#a + /\ append_take_drop_ranks_less_fact u#a + /\ drop_zero_fact u#a + /\ take_zero_fact u#a + /\ drop_then_drop_fact u#a () + +val all_seq_facts_lemma : unit -> Lemma (all_seq_facts u#a) diff --git a/stage0/ulib/experimental/FStar.Sequence.Permutation.fst b/stage0/ulib/experimental/FStar.Sequence.Permutation.fst new file mode 100644 index 00000000000..5d721c380b9 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Permutation.fst @@ -0,0 +1,367 @@ +(* + Copyright 2021 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. + + Author: N. Swamy +*) +module FStar.Sequence.Permutation +open FStar.Sequence +open FStar.Calc +open FStar.Sequence.Util +module S = FStar.Sequence + +//////////////////////////////////////////////////////////////////////////////// +[@@"opaque_to_smt"] +let is_permutation (#a:Type) (s0:seq a) (s1:seq a) (f:index_fun s0) = + S.length s0 == S.length s1 /\ + (forall x y. // {:pattern f x; f y} + x <> y ==> f x <> f y) /\ + (forall (i:nat{i < S.length s0}). // {:pattern (S.index s1 (f i))} + S.index s0 i == S.index s1 (f i)) + +let reveal_is_permutation #a (s0 s1:seq a) (f:index_fun s0) + = reveal_opaque (`%is_permutation) (is_permutation s0 s1 f) + +let reveal_is_permutation_nopats (#a:Type) (s0 s1:seq a) (f:index_fun s0) + : Lemma (is_permutation s0 s1 f <==> + + S.length s0 == S.length s1 /\ + + (forall x y. x <> y ==> f x <> f y) /\ + + (forall (i:nat{i < S.length s0}). + S.index s0 i == S.index s1 (f i))) + = reveal_is_permutation s0 s1 f + + +let split3_index (#a:eqtype) (s0:seq a) (x:a) (s1:seq a) (j:nat) + : Lemma + (requires j < S.length (S.append s0 s1)) + (ensures ( + let s = S.append s0 (cons x s1) in + let s' = S.append s0 s1 in + let n = S.length s0 in + if j < n then S.index s' j == S.index s j + else S.index s' j == S.index s (j + 1) + )) + = let n = S.length (S.append s0 s1) in + if j < n then () + else () + +let rec find (#a:eqtype) (x:a) (s:seq a{ count x s > 0 }) + : Tot (frags:(seq a & seq a) { + let s' = S.append (fst frags) (snd frags) in + let n = S.length (fst frags) in + s `S.equal` S.append (fst frags) (cons x (snd frags)) + }) (decreases (S.length s)) + = reveal_opaque (`%count) (count #a); + if head s = x + then S.empty, tail s + else ( + let pfx, sfx = find x (tail s) in + assert (S.equal (tail s) + (S.append pfx (cons x sfx))); + assert (S.equal s + (cons (head s) (tail s))); + cons (head s) pfx, sfx + ) + +let count_singleton_one (#a:eqtype) (x:a) + : Lemma (count x (singleton x) == 1) + = reveal_opaque (`%count) (count #a) +let count_singleton_zero (#a:eqtype) (x y:a) + : Lemma (x =!= y ==> count x (singleton y) == 0) + = reveal_opaque (`%count) (count #a) +let equal_counts_empty (#a:eqtype) (s0 s1:seq a) + : Lemma + (requires S.length s0 == 0 /\ (forall x. count x s0 == count x s1)) + (ensures S.length s1 == 0) + = reveal_opaque (`%count) (count #a); + if S.length s1 > 0 then + assert (count (head s1) s1 > 0) +let count_head (#a:eqtype) (x:seq a{ S.length x > 0 }) + : Lemma (count (head x) x > 0) + = reveal_opaque (`%count) (count #a) + +#restart-solver +#push-options "--fuel 0 --ifuel 0 --z3rlimit_factor 4" +let rec permutation_from_equal_counts (#a:eqtype) (s0:seq a) (s1:seq a{(forall x. count x s0 == count x s1)}) + : Tot (seqperm s0 s1) + (decreases (S.length s0)) + = if S.length s0 = 0 + then ( + count_empty s0; + assert (forall x. count x s0 = 0); + let f : index_fun s0 = fun i -> i in + reveal_is_permutation_nopats s0 s1 f; + equal_counts_empty s0 s1; + f + ) + else ( + count_head s0; + let pfx, sfx = find (head s0) s1 in + introduce forall x. count x (tail s0) == count x (S.append pfx sfx) + with + ( + if x = head s0 + then ( + calc (eq2 #int) { + count x (tail s0) <: int; + (==) { + assert (s0 `S.equal` cons (head s0) (tail s0)); + lemma_append_count_aux (head s0) (S.singleton (head s0)) (tail s0); + count_singleton_one x + } + count x s0 - 1 <: int; + (==) {} + count x s1 - 1 <: int; + (==) {} + count x (S.append pfx (cons (head s0) sfx)) - 1 <: int; + (==) { lemma_append_count_aux x pfx (cons (head s0) sfx) } + count x pfx + count x (cons (head s0) sfx) - 1 <: int; + (==) { lemma_append_count_aux x (S.singleton (head s0)) sfx } + count x pfx + (count x (S.singleton (head s0)) + count x sfx) - 1 <: int; + (==) { count_singleton_one x } + count x pfx + count x sfx <: int; + (==) { lemma_append_count_aux x pfx sfx } + count x (S.append pfx sfx) <: int; + } + ) + else ( + calc (==) { + count x (tail s0); + (==) { + assert (s0 `S.equal` cons (head s0) (tail s0)); + lemma_append_count_aux x (S.singleton (head s0)) (tail s0); + count_singleton_zero x (head s0) + } + count x s0; + (==) { } + count x s1; + (==) { } + count x (S.append pfx (cons (head s0) sfx)); + (==) { lemma_append_count_aux x pfx (cons (head s0) sfx) } + count x pfx + count x (cons (head s0) sfx); + (==) { lemma_append_count_aux x (S.singleton (head s0)) sfx } + count x pfx + (count x (S.singleton (head s0)) + count x sfx) ; + (==) { count_singleton_zero x (head s0) } + count x pfx + count x sfx; + (==) { lemma_append_count_aux x pfx sfx } + count x (S.append pfx sfx); + } + ) + ); + let s1' = (S.append pfx sfx) in + let f' = permutation_from_equal_counts (tail s0) s1' in + reveal_is_permutation_nopats (tail s0) s1' f'; + let n = S.length pfx in + let f : index_fun s0 = + fun i -> if i = 0 + then n + else if f' (i - 1) < n + then f' (i - 1) + else f' (i - 1) + 1 + in + assert (S.length s0 == S.length s1); + assert (forall x y. x <> y ==> f' x <> f' y); + introduce forall x y. x <> y ==> f x <> f y + with (introduce _ ==> _ + with _. ( + if f x = n || f y = n + then () + else if f' (x - 1) < n + then ( + assert (f x == f' (x - 1)); + if f' (y - 1) < n + then assert (f y == f' (y - 1)) + else assert (f y == f' (y - 1) + 1) + ) + else ( + assert (f x == f' (x - 1) + 1); + if f' (y - 1) < n + then assert (f y == f' (y - 1)) + else assert (f y == f' (y - 1) + 1) + ) + ) + ); + reveal_is_permutation_nopats s0 s1 f; f) +#pop-options + +#restart-solver + +module CM = FStar.Algebra.CommMonoid +let elim_monoid_laws #a (m:CM.cm a) + : Lemma ( + (forall x y. {:pattern m.mult x y} m.mult x y == m.mult y x) /\ + (forall x y z.{:pattern (m.mult x (m.mult y z))} m.mult x (m.mult y z) == m.mult (m.mult x y) z) /\ + (forall x.{:pattern (m.mult x m.unit)} m.mult x m.unit == x) + ) + = introduce forall x y. m.mult x y == m.mult y x + with ( m.commutativity x y ); + + introduce forall x y z. m.mult x (m.mult y z) == m.mult (m.mult x y) z + with ( m.associativity x y z ); + + introduce forall x. m.mult x m.unit == x + with ( m.identity x ) + +#restart-solver +#push-options "--fuel 1 --ifuel 0" +let rec foldm_back_append #a (m:CM.cm a) (s1 s2: seq a) + : Lemma + (ensures foldm_back m (append s1 s2) == m.mult (foldm_back m s1) (foldm_back m s2)) + (decreases (S.length s2)) + = elim_monoid_laws m; + if S.length s2 = 0 + then ( + assert (S.append s1 s2 `S.equal` s1); + assert (foldm_back m s2 == m.unit) + ) + else ( + let s2', last = un_build s2 in + calc (==) + { + foldm_back m (append s1 s2); + (==) { assert (S.equal (append s1 s2) + (S.build (append s1 s2') last)) } + foldm_back m (S.build (append s1 s2') last); + (==) {} + fold_back m.mult (S.build (append s1 s2') last) m.unit; + (==) {} + m.mult ((S.build (append s1 s2') last) $@ (length s1 + length s2')) + (fold_back m.mult (take (S.build (append s1 s2') last) (length s1 + length s2')) m.unit); + (==) { } + m.mult last + (fold_back m.mult (take (S.build (append s1 s2') last) (length s1 + length s2')) m.unit); + (==) { + assert (S.equal (take (S.build (append s1 s2') last) (length s1 + length s2')) (append s1 s2')) + } + m.mult last (foldm_back m (append s1 s2')); + (==) { foldm_back_append m s1 s2' } + m.mult last (m.mult (foldm_back m s1) (foldm_back m s2')); + (==) { } + m.mult (foldm_back m s1) (m.mult last (foldm_back m s2')); + (==) { } + m.mult (foldm_back m s1) (foldm_back m s2); + } + ) +#pop-options + +let foldm_back_sym #a (m:CM.cm a) (s1 s2: seq a) + : Lemma + (ensures foldm_back m (append s1 s2) == foldm_back m (append s2 s1)) + = elim_monoid_laws m; + foldm_back_append m s1 s2; + foldm_back_append m s2 s1 + +#push-options "--fuel 2" +let foldm_back_singleton (#a:_) (m:CM.cm a) (x:a) + : Lemma (foldm_back m (singleton x) == x) + = elim_monoid_laws m +#pop-options + +#push-options "--fuel 0" +let foldm_back3 #a (m:CM.cm a) (s1:seq a) (x:a) (s2:seq a) + : Lemma (foldm_back m (S.append s1 (cons x s2)) == + m.mult x (foldm_back m (S.append s1 s2))) + = calc (==) + { + foldm_back m (S.append s1 (cons x s2)); + (==) { foldm_back_append m s1 (cons x s2) } + m.mult (foldm_back m s1) (foldm_back m (cons x s2)); + (==) { foldm_back_append m (singleton x) s2 } + m.mult (foldm_back m s1) (m.mult (foldm_back m (singleton x)) (foldm_back m s2)); + (==) { foldm_back_singleton m x } + m.mult (foldm_back m s1) (m.mult x (foldm_back m s2)); + (==) { elim_monoid_laws m } + m.mult x (m.mult (foldm_back m s1) (foldm_back m s2)); + (==) { foldm_back_append m s1 s2 } + m.mult x (foldm_back m (S.append s1 s2)); + } +#pop-options + + +let remove_i #a (s:seq a) (i:nat{i < S.length s}) + : a & seq a + = let s0, s1 = split s i in + head s1, append s0 (tail s1) + +let shift_perm' #a + (s0 s1:seq a) + (_:squash (S.length s0 == S.length s1 /\ S.length s0 > 0)) + (p:seqperm s0 s1) + : Tot (seqperm (fst (un_build s0)) + (snd (remove_i s1 (p (S.length s0 - 1))))) + = reveal_is_permutation s0 s1 p; + let s0', last = un_build s0 in + let n = S.length s0' in + let p' (i:nat{ i < n }) + : j:nat{ j < n } + = if p i < p n then p i else p i - 1 + in + let _, s1' = remove_i s1 (p n) in + reveal_is_permutation_nopats s0' s1' p'; + p' + +let shift_perm #a + (s0 s1:seq a) + (_:squash (S.length s0 == S.length s1 /\ S.length s0 > 0)) + (p:seqperm s0 s1) + : Pure (seqperm (fst (un_build s0)) + (snd (remove_i s1 (p (S.length s0 - 1))))) + (requires True) + (ensures fun _ -> let n = S.length s0 - 1 in + S.index s1 (p n) == + S.index s0 n) + = reveal_is_permutation s0 s1 p; + shift_perm' s0 s1 () p + +let seqperm_len #a (s0 s1:seq a) + (p:seqperm s0 s1) + : Lemma + (ensures S.length s0 == S.length s1) + = reveal_is_permutation s0 s1 p + +let rec foldm_back_perm #a m s0 s1 p + : Lemma + (ensures foldm_back m s0 == foldm_back m s1) + (decreases (S.length s0)) + = seqperm_len s0 s1 p; + if S.length s0 = 0 then ( + assert (S.equal s0 s1) + ) + else ( + let n0 = S.length s0 - 1 in + let prefix, last = un_build s0 in + let prefix', suffix' = split s1 (p n0) in + let last', suffix' = suffix' $@ 0, drop suffix' 1 in + let s1' = snd (remove_i s1 (p n0)) in + let p' : seqperm prefix s1' = shift_perm s0 s1 () p in + assert (last == last'); + calc + (==) + { + foldm_back m s1; + (==) { assert (s1 `S.equal` S.append prefix' (cons last' suffix')) } + foldm_back m (S.append prefix' (cons last' suffix')); + (==) { foldm_back3 m prefix' last' suffix' } + m.mult last' (foldm_back m (append prefix' suffix')); + (==) { assert (S.equal (append prefix' suffix') s1') } + m.mult last' (foldm_back m s1'); + (==) { foldm_back_perm m prefix s1' p' } + m.mult last' (foldm_back m prefix); + (==) { } + foldm_back m s0; + } + ) diff --git a/stage0/ulib/experimental/FStar.Sequence.Permutation.fsti b/stage0/ulib/experimental/FStar.Sequence.Permutation.fsti new file mode 100644 index 00000000000..ed82d570ed5 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Permutation.fsti @@ -0,0 +1,94 @@ +(* + Copyright 2021 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. + + Author: N. Swamy +*) +module FStar.Sequence.Permutation +open FStar.Sequence +open FStar.Sequence.Util +module S = FStar.Sequence +(* This module defines a permutation on sequences as a bijection among + the sequence indices relating equal elements. + + It defines a few utilities to work with such permutations. + + Notably: + + 1. Given two sequence with equal element counts, it constructs a + permutation. + + 2. Folding the multiplication of a commutative monoid over a + sequence and its permutation produces the same result +*) + +(* A bounded natural number *) +let nat_at_most (n:nat) = m:nat { m < n } + +(* A function from the indices of `s` to itself *) +let index_fun #a (s:seq a) = nat_at_most (S.length s) -> nat_at_most (S.length s) + +(* An abstract predicate defining when an index_fun is a permutation *) +val is_permutation (#a:Type) (s0:seq a) (s1:seq a) (f:index_fun s0) : prop + +(* Revealing the interpretation of is_permutation *) +val reveal_is_permutation (#a:Type) (s0 s1:seq a) (f:index_fun s0) + : Lemma (is_permutation s0 s1 f <==> + (* lengths of the sequences are the same *) + S.length s0 == S.length s1 /\ + (* f is injective *) + (forall x y. {:pattern f x; f y} + x <> y ==> f x <> f y) /\ + (* and f relates equal items in s0 and s1 *) + (forall (i:nat{i < S.length s0}).{:pattern (S.index s1 (f i))} + S.index s0 i == S.index s1 (f i))) + +(* A seqperm is an index_fun that is also a permutation *) +let seqperm (#a:Type) (s0:seq a) (s1:seq a) = + f:index_fun s0 { is_permutation s0 s1 f } + +(* We can construct a permutation from +// sequences whose element counts are the same *) +val permutation_from_equal_counts + (#a:eqtype) + (s0:seq a) (s1:seq a{(forall x. count x s0 == count x s1)}) + : Tot (seqperm s0 s1) + +(** Now, some utilities related to commutative monoids and permutations *) + +module CM = FStar.Algebra.CommMonoid + +(* folding a m.mult over a sequence *) +let foldm_back (#a:Type) (m:CM.cm a) (s:seq a) = fold_back m.mult s m.unit + +(* folding m over the concatenation of s1 and s2 + can be decomposed into a fold over s1 and a fold over s2 *) +val foldm_back_append (#a:Type) (m:CM.cm a) (s1 s2: seq a) + : Lemma + (ensures foldm_back m (append s1 s2) == m.mult (foldm_back m s1) (foldm_back m s2)) + +(* folds over concatenated lists can is symmetric *) +val foldm_back_sym (#a:Type) (m:CM.cm a) (s1 s2: seq a) + : Lemma + (ensures foldm_back m (append s1 s2) == foldm_back m (append s2 s1)) + +(* And, finally, if s0 and s1 are permutations, + then folding m over them is identical *) +val foldm_back_perm (#a:_) + (m:CM.cm a) + (s0:seq a) + (s1:seq a) + (p:seqperm s0 s1) + : Lemma + (ensures foldm_back m s0 == foldm_back m s1) diff --git a/stage0/ulib/experimental/FStar.Sequence.Seq.fst b/stage0/ulib/experimental/FStar.Sequence.Seq.fst new file mode 100644 index 00000000000..8c81bb4d876 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Seq.fst @@ -0,0 +1,88 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module relates FStar.Seq.seq to FStar.Sequence.seq and provides +a bijection between the two. As such, it provides a path for migrating developments based on FStar.Seq to FStar.Sequence, or vice versa +*) + +module FStar.Sequence.Seq +module Seq = FStar.Seq +module Sequence = FStar.Sequence +open FStar.Sequence + +let rec sequence_of_seq (#a:Type) (s:Seq.seq a) + : Tot (Sequence.seq a) + (decreases (Seq.length s)) + = if Seq.length s = 0 + then Sequence.empty + else let prefix, last = Seq.un_snoc s in + sequence_of_seq prefix $:: last + +let rec seq_of_sequence (#a:Type) (s:Sequence.seq a) + : Tot (Seq.seq a) + (decreases (Sequence.length s)) + = if Sequence.length s = 0 + then Seq.empty + else let prefix = Sequence.take s (Sequence.length s - 1) in + Seq.snoc (seq_of_sequence prefix) + (s$@(Sequence.length s - 1)) + +let rec related_sequence_of_seq (#a:Type) (s:Seq.seq a) + : Lemma + (ensures related s (sequence_of_seq s)) + (decreases (Seq.length s)) + = if Seq.length s = 0 then () + else ( + let prefix, last = Seq.un_snoc s in + related_sequence_of_seq prefix + ) + +let rec related_seq_of_sequence (#a:Type) (s:Sequence.seq a) + : Lemma + (ensures related (seq_of_sequence s) s) + (decreases (Sequence.length s)) + = if Sequence.length s = 0 + then () + else ( + related_seq_of_sequence (Sequence.take s (Sequence.length s - 1)) + ) + +let seq_of_sequence_of_seq (#a:Type) (s:Seq.seq a) + : Lemma (seq_of_sequence (sequence_of_seq s) == s) + = related_sequence_of_seq s; + related_seq_of_sequence (sequence_of_seq s); + assert (Seq.equal (seq_of_sequence (sequence_of_seq s)) s) + +let sequence_of_seq_of_sequence (#a:Type) (s:Sequence.seq a) + : Lemma (sequence_of_seq (seq_of_sequence s) == s) + = related_seq_of_sequence s; + related_sequence_of_seq (seq_of_sequence s); + assert (Sequence.equal (sequence_of_seq (seq_of_sequence s)) s) diff --git a/stage0/ulib/experimental/FStar.Sequence.Seq.fsti b/stage0/ulib/experimental/FStar.Sequence.Seq.fsti new file mode 100644 index 00000000000..fc78067e319 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Seq.fsti @@ -0,0 +1,58 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) + +(** +This module relates FStar.Seq.seq to FStar.Sequence.seq and provides +a bijection between the two. As such, it provides a path for migrating developments based on FStar.Seq to FStar.Sequence, or vice versa +*) +module FStar.Sequence.Seq +module Seq = FStar.Seq +module Sequence = FStar.Sequence.Base + +val sequence_of_seq (#a:Type) (s:Seq.seq a) : Sequence.seq a + +val seq_of_sequence (#a:Type) (s:Sequence.seq a) : Seq.seq a + +let related #a (s:Seq.seq a) (s':Sequence.seq a) = + Seq.length s == Sequence.length s' /\ + (forall i.{:pattern (Seq.index s i) \/ (Sequence.index s' i)} + Seq.index s i == Sequence.index s' i) + +val related_sequence_of_seq (#a:Type) (s:Seq.seq a) + : Lemma (related s (sequence_of_seq s)) + +val related_seq_of_sequence (#a:Type) (s:Sequence.seq a) + : Lemma (related (seq_of_sequence s) s) + +val seq_of_sequence_of_seq (#a:Type) (s:Seq.seq a) + : Lemma (seq_of_sequence (sequence_of_seq s) == s) + +val sequence_of_seq_of_sequence (#a:Type) (s:Sequence.seq a) + : Lemma (sequence_of_seq (seq_of_sequence s) == s) diff --git a/stage0/ulib/experimental/FStar.Sequence.Util.fst b/stage0/ulib/experimental/FStar.Sequence.Util.fst new file mode 100644 index 00000000000..95dcf91f01c --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.Util.fst @@ -0,0 +1,102 @@ +(* + Copyright 2021 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. + + Author: N. Swamy +*) + +(** This module provides some utilities on top of FStar.Sequence *) +module FStar.Sequence.Util +open FStar.Sequence.Base + + +/// For convenience, we define `slice` to represent Dafny sequence slices. +let slice (#ty: Type) (s: seq ty) (i: nat) (j: nat{j >= i && j <= length s}) + : seq ty + = all_seq_facts_lemma(); + drop (take s j) i + +let cons #a (x:a) (s:seq a) = singleton x `append` s + +let head #a (s:seq a{length s > 0}) = s $@ 0 + +let tail #a (s:seq a{length s > 0}) = drop s 1 + +/// Split a sequences into a prefix and the last element +/// This is the inverse of the Sequence.build +let un_build (#a:_) (s:seq a{length s > 0}) + : seq a & a + = take s (length s - 1), + s $@ (length s - 1) + +let split #a (s:seq a) (i:nat{ i <= length s}) + : seq a & seq a + = take s i, + drop s i + +/// Counts the number of elements of `s` that +/// satisfy the predicate [f] +let rec count_matches (#a:Type) (f:a -> bool) (s:seq a) + : Tot nat (decreases (length s)) + = all_seq_facts_lemma(); + if length s = 0 then 0 + else if f (head s) then 1 + count_matches f (tail s) + else count_matches f (tail s) + +/// count_matches on an empty sequence is always zero +let count_matches_empty (a:Type) (f:a -> bool) (s:seq a{length s = 0}) + : Lemma (count_matches f s = 0) + = () + +/// count is a specialization of count_matches +/// to count the number of occurrences of a given element `x` in `s`. +/// +/// It is opaque to give control over its unrollings in specific proofs +[@@"opaque_to_smt"] +let count (#a:eqtype) (x:a) (s:seq a) = count_matches (fun y -> x = y) s + +/// A specializtion of count_matches_empty +let count_empty (#a:eqtype) (s:seq a{length s = 0}) + : Lemma (forall x. count x s = 0) + = reveal_opaque (`%count) (count #a) + +/// The head element always occurs in a non-empty list +let count_head (#a:eqtype) (s:seq a{length s > 0}) + : Lemma (count (head s) s > 0) + = reveal_opaque (`%count) (count #a) + +/// count sums over append +let rec lemma_append_count_aux (#a:eqtype) (x:a) (lo hi:seq a) + : Lemma + (ensures (count x (append lo hi) = (count x lo + count x hi))) + (decreases (length lo)) + = all_seq_facts_lemma(); + reveal_opaque (`%count) (count #a); + if length lo = 0 + then assert (append lo hi `equal` hi) + else ( + lemma_append_count_aux x (tail lo) hi; + assert (append (tail lo) hi `equal` tail (append lo hi)) + ) + + +/// Folding a function over a sequence, starting from its +/// last element, hence fold_back +let rec fold_back (#a #b:Type) (f:b -> a -> Tot a) (s:seq b) (init:a) + : Tot a (decreases (length s)) + = all_seq_facts_lemma(); + if length s = 0 then init + else let last = s $@ (length s - 1) in + let s = take s (length s - 1) in + f last (fold_back f s init) diff --git a/stage0/ulib/experimental/FStar.Sequence.fst b/stage0/ulib/experimental/FStar.Sequence.fst new file mode 100644 index 00000000000..181f01e5613 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Sequence.fst @@ -0,0 +1,32 @@ +(* + Copyright 2008-2021 Jay Lorch, Rustan Leino, Alex Summers, Dan + Rosen, Nikhil Swamy, Microsoft Research, and contributors to + the Dafny Project + + 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. + + Includes material from the Dafny project + (https://github.com/dafny-lang/dafny) which carries this license + information: + + Created 9 February 2008 by Rustan Leino. + Converted to Boogie 2 on 28 June 2008. + Edited sequence axioms 20 October 2009 by Alex Summers. + Modified 2014 by Dan Rosen. + Copyright (c) 2008-2014, Microsoft. + Copyright by the contributors to the Dafny Project + SPDX-License-Identifier: MIT +*) +module FStar.Sequence +include FStar.Sequence.Base +include FStar.Sequence.Ambient diff --git a/stage0/ulib/experimental/FStar.Universe.PCM.fst b/stage0/ulib/experimental/FStar.Universe.PCM.fst new file mode 100644 index 00000000000..b3002af04e8 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Universe.PCM.fst @@ -0,0 +1,46 @@ +(* + Copyright 2021 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. + + Author: N. Swamy +*) +module FStar.Universe.PCM +(* Lift a PCM to a higher universe, including its frame-preserving updates *) +open FStar.PCM +open FStar.Universe +open FStar.Classical.Sugar + +let raise (#a:Type) (p:pcm a) + : pcm (raise_t u#a u#b a) + = { + p = { + composable = (fun x y -> p.p.composable (downgrade_val x) (downgrade_val y)); + op = (fun x y -> raise_val (p.p.op (downgrade_val x) (downgrade_val y))); + one = raise_val p.p.one; + }; + comm = (fun x y -> p.comm (downgrade_val x) (downgrade_val y)); + assoc = (fun x y z -> p.assoc (downgrade_val x) (downgrade_val y) (downgrade_val z)); + assoc_r = (fun x y z -> p.assoc_r (downgrade_val x) (downgrade_val y) (downgrade_val z)); + is_unit = (fun x -> p.is_unit (downgrade_val x)); + refine = (fun x -> p.refine (downgrade_val x)); + } + +let raise_frame_preserving_upd #a (#p:pcm a) (#x #y:a) (f:frame_preserving_upd p x y) + : frame_preserving_upd (raise p) (raise_val x) (raise_val y) + = fun v -> + let u = f (downgrade_val v) in + let v_new = raise_val u in + assert (forall frame. composable p y frame ==> composable (raise p) (raise_val y) (raise_val frame)); + assert (forall frame. composable (raise p) (raise_val x) frame ==> composable p x (downgrade_val frame)); + v_new diff --git a/stage0/ulib/experimental/FStar.Witnessed.Core.fst b/stage0/ulib/experimental/FStar.Witnessed.Core.fst new file mode 100644 index 00000000000..f51a82b105b --- /dev/null +++ b/stage0/ulib/experimental/FStar.Witnessed.Core.fst @@ -0,0 +1,19 @@ +module FStar.Witnessed.Core +module P = FStar.Preorder + +(* This is just to give definitions to the witnessed type for extraction. + It is NOT a semantic model of the witnessed modality *) + +let witnessed (state:Type u#a) + (rel:P.preorder state) + (p:s_predicate state) + : Type0 + = unit + +let witnessed_proof_irrelevant + (state:Type u#a) + (rel:P.preorder state) + (p:s_predicate state) + (w0 w1:witnessed state rel p) + : Lemma (w0 == w1) + = () diff --git a/stage0/ulib/experimental/FStar.Witnessed.Core.fsti b/stage0/ulib/experimental/FStar.Witnessed.Core.fsti new file mode 100644 index 00000000000..50fcaa61ce9 --- /dev/null +++ b/stage0/ulib/experimental/FStar.Witnessed.Core.fsti @@ -0,0 +1,22 @@ +module FStar.Witnessed.Core +module P = FStar.Preorder + +let s_predicate (state:Type u#a) = state -> Type0 + +let stable (state:Type u#a) + (rel:P.preorder state) + (p:s_predicate state) = + forall s0 s1. (p s0 /\ rel s0 s1) ==> p s1 + +val witnessed (state:Type u#a) + (rel:P.preorder state) + (p:s_predicate state) + : Type0 + +val witnessed_proof_irrelevant + (state:Type u#a) + (rel:P.preorder state) + (p:s_predicate state) + (w0 w1:witnessed state rel p) + : Lemma (w0 == w1) + diff --git a/stage0/ulib/fs/FStar_All.fs b/stage0/ulib/fs/FStar_All.fs new file mode 100644 index 00000000000..d17e5bfd367 --- /dev/null +++ b/stage0/ulib/fs/FStar_All.fs @@ -0,0 +1,7 @@ +#light "off" +module FStar_All + let failwith x = failwith x + let exit i = exit i + let pipe_right a f = f a + let pipe_left f a = f a + let try_with f1 f2 = try f1 () with | e -> f2 e diff --git a/stage0/ulib/fs/FStar_Char.fs b/stage0/ulib/fs/FStar_Char.fs new file mode 100644 index 00000000000..362dc52b204 --- /dev/null +++ b/stage0/ulib/fs/FStar_Char.fs @@ -0,0 +1,9 @@ +module FStar_Char +open Prims + +type char = FSharp.Core.char + +let lowercase = System.Char.ToLower +let uppercase = System.Char.ToUpper +let int_of_char (x:char) : int = Microsoft.FSharp.Core.Operators.int x |> System.Numerics.BigInteger.op_Implicit +let char_of_int (x:int) : char = Microsoft.FSharp.Core.Operators.int x |> Microsoft.FSharp.Core.Operators.char diff --git a/stage0/ulib/fs/FStar_CommonST.fs b/stage0/ulib/fs/FStar_CommonST.fs new file mode 100644 index 00000000000..cc470325dd3 --- /dev/null +++ b/stage0/ulib/fs/FStar_CommonST.fs @@ -0,0 +1,26 @@ +module FStar_CommonST + +open FStar_Monotonic_Heap + +let read x = x.contents + +let op_Bang x = read x + +let write x y = x.contents <- y + +let op_Colon_Equals x y = write x y + +let uid = ref 0 + +let alloc contents = + let id = incr uid; !uid in + let r = { id = id; contents = contents } in + r + +let recall = (fun r -> ()) +let get () = () + +type 'a witnessed = | C + +let gst_witness = (fun r -> ()) +let gst_recall = (fun r -> ()) diff --git a/stage0/ulib/fs/FStar_Dyn.fs b/stage0/ulib/fs/FStar_Dyn.fs new file mode 100644 index 00000000000..a1b4bd8be6c --- /dev/null +++ b/stage0/ulib/fs/FStar_Dyn.fs @@ -0,0 +1,7 @@ +module FStar_Dyn + +type dyn = obj + +let mkdyn (x:'a) : dyn = box x + +let undyn (d:dyn) : 'a = unbox<'a> d diff --git a/stage0/ulib/fs/FStar_Exn.fs b/stage0/ulib/fs/FStar_Exn.fs new file mode 100644 index 00000000000..b931f23bae9 --- /dev/null +++ b/stage0/ulib/fs/FStar_Exn.fs @@ -0,0 +1,3 @@ +module FStar_Exn + +let raise = raise diff --git a/stage0/ulib/fs/FStar_Float.fs b/stage0/ulib/fs/FStar_Float.fs new file mode 100644 index 00000000000..b95942563b5 --- /dev/null +++ b/stage0/ulib/fs/FStar_Float.fs @@ -0,0 +1,5 @@ +module FStar_Float +open Prims + +type float = FSharp.Core.float +type double = float diff --git a/stage0/ulib/fs/FStar_Ghost.fs b/stage0/ulib/fs/FStar_Ghost.fs new file mode 100644 index 00000000000..dca2089cef3 --- /dev/null +++ b/stage0/ulib/fs/FStar_Ghost.fs @@ -0,0 +1,12 @@ +module FStar_Ghost + +type erased = unit +let reveal : erased -> unit = fun _ -> () +let hide : unit -> erased = fun _ -> () +let hide_reveal : erased -> unit = fun _ -> () +let reveal_hide : unit -> unit = fun _ -> () +let elift1 : (unit -> unit) -> erased -> erased = fun _ _ -> () +let elift2 : (unit -> unit -> unit) -> erased -> erased -> erased = fun _ _ _ -> () +let elift3 : (unit -> unit -> unit -> unit) -> erased -> erased -> erased -> erased = fun _ _ _ _ -> () +let elift1_p : (unit -> unit) -> erased -> erased = fun _ _ -> () +let elift2_p : (unit -> unit -> unit) -> erased -> erased -> erased = fun _ _ _ -> () diff --git a/stage0/ulib/fs/FStar_Heap.fs b/stage0/ulib/fs/FStar_Heap.fs new file mode 100644 index 00000000000..1321304f226 --- /dev/null +++ b/stage0/ulib/fs/FStar_Heap.fs @@ -0,0 +1,7 @@ +module FStar_Heap + +open FStar_Monotonic_Heap + +type 'a ref = 'a FStar_Monotonic_Heap.ref +type trivial_rel = Prims.l_True +type trivial_preorder = trivial_rel diff --git a/stage0/ulib/fs/FStar_HyperStack_All.fs b/stage0/ulib/fs/FStar_HyperStack_All.fs new file mode 100644 index 00000000000..d83edab144e --- /dev/null +++ b/stage0/ulib/fs/FStar_HyperStack_All.fs @@ -0,0 +1,8 @@ +module FStar_HyperStack_All + +let failwith x = failwith x +let exit i = exit (Microsoft.FSharp.Core.Operators.int i) +let pipe_right a f = f a +let pipe_left f a = f a +let try_with f1 f2 = try f1 () with | e -> f2 e + diff --git a/stage0/ulib/fs/FStar_HyperStack_IO.fs b/stage0/ulib/fs/FStar_HyperStack_IO.fs new file mode 100644 index 00000000000..64f17eef943 --- /dev/null +++ b/stage0/ulib/fs/FStar_HyperStack_IO.fs @@ -0,0 +1,6 @@ +module FStar_HyperStack_IO + +open Prims + +let print_string : Prims.string -> Prims.unit = + FStar_IO.print_string diff --git a/stage0/ulib/fs/FStar_HyperStack_ST.fs b/stage0/ulib/fs/FStar_HyperStack_ST.fs new file mode 100644 index 00000000000..eccb680f1a8 --- /dev/null +++ b/stage0/ulib/fs/FStar_HyperStack_ST.fs @@ -0,0 +1,90 @@ +module FStar_HyperStack_ST + +open FStar_CommonST + +open FStar_Monotonic_HyperHeap + +(* TODO: There are issues with removing unused parameters in (Monotonic_)Hyper_Stack modules *) +open FStar_Monotonic_HyperStack + +open FStar_HyperStack + +let push_frame () = () +let pop_frame () = () + +let root = () + +let def_rid = root + +let salloc (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (root, r) + +let salloc_mm (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (root, r) + +let sfree r = () + +let new_region = (fun r0 -> def_rid) +let new_colored_region = (fun r0 c -> def_rid) + +let ralloc i (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (i, r) + +let ralloc_mm i (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (i, r) + +let rfree r = () + +let op_Colon_Equals r v = match r with + | MkRef (_, r) -> op_Colon_Equals r v + +let op_Bang r = match r with + | MkRef (_, r) -> op_Bang r + +let read = op_Bang + +let write = op_Colon_Equals + +let get () = HS (Prims.parse_int "0", FStar_Map.const1 FStar_Monotonic_Heap.emp, def_rid) + +let recall = (fun r -> ()) + +let recall_region = (fun r -> ()) +let witness_region _ = () +let witness_hsref _ = () +type erid = rid + +type ('a, 'rel) mreference = ('a, 'rel) FStar_Monotonic_HyperStack.mreference +type ('a, 'rel) mref = ('a, 'rel) FStar_Monotonic_HyperStack.mref +type 'a reference = ('a, unit) mreference +type 'a ref = ('a, unit) mref +type ('a, 'b) m_rref = ('a, 'b) mref + +//type 'a ref = 'a FStar_HyperStack.reference +//type 'a mreference = 'a ref +//type 'a reference = 'a ref +let alloc = salloc +//type 'a mref = 'a ref +//type 'b m_rref = 'b ref +type stable_on_t = unit +let mr_witness _ _ _ _ _ = () +let testify _ = () +let testify_forall _ = () +let testify_forall_region_contains_pred _ _ = () + +type ex_rid = erid +type 'a witnessed = 'a FStar_CommonST.witnessed +type stable_on = unit +type token = unit +let witness_p _ _ = () +let recall_p _ _ = () + +type drgn = rid +let new_drgn _ = () +let free_drgn _ = () +let ralloc_drgn = ralloc +let ralloc_drgn_mm = ralloc_mm diff --git a/stage0/ulib/fs/FStar_IO.fs b/stage0/ulib/fs/FStar_IO.fs new file mode 100644 index 00000000000..b060b1aac7e --- /dev/null +++ b/stage0/ulib/fs/FStar_IO.fs @@ -0,0 +1,27 @@ +module FStar_IO +exception EOF +open System +open System.IO +type fd_read = TextReader +type fd_write = TextWriter + +let print_newline _ = Printf.printf "\n" +let print_string x = Printf.printf "%s" x +let print_uint8 x = Printf.printf "%02x" x +let print_uint32 x = Printf.printf "%04x" x +let print_uint64 x = Printf.printf "%08x" x +let print_any x = Printf.printf "%A" x +let input_line () = System.Console.ReadLine() +let input_int () = Int32.Parse(System.Console.ReadLine()) +let input_float () = Single.Parse(System.Console.ReadLine(), System.Globalization.CultureInfo.InvariantCulture); +let open_read_file (x:string) = new StreamReader(x) +let open_write_file (x:string) = File.CreateText(x) +let close_read_file (x:fd_read) = x.Close() +let close_write_file (x:fd_write) = x.Close() +let read_line (fd:fd_read) = + let x = fd.ReadLine() in + if x=null + then raise EOF + else x +let write_string (fd:fd_write) (x:string) = + fd.Write(x) diff --git a/stage0/ulib/fs/FStar_Int16.fs b/stage0/ulib/fs/FStar_Int16.fs new file mode 100644 index 00000000000..b837d19c0e3 --- /dev/null +++ b/stage0/ulib/fs/FStar_Int16.fs @@ -0,0 +1,85 @@ +module FStar_Int16 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_Int16.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type int16 = System.Int16 +type t = System.Int16 +let n = Prims.of_int 16 + +let int_to_t x = System.Int16.Parse((string x)) +let __int_to_t = int_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0s +let one = 1s +let ones = System.Int16.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.Int16.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X4") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_Int32.fs b/stage0/ulib/fs/FStar_Int32.fs new file mode 100644 index 00000000000..b35b9fee7b3 --- /dev/null +++ b/stage0/ulib/fs/FStar_Int32.fs @@ -0,0 +1,85 @@ +module FStar_Int32 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_Int32.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type int32 = System.Int32 +type t = System.Int32 +let n = Prims.of_int 32 + +let int_to_t x = System.Int32.Parse((string x)) +let __int_to_t = int_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0 +let one = 1 +let ones = System.Int32.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.Int32.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X8") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (FSharp.Core.Operators.int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (FSharp.Core.Operators.int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_Int64.fs b/stage0/ulib/fs/FStar_Int64.fs new file mode 100644 index 00000000000..734d148f02d --- /dev/null +++ b/stage0/ulib/fs/FStar_Int64.fs @@ -0,0 +1,85 @@ +module FStar_Int64 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_Int64.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type int16 = System.Int64 +type t = System.Int64 +let n = Prims.of_int 64 + +let int_to_t x = System.Int64.Parse((string x)) +let __int_to_t = int_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0L +let one = 1L +let ones = System.Int64.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.Int64.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X16") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_Int8.fs b/stage0/ulib/fs/FStar_Int8.fs new file mode 100644 index 00000000000..fcfe9607068 --- /dev/null +++ b/stage0/ulib/fs/FStar_Int8.fs @@ -0,0 +1,85 @@ +module FStar_Int8 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_Int8.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type int8 = System.SByte +type t = System.SByte +let n = Prims.of_int 8 + +let int_to_t x = System.SByte.Parse((string x)) +let __int_to_t = int_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0y +let one = 1y +let ones = System.SByte.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.SByte.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X2") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_List.fs b/stage0/ulib/fs/FStar_List.fs new file mode 100644 index 00000000000..29d4e065659 --- /dev/null +++ b/stage0/ulib/fs/FStar_List.fs @@ -0,0 +1,54 @@ +module FStar_List +open Prims +//open FStar.List.Tot.Base + +let isEmpty l = List.isEmpty l +let mem = List.contains +let memT = mem +let hd = List.head +let tail = List.tail +let tl = List.tail + +let nth l i = List.nth l (Microsoft.FSharp.Core.Operators.int i) +let length l : int = List.length l |> System.Numerics.BigInteger.op_Implicit +let rev = List.rev +let map = List.map +let mapT = map +let mapi f l = List.mapi (fun i x -> f (System.Numerics.BigInteger.op_Implicit i) x) l +let map2 = List.map2 +let rec map3 = List.map3 +let iter = List.iter +let iter2 = List.iter2 +let iteri_aux _ _ _ = failwith "FStar.List.fs: Not implemented: iteri_aux" +let iteri f l = List.iteri (fun i x -> f (System.Numerics.BigInteger.op_Implicit i) x) l +let partition = List.partition +let append = List.append +let rev_append _ _ = failwith "FStar.List.fs: Not implemented: rev_append" +let fold_left = List.fold +let fold_right = List.foldBack +let fold_left2 = List.fold2 +let fold_right2 = List.foldBack2 +let collect = List.collect +let unzip = List.unzip +let unzip3 = List.unzip3 +let filter = List.filter +let sortWith f l = List.sortWith (fun x y -> Microsoft.FSharp.Core.Operators.int (f x y)) l +let for_all = List.forall +let forall2 = List.forall2 +let tryFind f l = List.tryFind f l +let tryFindT = tryFind +let find = tryFind +let tryPick f l = List.tryPick f l +let flatten = List.concat +let split = unzip +let choose = List.choose +let existsb f l = List.exists f l +let existsML f l = List.exists f l +let contains x l = List.exists (fun y -> x = y) l +let zip = List.zip +let splitAt x l = List.splitAt ( Microsoft.FSharp.Core.Operators.int x) l +let filter_map = List.choose +let index f l = System.Numerics.BigInteger.op_Implicit (List.findIndex f l) +let zip3 = List.zip3 +let unique _ _ = failwith "FStar.List.fs: Not implemented: unique" +let map_flatten f l = flatten (map f l) diff --git a/stage0/ulib/fs/FStar_List_Tot_Base.fs b/stage0/ulib/fs/FStar_List_Tot_Base.fs new file mode 100644 index 00000000000..1edaa3e6926 --- /dev/null +++ b/stage0/ulib/fs/FStar_List_Tot_Base.fs @@ -0,0 +1,48 @@ +module FStar_List_Tot_Base +open Prims + +let isEmpty l = List.isEmpty l +let hd = List.head +let tail = List.tail +let tl = List.tail +let length l : int = List.length l |> System.Numerics.BigInteger.op_Implicit +let nth l (i : Prims.nat) = try Some (List.nth l (Microsoft.FSharp.Core.Operators.int i)) with _ -> None +let index l (i : Prims.nat) = List.nth l (Microsoft.FSharp.Core.Operators.int i) +let count _ _ = failwith "FStar_List.Tot.Base.fs: Not implemented: count" +let rev_acc l r = List.fold (fun xs x -> x :: xs) r l +let rev = List.rev +let append = List.append +let op_At = append +let snoc (x, y) = append x [y] +let flatten = List.concat +let map = List.map +let mapi_init _ _ _ = failwith "FStar.List.Tot.Base.fs: Not implemented: mapi_init" +let mapi f l = List.mapi (fun i x -> f (System.Numerics.BigInteger.op_Implicit i) x) l +let concatMap f l = List.collect f l +let fold_left = List.fold +let fold_right = List.foldBack +let fold_left2 = List.fold2 +let mem = List.contains +//type ('a, 'b, 'c) memP = NOT IMPLEMENTED +let contains x l = List.exists (fun y -> x = y) l +let existsb f l = List.exists f l +let find f l = List.tryFind f l +let filter = List.filter +let for_all = List.forall +let collect f l = List.collect f l +let tryFind = find +let tryPick f l = List.tryPick f l +let choose = List.choose +let partition = List.partition +let subset _ _ = failwith "FStar.List.Tot.Base.fs: Not implemented: subset" +let noRepeats _ = failwith "FStar.List.Tot.Base.fs: Not implemented: noRepeats" +let rec assoc x l = l |> List.tryFind (fun (h, _) -> h = x) |> Option.map snd +let split = List.unzip +let splitAt = List.splitAt +let unzip = List.unzip + +let unzip3 = List.unzip3 +let bool_of_compare _ _ _ = failwith "FStar.List.Tot.Base.fs: Not implemented: bool_of_compare" +let compare_of_bool _ _ _ = failwith "FStar.List.Tot.Base.fs: Not implemented: compare_of_bool" +let sortWith (f : 'a -> 'a -> Prims.int) l = List.sortWith (fun x y -> Microsoft.FSharp.Core.Operators.int (f x y)) l +let list_unref l = l diff --git a/stage0/ulib/fs/FStar_Map.fs b/stage0/ulib/fs/FStar_Map.fs new file mode 100644 index 00000000000..140d8d0a704 --- /dev/null +++ b/stage0/ulib/fs/FStar_Map.fs @@ -0,0 +1,135 @@ +#light "off" +module FStar_Map +open Prims +open FStar_Pervasives +(* TODO: The extracted version of this file doesn't include the when 'key : comparison constraint which is required for F# *) +type t<'key, 'value when 'key : comparison> = +{mappings : ('key, 'value) FStar_FunctionalExtensionality.restricted_t; domain : 'key FStar_Set.set} + + +let __proj__Mkt__item__mappings = (fun ( projectee : ('key, 'value) t ) -> (match (projectee) with +| {mappings = mappings; domain = domain} -> begin +mappings +end)) + + +let __proj__Mkt__item__domain = (fun ( projectee : ('key, 'value) t ) -> (match (projectee) with +| {mappings = mappings; domain = domain} -> begin +domain +end)) + + +let sel = (fun ( m : ('key, 'value) t ) ( k : 'key ) -> (m.mappings k)) + + +let upd = (fun ( m : ('key, 'value) t ) ( k : 'key ) ( v : 'value ) -> {mappings = (FStar_FunctionalExtensionality.on_domain (fun ( x : 'key ) -> (match ((Prims.op_Equality x k)) with +| true -> begin +v +end +| uu____5020 -> begin +(m.mappings x) +end))); domain = (FStar_Set.union m.domain (FStar_Set.singleton k))}) + + +let const1 = (fun ( v : 'value ) -> {mappings = (FStar_FunctionalExtensionality.on_domain (fun ( uu____5049 : 'key ) -> v)); domain = (FStar_Set.complement (FStar_Set.empty ()))}) + + +let domain = (fun ( m : ('key, 'value) t ) -> m.domain) + + +let contains = (fun ( m : ('key, 'value) t ) ( k : 'key ) -> (FStar_Set.mem k m.domain)) + + +let concat = (fun ( m1 : ('key, 'value) t ) ( m2 : ('key, 'value) t ) -> {mappings = (FStar_FunctionalExtensionality.on_domain (fun ( x : 'key ) -> (match ((FStar_Set.mem x m2.domain)) with +| true -> begin +(m2.mappings x) +end +| uu____5174 -> begin +(m1.mappings x) +end))); domain = (FStar_Set.union m1.domain m2.domain)}) + +(* TODO: Only implicit arguments at the start of a function are erased, whereas the others are extracted to unit and obj + which makes extracted function unusable. See examples/hello/TestFSharp for a minimal example. + + Here, key should be a generic argument with a comparison constraint instead of obj/unit. + + A simple workaround would be to change the declaration of map_val in the FStar.Map.fsti so that + '#key:eqtype' parameter is moved before any non-implicit parameters (i.e. before 'f'). +*) +let map_val = (fun ( f : 'uuuuuu5195 -> 'uuuuuu5196 ) ( key : 'key ) ( m : ('key, 'uuuuuu5195) t ) -> {mappings = (FStar_FunctionalExtensionality.on_domain (fun ( x : 'key ) -> (f (m.mappings x)))); domain = m.domain}) + + +let restrict = (fun ( s : 'key FStar_Set.set ) ( m : ('key, 'value) t ) -> {mappings = m.mappings; domain = (FStar_Set.intersect s m.domain)}) + + +let const_on = (fun ( dom : 'key FStar_Set.set ) ( v : 'value ) -> (restrict dom (const1 v))) + + +type disjoint_dom = +unit + + +type has_dom = +unit + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +type equal = +unit + + + + + + + + + + + + + diff --git a/stage0/ulib/fs/FStar_Monotonic_Heap.fs b/stage0/ulib/fs/FStar_Monotonic_Heap.fs new file mode 100644 index 00000000000..6c92edde7ea --- /dev/null +++ b/stage0/ulib/fs/FStar_Monotonic_Heap.fs @@ -0,0 +1,46 @@ +module FStar_Monotonic_Heap + +type heap = unit + +(* Following OCaml implementation we want reference (physical) equality for ref. + https://www.lexifi.com/blog/references-physical-equality *) +[] +type 'a ref = { + mutable contents: 'a; + id: int +} + +type 'a mref = 'a ref + +let emp = + () + +(* Logical functions on heap *) +(* TODO : complete the functions to have the same interface as in FStar.Heap.fsti *) + +let addr_of _ = unbox (box ()) +let is_mm _ = unbox (box ()) + +(* let compare_addrs *) + +// HACK: We need to somehow make the implementation agree with the interface. Those types seem to be used only +// in lemmas, so they shouldn't matter. +type ('a, 'b, 'c, 'd) contains = 'a * 'b * 'c * 'd +type ('a, 'b) addr_unused_in = 'a * 'b +type ('a, 'b, 'c, 'd) unused_in = 'a * 'b * 'c * 'd +let fresh _ _ _ = unbox (box ()) + +let sel _ _ = unbox (box ()) +let upd _ _ _ = unbox (box ()) +let alloc _ _ _ = unbox (box ()) + +let free_mm _ _ = unbox (box ()) +let sel_tot = sel +let upd_tot = upd + +(* Untyped view of references *) +type aref = + | Ref of (unit * unit) +let dummy_aref = Ref ((), ()) +let aref_of _ = dummy_aref +let ref_of _ _ = unbox (box ()) diff --git a/ulib/fs/FStar_Mul.fs b/stage0/ulib/fs/FStar_Mul.fs similarity index 100% rename from ulib/fs/FStar_Mul.fs rename to stage0/ulib/fs/FStar_Mul.fs diff --git a/stage0/ulib/fs/FStar_Option.fs b/stage0/ulib/fs/FStar_Option.fs new file mode 100644 index 00000000000..2a74f4f9c0b --- /dev/null +++ b/stage0/ulib/fs/FStar_Option.fs @@ -0,0 +1,11 @@ +module FStar_Option +let isSome = function + | Some _ -> true + | None -> false +let isNone o = not (isSome o) +let map f = function + | Some x -> Some (f x) + | None -> None +let get = function + | Some x -> x + | None -> failwith "Option.get called on None" diff --git a/stage0/ulib/fs/FStar_Pervasives_Native.fs b/stage0/ulib/fs/FStar_Pervasives_Native.fs new file mode 100644 index 00000000000..c37bfcc2aa4 --- /dev/null +++ b/stage0/ulib/fs/FStar_Pervasives_Native.fs @@ -0,0 +1,271 @@ +#light "off" +module FStar_Pervasives_Native +open Prims +type 'Aa option = +| None +| Some of 'Aa + + +let uu___is_None = function None -> true | _ -> false +let uu___is_Some = function Some _ -> true | _ -> false +let __proj__Some__item__v = function Some x -> x | _ -> failwith "Option value not available" + +type ('a,'b) tuple2 = 'a * 'b + +let fst = Microsoft.FSharp.Core.Operators.fst +let snd = Microsoft.FSharp.Core.Operators.snd + +let __proj__Mktuple2__1 = fst +let __proj__Mktuple2__2 = snd + +type ('a,'b,'c) tuple3 = + 'a* 'b* 'c +let uu___is_Mktuple3 projectee = true +let __proj__Mktuple3__item___1 projectee = + match projectee with | (_1,_2,_3) -> _1 +let __proj__Mktuple3__item___2 projectee = + match projectee with | (_1,_2,_3) -> _2 +let __proj__Mktuple3__item___3 projectee = + match projectee with | (_1,_2,_3) -> _3 + +type ('a,'b,'c,'d) tuple4 = + 'a* 'b* 'c* 'd +let uu___is_Mktuple4 projectee = true +let __proj__Mktuple4__item___1 projectee = + match projectee with | (_1,_2,_3,_4) -> _1 +let __proj__Mktuple4__item___2 projectee = + match projectee with | (_1,_2,_3,_4) -> _2 +let __proj__Mktuple4__item___3 projectee = + match projectee with | (_1,_2,_3,_4) -> _3 +let __proj__Mktuple4__item___4 projectee = + match projectee with | (_1,_2,_3,_4) -> _4 + +type ('a,'b,'c,'d,'e) tuple5 = + 'a* 'b* 'c* 'd* 'e +let uu___is_Mktuple5 projectee = true +let __proj__Mktuple5__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _1 +let __proj__Mktuple5__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _2 +let __proj__Mktuple5__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _3 +let __proj__Mktuple5__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _4 +let __proj__Mktuple5__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _5 + +type ('a,'b,'c,'d,'e,'f) tuple6 = + 'a* 'b* 'c* 'd* 'e* 'f +let uu___is_Mktuple6 projectee = true +let __proj__Mktuple6__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _1 +let __proj__Mktuple6__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _2 +let __proj__Mktuple6__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _3 +let __proj__Mktuple6__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _4 +let __proj__Mktuple6__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _5 +let __proj__Mktuple6__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _6 + +type ('a,'b,'c,'d,'e,'f,'g) tuple7 = + 'a* 'b* 'c* 'd* 'e* 'f* 'g +let uu___is_Mktuple7 projectee = true +let __proj__Mktuple7__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _1 +let __proj__Mktuple7__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _2 +let __proj__Mktuple7__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _3 +let __proj__Mktuple7__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _4 +let __proj__Mktuple7__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _5 +let __proj__Mktuple7__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _6 +let __proj__Mktuple7__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _7 + +type ('a,'b,'c,'d,'e,'f,'g,'h) tuple8 = + 'a* 'b* 'c* 'd* 'e* 'f* 'g* 'h +let uu___is_Mktuple8 projectee = true +let __proj__Mktuple8__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _1 +let __proj__Mktuple8__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _2 +let __proj__Mktuple8__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _3 +let __proj__Mktuple8__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _4 +let __proj__Mktuple8__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _5 +let __proj__Mktuple8__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _6 +let __proj__Mktuple8__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _7 +let __proj__Mktuple8__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _8 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i) tuple9 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i +let uu___is_Mktuple9 projectee = true +let __proj__Mktuple9__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _1 +let __proj__Mktuple9__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _2 +let __proj__Mktuple9__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _3 +let __proj__Mktuple9__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _4 +let __proj__Mktuple9__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _5 +let __proj__Mktuple9__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _6 +let __proj__Mktuple9__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _7 +let __proj__Mktuple9__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _8 +let __proj__Mktuple9__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _9 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j) tuple10 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j +let uu___is_Mktuple10 projectee = true +let __proj__Mktuple10__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _1 +let __proj__Mktuple10__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _2 +let __proj__Mktuple10__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _3 +let __proj__Mktuple10__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _4 +let __proj__Mktuple10__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _5 +let __proj__Mktuple10__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _6 +let __proj__Mktuple10__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _7 +let __proj__Mktuple10__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _8 +let __proj__Mktuple10__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _9 +let __proj__Mktuple10__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _10 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k) tuple11 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k +let uu___is_Mktuple11 projectee = true +let __proj__Mktuple11__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _1 +let __proj__Mktuple11__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _2 +let __proj__Mktuple11__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _3 +let __proj__Mktuple11__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _4 +let __proj__Mktuple11__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _5 +let __proj__Mktuple11__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _6 +let __proj__Mktuple11__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _7 +let __proj__Mktuple11__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _8 +let __proj__Mktuple11__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _9 +let __proj__Mktuple11__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _10 +let __proj__Mktuple11__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _11 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l) tuple12 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l +let uu___is_Mktuple12 projectee = true +let __proj__Mktuple12__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _1 +let __proj__Mktuple12__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _2 +let __proj__Mktuple12__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _3 +let __proj__Mktuple12__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _4 +let __proj__Mktuple12__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _5 +let __proj__Mktuple12__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _6 +let __proj__Mktuple12__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _7 +let __proj__Mktuple12__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _8 +let __proj__Mktuple12__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _9 +let __proj__Mktuple12__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _10 +let __proj__Mktuple12__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _11 +let __proj__Mktuple12__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _12 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m) tuple13 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l *'m +let uu___is_Mktuple13 projectee = true +let __proj__Mktuple13__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _1 +let __proj__Mktuple13__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _2 +let __proj__Mktuple13__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _3 +let __proj__Mktuple13__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _4 +let __proj__Mktuple13__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _5 +let __proj__Mktuple13__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _6 +let __proj__Mktuple13__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _7 +let __proj__Mktuple13__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _8 +let __proj__Mktuple13__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _9 +let __proj__Mktuple13__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _10 +let __proj__Mktuple13__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _11 +let __proj__Mktuple13__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _12 +let __proj__Mktuple13__item___13 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _13 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n) tuple14 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l *'m *'n +let uu___is_Mktuple14 projectee = true +let __proj__Mktuple14__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _1 +let __proj__Mktuple14__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _2 +let __proj__Mktuple14__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _3 +let __proj__Mktuple14__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _4 +let __proj__Mktuple14__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _5 +let __proj__Mktuple14__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _6 +let __proj__Mktuple14__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _7 +let __proj__Mktuple14__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _8 +let __proj__Mktuple14__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _9 +let __proj__Mktuple14__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _10 +let __proj__Mktuple14__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _11 +let __proj__Mktuple14__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _12 +let __proj__Mktuple14__item___13 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _13 +let __proj__Mktuple14__item___14 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _14 diff --git a/stage0/ulib/fs/FStar_ST.fs b/stage0/ulib/fs/FStar_ST.fs new file mode 100644 index 00000000000..79da3351dea --- /dev/null +++ b/stage0/ulib/fs/FStar_ST.fs @@ -0,0 +1,23 @@ +#light "off" +module FStar_ST + +open FStar_CommonST + +type 'a mref = 'a FStar_Monotonic_Heap.mref +type 'a ref = 'a FStar_Monotonic_Heap.ref + +let read = read +let op_Bang = op_Bang + +let write = write +let op_Colon_Equals = op_Colon_Equals + +let alloc x = alloc + +let recall = recall +let get = get + +type 'a witnessed = 'a FStar_CommonST.witnessed + +let gst_Witness = gst_witness +let gst_recall = gst_recall \ No newline at end of file diff --git a/stage0/ulib/fs/FStar_Set.fs b/stage0/ulib/fs/FStar_Set.fs new file mode 100644 index 00000000000..28e1df7bb34 --- /dev/null +++ b/stage0/ulib/fs/FStar_Set.fs @@ -0,0 +1,15 @@ +module FStar_Set + +type set<'a when 'a : comparison> = Set<'a> +let empty () = Set.empty +let singleton = Set.singleton +let union = Set.union +let intersect = Set.intersect +let complement x = Set.empty // TODO +let mem = Set.contains + +(* + * F* should not extract Set.equal + * We should fix it, adding the following in the meantime + *) +type equal = unit diff --git a/stage0/ulib/fs/FStar_String.fs b/stage0/ulib/fs/FStar_String.fs new file mode 100644 index 00000000000..c40710f24dc --- /dev/null +++ b/stage0/ulib/fs/FStar_String.fs @@ -0,0 +1,29 @@ +module FStar_String +open Prims + +let make (i : nat) (c : FStar_Char.char) = String.init (Microsoft.FSharp.Core.Operators.int i) (fun _ -> string([|c|])) +let strcat s t = s ^ t +let op_Hat s t = strcat s t + +let split (seps : FStar_Char.char list) (s : string) = s.Split(Array.ofList seps) + +let compare (x : string) (y : string) = Prims.of_int (x.CompareTo(y)) +type char = FStar_Char.char +let concat = String.concat +let length s = Prims.of_int (String.length s) +let strlen s = length s + +let substring (s : string) (i : Prims.int) (j : Prims.int) = s.Substring(Microsoft.FSharp.Core.Operators.int i, Microsoft.FSharp.Core.Operators.int j) +let sub = substring + +let get (s : string) (i : Prims.int) = s.[Microsoft.FSharp.Core.Operators.int i] +let collect (f : char -> string) (s : string) = s |> Array.ofSeq |> Array.map f |> String.concat "" +let lowercase (s : string) = s.ToLowerInvariant() +let uppercase (s : string) = s.ToUpperInvariant() +//let escaped = BatString.escaped +let index = get + +let index_of (s : string) (c : char) = s.IndexOf(c) +let list_of_string (s : string) = s |> Seq.toList +let string_of_list (l : char list) = string(Array.ofList l) +let string_of_char (c : char) = string(c, 1) diff --git a/stage0/ulib/fs/FStar_UInt16.fs b/stage0/ulib/fs/FStar_UInt16.fs new file mode 100644 index 00000000000..9c9c543ce6f --- /dev/null +++ b/stage0/ulib/fs/FStar_UInt16.fs @@ -0,0 +1,85 @@ +module FStar_UInt16 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_UInt16.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type uint16 = System.UInt16 +type t = System.UInt16 +let n = Prims.of_int 16 + +let uint_to_t x = System.UInt16.Parse((string x)) +let __uint_to_t = uint_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0us +let one = 1us +let ones = System.UInt16.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.UInt16.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X4") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_UInt32.fs b/stage0/ulib/fs/FStar_UInt32.fs new file mode 100644 index 00000000000..58a4feeb85d --- /dev/null +++ b/stage0/ulib/fs/FStar_UInt32.fs @@ -0,0 +1,85 @@ +module FStar_UInt32 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_UInt32.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type uint32 = System.UInt32 +type t = System.UInt32 +let n = Prims.of_int 32 + +let uint_to_t x = System.UInt32.Parse((string x)) +let __uint_to_t = uint_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0u +let one = 1u +let ones = System.UInt32.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.UInt32.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X8") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_UInt64.fs b/stage0/ulib/fs/FStar_UInt64.fs new file mode 100644 index 00000000000..1b0a40070e3 --- /dev/null +++ b/stage0/ulib/fs/FStar_UInt64.fs @@ -0,0 +1,85 @@ +module FStar_UInt64 +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) +(* THIS FILE IS BASED ON AUTOGENERATED ml/FStar_UInt64.ml FILE! *) +(* !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! *) + +type uint64 = System.UInt64 +type t = System.UInt64 +let n = Prims.of_int 64 + +let uint_to_t x = System.UInt64.Parse((string x)) +let __uint_to_t = uint_to_t + +let v (x:t) : Prims.int = Prims.parse_int (string x) + +let zero = 0UL +let one = 1UL +let ones = System.UInt64.MaxValue + +(* Reexport add, plus aliases *) +let add : t -> t -> t = (+) +let add_underspec : t -> t -> t = (+) +let add_mod : t -> t -> t = (+) + +(* Reexport sub, plus aliases *) +let sub : t -> t -> t = (-) +let sub_underspec : t -> t -> t = (-) +let sub_mod : t -> t -> t = (-) + +(* Reexport mul, plus aliases *) +let mul : t -> t -> t = (*) +let mul_underspec : t -> t -> t = (*) +let mul_mod : t -> t -> t = (*) + +(* Just reexport these *) +let div : t -> t -> t = (/) +let rem : t -> t -> t = (%) +let logand : t -> t -> t = (&&&) +let logxor : t -> t -> t = (^^^) +let logor : t -> t -> t = (|||) +let lognot : t -> t = (~~~) +let to_string : t -> string = string +let of_string : string -> t = System.UInt64.Parse + +let to_string_hex (x : t) = "0x" + (x.ToString("X")) + +let to_string_hex_pad (i : t) = i.ToString("X16") + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right (n : t) (i : System.UInt32) : t = n >>> (int32 i) +let shift_left (n : t) (i : System.UInt32) : t = n <<< (int32 i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/stage0/ulib/fs/FStar_UInt8.fs b/stage0/ulib/fs/FStar_UInt8.fs new file mode 100644 index 00000000000..4d08b53a04c --- /dev/null +++ b/stage0/ulib/fs/FStar_UInt8.fs @@ -0,0 +1,84 @@ +module FStar_UInt8 + +// TODO: Would it make sense to use .net byte here? +type uint8 = Prims.int +type byte = uint8 +type t = uint8 +type t' = t + +let n = Prims.parse_int "8" +let v (x:uint8) : Prims.int = Prims.parse_int (string x) + +let zero = 0 +let one = 1 +let ones = 255 + +let add (a:uint8) (b:uint8) : uint8 = a + b +let add_underspec a b = (add a b) &&& 255I +let add_mod = add_underspec + +let sub (a:uint8) (b:uint8) : uint8 = a - b +let sub_underspec a b = (sub a b) &&& 255I +let sub_mod = sub_underspec + +let mul (a:uint8) (b:uint8) : uint8 = a * b +let mul_underspec a b = (mul a b) &&& 255I +let mul_mod = mul_underspec + +let div (a:uint8) (b:uint8) : uint8 = Prims.(/) a b + +let rem (a:uint8) (b:uint8) : uint8 = Prims.(mod) a b + +let logand (a:uint8) (b:uint8) : uint8 = a &&& b +let logxor (a:uint8) (b:uint8) : uint8 = a ^^^ b +let logor (a:uint8) (b:uint8) : uint8 = a ||| b +let lognot (a:uint8) : uint8 = bigint.op_OnesComplement a + +let int_to_uint8 (x:Prims.int) : uint8 = x % 256I + +let shift_right (a:uint8) (b:System.UInt32) : uint8 = a >>> (int32 b) +let shift_left (a:uint8) (b:System.UInt32) : uint8 = (a <<< (int32 b)) &&& 255I + +(* Comparison operators *) +let eq (a:uint8) (b:uint8) : bool = a = b +let gt (a:uint8) (b:uint8) : bool = a > b +let gte (a:uint8) (b:uint8) : bool = a >= b +let lt (a:uint8) (b:uint8) : bool = a < b +let lte (a:uint8) (b:uint8) : bool = a <= b + +(* NOT Constant time comparison operators *) +let gte_mask (a:uint8) (b:uint8) : uint8 = if a >= b then 255I else 0I +let eq_mask (a:uint8) (b:uint8) : uint8 = if a = b then 255I else 0I + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte + +let of_string s = Prims.parse_int s +let to_string s = Prims.to_string s +// The hex printing for BigInteger in .NET is a bit non-standard as it +// prints an extra leading '0' for positive numbers +let to_string_hex (s : t) = "0x" + (s.ToString("X").TrimStart([| '0' |])) +let to_string_hex_pad (s : t) = s.ToString("X").TrimStart([| '0' |]).PadLeft(2, '0') +let uint_to_t s = int_to_uint8 s +let to_int s = s +let __uint_to_t = uint_to_t diff --git a/stage0/ulib/fs/VS/.gitignore b/stage0/ulib/fs/VS/.gitignore new file mode 100644 index 00000000000..57a74cff201 --- /dev/null +++ b/stage0/ulib/fs/VS/.gitignore @@ -0,0 +1 @@ +packages \ No newline at end of file diff --git a/ulib/fs/VS/Makefile b/stage0/ulib/fs/VS/Makefile similarity index 100% rename from ulib/fs/VS/Makefile rename to stage0/ulib/fs/VS/Makefile diff --git a/stage0/ulib/fs/VS/README.md b/stage0/ulib/fs/VS/README.md new file mode 100644 index 00000000000..bd6f346d14d --- /dev/null +++ b/stage0/ulib/fs/VS/README.md @@ -0,0 +1,4 @@ +ulibfs +====== + +Runtime library for exported code exported from F* to F#. diff --git a/stage0/ulib/fs/VS/UlibFS.sln b/stage0/ulib/fs/VS/UlibFS.sln new file mode 100644 index 00000000000..7fda5cd0cd0 --- /dev/null +++ b/stage0/ulib/fs/VS/UlibFS.sln @@ -0,0 +1,27 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 16 +VisualStudioVersion = 16.0.30114.105 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{82253A13-6BB4-4C9F-8198-50F638EFB3EE}" +EndProject +Project("{F2A71F9B-5D33-465A-A702-920D77279786}") = "ulibfs", "..\ulibfs.fsproj", "{E3E96B71-22AB-4518-B08E-9C55C4D256DB}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Release|Any CPU = Release|Any CPU + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {E3E96B71-22AB-4518-B08E-9C55C4D256DB}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {E3E96B71-22AB-4518-B08E-9C55C4D256DB}.Debug|Any CPU.Build.0 = Debug|Any CPU + {E3E96B71-22AB-4518-B08E-9C55C4D256DB}.Release|Any CPU.ActiveCfg = Release|Any CPU + {E3E96B71-22AB-4518-B08E-9C55C4D256DB}.Release|Any CPU.Build.0 = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {F7F50713-93CD-494F-80BA-C050D87A05B2} + EndGlobalSection +EndGlobal diff --git a/stage0/ulib/fs/VS/fstar-new.png b/stage0/ulib/fs/VS/fstar-new.png new file mode 100644 index 00000000000..e6bf8a6b330 Binary files /dev/null and b/stage0/ulib/fs/VS/fstar-new.png differ diff --git a/stage0/ulib/fs/VS/global.json b/stage0/ulib/fs/VS/global.json new file mode 100644 index 00000000000..ff28d518391 --- /dev/null +++ b/stage0/ulib/fs/VS/global.json @@ -0,0 +1,6 @@ +{ + "sdk": { + "version": "6.0.400", + "rollForward": "latestFeature" + } +} diff --git a/ulib/fs/native_int/prims.fs b/stage0/ulib/fs/native_int/prims.fs similarity index 100% rename from ulib/fs/native_int/prims.fs rename to stage0/ulib/fs/native_int/prims.fs diff --git a/stage0/ulib/fs/prims.fs b/stage0/ulib/fs/prims.fs new file mode 100644 index 00000000000..a2ce47f4484 --- /dev/null +++ b/stage0/ulib/fs/prims.fs @@ -0,0 +1,140 @@ +#light "off" +module Prims +open System.Numerics + +(* Euclidean division and remainder: + Inefficient implementation based on the naive version at + https://en.wikipedia.org/wiki/Division_algorithm + + Note, in OCaml, we use ZArith's ediv and erem +*) +let rec ediv_rem (n:bigint) (d:bigint) : bigint * bigint = + if d < 0I then + let q, r = ediv_rem n (-d) in + -q, r + else if n < 0I then + let q, r = ediv_rem (-n) d in + if r = 0I then + -q, 0I + else + (-q) - (-1I), + d - r + else BigInteger.DivRem (n, d) + +type int = bigint +type nonzero = int +let ( + ) (x:bigint) (y:int) = x + y +let ( - ) (x:int) (y:int) = x - y +let ( * ) (x:int) (y:int) = x * y +let ( / ) (x:int) (y:int) = fst (ediv_rem x y) +let ( <= ) (x:int) (y:int) = x <= y +let ( >= ) (x:int) (y:int) = x >= y +let ( < ) (x:int) (y:int) = x < y +let ( > ) (x:int) (y:int) = x > y +let (mod) (x:int) (y:int) = snd (ediv_rem x y) +let ( ~- ) (x:int) = -x +let abs (x:int) = BigInteger.Abs x +let of_int (x:FSharp.Core.int) = BigInteger x +let int_zero = of_int 0 +let int_one = of_int 1 +let parse_int = BigInteger.Parse +let to_string (x:int) = x.ToString() + +type unit = Microsoft.FSharp.Core.unit +type bool = Microsoft.FSharp.Core.bool +type string = Microsoft.FSharp.Core.string +type 'a array = 'a Microsoft.FSharp.Core.array +type exn = Microsoft.FSharp.Core.exn +type 'a list' = 'a list +type 'a list = 'a Microsoft.FSharp.Collections.list +type 'a option = 'a Microsoft.FSharp.Core.option + +type nat = int +type pos = int +type 'd b2t = B2t of unit + +type 'a squash = Squash of unit + +type (' p, ' q) sum = + | Left of ' p + | Right of ' q + +type (' p, ' q) l_or = ('p, 'q) sum squash + +let uu___is_Left = function Left _ -> true | Right _ -> false + +let uu___is_Right = function Left _ -> false | Right _ -> true + +type (' p, ' q) pair = +| Pair of ' p * ' q + +type (' p, ' q) l_and = ('p, 'q) pair squash + +let uu___is_Pair _ = true + + +type trivial = + | T + +type l_True = trivial squash + +let uu___is_T _ = true + +type empty = unit +(*This is how Coq extracts Inductive void := . Our extraction needs to be fixed to recognize when there + are no constructors and generate this type abbreviation*) +type l_False = empty squash + +type (' p, ' q) l_imp = ('p -> 'q) squash + +type (' p, ' q) l_iff = ((' p, ' q) l_imp, (' q, ' p) l_imp) l_and + +type ' p l_not = (' p, l_False) l_imp + +type (' a, ' p) l_Forall = L_forall of unit + +type (' a, ' p) l_Exists = L_exists of unit + + +type (' p, ' q, 'dummyP) eq2 = Eq2 of unit +type (' p, ' q, 'dummyP, 'dummyQ) op_Equals_Equals_Equals = Eq3 of unit + +type prop = obj + +let cut = () +let admit () = failwith "no admits" +let _assume () = () +let _assert x = () +let magic () = failwith "no magic" +let unsafe_coerce x = unbox (box x) +let op_Negation x = not x + +let op_Equality x y = x = y +let op_disEquality x y = x<>y +let op_AmpAmp x y = x && y +let op_BarBar x y = x || y +let uu___is_Nil l = l = [] (*consider redefining List.isEmpty as this function*) +let uu___is_Cons l = not (uu___is_Nil l) +let strcat x y = x ^ y + +let string_of_bool (b:bool) = b.ToString() +let string_of_int (i:int) = i.ToString() + +type ('a, 'b) dtuple2 = + | Mkdtuple2 of 'a * 'b + +let __proj__Mkdtuple2__item___1 x = match x with + | Mkdtuple2 (x, _) -> x +let __proj__Mkdtuple2__item___2 x = match x with + | Mkdtuple2 (_, x) -> x + +let rec pow2 (n:int) = if n = bigint 0 then + bigint 1 + else + (bigint 2) * pow2 (n - (bigint 1)) + +let __proj__Cons__item__tl = function + | _::tl -> tl + | _ -> failwith "Impossible" + +let min = min diff --git a/ulib/fs/ulibfs.fsproj b/stage0/ulib/fs/ulibfs.fsproj similarity index 100% rename from ulib/fs/ulibfs.fsproj rename to stage0/ulib/fs/ulibfs.fsproj diff --git a/stage0/ulib/fstar.include b/stage0/ulib/fstar.include new file mode 100644 index 00000000000..05c2d2a67a2 --- /dev/null +++ b/stage0/ulib/fstar.include @@ -0,0 +1,3 @@ +legacy +experimental +.cache diff --git a/ulib/gmake/Makefile.tmpl b/stage0/ulib/gmake/Makefile.tmpl similarity index 100% rename from ulib/gmake/Makefile.tmpl rename to stage0/ulib/gmake/Makefile.tmpl diff --git a/ulib/gmake/fstar.mk b/stage0/ulib/gmake/fstar.mk similarity index 92% rename from ulib/gmake/fstar.mk rename to stage0/ulib/gmake/fstar.mk index 71dc04ca735..edd1db1abd8 100644 --- a/ulib/gmake/fstar.mk +++ b/stage0/ulib/gmake/fstar.mk @@ -1,7 +1,6 @@ -HINTS_ENABLED?=--use_hints WARN_ERROR= OTHERFLAGS+=$(WARN_ERROR) - +OTHERFLAGS+=--z3version 4.13.3 ifdef Z3 OTHERFLAGS+=--smt $(Z3) endif @@ -20,7 +19,7 @@ else # FSTAR_HOME not defined, assume fstar.exe reachable from PATH FSTAR_EXE?=fstar.exe endif -FSTAR=$(FSTAR_EXE) $(OTHERFLAGS) $(MAYBE_ADMIT) $(HINTS_ENABLED) $(WITH_CACHE_DIR) +FSTAR=$(FSTAR_EXE) $(OTHERFLAGS) $(MAYBE_ADMIT) $(WITH_CACHE_DIR) # Benchmarking wrappers are enabled by setting BENCHMARK_CMD, for example: # make -C tests/micro-benchmarks BENCHMARK_CMD=time diff --git a/ulib/gmake/z3.mk b/stage0/ulib/gmake/z3.mk similarity index 100% rename from ulib/gmake/z3.mk rename to stage0/ulib/gmake/z3.mk diff --git a/ulib/install-ulib.sh b/stage0/ulib/install-ulib.sh similarity index 100% rename from ulib/install-ulib.sh rename to stage0/ulib/install-ulib.sh diff --git a/stage0/ulib/legacy/FStar.Array.fst b/stage0/ulib/legacy/FStar.Array.fst new file mode 100644 index 00000000000..6368159cf24 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Array.fst @@ -0,0 +1,150 @@ +(* + 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. +*) + +(** +F* standard library mutable arrays module. + +@summary Mutable arrays +*) +module FStar.Array +#set-options "--max_fuel 0 --initial_fuel 0 --initial_ifuel 0 --max_ifuel 0" +open FStar.All +open FStar.Seq +open FStar.Ref + +let array a = ref (seq a) + +let as_ref #_ arr = arr + +let op_At_Bar #a s1 s2 = + let s1' = !s1 in + let s2' = !s2 in + ST.alloc (Seq.append s1' s2') + +let of_seq #a s = ST.alloc s + +let to_seq #a s = !s + +let of_list #a l = of_seq (Seq.seq_of_list l) + +let create #a n init = ST.alloc (Seq.create n init) + +let index #a x n = + let s = to_seq x in + Seq.index s n + +let upd #a x n v = + let s = !x in + let s' = Seq.upd s n v in + x:= s' + +let length #a x = let s = !x in Seq.length s + +let op #a f x = + let s = !x in + let s' = f s in + x := s' + +let swap #a x i j = + let tmpi = index x i in + let tmpj = index x j in + upd x j tmpi; + upd x i tmpj + +val copy_aux: + #a:Type -> s:array a -> cpy:array a -> ctr:nat -> + ST unit + (requires (fun h -> (contains h s /\ contains h cpy /\ addr_of s <> addr_of cpy) + /\ (Seq.length (sel h cpy) = Seq.length (sel h s)) + /\ (ctr <= Seq.length (sel h cpy)) + /\ (forall (i:nat). i < ctr ==> Seq.index (sel h s) i == Seq.index (sel h cpy) i))) + (ensures (fun h0 u h1 -> (contains h1 s /\ contains h1 cpy /\ addr_of s <> addr_of cpy ) + /\ (modifies (only cpy) h0 h1) + /\ (Seq.equal (sel h1 cpy) (sel h1 s)))) +let rec copy_aux #a s cpy ctr = + match length cpy - ctr with + | 0 -> () + | _ -> upd cpy ctr (index s ctr); + copy_aux s cpy (ctr+1) + +let copy #a s = + let cpy = create (length s) (index s 0) in + copy_aux s cpy 0; + cpy + +private val blit_aux: + #a:Type -> s:array a -> s_idx:nat -> t:array a -> t_idx:nat -> len:nat -> ctr:nat -> + ST unit + (requires (fun h -> + (contains h s /\ contains h t /\ addr_of s <> addr_of t) + /\ (Seq.length (sel h s) >= s_idx + len) + /\ (Seq.length (sel h t) >= t_idx + len) + /\ (ctr <= len) + /\ (forall (i:nat). + i < ctr ==> Seq.index (sel h s) (s_idx+i) == Seq.index (sel h t) (t_idx+i)))) + (ensures (fun h0 u h1 -> + (contains h1 s /\ contains h1 t /\ addr_of s <> addr_of t) + /\ (modifies (only t) h0 h1) + /\ (Seq.length (sel h1 s) >= s_idx + len) + /\ (Seq.length (sel h1 t) >= t_idx + len) + /\ (Seq.length (sel h0 s) = Seq.length (sel h1 s)) + /\ (Seq.length (sel h0 t) = Seq.length (sel h1 t)) + /\ (forall (i:nat). + i < len ==> Seq.index (sel h1 s) (s_idx+i) == Seq.index (sel h1 t) (t_idx+i)) + /\ (forall (i:nat). + (i < Seq.length (sel h1 t) /\ (i < t_idx \/ i >= t_idx + len)) ==> + Seq.index (sel h1 t) i == Seq.index (sel h0 t) i) )) + +#set-options "--z3rlimit 60" +let rec blit_aux #a s s_idx t t_idx len ctr = + match len - ctr with + | 0 -> () + | _ -> upd t (t_idx + ctr) (index s (s_idx + ctr)); + blit_aux s s_idx t t_idx len (ctr+1) +#set-options "--z3rlimit 5" + +private val blit: + #a:Type -> s:array a -> s_idx:nat -> t:array a -> t_idx:nat -> len:nat -> + ST unit + (requires (fun h -> + (contains h s) + /\ (contains h t) + /\ (addr_of s <> addr_of t) + /\ (Seq.length (sel h s) >= s_idx + len) + /\ (Seq.length (sel h t) >= t_idx + len))) + (ensures (fun h0 u h1 -> + (contains h1 s /\ contains h1 t /\ addr_of s <> addr_of t) + /\ (Seq.length (sel h1 s) >= s_idx + len) + /\ (Seq.length (sel h1 t) >= t_idx + len) + /\ (Seq.length (sel h0 s) = Seq.length (sel h1 s)) + /\ (Seq.length (sel h0 t) = Seq.length (sel h1 t)) + /\ (modifies (only t) h0 h1) + /\ (forall (i:nat). + i < len ==> Seq.index (sel h1 s) (s_idx+i) == Seq.index (sel h1 t) (t_idx+i)) + /\ (forall (i:nat).{:pattern (Seq.index (sel h1 t) i)} + (i < Seq.length (sel h1 t) /\ (i < t_idx \/ i >= t_idx + len)) ==> + (Seq.index (sel h1 t) i == Seq.index (sel h0 t) i)) )) +let blit #a s s_idx t t_idx len = + blit_aux s s_idx t t_idx len 0 + +#set-options "--z3rlimit 120" +let sub #a s idx len = + let h0 = ST.get () in + let t = create len (index s 0) in + blit s idx t 0 len; + let h1 = ST.get () in + assert (Seq.equal (Seq.slice (sel h0 s) idx (idx + len)) (sel h1 t)); + t diff --git a/stage0/ulib/legacy/FStar.Array.fsti b/stage0/ulib/legacy/FStar.Array.fsti new file mode 100644 index 00000000000..c91ef0cc33d --- /dev/null +++ b/stage0/ulib/legacy/FStar.Array.fsti @@ -0,0 +1,135 @@ +(* + 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.Array + +(** +F* standard library mutable arrays module. + +@summary Mutable arrays +*) + +open FStar.All +open FStar.Seq +open FStar.Ref + +#set-options "--max_fuel 0 --initial_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +val array (a:Type0) : Type0 + +val as_ref (#a:Type0) (arr:array a) : GTot (ref (seq a)) + +let sel (#a:Type0) (h:heap) (s:array a) : GTot (seq a) = Heap.sel h (as_ref s) + +let contains (#a:Type0) (h:heap) (s:array a) : Type0 = Heap.contains h (as_ref s) + +let unused_in (#a:Type0) (arr:array a) (h:heap) : Type0 = Heap.unused_in (as_ref arr) h + +let heap_upd (#a:Type0) (h:heap) (r:array a) (v:seq a) : GTot heap = Heap.upd h (as_ref r) v + +let addr_of (#a:Type0) (arr:array a) : GTot nat = addr_of (as_ref arr) + +let only (#a:Type0) (arr:array a) : GTot (Set.set nat) = Set.singleton (addr_of arr) + +val op_At_Bar (#a:Type0) (s1:array a) (s2:array a) + : ST (array a) + (requires (fun h -> contains h s1 /\ contains h s2)) + (ensures (fun h0 s h1 -> contains h0 s1 /\ contains h0 s2 /\ contains h1 s /\ + sel h1 s == Seq.append (sel h0 s1) (sel h0 s2) /\ + modifies Set.empty h0 h1)) + +unfold let create_post (#a:Type0) (s:seq a) +: heap -> array a -> heap -> Type0 += fun h0 x h1 -> + x `unused_in` h0 /\ + contains h1 x /\ + modifies Set.empty h0 h1 /\ + sel h1 x== s + +val of_seq (#a:Type0) (s:seq a) +: ST (array a) + (requires fun _ -> True) + (ensures create_post s) + +val to_seq (#a:Type0) (s:array a) + : ST (seq a) + (requires (fun h -> contains h s)) + (ensures (fun h0 x h1 -> (sel h0 s == x /\ h0 == h1))) + +// Used by the compiler for array literals +val of_list (#a:Type0) (l:list a) +: ST (array a) + (requires fun _ -> True) + (ensures create_post (seq_of_list l)) + +val create (#a:Type0) (n:nat) (init:a) + : ST (array a) + (requires (fun h -> True)) + (ensures (fun h0 x h1 -> x `unused_in` h0 /\ + contains h1 x /\ + modifies Set.empty h0 h1 /\ + sel h1 x == Seq.create n init)) + +val index (#a:Type0) (x:array a) (n:nat) + : ST a + (requires (fun h -> contains h x /\ n < Seq.length (sel h x))) + (ensures (fun h0 v h1 -> n < Seq.length (sel h0 x) /\ + h0 == h1 /\ + v == Seq.index (sel h0 x) n)) + +val upd (#a:Type0) (x:array a) (n:nat) (v:a) + :ST unit + (requires (fun h -> contains h x /\ n < Seq.length (sel h x))) + (ensures (fun h0 u h1 -> n < Seq.length (sel h0 x) /\ + contains h1 x /\ + modifies (Set.singleton (addr_of x)) h0 h1 /\ + sel h1 x == Seq.upd (sel h0 x) n v)) + +val length (#a:Type0) (x:array a) + : ST nat + (requires (fun h -> contains h x)) + (ensures (fun h0 y h1 -> y = length (sel h0 x) /\ h0 == h1)) + +val op (#a:Type0) (f:seq a -> seq a) (x:array a) + : ST unit + (requires (fun h -> contains h x)) + (ensures (fun h0 u h1 -> modifies (Set.singleton (addr_of x)) h0 h1 /\ sel h1 x == f (sel h0 x))) + +val swap (#a:Type0) (x:array a) (i:nat) (j:nat{i <= j}) + : ST unit + (requires (fun h -> contains h x /\ j < Seq.length (sel h x))) + (ensures (fun h0 _u h1 -> j < Seq.length (sel h0 x) /\ + contains h1 x /\ + modifies (Set.singleton (addr_of x)) h0 h1 /\ + sel h1 x == Seq.swap (sel h0 x) i j)) + +val copy (#a:Type0) (s:array a) + : ST (array a) + (requires (fun h -> contains h s /\ Seq.length (sel h s) > 0)) + (ensures (fun h0 r h1 -> modifies Set.empty h0 h1 /\ + r `unused_in` h0 /\ + contains h1 r /\ + sel h1 r == sel h0 s)) + +val sub (#a:Type0) (s:array a) (idx:nat) (len:nat) + : ST (array a) + (requires (fun h -> contains h s /\ + Seq.length (sel h s) > 0 /\ + idx + len <= Seq.length (sel h s))) + (ensures (fun h0 t h1 -> contains h1 t /\ + t `unused_in` h0 /\ + modifies Set.empty h0 h1 /\ + Seq.slice (sel h0 s) idx (idx + len) == sel h1 t)) diff --git a/stage0/ulib/legacy/FStar.Axiomatic.Array.fst b/stage0/ulib/legacy/FStar.Axiomatic.Array.fst new file mode 100644 index 00000000000..353454678dc --- /dev/null +++ b/stage0/ulib/legacy/FStar.Axiomatic.Array.fst @@ -0,0 +1,94 @@ +(* + 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. +*) + +(* A logical theory of integer-indexed arrays, from [0, n) *) +module FStar.Axiomatic.Array + +open FStar.Heap + +assume new type seq : Type -> Type +assume val index : #a:Type -> seq a -> int -> Tot a +assume val update : #a:Type -> seq a -> int -> a -> Tot (seq a) +assume val emp : a:Type -> Tot (seq a) +assume val create : #a:Type -> int -> a -> Tot (seq a) + +assume val length : #a:Type -> seq a -> Tot nat +assume val slice : #a:Type -> seq a -> int -> int -> Tot (seq a) +assume val append : #a:Type -> seq a -> seq a -> Tot (seq a) +assume val proj_some: #a:Type -> seq (option a) -> Tot (seq a) +assume type equal : #a:Type -> seq a -> seq a -> Type +type array (a:Type) = ref (seq a) + +assume LengthConst: forall (a:Type) (n:int) (v:a).{:pattern (length (create n v))} + length (create n v) == n + +assume IndexConst: forall (a:Type) (n:int) (v:a) (i:int). {:pattern (index (create n v) i)} + (0 <= i /\ i < n) + ==> index (create n v) i == v + +assume LengthUpdate: forall (a:Type) (s:seq a) (i:int) (v:a). {:pattern (length (update s i v))} + (0 <= i /\ i < length s) + ==> length (update s i v) == length s + +assume IndexUpdate: forall (a:Type) (s:seq a) (i:int) (v:a) (n:int). {:pattern (index (update s i v) n)} + (0 <= n /\ n <= length s) + ==> (if i=n + then index (update s i v) n == v + else index (update s i v) n == index s n) + +assume LengthSlice: forall (a:Type) (s:seq a) (i:int) (j:int). {:pattern (length (slice s i j))} + (0 <= i /\ i <= j /\ j <= length s) + ==> j - i == length (slice s i j) + +assume IndexSlice: forall (a:Type) (s:seq a) (i:int) (j:int) (k:int). {:pattern (index (slice s i j) k)} + (0 <= k /\ k <= length (slice s i j)) + ==> index (slice s i j) k == index s (i + k) + +assume LengthAppend: forall (a:Type) (s1:seq a) (s2:seq a). {:pattern (length (append s1 s2))} + length (append s1 s2) == length s1 + length s2 + +assume IndexAppend: forall (a:Type) (s1:seq a) (s2:seq a) (i:int). {:pattern (index (append s1 s2) i)} + if (0 <= i && i < length s1) + then index (append s1 s2) i == index s1 i + else index (append s1 s2) i == index s2 (i - length s1) + +assume SeqEquals: forall (a:Type) (s1:seq a) (s2:seq a).{:pattern (equal s1 s2)} + equal s1 s2 + <==> (length s1 == length s2 + /\ (forall (i:int).{:pattern (index s1 i); (index s2 i)} + (0 <= i /\ i < length s1) + ==> index s1 i == index s2 i)) + +assume Extensional: forall (a:Type) (s1:seq a) (s2:seq a).{:pattern (equal s1 s2)} + equal s1 s2 + ==> s1 == s2 + +assume ProjEmp: forall (a:Type).{:pattern (proj_some (emp (option a)))} + length (proj_some (emp (option a)))==0 + +assume ProjLen: forall (a:Type) (s:seq (option a)).{:pattern (proj_some s)} + length (proj_some s)==length s + +(* assume ProjIndex: forall (a:Type) (s:seq (option a)) (i:int).{:pattern (index (proj_some s) i)} *) +(* (0 <= i /\ i <= length (proj_some s)) *) +(* ==> index (proj_some s) i == Some.v (index s i) *) + +assume EmpConst: forall (a:Type) (s:seq a).{:pattern (length s)} + length s == 0 + ==> s==emp a + +type is_Some_All (a:Type) (s:seq (option a)) = (forall (i:int). (0 <= i /\ i < length s) ==> Some? (index s i)) + diff --git a/stage0/ulib/legacy/FStar.Buffer.Quantifiers.fst b/stage0/ulib/legacy/FStar.Buffer.Quantifiers.fst new file mode 100644 index 00000000000..783b9af7ffc --- /dev/null +++ b/stage0/ulib/legacy/FStar.Buffer.Quantifiers.fst @@ -0,0 +1,119 @@ +(* + 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.Buffer.Quantifiers + +open FStar.Seq +open FStar.UInt32 +open FStar.HyperStack +open FStar.Ghost +open FStar.Buffer +open FStar.Classical + +#set-options "--initial_fuel 0 --max_fuel 0" + +val lemma_sub_quantifiers: #a:Type -> h:mem -> b:buffer a -> b':buffer a -> i:FStar.UInt32.t -> len:FStar.UInt32.t{v len <= length b /\ v i + v len <= length b} -> Lemma + (requires (live h b /\ live h b' /\ Seq.slice (as_seq h b) (v i) (v i + v len) == as_seq h b')) + (ensures (live h b /\ live h b' /\ Seq.slice (as_seq h b) (v i) (v i + v len) == as_seq h b' + /\ length b' = v len + /\ (forall (j:nat). {:pattern (get h b' j)} j < length b' ==> get h b' j == get h b (j + v i)) )) + [SMTPat (Seq.slice (as_seq h b) (v i) (v i + v len)); SMTPat (as_seq h b')] +let lemma_sub_quantifiers #a h b b' i len = + assert (Seq.length (Seq.slice (as_seq h b) (v i) (v i + v len)) = v len); + let lemma_post (j:nat) = j < length b' ==> get h b' j == get h b (j + v i) in + let qj : j:nat -> Lemma (lemma_post j) + = fun j -> assert (j < v len ==> Seq.index (as_seq h b') j == Seq.index (as_seq h b) (j + v i)) in + Classical.forall_intro #_ #lemma_post qj + +val lemma_offset_quantifiers: #a:Type -> h:mem -> b:buffer a -> b':buffer a -> i:FStar.UInt32.t{v i <= length b} -> Lemma + (requires (live h b /\ live h b' /\ Seq.slice (as_seq h b) (v i) (length b) == as_seq h b')) + (ensures (live h b /\ live h b' /\ Seq.slice (as_seq h b) (v i) (length b) == as_seq h b' + /\ length b' = length b - v i + /\ (forall (j:nat). {:pattern (get h b' j)} j < length b' ==> get h b' j == get h b (j + v i)) )) + [SMTPat (Seq.slice (as_seq h b) (v i) (length b)); SMTPat (as_seq h b')] +let lemma_offset_quantifiers #a h b b' i = + lemma_sub_quantifiers #a h b b' i (uint_to_t (length b - v i)) + +val lemma_create_quantifiers: #a:Type -> h:mem -> b:buffer a -> init:a -> len:FStar.UInt32.t -> Lemma + (requires (live h b /\ as_seq h b == Seq.create (v len) init)) + (ensures (live h b /\ length b = v len + /\ (forall (i:nat). {:pattern (get h b i)} i < length b ==> get h b i == init))) + [SMTPat (as_seq h b); SMTPat (Seq.create (v len) init)] +let lemma_create_quantifiers #a h b init len = + assert (Seq.length (as_seq h b) = v len); + let lemma_post (i:nat) = i < length b ==> get h b i == init in + let qi : i:nat -> Lemma (lemma_post i) = + fun i -> assert (i < length b ==> get h b i == Seq.index (as_seq h b) i) in + Classical.forall_intro #_ #lemma_post qi + +val lemma_index_quantifiers: #a:Type -> h:mem -> b:buffer a -> n:FStar.UInt32.t -> Lemma + (requires (live h b /\ v n < length b)) + (ensures (live h b /\ v n < length b /\ get h b (v n) == Seq.index (as_seq h b) (v n))) + [SMTPat (Seq.index (as_seq h b) (v n))] +let lemma_index_quantifiers #a h b n = () + +val lemma_upd_quantifiers: #a:Type -> h0:mem -> h1:mem -> b:buffer a -> n:FStar.UInt32.t -> z:a -> Lemma + (requires (live h0 b /\ live h1 b /\ v n < length b /\ as_seq h1 b == Seq.upd (as_seq h0 b) (v n) z)) + (ensures (live h0 b /\ live h1 b /\ v n < length b + /\ (forall (i:nat). {:pattern (get h1 b i)} (i < length b /\ i <> v n) + ==> get h1 b i == get h0 b i) + /\ get h1 b (v n) == z)) + [SMTPat (as_seq h1 b); SMTPat (Seq.upd (as_seq h0 b) (v n) z)] +let lemma_upd_quantifiers #a h0 h1 b n z = + assert(forall (i:nat). i < length b ==> get h1 b i == Seq.index (as_seq h1 b) i) + +#reset-options "--initial_fuel 0 --max_fuel 0 --z3rlimit 8" + +val lemma_blit_quantifiers: #a:Type -> h0:mem -> h1:mem -> b:buffer a -> bi:UInt32.t{v bi <= length b} -> + b':buffer a{disjoint b b'} -> bi':UInt32.t{v bi' <= length b'} -> len:UInt32.t{v bi+v len <= length b /\ v bi'+v len <= length b'} -> Lemma + (requires (live h0 b /\ live h0 b' /\ live h1 b' + /\ Seq.slice (as_seq h1 b') (v bi') (v bi'+v len) == Seq.slice (as_seq h0 b) (v bi) (v bi+v len) + /\ Seq.slice (as_seq h1 b') 0 (v bi') == Seq.slice (as_seq h0 b') 0 (v bi') + /\ Seq.slice (as_seq h1 b') (v bi'+v len) (length b') == Seq.slice (as_seq h0 b') (v bi'+v len) (length b') + )) + (ensures (live h0 b /\ live h0 b' /\ live h1 b' + /\ (forall (i:nat). {:pattern (get h1 b' (v bi'+i))} i < v len ==> get h1 b' (v bi'+i) == get h0 b (v bi+i)) + /\ (forall (i:nat). {:pattern (get h1 b' i)} ((i >= v bi' + v len /\ i < length b') \/ i < v bi') ==> get h1 b' i == get h0 b' i) +)) +let lemma_blit_quantifiers #a h0 h1 b bi b' bi' len = + let lemma_post_1 (j:nat) = j < v len ==> get h1 b' (v bi'+j) == get h0 b (v bi+j) in + let qj_1 : j:nat -> Lemma (lemma_post_1 j) + = fun j -> assert (j < v len ==> Seq.index (Seq.slice (as_seq h1 b') (v bi') (v bi'+v len)) j + == Seq.index (Seq.slice (as_seq h0 b) (v bi) (v bi+v len)) j) in + let lemma_post_2 (j:nat) = ((j >= v bi' + v len /\ j < length b') \/ j < v bi') + ==> get h1 b' j == get h0 b' j in + let qj_2 : j:nat -> Lemma (lemma_post_2 j) + = fun j -> assert (j < v bi' ==> Seq.index (Seq.slice (as_seq h1 b') 0 (v bi')) j + == Seq.index (Seq.slice (as_seq h0 b') 0 (v bi')) j); + assert ((j >= v bi' + v len /\ j < length b') + ==> Seq.index (Seq.slice (as_seq h1 b') (v bi'+v len) (length b')) (j - (v bi'+v len)) + == Seq.index (Seq.slice (as_seq h0 b') (v bi'+v len) (length b')) (j - (v bi'+v len))) + in + Classical.forall_intro #_ #lemma_post_1 qj_1; + Classical.forall_intro #_ #lemma_post_2 qj_2 + + +(* Equality predicate between buffers with quantifiers *) +val eq_lemma: #a:Type -> h:mem -> b:buffer a{live h b} -> h':mem -> b':buffer a{live h' b'} -> Lemma + (requires (equal h b h' b')) + (ensures (length b = length b' /\ (forall (i:nat). {:pattern (get h b i)} + i < length b ==> get h b i == get h' b' i))) + [SMTPat (equal h b h' b')] +let eq_lemma #a h b h' b' = + assert(Seq.length (as_seq h b) = Seq.length (as_seq h' b')); + let lemma_post (j:nat) = j < length b ==> get h b j == get h' b' j in + let qj : j:nat -> Lemma (lemma_post j) = fun j -> + assert(j < length b ==> Seq.index (as_seq h b) j == Seq.index (as_seq h' b') j) in + Classical.forall_intro #_ #lemma_post qj diff --git a/stage0/ulib/legacy/FStar.Buffer.fst b/stage0/ulib/legacy/FStar.Buffer.fst new file mode 100644 index 00000000000..1911536b625 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Buffer.fst @@ -0,0 +1,1465 @@ +(* + 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.Buffer + +open FStar.Seq +open FStar.UInt32 +module Int32 = FStar.Int32 +open FStar.HyperStack +open FStar.HyperStack.ST +open FStar.Ghost +module L = FStar.List.Tot.Base + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +#set-options "--initial_fuel 0 --max_fuel 0" + +//17-01-04 usage? move to UInt? +let lemma_size (x:int) : Lemma (requires (UInt.size x n)) + (ensures (x >= 0)) + [SMTPat (UInt.size x n)] + = () + +let lseq (a: Type) (l: nat) : Type = + (s: seq a { Seq.length s == l } ) + +(* Buffer general type, fully implemented on FStar's arrays *) +noeq private type _buffer (a:Type) = + | MkBuffer: max_length:UInt32.t + -> content:reference (lseq a (v max_length)) + -> idx:UInt32.t + -> length:UInt32.t{v idx + v length <= v max_length} + -> _buffer a + +(* Exposed buffer type *) +type buffer (a:Type) = _buffer a + +(* Ghost getters for specifications *) +// TODO: remove `contains` after replacing all uses with `live` +let contains #a h (b:buffer a) : GTot Type0 = HS.contains h b.content +let unused_in #a (b:buffer a) h : GTot Type0 = HS.unused_in b.content h + +(* In most cases `as_seq` should be used instead of this one. *) +let sel #a h (b:buffer a) : GTot (seq a) = HS.sel h b.content + +let max_length #a (b:buffer a) : GTot nat = v b.max_length +let length #a (b:buffer a) : GTot nat = v b.length +let idx #a (b:buffer a) : GTot nat = v b.idx + +//17-01-04 rename to container or ref? +let content #a (b:buffer a) : + GTot (reference (lseq a (max_length b))) = b.content + +(* Lifting from buffer to reference *) +let as_ref #a (b:buffer a) = as_ref (content b) +let as_addr #a (b:buffer a) = as_addr (content b) +let frameOf #a (b:buffer a) : GTot HS.rid = HS.frameOf (content b) + +(* Liveliness condition, necessary for any computation on the buffer *) +let live #a (h:mem) (b:buffer a) : GTot Type0 = HS.contains h b.content +let unmapped_in #a (b:buffer a) (h:mem) : GTot Type0 = unused_in b h + +val recall: #a:Type + -> b:buffer a{is_eternal_region (frameOf b) /\ not (is_mm b.content)} -> Stack unit + (requires (fun m -> True)) + (ensures (fun m0 _ m1 -> m0 == m1 /\ live m1 b)) +let recall #a b = recall b.content + +(* Ghostly access an element of the array, or the full underlying sequence *) +let as_seq #a h (b:buffer a) : GTot (s:seq a{Seq.length s == length b}) = + Seq.slice (sel h b) (idx b) (idx b + length b) + +let get #a h (b:buffer a) (i:nat{i < length b}) : GTot a = + Seq.index (as_seq h b) i + +(* Equality predicate on buffer contents, without quantifiers *) +//17-01-04 revise comment? rename? +let equal #a h (b:buffer a) h' (b':buffer a) : GTot Type0 = + as_seq h b == as_seq h' b' + +(* y is included in x / x contains y *) +let includes #a (x:buffer a) (y:buffer a) : GTot Type0 = + x.max_length == y.max_length /\ + x.content === y.content /\ + idx y >= idx x /\ + idx x + length x >= idx y + length y + +let includes_live #a h (x: buffer a) (y: buffer a) +: Lemma + (requires (x `includes` y)) + (ensures (live h x <==> live h y)) += () + +let includes_as_seq #a h1 h2 (x: buffer a) (y: buffer a) +: Lemma + (requires (x `includes` y /\ as_seq h1 x == as_seq h2 x)) + (ensures (as_seq h1 y == as_seq h2 y)) += Seq.slice_slice (sel h1 x) (idx x) (idx x + length x) (idx y - idx x) (idx y - idx x + length y); + Seq.slice_slice (sel h2 x) (idx x) (idx x + length x) (idx y - idx x) (idx y - idx x + length y) + +let includes_trans #a (x y z: buffer a) +: Lemma + (requires (x `includes` y /\ y `includes` z)) + (ensures (x `includes` z)) += () + +(* Disjointness between two buffers *) +let disjoint #a #a' (x:buffer a) (y:buffer a') : GTot Type0 = + frameOf x =!= frameOf y \/ as_addr x =!= as_addr y + \/ (a == a' /\ as_addr x == as_addr y /\ frameOf x == frameOf y /\ x.max_length == y.max_length /\ + (idx x + length x <= idx y \/ idx y + length y <= idx x)) + +(* Disjointness is symmetric *) +let lemma_disjoint_symm #a #a' (x:buffer a) (y:buffer a') : Lemma + (requires True) + (ensures (disjoint x y <==> disjoint y x)) + [SMTPat (disjoint x y)] + = () + +let lemma_disjoint_sub #a #a' (x:buffer a) (subx:buffer a) (y:buffer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint subx y)) + [SMTPat (disjoint subx y); SMTPat (includes x subx)] + = () + +let lemma_disjoint_sub' #a #a' (x:buffer a) (subx:buffer a) (y:buffer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint subx y)) + [SMTPat (disjoint y subx); SMTPat (includes x subx)] + = () + +val lemma_live_disjoint: #a:Type -> #a':Type -> h:mem -> b:buffer a -> b':buffer a' -> Lemma + (requires (live h b /\ b' `unused_in` h)) + (ensures (disjoint b b')) + [SMTPat (disjoint b b'); SMTPat (live h b)] +let lemma_live_disjoint #a #a' h b b' = () + +(* Heterogeneous buffer type *) +noeq type abuffer = | Buff: #t:Type -> b:buffer t -> abuffer + +(* let empty : TSet.set abuffer = TSet.empty #abuffer *) +let only #t (b:buffer t) : Tot (TSet.set abuffer) = FStar.TSet.singleton (Buff #t b) +(* let op_Plus_Plus #a s (b:buffer a) : Tot (TSet.set abuffer) = TSet.union s (only b) *) +(* let op_Plus_Plus_Plus set1 set2 : Tot (TSet.set abuffer) = FStar.TSet.union set1 set2 *) + +let op_Bang_Bang = TSet.singleton +let op_Plus_Plus = TSet.union + +(* Maps a set of buffer to the set of their references *) +assume val arefs: TSet.set abuffer -> Tot (Set.set nat) + +assume Arefs_def: forall (x:nat) (s:TSet.set abuffer). {:pattern (Set.mem x (arefs s))} + Set.mem x (arefs s) <==> (exists (y:abuffer). TSet.mem y s /\ as_addr y.b == x) + +val lemma_arefs_1: s:TSet.set abuffer -> Lemma + (requires (s == TSet.empty #abuffer)) + (ensures (arefs s == Set.empty #nat)) + [SMTPat (arefs s)] +let lemma_arefs_1 s = Set.lemma_equal_intro (arefs s) (Set.empty) + +val lemma_arefs_2: s1:TSet.set abuffer -> s2:TSet.set abuffer -> Lemma + (requires True) + (ensures (arefs (s1 ++ s2) == Set.union (arefs s1) (arefs s2))) + [SMTPatOr [ + [SMTPat (arefs (s2 ++ s1))]; + [SMTPat (arefs (s1 ++ s2))] + ]] +let lemma_arefs_2 s1 s2 = + Set.lemma_equal_intro (arefs (s1 ++ s2)) (Set.union (arefs s1) (arefs s2)) + +val lemma_arefs_3: s1:TSet.set abuffer -> s2:TSet.set abuffer -> Lemma + (requires (TSet.subset s1 s2)) + (ensures (Set.subset (arefs s1) (arefs s2))) +let lemma_arefs_3 s1 s2 = () + +(* General disjointness predicate between a buffer and a set of heterogeneous buffers *) +let disjoint_from_bufs #a (b:buffer a) (bufs:TSet.set abuffer) = + forall b'. TSet.mem b' bufs ==> disjoint b b'.b + +(* General disjointness predicate between a buffer and a set of heterogeneous references *) +let disjoint_from_refs #a (b:buffer a) (set:Set.set nat) = + ~(Set.mem (as_addr b) set) + + +(* Similar but specialized disjointness predicates *) +let disjoint_1 a b = disjoint a b +let disjoint_2 a b b' = disjoint a b /\ disjoint a b' +let disjoint_3 a b b' b'' = disjoint a b /\ disjoint a b' /\ disjoint a b'' +let disjoint_4 a b b' b'' b''' = disjoint a b /\ disjoint a b' /\ disjoint a b'' /\ disjoint a b''' +let disjoint_5 a b b' b'' b''' b'''' = disjoint a b /\ disjoint a b' /\ disjoint a b'' /\ disjoint a b''' /\ disjoint a b'''' + +let disjoint_ref_1 (#t:Type) (#u:Type) (a:buffer t) (r:reference u) = + frameOf a =!= HS.frameOf r \/ as_addr a =!= HS.as_addr r +let disjoint_ref_2 a r r' = disjoint_ref_1 a r /\ disjoint_ref_1 a r' +let disjoint_ref_3 a r r' r'' = disjoint_ref_1 a r /\ disjoint_ref_2 a r' r'' +let disjoint_ref_4 a r r' r'' r''' = disjoint_ref_1 a r /\ disjoint_ref_3 a r' r'' r''' +let disjoint_ref_5 a r r' r'' r''' r'''' = disjoint_ref_1 a r /\ disjoint_ref_4 a r' r'' r''' r'''' + +val disjoint_only_lemma: #a:Type -> #a':Type -> b:buffer a -> b':buffer a' -> Lemma + (requires (disjoint b b')) + (ensures (disjoint_from_bufs b (only b'))) +let disjoint_only_lemma #a #a' b b' = () + +(* Fully general modifies clause *) +let modifies_bufs_and_refs (bufs:TSet.set abuffer) (refs:Set.set nat) h h' : GTot Type0 = + (forall rid. Set.mem rid (Map.domain (HS.get_hmap h)) ==> + (HS.modifies_ref rid (Set.union (arefs bufs) refs) h h' + /\ (forall (#a:Type) (b:buffer a). (frameOf b == rid /\ live h b /\ disjoint_from_bufs b bufs + /\ disjoint_from_refs b refs) ==> equal h b h' b /\ live h' b))) + +(* Fully general modifies clause for buffer sets *) +let modifies_buffers (bufs:TSet.set abuffer) h h' : GTot Type0 = + (forall rid. Set.mem rid (Map.domain (HS.get_hmap h)) ==> + (HS.modifies_ref rid (arefs bufs) h h' /\ + (forall (#a:Type) (b:buffer a). {:pattern (frameOf b == rid /\ live h b /\ disjoint_from_bufs b bufs)} + (frameOf b == rid /\ live h b /\ disjoint_from_bufs b bufs ==> equal h b h' b /\ live h' b)))) + +(* General modifies clause for buffers only *) +let modifies_bufs rid buffs h h' = + modifies_ref rid (arefs buffs) h h' + /\ (forall (#a:Type) (b:buffer a). (frameOf b == rid /\ live h b /\ disjoint_from_bufs b buffs) ==> equal h b h' b /\ live h' b) + +let modifies_none h h' = + HS.get_tip h' == HS.get_tip h /\ HS.modifies_transitively Set.empty h h' + +(* Specialized clauses for small numbers of buffers *) +let modifies_buf_0 rid h h' = + modifies_ref rid (Set.empty #nat) h h' + /\ (forall (#tt:Type) (bb:buffer tt). (frameOf bb == rid /\ live h bb) ==> equal h bb h' bb /\ live h' bb) + +let modifies_buf_1 (#t:Type) rid (b:buffer t) h h' = //would be good to drop the rid argument on these, since they can be computed from the buffers + modifies_ref rid (Set.singleton (Heap.addr_of (as_ref b))) h h' + /\ (forall (#tt:Type) (bb:buffer tt). (frameOf bb == rid /\ live h bb /\ disjoint b bb) ==> equal h bb h' bb /\ live h' bb) + +let to_set_2 (n1:nat) (n2:nat) :Set.set nat = Set.union (Set.singleton n1) (Set.singleton n2) + +let modifies_buf_2 (#t:Type) (#t':Type) rid (b:buffer t) (b':buffer t') h h' = + modifies_ref rid (to_set_2 (as_addr b) (as_addr b')) h h' + /\ (forall (#tt:Type) (bb:buffer tt). (frameOf bb == rid /\ live h bb /\ disjoint b bb /\ disjoint b' bb) + ==> equal h bb h' bb /\ live h' bb) + +let to_set_3 (n1:nat) (n2:nat) (n3:nat) :Set.set nat = Set.union (Set.union (Set.singleton n1) (Set.singleton n2)) (Set.singleton n3) + +let modifies_buf_3 (#t:Type) (#t':Type) (#t'':Type) rid (b:buffer t) (b':buffer t') (b'':buffer t'') h h' = + modifies_ref rid (to_set_3 (as_addr b) (as_addr b') (as_addr b'')) h h' + /\ (forall (#tt:Type) (bb:buffer tt). (frameOf bb == rid /\ live h bb /\ disjoint b bb /\ disjoint b' bb /\ disjoint b'' bb) + ==> equal h bb h' bb /\ live h' bb) + +let to_set_4 (n1:nat) (n2:nat) (n3:nat) (n4:nat) :Set.set nat = + Set.union (Set.union (Set.union (Set.singleton n1) (Set.singleton n2)) (Set.singleton n3)) (Set.singleton n4) + +let modifies_buf_4 (#t:Type) (#t':Type) (#t'':Type) (#t''':Type) rid (b:buffer t) (b':buffer t') (b'':buffer t'') (b''':buffer t''') h h' = + modifies_ref rid (to_set_4 (as_addr b) (as_addr b') (as_addr b'') (as_addr b''')) h h' + /\ (forall (#tt:Type) (bb:buffer tt). (frameOf bb == rid /\ live h bb /\ disjoint b bb /\ disjoint b' bb /\ disjoint b'' bb /\ disjoint b''' bb) + ==> equal h bb h' bb /\ live h' bb) + + +(* General lemmas for the modifies_bufs clause *) +let lemma_modifies_bufs_trans rid bufs h0 h1 h2 : + Lemma (requires (modifies_bufs rid bufs h0 h1 /\ modifies_bufs rid bufs h1 h2)) + (ensures (modifies_bufs rid bufs h0 h2)) + [SMTPat (modifies_bufs rid bufs h0 h1); SMTPat (modifies_bufs rid bufs h1 h2)] + = () + +let lemma_modifies_bufs_sub rid bufs subbufs h0 h1 : + Lemma + (requires (TSet.subset subbufs bufs /\ modifies_bufs rid subbufs h0 h1)) + (ensures (modifies_bufs rid bufs h0 h1)) + [SMTPat (modifies_bufs rid subbufs h0 h1); SMTPat (TSet.subset subbufs bufs)] + = () + +val lemma_modifies_bufs_subset: #a:Type -> #a':Type -> h0:mem -> h1:mem -> bufs:TSet.set abuffer -> b:buffer a -> b':buffer a' -> Lemma + (requires (disjoint_from_bufs b (bufs ++ (only b')) )) + (ensures (disjoint_from_bufs b bufs)) + [SMTPat (modifies_bufs (HS.get_tip h0) (bufs ++ (only b')) h0 h1); SMTPat (live h0 b)] +let lemma_modifies_bufs_subset #a #a' h0 h1 bufs b b' = () + +val lemma_modifies_bufs_superset: #a:Type -> #a':Type -> h0:mem -> h1:mem -> bufs:TSet.set abuffer -> b:buffer a -> b':buffer a' -> Lemma + (requires (b' `unused_in` h0 /\ live h0 b /\ disjoint_from_bufs b bufs)) + (ensures (disjoint_from_bufs b (bufs ++ (only b')))) + [SMTPat (modifies_bufs (HS.get_tip h0) bufs h0 h1); SMTPat (b' `unmapped_in` h0); SMTPat (live h0 b)] +let lemma_modifies_bufs_superset #a #a' h0 h1 bufs b b' = () + +(* Specialized lemmas *) +let modifies_trans_0_0 (rid:rid) (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_0 rid h0 h1 /\ modifies_buf_0 rid h1 h2)) + (ensures (modifies_buf_0 rid h0 h2)) + [SMTPat (modifies_buf_0 rid h0 h1); SMTPat (modifies_buf_0 rid h1 h2)] + = () + +let modifies_trans_1_0 (#t:Type) (rid:rid) (b:buffer t) (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_1 rid b h0 h1 /\ modifies_buf_0 rid h1 h2)) + (ensures (modifies_buf_1 rid b h0 h2)) + [SMTPat (modifies_buf_1 rid b h0 h1); SMTPat (modifies_buf_0 rid h1 h2)] + = () + +let modifies_trans_0_1 (#t:Type) (rid:rid) (b:buffer t) (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_0 rid h0 h1 /\ modifies_buf_1 rid b h1 h2)) + (ensures (modifies_buf_1 rid b h0 h2)) + [SMTPat (modifies_buf_0 rid h0 h1); SMTPat (modifies_buf_1 rid b h1 h2)] + = () + +let modifies_trans_1_1 (#t:Type) (rid:rid) (b:buffer t) (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid b h1 h2)) + (ensures (modifies_buf_1 rid b h0 h2)) + [SMTPat (modifies_buf_1 rid b h0 h1); SMTPat (modifies_buf_1 rid b h1 h2)] + = () + +let modifies_trans_1_1' (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid b' h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_1 rid b h0 h1); SMTPat (modifies_buf_1 rid b' h1 h2)] + = () + +let modifies_trans_2_0 (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_0 rid h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_2 rid b b' h0 h1); SMTPat (modifies_buf_0 rid h1 h2)] + = () + +let modifies_trans_2_1 (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_1 rid b h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_2 rid b b' h0 h1); SMTPat (modifies_buf_1 rid b h1 h2)] + = () + +let modifies_trans_2_1' (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_2 rid b' b h0 h1 /\ modifies_buf_1 rid b h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_2 rid b' b h0 h1); SMTPat (modifies_buf_1 rid b h1 h2)] + = () + +let modifies_trans_0_2 (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_0 rid h0 h1 /\ modifies_buf_2 rid b b' h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_0 rid h0 h1); SMTPat (modifies_buf_2 rid b b' h1 h2)] + = () + +let modifies_trans_1_2 (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_1 rid b h0 h1 /\ modifies_buf_2 rid b b' h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_1 rid b h0 h1); SMTPat (modifies_buf_2 rid b b' h1 h2)] + = () + +let modifies_trans_2_2 (#t:Type) (#t':Type) (rid:rid) (b:buffer t) (b':buffer t') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_2 rid b b' h1 h2)) + (ensures (modifies_buf_2 rid b b' h0 h2)) + [SMTPat (modifies_buf_2 rid b b' h0 h1); SMTPat (modifies_buf_2 rid b b' h1 h2)] + = () + +let modifies_trans_3_3 (#t #t' #t'':Type) (rid:rid) (b:buffer t) (b':buffer t') (b'':buffer t'') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_3 rid b b' b'' h0 h1 /\ modifies_buf_3 rid b b' b'' h1 h2)) + (ensures (modifies_buf_3 rid b b' b'' h0 h2)) + [SMTPat (modifies_buf_3 rid b b' b'' h0 h1); SMTPat (modifies_buf_3 rid b b' b'' h1 h2)] + = () + +let modifies_trans_4_4 (#t #t' #t'' #t''':Type) (rid:rid) (b:buffer t) (b':buffer t') (b'':buffer t'') (b''':buffer t''') (h0 h1 h2:mem) : + Lemma (requires (modifies_buf_4 rid b b' b'' b''' h0 h1 /\ modifies_buf_4 rid b b' b'' b''' h1 h2)) + (ensures (modifies_buf_4 rid b b' b'' b''' h0 h2)) + [SMTPat (modifies_buf_4 rid b b' b'' b''' h0 h1); SMTPat (modifies_buf_4 rid b b' b'' b''' h1 h2)] + = () + +(* TODO: complete with specialized versions of every general lemma *) + +(* Modifies clauses that do not change the shape of the HyperStack ((HS.get_tip h1) = (HS.get_tip h0)) *) +(* NB: those clauses are made abstract in order to make verification faster +// Lemmas follow to allow the programmer to make use of the real definition +// of those predicates in a general setting *) +let modifies_0 (h0 h1:mem) :Type0 = + modifies_one (HS.get_tip h0) h0 h1 + /\ modifies_buf_0 (HS.get_tip h0) h0 h1 + /\ HS.get_tip h0 == HS.get_tip h1 + +(* This one is very generic: it says +// * - some references have changed in the frame of b, but +// * - among all buffers in this frame, b is the only one that changed. *) +let modifies_1 (#a:Type) (b:buffer a) (h0 h1:mem) :Type0 = + let rid = frameOf b in + modifies_one rid h0 h1 /\ modifies_buf_1 rid b h0 h1 /\ HS.get_tip h0 == HS.get_tip h1 + +let modifies_2_1 (#a:Type) (b:buffer a) (h0 h1:mem) :Type0 = + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in + ((rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= HS.get_tip h0 /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 ))) + +let modifies_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') (h0 h1:mem) :Type0 = + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= rid' /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 ))) + +let modifies_3 (#a:Type) (#a':Type) (#a'':Type) (b:buffer a) (b':buffer a') (b'':buffer a'') (h0 h1:mem) :Type0 = + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in let rid'' = frameOf b'' in + ((rid == rid' /\ rid' == rid'' /\ modifies_buf_3 rid b b' b'' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid =!= rid' /\ rid' == rid'' /\ modifies_buf_2 rid' b' b'' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid == rid'' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b'' h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= rid'' /\ rid =!= rid'' + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton rid'')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1))) + +let modifies_3_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') (h0 h1:mem) :Type0 = + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid') (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= HS.get_tip h0 /\ rid =!= HS.get_tip h0 + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1))) + +let modifies_region (rid:rid) (bufs:TSet.set abuffer) (h0 h1:mem) :Type0 = + modifies_one rid h0 h1 /\ modifies_bufs rid bufs h0 h1 /\ HS.get_tip h0 == HS.get_tip h1 + +(* Lemmas introducing the 'modifies' predicates *) +let lemma_intro_modifies_0 h0 h1 : Lemma + (requires (modifies_one (HS.get_tip h0) h0 h1 + /\ modifies_buf_0 (HS.get_tip h0) h0 h1 + /\ HS.get_tip h0 == HS.get_tip h1)) + (ensures (modifies_0 h0 h1)) + = () + +let lemma_intro_modifies_1 (#a:Type) (b:buffer a) h0 h1 : Lemma + (requires (let rid = frameOf b in + modifies_one rid h0 h1 /\ modifies_buf_1 rid b h0 h1 /\ HS.get_tip h0 == HS.get_tip h1)) + (ensures (modifies_1 b h0 h1)) + = () + +let lemma_intro_modifies_2_1 (#a:Type) (b:buffer a) h0 h1 : Lemma + (requires ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in + ((rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= HS.get_tip h0 /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 ))))) + (ensures (modifies_2_1 b h0 h1)) + = () + +let lemma_intro_modifies_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= rid' /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 ))))) + (ensures (modifies_2 b b' h0 h1)) + = () + +let lemma_intro_modifies_3 (#a:Type) (#a':Type) (#a'':Type) (b:buffer a) (b':buffer a') (b'':buffer a'') h0 h1 : Lemma + (requires ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in let rid'' = frameOf b'' in + ((rid == rid' /\ rid' == rid'' /\ modifies_buf_3 rid b b' b'' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid =!= rid' /\ rid' == rid'' /\ modifies_buf_2 rid' b' b'' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid == rid'' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b'' h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= rid'' /\ rid =!= rid'' + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton rid'')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1))))) + (ensures (modifies_3 b b' b'' h0 h1)) + = () + +let lemma_intro_modifies_3_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid') (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= HS.get_tip h0 /\ rid =!= HS.get_tip h0 + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1))))) + (ensures (modifies_3_2 b b' h0 h1)) + = () + +let lemma_intro_modifies_region (rid:rid) bufs h0 h1 : Lemma + (requires (modifies_one rid h0 h1 /\ modifies_bufs rid bufs h0 h1 /\ HS.get_tip h0 == HS.get_tip h1)) + (ensures (modifies_region rid bufs h0 h1)) + = () + + +(* Lemmas revealing the content of the specialized modifies clauses in order to +// be able to generalize them if needs be. *) +let lemma_reveal_modifies_0 h0 h1 : Lemma + (requires (modifies_0 h0 h1)) + (ensures (modifies_one (HS.get_tip h0) h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 /\ HS.get_tip h0 == HS.get_tip h1)) + = () + +let lemma_reveal_modifies_1 (#a:Type) (b:buffer a) h0 h1 : Lemma + (requires (modifies_1 b h0 h1)) + (ensures (let rid = frameOf b in modifies_one rid h0 h1 /\ modifies_buf_1 rid b h0 h1 /\ HS.get_tip h0 == HS.get_tip h1)) + = () + +let lemma_reveal_modifies_2_1 (#a:Type) (b:buffer a) h0 h1 : Lemma + (requires (modifies_2_1 b h0 h1)) + (ensures ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in + ((rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= HS.get_tip h0 /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 ))))) + = () + +let lemma_reveal_modifies_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires (modifies_2 b b' h0 h1)) + (ensures ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid =!= rid' /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 )) ))) + = () + +let lemma_reveal_modifies_3 (#a:Type) (#a':Type) (#a'':Type) (b:buffer a) (b':buffer a') (b'':buffer a'') h0 h1 : Lemma + (requires (modifies_3 b b' b'' h0 h1)) + (ensures ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in let rid'' = frameOf b'' in + ((rid == rid' /\ rid' == rid'' /\ modifies_buf_3 rid b b' b'' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid =!= rid' /\ rid' == rid'' /\ modifies_buf_2 rid' b' b'' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid'')) h0 h1 ) + \/ (rid == rid'' /\ rid' =!= rid'' /\ modifies_buf_2 rid b b'' h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton rid')) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= rid'' /\ rid =!= rid'' + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton rid'')) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid'' b'' h0 h1)) ))) + = () + +let lemma_reveal_modifies_3_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires (modifies_3_2 b b' h0 h1)) + (ensures ( + HS.get_tip h0 == HS.get_tip h1 /\ + (let rid = frameOf b in let rid' = frameOf b' in + ((rid == rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_one rid h0 h1) + \/ (rid == rid' /\ rid' =!= HS.get_tip h0 /\ modifies_buf_2 rid b b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid == HS.get_tip h0 /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid') (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' == HS.get_tip h0 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_1 rid b h0 h1 + /\ HS.modifies (Set.union (Set.singleton rid) (Set.singleton (HS.get_tip h0))) h0 h1 ) + \/ (rid =!= rid' /\ rid' =!= HS.get_tip h0 /\ rid =!= HS.get_tip h0 + /\ HS.modifies (Set.union (Set.union (Set.singleton rid) (Set.singleton rid')) (Set.singleton (HS.get_tip h0))) h0 h1 + /\ modifies_buf_1 rid b h0 h1 /\ modifies_buf_1 rid' b' h0 h1 /\ modifies_buf_0 (HS.get_tip h0) h0 h1)) ))) + = () + +let lemma_reveal_modifies_region (rid:rid) bufs h0 h1 : Lemma + (requires (modifies_region rid bufs h0 h1)) + (ensures (modifies_one rid h0 h1 /\ modifies_bufs rid bufs h0 h1 /\ HS.get_tip h0 == HS.get_tip h1)) + = () + +#reset-options "--z3rlimit 100 --max_fuel 0 --max_ifuel 0 --initial_fuel 0 --initial_ifuel 0" + +(* Stack effect specific lemmas *) +let lemma_stack_1 (#a:Type) (b:buffer a) h0 h1 h2 h3 : Lemma + (requires (live h0 b /\ fresh_frame h0 h1 /\ modifies_1 b h1 h2 /\ popped h2 h3)) + (ensures (modifies_buf_1 (frameOf b) b h0 h3)) + [SMTPat (modifies_1 b h1 h2); SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3)] + = () + +let lemma_stack_2 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 h3 : Lemma + (requires (live h0 b /\ live h0 b' /\ fresh_frame h0 h1 /\ modifies_2 b b' h1 h2 /\ popped h2 h3)) + (ensures (modifies_2 b b' h0 h3)) + [SMTPat (modifies_2 b b' h1 h2); SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3)] + = () + +(* Specialized modifies clauses lemmas + associated SMTPatterns. Those are critical for +// verification as the specialized modifies clauses are abstract from outside the +// module *) + +(** Commutativity lemmas *) +let lemma_modifies_2_comm (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires True) + (ensures (modifies_2 b b' h0 h1 <==> modifies_2 b' b h0 h1)) + [SMTPat (modifies_2 b b' h0 h1)] + = () + +let lemma_modifies_3_2_comm (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 : Lemma + (requires True) + (ensures (modifies_3_2 b b' h0 h1 <==> modifies_3_2 b' b h0 h1)) + [SMTPat (modifies_3_2 b b' h0 h1)] + = () +(* TODO: add commutativity lemmas for modifies_3 *) + +#reset-options "--z3rlimit 20" + +(** Transitivity lemmas *) +let lemma_modifies_0_trans h0 h1 h2 : Lemma + (requires (modifies_0 h0 h1 /\ modifies_0 h1 h2)) + (ensures (modifies_0 h0 h2)) + [SMTPat (modifies_0 h0 h1); SMTPat (modifies_0 h1 h2)] + = () + +let lemma_modifies_1_trans (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (modifies_1 b h0 h1 /\ modifies_1 b h1 h2)) + (ensures (modifies_1 b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_1 b h1 h2)] + = () + +let lemma_modifies_2_1_trans (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (modifies_2_1 b h0 h1 /\ modifies_2_1 b h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_2_1 b h0 h1); SMTPat (modifies_2_1 b h1 h2)] + = () + +let lemma_modifies_2_trans (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (modifies_2 b b' h0 h1 /\ modifies_2 b b' h1 h2)) + (ensures (modifies_2 b b' h0 h2)) + (* TODO: Make the following work and merge with the following lemma *) + (* [SMTPatOr [ *) + (* [SMTPat (modifies_2 b b' h0 h1); *) + (* SMTPat (modifies_2 b' b h0 h1)]]; *) + (* SMTPat (modifies_2 b' b h1 h2)] *) + [SMTPat (modifies_2 b b' h0 h1); SMTPat (modifies_2 b b' h1 h2)] + = () + +let lemma_modifies_2_trans' (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (modifies_2 b b' h0 h1 /\ modifies_2 b b' h1 h2)) + (ensures (modifies_2 b b' h0 h2)) + [SMTPat (modifies_2 b' b h0 h1); SMTPat (modifies_2 b b' h1 h2)] + = () + +#reset-options "--z3rlimit 40" + +let lemma_modifies_3_trans (#a:Type) (#a':Type) (#a'':Type) (b:buffer a) (b':buffer a') (b'':buffer a'') h0 h1 h2 : Lemma + (requires (modifies_3 b b' b'' h0 h1 /\ modifies_3 b b' b'' h1 h2)) + (ensures (modifies_3 b b' b'' h0 h2)) + (* TODO: add the appropriate SMTPatOr patterns so as not to rewrite X times the same lemma *) + [SMTPat (modifies_3 b b' b'' h0 h1); SMTPat (modifies_3 b b' b'' h1 h2)] + = () + +#reset-options "--z3rlimit 200" + +let lemma_modifies_3_2_trans (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (modifies_3_2 b b' h0 h1 /\ modifies_3_2 b b' h1 h2)) + (ensures (modifies_3_2 b b' h0 h2)) + [SMTPat (modifies_3_2 b b' h0 h1); SMTPat (modifies_3_2 b b' h1 h2)] + = () +let lemma_modifies_3_2_trans' (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (modifies_3_2 b' b h0 h1 /\ modifies_3_2 b b' h1 h2)) + (ensures (modifies_3_2 b b' h0 h2)) + [SMTPat (modifies_3_2 b' b h0 h1); SMTPat (modifies_3_2 b b' h1 h2)] + = () + +#reset-options "--z3rlimit 20" + +(* Specific modifies clause lemmas *) +val lemma_modifies_0_0: h0:mem -> h1:mem -> h2:mem -> Lemma + (requires (modifies_0 h0 h1 /\ modifies_0 h1 h2)) + (ensures (modifies_0 h0 h2)) + [SMTPat (modifies_0 h0 h1); SMTPat (modifies_0 h1 h2)] +let lemma_modifies_0_0 h0 h1 h2 = () + +#reset-options "--z3rlimit 20 --initial_fuel 0 --max_fuel 0" + +let lemma_modifies_1_0 (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (live h0 b /\ modifies_1 b h0 h1 /\ modifies_0 h1 h2)) + (ensures (live h2 b /\ modifies_2_1 b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_0 h1 h2)] + = () + +let lemma_modifies_0_1 (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (live h0 b /\ modifies_0 h0 h1 /\ modifies_1 b h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_0 h0 h1); SMTPat (modifies_1 b h1 h2)] + = () + +let lemma_modifies_0_1' (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (b `unused_in` h0 /\ modifies_0 h0 h1 /\ live h1 b /\ modifies_1 b h1 h2)) + (ensures (modifies_0 h0 h2)) + [SMTPat (modifies_0 h0 h1); SMTPat (modifies_1 b h1 h2)] + = () + +#reset-options "--z3rlimit 100 --initial_fuel 0 --max_fuel 0" + +let lemma_modifies_1_1 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_1 b h0 h1 /\ modifies_1 b' h1 h2)) + (ensures (modifies_2 b b' h0 h2 /\ modifies_2 b' b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_1 b' h1 h2)] + = if frameOf b = frameOf b' then modifies_trans_1_1' (frameOf b) b b' h0 h1 h2 + else () + +#reset-options "--z3rlimit 200 --initial_fuel 0 --max_fuel 0" + +let lemma_modifies_0_2 (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ b' `unused_in` h0 /\ modifies_0 h0 h1 /\ live h1 b' + /\ modifies_2 b b' h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_2 b b' h1 h2); SMTPat (modifies_0 h0 h1)] + = () + +let lemma_modifies_0_2' (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ b' `unused_in` h0 /\ modifies_0 h0 h1 /\ live h1 b' + /\ modifies_2 b' b h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_2 b' b h1 h2); SMTPat (modifies_0 h0 h1)] + = () + +let lemma_modifies_1_2 (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ modifies_1 b h0 h1 /\ b' `unused_in` h0 /\ live h1 b' /\ + modifies_2 b b' h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_2 b b' h1 h2)] + = () + +let lemma_modifies_1_2' (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ modifies_1 b h0 h1 /\ b' `unused_in` h0 /\ live h1 b' /\ + modifies_2 b' b h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_2 b' b h1 h2)] + = () + +let lemma_modifies_1_2'' (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_1 b h0 h1 /\ modifies_2 b b' h1 h2)) + (ensures (modifies_2 b b' h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_2 b b' h1 h2)] + = () + +let lemma_modifies_1_2''' (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_1 b h0 h1 /\ modifies_2 b' b h1 h2)) + (ensures (modifies_2 b' b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_2 b' b h1 h2)] + = () + +let lemma_modifies_1_1_prime (#t:Type) (#t':Type) (b:buffer t) (b':buffer t') h0 h1 h2 : Lemma + (requires (live h0 b /\ modifies_1 b h0 h1 /\ b' `unused_in` h0 /\ live h1 b' /\ + modifies_1 b' h1 h2)) + (ensures (modifies_2_1 b h0 h2)) + [SMTPat (modifies_1 b h0 h1); SMTPat (modifies_1 b' h1 h2)] + = () + +let lemma_modifies_2_1 (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_2 b b' h0 h1 /\ modifies_1 b h1 h2)) + (ensures (modifies_2 b b' h0 h2)) + [SMTPat (modifies_2 b b' h0 h1); SMTPat (modifies_1 b h1 h2)] + = () + +let lemma_modifies_2_1' (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_2 b' b h0 h1 /\ modifies_1 b h1 h2)) + (ensures (modifies_2 b' b h0 h2)) + [SMTPat (modifies_2 b' b h0 h1); SMTPat (modifies_1 b h1 h2)] + = () + +let lemma_modifies_2_1'' (#a:Type) (#a':Type) (b:buffer a) (b':buffer a') h0 h1 h2 : Lemma + (requires (live h0 b /\ live h0 b' /\ modifies_2_1 b h0 h1 /\ modifies_1 b' h1 h2)) + (ensures (modifies_3_2 b b' h0 h2)) + [SMTPat (modifies_2_1 b h0 h1); SMTPat (modifies_1 b' h1 h2)] + = () + +(* TODO: lemmas for modifies_3 *) + +let lemma_modifies_0_unalloc (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (b `unused_in` h0 /\ + frameOf b == HS.get_tip h0 /\ + modifies_0 h0 h1 /\ + modifies_1 b h1 h2)) + (ensures (modifies_0 h0 h2)) + = () + +let lemma_modifies_none_1_trans (#a:Type) (b:buffer a) h0 h1 h2 : Lemma + (requires (modifies_none h0 h1 /\ + live h0 b /\ + modifies_1 b h1 h2)) + (ensures (modifies_1 b h0 h2)) + = () + +let lemma_modifies_0_none_trans h0 h1 h2 : Lemma + (requires (modifies_0 h0 h1 /\ + modifies_none h1 h2)) + (ensures (modifies_0 h0 h2)) + = () + +#reset-options "--initial_fuel 0 --max_fuel 0" + +(** Concrete getters and setters *) +val create: #a:Type -> init:a -> len:UInt32.t -> StackInline (buffer a) + (requires (fun h -> True)) + (ensures (fun (h0:mem) b h1 -> b `unused_in` h0 + /\ live h1 b /\ idx b == 0 /\ length b == v len + /\ frameOf b == HS.get_tip h0 + /\ Map.domain (HS.get_hmap h1) == Map.domain (HS.get_hmap h0) + /\ modifies_0 h0 h1 + /\ as_seq h1 b == Seq.create (v len) init)) +let create #a init len = + let content: reference (lseq a (v len)) = + salloc (Seq.create (v len) init) in + let b = MkBuffer len content 0ul len in + let h = HST.get() in + assert (Seq.equal (as_seq h b) (sel h b)); + b + +#reset-options "--initial_fuel 0 --max_fuel 0" + +unfold let p (#a:Type0) (init:list a) : GTot Type0 = + normalize (0 < L.length init) /\ + normalize (L.length init <= UInt.max_int 32) + +unfold let q (#a:Type0) (len:nat) (buf:buffer a) : GTot Type0 = + normalize (length buf == len) + +(** Concrete getters and setters *) +val createL: #a:Type0 -> init:list a -> StackInline (buffer a) + (requires (fun h -> p #a init)) + (ensures (fun (h0:mem) b h1 -> + let len = L.length init in + len > 0 + /\ b `unused_in` h0 + /\ live h1 b /\ idx b == 0 /\ length b == len + /\ frameOf b == (HS.get_tip h0) + /\ Map.domain (HS.get_hmap h1) == Map.domain (HS.get_hmap h0) + /\ modifies_0 h0 h1 + /\ as_seq h1 b == Seq.seq_of_list init + /\ q #a len b)) +#set-options "--initial_fuel 1 --max_fuel 1" //the normalize_term (length init) in the pre-condition will be unfolded + //whereas the L.length init below will not +let createL #a init = + let len = UInt32.uint_to_t (L.length init) in + let s = Seq.seq_of_list init in + let content: reference (lseq a (v len)) = + salloc (Seq.seq_of_list init) in + let b = MkBuffer len content 0ul len in + let h = HST.get() in + assert (Seq.equal (as_seq h b) (sel h b)); + b + + +#reset-options "--initial_fuel 0 --max_fuel 0" +let lemma_upd (#a:Type) (h:mem) (x:reference a{live_region h (HS.frameOf x)}) (v:a) : Lemma + (requires True) + (ensures (Map.domain (HS.get_hmap h) == Map.domain (HS.get_hmap (upd h x v)))) + = let m = HS.get_hmap h in + let m' = Map.upd m (HS.frameOf x) (Heap.upd (Map.sel m (HS.frameOf x)) (HS.as_ref x) v) in + Set.lemma_equal_intro (Map.domain m) (Map.domain m') + +unfold let rcreate_post_common (#a:Type) (r:rid) (init:a) (len:UInt32.t) (b:buffer a) (h0 h1:mem) :Type0 + = b `unused_in` h0 + /\ live h1 b /\ idx b == 0 /\ length b == v len + /\ Map.domain (HS.get_hmap h1) == Map.domain (HS.get_hmap h0) + /\ HS.get_tip h1 == HS.get_tip h0 + /\ modifies (Set.singleton r) h0 h1 + /\ modifies_ref r Set.empty h0 h1 + /\ as_seq h1 b == Seq.create (v len) init + +private let rcreate_common (#a:Type) (r:rid) (init:a) (len:UInt32.t) (mm:bool) + :ST (buffer a) (requires (fun h0 -> is_eternal_region r)) + (ensures (fun h0 b h1 -> rcreate_post_common r init len b h0 h1 /\ + is_mm b.content == mm)) + = let h0 = HST.get() in + let s = Seq.create (v len) init in + let content: reference (lseq a (v len)) = + if mm then ralloc_mm r s else ralloc r s + in + let b = MkBuffer len content 0ul len in + let h1 = HST.get() in + assert (Seq.equal (as_seq h1 b) (sel h1 b)); + lemma_upd h0 content s; + b + +(** This function allocates a buffer in an "eternal" region, i.e. a region where memory is +// * automatically-managed. One does not need to call rfree on such a buffer. It +// * translates to C as a call to malloc and assumes a conservative garbage +// * collector is running. *) +val rcreate: #a:Type -> r:rid -> init:a -> len:UInt32.t -> ST (buffer a) + (requires (fun h -> is_eternal_region r)) + (ensures (fun (h0:mem) b h1 -> rcreate_post_common r init len b h0 h1 /\ ~(is_mm b.content))) +let rcreate #a r init len = rcreate_common r init len false + +(** This predicate tells whether a buffer can be `rfree`d. The only + way to produce it should be `rcreate_mm`, and the only way to + consume it should be `rfree.` Rationale: a buffer can be `rfree`d + only if it is the result of `rcreate_mm`. Subbuffers should not. *) +let freeable (#a: Type) (b: buffer a) : GTot Type0 = + is_mm b.content /\ is_eternal_region (frameOf b) /\ idx b == 0 + +(** This function allocates a buffer into a manually-managed buffer in a heap + * region, meaning that the client must call rfree in order to avoid memory + * leaks. It translates to C as a straight malloc. *) +let rcreate_mm (#a:Type) (r:rid) (init:a) (len:UInt32.t) + :ST (buffer a) (requires (fun h0 -> is_eternal_region r)) + (ensures (fun h0 b h1 -> rcreate_post_common r init len b h0 h1 /\ is_mm (content b) /\ freeable b)) + = rcreate_common r init len true + +#reset-options + +(** This function frees a buffer allocated with `rcreate_mm`. It translates to C as a regular free. *) +let rfree (#a:Type) (b:buffer a) + :ST unit (requires (fun h0 -> live h0 b /\ freeable b)) + (ensures (fun h0 _ h1 -> is_mm (content b) /\ is_eternal_region (frameOf b) /\ h1 == HS.free (content b) h0)) + = rfree b.content + +(* #reset-options "--z3rlimit 100 --initial_fuel 0 --max_fuel 0" *) + +(* val create_null: #a:Type -> init:a -> len:UInt32.t -> Stack (buffer a) *) +(* (requires (fun h -> True)) *) +(* (ensures (fun h0 b h1 -> length b = UInt32.v len /\ h0 == h1)) *) +(* let create_null #a init len = *) +(* push_frame(); *) +(* let r = create init len in *) +(* pop_frame(); *) +(* r *) + + +#reset-options "--initial_fuel 0 --max_fuel 0" + +// ocaml-only, used for conversions to Platform.bytes +val to_seq: #a:Type -> b:buffer a -> l:UInt32.t{v l <= length b} -> STL (seq a) + (requires (fun h -> live h b)) + (ensures (fun h0 r h1 -> h0 == h1 /\ live h1 b /\ Seq.length r == v l + (*/\ r == as_seq #a h1 b *) )) +let to_seq #a b l = + let s = !b.content in + let i = v b.idx in + Seq.slice s i (i + v l) + + +// ocaml-only, used for conversions to Platform.bytes +val to_seq_full: #a:Type -> b:buffer a -> ST (seq a) + (requires (fun h -> live h b)) + (ensures (fun h0 r h1 -> h0 == h1 /\ live h1 b /\ + r == as_seq #a h1 b )) +let to_seq_full #a b = + let s = !b.content in + let i = v b.idx in + Seq.slice s i (i + v b.length) + +val index: #a:Type -> b:buffer a -> n:UInt32.t{v n < length b} -> Stack a + (requires (fun h -> live h b)) + (ensures (fun h0 z h1 -> live h0 b /\ h1 == h0 + /\ z == Seq.index (as_seq h0 b) (v n))) +let index #a b n = + let s = !b.content in + Seq.index s (v b.idx + v n) + +(** REMARK: the proof of this lemma relies crucially on the `a == a'` condition +// in `disjoint`, and on the pattern in `Seq.slice_upd` *) +private let lemma_aux_0 + (#a:Type) (b:buffer a) (n:UInt32.t{v n < length b}) (z:a) (h0:mem) (tt:Type) (bb:buffer tt) + :Lemma (requires (live h0 b /\ live h0 bb /\ disjoint b bb)) + (ensures (live h0 b /\ live h0 bb /\ + (let h1 = HS.upd h0 b.content (Seq.upd (sel h0 b) (idx b + v n) z) in + as_seq h0 bb == as_seq h1 bb))) + = Heap.lemma_distinct_addrs_distinct_preorders (); + Heap.lemma_distinct_addrs_distinct_mm () + +#set-options "--z3rlimit 10" +private let lemma_aux_1 + (#a:Type) (b:buffer a) (n:UInt32.t{v n < length b}) (z:a) (h0:mem) (tt:Type) + :Lemma (requires (live h0 b)) + (ensures (live h0 b /\ + (forall (bb:buffer tt). (live h0 bb /\ disjoint b bb) ==> + (let h1 = HS.upd h0 b.content (Seq.upd (sel h0 b) (idx b + v n) z) in + as_seq h0 bb == as_seq h1 bb)))) + = let open FStar.Classical in + forall_intro (move_requires (lemma_aux_0 b n z h0 tt)) + +#reset-options "--initial_fuel 0 --max_fuel 0" + +private let lemma_aux_2 + (#a:Type) (b:buffer a) (n:UInt32.t{v n < length b}) (z:a) (h0:mem) + :Lemma (requires (live h0 b)) + (ensures (live h0 b /\ + (forall (tt:Type) (bb:buffer tt). (live h0 bb /\ disjoint b bb) ==> + (let h1 = HS.upd h0 b.content (Seq.upd (sel h0 b) (idx b + v n) z) in + as_seq h0 bb == as_seq h1 bb)))) + = let open FStar.Classical in + forall_intro (move_requires (lemma_aux_1 b n z h0)) + +private val lemma_aux: #a:Type -> b:buffer a -> n:UInt32.t{v n < length b} -> z:a + -> h0:mem -> Lemma + (requires (live h0 b)) + (ensures (live h0 b + /\ modifies_1 b h0 (HS.upd h0 b.content (Seq.upd (sel h0 b) (idx b + v n) z)) )) + [SMTPat (HS.upd h0 b.content (Seq.upd (sel h0 b) (idx b + v n) z))] +let lemma_aux #a b n z h0 = lemma_aux_2 b n z h0 + +val upd: #a:Type -> b:buffer a -> n:UInt32.t -> z:a -> Stack unit + (requires (fun h -> live h b /\ v n < length b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b /\ v n < length b + /\ modifies_1 b h0 h1 + /\ as_seq h1 b == Seq.upd (as_seq h0 b) (v n) z )) +let upd #a b n z = + let h0 = HST.get () in + let s0 = !b.content in + let s = Seq.upd s0 (v b.idx + v n) z in + b.content := s; + lemma_aux b n z h0; + let h = HST.get() in + Seq.lemma_eq_intro (as_seq h b) (Seq.slice s (idx b) (idx b + length b)); + Seq.upd_slice s0 (idx b) (idx b + length b) (v n) z + +val sub: #a:Type -> b:buffer a -> i:UInt32.t + -> len:UInt32.t{v i + v len <= length b} + -> Tot (b':buffer a{b `includes` b' /\ length b' == v len}) +let sub #a b i len = + assert (v i + v b.idx < pow2 n); // was formerly a precondition + MkBuffer b.max_length b.content (i +^ b.idx) len + +let sub_sub + (#a: Type) + (b: buffer a) + (i1: UInt32.t) + (len1: UInt32.t{v i1 + v len1 <= length b}) + (i2: UInt32.t) + (len2: UInt32.t {v i2 + v len2 <= v len1}) +: Lemma + (ensures (sub (sub b i1 len1) i2 len2 == sub b (i1 +^ i2) len2)) += () + +let sub_zero_length + (#a: Type) + (b: buffer a) +: Lemma + (ensures (sub b (UInt32.uint_to_t 0) (UInt32.uint_to_t (length b)) == b)) += () + +let lemma_sub_spec (#a:Type) (b:buffer a) + (i:UInt32.t) + (len:UInt32.t{v len <= length b /\ v i + v len <= length b}) + h : Lemma + (requires (live h b)) + (ensures (live h (sub b i len) /\ + as_seq h (sub b i len) == Seq.slice (as_seq h b) (v i) (v i + v len))) + [SMTPat (sub b i len); SMTPat (live h b)] + = Seq.lemma_eq_intro (as_seq h (sub b i len)) (Seq.slice (as_seq h b) (v i) (v i + v len)) + +let lemma_sub_spec' (#a:Type) (b:buffer a) + (i:UInt32.t) + (len:UInt32.t{v len <= length b /\ v i + v len <= length b}) + h : Lemma + (requires (live h b)) + (ensures (live h (sub b i len) /\ + as_seq h (sub b i len) == Seq.slice (as_seq h b) (v i) (v i + v len))) + [SMTPat (live h (sub b i len))] + = lemma_sub_spec b i len h + +val offset: #a:Type -> b:buffer a + -> i:UInt32.t{v i + v b.idx < pow2 n /\ v i <= v b.length} + -> Tot (b':buffer a{b `includes` b'}) +let offset #a b i = + MkBuffer b.max_length b.content (i +^ b.idx) (b.length -^ i) + +let lemma_offset_spec (#a:Type) (b:buffer a) + (i:UInt32.t{v i + v b.idx < pow2 n /\ v i <= v b.length}) + h : Lemma + (requires True) + (ensures (as_seq h (offset b i) == Seq.slice (as_seq h b) (v i) (length b))) + [SMTPatOr [[SMTPat (as_seq h (offset b i))]; + [SMTPat (Seq.slice (as_seq h b) (v i) (length b))]]] + = Seq.lemma_eq_intro (as_seq h (offset b i)) (Seq.slice (as_seq h b) (v i) (length b)) + +private val eq_lemma1: + #a:eqtype + -> b1:buffer a + -> b2:buffer a + -> len:UInt32.t{v len <= length b1 /\ v len <= length b2} + -> h:mem + -> Lemma + (requires (forall (j:nat). j < v len ==> get h b1 j == get h b2 j)) + (ensures equal h (sub b1 0ul len) h (sub b2 0ul len)) + [SMTPat (equal h (sub b1 0ul len) h (sub b2 0ul len))] +let eq_lemma1 #a b1 b2 len h = + Seq.lemma_eq_intro (as_seq h (sub b1 0ul len)) (as_seq h (sub b2 0ul len)) + +#reset-options "--z3rlimit 20" + +private val eq_lemma2: + #a:eqtype + -> b1:buffer a + -> b2:buffer a + -> len:UInt32.t{v len <= length b1 /\ v len <= length b2} + -> h:mem + -> Lemma + (requires equal h (sub b1 0ul len) h (sub b2 0ul len)) + (ensures (forall (j:nat). j < v len ==> get h b1 j == get h b2 j)) + [SMTPat (equal h (sub b1 0ul len) h (sub b2 0ul len))] +let eq_lemma2 #a b1 b2 len h = + let s1 = as_seq h (sub b1 0ul len) in + let s2 = as_seq h (sub b2 0ul len) in + cut (forall (j:nat). j < v len ==> get h b1 j == Seq.index s1 j); + cut (forall (j:nat). j < v len ==> get h b2 j == Seq.index s2 j) + +(** Corresponds to memcmp for `eqtype` *) +val eqb: #a:eqtype -> b1:buffer a -> b2:buffer a + -> len:UInt32.t{v len <= length b1 /\ v len <= length b2} + -> ST bool + (requires (fun h -> live h b1 /\ live h b2)) + (ensures (fun h0 z h1 -> h1 == h0 /\ + (z <==> equal h0 (sub b1 0ul len) h0 (sub b2 0ul len)))) +let rec eqb #a b1 b2 len = + if len =^ 0ul then true + else + let len' = len -^ 1ul in + if index b1 len' = index b2 len' then + eqb b1 b2 len' + else + false + +(** +// Defining operators for buffer accesses as specified at +// https://github.com/FStarLang/FStar/wiki/Parsing-and-operator-precedence +// *) +(* JP: if the [val] is not specified, there's an issue with these functions +// * taking an extra unification parameter at extraction-time... *) +val op_Array_Access: #a:Type -> b:buffer a -> n:UInt32.t{v n Stack a + (requires (fun h -> live h b)) + (ensures (fun h0 z h1 -> h1 == h0 + /\ z == Seq.index (as_seq h0 b) (v n))) +let op_Array_Access #a b n = index #a b n + +val op_Array_Assignment: #a:Type -> b:buffer a -> n:UInt32.t -> z:a -> Stack unit + (requires (fun h -> live h b /\ v n < length b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b /\ v n < length b + /\ modifies_1 b h0 h1 + /\ as_seq h1 b == Seq.upd (as_seq h0 b) (v n) z )) +let op_Array_Assignment #a b n z = upd #a b n z + +let lemma_modifies_one_trans_1 (#a:Type) (b:buffer a) (h0:mem) (h1:mem) (h2:mem): Lemma + (requires (modifies_one (frameOf b) h0 h1 /\ modifies_one (frameOf b) h1 h2)) + (ensures (modifies_one (frameOf b) h0 h2)) + [SMTPat (modifies_one (frameOf b) h0 h1); SMTPat (modifies_one (frameOf b) h1 h2)] + = () + +#reset-options "--z3rlimit 100 --max_fuel 0 --max_ifuel 0 --initial_fuel 0 --initial_ifuel 0" + +(** Corresponds to memcpy *) +val blit: #t:Type + -> a:buffer t + -> idx_a:UInt32.t{v idx_a <= length a} + -> b:buffer t{disjoint a b} + -> idx_b:UInt32.t{v idx_b <= length b} + -> len:UInt32.t{v idx_a + v len <= length a /\ v idx_b + v len <= length b} + -> Stack unit + (requires (fun h -> live h a /\ live h b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h0 a /\ live h1 b /\ live h1 a /\ modifies_1 b h0 h1 + /\ Seq.slice (as_seq h1 b) (v idx_b) (v idx_b + v len) == + Seq.slice (as_seq h0 a) (v idx_a) (v idx_a + v len) + /\ Seq.slice (as_seq h1 b) 0 (v idx_b) == + Seq.slice (as_seq h0 b) 0 (v idx_b) + /\ Seq.slice (as_seq h1 b) (v idx_b+v len) (length b) == + Seq.slice (as_seq h0 b) (v idx_b+v len) (length b) )) +#restart-solver +let rec blit #t a idx_a b idx_b len = + let h0 = HST.get () in + if len =^ 0ul then () + else + begin + let len' = len -^ 1ul in + blit #t a idx_a b idx_b len'; + let z = a.(idx_a +^ len') in + b.(idx_b +^ len') <- z; + let h1 = HST.get() in + Seq.snoc_slice_index (as_seq h1 b) (v idx_b) (v idx_b + v len'); + Seq.cons_head_tail (Seq.slice (as_seq h0 b) (v idx_b + v len') (length b)); + Seq.cons_head_tail (Seq.slice (as_seq h1 b) (v idx_b + v len') (length b)) + end + +(** Corresponds to memset *) +val fill: #t:Type + -> b:buffer t + -> z:t + -> len:UInt32.t{v len <= length b} + -> Stack unit + (requires (fun h -> live h b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b /\ modifies_1 b h0 h1 + /\ Seq.slice (as_seq h1 b) 0 (v len) == Seq.create (v len) z + /\ Seq.slice (as_seq h1 b) (v len) (length b) == + Seq.slice (as_seq h0 b) (v len) (length b) )) +let rec fill #t b z len = + let h0 = HST.get () in + if len =^ 0ul then () + else + begin + let len' = len -^ 1ul in + fill #t b z len'; + b.(len') <- z; + let h = HST.get() in + Seq.snoc_slice_index (as_seq h b) 0 (v len'); + Seq.lemma_tail_slice (as_seq h b) (v len') (length b) + end; + let h1 = HST.get() in + Seq.lemma_eq_intro (Seq.slice (as_seq h1 b) 0 (v len)) (Seq.create (v len) z) + + +let split #t (b:buffer t) (i:UInt32.t{v i <= length b}) : Tot (buffer t & buffer t) + = sub b 0ul i, offset b i + +let join #t (b:buffer t) (b':buffer t{b.max_length == b'.max_length /\ b.content === b'.content /\ idx b + length b == idx b'}) : Tot (buffer t) + = MkBuffer (b.max_length) (b.content) (b.idx) (FStar.UInt32.(b.length +^ b'.length)) + + +val no_upd_lemma_0: #t:Type -> h0:mem -> h1:mem -> b:buffer t -> Lemma + (requires (live h0 b /\ modifies_0 h0 h1)) + (ensures (live h0 b /\ live h1 b /\ equal h0 b h1 b)) + [SMTPat (modifies_0 h0 h1); SMTPat (live h0 b)] +let no_upd_lemma_0 #t h0 h1 b = () + +val no_upd_lemma_1: #t:Type -> #t':Type -> h0:mem -> h1:mem -> a:buffer t -> b:buffer t' -> Lemma + (requires (live h0 b /\ disjoint a b /\ modifies_1 a h0 h1)) + (ensures (live h0 b /\ live h1 b /\ equal h0 b h1 b)) + [SMTPat (modifies_1 a h0 h1); SMTPat (live h0 b)] +let no_upd_lemma_1 #t #t' h0 h1 a b = () + +#reset-options "--z3rlimit 30 --initial_fuel 0 --max_fuel 0" + +val no_upd_lemma_2: #t:Type -> #t':Type -> #t'':Type -> h0:mem -> h1:mem -> a:buffer t -> a':buffer t' -> b:buffer t'' -> Lemma + (requires (live h0 b /\ disjoint a b /\ disjoint a' b /\ modifies_2 a a' h0 h1)) + (ensures (live h0 b /\ live h1 b /\ equal h0 b h1 b)) + [SMTPat (live h0 b); SMTPat (modifies_2 a a' h0 h1)] +let no_upd_lemma_2 #t #t' #t'' h0 h1 a a' b = () + +val no_upd_lemma_2_1: #t:Type -> #t':Type -> h0:mem -> h1:mem -> a:buffer t -> b:buffer t' -> Lemma + (requires (live h0 b /\ disjoint a b /\ modifies_2_1 a h0 h1)) + (ensures (live h0 b /\ live h1 b /\ equal h0 b h1 b)) + [SMTPat (live h0 b); SMTPat (modifies_2_1 a h0 h1)] +let no_upd_lemma_2_1 #t #t' h0 h1 a b = () + +val no_upd_fresh: #t:Type -> h0:mem -> h1:mem -> a:buffer t -> Lemma + (requires (live h0 a /\ fresh_frame h0 h1)) + (ensures (live h0 a /\ live h1 a /\ equal h0 a h1 a)) + [SMTPat (live h0 a); SMTPat (fresh_frame h0 h1)] +let no_upd_fresh #t h0 h1 a = () + +val no_upd_popped: #t:Type -> h0:mem -> h1:mem -> b:buffer t -> Lemma + (requires (live h0 b /\ frameOf b =!= HS.get_tip h0 /\ popped h0 h1)) + (ensures (live h0 b /\ live h1 b /\ equal h0 b h1 b)) + [SMTPat (live h0 b); SMTPat (popped h0 h1)] +let no_upd_popped #t h0 h1 b = () + +(* Modifies of subset lemmas *) +let lemma_modifies_sub_0 h0 h1 : Lemma + (requires (h1 == h0)) + (ensures (modifies_0 h0 h1)) + [SMTPat (modifies_0 h0 h1)] + = () + +let lemma_modifies_sub_1 #t h0 h1 (b:buffer t) : Lemma + (requires (h1 == h0)) + (ensures (modifies_1 b h0 h1)) + [SMTPat (live h0 b); SMTPat (modifies_1 b h0 h1)] + = () + +let lemma_modifies_sub_2 #t #t' h0 h1 (b:buffer t) (b':buffer t') : Lemma + (requires (h1 == h0)) + (ensures (modifies_2 b b' h0 h1)) + [SMTPat (live h0 b); SMTPat (live h0 b'); SMTPat (modifies_2 b b' h0 h1)] + = () + +let lemma_modifies_sub_2_1 #t h0 h1 (b:buffer t) : Lemma + (requires (modifies_0 h0 h1 /\ live h0 b)) + (ensures (modifies_2_1 b h0 h1)) + [SMTPat (live h0 b); SMTPat (modifies_2_1 b h0 h1)] + = () + +#reset-options "--z3rlimit 100 --initial_fuel 0 --max_fuel 0" + +let modifies_subbuffer_1 (#t:Type) h0 h1 (sub:buffer t) (a:buffer t) : Lemma + (requires (live h0 a /\ modifies_1 sub h0 h1 /\ includes a sub)) + (ensures (modifies_1 a h0 h1 /\ live h1 a)) + [SMTPat (modifies_1 sub h0 h1); SMTPat (includes a sub)] + = () + +let modifies_subbuffer_2 (#t:Type) (#t':Type) h0 h1 (sub:buffer t) (a':buffer t') (a:buffer t) : Lemma + (requires (live h0 a /\ live h0 a' /\ includes a sub /\ modifies_2 sub a' h0 h1 )) + (ensures (modifies_2 a a' h0 h1 /\ modifies_2 a' a h0 h1 /\ live h1 a)) + [SMTPat (modifies_2 sub a' h0 h1); SMTPat (includes a sub)] + = () + +let modifies_subbuffer_2' (#t:Type) (#t':Type) h0 h1 (sub:buffer t) (a':buffer t') (a:buffer t) : Lemma + (requires (live h0 a /\ live h0 a' /\ includes a sub /\ modifies_2 a' sub h0 h1 )) + (ensures (modifies_2 a a' h0 h1 /\ live h1 a)) + [SMTPat (modifies_2 a' sub h0 h1); SMTPat (includes a sub)] + = () + +let modifies_subbuffer_2_1 (#t:Type) h0 h1 (sub:buffer t) (a:buffer t) : Lemma + (requires (live h0 a /\ includes a sub /\ modifies_2_1 sub h0 h1)) + (ensures (modifies_2_1 a h0 h1 /\ live h1 a)) + [SMTPat (modifies_2_1 sub h0 h1); SMTPat (includes a sub)] + = () + +let modifies_subbuffer_2_prime (#t:Type) h0 h1 (sub1:buffer t) (sub2:buffer t) (a:buffer t) : Lemma + (requires (live h0 a /\ includes a sub1 /\ includes a sub2 /\ modifies_2 sub1 sub2 h0 h1)) + (ensures (modifies_1 a h0 h1 /\ live h1 a)) + [SMTPat (modifies_2 sub1 sub2 h0 h1); SMTPat (includes a sub1); SMTPat (includes a sub2)] + = () + +let modifies_popped_3_2 (#t:Type) #t' (a:buffer t) (b:buffer t') h0 h1 h2 h3 : Lemma + (requires (live h0 a /\ live h0 b /\ fresh_frame h0 h1 /\ popped h2 h3 /\ modifies_3_2 a b h1 h2)) + (ensures (modifies_2 a b h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3); SMTPat (modifies_3_2 a b h1 h2)] + = () + +let modifies_popped_2 (#t:Type) #t' (a:buffer t) (b:buffer t') h0 h1 h2 h3 : Lemma + (requires (live h0 a /\ live h0 b /\ fresh_frame h0 h1 /\ popped h2 h3 /\ modifies_2 a b h1 h2)) + (ensures (modifies_2 a b h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3); SMTPat (modifies_2 a b h1 h2)] + = () + +let modifies_popped_1 (#t:Type) (a:buffer t) h0 h1 h2 h3 : Lemma + (requires (live h0 a /\ fresh_frame h0 h1 /\ popped h2 h3 /\ modifies_2_1 a h1 h2)) + (ensures (modifies_1 a h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3); SMTPat (modifies_2_1 a h1 h2)] + = () + +let modifies_popped_1' (#t:Type) (a:buffer t) h0 h1 h2 h3 : Lemma + (requires (live h0 a /\ fresh_frame h0 h1 /\ popped h2 h3 /\ modifies_1 a h1 h2)) + (ensures (modifies_1 a h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3); SMTPat (modifies_1 a h1 h2)] + = () + +let modifies_popped_0 h0 h1 h2 h3 : Lemma + (requires (fresh_frame h0 h1 /\ popped h2 h3 /\ modifies_0 h1 h2)) + (ensures (modifies_0 h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (popped h2 h3); SMTPat (modifies_0 h1 h2)] + = () + +let live_popped (#t:Type) (b:buffer t) h0 h1 : Lemma + (requires (popped h0 h1 /\ live h0 b /\ frameOf b =!= HS.get_tip h0)) + (ensures (live h1 b)) + [SMTPat (popped h0 h1); SMTPat (live h0 b)] + = () + +let live_fresh (#t:Type) (b:buffer t) h0 h1 : Lemma + (requires (fresh_frame h0 h1 /\ live h0 b)) + (ensures (live h1 b)) + [SMTPat (fresh_frame h0 h1); SMTPat (live h0 b)] + = () + +let modifies_0_to_2_1_lemma (#t:Type) h0 h1 (b:buffer t) : Lemma + (requires (modifies_0 h0 h1 /\ live h0 b)) + (ensures (modifies_2_1 b h0 h1)) + [SMTPat (modifies_2_1 b h0 h1); SMTPat (live h0 b) ] + = () + +let lemma_modifies_none_push_pop h0 h1 h2 : Lemma + (requires (fresh_frame h0 h1 /\ popped h1 h2)) + (ensures (modifies_none h0 h2)) + = () + +let lemma_modifies_0_push_pop h0 h1 h2 h3 : Lemma + (requires (fresh_frame h0 h1 /\ modifies_0 h1 h2 /\ popped h2 h3)) + (ensures (modifies_none h0 h3)) + = () + +let modifies_1_to_2_1_lemma (#t:Type) h0 h1 (b:buffer t) : Lemma + (requires (modifies_1 b h0 h1 /\ live h0 b)) + (ensures (modifies_2_1 b h0 h1)) + [SMTPat (modifies_2_1 b h0 h1); SMTPat (live h0 b) ] + = () + +(* let modifies_1_to_2_lemma (#t:Type) #t' h0 h1 (b:buffer t) (b':buffer t'): Lemma *) +(* (requires (modifies_1 b h0 h1 /\ live h0 b)) *) +(* (ensures (modifies_2 b b' h0 h1)) *) +(* [SMTPat (modifies_2 b b' h0 h1); SMTPat (live h0 b) ] *) +(* = () *) + +let modifies_poppable_0 (h0 h1:mem) : Lemma + (requires (modifies_0 h0 h1 /\ HS.poppable h0)) + (ensures (HS.poppable h1)) + [SMTPat (modifies_0 h0 h1)] + = () + +let modifies_poppable_1 #t (h0 h1:mem) (b:buffer t) : Lemma + (requires (modifies_1 b h0 h1 /\ HS.poppable h0)) + (ensures (HS.poppable h1)) + [SMTPat (modifies_1 b h0 h1)] + = () + +let modifies_poppable_2_1 #t (h0 h1:mem) (b:buffer t) : Lemma + (requires (modifies_2_1 b h0 h1 /\ HS.poppable h0)) + (ensures (HS.poppable h1)) + [SMTPat (modifies_2_1 b h0 h1)] + = () + +let modifies_poppable_2 #t #t' (h0 h1:mem) (b:buffer t) (b':buffer t') : Lemma + (requires (modifies_2 b b' h0 h1 /\ HS.poppable h0)) + (ensures (HS.poppable h1)) + [SMTPat (modifies_2 b' b h0 h1)] + = () + +let modifies_poppable_3_2 #t #t' (h0 h1:mem) (b:buffer t) (b':buffer t') : Lemma + (requires (modifies_3_2 b b' h0 h1 /\ HS.poppable h0)) + (ensures (HS.poppable h1)) + [SMTPat (modifies_3_2 b' b h0 h1)] + = () + +let lemma_fresh_poppable (h0 h1:mem) : Lemma + (requires (fresh_frame h0 h1)) + (ensures (poppable h1)) + [SMTPat (fresh_frame h0 h1)] + = () + +let lemma_equal_domains_popped (h0 h1 h2 h3:mem) : Lemma + (requires (equal_domains h0 h1 /\ popped h0 h2 /\ popped h1 h3)) + (ensures (equal_domains h2 h3)) + = () + +let lemma_equal_domains (h0 h1 h2 h3:mem) : Lemma + (requires (fresh_frame h0 h1 /\ equal_domains h1 h2 /\ popped h2 h3)) + (ensures (equal_domains h0 h3)) + [SMTPat (fresh_frame h0 h1); SMTPat (equal_domains h1 h2); SMTPat (popped h2 h3)] + = () + +let lemma_equal_domains_2 (h0 h1 h2 h3 h4:mem) : Lemma + (requires (fresh_frame h0 h1 + /\ modifies_0 h1 h2 /\ Map.domain (HS.get_hmap h1) == Map.domain (HS.get_hmap h2) + /\ equal_domains h2 h3 /\ popped h3 h4)) + (ensures (equal_domains h0 h4)) + [SMTPat (fresh_frame h0 h1); SMTPat (modifies_0 h1 h2); SMTPat (popped h3 h4)] + = () + +#reset-options "--z3rlimit 50" + +let rec assignL #a (l: list a) (b: buffer a): Stack unit + (requires (fun h0 -> + live h0 b /\ + length b = L.length l)) + (ensures (fun h0 _ h1 -> + live h1 b /\ + modifies_1 b h0 h1 /\ + as_seq h1 b == Seq.seq_of_list l)) += lemma_seq_of_list_induction l; + match l with + | [] -> () + | hd :: tl -> + let b_hd = sub b 0ul 1ul in + let b_tl = offset b 1ul in + b_hd.(0ul) <- hd; + assignL tl b_tl; + let h = HST.get () in + assert (get h b_hd 0 == hd); + assert (as_seq h b_tl == Seq.seq_of_list tl); + assert (Seq.equal (as_seq h b) (Seq.append (as_seq h b_hd) (as_seq h b_tl))); + assert (Seq.equal (as_seq h b) (Seq.seq_of_list l)) diff --git a/stage0/ulib/legacy/FStar.BufferNG.fst b/stage0/ulib/legacy/FStar.BufferNG.fst new file mode 100644 index 00000000000..b530571236c --- /dev/null +++ b/stage0/ulib/legacy/FStar.BufferNG.fst @@ -0,0 +1,492 @@ +(* + 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.BufferNG +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module P = FStar.Pointer + +(* This module will help for the transition of some buffer-based code + It tries to sidestep the following two issues: + - the type of elements must be embeddable into P.typ + - all elements must always be readable (no uninitialized data) +*) + +let rec supported + (t : P.typ) +: Tot bool += match t with + | P.TBase _ -> true + | P.TStruct l -> struct_typ_supported l.P.fields + | _ -> false + +and struct_typ_supported + (l: list (string & P.typ)) +: Tot bool += match l with + | [] -> true + | (_, t) :: l' -> supported t && struct_typ_supported l' + +let typ = (t: P.typ { supported t } ) + +unfold +let buffer + (t: typ) +: Tot Type0 += P.buffer t + +unfold +let live (#a: typ) (h: HS.mem) (b: buffer a) : GTot Type0 = + P.buffer_readable h b + +unfold +let unused_in (#a: typ) (b: buffer a) (h: HS.mem) : GTot Type0 = + P.buffer_unused_in b h + +unfold +let length (#a: typ) (b: buffer a) : GTot nat = + UInt32.v (P.buffer_length b) + +unfold +let as_addr (#a: typ) (b: buffer a) : GTot nat = + P.buffer_as_addr b + +unfold +let frameOf (#a: typ) (b: buffer a) : GTot HH.rid = + P.frameOf_buffer b + +unfold +let as_seq (#a: typ) (h: HS.mem) (b: buffer a) : GTot (s: Seq.seq (P.type_of_typ a) { Seq.length s == length b } ) = + P.buffer_as_seq h b + +unfold +let equal (#a: typ) (h: HS.mem) (b: buffer a) (h' : HS.mem) (b' : buffer a) : GTot Type0 = + as_seq h b == as_seq h' b' + +unfold +let includes + (#a: typ) + (x y: buffer a) +: GTot Type0 += P.buffer_includes x y + +let includes_live + (#a: typ) + (h: HS.mem) + (x y : buffer a) +: Lemma + (requires (x `includes` y /\ live h x)) + (ensures (live h y)) += P.buffer_includes_elim x y + +let includes_as_seq #a h1 h2 (x: buffer a) (y: buffer a) +: Lemma + (requires (x `includes` y /\ as_seq h1 x == as_seq h2 x)) + (ensures (as_seq h1 y == as_seq h2 y)) += P.buffer_includes_elim x y + +let includes_trans #a (x y z: buffer a) +: Lemma + (requires (x `includes` y /\ y `includes` z)) + (ensures (x `includes` z)) += P.buffer_includes_trans x y z + +unfold +let disjoint (#a #a' : typ) (x: buffer a) (y: buffer a') : GTot Type0 = + P.loc_disjoint (P.loc_buffer x) (P.loc_buffer y) + +(* Disjointness is symmetric *) +let lemma_disjoint_symm #a #a' (x:buffer a) (y:buffer a') : Lemma + (requires True) + (ensures (disjoint x y <==> disjoint y x)) + [SMTPat (disjoint x y)] + = () + +let lemma_disjoint_sub #a #a' (x:buffer a) (subx:buffer a) (y:buffer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint subx y)) + [SMTPat (disjoint subx y); SMTPat (includes x subx)] + = P.buffer_includes_loc_includes x subx; + P.loc_disjoint_includes (P.loc_buffer x) (P.loc_buffer y) (P.loc_buffer subx) (P.loc_buffer y) + +let lemma_disjoint_sub' #a #a' (x:buffer a) (subx:buffer a) (y:buffer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint subx y)) + [SMTPat (disjoint y subx); SMTPat (includes x subx)] + = () + +let lemma_live_disjoint #a #a' h (b:buffer a) (b':buffer a') : Lemma + (requires (live h b /\ b' `unused_in` h)) + (ensures (disjoint b b')) + [SMTPat (disjoint b b'); SMTPat (live h b)] += () + +(** Concrete getters and setters *) +val create + (#a:typ) + (init: P.type_of_typ a) + (len:UInt32.t) +: HST.StackInline (buffer a) + (requires (fun h -> + UInt32.v len > 0 + )) + (ensures (fun (h0: HS.mem) b h1 -> + UInt32.v len > 0 /\ + b `unused_in` h0 /\ + live h1 b /\ + length b == UInt32.v len /\ + frameOf b == (HS.get_tip h0) /\ + P.modifies_0 h0 h1 /\ + as_seq h1 b == Seq.create (UInt32.v len) init + )) +let create #a init len = + let len : P.array_length_t = len in + let content = P.screate (P.TArray len a) (Some (Seq.create (UInt32.v len) init)) in + P.buffer_of_array_pointer content + +unfold let p (#a:typ) (init:list (P.type_of_typ a)) : GTot Type0 = + normalize (0 < FStar.List.Tot.length init) /\ + normalize (FStar.List.Tot.length init < UInt.max_int 32) + +unfold let q (#a:typ) (len:nat) (buf:buffer a) : GTot Type0 = + normalize (length buf == len) + +val createL + (#a: typ) + (init:list (P.type_of_typ a)) +: HST.StackInline (buffer a) + (requires (fun h -> p #a init)) + (ensures (fun (h0: HS.mem) b h1 -> + let len = FStar.List.Tot.length init in + len > 0 /\ + b `unused_in` h0 /\ + live h1 b /\ + length b == len /\ + frameOf b == (HS.get_tip h0) /\ + P.modifies_0 h0 h1 /\ + as_seq h1 b == Seq.seq_of_list init /\ + q #a len b + )) + +#set-options "--initial_fuel 1 --max_fuel 1" //the normalize_term (length init) in the pre-condition will be unfolded + //whereas the L.length init below will not + +let createL #a init = + let len : P.array_length_t = UInt32.uint_to_t (List.Tot.length init) in + let s = Seq.seq_of_list init in + let content = P.screate (P.TArray len a) (Some s) in + P.buffer_of_array_pointer content + +#reset-options "--initial_fuel 0 --max_fuel 0" + +val rcreate + (#a: typ) + (r:HH.rid) + (init: P.type_of_typ a) + (len:UInt32.t) +: HST.ST (buffer a) + (requires (fun h -> + HST.is_eternal_region r /\ + HST.witnessed (HST.region_contains_pred r) /\ + UInt32.v len > 0 + )) + (ensures (fun (h0: HS.mem) b h1 -> + b `unused_in` h0 /\ + live h1 b /\ + length b == UInt32.v len /\ + (HS.get_tip h1) == (HS.get_tip h0) /\ + P.modifies (P.loc_addresses r Set.empty) h0 h1 /\ + as_seq h1 b == Seq.create (UInt32.v len) init + )) + +let rcreate #a r init len = + let len : P.array_length_t = len in + let content = P.ecreate (P.TArray len a) r (Some (Seq.create (UInt32.v len) init)) in + P.buffer_of_array_pointer content + +val index + (#a: typ) + (b: buffer a) + (n: UInt32.t) +: HST.Stack (P.type_of_typ a) + (requires (fun h -> + UInt32.v n < length b /\ + live h b + )) + (ensures (fun h0 z h1 -> + UInt32.v n < length b /\ + h1 == h0 /\ + z == Seq.index (as_seq h0 b) (UInt32.v n) + )) + +let index #a b n = + P.read_buffer b n + +val upd + (#a: typ) + (b: buffer a) + (n: UInt32.t) + (z: P.type_of_typ a) +: HST.Stack unit + (requires (fun h -> + live h b /\ + UInt32.v n < length b + )) + (ensures (fun h0 _ h1 -> + live h1 b /\ + UInt32.v n < length b /\ + P.modifies (P.loc_pointer (P.gpointer_of_buffer_cell b n)) h0 h1 /\ + as_seq h1 b == Seq.upd (as_seq h0 b) (UInt32.v n) z + )) + +let upd #a b n z = + let h0 = HST.get () in + P.write_buffer b n z; + let h1 = HST.get () in + assert (Seq.equal (as_seq h1 b) (Seq.upd (as_seq h0 b) (UInt32.v n) z)) + +(* NOTE: Here I cannot fully respect the Buffer interface, + because pure sub no longer exists, since it has been split + into ghost gsub and stateful sub + *) + +unfold +let gsub + (#a: typ) + (b: buffer a) + (i: UInt32.t) + (len: UInt32.t) +: Ghost (buffer a) + (requires (UInt32.v i + UInt32.v len <= length b)) + (ensures (fun _ -> True)) += P.gsub_buffer b i len + +let sub + (#a: typ) + (b: buffer a) + (i: UInt32.t) + (len: UInt32.t) +: HST.Stack (buffer a) + (requires (fun h -> + live h b /\ + UInt32.v i + UInt32.v len <= length b + )) + (ensures (fun h0 b' h1 -> + live h0 b /\ + UInt32.v i + UInt32.v len <= length b /\ + h1 == h0 /\ + b' == gsub b i len /\ + b `includes` b' + )) += P.sub_buffer b i len + +let sub_sub + (#a: typ) + (b: buffer a) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len1 <= length b /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v len1 + )) + (ensures ( + UInt32.v i1 + UInt32.v len1 <= length b /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v len1 /\ + gsub (gsub b i1 len1) i2 len2 == gsub b (UInt32.add i1 i2) len2 + )) += () + +let sub_zero_length + (#a: typ) + (b: buffer a) +: Lemma + (ensures (gsub b (UInt32.uint_to_t 0) (UInt32.uint_to_t (length b)) == b)) += () + +let lemma_sub_spec (#a:typ) (b:buffer a) + (i:UInt32.t) + (len:UInt32.t) + (h: HS.mem) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= length b /\ + live h b + )) + (ensures ( + UInt32.v i + UInt32.v len <= length b /\ + live h (gsub b i len) /\ + as_seq h (gsub b i len) == Seq.slice (as_seq h b) (UInt32.v i) (UInt32.v i + UInt32.v len) + )) + [SMTPatOr [ + [SMTPat (gsub b i len); SMTPat (live h b)]; + [SMTPat (live h (gsub b i len))] + ]] + = Seq.lemma_eq_intro (as_seq h (gsub b i len)) (Seq.slice (as_seq h b) (UInt32.v i) (UInt32.v i + UInt32.v len)) + +(* Same here *) + +let goffset + (#a: typ) + (b: buffer a) + (i: UInt32.t) +: Ghost (buffer a) + (requires (UInt32.v i <= length b)) + (ensures (fun b' -> + UInt32.v i <= length b /\ + b' == gsub b i (UInt32.sub (P.buffer_length b) i) + )) += P.gsub_buffer b i (UInt32.sub (P.buffer_length b) i) + +let offset + (#a:typ) + (b:buffer a) + (i:UInt32.t) +: HST.Stack (buffer a) + (requires (fun h0 -> + live h0 b /\ + UInt32.v i <= length b + )) + (ensures (fun h0 b' h1 -> + h1 == h0 /\ + UInt32.v i <= length b /\ + b' == goffset b i + )) += P.offset_buffer b i + +let lemma_offset_spec + (#a: typ) + (b: buffer a) + (i: UInt32.t) + (h: HS.mem) +: Lemma + (requires ( + UInt32.v i <= length b /\ + live h b + )) + (ensures ( + UInt32.v i <= length b /\ + as_seq h (goffset b i) == Seq.slice (as_seq h b) (UInt32.v i) (length b) + )) += () + +val eqb: #a:typ -> b1:buffer a -> b2:buffer a + -> len:UInt32.t + -> HST.ST bool + (requires (fun h -> + hasEq (P.type_of_typ a) /\ + UInt32.v len <= length b1 /\ + UInt32.v len <= length b2 /\ + live h b1 /\ + live h b2 + )) + (ensures (fun h0 z h1 -> + h1 == h0 /\ + UInt32.v len <= length b1 /\ + UInt32.v len <= length b2 /\ + (z <==> equal h0 (gsub b1 0ul len) h0 (gsub b2 0ul len)) + )) + +let eqb #a b1 b2 len = + P.buffer_contents_equal b1 b2 len + +(* JP: if the [val] is not specified, there's an issue with these functions + * taking an extra unification parameter at extraction-time... *) +val op_Array_Access: #a:typ -> b:buffer a -> n:UInt32.t -> HST.Stack (P.type_of_typ a) + (requires (fun h -> UInt32.v n h1 == h0 /\ + UInt32.v n b:buffer a -> n:UInt32.t -> z:P.type_of_typ a -> HST.Stack unit + (requires (fun h -> live h b /\ UInt32.v n < length b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b /\ UInt32.v n < length b + /\ P.modifies (P.loc_pointer (P.gpointer_of_buffer_cell b n)) h0 h1 + /\ as_seq h1 b == Seq.upd (as_seq h0 b) (UInt32.v n) z )) +let op_Array_Assignment #a b n z = upd #a b n z + +val live_slice_middle + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= length b /\ + live h (gsub b 0ul i) /\ + live h (gsub b i len) /\ ( + let off = UInt32.add i len in + live h (gsub b off (UInt32.sub (P.buffer_length b) off)) + ))) + (ensures (live h b)) + [SMTPat (live h (gsub b i len))] + +let live_slice_middle #t b i len h = + P.buffer_readable_gsub_merge b i len h + +(** Corresponds to memcpy *) +val blit: #t:typ + -> a:buffer t + -> idx_a:UInt32.t + -> b:buffer t{disjoint a b} + -> idx_b:UInt32.t + -> len:UInt32.t{UInt32.v idx_a + UInt32.v len <= length a /\ UInt32.v idx_b + UInt32.v len <= length b} + -> HST.Stack unit + (requires (fun h -> live h a /\ live h b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h0 a /\ live h1 b /\ live h1 a /\ P.modifies (P.loc_buffer (gsub b idx_b len)) h0 h1 + /\ Seq.slice (as_seq h1 b) (UInt32.v idx_b) (UInt32.v idx_b + UInt32.v len) == + Seq.slice (as_seq h0 a) (UInt32.v idx_a) (UInt32.v idx_a + UInt32.v len) + /\ Seq.slice (as_seq h1 b) 0 (UInt32.v idx_b) == + Seq.slice (as_seq h0 b) 0 (UInt32.v idx_b) + /\ Seq.slice (as_seq h1 b) (UInt32.v idx_b+UInt32.v len) (length b) == + Seq.slice (as_seq h0 b) (UInt32.v idx_b+UInt32.v len) (length b) )) + +let blit #t a idx_a b idx_b len = + if len = 0ul + then () + else begin + let h0 = HST.get () in + P.copy_buffer_contents a idx_a b idx_b len; + let h1 = HST.get () in + P.buffer_readable_modifies_gsub b idx_b len h0 h1 (P.loc_buffer (P.gsub_buffer b idx_b len)); + assert (let g = (gsub b (UInt32.add idx_b len) (UInt32.sub (P.buffer_length b) (UInt32.add idx_b len))) in as_seq h1 g == as_seq h0 g); + assert (as_seq h1 (gsub b idx_b len) == as_seq h0 (gsub a idx_a len)); + assert (let g = gsub b 0ul idx_b in as_seq h1 g == as_seq h0 g) + end + +(** Corresponds to memset *) +val fill: #t:typ + -> b:buffer t + -> z: P.type_of_typ t + -> len:UInt32.t{UInt32.v len <= length b} + -> HST.Stack unit + (requires (fun h -> live h b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b /\ + P.modifies (P.loc_buffer (gsub b 0ul len)) h0 h1 + /\ Seq.slice (as_seq h1 b) 0 (UInt32.v len) == Seq.create (UInt32.v len) z + /\ Seq.slice (as_seq h1 b) (UInt32.v len) (length b) == + Seq.slice (as_seq h0 b) (UInt32.v len) (length b) )) + +let fill #t b z len = + let h0 = HST.get () in + P.fill_buffer b 0ul len z; + let h1 = HST.get () in + assert (as_seq h1 (gsub b 0ul len) == Seq.slice (as_seq h1 b) 0 (UInt32.v len)); + assert (let g = gsub b len (UInt32.sub (P.buffer_length b) len) in as_seq h1 g == as_seq h0 g) diff --git a/stage0/ulib/legacy/FStar.Constructive.fst b/stage0/ulib/legacy/FStar.Constructive.fst new file mode 100644 index 00000000000..249b52e6ca8 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Constructive.fst @@ -0,0 +1,72 @@ +(* + 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.Constructive +type cand p1 p2 = + | Conj : h1:p1 -> h2:p2 -> cand p1 p2 + +type cor p1 p2 = + | IntroL : h:p1 -> cor p1 p2 + | IntroR : h:p2 -> cor p1 p2 + +type cimp a b = a -> Tot b + +type ciff a b = cand (cimp a b) (cimp b a) + +noeq type cexists (#a:Type) (p:a -> Type) = + | ExIntro : x:a -> h:p x -> cexists p + +// val ex_intro_x : #a:Type -> #p:(a -> Type) -> projectee:cexists p -> Tot a +// let ex_intro_x #a #p = function +// | ExIntro x _ -> x + +type ceq (#a:Type) x : a -> Type = + | Refl : ceq #a x x + +type ceq_type (a:Type) : Type -> Type = + | ReflType : ceq_type a a + +val eq_ind : #a:Type -> x:a -> p:(a -> Type) -> f:p x -> y:a -> e:ceq x y -> Tot (p y) +let eq_ind #a x p f y _ = f + +val ceq_eq : #a:Type{hasEq a} -> #x:a -> #y:a -> h:(ceq x y) -> Lemma (x = y) +let ceq_eq #a #x #y h = () + +val ceq_congruence : #a:Type -> #b:Type -> #x:a -> #y:a -> ceq x y -> + f:(a -> GTot b) -> GTot (ceq (f x) (f y)) +let ceq_congruence #a #b #x #y h f = Refl #_ #(f x) //refuse to infer terms with non-Tot effect + +val ceq_symm : #a:Type -> #x:a -> #y:a -> ceq x y -> Tot (ceq y x) +let ceq_symm #a #x #y h = Refl + +val ceq_trans : #a:Type -> #x:a -> #y:a -> #z:a -> ceq x y -> ceq y z -> Tot (ceq x z) +let ceq_trans #a #x #y #z hxy hyz = Refl + +type ctrue = + | I : ctrue + +(* hopefully this is an empty type *) +type cfalse : Type = + +val cfalse_elim : #a:Type -> cfalse -> Tot a +let cfalse_elim #a f = match f with + +val false_elim2 : #a:Type -> cfalse -> Tot a +let false_elim2 #a x = false_elim () + +val false_elim : #a:Type -> u:unit{false} -> Tot a +let false_elim #a u = false_elim () + +type cnot (p:Type) = cimp p cfalse diff --git a/stage0/ulib/legacy/FStar.Crypto.fst b/stage0/ulib/legacy/FStar.Crypto.fst new file mode 100644 index 00000000000..5d091b225fe --- /dev/null +++ b/stage0/ulib/legacy/FStar.Crypto.fst @@ -0,0 +1,55 @@ +(* + 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.Crypto + +open FStar.Bytes + +type nbytes (n:nat) = b:bytes{length b == n} (* fixed-length bytes *) +type tag = nbytes 20 + +assume val sha1: bytes -> Tot tag + +type hmac_key = nbytes 16 +assume val hmac_sha1_keygen: unit -> Tot hmac_key +assume val hmac_sha1: hmac_key -> bytes -> Tot tag +assume val hmac_sha1_verify: hmac_key -> bytes -> tag -> Tot bool + +type block = nbytes 32 +type cipher = nbytes (op_Multiply 2 32) +type aes_key = nbytes 16 +type aes_iv = nbytes 16 + +assume val aes_128_keygen: unit -> Tot aes_key +assume val aes_128_decrypt: aes_key -> cipher -> Tot block +assume val aes_128_encrypt: k:aes_key -> p:block -> c:cipher {aes_128_decrypt k c = p} + +assume val aes_128_ivgen: unit -> Tot aes_iv +assume val aes_128_cbc_decrypt: aes_key -> aes_iv -> bytes -> Tot bytes +assume val aes_128_cbc_encrypt: k:aes_key -> iv:aes_iv -> p:bytes -> c:bytes {aes_128_cbc_decrypt k iv c = p} + +type rsa_pkey = {modulus: bytes; exponent: bytes} +type rsa_skey = rsa_pkey & bytes + +assume val rsa_keygen: unit -> Tot rsa_skey +assume val rsa_pk: rsa_skey -> Tot rsa_pkey +assume val rsa_pkcs1_encrypt: rsa_pkey -> bytes -> bytes +assume val rsa_pkcs1_decrypt: rsa_skey -> bytes -> bytes + +type sigv = bytes +assume val rsa_sha1: rsa_skey -> bytes -> sigv +assume val rsa_sha1_verify: rsa_pkey -> bytes -> sigv -> bool + + diff --git a/stage0/ulib/legacy/FStar.ErasedLogic.fst b/stage0/ulib/legacy/FStar.ErasedLogic.fst new file mode 100644 index 00000000000..a0419e9de35 --- /dev/null +++ b/stage0/ulib/legacy/FStar.ErasedLogic.fst @@ -0,0 +1,44 @@ +(* + 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.ErasedLogic + +(*F* 's exists should be thought of Coq's sigT. It is totally unerased *) +(*Coq has 2 more versions, with increasing degree of erasure*) +(* https://coq.inria.fr/library/Coq.Init.Specif.html#sigT *) +open FStar.Ghost + +(*you can get the witness x, that the proof part is erased*) +(*https://coq.inria.fr/library/Coq.Init.Specif.html#sig*) +type sig_ (a:Type) (p: a->Type) = exists (x:a). (erased (p x)) + + +(*you get nothing. Of course, in ghost contexts, or to build other erased date, you get everything*) +(* https://coq.inria.fr/library/Coq.Init.Logic.html#ex *) +type ex (a:Type) (p:a->Type) = erased (exists (x:a). (p x)) + + +(*how to use the above:*) +(*assuming that existentials in F* are constructive. If so, the following 2 assumes must be definable*) +assume val exists_proj1 : #a:Type -> #p:(a->Type) -> (exists x.p x) -> GTot a +assume val mkexists : #a:Type -> #p:(a->Type) -> x:a -> (p x) -> Tot (exists x.p x) + + +val ex_proj1 : #a:Type -> #p:(a->Type) -> ex a p -> Tot (erased a) +let ex_proj1 #a #p e = (elift1 (exists_proj1 #a #p)) e + + +val gex_proj1 : #a:Type -> #p:(a->Type) -> (ex a p) -> GTot a +let gex_proj1 #a #p e = (reveal (ex_proj1 e)) diff --git a/stage0/ulib/legacy/FStar.Error.fst b/stage0/ulib/legacy/FStar.Error.fst new file mode 100644 index 00000000000..69289a270be --- /dev/null +++ b/stage0/ulib/legacy/FStar.Error.fst @@ -0,0 +1,75 @@ +(* + 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. +*) +/// A library for optional results, +/// where the error case carries some payload +module FStar.Error + +type optResult 'a 'b = + | Error of 'a + | Correct of 'b + +/// allowing inverting optResult without having +/// to globally increase the fuel just for this +let invertOptResult (a:Type) (b:Type) + : Lemma + (requires True) + (ensures (forall (x:optResult a b). Error? x \/ Correct? x)) + [SMTPat (optResult a b)] + = allow_inversion (optResult a b) + +irreducible +let perror + (file:string) + (line:int) + (text:string) + : Tot string + = text + +let correct + (#a:Type) + (#r:Type) + (x:r) + : Tot (optResult a r) + = Correct x + +(* Both unexpected and unreachable are aliases for failwith; + they indicate code that should never be executed at runtime. + This is verified by typing only for the unreachable function; + this matters e.g. when dynamic errors are security-critical *) +let rec unexpected + (#a:Type) + (s:string) + : Div a + (requires True) + (ensures (fun _ -> True)) + = let _ = FStar.IO.debug_print_string ("Platform.Error.unexpected: " ^ s) in + unexpected s + +let rec unreachable + (#a:Type) + (s:string) + : Div a + (requires False) + (ensures (fun _ -> False)) + = let _ = FStar.IO.debug_print_string ("Platform.Error.unreachable: " ^ s) in + unreachable s + +irreducible +let if_ideal + (f:unit -> Tot 'a) + (x:'a) + : Tot 'a + = x diff --git a/stage0/ulib/legacy/FStar.HyperStack.IO.fst b/stage0/ulib/legacy/FStar.HyperStack.IO.fst new file mode 100644 index 00000000000..cf77906b7f1 --- /dev/null +++ b/stage0/ulib/legacy/FStar.HyperStack.IO.fst @@ -0,0 +1,20 @@ +(* + 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.HyperStack.IO + +open FStar.HyperStack.All + +assume val print_string (s:Prims.string) : Dv unit diff --git a/stage0/ulib/legacy/FStar.Matrix2.fsti b/stage0/ulib/legacy/FStar.Matrix2.fsti new file mode 100644 index 00000000000..3ab1866e8b6 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Matrix2.fsti @@ -0,0 +1,106 @@ +(* + Copyright 2008-2015 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.Matrix2 + +#set-options "--initial_fuel 0 --max_fuel 0 --initial_ifuel 0 --max_ifuel 0" + +assume new type matrix2 : nat -> nat -> Type -> Type +open FStar.Seq + +(* Destructors *) +val index: #a:Type -> #m:nat -> #n:nat -> matrix2 m n a -> i:nat{i < m} -> j:nat{j < n} -> Tot a +val row: #a:Type -> #m:nat -> #n:nat -> matrix2 m n a -> i:nat{i Tot (seq a) +val col: #a:Type -> #m:nat -> #n:nat -> matrix2 m n a -> j:nat{j Tot (seq a) + +(* Constructors *) +val create: #a:Type -> m:nat -> n:nat -> a -> Tot (matrix2 m n a) +val emp: #a:Type -> Tot (matrix2 0 0 a) +val upd: #a:Type -> #m:nat -> #n:nat -> x:matrix2 m n a -> i:nat{i j:nat{j a -> Tot (matrix2 m n a) +val upd_row:#a:Type -> #m:nat -> #n:nat -> x:matrix2 m n a -> i:nat{i r:seq a{Seq.length r = n} -> Tot (matrix2 m n a) +val upd_col:#a:Type -> #m:nat -> #n:nat -> x:matrix2 m n a -> j:nat{j c:seq a{Seq.length c = m} -> Tot (matrix2 m n a) + +(* Lemmas about length *) +val lemma_row_len: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> i:nat{i Lemma + (requires True) + (ensures (Seq.length (row x i) = n)) + [SMTPat (Seq.length (row x i))] + +val lemma_col_len: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> j:nat{j Lemma + (requires True) + (ensures (Seq.length (col x j) = m)) + [SMTPat (Seq.length (col x j))] + +(* Lemmas about index *) +val lemma_index_create: #a:Type -> m:nat -> n:nat -> v:a -> i:nat{i < m} -> j:nat{j < n} -> Lemma + (requires True) + (ensures (index (create m n v) i j == v)) + [SMTPat (index (create m n v) i j)] + +val lemma_index_upd1: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> i:nat{i j:nat{j v:a -> Lemma + (requires True) + (ensures (index (upd x i j v) i j == v)) + [SMTPat (index (upd x i j v) i j)] + +val lemma_index_upd2: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> i:nat{i j:nat{j i':nat{i' j':nat{j' v:a -> Lemma + (requires (i<>i' \/ j<>j')) + (ensures (index (upd x i j v) i' j' == index x i' j')) + [SMTPat (index (upd x i j v) i' j')] + +val lemma_index_row: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> i:nat{i j:nat{j Lemma + (requires (True)) + (ensures (Seq.index (row x i) j == index x i j)) + [SMTPat (Seq.index (row x i) j)] + +val lemma_index_col: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> i:nat{i j:nat{j Lemma + (requires (True)) + (ensures (Seq.index (col x j) i == index x i j)) + [SMTPat (Seq.index (col x j) i)] + +val lemma_index_upd_row1: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> s:seq a{Seq.length s = n} -> i:nat{i j:nat{j Lemma + (requires (True)) + (ensures (index (upd_row x i s) i j == Seq.index s j)) + [SMTPat (index (upd_row x i s) i j)] + +val lemma_index_upd_row2: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> s:seq a{Seq.length s = n} -> i:nat{i i':nat{i'i'} -> j:nat{j Lemma + (requires (True)) + (ensures (index (upd_row x i s) i' j == index x i' j)) + [SMTPat (index (upd_row x i s) i' j)] + +val lemma_index_upd_col1: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> s:seq a{Seq.length s = m} -> j:nat{j i:nat{i Lemma + (requires (True)) + (ensures (index (upd_col x j s) i j == Seq.index s i)) + [SMTPat (index (upd_col x j s) i j)] + +val lemma_index_upd_col2: #a:Type -> m:nat -> n:nat -> x:matrix2 m n a -> s:seq a{Seq.length s = m} -> j:nat{j i:nat{i j':nat{j'j} -> Lemma + (requires (True)) + (ensures (index (upd_col x j s) i j' == index x i j')) + [SMTPat (index (upd_col x j s) i j')] + +(* Extensionality *) +assume new type eq: #a:Type -> #m:nat -> #n:nat -> matrix2 m n a -> matrix2 m n a -> Type +val lemma_eq_intro: #a:Type -> #m:nat -> #n:nat -> x1:matrix2 m n a -> x2:matrix2 m n a -> Lemma + (requires ((forall (i:nat{i < m}) (j:nat{j #m:nat -> #n:nat -> x1:matrix2 m n a -> x2:matrix2 m n a -> Lemma + (requires (eq x1 x2)) + (ensures (x1==x2)) + [SMTPat (eq x1 x2)] + + diff --git a/stage0/ulib/legacy/FStar.Pointer.Base.fst b/stage0/ulib/legacy/FStar.Pointer.Base.fst new file mode 100644 index 00000000000..adb2e570a31 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Base.fst @@ -0,0 +1,4260 @@ +(* + 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.Pointer.Base + +module DM = FStar.DependentMap +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(*** Definitions *) + +(** Pointers to data of type t. + + This defines two main types: + - `npointer (t: typ)`, a pointer that may be "NULL"; + - `pointer (t: typ)`, a pointer that cannot be "NULL" + (defined as a refinement of `npointer`). + + `nullptr #t` (of type `npointer t`) represents the "NULL" value. +*) + +#set-options "--initial_fuel 1 --initial_ifuel 1 --max_fuel 1 --max_ifuel 1" + +type step: (from: typ) -> (to: typ) -> Tot Type0 = + | StepField: + (l: struct_typ) -> + (fd: struct_field l) -> + step (TStruct l) (typ_of_struct_field l fd) + | StepUField: + (l: union_typ) -> + (fd: struct_field l) -> + step (TUnion l) (typ_of_struct_field l fd) + | StepCell: + (length: UInt32.t) -> + (value: typ) -> + (index: UInt32.t { UInt32.v index < UInt32.v length } ) -> + step (TArray length value) value + +type path (from: typ) : (to: typ) -> Tot Type0 = + | PathBase: + path from from + | PathStep: + (through: typ) -> + (to: typ) -> + (p: path from through) -> + (s: step through to) -> + path from to + +let step_typ_depth + (#from #to: typ) + (s: step from to) +: Lemma + (typ_depth from > typ_depth to) += match s with + | StepUField l fd + | StepField l fd -> + typ_depth_typ_of_struct_field l.fields fd + | _ -> () + +let rec path_typ_depth + (#from #to: typ) + (p: path from to) +: Lemma + (ensures ( + typ_depth from >= typ_depth to /\ ( + (~ (PathBase? p)) ==> typ_depth from <> typ_depth to + ))) + (decreases p) += match p with + | PathBase -> () + | PathStep _ _ p' s -> + path_typ_depth p'; + step_typ_depth s + +(* +private +let not_cell + (#from #to: typ) + (p: path from to) +: GTot bool += match p with + | PathStep _ _ _ (StepCell _ _ _) -> false + | _ -> true + +private type array_path (from: typ) (to_elem: typ) : (length: UInt32.t) -> Tot Type0 = +| PSingleton: + (p: path from to_elem { not_cell p } ) -> + array_path from to_elem 1ul +| PArray: + length: UInt32.t -> + path from (TArray length to_elem) -> + array_path from to_elem length + +private let path' (from: typ) (to: typ) : Tot Type0 = + if TArray? to + then + let length = TArray?.length to in + (array_path from (TArray?.t to) length * (offset: UInt32.t & (length': UInt32.t {UInt32.v offset + UInt32.v length' <= UInt32.v length}))) + else path from to +*) + +noeq type _npointer (to : typ): Type0 = + | Pointer: + (from: typ) -> + (contents: HS.aref) -> + (p: path from to) -> + _npointer to + | NullPtr + +let npointer (t: typ): Tot Type0 = + _npointer t + +(** The null pointer *) + +let nullptr (#t: typ): Tot (npointer t) = NullPtr + +let g_is_null (#t: typ) (p: npointer t) : GTot bool = + match p with + | NullPtr -> true + | _ -> false + +let g_is_null_intro + (t: typ) +: Lemma + (g_is_null (nullptr #t) == true) += () + +(** Buffers *) + +let not_an_array_cell (#t: typ) (p: pointer t) : GTot bool = + match Pointer?.p p with + | PathStep _ _ _ (StepCell _ _ _) -> false + | _ -> true + +noeq type buffer_root (t: typ) = +| BufferRootSingleton: + (p: pointer t { not_an_array_cell p } ) -> + buffer_root t +| BufferRootArray: + (#max_length: array_length_t) -> + (p: pointer (TArray max_length t)) -> + buffer_root t + +let buffer_root_length (#t: typ) (b: buffer_root t): Tot UInt32.t = match b with +| BufferRootSingleton _ -> 1ul +| BufferRootArray #_ #len _ -> len + +noeq type _buffer (t: typ) = +| Buffer: + (broot: buffer_root t) -> + (bidx: UInt32.t) -> + (blength: UInt32.t { UInt32.v bidx + UInt32.v blength <= UInt32.v (buffer_root_length broot) } ) -> + _buffer t +let buffer (t: typ): Tot Type0 = _buffer t + +(** Helper for the interpretation of unions. + + A C union is interpreted as a dependent pair of a key and a value (which + depends on the key). The intent is for the key to be ghost, as it will not + exist at runtime (C unions are untagged). + + Therefore, + - `gtdata_get_key` (defined below) is in `GTot`, and + - `gtdata_get_value` asks for the key `k` to read, and a proof that `k` + matches the ghost key. +*) + +let gtdata (* ghostly-tagged data *) + (key: eqtype) + (value: (key -> Tot Type0)) +: Tot Type0 += ( k: key & value k ) + +let _gtdata_get_key + (#key: eqtype) + (#value: (key -> Tot Type0)) + (u: gtdata key value) +: Tot key += dfst u + +let gtdata_get_key + (#key: eqtype) + (#value: (key -> Tot Type0)) + (u: gtdata key value) +: GTot key // important: must be Ghost, the tag is not actually stored in memory += _gtdata_get_key u + +let gtdata_get_value + (#key: eqtype) + (#value: (key -> Tot Type0)) + (u: gtdata key value) + (k: key) +: Pure (value k) + (requires (gtdata_get_key u == k)) + (ensures (fun _ -> True)) += let (| _, v |) = u in v + +let gtdata_create + (#key: eqtype) + (#value: (key -> Tot Type0)) + (k: key) + (v: value k) +: Pure (gtdata key value) + (requires True) + (ensures (fun x -> gtdata_get_key x == k /\ gtdata_get_value x k == v)) += (| k, v |) + +let gtdata_extensionality + (#key: eqtype) + (#value: (key -> Tot Type0)) + (u1 u2: gtdata key value) +: Lemma + (requires ( + let k = gtdata_get_key u1 in ( + k == gtdata_get_key u2 /\ + gtdata_get_value u1 k == gtdata_get_value u2 k + ))) + (ensures (u1 == u2)) += () + +(* Interprets a type code (`typ`) as a FStar type (`Type0`). *) +let rec type_of_typ' + (t: typ) +: Tot Type0 += match t with + | TBase b -> type_of_base_typ b + | TStruct l -> + struct l + | TUnion l -> + union l + | TArray length t -> + array length (type_of_typ' t) + | TPointer t -> + pointer t + | TNPointer t -> + npointer t + | TBuffer t -> + buffer t +and struct (l: struct_typ) : Tot Type0 = + DM.t (struct_field l) (type_of_struct_field' l (fun x -> type_of_typ' x)) +and union (l: union_typ) : Tot Type0 = + gtdata (struct_field l) (type_of_struct_field' l (fun x -> type_of_typ' x)) + +let rec type_of_typ'_eq (t: typ) : Lemma (type_of_typ' t == type_of_typ t) + [SMTPat (type_of_typ t)] += + match t with + | TArray _ t' -> type_of_typ'_eq t' + | TPointer t' -> type_of_typ'_eq t' + | TNPointer t' -> type_of_typ'_eq t' + | TBuffer t' -> type_of_typ'_eq t' + | _ -> () + +(** Interpretation of unions, as ghostly-tagged data + (see `gtdata` for more information). +*) +let _union_get_key (#l: union_typ) (v: union l) : Tot (struct_field l) = _gtdata_get_key v + +let struct_sel (#l: struct_typ) (s: struct l) (f: struct_field l) : Tot (type_of_struct_field l f) = + DM.sel s f + +let struct_upd (#l: struct_typ) (s: struct l) (f: struct_field l) (v: type_of_struct_field l f) : Tot (struct l) = + DM.upd s f v + +let struct_create_fun (l: struct_typ) (f: ((fd: struct_field l) -> Tot (type_of_struct_field l fd))) : Tot (struct l) = + DM.create #(struct_field l) #(type_of_struct_field' l (fun x -> type_of_typ' x)) f + +let struct_sel_struct_create_fun l f fd = () + +let union_get_key (#l: union_typ) (v: union l) : GTot (struct_field l) = gtdata_get_key v + +let union_get_value #l v fd = gtdata_get_value v fd + +let union_create l fd v = gtdata_create fd v + +(** For any `t: typ`, `dummy_val t` provides a default value of this type. + + This is useful to represent uninitialized data. +*) +let rec dummy_val + (t: typ) +: Tot (type_of_typ t) += match t with + | TBase b -> + begin match b with + | TUInt -> 0 + | TUInt8 -> UInt8.uint_to_t 0 + | TUInt16 -> UInt16.uint_to_t 0 + | TUInt32 -> UInt32.uint_to_t 0 + | TUInt64 -> UInt64.uint_to_t 0 + | TInt -> 0 + | TInt8 -> Int8.int_to_t 0 + | TInt16 -> Int16.int_to_t 0 + | TInt32 -> Int32.int_to_t 0 + | TInt64 -> Int64.int_to_t 0 + | TChar -> 'c' + | TBool -> false + | TUnit -> () + end + | TStruct l -> + struct_create_fun l (fun f -> ( + dummy_val (typ_of_struct_field l f) + )) + | TUnion l -> + let dummy_field : string = List.Tot.hd (List.Tot.map fst l.fields) in + union_create l dummy_field (dummy_val (typ_of_struct_field l dummy_field)) + | TArray length t -> Seq.create (UInt32.v length) (dummy_val t) + | TPointer t -> Pointer t HS.dummy_aref PathBase + | TNPointer t -> NullPtr #t + | TBuffer t -> Buffer (BufferRootSingleton (Pointer t HS.dummy_aref PathBase)) 0ul 1ul + +(** The interpretation of type codes (`typ`) defined previously (`type_of_typ`) + maps codes to fully defined FStar types. In other words, a struct is + interpreted as a dependent map where all fields have a well defined value. + + However, in practice, C structures (or any other type) can be uninitialized + or partially-initialized. + + To account for that: + + - First, we define an alternative interpretation of type codes, + `otype_of_typ`, which makes uninitialized data explicit (essentially + wrapping all interpretations with `option`). + + This concrete interpretation is what is stored in the model of the heap, + and what is manipulated internally. As it is quite verbose, it is not + exposed to the user. + + - Then, interpretations with explicit uninitialized data (`otype_of_type t`) + can be mapped to fully-initialized data (`type_of_type t`) by inserting + dummy values. This is done by the `value_of_ovalue` function. + + - Finally, reading from a fully-initialized data is guarded by a `readable` + predicate, which ensures that the dummy values cannot be accessed, and + therefore that reading uninitialized data is actually forbidden. +*) + +let rec otype_of_typ + (t: typ) +: Tot Type0 += match t with + | TBase b -> option (type_of_base_typ b) + | TStruct l -> + option (DM.t (struct_field l) (type_of_struct_field' l otype_of_typ)) + | TUnion l -> + option (gtdata (struct_field l) (type_of_struct_field' l otype_of_typ)) + | TArray length t -> + option (array length (otype_of_typ t)) + | TPointer t -> + option (pointer t) + | TNPointer t -> + option (npointer t) + | TBuffer t -> + option (buffer t) + +let otype_of_struct_field + (l: struct_typ) +: Tot (struct_field l -> Tot Type0) += type_of_struct_field' l otype_of_typ + +let otype_of_typ_otype_of_struct_field + (l: struct_typ) + (f: struct_field l) +: Lemma + (otype_of_typ (typ_of_struct_field l f) == otype_of_struct_field l f) + [SMTPat (type_of_typ (typ_of_struct_field l f))] += () + +let otype_of_typ_base + (b: base_typ) +: Lemma + (otype_of_typ (TBase b) == option (type_of_base_typ b)) + [SMTPat (otype_of_typ (TBase b))] += () + +let otype_of_typ_array + (len: array_length_t ) + (t: typ) +: Lemma + (otype_of_typ (TArray len t) == option (array len (otype_of_typ t))) + [SMTPat (otype_of_typ (TArray len t))] += () + +let ostruct (l: struct_typ) = option (DM.t (struct_field l) (otype_of_struct_field l)) + +let ostruct_sel (#l: struct_typ) (s: ostruct l { Some? s }) (f: struct_field l) : Tot (otype_of_struct_field l f) = + DM.sel (Some?.v s) f + +let ostruct_upd (#l: struct_typ) (s: ostruct l { Some? s }) (f: struct_field l) (v: otype_of_struct_field l f) : Tot (s': ostruct l { Some? s' } ) = + Some (DM.upd (Some?.v s) f v) + +let ostruct_create (l: struct_typ) (f: ((fd: struct_field l) -> Tot (otype_of_struct_field l fd))) : Tot (s': ostruct l { Some? s' } ) = + Some (DM.create #(struct_field l) #(otype_of_struct_field l) f) + +let otype_of_typ_struct + (l: struct_typ) +: Lemma + (otype_of_typ (TStruct l) == ostruct l) + [SMTPat (otype_of_typ (TStruct l))] += assert_norm(otype_of_typ (TStruct l) == ostruct l) + +let ounion (l: struct_typ) = option (gtdata (struct_field l) (otype_of_struct_field l)) + +let ounion_get_key (#l: union_typ) (v: ounion l { Some? v } ) : Tot (struct_field l) = _gtdata_get_key (Some?.v v) + +let ounion_get_value + (#l: union_typ) + (v: ounion l { Some? v } ) + (fd: struct_field l) +: Pure (otype_of_struct_field l fd) + (requires (ounion_get_key v == fd)) + (ensures (fun _ -> True)) += gtdata_get_value (Some?.v v) fd + +let ounion_create + (l: union_typ) + (fd: struct_field l) + (v: otype_of_struct_field l fd) +: Tot (ounion l) += Some (gtdata_create fd v) + +let otype_of_typ_union + (l: union_typ) +: Lemma + (otype_of_typ (TUnion l) == ounion l) + [SMTPat (otype_of_typ (TUnion l))] += assert_norm (otype_of_typ (TUnion l) == ounion l) + +let struct_field_is_readable + (l: struct_typ) + (ovalue_is_readable: ( + (t: typ) -> + (v: otype_of_typ t) -> + Pure bool + (requires (t << l)) + (ensures (fun _ -> True)) + )) + (v: ostruct l { Some? v } ) + (s: string) +: Tot bool += if List.Tot.mem s (List.Tot.map fst l.fields) + then ovalue_is_readable (typ_of_struct_field l s) (ostruct_sel v s) + else true + +let rec ovalue_is_readable + (t: typ) + (v: otype_of_typ t) +: Tot bool + (decreases t) += match t with + | TStruct l -> + let (v: ostruct l) = v in + Some? v && ( + let keys = List.Tot.map fst l.fields in + let pred + (t': typ) + (v: otype_of_typ t') + : Pure bool + (requires (t' << l)) + (ensures (fun _ -> True)) + = ovalue_is_readable t' v + in + List.Tot.for_all (struct_field_is_readable l pred v) keys + ) + | TUnion l -> + let v : ounion l = v in + Some? v && ( + let k = ounion_get_key v in + ovalue_is_readable (typ_of_struct_field l k) (ounion_get_value v k) + ) + | TArray len t -> + let (v: option (array len (otype_of_typ t))) = v in + Some? v && + Seq.for_all (ovalue_is_readable t) (Some?.v v) + | TBase t -> + let (v: option (type_of_base_typ t)) = v in + Some? v + | TPointer t -> + let (v: option (pointer t)) = v in + Some? v + | TNPointer t -> + let (v: option (npointer t)) = v in + Some? v + | TBuffer t -> + let (v: option (buffer t)) = v in + Some? v + +let ovalue_is_readable_struct_intro' + (l: struct_typ) + (v: otype_of_typ (TStruct l)) +: Lemma + (requires ( + let (v: ostruct l) = v in ( + Some? v /\ + List.Tot.for_all (struct_field_is_readable l (fun x y -> ovalue_is_readable x y) v) (List.Tot.map fst l.fields) + ))) + (ensures (ovalue_is_readable (TStruct l) v)) += assert_norm (ovalue_is_readable (TStruct l) v == true) + +let ovalue_is_readable_struct_intro + (l: struct_typ) + (v: otype_of_typ (TStruct l)) +: Lemma + (requires ( + let (v: ostruct l) = v in ( + Some? v /\ ( + forall (f: struct_field l) . + ovalue_is_readable (typ_of_struct_field l f) (ostruct_sel v f) + )))) + (ensures (ovalue_is_readable (TStruct l) v)) += List.Tot.for_all_mem (struct_field_is_readable l (fun x y -> ovalue_is_readable x y) v) (List.Tot.map fst l.fields); + ovalue_is_readable_struct_intro' l v + +let ovalue_is_readable_struct_elim + (l: struct_typ) + (v: otype_of_typ (TStruct l)) + (fd: struct_field l) +: Lemma + (requires (ovalue_is_readable (TStruct l) v)) + (ensures ( + let (v: ostruct l) = v in ( + Some? v /\ + ovalue_is_readable (typ_of_struct_field l fd) (ostruct_sel v fd) + ))) + [SMTPat (ovalue_is_readable (typ_of_struct_field l fd) (ostruct_sel v fd))] += let (v: ostruct l) = v in + assert_norm (ovalue_is_readable (TStruct l) v == List.Tot.for_all (struct_field_is_readable l (fun x y -> ovalue_is_readable x y) v) (List.Tot.map fst l.fields)); + assert (List.Tot.for_all (struct_field_is_readable l (fun x y -> ovalue_is_readable x y) v) (List.Tot.map fst l.fields)); + List.Tot.for_all_mem (struct_field_is_readable l (fun x y -> ovalue_is_readable x y) v) (List.Tot.map fst l.fields); + assert (ovalue_is_readable (typ_of_struct_field l fd) (ostruct_sel v fd)) + +let ovalue_is_readable_array_elim + (#len: array_length_t ) + (#t: typ) + (v: otype_of_typ (TArray len t)) + (i: UInt32.t { UInt32.v i < UInt32.v len } ) +: Lemma + (requires (ovalue_is_readable (TArray len t) v)) + (ensures ( + let (v: option (array len (otype_of_typ t))) = v in ( + Some? v /\ + ovalue_is_readable t (Seq.index (Some?.v v) (UInt32.v i)) + ))) += () + +let ovalue_is_readable_array_intro + (#len: array_length_t ) + (#t: typ) + (v: otype_of_typ (TArray len t)) +: Lemma + (requires ( + let (v: option (array len (otype_of_typ t))) = v in ( + Some? v /\ ( + forall (i: UInt32.t { UInt32.v i < UInt32.v len } ) . + ovalue_is_readable t (Seq.index (Some?.v v) (UInt32.v i)) + )))) + (ensures (ovalue_is_readable (TArray len t) v)) += let (v: option (array len (otype_of_typ t))) = v in + let (v: array len (otype_of_typ t)) = Some?.v v in + let f + (i: nat { i < UInt32.v len } ) + : Lemma + (ovalue_is_readable t (Seq.index v i)) + = let (j : UInt32.t { UInt32.v j < UInt32.v len } ) = UInt32.uint_to_t i in + assert (ovalue_is_readable t (Seq.index v (UInt32.v j))) + in + Classical.forall_intro f + +let ostruct_field_of_struct_field + (l: struct_typ) + (ovalue_of_value: ( + (t: typ) -> + (v: type_of_typ t) -> + Pure (otype_of_typ t) + (requires (t << l)) + (ensures (fun _ -> True)) + )) + (v: struct l) + (f: struct_field l) +: Tot (otype_of_struct_field l f) += ovalue_of_value (typ_of_struct_field l f) (struct_sel #l v f) + +(* TODO: move to Seq.Base *) + +let seq_init_index + (#a:Type) (len:nat) (contents:(i:nat { i < len } -> Tot a)) (i: nat) +: Lemma + (requires (i < len)) + (ensures (i < len /\ Seq.index (Seq.init len contents) i == contents i)) + [SMTPat (Seq.index (Seq.init len contents) i)] += Seq.init_index len contents + +let rec ovalue_of_value + (t: typ) + (v: type_of_typ t) +: Tot (otype_of_typ t) + (decreases t) += match t with + | TStruct l -> + let oval + (t' : typ) + (v' : type_of_typ t') + : Pure (otype_of_typ t') + (requires (t' << l)) + (ensures (fun _ -> True)) + = ovalue_of_value t' v' + in + ostruct_create l (ostruct_field_of_struct_field l oval v) + | TArray len t -> + let (v: array len (type_of_typ t)) = v in + assert (UInt32.v len == Seq.length v); + let f + (i: nat {i < UInt32.v len}) + : Tot (otype_of_typ t) + = ovalue_of_value t (Seq.index v i) + in + let (v': array len (otype_of_typ t)) = Seq.init (UInt32.v len) f in + Some v' + | TUnion l -> + let (v: union l) = v in + let k = _union_get_key v in + ounion_create l k (ovalue_of_value (typ_of_struct_field l k) (union_get_value v k)) + | _ -> Some v + +let ovalue_is_readable_ostruct_field_of_struct_field + (l: struct_typ) + (ih: ( + (t: typ) -> + (v: type_of_typ t) -> + Lemma + (requires (t << l)) + (ensures (ovalue_is_readable t (ovalue_of_value t v))) + )) + (v: struct l) + (f: struct_field l) +: Lemma + (ovalue_is_readable (typ_of_struct_field l f) (ostruct_field_of_struct_field l ovalue_of_value v f)) += ih (typ_of_struct_field l f) (struct_sel #l v f) + +let rec ovalue_is_readable_ovalue_of_value + (t: typ) + (v: type_of_typ t) +: Lemma + (requires True) + (ensures (ovalue_is_readable t (ovalue_of_value t v))) + (decreases t) + [SMTPat (ovalue_is_readable t (ovalue_of_value t v))] += match t with + | TStruct l -> + let (v: struct l) = v in + let (v': ostruct l) = ovalue_of_value (TStruct l) v in + let phi + (t: typ) + (v: type_of_typ t) + : Lemma + (requires (t << l)) + (ensures (ovalue_is_readable t (ovalue_of_value t v))) + = ovalue_is_readable_ovalue_of_value t v + in + Classical.forall_intro (ovalue_is_readable_ostruct_field_of_struct_field l phi v); + ovalue_is_readable_struct_intro l v' + | TArray len t -> + let (v: array len (type_of_typ t)) = v in + let (v': otype_of_typ (TArray len t)) = ovalue_of_value (TArray len t) v in + let (v': array len (otype_of_typ t)) = Some?.v v' in + let phi + (i: nat { i < Seq.length v' } ) + : Lemma + (ovalue_is_readable t (Seq.index v' i)) + = ovalue_is_readable_ovalue_of_value t (Seq.index v i) + in + Classical.forall_intro phi + | TUnion l -> + let (v: union l) = v in + let k = _union_get_key v in + ovalue_is_readable_ovalue_of_value (typ_of_struct_field l k) (union_get_value v k) + | _ -> () + +let rec value_of_ovalue + (t: typ) + (v: otype_of_typ t) +: Tot (type_of_typ t) + (decreases t) += match t with + | TStruct l -> + let (v: ostruct l) = v in + if Some? v + then + let phi + (f: struct_field l) + : Tot (type_of_struct_field l f) + = value_of_ovalue (typ_of_struct_field l f) (ostruct_sel v f) + in + struct_create_fun l phi + else dummy_val t + | TArray len t' -> + let (v: option (array len (otype_of_typ t'))) = v in + begin match v with + | None -> dummy_val t + | Some v -> + let phi + (i: nat { i < UInt32.v len } ) + : Tot (type_of_typ t') + = value_of_ovalue t' (Seq.index v i) + in + Seq.init (UInt32.v len) phi + end + | TUnion l -> + let (v: ounion l) = v in + begin match v with + | None -> dummy_val t + | _ -> + let k = ounion_get_key v in + union_create l k (value_of_ovalue (typ_of_struct_field l k) (ounion_get_value v k)) + end + | TBase b -> + let (v: option (type_of_base_typ b)) = v in + begin match v with + | None -> dummy_val t + | Some v -> v + end + | TPointer t' -> + let (v: option (pointer t')) = v in + begin match v with + | None -> dummy_val t + | Some v -> v + end + | TNPointer t' -> + let (v: option (npointer t')) = v in + begin match v with + | None -> dummy_val t + | Some v -> v + end + | TBuffer t' -> + let (v: option (buffer t')) = v in + begin match v with + | None -> dummy_val t + | Some v -> v + end + +let ovalue_of_value_array_index + (#len: array_length_t) + (t' : typ) + (v: array len (type_of_typ t')) + (sv: array len (otype_of_typ t')) +: Lemma + (requires (ovalue_of_value (TArray len t') v == Some sv)) + (ensures (forall (i: nat) . i < UInt32.v len ==> Seq.index sv i == ovalue_of_value t' (Seq.index v i))) += () + + +let value_of_ovalue_array_index + (#len: array_length_t) + (t': typ) + (sv: array len (otype_of_typ t')) +: Lemma + (ensures (forall (i: nat) . i < UInt32.v len ==> Seq.index (value_of_ovalue (TArray len t') (Some sv)) i == value_of_ovalue t' (Seq.index sv i))) += () + +#set-options "--z3rlimit 16" + +let rec value_of_ovalue_of_value + (t: typ) + (v: type_of_typ t) +: Lemma + (value_of_ovalue t (ovalue_of_value t v) == v) + [SMTPat (value_of_ovalue t (ovalue_of_value t v))] += match t with + | TStruct l -> + let v : struct l = v in + let v' : struct l = value_of_ovalue t (ovalue_of_value t v) in + let phi + (f: struct_field l) + : Lemma + (struct_sel #l v' f == struct_sel #l v f) + = value_of_ovalue_of_value (typ_of_struct_field l f) (struct_sel #l v f) + in + Classical.forall_intro phi; + DM.equal_intro v' v; + DM.equal_elim #(struct_field l) #(type_of_struct_field' l (fun x -> type_of_typ' x)) v' v + | TArray len t' -> + let (v: array len (type_of_typ t')) = v in + let ov : option (array len (otype_of_typ t')) = ovalue_of_value (TArray len t') v in + assert (Some? ov); + let sv : array len (otype_of_typ t') = Some?.v ov in + assert (Seq.length sv == UInt32.v len); +// assert (forall (i : nat { i < UInt32.v len } ) . Seq.index sv i == ovalue_of_value t' (Seq.index v i)); + ovalue_of_value_array_index t' v sv; + let v' : array len (type_of_typ t') = value_of_ovalue t ov in + assert (Seq.length v' == UInt32.v len); +// assert (forall (i: nat { i < UInt32.v len } ) . Seq.index v' i == value_of_ovalue t' (Seq.index sv i)); + value_of_ovalue_array_index t' sv; + let phi + (i: nat { i < UInt32.v len } ) + : Lemma + (value_of_ovalue t' (ovalue_of_value t' (Seq.index v i)) == Seq.index v i) + = value_of_ovalue_of_value t' (Seq.index v i) + in + Classical.forall_intro phi; + Seq.lemma_eq_intro v' v; + Seq.lemma_eq_elim v' v + | TUnion l -> + let v : union l = v in + let k = _union_get_key v in + value_of_ovalue_of_value (typ_of_struct_field l k) (union_get_value v k) + | _ -> () + +let none_ovalue + (t: typ) +: Tot (otype_of_typ t) += match t with + | TStruct l -> (None <: ostruct l) + | TArray len t' -> (None <: option (array len (otype_of_typ t'))) + | TUnion l -> (None <: ounion l) + | TBase b -> (None <: option (type_of_base_typ b)) + | TPointer t' -> (None <: option (pointer t')) + | TNPointer t' -> (None <: option (npointer t')) + | TBuffer t' -> (None <: option (buffer t')) + +let not_ovalue_is_readable_none_ovalue + (t: typ) +: Lemma + (ovalue_is_readable t (none_ovalue t) == false) += () + +(*** Semantics of pointers *) + +(** Pointer paths *) + +let step_sel + (#from: typ) + (#to: typ) + (m': otype_of_typ from) + (s: step from to) += match s with + | StepField l fd -> + let (m': ostruct l) = m' in + begin match m' with + | None -> none_ovalue to + | _ -> ostruct_sel m' fd + end + | StepUField l fd -> + let (m' : ounion l) = m' in + begin match m' with + | None -> none_ovalue to + | _ -> + if fd = ounion_get_key m' + then ounion_get_value m' fd + else none_ovalue to + end + | StepCell length value i -> + let (m': option (array length (otype_of_typ to))) = m' in + begin match m' with + | None -> none_ovalue to + | Some m' -> Seq.index m' (UInt32.v i) + end + +(* TODO: we used to have this: +<<< +let ovalue_is_readable_step_sel + (#from: typ) + (#to: typ) + (m': otype_of_typ from) + (s: step from to) +: Lemma + (requires (ovalue_is_readable from m')) + (ensures (ovalue_is_readable to (step_sel m' s))) + [SMTPat (ovalue_is_readable to (step_sel m' s))] += match s with + | StepField l fd -> ovalue_is_readable_struct_elim l m' fd + | _ -> () +>>> +Which is, of course, wrong with unions. So we have to specialize this rule for each step: +*) + +let ovalue_is_readable_step_sel_cell + (#length: array_length_t) + (#value: typ) + (m': otype_of_typ (TArray length value)) + (index: UInt32.t { UInt32.v index < UInt32.v length } ) +: Lemma + (requires (ovalue_is_readable (TArray length value) m')) + (ensures (ovalue_is_readable value (step_sel m' (StepCell length value index)))) + [SMTPat (ovalue_is_readable value (step_sel m' (StepCell length value index)))] += () + +let ovalue_is_readable_step_sel_field + (#l: struct_typ) + (m: ostruct l) + (fd: struct_field l) +: Lemma + (requires (ovalue_is_readable (TStruct l) m)) + (ensures (ovalue_is_readable (typ_of_struct_field l fd) (step_sel m (StepField l fd)))) + [SMTPat (ovalue_is_readable (typ_of_struct_field l fd) (step_sel m (StepField l fd)))] += () + +let ovalue_is_readable_step_sel_union_same + (#l: union_typ) + (m: ounion l) + (fd: struct_field l) +: Lemma + (requires ( + ovalue_is_readable (TUnion l) m /\ + ounion_get_key m == fd + )) + (ensures (ovalue_is_readable (typ_of_struct_field l fd) (step_sel m (StepUField l fd)))) += () + +let step_sel_none_ovalue + (#from: typ) + (#to: typ) + (s: step from to) +: Lemma + (step_sel (none_ovalue from) s == none_ovalue to) += () + +let rec path_sel + (#from: typ) + (#to: typ) + (m: otype_of_typ from) + (p: path from to) +: Tot (otype_of_typ to) + (decreases p) += match p with + | PathBase -> m + | PathStep through' to' p' s -> + let (m': otype_of_typ through') = path_sel m p' in + step_sel m' s + +let rec path_sel_none_ovalue + (#from: typ) + (#to: typ) + (p: path from to) +: Lemma + (requires True) + (ensures (path_sel (none_ovalue from) p == none_ovalue to)) + (decreases p) += match p with + | PathBase -> () + | PathStep through' to' p' s -> + path_sel_none_ovalue p' + +let step_upd + (#from: typ) + (#to: typ) + (m: otype_of_typ from) + (s: step from to) + (v: otype_of_typ to) +: Tot (otype_of_typ from) + (decreases s) += match s with + | StepField l fd -> + let (m: ostruct l) = m in + begin match m with + | None -> + (* whole structure does not exist yet, + so create one with only one field initialized, + and all others uninitialized *) + let phi + (fd' : struct_field l) + : Tot (otype_of_struct_field l fd') + = if fd' = fd + then v + else none_ovalue (typ_of_struct_field l fd') + in + ostruct_create l phi + | Some _ -> ostruct_upd m fd v + end + | StepCell len _ i -> + let (m: option (array len (otype_of_typ to))) = m in + begin match m with + | None -> + (* whole array does not exist yet, + so create one with only one cell initialized, + and all others uninitialized *) + let phi + (j: nat { j < UInt32.v len } ) + : Tot (otype_of_typ to) + = if j = UInt32.v i + then v + else none_ovalue to + in + let (m' : option (array len (otype_of_typ to))) = + Some (Seq.init (UInt32.v len) phi) + in + m' + | Some m -> + let (m' : option (array len (otype_of_typ to))) = + Some (Seq.upd m (UInt32.v i) v) + in + m' + end + | StepUField l fd -> + (* overwrite the whole union with the new field *) + ounion_create l fd v + +let step_sel_upd_same + (#from: typ) + (#to: typ) + (m: otype_of_typ from) + (s: step from to) + (v: otype_of_typ to) +: Lemma + (step_sel (step_upd m s v) s == v) += () + +let rec path_upd + (#from: typ) + (#to: typ) + (m: otype_of_typ from) + (p: path from to) + (v: otype_of_typ to) +: Tot (otype_of_typ from) + (decreases p) += match p with + | PathBase -> v + | PathStep through' to' p' st -> + let s = path_sel m p' in + path_upd m p' (step_upd s st v) + +let rec path_sel_upd_same + (#from: typ) + (#to: typ) + (m: otype_of_typ from) + (p: path from to) + (v: otype_of_typ to) +: Lemma + (requires True) + (ensures (path_sel (path_upd m p v) p == v)) + (decreases p) + [SMTPat (path_sel (path_upd m p v) p)] += match p with + | PathBase -> () + | PathStep through' to' p' st -> + let s = path_sel m p' in + step_sel_upd_same s st v; + let s' = step_upd s st v in + path_sel_upd_same m p' s' + +let rec path_concat + (#from: typ) + (#through: typ) + (#to: typ) + (p: path from through) + (q: path through to) +: Pure (path from to) + (requires True) + (ensures (fun _ -> True)) + (decreases q) += match q with + | PathBase -> p + | PathStep through' to' q' st -> PathStep through' to' (path_concat p q') st + +let path_concat_base_r + (#from: typ) + (#to: typ) + (p: path from to) +: Lemma + (ensures (path_concat p PathBase == p)) += () + +let rec path_concat_base_l + (#from: typ) + (#to: typ) + (p: path from to) +: Lemma + (requires True) + (ensures (path_concat PathBase p == p)) + (decreases p) + [SMTPat (path_concat PathBase p)] += match p with + | PathBase -> () + | PathStep _ _ p' _ -> path_concat_base_l p' + +let rec path_concat_assoc + (#t0 #t1 #t2 #t3: typ) + (p01: path t0 t1) + (p12: path t1 t2) + (p23: path t2 t3) +: Lemma + (requires True) + (ensures (path_concat (path_concat p01 p12) p23 == path_concat p01 (path_concat p12 p23))) + (decreases p23) += match p23 with + | PathBase -> () + | PathStep _ _ p23' _ -> path_concat_assoc p01 p12 p23' + +let rec path_sel_concat + (#from: typ) + (#through: typ) + (#to: typ) + (m: otype_of_typ from) + (p: path from through) + (q: path through to) +: Lemma + (requires True) + (ensures (path_sel m (path_concat p q) == path_sel (path_sel m p) q)) + (decreases q) + [SMTPat (path_sel m (path_concat p q))] += match q with + | PathBase -> () + | PathStep _ _ q' _ -> path_sel_concat m p q' + +let rec path_upd_concat + (#from: typ) + (#through: typ) + (#to: typ) + (m: otype_of_typ from) + (p: path from through) + (q: path through to) + (v: otype_of_typ to) +: Lemma + (requires True) + (ensures (path_upd m (path_concat p q) v == path_upd m p (path_upd (path_sel m p) q v))) + (decreases q) + [SMTPat (path_upd m (path_concat p q) v)] += match q with + | PathBase -> () + | PathStep through' to' q' st -> + let (s: otype_of_typ through') = path_sel m (path_concat p q') in + let (s': otype_of_typ through') = step_upd s st v in + path_upd_concat m p q' s' + +// TODO: rename as: prefix_of; use infix notation (p1 `prefix_of` p2) +let rec path_includes + (#from: typ) + (#to1 #to2: typ) + (p1: path from to1) + (p2: path from to2) +: Ghost bool + (requires True) + (ensures (fun _ -> True)) + (decreases p2) += (to1 = to2 && p1 = p2) || (match p2 with + | PathBase -> false + | PathStep _ _ p2' _ -> + path_includes p1 p2' + ) + +let rec path_includes_base + (#from: typ) + (#to: typ) + (p: path from to) +: Lemma + (requires True) + (ensures (path_includes (PathBase #from) p)) + (decreases p) + [SMTPat (path_includes PathBase p)] += match p with + | PathBase -> () + | PathStep _ _ p2' _ -> path_includes_base p2' + +let path_includes_refl + (#from #to: typ) + (p: path from to) +: Lemma + (requires True) + (ensures (path_includes p p)) + [SMTPat (path_includes p p)] += () + +let path_includes_step_r + (#from #through #to: typ) + (p: path from through) + (s: step through to) +: Lemma + (requires True) + (ensures (path_includes p (PathStep through to p s))) + [SMTPat (path_includes p (PathStep through to p s))] += () + +let rec path_includes_trans + (#from #to1 #to2 #to3: typ) + (p1: path from to1) + (p2: path from to2) + (p3: path from to3 {path_includes p1 p2 /\ path_includes p2 p3}) +: Lemma + (requires True) + (ensures (path_includes p1 p3)) + (decreases p3) += FStar.Classical.or_elim + #(to2 == to3 /\ p2 == p3) + #(match p3 with + | PathBase -> False + | PathStep _ _ p3' _ -> + path_includes p2 p3') + #(fun _ -> path_includes p1 p3) + (fun _ -> ()) + (fun _ -> match p3 with + | PathBase -> assert False + | PathStep _ _ p3' _ -> + path_includes_trans p1 p2 p3' + ) + +let rec path_includes_ind + (#from: typ) + (x:((#to1: typ) -> + (#to2: typ) -> + (p1: path from to1) -> + (p2: path from to2 {path_includes p1 p2} ) -> + GTot Type0)) + (h_step: + ((#through: typ) -> + (#to: typ) -> + (p: path from through) -> + (s: step through to { path_includes p (PathStep through to p s) } ) -> + Lemma (x p (PathStep through to p s)))) + (h_refl: + ((#to: typ) -> + (p: path from to {path_includes p p}) -> + Lemma (x p p))) + (h_trans: + ((#to1: typ) -> + (#to2: typ) -> + (#to3: typ) -> + (p1: path from to1) -> + (p2: path from to2) -> + (p3: path from to3 {path_includes p1 p2 /\ path_includes p2 p3 /\ path_includes p1 p3 /\ x p1 p2 /\ x p2 p3}) -> + Lemma (x p1 p3))) + (#to1: typ) + (#to2: typ) + (p1: path from to1) + (p2: path from to2 {path_includes p1 p2}) +: Lemma + (requires True) + (ensures (x p1 p2)) + (decreases p2) += FStar.Classical.or_elim + #(to1 == to2 /\ p1 == p2) + #(match p2 with + | PathBase -> False + | PathStep _ _ p' _ -> path_includes p1 p') + #(fun _ -> x p1 p2) + (fun _ -> h_refl p1) + (fun _ -> match p2 with + | PathBase -> assert False + | PathStep _ _ p2' st -> + let _ = path_includes_ind x h_step h_refl h_trans p1 p2' in + let _ = path_includes_step_r p2' st in + let _ = h_step p2' st in + h_trans p1 p2' p2 + ) + +let rec path_length + (#from #to: typ) + (p: path from to) +: Tot nat + (decreases p) += match p with + | PathBase -> 0 + | PathStep _ _ p' _ -> 1 + path_length p' + +let path_includes_length + (#from: typ) + (#to1 #to2: typ) + (p1: path from to1) + (p2: path from to2 {path_includes p1 p2}) +: Lemma + (ensures (path_length p1 <= path_length p2)) += path_includes_ind + (fun #to1_ #to2_ p1_ p2_ -> path_length p1_ <= path_length p2_) + (fun #through #to p st -> ()) + (fun #to p -> ()) + (fun #to1_ #to2_ #to3_ p1_ p2_ p3_ -> ()) + p1 p2 + +let path_includes_step_l + (#from: typ) + (#through: typ) + (#to: typ) + (p: path from through) + (s: step through to) +: Lemma + (requires True) + (ensures (~ (path_includes (PathStep through to p s) p))) + [SMTPat (path_includes (PathStep through to p s) p)] += assert (path_length (PathStep through to p s) > path_length p); + FStar.Classical.forall_intro (path_includes_length #from #to #through (PathStep through to p s)) + +let rec path_includes_concat + (#from: typ) + (#through: typ) + (#to: typ) + (p: path from through) + (q: path through to) +: Lemma + (requires True) + (ensures (path_includes p (path_concat p q))) + (decreases q) + [SMTPat (path_includes p (path_concat p q))] += match q with + | PathBase -> () + | PathStep _ _ q' _ -> path_includes_concat p q' + +let path_includes_exists_concat + (#from #through: typ) + (p: path from through) + (#to: typ) + (q: path from to { path_includes p q } ) +: Lemma + (ensures (exists (r: path through to) . q == path_concat p r)) += path_includes_ind + (fun #to1_ #to2_ p1_ p2_ -> exists r . p2_ == path_concat p1_ r) + (fun #through #to_ p s -> + let r = PathStep through to_ PathBase s in + assert_norm (PathStep through to_ p s == path_concat p r) + ) + (fun #to p -> FStar.Classical.exists_intro (fun r -> p == path_concat p r) PathBase) + (fun #to1_ #to2_ #to3_ p1_ p2_ p3_ -> + FStar.Classical.exists_elim (exists r . p3_ == path_concat p1_ r) #_ #(fun r12 -> p2_ == path_concat p1_ r12) () (fun r12 -> + FStar.Classical.exists_elim (exists r . p3_ == path_concat p1_ r) #_ #(fun r23 -> p3_ == path_concat p2_ r23) () (fun r23 -> + path_concat_assoc p1_ r12 r23; + FStar.Classical.exists_intro (fun r -> p3_ == path_concat p1_ r) (path_concat r12 r23) + ) + ) + ) + p q + +let path_concat_includes + (#from #through: typ) + (p: path from through) + (phi: ( + (#to: typ) -> + (p': path from to) -> + Ghost Type0 + (requires (path_includes p p')) + (ensures (fun _ -> True)) + )) + (f: ( + (to: typ) -> + (p': path through to) -> + Lemma + (ensures (phi (path_concat p p'))) + )) + (#to: typ) + (q: path from to) +: Lemma + (requires (path_includes p q)) + (ensures (path_includes p q /\ phi q)) += Classical.forall_intro_2 f; + path_includes_exists_concat p q + +let step_disjoint + (#from: typ) + (#to1 #to2: typ) + (s1: step from to1) + (s2: step from to2) +: GTot bool += match s1 with + | StepField _ fd1 -> + let (StepField _ fd2) = s2 in + fd1 <> fd2 + | StepCell _ _ i1 -> + let (StepCell _ _ i2) = s2 in + UInt32.v i1 <> UInt32.v i2 + | StepUField _ _ -> + (* two fields of the same union are never disjoint *) + false + +let step_eq + (#from: typ) + (#to1 #to2: typ) + (s1: step from to1) + (s2: step from to2) +: Tot (b: bool { b = true <==> to1 == to2 /\ s1 == s2 } ) += match s1 with + | StepField l1 fd1 -> + let (StepField _ fd2) = s2 in + fd1 = fd2 + | StepCell _ _ i1 -> + let (StepCell _ _ i2) = s2 in + i1 = i2 + | StepUField l1 fd1 -> + let (StepUField _ fd2) = s2 in + fd1 = fd2 + +let step_disjoint_not_eq + (#from: typ) + (#to1 #to2: typ) + (s1: step from to1) + (s2: step from to2) +: Lemma + (requires (step_disjoint s1 s2 == true)) + (ensures (step_eq s1 s2 == false)) += () (* Note: the converse is now wrong, due to unions *) + +let step_disjoint_sym + (#from: typ) + (#to1 #to2: typ) + (s1: step from to1) + (s2: step from to2) +: Lemma + (requires (step_disjoint s1 s2)) + (ensures (step_disjoint s2 s1)) += () + +noeq type path_disjoint_t (#from: typ): + (#to1: typ) -> + (#to2: typ) -> + (p1: path from to1) -> + (p2: path from to2) -> + Type0 += | PathDisjointStep: + (#through: typ) -> + (#to1: typ) -> + (#to2: typ) -> + (p: path from through) -> + (s1: step through to1) -> + (s2: step through to2 { step_disjoint s1 s2 } ) -> + path_disjoint_t (PathStep through to1 p s1) (PathStep through to2 p s2) + | PathDisjointIncludes: + (#to1: typ) -> + (#to2: typ) -> + (p1: path from to1) -> + (p2: path from to2) -> + (#to1': typ) -> + (#to2': typ) -> + (p1': path from to1' {path_includes p1 p1'}) -> + (p2': path from to2' {path_includes p2 p2'}) -> + path_disjoint_t p1 p2 -> + path_disjoint_t p1' p2' + +let rec path_disjoint_t_rect + (#from: typ) + (x: + ((#value1: typ) -> + (#value2: typ) -> + (p1: path from value1) -> + (p2: path from value2) -> + (h: path_disjoint_t p1 p2) -> + GTot Type)) + (h_step: + ((#through: typ) -> + (#to1: typ) -> + (#to2: typ) -> + (p: path from through) -> + (s1: step through to1) -> + (s2: step through to2 { step_disjoint s1 s2 } ) -> + (h: path_disjoint_t (PathStep through to1 p s1) (PathStep through to2 p s2)) -> + GTot (x (PathStep through to1 p s1) (PathStep through to2 p s2) h))) + (h_includes: + ((#value1: typ) -> + (#value2: typ) -> + (p1: path from value1) -> + (p2: path from value2) -> + (#value1': typ) -> + (#value2': typ) -> + (p1': path from value1' {path_includes p1 p1'}) -> + (p2': path from value2' {path_includes p2 p2'}) -> + (h: path_disjoint_t p1 p2) -> + (h': path_disjoint_t p1' p2') -> + (ihx: x p1 p2 h) -> + GTot (x p1' p2' h'))) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) + (h: path_disjoint_t p1 p2) +: Ghost (x p1 p2 h) + (requires True) + (ensures (fun _ -> True)) + (decreases h) += match h with + | PathDisjointStep p s1 s2 -> h_step p s1 s2 h + | PathDisjointIncludes p1_ p2_ p1' p2' h_ -> h_includes p1_ p2_ p1' p2' h_ h (path_disjoint_t_rect x h_step h_includes p1_ p2_ h_) + +let path_disjoint + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: GTot Type0 += squash (path_disjoint_t p1 p2) + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" +let path_disjoint_ind + (#from: typ) + (x: + ((#value1: typ) -> + (#value2: typ) -> + (p1: path from value1) -> + (p2: path from value2 {path_disjoint p1 p2} ) -> + GTot Type)) + (h_step: + ((#through: typ) -> + (#to1: typ) -> + (#to2: typ) -> + (p: path from through) -> + (s1: step through to1) -> + (s2: step through to2 { step_disjoint s1 s2 /\ path_disjoint (PathStep through to1 p s1) (PathStep through to2 p s2) } ) -> + Lemma (x (PathStep through to1 p s1) (PathStep through to2 p s2) ))) + (h_includes: + ((#value1: typ) -> + (#value2: typ) -> + (p1: path from value1) -> + (p2: path from value2) -> + (#value1': typ) -> + (#value2': typ) -> + (p1': path from value1' {path_includes p1 p1'}) -> + (p2': path from value2' {path_includes p2 p2' /\ path_disjoint p1 p2 /\ path_disjoint p1' p2' /\ x p1 p2}) -> + Lemma (x p1' p2'))) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2 { path_disjoint p1 p2 } ) +: Lemma (x p1 p2) += let h : squash (path_disjoint_t p1 p2) = FStar.Squash.join_squash () in + FStar.Squash.bind_squash h (fun (h: path_disjoint_t p1 p2) -> + path_disjoint_t_rect + (fun #v1 #v2 p1 p2 h -> let _ = FStar.Squash.return_squash h in squash (x p1 p2)) + (fun #through #to1 #to2 p s1 s2 h -> let _ = FStar.Squash.return_squash h in h_step p s1 s2) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' h h' hx -> + let _ = FStar.Squash.return_squash h in + let _ = FStar.Squash.return_squash h' in + let _ = FStar.Squash.return_squash hx in + h_includes p1 p2 p1' p2') + p1 p2 h) +#pop-options + +let path_disjoint_step + (#from: typ) + (#through: typ) + (#to1: typ) + (#to2: typ) + (p: path from through) + (s1: step through to1) + (s2: step through to2 { step_disjoint s1 s2 } ) +: Lemma + (requires True) + (ensures (path_disjoint (PathStep through to1 p s1) (PathStep through to2 p s2))) + [SMTPat (path_disjoint (PathStep through to1 p s1) (PathStep through to2 p s2))] += FStar.Classical.give_witness (FStar.Squash.return_squash (PathDisjointStep p s1 s2)) + +#push-options "--smtencoding.valid_intro true --smtencoding.valid_elim true" +let path_disjoint_includes + (#from: typ) + (#to1: typ) + (#to2: typ) + (p1: path from to1) + (p2: path from to2) + (#to1': typ) + (#to2': typ) + (p1': path from to1') + (p2': path from to2') +: Lemma + (requires (path_disjoint p1 p2 /\ path_includes p1 p1' /\ path_includes p2 p2')) + (ensures (path_disjoint p1' p2')) += let h : squash (path_disjoint_t p1 p2) = FStar.Squash.join_squash () in + FStar.Squash.bind_squash h (fun h -> FStar.Squash.return_squash (PathDisjointIncludes p1 p2 p1' p2' h)) +#pop-options + +let path_disjoint_includes_l + (#from: typ) + (#to1: typ) + (#to2: typ) + (p1: path from to1) + (p2: path from to2) + (#to1': typ) + (p1': path from to1') +: Lemma + (requires (path_disjoint p1 p2 /\ path_includes p1 p1')) + (ensures (path_disjoint p1' p2)) + [SMTPatOr [ + [SMTPat (path_disjoint p1 p2); SMTPat (path_includes p1 p1')]; + [SMTPat (path_disjoint p1' p2); SMTPat (path_includes p1 p1')]; + ]] += path_disjoint_includes p1 p2 p1' p2 + +let path_disjoint_sym + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: Lemma + (requires (path_disjoint p1 p2)) + (ensures (path_disjoint p2 p1)) + [SMTPatOr [[SMTPat (path_disjoint p1 p2)]; [SMTPat (path_disjoint p2 p1)]]] += path_disjoint_ind + (fun #v1 #v2 p1 p2 -> path_disjoint p2 p1) + (fun #through #to1 #to2 p s1 s2 -> path_disjoint_step p s2 s1) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' -> path_disjoint_includes p2 p1 p2' p1') + p1 p2 + +let rec path_equal + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: Tot (b: bool { b == true <==> (value1 == value2 /\ p1 == p2) } ) + (decreases p1) += match p1 with + | PathBase -> PathBase? p2 + | PathStep _ _ p1' s1 -> + PathStep? p2 && ( + let (PathStep _ _ p2' s2) = p2 in ( + path_equal p1' p2' && + step_eq s1 s2 + )) + +let rec path_length_concat + (#t0 #t1 #t2: typ) + (p01: path t0 t1) + (p12: path t1 t2) +: Lemma + (requires True) + (ensures (path_length (path_concat p01 p12) == path_length p01 + path_length p12)) + (decreases p12) += match p12 with + | PathBase -> () + | PathStep _ _ p' s' -> path_length_concat p01 p' + +let rec path_concat_inj_l + (#from #through1: typ) + (p1_: path from through1) + (#v1: typ) + (p1: path through1 v1) + (#through2 #v2: typ) + (p2_: path from through2) + (p2: path through2 v2) +: Lemma + (requires (path_equal (path_concat p1_ p1) (path_concat p2_ p2) == true /\ path_length p1_ == path_length p2_)) + (ensures (path_equal p1_ p2_ == true /\ path_equal p1 p2 == true)) + (decreases p1) += path_length_concat p1_ p1; + path_length_concat p2_ p2; + match p1 with + | PathBase -> () + | PathStep _ _ p1' s1 -> + let (PathStep _ _ p2' s2) = p2 in + path_concat_inj_l p1_ p1' p2_ p2' + +type path_disjoint_decomp_t + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: Type += | PathDisjointDecomp: + (d_through: typ) -> + (d_p: path from d_through) -> + (d_v1: typ) -> + (d_s1: step d_through d_v1) -> + (d_p1': path d_v1 value1) -> + (d_v2: typ) -> + (d_s2: step d_through d_v2) -> + (d_p2': path d_v2 value2) -> + squash ( + step_disjoint d_s1 d_s2 == true /\ + p1 == path_concat (PathStep _ _ d_p d_s1) d_p1' /\ + p2 == path_concat (PathStep _ _ d_p d_s2) d_p2' + ) -> + path_disjoint_decomp_t p1 p2 + +let path_disjoint_decomp_includes + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) + (#value1': typ) + (#value2': typ) + (p1': path from value1') + (p2': path from value2') +: Lemma + (requires ( + path_includes p1 p1' /\ + path_includes p2 p2' /\ ( + exists (d : path_disjoint_decomp_t p1 p2) . True + ))) + (ensures (exists (d: path_disjoint_decomp_t p1' p2') . True)) += let f + (q1: path value1 value1' ) + (q2: path value2 value2' ) + (d: path_disjoint_decomp_t p1 p2) + : Lemma + (requires ( + p1' == path_concat p1 q1 /\ + p2' == path_concat p2 q2 + )) + (ensures (exists (d: path_disjoint_decomp_t p1' p2') . True)) + = let (PathDisjointDecomp _ p _ s1 p1_ _ s2 p2_ _) = d in + path_concat_assoc (PathStep _ _ p s1) p1_ q1; + path_concat_assoc (PathStep _ _ p s2) p2_ q2; + let d' : path_disjoint_decomp_t p1' p2' = + PathDisjointDecomp _ p _ s1 (path_concat p1_ q1) _ s2 (path_concat p2_ q2) () + in + Classical.exists_intro (fun _ -> True) d' + in + let g + (q1: path value1 value1' ) + (q2: path value2 value2' ) + (d: path_disjoint_decomp_t p1 p2) + : Lemma + (( + p1' == path_concat p1 q1 /\ + p2' == path_concat p2 q2 + ) ==> ( + exists (d: path_disjoint_decomp_t p1' p2') . True + )) + = Classical.move_requires (f q1 q2) d // FIXME: annoying to repeat those type annotations above. WHY WHY WHY can't I just use (fun q1 q2 d -> Classical.move_requires (f q1 q2) d) as an argument of Classical.forall_intro_3 below instead of this g??? + in + path_includes_exists_concat p1 p1' ; + path_includes_exists_concat p2 p2' ; + let _ : squash (exists (d: path_disjoint_decomp_t p1' p2') . True) = + Classical.forall_intro_3 g + in + () + +let path_disjoint_decomp + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: Lemma + (requires (path_disjoint p1 p2)) + (ensures (exists (d: path_disjoint_decomp_t p1 p2) . True)) += path_disjoint_ind + (fun #v1 #v2 p1 p2 -> exists (d: path_disjoint_decomp_t #from #v1 #v2 p1 p2) . True) + (fun #through #to1 #to2 p s1 s2 -> + let d : path_disjoint_decomp_t (PathStep _ _ p s1) (PathStep _ _ p s2) = + PathDisjointDecomp _ p _ s1 PathBase _ s2 PathBase () + in + Classical.exists_intro (fun _ -> True) d + ) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' -> path_disjoint_decomp_includes p1 p2 p1' p2') + p1 p2 + +let path_disjoint_not_path_equal + (#from: typ) + (#value1: typ) + (#value2: typ) + (p1: path from value1) + (p2: path from value2) +: Lemma + (requires (path_disjoint p1 p2)) + (ensures (path_equal p1 p2 == false)) += let f + (d: path_disjoint_decomp_t p1 p2) + : Lemma (path_equal p1 p2 == false) + = if path_equal p1 p2 + then + let (PathDisjointDecomp _ p _ s1 p1_ _ s2 p2_ _) = d in + path_concat_inj_l (PathStep _ _ p s1) p1_ (PathStep _ _ p s2) p2_ + else () + in + path_disjoint_decomp p1 p2; + Classical.forall_intro f + +let rec path_destruct_l + (#t0 #t2: typ) + (p: path t0 t2) +: Tot ( + x: option (t1: typ & (s: step t0 t1 & (p' : path t1 t2 { p == path_concat (PathStep _ _ PathBase s) p' /\ path_length p' < path_length p } ) ) ) + { None? x <==> PathBase? p } + ) + (decreases p) += match p with + | PathBase -> None + | PathStep _ _ p' s -> + begin match path_destruct_l p' with + | None -> Some (| _, (| s, PathBase |) |) + | Some (| t_, (| s_, p_ |) |) -> + Some (| t_, (| s_, PathStep _ _ p_ s |) |) + end + +let rec path_equal' + (#from #to1 #to2: typ) + (p1: path from to1) + (p2: path from to2) +: Tot (b: bool { b == true <==> to1 == to2 /\ p1 == p2 } ) + (decreases (path_length p1)) += match path_destruct_l p1 with + | None -> PathBase? p2 + | Some (| t1, (| s1, p1' |) |) -> + begin match path_destruct_l p2 with + | None -> false + | (Some (| t2, (| s2, p2' |) |) ) -> + step_eq s1 s2 && + path_equal' p1' p2' + end + +let path_includes_concat_l + (#from #through #to1 #to2: typ) + (p0: path from through) + (p1: path through to1) + (p2: path through to2) +: Lemma + (requires (path_includes p1 p2)) + (ensures (path_includes (path_concat p0 p1) (path_concat p0 p2))) += path_includes_ind + (fun #to1_ #to2_ p1_ p2_ -> path_includes (path_concat p0 p1_) (path_concat p0 p2_)) + (fun #through #to p st -> ()) + (fun #to p -> path_includes_refl (path_concat p0 p)) + (fun #to1_ #to2_ #to3_ p1_ p2_ p3_ -> path_includes_trans (path_concat p0 p1_) (path_concat p0 p2_) (path_concat p0 p3_)) + p1 p2 + +let path_disjoint_concat + (#from #through #to1 #to2: typ) + (p0: path from through) + (p1: path through to1) + (p2: path through to2) +: Lemma + (requires (path_disjoint p1 p2)) + (ensures (path_disjoint (path_concat p0 p1) (path_concat p0 p2))) += path_disjoint_ind + (fun #v1 #v2 p1 p2 -> path_disjoint (path_concat p0 p1) (path_concat p0 p2)) + (fun #through #to1 #to2 p s1 s2 -> path_disjoint_step (path_concat p0 p) s1 s2) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' -> + path_includes_concat_l p0 p1 p1'; + path_includes_concat_l p0 p2 p2'; + path_disjoint_includes (path_concat p0 p1) (path_concat p0 p2) (path_concat p0 p1') (path_concat p0 p2')) + p1 p2 + +(* TODO: the following is now wrong due to unions, but should still hold if we restrict ourselves to readable paths +let rec not_path_equal_path_disjoint_same_type + (#from: typ) + (#value: typ) + (p1: path from value) + (p2: path from value) +: Lemma + (requires (path_equal p1 p2 == false)) + (ensures (path_disjoint p1 p2)) + (decreases (path_length p1)) += assert (path_equal p1 p2 == path_equal' p1 p2); + match path_destruct_l p1 with + | None -> path_typ_depth p2 + | Some (| t1, (| s1, p1' |) |) -> + begin match path_destruct_l p2 with + | None -> path_typ_depth p1 + | Some (| t2, (| s2, p2' |) |) -> + if step_eq s1 s2 + then begin + not_path_equal_path_disjoint_same_type p1' p2' ; + path_disjoint_concat (PathStep _ _ PathBase s1) p1' p2' + end else begin + path_disjoint_step PathBase s1 s2; + path_includes_concat (PathStep _ _ PathBase s1) p1'; + path_includes_concat (PathStep _ _ PathBase s2) p2'; + path_disjoint_includes (PathStep _ _ PathBase s1) (PathStep _ _ PathBase s2) p1 p2 + end + end +*) + +let step_sel_upd_other + (#from: typ) + (#to1 #to2: typ) + (s1: step from to1) + (s2: step from to2 {step_disjoint s1 s2}) + (m: otype_of_typ from) + (v: otype_of_typ to1) +: Lemma + (step_sel (step_upd m s1 v) s2 == step_sel m s2) += match s1 with + | StepField l1 fd1 -> + let (m: ostruct l1) = m in + let (StepField _ fd2) = s2 in + begin match m with + | None -> () + | Some m -> DM.sel_upd_other m fd1 v fd2 + end + | StepCell length1 _ i1 -> + let (m: option (array length1 (otype_of_typ to1))) = m in + let (StepCell _ _ i2) = s2 in + begin match m with + | None -> () + | Some m -> + Seq.lemma_index_upd2 m (UInt32.v i1) v (UInt32.v i2) + end + +let path_sel_upd_other + (#from: typ) + (#to1 #to2: typ) + (p1: path from to1) + (p2: path from to2 {path_disjoint p1 p2}) +: Lemma + (ensures (forall (m: otype_of_typ from) (v: otype_of_typ to1) . path_sel (path_upd m p1 v) p2 == path_sel m p2)) += path_disjoint_ind + (fun #v1 #v2 p1_ p2_ -> forall (m: otype_of_typ from) (v: otype_of_typ v1) . path_sel (path_upd m p1_ v) p2_ == path_sel m p2_) + (fun #through #to1_ #to2_ p s1 s2 -> + FStar.Classical.forall_intro_sub #_ #(fun m -> forall (v: otype_of_typ to1_) . path_sel (path_upd m (PathStep through to1_ p s1) v) (PathStep through to2_ p s2) == path_sel m (PathStep through to2_ p s2)) (fun m -> + FStar.Classical.forall_intro_sub #_ #(fun v -> path_sel (path_upd m (PathStep through to1_ p s1) v) (PathStep through to2_ p s2) == path_sel m (PathStep through to2_ p s2)) (fun v -> + let m0 = path_sel m p in + let m1 = step_sel m0 s1 in + let m2 = step_sel m0 s2 in + let m0' = step_upd m0 s1 v in + path_sel_upd_same m p m0'; + step_sel_upd_other s1 s2 m0 v + ))) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' -> + let h1: squash (exists r1 . p1' == path_concat p1 r1) = path_includes_exists_concat p1 p1' in + let h2: squash (exists r2 . p2' == path_concat p2 r2) = path_includes_exists_concat p2 p2' in + FStar.Classical.forall_intro_sub #_ #(fun (m: otype_of_typ from) -> forall v . path_sel (path_upd m p1' v) p2' == path_sel m p2') (fun (m: otype_of_typ from) -> + FStar.Classical.forall_intro_sub #_ #(fun (v: otype_of_typ v1') -> path_sel (path_upd m p1' v) p2' == path_sel m p2') (fun (v: otype_of_typ v1') -> + FStar.Classical.exists_elim (path_sel (path_upd m p1' v) p2' == path_sel m p2') h1 (fun r1 -> + FStar.Classical.exists_elim (path_sel (path_upd m p1' v) p2' == path_sel m p2') h2 (fun r2 -> + path_upd_concat m p1 r1 v; + path_sel_concat m p2 r2 + ))))) + p1 p2 + +let path_sel_upd_other' + (#from: typ) + (#to1: typ) + (p1: path from to1) + (m: otype_of_typ from) + (v: otype_of_typ to1) + (#to2: typ) + (p2: path from to2) +: Lemma + (requires (path_disjoint p1 p2)) + (ensures (path_sel (path_upd m p1 v) p2 == path_sel m p2)) += path_sel_upd_other p1 p2 + +(** Operations on pointers *) + +let equal + (#t1 #t2: typ) + (p1: pointer t1) + (p2: pointer t2) +: Ghost bool + (requires True) + (ensures (fun b -> b == true <==> t1 == t2 /\ p1 == p2 )) += Pointer?.from p1 = Pointer?.from p2 && + HS.aref_equal (Pointer?.contents p1) (Pointer?.contents p2) && + path_equal (Pointer?.p p1) (Pointer?.p p2) + +let as_addr (#t: typ) (p: pointer t) = + HS.aref_as_addr (Pointer?.contents p) + +let _field + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Tot (pointer (typ_of_struct_field l fd)) += let (Pointer from contents p') = p in + let p' : path from (TStruct l) = p' in + let p'' : path from (typ_of_struct_field l fd) = PathStep _ _ p' (StepField _ fd) in + Pointer from contents p'' + +let _cell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t {UInt32.v i < UInt32.v length}) +: Tot (pointer value) += let (Pointer from contents p') = p in + let p' : path from (TArray length value) = p' in + let p'' : path from value = PathStep _ _ p' (StepCell _ _ i) in + Pointer from contents p'' + +let _ufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Tot (pointer (typ_of_struct_field l fd)) += let (Pointer from contents p') = p in + let p' : path from (TUnion l) = p' in + let p'' : path from (typ_of_struct_field l fd) = PathStep _ _ p' (StepUField _ fd) in + Pointer from contents p'' + +let unused_in + (#value: typ) + (p: pointer value) + (h: HS.mem) +: GTot Type0 += let (Pointer from contents p') = p in + HS.aref_unused_in contents h + +let pointer_ref_contents : Type0 = (t: typ & otype_of_typ t) + +let live + (#value: typ) + (h: HS.mem) + (p: pointer value) +: GTot Type0 += let rel = Heap.trivial_preorder pointer_ref_contents in + let (Pointer from contents _) = p in ( + HS.aref_live_at h contents pointer_ref_contents rel /\ ( + let untyped_contents = HS.greference_of contents pointer_ref_contents rel in ( + dfst (HS.sel h untyped_contents) == from + ))) + +let nlive + (#value: typ) + (h: HS.mem) + (p: npointer value) +: GTot Type0 += if g_is_null p + then True + else live h p + +let live_nlive + (#value: typ) + (h: HS.mem) + (p: pointer value) += () + +let g_is_null_nlive + (#t: typ) + (h: HS.mem) + (p: npointer t) += () + +let greference_of + (#value: typ) + (p: pointer value) +: Ghost (HS.reference pointer_ref_contents) + (requires (exists h . live h p)) + (ensures (fun x -> (exists h . live h p) /\ x == HS.greference_of (Pointer?.contents p) pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) /\ HS.aref_of x == Pointer?.contents p)) += HS.greference_of (Pointer?.contents p) pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) + +let unused_in_greference_of + (#value: typ) + (p: pointer value) + (h: HS.mem) +: Lemma + (requires (exists h . live h p)) + (ensures ((exists h . live h p) /\ (HS.unused_in (greference_of p) h <==> unused_in p h))) + [SMTPatOr [ + [SMTPat (HS.unused_in (greference_of p) h)]; + [SMTPat (unused_in p h)]; + ]] += () + +let live_not_unused_in + (#value: typ) + (h: HS.mem) + (p: pointer value) += let f () : Lemma + (requires (live h p /\ p `unused_in` h)) + (ensures False) + = let r = greference_of p in + HS.contains_aref_unused_in h r (Pointer?.contents p) + in + Classical.move_requires f () + +let gread + (#value: typ) + (h: HS.mem) + (p: pointer value) +: GTot (type_of_typ value) += if StrongExcludedMiddle.strong_excluded_middle (live h p) + then + let content = greference_of p in + let (| _, c |) = HS.sel h content in + value_of_ovalue value (path_sel c (Pointer?.p p)) + else + dummy_val value + +let frameOf + (#value: typ) + (p: pointer value) +: GTot HS.rid += HS.frameOf_aref (Pointer?.contents p) + +let live_region_frameOf #value h p = + let content = greference_of p in + assert (HS.contains h content) + +let disjoint_roots_intro_pointer_vs_pointer + (#value1 value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (live h p1 /\ unused_in p2 h)) + (ensures (frameOf p1 <> frameOf p2 \/ as_addr p1 =!= as_addr p2)) += () + +let disjoint_roots_intro_pointer_vs_reference + (#value1: typ) + (#value2: Type) + (h: HS.mem) + (p1: pointer value1) + (p2: HS.reference value2) +: Lemma + (requires (live h p1 /\ p2 `HS.unused_in` h)) + (ensures (frameOf p1 <> HS.frameOf p2 \/ as_addr p1 =!= HS.as_addr p2)) += let r = greference_of p1 in + assert (HS.contains h r) + +let disjoint_roots_intro_reference_vs_pointer + (#value1: Type) + (#value2: typ) + (h: HS.mem) + (p1: HS.reference value1) + (p2: pointer value2) +: Lemma + (requires (HS.contains h p1 /\ p2 `unused_in` h)) + (ensures (HS.frameOf p1 <> frameOf p2 \/ HS.as_addr p1 =!= as_addr p2)) += () + +let is_mm + (#value: typ) + (p: pointer value) +: GTot bool += HS.aref_is_mm (Pointer?.contents p) + +(* // TODO: recover with addresses? +let recall + (#value: Type) + (p: pointer value {is_eternal_region (frameOf p) && not (is_mm p)}) +: HST.Stack unit + (requires (fun m -> True)) + (ensures (fun m0 _ m1 -> m0 == m1 /\ live m1 p)) += HST.recall (Pointer?.content p) +*) + +let gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += _field p fd + +let as_addr_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let unused_in_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) + (h: HS.mem) += () + +let live_gfield + (h: HS.mem) + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let gread_gfield + (h: HS.mem) + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let frameOf_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let is_mm_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += _ufield p fd + +let as_addr_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let unused_in_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) + (h: HS.mem) += () + +let live_gufield + (h: HS.mem) + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let gread_gufield + (h: HS.mem) + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let frameOf_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let is_mm_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += _cell p i + +let as_addr_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += () + +let unused_in_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + i += () + +let live_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + i += () + +let gread_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + i += () + +let frameOf_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += () + +let is_mm_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += () + +let includes + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: GTot bool += Pointer?.from p1 = Pointer?.from p2 && + HS.aref_equal (Pointer?.contents p1) (Pointer?.contents p2) && + path_includes (Pointer?.p p1) (Pointer?.p p2) + +let includes_refl + (#value: typ) + (p: pointer value) += () + +let includes_trans + (#value1 #value2 #value3: typ) + (p1: pointer value1) + (p2: pointer value2) + (p3: pointer value3) += path_includes_trans (Pointer?.p p1) (Pointer?.p p2) (Pointer?.p p3) + +let includes_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let includes_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let includes_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += () + +let includes_ind + (x:((#value1: typ) -> + (#value2: typ) -> + (p1: pointer value1) -> + (p2: pointer value2 {includes p1 p2} ) -> + GTot Type0)) + (h_field: + ((l: struct_typ) -> + (p: pointer (TStruct l)) -> + (fd: struct_field l {includes p (gfield p fd)}) -> + Lemma (x p (gfield p fd)))) + (h_ufield: + ((l: union_typ) -> + (p: pointer (TUnion l)) -> + (fd: struct_field l {includes p (gufield p fd)}) -> + Lemma (x p (gufield p fd)))) + (h_cell: + ((#length: array_length_t) -> + (#value: typ) -> + (p: pointer (TArray length value)) -> + (i: UInt32.t {UInt32.v i < UInt32.v length /\ includes p (gcell p i)}) -> + Lemma (x p (gcell p i)))) + (h_refl: + ((#value: typ) -> + (p: pointer value {includes p p}) -> + Lemma (x p p))) + (h_trans: + ((#value1: typ) -> + (#value2: typ) -> + (#value3: typ) -> + (p1: pointer value1) -> + (p2: pointer value2) -> + (p3: pointer value3 {includes p1 p2 /\ includes p2 p3 /\ includes p1 p3 /\ x p1 p2 /\ x p2 p3}) -> + Lemma (x p1 p3))) + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2 {includes p1 p2}) +: Lemma (x p1 p2) += let (Pointer from contents _) = p1 in + path_includes_ind + (fun #to1 #to2 p1_ p2_ -> x (Pointer from contents p1_) (Pointer from contents p2_)) + (fun #through #to p s -> + match s with + | StepField l fd -> let (pt: pointer (TStruct l)) = (Pointer from contents p) in h_field l pt fd + | StepUField l fd -> let (pt: pointer (TUnion l)) = (Pointer from contents p) in h_ufield l pt fd + | StepCell length value i -> let (pt: pointer (TArray length value)) = (Pointer from contents p) in h_cell pt i + ) + (fun #to p -> h_refl (Pointer from contents p)) + (fun #to1 #to2 #to3 p1_ p2_ p3_ -> h_trans (Pointer from contents p1_) (Pointer from contents p2_) (Pointer from contents p3_)) + (Pointer?.p p1) + (Pointer?.p p2) + +(* +let unused_in_includes + (#value1: typ) + (#value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (includes p1 p2)) + (unused_in p1 h <==> unused_in p2 h) + [SMTPat (unused_in p2 h); SMTPat (includes p1 p2)] += includes_ind + (fun #v1 #v2 p1 p2 -> unused_in p1 h <==> unused_in p2 h) + (fun l p fd -> unused_in_gfield p fd h) + (fun l p fd -> unused_in_gufield p fd h) + (fun #length #value p i -> unused_in_gcell h p i) + (fun #v p -> ()) + (fun #v1 #v2 #v3 p1 p2 p3 -> ()) + p1 p2 + +let live_includes + (#value1: typ) + (#value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (includes p1 p2)) + (ensures (live h p1 <==> live h p2)) + [SMTPat (live h p2); SMTPat (includes p1 p2)] += includes_ind + (fun #v1 #v2 p1 p2 -> live h p1 <==> live h p2) + (fun l p fd -> live_gfield h p fd) + (fun l p fd -> live_gufield h p fd) + (fun #length #value p i -> live_gcell h p i) + (fun #v p -> ()) + (fun #v1 #v2 #v3 p1 p2 p3 -> ()) + p1 p2 +*) + +(** The readable permission. + We choose to implement it only abstractly, instead of explicitly + tracking the permission in the heap. +*) + +let readable + (#a: typ) + (h: HS.mem) + (b: pointer a) +: GTot Type0 += let () = () in // necessary to somehow remove the `logic` qualifier + live h b /\ ( + let content = greference_of b in + let (| _, c |) = HS.sel h content in + ovalue_is_readable a (path_sel c (Pointer?.p b)) + ) + +let readable_live + (#a: typ) + (h: HS.mem) + (b: pointer a) += () + +let readable_gfield + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (fd: struct_field l) += () + +let readable_struct + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) +: Lemma + (requires ( + forall (f: struct_field l) . + readable h (gfield p f) + )) + (ensures (readable h p)) +// [SMTPat (readable #(TStruct l) h p)] // TODO: dubious pattern, will probably trigger unreplayable hints += let dummy_field : struct_field l = fst (List.Tot.hd l.fields) in // struct is nonempty + let dummy_field_ptr = gfield p dummy_field in + assert (readable h dummy_field_ptr); + let content = greference_of p in + let (| _, c |) = HS.sel h content in + let (v: otype_of_typ (TStruct l)) = path_sel c (Pointer?.p p) in + let (v: ostruct l {Some? v}) = v in + ovalue_is_readable_struct_intro l v + +let readable_struct_forall_mem + (#l: struct_typ) + (p: pointer (TStruct l)) +: Lemma (forall + (h: HS.mem) + . ( + forall (f: struct_field l) . + readable h (gfield p f) + ) ==> + readable h p + ) += let f + (h: HS.mem) + : Lemma // FIXME: WHY WHY WHY do we need this explicit annotation? + (requires ( + forall (f: struct_field l) . + readable h (gfield p f) + )) + (ensures (readable h p)) + = readable_struct h p + in + Classical.forall_intro (Classical.move_requires f) + +let rec readable_struct_fields' + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (s: list string) +: GTot Type0 + (decreases s) += match s with + | [] -> True + | f :: s' -> + readable_struct_fields' h p s' /\ ( + if List.Tot.mem f (List.Tot.map fst l.fields) + then + let f : struct_field l = f in + readable h (gfield p f) + else + True + ) + +let readable_struct_fields #l h p s = readable_struct_fields' h p s + +let readable_struct_fields_nil #l h p = () + +let readable_struct_fields_cons #l h p f q = () + +let rec readable_struct_fields_elim + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (s: list string) +: Lemma + (requires (readable_struct_fields h p s)) + (ensures (forall f . (List.Tot.mem f s /\ List.Tot.mem f (List.Tot.map fst l.fields)) ==> (let f : struct_field l = f in readable h (gfield p f)))) + (decreases s) += match s with + | [] -> () + | _ :: q -> readable_struct_fields_elim h p q + +let readable_struct_fields_readable_struct #l h p = + readable_struct_fields_elim h p (List.Tot.map fst l.fields); + readable_struct h p + +let readable_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + i += () + +let readable_array + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) += assert (readable h (gcell p 0ul)); // for Some? + let content = greference_of p in + let (| _, c |) = HS.sel h content in + let (v0: otype_of_typ (TArray length value)) = path_sel c (Pointer?.p p) in + ovalue_is_readable_array_intro v0 + +(* TODO: improve on the following interface *) +let readable_gufield + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +(** The active field of a union *) + +let is_active_union_field + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: GTot Type0 += let () = () in // necessary to somehow remove the `logic` qualifier + live h p /\ ( + let content = greference_of p in + let (| _, c |) = HS.sel h content in + let vu : otype_of_typ (TUnion l) = path_sel c (Pointer?.p p) in + let vu : option (gtdata (struct_field l) (type_of_struct_field' l otype_of_typ)) = vu in + Some? vu /\ gtdata_get_key (Some?.v vu) == fd + ) + +let is_active_union_live + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let is_active_union_field_live + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let is_active_union_field_eq + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd1 fd2: struct_field l) += () + +let is_active_union_field_get_key + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let is_active_union_field_readable + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) += () + +let is_active_union_field_includes_readable + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) + (#t': typ) + (p' : pointer t') += let content = greference_of p in + let (| _ , c |) = HS.sel h content in + let t = typ_of_struct_field l fd in + let (Pointer from cts p0) = p in + let pf = PathStep _ _ p0 (StepUField l fd) in + let (v0 : otype_of_typ t) = path_sel c pf in + let phi + (#t': typ) + (pt': path from t') + : Ghost Type0 + (requires (path_includes pf pt')) + (ensures (fun _ -> True)) + = (~ (path_sel c pt' == none_ovalue t')) ==> is_active_union_field h p fd + in + let f + (t' : typ) + (pt' : path t t') + : Lemma + (ensures (phi (path_concat pf pt'))) + = path_sel_concat c pf pt'; + path_sel_none_ovalue pf; + path_sel_none_ovalue pt' + in + path_concat_includes pf phi f (Pointer?.p p') + +(*** Semantics of buffers *) + +(** Operations on buffers *) + +#push-options "--ifuel 2" +let _singleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: Tot (buffer t) += let Pointer from contents pth = p in + match pth with + | PathStep _ _ pth' (StepCell ln ty i) -> + (* reconstruct the buffer to the enclosing array *) + Buffer (BufferRootArray #ty #ln (Pointer from contents pth')) i 1ul + | _ -> + Buffer (BufferRootSingleton p) 0ul 1ul +#pop-options + +let gsingleton_buffer_of_pointer #t p = _singleton_buffer_of_pointer p + +let singleton_buffer_of_pointer #t p = _singleton_buffer_of_pointer p + +let gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: GTot (buffer t) += Buffer (BufferRootArray p) 0ul length + +let buffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: HST.Stack (buffer t) + (requires (fun h -> live h p)) + (ensures (fun h b h' -> h' == h /\ b == gbuffer_of_array_pointer p)) += Buffer (BufferRootArray p) 0ul length + +let buffer_length + (#t: typ) + (b: buffer t) +: GTot UInt32.t += Buffer?.blength b + +let buffer_length_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: Lemma + (requires True) + (ensures (buffer_length (gsingleton_buffer_of_pointer p) == 1ul)) + [SMTPat (buffer_length (gsingleton_buffer_of_pointer p))] += () + +let buffer_length_gbuffer_of_array_pointer + (#t: typ) + (#len: array_length_t) + (p: pointer (TArray len t)) +: Lemma + (requires True) + (ensures (buffer_length (gbuffer_of_array_pointer p) == len)) + [SMTPat (buffer_length (gbuffer_of_array_pointer p))] += () + +let buffer_live + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot Type0 += let () = () in ( // necessary to somehow remove the `logic` qualifier + match b.broot with + | BufferRootSingleton p -> live h p + | BufferRootArray p -> live h p + ) + +let buffer_live_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) + (h: HS.mem) +: Lemma + (ensures (buffer_live h (gsingleton_buffer_of_pointer p) <==> live h p )) + [SMTPat (buffer_live h (gsingleton_buffer_of_pointer p))] += () + +let buffer_live_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) + (h: HS.mem) +: Lemma + (requires True) + (ensures (buffer_live h (gbuffer_of_array_pointer p) <==> live h p)) + [SMTPat (buffer_live h (gbuffer_of_array_pointer p))] += () + +let buffer_unused_in #t b h = + match b.broot with + | BufferRootSingleton p -> unused_in p h + | BufferRootArray p -> unused_in p h + +let buffer_live_not_unused_in #t b h = () + +let buffer_unused_in_gsingleton_buffer_of_pointer #t p h = () + +let buffer_unused_in_gbuffer_of_array_pointer #t #length p h = () + +let frameOf_buffer + (#t: typ) + (b: buffer t) +: GTot HS.rid += match b.broot with + | BufferRootSingleton p -> frameOf p + | BufferRootArray p -> frameOf p + +let frameOf_buffer_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) += () + +let frameOf_buffer_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) += () + +let live_region_frameOf_buffer #value h p = () + +let buffer_as_addr #t b = + match b.broot with + | BufferRootSingleton p -> as_addr p + | BufferRootArray p -> as_addr p + +let buffer_as_addr_gsingleton_buffer_of_pointer #t p = () + +let buffer_as_addr_gbuffer_of_array_pointer #t #length p = () + +let gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + len += Buffer (Buffer?.broot b) FStar.UInt32.(Buffer?.bidx b +^ i) len + +let frameOf_buffer_gsub_buffer #t b i len = () + +let buffer_as_addr_gsub_buffer #t b i len = () + +let sub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + len += Buffer (Buffer?.broot b) FStar.UInt32.(Buffer?.bidx b +^ i) len + +let offset_buffer #t b i = + sub_buffer b i (UInt32.sub (Buffer?.blength b) i) + +let buffer_length_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + len += () + +let buffer_live_gsub_buffer_equiv + (#t: typ) + (b: buffer t) + (i: UInt32.t) + len + h += () + +let buffer_live_gsub_buffer_intro + (#t: typ) + (b: buffer t) + (i: UInt32.t) + len + h += () + +let buffer_unused_in_gsub_buffer #t b i len h = () + +let gsub_buffer_gsub_buffer + (#a: typ) + (b: buffer a) + (i1: UInt32.t) + len1 i2 len2 += () + +let gsub_buffer_zero_buffer_length + (#a: typ) + (b: buffer a) += () + +let buffer_root_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer_root t) +: GTot (Seq.seq (type_of_typ t)) += match b with + | BufferRootSingleton p -> + Seq.create 1 (gread h p) + | BufferRootArray p -> + gread h p + +let length_buffer_root_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer_root t) +: Lemma + (requires True) + (ensures (Seq.length (buffer_root_as_seq h b) == UInt32.v (buffer_root_length b))) + [SMTPat (Seq.length (buffer_root_as_seq h b))] += () + +let buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot (Seq.seq (type_of_typ t)) += let i = UInt32.v (Buffer?.bidx b) in + Seq.slice (buffer_root_as_seq h (Buffer?.broot b)) i (i + UInt32.v (Buffer?.blength b)) + +let buffer_length_buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) += () + +#push-options "--ifuel 2 --z3rlimit_factor 4 --retry 4" +let buffer_as_seq_gsingleton_buffer_of_pointer #t h p = + let Pointer from contents pth = p in + match pth with + | PathStep through to pth' (StepCell ln ty i) -> + assert (through == TArray ln ty); + assert (to == ty); + assert (t == ty); + let p' : pointer (TArray ln ty) = Pointer from contents pth' in + let s : array ln (type_of_typ t) = gread h p' in + let s1 = Seq.slice s (UInt32.v i) (UInt32.v i + 1) in + let v = gread h p in + assert (v == Seq.index s (UInt32.v i)); + let s2 = Seq.create 1 v in + assert (Seq.length s1 == 1); + assert (Seq.length s2 == 1); + assert (Seq.index s1 0 == v); + assert (Seq.index s2 0 == v); + assert (Seq.equal s1 s2) + | _ -> + Seq.slice_length (Seq.create 1 (gread h p)) +#pop-options + +let buffer_as_seq_gbuffer_of_array_pointer + (#length: array_length_t) + (#t: typ) + (h: HS.mem) + (p: pointer (TArray length t)) += let s : array length (type_of_typ t) = gread h p in + Seq.slice_length s + +let buffer_as_seq_gsub_buffer + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + len += Seq.slice_slice (buffer_root_as_seq h (Buffer?.broot b)) (UInt32.v (Buffer?.bidx b)) (UInt32.v (Buffer?.bidx b) + UInt32.v (Buffer?.blength b)) (UInt32.v i) (UInt32.v i + UInt32.v len) + +let gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + i += match Buffer?.broot b with + | BufferRootSingleton p -> p + | BufferRootArray p -> + gcell p FStar.UInt32.(Buffer?.bidx b +^ i) + +let pointer_of_buffer_cell + (#t: typ) + (b: buffer t) + i += match Buffer?.broot b with + | BufferRootSingleton p -> p + | BufferRootArray p -> + _cell p FStar.UInt32.(Buffer?.bidx b +^ i) + +let gpointer_of_buffer_cell_gsub_buffer + (#t: typ) + (b: buffer t) + i1 len i2 += () + +let live_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + i h += () + +#set-options "--initial_ifuel 2 --max_ifuel 2" +let gpointer_of_buffer_cell_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) + i += () + +#set-options "--initial_ifuel 1 --max_ifuel 1" +let gpointer_of_buffer_cell_gbuffer_of_array_pointer + (#length: array_length_t) + (#t: typ) + (p: pointer (TArray length t)) + i += () + +let frameOf_gpointer_of_buffer_cell #t b i = () + +let as_addr_gpointer_of_buffer_cell #t b i = () + +let gread_gpointer_of_buffer_cell + (#t: typ) + (h: HS.mem) + (b: buffer t) + i += () + +let gread_gpointer_of_buffer_cell' + (#t: typ) + (h: HS.mem) + (b: buffer t) + i += () + +let index_buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) + i += () + +let gsingleton_buffer_of_pointer_gcell #t #len p i = () + +let gsingleton_buffer_of_pointer_gpointer_of_buffer_cell #t b i = () + +(* The readable permission lifted to buffers. *) + +let buffer_readable' + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot Type0 += buffer_live h b /\ ( + forall (i: UInt32.t) . + UInt32.v i < UInt32.v (buffer_length b) ==> + readable h (gpointer_of_buffer_cell b i) + ) + +let buffer_readable + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot Type0 += buffer_readable' h b + +let buffer_readable_buffer_live + (#t: typ) + (h: HS.mem) + (b: buffer t) += () + +let buffer_readable_gsingleton_buffer_of_pointer + (#t: typ) + (h: HS.mem) + (p: pointer t) += let phi () : Lemma + (requires (buffer_readable h (gsingleton_buffer_of_pointer p))) + (ensures (readable h p)) + = assert (readable h (gpointer_of_buffer_cell (gsingleton_buffer_of_pointer p) 0ul)) + in + Classical.move_requires phi () + +let buffer_readable_gbuffer_of_array_pointer + (#len: array_length_t) + (#t: typ) + (h: HS.mem) + (p: pointer (TArray len t)) += let phi () + : Lemma + (requires (buffer_readable h (gbuffer_of_array_pointer p))) + (ensures (readable h p)) + = let psi + (i: UInt32.t { UInt32.v i < UInt32.v len } ) + : Lemma + (readable h (gcell p i)) + = assert (readable h (gpointer_of_buffer_cell (gbuffer_of_array_pointer p) i)) + in + Classical.forall_intro psi; + readable_array h p + in + Classical.move_requires phi () + +let buffer_readable_gsub_buffer + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + len += Classical.forall_intro (Classical.move_requires (gpointer_of_buffer_cell_gsub_buffer b i len)) + +let readable_gpointer_of_buffer_cell + (#t: typ) + (h: HS.mem) + (b: buffer t) + i += () + +let buffer_readable_intro + (#t: typ) + (h: HS.mem) + (b: buffer t) += () + +let buffer_readable_elim #t h b = () + +(*** Disjointness of pointers *) + +let disjoint + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: GTot Type0 += if + frameOf p1 = frameOf p2 && + as_addr p1 = as_addr p2 + then + Pointer?.from p1 == Pointer?.from p2 /\ + Pointer?.contents p1 == Pointer?.contents p2 /\ + path_disjoint (Pointer?.p p1) (Pointer?.p p2) + else + True + +let disjoint_root + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (frameOf p1 <> frameOf p2 \/ as_addr p1 <> as_addr p2)) + (ensures (disjoint p1 p2)) += () + +let disjoint_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd1 fd2: struct_field l) +: Lemma + (requires (fd1 <> fd2)) + (ensures (disjoint (gfield p fd1) (gfield p fd2))) + [SMTPat (disjoint (gfield p fd1) (gfield p fd2))] += () + +let disjoint_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i1: UInt32.t) + (i2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 < UInt32.v length /\ + UInt32.v i2 < UInt32.v length /\ + UInt32.v i1 <> UInt32.v i2 + )) + (ensures ( + UInt32.v i1 < UInt32.v length /\ + UInt32.v i2 < UInt32.v length /\ + disjoint (gcell p i1) (gcell p i2) + )) + [SMTPat (disjoint (gcell p i1) (gcell p i2))] += () + +let disjoint_includes + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) + (#value1': typ) + (#value2': typ) + (p1': pointer value1') + (p2': pointer value2') +: Lemma + (requires (includes p1 p1' /\ includes p2 p2' /\ disjoint p1 p2)) + (ensures (disjoint p1' p2')) += if + frameOf p1 = frameOf p2 && + as_addr p1 = as_addr p2 + then + path_disjoint_includes (Pointer?.p p1) (Pointer?.p p2) (Pointer?.p p1') (Pointer?.p p2') + else + () + +let disjoint_ind + (x: + ((#value1: typ) -> + (#value2: typ) -> + (p1: pointer value1) -> + (p2: pointer value2 {disjoint p1 p2} ) -> + GTot Type0)) + (h_root: + ((#value1: typ) -> + (#value2: typ) -> + (p1: pointer value1) -> + (p2: pointer value2 { frameOf p1 <> frameOf p2 \/ as_addr p1 <> as_addr p2 } ) -> + Lemma (x p1 p2))) + (h_field: + ((#l: struct_typ) -> + (p: pointer (TStruct l)) -> + (fd1: struct_field l) -> + (fd2: struct_field l { fd1 <> fd2 /\ disjoint (gfield p fd1) (gfield p fd2) } ) -> + Lemma (x (gfield p fd1) (gfield p fd2)))) + (h_cell: + ((#length: array_length_t) -> + (#value: typ) -> + (p: pointer (TArray length value)) -> + (i1: UInt32.t {UInt32.v i1 < UInt32.v length}) -> + (i2: UInt32.t {UInt32.v i2 < UInt32.v length /\ UInt32.v i1 <> UInt32.v i2 /\ disjoint (gcell p i1) (gcell p i2) }) -> + Lemma (x (gcell p i1) (gcell p i2)) + )) + (h_includes: + ((#value1: typ) -> + (#value2: typ) -> + (p1: pointer value1) -> + (p2: pointer value2) -> + (#value1': typ) -> + (#value2': typ) -> + (p1': pointer value1' {includes p1 p1'}) -> + (p2': pointer value2' {includes p2 p2' /\ disjoint p1 p2 /\ disjoint p1' p2' /\ x p1 p2}) -> + Lemma (x p1' p2'))) + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2 { disjoint p1 p2 } ) +: Lemma (x p1 p2) += if + frameOf p1 = frameOf p2 && + as_addr p1 = as_addr p2 + then + let (Pointer from contents _) = p1 in + path_disjoint_ind + (fun #v1 #v2 p1_ p2_ -> x (Pointer from contents p1_) (Pointer from contents p2_)) + (fun #through #to1 #to2 p s1 s2 -> + match s1 with + | StepField l fd1 -> + let (StepField _ fd2) = s2 in + h_field #l (Pointer from contents p) fd1 fd2 + | StepCell le va i1 -> + let (StepCell _ _ i2) = s2 in + h_cell #le #va (Pointer from contents p) i1 i2 + ) + (fun #v1 #v2 p1_ p2_ #v1' #v2' p1' p2' -> h_includes (Pointer from contents p1_) (Pointer from contents p2_) (Pointer from contents p1') (Pointer from contents p2')) + (Pointer?.p p1) + (Pointer?.p p2); + assert (x p1 p2) + else + h_root p1 p2 + +let disjoint_sym + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (disjoint p1 p2)) + (ensures (disjoint p2 p1)) += disjoint_ind + (fun #v1 #v2 p1 p2 -> disjoint p2 p1) + (fun #v1 #v2 p1 p2 -> disjoint_root p2 p1) + (fun #l p fd1 fd2 -> disjoint_gfield p fd2 fd1) + (fun #le #va p i1 i2 -> disjoint_gcell p i2 i1) + (fun #v1 #v2 p1 p2 #v1' #v2' p1' p2' -> disjoint_includes p2 p1 p2' p1') + p1 p2 + +let disjoint_sym' + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires True) + (ensures (disjoint p1 p2 <==> disjoint p2 p1)) + [SMTPat (disjoint p1 p2)] += FStar.Classical.move_requires (disjoint_sym #value1 #value2 p1) p2; + FStar.Classical.move_requires (disjoint_sym #value2 #value1 p2) p1 + +let disjoint_sym'' + (value1: typ) + (value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (ensures (disjoint p1 p2 <==> disjoint p2 p1)) += disjoint_sym' p1 p2 + +let disjoint_includes_l #a #es #a' (x: pointer a) (subx:pointer es) (y:pointer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint subx y)) + [SMTPat (disjoint subx y); SMTPat (includes x subx)] + = disjoint_includes x y subx y + +let disjoint_includes_l_swap #a #es #a' (x:pointer a) (subx:pointer es) (y:pointer a') : Lemma + (requires (includes x subx /\ disjoint x y)) + (ensures (disjoint y subx)) + [SMTPat (disjoint y subx); SMTPat (includes x subx)] + = disjoint_includes_l x subx y; + disjoint_sym subx y + +let disjoint_includes_r + #t1 #t2 #t3 + (p1: pointer t1) + (p2: pointer t2) + (p3: pointer t3) +: Lemma + (requires (disjoint p1 p2 /\ includes p2 p3)) + (ensures (disjoint p1 p3)) + [SMTPat (disjoint p1 p2); SMTPat (includes p2 p3)] += disjoint_sym p1 p2; + disjoint_includes_l_swap p2 p3 p1 + +(* TODO: The following is now wrong, should be replaced with readable + +let live_not_equal_disjoint + (#t: typ) + (h: HS.mem) + (p1 p2: pointer t) +: Lemma + (requires (live h p1 /\ live h p2 /\ equal p1 p2 == false)) + (ensures (disjoint p1 p2)) += if + frameOf p1 = frameOf p2 && + as_addr p1 = as_addr p2 + then begin + let c1 = greference_of p1 in + let c2 = greference_of p2 in + HS.lemma_same_addrs_same_types_same_refs h c1 c2; + not_path_equal_path_disjoint_same_type p1.p p2.p + end else + disjoint_root p1 p2 +*) + + +(*** The modifies clause *) + +noeq +type loc_aux = + | LocBuffer: + (#t: typ) -> + (b: buffer t) -> + loc_aux + | LocPointer: + (#t: typ) -> + (p: pointer t) -> + loc_aux + +(* Necessary to handle `exists` *) + +let buffer_includes_pointer + (#t1 #t2: typ) + (b: buffer t1) + (p: pointer t2) +: GTot Type0 += exists (i: UInt32.t) . UInt32.v i < UInt32.v (buffer_length b) /\ gpointer_of_buffer_cell b i `includes` p + +let loc_aux_includes_pointer + (s: loc_aux) + (#t: typ) + (p: pointer t) +: GTot Type0 += match s with + | LocPointer p' -> + p' `includes` p + | LocBuffer b -> + buffer_includes_pointer b p + +let loc_aux_includes_pointer_trans + (s: loc_aux) + (#t1 #t2: typ) + (p1: pointer t1) + (p2: pointer t2) +: Lemma + (requires (loc_aux_includes_pointer s p1 /\ p1 `includes` p2)) + (ensures (loc_aux_includes_pointer s p2)) += match s with + | LocPointer p -> includes_trans p p1 p2 + | LocBuffer b -> + let f + (i: UInt32.t) + : Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ gpointer_of_buffer_cell b i `includes` p1)) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ gpointer_of_buffer_cell b i `includes` p2)) + = includes_trans (gpointer_of_buffer_cell b i) p1 p2 + in + Classical.forall_intro (Classical.move_requires f) + +(* Same problem *) + +let loc_aux_includes_buffer + (s: loc_aux) + (#t: typ) + (b: buffer t) +: GTot Type0 += forall (i: UInt32.t) . UInt32.v i < UInt32.v (buffer_length b) ==> loc_aux_includes_pointer s (gpointer_of_buffer_cell b i) + +let loc_aux_includes + (s: loc_aux) + (s2: loc_aux) +: GTot Type0 + (decreases s2) += match s2 with + | LocPointer p -> + loc_aux_includes_pointer s p + | LocBuffer b -> + loc_aux_includes_buffer s b + +let loc_aux_includes_refl' + (s: loc_aux) +: Lemma + (ensures (loc_aux_includes s s)) += () + +(* FIXME: WHY WHY WHY do I need to duplicate the lemma? Because Classical.forall_intro DOES NOT UNIFY/typecheck if there is a pattern *) +let loc_aux_includes_refl'' + (s: loc_aux) +: Lemma + (loc_aux_includes s s) + [SMTPat (loc_aux_includes s s)] += loc_aux_includes_refl' s + +let loc_aux_includes_loc_aux_includes_pointer + (s1: loc_aux) + (s2: loc_aux) + (#t: typ) + (p: pointer t) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes_pointer s2 p)) + (ensures (loc_aux_includes_pointer s1 p)) += match s2 with + | LocPointer p' -> + loc_aux_includes_pointer_trans s1 p' p + | LocBuffer b -> + let f + (i: UInt32.t) + : Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ gpointer_of_buffer_cell b i `includes` p)) + (ensures (loc_aux_includes_pointer s1 p)) + = loc_aux_includes_pointer_trans s1 (gpointer_of_buffer_cell b i) p + in + Classical.forall_intro (Classical.move_requires f) + +let loc_aux_includes_trans + (s1 s2: loc_aux) + (s3: loc_aux) +: Lemma + (requires (loc_aux_includes s1 s2 /\ loc_aux_includes s2 s3)) + (ensures (loc_aux_includes s1 s3)) += match s3 with + | LocPointer p -> + loc_aux_includes_loc_aux_includes_pointer s1 s2 p + | LocBuffer b -> + let f + (i: UInt32.t) + : Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_aux_includes_pointer s1 (gpointer_of_buffer_cell b i))) + = loc_aux_includes_loc_aux_includes_pointer s1 s2 (gpointer_of_buffer_cell b i) + in + Classical.forall_intro (Classical.move_requires f) + +(* the following is necessary because `decreases` messes up 2nd-order unification with `Classical.forall_intro_3` *) + +let loc_aux_includes_trans' + (s1 s2: loc_aux) + (s3: loc_aux) +: Lemma + ((loc_aux_includes s1 s2 /\ loc_aux_includes s2 s3) ==> loc_aux_includes s1 s3) += Classical.move_requires (loc_aux_includes_trans s1 s2) s3 + + +(* Disjointness of two memory locations *) + +let disjoint_buffer_vs_pointer + (#t1 #t2: typ) + (b: buffer t1) + (p: pointer t2) +: GTot Type0 += forall (i: UInt32.t) . UInt32.v i < UInt32.v (buffer_length b) ==> disjoint (gpointer_of_buffer_cell b i) p + +let loc_aux_disjoint_pointer + (l: loc_aux) + (#t: typ) + (p: pointer t) +: GTot Type0 += match l with + | LocPointer p' -> disjoint p' p + | LocBuffer b -> disjoint_buffer_vs_pointer b p + +let loc_aux_disjoint_buffer + (l: loc_aux) + (#t: typ) + (b: buffer t) +: GTot Type0 += forall (i: UInt32.t) . UInt32.v i < UInt32.v (buffer_length b) ==> loc_aux_disjoint_pointer l (gpointer_of_buffer_cell b i) + +let loc_aux_disjoint_buffer_sym + (#t1 #t2: typ) + (b1: buffer t1) + (b2: buffer t2) +: Lemma + (loc_aux_disjoint_buffer (LocBuffer b1) b2 <==> loc_aux_disjoint_buffer (LocBuffer b2) b1) += Classical.forall_intro_2 (disjoint_sym'' t1 t2) + +let loc_aux_disjoint_pointer_buffer_sym + (#t1 #t2: typ) + (b1: buffer t1) + (p2: pointer t2) +: Lemma + (loc_aux_disjoint_pointer (LocBuffer b1) p2 <==> loc_aux_disjoint_buffer (LocPointer p2) b1) += Classical.forall_intro_2 (disjoint_sym'' t1 t2) + +let loc_aux_disjoint + (l1 l2: loc_aux) +: GTot Type0 + (decreases l2) += match l2 with + | LocPointer p -> + loc_aux_disjoint_pointer l1 p + | LocBuffer b -> + loc_aux_disjoint_buffer l1 b + +let loc_aux_disjoint_sym + (l1 l2: loc_aux) +: Lemma + (ensures (loc_aux_disjoint l1 l2 <==> loc_aux_disjoint l2 l1)) += + begin match (l1, l2) with + | (LocPointer p1, LocPointer p2) -> disjoint_sym' p1 p2 + | (LocPointer p1, LocBuffer b2) -> loc_aux_disjoint_pointer_buffer_sym b2 p1 + | (LocBuffer b1, LocPointer p2) -> loc_aux_disjoint_pointer_buffer_sym b1 p2 + | (LocBuffer b1, LocBuffer b2) -> loc_aux_disjoint_buffer_sym b1 b2 + end + +(* Same problem with decreases here *) + +let loc_aux_disjoint_sym' + (l1 l2: loc_aux) +: Lemma + (loc_aux_disjoint l1 l2 <==> loc_aux_disjoint l2 l1) += loc_aux_disjoint_sym l1 l2 + +let loc_aux_disjoint_pointer_includes + (l: loc_aux) + (#t1: typ) + (p1: pointer t1) + (#t2: typ) + (p2: pointer t2) +: Lemma + (requires (loc_aux_disjoint_pointer l p1 /\ p1 `includes` p2)) + (ensures (loc_aux_disjoint_pointer l p2)) += () + +let loc_aux_disjoint_loc_aux_includes_pointer + (l1 l2: loc_aux) + (#t3: typ) + (p3: pointer t3) +: Lemma + (requires (loc_aux_disjoint l1 l2 /\ loc_aux_includes_pointer l2 p3)) + (ensures (loc_aux_disjoint_pointer l1 p3)) += match l2 with + | LocPointer p2 -> + loc_aux_disjoint_pointer_includes l1 p2 p3 + | LocBuffer b2 -> + let f + (i: UInt32.t) + : Lemma + (requires ( + UInt32.v i < UInt32.v (buffer_length b2) /\ + gpointer_of_buffer_cell b2 i `includes` p3 + )) + (ensures (loc_aux_disjoint_pointer l1 p3)) + = loc_aux_disjoint_pointer_includes l1 (gpointer_of_buffer_cell b2 i) p3 + in + Classical.forall_intro (Classical.move_requires f) + +let loc_aux_disjoint_loc_aux_includes + (l1 l2 l3: loc_aux) +: Lemma + (requires (loc_aux_disjoint l1 l2 /\ loc_aux_includes l2 l3)) + (ensures (loc_aux_disjoint l1 l3)) += match l3 with + | LocPointer p3 -> + loc_aux_disjoint_loc_aux_includes_pointer l1 l2 p3 + | LocBuffer b3 -> + let f + (i: UInt32.t) + : Lemma + (requires ( + UInt32.v i < UInt32.v (buffer_length b3) + )) + (ensures ( + UInt32.v i < UInt32.v (buffer_length b3) /\ + loc_aux_disjoint_pointer l1 (gpointer_of_buffer_cell b3 i) + )) + = loc_aux_disjoint_loc_aux_includes_pointer l1 l2 (gpointer_of_buffer_cell b3 i) + in + Classical.forall_intro (Classical.move_requires f) + +let pointer_preserved + (#t: typ) + (p: pointer t) + (h h' : HS.mem) +: GTot Type0 += equal_values h p h' p + +let buffer_preserved + (#t: typ) + (b: buffer t) + (h h' : HS.mem) +: GTot Type0 += forall (i: FStar.UInt32.t) . FStar.UInt32.v i < FStar.UInt32.v (buffer_length b) ==> pointer_preserved (gpointer_of_buffer_cell b i) h h' + +let loc_aux_preserved (l: loc_aux) (h h' : HS.mem) : GTot Type0 = + match l with + | LocBuffer b -> buffer_preserved b h h' + | LocPointer p -> pointer_preserved p h h' + +let pointer_preserved_intro + (#t: typ) + (p: pointer t) + (h1 h2 : HS.mem) + (f: ( + (a' : Type0) -> + (pre: Preorder.preorder a') -> + (r': HS.mreference a' pre) -> + Lemma + (requires (h1 `HS.contains` r' /\ frameOf p == HS.frameOf r' /\ as_addr p == HS.as_addr r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) + )) +: Lemma + (pointer_preserved p h1 h2) += let g () : Lemma + (requires (live h1 p)) + (ensures (pointer_preserved p h1 h2)) + = f _ _ (greference_of p) + in + Classical.move_requires g () + +let buffer_preserved_intro + (#t: typ) + (p: buffer t) + (h1 h2 : HS.mem) + (f: ( + (a' : Type0) -> + (pre: Preorder.preorder a') -> + (r': HS.mreference a' pre) -> + Lemma + (requires (h1 `HS.contains` r' /\ frameOf_buffer p == HS.frameOf r' /\ buffer_as_addr p == HS.as_addr r')) + (ensures (h2 `HS.contains` r' /\ h1 `HS.sel` r' == h2 `HS.sel` r')) + )) +: Lemma + (buffer_preserved p h1 h2) += let g + (i: FStar.UInt32.t { FStar.UInt32.v i < FStar.UInt32.v (buffer_length p) } ) + : Lemma + (ensures (pointer_preserved (gpointer_of_buffer_cell p i) h1 h2)) + = pointer_preserved_intro (gpointer_of_buffer_cell p i) h1 h2 f + in + Classical.forall_intro g + +let disjoint_not_self + (#t: typ) + (p: pointer t) +: Lemma + (disjoint p p ==> False) += Classical.move_requires (path_disjoint_not_path_equal (Pointer?.p p)) (Pointer?.p p) + +let loc_aux_in_addr + (l: loc_aux) + (r: HS.rid) + (n: nat) +: GTot Type0 += match l with + | LocBuffer b -> + frameOf_buffer b == r /\ + buffer_as_addr b == n + | LocPointer p -> + frameOf p == r /\ + as_addr p == n + +let aloc (r: HS.rid) (n: nat) : Tot Type0 = + (l: loc_aux { loc_aux_in_addr l r n } ) + +module MG = FStar.ModifiesGen + +let cls : MG.cls aloc = MG.Cls #aloc + (fun #r #a -> loc_aux_includes) + (fun #r #a x -> ()) + (fun #r #a -> loc_aux_includes_trans) + (fun #r #a -> loc_aux_disjoint) + (fun #r #a -> loc_aux_disjoint_sym) + (fun #r #a larger1 larger2 smaller1 smaller2 -> + loc_aux_disjoint_loc_aux_includes larger1 larger2 smaller2; + loc_aux_disjoint_sym larger1 smaller2; + loc_aux_disjoint_loc_aux_includes smaller2 larger1 smaller1; + loc_aux_disjoint_sym smaller2 smaller1 + ) + (fun #r #a -> loc_aux_preserved) + (fun #r #a x h -> ()) + (fun #r #a x h1 h2 h3 -> ()) + (fun #r #a b h1 h2 f -> + match b with + | LocPointer p -> pointer_preserved_intro p h1 h2 f + | LocBuffer p -> buffer_preserved_intro p h1 h2 f + ) + +let loc = MG.loc cls + +let loc_none = MG.loc_none + +let loc_union = MG.loc_union + +let loc_union_idem = MG.loc_union_idem + +let loc_pointer #t p = + MG.loc_of_aloc #_ #cls #(frameOf p) #(as_addr p) (LocPointer p) + +let loc_buffer #t p = + MG.loc_of_aloc #_ #cls #(frameOf_buffer p) #(buffer_as_addr p) (LocBuffer p) + +let loc_addresses = MG.loc_addresses #_ #cls false + +let loc_regions = MG.loc_regions false + +let loc_includes = MG.loc_includes + +let loc_includes_refl = MG.loc_includes_refl + +let loc_includes_trans = MG.loc_includes_trans + +let loc_includes_union_r = MG.loc_includes_union_r + +let loc_includes_union_l = MG.loc_includes_union_l + +let loc_includes_none = MG.loc_includes_none + +let loc_includes_pointer_pointer #t1 #t2 p1 p2 = + MG.loc_includes_aloc #_ #cls #(frameOf p1) #(as_addr p1) (LocPointer p1) (LocPointer p2) + +let loc_includes_gsingleton_buffer_of_pointer l #t p = + MG.loc_includes_aloc #_ #cls #(frameOf p) #(as_addr p) (LocPointer p) (LocBuffer (gsingleton_buffer_of_pointer p)); + MG.loc_includes_trans l (loc_pointer p) (loc_buffer (gsingleton_buffer_of_pointer p)) + +let loc_includes_gbuffer_of_array_pointer l #len #t p = + MG.loc_includes_aloc #_ #cls #(frameOf p) #(as_addr p) (LocPointer p) (LocBuffer (gbuffer_of_array_pointer p)); + MG.loc_includes_trans l (loc_pointer p) (loc_buffer (gbuffer_of_array_pointer p)) + +let loc_includes_gpointer_of_array_cell l #t b i = + MG.loc_includes_aloc #_ #cls #(frameOf_buffer b) #(buffer_as_addr b) (LocBuffer b) (LocPointer (gpointer_of_buffer_cell b i)); + MG.loc_includes_trans l (loc_buffer b) (loc_pointer (gpointer_of_buffer_cell b i)) + +let loc_includes_gsub_buffer_r l #t b i len = + MG.loc_includes_aloc #_ #cls #(frameOf_buffer b) #(buffer_as_addr b) (LocBuffer b) (LocBuffer (gsub_buffer b i len)); + MG.loc_includes_trans l (loc_buffer b) (loc_buffer (gsub_buffer b i len)) + +let loc_includes_gsub_buffer_l #t b i1 len1 i2 len2 = + let b1 = gsub_buffer b i1 len1 in + let b2 = gsub_buffer b1 (FStar.UInt32.sub i2 i1) len2 in + MG.loc_includes_aloc #_ #cls #(frameOf_buffer b) #(buffer_as_addr b) (LocBuffer b1) (LocBuffer b2) + +let loc_includes_addresses_pointer #t r s p = + MG.loc_includes_addresses_aloc #_ #cls false r s #(as_addr p) (LocPointer p) + +let loc_includes_addresses_buffer #t r s p = + MG.loc_includes_addresses_aloc #_ #cls false r s #(buffer_as_addr p) (LocBuffer p) + +let loc_includes_region_pointer #t s p = + MG.loc_includes_region_aloc #_ #cls false s #(frameOf p) #(as_addr p) (LocPointer p) + +let loc_includes_region_buffer #t s b = + MG.loc_includes_region_aloc #_ #cls false s #(frameOf_buffer b) #(buffer_as_addr b) (LocBuffer b) + +let loc_includes_region_addresses = MG.loc_includes_region_addresses #_ #cls false false + +let loc_includes_region_region = MG.loc_includes_region_region #_ #cls false false + +let loc_includes_region_union_l = MG.loc_includes_region_union_l false + +let loc_disjoint = MG.loc_disjoint + +let loc_disjoint_sym = MG.loc_disjoint_sym + +let loc_disjoint_none_r = MG.loc_disjoint_none_r + +let loc_disjoint_union_r = MG.loc_disjoint_union_r + +let loc_disjoint_root #value1 #value2 p1 p2 = + MG.loc_disjoint_addresses #_ #cls false false (frameOf p1) (frameOf p2) (Set.singleton (as_addr p1)) (Set.singleton (as_addr p2)); + loc_includes_addresses_pointer (frameOf p1) (Set.singleton (as_addr p1)) p1; + loc_includes_addresses_pointer (frameOf p2) (Set.singleton (as_addr p2)) p2; + MG.loc_disjoint_includes #_ #cls (loc_addresses (frameOf p1) (Set.singleton (as_addr p1))) (loc_addresses (frameOf p2) (Set.singleton (as_addr p2))) (loc_pointer p1) (loc_pointer p2) + +let loc_disjoint_gfield #l p fd1 fd2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf p) #(as_addr p) #(frameOf p) #(as_addr p) (LocPointer (gfield p fd1)) (LocPointer (gfield p fd2)) + +let loc_disjoint_gcell #length #value p i1 i2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf p) #(as_addr p) #(frameOf p) #(as_addr p) (LocPointer (gcell p i1)) (LocPointer (gcell p i2)) + +let loc_disjoint_includes = MG.loc_disjoint_includes + +let live_unused_in_disjoint_strong #value1 #value2 h p1 p2 = () + +let live_unused_in_disjoint #value1 #value2 h p1 p2 = + loc_disjoint_root p1 p2 + +let pointer_live_reference_unused_in_disjoint #value1 #value2 h p1 p2 = + loc_includes_addresses_pointer (frameOf p1) (Set.singleton (as_addr p1)) p1; + loc_includes_refl (MG.loc_freed_mreference p2); + disjoint_roots_intro_pointer_vs_reference h p1 p2; + MG.loc_disjoint_addresses #_ #cls false false (frameOf p1) (HS.frameOf p2) (Set.singleton (as_addr p1)) (Set.singleton (HS.as_addr p2)); + MG.loc_disjoint_includes #_ #cls (loc_addresses (frameOf p1) (Set.singleton (as_addr p1))) (MG.loc_freed_mreference p2) (loc_pointer p1) (MG.loc_freed_mreference p2) + +let reference_live_pointer_unused_in_disjoint #value1 #value2 h p1 p2 = + loc_includes_addresses_pointer (frameOf p2) (Set.singleton (as_addr p2)) p2; + loc_includes_refl (MG.loc_freed_mreference p1); + disjoint_roots_intro_reference_vs_pointer h p1 p2; + MG.loc_disjoint_addresses #_ #cls false false (HS.frameOf p1) (frameOf p2) (Set.singleton (HS.as_addr p1)) (Set.singleton (as_addr p2)); + MG.loc_disjoint_includes #_ #cls (MG.loc_freed_mreference p1) (loc_addresses (frameOf p2) (Set.singleton (as_addr p2))) (MG.loc_freed_mreference p1) (loc_pointer p2) + +let loc_disjoint_gsub_buffer #t b i1 len1 i2 len2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf_buffer b) #(buffer_as_addr b) #(frameOf_buffer b) #(buffer_as_addr b) (LocBuffer (gsub_buffer b i1 len1)) (LocBuffer (gsub_buffer b i2 len2)) + +let loc_disjoint_gpointer_of_buffer_cell #t b i1 i2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf_buffer b) #(buffer_as_addr b) #(frameOf_buffer b) #(buffer_as_addr b) (LocPointer (gpointer_of_buffer_cell b i1)) (LocPointer (gpointer_of_buffer_cell b i2)) + +let loc_disjoint_addresses = MG.loc_disjoint_addresses #_ #cls false false + +let loc_disjoint_pointer_addresses #t p r n = + loc_disjoint_includes (loc_addresses (frameOf p) (Set.singleton (as_addr p))) (loc_addresses r n) (loc_pointer p) (loc_addresses r n) + +let loc_disjoint_buffer_addresses #t p r n = + loc_disjoint_includes (loc_addresses (frameOf_buffer p) (Set.singleton (buffer_as_addr p))) (loc_addresses r n) (loc_buffer p) (loc_addresses r n) + +let loc_disjoint_regions = MG.loc_disjoint_regions #_ #cls false false + +let modifies = MG.modifies + +let modifies_loc_regions_intro rs h1 h2 = + MG.modifies_loc_regions_intro #_ #cls rs h1 h2; + MG.loc_includes_region_region #_ #cls false true rs rs; + MG.modifies_loc_includes (loc_regions rs) h1 h2 (MG.loc_regions true rs) + +let modifies_pointer_elim s h1 h2 #a' p' = + MG.modifies_aloc_elim #_ #_ #(frameOf p') #(as_addr p') (LocPointer p') s h1 h2 + +val modifies_buffer_elim' + (#t1: typ) + (b: buffer t1) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_buffer b) p /\ + buffer_live h b /\ + UInt32.v (buffer_length b) > 0 /\ + modifies p h h' + )) + (ensures ( + buffer_live h' b /\ ( + buffer_readable h b ==> ( + buffer_readable h' b /\ + buffer_as_seq h b == buffer_as_seq h' b + )))) + +let modifies_buffer_elim' #t1 b p h h' = + Classical.forall_intro_2 HS.lemma_tip_top; + loc_disjoint_sym (loc_buffer b) p; + let n = UInt32.v (buffer_length b) in + begin + assert (n > 0); + let pre + (i: UInt32.t) + : GTot Type0 + = UInt32.v i < n + in + let post + (i: UInt32.t) + : GTot Type0 + = pre i /\ ( + let q = gpointer_of_buffer_cell b i in + equal_values h q h' q + ) + in + let f + (i: UInt32.t) + : Lemma + (requires (pre i)) + (ensures (post i)) + = modifies_pointer_elim p h h' (gpointer_of_buffer_cell b i) + in + f 0ul; // for the liveness of the whole buffer + Classical.forall_intro (Classical.move_requires f); + assert (buffer_readable h b ==> buffer_readable h' b); + let g () : Lemma + (requires (buffer_readable h b)) + (ensures (buffer_as_seq h b == buffer_as_seq h' b)) + = let s = buffer_as_seq h b in + let s' = buffer_as_seq h' b in + Seq.lemma_eq_intro s s'; + Seq.lemma_eq_elim s s' + in + Classical.move_requires g () + end + +let modifies_buffer_elim #t1 b p h h' = + if buffer_length b = 0ul + then () + else modifies_buffer_elim' b p h h' + +let modifies_reference_elim #t b p h h' = + MG.loc_includes_addresses_addresses #_ cls false true (HS.frameOf b) (Set.singleton (HS.as_addr b)) (Set.singleton (HS.as_addr b)); + MG.loc_includes_refl p; + MG.loc_disjoint_includes (MG.loc_freed_mreference b) p (MG.loc_mreference b) p; + MG.modifies_mreference_elim b p h h' + +let modifies_refl = MG.modifies_refl + +let modifies_loc_includes = MG.modifies_loc_includes + +let modifies_trans = MG.modifies_trans + +(** Concrete allocators, getters and setters *) + +let screate + (value:typ) + (s: option (type_of_typ value)) += let h0 = HST.get () in + let s = match s with + | Some s -> ovalue_of_value value s + | _ -> none_ovalue value + in + let content: HS.reference pointer_ref_contents = + HST.salloc (| value, s |) + in + let aref = HS.aref_of content in + let p = Pointer value aref PathBase in + let h1 = HST.get () in + assert (HS.aref_live_at h1 aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents)); + let f () : Lemma ( + let gref = HS.greference_of aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) in + HS.sel h1 gref == HS.sel h1 content + ) + = let gref = HS.greference_of aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) in + assert (HS.frameOf content == HS.frameOf gref); + assert (HS.as_addr content == HS.as_addr gref); + HS.lemma_sel_same_addr h1 content gref + in + f (); + MG.modifies_intro loc_none h0 h1 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r a b -> + cls.MG.same_mreference_aloc_preserved b h0 h1 (fun _ _ _ -> ()) + ) + ; + p + +// TODO: move to HyperStack? +let domain_upd (#a:Type) (h:HS.mem) (x:HS.reference a{HS.live_region h (HS.frameOf x)}) (v:a) : Lemma + (requires True) + (ensures (Map.domain (HS.get_hmap h) == Map.domain (HS.get_hmap (HS.upd h x v)))) + = let m = (HS.get_hmap h) in + let m' = Map.upd m (HS.frameOf x) (Heap.upd (Map.sel m (HS.frameOf x)) (HS.as_ref x) v) in + Set.lemma_equal_intro (Map.domain m) (Map.domain m') + +let ecreate + (t:typ) + (r:HS.rid) + (s: option (type_of_typ t)) += let h0 = HST.get () in + let s0 = s in + let s = match s with + | Some s -> ovalue_of_value t s + | _ -> none_ovalue t + in + let content: HS.ref pointer_ref_contents = + HST.ralloc r (| t, s |) + in + domain_upd h0 content (| t, s |) ; + let aref = HS.aref_of content in + let p = Pointer t aref PathBase in + let h1 = HST.get () in + assert (HS.aref_live_at h1 aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents)); + let f () : Lemma ( + let gref = HS.greference_of aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) in + HS.sel h1 gref == HS.sel h1 content + ) + = let gref = HS.greference_of aref pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) in + assert (HS.frameOf content == HS.frameOf gref); + assert (HS.as_addr content == HS.as_addr gref); + HS.lemma_sel_same_addr h1 content gref + in + f (); + MG.modifies_intro loc_none h0 h1 + (fun _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + (fun r a b -> + cls.MG.same_mreference_aloc_preserved b h0 h1 (fun _ _ _ -> ()) + ) + ; + p + +let field + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) += _field p fd + +let ufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += _ufield p fd + +let cell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + i += _cell p i + +let reference_of + (#value: typ) + (h: HS.mem) + (p: pointer value) +: Pure (HS.reference pointer_ref_contents) + (requires (live h p)) + (ensures (fun x -> + live h p /\ + x == HS.reference_of h (Pointer?.contents p) pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) /\ + HS.frameOf x == HS.frameOf (greference_of p) /\ + HS.as_addr x == HS.as_addr (greference_of p) /\ + (forall h' . h' `HS.contains` x <==> h' `HS.contains` (greference_of p)) /\ + (forall h' . (h' `HS.contains` x \/ h' `HS.contains` (greference_of p)) ==> (h' `HS.contains` x /\ h' `HS.contains` (greference_of p) /\ HS.sel h' x == HS.sel h' (greference_of p))) /\ + (forall h' z . + (h' `HS.contains` x \/ h' `HS.contains` (greference_of p)) ==> + (h' `HS.contains` x /\ h' `HS.contains` (greference_of p) /\ HS.upd h' x z == HS.upd h' (greference_of p) z) + ))) += let x = + HS.reference_of h (Pointer?.contents p) pointer_ref_contents (Heap.trivial_preorder pointer_ref_contents) + in + let f (h' : HS.mem) : Lemma + ( (exists h' . live h' p) /\ // necessary to typecheck Classical.forall_intro + (h' `HS.contains` x <==> h' `HS.contains` (greference_of p)) /\ + ((h' `HS.contains` x \/ h' `HS.contains` (greference_of p)) ==> HS.sel h' x == HS.sel h' (greference_of p))) + = let y = greference_of p in + Classical.move_requires (HS.lemma_sel_same_addr h' y) x; + Classical.move_requires (HS.lemma_sel_same_addr h' x) y + in + let g (z: pointer_ref_contents) (h' : HS.mem) : Lemma ( + (exists h' . live h' p) /\ + ((h' `HS.contains` x \/ h' `HS.contains` (greference_of p)) ==> (h' `HS.contains` x /\ h' `HS.contains` (greference_of p) /\ HS.upd h' x z == HS.upd h' (greference_of p) z)) + ) + = let y = greference_of p in + Classical.move_requires (HS.lemma_upd_same_addr h' y x) z; + Classical.move_requires (HS.lemma_upd_same_addr h' x y) z + in + Classical.forall_intro f ; + Classical.forall_intro_2 g; + x + +let read + (#value: typ) + (p: pointer value) += let h = HST.get () in + let r = reference_of h p in + HST.witness_region (HS.frameOf r); + HST.witness_hsref r; + let (| _ , c |) = !r in + value_of_ovalue value (path_sel c (Pointer?.p p)) + +let is_null + (#t: typ) + (p: npointer t) += match p with + | NullPtr -> true + | _ -> false + +let owrite + (#a: typ) + (b: pointer a) + (z: otype_of_typ a) +: HST.Stack unit + (requires (fun h -> live h b)) + (ensures (fun h0 _ h1 -> + live h0 b /\ + live h1 b /\ + modifies_1 b h0 h1 /\ ( + let g = greference_of b in + let (| _, c1 |) = HS.sel h1 g in + path_sel c1 (Pointer?.p b) == z + ))) += let h0 = HST.get () in + let r = reference_of h0 b in + HST.witness_region (HS.frameOf r); + HST.witness_hsref r; + let v0 = !r in + let (| t , c0 |) = v0 in + let c1 = path_upd c0 (Pointer?.p b) z in + let v1 = (| t, c1 |) in + r := v1; + let h1 = HST.get () in + let e () : Lemma ( + let gref = greference_of b in ( + HS.frameOf r == HS.frameOf gref /\ + HS.as_addr r == HS.as_addr gref /\ + HS.sel h0 gref == v0 /\ + HS.sel h1 gref == v1 + )) + = let gref = greference_of b in + HS.lemma_sel_same_addr h0 r gref; + HS.lemma_sel_same_addr h1 r gref + in + e (); + let prf_alocs + (r': HS.rid) + (a': nat) + (b' : aloc r' a') + : Lemma + (requires (MG.loc_disjoint (MG.loc_of_aloc b') (loc_pointer b))) + (ensures (cls.MG.aloc_preserved b' h0 h1)) + = + let f + (t: typ) + (p: pointer t) + : Lemma + (requires ( + live h0 p /\ + disjoint b p + )) + (ensures ( + equal_values h0 p h1 p + )) + = let grefp = greference_of p in + if frameOf p = frameOf b && as_addr p = as_addr b + then begin + HS.lemma_sel_same_addr h0 r grefp; + HS.lemma_sel_same_addr h1 r grefp; + path_sel_upd_other' (Pointer?.p b) c0 z (Pointer?.p p) + end + else () + in + let f' + (t: typ) + (p: pointer t) + : Lemma + ( ( + live h0 p /\ + disjoint b p + ) ==> ( + equal_values h0 p h1 p + )) + = Classical.move_requires (f t) p + in + MG.loc_disjoint_aloc_elim #_ #cls #r' #a' #(frameOf b) #(as_addr b) b' (LocPointer b); + Classical.forall_intro_2 f' + in + MG.modifies_intro (loc_pointer b) h0 h1 + (fun _ -> ()) + (fun t' pre' p' -> + loc_disjoint_sym (MG.loc_mreference p') (loc_pointer b); + MG.loc_disjoint_aloc_addresses_elim #_ #cls #(frameOf b) #(as_addr b) (LocPointer b) true (HS.frameOf p') (Set.singleton (HS.as_addr p')) + ) + (fun _ _ _ -> ()) + (fun _ _ -> ()) + prf_alocs + +let write #a b z = + owrite b (ovalue_of_value a z) + +let write_union_field + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) += let field_t : typ = typ_of_struct_field l fd in + + // We could avoid removing the data if `fd` is already the current tag. + + // However this seems impossible to specify with the current set of + // user-available predicates and functions (the only thing we have to + // distinguish between actual data and dummy values is `readable`, which is + // too coarse-grained for our needs). + let vu : option (gtdata (struct_field l) (type_of_struct_field' l otype_of_typ)) = + Some (gtdata_create fd (none_ovalue field_t)) in + let vu : otype_of_typ (TUnion l) = vu in + owrite p vu + +(** Lemmas and patterns *) + +let modifies_fresh_frame_popped = MG.modifies_fresh_frame_popped + +let modifies_only_live_regions = MG.modifies_only_live_regions + +let modifies_loc_addresses_intro r a l h1 h2 = + MG.modifies_loc_addresses_intro r a l h1 h2; + MG.loc_includes_addresses_addresses #_ cls false true r a a; + MG.loc_includes_refl l; + MG.loc_includes_union_l (loc_addresses r a) l l; + MG.loc_includes_union_l (loc_addresses r a) l (MG.loc_addresses true r a); + MG.loc_includes_union_r (loc_union (loc_addresses r a) l) (MG.loc_addresses true r a) l; + MG.modifies_loc_includes (loc_union (loc_addresses r a) l) h1 h2 (loc_union (MG.loc_addresses true r a) l) + +(* `modifies` and the readable permission *) + +(** NOTE: we historically used to have this lemma for arbitrary +pointer inclusion, but that became wrong for unions. *) + +let modifies_1_readable_struct #l f p h h' = + readable_struct h' p + +let modifies_1_readable_array #t #len i p h h' = + readable_array h' p + +(* buffer read: can be defined as a derived operation: pointer_of_buffer_cell ; read *) + +let read_buffer + (#t: typ) + (b: buffer t) + i += read (pointer_of_buffer_cell b i) + +let write_buffer + (#t: typ) + (b: buffer t) + i v += write (pointer_of_buffer_cell b i) v + +(* unused_in, cont'd *) + +let buffer_live_unused_in_disjoint #t1 #t2 h b1 b2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf_buffer b1) #(buffer_as_addr b1) #(frameOf_buffer b2) #(buffer_as_addr b2) (LocBuffer b1) (LocBuffer b2) + +let pointer_live_buffer_unused_in_disjoint #t1 #t2 h b1 b2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf b1) #(as_addr b1) #(frameOf_buffer b2) #(buffer_as_addr b2) (LocPointer b1) (LocBuffer b2) + +let buffer_live_pointer_unused_in_disjoint #t1 #t2 h b1 b2 = + MG.loc_disjoint_aloc_intro #_ #cls #(frameOf_buffer b1) #(buffer_as_addr b1) #(frameOf b2) #(as_addr b2) (LocBuffer b1) (LocPointer b2) + +let reference_live_buffer_unused_in_disjoint #t1 #t2 h b1 b2 = + loc_includes_addresses_buffer (frameOf_buffer b2) (Set.singleton (buffer_as_addr b2)) b2; + loc_includes_refl (MG.loc_freed_mreference b1); + MG.loc_disjoint_addresses #_ #cls false false (HS.frameOf b1) (frameOf_buffer b2) (Set.singleton (HS.as_addr b1)) (Set.singleton (buffer_as_addr b2)); + MG.loc_disjoint_includes #_ #cls (MG.loc_freed_mreference b1) (loc_addresses (frameOf_buffer b2) (Set.singleton (buffer_as_addr b2))) (MG.loc_freed_mreference b1) (loc_buffer b2) + +let buffer_live_reference_unused_in_disjoint #t1 #t2 h b1 b2 = + loc_includes_addresses_buffer (frameOf_buffer b1) (Set.singleton (buffer_as_addr b1)) b1; + loc_includes_refl (MG.loc_freed_mreference b2); + (match b1.broot with + | BufferRootSingleton p1 -> disjoint_roots_intro_pointer_vs_reference h p1 b2 + | BufferRootArray p1 -> disjoint_roots_intro_pointer_vs_reference h p1 b2 + ); + MG.loc_disjoint_addresses #_ #cls false false (frameOf_buffer b1) (HS.frameOf b2) (Set.singleton (buffer_as_addr b1)) (Set.singleton (HS.as_addr b2)); + MG.loc_disjoint_includes #_ #cls (loc_addresses (frameOf_buffer b1) (Set.singleton (buffer_as_addr b1))) (MG.loc_freed_mreference b2) (loc_buffer b1) (MG.loc_freed_mreference b2) + +(* Buffer inclusion without existential quantifiers: remnants of the legacy buffer interface *) + +let root_buffer #t b = + let root = Buffer?.broot b in + match root with + | BufferRootSingleton p -> Buffer root 0ul 1ul + | BufferRootArray #_ #len _ -> Buffer root 0ul len + +let buffer_idx #t b = + Buffer?.bidx b + +let buffer_eq_gsub_root #t b = + assert (UInt32.add 0ul (buffer_idx b) == buffer_idx b) + +let root_buffer_gsub_buffer #t b i len = () + +let buffer_idx_gsub_buffer #t b i len = () + +let buffer_includes #t blarge bsmall = + let () = () in ( + root_buffer blarge == root_buffer bsmall /\ + UInt32.v (buffer_idx blarge) <= UInt32.v (buffer_idx bsmall) /\ + UInt32.v (buffer_idx bsmall) + UInt32.v (buffer_length bsmall) <= UInt32.v (buffer_idx blarge) + UInt32.v (buffer_length blarge) + ) + +let buffer_includes_refl #t b = () + +let buffer_includes_trans #t b1 b2 b3 = () + +let buffer_includes_gsub_r #t b i len = () + +let buffer_includes_gsub #t b i1 i2 len1 len2 = () + +let buffer_includes_elim #t b1 b2 = () + +let buffer_includes_loc_includes #t b1 b2 = + buffer_includes_elim b1 b2; + loc_includes_refl (loc_buffer b1); + loc_includes_gsub_buffer_r (loc_buffer b1) b1 (UInt32.sub (buffer_idx b2) (buffer_idx b1)) (buffer_length b2) + + +(* Type class instance *) + +let cloc_aloc = aloc + +let cloc_cls = cls + +let cloc_of_loc l = l + +let loc_of_cloc l = l + +let loc_of_cloc_of_loc l = () + +let cloc_of_loc_of_cloc l = () + +let loc_includes_to_cloc l1 l2 = () + +let loc_disjoint_to_cloc l1 l2 = () + +let modifies_to_cloc l h1 h2 = () diff --git a/stage0/ulib/legacy/FStar.Pointer.Base.fsti b/stage0/ulib/legacy/FStar.Pointer.Base.fsti new file mode 100644 index 00000000000..82e8d8e72be --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Base.fsti @@ -0,0 +1,2492 @@ +(* + 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.Pointer.Base + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +open FStar.HyperStack.ST // for := , ! + +(*** Definitions *) + +(** Type codes *) + +type base_typ = +| TUInt +| TUInt8 +| TUInt16 +| TUInt32 +| TUInt64 +| TInt +| TInt8 +| TInt16 +| TInt32 +| TInt64 +| TChar +| TBool +| TUnit + +// C11, Sect. 6.2.5 al. 20: arrays must be nonempty +type array_length_t = (length: UInt32.t { UInt32.v length > 0 } ) + +type typ = +| TBase: + (b: base_typ) -> + typ +| TStruct: + (l: struct_typ) -> + typ +| TUnion: + (l: union_typ) -> + typ +| TArray: + (length: array_length_t ) -> + (t: typ) -> + typ +| TPointer: + (t: typ) -> + typ +| TNPointer: + (t: typ) -> + typ +| TBuffer: + (t: typ) -> + typ +and struct_typ' = (l: list (string & typ) { + Cons? l /\ // C11, 6.2.5 al. 20: structs and unions must have at least one field + List.Tot.noRepeats (List.Tot.map fst l) +}) +and struct_typ = { + name: string; + fields: struct_typ' ; +} +and union_typ = struct_typ + +(** `struct_field l` is the type of fields of `TStruct l` + (i.e. a refinement of `string`). +*) +let struct_field' + (l: struct_typ') +: Tot eqtype += (s: string { List.Tot.mem s (List.Tot.map fst l) } ) + +let struct_field + (l: struct_typ) +: Tot eqtype += struct_field' l.fields + +(** `union_field l` is the type of fields of `TUnion l` + (i.e. a refinement of `string`). +*) +let union_field = struct_field + +(** `typ_of_struct_field l f` is the type of data associated with field `f` in + `TStruct l` (i.e. a refinement of `typ`). +*) + +let typ_of_struct_field' + (l: struct_typ') + (f: struct_field' l) +: Tot (t: typ {t << l}) += List.Tot.assoc_mem f l; + let y = Some?.v (List.Tot.assoc f l) in + List.Tot.assoc_precedes f l y; + y + +let typ_of_struct_field + (l: struct_typ) + (f: struct_field l) +: Tot (t: typ {t << l}) += typ_of_struct_field' l.fields f + +(** `typ_of_union_field l f` is the type of data associated with field `f` in + `TUnion l` (i.e. a refinement of `typ`). +*) +let typ_of_union_field + (l: union_typ) + (f: union_field l) +: Tot (t: typ {t << l}) += typ_of_struct_field l f + +let rec typ_depth + (t: typ) +: GTot nat += match t with + | TArray _ t -> 1 + typ_depth t + | TUnion l + | TStruct l -> 1 + struct_typ_depth l.fields + | _ -> 0 +and struct_typ_depth + (l: list (string & typ)) +: GTot nat += match l with + | [] -> 0 + | h :: l -> + let (_, t) = h in // matching like this prevents needing two units of ifuel + let n1 = typ_depth t in + let n2 = struct_typ_depth l in + if n1 > n2 then n1 else n2 + +let rec typ_depth_typ_of_struct_field + (l: struct_typ') + (f: struct_field' l) +: Lemma + (ensures (typ_depth (typ_of_struct_field' l f) <= struct_typ_depth l)) + (decreases l) += let ((f', _) :: l') = l in + if f = f' + then () + else begin + let f: string = f in + assert (List.Tot.mem f (List.Tot.map fst l')); + List.Tot.assoc_mem f l'; + typ_depth_typ_of_struct_field l' f + end + +(** Pointers to data of type t. + + This defines two main types: + - `npointer (t: typ)`, a pointer that may be "NULL"; + - `pointer (t: typ)`, a pointer that cannot be "NULL" + (defined as a refinement of `npointer`). + + `nullptr #t` (of type `npointer t`) represents the "NULL" value. +*) + +val npointer (t: typ) : Tot Type0 + +(** The null pointer *) + +val nullptr (#t: typ): Tot (npointer t) + +val g_is_null (#t: typ) (p: npointer t) : GTot bool + +val g_is_null_intro + (t: typ) +: Lemma + (g_is_null (nullptr #t) == true) + [SMTPat (g_is_null (nullptr #t))] + +// concrete, for subtyping +let pointer (t: typ) : Tot Type0 = (p: npointer t { g_is_null p == false } ) + +(** Buffers *) + +val buffer (t: typ): Tot Type0 + +(** Interpretation of type codes. + + Defines functions mapping from type codes (`typ`) to their interpretation as + FStar types. For example, `type_of_typ (TBase TUInt8)` is `FStar.UInt8.t`. +*) + +(** Interpretation of base types. *) +let type_of_base_typ + (t: base_typ) +: Tot Type0 += match t with + | TUInt -> nat + | TUInt8 -> FStar.UInt8.t + | TUInt16 -> FStar.UInt16.t + | TUInt32 -> FStar.UInt32.t + | TUInt64 -> FStar.UInt64.t + | TInt -> int + | TInt8 -> FStar.Int8.t + | TInt16 -> FStar.Int16.t + | TInt32 -> FStar.Int32.t + | TInt64 -> FStar.Int64.t + | TChar -> FStar.Char.char + | TBool -> bool + | TUnit -> unit + +(** Interpretation of arrays of elements of (interpreted) type `t`. *) +type array (length: array_length_t) (t: Type) = (s: Seq.seq t {Seq.length s == UInt32.v length}) + +let type_of_struct_field'' + (l: struct_typ') + (type_of_typ: ( + (t: typ { t << l } ) -> + Tot Type0 + )) + (f: struct_field' l) +: Tot Type0 = + List.Tot.assoc_mem f l; + let y = typ_of_struct_field' l f in + List.Tot.assoc_precedes f l y; + type_of_typ y + +[@@ unifier_hint_injective] +let type_of_struct_field' + (l: struct_typ) + (type_of_typ: ( + (t: typ { t << l } ) -> + Tot Type0 + )) + (f: struct_field l) +: Tot Type0 += type_of_struct_field'' l.fields type_of_typ f + +val struct (l: struct_typ) : Tot Type0 +val union (l: union_typ) : Tot Type0 + +(* Interprets a type code (`typ`) as a FStar type (`Type0`). *) +let rec type_of_typ + (t: typ) +: Tot Type0 += match t with + | TBase b -> type_of_base_typ b + | TStruct l -> + struct l + | TUnion l -> + union l + | TArray length t -> + array length (type_of_typ t) + | TPointer t -> + pointer t + | TNPointer t -> + npointer t + | TBuffer t -> + buffer t + +let type_of_typ_array + (len: array_length_t) + (t: typ) +: Lemma + (type_of_typ (TArray len t) == array len (type_of_typ t)) + [SMTPat (type_of_typ (TArray len t))] += () + +let type_of_struct_field + (l: struct_typ) +: Tot (struct_field l -> Tot Type0) += type_of_struct_field' l (fun (x:typ{x << l}) -> type_of_typ x) + +let type_of_typ_struct + (l: struct_typ) +: Lemma + (type_of_typ (TStruct l) == struct l) + [SMTPat (type_of_typ (TStruct l))] += assert_norm (type_of_typ (TStruct l) == struct l) + +let type_of_typ_type_of_struct_field + (l: struct_typ) + (f: struct_field l) +: Lemma + (type_of_typ (typ_of_struct_field l f) == type_of_struct_field l f) + [SMTPat (type_of_typ (typ_of_struct_field l f))] += () + +val struct_sel (#l: struct_typ) (s: struct l) (f: struct_field l) : Tot (type_of_struct_field l f) + +let dfst_struct_field + (s: struct_typ) + (p: (x: struct_field s & type_of_struct_field s x)) +: Tot string += + let (| f, _ |) = p in + f + +let struct_literal (s: struct_typ) : Tot Type0 = list (x: struct_field s & type_of_struct_field s x) + +let struct_literal_wf (s: struct_typ) (l: struct_literal s) : Tot bool = + List.Tot.sortWith FStar.String.compare (List.Tot.map fst s.fields) = + List.Tot.sortWith FStar.String.compare + (List.Tot.map (dfst_struct_field s) l) + +let fun_of_list + (s: struct_typ) + (l: struct_literal s) + (f: struct_field s) +: Pure (type_of_struct_field s f) + (requires (normalize_term (struct_literal_wf s l) == true)) + (ensures (fun _ -> True)) += + let f' : string = f in + let phi (p: (x: struct_field s & type_of_struct_field s x)) : Tot bool = + dfst_struct_field s p = f' + in + match List.Tot.find phi l with + | Some p -> let (| _, v |) = p in v + | _ -> + List.Tot.sortWith_permutation FStar.String.compare (List.Tot.map fst s.fields); + List.Tot.sortWith_permutation FStar.String.compare (List.Tot.map (dfst_struct_field s) l); + List.Tot.mem_memP f' (List.Tot.map fst s.fields); + List.Tot.mem_count (List.Tot.map fst s.fields) f'; + List.Tot.mem_count (List.Tot.map (dfst_struct_field s) l) f'; + List.Tot.mem_memP f' (List.Tot.map (dfst_struct_field s) l); + List.Tot.memP_map_elim (dfst_struct_field s) f' l; + Classical.forall_intro (Classical.move_requires (List.Tot.find_none phi l)); + false_elim () + +val struct_create_fun (l: struct_typ) (f: ((fd: struct_field l) -> Tot (type_of_struct_field l fd))) : Tot (struct l) + +let struct_create + (s: struct_typ) + (l: struct_literal s) +: Pure (struct s) + (requires (normalize_term (struct_literal_wf s l) == true)) + (ensures (fun _ -> True)) += struct_create_fun s (fun_of_list s l) + +val struct_sel_struct_create_fun + (l: struct_typ) + (f: ((fd: struct_field l) -> Tot (type_of_struct_field l fd))) + (fd: struct_field l) +: Lemma + (struct_sel (struct_create_fun l f) fd == f fd) + [SMTPat (struct_sel (struct_create_fun l f) fd)] + +let type_of_typ_union + (l: union_typ) +: Lemma + (type_of_typ (TUnion l) == union l) + [SMTPat (type_of_typ (TUnion l))] += assert_norm (type_of_typ (TUnion l) == union l) + +val union_get_key (#l: union_typ) (v: union l) : GTot (struct_field l) + +val union_get_value + (#l: union_typ) + (v: union l) + (fd: struct_field l) +: Pure (type_of_struct_field l fd) + (requires (union_get_key v == fd)) + (ensures (fun _ -> True)) + +val union_create + (l: union_typ) + (fd: struct_field l) + (v: type_of_struct_field l fd) +: Tot (union l) + +(*** Semantics of pointers *) + +(** Operations on pointers *) + +val equal + (#t1 #t2: typ) + (p1: pointer t1) + (p2: pointer t2) +: Ghost bool + (requires True) + (ensures (fun b -> b == true <==> t1 == t2 /\ p1 == p2 )) + +val as_addr (#t: typ) (p: pointer t): GTot (x: nat { x > 0 } ) + +val unused_in + (#value: typ) + (p: pointer value) + (h: HS.mem) +: GTot Type0 + +val live + (#value: typ) + (h: HS.mem) + (p: pointer value) +: GTot Type0 + +val nlive + (#value: typ) + (h: HS.mem) + (p: npointer value) +: GTot Type0 + +val live_nlive + (#value: typ) + (h: HS.mem) + (p: pointer value) +: Lemma + (nlive h p <==> live h p) + [SMTPat (nlive h p)] + +val g_is_null_nlive + (#t: typ) + (h: HS.mem) + (p: npointer t) +: Lemma + (requires (g_is_null p)) + (ensures (nlive h p)) + [SMTPat (g_is_null p); SMTPat (nlive h p)] + +val live_not_unused_in + (#value: typ) + (h: HS.mem) + (p: pointer value) +: Lemma + (ensures (live h p /\ p `unused_in` h ==> False)) + [SMTPat (live h p); SMTPat (p `unused_in` h)] + +val gread + (#value: typ) + (h: HS.mem) + (p: pointer value) +: GTot (type_of_typ value) + +val frameOf + (#value: typ) + (p: pointer value) +: GTot HS.rid + +val live_region_frameOf + (#value: typ) + (h: HS.mem) + (p: pointer value) +: Lemma + (requires (live h p)) + (ensures (HS.live_region h (frameOf p))) + [SMTPatOr [ + [SMTPat (HS.live_region h (frameOf p))]; + [SMTPat (live h p)] + ]] + +val disjoint_roots_intro_pointer_vs_pointer + (#value1 value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (live h p1 /\ unused_in p2 h)) + (ensures (frameOf p1 <> frameOf p2 \/ as_addr p1 =!= as_addr p2)) + +val disjoint_roots_intro_pointer_vs_reference + (#value1: typ) + (#value2: Type) + (h: HS.mem) + (p1: pointer value1) + (p2: HS.reference value2) +: Lemma + (requires (live h p1 /\ p2 `HS.unused_in` h)) + (ensures (frameOf p1 <> HS.frameOf p2 \/ as_addr p1 =!= HS.as_addr p2)) + +val disjoint_roots_intro_reference_vs_pointer + (#value1: Type) + (#value2: typ) + (h: HS.mem) + (p1: HS.reference value1) + (p2: pointer value2) +: Lemma + (requires (HS.contains h p1 /\ p2 `unused_in` h)) + (ensures (HS.frameOf p1 <> frameOf p2 \/ HS.as_addr p1 =!= as_addr p2)) + +val is_mm + (#value: typ) + (p: pointer value) +: GTot bool + +(* // TODO: recover with addresses? +val recall + (#value: Type) + (p: pointer value {is_eternal_region (frameOf p) && not (is_mm p)}) +: HST.Stack unit + (requires (fun m -> True)) + (ensures (fun m0 _ m1 -> m0 == m1 /\ live m1 p)) +*) + +val gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: GTot (pointer (typ_of_struct_field l fd)) + +val as_addr_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (as_addr (gfield p fd) == as_addr p)) + [SMTPat (as_addr (gfield p fd))] + +val unused_in_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) + (h: HS.mem) +: Lemma + (requires True) + (ensures (unused_in (gfield p fd) h <==> unused_in p h)) + [SMTPat (unused_in (gfield p fd) h)] + +val live_gfield + (h: HS.mem) + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (live h (gfield p fd) <==> live h p)) + [SMTPat (live h (gfield p fd))] + +val gread_gfield + (h: HS.mem) + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (gread h (gfield p fd) == struct_sel (gread h p) fd)) + [SMTPatOr [[SMTPat (gread h (gfield p fd))]; [SMTPat (struct_sel (gread h p) fd)]]] + +val frameOf_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (frameOf (gfield p fd) == frameOf p)) + [SMTPat (frameOf (gfield p fd))] + +val is_mm_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (is_mm (gfield p fd) <==> is_mm p)) + [SMTPat (is_mm (gfield p fd))] + +val gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: GTot (pointer (typ_of_struct_field l fd)) + +val as_addr_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (as_addr (gufield p fd) == as_addr p)) + [SMTPat (as_addr (gufield p fd))] + +val unused_in_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) + (h: HS.mem) +: Lemma + (requires True) + (ensures (unused_in (gufield p fd) h <==> unused_in p h)) + [SMTPat (unused_in (gufield p fd) h)] + +val live_gufield + (h: HS.mem) + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (live h (gufield p fd) <==> live h p)) + [SMTPat (live h (gufield p fd))] + +val gread_gufield + (h: HS.mem) + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (union_get_key (gread h p) == fd)) + (ensures ( + union_get_key (gread h p) == fd /\ + gread h (gufield p fd) == union_get_value (gread h p) fd + )) + [SMTPatOr [[SMTPat (gread h (gufield p fd))]; [SMTPat (union_get_value (gread h p) fd)]]] + +val frameOf_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (frameOf (gufield p fd) == frameOf p)) + [SMTPat (frameOf (gufield p fd))] + +val is_mm_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (is_mm (gufield p fd) <==> is_mm p)) + [SMTPat (is_mm (gufield p fd))] + +val gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Ghost (pointer value) + (requires (UInt32.v i < UInt32.v length)) + (ensures (fun _ -> True)) + +val as_addr_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ as_addr (gcell p i) == as_addr p)) + [SMTPat (as_addr (gcell p i))] + +val unused_in_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ (unused_in (gcell p i) h <==> unused_in p h))) + [SMTPat (unused_in (gcell p i) h)] + +val live_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ (live h (gcell p i) <==> live h p))) + [SMTPat (live h (gcell p i))] + +val gread_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ gread h (gcell p i) == Seq.index (gread h p) (UInt32.v i))) + [SMTPat (gread h (gcell p i))] + +val frameOf_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ frameOf (gcell p i) == frameOf p)) + [SMTPat (frameOf (gcell p i))] + +val is_mm_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ is_mm (gcell p i) == is_mm p)) + [SMTPat (is_mm (gcell p i))] + +val includes + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: GTot bool + +val includes_refl + (#t: typ) + (p: pointer t) +: Lemma + (ensures (includes p p)) + [SMTPat (includes p p)] + +val includes_trans + (#t1 #t2 #t3: typ) + (p1: pointer t1) + (p2: pointer t2) + (p3: pointer t3) +: Lemma + (requires (includes p1 p2 /\ includes p2 p3)) + (ensures (includes p1 p3)) + +val includes_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (includes p (gfield p fd))) + +val includes_gufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (includes p (gufield p fd))) + +val includes_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ includes p (gcell p i))) + +(** The readable permission. + We choose to implement it only abstractly, instead of explicitly + tracking the permission in the heap. +*) + +val readable + (#a: typ) + (h: HS.mem) + (b: pointer a) +: GTot Type0 + +val readable_live + (#a: typ) + (h: HS.mem) + (b: pointer a) +: Lemma + (requires (readable h b)) + (ensures (live h b)) + [SMTPatOr [ + [SMTPat (readable h b)]; + [SMTPat (live h b)]; + ]] + +val readable_gfield + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires (readable h p)) + (ensures (readable h (gfield p fd))) + [SMTPat (readable h (gfield p fd))] + +val readable_struct + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) +: Lemma + (requires ( + forall (f: struct_field l) . + readable h (gfield p f) + )) + (ensures (readable h p)) +// [SMTPat (readable #(TStruct l) h p)] // TODO: dubious pattern, will probably trigger unreplayable hints + +val readable_struct_forall_mem + (#l: struct_typ) + (p: pointer (TStruct l)) +: Lemma (forall + (h: HS.mem) + . ( + forall (f: struct_field l) . + readable h (gfield p f) + ) ==> + readable h p + ) + +val readable_struct_fields + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (s: list string) +: GTot Type0 + +val readable_struct_fields_nil + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) +: Lemma + (readable_struct_fields h p []) + [SMTPat (readable_struct_fields h p [])] + +val readable_struct_fields_cons + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) + (f: string) + (q: list string) +: Lemma + (requires (readable_struct_fields h p q /\ (List.Tot.mem f (List.Tot.map fst l.fields) ==> (let f : struct_field l = f in readable h (gfield p f))))) + (ensures (readable_struct_fields h p (f::q))) + [SMTPat (readable_struct_fields h p (f::q))] + +val readable_struct_fields_readable_struct + (#l: struct_typ) + (h: HS.mem) + (p: pointer (TStruct l)) +: Lemma + (requires (readable_struct_fields h p (normalize_term (List.Tot.map fst l.fields)))) + (ensures (readable h p)) + +val readable_gcell + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length /\ readable h p)) + (ensures (UInt32.v i < UInt32.v length /\ readable h (gcell p i))) + [SMTPat (readable h (gcell p i))] + +val readable_array + (#length: array_length_t) + (#value: typ) + (h: HS.mem) + (p: pointer (TArray length value)) +: Lemma + (requires ( + forall (i: UInt32.t) . + UInt32.v i < UInt32.v length ==> + readable h (gcell p i) + )) + (ensures (readable h p)) +// [SMTPat (readable #(TArray length value) h p)] // TODO: dubious pattern, will probably trigger unreplayable hints + +(* TODO: improve on the following interface *) +val readable_gufield + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires True) + (ensures (readable h (gufield p fd) <==> (readable h p /\ union_get_key (gread h p) == fd))) + [SMTPat (readable h (gufield p fd))] + +(** The active field of a union *) + +val is_active_union_field + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: GTot Type0 + +val is_active_union_live + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (is_active_union_field h p fd)) + (ensures (live h p)) + [SMTPat (is_active_union_field h p fd)] + +val is_active_union_field_live + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (is_active_union_field h p fd)) + (ensures (live h (gufield p fd))) + [SMTPat (is_active_union_field h p fd)] + +val is_active_union_field_eq + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd1 fd2: struct_field l) +: Lemma + (requires (is_active_union_field h p fd1 /\ is_active_union_field h p fd2)) + (ensures (fd1 == fd2)) + [SMTPat (is_active_union_field h p fd1); SMTPat (is_active_union_field h p fd2)] + +val is_active_union_field_get_key + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (is_active_union_field h p fd)) + (ensures (union_get_key (gread h p) == fd)) + [SMTPat (is_active_union_field h p fd)] + +val is_active_union_field_readable + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (is_active_union_field h p fd /\ readable h (gufield p fd))) + (ensures (readable h p)) + [SMTPat (is_active_union_field h p fd); SMTPat (readable h (gufield p fd))] + +val is_active_union_field_includes_readable + (#l: union_typ) + (h: HS.mem) + (p: pointer (TUnion l)) + (fd: struct_field l) + (#t': typ) + (p' : pointer t') +: Lemma + (requires (includes (gufield p fd) p' /\ readable h p')) + (ensures (is_active_union_field h p fd)) + +(* Equality predicate on struct contents, without quantifiers *) +let equal_values #a h (b:pointer a) h' (b':pointer a) : GTot Type0 = + (live h b ==> live h' b') /\ ( + readable h b ==> ( + readable h' b' /\ + gread h b == gread h' b' + )) + + +(*** Semantics of buffers *) + +(** Operations on buffers *) + +val gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: GTot (buffer t) + +val singleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: HST.Stack (buffer t) + (requires (fun h -> live h p)) + (ensures (fun h b h' -> h' == h /\ b == gsingleton_buffer_of_pointer p)) + +val gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: GTot (buffer t) + +val buffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: HST.Stack (buffer t) + (requires (fun h -> live h p)) + (ensures (fun h b h' -> h' == h /\ b == gbuffer_of_array_pointer p)) + +val buffer_length + (#t: typ) + (b: buffer t) +: GTot UInt32.t + +val buffer_length_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: Lemma + (requires True) + (ensures (buffer_length (gsingleton_buffer_of_pointer p) == 1ul)) + [SMTPat (buffer_length (gsingleton_buffer_of_pointer p))] + +val buffer_length_gbuffer_of_array_pointer + (#t: typ) + (#len: array_length_t) + (p: pointer (TArray len t)) +: Lemma + (requires True) + (ensures (buffer_length (gbuffer_of_array_pointer p) == len)) + [SMTPat (buffer_length (gbuffer_of_array_pointer p))] + +val buffer_live + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot Type0 + +val buffer_live_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) + (h: HS.mem) +: Lemma + (ensures (buffer_live h (gsingleton_buffer_of_pointer p) <==> live h p )) + [SMTPat (buffer_live h (gsingleton_buffer_of_pointer p))] + +val buffer_live_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) + (h: HS.mem) +: Lemma + (requires True) + (ensures (buffer_live h (gbuffer_of_array_pointer p) <==> live h p)) + [SMTPat (buffer_live h (gbuffer_of_array_pointer p))] + +val buffer_unused_in + (#t: typ) + (b: buffer t) + (h: HS.mem) +: GTot Type0 + +val buffer_live_not_unused_in + (#t: typ) + (b: buffer t) + (h: HS.mem) +: Lemma + ((buffer_live h b /\ buffer_unused_in b h) ==> False) + + +val buffer_unused_in_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) + (h: HS.mem) +: Lemma + (ensures (buffer_unused_in (gsingleton_buffer_of_pointer p) h <==> unused_in p h )) + [SMTPat (buffer_unused_in (gsingleton_buffer_of_pointer p) h)] + +val buffer_unused_in_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) + (h: HS.mem) +: Lemma + (requires True) + (ensures (buffer_unused_in (gbuffer_of_array_pointer p) h <==> unused_in p h)) + [SMTPat (buffer_unused_in (gbuffer_of_array_pointer p) h)] + +val frameOf_buffer + (#t: typ) + (b: buffer t) +: GTot HS.rid + +val frameOf_buffer_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: Lemma + (ensures (frameOf_buffer (gsingleton_buffer_of_pointer p) == frameOf p)) + [SMTPat (frameOf_buffer (gsingleton_buffer_of_pointer p))] + +val frameOf_buffer_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: Lemma + (ensures (frameOf_buffer (gbuffer_of_array_pointer p) == frameOf p)) + [SMTPat (frameOf_buffer (gbuffer_of_array_pointer p))] + +val live_region_frameOf_buffer + (#value: typ) + (h: HS.mem) + (p: buffer value) +: Lemma + (requires (buffer_live h p)) + (ensures (HS.live_region h (frameOf_buffer p))) + [SMTPatOr [ + [SMTPat (HS.live_region h (frameOf_buffer p))]; + [SMTPat (buffer_live h p)] + ]] + +val buffer_as_addr + (#t: typ) + (b: buffer t) +: GTot (x: nat { x > 0 } ) + +val buffer_as_addr_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) +: Lemma + (ensures (buffer_as_addr (gsingleton_buffer_of_pointer p) == as_addr p)) + [SMTPat (buffer_as_addr (gsingleton_buffer_of_pointer p))] + +val buffer_as_addr_gbuffer_of_array_pointer + (#t: typ) + (#length: array_length_t) + (p: pointer (TArray length t)) +: Lemma + (ensures (buffer_as_addr (gbuffer_of_array_pointer p) == as_addr p)) + [SMTPat (buffer_as_addr (gbuffer_of_array_pointer p))] + +val gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Ghost (buffer t) + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (fun _ -> True)) + +val frameOf_buffer_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + frameOf_buffer (gsub_buffer b i len) == frameOf_buffer b + )) + [SMTPat (frameOf_buffer (gsub_buffer b i len))] + +val buffer_as_addr_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_as_addr (gsub_buffer b i len) == buffer_as_addr b + )) + [SMTPat (buffer_as_addr (gsub_buffer b i len))] + +val sub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: HST.Stack (buffer t) + (requires (fun h -> UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_live h b)) + (ensures (fun h b' h' -> UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ h' == h /\ b' == gsub_buffer b i len )) + +val offset_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: HST.Stack (buffer t) + (requires (fun h -> UInt32.v i <= UInt32.v (buffer_length b) /\ buffer_live h b)) + (ensures (fun h b' h' -> UInt32.v i <= UInt32.v (buffer_length b) /\ h' == h /\ b' == gsub_buffer b i (UInt32.sub (buffer_length b) i))) + +val buffer_length_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_length (gsub_buffer b i len) == len)) + [SMTPat (buffer_length (gsub_buffer b i len))] + +val buffer_live_gsub_buffer_equiv + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ (buffer_live h (gsub_buffer b i len) <==> buffer_live h b))) + [SMTPat (buffer_live h (gsub_buffer b i len))] + +val buffer_live_gsub_buffer_intro + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: Lemma + (requires (buffer_live h b /\ UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_live h (gsub_buffer b i len))) + [SMTPat (buffer_live h (gsub_buffer b i len))] + +val buffer_unused_in_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ (buffer_unused_in (gsub_buffer b i len) h <==> buffer_unused_in b h))) + [SMTPat (buffer_unused_in (gsub_buffer b i len) h)] + +val gsub_buffer_gsub_buffer + (#a: typ) + (b: buffer a) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v len1 + )) + (ensures ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v len1 /\ + gsub_buffer (gsub_buffer b i1 len1) i2 len2 == gsub_buffer b FStar.UInt32.(i1 +^ i2) len2 + )) + [SMTPat (gsub_buffer (gsub_buffer b i1 len1) i2 len2)] + +val gsub_buffer_zero_buffer_length + (#a: typ) + (b: buffer a) +: Lemma + (ensures (gsub_buffer b 0ul (buffer_length b) == b)) + [SMTPat (gsub_buffer b 0ul (buffer_length b))] + +val buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot (Seq.seq (type_of_typ t)) + +val buffer_length_buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) +: Lemma + (requires True) + (ensures (Seq.length (buffer_as_seq h b) == UInt32.v (buffer_length b))) + [SMTPat (Seq.length (buffer_as_seq h b))] + +val buffer_as_seq_gsingleton_buffer_of_pointer + (#t: typ) + (h: HS.mem) + (p: pointer t) +: Lemma + (requires True) + (ensures (buffer_as_seq h (gsingleton_buffer_of_pointer p) == Seq.create 1 (gread h p))) + [SMTPat (buffer_as_seq h (gsingleton_buffer_of_pointer p))] + +val buffer_as_seq_gbuffer_of_array_pointer + (#length: array_length_t) + (#t: typ) + (h: HS.mem) + (p: pointer (TArray length t)) +: Lemma + (requires True) + (ensures (buffer_as_seq h (gbuffer_of_array_pointer p) == gread h p)) + [SMTPat (buffer_as_seq h (gbuffer_of_array_pointer p))] + +val buffer_as_seq_gsub_buffer + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_as_seq h (gsub_buffer b i len) == Seq.slice (buffer_as_seq h b) (UInt32.v i) (UInt32.v i + UInt32.v len))) + [SMTPat (buffer_as_seq h (gsub_buffer b i len))] + +val gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Ghost (pointer t) + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (fun _ -> True)) + +val pointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: HST.Stack (pointer t) + (requires (fun h -> UInt32.v i < UInt32.v (buffer_length b) /\ buffer_live h b)) + (ensures (fun h p h' -> UInt32.v i < UInt32.v (buffer_length b) /\ h' == h /\ p == gpointer_of_buffer_cell b i)) + +val gpointer_of_buffer_cell_gsub_buffer + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (len: UInt32.t) + (i2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v len + )) + (ensures ( + UInt32.v i1 + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v len /\ + gpointer_of_buffer_cell (gsub_buffer b i1 len) i2 == gpointer_of_buffer_cell b FStar.UInt32.(i1 +^ i2) + )) + +let gpointer_of_buffer_cell_gsub_buffer' + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (len: UInt32.t) + (i2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v len + )) + (ensures ( + UInt32.v i1 + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v len /\ + gpointer_of_buffer_cell (gsub_buffer b i1 len) i2 == gpointer_of_buffer_cell b FStar.UInt32.(i1 +^ i2) + )) + [SMTPat (gpointer_of_buffer_cell (gsub_buffer b i1 len) i2)] += gpointer_of_buffer_cell_gsub_buffer b i1 len i2 + +val live_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (h: HS.mem) +: Lemma + (requires ( + UInt32.v i < UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i < UInt32.v (buffer_length b) /\ + (live h (gpointer_of_buffer_cell b i) <==> buffer_live h b) + )) + [SMTPat (live h (gpointer_of_buffer_cell b i))] + +val gpointer_of_buffer_cell_gsingleton_buffer_of_pointer + (#t: typ) + (p: pointer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < 1)) + (ensures (UInt32.v i < 1 /\ gpointer_of_buffer_cell (gsingleton_buffer_of_pointer p) i == p)) + [SMTPat (gpointer_of_buffer_cell (gsingleton_buffer_of_pointer p) i)] + +val gpointer_of_buffer_cell_gbuffer_of_array_pointer + (#length: array_length_t) + (#t: typ) + (p: pointer (TArray length t)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ gpointer_of_buffer_cell (gbuffer_of_array_pointer p) i == gcell p i)) + [SMTPat (gpointer_of_buffer_cell (gbuffer_of_array_pointer p) i)] + +val frameOf_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ frameOf (gpointer_of_buffer_cell b i) == frameOf_buffer b)) + [SMTPat (frameOf (gpointer_of_buffer_cell b i))] + +val as_addr_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ as_addr (gpointer_of_buffer_cell b i) == buffer_as_addr b)) + [SMTPat (as_addr (gpointer_of_buffer_cell b i))] + +val gread_gpointer_of_buffer_cell + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ gread h (gpointer_of_buffer_cell b i) == Seq.index (buffer_as_seq h b) (UInt32.v i))) + [SMTPat (gread h (gpointer_of_buffer_cell b i))] + +val gread_gpointer_of_buffer_cell' + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ gread h (gpointer_of_buffer_cell b i) == Seq.index (buffer_as_seq h b) (UInt32.v i))) + +val index_buffer_as_seq + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: nat) +: Lemma + (requires (i < UInt32.v (buffer_length b))) + (ensures (i < UInt32.v (buffer_length b) /\ Seq.index (buffer_as_seq h b) i == gread h (gpointer_of_buffer_cell b (UInt32.uint_to_t i)))) + [SMTPat (Seq.index (buffer_as_seq h b) i)] + +val gsingleton_buffer_of_pointer_gcell + (#t: typ) + (#len: array_length_t) + (p: pointer (TArray len t)) + (i: UInt32.t) +: Lemma + (requires ( + UInt32.v i < UInt32.v len + )) + (ensures ( + UInt32.v i < UInt32.v len /\ + gsingleton_buffer_of_pointer (gcell p i) == gsub_buffer (gbuffer_of_array_pointer p) i 1ul + )) + [SMTPat (gsingleton_buffer_of_pointer (gcell p i))] + +val gsingleton_buffer_of_pointer_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires ( + UInt32.v i < UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i < UInt32.v (buffer_length b) /\ + gsingleton_buffer_of_pointer (gpointer_of_buffer_cell b i) == gsub_buffer b i 1ul + )) + [SMTPat (gsingleton_buffer_of_pointer (gpointer_of_buffer_cell b i))] + +(* The readable permission lifted to buffers. *) + +val buffer_readable + (#t: typ) + (h: HS.mem) + (b: buffer t) +: GTot Type0 + +val buffer_readable_buffer_live + (#t: typ) + (h: HS.mem) + (b: buffer t) +: Lemma + (requires (buffer_readable h b)) + (ensures (buffer_live h b)) + [SMTPatOr [ + [SMTPat (buffer_readable h b)]; + [SMTPat (buffer_live h b)]; + ]] + +val buffer_readable_gsingleton_buffer_of_pointer + (#t: typ) + (h: HS.mem) + (p: pointer t) +: Lemma + (ensures (buffer_readable h (gsingleton_buffer_of_pointer p) <==> readable h p)) + [SMTPat (buffer_readable h (gsingleton_buffer_of_pointer p))] + +val buffer_readable_gbuffer_of_array_pointer + (#len: array_length_t) + (#t: typ) + (h: HS.mem) + (p: pointer (TArray len t)) +: Lemma + (requires True) + (ensures (buffer_readable h (gbuffer_of_array_pointer p) <==> readable h p)) + [SMTPat (buffer_readable h (gbuffer_of_array_pointer p))] + +val buffer_readable_gsub_buffer + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_readable h b)) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ buffer_readable h (gsub_buffer b i len))) + [SMTPat (buffer_readable h (gsub_buffer b i len))] + +val readable_gpointer_of_buffer_cell + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ buffer_readable h b)) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ readable h (gpointer_of_buffer_cell b i))) + [SMTPat (readable h (gpointer_of_buffer_cell b i))] + +val buffer_readable_intro + (#t: typ) + (h: HS.mem) + (b: buffer t) +: Lemma + (requires ( + buffer_live h b /\ ( + forall (i: UInt32.t) . + UInt32.v i < UInt32.v (buffer_length b) ==> + readable h (gpointer_of_buffer_cell b i) + ))) + (ensures (buffer_readable h b)) +// [SMTPat (buffer_readable h b)] // TODO: dubious pattern, may trigger unreplayable hints + +val buffer_readable_elim + (#t: typ) + (h: HS.mem) + (b: buffer t) +: Lemma + (requires ( + buffer_readable h b + )) + (ensures ( + buffer_live h b /\ ( + forall (i: UInt32.t) . + UInt32.v i < UInt32.v (buffer_length b) ==> + readable h (gpointer_of_buffer_cell b i) + ))) + + +(*** The modifies clause *) + +val loc : Type u#0 + +val loc_none: loc + +val loc_union + (s1 s2: loc) +: GTot loc + +(** The following is useful to make Z3 cut matching loops with +modifies_trans and modifies_refl *) +val loc_union_idem + (s: loc) +: Lemma + (loc_union s s == s) + [SMTPat (loc_union s s)] + +val loc_pointer + (#t: typ) + (p: pointer t) +: GTot loc + +val loc_buffer + (#t: typ) + (b: buffer t) +: GTot loc + +val loc_addresses + (r: HS.rid) + (n: Set.set nat) +: GTot loc + +val loc_regions + (r: Set.set HS.rid) +: GTot loc + + +(* Inclusion of memory locations *) + +val loc_includes + (s1 s2: loc) +: GTot Type0 + +val loc_includes_refl + (s: loc) +: Lemma + (loc_includes s s) + [SMTPat (loc_includes s s)] + +val loc_includes_trans + (s1 s2 s3: loc) +: Lemma + (requires (loc_includes s1 s2 /\ loc_includes s2 s3)) + (ensures (loc_includes s1 s3)) + +val loc_includes_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_includes s s1 /\ loc_includes s s2)) + (ensures (loc_includes s (loc_union s1 s2))) + [SMTPat (loc_includes s (loc_union s1 s2))] + +val loc_includes_union_l + (s1 s2 s: loc) +: Lemma + (requires (loc_includes s1 s \/ loc_includes s2 s)) + (ensures (loc_includes (loc_union s1 s2) s)) + [SMTPat (loc_includes (loc_union s1 s2) s)] + +val loc_includes_none + (s: loc) +: Lemma + (loc_includes s loc_none) + [SMTPat (loc_includes s loc_none)] + +val loc_includes_pointer_pointer + (#t1 #t2: typ) + (p1: pointer t1) + (p2: pointer t2) +: Lemma + (requires (includes p1 p2)) + (ensures (loc_includes (loc_pointer p1) (loc_pointer p2))) + [SMTPat (loc_includes (loc_pointer p1) (loc_pointer p2))] + +val loc_includes_gsingleton_buffer_of_pointer + (l: loc) + (#t: typ) + (p: pointer t) +: Lemma + (requires (loc_includes l (loc_pointer p))) + (ensures (loc_includes l (loc_buffer (gsingleton_buffer_of_pointer p)))) + [SMTPat (loc_includes l (loc_buffer (gsingleton_buffer_of_pointer p)))] + +val loc_includes_gbuffer_of_array_pointer + (l: loc) + (#len: array_length_t) + (#t: typ) + (p: pointer (TArray len t)) +: Lemma + (requires (loc_includes l (loc_pointer p))) + (ensures (loc_includes l (loc_buffer (gbuffer_of_array_pointer p)))) + [SMTPat (loc_includes l (loc_buffer (gbuffer_of_array_pointer p)))] + +val loc_includes_gpointer_of_array_cell + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ loc_includes l (loc_buffer b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_includes l (loc_pointer (gpointer_of_buffer_cell b i)))) + [SMTPat (loc_includes l (loc_pointer (gpointer_of_buffer_cell b i)))] + +val loc_includes_gsub_buffer_r + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_includes l (loc_buffer b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_includes l (loc_buffer (gsub_buffer b i len)))) + [SMTPat (loc_includes l (loc_buffer (gsub_buffer b i len)))] + +val loc_includes_gsub_buffer_l + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires (UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ UInt32.v i1 <= UInt32.v i2 /\ UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1)) + (ensures (UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ UInt32.v i1 <= UInt32.v i2 /\ UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1 /\ loc_includes (loc_buffer (gsub_buffer b i1 len1)) (loc_buffer (gsub_buffer b i2 len2)))) + [SMTPat (loc_includes (loc_buffer (gsub_buffer b i1 len1)) (loc_buffer (gsub_buffer b i2 len2)))] + +val loc_includes_addresses_pointer + (#t: typ) + (r: HS.rid) + (s: Set.set nat) + (p: pointer t) +: Lemma + (requires (frameOf p == r /\ Set.mem (as_addr p) s)) + (ensures (loc_includes (loc_addresses r s) (loc_pointer p))) + [SMTPat (loc_includes (loc_addresses r s) (loc_pointer p))] + +val loc_includes_addresses_buffer + (#t: typ) + (r: HS.rid) + (s: Set.set nat) + (p: buffer t) +: Lemma + (requires (frameOf_buffer p == r /\ Set.mem (buffer_as_addr p) s)) + (ensures (loc_includes (loc_addresses r s) (loc_buffer p))) + [SMTPat (loc_includes (loc_addresses r s) (loc_buffer p))] + +val loc_includes_region_pointer + (#t: typ) + (s: Set.set HS.rid) + (p: pointer t) +: Lemma + (requires (Set.mem (frameOf p) s)) + (ensures (loc_includes (loc_regions s) (loc_pointer p))) + [SMTPat (loc_includes (loc_regions s) (loc_pointer p))] + +val loc_includes_region_buffer + (#t: typ) + (s: Set.set HS.rid) + (b: buffer t) +: Lemma + (requires (Set.mem (frameOf_buffer b) s)) + (ensures (loc_includes (loc_regions s) (loc_buffer b))) + [SMTPat (loc_includes (loc_regions s) (loc_buffer b))] + +val loc_includes_region_addresses + (s: Set.set HS.rid) + (r: HS.rid) + (a: Set.set nat) +: Lemma + (requires (Set.mem r s)) + (ensures (loc_includes (loc_regions s) (loc_addresses r a))) + [SMTPat (loc_includes (loc_regions s) (loc_addresses r a))] + +val loc_includes_region_region + (s1 s2: Set.set HS.rid) +: Lemma + (requires (Set.subset s2 s1)) + (ensures (loc_includes (loc_regions s1) (loc_regions s2))) + [SMTPat (loc_includes (loc_regions s1) (loc_regions s2))] + +val loc_includes_region_union_l + (l: loc) + (s1 s2: Set.set HS.rid) +: Lemma + (requires (loc_includes l (loc_regions (Set.intersect s2 (Set.complement s1))))) + (ensures (loc_includes (loc_union (loc_regions s1) l) (loc_regions s2))) + [SMTPat (loc_includes (loc_union (loc_regions s1) l) (loc_regions s2))] + + +(* Disjointness of two memory locations *) + +val loc_disjoint + (s1 s2: loc) +: GTot Type0 + +val loc_disjoint_sym + (s1 s2: loc) +: Lemma + (requires (loc_disjoint s1 s2)) + (ensures (loc_disjoint s2 s1)) + [SMTPat (loc_disjoint s1 s2)] + +val loc_disjoint_none_r + (s: loc) +: Lemma + (ensures (loc_disjoint s loc_none)) + [SMTPat (loc_disjoint s loc_none)] + +val loc_disjoint_union_r + (s s1 s2: loc) +: Lemma + (requires (loc_disjoint s s1 /\ loc_disjoint s s2)) + (ensures (loc_disjoint s (loc_union s1 s2))) + [SMTPat (loc_disjoint s (loc_union s1 s2))] + +val loc_disjoint_root + (#value1: typ) + (#value2: typ) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (frameOf p1 <> frameOf p2 \/ as_addr p1 <> as_addr p2)) + (ensures (loc_disjoint (loc_pointer p1) (loc_pointer p2))) + +val loc_disjoint_gfield + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd1 fd2: struct_field l) +: Lemma + (requires (fd1 <> fd2)) + (ensures (loc_disjoint (loc_pointer (gfield p fd1)) (loc_pointer (gfield p fd2)))) + [SMTPat (loc_disjoint (loc_pointer (gfield p fd1)) (loc_pointer (gfield p fd2)))] + +val loc_disjoint_gcell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i1: UInt32.t) + (i2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 < UInt32.v length /\ + UInt32.v i2 < UInt32.v length /\ + UInt32.v i1 <> UInt32.v i2 + )) + (ensures ( + UInt32.v i1 < UInt32.v length /\ + UInt32.v i2 < UInt32.v length /\ + loc_disjoint (loc_pointer (gcell p i1)) (loc_pointer (gcell p i2)) + )) + [SMTPat (loc_disjoint (loc_pointer (gcell p i1)) (loc_pointer (gcell p i2)))] + +val loc_disjoint_includes + (p1 p2 p1' p2' : loc) +: Lemma + (requires (loc_includes p1 p1' /\ loc_includes p2 p2' /\ loc_disjoint p1 p2)) + (ensures (loc_disjoint p1' p2')) + +(* TODO: The following is now wrong, should be replaced with readable + +val live_not_equal_disjoint + (#t: typ) + (h: HS.mem) + (p1 p2: pointer t) +: Lemma + (requires (live h p1 /\ live h p2 /\ equal p1 p2 == false)) + (ensures (disjoint p1 p2)) +*) + +val live_unused_in_disjoint_strong + (#value1: typ) + (#value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (live h p1 /\ unused_in p2 h)) + (ensures (frameOf p1 <> frameOf p2 \/ as_addr p1 <> as_addr p2)) + +val live_unused_in_disjoint + (#value1: typ) + (#value2: typ) + (h: HS.mem) + (p1: pointer value1) + (p2: pointer value2) +: Lemma + (requires (live h p1 /\ unused_in p2 h)) + (ensures (loc_disjoint (loc_pointer p1) (loc_pointer p2))) + [SMTPatOr [ + [SMTPat (loc_disjoint (loc_pointer p1) (loc_pointer p2)); SMTPat (live h p1)]; + [SMTPat (loc_disjoint (loc_pointer p1) (loc_pointer p2)); SMTPat (unused_in p2 h)]; + [SMTPat (live h p1); SMTPat (unused_in p2 h)]; + ]] + +val pointer_live_reference_unused_in_disjoint + (#value1: typ) + (#value2: Type0) + (h: HS.mem) + (p1: pointer value1) + (p2: HS.reference value2) +: Lemma + (requires (live h p1 /\ HS.unused_in p2 h)) + (ensures (loc_disjoint (loc_pointer p1) (loc_addresses (HS.frameOf p2) (Set.singleton (HS.as_addr p2))))) + [SMTPat (live h p1); SMTPat (HS.unused_in p2 h)] + +val reference_live_pointer_unused_in_disjoint + (#value1: Type0) + (#value2: typ) + (h: HS.mem) + (p1: HS.reference value1) + (p2: pointer value2) +: Lemma + (requires (HS.contains h p1 /\ unused_in p2 h)) + (ensures (loc_disjoint (loc_addresses (HS.frameOf p1) (Set.singleton (HS.as_addr p1))) (loc_pointer p2))) + [SMTPat (HS.contains h p1); SMTPat (unused_in p2 h)] + +val loc_disjoint_gsub_buffer + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (len1: UInt32.t) + (i2: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v (buffer_length b) /\ ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v i2 \/ + UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + ))) + (ensures ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v (buffer_length b) /\ + loc_disjoint (loc_buffer (gsub_buffer b i1 len1)) (loc_buffer (gsub_buffer b i2 len2)) + )) + [SMTPat (loc_disjoint (loc_buffer (gsub_buffer b i1 len1)) (loc_buffer (gsub_buffer b i2 len2)))] + +val loc_disjoint_gpointer_of_buffer_cell + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (i2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 < UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v (buffer_length b) /\ ( + UInt32.v i1 <> UInt32.v i2 + ))) + (ensures ( + UInt32.v i1 < UInt32.v (buffer_length b) /\ + UInt32.v i2 < UInt32.v (buffer_length b) /\ + loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i1)) (loc_pointer (gpointer_of_buffer_cell b i2)) + )) + [SMTPat (loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i1)) (loc_pointer (gpointer_of_buffer_cell b i2)))] + +let loc_disjoint_gpointer_of_buffer_cell_r + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint l (loc_buffer b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint l (loc_pointer (gpointer_of_buffer_cell b i)))) + [SMTPat (loc_disjoint l (loc_pointer (gpointer_of_buffer_cell b i)))] += loc_disjoint_includes l (loc_buffer b) l (loc_pointer (gpointer_of_buffer_cell b i)) + +let loc_disjoint_gpointer_of_buffer_cell_l + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint (loc_buffer b) l)) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i)) l)) + [SMTPat (loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i)) l)] += loc_disjoint_includes (loc_buffer b) l (loc_pointer (gpointer_of_buffer_cell b i)) l + +val loc_disjoint_addresses + (r1 r2: HS.rid) + (n1 n2: Set.set nat) +: Lemma + (requires (r1 <> r2 \/ Set.subset (Set.intersect n1 n2) Set.empty)) + (ensures (loc_disjoint (loc_addresses r1 n1) (loc_addresses r2 n2))) + [SMTPat (loc_disjoint (loc_addresses r1 n1) (loc_addresses r2 n2))] + +val loc_disjoint_pointer_addresses + (#t: typ) + (p: pointer t) + (r: HS.rid) + (n: Set.set nat) +: Lemma + (requires (r <> frameOf p \/ (~ (Set.mem (as_addr p) n)))) + (ensures (loc_disjoint (loc_pointer p) (loc_addresses r n))) + [SMTPat (loc_disjoint (loc_pointer p) (loc_addresses r n))] + +val loc_disjoint_buffer_addresses + (#t: typ) + (p: buffer t) + (r: HH.rid) + (n: Set.set nat) +: Lemma + (requires (r <> frameOf_buffer p \/ (~ (Set.mem (buffer_as_addr p) n)))) + (ensures (loc_disjoint (loc_buffer p) (loc_addresses r n))) + [SMTPat (loc_disjoint (loc_buffer p) (loc_addresses r n))] + +val loc_disjoint_regions + (rs1 rs2: Set.set HS.rid) +: Lemma + (requires (Set.subset (Set.intersect rs1 rs2) Set.empty)) + (ensures (loc_disjoint (loc_regions rs1) (loc_regions rs2))) + [SMTPat (loc_disjoint (loc_regions rs1) (loc_regions rs2))] + +(** The modifies clause proper *) + +val modifies + (s: loc) + (h1 h2: HS.mem) +: GTot Type0 + +val modifies_loc_regions_intro + (rs: Set.set HS.rid) + (h1 h2: HS.mem) +: Lemma + (requires (HS.modifies rs h1 h2)) + (ensures (modifies (loc_regions rs) h1 h2)) + +val modifies_pointer_elim + (s: loc) + (h1 h2: HS.mem) + (#a': typ) + (p': pointer a') +: Lemma + (requires ( + modifies s h1 h2 /\ + live h1 p' /\ + loc_disjoint (loc_pointer p') s + )) + (ensures ( + equal_values h1 p' h2 p' + )) + [SMTPatOr [ + [ SMTPat (modifies s h1 h2); SMTPat (gread h1 p') ] ; + [ SMTPat (modifies s h1 h2); SMTPat (readable h1 p') ] ; + [ SMTPat (modifies s h1 h2); SMTPat (live h1 p') ]; + [ SMTPat (modifies s h1 h2); SMTPat (gread h2 p') ] ; + [ SMTPat (modifies s h1 h2); SMTPat (readable h2 p') ] ; + [ SMTPat (modifies s h1 h2); SMTPat (live h2 p') ] + ] ] + +val modifies_buffer_elim + (#t1: typ) + (b: buffer t1) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_buffer b) p /\ + buffer_live h b /\ + (UInt32.v (buffer_length b) == 0 ==> buffer_live h' b) /\ // necessary for liveness, because all buffers of size 0 are disjoint for any memory location, so we cannot talk about their liveness individually without referring to a larger nonempty buffer + modifies p h h' + )) + (ensures ( + buffer_live h' b /\ ( + buffer_readable h b ==> ( + buffer_readable h' b /\ + buffer_as_seq h b == buffer_as_seq h' b + )))) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (buffer_as_seq h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (buffer_readable h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (buffer_live h b) ]; + [ SMTPat (modifies p h h'); SMTPat (buffer_as_seq h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (buffer_readable h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (buffer_live h' b) ] + ] ] + +val modifies_reference_elim + (#t: Type0) + (b: HS.reference t) + (p: loc) + (h h': HS.mem) +: Lemma + (requires ( + loc_disjoint (loc_addresses (HS.frameOf b) (Set.singleton (HS.as_addr b))) p /\ + HS.contains h b /\ + modifies p h h' + )) + (ensures ( + HS.contains h' b /\ + HS.sel h b == HS.sel h' b + )) + [SMTPatOr [ + [ SMTPat (modifies p h h'); SMTPat (HS.sel h b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h b) ]; + [ SMTPat (modifies p h h'); SMTPat (HS.sel h' b) ] ; + [ SMTPat (modifies p h h'); SMTPat (HS.contains h' b) ] + ] ] + +val modifies_refl + (s: loc) + (h: HS.mem) +: Lemma + (modifies s h h) + [SMTPat (modifies s h h)] + +val modifies_loc_includes + (s1: loc) + (h h': HS.mem) + (s2: loc) +: Lemma + (requires (modifies s2 h h' /\ loc_includes s1 s2)) + (ensures (modifies s1 h h')) + [SMTPat (modifies s1 h h'); SMTPat (modifies s2 h h')] + +val modifies_trans + (s12: loc) + (h1 h2: HS.mem) + (s23: loc) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3)) + (ensures (modifies (loc_union s12 s23) h1 h3)) + [SMTPat (modifies s12 h1 h2); SMTPat (modifies s23 h2 h3)] + +let modifies_0 (h0 h1: HS.mem) : GTot Type0 = + modifies loc_none h0 h1 + +let modifies_1 (#t: typ) (p: pointer t) (h0 h1: HS.mem) : GTot Type0 = + modifies (loc_pointer p) h0 h1 + +(** Concrete allocators, getters and setters *) + +val screate + (value:typ) + (s: option (type_of_typ value)) +: HST.StackInline (pointer value) + (requires (fun h -> True)) + (ensures (fun (h0:HS.mem) b h1 -> + unused_in b h0 + /\ live h1 b + /\ frameOf b = HS.get_tip h0 + /\ modifies_0 h0 h1 + /\ begin match s with + | Some s' -> + readable h1 b /\ + gread h1 b == s' + | _ -> True + end + )) + +val ecreate + (t:typ) + (r:HS.rid) + (s: option (type_of_typ t)) +: HST.ST (pointer t) + (requires (fun h -> is_eternal_region r /\ HST.witnessed (region_contains_pred r))) + (ensures (fun (h0:HS.mem) b h1 -> unused_in b h0 + /\ live h1 b + /\ frameOf b == r + /\ modifies_0 h0 h1 + /\ begin match s with + | Some s' -> + readable h1 b /\ + gread h1 b == s' + | _ -> True + end + /\ ~(is_mm b))) + +val field + (#l: struct_typ) + (p: pointer (TStruct l)) + (fd: struct_field l) +: HST.Stack (pointer (typ_of_struct_field l fd)) + (requires (fun h -> live h p)) + (ensures (fun h0 p' h1 -> h0 == h1 /\ p' == gfield p fd)) + +val ufield + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: HST.Stack (pointer (typ_of_struct_field l fd)) + (requires (fun h -> live h p)) + (ensures (fun h0 p' h1 -> h0 == h1 /\ p' == gufield p fd)) + +val cell + (#length: array_length_t) + (#value: typ) + (p: pointer (TArray length value)) + (i: UInt32.t) +: HST.Stack (pointer value) + (requires (fun h -> UInt32.v i < UInt32.v length /\ live h p)) + (ensures (fun h0 p' h1 -> UInt32.v i < UInt32.v length /\ h0 == h1 /\ p' == gcell p i)) + +val read + (#value: typ) + (p: pointer value) +: HST.Stack (type_of_typ value) + (requires (fun h -> readable h p)) + (ensures (fun h0 v h1 -> readable h0 p /\ h0 == h1 /\ v == gread h0 p)) + +val is_null + (#t: typ) + (p: npointer t) +: HST.Stack bool + (requires (fun h -> nlive h p)) + (ensures (fun h b h' -> h' == h /\ b == g_is_null p)) + +val write: #a:typ -> b:pointer a -> z:type_of_typ a -> HST.Stack unit + (requires (fun h -> live h b)) + (ensures (fun h0 _ h1 -> live h0 b /\ live h1 b + /\ modifies_1 b h0 h1 + /\ readable h1 b + /\ gread h1 b == z )) + +(** Given our model, this operation is stateful, however it should be translated + to a no-op by Karamel, as the tag does not actually exist at runtime. +*) +val write_union_field + (#l: union_typ) + (p: pointer (TUnion l)) + (fd: struct_field l) +: HST.Stack unit + (requires (fun h -> live h p)) + (ensures (fun h0 _ h1 -> live h0 p /\ live h1 p + /\ modifies_1 p h0 h1 + /\ is_active_union_field h1 p fd + )) + +val modifies_fresh_frame_popped + (h0 h1: HS.mem) + (s: loc) + (h2 h3: HS.mem) +: Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + modifies (loc_union (loc_regions (HS.mod_set (Set.singleton (HS.get_tip h1)))) s) h1 h2 /\ + (HS.get_tip h2) == (HS.get_tip h1) /\ + HS.popped h2 h3 + )) + (ensures ( + modifies s h0 h3 /\ + (HS.get_tip h3) == HS.get_tip h0 + )) + [SMTPat (HS.fresh_frame h0 h1); SMTPat (HS.popped h2 h3); SMTPat (modifies s h0 h3)] + +val modifies_only_live_regions + (rs: Set.set HS.rid) + (l: loc) + (h h' : HS.mem) +: Lemma + (requires ( + modifies (loc_union (loc_regions rs) l) h h' /\ + (forall r . Set.mem r rs ==> (~ (HS.live_region h r))) + )) + (ensures (modifies l h h')) + +val modifies_loc_addresses_intro + (r: HS.rid) + (a: Set.set nat) + (l: loc) + (h1 h2: HS.mem) +: Lemma + (requires ( + HS.live_region h2 r /\ + modifies (loc_union (loc_regions (Set.singleton r)) l) h1 h2 /\ + HS.modifies_ref r a h1 h2 + )) + (ensures (modifies (loc_union (loc_addresses r a) l) h1 h2)) + +(* `modifies` and the readable permission *) + +(** NOTE: we historically used to have this lemma for arbitrary +pointer inclusion, but that became wrong for unions. *) + +val modifies_1_readable_struct + (#l: struct_typ) + (f: struct_field l) + (p: pointer (TStruct l)) + (h h' : HS.mem) +: Lemma + (requires (readable h p /\ modifies_1 (gfield p f) h h' /\ readable h' (gfield p f))) + (ensures (readable h' p)) + [SMTPatOr [ + [SMTPat (modifies_1 (gfield p f) h h'); SMTPat (readable h p)]; + [SMTPat (modifies_1 (gfield p f) h h'); SMTPat (readable h' p)]; + [SMTPat (readable h p); SMTPat (readable h' (gfield p f))]; +// [SMTPat (readable h' p); SMTPat (readable h' (gfield p f))]; // this pattern is incomplete + [SMTPat (readable h p); SMTPat (readable h' p); SMTPat (gfield p f)]; +]] + +val modifies_1_readable_array + (#t: typ) + (#len: array_length_t) + (i: UInt32.t) + (p: pointer (TArray len t)) + (h h' : HS.mem) +: Lemma + (requires (UInt32.v i < UInt32.v len /\ readable h p /\ modifies_1 (gcell p i) h h' /\ readable h' (gcell p i))) + (ensures (readable h' p)) + [SMTPatOr [ + [SMTPat (modifies_1 (gcell p i) h h'); SMTPat (readable h p)]; + [SMTPat (modifies_1 (gcell p i) h h'); SMTPat (readable h' p)]; + [SMTPat (readable h p); SMTPat (readable h' (gcell p i))]; +// [SMTPat (readable h' p); SMTPat (readable h' (gcell p i))]; // this pattern is incomplete + [SMTPat (readable h p); SMTPat (readable h' p); SMTPat (gcell p i)]; + ]] + +(* buffer read: can be defined as a derived operation: pointer_of_buffer_cell ; read *) +val read_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: HST.Stack (type_of_typ t) + (requires (fun h -> UInt32.v i < UInt32.v (buffer_length b) /\ readable h (gpointer_of_buffer_cell b i))) + (ensures (fun h v h' -> UInt32.v i < UInt32.v (buffer_length b) /\ h' == h /\ v == Seq.index (buffer_as_seq h b) (UInt32.v i))) + +(* buffer write: needs clearer "modifies" clauses *) + +val write_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (v: type_of_typ t) +: HST.Stack unit + (requires (fun h -> UInt32.v i < UInt32.v (buffer_length b) /\ buffer_live h b)) + (ensures (fun h _ h' -> + UInt32.v i < UInt32.v (buffer_length b) /\ + modifies_1 (gpointer_of_buffer_cell b i) h h' /\ + buffer_live h' b /\ + readable h' (gpointer_of_buffer_cell b i) /\ + Seq.index (buffer_as_seq h' b) (UInt32.v i) == v /\ + (buffer_readable h b ==> buffer_readable h' b) + )) + +(* unused_in, cont'd *) + +val buffer_live_unused_in_disjoint + (#t1 #t2: typ) + (h: HS.mem) + (b1: buffer t1) + (b2: buffer t2) +: Lemma + (requires (buffer_live h b1 /\ buffer_unused_in b2 h)) + (ensures (loc_disjoint (loc_buffer b1) (loc_buffer b2))) + [SMTPat (buffer_live h b1); SMTPat (buffer_unused_in b2 h)] + +val pointer_live_buffer_unused_in_disjoint + (#t1 #t2: typ) + (h: HS.mem) + (b1: pointer t1) + (b2: buffer t2) +: Lemma + (requires (live h b1 /\ buffer_unused_in b2 h)) + (ensures (loc_disjoint (loc_pointer b1) (loc_buffer b2))) + [SMTPat (live h b1); SMTPat (buffer_unused_in b2 h)] + +val buffer_live_pointer_unused_in_disjoint + (#t1 #t2: typ) + (h: HS.mem) + (b1: buffer t1) + (b2: pointer t2) +: Lemma + (requires (buffer_live h b1 /\ unused_in b2 h)) + (ensures (loc_disjoint (loc_buffer b1) (loc_pointer b2))) + [SMTPat (buffer_live h b1); SMTPat (unused_in b2 h)] + +val reference_live_buffer_unused_in_disjoint + (#t1: Type0) + (#t2: typ) + (h: HS.mem) + (b1: HS.reference t1) + (b2: buffer t2) +: Lemma + (requires (HS.contains h b1 /\ buffer_unused_in b2 h)) + (ensures (loc_disjoint (loc_addresses (HS.frameOf b1) (Set.singleton (HS.as_addr b1))) (loc_buffer b2))) + [SMTPat (HS.contains h b1); SMTPat (buffer_unused_in b2 h)] + +val buffer_live_reference_unused_in_disjoint + (#t1: typ) + (#t2: Type0) + (h: HS.mem) + (b1: buffer t1) + (b2: HS.reference t2) +: Lemma + (requires (buffer_live h b1 /\ HS.unused_in b2 h)) + (ensures (loc_disjoint (loc_buffer b1) (loc_addresses (HS.frameOf b2) (Set.singleton (HS.as_addr b2))))) + +(* Buffer inclusion without existential quantifiers: remnants of the legacy buffer interface *) + +(* Returns the greatest buffer (of the same type) including b *) + +val root_buffer + (#t: typ) + (b: buffer t) +: GTot (buffer t) + +(* Return the "offset" of b within its root buffer *) + +val buffer_idx + (#t: typ) + (b: buffer t) +: Ghost UInt32.t + (requires True) + (ensures (fun y -> + UInt32.v y + UInt32.v (buffer_length b) <= + UInt32.v (buffer_length (root_buffer b)) + )) + +val buffer_eq_gsub_root + (#t: typ) + (b: buffer t) +: Lemma + (b == gsub_buffer (root_buffer b) (buffer_idx b) (buffer_length b)) + +val root_buffer_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + root_buffer (gsub_buffer b i len) == root_buffer b + )) + [SMTPat (root_buffer (gsub_buffer b i len))] + +val buffer_idx_gsub_buffer + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_idx (gsub_buffer b i len) == UInt32.add (buffer_idx b) i + )) + [SMTPat (buffer_idx (gsub_buffer b i len))] + +val buffer_includes + (#t: typ) + (blarge bsmall: buffer t) +: GTot Type0 + +val buffer_includes_refl + (#t: typ) + (b: buffer t) +: Lemma + (buffer_includes b b) + [SMTPat (buffer_includes b b)] + +val buffer_includes_trans + (#t: typ) + (b1 b2 b3: buffer t) +: Lemma + (requires (buffer_includes b1 b2 /\ buffer_includes b2 b3)) + (ensures (buffer_includes b1 b3)) + +val buffer_includes_gsub_r + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_includes b (gsub_buffer b i len) + )) + +val buffer_includes_gsub + (#t: typ) + (b: buffer t) + (i1: UInt32.t) + (i2: UInt32.t) + (len1: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i1 <= UInt32.v i2 /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v i1 + UInt32.v len1 /\ + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i1 + UInt32.v len1 <= UInt32.v (buffer_length b) /\ + UInt32.v i2 + UInt32.v len2 <= UInt32.v (buffer_length b) /\ + buffer_includes (gsub_buffer b i1 len1) (gsub_buffer b i2 len2) + )) + [SMTPat (buffer_includes (gsub_buffer b i1 len1) (gsub_buffer b i2 len2))] + +val buffer_includes_elim + (#t: typ) + (b1 b2: buffer t) +: Lemma + (requires ( + buffer_includes b1 b2 + )) + (ensures ( + UInt32.v (buffer_idx b1) <= UInt32.v (buffer_idx b2) /\ + UInt32.v (buffer_idx b2) + UInt32.v (buffer_length b2) <= UInt32.v (buffer_idx b1) + UInt32.v (buffer_length b1) /\ + b2 == gsub_buffer b1 (UInt32.sub (buffer_idx b2) (buffer_idx b1)) (buffer_length b2) + )) + +val buffer_includes_loc_includes + (#t: typ) + (b1 b2: buffer t) +: Lemma + (requires (buffer_includes b1 b2)) + (ensures (loc_includes (loc_buffer b1) (loc_buffer b2))) + [SMTPatOr [ + [SMTPat (buffer_includes b1 b2)]; + [SMTPat (loc_includes(loc_buffer b1) (loc_buffer b2))] + ]] + + + +/// Type class instantiation for compositionality with other kinds of memory locations than regions, references or buffers (just in case). +/// No usage pattern has been found yet. + +module MG = FStar.ModifiesGen + +val cloc_aloc: HS.rid -> nat -> Tot Type0 + +val cloc_cls: MG.cls cloc_aloc + +val cloc_of_loc (l: loc) : Tot (MG.loc cloc_cls) + +val loc_of_cloc (l: MG.loc cloc_cls) : Tot loc + +val loc_of_cloc_of_loc (l: loc) : Lemma + (loc_of_cloc (cloc_of_loc l) == l) + [SMTPat (loc_of_cloc (cloc_of_loc l))] + +val cloc_of_loc_of_cloc (l: MG.loc cloc_cls) : Lemma + (cloc_of_loc (loc_of_cloc l) == l) + [SMTPat (cloc_of_loc (loc_of_cloc l))] + +val loc_includes_to_cloc (l1 l2: loc) : Lemma + (loc_includes l1 l2 <==> MG.loc_includes (cloc_of_loc l1) (cloc_of_loc l2)) + +val loc_disjoint_to_cloc (l1 l2: loc) : Lemma + (loc_disjoint l1 l2 <==> MG.loc_disjoint (cloc_of_loc l1) (cloc_of_loc l2)) + +val modifies_to_cloc (l: loc) (h1 h2: HS.mem) : Lemma + (modifies l h1 h2 <==> MG.modifies (cloc_of_loc l) h1 h2) diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived1.fst b/stage0/ulib/legacy/FStar.Pointer.Derived1.fst new file mode 100644 index 00000000000..13ac7cd0f20 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived1.fst @@ -0,0 +1,223 @@ +(* + 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.Pointer.Derived1 + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +let includes_gfield_gen #t p #l q fd = + includes_gfield q fd; + includes_trans p q (gfield q fd) + +let includes_gufield_gen #t p #l q fd = + includes_gufield q fd; + includes_trans p q (gufield q fd) + +let includes_gcell_gen #t p #length #value q i = + includes_gcell q i; + includes_trans p q (gcell q i) + +let loc_includes_union_assoc_r2l s1 s2 s3 s = + loc_includes_trans (loc_union (loc_union s1 s2) s3) (loc_union s1 (loc_union s2 s3)) s + +let loc_includes_union_assoc_l2r s1 s2 s3 s = + loc_includes_trans (loc_union s1 (loc_union s2 s3)) (loc_union (loc_union s1 s2) s3) s + +let loc_includes_union_assoc_focalize_1 l1 l2 x r s = + loc_includes_trans (loc_union l1 (loc_union (loc_union l2 x) r)) (loc_union (loc_union l1 l2) (loc_union x r)) s + +let loc_includes_union_assoc_focalize_2 l x r1 r2 s = + loc_includes_trans (loc_union l (loc_union (loc_union x r1) r2)) (loc_union l (loc_union x (loc_union r1 r2))) s + +let loc_includes_region_union_r l s1 s2 = + loc_includes_trans (loc_union l (loc_regions s1)) (loc_union (loc_regions s1) l) (loc_regions s2) + +let loc_includes_region_union_assoc l r s1 s2 = + loc_includes_trans (loc_union l (loc_union (loc_regions s1) r)) (loc_union (loc_regions s1) (loc_union l r)) (loc_regions s2) + +let loc_disjoint_none_l s = + loc_disjoint_none_r s; + loc_disjoint_sym s loc_none + +let loc_disjoint_union_l s s1 s2 = + loc_disjoint_sym s1 s; + loc_disjoint_sym s2 s; + loc_disjoint_union_r s s1 s2; + loc_disjoint_sym s (loc_union s1 s2) + +let loc_disjoint_gfield_r p #l q fd = + loc_disjoint_includes p (loc_pointer q) p (loc_pointer (gfield q fd)) + +let loc_disjoint_gfield_l p #l q fd = + loc_disjoint_sym (loc_pointer q) p; + loc_disjoint_gfield_r p q fd; + loc_disjoint_sym p (loc_pointer (gfield q fd)) + +let loc_disjoint_gufield_r p #l q fd = + loc_disjoint_includes p (loc_pointer q) p (loc_pointer (gufield q fd)) + +let loc_disjoint_gufield_l p #l q fd = + loc_disjoint_sym (loc_pointer q) p; + loc_disjoint_gufield_r p q fd; + loc_disjoint_sym p (loc_pointer (gufield q fd)) + +let loc_disjoint_gcell_r p #value #len q i = + loc_disjoint_includes p (loc_pointer q) p (loc_pointer (gcell q i)) + +let loc_disjoint_gcell_l p #value #len q i = + loc_disjoint_sym (loc_pointer q) p; + loc_disjoint_gcell_r p q i; + loc_disjoint_sym p (loc_pointer (gcell q i)) + +let loc_disjoint_gsingleton_buffer_of_pointer_r l #t p = + loc_disjoint_includes l (loc_pointer p) l (loc_buffer (gsingleton_buffer_of_pointer p)) + +let loc_disjoint_gsingleton_buffer_of_pointer_l l #t p = + loc_disjoint_sym (loc_pointer p) l; + loc_disjoint_gsingleton_buffer_of_pointer_r l p; + loc_disjoint_sym l (loc_buffer (gsingleton_buffer_of_pointer p)) + +let loc_disjoint_gbuffer_of_array_pointer_r l #t #len p = + loc_disjoint_includes l (loc_pointer p) l (loc_buffer (gbuffer_of_array_pointer p)) + +let loc_disjoint_gbuffer_of_array_pointer_l l #t #len p = + loc_disjoint_includes (loc_pointer p) l (loc_buffer (gbuffer_of_array_pointer p)) l + +let loc_disjoint_gpointer_of_buffer_cell_r l #t b i = + loc_disjoint_includes l (loc_buffer b) l (loc_pointer (gpointer_of_buffer_cell b i)) + +let loc_disjoint_gpointer_of_buffer_cell_l l #t b i = + loc_disjoint_includes (loc_buffer b) l (loc_pointer (gpointer_of_buffer_cell b i)) l + +let loc_disjoint_gsub_buffer_r l #t b i len = + loc_disjoint_includes l (loc_buffer b) l (loc_buffer (gsub_buffer b i len)) + +let loc_disjoint_gsub_buffer_l l #t b i len = + loc_disjoint_includes (loc_buffer b) l (loc_buffer (gsub_buffer b i len)) l + +let loc_disjoint_addresses_pointer #t p r n = + loc_disjoint_sym (loc_pointer p) (loc_addresses r n) + +let loc_disjoint_union_r_elim l l1 l2 = + loc_disjoint_includes l (loc_union l1 l2) l l1; + loc_disjoint_includes l (loc_union l1 l2) l l2 + +let loc_disjoint_union_l_elim l l1 l2 = () + +let modifies_trans_incl_l s12 h1 h2 s23 h3 = () + +let modifies_trans_incl_r s12 h1 h2 s23 h3 = () + +let modifies_fresh_frame_popped' h0 h1 s h2 h3 = + modifies_fresh_frame_popped h0 h1 s h2 h3 + +let buffer_includes_gsub_r_gen #t b0 b i len = + buffer_includes_gsub_r b i len; + buffer_includes_trans b0 b (gsub_buffer b i len) + +let readable_gpointer_of_buffer_cell_gsub #t h b i len j = + assert (gpointer_of_buffer_cell b j == gpointer_of_buffer_cell (gsub_buffer b i len) (UInt32.sub j i)) + +private +let rec buffer_contents_equal_aux + (#a: typ) + (b1 b2: buffer a) + (len: UInt32.t) +: HST.Stack bool + (requires (fun h -> + hasEq (type_of_typ a) /\ + UInt32.v len == UInt32.v (buffer_length b1) /\ + UInt32.v len == UInt32.v (buffer_length b2) /\ + buffer_readable h b1 /\ + buffer_readable h b2 + )) + (ensures (fun h0 z h1 -> + h1 == h0 /\ + UInt32.v len == UInt32.v (buffer_length b1) /\ + UInt32.v len == UInt32.v (buffer_length b2) /\ + (z == true <==> Seq.equal (buffer_as_seq h0 b1) (buffer_as_seq h0 b2)) + )) + (decreases (UInt32.v len)) += if len = 0ul + then true + else begin + let len' = UInt32.sub len 1ul in + let t : eqtype = type_of_typ a in + let r1 : t = read_buffer b1 len' in + let r2 : t = read_buffer b2 len' in + let b1' = sub_buffer b1 0ul len' in + let b2' = sub_buffer b2 0ul len' in + let h = HST.get () in + assert (Seq.equal (buffer_as_seq h b1) (Seq.snoc (buffer_as_seq h b1') r1)); + assert (Seq.equal (buffer_as_seq h b2) (Seq.snoc (buffer_as_seq h b2') r2)); + if r1 = r2 + then + buffer_contents_equal_aux b1' b2' len' + else + false + end + +let buffer_contents_equal #a b1 b2 len = + let b1' = sub_buffer b1 0ul len in + let b2' = sub_buffer b2 0ul len in + buffer_contents_equal_aux b1' b2' len + +let buffer_readable_intro_empty #t h b = + buffer_readable_intro h b + +let loc_disjoint_gsub_buffer_gpointer_of_buffer_cell #a b i len j = + assert (gpointer_of_buffer_cell b j == gpointer_of_buffer_cell (gsub_buffer b j 1ul) 0ul) + +let buffer_readable_gsub_intro #t h b i len = + buffer_readable_intro h (gsub_buffer b i len) + +let buffer_readable_gsub_elim #t h b i len = + buffer_readable_elim h (gsub_buffer b i len) + +let buffer_as_seq_gsub_buffer_append #t h b i len1 len2 = + Seq.lemma_eq_intro (buffer_as_seq h (gsub_buffer b i (UInt32.add len1 len2))) (Seq.append (buffer_as_seq h (gsub_buffer b i len1)) (buffer_as_seq h (gsub_buffer b (UInt32.add i len1) len2))) + +let buffer_as_seq_gsub_buffer_snoc #t h b i len = + Seq.lemma_eq_intro (buffer_as_seq h (gsub_buffer b i (UInt32.add len 1ul))) (Seq.snoc (buffer_as_seq h (gsub_buffer b i len)) (Seq.index (buffer_as_seq h b) (UInt32.v i + UInt32.v len))) + +let buffer_as_seq_gsub_buffer_cons #t h b i len = + Seq.lemma_eq_intro (buffer_as_seq h (gsub_buffer b i (UInt32.add len 1ul))) (Seq.cons (Seq.index (buffer_as_seq h b) (UInt32.v i)) (buffer_as_seq h (gsub_buffer b (UInt32.add i 1ul) len))) + +let buffer_snoc #t b i len v = + let h = HST.get () in + buffer_readable_gsub_elim h b i len; + write_buffer b (UInt32.add i len) v; + let h' = HST.get () in + buffer_readable_gsub_intro h' b i (UInt32.add len 1ul); + buffer_as_seq_gsub_buffer_snoc h' b i len; + assert (Seq.index (buffer_as_seq h' b) (UInt32.v (UInt32.add i len)) == v) + +let buffer_cons #t b i len v = + let h = HST.get () in + buffer_readable_gsub_elim h b (UInt32.add i 1ul) len; + write_buffer b i v; + let h' = HST.get () in + buffer_readable_gsub_intro h' b i (UInt32.add len 1ul); + buffer_as_seq_gsub_buffer_cons h' b i len + +let buffer_readable_gsub_merge #t b i len h = + buffer_readable_intro h b + +let buffer_readable_modifies_gsub #t b i len h0 h1 l = + buffer_readable_intro h1 (gsub_buffer b 0ul i); + buffer_readable_intro h1 (gsub_buffer b (UInt32.add i len) (UInt32.sub (buffer_length b) (UInt32.add i len))); + buffer_readable_gsub_merge b i len h1 diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived1.fsti b/stage0/ulib/legacy/FStar.Pointer.Derived1.fsti new file mode 100644 index 00000000000..78fac7a4758 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived1.fsti @@ -0,0 +1,564 @@ +(* + 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.Pointer.Derived1 +include FStar.Pointer.Base + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +val includes_gfield_gen + (#t: typ) + (p: pointer t) + (#l: struct_typ) + (q: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires (includes p q)) + (ensures (includes p (gfield q fd))) + [SMTPat (includes p (gfield q fd))] + +val includes_gufield_gen + (#t: typ) + (p: pointer t) + (#l: union_typ) + (q: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (includes p q)) + (ensures (includes p (gufield q fd))) + [SMTPat (includes p (gufield q fd))] + +val includes_gcell_gen + (#t: typ) + (p: pointer t) + (#length: array_length_t) + (#value: typ) + (q: pointer (TArray length value)) + (i: UInt32.t) +: Lemma + (requires (includes p q /\ UInt32.v i < UInt32.v length)) + (ensures (UInt32.v i < UInt32.v length /\ includes p (gcell q i))) + [SMTPat (includes p (gcell q i))] + +val loc_includes_union_assoc_r2l + (s1 s2 s3 s: loc) +: Lemma + (requires (loc_includes (loc_union s1 (loc_union s2 s3)) s)) + (ensures (loc_includes (loc_union (loc_union s1 s2) s3) s)) + [SMTPat (loc_includes (loc_union (loc_union s1 s2) s3) s)] + +val loc_includes_union_assoc_l2r + (s1 s2 s3 s: loc) +: Lemma + (requires (loc_includes (loc_union (loc_union s1 s2) s3) s)) + (ensures (loc_includes (loc_union s1 (loc_union s2 s3)) s)) + [SMTPat (loc_includes (loc_union s1 (loc_union s2 s3)) s)] + +val loc_includes_union_assoc_focalize_1 + (l1 l2 x r s: loc) +: Lemma + (requires (loc_includes (loc_union (loc_union l1 l2) (loc_union x r)) s)) + (ensures (loc_includes (loc_union l1 (loc_union (loc_union l2 x) r)) s)) + [SMTPat (loc_includes (loc_union l1 (loc_union (loc_union l2 x) r)) s)] + +val loc_includes_union_assoc_focalize_2 + (l x r1 r2 s: loc) +: Lemma + (requires (loc_includes (loc_union l (loc_union x (loc_union r1 r2))) s)) + (ensures (loc_includes (loc_union l (loc_union (loc_union x r1) r2)) s)) + [SMTPat (loc_includes (loc_union l (loc_union (loc_union x r1) r2)) s)] + +val loc_includes_region_union_r + (l: loc) + (s1 s2: Set.set HH.rid) +: Lemma + (requires (loc_includes l (loc_regions (Set.intersect s2 (Set.complement s1))))) + (ensures (loc_includes (loc_union l (loc_regions s1)) (loc_regions s2))) + [SMTPat (loc_includes (loc_union l (loc_regions s1)) (loc_regions s2))] + +val loc_includes_region_union_assoc + (l r: loc) + (s1 s2: Set.set HH.rid) +: Lemma + (requires (loc_includes (loc_union l r)) (loc_regions (Set.intersect s2 (Set.complement s1)))) + (ensures (loc_includes (loc_union l (loc_union (loc_regions s1) r)) (loc_regions s2))) + [SMTPat (loc_includes (loc_union l (loc_union (loc_regions s1) r)) (loc_regions s2))] + +val loc_disjoint_none_l + (s: loc) +: Lemma + (ensures (loc_disjoint loc_none s)) + [SMTPat (loc_disjoint loc_none s)] + +val loc_disjoint_union_l + (s s1 s2: loc) +: Lemma + (requires (loc_disjoint s1 s /\ loc_disjoint s2 s)) + (ensures (loc_disjoint (loc_union s1 s2) s)) + [SMTPat (loc_disjoint (loc_union s1 s2) s)] + +val loc_disjoint_gfield_r + (p: loc) + (#l: struct_typ) + (q: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires (loc_disjoint p (loc_pointer q))) + (ensures (loc_disjoint p (loc_pointer (gfield q fd)))) + [SMTPat (loc_disjoint p (loc_pointer (gfield q fd)))] + +val loc_disjoint_gfield_l + (p: loc) + (#l: struct_typ) + (q: pointer (TStruct l)) + (fd: struct_field l) +: Lemma + (requires (loc_disjoint (loc_pointer q) p)) + (ensures (loc_disjoint (loc_pointer (gfield q fd)) p)) + [SMTPat (loc_disjoint (loc_pointer (gfield q fd)) p)] + +val loc_disjoint_gufield_r + (p: loc) + (#l: struct_typ) + (q: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (loc_disjoint p (loc_pointer q))) + (ensures (loc_disjoint p (loc_pointer (gufield q fd)))) + [SMTPat (loc_disjoint p (loc_pointer (gufield q fd)))] + +val loc_disjoint_gufield_l + (p: loc) + (#l: struct_typ) + (q: pointer (TUnion l)) + (fd: struct_field l) +: Lemma + (requires (loc_disjoint (loc_pointer q) p)) + (ensures (loc_disjoint (loc_pointer (gufield q fd)) p)) + [SMTPat (loc_disjoint (loc_pointer (gufield q fd)) p)] + +val loc_disjoint_gcell_r + (p: loc) + (#value: typ) + (#len: array_length_t) + (q: pointer (TArray len value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v len /\ loc_disjoint p (loc_pointer q))) + (ensures (UInt32.v i < UInt32.v len /\ loc_disjoint p (loc_pointer (gcell q i)))) + [SMTPat (loc_disjoint p (loc_pointer (gcell q i)))] + +val loc_disjoint_gcell_l + (p: loc) + (#value: typ) + (#len: array_length_t) + (q: pointer (TArray len value)) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v len /\ loc_disjoint (loc_pointer q) p)) + (ensures (UInt32.v i < UInt32.v len /\ loc_disjoint (loc_pointer (gcell q i)) p)) + [SMTPat (loc_disjoint (loc_pointer (gcell q i)) p)] + +val loc_disjoint_gsingleton_buffer_of_pointer_r + (l: loc) + (#t: typ) + (p: pointer t) +: Lemma + (requires (loc_disjoint l (loc_pointer p))) + (ensures (loc_disjoint l (loc_buffer (gsingleton_buffer_of_pointer p)))) + [SMTPat (loc_disjoint l (loc_buffer (gsingleton_buffer_of_pointer p)))] + +val loc_disjoint_gsingleton_buffer_of_pointer_l + (l: loc) + (#t: typ) + (p: pointer t) +: Lemma + (requires (loc_disjoint (loc_pointer p) l)) + (ensures (loc_disjoint (loc_buffer (gsingleton_buffer_of_pointer p)) l)) + [SMTPat (loc_disjoint (loc_buffer (gsingleton_buffer_of_pointer p)) l)] + +val loc_disjoint_gbuffer_of_array_pointer_r + (l: loc) + (#t: typ) + (#len: array_length_t) + (p: pointer (TArray len t)) +: Lemma + (requires (loc_disjoint l (loc_pointer p))) + (ensures (loc_disjoint l (loc_buffer (gbuffer_of_array_pointer p)))) + [SMTPat (loc_disjoint l (loc_buffer (gbuffer_of_array_pointer p)))] + +val loc_disjoint_gbuffer_of_array_pointer_l + (l: loc) + (#t: typ) + (#len: array_length_t) + (p: pointer (TArray len t)) +: Lemma + (requires (loc_disjoint (loc_pointer p) l)) + (ensures (loc_disjoint (loc_buffer (gbuffer_of_array_pointer p)) l)) + [SMTPat (loc_disjoint (loc_buffer (gbuffer_of_array_pointer p)) l)] + +val loc_disjoint_gpointer_of_buffer_cell_r + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint l (loc_buffer b))) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint l (loc_pointer (gpointer_of_buffer_cell b i)))) + [SMTPat (loc_disjoint l (loc_pointer (gpointer_of_buffer_cell b i)))] + +val loc_disjoint_gpointer_of_buffer_cell_l + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) +: Lemma + (requires (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint (loc_buffer b) l)) + (ensures (UInt32.v i < UInt32.v (buffer_length b) /\ loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i)) l)) + [SMTPat (loc_disjoint (loc_pointer (gpointer_of_buffer_cell b i)) l)] + +val loc_disjoint_gsub_buffer_r + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_disjoint l (loc_buffer b))) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_disjoint l (loc_buffer (gsub_buffer b i len)))) + [SMTPat (loc_disjoint l (loc_buffer (gsub_buffer b i len)))] + +val loc_disjoint_gsub_buffer_l + (l: loc) + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_disjoint (loc_buffer b) l)) + (ensures (UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ loc_disjoint (loc_buffer (gsub_buffer b i len)) l)) + [SMTPat (loc_disjoint (loc_buffer (gsub_buffer b i len)) l)] + +val loc_disjoint_addresses_pointer + (#t: typ) + (p: pointer t) + (r: HH.rid) + (n: Set.set nat) +: Lemma + (requires (r <> frameOf p \/ (~ (Set.mem (as_addr p) n)))) + (ensures (loc_disjoint (loc_addresses r n) (loc_pointer p))) + [SMTPat (loc_disjoint (loc_addresses r n) (loc_pointer p))] + +val loc_disjoint_union_r_elim + (l l1 l2: loc) +: Lemma + (requires (loc_disjoint l (loc_union l1 l2))) + (ensures (loc_disjoint l l1 /\ loc_disjoint l l2)) + [SMTPat (loc_disjoint l (loc_union l1 l2))] + +val loc_disjoint_union_l_elim + (l l1 l2: loc) +: Lemma + (requires (loc_disjoint (loc_union l1 l2) l)) + (ensures (loc_disjoint l1 l /\ loc_disjoint l2 l)) + [SMTPat (loc_disjoint (loc_union l1 l2) l)] + +val modifies_trans_incl_l + (s12: loc) + (h1 h2: HS.mem) + (s23: loc) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3 /\ loc_includes s12 s23)) + (ensures (modifies s12 h1 h3)) + [SMTPat (modifies s12 h1 h2); SMTPat (modifies s23 h2 h3)] + +val modifies_trans_incl_r + (s12: loc) + (h1 h2: HS.mem) + (s23: loc) + (h3: HS.mem) +: Lemma + (requires (modifies s12 h1 h2 /\ modifies s23 h2 h3 /\ loc_includes s23 s12)) + (ensures (modifies s23 h1 h3)) + [SMTPat (modifies s12 h1 h2); SMTPat (modifies s23 h2 h3)] + +val modifies_fresh_frame_popped' + (h0 h1: HS.mem) + (s: loc) + (h2 h3: HS.mem) +: Lemma + (requires ( + HS.fresh_frame h0 h1 /\ + modifies (loc_union (loc_regions (Set.singleton (HS.get_tip h1))) s) h1 h2 /\ + (HS.get_tip h2) == (HS.get_tip h1) /\ + HS.popped h2 h3 + )) + (ensures ( + modifies s h0 h3 /\ + (HS.get_tip h3) == HS.get_tip h0 + )) + +val buffer_includes_gsub_r_gen + (#t: typ) + (b0: buffer t) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_includes b0 b + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_includes b0 (gsub_buffer b i len) + )) + [SMTPat (buffer_includes b0 (gsub_buffer b i len))] + +val readable_gpointer_of_buffer_cell_gsub + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (j: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v i <= UInt32.v j /\ + UInt32.v j < UInt32.v i + UInt32.v len /\ + buffer_readable h (gsub_buffer b i len) + )) + (ensures ( + UInt32.v j < UInt32.v (buffer_length b) /\ + readable h (gpointer_of_buffer_cell b j) + )) + [SMTPat (readable h (gpointer_of_buffer_cell b j)); SMTPat (buffer_readable h (gsub_buffer b i len))] + +val buffer_contents_equal + (#a: typ) + (b1 b2: buffer a) + (len: UInt32.t) +: HST.Stack bool + (requires (fun h -> + hasEq (type_of_typ a) /\ + UInt32.v len <= UInt32.v (buffer_length b1) /\ + UInt32.v len <= UInt32.v (buffer_length b2) /\ + buffer_readable h (gsub_buffer b1 0ul len) /\ + buffer_readable h (gsub_buffer b2 0ul len) + )) + (ensures (fun h0 z h1 -> + h1 == h0 /\ + UInt32.v len <= UInt32.v (buffer_length b1) /\ + UInt32.v len <= UInt32.v (buffer_length b2) /\ + (z == true <==> Seq.equal (buffer_as_seq h0 (gsub_buffer b1 0ul len)) (buffer_as_seq h0 (gsub_buffer b2 0ul len))) + )) + +val buffer_readable_intro_empty + (#t: typ) + (h: HS.mem) + (b: buffer t) +: Lemma + (requires ( + buffer_live h b /\ + UInt32.v (buffer_length b) == 0 + )) + (ensures (buffer_readable h b)) + [SMTPatOr [ + [SMTPat (buffer_readable h b)]; + [SMTPat (buffer_live h b)]; + ]] + +val loc_disjoint_gsub_buffer_gpointer_of_buffer_cell + (#a: typ) + (b: buffer a) + (i: UInt32.t) + (len: UInt32.t) + (j: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v j < UInt32.v (buffer_length b) /\ + (UInt32.v j < UInt32.v i \/ UInt32.v i + UInt32.v len <= UInt32.v j) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + UInt32.v j < UInt32.v (buffer_length b) /\ + loc_disjoint (loc_buffer (gsub_buffer b i len)) (loc_pointer (gpointer_of_buffer_cell b j)) + )) + [SMTPat (loc_disjoint (loc_buffer (gsub_buffer b i len)) (loc_pointer (gpointer_of_buffer_cell b j)))] + +val buffer_readable_gsub_intro + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_live h b /\ ( + forall (j: UInt32.t) . + (UInt32.v i <= UInt32.v j /\ + UInt32.v j < UInt32.v i + UInt32.v len) ==> + readable h (gpointer_of_buffer_cell b j) + ))) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_readable h (gsub_buffer b i len) + )) + +val buffer_readable_gsub_elim + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_readable h (gsub_buffer b i len) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_live h b /\ ( + forall (j: UInt32.t) . + (UInt32.v i <= UInt32.v j /\ + UInt32.v j < UInt32.v i + UInt32.v len) ==> + readable h (gpointer_of_buffer_cell b j) + ))) + +val buffer_as_seq_gsub_buffer_append + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len1: UInt32.t) + (len2: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len1 + UInt32.v len2 <= UInt32.v (buffer_length b) +// buffer_readable h (gsub_buffer b i (UInt32.add len1 len2)) + )) + (ensures ( + UInt32.v i + UInt32.v len1 + UInt32.v len2 <= UInt32.v (buffer_length b) /\ + buffer_as_seq h (gsub_buffer b i (UInt32.add len1 len2)) == Seq.append (buffer_as_seq h (gsub_buffer b i len1)) (buffer_as_seq h (gsub_buffer b (UInt32.add i len1) len2)) + )) + +val buffer_as_seq_gsub_buffer_snoc + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + buffer_as_seq h (gsub_buffer b i (UInt32.add len 1ul)) == Seq.snoc (buffer_as_seq h (gsub_buffer b i len)) (Seq.index (buffer_as_seq h b) (UInt32.v i + UInt32.v len)) + )) + +val buffer_as_seq_gsub_buffer_cons + (#t: typ) + (h: HS.mem) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) +: Lemma + (requires ( + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) + )) + (ensures ( + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + buffer_as_seq h (gsub_buffer b i (UInt32.add len 1ul)) == Seq.cons (Seq.index (buffer_as_seq h b) (UInt32.v i)) (buffer_as_seq h (gsub_buffer b (UInt32.add i 1ul) len)) + )) + +val buffer_snoc + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) +: HST.Stack unit + (requires (fun h -> + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + buffer_readable h (gsub_buffer b i len) + )) + (ensures (fun h _ h' -> + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + modifies (loc_pointer (gpointer_of_buffer_cell b (UInt32.add i len))) h h' /\ + buffer_readable h' (gsub_buffer b i (UInt32.add len 1ul)) /\ + buffer_as_seq h' (gsub_buffer b i (UInt32.add len 1ul)) == Seq.snoc (buffer_as_seq h (gsub_buffer b i len)) v + )) + +val buffer_cons + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) +: HST.Stack unit + (requires (fun h -> + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + buffer_readable h (gsub_buffer b (UInt32.add i 1ul) len) + )) + (ensures (fun h _ h' -> + UInt32.v i + UInt32.v len < UInt32.v (buffer_length b) /\ + modifies (loc_pointer (gpointer_of_buffer_cell b i)) h h' /\ + buffer_readable h' (gsub_buffer b i (UInt32.add len 1ul)) /\ + buffer_as_seq h' (gsub_buffer b i (UInt32.add len 1ul)) == Seq.cons v (buffer_as_seq h (gsub_buffer b (UInt32.add i 1ul) len)) + )) + +val buffer_readable_gsub_merge + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_readable h (gsub_buffer b 0ul i) /\ + buffer_readable h (gsub_buffer b i len) /\ ( + let off = UInt32.add i len in + buffer_readable h (gsub_buffer b off (UInt32.sub (buffer_length b) off)) + ))) + (ensures (buffer_readable h b)) + +val buffer_readable_modifies_gsub + (#t: typ) + (b: buffer t) + (i: UInt32.t) + (len: UInt32.t) + (h0 h1: HS.mem) + (l: loc) +: Lemma + (requires ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + modifies l h0 h1 /\ + loc_disjoint l (loc_buffer (gsub_buffer b 0ul i)) /\ + loc_disjoint l (loc_buffer (gsub_buffer b (UInt32.add i len) (UInt32.sub (buffer_length b) (UInt32.add i len)))) /\ + buffer_readable h0 b /\ + buffer_readable h1 (gsub_buffer b i len) + )) + (ensures ( + UInt32.v i + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_readable h1 b + )) diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived2.fst b/stage0/ulib/legacy/FStar.Pointer.Derived2.fst new file mode 100644 index 00000000000..f8df5b6c23f --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived2.fst @@ -0,0 +1,174 @@ +(* + 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.Pointer.Derived2 + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +private +let copy_buffer_contents_precond' + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (h: HS.mem) +: GTot Type0 += buffer_live h b /\ + buffer_readable h a /\ + buffer_length b == buffer_length a /\ + loc_disjoint (loc_buffer a) (loc_buffer b) + +private +let copy_buffer_contents_postcond' + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += copy_buffer_contents_precond' a b h /\ + modifies (loc_buffer b) h h' /\ + buffer_readable h' b /\ + buffer_as_seq h' b == buffer_as_seq h a + +private +let copy_buffer_contents_inv + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (len' : UInt32.t) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += copy_buffer_contents_precond' a b h /\ + modifies (loc_buffer b) h h' /\ + UInt32.v len' <= UInt32.v (buffer_length a) /\ + buffer_readable h' (gsub_buffer b 0ul len') /\ + buffer_as_seq h' (gsub_buffer b 0ul len') == buffer_as_seq h (gsub_buffer a 0ul len') + +private +val copy_buffer_contents_init + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (h: HS.mem) +: Lemma + (requires (copy_buffer_contents_precond' a b h)) + (ensures (copy_buffer_contents_inv a b 0ul h h)) + +let copy_buffer_contents_init #t a b h = + buffer_readable_intro_empty h (gsub_buffer b 0ul 0ul); + Seq.lemma_eq_intro (buffer_as_seq h (gsub_buffer b 0ul 0ul)) (buffer_as_seq h (gsub_buffer a 0ul 0ul)) + +private +val copy_buffer_contents_advance + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (len' : UInt32.t) + (h: Ghost.erased HS.mem) +: HST.Stack unit + (requires (fun h0 -> + copy_buffer_contents_inv a b len' (Ghost.reveal h) h0 /\ + UInt32.v len' < UInt32.v (buffer_length a) + )) + (ensures (fun h1 _ h2 -> + copy_buffer_contents_inv a b len' (Ghost.reveal h) h1 /\ + UInt32.v len' < UInt32.v (buffer_length a) /\ + copy_buffer_contents_inv a b (UInt32.add len' 1ul) (Ghost.reveal h) h2 + )) + +#set-options "--z3rlimit 16" + +let copy_buffer_contents_advance #t a b len' h = + let v = read_buffer a len' in + buffer_snoc b 0ul len' v; + buffer_as_seq_gsub_buffer_snoc (Ghost.reveal h) a 0ul len' + +private +val copy_buffer_contents_aux + (#t: typ) + (a: buffer t) (* source *) + (b: buffer t) (* destination *) + (len: UInt32.t) + (len': UInt32.t) + (h: Ghost.erased HS.mem) +: HST.Stack unit + (requires (fun h0 -> + copy_buffer_contents_inv a b len' (Ghost.reveal h) h0 /\ + len == buffer_length a + )) + (ensures (fun h0 _ h1 -> + copy_buffer_contents_inv a b len' (Ghost.reveal h) h0 /\ + copy_buffer_contents_postcond' a b (Ghost.reveal h) h1 + )) + (decreases (UInt32.v (buffer_length a) - UInt32.v len')) + +let rec copy_buffer_contents_aux #t a b len len' h = + if len = len' + then () + else begin + copy_buffer_contents_advance a b len' h; + copy_buffer_contents_aux a b len (UInt32.add len' 1ul) h + end + +let copy_buffer_contents_fin + (#t: typ) + (a: buffer t) (* source *) + (idx_a: UInt32.t) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (h: HS.mem) + (h' : HS.mem) +: Lemma + (requires ( + copy_buffer_contents_precond a idx_a b idx_b len h /\ + copy_buffer_contents_postcond' (gsub_buffer a idx_a len) (gsub_buffer b idx_b len) h h' + )) + (ensures ( + copy_buffer_contents_precond a idx_a b idx_b len h /\ + copy_buffer_contents_postcond a idx_a b idx_b len h h' + )) += () + +(* FIXME: Does not work if I directly try to define copy_buffer_contents *) + +(* FIXME: Works in batch mode (even with --record_hints --use_hints --detail_hint_replay --query_stats) but fails in interactive mode *) + +let copy_buffer_contents' + (#t: typ) + (a: buffer t) (* source *) + (idx_a: UInt32.t) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) +: HST.Stack unit + (requires (fun h -> + copy_buffer_contents_precond a idx_a b idx_b len h + )) + (ensures (fun h0 _ h1 -> + copy_buffer_contents_postcond a idx_a b idx_b len h0 h1 + )) += let h0 = HST.get () in + let a' = sub_buffer a idx_a len in + let b' = sub_buffer b idx_b len in + copy_buffer_contents_init a' b' h0; + copy_buffer_contents_aux a' b' len 0ul (Ghost.hide h0); + let h1 = HST.get () in + copy_buffer_contents_fin a idx_a b idx_b len h0 h1 + +let copy_buffer_contents = copy_buffer_contents' diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived2.fsti b/stage0/ulib/legacy/FStar.Pointer.Derived2.fsti new file mode 100644 index 00000000000..d5b3a4b6f46 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived2.fsti @@ -0,0 +1,67 @@ +(* + 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.Pointer.Derived2 +include FStar.Pointer.Base +include FStar.Pointer.Derived1 + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +let copy_buffer_contents_precond + (#t: typ) + (a: buffer t) (* source *) + (idx_a: UInt32.t) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: GTot Type0 += UInt32.v idx_a + UInt32.v len <= UInt32.v (buffer_length a) /\ + UInt32.v idx_b + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_live h (gsub_buffer b idx_b len) /\ + buffer_readable h (gsub_buffer a idx_a len) /\ + loc_disjoint (loc_buffer (gsub_buffer a idx_a len)) (loc_buffer (gsub_buffer b idx_b len)) + +let copy_buffer_contents_postcond + (#t: typ) + (a: buffer t) (* source *) + (idx_a: UInt32.t) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += copy_buffer_contents_precond a idx_a b idx_b len h /\ + modifies (loc_buffer (gsub_buffer b idx_b len)) h h' /\ + buffer_readable h' (gsub_buffer b idx_b len) /\ + buffer_as_seq h' (gsub_buffer b idx_b len) == buffer_as_seq h (gsub_buffer a idx_a len) + +val copy_buffer_contents + (#t: typ) + (a: buffer t) (* source *) + (idx_a: UInt32.t) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) +: HST.Stack unit + (requires (fun h -> + copy_buffer_contents_precond a idx_a b idx_b len h + )) + (ensures (fun h0 _ h1 -> + copy_buffer_contents_postcond a idx_a b idx_b len h0 h1 + )) diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived3.fst b/stage0/ulib/legacy/FStar.Pointer.Derived3.fst new file mode 100644 index 00000000000..60d00c692a5 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived3.fst @@ -0,0 +1,163 @@ +(* + 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.Pointer.Derived3 + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +private +let fill_buffer_precond' + (#t: typ) + (b: buffer t) (* destination *) + (h: HS.mem) +: GTot Type0 += buffer_live h b + +private +let fill_buffer_postcond' + (#t: typ) + (b: buffer t) (* destination *) + (v: type_of_typ t) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += fill_buffer_precond' b h /\ + modifies (loc_buffer b) h h' /\ + buffer_readable h' b /\ + buffer_as_seq h' b == Seq.create (UInt32.v (buffer_length b)) v + +private +let fill_buffer_inv + (#t: typ) + (b: buffer t) (* destination *) + (len' : UInt32.t) + (v: type_of_typ t) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += fill_buffer_precond' b h /\ + modifies (loc_buffer b) h h' /\ + UInt32.v len' <= UInt32.v (buffer_length b) /\ + buffer_readable h' (gsub_buffer b 0ul len') /\ + buffer_as_seq h' (gsub_buffer b 0ul len') == Seq.create (UInt32.v len') v + +private +val fill_buffer_init + (#t: typ) + (b: buffer t) (* destination *) + (v: type_of_typ t) + (h: HS.mem) +: Lemma + (requires (fill_buffer_precond' b h)) + (ensures (fill_buffer_inv b 0ul v h h)) + +let fill_buffer_init #t b v h = + buffer_readable_intro_empty h (gsub_buffer b 0ul 0ul); + Seq.lemma_eq_intro (buffer_as_seq h (gsub_buffer b 0ul 0ul)) (Seq.create 0 v) + +private +val fill_buffer_advance + (#t: typ) + (b: buffer t) (* destination *) + (len' : UInt32.t) + (v: type_of_typ t) + (h: Ghost.erased HS.mem) +: HST.Stack unit + (requires (fun h0 -> + fill_buffer_inv b len' v (Ghost.reveal h) h0 /\ + UInt32.v len' < UInt32.v (buffer_length b) + )) + (ensures (fun h1 _ h2 -> + fill_buffer_inv b len' v (Ghost.reveal h) h1 /\ + UInt32.v len' < UInt32.v (buffer_length b) /\ + fill_buffer_inv b (UInt32.add len' 1ul) v (Ghost.reveal h) h2 + )) + +#set-options "--z3rlimit 16" + +let fill_buffer_advance #t b len' v h = + buffer_snoc b 0ul len' v; + Seq.lemma_eq_intro (Seq.snoc (Seq.create (UInt32.v len') v) v) (Seq.create (UInt32.v (UInt32.add len' 1ul)) v) + +private +val fill_buffer_aux + (#t: typ) + (b: buffer t) (* destination *) + (len: UInt32.t) + (len': UInt32.t) + (v: type_of_typ t) + (h: Ghost.erased HS.mem) +: HST.Stack unit + (requires (fun h0 -> + fill_buffer_inv b len' v (Ghost.reveal h) h0 /\ + len == buffer_length b + )) + (ensures (fun h0 _ h1 -> + fill_buffer_inv b len' v (Ghost.reveal h) h0 /\ + fill_buffer_postcond' b v (Ghost.reveal h) h1 + )) + (decreases (UInt32.v (buffer_length b) - UInt32.v len')) + +let rec fill_buffer_aux #t b len len' v h = + if len = len' + then () + else begin + fill_buffer_advance b len' v h; + fill_buffer_aux b len (UInt32.add len' 1ul) v h + end + +let fill_buffer_fin + (#t: typ) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) + (h: HS.mem) + (h' : HS.mem) +: Lemma + (requires ( + fill_buffer_precond b idx_b len h /\ + fill_buffer_postcond' (gsub_buffer b idx_b len) v h h' + )) + (ensures ( + fill_buffer_precond b idx_b len h /\ + fill_buffer_postcond b idx_b len v h h' + )) += () + +let fill_buffer' + (#t: typ) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) +: HST.Stack unit + (requires (fun h -> + fill_buffer_precond b idx_b len h + )) + (ensures (fun h0 _ h1 -> + fill_buffer_postcond b idx_b len v h0 h1 + )) += let h0 = HST.get () in + let b' = sub_buffer b idx_b len in + fill_buffer_init b' v h0; + fill_buffer_aux b' len 0ul v (Ghost.hide h0); + let h1 = HST.get () in + fill_buffer_fin b idx_b len v h0 h1 + + +let fill_buffer = fill_buffer' diff --git a/stage0/ulib/legacy/FStar.Pointer.Derived3.fsti b/stage0/ulib/legacy/FStar.Pointer.Derived3.fsti new file mode 100644 index 00000000000..408c4ac1d4a --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.Derived3.fsti @@ -0,0 +1,61 @@ +(* + 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.Pointer.Derived3 +include FStar.Pointer.Base +include FStar.Pointer.Derived1 +// include FStar.Pointer.Derived2 // useless here + +module HH = FStar.HyperStack +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +let fill_buffer_precond + (#t: typ) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (h: HS.mem) +: GTot Type0 += UInt32.v idx_b + UInt32.v len <= UInt32.v (buffer_length b) /\ + buffer_live h (gsub_buffer b idx_b len) + +let fill_buffer_postcond + (#t: typ) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) + (h: HS.mem) + (h' : HS.mem) +: GTot Type0 += fill_buffer_precond b idx_b len h /\ + modifies (loc_buffer (gsub_buffer b idx_b len)) h h' /\ + buffer_readable h' (gsub_buffer b idx_b len) /\ + buffer_as_seq h' (gsub_buffer b idx_b len) == Seq.create (UInt32.v len) v + +val fill_buffer + (#t: typ) + (b: buffer t) (* destination *) + (idx_b: UInt32.t) + (len: UInt32.t) + (v: type_of_typ t) +: HST.Stack unit + (requires (fun h -> + fill_buffer_precond b idx_b len h + )) + (ensures (fun h0 _ h1 -> + fill_buffer_postcond b idx_b len v h0 h1 + )) diff --git a/stage0/ulib/legacy/FStar.Pointer.fst b/stage0/ulib/legacy/FStar.Pointer.fst new file mode 100644 index 00000000000..e4c35c867c7 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Pointer.fst @@ -0,0 +1,20 @@ +(* + 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.Pointer +include FStar.Pointer.Base +include FStar.Pointer.Derived1 +include FStar.Pointer.Derived2 +include FStar.Pointer.Derived3 diff --git a/stage0/ulib/legacy/FStar.Relational.Comp.fst b/stage0/ulib/legacy/FStar.Relational.Comp.fst new file mode 100644 index 00000000000..4e0a530a34a --- /dev/null +++ b/stage0/ulib/legacy/FStar.Relational.Comp.fst @@ -0,0 +1,116 @@ +(* + 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.Relational.Comp +open FStar.ST +open FStar.All +open FStar.Heap +open FStar.Relational.Relational + +type heap2 = double heap + +new_effect STATE2 = STATE_h heap2 +let st2_Pre = st_pre_h heap2 +let st2_Post' (a:Type) (pre:Type) = st_post_h' heap2 a pre +let st2_Post (a:Type) = st_post_h heap2 a +let st2_WP (a:Type) = st_wp_h heap2 a +effect ST2 (a:Type) (pre:st2_Pre) (post: (h:heap2 -> Tot (st2_Post' a (pre h)))) = + STATE2 a + (fun (p:st2_Post a) (h:heap2) -> pre h /\ (forall a h1. pre h /\ post h a h1 ==> p a h1)) (* WP *) +effect St2 (a:Type) = ST2 a (fun h -> True) (fun h0 r h1 -> True) +sub_effect + DIV ~> STATE2 = (fun (a:Type) (wp:pure_wp a) (p:st2_Post a) -> (fun h2 -> wp (fun a0 -> p a0 h2))) + +(* construct a st2_WP from 2 st_wps *) +val comp : (a:Type) -> (b:Type) -> (wp0:st_wp a) -> (wp1:st_wp b) -> Tot (st2_WP (rel a b)) +let comp a b wp0 wp1 p h2 = + wp0 (fun y0 h0 -> + wp1 (fun y1 h1 -> p (R y0 y1) (R h0 h1)) + (R?.r h2)) + (R?.l h2) + +//TODO: this should be conditional on the monotonicity of the wps +assume Monotone_comp: forall a b wp1 wp2 p1 p2. (forall x h. p1 x h ==> p2 x h) + ==> (forall h. comp a b wp1 wp2 p1 h + ==> comp a b wp1 wp2 p2 h) + + +assume val compose2: #a0:Type -> #b0:Type -> #wp0:(a0 -> Tot (st_wp b0)) + -> #a1:Type -> #b1:Type -> #wp1:(a1 -> Tot (st_wp b1)) + -> $c0:(x0:a0 -> STATE b0 (wp0 x0)) + -> $c1:(x1:a1 -> STATE b1 (wp1 x1)) + -> x: rel a0 a1 + -> STATE2 (rel b0 b1) + (comp b0 b1 (wp0 (R?.l x)) (wp1 (R?.r x))) + +val compose2_self : #a:Type -> #b:Type -> #wp:(a -> Tot (st_wp b)) + -> $c:(x:a -> STATE b (wp x)) + -> x: double a + -> STATE2 (double b) + (comp b b (wp (R?.l x)) (wp (R?.r x))) +let compose2_self #a #b #wp f x = compose2 #a #b #wp #a #b #wp f f x + +(* Combine two ST2 statements A and B to create a new ST2 statement C where + the left side of C is equivalent to the left side of A and + the right side of C is equivalent to the right side of B *) +assume val cross : #a:Type -> #b:Type -> #c:Type -> #d:Type + -> #p:(heap2 -> Type) + -> #p':(heap2 -> Type) + -> #q:(heap2 -> rel a b -> heap2 -> Type) + -> #q':(heap2 -> rel c d -> heap2 -> Type) + -> $c1:(double unit -> ST2 (rel a b) + (requires (fun h -> p h)) + (ensures (fun h1 r h2 -> q h1 r h2))) + -> $c2:(double unit -> ST2 (rel c d) + (requires (fun h -> p' h)) + (ensures (fun h1 r h2 -> q' h1 r h2))) + -> ST2 (rel a d) (requires (fun h -> (exists (hl:heap) (hr:heap). + p (R (R?.l h) hr) + /\ p' (R hl (R?.r h))))) + (ensures (fun h1 r h2 -> (exists (h2l:heap) (h2r:heap) (rl:c) (rr:b). + q h1 (R (R?.l r) rr) (R (R?.l h2) (h2r)) + /\ q' h1 (R rl (R?.r r)) (R h2l (R?.r h2))))) + + +(* Create a ST statement from a ST2 statement by projection *) +val decomp_l : (a0:Type) -> (a1:Type) -> (b0:Type) -> (b1:Type) -> (al:a0) -> (wp:(rel a0 a1 -> Tot (st2_WP (rel b0 b1)))) + -> Tot (st_wp_h heap b0) +let decomp_l a0 a1 b0 b1 al wp = + fun p hl -> + (exists (ar:a1) (hr:heap). + wp (R al ar) (fun y2 h2 -> p (R?.l y2) (R?.l h2)) + (R hl hr)) + +val decomp_r : (a0:Type) -> (a1:Type) -> (b0:Type) -> (b1:Type) -> (ar:a1) -> (wp:(rel a0 a1 -> Tot (st2_WP (rel b0 b1)))) + -> Tot (st_wp_h heap b1) +let decomp_r a0 a1 b0 b1 ar wp = + fun p hr -> + (exists (al:a0) (hl:heap). + wp (R al ar) (fun y2 h2 -> p (R?.r y2) (R?.r h2)) + (R hl hr)) + +assume val project_l : #a0:Type -> #b0:Type -> #a1:Type -> #b1:Type + -> #wp:(rel a0 a1 -> Tot (st2_WP (rel b0 b1))) + -> $c:(x:rel a0 a1 -> STATE2 (rel b0 b1) (wp x)) + -> x:a0 + -> STATE b0 (decomp_l a0 a1 b0 b1 x wp) + +assume val project_r : #a0:Type -> #b0:Type -> #a1:Type -> #b1:Type + -> #wp:(rel a0 a1 -> Tot (st2_WP (rel b0 b1))) + -> $c:(x:rel a0 a1 -> STATE2 (rel b0 b1) (wp x)) + -> x:a1 + -> STATE b1 (decomp_r a0 a1 b0 b1 x wp) + + diff --git a/stage0/ulib/legacy/FStar.Relational.Relational.fst b/stage0/ulib/legacy/FStar.Relational.Relational.fst new file mode 100644 index 00000000000..825b4110e63 --- /dev/null +++ b/stage0/ulib/legacy/FStar.Relational.Relational.fst @@ -0,0 +1,79 @@ +(* + 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.Relational.Relational +open FStar.Heap + +(* Relational Type constructor (Equivalent to pairs) *) +type rel (a:Type) (b:Type) : Type = + | R : l:a -> r:b -> rel a b + +(* Some frequently used abbreviations *) +type double (t:Type) = rel t t +type eq (t:Type) = p:(double t){R?.l p == R?.r p} + +let twice x = R x x +let tu = twice () + +(* functions to lift normal functions to Relational functions *) +val rel_map1T : ('a -> Tot 'b) -> (double 'a) -> Tot (double 'b) +let rel_map1T f (R x1 x2) = R (f x1) (f x2) + +val rel_map2Teq : #a:eqtype -> #b:eqtype -> #c:Type -> (a -> b -> Tot c) -> (double a) -> (double b) -> Tot (double c) +let rel_map2Teq #a #b #c f (R x1 x2) (R y1 y2) = R (f x1 y1) (f x2 y2) + +val rel_map2T : ('a -> 'b -> Tot 'c) -> (double 'a) -> (double 'b) -> Tot (double 'c) +let rel_map2T f (R x1 x2) (R y1 y2) = R (f x1 y1) (f x2 y2) + +val rel_map2G : ('a -> 'b -> GTot 'c) -> (double 'a) -> (double 'b) -> GTot (double 'c) +let rel_map2G f (R x1 x2) (R y1 y2) = R (f x1 y1) (f x2 y2) + +val rel_map3T : ('a -> 'b -> 'c -> Tot 'd) -> (double 'a) -> (double 'b) -> (double 'c) -> Tot (double 'd) +let rel_map3T f (R x1 x2) (R y1 y2) (R z1 z2) = R (f x1 y1 z1) (f x2 y2 z2) + +val rel_map3G : ('a -> 'b -> 'c -> GTot 'd) -> (double 'a) -> (double 'b) -> (double 'c) -> GTot (double 'd) +let rel_map3G f (R x1 x2) (R y1 y2) (R z1 z2) = R (f x1 y1 z1) (f x2 y2 z2) + +(* Some convenient arithmetic functions *) +let op_Hat_Plus = rel_map2T (fun x y -> x + y) +let op_Hat_Minus = rel_map2T (fun x y -> x - y) +let op_Hat_Star = rel_map2T (fun x y -> op_Multiply x y) +let op_Hat_Slash = rel_map2T (fun x y -> x / y) + +(* Some convenient list functions *) +val tl_rel: #a:Type -> l:double (list a){Cons? (R?.l l) /\ Cons? (R?.r l)}-> Tot (double (list a)) +let tl_rel #a (R (_::xs) (_::ys)) = R xs ys +let cons_rel (R x y) (R xs ys) = R (x::xs) (y::ys) +(* Some convenient tuple functions *) +let pair_rel (R a b) (R c d) = R (a,c) (b,d) +let triple_rel (R a b) (R c d) (R e f) = R (a,c,e) (b,d,f) +let fst_rel = rel_map1T fst +let snd_rel = rel_map1T snd + +(* Some convenient boolean functions *) +let and_rel = rel_map2T (fun x y -> x && y) +let or_rel = rel_map2T (fun x y -> x || y) +let eq_rel = rel_map2Teq (fun (x y:bool) -> x = y) + +(* Some convenient functions combining left and right side (for specification only) *) +let and_irel (R a b) = a && b +let or_irel (R a b) = a || b +let eq_irel (#t:eqtype) (x:(rel t t)) = match x with + | R a b -> a = b + +(* Some convenient functions on heap (for specification) *) +let sel_rel1 (#a:Type) (h:double heap) (r:ref a) = rel_map2G sel h (twice r) +//let sel_rel2 = rel_map2G sel +//let upd_rel = rel_map3G upd diff --git a/stage0/ulib/legacy/FStar.TaggedUnion.fst b/stage0/ulib/legacy/FStar.TaggedUnion.fst new file mode 100644 index 00000000000..8b1c34baf61 --- /dev/null +++ b/stage0/ulib/legacy/FStar.TaggedUnion.fst @@ -0,0 +1,428 @@ +(* + 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.TaggedUnion + +module P = FStar.Pointer +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(** Code of a tagged union *) + +let typ_l (l: P.union_typ) = { + P.name = "__tagged__" ^ l.P.name; + P.fields = P.([("tag", TBase TUInt32); ("union", TUnion l)]); +} + +let tag_field (l: P.union_typ) : P.struct_field (typ_l l) = "tag" +let union_field (l: P.union_typ) : P.struct_field (typ_l l) = "union" + +let typ (l: P.union_typ) : P.typ = P.TStruct (typ_l l) + +(******************************************************************************) + +(* Tagging, at the logical level *) + +(* Abstract predicate providing a proof that some field matches some tag. *) + +let field_matches_tag + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Tot Type0 += tag_of_field tgs f == t + +let rec field_of_tag_of_field' + (#l: P.struct_typ') + (tgs: tags' l) + (f: P.struct_field' l) +: Lemma (field_of_tag' #l tgs (tag_of_field' #l tgs f) == f) + [SMTPat (field_of_tag' #l tgs (tag_of_field' #l tgs f))] += let ((f', _) :: l') = l in + let (t' :: tgs') = tgs in + if f = f' then () + else ( + let ff : string = f in + field_of_tag_of_field' #l' tgs' ff + ) + +let field_of_tag_of_field + (#l: P.union_typ) + (tgs: tags l) + (f: P.struct_field l) +: Lemma (field_of_tag #l tgs (tag_of_field #l tgs f) == f) + [SMTPat (field_of_tag #l tgs (tag_of_field #l tgs f))] += field_of_tag_of_field' tgs f + +let rec tag_of_field_of_tag' + (#l: P.struct_typ') + (tgs: tags' l) + (t: UInt32.t) +: Lemma + (requires (List.Tot.mem t tgs)) + (ensures ( + List.Tot.mem t tgs /\ + tag_of_field' #l tgs (field_of_tag' #l tgs t) == t + )) + [SMTPat (tag_of_field' #l tgs (field_of_tag' #l tgs t))] += let ((f', _) :: l') = l in + let (t' :: tgs') = tgs in + if t = t' then () + else ( + tag_of_field_of_tag' #l' tgs' t + ) + +let tag_of_field_of_tag + (#l: P.union_typ) + (tgs: tags l) + (t: UInt32.t) +: Lemma + (requires (List.Tot.mem t tgs)) + (ensures ( + List.Tot.mem t tgs /\ + tag_of_field #l tgs (field_of_tag #l tgs t) == t + )) + [SMTPat (tag_of_field #l tgs (field_of_tag #l tgs t))] += tag_of_field_of_tag' tgs t + +let field_matches_tag_intro + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (tag_of_field tgs f == t)) + (ensures (field_matches_tag tgs f t)) += () + +let field_matches_tag_elim + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (field_matches_tag tgs f t)) + (ensures (tag_of_field tgs f == t)) += () + +let assert_field_matches_tag + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (normalize_term (tag_of_field tgs f) == t)) + (ensures (field_matches_tag tgs f t)) += () + +(******************************************************************************) + +(* Stateful invariant *) + +let valid + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: GTot Type0 += + let tag_ptr = P.gfield p (tag_field l) in + let u_ptr = P.gfield p (union_field l) in + let t = P.gread h tag_ptr in + P.readable h tag_ptr /\ + List.Tot.mem t tgs /\ + (let f = field_of_tag #l tgs t in + P.is_active_union_field h u_ptr f) + +let valid_live + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: Lemma (requires (valid h tgs p)) + (ensures (P.live h p)) + [SMTPat (valid h tgs p)] += () + +(******************************************************************************) + +(* Operations *) + +let gread_tag + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: GTot UInt32.t += P.gread h (P.gfield p (tag_field l)) + +let read_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) +: HST.Stack UInt32.t + (requires (fun h -> valid h tgs p)) + (ensures (fun h0 t h1 -> + h0 == h1 /\ + List.Tot.mem t tgs /\ + t == gread_tag h0 tgs p)) += P.read (P.field p (tag_field l)) + + +let gfield + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: GTot (p': P.pointer (P.typ_of_struct_field l f) { P.includes p p' }) += P.gufield (P.gfield p (union_field l)) f + + +let field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: HST.Stack (P.pointer (P.typ_of_struct_field l f)) + (requires (fun h -> + valid h tgs p /\ + gread_tag h tgs p == normalize_term (tag_of_field tgs f) + )) + (ensures (fun h0 p' h1 -> + h0 == h1 /\ + field_matches_tag tgs f (gread_tag h0 tgs p) /\ + p' == gfield tgs p f + )) += P.ufield (P.field p (union_field l)) f + +// We could also require the user to manually provide the integer tagged. I +// claim it should not be needed since we need to normalise/inline write before +// extraction anyway + +let write + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (v: P.type_of_typ (P.typ_of_struct_field l f)) +: HST.Stack unit + (requires (fun h -> + P.live h p + )) + (ensures (fun h0 _ h1 -> + P.live h0 p /\ P.live h1 p /\ + P.modifies_1 p h0 h1 /\ + P.readable h1 p /\ + valid h1 tgs p /\ + gread_tag h1 tgs p == normalize_term (tag_of_field tgs f) /\ + field_matches_tag tgs f (gread_tag h1 tgs p) /\ + P.gread h1 (gfield tgs p f) == v + )) += + let tag_ptr = P.field p (tag_field l) in + let u_ptr = P.field p (union_field l) in + let t = tag_of_field #l tgs f in + P.write tag_ptr t; + let h11 = HST.get () in + P.write (P.ufield u_ptr f) v; + let h1 = HST.get () in + // SMTPats for this lemma do not seem to trigger? +// P.no_upd_lemma_1 h11 h1 u_ptr tag_ptr; + assert (P.readable h1 tag_ptr); + assert (P.readable h1 u_ptr); + P.readable_struct_fields_readable_struct h1 p; + let uf = P.ufield u_ptr f in + P.is_active_union_field_includes_readable #l h1 u_ptr f uf; + assert (P.is_active_union_field #l h1 u_ptr f) + +let write_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: HST.Stack unit + (requires (fun h -> + valid h tgs p + )) + (ensures (fun h0 _ h1 -> + valid h0 tgs p /\ valid h1 tgs p + /\ P.modifies_1 p h0 h1 + /\ gread_tag h1 tgs p == normalize_term (tag_of_field tgs f) + /\ field_matches_tag tgs f (gread_tag h1 tgs p) + )) += + let tag_ptr = P.field p (tag_field l) in + let u_ptr : P.pointer (P.TUnion l) = P.field p (union_field l) in + let t = tag_of_field #l tgs f in + P.write tag_ptr t; + P.write_union_field u_ptr f + +(******************************************************************************) + +(* Lemmas *) + +let includes_gfield + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: Lemma + (requires True) + (ensures (P.includes p (gfield tgs p f))) + [SMTPat (P.includes p (gfield tgs p f))] += () + +let live_gfield #l tgs p f h = () + +let modifies_1_valid + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) + (#t': P.typ) + (p': P.pointer t') +: Lemma + (requires ( + valid h0 tgs p /\ + field_matches_tag tgs f (gread_tag h0 tgs p) /\ + P.modifies_1 (gfield tgs p f) h0 h1 /\ + P.includes (gfield tgs p f) p' /\ + P.readable h1 p' + )) + (ensures (valid h1 tgs p)) + [SMTPat (valid #l h0 tgs p); SMTPat (P.modifies_1 (gfield #l tgs p f) h0 h1); + SMTPat (P.includes #_ #t' (gfield #l tgs p f) p')] += + let u_ptr = P.gfield p (union_field l) in + P.is_active_union_field_includes_readable h1 u_ptr f p' + +let modifies_1_field_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires ( + valid h0 tgs p /\ + P.modifies_1 (gfield tgs p f) h0 h1 + )) + (ensures (gread_tag h1 tgs p == gread_tag h0 tgs p)) + [SMTPat (valid #l h0 tgs p); SMTPat (P.modifies_1 (gfield #l tgs p f) h0 h1)] += () + +let modifies_1_field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires (valid h0 tgs p /\ P.modifies_1 (gfield tgs p f) h0 h1)) + (ensures (P.modifies_1 p h0 h1)) + [SMTPat (valid #l h0 tgs p); SMTPat (P.modifies_1 (gfield #l tgs p f) h0 h1)] += () + +let modifies_1_field_tag_equal + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires (valid h0 tgs p /\ P.modifies_1 (gfield tgs p f) h0 h1)) + (ensures (gread_tag h0 tgs p == gread_tag h1 tgs p)) + [SMTPat (valid h0 tgs p); SMTPat (gread_tag h1 tgs p); SMTPat (gfield tgs p f)] += () + +let readable_intro + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h: HS.mem) +: Lemma + (requires ( + valid h tgs p /\ + P.readable h (gfield tgs p f) + )) + (ensures (P.readable h p)) + [SMTPat (valid #l h tgs p); SMTPat (P.readable h (gfield #l tgs p f))] += P.readable_struct_fields_readable_struct h p + +let readable_field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h: HS.mem) +: Lemma + (requires ( + valid h tgs p /\ P.readable h p /\ + field_matches_tag tgs f (gread_tag h tgs p) + )) + (ensures (P.readable h (gfield tgs p f))) + [SMTPat (P.readable h (gfield tgs p f))] += () + +(******************************************************************************) + +(* Logical representation of a tagged union. +*) + +let raw_get_tag (#l: P.union_typ) (tu: raw l) +: Tot UInt32.t += + P.struct_sel #(typ_l l) tu (tag_field l) + +let raw_get_field (#l: P.union_typ) (tu: raw l) +: GTot (P.struct_field l) += + P.union_get_key #l (P.struct_sel #(typ_l l) tu (union_field l)) + +let raw_get_value (#l: P.union_typ) (tu: raw l) (f: P.struct_field l) +: Pure (P.type_of_typ (P.typ_of_struct_field l f)) + (requires (raw_get_field tu == f)) + (ensures (fun _ -> True)) += + let u : P.union l = P.struct_sel #(typ_l l) tu (union_field l) in + P.union_get_value u f + +(* Lemma: "valid p ==> matching_tags (gread p)" *) + +let valid_matching_tags + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: Lemma + (requires (valid h tgs p)) + (ensures (matching_tags (P.gread h p) tgs)) + [SMTPatOr [[SMTPat (valid h tgs p)]; [SMTPat (matching_tags (P.gread h p) tgs)]]] += () + + +// Not sure if useful +(* +let read + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: HST.Stack (t l tgs) + (requires (fun h -> + P.live h p /\ P.readable h p /\ + valid h tgs p)) + (ensures (fun h0 tu h1 -> + h0 == h1 /\ + (let raw_tu : raw l = tu in + raw_tu == P.gread h0 p) + )) += P.read p +*) diff --git a/stage0/ulib/legacy/FStar.TaggedUnion.fsti b/stage0/ulib/legacy/FStar.TaggedUnion.fsti new file mode 100644 index 00000000000..f67223524df --- /dev/null +++ b/stage0/ulib/legacy/FStar.TaggedUnion.fsti @@ -0,0 +1,452 @@ +(* + 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.TaggedUnion + +module P = FStar.Pointer +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST + +(** Code + + The code of a tagged union with fields `l` is `typ l` +*) + +val typ (l: P.union_typ) : P.typ + +(******************************************************************************) + +(* Tagging, at the logical level + + `tags l` defines "physical tags" (i.e. integers) for the fields of `l`. +*) + +let tags' (l: P.struct_typ') : Tot Type0 = + tl: list UInt32.t { + List.Tot.length tl == List.Tot.length l /\ + List.Tot.noRepeats tl + } + +let tags (l: P.union_typ) : Tot Type0 = + tags' l.P.fields + +(* Get a field from its physical tag. *) +let rec field_of_tag' + (#l: P.struct_typ') + (tgs: tags' l) + (t: UInt32.t) +: Pure (P.struct_field' l) + (requires (List.Tot.mem t tgs)) + (ensures (fun _ -> True)) += let ((f, _) :: l') = l in + let (t' :: tgs') = tgs in + if t = t' then f + else ( + assert (Cons? l'); + let ff' : string = field_of_tag' #l' tgs' t in + ff' + ) + +let field_of_tag + (#l: P.union_typ) + (tgs: tags l) + (t: UInt32.t) +: Pure (P.struct_field l) + (requires (List.Tot.mem t tgs)) + (ensures (fun _ -> True)) += field_of_tag' tgs t + +(* Get the physical tag corresponding to a field. *) +let rec tag_of_field' + (#l: P.struct_typ') + (tgs: tags' l) + (f: P.struct_field' l) +: Pure UInt32.t + (requires True) + (ensures (fun t -> List.Tot.mem t tgs)) += let ((f', _) :: l') = l in + let (t :: tgs') = tgs in + if f = f' then t + else ( + assert (Cons? l'); + let ff : string = f in + tag_of_field' #l' tgs' ff + ) + +let tag_of_field + (#l: P.union_typ) + (tgs: tags l) + (f: P.struct_field l) +: Pure UInt32.t + (requires True) + (ensures (fun t -> List.Tot.mem t tgs)) += tag_of_field' tgs f + +(* Abstract predicate providing a proof that some field matches some tag. + + It is directly implemented using `tag_of_field`, but is useful on its own: + typically, we want to only use `tag_of_field` (or `field_of_tag`) at + normalization time, because unfolding them in Z3 does not scale. However, we + still want to require that some field matches some tag in lemmas + automatically used by Z3 - and at that stage, the normalizer cannot run. + + The strategy is therefore for operations that are called by the user to use + `tag_of_field`/`field_of_tag` in a `normalize_term`, and provide as a + post-condition that `field_matches_tag` holds. This fact can then be used by + lemmas triggered in Z3. +*) +val field_matches_tag + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Tot Type0 + +val field_of_tag_of_field + (#l: P.union_typ) + (tgs: tags l) + (f: P.struct_field l) +: Lemma (field_of_tag #l tgs (tag_of_field #l tgs f) == f) + [SMTPat (field_of_tag #l tgs (tag_of_field #l tgs f))] + +val tag_of_field_of_tag + (#l: P.union_typ) + (tgs: tags l) + (t: UInt32.t) +: Lemma + (requires (List.Tot.mem t tgs)) + (ensures ( + List.Tot.mem t tgs /\ + tag_of_field #l tgs (field_of_tag #l tgs t) == t + )) + [SMTPat (tag_of_field #l tgs (field_of_tag #l tgs t))] + +val field_matches_tag_intro + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (tag_of_field tgs f == t)) + (ensures (field_matches_tag tgs f t)) + +val field_matches_tag_elim + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (field_matches_tag tgs f t)) + (ensures (tag_of_field tgs f == t)) + +val assert_field_matches_tag + (#l: P.union_typ) (tgs: tags l) + (f: P.struct_field l) (t: UInt32.t) +: Lemma + (requires (normalize_term (tag_of_field tgs f) == t)) + (ensures (field_matches_tag tgs f t)) + +(******************************************************************************) + +(* Stateful invariant + + `valid h tgs p` states that p points to a tagged union: + - which physical tag is readable and valid wrt `tgs` + - which union has an active field corresponding to its physical tag +*) + +val valid + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: GTot Type0 + +val valid_live + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: Lemma (requires (valid h tgs p)) + (ensures (P.live h p)) + [SMTPat (valid h tgs p)] + + +(******************************************************************************) + +(* Operations *) + +val gread_tag + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: GTot UInt32.t + +val read_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) +: HST.Stack UInt32.t + (requires (fun h -> valid h tgs p)) + (ensures (fun h0 t h1 -> + h0 == h1 /\ + List.Tot.mem t tgs /\ + t == gread_tag h0 tgs p)) + + +val gfield + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: GTot (p': P.pointer (P.typ_of_struct_field l f) { P.includes p p' }) + + +val field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: HST.Stack (P.pointer (P.typ_of_struct_field l f)) + (requires (fun h -> + valid h tgs p /\ + gread_tag h tgs p == normalize_term (tag_of_field tgs f) + )) + (ensures (fun h0 p' h1 -> + h0 == h1 /\ + field_matches_tag tgs f (gread_tag h0 tgs p) /\ + p' == gfield tgs p f + )) + + +val write + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (v: P.type_of_typ (P.typ_of_struct_field l f)) +: HST.Stack unit + (requires (fun h -> + P.live h p + )) + (ensures (fun h0 _ h1 -> + P.live h0 p /\ P.live h1 p /\ + P.modifies_1 p h0 h1 /\ + P.readable h1 p /\ + valid h1 tgs p /\ + gread_tag #l h1 tgs p == normalize_term (tag_of_field tgs f) /\ + field_matches_tag tgs f (gread_tag h1 tgs p) /\ + P.gread h1 (gfield tgs p f) == v + )) + +val write_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: HST.Stack unit + (requires (fun h -> + valid h tgs p + )) + (ensures (fun h0 _ h1 -> + valid h0 tgs p /\ valid h1 tgs p + /\ P.modifies_1 p h0 h1 + /\ gread_tag #l h1 tgs p == normalize_term (tag_of_field tgs f) + /\ field_matches_tag tgs f (gread_tag h1 tgs p) + )) + +(******************************************************************************) + +(* Lemmas *) + +val includes_gfield + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: Lemma + (requires True) + (ensures (P.includes p (gfield tgs p f))) + +let includes_gfield_gen + (#t: P.typ) + (q: P.pointer t) + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) +: Lemma + (requires (P.includes q p)) + (ensures (P.includes q (gfield tgs p f))) + [SMTPat (P.includes q (gfield tgs p f))] += includes_gfield tgs p f; + P.includes_trans q p (gfield tgs p f) + +val live_gfield + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h: HS.mem) +: Lemma + (P.live h (gfield tgs p f) <==> P.live h p) + [SMTPat (P.live h (gfield tgs p f))] + +val modifies_1_valid + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) + (#t': P.typ) + (p': P.pointer t') +: Lemma + (requires ( + valid h0 tgs p /\ + field_matches_tag tgs f (gread_tag h0 tgs p) /\ + P.modifies_1 (gfield tgs p f) h0 h1 /\ + P.includes (gfield tgs p f) p' /\ + P.readable h1 p' + )) + (ensures (valid h1 tgs p)) + [SMTPat (valid #l h0 tgs p); + SMTPat (P.readable h1 p'); + SMTPat (gfield #l tgs p f)] + +val modifies_1_field_tag + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires ( + valid h0 tgs p /\ + P.modifies_1 (gfield tgs p f) h0 h1 + )) + (ensures (gread_tag h1 tgs p == gread_tag h0 tgs p)) + [SMTPat (valid #l h0 tgs p); SMTPat (gfield tgs p f); SMTPat (gread_tag h1 tgs p)] + +val modifies_1_field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires (valid h0 tgs p /\ P.modifies_1 (gfield tgs p f) h0 h1)) + (ensures (P.modifies_1 p h0 h1)) + [SMTPat (valid #l h0 tgs p); SMTPat (P.modifies_1 (gfield #l tgs p f) h0 h1)] + +val modifies_1_field_tag_equal + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h0 h1: HS.mem) +: Lemma + (requires (valid h0 tgs p /\ P.modifies_1 (gfield tgs p f) h0 h1)) + (ensures (gread_tag h0 tgs p == gread_tag h1 tgs p)) + [SMTPat (valid h0 tgs p); SMTPat (gread_tag h1 tgs p); SMTPat (gfield tgs p f)] + +val readable_intro + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h: HS.mem) +: Lemma + (requires ( + valid h tgs p /\ + P.readable h (gfield tgs p f) + )) + (ensures (P.readable h p)) + [SMTPat (valid #l h tgs p); SMTPat (P.readable h (gfield #l tgs p f))] + + +val readable_field + (#l: P.union_typ) + (tgs: tags l) + (p: P.pointer (typ l)) + (f: P.struct_field l) + (h: HS.mem) +: Lemma + (requires ( + valid h tgs p /\ P.readable h p /\ + field_matches_tag tgs f (gread_tag h tgs p) + )) + (ensures (P.readable h (gfield tgs p f))) + [SMTPat (P.readable h (gfield #l tgs p f))] + + +(******************************************************************************) + +(* Logical representation of a tagged union. +*) + +let raw (l: P.union_typ) : Tot Type0 = P.type_of_typ (typ l) + +val raw_get_tag (#l: P.union_typ) (tu: raw l): Tot UInt32.t +val raw_get_field (#l: P.union_typ) (tu: raw l): GTot (P.struct_field l) + +val raw_get_value (#l: P.union_typ) (tu: raw l) (f: P.struct_field l) +: Pure (P.type_of_typ (P.typ_of_struct_field l f)) + (requires (raw_get_field tu == f)) + (ensures (fun _ -> True)) + +let matching_tags + (#l: P.union_typ) + (raw_tu: raw l) + (tgs: tags l) +: Tot Type += + let t = raw_get_tag raw_tu in + List.Tot.mem t tgs /\ + field_of_tag tgs t == raw_get_field raw_tu + + +let t (l: P.union_typ) (tgs: tags l) : Tot Type0 = + tu : raw l { matching_tags tu tgs } + +let get_field (#l: P.union_typ) (#tgs: tags l) (tu: t l tgs) +: GTot (P.struct_field l) += + raw_get_field tu + +let get_tag (#l: P.union_typ) (#tgs: tags l) (tu: t l tgs) +: Pure (UInt32.t) + (requires True) + (ensures (fun t -> + List.Tot.mem t tgs /\ + t == tag_of_field tgs (get_field tu))) += + raw_get_tag #l tu + +let get_value + (#l: P.union_typ) (#tgs: tags l) + (tu: t l tgs) + (f: P.struct_field l) +: Pure (P.type_of_typ (P.typ_of_struct_field l f)) + (requires (get_field tu == f)) + (ensures (fun _ -> True)) += + raw_get_value #l tu f + +(* Lemma: "valid p ==> matching_tags (gread p)" *) + +val valid_matching_tags + (#l: P.union_typ) + (h: HS.mem) + (tgs: tags l) + (p: P.pointer (typ l)) +: Lemma + (requires (valid h tgs p)) + (ensures (matching_tags (P.gread h p) tgs)) + [SMTPatOr [[SMTPat (valid h tgs p)]; [SMTPat (matching_tags (P.gread h p) tgs)]]] diff --git a/stage0/ulib/legacy/FStar.TwoLevelHeap.fst b/stage0/ulib/legacy/FStar.TwoLevelHeap.fst new file mode 100644 index 00000000000..0e9cd100361 --- /dev/null +++ b/stage0/ulib/legacy/FStar.TwoLevelHeap.fst @@ -0,0 +1,88 @@ +(* + 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.TwoLevelHeap +open FStar.Map +open FStar.Heap +type rid = int //region id +type t = Map.t rid heap + +let st_pre = st_pre_h t +let st_post' (a:Type) (pre:Type) = st_post_h' t a pre +let st_post (a:Type) = st_post_h t a +let st_wp (a:Type) = st_wp_h t a +new_effect STATE = STATE_h t +effect State (a:Type) (wp:st_wp a) = + STATE a wp +effect ST (a:Type) (pre:st_pre) (post: (h0:t -> Tot (st_post' a (pre h0)))) = + STATE a + (fun (p:st_post a) (h:t) -> pre h /\ (forall a h1. pre h /\ post h a h1 ==> p a h1)) (* WP *) +effect St (a:Type) = + ST a (fun h -> True) (fun h0 r h1 -> True) +sub_effect + DIV ~> STATE = fun (a:Type) (wp:pure_wp a) (p:st_post a) (h:t) -> wp (fun a -> p a h) + +type rref (id:rid) (a:Type) = ref a +val as_ref : #a:Type -> #id:rid -> r:rref id a -> Tot (ref a) +let as_ref #a #id r = r + +private val ref_as_rref : #a:Type -> i:rid -> r:ref a -> Tot (rref i a) +let ref_as_rref #a i r = r + +val lemma_as_ref_inj: #a:Type -> #i:rid -> r:rref i a + -> Lemma (requires (True)) + (ensures ((ref_as_rref i (as_ref r) == r))) + [SMTPat (as_ref r)] +let lemma_as_ref_inj #a #i r = () + +assume val new_region: unit -> ST rid + (requires (fun m -> True)) + (ensures (fun (m0:t) (id:rid) (m1:t) -> exists (h:heap). not(Map.contains m0 id) /\ m1==Map.upd m0 id h)) + +let sel (#a:Type) (#i:rid) (m:t) (r:rref i a) = Heap.sel (Map.sel m i) (as_ref r) +let upd (#a:Type) (#i:rid) (m:t) (r:rref i a) (v:a) = Map.upd m i (Heap.upd (Map.sel m i) (as_ref r) v) + +assume val ralloc: #a:Type -> i:rid -> init:a -> ST (rref i a) + (requires (fun m -> Map.contains m i)) + (ensures (fun m0 x m1 -> + let region_i = Map.sel m0 i in + (~ (Heap.contains region_i (as_ref x)) + /\ m1==Map.upd m0 i (Heap.upd region_i (as_ref x) init)))) + +assume val op_Colon_Equals: #a:Type -> #i:rid -> r:rref i a -> v:a -> ST unit + (requires (fun m -> True)) + (ensures (fun m0 _u m1 -> m1== Map.upd m0 i (Heap.upd (Map.sel m0 i) (as_ref r) v))) + +assume val op_Bang:#a:Type -> #i:rid -> r:rref i a -> ST a + (requires (fun m -> True)) + (ensures (fun m0 x m1 -> m1==m0 /\ x==Heap.sel (Map.sel m0 i) (as_ref r))) + +assume val get: unit -> ST t + (requires (fun m -> True)) + (ensures (fun m0 x m1 -> m0==x /\ m1==m0)) + +let modifies (s:Set.set rid) (m0:t) (m1:t) = + Map.equal m1 (Map.concat m1 (Map.restrict (Set.complement s) m0)) + +let fresh_region (i:rid) (m0:t) (m1:t) = + not (Map.contains m0 i) + /\ Map.contains m1 i + +let contains_ref (#a:Type) (#i:rid) (r:rref i a) (m:t) = + Map.contains m i /\ Heap.contains (Map.sel m i) (as_ref r) + +let fresh_rref (#a:Type) (#i:rid) (r:rref i a) (m0:t) (m1:t) = + ~ (Heap.contains (Map.sel m0 i) (as_ref r)) + /\ (Heap.contains (Map.sel m1 i) (as_ref r)) diff --git a/stage0/ulib/legacy/LowStar.BufferCompat.fst b/stage0/ulib/legacy/LowStar.BufferCompat.fst new file mode 100644 index 00000000000..6a037223b83 --- /dev/null +++ b/stage0/ulib/legacy/LowStar.BufferCompat.fst @@ -0,0 +1,104 @@ +(* + 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 LowStar.BufferCompat +include LowStar.Buffer + +module HS = FStar.HyperStack +module HST = FStar.HyperStack.ST +module U32 = FStar.UInt32 +module G = FStar.Ghost +module Seq = FStar.Seq + +unfold +let rcreate_post_mem_common + (#a: Type) + (r: HS.rid) + (len: nat) + (b: buffer a) + (h0 h1: HS.mem) + (s:Seq.seq a) += alloc_post_mem_common b h0 h1 s /\ frameOf b == r /\ length b == len + +inline_for_extraction +let rfree + (#a: Type) + (b: buffer a) +: HST.ST unit + (requires (fun h0 -> live h0 b /\ freeable b)) + (ensures (fun h0 _ h1 -> + (not (g_is_null b)) /\ + Map.domain (HS.get_hmap h1) `Set.equal` Map.domain (HS.get_hmap h0) /\ + (HS.get_tip h1) == (HS.get_tip h0) /\ + modifies (loc_addr_of_buffer b) h0 h1 /\ + HS.live_region h1 (frameOf b) + )) += free b + +inline_for_extraction +let rcreate + (#a: Type) + (r: HS.rid) + (init: a) + (len: U32.t) +: HST.ST (buffer a) + (requires (fun h -> HST.is_eternal_region r /\ U32.v len > 0)) + (ensures (fun h b h' -> + rcreate_post_mem_common r (U32.v len) b h h' (Seq.create (U32.v len) init) /\ + recallable b + )) += let b = gcmalloc r init len in + b + +inline_for_extraction +let rcreate_mm + (#a: Type) + (r: HS.rid) + (init: a) + (len: U32.t) +: HST.ST (buffer a) + (requires (fun h -> HST.is_eternal_region r /\ U32.v len > 0)) + (ensures (fun h b h' -> + rcreate_post_mem_common r (U32.v len) b h h' (Seq.create (U32.v len) init) /\ + freeable b + )) += malloc r init len + +inline_for_extraction +let create + (#a: Type) + (init: a) + (len: U32.t) +: HST.StackInline (buffer a) + (requires (fun h -> U32.v len > 0)) + (ensures (fun h b h' -> + rcreate_post_mem_common (HS.get_tip h) (U32.v len) b h h' (Seq.create (U32.v len) init) + )) += alloca init len + +unfold let createL_pre (#a: Type0) (init: list a) : GTot Type0 = + alloca_of_list_pre init + +let createL + (#a: Type0) + (init: list a) +: HST.StackInline (buffer a) + (requires (fun h -> createL_pre #a init)) + (ensures (fun h b h' -> + let len = FStar.List.Tot.length init in + rcreate_post_mem_common (HS.get_tip h) len b h h' (Seq.seq_of_list init) /\ + length b == normalize_term (List.Tot.length init) + )) += alloca_of_list init diff --git a/stage0/ulib/legacy/LowStar.ToFStarBuffer.fst b/stage0/ulib/legacy/LowStar.ToFStarBuffer.fst new file mode 100644 index 00000000000..43ed7628305 --- /dev/null +++ b/stage0/ulib/legacy/LowStar.ToFStarBuffer.fst @@ -0,0 +1,432 @@ +(* + 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 LowStar.ToFStarBuffer + +(* WARNING: FOR TRANSITIONAL PURPOSES ONLY *) +#set-options "--ext 'context_pruning='" +module Old = FStar.Buffer +module OldM = FStar.Modifies +module New = LowStar.Buffer +module NewM = LowStar.Modifies +module HST = FStar.HyperStack.ST +module HS = FStar.HyperStack +module U32 = FStar.UInt32 + +assume val new_to_old_ghost (#t: Type0) (b: New.buffer t) : GTot (Old.buffer t) +assume val old_to_new_ghost (#t: Type0) (b: Old.buffer t) : GTot (New.buffer t) + +assume val new_to_old_st (#t: Type0) (b: New.buffer t) : HST.Stack (b' : Old.buffer t { b' == new_to_old_ghost b } ) + (requires (fun h -> New.live h b)) + (ensures (fun h b' h' -> h' == h)) + +assume val old_to_new_st (#t: Type0) (b: Old.buffer t) : HST.Stack (b' : New.buffer t { b' == old_to_new_ghost b }) + (requires (fun h -> Old.live h b)) + (ensures (fun h b' h' -> h' == h)) + +assume val new_to_old_to_new (#t: Type0) (b: New.buffer t) : Lemma + (old_to_new_ghost (new_to_old_ghost b) == b) + [SMTPat (old_to_new_ghost (new_to_old_ghost b))] + +assume val old_to_new_to_old (#t: Type0) (b: Old.buffer t) : Lemma + (new_to_old_ghost (old_to_new_ghost b) == b) + [SMTPat (new_to_old_ghost (old_to_new_ghost b))] + +assume val live_new_to_old (#t: Type0) (h: HS.mem) (b: New.buffer t) : Lemma + (Old.live h (new_to_old_ghost b) <==> New.live h b) + [SMTPat (Old.live h (new_to_old_ghost b))] + +assume val live_old_to_new (#t: Type0) (h: HS.mem) (b: Old.buffer t) : Lemma + (New.live h (old_to_new_ghost b) <==> Old.live h b) + [SMTPat (New.live h (old_to_new_ghost b))] + +assume val frameOf_new_to_old (#t: Type0) (b: New.buffer t) : Lemma + (Old.frameOf (new_to_old_ghost b) == New.frameOf b) + [SMTPat (Old.frameOf (new_to_old_ghost b))] + +assume val frameOf_old_to_new (#t: Type0) (b: Old.buffer t) : Lemma + (New.frameOf (old_to_new_ghost b) == Old.frameOf b) + [SMTPat (New.frameOf (old_to_new_ghost b))] + +assume val as_addr_new_to_old (#t: Type0) (b: New.buffer t) : Lemma + (Old.as_addr (new_to_old_ghost b) == New.as_addr b) + [SMTPat (Old.as_addr (new_to_old_ghost b))] + +assume val as_addr_old_to_new (#t: Type0) (b: Old.buffer t) : Lemma + (New.as_addr (old_to_new_ghost b) == Old.as_addr b) + [SMTPat (New.as_addr (old_to_new_ghost b))] + +assume val length_new_to_old (#t: Type0) (b: New.buffer t) : Lemma + (Old.length (new_to_old_ghost b) == New.length b) + [SMTPat (Old.length (new_to_old_ghost b))] + +assume val length_old_to_new (#t: Type0) (b: Old.buffer t) : Lemma + (New.length (old_to_new_ghost b) == Old.length b) + [SMTPat (New.length (old_to_new_ghost b))] + +assume val as_seq_new_to_old (#t: Type0) (h: HS.mem) (b: New.buffer t) : Lemma + (Old.as_seq h (new_to_old_ghost b) == New.as_seq h b) + [SMTPat (Old.as_seq h (new_to_old_ghost b))] + +assume val as_seq_old_to_new (#t: Type0) (h: HS.mem) (b: Old.buffer t) : Lemma + (New.as_seq h (old_to_new_ghost b) == Old.as_seq h b) + [SMTPat (New.as_seq h (old_to_new_ghost b))] + +assume val gsub_new_to_old (#t: Type0) (b: New.buffer t) (i: U32.t) (len: U32.t) : Lemma + (requires (U32.v i + U32.v len <= New.length b)) + (ensures (Old.sub (new_to_old_ghost b) i len == new_to_old_ghost (New.gsub b i len))) + [SMTPatOr [ + [SMTPat (Old.sub (new_to_old_ghost b) i len)]; + [SMTPat (new_to_old_ghost (New.gsub b i len))]; + ]] + +assume val gsub_old_to_new (#t: Type0) (b: Old.buffer t) (i: U32.t) (len: U32.t) : Lemma + (requires (U32.v i + U32.v len <= Old.length b)) + (ensures (New.gsub (old_to_new_ghost b) i len == old_to_new_ghost (Old.sub b i len))) + [SMTPatOr [ + [SMTPat (New.gsub (old_to_new_ghost b) i len)]; + [SMTPat (old_to_new_ghost (Old.sub b i len))]; + ]] + +assume val new_to_old_includes_left (#t: Type0) (b1: New.buffer t) (b2: Old.buffer t) : Lemma + ((new_to_old_ghost b1 `Old.includes` b2) <==> (b1 `New.includes` (old_to_new_ghost b2))) + [SMTPatOr [ + [SMTPat (new_to_old_ghost b1 `Old.includes` b2)]; + [SMTPat (b1 `New.includes` old_to_new_ghost b2)]; + ]] + +assume val new_to_old_includes_right (#t: Type0) (b1: Old.buffer t) (b2: New.buffer t) : Lemma + ((b1 `Old.includes` (new_to_old_ghost b2)) <==> (old_to_new_ghost b1 `New.includes` b2)) + [SMTPatOr [ + [SMTPat (b1 `Old.includes` new_to_old_ghost b2)]; + [SMTPat (old_to_new_ghost b1 `New.includes` b2)]; + ]] + +assume val new_to_old_disjoint (#t1 #t2: Type0) (b1: New.buffer t1) (b2: Old.buffer t2) : Lemma + ((new_to_old_ghost b1 `Old.disjoint` b2) <==> (b1 `New.disjoint` (old_to_new_ghost b2))) + [SMTPatOr [ + [SMTPat (new_to_old_ghost b1 `Old.disjoint` b2)]; + [SMTPat (b1 `New.disjoint` old_to_new_ghost b2)]; + ]] + +(* The modifies clause *) + +module M = FStar.ModifiesGen + +noextract +let old_and_new_aloc (is_new: bool) : Tot M.aloc_t = + if is_new then M.raise_aloc New.abuffer else OldM.cloc_aloc + +noextract +let old_and_new_cl (is_new: bool) : Tot (M.cls (old_and_new_aloc is_new)) = + if is_new then M.raise_cls NewM.cloc_cls else OldM.cloc_cls + +noextract +let old_and_new_cl_union : M.cls (M.aloc_union old_and_new_aloc) = M.cls_union old_and_new_cl + +let old_to_union_loc (l: OldM.loc) : GTot (M.loc old_and_new_cl_union) = + M.union_loc_of_loc old_and_new_cl false (OldM.cloc_of_loc l) + +let new_to_union_loc (l: NewM.loc) : GTot (M.loc old_and_new_cl_union) = + M.union_loc_of_loc old_and_new_cl true (M.raise_loc (NewM.cloc_of_loc l)) + +let old_to_new_modifies (old_l: OldM.loc) (new_l: NewM.loc) (h h' : HS.mem) : Lemma + (requires (OldM.modifies old_l h h' /\ old_to_union_loc old_l == new_to_union_loc new_l)) + (ensures (NewM.modifies new_l h h')) += OldM.modifies_to_cloc old_l h h'; + M.modifies_union_loc_of_loc old_and_new_cl false (OldM.cloc_of_loc old_l) h h'; + M.modifies_union_loc_of_loc old_and_new_cl true (M.raise_loc (NewM.cloc_of_loc new_l)) h h'; + M.modifies_raise_loc (NewM.cloc_of_loc new_l) h h'; + NewM.modifies_to_cloc new_l h h' + +let old_to_union_loc_none : squash (old_to_union_loc OldM.loc_none == M.loc_none) = + OldM.cloc_of_loc_none (); + M.union_loc_of_loc_none old_and_new_cl false + +let new_to_union_loc_none : squash (new_to_union_loc NewM.loc_none == M.loc_none) = + NewM.cloc_of_loc_none (); + M.raise_loc_none #_ #NewM.cloc_cls; + M.union_loc_of_loc_none old_and_new_cl true + +let old_to_union_loc_union (old1 old2: OldM.loc) : Lemma + (old_to_union_loc (old1 `OldM.loc_union` old2) == old_to_union_loc old1 `M.loc_union` old_to_union_loc old2) + [SMTPat (old_to_union_loc (old1 `OldM.loc_union` old2))] += OldM.cloc_of_loc_union old1 old2; + M.union_loc_of_loc_union old_and_new_cl false (OldM.cloc_of_loc old1) (OldM.cloc_of_loc old2) + +let new_to_union_loc_union (new1 new2: NewM.loc) : Lemma + (new_to_union_loc (new1 `NewM.loc_union` new2) == new_to_union_loc new1 `M.loc_union` new_to_union_loc new2) + [SMTPat (new_to_union_loc (new1 `NewM.loc_union` new2))] += NewM.cloc_of_loc_union new1 new2; + M.raise_loc_union (NewM.cloc_of_loc new1) (NewM.cloc_of_loc new2); + M.union_loc_of_loc_union old_and_new_cl true (M.raise_loc (NewM.cloc_of_loc new1)) (M.raise_loc (NewM.cloc_of_loc new2)) + +let old_to_union_loc_addresses (preserve_liveness: bool) (r: HS.rid) (n: Set.set nat) : Lemma + (old_to_union_loc (OldM.loc_addresses preserve_liveness r n) == M.loc_addresses preserve_liveness r n) + [SMTPat (old_to_union_loc (OldM.loc_addresses preserve_liveness r n))] += OldM.cloc_of_loc_addresses preserve_liveness r n; + M.union_loc_of_loc_addresses old_and_new_cl false preserve_liveness r n + +let new_to_union_loc_addresses (preserve_liveness: bool) (r: HS.rid) (n: Set.set nat) : Lemma + (new_to_union_loc (NewM.loc_addresses preserve_liveness r n) == M.loc_addresses preserve_liveness r n) + [SMTPat (new_to_union_loc (NewM.loc_addresses preserve_liveness r n))] += NewM.cloc_of_loc_addresses preserve_liveness r n; + M.raise_loc_addresses u#0 u#0 #_ #NewM.cloc_cls preserve_liveness r n; + M.union_loc_of_loc_addresses old_and_new_cl true preserve_liveness r n + +let old_to_union_loc_regions (preserve_liveness: bool) (r: Set.set HS.rid) : Lemma + (old_to_union_loc (OldM.loc_regions preserve_liveness r) == M.loc_regions preserve_liveness r) + [SMTPat (old_to_union_loc (OldM.loc_regions preserve_liveness r))] += OldM.cloc_of_loc_regions preserve_liveness r; + M.union_loc_of_loc_regions old_and_new_cl false preserve_liveness r + +let new_to_union_loc_regions (preserve_liveness: bool) (r: Set.set HS.rid) : Lemma + (new_to_union_loc (NewM.loc_regions preserve_liveness r) == M.loc_regions preserve_liveness r) + [SMTPat (new_to_union_loc (NewM.loc_regions preserve_liveness r))] += NewM.cloc_of_loc_regions preserve_liveness r; + M.raise_loc_regions u#0 u#0 #_ #NewM.cloc_cls preserve_liveness r; + M.union_loc_of_loc_regions old_and_new_cl true preserve_liveness r + +let union_loc_to_new (l: M.loc old_and_new_cl_union) : GTot NewM.loc = + NewM.loc_of_cloc (M.lower_loc (M.loc_of_union_loc true l)) + +let union_loc_to_new_new_to_union_loc (l: NewM.loc) : Lemma + (union_loc_to_new (new_to_union_loc l) == l) + [SMTPat (union_loc_to_new (new_to_union_loc l))] += M.loc_of_union_loc_union_loc_of_loc old_and_new_cl true (M.raise_loc (NewM.cloc_of_loc l)); + M.lower_loc_raise_loc u#0 u#0 (NewM.cloc_of_loc l); + NewM.loc_of_cloc_of_loc l + +let union_loc_to_new_none : squash (union_loc_to_new M.loc_none == NewM.loc_none) = + M.loc_of_union_loc_none old_and_new_cl true; + M.lower_loc_none u#0 u#0 #_ #NewM.cloc_cls; + NewM.cloc_of_loc_none (); + NewM.loc_of_cloc_of_loc NewM.loc_none + +let coerce (t2: Type) (#t1: Type) (x: t1) : Pure t2 (requires (t1 == t2)) (ensures (fun y -> x == y)) = x + +let union_loc_to_new_union (l1 l2: M.loc old_and_new_cl_union) : Lemma + (union_loc_to_new (l1 `M.loc_union` l2) == union_loc_to_new l1 `NewM.loc_union` union_loc_to_new l2) + [SMTPat (union_loc_to_new (l1 `M.loc_union` l2))] += M.loc_of_union_loc_union old_and_new_cl true l1 l2; + let t : Type u#1 = M.loc (old_and_new_cl true) in + let i1 : t = M.loc_of_union_loc true l1 in + let i2 : t = M.loc_of_union_loc true l2 in + let j1 : M.loc (M.raise_cls NewM.cloc_cls) = coerce (M.loc (M.raise_cls NewM.cloc_cls)) i1 in + let j2 : M.loc (M.raise_cls u#0 u#0 NewM.cloc_cls) = coerce (M.loc (M.raise_cls NewM.cloc_cls)) i2 in + M.lower_loc_union u#0 u#0 j1 j2; + NewM.cloc_of_loc_union (NewM.loc_of_cloc (M.lower_loc j1)) (NewM.loc_of_cloc (M.lower_loc j2)); + NewM.loc_of_cloc_of_loc (NewM.loc_of_cloc (M.lower_loc j1) `NewM.loc_union` NewM.loc_of_cloc (M.lower_loc j2)) + +let union_loc_to_new_addresses (preserve_liveness: bool) (r: HS.rid) (n: Set.set nat) : Lemma + (union_loc_to_new (M.loc_addresses preserve_liveness r n) == NewM.loc_addresses preserve_liveness r n) + [SMTPat (union_loc_to_new (M.loc_addresses preserve_liveness r n))] += M.loc_of_union_loc_addresses old_and_new_cl true preserve_liveness r n; + M.lower_loc_addresses u#0 u#0 #_ #NewM.cloc_cls preserve_liveness r n; + NewM.cloc_of_loc_addresses preserve_liveness r n; + NewM.cloc_of_loc_of_cloc (M.loc_addresses preserve_liveness r n) + +let union_loc_to_new_regions (preserve_liveness: bool) (r: Set.set HS.rid) : Lemma + (union_loc_to_new (M.loc_regions preserve_liveness r) == NewM.loc_regions preserve_liveness r) + [SMTPat (union_loc_to_new (M.loc_regions preserve_liveness r))] += M.loc_of_union_loc_regions old_and_new_cl true preserve_liveness r; + M.lower_loc_regions u#0 u#0 #_ #NewM.cloc_cls preserve_liveness r; + NewM.cloc_of_loc_regions preserve_liveness r; + NewM.cloc_of_loc_of_cloc (M.loc_regions preserve_liveness r) + +let old_to_new_modifies' (old_l: OldM.loc) (h h' : HS.mem) : Lemma + (requires (OldM.modifies old_l h h' /\ new_to_union_loc (union_loc_to_new (old_to_union_loc old_l)) == old_to_union_loc old_l)) + (ensures (NewM.modifies (union_loc_to_new (old_to_union_loc old_l)) h h')) + [SMTPat (OldM.modifies old_l h h')] += old_to_new_modifies old_l (union_loc_to_new (old_to_union_loc old_l)) h h' + +assume val loc_buffer_new_to_old (#t: Type0) (b: New.buffer t) : Lemma + (old_to_union_loc (OldM.loc_buffer (new_to_old_ghost b)) == new_to_union_loc (NewM.loc_buffer b)) + [SMTPat (old_to_union_loc (OldM.loc_buffer (new_to_old_ghost b)))] + +let modifies_0_modifies (h h' : HS.mem) : Lemma + (requires (Old.modifies_0 h h')) + (ensures (NewM.modifies NewM.loc_none h h')) += () + +let modifies_1_modifies + (#t: Type) + (b: New.buffer t) + (h h' : HS.mem) +: Lemma + (requires (Old.modifies_1 (new_to_old_ghost b) h h')) + (ensures (NewM.modifies (NewM.loc_buffer b) h h')) += () + +let modifies_2_modifies + (#t1 #t2: Type) + (b1: New.buffer t1) + (b2: New.buffer t2) + (h h' : HS.mem) +: Lemma + (requires (Old.modifies_2 (new_to_old_ghost b1) (new_to_old_ghost b2) h h')) + (ensures (NewM.modifies (NewM.loc_union (NewM.loc_buffer b1) (NewM.loc_buffer b2)) h h')) += () + +(* Examples *) + +/// Basic example of mutating a new buffer by converting it first to +/// an old buffer. +/// +/// The spec shows that all three flavors of modifies clauses can be +/// proven and the precise contents are reflected into the new buffer +let ex1 (#a:Type) (b:New.buffer nat{New.length b > 0}) (b1:New.buffer a) + : HST.ST unit + (requires (fun h -> New.live h b /\ New.disjoint b b1 /\ New.live h b1)) + (ensures (fun h0 _ h1 -> + New.get h1 b 0 == 0 /\ + Old.get h1 (new_to_old_ghost b) 0 == 0 /\ + New.as_seq h0 b1 == New.as_seq h1 b1 /\ + NewM.modifies (NewM.loc_buffer b) h0 h1 /\ + OldM.modifies (OldM.loc_buffer (new_to_old_ghost b)) h0 h1 /\ + Old.modifies_1 (new_to_old_ghost b) h0 h1)) = + let old = new_to_old_st b in + Old.upd old 0ul 0 + +let new_eqb + (#a: eqtype) + (b1 b2: New.buffer a) + (len: U32.t) +: HST.Stack bool + (requires (fun h -> New.live h b1 /\ New.live h b2 /\ U32.v len <= New.length b1 /\ U32.v len <= New.length b2)) + (ensures (fun h res h' -> + h' == h /\ + (res <==> Seq.equal (New.as_seq h (New.gsub b1 0ul len)) (New.as_seq h (New.gsub b2 0ul len))) + )) += let b1' = new_to_old_st b1 in + let b2' = new_to_old_st b2 in + Old.eqb b1' b2' len + +let new_blit + (#t: Type) + (src: New.buffer t) + (idx_src: U32.t) + (dst: New.buffer t) + (idx_dst: U32.t) + (len: U32.t) +: HST.Stack unit + (requires (fun h -> + New.live h src /\ New.live h dst /\ New.disjoint src dst /\ + U32.v idx_src + U32.v len <= New.length src /\ + U32.v idx_dst + U32.v len <= New.length dst + )) + (ensures (fun h _ h' -> + NewM.modifies (NewM.loc_buffer dst) h h' /\ + New.live h' dst /\ + Seq.slice (New.as_seq h' dst) (U32.v idx_dst) (U32.v idx_dst + U32.v len) == + Seq.slice (New.as_seq h src) (U32.v idx_src) (U32.v idx_src + U32.v len) /\ + Seq.slice (New.as_seq h' dst) 0 (U32.v idx_dst) == + Seq.slice (New.as_seq h dst) 0 (U32.v idx_dst) /\ + Seq.slice (New.as_seq h' dst) (U32.v idx_dst + U32.v len) (New.length dst) == + Seq.slice (New.as_seq h dst) (U32.v idx_dst + U32.v len) (New.length dst) + )) += let src' = new_to_old_st src in + let dst' = new_to_old_st dst in + Old.blit src' idx_src dst' idx_dst len + +let new_fill + (#t: Type) + (b: New.buffer t) + (z: t) + (len: U32.t) +: HST.Stack unit + (requires (fun h -> New.live h b /\ U32.v len <= New.length b)) + (ensures (fun h _ h' -> + NewM.modifies (NewM.loc_buffer b) h h' /\ + Seq.slice (New.as_seq h' b) 0 (U32.v len) == Seq.create (U32.v len) z /\ + Seq.slice (New.as_seq h' b) (U32.v len) (New.length b) == Seq.slice (New.as_seq h b) (U32.v len) (New.length b) + )) += let b' = new_to_old_st b in + Old.fill b' z len + + +(* Conversions in the other way round, to have old buffer code call into new buffer code. Those are more aggressive. *) + +assume +val loc_disjoint_new_disjoint_old + (#t1 #t2: Type) + (b1: New.buffer t1) + (b2: New.buffer t2) +: Lemma + (requires (NewM.loc_disjoint (NewM.loc_buffer b1) (NewM.loc_buffer b2))) + (ensures (Old.disjoint (new_to_old_ghost b1) (new_to_old_ghost b2))) + [SMTPat (Old.disjoint (new_to_old_ghost b1) (new_to_old_ghost b2))] + +assume +val modifies_modifies_0 + (h h' : HS.mem) +: Lemma + (requires (NewM.modifies NewM.loc_none h h')) + (ensures (Old.modifies_0 h h')) + [SMTPat (NewM.modifies NewM.loc_none h h')] + +assume +val modifies_modifies_1 + (#t: Type) + (b: Old.buffer t) + (h h' : HS.mem) +: Lemma + (requires (NewM.modifies (NewM.loc_buffer (old_to_new_ghost b)) h h')) + (ensures (Old.modifies_1 b h h')) + [SMTPat (NewM.modifies (NewM.loc_buffer (old_to_new_ghost b)) h h')] + +assume +val modifies_modifies_2 + (#t1 #t2: Type) + (b1: Old.buffer t1) + (b2: Old.buffer t2) + (h h' : HS.mem) +: Lemma + (requires (NewM.modifies (NewM.loc_buffer (old_to_new_ghost b1) `NewM.loc_union` NewM.loc_buffer (old_to_new_ghost b2)) h h')) + (ensures (Old.modifies_2 b1 b2 h h')) + [SMTPat (NewM.modifies (NewM.loc_buffer (old_to_new_ghost b1) `NewM.loc_union` NewM.loc_buffer (old_to_new_ghost b2)) h h')] + + +/// Basic example of mutating an old buffer by converting it first to +/// a new buffer. +/// +/// The spec shows that all two flavors of modifies clauses can be +/// proven and the precise contents are reflected into the new buffer + +let ex1' (#a:Type) (b:Old.buffer nat{Old.length b > 0}) (b1:Old.buffer a) + : HST.ST unit + (requires (fun h -> Old.live h b /\ Old.disjoint b b1 /\ Old.live h b1)) + (ensures (fun h0 _ h1 -> + Old.get h1 b 0 == 0 /\ + New.get h1 (old_to_new_ghost b) 0 == 0 /\ + Old.as_seq h0 b1 == Old.as_seq h1 b1 /\ + NewM.modifies (NewM.loc_buffer (old_to_new_ghost b)) h0 h1 /\ + Old.modifies_1 b h0 h1)) = + let ne = old_to_new_st b in + New.upd ne 0ul 0 + +let ex1'' (#a:Type) (b:New.buffer nat{New.length b > 0}) (b1:New.buffer a) + : HST.ST unit + (requires (fun h -> New.live h b /\ NewM.loc_disjoint (NewM.loc_buffer b) (NewM.loc_buffer b1) /\ New.live h b1)) + (ensures (fun h0 _ h1 -> + New.get h1 b 0 == 0 /\ + Old.get h1 (new_to_old_ghost b) 0 == 0 /\ + New.as_seq h0 b1 == New.as_seq h1 b1 /\ + NewM.modifies (NewM.loc_buffer b) h0 h1 /\ + OldM.modifies (OldM.loc_buffer (new_to_old_ghost b)) h0 h1 /\ + Old.modifies_1 (new_to_old_ghost b) h0 h1)) = + let old = new_to_old_st b in + let old1 = new_to_old_st b1 in + ex1' old old1 diff --git a/ulib/mk_int.sh b/stage0/ulib/mk_int.sh similarity index 100% rename from ulib/mk_int.sh rename to stage0/ulib/mk_int.sh diff --git a/ulib/ml/.gitignore b/stage0/ulib/ml/.gitignore similarity index 100% rename from ulib/ml/.gitignore rename to stage0/ulib/ml/.gitignore diff --git a/ulib/ml/FStar_Int16.ml.prefix b/stage0/ulib/ml/FStar_Int16.ml.prefix similarity index 100% rename from ulib/ml/FStar_Int16.ml.prefix rename to stage0/ulib/ml/FStar_Int16.ml.prefix diff --git a/ulib/ml/FStar_Int32.ml.prefix b/stage0/ulib/ml/FStar_Int32.ml.prefix similarity index 100% rename from ulib/ml/FStar_Int32.ml.prefix rename to stage0/ulib/ml/FStar_Int32.ml.prefix diff --git a/ulib/ml/FStar_Int64.ml.prefix b/stage0/ulib/ml/FStar_Int64.ml.prefix similarity index 100% rename from ulib/ml/FStar_Int64.ml.prefix rename to stage0/ulib/ml/FStar_Int64.ml.prefix diff --git a/ulib/ml/FStar_Int8.ml.prefix b/stage0/ulib/ml/FStar_Int8.ml.prefix similarity index 100% rename from ulib/ml/FStar_Int8.ml.prefix rename to stage0/ulib/ml/FStar_Int8.ml.prefix diff --git a/ulib/ml/FStar_Ints.ml.body b/stage0/ulib/ml/FStar_Ints.ml.body similarity index 100% rename from ulib/ml/FStar_Ints.ml.body rename to stage0/ulib/ml/FStar_Ints.ml.body diff --git a/ulib/ml/FStar_UInt16.ml.prefix b/stage0/ulib/ml/FStar_UInt16.ml.prefix similarity index 100% rename from ulib/ml/FStar_UInt16.ml.prefix rename to stage0/ulib/ml/FStar_UInt16.ml.prefix diff --git a/ulib/ml/FStar_UInt32.ml.prefix b/stage0/ulib/ml/FStar_UInt32.ml.prefix similarity index 100% rename from ulib/ml/FStar_UInt32.ml.prefix rename to stage0/ulib/ml/FStar_UInt32.ml.prefix diff --git a/ulib/ml/FStar_UInt64.ml.prefix b/stage0/ulib/ml/FStar_UInt64.ml.prefix similarity index 100% rename from ulib/ml/FStar_UInt64.ml.prefix rename to stage0/ulib/ml/FStar_UInt64.ml.prefix diff --git a/ulib/ml/Makefile b/stage0/ulib/ml/Makefile similarity index 100% rename from ulib/ml/Makefile rename to stage0/ulib/ml/Makefile diff --git a/ulib/ml/Makefile.include b/stage0/ulib/ml/Makefile.include similarity index 100% rename from ulib/ml/Makefile.include rename to stage0/ulib/ml/Makefile.include diff --git a/ulib/ml/Makefile.realized b/stage0/ulib/ml/Makefile.realized similarity index 100% rename from ulib/ml/Makefile.realized rename to stage0/ulib/ml/Makefile.realized diff --git a/ulib/reclaimable/FStar.ST.fst b/stage0/ulib/reclaimable/FStar.ST.fst similarity index 100% rename from ulib/reclaimable/FStar.ST.fst rename to stage0/ulib/reclaimable/FStar.ST.fst diff --git a/stage1/.gitignore b/stage1/.gitignore new file mode 100644 index 00000000000..9d4d33ea919 --- /dev/null +++ b/stage1/.gitignore @@ -0,0 +1,9 @@ +/inst +/*.checked/** +/*.ml/** +/*.fs/** +/*.pluginml/** +.*_depend +.depend +*.install +.fstarlock diff --git a/stage1/Makefile b/stage1/Makefile new file mode 120000 index 00000000000..954fcba3244 --- /dev/null +++ b/stage1/Makefile @@ -0,0 +1 @@ +../mk/stage.mk \ No newline at end of file diff --git a/stage1/dune/dune b/stage1/dune/dune new file mode 100644 index 00000000000..190d1fc7081 --- /dev/null +++ b/stage1/dune/dune @@ -0,0 +1,5 @@ +(env + (_ + (bin_annot false) + (flags (:standard -w -A))) +) diff --git a/ocaml/dune-project b/stage1/dune/dune-project similarity index 100% rename from ocaml/dune-project rename to stage1/dune/dune-project diff --git a/stage1/dune/fstar-guts/FStarC_Parser_Parse.mly b/stage1/dune/fstar-guts/FStarC_Parser_Parse.mly new file mode 120000 index 00000000000..53c2cb3f29e --- /dev/null +++ b/stage1/dune/fstar-guts/FStarC_Parser_Parse.mly @@ -0,0 +1 @@ +../../../src/ml/bare/FStarC_Parser_Parse.mly \ No newline at end of file diff --git a/stage1/dune/fstar-guts/app b/stage1/dune/fstar-guts/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage1/dune/fstar-guts/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage1/dune/fstar-guts/bare b/stage1/dune/fstar-guts/bare new file mode 120000 index 00000000000..1f9e8d416f1 --- /dev/null +++ b/stage1/dune/fstar-guts/bare @@ -0,0 +1 @@ +../../../src/ml/bare/ \ No newline at end of file diff --git a/stage1/dune/fstar-guts/dune b/stage1/dune/fstar-guts/dune new file mode 100644 index 00000000000..5162865f29e --- /dev/null +++ b/stage1/dune/fstar-guts/dune @@ -0,0 +1,33 @@ +(include_subdirs unqualified) +(library + (name fstarcompiler) + (public_name fstar.compiler) + (libraries + batteries + zarith + stdint + yojson + ppxlib + dynlink + menhirLib + pprint + sedlex + mtime.clock.os + ) + (modes native) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) +) + +(menhir + (modules FStarC_Parser_Parse)) + +(rule + (target FStarC_Version.ml) + (deps (:script make_fstar_version.sh) + (:version ../../version.txt)) + (action + (progn + (copy %{version} version.txt) + (with-stdout-to + FStarC_Version.ml + (run bash %{script}))))) diff --git a/stage1/dune/fstar-guts/fstarc.ml b/stage1/dune/fstar-guts/fstarc.ml new file mode 120000 index 00000000000..d00d5889cff --- /dev/null +++ b/stage1/dune/fstar-guts/fstarc.ml @@ -0,0 +1 @@ +../../fstarc.ml/ \ No newline at end of file diff --git a/stage1/dune/fstar-guts/make_fstar_version.sh b/stage1/dune/fstar-guts/make_fstar_version.sh new file mode 120000 index 00000000000..19236f209a6 --- /dev/null +++ b/stage1/dune/fstar-guts/make_fstar_version.sh @@ -0,0 +1 @@ +../../../.scripts/make_fstar_version.sh \ No newline at end of file diff --git a/stage1/dune/fstar-plugins/app b/stage1/dune/fstar-plugins/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage1/dune/fstar-plugins/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage1/dune/fstar-plugins/dune b/stage1/dune/fstar-plugins/dune new file mode 100644 index 00000000000..41cea55c81b --- /dev/null +++ b/stage1/dune/fstar-plugins/dune @@ -0,0 +1,11 @@ +(include_subdirs unqualified) +(library + (name fstar_plugins) + (libraries + fstarcompiler + ) + (modes native) + (wrapped false) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) + ; ^ Needed for some of the base modules. +) diff --git a/stage1/dune/fstar-plugins/full b/stage1/dune/fstar-plugins/full new file mode 120000 index 00000000000..fbfc3b1c40c --- /dev/null +++ b/stage1/dune/fstar-plugins/full @@ -0,0 +1 @@ +../../../src/ml/full/ \ No newline at end of file diff --git a/stage1/dune/fstar-plugins/plugin b/stage1/dune/fstar-plugins/plugin new file mode 120000 index 00000000000..ce023fa39b3 --- /dev/null +++ b/stage1/dune/fstar-plugins/plugin @@ -0,0 +1 @@ +../../../ulib/ml/plugin/ \ No newline at end of file diff --git a/stage1/dune/fstar-plugins/plugins.ml b/stage1/dune/fstar-plugins/plugins.ml new file mode 120000 index 00000000000..00768efd8e8 --- /dev/null +++ b/stage1/dune/fstar-plugins/plugins.ml @@ -0,0 +1 @@ +../../plugins.ml/ \ No newline at end of file diff --git a/stage1/dune/fstarc-bare/dune b/stage1/dune/fstarc-bare/dune new file mode 100644 index 00000000000..2c40dd86c9f --- /dev/null +++ b/stage1/dune/fstarc-bare/dune @@ -0,0 +1,10 @@ +(include_subdirs unqualified) +(executable + (name fstarc1_bare) + (libraries + fstarcompiler + memtrace + ) + (link_flags "-linkall") + (modes (native exe)) +) diff --git a/stage1/dune/fstarc-bare/fstarc1_bare.ml b/stage1/dune/fstarc-bare/fstarc1_bare.ml new file mode 120000 index 00000000000..49ebf6c81df --- /dev/null +++ b/stage1/dune/fstarc-bare/fstarc1_bare.ml @@ -0,0 +1 @@ +../main.ml \ No newline at end of file diff --git a/stage1/dune/fstarc-full/dune b/stage1/dune/fstarc-full/dune new file mode 100644 index 00000000000..9431d93cef3 --- /dev/null +++ b/stage1/dune/fstarc-full/dune @@ -0,0 +1,14 @@ +(include_subdirs unqualified) +(executable + (name fstarc1_full) + (public_name fstar.exe) + (libraries + ; Can we just say we extend fstar_bare instead of _guts, and duplicating main? + fstarcompiler + fstar_plugins + memtrace + ) + (link_flags "-linkall") + (modes (native exe)) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) +) diff --git a/stage1/dune/fstarc-full/fstarc1_full.ml b/stage1/dune/fstarc-full/fstarc1_full.ml new file mode 120000 index 00000000000..49ebf6c81df --- /dev/null +++ b/stage1/dune/fstarc-full/fstarc1_full.ml @@ -0,0 +1 @@ +../main.ml \ No newline at end of file diff --git a/stage1/dune/libapp/app b/stage1/dune/libapp/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage1/dune/libapp/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage1/dune/libapp/app-extra b/stage1/dune/libapp/app-extra new file mode 120000 index 00000000000..6a7c7ee2201 --- /dev/null +++ b/stage1/dune/libapp/app-extra @@ -0,0 +1 @@ +../../../ulib/ml/app-extra/ \ No newline at end of file diff --git a/stage1/dune/libapp/dune b/stage1/dune/libapp/dune new file mode 100644 index 00000000000..c9ab622f539 --- /dev/null +++ b/stage1/dune/libapp/dune @@ -0,0 +1,20 @@ +(include_subdirs unqualified) +(library + (name fstar) + (public_name fstar.lib) + (libraries + batteries + zarith + stdint + pprint + ) + (modes native byte) + ; ^ Note: we need to compile fstar-lib in bytecode since some + ; clients use it (e.g. MLS* when being compiled into javascript + ; via js_of_ocaml, in general anything that wants to use js_of_ocaml). + ; We should consider a toggle to selectively enable it, as most users + ; do not need it. + (wrapped false) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson)) + ; ^FIXME we really should not have to expose nor depend on this +) diff --git a/stage1/dune/libapp/ulib.ml b/stage1/dune/libapp/ulib.ml new file mode 120000 index 00000000000..9fec5c68a72 --- /dev/null +++ b/stage1/dune/libapp/ulib.ml @@ -0,0 +1 @@ +../../ulib.ml/ \ No newline at end of file diff --git a/stage1/dune/libplugin/app b/stage1/dune/libplugin/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage1/dune/libplugin/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage1/dune/libplugin/app-extra b/stage1/dune/libplugin/app-extra new file mode 120000 index 00000000000..6a7c7ee2201 --- /dev/null +++ b/stage1/dune/libplugin/app-extra @@ -0,0 +1 @@ +../../../ulib/ml/app-extra/ \ No newline at end of file diff --git a/stage1/dune/libplugin/dune b/stage1/dune/libplugin/dune new file mode 100644 index 00000000000..3e9373aa035 --- /dev/null +++ b/stage1/dune/libplugin/dune @@ -0,0 +1,17 @@ +(include_subdirs unqualified) +(library + (name fstar_pluginlib) + (public_name fstar.pluginlib) + (libraries + fstarcompiler + ) + (modes native) + (wrapped true) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson)) +) + +(env + (_ + (bin_annot false) + (flags (:standard -w -A))) +) diff --git a/stage1/dune/libplugin/full b/stage1/dune/libplugin/full new file mode 120000 index 00000000000..fbfc3b1c40c --- /dev/null +++ b/stage1/dune/libplugin/full @@ -0,0 +1 @@ +../../../src/ml/full/ \ No newline at end of file diff --git a/stage1/dune/libplugin/plugin b/stage1/dune/libplugin/plugin new file mode 120000 index 00000000000..ce023fa39b3 --- /dev/null +++ b/stage1/dune/libplugin/plugin @@ -0,0 +1 @@ +../../../ulib/ml/plugin/ \ No newline at end of file diff --git a/stage1/dune/libplugin/ulib.pluginml b/stage1/dune/libplugin/ulib.pluginml new file mode 120000 index 00000000000..36cb2d97a27 --- /dev/null +++ b/stage1/dune/libplugin/ulib.pluginml @@ -0,0 +1 @@ +../../ulib.pluginml/ \ No newline at end of file diff --git a/stage1/dune/main.ml b/stage1/dune/main.ml new file mode 100644 index 00000000000..43d25ac5234 --- /dev/null +++ b/stage1/dune/main.ml @@ -0,0 +1,19 @@ +let x = + (* On Unix, if we write to a pipe that tries to send something + to a process that died, we receive a SIGPIPE signal which + by default will terminate F*, and we won't get an exception + or anything. So, block them, and instead rely on OCaml exceptions + to detect this. *) + if Fstarcompiler.FStarC_Platform.system = Posix then + ignore (Unix.sigprocmask Unix.SIG_BLOCK [Sys.sigpipe]); + + (* Enable memtrace, only if the environment variable MEMTRACE is set. *) + Memtrace.trace_if_requested (); + + (* Record a backtrace on exceptions, for --trace_error. *) + Printexc.record_backtrace true; + + (* Tweak garbage collector parameters. *) + Gc.set { (Gc.get()) with Gc.minor_heap_size = 1048576; Gc.major_heap_increment = 4194304; Gc.space_overhead = 150; }; + + Fstarcompiler.FStarC_Main.main () diff --git a/stage1/ulib b/stage1/ulib new file mode 120000 index 00000000000..ca044776e6f --- /dev/null +++ b/stage1/ulib @@ -0,0 +1 @@ +../ulib/ \ No newline at end of file diff --git a/stage1/version.txt b/stage1/version.txt new file mode 120000 index 00000000000..aa4e5bece7e --- /dev/null +++ b/stage1/version.txt @@ -0,0 +1 @@ +../version.txt \ No newline at end of file diff --git a/stage2/.gitignore b/stage2/.gitignore new file mode 100644 index 00000000000..9d4d33ea919 --- /dev/null +++ b/stage2/.gitignore @@ -0,0 +1,9 @@ +/inst +/*.checked/** +/*.ml/** +/*.fs/** +/*.pluginml/** +.*_depend +.depend +*.install +.fstarlock diff --git a/stage2/Makefile b/stage2/Makefile new file mode 120000 index 00000000000..954fcba3244 --- /dev/null +++ b/stage2/Makefile @@ -0,0 +1 @@ +../mk/stage.mk \ No newline at end of file diff --git a/stage2/dune/dune b/stage2/dune/dune new file mode 100644 index 00000000000..190d1fc7081 --- /dev/null +++ b/stage2/dune/dune @@ -0,0 +1,5 @@ +(env + (_ + (bin_annot false) + (flags (:standard -w -A))) +) diff --git a/stage2/dune/dune-project b/stage2/dune/dune-project new file mode 100644 index 00000000000..93297f1ccae --- /dev/null +++ b/stage2/dune/dune-project @@ -0,0 +1,9 @@ +(lang dune 3.8) +(name fstar) +(generate_opam_files false) +(using menhir 2.1) + +(package + (name fstar) + (synopsis "The F* programming language and proof assistant") +) diff --git a/stage2/dune/fstar-guts/FStarC_Parser_Parse.mly b/stage2/dune/fstar-guts/FStarC_Parser_Parse.mly new file mode 120000 index 00000000000..53c2cb3f29e --- /dev/null +++ b/stage2/dune/fstar-guts/FStarC_Parser_Parse.mly @@ -0,0 +1 @@ +../../../src/ml/bare/FStarC_Parser_Parse.mly \ No newline at end of file diff --git a/stage2/dune/fstar-guts/app b/stage2/dune/fstar-guts/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage2/dune/fstar-guts/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage2/dune/fstar-guts/bare b/stage2/dune/fstar-guts/bare new file mode 120000 index 00000000000..1f9e8d416f1 --- /dev/null +++ b/stage2/dune/fstar-guts/bare @@ -0,0 +1 @@ +../../../src/ml/bare/ \ No newline at end of file diff --git a/stage2/dune/fstar-guts/dune b/stage2/dune/fstar-guts/dune new file mode 100644 index 00000000000..5162865f29e --- /dev/null +++ b/stage2/dune/fstar-guts/dune @@ -0,0 +1,33 @@ +(include_subdirs unqualified) +(library + (name fstarcompiler) + (public_name fstar.compiler) + (libraries + batteries + zarith + stdint + yojson + ppxlib + dynlink + menhirLib + pprint + sedlex + mtime.clock.os + ) + (modes native) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) +) + +(menhir + (modules FStarC_Parser_Parse)) + +(rule + (target FStarC_Version.ml) + (deps (:script make_fstar_version.sh) + (:version ../../version.txt)) + (action + (progn + (copy %{version} version.txt) + (with-stdout-to + FStarC_Version.ml + (run bash %{script}))))) diff --git a/stage2/dune/fstar-guts/fstarc.ml b/stage2/dune/fstar-guts/fstarc.ml new file mode 120000 index 00000000000..d00d5889cff --- /dev/null +++ b/stage2/dune/fstar-guts/fstarc.ml @@ -0,0 +1 @@ +../../fstarc.ml/ \ No newline at end of file diff --git a/stage2/dune/fstar-guts/make_fstar_version.sh b/stage2/dune/fstar-guts/make_fstar_version.sh new file mode 120000 index 00000000000..19236f209a6 --- /dev/null +++ b/stage2/dune/fstar-guts/make_fstar_version.sh @@ -0,0 +1 @@ +../../../.scripts/make_fstar_version.sh \ No newline at end of file diff --git a/stage2/dune/fstar-plugins/app b/stage2/dune/fstar-plugins/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage2/dune/fstar-plugins/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage2/dune/fstar-plugins/dune b/stage2/dune/fstar-plugins/dune new file mode 100644 index 00000000000..41cea55c81b --- /dev/null +++ b/stage2/dune/fstar-plugins/dune @@ -0,0 +1,11 @@ +(include_subdirs unqualified) +(library + (name fstar_plugins) + (libraries + fstarcompiler + ) + (modes native) + (wrapped false) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) + ; ^ Needed for some of the base modules. +) diff --git a/stage2/dune/fstar-plugins/full b/stage2/dune/fstar-plugins/full new file mode 120000 index 00000000000..fbfc3b1c40c --- /dev/null +++ b/stage2/dune/fstar-plugins/full @@ -0,0 +1 @@ +../../../src/ml/full/ \ No newline at end of file diff --git a/stage2/dune/fstar-plugins/plugin b/stage2/dune/fstar-plugins/plugin new file mode 120000 index 00000000000..ce023fa39b3 --- /dev/null +++ b/stage2/dune/fstar-plugins/plugin @@ -0,0 +1 @@ +../../../ulib/ml/plugin/ \ No newline at end of file diff --git a/stage2/dune/fstar-plugins/plugins.ml b/stage2/dune/fstar-plugins/plugins.ml new file mode 120000 index 00000000000..00768efd8e8 --- /dev/null +++ b/stage2/dune/fstar-plugins/plugins.ml @@ -0,0 +1 @@ +../../plugins.ml/ \ No newline at end of file diff --git a/stage2/dune/fstarc-bare/dune b/stage2/dune/fstarc-bare/dune new file mode 100644 index 00000000000..e9e2822683e --- /dev/null +++ b/stage2/dune/fstarc-bare/dune @@ -0,0 +1,10 @@ +(include_subdirs unqualified) +(executable + (name fstarc2_bare) + (libraries + fstarcompiler + memtrace + ) + (link_flags "-linkall") + (modes (native exe)) +) diff --git a/stage2/dune/fstarc-bare/fstarc2_bare.ml b/stage2/dune/fstarc-bare/fstarc2_bare.ml new file mode 120000 index 00000000000..49ebf6c81df --- /dev/null +++ b/stage2/dune/fstarc-bare/fstarc2_bare.ml @@ -0,0 +1 @@ +../main.ml \ No newline at end of file diff --git a/stage2/dune/fstarc-full/dune b/stage2/dune/fstarc-full/dune new file mode 100644 index 00000000000..e568c29e224 --- /dev/null +++ b/stage2/dune/fstarc-full/dune @@ -0,0 +1,14 @@ +(include_subdirs unqualified) +(executable + (name fstarc2_full) + (public_name fstar.exe) + (libraries + ; Can we just say we extend fstar_bare instead of _guts, and duplicating main? + fstarcompiler + fstar_plugins + memtrace + ) + (link_flags "-linkall") + (modes (native exe)) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson sedlex.ppx)) +) diff --git a/stage2/dune/fstarc-full/fstarc2_full.ml b/stage2/dune/fstarc-full/fstarc2_full.ml new file mode 120000 index 00000000000..49ebf6c81df --- /dev/null +++ b/stage2/dune/fstarc-full/fstarc2_full.ml @@ -0,0 +1 @@ +../main.ml \ No newline at end of file diff --git a/stage2/dune/libapp/app b/stage2/dune/libapp/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage2/dune/libapp/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage2/dune/libapp/app-extra b/stage2/dune/libapp/app-extra new file mode 120000 index 00000000000..6a7c7ee2201 --- /dev/null +++ b/stage2/dune/libapp/app-extra @@ -0,0 +1 @@ +../../../ulib/ml/app-extra/ \ No newline at end of file diff --git a/stage2/dune/libapp/dune b/stage2/dune/libapp/dune new file mode 100644 index 00000000000..c9ab622f539 --- /dev/null +++ b/stage2/dune/libapp/dune @@ -0,0 +1,20 @@ +(include_subdirs unqualified) +(library + (name fstar) + (public_name fstar.lib) + (libraries + batteries + zarith + stdint + pprint + ) + (modes native byte) + ; ^ Note: we need to compile fstar-lib in bytecode since some + ; clients use it (e.g. MLS* when being compiled into javascript + ; via js_of_ocaml, in general anything that wants to use js_of_ocaml). + ; We should consider a toggle to selectively enable it, as most users + ; do not need it. + (wrapped false) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson)) + ; ^FIXME we really should not have to expose nor depend on this +) diff --git a/stage2/dune/libapp/ulib.ml b/stage2/dune/libapp/ulib.ml new file mode 120000 index 00000000000..9fec5c68a72 --- /dev/null +++ b/stage2/dune/libapp/ulib.ml @@ -0,0 +1 @@ +../../ulib.ml/ \ No newline at end of file diff --git a/stage2/dune/libplugin/app b/stage2/dune/libplugin/app new file mode 120000 index 00000000000..1cf9fa391d7 --- /dev/null +++ b/stage2/dune/libplugin/app @@ -0,0 +1 @@ +../../../ulib/ml/app/ \ No newline at end of file diff --git a/stage2/dune/libplugin/app-extra b/stage2/dune/libplugin/app-extra new file mode 120000 index 00000000000..6a7c7ee2201 --- /dev/null +++ b/stage2/dune/libplugin/app-extra @@ -0,0 +1 @@ +../../../ulib/ml/app-extra/ \ No newline at end of file diff --git a/stage2/dune/libplugin/dune b/stage2/dune/libplugin/dune new file mode 100644 index 00000000000..3e9373aa035 --- /dev/null +++ b/stage2/dune/libplugin/dune @@ -0,0 +1,17 @@ +(include_subdirs unqualified) +(library + (name fstar_pluginlib) + (public_name fstar.pluginlib) + (libraries + fstarcompiler + ) + (modes native) + (wrapped true) + (preprocess (pps ppx_deriving.show ppx_deriving_yojson)) +) + +(env + (_ + (bin_annot false) + (flags (:standard -w -A))) +) diff --git a/stage2/dune/libplugin/full b/stage2/dune/libplugin/full new file mode 120000 index 00000000000..fbfc3b1c40c --- /dev/null +++ b/stage2/dune/libplugin/full @@ -0,0 +1 @@ +../../../src/ml/full/ \ No newline at end of file diff --git a/stage2/dune/libplugin/plugin b/stage2/dune/libplugin/plugin new file mode 120000 index 00000000000..ce023fa39b3 --- /dev/null +++ b/stage2/dune/libplugin/plugin @@ -0,0 +1 @@ +../../../ulib/ml/plugin/ \ No newline at end of file diff --git a/stage2/dune/libplugin/ulib.pluginml b/stage2/dune/libplugin/ulib.pluginml new file mode 120000 index 00000000000..36cb2d97a27 --- /dev/null +++ b/stage2/dune/libplugin/ulib.pluginml @@ -0,0 +1 @@ +../../ulib.pluginml/ \ No newline at end of file diff --git a/stage2/dune/main.ml b/stage2/dune/main.ml new file mode 100644 index 00000000000..43d25ac5234 --- /dev/null +++ b/stage2/dune/main.ml @@ -0,0 +1,19 @@ +let x = + (* On Unix, if we write to a pipe that tries to send something + to a process that died, we receive a SIGPIPE signal which + by default will terminate F*, and we won't get an exception + or anything. So, block them, and instead rely on OCaml exceptions + to detect this. *) + if Fstarcompiler.FStarC_Platform.system = Posix then + ignore (Unix.sigprocmask Unix.SIG_BLOCK [Sys.sigpipe]); + + (* Enable memtrace, only if the environment variable MEMTRACE is set. *) + Memtrace.trace_if_requested (); + + (* Record a backtrace on exceptions, for --trace_error. *) + Printexc.record_backtrace true; + + (* Tweak garbage collector parameters. *) + Gc.set { (Gc.get()) with Gc.minor_heap_size = 1048576; Gc.major_heap_increment = 4194304; Gc.space_overhead = 150; }; + + Fstarcompiler.FStarC_Main.main () diff --git a/stage2/ulib b/stage2/ulib new file mode 120000 index 00000000000..ca044776e6f --- /dev/null +++ b/stage2/ulib @@ -0,0 +1 @@ +../ulib/ \ No newline at end of file diff --git a/stage2/version.txt b/stage2/version.txt new file mode 120000 index 00000000000..aa4e5bece7e --- /dev/null +++ b/stage2/version.txt @@ -0,0 +1 @@ +../version.txt \ No newline at end of file diff --git a/tests/Cfg.fst.config.json b/tests/Cfg.fst.config.json index 33824b76ec5..a406ce08ad0 100644 --- a/tests/Cfg.fst.config.json +++ b/tests/Cfg.fst.config.json @@ -1,7 +1,8 @@ { - "fstar_exe": "../bin/fstar.exe", + "fstar_exe": "../out/bin/fstar.exe", "options": [ - "--ext", "context_pruning" + "--ext", "context_pruning", + "--z3version", "4.13.3" ], "include_dirs": [ ] diff --git a/tests/bug-reports/closed/Bug1052.fst b/tests/bug-reports/closed/Bug1052.fst index b97282b39af..41345ec320e 100644 --- a/tests/bug-reports/closed/Bug1052.fst +++ b/tests/bug-reports/closed/Bug1052.fst @@ -17,4 +17,4 @@ module Bug1052 open FStar.All -(* fstar.exe --fstar_home /home/hritcu/Projects/fstar/pub --include doc/tutorial/code/solutions --include ucontrib/Platform/fst --include ucontrib/CoreCrypto/fst --smt /home/hritcu/Apps/z3-4.5.0-x64-ubuntu-14.04/bin/z3 blah.fst *) +(* fstar.exe --fstar_home /home/hritcu/Projects/fstar/pub --include doc/tutorial/code/solutions --include contrib/Platform/fst --include contrib/CoreCrypto/fst --smt /home/hritcu/Apps/z3-4.5.0-x64-ubuntu-14.04/bin/z3 blah.fst *) diff --git a/tests/bug-reports/closed/Bug312.fst b/tests/bug-reports/closed/Bug312.fst index 0cd3a69d76c..1c80d10f444 100644 --- a/tests/bug-reports/closed/Bug312.fst +++ b/tests/bug-reports/closed/Bug312.fst @@ -53,8 +53,7 @@ assume val sample : //#a:Type -> #b:Type irreducible val triple_a : s:double int -> Tot (r:(h:double int & shared h) {(R?.l s) - (snd(R?.l(dsnd r))) = (R?.r s) - (snd(R?.r(dsnd r)))}) - -[@@expect_failure [19]] + let triple_a s = let sample_fun = (fun x -> (x - (R?.l s)) + (R?.r s)) in cut (inverses (fun x -> x) (fun x -> x)); lemma_inverses_bij (fun x -> x) (fun x -> x); diff --git a/tests/bug-reports/closed/Bug3616.fst b/tests/bug-reports/closed/Bug3616.fst new file mode 100644 index 00000000000..fb3695a9f7f --- /dev/null +++ b/tests/bug-reports/closed/Bug3616.fst @@ -0,0 +1,19 @@ +module Bug3616 + +[@@"opaque_to_smt"] +let f (): int = 0 + +[@@expect_failure] +let _ = + assert(f () == 0) + +let _ = + reveal_opaque (`%f) (f); + assert(f () == 0) + +[@@"opaque_to_smt"] +let rec f_rec (): int = 0 + +let _ = + reveal_opaque (`%f_rec) (f_rec); + assert(f_rec () == 0) diff --git a/tests/calc/BasicTests.fst.hints b/tests/calc/BasicTests.fst.hints deleted file mode 100644 index e51745b7c71..00000000000 --- a/tests/calc/BasicTests.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - "œ$\n®l\u0001\u0011Ønx QÜaäš", - [ - [ - "BasicTests.test1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eb1ceaa17862b4cbad9aaa8a96cbedb7" - ], - [ - "BasicTests.test2", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bd5a89773fbe69e06bef585877a8f1e5" - ], - [ - "BasicTests.test3", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e8e00c1ed1cb61283104182e9991bf87" - ], - [ - "BasicTests.test4", - 1, - 2, - 1, - [ "@query" ], - 0, - "d3fbc77cc05e45f74571cc78a8fb25e5" - ], - [ - "BasicTests.test5", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b217116ed4d2eca16f99992d311d6982" - ] - ] -] \ No newline at end of file diff --git a/tests/calc/CalcImpl.fst.hints b/tests/calc/CalcImpl.fst.hints deleted file mode 100644 index f7ba8954a88..00000000000 --- a/tests/calc/CalcImpl.fst.hints +++ /dev/null @@ -1,56 +0,0 @@ -[ - "i(a[j‘z\fêˆf²l\u0013", - [ - [ - "CalcImpl.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a5468bda955499802ddabefe890b252e" - ], - [ - "CalcImpl.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CalcImpl.any", - "equation_Prims.logical", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "db2d0f05aedc0242119ef7fdd9897e91" - ], - [ - "CalcImpl.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CalcImpl.any", - "equation_Prims.logical", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "aae5fe48e03e3e57ad5cba59f4d86892" - ], - [ - "CalcImpl.test5", - 1, - 2, - 1, - [ - "@query", "equation_CalcImpl.op_Equals_Equals_Greater", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "44c2859867ba8009bfb9b568f97be27d" - ] - ] -] \ No newline at end of file diff --git a/tests/calc/CalcInference.fst.hints b/tests/calc/CalcInference.fst.hints deleted file mode 100644 index 0fbda0ea138..00000000000 --- a/tests/calc/CalcInference.fst.hints +++ /dev/null @@ -1,32 +0,0 @@ -[ - "—„\u0011ŒiNÙ/ËqÀXe\u000fƒ\u0000", - [ - [ - "CalcInference.test1", - 1, - 2, - 1, - [ "@query" ], - 0, - "a47510136d39ff45c2d30b080d010526" - ], - [ - "CalcInference.test2", - 1, - 2, - 1, - [ "@query" ], - 0, - "f07c963556d816eb72219042078f0953" - ], - [ - "CalcInference.test3", - 1, - 2, - 1, - [ "@query" ], - 0, - "d692c2d4381c952f7fb728bc0753c475" - ] - ] -] \ No newline at end of file diff --git a/tests/calc/CalcTest.fst.hints b/tests/calc/CalcTest.fst.hints deleted file mode 100644 index ccdbad4cedc..00000000000 --- a/tests/calc/CalcTest.fst.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "3Y£±®û\u0010e–8&Ÿšê¥ž", - [ - [ - "CalcTest.lem1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1567a0e329ad62b4fcb87244a7674617" - ], - [ - "CalcTest.calc0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "49fe90549c5632d132aedc426cbf3079" - ], - [ - "CalcTest.calc0_desugared", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ef911a9dce15f8bde2bf849c1617d1b3" - ], - [ - "CalcTest.calc1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "cb8da187653390d473722c0b4598a490" - ], - [ - "CalcTest.test_ge", - 1, - 2, - 1, - [ "@query" ], - 0, - "45b1d979c85aeb2a359447c6d3cd31cb" - ], - [ - "CalcTest.test_erase", - 1, - 2, - 1, - [ "@query" ], - 0, - "ef6eef987128614c5c8130279b470be2" - ], - [ - "CalcTest.test_gt", - 1, - 2, - 1, - [ "@query" ], - 0, - "41ab070183d56213c5e2d0197e078842" - ] - ] -] \ No newline at end of file diff --git a/tests/calc/Long.fst.hints b/tests/calc/Long.fst.hints deleted file mode 100644 index 1c264e8c725..00000000000 --- a/tests/calc/Long.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "°\u0000W\u001eRk)똛,\u000fÖ–óæ", - [ - [ - "Long.calc25", - 1, - 2, - 1, - [ "@query" ], - 0, - "a5d9eb64e08e4d09727315d67b271b8e" - ], - [ - "Long.calc50", - 1, - 2, - 1, - [ "@query" ], - 0, - "1b19528471db3f16a4a788c5a7921ec1" - ], - [ - "Long.calc75", - 1, - 2, - 1, - [ "@query" ], - 0, - "04f6574ffde9f392219417e52d237a6b" - ], - [ - "Long.calc100", - 1, - 2, - 1, - [ "@query" ], - 0, - "0a11f56b949ff82e822a7a0340e2636e" - ] - ] -] \ No newline at end of file diff --git a/tests/calc/SeqCalc.fst.hints b/tests/calc/SeqCalc.fst.hints deleted file mode 100644 index 23d8b822145..00000000000 --- a/tests/calc/SeqCalc.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "üCK*u£îŸxcE†‚c`\u0015", - [ - [ - "SeqCalc.seq_assoc_4", - 1, - 2, - 1, - [ "@query" ], - 0, - "193397d8be3b86541f7a6e9d2af10718" - ] - ] -] \ No newline at end of file diff --git a/tests/coercions/IntBV.fst.hints b/tests/coercions/IntBV.fst.hints deleted file mode 100644 index 83a42619374..00000000000 --- a/tests/coercions/IntBV.fst.hints +++ /dev/null @@ -1,91 +0,0 @@ -[ - "u\u0000nòMÌ.d\u0004\u0014ð\u001a\buµ", - [ - [ - "IntBV.int_to_bv1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fb67945b14b69cbfbf7ddf412725e05f" - ], - [ - "IntBV.test1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "93a0e94591c795ca19b7bb4405a37bea" - ], - [ - "IntBV.test2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "abfcf9c697eeb5fca4e268de2d801349" - ], - [ - "IntBV.test3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "fd50f09f1d66f0161c2c5afce542c544" - ] - ] -] \ No newline at end of file diff --git a/tests/coercions/ListSeq.fst.hints b/tests/coercions/ListSeq.fst.hints deleted file mode 100644 index 48e32ba7ca9..00000000000 --- a/tests/coercions/ListSeq.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¾ýº“\u001dØ\u001f¤¨´¬ÚC$o¹", [] ] \ No newline at end of file diff --git a/tests/coercions/Q.fst.hints b/tests/coercions/Q.fst.hints deleted file mode 100644 index 2390687c2d6..00000000000 --- a/tests/coercions/Q.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0016Œ,É nŒžiQ\u001bfeÑ\u001cZ", [] ] \ No newline at end of file diff --git a/tests/coercions/T.fst.hints b/tests/coercions/T.fst.hints deleted file mode 100644 index 4e56e87725a..00000000000 --- a/tests/coercions/T.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "»\u001f°Õ\u0017/XÓôüÊ/\u001fD6", [] ] \ No newline at end of file diff --git a/tests/dune_hello/Makefile b/tests/dune_hello/Makefile index 99e2277ff37..4262ee9f6be 100644 --- a/tests/dune_hello/Makefile +++ b/tests/dune_hello/Makefile @@ -1,10 +1,15 @@ -FSTAR_EXE ?= ../../bin/fstar.exe +# In this repository, we inherit this variable. Externally we +# just take fstar.exe from the PATH. +FSTAR_EXE ?= fstar.exe .PHONY: all all: run +ifneq ($(OS),Windows_NT) # See comment in ../simple_hello/Makefile +all: run.bc +endif Hello.ml: Hello.fst - $(FSTAR_EXE) --codegen OCaml Hello.fst --extract Hello + $(FSTAR_EXE) --codegen OCaml Hello.fst --extract Hello --z3version 4.13.3 bin/hello.exe: Hello.ml $(FSTAR_EXE) --ocamlenv dune build @install --profile=release @@ -13,6 +18,8 @@ bin/hello.exe: Hello.ml .PHONY: run run: bin/hello.exe ./bin/hello.exe | grep "Hi!" + +run.bc: bin/hello.exe # Find a way to install this? dune install skips the bytecode $(FSTAR_EXE) --ocamlenv dune exec ./hello.bc | grep "Hi!" diff --git a/tests/error-messages/AQualMismatch.fst.hints b/tests/error-messages/AQualMismatch.fst.hints deleted file mode 100644 index 92dc492a562..00000000000 --- a/tests/error-messages/AQualMismatch.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "”ÂÕçèMý°Ï\u001e\u0019ÙA\u001f", [] ] \ No newline at end of file diff --git a/tests/error-messages/AnotType.fst.hints b/tests/error-messages/AnotType.fst.hints deleted file mode 100644 index a0ae44de44b..00000000000 --- a/tests/error-messages/AnotType.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u000bŸ{*Æù4-Bò\u0010OÛ­@g", [] ] \ No newline at end of file diff --git a/tests/error-messages/ArgsAndQuals.fst.hints b/tests/error-messages/ArgsAndQuals.fst.hints deleted file mode 100644 index 21c4a240931..00000000000 --- a/tests/error-messages/ArgsAndQuals.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¤`\u00133䉹\u0004TyíN,Gš&", [] ] \ No newline at end of file diff --git a/tests/error-messages/ArrowRanges.fst.hints b/tests/error-messages/ArrowRanges.fst.hints deleted file mode 100644 index f4440ac9e99..00000000000 --- a/tests/error-messages/ArrowRanges.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\rn¥»4¢)ž\\Þ|…°\u000f‚d", [] ] \ No newline at end of file diff --git a/tests/error-messages/AssertNorm.fst.hints b/tests/error-messages/AssertNorm.fst.hints deleted file mode 100644 index e5164351e35..00000000000 --- a/tests/error-messages/AssertNorm.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "›\rQS¬Ó¤\u007f[ŽJoñ¼ä¬", [] ] \ No newline at end of file diff --git a/tests/error-messages/Asserts.fst.hints b/tests/error-messages/Asserts.fst.hints deleted file mode 100644 index eedd4e6e305..00000000000 --- a/tests/error-messages/Asserts.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "û\u0010ü¶ß\u000e\b;Ê\u0014~`\n•„", [] ] \ No newline at end of file diff --git a/tests/error-messages/BadEmptyRecord.fst.hints b/tests/error-messages/BadEmptyRecord.fst.hints deleted file mode 100644 index ffcc1301897..00000000000 --- a/tests/error-messages/BadEmptyRecord.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "nÉÉm@zu)^;¾Ì®$Cº", [] ] \ No newline at end of file diff --git a/tests/error-messages/Basic.fst.hints b/tests/error-messages/Basic.fst.hints deleted file mode 100644 index 5938688c951..00000000000 --- a/tests/error-messages/Basic.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0006\u001bŠAÝEöÍW7Ð_Û\u000e®\u0018", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug1918.fst.hints b/tests/error-messages/Bug1918.fst.hints deleted file mode 100644 index a9ac417cbb8..00000000000 --- a/tests/error-messages/Bug1918.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - ".b\u0011Y.yð\u0016\u0010\u000f|ßjÿ¤w", - [ - [ - "Bug1918.comp1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Bug1918.t", - "fuel_guarded_inversion_Bug1918.mon", "proj_equation_Bug1918.Mkmon_t" - ], - 0, - "58865798bed02aad26990495dadca9ec" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Bug1988.fst.hints b/tests/error-messages/Bug1988.fst.hints deleted file mode 100644 index bfe30670fa7..00000000000 --- a/tests/error-messages/Bug1988.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "(QŽ8õE©9ý+²Ú=âô›", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug1997.fst.hints b/tests/error-messages/Bug1997.fst.hints deleted file mode 100644 index 5cd97ded12b..00000000000 --- a/tests/error-messages/Bug1997.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ù¬¾ë8è\u0011^\u0004¸$Å¡êð¬", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2010.fst.hints b/tests/error-messages/Bug2010.fst.hints deleted file mode 100644 index 6d441ef8435..00000000000 --- a/tests/error-messages/Bug2010.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Í}¢ÊÃæHÒžÒx—øÇÌŸ", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2021.fst.hints b/tests/error-messages/Bug2021.fst.hints deleted file mode 100644 index 1f2afe0e491..00000000000 --- a/tests/error-messages/Bug2021.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0003ïcö+ó<ðìéË­é«Ç", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2245.fst.hints b/tests/error-messages/Bug2245.fst.hints deleted file mode 100644 index 98eeb1d0e13..00000000000 --- a/tests/error-messages/Bug2245.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "K2u¥\u0010ú²IÝ¢±FbŽðk", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2820.fst.hints b/tests/error-messages/Bug2820.fst.hints deleted file mode 100644 index f9fc238ab3f..00000000000 --- a/tests/error-messages/Bug2820.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "÷T\u0000\u0014_³UÙ家$êÞ˜ó", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2899.fst.hints b/tests/error-messages/Bug2899.fst.hints deleted file mode 100644 index 4e6e2ce99f0..00000000000 --- a/tests/error-messages/Bug2899.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ú@\n8.(¨á\u001dI^\u0007+r¬i", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2899.fst.json_output.expected b/tests/error-messages/Bug2899.fst.json_output.expected index a2f3914f38b..be9beacbd7b 100644 --- a/tests/error-messages/Bug2899.fst.json_output.expected +++ b/tests/error-messages/Bug2899.fst.json_output.expected @@ -1,12 +1,12 @@ >> Got issues: [ -{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at:\n FStar.Stubs.Tactics.Result.Success (Prims.admit ()) \"(((proofstate)))\"","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":212,"col":48},"end_pos":{"line":212,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":7,"col":12},"end_pos":{"line":7,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test0`","While typechecking the top-level declaration `[@@expect_failure] let test0`"]} +{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at:\n FStar.Stubs.Tactics.Result.Success (Prims.admit ()) \"(((proofstate)))\"","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":215,"col":48},"end_pos":{"line":215,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":7,"col":12},"end_pos":{"line":7,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test0`","While typechecking the top-level declaration `[@@expect_failure] let test0`"]} >>] >> Got issues: [ -{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at: Prims.admit ()","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":212,"col":48},"end_pos":{"line":212,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":10,"col":12},"end_pos":{"line":10,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test1`","While typechecking the top-level declaration `[@@expect_failure] let test1`"]} +{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at: Prims.admit ()","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":215,"col":48},"end_pos":{"line":215,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":10,"col":12},"end_pos":{"line":10,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test1`","While typechecking the top-level declaration `[@@expect_failure] let test1`"]} >>] >> Got issues: [ -{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at:\n FStar.Stubs.Tactics.V2.Builtins.dump (Prims.admit ()) \"(((proofstate)))\"","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":212,"col":48},"end_pos":{"line":212,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":13,"col":12},"end_pos":{"line":13,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test2`","While typechecking the top-level declaration `[@@expect_failure] let test2`"]} +{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at:\n FStar.Stubs.Tactics.V2.Builtins.dump (Prims.admit ()) \"(((proofstate)))\"","The term contains an `admit`, which will not reduce. Did you mean `tadmit()`?"],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":215,"col":48},"end_pos":{"line":215,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":13,"col":12},"end_pos":{"line":13,"col":18}}},"number":170,"ctx":["While preprocessing VC with a tactic","While checking for top-level effects","While typechecking the top-level declaration `let test2`","While typechecking the top-level declaration `[@@expect_failure] let test2`"]} >>] >> Got issues: [ -{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at: reify (tac ()) \"(((proofstate)))\"",""],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":212,"col":48},"end_pos":{"line":212,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":17,"col":50},"end_pos":{"line":17,"col":66}}},"number":170,"ctx":["While preprocessing VC with a tactic","While typechecking the top-level declaration `let eval_tactic`","While typechecking the top-level declaration `[@@expect_failure] let eval_tactic`"]} +{"msg":["Tactic failed","Tactic got stuck!","Reduction stopped at: reify (tac ()) \"(((proofstate)))\"",""],"level":"Error","range":{"def":{"file_name":"FStar.Tactics.Effect.fsti","start_pos":{"line":215,"col":48},"end_pos":{"line":215,"col":58}},"use":{"file_name":"Bug2899.fst","start_pos":{"line":17,"col":50},"end_pos":{"line":17,"col":66}}},"number":170,"ctx":["While preprocessing VC with a tactic","While typechecking the top-level declaration `let eval_tactic`","While typechecking the top-level declaration `[@@expect_failure] let eval_tactic`"]} >>] diff --git a/tests/error-messages/Bug2899.fst.output.expected b/tests/error-messages/Bug2899.fst.output.expected index 95b036ea5bc..a06dd4c2183 100644 --- a/tests/error-messages/Bug2899.fst.output.expected +++ b/tests/error-messages/Bug2899.fst.output.expected @@ -5,7 +5,7 @@ - Reduction stopped at: FStar.Stubs.Tactics.Result.Success (Prims.admit ()) "(((proofstate)))" - The term contains an `admit`, which will not reduce. Did you mean `tadmit()`? - - See also FStar.Tactics.Effect.fsti(212,48-212,58) + - See also FStar.Tactics.Effect.fsti(215,48-215,58) >>] >> Got issues: [ @@ -14,7 +14,7 @@ - Tactic got stuck! - Reduction stopped at: Prims.admit () - The term contains an `admit`, which will not reduce. Did you mean `tadmit()`? - - See also FStar.Tactics.Effect.fsti(212,48-212,58) + - See also FStar.Tactics.Effect.fsti(215,48-215,58) >>] >> Got issues: [ @@ -24,7 +24,7 @@ - Reduction stopped at: FStar.Stubs.Tactics.V2.Builtins.dump (Prims.admit ()) "(((proofstate)))" - The term contains an `admit`, which will not reduce. Did you mean `tadmit()`? - - See also FStar.Tactics.Effect.fsti(212,48-212,58) + - See also FStar.Tactics.Effect.fsti(215,48-215,58) >>] >> Got issues: [ @@ -32,6 +32,6 @@ - Tactic failed - Tactic got stuck! - Reduction stopped at: reify (tac ()) "(((proofstate)))" - - See also FStar.Tactics.Effect.fsti(212,48-212,58) + - See also FStar.Tactics.Effect.fsti(215,48-215,58) >>] diff --git a/tests/error-messages/Bug2953.fst.hints b/tests/error-messages/Bug2953.fst.hints deleted file mode 100644 index 7c7734eaacf..00000000000 --- a/tests/error-messages/Bug2953.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "oøo\u001c¹)\u0015µª\u001bùdÙSp\u0012", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2980.fst.hints b/tests/error-messages/Bug2980.fst.hints deleted file mode 100644 index 5209972456c..00000000000 --- a/tests/error-messages/Bug2980.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "˜“\u0006G\u0017\u0001iС«È¸áÙ>Ä", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug2981.fst.hints b/tests/error-messages/Bug2981.fst.hints deleted file mode 100644 index 20814af217b..00000000000 --- a/tests/error-messages/Bug2981.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "gŒRïÆW4Ð=FHF°¼ˆ\u0007", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug3099.fst.hints b/tests/error-messages/Bug3099.fst.hints deleted file mode 100644 index 676e791171f..00000000000 --- a/tests/error-messages/Bug3099.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "¶aBnY³jja\u007f†n)&\bn", - [ - [ - "Bug3099.check_print_tuples", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4f873502475116c9f280d50607e640ee" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Bug3102.fst.hints b/tests/error-messages/Bug3102.fst.hints deleted file mode 100644 index 6304cb4a8eb..00000000000 --- a/tests/error-messages/Bug3102.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Áy¢Ê nX~¹ø8\u001düÏ\u001b", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug3145.fst.hints b/tests/error-messages/Bug3145.fst.hints deleted file mode 100644 index 1d10bdf4dbc..00000000000 --- a/tests/error-messages/Bug3145.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "–Ô£¯BøöåÿvéÅrÝöP", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug3227.fst.hints b/tests/error-messages/Bug3227.fst.hints deleted file mode 100644 index 8d3a288c509..00000000000 --- a/tests/error-messages/Bug3227.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - " ìò¦Ž>nŸ\u0013Ìù[ÝF\u0015É", - [ - [ - "Bug3227.box", - 1, - 2, - 1, - [ "@query" ], - 0, - "eb2f39e632a97e1a8c6da673b7b3c853" - ], - [ - "Bug3227.box2", - 1, - 2, - 1, - [ "@query" ], - 0, - "dc1f2c3ab2d61d0fed926ce00b20c613" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Bug3292.fst.hints b/tests/error-messages/Bug3292.fst.hints deleted file mode 100644 index 823ceabd526..00000000000 --- a/tests/error-messages/Bug3292.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "@ºÂÓ4(Tð\u0006±‘.\u001b?†T", [] ] \ No newline at end of file diff --git a/tests/error-messages/Bug3530.fst.hints b/tests/error-messages/Bug3530.fst.hints deleted file mode 100644 index b514fe8f5b1..00000000000 --- a/tests/error-messages/Bug3530.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0013l\u0018½Î¡Ë\u001dÅÜO,‡Yë", [] ] \ No newline at end of file diff --git a/tests/error-messages/Calc.fst.hints b/tests/error-messages/Calc.fst.hints deleted file mode 100644 index 6eea08d2962..00000000000 --- a/tests/error-messages/Calc.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\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 deleted file mode 100644 index f7ba8954a88..00000000000 --- a/tests/error-messages/CalcImpl.fst.hints +++ /dev/null @@ -1,56 +0,0 @@ -[ - "i(a[j‘z\fêˆf²l\u0013", - [ - [ - "CalcImpl.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a5468bda955499802ddabefe890b252e" - ], - [ - "CalcImpl.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CalcImpl.any", - "equation_Prims.logical", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "db2d0f05aedc0242119ef7fdd9897e91" - ], - [ - "CalcImpl.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CalcImpl.any", - "equation_Prims.logical", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "aae5fe48e03e3e57ad5cba59f4d86892" - ], - [ - "CalcImpl.test5", - 1, - 2, - 1, - [ - "@query", "equation_CalcImpl.op_Equals_Equals_Greater", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "44c2859867ba8009bfb9b568f97be27d" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Coercions.fst.hints b/tests/error-messages/Coercions.fst.hints deleted file mode 100644 index 14410c14e30..00000000000 --- a/tests/error-messages/Coercions.fst.hints +++ /dev/null @@ -1,21 +0,0 @@ -[ - "¤¢ª¨'äšØú5Ï×sG[", - [ - [ - "Coercions.c_erased_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Coercions.c_erased_int", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Ghost.hide", "typing_Prims.int" - ], - 0, - "b06b6b38ead3550638967065785564bf" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/DTuples.fst.hints b/tests/error-messages/DTuples.fst.hints deleted file mode 100644 index 3f75f8e4142..00000000000 --- a/tests/error-messages/DTuples.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "U¡G‘ïñ\u0002s¡¡xuÃÅý", [] ] \ No newline at end of file diff --git a/tests/error-messages/DecreasesTypeWarning.fst.hints b/tests/error-messages/DecreasesTypeWarning.fst.hints deleted file mode 100644 index add4fe46097..00000000000 --- a/tests/error-messages/DecreasesTypeWarning.fst.hints +++ /dev/null @@ -1,36 +0,0 @@ -[ - "³ÿW\u000b–\\\u0016ÍFfÔ‰UH–\u001d", - [ - [ - "DecreasesTypeWarning.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "d0052225074944468f2c923dca1c20f3" - ], - [ - "DecreasesTypeWarning.f", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b46f9febde162e476374095e6787c208_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "4153c56877abe8da1bcc3d4e0ba413af" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/DesugarOrder.fst.hints b/tests/error-messages/DesugarOrder.fst.hints deleted file mode 100644 index d1408987511..00000000000 --- a/tests/error-messages/DesugarOrder.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Š›\u0015Â#¦ã>\r… \u001c®†Ð5", [] ] \ No newline at end of file diff --git a/tests/error-messages/DumpUvarsOf.fst.hints b/tests/error-messages/DumpUvarsOf.fst.hints deleted file mode 100644 index f6faad55300..00000000000 --- a/tests/error-messages/DumpUvarsOf.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "üìÄ¢X\u0005†1ˆu\u0016ÅÚ'¨í", [] ] \ No newline at end of file diff --git a/tests/error-messages/Erasable.fst.hints b/tests/error-messages/Erasable.fst.hints deleted file mode 100644 index 846fae35924..00000000000 --- a/tests/error-messages/Erasable.fst.hints +++ /dev/null @@ -1,55 +0,0 @@ -[ - ".Jw=Ä¡òA\u001b\u0011Ì\u0005˜ÓN\u001b", - [ - [ - "Erasable.__proj__This__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c192a2edf78cec4f1eb553cb69a4e8f" - ], - 0, - "99c956363ee4bc4970d9661ac13f1b52" - ], - [ - "Erasable.__proj__That__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ec597d6979f8847712206596e24a9e2d" - ], - 0, - "6e52cbd3d2977cdd0db7d09f100dcd2a" - ], - [ - "Erasable.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Erasable.That", - "disc_equation_Erasable.This", "fuel_guarded_inversion_Erasable.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "46ed3ad689e63c426fe3e429a815ac18" - ], - [ - "Erasable.test_promotion", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Erasable.That", - "disc_equation_Erasable.This", "fuel_guarded_inversion_Erasable.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b9f9543d66414b297856a2ed9e1100e4" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/ExpectFailure.fst.hints b/tests/error-messages/ExpectFailure.fst.hints deleted file mode 100644 index 64e7a2236f2..00000000000 --- a/tests/error-messages/ExpectFailure.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "N7x\u0013H¥“€ñ07<ÑÝîÐ", [] ] \ No newline at end of file diff --git a/tests/error-messages/GhostImplicits.fst.hints b/tests/error-messages/GhostImplicits.fst.hints deleted file mode 100644 index 28fc343fa1d..00000000000 --- a/tests/error-messages/GhostImplicits.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "B\u0011\u0015ωë\u000e‘l\u0015°ˆÐ‡B", [] ] \ No newline at end of file diff --git a/tests/error-messages/IfCond.fst.hints b/tests/error-messages/IfCond.fst.hints deleted file mode 100644 index b6b7f08aa0e..00000000000 --- a/tests/error-messages/IfCond.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "#ÒJù\u0010}ßDɇàpj÷Ÿ¹", [] ] \ No newline at end of file diff --git a/tests/error-messages/IfThen.fst.hints b/tests/error-messages/IfThen.fst.hints deleted file mode 100644 index 1ed496ec3dc..00000000000 --- a/tests/error-messages/IfThen.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "b¥\u0001\u0013\u001dKãy.nÚ=Èè*í", [] ] \ No newline at end of file diff --git a/tests/error-messages/Inference.fst.hints b/tests/error-messages/Inference.fst.hints deleted file mode 100644 index d6faf090f49..00000000000 --- a/tests/error-messages/Inference.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "%Ýý*\u0010à$ûÜ\u0002Ù¾\u0015\f\r\u0001", - [ - [ - "Inference.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.t", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_8e1a63f5f0eda9c61cb76c338f52ad38", - "refinement_interpretation_Tm_refine_d17e5cc72481ba65d7fc920fac08f000", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.DependentMap.empty" - ], - 0, - "3cd6e636e53eaa426fc7032df8281ac7" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Monoid.fst.hints b/tests/error-messages/Monoid.fst.hints deleted file mode 100644 index d6b8ddf6927..00000000000 --- a/tests/error-messages/Monoid.fst.hints +++ /dev/null @@ -1,310 +0,0 @@ -[ - "Ñ\u001eôì6šÐJ;íãeÕŠŸk", - [ - [ - "Monoid.intro_monoid", - 1, - 2, - 1, - [ - "@query", "proj_equation_Monoid.Monoid_mult", - "proj_equation_Monoid.Monoid_unit", - "projection_inverse_Monoid.Monoid_mult", - "projection_inverse_Monoid.Monoid_unit" - ], - 0, - "6ea7bd449b540921c30cfea48e881c3a" - ], - [ - "Monoid.nat_plus_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Monoid_interpretation_Tm_arrow_2bb228db8432d0cdc106cb64c22e55ba", - "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", "equation_Prims.nat", - "int_inversion", "int_typing", - "interpretation_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76" - ], - 0, - "ebe7232dd1b56bd3b7cf04c852b8df0f" - ], - [ - "Monoid.int_plus_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Prims.op_Addition" - ], - 0, - "ef19c4de221f748d722df74534289998" - ], - [ - "Monoid.conjunction_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equality_tok_Prims.T@tok", "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.prop", - "equation_Prims.squash", "equation_Prims.subtype_of", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "true_interp", "typing_FStar.Pervasives.singleton", - "typing_Prims.l_True", "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "72aa11fdc6f69dbbf5cdc306df901399" - ], - [ - "Monoid.disjunction_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", "equation_Prims.l_False", - "equation_Prims.logical", "equation_Prims.prop", - "equation_Prims.subtype_of", "false_interp", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "typing_FStar.Pervasives.singleton", "typing_Prims.l_False", - "unit_typing" - ], - 0, - "360592b6894e468dd534582a315ec457" - ], - [ - "Monoid.bool_and_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", - "interpretation_Tm_abs_8939a34eb92f993c93075a413a93c17c", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_8939a34eb92f993c93075a413a93c17c" - ], - 0, - "27fd3a0f6fddb615767839aefef3126f" - ], - [ - "Monoid.bool_or_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", - "interpretation_Tm_abs_97a476600c466721ac503386d260fe4f", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_97a476600c466721ac503386d260fe4f" - ], - 0, - "c3bfde4924107937b540edcaf2d9411c" - ], - [ - "Monoid.bool_xor_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", - "interpretation_Tm_abs_5043f38a94b5783f1a2853ffc23a082c", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_5043f38a94b5783f1a2853ffc23a082c" - ], - 0, - "d6473261c010dd287911ee445825257d" - ], - [ - "Monoid.lift_monoid_option", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Monoid_interpretation_Tm_arrow_626a65ce1123f7be4323f3d34a63d3b5", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_Monoid.Monoid", - "equation_Monoid.associativity_lemma", - "equation_Monoid.left_unitality_lemma", - "equation_Monoid.right_unitality_lemma", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Monoid.monoid", - "interpretation_Tm_abs_387cfc654b48b3679cff96eb634690aa", - "proj_equation_Monoid.Monoid_mult", - "proj_equation_Monoid.Monoid_unit", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_Monoid.__proj__Monoid__item__mult", - "typing_Tm_abs_387cfc654b48b3679cff96eb634690aa" - ], - 0, - "f99eac7f33cc8867e2f0c6cf92b32955" - ], - [ - "Monoid.monoid_morphism", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.squash", - "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "e7469e5d192358a466a74005a77b8b9a" - ], - [ - "Monoid.intro_monoid_morphism", - 1, - 2, - 1, - [ "@query" ], - 0, - "fea8a9bbbb584c3721b5c49feb8e8f13" - ], - [ - "Monoid.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Monoid.embed_nat_int", "equation_Monoid.int_plus_monoid", - "equation_Monoid.intro_monoid", - "equation_Monoid.monoid_morphism_mult_lemma", - "equation_Monoid.monoid_morphism_unit_lemma", - "equation_Monoid.nat_plus_monoid", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76", - "proj_equation_Monoid.Monoid_mult", - "proj_equation_Monoid.Monoid_unit", - "projection_inverse_Monoid.Monoid_mult", - "projection_inverse_Monoid.Monoid_unit", - "token_correspondence_Monoid.__proj__Monoid__item__mult", - "token_correspondence_Monoid.embed_nat_int", - "token_correspondence_Prims.op_Addition" - ], - 0, - "c168470a68985833f9f4ffa9b56f42cc" - ], - [ - "Monoid.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equality_tok_Prims.T@tok", "equation_Monoid.conjunction_monoid", - "equation_Monoid.disjunction_monoid", "equation_Monoid.intro_monoid", - "equation_Monoid.monoid_morphism_mult_lemma", - "equation_Monoid.monoid_morphism_unit_lemma", "equation_Monoid.neg", - "equation_Prims.l_False", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.prop", - "equation_Prims.squash", "equation_Prims.subtype_of", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "l_and-interp", "proj_equation_Monoid.Monoid_mult", - "proj_equation_Monoid.Monoid_unit", - "projection_inverse_Monoid.Monoid_mult", - "projection_inverse_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_Monoid.__proj__Monoid__item__mult", - "token_correspondence_Monoid.neg", "true_interp", - "typing_FStar.Pervasives.singleton", "typing_Monoid.neg", - "typing_Prims.l_True", "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "79d0c90134ffcf0e6ab789812301001c" - ], - [ - "Monoid.uu___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Monoid.conjunction_monoid", - "equation_Monoid.disjunction_monoid", "equation_Monoid.intro_monoid", - "equation_Monoid.monoid_morphism_mult_lemma", - "equation_Monoid.monoid_morphism_unit_lemma", "equation_Monoid.neg", - "equation_Prims.l_False", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.prop", - "equation_Prims.subtype_of", "false_interp", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "l_or-interp", "proj_equation_Monoid.Monoid_mult", - "proj_equation_Monoid.Monoid_unit", - "projection_inverse_Monoid.Monoid_mult", - "projection_inverse_Monoid.Monoid_unit", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "token_correspondence_Monoid.__proj__Monoid__item__mult", - "token_correspondence_Monoid.neg", - "typing_FStar.Pervasives.singleton", "typing_Monoid.neg", - "typing_Prims.l_False", "unit_typing" - ], - 0, - "37b7b2b8f4112ae4062bd5b204ebd2d4" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.BST.fst.hints b/tests/error-messages/NegativeTests.BST.fst.hints deleted file mode 100644 index 9b87ab0ea18..00000000000 --- a/tests/error-messages/NegativeTests.BST.fst.hints +++ /dev/null @@ -1,141 +0,0 @@ -[ - "©S]#À0_5ÛðžN\u001aÇø", - [ - [ - "NegativeTests.BST.tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "int_inversion", "kinding_NegativeTests.BST.tree@tok" - ], - 0, - "48676916e78474fc5cef1cc875e23283" - ], - [ - "NegativeTests.BST.__proj__Leaf__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" - ], - 0, - "f417bc8d5287cb868469fb0014090eee" - ], - [ - "NegativeTests.BST.__proj__Node__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "d0b0fdd650fa2f2a0f8990fe28400258" - ], - [ - "NegativeTests.BST.__proj__Node__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_NegativeTests.BST.Node", - "int_inversion", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "04c16be4bdbc09ec7d8e807320a58764" - ], - [ - "NegativeTests.BST.__proj__Node__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "150cc2b5d1746f11d89711c2ecee6f43" - ], - [ - "NegativeTests.BST.__proj__Node__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "3b06eb7a9606b5169f4ffa1f7c3f1d49" - ], - [ - "NegativeTests.BST.__proj__Node__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_NegativeTests.BST.Node", - "int_inversion", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "3a533eca1cb83a2754e35de17e8b892d" - ], - [ - "NegativeTests.BST.test_node_1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "448d77c75c6f18cce9fe1c5c9c6856dd" - ], - [ - "NegativeTests.BST.test_node_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "413b1693232014d5feeecf078a4ce30f" - ], - [ - "NegativeTests.BST.test_node_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0" - ], - 0, - "897c8610f32fc96d8a4d46b8d9cbea10" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Bug260.fst.hints b/tests/error-messages/NegativeTests.Bug260.fst.hints deleted file mode 100644 index 37745e8fe2c..00000000000 --- a/tests/error-messages/NegativeTests.Bug260.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "LI<ˆ›\u000fÈ·ý\n\u0006b©Ôåé", - [ - [ - "NegativeTests.Bug260.pnat", - 1, - 2, - 1, - [ "@query" ], - 0, - "4331f6cad0daa2c8bfe9eb7f3386ace1" - ], - [ - "NegativeTests.Bug260.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" - ], - 0, - "b76f14e98d7c5e47a8f708bcee85a2c0" - ], - [ - "NegativeTests.Bug260.validity", - 1, - 2, - 1, - [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], - 0, - "153df8eb7d30ad19e164c814ca0ab45c" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.False.fst.hints b/tests/error-messages/NegativeTests.False.fst.hints deleted file mode 100644 index 9dbe3a5ea54..00000000000 --- a/tests/error-messages/NegativeTests.False.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - ",%J\fÞº¦J•ä\u001d‹Â\u0018»j", - [ - [ - "NegativeTests.False.foo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" - ], - 0, - "f1da7c3431b62051592c0b0312b88928" - ], - [ - "NegativeTests.False.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.squash", - "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "af625bb4740dc1abf374e5361e499677" - ], - [ - "NegativeTests.False.f", - 2, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "496cd0c0feba6f38df13b61056eba08e" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Heap.fst.hints b/tests/error-messages/NegativeTests.Heap.fst.hints deleted file mode 100644 index f7fc6d20c74..00000000000 --- a/tests/error-messages/NegativeTests.Heap.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ßlH<žþœ}º»|Á¡àØ", [] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Neg.fst.hints b/tests/error-messages/NegativeTests.Neg.fst.hints deleted file mode 100644 index e992ff62eef..00000000000 --- a/tests/error-messages/NegativeTests.Neg.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "ÔŠ¸h\u0019\u0003\tú-ì()§›µu", - [ - [ - "NegativeTests.Neg.test_label", - 1, - 2, - 1, - [ "@query" ], - 0, - "326fe28210de2b7b048305296f3b63c2" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Neg.fst.json_output.expected b/tests/error-messages/NegativeTests.Neg.fst.json_output.expected index 189d9799fe2..cee9400b4f5 100644 --- a/tests/error-messages/NegativeTests.Neg.fst.json_output.expected +++ b/tests/error-messages/NegativeTests.Neg.fst.json_output.expected @@ -20,7 +20,7 @@ {"msg":["Subtyping check failed","Expected type _: FStar.Pervasives.Native.option 'a {Some? _}\ngot type FStar.Pervasives.Native.option 'a","The SMT solver could not prove the query. Use --query_stats for more details."],"level":"Error","range":{"def":{"file_name":"FStar.Pervasives.Native.fst","start_pos":{"line":33,"col":4},"end_pos":{"line":33,"col":8}},"use":{"file_name":"NegativeTests.Neg.fst","start_pos":{"line":46,"col":30},"end_pos":{"line":46,"col":31}}},"number":19,"ctx":["While typechecking the top-level declaration `let bad_projector`","While typechecking the top-level declaration `[@@expect_failure] let bad_projector`"]} >>] >> Got issues: [ -{"msg":["Subtyping check failed","Expected type _: FStar.Pervasives.result Prims.int {V? _}\ngot type FStar.Pervasives.result Prims.int","The SMT solver could not prove the query. Use --query_stats for more details."],"level":"Error","range":{"def":{"file_name":"FStar.Pervasives.fsti","start_pos":{"line":519,"col":4},"end_pos":{"line":519,"col":5}},"use":{"file_name":"NegativeTests.Neg.fst","start_pos":{"line":50,"col":45},"end_pos":{"line":50,"col":47}}},"number":19,"ctx":["While typechecking the top-level declaration `val NegativeTests.Neg.test`","While typechecking the top-level declaration `[@@expect_failure] val NegativeTests.Neg.test`"]} +{"msg":["Subtyping check failed","Expected type _: FStar.Pervasives.result Prims.int {V? _}\ngot type FStar.Pervasives.result Prims.int","The SMT solver could not prove the query. Use --query_stats for more details."],"level":"Error","range":{"def":{"file_name":"FStar.Pervasives.fsti","start_pos":{"line":526,"col":4},"end_pos":{"line":526,"col":5}},"use":{"file_name":"NegativeTests.Neg.fst","start_pos":{"line":50,"col":45},"end_pos":{"line":50,"col":47}}},"number":19,"ctx":["While typechecking the top-level declaration `val NegativeTests.Neg.test`","While typechecking the top-level declaration `[@@expect_failure] val NegativeTests.Neg.test`"]} >>] >> Got issues: [ {"msg":["Subtyping check failed","Expected type Prims.nat\ngot type Prims.int","The SMT solver could not prove the query. Use --query_stats for more details."],"level":"Error","range":{"def":{"file_name":"Prims.fst","start_pos":{"line":680,"col":18},"end_pos":{"line":680,"col":24}},"use":{"file_name":"NegativeTests.Neg.fst","start_pos":{"line":55,"col":25},"end_pos":{"line":55,"col":26}}},"number":19,"ctx":["While checking for top-level effects","While typechecking the top-level declaration `let h1`","While typechecking the top-level declaration `[@@expect_failure] let h1`"]} diff --git a/tests/error-messages/NegativeTests.Neg.fst.output.expected b/tests/error-messages/NegativeTests.Neg.fst.output.expected index 2a19c6eeb17..498f2dbc414 100644 --- a/tests/error-messages/NegativeTests.Neg.fst.output.expected +++ b/tests/error-messages/NegativeTests.Neg.fst.output.expected @@ -63,7 +63,7 @@ got type FStar.Pervasives.result Prims.int - The SMT solver could not prove the query. Use --query_stats for more details. - - See also FStar.Pervasives.fsti(519,4-519,5) + - See also FStar.Pervasives.fsti(526,4-526,5) >>] >> Got issues: [ diff --git a/tests/error-messages/NegativeTests.Positivity.fst.hints b/tests/error-messages/NegativeTests.Positivity.fst.hints deleted file mode 100644 index d587de47714..00000000000 --- a/tests/error-messages/NegativeTests.Positivity.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - "\u001bv¦]\u0018€§»I&{¶ÿˆ¶À", - [ - [ - "NegativeTests.Positivity.__proj__C41__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" - ], - 0, - "256be913c6b429e1213ab985b735ec03" - ], - [ - "NegativeTests.Positivity.__proj__C42__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" - ], - 0, - "8ae5de2335adf81b8a55b42ec5cd2b9c" - ], - [ - "NegativeTests.Positivity.__proj__C42__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" - ], - 0, - "817616d19c79a1e95248f1190f96cbd3" - ], - [ - "NegativeTests.Positivity.__proj__C61__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" - ], - 0, - "68f8f6fce9247d3c332f6ccc411d6123" - ], - [ - "NegativeTests.Positivity.__proj__C61__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" - ], - 0, - "2ff18795cfbbcaf371ca4d34febfb816" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Set.fst.hints b/tests/error-messages/NegativeTests.Set.fst.hints deleted file mode 100644 index a1d4a79d4d1..00000000000 --- a/tests/error-messages/NegativeTests.Set.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "1f¦R´¿d©\u0002Ù+A‹KYi", [] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.ShortCircuiting.fst.hints b/tests/error-messages/NegativeTests.ShortCircuiting.fst.hints deleted file mode 100644 index e1b4f74080f..00000000000 --- a/tests/error-messages/NegativeTests.ShortCircuiting.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ìuz±?:×Q…\u001e\u0010 ‚øÝJ", [] ] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.Termination.fst.hints b/tests/error-messages/NegativeTests.Termination.fst.hints deleted file mode 100644 index 43ff19d24bc..00000000000 --- a/tests/error-messages/NegativeTests.Termination.fst.hints +++ /dev/null @@ -1,45 +0,0 @@ -[ - "·˜\u0003ÐN‡zxõ;½'O\u0018+", - [ - [ - "NegativeTests.Termination.sumto", - 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", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6d4aacfc9c450c049e036548def540d0" - ], - [ - "NegativeTests.Termination.snat", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e902ce12273bcd5e9048a344bdd1b26" - ], - [ - "NegativeTests.Termination.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" - ], - 0, - "6a2d3511f15d6b3e9f2ade7f61dab1cb" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.hints b/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.hints deleted file mode 100644 index e2322d51493..00000000000 --- a/tests/error-messages/NegativeTests.ZZImplicitFalse.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Qö\u0011ôl‘®@[mH\f£˜yx", [] ] \ No newline at end of file diff --git a/tests/error-messages/OccursCheckOnArrows.fst.hints b/tests/error-messages/OccursCheckOnArrows.fst.hints deleted file mode 100644 index 5b1fb45ad25..00000000000 --- a/tests/error-messages/OccursCheckOnArrows.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¾¨Àã$SsíDª±å\u0006V\u0018", [] ] \ No newline at end of file diff --git a/tests/error-messages/OptionStack.fst.hints b/tests/error-messages/OptionStack.fst.hints deleted file mode 100644 index a0e697bae24..00000000000 --- a/tests/error-messages/OptionStack.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "lÐyêéâý)bÆÀlý%@À", [] ] \ No newline at end of file diff --git a/tests/error-messages/PatAnnot.fst.hints b/tests/error-messages/PatAnnot.fst.hints deleted file mode 100644 index e3e15f22493..00000000000 --- a/tests/error-messages/PatAnnot.fst.hints +++ /dev/null @@ -1,32 +0,0 @@ -[ - "%×õ¹£™E\u0016r×\u00052&ç \u000b", - [ - [ - "PatAnnot.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "0bcf1e88a0aa6806748e53f979b39c3f" - ], - [ - "PatAnnot.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Pervasives.invertOption", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5e5f3c100a4638fe0027a6abb8c2651e" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/PatCoerce.fst.hints b/tests/error-messages/PatCoerce.fst.hints deleted file mode 100644 index 05adfda6b13..00000000000 --- a/tests/error-messages/PatCoerce.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "5¥Wµ\u0003”Ê”¢D—\"£ßkW", [] ] \ No newline at end of file diff --git a/tests/error-messages/PatImps.fst.hints b/tests/error-messages/PatImps.fst.hints deleted file mode 100644 index 2f0fa5f3d30..00000000000 --- a/tests/error-messages/PatImps.fst.hints +++ /dev/null @@ -1,55 +0,0 @@ -[ - "‡zê\u0016©\u000f~¥›&Æ­\u001f\u000b‚B", - [ - [ - "PatImps.f1", - 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, - "3d92d015726030d3cbed8a1d13601aba" - ], - [ - "PatImps.__proj__B__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d12b69dbfc634a024ebe6635710ee639" - ], - 0, - "09531fdf521634c80ebf99aab9602296" - ], - [ - "PatImps.__proj__C__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d42021b5d15fa2ad400d571ee4741f6a" - ], - 0, - "9b5ef41627b3868a27cccb35c43ab37c" - ], - [ - "PatImps.f3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_PatImps.B", - "disc_equation_PatImps.C", "fuel_guarded_inversion_PatImps.t3", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eb3ea7a03000d8f3ee982aa20b08c8e3" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/PatternMatch.fst.hints b/tests/error-messages/PatternMatch.fst.hints deleted file mode 100644 index c8b04732ebd..00000000000 --- a/tests/error-messages/PatternMatch.fst.hints +++ /dev/null @@ -1,100 +0,0 @@ -[ - "!\bZ\n–KD‡\u001d\t\u0002:ˆ˜Z", - [ - [ - "PatternMatch.uu___2", - 1, - 2, - 1, - [ "@query", "equation_PatternMatch.uu___1" ], - 0, - "661fd00f479abfc69b88e99b8ed419f3" - ], - [ - "PatternMatch.uu___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_PatternMatch.uu___3", "equation_PatternMatch.x1", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "106e39de42842a6e655e5903637c24af" - ], - [ - "PatternMatch.uu___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_PatternMatch.uu___3", "equation_PatternMatch.y1", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "f05d888313e37eba9028f6a2151edc9e" - ], - [ - "PatternMatch.uu___7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_PatternMatch.uu___4", "equation_PatternMatch.x2", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "9c7f6560a52b9828e9f36b0cc9f8fd94" - ], - [ - "PatternMatch.uu___8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_PatternMatch.uu___4", "equation_PatternMatch.y2", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "0334cd79f4715f7df61396a40dce24b4" - ], - [ - "PatternMatch.x", - 1, - 2, - 1, - [ - "@query", "equation_PatternMatch.uu___9", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "70abc63e8d8962fecdfe5039c75cfa4d" - ], - [ - "PatternMatch.z", - 1, - 2, - 1, - [ - "@query", "equation_PatternMatch.uu___10", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "87107c50e94ff7277c916b1fe8898591" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/QuickTest.fst.hints b/tests/error-messages/QuickTest.fst.hints deleted file mode 100644 index 7d38d5deb16..00000000000 --- a/tests/error-messages/QuickTest.fst.hints +++ /dev/null @@ -1,165 +0,0 @@ -[ - "¡S!¤…º¦xG±¦\u0011—˜\u000b", - [ - [ - "QuickTest.label", - 1, - 2, - 1, - [ "@query" ], - 0, - "f88eac859c607daa958089459fe7086b" - ], - [ - "QuickTest.__proj__QEmpty__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c9fd3541ac584866629f59932dd18c92" - ], - 0, - "a86596e35c6428a74b13b1f8bb0b18d1" - ], - [ - "QuickTest.__proj__QPURE__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43618871bcdd390dc872c0cf7b040280" - ], - 0, - "f010c5a2f1ef13264931499b649217c3" - ], - [ - "QuickTest.__proj__QPURE__item__msg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43618871bcdd390dc872c0cf7b040280" - ], - 0, - "9c7b501a9710d5d786a566c022280338" - ], - [ - "QuickTest.__proj__QPURE__item__pre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43618871bcdd390dc872c0cf7b040280" - ], - 0, - "cb9e1b5f604e9ef4ca7272be10c8ff8a" - ], - [ - "QuickTest.__proj__QPURE__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43618871bcdd390dc872c0cf7b040280" - ], - 0, - "b5da24e1386446cd43cc91c82e6e90e0" - ], - [ - "QuickTest.__proj__QPURE__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43618871bcdd390dc872c0cf7b040280" - ], - 0, - "05863014e7bf480bc65125f5621f87fc" - ], - [ - "QuickTest.wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_30fc52c44917e89b6e78f0e85d6391d2_1", - "disc_equation_QuickTest.QEmpty", "disc_equation_QuickTest.QPURE", - "fuel_guarded_inversion_QuickTest.quickCodes", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_QuickTest.QPURE" - ], - 0, - "4b6f522e925fd4ea22dad38197c8fd40" - ], - [ - "QuickTest.qblock", - 1, - 2, - 1, - [ "@query", "equation_QuickTest.t_ensure" ], - 0, - "8794312cb87839bb7b4cec8a7cb6f12a" - ], - [ - "QuickTest.va_qcode_Test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pure_wp_monotonic", - "interpretation_Tm_abs_28d8b753ff960e93610d2c149dffed61", - "interpretation_Tm_abs_94acc224dbae00cebc47585d496e9dfe", - "interpretation_Tm_abs_94b2e56008f023cc927c7b4c9673a6d5", - "l_and-interp", "l_quant_interp_22caf454d04a6b99218d77caf1b22642", - "primitive_Prims.op_Subtraction", - "token_correspondence_Prims.pure_wp_monotonic0", "unit_typing" - ], - 0, - "5de55c5acbb8b6a9bb52b5d562b0f052" - ], - [ - "QuickTest.va_lemma_Test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "unit_inversion" - ], - 0, - "407cbc1cd6a1f5686be7d5815fc6eca0" - ], - [ - "QuickTest.va_qcode_Test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pure_wp_monotonic", "int_typing", - "interpretation_Tm_abs_33a9c06ef337946eca3fef717a50082c", - "l_and-interp", "l_quant_interp_22caf454d04a6b99218d77caf1b22642", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Prims.pure_wp_monotonic0", "unit_typing" - ], - 0, - "9cc7c6c2bb4452e0835dbe13bb2c4e5e" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/QuickTestNBE.fst.hints b/tests/error-messages/QuickTestNBE.fst.hints deleted file mode 100644 index 92faa20563f..00000000000 --- a/tests/error-messages/QuickTestNBE.fst.hints +++ /dev/null @@ -1,166 +0,0 @@ -[ - "^ŠãÞ7a¹t„,$ä\nôt\u0000", - [ - [ - "QuickTestNBE.label", - 1, - 2, - 1, - [ "@query" ], - 0, - "71d2f4ab665ced2b2d658ddca375f9ad" - ], - [ - "QuickTestNBE.__proj__QEmpty__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_094f3af0eb1394cef01fbb0cf7a0b6a2" - ], - 0, - "9aed03595c08b576b44d7484cc54a3de" - ], - [ - "QuickTestNBE.__proj__QPURE__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" - ], - 0, - "2ef1946164f33a20aa79e137aca63ca1" - ], - [ - "QuickTestNBE.__proj__QPURE__item__msg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" - ], - 0, - "a4fb5122f7a667df67d4da89973a3923" - ], - [ - "QuickTestNBE.__proj__QPURE__item__pre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" - ], - 0, - "263341ecd6bf6ca1f9531bb4d9672b68" - ], - [ - "QuickTestNBE.__proj__QPURE__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" - ], - 0, - "6994ded4575a71f87903f1bd31473f5e" - ], - [ - "QuickTestNBE.__proj__QPURE__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e3e5b83231dd782c32cd3cd1715c5c4" - ], - 0, - "fb806463e7c30855f6cabf8ac8700fe7" - ], - [ - "QuickTestNBE.wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_fa10b5986d234da3d5bdfe9ba7efb81b_1", - "disc_equation_QuickTestNBE.QEmpty", - "disc_equation_QuickTestNBE.QPURE", - "fuel_guarded_inversion_QuickTestNBE.quickCodes", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_QuickTestNBE.QPURE" - ], - 0, - "b4e86c0274819720370f5c82dcd37a55" - ], - [ - "QuickTestNBE.qblock", - 1, - 2, - 1, - [ "@query", "equation_QuickTestNBE.t_ensure" ], - 0, - "d42dd4b725060706420f878635f0dda3" - ], - [ - "QuickTestNBE.va_qcode_Test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pure_wp_monotonic", - "interpretation_Tm_abs_17de2bb0f4accb34f2f48a2c39070416", - "interpretation_Tm_abs_2b6bc9164ee5f4bd38b214e1ff8a50f8", - "interpretation_Tm_abs_f0dd0e3bdd29bb942e87b897c66b101a", - "l_and-interp", "l_quant_interp_0c168580a82b5ed0782124081acd3faa", - "primitive_Prims.op_Subtraction", - "token_correspondence_Prims.pure_wp_monotonic0", "unit_typing" - ], - 0, - "2c4c32bcd3ea7b97876ab85326ec157a" - ], - [ - "QuickTestNBE.va_lemma_Test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "unit_inversion" - ], - 0, - "0eec293cfaa1d0f02852745e2070ef76" - ], - [ - "QuickTestNBE.va_qcode_Test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "eq2-interp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.pure_wp_monotonic", "int_typing", - "interpretation_Tm_abs_65576f223b9f28958f7512067494db64", - "l_and-interp", "l_quant_interp_0c168580a82b5ed0782124081acd3faa", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Prims.pure_wp_monotonic0", "unit_typing" - ], - 0, - "817082576b138a7626796233d80145ed" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/RecordFields.fst.hints b/tests/error-messages/RecordFields.fst.hints deleted file mode 100644 index 6a5f69bc155..00000000000 --- a/tests/error-messages/RecordFields.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "&Iµ-ƒ/\rPîX\u0004\u0003•£0‰", [] ] \ No newline at end of file diff --git a/tests/error-messages/ResolveImplicitsErrorPos.fst.hints b/tests/error-messages/ResolveImplicitsErrorPos.fst.hints deleted file mode 100644 index f4c572a436e..00000000000 --- a/tests/error-messages/ResolveImplicitsErrorPos.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ë«×øyøâwϽ\nÄY…QÞ", [] ] \ No newline at end of file diff --git a/tests/error-messages/SMTPatSymbols.fst.hints b/tests/error-messages/SMTPatSymbols.fst.hints deleted file mode 100644 index 63a546d6bd1..00000000000 --- a/tests/error-messages/SMTPatSymbols.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "ÅêÖø>Ûƒ‡Ù5x-}æ\u0018\r", - [ - [ - "SMTPatSymbols.lem", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "22f95f74904167ebc43db10a293c734b" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/SeqLit.fst.hints b/tests/error-messages/SeqLit.fst.hints deleted file mode 100644 index 7de8d4264b4..00000000000 --- a/tests/error-messages/SeqLit.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "ÏŸo\u000bÓ\u0013ÓI½\u0010\nµÐ<ßt", - [ - [ - "SeqLit.uu___0", - 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_Prims.Cons", - "equation_FStar.Seq.Base.cons", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_SeqLit.x", "equation_SeqLit.y", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_to_list_cons", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq_to_list", - "typing_Prims.int", "typing_SeqLit.y" - ], - 0, - "3893d63456f437ca160d84aed0573389" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/StableErr.fst.hints b/tests/error-messages/StableErr.fst.hints deleted file mode 100644 index 5d26ae199a4..00000000000 --- a/tests/error-messages/StableErr.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u007fR¹f\u0012Þ\tKîB\u0017hC[6", [] ] \ No newline at end of file diff --git a/tests/error-messages/StrictUnfolding.fst.hints b/tests/error-messages/StrictUnfolding.fst.hints deleted file mode 100644 index 6018ffa9809..00000000000 --- a/tests/error-messages/StrictUnfolding.fst.hints +++ /dev/null @@ -1,155 +0,0 @@ -[ - "Xyã\u0001á­‘MZOI>q\u001b0®", - [ - [ - "StrictUnfolding.project", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" - ], - 0, - "3b0ee6484caf72c0a6cdd1dcfa2ba9f6" - ], - [ - "StrictUnfolding.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_StrictUnfolding.project", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_457ae00534f625d64ff672644e530198", - "refinement_interpretation_Tm_refine_88b070fdaa2704b0d1fcf1ddd6ee47eb" - ], - 0, - "b1656cfdd36a6a407196790f34e734e8" - ], - [ - "StrictUnfolding.test2", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "7bb8c949521fe325448bf5ea073f89a3" - ], - [ - "StrictUnfolding.test_integer_generic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_elim_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.size", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.op_Plus", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_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", - "refinement_interpretation_Tm_refine_03c914b28d964e6bced1ef7a9aa09acc", - "refinement_interpretation_Tm_refine_200045f8615f23a9b7995d72ac63d949", - "refinement_interpretation_Tm_refine_5aa5ab11c31de0febf935305a5c980c9", - "refinement_interpretation_Tm_refine_6fc1cfeb1ee6b248d1fef572cc963c99", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_757070323c322caa5a4ae9914b0e605d", - "refinement_interpretation_Tm_refine_9de6182063933d00c254512ae9ad3990", - "refinement_interpretation_Tm_refine_a28a6b882d97a365aa7f25893bfb4f13", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_cff33b8d55d1ab8b8408d67ea53401d3", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "refinement_interpretation_Tm_refine_e7a8c22ddf5fa06051ce01d4308e93c9", - "typing_FStar.Int128.add", "typing_FStar.Int16.add", - "typing_FStar.Int32.add", "typing_FStar.Int64.add", - "typing_FStar.Int8.add", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", - "typing_FStar.UInt128.op_Plus_Hat", "typing_FStar.UInt16.add", - "typing_FStar.UInt32.add", "typing_FStar.UInt64.add", - "typing_FStar.UInt8.add" - ], - 0, - "20bfb04cd17522eb29cbc13d899a6ccc" - ], - [ - "StrictUnfolding.test_integer_generic_wo_fstar_integers", - 1, - 2, - 1, - [ "@query" ], - 0, - "021b934a7b9913bd6a817d33e338fefc" - ], - [ - "StrictUnfolding.test_int_64", - 1, - 2, - 1, - [ "@query" ], - 0, - "22bae8b7b5189e5decd7a1cb04cb2020" - ], - [ - "StrictUnfolding.test_int_64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "typing_FStar.UInt64.add" - ], - 0, - "119f44df17a23211c05726b1338ac652" - ], - [ - "StrictUnfolding.test_extraction_generic", - 1, - 2, - 1, - [ "@query" ], - 0, - "ad284f415fbac056f1290a1a4cd5882c" - ], - [ - "StrictUnfolding.test_extraction_specific", - 1, - 2, - 1, - [ "@query" ], - 0, - "62f73b0de86c949e4fed94520497e5ca" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/StringNormalization.fst.hints b/tests/error-messages/StringNormalization.fst.hints deleted file mode 100644 index c8aff5d24cc..00000000000 --- a/tests/error-messages/StringNormalization.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "\f™”ÿ`\u0003pˆìÿɳ¼Â“j", - [ - [ - "StringNormalization.uu___3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Char_interpretation_Tm_arrow_edb4339633bae2b96af63b0dbac8e538", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.String.char", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_FStar.Char.int_of_char", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Char.char" - ], - 0, - "8b2056ef4d8aaa6f836ac63dd577ce96" - ], - [ - "StringNormalization.uu___4", - 1, - 2, - 1, - [ "@query", "equation_FStar.String.char" ], - 0, - "2ed2757779c130c8c86a0792d5854d68" - ], - [ - "StringNormalization.uu___5", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Char_interpretation_Tm_arrow_edb4339633bae2b96af63b0dbac8e538", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "b2t_def", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Char.__char_of_int", "equation_FStar.Char.char_code", - "equation_FStar.Char.char_of_int", "equation_FStar.Char.int_of_char", - "equation_FStar.String.char", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_FStar.Char.int_of_char", "int_typing", - "lemma_FStar.Char.u32_of_char_of_u32", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96af4a84eae6a9bae92bc908a1c3c24c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Char.int_of_char", - "typing_FStar.Char.__char_of_int", "typing_FStar.Char.char", - "typing_FStar.Char.u32_of_char", "typing_FStar.List.Tot.Base.map", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "1a1f6af70cee94fd005d6ba0943186bf" - ], - [ - "StringNormalization.uu___28", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "3edf1eb9d7c1f0f8665df24b34ac1afc" - ], - [ - "StringNormalization.uu___31", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "2336c82a360ce66f272e137e7e76eabd" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/Test.FunctionalExtensionality.fst.hints b/tests/error-messages/Test.FunctionalExtensionality.fst.hints deleted file mode 100644 index 36e04dd8dcc..00000000000 --- a/tests/error-messages/Test.FunctionalExtensionality.fst.hints +++ /dev/null @@ -1,149 +0,0 @@ -[ - "\fT”Z\u0011tH\u001c ¢î¢,Ñ\u0002", - [ - [ - "Test.FunctionalExtensionality.on_dom_transitivity_of_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Test.FunctionalExtensionality.f", - "int_inversion", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_d28f38ba11bb810de36e822e960dcddd", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Test.FunctionalExtensionality.g", - "typing_Test.FunctionalExtensionality.h", - "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "typing_Tm_abs_d28f38ba11bb810de36e822e960dcddd" - ], - 0, - "e0f0f34f8d5c0f1a9659fe91763641e0" - ], - [ - "Test.FunctionalExtensionality.shrinking_domains_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Test.FunctionalExtensionality.g1" - ], - 0, - "51076e2952500615323bf46e0e41ce7f" - ], - [ - "Test.FunctionalExtensionality.restricted_t_2_idem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" - ], - 0, - "32c663f17e58a7019fe57653be567aac" - ], - [ - "Test.FunctionalExtensionality.on_2_interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_a15b7232b9450418501106922ece800a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Test.FunctionalExtensionality.on_2", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", - "interpretation_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", - "interpretation_Tm_abs_e9b780d87b9e0e900694c1825f5011b6", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "token_correspondence_Test.FunctionalExtensionality.on_2", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", - "typing_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", - "typing_Tm_abs_e9b780d87b9e0e900694c1825f5011b6" - ], - 0, - "cc6e334933209a50bd0f19ad1f92724f" - ], - [ - "Test.FunctionalExtensionality.needs_explicit_coercion", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Prims.int", "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" - ], - 0, - "a018f66deb0d784e3a7276c301f8e95b" - ], - [ - "Test.FunctionalExtensionality.sub_currently_not_why", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Prims.int", "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" - ], - 0, - "d822776077579e7e261a2eef95424c56" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/TestErrorLocations.fst.hints b/tests/error-messages/TestErrorLocations.fst.hints deleted file mode 100644 index ebd14572ac6..00000000000 --- a/tests/error-messages/TestErrorLocations.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "hŽ=\u001d0mœ\u0001œW™à½Ï Æ", [] ] \ No newline at end of file diff --git a/tests/error-messages/TestHasEq.fst.hints b/tests/error-messages/TestHasEq.fst.hints deleted file mode 100644 index cb3c38d397e..00000000000 --- a/tests/error-messages/TestHasEq.fst.hints +++ /dev/null @@ -1,166 +0,0 @@ -[ - "\u0005¡cEmy£?Ñc³à\u0017B·d", - [ - [ - "TestHasEq.mlist", - 1, - 2, - 1, - [ "@query" ], - 0, - "02da6f9178c9f0eba2bf251472729f08" - ], - [ - "TestHasEq.__proj__MCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" - ], - 0, - "477e56c27c2f8e307ace8e30c29316ad" - ], - [ - "TestHasEq.__proj__MCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" - ], - 0, - "0ca0f539618e35878094ba745e03df59" - ], - [ - "TestHasEq.__proj__NCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" - ], - 0, - "7f6c5b7d3fa6a90bf9693ab243b12e0b" - ], - [ - "TestHasEq.__proj__NCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" - ], - 0, - "1370f56b9a012b04da2b51e9147c0b25" - ], - [ - "TestHasEq.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_TestHasEq.mlist__uu___haseq", - "assumption_TestHasEq.nlist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "b1feeea1743300a8025ab63020b77adb" - ], - [ - "TestHasEq.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_TestHasEq.t__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" - ], - 0, - "191b07f755bc80f01101442793715285" - ], - [ - "TestHasEq.t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0e5a3f75b530969f110fe3a25e31111c" - ], - [ - "TestHasEq.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_TestHasEq.t1__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "49b9db7559c48d9e780d892b38a347a0" - ], - [ - "TestHasEq.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_Prims.dtuple2__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" - ], - 0, - "c535e9226410a0a1bea799781a455868" - ], - [ - "TestHasEq.t4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9eb0d250d7e62fd58a30226e86e1ffec" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/TuplePat.fst.hints b/tests/error-messages/TuplePat.fst.hints deleted file mode 100644 index 23b09e7ae57..00000000000 --- a/tests/error-messages/TuplePat.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ô8¸ü¼ S\\Ò\u0015|½ðι\r", [] ] \ No newline at end of file diff --git a/tests/error-messages/UnboundOp.fst.hints b/tests/error-messages/UnboundOp.fst.hints deleted file mode 100644 index 46e50662bd4..00000000000 --- a/tests/error-messages/UnboundOp.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u001f±¸÷™\u0018óÏÁ°G©ð,L\r", [] ] \ No newline at end of file diff --git a/tests/error-messages/Unit2.fst.hints b/tests/error-messages/Unit2.fst.hints deleted file mode 100644 index be2da0f1992..00000000000 --- a/tests/error-messages/Unit2.fst.hints +++ /dev/null @@ -1,63 +0,0 @@ -[ - "\u0012U¼úè\u001d\u001eq{c\u000fEy…Èû", - [ - [ - "Unit2.test3", - 1, - 2, - 1, - [ "@query", "equation_Prims.nat" ], - 0, - "e0fd4d1de3de572583444eb0780205a1" - ], - [ - "Unit2.test5", - 1, - 2, - 1, - [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], - 0, - "c73d5d035786f86fdeffc448541cb462" - ], - [ - "Unit2.__proj__Int__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a80b1732c37b674c773643729bebf97c" - ], - 0, - "81dafbd86ca4e27714b44f682138bdaa" - ], - [ - "Unit2.__proj__Bool__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_51f253259fbb75b1f44c4d01d8397ea7" - ], - 0, - "1ab16db8c9d8ff05d29be6740e2dd6fa" - ], - [ - "Unit2.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "data_elim_Unit2.Bool", "data_elim_Unit2.Int", - "disc_equation_Unit2.Bool", "disc_equation_Unit2.Int", - "fuel_guarded_inversion_Unit2.t", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ff20a79d0725dd89720d79183e819eed" - ] - ] -] \ No newline at end of file diff --git a/tests/error-messages/UnresolvedFields.fst.hints b/tests/error-messages/UnresolvedFields.fst.hints deleted file mode 100644 index 4d231835b5b..00000000000 --- a/tests/error-messages/UnresolvedFields.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ý\t¨‡\u0003¿\u0019\u001føNà63uDˆ", [] ] \ No newline at end of file diff --git a/tests/error-messages/WPExtensionality.fst.hints b/tests/error-messages/WPExtensionality.fst.hints deleted file mode 100644 index 31ad56a59c9..00000000000 --- a/tests/error-messages/WPExtensionality.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "T0¬é\u0017ÅL|\\ºÊJ’\t±\u0002", [] ] \ No newline at end of file diff --git a/tests/extraction/Div.fst.hints b/tests/extraction/Div.fst.hints deleted file mode 100644 index f9449082bbe..00000000000 --- a/tests/extraction/Div.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "=£_«°§¶gµ®OÛ<¦(zÆfVûZ\u0012e|‚K½M", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/0/B.fst.hints b/tests/extraction/cmi/0/B.fst.hints deleted file mode 100644 index cad8ad51058..00000000000 --- a/tests/extraction/cmi/0/B.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "4!Eua-+H‰qfæ•xq", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/1/A.fst.hints b/tests/extraction/cmi/1/A.fst.hints deleted file mode 100644 index 6f4ef376e2b..00000000000 --- a/tests/extraction/cmi/1/A.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "§Îú\"ã¡ÆŽµÂ`½_\u0011úU", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/1/A.fsti.hints b/tests/extraction/cmi/1/A.fsti.hints deleted file mode 100644 index 9f73ddc7d25..00000000000 --- a/tests/extraction/cmi/1/A.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ ">(zÆfVûZ\u0012e|‚K½M", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/1/B.fst.hints b/tests/extraction/cmi/1/B.fst.hints deleted file mode 100644 index c8010ca44a2..00000000000 --- a/tests/extraction/cmi/1/B.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ñ–Í\u0013¸Çv\u0014Ç]^X‰Še„", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/1/C.fsti.hints b/tests/extraction/cmi/1/C.fsti.hints deleted file mode 100644 index 319a2dc2606..00000000000 --- a/tests/extraction/cmi/1/C.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "fúX«\u000en¦È\\ßÉác+'", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/2/L.fst.hints b/tests/extraction/cmi/2/L.fst.hints deleted file mode 100644 index 2b24d1afd15..00000000000 --- a/tests/extraction/cmi/2/L.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "©\u0005ñýzø£4–\u001aý‚ô% £", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/2/L.fsti.hints b/tests/extraction/cmi/2/L.fsti.hints deleted file mode 100644 index c914313b5de..00000000000 --- a/tests/extraction/cmi/2/L.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÅàžÂÄ\"ÊÆ©­‰\u0006\u0017ý\u0019ö", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/2/M.fst.hints b/tests/extraction/cmi/2/M.fst.hints deleted file mode 100644 index a52e6007cc5..00000000000 --- a/tests/extraction/cmi/2/M.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Å\u0007¸`>kÁ.9Ï.ôŽkÉ", [] ] \ No newline at end of file diff --git a/tests/extraction/cmi/2/Test.fst.hints b/tests/extraction/cmi/2/Test.fst.hints deleted file mode 100644 index 0388030150c..00000000000 --- a/tests/extraction/cmi/2/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ë×Øžÿ\rë\u0013=LæÞÿd¶", [] ] \ No newline at end of file diff --git a/tests/friends/1/FriendConsumer.fst.hints b/tests/friends/1/FriendConsumer.fst.hints deleted file mode 100644 index b3ad756d9f3..00000000000 --- a/tests/friends/1/FriendConsumer.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "\fo\nù\u0016Dž\u0005#!¼5ÃMûž", - [ - [ - "FriendConsumer.test", - 1, - 2, - 1, - [ "@query", "equation_FriendProvider.x" ], - 0, - "587ea0fe1e35d9c9ee6ae6d7192e66de" - ] - ] -] \ No newline at end of file diff --git a/tests/friends/1/FriendConsumer.fsti.hints b/tests/friends/1/FriendConsumer.fsti.hints deleted file mode 100644 index ab22dce5f14..00000000000 --- a/tests/friends/1/FriendConsumer.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "J>\u0014\u0019ý :,‰öªD\u0015ɨT", [] ] \ No newline at end of file diff --git a/tests/friends/1/FriendProvider.fst.hints b/tests/friends/1/FriendProvider.fst.hints deleted file mode 100644 index 274f81ee460..00000000000 --- a/tests/friends/1/FriendProvider.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¾V­Ô_›qèr¦\u0001\u000e\u0003¥œŽ", [] ] \ No newline at end of file diff --git a/tests/friends/1/FriendProvider.fsti.hints b/tests/friends/1/FriendProvider.fsti.hints deleted file mode 100644 index a73e27286d8..00000000000 --- a/tests/friends/1/FriendProvider.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u001e픹+¼šÏÕ¬nv\u0001¢D{", [] ] \ No newline at end of file diff --git a/tests/friends/2/FriendConsumer.fst.hints b/tests/friends/2/FriendConsumer.fst.hints deleted file mode 100644 index 061b19d51bd..00000000000 --- a/tests/friends/2/FriendConsumer.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "\u001dß6+¾¯\u0013\\Bö½r0iHE", - [ - [ - "FriendConsumer.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FriendProvider.x", - "equation_Other.y", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "typing_Other.y" - ], - 0, - "43124eaef91e0ce9cacbadd999f215e3" - ] - ] -] \ No newline at end of file diff --git a/tests/friends/2/FriendConsumer.fsti.hints b/tests/friends/2/FriendConsumer.fsti.hints deleted file mode 100644 index ab22dce5f14..00000000000 --- a/tests/friends/2/FriendConsumer.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "J>\u0014\u0019ý :,‰öªD\u0015ɨT", [] ] \ No newline at end of file diff --git a/tests/friends/2/FriendProvider.fst.hints b/tests/friends/2/FriendProvider.fst.hints deleted file mode 100644 index 274f81ee460..00000000000 --- a/tests/friends/2/FriendProvider.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¾V­Ô_›qèr¦\u0001\u000e\u0003¥œŽ", [] ] \ No newline at end of file diff --git a/tests/friends/2/FriendProvider.fsti.hints b/tests/friends/2/FriendProvider.fsti.hints deleted file mode 100644 index a73e27286d8..00000000000 --- a/tests/friends/2/FriendProvider.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u001e픹+¼šÏÕ¬nv\u0001¢D{", [] ] \ No newline at end of file diff --git a/tests/friends/2/Other.fst.hints b/tests/friends/2/Other.fst.hints deleted file mode 100644 index 2f5481cdb8d..00000000000 --- a/tests/friends/2/Other.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "·“0ø~ÐE¹«ÑsN¯úsÜ", [] ] \ No newline at end of file diff --git a/tests/friends/3/A.fst.hints b/tests/friends/3/A.fst.hints deleted file mode 100644 index 477c3ede93d..00000000000 --- a/tests/friends/3/A.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "âý­ÆfëWë!á.9Ÿ_Õì", [] ] \ No newline at end of file diff --git a/tests/friends/3/A.fsti.hints b/tests/friends/3/A.fsti.hints deleted file mode 100644 index 2b8dfe35c29..00000000000 --- a/tests/friends/3/A.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "<È*Æ-„áø\"@jEò‹’", [] ] \ No newline at end of file diff --git a/tests/friends/3/B.fst.hints b/tests/friends/3/B.fst.hints deleted file mode 100644 index 5571fef1953..00000000000 --- a/tests/friends/3/B.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "»§\u0015ƒ6-\u001d_mÃk\u0018„µÚã", [] ] \ No newline at end of file diff --git a/tests/friends/3/B.fsti.hints b/tests/friends/3/B.fsti.hints deleted file mode 100644 index b71d72898d5..00000000000 --- a/tests/friends/3/B.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "”•Þ67s91Å¥'íË\u001c‹è", [] ] \ No newline at end of file diff --git a/tests/friends/3/C.fst.hints b/tests/friends/3/C.fst.hints deleted file mode 100644 index 7f3c9d293ca..00000000000 --- a/tests/friends/3/C.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "³+Ü\u0011v~[1\u001a\u0001ôC½,v", [] ] \ No newline at end of file diff --git a/tests/friends/3/C.fsti.hints b/tests/friends/3/C.fsti.hints deleted file mode 100644 index 8d3f2b0f4cb..00000000000 --- a/tests/friends/3/C.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "`\u000e{hŠøqé‹\"\u001b/¶ñ¼Ü", [] ] \ No newline at end of file diff --git a/tests/friends/3/D.fst.hints b/tests/friends/3/D.fst.hints deleted file mode 100644 index 6a5172441c9..00000000000 --- a/tests/friends/3/D.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "á@Ä(»\u0014°=ž…¡~k\u001c«¨", [] ] \ No newline at end of file diff --git a/tests/friends/3/D.fsti.hints b/tests/friends/3/D.fsti.hints deleted file mode 100644 index e01df8a8588..00000000000 --- a/tests/friends/3/D.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0007o³í\\³Ñ)&\u007fë\u001cÿ\fŒ", [] ] \ No newline at end of file diff --git a/tests/hacl/HaclTests.fst.config.json b/tests/hacl/HaclTests.fst.config.json index 81a0d9b5da4..cc813ae64bd 100644 --- a/tests/hacl/HaclTests.fst.config.json +++ b/tests/hacl/HaclTests.fst.config.json @@ -2,7 +2,8 @@ "fstar_exe": "fstar.exe", "options": [ "--ext", "context_pruning", - "--z3limit_factor", "2" + "--z3limit_factor", "2", + "--z3version", "4.13.3" ], "include_dirs": [ ] diff --git a/tests/hacl/Lib.Exponentiation.Definition.fst.hints b/tests/hacl/Lib.Exponentiation.Definition.fst.hints deleted file mode 100644 index 3f7bd7e8b07..00000000000 --- a/tests/hacl/Lib.Exponentiation.Definition.fst.hints +++ /dev/null @@ -1,774 +0,0 @@ -[ - "ð’»e&Ìå¾Ù0\u0017‚\u001f\u001d\u0012\u0003", - [ - [ - "Lib.Exponentiation.Definition.pow", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "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, - "c424a7f67d5e7a1668616fd49cd142ba" - ], - [ - "Lib.Exponentiation.Definition.pow_neg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6d53a986ee02e2cca124dd1411749c38" - ], - [ - "Lib.Exponentiation.Definition.lemma_inverse_one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "1459c32ae8c447f795594175ad5bfbe7" - ], - [ - "Lib.Exponentiation.Definition.lemma_mul_cancel_inverse", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "cb505621098e5b4d849e8598b85db6ac" - ], - [ - "Lib.Exponentiation.Definition.lemma_cancellation", - 1, - 0, - 0, - [ "@query" ], - 0, - "58e49f31548aa9d28312825a8d1a91bc" - ], - [ - "Lib.Exponentiation.Definition.lemma_inverse_id", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "d6cb0dae2392bdd71af99ffb1b0a8757" - ], - [ - "Lib.Exponentiation.Definition.lemma_inverse_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "5a2e7c2703429c8514fef3156ad0d2ac" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow0", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f2b0293bb2665be83053bfebc12cacc6" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow1", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", "equation_Prims.nat", - "equation_with_fuel_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "51aecea7dd0de4f8eae45617777e32a1" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_unfold", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6e205be7edab1a63ee82c8dce5bd44e7" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_unfold", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "@fuel_irrelevance_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Lib.Exponentiation.Definition.pow.fuel_instrumented", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d1aff210fd2e7cd20fd70ac106fc2e5c" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_f10306508c57a5af9977b6a0e3b8781e_2", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one", - "well-founded-ordering-on-nat" - ], - 0, - "7caebcd95cf958f05568caaecbb273b2" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_add", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "375bbf72dc2ca83c28b1d052a515e3e9" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_add", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_f10306508c57a5af9977b6a0e3b8781e_2", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one", - "well-founded-ordering-on-nat" - ], - 0, - "e503c5a52a92e27e4efa8e27f9a5d90f" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_add", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f47fa5d747de03d58264412198d85c2d" - ], - 0, - "5e81faa496d3111d46f47dbcbda2f7a1" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3058bbcdfbc2223506a9cf6588ef73ea" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_mul", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "a855afca10cc2f74835525c7065b19fe" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_mul", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f7418f0f62edc8512c7af729192b6759" - ], - 0, - "40edce584b8b489e1c359e1106d02e6e" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_mul_base", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_f10306508c57a5af9977b6a0e3b8781e_2", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.comm_monoid", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one", - "well-founded-ordering-on-nat" - ], - 0, - "93416702ef333e16e294e4fb39677de3" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_double", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5738ed1fe0845e843280253453a4353b" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_double", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e2cf949f30f80ccbc4743ecd50b92ac2" - ], - [ - "Lib.Exponentiation.Definition.lemma_inverse_pow", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2e05405c4509b032dd5d3bbb121b3e1b_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one", - "well-founded-ordering-on-nat" - ], - 0, - "906a7cfddd7a1fae9f86861dc57c114e" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.one", - "equation_Lib.Exponentiation.Definition.pow_neg", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "3da7fd8c297a1ad1c978e09075f4e1b4" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_add_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.one", - "equation_Lib.Exponentiation.Definition.pow_neg", - "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "cde563250c95be3ba9bdfaba29b61b30" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_add", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.pow_neg", - "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul", - "unit_inversion", "unit_typing" - ], - 0, - "15263f8e0742dddecbbdeba69aac07c7" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul_mzero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.pow_neg", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a2df035681f4ecf18b68eb946a29a92f" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul_nzero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.one", - "equation_Lib.Exponentiation.Definition.pow_neg", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_4f0ae44e673f7fd9e9cd407751a167a8", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_one", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.one" - ], - 0, - "eb88cee9b252013226022df55d359fa4" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul_nneg", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.pow_neg", - "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse" - ], - 0, - "4be17aefb9690781a5b61e829a0f5de4" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul_mneg", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.pow_neg", - "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "151101f8ba91cedea1b4d031b4c44a4e" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.pow_neg", - "equation_Prims.nat", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "unit_inversion", "unit_typing" - ], - 0, - "3458193eaa2b0576ed00c3a785c3273b" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_mul_base", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "equation_Lib.Exponentiation.Definition.inverse", - "equation_Lib.Exponentiation.Definition.mul", - "equation_Lib.Exponentiation.Definition.pow_neg", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "int_inversion", - "interpretation_Tm_abs_2adc8a407a94c2d6b32710f342083b63", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "interpretation_Tm_abs_f983cda4662bef550ae87c91242338ae", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_inverse", - "proj_equation_Lib.Exponentiation.Definition.Mkcomm_monoid_mul", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkabelian_group__item__inverse", - "token_correspondence_Lib.Exponentiation.Definition.__proj__Mkcomm_monoid__item__mul", - "token_correspondence_Lib.Exponentiation.Definition.cm", - "token_correspondence_Lib.Exponentiation.Definition.inverse", - "token_correspondence_Lib.Exponentiation.Definition.mul" - ], - 0, - "96f6e7386e352f352b8924275bdcbb84" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_neg_double", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Exponentiation.Definition.cm", - "fuel_guarded_inversion_Lib.Exponentiation.Definition.abelian_group", - "interpretation_Tm_abs_bea7b8fcbe4b120b89a3a7c95092cc95", - "proj_equation_Lib.Exponentiation.Definition.Mkabelian_group_cm", - "token_correspondence_Lib.Exponentiation.Definition.cm" - ], - 0, - "deb0078d913e99db6f123366b4ae15f4" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Exponentiation.Definition.fsti.hints b/tests/hacl/Lib.Exponentiation.Definition.fsti.hints deleted file mode 100644 index 49abb4ce21c..00000000000 --- a/tests/hacl/Lib.Exponentiation.Definition.fsti.hints +++ /dev/null @@ -1,87 +0,0 @@ -[ - " ³hC\u000b\u0012c\u0016³L°¦ˆó", - [ - [ - "Lib.Exponentiation.Definition.pow", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", "equation_Prims.nat", - "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, - "abc87402c8077d4b169ea03437c8e689" - ], - [ - "Lib.Exponentiation.Definition.pow_neg", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e0d26703478c1ba171c93d5b2a7e309a" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_unfold", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "383e7ea9ada5c147930a3b4c26e8b180" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_add", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3cf6fa715a3fb012ef6aa853615c166" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3058bbcdfbc2223506a9cf6588ef73ea" - ], - [ - "Lib.Exponentiation.Definition.lemma_pow_double", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8445219b2f66c4c52f4b9571adbeda72" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.IntTypes.fsti.hints b/tests/hacl/Lib.IntTypes.fsti.hints deleted file mode 100644 index 782edff4e5d..00000000000 --- a/tests/hacl/Lib.IntTypes.fsti.hints +++ /dev/null @@ -1,996 +0,0 @@ -[ - "1\r´«fÈ/\u0015\u0007F¢ÍwŸ—", - [ - [ - "Lib.IntTypes.numbytes", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lib.IntTypes.S128", - "disc_equation_Lib.IntTypes.S16", "disc_equation_Lib.IntTypes.S32", - "disc_equation_Lib.IntTypes.S64", "disc_equation_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.U1", "disc_equation_Lib.IntTypes.U128", - "disc_equation_Lib.IntTypes.U16", "disc_equation_Lib.IntTypes.U32", - "disc_equation_Lib.IntTypes.U64", "disc_equation_Lib.IntTypes.U8", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4e52625a6567d428daca53c50faf49e8" - ], - [ - "Lib.IntTypes.bits", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lib.IntTypes.S128", - "disc_equation_Lib.IntTypes.S16", "disc_equation_Lib.IntTypes.S32", - "disc_equation_Lib.IntTypes.S64", "disc_equation_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.U1", "disc_equation_Lib.IntTypes.U128", - "disc_equation_Lib.IntTypes.U16", "disc_equation_Lib.IntTypes.U32", - "disc_equation_Lib.IntTypes.U64", "disc_equation_Lib.IntTypes.U8", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a36a1658c428e46ad7690791c658ce4b" - ], - [ - "Lib.IntTypes.modulus", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.IntTypes.bits", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7b40859edb5d2603930440074919ebfb" - ], - [ - "Lib.IntTypes.maxint", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.unsigned", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "44c5d3e1bec95cd060aeba645d5e8c7d" - ], - [ - "Lib.IntTypes.minint", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.unsigned", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "d1ab5dbce800b624836533030b2a81d0" - ], - [ - "Lib.IntTypes.pub_int_t", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lib.IntTypes.S128", - "disc_equation_Lib.IntTypes.S16", "disc_equation_Lib.IntTypes.S32", - "disc_equation_Lib.IntTypes.S64", "disc_equation_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.U1", "disc_equation_Lib.IntTypes.U128", - "disc_equation_Lib.IntTypes.U16", "disc_equation_Lib.IntTypes.U32", - "disc_equation_Lib.IntTypes.U64", "disc_equation_Lib.IntTypes.U8", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "29c57c4a31b031094df5d886161012f6" - ], - [ - "Lib.IntTypes.pub_int_v", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", - "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "constructor_distinct_Lib.IntTypes.U1", - "constructor_distinct_Lib.IntTypes.U128", - "constructor_distinct_Lib.IntTypes.U16", - "constructor_distinct_Lib.IntTypes.U32", - "constructor_distinct_Lib.IntTypes.U64", - "constructor_distinct_Lib.IntTypes.U8", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.S16", - "disc_equation_Lib.IntTypes.S32", "disc_equation_Lib.IntTypes.S64", - "disc_equation_Lib.IntTypes.S8", "disc_equation_Lib.IntTypes.U1", - "disc_equation_Lib.IntTypes.U128", "disc_equation_Lib.IntTypes.U16", - "disc_equation_Lib.IntTypes.U32", "disc_equation_Lib.IntTypes.U64", - "disc_equation_Lib.IntTypes.U8", "equality_tok_Lib.IntTypes.S16@tok", - "equality_tok_Lib.IntTypes.S32@tok", - "equality_tok_Lib.IntTypes.S64@tok", - "equality_tok_Lib.IntTypes.S8@tok", - "equality_tok_Lib.IntTypes.U128@tok", - "equality_tok_Lib.IntTypes.U16@tok", - "equality_tok_Lib.IntTypes.U1@tok", - "equality_tok_Lib.IntTypes.U32@tok", - "equality_tok_Lib.IntTypes.U64@tok", - "equality_tok_Lib.IntTypes.U8@tok", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt128.n", - "equation_Lib.IntTypes.bits", "equation_Lib.IntTypes.maxint", - "equation_Lib.IntTypes.minint", "equation_Lib.IntTypes.pub_int_t", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "fuel_guarded_inversion_Lib.IntTypes.inttype", - "lemma_FStar.Int.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e0b16d74ee3644bd585df5e7938934c6", - "typing_Lib.IntTypes.bits", "typing_Lib.IntTypes.uu___is_U1", - "typing_tok_Lib.IntTypes.U1@tok" - ], - 0, - "c4247a046b2e31a23814a3020223e5fb" - ], - [ - "Lib.IntTypes.int_t", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lib.IntTypes.PUB", - "disc_equation_Lib.IntTypes.SEC", - "fuel_guarded_inversion_Lib.IntTypes.secrecy_level", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1e1af9029196156fbd4e202ec946b000" - ], - [ - "Lib.IntTypes.v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Lib.IntTypes.PUB", - "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.PUB", "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.SEC@tok", "equation_Lib.IntTypes.int_t", - "fuel_guarded_inversion_Lib.IntTypes.secrecy_level", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c5faea9a0a3c3259b9e7b71700335569" - ], - [ - "Lib.IntTypes.u128", - 1, - 0, - 1, - [ "@query" ], - 0, - "53a4a3ecad143ef45334129c04843d90" - ], - [ - "Lib.IntTypes.i128", - 1, - 0, - 1, - [ "@query" ], - 0, - "61ab25d2617c88f0ca7874cbc5e25a28" - ], - [ - "Lib.IntTypes.size", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "8e2c55a548a75a3c0b44e254946c37e1" - ], - [ - "Lib.IntTypes.byte", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "constructor_distinct_Lib.IntTypes.U8", - "equality_tok_Lib.IntTypes.U8@tok", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_31c7d3d85d92cb942c95a78642e657c7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Lib.IntTypes.bits", "typing_tok_Lib.IntTypes.U8@tok" - ], - 0, - "a6851d6cdb14573e9f38bef02b12ff75" - ], - [ - "Lib.IntTypes.byte_v", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "constructor_distinct_Lib.IntTypes.U8", - "equality_tok_Lib.IntTypes.U8@tok", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "int_typing", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Lib.IntTypes.bits", "typing_tok_Lib.IntTypes.U8@tok" - ], - 0, - "087e494e29549f36b52a0ea7ab0cd722" - ], - [ - "Lib.IntTypes.size_to_uint64", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "constructor_distinct_Lib.IntTypes.U32", - "constructor_distinct_Lib.IntTypes.U64", - "equality_tok_Lib.IntTypes.U32@tok", - "equality_tok_Lib.IntTypes.U64@tok", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "lemma_FStar.Int.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Lib.IntTypes.bits", "typing_tok_Lib.IntTypes.U32@tok", - "typing_tok_Lib.IntTypes.U64@tok" - ], - 0, - "b3b0fe26b4371efb560cb299a7d846bc" - ], - [ - "Lib.IntTypes.op_At_Percent_Dot", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.IntTypes.bits", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "fuel_guarded_inversion_Lib.IntTypes.inttype", - "lemma_FStar.Int.pow2_values", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Lib.IntTypes.bits" - ], - 0, - "5e207b4b505af15e2a2b2cf16f559ad5" - ], - [ - "Lib.IntTypes.to_u1", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6d691a3cb6898c63712d1eca81f9ef12" - ], - [ - "Lib.IntTypes.to_u8", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "aa0a2fa9bd42a690971c89d7117039cd" - ], - [ - "Lib.IntTypes.to_i8", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d2a4d8b0a82f16500b28cead88ed506b" - ], - [ - "Lib.IntTypes.to_u16", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f691f75d720dc2b9744582755b870a00" - ], - [ - "Lib.IntTypes.to_i16", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3e9e0d2ed1bec4112e2270fd91d9dd82" - ], - [ - "Lib.IntTypes.to_u32", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "82936b6e2f5fee0e46ded87fcbd99085" - ], - [ - "Lib.IntTypes.to_i32", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7d5bb47697924f7695d11fec49c7531f" - ], - [ - "Lib.IntTypes.to_u64", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d736d69b3c92254070be341ad2f76bcc" - ], - [ - "Lib.IntTypes.to_i64", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6ce194f83f0a54cb7570c01cc28a4432" - ], - [ - "Lib.IntTypes.to_u128", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4cf7ca0790f047897b1f1a131d870eef" - ], - [ - "Lib.IntTypes.to_i128", - 1, - 0, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.SEC", - "disc_equation_Lib.IntTypes.SEC", - "equality_tok_Lib.IntTypes.SEC@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "dbd5193ae25b4c37ce4e84146805c342" - ], - [ - "Lib.IntTypes.ones_v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Lib.IntTypes.S128", - "disc_equation_Lib.IntTypes.S16", "disc_equation_Lib.IntTypes.S32", - "disc_equation_Lib.IntTypes.S64", "disc_equation_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.U1", "disc_equation_Lib.IntTypes.U128", - "disc_equation_Lib.IntTypes.U16", "disc_equation_Lib.IntTypes.U32", - "disc_equation_Lib.IntTypes.U64", "disc_equation_Lib.IntTypes.U8", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "98ce9174f710190f5dbc4e329bfc1513" - ], - [ - "Lib.IntTypes.logxor_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "constructor_distinct_Lib.IntTypes.U1", - "constructor_distinct_Lib.IntTypes.U128", - "constructor_distinct_Lib.IntTypes.U16", - "constructor_distinct_Lib.IntTypes.U32", - "constructor_distinct_Lib.IntTypes.U64", - "constructor_distinct_Lib.IntTypes.U8", - "equality_tok_Lib.IntTypes.U128@tok", - "equality_tok_Lib.IntTypes.U16@tok", - "equality_tok_Lib.IntTypes.U1@tok", - "equality_tok_Lib.IntTypes.U32@tok", - "equality_tok_Lib.IntTypes.U64@tok", - "equality_tok_Lib.IntTypes.U8@tok", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_typing", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Lib.IntTypes.bits", "typing_Prims.pow2", - "typing_tok_Lib.IntTypes.U128@tok", - "typing_tok_Lib.IntTypes.U16@tok", "typing_tok_Lib.IntTypes.U1@tok", - "typing_tok_Lib.IntTypes.U32@tok", "typing_tok_Lib.IntTypes.U64@tok", - "typing_tok_Lib.IntTypes.U8@tok" - ], - 0, - "e2a70de976fcfa05198126e563f7a515" - ], - [ - "Lib.IntTypes.logxor_v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.S16", - "disc_equation_Lib.IntTypes.S32", "disc_equation_Lib.IntTypes.S64", - "disc_equation_Lib.IntTypes.S8", - "equality_tok_Lib.IntTypes.S128@tok", - "equality_tok_Lib.IntTypes.S16@tok", - "equality_tok_Lib.IntTypes.S32@tok", - "equality_tok_Lib.IntTypes.S64@tok", - "equality_tok_Lib.IntTypes.S8@tok", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "typing_FStar.Int.fits", "typing_Lib.IntTypes.uu___is_S8" - ], - 0, - "3d79bef948a89d7e075b8f5fa36da2fd" - ], - [ - "Lib.IntTypes.logand_v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.S16", - "disc_equation_Lib.IntTypes.S32", "disc_equation_Lib.IntTypes.S64", - "disc_equation_Lib.IntTypes.S8", - "equality_tok_Lib.IntTypes.S128@tok", - "equality_tok_Lib.IntTypes.S16@tok", - "equality_tok_Lib.IntTypes.S32@tok", - "equality_tok_Lib.IntTypes.S64@tok", - "equality_tok_Lib.IntTypes.S8@tok", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "typing_FStar.Int.fits", "typing_FStar.UInt.fits", - "typing_Lib.IntTypes.bits", "typing_Lib.IntTypes.uu___is_S8" - ], - 0, - "3c69f46e2d543c0b7666312ca3988233" - ], - [ - "Lib.IntTypes.logand_mask", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_812109ba662576a3f745174092d33c56" - ], - 0, - "c54217ea66be8b67237159486369c0e5" - ], - [ - "Lib.IntTypes.logor_disjoint", - 1, - 0, - 1, - [ "@query" ], - 0, - "a8278c623f785dc50aad51879a1f1c0f" - ], - [ - "Lib.IntTypes.logor_v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.S16", - "disc_equation_Lib.IntTypes.S32", "disc_equation_Lib.IntTypes.S64", - "disc_equation_Lib.IntTypes.S8", - "equality_tok_Lib.IntTypes.S128@tok", - "equality_tok_Lib.IntTypes.S16@tok", - "equality_tok_Lib.IntTypes.S32@tok", - "equality_tok_Lib.IntTypes.S64@tok", - "equality_tok_Lib.IntTypes.S8@tok", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "typing_FStar.Int.fits", "typing_FStar.UInt.fits", - "typing_Lib.IntTypes.bits", "typing_Lib.IntTypes.uu___is_S8" - ], - 0, - "ae2fecaf08c42e1c5da5078145f22006" - ], - [ - "Lib.IntTypes.lognot_v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Lib.IntTypes.S128", - "constructor_distinct_Lib.IntTypes.S16", - "constructor_distinct_Lib.IntTypes.S32", - "constructor_distinct_Lib.IntTypes.S64", - "constructor_distinct_Lib.IntTypes.S8", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.S16", - "disc_equation_Lib.IntTypes.S32", "disc_equation_Lib.IntTypes.S64", - "disc_equation_Lib.IntTypes.S8", - "equality_tok_Lib.IntTypes.S128@tok", - "equality_tok_Lib.IntTypes.S16@tok", - "equality_tok_Lib.IntTypes.S32@tok", - "equality_tok_Lib.IntTypes.S64@tok", - "equality_tok_Lib.IntTypes.S8@tok", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.maxint", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "typing_FStar.Int.fits", "typing_Lib.IntTypes.uu___is_S8" - ], - 0, - "9b9b090530c677d00387e154a783cf69" - ], - [ - "Lib.IntTypes.shift_right_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.shiftval", - "equation_Lib.IntTypes.unsigned", "equation_Lib.IntTypes.v", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_e40dba697735a60216c598c2a27841b5", - "typing_Lib.IntTypes.v", "typing_tok_Lib.IntTypes.PUB@tok", - "typing_tok_Lib.IntTypes.U32@tok" - ], - 0, - "f30eaa6e639b339c8b65539fd4e5e441" - ], - [ - "Lib.IntTypes.shift_left", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.shiftval", - "equation_Lib.IntTypes.unsigned", "equation_Lib.IntTypes.v", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_e40dba697735a60216c598c2a27841b5", - "typing_Lib.IntTypes.v", "typing_tok_Lib.IntTypes.PUB@tok", - "typing_tok_Lib.IntTypes.U32@tok" - ], - 0, - "954ebb39f98e8c89f47f851ee5c040bf" - ], - [ - "Lib.IntTypes.shift_left_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.shiftval", - "equation_Lib.IntTypes.unsigned", "equation_Lib.IntTypes.v", - "refinement_interpretation_Tm_refine_4d1a190ec02a669657768f0db44948f9", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_e40dba697735a60216c598c2a27841b5", - "typing_Lib.IntTypes.v", "typing_tok_Lib.IntTypes.PUB@tok", - "typing_tok_Lib.IntTypes.U32@tok" - ], - 0, - "b065cae66590bbfc23780fcfaf10d4a4" - ], - [ - "Lib.IntTypes.shift_right_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33026181614126bf2f989b87912ad69b" - ], - 0, - "a1f8b40271eba0f6b7727a38f15aac8b" - ], - [ - "Lib.IntTypes.shift_right_i", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33026181614126bf2f989b87912ad69b" - ], - 0, - "db46cc3434a438f693eb0dac46dc97ed" - ], - [ - "Lib.IntTypes.shift_left_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33026181614126bf2f989b87912ad69b" - ], - 0, - "ce3f243ce2ca3c2be2cf5ebc330d264c" - ], - [ - "Lib.IntTypes.shift_left_i", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33026181614126bf2f989b87912ad69b" - ], - 0, - "4c002c09fde786542f1ccda619ae661f" - ], - [ - "Lib.IntTypes.rotate_right_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe1f2b0fb92318a15c076125042e53a3" - ], - 0, - "e3ef18ed80745a6e0aae98db90206630" - ], - [ - "Lib.IntTypes.rotate_right_i", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe1f2b0fb92318a15c076125042e53a3" - ], - 0, - "b4600f8c842c18b27cb4ea9a14ea8d30" - ], - [ - "Lib.IntTypes.rotate_left_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe1f2b0fb92318a15c076125042e53a3" - ], - 0, - "00cd90b099ecc7df11de433eb4cd786a" - ], - [ - "Lib.IntTypes.rotate_left_i", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe1f2b0fb92318a15c076125042e53a3" - ], - 0, - "796307a016f49ccc6707dbe403557b74" - ], - [ - "Lib.IntTypes.mod_mask", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.U32@tok", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_Lib.IntTypes.bits", "equation_Lib.IntTypes.maxint", - "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.op_At_Percent_Dot", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.shiftval", - "equation_Lib.IntTypes.unsigned", "equation_Lib.IntTypes.v", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_Lib.IntTypes.inttype", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.UInt.pow2_values", "lemma_Lib.IntTypes.pow2_127", - "lemma_Lib.IntTypes.pow2_2", "lemma_Lib.IntTypes.pow2_3", - "lemma_Lib.IntTypes.pow2_4", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_ac5393c1a5eb4d36f425e5e42929859b", - "refinement_interpretation_Tm_refine_b6806f707b80b45deafff2826c0c9018", - "refinement_interpretation_Tm_refine_e40dba697735a60216c598c2a27841b5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Lib.IntTypes.bits", "typing_Lib.IntTypes.unsigned", - "typing_Lib.IntTypes.v", "typing_Prims.pow2", - "typing_tok_Lib.IntTypes.PUB@tok", "typing_tok_Lib.IntTypes.U32@tok" - ], - 0, - "78175b8cae3d96116f8b6d7f9b45946d" - ], - [ - "Lib.IntTypes.mod_mask", - 2, - 1, - 1, - [ - "@query", "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.unsigned" - ], - 0, - "9718d281543cb9752b588bec0186c8a7" - ], - [ - "Lib.IntTypes.mod_mask_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_Lib.IntTypes.U32", - "equality_tok_Lib.IntTypes.PUB@tok", - "equality_tok_Lib.IntTypes.U32@tok", "equation_Lib.IntTypes.minint", - "equation_Lib.IntTypes.range", "equation_Lib.IntTypes.shiftval", - "equation_Lib.IntTypes.unsigned", "equation_Lib.IntTypes.v", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_ac5393c1a5eb4d36f425e5e42929859b", - "refinement_interpretation_Tm_refine_e40dba697735a60216c598c2a27841b5", - "typing_Lib.IntTypes.v", "typing_tok_Lib.IntTypes.PUB@tok", - "typing_tok_Lib.IntTypes.U32@tok" - ], - 0, - "4e2cdba477caef5b9b4a4e60852aa7de" - ], - [ - "Lib.IntTypes.div", - 1, - 0, - 1, - [ "@query" ], - 0, - "155c7d4c8a57c2f5cf182a9c7d874f55" - ], - [ - "Lib.IntTypes.div_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e450d0eda8ec6ce5c9eff42d01f0e81a" - ], - 0, - "146fe3579e7dbaba236ba3866fc5c065" - ], - [ - "Lib.IntTypes.mod", - 1, - 0, - 1, - [ "@query" ], - 0, - "fc4597350c5daada09327fc4a5f7857e" - ], - [ - "Lib.IntTypes.mod_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Lib.IntTypes.PUB", - "disc_equation_Lib.IntTypes.S128", "disc_equation_Lib.IntTypes.U128", - "equality_tok_Lib.IntTypes.PUB@tok", "equation_FStar.Int.int_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Lib.IntTypes.bits", - "equation_Lib.IntTypes.int_t", "equation_Lib.IntTypes.maxint", - "equation_Lib.IntTypes.minint", "equation_Lib.IntTypes.pub_int_t", - "equation_Lib.IntTypes.pub_int_v", "equation_Lib.IntTypes.range", - "equation_Lib.IntTypes.signed", "equation_Lib.IntTypes.unsigned", - "equation_Lib.IntTypes.v", - "fuel_guarded_inversion_Lib.IntTypes.inttype", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_83845a86f2550cdf941eeb1d9b59602b", - "refinement_interpretation_Tm_refine_b550ca9347e0645a53715102a08d8fa1", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e0b16d74ee3644bd585df5e7938934c6", - "refinement_interpretation_Tm_refine_e450d0eda8ec6ce5c9eff42d01f0e81a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int16.v", "typing_FStar.Int32.v", - "typing_FStar.Int64.v", "typing_FStar.Int8.v", - "typing_FStar.UInt8.v", "typing_Lib.IntTypes.unsigned", - "typing_Lib.IntTypes.uu___is_S128", "typing_Lib.IntTypes.v", - "typing_tok_Lib.IntTypes.PUB@tok" - ], - 0, - "2890b8f5ccc56d5631d62dbf9052555c" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.LoopCombinators.fst.hints b/tests/hacl/Lib.LoopCombinators.fst.hints deleted file mode 100644 index 4e57af0e227..00000000000 --- a/tests/hacl/Lib.LoopCombinators.fst.hints +++ /dev/null @@ -1,1292 +0,0 @@ -[ - "üt?£Ô•å\u0005%dn²Ü'|", - [ - [ - "Lib.LoopCombinators.repeat_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "4c81e0f57a908857296337abf0de466c" - ], - [ - "Lib.LoopCombinators.repeat_left", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_ef3cff77d20be12dde95f0777a90f70e_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2eb00ca989f9ebed0ed65e52a78766e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "17d69a9d38fab9a0919f6f3fe1913605" - ], - [ - "Lib.LoopCombinators.repeat_left", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "708d565555b1b29889c1b14bc89633b4" - ], - [ - "Lib.LoopCombinators.repeat_left_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "9a8a1d7d1ac465b264228d382bd2c03a" - ], - [ - "Lib.LoopCombinators.repeat_left_all_ml", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.result", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "typing_Prims.int" - ], - 0, - "ce0275dea753719e3deb5c481257b91f" - ], - [ - "Lib.LoopCombinators.repeat_left_all_ml", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "d6769552caf09acf8467ec531926bf8e" - ], - [ - "Lib.LoopCombinators.repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "c0481ced3e49a05e6e669ace1bd142fc" - ], - [ - "Lib.LoopCombinators.repeat_right", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_ef3cff77d20be12dde95f0777a90f70e_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2eb00ca989f9ebed0ed65e52a78766e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "0a83b354e8378e0c609b4e906073032b" - ], - [ - "Lib.LoopCombinators.repeat_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "ed3fa9c125147ac6ad77274689ce4ae2" - ], - [ - "Lib.LoopCombinators.repeat_right_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "9dafbf689870079328f8568b3949f1e1" - ], - [ - "Lib.LoopCombinators.repeat_right_all_ml", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.result", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "typing_Prims.int" - ], - 0, - "942e547fbf1aaa10f5a048baab3fa564" - ], - [ - "Lib.LoopCombinators.repeat_right_all_ml", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "d6769552caf09acf8467ec531926bf8e" - ], - [ - "Lib.LoopCombinators.repeat_right_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "9c828c7d1f4b7762b68f238198f99d9c" - ], - [ - "Lib.LoopCombinators.repeat_right_plus", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_475c5d8500e6c5accacf8430e17609c1", - "Lib.LoopCombinators_interpretation_Tm_arrow_d923f15fa51c1adf198e41a2a2b838b8", - "binder_x_1643872395c8718ea40fbc2752387c4d_5", - "binder_x_9c1467c8a1dc9d1a9cfdd135b2fced70_3", - "binder_x_af5edae8b4ff911e6a823e510ac6c756_6", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_e1b475a8738f7fad7118cc46529602ed_4", - "binder_x_ef3cff77d20be12dde95f0777a90f70e_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2eb00ca989f9ebed0ed65e52a78766e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_64e0884aedfcc28624ca5710ec89a7e4", - "refinement_interpretation_Tm_refine_94b4e5d3116d0fdc2008285d6fe3b144", - "refinement_interpretation_Tm_refine_9f4b8102951be8af6f4ece9f995f631e", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Lib.LoopCombinators.repeat_right", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "b718198bb35a8937a05d6b294afd0313" - ], - [ - "Lib.LoopCombinators.repeat_right_plus", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "5ef4915dc3b837295c08902fc5108daf" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "14489f806f57daba66259ae24fa19a29" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "869ea5302568dc9006bb4c826f0e0f1f" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "6b4a490ce3d3d7c24783efa53ce57791" - ], - [ - "Lib.LoopCombinators.eq_repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "50a2633ff8c85c8b52347cc691ad05b5" - ], - [ - "Lib.LoopCombinators.eq_repeat_right", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "7fc45ed184e34a5a2f5b285c7d67e928" - ], - [ - "Lib.LoopCombinators.eq_repeat_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "6b4a490ce3d3d7c24783efa53ce57791" - ], - [ - "Lib.LoopCombinators.repeat_left_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "e7c685f3fe207aacdecea00d1566445b" - ], - [ - "Lib.LoopCombinators.repeat_left_right", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_left.fuel_instrumented", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_left.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_73e03d6f682a7e8a0e2e4caa6e7e006f", - "Lib.LoopCombinators_interpretation_Tm_arrow_e54f60146c15ffc3c6fdfdf188f36184", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_15a2a2aa213729b179fdecca4d6d5fcf_5", - "binder_x_57098d7a08a5c655d3e755e495233706_3", - "binder_x_61db9e95f5c6e22c0f798a9af5990a12_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_ef3cff77d20be12dde95f0777a90f70e_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_left.fuel_instrumented", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2eb00ca989f9ebed0ed65e52a78766e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5a9b6c458d60ee3d78bcb9cb8e632018", - "refinement_interpretation_Tm_refine_68812a9442c7946d522ecd05c6a1a9af", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "9ffdcc8a9c7f591a3a03ba293b5b319b" - ], - [ - "Lib.LoopCombinators.repeat_left_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "2ee5f933f8cc897fcae535cc3b0671f3" - ], - [ - "Lib.LoopCombinators.repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "53ef72c2db27021c240c9ebd279b5921" - ], - [ - "Lib.LoopCombinators.repeat_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c88cecc16d07d5e556f2e3351f6ee0ca" - ], - [ - "Lib.LoopCombinators.repeat_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "2820e330e476a2ae6470ff38c724787d" - ], - [ - "Lib.LoopCombinators.repeat_gen_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "166fd91946e131d7e33f20f425823b46" - ], - [ - "Lib.LoopCombinators.repeat_gen_all_ml", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "23b7aa0564b9d5f1bf571c298fe80ec2" - ], - [ - "Lib.LoopCombinators.repeat_gen_all_ml", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "efbd9c5cb5ea32edf009617969e9cf22" - ], - [ - "Lib.LoopCombinators.unfold_repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "d3f8af3a1a055c90f329bd35757b4366" - ], - [ - "Lib.LoopCombinators.unfold_repeat_gen", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_d14b5cd1226e414731f21670beedcc84", - "Lib.LoopCombinators_interpretation_Tm_arrow_f77e174321f3ceca78193a141927037b", - "equation_Lib.LoopCombinators.repeat_gen", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "b2f26fabc332654e8b4aede16723fd40" - ], - [ - "Lib.LoopCombinators.unfold_repeat_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "960432443dd39dd49186bb48dab74414" - ], - [ - "Lib.LoopCombinators.eq_repeat_gen0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "887a5a0fadfd24708d17ff2ecf40c56c" - ], - [ - "Lib.LoopCombinators.eq_repeat_gen0", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_d14b5cd1226e414731f21670beedcc84", - "Lib.LoopCombinators_interpretation_Tm_arrow_f77e174321f3ceca78193a141927037b", - "equation_Lib.LoopCombinators.repeat_gen", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "9cae6d674789f1f3bcd2274cf75b3603" - ], - [ - "Lib.LoopCombinators.eq_repeat_gen0", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "960432443dd39dd49186bb48dab74414" - ], - [ - "Lib.LoopCombinators.repeat_gen_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "54d4dc4c47cfa624a85d74265566a154" - ], - [ - "Lib.LoopCombinators.repeat_gen_def", - 2, - 2, - 1, - [ "@query", "equation_Lib.LoopCombinators.repeat_gen" ], - 0, - "7aa673e47908d319533833b48694b863" - ], - [ - "Lib.LoopCombinators.repeat_gen_def", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "960432443dd39dd49186bb48dab74414" - ], - [ - "Lib.LoopCombinators.eq_repeati0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e23bf7553d3c8d0f99d781e3d1048e02" - ], - [ - "Lib.LoopCombinators.eq_repeati0", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_67c7b2626869cb316f118144000415b9", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_c3cac0eaa5a8b41e6eb23c42c4532cc2", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.repeat_gen", - "equation_Lib.LoopCombinators.repeati", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "function_token_typing_Lib.LoopCombinators.fixed_a", "int_typing", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "token_correspondence_Lib.LoopCombinators.fixed_a" - ], - 0, - "ab5da9e5fcaed2ec2ec5bd8ca54be399" - ], - [ - "Lib.LoopCombinators.unfold_repeati", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5e927bc6a4a1879e1a57e8c10394398e" - ], - [ - "Lib.LoopCombinators.unfold_repeati", - 2, - 2, - 1, - [ - "@query", "equation_Lib.LoopCombinators.repeati", - "primitive_Prims.op_Addition" - ], - 0, - "acfb600e06b66236eec86e5d9e745177" - ], - [ - "Lib.LoopCombinators.repeati_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5e0df38a2af656efdcbb72442a8676e2" - ], - [ - "Lib.LoopCombinators.repeati_def", - 2, - 2, - 1, - [ - "@query", "equation_Lib.LoopCombinators.repeat_gen", - "equation_Lib.LoopCombinators.repeati" - ], - 0, - "d81151ebea449020dadfe28c4b8dfb3b" - ], - [ - "Lib.LoopCombinators.eq_repeat0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_67c7b2626869cb316f118144000415b9", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_bfe22415bc48790397b6e21fcc88873f", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.repeat", - "equation_Lib.LoopCombinators.repeat_gen", - "equation_Lib.LoopCombinators.repeati", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "function_token_typing_Lib.LoopCombinators.fixed_a", - "function_token_typing_Lib.LoopCombinators.fixed_i", "int_typing", - "kinding_Tm_arrow_fcd589b21e6efcf1e5d17b07c282a015", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "token_correspondence_Lib.LoopCombinators.fixed_a" - ], - 0, - "147fa176627103f11a61a2ee7ccba47b" - ], - [ - "Lib.LoopCombinators.unfold_repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5f418fc21320e6fc1cfb7a5613b905e0" - ], - [ - "Lib.LoopCombinators.unfold_repeat", - 2, - 2, - 1, - [ - "@query", "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.LoopCombinators.repeat", "primitive_Prims.op_Addition", - "token_correspondence_Lib.LoopCombinators.fixed_i" - ], - 0, - "6cdd4e038c17143ba0e37246b7981888" - ], - [ - "Lib.LoopCombinators.repeat_range", - 1, - 2, - 1, - [ "@query" ], - 0, - "b5aa683c997bd150628ffbc7cf6921d4" - ], - [ - "Lib.LoopCombinators.repeat_range_all_ml", - 1, - 2, - 1, - [ "@query" ], - 0, - "6836b12e46b2f4eeac0de8baf5a16576" - ], - [ - "Lib.LoopCombinators.repeatable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "ddf84d8684559f260ffeeba194c38e52" - ], - [ - "Lib.LoopCombinators.repeat_range_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" - ], - 0, - "e871abdd81c85983b7e3b542c1544524" - ], - [ - "Lib.LoopCombinators.repeat_range_inductive", - 2, - 2, - 1, - [ "@query" ], - 0, - "1e735d33db5e0c69f9633ca215864a7a" - ], - [ - "Lib.LoopCombinators.repeat_range_inductive", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" - ], - 0, - "a21b6710a89e353c29fd54dc0c483537" - ], - [ - "Lib.LoopCombinators.repeati_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "bbaecf8dcc4ed4c228f6c2118e2cb366" - ], - [ - "Lib.LoopCombinators.repeati_inductive", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "760c34352cb66e7312b4bf256fcf35e8" - ], - [ - "Lib.LoopCombinators.repeati_inductive", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c191df6a546bf3ee8f955efa598068e2" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right_once", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "978ffdbfaa9d91e284bce392c0675b77" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right_once", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "ca16cc8923fbc9e55f6ebf55569bbc44" - ], - [ - "Lib.LoopCombinators.refine_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8b5d7075e8d63d9e18f39f46674687aa" - ], - 0, - "6b0a01ea29ef58f7544dd53f58685f65" - ], - [ - "Lib.LoopCombinators.nat_refine_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eq2", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6aba55475293e34583315dc50af169c3" - ], - [ - "Lib.LoopCombinators.repeati_repeat_left_rewrite_type", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "dd8e9e8c83089e5bb732532fa315909c" - ], - [ - "Lib.LoopCombinators.repeati_repeat_left_rewrite_type", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aa87ffb7265a61f11680589034fdc36c" - ], - [ - "Lib.LoopCombinators.repeati_inductive_repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2351b5931d0b03c11a55268fb2480ed0" - ], - [ - "Lib.LoopCombinators.repeati_inductive_repeat_gen", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_3b60d90eb1b4e399c18b4b5c4092aefc", - "Lib.LoopCombinators_interpretation_Tm_arrow_42cbb8cae27472bfb50ad5eaa9ec2207", - "Lib.LoopCombinators_interpretation_Tm_arrow_8ccff8122f730b53066e07670f458695", - "Lib.LoopCombinators_interpretation_Tm_arrow_9228bb88100b5a0762d39b5c83174ad9", - "Lib.LoopCombinators_interpretation_Tm_arrow_a5015036cf1762e788e4ccbba6a8d538", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "function_token_typing_Lib.LoopCombinators.a_", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0e3034507692d95678dac3878d3c5d27", - "interpretation_Tm_abs_0ec465d1eb90963fef662a39d2cdb931", - "interpretation_Tm_abs_b095b3f008ad7213e01e88a9397b957d", - "interpretation_Tm_abs_d0296986d3220e0e72a50647421bdfbe", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_0f5d287096bf7dd24d582019e4d18f0c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_909c0555fed853bc5dc1098d3dd63f21", - "refinement_interpretation_Tm_refine_96e65b2359ce32ff1f5ca9648c355aa6", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_c8bc4cf8790b88adef20755da6521e50", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "refinement_kinding_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "token_correspondence_Lib.LoopCombinators.a_", - "typing_Tm_abs_0ec465d1eb90963fef662a39d2cdb931", - "well-founded-ordering-on-nat" - ], - 0, - "dab37e15d1591ada19e2929e1bcf5870" - ], - [ - "Lib.LoopCombinators.repeati_inductive_repeat_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c191df6a546bf3ee8f955efa598068e2" - ], - [ - "Lib.LoopCombinators.preserves_predicate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "f4a9c889ca4318de44d187577fef2615" - ], - [ - "Lib.LoopCombinators.preserves_predicate", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a1fa1e63c0cf46eace85ac9ed33fed3f" - ], - [ - "Lib.LoopCombinators.repeat_gen_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "9b04c17767d6ecb145054d71733a94b0" - ], - [ - "Lib.LoopCombinators.repeat_gen_inductive", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_d14b5cd1226e414731f21670beedcc84", - "Lib.LoopCombinators_interpretation_Tm_arrow_f77e174321f3ceca78193a141927037b", - "equation_Lib.LoopCombinators.preserves_predicate", - "equation_Lib.LoopCombinators.repeat_gen", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_695fc9bad57438f078f1918065bbd3eb", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "ed33983895e61e150c0414ae4888d1b7" - ], - [ - "Lib.LoopCombinators.repeat_gen_inductive", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "290b79be1bd703635f28539f236ed4cf" - ], - [ - "Lib.LoopCombinators.preserves", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "debdb892bef95c88216dbe1f91261f54" - ], - [ - "Lib.LoopCombinators.repeati_inductive'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b59896add953884e264b278f5ecd579e" - ], - [ - "Lib.LoopCombinators.repeati_inductive'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@fuel_irrelevance_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "@query", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_67c7b2626869cb316f118144000415b9", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.LoopCombinators_interpretation_Tm_arrow_c3cac0eaa5a8b41e6eb23c42c4532cc2", - "Lib.LoopCombinators_interpretation_Tm_arrow_f77e174321f3ceca78193a141927037b", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.preserves", - "equation_Lib.LoopCombinators.repeat_gen", - "equation_Lib.LoopCombinators.repeati", "equation_Prims.nat", - "equation_with_fuel_Lib.LoopCombinators.repeat_right.fuel_instrumented", - "function_token_typing_Lib.LoopCombinators.fixed_a", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_41aef3833b617e5c5b9322c9c48c2c29", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "token_correspondence_Lib.LoopCombinators.fixed_a" - ], - 0, - "afdf1cd1767fec522900879f7c7266a2" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.LoopCombinators.fsti.hints b/tests/hacl/Lib.LoopCombinators.fsti.hints deleted file mode 100644 index 60bc67cd435..00000000000 --- a/tests/hacl/Lib.LoopCombinators.fsti.hints +++ /dev/null @@ -1,383 +0,0 @@ -[ - "!4É'd8Ï\u0013Á\"Ósøž——", - [ - [ - "Lib.LoopCombinators.repeat_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "68ed586393be8cdefa4af5c3a66aea42" - ], - [ - "Lib.LoopCombinators.repeat_left_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "7d3d3977eaab4c6080b01d30f42ebb83" - ], - [ - "Lib.LoopCombinators.repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "c0481ced3e49a05e6e669ace1bd142fc" - ], - [ - "Lib.LoopCombinators.repeat_right_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "d81ebd791347efa64daa08b4aa18ac7a" - ], - [ - "Lib.LoopCombinators.repeat_right_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "ff33a53b02d316dd224cbe70fc14b9b8" - ], - [ - "Lib.LoopCombinators.unfold_repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "0a383b87c2a40838c1f0ff60b0280224" - ], - [ - "Lib.LoopCombinators.eq_repeat_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "87a9e6277283ceeb75fb28f433fa5c0c" - ], - [ - "Lib.LoopCombinators.repeat_left_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc" - ], - 0, - "5ab10311755ca893a461bdf326b00817" - ], - [ - "Lib.LoopCombinators.repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a9c25421db80630c463b80e0aee1813c" - ], - [ - "Lib.LoopCombinators.repeat_gen_all_ml", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "3d9896cb64b7286a4535609de52c4868" - ], - [ - "Lib.LoopCombinators.unfold_repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5e17f99ccb0b7d072f1a93077ecca72f" - ], - [ - "Lib.LoopCombinators.eq_repeat_gen0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "65a4fecd363d98c3aba982731a343ead" - ], - [ - "Lib.LoopCombinators.repeat_gen_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "da7a4f9b99dbeac2914dce646fe52039" - ], - [ - "Lib.LoopCombinators.eq_repeati0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e02aa80e4b95b28e22f80c9c8c57e678" - ], - [ - "Lib.LoopCombinators.unfold_repeati", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "1dcf5a60ff9f78411b5f244280cb28eb" - ], - [ - "Lib.LoopCombinators.repeati_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2815472cd124666071178d6f5c4b21d9" - ], - [ - "Lib.LoopCombinators.unfold_repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "12ec9950251d705f808907b1c2af16a7" - ], - [ - "Lib.LoopCombinators.repeatable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "d798ca1c8a72ae63eac29452f94e7c63" - ], - [ - "Lib.LoopCombinators.repeat_range_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913" - ], - 0, - "e871abdd81c85983b7e3b542c1544524" - ], - [ - "Lib.LoopCombinators.repeati_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "06826b579f54a929560358ba82c8328f" - ], - [ - "Lib.LoopCombinators.repeati_inductive_repeat_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b465a57a3f1f5ce95c42ae3d543dfc20" - ], - [ - "Lib.LoopCombinators.preserves_predicate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "f4a9c889ca4318de44d187577fef2615" - ], - [ - "Lib.LoopCombinators.preserves_predicate", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a1fa1e63c0cf46eace85ac9ed33fed3f" - ], - [ - "Lib.LoopCombinators.repeat_gen_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "bc849614d317a3741ba9c396bd27461a" - ], - [ - "Lib.LoopCombinators.preserves", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "461aa2c15e93871439a2ccf0e4197f21" - ], - [ - "Lib.LoopCombinators.repeati_inductive'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b59896add953884e264b278f5ecd579e" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Sequence.Lemmas.fst.hints b/tests/hacl/Lib.Sequence.Lemmas.fst.hints deleted file mode 100644 index c6690966eff..00000000000 --- a/tests/hacl/Lib.Sequence.Lemmas.fst.hints +++ /dev/null @@ -1,2712 +0,0 @@ -[ - "Ì5`øˆß\f\u0019F±Xš§\fA\u001b", - [ - [ - "Lib.Sequence.Lemmas.get_block_s", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Int.pow2_values", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ade7773d9cd7cd1a2abc2fe3f191b9e0", - "refinement_interpretation_Tm_refine_c37230a0b45bfa733513e4ce89ef34d6", - "typing_FStar.Seq.Base.length" - ], - 0, - "00fe68826bbbe785d5d2c7fa5464b0b4" - ], - [ - "Lib.Sequence.Lemmas.get_block_s", - 2, - 2, - 1, - [ "@query" ], - 0, - "860ea2df716e040e0ac7dcbbf77b0496" - ], - [ - "Lib.Sequence.Lemmas.get_last_s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" - ], - 0, - "12ed5da0a0b731ee699773e6f81f32b5" - ], - [ - "Lib.Sequence.Lemmas.repeati_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_c3cac0eaa5a8b41e6eb23c42c4532cc2", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_e7e6bda13570450ba98cae3dc5e7dd42", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6781041e5072f14a03af8b07643f1f30_4", - "binder_x_b3a9ce008df0278184098b1a723bca0c_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e839a4d245a3beb00e03b7402cb44c7", - "refinement_interpretation_Tm_refine_49c0ba66edcf02816cc411af6df0f144", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.LoopCombinators.repeati", "well-founded-ordering-on-nat" - ], - 0, - "0ebbebc7a27e1e9b13bed43594c7c717" - ], - [ - "Lib.Sequence.Lemmas.repeat_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12aaa86fce4296e5ca537def690c90b7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_fd19feb5f9ea77c43306cb5b7a87bc36" - ], - 0, - "e6b8e329a655819b679a29223ca28657" - ], - [ - "Lib.Sequence.Lemmas.repeat_right_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_3c9ffd2296420cd469cf20686505163b", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_bd7c7ab284b6accd96708c0ff3164304", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_03d51f0b26b266821854328111855af2_3", - "binder_x_b730587d8140e227a7f8adbd92d65106_5", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_d26ec331d6bcfdfd046bf0c1c673bcf9_7", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_303b9c87ad41f9e78fc62ab2390b0125", - "refinement_interpretation_Tm_refine_3e9b52cb3027f42e52803d569c244fcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_57bc50f9aa6e93b9844a8bd63512cb1c", - "refinement_interpretation_Tm_refine_94dd066518be63a31245723626aaa707", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Lib.LoopCombinators.repeat_right", - "well-founded-ordering-on-nat" - ], - 0, - "ecb671e31e2f184ab5bd8c9dd20411a6" - ], - [ - "Lib.Sequence.Lemmas.repeat_right_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12aaa86fce4296e5ca537def690c90b7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a039115d166a82bc49214b5534c15e5d", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_fd19feb5f9ea77c43306cb5b7a87bc36" - ], - 0, - "53da5172e8dec21ea8d65449f8d7786d" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c521dec61896a844c454ea9692ebf2e2", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2" - ], - 0, - "2702fcde6ba51b070ae89e4d78a84ff3" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_right_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_2bf7345966baadb5d8656724dcf7cee8", - "Lib.LoopCombinators_interpretation_Tm_arrow_36dd113ffd3258af3d2f33c53ef8eea6", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_27ab71f0fb6c81f0fa9dbba5ba46be75", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_809f84adfa1ee74319c7b9bd8825d36a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_759fff43cce3e9ec96895cb58a55ec68_3", - "binder_x_82e1062e5a8fb0849c9f621f85a4d628_5", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_de4df547607739c850b1e55a67a124fe_7", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e839a4d245a3beb00e03b7402cb44c7", - "refinement_interpretation_Tm_refine_49c0ba66edcf02816cc411af6df0f144", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5d8689c3031a6af8b5491cc44c84ab43", - "refinement_interpretation_Tm_refine_6536ede8f313b115412245fc854378bd", - "refinement_interpretation_Tm_refine_b61962d44f25224004938818b1c4cd7b", - "refinement_interpretation_Tm_refine_c7f248c50d182c40aac9022fc9a66edc", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Lib.LoopCombinators.repeat_right", - "well-founded-ordering-on-nat" - ], - 0, - "0ea0a6d2bf108d725a4cfebf413ee928" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_right_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ccb774e797d1ebfd0ed058066d28131", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c521dec61896a844c454ea9692ebf2e2", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2" - ], - 0, - "049a159e7dd46c9a72ad3b55b9a6db8e" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "e90d585fa71d9f1049a445953f67e188" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_extensionality", - 2, - 0, - 0, - [ "@query", "equation_Lib.LoopCombinators.fixed_a" ], - 0, - "f58d9f76bac0e16ae52891e9423deea0" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "9d257513d17219badcbe24d35bf7abe3" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_shift", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4a275379cbf0e6ad9be7542ab26622af" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bbe86a0a6209b8c07083cd4c9f7f9aa5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.length" - ], - 0, - "3ee47bfc1d594aaf09ff3787905b75c9" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_f", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5b4065d14b21f89b055f0efeeb5f40dc" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "70d362ef2c919e758caadc39427d8500" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953" - ], - 0, - "a5a6d03e63551b6a403d7786983b4ea4" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "d8b164f6da4df1e6cf52d5f8f625b05c" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "d86b808cee9fd1dd76b0f4f64f3f5fcf" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks_multi", - 2, - 0, - 0, - [ "@query", "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi" ], - 0, - "2efd5c162a968589fdaf36eb79c1bce2" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "914cde3c8b222c4493b95e8ae3b0a0d1" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "873d2666bc5cfdf9d9fbecf827b4862a" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "9723fcf938dccfe38d52acb52d296994" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "28355436ed03ee40dd17e021f3b86c2f" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "3fbb845e5db8c5ea1c847b4fd481ae22" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks", - 2, - 0, - 0, - [ "@query", "equation_Lib.Sequence.Lemmas.repeat_gen_blocks" ], - 0, - "a2882b5f463da2d03e131831f95c82dc" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "88d5d84ce32ac9d2bcee1e00546e2c39" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_extensionality_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_4a1f484c8b51af7634bbc9267ad1b558", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "3687ce8d9d76efefa74eaf9dcede493b" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_extensionality_zero", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ba24c249c2bac9c9652dccf45aee8033", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" - ], - 0, - "99f783c7988bcd7d63324c9aca736d6e" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_extensionality_zero", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "1623603cdf386c366ca98bcdec987c5f" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_extensionality_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_667c0deceb286bd669e5316a684eee1c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8d0b9c0d9bab47c0f00a15221dd05c4" - ], - 0, - "0ec58313da07c1dceba1fda170cb62a8" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_extensionality_zero", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8d0b9c0d9bab47c0f00a15221dd05c4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_Lib.Sequence.length" - ], - 0, - "d15a13588b3235b8c41498e31852b40f" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_extensionality_zero", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "2259c32e735ace27aa47d2d7fd8505c1" - ], - [ - "Lib.Sequence.Lemmas.len0_div_bs", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8cfe3ae0264bdf2e6781122b828441f8" - ], - [ - "Lib.Sequence.Lemmas.len0_div_bs", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e662fe47b8104f053d8ca84966f4ef39" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c5e14fe21554741eee25729097a7eb65" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma0", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a4239caa65c9528b5c608d276969c599" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "afb521f501b32cecfdeac94201b820ee" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "608bbe2a347e387cf7c63b414aff6791" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_3b00410d9ccdeee0a4c7af332e73ce2f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9b859045a8681d0937b4cb9681dd787b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "typing_Lib.Sequence.length" - ], - 0, - "5e19a0b4408181bc97cff9e9295ce749" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s0", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_3b00410d9ccdeee0a4c7af332e73ce2f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9b859045a8681d0937b4cb9681dd787b", - "refinement_interpretation_Tm_refine_bbe86a0a6209b8c07083cd4c9f7f9aa5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "562c67e4505321371813691bc297cfae" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s0", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "4b19e67c5f9f90c6c80f93dd39dd5a49" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c215e983d7915709bebb4fb7be5bb946", - "refinement_interpretation_Tm_refine_d478cde3e691462712f56114befc57a5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "typing_Lib.Sequence.length" - ], - 0, - "6b8993970f2e0f8d4e6f437855c34cfd" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bbe86a0a6209b8c07083cd4c9f7f9aa5", - "refinement_interpretation_Tm_refine_c215e983d7915709bebb4fb7be5bb946", - "refinement_interpretation_Tm_refine_d478cde3e691462712f56114befc57a5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "b8491c83233b1939744af68c8ec80e85" - ], - [ - "Lib.Sequence.Lemmas.aux_repeat_bf_s1", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "69eb29fc88f6d1042d8ff9e62dcf0889" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "5f13607c458f51043aa0ceeb44ed2d1c" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_3b00410d9ccdeee0a4c7af332e73ce2f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9b859045a8681d0937b4cb9681dd787b", - "refinement_interpretation_Tm_refine_c215e983d7915709bebb4fb7be5bb946", - "refinement_interpretation_Tm_refine_d478cde3e691462712f56114befc57a5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "typing_Lib.Sequence.length" - ], - 0, - "f76e00fd69a4f82edd7ed87128630983" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "ce03fa45e2894bd00e244a5624d026db" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split_slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_784bfde0144e58d81243bc1b47b4f0ec", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "typing_Lib.Sequence.length" - ], - 0, - "a22ddedce5f70aea70f6da786b8da89f" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split_slice", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_784bfde0144e58d81243bc1b47b4f0ec", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_Lib.Sequence.length" - ], - 0, - "0b34c739c7335bd49374e200151f1923" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split_slice", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_784bfde0144e58d81243bc1b47b4f0ec", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a053294fbcc88962339e6a5c139bcf12" - ], - [ - "Lib.Sequence.Lemmas.slice_slice_last", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_725406258cbec7cb7a61bee1d844d771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Lib.Sequence.length" - ], - 0, - "e503aa66a1174cecb20e55a27118cf9e" - ], - [ - "Lib.Sequence.Lemmas.slice_slice_last", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_725406258cbec7cb7a61bee1d844d771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.slice", "typing_Lib.Sequence.length" - ], - 0, - "aeeb10c34fff4f041fa3d32b078ffac7" - ], - [ - "Lib.Sequence.Lemmas.slice_slice_last", - 3, - 0, - 0, - [ "@query" ], - 0, - "34f895edfc36652d200370ea63a079fe" - ], - [ - "Lib.Sequence.Lemmas.len0_le_len_fraction", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "afdd78a08daede53f7d87f679ac8ebae" - ], - [ - "Lib.Sequence.Lemmas.len0_le_len_fraction", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cbb3ed1db7264099fc4e70845e9f1c04" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5", - "typing_Lib.Sequence.length" - ], - 0, - "6eb076b667353c915845c8aa09f142f0" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_75e501c8cccef1c521502f88a4640586", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "87249b2446eb17f79ca6d61c1f618c31" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "62dd20e0a20fd008ea1f7563bb0ea8ef" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "0a416d9f8a688b106042eeec495e0b2a" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.repeat_blocks_f", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6ec36165acc8b3b8a1f151af217f53b8", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.slice", "typing_Lib.Sequence.length" - ], - 0, - "2a3919bc6e31d8adfcd7e27811d3a5d0" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "60a195750727e60a190dc723c00f49cc" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_blocks_via_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "dc7cc8c7ca6c31b0b1417bbe8c0f1be2" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_blocks_via_multi", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.repeat_blocks_f", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "typing_Lib.Sequence.length" - ], - 0, - "127ff4af7fd00182bddf2574d31478ff" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_blocks_via_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1e18c25baf2b8b6cfa3e7e92edb5e466" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_is_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dc64ef62fd3101207c953516420ca99f", - "typing_Lib.Sequence.length" - ], - 0, - "4493cf5775b9d071eaad9fbfe343feba" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_is_repeat_gen_blocks_multi", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "equation_Lib.Sequence.length", - "equation_Lib.Sequence.repeat_blocks_f", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7a73c35877b307cf436e11329be9e855", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_dc64ef62fd3101207c953516420ca99f", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "a4bbdbe8dc6312aae060cdf17c3ec37e" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_is_repeat_gen_blocks_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0541e0c71eb9fdc394679a84ddbc5689" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_is_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c" - ], - 0, - "36797c7eaa012e5ad35cc4909956699b" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_is_repeat_gen_blocks", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "2a84f6b7124776144977a38d58eaac1e" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_is_repeat_gen_blocks", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "113b64b621e8885a1a691671c4e83f54" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e9c3dad358c3890f342f5eeb42bb76e", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Lib.Sequence.length" - ], - 0, - "80f514354d10ce0fddaeda4f8f43dac4" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_split", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e9c3dad358c3890f342f5eeb42bb76e", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "a8fb4c7dc5f5524ac25d3cb6bf7b576d" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_split", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "85c01b90b97249c937f35be96967ebf9" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_725406258cbec7cb7a61bee1d844d771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" - ], - 0, - "0d3695c0e4a48e6032fb83ce6b53fc24" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_split", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_725406258cbec7cb7a61bee1d844d771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "c7e3d804886fc4f42d1c575b8920c667" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_split", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1f05724fae1c06a6cfcdd986a119c93d" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d3a93485cece1583e5f40491684de002" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.repeat_blocks_f", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6ec36165acc8b3b8a1f151af217f53b8", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b14928a18ba707004108386997fed9d6", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.slice", "typing_Lib.Sequence.length" - ], - 0, - "4c11107d1d5861ddac6ad6016edf99d6" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fa661eeed708f38d51191a3c5baf82d1" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "768939c91d0498bf001c1e6977fa03c4" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_a203639a647d7d28da9a0faccf0492b8", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.map_blocks_f", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.map_blocks_f", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_ba24c249c2bac9c9652dccf45aee8033", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_Lib.Sequence.length" - ], - 0, - "ec1cf2f10b334e0dea45198dfc09471b" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d03c542e864af435cc4f6bceed200f86" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "c572fd7d38ddff1ba41e1be98c0df699" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_extensionality", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.slice", "typing_Lib.Sequence.length" - ], - 0, - "ea22529591783aef02bc34a2fd617c96" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_extensionality", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "544fe92e82b34e47b83e2a9d6c612b7d" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "1c71f5e5bcc5964069c857debe027090" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9cae49ddc51f478ecfae44183d300abd" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cb830c88c2f95aac5d12579b28aa408b" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l_length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9653a05c95a3e2bcfc3967bfe5cc2321" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l_length", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9dbede814c7e09cf989d879ebca4b33a", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803" - ], - 0, - "7f6beb7bc8028cea8986cab77933eadb" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l_length", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2c862e10bc85535f58c6c70a27a1e614" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bd9ea99377fa289a609f52c5e0793145" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.map_blocks_a", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803" - ], - 0, - "d61535e4c8b71eecb93321dfb007d409" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1262e96896275c3e6ed5859798e653c2" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "5a87a170976d5c9669618ee500df3a09" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc", - 2, - 0, - 0, - [ "@query" ], - 0, - "829e0faf6b9377c8a0dcf0a4347e6923" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "9e295d13517f9bf32cf42049a14a6b0a" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "9e78edeaf9ab811dba6f03f8d4b2a94a" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_length", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_d14b5cd1226e414731f21670beedcc84", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9b21a1b8a923031d12df037faf12ac8b", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9dbede814c7e09cf989d879ebca4b33a", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_f0f2eb385217bc59a5339bff3d4fdc88", - "Lib.Sequence_interpretation_Tm_arrow_1197f9e1e382c8da76b7fab929cab890", - "equation_Lib.Sequence.Lemmas.map_blocks_acc", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "function_token_typing_Lib.Sequence.map_blocks_a", "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_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "token_correspondence_Lib.Sequence.map_blocks_a", - "typing_FStar.Seq.Base.slice", - "typing_Lib.Sequence.Lemmas.map_blocks_acc", - "typing_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "typing_Lib.Sequence.length" - ], - 0, - "6e69098a772ba7c9836e96e97a36febc" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_length", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "a9b0f862623f3061db5cadbd88904877" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8065bd4b8c048acfe8606ff36a6f415d" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_repeat_gen_blocks_multi", - 2, - 0, - 0, - [ "@query", "equation_Lib.Sequence.Lemmas.map_blocks_multi_acc" ], - 0, - "a6584a70721af13ae7ad559321e2ac59" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_repeat_gen_blocks_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fcd52916a849051b1d766259b7afa231" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "315ddeb1f4f020791ff20143e0488ba1" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_repeat_gen_blocks", - 2, - 0, - 0, - [ "@query", "equation_Lib.Sequence.Lemmas.map_blocks_acc" ], - 0, - "b1f5eaf64cd0c0bb627476d01ab46400" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_repeat_gen_blocks", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "07c725a163a095bf005cc3af9107dfed" - ], - [ - "Lib.Sequence.Lemmas.f_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "f4d5ee43849a573496fbc49e0668b944" - ], - [ - "Lib.Sequence.Lemmas.f_shift", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "06ada1fe26086f145a7ab1018bd2f04b" - ], - [ - "Lib.Sequence.Lemmas.l_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "926115bbcd7b4d9fb05b706d0058ae6a" - ], - [ - "Lib.Sequence.Lemmas.l_shift", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213" - ], - 0, - "af3564796927245cade77137c56b7fd9" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi_", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cedbfc1f9a0199ea1d2d039a83d0b50f", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.empty", "typing_Lib.Sequence.length" - ], - 0, - "d3cd1ceeff4fa59e16bc98d77b46dbb9" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi_", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_ddaeb9f8661c5c5fb1dfc8f5d126faa7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_7eea0d406be960c32731035419902146_1", - "binder_x_80398975436b9f074cafa4c1f371bbf6_8", - "binder_x_9caa9576d4c1ad3b0e97ef91b12afd21_5", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_d9bc8e0a60310fd244ff2d1ff9c0be7d_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "equation_Lib.Sequence.Lemmas.f_shift", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.map_blocks_f", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.map_blocks_a", - "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_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8a6506292ccc20eb5c4cf1d8460ddbdb", - "refinement_interpretation_Tm_refine_97a1d43cbd9a511b7df6dadef7f89fb8", - "refinement_interpretation_Tm_refine_a4a397079d7ea76ab85443b1137ac121", - "refinement_interpretation_Tm_refine_aacd5c5013e5b4b181bda5c667bdb087", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_db4109dc6119e88b617d40a03dd5557c", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "token_correspondence_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length", - "well-founded-ordering-on-nat" - ], - 0, - "c712b8c570afd276263dd1ee303b3d52" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi_", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6d3a44c719b57e04608d090aa33b27d5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cedbfc1f9a0199ea1d2d039a83d0b50f", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.empty", "typing_Lib.Sequence.length" - ], - 0, - "654d7a7c3cb428429965245b77455be6" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e4eb3165c991712766a49bd316838790" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.map_blocks_multi_acc", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Lib.Sequence.map_blocks_a", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.empty" - ], - 0, - "3aee2c07835502e15f387f2e8afc4102" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e3b4b9b4ff0dc0b03862d7b3cc8257cc" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "064f6cf1473bcbd30266d9ec9e5c80c9" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_1c8e3695441d6e943fd420c55a9c2714", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_2157ab19016ce78d1a8477b3e4a9fd74", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_53c1cff0fc95f4065a8aa916a14dae1d", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_584846cea09f289341a40139c3b43b94", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_707f1100325826b024437354577c9bb0", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9dbede814c7e09cf989d879ebca4b33a", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "Lib.Sequence_interpretation_Tm_arrow_efd714987712642bce73b6a439af3d22", - "Lib.Sequence_interpretation_Tm_arrow_f67e6b48b3d5d38ee7701f3b137f9030", - "equation_Lib.Sequence.Lemmas.l_shift", - "equation_Lib.Sequence.Lemmas.map_blocks_acc", - "equation_Lib.Sequence.Lemmas.map_blocks_multi_acc", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.Lemmas.f_shift", - "function_token_typing_Lib.Sequence.Lemmas.l_shift", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_Lib.Sequence.Lemmas.map_blocks_acc_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1f6c16a51cd4ba3256b95ca590c832c5", - "refinement_interpretation_Tm_refine_25699f4de0c949c68e992e5573c8bf6d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b7cc00be09baf214a201979bf5a5cea0", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_dee0f34b44c44e6d512c6db0858b92ef", - "refinement_interpretation_Tm_refine_ef88cbfd1f224cec1819e89cfa0f6a00", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "token_correspondence_Lib.Sequence.Lemmas.l_shift", - "token_correspondence_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.slice", - "typing_Lib.Sequence.Lemmas.map_blocks_acc", - "typing_Lib.Sequence.Lemmas.map_blocks_multi_acc", - "typing_Lib.Sequence.length", "typing_Lib.Sequence.map_blocks", - "typing_Lib.Sequence.map_blocks_multi" - ], - 0, - "dfc96690912fa3091d2ad47d4e86b7dc" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "21464ef52d4ede87754dface7a552c12" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "ec143f6f73e304af03652d93d0f78222" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi0", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.LoopCombinators_interpretation_Tm_arrow_d14b5cd1226e414731f21670beedcc84", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9b21a1b8a923031d12df037faf12ac8b", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_f0f2eb385217bc59a5339bff3d4fdc88", - "Lib.Sequence_interpretation_Tm_arrow_1197f9e1e382c8da76b7fab929cab890", - "equation_Lib.Sequence.Lemmas.f_shift", - "equation_Lib.Sequence.Lemmas.map_blocks_multi_acc", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "function_token_typing_Lib.Sequence.map_blocks_a", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_361ceade980020b5c15ebf36d114dc78", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "token_correspondence_Lib.Sequence.map_blocks_a", - "typing_FStar.Seq.Base.empty", - "typing_Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - "typing_Lib.Sequence.length" - ], - 0, - "84f7e9beb100967a9d3d8c75c8b0218c" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi0", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bf43bbacaeaf10ac71e47e5a49642e2d" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c" - ], - 0, - "5f59041aa94d0e0ed719574331065d1c" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks0", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.f_shift", - "equation_Lib.Sequence.Lemmas.l_shift", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "token_correspondence_Lib.Sequence.Lemmas.l_shift", - "typing_FStar.Seq.Base.empty", "typing_Lib.Sequence.length" - ], - 0, - "1353bd769d98254cf7717a6d1e9b521d" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks0", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3592bbe5075d16d2b733bd68fa1e54ef" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_is_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7ad90407dad3095183eb4d692b62fd08" - ], - 0, - "62f887b8a93524895e9e31d8ba26ed0d" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_is_empty", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Division", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7ad90407dad3095183eb4d692b62fd08", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_Lib.Sequence.length", "typing_Lib.Sequence.map_blocks_multi" - ], - 0, - "5527d9eb449729dfd6dd32066e54affe" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_is_empty", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "866eb77912d23f7d0324b989e330c3df" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Sequence.Lemmas.fsti.hints b/tests/hacl/Lib.Sequence.Lemmas.fsti.hints deleted file mode 100644 index ff04f7f4101..00000000000 --- a/tests/hacl/Lib.Sequence.Lemmas.fsti.hints +++ /dev/null @@ -1,1188 +0,0 @@ -[ - "x&íý²Œš›µamöð\u0012L", - [ - [ - "Lib.Sequence.Lemmas.get_block_s", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ade7773d9cd7cd1a2abc2fe3f191b9e0", - "refinement_interpretation_Tm_refine_c37230a0b45bfa733513e4ce89ef34d6", - "typing_FStar.Seq.Base.length" - ], - 0, - "a47a8937c70e31301ef73d633df768d2" - ], - [ - "Lib.Sequence.Lemmas.get_block_s", - 2, - 0, - 0, - [ "@query" ], - 0, - "90d7a9d6b82683cac742220b210fd7f7" - ], - [ - "Lib.Sequence.Lemmas.get_last_s", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length" - ], - 0, - "dacb53c18bc9a35bb2786e03a2450b3c" - ], - [ - "Lib.Sequence.Lemmas.repeat_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12aaa86fce4296e5ca537def690c90b7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_fd19feb5f9ea77c43306cb5b7a87bc36" - ], - 0, - "5cf89ecff69d3be3a692c9964438a5bc" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c521dec61896a844c454ea9692ebf2e2", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2" - ], - 0, - "7e290f4a6ca174d8dba0e352fdea01dd" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "99698057be916b7413d170519c2fff3c" - ], - [ - "Lib.Sequence.Lemmas.repeati_right_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "8f13a111cd134a1dee6ffd4078757605" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bbe86a0a6209b8c07083cd4c9f7f9aa5", - "refinement_interpretation_Tm_refine_e7fccb01210c2efde8affa46b16abcf2", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.length" - ], - 0, - "6ae44254caf975e216685a2b5850ee50" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_f", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "22cb9118c95ea32cf9b98857e63f0c2f" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "0c6a5795e1172fb8ddfd931d739d7d25" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "fc953fd1d29fd3ec89e76f05eb087400" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "392f3c797f2a3c1e95d0061beeea720a" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "b3ffb382f756c4b7d24ffaf492043fd5" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_extensionality_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_4a1f484c8b51af7634bbc9267ad1b558", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "fb54a9d8f57a201905e3a59049b5f25b" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_extensionality_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46d0490fc1bcee17b1822abbbaec9be9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_667c0deceb286bd669e5316a684eee1c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8d0b9c0d9bab47c0f00a15221dd05c4" - ], - 0, - "baf5469d0cffdc237b6b67033ade048a" - ], - [ - "Lib.Sequence.Lemmas.len0_div_bs", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7869945d6e20885bce1ab2317b7ec761" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a537596eea26aa61fccfb9c382d96f22" - ], - [ - "Lib.Sequence.Lemmas.split_len_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6ec6daf6ffd0d23fd91b27b61d947548" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_multi_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24813cd65ccef7cf8c09228ba9bdbf64", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "f8d49fc3aed43a6b3eb31ceda99542e7" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "6f05c277f931a4e352c2d9560bbdeadd" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "0aaf66324584f50d1af116619f8cff42" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "8ae738f4cb2bd02e027c842607d03a94" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "31ce4c9a1b61c570f08894313e830a4e" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "84a93dc0d54893eec481829094444e4a" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "4e440fb1166de9e282a14057569c21e1" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 8, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "805ad59b23a411e0bd067853246b532e" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 9, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "77ebfa11ddc9bd3aefd7063c16742677" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 10, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "d4696aa4fea724054a06e2a6d2d3db75" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 11, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89c993ace77fbcbb3e1998f8c62bf10b" - ], - 0, - "506cfc0295349aade31cb61221819596" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 12, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "e1634ed4e8256e4950c0a370b32322da" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 13, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f" - ], - 0, - "4fd9badcda5f3d8fc474bb10c16ec23a" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 14, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f" - ], - 0, - "af9509142e564d73ff427b1c5ebf16db" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 15, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "47946fe2164fe5466afd331d6d1f47d3" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 16, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "c97019051febfac310020921160801aa" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 17, - 0, - 0, - [ "@query", "equation_Lib.Sequence.length" ], - 0, - "2c0d7c994697f84c1a051c37459e513b" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 18, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "d7092bada9e7f2b44214635e88c8f01f" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 19, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9a6d6b8f1b49ac379dccec3cb174d3f0", - "refinement_interpretation_Tm_refine_a3164b9746c4f6175a4378acab99e998", - "refinement_interpretation_Tm_refine_e8048d92da77e8632fbe73f2fadc3f00", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "0e53ab1d9c4e9c572aeafc7de34f9400" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 20, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "343ad29511c4137faa27bca9d092def4" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 21, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9a6d6b8f1b49ac379dccec3cb174d3f0", - "refinement_interpretation_Tm_refine_a3164b9746c4f6175a4378acab99e998", - "refinement_interpretation_Tm_refine_e8048d92da77e8632fbe73f2fadc3f00", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "0e53ab1d9c4e9c572aeafc7de34f9400" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 22, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_3a24a9ebca19f5cdc678415841a9293b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9a6d6b8f1b49ac379dccec3cb174d3f0", - "refinement_interpretation_Tm_refine_e8048d92da77e8632fbe73f2fadc3f00", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5", - "typing_FStar.Seq.Base.length" - ], - 0, - "6a55193d21518efe16d9db960a4d5a68" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 23, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_11c29f1ac91af27d303f84520fb10788" - ], - 0, - "3021c22c5400a600bdf0a43d9a4ac1fc" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 24, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "90330e128a663cd3761fc0a53de569f5" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_split", - 25, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_6fdcf7302a39aeac615b0eb19b068938", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9a6d6b8f1b49ac379dccec3cb174d3f0", - "refinement_interpretation_Tm_refine_a3164b9746c4f6175a4378acab99e998", - "refinement_interpretation_Tm_refine_e8048d92da77e8632fbe73f2fadc3f00", - "refinement_interpretation_Tm_refine_fcf14b481b3a84f47b67fc1dd0096ca5" - ], - 0, - "af70f00639b2f218b987e6e01645cdb9" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "72650263e976a19d31b2ef3fb569fb8b" - ], - [ - "Lib.Sequence.Lemmas.lemma_repeat_blocks_via_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "cd23080166469cb415614226b6199103" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_is_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dc64ef62fd3101207c953516420ca99f", - "typing_Lib.Sequence.length" - ], - 0, - "3dc6068a7f0c3dcfe1213a69cb682cc4" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_is_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c" - ], - 0, - "5b4f7220f120b77f0d98289a05eefdbd" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e9c3dad358c3890f342f5eeb42bb76e", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Lib.Sequence.length" - ], - 0, - "cc4fd8ba2cc1fa5f195503036441a358" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6040141db1ba33361776c6b54feae71f", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_725406258cbec7cb7a61bee1d844d771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647" - ], - 0, - "ccec5384e6b1e427ddb9a23310775e07" - ], - [ - "Lib.Sequence.Lemmas.repeat_blocks_multi_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f51048f301dcdf1a4be86781c765e242" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8b14905f7cca5b094741fa2f7f0eee26" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_extensionality", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "026f61f9bc647c7e0118f05865333452" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "d175a8873778cb043b772736153c6eaa" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9a28a419f29eaafccf909affc6a9aaf3" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5fb2cc19dc2b4f89c94610dc0181712c" - ], - [ - "Lib.Sequence.Lemmas.repeat_gen_blocks_map_l_length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b2d08cf19c3397cb14040788b689395c" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "500ea178adfd4f2f78813d9a4652f516" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "a61346ac6f8588720722fcaa71fc11b0" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "d1a6866fad44c6327466e5505ac4b41f" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_repeat_gen_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "40db2c074f47491d877d8617049136a1" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_repeat_gen_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "78b76799a3be8ed1a7e7f435e898c5d6" - ], - [ - "Lib.Sequence.Lemmas.f_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "decde804de85189afc1da2963e30c415" - ], - [ - "Lib.Sequence.Lemmas.f_shift", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1f0ea7a82daa9188689bc04f758ca865" - ], - [ - "Lib.Sequence.Lemmas.l_shift", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "e5ad9ef25574bbcc8d6c11b1136d7a26" - ], - [ - "Lib.Sequence.Lemmas.l_shift", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213" - ], - 0, - "ea0b63fc5b413a6bfbd5b03e1b7ec1ff" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "27b18d639ac3a46da99ead62f9568b9e" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "typing_Lib.Sequence.length" - ], - 0, - "7b5f808a32972239b5e088cd1f306151" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_multi_acc_is_map_blocks_multi0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "539aef8f8d233d6719f216b95b25cb56" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_acc_is_map_blocks0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f571f2610f867b24665eec96f119e18c" - ], - 0, - "a78215395bd6bcbf01fb038ab8eed9fe" - ], - [ - "Lib.Sequence.Lemmas.map_blocks_is_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7ad90407dad3095183eb4d692b62fd08" - ], - 0, - "80730fe47fa0c59ad2943de6b809aec0" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Sequence.fsti.hints b/tests/hacl/Lib.Sequence.fsti.hints deleted file mode 100644 index 112d75a4c76..00000000000 --- a/tests/hacl/Lib.Sequence.fsti.hints +++ /dev/null @@ -1,981 +0,0 @@ -[ - "\u0014@-ô\u0018Ä€*«\u0011Øs‰È¾t", - [ - [ - "Lib.Sequence.to_lseq", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "refinement_interpretation_Tm_refine_d6b65d48a86d318eee5320e9fc07ce57" - ], - 0, - "007ae1b26f5997783d0967b785815862" - ], - [ - "Lib.Sequence.index", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "47163836fdb4ca3199899080e4354697" - ], - [ - "Lib.Sequence.create", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "1dbdc6edbe2a132e17952d9e2aae3103" - ], - [ - "Lib.Sequence.concat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_485bc5b41c309040098b0ab067e4ac2c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "a6146ed1d491e7e268157ade4a5fe2fb" - ], - [ - "Lib.Sequence.to_list", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a19dadee65f47ecf294e45d58359d56e" - ], - [ - "Lib.Sequence.of_list", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56609cb097df748006aafa90a98ed73d" - ], - 0, - "6fba5259925011451816e092c3b22d72" - ], - [ - "Lib.Sequence.of_list_index", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56609cb097df748006aafa90a98ed73d", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" - ], - 0, - "e51d767a4b312fcb335a8d62247365ac" - ], - [ - "Lib.Sequence.eq_intro", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", - "refinement_interpretation_Tm_refine_6b8a1e6e39c8fbea3860e8d70e3dfbd5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "7adc0ee836f0ffdf9ceb50d93920c5ae" - ], - [ - "Lib.Sequence.upd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_dee0f34b44c44e6d512c6db0858b92ef", - "typing_Prims.int" - ], - 0, - "e0e21e9521a91411b72de1d498e97349" - ], - [ - "Lib.Sequence.sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9bf9d0f857340a8d758087374a41c06", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "fda4c048b3c18a094f4383a8dacc26a5" - ], - [ - "Lib.Sequence.slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_e5df7b46d8b4d6787f7fc44dbc0015e5" - ], - 0, - "e9da0dbda73b819fc95c153853cb3e3a" - ], - [ - "Lib.Sequence.update_sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b72b617030921a422a8020811c2f320", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9bf9d0f857340a8d758087374a41c06", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "2e9d4b712944336d6169380eecdf6058" - ], - [ - "Lib.Sequence.lemma_update_sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.to_seq", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_03ea481677aa4f241e0fcf866da3eab4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b9bf9d0f857340a8d758087374a41c06", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "f0ee2a6afa8903c6aa0a6c6cee40bf5e" - ], - [ - "Lib.Sequence.lemma_concat2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_485bc5b41c309040098b0ab067e4ac2c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "3c2c8a69b0b809b298034a0d97146bed" - ], - [ - "Lib.Sequence.lemma_concat3", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_485bc5b41c309040098b0ab067e4ac2c", - "refinement_interpretation_Tm_refine_4e798f335f6b4b1ff5946bd101912e0e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "4196313342faf07182df10571e302277" - ], - [ - "Lib.Sequence.update_slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_e5df7b46d8b4d6787f7fc44dbc0015e5" - ], - 0, - "53cfa8f3fe9c1c6c5cfade9a43cb103e" - ], - [ - "Lib.Sequence.update_slice", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_e5df7b46d8b4d6787f7fc44dbc0015e5" - ], - 0, - "88568222712efed02ed7b636f96a9417" - ], - [ - "Lib.Sequence.createi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "c1d5f80dcb2c36d2d9995d86a6cfdfa4" - ], - [ - "Lib.Sequence.mapi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "cea78b217f385a9a105faaca6a87246d" - ], - [ - "Lib.Sequence.map", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "d607d80f56608db5d92812b3c6c11dc4" - ], - [ - "Lib.Sequence.map2i", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "44fded4255537ee10cd7203b964d97a7" - ], - [ - "Lib.Sequence.map2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4" - ], - 0, - "8d913046aa07b45287b22dc4c0437b07" - ], - [ - "Lib.Sequence.repeati_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "aa96938ac5e6a04d2ffde0afbea6ec0d" - ], - [ - "Lib.Sequence.repeat_blocks_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c325641987cce6783228428bd15a869", - "refinement_interpretation_Tm_refine_1f6c16a51cd4ba3256b95ca590c832c5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aee8f5bc805e40f3cc22e281aedfc983", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.length" - ], - 0, - "57446519df459e7dcc443095aac0fab7" - ], - [ - "Lib.Sequence.repeat_blocks_f", - 2, - 0, - 0, - [ "@query" ], - 0, - "0f535bea7da3c4f939812108a5df4d04" - ], - [ - "Lib.Sequence.repeat_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "301e6c6bc65ec71675eb8b572407d99f" - ], - [ - "Lib.Sequence.lemma_repeat_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "85e78c7e6fad24fdc43124aa6b34cabf" - ], - [ - "Lib.Sequence.repeat_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "31090662a8108b1c1ec5e523f11b4a9a" - ], - [ - "Lib.Sequence.lemma_repeat_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b14928a18ba707004108386997fed9d6", - "typing_Lib.Sequence.length" - ], - 0, - "bc9c2040c1e9e8931ec503a0963e3a94" - ], - [ - "Lib.Sequence.generate_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "12299932fd06853be91511df33c267bf" - ], - [ - "Lib.Sequence.generate_blocks_simple", - 1, - 0, - 0, - [ "@query" ], - 0, - "a98f905dfc526aade3b1146bce42e9b1" - ], - [ - "Lib.Sequence.div_interval", - 1, - 0, - 0, - [ "@query" ], - 0, - "05e236ef2e7d1199be90bbb05aaa271d" - ], - [ - "Lib.Sequence.mod_interval_lt", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "40cc31e1ed01e0e1403e0ecdd6e208b4" - ], - [ - "Lib.Sequence.div_mul_lt", - 1, - 0, - 0, - [ "@query" ], - 0, - "fdcb39a8e706fc5b3e92a8efa7453756" - ], - [ - "Lib.Sequence.mod_div_lt", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6581ac25b03a08b5ccc33e262c4a342d" - ], - [ - "Lib.Sequence.div_mul_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6ecdf8cf5046e7e59b78e0a43b33fd54" - ], - [ - "Lib.Sequence.map_blocks_f", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c325641987cce6783228428bd15a869", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aee8f5bc805e40f3cc22e281aedfc983", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "98ca25d3598b3d2a3d19cc8602798cb8" - ], - [ - "Lib.Sequence.map_blocks_f", - 2, - 0, - 0, - [ "@query" ], - 0, - "79e5a71e1734e20fbc9d1675ac49d6d9" - ], - [ - "Lib.Sequence.map_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "30f4e27170af723277061ffbede70d9c" - ], - [ - "Lib.Sequence.lemma_map_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.pos", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "7186a3464516100874cecb21f7b9e545" - ], - [ - "Lib.Sequence.index_map_blocks_multi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07295705544891065e7a01d318c0ba51", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ade7773d9cd7cd1a2abc2fe3f191b9e0", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.length" - ], - 0, - "ead320b8ddd3b04a2e2fa4f7ad97d677" - ], - [ - "Lib.Sequence.block", - 1, - 0, - 0, - [ "@query" ], - 0, - "302184195c06a96b22810c0a3734ccc3" - ], - [ - "Lib.Sequence.last", - 1, - 0, - 0, - [ "@query" ], - 0, - "01d9a259a55e5355aaf632b2a8e68001" - ], - [ - "Lib.Sequence.map_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4eef7ee6f7b7260006dc34377883c4ab" - ], - [ - "Lib.Sequence.lemma_map_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "bbdc7655d3bdcdddede6ec3aa3f35320" - ], - [ - "Lib.Sequence.get_block", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ade7773d9cd7cd1a2abc2fe3f191b9e0", - "refinement_interpretation_Tm_refine_bb0b8197bb42e9a1aaebe59e97685233", - "refinement_interpretation_Tm_refine_c37230a0b45bfa733513e4ce89ef34d6", - "typing_FStar.Seq.Base.length" - ], - 0, - "7392f6eadbfdb15609707b8736e96f6d" - ], - [ - "Lib.Sequence.get_block", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "43f7274a43573391af95eee13aba6971" - ], - [ - "Lib.Sequence.get_last", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_eeb59caff9a959bab0eef3a399bf14b7" - ], - 0, - "6a00f1a55ab5b977184cae6a08bced05" - ], - [ - "Lib.Sequence.get_last", - 2, - 0, - 0, - [ "@query" ], - 0, - "e91f751eb7b0514ac88b1159a3abeb60" - ], - [ - "Lib.Sequence.index_map_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_824da4eabc6ac6d5c984b1ec60534f76", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_Lib.Sequence.map_blocks" - ], - 0, - "35fbde6c9f9e7af1c7a0c11c776f045d" - ], - [ - "Lib.Sequence.eq_generate_blocks0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "dc36cf67a55b3ff42dcc5425c8ae8e6a" - ], - [ - "Lib.Sequence.unfold_generate_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8dd98bb91cb1ba6963e5299b3babaa4", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "29225db9281a07b0b45cae47ecc5fac9" - ], - [ - "Lib.Sequence.index_generate_blocks", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07295705544891065e7a01d318c0ba51", - "refinement_interpretation_Tm_refine_3833667c59aecdf581ef615fb6194b08", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "unit_typing" - ], - 0, - "b36b52fff51d9a995d8e0910637b5bfc" - ], - [ - "Lib.Sequence.create2", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e728458fc2df36715f90f124726582c5" - ], - [ - "Lib.Sequence.create2_lemma", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0750fde03c831f4dd80940308b83a024" - ], - [ - "Lib.Sequence.create4", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fc0fee1b025104a244741901b531b1f4" - ], - [ - "Lib.Sequence.create4_lemma", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "72941e322a4faf0970497d4ee7c9e7bf" - ], - [ - "Lib.Sequence.create8", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c58ddc76c925c2c33c83b5f3badf467f" - ], - [ - "Lib.Sequence.create8_lemma", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "55b5a1845dc59b757a19bff1d19d668d" - ], - [ - "Lib.Sequence.create16", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "812f0b234d61cadb5ded2b5a80cfac2f" - ], - [ - "Lib.Sequence.create16_lemma", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9be41d92959ad035a003d965ce23afbc" - ], - [ - "Lib.Sequence.create32", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "209ba153ccda19f8adbd22cfce6a6cfa" - ], - [ - "Lib.Sequence.create32_lemma", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8e4c511b05971b7fb108b2247b052012" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Vec.Lemmas.fst.hints b/tests/hacl/Lib.Vec.Lemmas.fst.hints deleted file mode 100644 index e37616d4abd..00000000000 --- a/tests/hacl/Lib.Vec.Lemmas.fst.hints +++ /dev/null @@ -1,1642 +0,0 @@ -[ - "ntiß’—\u001f\u0013f×\u00106Jü", - [ - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f77474ede8199333d3f4de9c694b4b9", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "bc6ac6f4012c917615df1ea66fb32f8a" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_2", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_214521be6835548f2f282adfe2372d8b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a3655d6698d33f820804a971c83ae369", - "refinement_interpretation_Tm_refine_aacd5c5013e5b4b181bda5c667bdb087", - "well-founded-ordering-on-nat" - ], - 0, - "d2364bf2c715406ece27482f008970fa" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f77474ede8199333d3f4de9c694b4b9", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "ea0b472aab25c3f869209194fc413e80" - ], - [ - "Lib.Vec.Lemmas.lemma_repeati_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "58e1ea03ca932bb57b14981ec3ed0a05" - ], - [ - "Lib.Vec.Lemmas.lemma_repeati_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Lib.LoopCombinators.fixed_i" - ], - 0, - "3796964bab5f03eb933cb1b4e08fcfae" - ], - [ - "Lib.Vec.Lemmas.len_is_w_n_blocksize", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9ed2c690176048c9c01e455e1f89b93a" - ], - [ - "Lib.Vec.Lemmas.len_is_w_n_blocksize", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "352d9edf2e19f23d03fe00692704edc6" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.length", "typing_Prims.pow2" - ], - 0, - "f77dc687382c3af8ac1d918c326b4296" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "9342d63f1e94b61dd3db938fb6e2eac4" - ], - [ - "Lib.Vec.Lemmas.get_block_v", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "19b3e2f525f6c40dbc22055b22b646b6" - ], - [ - "Lib.Vec.Lemmas.get_block_v", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8d6fa9117891ba071496ffc959fc4d4b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.length", "typing_Lib.Sequence.length" - ], - 0, - "87202225be3e9f3cd513abd76a563bdd" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "a2f09494704dcdf1d57669d0d60e8e48" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Lib.Vec.Lemmas.get_block_v", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "7e702b11732ce6222844c82b70633242" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice_k", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8" - ], - 0, - "4c873fb4fd5eca2bfcbe4a49c8088aa2" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "13506c2ec74b875a4b3d0667ac2ef4f5" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "dda8d523f61b076c798fff0771a18b19" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_slice", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d6b1a92117d4cdff80313427385685c8" - ], - 0, - "5a5f1e770023080e62b2204d4aa06ba9" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_step", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_ba24c249c2bac9c9652dccf45aee8033", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5ac81773d465194db7ebf4bf0cf63a32" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_step", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Lib.Vec.Lemmas.get_block_v", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_2c0568e51630566768dea977a21880bf", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6a886eba44118bdd83730df8832311a9", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "e41d279bc1111a1f49b608073797543a" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_step", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "970107ee724521a5bae5e4b7a8e1f414" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "6f7380adfb7488568951afffaf6642a2" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_multi_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_096438f6bdfa8da57c0b90fb63f06bdb", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f77474ede8199333d3f4de9c694b4b9", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_ba24c249c2bac9c9652dccf45aee8033", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "typing_Lib.Sequence.length" - ], - 0, - "524d82f6ec82db332e4d2f1fd043dd19" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_multi_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "dbb9e46dc12568830822dcc747a3ab34" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "fa56d534e790eeff9ee8c16e191b5359" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "bc377758e8ba09228d3d215166fccffd" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "ccb6b30e9162536b16a893dd380d7222" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Lib.Sequence.length" - ], - 0, - "110c8dbf370d74e8a19c040d794d0dd0" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "bd83719e2933ad87b4c9fb7611e7cf2b" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "e7fc7d745a3ef7dcfd62f80bdf6cae33" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "00f71ceeae33b96d9af505765a7f20be" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c9fdf912952057544337f2e4560ca43b" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Vec.Lemmas.repeat_blocks_multi_vec_equiv_pre", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d6e5c35ff3aad90541fc8f7abd9ac6d4", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "token_correspondence_Lib.LoopCombinators.fixed_i" - ], - 0, - "8d9286536f736d659087b7ab0ed47ebf" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec_equiv_pre", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f1e5582fa18705301cd130702302114e" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e90c2c89afe31ba2752cabd31cd7f6e7" - ], - 0, - "7d2dac0e31ecf9e8ec34fa60701f1959" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e90c2c89afe31ba2752cabd31cd7f6e7", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "ba98fea2cf116b67605f47ba22a52050" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e90c2c89afe31ba2752cabd31cd7f6e7" - ], - 0, - "734a2a0a8aebe5737e124980b9cca3a4" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "fdf0872d65e7a2cd5490a3e646b81e69" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b1afb2a91ea3a9b49b15378487688321" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "59463bc6175c644014a9f68315f4f78d" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Vec.Lemmas.repeat_blocks_vec_equiv_pre", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b2d3f317f91f417bcb8a5847865e4675", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "token_correspondence_Lib.LoopCombinators.fixed_i" - ], - 0, - "70603b8dce51ce8a800a2d5d495dbacf" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec_equiv_pre", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "61afa7979947b9a2edeaa27ca61f4690" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "a29e2349c7365f921bc5a651ef0b6006" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_Lib.LoopCombinators.fixed_a", - "equation_Lib.LoopCombinators.fixed_i", - "equation_Lib.Sequence.length", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Lib.LoopCombinators.fixed_a", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Lib.LoopCombinators.fixed_i", - "typing_Lib.Sequence.length" - ], - 0, - "1b5e30310fccba882cdc9dc3517b678b" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "389d67d7c5f323653ef3a67a5aea71d9" - ], - [ - "Lib.Vec.Lemmas.lemma_f_map_ind", - 1, - 0, - 0, - [ "@query" ], - 0, - "8f5a496624e027c991ed44e53ecd1563" - ], - [ - "Lib.Vec.Lemmas.lemma_f_map_ind", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "0bd5f7edb2eb6c32b00d403ad92e5e1b" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "0da9df1eaa45544c9f6e3b181c3ac97f" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1c78b4af2f3663299e5501267591eca3" - ], - [ - "Lib.Vec.Lemmas.normalize_v_map", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "fd981e5976e4c99d9f6ecb873a97a5f3" - ], - [ - "Lib.Vec.Lemmas.normalize_v_map", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "17f6668b4d7c068447c6ce4ae07924d1" - ], - [ - "Lib.Vec.Lemmas.normalize_v_map", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "85ef6bf75dc09502690b8d5ac248449a" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803" - ], - 0, - "57fce9d1a8056b35bd29e948d2df177e" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f29b62b9937b8b549bfb2e2bb9d6031b" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "01eb728a3c3a25b4f1800f7303a283ee" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "eq2-interp", "equation_Lib.Sequence.Lemmas.f_shift", - "equation_Lib.Sequence.Lemmas.get_block_s", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre", - "equation_Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre_k", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_25699f4de0c949c68e992e5573c8bf6d", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_648962b2ae132d6b66f0e1687b18875e", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9c15d596f5953eb9d8aa8805ac0915cc", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "typing_FStar.Seq.Base.length" - ], - 0, - "e464f6d1fa52ec9b7ec0e195d4b199c4" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre_k", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "7078b38df37048f6adcffe13682ed936" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.length" - ], - 0, - "422063ca5e61437bd0e8e8ae1fc43c96" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_2b8b111ba83aebf8b7d238de5c60949e", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "eq2-interp", "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre", - "equation_Lib.Vec.Lemmas.normalize_v_map", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f", - "function_token_typing_Lib.Vec.Lemmas.normalize_v_map", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_25699f4de0c949c68e992e5573c8bf6d", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_6f684e27d6af9965634108bcfe981953", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_8fb87dad301251f52db6827c1feade3d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Vec.Lemmas.normalize_v_map", - "typing_FStar.Seq.Base.append", - "typing_Lib.Sequence.Lemmas.map_blocks_multi_acc", - "typing_Lib.Sequence.Lemmas.repeat_gen_blocks_map_f" - ], - 0, - "5d0ff21b41a6cb62e1ca2dbe0d44feb9" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec_equiv_pre", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "d1f2dd589a1e5177c4aa43fdbf7a8b20" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Lib.Sequence.length" - ], - 0, - "4c56fe5ea0b3c85f75c4708972236b35" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.normalize_v_map", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Lib.Sequence.map_blocks_a", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_361ceade980020b5c15ebf36d114dc78", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "refinement_interpretation_Tm_refine_f91d1a7dd6f8b240a8d009f0cf4aae51", - "typing_FStar.Seq.Base.empty" - ], - 0, - "1b75e8c6d8bf5976015c62dd1f84e9f0" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "53839d888fa9b71d60852573d4cfe433" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "9449998c2ef4506d88f2caa2c0dd2a00" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bcfd3b894d8b88e4371eefa080975abd" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803" - ], - 0, - "0e07387a7e67ba873d796884d20aedfc" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "09415131f04bec1801ef1f44e904ed62" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_bb0b8197bb42e9a1aaebe59e97685233", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "fe4f56f678bd433694e4946cd47c20f0" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k_aux", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "eq2-interp", "equation_Lib.Sequence.Lemmas.f_shift", - "equation_Lib.Sequence.Lemmas.get_block_s", - "equation_Lib.Sequence.Lemmas.get_last_s", - "equation_Lib.Sequence.Lemmas.l_shift", - "equation_Lib.Sequence.get_block", "equation_Lib.Sequence.get_last", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Vec.Lemmas.map_blocks_vec_equiv_pre_k", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_fe0ca3f3b25cc9d377244449d02c257b", - "token_correspondence_Lib.Sequence.Lemmas.f_shift", - "token_correspondence_Lib.Sequence.Lemmas.l_shift" - ], - 0, - "7799d200fcf80ead203e41a490d08638" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k_aux", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "43048161649ecf9ac5ef312227e5e431" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "478f581ad5a81dc479ab28987b624541" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.map_blocks_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e8892e6e831382419ad3b591eb7d098", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "refinement_interpretation_Tm_refine_fe0ca3f3b25cc9d377244449d02c257b" - ], - 0, - "19a51698cd8e8ae0668c137417bbc762" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre_k", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "60d64e0c94c7eb913719a1fbc487dc05" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "7059e4c2a8c533a460e2cc2ba6b18c79" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9dbede814c7e09cf989d879ebca4b33a", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_118c184bc6b09ad53ce4ad8d5a429a26", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_2b8b111ba83aebf8b7d238de5c60949e", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_c38a40c75e862a598ad8a42d5d6e0b77", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_e8b984cc954d1a93c0670e47bfd79ffd", - "eq2-interp", "equation_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.map_blocks_a", "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.map_blocks_vec_equiv_pre", - "equation_Lib.Vec.Lemmas.normalize_v_map", - "equation_Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Lib.Sequence.Lemmas.repeat_gen_blocks_map_l", - "function_token_typing_Lib.Vec.Lemmas.normalize_v_map", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_135aa34345be03950a1f68856adc9696", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_8dd1dd228be3e5b616c46def4cb5b9b8", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "token_correspondence_Lib.Vec.Lemmas.normalize_v_map", - "typing_FStar.Seq.Base.append", - "typing_Lib.Sequence.Lemmas.map_blocks_acc" - ], - 0, - "e6726ad280a8f6974cbc045f81c4b2a4" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec_equiv_pre", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "82071dedbe47e9df20d536d4b7f95587" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "8e2baa16fc9a1098a9ecc0cf38a6ed92" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Sequence.Lemmas_interpretation_Tm_arrow_9dbede814c7e09cf989d879ebca4b33a", - "Lib.Sequence_interpretation_Tm_arrow_d3b9c37343cabe37d3e11c0a1cafa7da", - "Lib.Sequence_interpretation_Tm_arrow_efd714987712642bce73b6a439af3d22", - "Lib.Sequence_interpretation_Tm_arrow_f67e6b48b3d5d38ee7701f3b137f9030", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_118c184bc6b09ad53ce4ad8d5a429a26", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_c38a40c75e862a598ad8a42d5d6e0b77", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_e8b984cc954d1a93c0670e47bfd79ffd", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.map_blocks_a", - "equation_Lib.Sequence.seq", - "equation_Lib.Vec.Lemmas.normalize_v_map", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_135aa34345be03950a1f68856adc9696", - "refinement_interpretation_Tm_refine_1f6c16a51cd4ba3256b95ca590c832c5", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_609674d96c81c962549b0076055bf213", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7af7abfd9fa791df66706ab563886df2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_8710a3dcbb7aeecb1da33ddf8070b919", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dee0f34b44c44e6d512c6db0858b92ef", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29", - "refinement_interpretation_Tm_refine_f4f040c0afc8e02646bd007fb369c803", - "typing_FStar.Seq.Base.empty", "typing_Lib.Sequence.map_blocks" - ], - 0, - "a0a46f93eee272cd57c1cb8c03985939" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "f4fff7f2d545fba65202ce871ed717d8" - ] - ] -] \ No newline at end of file diff --git a/tests/hacl/Lib.Vec.Lemmas.fsti.hints b/tests/hacl/Lib.Vec.Lemmas.fsti.hints deleted file mode 100644 index 1a14f93e833..00000000000 --- a/tests/hacl/Lib.Vec.Lemmas.fsti.hints +++ /dev/null @@ -1,400 +0,0 @@ -[ - "3¼¬Ò\u0012ï,a³÷³Øðº\u0016", - [ - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f77474ede8199333d3f4de9c694b4b9", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "915a26aa0b687e3d78e5b55805ab6843" - ], - [ - "Lib.Vec.Lemmas.lemma_repeati_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "01d66afb32281becddd7b3ad1e0cdd9c" - ], - [ - "Lib.Vec.Lemmas.len_is_w_n_blocksize", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "922d20277a2d9ca4d3a0afb377836a92" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Lib.Sequence.seq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "typing_FStar.Seq.Base.length", "typing_Prims.pow2" - ], - 0, - "ded8bfae299cc42645e77e8710363b8e" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "06af2a183e1ed8103496360ee9a0ce1c" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "13465f3c71199f280cb918a4ae73347e" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "ca0f70c5a01dd661dbe7748c83aa1e0d" - ], - [ - "Lib.Vec.Lemmas.repeat_gen_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "b5047f10df0dfa0fd11c4a887afe3504" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_gen_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1140254f0add9ac82e3c74c399912e35", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "2b582a2fb4a6fc1ab8bba086a3a1cccf" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_multi_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42" - ], - 0, - "d0ad5efb137438a70ec8fca67e852e40" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_multi_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "14c407c935778615692ae73bc856717e" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e90c2c89afe31ba2752cabd31cd7f6e7" - ], - 0, - "d916e9bbb0a12a89d2656835019facde" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_vec_equiv_pre", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "af4ee09af668ec4f28adb4a9d40dea40" - ], - [ - "Lib.Vec.Lemmas.repeat_blocks_vec_equiv_pre", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "08ea99eb2d2ceb719a98fa6a0e4f643a" - ], - [ - "Lib.Vec.Lemmas.lemma_repeat_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "8c855a2e999057849e0f4590a41b5e7a" - ], - [ - "Lib.Vec.Lemmas.lemma_f_map_ind", - 1, - 0, - 0, - [ "@query" ], - 0, - "93a09866e0daa85d8cf4913d50b822a8" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Lib.Vec.Lemmas_interpretation_Tm_arrow_6ee4cce4172b405aefb288f98b829040", - "equation_Lib.Sequence.length", "equation_Lib.Sequence.lseq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0d5d3c38400eadf55263b743de2c168b", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "a5414c36fc3e66d3b8658e4f588747db" - ], - [ - "Lib.Vec.Lemmas.map_blocks_multi_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cabeb06bfe6f3555ac1012d1bc928a14" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_multi_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34544e76bec95b90d561cc178295d795", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Lib.Sequence.length" - ], - 0, - "1d5f0fd9cb3fd1ebc38a00df23ac7995" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre_k", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Lib.Sequence.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d8d83307254a8900dd20598654272e42", - "refinement_interpretation_Tm_refine_e37a8a81b6e72b6dae52414929365d29" - ], - 0, - "b28641fa0e786e57613cb72bb82ec6f4" - ], - [ - "Lib.Vec.Lemmas.map_blocks_vec_equiv_pre_k", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dc5b17800de5f1c659b67ebb69c6bf50" - ], - [ - "Lib.Vec.Lemmas.lemma_map_blocks_vec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Lib.Sequence.length", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3481cd680b4085d38b991b22047bd771", - "refinement_interpretation_Tm_refine_4e46b18e6de7fd724da2ef45eb7b3ba2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Lib.Sequence.length" - ], - 0, - "30f39eba22ea01dc723d6caf8249ec36" - ] - ] -] \ No newline at end of file diff --git a/tests/ide/emacs/FStarMode_GH73.ideout.expected b/tests/ide/emacs/FStarMode_GH73.ideout.expected index ee934ccefff..7a3248d351d 100644 --- a/tests/ide/emacs/FStarMode_GH73.ideout.expected +++ b/tests/ide/emacs/FStarMode_GH73.ideout.expected @@ -3,5 +3,5 @@ {"kind": "response", "query-id": "2", "response": [{"level": "error", "message": "- Expected expression of type int got expression \"A\" of type string\n", "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\n", "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": {"beg": [121, 12], "end": [121, 16], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "5"} -{"kind": "response", "query-id": "5", "response": [{"level": "error", "message": "- Tactic failed\n- 'exact' failed\n- Term 1 of type int does not exactly solve the goal bool\n- See also FStar.Tactics.V2.Derived.fst(121,12-121,16)\n", "number": 228, "ranges": [{"beg": [4, 14], "end": [4, 29], "fname": ""}, {"beg": [121, 12], "end": [121, 16], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} +{"contents": {"depth": 1, "goals": [{"goal": {"label": "", "type": "bool", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": {"beg": [128, 12], "end": [128, 16], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "5"} +{"kind": "response", "query-id": "5", "response": [{"level": "error", "message": "- Tactic failed\n- 'exact' failed\n- Term 1 of type int does not exactly solve the goal bool\n- See also FStar.Tactics.V2.Derived.fst(128,12-128,16)\n", "number": 228, "ranges": [{"beg": [4, 14], "end": [4, 29], "fname": ""}, {"beg": [128, 12], "end": [128, 16], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} diff --git a/tests/ide/emacs/FailRange.ideout.expected b/tests/ide/emacs/FailRange.ideout.expected index be84020522c..22141684072 100644 --- a/tests/ide/emacs/FailRange.ideout.expected +++ b/tests/ide/emacs/FailRange.ideout.expected @@ -1,14 +1,14 @@ {"kind": "protocol-info", "rest": "[...]"} {"kind": "response", "query-id": "1", "response": [], "status": "success"} -{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": []}, {"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": {"beg": [6, 25], "end": [6, 33], "fname": ""}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "2"} -{"kind": "response", "query-id": "2", "response": [{"level": "error", "message": "- Tactic failed\n- A\n- See also (6,25-6,33)\n", "number": 228, "ranges": [{"beg": [5, 2], "end": [5, 18], "fname": ""}, {"beg": [6, 25], "end": [6, 33], "fname": ""}]}], "status": "failure"} +{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": []}, {"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "2"} +{"kind": "response", "query-id": "2", "response": [{"level": "error", "message": "- Tactic failed\n- A\n- See also FStar.Tactics.V2.Derived.fst(75,4-75,35)\n", "number": 228, "ranges": [{"beg": [5, 2], "end": [5, 18], "fname": ""}, {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "3", "response": [], "status": "success"} -{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}, {"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}], "label": "at the time of failure", "location": {"beg": [10, 25], "end": [10, 33], "fname": ""}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "4"} -{"kind": "response", "query-id": "4", "response": [{"level": "error", "message": "- Tactic failed\n- B\n- See also (10,25-10,33)\n", "number": 228, "ranges": [{"beg": [9, 2], "end": [9, 18], "fname": ""}, {"beg": [10, 25], "end": [10, 33], "fname": ""}]}], "status": "failure"} +{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}, {"goal": {"label": "", "type": "squash l_True", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}], "label": "at the time of failure", "location": {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "4"} +{"kind": "response", "query-id": "4", "response": [{"level": "error", "message": "- Tactic failed\n- B\n- See also FStar.Tactics.V2.Derived.fst(75,4-75,35)\n", "number": 228, "ranges": [{"beg": [9, 2], "end": [9, 18], "fname": ""}, {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "5", "response": [], "status": "success"} -{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash (l_True /\\ l_True)", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": {"beg": [13, 2], "end": [13, 18], "fname": ""}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "6"} -{"kind": "response", "query-id": "6", "response": [{"level": "error", "message": "- Tactic failed\n- C\n", "number": 228, "ranges": [{"beg": [13, 2], "end": [13, 18], "fname": ""}]}], "status": "failure"} +{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash (l_True /\\ l_True)", "witness": "(*?u[...]*) _"}, "hyps": []}], "label": "at the time of failure", "location": {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "6"} +{"kind": "response", "query-id": "6", "response": [{"level": "error", "message": "- Tactic failed\n- C\n- See also FStar.Tactics.V2.Derived.fst(75,4-75,35)\n", "number": 228, "ranges": [{"beg": [13, 2], "end": [13, 18], "fname": ""}, {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "7", "response": [], "status": "success"} -{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash (l_True /\\ l_True)", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}], "label": "at the time of failure", "location": {"beg": [17, 2], "end": [17, 18], "fname": ""}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "8"} -{"kind": "response", "query-id": "8", "response": [{"level": "error", "message": "- Tactic failed\n- D\n", "number": 228, "ranges": [{"beg": [17, 2], "end": [17, 18], "fname": ""}]}], "status": "failure"} +{"contents": {"depth": 0, "goals": [{"goal": {"label": "", "type": "squash (l_True /\\ l_True)", "witness": "(*?u[...]*) _"}, "hyps": [{"name": "uu___", "type": "unit"}]}], "label": "at the time of failure", "location": {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}, "smt-goals": [], "urgency": 1}, "kind": "message", "level": "proof-state", "query-id": "8"} +{"kind": "response", "query-id": "8", "response": [{"level": "error", "message": "- Tactic failed\n- D\n- See also FStar.Tactics.V2.Derived.fst(75,4-75,35)\n", "number": 228, "ranges": [{"beg": [17, 2], "end": [17, 18], "fname": ""}, {"beg": [75, 4], "end": [75, 35], "fname": "FStar.Tactics.V2.Derived.fst"}]}], "status": "failure"} {"kind": "response", "query-id": "9", "response": [], "status": "success"} diff --git a/tests/ide/test-incremental.py b/tests/ide/test-incremental.py index 31b6a4ea44c..7716ab92af1 100644 --- a/tests/ide/test-incremental.py +++ b/tests/ide/test-incremental.py @@ -101,6 +101,8 @@ def check_one_fragment(file_lines, json_objects, from_line): # A function to validate the response from F* interactive mode def validate_response(response, file_contents): file_lines = file_contents.splitlines() + # print(f"Validating response") + # print(f"Response: {response}") # parse the each line of the response into a JSON object # if the line is not valid JSON, print an error message and exit # store the JSON objects in a list @@ -253,7 +255,7 @@ def test_file(filepath): # print the request to the console for debugging # print(request) # Run fstar on the file with the request as stdin - p = subprocess.run([fstar, "--admit_smt_queries", "true", "--ide", file], input=request, encoding="utf-8", stdout=subprocess.PIPE, stderr=subprocess.PIPE) + p = subprocess.run([fstar, "--z3version", "4.13.3", "--admit_smt_queries", "true", "--ide", file], input=request, encoding="utf-8", stdout=subprocess.PIPE, stderr=subprocess.PIPE) # Read the response from stdout response = p.stdout # Print the response to the console for debugging diff --git a/tests/incl/Makefile b/tests/incl/Makefile index 64650b053ec..07e8d5e2aac 100644 --- a/tests/incl/Makefile +++ b/tests/incl/Makefile @@ -1,7 +1,7 @@ # Test the 'include' functionality # Do not warn about missing checked files in these tests. -OTHERFLAGS += --warn_error -241 +OTHERFLAGS += --warn_error -241 --z3version 4.13.3 POSTESTS=$(wildcard *.pos) POSTARGETS=$(addsuffix .pver,$(POSTESTS)) diff --git a/tests/incl/field.pos/Test.fst.hints b/tests/incl/field.pos/Test.fst.hints deleted file mode 100644 index 72b1e7e95d6..00000000000 --- a/tests/incl/field.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "î¼M¥un(GÆ\u0006%ÁtÞiÈ", [] ] \ No newline at end of file diff --git a/tests/incl/noshadow.pos/Test.fst.hints b/tests/incl/noshadow.pos/Test.fst.hints deleted file mode 100644 index 80fa62022b7..00000000000 --- a/tests/incl/noshadow.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "r®\rzÏ:\u0015¸²<ë6lBr¥", [] ] \ No newline at end of file diff --git a/tests/incl/open.pos/Test.fst.hints b/tests/incl/open.pos/Test.fst.hints deleted file mode 100644 index 162545bf22f..00000000000 --- a/tests/incl/open.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "*ù%¨\u000f¹¾²/»w@†Ì®", [] ] \ No newline at end of file diff --git a/tests/incl/plain.pos/Test.fst.hints b/tests/incl/plain.pos/Test.fst.hints deleted file mode 100644 index 6ce5304e207..00000000000 --- a/tests/incl/plain.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "T`\u001aÙ½çv oORA¿é\"", [] ] \ No newline at end of file diff --git a/tests/incl/private.pos/Test.fst.hints b/tests/incl/private.pos/Test.fst.hints deleted file mode 100644 index 80fa62022b7..00000000000 --- a/tests/incl/private.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "r®\rzÏ:\u0015¸²<ë6lBr¥", [] ] \ No newline at end of file diff --git a/tests/incl/shadow.pos/Test.fst.hints b/tests/incl/shadow.pos/Test.fst.hints deleted file mode 100644 index 5ddd57b5c40..00000000000 --- a/tests/incl/shadow.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "-HÞz”‡l\u0014Ë*ÍõJXq", [] ] \ No newline at end of file diff --git a/tests/incl/trans.pos/Test.fst.hints b/tests/incl/trans.pos/Test.fst.hints deleted file mode 100644 index 6e76d5d9620..00000000000 --- a/tests/incl/trans.pos/Test.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "›/ýˆEÕ¨\u0018nî§\u0005=Ù<(", [] ] \ No newline at end of file diff --git a/tests/machine_integers/BigList.fst.hints b/tests/machine_integers/BigList.fst.hints deleted file mode 100644 index 5aca77a7d2f..00000000000 --- a/tests/machine_integers/BigList.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ ">Ý\nTr>¼ÿË‘;3š×", [] ] \ No newline at end of file diff --git a/tests/machine_integers/Test01.fst.hints b/tests/machine_integers/Test01.fst.hints deleted file mode 100644 index b137543e8f5..00000000000 --- a/tests/machine_integers/Test01.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÄóŸ,\u0011z0Ð\u0016àz÷EÊ~ù", [] ] \ No newline at end of file diff --git a/tests/machine_integers/Test02.fst.hints b/tests/machine_integers/Test02.fst.hints deleted file mode 100644 index d9c9ceef370..00000000000 --- a/tests/machine_integers/Test02.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "™þ×|½ØÍŒ¤“S àµ—\u0013", [] ] \ No newline at end of file diff --git a/tests/machine_integers/Test03.fst.hints b/tests/machine_integers/Test03.fst.hints deleted file mode 100644 index 2e9b711af7d..00000000000 --- a/tests/machine_integers/Test03.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ßø¨‚ÞëFà-P\u000e*†1˺", [] ] \ No newline at end of file diff --git a/tests/machine_integers/TestCasts.fst.hints b/tests/machine_integers/TestCasts.fst.hints deleted file mode 100644 index 84736ddec33..00000000000 --- a/tests/machine_integers/TestCasts.fst.hints +++ /dev/null @@ -1,49 +0,0 @@ -[ - "d5áá…~³Ío]øÝ\r)õ\b", - [ - [ - "TestCasts.main", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3cf334ef18b786b10503183e1612e31a", - "refinement_interpretation_Tm_refine_48f9ac257d29128f5b2e6782f5287af5", - "refinement_interpretation_Tm_refine_522ab1248dd490260a473b54207b5088", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_da74c01342e00742523519bc745a6a15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.fits", "typing_FStar.Int.max_int", - "typing_FStar.Int32.v", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "8e8674f6c4787076eda60f38612d8697" - ] - ] -] \ No newline at end of file diff --git a/tests/machine_integers/TestChar.fst.hints b/tests/machine_integers/TestChar.fst.hints deleted file mode 100644 index 53efd5c3a47..00000000000 --- a/tests/machine_integers/TestChar.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¡G\tyŠ1\u0000qí\u001b¨{^\u0005Ú", [] ] \ No newline at end of file diff --git a/tests/machine_integers/TestPrint.fst.hints b/tests/machine_integers/TestPrint.fst.hints deleted file mode 100644 index c5c68959768..00000000000 --- a/tests/machine_integers/TestPrint.fst.hints +++ /dev/null @@ -1,121 +0,0 @@ -[ - "~¢a\u0005›0\u0002,Ò`V©~72\u0017", - [ - [ - "TestPrint.test_hex", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" - ], - 0, - "e36bca71f6ff00f15ec1e0b9291d0033" - ], - [ - "TestPrint.test_dec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" - ], - 0, - "352a5960fbc76a0e4a43adcbb98b1c54" - ], - [ - "TestPrint.test_hex_pad", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" - ], - 0, - "9dfac841d5f24aee4fda10007ce81955" - ], - [ - "TestPrint.test_dec_pad", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_Prims.pow2", "unit_typing" - ], - 0, - "736fa433ce2e432ef2a9469d6a79bf9a" - ] - ] -] \ No newline at end of file diff --git a/tests/machine_integers/TestShift.fst.hints b/tests/machine_integers/TestShift.fst.hints deleted file mode 100644 index e99228b47d4..00000000000 --- a/tests/machine_integers/TestShift.fst.hints +++ /dev/null @@ -1,231 +0,0 @@ -[ - "\nÜ>D¥+3\u001ch]Àc\u0010Ò1»", - [ - [ - "TestShift.test_u32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "e4db74f60957546425581eb77d2bbca7" - ], - [ - "TestShift.test_u8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "9096b1391071a9e80a161f15cbc662d6" - ], - [ - "TestShift.test_i32_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "125dd428b990afecde102ada1bf1ed6b" - ], - [ - "TestShift.test_i32_arith_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "303e3007d15a3931e11906c6aa339ee9" - ], - [ - "TestShift.test_i8_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "19567733416600096379b5bdeb6de2fb" - ], - [ - "TestShift.test_i8_arith_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.result", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "533f3581ffcceac6b1af5b1880ca3760" - ], - [ - "TestShift.test_i8_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.result", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.index_to_vec_ones", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.shift_left_vec", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Int8.v", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool", "typing_Prims.pow2", "unit_typing" - ], - 0, - "af6ac256d2d0a283e6fce332590aabd4" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/AdmitTermination.fst.hints b/tests/micro-benchmarks/AdmitTermination.fst.hints deleted file mode 100644 index 1261ca4a745..00000000000 --- a/tests/micro-benchmarks/AdmitTermination.fst.hints +++ /dev/null @@ -1,24 +0,0 @@ -[ - "ž†·ï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, - "71ff44b07f332156a9809c689b75a7d1" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/AnotType.fst.hints b/tests/micro-benchmarks/AnotType.fst.hints deleted file mode 100644 index a0ae44de44b..00000000000 --- a/tests/micro-benchmarks/AnotType.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u000bŸ{*Æù4-Bò\u0010OÛ­@g", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints b/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints deleted file mode 100644 index 05da02404bf..00000000000 --- a/tests/micro-benchmarks/ApplicationUnparenthesisedRecord.fst.hints +++ /dev/null @@ -1,63 +0,0 @@ -[ - "‰´]\u0013º&¾ooÂ=\u0019VJjÛ", - [ - [ - "ApplicationUnparenthesisedRecord.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "function_token_typing_ApplicationUnparenthesisedRecord.ffalse", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "613d5b6d32d5f01bbd278b097fb429e1" - ], - [ - "ApplicationUnparenthesisedRecord.dummy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_ApplicationUnparenthesisedRecord.ffalse", - "equation_ApplicationUnparenthesisedRecord.g", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_ApplicationUnparenthesisedRecord.ffalse", - "token_correspondence_ApplicationUnparenthesisedRecord.g", - "typing_Prims.int", "typing_Prims.unit" - ], - 0, - "336c8a36ca2e1d002e492eff3a20bdb0" - ], - [ - "ApplicationUnparenthesisedRecord.__proj__Dummy1__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0b229cbc08acae1b512b29a2f6d0055c" - ], - 0, - "e24d84711c0ec61ca97adc9fb02c2566" - ], - [ - "ApplicationUnparenthesisedRecord.__proj__Dummy2__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d8ed3af48177a080d818093bdc46ca2" - ], - 0, - "8da2b315bc7482c6e27d68b90407d7ba" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/ArgsAndQuals.fst.hints b/tests/micro-benchmarks/ArgsAndQuals.fst.hints deleted file mode 100644 index 21c4a240931..00000000000 --- a/tests/micro-benchmarks/ArgsAndQuals.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¤`\u00133䉹\u0004TyíN,Gš&", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Arith.fst.hints b/tests/micro-benchmarks/Arith.fst.hints deleted file mode 100644 index ab9574c3d5b..00000000000 --- a/tests/micro-benchmarks/Arith.fst.hints +++ /dev/null @@ -1,112 +0,0 @@ -[ - "ô„\u0013© 8„\u0004»½ç&ËÉt", - [ - [ - "Arith.test1", - 1, - 2, - 1, - [ "@query" ], - 0, - "d30c82fc871c7918918f6194cdc96030" - ], - [ - "Arith.test2", - 1, - 2, - 1, - [ "@query" ], - 0, - "e0dabeaaa158b7c08db7f62f583a0a0a" - ], - [ - "Arith.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "665cbd818059264d557c4e79e22e53de" - ], - [ - "Arith.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7de3a9b85b1cfbe0e2025d9a1cd8f5d4" - ], - [ - "Arith.test5", - 1, - 2, - 1, - [ "@query" ], - 0, - "64616a3f216a404f806ff73c2300966b" - ], - [ - "Arith.test6", - 1, - 2, - 1, - [ "@query" ], - 0, - "eb17bdfdd7932ecb12aeb5225e38b09d" - ], - [ - "Arith.test7", - 1, - 2, - 1, - [ "@query" ], - 0, - "e57cb5403e836996f2653723179a8ac4" - ], - [ - "Arith.test8", - 1, - 2, - 1, - [ "@query" ], - 0, - "ada69bd4e63e5862425a457115e192c8" - ], - [ - "Arith.test9", - 1, - 2, - 1, - [ "@query" ], - 0, - "d14e3f2e0b232d31c829b3bf9b1d05d0" - ], - [ - "Arith.test10", - 1, - 2, - 1, - [ "@query" ], - 0, - "388fbbb7e4490d9aae6db9f06a80f64c" - ], - [ - "Arith.test11", - 1, - 2, - 1, - [ "@query" ], - 0, - "558565a2d6b86450eba8cc199fed59c4" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/AssumeRequires.fst.hints b/tests/micro-benchmarks/AssumeRequires.fst.hints deleted file mode 100644 index 127e7a2035f..00000000000 --- a/tests/micro-benchmarks/AssumeRequires.fst.hints +++ /dev/null @@ -1,216 +0,0 @@ -[ - "Õ倅ùH;K[tYíæ–!i", - [ - [ - "AssumeRequires.well_typed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_171102353e1b083f2928c7db4f12f64d" - ], - 0, - "d4e2e41dcf18f9872c36635db4fe381b" - ], - [ - "AssumeRequires.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" - ], - 0, - "ed72d838af8a7f1d8bc80ecf34a7bba3" - ], - [ - "AssumeRequires.get", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "b800a45259a8d023ada3d6ecd4cc9b8a" - ], - [ - "AssumeRequires.get_div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" - ], - 0, - "cf9a6e6188ff11665684f68402667e31" - ], - [ - "AssumeRequires.get_div", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" - ], - 0, - "aadd823952efc8c873dfeb04387fed55" - ], - [ - "AssumeRequires.lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e6c36d322f3bed2f8308ef1c57cdadba" - ], - [ - "AssumeRequires.lem", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", "unit_inversion", "unit_typing" - ], - 0, - "fa899fa7bd99bdf194e877488590069e" - ], - [ - "AssumeRequires.get_ghost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_144a6a0ab6d16765be3cfaffe72cbb4b" - ], - 0, - "f4ff0014ccabf60dc77161abad487b44" - ], - [ - "AssumeRequires.get_ghost", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "7216b65214d277d536074d28bdbac909" - ], - [ - "AssumeRequires.get_exn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1aa4ddd9449a841d91645885e773d708" - ], - 0, - "bbb7d2026024ec6534ffeb3065ffeca6" - ], - [ - "AssumeRequires.get_exn", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.V@tok", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "367b062696e2a00758a52d427e8c2997" - ], - [ - "AssumeRequires.get_st", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" - ], - 0, - "56a719c44e3242a4b161c0e843180a69" - ], - [ - "AssumeRequires.get_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_8cfe70f96f95e8856e5cb7b580b983ec" - ], - 0, - "82f19211feb7434c2d771ff480069c80" - ], - [ - "AssumeRequires.get_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" - ], - 0, - "f593845e5055b774e98e118335e25a52" - ], - [ - "AssumeRequires.get_all", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.V@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_7d6cce771b4c73ce62cb5d6b4190154a" - ], - 0, - "4f354f8a17cb8580d544eda1769a8f45" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/B2T.fst.hints b/tests/micro-benchmarks/B2T.fst.hints deleted file mode 100644 index fe91c76394e..00000000000 --- a/tests/micro-benchmarks/B2T.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÁK<‚\fà¥r\u000f›oR¿\u0006‰", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/BinderAttributes.fst.hints b/tests/micro-benchmarks/BinderAttributes.fst.hints deleted file mode 100644 index 0ad418c6ae4..00000000000 --- a/tests/micro-benchmarks/BinderAttributes.fst.hints +++ /dev/null @@ -1,177 +0,0 @@ -[ - "\u0001Ì\u0017Æ­jó8X¢UûM%„N", - [ - [ - "BinderAttributes.default_to", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "2af0ceb7c0445675365233a55e209d1f" - ], - [ - "BinderAttributes.__proj__CaseExplicit__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_60ef107c0227f3c34cf1307c7bdc6d9c" - ], - 0, - "43ae5dc367d7720f1ed3ed62284b637a" - ], - [ - "BinderAttributes.__proj__CaseExplicit__item__y", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_60ef107c0227f3c34cf1307c7bdc6d9c" - ], - 0, - "46854baf48b4ac86c3425b1c250a0e47" - ], - [ - "BinderAttributes.__proj__CaseImplicit__item__x_imp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1d135bf3fcf01e9aa9a9fd681ddfec7c" - ], - 0, - "ad115bc31058bff254a29a5ceb5f691e" - ], - [ - "BinderAttributes.__proj__CaseImplicit__item__y_imp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1d135bf3fcf01e9aa9a9fd681ddfec7c" - ], - 0, - "05640a4a1742a93698887084fe3fded0" - ], - [ - "BinderAttributes.__proj__CaseMixed__item__x_imp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c114473de672804c71661e081801a98" - ], - 0, - "9eaec1f9b7f7d06f15eb232324dfe878" - ], - [ - "BinderAttributes.__proj__CaseMixed__item__y", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c114473de672804c71661e081801a98" - ], - 0, - "f8f4cc42f40fd09ae3c718a2092d1f52" - ], - [ - "BinderAttributes.binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "caa68fd67ea679a5f82b0d376bd2ff0b" - ], - [ - "BinderAttributes.binders_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2ee04d71b86a840c356a4661485b3e9b_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_BinderAttributes.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "b534bf01b2a16808bc89d78a35569a0b" - ], - [ - "BinderAttributes.binder_from_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Equality", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.aqualv", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing" - ], - 0, - "0c98249d142de98b3b055094a7bba3d5" - ], - [ - "BinderAttributes.binders_from_term", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Stubs.Reflection.Types.name", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ" - ], - 0, - "dbd3a0411bd8b1a37343bf67b64a857a" - ], - [ - "BinderAttributes.compare_binders", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "0f943d53e4461bf26c7c657f7afcbf94" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/BoxBitVec.fst.hints b/tests/micro-benchmarks/BoxBitVec.fst.hints deleted file mode 100644 index 36d274946e2..00000000000 --- a/tests/micro-benchmarks/BoxBitVec.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "è²\u0011ËÔPTh°!áF³¯\"Õ", - [ - [ - "BoxBitVec.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "229e74971359d46deaf24bcad6c036a6" - ], - [ - "BoxBitVec.bv_trivial", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_inversion_for_BoxBitVec3" - ], - 0, - "3d52fc7e8d02e0386225de27e83b9eae" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/BvBinaryOps.fst.hints b/tests/micro-benchmarks/BvBinaryOps.fst.hints deleted file mode 100644 index 6f322912483..00000000000 --- a/tests/micro-benchmarks/BvBinaryOps.fst.hints +++ /dev/null @@ -1,333 +0,0 @@ -[ - "ÝÓ¢}\u000exk4‚#Û·\u001c\u001c\u000eå", - [ - [ - "BvBinaryOps.lemma_test_bv8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5ab429d5ff286ec1090bf2f0a6bf9cf2" - ], - [ - "BvBinaryOps.lemma_test_bv8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "1e4f06f44954b2ce806ab82bdb6a6383" - ], - [ - "BvBinaryOps.lemma_test_bv8", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "typing_Prims.pow2" - ], - 0, - "11283145686ad4cd8d33c34d61cbef84" - ], - [ - "BvBinaryOps.lemma_test_bv8", - 4, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBitVec8_proj_0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_172ec0d76e280c4603c9aeacf6ba805f", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_784fc4b71ce652222f6b11a4b2c35f2f", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_inversion_for_BoxBitVec8" - ], - 0, - "5bdf982aed7e457dcb69b9605c626216" - ], - [ - "BvBinaryOps.lemma_test_bv8'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9a6c26682cf6597f052c20a608e5546a" - ], - [ - "BvBinaryOps.lemma_test_bv8'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "typing_Prims.pow2" - ], - 0, - "7addd860272d9868c7a7451e16652832" - ], - [ - "BvBinaryOps.lemma_test_bv8'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBitVec8_proj_0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_172ec0d76e280c4603c9aeacf6ba805f", - "refinement_interpretation_Tm_refine_cee522ccc5b738ce1f16e548fc055f27", - "typing_inversion_for_BoxBitVec8" - ], - 0, - "9be91e80e568196dae6e133c2d6edebb" - ], - [ - "BvBinaryOps.lemma_test_bv64'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "30b757c7abff27251e06151d98019bbe" - ], - [ - "BvBinaryOps.lemma_test_bv64'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "typing_Prims.pow2" - ], - 0, - "fc5e1f157e3725c1c85e5280fcdf0929" - ], - [ - "BvBinaryOps.lemma_test_bv64'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBitVec64_proj_0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_40a7214990bf46092c4689539717aaa5", - "refinement_interpretation_Tm_refine_9cd9e76d84facf12889e4fb66ee9da43", - "typing_inversion_for_BoxBitVec64" - ], - 0, - "701a43fdeb835e285bd44bcfc4fdf758" - ], - [ - "BvBinaryOps.lemma_test_bvdiv_unsafe", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "77d8d32c90cc4df8dc7b89243334b812" - ], - [ - "BvBinaryOps.lemma_test_bvdiv_unsafe", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a37e3ce7607bea0e03337db2b5fbd650" - ], - [ - "BvBinaryOps.lemma_test_bvdiv_unsafe", - 3, - 2, - 1, - [ "@query" ], - 0, - "3e7ae2222cc33a41c4225d34ea8adcd2" - ], - [ - "BvBinaryOps.lemma_test_bvmod_unsafe", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "433e67e4ac67c16c8b392da10e42aba9" - ], - [ - "BvBinaryOps.lemma_test_bvmod_unsafe", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "93d57e2a8eb5e401a55710cc34db04a9" - ], - [ - "BvBinaryOps.lemma_test_bvmod_unsafe", - 3, - 2, - 1, - [ "@query" ], - 0, - "d264a5daf51abfcfaac53fe75dced4b5" - ], - [ - "BvBinaryOps.lemma_test_bvmul'", - 1, - 2, - 1, - [ "@query" ], - 0, - "3d468cfd556b9ae43ed7c487108352d6" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/ChrisCheck.fst.hints b/tests/micro-benchmarks/ChrisCheck.fst.hints deleted file mode 100644 index 56128fe74fe..00000000000 --- a/tests/micro-benchmarks/ChrisCheck.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "I½\u0000@,}‚t™ÈÖ\u0013,\u007fC1", - [ - [ - "DoNotation.add", - 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, - "2858fdc288f13511a62c5d4baaa1df88" - ], - [ - "DoNotation.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Prims.unit" - ], - 0, - "7171fec357ea9606a520de62f51ecd7f" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Effects.Coherence.fst.hints b/tests/micro-benchmarks/Effects.Coherence.fst.hints deleted file mode 100644 index c90f0a8f7f4..00000000000 --- a/tests/micro-benchmarks/Effects.Coherence.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "½]% >¾ÑV\b\u00018ÊY\u0012ý\u000f", - [ - [ - "Effects.Coherence.lift_pure_m", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Effects.Coherence_interpretation_Tm_arrow_5e4e9f287949dad2b3ef5d3bb2a2719b", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Effects.Coherence.repr", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_c8bcd87a36e1b7812cd6621acead3597", - "l_imp-interp", "l_quant_interp_039efd5ab7620f921988b9dd572aa966", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_c8bcd87a36e1b7812cd6621acead3597" - ], - 0, - "12e73e4f9d699ea6d4fc0542a53ecea7" - ], - [ - "Effects.Coherence.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "375728cf6b5435a76d938f3c1dedbec2" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/EqualityAscriptions.fst.hints b/tests/micro-benchmarks/EqualityAscriptions.fst.hints deleted file mode 100644 index 4b73dcecd40..00000000000 --- a/tests/micro-benchmarks/EqualityAscriptions.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "”Ý\u0012«2|¼\u0018\bnÙ°TàÕ¡", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Erasable.fst.hints b/tests/micro-benchmarks/Erasable.fst.hints deleted file mode 100644 index 0adf78cdb11..00000000000 --- a/tests/micro-benchmarks/Erasable.fst.hints +++ /dev/null @@ -1,203 +0,0 @@ -[ - "mXÄK\u0006\u0006X—9çDIõˆž–", - [ - [ - "Erasable.__proj__This__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c192a2edf78cec4f1eb553cb69a4e8f" - ], - 0, - "94f8a375a677b203450d8646d35123a7" - ], - [ - "Erasable.__proj__That__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ec597d6979f8847712206596e24a9e2d" - ], - 0, - "6e52cbd3d2977cdd0db7d09f100dcd2a" - ], - [ - "Erasable.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Erasable.That", - "disc_equation_Erasable.This", "fuel_guarded_inversion_Erasable.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "46ed3ad689e63c426fe3e429a815ac18" - ], - [ - "Erasable.test_promotion", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Erasable.That", - "disc_equation_Erasable.This", "fuel_guarded_inversion_Erasable.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b9f9543d66414b297856a2ed9e1100e4" - ], - [ - "Erasable.lift_PURE_MPURE_error", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Erasable_interpretation_Tm_arrow_0cf4fc1ec27c2dcb8689b118f0de6c27", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Erasable.repr", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_quant_interp_7c69ca6698322f9b99e9acd6b16e8029", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "675d55d239249e4eb43b42b84a1ae9c9" - ], - [ - "Erasable.lift_GHOST_MPURE", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Erasable_interpretation_Tm_arrow_0cf4fc1ec27c2dcb8689b118f0de6c27", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Erasable.repr", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_quant_interp_7c69ca6698322f9b99e9acd6b16e8029", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "d93431d9101aa771d15864da7cebad2d" - ], - [ - "Erasable.lift_PURE_MPURE", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Erasable_interpretation_Tm_arrow_0cf4fc1ec27c2dcb8689b118f0de6c27", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Erasable.repr", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_quant_interp_7c69ca6698322f9b99e9acd6b16e8029", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_53b0b37e3c85591170c0d0758f945205", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "c74a2fa1af308c5f9b61aa9e1e49092d" - ], - [ - "Erasable.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "72f68b684f0f36a13f8ac773973aec3c" - ], - [ - "Erasable.0", - 2, - 2, - 1, - [ "@query" ], - 0, - "22d65086ee222114ebafefee4025516f" - ], - [ - "Erasable.eff_test5", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "6200b16710767e2f35d79d8b09eb9220" - ], - [ - "Erasable.eff_test6", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "a8f5be356a1913e1596757455e267d47" - ], - [ - "Erasable.bind_PURE_M1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_1e18cf588f72c8bd512ac55232542602", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "l_imp-interp", "l_quant_interp_d14b391cfa1cddfb379f27ab6cb95be2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_1e18cf588f72c8bd512ac55232542602", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53" - ], - 0, - "951f034089052f6c55f934de69f8ec4b" - ], - [ - "Erasable.0", - 3, - 2, - 1, - [ "@query" ], - 0, - "e86ec61c3431d7f913c805434f039f32" - ], - [ - "Erasable.0", - 4, - 2, - 1, - [ "@query" ], - 0, - "44d3e7b9cfdee123e3c745654515f761" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/ExpectFailure.fst.hints b/tests/micro-benchmarks/ExpectFailure.fst.hints deleted file mode 100644 index 64e7a2236f2..00000000000 --- a/tests/micro-benchmarks/ExpectFailure.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "N7x\u0013H¥“€ñ07<ÑÝîÐ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Ext.fst.hints b/tests/micro-benchmarks/Ext.fst.hints deleted file mode 100644 index d4375ede2d4..00000000000 --- a/tests/micro-benchmarks/Ext.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "­ÿ„\b«\u001benÉ›{\n%\u001fæ\u0005", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints b/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints deleted file mode 100644 index bc408679c7f..00000000000 --- a/tests/micro-benchmarks/ExtractMutRecTypesAndTerms.fst.hints +++ /dev/null @@ -1,21 +0,0 @@ -[ - "JJ¤9\u0007‡\u001cL\u001dß8Þ%\tÁ/", - [ - [ - "ExtractMutRecTypesAndTerms.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ba2766a511211b53fc6dd8d82d777075" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/FirstProofs.fst.hints b/tests/micro-benchmarks/FirstProofs.fst.hints deleted file mode 100644 index f6e8dcd81d9..00000000000 --- a/tests/micro-benchmarks/FirstProofs.fst.hints +++ /dev/null @@ -1,137 +0,0 @@ -[ - "‚9øå5\u0017ê›Ëìè,Mµ4Ô", - [ - [ - "FirstProofs.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "b96908333525fba3f648de796356d288" - ], - [ - "FirstProofs.factorial_is_positive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", - "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c5028ad6190337f18b3a5b40f65cda41", - "well-founded-ordering-on-nat" - ], - 0, - "474c111ba3b1a008ea55b6f996520394" - ], - [ - "FirstProofs.factorial_is_increasing", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", - "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_cc4f0568bcfe0e328e96ec8a8f1cce9a_0", "equation_Prims.nat", - "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_45626e3fb191d65dc06c4dc9870b6b11", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f5e7b3b99b77aabc8c52456e3d60ac6f", - "well-founded-ordering-on-nat" - ], - 0, - "1a7d71173898838c421fd63cee5166e6" - ], - [ - "FirstProofs.factorial_is_doubling", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FirstProofs.factorial.fuel_instrumented", - "@fuel_irrelevance_FirstProofs.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_341f51172cbc07bb6db29a15470e13c0_0", "equation_Prims.nat", - "equation_with_fuel_FirstProofs.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fd582fff7abe35f926b0f5977b70ae5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aed863c320ae128d9af964598e05c9fe", - "token_correspondence_FirstProofs.factorial.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "4090e67d7f43945cc7cff8f34e19e2f3" - ], - [ - "FirstProofs.fibonacci", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "417d4993acb2df64866f7bd3bb8cc5b8" - ], - [ - "FirstProofs.fibonacci_is_increasing", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FirstProofs.fibonacci.fuel_instrumented", - "@fuel_irrelevance_FirstProofs.fibonacci.fuel_instrumented", - "@query", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.nat", - "equation_with_fuel_FirstProofs.fibonacci.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b6915ca219eebbba9223bf245e6b0bfd", - "token_correspondence_FirstProofs.fibonacci.fuel_instrumented", - "typing_FirstProofs.fibonacci", "well-founded-ordering-on-nat" - ], - 0, - "01c68b116cb319bcdb741470f6778b74" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Funcs.fst.hints b/tests/micro-benchmarks/Funcs.fst.hints deleted file mode 100644 index 5733543ab64..00000000000 --- a/tests/micro-benchmarks/Funcs.fst.hints +++ /dev/null @@ -1,151 +0,0 @@ -[ - "\r¯É.g\bgÿ]’ƒË‘â‰_", - [ - [ - "Funcs.f0", - 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_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "0377380d2db672ab4d3eafbe1762d4d7" - ], - [ - "Funcs.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "interpretation_Tm_abs_7346ac42a23bc553b838df40737674b7", - "l_quant_interp_f4cadd21d9adfc1d1f76374a491f58c5", - "token_correspondence_Prims.pure_wp_monotonic0", "unit_typing" - ], - 0, - "485b80af3b5177449cbbc1dbdb8b3244" - ], - [ - "Funcs.nest_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b46f9febde162e476374095e6787c208_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "b0a8baebfaaad39e5c58e2f9ef309d94" - ], - [ - "Funcs.concatlemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "9cceaba5ad1a83bc65fcff35d6a9998a" - ], - [ - "Funcs.concatmaplemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_121fa5bc200f7b3946a5e35040f266b9", - "Funcs_interpretation_Tm_arrow_c459d71a604fbccd763a416683cd2bcf", - "binder_x_23111b199e312dabc7d863b983ebf5c5_6", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", - "binder_x_d279c19d96fbb6142c62269277edf9a6_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.concatMap.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.concatMap" - ], - 0, - "fdb214a3155416b505e7c8bdf1eae9d8" - ], - [ - "Funcs.test_rec_arity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f537159ed795b314b4e58c260361ae86_0", "bool_inversion" - ], - 0, - "646cd5f5c865bd0f2856c122037b6901" - ], - [ - "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, - "36b9081763e2b517306e1296a39c5e00" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/GhostImplicits.fst.hints b/tests/micro-benchmarks/GhostImplicits.fst.hints deleted file mode 100644 index 28fc343fa1d..00000000000 --- a/tests/micro-benchmarks/GhostImplicits.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "B\u0011\u0015ωë\u000e‘l\u0015°ˆÐ‡B", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/HideRevealUnif.fst.hints b/tests/micro-benchmarks/HideRevealUnif.fst.hints deleted file mode 100644 index 89338439fd7..00000000000 --- a/tests/micro-benchmarks/HideRevealUnif.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "î@&5ã\n°h·´K§:šèA", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Inference.fst.hints b/tests/micro-benchmarks/Inference.fst.hints deleted file mode 100644 index 5cf77098128..00000000000 --- a/tests/micro-benchmarks/Inference.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "¶\u0007\u001b¢þi\u0019ähÎ~í\n]Ü", - [ - [ - "Inference.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.t", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_8e1a63f5f0eda9c61cb76c338f52ad38", - "refinement_interpretation_Tm_refine_d17e5cc72481ba65d7fc920fac08f000", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.DependentMap.empty" - ], - 0, - "3cd6e636e53eaa426fc7032df8281ac7" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/InlineForExtractionNormRequest.fst.hints b/tests/micro-benchmarks/InlineForExtractionNormRequest.fst.hints deleted file mode 100644 index e2b3f71bb28..00000000000 --- a/tests/micro-benchmarks/InlineForExtractionNormRequest.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "PŒ¹o2öQ´ò(ëɧåD8", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/IntNormalization.fst.hints b/tests/micro-benchmarks/IntNormalization.fst.hints deleted file mode 100644 index 22b6f430dea..00000000000 --- a/tests/micro-benchmarks/IntNormalization.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ˆRf\f\u001e±\u0007`¯\u0007ÚNžÎD", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Issues.fst.hints b/tests/micro-benchmarks/Issues.fst.hints deleted file mode 100644 index 8902abab568..00000000000 --- a/tests/micro-benchmarks/Issues.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ª$\b\u0006\u00146¾‘ÐyûÍ„\u0005\u001aÑ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/LambdaImplicits.fst.hints b/tests/micro-benchmarks/LambdaImplicits.fst.hints deleted file mode 100644 index 00eabd4ae1f..00000000000 --- a/tests/micro-benchmarks/LambdaImplicits.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "?zÜS¤D~Fdû~\u00152Ò`\u0001", - [ - [ - "LambdaImplicits.safe_hd", - 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, - "bbfdf33f30c1f4193bfef47875033a24" - ], - [ - "LambdaImplicits.bind_opt", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "6f9a37ebb77fd4646987330d34849d0c" - ], - [ - "LambdaImplicits.bind_opt'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "4d9363e179ccc93d4682757b50f93ded" - ], - [ - "LambdaImplicits.app_pure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "00a3387c9a666a1c810ae274cec15abf" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/MAC.fst.hints b/tests/micro-benchmarks/MAC.fst.hints deleted file mode 100644 index 6a9548d31aa..00000000000 --- a/tests/micro-benchmarks/MAC.fst.hints +++ /dev/null @@ -1,91 +0,0 @@ -[ - "ƒìðèüfíI2Ñ¢û\u001b\u0013D?", - [ - [ - "MAC.nbytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a975f5acdd6cc16e2ce0f328866a5c1b" - ], - [ - "MAC.key", - 1, - 2, - 1, - [ - "@query", "equation_MAC.keysize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "4fb25a600299e090c8f0883b62b4415e" - ], - [ - "MAC.tag", - 1, - 2, - 1, - [ - "@query", "equation_MAC.macsize", "projection_inverse_BoxInt_proj_0" - ], - 0, - "809a2a27f19c5bbc78eb106ffda5b581" - ], - [ - "MAC.mac", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "token_correspondence_FStar.Heap.trivial_preorder", "true_interp" - ], - 0, - "2afea8dca2c7d2f15e10af94613afcc4" - ], - [ - "MAC.verify", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "MAC_interpretation_Tm_arrow_ca5c6e42e3ff57820b5634683be21c66", - "data_elim_FStar.Pervasives.Native.Some", "data_elim_MAC.Entry", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_MAC.bytes", "equation_MAC.key", - "equation_MAC.keysize", "equation_MAC.nbytes", "equation_MAC.text", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_MAC.entry", - "interpretation_Tm_abs_dacd0dddc2902c03567b9b4b53b12fee", - "kinding_MAC.entry@tok", "kinding_Prims.list@tok", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_3e8535b6994f52d368ac0c8f9c63a4fe", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a3cce69ec80854392e6eeb250cd85695", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.find", "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Seq.Base.eq", "typing_FStar.UInt8.t", "typing_MAC.log", - "typing_Tm_abs_dacd0dddc2902c03567b9b4b53b12fee" - ], - 0, - "e0422fc85899d3eec88d8070d9889806" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/MachineIntegerConstants.fst.hints b/tests/micro-benchmarks/MachineIntegerConstants.fst.hints deleted file mode 100644 index 82e3ffa0145..00000000000 --- a/tests/micro-benchmarks/MachineIntegerConstants.fst.hints +++ /dev/null @@ -1,221 +0,0 @@ -[ - "‰\u000eOíò`-؇˄ÄtÞ_¶", - [ - [ - "MachineIntegerConstants.e_int8", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.Int8.vu_inv", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int8.v" - ], - 0, - "12e1a47965774b94d3381d070878d73c" - ], - [ - "MachineIntegerConstants.e_int16", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.Int16.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int16.v" - ], - 0, - "bc7d50a409b3183d8bdfb92d2e5f6a1b" - ], - [ - "MachineIntegerConstants.e_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", "int_typing", - "lemma_FStar.Int32.vu_inv", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int32.v" - ], - 0, - "04701b3d6a8d12a97f5eb2c3d40cf859" - ], - [ - "MachineIntegerConstants.e_int64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", "int_typing", - "lemma_FStar.Int64.vu_inv", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int64.v" - ], - 0, - "19be2071d18b1b97558c78107d18117e" - ], - [ - "MachineIntegerConstants.e_uint8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt8.v" - ], - 0, - "39efe478424755398071c38efa071686" - ], - [ - "MachineIntegerConstants.e_uint16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt16.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt16.v" - ], - 0, - "5ad22f308d28b23c3d5f8a219212afbf" - ], - [ - "MachineIntegerConstants.e_uint32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "a5b6fbd260be445a335ecd85eee09b74" - ], - [ - "MachineIntegerConstants.e_uint64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "297b1cfd35a122f92340cf2bef614ab7" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/MachineIntegerPrimops.fst.hints b/tests/micro-benchmarks/MachineIntegerPrimops.fst.hints deleted file mode 100644 index e442481cb92..00000000000 --- a/tests/micro-benchmarks/MachineIntegerPrimops.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "F\u000eÝ4\u0010®Iwi{‘`pU\u000b´", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Match.Returns.fst.hints b/tests/micro-benchmarks/Match.Returns.fst.hints deleted file mode 100644 index 30d907338ca..00000000000 --- a/tests/micro-benchmarks/Match.Returns.fst.hints +++ /dev/null @@ -1,30 +0,0 @@ -[ - "🴧\u000eújÔ-­$SpÔT", - [ - [ - "Match.Returns.test1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "68121a6a719c69859774a8d5e6c67127" - ], - [ - "Match.Returns.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_40cf82d8c59920556c384c9705949c39" - ], - 0, - "d558b0b330526b6879af41f7800c53c2" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Misc.Norm1.fst.hints b/tests/micro-benchmarks/Misc.Norm1.fst.hints deleted file mode 100644 index 3b41d9117c1..00000000000 --- a/tests/micro-benchmarks/Misc.Norm1.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "K²OWÙ>#u!.ûˆù™&d", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Misc.Norm2.fst.hints b/tests/micro-benchmarks/Misc.Norm2.fst.hints deleted file mode 100644 index 30a39954b03..00000000000 --- a/tests/micro-benchmarks/Misc.Norm2.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "¤´P\u0010‘h%bÚ<|D iž`", - [ - [ - "Misc.Norm2.comm_monoid", - 1, - 2, - 1, - [ "@query" ], - 0, - "a961c090e74030fee3919a0f0438db42" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Misc.Norm3.fst.hints b/tests/micro-benchmarks/Misc.Norm3.fst.hints deleted file mode 100644 index e6549c7be39..00000000000 --- a/tests/micro-benchmarks/Misc.Norm3.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "òKQFñ`À±µ7\u0004\u0018\u0013rHq", - [ - [ - "Misc.Norm3.test", - 1, - 2, - 1, - [ "@query" ], - 0, - "d78809634a708ea98751e0927592169e" - ], - [ - "Misc.Norm3.test2", - 1, - 2, - 1, - [ "@query" ], - 0, - "93833ee64e11a2b9b604afeb64fc01e0" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints b/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints deleted file mode 100644 index 05d6388c262..00000000000 --- a/tests/micro-benchmarks/MultipleAttributesBinder.fst.hints +++ /dev/null @@ -1,62 +0,0 @@ -[ - "\u0016Ññq»Äƒ¦\u0015Ý8æÃ@×", - [ - [ - "MultipleAttributesBinder.__proj__String__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf4f065dc94b202adcf8aa9019f17109" - ], - 0, - "d24725aea610d4373325c4cc6d32b877" - ], - [ - "MultipleAttributesBinder.__proj__Int__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2adb22eda77444787c5487a23e08fa8a" - ], - 0, - "800a242329ba85392c95b1c3e162b0fe" - ], - [ - "MultipleAttributesBinder.binder_from_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Equality", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.aqualv", - "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Tactics.NamedView.__proj__Mkbinder__item__qual" - ], - 0, - "c4143d21a587658d11eacd8049b13523" - ], - [ - "MultipleAttributesBinder.binders_from_term", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Stubs.Reflection.Types.name", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ" - ], - 0, - "73bac493e56083d8516d052ee4d9e1d0" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/MustEraseForExtraction.fst.hints b/tests/micro-benchmarks/MustEraseForExtraction.fst.hints deleted file mode 100644 index 6e50c4378a9..00000000000 --- a/tests/micro-benchmarks/MustEraseForExtraction.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ð‘M-£jÚÚSB(ȪýÒ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/MustEraseForExtraction.fsti.hints b/tests/micro-benchmarks/MustEraseForExtraction.fsti.hints deleted file mode 100644 index 6177e59d7da..00000000000 --- a/tests/micro-benchmarks/MustEraseForExtraction.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "†FIÑIé\u0015Wç°¾×Di«", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.BST.fst.hints b/tests/micro-benchmarks/NegativeTests.BST.fst.hints deleted file mode 100644 index 9b87ab0ea18..00000000000 --- a/tests/micro-benchmarks/NegativeTests.BST.fst.hints +++ /dev/null @@ -1,141 +0,0 @@ -[ - "©S]#À0_5ÛðžN\u001aÇø", - [ - [ - "NegativeTests.BST.tree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "int_inversion", "kinding_NegativeTests.BST.tree@tok" - ], - 0, - "48676916e78474fc5cef1cc875e23283" - ], - [ - "NegativeTests.BST.__proj__Leaf__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c89ea22d08945e60fddbf2e1bfa3e94f" - ], - 0, - "f417bc8d5287cb868469fb0014090eee" - ], - [ - "NegativeTests.BST.__proj__Node__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "d0b0fdd650fa2f2a0f8990fe28400258" - ], - [ - "NegativeTests.BST.__proj__Node__item__left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_NegativeTests.BST.Node", - "int_inversion", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "04c16be4bdbc09ec7d8e807320a58764" - ], - [ - "NegativeTests.BST.__proj__Node__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "150cc2b5d1746f11d89711c2ecee6f43" - ], - [ - "NegativeTests.BST.__proj__Node__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "3b06eb7a9606b5169f4ffa1f7c3f1d49" - ], - [ - "NegativeTests.BST.__proj__Node__item__right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_NegativeTests.BST.Node", - "int_inversion", - "refinement_interpretation_Tm_refine_75411a533307926cb439c1c1b9e6a6c4" - ], - 0, - "3a533eca1cb83a2754e35de17e8b892d" - ], - [ - "NegativeTests.BST.test_node_1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "448d77c75c6f18cce9fe1c5c9c6856dd" - ], - [ - "NegativeTests.BST.test_node_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a" - ], - 0, - "413b1693232014d5feeecf078a4ce30f" - ], - [ - "NegativeTests.BST.test_node_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0" - ], - 0, - "897c8610f32fc96d8a4d46b8d9cbea10" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints b/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints deleted file mode 100644 index 4d728dbd6ee..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Bug260.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "\u0006:·\u000b\u0007Ì\u0001ƒqÅb…ŠËf\u001e", - [ - [ - "NegativeTests.Bug260.pnat", - 1, - 2, - 1, - [ "@query" ], - 0, - "4331f6cad0daa2c8bfe9eb7f3386ace1" - ], - [ - "NegativeTests.Bug260.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c7798980fdaa69b62544817f36c3402f" - ], - 0, - "b76f14e98d7c5e47a8f708bcee85a2c0" - ], - [ - "NegativeTests.Bug260.validity", - 1, - 2, - 1, - [ "@query", "assumption_NegativeTests.Bug260.pnat__uu___haseq" ], - 0, - "153df8eb7d30ad19e164c814ca0ab45c" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.False.fst.hints b/tests/micro-benchmarks/NegativeTests.False.fst.hints deleted file mode 100644 index 77aeec6efc7..00000000000 --- a/tests/micro-benchmarks/NegativeTests.False.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "÷FÙ+_gWI\u0002êÀ§³<ÔU", - [ - [ - "NegativeTests.False.foo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85721560a0c745412eef4b2aa333de58" - ], - 0, - "f1da7c3431b62051592c0b0312b88928" - ], - [ - "NegativeTests.False.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.l_True", "equation_Prims.squash", - "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "af625bb4740dc1abf374e5361e499677" - ], - [ - "NegativeTests.False.f", - 2, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "496cd0c0feba6f38df13b61056eba08e" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Heap.fst.hints b/tests/micro-benchmarks/NegativeTests.Heap.fst.hints deleted file mode 100644 index f7fc6d20c74..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Heap.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ßlH<žþœ}º»|Á¡àØ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Neg.fst.hints b/tests/micro-benchmarks/NegativeTests.Neg.fst.hints deleted file mode 100644 index e992ff62eef..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Neg.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "ÔŠ¸h\u0019\u0003\tú-ì()§›µu", - [ - [ - "NegativeTests.Neg.test_label", - 1, - 2, - 1, - [ "@query" ], - 0, - "326fe28210de2b7b048305296f3b63c2" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints b/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints deleted file mode 100644 index b426cb4aa15..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Positivity.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - "bYxÏ\u001c¾n5Mé\u0000¸‘&D", - [ - [ - "NegativeTests.Positivity.__proj__C41__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b87d6bbfde336dc7bda327a6b8b57fe0" - ], - 0, - "256be913c6b429e1213ab985b735ec03" - ], - [ - "NegativeTests.Positivity.__proj__C42__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" - ], - 0, - "8ae5de2335adf81b8a55b42ec5cd2b9c" - ], - [ - "NegativeTests.Positivity.__proj__C42__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57bfa41d0d733420720971d3c9002d84" - ], - 0, - "817616d19c79a1e95248f1190f96cbd3" - ], - [ - "NegativeTests.Positivity.__proj__C61__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" - ], - 0, - "68f8f6fce9247d3c332f6ccc411d6123" - ], - [ - "NegativeTests.Positivity.__proj__C61__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d189dce05c186475c90958872418b4e6" - ], - 0, - "2ff18795cfbbcaf371ca4d34febfb816" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Set.fst.hints b/tests/micro-benchmarks/NegativeTests.Set.fst.hints deleted file mode 100644 index a1d4a79d4d1..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Set.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "1f¦R´¿d©\u0002Ù+A‹KYi", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.ShortCircuiting.fst.hints b/tests/micro-benchmarks/NegativeTests.ShortCircuiting.fst.hints deleted file mode 100644 index e1b4f74080f..00000000000 --- a/tests/micro-benchmarks/NegativeTests.ShortCircuiting.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ìuz±?:×Q…\u001e\u0010 ‚øÝJ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/NegativeTests.Termination.fst.hints b/tests/micro-benchmarks/NegativeTests.Termination.fst.hints deleted file mode 100644 index 43ff19d24bc..00000000000 --- a/tests/micro-benchmarks/NegativeTests.Termination.fst.hints +++ /dev/null @@ -1,45 +0,0 @@ -[ - "·˜\u0003ÐN‡zxõ;½'O\u0018+", - [ - [ - "NegativeTests.Termination.sumto", - 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", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6d4aacfc9c450c049e036548def540d0" - ], - [ - "NegativeTests.Termination.snat", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e902ce12273bcd5e9048a344bdd1b26" - ], - [ - "NegativeTests.Termination.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58d69b53f68a55a0902003d29e7d86f7" - ], - 0, - "6a2d3511f15d6b3e9f2ade7f61dab1cb" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NestedLemma.fst.hints b/tests/micro-benchmarks/NestedLemma.fst.hints deleted file mode 100644 index 4392bebfc83..00000000000 --- a/tests/micro-benchmarks/NestedLemma.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "Ž“þÂæ\u0002\u0018Ò\u000fqìÕã›A™", - [ - [ - "NestedLemma.test", - 1, - 2, - 1, - [ "@query" ], - 0, - "5e218dfea8e71b362f2d226503659327" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormCfgMemo.fst.hints b/tests/micro-benchmarks/NormCfgMemo.fst.hints deleted file mode 100644 index 78e3c85d603..00000000000 --- a/tests/micro-benchmarks/NormCfgMemo.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "B¦\u0000€\u0013\rŒY\u001eò:—\u0012è\u001bM", - [ - [ - "NormCfgMemo.countdown", - 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, - "9709b74b0439adc8906c0da7d52f8a57" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormMachineInteger.fst.hints b/tests/micro-benchmarks/NormMachineInteger.fst.hints deleted file mode 100644 index fa68b8e4a98..00000000000 --- a/tests/micro-benchmarks/NormMachineInteger.fst.hints +++ /dev/null @@ -1,28 +0,0 @@ -[ - "\u0000Ê9ðéóˆ\u0002ÿ«?r\u0014…•t", - [ - [ - "NormMachineInteger.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "5c71abd660b214d7ede21394755a7716" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints b/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints deleted file mode 100644 index 9e571eed069..00000000000 --- a/tests/micro-benchmarks/NormPureSubtermsWithinComputations.fst.hints +++ /dev/null @@ -1,98 +0,0 @@ -[ - "Mä\u0007t)^ÈC¸wïâh¥Æq", - [ - [ - "NormPureSubtermsWithinComputations.f1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "81433d86f107a33ef3765b8bcf62dff2" - ], - [ - "NormPureSubtermsWithinComputations.f2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "daf9c46ddd83e59bba0c0fa98e13a68b" - ], - [ - "NormPureSubtermsWithinComputations.f3", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "e9f3e4c46b40c517333267f3f53124af" - ], - [ - "NormPureSubtermsWithinComputations.test_inline_let", - 1, - 0, - 0, - [ - "@query", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt" - ], - 0, - "0bd046f753624d28ed1d558dc35d130a" - ], - [ - "NormPureSubtermsWithinComputations.test_inline_let_expeted", - 1, - 0, - 0, - [ - "@query", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt" - ], - 0, - "b0766eeb1176fb8d241b57fdd84f5fab" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormTypesForSMT.fst.hints b/tests/micro-benchmarks/NormTypesForSMT.fst.hints deleted file mode 100644 index b842b95d73a..00000000000 --- a/tests/micro-benchmarks/NormTypesForSMT.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "¡°\"ä—໬‹à>C!gNa", - [ - [ - "NormTypesForSMT.test", - 1, - 2, - 1, - [ - "@query", "equation_NormTypesForSMT.a", - "equation_NormTypesForSMT.a_", "equation_NormTypesForSMT.b", - "equation_NormTypesForSMT.b_", "equation_NormTypesForSMT.c", - "equation_NormTypesForSMT.c_", "equation_NormTypesForSMT.d", - "equation_NormTypesForSMT.d_" - ], - 0, - "bb505d87105289bc1ac6741e071d2eff" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/NormVsSMT.fst.hints b/tests/micro-benchmarks/NormVsSMT.fst.hints deleted file mode 100644 index 0c2e3b9a803..00000000000 --- a/tests/micro-benchmarks/NormVsSMT.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "ÝŠw", - [ - [ - "Raising.u", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.E", - "constructor_distinct_FStar.Pervasives.V", - "data_typing_intro_FStar.Pervasives.V@tok", - "equality_tok_Raising.Bad@tok", "equation_Prims.nat", - "int_inversion", "projection_inverse_FStar.Pervasives.E_a", - "projection_inverse_FStar.Pervasives.E_e", - "projection_inverse_FStar.Pervasives.V_a", - "projection_inverse_FStar.Pervasives.V_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "fcbf5cc2d6aa90c465a384a0555fab21" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RangeOf.fst.hints b/tests/micro-benchmarks/RangeOf.fst.hints deleted file mode 100644 index 8be1ff6acab..00000000000 --- a/tests/micro-benchmarks/RangeOf.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "öÞbam–R\\B\u001a$¡¯ž`\f", - [ - [ - "RangeOf.uu___0", - 1, - 2, - 1, - [ "@query", "equation_RangeOf.z" ], - 0, - "0eb02a30653290187801c4e14cf249f8" - ], - [ - "RangeOf.uu___1", - 1, - 2, - 1, - [ - "@query", "equation_RangeOf.x", "equation_RangeOf.y", - "equation_RangeOf.z", "projection_inverse_BoxInt_proj_0" - ], - 0, - "aff72a104e99e59b084d5e9121cacd79" - ], - [ - "RangeOf.uu___2", - 1, - 2, - 1, - [ "@query", "equation_RangeOf.r3" ], - 0, - "9bf424f8ec484c9508bb80051addab15" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldAttributes.fst.hints b/tests/micro-benchmarks/RecordFieldAttributes.fst.hints deleted file mode 100644 index a6775bd746c..00000000000 --- a/tests/micro-benchmarks/RecordFieldAttributes.fst.hints +++ /dev/null @@ -1,68 +0,0 @@ -[ - ";”ùÀ+\u0016õ\u0019$Å)o\u0001A ª", - [ - [ - "RecordFieldAttributes.fv_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_dce109b66917edb1ca83b9408101b740_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_Prims.Cons" - ], - 0, - "98d1cb9ce8e45a8a87b49dde150357e9" - ], - [ - "RecordFieldAttributes.unpack_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ff0c027e0e058718eee2999cc5891b29" - ], - [ - "RecordFieldAttributes.get_record_fields", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.ctor", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Data.ctor", - "typing_tok_FStar.Tactics.NamedView.Unk@tok" - ], - 0, - "603649d1f3bac454b9678258d17770e3" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints b/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints deleted file mode 100644 index 735ccc4b2b7..00000000000 --- a/tests/micro-benchmarks/RecordFieldDisambiguation.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "7?\u0019®'äó5éŒl­O0 ", - [ - [ - "RecordFieldDisambiguation.r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cf9d7a15c661931232e1374845c84fbf" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordFieldOperator.fst.hints b/tests/micro-benchmarks/RecordFieldOperator.fst.hints deleted file mode 100644 index bb4f9d64a35..00000000000 --- a/tests/micro-benchmarks/RecordFieldOperator.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "¯-'‘À^\u0002Yà\fÑõ­\u0010j\u0007", - [ - [ - "RecordFieldOperator.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_47fc285d7b44e13bcb7e420cbfc55623", - "equation_RecordFieldOperator.bar", "int_inversion", "int_typing", - "interpretation_Tm_abs_b7bd7ca32453cd32f19493f86c11906d", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_RecordFieldOperator.Mkfoo_op_Hat", - "typing_Tm_abs_b7bd7ca32453cd32f19493f86c11906d" - ], - 0, - "923461945e5fdd9f4aa84a9500c3e2d0" - ], - [ - "RecordFieldOperator.uu___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "RecordFieldOperator_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "data_elim_RecordFieldOperator.MkhasPlus", - "equation_RecordFieldOperator.intHasPlus", - "equation_RecordFieldOperator.op_Plus", "int_inversion", - "int_typing", - "interpretation_Tm_abs_6d8aefb3f511fbf6b8395455a5d9e2fa", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_RecordFieldOperator.MkhasPlus_op_Plus", - "token_correspondence_Prims.op_Addition", - "token_correspondence_RecordFieldOperator.op_Plus", - "typing_RecordFieldOperator.intHasPlus" - ], - 0, - "c11ea27d16ff91ecb205293bbbce980e" - ], - [ - "RecordFieldOperator.uu___3", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "137bd9107a604726179baba037418847" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RecordOpen.fst.hints b/tests/micro-benchmarks/RecordOpen.fst.hints deleted file mode 100644 index 160ef963654..00000000000 --- a/tests/micro-benchmarks/RecordOpen.fst.hints +++ /dev/null @@ -1,56 +0,0 @@ -[ - "eNÂÝ?g\u001adݸ\u0010\u0014©‚Vè", - [ - [ - "RecordOpen.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_RecordOpen.f", - "projection_inverse_RecordOpen.Mkty_x", - "projection_inverse_RecordOpen.Mkty_y" - ], - 0, - "81259e1487a5fb58c64cc3c27296c4ae" - ], - [ - "RecordOpen.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "data_typing_intro_RecordOpen.Mkty@tok", "equation_RecordOpen.f", - "int_inversion", "int_typing", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_RecordOpen.Mkty_x", - "projection_inverse_RecordOpen.Mkty_y", "typing_RecordOpen.f" - ], - 0, - "5a3d3ccddad2a8395b52d26cb76fb692" - ], - [ - "RecordOpen.ty2", - 1, - 2, - 1, - [ "@query" ], - 0, - "b1be76f1d9d8c252bf3ec3d4ba174aa1" - ], - [ - "RecordOpen.f3", - 1, - 2, - 1, - [ - "@query", "proj_equation_RecordOpen.Mkty2_x", - "projection_inverse_RecordOpen.Mkty2_x" - ], - 0, - "8f49d5744a6203877f63fd797b417052" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints b/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints deleted file mode 100644 index 3da62b565f8..00000000000 --- a/tests/micro-benchmarks/ReduceRecUnderMatch.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "\u0002µ‰»ùµFZ2…‘FœUöÒ", - [ - [ - "ReduceRecUnderMatch.f2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b46f9febde162e476374095e6787c208_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "79ed551b333f9a7e5111d66ea6bfde2b" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/RefNew.fst.hints b/tests/micro-benchmarks/RefNew.fst.hints deleted file mode 100644 index c17b9777761..00000000000 --- a/tests/micro-benchmarks/RefNew.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "ÛG˜.R`è\u001dƒ p\b²°S", - [ - [ - "RefNew.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_pretyping_67b0ade1260a0985dfe99d32b2574a59", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Monotonic.Heap.core_mref", - "constructor_distinct_Prims.int", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.mref", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47" - ], - 0, - "64e97f416d08d77813171d678ed8bfe6" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Renaming.fst.hints b/tests/micro-benchmarks/Renaming.fst.hints deleted file mode 100644 index 9c3651784b5..00000000000 --- a/tests/micro-benchmarks/Renaming.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¿\u0014I¹\u0002àŒœÀþ¿Ý­¥_ý", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Renaming1.fst.hints b/tests/micro-benchmarks/Renaming1.fst.hints deleted file mode 100644 index 577551f05bf..00000000000 --- a/tests/micro-benchmarks/Renaming1.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ö\u0014íV§SàG\u0015³á—eÜ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Renaming2.fst.hints b/tests/micro-benchmarks/Renaming2.fst.hints deleted file mode 100644 index 5a16581309e..00000000000 --- a/tests/micro-benchmarks/Renaming2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ª­},ž;ôvÁ™]!øßù", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Renaming3.fst.hints b/tests/micro-benchmarks/Renaming3.fst.hints deleted file mode 100644 index 2aebf8e0a62..00000000000 --- a/tests/micro-benchmarks/Renaming3.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "`’ŽåL\u0002Ô &Ü”™\u001d\u0003”#", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints b/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints deleted file mode 100644 index 3cd68bc6c20..00000000000 --- a/tests/micro-benchmarks/ResolveImplicitsHook.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\"\u001a·PcÛ\u0012½\u0000Ü\u0003Ãs›Ó]", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/RevealHide.fst.hints b/tests/micro-benchmarks/RevealHide.fst.hints deleted file mode 100644 index 166bd5f18dd..00000000000 --- a/tests/micro-benchmarks/RevealHide.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "&7j®\u0011\u001aï‘ÒƒÔu×ÁÝ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ShortCircuit.fst.hints b/tests/micro-benchmarks/ShortCircuit.fst.hints deleted file mode 100644 index fc9f787d9ad..00000000000 --- a/tests/micro-benchmarks/ShortCircuit.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "K´ÖÄ?¨7†å-\u00044‹Õä\u0019", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ShortCircuitEffect.fst.hints b/tests/micro-benchmarks/ShortCircuitEffect.fst.hints deleted file mode 100644 index 1a63aa288d4..00000000000 --- a/tests/micro-benchmarks/ShortCircuitEffect.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "$×[ö;‹kàÏBÅN\u0012ÒèŒ", - [ - [ - "ShortCircuitEffect.f", - 1, - 2, - 1, - [ "@query" ], - 0, - "c1ae7d632f4196f52d948069c56bdaf0" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/SimplifyProp.fst.hints b/tests/micro-benchmarks/SimplifyProp.fst.hints deleted file mode 100644 index afc5c021802..00000000000 --- a/tests/micro-benchmarks/SimplifyProp.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ªÎcÉWª4­ý‹3Ìã\"s", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/StableErr.fst.hints b/tests/micro-benchmarks/StableErr.fst.hints deleted file mode 100644 index 5d26ae199a4..00000000000 --- a/tests/micro-benchmarks/StableErr.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u007fR¹f\u0012Þ\tKîB\u0017hC[6", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/StrictUnfolding.fst.hints b/tests/micro-benchmarks/StrictUnfolding.fst.hints deleted file mode 100644 index 39e0b9e05ac..00000000000 --- a/tests/micro-benchmarks/StrictUnfolding.fst.hints +++ /dev/null @@ -1,170 +0,0 @@ -[ - "ÇEe%†\u0003Ga\u0018\u0007†\u0018ë$V", - [ - [ - "StrictUnfolding.project", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" - ], - 0, - "3b0ee6484caf72c0a6cdd1dcfa2ba9f6" - ], - [ - "StrictUnfolding.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_StrictUnfolding.project", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_457ae00534f625d64ff672644e530198", - "refinement_interpretation_Tm_refine_88b070fdaa2704b0d1fcf1ddd6ee47eb" - ], - 0, - "b1656cfdd36a6a407196790f34e734e8" - ], - [ - "StrictUnfolding.test2", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "7bb8c949521fe325448bf5ea073f89a3" - ], - [ - "StrictUnfolding.test_integer_generic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "data_elim_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.size", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.op_Plus", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_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", - "refinement_interpretation_Tm_refine_03c914b28d964e6bced1ef7a9aa09acc", - "refinement_interpretation_Tm_refine_200045f8615f23a9b7995d72ac63d949", - "refinement_interpretation_Tm_refine_5aa5ab11c31de0febf935305a5c980c9", - "refinement_interpretation_Tm_refine_6fc1cfeb1ee6b248d1fef572cc963c99", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_757070323c322caa5a4ae9914b0e605d", - "refinement_interpretation_Tm_refine_9de6182063933d00c254512ae9ad3990", - "refinement_interpretation_Tm_refine_a28a6b882d97a365aa7f25893bfb4f13", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "refinement_interpretation_Tm_refine_cff33b8d55d1ab8b8408d67ea53401d3", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "refinement_interpretation_Tm_refine_e7a8c22ddf5fa06051ce01d4308e93c9", - "typing_FStar.Int128.add", "typing_FStar.Int16.add", - "typing_FStar.Int32.add", "typing_FStar.Int64.add", - "typing_FStar.Int8.add", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw", - "typing_FStar.UInt128.op_Plus_Hat", "typing_FStar.UInt16.add", - "typing_FStar.UInt32.add", "typing_FStar.UInt64.add", - "typing_FStar.UInt8.add" - ], - 0, - "20bfb04cd17522eb29cbc13d899a6ccc" - ], - [ - "StrictUnfolding.test_integer_generic_wo_fstar_integers", - 1, - 2, - 1, - [ "@query" ], - 0, - "021b934a7b9913bd6a817d33e338fefc" - ], - [ - "StrictUnfolding.test_int_64", - 1, - 2, - 1, - [ "@query" ], - 0, - "22bae8b7b5189e5decd7a1cb04cb2020" - ], - [ - "StrictUnfolding.test_int_64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bc552b2c624e2add758b3ac761c0c563", - "typing_FStar.UInt64.add" - ], - 0, - "119f44df17a23211c05726b1338ac652" - ], - [ - "StrictUnfolding.test_extraction_generic", - 1, - 2, - 1, - [ "@query" ], - 0, - "ad284f415fbac056f1290a1a4cd5882c" - ], - [ - "StrictUnfolding.test_extraction_specific", - 1, - 2, - 1, - [ "@query" ], - 0, - "62f73b0de86c949e4fed94520497e5ca" - ], - [ - "StrictUnfolding.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "28ac5569a2d01b21137637f685642f64" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/StringNormalization.fst.hints b/tests/micro-benchmarks/StringNormalization.fst.hints deleted file mode 100644 index c8aff5d24cc..00000000000 --- a/tests/micro-benchmarks/StringNormalization.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "\f™”ÿ`\u0003pˆìÿɳ¼Â“j", - [ - [ - "StringNormalization.uu___3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Char_interpretation_Tm_arrow_edb4339633bae2b96af63b0dbac8e538", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.String.char", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_FStar.Char.int_of_char", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Char.char" - ], - 0, - "8b2056ef4d8aaa6f836ac63dd577ce96" - ], - [ - "StringNormalization.uu___4", - 1, - 2, - 1, - [ "@query", "equation_FStar.String.char" ], - 0, - "2ed2757779c130c8c86a0792d5854d68" - ], - [ - "StringNormalization.uu___5", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Char_interpretation_Tm_arrow_edb4339633bae2b96af63b0dbac8e538", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "b2t_def", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Char.__char_of_int", "equation_FStar.Char.char_code", - "equation_FStar.Char.char_of_int", "equation_FStar.Char.int_of_char", - "equation_FStar.String.char", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_FStar.Char.int_of_char", "int_typing", - "lemma_FStar.Char.u32_of_char_of_u32", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96af4a84eae6a9bae92bc908a1c3c24c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Char.int_of_char", - "typing_FStar.Char.__char_of_int", "typing_FStar.Char.char", - "typing_FStar.Char.u32_of_char", "typing_FStar.List.Tot.Base.map", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "1a1f6af70cee94fd005d6ba0943186bf" - ], - [ - "StringNormalization.uu___28", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "3edf1eb9d7c1f0f8665df24b34ac1afc" - ], - [ - "StringNormalization.uu___31", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "2336c82a360ce66f272e137e7e76eabd" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Subtyping.fst.hints b/tests/micro-benchmarks/Subtyping.fst.hints deleted file mode 100644 index e48b3361871..00000000000 --- a/tests/micro-benchmarks/Subtyping.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "~\u0014·üQ†/\u000bS4‘\u0003ÆÒ¦", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/SyntaxTests.fst.hints b/tests/micro-benchmarks/SyntaxTests.fst.hints deleted file mode 100644 index a371a346818..00000000000 --- a/tests/micro-benchmarks/SyntaxTests.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "/\u0006Æ\u0007œŠI=ù:S\u001c(BUq", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.Break.fst.hints b/tests/micro-benchmarks/Test.Break.fst.hints deleted file mode 100644 index afbfa160c7c..00000000000 --- a/tests/micro-benchmarks/Test.Break.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "Ûè6ßæô\u000e®‡ý@p(ž§J", - [ - [ - "Test.Break.test", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "08b3c04df7e8fbe2c755337dfc70f07f" - ], - [ - "Test.Break.test", - 2, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3c92f9bd3e0141cd423f853d5a34357a" - ], - [ - "Test.Break.test", - 3, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "35e7a3045ffb955dc6b71874b1bedc9b" - ], - [ - "Test.Break.test", - 4, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ba242f5d7c98ec91c483c26b8c6977f2" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.BufferView.fst.hints b/tests/micro-benchmarks/Test.BufferView.fst.hints deleted file mode 100644 index d71e5748ffb..00000000000 --- a/tests/micro-benchmarks/Test.BufferView.fst.hints +++ /dev/null @@ -1,168 +0,0 @@ -[ - "ñ\u001a¼\u00191RÄ\u0002sÐD(\u00004, ", - [ - [ - "Test.BufferView.v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.BufferView_interpretation_Tm_arrow_963ac8a592e293dca5ab5388b9425356", - "Test.BufferView_interpretation_Tm_arrow_fbdc5c37cd95b29f7c3172a1c7f01ecf", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.inverses", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_a769eded29886b98a4244c1e80fd6022", - "interpretation_Tm_abs_aaf5d445417131cc66cc99c6cbfddf7c", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_580b965483a2b605bc5e64d1a8caab4f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_Prims.int", "typing_Tm_abs_a769eded29886b98a4244c1e80fd6022", - "typing_Tm_abs_aaf5d445417131cc66cc99c6cbfddf7c" - ], - 0, - "11fc83f425573c0bcea8e0ad6728246a" - ], - [ - "Test.BufferView.bsel", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Buffer.buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "a4220bcec8a1b44509ad1b2530240ca4" - ], - [ - "Test.BufferView.use_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Test.BufferView.loc_vb", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_LowStar.BufferView.sel_upd", - "lemma_LowStar.BufferView.upd_modifies", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a1090cf66243bb862b39ca6445f94d5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_Prims.int" - ], - 0, - "5fe786713ceb68a988c65e932ba2f726" - ], - [ - "Test.BufferView.use_view", - 2, - 2, - 1, - [ "@query" ], - 0, - "d5b32a429f62367dc979070f96214f04" - ], - [ - "Test.BufferView.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.BufferView.buffer", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_Test.BufferView.bsel", "equation_Test.BufferView.loc_vb", - "equation_Test.BufferView.v", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_aaf5d445417131cc66cc99c6cbfddf7c", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.BufferView.View_get", - "projection_inverse_LowStar.BufferView.View_n", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9d6b6c5cc7dc65edb5440e573a93692f", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_da31bc6218cab3528531a6eba2cabe36", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.BufferView.length", - "typing_LowStar.Monotonic.Buffer.as_seq", "typing_Prims.int" - ], - 0, - "b52c60f6c769824c5ac708ec7a292357" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.ConstantTime.Integers.fst.hints b/tests/micro-benchmarks/Test.ConstantTime.Integers.fst.hints deleted file mode 100644 index 456c1f6ea53..00000000000 --- a/tests/micro-benchmarks/Test.ConstantTime.Integers.fst.hints +++ /dev/null @@ -1,120 +0,0 @@ -[ - "\u00147\u0003ùJyZIydÎÈqíR‡", - [ - [ - "Test.ConstantTime.Integers.ex0_2", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W32@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "c56533f94ffcef2e5bca3719a8c2ab77" - ], - [ - "Test.ConstantTime.Integers.hacl_lattice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", - "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", - "unit_inversion", "unit_typing" - ], - 0, - "ebfb5df593b499f99c8e9ffd935f9341" - ], - [ - "Test.ConstantTime.Integers.s_uint32", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "399756490717ec29ae50667512ca5f89" - ], - [ - "Test.ConstantTime.Integers.ex1", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "5ed8d875f9e9320d917dc372fc6bec5f" - ], - [ - "Test.ConstantTime.Integers.l_uint32", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "bac711f263432fc3a4c7d2caa6acf64c" - ], - [ - "Test.ConstantTime.Integers.ex_poly", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "66bcbe3fed583e6d2fd11883868a3a89" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.ConstantTimeIntegers.fst.hints b/tests/micro-benchmarks/Test.ConstantTimeIntegers.fst.hints deleted file mode 100644 index dcd5fa728c6..00000000000 --- a/tests/micro-benchmarks/Test.ConstantTimeIntegers.fst.hints +++ /dev/null @@ -1,286 +0,0 @@ -[ - "WN\u0003á\u0001\füÝÀ'\u001aÑ0»iŸ", - [ - [ - "Test.ConstantTimeIntegers.two_point_lattice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.IFC.associative", - "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "token_correspondence_Prims.op_BarBar" - ], - 0, - "41658d7ad3ab0b5b07210e816d093a5c" - ], - [ - "Test.ConstantTimeIntegers.test2", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "a3e7dbb7b63d8e6a2fbcfa51815b8237" - ], - [ - "Test.ConstantTimeIntegers.test2", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "bbde8bcac7e165008d68bd4bff9d0e77" - ], - [ - "Test.ConstantTimeIntegers.test3", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "9e96d9b9e8d00f0afd36aec9aeda512c" - ], - [ - "Test.ConstantTimeIntegers.test3", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "36ddc3efbbc564459a171aaacfe46c4f" - ], - [ - "Test.ConstantTimeIntegers.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.IFC.SemiLattice@tok", - "data_typing_intro_FStar.Integers.Signed@tok", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.ConstantTime.Integers.m", - "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", "equation_FStar.IFC.sl", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Test.ConstantTimeIntegers.hi", - "equation_Test.ConstantTimeIntegers.lo", - "equation_Test.ConstantTimeIntegers.two_point_lattice", "int_typing", - "kinding_FStar.IFC.semilattice@tok", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_tot_fun_Prims.op_BarBar", - "primitive_tot_fun_Prims.op_BarBar.1", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "proj_equation_FStar.IFC.SemiLattice_lub", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.IFC.SemiLattice_carrier", - "projection_inverse_FStar.IFC.SemiLattice_lub", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a52df1145d1b990d80ee69c2394dc8c", - "refinement_interpretation_Tm_refine_849b2174f72550c50b37378a6422a159", - "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "token_correspondence_Prims.op_BarBar", - "typing_FStar.ConstantTime.Integers.reveal", - "typing_FStar.Ghost.reveal", - "typing_FStar.IFC.__proj__SemiLattice__item__carrier", - "typing_FStar.UInt.fits", "typing_Prims.bool", - "typing_Test.ConstantTimeIntegers.lo", - "typing_Test.ConstantTimeIntegers.two_point_lattice", - "typing_tok_FStar.Integers.Winfinite@tok" - ], - 0, - "9a108c60cc12a76f6360c10d364876c0" - ], - [ - "Test.ConstantTimeIntegers.test4", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "282be2318cfba2d58662788987ef243e" - ], - [ - "Test.ConstantTimeIntegers.hacl_lattice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", - "interpretation_Tm_abs_7914e8ab332b69ee3bc4641e99a8399b", - "unit_inversion", "unit_typing" - ], - 0, - "474aedb8ebe6d40b40f69eeea3428daa" - ], - [ - "Test.ConstantTimeIntegers.s_uint32", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "adcd503eab3498ccb8604781d41613f8" - ], - [ - "Test.ConstantTimeIntegers.test5", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "92e14629fd0db7c092f33a5b9d3b80c7" - ], - [ - "Test.ConstantTimeIntegers.test6", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "bdab0dae6e4d298b33cea5cada48cfed" - ], - [ - "Test.ConstantTimeIntegers.test6", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "2172ddf896e38e77465f191403de1621" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.Delta.Namespace.fst.hints b/tests/micro-benchmarks/Test.Delta.Namespace.fst.hints deleted file mode 100644 index f6bbbf758c1..00000000000 --- a/tests/micro-benchmarks/Test.Delta.Namespace.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Cù?Ë•\u00131R*\u0005ûSеÄO", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.FStar.Parse.fst.hints b/tests/micro-benchmarks/Test.FStar.Parse.fst.hints deleted file mode 100644 index 51b3f3daa58..00000000000 --- a/tests/micro-benchmarks/Test.FStar.Parse.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "læ#\u0010ÕÉFç;‡ç¦\u0004É\u0006à", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.FunctionalExtensionality.fst.hints b/tests/micro-benchmarks/Test.FunctionalExtensionality.fst.hints deleted file mode 100644 index 21a33bab791..00000000000 --- a/tests/micro-benchmarks/Test.FunctionalExtensionality.fst.hints +++ /dev/null @@ -1,149 +0,0 @@ -[ - "’\u000b¤\u0018ãª-ÿH\u0013;ƒ®\u00145B", - [ - [ - "Test.FunctionalExtensionality.on_dom_transitivity_of_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Test.FunctionalExtensionality.f", - "int_inversion", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_d28f38ba11bb810de36e822e960dcddd", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Test.FunctionalExtensionality.g", - "typing_Test.FunctionalExtensionality.h", - "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "typing_Tm_abs_d28f38ba11bb810de36e822e960dcddd" - ], - 0, - "e0f0f34f8d5c0f1a9659fe91763641e0" - ], - [ - "Test.FunctionalExtensionality.shrinking_domains_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Test.FunctionalExtensionality.g1" - ], - 0, - "51076e2952500615323bf46e0e41ce7f" - ], - [ - "Test.FunctionalExtensionality.restricted_t_2_idem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" - ], - 0, - "32c663f17e58a7019fe57653be567aac" - ], - [ - "Test.FunctionalExtensionality.on_2_interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_a15b7232b9450418501106922ece800a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Test.FunctionalExtensionality.on_2", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", - "interpretation_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", - "interpretation_Tm_abs_e9b780d87b9e0e900694c1825f5011b6", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "token_correspondence_Test.FunctionalExtensionality.on_2", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_8a1913ab668eccf45d64a086a31b9ee1", - "typing_Tm_abs_aeea220d0385f55e5cf0750c5592cb08", - "typing_Tm_abs_e9b780d87b9e0e900694c1825f5011b6" - ], - 0, - "cc6e334933209a50bd0f19ad1f92724f" - ], - [ - "Test.FunctionalExtensionality.needs_explicit_coercion", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Prims.int", "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" - ], - 0, - "a018f66deb0d784e3a7276c301f8e95b" - ], - [ - "Test.FunctionalExtensionality.sub_currently_not_why", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.FunctionalExtensionality_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9", - "interpretation_Tm_abs_fe1329e4eb0e5867f47cbc40ae23746e", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Prims.int", "typing_Tm_abs_198369e9b95c3a9aefb7ef145e8927e9" - ], - 0, - "d822776077579e7e261a2eef95424c56" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.HyperStack.fst.hints b/tests/micro-benchmarks/Test.HyperStack.fst.hints deleted file mode 100644 index 47701b77abf..00000000000 --- a/tests/micro-benchmarks/Test.HyperStack.fst.hints +++ /dev/null @@ -1,1683 +0,0 @@ -[ - "|÷ÞfÐZ\u0004׸\u001d`\u0002\"P+\u0004", - [ - [ - "Test.HyperStack.test0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "40a4704d0e12f7c65429bdd26bc00f8f" - ], - [ - "Test.HyperStack.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "lemma_FStar.Monotonic.HyperHeap.root_is_root", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_77d6c8e013b14e7bcc36518b73395f10", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region" - ], - 0, - "ccac02ef8d5c9a833d6067e1b3c0bdb7" - ], - [ - "Test.HyperStack.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_a5b46786944acc16cc4fe92ba9a698b9", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "6420b4ef355b5046c9ff637469e1a3fe" - ], - [ - "Test.HyperStack.dc_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_645daf543db7209ab47300e6c88dad99" - ], - 0, - "da893f191fe4180b0addf82a9c5208f7" - ], - [ - "Test.HyperStack.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_f7803bdde8b6839e42390e041b4e70af", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "a6d4866ce4bb2425ca59d6c49b706193" - ], - [ - "Test.HyperStack.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "int_inversion", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_201c3c2608dd2ddfbda81578176cc2d7", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_stack_region" - ], - 0, - "c3cefdb8cc0f8a290b24bff431aa722c" - ], - [ - "Test.HyperStack.stronger_fresh_region_was_redundant", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.fresh_region", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant" - ], - 0, - "555363d414e1fdadc3357e3bc3dbd6f7" - ], - [ - "Test.HyperStack.test5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.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", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "20bab611f05f8582b230d3794a994398" - ], - [ - "Test.HyperStack.test_do_nothing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "9b02a269a1704b2ceb18ddc7cf298cb2" - ], - [ - "Test.HyperStack.test_do_something", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.Monotonic.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", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "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", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bdf70eef841ae60f1910b1ebc0bbc2a9", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "aec34e353f0881e9e8aa42f985c528d6" - ], - [ - "Test.HyperStack.test_do_something_else", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.Monotonic.Heap.equal_dom", - "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", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "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", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_242a5ce5531b6148a7c91a12b31f9e9a", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75eda4ddf1514dcd885832d9e6ba112a", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "b64a6bedc93a90d0589d1bc10a303e90" - ], - [ - "Test.HyperStack.test_allocate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52adbcc5120b9f24f066605394aa85fe", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "c289354bdc62add55c667d66999d6d2d" - ], - [ - "Test.HyperStack.test_nested_stl", - 1, - 2, - 1, - [ "@query" ], - 0, - "4910b4d5baaffb1883334f89a48a917f" - ], - [ - "Test.HyperStack.test_nested_stl2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "72b024fafffad83c6571e817fc6e07f2" - ], - [ - "Test.HyperStack.test_stack", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_131e770cef4d346f450559d124ae4297", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "deed373686449faa121a06220f0e099d" - ], - [ - "Test.HyperStack.test_stack_with_long_lived", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_094db27548324b1ca94bd3940c66d6dd", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_2152a3b128a604637d876e357948afd8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "5d59ea46c6e40734ee4fce4e922b0844" - ], - [ - "Test.HyperStack.test_heap_code_with_stack_calls", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.heap_only", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3e29a123a81b1efe1fbb1504425e0f59", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_738e147dbdbb7591e4931857b5ff9bd6", - "refinement_interpretation_Tm_refine_c0d3772a9648dd83d333f4e841be06a8", - "refinement_interpretation_Tm_refine_e8538451db0ecce6a3fc24fb4c57421e", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "d739c52dd04ee86f1492ba4bbd714e84" - ], - [ - "Test.HyperStack.test_heap_code_with_stack_calls_and_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.heap_only", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_738e147dbdbb7591e4931857b5ff9bd6", - "refinement_interpretation_Tm_refine_e8538451db0ecce6a3fc24fb4c57421e", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "4e5e4e1ff25d7f79aa29e5e2c453fc4d" - ], - [ - "Test.HyperStack.test_lax_code_with_stack_calls_and_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_72697ec91259229896a5701797eb7611", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_e8538451db0ecce6a3fc24fb4c57421e", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "212d1837e54295f83518a4b63b926a75" - ], - [ - "Test.HyperStack.test_lax_code_with_stack_calls_and_regions_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_e8538451db0ecce6a3fc24fb4c57421e", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "7d0c1d9a8f0b4b097d2894bf0fbfc55f" - ], - [ - "Test.HyperStack.test_to_be_stack_inlined", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52adbcc5120b9f24f066605394aa85fe", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.int" - ], - 0, - "4683d56229dca7460ccd97a6eb5f0519" - ], - [ - "Test.HyperStack.test_stack_function_with_inline", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_51b4df27f2a0caf405f3869b91507ead", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "94ae357cc29885b7f1dfe7c353949961" - ], - [ - "Test.HyperStack.test_st_function_with_inline", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_51b4df27f2a0caf405f3869b91507ead", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "8ae91f4dd4a51446b315e7bce0c80465" - ], - [ - "Test.HyperStack.test_to_be_inlined", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_inv", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4adbd4e8be8e0e2c3bdcd70053e1e6c2", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "b74e434670b25f280589e2564dd78923" - ], - [ - "Test.HyperStack.test_st_function_with_inline_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_inv", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "023b5193c2dd848406af312a2c15cb44" - ], - [ - "Test.HyperStack.with_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_84acff27f7e89d6fa6a0f8d221b6aaf1" - ], - 0, - "b1c4c74cc954bffc53ed80df05cb41de" - ], - [ - "Test.HyperStack.with_frame", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_84acff27f7e89d6fa6a0f8d221b6aaf1", - "refinement_interpretation_Tm_refine_b16bf82b210653a34e4d7322fab91ffb", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "394ffd1e699a7b1c66930054428065d5" - ], - [ - "Test.HyperStack.mm_tests", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mmmref", - "equation_FStar.HyperStack.ST.mmmstackref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.free", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "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.mmmref", - "equation_FStar.Monotonic.HyperStack.mmmstackref", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_contains", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_077942947f03017592acbd4457f123a1", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_433a6ba0587d1ca6a1ced9d7f162c4b1", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "f3fdbc25b0d57215ccf07a82e64ba497" - ], - [ - "Test.HyperStack.mods_test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_20fe33f7603381fd587c6aa3b80e7c4d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "c8d1f0c7dd00c4213a98cd9940414cb2" - ], - [ - "Test.HyperStack.test_alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_sel", - "equation_FStar.Monotonic.Seq.i_seq", - "equation_FStar.Monotonic.Seq.rid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_310e7a29569e2d208223322b6967b938", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.Seq.grows_p" - ], - 0, - "8153e6c1c104efd6721cfb298cfdca35" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.IFC.fst.hints b/tests/micro-benchmarks/Test.IFC.fst.hints deleted file mode 100644 index 592aeee8a23..00000000000 --- a/tests/micro-benchmarks/Test.IFC.fst.hints +++ /dev/null @@ -1,139 +0,0 @@ -[ - " —óHÛd.Ž\u0003yUì “\u001cC", - [ - [ - "Test.IFC.two_point_lattice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Test.IFC_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "bool_inversion", "bool_typing", "equation_FStar.IFC.associative", - "equation_FStar.IFC.commutative", "equation_FStar.IFC.idempotent", - "interpretation_Tm_abs_97a476600c466721ac503386d260fe4f", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_97a476600c466721ac503386d260fe4f" - ], - 0, - "d82a0d76b3a946ae069e2d711a2d5ad2" - ], - [ - "Test.IFC.high", - 1, - 2, - 1, - [ - "@query", "bool_typing", "equation_Test.IFC.sl2", - "equation_Test.IFC.two_point_lattice", - "kinding_FStar.IFC.semilattice@tok", "lemma_FStar.Ghost.reveal_hide", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "projection_inverse_FStar.IFC.SemiLattice_carrier", - "typing_Test.IFC.two_point_lattice" - ], - 0, - "8e04e4862078473030a14a219c5c6d94" - ], - [ - "Test.IFC.low", - 1, - 2, - 1, - [ - "@query", "bool_typing", "equation_Test.IFC.sl2", - "equation_Test.IFC.two_point_lattice", - "kinding_FStar.IFC.semilattice@tok", "lemma_FStar.Ghost.reveal_hide", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "projection_inverse_FStar.IFC.SemiLattice_carrier", - "typing_Test.IFC.two_point_lattice" - ], - 0, - "91329b9c2c5ac177afa828f82945ada5" - ], - [ - "Test.IFC.test1", - 1, - 2, - 1, - [ "@query" ], - 0, - "e674be3481fc61954cbaa8c9c4ed9931" - ], - [ - "Test.IFC.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.IFC_interpretation_Tm_arrow_a1ef9795f88b89bfdb3ae9a758b357f1", - "equation_FStar.IFC.sl", "equation_Prims.eqtype", - "equation_Test.IFC.sl2", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_57ccb6a43923cce3346fdc9c8d51514e", - "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_0b8779a6528dd6ff72a32838b4a5f4da", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", - "typing_FStar.IFC.map", "typing_Prims.int", "typing_Test.IFC.sl2", - "typing_Tm_abs_57ccb6a43923cce3346fdc9c8d51514e" - ], - 0, - "11d43b513415de446780594342c8db88" - ], - [ - "Test.IFC.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", - "FStar.IFC_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Test.IFC_interpretation_Tm_arrow_0ef3e9ddeba627e9d86d12eb22cab0bf", - "Test.IFC_interpretation_Tm_arrow_203a48d652ef7e53784cb3bf05000908", - "bool_inversion", "bool_typing", "data_elim_FStar.IFC.SemiLattice", - "equation_FStar.IFC.associative", "equation_FStar.IFC.commutative", - "equation_FStar.IFC.idempotent", - "equation_FStar.IFC.lattice_element", "equation_FStar.IFC.sl", - "equation_Prims.eqtype", "equation_Test.IFC.low", - "equation_Test.IFC.ret", "equation_Test.IFC.sl2", - "equation_Test.IFC.two_point_lattice", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "interpretation_Tm_abs_537a01fb272bf25a5da2616578666b86", - "interpretation_Tm_abs_97a476600c466721ac503386d260fe4f", - "interpretation_Tm_abs_e65dcfef4f478da10e6bd1c26ad81c4c", - "kinding_FStar.IFC.semilattice@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.IFC.reveal_hide", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "proj_equation_FStar.IFC.SemiLattice_lub", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.IFC.SemiLattice_carrier", - "projection_inverse_FStar.IFC.SemiLattice_lub", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f04e826ab7f3e4d780d93c7af3469e1", - "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_94950950f377fd96ab18089c38366e64", - "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", - "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", - "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.IFC.__proj__SemiLattice__item__carrier", - "typing_FStar.IFC.join", "typing_FStar.IFC.map", - "typing_FStar.IFC.protected", "typing_Prims.int", - "typing_Test.IFC.low", "typing_Test.IFC.sl2", - "typing_Test.IFC.two_point_lattice", - "typing_Tm_abs_537a01fb272bf25a5da2616578666b86", - "typing_Tm_abs_e65dcfef4f478da10e6bd1c26ad81c4c" - ], - 0, - "80a56f3542442a20b6b6abb52644be76" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.Integers.fst.hints b/tests/micro-benchmarks/Test.Integers.fst.hints deleted file mode 100644 index e3ecd80dc08..00000000000 --- a/tests/micro-benchmarks/Test.Integers.fst.hints +++ /dev/null @@ -1,344 +0,0 @@ -[ - "òx\u000baóŸ©mr©iÉQfi;", - [ - [ - "Test.Integers.ex1_const_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955" - ], - 0, - "76f652e0e5c0b15b8401c8abd536c297" - ], - [ - "Test.Integers.ex3_nat_custom_int_pos", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1f4f9ef90695269da862ffc95210b1e4", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_a5e45e5366dd3f0120ddd2f82f92e757" - ], - 0, - "9bcee15a2517796f44bef96fd0de5f67" - ], - [ - "Test.Integers.ex4_prims_again", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1f4f9ef90695269da862ffc95210b1e4", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_a5e45e5366dd3f0120ddd2f82f92e757" - ], - 0, - "d989a83ec2031456af187dd9bb31bd79" - ], - [ - "Test.Integers.ex5_uint32_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4d75010ffac0608e101e75d4219b953e" - ], - 0, - "25991d99119073120e286268c395db65" - ], - [ - "Test.Integers.ex5_uint32_ok", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "42302deafe901f26bffdf61acd482e48" - ], - [ - "Test.Integers.ex6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989" - ], - 0, - "70dbf045b8db5a307cd4889928af90f3" - ], - [ - "Test.Integers.ex10", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2158cacc07d901c394961a0311fca2fd" - ], - 0, - "cd66b7092a95ff49d51bb327580bfa39" - ], - [ - "Test.Integers.ex13", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "equality_tok_FStar.Integers.W16@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt16.v" - ], - 0, - "83b47b9c5d4506fa69eebe452593725c" - ], - [ - "Test.Integers.ex13", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "equality_tok_FStar.Integers.W16@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt16.v" - ], - 0, - "505485223a5b0c753839d26ea9abbf3c" - ], - [ - "Test.Integers.ex14", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "d5933cb2d37a4795280592b50636c66f" - ], - [ - "Test.Integers.ex15", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "c6d096329cf02554cf8dfd6e43cd0800" - ], - [ - "Test.Integers.ex16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "56532fdbe57c8a8bcc07778fecc3d707" - ], - [ - "Test.Integers.ex17", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_Prims.nat", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_3e82a099f91c1422b029470052ae9267", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "99d0ed82d8d92a16bef4589c91fbecc0" - ], - [ - "Test.Integers.ex20", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "disc_equation_FStar.Integers.Signed", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.lt", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int32.lt", "equation_FStar.Integers.int_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int32.uv_inv", - "lemma_FStar.Int32.vu_inv", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_2370a76276b3eaf034dd2a6c193ec479", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_627e9f1cc724efa294bbc10092665eb4", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9dbcd494d9a7b9d17cab3f0ba2be226e", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.sub", - "typing_FStar.Int32.t", "typing_FStar.Int32.v", "typing_Prims.int", - "typing_Prims.pow2" - ], - 0, - "3d891ddc811e73b94d4b8688eab8d902" - ], - [ - "Test.Integers.t0", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "9b40235258ad64b549306b30bd7bb878" - ], - [ - "Test.Integers.t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "bdd5a006d5c3ecedc8e3365d9ae5baac" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.LexemeFILELINE.fst b/tests/micro-benchmarks/Test.LexemeFILELINE.fst new file mode 100644 index 00000000000..9a326856055 --- /dev/null +++ b/tests/micro-benchmarks/Test.LexemeFILELINE.fst @@ -0,0 +1,6 @@ +/// A new lexeme __FILELINE__ has been added to show file and line (file(line)) to make writing tests easier. +/// This file is line sensitive any edit will change the value of __FILELINE__. +module Test.LexemeFILELINE + +let fl = __FILELINE__ +let _ = assert_norm(fl = "Test.LexemeFILELINE.fst(5)") diff --git a/tests/micro-benchmarks/Test.NBE.fst.hints b/tests/micro-benchmarks/Test.NBE.fst.hints deleted file mode 100644 index 43456548c61..00000000000 --- a/tests/micro-benchmarks/Test.NBE.fst.hints +++ /dev/null @@ -1,79 +0,0 @@ -[ - "‰Çõ7d\u0014\u0012®C]'p(4ûI", - [ - [ - "Test.NBE.append_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "8923ecedcee7a0408cd6927404ea5297" - ], - [ - "Test.NBE.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6a48718effd53c05d9129afefbbbce89" - ], - [ - "Test.NBE.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6fb3b7ca2e3500894287baf19c2d0caa" - ], - [ - "Test.NBE.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7168fae1365b2e923083aa92efbb80cb" - ], - [ - "Test.NBE.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "31abd10c2508473b480cdd718d0131d7" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.Printf.fst.hints b/tests/micro-benchmarks/Test.Printf.fst.hints deleted file mode 100644 index 3dff04b0992..00000000000 --- a/tests/micro-benchmarks/Test.Printf.fst.hints +++ /dev/null @@ -1,28 +0,0 @@ -[ - "ÛŒCnÃì#ç¸éç\fÍ\u0019\u0012Y", - [ - [ - "Test.Printf.something_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Test.Printf.That", - "disc_equation_Test.Printf.This", - "fuel_guarded_inversion_Test.Printf.something", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cfb1f51b7bcf7959f6e1b91505cb7fbb" - ], - [ - "Test.Printf.parse_something", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "subterm_ordering_Prims.Cons" ], - 0, - "02725684cc846207fafb48d7b1d885b6" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.QuickCode.fst.hints b/tests/micro-benchmarks/Test.QuickCode.fst.hints deleted file mode 100644 index aa1919e9573..00000000000 --- a/tests/micro-benchmarks/Test.QuickCode.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "o×^¢+žfÒ(=Æi\bÖˆ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.Real.fst b/tests/micro-benchmarks/Test.Real.fst index 4834dbd1ffd..6ad59d281ca 100644 --- a/tests/micro-benchmarks/Test.Real.fst +++ b/tests/micro-benchmarks/Test.Real.fst @@ -37,7 +37,6 @@ let test_div_lt = assert (8.0R /. 2.0R <. 5.0R) let test_sqrt_2_mul = assert (sqrt_2 *. sqrt_2 == 2.0R) -[@@expect_failure] // should hopefully work... let test_sqrt_2_add = assert (sqrt_2 >. 1.0R) let test_sqrt_2_add_explicit = diff --git a/tests/micro-benchmarks/Test.Real.fst.hints b/tests/micro-benchmarks/Test.Real.fst.hints deleted file mode 100644 index 33ab1a44680..00000000000 --- a/tests/micro-benchmarks/Test.Real.fst.hints +++ /dev/null @@ -1,402 +0,0 @@ -[ - "Ç\\ï>üíPIe;@J=¤wÞ", - [ - [ - "Test.Real.n_over_n2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "real_inversion", - "refinement_interpretation_Tm_refine_b908214a99d6c8576e2baa4031c16cd3" - ], - 0, - "fabf8fd03903112a203c44ac0d26fc7e" - ], - [ - "Test.Real.test", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Real.one", "equation_FStar.Real.two", - "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "0f58c02a6ca4a423db701b4ec06a44de" - ], - [ - "Test.Real.test1", - 1, - 2, - 1, - [ "@query", "equation_FStar.Real.one" ], - 0, - "58f7eedf73a8aabaddda5ac6c28ce18a" - ], - [ - "Test.Real.test_lt1", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "be87a1bde9785d1cdbf1f383887c6323" - ], - [ - "Test.Real.test_lt3", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "4dff66ba45fac1484602585817db2c1f" - ], - [ - "Test.Real.test_le1", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Equals_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "8657730e1fa7e3aa97b667ae1dbafb93" - ], - [ - "Test.Real.test_le3", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Equals_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "7724976f2e158149d27f4da233d15313" - ], - [ - "Test.Real.test_gt1", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "ddf6568bf51510314d416536ebf797d2" - ], - [ - "Test.Real.test_gt3", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "39e96f208545c22aa36dd361f0181235" - ], - [ - "Test.Real.test_ge1", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "0f16b774c5739c582084d89186dfdce0" - ], - [ - "Test.Real.test_ge3", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "d4771ea6185505830560c884446d919e" - ], - [ - "Test.Real.test_add_eq", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "336b4f9df2b09aa4926ddeb3fa74e716" - ], - [ - "Test.Real.test_add_eq'", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "6faaacabfc38746f97ad34a8a339cd68" - ], - [ - "Test.Real.test_add_lt", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Dot", - "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "1e74e16d2343bf434e3804a0cdda361d" - ], - [ - "Test.Real.test_mul_eq", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "8722e7d800f6e9b75fa913565f1affbb" - ], - [ - "Test.Real.test_mul_lt", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Dot", - "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "b910fd8b6f19a59c169a1bec3d3aa32c" - ], - [ - "Test.Real.test_div_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "primitive_FStar.Real.op_Slash_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion" - ], - 0, - "c1337f59a4fc6a48c9fbcf06393e6caa" - ], - [ - "Test.Real.test_div_lt", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Less_Dot", - "primitive_FStar.Real.op_Slash_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "9705a4f6666676446a0b50679908908c" - ], - [ - "Test.Real.test_sqrt_2_mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", - "refinement_interpretation_Tm_refine_724b3567cc043f81c2fc07ed69fc406d", - "typing_FStar.Real.sqrt_2" - ], - 0, - "e2b1739909e913f65de053bcdd9a6619" - ], - [ - "Test.Real.test_sqrt_2_add_explicit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", - "primitive_FStar.Real.op_Greater_Dot", - "primitive_FStar.Real.op_Greater_Equals_Dot", - "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_724b3567cc043f81c2fc07ed69fc406d", - "refinement_interpretation_Tm_refine_fbb219a6e7fc591c4f1b31a00c462bc3" - ], - 0, - "39591616499d831aa7e8b66a91f3b0de" - ], - [ - "Test.Real.test_sqrt_2_scale", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", - "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_16721e87b71ed56e57250962e4ed1730", - "refinement_interpretation_Tm_refine_724b3567cc043f81c2fc07ed69fc406d", - "typing_FStar.Real.sqrt_2" - ], - 0, - "d856d12c5e98729fc43105da7ad8faf5" - ], - [ - "Test.Real.add_id_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion" - ], - 0, - "cf995c0fc37bd4bb0738f4842a29acda" - ], - [ - "Test.Real.add_id_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion" - ], - 0, - "d8e7f8792ff0b95a3f30e07cf01a884c" - ], - [ - "Test.Real.mul_nil_l", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "166eca133e7b28d04023c115f09b3037" - ], - [ - "Test.Real.mul_nil_r", - 1, - 2, - 1, - [ - "@query", "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "36f0bce1710be0f6f21139134cf0c798" - ], - [ - "Test.Real.mul_id_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion" - ], - 0, - "69515742cb98c4da8c45e2f430b348e6" - ], - [ - "Test.Real.mul_id_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion" - ], - 0, - "2d27d2159abc5c709ac2f628cc47b9d6" - ], - [ - "Test.Real.add_comm", - 1, - 2, - 1, - [ "@query", "primitive_FStar.Real.op_Plus_Dot" ], - 0, - "32e31cc6f702f379b679d36b113322d6" - ], - [ - "Test.Real.add_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_FStar.Real.op_Plus_Dot", - "projection_inverse_BoxReal_proj_0", "real_inversion", "real_typing" - ], - 0, - "9297ba369795718be64cc9f93bb06974" - ], - [ - "Test.Real.mul_comm", - 1, - 2, - 1, - [ "@query", "primitive_FStar.Real.op_Star_Dot" ], - 0, - "0852ea6cb93e37085d8b9bb503d24101" - ], - [ - "Test.Real.mul_assoc", - 1, - 2, - 1, - [ "@query" ], - 0, - "9472b144206985bbe21f44988b4b8df9" - ], - [ - "Test.Real.mul_dist", - 1, - 2, - 1, - [ "@query" ], - 0, - "0d309a78473063969d89a84912d43359" - ], - [ - "Test.Real.test_ref3", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Real.zero", - "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0" - ], - 0, - "6197594242364065a2f963488ae295cf" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Test.ReifyNBE.fst.hints b/tests/micro-benchmarks/Test.ReifyNBE.fst.hints deleted file mode 100644 index dd7a7554b09..00000000000 --- a/tests/micro-benchmarks/Test.ReifyNBE.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "5UxñÕK—’È\u001cO#“ZÈþ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestGhost.fst.hints b/tests/micro-benchmarks/TestGhost.fst.hints deleted file mode 100644 index 5f8a3385a3a..00000000000 --- a/tests/micro-benchmarks/TestGhost.fst.hints +++ /dev/null @@ -1,28 +0,0 @@ -[ - "©\u007f©Àp?eH<\u0004º†ZSX", - [ - [ - "TestGhost.h", - 1, - 2, - 1, - [ "@query" ], - 0, - "f460d2a060a568cd8fa33fdd011b1fc8" - ], - [ - "TestGhost.i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Ghost.hide_reveal", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f9cdfd0ab1161322ab5592eb8e11f375" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestHasEq.fst.hints b/tests/micro-benchmarks/TestHasEq.fst.hints deleted file mode 100644 index cb3c38d397e..00000000000 --- a/tests/micro-benchmarks/TestHasEq.fst.hints +++ /dev/null @@ -1,166 +0,0 @@ -[ - "\u0005¡cEmy£?Ñc³à\u0017B·d", - [ - [ - "TestHasEq.mlist", - 1, - 2, - 1, - [ "@query" ], - 0, - "02da6f9178c9f0eba2bf251472729f08" - ], - [ - "TestHasEq.__proj__MCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" - ], - 0, - "477e56c27c2f8e307ace8e30c29316ad" - ], - [ - "TestHasEq.__proj__MCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_04c57beb84c7e65ffbf87f2b1dfc7ef5" - ], - 0, - "0ca0f539618e35878094ba745e03df59" - ], - [ - "TestHasEq.__proj__NCons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" - ], - 0, - "7f6c5b7d3fa6a90bf9693ab243b12e0b" - ], - [ - "TestHasEq.__proj__NCons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b907b210749d62a64a384804262b9e4" - ], - 0, - "1370f56b9a012b04da2b51e9147c0b25" - ], - [ - "TestHasEq.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_TestHasEq.mlist__uu___haseq", - "assumption_TestHasEq.nlist__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "b1feeea1743300a8025ab63020b77adb" - ], - [ - "TestHasEq.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_TestHasEq.t__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" - ], - 0, - "191b07f755bc80f01101442793715285" - ], - [ - "TestHasEq.t1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0e5a3f75b530969f110fe3a25e31111c" - ], - [ - "TestHasEq.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_TestHasEq.t1__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "49b9db7559c48d9e780d892b38a347a0" - ], - [ - "TestHasEq.test4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "TestHasEq_interpretation_Tm_arrow_9974df5c311cfcfa7100bc7bef095e1e", - "assumption_Prims.dtuple2__uu___haseq", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_2b9cd3e1fbccf82e9ebe34941f00564d", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_387fd552e28fe87679131f6c15e8816b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int", "typing_Tm_abs_387fd552e28fe87679131f6c15e8816b" - ], - 0, - "c535e9226410a0a1bea799781a455868" - ], - [ - "TestHasEq.t4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9eb0d250d7e62fd58a30226e86e1ffec" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestHeap.fst.hints b/tests/micro-benchmarks/TestHeap.fst.hints deleted file mode 100644 index 949a178c198..00000000000 --- a/tests/micro-benchmarks/TestHeap.fst.hints +++ /dev/null @@ -1,101 +0,0 @@ -[ - "“øâ\u0014“¿ƒA(ÔÈÐ×Úê®", - [ - [ - "TestHeap.test0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", - "typing_FStar.Heap.trivial_preorder", "typing_Prims.int", - "typing_TestHeap.h", "typing_TestHeap.x" - ], - 0, - "2ce35fa8941da7fb88d807ac7ee64c42" - ], - [ - "TestHeap.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_TestHeap.DistinctXY", "equation_FStar.Heap.ref", - "equation_FStar.Heap.trivial_preorder", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.upd", "typing_Prims.int", - "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" - ], - 0, - "010d0d528954a8e1f76d09149ab6f5de" - ], - [ - "TestHeap.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Heap.ref", - "equation_Prims.eqtype", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.upd", "typing_Prims.int", - "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" - ], - 0, - "8d10b2d0b662494e267963ef12da3fc3" - ], - [ - "TestHeap.test7", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_TestHeap.DistinctXY", "equation_FStar.Heap.ref", - "equation_FStar.Heap.trivial_preorder", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.upd", "typing_Prims.int", - "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" - ], - 0, - "ca6ddb7555a9818390686a21f5cbc9f4" - ], - [ - "TestHeap.test8", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "assumption_TestHeap.DistinctXY", - "equation_FStar.Heap.ref", "equation_Prims.eqtype", "int_typing", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8e3b7159161f774a041c4613caecae05", - "typing_FStar.Heap.trivial_preorder", "typing_Prims.int", - "typing_TestHeap.h", "typing_TestHeap.x", "typing_TestHeap.y" - ], - 0, - "91a67dd4206d237cbc62459678b28738" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestImmutableArray.fst.hints b/tests/micro-benchmarks/TestImmutableArray.fst.hints deleted file mode 100644 index 749021e8dcb..00000000000 --- a/tests/micro-benchmarks/TestImmutableArray.fst.hints +++ /dev/null @@ -1,70 +0,0 @@ -[ - ";ú\u001e2ôA8â'› düQ\u0004Ë", - [ - [ - "TestImmutableArray.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.ImmutableArray.Base.array_has_eq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "abc1d3193cca4b1ddc8f4ce2a09d7f5a" - ], - [ - "TestImmutableArray.test_length_correspondence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "lemma_FStar.ImmutableArray.length_spec", - "lemma_FStar.ImmutableArray.to_list_of_list", - "typing_FStar.ImmutableArray.Base.of_list" - ], - 0, - "9558daf3941b92cc647cfd9151e6992d" - ], - [ - "TestImmutableArray.test_index_correspondence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.nat", "int_inversion", - "lemma_FStar.ImmutableArray.index_spec", - "lemma_FStar.ImmutableArray.length_spec", - "lemma_FStar.ImmutableArray.to_list_of_list", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_edb064fdc83c1f3b2d617f591ddbc683", - "typing_FStar.ImmutableArray.Base.of_list" - ], - 0, - "caf1811529220f953077771bd19a71e8" - ], - [ - "TestImmutableArray.__proj__Array__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d37a57f00cafb69b97302439f61bb47d" - ], - 0, - "57d35fe526dd6062340161a9e1e10c90" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestMRef.fst.hints b/tests/micro-benchmarks/TestMRef.fst.hints deleted file mode 100644 index 56a387da1be..00000000000 --- a/tests/micro-benchmarks/TestMRef.fst.hints +++ /dev/null @@ -1,233 +0,0 @@ -[ - "Íðh‚w|Á²8”çþŽNõ2", - [ - [ - "TestMRef.x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "609cf75b8171cf69d28f2d992e381110" - ], - [ - "TestMRef.x", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b13dfb0b096565a4f47a0f9cf7f8e88c" - ], - [ - "TestMRef.test_frame_write_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_428c3775a4c1194ebbe7cf7d60b4e887", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_93d9cd084302274fcc3576482c95555c", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton", - "typing_Prims.int", "typing_TestMRef.y", "typing_TestMRef.z" - ], - 0, - "cb6d9f84115ff09a5dafedc281d63b12" - ], - [ - "TestMRef.test_frame_write_mref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "dd9871671b2c0212063c6c11bbb70809" - ], - [ - "TestMRef.test_frame_write_mref", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Monotonic.Heap.set", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "lemma_FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_93d9cd084302274fcc3576482c95555c", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_eec04bfdf4d8c02294d16fc30fe16cbc", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_Prims.int", - "typing_TestMRef.x", "typing_TestMRef.y" - ], - 0, - "c9814b84814261e7fc1bce8b4595ea5c" - ], - [ - "TestMRef.test_frame_alloc_mref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "38e7aa5c4a8fe93e22a42ddd820bc0d6" - ], - [ - "TestMRef.test_frame_alloc_mref", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_FStar.ST.mref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_769338d37e2d555d728186a4af466836", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", - "typing_Prims.int", "typing_TestMRef.x" - ], - 0, - "df1696a3d8decca320c28be37bee108a" - ], - [ - "TestMRef.test_write_mref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e2d0315a1628f3e029687fffd4d770a3" - ], - [ - "TestMRef.test_write_mref", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.Heap.only", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_5a7d5b4c7f9d14cf0daa3ed1c1662efa", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1b20e2d67a02e14eb4b50ec6bab5acf0", - "refinement_interpretation_Tm_refine_769338d37e2d555d728186a4af466836" - ], - 0, - "94618dbd05f8dd104620a583fcc04750" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestPrintable.fst.hints b/tests/micro-benchmarks/TestPrintable.fst.hints deleted file mode 100644 index 5a8b593497f..00000000000 --- a/tests/micro-benchmarks/TestPrintable.fst.hints +++ /dev/null @@ -1,24 +0,0 @@ -[ - "Û”=P\u0016™›–R£¨ºzåÿ", - [ - [ - "TestPrintable.printable_option_test_none", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "equation_FStar.Class.Printable.printable_int", - "equation_FStar.Class.Printable.printable_option", - "equation_FStar.Class.Printable.to_string", - "interpretation_Tm_abs_05d65f5562357baf242333935ca97594", - "interpretation_Tm_abs_870c1aa3c336b63f0547b46db0492dfc", - "projection_inverse_FStar.Class.Printable.Mkprintable_to_string", - "projection_inverse_FStar.Pervasives.Native.None_a", - "token_correspondence_FStar.Class.Printable.to_string" - ], - 0, - "419aede1fbd23dac6938f1ea0fee896b" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestQueue.fst.hints b/tests/micro-benchmarks/TestQueue.fst.hints deleted file mode 100644 index caf4119054d..00000000000 --- a/tests/micro-benchmarks/TestQueue.fst.hints +++ /dev/null @@ -1,352 +0,0 @@ -[ - "\u0003”R!¦¯Hé\u0004p “àTÃ", - [ - [ - "TestQueue.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.snoc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_TestQueue.my_queue", "equation_TestQueue.my_seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_eq_intro", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_Prims.int", "typing_TestQueue.my_queue", - "typing_TestQueue.my_seq" - ], - 0, - "3c50f66c862511c37ce06e1947102a03" - ], - [ - "TestQueue.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.snoc", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_TestQueue.my_queue", "equation_TestQueue.my_seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_eq_intro", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc", "typing_Prims.int", - "typing_TestQueue.my_queue", "typing_TestQueue.my_seq" - ], - 0, - "97c50ccba5459f44565274a98c72f276" - ], - [ - "TestQueue.uu___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_TestQueue.my_queue", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_dequeue_ok", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "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_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_Prims.int", - "typing_TestQueue.my_queue" - ], - 0, - "e990d215e704308d76334c28679ebd49" - ], - [ - "TestQueue.uu___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_TestQueue.my_queue", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_dequeue_ok", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_eq_elim", - "lemma_FStar.FunctionalQueue.lemma_eq_intro", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "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", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_Prims.int", "typing_TestQueue.my_queue" - ], - 0, - "87cb56977d3383ae47f2f835d502f1ab" - ], - [ - "TestQueue.uu___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_dequeue_ok", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_eq_elim", - "lemma_FStar.FunctionalQueue.lemma_eq_intro", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "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", - "refinement_interpretation_Tm_refine_0cd91f2dcf399ae721df2ca3658f3038", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_Prims.int" - ], - 0, - "f00989a819b99e9c022687154b50909e" - ], - [ - "TestQueue.uu___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_TestQueue.my_queue", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_peek_ok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_Prims.int", - "typing_TestQueue.my_queue" - ], - 0, - "cf50263d52bab842e2101a641ba3c7d5" - ], - [ - "TestQueue.uu___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_TestQueue.my_queue", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_dequeue_ok", - "lemma_FStar.FunctionalQueue.lemma_empty_ok", - "lemma_FStar.FunctionalQueue.lemma_enqueue_ok", - "lemma_FStar.FunctionalQueue.lemma_eq_elim", - "lemma_FStar.FunctionalQueue.lemma_peek_ok", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "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", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_Prims.int", "typing_TestQueue.my_queue" - ], - 0, - "3134c7f6b1fcca3fc53c3de93060cc7c" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestSealed.fst.hints b/tests/micro-benchmarks/TestSealed.fst.hints deleted file mode 100644 index 186fe651e20..00000000000 --- a/tests/micro-benchmarks/TestSealed.fst.hints +++ /dev/null @@ -1,101 +0,0 @@ -[ - "ý\"\"öY—\u001b…‘b\\û\u00023ªr", - [ - [ - "TestSealed.my_seal", - 1, - 2, - 1, - [ "@query", "equation_TestSealed.is_sealed", "true_interp" ], - 0, - "87a2200fff8f7236c1168ac0e5ffccc3" - ], - [ - "TestSealed.test1_auto", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "lemma_TestSealed.my_seal_singleton", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7a25c9383fe84be77bac330bdc39921f", - "typing_Prims.int" - ], - 0, - "bab2d54586dd14835ad3ac1aae467812" - ], - [ - "TestSealed.sfac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "269f52862b2b2f6a1f1295bef97c8320" - ], - [ - "TestSealed.sealnat_auto", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_TestSealed.sealnat", "equation_TestSealed.snat", - "int_typing", "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_TestSealed.sealnat" - ], - 0, - "fbda646f70ce0dc266e49c06eb17e056" - ], - [ - "TestSealed.snatfac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "equation_TestSealed.snat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "221800797e1aea85737d4f5386ff0e65" - ] - ] -] \ No newline at end of file diff --git a/examples/misc/TestSeq.fst b/tests/micro-benchmarks/TestSeq.fst similarity index 100% rename from examples/misc/TestSeq.fst rename to tests/micro-benchmarks/TestSeq.fst diff --git a/examples/misc/TestSeq.out.expected b/tests/micro-benchmarks/TestSeq.out.expected similarity index 100% rename from examples/misc/TestSeq.out.expected rename to tests/micro-benchmarks/TestSeq.out.expected diff --git a/tests/micro-benchmarks/TestSet.fst.hints b/tests/micro-benchmarks/TestSet.fst.hints deleted file mode 100644 index 2adfd9e2dd5..00000000000 --- a/tests/micro-benchmarks/TestSet.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "IkÙ²/`x{Mo?ùkÒ\u0003", - [ - [ - "TestSet.should_succeed", - 1, - 2, - 1, - [ - "@query", "equation_FStar.TSet.subset", "l_or-interp", - "lemma_FStar.TSet.lemma_equal_intro", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "typing_FStar.TSet.singleton", "typing_FStar.TSet.union", - "typing_TestSet.a", "typing_TestSet.b", "typing_TestSet.elt" - ], - 0, - "c891c59e352b66ebb5e6446d84917637" - ] - ] -] \ No newline at end of file diff --git a/examples/misc/TestStrings.fst b/tests/micro-benchmarks/TestStrings.fst similarity index 100% rename from examples/misc/TestStrings.fst rename to tests/micro-benchmarks/TestStrings.fst diff --git a/examples/misc/TestStrings.out.expected b/tests/micro-benchmarks/TestStrings.out.expected similarity index 100% rename from examples/misc/TestStrings.out.expected rename to tests/micro-benchmarks/TestStrings.out.expected diff --git a/tests/micro-benchmarks/TestTwoLevelHeap.fst.hints b/tests/micro-benchmarks/TestTwoLevelHeap.fst.hints deleted file mode 100644 index 3d63265d119..00000000000 --- a/tests/micro-benchmarks/TestTwoLevelHeap.fst.hints +++ /dev/null @@ -1,49 +0,0 @@ -[ - "™\u0001g'hI\u0017Ï(\u0011ÔçyÅ\u000b", - [ - [ - "TestTwoLevelHeap.test0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Heap.ref", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.TwoLevelHeap.as_ref", - "equation_FStar.TwoLevelHeap.modifies", - "equation_FStar.TwoLevelHeap.rid", - "equation_FStar.TwoLevelHeap.rref", - "equation_FStar.TwoLevelHeap.sel", "equation_FStar.TwoLevelHeap.t", - "equation_Prims.eqtype", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a07e93d5072ee8991daf90e89e78753b", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.TwoLevelHeap.rid", - "typing_Prims.int" - ], - 0, - "f5a8c3c7aa002efbef5f6e36b0215c68" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TestWellFoundedRecursion.fst.hints b/tests/micro-benchmarks/TestWellFoundedRecursion.fst.hints deleted file mode 100644 index 63758de77f9..00000000000 --- a/tests/micro-benchmarks/TestWellFoundedRecursion.fst.hints +++ /dev/null @@ -1,600 +0,0 @@ -[ - "Žòš\u0005ˆŸl÷FP\u000eF/€O­", - [ - [ - "TestWellFoundedRecursion.__proj__Succ__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8984efe2f0cef45f5100268c64c20baa" - ], - 0, - "a907b214887360c5588ba529abb59ce3" - ], - [ - "TestWellFoundedRecursion.__proj__Lim__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d5a8ded1543cff98dd3f7b46c3d44a5f" - ], - 0, - "29248faf49d7f49c1bb49e8d04b0594c" - ], - [ - "TestWellFoundedRecursion.sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TestWellFoundedRecursion_pretyping_e3401ab4af399fa62e69667ee2219c88", - "binder_x_e3401ab4af399fa62e69667ee2219c88_0", - "disc_equation_TestWellFoundedRecursion.Lim", - "disc_equation_TestWellFoundedRecursion.Succ", - "disc_equation_TestWellFoundedRecursion.Z", - "equality_tok_TestWellFoundedRecursion.Z@tok", - "fuel_guarded_inversion_TestWellFoundedRecursion.ord", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_TestWellFoundedRecursion.Succ", - "typing_tok_TestWellFoundedRecursion.Z@tok", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.Lim" - ], - 0, - "af22c23a6225db5c9323ec073c532908" - ], - [ - "TestWellFoundedRecursion.__proj__T0__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bf2273afcdc185e928a86603e929f9ef" - ], - 0, - "9e0de82d0abafefe4828e901791f5e87" - ], - [ - "TestWellFoundedRecursion.__proj__T__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b272cf7ed418ca41754995dc94cbc637" - ], - 0, - "b636ef2fea771b27b616b0a9501915d3" - ], - [ - "TestWellFoundedRecursion.__proj__S0__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2526a6b4db292a420821ceb08465e7ce" - ], - 0, - "ecd8e25ab1339e374c47709930d224b8" - ], - [ - "TestWellFoundedRecursion.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ceb852e4b21729325b4452bbfd864562" - ], - 0, - "e634267e318a1c920c2ee414bf55af12" - ], - [ - "TestWellFoundedRecursion.neg_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TestWellFoundedRecursion_pretyping_1019f76824886123f9bf083ad47f55e8", - "binder_x_1019f76824886123f9bf083ad47f55e8_0", - "disc_equation_TestWellFoundedRecursion.T", - "disc_equation_TestWellFoundedRecursion.T0", - "fuel_guarded_inversion_TestWellFoundedRecursion.t", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.T" - ], - 0, - "2f7f09986b1c2a8d6017cba08e285999" - ], - [ - "TestWellFoundedRecursion.neg_t", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TestWellFoundedRecursion_pretyping_366da0740b9b893f1a025644f01bdfcc", - "binder_x_366da0740b9b893f1a025644f01bdfcc_0", - "disc_equation_TestWellFoundedRecursion.S", - "disc_equation_TestWellFoundedRecursion.S0", - "fuel_guarded_inversion_TestWellFoundedRecursion.s", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.S" - ], - 0, - "8e0546059f8c11cba30512340d4e8c07" - ], - [ - "TestWellFoundedRecursion.__proj__Leaf__item__data", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f19749595c8f6a9f8ac00a56a01bec80" - ], - 0, - "1994085708eb5a1f1de51e68d199040c" - ], - [ - "TestWellFoundedRecursion.__proj__Node__item__children", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6bf5eb2a2468891f02855d133a655dc1" - ], - 0, - "ff4d94b7d51067680fa9240f1e098337" - ], - [ - "TestWellFoundedRecursion.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f05904e018aecf60bd6bb3271a71f0ba_5", - "disc_equation_TestWellFoundedRecursion.Leaf", - "disc_equation_TestWellFoundedRecursion.Node", - "fuel_guarded_inversion_TestWellFoundedRecursion.tree", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.Node" - ], - 0, - "c8932afd06c98084285599fb12616187" - ], - [ - "TestWellFoundedRecursion.codomain_ordering", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_TestWellFoundedRecursion.Node", "equation_Prims.nat", - "fuel_guarded_inversion_TestWellFoundedRecursion.tree", - "int_inversion", - "proj_equation_TestWellFoundedRecursion.Node_children", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6bf5eb2a2468891f02855d133a655dc1", - "token_correspondence_TestWellFoundedRecursion.__proj__Node__item__children", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.Node" - ], - 0, - "e07bb409a4fd3c44ef508ee4756f7b7d" - ], - [ - "TestWellFoundedRecursion.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_TestWellFoundedRecursion.Node", - "disc_equation_TestWellFoundedRecursion.Node", "equation_Prims.nat", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_TestWellFoundedRecursion.Node_a", - "projection_inverse_TestWellFoundedRecursion.Node_children", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6bf5eb2a2468891f02855d133a655dc1", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.Node" - ], - 0, - "4735015af15688f7e49ab2532886cddc" - ], - [ - "TestWellFoundedRecursion.map_alt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9fdc9ad8a6d5057648ab9399eb4f5ad8_3", - "disc_equation_TestWellFoundedRecursion.Leaf", - "disc_equation_TestWellFoundedRecursion.Node", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_TestWellFoundedRecursion.tree", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "well-founded-ordering-on-nat" - ], - 0, - "fa5eacf6b50f5706a9f7fa0fdd9c8652" - ], - [ - "TestWellFoundedRecursion.map_alt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_TestWellFoundedRecursion.Node", - "disc_equation_TestWellFoundedRecursion.Node", "equation_Prims.nat", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_TestWellFoundedRecursion.Node_a", - "projection_inverse_TestWellFoundedRecursion.Node_children", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_59c1073156d270d9324bfabc7844ea39", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.Node" - ], - 0, - "7d010cabf7ef801af17fe03355dbc04c" - ], - [ - "TestWellFoundedRecursion.__proj__SCons'__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_346cbdfada0725d3e74b4c52aab8adf4" - ], - 0, - "63e13f450b0fa228fcbfd0036023cd3c" - ], - [ - "TestWellFoundedRecursion.__proj__SCons__item__uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f195aa4109afbb06f867e978be79070b" - ], - 0, - "4fb75b6c201a4324cd84028326559281" - ], - [ - "TestWellFoundedRecursion.__proj__SCons__item__f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f195aa4109afbb06f867e978be79070b" - ], - 0, - "2e13f3230aaf7130c2ef90734c3aeae2" - ], - [ - "TestWellFoundedRecursion.fmap_stream", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9b7e4d25a31964a60851d6a21a9cda2e_5", - "disc_equation_TestWellFoundedRecursion.SCons", - "disc_equation_TestWellFoundedRecursion.SNil", - "fuel_guarded_inversion_TestWellFoundedRecursion.stream", - "projection_inverse_BoxBool_proj_0", "unit_typing", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.SCons" - ], - 0, - "8b1a1ccef74e5773ba8ca8070c85c1c7" - ], - [ - "TestWellFoundedRecursion.test_tf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ac5357826b4111242593425d712359de_0", - "well_founded_ordering_on_codomain_TestWellFoundedRecursion.TF" - ], - 0, - "2203af60191450eacc1a5e2ea498cecf" - ], - [ - "TestWellFoundedRecursion.ackermann", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "5ffa94a3982a2a141de52cd0bd338890" - ], - [ - "TestWellFoundedRecursion.lt_well_founded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "37594276afa0e8dfc1463ee0cfd97276" - ], - [ - "TestWellFoundedRecursion.lt_dep_well_founded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "74adfeafea48736fb0191e956363e1b2" - ], - [ - "TestWellFoundedRecursion.higher_nat", - 1, - 2, - 1, - [ "@query" ], - 0, - "cd0f9b5815814808850b870fdc175b93" - ], - [ - "TestWellFoundedRecursion.__proj__HS__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d02e0add0161078d4cd126ba95a57e7" - ], - 0, - "202d61699789815d9f316a046509b53e" - ], - [ - "TestWellFoundedRecursion.higher_nat_lt_well_founded", - 1, - 2, - 1, - [ "@query", "equation_TestWellFoundedRecursion.higher_nat_lt" ], - 0, - "01bc5e0d157a54955d5ec7a1331c55eb" - ], - [ - "TestWellFoundedRecursion.ackermann_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "07aa423695c8e293ac22d0f555c0e6ad" - ], - [ - "TestWellFoundedRecursion.rel_parametric", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TestWellFoundedRecursion_interpretation_Tm_arrow_bc7ac1720b9e70985d6baeb3c92d840b", - "binder_x_54ebd40d7781850201403c810735a25c_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_TestWellFoundedRecursion.get_previous" - ], - 0, - "21cb25bd74fde29dc71d089510cd9e15" - ], - [ - "TestWellFoundedRecursion.rel_poly", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "binder_x_31e5b43e0763b9f6894e493d89e67852_4", - "binder_x_5a21938ae881b99732309b7f62510851_3", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_squashed", - "equation_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation", - "equation_FStar.WellFounded.Util.top", "equation_Prims.logical", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "interpretation_Tm_abs_c0b2d2713728d6e6a55603d19fda193b", - "l_and-interp", "primitive_Prims.op_Addition", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a5a5b3188fd1976bd9041becb5b53274", - "typing_FStar.Pervasives.dsnd", - "typing_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation", - "typing_FStar.WellFounded.Util.top", "typing_Prims.logical", - "typing_TestWellFoundedRecursion.get_previous", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "e656e8fef8f71ba8edbefe525a753dcf" - ], - [ - "TestWellFoundedRecursion.rel_poly2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_ef9cb512a25ee351fa5536d617490497", - "binder_x_7312fb6c16df12e03fea4bdf93e8a6b1_2", - "binder_x_9324747c4ec86885e1951a76f6a71323_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_as_well_founded_relation", - "equation_FStar.WellFounded.Util.top", "equation_Prims.logical", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.WellFounded.Util.lift_binrel", - "function_token_typing_FStar.WellFounded.Util.lift_binrel_as_well_founded_relation", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "primitive_Prims.op_Addition", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fdc1613f156dff2e2ab1b123b703f525", - "typing_FStar.Pervasives.dsnd", - "typing_FStar.WellFounded.Util.lift_binrel_as_well_founded_relation", - "typing_FStar.WellFounded.Util.top", "typing_Prims.logical", - "typing_TestWellFoundedRecursion.get_previous", - "typing_Tm_abs_9706396db915b3a2ea86d4646a5b8236" - ], - 0, - "986cf516a677563c5de2c97480af58dc" - ], - [ - "TestWellFoundedRecursion.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "eq2-interp", "equation_FStar.WellFoundedRelation.default_relation", - "equation_FStar.WellFoundedRelation.lex_nondep_relation", - "equation_Prims.nat", - "equation_TestWellFoundedRecursion.nat_nat_wfr", - "function_token_typing_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_60b089fbf798b34a1afca83f94afe144", - "refinement_interpretation_Tm_refine_995eaeb7e82a4f7247b32b45400ca7f4", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "token_correspondence_FStar.WellFoundedRelation.default_relation", - "token_correspondence_FStar.WellFoundedRelation.lex_nondep_relation", - "typing_FStar.WellFoundedRelation.default_wfr", - "typing_TestWellFoundedRecursion.nat_nat_wfr", - "well-founded-ordering-on-nat" - ], - 0, - "d59f41948d039f1c542bacd572239034" - ], - [ - "TestWellFoundedRecursion.count_steps_to_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "TestWellFoundedRecursion_interpretation_Tm_arrow_033e9c386f32d5f5a2cd4af2333c25c7", - "binder_x_82d3b1b37ab19a5a30ef2f0c8e180c02_2", - "binder_x_ef952050ee21782b3408b12eb781979e_3", - "binder_x_f042d5bb4fdf7600bca097ff97c513fc_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.WellFoundedRelation.option_relation", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "function_token_typing_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a87f29bd214668d88282537a52a3869", - "refinement_interpretation_Tm_refine_b59a9826438acf4c4137603dd4389a9e", - "token_correspondence_FStar.WellFoundedRelation.option_relation", - "typing_FStar.WellFoundedRelation.option_wfr" - ], - 0, - "ce8336d8aad0fc345060c4610b7cfe1c" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TopLevelIndexedEffects.fst.hints b/tests/micro-benchmarks/TopLevelIndexedEffects.fst.hints deleted file mode 100644 index 7eca146a45f..00000000000 --- a/tests/micro-benchmarks/TopLevelIndexedEffects.fst.hints +++ /dev/null @@ -1,47 +0,0 @@ -[ - "ÌiTrÇ(§«Ðü\róÕPõ@", - [ - [ - "TopLevelIndexedEffects.lift_PURE_M", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "TopLevelIndexedEffects_interpretation_Tm_arrow_282aafb661e1cb6ba9281888ac3f62db", - "eq2-interp", "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "equation_TopLevelIndexedEffects.repr", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_b9c30f0d717921de1d918416788e5ca0", - "l_imp-interp", "l_quant_interp_544af4bae9f35a36e84e4cf1de962df7", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_b9c30f0d717921de1d918416788e5ca0" - ], - 0, - "d406319e667aeedd399485d7e3c30e8f" - ], - [ - "TopLevelIndexedEffects.0", - 1, - 2, - 1, - [ "@query" ], - 0, - "255d8acb191c9e33be0e3ef19fe60931" - ], - [ - "TopLevelIndexedEffects.0", - 2, - 2, - 1, - [ "@query" ], - 0, - "cbd9db16b0ce5ef3d5b5574bbd077846" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TupleSyntax.fst.hints b/tests/micro-benchmarks/TupleSyntax.fst.hints deleted file mode 100644 index 8b4eb10a291..00000000000 --- a/tests/micro-benchmarks/TupleSyntax.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "SN÷\u0002Ú\u0013QF±ßøJhŒE", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/TwoPhaseTC.fst.hints b/tests/micro-benchmarks/TwoPhaseTC.fst.hints deleted file mode 100644 index 9507a33754e..00000000000 --- a/tests/micro-benchmarks/TwoPhaseTC.fst.hints +++ /dev/null @@ -1,205 +0,0 @@ -[ - "1ea\u000fýŽL\u0019a\fdàO+wÓ", - [ - [ - "TwoPhaseTC.conjunction_monoid", - 1, - 0, - 0, - [ - "@query", "equation_Prims.prop", - "equation_TwoPhaseTC.right_unitality_lemma", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13" - ], - 0, - "f77e38972bd3a19b1c1b5a5bf3bd0b04" - ], - [ - "TwoPhaseTC.false_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "binder_x_b5a692fb53e94161e02ca937fc603fc6_2", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "d5ca21aa0b3ae4d615edcc77d1b738ef" - ], - [ - "TwoPhaseTC.f8", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1431f420db6308447adc938046b89f96" - ], - [ - "TwoPhaseTC.f12", - 1, - 0, - 0, - [ "@query" ], - 0, - "c924d773a279804628d3b520081bbf14" - ], - [ - "TwoPhaseTC.f13", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "5d7bf74d1ed300094095acace8733c71" - ], - [ - "TwoPhaseTC.f18", - 1, - 0, - 0, - [ "@query" ], - 0, - "8df5519db421d649c157c90fa19ad48b" - ], - [ - "TwoPhaseTC.foo_1451", - 1, - 0, - 0, - [ - "@query", "constructor_distinct_BoxBool", - "constructor_distinct_BoxInt", - "equation_Prims.op_Equals_Equals_Equals", - "equation_TwoPhaseTC.bar_1451", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "89ca256d6b194886eecbf8a376f9c526" - ], - [ - "TwoPhaseTC.t2_1129", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "assumption_TwoPhaseTC.T_hasEq_1129", "equation_Prims.eqtype", - "equation_Prims.nat", "int_typing", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.bool" - ], - 0, - "3a913fd6ffe0d4eaa74ea6a61aeb9068" - ], - [ - "TwoPhaseTC.t3_1129", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_TwoPhaseTC.t2_1129", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_TwoPhaseTC.t2_1129" - ], - 0, - "df22dfb3d8e77e83d2e1bcb06b15cb61" - ], - [ - "TwoPhaseTC.nth_tot_1124", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "typing_FStar.List.Tot.Base.nth" - ], - 0, - "1406c66eef918104df2f370049b7df1f" - ], - [ - "TwoPhaseTC.calc_1124", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_addfa9db9092ba3f2ecadb8f08bbc08a", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "a9648bedcc5785827f7fdfa207c39384" - ], - [ - "TwoPhaseTC.copy'_754", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "5dbed308c3237178317f3c989e8dcfd6" - ], - [ - "TwoPhaseTC.test2_754", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8acba23c7d85394535e3f60d47dd3ef9" - ], - [ - "TwoPhaseTC.test2_754", - 2, - 1, - 1, - [ "@query" ], - 0, - "8ab9e2edf72e02831765f43c052a8891" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/TypeclassesWithRefinements.fst.hints b/tests/micro-benchmarks/TypeclassesWithRefinements.fst.hints deleted file mode 100644 index c13d7123f9d..00000000000 --- a/tests/micro-benchmarks/TypeclassesWithRefinements.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "¬5ô\t¥ïëFÇÏep¯\u000bù\u000f", - [ - [ - "TypeclassesWithRefinements.eq_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0d5c686c60093015b9880c40f92e74e6" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnfoldOnce.fst b/tests/micro-benchmarks/UnfoldOnce.fst new file mode 100644 index 00000000000..0671172b6f6 --- /dev/null +++ b/tests/micro-benchmarks/UnfoldOnce.fst @@ -0,0 +1,29 @@ +module UnfoldOnce + +open FStar.Tactics.V2 + +#push-options "--admit_smt_queries true" +let rec f () : Tot int = 1 + f () +#pop-options + +let _ = + assert True by begin + let t = (`(f ())) in + let t' = norm_term [delta_once [`%f]] t in + let expected = (`(1 + f () <: Tot Prims.int)) in + (* print ("t' = " ^term_to_string t'); *) + (* print ("expected = " ^term_to_string expected); *) + guard (term_eq t' expected); + () + end + +let _ = + assert True by begin + let t = (`(f () + f ())) in + let t' = norm_term [delta_once [`%f]] t in + let expected = (`((1 + f () <: Tot Prims.int) + f ())) in + (* print ("t' = " ^term_to_string t'); *) + (* print ("expected = " ^term_to_string expected); *) + guard (term_eq t' expected); + () + end diff --git a/tests/micro-benchmarks/UnicodeOperators.fst.hints b/tests/micro-benchmarks/UnicodeOperators.fst.hints deleted file mode 100644 index 8f1277599a4..00000000000 --- a/tests/micro-benchmarks/UnicodeOperators.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "uoÚr\u0006å·\u000bŸvâe(9oî", - [ - [ - "UnicodeOperators.uu___1", - 1, - 2, - 1, - [ "@query" ], - 0, - "45621c28b4a1ef48685c027455458dd8" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnifierArith.fst.hints b/tests/micro-benchmarks/UnifierArith.fst.hints deleted file mode 100644 index 279ea2c0fb9..00000000000 --- a/tests/micro-benchmarks/UnifierArith.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "Ý+¬tÃFH^ zE¾t\u001d+b", - [ - [ - "UnifierArith.v'", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d40da00bd5bf1652668da0b448a6f614" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnifyMatch.fst.hints b/tests/micro-benchmarks/UnifyMatch.fst.hints deleted file mode 100644 index b82ee386e3c..00000000000 --- a/tests/micro-benchmarks/UnifyMatch.fst.hints +++ /dev/null @@ -1,77 +0,0 @@ -[ - "ËR\u001f«\u0012µáç‚)u†%«=É", - [ - [ - "UnifyMatch.unat", - 1, - 2, - 1, - [ "@query" ], - 0, - "1afbd136fdabc132a874b026c3e4e888" - ], - [ - "UnifyMatch.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b909e5f5ff265386c08f5741455e23b9" - ], - 0, - "f52f264bf1c59878f682bf0fa54e8f8b" - ], - [ - "UnifyMatch.nat2unary", - 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, - "c918cfe57ac00dc234cf065aaed37a5b" - ], - [ - "UnifyMatch.even", - 1, - 2, - 1, - [ "@query", "assumption_UnifyMatch.unat__uu___haseq" ], - 0, - "60a4c8c8825f9c815f8953456773c9c4" - ], - [ - "UnifyMatch.__proj__Even_SS__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" - ], - 0, - "92ebf9f0290b04dbd1dce3bfc8654d53" - ], - [ - "UnifyMatch.__proj__Even_SS__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_UnifyMatch.Even_SS", - "refinement_interpretation_Tm_refine_b82e9317628d0fc1fba9e36ac5ed44f2" - ], - 0, - "b970bf5de75a8a4b8084ed453e0916ed" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnifyRefs.fst.hints b/tests/micro-benchmarks/UnifyRefs.fst.hints deleted file mode 100644 index 7abb1439251..00000000000 --- a/tests/micro-benchmarks/UnifyRefs.fst.hints +++ /dev/null @@ -1,125 +0,0 @@ -[ - "1¤½0R±¶ÁñàÂ\u001f\u0007…\u0006¡", - [ - [ - "UnifyRefs.nat32_to_nat64'0", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "c2b025dc07239d451425559d6b14646f" - ], - [ - "UnifyRefs.nat32_to_nat64'1", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "f6d07d7fd3c1b935cb1a2760234bae5a" - ], - [ - "UnifyRefs.nat32_to_nat64'2", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "56ab71ea4db792b5a41d4eee7b88b14f" - ], - [ - "UnifyRefs.nat32_to_nat64'3", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "5a6e616198aed1ed25e96f8bb6a68ac8" - ], - [ - "UnifyRefs.nat64_to_nat32'0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" - ], - 0, - "ca7113a0d11e7d3f079a6aeca314b72e" - ], - [ - "UnifyRefs.nat64_to_nat32'1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a9bd9beb63a95cd322a4835be6205c9b" - ], - 0, - "fb02529618be98cb134b011395723d8d" - ], - [ - "UnifyRefs.nat64_to_nat32'2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" - ], - 0, - "71528ac2dc5c12226dd8b914a591410a" - ], - [ - "UnifyRefs.nat64_to_nat32'3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0958fc86fbbb72ab4560bf1ef55e2fe9" - ], - 0, - "f953877b3e3db65e0670e9b24229f77f" - ], - [ - "UnifyRefs.nat32_to_nat64'4", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "76f496e5dd7235d7345a05159a203c36" - ], - [ - "UnifyRefs.nat32_to_nat64'5", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "58c8c1251053e840adae71b4d099cc27" - ], - [ - "UnifyRefs.nat64_to_nat32'4", - 1, - 2, - 1, - [ "@query" ], - 0, - "c63393a32fb1fe972caf51a86e6abb75" - ], - [ - "UnifyRefs.nat64_to_nat32'5", - 1, - 2, - 1, - [ "@query" ], - 0, - "f6cfacc6fa0d831be0655920dc220cc6" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnifyReify.fst.hints b/tests/micro-benchmarks/UnifyReify.fst.hints deleted file mode 100644 index ede16e695ea..00000000000 --- a/tests/micro-benchmarks/UnifyReify.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "qwX\u0011Èêè\u0003¶ÅuFR'\u0011O", - [ - [ - "UnifyReify.c1", - 1, - 2, - 1, - [ "@query" ], - 0, - "5d20509f885778f9be08905bca5309db" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.Basic.fst.hints b/tests/micro-benchmarks/Unit1.Basic.fst.hints deleted file mode 100644 index 2b50681f024..00000000000 --- a/tests/micro-benchmarks/Unit1.Basic.fst.hints +++ /dev/null @@ -1,980 +0,0 @@ -[ - "4\u001fÝ\tf¥2ÈÓ\u0003?ÜÕ\u0011“", - [ - [ - "Unit1.Basic.list_zero_to_int_assert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Unit1.Basic.zero", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_acd05ee6f9ccb986c4590aadf00c124b" - ], - 0, - "9387ddfe6a60e306451c251e37b082e3" - ], - [ - "Unit1.Basic.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0" - ], - 0, - "e266bb872d82c01c9d60cc5208ee2042" - ], - [ - "Unit1.Basic.list_zero_to_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Unit1.Basic.zero", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5206a8d335ea87e32cebb7cc7f523b09" - ], - [ - "Unit1.Basic.hd_int_impure", - 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, - "2ca287177c2bd9d7f70296eb82759f4c" - ], - [ - "Unit1.Basic.hd_int_pure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f2205c42e53352d11cca139ab42ad44a" - ], - 0, - "3a60e19c1bf740c774c36c933bda4bcd" - ], - [ - "Unit1.Basic.square_is_nat", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "15c74ea11fa0294b3673afae914f0916" - ], - [ - "Unit1.Basic.check_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Unit1.Basic.infer_nat", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9fffd025d23ff786f5cabd43310fb54b" - ], - [ - "Unit1.Basic.assert_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Unit1.Basic.infer_nat", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d4e93b06b3932407c4a5049d1c90be13" - ], - [ - "Unit1.Basic.tabs_id_pure_annot_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "6a68db681395338dbbb59b36da87c1f7" - ], - [ - "Unit1.Basic.id_pure_annot_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "3a8ed7bbc178f2108f41e8193255572b" - ], - [ - "Unit1.Basic.id_all_annot_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "3e0b1a7026b128fe021dc2f3d24150c9" - ], - [ - "Unit1.Basic.id_all_annot_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.V", - "data_typing_intro_FStar.Pervasives.V@tok", - "disc_equation_FStar.Pervasives.V", "equation_Prims.eqtype", - "proj_equation_FStar.Pervasives.V_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.V_a", - "projection_inverse_FStar.Pervasives.V_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1aef117acd58cdf944d927f50f169422" - ], - [ - "Unit1.Basic.hd_pure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "16cc721fb7dc002b982c71668d82e9ce" - ], - [ - "Unit1.Basic.hd_pure_alt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "e4e549ee5b215f56a12f2a9788efc703" - ], - [ - "Unit1.Basic.dup_pure_eq", - 1, - 2, - 1, - [ - "@query", "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" - ], - 0, - "417ddc5c1bc9caa9346365d5e658b70b" - ], - [ - "Unit1.Basic.get_false", - 1, - 2, - 1, - [ - "@query", "bool_typing", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "937d281d21f7a6af5ca9122eac448ae6" - ], - [ - "Unit1.Basic.get_false_ANF", - 1, - 2, - 1, - [ - "@query", "bool_typing", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "2af9ee29e04c58fdc7ed7ce16cb3703b" - ], - [ - "Unit1.Basic.record", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "18f678491a8ff96bc3ebfee81211b27c" - ], - [ - "Unit1.Basic.record_f_exhaustive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "proj_equation_Unit1.Basic.Mkrecord_f", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Unit1.Basic.__proj__Mkrecord__item__f" - ], - 0, - "117f6c41566b20c74db8e0450bdd616f" - ], - [ - "Unit1.Basic.repeat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "9d52757f938a0f9e9b81163f7a31c3e7" - ], - [ - "Unit1.Basic.inat", - 1, - 2, - 1, - [ "@query" ], - 0, - "171730c2c31cc054d61072ea0a3d928a" - ], - [ - "Unit1.Basic.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_032c459a1771732822c24b5fb03d8206" - ], - 0, - "983ba185e2a6a780a9338b0743d6a8f9" - ], - [ - "Unit1.Basic.minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unit1.Basic_pretyping_5b11c30dd020aab06ae68a87da8b6bab", - "binder_x_5b11c30dd020aab06ae68a87da8b6bab_0", - "binder_x_5b11c30dd020aab06ae68a87da8b6bab_1", - "disc_equation_Unit1.Basic.O", "disc_equation_Unit1.Basic.S", - "equality_tok_Unit1.Basic.O@tok", - "fuel_guarded_inversion_Unit1.Basic.inat", - "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_Unit1.Basic.S__0", - "subterm_ordering_Unit1.Basic.S", "typing_tok_Unit1.Basic.O@tok" - ], - 0, - "9c8bddb752ee2b2e1825b160e8f39309" - ], - [ - "Unit1.Basic.ackermann", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "35fece8a36e0fa19262defbd8c427772" - ], - [ - "Unit1.Basic.unsafe_slice", - 1, - 2, - 1, - [ "@query" ], - 0, - "16294ae4dfffba007d50118e1e5ff8ea" - ], - [ - "Unit1.Basic.test_impure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Unit1.Basic.message", - "equation_Unit1.Basic.slength", "equation_Unit1.Basic.unsafe_slice", - "fuel_guarded_inversion_Unit1.Basic.seq", - "primitive_Prims.op_Subtraction", - "proj_equation_Unit1.Basic.Seq_end_i", - "proj_equation_Unit1.Basic.Seq_start_i", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Unit1.Basic.Seq_end_i", - "projection_inverse_Unit1.Basic.Seq_start_i", - "refinement_interpretation_Tm_refine_7b117b711529da036582786dce18ae45", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "200203065268965708b9a7a3476f9634" - ], - [ - "Unit1.Basic.mlist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_Unit1.Basic.mlist@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "6b5989a63a42f4564686d9bc4d21fe5b" - ], - [ - "Unit1.Basic.__proj__C__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cf0a408a7bcff1bd8c91cbe0536a3232" - ], - 0, - "d6ebe2a20b81d774100e9568c51279a5" - ], - [ - "Unit1.Basic.zero_list", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Unit1.Basic_pretyping_1fef024e2b2497813f52b7e60990ebb4", - "binder_x_1fef024e2b2497813f52b7e60990ebb4_0", - "data_elim_Unit1.Basic.C", "disc_equation_Unit1.Basic.C", - "disc_equation_Unit1.Basic.N", "equality_tok_Unit1.Basic.N@tok", - "equation_Prims.nat", "fuel_guarded_inversion_Unit1.Basic.mlist", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Unit1.Basic.C", "typing_tok_Unit1.Basic.N@tok" - ], - 0, - "9c745f382323c93d1ed3842deeeb4f23" - ], - [ - "Unit1.Basic.pre", - 1, - 2, - 1, - [ "@query", "assumption_Unit1.Basic.mlist__uu___haseq" ], - 0, - "8903ce3c9b4a83899ca3bddc0e340c41" - ], - [ - "Unit1.Basic.do_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.zero_list.fuel_instrumented", - "@fuel_irrelevance_Unit1.Basic.zero_list.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Unit1.Basic_pretyping_1fef024e2b2497813f52b7e60990ebb4", - "bool_inversion", "constructor_distinct_Unit1.Basic.C", - "constructor_distinct_Unit1.Basic.N", "disc_equation_Unit1.Basic.C", - "disc_equation_Unit1.Basic.N", "equality_tok_Unit1.Basic.N@tok", - "equation_Prims.nat", "equation_Unit1.Basic.pre", - "equation_with_fuel_Unit1.Basic.zero_list.fuel_instrumented", - "fuel_guarded_inversion_Unit1.Basic.mlist", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Unit1.Basic.C__0", - "typing_Unit1.Basic.zero_list", "typing_tok_Unit1.Basic.N@tok" - ], - 0, - "8029a046497813a90cbcc553c9f6c595" - ], - [ - "Unit1.Basic.short_circuit1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0a3371b9bf192fbacf4a03b1e0518d82" - ], - 0, - "7565ddcc90369e5354e16a7238d011a9" - ], - [ - "Unit1.Basic.test_skolem_app", - 1, - 2, - 1, - [ - "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" - ], - 0, - "b3926508c72fdd6df6516fe1202c1c59" - ], - [ - "Unit1.Basic.test_skolem_match", - 1, - 2, - 1, - [ - "@query", "equation_Unit1.Basic.apply", - "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d" - ], - 0, - "69e460be1bce814198c385deb0f6ebc0" - ], - [ - "Unit1.Basic.test_skolem_refinement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Unit1.Basic._T", "equation_Unit1.Basic.apply", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_f8b7175ad4f28c0bc3c11371abe1d18d", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_613b69cf4ffdf1fc873bdc5a0f78d33a" - ], - 0, - "9ca48a2c94e9ef7284a5d6c1c8efa3da" - ], - [ - "Unit1.Basic.find", - 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, - "3e115b7078a4b17fdf61a49843a04799" - ], - [ - "Unit1.Basic.test_skolem_let", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Unit1.Basic_interpretation_Tm_arrow_2b00b574e3c859da902fc1b8ce85c0f1", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", - "interpretation_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Tm_abs_8dba68de8f18ea9ccc9a44b1f30dc77b", - "typing_Unit1.Basic.find" - ], - 0, - "061d13df9947e8e6676483c3e67ff372" - ], - [ - "Unit1.Basic.use_id_wrap", - 1, - 2, - 1, - [ "@query" ], - 0, - "9517ae7d8e0279fcd5c02c697a2c2974" - ], - [ - "Unit1.Basic.idl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "92f301b8039ccec4a1f9058457ab2240" - ], - [ - "Unit1.Basic.idl", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_66b03f5c7897b05649fed8196554c587_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", "equation_Unit1.Basic.xy_y", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "05fbe9dbfff7987f86bc919c98bd18a0" - ], - [ - "Unit1.Basic.idl", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1d1c15de142f57abf3392c8c7412214c" - ], - [ - "Unit1.Basic.st_f", - 1, - 2, - 1, - [ "@query" ], - 0, - "959c3e349b4c972913240f62ac313622" - ], - [ - "Unit1.Basic.factorial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "bf8fe18b311614e877f3c932592910df" - ], - [ - "Unit1.Basic.factorial_is_positive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.factorial.fuel_instrumented", - "@fuel_irrelevance_Unit1.Basic.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_Unit1.Basic.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6acb3a6e8d22239995d51a2016e41fe7", - "well-founded-ordering-on-nat" - ], - 0, - "68c0e4b084b3163b419fff723e6b5c69" - ], - [ - "Unit1.Basic.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "49df534a6cf13dd35411896d6307b9e3" - ], - [ - "Unit1.Basic.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "7de59d77ed10f63d3adf6c3e8f6b5b32" - ], - [ - "Unit1.Basic.test_map1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_Unit1.Basic.plus_one", - "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Unit1.Basic.plus_one", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_Unit1.Basic.plus_one", "typing_Prims.int" - ], - 0, - "546adf54c171ea0f1e89d8a253388d37" - ], - [ - "Unit1.Basic.test_map2", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.map.fuel_instrumented", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_interpretation_Tm_arrow_35447810753695c4fe25c93af1251992", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_Unit1.Basic.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b0ccd7de28a6672e541735f7bc00b394", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Tm_abs_b0ccd7de28a6672e541735f7bc00b394" - ], - 0, - "8947fc6bf46917baf0081948ae0d5594" - ], - [ - "Unit1.Basic.even", - 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, - "302dddfbcefb4f10f8a1ef70b87c2cb8" - ], - [ - "Unit1.Basic.even", - 2, - 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, - "4ac1bdfbeb8dabc846f8b7b2487c037f" - ], - [ - "Unit1.Basic.test_even1", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", - "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3596707595ca5bfc4f81aa918f229335" - ], - [ - "Unit1.Basic.test_even2", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.even.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", - "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", - "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Unit1.Basic.even" - ], - 0, - "bde0faeee475c7d1ca9ed152f9c98a8d" - ], - [ - "Unit1.Basic.test_odd1", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Prims.nat", - "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", - "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Unit1.Basic.odd" - ], - 0, - "de50f427abd74b289fccc6d07437f902" - ], - [ - "Unit1.Basic.test_odd2", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.Basic.odd.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_Unit1.Basic.even.fuel_instrumented", - "equation_with_fuel_Unit1.Basic.odd.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f95cc426b7321673ab3202cbb4b24944" - ], - [ - "Unit1.Basic.logic_test3", - 1, - 2, - 1, - [ - "@query", "equation_Unit1.Basic.logic_test2", - "interpretation_Tm_abs_f310dc3533378853b62edbdd32c6ea33", - "l_quant_interp_9bc3d2b0679e092fa7d5ffcdc6fa6ce5", - "token_correspondence_Unit1.Basic.logic_test2" - ], - 0, - "90b773d8f6ebe7fcc6a0003172ca56eb" - ], - [ - "Unit1.Basic.logic_test5", - 1, - 2, - 1, - [ "@query", "equation_Unit1.Basic.logic_test4" ], - 0, - "f93917b51ed5a5dd4e670d0f3d0f60d0" - ], - [ - "Unit1.Basic.__proj__Star_append__item__s1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" - ], - 0, - "1a61b0c6a10c134946b70ae77c336012" - ], - [ - "Unit1.Basic.__proj__Star_append__item__s2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead" - ], - 0, - "6a12101a6d6b5812a9692ba3d6e5b8fe" - ], - [ - "Unit1.Basic.__proj__Star_append__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Unit1.Basic.Star_append", - "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead", - "string_inversion" - ], - 0, - "5c2e062155f1ff81f249362ca80b7555" - ], - [ - "Unit1.Basic.__proj__Star_append__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_Unit1.Basic.Star_append", - "refinement_interpretation_Tm_refine_69840826db2e37f0f44c90e8d747dead", - "string_inversion" - ], - 0, - "103917258d6f7a7e7737df4836d9ad2b" - ], - [ - "Unit1.Basic.bind_test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4c9f1ccc27b2f17b8509220ed0ee595d" - ], - [ - "Unit1.Basic.bind_test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "03f1ab078fe86a7b7a8ad924a827c6ab" - ], - [ - "Unit1.Basic.bind_test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "ac9c3b830e603ded19f02fab63efd175" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.Parser.fst.hints b/tests/micro-benchmarks/Unit1.Parser.fst.hints deleted file mode 100644 index e5da4c01d51..00000000000 --- a/tests/micro-benchmarks/Unit1.Parser.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "ÓÉ°`ÌOY&|\u0018u…Uÿ: ", - [ - [ - "Unit1.Parser.t3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1e4b6412c5687114c179b4c653d40d8c" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.Projectors1.fst.hints b/tests/micro-benchmarks/Unit1.Projectors1.fst.hints deleted file mode 100644 index abf4e451fc2..00000000000 --- a/tests/micro-benchmarks/Unit1.Projectors1.fst.hints +++ /dev/null @@ -1,72 +0,0 @@ -[ - "tUiÉ%†K|žÍ\u0013ôIºC1", - [ - [ - "Unit1.Projectors1.t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0984ce0a9ffce31d4014f31e8765a9f5" - ], - [ - "Unit1.Projectors1.s", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "917355f0db74a454cda9c0281746f741" - ], - [ - "Unit1.Projectors1.u", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Char.char" - ], - 0, - "571535ec1c9ceef5cb420b9c261b5909" - ], - [ - "Unit1.Projectors1.v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c9f3a6cb5cb8520f66d9a020ad3eeab8" - ], - [ - "Unit1.Projectors1.__proj__Ret__item__x", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "data_elim_Unit1.Projectors1.Ret" ], - 0, - "76bbdb3de53c24cac09cf1d164f7226f" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.Projectors2.fst.hints b/tests/micro-benchmarks/Unit1.Projectors2.fst.hints deleted file mode 100644 index 883bdc7126b..00000000000 --- a/tests/micro-benchmarks/Unit1.Projectors2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Žä\u0002WÝû©žK\t&Ö\\Ì=â", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints b/tests/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints deleted file mode 100644 index e34d0542497..00000000000 --- a/tests/micro-benchmarks/Unit1.RecursiveTypeFunctions.fst.hints +++ /dev/null @@ -1,232 +0,0 @@ -[ - "ìòe\u0013À¶ð\u0000ÚX8½©Gæ\u001d", - [ - [ - "Unit1.RecursiveTypeFunctions.pre_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d5ff5ae9fe1f0f70921e6114fb7fe2bb" - ], - [ - "Unit1.RecursiveTypeFunctions.__proj__T__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dcce9542b98cdc0b1ce1526881708dd3" - ], - 0, - "4884fa272e3d2424600c5d8ff48160fa" - ], - [ - "Unit1.RecursiveTypeFunctions.__proj__TofS__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6a5d49e9de9d9d32d37d5b69a69eb80" - ], - 0, - "b618d13c02d2bb23e56e300125a8cc50" - ], - [ - "Unit1.RecursiveTypeFunctions.__proj__S__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_463ab24589f7b97a63a32a93a8999adc" - ], - 0, - "e13d1df1e49948e9769e9f0a5373aa17" - ], - [ - "Unit1.RecursiveTypeFunctions.__proj__SofT__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c51bbe51c5c443619d248c8823721da" - ], - 0, - "ae88848936558a246b76b3f9c163ad15" - ], - [ - "Unit1.RecursiveTypeFunctions.good_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unit1.RecursiveTypeFunctions_pretyping_cc9ff0d18b8ae93a269cb8f937c1a8f6", - "binder_x_cc9ff0d18b8ae93a269cb8f937c1a8f6_0", - "disc_equation_Unit1.RecursiveTypeFunctions.T", - "disc_equation_Unit1.RecursiveTypeFunctions.TofS", - "fuel_guarded_inversion_Unit1.RecursiveTypeFunctions.pre_t", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" - ], - 0, - "163e7a007e712b1f3323afe6f51ac7e2" - ], - [ - "Unit1.RecursiveTypeFunctions.good_t", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Unit1.RecursiveTypeFunctions_pretyping_d6110439aedb0e447d30a7318693477e", - "binder_x_d6110439aedb0e447d30a7318693477e_0", - "disc_equation_Unit1.RecursiveTypeFunctions.S", - "disc_equation_Unit1.RecursiveTypeFunctions.SofT", - "fuel_guarded_inversion_Unit1.RecursiveTypeFunctions.pre_s", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" - ], - 0, - "122285bc376239623069e11f2a4f748a" - ], - [ - "Unit1.RecursiveTypeFunctions.extract_nat_t", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "@query", "b2t_def", "binder_x_449e04ae025f7f462a05f8e29447ede6_0", - "constructor_distinct_Unit1.RecursiveTypeFunctions.T", - "constructor_distinct_Unit1.RecursiveTypeFunctions.TofS", - "disc_equation_Unit1.RecursiveTypeFunctions.T", - "disc_equation_Unit1.RecursiveTypeFunctions.TofS", - "equation_Unit1.RecursiveTypeFunctions.s", - "equation_Unit1.RecursiveTypeFunctions.t", - "equation_with_fuel_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "fuel_guarded_inversion_Unit1.RecursiveTypeFunctions.pre_t", - "l_and-interp", "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Unit1.RecursiveTypeFunctions.T__0", - "projection_inverse_Unit1.RecursiveTypeFunctions.TofS__0", - "refinement_interpretation_Tm_refine_7538d5cfc8ae2f1d54df096c5c1addde", - "subterm_ordering_Unit1.RecursiveTypeFunctions.TofS" - ], - 0, - "6ccd94cb35f4dea31dbea77f7519b6bf" - ], - [ - "Unit1.RecursiveTypeFunctions.extract_nat_t", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "@fuel_correspondence_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.good_t.fuel_instrumented", - "@query", "b2t_def", "binder_x_8bf57e319697974178b3f839487d61ff_0", - "constructor_distinct_Unit1.RecursiveTypeFunctions.S", - "constructor_distinct_Unit1.RecursiveTypeFunctions.SofT", - "disc_equation_Unit1.RecursiveTypeFunctions.S", - "disc_equation_Unit1.RecursiveTypeFunctions.SofT", - "equation_Unit1.RecursiveTypeFunctions.s", - "equation_Unit1.RecursiveTypeFunctions.t", - "equation_with_fuel_Unit1.RecursiveTypeFunctions.good_s.fuel_instrumented", - "fuel_guarded_inversion_Unit1.RecursiveTypeFunctions.pre_s", - "l_and-interp", "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Unit1.RecursiveTypeFunctions.S__0", - "projection_inverse_Unit1.RecursiveTypeFunctions.SofT__0", - "refinement_interpretation_Tm_refine_5d9358545336a9f6995749c0b6c89ac7", - "subterm_ordering_Unit1.RecursiveTypeFunctions.SofT" - ], - 0, - "883baceb1234ecb856566fc0e45bc57a" - ], - [ - "Unit1.RecursiveTypeFunctions.pointwise_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "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", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "804d17eea419b1440bd69c6d64df4c15" - ], - [ - "Unit1.RecursiveTypeFunctions.pointwise_eq_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_Unit1.RecursiveTypeFunctions.pointwise_eq.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "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_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "932105f82eb981d1920a02b1398a5280" - ], - [ - "Unit1.RecursiveTypeFunctions.pointwise_eq_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e31f1d4e32cd4018e789a7162de5478a" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.RefinementInference.fst.hints b/tests/micro-benchmarks/Unit1.RefinementInference.fst.hints deleted file mode 100644 index 8fc98bffb62..00000000000 --- a/tests/micro-benchmarks/Unit1.RefinementInference.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‰t\"Ãì\u0014Öm[ñvO‘Ú;", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.TopLevelPats.fst.hints b/tests/micro-benchmarks/Unit1.TopLevelPats.fst.hints deleted file mode 100644 index b13bc5dbc11..00000000000 --- a/tests/micro-benchmarks/Unit1.TopLevelPats.fst.hints +++ /dev/null @@ -1,77 +0,0 @@ -[ - "è\u001dL\u0015ÂLè\u0007#\u0001\\P}¥X\t", - [ - [ - "Unit1.TopLevelPats.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Unit1.TopLevelPats.uu___0", - "equation_Unit1.TopLevelPats.x", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "c4e4e173f89ef7adfd591b25a5621167" - ], - [ - "Unit1.TopLevelPats.uu___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Unit1.TopLevelPats.uu___0", - "equation_Unit1.TopLevelPats.y", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "1ec2ee692c1d0e8758e4b5e7eb769eff" - ], - [ - "Unit1.TopLevelPats.uu___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Unit1.TopLevelPats.make", - "equation_Unit1.TopLevelPats.uu___3", - "equation_Unit1.TopLevelPats.z", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "typing_Unit1.TopLevelPats.z" - ], - 0, - "2bfe2793cd8734b0e7f1197e62de9317" - ], - [ - "Unit1.TopLevelPats.uu___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Unit1.TopLevelPats.make", - "equation_Unit1.TopLevelPats.uu___3", - "equation_Unit1.TopLevelPats.w", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "typing_Unit1.TopLevelPats.w" - ], - 0, - "46364732073da6602671641f272c43c2" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.UnificationTests.fst.hints b/tests/micro-benchmarks/Unit1.UnificationTests.fst.hints deleted file mode 100644 index 9f321037525..00000000000 --- a/tests/micro-benchmarks/Unit1.UnificationTests.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "P\u000f`ÉÒgåùô£&¦slzÜ", - [ - [ - "Unit1.UnificationTests.t_indexed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Unit1.UnificationTests.X", - "disc_equation_Unit1.UnificationTests.Y", - "fuel_guarded_inversion_Unit1.UnificationTests.some_enum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "169a50487de5ff8f19a0f96bae3999f1" - ], - [ - "Unit1.UnificationTests.test_unit_valued_implicits0", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion", "unit_typing" ], - 0, - "8a9f387138cc05d6549fb39a69077894" - ], - [ - "Unit1.UnificationTests.test_unit_valued_implicits4", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion", "unit_typing" ], - 0, - "a06dd9b3a89b51570d31d317cdecdf65" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.WPsAndTriples.fst.hints b/tests/micro-benchmarks/Unit1.WPsAndTriples.fst.hints deleted file mode 100644 index 30a2a013961..00000000000 --- a/tests/micro-benchmarks/Unit1.WPsAndTriples.fst.hints +++ /dev/null @@ -1,62 +0,0 @@ -[ - " ¾4UŒÀ‘—¨Ž¿Fáx\u000e5", - [ - [ - "Unit1.WPsAndTriples.f", - 1, - 2, - 1, - [ "@query", "int_typing", "primitive_Prims.op_Addition" ], - 0, - "a22696783bd3c8310ad2eb0ff84b0355" - ], - [ - "Unit1.WPsAndTriples.f", - 2, - 2, - 1, - [ "@query" ], - 0, - "8b1ecf339000436f69cb7f8d17152873" - ], - [ - "Unit1.WPsAndTriples.h", - 1, - 2, - 1, - [ "@query" ], - 0, - "2365ca09e1bb9a6374a5d391f9136929" - ], - [ - "Unit1.WPsAndTriples.g", - 1, - 2, - 1, - [ "@query", "int_typing", "primitive_Prims.op_Addition" ], - 0, - "85e4a8e115d3db6b067047968d0c5f56" - ], - [ - "Unit1.WPsAndTriples.good_wp", - 1, - 2, - 1, - [ "@query", "int_typing" ], - 0, - "c22c4b5b1bf3eb49058252df9827703a" - ], - [ - "Unit1.WPsAndTriples.mono", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_24320fd6680943bf8bf24a74aa54ac25" - ], - 0, - "544032c92b5526aee4b07884441475c3" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints b/tests/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints deleted file mode 100644 index e4f96319ac6..00000000000 --- a/tests/micro-benchmarks/Unit1.WPsAndTriples_ST.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "™wÇà}k©b+ì\u007f•\u0006è±", - [ - [ - "Unit1.WPsAndTriples_ST.g", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1585723b2c44157cb3f410007bae39e0" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/Unit2.fst.hints b/tests/micro-benchmarks/Unit2.fst.hints deleted file mode 100644 index be2da0f1992..00000000000 --- a/tests/micro-benchmarks/Unit2.fst.hints +++ /dev/null @@ -1,63 +0,0 @@ -[ - "\u0012U¼úè\u001d\u001eq{c\u000fEy…Èû", - [ - [ - "Unit2.test3", - 1, - 2, - 1, - [ "@query", "equation_Prims.nat" ], - 0, - "e0fd4d1de3de572583444eb0780205a1" - ], - [ - "Unit2.test5", - 1, - 2, - 1, - [ "@query", "equation_Prims.nat", "equation_Unit2.zat" ], - 0, - "c73d5d035786f86fdeffc448541cb462" - ], - [ - "Unit2.__proj__Int__item__i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a80b1732c37b674c773643729bebf97c" - ], - 0, - "81dafbd86ca4e27714b44f682138bdaa" - ], - [ - "Unit2.__proj__Bool__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_51f253259fbb75b1f44c4d01d8397ea7" - ], - 0, - "1ab16db8c9d8ff05d29be6740e2dd6fa" - ], - [ - "Unit2.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "data_elim_Unit2.Bool", "data_elim_Unit2.Int", - "disc_equation_Unit2.Bool", "disc_equation_Unit2.Int", - "fuel_guarded_inversion_Unit2.t", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ff20a79d0725dd89720d79183e819eed" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/UnrefineAttr.fst.hints b/tests/micro-benchmarks/UnrefineAttr.fst.hints deleted file mode 100644 index 425996cb279..00000000000 --- a/tests/micro-benchmarks/UnrefineAttr.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "<é5¥dQµdµp\u001c§\u001c8h", - [ - [ - "UnrefineAttr.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_UnrefineAttr.test0", - "equation_UnrefineAttr.test2" - ], - 0, - "921007ff5e9f2ab428b3b2becdc4a341" - ], - [ - "UnrefineAttr.uu___1", - 1, - 2, - 1, - [ - "@query", "equation_UnrefineAttr.test1", - "equation_UnrefineAttr.test2" - ], - 0, - "9c45e095f5a62f008ea16eafd6b4ba43" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/WPExtensionality.fst.hints b/tests/micro-benchmarks/WPExtensionality.fst.hints deleted file mode 100644 index 31ad56a59c9..00000000000 --- a/tests/micro-benchmarks/WPExtensionality.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "T0¬é\u0017ÅL|\\ºÊJ’\t±\u0002", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/WarnOnUse.fst.hints b/tests/micro-benchmarks/WarnOnUse.fst.hints deleted file mode 100644 index a82e3c14e1b..00000000000 --- a/tests/micro-benchmarks/WarnOnUse.fst.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "jí\u0012ã\"!±0\u0007?ýãCÊ]e", - [ - [ - "WarnOnUse.t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "958c64c01876f92bd5e320ae0776feed" - ] - ] -] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/My.Preorder.fst.hints b/tests/micro-benchmarks/ns_resolution/My.Preorder.fst.hints deleted file mode 100644 index d6ede369ed8..00000000000 --- a/tests/micro-benchmarks/ns_resolution/My.Preorder.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "–¨¥\u001ecó!\u0013ãí7º=\nÔ", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/My.PreorderClient.fst.hints b/tests/micro-benchmarks/ns_resolution/My.PreorderClient.fst.hints deleted file mode 100644 index a6462e28a09..00000000000 --- a/tests/micro-benchmarks/ns_resolution/My.PreorderClient.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÙØÛÑÊ…~\teòH\tø\u001bÉE", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/My.ST.fst.hints b/tests/micro-benchmarks/ns_resolution/My.ST.fst.hints deleted file mode 100644 index 51e78ac0745..00000000000 --- a/tests/micro-benchmarks/ns_resolution/My.ST.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "K-ǃYhç>\u0006¬3Ë#û”", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/My.STClient.fst.hints b/tests/micro-benchmarks/ns_resolution/My.STClient.fst.hints deleted file mode 100644 index abedb1a490d..00000000000 --- a/tests/micro-benchmarks/ns_resolution/My.STClient.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "H^\u000f—æ \u0002»CÙÁð&\t˜", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/Preorder.fst.hints b/tests/micro-benchmarks/ns_resolution/Preorder.fst.hints deleted file mode 100644 index 5156997fe2c..00000000000 --- a/tests/micro-benchmarks/ns_resolution/Preorder.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "æG]8zšwi]÷¦©,m²p", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/PreorderClient.fst.hints b/tests/micro-benchmarks/ns_resolution/PreorderClient.fst.hints deleted file mode 100644 index 62b1337dbda..00000000000 --- a/tests/micro-benchmarks/ns_resolution/PreorderClient.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¡4Ö»`p\u0014\u0010\u0004\\ír¥”ª", [] ] \ No newline at end of file diff --git a/tests/micro-benchmarks/ns_resolution/PreorderClientFail.fst.hints b/tests/micro-benchmarks/ns_resolution/PreorderClientFail.fst.hints deleted file mode 100644 index 1879c9874f2..00000000000 --- a/tests/micro-benchmarks/ns_resolution/PreorderClientFail.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "r\u0017\"¬KŸ{þÛ\u001b@#’Ëø\f", [] ] \ No newline at end of file diff --git a/tests/projectors/Bug3166.fst.hints b/tests/projectors/Bug3166.fst.hints deleted file mode 100644 index 904af0c58f6..00000000000 --- a/tests/projectors/Bug3166.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ïŸú©{–!*¾\u000bÐõ&?«\u001d", [] ] \ No newline at end of file diff --git a/tests/projectors/MonadFull.Class.fst.hints b/tests/projectors/MonadFull.Class.fst.hints deleted file mode 100644 index c593cd4afd4..00000000000 --- a/tests/projectors/MonadFull.Class.fst.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "8Ì\u000b ó\u001b€gÎU\rh\u001e‘¼ò", - [ - [ - "MonadFull.Class.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_MonadFull.Class.bind", - "equation_MonadFull.Class.return", - "fuel_guarded_inversion_MonadFull.Class.monad", - "interpretation_Tm_abs_0e0118ea919415a9d0f2ad39a014ac49", - "interpretation_Tm_abs_81a344c76be5119d83c28a952f047e07", - "token_correspondence_MonadFull.Class.bind", - "token_correspondence_MonadFull.Class.return" - ], - 0, - "caf409396638702fd17a9258b66b2950" - ] - ] -] \ No newline at end of file diff --git a/tests/projectors/MonadFull.fst.hints b/tests/projectors/MonadFull.fst.hints deleted file mode 100644 index 48e99fc56ab..00000000000 --- a/tests/projectors/MonadFull.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "h\u0004—¿éÀ?G¨ÜN\bDª—m", [] ] \ No newline at end of file diff --git a/tests/restricted_includes/Consumer.fst.hints b/tests/restricted_includes/Consumer.fst.hints deleted file mode 100644 index 21abf38e53e..00000000000 --- a/tests/restricted_includes/Consumer.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ãkp4ª´ÁP^™OóŸœLº", [] ] \ No newline at end of file diff --git a/tests/restricted_includes/Definitions.fst.hints b/tests/restricted_includes/Definitions.fst.hints deleted file mode 100644 index 6fec3bbb220..00000000000 --- a/tests/restricted_includes/Definitions.fst.hints +++ /dev/null @@ -1,101 +0,0 @@ -[ - "\u0014'KûZ+J\u0000ýä\u001d™\u0018<‘6", - [ - [ - "Definitions.a_type__AType3__payload", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f56d5c8c331f254c3e281a940a24922e" - ], - [ - "Definitions.__proj__AType1__item__a1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c7b78031a083619f4ae5429fef7d7717" - ], - 0, - "df35b91f907c0b95b4b93b37217b09fd" - ], - [ - "Definitions.__proj__AType1__item__a2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c7b78031a083619f4ae5429fef7d7717" - ], - 0, - "0d1025f45bd3011fdff23b6169e760c7" - ], - [ - "Definitions.__proj__AType2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e414ee7a2835faab22ca2996434cb14" - ], - 0, - "2211f6c80afebce8fed702ae18569b1f" - ], - [ - "Definitions.__proj__AType3__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c57e72841e0abb0396be75a33c2f19a" - ], - 0, - "971b150d67e89d5695bdcfe8ed87981d" - ], - [ - "Definitions.__proj__BType2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56db4283df581c1b775cbff0cbc2087a" - ], - 0, - "c39a628e34f14333d5b5e8d8e8566a5c" - ], - [ - "Definitions.__proj__BType3__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1eeea49459d45bd1c3e7944e83e335f" - ], - 0, - "e18ac9fe2e7ebd6b7de44f2b67a6e108" - ], - [ - "Definitions.a_record", - 1, - 2, - 1, - [ "@query", "assumption_Definitions.a_type__uu___haseq" ], - 0, - "88a8e1e6b22f9513bb137cacefcdb87c" - ] - ] -] \ No newline at end of file diff --git a/tests/restricted_includes/DoubleIndirectConsumer.fst.hints b/tests/restricted_includes/DoubleIndirectConsumer.fst.hints deleted file mode 100644 index a8bb21dff12..00000000000 --- a/tests/restricted_includes/DoubleIndirectConsumer.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "—2=Q~\"ý‹â0äK\u0017–ê", [] ] \ No newline at end of file diff --git a/tests/restricted_includes/IndirectConsumer.fst.hints b/tests/restricted_includes/IndirectConsumer.fst.hints deleted file mode 100644 index 630968d1f17..00000000000 --- a/tests/restricted_includes/IndirectConsumer.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "'žÙ›Û¢zM€\r–ŠØ£ü", [] ] \ No newline at end of file diff --git a/tests/restricted_includes/TypeclassDefinition.fst.hints b/tests/restricted_includes/TypeclassDefinition.fst.hints deleted file mode 100644 index 375dbc2c451..00000000000 --- a/tests/restricted_includes/TypeclassDefinition.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0003sí>==T*íÊ\u0005'Ó–0j", [] ] \ No newline at end of file diff --git a/tests/restricted_includes/TypeclassInstance.fst.hints b/tests/restricted_includes/TypeclassInstance.fst.hints deleted file mode 100644 index 8e7a7985738..00000000000 --- a/tests/restricted_includes/TypeclassInstance.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ûL\u001dW—(Á08›îâì3\t)", [] ] \ No newline at end of file diff --git a/tests/semiring/CanonCommSemiring.Test.fst.hints b/tests/semiring/CanonCommSemiring.Test.fst.hints deleted file mode 100644 index 75aa35bd739..00000000000 --- a/tests/semiring/CanonCommSemiring.Test.fst.hints +++ /dev/null @@ -1,590 +0,0 @@ -[ - "+C!Î\u00167@~\u000eŒÜu”Þ)", - [ - [ - "CanonCommSemiring.Test.test1_calc", - 1, - 0, - 0, - [ "@query" ], - 0, - "cd621157cdeb9eb3854ab5a1d82f0b19" - ], - [ - "CanonCommSemiring.Test.ring", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b6c99bb19c0efae55151c9dc4852af52" - ], - [ - "CanonCommSemiring.Test.zero", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0f2012a1bccbd70ba77769b2f9d40c0c" - ], - [ - "CanonCommSemiring.Test.one", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "68105e10b86c45bd2e5fd1006498c4a8" - ], - [ - "CanonCommSemiring.Test.op_Plus_Percent", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" - ], - 0, - "f8f2f14482ea78ecb01f3e102c166dfd" - ], - [ - "CanonCommSemiring.Test.op_Star_Percent", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" - ], - 0, - "0dbf503ade2e3b6abc6a62457595c8d7" - ], - [ - "CanonCommSemiring.Test.op_Tilde_Percent", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0" - ], - 0, - "919eb22e40984428fbef9858029519a9" - ], - [ - "CanonCommSemiring.Test.add_identity", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Plus_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", - "equation_CanonCommSemiring.Test.zero", "equation_Prims.nat", - "int_inversion", "int_typing", "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", - "typing_CanonCommSemiring.Test.zero" - ], - 0, - "adf581cb89fb903223faddf0d93667ff" - ], - [ - "CanonCommSemiring.Test.mul_identity", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.one", - "equation_CanonCommSemiring.Test.op_Star_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", - "typing_CanonCommSemiring.Test.one", - "typing_CanonCommSemiring.Test.op_Star_Percent" - ], - 0, - "ae794506bfb214bdee5cb7551b0840a2" - ], - [ - "CanonCommSemiring.Test.add_associativity", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Plus_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "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, - "f63d3de40ea660abba55f8e79f85273d" - ], - [ - "CanonCommSemiring.Test.add_commutativity", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.op_Plus_Percent", - "primitive_Prims.op_Addition" - ], - 0, - "bf20458ce177d829442bc722b35e9fbc" - ], - [ - "CanonCommSemiring.Test.mul_associativity", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Star_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", - "typing_CanonCommSemiring.Test.op_Star_Percent" - ], - 0, - "d1049ff19d43fbbe2aa38b4d317fb503" - ], - [ - "CanonCommSemiring.Test.mul_commutativity", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.op_Star_Percent", - "primitive_Prims.op_Multiply" - ], - 0, - "6f75b4627de5d050aaa4dea19de2753b" - ], - [ - "CanonCommSemiring.Test.mul_add_distr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Plus_Percent", - "equation_CanonCommSemiring.Test.op_Star_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", - "equation_CanonCommSemiring.Test.ring_add_cm", - "equation_CanonCommSemiring.Test.ring_mul_cm", "equation_Prims.nat", - "function_token_typing_CanonCommSemiring.Test.op_Plus_Percent", - "function_token_typing_CanonCommSemiring.Test.op_Star_Percent", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" - ], - 0, - "53565ad55bbb9904d883cc5e08adecf8" - ], - [ - "CanonCommSemiring.Test.mul_zero_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Star_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", - "equation_CanonCommSemiring.Test.ring_add_cm", - "equation_CanonCommSemiring.Test.ring_mul_cm", - "equation_CanonCommSemiring.Test.zero", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef", - "token_correspondence_CanonCommSemiring.Test.op_Star_Percent", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" - ], - 0, - "18441f9fb674915d10b1638fe673ecd1" - ], - [ - "CanonCommSemiring.Test.add_opp", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.op_Plus_Percent", - "equation_CanonCommSemiring.Test.op_Tilde_Percent", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", - "equation_CanonCommSemiring.Test.zero", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "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.op_Tilde_Percent", - "typing_CanonCommSemiring.Test.zero" - ], - 0, - "5018760cde3145e2e0ea061f89a7f483" - ], - [ - "CanonCommSemiring.Test.ring_cr", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.op_Tilde_Percent", - "equation_CanonCommSemiring.Test.ring", - "equation_CanonCommSemiring.Test.ring_add_cm", - "function_token_typing_CanonCommSemiring.Test.op_Plus_Percent", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult" - ], - 0, - "b5c7c7325715092e4a2f0ece710b2a28" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b6660bc8028e1ba8bb70b41066ac704a" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 2, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "8ebea5e924d1aaf4709d6450f0d12d39" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 3, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ebf93d7ac215192d0e572c7491295651" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 4, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e5fa1c1d7d1486bfa4ca7cb8ab054219" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 5, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "dee2f25b1c1f00cf3e9339cc2c206244" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 6, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "dee2f25b1c1f00cf3e9339cc2c206244" - ], - [ - "CanonCommSemiring.Test.test_poly0", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" - ], - 0, - "36d0f2c933a0dbf9372ed4ced6774ce1" - ], - [ - "CanonCommSemiring.Test.test_poly1", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9e07b8a40da61ec44e1a181306c32583" - ], - [ - "CanonCommSemiring.Test.test_poly2", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f0d8c4ac61c3ccc84bd1f1aff50666d8" - ], - [ - "CanonCommSemiring.Test.test_poly2b", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "92bf8df0ff827aa45a977389b7a5e963" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "55e4c84d055d8814bab3b091ae888331" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 2, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "199faf07e8984423865e3dd9cfc6c1d2" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 3, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c1ef4f809c76e32f6fd34933a1ca826b" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 4, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c1ef4f809c76e32f6fd34933a1ca826b" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 5, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c1ef4f809c76e32f6fd34933a1ca826b" - ], - [ - "CanonCommSemiring.Test.test_poly3", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" - ], - 0, - "ef07b9c0d12986d2f59de97bb138c23a" - ], - [ - "CanonCommSemiring.Test.test_poly4", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0f6cf803d522f52c2b2490d3d541be03" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "929304482b60e68fee5338f7641088df" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 2, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "18ba907924eba2107db427d6d82c0b3f" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 3, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6b3c02ee6dd0f8e546c16f3ae3ff50a7" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 4, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6b3c02ee6dd0f8e546c16f3ae3ff50a7" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 5, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6b3c02ee6dd0f8e546c16f3ae3ff50a7" - ], - [ - "CanonCommSemiring.Test.test_poly5", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_CanonCommSemiring.Test.prime", - "equation_CanonCommSemiring.Test.ring", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1f37b2c75b7890a493fd5df08ddc7ef" - ], - 0, - "ae74b1fcce3355073474e2423e307be8" - ], - [ - "CanonCommSemiring.Test.poly_update_repeat_blocks_multi_lemma2_simplify", - 1, - 0, - 0, - [ - "@query", "equation_CanonCommSemiring.Test.prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d47234d0eaf92c3efea2db88d32b7811" - ] - ] -] \ No newline at end of file diff --git a/tests/semiring/CanonCommSemiring.fst.hints b/tests/semiring/CanonCommSemiring.fst.hints deleted file mode 100644 index 439d16c0ad8..00000000000 --- a/tests/semiring/CanonCommSemiring.fst.hints +++ /dev/null @@ -1,1969 +0,0 @@ -[ - "s fun ncb -> @@ -11,22 +11,22 @@ let _ = fun args -> match args with | (tv_0,_)::args_tail -> - (FStarC_Tactics_InterpFuns.mk_tactic_interpretation_9 + (Fstarcompiler.FStarC_Tactics_InterpFuns.mk_tactic_interpretation_9 "CanonCommSemiring.canon_semiring_aux (plugin)" - (FStarC_Tactics_Native.from_tactic_9 canon_semiring_aux) - FStarC_Reflection_V2_Embeddings.e_term - (FStarC_Tactics_Interpreter.e_tactic_1_alt - FStarC_Reflection_V2_Embeddings.e_term - (FStarC_Syntax_Embeddings.mk_any_emb tv_0)) - (FStarC_Tactics_Interpreter.e_tactic_1_alt - (FStarC_Syntax_Embeddings.mk_any_emb tv_0) - FStarC_Reflection_V2_Embeddings.e_term) - FStarC_Reflection_V2_Embeddings.e_term - FStarC_Reflection_V2_Embeddings.e_term - FStarC_Reflection_V2_Embeddings.e_term - FStarC_Reflection_V2_Embeddings.e_term - FStarC_Reflection_V2_Embeddings.e_term - FStarC_Syntax_Embeddings.e_any - FStarC_Syntax_Embeddings.e_unit + (Fstarcompiler.FStarC_Tactics_Native.from_tactic_9 canon_semiring_aux) + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + (Fstarcompiler.FStarC_Tactics_Interpreter.e_tactic_1_alt + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + (Fstarcompiler.FStarC_Syntax_Embeddings.mk_any_emb tv_0)) + (Fstarcompiler.FStarC_Tactics_Interpreter.e_tactic_1_alt + (Fstarcompiler.FStarC_Syntax_Embeddings.mk_any_emb tv_0) + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term) + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + Fstarcompiler.FStarC_Reflection_V2_Embeddings.e_term + Fstarcompiler.FStarC_Syntax_Embeddings.e_any + Fstarcompiler.FStarC_Syntax_Embeddings.e_unit psc ncb us) args_tail | _ -> failwith "arity mismatch") diff --git a/tests/simple_hello/Makefile b/tests/simple_hello/Makefile index 15e53f42015..390dfe8aa2f 100644 --- a/tests/simple_hello/Makefile +++ b/tests/simple_hello/Makefile @@ -2,22 +2,32 @@ # We should not need to include any other internal makefiles. # Dune also works fine under the --ocamlenv. -FSTAR ?= ../../bin/fstar.exe +# In this repository, we inherit this variable. Externally we +# just take fstar.exe from the PATH. +FSTAR_EXE ?= fstar.exe -all: Hello.test +all: Hello.exe.test -Hello.test: Hello.exe Hello.byte - ./Hello.exe | grep "Hello F\*!" - ./Hello.byte | grep "Hello F\*!" +# In a Cygwin build, somehow this dll is not the search path (copying it +# to this directory does make the test work). Just skip it for now. +# $ ./Hello.byte +# Fatal error: cannot load shared library dllzarith +# Reason: No such file or directory +ifneq ($(OS),Windows_NT) +all: Hello.byte.test +endif + +Hello.%.test: Hello.% + ./$< | grep "Hello F\*!" %.ml: %.fst - $(FSTAR) --codegen OCaml $< --extract $* + $(FSTAR_EXE) --codegen OCaml $< --extract $* --z3version 4.13.3 %.exe: %.ml - $(FSTAR) --ocamlopt $< -o $@ + $(FSTAR_EXE) --ocamlopt $< -o $@ %.byte: %.ml - $(FSTAR) --ocamlc $< -o $@ + $(FSTAR_EXE) --ocamlc $< -o $@ clean: rm -f *.ml *.exe *.byte *.cm* *.o diff --git a/tests/struct/array.pos/Test.fst.hints b/tests/struct/array.pos/Test.fst.hints deleted file mode 100644 index 930e6686f86..00000000000 --- a/tests/struct/array.pos/Test.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "p_!\n¤_!‹=aâì™q5È", - [ - [ - "Test.struct", - 1, - 3, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TBool@tok", - "typing_tok_FStar.Pointer.Base.TInt@tok" - ], - 0, - "2deb039fbdc2e8970c5e290bc1ad6f17" - ], - [ - "Test.callee", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TInt", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_Prims.eqtype", "equation_Test.obj", "equation_Test.struct", - "equation_Test.struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gfield_r", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8ecc6be99d45a2144a7acc54c52b51b8", - "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d0289c880ab990123baa443e94dd3ce7", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.loc_pointer", "typing_Prims.string", - "typing_Test.struct", "typing_Test.struct_t" - ], - 0, - "ef5817b1189d26a1888a43deb4f9171b" - ], - [ - "Test.caller", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", - "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", - "FStar.Pointer.Base_interpretation_Tm_arrow_6fc799a790a74ce5209418d25bd87e6d", - "FStar.Pointer.Base_interpretation_Tm_arrow_dc341725e79c77ee2826c69229248156", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_elim_Prims.Mkdtuple2", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.dfst_struct_field", - "equation_FStar.Pointer.Base.fun_of_list", - "equation_FStar.Pointer.Base.struct_create", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_literal", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Test.mk_struct_literal", - "equation_Test.struct", "equation_Test.struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.dfst_struct_field", - "function_token_typing_FStar.Pointer.Base.fun_of_list", - "int_inversion", "int_typing", - "interpretation_Tm_abs_38d4bb2034e4c433acd11631b66192dd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gread_gcell", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.readable_gcell", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "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.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ac192743de52a9c212800a3bfc27c72", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d6d97f5639ae0826ad88392a6b4daa34", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "token_correspondence_FStar.Pointer.Base.fun_of_list", - "typing_FStar.List.Tot.Base.find", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v", "typing_Prims.string", "typing_Test.struct", - "typing_Test.struct_t", - "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" - ], - 0, - "b4a42c546baff1f4b9574afee3d4bda9" - ] - ] -] \ No newline at end of file diff --git a/tests/struct/disjoint.pos/Test.fst.hints b/tests/struct/disjoint.pos/Test.fst.hints deleted file mode 100644 index 24f598f4ef5..00000000000 --- a/tests/struct/disjoint.pos/Test.fst.hints +++ /dev/null @@ -1,325 +0,0 @@ -[ - "0—\u0006X~uà˃³*r†ã£†", - [ - [ - "Test.struct", - 1, - 4, - 2, - [ - "@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", - "@query", - "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", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TBool@tok", - "typing_tok_FStar.Pointer.Base.TInt@tok" - ], - 0, - "3f42a19d38572faa36c681d307d8aa69" - ], - [ - "Test.callee", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "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", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_Prims.eqtype", "equation_Test.obj", "equation_Test.struct", - "equation_Test.struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gfield_r", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8ecc6be99d45a2144a7acc54c52b51b8", - "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d0289c880ab990123baa443e94dd3ce7", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.loc_pointer", "typing_Prims.string", - "typing_Test.struct", "typing_Test.struct_t" - ], - 0, - "09f574146e02fa499398d571e5bc647a" - ], - [ - "Test.more_struct", - 1, - 4, - 2, - [ - "@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_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "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", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_FStar.Pointer.Base.TUnit@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TUnit@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Test.struct", "equation_Test.struct_t", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_Test.struct", "typing_Test.struct_t" - ], - 0, - "44d46a9734063a7fa9bd3a597c0f2640" - ], - [ - "Test.caller", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "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", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_elim_Prims.Mkdtuple2", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.dfst_struct_field", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.fun_of_list", - "equation_FStar.Pointer.Base.modifies_0", - "equation_FStar.Pointer.Base.struct_create", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_literal", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Test.mk_struct_literal", - "equation_Test.more_struct", "equation_Test.more_struct_t", - "equation_Test.struct", "equation_Test.struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.dfst_struct_field", - "function_token_typing_FStar.Pointer.Base.fun_of_list", - "int_inversion", - "interpretation_Tm_abs_38d4bb2034e4c433acd11631b66192dd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_unused_in_disjoint", - "lemma_FStar.Pointer.Base.loc_disjoint_none_r", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "lemma_FStar.Pointer.Base.unused_in_gfield", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "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.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ac192743de52a9c212800a3bfc27c72", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_83d1bf25f81d108af096d9e2128c8350", - "refinement_interpretation_Tm_refine_a37a3c8ca4dcf11aa431310e3dd5ee90", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "token_correspondence_FStar.Pointer.Base.fun_of_list", - "typing_FStar.List.Tot.Base.find", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.loc_none", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.string", "typing_Test.more_struct", - "typing_Test.struct", "typing_Test.struct_t", - "typing_Tm_abs_38d4bb2034e4c433acd11631b66192dd" - ], - 0, - "550d930c2f09b0a2ec28d85577b6aaba" - ] - ] -] \ No newline at end of file diff --git a/tests/struct/nested.pos/Test.fst.hints b/tests/struct/nested.pos/Test.fst.hints deleted file mode 100644 index 72f0a95d07a..00000000000 --- a/tests/struct/nested.pos/Test.fst.hints +++ /dev/null @@ -1,251 +0,0 @@ -[ - "l(Ê£ \n\bñ´½¥fŸ\u001d‹d", - [ - [ - "Test.nested_st", - 1, - 4, - 2, - [ - "@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", - "@query", - "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", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v", - "typing_Prims.string" - ], - 0, - "8c38215cb8aa3d831f9b2b9d7c42621f" - ], - [ - "Test.ty", - 1, - 4, - 2, - [ - "@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", - "@query", - "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", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.v", - "typing_Prims.string" - ], - 0, - "731fa161bc6efb3730fafdbc79f4209d" - ], - [ - "Test.f", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pervasives.Native_interpretation_Tm_arrow_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", - "data_elim_FStar.Pointer.Base.TStruct", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_Test.nested_st", "equation_Test.ty", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.index_buffer_as_seq", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gcell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b8ca662b1ac32cab8f6f7eec9c46ad7c", - "refinement_interpretation_Tm_refine_c286fb718a6bf0819aebd9f7aa47fa97", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_Prims.string", - "typing_Test.nested_st", "typing_Test.ty", - "typing_tok_FStar.Pointer.Base.TUInt32@tok" - ], - 0, - "ce5b7fd230a86a3d18bb252ca4a1c48c" - ] - ] -] \ 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 deleted file mode 100644 index 0a33dfc22e0..00000000000 --- a/tests/struct/point-with-nesting.pos/Test.fst.hints +++ /dev/null @@ -1,309 +0,0 @@ -[ - "\u0005ƒÕú©qC¾>þ\u0017\u001a.‡b`", - [ - [ - "Test.point_struct", - 1, - 4, - 2, - [ - "@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", - "@query", - "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", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TInt@tok" - ], - 0, - "71f4c16d7efb4cd3c5c3bcb1107485a8" - ], - [ - "Test.colored_object_struct", - 1, - 4, - 2, - [ - "@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", - "@query", - "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_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TBool@tok" - ], - 0, - "dd9b189c9b77cc30caea982a9b054c30" - ], - [ - "Test.write_struct_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.modifies_1_readable_struct", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_47cf4255480bcdf7c4f806aa33ac9e3f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_cbc48cae9b8b6a3b9ce94ee71b2d46ac", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "c61d03609ebec322350ef72d1f1d251a" - ], - [ - "Test.flip", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "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", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Test.colored_object", - "equation_Test.colored_object_struct", - "equation_Test.colored_object_t", "equation_Test.colored_point", - "equation_Test.point_struct", "equation_Test.point_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_1_readable_struct", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gfield_l", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_391d9a8d011ba7c83bc75512adbfd9dc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f7395a509aebc6d5dfadd81558c3d22", - "refinement_interpretation_Tm_refine_52816e020198d54bb0a4d17de79c5900", - "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", - "refinement_interpretation_Tm_refine_a395c6c0777307da6362e4d733b0b698", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", "typing_Prims.string", - "typing_Test.colored_object_struct", "typing_Test.colored_object_t", - "typing_Test.point_struct", "typing_Test.point_t" - ], - 0, - "cc2293f25cf3f52d028ae8fd27c0a5ef" - ], - [ - "Test.flip'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "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", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Test.colored_object", - "equation_Test.colored_object_struct", - "equation_Test.colored_object_t", "equation_Test.colored_point", - "equation_Test.point_struct", "equation_Test.point_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_1_readable_struct", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gfield_l", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gfield_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_391d9a8d011ba7c83bc75512adbfd9dc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f7395a509aebc6d5dfadd81558c3d22", - "refinement_interpretation_Tm_refine_52816e020198d54bb0a4d17de79c5900", - "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", - "refinement_interpretation_Tm_refine_a395c6c0777307da6362e4d733b0b698", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", "typing_Prims.string", - "typing_Test.colored_object_struct", "typing_Test.colored_object_t", - "typing_Test.point_struct", "typing_Test.point_t" - ], - 0, - "9371c4a94ea137792b6a87a7689fdb74" - ] - ] -] \ No newline at end of file diff --git a/tests/struct/point.pos/Test.fst.hints b/tests/struct/point.pos/Test.fst.hints deleted file mode 100644 index e31b8d4688b..00000000000 --- a/tests/struct/point.pos/Test.fst.hints +++ /dev/null @@ -1,215 +0,0 @@ -[ - "·‚8\u0002\\Cµþ7iä“Tkÿ·", - [ - [ - "Test.point_struct", - 1, - 4, - 2, - [ - "@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", - "@query", - "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", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TBool@tok", - "typing_tok_FStar.Pointer.Base.TInt@tok" - ], - 0, - "61af28c1e6b405810239a4d96bf442b0" - ], - [ - "Test.flip", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "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", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Test.point", - "equation_Test.point_struct", "equation_Test.point_struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_union_r", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_1_readable_struct", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5fc210a3e7200f4ef65065158186fefc", - "refinement_interpretation_Tm_refine_6713fe67348d058a72ebc2fb73d1d0eb", - "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", - "refinement_interpretation_Tm_refine_a3b4af163e63d78f81df0fa20016c908", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e616f2feea6b834bf66d1fef4c1be719", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", "typing_Prims.string", - "typing_Test.point_struct", "typing_Test.point_struct_t" - ], - 0, - "3b570a26ffd5d41e2e8ada9d882c9a29" - ], - [ - "Test.flip'", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "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", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Test.point", - "equation_Test.point_struct", "equation_Test.point_struct_t", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_union_r", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_1_readable_struct", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5fc210a3e7200f4ef65065158186fefc", - "refinement_interpretation_Tm_refine_6713fe67348d058a72ebc2fb73d1d0eb", - "refinement_interpretation_Tm_refine_8cf6c77bc1de6ecf3a696b39dccf9a91", - "refinement_interpretation_Tm_refine_a3b4af163e63d78f81df0fa20016c908", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e616f2feea6b834bf66d1fef4c1be719", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", "typing_Prims.string", - "typing_Test.point_struct", "typing_Test.point_struct_t" - ], - 0, - "768f6dc962481465c5e8b7b72675170f" - ] - ] -] \ No newline at end of file diff --git a/tests/struct/taggedunion.pos/Test.fst.hints b/tests/struct/taggedunion.pos/Test.fst.hints deleted file mode 100644 index 52d5fa40480..00000000000 --- a/tests/struct/taggedunion.pos/Test.fst.hints +++ /dev/null @@ -1,647 +0,0 @@ -[ - "åh–z›P\u0016΀©èüZ^Ò®", - [ - [ - "Test.either_l", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string" - ], - 0, - "5e4ae6292008a42885e4f6f270c7f0d9" - ], - [ - "Test.either_tags", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Test.either_l", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_Prims.pow2", "typing_Prims.string", "typing_Test.either_l" - ], - 0, - "23936e9e0df5c69373b2865d27574aa2" - ], - [ - "Test.option_l", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TUnit@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TUnit@tok" - ], - 0, - "8e5aadeb879d8ca32ce898ef0b953918" - ], - [ - "Test.option_tags", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_Test.option_l", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_Prims.pow2", "typing_Prims.string", "typing_Test.option_l" - ], - 0, - "0f2441903387ca024faaef03b75b5b38" - ], - [ - "Test.s_l", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TUInt8@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TUInt8@tok" - ], - 0, - "2a979d68c1459990a53f2bbe082625d6" - ], - [ - "Test.s_x", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Test.s_l", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_Prims.string", "typing_Test.s_l" - ], - 0, - "ea3f609f2bd7bbf66e9a361a31965344" - ], - [ - "Test.s_y", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_Prims.eqtype", "equation_Test.s_l", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_Prims.string", "typing_Test.s_l" - ], - 0, - "7fab087fb049d39ce6d800ac2730b929" - ], - [ - "Test.step_0", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "equality_tok_FStar.Pointer.Base.TUInt16@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_Test.either_l", "equation_Test.either_tags", - "equation_Test.either_typ", "equation_Test.s_l", - "equation_Test.s_typ", "equation_Test.s_y", "equation_Test.st_tags", - "equation_Test.st_typ", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.TaggedUnion.live_gfield", - "lemma_FStar.TaggedUnion.modifies_1_field", - "lemma_FStar.TaggedUnion.modifies_1_field_tag", - "lemma_FStar.TaggedUnion.modifies_1_valid", - "lemma_FStar.TaggedUnion.readable_field", - "lemma_FStar.TaggedUnion.readable_intro", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8f840f280af8d7eb0bf7bcc4407014b1", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", - "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.loc_pointer", "typing_Prims.string", - "typing_Test.either_l", "typing_Test.s_l", "typing_Test.s_typ", - "typing_Test.s_y", "typing_Test.st_tags", "typing_Test.st_typ", - "typing_tok_FStar.Pointer.Base.TUInt16@tok" - ], - 0, - "31e4c94031ccc9f7c4da9f2a27b77167" - ], - [ - "Test.step", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_FStar.Pointer.Base.TUInt16@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.raw", "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Test.either_l", "equation_Test.either_tags", - "equation_Test.either_typ", "equation_Test.s_l", - "equation_Test.s_typ", "equation_Test.st_tags", - "equation_Test.st_typ", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.TaggedUnion.readable_field", - "lemma_FStar.TaggedUnion.valid_matching_tags", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_173489672a6ed91286550aff1a10f363", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d4fd04b182ed2cb7a81d3be4fd38602c", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.TaggedUnion.raw_get_field", "typing_FStar.UInt32.t", - "typing_Prims.string", "typing_Test.either_l", "typing_Test.s_l", - "typing_Test.s_typ", "typing_Test.st_tags", "typing_Test.st_typ", - "typing_tok_FStar.Pointer.Base.TUInt16@tok" - ], - 0, - "69f3e7e075335f0b2f5878bbecf266e0" - ], - [ - "Test.step_alt", - 1, - 4, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Nil@tok", "eq2-interp", - "equality_tok_FStar.Pointer.Base.TUInt16@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.raw", "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Test.either_l", "equation_Test.either_tags", - "equation_Test.either_typ", "equation_Test.s_l", - "equation_Test.s_typ", "equation_Test.st_tags", - "equation_Test.st_typ", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_union_idem", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_struct_fields_cons", - "lemma_FStar.Pointer.Base.readable_struct_fields_nil", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.modifies_trans_incl_l", - "lemma_FStar.TaggedUnion.live_gfield", - "lemma_FStar.TaggedUnion.modifies_1_field", - "lemma_FStar.TaggedUnion.modifies_1_field_tag", - "lemma_FStar.TaggedUnion.modifies_1_valid", - "lemma_FStar.TaggedUnion.readable_field", - "lemma_FStar.TaggedUnion.readable_intro", - "lemma_FStar.TaggedUnion.valid_live", - "lemma_FStar.TaggedUnion.valid_matching_tags", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_8f840f280af8d7eb0bf7bcc4407014b1", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d4fd04b182ed2cb7a81d3be4fd38602c", - "refinement_interpretation_Tm_refine_dc125554d674a3cffedc49709b8f49c2", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f93e18f40d6668bbcecb3e00bf19fdf3", - "refinement_interpretation_Tm_refine_fc9654ce4b1ec59d794a7d8ae7206123", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.TaggedUnion.raw_get_field", "typing_FStar.UInt32.t", - "typing_Prims.string", "typing_Test.either_l", "typing_Test.s_l", - "typing_Test.s_typ", "typing_Test.st_tags", "typing_Test.st_typ", - "typing_tok_FStar.Pointer.Base.TUInt16@tok", "unit_inversion", - "unit_typing" - ], - 0, - "0160abedb58350e4ef2afec7e9d60a51" - ] - ] -] \ No newline at end of file diff --git a/tests/struct/union.pos/Test.fst.hints b/tests/struct/union.pos/Test.fst.hints deleted file mode 100644 index 24bbad58ff0..00000000000 --- a/tests/struct/union.pos/Test.fst.hints +++ /dev/null @@ -1,200 +0,0 @@ -[ - "ÚJx«u„ÍJ2VahÒHLA", - [ - [ - "Test.s", - 1, - 4, - 2, - [ - "@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", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TUnit@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TBool@tok", - "typing_tok_FStar.Pointer.Base.TUnit@tok" - ], - 0, - "65d1ef50a5cea06557a80dddfbc8a8b7" - ], - [ - "Test.u", - 1, - 4, - 2, - [ - "@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_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Test.s", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_Test.s", "typing_tok_FStar.Pointer.Base.TUInt32@tok" - ], - 0, - "f032923dc639e31eb8107b7470e3d555" - ], - [ - "Test.f", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_Test.s", "equation_Test.t", "equation_Test.u", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gufield", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.includes_gufield_gen", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_04d90561d6fe87478a2505f11a105992", - "refinement_interpretation_Tm_refine_205b8dcc183f939c7a3f4875bc2399fe", - "refinement_interpretation_Tm_refine_290c8d04d76d52b906fbe9651f9652ba", - "refinement_interpretation_Tm_refine_383edd4de650216f4c9a21d114d12b77", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_68b0b2ccca30fe290ae64385c62399b2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_dfe5fd280f3011063cb4a6fe6ede63c7", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", "typing_Prims.string", - "typing_Test.s", "typing_Test.t", "typing_Test.u" - ], - 0, - "6239f6692464fe9517c092d9941682d7" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Admit.fst.hints b/tests/tactics/Admit.fst.hints deleted file mode 100644 index 8e2ced20015..00000000000 --- a/tests/tactics/Admit.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "MW-\u0018\u001f››\u001b\u0005xÕ\u007f\b\u0005\u0004Þ", [] ] \ No newline at end of file diff --git a/tests/tactics/Alt.fst.hints b/tests/tactics/Alt.fst.hints deleted file mode 100644 index a6a870f67ec..00000000000 --- a/tests/tactics/Alt.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ђ79¼˜\\<+\u001e‘¹\u001dnªý", [] ] \ No newline at end of file diff --git a/tests/tactics/AndElim.fst.hints b/tests/tactics/AndElim.fst.hints deleted file mode 100644 index 3c813734c96..00000000000 --- a/tests/tactics/AndElim.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "|\u0013ÖÄÌÓ'þ\u0016òÇTÏ\u0014", [] ] \ No newline at end of file diff --git a/tests/tactics/AnnoyingVCs.fst.hints b/tests/tactics/AnnoyingVCs.fst.hints deleted file mode 100644 index 2a7ae1987a2..00000000000 --- a/tests/tactics/AnnoyingVCs.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "IÐc\u001a}¿\u0007¾è\naƒ¸ìO~", - [ - [ - "AnnoyingVCs.test1", - 2, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c7dcd76ceccdc045861c06289acc244e" - ], - [ - "AnnoyingVCs.test2", - 1, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "496b2e46fccd17c9504d6325ec23d133" - ], - [ - "AnnoyingVCs.test2", - 2, - 2, - 1, - [ - "@query", "b2t_def", "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a0d5d7f84b79904345343b0b70f1d378" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Apply.fst.hints b/tests/tactics/Apply.fst.hints deleted file mode 100644 index 7e685970419..00000000000 --- a/tests/tactics/Apply.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "³Œ£1e¼Òêïùþ)šÜ4å", [] ] \ No newline at end of file diff --git a/tests/tactics/ApplyLemma.fst.hints b/tests/tactics/ApplyLemma.fst.hints deleted file mode 100644 index e9b48afb10f..00000000000 --- a/tests/tactics/ApplyLemma.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ÿr(Ú\u0012Ø…\u0005tû£hó•°", [] ] \ No newline at end of file diff --git a/tests/tactics/BQual.fst.hints b/tests/tactics/BQual.fst.hints deleted file mode 100644 index a6368c41c0f..00000000000 --- a/tests/tactics/BQual.fst.hints +++ /dev/null @@ -1,27 +0,0 @@ -[ - "\u007f$ße+D%´Ó\u0019\tyf¨ñž", - [ - [ - "BQual.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "67cc5580d37e8f69125905a7a1bc8c88" - ], - [ - "BQual.uu___0", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "7919d5cf43582cbde400ee7ad4688f66" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Branch.fst.hints b/tests/tactics/Branch.fst.hints deleted file mode 100644 index e18ca91130c..00000000000 --- a/tests/tactics/Branch.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "ÔZ)Þš‰rz,\u0014ø„\u0016\u0013…ê", - [ - [ - "Branch.__proj__A__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9919183acc09ab1e33301cdf8ea273cd" - ], - 0, - "16d43b181a03dbd0ad95132adf84018f" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Bug1252.fst.hints b/tests/tactics/Bug1252.fst.hints deleted file mode 100644 index 3e372b0c214..00000000000 --- a/tests/tactics/Bug1252.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "ÀÊ\r>úµ‹Ø²ÇC\u0016™7Íæ", - [ - [ - "Bug1252.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "function_token_typing_Bug1252.p1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "d5cb8ca08f3ad5d7ea120bbe67bb6b33" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Bug1256.fst.hints b/tests/tactics/Bug1256.fst.hints deleted file mode 100644 index 978872ec487..00000000000 --- a/tests/tactics/Bug1256.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "˜\u0006ÏÑv\u0014¯D§»FVÈž¬H", [] ] \ No newline at end of file diff --git a/tests/tactics/Bug1270.fst.hints b/tests/tactics/Bug1270.fst.hints deleted file mode 100644 index 33981c6c061..00000000000 --- a/tests/tactics/Bug1270.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "UŸz\u001bøðq‘ûBpþ½\u0005,ˆ", - [ - [ - "Bug1270.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.V2.Builtins.vars_of_env" - ], - 0, - "d30b85956ad90d8d45faab44b5e78dba" - ], - [ - "Bug1270.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.V2.Builtins.vars_of_env" - ], - 0, - "eb72a286193d6256e4156dfdde54d7ae" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Bug1272.fst.hints b/tests/tactics/Bug1272.fst.hints deleted file mode 100644 index 74a9b9e9c53..00000000000 --- a/tests/tactics/Bug1272.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\\\u0013\b\u0003¯V\u000eM÷\u001fi¶Š¤¹\u0014", [] ] \ No newline at end of file diff --git a/tests/tactics/Bug1299.fst.hints b/tests/tactics/Bug1299.fst.hints deleted file mode 100644 index 57fbea03ef8..00000000000 --- a/tests/tactics/Bug1299.fst.hints +++ /dev/null @@ -1,47 +0,0 @@ -[ - "Iê¡\u0005\\.9þæÕ\u001f\u0010\u0007ÎpI", - [ - [ - "Bug1299.should_fail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "d4999b3e351edccf0fd1d3e20fbdcd20" - ], - [ - "Bug1299.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.option@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Pprint.arbitrary_string", - "typing_FStar.Stubs.Pprint.document", "typing_Prims.unit", - "unit_typing" - ], - 0, - "7798fe1ec726ca09aed59ac96e3f7dc5" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Bug3175.fst.hints b/tests/tactics/Bug3175.fst.hints deleted file mode 100644 index f425dcebf43..00000000000 --- a/tests/tactics/Bug3175.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ìD<\"\f£Ìòèí,9v\u0016\u000fþ", [] ] \ No newline at end of file diff --git a/tests/tactics/CallSubtac.fst.hints b/tests/tactics/CallSubtac.fst.hints deleted file mode 100644 index 9e15231efe0..00000000000 --- a/tests/tactics/CallSubtac.fst.hints +++ /dev/null @@ -1,136 +0,0 @@ -[ - "§ðWvµšÓ½½\r%–\u0014\u0004\\", - [ - [ - "CallSubtac.must", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Stubs.Tactics.Types.issues", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Stubs.Tactics.Types.issues" - ], - 0, - "9cdeb5d090e85f1fa457f4c2e572d4b9" - ], - [ - "CallSubtac.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "66dabae774d12de56cd8dab71c98e2ca" - ], - [ - "CallSubtac.test1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "518f5d4d804967d6f73eb416a8bb9c3b" - ], - [ - "CallSubtac.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "89e39894bb41dc1b47996cb456da6c53" - ], - [ - "CallSubtac.test2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "ea983b34fa19cdb14305ff1a65606fbf" - ], - [ - "CallSubtac.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "d0fcdb1280f7c3d5e8b15abce82f9f86" - ], - [ - "CallSubtac.test3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Tactics.Types.issues", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_30965369282456c847a40c68161cd4ad" - ], - 0, - "518f5d4d804967d6f73eb416a8bb9c3b" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Caller.fst.hints b/tests/tactics/Caller.fst.hints deleted file mode 100644 index 8a2588b0ea9..00000000000 --- a/tests/tactics/Caller.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\t…‘ï\u0001Gä\\[\u001boº\u000f-¦(", [] ] \ No newline at end of file diff --git a/tests/tactics/Cases.fst.hints b/tests/tactics/Cases.fst.hints deleted file mode 100644 index b66c6281c5b..00000000000 --- a/tests/tactics/Cases.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "<¨)\u0013=,>ßðšUBJ®d.", - [ - [ - "Cases.test_cases_bool_2", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9af01d0a78daa56b8085280f0251b3f3" - ], - [ - "Cases.test_cases_bool_2", - 2, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "aa2dee40bc3931fd0e3fe5b235d3ea0d" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Change.fst.hints b/tests/tactics/Change.fst.hints deleted file mode 100644 index 1903d5bfda1..00000000000 --- a/tests/tactics/Change.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "†oµlo€\u0015Åœ“õØ\u007f\u0011D\u0002", - [ - [ - "Change.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Change.id" ], - 0, - "7a0ebad702d0520e6ca4e2ccd262fa1e" - ], - [ - "Change.uu___1", - 1, - 2, - 1, - [ "@query", "equation_Change.id" ], - 0, - "43a8c786724b68e3ec9f6266f5f56078" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/CheckEquiv.fst.hints b/tests/tactics/CheckEquiv.fst.hints deleted file mode 100644 index e4296d60bbd..00000000000 --- a/tests/tactics/CheckEquiv.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0002Ó\u001bPè#á6\u000b5bâ4z®=", [] ] \ No newline at end of file diff --git a/tests/tactics/CheckMatchComplete.fst.hints b/tests/tactics/CheckMatchComplete.fst.hints deleted file mode 100644 index 7716bdd4268..00000000000 --- a/tests/tactics/CheckMatchComplete.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "ϸœ¨\u0018þ< ö_¿É‡Ñi", - [ - [ - "CheckMatchComplete.test_wild", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "ac7be47f752db45afb3f8ffcb874dd80" - ], - [ - "CheckMatchComplete.test_const_two", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "47b67e4d84ea1f2cab4fb1f114431d93" - ], - [ - "CheckMatchComplete.test_const_two'", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "53c2fe3c7857eae50f74897ac15273ae" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Clear.fst.hints b/tests/tactics/Clear.fst.hints deleted file mode 100644 index 21b8495a8c7..00000000000 --- a/tests/tactics/Clear.fst.hints +++ /dev/null @@ -1,18 +0,0 @@ -[ - "XÄ\u001dnû\u0018<×Ý´·+\u0018,qW", - [ - [ - "Clear.l2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "function_token_typing_Clear.p", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b80b00d2a6b3686f7216d16bcbadee27" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Coercions.fst.hints b/tests/tactics/Coercions.fst.hints deleted file mode 100644 index 8d30435ad8b..00000000000 --- a/tests/tactics/Coercions.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ȵ˜^ Ü/©À›,S®\u001d6‚", [] ] \ No newline at end of file diff --git a/tests/tactics/CommuteMatch.fst.hints b/tests/tactics/CommuteMatch.fst.hints deleted file mode 100644 index f726ed165a2..00000000000 --- a/tests/tactics/CommuteMatch.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "^O˜´6_MÀЮÓ~T%\u001aH", - [ - [ - "CommuteMatch.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_CommuteMatch.X", - "constructor_distinct_CommuteMatch.Y", - "disc_equation_CommuteMatch.X", "disc_equation_CommuteMatch.Y", - "equality_tok_CommuteMatch.X@tok", "equality_tok_CommuteMatch.Y@tok", - "fuel_guarded_inversion_CommuteMatch.t", - "projection_inverse_BoxBool_proj_0", "typing_CommuteMatch.x" - ], - 0, - "b4a6580e8228436505e09cd6fa7f4db2" - ], - [ - "CommuteMatch.rw_test4", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "c3fad5898aaca24174837557912031ef" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/CoreCheckMatch.fst.hints b/tests/tactics/CoreCheckMatch.fst.hints deleted file mode 100644 index b61f884e626..00000000000 --- a/tests/tactics/CoreCheckMatch.fst.hints +++ /dev/null @@ -1,274 +0,0 @@ -[ - "yï\u0010Èk;ÏÉ»´nRÁÀù3", - [ - [ - "CoreCheckMatch.dtuple2_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_6ba36691ee58dee85cd144324b083848", - "refinement_interpretation_Tm_refine_13bf0778c86c9a16c127b79af16d1130" - ], - 0, - "03e2717e09bb2fbe414298eeb2c26b59" - ], - [ - "CoreCheckMatch.option_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Some", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_b18d00689402dbf5124cb0117ac6ac78" - ], - 0, - "524282b30b9a978fac63952461a0c19f" - ], - [ - "CoreCheckMatch.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "8b768fc132004e4ba02ca818209ce5da" - ], - [ - "CoreCheckMatch.simple_record_nd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_CoreCheckMatch.nat_dep" - ], - 0, - "4462f919d69dd1a630531c3cdc8af170" - ], - [ - "CoreCheckMatch.simple_record_dp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_CoreCheckMatch.nat_dep" - ], - 0, - "0eb923216d4c69b0aacb4906037a803a" - ], - [ - "CoreCheckMatch.simple_record_tsc_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_CoreCheckMatch.nat_dep_tsc_ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "232f98605cea68dea824373690439361" - ], - [ - "CoreCheckMatch.dtuple2_ind_ss", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_6ba36691ee58dee85cd144324b083848", - "refinement_interpretation_Tm_refine_13bf0778c86c9a16c127b79af16d1130" - ], - 0, - "73c7557328af8b5989ce6abcadca49ed" - ], - [ - "CoreCheckMatch.refined_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CoreCheckMatch.refined", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_e019348a89017022184eb6c0daba8e0a" - ], - 0, - "589739364ae3180aac9dc4acc1db3846" - ], - [ - "CoreCheckMatch.eq_to_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2b8e2a90428944c45990df46b9c37918" - ], - 0, - "37dc244fa0e333e0cd1042465ac6134e" - ], - [ - "CoreCheckMatch.add_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "d9e5de92970aae428335ddddd7845b2b" - ], - [ - "CoreCheckMatch.or_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f86a2e0f4535b45c62e42d8b28008f3f" - ], - 0, - "496a646882c1c0c9f89429b63f2e5c60" - ], - [ - "CoreCheckMatch.toto", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c7fa57daa96c1de55655434dcd20e8ca" - ], - [ - "CoreCheckMatch.tata", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CoreCheckMatch.refined", - "equation_Prims.nat", - "interpretation_Tm_abs_db93ee31d652069ee178dce1dfe0fb28", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" - ], - 0, - "af23df806111627c494a163ebd774e8e" - ], - [ - "CoreCheckMatch.__proj__Ctor_1__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_833dcb6a8d2497af1df3fa5144e0764d" - ], - 0, - "f86642d416ba935c9a0f4a8a1aae43df" - ], - [ - "CoreCheckMatch.__proj__Ctor_2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f40aa86df9ff8572ffa3d32679fa86d" - ], - 0, - "b313da7a64538a71822b93b6bfd49340" - ], - [ - "CoreCheckMatch.f_ss", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "equation_CoreCheckMatch.refined", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_db93ee31d652069ee178dce1dfe0fb28", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" - ], - 0, - "de094dd51263ddec6d8354730c982751" - ], - [ - "CoreCheckMatch.g_ss", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_CoreCheckMatch.Ctor_1", - "disc_equation_CoreCheckMatch.Ctor_2", - "fuel_guarded_inversion_CoreCheckMatch.test_sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6aeea4901c7bdff68d4c2b8426702d4b" - ], - [ - "CoreCheckMatch.arrow_to_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "2605abf584336016234dc0b80d152a45" - ], - [ - "CoreCheckMatch.remove_refine", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "1ee1170a50c951b4366bd7365d99d467" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Cut.fst.hints b/tests/tactics/Cut.fst.hints deleted file mode 100644 index 40e87bdf9d1..00000000000 --- a/tests/tactics/Cut.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "°Ô´Þ±ß–\u00102sµDmrÎ\u0013", [] ] \ No newline at end of file diff --git a/tests/tactics/DeltaDepth.fst.hints b/tests/tactics/DeltaDepth.fst.hints deleted file mode 100644 index 5c5dfe0b364..00000000000 --- a/tests/tactics/DeltaDepth.fst.hints +++ /dev/null @@ -1,43 +0,0 @@ -[ - "&¾l§ìóË+\u0004˜·èòË÷\u001a", - [ - [ - "DeltaDepth.__proj__A__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e57589849c6497f93798a0ea15a1df2" - ], - 0, - "a6be4c14cd7735ae112d560c36c03614" - ], - [ - "DeltaDepth.__proj__B__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_90c35950d1e7f0a820470167e5c76674" - ], - 0, - "3af0df4ed5f04be4e5aab65759cd6d4b" - ], - [ - "DeltaDepth.m", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_DeltaDepth.A", - "disc_equation_DeltaDepth.A", "equation_DeltaDepth.v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_DeltaDepth.A__0" - ], - 0, - "9abb13fa5de6758886a9dea5da5c393d" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/DependentSynth.fst.hints b/tests/tactics/DependentSynth.fst.hints deleted file mode 100644 index 06f7a828d78..00000000000 --- a/tests/tactics/DependentSynth.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "š!Þ*\u001dÈ\n¾Y,Z\u0011êaXÝ", - [ - [ - "DependentSynth.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_DependentSynth.myty", "int_typing", "unit_typing" - ], - 0, - "11cf9f19c3d6f6d11fc7ee050437e3b6" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Destruct.fst.hints b/tests/tactics/Destruct.fst.hints deleted file mode 100644 index dbd3a3a283e..00000000000 --- a/tests/tactics/Destruct.fst.hints +++ /dev/null @@ -1,396 +0,0 @@ -[ - "\u0014ß\u0006–™\u0017\u0014»|íà|\u0010«HV", - [ - [ - "Destruct.t2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "c7ee15d6fc3db4bae1a25f0313bbc3de" - ], - [ - "Destruct.__proj__A2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_15d80be637ca75d5c418364229a1bb22" - ], - 0, - "fd7dce8239bbe1e3bbe7f11280477013" - ], - [ - "Destruct.__proj__B2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb5b47cb8fe6a6ad9ef550685a5d6a5d" - ], - 0, - "52479b365251aeb47d40349bedfc3764" - ], - [ - "Destruct.__proj__C2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" - ], - 0, - "f69162e43137aa3cdc7bf158c03e31f7" - ], - [ - "Destruct.__proj__C2__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" - ], - 0, - "3a93e6de02936df0c39a611c99e4c3ec" - ], - [ - "Destruct.__proj__C2__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42019ac1942b4ff52b545bc4be0e0841" - ], - 0, - "bd15e3c1c5a13c8b02cf1dfcaa360c00" - ], - [ - "Destruct.t3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "typing_Prims.string" - ], - 0, - "e4ae3bcb3d1504cbc85ce6d2425cdfab" - ], - [ - "Destruct.__proj__B3__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09dde35c659cf7f75ce8e59a37558929" - ], - 0, - "687a958f2688ee13a76c7c565c582d14" - ], - [ - "Destruct.__proj__C3__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" - ], - 0, - "5512c6cf7546265f6d0b362d6847f9f2" - ], - [ - "Destruct.__proj__C3__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_11b50967a69485f0d567e8d70b8ffdc0" - ], - 0, - "9c6d0e3ac2562f0e38f8f253ebbc7dc6" - ], - [ - "Destruct.t4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "48b3f9f18fdb7bff82f175516e32ca7f" - ], - [ - "Destruct.__proj__A4__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56ba732a08a46e2a006cb7cd49c61bb2" - ], - 0, - "662b67b0471e7e8dd99026baaaeaf93e" - ], - [ - "Destruct.__proj__B4__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_316b60465156994faf26a3b05c39e34a" - ], - 0, - "8507dece6e68a44083898c7f0eb7ef4b" - ], - [ - "Destruct.__proj__C4__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" - ], - 0, - "fa93105e798b115ae4eb72c819602c09" - ], - [ - "Destruct.__proj__C4__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" - ], - 0, - "2732686efe60107b712122ea305674bb" - ], - [ - "Destruct.__proj__C4__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb2e13b75ca87847a19e6c915787a293" - ], - 0, - "c49d5f6bacf9b34cbbad1d17a70a5d31" - ], - [ - "Destruct.vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "73155c26940e8098e5303650b7242ae8" - ], - [ - "Destruct.vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "ecad4a1f76312cc38c845aa6818a0059" - ], - [ - "Destruct.__proj__VCons__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" - ], - 0, - "3330af591f2ead22dc025931bc973ef4" - ], - [ - "Destruct.__proj__VCons__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" - ], - 0, - "af38a99eeae7f799d4ac1f9d63339c2d" - ], - [ - "Destruct.__proj__VCons__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Destruct.VCons", - "refinement_interpretation_Tm_refine_30dcdfe3f7fdaa373efe7d0f17e40dc2" - ], - 0, - "e921e2fc869836479961e5dc6031a201" - ], - [ - "Destruct.fin", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ae7b6c548ec4299f36240f5949ef842e" - ], - [ - "Destruct.fin", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "738ae291b96f599d82f98ef8f1c05253" - ], - [ - "Destruct.__proj__Z__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_091244a5b42f3d992595a20613c09453" - ], - 0, - "708b15b08932c1f87251dd06a4e93c64" - ], - [ - "Destruct.__proj__S__item__n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" - ], - 0, - "f4a5f35c5636a829f57897309252aed0" - ], - [ - "Destruct.__proj__S__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Destruct.S", - "refinement_interpretation_Tm_refine_409191d6e26cee56f95ecac12bcba703" - ], - 0, - "3f960dbdb8ecd8a18678eff2546dbdfc" - ], - [ - "Destruct.decr2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Destruct.S", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fb4a39f21dd4d90125ca90ab887c2ef4" - ], - 0, - "e671e85f0a4f6a48e21c4f43f0f3d204" - ], - [ - "Destruct.decr2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b4f5eca1ad11a180ff33732d8eba17bd" - ], - [ - "Destruct.test3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "302dc81684285705f699aa1ffaa4f557" - ], - [ - "Destruct.test3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "de74c6b989e929535e3d10783841e85d" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Div.fst.hints b/tests/tactics/Div.fst.hints deleted file mode 100644 index f4a6b810f22..00000000000 --- a/tests/tactics/Div.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "è\u0001nBÀY¿„L\u000bÑ‘«¯iÀ", [] ] \ No newline at end of file diff --git a/tests/tactics/EExists.fst.hints b/tests/tactics/EExists.fst.hints deleted file mode 100644 index c7d6da1509d..00000000000 --- a/tests/tactics/EExists.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Þƒ“v[jU†›Â\u0004Î`õ\u007fc", [] ] \ No newline at end of file diff --git a/tests/tactics/ElimExists.fst.hints b/tests/tactics/ElimExists.fst.hints deleted file mode 100644 index 43c82c6333a..00000000000 --- a/tests/tactics/ElimExists.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "\u000bZ¦Ê\u0005Ót\u0013âdlæšœ²H", - [ - [ - "ElimExists.lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_17693b9c0be6584f79f76d61935752d0" - ], - 0, - "e04ff16da65966649c7a05b21fa96baa" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/EnvSquash.fst.hints b/tests/tactics/EnvSquash.fst.hints deleted file mode 100644 index 81da832e7de..00000000000 --- a/tests/tactics/EnvSquash.fst.hints +++ /dev/null @@ -1,57 +0,0 @@ -[ - "e9]$øý;>¹ˆši摱\u0004", - [ - [ - "EnvSquash.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_Prims.Cons", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "unit_typing" - ], - 0, - "34806f19bfeabeb3a21804eddec498e4" - ], - [ - "EnvSquash.test", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_Prims.Cons", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "unit_typing" - ], - 0, - "1415049141803528a267070995e4b7e7" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Fail.fst.hints b/tests/tactics/Fail.fst.hints deleted file mode 100644 index 1071887d18d..00000000000 --- a/tests/tactics/Fail.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ò\u000fˆ´\u0002.¯}~W65µ?:0", [] ] \ No newline at end of file diff --git a/tests/tactics/FailFlow.fst.hints b/tests/tactics/FailFlow.fst.hints deleted file mode 100644 index 7f4d6be020b..00000000000 --- a/tests/tactics/FailFlow.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\rf*mìì­Úe¦k\u001co\"Ê", [] ] \ No newline at end of file diff --git a/tests/tactics/Fresh.fst.hints b/tests/tactics/Fresh.fst.hints deleted file mode 100644 index 42a7c007b43..00000000000 --- a/tests/tactics/Fresh.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "OÓ1o¶Öo-\n¼D‰”ªÔÝ", [] ] \ No newline at end of file diff --git a/tests/tactics/GRewrite.fst.hints b/tests/tactics/GRewrite.fst.hints deleted file mode 100644 index 112df7a6b29..00000000000 --- a/tests/tactics/GRewrite.fst.hints +++ /dev/null @@ -1,66 +0,0 @@ -[ - "²ª\u0011\u0001;ʨ^x\u000f´î„2€\u001f", - [ - [ - "GRewrite.test_grewrite2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "1128e7780485b101f3d85564dea1e55b" - ], - [ - "GRewrite.test_grewrite2", - 2, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "9fe88fbe986a43e7d881c955f51241e4" - ], - [ - "GRewrite.test_grewrite2", - 3, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "3eb7373f52b40813821f9a7fdfbc8fc8" - ], - [ - "GRewrite.test_grewrite2", - 4, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "1477f5e71abd979bf4d6153564a5329f" - ], - [ - "GRewrite.test_grewrite4", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Prims.eq2" ], - 0, - "f154403c0e9ca3b6e0de1239e954a0ae" - ], - [ - "GRewrite.test_grewrite5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09041e6fff6fde49ee461fc74c5d26b5", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "c7abaa1424dcb21a286a2f026e0879f6" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Get.fst.hints b/tests/tactics/Get.fst.hints deleted file mode 100644 index 532560fceb4..00000000000 --- a/tests/tactics/Get.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0001=Õk|¯¦£,iw\u0011Eb¡", [] ] \ No newline at end of file diff --git a/tests/tactics/Goals.fst.hints b/tests/tactics/Goals.fst.hints deleted file mode 100644 index bc3f2500490..00000000000 --- a/tests/tactics/Goals.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "¢¾»÷o]”À•\u0002nKE,O€", - [ - [ - "Goals.intro_sq", - 1, - 2, - 1, - [ "@query" ], - 0, - "6053e20f3be597cf2246e4acf6c82bb8" - ], - [ - "Goals.elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "9bb86e9f28cedd05be1a63e0683fe576" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Hacl.Meta.Use.fst.hints b/tests/tactics/Hacl.Meta.Use.fst.hints deleted file mode 100644 index e8a19b5874f..00000000000 --- a/tests/tactics/Hacl.Meta.Use.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0002]©4\u0006\u007f S¬½KðF˜«g", [] ] \ No newline at end of file diff --git a/tests/tactics/Hacl.Meta.fst.hints b/tests/tactics/Hacl.Meta.fst.hints deleted file mode 100644 index fe2678f07d5..00000000000 --- a/tests/tactics/Hacl.Meta.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "•õ$B›kG»\u0019¯’;ßô™\u001c", - [ - [ - "Hacl.Meta.mk", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "15af49ed54caf62893bc6e91da12b0e6" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/HoleBy.fst.hints b/tests/tactics/HoleBy.fst.hints deleted file mode 100644 index e0c3cf04bc0..00000000000 --- a/tests/tactics/HoleBy.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "\u0004K^¹Ê\u0011”.Æ\u001bvVr\u001e”", - [ - [ - "HoleBy.uu___0", - 1, - 2, - 1, - [ "@query", "equation_HoleBy.x" ], - 0, - "e344239590a24636c642fed3ddf8ff10" - ], - [ - "HoleBy.lem2", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "5a083eda7a4a039dfbcc574aa73305ac" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Ill1.fst.hints b/tests/tactics/Ill1.fst.hints deleted file mode 100644 index 5f658ff6338..00000000000 --- a/tests/tactics/Ill1.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "6çM¦úqïóJ§\u0016\bO›šX", [] ] \ No newline at end of file diff --git a/tests/tactics/Ill2.fst.hints b/tests/tactics/Ill2.fst.hints deleted file mode 100644 index 670136fae82..00000000000 --- a/tests/tactics/Ill2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ŠPß\u0002ù½Þ$Xt_òªIþ[", [] ] \ No newline at end of file diff --git a/tests/tactics/Inlining.fst.hints b/tests/tactics/Inlining.fst.hints deleted file mode 100644 index 95de5b582b0..00000000000 --- a/tests/tactics/Inlining.fst.hints +++ /dev/null @@ -1,564 +0,0 @@ -[ - ".\u001b¾\u001d\u001e¬žër1&%¯oÆ`", - [ - [ - "Inlining.set_to_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_40be2c66e911de6e85d6bf3c36645e42", - "refinement_interpretation_Tm_refine_47fff48d1da01b5c936e9e9223e8b201", - "refinement_interpretation_Tm_refine_ebc775ba572c8c677f9a43443c27655e" - ], - 0, - "a6c7e3eac5c3c19a50f1c4777216b212" - ], - [ - "Inlining.create_add_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Inlining.add_1", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_Inlining.add_1" - ], - 0, - "3f604b76ec24f0e6a0d6978bcb03643b" - ], - [ - "Inlining.create_add_1'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Inlining.add_1", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_Inlining.add_1" - ], - 0, - "15869025826fe813f4bc32656b3eb216" - ], - [ - "Inlining.create_add_1'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Inlining.add_1", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_Inlining.add_1" - ], - 0, - "04f064d73a5e0f6c5e9fcb67776d7ec5" - ], - [ - "Inlining.create_add_1'", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Inlining.add_1", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_Inlining.add_1" - ], - 0, - "8e9d09f216ba1baf63e07fcd813f1038" - ], - [ - "Inlining.create_and_set", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_40be2c66e911de6e85d6bf3c36645e42", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "e803bbfc01fa3838547d5f2d1743ba1f" - ], - [ - "Inlining.create_and_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_40be2c66e911de6e85d6bf3c36645e42", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "a93ee66303d3ae706130afaac84d1fcf" - ], - [ - "Inlining.create_and_set'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_40be2c66e911de6e85d6bf3c36645e42", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "c113a30162244d2f8f37a6c27fd24bac" - ], - [ - "Inlining.create_and_set'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.max_length", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", "int_inversion", - "lemma_FStar.Buffer.lemma_fresh_poppable", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_40be2c66e911de6e85d6bf3c36645e42", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "2d0ef4a53a8f148ed9f3abd179ce6e69" - ], - [ - "Inlining.static_loop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "86dce4ae186cdad048656d4859b9889f" - ], - [ - "Inlining.print_i", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro" - ], - 0, - "514b4d83b47f9ac1e97e3062b1d5a453" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/InspectEffComp.fst.hints b/tests/tactics/InspectEffComp.fst.hints deleted file mode 100644 index 7d2afe4946e..00000000000 --- a/tests/tactics/InspectEffComp.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "‘\u0007´$È­`÷?|\u0015\u0004K\bªè", - [ - [ - "InspectEffComp.test", - 1, - 2, - 1, - [ "@query", "int_typing" ], - 0, - "b9cfac583daee574e37edaae38282c3e" - ], - [ - "InspectEffComp.uu___0", - 1, - 2, - 1, - [ "@query", "equation_InspectEffComp.test", "int_typing" ], - 0, - "9f2bdb8baece8a2f608e27545bfd607f" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Instantiate.fst.hints b/tests/tactics/Instantiate.fst.hints deleted file mode 100644 index 03e8bfc01e9..00000000000 --- a/tests/tactics/Instantiate.fst.hints +++ /dev/null @@ -1,71 +0,0 @@ -[ - "¼f•Ô%ÔÈ\u0018Aß^J6S:", - [ - [ - "Instantiate.test_u_u", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "915885855df08753590749a634e3389d" - ], - [ - "Instantiate.test_s_u", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c0de36578a0ee6a3ef295c5609e19a8c" - ], - [ - "Instantiate.test_u_s", - 1, - 2, - 1, - [ "@query" ], - 0, - "841c49c087c484c15b74bf23aa551ba9" - ], - [ - "Instantiate.test_u_s", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "231ba544b5dad75e6e0085e2c314b76f" - ], - [ - "Instantiate.test_s_s", - 1, - 2, - 1, - [ "@query" ], - 0, - "65d988a9191f3e73ce1258957c382af9" - ], - [ - "Instantiate.test_s_s", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "231ba544b5dad75e6e0085e2c314b76f" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Join.fst.hints b/tests/tactics/Join.fst.hints deleted file mode 100644 index ff0a789eb82..00000000000 --- a/tests/tactics/Join.fst.hints +++ /dev/null @@ -1,1073 +0,0 @@ -[ - ">‡„\"d1\u001950Ô—¦M¿”Î", - [ - [ - "Join.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "20cba8acc780388df613021f5d5d4f96" - ], - [ - "Join.p16", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "29ed6e4cd720d686cbcfe724c80a84af" - ], - [ - "Join.p16", - 2, - 2, - 1, - [ "@query" ], - 0, - "4dc2c57a459f4576fae61117411538c6" - ], - [ - "Join.uu___0", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "d0c5eca4cad6e583b3858ac1e220936a" - ], - [ - "Join.test1", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "56ed5adca7ecaf7c71f0c1fd6bcf5e12" - ], - [ - "Join.test1", - 3, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 4, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 5, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 6, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 7, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 8, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 9, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 10, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 11, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 12, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 13, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 14, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 15, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 16, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 17, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 18, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 19, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 20, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 21, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 22, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 23, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 24, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "0a78736a186c03e547243d71818b8622" - ], - [ - "Join.test1", - 25, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 26, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 27, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 28, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 29, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 30, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 31, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 32, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 33, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 34, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 35, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 36, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 37, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 38, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 39, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 40, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 41, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 42, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 43, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 44, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 45, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 46, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 47, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 48, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 49, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 50, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 51, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 52, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test1", - 53, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "75058f083c911dede9849d1e4ad83a49" - ], - [ - "Join.test2", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Join.hard", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Join.p16", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "85d23d0067b559e364c8e250ccc59a3f" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/LN.fst.hints b/tests/tactics/LN.fst.hints deleted file mode 100644 index 19afb385f2b..00000000000 --- a/tests/tactics/LN.fst.hints +++ /dev/null @@ -1,16 +0,0 @@ -[ - "P]]'\u0010užkðö¬ÎW\u0010È\u0003", - [ - [ - "LN.badtm", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "9054e0959fc24b8dfe3749768f044887" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Labels.fst.hints b/tests/tactics/Labels.fst.hints deleted file mode 100644 index d31e2e01177..00000000000 --- a/tests/tactics/Labels.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¤n÷¤‡Þ% gdB ð\u0001®\r", [] ] \ No newline at end of file diff --git a/tests/tactics/LaxOn.fst.hints b/tests/tactics/LaxOn.fst.hints deleted file mode 100644 index 83f54e3b70e..00000000000 --- a/tests/tactics/LaxOn.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "±Wi;òDʇä>ÝŒ“Äùù", [] ] \ No newline at end of file diff --git a/tests/tactics/LeftToRight.fst.hints b/tests/tactics/LeftToRight.fst.hints deleted file mode 100644 index 259578ee215..00000000000 --- a/tests/tactics/LeftToRight.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "„ŽJ[¼è\u0002.•ý¶2OñÐÊ", [] ] \ No newline at end of file diff --git a/tests/tactics/LemmaArgs.fst.hints b/tests/tactics/LemmaArgs.fst.hints deleted file mode 100644 index 3c12328ece1..00000000000 --- a/tests/tactics/LemmaArgs.fst.hints +++ /dev/null @@ -1,47 +0,0 @@ -[ - "Š6ÖÆ Ð$÷7œŒ\u0014<\u000564", - [ - [ - "LemmaArgs.lemma_example1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b80473856ccf72c395276ef95e2db4d6" - ], - 0, - "96ac3867d990e699d7e0302b3da66aeb" - ], - [ - "LemmaArgs.example0", - 1, - 2, - 1, - [ "@query" ], - 0, - "d138519a0e4a1b89520bcd68115b1194" - ], - [ - "LemmaArgs.example0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_db815536b8c60a25cb27b439971d8826" - ], - 0, - "2b0afc980da0ac746c4736a49c727d53" - ], - [ - "LemmaArgs.example1", - 1, - 2, - 1, - [ "@query" ], - 0, - "6d3daafc1c28eac9dcccbbb31c22618b" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Map.OpaqueToSMT.Test.fst.hints b/tests/tactics/Map.OpaqueToSMT.Test.fst.hints deleted file mode 100644 index 4de4f002d3a..00000000000 --- a/tests/tactics/Map.OpaqueToSMT.Test.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "K>o|ó\r¥Îlhë¶Ý²0â", - [ - [ - "Map.OpaqueToSMT.Test.test2", - 1, - 0, - 0, - [ "@query" ], - 0, - "cd082f948d3ec13fc541193f7efe680a" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Map.OpaqueToSMT.fst.hints b/tests/tactics/Map.OpaqueToSMT.fst.hints deleted file mode 100644 index 55f4df96a80..00000000000 --- a/tests/tactics/Map.OpaqueToSMT.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "œ;ÒX±n–À[æPš3F¿e", - [ - [ - "Map.OpaqueToSMT.sel_upd1", - 1, - 2, - 1, - [ - "@query", "equation_MyMap.sel", "equation_MyMap.upd", - "interpretation_Tm_abs_c949098ee5a6a1d16a9b3ac1fa6e078f", - "primitive_Prims.op_Equality" - ], - 0, - "d4282a61ce2941ac337b78ddba67c790" - ], - [ - "Map.OpaqueToSMT.sel_upd2", - 1, - 2, - 1, - [ - "@query", "equation_MyMap.sel", "equation_MyMap.upd", - "interpretation_Tm_abs_c949098ee5a6a1d16a9b3ac1fa6e078f", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "006526fee77195760f1217dff978a591" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/MetaArgs.fst.hints b/tests/tactics/MetaArgs.fst.hints deleted file mode 100644 index 4176c1d9010..00000000000 --- a/tests/tactics/MetaArgs.fst.hints +++ /dev/null @@ -1,32 +0,0 @@ -[ - "ºqdÍ\u0003\u0017ùccLˆ/Á\u0011\u0013X", - [ - [ - "MetaArgs.uu___0", - 1, - 2, - 1, - [ "@query", "equation_MetaArgs.test1" ], - 0, - "7399a579ea73a13b1196b24a6f58fd00" - ], - [ - "MetaArgs.uu___1", - 1, - 2, - 1, - [ "@query", "equation_MetaArgs.diag" ], - 0, - "372df69ad5ba86bfec8c1a557079a701" - ], - [ - "MetaArgs.uu___2", - 1, - 2, - 1, - [ "@query", "equation_MetaArgs.diag" ], - 0, - "bfe023530369198bb7b1aa4a09aa8899" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/MyMap.fst.hints b/tests/tactics/MyMap.fst.hints deleted file mode 100644 index 5b54b6b6c82..00000000000 --- a/tests/tactics/MyMap.fst.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "'·e\u000bxŽrBåF%2#\u000e&", - [ - [ - "MyMap.sel_upd1", - 1, - 2, - 1, - [ - "@query", "equation_MyMap.sel", "equation_MyMap.upd", - "interpretation_Tm_abs_c949098ee5a6a1d16a9b3ac1fa6e078f", - "primitive_Prims.op_Equality" - ], - 0, - "789d580c7e5d2478cef779c96836d815" - ], - [ - "MyMap.sel_upd2", - 1, - 2, - 1, - [ - "@query", "equation_MyMap.sel", "equation_MyMap.upd", - "interpretation_Tm_abs_c949098ee5a6a1d16a9b3ac1fa6e078f", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "6d4293255547547b1976dfe7d5fcda8a" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/NatNeg.fst.hints b/tests/tactics/NatNeg.fst.hints deleted file mode 100644 index 407976e95bb..00000000000 --- a/tests/tactics/NatNeg.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Z„\u001bâ\b\u0019†ZHòæ×\u0005Œ™\u000f", [] ] \ No newline at end of file diff --git a/tests/tactics/NatPos.fst.hints b/tests/tactics/NatPos.fst.hints deleted file mode 100644 index 4124180331c..00000000000 --- a/tests/tactics/NatPos.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÒüQs±IMwïH,öç{äÙ", [] ] \ No newline at end of file diff --git a/tests/tactics/Neg.fst.hints b/tests/tactics/Neg.fst.hints deleted file mode 100644 index e9e8c176cc0..00000000000 --- a/tests/tactics/Neg.fst.hints +++ /dev/null @@ -1,27 +0,0 @@ -[ - "ÀO\r\u0005fSEÞaoívÏÊâM", - [ - [ - "Neg.c3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_519d6c8ad121abd4794050901c2e145e", - "refinement_interpretation_Tm_refine_fd0c520ca043d65b8667158c64ea0acc" - ], - 0, - "a66da0140d3a9f163c3c2468a7e8599a" - ], - [ - "Neg.c3", - 2, - 2, - 1, - [ "@query", "equation_Neg.xi" ], - 0, - "2b423649f09f503c7827ddb94c7cd374" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Nest.fst.hints b/tests/tactics/Nest.fst.hints deleted file mode 100644 index e0a584b0097..00000000000 --- a/tests/tactics/Nest.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "z†æØ\u0002*B^Ýÿ\u0012ë3žÚr", [] ] \ No newline at end of file diff --git a/tests/tactics/NoDuplicateSplice.fst.hints b/tests/tactics/NoDuplicateSplice.fst.hints deleted file mode 100644 index 3ac577fcdfe..00000000000 --- a/tests/tactics/NoDuplicateSplice.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¦f0¹}!#_yqw™ôÌ_‰", [] ] \ No newline at end of file diff --git a/tests/tactics/NonTot.fst.hints b/tests/tactics/NonTot.fst.hints deleted file mode 100644 index 5a80240d5e6..00000000000 --- a/tests/tactics/NonTot.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÔYM¿},j\r®Í@\u0019®;t", [] ] \ No newline at end of file diff --git a/tests/tactics/NormBinderType.fst.hints b/tests/tactics/NormBinderType.fst.hints deleted file mode 100644 index 455f1c3464f..00000000000 --- a/tests/tactics/NormBinderType.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "æ\nõ»ö ÔÞš\r\u0013€Ãåïé", - [ - [ - "NormBinderType.g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "7c3d44445f846f7c8af939dd56502984" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/PackInd.fst.hints b/tests/tactics/PackInd.fst.hints deleted file mode 100644 index 09a5fdc1bf5..00000000000 --- a/tests/tactics/PackInd.fst.hints +++ /dev/null @@ -1,33 +0,0 @@ -[ - "¨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, - "b9ba2e224b020af52917122a6cc2dedd" - ], - [ - "PackInd.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_PackInd.A", - "disc_equation_PackInd.B", "disc_equation_PackInd.C", - "fuel_guarded_inversion_PackInd.myty", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "29ce6e67cbbcaf2bfbc40d063e996265" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Parsing.fst.hints b/tests/tactics/Parsing.fst.hints deleted file mode 100644 index e98ee71d26e..00000000000 --- a/tests/tactics/Parsing.fst.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "Ìd¯ý\u0007–è½›ýrqƒ®¦\u0000", - [ - [ - "Parsing.uu___0", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "59005ecbcb0938ba4bbe507cfd0ae636" - ], - [ - "Parsing.uu___1", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "ebdc9e58c04b9eb65e3a05098a202d1d" - ], - [ - "Parsing.uu___2", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "c571943deb0fb5db945159381e2cbbd1" - ], - [ - "Parsing.uu___3", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "b97fd9bb9991bc9bcda7514f9b8488a1" - ], - [ - "Parsing.uu___4", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "bc7369a7c1a0fcfd048574f7afe00657" - ], - [ - "Parsing.uu___5", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "f822b8fe29867904e5480ff7dd272016" - ], - [ - "Parsing.uu___6", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "83b3a41f610bc919fff90427ea8a9bc7" - ], - [ - "Parsing.uu___7", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "853e52e161381e2e419ec0cb1c663670" - ], - [ - "Parsing.uu___8", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_Parsing.equals" ], - 0, - "768fec54b3fae44f575be6226d4a700c" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/PluginReturned.fst.hints b/tests/tactics/PluginReturned.fst.hints deleted file mode 100644 index 21a3e10768b..00000000000 --- a/tests/tactics/PluginReturned.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u007flý6i5X\u00181iZòÎ.µÃ", [] ] \ No newline at end of file diff --git a/tests/tactics/PointwiseLoop.fst.hints b/tests/tactics/PointwiseLoop.fst.hints deleted file mode 100644 index 367343239fc..00000000000 --- a/tests/tactics/PointwiseLoop.fst.hints +++ /dev/null @@ -1,43 +0,0 @@ -[ - "exCko1eoG¤¦%—+0", - [ - [ - "PointwiseLoop.list_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b46f9febde162e476374095e6787c208_0", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_PointwiseLoop.opt_id_nat", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "875429c86ea5b07e85d0bcee3a4fc4d0" - ], - [ - "PointwiseLoop.list_sum_lem", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_PointwiseLoop.opt_id_nat", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "a7cdb831a7aa132fc32a62d134ffa69d" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Pose.fst.hints b/tests/tactics/Pose.fst.hints deleted file mode 100644 index 44274f5af5b..00000000000 --- a/tests/tactics/Pose.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "<.\\3Ç\u00053ÿÛ=\u0007gé\u0007\u0013‹", - [ - [ - "Pose.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "4d92f55d4678aacce0b37fbf8f5caba6" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/PoseLemma.fst.hints b/tests/tactics/PoseLemma.fst.hints deleted file mode 100644 index 65e128c39b2..00000000000 --- a/tests/tactics/PoseLemma.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "\u001c\u00102;jxq\u0012fÃl„À‘çf", - [ - [ - "PoseLemma.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c0ecd055b638e5b2cdbcdea55bb14b65" - ], - [ - "PoseLemma.test2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "7d7aae893b57d8af7e01b05ecd691a0a" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Pruning.fst.hints b/tests/tactics/Pruning.fst.hints deleted file mode 100644 index b025deccf44..00000000000 --- a/tests/tactics/Pruning.fst.hints +++ /dev/null @@ -1,139 +0,0 @@ -[ - "1WüdïÈ,\u0002&‚p1\\2ó\\", - [ - [ - "Pruning.f", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "aefe05a11c61a9d98102c8b479bfa623" - ], - [ - "Pruning.uu___0", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f2be61893745296854f1bca06177ae31" - ], - [ - "Pruning.uu___1", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "60477a469bcff47bfcdfc34738d25e35" - ], - [ - "Pruning.uu___1", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "24255861eafdaac9c0fd4daca8111b12" - ], - [ - "Pruning.uu___2", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "7a69c712710b376150eb5bfde12e57d9" - ], - [ - "Pruning.uu___2", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "24255861eafdaac9c0fd4daca8111b12" - ], - [ - "Pruning.uu___3", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "8eaf0ceef3acb4947f0bfc4f521105b5" - ], - [ - "Pruning.uu___3", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "7bc019f77edec20de991a69baf8addb3" - ], - [ - "Pruning.uu___3", - 2, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "int_typing", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "24255861eafdaac9c0fd4daca8111b12" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Quals.fst.hints b/tests/tactics/Quals.fst.hints deleted file mode 100644 index 099d59e4955..00000000000 --- a/tests/tactics/Quals.fst.hints +++ /dev/null @@ -1,82 +0,0 @@ -[ - "-\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, - "2ae0e9e46e3506abc2813db1d8966480" - ], - [ - "Quals.test_sp1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_Prims.string" - ], - 0, - "c2a5187d8432e5d2add6fcbe579f3d5b" - ], - [ - "Quals.test_sp1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_Prims.string" - ], - 0, - "17dc8ef9ff6b88608930b0ef33438367" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Raise.fst.hints b/tests/tactics/Raise.fst.hints deleted file mode 100644 index 54d95fff71e..00000000000 --- a/tests/tactics/Raise.fst.hints +++ /dev/null @@ -1,68 +0,0 @@ -[ - "yÝËL\u001aAVÌà\"Y‰›‡", - [ - [ - "Raise.uu___0", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equality_tok_Raise.Ex1@tok", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "typing_tok_Raise.Ex1@tok" - ], - 0, - "a4a59cbc28ce428581f4780fa8161fcc" - ], - [ - "Raise.uu___0", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equality_tok_Raise.Ex1@tok", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "typing_tok_Raise.Ex1@tok" - ], - 0, - "5a024019fa4c151b3b2029762db88ea0" - ], - [ - "Raise.x", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equality_tok_Raise.Ex1@tok", - "fuel_guarded_inversion_FStar.Pervasives.either", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", "typing_tok_Raise.Ex1@tok" - ], - 0, - "9de2b8bb54f0260fa3cd41e8b19a4054" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/ReflectionMisc.fst.hints b/tests/tactics/ReflectionMisc.fst.hints deleted file mode 100644 index d36efd66f7d..00000000000 --- a/tests/tactics/ReflectionMisc.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "\u0017e5Bf„©â\u000fÌdYp\u001a~-", - [ - [ - "ReflectionMisc.univs", - 1, - 2, - 1, - [ "@query", "equation_ReflectionMisc.mk" ], - 0, - "9f7923b0e3ed6061d16cef55aaafa106" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Reflexivity.fst.hints b/tests/tactics/Reflexivity.fst.hints deleted file mode 100644 index 30f917aacd8..00000000000 --- a/tests/tactics/Reflexivity.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "5ø¿‘\u0002ß\u0000Œâѳ<Ý žš", [] ] \ No newline at end of file diff --git a/tests/tactics/Rename.fst.hints b/tests/tactics/Rename.fst.hints deleted file mode 100644 index 1203207ef84..00000000000 --- a/tests/tactics/Rename.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0013>“€C—ð—k\"¶\fèþÂ\u0015", [] ] \ No newline at end of file diff --git a/tests/tactics/Retype.fst.hints b/tests/tactics/Retype.fst.hints deleted file mode 100644 index 0f776650fdb..00000000000 --- a/tests/tactics/Retype.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "@n•‹\u0007\u001eY†ÄbÏ|Æ\u0006V‚", [] ] \ No newline at end of file diff --git a/tests/tactics/RewriteInArrow.fst.hints b/tests/tactics/RewriteInArrow.fst.hints deleted file mode 100644 index 569b447ce1a..00000000000 --- a/tests/tactics/RewriteInArrow.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "þXPÑpЋý!&\u0006\u0015P¢U", [] ] \ No newline at end of file diff --git a/tests/tactics/SMTSync.fst.hints b/tests/tactics/SMTSync.fst.hints deleted file mode 100644 index c2000277907..00000000000 --- a/tests/tactics/SMTSync.fst.hints +++ /dev/null @@ -1,40 +0,0 @@ -[ - "ðð“™H\u000fÜëwPsO£Ÿ\u0017", - [ - [ - "SMTSync.test1", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "75b227179754eaa99df951281d6ce75b" - ], - [ - "SMTSync.test5", - 1, - 10, - 0, - [ - "@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_Prims.eqtype", - "equation_Prims.nat", "equation_SMTSync.l", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int", - "typing_SMTSync.l" - ], - 0, - "8f564836d86db28b9d312970600e0940" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/SolvedWitness.fst.hints b/tests/tactics/SolvedWitness.fst.hints deleted file mode 100644 index 0666a3bd62e..00000000000 --- a/tests/tactics/SolvedWitness.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ ".öÖ\u007f\u000bO½\\Gï壾\u0005ªÌ", [] ] \ No newline at end of file diff --git a/tests/tactics/Splice.fst.hints b/tests/tactics/Splice.fst.hints deleted file mode 100644 index 0e501230379..00000000000 --- a/tests/tactics/Splice.fst.hints +++ /dev/null @@ -1,85 +0,0 @@ -[ - "|\u0006¯÷±'3\u0013¤'ÀË\u001eÿ", - [ - [ - "Splice.make_42", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "bf088a794496350684184e3696b4970c" - ], - [ - "Splice.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Splice.x" ], - 0, - "27a094c043eb6071a5c4e97b0ce07441" - ], - [ - "Splice.recursive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_tok_FStar.Tactics.NamedView.Unk@tok" - ], - 0, - "c0a40a0649239d863a2581dfe564ac30" - ], - [ - "Splice.recursive", - 2, - 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_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "3eb0e12cb3a578578af965d4a038b800" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Splice2.fst.hints b/tests/tactics/Splice2.fst.hints deleted file mode 100644 index c7775300b1d..00000000000 --- a/tests/tactics/Splice2.fst.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "{\u0006Ùÿ^¤mšçù‘0\u0000¬?", - [ - [ - "Splice2.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Splice.x" ], - 0, - "71d48a22fb8db949196aa56f62f5b018" - ], - [ - "Splice2.uu___1", - 1, - 2, - 1, - [ "@query", "equation_Splice.y" ], - 0, - "f6434370a70fdfadc91afd7900f626b8" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/SpliceVal.Use.fst.hints b/tests/tactics/SpliceVal.Use.fst.hints deleted file mode 100644 index a3f54c4427c..00000000000 --- a/tests/tactics/SpliceVal.Use.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¹5ÈB“'Â\u001a`L¼{æ8b#", [] ] \ No newline at end of file diff --git a/tests/tactics/SpliceVal.fst.hints b/tests/tactics/SpliceVal.fst.hints deleted file mode 100644 index d2997c1f9fc..00000000000 --- a/tests/tactics/SpliceVal.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "\u0002\u0015\u0003\u000f€'«©pU\nK•eŽÕ", - [ - [ - "SpliceVal.mk_val", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Val", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "59870a0940088d328611efe71390fd48" - ], - [ - "SpliceVal.mk_stringlb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "7b5d12cae30854b250c7624cf6bd3ab1" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/SpliceVal.fsti.hints b/tests/tactics/SpliceVal.fsti.hints deleted file mode 100644 index 7db24164ae3..00000000000 --- a/tests/tactics/SpliceVal.fsti.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "ž0È\t\u0015„\u001a1!g€ÏQÉI", - [ - [ - "SpliceVal.mk_val", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Val", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "8ded4ab09b7ba56e281923626ae3cf7c" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/State.fst.hints b/tests/tactics/State.fst.hints deleted file mode 100644 index defb089f82d..00000000000 --- a/tests/tactics/State.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "I·²=¦¼JÁm'\u001etF{ìŸ", - [ - [ - "State.uu___0", - 1, - 2, - 1, - [ "@query", "equation_State.x" ], - 0, - "3cdec07287defc510157c2052d84e171" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/SyntaxBasics.fst.hints b/tests/tactics/SyntaxBasics.fst.hints deleted file mode 100644 index f1e0643ef81..00000000000 --- a/tests/tactics/SyntaxBasics.fst.hints +++ /dev/null @@ -1,40 +0,0 @@ -[ - "¾-¢à1Ë•\r_[a¤Ê&öý", - [ - [ - "SyntaxBasics.blah", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "5b95f7d6e0150fde88c21098162c2542" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/SyntaxTest.fst.hints b/tests/tactics/SyntaxTest.fst.hints deleted file mode 100644 index 7bffe675d24..00000000000 --- a/tests/tactics/SyntaxTest.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "…|æ\u0014Wð¡Ê9z+8OW\u0000\u0011", [] ] \ No newline at end of file diff --git a/tests/tactics/Synthesis.fst.hints b/tests/tactics/Synthesis.fst.hints deleted file mode 100644 index 9d3de2f7e12..00000000000 --- a/tests/tactics/Synthesis.fst.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "$çËüàÝ&P|\nš¨ðy“_", - [ - [ - "Synthesis.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.a" ], - 0, - "5350537f57f6a92b08c41a666a565167" - ], - [ - "Synthesis.uu___1", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.f8" ], - 0, - "a63217d35fad3b743a6966ada070e1e5" - ], - [ - "Synthesis.uu___2", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.fn8" ], - 0, - "c0313206f5bfbfb7c21a942298a9b50b" - ], - [ - "Synthesis.uu___3", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.iszero" ], - 0, - "456157b091a5ee280cd66c3a301f0e39" - ], - [ - "Synthesis.uu___4", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.iszero" ], - 0, - "29765c5d69cd6f1559d0768ab9ac308d" - ], - [ - "Synthesis.uu___5", - 1, - 2, - 1, - [ - "@query", "equation_Synthesis.iszero", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "fa6df5b813537ad924ddb12612a2b43c" - ], - [ - "Synthesis.uu___6", - 1, - 2, - 1, - [ "@query", "equation_Synthesis.f2" ], - 0, - "bcda09380f230286dee9b13dd636b555" - ], - [ - "Synthesis.f3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "c1e4ecadf8f983e88a7d87f2194290f0" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/TReflGuards.fst.hints b/tests/tactics/TReflGuards.fst.hints deleted file mode 100644 index fc7bdf5d5ff..00000000000 --- a/tests/tactics/TReflGuards.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "´9žÉó‚„(¡\u001cÝÓ\u001b¤@", - [ - [ - "TReflGuards.uu___0", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual" - ], - 0, - "c128c2d0ffbe8db6de8d8dc298ed241b" - ], - [ - "TReflGuards.uu___2", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual" - ], - 0, - "008fc677f0e907abc228e1af4d30156d" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/TacF.fst.hints b/tests/tactics/TacF.fst.hints deleted file mode 100644 index 557f2e5e5ff..00000000000 --- a/tests/tactics/TacF.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u000b™qEV\t¶úHíG6 p®", [] ] \ No newline at end of file diff --git a/tests/tactics/Test.CanonCommMonoid.fst.hints b/tests/tactics/Test.CanonCommMonoid.fst.hints deleted file mode 100644 index a3c101d589e..00000000000 --- a/tests/tactics/Test.CanonCommMonoid.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0000\t-žÝ©Sìî\u0003(¦è,‹%", [] ] \ No newline at end of file diff --git a/tests/tactics/Test.CanonCommMonoidSimple.Equiv.fst.hints b/tests/tactics/Test.CanonCommMonoidSimple.Equiv.fst.hints deleted file mode 100644 index ab7123a3da7..00000000000 --- a/tests/tactics/Test.CanonCommMonoidSimple.Equiv.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "vI“\u001fñÄú$Q½7l®×ÿ", [] ] \ No newline at end of file diff --git a/tests/tactics/Test.CanonCommMonoidSimple.fst.hints b/tests/tactics/Test.CanonCommMonoidSimple.fst.hints deleted file mode 100644 index ebcf57eeaab..00000000000 --- a/tests/tactics/Test.CanonCommMonoidSimple.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "èP²+1\u001b€‚gËÓZœù«½", [] ] \ No newline at end of file diff --git a/tests/tactics/Test.CanonCommSemiring.fst.hints b/tests/tactics/Test.CanonCommSemiring.fst.hints deleted file mode 100644 index 70f98d1e030..00000000000 --- a/tests/tactics/Test.CanonCommSemiring.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "×ÿ+¦vóÝ¢»\u007f¨Š´÷€m", [] ] \ No newline at end of file diff --git a/tests/tactics/Test.CanonMonoid.fst.hints b/tests/tactics/Test.CanonMonoid.fst.hints deleted file mode 100644 index ad9e8294aa9..00000000000 --- a/tests/tactics/Test.CanonMonoid.fst.hints +++ /dev/null @@ -1,69 +0,0 @@ -[ - "\u0014]\fñ\u0011ÉH!\u0010Bz.\f7gƒ", - [ - [ - "Test.CanonMonoid.lem0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_86378bcbf49edefce0f2701ad7aa8068" - ], - 0, - "325f9e0812a8ac8fad8f85aa2ae1c00b" - ], - [ - "Test.CanonMonoid.lem1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_86378bcbf49edefce0f2701ad7aa8068" - ], - 0, - "c1d47cf1e947cc0500395c7f92c81e5d" - ], - [ - "Test.CanonMonoid.lem2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a33e07240a7b3c06460ea22f08473382" - ], - [ - "Test.CanonMonoid.lem2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_86378bcbf49edefce0f2701ad7aa8068" - ], - 0, - "2c6dd503330d7642fcde650af4670c15" - ], - [ - "Test.CanonMonoid.lem2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5afe9c8f95cdb30832cca7da12fc7512", - "refinement_interpretation_Tm_refine_6d04fd52b4a5e49051f5c30a0bbf89a1" - ], - 0, - "23977b3e7ab52c5fabefb8a77781ffc1" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Test.TypeRepr.fst.hints b/tests/tactics/Test.TypeRepr.fst.hints deleted file mode 100644 index 81aa919a884..00000000000 --- a/tests/tactics/Test.TypeRepr.fst.hints +++ /dev/null @@ -1,157 +0,0 @@ -[ - "u^\nÆi¶\u0013—/7”Þ/ëð", - [ - [ - "Test.TypeRepr.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "function_token_typing_Prims.__cache_version_number__", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "38a652007381b8f4225f20d3097f9fce" - ], - [ - "Test.TypeRepr.__proj__A__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cee6f056356549abd00c935ff1b7c6cc" - ], - 0, - "2ff044fb1024e1f2235bd4832e066fc0" - ], - [ - "Test.TypeRepr.__proj__B__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0879147a6b5776409a1e60a311e5d933" - ], - 0, - "2360b8f74b6c9538e44ffb516e94e9b6" - ], - [ - "Test.TypeRepr.__proj__B__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0879147a6b5776409a1e60a311e5d933" - ], - 0, - "5ee2ac1f58ab2997f661af4be5719345" - ], - [ - "Test.TypeRepr.__proj__C__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1a9cd42d6dec7ab391bfb7424d4c57c" - ], - 0, - "ae5e3849913f622a67a7987b0af885fc" - ], - [ - "Test.TypeRepr.__proj__C__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1a9cd42d6dec7ab391bfb7424d4c57c" - ], - 0, - "15e6a3dcf65ce5d5478c6875dd0705ad" - ], - [ - "Test.TypeRepr.__proj__C__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a1a9cd42d6dec7ab391bfb7424d4c57c" - ], - 0, - "0a39f01e06dcba28e1c62ac476ba74bd" - ], - [ - "Test.TypeRepr.__proj__D__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c6a585180a0207553da7d09bd9fa1d76" - ], - 0, - "0e0e8aa344bf7ce83cfd0e70727ac953" - ], - [ - "Test.TypeRepr.__proj__D__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c6a585180a0207553da7d09bd9fa1d76" - ], - 0, - "37278e6ad6a85ea2cd25e5d950d659fa" - ], - [ - "Test.TypeRepr.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "Test.TypeRepr_interpretation_Tm_arrow_7adb0385b2ac73eef927cc1cca9d5e37", - "bool_inversion", "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "data_elim_Test.TypeRepr.B", "data_elim_Test.TypeRepr.C", - "data_elim_Test.TypeRepr.D", "equation_Test.TypeRepr.test1_down", - "equation_Test.TypeRepr.test1_up", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_Test.TypeRepr.test1", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_2bbdafc245b6f59ffd718edd1c54dfe5", - "interpretation_Tm_abs_624c3f06638fd9ce6b9530238a548a5c", - "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", - "string_inversion", "token_correspondence_Test.TypeRepr.test1_down", - "token_correspondence_Test.TypeRepr.test1_up", - "typing_Test.TypeRepr.test1_down", "unit_typing" - ], - 0, - "2b729b1254bb120e0b2d4b761cfae341" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/TestBV.fst.hints b/tests/tactics/TestBV.fst.hints deleted file mode 100644 index cf964cf405f..00000000000 --- a/tests/tactics/TestBV.fst.hints +++ /dev/null @@ -1,116 +0,0 @@ -[ - "×êÐ×&Ï•€—T“ÚZÖ®ƒ", - [ - [ - "TestBV.test1", - 1, - 2, - 1, - [ "@query" ], - 0, - "91126f4a4f0c8bdb39a972a8c5293899" - ], - [ - "TestBV.test2", - 1, - 2, - 1, - [ "@query" ], - 0, - "930ccc4eef68b222fd78e6638b196cdd" - ], - [ - "TestBV.test3", - 1, - 2, - 1, - [ "@query" ], - 0, - "b48d780d6fe6c04b5c4bf1bb57c71577" - ], - [ - "TestBV.test4", - 1, - 2, - 1, - [ "@query" ], - 0, - "c7526dc0e33929449a643598c1784b0c" - ], - [ - "TestBV.test5", - 1, - 2, - 1, - [ "@query" ], - 0, - "aaeb7330fab1f20d2ca9f6d86a6ca213" - ], - [ - "TestBV.v64_eq", - 1, - 2, - 1, - [ "@query", "lemma_FStar.UInt64.uv_inv" ], - 0, - "79c600192d447d476490331a6bb6c0f0" - ], - [ - "TestBV.unfold_logand64", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4a73301fbc41c8e432f23b6aef69a5eb", - "typing_FStar.UInt64.logand" - ], - 0, - "0b011838b6418371846a46091c9521b5" - ], - [ - "TestBV.unfold_logor64", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6913af387cf2f30da0961ac60666f00f", - "typing_FStar.UInt64.logor" - ], - 0, - "9f01664d3c858d7a6e6f15c1408b3929" - ], - [ - "TestBV.unfold_logxor64", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b87f471e80e3c2bc077d38b7026cfcf6", - "typing_FStar.UInt64.logxor" - ], - 0, - "6e572fb4ec5cb68fadccad4ca277102e" - ], - [ - "TestBV.test6", - 1, - 2, - 1, - [ "@query" ], - 0, - "647cd23825f1c796d69b566d19b48e47" - ], - [ - "TestBV.test7", - 1, - 2, - 1, - [ "@query" ], - 0, - "fde33eeef9f7c50027d98786f9a83c04" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/TestMApply.fst.hints b/tests/tactics/TestMApply.fst.hints deleted file mode 100644 index a457aaa30a7..00000000000 --- a/tests/tactics/TestMApply.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0006dOR\u0016dN+D);ui£m=", [] ] \ No newline at end of file diff --git a/tests/tactics/TestPprint.fst.hints b/tests/tactics/TestPprint.fst.hints deleted file mode 100644 index b1400d7b270..00000000000 --- a/tests/tactics/TestPprint.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "xq\r´æN—\u0007­¬öªÅ\u001bZÚ", [] ] \ No newline at end of file diff --git a/tests/tactics/Trans.fst.hints b/tests/tactics/Trans.fst.hints deleted file mode 100644 index a67867bbf83..00000000000 --- a/tests/tactics/Trans.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "y\b\u000e*ƒ×s\u0016b/Y\u0001ü9êî", - [ - [ - "Trans.trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "0b54a5096b00e27c462d194ec09f62ed" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Unbound.fst.hints b/tests/tactics/Unbound.fst.hints deleted file mode 100644 index 22f9ba33c59..00000000000 --- a/tests/tactics/Unbound.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0015Éøª\u000e1\u0017ˆÍêÁ…\u0019H\u0006…", [] ] \ No newline at end of file diff --git a/tests/tactics/Unfold.fst.hints b/tests/tactics/Unfold.fst.hints deleted file mode 100644 index d93ffae7d3f..00000000000 --- a/tests/tactics/Unfold.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "G\u001c\\ó®Š]ukO°?˯õ–", [] ] \ No newline at end of file diff --git a/tests/tactics/Unify.fst.hints b/tests/tactics/Unify.fst.hints deleted file mode 100644 index 04385439556..00000000000 --- a/tests/tactics/Unify.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "\\Âi¯Èå„œQ\u0007ºµ%\u0007I…", - [ - [ - "Unify.uu___0", - 1, - 2, - 1, - [ "@query", "equation_Unify.h" ], - 0, - "5e0b746c9c8c0169bf396b76eb3917df" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/UnitTests.fst.hints b/tests/tactics/UnitTests.fst.hints deleted file mode 100644 index e849e5f0560..00000000000 --- a/tests/tactics/UnitTests.fst.hints +++ /dev/null @@ -1,164 +0,0 @@ -[ - "èàÃRF`;¶®›„Ý»•\u0013\u001b", - [ - [ - "UnitTests.fib", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "well-founded-ordering-on-nat" - ], - 0, - "e5e2dcd250aafb2d53a86eb07c35f977" - ], - [ - "UnitTests.__proj__D__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d5280682073b2e7543fac398f926302c" - ], - 0, - "c3a3c5810c16820358651ca74af1e6bc" - ], - [ - "UnitTests.f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_UnitTests.A", - "disc_equation_UnitTests.B", "disc_equation_UnitTests.C", - "disc_equation_UnitTests.D", "fuel_guarded_inversion_UnitTests.t", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "be6ec2cd2c6526287a58cd1c042e876a" - ], - [ - "UnitTests.uu___13", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_UnitTests.D", - "disc_equation_UnitTests.D", "projection_inverse_BoxBool_proj_0", - "projection_inverse_UnitTests.D_x" - ], - 0, - "2000d04d463e1e40f16935817251cce0" - ], - [ - "UnitTests.uu___20", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "6caf5dd7ca80be26fb2d6848c718a243" - ], - [ - "UnitTests.uu___21", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "f00e9d755e73370fb608afe01a1a651c" - ], - [ - "UnitTests.uu___22", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "1cb8dcb972484205d5b69f9211480ea7" - ], - [ - "UnitTests.uu___23", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "ef365aa8e4db1d7c69c6acc3e90153f9" - ], - [ - "UnitTests.uu___24", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "95ee1476b520b549f3028eeeca5f80d2" - ], - [ - "UnitTests.uu___25", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "493f9a18cf8d30b0b63ff08b8acd98c6" - ], - [ - "UnitTests.__proj__CC__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" - ], - 0, - "069d66ead34b6bc1600ca1bac62dd345" - ], - [ - "UnitTests.__proj__CC__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b63a4ecc91a51097c12fb8d5351dadb2" - ], - 0, - "bfe0418fee0626268a3ab8d5645ee671" - ], - [ - "UnitTests.pwtest", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_UnitTests.BB", - "disc_equation_UnitTests.CC", "fuel_guarded_inversion_UnitTests.tt", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4ecd646eb0d53628bc22da5e60d67d1e" - ], - [ - "UnitTests.pwtest", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_UnitTests.CC", "fuel_guarded_inversion_UnitTests.tt" - ], - 0, - "8a44373bb2ac12287495da723404d343" - ] - ] -] \ No newline at end of file diff --git a/tests/tactics/Univs.fst.hints b/tests/tactics/Univs.fst.hints deleted file mode 100644 index 9afa1a02ef3..00000000000 --- a/tests/tactics/Univs.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0006£NUÝòLP«\n\u0010ÿ‘Šl", [] ] \ No newline at end of file diff --git a/tests/tactics/UnknownSynth.fst.hints b/tests/tactics/UnknownSynth.fst.hints deleted file mode 100644 index aa4897a8926..00000000000 --- a/tests/tactics/UnknownSynth.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "O¯refèÐ}š¤Zàô\u0007*", [] ] \ No newline at end of file diff --git a/tests/tactics/Unresolved.fst.hints b/tests/tactics/Unresolved.fst.hints deleted file mode 100644 index f08b552371b..00000000000 --- a/tests/tactics/Unresolved.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Tj#úæ»\nioJÚy\t¤$Ó", [] ] \ No newline at end of file diff --git a/tests/tactics/VC.fst.hints b/tests/tactics/VC.fst.hints deleted file mode 100644 index d03d5469bd2..00000000000 --- a/tests/tactics/VC.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "³1­;ÂÈî–ÑÇGöxåš„", [] ] \ No newline at end of file diff --git a/tests/tactics/VQuote.fst.hints b/tests/tactics/VQuote.fst.hints deleted file mode 100644 index 384a38b7522..00000000000 --- a/tests/tactics/VQuote.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ã\u0019Pѧ×S^óç¸óÞ4", [] ] \ No newline at end of file diff --git a/tests/tactics/WeakVsHNF.fst.hints b/tests/tactics/WeakVsHNF.fst.hints deleted file mode 100644 index 85265dc136b..00000000000 --- a/tests/tactics/WeakVsHNF.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\"Úôµ£í_è\u001c;­;aW\bo", [] ] \ No newline at end of file diff --git a/tests/tactics/Wild.fst.hints b/tests/tactics/Wild.fst.hints deleted file mode 100644 index 449fb931f88..00000000000 --- a/tests/tactics/Wild.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "8f\u0002\\(K6”\u0007aê\u0013¶ŒÖ", - [ - [ - "Wild.exists_weaken", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85095d9057e879f201a95ea3a2249737" - ], - 0, - "c51f6b082299ae78533d674df1422691" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Bug2591.fst.hints b/tests/typeclasses/Bug2591.fst.hints deleted file mode 100644 index 7385fe50317..00000000000 --- a/tests/typeclasses/Bug2591.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "H?T#â»3Áã÷Ř\u0000-Î", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Bug2591b.fst.hints b/tests/typeclasses/Bug2591b.fst.hints deleted file mode 100644 index fdd46889ea3..00000000000 --- a/tests/typeclasses/Bug2591b.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "áÑ\u0012\u0016˜ÿrÍ \u001c\u0003ÔwKR", - [ - [ - "Bug2591b.box", - 1, - 2, - 1, - [ "@query" ], - 0, - "2000dfb762479e7df57b0cdc66168d4d" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130.fst.hints b/tests/typeclasses/Bug3130.fst.hints deleted file mode 100644 index 7f8e7ce593a..00000000000 --- a/tests/typeclasses/Bug3130.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "H.íÊ…\"%ø\u0001OBVk×´„", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130b.fst.hints b/tests/typeclasses/Bug3130b.fst.hints deleted file mode 100644 index 71ec4e2c84b..00000000000 --- a/tests/typeclasses/Bug3130b.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "{Îl\u0018|ƒ.Ø#ä\u000f‚ÎÔ4—", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130c.fst.hints b/tests/typeclasses/Bug3130c.fst.hints deleted file mode 100644 index daf8e0ad38a..00000000000 --- a/tests/typeclasses/Bug3130c.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "¿ˆ!Þ=w|Ú=–—/ªö\u0000\u0010", - [ - [ - "Bug3130c.bidule", - 1, - 2, - 1, - [ "@query" ], - 0, - "f54c995efa924cbcce0e2f84f84f570b" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130d.fst.hints b/tests/typeclasses/Bug3130d.fst.hints deleted file mode 100644 index 694022aac91..00000000000 --- a/tests/typeclasses/Bug3130d.fst.hints +++ /dev/null @@ -1,429 +0,0 @@ -[ - "3 ,©’$b„“7V-7«º\u0004", - [ - [ - "Bug3130d.nat_lbytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65ffdae536c169fde664d788c4f42d6f" - ], - [ - "Bug3130d.nat_lbytes_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d6df2ee8b04941f3e1ae8eebe6d7f866" - ], - [ - "Bug3130d.bytes_like", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_1781c2edf7e2e7de6459fdd27613c874", - "Bug3130d_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "Bug3130d_interpretation_Tm_arrow_80ffb9fde42a08fa23f2d2a501bc40f3", - "Bug3130d_interpretation_Tm_arrow_b2bc93ea6bb6c0d9e01eb8ffc4e6ea8b", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Bug3130d.nat_lbytes", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "typing_Bug3130d.nat_lbytes", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "664d2974f0348383fd85f21a62a7f450" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__split_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_80ffb9fde42a08fa23f2d2a501bc40f3", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_split", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__split" - ], - 0, - "f4c16d75f13510d479a1b8fdb5c0c723" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__split_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_80ffb9fde42a08fa23f2d2a501bc40f3", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_split", - "projection_inverse_Bug3130d.Mkbytes_like_split", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__split" - ], - 0, - "ee7a68c4e40f057bd1f09205fd0f2956" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__from_to_nat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Bug3130d_interpretation_Tm_arrow_b2bc93ea6bb6c0d9e01eb8ffc4e6ea8b", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_Bug3130d.Mkbytes_like_from_nat", - "proj_equation_Bug3130d.Mkbytes_like_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__from_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length" - ], - 0, - "18ff64988dbdea64d1ee6a071cfcacc9" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__from_to_nat", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Bug3130d_interpretation_Tm_arrow_b2bc93ea6bb6c0d9e01eb8ffc4e6ea8b", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_Bug3130d.Mkbytes_like_from_nat", - "proj_equation_Bug3130d.Mkbytes_like_length", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Bug3130d.Mkbytes_like_from_nat", - "projection_inverse_Bug3130d.Mkbytes_like_length", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__from_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length" - ], - 0, - "d2766f01453e5926024df6315738ce5e" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__to_from_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_1781c2edf7e2e7de6459fdd27613c874", - "Bug3130d_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "data_elim_Bug3130d.Mkbytes_like", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Bug3130d.nat_lbytes", - "fuel_guarded_inversion_Bug3130d.bytes_like", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_length", - "proj_equation_Bug3130d.Mkbytes_like_to_nat", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__to_nat", - "typing_Bug3130d.nat_lbytes" - ], - 0, - "fd9be9be0c609164292e1d8e09b4560b" - ], - [ - "Bug3130d.__proj__Mkbytes_like__item__to_from_nat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_1781c2edf7e2e7de6459fdd27613c874", - "Bug3130d_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "data_elim_Bug3130d.Mkbytes_like", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Bug3130d.nat_lbytes", - "fuel_guarded_inversion_Bug3130d.bytes_like", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_length", - "proj_equation_Bug3130d.Mkbytes_like_to_nat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Bug3130d.Mkbytes_like_length", - "projection_inverse_Bug3130d.Mkbytes_like_to_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__to_nat", - "typing_Bug3130d.nat_lbytes" - ], - 0, - "2e2812b26d4ba810c93a386897d9a10f" - ], - [ - "Bug3130d.split_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_80ffb9fde42a08fa23f2d2a501bc40f3", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_split", - "projection_inverse_Bug3130d.Mkbytes_like_split", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__split" - ], - 0, - "3fcd7446122afa5508048f6db2b5472b" - ], - [ - "Bug3130d.from_to_nat", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Bug3130d_interpretation_Tm_arrow_b2bc93ea6bb6c0d9e01eb8ffc4e6ea8b", - "data_elim_Bug3130d.Mkbytes_like", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_Bug3130d.Mkbytes_like_from_nat", - "proj_equation_Bug3130d.Mkbytes_like_length", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Bug3130d.Mkbytes_like_from_nat", - "projection_inverse_Bug3130d.Mkbytes_like_length", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__from_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length" - ], - 0, - "f572783562fe4447848a5629be9b5205" - ], - [ - "Bug3130d.to_from_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_1781c2edf7e2e7de6459fdd27613c874", - "Bug3130d_interpretation_Tm_arrow_1eea001dc988a6a52767d18e2341e80f", - "data_elim_Bug3130d.Mkbytes_like", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Bug3130d.nat_lbytes", - "fuel_guarded_inversion_Bug3130d.bytes_like", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_length", - "proj_equation_Bug3130d.Mkbytes_like_to_nat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Bug3130d.Mkbytes_like_length", - "projection_inverse_Bug3130d.Mkbytes_like_to_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__to_nat", - "typing_Bug3130d.nat_lbytes" - ], - 0, - "6c966d4201dab9c3d0053c6d52a8e122" - ], - [ - "Bug3130d.bytes_pre_is_compatible", - 1, - 2, - 1, - [ "@query" ], - 0, - "85d4002afb607515e21676bef889cc9a" - ], - [ - "Bug3130d.bytes_pre_is_compatible_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Bug3130d.bytes_pre_is_compatible", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_Bug3130d.bytes_like", "int_inversion", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ab41f83645304ebc730216c0ae06ee48" - ], - 0, - "39942df455c23aae925aeacc431f1101" - ], - [ - "Bug3130d.bytes_pre_is_compatible_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ab41f83645304ebc730216c0ae06ee48" - ], - 0, - "6f2ea1f73dc4c401e58a3a1f7b343e92" - ], - [ - "Bug3130d.seq_u8_bytes_like", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_Bug3130d.nat_lbytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_Bug3130d.nat_lbytes_helper", - "lemma_FStar.Endianness.n_to_be_be_to_n", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c0effbdef48f9b00a1efb7b571fbb69", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ac762d2da4a3f76c54a682c501e212b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1e2bc48cc3488c2c8e577a235a0150e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f1f3a6a6d3da045b35e7ba130c8b362a", - "typing_FStar.Endianness.n_to_be", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.eq", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t" - ], - 0, - "d9f2bd016a8551e3534e806c1689e01f" - ], - [ - "Bug3130d.refine_bytes_like", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Bug3130d_interpretation_Tm_arrow_80ffb9fde42a08fa23f2d2a501bc40f3", - "Bug3130d_interpretation_Tm_arrow_c74ce95d224345e70bb77a1f75a5accc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Bug3130d.Mkbytes_like", - "disc_equation_FStar.Pervasives.Native.None", - "equation_Bug3130d.bytes_compatible_pre", - "equation_Bug3130d.bytes_pre_is_compatible", - "equation_Bug3130d.concat", "equation_Bug3130d.empty", - "equation_Bug3130d.from_nat", "equation_Bug3130d.length", - "equation_Bug3130d.recognize_empty", "equation_Bug3130d.split", - "equation_Bug3130d.to_nat", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "fuel_guarded_inversion_Bug3130d.bytes_like", - "function_token_typing_Bug3130d.split", "int_inversion", - "interpretation_Tm_abs_156d61d5c9b656b5edf67ce68eccd6dc", - "interpretation_Tm_abs_1db7f670797547b86c4ad0e2eefd7c42", - "interpretation_Tm_abs_283c844328b37ddde5ef5f71d8770a0f", - "interpretation_Tm_abs_356f6b2ad9a8ce34ff8169175ef16a4c", - "interpretation_Tm_abs_57ddf273a1dfff59aa164fd8af0030f9", - "interpretation_Tm_abs_5feb4c31f0b83b8b84d37ab1a0174fc8", - "interpretation_Tm_abs_a08b733c95ab01b403d1cc2ba222e20b", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_Bug3130d.Mkbytes_like_concat", - "proj_equation_Bug3130d.Mkbytes_like_empty", - "proj_equation_Bug3130d.Mkbytes_like_from_nat", - "proj_equation_Bug3130d.Mkbytes_like_length", - "proj_equation_Bug3130d.Mkbytes_like_split", - "proj_equation_Bug3130d.Mkbytes_like_to_nat", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "refinement_interpretation_Tm_refine_fedfb0392413a85796873ed10e08d1b4", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__concat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__from_nat", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__length", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__split", - "token_correspondence_Bug3130d.__proj__Mkbytes_like__item__to_nat", - "token_correspondence_Bug3130d.concat", - "token_correspondence_Bug3130d.empty", - "token_correspondence_Bug3130d.from_nat", - "token_correspondence_Bug3130d.length", - "token_correspondence_Bug3130d.recognize_empty", - "token_correspondence_Bug3130d.split", - "token_correspondence_Bug3130d.to_nat" - ], - 0, - "b53546443057db944506dbfc77a7ccb1" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130e.fst.hints b/tests/typeclasses/Bug3130e.fst.hints deleted file mode 100644 index baa1d8db831..00000000000 --- a/tests/typeclasses/Bug3130e.fst.hints +++ /dev/null @@ -1,50 +0,0 @@ -[ - "«†{\u0001«b웹8¯¤ý\u000eJº", - [ - [ - "Bug3130e.transitivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "data_elim_Bug3130e.Mkord_leq", - "equation_Bug3130e.leq", "fuel_guarded_inversion_Bug3130e.ord_leq", - "interpretation_Tm_abs_9563a090f65b0f80871ba123f9571371", - "proj_equation_Bug3130e.Mkord_leq_leq", - "token_correspondence_Bug3130e.__proj__Mkord_leq__item__leq", - "token_correspondence_Bug3130e.leq" - ], - 0, - "aa4b97f35801ed94c809e5f1ae47ba38" - ], - [ - "Bug3130e.transitivity_forall", - 1, - 2, - 1, - [ "@query", "lemma_Bug3130e.transitivity" ], - 0, - "b1baa4fc3a50a199d8d193a685121f4d" - ], - [ - "Bug3130e.transitivity_forall2", - 1, - 2, - 1, - [ "@query", "lemma_Bug3130e.transitivity" ], - 0, - "7748dbecc587c08d54a495bcb6ce828e" - ], - [ - "Bug3130e.transitivity_forall3", - 1, - 2, - 1, - [ "@query", "lemma_Bug3130e.transitivity" ], - 0, - "af4d583ac43753a5dbe1e3df3ce64a90" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Bug3130f.fst.hints b/tests/typeclasses/Bug3130f.fst.hints deleted file mode 100644 index f699ca9ad59..00000000000 --- a/tests/typeclasses/Bug3130f.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "L\u001a&Ü\f°¯(.ã$«JÒÿ)", [] ] \ No newline at end of file diff --git a/tests/typeclasses/CoallesceConstraints.fst.hints b/tests/typeclasses/CoallesceConstraints.fst.hints deleted file mode 100644 index 217866046d2..00000000000 --- a/tests/typeclasses/CoallesceConstraints.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "±=\"†‰7¥»VÐ×À£hPh", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Fundeps.fst.hints b/tests/typeclasses/Fundeps.fst.hints deleted file mode 100644 index b05355ee496..00000000000 --- a/tests/typeclasses/Fundeps.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "çáã$\u000fºM̽‚é4wK", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Higher.fst.hints b/tests/typeclasses/Higher.fst.hints deleted file mode 100644 index 046548bab3d..00000000000 --- a/tests/typeclasses/Higher.fst.hints +++ /dev/null @@ -1,115 +0,0 @@ -[ - "±ø)×Ã\u0015q\u0006ÍJùL°Iüø", - [ - [ - "Higher.__proj__Eq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_44bdae1ae5ec9c37ce6546570e928708" - ], - 0, - "158f55a83c31f9c82fb6a446343e3436" - ], - [ - "Higher.__proj__Eq__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_44bdae1ae5ec9c37ce6546570e928708" - ], - 0, - "c605f0637da92c1dae1297072a6d61cc" - ], - [ - "Higher.__proj__ForallInt__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3e3c609390de31424dc40da0c863a6c2" - ], - 0, - "e62103f05223c637ab652461211e6020" - ], - [ - "Higher.interp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Higher_pretyping_d63cba25d189bd338b33ba46b9c8a968", - "binder_x_d63cba25d189bd338b33ba46b9c8a968_0", - "disc_equation_Higher.Eq", "disc_equation_Higher.ForallInt", - "fuel_guarded_inversion_Higher.code", - "projection_inverse_BoxBool_proj_0", - "well_founded_ordering_on_codomain_Higher.ForallInt" - ], - 0, - "77ac2e9f832328b6b24be88e97c52143" - ], - [ - "Higher.codeable_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Higher.interp.fuel_instrumented", "@query", - "constructor_distinct_Higher.Eq", "data_typing_intro_Higher.Eq@tok", - "eq2-interp", "equation_with_fuel_Higher.interp.fuel_instrumented", - "projection_inverse_Higher.Eq__0", "projection_inverse_Higher.Eq__1" - ], - 0, - "2aa4e27b75ea921a033b331e50df4a68" - ], - [ - "Higher.codeable_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Higher.interp.fuel_instrumented", - "@fuel_irrelevance_Higher.interp.fuel_instrumented", "@query", - "Higher_interpretation_Tm_arrow_825941142a368a3513e16c5691eeb7e8", - "constructor_distinct_Higher.ForallInt", - "data_elim_Higher.Mkcodeable", - "data_typing_intro_Higher.ForallInt@tok", "equation_Higher.code_of", - "equation_with_fuel_Higher.interp.fuel_instrumented", - "fuel_guarded_inversion_Higher.codeable", "int_inversion", - "interpretation_Tm_abs_918071e082b6987850ebc9a0ad632655", - "interpretation_Tm_abs_c0d5eff56c4577559ce0a0ccfc63c511", - "l_quant_interp_969aa0b9455973368a3ad358b6f79351", - "projection_inverse_Higher.ForallInt__0", - "refinement_interpretation_Tm_refine_460499d21b72160e33ae643374cd0121", - "token_correspondence_Higher.code_of", - "typing_Tm_abs_918071e082b6987850ebc9a0ad632655" - ], - 0, - "4cc79e38736d57939e5b7c2cd5da3579" - ], - [ - "Higher.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_Higher.code_of", "equation_Higher.codeable_eq", - "equation_Higher.encode", "equation_Higher.test0", - "equation_Prims.l_True", - "interpretation_Tm_abs_c0d5eff56c4577559ce0a0ccfc63c511", - "projection_inverse_Higher.Mkcodeable_code_of", - "token_correspondence_Higher.code_of" - ], - 0, - "10cc8ab825f0ae1fb5348e75c0c0bd9e" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/SolveUnderscore.fst.hints b/tests/typeclasses/SolveUnderscore.fst.hints deleted file mode 100644 index 9b5d28931cd..00000000000 --- a/tests/typeclasses/SolveUnderscore.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ˆË\"ά[E\u0012©$¤áXí3\u001a", [] ] \ No newline at end of file diff --git a/tests/typeclasses/Superclass.fst.hints b/tests/typeclasses/Superclass.fst.hints deleted file mode 100644 index d4a7a927f15..00000000000 --- a/tests/typeclasses/Superclass.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "³¡\\HH“ñ9‡\u0012\tRmªè¯", [] ] \ No newline at end of file diff --git a/tests/typeclasses/TWal1107.fst.hints b/tests/typeclasses/TWal1107.fst.hints deleted file mode 100644 index 6b5f5532126..00000000000 --- a/tests/typeclasses/TWal1107.fst.hints +++ /dev/null @@ -1,93 +0,0 @@ -[ - "Ôá×u\u0017õàJÏ\u0018f¸›Ñl", - [ - [ - "TWal1107.toto", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "69d959ba5f23e04d9b4871e7f31f1dd4" - ], - [ - "TWal1107.tata", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_TWal1107.refined", - "interpretation_Tm_abs_db93ee31d652069ee178dce1dfe0fb28", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" - ], - 0, - "01c3b5168b2a6fbc792de96bf58fb5e2" - ], - [ - "TWal1107.__proj__Ctor_1__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85cb1f7cdb7c7aa4bf33dc92967f6607" - ], - 0, - "da8d51cbdf50e8e7b049fd34ca93b0d6" - ], - [ - "TWal1107.__proj__Ctor_2__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5e8fff5324e6cc5eeefd4463a761912d" - ], - 0, - "fa4e794698407cb1027064a5cc6f5330" - ], - [ - "TWal1107.arrow_to_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "63a7f2bea90adcec40866d9463fb32ba" - ], - [ - "TWal1107.bla", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "disc_equation_TWal1107.Ctor_1", "disc_equation_TWal1107.Ctor_2", - "equation_Prims.nat", "equation_TWal1107.refined", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_TWal1107.bytes_like", - "fuel_guarded_inversion_TWal1107.test_sum", - "interpretation_Tm_abs_db93ee31d652069ee178dce1dfe0fb28", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa" - ], - 0, - "c7c86e3a3c7ec4af991e28040a48f131" - ] - ] -] \ No newline at end of file diff --git a/tests/typeclasses/Unit.fst.hints b/tests/typeclasses/Unit.fst.hints deleted file mode 100644 index 41d12a4e5eb..00000000000 --- a/tests/typeclasses/Unit.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "sÉÞÞöAÆ–ó»\u0003üÉÔ\u001eC", [] ] \ No newline at end of file diff --git a/tests/vale/Asm1.fst.hints b/tests/vale/Asm1.fst.hints deleted file mode 100644 index 1756a3de634..00000000000 --- a/tests/vale/Asm1.fst.hints +++ /dev/null @@ -1,323 +0,0 @@ -[ - "‰RMhÛPdaÈQ\r÷OüYt", - [ - [ - "Asm1.ins", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Asm1.reg", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7142f448f24a86dcdfd27093ceda9eb4" - ], - [ - "Asm1.__proj__ILoad__item__lDst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f230ca36ce2a7ff8ae53c124d032312b" - ], - 0, - "c45352f87e7655cafb4de10cce011736" - ], - [ - "Asm1.__proj__ILoad__item__lSrc", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f230ca36ce2a7ff8ae53c124d032312b" - ], - 0, - "08d3f0d986b6718f3acd0b1496d99986" - ], - [ - "Asm1.__proj__ILoad__item__lOffset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f230ca36ce2a7ff8ae53c124d032312b" - ], - 0, - "41cd2df46244fd4e5f59f866348aa279" - ], - [ - "Asm1.__proj__IStore__item__sDst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_999ac40df2c08a5d6e4e4cb66f26d80b" - ], - 0, - "ba8a4c02db94786b9edf138f48df7eeb" - ], - [ - "Asm1.__proj__IStore__item__sOffset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_999ac40df2c08a5d6e4e4cb66f26d80b" - ], - 0, - "c9bdf42df67d7051675f437b4d86d0fc" - ], - [ - "Asm1.__proj__IStore__item__sSrc", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_999ac40df2c08a5d6e4e4cb66f26d80b" - ], - 0, - "a56df0bcdbcfb4929bc6c124a28415c2" - ], - [ - "Asm1.eval_ins", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Asm1.ILoad", - "disc_equation_Asm1.IStore", "fuel_guarded_inversion_Asm1.ins", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c39c413e80f4a430b848ad639d6b807a" - ], - [ - "Asm1.eval_block", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8d2a371ced49b74ad42c2d4f031a5095_1", - "binder_x_bda6836a556ce650892e56d48d39de58_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Asm1.state", - "fuel_guarded_inversion_Prims.list", "kinding_Asm1.state@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_Asm1.eval_ins" - ], - 0, - "7868daaf9143a1a10cfd85d6f2842ad0" - ], - [ - "Asm1.lemma_load", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Asm1.eval_block.fuel_instrumented", - "@fuel_irrelevance_Asm1.eval_block.fuel_instrumented", "@query", - "Asm1_interpretation_Tm_arrow_9c859e8a1c6526d3222abd12b06f56e6", - "Asm1_pretyping_8d2a371ced49b74ad42c2d4f031a5095", - "Asm1_pretyping_bc9c2f1fd95279caaea3a34bcc039124", - "FStar.Map_interpretation_Tm_arrow_32b461b2324f01c7a6bc6b577725566d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Asm1.ILoad", "data_elim_Prims.Cons", - "disc_equation_Asm1.ILoad", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_Asm1.contains", - "equation_Asm1.eval_ins", "equation_Asm1.map", - "equation_Asm1.op_String_Assignment", "equation_Asm1.reg", - "equation_Asm1.valid_reg", "equation_Asm1.valid_state", - "equation_Prims.eqtype", - "equation_with_fuel_Asm1.eval_block.fuel_instrumented", - "fuel_guarded_inversion_Asm1.state", - "function_token_typing_FStar.Map.contains", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Asm1.state@tok", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Asm1.Mkstate_mem", "proj_equation_Asm1.Mkstate_regs", - "projection_inverse_Asm1.Mkstate_regs", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e80bd4cb4381dd7b404ae8d87d55810", - "token_correspondence_Asm1.contains", - "token_correspondence_Asm1.op_String_Access", - "token_correspondence_Asm1.op_String_Assignment", - "token_correspondence_FStar.Map.contains", - "token_correspondence_FStar.Map.upd", - "typing_Asm1.__proj__Mkstate__item__mem", - "typing_Asm1.__proj__Mkstate__item__regs", "typing_Asm1.eval_ins", - "typing_Asm1.op_String_Access", "typing_Asm1.valid_state", - "typing_Prims.int" - ], - 0, - "06d04aebaa26d40b3dbb4cb8998cc3f6" - ], - [ - "Asm1.lemma_store", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Asm1.eval_block.fuel_instrumented", - "@fuel_irrelevance_Asm1.eval_block.fuel_instrumented", "@query", - "Asm1_pretyping_8d2a371ced49b74ad42c2d4f031a5095", - "Asm1_pretyping_bc9c2f1fd95279caaea3a34bcc039124", - "FStar.Map_interpretation_Tm_arrow_32b461b2324f01c7a6bc6b577725566d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Asm1.IStore", "data_elim_Prims.Cons", - "disc_equation_Asm1.IStore", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_Asm1.contains", - "equation_Asm1.eval_ins", "equation_Asm1.map", "equation_Asm1.reg", - "equation_Asm1.valid_reg", "equation_Asm1.valid_state", - "equation_Prims.eqtype", - "equation_with_fuel_Asm1.eval_block.fuel_instrumented", - "fuel_guarded_inversion_Asm1.state", - "function_token_typing_FStar.Map.contains", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Asm1.state@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Asm1.Mkstate_mem", "proj_equation_Asm1.Mkstate_regs", - "projection_inverse_Asm1.Mkstate_regs", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48243b13481161358a87b188b1c7a1bb", - "token_correspondence_Asm1.contains", - "token_correspondence_FStar.Map.contains", - "typing_Asm1.__proj__Mkstate__item__mem", - "typing_Asm1.__proj__Mkstate__item__regs", "typing_Asm1.eval_ins", - "typing_Asm1.valid_state", "typing_Prims.int" - ], - 0, - "776622c45251773c0fc4a8c80ced55a1" - ], - [ - "Asm1.lemma_empty", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Asm1.eval_block.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_Asm1.eval_block.fuel_instrumented", - "kinding_Asm1.ins@tok", "projection_inverse_Prims.Nil_a" - ], - 0, - "e9e9e3f65878997fa312b035f02d3d6a" - ], - [ - "Asm1.lemma_copy", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Asm1.eval_block.fuel_instrumented", - "@fuel_irrelevance_Asm1.eval_block.fuel_instrumented", "@query", - "Asm1_interpretation_Tm_arrow_9c859e8a1c6526d3222abd12b06f56e6", - "Asm1_interpretation_Tm_arrow_9f4db3187888091a832b0a323f1b9876", - "Asm1_interpretation_Tm_arrow_e76ad7ea1b49a51ebc304bcd6e344d98", - "Asm1_interpretation_Tm_arrow_ecbe25e460c8c11eb9fd7d4047b093d0", - "Asm1_pretyping_8d2a371ced49b74ad42c2d4f031a5095", - "FStar.Map_interpretation_Tm_arrow_28a168f8d4c6d78564a214862be72b08", - "FStar.Map_interpretation_Tm_arrow_32b461b2324f01c7a6bc6b577725566d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_Asm1.ILoad", - "constructor_distinct_Asm1.IStore", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "disc_equation_Asm1.ILoad", - "disc_equation_Asm1.IStore", "disc_equation_Prims.Cons", - "equation_Asm1.contains", "equation_Asm1.copy", - "equation_Asm1.eval_ins", "equation_Asm1.map", - "equation_Asm1.op_String_Access", - "equation_Asm1.op_String_Assignment", "equation_Asm1.reg", - "equation_Asm1.valid_reg", "equation_Asm1.valid_state", - "equation_Prims.eqtype", - "equation_with_fuel_Asm1.eval_block.fuel_instrumented", - "fuel_guarded_inversion_Asm1.state", - "function_token_typing_Asm1.op_String_Assignment", - "function_token_typing_FStar.Map.contains", - "function_token_typing_FStar.Map.sel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_Asm1.Mkstate_mem", "proj_equation_Asm1.Mkstate_regs", - "projection_inverse_Asm1.ILoad_lDst", - "projection_inverse_Asm1.ILoad_lOffset", - "projection_inverse_Asm1.ILoad_lSrc", - "projection_inverse_Asm1.IStore_sDst", - "projection_inverse_Asm1.IStore_sOffset", - "projection_inverse_Asm1.IStore_sSrc", - "projection_inverse_Asm1.Mkstate_mem", - "projection_inverse_Asm1.Mkstate_regs", - "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_09c0e6258fadd3d82c4b9e11e8b64374", - "refinement_interpretation_Tm_refine_2d0e4143b34a89d925e715c163c112f4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4185fbd0490c35b112c0e16227dcbd49", - "refinement_interpretation_Tm_refine_a766ba25747e5f65d9110aeed34306a4", - "token_correspondence_Asm1.contains", - "token_correspondence_Asm1.op_String_Access", - "token_correspondence_Asm1.op_String_Assignment", - "token_correspondence_FStar.Map.contains", - "token_correspondence_FStar.Map.sel", - "token_correspondence_FStar.Map.upd", - "typing_Asm1.__proj__Mkstate__item__mem", - "typing_Asm1.__proj__Mkstate__item__regs", "typing_Asm1.contains", - "typing_Asm1.op_String_Access", "typing_Asm1.valid_reg", - "typing_Asm1.valid_state", "typing_FStar.Map.sel", "typing_Prims.int" - ], - 0, - "90a1829ebc7d21a51069019d4c855d9c" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/Asm2.fst.hints b/tests/vale/Asm2.fst.hints deleted file mode 100644 index 2a063001df5..00000000000 --- a/tests/vale/Asm2.fst.hints +++ /dev/null @@ -1,40 +0,0 @@ -[ - "&ÄkŽ\fÏsàXOg‹\\×'", - [ - [ - "Asm2.lemma_copy", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Map_interpretation_Tm_arrow_32b461b2324f01c7a6bc6b577725566d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_Asm2.contains", "equation_Asm2.lemma_store", - "equation_Asm2.map", "equation_Asm2.op_String_Access", - "equation_Asm2.op_String_Assignment", "equation_Asm2.state", - "equation_Prims.eqtype", "function_token_typing_FStar.Map.contains", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_026aaac48ee6fd9eb4372b527051a6a9", - "refinement_interpretation_Tm_refine_15ad8abc8ff0aeab250120c7dafaf73b", - "refinement_interpretation_Tm_refine_18da1ab55359e5f6b7c2b8981abdf423", - "refinement_interpretation_Tm_refine_24411fada6585229e73747b229b8f1a3", - "refinement_interpretation_Tm_refine_25811cedadda807e5c53d24f7e2e1016", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d0e677217d63b81a6c38149e76ddab88", - "token_correspondence_Asm2.contains", - "token_correspondence_Asm2.op_String_Access", - "token_correspondence_Asm2.op_String_Assignment", - "token_correspondence_FStar.Map.contains", - "token_correspondence_FStar.Map.sel", - "token_correspondence_FStar.Map.upd", "typing_Prims.int" - ], - 0, - "11896565a941c4cfe2aa3c39a76977e9" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/Calc.fst.hints b/tests/vale/Calc.fst.hints deleted file mode 100644 index e364182ae84..00000000000 --- a/tests/vale/Calc.fst.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "Dñpí)¤Âü\u0007úµ­ã\u0015ÖØ", - [ - [ - "Calc.op_Amp_Equals", - 1, - 1, - 0, - [ "@query" ], - 0, - "bb3f0c8f128b5ac9ecdaba221941a03c" - ], - [ - "Calc.op_Amp_Bar", - 1, - 1, - 0, - [ "@query" ], - 0, - "908c6edef9a6cb1063569164a7b8eaac" - ], - [ - "Calc.op_Amp_Bar_Bar", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3d3ce46a7902034504bfa0107c776516" - ], - 0, - "4f22bcf4a6459a6c7589416b718bac96" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/DeltaAttr.fst.hints b/tests/vale/DeltaAttr.fst.hints deleted file mode 100644 index 432c32b9589..00000000000 --- a/tests/vale/DeltaAttr.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u001bK¼šË×B\u001d[ª™åWVÿ", [] ] \ No newline at end of file diff --git a/tests/vale/Makefile b/tests/vale/Makefile index 42b7133b12a..e19fdb95268 100644 --- a/tests/vale/Makefile +++ b/tests/vale/Makefile @@ -2,15 +2,13 @@ FSTAR_FILES=$(wildcard *.fst) FSTAR_FILES:=$(filter-out X64.Poly1305.fst,$(FSTAR_FILES)) OTHERFLAGS += \ ---z3cliopt smt.QI.EAGER_THRESHOLD=100 \ ---z3cliopt smt.CASE_SPLIT=3 \ ---z3cliopt smt.arith.nl=false \ +--z3smtopt '(set-option :smt.qi.eager_threshold 100)' \ +--z3smtopt '(set-option :smt.arith.nl false)' \ --smtencoding.elim_box true \ --smtencoding.l_arith_repr native \ --smtencoding.nl_arith_repr wrapped\ --max_fuel 1 \ --max_ifuel 1 \ ---initial_ifuel 0 \ --warn_error -350 # ^ 350: deprecated lightweight do notation diff --git a/tests/vale/Opaque_i.fst.hints b/tests/vale/Opaque_i.fst.hints deleted file mode 100644 index d279e8b44c3..00000000000 --- a/tests/vale/Opaque_i.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "×\u0016»¼8×^ørí\u001f±êëi", - [ - [ - "Opaque_i.reveal_opaque", - 1, - 1, - 0, - [ "@query", "equation_Opaque_i.make_opaque" ], - 0, - "6a168bf4f78f0144faf1764e60ba6c77" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/Opaque_i.fsti.hints b/tests/vale/Opaque_i.fsti.hints deleted file mode 100644 index b1047be423e..00000000000 --- a/tests/vale/Opaque_i.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "œ°¾Ic¸Íîž¹¹{<çù¯", [] ] \ No newline at end of file diff --git a/tests/vale/TransparentMap.fst.hints b/tests/vale/TransparentMap.fst.hints deleted file mode 100644 index 4f89ae2d1fd..00000000000 --- a/tests/vale/TransparentMap.fst.hints +++ /dev/null @@ -1,91 +0,0 @@ -[ - "…„p¸©= 9q\fÜ¿\u0019¦ƒÀ", - [ - [ - "TransparentMap.sel_upd1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_TransparentMap.sel", - "equation_TransparentMap.upd", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_331bcae1afb9bcb02e34122de03c3f66", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_331bcae1afb9bcb02e34122de03c3f66" - ], - 0, - "96bd33b05b78590587c50af9b2cff3ec" - ], - [ - "TransparentMap.sel_upd2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_TransparentMap.sel", - "equation_TransparentMap.upd", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_331bcae1afb9bcb02e34122de03c3f66", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_331bcae1afb9bcb02e34122de03c3f66" - ], - 0, - "55c9eab303b8e17a0eaf16581f469109" - ], - [ - "TransparentMap.lemma_equal_intro", - 1, - 1, - 0, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_TransparentMap.equal", "equation_TransparentMap.sel" - ], - 0, - "362480bb99442a8f4ad067cc720465d2" - ], - [ - "TransparentMap.lemma_equal_elim", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_TransparentMap.equal", - "equation_TransparentMap.map", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10" - ], - 0, - "538700c8ddb1be7146bb448266da2a32" - ], - [ - "TransparentMap.lemma_equal_refl", - 1, - 1, - 0, - [ "@query", "lemma_TransparentMap.lemma_equal_intro" ], - 0, - "79da445a7691d4955f975d6578381e37" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/ValeTest.fst.config.json b/tests/vale/ValeTest.fst.config.json index fd4218b2d38..bcdf0260498 100644 --- a/tests/vale/ValeTest.fst.config.json +++ b/tests/vale/ValeTest.fst.config.json @@ -2,7 +2,17 @@ "fstar_exe": "fstar.exe", "options": [ "--cache_dir", ".cache", - "--ext", "context_pruning" + "--ext", "context_pruning", + "--z3version", "4.13.3", + "--z3smtopt", "(set-option :smt.qi.eager_threshold 100)", + "--z3smtopt", "(set-option :smt.arith.nl false)", + "--smtencoding.elim_box", "true", + "--smtencoding.l_arith_repr", "native", + "--smtencoding.nl_arith_repr", "wrapped", + "--max_fuel", "1", + "--max_ifuel", "1", + "--initial_ifuel", "0", + "--warn_error", "-350" ], "include_dirs": [ "../../ulib/", diff --git a/tests/vale/X64.Machine_s.fst.hints b/tests/vale/X64.Machine_s.fst.hints deleted file mode 100644 index ae70fbd87db..00000000000 --- a/tests/vale/X64.Machine_s.fst.hints +++ /dev/null @@ -1,242 +0,0 @@ -[ - "m¤ÏáH\bnŸ<Ð0¼4|¸à", - [ - [ - "X64.Machine_s.maddr", - 1, - 1, - 0, - [ "@query", "assumption_X64.Machine_s.reg__uu___haseq" ], - 0, - "6a18564ed2c3295ff0d72756f4e3f133" - ], - [ - "X64.Machine_s.__proj__MConst__item__n", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad649c559db000bf1dd08bb4e261413e" - ], - 0, - "1996e9fb3111c122933274b12b1aed97" - ], - [ - "X64.Machine_s.__proj__MReg__item__r", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49b6b7afc081bac09ce40febdab68891" - ], - 0, - "7baf4accecd37094f2e970b49d162934" - ], - [ - "X64.Machine_s.__proj__MReg__item__offset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49b6b7afc081bac09ce40febdab68891" - ], - 0, - "06869100003a29eed6024fab5f97aabe" - ], - [ - "X64.Machine_s.__proj__MIndex__item__base", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c01fa907bf3fbb9b7c15b0e05d45125" - ], - 0, - "28057a5baad68d0b84ca9be5c039999c" - ], - [ - "X64.Machine_s.__proj__MIndex__item__scale", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c01fa907bf3fbb9b7c15b0e05d45125" - ], - 0, - "62cfb4b4ba636e5bc65cdaa37f1cb365" - ], - [ - "X64.Machine_s.__proj__MIndex__item__index", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c01fa907bf3fbb9b7c15b0e05d45125" - ], - 0, - "99710e48757bbe6187d524df5cf6028f" - ], - [ - "X64.Machine_s.__proj__MIndex__item__offset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c01fa907bf3fbb9b7c15b0e05d45125" - ], - 0, - "bdd672c82cf762c97ca5a6923de7bdca" - ], - [ - "X64.Machine_s.operand", - 1, - 1, - 0, - [ - "@query", "assumption_X64.Machine_s.maddr__uu___haseq", - "assumption_X64.Machine_s.reg__uu___haseq" - ], - 0, - "db3f7f55eb303b0a9a19a33ad66de38b" - ], - [ - "X64.Machine_s.__proj__OConst__item__n", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7efc3fb0a0ebacf4e999ae215f7b60a8" - ], - 0, - "f4c0fae3c969415fc4ca561497ee800f" - ], - [ - "X64.Machine_s.__proj__OReg__item__r", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58" - ], - 0, - "e4e63cca3997427dd9ed98f246fddaca" - ], - [ - "X64.Machine_s.__proj__OMem__item__m", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ffc672b65f59d0fc5f2be00bff120b6" - ], - 0, - "9d6b1d2e52df6d6588794f4e42d6dcf0" - ], - [ - "X64.Machine_s.precode", - 1, - 1, - 0, - [ - "@query", "assumption_Prims.list__uu___haseq", - "kinding_X64.Machine_s.precode@tok" - ], - 0, - "777bc21db24067a7c396c2e73dcefdc0" - ], - [ - "X64.Machine_s.__proj__Ins__item__ins", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d23bd498b85d9ef871e961295abeefa" - ], - 0, - "be18d0e60ceb9e3367ae758a3436dd7a" - ], - [ - "X64.Machine_s.__proj__Block__item__block", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7931b24c4e7900a01f262ca0e3574c0e" - ], - 0, - "11b731e294bf94c983f17054f99daeb0" - ], - [ - "X64.Machine_s.__proj__IfElse__item__ifCond", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4377826c4723fe1b7a6258fac9438e3d" - ], - 0, - "f29627b1ca8bc12b359258e96e99f5e9" - ], - [ - "X64.Machine_s.__proj__IfElse__item__ifTrue", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4377826c4723fe1b7a6258fac9438e3d" - ], - 0, - "e32da358391fe6601ee211a2706cfa9f" - ], - [ - "X64.Machine_s.__proj__IfElse__item__ifFalse", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4377826c4723fe1b7a6258fac9438e3d" - ], - 0, - "8dc7753e87a194cb7b034aeb37f493e6" - ], - [ - "X64.Machine_s.__proj__While__item__whileCond", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_45c3c142e427e91690ff415ec1656ffb" - ], - 0, - "1a38db14d277c55320de0a376b91ccfe" - ], - [ - "X64.Machine_s.__proj__While__item__whileBody", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_45c3c142e427e91690ff415ec1656ffb" - ], - 0, - "7314f7461b9c54d33c8ff877fb07e219" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.Bitvectors_i.fst.hints b/tests/vale/X64.Poly1305.Bitvectors_i.fst.hints deleted file mode 100644 index 203eb9bda77..00000000000 --- a/tests/vale/X64.Poly1305.Bitvectors_i.fst.hints +++ /dev/null @@ -1,5752 +0,0 @@ -[ - "xÄ{¥ŠáJC0Žæ$7U'\u000e", - [ - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1e35f901cd56879fa6c1f59bf1217914" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b04fa44f335b3aea905c36bf296bdce5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 3, - 1, - 0, - [ "@query" ], - 0, - "d15ce0f411785d3c02500e2606c5cfa5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.bool" - ], - 0, - "25c7466b29b5c6d170380396bccb6859" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.bool" - ], - 0, - "25c7466b29b5c6d170380396bccb6859" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.bool" - ], - 0, - "25c7466b29b5c6d170380396bccb6859" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b4fe51b0b0d33c20513d86bfb5bfd2f4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b4fe51b0b0d33c20513d86bfb5bfd2f4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3cd3b2a63500bc3a2cfa59d8965fa138" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "009324f6df3a1a4d95557cebd7090f6c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 3, - 1, - 0, - [ "@query" ], - 0, - "036e7ddf6010e9e63515983630c9f1ff" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "bc34b953020f35fd2a9c49f1532e1549" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "bc34b953020f35fd2a9c49f1532e1549" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "bc34b953020f35fd2a9c49f1532e1549" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "4de7a86dce1dd76bab596d9850afd5cc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "4de7a86dce1dd76bab596d9850afd5cc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "b2efa2d5f28c7fd8b562356646e6cff6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "cc8c521ff501dc96a9687b5332b38683" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 3, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "925d36061059608e74cf8d3d3c33e31e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 4, - 1, - 0, - [ "@query" ], - 0, - "f058069243cd39aea5498abc73a19341" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0b03c005100a5da8210989df3b2fb324" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0b03c005100a5da8210989df3b2fb324" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0b03c005100a5da8210989df3b2fb324" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "2aca1fbe2244bb2884b09a3d84e478b9" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "2aca1fbe2244bb2884b09a3d84e478b9" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 10, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "2aca1fbe2244bb2884b09a3d84e478b9" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 11, - 1, - 0, - [ "@query" ], - 0, - "7d8744059a7861dc45272f4f8b21c8ed" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 12, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5999d91315e05dfc036626a02604ec94" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 13, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5999d91315e05dfc036626a02604ec94" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 14, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5999d91315e05dfc036626a02604ec94" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 15, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3c4aeb6f4a58bb56ebbf2c9e0d00662" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3c4aeb6f4a58bb56ebbf2c9e0d00662" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 17, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f3c4aeb6f4a58bb56ebbf2c9e0d00662" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "23217b5ab6519df566583eb6b3d48791" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "b534d8e5c59b46795bd7689730705537" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 3, - 1, - 0, - [ "@query" ], - 0, - "52fac0f81addd89500de02394a772966" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "1fd4aa1156f41794d1f24244450a4578" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 10, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ee795aa2642c841a65ca194d40cec33" - ], - 0, - "aa605fa658afec3767a9f079ada9e4bd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 11, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ee795aa2642c841a65ca194d40cec33" - ], - 0, - "aa605fa658afec3767a9f079ada9e4bd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 12, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ee795aa2642c841a65ca194d40cec33" - ], - 0, - "aa605fa658afec3767a9f079ada9e4bd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b2d1076eb02057ef9c39b766da7aacb9" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.to_vec" - ], - 0, - "dd66c99ebd3cb6bef4aec949a93ec1e8" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "808904fb3bc1874763001acbfe09add6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "9fc4b9d1f087b5411f469db85dd3ca47" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 5, - 1, - 0, - [ "@query" ], - 0, - "cb701fe4900385cdfb2f47ed96045a5c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 6, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "808904fb3bc1874763001acbfe09add6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "808904fb3bc1874763001acbfe09add6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 8, - 1, - 0, - [ "@query" ], - 0, - "b9a7591c547d34daa88ce366381e1f60" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "9fc4b9d1f087b5411f469db85dd3ca47" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 10, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "9fc4b9d1f087b5411f469db85dd3ca47" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 11, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "9fc4b9d1f087b5411f469db85dd3ca47" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "615f439de1d79295d549344f462b564b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "0d064c1bfc05a7722d3cf2fe765115b7" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 3, - 1, - 0, - [ "@query" ], - 0, - "b36e4e6c3fbfddb0a14b3d9ba41d3a11" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7917ba5b444f4b04437fc79d918990bb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7917ba5b444f4b04437fc79d918990bb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7917ba5b444f4b04437fc79d918990bb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 10, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "348b46bacca36c3bc8ca1cf3c2d0e894" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 11, - 1, - 0, - [ "@query" ], - 0, - "a6ca6ba40903ac562a88b719665f4223" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 12, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "635a055505e4465812c7241b48ea3990" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 13, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 14, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 15, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "635a055505e4465812c7241b48ea3990" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 17, - 1, - 0, - [ "@query" ], - 0, - "299c56aa15dbdb960627bd555c46203d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 18, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "635a055505e4465812c7241b48ea3990" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 19, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0f8703ac6a65d1ef3d1d38b03d85df58" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 20, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0f8703ac6a65d1ef3d1d38b03d85df58" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 21, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0f8703ac6a65d1ef3d1d38b03d85df58" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 22, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "635a055505e4465812c7241b48ea3990" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 23, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "65dcdf204b9a933e3db07a8846d0c5af" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 24, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "10761e6ff24b132260d16d2a26a690df" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 25, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "5412f5993f5441e772855217e584735a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_commutes", - 1, - 1, - 0, - [ "@query" ], - 0, - "c895d3065ce47fc9eb04a7afeceeffab" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "d1edb6e6bb362ded0a207291f32ea597" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "d31e937bb126a3023e3fa828000fcf10" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 3, - 1, - 0, - [ "@query" ], - 0, - "2deb6e4a90e33916fa7459fb25b31253" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0d2be3818ed499a11a1a02c7a3629ed", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.to_vec", - "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "06dc62db62c045f14d7f23e940472972" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 5, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "498d3bf4f3ee9a2ba276755b23bda674" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0d2be3818ed499a11a1a02c7a3629ed", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "06dc62db62c045f14d7f23e940472972" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "498d3bf4f3ee9a2ba276755b23bda674" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 8, - 1, - 0, - [ "@query" ], - 0, - "1700b6fa1759e468959f6a65a7878636" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "6b422b132c39010c7cb6e8283d27d5ff" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 10, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_5d4499fa92e44a19dc1f1ea90c5ac6f6", - "refinement_interpretation_Tm_refine_a0d2be3818ed499a11a1a02c7a3629ed", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "28111db3881e6331afc569372bd8585d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 11, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "6b422b132c39010c7cb6e8283d27d5ff" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_5d4499fa92e44a19dc1f1ea90c5ac6f6", - "refinement_interpretation_Tm_refine_a0d2be3818ed499a11a1a02c7a3629ed", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "28111db3881e6331afc569372bd8585d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 13, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "6b422b132c39010c7cb6e8283d27d5ff" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 14, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4bb8998fe69acc99b21e814adae749a3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "6b422b132c39010c7cb6e8283d27d5ff" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "d48160f41b43032423ee03f1e2dfbb80" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits" - ], - 0, - "b8989e9d6ce53d114529870ef11258ca" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 3, - 1, - 0, - [ "@query" ], - 0, - "bf02a06213a334c3527d7ab2889859d3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "b6eff75189ff44c6ded5e286d8b44fc3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "bdc8e5716a639d98b5cf34e78bbaa109" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "b6eff75189ff44c6ded5e286d8b44fc3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "bdc8e5716a639d98b5cf34e78bbaa109" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "b6eff75189ff44c6ded5e286d8b44fc3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d8836626372248741cc7d6582bd93782", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "6608d5370da5171e3f697b195efed192" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 10, - 1, - 0, - [ "@query" ], - 0, - "89aa427a07d6c784c3dbc16d0dec931c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6e4b6a3bc62a81e54556d05317a88bb7", - "refinement_interpretation_Tm_refine_c0be3d2c292eb10672724315a42ff4ed", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d3156734d18320996fe518a1dc1ae24f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_6e4b6a3bc62a81e54556d05317a88bb7", - "refinement_interpretation_Tm_refine_c0be3d2c292eb10672724315a42ff4ed", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "5d2bc27c8a639dc7b17e8c25adb4b44e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6e4b6a3bc62a81e54556d05317a88bb7", - "refinement_interpretation_Tm_refine_c0be3d2c292eb10672724315a42ff4ed", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d3156734d18320996fe518a1dc1ae24f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_6e4b6a3bc62a81e54556d05317a88bb7", - "refinement_interpretation_Tm_refine_c0be3d2c292eb10672724315a42ff4ed", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "5d2bc27c8a639dc7b17e8c25adb4b44e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6e4b6a3bc62a81e54556d05317a88bb7", - "refinement_interpretation_Tm_refine_c0be3d2c292eb10672724315a42ff4ed", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d3156734d18320996fe518a1dc1ae24f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2bd847f7dedd5f8c0ccfa10349b2470b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d8836626372248741cc7d6582bd93782", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "0c289473fd6f81039ddadcac82f4475b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "15c930693da3585ac8c9a3e49e09a80b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "fb4395f8a387b0f0b6912da2086fbfd0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 3, - 1, - 0, - [ "@query" ], - 0, - "6ed39afcd8c42f2b70796a419a11c33c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1", - "refinement_interpretation_Tm_refine_a7a18b3d2bbe32ad1d7773e62663094f" - ], - 0, - "7c0bb1d18de20c221ac64495862ffc40" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "0fecc6b4b489f098c8170877f35cee68" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1", - "refinement_interpretation_Tm_refine_a7a18b3d2bbe32ad1d7773e62663094f" - ], - 0, - "7c0bb1d18de20c221ac64495862ffc40" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "0fecc6b4b489f098c8170877f35cee68" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1", - "refinement_interpretation_Tm_refine_a7a18b3d2bbe32ad1d7773e62663094f" - ], - 0, - "7c0bb1d18de20c221ac64495862ffc40" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1" - ], - 0, - "57b7e8ec337b5c1ecf5e213b311b06a3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 10, - 1, - 0, - [ "@query" ], - 0, - "957f6b3dea08934739114842d07db674" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30414f165f634d1d5242aa07d66adbc8", - "refinement_interpretation_Tm_refine_e491d4c19c2c46d0915df57189ee1dad", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ccb43428e884cd1ebfb9b2a77bedec18" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_30414f165f634d1d5242aa07d66adbc8", - "refinement_interpretation_Tm_refine_e491d4c19c2c46d0915df57189ee1dad", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a10aeb892e364a71daf746c6070bc51f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30414f165f634d1d5242aa07d66adbc8", - "refinement_interpretation_Tm_refine_e491d4c19c2c46d0915df57189ee1dad", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ccb43428e884cd1ebfb9b2a77bedec18" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_30414f165f634d1d5242aa07d66adbc8", - "refinement_interpretation_Tm_refine_e491d4c19c2c46d0915df57189ee1dad", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a10aeb892e364a71daf746c6070bc51f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_30414f165f634d1d5242aa07d66adbc8", - "refinement_interpretation_Tm_refine_e491d4c19c2c46d0915df57189ee1dad", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ccb43428e884cd1ebfb9b2a77bedec18" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_986b3d1bb94bf57fa4d40e63127dc5c1", - "refinement_interpretation_Tm_refine_a7a18b3d2bbe32ad1d7773e62663094f", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_ed24a72559e6d95bc4aa8f08c105ba2f", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "cec3792f475685e426c5d4000ac7d625" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8d2d23ff0045ef1bb39b6b6f638a8953" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "89bd91e0e0427a44c070c4fe6c2cdad0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 3, - 1, - 0, - [ "@query" ], - 0, - "6c23782a43b4b6769dcb3ab125cf28a7" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045feaff96c939e73ccd5d7de8e4a488", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9575629c58eba92897c1242e2ac5d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045feaff96c939e73ccd5d7de8e4a488", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9575629c58eba92897c1242e2ac5d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045feaff96c939e73ccd5d7de8e4a488", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9575629c58eba92897c1242e2ac5d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045feaff96c939e73ccd5d7de8e4a488", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9575629c58eba92897c1242e2ac5d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045feaff96c939e73ccd5d7de8e4a488", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9575629c58eba92897c1242e2ac5d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63c0cf93c4d449b5b9d1b12e355a0400" - ], - 0, - "dd4e1b585010b4547e0f510ea524dd7f" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 10, - 1, - 0, - [ "@query" ], - 0, - "6163f4435e58df52e5e40651e90cd97c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ae30301407ba3dc93e49e645c32177c", - "refinement_interpretation_Tm_refine_d730384adee79cebfeadaabbf7839af7", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8a0b854ee829586c4d7a671783c0fe4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2ae30301407ba3dc93e49e645c32177c", - "refinement_interpretation_Tm_refine_d730384adee79cebfeadaabbf7839af7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "7c9d26d96fd779901dd11dd16d676ad7" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ae30301407ba3dc93e49e645c32177c", - "refinement_interpretation_Tm_refine_d730384adee79cebfeadaabbf7839af7", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8a0b854ee829586c4d7a671783c0fe4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2ae30301407ba3dc93e49e645c32177c", - "refinement_interpretation_Tm_refine_d730384adee79cebfeadaabbf7839af7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "7c9d26d96fd779901dd11dd16d676ad7" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ae30301407ba3dc93e49e645c32177c", - "refinement_interpretation_Tm_refine_d730384adee79cebfeadaabbf7839af7", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8a0b854ee829586c4d7a671783c0fe4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bca658aa64bc5735e3ededc363500da8", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "c53d39748f9ed485695a148011942c86" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f10c1b295adcc63ab54e2ff697450498" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "f0176960c8f3c82d4736589775dd828e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 3, - 1, - 0, - [ "@query" ], - 0, - "060205b036044523a59ad7b8fe346012" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "977662be4896e4d1c79ad46bef4e7ab5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4df1f7092e2518be0771511660fde915" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "977662be4896e4d1c79ad46bef4e7ab5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4df1f7092e2518be0771511660fde915" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e275cfa492c73f52b5f32fd4e8a7155" - ], - 0, - "977662be4896e4d1c79ad46bef4e7ab5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7bca40cab4a9e7545f8a9a3a8d96590e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 10, - 1, - 0, - [ "@query" ], - 0, - "f7cf8c5902f0a86f1fd2222d7420222c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33e1fddbba764f57973fbe50740dbead", - "refinement_interpretation_Tm_refine_c8fe22df2550385ad8288573cfaa0358", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "de17de79901b9ae84939e62211d9ab2a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_33e1fddbba764f57973fbe50740dbead", - "refinement_interpretation_Tm_refine_c8fe22df2550385ad8288573cfaa0358", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a1cb30cb3e501c7ce483072dcff4060c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33e1fddbba764f57973fbe50740dbead", - "refinement_interpretation_Tm_refine_c8fe22df2550385ad8288573cfaa0358", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "de17de79901b9ae84939e62211d9ab2a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_33e1fddbba764f57973fbe50740dbead", - "refinement_interpretation_Tm_refine_c8fe22df2550385ad8288573cfaa0358", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a1cb30cb3e501c7ce483072dcff4060c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33e1fddbba764f57973fbe50740dbead", - "refinement_interpretation_Tm_refine_c8fe22df2550385ad8288573cfaa0358", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "de17de79901b9ae84939e62211d9ab2a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1e77b5c9709b25329ec1e9a6a79fa90a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd89f601c4e1e2a25c87dfc424c60a21", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "945a3468aa55f7ac1d88488910fe7d5c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ad3b0ce18cf18a2fc1d43bd929ade9d8" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "b717061e9d780ff8db03c66a2b8fb15b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 3, - 1, - 0, - [ "@query" ], - 0, - "128e9756fa5bafdd5d416f316a480e74" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_17842b692fc36ec40a803769d235f928", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1b48aad08ed8fb49d67b55be61d389fe" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d927a046abdadfeac1236f884cc33868" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_17842b692fc36ec40a803769d235f928", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1b48aad08ed8fb49d67b55be61d389fe" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d927a046abdadfeac1236f884cc33868" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_17842b692fc36ec40a803769d235f928", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1b48aad08ed8fb49d67b55be61d389fe" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3625590d087d0d10f3cdcea079eeb351", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "30fab2eff830b4ff79703f15226b0888" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 10, - 1, - 0, - [ "@query" ], - 0, - "3ad72d05393b8d9e78934241bfab8ca3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_757cfaaee9b88057ff842254440ce8ba", - "refinement_interpretation_Tm_refine_c73fc168ae40a96ad31f7aea550b6103", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "89af1a49b6e01d4916d6cfe996d3be35" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_757cfaaee9b88057ff842254440ce8ba", - "refinement_interpretation_Tm_refine_c73fc168ae40a96ad31f7aea550b6103", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "c7b109ac32335bb6da87c1bfc1438b38" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_757cfaaee9b88057ff842254440ce8ba", - "refinement_interpretation_Tm_refine_c73fc168ae40a96ad31f7aea550b6103", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "89af1a49b6e01d4916d6cfe996d3be35" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_757cfaaee9b88057ff842254440ce8ba", - "refinement_interpretation_Tm_refine_c73fc168ae40a96ad31f7aea550b6103", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "c7b109ac32335bb6da87c1bfc1438b38" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_757cfaaee9b88057ff842254440ce8ba", - "refinement_interpretation_Tm_refine_c73fc168ae40a96ad31f7aea550b6103", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "89af1a49b6e01d4916d6cfe996d3be35" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a5f244d53592fb3a63de62cfcbccfec", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "b3b7d5c656832a26a83892c8c3cefb52" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1278d84bbb5d512e5d2f69e8520ff042" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "431c3bff4eec4b15605f44a7727b7372" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 3, - 1, - 0, - [ "@query" ], - 0, - "da3fe8a1d5363505f00e6b4e6414cbae" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcb4c74dd9c0210c7a566434f6c21fa1" - ], - 0, - "711431a4b7bc7fc367b9af18e60effd3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7f26cc2fd5985f69957931cba6ae1bb4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcb4c74dd9c0210c7a566434f6c21fa1" - ], - 0, - "711431a4b7bc7fc367b9af18e60effd3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7f26cc2fd5985f69957931cba6ae1bb4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcb4c74dd9c0210c7a566434f6c21fa1" - ], - 0, - "711431a4b7bc7fc367b9af18e60effd3" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01b887a5163539618c830389659390df", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9150bd01078372ca9af4351765d5b470" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 10, - 1, - 0, - [ "@query" ], - 0, - "89ff936103b3474236b55f929fbc5d75" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01b86c072fdc8bcb686a3b9012e5f190", - "refinement_interpretation_Tm_refine_d969f1aa1274e0da999b26974295e887", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "8349a47daeab3a936f6c282b76daf067" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_01b86c072fdc8bcb686a3b9012e5f190", - "refinement_interpretation_Tm_refine_d969f1aa1274e0da999b26974295e887", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "6bde102380183e12cc0dbf5543853413" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01b86c072fdc8bcb686a3b9012e5f190", - "refinement_interpretation_Tm_refine_d969f1aa1274e0da999b26974295e887", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "8349a47daeab3a936f6c282b76daf067" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_01b86c072fdc8bcb686a3b9012e5f190", - "refinement_interpretation_Tm_refine_d969f1aa1274e0da999b26974295e887", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "6bde102380183e12cc0dbf5543853413" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_01b86c072fdc8bcb686a3b9012e5f190", - "refinement_interpretation_Tm_refine_d969f1aa1274e0da999b26974295e887", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "8349a47daeab3a936f6c282b76daf067" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_599e43830bbbaacbaa5e9e7bc0734208", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "17971a246c6a619e5218dc346966eb9e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8e56f3e99a9e31a4c040040b219f762b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt.fits" - ], - 0, - "d08f3d4b4a2c336a80d86c801e5c9cd6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 3, - 1, - 0, - [ "@query" ], - 0, - "45c70dcf530a791e79d252a94b473166" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63951cf891d05f4c4ee21aee034efca6" - ], - 0, - "4f259a45b09e7545dfd5515325612a83" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "08839f78cc1e2908d92b9263a03693c1" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63951cf891d05f4c4ee21aee034efca6" - ], - 0, - "4f259a45b09e7545dfd5515325612a83" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 7, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "08839f78cc1e2908d92b9263a03693c1" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 8, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63951cf891d05f4c4ee21aee034efca6" - ], - 0, - "4f259a45b09e7545dfd5515325612a83" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 9, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e8d8996a0520d799b82919241f7a58d4" - ], - 0, - "d4f9b97a5f40c017bae8a9274ad0b871" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 10, - 1, - 0, - [ "@query" ], - 0, - "c0721b3b3f057a933d3dd4d0c140d288" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f0b6555080cb45835e9907794515b7e", - "refinement_interpretation_Tm_refine_c13973d5e8bb99c2b02d9d47d55e22b6", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e73ecaa1da5cf9d9fc6867e026d04142" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2f0b6555080cb45835e9907794515b7e", - "refinement_interpretation_Tm_refine_c13973d5e8bb99c2b02d9d47d55e22b6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f52fd80c31fae1b86dc63e743c5b1dbd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f0b6555080cb45835e9907794515b7e", - "refinement_interpretation_Tm_refine_c13973d5e8bb99c2b02d9d47d55e22b6", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e73ecaa1da5cf9d9fc6867e026d04142" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 14, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2f0b6555080cb45835e9907794515b7e", - "refinement_interpretation_Tm_refine_c13973d5e8bb99c2b02d9d47d55e22b6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f52fd80c31fae1b86dc63e743c5b1dbd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 15, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2f0b6555080cb45835e9907794515b7e", - "refinement_interpretation_Tm_refine_c13973d5e8bb99c2b02d9d47d55e22b6", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e73ecaa1da5cf9d9fc6867e026d04142" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 16, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96eb0b30da4f22e2bae813e96cac2e82", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15" - ], - 0, - "c1356d3691f5579fac24d565bf808ee4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "e8bd957170eaf692544119d7a71ecde0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "9230de607280b97882b9324ca51e4271" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 3, - 1, - 0, - [ "@query" ], - 0, - "3dd0017f9671e6907a48c3b42a374dac" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "3d2ba43b37bb0b127dda8da043d9d2da" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "3d2ba43b37bb0b127dda8da043d9d2da" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e9fd75cceaaeb3c4516e200cfb4bee15", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "3d2ba43b37bb0b127dda8da043d9d2da" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_0cc3b8bc4390a8152398abb544530a43", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "3341775159e34850840efb05362c19b0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_0cc3b8bc4390a8152398abb544530a43", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "3341775159e34850840efb05362c19b0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_0cc3b8bc4390a8152398abb544530a43", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "3341775159e34850840efb05362c19b0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "2a57923b0a0d5e7b4e0a071c7ed203cd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "3a4812f24c20d0ea5f1c5cc8148fd3ef" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 3, - 1, - 0, - [ "@query" ], - 0, - "f6b8ce018468f8640d3cb749527d7e48" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2bd847f7dedd5f8c0ccfa10349b2470b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7591ca19e394096435cf034d7d8d8082" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2bd847f7dedd5f8c0ccfa10349b2470b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7591ca19e394096435cf034d7d8d8082" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2bd847f7dedd5f8c0ccfa10349b2470b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7591ca19e394096435cf034d7d8d8082" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_1e912a01f562d84e2decab9945d4c6ea", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b0b50f472890e2bec665fd9c7397d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_1e912a01f562d84e2decab9945d4c6ea", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b0b50f472890e2bec665fd9c7397d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_1e912a01f562d84e2decab9945d4c6ea", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b0b50f472890e2bec665fd9c7397d758" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "23760269ba651fc2b486a59da53b5cf2" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "00554a1cc8854bdd38ccc3b5b1a9b1bb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 3, - 1, - 0, - [ "@query" ], - 0, - "db8acaccee3c5dfd2c48d97cbeb314d0" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ed24a72559e6d95bc4aa8f08c105ba2f" - ], - 0, - "e033de1314ce875fa6bf623a275950bc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ed24a72559e6d95bc4aa8f08c105ba2f" - ], - 0, - "e033de1314ce875fa6bf623a275950bc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ed24a72559e6d95bc4aa8f08c105ba2f" - ], - 0, - "e033de1314ce875fa6bf623a275950bc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7b6b83afd9733f0a04b5718436f8d408", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fcb9b848c78d5dfbfd41b2728693a69d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7b6b83afd9733f0a04b5718436f8d408", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fcb9b848c78d5dfbfd41b2728693a69d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7b6b83afd9733f0a04b5718436f8d408", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fcb9b848c78d5dfbfd41b2728693a69d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "505b65c1d9c928b4e00d96e4e6660478" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "8517a63725b3a5b718b65cada970e0cc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 3, - 1, - 0, - [ "@query" ], - 0, - "608d4c38e9594c054f6412f737a9f80a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bca658aa64bc5735e3ededc363500da8" - ], - 0, - "ebe10aead5ab6af0674aa4df64dfd1e4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bca658aa64bc5735e3ededc363500da8" - ], - 0, - "ebe10aead5ab6af0674aa4df64dfd1e4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bca658aa64bc5735e3ededc363500da8" - ], - 0, - "ebe10aead5ab6af0674aa4df64dfd1e4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7823c69564b57033bac02ce7c906711d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8f25ca1797844fe9eccc0e0d1b1de68" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7823c69564b57033bac02ce7c906711d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8f25ca1797844fe9eccc0e0d1b1de68" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_7823c69564b57033bac02ce7c906711d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8f25ca1797844fe9eccc0e0d1b1de68" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "509c2c41bb41d504569b85069ecb7bf6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "78ef656212e180c18162eae83c4034e4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 3, - 1, - 0, - [ "@query" ], - 0, - "db0b8e46b3f31c524f9a34411ce6bd86" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd89f601c4e1e2a25c87dfc424c60a21" - ], - 0, - "d8b51d283bf9258a4f7c6079db080c23" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd89f601c4e1e2a25c87dfc424c60a21" - ], - 0, - "d8b51d283bf9258a4f7c6079db080c23" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd89f601c4e1e2a25c87dfc424c60a21" - ], - 0, - "d8b51d283bf9258a4f7c6079db080c23" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_cd6c3d2b07f6023bdcef4ac62fa5d79c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f978eea2e5ce05e765dcfa43f3340d32" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_cd6c3d2b07f6023bdcef4ac62fa5d79c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f978eea2e5ce05e765dcfa43f3340d32" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_cd6c3d2b07f6023bdcef4ac62fa5d79c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f978eea2e5ce05e765dcfa43f3340d32" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d6aeebb9a062377d1bbc9b305680630c" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "770feae5e5b0b53743bbf3cf9c9559dc" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 3, - 1, - 0, - [ "@query" ], - 0, - "cc21bdc6b17ac02fcefa4d4ea991b681" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a5f244d53592fb3a63de62cfcbccfec" - ], - 0, - "16f20a85c3dbcc6b779753f13ed79abb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a5f244d53592fb3a63de62cfcbccfec" - ], - 0, - "16f20a85c3dbcc6b779753f13ed79abb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8a5f244d53592fb3a63de62cfcbccfec" - ], - 0, - "16f20a85c3dbcc6b779753f13ed79abb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_b8dfb09524b7641835f2d255bd6cc0df", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fc10139961c5dc8caee7304faac8492e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_b8dfb09524b7641835f2d255bd6cc0df", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fc10139961c5dc8caee7304faac8492e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_b8dfb09524b7641835f2d255bd6cc0df", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "fc10139961c5dc8caee7304faac8492e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ce917d1731085bcbb97a1cc7c8ca3b1b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "e20b89ab693d480cd472216e2d3b9e0a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 3, - 1, - 0, - [ "@query" ], - 0, - "16bdc7f4dd47af78c7975d3ce0497392" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_599e43830bbbaacbaa5e9e7bc0734208" - ], - 0, - "9f15cd8680b2000821f2a62d0c4ba3eb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_599e43830bbbaacbaa5e9e7bc0734208" - ], - 0, - "9f15cd8680b2000821f2a62d0c4ba3eb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_599e43830bbbaacbaa5e9e7bc0734208" - ], - 0, - "9f15cd8680b2000821f2a62d0c4ba3eb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_220e22fbd32bdc7b457063c0ef41d1cd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "62979186bb13ce81b372564d34a7200d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_220e22fbd32bdc7b457063c0ef41d1cd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "62979186bb13ce81b372564d34a7200d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_220e22fbd32bdc7b457063c0ef41d1cd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "62979186bb13ce81b372564d34a7200d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f16349792802f18e6a84c25bbc8fe6b1" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "76711c2cee8f66052cfa00c889643360" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 3, - 1, - 0, - [ "@query" ], - 0, - "338bbb4118787ec3331650c82cd5b6f5" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 4, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96eb0b30da4f22e2bae813e96cac2e82" - ], - 0, - "9783c24cd718eb4e7cc8f35c2260ff4e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 5, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96eb0b30da4f22e2bae813e96cac2e82" - ], - 0, - "9783c24cd718eb4e7cc8f35c2260ff4e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 6, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96eb0b30da4f22e2bae813e96cac2e82" - ], - 0, - "9783c24cd718eb4e7cc8f35c2260ff4e" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2428ed024039b8855430c0fa9deb412a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "231e27904c5e60480089ce3c68a4e261" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2428ed024039b8855430c0fa9deb412a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "231e27904c5e60480089ce3c68a4e261" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "refinement_interpretation_Tm_refine_2428ed024039b8855430c0fa9deb412a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "231e27904c5e60480089ce3c68a4e261" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.shift_left" - ], - 0, - "be3a02f14df689cffe6825ec82280913" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "946924a7c3b35028af12a1e91cf387c6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_power2", - 1, - 1, - 0, - [ "@query" ], - 0, - "a89a2f485c42f4c2041f351057bbab4a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_power2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "ac289dd5f760dc6407a9fce5d45a9b49" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_power2", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "7e73e325a9b6fc48172b91e30d2c28c1" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.Bitvectors_i.fsti.hints b/tests/vale/X64.Poly1305.Bitvectors_i.fsti.hints deleted file mode 100644 index 038addaa567..00000000000 --- a/tests/vale/X64.Poly1305.Bitvectors_i.fsti.hints +++ /dev/null @@ -1,572 +0,0 @@ -[ - "ǶBSÊ×W\u0017ÃVо–‹\\‚", - [ - [ - "X64.Poly1305.Bitvectors_i.lemma_shr2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ee31c0e81402558a9518165c6d3a2292" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_shr4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1c394f978e876d8dd1dfa52f13ec16e1" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_mod_n", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "01a710e9cd0bc6fcd6ddf55dcef0d37a" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_clear_lower_2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "e3571a1a7b5fccf61482c9e41c352bd2" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_and_constants", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "349bce9d2c466e8d0ac760c8bde1cbac" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_poly_constants", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "577d452b28579027c3004813d1bf08a6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants0", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "012ea81acd65fedd5098318ae3e79929" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants1", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "afae6d20db992312ca9485269067548d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "07867fff83a9d26838f38ada5640ffb6" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants3", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "acf35c42e0f51456d268359367a9e3c1" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8da457bfa8e2c06463a8356b171cd933" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants5", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "38c7b8f0eda5786cfe4fb7002cb8c2bf" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants6", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "59251ce05345fcdf4cef4e38a9c8109d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_constants7", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f8ae3572a7ae4c6c87fcd8eb977eca12" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod0", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "49d3996d2c3c4b3de3b3b8eccb86fbbb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod1", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e43a5e8c29778e051ab81f3f617d334b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "724b9d2e1eaab80e35068dffe20d1a4d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod3", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b6fa5d0347d1f41abd11b6bd2855aebd" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod4", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e897b20f435694ce604382739d7e8035" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod5", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "6c4fa436ba174253fa48e9772d350bd4" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod6", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "0bc6159c4058afa8e9522148805dfaeb" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod7", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ac436e7bab81fdc391c2f0419865b12d" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_and_mod", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.shift_left" - ], - 0, - "8aac8aa90e34d9c7ad4254ce8e10d08b" - ], - [ - "X64.Poly1305.Bitvectors_i.lemma_bytes_shift_power2", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.shift_left_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "9a7fc4b6134c8d5ddff87542f9f507d8" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.Math_i.fst.hints b/tests/vale/X64.Poly1305.Math_i.fst.hints deleted file mode 100644 index 5894fdfc8d6..00000000000 --- a/tests/vale/X64.Poly1305.Math_i.fst.hints +++ /dev/null @@ -1,509 +0,0 @@ -[ - "ÊIÕ\u007f,9–âÞ\u001c\u000b[º\u001fq\u0006", - [ - [ - "X64.Poly1305.Math_i.lowerUpper128", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.Spec_s.nat128_max", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40" - ], - 0, - "3e3968accea74b4254052370ed54be92" - ], - [ - "X64.Poly1305.Math_i.mod2_128'", - 1, - 1, - 0, - [ - "@query", "equation_X64.Poly1305.Spec_s.nat128_max", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "60491382b374dfc5c324227b0b412d87" - ], - [ - "X64.Poly1305.Math_i.heapletTo128", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Map_interpretation_Tm_arrow_28a168f8d4c6d78564a214862be72b08", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.Spec_s.op_String_Access", - "function_token_typing_FStar.Map.sel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_FStar.Map.sel", - "token_correspondence_X64.Poly1305.Spec_s.op_String_Access", - "typing_Prims.int" - ], - 0, - "c554ba30ab0386f3bc0acca8d1e5554c" - ], - [ - "X64.Poly1305.Math_i.heapletTo128_all_preserved", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Poly1305.Math_i_interpretation_Tm_arrow_fce5e26d6599fbb4e26956c05e4721d2", - "X64.Poly1305.Spec_s_interpretation_Tm_arrow_a59d302710f4314b88cbb32063552186", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_X64.Poly1305.Math_i.disjoint", - "equation_X64.Poly1305.Math_i.heapletTo128", - "equation_X64.Poly1305.Math_i.memModified", - "equation_X64.Poly1305.Spec_s.nat128", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0e9a166cf0f84dba0ecd183f955a7d9b", - "interpretation_Tm_abs_8692096b842e5d91fda6bf5acba94af9", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_427d1cd916b8c1dbe323e65700d7fb73", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_Prims.int", "typing_Tm_abs_0e9a166cf0f84dba0ecd183f955a7d9b", - "typing_Tm_abs_8692096b842e5d91fda6bf5acba94af9", - "typing_X64.Poly1305.Math_i.heapletTo128" - ], - 0, - "d86db983bf6c210e53e5494f980c5daf" - ], - [ - "X64.Poly1305.Math_i.poly1305_heap_blocks'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8a5111602bb07d1ba6a3b4216187de04_5", - "binder_x_ae567c2fb75be05905677af440075565_4", - "equation_X64.Poly1305.Math_i.validSrcAddrs", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7dd3607272e915731af14e5de7cd0f21", - "well-founded-ordering-on-nat" - ], - 0, - "7687f9b12ed23cbf1d46b23dfc25e76f" - ], - [ - "X64.Poly1305.Math_i.reveal_poly1305_heap_blocks", - 1, - 0, - 0, - [ "@query", "equation_X64.Poly1305.Math_i.poly1305_heap_blocks" ], - 0, - "07c3fc2072638c4f24ad3bbb682ebb6d" - ], - [ - "X64.Poly1305.Math_i.lemma_heap_blocks_preserved", - 1, - 0, - 0, - [ "@query" ], - 0, - "abfca8cca0599329b2f4dc481cff6d15" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_div_comm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "aad795e66572a2063900e94c4b1dc3d3" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_div_comm", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "56a59ff998f40893d9db99f80e26220a" - ], - [ - "X64.Poly1305.Math_i.lemma_exact_mul", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "38d08bd7b798499332c4e420c2e157c1" - ], - [ - "X64.Poly1305.Math_i.lemma_exact_mul", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f5cac027aa3286435d5685571af479d1" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_div_sep", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1d2dff5fbdbcb21bd108fe46a090a76d" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_div_sep", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "00029a466e45b54ec749c36bab81bd5e" - ], - [ - "X64.Poly1305.Math_i.swap_add", - 1, - 1, - 1, - [ "@query" ], - 0, - "66c8b49bf825041deb4ed8cbc8fc1f55" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_multiply", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5aa1091762b2a3e9a14214d9d3924e4b" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_reduce", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ad9e2d013a1a058dbea2b08c8af41a80" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_reduce", - 2, - 0, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "cd61179fd8e8b6f9bced88ec94191eaa" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_strict_upper_bound", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "unit_inversion", "unit_typing" - ], - 0, - "73d3cb9a59fc911fbe9ed2e8c5b6c7e8" - ], - [ - "X64.Poly1305.Math_i.lemma_bytes_shift_power2", - 1, - 0, - 1, - [ "@query" ], - 0, - "563546d6081eee3bbd478110a0a166cb" - ], - [ - "X64.Poly1305.Math_i.lemma_bytes_and_mod", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "int_inversion", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_X64.Vale.Decls.shift_left64" - ], - 0, - "b3f8e7b75d7602c1cff8bd031a6bc679" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_factors", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2dea0294fa4807cae9bc308eeae83a38" - ], - [ - "X64.Poly1305.Math_i.lemma_mul_pos_pos_is_pos_inverse", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "unit_inversion", "unit_typing" - ], - 0, - "e6ac63bad89a069eadfe33a87eeca79a" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_factor_lo", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "da02033b2fe1c60b73e63cebd3f23677" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_power2_lo", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_537b8a194bf7e217ed28428ea1a953ae" - ], - 0, - "b53b4fc067116b9210b38eeba9772558" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_power2_lo", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "be14dea4f800955996ffbc4dac88b1fa" - ], - [ - "X64.Poly1305.Math_i.lemma_power2_add64", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d9603aea77793ad8c6b1c1047ecdca8b" - ], - [ - "X64.Poly1305.Math_i.lemma_power2_add64", - 2, - 0, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "198cf240e3f4e3d5cd0cea40f24e775c" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_breakdown", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "49d2eb49d3fa8d053175e6057b2a105d" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_hi", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40" - ], - 0, - "2e1adc60e151ca0933360cbc3422db81" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_hi", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.Math_i.lowerUpper128", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40" - ], - 0, - "629ab2594ec3b76a0a19e2611949ff73" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_demod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "71a827fc700ea8a8dc3b49704382722c" - ], - [ - "X64.Poly1305.Math_i.lemma_lowerUpper128_and", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_427d1cd916b8c1dbe323e65700d7fb73", - "refinement_interpretation_Tm_refine_9d2a48d7f81f0d75e2b9f89a189b1941" - ], - 0, - "30cb3b0f94042d1a5bf0f839e9249e11" - ], - [ - "X64.Poly1305.Math_i.lemma_poly1305_heap_hash_blocks", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b2a1b7f22b5e9ea7bee00cd42bb4df2", - "refinement_interpretation_Tm_refine_8b0f3b1ff449257d27c75c0e15252720" - ], - 0, - "3c57d20a95c19bb64d4b6fd42ff450a9" - ], - [ - "X64.Poly1305.Math_i.lemma_add_mod128", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Poly1305.Math_i.mod2_128", - "equation_X64.Poly1305.Math_i.mod2_128_", - "equation_X64.Poly1305.Spec_s.nat128_max", - "function_token_typing_Opaque_i.make_opaque", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_X64.Poly1305.Math_i.mod2_128_" - ], - 0, - "9e7d362373d98bc6eb78ff5f35d67408" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.Math_i.fsti.hints b/tests/vale/X64.Poly1305.Math_i.fsti.hints deleted file mode 100644 index 7705b7f2dbf..00000000000 --- a/tests/vale/X64.Poly1305.Math_i.fsti.hints +++ /dev/null @@ -1,234 +0,0 @@ -[ - "+½â_ßà(ü=aúÂüÓ3Ž", - [ - [ - "X64.Poly1305.Math_i.lowerUpper128", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.Spec_s.nat128_max", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40" - ], - 0, - "f783716abb20179171057e67b21b4933" - ], - [ - "X64.Poly1305.Math_i.mod2_128'", - 1, - 1, - 0, - [ - "@query", "equation_X64.Poly1305.Spec_s.nat128_max", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "60491382b374dfc5c324227b0b412d87" - ], - [ - "X64.Poly1305.Math_i.heapletTo128", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Map_interpretation_Tm_arrow_28a168f8d4c6d78564a214862be72b08", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.Spec_s.op_String_Access", - "function_token_typing_FStar.Map.sel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_FStar.Map.sel", - "token_correspondence_X64.Poly1305.Spec_s.op_String_Access", - "typing_Prims.int" - ], - 0, - "c554ba30ab0386f3bc0acca8d1e5554c" - ], - [ - "X64.Poly1305.Math_i.poly1305_heap_blocks'", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8a5111602bb07d1ba6a3b4216187de04_5", - "binder_x_ae567c2fb75be05905677af440075565_4", - "equation_X64.Poly1305.Math_i.validSrcAddrs", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7dd3607272e915731af14e5de7cd0f21", - "well-founded-ordering-on-nat" - ], - 0, - "36e81b72518403955a59d877f25af4ab" - ], - [ - "X64.Poly1305.Math_i.lemma_heap_blocks_preserved", - 1, - 1, - 0, - [ "@query" ], - 0, - "ee906ffd6a41c3a479bbabfa1794622d" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_multiply", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "18ba7b3a42af0c6acded9e77b12e9bf7" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_reduce", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "13e619f57e5fb7a1874cd7a417e275d0" - ], - [ - "X64.Poly1305.Math_i.lemma_bytes_shift_power2", - 1, - 1, - 0, - [ "@query" ], - 0, - "0a8a2578849edfcfd351b6774314ed89" - ], - [ - "X64.Poly1305.Math_i.lemma_bytes_and_mod", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "int_inversion", "int_typing", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_X64.Vale.Decls.shift_left64" - ], - 0, - "689ffc45458404358f7b8a074ad8347a" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_power2_lo", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_537b8a194bf7e217ed28428ea1a953ae" - ], - 0, - "680fea31bd2f4c9ab8a816184d0161b2" - ], - [ - "X64.Poly1305.Math_i.lemma_power2_add64", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "961bb4ac968d22bc654cb8a23ac83264" - ], - [ - "X64.Poly1305.Math_i.lemma_mod_hi", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40" - ], - 0, - "cafa7bec9225cfde88577c3aa3bd7f61" - ], - [ - "X64.Poly1305.Math_i.lemma_poly_demod", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7470416b5c683e26ed2b44847bb7f1a9" - ], - [ - "X64.Poly1305.Math_i.lemma_lowerUpper128_and", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_427d1cd916b8c1dbe323e65700d7fb73", - "refinement_interpretation_Tm_refine_9d2a48d7f81f0d75e2b9f89a189b1941" - ], - 0, - "de73af78c4af1e761e7f0c277e673b72" - ], - [ - "X64.Poly1305.Math_i.lemma_poly1305_heap_hash_blocks", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b2a1b7f22b5e9ea7bee00cd42bb4df2", - "refinement_interpretation_Tm_refine_8b0f3b1ff449257d27c75c0e15252720" - ], - 0, - "7d2044c164b1acb27c4d847fcd7fec8c" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.Spec_s.fst.hints b/tests/vale/X64.Poly1305.Spec_s.fst.hints deleted file mode 100644 index 675b9f292f0..00000000000 --- a/tests/vale/X64.Poly1305.Spec_s.fst.hints +++ /dev/null @@ -1,94 +0,0 @@ -[ - "°E{z8ß!ƒ¶!°£A¢ ", - [ - [ - "X64.Poly1305.Spec_s.modp'", - 1, - 1, - 0, - [ - "@query", "equation_X64.Poly1305.Spec_s.nat128_max", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "86670d5bfd9b809ad81b865ad4344e2a" - ], - [ - "X64.Poly1305.Spec_s.and128", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_427d1cd916b8c1dbe323e65700d7fb73", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c85a5e225cd8d2b8d710a57b86b235ab" - ], - [ - "X64.Poly1305.Spec_s.poly1305_hash_blocks", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_608f5c658b95d65ae2ecfa2917e7b83b_5", - "binder_x_ae567c2fb75be05905677af440075565_4", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0fc49f466cba9c222662033ec341dfa2", - "well-founded-ordering-on-nat" - ], - 0, - "d795db32ebd3e78a1b5e07815a978cb2" - ], - [ - "X64.Poly1305.Spec_s.poly1305_hash", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_427d1cd916b8c1dbe323e65700d7fb73", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.UInt.fits" - ], - 0, - "bb82f914dd2568787b839d7a3d901b2f" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Poly1305.fst.hints b/tests/vale/X64.Poly1305.fst.hints deleted file mode 100644 index d60f5dabe4a..00000000000 --- a/tests/vale/X64.Poly1305.fst.hints +++ /dev/null @@ -1,2028 +0,0 @@ -[ - "…½ÇœÍœå\u0012d=’Aðƒ–", - [ - [ - "X64.Poly1305.va_transparent_code_poly1305_multiply", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7969b0e373a5fa015393f5fe49f74fc4" - ], - [ - "X64.Poly1305.va_ins_1_poly1305_multiply", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "55fd0ec76326e11585dceae72275e5f3" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_multiply", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "constructor_distinct_X64.Machine_s.Rsp", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "equality_tok_X64.Machine_s.Rsp@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.n", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.va_code_poly1305_multiply", - "equation_X64.Poly1305.va_transparent_code_poly1305_multiply", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "fuel_guarded_inversion_X64.Machine_s.reg", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rdx@tok" - ], - 0, - "059746a04e358514b7526ed9e22fef67" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_reduce", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.Rax", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.Rax@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1c816383beb44658c598f91097ada2ae" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_237e76257ba97fd030dbba9c80e8eca9" - ], - 0, - "f57932bb1351dc98f899087deb493c0f" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.va_code_poly1305_reduce", - "equation_X64.Poly1305.va_transparent_code_poly1305_reduce", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "l_and-interp", "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok" - ], - 0, - "ab77f34a92dc559d5a37ddc2a137e42c" - ], - [ - "X64.Poly1305.va_lemma_poly1305_reduce", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_237e76257ba97fd030dbba9c80e8eca9" - ], - 0, - "0fc75b0da2f2953ee562033a0d026cf5" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_reduce_regs", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4cf59eb0dbd40bc2e10b31269b84942d" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_29d6fa3f135bff80d1786b1f95591cfa" - ], - 0, - "e6f100a1a3a314a8059bcac28da237ce" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "data_typing_intro_X64.Machine_s.OConst@tok", - "data_typing_intro_X64.Machine_s.OReg@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.va_code_poly1305_reduce_regs", - "equation_X64.Poly1305.va_transparent_code_poly1305_reduce_regs", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "l_and-interp", "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_a9987e8f621045a8818329b68c0616a1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "true_interp", "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Vale.Decls.va_lemma_Adc64Wrap", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.add_wrap", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok" - ], - 0, - "67919a9c054a4800aac4cc2b93eb5f8c" - ], - [ - "X64.Poly1305.va_lemma_poly1305_reduce_regs", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_29d6fa3f135bff80d1786b1f95591cfa" - ], - 0, - "4ca26350aadc1ea98a74de6db71ce1cd" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_reduce_regs_fast_block", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e5eabb22f5e698ab81039760b0ddc5cd" - ], - [ - "X64.Poly1305.va_ins_1_poly1305_reduce_regs_fast_block", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bfd62096f24cc9001330f8c6369fa059" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs_fast_block", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_dc232d26289557d5093adde0e0c5195b" - ], - 0, - "c9c2b9b04160cfa72d931835a6353b7d" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_regs_fast_block", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "constructor_distinct_X64.Machine_s.Rsp", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Poly1305.va_code_poly1305_reduce_regs_fast_block", - "equation_X64.Poly1305.va_transparent_code_poly1305_reduce_regs_fast_block", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "fuel_guarded_inversion_X64.Machine_s.reg", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", "int_inversion", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok" - ], - 0, - "19d2d063fb1a970c255fd9655ede7d6e" - ], - [ - "X64.Poly1305.va_lemma_poly1305_reduce_regs_fast_block", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_X64.Poly1305_Tm_refine_dc232d26289557d5093adde0e0c5195b" - ], - 0, - "420f7073891de9c04bf9e84056ca8df3" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_iteration", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdx", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.modp", - "equation_X64.Poly1305.Spec_s.modp_", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.va_code_poly1305_iteration", - "equation_X64.Poly1305.va_transparent_code_poly1305_iteration", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Opaque_i.make_opaque", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_X64.Poly1305.Spec_s.modp_", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rdx@tok" - ], - 0, - "d308b7e55ff1505a9450b2d78cb5fd42" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_blocks", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f486ea552028409353bac769429d079c" - ], - [ - "X64.Poly1305.va_ins_1_poly1305_blocks", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3efaa9b5164dcf45530eeefe55260e65" - ], - [ - "X64.Poly1305.va_ins_2_poly1305_blocks", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b92eea5c82c11a9c398898e20b12b12c" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_blocks", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "equality_tok_X64.Machine_s.Rdx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Vale.Regs_i.t", "int_inversion", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rdx@tok" - ], - 0, - "bfa885bd664b2ebd18755416813dfd06" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_blocks", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_correspondence_X64.Poly1305.Math_i.poly1305_heap_blocks_.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_X64.Poly1305.Math_i.poly1305_heap_blocks_.fuel_instrumented", - "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Machine_s_interpretation_Tm_arrow_196f8dfca6d67b0bd046e19b6a5a08e6", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "constructor_distinct_X64.Machine_s.While", - "data_typing_intro_X64.Machine_s.OConst@tok", - "data_typing_intro_X64.Machine_s.OReg@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "disc_equation_X64.Machine_s.While", "equality_tok_Prims.LexTop@tok", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.memModified", - "equation_X64.Poly1305.Math_i.modp", - "equation_X64.Poly1305.Math_i.validSrcAddrs", - "equation_X64.Poly1305.Spec_s.modp_", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.Spec_s.op_String_Access", - "equation_X64.Poly1305.va_code_poly1305_blocks", - "equation_X64.Poly1305.va_transparent_code_poly1305_blocks", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_reg_operand", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Decls.va_whileInv", "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "equation_with_fuel_X64.Poly1305.Math_i.poly1305_heap_blocks_.fuel_instrumented", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Poly1305.Spec_s.modp_", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_373d442e224a1793242b56d94640cf14", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_X64.Vale.Decls.lemma_cmp_ne", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Machine_s.While_whileBody", - "proj_equation_X64.Machine_s.While_whileCond", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Machine_s.While_t_ins", - "projection_inverse_X64.Machine_s.While_t_ocmp", - "projection_inverse_X64.Machine_s.While_whileBody", - "projection_inverse_X64.Machine_s.While_whileCond", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_208ccc48c817a6a13b84375e269ad1e5", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_9d72448f1b1f1e66cf34bb6847996138", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_a9987e8f621045a8818329b68c0616a1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f45ab270eec61acd49db899a7831824f", - "token_correspondence_Opaque_i.make_opaque", - "token_correspondence_X64.Poly1305.Spec_s.modp_", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.UInt.fits", - "typing_Tm_abs_373d442e224a1793242b56d94640cf14", - "typing_Tm_abs_f27ceab623195c1a282335bedefd002d", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Machine_s.uu___is_Rsp", "typing_X64.Machine_s.valid_dst", - "typing_X64.Poly1305.Math_i.modp", - "typing_X64.Vale.Decls.va_lemma_Adc64Wrap", - "typing_X64.Vale.Decls.va_lemma_Store64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R11@tok", - "typing_tok_X64.Machine_s.R12@tok", - "typing_tok_X64.Machine_s.R13@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R15@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rcx@tok", - "typing_tok_X64.Machine_s.Rdi@tok", - "typing_tok_X64.Machine_s.Rdx@tok", - "typing_tok_X64.Machine_s.Rsi@tok", "well-founded-ordering-on-nat" - ], - 0, - "7f4d99b46e0e16699eb7489c0d99647c" - ], - [ - "X64.Poly1305.va_lemma_poly1305_blocks", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "equality_tok_X64.Machine_s.Rdx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Vale.Regs_i.t", "int_inversion", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rdx@tok" - ], - 0, - "b59de95b2bd62a844cd88189cd36dc60" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_last_block", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "460f8afc0d3bda7bea2f6ee6688a21b3" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_last_block", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "equation_X64.Machine_s.nat64", - "equation_X64.Vale.State_i.eval_operand", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_957413ec8174b8c875ea62e08fd5db98", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_X64.Vale.State_i.eval_operand" - ], - 0, - "96a367063ad18870c78196d4cbb85892" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_last_block", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Machine_s_interpretation_Tm_arrow_196f8dfca6d67b0bd046e19b6a5a08e6", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.IfElse", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdx", - "data_typing_intro_X64.Machine_s.OConst@tok", - "data_typing_intro_X64.Machine_s.OReg@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.IfElse", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_Prims.pos", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.lowerUpper128", - "equation_X64.Poly1305.Math_i.lowerUpper128_opaque", - "equation_X64.Poly1305.Math_i.lowerUpper192", - "equation_X64.Poly1305.Math_i.lowerUpper192_opaque", - "equation_X64.Poly1305.Math_i.modp", - "equation_X64.Poly1305.Spec_s.modp_", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.va_code_poly1305_last_block", - "equation_X64.Poly1305.va_transparent_code_poly1305_last_block", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "l_and-interp", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.UInt.pow2_values", "lemma_X64.Vale.Decls.lemma_cmp_lt", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.IfElse_ifCond", - "proj_equation_X64.Machine_s.IfElse_ifFalse", - "proj_equation_X64.Machine_s.IfElse_ifTrue", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.IfElse_ifCond", - "projection_inverse_X64.Machine_s.IfElse_ifFalse", - "projection_inverse_X64.Machine_s.IfElse_ifTrue", - "projection_inverse_X64.Machine_s.IfElse_t_ins", - "projection_inverse_X64.Machine_s.IfElse_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_1e79f293989a76b437a2ad5bab0aacce", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_a9987e8f621045a8818329b68c0616a1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "token_correspondence_Opaque_i.make_opaque", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper128", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper192", - "token_correspondence_X64.Poly1305.Spec_s.modp_", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_Prims.pow2", - "typing_Tm_abs_f27ceab623195c1a282335bedefd002d", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Machine_s.uu___is_OConst", - "typing_X64.Machine_s.uu___is_Rsp", "typing_X64.Machine_s.valid_dst", - "typing_X64.Poly1305.Math_i.lowerUpper128_opaque", - "typing_X64.Poly1305.Math_i.lowerUpper192_opaque", - "typing_X64.Poly1305.Math_i.modp", - "typing_X64.Vale.Decls.shift_left64", - "typing_X64.Vale.Decls.va_lemma_Adc64Wrap", - "typing_X64.Vale.Decls.va_lemma_Sub64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.add_wrap", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rcx@tok", - "typing_tok_X64.Machine_s.Rdx@tok" - ], - 0, - "8cecdc27243422fb4c332d267f876c71" - ], - [ - "X64.Poly1305.va_lemma_poly1305_last_block", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "equation_X64.Machine_s.nat64", - "equation_X64.Vale.State_i.eval_operand", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_957413ec8174b8c875ea62e08fd5db98", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_f048236b5f8051f83b495ea5eaa6127b", - "typing_X64.Vale.State_i.eval_operand" - ], - 0, - "e181ed38b5ab47845e9ff04784505941" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_reduce_last", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "662906dc4c1ca82f228cde5aa6b20974" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_reduce_last", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Machine_s_interpretation_Tm_arrow_196f8dfca6d67b0bd046e19b6a5a08e6", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "data_typing_intro_X64.Machine_s.OConst@tok", - "data_typing_intro_X64.Machine_s.OReg@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.lowerUpper128", - "equation_X64.Poly1305.Math_i.lowerUpper128_opaque", - "equation_X64.Poly1305.Math_i.lowerUpper192", - "equation_X64.Poly1305.Math_i.lowerUpper192_opaque", - "equation_X64.Poly1305.va_code_poly1305_reduce_last", - "equation_X64.Poly1305.va_transparent_code_poly1305_reduce_last", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "l_and-interp", "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_64c5c070c6154c50888e8a76a237984d", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_a9987e8f621045a8818329b68c0616a1", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_Opaque_i.make_opaque", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper128", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper192", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_Tm_abs_f27ceab623195c1a282335bedefd002d", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Machine_s.uu___is_OConst", - "typing_X64.Machine_s.uu___is_OReg", - "typing_X64.Vale.Decls.logand64", - "typing_X64.Vale.Decls.va_lemma_Adc64Wrap", - "typing_X64.Vale.Decls.va_lemma_Sub64Wrap", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok" - ], - 0, - "38a883a62aec675d23f11320588c5ba2" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_add_key_s", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdx", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.va_code_poly1305_add_key_s", - "equation_X64.Poly1305.va_transparent_code_poly1305_add_key_s", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs" - ], - 0, - "8ae5911b2ac9e87953f11e1d4a8668ef" - ], - [ - "X64.Poly1305.modp_0", - 1, - 1, - 0, - [ - "@query", "equation_X64.Poly1305.Math_i.modp", - "equation_X64.Poly1305.Spec_s.modp_", - "equation_X64.Poly1305.Spec_s.nat128_max", - "function_token_typing_Opaque_i.make_opaque", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_X64.Poly1305.Spec_s.modp_" - ], - 0, - "0f9c05078d03c3c8f5ddf8196433ea64" - ], - [ - "X64.Poly1305.bare_r", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5" - ], - 0, - "f929242c8e4b6c70c7b5415efe7cb884" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305_impl", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "09e29e6ae427a1f750219aabab59fd41" - ], - [ - "X64.Poly1305.va_ins_1_poly1305_impl", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rcx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "718006c8cb53ac648c76e6f3e4067cdd" - ], - [ - "X64.Poly1305.va_ins_2_poly1305_impl", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdx", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3c088f61256fed9a7f9644081b7a5709" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305_impl", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_9cb3c953faf527c316d427b2ce8bd81b", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Machine_s_interpretation_Tm_arrow_196f8dfca6d67b0bd046e19b6a5a08e6", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.IfElse", - "constructor_distinct_X64.Machine_s.OConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R10", - "constructor_distinct_X64.Machine_s.R11", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "data_typing_intro_X64.Machine_s.OConst@tok", - "data_typing_intro_X64.Machine_s.OReg@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.IfElse", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R10@tok", - "equality_tok_X64.Machine_s.R11@tok", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_dom", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.min_int", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.applyHeapletTo128", - "equation_X64.Poly1305.Math_i.disjoint", - "equation_X64.Poly1305.Math_i.heapletTo128", - "equation_X64.Poly1305.Math_i.lowerUpper128", - "equation_X64.Poly1305.Math_i.lowerUpper128_opaque", - "equation_X64.Poly1305.Math_i.lowerUpper192", - "equation_X64.Poly1305.Math_i.lowerUpper192_opaque", - "equation_X64.Poly1305.Math_i.memModified", - "equation_X64.Poly1305.Math_i.mod2_128", - "equation_X64.Poly1305.Math_i.mod2_128_", - "equation_X64.Poly1305.Math_i.modp", - "equation_X64.Poly1305.Math_i.validSrcAddrs", - "equation_X64.Poly1305.Spec_s.modp_", - "equation_X64.Poly1305.Spec_s.nat128", - "equation_X64.Poly1305.Spec_s.nat128_max", - "equation_X64.Poly1305.Spec_s.op_String_Access", - "equation_X64.Poly1305.Spec_s.poly1305_hash", - "equation_X64.Poly1305.bare_r", - "equation_X64.Poly1305.va_code_poly1305_impl", - "equation_X64.Poly1305.va_transparent_code_poly1305_impl", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Opaque_i.make_opaque", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Poly1305.Math_i.heapletTo128", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "interpretation_Tm_abs_9b72939e455de1f222f52e810c488983", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt.pow2_values", "lemma_X64.Vale.Decls.lemma_cmp_ne", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.IfElse_ifCond", - "proj_equation_X64.Machine_s.IfElse_ifFalse", - "proj_equation_X64.Machine_s.IfElse_ifTrue", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.IfElse_ifCond", - "projection_inverse_X64.Machine_s.IfElse_ifFalse", - "projection_inverse_X64.Machine_s.IfElse_ifTrue", - "projection_inverse_X64.Machine_s.IfElse_t_ins", - "projection_inverse_X64.Machine_s.IfElse_t_ocmp", - "projection_inverse_X64.Machine_s.OConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_55943d92e722674baa8d26e78448fa33", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_ca59d6c748a08f1d9b598850b1f7def5", - "refinement_interpretation_Tm_refine_e18cffa4ace19c902e1bea72e536ce6a", - "token_correspondence_Opaque_i.make_opaque", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper128", - "token_correspondence_X64.Poly1305.Math_i.lowerUpper192", - "token_correspondence_X64.Poly1305.Math_i.mod2_128_", - "token_correspondence_X64.Poly1305.Spec_s.modp_", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_66926e89e50e2ac69caf858cc1113f07", - "typing_Tm_abs_9b72939e455de1f222f52e810c488983", - "typing_Tm_abs_f27ceab623195c1a282335bedefd002d", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Machine_s.uu___is_Rsp", "typing_X64.Machine_s.valid_dst", - "typing_X64.Poly1305.Math_i.applyHeapletTo128", - "typing_X64.Poly1305.Math_i.heapletTo128", - "typing_X64.Poly1305.Math_i.lowerUpper128_opaque", - "typing_X64.Poly1305.Math_i.mod2_128", - "typing_X64.Poly1305.Spec_s.poly1305_hash", - "typing_X64.Poly1305.va_lemma_poly1305_blocks", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.R10@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R15@tok", - "typing_tok_X64.Machine_s.R8@tok", "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rcx@tok", - "typing_tok_X64.Machine_s.Rdi@tok", - "typing_tok_X64.Machine_s.Rdx@tok", - "typing_tok_X64.Machine_s.Rsi@tok" - ], - 0, - "bbf6e841afa5e663cc441994d46e7281" - ], - [ - "X64.Poly1305.va_transparent_code_poly1305", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "81933053d7f6ebc83228dfe303f62038" - ], - [ - "X64.Poly1305.va_ins_2_poly1305", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rsi", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8ba9648a3305ec81fcedfed2e207686c" - ], - [ - "X64.Poly1305.va_irreducible_lemma_poly1305", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_interpretation_Tm_arrow_a26b6f0ab7c6505137c6de4ce0011041", - "X64.Machine_s_interpretation_Tm_arrow_196f8dfca6d67b0bd046e19b6a5a08e6", - "X64.Vale.State_i_interpretation_Tm_arrow_a30edd2b9b023ec7ffc4a530ec9c7d0b", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.R12", - "constructor_distinct_X64.Machine_s.R13", - "constructor_distinct_X64.Machine_s.R14", - "constructor_distinct_X64.Machine_s.R15", - "constructor_distinct_X64.Machine_s.R8", - "constructor_distinct_X64.Machine_s.R9", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rbp", - "constructor_distinct_X64.Machine_s.Rbx", - "constructor_distinct_X64.Machine_s.Rcx", - "constructor_distinct_X64.Machine_s.Rdi", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Machine_s.Rsi", - "data_typing_intro_X64.Machine_s.OReg@tok", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.Rsp", - "equality_tok_X64.Machine_s.R12@tok", - "equality_tok_X64.Machine_s.R13@tok", - "equality_tok_X64.Machine_s.R14@tok", - "equality_tok_X64.Machine_s.R15@tok", - "equality_tok_X64.Machine_s.R8@tok", - "equality_tok_X64.Machine_s.R9@tok", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rbp@tok", - "equality_tok_X64.Machine_s.Rbx@tok", - "equality_tok_X64.Machine_s.Rcx@tok", - "equality_tok_X64.Machine_s.Rdi@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsi@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.n", "equation_Prims.nat", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", - "equation_X64.Poly1305.Math_i.disjoint", - "equation_X64.Poly1305.Math_i.memModified", - "equation_X64.Poly1305.Math_i.validSrcAddrs", - "equation_X64.Poly1305.Spec_s.op_String_Access", - "equation_X64.Poly1305.va_code_poly1305", - "equation_X64.Poly1305.va_transparent_code_poly1305", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_FStar.UInt32.n", - "function_token_typing_Prims.int", - "function_token_typing_X64.Machine_s.nat64", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5ddf544b15726955644c2e2b7b9e7d8e", - "interpretation_Tm_abs_f27ceab623195c1a282335bedefd002d", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt.pow2_values", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.Block_block", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_4aad03a1baaf6a7320137ae14e5370d8", - "refinement_interpretation_Tm_refine_a958d176a23ad3ddcb306d485b43c341", - "refinement_interpretation_Tm_refine_b0ec1ad4c766f179179881d04d9cace4", - "refinement_interpretation_Tm_refine_ba523126f67e00e7cd55f0b92f16681d", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_Tm_abs_f27ceab623195c1a282335bedefd002d", - "typing_X64.Machine_s.uu___is_OConst", - "typing_X64.Poly1305.Spec_s.op_String_Access", - "typing_X64.Poly1305.va_lemma_poly1305_impl", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", - "typing_tok_X64.Machine_s.R12@tok", - "typing_tok_X64.Machine_s.R13@tok", - "typing_tok_X64.Machine_s.R14@tok", - "typing_tok_X64.Machine_s.R15@tok", - "typing_tok_X64.Machine_s.R9@tok", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rbp@tok", - "typing_tok_X64.Machine_s.Rbx@tok", - "typing_tok_X64.Machine_s.Rcx@tok", - "typing_tok_X64.Machine_s.Rdi@tok", - "typing_tok_X64.Machine_s.Rdx@tok", - "typing_tok_X64.Machine_s.Rsi@tok" - ], - 0, - "97e1831f08f4760265c304920953e4ef" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Print_s.fst.hints b/tests/vale/X64.Print_s.fst.hints deleted file mode 100644 index dd25fb10e3a..00000000000 --- a/tests/vale/X64.Print_s.fst.hints +++ /dev/null @@ -1,244 +0,0 @@ -[ - "¿æÅ”Ó(vB˜Ã\u0003%oÁä", - [ - [ - "X64.Print_s.print_reg", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_X64.Machine_s.R10", - "disc_equation_X64.Machine_s.R11", "disc_equation_X64.Machine_s.R12", - "disc_equation_X64.Machine_s.R13", "disc_equation_X64.Machine_s.R14", - "disc_equation_X64.Machine_s.R15", "disc_equation_X64.Machine_s.R8", - "disc_equation_X64.Machine_s.R9", "disc_equation_X64.Machine_s.Rax", - "disc_equation_X64.Machine_s.Rbp", "disc_equation_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rcx", "disc_equation_X64.Machine_s.Rdi", - "disc_equation_X64.Machine_s.Rdx", "disc_equation_X64.Machine_s.Rsi", - "disc_equation_X64.Machine_s.Rsp", - "fuel_guarded_inversion_X64.Machine_s.reg", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1c711c3d2dcfe712416f16ecbe295f39" - ], - [ - "X64.Print_s.print_maddr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.MConst", - "disc_equation_X64.Machine_s.MIndex", - "disc_equation_X64.Machine_s.MReg", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "63c6a697b4221b9d226def4f46c05d9f" - ], - [ - "X64.Print_s.print_operand", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d086475c802a817a98cbe5afdf524343" - ], - [ - "X64.Print_s.print_shift_operand", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rcx@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Machine_s.OReg_r" - ], - 0, - "3f8a53c5a232ff835286dd6b0c6ad25c" - ], - [ - "X64.Print_s.cmp_not", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Semantics_s.OEq", - "disc_equation_X64.Semantics_s.OGe", - "disc_equation_X64.Semantics_s.OGt", - "disc_equation_X64.Semantics_s.OLe", - "disc_equation_X64.Semantics_s.OLt", - "disc_equation_X64.Semantics_s.ONe", - "fuel_guarded_inversion_X64.Semantics_s.ocmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c25fc2d416f6ad8f1acbf3af24e04162" - ], - [ - "X64.Print_s.uu___0", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Semantics_s_pretyping_2a81ad8d1eb2e61e03519aaf20bc2afb", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "constructor_distinct_X64.Semantics_s.OEq", - "constructor_distinct_X64.Semantics_s.OGe", - "constructor_distinct_X64.Semantics_s.OGt", - "constructor_distinct_X64.Semantics_s.OLe", - "constructor_distinct_X64.Semantics_s.OLt", - "constructor_distinct_X64.Semantics_s.ONe", - "constructor_distinct_X64.Semantics_s.ocmp", - "equation_X64.Print_s.cmp_not", - "projection_inverse_X64.Semantics_s.OEq_o1", - "projection_inverse_X64.Semantics_s.OEq_o2", - "projection_inverse_X64.Semantics_s.OGe_o1", - "projection_inverse_X64.Semantics_s.OGe_o2", - "projection_inverse_X64.Semantics_s.OGt_o1", - "projection_inverse_X64.Semantics_s.OGt_o2", - "projection_inverse_X64.Semantics_s.OLe_o1", - "projection_inverse_X64.Semantics_s.OLe_o2", - "projection_inverse_X64.Semantics_s.OLt_o1", - "projection_inverse_X64.Semantics_s.OLt_o2", - "projection_inverse_X64.Semantics_s.ONe_o1", - "projection_inverse_X64.Semantics_s.ONe_o2", - "typing_X64.Print_s.cmp_not", "unit_typing" - ], - 0, - "fbbf58f1cfcfa57533c5992577940761" - ], - [ - "X64.Print_s.print_ins", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_X64.Semantics_s.Add64", - "disc_equation_X64.Semantics_s.AddCarry64", - "disc_equation_X64.Semantics_s.AddLea64", - "disc_equation_X64.Semantics_s.And64", - "disc_equation_X64.Semantics_s.IMul64", - "disc_equation_X64.Semantics_s.Mov64", - "disc_equation_X64.Semantics_s.Mul64", - "disc_equation_X64.Semantics_s.Shl64", - "disc_equation_X64.Semantics_s.Shr64", - "disc_equation_X64.Semantics_s.Sub64", - "disc_equation_X64.Semantics_s.Xor64", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.valid_dst", - "fuel_guarded_inversion_X64.Semantics_s.ins", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "typing_X64.Machine_s.valid_dst" - ], - 0, - "022e90a73b14bab864660cfdb2c0c7e6" - ], - [ - "X64.Print_s.print_cmp", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Semantics_s.OEq", - "disc_equation_X64.Semantics_s.OGe", - "disc_equation_X64.Semantics_s.OGt", - "disc_equation_X64.Semantics_s.OLe", - "disc_equation_X64.Semantics_s.OLt", - "disc_equation_X64.Semantics_s.ONe", - "fuel_guarded_inversion_X64.Semantics_s.ocmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7a0a540ac094bc35b44dd4c4008a901d" - ], - [ - "X64.Print_s.print_block", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_98d7bca9a0026440f6452f1d0e2ced0d_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "588a28f2050545877f5b4115d11b03c1" - ], - [ - "X64.Print_s.print_block", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ce46af3c809ad1dc80e8f27732bbea41_0", - "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.IfElse", - "disc_equation_X64.Machine_s.Ins", - "disc_equation_X64.Machine_s.While", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "fuel_guarded_inversion_X64.Machine_s.precode", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_X64.Machine_s.Block", - "subterm_ordering_X64.Machine_s.IfElse", - "subterm_ordering_X64.Machine_s.While" - ], - 0, - "9fb045b17b361a21647ae212d2cb1b7e" - ], - [ - "X64.Print_s.masm", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "c89970617849b3bb7163defd21290762" - ], - [ - "X64.Print_s.gcc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.string" - ], - 0, - "f486fc87fa0f7c4abe92ff5c3343e553" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Semantics_s.fst.hints b/tests/vale/X64.Semantics_s.fst.hints deleted file mode 100644 index 76d9b188bd5..00000000000 --- a/tests/vale/X64.Semantics_s.fst.hints +++ /dev/null @@ -1,901 +0,0 @@ -[ - " £LS¥©ªÇeã\fdGì“H", - [ - [ - "X64.Semantics_s.ins", - 1, - 1, - 0, - [ - "@query", "assumption_X64.Machine_s.operand__uu___haseq", - "equation_X64.Machine_s.dst_op", - "haseqTm_refine_e85c4468bd6fa895770a44e5ae1526dc" - ], - 0, - "825812958a3394e53a123d4979aaf451" - ], - [ - "X64.Semantics_s.__proj__Mov64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" - ], - 0, - "03824fe03e56068705350e1aec10fbad" - ], - [ - "X64.Semantics_s.__proj__Mov64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8de62b85869f7c1a1780736ed143295" - ], - 0, - "049d6e22af5ceaf82a4f35dd9a9fd2da" - ], - [ - "X64.Semantics_s.__proj__Add64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" - ], - 0, - "7cd3d42257d09489bd77ef7e383aa897" - ], - [ - "X64.Semantics_s.__proj__Add64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6fab9340d0ab4fd98129eb512f268790" - ], - 0, - "de1c6e98130ef304a4533c3f3c4dd3c1" - ], - [ - "X64.Semantics_s.__proj__AddLea64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" - ], - 0, - "65d3ffbbf552d388d113d906c1515547" - ], - [ - "X64.Semantics_s.__proj__AddLea64__item__src1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" - ], - 0, - "93d67c9353097772ec8d5be74a2b9408" - ], - [ - "X64.Semantics_s.__proj__AddLea64__item__src2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e04f937679d9c74a6caf8aa7b9f98189" - ], - 0, - "2debc5d13e059ccefc6c10986ecdc00b" - ], - [ - "X64.Semantics_s.__proj__AddCarry64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" - ], - 0, - "a71c00fbde58b3ceb64e6865f5a48d28" - ], - [ - "X64.Semantics_s.__proj__AddCarry64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_16a53ffd1bab892d408baed6f0393a33" - ], - 0, - "e8fd7e15b754cbf304ac0169caa0a930" - ], - [ - "X64.Semantics_s.__proj__Sub64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" - ], - 0, - "516cd4a515a4c610b5226b3077bfecc7" - ], - [ - "X64.Semantics_s.__proj__Sub64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_569023f890bbff681c285b9f9a216ade" - ], - 0, - "855a5f3e06a3d711d0373f31bd1f2773" - ], - [ - "X64.Semantics_s.__proj__Mul64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb9d1a68ff54ae6cb27769ecbf49ba9b" - ], - 0, - "a541d06760b2e72cd52c2c1d75cbf7dd" - ], - [ - "X64.Semantics_s.__proj__IMul64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" - ], - 0, - "f37144f34f821545ea33d0a4bab069f6" - ], - [ - "X64.Semantics_s.__proj__IMul64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2b0bbeefece73e6f59fc38828ce1e64e" - ], - 0, - "35785e2c07712c35ea5feb36b018150c" - ], - [ - "X64.Semantics_s.__proj__Xor64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" - ], - 0, - "67c532c1cc55ea83183b1a51eb531b24" - ], - [ - "X64.Semantics_s.__proj__Xor64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1957040814f569aff4b252943fe77fdd" - ], - 0, - "a1489a793c153dae34fe9b99dc90958b" - ], - [ - "X64.Semantics_s.__proj__And64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" - ], - 0, - "814700e607b2ee6dab363e31e6e089fe" - ], - [ - "X64.Semantics_s.__proj__And64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cebe7e9690dfac8d7c9475e4922b0da2" - ], - 0, - "ce80bd3275773f83fa8f29de26695a5b" - ], - [ - "X64.Semantics_s.__proj__Shr64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" - ], - 0, - "384367bc7129f2ac7bab559576237726" - ], - [ - "X64.Semantics_s.__proj__Shr64__item__amt", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e31d0af1473307c26c9e917a73600ad0" - ], - 0, - "25f83c9c99562dcfc80586d4b4932761" - ], - [ - "X64.Semantics_s.__proj__Shl64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" - ], - 0, - "c529b9c67878bdf725af916dd4e611ac" - ], - [ - "X64.Semantics_s.__proj__Shl64__item__amt", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b4ab27333df03bce36b56906586a3225" - ], - 0, - "eb8d233f2a9677cb36bd5b49b6f816dd" - ], - [ - "X64.Semantics_s.ocmp", - 1, - 1, - 0, - [ "@query", "assumption_X64.Machine_s.operand__uu___haseq" ], - 0, - "394748bc37c49e40f0375b4e2e9d0449" - ], - [ - "X64.Semantics_s.__proj__OEq__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" - ], - 0, - "5b8b8cb34988369debde22b3a0b45242" - ], - [ - "X64.Semantics_s.__proj__OEq__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_495233c1b3965f79901632003c360db5" - ], - 0, - "712853350241a44f37b48ead6b6e0b44" - ], - [ - "X64.Semantics_s.__proj__ONe__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" - ], - 0, - "541c658cc6559c237efcf2f1875ef1b7" - ], - [ - "X64.Semantics_s.__proj__ONe__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_48e1a980bff417eb8ecda8fd755a7052" - ], - 0, - "c9bba999727af7221c8c6c67b583e075" - ], - [ - "X64.Semantics_s.__proj__OLe__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" - ], - 0, - "a01478437f2fd67e1312135322af32a2" - ], - [ - "X64.Semantics_s.__proj__OLe__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_57f9b3587a37875d37de2b8ee309c52c" - ], - 0, - "d08746f7ff1334c82567207a366bbaf0" - ], - [ - "X64.Semantics_s.__proj__OGe__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" - ], - 0, - "c4dbf536e7cbd66338288818ad29a8a2" - ], - [ - "X64.Semantics_s.__proj__OGe__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f22bf0e89c9043ddb9367ea1bd90ba6e" - ], - 0, - "047818874e0640131800027489bdd44e" - ], - [ - "X64.Semantics_s.__proj__OLt__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" - ], - 0, - "8a7405cb5caa0f98e73f4df5a5852bee" - ], - [ - "X64.Semantics_s.__proj__OLt__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e3f7ed102fdc0dee07045511829455f8" - ], - 0, - "33fd116feaae5db64bf4aa3b75ac74ac" - ], - [ - "X64.Semantics_s.__proj__OGt__item__o1", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" - ], - 0, - "e9b2526766778fcefe78335de2ef328f" - ], - [ - "X64.Semantics_s.__proj__OGt__item__o2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_078a14331436c956e0be06364feefcd5" - ], - 0, - "d8e06da73a0830d87081d1d3d01c82fd" - ], - [ - "X64.Semantics_s.u", - 1, - 1, - 0, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size" - ], - 0, - "5a3c584def501ed5401819598bbbdddb" - ], - [ - "X64.Semantics_s.eval_maddr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.MConst", - "disc_equation_X64.Machine_s.MIndex", - "disc_equation_X64.Machine_s.MReg", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bd84dd04daa7661c6338df58b89ed398" - ], - [ - "X64.Semantics_s.eval_operand", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_Prims.nat", "fuel_guarded_inversion_X64.Machine_s.operand", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "017546a0a2aba433f513e6004fdffdb5" - ], - [ - "X64.Semantics_s.update_reg'", - 1, - 1, - 0, - [ "@query", "assumption_X64.Machine_s.reg__uu___haseq" ], - 0, - "20b09f8d9f70f92767e551c4dd0c664c" - ], - [ - "X64.Semantics_s.valid_operand", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3b2393e033e4ab109837d97669a2b677" - ], - [ - "X64.Semantics_s.update_operand_preserve_flags'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.valid_dst", - "fuel_guarded_inversion_X64.Machine_s.operand", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc" - ], - 0, - "fddc24ebd610f4c9e3a0bd6d4993a2d0" - ], - [ - "X64.Semantics_s.update_cf", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_X64.Semantics_s.cf", - "equation_X64.Semantics_s.uint64", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_X64.Semantics_s.cf" - ], - 0, - "133bc9848b8077e66655d3c73ea294dd" - ], - [ - "X64.Semantics_s.logxor", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1bd75d7d77263d4034f2b5a7df4d77c7" - ], - [ - "X64.Semantics_s.logxor_uint64", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_X64.Semantics_s.logxor", "int_inversion", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" - ], - 0, - "fd1271a027b114bc01745aec6843428a" - ], - [ - "X64.Semantics_s.logand", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1f18f5bc5bc497562060e1bfad108c95" - ], - [ - "X64.Semantics_s.logand_uint64", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_X64.Semantics_s.logand", "int_inversion", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0" - ], - 0, - "45989b8ed0af6d274d78de639da20a22" - ], - [ - "X64.Semantics_s.shift_right", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3a978ddef8bb3c6d45c6b129ef42bf66" - ], - [ - "X64.Semantics_s.shift_right_uint64", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_X64.Semantics_s.shift_right", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0525c478a63e3a590ba42c0cdda51469" - ], - [ - "X64.Semantics_s.shift_left", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "39b55c3985ad1dc7a114caa90f793868" - ], - [ - "X64.Semantics_s.shift_left_uint64", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_X64.Semantics_s.shift_left", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "093824a84358fc31530d57bc7eb8f962" - ], - [ - "X64.Semantics_s.eval_ocmp", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Semantics_s.OEq", - "disc_equation_X64.Semantics_s.OGe", - "disc_equation_X64.Semantics_s.OGt", - "disc_equation_X64.Semantics_s.OLe", - "disc_equation_X64.Semantics_s.OLt", - "disc_equation_X64.Semantics_s.ONe", - "fuel_guarded_inversion_X64.Semantics_s.ocmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5c173255902d41d6eca8b18b5203cb2e" - ], - [ - "X64.Semantics_s.add_mod64", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_X64.Semantics_s.uint64", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "150082de8e861b9a402f5720872505aa" - ], - [ - "X64.Semantics_s.sub_mod64", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_X64.Semantics_s.uint64", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "d1c40f65d59878ad29dc285348da51aa" - ], - [ - "X64.Semantics_s.mul_mod64", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.mul_mod", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_X64.Semantics_s.uint64", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "f565e22a1fe5f1ea9853558eb14558c2" - ], - [ - "X64.Semantics_s.eval_ins", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.logand", "equation_X64.Semantics_s.logxor", - "equation_X64.Semantics_s.shift_left", - "equation_X64.Semantics_s.shift_right", - "equation_X64.Semantics_s.uint64", - "fuel_guarded_inversion_X64.Semantics_s.state", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.logand", "typing_X64.Semantics_s.shift_left", - "typing_X64.Semantics_s.shift_right" - ], - 0, - "77962918d577a0773f866a2462d29bc6" - ], - [ - "X64.Semantics_s.eval_code", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ce46af3c809ad1dc80e8f27732bbea41_0", - "disc_equation_X64.Machine_s.Block", - "disc_equation_X64.Machine_s.IfElse", - "disc_equation_X64.Machine_s.Ins", - "disc_equation_X64.Machine_s.While", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "fuel_guarded_inversion_X64.Machine_s.precode", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_X64.Machine_s.Block", - "subterm_ordering_X64.Machine_s.IfElse", - "subterm_ordering_X64.Machine_s.While" - ], - 0, - "d6c9234bdad2d2cd0e44bfc2784dcccf" - ], - [ - "X64.Semantics_s.eval_code", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_98d7bca9a0026440f6452f1d0e2ced0d_0", "bool_inversion", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "fuel_guarded_inversion_Prims.list", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f31898abcaf06d426a55b8bcb5e2f030" - ], - [ - "X64.Semantics_s.eval_code", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "int_typing", "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "20d9510c02c94f0760fe70dc818d82a1" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Decls.fst b/tests/vale/X64.Vale.Decls.fst index 6fa0bc2b476..5ce333515a5 100644 --- a/tests/vale/X64.Vale.Decls.fst +++ b/tests/vale/X64.Vale.Decls.fst @@ -22,10 +22,9 @@ open FStar.UInt module S = X64.Semantics_s module P = X64.Print_s -#reset-options "--z3cliopt smt.arith.nl=true --using_facts_from Prims --using_facts_from FStar.Math" +#reset-options "--z3smtopt '(set-option :smt.arith.nl true)' --using_facts_from Prims --using_facts_from FStar.Math" let lemma_mul_nat (x:nat) (y:nat) : Lemma (ensures 0 <= (x `op_Multiply` y)) = () -#reset-options "--initial_fuel 2 --max_fuel 2" - +#reset-options "--initial_fuel 2 --max_fuel 2 --initial_ifuel 1 --z3rlimit_factor 10 --retry 5 --query_stats" let cf = Lemmas_i.cf let ins = S.ins type ocmp = S.ocmp @@ -86,7 +85,39 @@ let print_footer = P.print_footer let masm = P.masm let gcc = P.gcc -#set-options "--initial_fuel 2 --max_fuel 2 --z3rlimit 20" +let dst_of_ins (c:S.ins { not (S.Mul64? c) }) : dst_op = + let open S in + match c with + | Mov64 dst _ + | Add64 dst _ + | AddLea64 dst _ _ + | AddCarry64 dst _ + | Sub64 dst _ + | IMul64 dst _ + | Xor64 dst _ + | And64 dst _ + | Shr64 dst _ + | Shl64 dst _ -> dst + +let regs_eval_code_one (c:va_code{ Ins? c }) (dst:dst_op) (va_s0:va_state) (va_sM:va_state) +: Lemma + (requires ( + let Ins cc = c in + not (S.Mul64? cc) /\ + dst_of_ins cc == dst /\ + eval_code c va_s0 va_sM)) + (ensures ( + let Ins cc = c in + Regs_i.equal va_sM.regs (va_update_dst_operand dst va_sM va_s0).regs /\ + va_eval_dst_operand_uint64 va_sM dst == + UInt64.v (S.eval_operand dst (snd (S.eval_ins cc (state_to_S va_s0)))))) += eliminate exists fuel. + Some <| state_to_S va_sM == S.eval_code c fuel (state_to_S va_s0) + returns + Regs_i.equal va_sM.regs (va_update_dst_operand dst va_sM va_s0).regs + with _. ( + () + ) val va_transparent_code_Mov64 : dst:va_dst_operand -> src:va_operand -> Tot va_code let va_transparent_code_Mov64 dst src = @@ -107,6 +138,8 @@ irreducible let va_irreducible_lemma_Mov64 va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Mov64 dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Mov64 dst src) dst va_s0 va_sM; + assert (Regs_i.equal va_sM.regs (va_update_dst_operand dst va_sM va_s0).regs); (va_bM, va_sM) let va_lemma_Mov64 = va_irreducible_lemma_Mov64 @@ -128,10 +161,12 @@ irreducible val va_irreducible_lemma_Load64 : va_b0:va_codes -> va_s0:va_state - /\ (va_get_ok va_sM) /\ (va_eval_dst_operand_uint64 va_sM dst) == (va_subscript (va_get_mem va_sM) ((va_eval_reg_operand_uint64 va_s0 src) + offset)) /\ (va_state_eq va_sM (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0)))))) + irreducible let va_irreducible_lemma_Load64 va_b0 va_s0 va_sN dst src offset = (va_reveal_opaque (va_transparent_code_Load64 dst src offset)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Load64 dst src offset) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Load64 = va_irreducible_lemma_Load64 @@ -166,7 +201,6 @@ let va_transparent_code_Add64 dst src = (Ins (S.Add64 dst src)) let va_code_Add64 dst src = (va_make_opaque (va_transparent_code_Add64 dst src)) - irreducible val va_irreducible_lemma_Add64 : va_b0:va_codes -> va_s0:va_state -> va_sN:va_state -> dst:va_dst_operand -> src:va_operand -> Ghost (va_codes & va_state) @@ -178,10 +212,12 @@ irreducible val va_irreducible_lemma_Add64 : va_b0:va_codes -> va_s0:va_state -> /\ (va_get_ok va_sM) /\ (eq_int (va_eval_dst_operand_uint64 va_sM dst) ((va_eval_dst_operand_uint64 va_s0 dst) + (va_eval_operand_uint64 va_s0 src))) /\ (va_state_eq va_sM (va_update_flags va_sM (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0))))))) + irreducible let va_irreducible_lemma_Add64 va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Add64 dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one(va_transparent_code_Add64 dst src) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Add64 = va_irreducible_lemma_Add64 @@ -192,21 +228,34 @@ let va_code_Add64Wrap dst src = (va_make_opaque (va_transparent_code_Add64Wrap dst src)) irreducible val va_irreducible_lemma_Add64Wrap : va_b0:va_codes -> va_s0:va_state -> va_sN:va_state - -> dst:va_dst_operand -> src:va_operand - -> Ghost (va_codes & va_state) + -> dst:va_dst_operand -> src:va_operand -> + Ghost (va_codes & va_state) (requires ((va_require va_b0 (va_code_Add64Wrap dst src) va_s0 va_sN) /\ (va_is_dst_dst_operand_uint64 dst va_s0) /\ (va_is_src_operand_uint64 src va_s0) /\ (va_get_ok va_s0))) - (ensures (fun ((va_bM:va_codes), (va_sM:va_state)) -> ((va_ensure va_b0 va_bM va_s0 va_sM va_sN) + (ensures (fun ((va_bM:va_codes), (va_sM:va_state)) -> + ((va_ensure va_b0 va_bM va_s0 va_sM va_sN) /\ (va_get_ok va_sM) /\ (va_eval_dst_operand_uint64 va_sM dst) == (add_wrap (va_eval_dst_operand_uint64 va_s0 dst) (va_eval_operand_uint64 va_s0 src)) /\ (cf (va_get_flags va_sM)) == ((va_eval_dst_operand_uint64 va_s0 dst) + (va_eval_operand_uint64 va_s0 src) >= nat64_max) /\ (va_state_eq va_sM (va_update_flags va_sM (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0))))))) + +let add_wrap_lemma (x y:UInt64.t) +: Lemma + (ensures add_wrap (UInt64.v x) (UInt64.v y) == UInt64.v (S.add_mod64 x y)) + [SMTPat (S.add_mod64 x y)] += () irreducible let va_irreducible_lemma_Add64Wrap va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Add64Wrap dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Add64Wrap dst src) dst va_s0 va_sM; + assert (Regs_i.equal va_sM.regs (va_update_dst_operand dst va_sM va_s0).regs); + assert ( + (va_eval_dst_operand_uint64 va_sM dst) == (add_wrap + (va_eval_dst_operand_uint64 va_s0 dst) (va_eval_operand_uint64 va_s0 src)) + ); (va_bM, va_sM) let va_lemma_Add64Wrap = va_irreducible_lemma_Add64Wrap @@ -232,6 +281,8 @@ irreducible let va_irreducible_lemma_AddLea64 va_b0 va_s0 va_sN dst src1 src2 = (va_reveal_opaque (va_transparent_code_AddLea64 dst src1 src2)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_AddLea64 dst src1 src2) dst va_s0 va_sM; + assert (Regs_i.equal va_sM.regs (va_update_dst_operand dst va_sM va_s0).regs); (va_bM, va_sM) let va_lemma_AddLea64 = va_irreducible_lemma_AddLea64 @@ -254,10 +305,23 @@ irreducible val va_irreducible_lemma_Adc64Wrap : va_b0:va_codes -> va_s0:va_stat ((va_eval_dst_operand_uint64 va_s0 dst) + (va_eval_operand_uint64 va_s0 src) + (if (cf (va_get_flags va_s0)) then 1 else 0) >= nat64_max) /\ (va_state_eq va_sM (va_update_flags va_sM (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0))))))) + irreducible let va_irreducible_lemma_Adc64Wrap va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Adc64Wrap dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Adc64Wrap dst src) dst va_s0 va_sM; + assert_spinoff ( + (va_eval_dst_operand_uint64 va_sM dst) == (add_wrap (add_wrap + (va_eval_dst_operand_uint64 va_s0 dst) (va_eval_operand_uint64 va_s0 src)) (if (cf + (va_get_flags va_s0)) then 1 else 0)) /\ (cf (va_get_flags va_sM)) == + ((va_eval_dst_operand_uint64 va_s0 dst) + (va_eval_operand_uint64 va_s0 src) + (if (cf + (va_get_flags va_s0)) then 1 else 0) >= nat64_max) + ); + assert_spinoff ( + (va_state_eq va_sM (va_update_flags va_sM + (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0)))) + ); (va_bM, va_sM) let va_lemma_Adc64Wrap = va_irreducible_lemma_Adc64Wrap @@ -281,6 +345,11 @@ irreducible let va_irreducible_lemma_Sub64 va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Sub64 dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Sub64 dst src) dst va_s0 va_sM; + assert_spinoff ( + (eq_int (va_eval_dst_operand_uint64 va_sM dst) + ((va_eval_dst_operand_uint64 va_s0 dst) - (va_eval_operand_uint64 va_s0 src))) + ); (va_bM, va_sM) let va_lemma_Sub64 = va_irreducible_lemma_Sub64 @@ -304,6 +373,7 @@ irreducible let va_irreducible_lemma_Sub64Wrap va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Sub64Wrap dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Sub64Wrap dst src) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Sub64Wrap = va_irreducible_lemma_Sub64Wrap @@ -323,10 +393,32 @@ irreducible val va_irreducible_lemma_Mul64Wrap : va_b0:va_codes -> va_s0:va_stat == (va_get_reg Rax va_s0) `op_Multiply` (va_eval_operand_uint64 va_s0 src) /\ (va_state_eq va_sM (va_update_reg Rdx va_sM (va_update_reg Rax va_sM (va_update_flags va_sM (va_update_ok va_sM va_s0)))))))) + +let regs_eval_code_mul64 (c:va_code{ Ins? c }) (va_s0:va_state) (va_sM:va_state) +: Lemma + (requires ( + let Ins cc = c in + S.Mul64? cc /\ + eval_code c va_s0 va_sM)) + (ensures ( + Regs_i.equal va_sM.regs (va_update_reg Rdx va_sM (va_update_reg Rax va_sM va_s0)).regs)) += eliminate exists fuel. + Some <| state_to_S va_sM == S.eval_code c fuel (state_to_S va_s0) + returns + Regs_i.equal va_sM.regs (va_update_reg Rdx va_sM (va_update_reg Rax va_sM va_s0)).regs + with _. ( + () + ) + irreducible let va_irreducible_lemma_Mul64Wrap va_b0 va_s0 va_sN src = (va_reveal_opaque (va_transparent_code_Mul64Wrap src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_mul64 (va_transparent_code_Mul64Wrap src) va_s0 va_sM; + assert ( + nat64_max `op_Multiply` (va_get_reg Rdx va_sM) + (va_get_reg Rax va_sM) + == (va_get_reg Rax va_s0) `op_Multiply` (va_eval_operand_uint64 va_s0 src) + ); (va_bM, va_sM) let va_lemma_Mul64Wrap = va_irreducible_lemma_Mul64Wrap @@ -348,10 +440,12 @@ irreducible val va_irreducible_lemma_IMul64 : va_b0:va_codes -> va_s0:va_state - ((va_eval_dst_operand_uint64 va_s0 dst) `op_Multiply` (va_eval_operand_uint64 va_s0 src))) /\ (va_state_eq va_sM (va_update_flags va_sM (va_update_ok va_sM (va_update_dst_operand dst va_sM va_s0))))))) +#restart-solver irreducible let va_irreducible_lemma_IMul64 va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_IMul64 dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_IMul64 dst src) dst va_s0 va_sM; (lemma_mul_nat (va_eval_dst_operand_uint64 va_old_s dst) (va_eval_operand_uint64 va_old_s src)); (va_bM, va_sM) let va_lemma_IMul64 = va_irreducible_lemma_IMul64 @@ -376,6 +470,7 @@ irreducible let va_irreducible_lemma_Xor64 va_b0 va_s0 va_sN dst src = (va_reveal_opaque (va_transparent_code_Xor64 dst src)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Xor64 dst src) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Xor64 = va_irreducible_lemma_Xor64 @@ -422,6 +517,7 @@ irreducible let va_irreducible_lemma_Shl64 va_b0 va_s0 va_sN dst amt = (va_reveal_opaque (va_transparent_code_Shl64 dst amt)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Shl64 dst amt) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Shl64 = va_irreducible_lemma_Shl64 @@ -445,5 +541,6 @@ irreducible let va_irreducible_lemma_Shr64 va_b0 va_s0 va_sN dst amt = (va_reveal_opaque (va_transparent_code_Shr64 dst amt)); let (va_old_s:va_state) = va_s0 in let (va_sM, (va_cM:va_code), va_bM) = (va_lemma_block va_b0 va_s0 va_sN) in + regs_eval_code_one (va_transparent_code_Shr64 dst amt) dst va_s0 va_sM; (va_bM, va_sM) let va_lemma_Shr64 = va_irreducible_lemma_Shr64 diff --git a/tests/vale/X64.Vale.Decls.fst.hints b/tests/vale/X64.Vale.Decls.fst.hints deleted file mode 100644 index 667a9ac0a4f..00000000000 --- a/tests/vale/X64.Vale.Decls.fst.hints +++ /dev/null @@ -1,2867 +0,0 @@ -[ - "1GÌ1úDîÅ0\u0002Lv”ËÕ™", - [ - [ - "X64.Vale.Decls.lemma_mul_nat", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "efeb47cb9877f4a44ee6472baaf58fc2" - ], - [ - "X64.Vale.Decls.va_coerce_dst_operand_to_reg_operand", - 1, - 2, - 0, - [ "@query" ], - 0, - "45b3528412e661c617322e2d308abb7a" - ], - [ - "X64.Vale.Decls.va_op_reg_operand_reg", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.OReg", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Machine_s.OReg_r" - ], - 0, - "0f1a54709910dabd899c56c3a5ab287b" - ], - [ - "X64.Vale.Decls.va_op_dst_operand_reg", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.OConst", - "equation_X64.Machine_s.valid_dst", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_X64.Machine_s.OReg_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Machine_s.OReg_r", - "refinement_interpretation_Tm_refine_2ef22b5edaec67adad91f2b28dd82703" - ], - 0, - "f7b4ca6cdf5ba63c0efceda753e79c8f" - ], - [ - "X64.Vale.Decls.va_update_operand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "df412465ff36aef8d1c204613c4faac7" - ], - [ - "X64.Vale.Decls.va_ensure", - 1, - 2, - 0, - [ "@query" ], - 0, - "7987a3b4208d4fbf00d27334fa4744e6" - ], - [ - "X64.Vale.Decls.lemma_cmp_eq", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_eq", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_eq" - ], - 0, - "7cebaa8024093ee5daa8a8d543342849" - ], - [ - "X64.Vale.Decls.lemma_cmp_ne", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "87b23290a3d64b0c5dce9994ae0df528" - ], - [ - "X64.Vale.Decls.lemma_cmp_ne", - 2, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_ne", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_ne" - ], - 0, - "3fd8b7d12eccaaab58a412f88ff1c298" - ], - [ - "X64.Vale.Decls.lemma_cmp_le", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_le", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_le" - ], - 0, - "fc779676f6e7a2fdcb004faa65e02b59" - ], - [ - "X64.Vale.Decls.lemma_cmp_ge", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_ge", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_ge" - ], - 0, - "fc0a2c0134f1e81bb77f18cccbfc4d36" - ], - [ - "X64.Vale.Decls.lemma_cmp_lt", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_lt", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_lt" - ], - 0, - "3cb26a9cb2efc72f5cb36c9f9a94bcfd" - ], - [ - "X64.Vale.Decls.lemma_cmp_gt", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.va_cmp_gt", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_X64.Vale.Lemmas_i.lemma_cmp_gt" - ], - 0, - "a2d116ff2829bf781d30819eaadf9480" - ], - [ - "X64.Vale.Decls.va_lemma_block", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state" - ], - 0, - "95ad29a61a2081cf15eb7c8067371978" - ], - [ - "X64.Vale.Decls.va_lemma_empty", - 1, - 2, - 0, - [ - "@query", "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.ins", "equation_X64.Vale.Decls.ocmp" - ], - 0, - "ead4ad16c010fe1b62535c73022d613e" - ], - [ - "X64.Vale.Decls.va_lemma_ifElse", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.eval_ocmp", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state" - ], - 0, - "f371c7de1dfa48369abbf91f3b3556ff" - ], - [ - "X64.Vale.Decls.va_lemma_while", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.eval_while", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state" - ], - 0, - "a822a744f04acdad1146f5e094dd74ba" - ], - [ - "X64.Vale.Decls.va_lemma_whileTrue", - 1, - 2, - 0, - [ "@query" ], - 0, - "fd4ac24e9febd8e133baec499930dda1" - ], - [ - "X64.Vale.Decls.va_lemma_whileTrue", - 2, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Decls.eval_while", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_inversion", - "int_typing" - ], - 0, - "0d8b75c7e9a1a9ac82652f19cdfe0894" - ], - [ - "X64.Vale.Decls.va_lemma_whileFalse", - 1, - 2, - 0, - [ - "@query", "equation_X64.Vale.Decls.eval_ocmp", - "equation_X64.Vale.Lemmas_i.eval_ocmp" - ], - 0, - "a51b353e3e1171bb7012f0ca37ea1f06" - ], - [ - "X64.Vale.Decls.logand128", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_X64.Machine_s.nat128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_758ff42440a58a30c095e911b9c96f61" - ], - 0, - "e0df3b4ef4f679bba43eb709d4f941ca" - ], - [ - "X64.Vale.Decls.reveal_logand128", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_X64.Machine_s.nat128", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_758ff42440a58a30c095e911b9c96f61", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e9ecb835cb62de19ce454c996d36329c" - ], - [ - "X64.Vale.Decls.reveal_logand128", - 2, - 2, - 0, - [ "@query", "equation_X64.Vale.Decls.logand128" ], - 0, - "e01ca2b921e3d07832cdb76274ed1793" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Mov64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Mov64", - "data_elim_X64.Machine_s.MReg", "data_elim_X64.Machine_s.OMem", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Mov64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Mov64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_1a46cd7a0bd7922d113274c37c2fe3d5", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Mov64_dst", - "projection_inverse_X64.Semantics_s.Mov64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.__proj__Mkstate__item__ok", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_operand_preserve_flags_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Mov64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "c16a3d00f5155485dcb5e64a6bf5a435" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Load64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_644ad5cdcea42fa4e9e52bbdd5021fb9", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Machine_s.MReg", - "constructor_distinct_X64.Machine_s.OMem", - "constructor_distinct_X64.Semantics_s.Mov64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Semantics_s.Mov64", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Machine_s.MReg@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_maddr", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Load64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_reg_operand", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Load64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_1a46cd7a0bd7922d113274c37c2fe3d5", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Machine_s.MReg_offset", - "projection_inverse_X64.Machine_s.MReg_r", - "projection_inverse_X64.Machine_s.OMem_m", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Mov64_dst", - "projection_inverse_X64.Semantics_s.Mov64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.__proj__Mkstate__item__regs", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.__proj__Mkstate__item__ok", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_operand_preserve_flags_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Load64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "91e7c4ab376eca53130b072c2d3ebf0d" - ], - [ - "X64.Vale.Decls.va_transparent_code_Store64", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equation_X64.Machine_s.valid_dst", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c8b46f3570e9c901837dccb81083e970" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Store64", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Machine_s.MReg", - "constructor_distinct_X64.Machine_s.OMem", - "constructor_distinct_X64.Semantics_s.Mov64", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_X64.Machine_s.nat64", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.valid_maddr", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Store64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_reg_operand", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Store64", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_1a46cd7a0bd7922d113274c37c2fe3d5", - "interpretation_Tm_abs_f0959d9e8c38aa2643c83552fbc44802", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Machine_s.MReg_offset", - "projection_inverse_X64.Machine_s.MReg_r", - "projection_inverse_X64.Machine_s.OMem_m", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Mov64_dst", - "projection_inverse_X64.Semantics_s.Mov64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.__proj__Mkstate__item__regs", - "token_correspondence_X64.Semantics_s.eval_ins", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Store64", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_operand", "unit_typing" - ], - 0, - "8ff702c3daeff7c22b0ebe904c646169" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Add64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Add64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.add_mod64", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_cf", - "equation_X64.Semantics_s.update_flags", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Add64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Add64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2c81f4a4818392ccafc16cff9167306e", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_4913b90bcf1c33b400aafdd4cec55f1b", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Add64_dst", - "projection_inverse_X64.Semantics_s.Add64_src", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_541d8b5bedd79f842c043b0167c0294d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Semantics_s.update_flags", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Machine_s.uu___is_OConst", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.add_mod64", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_operand_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Add64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_X64.Vale.State_i.eval_operand", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "838c2cad8137bf97c50c32cbaef06bb6" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Add64Wrap", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Add64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.add_mod64", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.u", "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_cf", - "equation_X64.Semantics_s.update_flags", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.cf", "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.ins", "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Add64Wrap", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Add64Wrap", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.cf", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2c81f4a4818392ccafc16cff9167306e", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_4913b90bcf1c33b400aafdd4cec55f1b", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Add64_dst", - "projection_inverse_X64.Semantics_s.Add64_src", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_2d98f2f5de361516da3dbd9f556509e2", - "refinement_interpretation_Tm_refine_33c23e946048d3d79f362ad9f81ccafe", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_541d8b5bedd79f842c043b0167c0294d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e4248dc93a56d69a95eb5ac14851d39", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Semantics_s.update_flags", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.add_mod", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Semantics_s.__proj__Mkstate__item__flags", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.add_mod64", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_cf", - "typing_X64.Semantics_s.update_operand_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Add64Wrap", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "301fde363f2c864d2eb6a6f374c68ef1" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_AddLea64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.AddLea64", - "data_elim_X64.Machine_s.MIndex", "data_elim_X64.Machine_s.MReg", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.add_mod64", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_AddLea64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_AddLea64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_da887bd33a5a6c5a992d65f196996f0a", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.AddLea64_dst", - "projection_inverse_X64.Semantics_s.AddLea64_src1", - "projection_inverse_X64.Semantics_s.AddLea64_src2", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_541d8b5bedd79f842c043b0167c0294d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.__proj__Mkstate__item__ok", - "typing_X64.Semantics_s.add_mod64", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_operand_preserve_flags_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_AddLea64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_X64.Vale.State_i.eval_operand", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "590439b18e9306a2d920d062cf1feeba" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Adc64Wrap", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.AddCarry64", - "data_elim_X64.Machine_s.MIndex", "data_elim_X64.Machine_s.MReg", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.u", "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_cf", - "equation_X64.Semantics_s.update_flags", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.cf", "equation_X64.Vale.Decls.eval_code", - "equation_X64.Vale.Decls.ins", "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Adc64Wrap", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Adc64Wrap", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.cf", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2c81f4a4818392ccafc16cff9167306e", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_613dc199a18050b65a16a60fdb912f4f", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.AddCarry64_dst", - "projection_inverse_X64.Semantics_s.AddCarry64_src", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_33c23e946048d3d79f362ad9f81ccafe", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e4248dc93a56d69a95eb5ac14851d39", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Semantics_s.update_flags", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Semantics_s.__proj__Mkstate__item__flags", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.update_cf", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Adc64Wrap", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "735797508e7855d9585e56c83e2d1ed9" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Sub64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Sub64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.MReg", "data_elim_X64.Machine_s.OMem", - "data_elim_X64.Semantics_s.Mkstate", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.sub_mod64", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Sub64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Sub64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bb6aff5b98a517373530d9e388c5f89b", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Sub64_dst", - "projection_inverse_X64.Semantics_s.Sub64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_9047fa206eb79fbe3b02e2e3d1bcaa4f", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.sub_mod64", - "typing_X64.Semantics_s.update_operand_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Sub64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_X64.Vale.State_i.eval_operand", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "6b4c461835b023c6a4994fe1801b9f76" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Sub64Wrap", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Sub64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.OMem", - "data_elim_X64.Semantics_s.Mkstate", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.sub_mod64", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Sub64Wrap", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Sub64Wrap", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bb6aff5b98a517373530d9e388c5f89b", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Sub64_dst", - "projection_inverse_X64.Semantics_s.Sub64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_9047fa206eb79fbe3b02e2e3d1bcaa4f", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.sub_mod64", - "typing_X64.Semantics_s.update_operand_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Sub64Wrap", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "0ec6485688c6a21f76ddd69f35f74ba8" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Mul64Wrap", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_193bd525e26cb6146836f2ec97504c13", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Machine_s.Rax", - "constructor_distinct_X64.Machine_s.Rdx", - "constructor_distinct_X64.Semantics_s.Mul64", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.uint_t", - "equation_X64.Machine_s.nat64", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.mul_div64", - "equation_X64.Semantics_s.mul_mod64", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_flags", - "equation_X64.Semantics_s.update_reg", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Mul64Wrap", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Mul64Wrap", - "equation_X64.Vale.Lemmas_i.eval_code", "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2c81f4a4818392ccafc16cff9167306e", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_9308350a750cd3e48424d434c40f4e9f", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_e208dc70abce4505afd7c75d2e94a8a4", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Mul64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_5e0b55f391f0d80e17a86a98e20c6bf1", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f57897888b8e8a5df8c6b09df8b92b30", - "refinement_interpretation_Tm_refine_fce3a2e2e29645212301d89fcebc4e29", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.__proj__Mkstate__item__regs", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Semantics_s.update_flags", - "token_correspondence_X64.Semantics_s.update_reg", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.UInt64.mul_mod", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.mul_div64", - "typing_X64.Semantics_s.mul_mod64", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Mul64Wrap", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.update_reg", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rdx@tok", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "02e2faa0cd4909c91aab44ef29c1c3bb" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_IMul64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.IMul64", - "data_elim_X64.Machine_s.Ins", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Semantics_s.Mkstate", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Semantics_s.code", "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.mul_mod64", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_IMul64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_IMul64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "interpretation_Tm_abs_efd9e8f8b7c98c9b586f4897a855bab0", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.IMul64_dst", - "projection_inverse_X64.Semantics_s.IMul64_src", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e0b55f391f0d80e17a86a98e20c6bf1", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.sel", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.uint_to_t", - "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.mul_mod64", - "typing_X64.Semantics_s.update_operand_", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_IMul64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "c3177e82f13e0188807ea74109a9ab4d" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Xor64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Xor64", - "data_elim_X64.Machine_s.OMem", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.logxor", "equation_X64.Semantics_s.map", - "equation_X64.Semantics_s.mem", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.logxor64", "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_Xor64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Xor64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_724242e80027e2a267145da56a098c8b", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Xor64_dst", - "projection_inverse_X64.Semantics_s.Xor64_src", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt.logxor", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Xor64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "05f8e66cbd63c6cafbd5c87bf120f0c9" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_And64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.And64", - "data_elim_X64.Machine_s.OMem", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.logand", "equation_X64.Semantics_s.map", - "equation_X64.Semantics_s.mem", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.logand64", "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.va_code_And64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_And64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_e79b8a999a7f57f0040921f533b269ce", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.uv_inv", - "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.And64_dst", - "projection_inverse_X64.Semantics_s.And64_src", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt.logand", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_And64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "4c63b0703a9e8ef32c112046c9e79a16" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Shl64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Shl64", - "data_elim_X64.Machine_s.OMem", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.shift_left", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.shift_left64", - "equation_X64.Vale.Decls.va_code_Shl64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Shl64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_e41ff8e98891b6dd8546d7c0ea20848c", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Shl64_amt", - "projection_inverse_X64.Semantics_s.Shl64_dst", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt.shift_left", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Shl64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "8e8633108a99e0d477358e5313235719" - ], - [ - "X64.Vale.Decls.va_irreducible_lemma_Shr64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_pretyping_1bfb2cbff190c322cb7761c350e1ede4", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.Block", - "constructor_distinct_X64.Machine_s.Ins", - "constructor_distinct_X64.Semantics_s.Shr64", - "data_elim_X64.Machine_s.OMem", - "data_typing_intro_X64.Machine_s.Block@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_X64.Machine_s.dst_op", "equation_X64.Machine_s.nat64", - "equation_X64.Machine_s.valid_dst", "equation_X64.Semantics_s.code", - "equation_X64.Semantics_s.codes", - "equation_X64.Semantics_s.eval_ins", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.shift_right", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.update_mem", - "equation_X64.Semantics_s.update_operand_", - "equation_X64.Semantics_s.update_operand_preserve_flags_", - "equation_X64.Semantics_s.update_reg_", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.Decls.eval_code", "equation_X64.Vale.Decls.ins", - "equation_X64.Vale.Decls.ocmp", - "equation_X64.Vale.Decls.shift_right64", - "equation_X64.Vale.Decls.va_code_Shr64", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_transparent_code_Shr64", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "equation_with_fuel_X64.Semantics_s.eval_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Semantics_s.__proj__Mkstate__item__regs", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_06436ba00a5bd9a8083ce074f3a147a1", - "interpretation_Tm_abs_081baac0dab8f4468ac989ea2ddf99a3", - "interpretation_Tm_abs_10261c42e10a9394c7f8c711bf81e6e4", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "interpretation_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "kinding_X64.Machine_s.reg@tok", "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "kinding_X64.Semantics_s.state@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_ok", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "lemma_X64.Vale.StateLemmas_i.lemma_to_valid_operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.Block_block", - "projection_inverse_X64.Machine_s.Block_t_ins", - "projection_inverse_X64.Machine_s.Block_t_ocmp", - "projection_inverse_X64.Machine_s.Ins_ins", - "projection_inverse_X64.Machine_s.Ins_t_ins", - "projection_inverse_X64.Machine_s.Ins_t_ocmp", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Shr64_amt", - "projection_inverse_X64.Semantics_s.Shr64_dst", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c1b5b4c02ad49f0760911a9d4b1fb4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c9e5bdb9582a858897946d48f9f4d58", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "token_correspondence_X64.Semantics_s.eval_ins", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.UInt.shift_right", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v", - "typing_Prims.int", "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_53c55973f12c5cd6dba65c1cc5016627", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_Tm_abs_ea7cecc32baf46388a93622b2a6ebd75", - "typing_X64.Machine_s.__proj__OReg__item__r", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Semantics_s.valid_operand", - "typing_X64.Vale.Decls.va_transparent_code_Shr64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_typing" - ], - 0, - "9799f8976b8b2785f0aec6072ee2462c" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Decls.fsti.hints b/tests/vale/X64.Vale.Decls.fsti.hints deleted file mode 100644 index 894765bfced..00000000000 --- a/tests/vale/X64.Vale.Decls.fsti.hints +++ /dev/null @@ -1,120 +0,0 @@ -[ - "úðý)VÊ°QFÁ˜ÍË\u001a\u000bÈ", - [ - [ - "X64.Vale.Decls.va_coerce_dst_operand_to_reg_operand", - 1, - 1, - 0, - [ "@query" ], - 0, - "88812c3bca3152b816ee38b998b0bb90" - ], - [ - "X64.Vale.Decls.va_op_reg_operand_reg", - 1, - 1, - 0, - [ - "@query", "constructor_distinct_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.OReg", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Machine_s.OReg_r" - ], - 0, - "82e5d824b57cf6f4d340b3a624cfa72e" - ], - [ - "X64.Vale.Decls.va_op_dst_operand_reg", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.OConst", - "equation_X64.Machine_s.valid_dst", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_X64.Machine_s.OReg_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Machine_s.OReg_r", - "refinement_interpretation_Tm_refine_2ef22b5edaec67adad91f2b28dd82703" - ], - 0, - "28e7fd10cb29d4486096870ad50b1c27" - ], - [ - "X64.Vale.Decls.va_update_operand", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f0939cb6ebaa17927445a6ff194b5a18" - ], - [ - "X64.Vale.Decls.va_ensure", - 1, - 1, - 0, - [ "@query" ], - 0, - "3d80b57f1231333b529a1cdd6ab55005" - ], - [ - "X64.Vale.Decls.lemma_cmp_ne", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cd57fa09813c732841fc2e09b5d14834" - ], - [ - "X64.Vale.Decls.va_lemma_whileTrue", - 1, - 1, - 0, - [ "@query" ], - 0, - "d8b47ac1c7c3c9b615396cfc452d4bc2" - ], - [ - "X64.Vale.Decls.reveal_logand128", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_X64.Machine_s.nat128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_758ff42440a58a30c095e911b9c96f61" - ], - 0, - "9c457f9a73e3d36f3eea09217e26efd8" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Lemmas_i.fst.hints b/tests/vale/X64.Vale.Lemmas_i.fst.hints deleted file mode 100644 index 784aab51eea..00000000000 --- a/tests/vale/X64.Vale.Lemmas_i.fst.hints +++ /dev/null @@ -1,224 +0,0 @@ -[ - "\u0014\u000bAü[Á‘î~ó‘è‰~jï", - [ - [ - "X64.Vale.Lemmas_i.cf", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d116c3da5409ac826912bc11ce235b56" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_eq", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_X64.Semantics_s.OEq", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.OEq_o1", - "projection_inverse_X64.Semantics_s.OEq_o2", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S" - ], - 0, - "8b8b38ab9f578c6ab7450554e08563b4" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_ne", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d360fdbecc80de5e79de03b71bd42a83" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_ne", - 2, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_X64.Semantics_s.ONe", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.ONe_o1", - "projection_inverse_X64.Semantics_s.ONe_o2", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S" - ], - 0, - "781b151cf06fbe0fc7d37a5bfffb5b6f" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_le", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Semantics_s.OLe", - "equation_FStar.UInt.lte", "equation_FStar.UInt64.lte", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "equation_X64.Vale.State_i.eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.OLe_o1", - "projection_inverse_X64.Semantics_s.OLe_o2" - ], - 0, - "ef44508c90f558ae509511f4260ddadf" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_ge", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Semantics_s.OGe", - "equation_FStar.UInt.gte", "equation_FStar.UInt64.gte", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "equation_X64.Vale.State_i.eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.OGe_o1", - "projection_inverse_X64.Semantics_s.OGe_o2" - ], - 0, - "425a324013e8ebf9a4635c548bfbe9de" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_lt", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Semantics_s.OLt", - "equation_FStar.UInt.lt", "equation_FStar.UInt64.lt", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "equation_X64.Vale.State_i.eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.OLt_o1", - "projection_inverse_X64.Semantics_s.OLt_o2" - ], - 0, - "574092dac8a59fa57dcbd69016b550c9" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_gt", - 1, - 2, - 0, - [ - "@query", "constructor_distinct_X64.Semantics_s.OGt", - "equation_FStar.UInt.gt", "equation_FStar.UInt64.gt", - "equation_X64.Semantics_s.eval_ocmp", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "equation_X64.Vale.State_i.eval_operand", - "lemma_X64.Vale.StateLemmas_i.lemma_to_eval_operand", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.OGt_o1", - "projection_inverse_X64.Semantics_s.OGt_o2" - ], - 0, - "27e428bc5482c866e15f5c4e7fd8df63" - ], - [ - "X64.Vale.Lemmas_i.lemma_block", - 1, - 2, - 0, - [ "@query" ], - 0, - "37532a7d566236e08dd9927c045a5223" - ], - [ - "X64.Vale.Lemmas_i.lemma_ifElse", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Semantics_s.eval_code.fuel_instrumented", - "@fuel_irrelevance_X64.Semantics_s.eval_code.fuel_instrumented", - "@query", "constructor_distinct_X64.Machine_s.IfElse", - "data_typing_intro_X64.Machine_s.IfElse@tok", "equation_Prims.nat", - "equation_X64.Semantics_s.code", - "equation_X64.Vale.Lemmas_i.eval_code", - "equation_X64.Vale.Lemmas_i.eval_ocmp", - "equation_with_fuel_X64.Semantics_s.eval_code.fuel_instrumented", - "fuel_guarded_inversion_X64.Semantics_s.state", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_inversion", - "kinding_X64.Semantics_s.ins@tok", - "kinding_X64.Semantics_s.ocmp@tok", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_X64.Machine_s.IfElse_ifCond", - "projection_inverse_X64.Machine_s.IfElse_ifFalse", - "projection_inverse_X64.Machine_s.IfElse_ifTrue", - "projection_inverse_X64.Machine_s.IfElse_t_ins", - "projection_inverse_X64.Machine_s.IfElse_t_ocmp", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_X64.Vale.StateLemmas_i.state_to_S" - ], - 0, - "242abfb2d325e30c04b01312179e4283" - ], - [ - "X64.Vale.Lemmas_i.lemma_whileTrue", - 1, - 2, - 0, - [ "@query" ], - 0, - "eccdef915b6934f8d62bd1984d065bc9" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Lemmas_i.fsti.hints b/tests/vale/X64.Vale.Lemmas_i.fsti.hints deleted file mode 100644 index 71d0117f262..00000000000 --- a/tests/vale/X64.Vale.Lemmas_i.fsti.hints +++ /dev/null @@ -1,51 +0,0 @@ -[ - "\u0004Mƒ\\‹ÌE 3+7Ð0å9¸", - [ - [ - "X64.Vale.Lemmas_i.cf", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "25440ab25f5a15e7482fa2e4347236a0" - ], - [ - "X64.Vale.Lemmas_i.lemma_cmp_ne", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dd61fa235089133a403645bd86c9c84c" - ], - [ - "X64.Vale.Lemmas_i.lemma_whileTrue", - 1, - 1, - 0, - [ "@query" ], - 0, - "2c8a77bfca6a274faa010e5250b31b1f" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Regs_i.fst.hints b/tests/vale/X64.Vale.Regs_i.fst.hints deleted file mode 100644 index adff2034a12..00000000000 --- a/tests/vale/X64.Vale.Regs_i.fst.hints +++ /dev/null @@ -1,43 +0,0 @@ -[ - "³ò¡i5&Ò#\u0012®3XÛµjc", - [ - [ - "X64.Vale.Regs_i.lemma_equal_intro", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_X64.Vale.Regs_i.equal", "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "55babc7dec4ee6f50b84d67461d33661" - ], - [ - "X64.Vale.Regs_i.lemma_equal_elim", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Vale.Regs_i_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_X64.Vale.Regs_i.equal", "equation_X64.Vale.Regs_i.t", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "590ad8db1a1ba10fd7f0283142fa0b6f" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.Regs_i.fsti.hints b/tests/vale/X64.Vale.Regs_i.fsti.hints deleted file mode 100644 index c7de4fe5889..00000000000 --- a/tests/vale/X64.Vale.Regs_i.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0013þ•¾%®\u0006MJQ\u0014œÄW:-", [] ] \ No newline at end of file diff --git a/tests/vale/X64.Vale.StateLemmas_i.fst.hints b/tests/vale/X64.Vale.StateLemmas_i.fst.hints deleted file mode 100644 index f088e5401df..00000000000 --- a/tests/vale/X64.Vale.StateLemmas_i.fst.hints +++ /dev/null @@ -1,556 +0,0 @@ -[ - "AÁ债Ž©.¢:R\u001aE„Bã", - [ - [ - "X64.Vale.StateLemmas_i.state_to_S", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags" - ], - 0, - "d939ed8693a437ed012f1a5176f0e095" - ], - [ - "X64.Vale.StateLemmas_i.state_of_S", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "36b5c439b9ba19d4d4d137e85325a08f" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_ok", - 1, - 2, - 0, - [ - "@query", "equation_X64.Vale.StateLemmas_i.state_to_S", - "proj_equation_X64.Semantics_s.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_ok" - ], - 0, - "2e37350d0a8dc9b24c909dde29a81f43" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_flags", - 1, - 2, - 0, - [ "@query" ], - 0, - "40e2e6fbcddbb819a5ed13fd20bd2452" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_flags", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_to_S", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "refinement_interpretation_Tm_refine_33c23e946048d3d79f362ad9f81ccafe", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Semantics_s.__proj__Mkstate__item__flags", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags" - ], - 0, - "971e33f7565db5f2435beae37f15ddac" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_mem_contains", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Semantics_s_interpretation_Tm_arrow_8928427c3e013c0cd8946aaaf1c65a29", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_510ffde50cba047426243ffc68c85113", - "equation_Prims.eqtype", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c644247a73759f086aca82c4165d2bf4", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_FStar.Map.domain", "typing_FStar.UInt64.t", - "typing_Prims.int", "typing_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.mem_make", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem" - ], - 0, - "4ec861ccf0b366d378af324fd50ecdf3" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_mem_sel", - 1, - 2, - 0, - [ "@query" ], - 0, - "5f0f14cc2684f8e74bb83d018bffb5bf" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_mem_sel", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Semantics_s_interpretation_Tm_arrow_8928427c3e013c0cd8946aaaf1c65a29", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_510ffde50cba047426243ffc68c85113", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.u", "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_c644247a73759f086aca82c4165d2bf4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.mem_make", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem" - ], - 0, - "c6e8740e108d9a87b63256a2d990565f" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_reg", - 1, - 2, - 0, - [ "@query" ], - 0, - "cae44aeecb74097d392ed6f4671aeca7" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_reg", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "b2t_def", "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "equation_X64.Semantics_s.u", - "equation_X64.Semantics_s.uint64", "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_typing", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_b59262a89c54ab08c57246cf5b2254f9", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_X64.Semantics_s.__proj__Mkstate__item__regs", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.UInt64.v", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_b59262a89c54ab08c57246cf5b2254f9", - "typing_X64.Semantics_s.__proj__Mkstate__item__flags", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "d13d6416bb0923e3abeb26569cb8d882" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_eval_operand", - 1, - 2, - 0, - [ "@query" ], - 0, - "0b9e3f453ef3eb56746620cba713aa1b" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_eval_operand", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_X64.Machine_s.MIndex", "data_elim_X64.Machine_s.MReg", - "data_elim_X64.Machine_s.OMem", "data_elim_X64.Machine_s.OReg", - "equality_tok_X64.Machine_s.Rsp@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.eval_operand", - "equation_X64.Semantics_s.u", "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt64.vu_inv", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.eval_operand", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.eval_operand", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "03b5c17eb17714f06717ff1e44ce1a6b" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_valid_operand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Machine_s_pretyping_a2ddd26f94eaa436cfe753563bf0547b", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_8928427c3e013c0cd8946aaaf1c65a29", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_510ffde50cba047426243ffc68c85113", - "b2t_def", "bool_inversion", "data_elim_X64.Machine_s.MIndex", - "data_elim_X64.Machine_s.MReg", "data_elim_X64.Machine_s.OMem", - "equality_tok_X64.Machine_s.Rsp@tok", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.eval_maddr", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.uint64", - "equation_X64.Semantics_s.valid_maddr", - "equation_X64.Semantics_s.valid_operand", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.valid_maddr", - "equation_X64.Vale.State_i.valid_operand", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_contains", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_c644247a73759f086aca82c4165d2bf4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.UInt64.t", "typing_FStar.UInt64.v", "typing_Prims.int", - "typing_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "typing_X64.Semantics_s.__proj__Mkstate__item__flags", - "typing_X64.Semantics_s.__proj__Mkstate__item__mem", - "typing_X64.Semantics_s.eval_maddr", - "typing_X64.Semantics_s.mem_make", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.eval_maddr", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "00c4e47ac4705887c844e61040812bc9" - ], - [ - "X64.Vale.StateLemmas_i.lemma_of_to", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_interpretation_Tm_arrow_8928427c3e013c0cd8946aaaf1c65a29", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_510ffde50cba047426243ffc68c85113", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_85d255d373ae89160427176258498414", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_of_S", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "equation_X64.Vale.State_i.state_eq", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", - "interpretation_Tm_abs_a5012c08528796224c24bad70477fdf4", - "interpretation_Tm_abs_b5b7b19c983042ee6b5a605e6ef6029e", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "lemma_X64.Vale.Regs_i.lemma_equal_intro", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "lemma_X64.Vale.StateLemmas_i.lemma_to_mem_sel", - "lemma_X64.Vale.StateLemmas_i.lemma_to_reg", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Semantics_s.Mkstate_mem", - "proj_equation_X64.Semantics_s.Mkstate_regs", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c644247a73759f086aca82c4165d2bf4", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Semantics_s.__proj__Mkstate__item__regs", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "typing_Tm_abs_a5012c08528796224c24bad70477fdf4", - "typing_Tm_abs_b5b7b19c983042ee6b5a605e6ef6029e", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_X64.Semantics_s.mem_make", - "typing_X64.Vale.StateLemmas_i.state_of_S", - "typing_X64.Vale.StateLemmas_i.state_to_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "0e32753ee6b05132a10b2b3a934e9e95" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_of", - 1, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Semantics_s_interpretation_Tm_arrow_645426269fc615b2b182027e55cc5771", - "X64.Semantics_s_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Semantics_s_interpretation_Tm_arrow_8928427c3e013c0cd8946aaaf1c65a29", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_510ffde50cba047426243ffc68c85113", - "X64.Vale.StateLemmas_i_interpretation_Tm_arrow_85d255d373ae89160427176258498414", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "b2t_def", "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Semantics_s.map", "equation_X64.Semantics_s.mem", - "equation_X64.Semantics_s.u", "equation_X64.Semantics_s.uint64", - "equation_X64.Vale.StateLemmas_i.state_of_S", - "equation_X64.Vale.StateLemmas_i.state_to_S", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2da3d120bd5ce08465191535a1915477", - "interpretation_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "interpretation_Tm_abs_a5012c08528796224c24bad70477fdf4", - "interpretation_Tm_abs_b59262a89c54ab08c57246cf5b2254f9", - "interpretation_Tm_abs_b5b7b19c983042ee6b5a605e6ef6029e", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", - "lemma_X64.Vale.StateLemmas_i.lemma_to_flags", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_X64.Semantics_s.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_X64.Semantics_s.Mkstate_flags", - "projection_inverse_X64.Semantics_s.Mkstate_mem", - "projection_inverse_X64.Semantics_s.Mkstate_ok", - "projection_inverse_X64.Semantics_s.Mkstate_regs", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_c644247a73759f086aca82c4165d2bf4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.UInt64.t", "typing_Prims.int", - "typing_Tm_abs_2da3d120bd5ce08465191535a1915477", - "typing_Tm_abs_8c737d96c61c8ee61a7b3dd6a50d6ac6", - "typing_Tm_abs_a5012c08528796224c24bad70477fdf4", - "typing_Tm_abs_b59262a89c54ab08c57246cf5b2254f9", - "typing_Tm_abs_b5b7b19c983042ee6b5a605e6ef6029e", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_X64.Semantics_s.mem_make", - "typing_X64.Vale.StateLemmas_i.state_of_S", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "09f1f69bb53f96f69f981c104c374dc5" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.StateLemmas_i.fsti.hints b/tests/vale/X64.Vale.StateLemmas_i.fsti.hints deleted file mode 100644 index a9c3523dd27..00000000000 --- a/tests/vale/X64.Vale.StateLemmas_i.fsti.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "y‘\u0012\u0016è? vªZ‡ow`ó", - [ - [ - "X64.Vale.StateLemmas_i.lemma_to_flags", - 1, - 1, - 0, - [ "@query" ], - 0, - "8c58ffe9977489b127a8aaf9b5ff3202" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_mem_sel", - 1, - 1, - 0, - [ "@query" ], - 0, - "45ca5849a0edfbaab2a99149503366cd" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_reg", - 1, - 1, - 0, - [ "@query" ], - 0, - "c12d8511af8feae227be0a7d5f4df032" - ], - [ - "X64.Vale.StateLemmas_i.lemma_to_eval_operand", - 1, - 1, - 0, - [ "@query" ], - 0, - "3853f5c5f8428e439c84faa38c9ad677" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.State_i.fsti.hints b/tests/vale/X64.Vale.State_i.fsti.hints deleted file mode 100644 index c09515cac65..00000000000 --- a/tests/vale/X64.Vale.State_i.fsti.hints +++ /dev/null @@ -1,98 +0,0 @@ -[ - "ÂJF@*JÞæò´˜¢Á~\u0015?", - [ - [ - "X64.Vale.State_i.reg_to_int", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_X64.Machine_s.R10", - "disc_equation_X64.Machine_s.R11", "disc_equation_X64.Machine_s.R12", - "disc_equation_X64.Machine_s.R13", "disc_equation_X64.Machine_s.R14", - "disc_equation_X64.Machine_s.R15", "disc_equation_X64.Machine_s.R8", - "disc_equation_X64.Machine_s.R9", "disc_equation_X64.Machine_s.Rax", - "disc_equation_X64.Machine_s.Rbp", "disc_equation_X64.Machine_s.Rbx", - "disc_equation_X64.Machine_s.Rcx", "disc_equation_X64.Machine_s.Rdi", - "disc_equation_X64.Machine_s.Rdx", "disc_equation_X64.Machine_s.Rsi", - "disc_equation_X64.Machine_s.Rsp", - "fuel_guarded_inversion_X64.Machine_s.reg", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1da71eefe55cb94a980060cbb5b0df09" - ], - [ - "X64.Vale.State_i.eval_maddr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.MConst", - "disc_equation_X64.Machine_s.MIndex", - "disc_equation_X64.Machine_s.MReg", - "fuel_guarded_inversion_X64.Machine_s.maddr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "86ba968a787de0c8c9d5e37bac4fa83d" - ], - [ - "X64.Vale.State_i.eval_operand", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e584314214bcf257753bc19ea929307b" - ], - [ - "X64.Vale.State_i.update_reg", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Vale.Regs_i_interpretation_Tm_arrow_73862e447730cb7be03c891c89cb5703", - "X64.Vale.State_i_interpretation_Tm_arrow_1093f8e31085b67d2aaada502a6d45cd", - "assumption_X64.Machine_s.reg__uu___haseq", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.is_restricted", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "kinding_X64.Machine_s.reg@tok", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "typing_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "0100bf2c67137f02fe8ec58f13502c28" - ], - [ - "X64.Vale.State_i.valid_operand", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3d80f0bc102b0080c418a36ca512b5db" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.StrongPost_i.fst.hints b/tests/vale/X64.Vale.StrongPost_i.fst.hints deleted file mode 100644 index 01898100fa4..00000000000 --- a/tests/vale/X64.Vale.StrongPost_i.fst.hints +++ /dev/null @@ -1,720 +0,0 @@ -[ - "Mš¨2kPÖ”\u0016×pwšÙŠ­", - [ - [ - "X64.Vale.StrongPost_i.ins", - 1, - 1, - 1, - [ "@query", "assumption_X64.Machine_s.operand__uu___haseq" ], - 0, - "062ea3eb616468975826e2a2d28c3987" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mov64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" - ], - 0, - "5ed5cba93fa689c4ce4860e624d9952a" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mov64__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" - ], - 0, - "c0f0eba6f4c2dd4fc7457233487b3dfb" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "0772c271c667d0d218541be98514c2c4" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "0cfee425d900906019e19636bbf7dcd2" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__offset", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "ef3b4d7abc54e856035ba74643eda0a3" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "21ed0b6ac6b98a2734cbb96e73ca89fd" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "0fe6541a6d514f02d8e8d3f5d4cb1e32" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__offset", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "0b790847a73858f923a024bc80978136" - ], - [ - "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" - ], - 0, - "919d9b4407381c4a0b2667a5452959f1" - ], - [ - "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" - ], - 0, - "1b3932740e476a85346914d0447615e0" - ], - [ - "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" - ], - 0, - "7b9af0784819ced718543f8ca8a076ac" - ], - [ - "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" - ], - 0, - "ddef0233236075c1f4ab553ad6b098b4" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mul64Wrap__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cdee9644b84d60ced7b907e879e8f711" - ], - 0, - "a1cef4624f29f5f79a886642afb1c4ac" - ], - [ - "X64.Vale.StrongPost_i.__proj__IMul64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" - ], - 0, - "ab1a9692b8895dc5d026bc245856ff97" - ], - [ - "X64.Vale.StrongPost_i.__proj__IMul64__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" - ], - 0, - "bc001f074d20b84ed816c3ad79ba5e4e" - ], - [ - "X64.Vale.StrongPost_i.__proj__And64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" - ], - 0, - "d7aed3aa44f00fe884b185f4b2956b4a" - ], - [ - "X64.Vale.StrongPost_i.__proj__And64__item__amt", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" - ], - 0, - "54d8ebba4b067e1b4355da550f35d25c" - ], - [ - "X64.Vale.StrongPost_i.__proj__Shr64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" - ], - 0, - "df6280dc831df1c098e3909afac32fd8" - ], - [ - "X64.Vale.StrongPost_i.__proj__Shr64__item__amt", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" - ], - 0, - "f41e576b88c67dd0d97e0f6cbe2f623e" - ], - [ - "X64.Vale.StrongPost_i.__proj__Sub64__item__dst", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" - ], - 0, - "1f00748ce22cca5c8cf5efd274a4a8c7" - ], - [ - "X64.Vale.StrongPost_i.__proj__Sub64__item__src", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" - ], - 0, - "57654e89fede22cd08ea3a4aa9d7e91e" - ], - [ - "X64.Vale.StrongPost_i.valid_operand_norm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9bb98d89cac20842ec26c9a5ef66639b" - ], - [ - "X64.Vale.StrongPost_i.eval_operand_norm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "4bed10aaba083bb0ad18f90469bc609c" - ], - [ - "X64.Vale.StrongPost_i.regs_match", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "binder_x_136fd5270a258ddaaad5b0c5f45f8938_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_X64.Machine_s.Rsp@tok", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "4c1e003776b3716b7ab4577ab64b8426" - ], - [ - "X64.Vale.StrongPost_i.inss_to_codes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "X64.Vale.StrongPost_i_pretyping_b57a61b8460583814cc6086893d3abc9", - "binder_x_64054ab5c496dbf376bb97c3f7e4eb60_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Vale.StrongPost_i.Adc64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.Add64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.And64", - "constructor_distinct_X64.Vale.StrongPost_i.IMul64", - "constructor_distinct_X64.Vale.StrongPost_i.Load64", - "constructor_distinct_X64.Vale.StrongPost_i.Mov64", - "constructor_distinct_X64.Vale.StrongPost_i.Shr64", - "constructor_distinct_X64.Vale.StrongPost_i.Sub64", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "disc_equation_X64.Vale.StrongPost_i.Adc64Wrap", - "disc_equation_X64.Vale.StrongPost_i.Add64Wrap", - "disc_equation_X64.Vale.StrongPost_i.And64", - "disc_equation_X64.Vale.StrongPost_i.IMul64", - "disc_equation_X64.Vale.StrongPost_i.Load64", - "disc_equation_X64.Vale.StrongPost_i.Mov64", - "disc_equation_X64.Vale.StrongPost_i.Shr64", - "disc_equation_X64.Vale.StrongPost_i.Sub64", - "equation_X64.Machine_s.valid_dst", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_hd", - "proj_equation_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.Add64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.And64_dst", - "proj_equation_X64.Vale.StrongPost_i.IMul64_dst", - "proj_equation_X64.Vale.StrongPost_i.Load64_dst", - "proj_equation_X64.Vale.StrongPost_i.Mov64_dst", - "proj_equation_X64.Vale.StrongPost_i.Shr64_dst", - "proj_equation_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.And64_amt", - "projection_inverse_X64.Vale.StrongPost_i.And64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_src", - "projection_inverse_X64.Vale.StrongPost_i.Load64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Load64_offset", - "projection_inverse_X64.Vale.StrongPost_i.Load64_src", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_src", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_amt", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_src", - "subterm_ordering_Prims.Cons" - ], - 0, - "84532bd388b568ea25056c3ee57f1636" - ], - [ - "X64.Vale.StrongPost_i.wp_code", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_64054ab5c496dbf376bb97c3f7e4eb60_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "8156ccd4d91bf9d147d350cfb6a9edad" - ], - [ - "X64.Vale.StrongPost_i.va_lemma_weakest_pre_norm_wp", - 1, - 1, - 1, - [ "@query" ], - 0, - "2095c77bf15e36641cd5dacb706f20c7" - ], - [ - "X64.Vale.StrongPost_i.lemma_regs_match_self", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Vale.StrongPost_i.regs_match.fuel_instrumented", - "@fuel_irrelevance_X64.Vale.StrongPost_i.regs_match.fuel_instrumented", - "@query", "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "binder_x_136fd5270a258ddaaad5b0c5f45f8938_0", - "binder_x_de52c7fd4c52e1942aeef9a9143c43bf_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equality_tok_X64.Machine_s.Rsp@tok", "equation_X64.Machine_s.nat64", - "equation_with_fuel_X64.Vale.StrongPost_i.regs_match.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_X64.Vale.State_i.state", "l_and-interp", - "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", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "8aa9c53f806e12e57ebd69ed657c7ecd" - ], - [ - "X64.Vale.StrongPost_i.lemma_update_reg_equal", - 1, - 1, - 1, - [ - "@query", "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.update_reg" - ], - 0, - "6af98b12824a4b476809e6e186c4a2fa" - ], - [ - "X64.Vale.StrongPost_i.assert_from_norm'", - 1, - 1, - 1, - [ "@query" ], - 0, - "a28962bcc6b9681a7ed6540fbef013e1" - ], - [ - "X64.Vale.StrongPost_i.assert_to_norm'", - 1, - 1, - 1, - [ "@query" ], - 0, - "60552260bc2f2b78540765c0d385ee96" - ], - [ - "X64.Vale.StrongPost_i.lemma_weak_pre_ins", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "@fuel_irrelevance_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Vale.State_i_interpretation_Tm_arrow_76f16c4ba6b1cb416c6c6aa8cade2cee", - "X64.Vale.State_i_pretyping_de52c7fd4c52e1942aeef9a9143c43bf", - "X64.Vale.StrongPost_i_pretyping_b57a61b8460583814cc6086893d3abc9", - "assumption_X64.Machine_s.reg__uu___haseq", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.MConst", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Machine_s.Rsp", - "constructor_distinct_X64.Vale.StrongPost_i.Adc64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.Add64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.And64", - "constructor_distinct_X64.Vale.StrongPost_i.IMul64", - "constructor_distinct_X64.Vale.StrongPost_i.Load64", - "constructor_distinct_X64.Vale.StrongPost_i.Mov64", - "constructor_distinct_X64.Vale.StrongPost_i.Mul64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.Shr64", - "constructor_distinct_X64.Vale.StrongPost_i.Store64", - "constructor_distinct_X64.Vale.StrongPost_i.Sub64", - "data_elim_X64.Machine_s.OConst", - "data_elim_X64.Vale.State_i.Mkstate", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_X64.Vale.State_i.Mkstate@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "disc_equation_X64.Vale.StrongPost_i.Adc64Wrap", - "disc_equation_X64.Vale.StrongPost_i.Add64Wrap", - "disc_equation_X64.Vale.StrongPost_i.And64", - "disc_equation_X64.Vale.StrongPost_i.IMul64", - "disc_equation_X64.Vale.StrongPost_i.Load64", - "disc_equation_X64.Vale.StrongPost_i.Mov64", - "disc_equation_X64.Vale.StrongPost_i.Mul64Wrap", - "disc_equation_X64.Vale.StrongPost_i.Shr64", - "disc_equation_X64.Vale.StrongPost_i.Store64", - "disc_equation_X64.Vale.StrongPost_i.Sub64", - "equality_tok_X64.Machine_s.Rax@tok", - "equality_tok_X64.Machine_s.Rdx@tok", - "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.dst_op", - "equation_X64.Machine_s.nat64", "equation_X64.Machine_s.valid_dst", - "equation_X64.Vale.Decls.va_ensure", - "equation_X64.Vale.Decls.va_reg_operand", - "equation_X64.Vale.Decls.va_require", - "equation_X64.Vale.Decls.va_state_eq", - "equation_X64.Vale.Decls.va_update_operand", - "equation_X64.Vale.Regs_i.t", "equation_X64.Vale.State_i.add_wrap", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.State_i.eval_operand", - "equation_X64.Vale.State_i.state_eq", - "equation_X64.Vale.State_i.update_reg", - "equation_X64.Vale.State_i.valid_maddr", - "equation_X64.Vale.State_i.valid_operand", - "equation_X64.Vale.StrongPost_i.eval_operand_norm", - "equation_X64.Vale.StrongPost_i.valid_maddr_norm", - "equation_X64.Vale.StrongPost_i.valid_operand_norm", - "equation_with_fuel_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Machine_s.operand", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "int_inversion", "int_typing", - "interpretation_Tm_abs_bde726dfeb2837d96e43a155f7c873f5", - "kinding_X64.Vale.State_i.state@tok", - "kinding_X64.Vale.StrongPost_i.ins@tok", "l_and-interp", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Pervasives.invertOption", - "lemma_X64.Vale.Regs_i.lemma_equal_elim", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "proj_equation_X64.Machine_s.OReg_r", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "proj_equation_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.Add64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.And64_dst", - "proj_equation_X64.Vale.StrongPost_i.IMul64_dst", - "proj_equation_X64.Vale.StrongPost_i.Load64_dst", - "proj_equation_X64.Vale.StrongPost_i.Load64_src", - "proj_equation_X64.Vale.StrongPost_i.Mov64_dst", - "proj_equation_X64.Vale.StrongPost_i.Shr64_dst", - "proj_equation_X64.Vale.StrongPost_i.Store64_dst", - "proj_equation_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.MConst_n", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.State_i.Mkstate_flags", - "projection_inverse_X64.Vale.State_i.Mkstate_mem", - "projection_inverse_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.And64_amt", - "projection_inverse_X64.Vale.StrongPost_i.And64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_src", - "projection_inverse_X64.Vale.StrongPost_i.Load64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Load64_offset", - "projection_inverse_X64.Vale.StrongPost_i.Load64_src", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_src", - "projection_inverse_X64.Vale.StrongPost_i.Mul64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_amt", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Store64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Store64_offset", - "projection_inverse_X64.Vale.StrongPost_i.Store64_src", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_src", - "refinement_interpretation_Tm_refine_059fb7e36b37aa500817c1dfb9940fd8", - "refinement_interpretation_Tm_refine_33c23e946048d3d79f362ad9f81ccafe", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_7e7d860c9a7f82e99838e098518d6f0b", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_interpretation_Tm_refine_e85c4468bd6fa895770a44e5ae1526dc", - "refinement_interpretation_Tm_refine_e9b3e2ef72d43c9aa6ae2a423112456c", - "refinement_interpretation_Tm_refine_ff50a8c23b926f3de83da6821911823f", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "token_correspondence_X64.Vale.State_i.__proj__Mkstate__item__regs", - "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_Prims.int", "typing_X64.Machine_s.int_to_nat64", - "typing_X64.Vale.Decls.va_lemma_Adc64Wrap", - "typing_X64.Vale.Decls.va_lemma_Add64Wrap", - "typing_X64.Vale.Decls.va_lemma_Load64", - "typing_X64.Vale.Decls.va_update_operand", - "typing_X64.Vale.State_i.__proj__Mkstate__item__flags", - "typing_X64.Vale.State_i.__proj__Mkstate__item__mem", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs", - "typing_X64.Vale.State_i.add_wrap", - "typing_X64.Vale.State_i.eval_operand", - "typing_X64.Vale.State_i.update_reg", - "typing_X64.Vale.StrongPost_i.eval_operand_norm", - "typing_X64.Vale.StrongPost_i.inss_to_codes", - "typing_X64.Vale.StrongPost_i.valid_operand_norm", - "typing_tok_X64.Machine_s.Rax@tok", - "typing_tok_X64.Machine_s.Rdx@tok", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "6c48edda72d7bb2a138c56ac638e0a7d" - ], - [ - "X64.Vale.StrongPost_i.lemma_weak_pre", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "@query", "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "X64.Vale.State_i_pretyping_de52c7fd4c52e1942aeef9a9143c43bf", - "binder_x_64054ab5c496dbf376bb97c3f7e4eb60_0", - "binder_x_de52c7fd4c52e1942aeef9a9143c43bf_1", - "binder_x_de52c7fd4c52e1942aeef9a9143c43bf_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Nil", - "data_elim_X64.Vale.State_i.Mkstate", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_X64.Machine_s.Rsp@tok", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.nat", "equation_X64.Machine_s.nat64", - "equation_X64.Vale.Regs_i.t", - "equation_with_fuel_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_guarded_inversion_X64.Vale.State_i.state", "int_inversion", - "kinding_X64.Vale.State_i.state@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "subterm_ordering_Prims.Cons", - "typing_X64.Vale.State_i.__proj__Mkstate__item__ok", - "typing_tok_X64.Machine_s.Rsp@tok", "unit_inversion", "unit_typing" - ], - 0, - "6bea68a2fc6863c28658426ddeb53130" - ], - [ - "X64.Vale.StrongPost_i.lemma_weakest_pre_norm'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "@fuel_irrelevance_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "bool_typing", - "constructor_distinct_X64.Machine_s.MConst", - "data_elim_X64.Vale.State_i.Mkstate", "equation_Prims.nat", - "equation_X64.Machine_s.nat64", "equation_X64.Vale.Regs_i.t", - "equation_X64.Vale.State_i.eval_maddr", - "equation_X64.Vale.StrongPost_i.augment", - "equation_X64.Vale.StrongPost_i.valid_maddr_norm", - "equation_with_fuel_X64.Vale.StrongPost_i.inss_to_codes.fuel_instrumented", - "fuel_guarded_inversion_X64.Vale.State_i.state", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "proj_equation_X64.Vale.State_i.Mkstate_flags", - "proj_equation_X64.Vale.State_i.Mkstate_mem", - "proj_equation_X64.Vale.State_i.Mkstate_ok", - "proj_equation_X64.Vale.State_i.Mkstate_regs", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_X64.Machine_s.MConst_n", - "projection_inverse_X64.Vale.State_i.Mkstate_regs", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "refinement_kinding_Tm_refine_a608a89bbc0a207d5920d37d906f7f40", - "typing_FStar.Map.contains", "typing_Prims.int", - "typing_X64.Vale.State_i.__proj__Mkstate__item__regs" - ], - 0, - "c3df9ac1dfbba0d5f7407c81c65aab65" - ] - ] -] \ No newline at end of file diff --git a/tests/vale/X64.Vale.StrongPost_i.fsti.hints b/tests/vale/X64.Vale.StrongPost_i.fsti.hints deleted file mode 100644 index f7deccdde6e..00000000000 --- a/tests/vale/X64.Vale.StrongPost_i.fsti.hints +++ /dev/null @@ -1,412 +0,0 @@ -[ - "‚5.ÏÏm`_¬fM£Èi\u0014G", - [ - [ - "X64.Vale.StrongPost_i.ins", - 1, - 1, - 0, - [ "@query", "assumption_X64.Machine_s.operand__uu___haseq" ], - 0, - "7aee26f870c12d61b579c4287c40e3f3" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mov64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" - ], - 0, - "df53a678757d514a8b99814739f54e29" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mov64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_40cd61a9068cbeed2a346b66c4d06035" - ], - 0, - "35e9f0ff11f99c6f08a9f8503eebd6b2" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "305397f73a004d48fd99f22e82333d3f" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "967cb56e863b36ffe559a304fa1bb8e5" - ], - [ - "X64.Vale.StrongPost_i.__proj__Load64__item__offset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_328c39e52cac4f714a2fd55744d2632c" - ], - 0, - "0ab64fbf7dc266f30585ccb135436a1b" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "dd5f067180650db79a5136f77fa28a46" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "763595abeefb810bfc01b737a193a46b" - ], - [ - "X64.Vale.StrongPost_i.__proj__Store64__item__offset", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f5d1e4d4ea78ee50a5c8db0f990998d3" - ], - 0, - "5a238a4cfc0635c97e4ab6da8f9551ef" - ], - [ - "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" - ], - 0, - "8edb4bf0a6a855764ef9d70db11fd59d" - ], - [ - "X64.Vale.StrongPost_i.__proj__Add64Wrap__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8af824417febca2dd666f55860e37123" - ], - 0, - "99081e2ca0aaf32321fad21b2c34cfcf" - ], - [ - "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" - ], - 0, - "ce5e837271549c7dea257f2c05c68884" - ], - [ - "X64.Vale.StrongPost_i.__proj__Adc64Wrap__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecd294cd2663e86c405e1ba18cfc9132" - ], - 0, - "0fe80a279a4678a854d2bd15d15e1d16" - ], - [ - "X64.Vale.StrongPost_i.__proj__Mul64Wrap__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cdee9644b84d60ced7b907e879e8f711" - ], - 0, - "a30b47bc2a024a152b3f50e91213858d" - ], - [ - "X64.Vale.StrongPost_i.__proj__IMul64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" - ], - 0, - "fcd0941977a95f68c811e9b479691b9e" - ], - [ - "X64.Vale.StrongPost_i.__proj__IMul64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_682d3d695d007eebd7b34b81e68201a2" - ], - 0, - "65b563b1d3e033a65677a3c19a5ca111" - ], - [ - "X64.Vale.StrongPost_i.__proj__And64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" - ], - 0, - "04f5b7b906c06522fcd50570af9ebc3f" - ], - [ - "X64.Vale.StrongPost_i.__proj__And64__item__amt", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5dc689cbcdb3326b49d445a095bac099" - ], - 0, - "e30c42bebab5b193edab609066a58800" - ], - [ - "X64.Vale.StrongPost_i.__proj__Shr64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" - ], - 0, - "00ffd8f926307d1d54d4f7ceb46a3e41" - ], - [ - "X64.Vale.StrongPost_i.__proj__Shr64__item__amt", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9d8aaa9f141413804a9831bfdf4fa3af" - ], - 0, - "c433233199f4114b63e48ff01d5c57dc" - ], - [ - "X64.Vale.StrongPost_i.__proj__Sub64__item__dst", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" - ], - 0, - "5011d5d908716c954039c50696864069" - ], - [ - "X64.Vale.StrongPost_i.__proj__Sub64__item__src", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a2af6d0ec73b071a6dcad5176f1f0e2" - ], - 0, - "b1729edaa99a874461acbfaede37190c" - ], - [ - "X64.Vale.StrongPost_i.valid_operand_norm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e3edd7dca282c7f6e9a1ea4d6260f551" - ], - [ - "X64.Vale.StrongPost_i.eval_operand_norm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OMem", - "disc_equation_X64.Machine_s.OReg", - "fuel_guarded_inversion_X64.Machine_s.operand", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "dc2d3113e056ca4bf1786702062f46de" - ], - [ - "X64.Vale.StrongPost_i.regs_match", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "X64.Machine_s_pretyping_b7c45855ed90996ceceb34aa61de24e7", - "binder_x_136fd5270a258ddaaad5b0c5f45f8938_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_X64.Machine_s.Rsp@tok", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons", - "typing_tok_X64.Machine_s.Rsp@tok" - ], - 0, - "cecbafb7384d20fbd473c34a3cabff7a" - ], - [ - "X64.Vale.StrongPost_i.inss_to_codes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "X64.Vale.StrongPost_i_pretyping_b57a61b8460583814cc6086893d3abc9", - "binder_x_64054ab5c496dbf376bb97c3f7e4eb60_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_X64.Machine_s.OReg", - "constructor_distinct_X64.Vale.StrongPost_i.Adc64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.Add64Wrap", - "constructor_distinct_X64.Vale.StrongPost_i.And64", - "constructor_distinct_X64.Vale.StrongPost_i.IMul64", - "constructor_distinct_X64.Vale.StrongPost_i.Load64", - "constructor_distinct_X64.Vale.StrongPost_i.Mov64", - "constructor_distinct_X64.Vale.StrongPost_i.Shr64", - "constructor_distinct_X64.Vale.StrongPost_i.Sub64", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_X64.Machine_s.OConst", - "disc_equation_X64.Machine_s.OReg", - "disc_equation_X64.Machine_s.Rsp", - "disc_equation_X64.Vale.StrongPost_i.Adc64Wrap", - "disc_equation_X64.Vale.StrongPost_i.Add64Wrap", - "disc_equation_X64.Vale.StrongPost_i.And64", - "disc_equation_X64.Vale.StrongPost_i.IMul64", - "disc_equation_X64.Vale.StrongPost_i.Load64", - "disc_equation_X64.Vale.StrongPost_i.Mov64", - "disc_equation_X64.Vale.StrongPost_i.Shr64", - "disc_equation_X64.Vale.StrongPost_i.Sub64", - "equation_X64.Machine_s.valid_dst", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_hd", - "proj_equation_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.Add64Wrap_dst", - "proj_equation_X64.Vale.StrongPost_i.And64_dst", - "proj_equation_X64.Vale.StrongPost_i.IMul64_dst", - "proj_equation_X64.Vale.StrongPost_i.Load64_dst", - "proj_equation_X64.Vale.StrongPost_i.Mov64_dst", - "proj_equation_X64.Vale.StrongPost_i.Shr64_dst", - "proj_equation_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_X64.Machine_s.OReg_r", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Adc64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_dst", - "projection_inverse_X64.Vale.StrongPost_i.Add64Wrap_src", - "projection_inverse_X64.Vale.StrongPost_i.And64_amt", - "projection_inverse_X64.Vale.StrongPost_i.And64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_dst", - "projection_inverse_X64.Vale.StrongPost_i.IMul64_src", - "projection_inverse_X64.Vale.StrongPost_i.Load64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Load64_offset", - "projection_inverse_X64.Vale.StrongPost_i.Load64_src", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Mov64_src", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_amt", - "projection_inverse_X64.Vale.StrongPost_i.Shr64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_dst", - "projection_inverse_X64.Vale.StrongPost_i.Sub64_src", - "subterm_ordering_Prims.Cons" - ], - 0, - "5c715ace07abc5f031a2611572951ff9" - ], - [ - "X64.Vale.StrongPost_i.wp_code", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_64054ab5c496dbf376bb97c3f7e4eb60_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "84cacc1b20fada0a65c80fa8d9a90eb4" - ], - [ - "X64.Vale.StrongPost_i.va_lemma_weakest_pre_norm_wp", - 1, - 1, - 0, - [ "@query" ], - 0, - "362d9dfc2a755b4563a230e3d7e2ab48" - ] - ] -] \ No newline at end of file diff --git a/ucontrib/CoreCrypto/fst/CoreCrypto.fst b/ucontrib/CoreCrypto/fst/CoreCrypto.fst deleted file mode 100644 index 05dfaf2afb3..00000000000 --- a/ucontrib/CoreCrypto/fst/CoreCrypto.fst +++ /dev/null @@ -1,247 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module CoreCrypto - -open Platform.Bytes - -(* ------------ Hashing ------------ *) -type hash_alg = - | MD5 - | SHA1 - | SHA224 - | SHA256 - | SHA384 - | SHA512 - -let hashSize = function - | MD5 -> 16 - | SHA1 -> 20 - | SHA224 -> 28 - | SHA256 -> 32 - | SHA384 -> 48 - | SHA512 -> 64 - -(* These implementations are not pure; to be upgraded! *) -assume val hash : alg:hash_alg -> bytes -> Tot (h:bytes{length h = hashSize alg}) -assume val hmac : alg:hash_alg -> bytes -> bytes -> Tot (h:bytes{length h = hashSize alg}) - -(* Digest functions *) -assume type hash_ctx : Type0 (* SI: or assume_new_abstract_type?*) -assume val digest_create : hash_alg -> EXT hash_ctx -assume val digest_update : hash_ctx -> bytes -> EXT unit -assume val digest_final : hash_ctx -> EXT bytes - -(* --------------------------- *) - - -type sig_alg = | RSASIG | DSA | ECDSA | RSAPSS -type block_cipher = | AES_128_CBC | AES_256_CBC | TDES_EDE_CBC -type stream_cipher = | RC4_128 -type rsa_padding = | Pad_none | Pad_PKCS1 - -(* NB these constant functions must *exactly* match those in the - trusted CoreCrypto.ml. We should compile them instead! *) - -let blockSize = function - | TDES_EDE_CBC -> 8 - | AES_128_CBC -> 16 - | AES_256_CBC -> 16 - -(* Authenticated Encryption for TLS. - Note that their AAD contents depends on the protocol version. *) - -type aead_cipher = - | AES_128_GCM - | AES_256_GCM - | CHACHA20_POLY1305 - | AES_128_CCM // "Counter with CBC-Message Authentication Code" - | AES_256_CCM - | AES_128_CCM_8 // variant with truncated 8-byte tags - | AES_256_CCM_8 - -// the key materials consist of an encryption key, a static IV, and an authentication key. - -let aeadKeySize = function - | AES_128_CCM -> 16 - | AES_128_CCM_8 -> 16 - | AES_128_GCM -> 16 - | AES_256_CCM -> 32 - | AES_256_CCM_8 -> 32 - | AES_256_GCM -> 32 - | CHACHA20_POLY1305 -> 32 - -let aeadRealIVSize (a:aead_cipher) = 12 - -// the ciphertext ends with an authentication tag -let aeadTagSize = function - | AES_128_CCM_8 -> 8 - | AES_256_CCM_8 -> 8 - | AES_128_CCM -> 16 - | AES_256_CCM -> 16 - | AES_128_GCM -> 16 - | AES_256_GCM -> 16 - | CHACHA20_POLY1305 -> 16 - -//16-09-12 added precise concrete spec, matching what we implement in low-level/crypto -//16-09-12 for robustness, we should at least test it when using external crypto. -assume val aead_encryptT: - a: aead_cipher -> - k: lbytes (aeadKeySize a) -> - iv:lbytes (aeadRealIVSize a) -> - ad:bytes -> - plain:bytes -> - GTot (lbytes (length plain + aeadTagSize a)) - -assume val aead_encrypt: - a: aead_cipher -> - k: lbytes (aeadKeySize a) -> - iv:lbytes (aeadRealIVSize a) -> - ad:bytes -> - plain:bytes -> - EXT (c:bytes {c = aead_encryptT a k iv ad plain}) - -assume val aead_decrypt: - a: aead_cipher -> - k: lbytes (aeadKeySize a) -> - iv:lbytes (aeadRealIVSize a) -> - ad:bytes -> - cipher:bytes{length cipher >= aeadTagSize a} -> - EXT (o:option (b:bytes{length b + aeadTagSize a = length cipher}) - {forall (p:bytes). cipher = aead_encryptT a k iv ad p <==> (Some? o /\ Some?.v o == p) }) - - -type rsa_key = { - rsa_mod : bytes; - rsa_pub_exp : bytes; - rsa_prv_exp : option bytes; -} - -type dsa_params = { - dsa_p : bytes; - dsa_q : bytes; - dsa_g : bytes; -} - -type dsa_key = { - dsa_params : dsa_params; - dsa_public : bytes; - dsa_private : option bytes; -} - -type dh_params = { - dh_p : bytes; - dh_g : bytes; - dh_q : option bytes; - safe_prime : bool; -} - -type dh_key = { - dh_params : dh_params; - dh_public : bytes; - dh_private : option bytes; -} - -(* TODO: revisit the Tot annotations, switch to EXT when appropriate *) - -assume val block_encrypt : block_cipher -> bytes -> bytes -> bytes -> EXT bytes -assume val block_decrypt : block_cipher -> bytes -> bytes -> bytes -> EXT bytes - -assume new type cipher_stream : Type0 -assume val stream_encryptor : stream_cipher -> bytes -> EXT cipher_stream -assume val stream_decryptor : stream_cipher -> bytes -> EXT cipher_stream -assume val stream_process : cipher_stream -> bytes -> EXT bytes -assume val stream_fini : cipher_stream -> EXT unit - -assume val random : l:nat -> EXT (lbytes l) - -assume val rsa_gen_key : int -> EXT (k:rsa_key{Some? k.rsa_prv_exp}) -assume val rsa_encrypt : rsa_key -> rsa_padding -> bytes -> EXT bytes -assume val rsa_decrypt : k:rsa_key{Some? k.rsa_prv_exp} -> rsa_padding -> bytes -> EXT (option bytes) -assume val rsa_sign : option hash_alg -> k:rsa_key{Some? k.rsa_prv_exp} -> pss:bool -> bytes -> EXT bytes -assume val rsa_verify : option hash_alg -> rsa_key -> pss:bool -> bytes -> bytes -> EXT bool - -assume val dsa_gen_key : int -> EXT (k:dsa_key{Some? k.dsa_private}) -assume val dsa_sign : option hash_alg -> k:dsa_key{Some? k.dsa_private} -> bytes -> EXT bytes -assume val dsa_verify : option hash_alg -> dsa_key -> bytes -> bytes -> Tot bool - -assume val dh_gen_params : int -> EXT dh_params -assume val dh_gen_key : p:dh_params -> EXT (k:dh_key{Some? k.dh_private /\ k.dh_params = p /\ length k.dh_public <= length p.dh_p}) -assume val dh_agreement : k:dh_key{Some? k.dh_private} -> bytes -> EXT bytes - -(* type ec_prime = { ecp_prime : string; ecp_order : string; ecp_a : string; ecp_b : string; ecp_gx : string; ecp_gy : string; ecp_bytelen : int; ecp_id : bytes; } *) - -type ec_curve = - | ECC_P256 - | ECC_P384 - | ECC_P521 - | ECC_X25519 - | ECC_X448 - -(* Bytelen of field elements *) -val ec_bytelen: ec_curve -> Tot (n:nat{n <= 127}) -let ec_bytelen = function - | ECC_P256 -> 32 - | ECC_P384 -> 48 - | ECC_P521 -> 66 (* ceil(521/8) *) - | ECC_X25519 -> 32 - | ECC_X448 -> 56 - -type ec_params = { - curve: ec_curve; - point_compression: bool; -} - -type ec_point = { - ecx : bytes; - ecy : bytes; -} - -type ec_key = { - ec_params : ec_params; - ec_point : ec_point; - ec_priv : option bytes; -} - -assume val ec_is_on_curve: ec_params -> ec_point -> Tot bool -assume val ecdh_agreement: k:ec_key{Some? k.ec_priv} -> ec_point -> EXT bytes - -assume val ecdsa_sign: option hash_alg -> k:ec_key{Some? k.ec_priv} -> bytes -> EXT bytes -assume val ecdsa_verify: option hash_alg -> ec_key -> bytes -> bytes -> EXT bool -assume val ec_gen_key: p:ec_params - -> EXT (k:ec_key{Some? k.ec_priv /\ k.ec_params = p /\ - length k.ec_point.ecx = ec_bytelen k.ec_params.curve /\ - length k.ec_point.ecy = ec_bytelen k.ec_params.curve}) - -//TODO: keep also abtsract OpenSSL representation for efficiency? -type key = - | KeyRSA of rsa_key - | KeyDSA of dsa_key - | KeyECDSA of ec_key - -// If we are careless we can cause openssl segfaults when signing or encrypting -// with keys that are missing the "private" field. -// The only has_priv keys are the ones loaded with load_key and or generated with gen_key -let has_priv : key -> Type0 = function - | KeyRSA k -> Some? k.rsa_prv_exp - | KeyDSA k -> Some? k.dsa_private - | KeyECDSA k -> Some? k.ec_priv - -assume val validate_chain: der_list:list bytes -> for_signing:bool -> hostname:option string -> ca_file:string -> Tot bool -assume val get_key_from_cert: bytes -> Tot (option key) -assume val hash_and_sign: k:key{has_priv k} -> hash_alg -> bytes -> Tot bytes -assume val verify_signature: key -> hash_alg -> tbs:bytes -> sigv:bytes -> Tot bool -assume val load_chain: pemfile:string -> Tot (option (list bytes)) -assume val load_key: keyfile:string -> Tot (option (k:key{has_priv k})) diff --git a/ucontrib/CoreCrypto/fst/CoreCrypto.fst.hints b/ucontrib/CoreCrypto/fst/CoreCrypto.fst.hints deleted file mode 100644 index 356c2f454a7..00000000000 --- a/ucontrib/CoreCrypto/fst/CoreCrypto.fst.hints +++ /dev/null @@ -1,336 +0,0 @@ -[ - "K›\nˆaQ%y#L\u001cÕswÝ\u007f", - [ - [ - "CoreCrypto.hashSize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_CoreCrypto.MD5", - "disc_equation_CoreCrypto.SHA1", "disc_equation_CoreCrypto.SHA224", - "disc_equation_CoreCrypto.SHA256", "disc_equation_CoreCrypto.SHA384", - "disc_equation_CoreCrypto.SHA512", - "fuel_guarded_inversion_CoreCrypto.hash_alg", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4cd1ac1ea9bd38f924a34bc1f89c398e" - ], - [ - "CoreCrypto.blockSize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_CoreCrypto.AES_128_CBC", - "disc_equation_CoreCrypto.AES_256_CBC", - "disc_equation_CoreCrypto.TDES_EDE_CBC", - "fuel_guarded_inversion_CoreCrypto.block_cipher", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d0d0cf55d7bfe9c3707d4f729c09a3de" - ], - [ - "CoreCrypto.aeadKeySize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_CoreCrypto.AES_128_CCM", - "disc_equation_CoreCrypto.AES_128_CCM_8", - "disc_equation_CoreCrypto.AES_128_GCM", - "disc_equation_CoreCrypto.AES_256_CCM", - "disc_equation_CoreCrypto.AES_256_CCM_8", - "disc_equation_CoreCrypto.AES_256_GCM", - "disc_equation_CoreCrypto.CHACHA20_POLY1305", - "fuel_guarded_inversion_CoreCrypto.aead_cipher", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4c2906be69643ce6df2a0fbe064ef996" - ], - [ - "CoreCrypto.aeadTagSize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_CoreCrypto.AES_128_CCM", - "disc_equation_CoreCrypto.AES_128_CCM_8", - "disc_equation_CoreCrypto.AES_128_GCM", - "disc_equation_CoreCrypto.AES_256_CCM", - "disc_equation_CoreCrypto.AES_256_CCM_8", - "disc_equation_CoreCrypto.AES_256_GCM", - "disc_equation_CoreCrypto.CHACHA20_POLY1305", - "fuel_guarded_inversion_CoreCrypto.aead_cipher", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "88d6409ae9f2b861b7cf65247eebe06d" - ], - [ - "CoreCrypto.aead_encryptT", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_CoreCrypto.aeadKeySize", - "equation_CoreCrypto.aeadRealIVSize", - "equation_CoreCrypto.aeadTagSize", "equation_Platform.Bytes.length", - "equation_Prims.nat", - "fuel_guarded_inversion_CoreCrypto.aead_cipher", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Platform.Bytes.length" - ], - 0, - "f0c195d88f5b90af621cce3e48a8e9ff" - ], - [ - "CoreCrypto.aead_encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_CoreCrypto.aeadKeySize", - "equation_CoreCrypto.aeadRealIVSize", - "fuel_guarded_inversion_CoreCrypto.aead_cipher", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1249447b8682a2e429570741edfd8f62" - ], - [ - "CoreCrypto.aead_decrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_CoreCrypto.aeadKeySize", - "equation_CoreCrypto.aeadRealIVSize", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_CoreCrypto.aead_cipher", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Platform.Bytes.length", "typing_Prims.int" - ], - 0, - "c9b26e5b6b10aafc15faa16c26230db8" - ], - [ - "CoreCrypto.rsa_key", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "typing_Platform.Bytes.bytes" - ], - 0, - "0106000d97ceb1ea17164c34459626c8" - ], - [ - "CoreCrypto.dsa_params", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "dfc15253531a988c5d465d3ebbe9d833" - ], - [ - "CoreCrypto.dsa_key", - 1, - 2, - 1, - [ - "@query", "assumption_CoreCrypto.dsa_params__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "typing_Platform.Bytes.bytes" - ], - 0, - "868279ba7c82cdd1ca00806ae11e542b" - ], - [ - "CoreCrypto.dh_params", - 1, - 2, - 1, - [ - "@query", "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "typing_Platform.Bytes.bytes" - ], - 0, - "3ed133da8b9576815a282b30f1080616" - ], - [ - "CoreCrypto.dh_key", - 1, - 2, - 1, - [ - "@query", "assumption_CoreCrypto.dh_params__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "typing_Platform.Bytes.bytes" - ], - 0, - "8af486d75836da8bb81001da962fa5c1" - ], - [ - "CoreCrypto.dh_gen_key", - 1, - 2, - 1, - [ "@query", "assumption_CoreCrypto.dh_params__uu___haseq" ], - 0, - "cacc2b0056e1c5a6a9dc7818c928a193" - ], - [ - "CoreCrypto.ec_bytelen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_CoreCrypto.ECC_P256", - "disc_equation_CoreCrypto.ECC_P384", - "disc_equation_CoreCrypto.ECC_P521", - "disc_equation_CoreCrypto.ECC_X25519", - "disc_equation_CoreCrypto.ECC_X448", - "fuel_guarded_inversion_CoreCrypto.ec_curve", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "11ac85dec55ff7ad47ba684208d8dcd6" - ], - [ - "CoreCrypto.ec_params", - 1, - 2, - 1, - [ "@query", "assumption_CoreCrypto.ec_curve__uu___haseq" ], - 0, - "9da419d98dc6deabde25e9bcecacfeb2" - ], - [ - "CoreCrypto.ec_point", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "21da672fcfe5be4801ea80c66abd589e" - ], - [ - "CoreCrypto.ec_key", - 1, - 2, - 1, - [ - "@query", "assumption_CoreCrypto.ec_params__uu___haseq", - "assumption_CoreCrypto.ec_point__uu___haseq", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.bytes", "typing_Platform.Bytes.bytes" - ], - 0, - "27d71b655acf0593bb87f78177392c40" - ], - [ - "CoreCrypto.ec_gen_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_CoreCrypto.ec_params__uu___haseq", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ba2818edcf89dc52ee268e45f8bd6774" - ], - [ - "CoreCrypto.key", - 1, - 2, - 1, - [ - "@query", "assumption_CoreCrypto.dsa_key__uu___haseq", - "assumption_CoreCrypto.ec_key__uu___haseq", - "assumption_CoreCrypto.rsa_key__uu___haseq" - ], - 0, - "4de181b7ae81e39d3d887891b6b17456" - ], - [ - "CoreCrypto.__proj__KeyRSA__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0ccdfda7973351dc5ff7cc6bafd38aaa" - ], - 0, - "b7f95e1431c314445c037c659d0d6697" - ], - [ - "CoreCrypto.__proj__KeyDSA__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8184647406e79faa584c9195e044d39a" - ], - 0, - "284507aba6cb59b018cf4088a6e3ba2c" - ], - [ - "CoreCrypto.__proj__KeyECDSA__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79c3e6481f3e7856a6797273cdc8189d" - ], - 0, - "391a33e972bc7338012f78363b7987fe" - ], - [ - "CoreCrypto.has_priv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_CoreCrypto.KeyDSA", - "disc_equation_CoreCrypto.KeyECDSA", - "disc_equation_CoreCrypto.KeyRSA", - "fuel_guarded_inversion_CoreCrypto.key", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e8ba635f2294b96afca0ec5e4800771b" - ] - ] -] \ No newline at end of file diff --git a/ucontrib/CoreCrypto/fst/DHDB.fst b/ucontrib/CoreCrypto/fst/DHDB.fst deleted file mode 100644 index 6a1c5542caf..00000000000 --- a/ucontrib/CoreCrypto/fst/DHDB.fst +++ /dev/null @@ -1,38 +0,0 @@ -(* - Copyright 2008-2018 Microsoft Research - - Licensed under the Apache License, Version 2.0 (the "License"); - you may not use this file except in compliance with the License. - You may obtain a copy of the License at - - http://www.apache.org/licenses/LICENSE-2.0 - - Unless required by applicable law or agreed to in writing, software - distributed under the License is distributed on an "AS IS" BASIS, - WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. - See the License for the specific language governing permissions and - limitations under the License. -*) -module DHDB -open Platform.Bytes -open CoreCrypto - -type key = bytes & bytes // p, g -type value = bytes & bool // q, safe_prime? - -assume new type dhdb : Type0 - -assume val defaultFileName: string -assume val defaultDHPrimeConfidence: int -assume val defaultPQMinLength: nat & nat - -assume val create: string -> dhdb -assume val select: dhdb -> key -> option value -assume val insert: dhdb -> key -> value -> dhdb -assume val remove: dhdb -> key -> dhdb -assume val keys : dhdb -> list key -assume val merge : dhdb -> string -> dhdb - -assume val dh_check_params: dhdb -> int -> (int & int) -> bytes -> bytes -> option (dhdb & dh_params) -assume val dh_check_element: dh_params -> bytes -> bool -assume val load_default_params: string -> dhdb -> (int & int) -> (dhdb & dh_params) diff --git a/ucontrib/CoreCrypto/fst/DHDB.fst.hints b/ucontrib/CoreCrypto/fst/DHDB.fst.hints deleted file mode 100644 index e362c610eb3..00000000000 --- a/ucontrib/CoreCrypto/fst/DHDB.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "yQ&«R€³Î…‹=\n\u001a~Hü", [] ] \ No newline at end of file diff --git a/ucontrib/Platform/fst/Platform.Bytes.fst.hints b/ucontrib/Platform/fst/Platform.Bytes.fst.hints deleted file mode 100644 index b9443f98520..00000000000 --- a/ucontrib/Platform/fst/Platform.Bytes.fst.hints +++ /dev/null @@ -1,379 +0,0 @@ -[ - "I¿E\bävµ\u0011´ÙEKçJ¾[", - [ - [ - "Platform.Bytes.lbytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3bb639ebc6b627b49c896920d06a8681" - ], - [ - "Platform.Bytes.empty_bytes", - 1, - 2, - 1, - [ "@query", "equation_Platform.Bytes.length" ], - 0, - "9a3b392dd3e7caea247b09f64623021e" - ], - [ - "Platform.Bytes.cbyte", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f61c0ee1ebed7248bd016eb62ec2174" - ], - 0, - "c639572afe3e5ef85b5313408c4aaf78" - ], - [ - "Platform.Bytes.cbyte2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ea5dbefce270769c7885e1a331aaf62b" - ], - 0, - "921bb35d68e8b8a2e5c71deca0127096" - ], - [ - "Platform.Bytes.index", - 1, - 2, - 1, - [ "@query" ], - 0, - "50ef8ced84685abceadb3d94e1922778" - ], - [ - "Platform.Bytes.createBytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Platform.Bytes.length", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt8.t" - ], - 0, - "ca5b8e41c2f5670d229b059846891d16" - ], - [ - "Platform.Bytes.initBytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Platform.Bytes_interpretation_Tm_arrow_21e30605255fc38aaeb948ae6522c51a", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt8.t" - ], - 0, - "4b76b96028ddaeb8dc042fdc1e1489fa" - ], - [ - "Platform.Bytes.equalBytes", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "bde357b70bf2cbd0870f8c2e7f335f57" - ], - [ - "Platform.Bytes.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "39ca522e4fa7598fcd77d05d429d5f33" - ], - [ - "Platform.Bytes.split", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_Platform.Bytes.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_667a832d49afa5939e79462b1abb7118", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "6f37638c6959d11533d6f21d0b4dc679" - ], - [ - "Platform.Bytes.lemma_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", - "equation_Platform.Bytes.length", - "refinement_interpretation_Tm_refine_9765e8d5fa76912a9e96f2f886b65533" - ], - 0, - "3fee281ce73f7cb9c530d42a844e6eca" - ], - [ - "Platform.Bytes.lemma_split", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_Platform.Bytes.bytes", "equation_Platform.Bytes.length", - "equation_Platform.Bytes.op_At_Bar", "equation_Platform.Bytes.split", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9765e8d5fa76912a9e96f2f886b65533", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_aec271157dda1ea0055f91dea0fb91e2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "typing_Platform.Bytes.length" - ], - 0, - "2e1c22cbcaa958a941ef65c4c85e6c03" - ], - [ - "Platform.Bytes.split_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ee644097b2155c712db6fcde3f5ffb19" - ], - [ - "Platform.Bytes.split_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Platform.Bytes.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9765e8d5fa76912a9e96f2f886b65533", - "refinement_interpretation_Tm_refine_aec271157dda1ea0055f91dea0fb91e2", - "typing_Prims.int" - ], - 0, - "9656803f781b33bcfeb7a8e584c51899" - ], - [ - "Platform.Bytes.lemma_append_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1ad03e1cbfbaa809904e8cf191b5ffdd" - ], - [ - "Platform.Bytes.lemma_append_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff68bbc66498660cf8a56d0140b80760" - ], - [ - "Platform.Bytes.append_empty_bytes_l", - 1, - 2, - 1, - [ - "@query", "equation_Platform.Bytes.empty_bytes", - "equation_Platform.Bytes.op_At_Bar" - ], - 0, - "ce88fa281e174a3cdede503139c20bac" - ], - [ - "Platform.Bytes.append_empty_bytes_r", - 1, - 2, - 1, - [ - "@query", "equation_Platform.Bytes.empty_bytes", - "equation_Platform.Bytes.op_At_Bar" - ], - 0, - "5e1eb72101a0d31f97b1973b32231f27" - ], - [ - "Platform.Bytes.append_assoc", - 1, - 2, - 1, - [ "@query", "equation_Platform.Bytes.op_At_Bar" ], - 0, - "d83b368f374d9f6433ea264df61efa45" - ], - [ - "Platform.Bytes.split2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Platform.Bytes.length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2a78c953ca46f869031ed988eff33673" - ], - 0, - "837100cbcfaa7c702c62bdccba445192" - ], - [ - "Platform.Bytes.int_of_bytes", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "aeb11575c9dda61c578fa1269f6c6e83" - ], - [ - "Platform.Bytes.int_of_bytes_of_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Platform.Bytes.HasEq_bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "32f9278959515f94b88cc146390f4a2f" - ], - [ - "Platform.Bytes.iutf8_opt", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "c1675be67b26345a8431bb8b3a36dbc0" - ], - [ - "Platform.Bytes.iutf8", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "ce7d7620a3bd931f6a8d4e6af576e02e" - ], - [ - "Platform.Bytes.byte_of_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Platform.Bytes.lbytes", - "equation_Platform.Bytes.length", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_31c7d3d85d92cb942c95a78642e657c7", - "refinement_interpretation_Tm_refine_b3982a6d174e1d047431ae85c35dc7d8" - ], - 0, - "9aee5df4ee9de28ec814ecb425e46c7b" - ] - ] -] \ No newline at end of file diff --git a/ucontrib/Platform/fst/Platform.Date.fst.hints b/ucontrib/Platform/fst/Platform.Date.fst.hints deleted file mode 100644 index c3c6ac0f82a..00000000000 --- a/ucontrib/Platform/fst/Platform.Date.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0012\u0001«Aj­WÖ&ª¾äÕB\u001e\u0016", [] ] \ No newline at end of file diff --git a/ucontrib/Platform/fst/Platform.Error.fst.hints b/ucontrib/Platform/fst/Platform.Error.fst.hints deleted file mode 100644 index a8bca57f274..00000000000 --- a/ucontrib/Platform/fst/Platform.Error.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "Íñd\u001d%ð\u0002Üuª.>\f¼?g", - [ - [ - "Platform.Error.optResult", - 1, - 2, - 1, - [ "@query" ], - 0, - "5a2eb370c8ff66ac3bab990e383c70fa" - ], - [ - "Platform.Error.__proj__Error__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f0151274b30a829262d92da67e89984" - ], - 0, - "eae652d2a3a4a8300ce523d56fc4ad52" - ], - [ - "Platform.Error.__proj__Correct__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f6771d5d983d498fcfe07b607b8afdbe" - ], - 0, - "cc60b16571d0f34a4a990fe6f21f2b2c" - ], - [ - "Platform.Error.invertOptResult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_Platform.Error.Correct", - "disc_equation_Platform.Error.Error", - "fuel_guarded_inversion_Platform.Error.optResult", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ca22220d302e66ae424052283b6cbcab" - ] - ] -] \ No newline at end of file diff --git a/ucontrib/Platform/fst/Platform.Tcp.fst.hints b/ucontrib/Platform/fst/Platform.Tcp.fst.hints deleted file mode 100644 index 34ab2a92fe4..00000000000 --- a/ucontrib/Platform/fst/Platform.Tcp.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "¨ðß\u001fÚ\u000bÁ\u0007Åhê‡îp\u0002Ù", - [ - [ - "Platform.Tcp.recv_result", - 1, - 2, - 1, - [ "@query", "assumption_Platform.Bytes.HasEq_bytes" ], - 0, - "2f36bfafa64e4d1a51ea56228e73a23c" - ], - [ - "Platform.Tcp.__proj__RecvError__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_52b43c0350e02e55f362469611c85013" - ], - 0, - "eee6af5edaf5c5c0fd041ba71a9bd57d" - ], - [ - "Platform.Tcp.__proj__Received__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_063ba1a50c9f650b997f512f60f82d49" - ], - 0, - "26e4a2132e51a8177b71631ad0ed63fc" - ] - ] -] \ No newline at end of file diff --git a/ucontrib/Platform/fst/Platform.Udp.fst.hints b/ucontrib/Platform/fst/Platform.Udp.fst.hints deleted file mode 100644 index c3d7278c4cb..00000000000 --- a/ucontrib/Platform/fst/Platform.Udp.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ѹ\u0007ºgà0–\u0011Ò\u001e•‡®ÆÜ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.Equiv.fst.hints b/ulib/.hints/FStar.Algebra.CommMonoid.Equiv.fst.hints deleted file mode 100644 index 2f797c8409f..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.Equiv.fst.hints +++ /dev/null @@ -1,82 +0,0 @@ -[ - "UKH\u0013Ê*$^¾\u0015d\rÁ½\u0011", - [ - [ - "FStar.Algebra.CommMonoid.Equiv.elim_eq_laws", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_47be45ffd8611322d91a144f06c98b33", - "refinement_interpretation_Tm_refine_609c5c7e0247304f283d81720a84abd4", - "refinement_interpretation_Tm_refine_6748cd8e66ff4cdded59c06d76c844c8", - "refinement_interpretation_Tm_refine_d1b2f1d51ec217fc7d0f57abe8ff2fe9" - ], - 0, - "a536e637e2736c53fc03a9d7a37521d9" - ], - [ - "FStar.Algebra.CommMonoid.Equiv.equality_equiv", - 1, - 2, - 1, - [ "@query" ], - 0, - "b91a11d5c340dd3313246f7a81562f87" - ], - [ - "FStar.Algebra.CommMonoid.Equiv.right_identity", - 1, - 2, - 1, - [ "@query" ], - 0, - "2635316d996e77707860bcad04856dbf" - ], - [ - "FStar.Algebra.CommMonoid.Equiv.int_plus_cm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Algebra.CommMonoid.Equiv.equality_equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_d82b071f52606d28a1f5f5870f4b75f9", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq" - ], - 0, - "00486e79633ffb4aa85a10eefc3e6a58" - ], - [ - "FStar.Algebra.CommMonoid.Equiv.int_multiply_cm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Algebra.CommMonoid.Equiv.equality_equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_d82b071f52606d28a1f5f5870f4b75f9", - "primitive_Prims.op_Multiply", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq" - ], - 0, - "04fbd3ca7df94da3015ba1e3c1cbbdfe" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints b/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints deleted file mode 100644 index c4c615f12fc..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fst.hints +++ /dev/null @@ -1,67 +0,0 @@ -[ - "e\u001do»\u007f,öœÖ¾\u0016!\tRÂÓ", - [ - [ - "FStar.Algebra.CommMonoid.Fold.Nested.double_fold_transpose_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Fold.Nested_interpretation_Tm_arrow_4eccfe74002ee383b6f994503fa6cfb5", - "FStar.Matrix_interpretation_Tm_arrow_3d7bc96849fc257334f9101c690df104", - "bool_inversion", "bool_typing", - "equation_FStar.Algebra.CommMonoid.Fold.Nested.double_fold", - "equation_FStar.Algebra.CommMonoid.Fold.Nested.matrix_seq", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Seq.Permutation.foldm_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Fold.Nested.transpose_generator", - "function_token_typing_FStar.Matrix.transposed_matrix_gen", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9e602a369e19fe809d6576e364a90fdf", - "lemma_FStar.Matrix.matrix_fold_equals_fold_of_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_614f823b849fe5e57f8748f10f9e7a97", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_86bc3cf8a4ea00bc19a4cf6c510c10df", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_e5bfeecfaea302c6562cc5349374889f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Fold.Nested.transpose_generator", - "token_correspondence_FStar.Matrix.transposed_matrix_gen", - "typing_FStar.Algebra.CommMonoid.Fold.fold", - "typing_FStar.IntegerIntervals.ifrom_ito", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.IntegerIntervals.interval_size", - "typing_FStar.Matrix.foldm", "typing_FStar.Matrix.get_i", - "typing_FStar.Matrix.get_ij", "typing_FStar.Matrix.get_j", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_Tm_abs_21c5b17ed4c606321cfba8c5c1cb3b5c", - "typing_Tm_abs_54dec0234fc7061e12dd9606db2dc826" - ], - 0, - "dabb9ff6c73a0a7cda478797296494e0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fsti.hints b/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fsti.hints deleted file mode 100644 index 19c7c5152f5..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.Nested.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\"ؾ‚ƒºêDõWtú¯bt#", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fst.hints b/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fst.hints deleted file mode 100644 index b88f5510227..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fst.hints +++ /dev/null @@ -1,473 +0,0 @@ -[ - ",᨜\u0016R£o-¦Ð_ù3Ÿ#", - [ - [ - "FStar.Algebra.CommMonoid.Fold.init_func_from_expr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.counter_for", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "48b241f25b0cc7912c6300ba3e992764" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_64adf08d2b2db30b4ad332da089b0fde_5", - "binder_x_ae567c2fb75be05905677af440075565_4", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "well-founded-ordering-on-nat" - ], - 0, - "94919e5a1b50194424d5a9196e64c88c" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_equality", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@fuel_irrelevance_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_60656de9a5bc42352d608af673e1a3e9", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_64adf08d2b2db30b4ad332da089b0fde_5", - "binder_x_6e68e21135f969c6162d82802c49e4a2_6", - "binder_x_6e68e21135f969c6162d82802c49e4a2_7", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_with_fuel_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "well-founded-ordering-on-nat" - ], - 0, - "c909663ae9f5f3cc06578485b0be5303" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f9c075ad5de2106749efda6a6cd07f91" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_d84d3f71dd2b67c978fa9a12749c03df", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_with_fuel_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "4a4aeaf3fdfb68ff0df5b24ea6c2a07c" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "1d2847dbb6c0a994caca27aeefd44451" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@fuel_irrelevance_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_with_fuel_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "1b0746bd8e25505d62c33551da99b6d3" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "ea7505ea12605b94005eef8bb06f8679" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@fuel_irrelevance_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_004ab0dcd999a4ca656ba6752a7ca202", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_60656de9a5bc42352d608af673e1a3e9", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_75b0350bde6f6ce9778608fc7d59ac98", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_7e9c8688d2daa31ebffbccf539a6daab", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_ba307904070a147e96aa959822fa976c", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_cdfe0c618647212ef2e9549abb9712fb", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_64adf08d2b2db30b4ad332da089b0fde_5", - "binder_x_6e68e21135f969c6162d82802c49e4a2_6", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.init_func_from_expr", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0558aec95819f41538d6290a1688dcd4", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_52faba732a2dd727d9c7ffd1ac5b283b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab56f5ef13a94da150b81f6bf6347085", - "refinement_interpretation_Tm_refine_abca3049a96ec90a7b5c28fbbae3c526", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Permutation.init_func_from_expr", - "typing_FStar.IntegerIntervals.closed_interval_size", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "bd32e1ea45e76b7c3ae6e19ccaac69bf" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "fe91496eb0298492cac003a255746be0" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "fd56364e58dca960491e153ad2f93bd2" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@fuel_irrelevance_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_290c793558102c1b4ad9614d3c547411", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_60656de9a5bc42352d608af673e1a3e9", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22ecdb31f02f9285a5b3f8046ab07263_9", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_542ae837e29cce06af7feab4f366c1fd_8", - "binder_x_64adf08d2b2db30b4ad332da089b0fde_5", - "binder_x_6e68e21135f969c6162d82802c49e4a2_6", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_ae567c2fb75be05905677af440075565_7", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_with_fuel_FStar.Algebra.CommMonoid.Fold.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_4a5f90b7130905d7bd9ab1ce0207e35c", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.closed_interval_size", - "typing_FStar.IntegerIntervals.interval_condition", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "e5f0a6192e760547ca88b3251cd20852" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "a902e37e02136239b2f7f319035966bc" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "4a867d05c34a977e74f10b5ba9190b3b" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "6c709c2d75be77f21ddfa755006ac215" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fsti.hints b/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fsti.hints deleted file mode 100644 index df3f8444284..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.Fold.fsti.hints +++ /dev/null @@ -1,141 +0,0 @@ -[ - "10/s€½Ðúpù¯Bªáé", - [ - [ - "FStar.Algebra.CommMonoid.Fold.init_func_from_expr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.counter_for", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "48b241f25b0cc7912c6300ba3e992764" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_singleton_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e696b089eb697ca442d132ee01b8a455" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_snoc_decomposition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "1d2847dbb6c0a994caca27aeefd44451" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_equals_seq_foldm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "3500028a317f365fed99f46d304e6cdd" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_irrelevance_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "a4b4703c972bb2616b2d2acf73b82079" - ], - [ - "FStar.Algebra.CommMonoid.Fold.fold_offset_elimination_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "4a867d05c34a977e74f10b5ba9190b3b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.CommMonoid.fst.hints b/ulib/.hints/FStar.Algebra.CommMonoid.fst.hints deleted file mode 100644 index 99017c0823f..00000000000 --- a/ulib/.hints/FStar.Algebra.CommMonoid.fst.hints +++ /dev/null @@ -1,38 +0,0 @@ -[ - "þhÎNáT\u0006|IXf]_6bŽ", - [ - [ - "FStar.Algebra.CommMonoid.right_identity", - 1, - 2, - 1, - [ "@query" ], - 0, - "80a06b0d1d70160b8e8e40b89a728b78" - ], - [ - "FStar.Algebra.CommMonoid.int_plus_cm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "56e0f8fd54b69194fac22d4469a18564" - ], - [ - "FStar.Algebra.CommMonoid.int_multiply_cm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "8b3ea5907e40ea735e1bebf4c1b1e927" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Algebra.Monoid.fst.hints b/ulib/.hints/FStar.Algebra.Monoid.fst.hints deleted file mode 100644 index 896920dbe4c..00000000000 --- a/ulib/.hints/FStar.Algebra.Monoid.fst.hints +++ /dev/null @@ -1,322 +0,0 @@ -[ - "+ë,Hgxx&õXý¦×œ›", - [ - [ - "FStar.Algebra.Monoid.intro_monoid", - 1, - 2, - 1, - [ - "@query", "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" - ], - 0, - "0cac39a5962b8f3a0849bc37082dfd78" - ], - [ - "FStar.Algebra.Monoid.nat_plus_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_2bb228db8432d0cdc106cb64c22e55ba", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.nat", "int_inversion", "int_typing", - "interpretation_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76" - ], - 0, - "cc552cf7ea2b2db86eee14aaf31e3380" - ], - [ - "FStar.Algebra.Monoid.int_plus_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_Prims.op_Addition" - ], - 0, - "769472d880411a06a9f22226a4a213d6" - ], - [ - "FStar.Algebra.Monoid.conjunction_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "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.logical", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "true_interp", "typing_FStar.Pervasives.singleton", - "typing_Prims.l_True", "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "2f105c247639a55f9f1024ce7dfec0c5" - ], - [ - "FStar.Algebra.Monoid.disjunction_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "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.logical", - "equation_Prims.prop", "equation_Prims.subtype_of", "false_interp", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "refinement_interpretation_Tm_refine_2fbd657fe85bcb2423f9c7e5f9b3bcb5", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_kinding_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "typing_FStar.Pervasives.singleton", "typing_Prims.l_False", - "unit_typing" - ], - 0, - "b888b67185dd19278520e51550e0c051" - ], - [ - "FStar.Algebra.Monoid.bool_and_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "interpretation_Tm_abs_8939a34eb92f993c93075a413a93c17c", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_8939a34eb92f993c93075a413a93c17c" - ], - 0, - "f85a8f0ea20b36aa3975b814cde9b477" - ], - [ - "FStar.Algebra.Monoid.bool_or_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "interpretation_Tm_abs_97a476600c466721ac503386d260fe4f", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_97a476600c466721ac503386d260fe4f" - ], - 0, - "578e43c87725c8e84e691c774ff856cf" - ], - [ - "FStar.Algebra.Monoid.bool_xor_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_a41b9b98d4288401e09e5c3b51ccc4f5", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "interpretation_Tm_abs_5043f38a94b5783f1a2853ffc23a082c", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_5043f38a94b5783f1a2853ffc23a082c" - ], - 0, - "5177f5b621a1f5da29b03689ada05e27" - ], - [ - "FStar.Algebra.Monoid.lift_monoid_option", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.Monoid_interpretation_Tm_arrow_626a65ce1123f7be4323f3d34a63d3b5", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Algebra.Monoid.Monoid", - "data_elim_FStar.Pervasives.Native.Some", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_9bee8d4e0220718dda8a4314b261cdec", - "proj_equation_FStar.Algebra.Monoid.Monoid_mult", - "proj_equation_FStar.Algebra.Monoid.Monoid_unit", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", - "typing_Tm_abs_9bee8d4e0220718dda8a4314b261cdec" - ], - 0, - "4fbf6c7d04705794060fbdd684e98f1d" - ], - [ - "FStar.Algebra.Monoid.monoid_morphism", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.squash", - "haseqTm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit" - ], - 0, - "911a668d69e0d712bae7f59c3fe6f19b" - ], - [ - "FStar.Algebra.Monoid.intro_monoid_morphism", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e4ee20ed678cbae125a9a76fe0d83fc" - ], - [ - "FStar.Algebra.Monoid.uu___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Algebra.Monoid.embed_nat_int", - "equation_FStar.Algebra.Monoid.int_plus_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.nat_plus_monoid", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_cfa108ea2e44f8f80ea74d6b8d851c76", - "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", - "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", - "token_correspondence_FStar.Algebra.Monoid.embed_nat_int", - "token_correspondence_Prims.op_Addition" - ], - 0, - "ecccd84e9bbf5bb2c2d501c9283a8478" - ], - [ - "FStar.Algebra.Monoid.uu___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "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.logical", - "equation_Prims.prop", "equation_Prims.squash", - "equation_Prims.subtype_of", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "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", - "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", "true_interp", - "typing_FStar.Algebra.Monoid.neg", - "typing_FStar.Pervasives.singleton", "typing_Prims.l_True", - "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "04830c20a8cca9597f90a52383defff7" - ], - [ - "FStar.Algebra.Monoid.uu___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "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.logical", - "equation_Prims.prop", "equation_Prims.subtype_of", "false_interp", - "interpretation_Tm_abs_ddb88df5ee4a7154feb950cac7545c82", - "interpretation_Tm_abs_e65ace1bc8eb1d9d57f576db9701fb13", - "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_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.Algebra.Monoid.neg", - "typing_FStar.Pervasives.singleton", "typing_Prims.l_False", - "unit_typing" - ], - 0, - "276921d73eea94639cb89906bb980491" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Array.fst.hints b/ulib/.hints/FStar.Array.fst.hints deleted file mode 100644 index 6db733c2474..00000000000 --- a/ulib/.hints/FStar.Array.fst.hints +++ /dev/null @@ -1,565 +0,0 @@ -[ - "D\u000e\u0011F†ìÈ%™œ<º£:Ðx", - [ - [ - "FStar.Array.only", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8059b833bda1c88d2b23c5999db4f329" - ], - [ - "FStar.Array.op_At_Bar", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "548a7184c14945fc0f3e11bfd530dd10" - ], - [ - "FStar.Array.op_At_Bar", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.sel", "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_1c18b271f24b11c611b39485cacb006e" - ], - 0, - "70c5be3071a9df62efb61c4dbbe73f9b" - ], - [ - "FStar.Array.create_post", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bf83cf3ac27e9ce95c9ed81e517a5e52" - ], - [ - "FStar.Array.of_seq", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.sel", "equation_FStar.Array.unused_in", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" - ], - 0, - "53d46b24d20b82947662ab589a426af4" - ], - [ - "FStar.Array.to_seq", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.seq" - ], - 0, - "5a781742fd36d15241d49780f696f385" - ], - [ - "FStar.Array.create", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "25e7822fa636f6a61da7e85c505e146f" - ], - [ - "FStar.Array.create", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.sel", "equation_FStar.Array.unused_in", - "equation_FStar.Monotonic.Heap.fresh", "equation_FStar.ST.ref" - ], - 0, - "607940449ee5429448498d57dfb8a064" - ], - [ - "FStar.Array.index", - 1, - 0, - 0, - [ "@query" ], - 0, - "c81855e11904ecbad798406f832eefbb" - ], - [ - "FStar.Array.index", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee" - ], - 0, - "9434baabfcba91e3f9697e914a8cca36" - ], - [ - "FStar.Array.upd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cfd4360f9de55972c8d34a24fb3bed83" - ], - [ - "FStar.Array.upd", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Array.addr_of", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.only", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Seq.Base.seq" - ], - 0, - "1fbe23c4138ea77ca167082878ea7bcb" - ], - [ - "FStar.Array.length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e81c099d01d9b825704a5aa08052dc50" - ], - [ - "FStar.Array.length", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", - "equation_FStar.Heap.trivial_preorder", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", - "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq" - ], - 0, - "3c957dfa21462b9542062717a0441a4c" - ], - [ - "FStar.Array.op", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0523e73d5aace9fb475f51a0c5349750" - ], - [ - "FStar.Array.op", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Array.addr_of", - "equation_FStar.Array.as_ref", "equation_FStar.Array.sel", - "equation_FStar.Monotonic.Heap.only", - "refinement_interpretation_Tm_refine_1b82e8578e73652fe96932e0df869e54" - ], - 0, - "36fa3782e5f257c451169dee5d1e140c" - ], - [ - "FStar.Array.swap", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", - "typing_Prims.int" - ], - 0, - "466cf6954d8b189b28fc724553e6c34e" - ], - [ - "FStar.Array.swap", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Array.sel", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", - "typing_FStar.Array.sel" - ], - 0, - "c1f3da7a4d6f8c05376e33320b95d280" - ], - [ - "FStar.Array.copy_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "44b065b2d41d5992b5672f1592ccec56" - ], - [ - "FStar.Array.copy_aux", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Array.addr_of", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.only", "equation_FStar.Array.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_44cec961b62656ed06a40aad5e133cef", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b3045d527aa2f926ff2df40bb6ce6ba", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Array.addr_of", "typing_FStar.Array.only", - "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Seq.Base.seq", "typing_Prims.int" - ], - 0, - "7674e24ff8f7be0a0ac841d4c4e338f1" - ], - [ - "FStar.Array.copy", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a7e5b16316311901310b8d19df45356d" - ], - [ - "FStar.Array.copy", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Array.addr_of", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.only", "equation_FStar.Array.sel", - "equation_FStar.Array.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1b688db9fb7bf47448ade255708249e1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7d228ae9165d75e27c5ec6d1d83a6b7b", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Array.addr_of", "typing_FStar.Array.only", - "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.empty", "typing_Prims.int" - ], - 0, - "b9216c268a8bd5dae67ab3257161f6fe" - ], - [ - "FStar.Array.blit_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "b43853b7476c3b11f138279887a4c7c2" - ], - [ - "FStar.Array.blit_aux", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Array.addr_of", "equation_FStar.Array.array", - "equation_FStar.Array.as_ref", "equation_FStar.Array.contains", - "equation_FStar.Array.only", "equation_FStar.Array.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_abd3409e7d8503e899fdb00814ebcb58", - "refinement_interpretation_Tm_refine_d0e5572dd10ec0832bb5c26babc7dc4c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Array.addr_of", "typing_FStar.Array.only", - "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Seq.Base.seq", "typing_Prims.int" - ], - 0, - "7c3d96b5fe62e34d177e6fac2f5167d7" - ], - [ - "FStar.Array.blit", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "bb209b807c18ea638c7844f9f38b0b77" - ], - [ - "FStar.Array.blit", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_0199b907970c5d6f650262d2927180bb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e96bd1aaa721851aa475eb7d2b304e24" - ], - 0, - "a0c8fe8e945f4308f50c49b2e5f04344" - ], - [ - "FStar.Array.sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", - "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length", - "typing_Prims.int" - ], - 0, - "3dda13c341dd834e3143a611a878f07c" - ], - [ - "FStar.Array.sub", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "equation_FStar.Array.addr_of", - "equation_FStar.Array.array", "equation_FStar.Array.as_ref", - "equation_FStar.Array.contains", "equation_FStar.Array.only", - "equation_FStar.Array.sel", "equation_FStar.Array.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.set", "equation_FStar.ST.mref", - "equation_FStar.ST.ref", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_795601e3612a872c461a8875f2d5108e", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Array.addr_of", "typing_FStar.Array.only", - "typing_FStar.Array.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_Prims.int" - ], - 0, - "7623b3111ca55ea820e5d17fc0139b75" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Array.fsti.hints b/ulib/.hints/FStar.Array.fsti.hints deleted file mode 100644 index 83fd925e3f3..00000000000 --- a/ulib/.hints/FStar.Array.fsti.hints +++ /dev/null @@ -1,172 +0,0 @@ -[ - "œAW›“ŒŠA½-/¤\t\u0000Î[", - [ - [ - "FStar.Array.only", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6c62000c132631dcd3e3bdf4da449f65" - ], - [ - "FStar.Array.op_At_Bar", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1feaacf3905bbec2f674b98240a7266d" - ], - [ - "FStar.Array.create_post", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bf83cf3ac27e9ce95c9ed81e517a5e52" - ], - [ - "FStar.Array.create", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d16bfdddb512ba664d57e502dfcf2a00" - ], - [ - "FStar.Array.index", - 1, - 0, - 0, - [ "@query" ], - 0, - "c81855e11904ecbad798406f832eefbb" - ], - [ - "FStar.Array.upd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "44d474b123d15ffe65b6053aed36bd45" - ], - [ - "FStar.Array.length", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e81c099d01d9b825704a5aa08052dc50" - ], - [ - "FStar.Array.op", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0523e73d5aace9fb475f51a0c5349750" - ], - [ - "FStar.Array.swap", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5a227a5c89e6473bfc69d779824db5ee", - "typing_Prims.int" - ], - 0, - "466cf6954d8b189b28fc724553e6c34e" - ], - [ - "FStar.Array.copy", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b8712b4b15db9c64af300b621ce999a1" - ], - [ - "FStar.Array.sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_976c012f988816b98be7f79f8f39daee", - "typing_FStar.Array.sel", "typing_FStar.Seq.Base.length", - "typing_Prims.int" - ], - 0, - "4c5df8aa4843fa85127cf9b27f133ad2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Axiomatic.Array.fst.hints b/ulib/.hints/FStar.Axiomatic.Array.fst.hints deleted file mode 100644 index 21f287d7263..00000000000 --- a/ulib/.hints/FStar.Axiomatic.Array.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "²\u0017o:Cšc\bÅÎ}3[අ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.BV.fst.hints b/ulib/.hints/FStar.BV.fst.hints deleted file mode 100644 index 3a4d2d4450b..00000000000 --- a/ulib/.hints/FStar.BV.fst.hints +++ /dev/null @@ -1,1637 +0,0 @@ -[ - "#\tßÎ=0\u0000d`¸|´\u0015¡xÄ", - [ - [ - "FStar.BV.bv_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", - "haseqTm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "2de04d4b838400863410c75dfbe30647" - ], - [ - "FStar.BV.bv_uext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d136b74d357ea9c1700e7fbddaa797a9" - ], - [ - "FStar.BV.bv_uext", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BV.bv_t", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "abb49d169bfe8d422201c73641d918a4" - ], - [ - "FStar.BV.bv_uext", - 3, - 2, - 1, - [ "@query" ], - 0, - "6a217a2857fb84d593d3831edd7f450a" - ], - [ - "FStar.BV.int2bv", - 1, - 2, - 1, - [ "@query" ], - 0, - "5342500018d3269c37bac17959f023c1" - ], - [ - "FStar.BV.int2bv", - 2, - 2, - 1, - [ "@query" ], - 0, - "020350e1a450c12240117f36f8b2e9f3" - ], - [ - "FStar.BV.bv2int", - 1, - 2, - 1, - [ "@query" ], - 0, - "06e8754cdb58b73f8d32ae97b2c823c4" - ], - [ - "FStar.BV.bv2int", - 2, - 2, - 1, - [ "@query" ], - 0, - "020350e1a450c12240117f36f8b2e9f3" - ], - [ - "FStar.BV.int2bv_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "d52e228e2161a5593ea4ec8e347e63ec" - ], - [ - "FStar.BV.int2bv_lemma_1", - 2, - 2, - 1, - [ "@query" ], - 0, - "3b02fcdd17a2f16c10313061d3aa4254" - ], - [ - "FStar.BV.int2bv_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "2a216e0d24d1852ccb8a7a7684bab7fc" - ], - [ - "FStar.BV.int2bv_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BV.int2bv", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "26ae59bb2fc12cb647f41a37cf30cbfe" - ], - [ - "FStar.BV.inverse_vec_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e45003b6ca4deff159b2e4e2c52aee7" - ], - [ - "FStar.BV.inverse_vec_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BV.bv2int", "equation_FStar.BV.int2bv", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "8f1cf23233919ce57f2db5b042ba19c5" - ], - [ - "FStar.BV.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "5323ac34a8c91a478ba7954b6d7c41de" - ], - [ - "FStar.BV.inverse_num_lemma", - 2, - 2, - 1, - [ "@query", "equation_FStar.BV.bv2int", "equation_FStar.BV.int2bv" ], - 0, - "be274698a53cd918b1e395609bd99fa5" - ], - [ - "FStar.BV.int2bv_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5a179ab06b57bf9b00f9ceb3d8332618" - ], - [ - "FStar.BV.int2bv_nat_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BV.int2bv", "equation_FStar.BV.int2bv_nat", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a571852bd6e2ab9c2e3d02b7f6f28be7" - ], - [ - "FStar.BV.int2bv_nat_lemma", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BV.list2bv", - 1, - 2, - 1, - [ "@query" ], - 0, - "cff6f0f7be7970c8846cbd7e94c6f7e2" - ], - [ - "FStar.BV.list2bv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95256b532c59ed5361cc8e821a95025b" - ], - 0, - "988055d34be0abd3292562685baebed8" - ], - [ - "FStar.BV.list2bv", - 3, - 2, - 1, - [ "@query" ], - 0, - "b1e59d51e443e3d0449daf16b0cee378" - ], - [ - "FStar.BV.bv2list", - 1, - 2, - 1, - [ "@query" ], - 0, - "787c7e2d878c5734d502ccd3e2ce2eb6" - ], - [ - "FStar.BV.bv2list", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv_t", - "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "fcd8fb10ff2f9da5bbbd90edc9202fb0" - ], - [ - "FStar.BV.bv2list", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BV.list2bv_bij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "816227ecb37d6d4212fdb2186f84ef1e" - ], - [ - "FStar.BV.list2bv_bij", - 2, - 2, - 1, - [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], - 0, - "1f84640d1ff99204f1608a261e06108d" - ], - [ - "FStar.BV.list2bv_bij", - 3, - 2, - 1, - [ "@query" ], - 0, - "b1e59d51e443e3d0449daf16b0cee378" - ], - [ - "FStar.BV.bv2list_bij", - 1, - 2, - 1, - [ "@query" ], - 0, - "d36cb6be4fc90a1271a2286cd03e1612" - ], - [ - "FStar.BV.bv2list_bij", - 2, - 2, - 1, - [ "@query", "equation_FStar.BV.bv2list", "equation_FStar.BV.list2bv" ], - 0, - "62aa21097d84723db5dbe26db3386301" - ], - [ - "FStar.BV.bv2list_bij", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BV.bvand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf72bd7492942e0a3e92c42e78b39505" - ], - [ - "FStar.BV.int2bv_logand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e87370c10321b4221ea2d1c5717ffc5b" - ], - [ - "FStar.BV.int2bv_logand", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvand", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.logand", - "refinement_interpretation_Tm_refine_055c5d38ccf2156bb6d0b148b95714b6" - ], - 0, - "348fc0221ab20a2967b7838ace86e9d9" - ], - [ - "FStar.BV.int2bv_logand", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3e5002539d0ef13871018ff59c7000bb" - ], - [ - "FStar.BV.int2bv_logxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6b5119e249095ca9ea73654917b7ec0c" - ], - [ - "FStar.BV.int2bv_logxor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvxor", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.logxor", - "refinement_interpretation_Tm_refine_4dd8a4a5ddafdb3c9c796bfe4e5fb605" - ], - 0, - "2396ff5b3175095133b77664b00ff628" - ], - [ - "FStar.BV.int2bv_logxor", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d13ac3ddebe77ef4ede58468f9936f91" - ], - [ - "FStar.BV.int2bv_logor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1120fb8269a07cfb53226c99505c5b10" - ], - [ - "FStar.BV.int2bv_logor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvor", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.logor", - "refinement_interpretation_Tm_refine_33f4d97b22d9c96c56c341b5674fee29" - ], - 0, - "89dbdce5880842d5358531c4201b461a" - ], - [ - "FStar.BV.int2bv_logor", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvnot", - 1, - 2, - 1, - [ "@query" ], - 0, - "1c1a69668d73c78f5698888518af076f" - ], - [ - "FStar.BV.int2bv_lognot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9a2a81c998279d98c4a47168dede93d1" - ], - [ - "FStar.BV.int2bv_lognot", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvnot", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.lognot", - "refinement_interpretation_Tm_refine_723657712cbe235209903dc796491764" - ], - 0, - "c1649e69018318e682b0a76cdcaada5d" - ], - [ - "FStar.BV.int2bv_lognot", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "270ea8e73a0f62b7f5807d24512b4ca1" - ], - [ - "FStar.BV.bvshl'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "089493a27385fd612e6a1223317ebb1d" - ], - [ - "FStar.BV.bvshl'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BV.bv2int", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb4570fa97a97d2c28c26eb5cf7b6b92" - ], - [ - "FStar.BV.bvshl'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvshl", - 1, - 2, - 1, - [ "@query" ], - 0, - "08f1fc30bb695dfb3fe08cb56a8b0500" - ], - [ - "FStar.BV.bvshl", - 2, - 2, - 1, - [ "@query" ], - 0, - "75f963852412888fab18fd277e8083a3" - ], - [ - "FStar.BV.bvshl", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BV.int2bv_shl'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.pos", - "lemma_FStar.BV.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "975e157410894d9735b19860308f10ac" - ], - [ - "FStar.BV.int2bv_shl'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvshl_", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.shift_left", "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_0656ce1a3955275afb84acad9ebc87c8" - ], - 0, - "620137be533ffcba391806fd347a433a" - ], - [ - "FStar.BV.int2bv_shl'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.int2bv_shl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "bdd0e82d552454c7d2406d7cbf6fbcbc" - ], - [ - "FStar.BV.int2bv_shl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BV.bv2int", "equation_FStar.BV.bvshl", - "equation_FStar.BV.bvshl_", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BV.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ddeb23c9db1458a5100f74220b44d060", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "9c22a9aca746847a6fd3b60732929d93" - ], - [ - "FStar.BV.int2bv_shl", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.pos", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "565e751ce5509a6aa9471ca5bae49379" - ], - [ - "FStar.BV.bvshr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "321ac82b1cebf7ed618cba40888a41e2" - ], - [ - "FStar.BV.bvshr'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BV.bv2int", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb4570fa97a97d2c28c26eb5cf7b6b92" - ], - [ - "FStar.BV.bvshr'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvshr", - 1, - 2, - 1, - [ "@query" ], - 0, - "883ab9cc484a9a5e35238671c2a69aef" - ], - [ - "FStar.BV.bvshr", - 2, - 2, - 1, - [ "@query" ], - 0, - "75f963852412888fab18fd277e8083a3" - ], - [ - "FStar.BV.bvshr", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BV.int2bv_shr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.pos", - "lemma_FStar.BV.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "aea9480edb425c06a03862810901d7a0" - ], - [ - "FStar.BV.int2bv_shr'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bv2int", - "equation_FStar.BV.bvshr_", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.shift_right", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_5365021c8a5e8587657082f599d5ceee" - ], - 0, - "47ee0638780a31839c3387473e5e6e65" - ], - [ - "FStar.BV.int2bv_shr'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.int2bv_shr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "79bc195051916f5917dd710afa25078e" - ], - [ - "FStar.BV.int2bv_shr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BV.bv2int", "equation_FStar.BV.bvshr", - "equation_FStar.BV.bvshr_", "equation_FStar.BV.int2bv", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BV.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c31963c0ec0e2c09bdeaf2609a55777", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "346146cc271eca8bcffa733893cce488" - ], - [ - "FStar.BV.int2bv_shr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.pos", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "565e751ce5509a6aa9471ca5bae49379" - ], - [ - "FStar.BV.bv_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "fb0f83b32ef5555544115a1e6bd15c4a" - ], - [ - "FStar.BV.bvult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ee0c1d80557538ddd76f3109e39296ed" - ], - [ - "FStar.BV.bvult", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1523fe757bea046b6610e2cf46080f9f" - ], - [ - "FStar.BV.int2bv_lemma_ult_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "89c55b75c56ba764e8eac28b98e262da" - ], - [ - "FStar.BV.int2bv_lemma_ult_1", - 2, - 2, - 1, - [ - "@query", "equation_FStar.BV.bvult", "equation_FStar.BV.int2bv", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" - ], - 0, - "759c712c049fa0f7f7eb370e7abfa392" - ], - [ - "FStar.BV.int2bv_lemma_ult_1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.BV.int2bv_lemma_ult_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "298ef45e22541203096fc27f340f59d8" - ], - [ - "FStar.BV.int2bv_lemma_ult_2", - 2, - 2, - 1, - [ - "@query", "equation_FStar.BV.bvult", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "da90cbdb1b38b3da61caa8bc73424fb6" - ], - [ - "FStar.BV.int2bv_lemma_ult_2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.BV.bvadd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dd63d564ca2eb523c738d79f96bc2f8a" - ], - [ - "FStar.BV.bvadd", - 2, - 2, - 1, - [ "@query" ], - 0, - "0b468359fd8aa2a947d7c54e1bc404a5" - ], - [ - "FStar.BV.bvadd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.int2bv_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b753c46849c5803383d1f5219ce232d0" - ], - [ - "FStar.BV.int2bv_add", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvadd", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_23ec507c991948a45284c105c11c2135" - ], - 0, - "5446f8e1352df4138789b8201d5f5812" - ], - [ - "FStar.BV.int2bv_add", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4fc4664ec3c498cf77516cfa6110c548" - ], - [ - "FStar.BV.bvsub", - 2, - 2, - 1, - [ "@query" ], - 0, - "0b468359fd8aa2a947d7c54e1bc404a5" - ], - [ - "FStar.BV.bvsub", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.int2bv_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8d7bbd1d558d9006424e04bda3c2156d" - ], - [ - "FStar.BV.int2bv_sub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvsub", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_845ca0fce20df382c434dd93d3f109a2" - ], - 0, - "e84e2d77e46f773f2acb8a5eaada7268" - ], - [ - "FStar.BV.int2bv_sub", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvdiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0b1be4b041087700172116c749cac735" - ], - [ - "FStar.BV.bvdiv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1523fe757bea046b6610e2cf46080f9f" - ], - [ - "FStar.BV.int2bv_div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6413b9289c82d1d51682af8b182db16d" - ], - [ - "FStar.BV.int2bv_div", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvdiv", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_0eb59e95c7e7b4b5c1545a6eeb82f86f" - ], - 0, - "259c82a2bf26657cb5ad30ddd16fef7e" - ], - [ - "FStar.BV.int2bv_div", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ccd2ab9b0b8da8d06034c62381d1378d" - ], - [ - "FStar.BV.bvdiv_unsafe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5f665870ee8d8efc24ebde4f2be9d875" - ], - [ - "FStar.BV.bvdiv_unsafe", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BV.bv_t", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "typing_Prims.pow2" - ], - 0, - "b0c945c0a983c9fcb949bc571811bc89" - ], - [ - "FStar.BV.bvdiv_unsafe", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvdiv_unsafe_sound", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d530d4ba1009ca29f2e7c18ca7bcb6a4" - ], - [ - "FStar.BV.bvdiv_unsafe_sound", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.BV.bvdiv_unsafe", - "equation_Prims.squash", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2c1b333196045f5d1d31516a936cd775" - ], - [ - "FStar.BV.bvdiv_unsafe_sound", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvmod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9fd8297d9e35cb736c332203d6ff65ae" - ], - [ - "FStar.BV.bvmod", - 2, - 2, - 1, - [ "@query" ], - 0, - "6b6a5a8d4286ded4fc4b3174a6f1f627" - ], - [ - "FStar.BV.bvmod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.int2bv_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a9a96340a2f68d90156b8fa0d24888da" - ], - [ - "FStar.BV.int2bv_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvmod", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_176e504a78f0a2df42931b9ba8193633" - ], - 0, - "1556dbbd5615893b2df84d49f314e899" - ], - [ - "FStar.BV.int2bv_mod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ccd2ab9b0b8da8d06034c62381d1378d" - ], - [ - "FStar.BV.bvmod_unsafe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "feb42fca379ee5f2b69b20cdf91f793c" - ], - [ - "FStar.BV.bvmod_unsafe", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BV.bv_t", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "typing_Prims.pow2" - ], - 0, - "c8477da53cdb6ad2bcdbd9ec87f3b97f" - ], - [ - "FStar.BV.bvmod_unsafe", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvmod_unsafe_sound", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "652d11d4bc7badae5ae883e533ed882f" - ], - [ - "FStar.BV.bvmod_unsafe_sound", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.BV.bvmod_unsafe", - "equation_Prims.squash", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "febbb27bc4a97cc205fbab597fe9a1af" - ], - [ - "FStar.BV.bvmod_unsafe_sound", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.bvmul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "34a4a044be7b0a7070ea7da4e5142a42" - ], - [ - "FStar.BV.bvmul", - 2, - 2, - 1, - [ "@query" ], - 0, - "2509adaa6683c30151386069430da69f" - ], - [ - "FStar.BV.bvmul", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.int2bv_mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "91456abbc8ded6161e57bf48a8abddc1" - ], - [ - "FStar.BV.int2bv_mul", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvmul", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_fae15c59a3cac3fea5ae44ae61247805" - ], - 0, - "ae32d501563315936865f16259bdbde3" - ], - [ - "FStar.BV.int2bv_mul", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ], - [ - "FStar.BV.bvmul'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "db8085528ed061cef0d43583694833ec" - ], - [ - "FStar.BV.bvmul'", - 2, - 2, - 1, - [ "@query" ], - 0, - "0b468359fd8aa2a947d7c54e1bc404a5" - ], - [ - "FStar.BV.bvmul'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d4179b1d19ff0db116649b35fc6f6f75" - ], - [ - "FStar.BV.int2bv_mul'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e5b972fe1b33f83f3b7e40c049e7e3" - ], - [ - "FStar.BV.int2bv_mul'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BV.bvmul_", - "lemma_FStar.BV.inverse_num_lemma", - "refinement_interpretation_Tm_refine_5c3e2afb503d96d9926f094a47a3e9f2" - ], - 0, - "401af2bb6464c158357245d4f24dd899" - ], - [ - "FStar.BV.int2bv_mul'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7367dc102d584631ced6a68f7056def8" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BV.fsti.hints b/ulib/.hints/FStar.BV.fsti.hints deleted file mode 100644 index d0b8abad0bc..00000000000 --- a/ulib/.hints/FStar.BV.fsti.hints +++ /dev/null @@ -1,603 +0,0 @@ -[ - "sž³:1p—†2YêL©— p", - [ - [ - "FStar.BV.bv_uext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ce467d45f6840d363bd3e181dfd8014c" - ], - [ - "FStar.BV.int2bv", - 1, - 2, - 1, - [ "@query" ], - 0, - "caa61c442b9da5bc21b7f32bef5f3d5e" - ], - [ - "FStar.BV.bv2int", - 1, - 2, - 1, - [ "@query" ], - 0, - "06e8754cdb58b73f8d32ae97b2c823c4" - ], - [ - "FStar.BV.int2bv_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "f27f5b89a5b0bf54a8cf5861247a602d" - ], - [ - "FStar.BV.int2bv_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "238e900c5a2924de3e591562d0f93e26" - ], - [ - "FStar.BV.inverse_vec_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e45003b6ca4deff159b2e4e2c52aee7" - ], - [ - "FStar.BV.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "5323ac34a8c91a478ba7954b6d7c41de" - ], - [ - "FStar.BV.list2bv", - 1, - 2, - 1, - [ "@query" ], - 0, - "f3ecb384d6817c262e7d973294a45fb3" - ], - [ - "FStar.BV.bv2list", - 1, - 2, - 1, - [ "@query" ], - 0, - "84ee8ace454c8b80d206510d938f9fce" - ], - [ - "FStar.BV.list2bv_bij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "bbbe74105aa90b55bd0104742c20e1d8" - ], - [ - "FStar.BV.bv2list_bij", - 1, - 2, - 1, - [ "@query" ], - 0, - "d36cb6be4fc90a1271a2286cd03e1612" - ], - [ - "FStar.BV.bvand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf72bd7492942e0a3e92c42e78b39505" - ], - [ - "FStar.BV.int2bv_logand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7476c5e51c33c3715d9e78c8ea8a3a10" - ], - [ - "FStar.BV.bvxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3e5002539d0ef13871018ff59c7000bb" - ], - [ - "FStar.BV.int2bv_logxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5d6b703fa553a30df06136d8bcbe7127" - ], - [ - "FStar.BV.bvor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d13ac3ddebe77ef4ede58468f9936f91" - ], - [ - "FStar.BV.int2bv_logor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b2dc6e8f4548fac92411a21ea76c77f8" - ], - [ - "FStar.BV.bvnot", - 1, - 2, - 1, - [ "@query" ], - 0, - "1c1a69668d73c78f5698888518af076f" - ], - [ - "FStar.BV.int2bv_lognot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3dde560b64a7ac75c2e3b21b570d0fbc" - ], - [ - "FStar.BV.bvshl'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "089493a27385fd612e6a1223317ebb1d" - ], - [ - "FStar.BV.bvshl", - 1, - 2, - 1, - [ "@query" ], - 0, - "08f1fc30bb695dfb3fe08cb56a8b0500" - ], - [ - "FStar.BV.int2bv_shl'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b8fd808adbbceb2995e5a772d8f15eb1" - ], - [ - "FStar.BV.int2bv_shl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b7060fd0f0edbbd19619222c75edb7b8" - ], - [ - "FStar.BV.bvshr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "321ac82b1cebf7ed618cba40888a41e2" - ], - [ - "FStar.BV.bvshr", - 1, - 2, - 1, - [ "@query" ], - 0, - "883ab9cc484a9a5e35238671c2a69aef" - ], - [ - "FStar.BV.int2bv_shr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ee548bd6f0ded5b3d16da36157bd7aae" - ], - [ - "FStar.BV.int2bv_shr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d042677897615b1c5c38db5e0e13f641" - ], - [ - "FStar.BV.bv_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "fb0f83b32ef5555544115a1e6bd15c4a" - ], - [ - "FStar.BV.bvult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ee0c1d80557538ddd76f3109e39296ed" - ], - [ - "FStar.BV.int2bv_lemma_ult_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "89c55b75c56ba764e8eac28b98e262da" - ], - [ - "FStar.BV.int2bv_lemma_ult_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "298ef45e22541203096fc27f340f59d8" - ], - [ - "FStar.BV.bvadd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dd63d564ca2eb523c738d79f96bc2f8a" - ], - [ - "FStar.BV.int2bv_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7e041f71e34d13410bbe907609ba8437" - ], - [ - "FStar.BV.bvsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4fc4664ec3c498cf77516cfa6110c548" - ], - [ - "FStar.BV.int2bv_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "543d3ac88a5707b210f4051878624bba" - ], - [ - "FStar.BV.bvdiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0b1be4b041087700172116c749cac735" - ], - [ - "FStar.BV.int2bv_div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e3cce319de2ed94a8542b1da40f97458" - ], - [ - "FStar.BV.bvdiv_unsafe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5f665870ee8d8efc24ebde4f2be9d875" - ], - [ - "FStar.BV.bvdiv_unsafe_sound", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bc09618ecf7d37e8c8ea0d772df3fb70" - ], - [ - "FStar.BV.bvmod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9fd8297d9e35cb736c332203d6ff65ae" - ], - [ - "FStar.BV.int2bv_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cff9230493691931f89cfaf01378140d" - ], - [ - "FStar.BV.bvmod_unsafe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "feb42fca379ee5f2b69b20cdf91f793c" - ], - [ - "FStar.BV.bvmod_unsafe_sound", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_Prims.pos", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "652d11d4bc7badae5ae883e533ed882f" - ], - [ - "FStar.BV.bvmul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "34a4a044be7b0a7070ea7da4e5142a42" - ], - [ - "FStar.BV.int2bv_mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6192942948d5e44250817f7ed2e1c527" - ], - [ - "FStar.BV.bvmul'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "db8085528ed061cef0d43583694833ec" - ], - [ - "FStar.BV.int2bv_mul'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "625a3a0ccec2b362ff94f295640004bd" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BigOps.fst.hints b/ulib/.hints/FStar.BigOps.fst.hints deleted file mode 100644 index d37285e396b..00000000000 --- a/ulib/.hints/FStar.BigOps.fst.hints +++ /dev/null @@ -1,400 +0,0 @@ -[ - "î\u0004Æ[ùñ˜š¼ÎqÜxEåÚ", - [ - [ - "FStar.BigOps.map_op'_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.BigOps.map_op_", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "projection_inverse_Prims.Nil_a", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "6a605a331bcda71283d23f4ad04ad5e1" - ], - [ - "FStar.BigOps.map_op'_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.BigOps.map_op_", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "interpretation_Tm_abs_84d777d109851c58da209e2a4a34fb6f", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "de6ecdcb695470e8f9e6e5fd5840b3fd" - ], - [ - "FStar.BigOps.big_and'_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.T@tok", "equation_FStar.BigOps.big_and_", - "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", - "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "caae1c7000f0ed214400e30b474c44eb" - ], - [ - "FStar.BigOps.big_and'_forall", - 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", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_or-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "true_interp" - ], - 0, - "68d8f0736ada45e8362187a515ecd298" - ], - [ - "FStar.BigOps.big_and", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "equation_FStar.BigOps.big_and_", - "equation_FStar.BigOps.map_op_", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.logical", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_Prims.l_True", "typing_Prims.logical", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "5e9239d65eafdf503a86167066c8b7e0" - ], - [ - "FStar.BigOps.big_or'_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.BigOps.big_or_", "equation_Prims.l_False", - "equation_Prims.l_or", "equation_Prims.squash", - "equation_Prims.subtype_of", "false_interp", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_typing" - ], - 0, - "4277c803540f1d824d013985aa5d0474" - ], - [ - "FStar.BigOps.big_or'_exists", - 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", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "a94b073140ef5d834188e5db11ce37a3" - ], - [ - "FStar.BigOps.big_or", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "equation_FStar.BigOps.big_or_", - "equation_FStar.BigOps.map_op_", "equation_Prims.l_False", - "equation_Prims.l_or", "equation_Prims.logical", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_Prims.l_False", "typing_Prims.logical", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "5b97128c1259a06bce83cda85d7ca4aa" - ], - [ - "FStar.BigOps.pairwise_op'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d5d8c824af08a55530db13269b9c3e69" - ], - [ - "FStar.BigOps.pairwise_and'_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_Prims.T@tok", "equation_FStar.BigOps.big_and_", - "equation_FStar.BigOps.pairwise_and_", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_tok_Prims.T@tok", "unit_typing" - ], - 0, - "c7fc45c9effe2585e9545ae8660dce9e" - ], - [ - "FStar.BigOps.pairwise_and'_forall", - 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", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.BigOps.reflexive", "equation_FStar.BigOps.symmetric", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_or-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "true_interp" - ], - 0, - "60cdb8c697a583bb3e3267efee591f19" - ], - [ - "FStar.BigOps.pairwise_and'_forall_no_repeats", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.BigOps.symmetric", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_not-interp", "l_or-interp", "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "b3c86eee1fda6377d72b79172ccead19" - ], - [ - "FStar.BigOps.pairwise_and", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", - "@query", "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "equality_tok_Prims.T@tok", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_tok_Prims.T@tok" - ], - 0, - "69060561d5652cac0a2657dabe434738" - ], - [ - "FStar.BigOps.pairwise_or'_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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", - "Prims_interpretation_Tm_arrow_289ee2cc5874944bf725b9e3db8c0fd6", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.BigOps.big_or_", - "equation_FStar.BigOps.pairwise_or_", "equation_Prims.l_False", - "equation_Prims.logical", - "equation_with_fuel_FStar.BigOps.pairwise_op_.fuel_instrumented", - "function_token_typing_Prims.l_or", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "typing_Prims.l_False", - "typing_Prims.logical" - ], - 0, - "2eeb347e395a0b52d318a4ac801c926f" - ], - [ - "FStar.BigOps.pairwise_or'_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.BigOps.big_or_", - "equation_FStar.BigOps.pairwise_or_", "equation_Prims.l_False", - "equation_Prims.l_or", "equation_Prims.squash", - "equation_Prims.subtype_of", "false_interp", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_typing" - ], - 0, - "3e544546e650f1a5525cec933212bb8f" - ], - [ - "FStar.BigOps.pairwise_or'_exists", - 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", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.BigOps.anti_reflexive", - "equation_FStar.BigOps.symmetric", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "0685961290378569e1391fac3e0e4fb8" - ], - [ - "FStar.BigOps.pairwise_or'_exists_no_repeats", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.BigOps.symmetric", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_not-interp", "l_or-interp", "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "51552c3e5000ce3a4902b0cc30b82223" - ], - [ - "FStar.BigOps.pairwise_or", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", - "@query", "equation_Prims.l_False", "equation_Prims.l_or", - "equation_Prims.squash", "equation_Prims.subtype_of", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "7c85f17845a2042d1a7b73e9b20945ce" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BigOps.fsti.hints b/ulib/.hints/FStar.BigOps.fsti.hints deleted file mode 100644 index 9adeddfc384..00000000000 --- a/ulib/.hints/FStar.BigOps.fsti.hints +++ /dev/null @@ -1,96 +0,0 @@ -[ - "é\u0019a\u001cK\u0012˜\rZ\n“Ï\u0016KÆ\n", - [ - [ - "FStar.BigOps.big_and", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "equation_FStar.BigOps.big_and_", - "equation_FStar.BigOps.map_op_", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.logical", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_Prims.l_True", "typing_Prims.logical", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "d1a6944fe9a35ee2a95c6549df1ebdcc" - ], - [ - "FStar.BigOps.big_or", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "@query", "equation_FStar.BigOps.big_or_", - "equation_FStar.BigOps.map_op_", "equation_Prims.l_False", - "equation_Prims.l_or", "equation_Prims.logical", - "equation_Prims.squash", "equation_Prims.subtype_of", - "equation_with_fuel_FStar.List.Tot.Base.fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_Prims.l_False", "typing_Prims.logical", - "typing_Tm_abs_84d777d109851c58da209e2a4a34fb6f" - ], - 0, - "9dc53d6ab69f7a7cccaf19da6e8aea0b" - ], - [ - "FStar.BigOps.pairwise_op'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "13f0fc7748326a9020b414e3ea8265f1" - ], - [ - "FStar.BigOps.pairwise_and", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", - "@query", "Prims_pretyping_e8ffb7d227a1bbf69407a8d2ad2c4c83", - "equality_tok_Prims.T@tok", "equation_Prims.l_True", - "equation_Prims.l_and", "equation_Prims.squash", - "equation_Prims.subtype_of", "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_tok_Prims.T@tok" - ], - 0, - "257289703e3f7a69baa801e40d01d774" - ], - [ - "FStar.BigOps.pairwise_or", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BigOps.pairwise_op_.fuel_instrumented", - "@query", "equation_Prims.l_False", "equation_Prims.l_or", - "equation_Prims.squash", "equation_Prims.subtype_of", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a19487fd50d251c032b6ea3b47fc19f2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BitVector.fst.hints b/ulib/.hints/FStar.BitVector.fst.hints deleted file mode 100644 index 598f3f3e89a..00000000000 --- a/ulib/.hints/FStar.BitVector.fst.hints +++ /dev/null @@ -1,1413 +0,0 @@ -[ - "\u001cæ\u001dBî\f+üDÁ¥MhUœ", - [ - [ - "FStar.BitVector.bv_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8585243b7ee6b8399b2f0acda8df288a" - ], - [ - "FStar.BitVector.zero_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.bool" - ], - 0, - "25b347321480f0ee06096359fdee254c" - ], - [ - "FStar.BitVector.elem_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.bool" - ], - 0, - "945cddbebff946bdf27c6227e318f299" - ], - [ - "FStar.BitVector.ones_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.bool" - ], - 0, - "49abe6567080ec00c68ab0d7aa40586a" - ], - [ - "FStar.BitVector.logand_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "1afc7a81a0dfaa4c90852cf40961fc98" - ], - [ - "FStar.BitVector.logand_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fba4c066b097cf9dada64284f4200617" - ], - [ - "FStar.BitVector.logand_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec" - ], - 0, - "272bb506b10e4de03761ba8a8feae336" - ], - [ - "FStar.BitVector.logand_vec_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.logand_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8dc265e95084c409748c7f5017cca73", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "17e3f596b7282ab50558afdc5195e411" - ], - [ - "FStar.BitVector.logand_vec_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b5a1c32a6a3abceb8a4dc54efa3e2f55", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec" - ], - 0, - "bf0b4b11b9dbbd5e4e33d962efebf044" - ], - [ - "FStar.BitVector.logxor_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "ff6ddf425937ec670f99160b7be6126f" - ], - [ - "FStar.BitVector.logxor_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f8ab32d35d77f7e79c02905163ae37f5" - ], - [ - "FStar.BitVector.logxor_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "43ed4c7c88191fb335193f7ba4535391" - ], - [ - "FStar.BitVector.logxor_vec_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.logxor_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cff70eda9c81bc881b8b22b38235f177", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "65fa3b3ddf8e309576c24eec346aaae2" - ], - [ - "FStar.BitVector.logxor_vec_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c85d431db2d0c7865abc9655b7f64d9c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "af2d51842bb6c86bb6cebb459b03c924" - ], - [ - "FStar.BitVector.logor_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "cc3973f0bb5eea3d87e55ec6db55bbcb" - ], - [ - "FStar.BitVector.logor_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "839a0ea4de8cc631e295a120c4bb379f" - ], - [ - "FStar.BitVector.logor_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logor_vec" - ], - 0, - "35fb1cb087884b4528e93cb1401eaf96" - ], - [ - "FStar.BitVector.logor_vec_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_63b2451d3475b60c77607a610173e522", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "a186d02be2b5ab838d02e6c18b5cb22e" - ], - [ - "FStar.BitVector.logor_vec_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_3df7407962bb719d07707058285a3719", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logor_vec" - ], - 0, - "d4715b28a8a95ff100f7bfcf02d0c6c6" - ], - [ - "FStar.BitVector.lognot_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "dcb104500d6e086a5c925c2c548b83b3" - ], - [ - "FStar.BitVector.lognot_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2182a85c4e24736cd2663092e10eb460" - ], - [ - "FStar.BitVector.lognot_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.lognot_vec" - ], - 0, - "52473f67462fbff4edf4bbc4d1474e14" - ], - [ - "FStar.BitVector.lognot_vec_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_381d14f72c2b73892aa717f04e50f943", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "ef9bf37a82a41f33928ab73b6a46464c" - ], - [ - "FStar.BitVector.lognot_vec_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cd4950d73056bfa423209a1e745a2bcc", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.lognot_vec" - ], - 0, - "c222a7e8b431a6c40b900d27a192ab49" - ], - [ - "FStar.BitVector.lemma_xor_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "91d102925cf3aba835beb734a76760de" - ], - [ - "FStar.BitVector.lemma_xor_bounded", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "bool_typing", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.BitVector.logxor_vec_definition", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "ee3650a69eb435ba030956b981d37f4a" - ], - [ - "FStar.BitVector.lemma_xor_bounded", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6c52cb94f724b7e3a7909c5cd416239f" - ], - [ - "FStar.BitVector.is_subset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "c0a1bc904f7dc541845d89b6a75b9639" - ], - [ - "FStar.BitVector.is_subset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.is_superset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "f948d3059aedaa1e5e59aee8b4346b3f" - ], - [ - "FStar.BitVector.is_superset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.lemma_slice_subset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "12d5c405fe5120d795cb1e17732ea3ae" - ], - [ - "FStar.BitVector.lemma_slice_subset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_subset_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "777d5fdcab73ca0fe759eea6f676522e" - ], - [ - "FStar.BitVector.lemma_slice_subset_vec", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.lemma_slice_superset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "ea5e070f9c44dd248ae61a386576379b" - ], - [ - "FStar.BitVector.lemma_slice_superset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_superset_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "3938c50f1d202a6b69426de6a10873d8" - ], - [ - "FStar.BitVector.lemma_slice_superset_vec", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.shift_left_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "406f7fddd1efd2cf8be17730f5d30824" - ], - [ - "FStar.BitVector.shift_left_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_left_vec" - ], - 0, - "9345671da8cc8928d10904b962147e7f" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.BitVector.zero_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_Prims.bool" - ], - 0, - "4a1d7547b266da959e5f6562faa8ac80" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "typing_FStar.BitVector.shift_left_vec" - ], - 0, - "14f75619173c3ea9e169b33932740674" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.BitVector.zero_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool" - ], - 0, - "f14a77ff9d0d34765935942f0b116373" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_right_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "e12d30b1616aedc789663d1613321d3b" - ], - [ - "FStar.BitVector.shift_right_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec" - ], - 0, - "b062b17aaf9b6ef0db6ee31f0c9aa2a9" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_Prims.bool" - ], - 0, - "35e2459434d4723f8e4fb010c55f2d5b" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec" - ], - 0, - "02b118c40d7607b44ec7dbbf49d7ff62" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_Prims.bool" - ], - 0, - "820066aa1854599ec57993f5fb334813" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "dbf9bb75c41b752fe311c68187df94c5" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec" - ], - 0, - "12e32a7ebb2e22a3b5be8d28f4ecb7d9" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.shift_right_vec_lemma_1", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.ones_vec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool" - ], - 0, - "15afa8c17aa4f114ae308f900058123f" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec" - ], - 0, - "c54b14d55c1834b60841aa9e64721f05" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", - "typing_Prims.bool" - ], - 0, - "5c5334a59be45c7d4c61e94cea7a2dd4" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BitVector.fsti.hints b/ulib/.hints/FStar.BitVector.fsti.hints deleted file mode 100644 index db0922b3cd2..00000000000 --- a/ulib/.hints/FStar.BitVector.fsti.hints +++ /dev/null @@ -1,690 +0,0 @@ -[ - "@®õ~æàá³Üj0\u0000¦Y,,", - [ - [ - "FStar.BitVector.bv_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8a872a21ce46eedb527124568cf439bf" - ], - [ - "FStar.BitVector.zero_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.bool" - ], - 0, - "6b1092e6818ffe2a6a5049947ed3b65a" - ], - [ - "FStar.BitVector.elem_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.bool" - ], - 0, - "945cddbebff946bdf27c6227e318f299" - ], - [ - "FStar.BitVector.ones_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.bool" - ], - 0, - "49abe6567080ec00c68ab0d7aa40586a" - ], - [ - "FStar.BitVector.logand_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "ea8630eefb15c42692c053fbf03d3551" - ], - [ - "FStar.BitVector.logand_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fba4c066b097cf9dada64284f4200617" - ], - [ - "FStar.BitVector.logand_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec" - ], - 0, - "272bb506b10e4de03761ba8a8feae336" - ], - [ - "FStar.BitVector.logxor_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "ff6ddf425937ec670f99160b7be6126f" - ], - [ - "FStar.BitVector.logxor_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f8ab32d35d77f7e79c02905163ae37f5" - ], - [ - "FStar.BitVector.logxor_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "43ed4c7c88191fb335193f7ba4535391" - ], - [ - "FStar.BitVector.logor_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "cc3973f0bb5eea3d87e55ec6db55bbcb" - ], - [ - "FStar.BitVector.logor_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "839a0ea4de8cc631e295a120c4bb379f" - ], - [ - "FStar.BitVector.logor_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logor_vec" - ], - 0, - "35fb1cb087884b4528e93cb1401eaf96" - ], - [ - "FStar.BitVector.lognot_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "dcb104500d6e086a5c925c2c548b83b3" - ], - [ - "FStar.BitVector.lognot_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2182a85c4e24736cd2663092e10eb460" - ], - [ - "FStar.BitVector.lognot_vec_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.pos", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.lognot_vec" - ], - 0, - "52473f67462fbff4edf4bbc4d1474e14" - ], - [ - "FStar.BitVector.lemma_xor_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec" - ], - 0, - "5fb25fa3fd43d870124175973ccc94d1" - ], - [ - "FStar.BitVector.is_subset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "c0a1bc904f7dc541845d89b6a75b9639" - ], - [ - "FStar.BitVector.is_subset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.is_superset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "f948d3059aedaa1e5e59aee8b4346b3f" - ], - [ - "FStar.BitVector.is_superset_vec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.BitVector.lemma_slice_subset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "12d5c405fe5120d795cb1e17732ea3ae" - ], - [ - "FStar.BitVector.lemma_slice_superset_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_15ee4e28ce1193046d414e280a0dccd6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "ea5e070f9c44dd248ae61a386576379b" - ], - [ - "FStar.BitVector.shift_left_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "406f7fddd1efd2cf8be17730f5d30824" - ], - [ - "FStar.BitVector.shift_left_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_left_vec" - ], - 0, - "9345671da8cc8928d10904b962147e7f" - ], - [ - "FStar.BitVector.shift_left_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "typing_FStar.BitVector.shift_left_vec" - ], - 0, - "14f75619173c3ea9e169b33932740674" - ], - [ - "FStar.BitVector.shift_right_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "e12d30b1616aedc789663d1613321d3b" - ], - [ - "FStar.BitVector.shift_right_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec" - ], - 0, - "b062b17aaf9b6ef0db6ee31f0c9aa2a9" - ], - [ - "FStar.BitVector.shift_right_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec" - ], - 0, - "02b118c40d7607b44ec7dbbf49d7ff62" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_ea65417fa3624e7c2b2172bb9f7a454f", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "dbf9bb75c41b752fe311c68187df94c5" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec" - ], - 0, - "12e32a7ebb2e22a3b5be8d28f4ecb7d9" - ], - [ - "FStar.BitVector.shift_arithmetic_right_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec" - ], - 0, - "c54b14d55c1834b60841aa9e64721f05" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Buffer.Quantifiers.fst.hints b/ulib/.hints/FStar.Buffer.Quantifiers.fst.hints deleted file mode 100644 index ee18f131867..00000000000 --- a/ulib/.hints/FStar.Buffer.Quantifiers.fst.hints +++ /dev/null @@ -1,412 +0,0 @@ -[ - "ز\u001d\u0004ˆo?\u0005€b\u001f)ü+—]", - [ - [ - "FStar.Buffer.Quantifiers.lemma_sub_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "e63697fb79d6fe9aa27c862f12038a05" - ], - [ - "FStar.Buffer.Quantifiers.lemma_sub_quantifiers", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "b5953f95e4cbe9517f3191f5d9d08c19" - ], - [ - "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "4da93147707993b1e8e05494cd38c607" - ], - [ - "FStar.Buffer.Quantifiers.lemma_offset_quantifiers", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.offset", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_48d50f0a1fc24100a0523134cd198481", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.offset", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v" - ], - 0, - "914ffcc47f217d80e6aa69b7a0a88714" - ], - [ - "FStar.Buffer.Quantifiers.lemma_create_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "3b9a64f78b62e430c7bc70b9a9806978" - ], - [ - "FStar.Buffer.Quantifiers.lemma_create_quantifiers", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.get", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_924bb3e83dc57a3f506ccaedb3e29376", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "8926f3b8f74bb60b90369113e15d4b6f" - ], - [ - "FStar.Buffer.Quantifiers.lemma_index_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "97cdc243c3044639651066a82f93b0fc" - ], - [ - "FStar.Buffer.Quantifiers.lemma_index_quantifiers", - 2, - 0, - 1, - [ "@query", "equation_FStar.Buffer.get" ], - 0, - "2c7487dc1fd37941ba0694791da4b7f3" - ], - [ - "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "1d42e4ac1d027526398ad78b616f5006" - ], - [ - "FStar.Buffer.Quantifiers.lemma_upd_quantifiers", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "a57507f48da7a37fcfea31877380d583" - ], - [ - "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "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.UInt32.v" - ], - 0, - "e0998669c5a32f2cc5ebeb4141bea27a" - ], - [ - "FStar.Buffer.Quantifiers.lemma_blit_quantifiers", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.get", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" - ], - 0, - "e3b2ac322671f5afaf44476ad78feef0" - ], - [ - "FStar.Buffer.Quantifiers.eq_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f442ff09622d03c6d6ee6e8c34ebf8f4" - ], - [ - "FStar.Buffer.Quantifiers.eq_lemma", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_347cdcabc7e8becd6dd649804986fa75", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq", "typing_Prims.int" - ], - 0, - "f67137b24216e42e119ea7e51bb681f5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Buffer.fst.hints b/ulib/.hints/FStar.Buffer.fst.hints deleted file mode 100644 index 5eba8990701..00000000000 --- a/ulib/.hints/FStar.Buffer.fst.hints +++ /dev/null @@ -1,7231 +0,0 @@ -[ - "<Áy ³\u0007Ÿn£w$=ËB¦7", - [ - [ - "FStar.Buffer.lemma_size", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d47928e7b6596d8ebe64488b39ce3043" - ], - [ - "FStar.Buffer._buffer", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "88dc34055c9d5c43859cc007d93919e3" - ], - [ - "FStar.Buffer.__proj__MkBuffer__item__content", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "97ff3f0a6d2544340dc4ad6623e75d36" - ], - [ - "FStar.Buffer.__proj__MkBuffer__item__content", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "840ff4989d6e3636a5d71c82c9bbf6f5" - ], - [ - "FStar.Buffer.contains", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "359fdc629aa39c5c32b7c9f238e5bcfb" - ], - [ - "FStar.Buffer.unused_in", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "bda0fea79c7678e8ae0fed2fcd8cb51d" - ], - [ - "FStar.Buffer.sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "6a5e42d9b1c790239d847ab902ef8812" - ], - [ - "FStar.Buffer.max_length", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "5a4da473dce20348ead781a075c8c6d5" - ], - [ - "FStar.Buffer.length", - 1, - 0, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "834c860bee9d6459a5994e7564e492f4" - ], - [ - "FStar.Buffer.idx", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.UInt32.v" - ], - 0, - "b109635c5eb02c8dba3a66eb7f6a0ecb" - ], - [ - "FStar.Buffer.live", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "9198ea1a8462647209a449ccc8b1c376" - ], - [ - "FStar.Buffer.recall", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.max_length", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.max_length" - ], - 0, - "8e9becb31686ad1fe5dfa277c492aaf1" - ], - [ - "FStar.Buffer.recall", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58813dd89c8f7ed74f2c5a6834ba5abc", - "typing_FStar.Buffer.max_length" - ], - 0, - "b9b8fa2bd6404e597e22d7e7a9b98c27" - ], - [ - "FStar.Buffer.recall", - 3, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.max_length", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.max_length" - ], - 0, - "e8337d8c975897f7150975dd38371d87" - ], - [ - "FStar.Buffer.as_seq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_20ab1f36346ea1e7eb3700c2e9ccc8a8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.length", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.length" - ], - 0, - "640bd2a585cddbbd12a5b88841e0e9fe" - ], - [ - "FStar.Buffer.get", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" - ], - 0, - "57c34f5cc26bd22f7bfd1845b8d72723" - ], - [ - "FStar.Buffer.equal", - 1, - 0, - 1, - [ "@query" ], - 0, - "3274d743b40c460d9340b3386fa80352" - ], - [ - "FStar.Buffer.includes", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "45417b05e1f5d1df555177685824b404" - ], - [ - "FStar.Buffer.includes_live", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", - "equation_Prims.op_Equals_Equals_Equals" - ], - 0, - "c86793978ae24bab32e5bd02befdb9e3" - ], - [ - "FStar.Buffer.includes_as_seq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel" - ], - 0, - "91a3e0fae64285759c92f44ebc9b8774" - ], - [ - "FStar.Buffer.includes_trans", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.includes", - "equation_Prims.op_Equals_Equals_Equals" - ], - 0, - "885542309f58b5830d5b0022fab4744d" - ], - [ - "FStar.Buffer.lemma_disjoint_symm", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.disjoint" ], - 0, - "94e46c9c37868cc6f5606bb4ee1f22a3" - ], - [ - "FStar.Buffer.lemma_disjoint_sub", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.max_length", - "equation_FStar.Heap.trivial_preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "proj_equation_FStar.Buffer.MkBuffer_content" - ], - 0, - "c1d1f6ad4e23a9474ea4fb17ea27916d" - ], - [ - "FStar.Buffer.lemma_disjoint_sub'", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Buffer.lemma_disjoint_sub" ], - 0, - "ba778e0e8d833306603e3b8ad0aac4b2" - ], - [ - "FStar.Buffer.lemma_live_disjoint", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "f0f3da485eab5a5c50e33c2681656885" - ], - [ - "FStar.Buffer.arefs", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "85bac752f859fcc74edab487281dfd12" - ], - [ - "FStar.Buffer.Arefs_def", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e9bbb361a2f4eff5623525d1d77c6d9d" - ], - [ - "FStar.Buffer.lemma_arefs_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7214a809058bd5c05f6f4e37872583e1" - ], - [ - "FStar.Buffer.lemma_arefs_1", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Buffer.Arefs_def", "bool_inversion", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Buffer.abuffer@tok", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.mem_empty", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.arefs", "typing_FStar.Set.mem", - "typing_Prims.int" - ], - 0, - "f978de216933552701001a0952ea71bb" - ], - [ - "FStar.Buffer.lemma_arefs_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "16853b60acff82974b0fc33c63ccffae" - ], - [ - "FStar.Buffer.lemma_arefs_2", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.TSet_interpretation_Tm_arrow_3de58fd829d33d9d3ee6c709e8528481", - "assumption_FStar.Buffer.Arefs_def", "bool_inversion", - "equation_FStar.Buffer.op_Plus_Plus", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_FStar.TSet.union", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "kinding_FStar.Buffer.abuffer@tok", "l_or-interp", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.mem_union", "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Buffer.op_Plus_Plus", - "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.arefs", - "typing_FStar.Set.mem", "typing_Prims.int" - ], - 0, - "e880d02d28dfad01a0e2985c65b19ad7" - ], - [ - "FStar.Buffer.lemma_arefs_3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "eac347f9b87d1b8a2dee58c954758942" - ], - [ - "FStar.Buffer.lemma_arefs_3", - 2, - 0, - 1, - [ - "@query", "assumption_FStar.Buffer.Arefs_def", - "equation_FStar.Set.subset", "equation_Prims.nat", - "kinding_FStar.Buffer.abuffer@tok", "lemma_FStar.TSet.subset_mem" - ], - 0, - "8f8bfbe89fe92d9988b4a36b0b372508" - ], - [ - "FStar.Buffer.disjoint_from_refs", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0addea976f0f88bc8475c97649e6277a" - ], - [ - "FStar.Buffer.disjoint_from_refs", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5cca6ece16864a7b53d94e17f8a58873" - ], - [ - "FStar.Buffer.disjoint_only_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Buffer.Buff@tok", - "equation_FStar.Buffer.disjoint_from_bufs", - "equation_FStar.Buffer.only", "kinding_FStar.Buffer.abuffer@tok", - "lemma_FStar.TSet.mem_singleton", - "proj_equation_FStar.Buffer.Buff_b", - "proj_equation_FStar.Buffer.Buff_t", - "projection_inverse_FStar.Buffer.Buff_b", - "projection_inverse_FStar.Buffer.Buff_t" - ], - 0, - "66ae0356fc183a5944ee127b12795cff" - ], - [ - "FStar.Buffer.modifies_bufs_and_refs", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "547a67e45d4b8b1aaccca76cda3d833a" - ], - [ - "FStar.Buffer.modifies_bufs_and_refs", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "798fe2af07b0e5714cb900d132155046" - ], - [ - "FStar.Buffer.modifies_buf_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a9adfdb59d12effb6ee7701a3079c904" - ], - [ - "FStar.Buffer.modifies_buf_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "21b0f349128009d27a1a07857db87b05" - ], - [ - "FStar.Buffer.to_set_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b83337e33ee6808912555f426030a23f" - ], - [ - "FStar.Buffer.modifies_buf_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d23596da8cff0b9e8a3319054581d5d4" - ], - [ - "FStar.Buffer.to_set_3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "44cb8a8eced19fa2f0943b2e56144514" - ], - [ - "FStar.Buffer.modifies_buf_3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "867e793377f3b1f5b1b6a7e6545dee67" - ], - [ - "FStar.Buffer.to_set_4", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "86141cd5005e1e11d91fde22be2c3d9b" - ], - [ - "FStar.Buffer.modifies_buf_4", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "74b85dbe157bc60ced7677c353b9b8a4" - ], - [ - "FStar.Buffer.lemma_modifies_bufs_trans", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_bufs", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "257c9d5ac388cae314e1565d18c2ba38" - ], - [ - "FStar.Buffer.lemma_modifies_bufs_sub", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Buffer.Arefs_def", - "equation_FStar.Buffer.disjoint_from_bufs", - "equation_FStar.Buffer.modifies_bufs", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_FStar.Buffer.abuffer@tok", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "lemma_FStar.TSet.subset_mem", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.arefs", "typing_FStar.Monotonic.Heap.addr_of", - "typing_Prims.int" - ], - 0, - "cdc8f79828c1fc908e695352482d71ec" - ], - [ - "FStar.Buffer.lemma_modifies_bufs_subset", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.disjoint_from_bufs", - "equation_FStar.Buffer.only", "equation_FStar.Buffer.op_Plus_Plus", - "kinding_FStar.Buffer.abuffer@tok", "l_or-interp", - "lemma_FStar.TSet.mem_union", - "token_correspondence_FStar.Buffer.op_Plus_Plus", - "token_correspondence_FStar.TSet.union", "typing_FStar.Buffer.only" - ], - 0, - "e9e8318ef2ab1bdf50df01b240e233b3" - ], - [ - "FStar.Buffer.lemma_modifies_bufs_superset", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Buffer_pretyping_6bf9e68a1f30220d69839e9d288a77ce", - "data_typing_intro_FStar.Buffer.Buff@tok", - "equation_FStar.Buffer.disjoint_from_bufs", - "equation_FStar.Buffer.only", "equation_FStar.Buffer.op_Plus_Plus", - "fuel_guarded_inversion_FStar.Buffer.abuffer", - "kinding_FStar.Buffer.abuffer@tok", "l_or-interp", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.TSet.mem_singleton", "lemma_FStar.TSet.mem_union", - "proj_equation_FStar.Buffer.Buff_b", - "proj_equation_FStar.Buffer.Buff_t", - "projection_inverse_FStar.Buffer.Buff_b", - "projection_inverse_FStar.Buffer.Buff_t", - "token_correspondence_FStar.Buffer.op_Plus_Plus", - "token_correspondence_FStar.TSet.union", - "typing_FStar.Buffer.__proj__Buff__item__b", - "typing_FStar.Buffer.__proj__Buff__item__t", - "typing_FStar.Buffer.only" - ], - 0, - "8464405795ce06c0304fc8aa079fe70d" - ], - [ - "FStar.Buffer.modifies_trans_0_0", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "c4ecd77dc55e5efdb1a38643c4806e08" - ], - [ - "FStar.Buffer.modifies_trans_1_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "671b0025283e8da8406cd1e439344d9f" - ], - [ - "FStar.Buffer.modifies_trans_0_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "19a62bed1fa6625508d990f77a4e94a7" - ], - [ - "FStar.Buffer.modifies_trans_1_1", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "616e080e859d384abfee84cd62ef52e9" - ], - [ - "FStar.Buffer.modifies_trans_1_1'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "da9657662514010d247add2c031d5ba3" - ], - [ - "FStar.Buffer.modifies_trans_2_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "b63a8a8c04fc7144ef5878e9eb2b5654" - ], - [ - "FStar.Buffer.modifies_trans_2_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "2a98a1d34251c36b2a30392f714d09cd" - ], - [ - "FStar.Buffer.modifies_trans_2_1'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_Prims.int" - ], - 0, - "0e3009e3038b77197a010ddf7e50dc27" - ], - [ - "FStar.Buffer.modifies_trans_0_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_empty", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "d3fa808fcd72bc4bdbca2344c3722066" - ], - [ - "FStar.Buffer.modifies_trans_1_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "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.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", "typing_Prims.int" - ], - 0, - "1d7c7d8db2e5256902bfcc02466433b3" - ], - [ - "FStar.Buffer.modifies_trans_2_2", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "787fe624d69808e3f3556fbe3c2d5ad9" - ], - [ - "FStar.Buffer.modifies_trans_3_3", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_3", - "equation_FStar.Buffer.to_set_3", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "bdae562cc0faaaa9ba25617c132367e0" - ], - [ - "FStar.Buffer.modifies_trans_4_4", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.modifies_buf_4", - "equation_FStar.Buffer.to_set_4", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperStack.modifies_ref" - ], - 0, - "b853d7319a9eb34a134a83e1f0b9315b" - ], - [ - "FStar.Buffer.lemma_intro_modifies_0", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_0" ], - 0, - "6d8d1029923762c70b1e818801fae4f7" - ], - [ - "FStar.Buffer.lemma_intro_modifies_1", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.modifies_1", - "l_and-interp" - ], - 0, - "47da5ac5ca11b68dc3432caab79d5ec9" - ], - [ - "FStar.Buffer.lemma_intro_modifies_2_1", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_2_1" ], - 0, - "f89a0cd81729dfe36936155ba398f54c" - ], - [ - "FStar.Buffer.lemma_intro_modifies_2", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_2" ], - 0, - "31b303749ba40c30aa7a652039631726" - ], - [ - "FStar.Buffer.lemma_intro_modifies_3", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_3" ], - 0, - "359a1724881aa6d4a25bca370ed89cc0" - ], - [ - "FStar.Buffer.lemma_intro_modifies_3_2", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_3_2" ], - 0, - "e39cb5ece8b05bddae7240329b1eb43a" - ], - [ - "FStar.Buffer.lemma_intro_modifies_region", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_region" ], - 0, - "e462bc4640a4a83a77b86242655cf410" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_0", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_0" ], - 0, - "8350605e9ab0ceaea1ebd1a27f6a2498" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_1", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.modifies_1", - "l_and-interp" - ], - 0, - "79bba0bcfee7c1c837d7924b3fd4bf16" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_2_1", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_2_1" ], - 0, - "f99865bd33b65538c3b939bc7e891daf" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_2", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_2" ], - 0, - "28d6875cba748dbcd8413e2f4aab7ff5" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_3", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_3" ], - 0, - "115d6ef6b1ccd1d3c902e44d35dd5a08" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_3_2", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_3_2" ], - 0, - "e9287bedc2095b16e0ab44d5e9740691" - ], - [ - "FStar.Buffer.lemma_reveal_modifies_region", - 1, - 0, - 1, - [ "@query", "equation_FStar.Buffer.modifies_region" ], - 0, - "472076958bf31604f4a8213ad1e60ea2" - ], - [ - "FStar.Buffer.lemma_stack_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "fcaeaa825ebbe9a511b4c0219dd9d896" - ], - [ - "FStar.Buffer.lemma_stack_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "f39764f503239274faa41975563783db" - ], - [ - "FStar.Buffer.lemma_modifies_2_comm", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "d8f56b9dc5821796a859081aff274bea" - ], - [ - "FStar.Buffer.lemma_modifies_3_2_comm", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_3_2", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "52c9a9e490631931774cba58bb12b105" - ], - [ - "FStar.Buffer.lemma_modifies_0_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "lemma_FStar.Buffer.modifies_trans_0_0", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "21efb3157d206e740c3f765ef26eb3ef" - ], - [ - "FStar.Buffer.lemma_modifies_1_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "eq2-interp", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.modifies_1", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" - ], - 0, - "ac678b772c3f8512f73139e9617d74d1" - ], - [ - "FStar.Buffer.lemma_modifies_2_1_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.modifies_trans_0_0", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "7feb35651aee5b5fc9123bbcf53101da" - ], - [ - "FStar.Buffer.lemma_modifies_2_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.modifies_2", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_2_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "d2127c7e2b4c6d0dc72e4ac8cb0eb246" - ], - [ - "FStar.Buffer.lemma_modifies_2_trans'", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Buffer.lemma_modifies_2_trans" ], - 0, - "649e938e106f7c0b8895ce339e3ae5d0" - ], - [ - "FStar.Buffer.lemma_modifies_3_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.modifies_3", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_2_2", - "lemma_FStar.Buffer.modifies_trans_3_3", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "191271969f216ca254498331ac87a70e" - ], - [ - "FStar.Buffer.lemma_modifies_3_2_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.modifies_3_2", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", - "lemma_FStar.Buffer.lemma_modifies_3_2_comm", - "lemma_FStar.Buffer.modifies_trans_0_0", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_2_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "799c71970a125644c883a3b2505283a0" - ], - [ - "FStar.Buffer.lemma_modifies_3_2_trans'", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_3_2_comm", - "lemma_FStar.Buffer.lemma_modifies_3_2_trans" - ], - 0, - "48437b8bfdae8df183af8875fb7c31c3" - ], - [ - "FStar.Buffer.lemma_modifies_0_0", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Buffer.lemma_modifies_0_trans" ], - 0, - "13d54d38670e0a5cb389c99fc47b39ae" - ], - [ - "FStar.Buffer.lemma_modifies_1_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.modifies_trans_1_0", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "185e7a2978605f576723f9994ad4fd97" - ], - [ - "FStar.Buffer.lemma_modifies_0_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.modifies_trans_0_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "2e88d62ee04f54dc31d5712b48a69455" - ], - [ - "FStar.Buffer.lemma_modifies_0_1'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.modifies_trans_0_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", - "typing_Prims.int" - ], - 0, - "d519db08c5e0b28e4fe078056537d76e" - ], - [ - "FStar.Buffer.lemma_modifies_1_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "51cc628bab565513a4f02fb8c9cd4f25" - ], - [ - "FStar.Buffer.lemma_modifies_0_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.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", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.modifies_trans_0_1", - "lemma_FStar.Buffer.modifies_trans_0_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.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.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "e5e0bc95bbef6ecbc3283929b07760f9" - ], - [ - "FStar.Buffer.lemma_modifies_0_2'", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_0_2", - "lemma_FStar.Buffer.lemma_modifies_2_comm" - ], - 0, - "4834ffe1f2a7ac7d41da13d343cb0d5f" - ], - [ - "FStar.Buffer.lemma_modifies_1_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.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", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_1_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.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.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "698b67d8db57397b6d1865dd94bdfde8" - ], - [ - "FStar.Buffer.lemma_modifies_1_2'", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_1_2", - "lemma_FStar.Buffer.lemma_modifies_2_comm" - ], - 0, - "226d7fd1020057c343303dceec18fdbd" - ], - [ - "FStar.Buffer.lemma_modifies_1_2''", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.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.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_1_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.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_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "61997be963be376f037cc063a2e641b2" - ], - [ - "FStar.Buffer.lemma_modifies_1_2'''", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_1_2__", - "lemma_FStar.Buffer.lemma_modifies_2_comm" - ], - 0, - "726e2de1dba7d83111eabe2bdec28bbb" - ], - [ - "FStar.Buffer.lemma_modifies_1_1_prime", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.modifies_trans_1_1_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "15d1700f5e3f73da41a7769ac08793cd" - ], - [ - "FStar.Buffer.lemma_modifies_2_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.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.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.Buffer.modifies_trans_2_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "6f94e18cdd61619241092d4bb08409a3" - ], - [ - "FStar.Buffer.lemma_modifies_2_1'", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_2_1", - "lemma_FStar.Buffer.lemma_modifies_2_comm" - ], - 0, - "c304853cd202ccdcb57df28d528a8dfe" - ], - [ - "FStar.Buffer.lemma_modifies_2_1''", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_3_2", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.lemma_modifies_3_2_comm", - "lemma_FStar.Buffer.modifies_trans_0_1", - "lemma_FStar.Buffer.modifies_trans_1_1_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "0293ea2066f805bfc8b60e0304f1449d" - ], - [ - "FStar.Buffer.lemma_modifies_0_unalloc", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_live_disjoint", - "lemma_FStar.Buffer.modifies_trans_0_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", - "typing_Prims.int" - ], - 0, - "238d309e2cc7114b1fb89aaca6afe16b" - ], - [ - "FStar.Buffer.lemma_modifies_none_1_trans", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_none", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "fuel_guarded_inversion_FStar.Buffer._buffer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.singleton", - "typing_FStar.UInt32.v" - ], - 0, - "d3a8830358903388b93b7cb3dde9d239" - ], - [ - "FStar.Buffer.lemma_modifies_0_none_trans", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_none", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "7a5fc554259a459d51d63eae03d97a5b" - ], - [ - "FStar.Buffer.create", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.length" - ], - 0, - "8e90ddeab633766734373511c6d9584f" - ], - [ - "FStar.Buffer.create", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "dc76b01cb03d47f79808f82ea88358fa" - ], - [ - "FStar.Buffer.createL", - 1, - 0, - 1, - [ "@query" ], - 0, - "a3a3e0d2877d554fbc2268e9bedaf644" - ], - [ - "FStar.Buffer.createL", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "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_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_145731bec775c591ae321893c0c371e6", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.content", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_FStar.UInt.max_int" - ], - 0, - "a9f8c04acfd61b6522ba2d7d52be8936" - ], - [ - "FStar.Buffer.lemma_upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "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.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.upd", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_d3823f3ffb7d6f0f3f244bcf3486653f", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "0c81ea9ada7c5e9e80bbffe2af99d2d5" - ], - [ - "FStar.Buffer.rcreate_post_common", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.length", "typing_Prims.int" - ], - 0, - "930844c7d4fba31b7a2b6aac7f4a2748" - ], - [ - "FStar.Buffer.rcreate_common", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mmmref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mmmref", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", - "refinement_interpretation_Tm_refine_433a6ba0587d1ca6a1ced9d7f162c4b1", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" - ], - 0, - "d09f7e2cb8fd7e8e9899f82b75e6de4e" - ], - [ - "FStar.Buffer.rcreate", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "1976f9905ec6f454cec9b532da4c0109" - ], - [ - "FStar.Buffer.rcreate", - 2, - 0, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "10ef0d285bec36cf1b07f9c599613159" - ], - [ - "FStar.Buffer.freeable", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Buffer.buffer", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "107c52955e64018fce959ad3fdbae8f3" - ], - [ - "FStar.Buffer.rcreate_mm", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.freeable", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v" - ], - 0, - "531e0434106d64cf1dafc40f95982c46" - ], - [ - "FStar.Buffer.rfree", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.freeable", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9678504c51c86ec83112fd10f7c6b5aa", - "refinement_interpretation_Tm_refine_a4eac6347c7d645715f84860aebfd69e", - "typing_FStar.Buffer.max_length" - ], - 0, - "40f59bc5a736426ebfbf576e0db6666d" - ], - [ - "FStar.Buffer.to_seq", - 1, - 0, - 1, - [ "@query" ], - 0, - "f43cef6d2d446c0fbb283c937d2a1a3e" - ], - [ - "FStar.Buffer.to_seq", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_065a4aa72f25333839d85047a8af8781", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "193361d8e0144f462591ddfa8fd65b7a" - ], - [ - "FStar.Buffer.to_seq_full", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.UInt32.v" - ], - 0, - "8ef75c4ccee062a1e53e77fe1a166e03" - ], - [ - "FStar.Buffer.index", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "24695e75cb69b0481d7ecc5c26da419c" - ], - [ - "FStar.Buffer.index", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.sel", - "typing_FStar.UInt32.v" - ], - 0, - "386728e7e353b245406655f657936069" - ], - [ - "FStar.Buffer.lemma_aux_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.mref", - "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.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt32.v" - ], - 0, - "c9f7d16b18338a1eeb1021489e8487df" - ], - [ - "FStar.Buffer.lemma_aux_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" - ], - 0, - "18e57872c86d7ccff49188a75a23796f" - ], - [ - "FStar.Buffer.lemma_aux_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" - ], - 0, - "839a416aa74fd829200927bcee2bcb1b" - ], - [ - "FStar.Buffer.lemma_aux", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_b3147a013fc3de9c07b015aef346b76e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v" - ], - 0, - "633c0a7b52339dc86a9d2ed62d5bd18b" - ], - [ - "FStar.Buffer.lemma_aux", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Buffer.MkBuffer", "eq2-interp", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.Seq.Base.upd", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "6deabec1cf61845c16441e6dfe8d7ec8" - ], - [ - "FStar.Buffer.upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "37d7e1a5f29f8390d917ba0798f68891" - ], - [ - "FStar.Buffer.upd", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Heap.trivial_preorder", "int_inversion", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_196084bc1ad335a40df7013012fef5be", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v" - ], - 0, - "e6d95b4e663998f8f82f3a8101ce1c4d" - ], - [ - "FStar.Buffer.sub", - 1, - 0, - 1, - [ "@query" ], - 0, - "2a6e312c51c6e9e87fed620788a4b159" - ], - [ - "FStar.Buffer.sub", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Buffer.MkBuffer", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.HyperStack.ST.reference", "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.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "f27504f9827082627ac12768fe321d36" - ], - [ - "FStar.Buffer.sub_sub", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.sub", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.sub", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "1821dd652f137f9378845a2c6f05e9d6" - ], - [ - "FStar.Buffer.sub_zero_length", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "data_elim_FStar.Buffer.MkBuffer", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.sub", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sub", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "7a89c96e43ce45cb60d85435a3f87bcb" - ], - [ - "FStar.Buffer.lemma_sub_spec", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_2232b91224142b56c18e0ee422ea9da9", - "refinement_interpretation_Tm_refine_3182ed61a6c0f53ab673702144c198e7", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_94d7e20a012dbe25deed430415b46122", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "602a8d07a46a264d12a97520a71e2321" - ], - [ - "FStar.Buffer.lemma_sub_spec'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.length", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "1d6a515442c5cfd4e323be8d5ea01831" - ], - [ - "FStar.Buffer.offset", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.HyperStack.ST.reference", "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.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.UInt32.v" - ], - 0, - "99915c874d4821af85f7ad91211a78a3" - ], - [ - "FStar.Buffer.lemma_offset_spec", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d3060c465339ecda0be41d56c70d2939", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.offset", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v" - ], - 0, - "4f635ba4e44a01e27a0c2634aebc0338" - ], - [ - "FStar.Buffer.eq_lemma1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "532e445c9db2521e680027c2fd9c908b" - ], - [ - "FStar.Buffer.eq_lemma1", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.sel", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_88f363c12958402184da0289a08e44ec", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_c34eeed50e3291404394eda2d6afaa60", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "1329939c19f7f9f14c98b778a6ecb5d9" - ], - [ - "FStar.Buffer.eq_lemma2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d688e960f2ed541e3427937670e96b60" - ], - [ - "FStar.Buffer.eq_lemma2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Buffer.MkBuffer", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_88f363c12958402184da0289a08e44ec", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", - "typing_FStar.Buffer.sel", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "286d7dc68eea805ec19295c237315acc" - ], - [ - "FStar.Buffer.eqb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d0bfd38dbb31edccb547a0b721db7197" - ], - [ - "FStar.Buffer.eqb", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.get", "equation_FStar.Buffer.length", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "int_typing", "lemma_FStar.Buffer.eq_lemma1", - "lemma_FStar.Buffer.eq_lemma2", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.length", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "05f993a46b8b6d9e1b44cabc9e127d64" - ], - [ - "FStar.Buffer.op_Array_Access", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "ac78e6fd1200582e5dea43e385006c1a" - ], - [ - "FStar.Buffer.op_Array_Access", - 2, - 2, - 1, - [ "@query" ], - 0, - "5d72004a4bf5d248b65d8aaa82423ec7" - ], - [ - "FStar.Buffer.op_Array_Assignment", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.UInt32.v" - ], - 0, - "d2a812054d14c0fef9ce53f521ded229" - ], - [ - "FStar.Buffer.lemma_modifies_one_trans_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.frameOf", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" - ], - 0, - "d324b6047c7ca23ddbafa57ccf0b12ee" - ], - [ - "FStar.Buffer.blit", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "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.UInt32.v" - ], - 0, - "9ca22bd46cb5a068fe3e4c5a24ac4190" - ], - [ - "FStar.Buffer.blit", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Set.subset", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3bf086c0987720e9db833a04036625f8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", - "refinement_interpretation_Tm_refine_89b796908cece79a7bde86d77f35e936", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_bbaf30b7e6b2f4321d64e4fb15d0e0fa", - "refinement_interpretation_Tm_refine_cb0a37d34a0203f2b2899fecdf6f96d7", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "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.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" - ], - 0, - "188e3c81071244fe40a3fc96e127ea4f" - ], - [ - "FStar.Buffer.blit", - 4, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.eq", - "int_inversion", "int_typing", "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0dd0dd0179670a3da350af5edc7f56c4", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "6349b587291cd1de91796f1091952299" - ], - [ - "FStar.Buffer.blit", - 5, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb" - ], - 0, - "9709102da7cd5d6cf5fc99369d2d9113" - ], - [ - "FStar.Buffer.blit", - 6, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb" - ], - 0, - "306c81ea56019e7eb6062b1b39a89262" - ], - [ - "FStar.Buffer.blit", - 7, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89b796908cece79a7bde86d77f35e936", - "refinement_interpretation_Tm_refine_bbaf30b7e6b2f4321d64e4fb15d0e0fa" - ], - 0, - "dc0eacdac2fb5f35cf44b2725ab58734" - ], - [ - "FStar.Buffer.blit", - 8, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_89b796908cece79a7bde86d77f35e936", - "refinement_interpretation_Tm_refine_bbaf30b7e6b2f4321d64e4fb15d0e0fa" - ], - 0, - "3afed897b73b219c91a6ff77824de497" - ], - [ - "FStar.Buffer.blit", - 9, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_typing", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" - ], - 0, - "80272aa15e91287d82554f0331e82e7e" - ], - [ - "FStar.Buffer.blit", - 10, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201" - ], - 0, - "2789a61a576c596f1722f7eec95bce20" - ], - [ - "FStar.Buffer.blit", - 11, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_41037dcbe47053748ab5a334ffd2ae52" - ], - 0, - "b2807bf7f8b50c324a807a62c3133de3" - ], - [ - "FStar.Buffer.blit", - 12, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_typing", "lemma_FStar.Buffer.lemma_size", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.length", "typing_FStar.UInt32.v" - ], - 0, - "56f05bbc07a45f82c7068c575616934c" - ], - [ - "FStar.Buffer.blit", - 13, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_09ad58be535a9e1b0e6a9a6d05ce0508", - "refinement_interpretation_Tm_refine_41037dcbe47053748ab5a334ffd2ae52" - ], - 0, - "4631f44b22fc53d885427aaf9589514b" - ], - [ - "FStar.Buffer.blit", - 14, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6aac140efde23823f681b6d91e231476", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201" - ], - 0, - "f93934cfd73f5886f5d58f6bd8333411" - ], - [ - "FStar.Buffer.blit", - 15, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "8b18d05e2dcc379779cbdf3f39eab0cf" - ], - [ - "FStar.Buffer.blit", - 16, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.uint_t", "int_typing", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "6e11447f475b4714d599ea56ab67d87c" - ], - [ - "FStar.Buffer.blit", - 17, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.uint_t", "int_typing", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "041681c4f206116ecde04b6b63d9a4ea" - ], - [ - "FStar.Buffer.blit", - 18, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" - ], - 0, - "a9731036c60fa1b1a23d17c95ac7cabf" - ], - [ - "FStar.Buffer.blit", - 19, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_11680ee9023de011304c39a5a3fdfa1b", - "refinement_interpretation_Tm_refine_32c1b5236bd2248adadde14a0cc76ee0", - "refinement_interpretation_Tm_refine_3821aaf01c8a2ab22d53f66e0aa3a51d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8b88b886cb13290982806f7453dedd41" - ], - [ - "FStar.Buffer.blit", - 20, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201" - ], - 0, - "2e2f0142d7d1de9e1286716f7c1b82b8" - ], - [ - "FStar.Buffer.blit", - 21, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" - ], - 0, - "b65b0f7f908c34c2dfec0ee3b1ef3878" - ], - [ - "FStar.Buffer.blit", - 22, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12e574cb6b46bb726b6f9dd55b6a9de4", - "refinement_interpretation_Tm_refine_3821aaf01c8a2ab22d53f66e0aa3a51d", - "refinement_interpretation_Tm_refine_53befc80cb06414d1071b54d9379ad45", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_90462b01edbf77d22bf7dcb897f24432", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201" - ], - 0, - "37b512cc550c6d3bad94460cc805f22e" - ], - [ - "FStar.Buffer.blit", - 23, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_3821aaf01c8a2ab22d53f66e0aa3a51d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ca3d1b3137a204903e550942ff9b9219" - ], - [ - "FStar.Buffer.blit", - 24, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201" - ], - 0, - "93cb30512c31e2c1a099a9c8b5c9ff2c" - ], - [ - "FStar.Buffer.blit", - 25, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq" - ], - 0, - "36c0128989b22838eb1d7c4c402c8bd7" - ], - [ - "FStar.Buffer.blit", - 26, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_12e574cb6b46bb726b6f9dd55b6a9de4", - "refinement_interpretation_Tm_refine_3821aaf01c8a2ab22d53f66e0aa3a51d", - "refinement_interpretation_Tm_refine_53befc80cb06414d1071b54d9379ad45", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_89b796908cece79a7bde86d77f35e936", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_90462b01edbf77d22bf7dcb897f24432", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201", - "refinement_interpretation_Tm_refine_aaa5a6872ecc8d61f3ab8265d26222c5", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "typing_FStar.Buffer.as_seq", "typing_FStar.Seq.Base.length" - ], - 0, - "26e6184f51c3a14a41d3fd10c9b0bb7d" - ], - [ - "FStar.Buffer.blit", - 27, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_modifies_1_trans", - "lemma_FStar.Buffer.lemma_modifies_one_trans_1", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Buffer.modifies_trans_1_1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "lemma_FStar.Seq.Properties.slice_upd", - "lemma_FStar.Seq.Properties.snoc_slice_index", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_092a863715c7aa46ad7c76c5bab6bce3", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_09ad58be535a9e1b0e6a9a6d05ce0508", - "refinement_interpretation_Tm_refine_11680ee9023de011304c39a5a3fdfa1b", - "refinement_interpretation_Tm_refine_12e574cb6b46bb726b6f9dd55b6a9de4", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_32c1b5236bd2248adadde14a0cc76ee0", - "refinement_interpretation_Tm_refine_3821aaf01c8a2ab22d53f66e0aa3a51d", - "refinement_interpretation_Tm_refine_41037dcbe47053748ab5a334ffd2ae52", - "refinement_interpretation_Tm_refine_53befc80cb06414d1071b54d9379ad45", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", - "refinement_interpretation_Tm_refine_72ed43472de8d3640d379dc9577975cb", - "refinement_interpretation_Tm_refine_77d8977ba906837611057243b8006371", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_89b796908cece79a7bde86d77f35e936", - "refinement_interpretation_Tm_refine_8d82ef4814efd3f006bc6a0e690f005e", - "refinement_interpretation_Tm_refine_90462b01edbf77d22bf7dcb897f24432", - "refinement_interpretation_Tm_refine_a1abecb90e67c1d088f62c7bc84fd201", - "refinement_interpretation_Tm_refine_aaa5a6872ecc8d61f3ab8265d26222c5", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b062a87a7d2c53581276683e0766ec79", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_b5ffe672138fad0b0436c6f21690c281", - "refinement_interpretation_Tm_refine_bbaf30b7e6b2f4321d64e4fb15d0e0fa", - "refinement_interpretation_Tm_refine_cb0a37d34a0203f2b2899fecdf6f96d7", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.frameOf", - "typing_FStar.Map.concat", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" - ], - 0, - "d36614ca467138dcc735c00759889214" - ], - [ - "FStar.Buffer.fill", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Heap.trivial_preorder", - "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_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.frameOf", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v" - ], - 0, - "41f29714d07cd4e2f35d6fc1b000b48e" - ], - [ - "FStar.Buffer.fill", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.offset", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_FStar.Set.subset", - "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.eq", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.Buffer.lemma_modifies_1_trans", - "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "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_upd", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_48d50f0a1fc24100a0523134cd198481", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eaf5a5a20b44a7570443845ef02d6dca", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.offset", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "9b6398b9776a4afec14d933ac692a8b0" - ], - [ - "FStar.Buffer.split", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_ee180072ca47f40833158b7702b0b6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "9c7eaa974e52d8a4ec69ba94caebdaea" - ], - [ - "FStar.Buffer.join", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_253471864a4d0539fc8c8071abbd05ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.idx", "typing_FStar.Buffer.length", - "typing_FStar.UInt32.v" - ], - 0, - "dec71146ad2548c1154c3e1687542606" - ], - [ - "FStar.Buffer.join", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "lemma_FStar.Buffer.lemma_size", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.UInt32.v" - ], - 0, - "60ec26b6f2a74d6970cb3b2c289f08f8" - ], - [ - "FStar.Buffer.no_upd_lemma_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "63d00ec08b69180f7002477a530e9f9e" - ], - [ - "FStar.Buffer.no_upd_lemma_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.mem", - "typing_FStar.Set.singleton" - ], - 0, - "3d5b492fda0ccba30cc667c6af7b9913" - ], - [ - "FStar.Buffer.no_upd_lemma_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "a010de999a3ee0b15493f678553267fb" - ], - [ - "FStar.Buffer.no_upd_lemma_2_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "6538746eb4a1169a5a19723e49189503" - ], - [ - "FStar.Buffer.no_upd_fresh", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.sel", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "e748a53e6f30644c6615dfa1e99d6b07" - ], - [ - "FStar.Buffer.no_upd_popped", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.sel", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "5c3983bb9e6b9709d0f7aca36aece34f" - ], - [ - "FStar.Buffer.lemma_modifies_sub_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "e22e16a17b2cc96941ffc1f73bd20365" - ], - [ - "FStar.Buffer.lemma_modifies_sub_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Set.subset", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "d42a0d24f9583c5abc72c7efa6b629c6" - ], - [ - "FStar.Buffer.lemma_modifies_sub_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.content", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "5f2570ff4b1ab63d2172131346c91a79" - ], - [ - "FStar.Buffer.lemma_modifies_sub_2_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Buffer.no_upd_lemma_0", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "7746430ffe674454ae9f24d8925a1680" - ], - [ - "FStar.Buffer.modifies_subbuffer_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eq2", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.lemma_disjoint_sub_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.as_ref", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "e692ed660cbfad3346bc706dd0a722ad" - ], - [ - "FStar.Buffer.modifies_subbuffer_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_disjoint_sub", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.no_upd_lemma_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "901394decf1cbc99595ef50d90cbaa65" - ], - [ - "FStar.Buffer.modifies_subbuffer_2'", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.modifies_subbuffer_2" - ], - 0, - "388c4644491e63a1ce6f37b9c2c6743a" - ], - [ - "FStar.Buffer.modifies_subbuffer_2_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_ref", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_disjoint_sub", - "lemma_FStar.Buffer.no_upd_lemma_2_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.Buffer.MkBuffer_content", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "0cd4cb66c05fae1b31342b42d373a3c9" - ], - [ - "FStar.Buffer.modifies_subbuffer_2_prime", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "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.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Buffer.modifies_subbuffer_2_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.to_set_2", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", "typing_Prims.int" - ], - 0, - "d3b07e9c223cb3c62dfe21a7ff0db99b" - ], - [ - "FStar.Buffer.modifies_popped_3_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_3_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.lemma_modifies_3_2_comm", - "lemma_FStar.Buffer.no_upd_fresh", - "lemma_FStar.Buffer.no_upd_popped", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "4c6cdd84956460173c42ab1719272719" - ], - [ - "FStar.Buffer.modifies_popped_2", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Buffer.lemma_stack_2" ], - 0, - "bad6b3f77d3830f3dba13fb9746f172d" - ], - [ - "FStar.Buffer.modifies_popped_1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.no_upd_fresh", - "lemma_FStar.Buffer.no_upd_popped", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "5f0d2c4a2dc366f1cbdec66f4c098070" - ], - [ - "FStar.Buffer.modifies_popped_1'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", "l_and-interp", - "lemma_FStar.Buffer.lemma_stack_1", - "lemma_FStar.Buffer.no_upd_fresh", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "e75e51cd15d10fab7805d073515953a7" - ], - [ - "FStar.Buffer.modifies_popped_0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Buffer.no_upd_fresh", - "lemma_FStar.Buffer.no_upd_lemma_0", - "lemma_FStar.Buffer.no_upd_popped", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "d7273b90316e9b3836ad8b9d8aaba248" - ], - [ - "FStar.Buffer.live_popped", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Buffer.no_upd_popped" ], - 0, - "7a47b86b9679dd590523b2dda5be7d33" - ], - [ - "FStar.Buffer.live_fresh", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Buffer.no_upd_fresh" ], - 0, - "ebf568899b2973fd8f09ee346ff6485e" - ], - [ - "FStar.Buffer.modifies_0_to_2_1_lemma", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Buffer.lemma_modifies_sub_2_1" ], - 0, - "4f7b0218af9b8b6e1a48493e2e286232" - ], - [ - "FStar.Buffer.lemma_modifies_none_push_pop", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.modifies_none", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "3df1c8f150a697c969c6798b36118998" - ], - [ - "FStar.Buffer.lemma_modifies_0_push_pop", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.Buffer.modifies_none", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Set.subset", "lemma_FStar.Buffer.modifies_popped_0", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "bc41fa525cd084547800b3b972ac27df" - ], - [ - "FStar.Buffer.modifies_1_to_2_1_lemma", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_1", - "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "lemma_FStar.Buffer.no_upd_lemma_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.frameOf", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "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.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.v" - ], - 0, - "39fcd3d41c74550b96c8b2ada735e83a" - ], - [ - "FStar.Buffer.modifies_poppable_0", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.modifies_0", - "equation_FStar.Monotonic.HyperStack.poppable" - ], - 0, - "8173238623adb6ec40b6581b5411c36b" - ], - [ - "FStar.Buffer.modifies_poppable_1", - 1, - 0, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.modifies_1", - "equation_FStar.Monotonic.HyperStack.poppable", "l_and-interp" - ], - 0, - "e9a0bbeff2b33b44b32426ec81160a47" - ], - [ - "FStar.Buffer.modifies_poppable_2_1", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.modifies_2_1", - "equation_FStar.Monotonic.HyperStack.poppable" - ], - 0, - "1582cb9672fcc04f70defc94ed7b7b97" - ], - [ - "FStar.Buffer.modifies_poppable_2", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.modifies_2", - "equation_FStar.Monotonic.HyperStack.poppable" - ], - 0, - "81abeccefd417e428615345d9827e669" - ], - [ - "FStar.Buffer.modifies_poppable_3_2", - 1, - 0, - 1, - [ - "@query", "equation_FStar.Buffer.modifies_3_2", - "equation_FStar.Monotonic.HyperStack.poppable" - ], - 0, - "d54822576a0bc7d905abd4adbb689fa5" - ], - [ - "FStar.Buffer.lemma_fresh_poppable", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "da8eceedbbab3e4e6e6e5021947021fa" - ], - [ - "FStar.Buffer.lemma_equal_domains_popped", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton" - ], - 0, - "7980f06f56d7db04bf0f0f0fe34a7220" - ], - [ - "FStar.Buffer.lemma_equal_domains", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton" - ], - 0, - "20e4f351b6ba63637ef6c06ff7c8b61e" - ], - [ - "FStar.Buffer.lemma_equal_domains_2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.modifies_0", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "a6de77a396dd33adb0bb1d0242c18a98" - ], - [ - "FStar.Buffer.assignL", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.idx", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.offset", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.sub", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Buffer.lemma_disjoint_sub_", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_modifies_1_trans", - "lemma_FStar.Buffer.lemma_modifies_sub_1", - "lemma_FStar.Buffer.lemma_offset_spec", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Buffer.modifies_subbuffer_1", - "lemma_FStar.Buffer.no_upd_lemma_1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_index_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_length", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1a84e78220991a93402184b67dad5da7", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_33780f6126b1db25e324fbaa1752a9ec", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3a33987670546e4294472ce3e7056926", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48d50f0a1fc24100a0523134cd198481", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_6160ddad6b8a74948ba29c6f06362117", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_794ef516c95d46fb28cf783bab321269", - "refinement_interpretation_Tm_refine_7fcd9f9963b1bace84e3aea08e5f1004", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Buffer.idx", - "typing_FStar.Buffer.length", "typing_FStar.Buffer.sel", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "c999dc37e8a2a612cda3b3b9f3971a81" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.BufferNG.fst.hints b/ulib/.hints/FStar.BufferNG.fst.hints deleted file mode 100644 index 20c11848bdb..00000000000 --- a/ulib/.hints/FStar.BufferNG.fst.hints +++ /dev/null @@ -1,921 +0,0 @@ -[ - "\u001fzé\u0011\u0014\u0011ohr\u00069&\u001aÐi½", - [ - [ - "FStar.BufferNG.supported", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_Prims.Cons", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", - "subterm_ordering_FStar.Pointer.Base.TStruct" - ], - 0, - "70c68dc8d9b5c149f33f6781877ce789" - ], - [ - "FStar.BufferNG.supported", - 2, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9faba42ab88b43fa963967c6d9fe0a56_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, - "5bc16f1052491021d10a110ad321ce3f" - ], - [ - "FStar.BufferNG.length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d381358a6450349a0880ccc7a852a4b1" - ], - [ - "FStar.BufferNG.as_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.BufferNG.typ", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "dfe780e158630194705903458f384ec9" - ], - [ - "FStar.BufferNG.equal", - 1, - 2, - 1, - [ "@query" ], - 0, - "96e9072ad7ad9afd7c9839a2a1d38660" - ], - [ - "FStar.BufferNG.includes_live", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3a1bf709f44b6acad08e633d2cb27298", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_idx", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v" - ], - 0, - "a37f391c91140f54f164ff8ba60a7a08" - ], - [ - "FStar.BufferNG.includes_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3a1bf709f44b6acad08e633d2cb27298", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_idx", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v" - ], - 0, - "6e22babb60963ff46131c06c8c976594" - ], - [ - "FStar.BufferNG.lemma_disjoint_symm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "lemma_FStar.Pointer.Base.loc_disjoint_sym", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "typing_FStar.Pointer.Base.loc_buffer" - ], - 0, - "a4e8aa5373aae9043cdfca404c09771e" - ], - [ - "FStar.BufferNG.lemma_disjoint_sub", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pointer.Base.loc_includes_refl" ], - 0, - "3da30892b2c92a5dc7ba2d2e814f3646" - ], - [ - "FStar.BufferNG.lemma_disjoint_sub'", - 1, - 2, - 1, - [ "@query", "lemma_FStar.BufferNG.lemma_disjoint_sub" ], - 0, - "aafe2c0cb1e4f1754188ef1194b5cfaf" - ], - [ - "FStar.BufferNG.lemma_live_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "lemma_FStar.Pointer.Base.buffer_live_unused_in_disjoint", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "bf10f6922df2ed498f8d64ab09a20721" - ], - [ - "FStar.BufferNG.create", - 1, - 2, - 1, - [ "@query" ], - 0, - "6bb8dbe238b525981991d952238ffe03" - ], - [ - "FStar.BufferNG.create", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.BufferNG.typ", - "equation_FStar.Pointer.Base.array_length_t", - "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_cd8f0bca9917727345df4a84d95cb089", - "refinement_interpretation_Tm_refine_cfb9b8efff012a5d01b2c0a9c1ac3ddf", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Pointer.Base.type_of_typ" - ], - 0, - "05b04618bc4a7d7ba2d3a65678b77473" - ], - [ - "FStar.BufferNG.createL", - 1, - 2, - 1, - [ "@query" ], - 0, - "207fa59cfe05e8c679b1c09d5c5b42be" - ], - [ - "FStar.BufferNG.createL", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "constructor_distinct_Tm_unit", - "equation_FStar.BufferNG.typ", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c16f8df3b77d2a62953a5067b4a7ab2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_e35b51f6d8f78041632d4d5e8cb19375", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pointer.Base.type_of_typ" - ], - 0, - "3699d4b8075c94a51995980261e25e1d" - ], - [ - "FStar.BufferNG.rcreate", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904", - "typing_Prims.int" - ], - 0, - "8c00c3e22762459dc688cce41f461a47" - ], - [ - "FStar.BufferNG.rcreate", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.BufferNG.typ", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.modifies_0", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.loc_includes_none", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_11909c5fb1b8562f96ab0360020d5e9a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_84983f7c0806bb5412215ca218d31904", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.loc_addresses", - "typing_FStar.Pointer.Base.loc_none", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.Set.empty", - "typing_Prims.int" - ], - 0, - "ed600bce14a4562ac2013765bf0af92d" - ], - [ - "FStar.BufferNG.index", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "0e99da73a50af7ea9757e85262bb758b" - ], - [ - "FStar.BufferNG.index", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_6dcf40a9f3e46c6ee241f21155b50a17", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "e1b1c8936fcca6aee982677ec82e2b39" - ], - [ - "FStar.BufferNG.upd", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "a642c83eb70ee70931adf86d5037ad2c" - ], - [ - "FStar.BufferNG.upd", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BufferNG.typ", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.index_buffer_as_seq", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0a147678bf56b26eeadd0abbd6faaa27", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "ac6e4dd24b362b0b562fbff2bf12ebc1" - ], - [ - "FStar.BufferNG.gsub", - 1, - 0, - 1, - [ "@query" ], - 0, - "9fa65a59b4e3276f3dfd6af48f4bd14e" - ], - [ - "FStar.BufferNG.sub", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.buffer_includes_refl", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Derived1.buffer_includes_gsub_r_gen", - "refinement_interpretation_Tm_refine_9677d43c8c2e9af09c372809386d1d2c", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "e0d73a9c66681676e8603c3837240d76" - ], - [ - "FStar.BufferNG.sub_sub", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.gsub_buffer_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "8528b6bbe9d3a564060b89c4dcf731c6" - ], - [ - "FStar.BufferNG.sub_zero_length", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", - "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v", - "typing_Prims.pow2" - ], - 0, - "7e9d60c62a1ccee998deac6387474b3c" - ], - [ - "FStar.BufferNG.lemma_sub_spec", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a4ca283f07c4aec1a58634b29fcdf2e9", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "2787dd5577026268fbd6110770b83073" - ], - [ - "FStar.BufferNG.goffset", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d10c63e4c06ecb72af10b22ea3d7eaf7" - ], - [ - "FStar.BufferNG.offset", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BufferNG.goffset", - "equation_FStar.BufferNG.typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "refinement_interpretation_Tm_refine_641fce6bc942be5fca09aa01892948d3", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "52fa4f5b8cf2ab2725cc04cb310cf460" - ], - [ - "FStar.BufferNG.lemma_offset_spec", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.BufferNG.goffset", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v" - ], - 0, - "a6b28367c44820cab1650085150f0cd5" - ], - [ - "FStar.BufferNG.eqb", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "5d08f42501a37f7daa04bb96664c0d04" - ], - [ - "FStar.BufferNG.eqb", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BufferNG.typ", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_de82fdca8af22a979da8df8eb1e9d50a", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "0ae6b83732c0d1c669a382c0762085f1" - ], - [ - "FStar.BufferNG.op_Array_Access", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "e34bc66491927bb28bce6ce051d3853b" - ], - [ - "FStar.BufferNG.op_Array_Access", - 2, - 0, - 1, - [ "@query" ], - 0, - "fb1ca821f81ebf3ee837265a749faa78" - ], - [ - "FStar.BufferNG.op_Array_Assignment", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b" - ], - 0, - "3c41ec1891c1f3ba422736dcd8d59d50" - ], - [ - "FStar.BufferNG.op_Array_Assignment", - 2, - 0, - 1, - [ "@query" ], - 0, - "e2a25b01d106c863ce1914f5711bcbbf" - ], - [ - "FStar.BufferNG.live_slice_middle", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BufferNG.typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "fb820def0e7bcae5a8d5ea4e6d75c05f" - ], - [ - "FStar.BufferNG.blit", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e22b0f182e7d387712321d7e3565ef7", - "refinement_interpretation_Tm_refine_1c4ef516459e009d7930a903c4eb6843", - "refinement_interpretation_Tm_refine_57521f026deacbb895951eebf24294ee", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "421e25876d6627f892387b09fc74f770" - ], - [ - "FStar.BufferNG.blit", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BufferNG.typ", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_postcond", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.BufferNG.lemma_disjoint_symm", - "lemma_FStar.BufferNG.lemma_sub_spec", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gsub_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_sym", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Base.modifies_refl", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_l", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_r", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0e22b0f182e7d387712321d7e3565ef7", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1c4ef516459e009d7930a903c4eb6843", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_57521f026deacbb895951eebf24294ee", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "unit_inversion", "unit_typing" - ], - 0, - "5b47e0d4b01f4970d5f272ec3c69f863" - ], - [ - "FStar.BufferNG.fill", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "equation_FStar.BufferNG.typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4f5df72ac18af4a5d8f81987b194ec", - "refinement_interpretation_Tm_refine_528ed54123556b4f4e69f222e6c61002", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "3bdc38f7abd1516108542d32daa50454" - ], - [ - "FStar.BufferNG.fill", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BufferNG.supported.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BufferNG.typ", - "equation_FStar.Pointer.Derived3.fill_buffer_postcond", - "equation_FStar.Pointer.Derived3.fill_buffer_precond", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.BufferNG.live_slice_middle", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gsub_buffer", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Derived1.buffer_readable_intro_empty", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b4f5df72ac18af4a5d8f81987b194ec", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_528ed54123556b4f4e69f222e6c61002", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_bea39cac067e0c9a643c20fc30e3ff59", - "refinement_interpretation_Tm_refine_e00ce3f31f2c9de47444b3b1287c695b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BufferNG.supported", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "619a8283a2c55e001968d19ff5ce9152" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Bytes.fsti.hints b/ulib/.hints/FStar.Bytes.fsti.hints deleted file mode 100644 index 8afd246f13b..00000000000 --- a/ulib/.hints/FStar.Bytes.fsti.hints +++ /dev/null @@ -1,564 +0,0 @@ -[ - "ÓwáB—°‡`ÎæY\u0007ƒ¢%<", - [ - [ - "FStar.Bytes.length_reveal", - 1, - 2, - 1, - [ "@query" ], - 0, - "79a2c2b754e3ce62556f39ca1e76d991" - ], - [ - "FStar.Bytes.hide_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "lemma_FStar.Bytes.length_reveal", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" - ], - 0, - "79868836eeb14c4bd5b4f4bf07754f64" - ], - [ - "FStar.Bytes.lbytes", - 1, - 2, - 1, - [ "@query" ], - 0, - "41df10509f726cbb5ea3d8c1d4250f41" - ], - [ - "FStar.Bytes.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0ec0d5af579319902ba14f8e38d7f020" - ], - 0, - "d86a18bbd2973375a60077dc938b1d48" - ], - [ - "FStar.Bytes.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a26289dd1ed96c11636852c43782f4cd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" - ], - 0, - "2d48b8e6ec3a1b36fe6fe865101ccd02" - ], - [ - "FStar.Bytes.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "60e8aae5329e537b43ffacb71391bd43" - ], - [ - "FStar.Bytes.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" - ], - 0, - "1a1a01324bf27d93e426d5ccd4b4449e" - ], - [ - "FStar.Bytes.create_", - 1, - 2, - 1, - [ "@query" ], - 0, - "f8e18f503ca1da799d1cbb17eb4d0a02" - ], - [ - "FStar.Bytes.init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" - ], - 0, - "539d5f899b0d86fae911e6d8ee83d112" - ], - [ - "FStar.Bytes.slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_93c6928c0660bb845c23f0c4c2a68984", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d49d13a91748ffc0c6654383d3c62160" - ], - [ - "FStar.Bytes.slice_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c8d4b8e7c04d9fb230960845a3629f4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" - ], - 0, - "1d34c756831d0b333e3b3f21591a214e" - ], - [ - "FStar.Bytes.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_409ccb62c6480b2d9faff66bee0eeac7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "0109e922017035eea0303bc20090d18b" - ], - [ - "FStar.Bytes.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "lemma_FStar.Bytes.length_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ac6edb774778b9994c24a58478b5d708" - ], - 0, - "60926a379c5e91dd83baf95a2cee8186" - ], - [ - "FStar.Bytes.split_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe06514f0dc5952abb788caab3603518" - ], - 0, - "54244391d6d463d8d1b1c94a91af1e89" - ], - [ - "FStar.Bytes.fits_in_k_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0c6741849a09602ba76af14b8dfc5fce" - ], - [ - "FStar.Bytes.repr_bytes", - 1, - 2, - 1, - [ "@query" ], - 0, - "455eed54467156e10506c4088baa4cdd" - ], - [ - "FStar.Bytes.lemma_repr_bytes_values", - 1, - 2, - 1, - [ "@query" ], - 0, - "5df4c7784046bbd8865129d29bd76cf5" - ], - [ - "FStar.Bytes.int_of_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t" - ], - 0, - "42fb77766b361424585fdf7df44f8cf7" - ], - [ - "FStar.Bytes.int_of_bytes_of_int", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.Bytes.lbytes", "equation_FStar.Bytes.uint_k", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Bytes.repr_bytes_size", - "lemma_FStar.UInt.pow2_values", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_16113b670c3948241b38ee17f4d8fb91", - "refinement_interpretation_Tm_refine_4abe363fbd476f177e4aeda14fca5100", - "refinement_interpretation_Tm_refine_4ed9331e58a64785d1e7c44d04bfc8ac", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Bytes.repr_bytes" - ], - 0, - "77fa6c7576694d33ecd62a3a7f1d59d8" - ], - [ - "FStar.Bytes.bytes_of_int_of_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Bytes.repr_bytes_size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1a10f77b983c08957e6e3d67f89d5b6", - "typing_FStar.Bytes.int_of_bytes", "typing_FStar.Bytes.len", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "cff028e9d23019aab9e2a5246ac396bf" - ], - [ - "FStar.Bytes.int32_of_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e105a4dc5034f86e85960084c0ef4e99", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t" - ], - 0, - "e5403936e3691191de720d700c725d8f" - ], - [ - "FStar.Bytes.int16_of_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "lemma_FStar.Bytes.length_reveal", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_adf158a3b09982f079824e86665bd1e6", - "typing_FStar.Bytes.reveal", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t" - ], - 0, - "958615ee216c13012298bcff33efd45a" - ], - [ - "FStar.Bytes.int8_of_bytes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_c973f16ff13b3cfd3c24ce17b21aa2ea" - ], - 0, - "e4c176072a3f6c9a3892f62546083e8d" - ], - [ - "FStar.Bytes.bytes_of_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Bytes.lemma_repr_bytes_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v" - ], - 0, - "6824f56a02d7f54e73d9896a85f0ab0f" - ], - [ - "FStar.Bytes.bytes_of_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Bytes.lemma_repr_bytes_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v" - ], - 0, - "b81b63eb295e091b7b0c3b82777855f8" - ], - [ - "FStar.Bytes.bytes_of_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Bytes.lemma_repr_bytes_values", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Bytes.len", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.v" - ], - 0, - "64249fc55b75525e25d6ebab0301b355" - ], - [ - "FStar.Bytes.xor", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1b160cf1652208ae65ab850dea931d19" - ], - [ - "FStar.Bytes.xor_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Bytes.minbytes", - "refinement_interpretation_Tm_refine_18f0d918558bf813d8bb0c945d0e16b1" - ], - 0, - "840b988035b11089fe983c3f96cc3333" - ], - [ - "FStar.Bytes.xor_commutative", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "afcc7574f5afa086739a77617fc03a2e" - ], - [ - "FStar.Bytes.xor_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Bytes.length_reveal", - "lemma_FStar.Seq.Base.lemma_len_append", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_741024ad9087c14aafcb026a356cec38", - "refinement_interpretation_Tm_refine_a6aa63004515174b4832b3b7fcfafff1", - "typing_FStar.Bytes.reveal", "typing_FStar.UInt8.t" - ], - 0, - "4200fe20cc2f275a0b6a2b5daba38be2" - ], - [ - "FStar.Bytes.xor_idempotent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Bytes.lbytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_71ea40360194fe02ee1272538c9cacbc" - ], - 0, - "04724ae35f07a46b0cc6367800feaee1" - ], - [ - "FStar.Bytes.lbuffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "a315c040f75926f8db95d670950aeaa9" - ], - [ - "FStar.Bytes.of_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ccd572beaf360461f706a792967101e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", "typing_Prims.int" - ], - 0, - "d512fcb614e7ec8341097205b9b3d4e0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Calc.fst.hints b/ulib/.hints/FStar.Calc.fst.hints deleted file mode 100644 index 2da43820519..00000000000 --- a/ulib/.hints/FStar.Calc.fst.hints +++ /dev/null @@ -1,165 +0,0 @@ -[ - "÷¼\u007f\u001dEìB†Š$›XÔ è7", - [ - [ - "FStar.Calc.__proj__CalcRefl__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aca066588938eccb3233c4b413250683" - ], - 0, - "7d45e4356e8af59e98cec15f306a919b" - ], - [ - "FStar.Calc.__proj__CalcStep__item__rs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "ce98964287f5f3eaa5e16b6e11aa36d8" - ], - [ - "FStar.Calc.__proj__CalcStep__item__p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "a1a6f8139af0e2cb70a856c828798061" - ], - [ - "FStar.Calc.__proj__CalcStep__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "fa24a65e666ee22e47d5757663855b60" - ], - [ - "FStar.Calc.__proj__CalcStep__item__y", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "6cba784839989adf680fd0ea114e072a" - ], - [ - "FStar.Calc.__proj__CalcStep__item__z", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "f71da7217825ea629ffb4b126733ce14" - ], - [ - "FStar.Calc.__proj__CalcStep__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Calc.CalcStep", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "29f476aa241640e26e0645d54ec4145a" - ], - [ - "FStar.Calc.__proj__CalcStep__item___6", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Calc.CalcStep", - "refinement_interpretation_Tm_refine_9c6abe94fea6c3fba3c728cdc2d748d8" - ], - 0, - "636d7d14df14931cd069dce640e6f0c9" - ], - [ - "FStar.Calc.calc_chain_related", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_df47a5e1036c31f5a72fe09ed5f79d16_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Preorder.relation", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "4e805932c424fc7d3098d2670fc20a9f" - ], - [ - "FStar.Calc.elim_calc_chain", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_21e0224d84c6bc2e50ff634a926fac8a_5", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Calc.CalcRefl", "data_elim_FStar.Calc.CalcStep", - "disc_equation_FStar.Calc.CalcRefl", - "disc_equation_FStar.Calc.CalcStep", "eq2-interp", - "equation_FStar.Preorder.relation", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Calc.calc_chain", - "l_quant_interp_43a2db0e344cdc97725966e43ee6410c", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Prims.Cons" - ], - 0, - "29184f228d84d751f0e5b07a122d3631" - ], - [ - "FStar.Calc.calc_finish", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.list", - "l_quant_interp_aea9e20b80d16cd80ec3abffa7f8ceb0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e90fdbf696d653b7a319b98d220bcd75" - ], - [ - "FStar.Calc.calc_push_impl", - 1, - 2, - 1, - [ "@query", "equation_Prims.l_imp", "l_imp-interp" ], - 0, - "57d5061dbe1fc399e2b2545d7e063d46" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Calc.fsti.hints b/ulib/.hints/FStar.Calc.fsti.hints deleted file mode 100644 index 7504883ae6b..00000000000 --- a/ulib/.hints/FStar.Calc.fsti.hints +++ /dev/null @@ -1,21 +0,0 @@ -[ - "æ×þPižx;&Ê6‘|¥\u0003", - [ - [ - "FStar.Calc.calc_chain_related", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_df47a5e1036c31f5a72fe09ed5f79d16_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Preorder.relation", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d53678d87ecae1588f822fdc6ff3cdf1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Cardinality.Cantor.fst.hints b/ulib/.hints/FStar.Cardinality.Cantor.fst.hints deleted file mode 100644 index e0f177c2355..00000000000 --- a/ulib/.hints/FStar.Cardinality.Cantor.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "¯.È\u0000Ï\u00178\u0003(Hþ‡@u€ª4\u0014", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Cardinality.Universes.fst.hints b/ulib/.hints/FStar.Cardinality.Universes.fst.hints deleted file mode 100644 index 19d0ff5b7ff..00000000000 --- a/ulib/.hints/FStar.Cardinality.Universes.fst.hints +++ /dev/null @@ -1,54 +0,0 @@ -[ - "¤\u0018Ê\u001aÏâ¤æ.Ž•0u\u001a^", - [ - [ - "FStar.Cardinality.Universes.aux_inj_type_powerset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.coerce_eq", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Cardinality.Universes.type_powerset", - "projection_inverse_FStar.Cardinality.Universes.Mk_f" - ], - 0, - "ce65fb8609b9b6c5d985bcfc7c39131c" - ], - [ - "FStar.Cardinality.Universes.inj_type_powerset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Cardinality.Universes_interpretation_Tm_arrow_bd57a38769219a0e1de1215474092522", - "FStar.Functions_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.Functions.is_inj", - "equation_FStar.Functions.powerset", - "token_correspondence_FStar.Cardinality.Universes.type_powerset@tok" - ], - 0, - "036e083eba87621278398b8837c3309f" - ], - [ - "FStar.Cardinality.Universes.no_inj_universes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Cardinality.Universes_interpretation_Tm_arrow_bd57a38769219a0e1de1215474092522", - "FStar.Functions_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.Functions.is_inj", - "equation_FStar.Functions.powerset", - "interpretation_Tm_abs_cb469ed28d655e27e1e7c347f238a283", - "kinding_FStar.Cardinality.Universes.type_powerset@tok", - "token_correspondence_FStar.Cardinality.Universes.type_powerset@tok" - ], - 0, - "f3d7b5264561395930f6172b92b98ef7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Cardinality.Universes.fsti.hints b/ulib/.hints/FStar.Cardinality.Universes.fsti.hints deleted file mode 100644 index 80b0db522c4..00000000000 --- a/ulib/.hints/FStar.Cardinality.Universes.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0016\u0011K\u0011¯4\u0003Þ\u001b\u0011þ\"\u0018û±=", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Char.fsti.hints b/ulib/.hints/FStar.Char.fsti.hints deleted file mode 100644 index 59f9fde259e..00000000000 --- a/ulib/.hints/FStar.Char.fsti.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "„û‡(ϲÙ'éãC\u007f0{×à", - [ - [ - "FStar.Char.int_of_char", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5df74b27ae0ec9da98a6455436380520" - ], - [ - "FStar.Char.char_of_int", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_41bb1fe33d2856748d537571528d32a1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "60a782d6dddc81da1f1606f32d63f4f0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Add.fst.hints b/ulib/.hints/FStar.Class.Add.fst.hints deleted file mode 100644 index 7b41e1fe793..00000000000 --- a/ulib/.hints/FStar.Class.Add.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Öw\u0007\u0016™ð\u0003t\u0012ÿOgüØq\t", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Embeddable.fst.hints b/ulib/.hints/FStar.Class.Embeddable.fst.hints deleted file mode 100644 index 42a0e486465..00000000000 --- a/ulib/.hints/FStar.Class.Embeddable.fst.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "\u0019;&Uc·8EP\u0016ŒAÓ\u0003Æ`", - [ - [ - "FStar.Class.Embeddable.e_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_47ef4bffd18829ca7805b3106b828a77_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Class.Embeddable.embeddable", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "a86bf09006cebcc1fe5c37881fe482b7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Embeddable.fsti.hints b/ulib/.hints/FStar.Class.Embeddable.fsti.hints deleted file mode 100644 index 7227845f251..00000000000 --- a/ulib/.hints/FStar.Class.Embeddable.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ñáÜÒ[Sâ\u000bbÈ\u001aÿ\u0012ßkÓ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Eq.Raw.fst.hints b/ulib/.hints/FStar.Class.Eq.Raw.fst.hints deleted file mode 100644 index d0f9741d418..00000000000 --- a/ulib/.hints/FStar.Class.Eq.Raw.fst.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "Å8b\u0001»Ã°,™Š»»£‡Ì¡", - [ - [ - "FStar.Class.Eq.Raw.eqList", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_Prims.Cons" - ], - 0, - "69d20933271131d6187fe1705ed025ec" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Eq.fst.hints b/ulib/.hints/FStar.Class.Eq.fst.hints deleted file mode 100644 index 6c237e4dcba..00000000000 --- a/ulib/.hints/FStar.Class.Eq.fst.hints +++ /dev/null @@ -1,137 +0,0 @@ -[ - "…\u001f\u001eÖ2§¸äYë,ʾ¥\" ", - [ - [ - "FStar.Class.Eq.eq_instance_of_eqtype", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Class.Eq.Raw.eq_instance_of_eqtype", - "equation_FStar.Class.Eq.decides_eq", - "interpretation_Tm_abs_e98f4b71ef47e83d53da8f81c925bb67", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Class.Eq.Raw.Mkdeq_eq" - ], - 0, - "66dfbfa38b032a00451125acbea00a49" - ], - [ - "FStar.Class.Eq.eqList_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Class.Eq.Raw.eqList.fuel_instrumented", - "@fuel_irrelevance_FStar.Class.Eq.Raw.eqList.fuel_instrumented", - "@query", - "FStar.Class.Eq.Raw_interpretation_Tm_arrow_679f629946b093acbafef0e8f80fb0c7", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_FStar.Class.Eq.Mkdeq", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Class.Eq.decides_eq", "equation_Prims.squash", - "equation_with_fuel_FStar.Class.Eq.Raw.eqList.fuel_instrumented", - "fuel_guarded_inversion_FStar.Class.Eq.deq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Class.Eq.Raw.eqList", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Class.Eq.Mkdeq_raw", - "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_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Class.Eq.Raw.eqList", - "typing_FStar.Class.Eq.Raw.__proj__Mkdeq__item__eq", - "typing_FStar.Class.Eq.Raw.eqList", - "typing_FStar.Class.Eq.__proj__Mkdeq__item__raw" - ], - 0, - "4bc905acfddc0a12643e72be014adaed" - ], - [ - "FStar.Class.Eq.eq_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Class.Eq.Raw.eq", - "equation_FStar.Class.Eq.Raw.eq_list", - "fuel_guarded_inversion_FStar.Class.Eq.deq", - "interpretation_Tm_abs_4a90e61f71e771bd3cfa6d62c04c3a91", - "proj_equation_FStar.Class.Eq.Mkdeq_raw", - "proj_equation_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_FStar.Class.Eq.Raw.Mkdeq_eq", - "token_correspondence_FStar.Class.Eq.Raw.eq" - ], - 0, - "a463a35e743217ad90a931ec122b0120" - ], - [ - "FStar.Class.Eq.eq_pair", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Class.Eq.Mkdeq", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Class.Eq.Raw.eq", - "equation_FStar.Class.Eq.Raw.eq_pair", - "equation_FStar.Class.Eq.decides_eq", - "equation_FStar.Class.Eq.deq_raw_deq", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Class.Eq.deq", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_4a90e61f71e771bd3cfa6d62c04c3a91", - "interpretation_Tm_abs_7dc3bd7598a598630fbb36407666b60b", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Class.Eq.Mkdeq_raw", - "proj_equation_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Class.Eq.Raw.eq" - ], - 0, - "ae149d6b044748ca70f0222f7092815f" - ], - [ - "FStar.Class.Eq.eq_option", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Class.Eq.Mkdeq", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Class.Eq.Raw.eq", - "equation_FStar.Class.Eq.Raw.eq_option", - "equation_FStar.Class.Eq.decides_eq", - "equation_FStar.Class.Eq.deq_raw_deq", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Class.Eq.deq", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_4995ff7af2fcf763312dbeb8afe7c6d8", - "interpretation_Tm_abs_4a90e61f71e771bd3cfa6d62c04c3a91", - "proj_equation_FStar.Class.Eq.Mkdeq_raw", - "proj_equation_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Class.Eq.Raw.Mkdeq_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Class.Eq.Raw.eq" - ], - 0, - "aa212c31cb0974cf8dd53a029b0ca255" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.Printable.fst.hints b/ulib/.hints/FStar.Class.Printable.fst.hints deleted file mode 100644 index 28e1d51dd76..00000000000 --- a/ulib/.hints/FStar.Class.Printable.fst.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "9Ùu¤\u000eH<óô[HcB\u0000¤ú", - [ - [ - "FStar.Class.Printable.printable_option", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "e5cdfb314c27d91eff659286d6f6fe5a" - ], - [ - "FStar.Class.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, - "d7b6fdec78ccd98a876974b60b008313" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Class.TotalOrder.Raw.fst.hints b/ulib/.hints/FStar.Class.TotalOrder.Raw.fst.hints deleted file mode 100644 index 1e585b44a60..00000000000 --- a/ulib/.hints/FStar.Class.TotalOrder.Raw.fst.hints +++ /dev/null @@ -1,142 +0,0 @@ -[ - "tW@ÌP·S¥\u0007uP<\u0000öª", - [ - [ - "FStar.Class.TotalOrder.Raw.flip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Order.Eq", - "disc_equation_FStar.Order.Gt", "disc_equation_FStar.Order.Lt", - "fuel_guarded_inversion_FStar.Order.order", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "536d85809d6f932d5757a07e4c4cec20" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Less", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "1ca5b56798bde39cf70c627a896a2ef5" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Greater", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "192e7ee2ee960dfaad7703aef5256959" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Equals", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "81ddeea29a4ffbdb811204cd620f7684" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Less_Equals", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "4e21854370f6f2556332afa07cf9b403" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Greater_Equals", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "48c2e5b363602c4334d58a9cc12f7770" - ], - [ - "FStar.Class.TotalOrder.Raw.op_Less_Greater", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "f2924019716e25c6698177ec41a3b4a2" - ], - [ - "FStar.Class.TotalOrder.Raw.totalorder_pair", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Order_interpretation_Tm_arrow_ccb3ed22b175455b00531b67b5c7d856", - "data_elim_FStar.Class.TotalOrder.Raw.Mktotalorder", - "disc_equation_FStar.Order.Eq", "disc_equation_FStar.Order.Gt", - "disc_equation_FStar.Order.Lt", - "equation_FStar.Class.TotalOrder.Raw.compare", - "equation_FStar.Class.TotalOrder.Raw.raw_comparator", - "fuel_guarded_inversion_FStar.Class.TotalOrder.Raw.totalorder", - "fuel_guarded_inversion_FStar.Order.order", - "interpretation_Tm_abs_2940a0fc7f1e0167aa05f1bf69be3f18", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.Class.TotalOrder.Raw.compare" - ], - 0, - "2f6790090be07288775258c138c473c1" - ], - [ - "FStar.Class.TotalOrder.Raw.totalorder_option", - 1, - 2, - 1, - [ - "@query", "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" - ], - 0, - "73fbaf19814cdadc07343b62d311140e" - ], - [ - "FStar.Class.TotalOrder.Raw.raw_compare_lists", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Order_interpretation_Tm_arrow_ccb3ed22b175455b00531b67b5c7d856", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_281bdd6c540688ce207e1df16d1dc6dd_2", - "data_elim_FStar.Class.TotalOrder.Raw.Mktotalorder", - "disc_equation_FStar.Order.Eq", "disc_equation_FStar.Order.Gt", - "disc_equation_FStar.Order.Lt", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Class.TotalOrder.Raw.compare", - "equation_FStar.Class.TotalOrder.Raw.raw_comparator", - "fuel_guarded_inversion_FStar.Class.TotalOrder.Raw.totalorder", - "fuel_guarded_inversion_FStar.Order.order", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_2940a0fc7f1e0167aa05f1bf69be3f18", - "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", - "token_correspondence_FStar.Class.TotalOrder.Raw.compare" - ], - 0, - "f06e5b586c6408cecd22d86115cc5693" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Classical.Sugar.fst.hints b/ulib/.hints/FStar.Classical.Sugar.fst.hints deleted file mode 100644 index 93d65b684e2..00000000000 --- a/ulib/.hints/FStar.Classical.Sugar.fst.hints +++ /dev/null @@ -1,237 +0,0 @@ -[ - "Ñ‘Ûu–²ä&\t\u001cIq×\u0006", - [ - [ - "FStar.Classical.Sugar.forall_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "d21c2826074fac03daf6286a27ba4dc6" - ], - [ - "FStar.Classical.Sugar.implies_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "7b4b599b7b543cdee482edb05e14012e" - ], - [ - "FStar.Classical.Sugar.or_elim_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "07114763f7eb5b1434310a4b4a2dedc1" - ], - [ - "FStar.Classical.Sugar.or_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "06ccc0b52651ed1f5207e88901d96f31" - ], - [ - "FStar.Classical.Sugar.or_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "97524c2dc23162d7f28033b8167d368d" - ], - [ - "FStar.Classical.Sugar.or_elim", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "304d1b7319c063bfaa2a41f7d5178d9b" - ], - [ - "FStar.Classical.Sugar.and_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e6764ea7cf9747bf338120e46774802" - ], - 0, - "939c4445315bc854e07ff819882e098a" - ], - [ - "FStar.Classical.Sugar.and_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e6764ea7cf9747bf338120e46774802" - ], - 0, - "94454450616c0804f0469b455a114f0d" - ], - [ - "FStar.Classical.Sugar.and_elim", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e6764ea7cf9747bf338120e46774802" - ], - 0, - "9558005fadbeaf2d101bac62000a8dd1" - ], - [ - "FStar.Classical.Sugar.exists_intro_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "323c043e8f0dbfd634c02f270736c41c" - ], - [ - "FStar.Classical.Sugar.implies_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "dff5360aaa816f81ff7226584fcd7dd3" - ], - [ - "FStar.Classical.Sugar.implies_intro", - 2, - 2, - 1, - [ "@query" ], - 0, - "2fab6a30317319e883d58582e9db3c79" - ], - [ - "FStar.Classical.Sugar.implies_intro", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4e13c4cd6b8cb02140c3cf05fb9a252b" - ], - [ - "FStar.Classical.Sugar.or_intro_left", - 1, - 2, - 1, - [ "@query" ], - 0, - "de358d6adbfa78605d94bb592f030cf0" - ], - [ - "FStar.Classical.Sugar.or_intro_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "a47641dabef506ce8332443f5e405b3f" - ], - [ - "FStar.Classical.Sugar.or_intro_right", - 2, - 2, - 1, - [ "@query" ], - 0, - "f291014c59991a00a2f7444e6e290e51" - ], - [ - "FStar.Classical.Sugar.or_intro_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "a4c4689938e453d52078ce96813de43c" - ], - [ - "FStar.Classical.Sugar.and_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "aca51aae13e9548195948631dcaf3e65" - ], - [ - "FStar.Classical.Sugar.and_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f9f1f5a1d96e90262f6f71229a8d2bd8" - ], - [ - "FStar.Classical.Sugar.and_intro", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "5ec397ae9c990615bf5138341aaa5950" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Classical.Sugar.fsti.hints b/ulib/.hints/FStar.Classical.Sugar.fsti.hints deleted file mode 100644 index ae9de545c7e..00000000000 --- a/ulib/.hints/FStar.Classical.Sugar.fsti.hints +++ /dev/null @@ -1,77 +0,0 @@ -[ - "Bè\fa7QΩÜ1Õðó\u0002Èq", - [ - [ - "FStar.Classical.Sugar.implies_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "89f31de1276f82f002f2bfbe00268dce" - ], - [ - "FStar.Classical.Sugar.or_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "823f6d8e2a52ab7e83cac89e0167ef7d" - ], - [ - "FStar.Classical.Sugar.and_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0e6764ea7cf9747bf338120e46774802" - ], - 0, - "7413f6539cc9b4c50faaab3ab17c692b" - ], - [ - "FStar.Classical.Sugar.implies_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "2594d79d24413a83871228b5d875d218" - ], - [ - "FStar.Classical.Sugar.or_intro_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_953a6e4e702e848a7213bd619baaa22d" - ], - 0, - "483d98d3a57a20b704a74d6f78e081b5" - ], - [ - "FStar.Classical.Sugar.and_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3265418fc434663aa6141d5e202f95f7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Classical.fst.hints b/ulib/.hints/FStar.Classical.fst.hints deleted file mode 100644 index ba6400b9f25..00000000000 --- a/ulib/.hints/FStar.Classical.fst.hints +++ /dev/null @@ -1,273 +0,0 @@ -[ - "TÓÖîð«\u001bM9dE\u001c½°†\u0018", - [ - [ - "FStar.Classical.give_witness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "6c116f69289fea2e4f67f6d5420e8451" - ], - [ - "FStar.Classical.give_witness_from_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4d25b1c8d0c0ea89dd6e3ad047becef4" - ], - [ - "FStar.Classical.get_squashed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f3fc2178ecea01a6544b3baac18db086" - ], - [ - "FStar.Classical.get_equality", - 1, - 2, - 1, - [ "@query", "equation_Prims.eq2" ], - 0, - "7e863780524c0ede59f14cdc48d619a9" - ], - [ - "FStar.Classical.impl_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb4bd36a7e4e721d21f424fd0521bc6c" - ], - [ - "FStar.Classical.move_requires", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9b7334cbfcee116f8a0ec3b788d03b35" - ], - [ - "FStar.Classical.impl_intro_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "248915200bc01f75fcbbc8f6484bc3ae" - ], - [ - "FStar.Classical.impl_intro_gen", - 2, - 2, - 1, - [ "@query" ], - 0, - "389dc19f095f343ed5b72b59d579e13c" - ], - [ - "FStar.Classical.impl_intro_gen", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9ee2168dcf8d93962ee440efb071d605" - ], - [ - "FStar.Classical.get_forall", - 1, - 2, - 1, - [ "@query" ], - 0, - "0193753692c8c8711c4b89a94ca6c233" - ], - [ - "FStar.Classical.forall_intro_gtot", - 1, - 2, - 1, - [ "@query" ], - 0, - "3d25188ce30bdcb997f22982986e58ae" - ], - [ - "FStar.Classical.lemma_forall_intro_gtot", - 1, - 2, - 1, - [ "@query" ], - 0, - "b2e9c51a4523a1e686f07412a0d35760" - ], - [ - "FStar.Classical.gtot_to_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "945db7fe04c453ea019734e536db3f99" - ], - [ - "FStar.Classical.forall_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "7591de72f344266c0460554159a0f8c8" - ], - [ - "FStar.Classical.forall_impl_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "c7e563e880c971caabfa95328a5a8bbd" - ], - [ - "FStar.Classical.ghost_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8b80f409a0eadc1aa499a01b7ca08738" - ], - [ - "FStar.Classical.exists_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "9c03ca2d72311103c8057cb75125ea63" - ], - [ - "FStar.Classical.exists_intro_not_all_not", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "equation_Prims.l_False", "equation_Prims.l_imp", - "equation_Prims.l_not", "equation_Prims.squash", "false_interp", - "refinement_interpretation_Tm_refine_2d33f25c272b786939e0cf2a5c695c42", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_typing" - ], - 0, - "8c3a2c748a26b634ba127f9620fefbd9" - ], - [ - "FStar.Classical.forall_to_exists", - 1, - 2, - 1, - [ "@query" ], - 0, - "9aa7a0d70d6b8e3f43ed6b7e64e6b737" - ], - [ - "FStar.Classical.forall_to_exists_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "901b737e5385ae965753a6cce361884f" - ], - [ - "FStar.Classical.exists_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "cf803d398365980ad7e4b316bae0ab02" - ], - [ - "FStar.Classical.or_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "bd2ae7e134a02deca9f608e994a8559d" - ], - [ - "FStar.Classical.or_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9dbb34b309d74f31dc666ebf7ebc0733" - ], - [ - "FStar.Classical.or_elim", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "772d385fd6fadf5035b48630a30407bd" - ], - [ - "FStar.Classical.excluded_middle", - 1, - 2, - 1, - [ "@query" ], - 0, - "fab24e13a7774453d1234abc3db35d19" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Classical.fsti.hints b/ulib/.hints/FStar.Classical.fsti.hints deleted file mode 100644 index d9751ca6cae..00000000000 --- a/ulib/.hints/FStar.Classical.fsti.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "û0ƒÑ{Q÷Ü–\u0006Mõ_6", - [ - [ - "FStar.Classical.impl_intro_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "37e65d02a97c7f2613edc64096d101f7" - ], - [ - "FStar.Classical.or_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "69c8af95a4a4883ddc34751cad83df3a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ConstantTime.Integers.fst.hints b/ulib/.hints/FStar.ConstantTime.Integers.fst.hints deleted file mode 100644 index c6e479d803a..00000000000 --- a/ulib/.hints/FStar.ConstantTime.Integers.fst.hints +++ /dev/null @@ -1,485 +0,0 @@ -[ - "\u0019LÓ÷(éX\u0001ÖÈF,Ú<\u001añ", - [ - [ - "FStar.ConstantTime.Integers.sw", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "c5aae6e39ffec2137e35e527e965b6a0" - ], - [ - "FStar.ConstantTime.Integers.reveal_hide", - 1, - 2, - 1, - [ "@query" ], - 0, - "b57f91d4ef790432b505fb7530f9038e" - ], - [ - "FStar.ConstantTime.Integers.reveal_hide", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ConstantTime.Integers.hide", - "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.sw", - "equation_FStar.Integers.u", "lemma_FStar.IFC.reveal_hide", - "refinement_interpretation_Tm_refine_1ee8edf94b8a4d0fd2b75ce1aa5594cb", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "typing_FStar.Integers.int_t", "typing_FStar.Integers.u" - ], - 0, - "c76f30b29b90f9033bda0a78b6d9312a" - ], - [ - "FStar.ConstantTime.Integers.hide_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.ConstantTime.Integers.hide", - "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.secret_int", - "equation_FStar.ConstantTime.Integers.sw", - "equation_FStar.Integers.int_t", "equation_FStar.Integers.u", - "equation_FStar.Integers.v", "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "lemma_FStar.IFC.hide_reveal", "lemma_FStar.Int16.uv_inv", - "lemma_FStar.Int32.uv_inv", "lemma_FStar.Int64.uv_inv", - "lemma_FStar.Int8.uv_inv", "lemma_FStar.UInt16.uv_inv", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt64.uv_inv", - "lemma_FStar.UInt8.uv_inv", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "typing_FStar.IFC.reveal", "typing_FStar.Integers.int_t", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "3c44f72fc6c200c55da1533261ca3f46" - ], - [ - "FStar.ConstantTime.Integers.promote", - 1, - 2, - 1, - [ "@query" ], - 0, - "98cd798b6eefa9081076d7cee01493ba" - ], - [ - "FStar.ConstantTime.Integers.promote", - 2, - 2, - 1, - [ - "@query", "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.secret_int", - "lemma_FStar.IFC.reveal_hide", - "typing_FStar.ConstantTime.Integers.secret_int" - ], - 0, - "6facae6f96e83dcfe9007f9730b93e7f" - ], - [ - "FStar.ConstantTime.Integers.addition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_563fc497911f71a623b7cef8e703192d" - ], - 0, - "5e14e16c59de6e45b16b4e04d4367aa7" - ], - [ - "FStar.ConstantTime.Integers.addition", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_8cbaf4cd0e2dbc1115419b4cdb9fea35", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_db54c74a0bd07e150cdf16c360993198", - "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.IFC.SemiLattice", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.ConstantTime.Integers.hide", - "equation_FStar.ConstantTime.Integers.m", - "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.secret_int", - "equation_FStar.ConstantTime.Integers.sw", - "equation_FStar.IFC.idempotent", - "equation_FStar.IFC.lattice_element", "equation_FStar.IFC.sl", - "equation_FStar.Int.fits", "equation_FStar.Int.size", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.op_Plus", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", - "fuel_guarded_inversion_FStar.IFC.semilattice", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_14540b1677bb0879c263763c122744f7", - "interpretation_Tm_abs_5463853ca2b56a5d5d72d3f45aa79d41", - "kinding_FStar.IFC.semilattice@tok", - "lemma_FStar.ConstantTime.Integers.hide_reveal", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.IFC.hide_reveal", - "lemma_FStar.IFC.reveal_hide", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "proj_equation_FStar.IFC.SemiLattice_lub", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_563fc497911f71a623b7cef8e703192d", - "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_94950950f377fd96ab18089c38366e64", - "refinement_interpretation_Tm_refine_9de6182063933d00c254512ae9ad3990", - "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "refinement_interpretation_Tm_refine_e389e398efdc5373bfab2a70191901cf", - "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "typing_FStar.ConstantTime.Integers.m", - "typing_FStar.ConstantTime.Integers.reveal", - "typing_FStar.ConstantTime.Integers.secret_int", - "typing_FStar.Ghost.reveal", - "typing_FStar.IFC.__proj__SemiLattice__item__carrier", - "typing_FStar.IFC.hide", "typing_FStar.IFC.join", - "typing_FStar.IFC.map", "typing_FStar.IFC.reveal", - "typing_FStar.Integers.int_t", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.op_Plus", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw", - "typing_Tm_abs_14540b1677bb0879c263763c122744f7" - ], - 0, - "f725ea494b3c5b45df7a94fdc443f841" - ], - [ - "FStar.ConstantTime.Integers.addition_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.width__uu___haseq", - "constructor_distinct_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "133343ec7544f5b0f5914bdefd1d6db8" - ], - [ - "FStar.ConstantTime.Integers.addition_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_8cbaf4cd0e2dbc1115419b4cdb9fea35", - "FStar.ConstantTime.Integers_interpretation_Tm_arrow_db54c74a0bd07e150cdf16c360993198", - "FStar.IFC_interpretation_Tm_arrow_6b8eb905f19a76be47e4334417bcf2eb", - "constructor_distinct_FStar.Integers.Signed", - "data_elim_FStar.IFC.SemiLattice", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.ConstantTime.Integers.hide", - "equation_FStar.ConstantTime.Integers.m", - "equation_FStar.ConstantTime.Integers.reveal", - "equation_FStar.ConstantTime.Integers.secret_int", - "equation_FStar.ConstantTime.Integers.sw", - "equation_FStar.IFC.idempotent", - "equation_FStar.IFC.lattice_element", "equation_FStar.IFC.sl", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.op_Plus_Percent", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.IFC.semilattice", - "interpretation_Tm_abs_3b3b3487729e58b4bfeba69d78394443", - "interpretation_Tm_abs_cd15b7255d879dd7b5626bad1b32f400", - "kinding_FStar.IFC.semilattice@tok", - "lemma_FStar.ConstantTime.Integers.hide_reveal", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.IFC.hide_reveal", - "lemma_FStar.IFC.reveal_hide", - "proj_equation_FStar.IFC.SemiLattice_carrier", - "proj_equation_FStar.IFC.SemiLattice_lub", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_1ee8edf94b8a4d0fd2b75ce1aa5594cb", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_87434b6e1f6d4bdb55d4cb9ad4de38a3", - "refinement_interpretation_Tm_refine_94950950f377fd96ab18089c38366e64", - "refinement_interpretation_Tm_refine_c07d70517abe0be7a6d52f00dfd26134", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_cb318fd5778149a9d33dfa0172d8686e", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e389e398efdc5373bfab2a70191901cf", - "token_correspondence_FStar.IFC.__proj__SemiLattice__item__lub", - "typing_FStar.Ghost.reveal", - "typing_FStar.IFC.__proj__SemiLattice__item__carrier", - "typing_FStar.IFC.hide", "typing_FStar.IFC.join", - "typing_FStar.IFC.map", "typing_FStar.IFC.protected", - "typing_FStar.IFC.reveal", "typing_FStar.Integers.int_t", - "typing_FStar.Integers.op_Plus_Percent", "typing_FStar.Integers.u", - "typing_FStar.Integers.v", - "typing_Tm_abs_3b3b3487729e58b4bfeba69d78394443" - ], - 0, - "6bae163c5cbd18893b6656f3f82cc932" - ], - [ - "FStar.ConstantTime.Integers.addition_mod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.width__uu___haseq", - "constructor_distinct_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "d62c93cbec86696e2933b8069743323d" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__sl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "008d675ba0cd9b0907a955c881542671" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "796a434f46e1ad1996a92349943ea9a4" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__sw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "4a196cba97f3033c329c3d8c7a75b635" - ], - [ - "FStar.ConstantTime.Integers.__proj__Public__item__sw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" - ], - 0, - "3ec2cdad733dda00734d394f03ce62c7" - ], - [ - "FStar.ConstantTime.Integers.sw_qual", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b6abb343e4b72f48dc4c89600a49f96b" - ], - [ - "FStar.ConstantTime.Integers.label_qual", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "ccfbe2e4b3c547fb41888cdd43466a5e" - ], - [ - "FStar.ConstantTime.Integers.t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2a00edda2bf3959155990992f8639d3e" - ], - [ - "FStar.ConstantTime.Integers.i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Public_sw", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw" - ], - 0, - "7e6c29de199ea75e285bdd550782e024" - ], - [ - "FStar.ConstantTime.Integers.as_secret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" - ], - 0, - "d9494d5377f2681b3928c4ffbec1477d" - ], - [ - "FStar.ConstantTime.Integers.as_public", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" - ], - 0, - "e04770033cb393a09b27bf0a8586c823" - ], - [ - "FStar.ConstantTime.Integers.op_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Public_sw", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_05ecf8a4a14b38507583b53e28185156", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_d8987a157553fa216aae082b75bdf3d6" - ], - 0, - "5a113824cd3b51faf2453d0e59f8dc0d" - ], - [ - "FStar.ConstantTime.Integers.op_Plus_Percent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_463443bba7141cd76483de08cc45a0df", - "refinement_interpretation_Tm_refine_c326cff98bec2996934135a0904b3fc0", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" - ], - 0, - "254110f54b7ce81e509ebf1371833fcb" - ], - [ - "FStar.ConstantTime.Integers.op_Plus_Percent", - 2, - 2, - 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "9c251e8aaf0597f942ca558ef160e387" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ConstantTime.Integers.fsti.hints b/ulib/.hints/FStar.ConstantTime.Integers.fsti.hints deleted file mode 100644 index 7fc83aaccea..00000000000 --- a/ulib/.hints/FStar.ConstantTime.Integers.fsti.hints +++ /dev/null @@ -1,271 +0,0 @@ -[ - "ÅIÛ8«V\u0011Ÿ\u000f\u001aYh8då×", - [ - [ - "FStar.ConstantTime.Integers.sw", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "c5aae6e39ffec2137e35e527e965b6a0" - ], - [ - "FStar.ConstantTime.Integers.reveal_hide", - 1, - 2, - 1, - [ "@query" ], - 0, - "4c4d9e7d05d3eaf39ae10e8cd35e285e" - ], - [ - "FStar.ConstantTime.Integers.promote", - 1, - 2, - 1, - [ "@query" ], - 0, - "a0424b64a34a1a16816f00d24f7c6fd3" - ], - [ - "FStar.ConstantTime.Integers.addition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_563fc497911f71a623b7cef8e703192d" - ], - 0, - "34ca03a80402c199446dc94dd2494752" - ], - [ - "FStar.ConstantTime.Integers.addition_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.width__uu___haseq", - "constructor_distinct_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Unsigned", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "116a483b30ed0bfc0bbc584d8f8f9de2" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__sl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "ffd2cce1e8d407b590b710ecb081a146" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "796a434f46e1ad1996a92349943ea9a4" - ], - [ - "FStar.ConstantTime.Integers.__proj__Secret__item__sw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "4a196cba97f3033c329c3d8c7a75b635" - ], - [ - "FStar.ConstantTime.Integers.__proj__Public__item__sw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" - ], - 0, - "3ec2cdad733dda00734d394f03ce62c7" - ], - [ - "FStar.ConstantTime.Integers.sw_qual", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a3e836eb136dbd37ae1c638762fdd184" - ], - [ - "FStar.ConstantTime.Integers.label_qual", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64" - ], - 0, - "ccfbe2e4b3c547fb41888cdd43466a5e" - ], - [ - "FStar.ConstantTime.Integers.t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2a00edda2bf3959155990992f8639d3e" - ], - [ - "FStar.ConstantTime.Integers.i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Public_sw", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw" - ], - 0, - "7e6c29de199ea75e285bdd550782e024" - ], - [ - "FStar.ConstantTime.Integers.as_secret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3966d0fa15453c00184d0d55fe478d64", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" - ], - 0, - "d9494d5377f2681b3928c4ffbec1477d" - ], - [ - "FStar.ConstantTime.Integers.as_public", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ConstantTime.Integers.Public", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_da3c99fe033a6ea8ff5eb2fceb006c3e" - ], - 0, - "e04770033cb393a09b27bf0a8586c823" - ], - [ - "FStar.ConstantTime.Integers.op_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Public_sw", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_05ecf8a4a14b38507583b53e28185156", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525", - "refinement_interpretation_Tm_refine_d8987a157553fa216aae082b75bdf3d6" - ], - 0, - "07227a037cff4dc0185f48c318da77ea" - ], - [ - "FStar.ConstantTime.Integers.op_Plus_Percent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ConstantTime.Integers.Public", - "constructor_distinct_FStar.ConstantTime.Integers.Secret", - "disc_equation_FStar.ConstantTime.Integers.Public", - "disc_equation_FStar.ConstantTime.Integers.Secret", - "equation_FStar.ConstantTime.Integers.sw", - "fuel_guarded_inversion_FStar.ConstantTime.Integers.qual", - "proj_equation_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ConstantTime.Integers.Secret_l", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sl", - "projection_inverse_FStar.ConstantTime.Integers.Secret_sw", - "refinement_interpretation_Tm_refine_463443bba7141cd76483de08cc45a0df", - "refinement_interpretation_Tm_refine_c326cff98bec2996934135a0904b3fc0", - "refinement_interpretation_Tm_refine_c4143e90309307eaf17156a5cc6d7525" - ], - 0, - "2f2060943a7b038f8a8cab39d6886ecd" - ], - [ - "FStar.ConstantTime.Integers.op_Plus_Percent", - 2, - 2, - 1, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "9c251e8aaf0597f942ca558ef160e387" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Constructive.fst.hints b/ulib/.hints/FStar.Constructive.fst.hints deleted file mode 100644 index 94d194bf2c6..00000000000 --- a/ulib/.hints/FStar.Constructive.fst.hints +++ /dev/null @@ -1,148 +0,0 @@ -[ - "æêK\u0003!\t|C\u0007÷‡‡¼ôÿÀ", - [ - [ - "FStar.Constructive.cand", - 1, - 2, - 1, - [ "@query" ], - 0, - "91f388fd7e64d7514b43ec05470d77e9" - ], - [ - "FStar.Constructive.cor", - 1, - 2, - 1, - [ "@query" ], - 0, - "4258c7a6e815e7f37db2c8c4604803a4" - ], - [ - "FStar.Constructive.__proj__IntroL__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f96298b0b74547bf135efed6725faec" - ], - 0, - "fc1f918b7d4df5b96039fd1bccda3b34" - ], - [ - "FStar.Constructive.__proj__IntroR__item__h", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7fbfb42f7ce95e0df3d91787685cfbfc" - ], - 0, - "27c43fe606c40d6f4828626fd324150b" - ], - [ - "FStar.Constructive.eq_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Constructive.Refl", - "fuel_guarded_inversion_FStar.Constructive.ceq" - ], - 0, - "da9ab9a8f342a85fa0dfc9461695c520" - ], - [ - "FStar.Constructive.ceq_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Constructive.Refl", - "fuel_guarded_inversion_FStar.Constructive.ceq" - ], - 0, - "dd5829cdc8d13d959972fe6e23ccb396" - ], - [ - "FStar.Constructive.ceq_congruence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Constructive.Refl", - "fuel_guarded_inversion_FStar.Constructive.ceq" - ], - 0, - "7217fa3bd938349cd6e97fb617fbe021" - ], - [ - "FStar.Constructive.ceq_symm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Constructive.Refl", - "fuel_guarded_inversion_FStar.Constructive.ceq" - ], - 0, - "a79e08c88d005315d4ee58e534ece4a9" - ], - [ - "FStar.Constructive.ceq_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Constructive.Refl", - "fuel_guarded_inversion_FStar.Constructive.ceq" - ], - 0, - "2bc2779a221d676bd3d534479539e195" - ], - [ - "FStar.Constructive.cfalse_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Constructive.cfalse" - ], - 0, - "4737ff7f1e1bccc4dde4124966ba1162" - ], - [ - "FStar.Constructive.false_elim2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Constructive.cfalse" - ], - 0, - "2a2651da3a409d91b21ad896d44bc4da" - ], - [ - "FStar.Constructive.false_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "0e9672a443c55ef2f72139afc4b7a5ba" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Crypto.fst.hints b/ulib/.hints/FStar.Crypto.fst.hints deleted file mode 100644 index 9da0c6bd1db..00000000000 --- a/ulib/.hints/FStar.Crypto.fst.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "U\fîA ÷0c“€,>DØ\u001bé", - [ - [ - "FStar.Crypto.nbytes", - 1, - 2, - 1, - [ "@query" ], - 0, - "acdce794edffdc2babc73416bed279da" - ], - [ - "FStar.Crypto.aes_128_encrypt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Crypto.block", - "equation_FStar.Crypto.nbytes", - "haseqTm_refine_71ea40360194fe02ee1272538c9cacbc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Bytes.bytes" - ], - 0, - "29f468c1a4c63d6be7e8103e851f6a3b" - ], - [ - "FStar.Crypto.rsa_pkey", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Bytes.bytes" - ], - 0, - "4b8cabdfe9cb9cb04d69d8c3533d14e5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Date.fsti.hints b/ulib/.hints/FStar.Date.fsti.hints deleted file mode 100644 index 53011ec433f..00000000000 --- a/ulib/.hints/FStar.Date.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ú\u000bþú\rà†;\u0016l@1‰§™\\", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.DependentMap.fst.hints b/ulib/.hints/FStar.DependentMap.fst.hints deleted file mode 100644 index 6b7613be24b..00000000000 --- a/ulib/.hints/FStar.DependentMap.fst.hints +++ /dev/null @@ -1,518 +0,0 @@ -[ - "aÛ\u001cºí\u0011uؤHJVU\bô¥", - [ - [ - "FStar.DependentMap.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "436b52be049746e3f06e8202590f363b" - ], - [ - "FStar.DependentMap.sel_create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DependentMap.create", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings" - ], - 0, - "989e6df4810ebf4f6830b37242547b60" - ], - [ - "FStar.DependentMap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "7f68096a2da36eb5ebcae6aabd4f294b" - ], - [ - "FStar.DependentMap.sel_upd_same", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.DependentMap.sel", - "equation_FStar.DependentMap.upd", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" - ], - 0, - "0740146c6e7f549dbb53010d11e7676b" - ], - [ - "FStar.DependentMap.sel_upd_other", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.DependentMap.sel", - "equation_FStar.DependentMap.upd", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" - ], - 0, - "8225e19c8e19dbdaec9dc1185be43f21" - ], - [ - "FStar.DependentMap.equal_intro", - 1, - 2, - 1, - [ "@query", "equation_FStar.DependentMap.equal" ], - 0, - "2b0f0754134ebe314b28924fc1ff8a41" - ], - [ - "FStar.DependentMap.equal_refl", - 1, - 2, - 1, - [ "@query", "lemma_FStar.DependentMap.equal_intro" ], - 0, - "3e71518b4e9694b21faf80fe548d8744" - ], - [ - "FStar.DependentMap.equal_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.DependentMap.equal", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.DependentMap.t", - "function_token_typing_FStar.DependentMap.__proj__Mkt__item__mappings", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.DependentMap.__proj__Mkt__item__mappings" - ], - 0, - "29922e2f13a0e1ca00c87950c724bf01" - ], - [ - "FStar.DependentMap.restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "6d7101d6caae24ef3249cf695aeddd14" - ], - [ - "FStar.DependentMap.restrict", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "data_elim_FStar.DependentMap.Mkt", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545" - ], - 0, - "06ec3d3f0478dc2119574f2d571405cc" - ], - [ - "FStar.DependentMap.sel_restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "6a1c7f70cc87f3faa9fe831a1d9a9759" - ], - [ - "FStar.DependentMap.sel_restrict", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "data_elim_FStar.DependentMap.Mkt", - "equation_FStar.DependentMap.restrict", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_FStar.DependentMap.restrict" - ], - 0, - "df7c2ce001f31daca76a78895904cd3c" - ], - [ - "FStar.DependentMap.concat_value", - 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, - "7a50512530a244a91739d76c1264b34b" - ], - [ - "FStar.DependentMap.concat_mappings", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_FStar.Pervasives.Inr", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.DependentMap.concat_value", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_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" - ], - 0, - "0ceed01112ee374196b0e2b1688d79c2" - ], - [ - "FStar.DependentMap.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "e40e5dac741f954e5271bb5e1448b4ce" - ], - [ - "FStar.DependentMap.concat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_9070d883dcc4314302de4210ad7d1421", - "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "function_token_typing_FStar.DependentMap.concat_mappings", - "function_token_typing_FStar.DependentMap.concat_value", - "kinding_FStar.Pervasives.either@tok", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.DependentMap.concat_value", - "typing_FStar.DependentMap.__proj__Mkt__item__mappings" - ], - 0, - "2c6ea4c3cc79d4af7f6bd63719b4312b" - ], - [ - "FStar.DependentMap.sel_concat_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "4109e0f34e1bc1c187054bc5ac15c63c" - ], - [ - "FStar.DependentMap.sel_concat_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "constructor_distinct_FStar.Pervasives.Inl", - "data_elim_FStar.DependentMap.Mkt", - "data_typing_intro_FStar.Pervasives.Inl@tok", - "equation_FStar.DependentMap.concat", - "equation_FStar.DependentMap.concat_mappings", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "function_token_typing_FStar.DependentMap.concat_mappings", - "kinding_FStar.Pervasives.either@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.Pervasives.Inl_a", - "projection_inverse_FStar.Pervasives.Inl_b", - "projection_inverse_FStar.Pervasives.Inl_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "token_correspondence_FStar.DependentMap.concat_mappings", - "token_correspondence_FStar.DependentMap.concat_value", - "typing_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_FStar.DependentMap.concat" - ], - 0, - "53ff82e5f48554a05e3944fd84c43522" - ], - [ - "FStar.DependentMap.sel_concat_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "fed3bf19d758881e0adb8e118e97a233" - ], - [ - "FStar.DependentMap.sel_concat_r", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_c2ce507eae403d4c85c7894db13014f2", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "constructor_distinct_FStar.Pervasives.Inr", - "data_elim_FStar.DependentMap.Mkt", - "data_typing_intro_FStar.Pervasives.Inr@tok", - "equation_FStar.DependentMap.concat", - "equation_FStar.DependentMap.concat_mappings", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "function_token_typing_FStar.DependentMap.concat_mappings", - "kinding_FStar.Pervasives.either@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.Pervasives.Inr_a", - "projection_inverse_FStar.Pervasives.Inr_b", - "projection_inverse_FStar.Pervasives.Inr_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "token_correspondence_FStar.DependentMap.concat_mappings", - "token_correspondence_FStar.DependentMap.concat_value", - "typing_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_FStar.DependentMap.concat" - ], - 0, - "60a44c59ec40042fa32bd64d570a3048" - ], - [ - "FStar.DependentMap.rename", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_ea7c28e12dadc3ca9fbd86b62bbe91a0", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", - "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" - ], - 0, - "cd36daea289660f84e7b66d8e738e964" - ], - [ - "FStar.DependentMap.sel_rename", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_ea7c28e12dadc3ca9fbd86b62bbe91a0", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.DependentMap.rename", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", - "interpretation_Tm_abs_e4aab2d79d245f9b260455081b9018a1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_1e59e103e4a1ae7902b80b4e9f14b6d5", - "typing_Tm_abs_e4aab2d79d245f9b260455081b9018a1" - ], - 0, - "28aa2a01a0537de99c9f807eff5e929a" - ], - [ - "FStar.DependentMap.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" - ], - 0, - "28060379181a7fb4735fed4cc2c27b4a" - ], - [ - "FStar.DependentMap.sel_map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.DependentMap.map", - "equation_FStar.DependentMap.sel", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_642b723ac228638bf08f443cbc97b23a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_Tm_abs_642b723ac228638bf08f443cbc97b23a" - ], - 0, - "637122d017f76b4e5bc8144c258202fd" - ], - [ - "FStar.DependentMap.map_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.DependentMap_interpretation_Tm_arrow_8999bb275b004ca2d9297a7090495363", - "equation_FStar.DependentMap.equal", - "equation_FStar.DependentMap.map", "equation_FStar.DependentMap.sel", - "equation_FStar.DependentMap.upd", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.DependentMap.t", - "interpretation_Tm_abs_72c7c67b249b548b5a04fe79308afd73", - "lemma_FStar.DependentMap.sel_map", - "lemma_FStar.DependentMap.sel_upd_other", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.DependentMap.Mkt_mappings", - "projection_inverse_FStar.DependentMap.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.DependentMap.__proj__Mkt__item__mappings", - "typing_FStar.DependentMap.map", "typing_FStar.DependentMap.upd", - "typing_Tm_abs_72c7c67b249b548b5a04fe79308afd73" - ], - 0, - "fce0eb4a8ee0a8cdae5b8ad4bd05ca9a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.DependentMap.fsti.hints b/ulib/.hints/FStar.DependentMap.fsti.hints deleted file mode 100644 index 26d1ba7ae3c..00000000000 --- a/ulib/.hints/FStar.DependentMap.fsti.hints +++ /dev/null @@ -1,86 +0,0 @@ -[ - "\u001eÈ&s‹$MÏ¥»ìÓ\u0000\u0003n", - [ - [ - "FStar.DependentMap.restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "abb05be0b794f0a24088ab8c92b67413" - ], - [ - "FStar.DependentMap.sel_restrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "0e49865f8137555f30c98a78413962f3" - ], - [ - "FStar.DependentMap.concat_value", - 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, - "058186c887d9cd5a91307108a4055e91" - ], - [ - "FStar.DependentMap.concat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "2046429305ed47d8154ef12eb3770d8f" - ], - [ - "FStar.DependentMap.sel_concat_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "711f8e9a061dc6fdfbaf9c421c6807ce" - ], - [ - "FStar.DependentMap.sel_concat_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.either__uu___haseq", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "fed3bf19d758881e0adb8e118e97a233" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Dyn.fst.hints b/ulib/.hints/FStar.Dyn.fst.hints deleted file mode 100644 index 92cf45d6637..00000000000 --- a/ulib/.hints/FStar.Dyn.fst.hints +++ /dev/null @@ -1,55 +0,0 @@ -[ - "ÚU‡\u0000ïç\u001byN]‘:ö\u0002Ä", - [ - [ - "FStar.Dyn.to_raw_dyn", - 1, - 2, - 1, - [ - "@query", "proj_equation_FStar.Dyn.Mkvalue_type_bundle_t", - "projection_inverse_FStar.Dyn.Mkvalue_type_bundle_t" - ], - 0, - "ee5e2f6b3c8aafe0016d32383bda7e20" - ], - [ - "FStar.Dyn.mkdyn", - 1, - 2, - 1, - [ "@query", "equation_FStar.Dyn.dyn_has_ty" ], - 0, - "13605fe952aab501ac6fbd927360eb3d" - ], - [ - "FStar.Dyn.elim_subtype_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_fa44f965d7758db557d71572e63f5b7c" - ], - 0, - "0790232cd6753edb2d0815d2cf408721" - ], - [ - "FStar.Dyn.undyn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Dyn.dyn_has_ty", - "equation_FStar.Dyn.mkdyn_", "equation_FStar.Dyn.raw_dyn", - "equation_Prims.subtype_of", - "refinement_interpretation_Tm_refine_53025b9a20d683256e19773659690099", - "refinement_interpretation_Tm_refine_61cc5a68a0598f23fd450c5b5819bd81", - "typing_FStar.Dyn.__proj__Mkvalue_type_bundle__item__x", - "typing_FStar.Dyn.to_raw_dyn" - ], - 0, - "4d983827f8412ba5887fb594989e44c5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Dyn.fsti.hints b/ulib/.hints/FStar.Dyn.fsti.hints deleted file mode 100644 index 26dff7d14c9..00000000000 --- a/ulib/.hints/FStar.Dyn.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "MOܧ(\u001dSìÞH\u000b´M\u0004VC", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Endianness.fst.hints b/ulib/.hints/FStar.Endianness.fst.hints deleted file mode 100644 index 2c40a37ea6f..00000000000 --- a/ulib/.hints/FStar.Endianness.fst.hints +++ /dev/null @@ -1,2558 +0,0 @@ -[ - "H|\u0010\u0015ªô©ll\u0010U\u001dt•\u0011U", - [ - [ - "FStar.Endianness.le_to_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "c7a6ffa12347bbaf55c1c37962d1eb5b" - ], - [ - "FStar.Endianness.be_to_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d1d2340ad37dbc991631cc8d2e8e88ab", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "919dc7b3fde0164da67a518b78aa0a53" - ], - [ - "FStar.Endianness.reveal_le_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "290e4b29900d6e6915c6cc1bc30e8c13" - ], - [ - "FStar.Endianness.reveal_le_to_n", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.tail", - "equation_with_fuel_FStar.Endianness.le_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "6788a4998318adbd55800d798900190a" - ], - [ - "FStar.Endianness.reveal_be_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "8903bcd027346967f19781470a353d70" - ], - [ - "FStar.Endianness.reveal_be_to_n", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "24d2ee9347a60393b05a796a2e08d481" - ], - [ - "FStar.Endianness.lemma_euclidean_division", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "cbbacdbd0fe3caba39389b26221a308d" - ], - [ - "FStar.Endianness.lemma_factorise", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "f341dd36e3b3c6e5dff25b8920f1c6a3" - ], - [ - "FStar.Endianness.lemma_le_to_n_is_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "6c56fe83b21d83b60db32943fa81ce5c" - ], - [ - "FStar.Endianness.lemma_le_to_n_is_bounded", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Endianness.le_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4ca91ff264960414ab0f17b337e799a1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_Prims.pow2", "well-founded-ordering-on-nat" - ], - 0, - "45996339243045aca92890642eff1127" - ], - [ - "FStar.Endianness.lemma_le_to_n_is_bounded", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_eb776a0488e603deae34fb462a2fceec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "8777d2e7144cada13deac2873342714c" - ], - [ - "FStar.Endianness.lemma_be_to_n_is_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "3a32a1b498a9c7f1dace8ba51460e860" - ], - [ - "FStar.Endianness.lemma_be_to_n_is_bounded", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d1d2340ad37dbc991631cc8d2e8e88ab", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t", - "typing_Prims.pow2", "well-founded-ordering-on-nat" - ], - 0, - "3321a87aae8d2212c500472be0e96c6e" - ], - [ - "FStar.Endianness.lemma_be_to_n_is_bounded", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25554db90846fc9c544f4e91947178c7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "a9be0d38ca7202981cbe3c5c83b98a4c" - ], - [ - "FStar.Endianness.n_to_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3adac5ee3f08e17e57517794f9c14712" - ], - [ - "FStar.Endianness.n_to_le", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_964602178c8a747a35cff8ca8be5c808_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.le_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2290d9395d4dce6699f444bd460ee503", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8c86f4c338c36d9da076b262886f00d7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b7e5027ee12d222d0a3ea92ca83ec606", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Endianness.le_to_n", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" - ], - 0, - "730f6c6bd556fda7b6aeef0aa4fb6400" - ], - [ - "FStar.Endianness.n_to_le", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "470002050cadcbf819e608ae55382418" - ], - [ - "FStar.Endianness.n_to_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "72c02feaa1a79cbd24a5d5c829f04366" - ], - [ - "FStar.Endianness.n_to_be", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_964602178c8a747a35cff8ca8be5c808_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_792fba6aafcf19291dd18d1c73d4e49a", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8c86f4c338c36d9da076b262886f00d7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b59405c3570703fceb203b0b8c6cc626", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" - ], - 0, - "8d0b2e8f4f50096261fb95e3df063298" - ], - [ - "FStar.Endianness.n_to_be", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f0e769827561b4a6ab909a69478c78bd" - ], - [ - "FStar.Endianness.n_to_le_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b3f0e90ef794dd284f8e21fc5ebb36b", - "typing_FStar.Endianness.n_to_le" - ], - 0, - "84f553e7b268b5a380e09d6622f96d1e" - ], - [ - "FStar.Endianness.n_to_le_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5b3f0e90ef794dd284f8e21fc5ebb36b", - "typing_FStar.Endianness.n_to_le" - ], - 0, - "23c5587ac5cd420af698cd3dd74ea430" - ], - [ - "FStar.Endianness.n_to_le_inj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e543cac5ae6423f04ad09053d7c90ed0" - ], - [ - "FStar.Endianness.n_to_be_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1e2bc48cc3488c2c8e577a235a0150e", - "typing_FStar.Endianness.n_to_be" - ], - 0, - "ed1f837608c18da8a802ce1fd8d217e2" - ], - [ - "FStar.Endianness.n_to_be_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1e2bc48cc3488c2c8e577a235a0150e", - "typing_FStar.Endianness.n_to_be" - ], - 0, - "560648973f36631cea975f192d9c1000" - ], - [ - "FStar.Endianness.n_to_be_inj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e543cac5ae6423f04ad09053d7c90ed0" - ], - [ - "FStar.Endianness.be_to_n_inj", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_0", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", "bool_inversion", - "equation_FStar.Endianness.bytes", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a6cac679855cf661adc3cd26c5205bd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "typing_FStar.Endianness.bytes", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.last", - "typing_FStar.Seq.Properties.split", "typing_FStar.UInt.fits", - "typing_FStar.UInt8.t", "typing_FStar.UInt8.v", - "well-founded-ordering-on-nat" - ], - 0, - "6e3cb3f572ad1012b829950e701d34e4" - ], - [ - "FStar.Endianness.le_to_n_inj", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_0", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", - "equation_FStar.Endianness.bytes", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.le_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "typing_FStar.Endianness.bytes", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.split", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" - ], - 0, - "f7432ea482e4abd0ed52324d86241baa" - ], - [ - "FStar.Endianness.n_to_be_be_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c6e8f2dcd97e6df08909d004bbc5a3c5" - ], - [ - "FStar.Endianness.n_to_be_be_to_n", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ee3f05ee0c93b7c31cc57ebe4e9c8f1e", - "typing_FStar.UInt8.t" - ], - 0, - "bf11b91711f33651d9582a5d59e35b18" - ], - [ - "FStar.Endianness.n_to_le_le_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5885860ae51aa2b1ef6af3a400f08d2a" - ], - [ - "FStar.Endianness.n_to_le_le_to_n", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_502432f7b3d32e5ff67027c438d0e653", - "typing_FStar.UInt8.t" - ], - 0, - "84768ee1a127494840397a94fa9e9b6d" - ], - [ - "FStar.Endianness.uint32_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" - ], - 0, - "5686d0bb47d5c44084ab84155dd38574" - ], - [ - "FStar.Endianness.le_of_uint32", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "86d54ef9b2de2fa656ffd4919c9258c6" - ], - [ - "FStar.Endianness.uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" - ], - 0, - "a020fee4ccb78d2903be865fa3d4dfd5" - ], - [ - "FStar.Endianness.be_of_uint32", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "973bcce1465967018d8cfbee9c3524d5" - ], - [ - "FStar.Endianness.uint64_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" - ], - 0, - "da04c5266b4c0822785af8ba8aa86973" - ], - [ - "FStar.Endianness.le_of_uint64", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "304ec1dc87cb159579937ffb193a0aff" - ], - [ - "FStar.Endianness.uint64_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" - ], - 0, - "012fabe693e8da0ac837fcfd0749dcd6" - ], - [ - "FStar.Endianness.be_of_uint64", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "06d3337803e135e142c95ddbeb4c4eea" - ], - [ - "FStar.Endianness.seq_uint32_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b37822a6a277b9d64abe030a8d23d6c2" - ], - [ - "FStar.Endianness.seq_uint32_of_le", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_19a7d6168f641555d26686e6349148ac_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_02a7bc4f7cd791bf3ab7fc9e9a7b9cad", - "refinement_interpretation_Tm_refine_1f0662d6fc91c853830909a3a66f89a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.t", "typing_FStar.UInt8.t", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "b95f0170160741524645174b3f1327c7" - ], - [ - "FStar.Endianness.seq_uint32_of_le", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "59ae5a910627c6f91900caffe4f973c1" - ], - [ - "FStar.Endianness.le_of_seq_uint32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "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_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_a13f5bb88a022d45e8bf64653c443d95", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "fbcdcd3976097c82cf441da3eee98d1c" - ], - [ - "FStar.Endianness.seq_uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "37f0fac4911fe105515ee7f48c0d1cf0" - ], - [ - "FStar.Endianness.seq_uint32_of_be", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_19a7d6168f641555d26686e6349148ac_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_02a7bc4f7cd791bf3ab7fc9e9a7b9cad", - "refinement_interpretation_Tm_refine_1f0662d6fc91c853830909a3a66f89a0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.t", "typing_FStar.UInt8.t", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "9e94a3dd3651b11d87352aaf8a51eb51" - ], - [ - "FStar.Endianness.seq_uint32_of_be", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "020ff074e2b3ef4bc87616e099197b57" - ], - [ - "FStar.Endianness.be_of_seq_uint32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "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_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_a13f5bb88a022d45e8bf64653c443d95", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "b52d2647f4932b044c6ed2f182301d23" - ], - [ - "FStar.Endianness.seq_uint64_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0f82c9c237a8069e526d3a709ec075da" - ], - [ - "FStar.Endianness.seq_uint64_of_le", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2c61b0843e4c3b87ccf9bafd39781111_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_585385fdc30c6f945b16fa3c5aa854bf", - "refinement_interpretation_Tm_refine_7c43c8a69628d2153cbb22463b8c219c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt64.t", "typing_FStar.UInt8.t", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "b8eab14f56959ba8c08a9cb4c69909bb" - ], - [ - "FStar.Endianness.seq_uint64_of_le", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "15eb0be9e0b31af380eae7bc80472bcc" - ], - [ - "FStar.Endianness.le_of_seq_uint64", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "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_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_94a2097ca320d760bf03c5f04462caa0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "b9d3b5f6dea9e474da10f639fbae2f9f" - ], - [ - "FStar.Endianness.seq_uint64_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0f898537cacc21e1ab018cb27b3a9b3a" - ], - [ - "FStar.Endianness.seq_uint64_of_be", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2c61b0843e4c3b87ccf9bafd39781111_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_585385fdc30c6f945b16fa3c5aa854bf", - "refinement_interpretation_Tm_refine_7c43c8a69628d2153cbb22463b8c219c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt64.t", "typing_FStar.UInt8.t", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "7732dd86cf3557c66c0e56ed35bc3459" - ], - [ - "FStar.Endianness.seq_uint64_of_be", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fef40158d11aa3a712ddfb64c59ab1ee" - ], - [ - "FStar.Endianness.be_of_seq_uint64", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "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_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_94a2097ca320d760bf03c5f04462caa0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "349c72ebc94c0c4b22e8b64502d31bf0" - ], - [ - "FStar.Endianness.offset_uint32_be", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "cf8f8a4d2f0e84fa813ba834e171f7a4" - ], - [ - "FStar.Endianness.offset_uint32_be", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "token_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Endianness.uint32_of_be", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.last", "typing_FStar.UInt32.t", - "typing_FStar.UInt8.t", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "c2a78a29549db766518c8b86d52c97a8" - ], - [ - "FStar.Endianness.offset_uint32_be", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_85315496cd8d2635108c3bb67064c461", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "9603ba3121db457069584ee19a671b06" - ], - [ - "FStar.Endianness.offset_uint32_le", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "0a99906b8edd406fa50a99cad4bb6ebc" - ], - [ - "FStar.Endianness.offset_uint32_le", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "token_correspondence_FStar.Endianness.seq_uint32_of_le.fuel_instrumented", - "typing_FStar.Endianness.seq_uint32_of_le", - "typing_FStar.Endianness.uint32_of_le", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt8.t", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "27578517b8a6ec84846e1e32977ad660" - ], - [ - "FStar.Endianness.offset_uint32_le", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_953f6ac08cdfdb0a420d99be8ffc2643", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "7a066662f9a9839d015c72e0efc3dda6" - ], - [ - "FStar.Endianness.offset_uint64_be", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "4ccc8eb2193d11616d1541d46a52fb6d" - ], - [ - "FStar.Endianness.offset_uint64_be", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", - "@query", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_be", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "equation_with_fuel_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_524f418e7887543df68d65259f9a1392", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "token_correspondence_FStar.Endianness.seq_uint64_of_be.fuel_instrumented", - "typing_FStar.Endianness.seq_uint64_of_be", - "typing_FStar.Endianness.uint64_of_be", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.last", "typing_FStar.UInt64.t", - "typing_FStar.UInt8.t", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "210ca1a9a3f391b6ecb5167a8ee7dafe" - ], - [ - "FStar.Endianness.offset_uint64_be", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8029b9ef6d7dfdf337a2f2eb49b9cda1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "413b295785ccddb119367c3a17c0e439" - ], - [ - "FStar.Endianness.offset_uint64_le", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "8f89600b90fe51ac95309373011e8275" - ], - [ - "FStar.Endianness.offset_uint64_le", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", - "@query", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_5bb990f25a586dce553b13acdc494041_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_le", - "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_41b93e3a688810507ef1c7ed02833c44", - "refinement_interpretation_Tm_refine_524f418e7887543df68d65259f9a1392", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "token_correspondence_FStar.Endianness.seq_uint64_of_le.fuel_instrumented", - "typing_FStar.Endianness.seq_uint64_of_le", - "typing_FStar.Endianness.uint64_of_le", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt64.t", - "typing_FStar.UInt8.t", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "761bc04603e1bd05fae6507927bc9ad2" - ], - [ - "FStar.Endianness.offset_uint64_le", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_771bf6e15d92ac3892b967621320872c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "702f20b09d9b0dab4403ff96d2f2941e" - ], - [ - "FStar.Endianness.tail_cons", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" - ], - 0, - "e2920073f8c4aa33b6d86f8dd36bad28" - ], - [ - "FStar.Endianness.be_of_seq_uint32_base", - 1, - 1, - 0, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "583b54a74f742a37dd26d69e1e34442a" - ], - [ - "FStar.Endianness.be_of_seq_uint32_base", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.n_to_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.n_to_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.n_to_be_be_to_n", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_of_uint32", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "4575dfc63bb7dc79ecca1217245fb823" - ], - [ - "FStar.Endianness.le_of_seq_uint32_base", - 1, - 1, - 0, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "e7781c6a84bd6ccd206387c2f37ab3bb" - ], - [ - "FStar.Endianness.le_of_seq_uint32_base", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.n_to_le.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.n_to_le.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.le_of_uint32", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.n_to_le_le_to_n", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "typing_FStar.Endianness.le_of_seq_uint32", - "typing_FStar.Endianness.le_of_uint32", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "d663c3640e1a70e021e0a93a36bd0f0c" - ], - [ - "FStar.Endianness.be_of_seq_uint64_base", - 1, - 1, - 0, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "55897ab81c230ad0537e898401c19516" - ], - [ - "FStar.Endianness.be_of_seq_uint64_base", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.n_to_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.n_to_be.fuel_instrumented", - "@query", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Endianness.be_of_uint64", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.n_to_be_be_to_n", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_10903db7330dfee344e1e218331ba273", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "typing_FStar.Endianness.be_of_seq_uint64", - "typing_FStar.Endianness.be_of_uint64", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt64.t", - "typing_FStar.UInt64.v", "typing_FStar.UInt8.t" - ], - 0, - "bacc1131a1e1292698bb9b83d73fec6f" - ], - [ - "FStar.Endianness.be_of_seq_uint32_append", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_index_slice", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_340cc3506d88608ff8f0136b253ce076", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7b3b50e4e46c6241478c12c6bb29ae25", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_a13f5bb88a022d45e8bf64653c443d95", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b7e462fe1bcade2080eb67ab0aa5bdd2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" - ], - 0, - "2fdd55be75055b0b2693f190b8a3c730" - ], - [ - "FStar.Endianness.le_of_seq_uint32_append", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.n_to_le.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_0", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", "bool_inversion", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.le_of_uint32", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.le_of_seq_uint32_base", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b3f0e90ef794dd284f8e21fc5ebb36b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_b7e462fe1bcade2080eb67ab0aa5bdd2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1f3a6a6d3da045b35e7ba130c8b362a", - "token_correspondence_FStar.Endianness.le_of_seq_uint32.fuel_instrumented", - "typing_FStar.Endianness.le_of_seq_uint32", - "typing_FStar.Endianness.le_of_uint32", - "typing_FStar.Endianness.n_to_le", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" - ], - 0, - "78bf55069efc132fb1507cd5d9a5e10d" - ], - [ - "FStar.Endianness.be_of_seq_uint64_append", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "@query", "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_0", - "binder_x_9338733c1f4ffc3f42b2e0a7da9d3aa1_1", - "equation_FStar.Endianness.be_of_uint64", - "equation_FStar.Endianness.bytes", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_10903db7330dfee344e1e218331ba273", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b6c9cb4cb123e78d1f0b973744fe25af", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6", - "token_correspondence_FStar.Endianness.be_of_seq_uint64.fuel_instrumented", - "typing_FStar.Endianness.be_of_seq_uint64", - "typing_FStar.Endianness.be_of_uint64", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.last", - "typing_FStar.Seq.Properties.tail", "typing_FStar.UInt64.t", - "typing_FStar.UInt8.t", "well-founded-ordering-on-nat" - ], - 0, - "4db6abace0c3016598f0734b98dfb5e6" - ], - [ - "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" - ], - 0, - "820be10af052cc6f75930a77fb7023b3" - ], - [ - "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_371d955c2c0bc7d6da9b2794723aeea0_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1e2bc48cc3488c2c8e577a235a0150e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1f3a6a6d3da045b35e7ba130c8b362a", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_of_uint32", - "typing_FStar.Endianness.n_to_be", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "well-founded-ordering-on-nat" - ], - 0, - "c141c29ded1e9cf7b913a886218d5dbf" - ], - [ - "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" - ], - 0, - "ac2ea7702247ff9f2551a5480f1ef4e0" - ], - [ - "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" - ], - 0, - "d21691719e28cbd6e8f53984e9669231" - ], - [ - "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_b5ecdf6b68431b1ae5a51ce9723a824d_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.Endianness.be_of_uint32", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "equation_with_fuel_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_a45ed5d4e7d73540e93623fc9ddf0918", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.be_to_n", "typing_FStar.Endianness.bytes", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.split", - "typing_FStar.UInt32.t", "typing_FStar.UInt8.t", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "938b1aaea6e8afaa551a0754deb83e10" - ], - [ - "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" - ], - 0, - "8a9a4c2278fbb337031f20d1a0bc9b84" - ], - [ - "FStar.Endianness.slice_seq_uint32_of_be", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_06d6e84510adfda62205bcdf67f6e680", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "73152827151ce78ce12fb94baadc54aa" - ], - [ - "FStar.Endianness.slice_seq_uint32_of_be", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Seq.Properties.last", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.last", "typing_FStar.UInt32.t", - "typing_FStar.UInt8.t" - ], - 0, - "08b761dd44271a1ab92b5cb82ba618bb" - ], - [ - "FStar.Endianness.be_of_seq_uint32_slice", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@query", "equation_Prims.eqtype", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_b177971550955b9efef4171bc68aac41", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t" - ], - 0, - "c3a2597465b02cf8a27081013eeb3be4" - ], - [ - "FStar.Endianness.be_of_seq_uint32_slice", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_correspondence_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.seq_uint32_of_be.fuel_instrumented", - "@query", "equation_FStar.Endianness.bytes", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_of_seq_uint32.fuel_instrumented", - "int_inversion", "int_typing", - "lemma_FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - "lemma_FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_eacef65db87f350bbd04505edd2c0f9b", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Endianness.seq_uint32_of_be", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.t", "typing_FStar.UInt8.t" - ], - 0, - "9a32198f40702b770e8365378be8476d" - ], - [ - "FStar.Endianness.le_to_n_zeros", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.le_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Endianness.le_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Endianness.le_to_n", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", "typing_Prims.pow2", - "well-founded-ordering-on-nat" - ], - 0, - "c0e75857af63c4a7abbb8300a674c206" - ], - [ - "FStar.Endianness.be_to_n_zeros", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Endianness.be_to_n.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", - "bool_typing", "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Endianness.be_to_n.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d1d2340ad37dbc991631cc8d2e8e88ab", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.last", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" - ], - 0, - "95ad18571b2291b79c6c77c85b49de87" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Endianness.fsti.hints b/ulib/.hints/FStar.Endianness.fsti.hints deleted file mode 100644 index 5e72f50d127..00000000000 --- a/ulib/.hints/FStar.Endianness.fsti.hints +++ /dev/null @@ -1,636 +0,0 @@ -[ - "ïõ‡¹Ž@îØ/â»Z", - [ - [ - "FStar.Endianness.reveal_le_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "7b58fa7d7202f614596cb44832316fdd" - ], - [ - "FStar.Endianness.reveal_be_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "cffa9022f382342bc176f21a219a0f69" - ], - [ - "FStar.Endianness.lemma_le_to_n_is_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "59f7194fee5c19829e61899745709558" - ], - [ - "FStar.Endianness.lemma_be_to_n_is_bounded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "3a32a1b498a9c7f1dace8ba51460e860" - ], - [ - "FStar.Endianness.n_to_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3adac5ee3f08e17e57517794f9c14712" - ], - [ - "FStar.Endianness.n_to_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d89d674147798f573f0d86c502e65860" - ], - [ - "FStar.Endianness.n_to_le_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b3f0e90ef794dd284f8e21fc5ebb36b", - "typing_FStar.Endianness.n_to_le" - ], - 0, - "81bcd3166c9358233e22650590736d18" - ], - [ - "FStar.Endianness.n_to_be_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1e2bc48cc3488c2c8e577a235a0150e", - "typing_FStar.Endianness.n_to_be" - ], - 0, - "a81fb6cf384db4644e98dc1bb6dc97cc" - ], - [ - "FStar.Endianness.n_to_be_be_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a52f591eaf20843650f9c8ea4843d8c7" - ], - [ - "FStar.Endianness.n_to_le_le_to_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5885860ae51aa2b1ef6af3a400f08d2a" - ], - [ - "FStar.Endianness.uint32_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" - ], - 0, - "5686d0bb47d5c44084ab84155dd38574" - ], - [ - "FStar.Endianness.le_of_uint32", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "2632cb5a34a2edf47f39fa8bcaff60d7" - ], - [ - "FStar.Endianness.uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_940413e512f13b90b916c4a31628fe27" - ], - 0, - "a020fee4ccb78d2903be865fa3d4dfd5" - ], - [ - "FStar.Endianness.be_of_uint32", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "55da9a69cda24d817bb567cf8dc24404" - ], - [ - "FStar.Endianness.uint64_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" - ], - 0, - "da04c5266b4c0822785af8ba8aa86973" - ], - [ - "FStar.Endianness.le_of_uint64", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "304ec1dc87cb159579937ffb193a0aff" - ], - [ - "FStar.Endianness.uint64_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ee42cbdef68c577eb364f6101e577ba6" - ], - 0, - "012fabe693e8da0ac837fcfd0749dcd6" - ], - [ - "FStar.Endianness.be_of_uint64", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "06d3337803e135e142c95ddbeb4c4eea" - ], - [ - "FStar.Endianness.seq_uint32_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b37822a6a277b9d64abe030a8d23d6c2" - ], - [ - "FStar.Endianness.seq_uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ce06ab716802a5cc3b24269868f18dd8" - ], - [ - "FStar.Endianness.seq_uint64_of_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3afcb676e1655b94648e94481579270f" - ], - [ - "FStar.Endianness.seq_uint64_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fc8a45fc0d16cf473e37e7bebb39d421" - ], - [ - "FStar.Endianness.offset_uint32_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "a74da976169fbe588d0a9b8c7e0b184e" - ], - [ - "FStar.Endianness.offset_uint32_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_989c66cc651688350f5d2c633e4e3659", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.UInt8.t" - ], - 0, - "16991a403d14ea703037a469d1ee8139" - ], - [ - "FStar.Endianness.offset_uint64_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "80ae7069ec7a5c97a097009c57b04c1c" - ], - [ - "FStar.Endianness.offset_uint64_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Endianness.bytes", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_290f37897f46d10e2c5033a61d706103", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_924e7de2051b9bec10cae5c3f4ea08f8", - "refinement_interpretation_Tm_refine_fb1f0f05eb8c6fc42c526559591d46ee", - "typing_FStar.UInt8.t" - ], - 0, - "d5dc52c23eafe1f0cabb807734816cc5" - ], - [ - "FStar.Endianness.be_of_seq_uint32_base", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "631c42cd0c7ec13324a1b491773c307e" - ], - [ - "FStar.Endianness.le_of_seq_uint32_base", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "093785c5375ffb6b9d721e7fdf91d03b" - ], - [ - "FStar.Endianness.be_of_seq_uint64_base", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "ba8e002f80ed1504aa656a87e783fc83" - ], - [ - "FStar.Endianness.seq_uint32_of_be_be_of_seq_uint32", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a84773c2eb377e624aba800b71ec3ba0" - ], - 0, - "1825aafe87ea826b10c4a20696ee4072" - ], - [ - "FStar.Endianness.be_of_seq_uint32_seq_uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4239cb7a019da00e7afc3bc55aa05dd7" - ], - 0, - "0ced8ddf6dd8e7268ddab88f10d0199e" - ], - [ - "FStar.Endianness.slice_seq_uint32_of_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_06d6e84510adfda62205bcdf67f6e680", - "refinement_interpretation_Tm_refine_2e21720cb9520997dc66622e0deb9709", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f26d5f749e2658238640383eac627346", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt8.t" - ], - 0, - "b7d265df0ddfe9b15770143192e027c4" - ], - [ - "FStar.Endianness.be_of_seq_uint32_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_928b4f3eb67064030680fbab34d2d3db", - "refinement_interpretation_Tm_refine_b177971550955b9efef4171bc68aac41", - "typing_FStar.Endianness.be_of_seq_uint32", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t" - ], - 0, - "2f0b0e77ff63891c78fd4862db199b07" - ], - [ - "FStar.Endianness.le_to_n_zeros", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", - "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Endianness.le_to_n", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", "well-founded-ordering-on-nat" - ], - 0, - "98eb68cd2d9abb734a471dd6f6406569" - ], - [ - "FStar.Endianness.be_to_n_zeros", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_5bb990f25a586dce553b13acdc494041_0", "bool_inversion", - "bool_typing", "equation_FStar.Endianness.bytes", - "equation_FStar.Seq.Properties.last", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt8.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d1d2340ad37dbc991631cc8d2e8e88ab", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Endianness.be_to_n", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.last", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.v", "well-founded-ordering-on-nat" - ], - 0, - "458397aab216d56f860e337ac2ebe161" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ErasedLogic.fst.hints b/ulib/.hints/FStar.ErasedLogic.fst.hints deleted file mode 100644 index 3b834ab5614..00000000000 --- a/ulib/.hints/FStar.ErasedLogic.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¢9¹­D\u001e´\u0013Ó¸~V¯+²", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Error.fst.hints b/ulib/.hints/FStar.Error.fst.hints deleted file mode 100644 index e66f50370de..00000000000 --- a/ulib/.hints/FStar.Error.fst.hints +++ /dev/null @@ -1,53 +0,0 @@ -[ - "ò3È=ü\u000frkm&µ¹j!ƒ", - [ - [ - "FStar.Error.optResult", - 1, - 2, - 1, - [ "@query" ], - 0, - "a102481c8fabe7ed4860cc620b653bbf" - ], - [ - "FStar.Error.__proj__Error__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_813a5bb4d39ab83f71d70e865ca6a2c8" - ], - 0, - "d060618816b5966c6c7164a03417f1b4" - ], - [ - "FStar.Error.__proj__Correct__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9570651724fccc40ed9243df14ac4feb" - ], - 0, - "92354b49cebc1d63a9311c35d832761c" - ], - [ - "FStar.Error.invertOptResult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Error.Correct", - "disc_equation_FStar.Error.Error", - "fuel_guarded_inversion_FStar.Error.optResult", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "77e1da9a0ab8740ff2f5a9e28379aaef" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Exn.fst.hints b/ulib/.hints/FStar.Exn.fst.hints deleted file mode 100644 index 8aca8b0818c..00000000000 --- a/ulib/.hints/FStar.Exn.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "  uïts¸€Yä'Š¤k’Ð", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.ExtractAs.fst.hints b/ulib/.hints/FStar.ExtractAs.fst.hints deleted file mode 100644 index 00818e1b0fc..00000000000 --- a/ulib/.hints/FStar.ExtractAs.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‰£-ðUZàl‹¶‰»Ï™)é", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Fin.fst.hints b/ulib/.hints/FStar.Fin.fst.hints deleted file mode 100644 index 76b909e292c..00000000000 --- a/ulib/.hints/FStar.Fin.fst.hints +++ /dev/null @@ -1,497 +0,0 @@ -[ - "Ž€…\u000b›=KïY¼.W?®Ñ", - [ - [ - "FStar.Fin.vect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "80fb628631dae7eb3e4e17c5b1c91132" - ], - [ - "FStar.Fin.seqn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "43357c029c810cff6ff7d62ddeab0083" - ], - [ - "FStar.Fin.find", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Fin.in_" - ], - 0, - "46dd7452c6f1217eb18527a21929ae0a" - ], - [ - "FStar.Fin.find", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Fin_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2422746d9c9f1a0ffc924ac293c34efe_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Fin.in_", "equation_FStar.Fin.under", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bc52ce846a82b520d22ea2cfc11a8fa", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea7ae945240035cf3d3eb48cced4c3ff", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" - ], - 0, - "ecf5723eef6736c7abe0a67dc584c976" - ], - [ - "FStar.Fin.find", - 3, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Fin.in_" - ], - 0, - "b660a6fcc4515c0c02e7a52c4a25afed" - ], - [ - "FStar.Fin.pigeonhole", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.under", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "fc9127f950a38d7aab5fe5b56e2ee742" - ], - [ - "FStar.Fin.pigeonhole", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Fin.find.fuel_instrumented", "@query", - "FStar.Fin_interpretation_Tm_arrow_2fdbe928127db0e3679a3f6a8a2063c7", - "FStar.Fin_interpretation_Tm_arrow_fe2fd472ac207796bbacd908c1030996", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b5ae588d44533e8c9b352c2bc7ee8618_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Fin.in_", "equation_FStar.Fin.under", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Fin.find.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", - "int_typing", - "interpretation_Tm_abs_23c65bacaaeba5e57df644a189cfa582", - "interpretation_Tm_abs_d36b48bb9516fff8024d10a85f56c5ef", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_66c41e141dff9c9ef74ad980834b547b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9a26b6c8452ff7af78312db92bba37cb", - "refinement_interpretation_Tm_refine_b9701c5c770ee503f451e74677afee4c", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.Fin.find.fuel_instrumented", - "typing_FStar.Fin.in_", "typing_FStar.Fin.under", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Seq.Base.index", "typing_Prims.int", - "typing_Tm_abs_23c65bacaaeba5e57df644a189cfa582", - "typing_Tm_abs_d36b48bb9516fff8024d10a85f56c5ef", - "well-founded-ordering-on-nat" - ], - 0, - "c5d524c9516b90cf7df8cc21574ccfbd" - ], - [ - "FStar.Fin.pigeonhole", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.under", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "b7970ee2f2ff7bf4d1c33ce5b6668b59" - ], - [ - "FStar.Fin.is_reflexive_intro", - 1, - 2, - 1, - [ - "@query", "function_token_typing_FStar.Fin.is_reflexive", - "interpretation_Tm_abs_cf7b6ae085872660cd926a8dd4e117b1", - "l_quant_interp_97a8722758f410e68da89478a021b07c" - ], - 0, - "224622fb763e980a41dd385ace5dc385" - ], - [ - "FStar.Fin.is_symmetric_intro", - 1, - 2, - 1, - [ - "@query", "function_token_typing_FStar.Fin.is_reflexive", - "interpretation_Tm_abs_cf7b6ae085872660cd926a8dd4e117b1", - "l_quant_interp_97a8722758f410e68da89478a021b07c" - ], - 0, - "c321475424122f0322d81df2ff838223" - ], - [ - "FStar.Fin.is_transitive_intro", - 1, - 2, - 1, - [ - "@query", "function_token_typing_FStar.Fin.is_reflexive", - "interpretation_Tm_abs_cf7b6ae085872660cd926a8dd4e117b1", - "l_quant_interp_97a8722758f410e68da89478a021b07c" - ], - 0, - "5b2f3ccda30add8e90448f196f98ad42" - ], - [ - "FStar.Fin.refl_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Fin.equivalence_relation", - "function_token_typing_FStar.Fin.is_reflexive", - "interpretation_Tm_abs_cf7b6ae085872660cd926a8dd4e117b1", - "l_quant_interp_97a8722758f410e68da89478a021b07c", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" - ], - 0, - "f09e1d2533c726a368b0b4283d3a217a" - ], - [ - "FStar.Fin.symm_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Fin.equivalence_relation", - "function_token_typing_FStar.Fin.is_symmetric", - "interpretation_Tm_abs_9ec6a2d2a2fe67af2b11a5b6309aa261", - "l_quant_interp_4fd26c1a0a22a36cda2cb713dafc1bc1", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" - ], - 0, - "163fa4a673533231bc358965e6c23e9e" - ], - [ - "FStar.Fin.trans_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Fin.equivalence_relation", - "function_token_typing_FStar.Fin.is_symmetric", - "function_token_typing_FStar.Fin.is_transitive", - "interpretation_Tm_abs_0c96a2029a4d362b6db3bdf6e2ceba11", - "interpretation_Tm_abs_9ec6a2d2a2fe67af2b11a5b6309aa261", - "l_quant_interp_4fd26c1a0a22a36cda2cb713dafc1bc1", - "l_quant_interp_61ad577aa09990dcd713224fe9433025", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34" - ], - 0, - "3a1c170510bb4c7a582c39e796222599" - ], - [ - "FStar.Fin.contains_eq_means_nonempty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.under", - "equation_Prims.nat", "function_token_typing_FStar.Fin.contains_eq", - "int_inversion", - "interpretation_Tm_abs_9b30ad8dca326706e10446e9b5a8a5ee", - "l_quant_interp_606fe0ff2feb7c2e3731ac0101b686d5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.length" - ], - 0, - "0f01ebb2fa9898491d5733f8eaf26d5e" - ], - [ - "FStar.Fin.tail_contains_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "b2t_def", "bool_inversion", "equation_FStar.Fin.binary_relation", - "equation_FStar.Fin.equivalence_relation", - "equation_FStar.Fin.under", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_FStar.Fin.contains_eq", "int_inversion", - "int_typing", - "interpretation_Tm_abs_9b30ad8dca326706e10446e9b5a8a5ee", - "l_quant_interp_606fe0ff2feb7c2e3731ac0101b686d5", - "lemma_FStar.Fin.contains_eq_means_nonempty", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e1a5d57dbfa444c5441e4c8fd1ad857", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34", - "refinement_interpretation_Tm_refine_b370da9503c339ac054d8e2baaa3f66c", - "refinement_interpretation_Tm_refine_c05f6f27a6a07e219ba7d3f758efc701", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" - ], - 0, - "d0bed7d4a62c2298238b5be9e65c67b9" - ], - [ - "FStar.Fin.tail_contains_eq", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Fin.contains_eq_means_nonempty" ], - 0, - "738baced7844fff79fb49a0f9ca46046" - ], - [ - "FStar.Fin.find_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e0b22349ceae0d531f366b7848fabca" - ], - [ - "FStar.Fin.find_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_21413cf1ad35f0725169d0544401ee46_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_bdda3a00983df406839f704852f720b6_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "equation_FStar.Fin.binary_relation", - "equation_FStar.Fin.equivalence_relation", - "equation_FStar.Fin.under", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_FStar.Fin.contains_eq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_be54cb178183ab8a541ff35acf96c2b2", - "l_quant_interp_b438a30f5d108d278f733c86456b25a4", - "lemma_FStar.Fin.contains_eq_means_nonempty", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c572ecf2f9870ecdae70ef2101e80b8", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3cab9479317688f5b48d6ce24c5dd4c2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d0e94e6f42fae5ca190ba8338c768db", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" - ], - 0, - "3c833b4db60227f27b8635645db2e6a3" - ], - [ - "FStar.Fin.find_eq", - 3, - 2, - 1, - [ "@query" ], - 0, - "37255f706a1f9b5f2c924e157f5b37f1" - ], - [ - "FStar.Fin.pigeonhole_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Fin.find_eq.fuel_instrumented", "@query", - "FStar.Fin_interpretation_Tm_arrow_2abfa7b8ed82c1fbcd6677b285cf5b89", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_21413cf1ad35f0725169d0544401ee46_2", - "binder_x_88b1d88e8f26d9082889214227b20263_3", - "binder_x_efb63d704cf808cfd25f78ba70190491_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Fin.binary_relation", - "equation_FStar.Fin.equivalence_relation", "equation_FStar.Fin.in_", - "equation_FStar.Fin.items_of", "equation_FStar.Fin.under", - "equation_Prims.nat", - "equation_with_fuel_FStar.Fin.find_eq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Fin.contains_eq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_67f5afb8863d1ea086e5bcac92596b56", - "interpretation_Tm_abs_be54cb178183ab8a541ff35acf96c2b2", - "l_quant_interp_b438a30f5d108d278f733c86456b25a4", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_03d84a7b4b1cfbb0ee892dbfd4c31a87", - "refinement_interpretation_Tm_refine_05df3dadd01a4c731e36637e4da9b99c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3a4cf6299f72db157595df5591f26540", - "refinement_interpretation_Tm_refine_3b62f1cffe0d79bb518863f2ac259539", - "refinement_interpretation_Tm_refine_540902bfd1e7ad9c8684bd4929e84c59", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7629f2baefa95edbbfdd5750458a9309", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_905abd53938a3e3c1ee96d1ed446fc67", - "refinement_interpretation_Tm_refine_9d7a469771a833c54fc818947fcf6d34", - "refinement_interpretation_Tm_refine_a788e94e8be0d2c9c0cdaa41f5ca1921", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b2a02c31f4fd7c144911c07d8cd10a87", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_eaad8f10a85707e63aa0f5a6123934b9", - "refinement_kinding_Tm_refine_eaad8f10a85707e63aa0f5a6123934b9", - "typing_FStar.Fin.find_eq", "typing_FStar.Fin.in_", - "typing_FStar.Fin.items_of", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_67f5afb8863d1ea086e5bcac92596b56", - "well-founded-ordering-on-nat" - ], - 0, - "20065d207793573fe7b46332081e3d01" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Fin.fsti.hints b/ulib/.hints/FStar.Fin.fsti.hints deleted file mode 100644 index 3dce052f642..00000000000 --- a/ulib/.hints/FStar.Fin.fsti.hints +++ /dev/null @@ -1,73 +0,0 @@ -[ - "þ/+ÌY7ò\u000fP±>ûÊé~7", - [ - [ - "FStar.Fin.vect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b06c8da69f6dc0c7881e020587d2cb8c" - ], - [ - "FStar.Fin.seqn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "43357c029c810cff6ff7d62ddeab0083" - ], - [ - "FStar.Fin.find", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Fin.in_" - ], - 0, - "46dd7452c6f1217eb18527a21929ae0a" - ], - [ - "FStar.Fin.pigeonhole", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Fin.under", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "7005b0d56cc837ec6d98d12bbadf7488" - ], - [ - "FStar.Fin.find_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "9db2f4661a1d9c0f8ae33b5ff0de3a05" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteMap.Ambient.fst.hints b/ulib/.hints/FStar.FiniteMap.Ambient.fst.hints deleted file mode 100644 index 6dbe45704f8..00000000000 --- a/ulib/.hints/FStar.FiniteMap.Ambient.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "$ƒÛœ%^—ÄE„O ÷Gjº", - [ - [ - "FStar.FiniteMap.Ambient.all_finite_map_facts_ambient", - 1, - 2, - 1, - [ "@query" ], - 0, - "18ce5968a9e8d8873f3fe0bc2568a4cf" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteMap.Base.fst.hints b/ulib/.hints/FStar.FiniteMap.Base.fst.hints deleted file mode 100644 index f11c13be962..00000000000 --- a/ulib/.hints/FStar.FiniteMap.Base.fst.hints +++ /dev/null @@ -1,974 +0,0 @@ -[ - "Â'-mjÀ.\u001d§’ýðrÙkÔ", - [ - [ - "FStar.FiniteMap.Base.elements", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.domain", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "0c934672a72b4a24d82bbd2fa0b5e751" - ], - [ - "FStar.FiniteMap.Base.key_in_item_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "02c086243391b689dcdf21b9d31cab66" - ], - [ - "FStar.FiniteMap.Base.item_list_doesnt_repeat_keys", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "21a5006f2dd97079c1110f05e215f7fd" - ], - [ - "FStar.FiniteMap.Base.key_list_to_item_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteMap.Base.item_list_doesnt_repeat_keys.fuel_instrumented", - "@fuel_correspondence_FStar.FiniteMap.Base.key_in_item_list.fuel_instrumented", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteMap.Base.item_list_doesnt_repeat_keys.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteMap.Base.key_in_item_list.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_638595c99fec03ca316d682610f6f769_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_f755ad2fc849fe83bbdafe378ee34d76_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Mkdtuple2", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteMap.Base.item_list_doesnt_repeat_keys.fuel_instrumented", - "equation_with_fuel_FStar.FiniteMap.Base.key_in_item_list.fuel_instrumented", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_827640b1ba93680e1014aaacf8dae5ca", - "refinement_interpretation_Tm_refine_95da1678a1e4161847f43336e2847d4e", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.FiniteMap.Base.elements", - "token_correspondence_FStar.FiniteMap.Base.item_list_doesnt_repeat_keys.fuel_instrumented", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteMap.Base.item_list_doesnt_repeat_keys", - "typing_FStar.FiniteMap.Base.key_in_item_list", - "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "aa225a87f34cdd55382941bd725fe1dc" - ], - [ - "FStar.FiniteMap.Base.map_as_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.mem", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_8503f428c85ca756971de314164d8284", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteSet.Base.set_as_list" - ], - 0, - "2b69264189e48ea781717594ed601529" - ], - [ - "FStar.FiniteMap.Base.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.mem", - "equation_FStar.FiniteMap.Base.setfun_t", - "refinement_interpretation_Tm_refine_824e11a232832f5d5a9d46bcc4172854", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteMap.Base.elements" - ], - 0, - "7c74901b4bf06d298fc350b305061392" - ], - [ - "FStar.FiniteMap.Base.emptymap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.empty_set_contains_no_elements_fact", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", "equation_Prims.squash", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "082f5da3ac28e0fc1b054c1103f57f1a" - ], - [ - "FStar.FiniteMap.Base.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.insert_contains_argument_fact", - "equation_FStar.FiniteSet.Base.insert_fact", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "typing_Tm_abs_fb9acaeb86461f02bd24e1fd771e9687" - ], - 0, - "8ffe3dcda31bce0bb1fd783845ea7a7a" - ], - [ - "FStar.FiniteMap.Base.merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.union_contains_element_from_second_argument_fact", - "equation_FStar.FiniteSet.Base.union_contains_fact", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.union", - "typing_Tm_abs_08a6095b93ac4d69c28583e5b605ae59", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "1581204d13bc1b1518eab0bf614d652a" - ], - [ - "FStar.FiniteMap.Base.subtract", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.difference_contains_fact", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "typing_Tm_abs_e2aae21cccda41e2ae80ca9d9c5abee1" - ], - 0, - "e0e7dab2f715ed2aa8bf2f5b0a9155b8" - ], - [ - "FStar.FiniteMap.Base.choose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.mem", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_fae28b35ce14492a5b997a1f26404042" - ], - 0, - "9945c17f94edcd68b08c3748ae76785e" - ], - [ - "FStar.FiniteMap.Base.map_cardinality_matches_domain_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a2f4ea31a9a39849a4eab3e003e78455" - ], - [ - "FStar.FiniteMap.Base.insert_member_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cc88a314dad641503077de7c3ef77bc3" - ], - [ - "FStar.FiniteMap.Base.cardinality_zero_iff_empty_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.cardinality_zero_iff_empty_fact", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.emptymap", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.length_zero_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_32bd64d619a1094ea9237f43d7150278", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.elements", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "58f7fc4451e123a1ecb53d58c9d09a4f" - ], - [ - "FStar.FiniteMap.Base.empty_or_domain_occupied_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.cardinality_zero_iff_empty_fact", - "equation_FStar.FiniteMap.Base.empty_or_domain_occupied_fact", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.mem", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.length_zero_fact", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6092e2aaf674868055f6998d31189c9c", - "typing_FStar.FiniteMap.Base.domain" - ], - 0, - "4e73ddb1ef3cc87f3593adac5352e840" - ], - [ - "FStar.FiniteMap.Base.empty_or_values_occupied_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.cardinality_zero_iff_empty_fact", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.empty_or_values_occupied_fact", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.mem", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteMap.Base.values", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.length_zero_fact", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_ce20e306f98607ca546a67ca2ce61397", - "l_quant_interp_2a7d53e30f41deac1deb6ba3c1db284b", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_24a8e6ae23ed8638a6835b7c5bc62832", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "refinement_interpretation_Tm_refine_e1d64cb4aab47e7b6a2ecefffbf73187", - "token_correspondence_FStar.FiniteMap.Base.elements", - "token_correspondence_FStar.FiniteMap.Base.values", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.mem", "typing_FStar.FiniteSet.Base.mem" - ], - 0, - "1a26607263e8466f01cf527dfc852abc" - ], - [ - "FStar.FiniteMap.Base.empty_or_items_occupied_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.cardinality_zero_iff_empty_fact", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.empty_or_items_occupied_fact", - "equation_FStar.FiniteMap.Base.items", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.mem", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteMap.Base.values", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.length_zero_fact", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_afebd3add14308bb8b2d477c31611bca", - "interpretation_Tm_abs_ce20e306f98607ca546a67ca2ce61397", - "l_quant_interp_2a7d53e30f41deac1deb6ba3c1db284b", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_24a8e6ae23ed8638a6835b7c5bc62832", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "refinement_interpretation_Tm_refine_c61ac89956d86efc9df5af86582461aa", - "refinement_interpretation_Tm_refine_f77a72e944aff617f1fea7bf41ee6b4d", - "token_correspondence_FStar.FiniteMap.Base.elements", - "token_correspondence_FStar.FiniteMap.Base.items", - "token_correspondence_FStar.FiniteMap.Base.values", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.mem", "typing_FStar.FiniteSet.Base.mem" - ], - 0, - "69e539985c6c741d9a2253f88fd2143e" - ], - [ - "FStar.FiniteMap.Base.map_cardinality_matches_domain_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.map_cardinality_matches_domain_fact" - ], - 0, - "6e74a1c48834b47d30d74d3b3463052d" - ], - [ - "FStar.FiniteMap.Base.values_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteMap.Base.values", - "equation_FStar.FiniteMap.Base.values_contains_fact", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_ce20e306f98607ca546a67ca2ce61397", - "l_quant_interp_2a7d53e30f41deac1deb6ba3c1db284b", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "token_correspondence_FStar.FiniteMap.Base.values" - ], - 0, - "949e7a0cf4520457933f4b25859f8d78" - ], - [ - "FStar.FiniteMap.Base.items_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.items", - "equation_FStar.FiniteMap.Base.items_contains_fact", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_afebd3add14308bb8b2d477c31611bca", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "token_correspondence_FStar.FiniteMap.Base.items", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "7e007b224f0963cc55e74c63a4c0e031" - ], - [ - "FStar.FiniteMap.Base.empty_domain_empty_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.empty_domain_empty_fact", - "equation_FStar.FiniteMap.Base.emptymap", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.empty_set_contains_no_elements_fact", - "equation_Prims.squash", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "11b91f662a802b1cf9ed722a0e2d67f3" - ], - [ - "FStar.FiniteMap.Base.glue_domain_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.glue", - "equation_FStar.FiniteMap.Base.glue_domain_fact", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "335f1ab7b30fbe12eab94a6a25b72f14" - ], - [ - "FStar.FiniteMap.Base.glue_elements_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.glue", - "equation_FStar.FiniteMap.Base.glue_elements_fact", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "a6f53735aad1adbb59f61ff966453090" - ], - [ - "FStar.FiniteMap.Base.insert_elements_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FiniteMap.Base_interpretation_Tm_arrow_7c36013451cd08e206a562ced3172fd5", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.insert", - "equation_FStar.FiniteMap.Base.insert_elements_fact", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.insert_contains_argument_fact", - "equation_FStar.FiniteSet.Base.insert_contains_fact", - "equation_FStar.FiniteSet.Base.insert_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteMap.Base.elements", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "interpretation_Tm_abs_fb9acaeb86461f02bd24e1fd771e9687", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.insert", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "typing_Tm_abs_fb9acaeb86461f02bd24e1fd771e9687" - ], - 0, - "7ab4b1ed45c7889fd308ea3624600bba" - ], - [ - "FStar.FiniteMap.Base.insert_member_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.insert", - "equation_FStar.FiniteMap.Base.insert_member_cardinality_fact", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.insert_member_cardinality_fact", - "equation_Prims.squash", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_FStar.FiniteMap.Base.domain" - ], - 0, - "5d782b46bcbd7d08a646b52602c72298" - ], - [ - "FStar.FiniteMap.Base.insert_nonmember_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.cardinality", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.insert", - "equation_FStar.FiniteMap.Base.insert_nonmember_cardinality_fact", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.insert_nonmember_cardinality_fact", - "equation_Prims.squash", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_FStar.FiniteMap.Base.domain" - ], - 0, - "fb84bc7135985be9edbdfc24baac6c6b" - ], - [ - "FStar.FiniteMap.Base.merge_domain_is_union_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.merge", - "equation_FStar.FiniteMap.Base.merge_domain_is_union_fact", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "37d6901c8581186974868f0644389d71" - ], - [ - "FStar.FiniteMap.Base.merge_element_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.merge", - "equation_FStar.FiniteMap.Base.merge_element_fact", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.union_contains_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_08a6095b93ac4d69c28583e5b605ae59", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.merge", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_08a6095b93ac4d69c28583e5b605ae59", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "cd4d77b39271283f15923169ae58586e" - ], - [ - "FStar.FiniteMap.Base.subtract_domain_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.subtract", - "equation_FStar.FiniteMap.Base.subtract_domain_fact", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "a5f9f4e9f137007e13db51c2ea4ec5ba" - ], - [ - "FStar.FiniteMap.Base.subtract_element_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.subtract", - "equation_FStar.FiniteMap.Base.subtract_element_fact", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.difference_contains_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "interpretation_Tm_abs_e2aae21cccda41e2ae80ca9d9c5abee1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.subtract", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "typing_Tm_abs_e2aae21cccda41e2ae80ca9d9c5abee1" - ], - 0, - "fa9a4d19ecfac141b0621af078c160f7" - ], - [ - "FStar.FiniteMap.Base.map_equal_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.equal", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.FiniteMap.Base.elements", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "typing_FStar.FiniteMap.Base.elements" - ], - 0, - "43e1449af8b27c8d7118f4d178e2b808" - ], - [ - "FStar.FiniteMap.Base.map_equal_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.equal", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "function_token_typing_FStar.FiniteMap.Base.elements", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "typing_FStar.FiniteMap.Base.elements", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "6e284ce310d532e79b1dfec3943ff6a4" - ], - [ - "FStar.FiniteMap.Base.map_extensionality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.elements", - "equation_FStar.FiniteMap.Base.equal", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.map_extensionality_fact", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.equal_extensionality_fact", - "equation_FStar.FiniteSet.Base.equal_fact", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_aa66d22ae6c9c3dd050f6cedf31bbef2", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteMap.Base.elements", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "ac2eef27e4883cd56917bf33c404420c" - ], - [ - "FStar.FiniteMap.Base.disjoint_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_Prims.Mkdtuple2", - "equation_FStar.FiniteMap.Base.disjoint", - "equation_FStar.FiniteMap.Base.disjoint_fact", - "equation_FStar.FiniteMap.Base.domain", - "equation_FStar.FiniteMap.Base.map", - "equation_FStar.FiniteMap.Base.setfun_t", - "equation_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "equation_FStar.FiniteSet.Base.all_finite_set_facts", - "equation_FStar.FiniteSet.Base.disjoint_fact", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - "interpretation_Tm_abs_7238564329b398cbeb1a9ec1e0c75814", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "typing_FStar.FiniteMap.Base.domain", - "typing_FStar.FiniteSet.Base.mem" - ], - 0, - "a8d03c000599999bbaedaecf2fea4114" - ], - [ - "FStar.FiniteMap.Base.all_finite_map_facts_lemma", - 1, - 2, - 1, - [ "@query", "equation_FStar.FiniteMap.Base.all_finite_map_facts" ], - 0, - "3f824ee81be646b6816360da30dc6f87" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteMap.Base.fsti.hints b/ulib/.hints/FStar.FiniteMap.Base.fsti.hints deleted file mode 100644 index 987e4b66dd4..00000000000 --- a/ulib/.hints/FStar.FiniteMap.Base.fsti.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "NµH#\"Bp\nP_0ÉáÂ6", - [ - [ - "FStar.FiniteMap.Base.key_in_item_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "64713c9ef603cab43507f5996986cad6" - ], - [ - "FStar.FiniteMap.Base.item_list_doesnt_repeat_keys", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d19d167fc58f133e2a2e6b3314b12408" - ], - [ - "FStar.FiniteMap.Base.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FiniteMap.Base.mem", - "equation_FStar.FiniteMap.Base.setfun_t", - "refinement_interpretation_Tm_refine_824e11a232832f5d5a9d46bcc4172854", - "refinement_interpretation_Tm_refine_b9153550910e17f890b4ca9562727433", - "token_correspondence_FStar.FiniteMap.Base.elements", - "typing_FStar.FiniteMap.Base.elements" - ], - 0, - "ebf3147f1ecdc93f80944f19345996f3" - ], - [ - "FStar.FiniteMap.Base.map_cardinality_matches_domain_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "52d947315d25886719dc7c89ae0b14b1" - ], - [ - "FStar.FiniteMap.Base.glue_elements_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "198bca008176a923268b198f2479a7c1" - ], - [ - "FStar.FiniteMap.Base.insert_member_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c83c6887e8bcc349f8c9bbc0c2541e67" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteSet.Ambient.fst.hints b/ulib/.hints/FStar.FiniteSet.Ambient.fst.hints deleted file mode 100644 index 5af25e0975d..00000000000 --- a/ulib/.hints/FStar.FiniteSet.Ambient.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "*]³BXÚ',@Ñ\u0012G\u0018Påw", - [ - [ - "FStar.FiniteSet.Ambient.all_finite_set_facts_ambient", - 1, - 2, - 1, - [ "@query" ], - 0, - "95de4c11b0612077f86bd717b182ea00" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteSet.Base.fst.hints b/ulib/.hints/FStar.FiniteSet.Base.fst.hints deleted file mode 100644 index 976ff02902e..00000000000 --- a/ulib/.hints/FStar.FiniteSet.Base.fst.hints +++ /dev/null @@ -1,2012 +0,0 @@ -[ - "÷gëºÛ\u0005¹Ÿ·»Ð·á%î", - [ - [ - "FStar.FiniteSet.Base.list_nonrepeating", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "2c7183e9dfd6a6c94752921d389d5200" - ], - [ - "FStar.FiniteSet.Base.remove_repeats", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_64dd48326274a6eb6f2857c4f19804f2", - "subterm_ordering_Prims.Cons", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "f075593d3b6c0dc219ef0ed5c080b79d" - ], - [ - "FStar.FiniteSet.Base.set_as_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "bool_inversion", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_2aa0fea2ab035e17fbef02e392c11c6a", - "refinement_interpretation_Tm_refine_6d5da6fdc424eb8aeecd68f103c32366", - "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "1aee202e1fdd534a974933c0f1baa013" - ], - [ - "FStar.FiniteSet.Base.intro_set", - 1, - 2, - 1, - [ "@query" ], - 0, - "288530664525a93546307b00ffe715c9" - ], - [ - "FStar.FiniteSet.Base.emptyset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "5ef3678ca18f4563e51456ef88cbef60" - ], - [ - "FStar.FiniteSet.Base.insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "d041f1d52937fa25428960c8f01b5173" - ], - [ - "FStar.FiniteSet.Base.union_lists", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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_ca76269375ee46aca072742a68a0bcf7", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "cda725d560f27313239d87c0e9b7f0b5" - ], - [ - "FStar.FiniteSet.Base.union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.union_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d2eb9902976316756d178325199475b0", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.union_lists", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "0777277ec27f29b6fc3ac7c47758b534" - ], - [ - "FStar.FiniteSet.Base.intersect_lists", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52639970d1d9350f1101d9ebba700bff", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "432a18feac8269c613eeb95250dcee2b" - ], - [ - "FStar.FiniteSet.Base.intersection", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.intersect_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ee1a4e5ba38cdf27748eb64b7878f9c2", - "typing_FStar.FiniteSet.Base.intersect_lists", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "ae41f579f91b4a85ce3bddb6b2b16c00" - ], - [ - "FStar.FiniteSet.Base.difference_lists", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_681ad62ff7ed9e3192c17437c7054d78", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "dab5a11b98fd9d87dd3f97586d088f91" - ], - [ - "FStar.FiniteSet.Base.difference", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.difference_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_000348c5ecada3b52bb7ef7cbc387fd9", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.difference_lists", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "b3ebbaaa4d7399ab5e34632e71fb9eeb" - ], - [ - "FStar.FiniteSet.Base.choose", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c98c0277ea9580c9477053bc040aab5f", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.mem", "typing_Prims.uu___is_Cons" - ], - 0, - "e8d4e5c6f990067c95569887e32f2739" - ], - [ - "FStar.FiniteSet.Base.insert_member_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b14584ba310963807b834a09f4023316" - ], - [ - "FStar.FiniteSet.Base.set_as_list_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a3dd4490f5814a22e8cdeec887bfac63" - ], - [ - "FStar.FiniteSet.Base.empty_set_contains_no_elements_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.empty_set_contains_no_elements_fact", - "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "d628a24461d3d776c242b1b583b73cb4" - ], - [ - "FStar.FiniteSet.Base.length_zero_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.length_zero_fact", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0723ce415594446863771413fd1a8e22", - "refinement_interpretation_Tm_refine_0f1973c9c3f492b1e843228abe0bc458", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_2c878959a795bc9dfd85933a471e4b9c", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "b4fac8714d8d37f2f311087c3a2bcb24" - ], - [ - "FStar.FiniteSet.Base.singleton_contains_argument_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.singleton", - "equation_FStar.FiniteSet.Base.singleton_contains_argument_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "98c4aa9da3264eda2a56352d6ffec39b" - ], - [ - "FStar.FiniteSet.Base.singleton_contains_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.singleton", - "equation_FStar.FiniteSet.Base.singleton_contains_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.singleton", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "95912c365274266b500debf4947dab12" - ], - [ - "FStar.FiniteSet.Base.singleton_cardinality_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.remove_repeats.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.remove_repeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.remove_repeats.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_Prims.uu___is_Cons" - ], - 0, - "108f938a723209398ab5ce14f10f6243" - ], - [ - "FStar.FiniteSet.Base.singleton_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.FiniteSet.Base.remove_repeats.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@query", - "FStar.FiniteSet.Base_interpretation_Tm_arrow_15c3002ac7f5ac748c5e28577b1b433b", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.IndefiniteDescription_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.singleton", - "equation_FStar.FiniteSet.Base.singleton_cardinality_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.FiniteSet.Base.remove_repeats.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "int_inversion", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c", - "kinding_Prims.list@tok", - "l_quant_interp_d64dd45a60fb418c019d462c2648a6e2", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4cc89ae73e7128e43010e5aba0ff060c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_ba78b4c3799eae649a45df6190fd5fcb", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteSet.Base.cardinality", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.singleton", - "typing_FStar.IndefiniteDescription.indefinite_description_ghost", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c" - ], - 0, - "ebdf70d26edb4172dc036a254342ddf3" - ], - [ - "FStar.FiniteSet.Base.insert_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.insert_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "16c8e6bee2c106f531120e064d924a62" - ], - [ - "FStar.FiniteSet.Base.insert_contains_argument_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.insert_contains_argument_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "104e5fe6e93375ff8c96216ca728f014" - ], - [ - "FStar.FiniteSet.Base.insert_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.insert_contains_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "fdd52ca2a6d1a9d8d6f75f5e94e2d43c" - ], - [ - "FStar.FiniteSet.Base.remove_from_nonrepeating_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_6209441759ff7c653aa40ace383e0b32_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1975a969adf337b1c60bad12509dace5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c151d30d6c5eb6c1c53a15160b5cc0b1", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", "typing_Prims.uu___is_Cons" - ], - 0, - "cb1b2f0464afe3166ebc5ef138fbefa7" - ], - [ - "FStar.FiniteSet.Base.nonrepeating_lists_with_same_elements_have_same_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09d08215556ccd8f48b9db5f9f7964a2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a61371401ab8e86e1420e24b9738a434", - "refinement_interpretation_Tm_refine_c9dceb33619dcb17c4f30482f9e6d806", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.remove_from_nonrepeating_list", - "typing_FStar.List.Tot.Base.mem", "typing_Prims.int" - ], - 0, - "54cfa442f1e676d8aa9c82c7be7461b4" - ], - [ - "FStar.FiniteSet.Base.nonrepeating_lists_with_same_elements_have_same_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "24fc7d1059c5974d41e4e8f960785077" - ], - [ - "FStar.FiniteSet.Base.insert_member_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.insert_member_cardinality_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d087fce828f6c55420b202f018f783de", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.set_as_list", "typing_Prims.int", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "ad298c85ea2a6137333756d4e7c1ae56" - ], - [ - "FStar.FiniteSet.Base.insert_nonmember_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FiniteSet.Base_interpretation_Tm_arrow_15c3002ac7f5ac748c5e28577b1b433b", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.IndefiniteDescription_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.insert_nonmember_cardinality_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "int_inversion", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c", - "kinding_Prims.list@tok", - "l_quant_interp_d64dd45a60fb418c019d462c2648a6e2", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_47ab5525ec7a11ba812dac58ae8a264c", - "refinement_interpretation_Tm_refine_4cc89ae73e7128e43010e5aba0ff060c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.IndefiniteDescription.indefinite_description_ghost", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_9377cc2a16e83f1cf9781b13fdbf009c" - ], - 0, - "433e60f25435a089e7d6c6959af2f2ff" - ], - [ - "FStar.FiniteSet.Base.union_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_contains_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "95005e8f679bc37b20800d80a54a391d" - ], - [ - "FStar.FiniteSet.Base.union_contains_element_from_first_argument_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_contains_element_from_first_argument_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "7a6c9510f107915f75928f37a90a16cd" - ], - [ - "FStar.FiniteSet.Base.union_contains_element_from_second_argument_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_contains_element_from_second_argument_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "ae14544c335398e8e153ce6862a0b82a" - ], - [ - "FStar.FiniteSet.Base.union_of_disjoint_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_of_disjoint_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0aa3217c92bd3f197c12febacc7a3d26", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "58232edf0d1a20dbe559457deddc315f" - ], - [ - "FStar.FiniteSet.Base.intersection_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intersection_contains_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "2d37ecb00adead83c26359d1d0bd3ab1" - ], - [ - "FStar.FiniteSet.Base.union_idempotent_right_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_idempotent_right_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_b518570bebb42c2f0b86186930ca89e8", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "c444629dcbfe636d6b281955dd33f0cd" - ], - [ - "FStar.FiniteSet.Base.union_idempotent_left_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FiniteSet.Base.union_idempotent_left_fact", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_35eacf0f6f10dd60655f66e2e052c8ca", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "179f4c638dadd0d58d4caa671c3c2c1b" - ], - [ - "FStar.FiniteSet.Base.intersection_idempotent_right_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intersection_idempotent_right_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_8a9c3ea6c246991d26fc5008b4aff856", - "typing_FStar.FiniteSet.Base.intersection", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "58e83f3a3345d69085ce09a182f44b62" - ], - [ - "FStar.FiniteSet.Base.intersection_idempotent_left_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intersection_idempotent_left_fact", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_818b93018f3201c1dc2795c98556916c", - "typing_FStar.FiniteSet.Base.intersection", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "da7c6c1c4c1ac5554a295d64564a4a58" - ], - [ - "FStar.FiniteSet.Base.union_of_disjoint_nonrepeating_lists_length_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c03137cdacc25e61662393ec43d96664", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.List.Tot.Base.length", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "055dafba493d343c814ac975a8eaf041" - ], - [ - "FStar.FiniteSet.Base.union_of_disjoint_sets_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "d6df03a8172fa668864e0f5adca33b85" - ], - [ - "FStar.FiniteSet.Base.union_of_three_disjoint_sets_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.FiniteSet.Base.union", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "af7cdaa6a5b70fb71c5ce12bdddfcee8" - ], - [ - "FStar.FiniteSet.Base.cardinality_matches_difference_plus_intersection_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.difference_lists.fuel_instrumented", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_000348c5ecada3b52bb7ef7cbc387fd9", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.difference_lists", - "typing_FStar.FiniteSet.Base.intersection", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "2b913f94e4848645eac0c932217cb707" - ], - [ - "FStar.FiniteSet.Base.union_is_differences_and_intersection", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FiniteSet.Base.union", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.intersection", - "typing_FStar.FiniteSet.Base.list_nonrepeating", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.union", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "1541997767df084904ee205b556e69a2" - ], - [ - "FStar.FiniteSet.Base.intersection_cardinality_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.intersect_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_ee1a4e5ba38cdf27748eb64b7878f9c2", - "typing_FStar.FiniteSet.Base.cardinality", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.intersect_lists", - "typing_FStar.FiniteSet.Base.intersection", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "a2603600f60ab04b43f296a1668b934c" - ], - [ - "FStar.FiniteSet.Base.intersection_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteSet.Base.intersection_cardinality_fact", - "refinement_interpretation_Tm_refine_f50eaf9418d872374eed1da7e8a5cf63" - ], - 0, - "6007e44594919b5721638a01b87e7c3d" - ], - [ - "FStar.FiniteSet.Base.difference_contains_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.difference_contains_fact", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "fb69e01bd495adbdf4e4d805fc597d37" - ], - [ - "FStar.FiniteSet.Base.difference_doesnt_include_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.difference_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.difference_doesnt_include_fact", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_000348c5ecada3b52bb7ef7cbc387fd9", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.difference_lists", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "385218c128340753a93b919726e6255e" - ], - [ - "FStar.FiniteSet.Base.difference_cardinality_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.intersection", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.FiniteSet.Base.cardinality", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.intersection", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "b4fb5e04100e86892a4598d4f51abf64" - ], - [ - "FStar.FiniteSet.Base.difference_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteSet.Base.difference_cardinality_fact", - "refinement_interpretation_Tm_refine_a4ffbe34883eda92d26a339105d605de" - ], - 0, - "36daa68a3fbb24987d8624cc7e04e321" - ], - [ - "FStar.FiniteSet.Base.subset_helper", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "bool_inversion", "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.subset", - "equation_FStar.FunctionalExtensionality.restricted_t", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_c36a3a447714850c9ecc6b06e6f26794", - "refinement_interpretation_Tm_refine_cc41c2797de4f427e44108e4a6043ac2", - "typing_FStar.FiniteSet.Base.mem" - ], - 0, - "33948151f88ab9627f5f35ce51069244" - ], - [ - "FStar.FiniteSet.Base.subset_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteSet.Base.subset_fact", - "refinement_interpretation_Tm_refine_cc7eff2a661ecc3a4c20a20e53c4769d" - ], - 0, - "e00856be86273b6e03b7cbcf17278040" - ], - [ - "FStar.FiniteSet.Base.equal_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.FiniteSet.Base.equal", - "equation_FStar.FiniteSet.Base.equal_fact", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.extensionality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0e760ffa1ae6efdcfe357be023b5a73c", - "refinement_interpretation_Tm_refine_1c0eebd0b2e2cbfe627d64219f72a997", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_52cd1048637e4e8813a9ac6767454c48", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "2692cbf38a4dcc6f568e0058067f5517" - ], - [ - "FStar.FiniteSet.Base.equal_extensionality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteSet.Base.equal", - "equation_FStar.FiniteSet.Base.equal_extensionality_fact", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "b903c93ec0b96005e9fd876ca9248679" - ], - [ - "FStar.FiniteSet.Base.disjoint_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.FiniteSet.Base.disjoint", - "equation_FStar.FiniteSet.Base.disjoint_fact", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.set", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1568adc79beb02ec5934455e6c8f0e47", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_9c14cced70035ce5f8a03671aaaa195e", - "typing_FStar.FiniteSet.Base.mem", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "696b7a09bd43fd8c50f7db2eb4eaf38d" - ], - [ - "FStar.FiniteSet.Base.insert_remove_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.difference_lists.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.remove", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.set_as_list", - "equation_FStar.FiniteSet.Base.singleton", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_000348c5ecada3b52bb7ef7cbc387fd9", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.FiniteSet.Base.difference", - "typing_FStar.FiniteSet.Base.difference_lists", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.mem", - "typing_FStar.FiniteSet.Base.remove", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.singleton", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "687b9eee86b81774f9f77cf4384bc667" - ], - [ - "FStar.FiniteSet.Base.insert_remove_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FiniteSet.Base.insert_remove_fact", - "equation_FStar.FiniteSet.Base.mem", "equation_Prims.squash", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6466d0dc80efc0985b3e9fafdfb1ff6c" - ], - 0, - "fa155af6f29db611ed6b71c87a13bd08" - ], - [ - "FStar.FiniteSet.Base.remove_insert_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "bool_typing", - "equation_FStar.FiniteSet.Base.difference", - "equation_FStar.FiniteSet.Base.emptyset", - "equation_FStar.FiniteSet.Base.has_elements", - "equation_FStar.FiniteSet.Base.insert", - "equation_FStar.FiniteSet.Base.intro_set", - "equation_FStar.FiniteSet.Base.mem", - "equation_FStar.FiniteSet.Base.remove", - "equation_FStar.FiniteSet.Base.set", - "equation_FStar.FiniteSet.Base.singleton", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_12882cb845ab06c2a80ae9e6ced3cd81", - "refinement_interpretation_Tm_refine_22fbda02da766f3038128156d9161a4f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.FiniteSet.Base.list_nonrepeating.fuel_instrumented", - "typing_FStar.FiniteSet.Base.emptyset", - "typing_FStar.FiniteSet.Base.insert", - "typing_FStar.FiniteSet.Base.remove", - "typing_FStar.FiniteSet.Base.set_as_list", - "typing_FStar.FiniteSet.Base.singleton", - "typing_FStar.List.Tot.Base.mem", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_2736dfd6ad6f4a8d09927497fa41e3d0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_861d1442c76d30b1d1b4fef62ef463e9" - ], - 0, - "b871775f4ebd179d882aa402d618be84" - ], - [ - "FStar.FiniteSet.Base.remove_insert_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FiniteSet.Base.remove_insert_fact", - "equation_Prims.squash", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_ea6c64cd0c5b0a1c9e0d7be9e81ec1fc" - ], - 0, - "1ff1c6bdcdd7bb05ae26c853554e124d" - ], - [ - "FStar.FiniteSet.Base.set_as_list_cardinality_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FiniteSet.Base.set_as_list_cardinality_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_FStar.FiniteSet.Base.cardinality", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_52de9afc59015c43eec4b37fc7f80ffa", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_79f259659b40ee74ef6637c53f9a91d8", - "typing_Prims.int" - ], - 0, - "357b7eda64cdaed0eaabd1f289bfc8a9" - ], - [ - "FStar.FiniteSet.Base.all_finite_set_facts_lemma", - 1, - 2, - 1, - [ "@query", "equation_FStar.FiniteSet.Base.all_finite_set_facts" ], - 0, - "23889aa036d1fb526e132fd35d0d5ded" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FiniteSet.Base.fsti.hints b/ulib/.hints/FStar.FiniteSet.Base.fsti.hints deleted file mode 100644 index 0696569492c..00000000000 --- a/ulib/.hints/FStar.FiniteSet.Base.fsti.hints +++ /dev/null @@ -1,50 +0,0 @@ -[ - "ð2ŸF\u001fç\u0013Ð\u001f]{a!Ãg", - [ - [ - "FStar.FiniteSet.Base.list_nonrepeating", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "3347bfc4471588e674eef1fcf7e3b9fb" - ], - [ - "FStar.FiniteSet.Base.insert_member_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e56d1b94350dd94a518cc0583fcadfc7" - ], - [ - "FStar.FiniteSet.Base.set_as_list_cardinality_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a3dd4490f5814a22e8cdeec887bfac63" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Float.fsti.hints b/ulib/.hints/FStar.Float.fsti.hints deleted file mode 100644 index 7b6a07d09b6..00000000000 --- a/ulib/.hints/FStar.Float.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Œ×\u0004\u0006\u0010ê{\u0015Ò[µ|%\u0000•š", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.FunctionalExtensionality.fst.hints b/ulib/.hints/FStar.FunctionalExtensionality.fst.hints deleted file mode 100644 index 5507fa7bf3e..00000000000 --- a/ulib/.hints/FStar.FunctionalExtensionality.fst.hints +++ /dev/null @@ -1,146 +0,0 @@ -[ - "tÌR[b\u001aö7K’\u0006#¨¿µ›", - [ - [ - "FStar.FunctionalExtensionality.feq_on_domain", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_domain", - "interpretation_Tm_abs_d3988c6b3796e1c5fa6d721e12c50d6e" - ], - 0, - "d7bca1faa98e8da75269bef48796b7c8" - ], - [ - "FStar.FunctionalExtensionality.idempotence_on_domain", - 1, - 2, - 1, - [ "@query" ], - 0, - "c3a5364ac728fb8885d2bcf147168377" - ], - [ - "FStar.FunctionalExtensionality.on_dom", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.is_restricted", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain" - ], - 0, - "fe193a64e8544d5a5db7d1e3cf78492e" - ], - [ - "FStar.FunctionalExtensionality.quantifier_as_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "faa92cced2cd2d2c36f0119b80ba89ac" - ], - [ - "FStar.FunctionalExtensionality.try_with", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "10a224f08070214b27913c1ab2fae432" - ], - [ - "FStar.FunctionalExtensionality.extensionality_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "23013067e585da467b57e109aa4e9009" - ], - [ - "FStar.FunctionalExtensionality.extensionality", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.on_domain", - "lemma_FStar.FunctionalExtensionality.feq_on_domain" - ], - 0, - "b5da47129e741252645e5b0e9c3be6aa" - ], - [ - "FStar.FunctionalExtensionality.feq_on_domain_g", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.on_domain_g", - "interpretation_Tm_abs_9f8d8bcb0bd54b26007da155012bc829" - ], - 0, - "2b382b9f91d0fe571bdff680ca45e1b4" - ], - [ - "FStar.FunctionalExtensionality.idempotence_on_domain_g", - 1, - 2, - 1, - [ "@query" ], - 0, - "0bf1a068640b03d5c694349aec4b5570" - ], - [ - "FStar.FunctionalExtensionality.on_dom_g", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.is_restricted_g", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain_g" - ], - 0, - "2bf698fc04efa62c7075c3aacc32043f" - ], - [ - "FStar.FunctionalExtensionality.extensionality_1_g", - 1, - 2, - 1, - [ "@query" ], - 0, - "00179a339e877a046aba3ab70cb0655c" - ], - [ - "FStar.FunctionalExtensionality.extensionality_g", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.on_domain_g", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g" - ], - 0, - "a6de9869bef24a8db8d0c83336f5a232" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FunctionalExtensionality.fsti.hints b/ulib/.hints/FStar.FunctionalExtensionality.fsti.hints deleted file mode 100644 index 2696a03129a..00000000000 --- a/ulib/.hints/FStar.FunctionalExtensionality.fsti.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "„\u0014²¡æ€{’\\Ó„»ªp/", - [ - [ - "FStar.FunctionalExtensionality.on_dom", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.is_restricted", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain" - ], - 0, - "6b1aecea4be2858d8545dabd3a64afd0" - ], - [ - "FStar.FunctionalExtensionality.on_dom_g", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.is_restricted_g", - "lemma_FStar.FunctionalExtensionality.idempotence_on_domain_g" - ], - 0, - "feada64bf66c285d7fdca1fd122da408" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FunctionalQueue.fst.hints b/ulib/.hints/FStar.FunctionalQueue.fst.hints deleted file mode 100644 index 584d236fdc8..00000000000 --- a/ulib/.hints/FStar.FunctionalQueue.fst.hints +++ /dev/null @@ -1,652 +0,0 @@ -[ - "ž¬µÆ¸rø\bï¾ÔÔŽ©í\u0011", - [ - [ - "FStar.FunctionalQueue.empty", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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" - ], - 0, - "ec372a4e5bd253f2f21e92931c9860db" - ], - [ - "FStar.FunctionalQueue.queue_of_list", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.List.Tot.Base.isEmpty", - "equation_FStar.Pervasives.Native.snd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a" - ], - 0, - "4805bcf89ad2fac53adcb054509044ba" - ], - [ - "FStar.FunctionalQueue.lemma_eq_intro", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_FStar.FunctionalQueue.equal", - "equation_FStar.FunctionalQueue.queue_to_seq", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "typing_FStar.FunctionalQueue.queue_to_seq" - ], - 0, - "337940b23923ac45362fd39aa411ea97" - ], - [ - "FStar.FunctionalQueue.lemma_eq_elim", - 1, - 2, - 1, - [ "@query", "eq2-interp", "equation_FStar.FunctionalQueue.equal" ], - 0, - "4da452a7f574d70d5066222b52d5b8c8" - ], - [ - "FStar.FunctionalQueue.lemma_list_queue_bij", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Nil", "equation_FStar.FunctionalQueue.empty", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_of_list", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "typing_FStar.FunctionalQueue.queue_of_list", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "a6df9f9a2f2bcbef1f6c1495873bc4eb" - ], - [ - "FStar.FunctionalQueue.lemma_queue_list_bij", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.FunctionalQueue.empty", - "equation_FStar.FunctionalQueue.equal", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_of_list", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "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", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "typing_FStar.List.Tot.Base.rev", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "58c87b4652f182019b3349762b09cf04" - ], - [ - "FStar.FunctionalQueue.lemma_seq_queue_bij", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalQueue.queue_of_seq", - "equation_FStar.FunctionalQueue.queue_to_seq" - ], - 0, - "f6d54f821eef979a75bcbc1dbaf4df6d" - ], - [ - "FStar.FunctionalQueue.lemma_queue_seq_bij", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalQueue.equal", - "lemma_FStar.FunctionalQueue.lemma_eq_elim", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "typing_FStar.FunctionalQueue.queue_of_list", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.FunctionalQueue.queue_to_seq" - ], - 0, - "f602180d649431165569f8e91dc754ae" - ], - [ - "FStar.FunctionalQueue.enqueue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.isEmpty", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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", "typing_Prims.uu___is_Nil" - ], - 0, - "8bffe0079f65aee57261f8f895e45a30" - ], - [ - "FStar.FunctionalQueue.dequeue", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.List.Tot.Base.isEmpty", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "l_and-interp", "l_not-interp", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.List.Tot.Base.isEmpty", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.uu___is_Nil" - ], - 0, - "d5c7384a67eb1cdb9bfa36c1b8ac15d1" - ], - [ - "FStar.FunctionalQueue.peek", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.Pervasives.Native.fst", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "l_and-interp", "l_not-interp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "8c2778e03b3757e68b6dae02a764c1f9" - ], - [ - "FStar.FunctionalQueue.lemma_empty_ok", - 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.Nil", "data_elim_Prims.Cons", - "equation_FStar.FunctionalQueue.empty", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Seq.Base.lemma_seq_to_seq_of_list", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FunctionalQueue.empty", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq_to_list" - ], - 0, - "53def0aec6b70a1215b81bb269f07f70" - ], - [ - "FStar.FunctionalQueue.lemma_enqueue_ok_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Nil", - "equation_FStar.FunctionalQueue.enqueue", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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_686809b84078455d77e560be4be254cd", - "typing_FStar.FunctionalQueue.enqueue", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "a7189fcfeea540e69ceccc41b929dc0a" - ], - [ - "FStar.FunctionalQueue.lemma_append_seq_of_list_dist", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "3600d117a2733a21ed6c5d793e0e5a4c" - ], - [ - "FStar.FunctionalQueue.lemma_snoc_list_seq", - 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", - "constructor_distinct_Prims.Nil", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.Seq.Base.op_At_Bar", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "primitive_Prims.op_Addition", "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", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.List.Tot.Base.snoc", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.op_At_Bar", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "fe0841d2ef317ea76f2d4c2288ec6c05" - ], - [ - "FStar.FunctionalQueue.lemma_enqueue_ok", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalQueue.enqueue", - "equation_FStar.FunctionalQueue.queue_to_seq" - ], - 0, - "2c8c510e4fce12e172c846ff810fb42f" - ], - [ - "FStar.FunctionalQueue.lemma_dequeue_ok_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.FunctionalQueue.dequeue", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_of_list", - "equation_FStar.FunctionalQueue.queue_of_seq", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "l_and-interp", "l_not-interp", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "lemma_FStar.Seq.Base.lemma_seq_to_seq_of_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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.List.Tot.Base.rev", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "d79714ab12935f1cbd7a58e868d2699e" - ], - [ - "FStar.FunctionalQueue.lemma_cons_list_seq", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Base.op_At_Bar", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "typing_FStar.FunctionalQueue.queue_to_list" - ], - 0, - "64aa198b6b2100184807291f86c9dc79" - ], - [ - "FStar.FunctionalQueue.lemma_dequeue_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", "l_and-interp", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168" - ], - 0, - "81dbbd65e50760eb214af0a6ca3701e9" - ], - [ - "FStar.FunctionalQueue.lemma_dequeue_ok", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", "eq2-interp", - "equation_FStar.FunctionalQueue.dequeue", - "equation_FStar.FunctionalQueue.equal", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_of_list", - "equation_FStar.FunctionalQueue.queue_of_seq", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.FunctionalQueue.queue_to_seq", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Base.op_At_Bar", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "l_and-interp", - "lemma_FStar.FunctionalQueue.lemma_eq_intro", - "lemma_FStar.FunctionalQueue.lemma_seq_queue_bij", - "lemma_FStar.List.Tot.Properties.append_length", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "lemma_FStar.Seq.Base.lemma_seq_to_list_cons", - "lemma_FStar.Seq.Base.lemma_seq_to_seq_of_list", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.FunctionalQueue.dequeue", - "typing_FStar.FunctionalQueue.queue", - "typing_FStar.FunctionalQueue.queue_of_seq", - "typing_FStar.FunctionalQueue.queue_to_list", - "typing_FStar.FunctionalQueue.queue_to_seq", - "typing_FStar.List.Tot.Base.rev", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Base.seq_to_list", - "typing_FStar.Seq.Properties.tail", "unit_typing" - ], - 0, - "4a3a40b84d3f54158822e242220731eb" - ], - [ - "FStar.FunctionalQueue.lemma_peek_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", "l_and-interp", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168" - ], - 0, - "776e1cdb4a65e0bbbbc52bea494d2e86" - ], - [ - "FStar.FunctionalQueue.lemma_peek_ok", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "b2t_def", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "equation_FStar.FunctionalQueue.dequeue", - "equation_FStar.FunctionalQueue.not_empty", - "equation_FStar.FunctionalQueue.peek", - "equation_FStar.FunctionalQueue.queue", - "equation_FStar.FunctionalQueue.queue_to_list", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "kinding_Prims.list@tok", "l_and-interp", - "lemma_FStar.FunctionalQueue.lemma_dequeue_ok", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_686809b84078455d77e560be4be254cd", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168", - "typing_FStar.List.Tot.Base.rev", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "b9f30f8e697d7e6666efc71ee3d98a42" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.FunctionalQueue.fsti.hints b/ulib/.hints/FStar.FunctionalQueue.fsti.hints deleted file mode 100644 index 437bd7b6a3b..00000000000 --- a/ulib/.hints/FStar.FunctionalQueue.fsti.hints +++ /dev/null @@ -1,35 +0,0 @@ -[ - "nn‰ûgÔ¯N;ø¦ ¡\u001b¶\u0011", - [ - [ - "FStar.FunctionalQueue.lemma_dequeue_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", "l_and-interp", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168" - ], - 0, - "4f8203f35bf824bfbd94635c96686c5f" - ], - [ - "FStar.FunctionalQueue.lemma_peek_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.FunctionalQueue.not_empty", "l_and-interp", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9d36978bdc8e3c7dc67574bf23a79168" - ], - 0, - "776e1cdb4a65e0bbbbc52bea494d2e86" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Functions.fst.hints b/ulib/.hints/FStar.Functions.fst.hints deleted file mode 100644 index 4a2125d825d..00000000000 --- a/ulib/.hints/FStar.Functions.fst.hints +++ /dev/null @@ -1,107 +0,0 @@ -[ - "ŒQ\u001b\u0019ÛŸÉðh~xJé’4", - [ - [ - "FStar.Functions.inj_comp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "equation_FStar.Functions.is_inj", - "interpretation_Tm_abs_12f0bbc5cd2aeb167bc7e771b588a4ca" - ], - 0, - "90355352ba87910336ca768f4d298dd1" - ], - [ - "FStar.Functions.surj_comp", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Functions.is_surj", - "interpretation_Tm_abs_12f0bbc5cd2aeb167bc7e771b588a4ca" - ], - 0, - "97639263bc5ac9aa0e82eb610102be64" - ], - [ - "FStar.Functions.lem_surj", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Functions.in_image", - "equation_FStar.Functions.is_surj" - ], - 0, - "ef76add24895d58a511fe8e8d6ee9b20" - ], - [ - "FStar.Functions.inverse_of_bij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Functions_interpretation_Tm_ghost_arrow_fcda5948035eef42682469d6b77351e5", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "eq2-interp", "equation_FStar.Functions.is_bij", - "equation_FStar.Functions.is_inj", - "equation_FStar.Functions.is_inverse_of", - "equation_FStar.Functions.is_surj", - "function_token_typing_FStar.Ghost.Pull.pull", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_31643c6abaa313b5af2400912353b7a4", - "interpretation_Tm_abs_3977fc39118188e9eae1041b58000dd7", - "interpretation_Tm_abs_a9332bce87c635e7a9b57d3e3e94a3df", - "lemma_FStar.Ghost.Pull.pull_equiv", - "refinement_interpretation_Tm_refine_4cc89ae73e7128e43010e5aba0ff060c", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_aa7b184f4f7098ab61bdee8a42ac00bb", - "typing_FStar.IndefiniteDescription.indefinite_description_ghost", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_3977fc39118188e9eae1041b58000dd7", - "typing_Tm_abs_a9332bce87c635e7a9b57d3e3e94a3df" - ], - 0, - "89eeb69305a7a98faa0def68c48931a5" - ], - [ - "FStar.Functions.inverse_of_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.Functions.image_of", - "equation_FStar.Functions.in_image", - "equation_FStar.Functions.is_bij", "equation_FStar.Functions.is_inj", - "equation_FStar.Functions.is_inverse_of", - "equation_FStar.Functions.is_surj", "equation_Prims.prop", - "function_token_typing_FStar.Functions.inverse_of_bij", - "function_token_typing_FStar.Ghost.Pull.pull", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_5b7b46d62ca9e201fc53e3e0af7294c6", - "interpretation_Tm_abs_5d34465c2a46e8c27ba7e2b901403364", - "lemma_FStar.Ghost.Pull.pull_equiv", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5dbe506d35e72c77fb274f1cea98c325", - "refinement_interpretation_Tm_refine_60e2f6f909d26b538abe1305da7d78c1", - "refinement_interpretation_Tm_refine_72e122a70b05b975cd4320f8b0c97aa7", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "typing_FStar.Functions.in_image", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10" - ], - 0, - "45734ff3bc30ed5b6984a867bdc1aa80" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Functions.fsti.hints b/ulib/.hints/FStar.Functions.fsti.hints deleted file mode 100644 index 3cf640336fd..00000000000 --- a/ulib/.hints/FStar.Functions.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "p}\u0007¡ÐšÓH'¨yÇ1g¨Ÿ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.GSet.fst.hints b/ulib/.hints/FStar.GSet.fst.hints deleted file mode 100644 index 7c42abadb57..00000000000 --- a/ulib/.hints/FStar.GSet.fst.hints +++ /dev/null @@ -1,257 +0,0 @@ -[ - "\u0010,¾›\u0018Ê`_PGׅɆÖ\u0000", - [ - [ - "FStar.GSet.mem_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.empty", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a" - ], - 0, - "1741ad6813eb1db1c168b51abd29ae30" - ], - [ - "FStar.GSet.mem_singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.mem", "equation_FStar.GSet.singleton", - "equation_Prims.eq2", "equation_Prims.logical", - "interpretation_Tm_abs_1d1ba99289e52b622a08a12e8c5789e4", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Tm_abs_1d1ba99289e52b622a08a12e8c5789e4", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "2269dc31ded1cec3ec0f85e0995ed597" - ], - [ - "FStar.GSet.mem_union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.mem", "equation_FStar.GSet.union", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6" - ], - 0, - "f2450e6c79f8145df06734e681e16769" - ], - [ - "FStar.GSet.mem_intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.intersect", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_a975c34356970f08473def30a6b8cce8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_a975c34356970f08473def30a6b8cce8" - ], - 0, - "5cefc60fd3b51bfbbaf4b3006911cfef" - ], - [ - "FStar.GSet.mem_complement", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.complement", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_dfb97e171517b82591b663e846196b33", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_dfb97e171517b82591b663e846196b33" - ], - 0, - "08996595c8bd881dbd612e00a611f92a" - ], - [ - "FStar.GSet.mem_subset", - 1, - 0, - 0, - [ "@query", "equation_FStar.GSet.subset" ], - 0, - "3b39e61fe8d8394950a4e9fa776ff80b" - ], - [ - "FStar.GSet.subset_mem", - 1, - 0, - 0, - [ "@query", "equation_FStar.GSet.subset" ], - 0, - "1b2dc538a2f89f3bc587dbd656a10d62" - ], - [ - "FStar.GSet.comprehend_mem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.comprehend", "equation_FStar.GSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "b4b215c6e9324e592302eadc497568e0" - ], - [ - "FStar.GSet.mem_of_set", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.mem", "equation_FStar.GSet.of_set", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7dd743b2279e91beed307d46578bdb4b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7dd743b2279e91beed307d46578bdb4b" - ], - 0, - "16ff5b47dbf70aa3bd80d4980bdeb74d" - ], - [ - "FStar.GSet.lemma_equal_intro", - 1, - 0, - 0, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.equal", "equation_FStar.GSet.mem" - ], - 0, - "4429607eb013dbd31de7d11e5462be18" - ], - [ - "FStar.GSet.lemma_equal_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.equal", "equation_FStar.GSet.set", - "lemma_FStar.FunctionalExtensionality.extensionality_g", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "5f392afb5b7e4b0eceb1ed29c8d1577d" - ], - [ - "FStar.GSet.lemma_equal_refl", - 1, - 0, - 0, - [ "@query", "lemma_FStar.GSet.lemma_equal_intro" ], - 0, - "25711b0830d0607020f05e6f9f64216b" - ], - [ - "FStar.GSet.disjoint_not_in_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.disjoint", "equation_FStar.GSet.mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem" - ], - 0, - "83f2432773a460a104a2c1cba0c429ca" - ], - [ - "FStar.GSet.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "efd36679c617dfd2342c1112fca38823" - ], - [ - "FStar.GSet.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.disjoint", "equation_FStar.GSet.empty", - "equation_FStar.GSet.mem", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.subset_mem", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem" - ], - 0, - "9df5dbe9752bc1ef9283a602247a7768" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.GSet.fsti.hints b/ulib/.hints/FStar.GSet.fsti.hints deleted file mode 100644 index ab4a796aa26..00000000000 --- a/ulib/.hints/FStar.GSet.fsti.hints +++ /dev/null @@ -1,52 +0,0 @@ -[ - "Š(&¢)|[k\bT\u000ea\u0010\"\u0000Ü", - [ - [ - "FStar.GSet.disjoint_not_in_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.disjoint", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "primitive_Prims.op_AmpAmp", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem" - ], - 0, - "4b37810041b22309e7290ba24497e8ba" - ], - [ - "FStar.GSet.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "efd36679c617dfd2342c1112fca38823" - ], - [ - "FStar.GSet.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.disjoint", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.subset_mem", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem" - ], - 0, - "be39f996b62a6e2c0acf7cb17e323afe" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Ghost.Pull.fsti.hints b/ulib/.hints/FStar.Ghost.Pull.fsti.hints deleted file mode 100644 index 46e84f430d5..00000000000 --- a/ulib/.hints/FStar.Ghost.Pull.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ˆ\\=O?uÞ\u000eÚ!ªk}\u000b", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Ghost.fst.hints b/ulib/.hints/FStar.Ghost.fst.hints deleted file mode 100644 index 529edf1ebc5..00000000000 --- a/ulib/.hints/FStar.Ghost.fst.hints +++ /dev/null @@ -1,135 +0,0 @@ -[ - "ôçÒÒ)|¦r5ɨ~\u0001íé", - [ - [ - "FStar.Ghost.hide_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.reveal", - "fuel_guarded_inversion_FStar.Ghost.erased" - ], - 0, - "bcee8e052ece56c7e7c959f527d1ce4e" - ], - [ - "FStar.Ghost.elift1", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Ghost.bind", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.return", "equation_FStar.Ghost.reveal", - "interpretation_Tm_abs_2803a9c1af1d9dc145d83da24dc06dff", - "projection_inverse_FStar.Ghost.E__0" - ], - 0, - "44bdac4b766fc406695cf8c69b0f29cf" - ], - [ - "FStar.Ghost.elift2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.bind", - "equation_FStar.Ghost.hide", "equation_FStar.Ghost.return", - "equation_FStar.Ghost.reveal", - "fuel_guarded_inversion_FStar.Ghost.erased", - "interpretation_Tm_abs_1ff49a62e4ae845aa978cdcf16058b23", - "interpretation_Tm_abs_643b500d9ac7fa57b10f357e1de909c5", - "projection_inverse_FStar.Ghost.E__0" - ], - 0, - "a1e6a783e9b6435baa321409906ff69a" - ], - [ - "FStar.Ghost.elift3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.bind", - "equation_FStar.Ghost.hide", "equation_FStar.Ghost.return", - "equation_FStar.Ghost.reveal", - "fuel_guarded_inversion_FStar.Ghost.erased", - "interpretation_Tm_abs_2874654179ed0421cb9fea732ed8a98d", - "interpretation_Tm_abs_34d5bc670140e73226e463ea38520b5d", - "interpretation_Tm_abs_a603c06988898ace82f560734e827be9", - "projection_inverse_FStar.Ghost.E__0" - ], - 0, - "e27e8738fe4cb7c1fd8f619f6f8a6be8" - ], - [ - "FStar.Ghost.push_refinement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "fe1c1c49ccb0d4b4d6097f286f44b2e7" - ], - [ - "FStar.Ghost.elift1_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.return", "equation_FStar.Ghost.reveal", - "projection_inverse_FStar.Ghost.E__0", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "a889033ac531bcb9858fbe72beb4fd49" - ], - [ - "FStar.Ghost.elift2_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.return", "equation_FStar.Ghost.reveal", - "projection_inverse_FStar.Ghost.E__0", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" - ], - 0, - "7eb0b95e7554779b35cd751177a55cd8" - ], - [ - "FStar.Ghost.elift1_pq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.return", "equation_FStar.Ghost.reveal", - "projection_inverse_FStar.Ghost.E__0", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "0ae599ecb24fe34248419886ede69cb3" - ], - [ - "FStar.Ghost.elift2_pq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Ghost.hide", - "equation_FStar.Ghost.return", "equation_FStar.Ghost.reveal", - "projection_inverse_FStar.Ghost.E__0", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" - ], - 0, - "44250d03e0bd0295a5a12cf257e65e05" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Ghost.fsti.hints b/ulib/.hints/FStar.Ghost.fsti.hints deleted file mode 100644 index 15f981e7aaf..00000000000 --- a/ulib/.hints/FStar.Ghost.fsti.hints +++ /dev/null @@ -1,125 +0,0 @@ -[ - "˜·/b€óâ¾\u000fzþìÙ‹cÂ", - [ - [ - "FStar.Ghost.elift1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_2803a9c1af1d9dc145d83da24dc06dff", - "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" - ], - 0, - "0d1bdefef3107f8310efbe8f7f96654e" - ], - [ - "FStar.Ghost.elift2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_44164f5e759c8937bc211b53dca29861", - "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_1ff49a62e4ae845aa978cdcf16058b23", - "interpretation_Tm_abs_643b500d9ac7fa57b10f357e1de909c5", - "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" - ], - 0, - "a1e6a783e9b6435baa321409906ff69a" - ], - [ - "FStar.Ghost.elift3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_c3cf725ad58bf27e304b88d311d2ef4d", - "equation_FStar.Ghost.bind", "equation_FStar.Ghost.return", - "interpretation_Tm_abs_2874654179ed0421cb9fea732ed8a98d", - "interpretation_Tm_abs_34d5bc670140e73226e463ea38520b5d", - "interpretation_Tm_abs_a603c06988898ace82f560734e827be9", - "lemma_FStar.Ghost.reveal_hide", "typing_FStar.Ghost.reveal" - ], - 0, - "e27e8738fe4cb7c1fd8f619f6f8a6be8" - ], - [ - "FStar.Ghost.push_refinement", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "b8ac5b51eedf60a72aa49768cceb3510" - ], - [ - "FStar.Ghost.elift1_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "a889033ac531bcb9858fbe72beb4fd49" - ], - [ - "FStar.Ghost.elift2_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_4f9eac2d0622ae1c34d05baa5f6854c6", - "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667" - ], - 0, - "7eb0b95e7554779b35cd751177a55cd8" - ], - [ - "FStar.Ghost.elift1_pq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_3f0c334c27896d01c2e72f45e6fcb67c", - "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8" - ], - 0, - "0ae599ecb24fe34248419886ede69cb3" - ], - [ - "FStar.Ghost.elift2_pq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_00838c3d276d7476d6679b97a2aa247c", - "equation_FStar.Ghost.return", "lemma_FStar.Ghost.reveal_hide", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_50e552dc638ed7dac9f2492d99576667", - "refinement_interpretation_Tm_refine_f9e3dab5c1ea39d2741639e0fe40e216" - ], - 0, - "44250d03e0bd0295a5a12cf257e65e05" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.GhostSet.fst.hints b/ulib/.hints/FStar.GhostSet.fst.hints deleted file mode 100644 index 75c6b31cc57..00000000000 --- a/ulib/.hints/FStar.GhostSet.fst.hints +++ /dev/null @@ -1,257 +0,0 @@ -[ - "\u001cs\u0017\u007f†\u0018\u0018¿Ù±ân†×YJ", - [ - [ - "FStar.GhostSet.mem_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.empty", "equation_FStar.GhostSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "projection_inverse_BoxBool_proj_0", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_d4109bf5324e94564a0b1d0e0eeb2b4a" - ], - 0, - "c4186390aa4ed104397523316815106c" - ], - [ - "FStar.GhostSet.mem_singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_a95a678d9ec49fd2f873e6c3eab8614f", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.decide_eq", "equation_FStar.GhostSet.mem", - "equation_FStar.GhostSet.singleton", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_6ebdcf6a70464c889d86a4cd573b62cf", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_6ebdcf6a70464c889d86a4cd573b62cf" - ], - 0, - "2ef6adc826b4211f10a6cf64140d6956" - ], - [ - "FStar.GhostSet.mem_union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.mem", "equation_FStar.GhostSet.union", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_c2b249e2108dd4cc01a3f8407baa6ee6" - ], - 0, - "88324b5d3068b86ae701d8c151ee27f7" - ], - [ - "FStar.GhostSet.mem_intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.intersect", "equation_FStar.GhostSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_a975c34356970f08473def30a6b8cce8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_a975c34356970f08473def30a6b8cce8" - ], - 0, - "31585ee63a5eaccad6434824d275f12b" - ], - [ - "FStar.GhostSet.mem_complement", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.complement", "equation_FStar.GhostSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_dfb97e171517b82591b663e846196b33", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_dfb97e171517b82591b663e846196b33" - ], - 0, - "829524a2e388adcf46452bfa9acab9bb" - ], - [ - "FStar.GhostSet.mem_subset", - 1, - 0, - 0, - [ "@query", "equation_FStar.GhostSet.subset" ], - 0, - "8488e96d83bdfab2bb48851a80cdc067" - ], - [ - "FStar.GhostSet.subset_mem", - 1, - 0, - 0, - [ "@query", "equation_FStar.GhostSet.subset" ], - 0, - "2dad71b48b3f32e439f18000f4533869" - ], - [ - "FStar.GhostSet.comprehend_mem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.comprehend", "equation_FStar.GhostSet.mem", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "1ad8cd642ea212d53a6bae23758ece74" - ], - [ - "FStar.GhostSet.mem_of_set", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GhostSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.mem", "equation_FStar.GhostSet.of_set", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7dd743b2279e91beed307d46578bdb4b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7dd743b2279e91beed307d46578bdb4b" - ], - 0, - "2ae810fd24412c8c5215ddee0e528917" - ], - [ - "FStar.GhostSet.lemma_equal_intro", - 1, - 0, - 0, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GhostSet.equal", "equation_FStar.GhostSet.mem" - ], - 0, - "db0ac78307dd563f43a1e220e7264997" - ], - [ - "FStar.GhostSet.lemma_equal_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GhostSet.equal", "equation_FStar.GhostSet.set", - "lemma_FStar.FunctionalExtensionality.extensionality_g", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "56947d7abc76326e1881b0c7c09e9d2c" - ], - [ - "FStar.GhostSet.lemma_equal_refl", - 1, - 0, - 0, - [ "@query", "lemma_FStar.GhostSet.lemma_equal_intro" ], - 0, - "6f4392ae044f8beadb64121c3d3d66a5" - ], - [ - "FStar.GhostSet.disjoint_not_in_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GhostSet.disjoint", "equation_FStar.GhostSet.mem", - "lemma_FStar.GhostSet.lemma_equal_elim", - "lemma_FStar.GhostSet.mem_empty", - "lemma_FStar.GhostSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "typing_FStar.GhostSet.empty", "typing_FStar.GhostSet.intersect", - "typing_FStar.GhostSet.mem" - ], - 0, - "af29f08dfc6239c3377e238f17a9006e" - ], - [ - "FStar.GhostSet.as_set'", - 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, - "f71dfdffb98d8f182a02bb563c485281" - ], - [ - "FStar.GhostSet.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GhostSet.disjoint", "equation_FStar.GhostSet.empty", - "equation_FStar.GhostSet.mem", - "lemma_FStar.GhostSet.lemma_equal_elim", - "lemma_FStar.GhostSet.lemma_equal_intro", - "lemma_FStar.GhostSet.mem_empty", - "lemma_FStar.GhostSet.mem_intersect", - "lemma_FStar.GhostSet.subset_mem", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", "typing_FStar.GhostSet.empty", - "typing_FStar.GhostSet.intersect", "typing_FStar.GhostSet.mem" - ], - 0, - "ef554cca9620124d89be741232d58c98" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.GhostSet.fsti.hints b/ulib/.hints/FStar.GhostSet.fsti.hints deleted file mode 100644 index 33b2a02ec83..00000000000 --- a/ulib/.hints/FStar.GhostSet.fsti.hints +++ /dev/null @@ -1,56 +0,0 @@ -[ - "ª¼:n…˜˜\u0001 ['Ž¨\u000eŒ", - [ - [ - "FStar.GhostSet.disjoint_not_in_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GhostSet.disjoint", - "lemma_FStar.GhostSet.lemma_equal_elim", - "lemma_FStar.GhostSet.mem_empty", - "lemma_FStar.GhostSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "typing_FStar.GhostSet.empty", "typing_FStar.GhostSet.intersect", - "typing_FStar.GhostSet.mem" - ], - 0, - "802bd1aa30edaa0fe1a9d4a296e46abb" - ], - [ - "FStar.GhostSet.as_set'", - 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, - "fa594dd62d30d9f758710323926a2d8a" - ], - [ - "FStar.GhostSet.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GhostSet.disjoint", - "lemma_FStar.GhostSet.lemma_equal_elim", - "lemma_FStar.GhostSet.lemma_equal_intro", - "lemma_FStar.GhostSet.mem_empty", - "lemma_FStar.GhostSet.mem_intersect", - "lemma_FStar.GhostSet.subset_mem", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", "typing_FStar.GhostSet.empty", - "typing_FStar.GhostSet.intersect", "typing_FStar.GhostSet.mem" - ], - 0, - "032b3678659075837956059812810fea" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Heap.fst.hints b/ulib/.hints/FStar.Heap.fst.hints deleted file mode 100644 index 4d0651baf0b..00000000000 --- a/ulib/.hints/FStar.Heap.fst.hints +++ /dev/null @@ -1,21 +0,0 @@ -[ - "ÁûóxJ¾dçÿßâ<Õ˜Zõ", - [ - [ - "FStar.Heap.trivial_preorder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Heap.trivial_rel", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "true_interp" - ], - 0, - "62362f006c130a17e4fc10c1c137a34f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.HyperStack.All.fst.hints b/ulib/.hints/FStar.HyperStack.All.fst.hints deleted file mode 100644 index 301987a79c4..00000000000 --- a/ulib/.hints/FStar.HyperStack.All.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\f™»@Î\u0005Þ \u0014oŒ\u0014•Ù-\u0011", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.HyperStack.IO.fst.hints b/ulib/.hints/FStar.HyperStack.IO.fst.hints deleted file mode 100644 index c8cdbba60f0..00000000000 --- a/ulib/.hints/FStar.HyperStack.IO.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "{ÈG8Ïq7`sÒ/ˆíƨ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.HyperStack.ST.fst.hints b/ulib/.hints/FStar.HyperStack.ST.fst.hints deleted file mode 100644 index 1568a0d6529..00000000000 --- a/ulib/.hints/FStar.HyperStack.ST.fst.hints +++ /dev/null @@ -1,2168 +0,0 @@ -[ - "\u0014ù,Ó…€\rp¦ø–Ðyp!-", - [ - [ - "FStar.HyperStack.ST.mem_rel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel" - ], - 0, - "c5c56b0ada7ddfd1cda089e58cc71258" - ], - [ - "FStar.HyperStack.ST.lemma_functoriality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.witnessed", - "refinement_interpretation_Tm_refine_0e0518fbef3d625d213dde29a68bbbd6", - "refinement_interpretation_Tm_refine_157eeaa79e39f3ffc687c62c153a0947" - ], - 0, - "be23ef28d8414c7b88e243c4df2524f7" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" - ], - 0, - "7c5720ca742c2db07fd25443f8ab539f" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7" - ], - 0, - "5204befbb17d86de03df8a17f81b1211" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.same_refs_in_stack_regions", - "l_quant_interp_48474cb32486236119eb4f5f2101719c" - ], - 0, - "af7918430df35856338449b94a77f890" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.same_refs_in_stack_regions", - "l_quant_interp_48474cb32486236119eb4f5f2101719c" - ], - 0, - "ef700bc3b1ea0f9fdab8307debe54ad1" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.HyperStack.ST.same_refs_in_non_tip_regions", - "l_quant_interp_40236013a1921afd0f0262483a24002a" - ], - 0, - "b9b2078fcd47afddfaa4ac2aa1330774" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.HyperStack.ST.same_refs_in_non_tip_regions", - "l_quant_interp_40236013a1921afd0f0262483a24002a" - ], - 0, - "fd6a74802b13f28868bb1d6d3fc196de" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_intro", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.HyperStack.ST.same_refs_in_non_tip_stack_regions", - "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" - ], - 0, - "bd26efd20bf9eae141479c6351b13a69" - ], - [ - "FStar.HyperStack.ST.lemma_same_refs_in_non_tip_stack_regions_elim", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.HyperStack.ST.same_refs_in_non_tip_stack_regions", - "l_quant_interp_2ccb5fee7533057d1caf2499ef940aae" - ], - 0, - "3c551f040d8432e353edb5a2b674b939" - ], - [ - "FStar.HyperStack.ST.lemma_equal_domains_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "f69e2f25550920614754946371acdcde" - ], - [ - "FStar.HyperStack.ST.Heap", - 1, - 2, - 1, - [ "@query" ], - 0, - "39b295cac10286db527eb977d5d4d14c" - ], - [ - "FStar.HyperStack.ST.StackInline", - 1, - 2, - 1, - [ "@query" ], - 0, - "f79595077c4f711111793439ab79a4d0" - ], - [ - "FStar.HyperStack.ST.Inline", - 1, - 2, - 1, - [ "@query" ], - 0, - "76affa85d10bf90069bc1e8788e95f02" - ], - [ - "FStar.HyperStack.ST.push_frame", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.hs_push_frame", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a699e8f550698e7794f1eae9aa746fed", - "refinement_interpretation_Tm_refine_b7d1addc48193ac698e1fc2904742dbd", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.extend", - "typing_FStar.Monotonic.HyperHeap.reveal", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.hs_push_frame", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", "typing_Prims.int", - "unit_typing" - ], - 0, - "81724e9c9ce5c763c9cdc0a913b417a5" - ], - [ - "FStar.HyperStack.ST.pop_frame", - 1, - 2, - 1, - [ "@query" ], - 0, - "33c56b552876d890b7bbd6112b20cabb" - ], - [ - "FStar.HyperStack.ST.pop_frame", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_156c49afb7e1e070fbb2e47dc0e3d4b2", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.parent", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.pop", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "unit_typing" - ], - 0, - "8e9a3b25171a79dc39f4e35f2858dd76" - ], - [ - "FStar.HyperStack.ST.salloc_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "dc5e5d1e50385c73bf212fff8121b170" - ], - [ - "FStar.HyperStack.ST.salloc_common", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.alloc", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "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.mk_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_alloc", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9bf73b2cb1c2a0c422ac48d16444b11a", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_ad20a5ca24eede13005e3284b6c2d373", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.alloc", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.next_addr", - "typing_FStar.Monotonic.Heap.upd", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.mreference", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "14c158c81b83c3763d924adc00f5a0fe" - ], - [ - "FStar.HyperStack.ST.salloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "53a6863529d3afb618a9007d18cbf9ef" - ], - [ - "FStar.HyperStack.ST.salloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mstackref", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f" - ], - 0, - "fe3ea88d2c978dea1bf10145541340d7" - ], - [ - "FStar.HyperStack.ST.salloc_mm", - 1, - 2, - 1, - [ "@query" ], - 0, - "68cfe59f18ea932966f02e76ec12c272" - ], - [ - "FStar.HyperStack.ST.salloc_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.mmmstackref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.HyperStack.mmmstackref", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_077942947f03017592acbd4457f123a1", - "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4" - ], - 0, - "1bd078b58ce48e1e7b7648bfa2a15a31" - ], - [ - "FStar.HyperStack.ST.sfree", - 1, - 2, - 1, - [ "@query" ], - 0, - "3976a7366a0f939146a05f12cec6a777" - ], - [ - "FStar.HyperStack.ST.sfree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mmmstackref", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.free", - "equation_FStar.Monotonic.HyperStack.is_mm", - "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.mmmstackref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_contains", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_sel", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_077942947f03017592acbd4457f123a1", - "refinement_interpretation_Tm_refine_1fe4ea9449b44f071a0ba69c564508a4", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_c22361075782d7ff2a692f34099879a2", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.heap", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", "unit_typing" - ], - 0, - "e5f9b3162b1423ac8f702e2cd21a5585" - ], - [ - "FStar.HyperStack.ST.new_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" - ], - 0, - "81843e6f3b7256615de6faa0c43c3df4" - ], - [ - "FStar.HyperStack.ST.new_region", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Prims.Cons", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_895293590f5cae5325f393b7019bf751", - "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extend_monochrome", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.rid_last_component", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", "typing_Prims.int", - "unit_inversion" - ], - 0, - "dee2ee6f6e1206a7455ccedae8ec3929" - ], - [ - "FStar.HyperStack.ST.new_colored_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "function_token_typing_Prims.__cache_version_number__", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d2d878003ed8cc45aa85e8f7ceacdc3", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "2169e779bd379b6a94fae2c1f4383fa0" - ], - [ - "FStar.HyperStack.ST.new_colored_region", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_Prims.Cons", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d2d878003ed8cc45aa85e8f7ceacdc3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a699e8f550698e7794f1eae9aa746fed", - "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.HyperStack.ST.mem_rel", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extend", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.rid_last_component", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", "typing_Prims.int" - ], - 0, - "14c38a5989967b6357c009aff51f8de6" - ], - [ - "FStar.HyperStack.ST.ralloc_post", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], - 0, - "fad11121d712a81bab52cecb10dbd2f2" - ], - [ - "FStar.HyperStack.ST.ralloc_common", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.alloc", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_alloc", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_6d70f3cfce1bc3bbf4818c3b445e0424", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7efcbab33d17832ce3882944cade8256", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.alloc", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.next_addr", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.mreference", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "7f30a944a7848381cd3ae572989ed723" - ], - [ - "FStar.HyperStack.ST.ralloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "32a60022d88854d5ae3ca8ee1b57de8c" - ], - [ - "FStar.HyperStack.ST.ralloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_or-interp", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_7efcbab33d17832ce3882944cade8256", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "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.is_heap_color" - ], - 0, - "d08b96fe9994b9d660a59308ff90ac4c" - ], - [ - "FStar.HyperStack.ST.ralloc_mm", - 1, - 2, - 1, - [ "@query" ], - 0, - "e83761bade1835a0d2af8aff168a1ab9" - ], - [ - "FStar.HyperStack.ST.ralloc_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mmmref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mmmref", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_or-interp", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", - "refinement_interpretation_Tm_refine_433a6ba0587d1ca6a1ced9d7f162c4b1", - "refinement_interpretation_Tm_refine_7efcbab33d17832ce3882944cade8256", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "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.is_heap_color" - ], - 0, - "a0553f8dfb6d53890cb0a5050101d12c" - ], - [ - "FStar.HyperStack.ST.rfree", - 1, - 2, - 1, - [ "@query" ], - 0, - "43615a7fc02b637cc005692575f74747" - ], - [ - "FStar.HyperStack.ST.rfree", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.free", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "int_inversion", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_contains", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_sel", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_8505c8faafa386d88261f8288e5084dc", - "refinement_interpretation_Tm_refine_880cc420fab5fe6ebb8732d1c722708f", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.heap", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", "unit_typing" - ], - 0, - "9c67aeb900fc42ae859bc67754e10db9" - ], - [ - "FStar.HyperStack.ST.assign_post", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.contains" ], - 0, - "e5915ee34dc023f2c3f25bb9e6c81685" - ], - [ - "FStar.HyperStack.ST.op_Colon_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.HyperStack.upd_tot", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_11314150f30137916a69834b62ecf4e8", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", "unit_typing" - ], - 0, - "b093fc9b24ebea749fc63fa8a4ca688e" - ], - [ - "FStar.HyperStack.ST.op_Bang", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.sel_tot", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_880cc420fab5fe6ebb8732d1c722708f", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "9ea1ed975c3e15c04ba514824b0788ec" - ], - [ - "FStar.HyperStack.ST.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "999fc6fb219d52e61171f50dba363023" - ], - [ - "FStar.HyperStack.ST.recall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4ea3e372f19a6d2305769b823a6bbf1d", - "refinement_interpretation_Tm_refine_a76e8a74e9cb83405ca98a5bc4ec6dbd", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "unit_typing" - ], - 0, - "a8853759368aa46b90412da210f23a5c" - ], - [ - "FStar.HyperStack.ST.recall_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", "unit_typing" - ], - 0, - "7cff2341b13d107036c3ace4bc023e47" - ], - [ - "FStar.HyperStack.ST.witness_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_cf0ebca7706825192872bece11fcaf9c", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", "unit_typing" - ], - 0, - "39fefed088710855c231b070ab39233a" - ], - [ - "FStar.HyperStack.ST.witness_hsref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_696c0020fbc7cec921d316e096a20646", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.HyperStack.ST.ref_contains_pred", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.next_addr", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.live_region", "unit_typing" - ], - 0, - "6f1ee5b0c9fc3f9ca9781b8e149a7d32" - ], - [ - "FStar.HyperStack.ST.stable_on_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "9ae9abd33b56cf77ab8989177c8e3cac" - ], - [ - "FStar.HyperStack.ST.mr_witness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.same_refs_in_all_regions", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_42e8f329584841647b03679eebd0f3df", - "l_and-interp", "l_quant_interp_d738d53f0ee3ce044af0d1ff3a8d05d7", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_48c224df2e327b18cb0c1d7effdcd204", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm" - ], - 0, - "01e91687d599cbdb0c992c8e2d9bde6c" - ], - [ - "FStar.HyperStack.ST.weaken_witness", - 1, - 2, - 1, - [ "@query" ], - 0, - "ba1f1d8d0957ac2a6d04399316a9d8bb" - ], - [ - "FStar.HyperStack.ST.testify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "refinement_interpretation_Tm_refine_e7a7d842627e5ea5b361e78f8606378f", - "unit_typing" - ], - 0, - "3be3bf5242903ccd44d6b21678a7b447" - ], - [ - "FStar.HyperStack.ST.testify_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.witnessed", - "equation_FStar.Monotonic.Heap.equal_dom", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "refinement_interpretation_Tm_refine_74318e6b88f00e48cb1ce89f42cf34d7", - "unit_typing" - ], - 0, - "b84fb1fb5ec11816a7259e5580d1b776" - ], - [ - "FStar.HyperStack.ST.testify_forall_region_contains_pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.HyperStack.ST_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_or-interp", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4c03a284b9c191134deec7afc6e4e3a5", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color" - ], - 0, - "2949854cff96779a5716e6d37f99fc06" - ], - [ - "FStar.HyperStack.ST.witness_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mem_rel_predicate", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.token_p", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_1c7f510cd2bee70d62233672f8a65472", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_not-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_48c224df2e327b18cb0c1d7effdcd204", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.HyperStack.ST.mem_rel_predicate", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", "unit_typing" - ], - 0, - "51b22451454a58c7a673d04bf1f1d8b9" - ], - [ - "FStar.HyperStack.ST.recall_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mem_rel_predicate", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ref_contains_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.token_p", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.contains_ref_in_its_region", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.l_False", - "equation_Prims.l_not", "false_interp", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.mem_rel_predicate", - "function_token_typing_FStar.HyperStack.ST.ref_contains_pred", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "int_inversion", - "interpretation_Tm_abs_00c0e45a80f7b380eeac6106d4ebea55", - "interpretation_Tm_abs_1c7f510cd2bee70d62233672f8a65472", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "l_and-interp", "l_imp-interp", "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_c825096d2d0184547ef458bf20a7aa6d", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.is_mm", "unit_typing" - ], - 0, - "3980d57ca92f59489ea3b956ccc03094" - ], - [ - "FStar.HyperStack.ST.token_functoriality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.mem_rel_predicate", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.token_p", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.l_and", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.mem_rel_predicate", - "interpretation_Tm_abs_1c7f510cd2bee70d62233672f8a65472", - "l_and-interp", "l_or-interp", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_157eeaa79e39f3ffc687c62c153a0947", - "refinement_interpretation_Tm_refine_d01ffd21f1610d2332cb1270a83d4142", - "token_correspondence_FStar.HyperStack.ST.mem_rel_predicate" - ], - 0, - "3a9300b004dbc1043af11f776dec1a5b" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_constant", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "079d43165abcddffd8d8d793abbb6460" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_nested", - 1, - 2, - 1, - [ "@query" ], - 0, - "9ab4ca7508b34b329d3edd7398f3417f" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_and", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "43c622949bb2341c516ebd350409f926" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_or", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "44d09fe0275328d8bf97a5b6c7b6b6e9" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_impl", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "54613e5346acc99f792b6ea788d6be2f" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_forall", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "e875785b0630adab7f97310ae824a28e" - ], - [ - "FStar.HyperStack.ST.lemma_witnessed_exists", - 1, - 2, - 1, - [ "@query", "equation_FStar.HyperStack.ST.witnessed" ], - 0, - "48391fb6036027353347d09cc3c41069" - ], - [ - "FStar.HyperStack.ST.new_drgn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" - ], - 0, - "776d7ee7587025ccfebfeca3e821c115" - ], - [ - "FStar.HyperStack.ST.new_drgn", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.drgn", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.region_contains_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.rid_of_drgn", - "equation_FStar.HyperStack.ST.stable", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.new_freeable_heap_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.HyperStack.ST.region_contains_pred", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "interpretation_Tm_abs_5a8e1ed7d4a25f8f8c8c2d82d0986bfd", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "l_or-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1edb6214e12e1252d3e7d5e5b21608ca", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_85be5bcd183ae84c32835fc8fb01e69e", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.HyperStack.ST.region_contains_pred", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extend_monochrome_freeable", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.reveal", - "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_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", "typing_Prims.int", - "unit_inversion" - ], - 0, - "d64104211ebcc42dd25728c495c29316" - ], - [ - "FStar.HyperStack.ST.free_drgn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" - ], - 0, - "47ec504730119682b91aa580bbeb08aa" - ], - [ - "FStar.HyperStack.ST.free_drgn", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.drgn", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.eternal_refs_pred", - "equation_FStar.HyperStack.ST.eternal_region_pred", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.mem_rel", - "equation_FStar.HyperStack.ST.mm_refs_pred", - "equation_FStar.HyperStack.ST.next_ref_addr_in_a_region_pred", - "equation_FStar.HyperStack.ST.rid_ctr_pred", - "equation_FStar.HyperStack.ST.rid_last_component_pred", - "equation_FStar.HyperStack.ST.rid_of_drgn", - "equation_FStar.HyperStack.ST.unused_ref_next_addr_pred", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.free_heap_region", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_3051271b5709c004ed1c1fae35472b4b", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a", - "typing_FStar.HyperStack.ST.mem_rel", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "unit_typing" - ], - 0, - "20d7f0c8ca92fadc041f50fb8cf0514f" - ], - [ - "FStar.HyperStack.ST.ralloc_drgn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.drgn", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.rid_of_drgn", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1bf866e9e94d1a6782004439975fb21f", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" - ], - 0, - "b87127375f1fecd9bf3b0ccd5e3e9a11" - ], - [ - "FStar.HyperStack.ST.ralloc_drgn_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.drgn", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.HyperStack.ST.rid_of_drgn", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1bf866e9e94d1a6782004439975fb21f", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" - ], - 0, - "4e81e314bb9ed12e42b403fb904f02e4" - ], - [ - "FStar.HyperStack.ST.break_vc", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "a7d96c4881ca8ba5444edd2a84fcbf13" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.HyperStack.ST.fsti.hints b/ulib/.hints/FStar.HyperStack.ST.fsti.hints deleted file mode 100644 index eaeff07f7ef..00000000000 --- a/ulib/.hints/FStar.HyperStack.ST.fsti.hints +++ /dev/null @@ -1,214 +0,0 @@ -[ - "t ‘X´\u0007¼Ç\u0012x l»\u000eêw", - [ - [ - "FStar.HyperStack.ST.Heap", - 1, - 2, - 1, - [ "@query" ], - 0, - "a764682c21981e61baa94081b86366a2" - ], - [ - "FStar.HyperStack.ST.StackInline", - 1, - 2, - 1, - [ "@query" ], - 0, - "53b31ff79aaf3199b785cc7c2e1b09cd" - ], - [ - "FStar.HyperStack.ST.Inline", - 1, - 2, - 1, - [ "@query" ], - 0, - "341158c30bb8b56a91cceefe724e7962" - ], - [ - "FStar.HyperStack.ST.pop_frame", - 1, - 2, - 1, - [ "@query" ], - 0, - "34a63d2fe3a919dcd0dce55181ac5732" - ], - [ - "FStar.HyperStack.ST.salloc_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "bbff236166de78bebcb032b84fac64e2" - ], - [ - "FStar.HyperStack.ST.salloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "aaec1b2dc53de4eb569b9ad1d7dc30bd" - ], - [ - "FStar.HyperStack.ST.salloc_mm", - 1, - 2, - 1, - [ "@query" ], - 0, - "68cfe59f18ea932966f02e76ec12c272" - ], - [ - "FStar.HyperStack.ST.sfree", - 1, - 2, - 1, - [ "@query" ], - 0, - "df8d3ebb75ef1a3d6fce570e84e4cea3" - ], - [ - "FStar.HyperStack.ST.new_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" - ], - 0, - "1853048655a26036f700e76dbfc92e40" - ], - [ - "FStar.HyperStack.ST.new_colored_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "function_token_typing_Prims.__cache_version_number__", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d2d878003ed8cc45aa85e8f7ceacdc3", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "2169e779bd379b6a94fae2c1f4383fa0" - ], - [ - "FStar.HyperStack.ST.ralloc_post", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.live_region" ], - 0, - "fad11121d712a81bab52cecb10dbd2f2" - ], - [ - "FStar.HyperStack.ST.ralloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "e6ed4b1ddb26416e0f8aac54638cb2bb" - ], - [ - "FStar.HyperStack.ST.ralloc_mm", - 1, - 2, - 1, - [ "@query" ], - 0, - "e83761bade1835a0d2af8aff168a1ab9" - ], - [ - "FStar.HyperStack.ST.rfree", - 1, - 2, - 1, - [ "@query" ], - 0, - "43615a7fc02b637cc005692575f74747" - ], - [ - "FStar.HyperStack.ST.assign_post", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.contains" ], - 0, - "e5915ee34dc023f2c3f25bb9e6c81685" - ], - [ - "FStar.HyperStack.ST.stable_on_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "abf8197c8129f1ea32dbc94b7547759f" - ], - [ - "FStar.HyperStack.ST.new_drgn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95" - ], - 0, - "f6245fe25b9762f5297ec39b8cb7ae16" - ], - [ - "FStar.HyperStack.ST.free_drgn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a" - ], - 0, - "47ec504730119682b91aa580bbeb08aa" - ], - [ - "FStar.HyperStack.ST.break_vc", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "aa7aabe9cb249f40d25bca48849ea74f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.HyperStack.fst.hints b/ulib/.hints/FStar.HyperStack.fst.hints deleted file mode 100644 index 276a08284ef..00000000000 --- a/ulib/.hints/FStar.HyperStack.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‘ ^o`b×\u0007^8‹! :_G", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.IFC.fst.hints b/ulib/.hints/FStar.IFC.fst.hints deleted file mode 100644 index aa1ad8f578e..00000000000 --- a/ulib/.hints/FStar.IFC.fst.hints +++ /dev/null @@ -1,41 +0,0 @@ -[ - "\r8\f•ß©[Ù\\‹ª¬@ÆÈV", - [ - [ - "FStar.IFC.reveal_hide", - 1, - 2, - 1, - [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], - 0, - "36b7951c9c9a16848f5eebb3f0579ba6" - ], - [ - "FStar.IFC.hide_reveal", - 1, - 2, - 1, - [ "@query", "equation_FStar.IFC.hide", "equation_FStar.IFC.reveal" ], - 0, - "a78f7b0353fbae51eb201ef80d33bc26" - ], - [ - "FStar.IFC.map", - 1, - 2, - 1, - [ "@query", "equation_FStar.IFC.reveal" ], - 0, - "efaf7f3fcf6e117598b84b347e59ee00" - ], - [ - "FStar.IFC.join", - 1, - 2, - 1, - [ "@query", "equation_FStar.IFC.reveal" ], - 0, - "6b6f10c317534ae3c078c04fe7c234d3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.IFC.fsti.hints b/ulib/.hints/FStar.IFC.fsti.hints deleted file mode 100644 index a1abb08da95..00000000000 --- a/ulib/.hints/FStar.IFC.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "£ÐÝØ4Á÷Tùnøû3¾7à", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.ImmutableArray.Base.fsti.hints b/ulib/.hints/FStar.ImmutableArray.Base.fsti.hints deleted file mode 100644 index 289a644fe19..00000000000 --- a/ulib/.hints/FStar.ImmutableArray.Base.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "/@'\u0007Xß»Aö_<\\€M‘", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.ImmutableArray.fsti.hints b/ulib/.hints/FStar.ImmutableArray.fsti.hints deleted file mode 100644 index 2b9562b1c14..00000000000 --- a/ulib/.hints/FStar.ImmutableArray.fsti.hints +++ /dev/null @@ -1,55 +0,0 @@ -[ - "¦þ[Ü`“ùŒ\u0019ojâ×ê\\M", - [ - [ - "FStar.ImmutableArray.index_spec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "lemma_FStar.ImmutableArray.length_spec" - ], - 0, - "15c13b04da3abb92560ed3dee6886578" - ], - [ - "FStar.ImmutableArray.of_list_precedes", - 1, - 2, - 1, - [ "@query", "lemma_FStar.ImmutableArray.to_list_of_list" ], - 0, - "fd0f65be8ea1857bd545f32071b44db5" - ], - [ - "FStar.ImmutableArray.elem_precedes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.ImmutableArray.Base_pretyping_13b729c1dbeb58e29660bee13e833fb3", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.ImmutableArray.index_spec", - "lemma_FStar.ImmutableArray.length_spec", - "lemma_FStar.List.Tot.Properties.lemma_index_memP", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bf2fa1226f2c9a0f6671df3e80ddcb8e", - "refinement_interpretation_Tm_refine_edb064fdc83c1f3b2d617f591ddbc683", - "typing_FStar.ImmutableArray.to_list" - ], - 0, - "4176d7ea6a46033da6143da6a375632e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.IndefiniteDescription.fst.hints b/ulib/.hints/FStar.IndefiniteDescription.fst.hints deleted file mode 100644 index 07ab7b23bf2..00000000000 --- a/ulib/.hints/FStar.IndefiniteDescription.fst.hints +++ /dev/null @@ -1,69 +0,0 @@ -[ - "Dø\u0006ýCìœ;…®–\u007f\u001b«z‰", - [ - [ - "FStar.IndefiniteDescription.indefinite_description_ghost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "typing_FStar.IndefiniteDescription.indefinite_description_tot" - ], - 0, - "47a007d6df342c9a405badf2fa514fe1" - ], - [ - "FStar.IndefiniteDescription.strong_excluded_middle", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b9496c4951f102bd0245a96db1ffb275" - ], - [ - "FStar.IndefiniteDescription.stronger_markovs_principle", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.IndefiniteDescription_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "bool_inversion", "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f3db4b290bcde56fe0046b79b9c3a13f" - ], - 0, - "6b1325e84538271f424a08f59b60157a" - ], - [ - "FStar.IndefiniteDescription.stronger_markovs_principle_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e76bd1e3fcd1369d7232ec3854a8c984" - ], - 0, - "93fdc057517da1ccc10556fd0867afc8" - ], - [ - "FStar.IndefiniteDescription.elim_squash", - 1, - 2, - 1, - [ "@query" ], - 0, - "ec9a9e011b6689e9560ee4952e10e65c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.IndefiniteDescription.fsti.hints b/ulib/.hints/FStar.IndefiniteDescription.fsti.hints deleted file mode 100644 index 6cd78537e3b..00000000000 --- a/ulib/.hints/FStar.IndefiniteDescription.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "×½\u007fî‚b)O\u0010™ƒ^Ò¤‡3", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int.Cast.Full.fst.hints b/ulib/.hints/FStar.Int.Cast.Full.fst.hints deleted file mode 100644 index 64fde060f20..00000000000 --- a/ulib/.hints/FStar.Int.Cast.Full.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "‘±\u007fòÒ1¥±\u0002\u0012ÏX·q¦à", - [ - [ - "FStar.Int.Cast.Full.uint64_to_uint128", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "78698f32158eb40aca8c48d45b184304" - ], - [ - "FStar.Int.Cast.Full.uint128_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "ab0bda1bcc1ffbc6abb3f18f5c683d05" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int.Cast.fst.hints b/ulib/.hints/FStar.Int.Cast.fst.hints deleted file mode 100644 index 9945cec3f69..00000000000 --- a/ulib/.hints/FStar.Int.Cast.fst.hints +++ /dev/null @@ -1,2097 +0,0 @@ -[ - "QWµS½\u0011‰±ƒWE\rÜÌ", - [ - [ - "FStar.Int.Cast.uint8_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "b080e9336316dd9eb73b99099edf9e3d" - ], - [ - "FStar.Int.Cast.uint8_to_uint64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "aa7608c8cc7ee1a0229114f492347321" - ], - [ - "FStar.Int.Cast.uint8_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "b26c9cde440bfbaba6146bc16196e45a" - ], - [ - "FStar.Int.Cast.uint8_to_uint32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "29dbb086e1893290cfc4f82d1abd1d22" - ], - [ - "FStar.Int.Cast.uint8_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "96d0d43ec850ba78027d2767d301b5f3" - ], - [ - "FStar.Int.Cast.uint8_to_uint16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3e27f4027caa64f189476acd92435a9d" - ], - [ - "FStar.Int.Cast.uint16_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e2375414dce331e5e0c38ab27e3db72" - ], - [ - "FStar.Int.Cast.uint16_to_uint64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "587d6ce22272bebde1b35b0eef039688" - ], - [ - "FStar.Int.Cast.uint16_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "c16c6bffe115d41c3fd51200157042ab" - ], - [ - "FStar.Int.Cast.uint16_to_uint32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8f498b32bb50a4593a65932196830d15" - ], - [ - "FStar.Int.Cast.uint16_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "aad0377e900e5da4a7cc24dbe8b71da8" - ], - [ - "FStar.Int.Cast.uint16_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "6a65d74898f4ccbd28335c882b22b72d" - ], - [ - "FStar.Int.Cast.uint32_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "ea3cc0f144e8be886d88f3169f6d1c10" - ], - [ - "FStar.Int.Cast.uint32_to_uint64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ed55c1cf4b99997020b6e71b9cd7527a" - ], - [ - "FStar.Int.Cast.uint32_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "7359529118194cbb5500cf8e52af9702" - ], - [ - "FStar.Int.Cast.uint32_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "83f42c01b95bdc65ba9ef3e5861ba174" - ], - [ - "FStar.Int.Cast.uint32_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "5fcbb9f1d50e2bd855580b231565d916" - ], - [ - "FStar.Int.Cast.uint32_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "bc3badde42bcd2ca3f7fead110c6da8d" - ], - [ - "FStar.Int.Cast.uint64_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "066f4ecd64b7d674efd30336e30f96fc" - ], - [ - "FStar.Int.Cast.uint64_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "30e632fa26e0b7fc428dcc3deeaaf7eb" - ], - [ - "FStar.Int.Cast.uint64_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "22ed45e1d39fccad182a1313f05e426a" - ], - [ - "FStar.Int.Cast.uint64_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "e143d4e0fe8c62733306e0ebc6e4efe9" - ], - [ - "FStar.Int.Cast.uint64_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "06f3b12729d6c04b5fa63219a7a82d24" - ], - [ - "FStar.Int.Cast.uint64_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "e508891216c6418f81d89775e186f52d" - ], - [ - "FStar.Int.Cast.int8_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "fee8e410bcf40e4ba6800c5a9b6e34d3" - ], - [ - "FStar.Int.Cast.int8_to_int64", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "22c6eb874d16fd0387da77c5f80e0afe" - ], - [ - "FStar.Int.Cast.int8_to_int32", - 1, - 2, - 1, - [ "@query" ], - 0, - "fdde78aace0cc427f354c1930fdec8fc" - ], - [ - "FStar.Int.Cast.int8_to_int32", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "5133d3d06b43bf134041165408ab0ba5" - ], - [ - "FStar.Int.Cast.int8_to_int16", - 1, - 2, - 1, - [ "@query" ], - 0, - "a15b05d5b298f8cb8157684ab77914a4" - ], - [ - "FStar.Int.Cast.int8_to_int16", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6902fd6d93cbb43bd670c8a1b09a1da9" - ], - [ - "FStar.Int.Cast.int16_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "c55787ce1f521fdb532356c7b5a7ced3" - ], - [ - "FStar.Int.Cast.int16_to_int64", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.op_Slash", "typing_FStar.Int16.v", - "typing_Prims.pow2" - ], - 0, - "7ebd9322c0062c6d70397c59a9cca86d" - ], - [ - "FStar.Int.Cast.int16_to_int32", - 1, - 2, - 1, - [ "@query" ], - 0, - "efc87ba810bd886f2cc4a7d8cb20f4a6" - ], - [ - "FStar.Int.Cast.int16_to_int32", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.op_Slash", "typing_FStar.Int16.v", - "typing_Prims.pow2" - ], - 0, - "7f896a3358e8424ab2e90f97c2df1113" - ], - [ - "FStar.Int.Cast.int16_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "71ff7880aad74b250fbfa3ca89c97959" - ], - [ - "FStar.Int.Cast.int16_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "e48969b80e8aee084faa029868fe36fc" - ], - [ - "FStar.Int.Cast.int32_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "315082cdfb210d85d2cf974fe0466cf2" - ], - [ - "FStar.Int.Cast.int32_to_int64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int32.v", "typing_Prims.pow2" - ], - 0, - "0bb985e53771bab64b208c445e744348" - ], - [ - "FStar.Int.Cast.int32_to_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aea0a9f82ad563a5394953cbde179ab6" - ], - [ - "FStar.Int.Cast.int32_to_int16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "ee7851f2a679d9ffed939560e4edc3f3" - ], - [ - "FStar.Int.Cast.int32_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1eb4721a32aa11487ef2ec1284a761c9" - ], - [ - "FStar.Int.Cast.int32_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "639711622ea74c76b6033acfc32d75b0" - ], - [ - "FStar.Int.Cast.int64_to_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2ac2798c8dca12a526c2fb48cbb7f6f1" - ], - [ - "FStar.Int.Cast.int64_to_int32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.Cast.op_At_Percent", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int64.v", "typing_Prims.pow2" - ], - 0, - "57f1e5f4a9fa8526ea918a2e9855e079" - ], - [ - "FStar.Int.Cast.int64_to_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "05a89a7df9347dc46090e1abd86ed06b" - ], - [ - "FStar.Int.Cast.int64_to_int16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "203380d1c4e19234e65c5897a355ae66" - ], - [ - "FStar.Int.Cast.int64_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a8eae91e1512f085acc7bc81b3702c71" - ], - [ - "FStar.Int.Cast.int64_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "c353b32a9face7371975cfc5d5638b52" - ], - [ - "FStar.Int.Cast.uint8_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "d158701e4539a7069fd2569cb705211a" - ], - [ - "FStar.Int.Cast.uint8_to_int64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "8f12162c1a8a2994ee693f23c15d5a0c" - ], - [ - "FStar.Int.Cast.uint8_to_int32", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e329f11c6fb176faadeaac86aedda36" - ], - [ - "FStar.Int.Cast.uint8_to_int32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "6fdad433d2ce336ec282a636669daff1" - ], - [ - "FStar.Int.Cast.uint8_to_int16", - 1, - 2, - 1, - [ "@query" ], - 0, - "b12a326a7450f9bee00b5d3db0994620" - ], - [ - "FStar.Int.Cast.uint8_to_int16", - 2, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "b849e1e91e1f7a8123083b24909b96fb" - ], - [ - "FStar.Int.Cast.uint8_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "5e7d266cf8a158146094624e677bef0c" - ], - [ - "FStar.Int.Cast.uint8_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "e6a5e0c4fac735e7f448ccf55685bbed" - ], - [ - "FStar.Int.Cast.uint16_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "5741a10e645c6250943e9f570fc8993a" - ], - [ - "FStar.Int.Cast.uint16_to_int64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "729727344afeba5ba6b50693b6681e43" - ], - [ - "FStar.Int.Cast.uint16_to_int32", - 1, - 2, - 1, - [ "@query" ], - 0, - "3b6724d13bd2f6ff7d6af5a104068144" - ], - [ - "FStar.Int.Cast.uint16_to_int32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "445bbaf4e96a8828b5a65ba8370307aa" - ], - [ - "FStar.Int.Cast.uint16_to_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c320c586d7f058e2593322be59b5a6bd" - ], - [ - "FStar.Int.Cast.uint16_to_int16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "09b09d8452b02aec0b96af3ad68e57a9" - ], - [ - "FStar.Int.Cast.uint16_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2d58ca4aae8bab1c7ae2f4abe3f38ea6" - ], - [ - "FStar.Int.Cast.uint16_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "2efcb9e1c7d46f4ab3bed4f61334d13d" - ], - [ - "FStar.Int.Cast.uint32_to_int64", - 1, - 2, - 1, - [ "@query" ], - 0, - "359de2d4b3d6461d1e7b2ad4773e0391" - ], - [ - "FStar.Int.Cast.uint32_to_int64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "4555e2f5f7facfcdcbe45ccdc0004e7b" - ], - [ - "FStar.Int.Cast.uint32_to_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8bf8c8b848378d16852fa5762b1993a3" - ], - [ - "FStar.Int.Cast.uint32_to_int32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.Cast.op_At_Percent", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.pow2" - ], - 0, - "77d1107713a16d93f71f356b0db0d97f" - ], - [ - "FStar.Int.Cast.uint32_to_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "07a020860563ca9e1af8ae382179d67f" - ], - [ - "FStar.Int.Cast.uint32_to_int16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "c7bd4162b6067e5115a9461eccc7d98d" - ], - [ - "FStar.Int.Cast.uint32_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "563891f38daee34da6a0d2d8a540a958" - ], - [ - "FStar.Int.Cast.uint32_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "ad2f61b1332a26762a45a1fa2f7c3ed5" - ], - [ - "FStar.Int.Cast.uint64_to_int64", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e5e158a5be4316a765d14b2cfc1da797" - ], - [ - "FStar.Int.Cast.uint64_to_int64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "26dacb11435b12e8f6deeda1619eef6f" - ], - [ - "FStar.Int.Cast.uint64_to_int32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "866e2222ae7ac9bf5e7cfa456551623d" - ], - [ - "FStar.Int.Cast.uint64_to_int32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "84a1339b2cfd94dac11756037330fe55" - ], - [ - "FStar.Int.Cast.uint64_to_int16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0b0c2cea52091727c2afc87ef31a1ea6" - ], - [ - "FStar.Int.Cast.uint64_to_int16", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "351b41c7781127e4d4b3bddb8192ae40" - ], - [ - "FStar.Int.Cast.uint64_to_int8", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "617fb5cfb7bd06719a209ae571041199" - ], - [ - "FStar.Int.Cast.uint64_to_int8", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.op_At_Percent", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "0519df795c7c5c56e4a509c6184551d9" - ], - [ - "FStar.Int.Cast.int8_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "a4e3d7eb53d75cbfcaf18beab5cdaaf6" - ], - [ - "FStar.Int.Cast.int8_to_uint64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "0bce6f10ed287e1909d053f9845944a1" - ], - [ - "FStar.Int.Cast.int8_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "95400e2e2737dd7e69c4528e3d4980d1" - ], - [ - "FStar.Int.Cast.int8_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "44c24849e228af76fd51d2cce804a961" - ], - [ - "FStar.Int.Cast.int8_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "df5185c6e81fc096a44fb42513bc0ef8" - ], - [ - "FStar.Int.Cast.int8_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "7414a5f97ad401c45f1de4dc3be4eed7" - ], - [ - "FStar.Int.Cast.int8_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "cf8d7b51d5460d48a8647959ebe1b026" - ], - [ - "FStar.Int.Cast.int8_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "4ce657e98d566720cbc277624fab049a" - ], - [ - "FStar.Int.Cast.int16_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "fecc43822b4d5aae6ab5a4e3006ef964" - ], - [ - "FStar.Int.Cast.int16_to_uint64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "b4430199557027724ff3356cb31a69e0" - ], - [ - "FStar.Int.Cast.int16_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "b03085a440e41ddda6ac5d52c46926aa" - ], - [ - "FStar.Int.Cast.int16_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "16cb4bb39ebfefbd0170a42ca5006105" - ], - [ - "FStar.Int.Cast.int16_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "28bdd1ef01d89cb47eea146210bb13e6" - ], - [ - "FStar.Int.Cast.int16_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "2ff832c9d692a99b0873bd6243459297" - ], - [ - "FStar.Int.Cast.int16_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "dadf242f173eb245ec4fd106ba3b1aea" - ], - [ - "FStar.Int.Cast.int16_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "8ded658e88e08182939c7f1ce45566cf" - ], - [ - "FStar.Int.Cast.int32_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "f44f035a194396dfa0124468327c600d" - ], - [ - "FStar.Int.Cast.int32_to_uint64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "b798d87aa0c03bda6ef6a923f529bb22" - ], - [ - "FStar.Int.Cast.int32_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "cde9c068d47ef8a7b3ef866872fbc944" - ], - [ - "FStar.Int.Cast.int32_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "819668daa8dcf86d8b9deadf0258a6ca" - ], - [ - "FStar.Int.Cast.int32_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "f5b687d944c0c9ff60568b3d7602974c" - ], - [ - "FStar.Int.Cast.int32_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "3dc7c94429ded7f7d0b3319a30adcc26" - ], - [ - "FStar.Int.Cast.int32_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b1c091e4656f0e129527635e4ca7c3f" - ], - [ - "FStar.Int.Cast.int32_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "7fe4d575b46578e16bc68378ab5d0f40" - ], - [ - "FStar.Int.Cast.int64_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "4c74b8eabc4cd7464c3dea9db2522123" - ], - [ - "FStar.Int.Cast.int64_to_uint64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "0c1d364d11df98f3081acacf2bf0bb54" - ], - [ - "FStar.Int.Cast.int64_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "1057c584601d51634af1d4e54138f7ec" - ], - [ - "FStar.Int.Cast.int64_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "49068a8e1a003915947a29d6b7d81058" - ], - [ - "FStar.Int.Cast.int64_to_uint16", - 1, - 2, - 1, - [ "@query" ], - 0, - "8a8e1fe0836b9f741869e6e0fad099f5" - ], - [ - "FStar.Int.Cast.int64_to_uint16", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "203350b8eb997f8322deeb695b710d0f" - ], - [ - "FStar.Int.Cast.int64_to_uint8", - 1, - 2, - 1, - [ "@query" ], - 0, - "9d867432ac400418d1bf4c3969f74074" - ], - [ - "FStar.Int.Cast.int64_to_uint8", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "e2597778993a6b15f25b5f31fcb9dc38" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int.fst.hints b/ulib/.hints/FStar.Int.fst.hints deleted file mode 100644 index 3af22f8d092..00000000000 --- a/ulib/.hints/FStar.Int.fst.hints +++ /dev/null @@ -1,3073 +0,0 @@ -[ - "™:j\u000fä:\u0017—âBU‘,vØœ", - [ - [ - "FStar.Int.pow2_values", - 1, - 2, - 1, - [ "@query" ], - 0, - "2cf52166897658795f86c3a1d9255ba3" - ], - [ - "FStar.Int.max_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "50d38f5e23edf71563faf04332e586f8" - ], - [ - "FStar.Int.min_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6dfdc0e32da5fcda81acd05f3c7dedf3" - ], - [ - "FStar.Int.op_Slash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.abs", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "5b1fd144b9c35c2081413ff7d65c14c9" - ], - [ - "FStar.Int.op_At_Percent", - 1, - 2, - 1, - [ "@query" ], - 0, - "cfb0a172f0e0232d7f72799051811d7d" - ], - [ - "FStar.Int.zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "682d483dc95dc5fa28b2e5b560f6af5e" - ], - [ - "FStar.Int.pow2_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "typing_Prims.pow2" - ], - 0, - "3714168656ac9dad4e2835db2ca1f2a1" - ], - [ - "FStar.Int.pow2_minus_one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "71d95489bc04373b77e76a08cb9aa125" - ], - [ - "FStar.Int.one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "94f2bb05bafb77bc0a174cde7d36d0de" - ], - [ - "FStar.Int.ones", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "d6e28588c177604609e931ca2d70aaca" - ], - [ - "FStar.Int.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "69004b314854b86ef226b4804dbcdecb" - ], - [ - "FStar.Int.decr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "a13649109c9c4539f60599563fe63321" - ], - [ - "FStar.Int.incr_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "3d54ece413cf0e4ebdc218a56671729f" - ], - [ - "FStar.Int.decr_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "2253b648ae6554601f42e8e99f977867" - ], - [ - "FStar.Int.incr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "52983434e1c06a2b76a8adef000e94aa" - ], - [ - "FStar.Int.decr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "73fbaceb67d557b810a36454d83d6b4a" - ], - [ - "FStar.Int.add", - 1, - 2, - 1, - [ "@query" ], - 0, - "1b535ee655343acd1698e5a4fe6cf8f6" - ], - [ - "FStar.Int.add_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "6055a122402319e027d39e8f9c221cc4" - ], - [ - "FStar.Int.add_mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_Prims.pow2" - ], - 0, - "f281d110fb95e6eedc178156f1322648" - ], - [ - "FStar.Int.sub", - 1, - 2, - 1, - [ "@query" ], - 0, - "9250e60930916ba95fac95c440e81452" - ], - [ - "FStar.Int.sub_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "2fabfd22984603d0df1ecc4e07b2f7ec" - ], - [ - "FStar.Int.sub_mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "aa9a3aa83b077b14a13cdab15d3bba4d" - ], - [ - "FStar.Int.mul", - 1, - 2, - 1, - [ "@query" ], - 0, - "4e752e73a2e3b3e8e317164c86e22288" - ], - [ - "FStar.Int.mul_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "4ecfb458fb361557935c939cda2525b6" - ], - [ - "FStar.Int.mul_mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "7f7d1dcd32a38ea2422589f526764e19" - ], - [ - "FStar.Int.div", - 1, - 2, - 1, - [ "@query" ], - 0, - "748a7aea257014d7365a2bdf604afbbe" - ], - [ - "FStar.Int.div_underspec", - 1, - 2, - 1, - [ "@query" ], - 0, - "d114bdd152f1cb42cbb72d3440f3e4b8" - ], - [ - "FStar.Int.div_underspec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "0fbb390d342fbcd28397b3f0ad2afad3" - ], - [ - "FStar.Int.div_size", - 1, - 2, - 1, - [ "@query" ], - 0, - "a30127e13a472eaebcb0ae81074d1276" - ], - [ - "FStar.Int.div_size", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.abs" - ], - 0, - "059d686087a9450a915c764dc7094cae" - ], - [ - "FStar.Int.udiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "6a016aa3a883b312632d53aeac83fbe2" - ], - [ - "FStar.Int.mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.fits", "typing_Prims.abs", "typing_Prims.pow2" - ], - 0, - "7b18eeaecf8805fcaf296d36b830bf6c" - ], - [ - "FStar.Int.eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "43565ed49fe5e8cfeaa57fe8b496b89e" - ], - [ - "FStar.Int.to_uint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_Prims.pow2" - ], - 0, - "ba88348d41141fb214e09269c2cc3b34" - ], - [ - "FStar.Int.from_uint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "984beaa59810da6419879b5904438bda" - ], - [ - "FStar.Int.from_uint", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Int.to_uint_injective", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_FStar.Int.from_uint", - "typing_FStar.Int.to_uint" - ], - 0, - "3c96fe59c3a15ce1dfdce89096294dbc" - ], - [ - "FStar.Int.to_int_t", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Int.fits" - ], - 0, - "c6fe1dee47b893be345d42fcd8051e59" - ], - [ - "FStar.Int.to_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d9be1dbfa2bb2388dd6a62599f839aae" - ], - [ - "FStar.Int.from_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "1113f87cc7612ee1d9d5d17c6b9b02de" - ], - [ - "FStar.Int.from_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Int.to_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "4fc6c7d6a0d9c8aa6d5da61cac1e9b07" - ], - [ - "FStar.Int.to_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.to_vec", "typing_Prims.bool" - ], - 0, - "4f22e7b69ac42171ed0ec752ec889d1f" - ], - [ - "FStar.Int.to_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9fd146216f3cf2edf4419a94e82480ab" - ], - [ - "FStar.Int.to_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "lemma_FStar.Int.to_uint_injective", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8263d6a8fafe56346bc7ab0d2215a70b" - ], - [ - "FStar.Int.inverse_aux", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "807828be191b69eb078f3f834976d475" - ], - [ - "FStar.Int.inverse_aux", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e1beddd2e70f1dfd04dde9bc6d0479db_2", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.from_vec", - "equation_FStar.Int.max_int", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a36906f3c2094aca6120101ba3885c3d", - "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "dfb6e9fefda6ff4166f5a177ffc0b0f7" - ], - [ - "FStar.Int.inverse_aux", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_82dbee2ee2922854228fd887d85852f7", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "2249af5281f640d053847e4a7074fa90" - ], - [ - "FStar.Int.inverse_vec_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "18b9bc96d8f33498af8cb5b1bc9b64d2" - ], - [ - "FStar.Int.inverse_vec_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_aux", "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "24a00fa4bf1d1b06039a1b48e767b544" - ], - [ - "FStar.Int.inverse_vec_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Int.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "39f11e2161ac4f23d04c0cf438a3c679" - ], - [ - "FStar.Int.inverse_num_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.fits", "typing_FStar.Int.from_vec", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "6d0856d066295644321bf4be4dd52001" - ], - [ - "FStar.Int.from_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "3bf4d75fd128de962d070dff404b7773" - ], - [ - "FStar.Int.from_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "a01b0ed82196fe5752061fc7ba9f7692" - ], - [ - "FStar.Int.from_vec_lemma_1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.Int.from_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "51e77901cf20239464ee7e91c3cbfd70" - ], - [ - "FStar.Int.from_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.from_vec", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "2f71d518bd54dc8487361647f6b9770a" - ], - [ - "FStar.Int.from_vec_lemma_2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "80cba946b7af86984c94787c06fa772f" - ], - [ - "FStar.Int.zero_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", - "typing_FStar.Int.zero" - ], - 0, - "7a40b4735cda75c8ca739d84220807e8" - ], - [ - "FStar.Int.zero_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.max_int", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.Int.zero", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Int.zero", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "typing_Prims.pow2", "well-founded-ordering-on-nat" - ], - 0, - "fce7d5ab42c6774c93d87cd63b504dd5" - ], - [ - "FStar.Int.zero_to_vec_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_db7a7200b3295bee5527974d5e426f1c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", - "typing_FStar.Int.zero" - ], - 0, - "ca3ab3bdf097561306213a67e26b468f" - ], - [ - "FStar.Int.zero_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "083c4ab887d5aa81f1e0f9315162ba53" - ], - [ - "FStar.Int.zero_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.Int.zero", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.from_vec", - "typing_FStar.Int.to_vec", "typing_FStar.Int.zero", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "fd4559e8cf0d8df24695202863e3ba33" - ], - [ - "FStar.Int.one_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.one", "typing_FStar.Int.to_vec" - ], - 0, - "4c1a085febca9e654aa9e41c1fb4eeb5" - ], - [ - "FStar.Int.one_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.elem_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.one", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.Int.zero", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.BitVector.zero_vec", - "typing_FStar.Int.fits", "typing_FStar.Int.one", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int.zero", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "0a17774c826c2c1307b2f0dbe9c6c242" - ], - [ - "FStar.Int.pow2_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_fae52e146c90244d6a2517e3274edeb3", - "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" - ], - 0, - "908acf0599ba6eff55f6fe0127d35cf1" - ], - [ - "FStar.Int.pow2_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", - "binder_x_afc09461858c30ac5d755a25fcc944b2_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.elem_vec", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.one", "equation_FStar.Int.pow2_n", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4c6622d20f912a60d11603c718f5193c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f42042035fa9145c3fcdd0f8e31c49bd", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Int.pow2_n", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "typing_Prims.pow2", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "50d1ac23e55e756cb71760516aea8b02" - ], - [ - "FStar.Int.pow2_to_vec_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7ed2cff978c845e8950f2b5bc3ee6e21", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_fae52e146c90244d6a2517e3274edeb3", - "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" - ], - 0, - "6021a83e8b4196fea0f79218a3c446e2" - ], - [ - "FStar.Int.pow2_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d", - "typing_Prims.int" - ], - 0, - "52dab9061187c752f4db201073a47299" - ], - [ - "FStar.Int.pow2_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.elem_vec", "equation_FStar.Int.pow2_n", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.pow2_n", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.pow2_from_vec_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.from_vec", "typing_Prims.bool" - ], - 0, - "17d5592f8235f917996275c410920a9d" - ], - [ - "FStar.Int.ones_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.ones", - "typing_FStar.Int.to_vec" - ], - 0, - "633b48e0a54b2fc96720960e32417500" - ], - [ - "FStar.Int.ones_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.fits", - "equation_FStar.Int.from_uint", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.ones", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.index_to_vec_ones", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.ones", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "7b223b1fa767c4a27309797c30914c12" - ], - [ - "FStar.Int.ones_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8b6a3f0b4d5abea224a69d55ca798f00" - ], - [ - "FStar.Int.ones_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_to_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.from_vec", - "typing_FStar.Int.ones", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "29d72524b413985c6f8777eb2a54f755" - ], - [ - "FStar.Int.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.to_vec" - ], - 0, - "31dd6dac2f7456563e39e631af9e413c" - ], - [ - "FStar.Int.nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6087344f0331e5c06b960c5754ae86e1" - ], - [ - "FStar.Int.nth_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.nth", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.fits", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "7d9133cab5de165c849459f8af85ce8a" - ], - [ - "FStar.Int.zero_nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.nth", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.Int.zero_to_vec_lemma", - "lemma_FStar.Seq.Base.lemma_index_create", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.bool" - ], - 0, - "8992ff5954df197250054f048567b4a1" - ], - [ - "FStar.Int.one_nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", - "equation_FStar.Int.nth", "equation_FStar.Int.one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.one_to_vec_lemma", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Int.one", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "ae94680253c2e1aeeb00c6f03abad160" - ], - [ - "FStar.Int.ones_nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.nth", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.Int.ones_to_vec_lemma", - "lemma_FStar.Seq.Base.lemma_index_create", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.bool" - ], - 0, - "500eb2031749f56a62a4eeecda880e4b" - ], - [ - "FStar.Int.logand_definition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.logand", "equation_FStar.Int.nth", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logand_vec_definition", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Int.logand", - "typing_FStar.Int.to_vec", "typing_Prims.bool" - ], - 0, - "c34ac8cbcfd62df13b5b33a00f85730e" - ], - [ - "FStar.Int.logxor_definition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.logxor", "equation_FStar.Int.nth", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.logxor", - "typing_FStar.Int.to_vec", "typing_Prims.bool" - ], - 0, - "e526d9c10281769726c615528cfaaf2e" - ], - [ - "FStar.Int.logor_definition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.logor", "equation_FStar.Int.nth", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logor_vec", "typing_FStar.Int.logor", - "typing_FStar.Int.to_vec", "typing_Prims.bool" - ], - 0, - "91545af73b594e69eb0895a11d549506" - ], - [ - "FStar.Int.lognot_definition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.lognot", "equation_FStar.Int.nth", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Int.lognot", - "typing_FStar.Int.to_vec", "typing_Prims.bool" - ], - 0, - "ca3d9ea9d146244c23d5bd10b2914952" - ], - [ - "FStar.Int.minus", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "20d0f40244e7205baa9a802fe57e7610" - ], - [ - "FStar.Int.logand_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "da943ab10d7abf174ff0dcd9d93ec634" - ], - [ - "FStar.Int.logand_commutative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logand_definition", "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "29e0f3cccd97c8eb0fd5e346087f64da" - ], - [ - "FStar.Int.logand_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "38c511ad64a580d1409688de31ebcda9" - ], - [ - "FStar.Int.logand_associative", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.int_t", "equation_FStar.Int.logand", - "equation_FStar.Int.max_int", "equation_FStar.Int.nth", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.logand_definition", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.from_vec", "typing_FStar.Int.logand", - "typing_FStar.Int.nth", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "542e3672dd141990d6bee9726a21dd79" - ], - [ - "FStar.Int.logand_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "85dfb19af412fd205138e71dca4d075f" - ], - [ - "FStar.Int.logand_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Int.int_t", "equation_FStar.Int.nth", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logand_definition", "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.nth" - ], - 0, - "b668aa45e21b5cd8ee75cd0ab0cea56b" - ], - [ - "FStar.Int.logand_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5e67ac8511c8176df806d97c1a2784a6" - ], - [ - "FStar.Int.logand_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_FStar.Int.nth", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logand_definition", - "lemma_FStar.Int.zero_nth_lemma", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.zero" - ], - 0, - "3e729b2344f629b5ed92f8db288cbf4d" - ], - [ - "FStar.Int.logand_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4f1c066ac7d754571d4b7316883e3c03" - ], - [ - "FStar.Int.logand_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.nth", "equation_FStar.Int.size", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logand_definition", - "lemma_FStar.Int.ones_nth_lemma", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.ones" - ], - 0, - "2cf94989c19115bf33d039781aa54325" - ], - [ - "FStar.Int.sign_bit_negative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf46e9de762b312eeb1e72989b22c04a" - ], - [ - "FStar.Int.sign_bit_negative", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.nth", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "typing_Prims.bool" - ], - 0, - "e064fb90b07fcaf18e3246cb58fac343" - ], - [ - "FStar.Int.sign_bit_positive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6c0b7ac15762d99c2ff23395f9521594" - ], - [ - "FStar.Int.sign_bit_positive", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.nth", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "typing_Prims.bool" - ], - 0, - "82b69ea83ef8824156f2cd4d80cc4cc5" - ], - [ - "FStar.Int.logand_pos_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", - "equation_FStar.Int.int_t", "equation_FStar.Int.logand", - "equation_FStar.Int.max_int", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.logand", "typing_FStar.Int.to_uint", - "typing_FStar.UInt.logand" - ], - 0, - "c1f33b7d2502edc37a70d2639668f7e1" - ], - [ - "FStar.Int.logand_pow2_minus_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "930d66ed2e0609e415fe9a8a37a91291" - ], - [ - "FStar.Int.logand_pow2_minus_one", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", - "equation_FStar.Int.int_t", "equation_FStar.Int.logand", - "equation_FStar.Int.max_int", "equation_FStar.Int.pow2_minus_one", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.fits", "typing_FStar.Int.to_uint", - "typing_FStar.UInt.logand", "typing_Prims.pow2" - ], - 0, - "265920eb4402fbe3415cfce5250c5f77" - ], - [ - "FStar.Int.logand_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.fits", "typing_Prims.int" - ], - 0, - "7ddaa3b435a46e9bfc28570e7950d335" - ], - [ - "FStar.Int.logand_max", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.nth", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.logand_definition", - "lemma_FStar.UInt.index_to_vec_ones", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint" - ], - 0, - "629c9effd865460894aa2a88238747b4" - ], - [ - "FStar.Int.logxor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7f51a08c4877846fb7e5acf7ba8b9b17" - ], - [ - "FStar.Int.logxor_commutative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logxor_definition", - "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "837780829a3664ff5e6a7d24a206ae95" - ], - [ - "FStar.Int.logxor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a8d89ef7daca045a622d38b17dd6549d" - ], - [ - "FStar.Int.logxor_associative", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.logxor", "equation_FStar.Int.nth", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.logxor_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.from_vec", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "3a4e0ce2c86ce6dcf11934a4db1f7379" - ], - [ - "FStar.Int.logxor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4c183f6310259d0bce953adb497a11b" - ], - [ - "FStar.Int.logxor_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logxor_definition", - "lemma_FStar.Int.zero_nth_lemma", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "6e8e6a35fe2e9240f8fb92e642faa48c" - ], - [ - "FStar.Int.logxor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b5b0fd8d0002db1ea1c559a7eceb12c0" - ], - [ - "FStar.Int.logxor_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.nth", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.logxor_definition", - "lemma_FStar.Int.zero_nth_lemma", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.zero" - ], - 0, - "8971ecf9a5bceefbc83ac01449a2e0c4" - ], - [ - "FStar.Int.logxor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6adc457d35e965bcdcd3d70904f2954a" - ], - [ - "FStar.Int.logxor_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.nth", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.lognot_definition", - "lemma_FStar.Int.logxor_definition", - "lemma_FStar.Int.ones_nth_lemma", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_FStar.Int.nth", - "typing_FStar.Int.ones" - ], - 0, - "9de57474ea604d911f585481851a5b9b" - ], - [ - "FStar.Int.logxor_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "942a1000925186912093de3c370b90ba" - ], - [ - "FStar.Int.logxor_inv", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.logxor", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.logxor", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Int.inverse_num_lemma", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.logxor", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "1c165106a5b3387bfacae7ec444690bb" - ], - [ - "FStar.Int.logxor_neq_nonzero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "13ca07007260553e9d6a90e226ff4ba9" - ], - [ - "FStar.Int.logxor_neq_nonzero", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", - "equation_FStar.Int.int_t", "equation_FStar.Int.logxor", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.logxor", "typing_FStar.Int.to_uint", - "typing_FStar.Int.to_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_Prims.bool" - ], - 0, - "fa7abb78d5bf460cdac8bbe4db9cb770" - ], - [ - "FStar.Int.lognot_negative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "fd0804112ddca0c87a5c2e74a8da1a0f" - ], - [ - "FStar.Int.lognot_negative", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.lognot", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.Int.to_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "155566c81755714dbd657d69e3d5d614" - ], - [ - "FStar.Int.shift_left_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "26fa4e382baded3b8ef00772fa9d4a44" - ], - [ - "FStar.Int.shift_left_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.nth", - "equation_FStar.Int.shift_left", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_left_vec_lemma_1", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "8bb16a9fa3ec4f484e0bc27a75ceeee9" - ], - [ - "FStar.Int.shift_left_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" - ], - 0, - "1610520c4ed571ea603b59a79f2e2eea" - ], - [ - "FStar.Int.shift_left_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.Int.nth", - "equation_FStar.Int.shift_left", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_left_vec_lemma_2", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.Int.shift_left", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "3aae36f09e50c7956be52180188b5597" - ], - [ - "FStar.Int.shift_left_value_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.Int.int_t", "equation_FStar.Int.min_int", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb" - ], - 0, - "ba1e1b89a5da90d7ff5525f8236860cc" - ], - [ - "FStar.Int.shift_left_value_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.shift_left", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.fits", "typing_FStar.Int.shift_left", - "typing_Prims.pow2" - ], - 0, - "c3f129cc0d1e053413a89f0d360a64ea" - ], - [ - "FStar.Int.shift_right_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e0cc3c3754063cfe2d05a37f9fc97dd9" - ], - [ - "FStar.Int.shift_right_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", "equation_FStar.Int.nth", - "equation_FStar.Int.shift_right", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_1", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "a1d99e2d2e5591a688ce82bf4f16c28e" - ], - [ - "FStar.Int.shift_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "4146a2907d4f0a07e3060d775a0d752e" - ], - [ - "FStar.Int.shift_right_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", "equation_FStar.Int.nth", - "equation_FStar.Int.shift_right", "equation_FStar.Int.to_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Int.shift_right", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "71831d6d1a1f91eb67d997c19d508aa1" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e3f06c8ce0b7699a52a1442584247a73" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.nth", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.shift_arithmetic_right_vec_lemma_1", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "eb40418600bdc6f7f146892f8f60be0c" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "40b32c1303ac86e8e6d6d19302028124" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.nth", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.to_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.shift_arithmetic_right_vec_lemma_2", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.shift_arithmetic_right", "typing_FStar.Int.to_vec", - "typing_Prims.bool" - ], - 0, - "8836114aa8a0a1eeea0a83569cb0d600" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int.fsti.hints b/ulib/.hints/FStar.Int.fsti.hints deleted file mode 100644 index 5474c3f7456..00000000000 --- a/ulib/.hints/FStar.Int.fsti.hints +++ /dev/null @@ -1,1288 +0,0 @@ -[ - "L/åJ\u0018Õ‹\u001b$¥ÙM[­ý«", - [ - [ - "FStar.Int.max_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9c710c2d38803d60a4ea11728b8fcd6d" - ], - [ - "FStar.Int.min_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6dfdc0e32da5fcda81acd05f3c7dedf3" - ], - [ - "FStar.Int.op_Slash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.abs", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "117cdb30aa7d78a93f81338ec1a06b4c" - ], - [ - "FStar.Int.op_At_Percent", - 1, - 2, - 1, - [ "@query" ], - 0, - "cfb0a172f0e0232d7f72799051811d7d" - ], - [ - "FStar.Int.zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "95ab5f342aba60311f253361faf37777" - ], - [ - "FStar.Int.pow2_n", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "typing_Prims.pow2" - ], - 0, - "2fa7b6de474bfefa9602c734998ffc17" - ], - [ - "FStar.Int.pow2_minus_one", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "0eb88dbfb1a29fa8222bb9d0f54f8e47" - ], - [ - "FStar.Int.one", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "87b8e11913961de4adcaf827487cb6c5" - ], - [ - "FStar.Int.ones", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "7c7ddd648b94413866686b8c6d20ee2d" - ], - [ - "FStar.Int.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "69004b314854b86ef226b4804dbcdecb" - ], - [ - "FStar.Int.decr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "a13649109c9c4539f60599563fe63321" - ], - [ - "FStar.Int.incr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3c541aa04541a94db8262336d1142675" - ], - [ - "FStar.Int.decr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "73fbaceb67d557b810a36454d83d6b4a" - ], - [ - "FStar.Int.add", - 1, - 2, - 1, - [ "@query" ], - 0, - "1b535ee655343acd1698e5a4fe6cf8f6" - ], - [ - "FStar.Int.add_mod", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "4d81bb42e7786dda517c40acf2697252" - ], - [ - "FStar.Int.sub", - 1, - 1, - 1, - [ "@query" ], - 0, - "4b7741dc70318e7d85837382b9a76e82" - ], - [ - "FStar.Int.sub_mod", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "1e4eb3a0984b5eba01f2f7ce0c294e57" - ], - [ - "FStar.Int.mul", - 1, - 1, - 1, - [ "@query" ], - 0, - "fcb1701ef830a599a9a0aad3db906e56" - ], - [ - "FStar.Int.mul_mod", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.op_At_Percent", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits" - ], - 0, - "eb1032f16f449e687b4fa5df47c805a4" - ], - [ - "FStar.Int.div", - 1, - 2, - 1, - [ "@query" ], - 0, - "fa2ce5d79f4f5aa444c49ddc056f9e3e" - ], - [ - "FStar.Int.div_underspec", - 1, - 2, - 1, - [ "@query" ], - 0, - "d114bdd152f1cb42cbb72d3440f3e4b8" - ], - [ - "FStar.Int.div_size", - 1, - 2, - 1, - [ "@query" ], - 0, - "3171c59aa2bd428b02697889ed7612af" - ], - [ - "FStar.Int.udiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8506aeb4dd19f2072121aa1df21f1bb2", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb" - ], - 0, - "6a016aa3a883b312632d53aeac83fbe2" - ], - [ - "FStar.Int.mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_Slash", "equation_FStar.Int.size", - "equation_Prims.abs", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_83ac8ca0eae25a164d9f9c0d728fbff9", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Int.fits", "typing_Prims.abs" - ], - 0, - "7b18eeaecf8805fcaf296d36b830bf6c" - ], - [ - "FStar.Int.eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "43565ed49fe5e8cfeaa57fe8b496b89e" - ], - [ - "FStar.Int.to_uint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "typing_FStar.Int.fits", "typing_Prims.pow2" - ], - 0, - "ba88348d41141fb214e09269c2cc3b34" - ], - [ - "FStar.Int.from_uint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "984beaa59810da6419879b5904438bda" - ], - [ - "FStar.Int.from_uint", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Int.to_int_t", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Int.fits", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.op_At_Percent", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_Prims.abs", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Int.fits" - ], - 0, - "0644ca93a37566b0b7ca254ed8d166a0" - ], - [ - "FStar.Int.to_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d9be1dbfa2bb2388dd6a62599f839aae" - ], - [ - "FStar.Int.from_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "1113f87cc7612ee1d9d5d17c6b9b02de" - ], - [ - "FStar.Int.from_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Int.to_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "4fc6c7d6a0d9c8aa6d5da61cac1e9b07" - ], - [ - "FStar.Int.to_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e43ef2ab3386f5ad293fd58049f56506" - ], - [ - "FStar.Int.inverse_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "ea09286cdfc728de1e6414dde9825561" - ], - [ - "FStar.Int.inverse_vec_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "f5f19c74a23927231bf9eac7d3ed5033" - ], - [ - "FStar.Int.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "39f11e2161ac4f23d04c0cf438a3c679" - ], - [ - "FStar.Int.from_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "3bf4d75fd128de962d070dff404b7773" - ], - [ - "FStar.Int.from_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "51e77901cf20239464ee7e91c3cbfd70" - ], - [ - "FStar.Int.zero_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Int.to_vec", - "typing_FStar.Int.zero" - ], - 0, - "7a40b4735cda75c8ca739d84220807e8" - ], - [ - "FStar.Int.zero_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "083c4ab887d5aa81f1e0f9315162ba53" - ], - [ - "FStar.Int.one_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.one", "typing_FStar.Int.to_vec" - ], - 0, - "4c1a085febca9e654aa9e41c1fb4eeb5" - ], - [ - "FStar.Int.pow2_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.pow2_n", "typing_FStar.Int.to_vec" - ], - 0, - "d465ab0491c71ad853fca720e0ec3504" - ], - [ - "FStar.Int.pow2_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b555e04c50662c1d4e406318a3bd8d8d", - "typing_Prims.int" - ], - 0, - "c97ce31c145945d08234d08a63e470e4" - ], - [ - "FStar.Int.ones_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", "equation_FStar.Int.to_vec", - "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Int.ones", - "typing_FStar.Int.to_vec" - ], - 0, - "633b48e0a54b2fc96720960e32417500" - ], - [ - "FStar.Int.ones_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8b6a3f0b4d5abea224a69d55ca798f00" - ], - [ - "FStar.Int.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_FStar.Int.to_vec", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Int.to_vec" - ], - 0, - "31dd6dac2f7456563e39e631af9e413c" - ], - [ - "FStar.Int.nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6087344f0331e5c06b960c5754ae86e1" - ], - [ - "FStar.Int.minus", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "904934f61470e1f43b708290a9263d51" - ], - [ - "FStar.Int.logand_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "da943ab10d7abf174ff0dcd9d93ec634" - ], - [ - "FStar.Int.logand_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "38c511ad64a580d1409688de31ebcda9" - ], - [ - "FStar.Int.logand_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "85dfb19af412fd205138e71dca4d075f" - ], - [ - "FStar.Int.logand_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5e67ac8511c8176df806d97c1a2784a6" - ], - [ - "FStar.Int.logand_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4f1c066ac7d754571d4b7316883e3c03" - ], - [ - "FStar.Int.sign_bit_negative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf46e9de762b312eeb1e72989b22c04a" - ], - [ - "FStar.Int.sign_bit_positive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6c0b7ac15762d99c2ff23395f9521594" - ], - [ - "FStar.Int.logand_pow2_minus_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "375eda2514988b787a399b56f1252a2a" - ], - [ - "FStar.Int.logand_max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fe9a5df27ca5859eef8add9fc6819fb", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_f9945c9851ba67924155357268d171eb", - "typing_FStar.Int.fits", "typing_Prims.int" - ], - 0, - "493ab0811ded20ed56414dad7a53c72f" - ], - [ - "FStar.Int.logxor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "660a230af26706436f5b9d16ba05865b" - ], - [ - "FStar.Int.logxor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a8d89ef7daca045a622d38b17dd6549d" - ], - [ - "FStar.Int.logxor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4c183f6310259d0bce953adb497a11b" - ], - [ - "FStar.Int.logxor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b5b0fd8d0002db1ea1c559a7eceb12c0" - ], - [ - "FStar.Int.logxor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6adc457d35e965bcdcd3d70904f2954a" - ], - [ - "FStar.Int.logxor_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "942a1000925186912093de3c370b90ba" - ], - [ - "FStar.Int.logxor_neq_nonzero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "13ca07007260553e9d6a90e226ff4ba9" - ], - [ - "FStar.Int.lognot_negative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.Int.fits", - "equation_FStar.Int.int_t", "equation_FStar.Int.size", - "equation_FStar.Int.to_uint", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Int.fits", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "80130da92ff50c642ab3762416a89589" - ], - [ - "FStar.Int.shift_left_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "26fa4e382baded3b8ef00772fa9d4a44" - ], - [ - "FStar.Int.shift_left_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" - ], - 0, - "dd1545213899564d5babc282d653e8f5" - ], - [ - "FStar.Int.shift_left_value_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.Int.max_int", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ba1e1b89a5da90d7ff5525f8236860cc" - ], - [ - "FStar.Int.shift_right_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e0cc3c3754063cfe2d05a37f9fc97dd9" - ], - [ - "FStar.Int.shift_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "e4cedd0aba0b677aee799e274089b75b" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7bfca29532e38920a5fa960042fcc1fb" - ], - [ - "FStar.Int.shift_arithmetic_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "40b32c1303ac86e8e6d6d19302028124" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int128.fst.hints b/ulib/.hints/FStar.Int128.fst.hints deleted file mode 100644 index 609e5e2791f..00000000000 --- a/ulib/.hints/FStar.Int128.fst.hints +++ /dev/null @@ -1,487 +0,0 @@ -[ - "1‘\r°}L½>[Á‡ þé`õ", - [ - [ - "FStar.Int128.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e02a83dabbe85618f4f8ee2775c1dc57" - ], - [ - "FStar.Int128.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1be8b13b6ee7fb808e59e5b6a6ac7391" - ], - [ - "FStar.Int128.int_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "15ea3339389e1caddcc6cd6e1b4e9768" - ], - [ - "FStar.Int128.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int128.v", - "fuel_guarded_inversion_FStar.Int128.t", - "proj_equation_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_45bc05678180f1d1ec5aae9695cd9049", - "typing_FStar.Int128.int_to_t", "typing_FStar.Int128.v" - ], - 0, - "e1c6c1784b12e4588a22ac225a4eef50" - ], - [ - "FStar.Int128.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_45bc05678180f1d1ec5aae9695cd9049", - "typing_FStar.Int128.int_to_t" - ], - 0, - "bdaaffa4cf846e2bf6f3f0d32f2c737e" - ], - [ - "FStar.Int128.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Int128.uv_inv" ], - 0, - "5687d01e294ae8b98d837bcc9abdd8ce" - ], - [ - "FStar.Int128.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "476ef4c25d338bea748a7533a4fe3a4e" - ], - [ - "FStar.Int128.one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "20aa4ea7cc0ac5306b26a3f035f7b53a" - ], - [ - "FStar.Int128.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.add", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "c66d6cac27af85a08ea03dc5c7db4041" - ], - [ - "FStar.Int128.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.sub", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "c65430abd95276db04100536521edbc8" - ], - [ - "FStar.Int128.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.mul", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "e8ce5eb174e000aa881061a93bf03a45" - ], - [ - "FStar.Int128.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" - ], - 0, - "9edb40c2642bec9310af8d10df75e550" - ], - [ - "FStar.Int128.div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" - ], - 0, - "d5081cb6e233df7c9d54694e5967d408" - ], - [ - "FStar.Int128.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5", - "typing_Prims.int" - ], - 0, - "76f96875d5697acbf3c3148908af211c" - ], - [ - "FStar.Int128.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_6b9660f5bcae3394fca29b1c1dff77d5" - ], - 0, - "527442004ae827e0acb42419dd386f02" - ], - [ - "FStar.Int128.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ca636d2eca9662c68a23ffb852d811f6" - ], - [ - "FStar.Int128.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "9422523f3cb6411db1224add2b94d71a" - ], - [ - "FStar.Int128.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "dcecbaa97cb96b597442fc25e5c13088" - ], - [ - "FStar.Int128.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "3e9cb1bdbfa35bccc7a90dccf923595a" - ], - [ - "FStar.Int128.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "ce513deaa869c36f60f72e1ea2ff46aa" - ], - [ - "FStar.Int128.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8151b9d7d6bb39b457a52a876c55c990", - "typing_Prims.int" - ], - 0, - "8f147119f287d79633cd14ecc5e65417" - ], - [ - "FStar.Int128.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int128.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "70fd0b7edf0fa5c5bafdbb84b0ffcbf5" - ], - [ - "FStar.Int128.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Int128.t", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8eb9f2ef1a887f1bad3e85ff1c37c8c6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "8e9d4390ad2adc954a5ca985203cc381" - ], - [ - "FStar.Int128.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int128.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "1f233328c1fdf6e8f2beb9ef9b606d7e" - ], - [ - "FStar.Int128.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "a5de195a6677891bdf7f5e3ad9fab750" - ], - [ - "FStar.Int128.shift_arithmetic_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int128.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int128.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "3ee6c25d1dabd81da2c75a193558a4b5" - ], - [ - "FStar.Int128.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.Int128.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.abs", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33c4f2300f1544e298b388900358a643", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_ca85c36eb10e9a2f43f93fc90550499d", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int128.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.sub_mod", "typing_Prims.abs", "typing_Prims.bool" - ], - 0, - "89ecb56ab053560b55b3339477b38a78" - ], - [ - "FStar.Int128.mul_wide", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int128.v", - "proj_equation_FStar.Int128.Mk_v", - "projection_inverse_FStar.Int128.Mk_v" - ], - 0, - "ef14ae26201853c77bd9bc05ae5d5bf9" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int128.fsti.hints b/ulib/.hints/FStar.Int128.fsti.hints deleted file mode 100644 index cd431890a10..00000000000 --- a/ulib/.hints/FStar.Int128.fsti.hints +++ /dev/null @@ -1,185 +0,0 @@ -[ - "\u0016\u001b—þ€.#\u0005n2@ø\u001f\nÑ", - [ - [ - "FStar.Int128.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bc7a648d2cdd24fd4d418d69a1c76551" - ], - [ - "FStar.Int128.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b93a39aae2535f27f07d72319d235488" - ], - 0, - "26786de847aaecce924ddda2d29de124" - ], - [ - "FStar.Int128.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b93a39aae2535f27f07d72319d235488", - "typing_Prims.int" - ], - 0, - "c50126a7143487d690678f4b17920e8c" - ], - [ - "FStar.Int128.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1b3d0014f12ee6d383993c513523bfc9" - ], - [ - "FStar.Int128.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_8ed31eff50c0943ba3278ecc4ea18cd0", - "typing_Prims.int" - ], - 0, - "87c0ec823f236f4c1b89f2395b4ae191" - ], - [ - "FStar.Int128.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1535ea607691f1e0f649732fc366d202", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "1f8cd7a9e8b078ebdef48e20ab72417a" - ], - [ - "FStar.Int128.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "a7aba64ba73b73ba55c223651f40a963" - ], - [ - "FStar.Int128.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_33c4f2300f1544e298b388900358a643", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_c2959f0f1156c9f91599993a329d25a1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int128.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.abs", "typing_Prims.bool" - ], - 0, - "eba05860b09c311694da523ad9135293" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int16.fst.hints b/ulib/.hints/FStar.Int16.fst.hints deleted file mode 100644 index 64fa668076e..00000000000 --- a/ulib/.hints/FStar.Int16.fst.hints +++ /dev/null @@ -1,468 +0,0 @@ -[ - "E&^\u0000µÇÛÔ5ÞɇÞ7", - [ - [ - "FStar.Int16.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9ac93f68ceebb0618f7324fa9e12afc" - ], - [ - "FStar.Int16.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b5c1bc6d9d552d9e58827f31e0c4d827" - ], - [ - "FStar.Int16.int_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "5ccaccf4563041cac9eb33872ca6016f" - ], - [ - "FStar.Int16.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int16.v", - "fuel_guarded_inversion_FStar.Int16.t", - "proj_equation_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_23286ea88a7a3790e551bc019ec2120d", - "typing_FStar.Int16.int_to_t", "typing_FStar.Int16.v" - ], - 0, - "656a99f19ccc0faf8bd735a04031ed20" - ], - [ - "FStar.Int16.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_23286ea88a7a3790e551bc019ec2120d", - "typing_FStar.Int16.int_to_t" - ], - 0, - "1c7deef4492213f1f9d68e210a9daa68" - ], - [ - "FStar.Int16.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Int16.uv_inv" ], - 0, - "642eac5d00a7524a316ce5b20ef9e0ab" - ], - [ - "FStar.Int16.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "b2944f462b8717e9df5c35fd4a9fa318" - ], - [ - "FStar.Int16.one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "d374cf89629c24b7a57dcd69f5f4a759" - ], - [ - "FStar.Int16.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.add", "equation_FStar.Int16.v", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "d50a2a708a9fa22c64d18413822b0b23" - ], - [ - "FStar.Int16.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.sub", "equation_FStar.Int16.v", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "b364b530be378b9dbab0418f2a4de23d" - ], - [ - "FStar.Int16.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.mul", "equation_FStar.Int16.v", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "9269146ddf6c3544e6d3f2b5b28dbde9" - ], - [ - "FStar.Int16.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" - ], - 0, - "79624a507e9ee3e5eb3c02fbe5d08d21" - ], - [ - "FStar.Int16.div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int16.v", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" - ], - 0, - "c3561c179d0fc7b5f82e9a72a19b4223" - ], - [ - "FStar.Int16.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007", - "typing_Prims.int" - ], - 0, - "34a1c27711d164d6bffda457cd88b7fd" - ], - [ - "FStar.Int16.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int16.v", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_ea65a038e3ff144d643fa0488efde007" - ], - 0, - "85c69f916fc37b25da744774d274efe4" - ], - [ - "FStar.Int16.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "862260578ccb836a319883dca10f0d0c" - ], - [ - "FStar.Int16.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "dae908b21c7fcf1e28df128dde0e4206" - ], - [ - "FStar.Int16.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "7d030e1c70d4eb68a61a0151a17c93e1" - ], - [ - "FStar.Int16.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "931bcf35fbed86b4e490e8294fcbca2a" - ], - [ - "FStar.Int16.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int16.v", "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_FStar.Int16.Mk_v" - ], - 0, - "6177555e9923a80d29899a1d5e1850e4" - ], - [ - "FStar.Int16.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a2e6dcd48b2e3fc4fd137ba9c2d85b4a", - "typing_Prims.int" - ], - 0, - "1b94a1c8f99aeed0d09939f5652365cf" - ], - [ - "FStar.Int16.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int16.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "80132ba130cd3aee201b34e868a6a459" - ], - [ - "FStar.Int16.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Int16.t", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2d59b199806b13f43e1799949ea7f848", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "00a4bb8b2ef06ea89752a07ee06d3177" - ], - [ - "FStar.Int16.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int16.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "40edc49bf1d01ea974fb3aae717ce1ad" - ], - [ - "FStar.Int16.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "4088f69d7d384f00428ea437f1f6bcee" - ], - [ - "FStar.Int16.shift_arithmetic_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int16.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int16.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "e8b35705d1cef5c65dfcece90a085439" - ], - [ - "FStar.Int16.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.Int16.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.abs", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bf5555126581fbecb556df8ab0a05eef", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f4ec0a04344e7130939ebe4f31f6bd8f", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int16.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.from_vec", "typing_Prims.abs", "typing_Prims.bool" - ], - 0, - "5ee5cb29ab474a495a1826aa49e495f9" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int16.fsti.hints b/ulib/.hints/FStar.Int16.fsti.hints deleted file mode 100644 index cee7113ba3b..00000000000 --- a/ulib/.hints/FStar.Int16.fsti.hints +++ /dev/null @@ -1,185 +0,0 @@ -[ - "ˆüRÁh\u0017\u001fíÇ)Éÿãåê¸", - [ - [ - "FStar.Int16.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "30d514c6595420cd5e4e53e0776e2c8e" - ], - [ - "FStar.Int16.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_887fd71edd23a071fb178a8dad28f43b" - ], - 0, - "c7078b02242773ca85709e2e57c1c3bd" - ], - [ - "FStar.Int16.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_887fd71edd23a071fb178a8dad28f43b", - "typing_Prims.int" - ], - 0, - "7a057b6a89862324d68ee0a0f522072a" - ], - [ - "FStar.Int16.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "afe3c24f9c62b817c5fcdcf831daf51e" - ], - [ - "FStar.Int16.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eecaed663afe543f7ca39d09158cc12f", - "typing_Prims.int" - ], - 0, - "5934fc4a856f30fe1a045dd0da6137b8" - ], - [ - "FStar.Int16.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f4f6410630685f8e44dae481d772b07e", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "bd6eb9b6f946d20ef538595765ab7651" - ], - [ - "FStar.Int16.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "3131d7bafa75fa650e4b225e49051230" - ], - [ - "FStar.Int16.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_905eb75d304d39a1c292f6e9a7923059", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f4ec0a04344e7130939ebe4f31f6bd8f", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int16.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.bool" - ], - 0, - "b8cb7d21c6840219e7f763e659d50687" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int32.fst.hints b/ulib/.hints/FStar.Int32.fst.hints deleted file mode 100644 index 6db87ae12a9..00000000000 --- a/ulib/.hints/FStar.Int32.fst.hints +++ /dev/null @@ -1,467 +0,0 @@ -[ - "7Žágï\u00036Ïu`ë¹\"×À", - [ - [ - "FStar.Int32.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0932ee84058d216a9e6b38b45b182e01" - ], - [ - "FStar.Int32.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fb0b744840401469892652d25b52df6a" - ], - [ - "FStar.Int32.int_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "a4947efb0f33a306a103b1ae140c951e" - ], - [ - "FStar.Int32.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int32.v", - "fuel_guarded_inversion_FStar.Int32.t", - "proj_equation_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", - "typing_FStar.Int32.int_to_t", "typing_FStar.Int32.v" - ], - 0, - "cf837f7dfca7967f359dedb82256c607" - ], - [ - "FStar.Int32.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de03296927e755695593c3efc35c009e", - "typing_FStar.Int32.int_to_t" - ], - 0, - "6245f94bf993e72b43c5a26c8da26fe8" - ], - [ - "FStar.Int32.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Int32.uv_inv" ], - 0, - "934ad685a6ed3a9ddaba64694022b989" - ], - [ - "FStar.Int32.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "82c647c9ce8b8e9b7d58994acdd3a428" - ], - [ - "FStar.Int32.one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "4893d357e5374a6f55907e879efd039b" - ], - [ - "FStar.Int32.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.add", "equation_FStar.Int32.v", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "b5fde8756536d24e703eeac709776e1f" - ], - [ - "FStar.Int32.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.sub", "equation_FStar.Int32.v", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "4ee5415c4095e46b26207e07ab175513" - ], - [ - "FStar.Int32.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.mul", "equation_FStar.Int32.v", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "34f0e4f0b7351b65dddf72cf7e9ad014" - ], - [ - "FStar.Int32.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" - ], - 0, - "a6e68c025b53d96175e35da84a4fb25c" - ], - [ - "FStar.Int32.div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int32.v", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" - ], - 0, - "25de95aeeaa15c51ac578b07a5cf4e0f" - ], - [ - "FStar.Int32.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b", - "typing_Prims.int" - ], - 0, - "14118286a62b7ecced8946d0c5744179" - ], - [ - "FStar.Int32.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int32.v", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_ebb5a3e35cc5b5152947a0f62e24676b" - ], - 0, - "c2f3584732c5f83d4677634b654d991c" - ], - [ - "FStar.Int32.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "574712af8311bdc49c31f1b72ff46fcd" - ], - [ - "FStar.Int32.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "3c34cbc0add6a428e80ffe99ace2f438" - ], - [ - "FStar.Int32.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "e20d40deffaafd3d893921bf4017d17f" - ], - [ - "FStar.Int32.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "8fb229151facfede911dffff468882e2" - ], - [ - "FStar.Int32.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int32.v", "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_FStar.Int32.Mk_v" - ], - 0, - "ba75998c83beb5388ec467b31db2665c" - ], - [ - "FStar.Int32.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c194b0439f83c4d481fa5410f8dccf7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "677e999b756ea0023eced43766dd801a" - ], - [ - "FStar.Int32.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int32.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "2890aec2e3232e5aa166f72f3ba79a02" - ], - [ - "FStar.Int32.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Int32.t", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ab41a69e3536034a5327a84f079a4ca9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "8e06d85e689e3b52fa10410b616a71ca" - ], - [ - "FStar.Int32.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int32.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "53ae88dbb78dd512f11c59880ae5a85f" - ], - [ - "FStar.Int32.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "9f1ea9c6562a8bed52d34bbdd5262c72" - ], - [ - "FStar.Int32.shift_arithmetic_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int32.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int32.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "85e5009081bb423fad919a1b7fe97d0a" - ], - [ - "FStar.Int32.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.Int32.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.abs", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7ebbe64b62d60feef45ced5325adbe87", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_da1b0dfb8283502ec162998a8bbb6431", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int32.v", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.max_int", "typing_FStar.UInt.sub_mod", - "typing_Prims.bool" - ], - 0, - "f086f2ac1b41bbe07974e8b0eacef447" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int32.fsti.hints b/ulib/.hints/FStar.Int32.fsti.hints deleted file mode 100644 index 46259b55151..00000000000 --- a/ulib/.hints/FStar.Int32.fsti.hints +++ /dev/null @@ -1,183 +0,0 @@ -[ - "Ñ‹©š+•Ïv\u001b×¥S#W¿:", - [ - [ - "FStar.Int32.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bbeb902abf5fb19fc8cb97bc42aaeac2" - ], - [ - "FStar.Int32.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9961d54ea871d3cceb9a869af9f4caf7" - ], - 0, - "8c6b81fd8364a44a957f8c277e1baa6f" - ], - [ - "FStar.Int32.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9961d54ea871d3cceb9a869af9f4caf7", - "typing_Prims.int" - ], - 0, - "92a512af5ebe5301c0494911ac813967" - ], - [ - "FStar.Int32.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fcddce3644d016077400269ba90ba679" - ], - [ - "FStar.Int32.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed2bbcef508889f23ec37cf3d2703407", - "typing_Prims.int" - ], - 0, - "7a43327f2c70122a5e5bb2d6e1a5d326" - ], - [ - "FStar.Int32.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_53f4a3d0bc2464e565d1dfbe644ad7ca", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "5d8ab5fd0ea789c6c3f8ebf64a959e56" - ], - [ - "FStar.Int32.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "edf0f5eea666b30e28467355223881ac" - ], - [ - "FStar.Int32.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_853c92b1b57deba9861afab3b88011fd", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_da1b0dfb8283502ec162998a8bbb6431", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int32.v", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.max_int", "typing_FStar.UInt.sub_mod", - "typing_Prims.bool" - ], - 0, - "fc3019228a98ec9194e7bd8dbe5cf4e4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int64.fst.hints b/ulib/.hints/FStar.Int64.fst.hints deleted file mode 100644 index 54a2d206e27..00000000000 --- a/ulib/.hints/FStar.Int64.fst.hints +++ /dev/null @@ -1,467 +0,0 @@ -[ - "á܉\u0002‘üêÈx\u0016_r\f\u0017U”", - [ - [ - "FStar.Int64.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "db62023ebc1241539bb3816e893087b3" - ], - [ - "FStar.Int64.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "74a769a4c823a65621094cc76789f434" - ], - [ - "FStar.Int64.int_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "9d83130ebcc01e712015fc1a0dccbfc7" - ], - [ - "FStar.Int64.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int64.v", - "fuel_guarded_inversion_FStar.Int64.t", - "proj_equation_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_07d1d95240c432423a75b64d7bf03bac", - "typing_FStar.Int64.int_to_t", "typing_FStar.Int64.v" - ], - 0, - "7c87b399b238ce4c4180b4d23664f32b" - ], - [ - "FStar.Int64.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_07d1d95240c432423a75b64d7bf03bac", - "typing_FStar.Int64.int_to_t" - ], - 0, - "6790e151fb8c255d4ae0fcaf19a555c8" - ], - [ - "FStar.Int64.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Int64.uv_inv" ], - 0, - "acce31b407fd7b7b2f051d303c53e9e6" - ], - [ - "FStar.Int64.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "7acb028a1253e35ae2d7e35e3a1696c6" - ], - [ - "FStar.Int64.one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "f0e8dcd24f40e474fab1953a53ad5841" - ], - [ - "FStar.Int64.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.add", "equation_FStar.Int64.v", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "deba0ed58055c0fdc3ff52f57c47b128" - ], - [ - "FStar.Int64.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.sub", "equation_FStar.Int64.v", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "67d998388f00ef89d2da9fcd8281f494" - ], - [ - "FStar.Int64.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.mul", "equation_FStar.Int64.v", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "a234ffd70c9953f2ed5eccff5e53c1b2" - ], - [ - "FStar.Int64.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" - ], - 0, - "fa3285b8a6075609b213a15023781130" - ], - [ - "FStar.Int64.div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int64.v", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" - ], - 0, - "b6f9a378aa571cfe44753fc2cfe6f243" - ], - [ - "FStar.Int64.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921", - "typing_Prims.int" - ], - 0, - "66190525159720f34271bf2854283baf" - ], - [ - "FStar.Int64.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int64.v", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_75ea66a4c13dd935112a33955b38a921" - ], - 0, - "1c990df963ed4a9210505b9a60253331" - ], - [ - "FStar.Int64.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "954a898629aa57449d6c61540fe2e554" - ], - [ - "FStar.Int64.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "fb215a774a3ae7e10693c11cf2017b15" - ], - [ - "FStar.Int64.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "98ce56502dd1c0a14e21eb679e3229c0" - ], - [ - "FStar.Int64.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "bc3071107df4862d6a238b0b27adb9b4" - ], - [ - "FStar.Int64.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int64.v", "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_FStar.Int64.Mk_v" - ], - 0, - "7613346f020ed2c1eecf378c66be2e1f" - ], - [ - "FStar.Int64.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d8a341e2bde0f984814d3d57cbdc184e", - "typing_Prims.int" - ], - 0, - "90dd06e558d10d229f9a1c2012f13fc3" - ], - [ - "FStar.Int64.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int64.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "c8978b558a0ec63006f6f606609fa7d7" - ], - [ - "FStar.Int64.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Int64.t", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5bc6e51b5085750fcf6703994dc9ee4f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "0970e076998950d4d7408790b23d6581" - ], - [ - "FStar.Int64.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int64.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "1f71e45bc387ce6071d9cd858de2c0b8" - ], - [ - "FStar.Int64.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "64318225e2d5941b9f6f05f025485168" - ], - [ - "FStar.Int64.shift_arithmetic_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int64.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int64.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "a3c0cb7039a2c282d97d298ad7fab27b" - ], - [ - "FStar.Int64.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.Int64.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.abs", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5678793836319ee26b16152f1eac0ca7", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int64.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.sub_mod", "typing_Prims.abs", "typing_Prims.bool" - ], - 0, - "d9681601a6665bc1cf3b4c0f0eb36429" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int64.fsti.hints b/ulib/.hints/FStar.Int64.fsti.hints deleted file mode 100644 index 36ed678dcc7..00000000000 --- a/ulib/.hints/FStar.Int64.fsti.hints +++ /dev/null @@ -1,184 +0,0 @@ -[ - "¬¬A襚d?Ä ÊÛÌaV‚", - [ - [ - "FStar.Int64.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0ba43392bc44362c916062063181849b" - ], - [ - "FStar.Int64.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_628f456abb4ff7ec3d24a18ea94ac133" - ], - 0, - "e9ae9c7c74a781ed1fef455ce5197b40" - ], - [ - "FStar.Int64.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_628f456abb4ff7ec3d24a18ea94ac133", - "typing_Prims.int" - ], - 0, - "99015e6025e9f389c88325d3381b8734" - ], - [ - "FStar.Int64.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "aadb9d4fd4332d5763bf14630905556a" - ], - [ - "FStar.Int64.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36bab4002e45b851364f2f0733af9008", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "17d65ddac4ef994085cca8b4c311bbe5" - ], - [ - "FStar.Int64.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b1b1bfa1561000f9116b5b7f30975ff", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "a317e6f67f4a661cb53b3d8e96d5bee8" - ], - [ - "FStar.Int64.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "ec90225d0e991ae54e2057699f7d538c" - ], - [ - "FStar.Int64.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_vec", - "equation_FStar.Int.int_t", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.nth", - "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09e0d51b082ead211eb10bd8852b815a", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int64.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.bool" - ], - 0, - "7e1a664d5bff0e3b25fddffe6c97991c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int8.fst.hints b/ulib/.hints/FStar.Int8.fst.hints deleted file mode 100644 index eff186ca7bc..00000000000 --- a/ulib/.hints/FStar.Int8.fst.hints +++ /dev/null @@ -1,463 +0,0 @@ -[ - "Q\u001b,\u001c}2â´T/ø)\u0000ïÊ\u0016", - [ - [ - "FStar.Int8.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "27f97a959bb97bba4a63d3b2f1957bcd" - ], - [ - "FStar.Int8.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "01954ba117f21b3cf2887dffc7d61e8b" - ], - [ - "FStar.Int8.int_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "92e976122405892246658d535bbf6ceb" - ], - [ - "FStar.Int8.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int8.v", - "fuel_guarded_inversion_FStar.Int8.t", - "proj_equation_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_9c18c3ce38588df16c04dd7bb2735919", - "typing_FStar.Int8.int_to_t", "typing_FStar.Int8.v" - ], - 0, - "0471aafbd97fcac7fbb20fbde68266f2" - ], - [ - "FStar.Int8.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c18c3ce38588df16c04dd7bb2735919", - "typing_FStar.Int8.int_to_t" - ], - 0, - "726dd0956caebac84eb00af8110cf281" - ], - [ - "FStar.Int8.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Int8.uv_inv" ], - 0, - "c8aaa2a3609fcd5db8037ae4664c09ce" - ], - [ - "FStar.Int8.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "43b5d5a2ec8bb8dadd40eedad0771f0b" - ], - [ - "FStar.Int8.one", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "9e433b9bad57fbfd6e54b436b1ead517" - ], - [ - "FStar.Int8.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.add", "equation_FStar.Int8.v", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "1a896bfacfecca55aebb588ab846d1fe" - ], - [ - "FStar.Int8.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.sub", "equation_FStar.Int8.v", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "16de25809b97c3c2173acc8af0d3731c" - ], - [ - "FStar.Int8.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int.mul", "equation_FStar.Int8.v", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "f15bd295d14eabaa445bffdb945f06fe" - ], - [ - "FStar.Int8.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" - ], - 0, - "a7a26d9f12f46a1e137eb563865fbccc" - ], - [ - "FStar.Int8.div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int8.v", - "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" - ], - 0, - "00154cf73e1422081a8a01c15fe74547" - ], - [ - "FStar.Int8.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee", - "typing_Prims.int" - ], - 0, - "049a306067a7ec4ab91a26bfe048306f" - ], - [ - "FStar.Int8.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int8.v", - "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_bcfada7fe24cdb2217294983169b91ee" - ], - 0, - "9108e457e2e7e2a143364869f9b8290e" - ], - [ - "FStar.Int8.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "26304624c6407aeadd081b49b54562f3" - ], - [ - "FStar.Int8.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "5f6827fe7cef3d1aa53bba12e35b0334" - ], - [ - "FStar.Int8.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "fffce4d2d607c7068d88cce92736b799" - ], - [ - "FStar.Int8.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "9757a61ac3e7bb803dd8a6d7aada935d" - ], - [ - "FStar.Int8.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.Int8.v", "proj_equation_FStar.Int8.Mk_v", - "projection_inverse_FStar.Int8.Mk_v" - ], - 0, - "23abf0fbdda56eff5a57a779b9a143e0" - ], - [ - "FStar.Int8.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2a2579a9298484fcab419ede5288ddf7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "64e928d8cd7b5c58a74bcaae7c30e171" - ], - [ - "FStar.Int8.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int8.v", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "af9062cd025a7208a10062ab0817f693" - ], - [ - "FStar.Int8.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Int8.t", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4cf657497b00e2f2a0270d30bd31030a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "ff11b4e65257a89ae8bbb4190c9284fa" - ], - [ - "FStar.Int8.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int8.v", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "a6eda71f3b698b61a5c279824f282671" - ], - [ - "FStar.Int8.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "e856fd6ea269434a9abe90990ee53066" - ], - [ - "FStar.Int8.shift_arithmetic_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_FStar.Int8.v", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Int8.Mk_v", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Int8.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "037dfb55c8f6c3e1884bea200ff4ca23" - ], - [ - "FStar.Int8.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.Int8.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_Prims.abs", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_26d768cc241c6628db9e0d45d45d9136", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_3c6fe23ae90da367aa6a92961d06aaec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int8.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.max_int", - "typing_FStar.UInt.sub_mod", "typing_Prims.bool" - ], - 0, - "c0873675e6b7f85f3eb7cbb33596b82c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Int8.fsti.hints b/ulib/.hints/FStar.Int8.fsti.hints deleted file mode 100644 index 60a8699f0c6..00000000000 --- a/ulib/.hints/FStar.Int8.fsti.hints +++ /dev/null @@ -1,185 +0,0 @@ -[ - "ôÐ@Ukb=E•9\u0002v;®} ", - [ - [ - "FStar.Int8.int_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "584045d50cc48b5500b3089f3f1fb065" - ], - [ - "FStar.Int8.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bed937cce8cdf75e4ca2026e8263a1e" - ], - 0, - "6970a9c7516f58d0506d6e8f2b81e7ec" - ], - [ - "FStar.Int8.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_1bed937cce8cdf75e4ca2026e8263a1e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7412fda8279b858115769986f760d973" - ], - [ - "FStar.Int8.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Int.int_t", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5f040b61366f751cbedb6f1579e64e34" - ], - [ - "FStar.Int8.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2903d6fea283b017040d1878bd1d4881", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "37711e098f45988fad2e61d504652ba3" - ], - [ - "FStar.Int8.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ef6337998f3679c1b40e5675fc34e8d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "0a2597ca7290bc907119f058f1126b26" - ], - [ - "FStar.Int8.shift_arithmetic_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Int.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "haseqTm_refine_c156ecc6eab05d1687a383ef171435eb", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "e395d100dfdeba63090f40053368f78f" - ], - [ - "FStar.Int8.ct_abs", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_arithmetic_right_vec", - "equation_FStar.Int.fits", "equation_FStar.Int.from_uint", - "equation_FStar.Int.from_vec", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.nth", "equation_FStar.Int.ones", - "equation_FStar.Int.shift_arithmetic_right", - "equation_FStar.Int.size", "equation_FStar.Int.to_uint", - "equation_FStar.Int.to_vec", "equation_FStar.Int.zero", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.abs", "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Int.inverse_vec_lemma", - "lemma_FStar.Int.ones_nth_lemma", - "lemma_FStar.Int.shift_arithmetic_right_lemma_1", - "lemma_FStar.Int.shift_arithmetic_right_lemma_2", - "lemma_FStar.Int.to_uint_injective", - "lemma_FStar.Int.zero_nth_lemma", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_26d768cc241c6628db9e0d45d45d9136", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_edde6135cd8c48071c1d975316b81b83", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_arithmetic_right_vec", - "typing_FStar.Int.lognot", "typing_FStar.Int.nth", - "typing_FStar.Int.to_uint", "typing_FStar.Int.to_vec", - "typing_FStar.Int8.v", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.bool" - ], - 0, - "237c64c74642c8fe06c5cc00bb345c4e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.IntegerIntervals.fst.hints b/ulib/.hints/FStar.IntegerIntervals.fst.hints deleted file mode 100644 index 06a4eb411c0..00000000000 --- a/ulib/.hints/FStar.IntegerIntervals.fst.hints +++ /dev/null @@ -1,134 +0,0 @@ -[ - "\n\n‘ƒ\r®\u0006fÊ\u0018é”—Z¤B", - [ - [ - "FStar.IntegerIntervals.coerce_to_not_less_than", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "73c3e89a22b9fe80072d711ed1517efb" - ], - [ - "FStar.IntegerIntervals.closed_interval_lemma", - 1, - 2, - 1, - [ "@query", "equation_FStar.IntegerIntervals.ifrom_ito" ], - 0, - "17329fbfed1b092dfad1e4b371fb16bd" - ], - [ - "FStar.IntegerIntervals.interval_size", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b79d089d8677db3aee3a28ff9ae622ff" - ], - [ - "FStar.IntegerIntervals.uu___0", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_size", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "833375027a12ae311686ff84f5d6fff5" - ], - [ - "FStar.IntegerIntervals.uu___1", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_size", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "f5ead4112c1991c5c350bcb8c03e780e" - ], - [ - "FStar.IntegerIntervals.uu___2", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_size", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "f1502f8a0e5c89618a2339b39e002901" - ], - [ - "FStar.IntegerIntervals.counter_bounds_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.counter_for", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "592d885ad90e58d133370286ed3c8b02" - ], - [ - "FStar.IntegerIntervals.indices_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.IntegerIntervals_interpretation_Tm_arrow_228eb393a9eb9a40ceba40f3bf06b6f8", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_type", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "interpretation_Tm_abs_07607a90cdec640007c6e8f2e5d63494", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c4167b507ffe04135b47025f765c8a4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.under", "typing_Prims.int" - ], - 0, - "ec3d1f8c9e5471ff62c53825417a23a5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Integers.fst.hints b/ulib/.hints/FStar.Integers.fst.hints deleted file mode 100644 index 009f50afed9..00000000000 --- a/ulib/.hints/FStar.Integers.fst.hints +++ /dev/null @@ -1,1517 +0,0 @@ -[ - "?CäKÏï'\u001b¤‘z\u001fW8RÔ", - [ - [ - "FStar.Integers.nat_of_width", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6a969f68ce83d2d186b31fe0f34df6b1" - ], - [ - "FStar.Integers.fixed_width", - 1, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "504f76a72dfa00d0cbe60eb925f3c138" - ], - [ - "FStar.Integers.nat_of_fixed_width", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.nat_of_width", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Integers.nat_of_width", "typing_Prims.int" - ], - 0, - "cc8b580d8546579baf836d4b819bc275" - ], - [ - "FStar.Integers.signed_width", - 1, - 0, - 2, - [ - "@query", "assumption_FStar.Integers.width__uu___haseq", - "equation_FStar.Integers.fixed_width", - "haseqTm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "a4ca42061257fa3f9cc7ee872e6c4ce9" - ], - [ - "FStar.Integers.__proj__Signed__item___0", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c" - ], - 0, - "d1f09715c2e76de012bff124785d2306" - ], - [ - "FStar.Integers.__proj__Unsigned__item___0", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9" - ], - 0, - "6a09e5bb0cd7b7c4847b51ae397e3bf3" - ], - [ - "FStar.Integers.width_of_sw", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7025c9a8cffe179c7d8d28cefd9059b6" - ], - [ - "FStar.Integers.int_t", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "c36a04ebc368b0e539fbb8e4c33bb21f" - ], - [ - "FStar.Integers.within_bounds'", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.width_of_sw", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", - "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_BoxInt_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_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.width_of_sw", "typing_Prims.int" - ], - 0, - "906742a9683c0aa058fbcf98d893f323" - ], - [ - "FStar.Integers.v", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "true_interp", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "85c13da9ceae2941348702edc30e30b0" - ], - [ - "FStar.Integers.u", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "b5409ef65bbb97a823e9267cc02b419f" - ], - [ - "FStar.Integers.cast", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6228b710eb081c754099c34a8e4ca490" - ], - 0, - "3a0cdd5e71635ecdc2cc3bf246ac04c6" - ], - [ - "FStar.Integers.op_Plus", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", "int_typing", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_9de6182063933d00c254512ae9ad3990", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.v" - ], - 0, - "fdb54658a56226652eadb678463d2b26" - ], - [ - "FStar.Integers.op_Plus_Question", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "153d7fe8be968c6335e618cf1ef77b3b" - ], - [ - "FStar.Integers.modulo", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d62cc7f93063e0d07a076d3113d69d40" - ], - 0, - "fc4d8ad0971e4d24e47421e43bbd76f9" - ], - [ - "FStar.Integers.op_Plus_Percent", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "6b1f228c6c14c7e2c91fb03d2f9e3b22" - ], - [ - "FStar.Integers.op_Subtraction", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_typing", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2a9fb1ada30e750314edb6ced25e538c", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.nat_of_width", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "7c3ef3573186907a73fc6b5dca8695a5" - ], - [ - "FStar.Integers.op_Subtraction_Question", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "add6ddafa634a63344c0879cac41ac82" - ], - [ - "FStar.Integers.op_Subtraction_Percent", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_1a740a9f8cbf46a0601ff7b7099651c9", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "988ef225d5d150a6b150f918eab9b5aa" - ], - [ - "FStar.Integers.op_Minus", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.int_t", - "equation_FStar.Int.max_int", "equation_FStar.Int.min_int", - "equation_FStar.Int.size", "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "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_039dd62f460194ba9bec48d2b73289fe", - "refinement_interpretation_Tm_refine_c156ecc6eab05d1687a383ef171435eb", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "refinement_interpretation_Tm_refine_ea7f6e9ec725a09c7762463f27eda59c", - "typing_FStar.Int128.v", "typing_FStar.Integers.nat_of_width", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" - ], - 0, - "51abee42ece49ca606927d770a579573" - ], - [ - "FStar.Integers.op_Star", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.size", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Multiply", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_14065bd21de5da62e067667122806c60", - "refinement_interpretation_Tm_refine_770c478fe2b76ccf433ac4922dca102b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.v", "typing_FStar.Integers.width_of_sw" - ], - 0, - "26f8a231a0bc630bffa9e1ee96cd1d4f" - ], - [ - "FStar.Integers.op_Star", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "ff44117fa3cd19e9f4c759dff1403751" - ], - [ - "FStar.Integers.op_Star_Question", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.width__uu___haseq", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "e55e2649e85cb2072ef676c903430194" - ], - [ - "FStar.Integers.op_Star_Question", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "aec2566bce72ac0d5c7bd9743d6e3edd" - ], - [ - "FStar.Integers.op_Star_Percent", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.width__uu___haseq", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.width", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_2f33eaeacd7f7afb3221609236dd744b", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "78897fa04198d72224c72fdc88b319c2" - ], - [ - "FStar.Integers.op_Star_Percent", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "aec2566bce72ac0d5c7bd9743d6e3edd" - ], - [ - "FStar.Integers.op_Greater", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "66de3a807999d4b52208d34618c73c97" - ], - [ - "FStar.Integers.op_Greater_Equals", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "bd0ded062b9f38a8d6eec8bedff49260" - ], - [ - "FStar.Integers.op_Less", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "da0c26fc3a6ec890c9f9428477e3e5bb" - ], - [ - "FStar.Integers.op_Less_Equals", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446" - ], - 0, - "73be4c2f866ce2b3883cbcd0e2331585" - ], - [ - "FStar.Integers.op_Slash", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "b2t_def", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.op_Slash", - "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_Prims.nonzero", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_6440c7ad3e8a2772fe7f6bcabdbf4ae5", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.v" - ], - 0, - "e7b8dd5e6aa1ab4c0a0382380cda0ca3" - ], - [ - "FStar.Integers.op_Slash", - 2, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Integers.signed_width__uu___haseq", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789" - ], - 0, - "1850d61190736f1187ad376a6f6e986d" - ], - [ - "FStar.Integers.op_Percent", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Integers.Signed", - "data_elim_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_Prims.nonzero", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_8dd9a7dcbb157dbc230de549a18f063c", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.v" - ], - 0, - "d1c9d054d94a306b94f3759cae381bd4" - ], - [ - "FStar.Integers.op_Percent", - 2, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Integers.signed_width__uu___haseq", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.unit", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.nat_of_fixed_width", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_55573c13df1ad79625a0017d3021d789", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e21cb9f71b4a17800ae5217ae0735f6b", - "typing_FStar.Integers.nat_of_width", "typing_FStar.Integers.v", - "typing_FStar.Integers.width_of_sw", "unit_typing" - ], - 0, - "cd88199cf7a10d9c2de20d823f581f64" - ], - [ - "FStar.Integers.op_Hat_Hat", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "data_elim_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0b63126b469953c61458a5e693b36b60", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "24bfde2e0e64763162bf23f69e593b67" - ], - [ - "FStar.Integers.op_Hat_Hat", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "6f2f09a14d57a10cb56188e9e37ee6ca" - ], - [ - "FStar.Integers.op_Amp_Hat", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "data_elim_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0b63126b469953c61458a5e693b36b60", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "78d1c28e7638aeb3032aa981d42d2828" - ], - [ - "FStar.Integers.op_Amp_Hat", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "6f2f09a14d57a10cb56188e9e37ee6ca" - ], - [ - "FStar.Integers.op_Bar_Hat", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "data_elim_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.width_of_sw", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0b63126b469953c61458a5e693b36b60", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "d40ed5b23379dfc6ff58336c0af5c434" - ], - [ - "FStar.Integers.op_Bar_Hat", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "6f2f09a14d57a10cb56188e9e37ee6ca" - ], - [ - "FStar.Integers.op_Less_Less_Hat", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Integers_pretyping_6ad08c58c10cb742e34ff2d7d8900d61", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.size", "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_fixed_width", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", - "equation_FStar.Integers.within_bounds_", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0dc67f42aecb9f33a9d7e6f039e2edda", - "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "34ae9f4bf9b51121045431079be794df" - ], - [ - "FStar.Integers.op_Less_Less_Hat", - 2, - 0, - 2, - [ - "@query", "assumption_FStar.Integers.width__uu___haseq", "b2t_def", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0" - ], - 0, - "81ffc94ec4d82d6c48c48ddb545026e7" - ], - [ - "FStar.Integers.op_Greater_Greater_Hat", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W16", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.W64", - "constructor_distinct_FStar.Integers.W8", - "constructor_distinct_Tm_unit", "data_elim_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Signed", - "disc_equation_FStar.Integers.Unsigned", - "disc_equation_FStar.Integers.W128", - "disc_equation_FStar.Integers.W16", - "disc_equation_FStar.Integers.W32", - "disc_equation_FStar.Integers.W64", - "disc_equation_FStar.Integers.W8", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W16@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.W64@tok", - "equality_tok_FStar.Integers.W8@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.fixed_width", - "equation_FStar.Integers.int_t", - "equation_FStar.Integers.nat_of_fixed_width", - "equation_FStar.Integers.nat_of_width", "equation_FStar.Integers.v", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt128.n", - "fuel_guarded_inversion_FStar.Integers.signed_width", - "fuel_guarded_inversion_FStar.Integers.width", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "proj_equation_FStar.Integers.Signed__0", - "proj_equation_FStar.Integers.Unsigned__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_551dcdc332552a67f89abc17ed6d6028", - "refinement_interpretation_Tm_refine_d12d61266a2f2128b6a00b00566f8446", - "refinement_interpretation_Tm_refine_e9111ef2a2a3351bb367ea6deb9e6086", - "typing_FStar.Integers.nat_of_fixed_width", - "typing_FStar.Integers.width_of_sw" - ], - 0, - "b81c1ae7ed5f7eeac554c54fa96f0c46" - ], - [ - "FStar.Integers.op_Greater_Greater_Hat", - 2, - 0, - 2, - [ "@query", "assumption_FStar.Integers.width__uu___haseq" ], - 0, - "b5a42d15dedb00e29d555c877f8d7891" - ], - [ - "FStar.Integers.g", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4d75010ffac0608e101e75d4219b953e" - ], - 0, - "63ad9822b287d11acc983e0c3f2f9277" - ], - [ - "FStar.Integers.g", - 2, - 0, - 2, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0" - ], - 0, - "b371df2bf0fe485a00060e53a21da5ff" - ], - [ - "FStar.Integers.h", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2c74b3c614c8c924410ac115bc7aa256" - ], - [ - "FStar.Integers.k", - 1, - 0, - 2, - [ - "@query", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", - "projection_inverse_FStar.Integers.Signed__0" - ], - 0, - "ba73f8f13295a7056667c45cf428c891" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.Base.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.Base.fst.hints deleted file mode 100644 index e54f3390558..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.Base.fst.hints +++ /dev/null @@ -1,330 +0,0 @@ -[ - "4³ÞÝë–\u0018×Íõ¼¯Üر‡", - [ - [ - "FStar.InteractiveHelpers.Base.bv_eq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5c29c063e8986cce5f2345a7a676447e" - ], - [ - "FStar.InteractiveHelpers.Base.opt_apply", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "dec443eaf59da06adaef68eee8ee2c82" - ], - [ - "FStar.InteractiveHelpers.Base.opt_tapply", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "71382bd9c1f95528dfab8a70956044e8" - ], - [ - "FStar.InteractiveHelpers.Base.option_to_string", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "84529ea0b60898076fd8d737dedddac3" - ], - [ - "FStar.InteractiveHelpers.Base.opt_cons", - 1, - 0, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "dc68ccfe8d996c53243ad91a9dd2a0f3" - ], - [ - "FStar.InteractiveHelpers.Base.unzip", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b75e9fa191cd41274f574c20bf99b53c_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "0c9f754925c105ac57c3366e16c0dd74" - ], - [ - "FStar.InteractiveHelpers.Base.print_binder_info", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.aqualv", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2d6c090fa8b0086d39aa5820243f7e81" - ], - [ - "FStar.InteractiveHelpers.Base.acomp_to_string", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp" - ], - 0, - "efca37274583db3d588eeb14c1cc939d" - ], - [ - "FStar.InteractiveHelpers.Base.__proj__MetaAnalysis__item__uu___", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31faf0785289105b75219c704006352e" - ], - 0, - "8e95aade021175fc00b3355a8d709afd" - ], - [ - "FStar.InteractiveHelpers.Base.bind_map_get", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "binder_x_0daca0b499e5436397ec0f6e112b7d48_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.InteractiveHelpers.Base.bind_map", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "90f58e2e5961434d8ab172204e959bf9" - ], - [ - "FStar.InteractiveHelpers.Base.bind_map_get_from_name", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.InteractiveHelpers.Base.bind_map", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2c54537b7d072c551037b53662690525" - ], - [ - "FStar.InteractiveHelpers.Base.genv_get_from_name", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.bool" - ], - 0, - "42feb850007fbf0778ecfd1100e4e94e" - ], - [ - "FStar.InteractiveHelpers.Base.genv_push_bv", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "c2762926031053581d0a542556189a00" - ], - [ - "FStar.InteractiveHelpers.Base.bv_is_abstract", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.InteractiveHelpers.Base.genv_get", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.eqtype", - "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", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.bool" - ], - 0, - "2cdfc53864814a657e40fdfe20fea898" - ], - [ - "FStar.InteractiveHelpers.Base.norm_apply_subst_in_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.aqualv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp" - ], - 0, - "6d3bd142867fafe0f484adcb886ac5d4" - ], - [ - "FStar.InteractiveHelpers.Base.deep_apply_subst", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Var", - "equation_FStar.InteractiveHelpers.Base.bind_map", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.either@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.InteractiveHelpers.Base.bind_map_get", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___1", - "typing_FStar.Stubs.Reflection.Types.comp", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.bool" - ], - 0, - "c986adc0596fe18e602df9b1c2e36240" - ], - [ - "FStar.InteractiveHelpers.Base.deep_apply_subst", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Q_Meta", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.aqualv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp" - ], - 0, - "c27b4a224b155e20e9b97f562a7f4fb9" - ], - [ - "FStar.InteractiveHelpers.Base.deep_apply_subst", - 3, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.pattern", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "477e934d8b906c3498b1ec85808291f5" - ], - [ - "FStar.InteractiveHelpers.Base.opt_apply_subst", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "a87bd6db83a5643a5a563f766dbd82a5" - ], - [ - "FStar.InteractiveHelpers.Base._generate_shadowed_subst", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "14d060b7ba4e84b0ae7f14d7d7792dfe" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.Effectful.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.Effectful.fst.hints deleted file mode 100644 index 46b8e2623b7..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.Effectful.fst.hints +++ /dev/null @@ -1,504 +0,0 @@ -[ - "nS\u001az……;-\u001aI«lI“æn", - [ - [ - "FStar.InteractiveHelpers.Effectful.decompose_application_aux", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "e1fc336e20bc99a04927f7884356071e" - ], - [ - "FStar.InteractiveHelpers.Effectful.comp_view_to_effect_info", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cd7bdc691d06ccea6f291f0f5f600092" - ], - [ - "FStar.InteractiveHelpers.Effectful.compute_effect_info", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.comp" - ], - 0, - "0e22299468b2bef9a1f7fb31c4302b71" - ], - [ - "FStar.InteractiveHelpers.Effectful.typ_or_comp_to_effect_info", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "equation_FStar.InteractiveHelpers.ExploreTerm.num_unflushed_of_typ_or_comp", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.Effectful.effect_info@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_95fb0a07ee7b0f13d11bf7607c606ebb" - ], - 0, - "04a30df2ac8d6c1a2f7c48afd5efe294" - ], - [ - "FStar.InteractiveHelpers.Effectful.compute_eterm_info", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.Effectful.effect_info@tok", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "be6ba565997f1e4773601ed8fce25828" - ], - [ - "FStar.InteractiveHelpers.Effectful.get_refinement", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f5ed0afae7dd8bce131c2e2f86018ab" - ], - 0, - "172498cfc39454409b3bfd627ea4ae2a" - ], - [ - "FStar.InteractiveHelpers.Effectful.type_comparison_to_string", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.Effectful.Refines", - "disc_equation_FStar.InteractiveHelpers.Effectful.Same_raw_type", - "disc_equation_FStar.InteractiveHelpers.Effectful.Unknown", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.type_comparison", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1fa00e3867a2eb0ccbe02f74ab8e1f60" - ], - [ - "FStar.InteractiveHelpers.Effectful.compare_types", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.InteractiveHelpers.Effectful.type_comparison__uu___haseq", - "equation_FStar.InteractiveHelpers.Effectful.has_refinement", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.type_info", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", "unit_typing" - ], - 0, - "25750eba139d2a5839e0f1c6b075211c" - ], - [ - "FStar.InteractiveHelpers.Effectful.compare_cast_types", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.InteractiveHelpers.Effectful.type_comparison__uu___haseq", - "data_elim_FStar.InteractiveHelpers.Effectful.Mkcast_info", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.cast_info", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", "unit_typing" - ], - 0, - "bc5479e1d885685d03c8f6ca3d21ff11" - ], - [ - "FStar.InteractiveHelpers.Effectful.cast_info_to_propositions", - 1, - 0, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.InteractiveHelpers.Effectful.type_comparison__uu___haseq", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.InteractiveHelpers.Effectful.Refines", - "disc_equation_FStar.InteractiveHelpers.Effectful.Same_raw_type", - "disc_equation_FStar.InteractiveHelpers.Effectful.Unknown", - "equation_FStar.InteractiveHelpers.Effectful.has_refinement", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.cast_info", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.type_comparison", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_b50a05944a038f2b0aaeee8625c945e3", - "string_typing", "unit_typing" - ], - 0, - "a8f8f7b28ec1e59b0691c8aa14a473da" - ], - [ - "FStar.InteractiveHelpers.Effectful.__proj__PP_State__item__state_type", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_450daea0a9fb55a92f480dc63c6f1e57" - ], - 0, - "87a4dc7e68fd281ee714093c733061e8" - ], - [ - "FStar.InteractiveHelpers.Effectful.compute_pre_type", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "462bb1fbe807cdeedaef3e59bcbebc78" - ], - [ - "FStar.InteractiveHelpers.Effectful.compute_post_type", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.InteractiveHelpers.ExploreTerm.get_total_or_gtotal_ret_type", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "d73ce3b0f4dd0baee4ede89b671252b8" - ], - [ - "FStar.InteractiveHelpers.Effectful.check_opt_pre_post_type", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "6f1aa18de8f6a317b3eecb2a4c68f3d4" - ], - [ - "FStar.InteractiveHelpers.Effectful._introduce_variables_for_abs", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", - "typing_FStar.InteractiveHelpers.ExploreTerm.get_total_or_gtotal_ret_type", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "5b72ceaefe3c87dd09a84eec70ebc0c9" - ], - [ - "FStar.InteractiveHelpers.Effectful.introduce_variables_for_abs", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "5bb23e0e1844706df60b40052e4d8519" - ], - [ - "FStar.InteractiveHelpers.Effectful.introduce_variables_for_opt_abs", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "901262a5a33ccc70c5671835e18b34cb" - ], - [ - "FStar.InteractiveHelpers.Effectful.effect_type_is_stateful", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_PURE", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Pure", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_ST", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Stack", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Total", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.effect_type", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a0145cae873f72afb9495ff25948405d" - ], - [ - "FStar.InteractiveHelpers.Effectful.term_has_effectful_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.Effectful.effect_info@tok", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "541d02fd395dbc2563c62076b2c32343" - ], - [ - "FStar.InteractiveHelpers.Effectful.related_term_is_effectul", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "28a64d6124c161018d955400420624ae" - ], - [ - "FStar.InteractiveHelpers.Effectful.find_mem_in_related", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_typing" - ], - 0, - "26503ea98a146a0617127329c22d38c8" - ], - [ - "FStar.InteractiveHelpers.Effectful.find_mem_in_children", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "assumption_FStar.Pervasives.Native.option__uu___haseq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.bool" - ], - 0, - "dd1387ea0e45ecfdca38e67933d40bb0" - ], - [ - "FStar.InteractiveHelpers.Effectful.pre_post_to_propositions", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_PURE", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Pure", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_ST", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Stack", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Total", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_PURE", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Pure", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_ST", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Stack", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Total", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.effect_type", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", "unit_typing" - ], - 0, - "10fd1c276020b4f59c3727e0bf21d52b" - ], - [ - "FStar.InteractiveHelpers.Effectful.eterm_info_to_assertions", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.InteractiveHelpers.Base_pretyping_3ef7202e81faee9f7c49125c4a8251eb", - "FStar.InteractiveHelpers.Effectful_pretyping_c822c7cda6c6a28dbf547a3357f4d38d", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.InteractiveHelpers.Effectful.Mketerm_info", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.InteractiveHelpers.Propositions.proposition", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Base.genv", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.eterm_info", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.type_info", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "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", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", - "typing_FStar.InteractiveHelpers.ExploreTerm.__proj__Mktype_info__item__refin", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.Types.term", "unit_typing" - ], - 0, - "66bdc742510bfcaabcfbb3a33a5bf1a5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.ExploreTerm.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.ExploreTerm.fst.hints deleted file mode 100644 index 65ab5ba91b0..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.ExploreTerm.fst.hints +++ /dev/null @@ -1,478 +0,0 @@ -[ - "ÇMjÇT[ÂÓ}\u001f¶ÆF\t÷è", - [ - [ - "FStar.InteractiveHelpers.ExploreTerm.comp_qualifier", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp" - ], - 0, - "e6b56de4f72c6e54b26cd52a77b3c978" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.effect_type_to_string", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_PURE", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Pure", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_ST", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Stack", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Total", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.effect_type", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2f5fc2daffc30d16a071f3e9c9cf5b47" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.effect_type_is_pure", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_GTotal", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Lemma", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_PURE", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Pure", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_ST", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Stack", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Total", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.E_Unknown", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.effect_type", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "620553300096602e999251f695bd5723" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.get_type_info", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "d69c5d11c0043c2f322e2ea3e7fc4b96" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.get_comp_ret_type", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp" - ], - 0, - "ac53aff35391ad8e3a08d554d8f1b25d" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" - ], - 0, - "70fb6d242b5fcc609c18943485985f19" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__pl", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" - ], - 0, - "e16338f55dc65c5be6044b124f1651fe" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Typ__item__num_unflushed", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08743b5eaeaea0d70266d38bab2cb102" - ], - 0, - "a5d8815f8663ec28fc1c0b4fcbc1c8c8" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__v", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" - ], - 0, - "a452ffafda5bb75affd45891996a0832" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__pl", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" - ], - 0, - "43329965dec6ac11d15af1e99ab0ae72" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.__proj__TC_Comp__item__num_unflushed", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c71f2038aa8d49b8e7a40249f8b9b22b" - ], - 0, - "961fdd51205eeaddc65acef92c2632bb" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.typ_or_comp_to_string", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "430b659083cf1571c8a2fabed41f3cdb" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.params_of_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cad2e84404d2797fc65484dc5ad75590" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.num_unflushed_of_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b5ce177efee67a801812a3040b9dee0d" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.safe_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_num_unflushed", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_pl", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.comp", - "unit_typing" - ], - 0, - "be09d27036de37a364ec0f03db12586d" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.inst_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a4afaa6541dd6c5469d3c3ce19ce3756" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.abs_update_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "47d539562f8fbc73cd4cf43b68c4c21b" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.abs_update_opt_typ_or_comp", - 1, - 0, - 1, - [ - "@query", - "kinding_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp@tok", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "d93f29e3486a2401d74ac468c202bca5" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm._flush_typ_or_comp_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b65a13371c7ab055a10fb5cc7bec7cd8" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.flush_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Comp", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "equation_FStar.InteractiveHelpers.ExploreTerm.num_unflushed_of_typ_or_comp", - "fuel_guarded_inversion_FStar.InteractiveHelpers.ExploreTerm.typ_or_comp", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_num_unflushed", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_pl", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Comp_v" - ], - 0, - "4a2f46688a09b8cc298b6bf760e50a56" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.safe_arg_typ_or_comp", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.InteractiveHelpers.ExploreTerm.TC_Typ", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Typ_num_unflushed", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Typ_pl", - "projection_inverse_FStar.InteractiveHelpers.ExploreTerm.TC_Typ_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_typing" - ], - 0, - "9dd0197f442cf7bb043b02b37e9f9609" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.convert_ctrl_flag", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Tactics.Types.Abort", - "disc_equation_FStar.Stubs.Tactics.Types.Continue", - "disc_equation_FStar.Stubs.Tactics.Types.Skip", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Types.ctrl_flag", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d5db6b2e4d69c89218c77e9b794110fa" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.bind_expl", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Stubs.Tactics.Types.ctrl_flag__uu___haseq", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result" - ], - 0, - "06da4c15c6e527f9efef8e81486163cf" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.explore_term", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "FStar.Stubs.Tactics.Types_pretyping_753b6340a2efc04a30f8bc8027afd6a5", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "assumption_FStar.Stubs.Tactics.Types.ctrl_flag__uu___haseq", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equality_tok_FStar.Stubs.Tactics.Types.Skip@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "typing_tok_FStar.Stubs.Tactics.Types.Skip@tok", "unit_typing" - ], - 0, - "868f40fda5049d5a120d3f67cc99b0fb" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.explore_term", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Stubs.Tactics.Types.ctrl_flag__uu___haseq", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.pattern", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "dd710f4f5e85f964e589ee36665b72e7" - ], - [ - "FStar.InteractiveHelpers.ExploreTerm.free_in", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Var", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V1.Data.uu___is_Tv_Var", - "typing_Prims.bool" - ], - 0, - "0a3a680347b91bd30e7295090e8135e2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.Output.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.Output.fst.hints deleted file mode 100644 index b71a903d018..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.Output.fst.hints +++ /dev/null @@ -1,107 +0,0 @@ -[ - "\u0005Ø]ªnõy8\u007fñÆB7T", - [ - [ - "FStar.InteractiveHelpers.Output._split_subst_at_bv", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_5564259e272dbd11036eb05df82144bb_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "bef96cde5ccfd3a8214b935e3dfc943a" - ], - [ - "FStar.InteractiveHelpers.Output.subst_shadowed_with_abs_in_assertions", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "unit_typing" - ], - 0, - "d4f578f81486d8e623b9044d323d87e2" - ], - [ - "FStar.InteractiveHelpers.Output.opt_term_to_printout", - 1, - 0, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "9173a486bb6437750d6c9a076adc0f2e" - ], - [ - "FStar.InteractiveHelpers.Output.__proj__ESuccess__item__ge", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c3603a9204b69bd537f4b4bbf2a00266" - ], - 0, - "14bd504cfd79c2d9054c07271525fe93" - ], - [ - "FStar.InteractiveHelpers.Output.__proj__ESuccess__item__a", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c3603a9204b69bd537f4b4bbf2a00266" - ], - 0, - "2ba906de33d213c572e06b3948d3f569" - ], - [ - "FStar.InteractiveHelpers.Output.__proj__EFailure__item__err", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8334db65fdbf30bb7a9e3ef5d0b3120" - ], - 0, - "6164c14d4d42b3f8d13a53cf63085be6" - ], - [ - "FStar.InteractiveHelpers.Output.result_to_printout", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.Output.EFailure", - "disc_equation_FStar.InteractiveHelpers.Output.ESuccess", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Output.export_result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7623b299816b2c6b033ff3268c5e5240" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.PostProcess.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.PostProcess.fst.hints deleted file mode 100644 index 1bc9bdece82..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.PostProcess.fst.hints +++ /dev/null @@ -1,373 +0,0 @@ -[ - "Œ†^\"JYDÉÔ \"#WYÊš", - [ - [ - "FStar.InteractiveHelpers.PostProcess.find_predicated_term_explorer", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.InteractiveHelpers.PostProcess.exploration_result", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_inversion", "string_typing", "unit_inversion", "unit_typing" - ], - 0, - "1b6d356df7ccab7717fb85868cad8a3c" - ], - [ - "FStar.InteractiveHelpers.PostProcess.find_focused_term_in_current_goal", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.PostProcess.exploration_result@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.term", - "unit_typing" - ], - 0, - "6642a2701ba03a3dae2c8851c2f3907d" - ], - [ - "FStar.InteractiveHelpers.PostProcess.find_focused_assert_in_current_goal", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.InteractiveHelpers.PostProcess.exploration_result", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_typing" - ], - 0, - "7ff1f83fe56cdca1cf4918a0186a39a0" - ], - [ - "FStar.InteractiveHelpers.PostProcess.analyze_effectful_term", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b8e6a12c372ca559985520083f6f237", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.bool", - "unit_typing" - ], - 0, - "9cf78eec299fd71cd6f07aba6ac945ef" - ], - [ - "FStar.InteractiveHelpers.PostProcess.is_conjunction", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "3fa9a9df465927dedd98a887808a7886" - ], - [ - "FStar.InteractiveHelpers.PostProcess._split_conjunctions", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "aaca5d6f5e9b87f01a68c08501df34d7" - ], - [ - "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Dec__item___0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ec1d590800d70942ab13072a29673f7a" - ], - 0, - "e581e1f35aea0bf7cc4ae5724874cb3f" - ], - [ - "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Undec__item___0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_802465129bff50db8971f2dda770d6d2" - ], - 0, - "5be2c4d39ffc5155ff696b9b023ae4ba" - ], - [ - "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Hetero__item___0", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_03bcf644ac3d90a8a1a822143a60ce77" - ], - 0, - "9be162f55cc1cb39a2d9599557c6ea3c" - ], - [ - "FStar.InteractiveHelpers.PostProcess.__proj__Eq_Hetero__item___1", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_03bcf644ac3d90a8a1a822143a60ce77" - ], - 0, - "0f3edfcfbab4be5c6814ceb6ff1d5668" - ], - [ - "FStar.InteractiveHelpers.PostProcess.mk_eq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.InteractiveHelpers.PostProcess.Eq_Dec", - "disc_equation_FStar.InteractiveHelpers.PostProcess.Eq_Hetero", - "disc_equation_FStar.InteractiveHelpers.PostProcess.Eq_Undec", - "fuel_guarded_inversion_FStar.InteractiveHelpers.PostProcess.eq_kind", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "972a0c2d62ece2bf2458ab6258ad142f" - ], - [ - "FStar.InteractiveHelpers.PostProcess.formula_construct", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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, - "8e0ec8ba7b38686ee5e80be6897de2d6" - ], - [ - "FStar.InteractiveHelpers.PostProcess.find_equality_from_post", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.InteractiveHelpers.ExploreTerm_pretyping_5d9bce3f5e2fea0f23b7bfab7666d590", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.InteractiveHelpers.Effectful.Mkeffect_info", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.InteractiveHelpers.Propositions.proposition", - "fuel_guarded_inversion_FStar.InteractiveHelpers.Effectful.effect_info", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.term", - "unit_typing" - ], - 0, - "ebf4eecfceea5c4fbcbacd7815ae3e62" - ], - [ - "FStar.InteractiveHelpers.PostProcess.find_context_equality_aux", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.InteractiveHelpers.Base_pretyping_3ef7202e81faee9f7c49125c4a8251eb", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.InteractiveHelpers.Base.genv@tok", - "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Stubs.Reflection.Types.bv", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_typing" - ], - 0, - "3b6d8f11f9ad5b1567f248ce6841f066" - ], - [ - "FStar.InteractiveHelpers.PostProcess.unfold_in_assert_or_assume", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.InteractiveHelpers.Base_pretyping_3ef7202e81faee9f7c49125c4a8251eb", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.InteractiveHelpers.PostProcess.Mkexploration_result", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.InteractiveHelpers.PostProcess.exploration_result", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.InteractiveHelpers.PostProcess.eq_kind@tok", - "kinding_FStar.InteractiveHelpers.PostProcess.exploration_result@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "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.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_typing", "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_typing" - ], - 0, - "2df80ff21306ff49dcaeed47f145fc41" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.Propositions.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.Propositions.fst.hints deleted file mode 100644 index 1de00d5ed0d..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.Propositions.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "öÛzŽý¸+µç‡\u000eEÛ\\qe", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.Propositions.fsti.hints b/ulib/.hints/FStar.InteractiveHelpers.Propositions.fsti.hints deleted file mode 100644 index d50b378cc07..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.Propositions.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "}Åt9ÈtàØ7Ñ2ºNÃ\u0004†", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.InteractiveHelpers.fst.hints b/ulib/.hints/FStar.InteractiveHelpers.fst.hints deleted file mode 100644 index 58c1e13c3e6..00000000000 --- a/ulib/.hints/FStar.InteractiveHelpers.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¦›\"‹ÀÉ\u0019Ék\u000f±\u0014\u0016(š_", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Issue.fsti.hints b/ulib/.hints/FStar.Issue.fsti.hints deleted file mode 100644 index 5017e3c242d..00000000000 --- a/ulib/.hints/FStar.Issue.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0019ïX\u001a.0½ªxñm\u0011\u0005rÜ\u000f", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.LexicographicOrdering.fst.hints b/ulib/.hints/FStar.LexicographicOrdering.fst.hints deleted file mode 100644 index a09852f442e..00000000000 --- a/ulib/.hints/FStar.LexicographicOrdering.fst.hints +++ /dev/null @@ -1,382 +0,0 @@ -[ - "¾Ì¤4j\u0005SÙì‡Kè‰/y", - [ - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__x1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "4e3791ab0bee2c3780c441ccd67d723c" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__x2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "e67366aa52bfe107e3f30ce44f6c0d68" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "5a3345c9c60f6044d821a246801911fb" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "4655d93cb8a9e93637e22fa0198d6d16" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "7d2fd699abe3ea9e2a256ec1e92faf12" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "0f1aafafa74ebea01a5b7a6dbea68420" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "aedd806241947ef2c4d1b23d4eabeca3" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "93f32601b67c2ef64571e9c13afb78fc" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "b22dc9cd950ae84986d504d88972489d" - ], - [ - "FStar.LexicographicOrdering.closure_transitive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ReflexiveTransitiveClosure.binrel", - "equation_FStar.ReflexiveTransitiveClosure.preorder", - "equation_FStar.ReflexiveTransitiveClosure.preorder_rel", - "equation_FStar.ReflexiveTransitiveClosure.transitive", - "equation_FStar.WellFounded.binrel", - "lemma_FStar.ReflexiveTransitiveClosure.closure_step", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_e7e923946014b0c6cc9ff41f66d976a4", - "token_correspondence_FStar.ReflexiveTransitiveClosure.closure", - "typing_FStar.ReflexiveTransitiveClosure.closure" - ], - 0, - "297a28bb9131a1d39371d8d28779e52f" - ], - [ - "FStar.LexicographicOrdering.lex_t_wf_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_06325f67dcdf7951fc0fea4471789e11_9", - "binder_x_072b3a5a41521a39c3071f4f8fdb7e2c_6", - "binder_x_3cc41ec315ddf1505320309abc4466b9_14", - "binder_x_46af143e7d484842edaae221104817c6_13", - "binder_x_75f1c2396a08f09375e7e92b1d338ef2_12", - "binder_x_dcdbe2846f34254b2292e779cdbbf5de_8", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "disc_equation_FStar.LexicographicOrdering.Left_lex", - "disc_equation_FStar.LexicographicOrdering.Right_lex", - "equation_FStar.ReflexiveTransitiveClosure.binrel", - "equation_FStar.WellFounded.binrel", - "fuel_guarded_inversion_FStar.LexicographicOrdering.lex_t", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "fuel_guarded_inversion_Prims.dtuple2", - "lemma_FStar.LexicographicOrdering.closure_transitive", - "lemma_FStar.ReflexiveTransitiveClosure.closure_step", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.WellFounded.AccIntro_access_smaller", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "0d90a1b5793a57d54e5463dd449f867a" - ], - [ - "FStar.LexicographicOrdering.lex_t_wf", - 1, - 2, - 1, - [ "@query" ], - 0, - "9fc40fd04cd227c1c9c13f0b461933ff" - ], - [ - "FStar.LexicographicOrdering.lex_aux", - 1, - 2, - 1, - [ "@query" ], - 0, - "76a48510f77a3fe13a8d8d253ce048d2" - ], - [ - "FStar.LexicographicOrdering.lex_to_lex_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_Prims.eq2", "equation_Prims.l_and", "equation_Prims.l_or", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.sum", "l_and-interp", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "c90df6f2485e85fc70407a49ab0ea5e7" - ], - [ - "FStar.LexicographicOrdering.lex_wf", - 1, - 2, - 1, - [ "@query" ], - 0, - "4e26fccb6b96539084f87eaee1f2c340" - ], - [ - "FStar.LexicographicOrdering.lex", - 1, - 2, - 1, - [ "@query" ], - 0, - "e2bcd9e00d91ba70b9475b2a88282026" - ], - [ - "FStar.LexicographicOrdering.lex_t_non_dep_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.LexicographicOrdering.lex_t_non_dep", - "equation_FStar.LexicographicOrdering.tuple_to_dep_tuple", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_d3438e7a08b9223c98364473aaf05fd5", - "token_correspondence_FStar.LexicographicOrdering.lex_t@tok", - "token_correspondence_FStar.LexicographicOrdering.lex_t_non_dep", - "typing_FStar.LexicographicOrdering.tuple_to_dep_tuple", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "e419c2086a64fa26052b438293fed48c" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__x1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "eca08a86344bf2c205b2e06ed56b61d0" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__x2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "4f2a0cbdeb8d9a2c34e4b8b217f42b04" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__y", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "9a42f8fd5547998869145cbfd553a1c3" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "c3ad34d1648b095347ebb7e407cac54d" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "f6a2c2579c4f84ce0bbca2240d0b8d67" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "f60d0e506b2b6db385f63383961e7bff" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "617c74c6278a32957610a16e0301f146" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "3e46aea10d79fac6385050e3d372257a" - ], - [ - "FStar.LexicographicOrdering.sym_sub_lex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_sym", - "data_elim_FStar.LexicographicOrdering.Right_sym", - "disc_equation_FStar.LexicographicOrdering.Left_sym", - "disc_equation_FStar.LexicographicOrdering.Right_sym", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "fuel_guarded_inversion_FStar.LexicographicOrdering.sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "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" - ], - 0, - "78b43a36b5e54acb13ef1056e85720fc" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.LexicographicOrdering.fsti.hints b/ulib/.hints/FStar.LexicographicOrdering.fsti.hints deleted file mode 100644 index 761fe8fd90d..00000000000 --- a/ulib/.hints/FStar.LexicographicOrdering.fsti.hints +++ /dev/null @@ -1,276 +0,0 @@ -[ - "\u001dˆ´®Å\u0000ÕÜ?(\u001a#o¥î:", - [ - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__x1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "e63a860c0c6079b65d940fa8a2b0da0f" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__x2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "e67366aa52bfe107e3f30ce44f6c0d68" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "5a3345c9c60f6044d821a246801911fb" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "4655d93cb8a9e93637e22fa0198d6d16" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_lex__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_483b7906dc2866de010d2ec5a550fd4c" - ], - 0, - "7d2fd699abe3ea9e2a256ec1e92faf12" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "0f1aafafa74ebea01a5b7a6dbea68420" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "aedd806241947ef2c4d1b23d4eabeca3" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "93f32601b67c2ef64571e9c13afb78fc" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_lex__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_lex", - "fuel_guarded_inversion_Prims.dtuple2", - "refinement_interpretation_Tm_refine_76a15698df139f661cb175245f098bdd" - ], - 0, - "b22dc9cd950ae84986d504d88972489d" - ], - [ - "FStar.LexicographicOrdering.lex_aux", - 1, - 2, - 1, - [ "@query" ], - 0, - "e644d0408c39ba064f1bddb9ed3bc7ce" - ], - [ - "FStar.LexicographicOrdering.lex_wf", - 1, - 2, - 1, - [ "@query" ], - 0, - "b8d961d8029308ae71adaf90562150e3" - ], - [ - "FStar.LexicographicOrdering.lex", - 1, - 2, - 1, - [ "@query" ], - 0, - "e2bcd9e00d91ba70b9475b2a88282026" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__x1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "ccf7d9b598eb78d3e5e774ec0b776d30" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__x2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "4f2a0cbdeb8d9a2c34e4b8b217f42b04" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item__y", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "9a42f8fd5547998869145cbfd553a1c3" - ], - [ - "FStar.LexicographicOrdering.__proj__Left_sym__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_e6204610dcb2b1d0fca4f2a1766034e0" - ], - 0, - "c3ad34d1648b095347ebb7e407cac54d" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "f6a2c2579c4f84ce0bbca2240d0b8d67" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__y1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "f60d0e506b2b6db385f63383961e7bff" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item__y2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "617c74c6278a32957610a16e0301f146" - ], - [ - "FStar.LexicographicOrdering.__proj__Right_sym__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Right_sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_56d069ec247cb909bfad7100a98b8ecd" - ], - 0, - "3e46aea10d79fac6385050e3d372257a" - ], - [ - "FStar.LexicographicOrdering.sym_sub_lex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.LexicographicOrdering.Left_sym", - "data_elim_FStar.LexicographicOrdering.Right_sym", - "disc_equation_FStar.LexicographicOrdering.Left_sym", - "disc_equation_FStar.LexicographicOrdering.Right_sym", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "fuel_guarded_inversion_FStar.LexicographicOrdering.sym", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "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" - ], - 0, - "d0cad79020e51b8d824b5d3017b80118" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Pure.Base.fst.hints b/ulib/.hints/FStar.List.Pure.Base.fst.hints deleted file mode 100644 index 8aa7a08c50a..00000000000 --- a/ulib/.hints/FStar.List.Pure.Base.fst.hints +++ /dev/null @@ -1,97 +0,0 @@ -[ - "\u007fÏÉŒø¹b|\u001b\u0001ÃØÏlD", - [ - [ - "FStar.List.Pure.Base.map2", - 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", "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_7", - "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "constructor_distinct_Prims.Cons", "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", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "72e85d1c8c07df726d274753a81126d0" - ], - [ - "FStar.List.Pure.Base.map3", - 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", "binder_x_3677c645fc64e957deeeddfee5e227a7_10", - "binder_x_b2489209a73863f6f5441e14b2eb69ae_11", - "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_6", - "constructor_distinct_Prims.Cons", "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", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "proj_equation_FStar.Pervasives.Native.Mktuple3__2", - "proj_equation_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "9b132c95f65f0eef24df3769733ba533" - ], - [ - "FStar.List.Pure.Base.zip", - 1, - 2, - 1, - [ "@query" ], - 0, - "198463dce8877ac1feedcd5d675acf81" - ], - [ - "FStar.List.Pure.Base.zip3", - 1, - 2, - 1, - [ "@query" ], - 0, - "ac3a3bfd41d3eab08d72226565378a8e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Pure.Properties.fst.hints b/ulib/.hints/FStar.List.Pure.Properties.fst.hints deleted file mode 100644 index e94efcdd570..00000000000 --- a/ulib/.hints/FStar.List.Pure.Properties.fst.hints +++ /dev/null @@ -1,750 +0,0 @@ -[ - "±\u0004ªÚ‡«Ræo‹ƒ‡‰]17", - [ - [ - "FStar.List.Pure.Properties.splitAt_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_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", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "6997ace36b7cbbd3109f49ab0a56803e" - ], - [ - "FStar.List.Pure.Properties.splitAt_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Base.splitAt", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "25fe381a5cef726e87896f38746e764f" - ], - [ - "FStar.List.Pure.Properties.splitAt_assoc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "63026779f7bb16388c6ffee6f7a156b5" - ], - [ - "FStar.List.Pure.Properties.splitAt_length_total", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "0ce32fbd9a9b6b9e9ada7a7c136a17dc" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", "typing_Prims.int", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "dfab5293059260999f3b5e2e4269c4be" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7c932e39dbdaa0a8ff760623122b7621" - ], - [ - "FStar.List.Pure.Properties.lemma_append_splitAt", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "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_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "a62a29c256f216f5859e28ae14fd52ab" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ac564100c94df62b38eecf1bce82dac0", - "typing_Prims.int" - ], - 0, - "4771eddec193424dc81b0a53805c6cd9" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_index_hd", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "3ba8754977d8919f93a07c5c816fe882" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_index_hd", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "2ad9c177dbe5aa988a0f1343bc9c4341" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_shorten_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_81e0d6c546b2b887606811d2f2e9675b_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_ffcedb84154254bdd8b8b5f3aeed42b3_4", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_885b38daa7e584428a3a012bfaafbdfc", - "refinement_interpretation_Tm_refine_ccca1d55d553c3d3c7d8edc97ae52fa8", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "1b67f1625069274a7274500ea33cc5a0" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1a41c9e25b0d638bcdd417b6e07f1e00", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.splitAt", "well-founded-ordering-on-nat" - ], - 0, - "b8a137bca846b8b38a69ced393df42a5" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_reindex_left", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58a1d94ee8899023c3603d47865a9826" - ], - 0, - "2049c7c9a2efad12b68b128d9e2909ae" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8443b3d60c4bd67fc216ba8d093e9d25", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "well-founded-ordering-on-nat" - ], - 0, - "6e3d9ac1b83a723c7791f7e21566e5ce" - ], - [ - "FStar.List.Pure.Properties.lemma_splitAt_reindex_right", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_054d56d8b5ba94dca0c4222f383fcfab", - "refinement_interpretation_Tm_refine_0da9fdba420eee44f1b36148f2c0ad87", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8e6709f278ae9582ba8853f33c84410e" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.List.Tot.Base.split3", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.split3" - ], - 0, - "bea890586b5fd5bd3905b546079dc7a9" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.split3", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.List.Tot.Base.split3" - ], - 0, - "0486496deed23e7aa2081c314ddbd911" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.List.Tot.Base.split3", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.List.Tot.Base.splitAt", "typing_Prims.int" - ], - 0, - "7767415bde44e3f4459cc97a6ec2a3b7" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_on_same_leftprefix", - 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_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "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_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_505bbedfab1dbb355259e3beb29ae8de", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "cff6bfa739917e0b783f22060619272b" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_unsnoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90b31ace790dd0ad6a0a0d5fea90564f", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.List.Tot.Base.unsnoc" - ], - 0, - "9000a2e8053df966003627bf08516ce8" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_unsnoc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fff6e29abaf14a873b50c3eab873685f" - ], - 0, - "3d1ebfba4d9cd5e366e6a12cf130c6ab" - ], - [ - "FStar.List.Pure.Properties.lemma_unsnoc_split3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" - ], - 0, - "336facd173d1895064d033062dfa4e0d" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_r_hd", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_BoxInt", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7231628d7c19cf83dfa1531161ec299b", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.split3" - ], - 0, - "37a76d24f41e8d6b8d2aa8011d88fb58" - ], - [ - "FStar.List.Pure.Properties.lemma_split3_r_hd", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_BoxInt", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_0c4872608938b56b37ed1ac6357a2d0d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e179db66c952e82d323d7372a9c31384" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Pure.fst.hints b/ulib/.hints/FStar.List.Pure.fst.hints deleted file mode 100644 index eb8c02a0458..00000000000 --- a/ulib/.hints/FStar.List.Pure.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "AæŽð/Õ$0\u001f6ùC\u0001\bJ˜", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Tot.Base.fst.hints b/ulib/.hints/FStar.List.Tot.Base.fst.hints deleted file mode 100644 index 3d64f8d9a59..00000000000 --- a/ulib/.hints/FStar.List.Tot.Base.fst.hints +++ /dev/null @@ -1,1057 +0,0 @@ -[ - "tìý§º\u001bM@‡ÕÅ·ÛÆŸˆ", - [ - [ - "FStar.List.Tot.Base.hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "68ccf01d6fe55e4dc8854e007f1b5bca" - ], - [ - "FStar.List.Tot.Base.tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "1731c49f1401443130faa5d822cb8966" - ], - [ - "FStar.List.Tot.Base.last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_59bd78df6a193fb43bc86d1138fd4d51_2", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "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_89abfbf1dd7254ec2f6bfc654aa43591", - "subterm_ordering_Prims.Cons" - ], - 0, - "251509c327634e62d3ca053424fdf951" - ], - [ - "FStar.List.Tot.Base.init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_59bd78df6a193fb43bc86d1138fd4d51_2", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "fuel_guarded_inversion_Prims.list", - "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_89abfbf1dd7254ec2f6bfc654aa43591", - "subterm_ordering_Prims.Cons" - ], - 0, - "5afad33f95764a5af4e2e869040eeb40" - ], - [ - "FStar.List.Tot.Base.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "2727a09b1e6a9385c6b12323ce5af1ae" - ], - [ - "FStar.List.Tot.Base.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "709195fba35d05678ad90a90d253992f" - ], - [ - "FStar.List.Tot.Base.index", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "138eb5099281d425bc146d986e9bea6d" - ], - [ - "FStar.List.Tot.Base.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons" - ], - 0, - "1010e65e47941c11000ae468ef4a5eef" - ], - [ - "FStar.List.Tot.Base.rev_acc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "cd475c41f5236cdf4b945b5c8b9e32e7" - ], - [ - "FStar.List.Tot.Base.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "83dfef901d5024ed6a94aa3777ac9bef" - ], - [ - "FStar.List.Tot.Base.flatten", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_06941c098776be823b5825541eaaa106_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "422f16cd68215e5db3fb84a5bf485bdf" - ], - [ - "FStar.List.Tot.Base.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "923b00e12885cbbdbde9e7d0f511e301" - ], - [ - "FStar.List.Tot.Base.mapi_init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6b28881accb532c0f0c059b800451998" - ], - [ - "FStar.List.Tot.Base.concatMap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "18e437a10960a10283d2a0d26daa6c78" - ], - [ - "FStar.List.Tot.Base.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_6", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "adc0257d69a013983d4436feb9495f69" - ], - [ - "FStar.List.Tot.Base.fold_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d5ef57f1c7f8b591209405d0f7ebd5db" - ], - [ - "FStar.List.Tot.Base.fold_right_gtot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "8126565837d379518967dcbe412d7a60" - ], - [ - "FStar.List.Tot.Base.fold_left2", - 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", "binder_x_3677c645fc64e957deeeddfee5e227a7_9", - "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_8", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_5", - "constructor_distinct_Prims.Cons", "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", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "6d6c874548e8dac11cfeda5ae8fcb208" - ], - [ - "FStar.List.Tot.Base.memP", - 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, - "669e9aa372c1f77bd9a165a8c4ca5dda" - ], - [ - "FStar.List.Tot.Base.mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "e9d2b78a1d364ee8c7e7e697335945dc" - ], - [ - "FStar.List.Tot.Base.existsb", - 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, - "eca975c7cb96ac1fd10778785008bd1e" - ], - [ - "FStar.List.Tot.Base.find", - 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, - "2644e40cc63546496552f44a9c052176" - ], - [ - "FStar.List.Tot.Base.filter", - 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, - "c898d712e77a32919442ace0ba3ed124" - ], - [ - "FStar.List.Tot.Base.mem_filter", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Base_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.filter.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.filter" - ], - 0, - "fb2dbd7facbb896113e6afe00baf557d" - ], - [ - "FStar.List.Tot.Base.mem_filter_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5a44469026c36ed0706759ea8ff432ac" - ], - 0, - "92b8fad5ee25fa246e14de0f1eff45f6" - ], - [ - "FStar.List.Tot.Base.for_all", - 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, - "ae7878d71f6ce6d1c6c7549a599402dc" - ], - [ - "FStar.List.Tot.Base.for_all_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Base_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all" - ], - 0, - "b170413ada6bf9331af9a34b81d28c8b" - ], - [ - "FStar.List.Tot.Base.collect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "cbbac386a7c51680135196532cab9a39" - ], - [ - "FStar.List.Tot.Base.tryFind", - 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, - "de260ee33c6d655b867ef27a42b80f13" - ], - [ - "FStar.List.Tot.Base.tryPick", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_f41edc86ba19975386547506e21fe08c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "319dba32bd4067b554a1722e45bca93e" - ], - [ - "FStar.List.Tot.Base.choose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_41cb7ff98ddc4d65ea507c5289ae6dc0", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_f41edc86ba19975386547506e21fe08c_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d7ad32c2c67a11e96b41f55104a0c8a9" - ], - [ - "FStar.List.Tot.Base.partition", - 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, - "f4008e3b1074c062392fc39ad37ce907" - ], - [ - "FStar.List.Tot.Base.subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "3536ebe1d8c9e2d09df88406c34ebd65" - ], - [ - "FStar.List.Tot.Base.noRepeats", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "95a97f336695f470bd934d7e0b55a6e1" - ], - [ - "FStar.List.Tot.Base.no_repeats_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "aeb55a401f3b49f38bbf348a60675f15" - ], - [ - "FStar.List.Tot.Base.assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "e4ed16fbc614095d072865d4cfdc6db5" - ], - [ - "FStar.List.Tot.Base.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b75e9fa191cd41274f574c20bf99b53c_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6db06ed99a3cc3eb12cb362ec9e7555e" - ], - [ - "FStar.List.Tot.Base.unzip3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e82865b7ab8cdda60489ddca8334751d_6", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "44961fca0d11c24affddaf5679d70aee" - ], - [ - "FStar.List.Tot.Base.splitAt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ec5e7e482c65bfaebb4cc4324c0846ea" - ], - [ - "FStar.List.Tot.Base.lemma_splitAt_snd_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.snd", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "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", - "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_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "f00c561acc808dd9424efb092b904a06" - ], - [ - "FStar.List.Tot.Base.unsnoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "1c0791b61e731c8618e7285673f773a3" - ], - [ - "FStar.List.Tot.Base.split3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.snd", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2" - ], - 0, - "690dc9278a150550747a140073ae8fef" - ], - [ - "FStar.List.Tot.Base.partition_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Base_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_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_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.partition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "ecc45cee2fe6d9a26eadff6f566b8748" - ], - [ - "FStar.List.Tot.Base.compare_of_bool_of_compare", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "equation_FStar.List.Tot.Base.bool_of_compare", - "equation_FStar.List.Tot.Base.compare_of_bool", - "primitive_Prims.op_LessThan", "projection_inverse_BoxInt_proj_0", - "token_correspondence_FStar.List.Tot.Base.compare_of_bool" - ], - 0, - "95da5c8b341b92da0141ea3ace7e5723" - ], - [ - "FStar.List.Tot.Base.sortWith", - 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", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "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", - "typing_FStar.List.Tot.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "dd7c97cec8044a3e35ff7d95646e4e34" - ], - [ - "FStar.List.Tot.Base.strict_suffix_of", - 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, - "52725ef201018398cc5a48bfbc1d884d" - ], - [ - "FStar.List.Tot.Base.list_unref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7b8482093bae0a4b384c29b50fcca165_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "0b62e76a928ad20137c75ad1c98dcd1e" - ], - [ - "FStar.List.Tot.Base.list_refb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5f4f2ce27a893afcede8bf822c097e2f" - ], - [ - "FStar.List.Tot.Base.list_refb", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a84a0311ef615651d057a3d23cf0b2f_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_12e8a539a4129b19af91c208e9cbe3f9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6710d66206608a7feb599e6974696392", - "refinement_interpretation_Tm_refine_8e7b348d382d9f86d9b3466667285bb5", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d21e865e5e40a28cfd96dd802d0a0f0c", - "refinement_interpretation_Tm_refine_d3b740fc18c893c8f4b3264307c50168", - "refinement_kinding_Tm_refine_b8b77a8e463f18ad4c5793b3d9ec961f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all", - "typing_Prims.int" - ], - 0, - "dc542d81ae3108f100834670ad7e9d99" - ], - [ - "FStar.List.Tot.Base.list_refb", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0cdacaefd4a0954100abdd79792b6f0c" - ], - [ - "FStar.List.Tot.Base.list_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9a849f637c851774ce6ba678bf5d07a8" - ], - [ - "FStar.List.Tot.Base.list_ref", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_2bbfce795ca23f6a33c3d6a1ba08de1d_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_14d796a902287226ebb7a03401ad0237", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_43ef6ef0c1fec5b6d21c10914896dd34", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69489de87c73e7e2306509402ca623b5", - "refinement_interpretation_Tm_refine_6d7bc0e1e7a2c2fd8c5c651f0d0875b0", - "refinement_interpretation_Tm_refine_912f5b98b9fb38178c530e0b287047bf", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_kinding_Tm_refine_db47dcf87a2f9d7abbf9d4a2b35b3811", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_Prims.int" - ], - 0, - "b67e4921a605d7ecbacaac42a96ddf37" - ], - [ - "FStar.List.Tot.Base.list_ref", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4e6de9caf37ecaf3252f721cffbb3974" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Tot.Properties.fst.hints b/ulib/.hints/FStar.List.Tot.Properties.fst.hints deleted file mode 100644 index 60f0d0b9ce9..00000000000 --- a/ulib/.hints/FStar.List.Tot.Properties.fst.hints +++ /dev/null @@ -1,3726 +0,0 @@ -[ - "i÷GÓ¯…Ü2€ÆëùñšãÊ", - [ - [ - "FStar.List.Tot.Properties.llist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "51ec5a3caf67abe39ebd0a3c884b51c4" - ], - [ - "FStar.List.Tot.Properties.mem_memP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "c8ccae39c0c3e684447171fc1e8a1431" - ], - [ - "FStar.List.Tot.Properties.lemma_index_memP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.index" - ], - 0, - "de2b692eaf91e4a8f377f9ec51a1d519" - ], - [ - "FStar.List.Tot.Properties.lemma_index_memP", - 2, - 2, - 1, - [ "@query" ], - 0, - "5e7aa2aa9bec90b532ceeedd0f017a0a" - ], - [ - "FStar.List.Tot.Properties.memP_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "projection_inverse_Prims.Nil_a" - ], - 0, - "631886965f9c76089981c951c2a20e6d" - ], - [ - "FStar.List.Tot.Properties.memP_existsb", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.existsb.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.existsb.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.existsb.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_or-interp", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.existsb" - ], - 0, - "b63c7b7bbe8f298bbff5a726055f2f88" - ], - [ - "FStar.List.Tot.Properties.memP_map_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "0be207656caf42ce0a02b981c240edf0" - ], - [ - "FStar.List.Tot.Properties.memP_map_elim", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_23111b199e312dabc7d863b983ebf5c5_5", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "5995bb29b92f748f0d8cc74e8386cde4" - ], - [ - "FStar.List.Tot.Properties.mem_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c84dafdbfabc20d187d7627fe8402881" - ], - [ - "FStar.List.Tot.Properties.mem_existsb", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.existsb.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.existsb.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.existsb.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.existsb", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "086c6b53c97524af1cdf51b74d136267" - ], - [ - "FStar.List.Tot.Properties.mem_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.mem" - ], - 0, - "513e65423e53d909ea204bdfd3466dfc" - ], - [ - "FStar.List.Tot.Properties.rev_acc_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_56e2b246b9a38e3a3de2fc6692a36989", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "aa97009a33f5e24b7f83a3d5962e84fb" - ], - [ - "FStar.List.Tot.Properties.rev_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d942b2859e93257d1cfea07c18d053c8" - ], - [ - "FStar.List.Tot.Properties.rev_length", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "6a4995e267bd7c56f71c9117d12d61e7" - ], - [ - "FStar.List.Tot.Properties.rev_acc_memP", - 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_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "2507577efe5391c3709a11386353a30b" - ], - [ - "FStar.List.Tot.Properties.rev_memP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.rev", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "projection_inverse_Prims.Nil_a" - ], - 0, - "af04eb7cd72a8bf91d92ecefa239b691" - ], - [ - "FStar.List.Tot.Properties.rev_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_FStar.List.Tot.Base.rev", - "equation_Prims.eqtype", "lemma_FStar.List.Tot.Properties.mem_memP", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.List.Tot.Base.rev" - ], - 0, - "0dd7442193b39f68985754526ef4a65d" - ], - [ - "FStar.List.Tot.Properties.append_nil_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a" - ], - 0, - "6e6ff0516f17c2645a61baab04fadf56" - ], - [ - "FStar.List.Tot.Properties.append_l_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons" - ], - 0, - "36f4d46ce71c5f9fc63917fe523307db" - ], - [ - "FStar.List.Tot.Properties.append_cons_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "3d5c188696a230f36be203ecabc47298" - ], - [ - "FStar.List.Tot.Properties.append_l_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "a7b9e022ce2a9a3e09c4b2c6c16cad1f" - ], - [ - "FStar.List.Tot.Properties.append_assoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "4589f5634b262f8e93dc15a3c1a25d6a" - ], - [ - "FStar.List.Tot.Properties.append_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "b7cab4e88e3038da1dc6a67bfcd898d0" - ], - [ - "FStar.List.Tot.Properties.append_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "7afdc75a2296a8261f6aaebac69f5b53" - ], - [ - "FStar.List.Tot.Properties.append_memP", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "424323be1166680a141a14305cb78640" - ], - [ - "FStar.List.Tot.Properties.append_mem_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "c6ff266f974a847fa95048a03ce11561" - ], - [ - "FStar.List.Tot.Properties.append_memP_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "dd0329650b6fdcbef77b125147b239e8" - ], - [ - "FStar.List.Tot.Properties.append_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "b359bb96b4cdf7a0072959468dd65ab0" - ], - [ - "FStar.List.Tot.Properties.append_count_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "596460521131dfe9cfff6d87e813f283" - ], - [ - "FStar.List.Tot.Properties.append_eq_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil" - ], - 0, - "b4a026f64ec831d58d64eaf3a9722647" - ], - [ - "FStar.List.Tot.Properties.append_eq_singl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "52b0333d5e192366af72b930f9d2551d" - ], - [ - "FStar.List.Tot.Properties.append_inv_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "unit_typing" - ], - 0, - "ac2f768d8b2a33ee8406b376b21e2ee5" - ], - [ - "FStar.List.Tot.Properties.append_inv_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "33ef99b3d706ef943bc2d775871c18c7" - ], - [ - "FStar.List.Tot.Properties.append_length_inv_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "ce81fc13214c8fdd48847f35a6568df3" - ], - [ - "FStar.List.Tot.Properties.append_length_inv_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "a5c90ca303a0867828b541d6f80f0cb7" - ], - [ - "FStar.List.Tot.Properties.append_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3cf3f37474ba26d6b1bb1b3a555a65bd", - "refinement_interpretation_Tm_refine_873ab88670c0aaaeb862b401e29176c8", - "refinement_interpretation_Tm_refine_c132562d494d9c9a502c2283b2f03e18" - ], - 0, - "86b70d785dd008761efff70411d7ebc4" - ], - [ - "FStar.List.Tot.Properties.lemma_append_last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", - "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" - ], - 0, - "c7112bcd2709e175bb6c3767015d4dfa" - ], - [ - "FStar.List.Tot.Properties.lemma_append_last", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "c987c4363e77ce700e5a585571f93054" - ], - [ - "FStar.List.Tot.Properties.lemma_append_last", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bf7f60c0ba350f779834ba9ad48c82a7", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "46c960e46c28851abb5de5d7fc3579a0" - ], - [ - "FStar.List.Tot.Properties.rev'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "1a2ed38371b2aefa2629cd9b204ce10a" - ], - [ - "FStar.List.Tot.Properties.rev_acc_rev'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.rev_acc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", - "typing_FStar.List.Tot.Properties.rev_" - ], - 0, - "df1c2c303f966ff44e3fd39f39c147f6" - ], - [ - "FStar.List.Tot.Properties.rev_rev'", - 1, - 2, - 1, - [ "@query", "equation_FStar.List.Tot.Base.rev" ], - 0, - "2416f5966228cbfa3542a42db2a9056a" - ], - [ - "FStar.List.Tot.Properties.rev'_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "672b0664197972f5554a7c278fb2f7f8" - ], - [ - "FStar.List.Tot.Properties.rev_append", - 1, - 2, - 1, - [ "@query" ], - 0, - "65a3e308bfb4dc03e629bc3334cf886f" - ], - [ - "FStar.List.Tot.Properties.rev'_involutive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", - "typing_FStar.List.Tot.Properties.rev_" - ], - 0, - "ad563756ad71e9c427fbcc48f759ac17" - ], - [ - "FStar.List.Tot.Properties.rev_involutive", - 1, - 2, - 1, - [ "@query" ], - 0, - "f138f7de7d61288315ff261137b14aaa" - ], - [ - "FStar.List.Tot.Properties.lemma_snoc_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@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_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "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", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.snoc", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "b5e7f01160548a4604ea89950cd7e633" - ], - [ - "FStar.List.Tot.Properties.rev'_list_ind", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" - ], - 0, - "e7851d5666359cc375b71eae58db672e" - ], - [ - "FStar.List.Tot.Properties.rev_ind", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_with_fuel_FStar.List.Tot.Properties.rev_.fuel_instrumented", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Properties.rev_" - ], - 0, - "f689f409de1f428b0fa26fbc0a637f64" - ], - [ - "FStar.List.Tot.Properties.map_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2fa04013a83f3d7a6388ce1b681f65b9" - ], - [ - "FStar.List.Tot.Properties.map_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "7dcd05ff87b9fa04afcd32604ca40720" - ], - [ - "FStar.List.Tot.Properties.map_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c1f9c70abefa725987bed705971c5552" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_snoc", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f63e475f57ec7ec60b367aad4ee40cfd", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "1d292bd46bc6d038ad5d447751087b5e" - ], - [ - "FStar.List.Tot.Properties.lemma_snoc_unsnoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.snoc" - ], - 0, - "7fa10b94a6fd0687f4c0fa0e59382f5c" - ], - [ - "FStar.List.Tot.Properties.lemma_snoc_unsnoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_dc6190577505ccce5533fdbaa7811a2d_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "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.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.snoc", - "typing_FStar.Pervasives.Native.fst", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "19567ee2d5c517f64fca0bb707d6ea86" - ], - [ - "FStar.List.Tot.Properties.lemma_snoc_unsnoc", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.snoc", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f171ac2874b3bc6e7633c8a9272fd5e4", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.snoc", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "f7547a9b59c133f7694b3093c95f4e0e" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_length", - 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", "equation_Prims.nat", "int_inversion", - "kinding_Prims.list@tok", - "lemma_FStar.List.Tot.Properties.lemma_unsnoc_snoc", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e88aba6d4c79a5625ab4330932edf7ed", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "d28a8f3e9c64d370ea8c6d2af8a3524b" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_append", - 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", "b2t_def", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "85eedad41d1fa3be81621e0d32d3df5e" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_append", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.unsnoc", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "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_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Base.unsnoc" - ], - 0, - "5fb6dab9230beb0e7496c6591a242d8d" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_append", - 3, - 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", "b2t_def", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", "equation_Prims.squash", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_101c977486cf36cc3cabd8634919a4da", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "d0b140486067fe5628ddff05a123fcd3" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_is_last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "disc_equation_Prims.Cons", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f53b3d32814d98f884541795f1f69961" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_is_last", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "76ae105fb50126eb15ecddad70790e8c" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_is_last", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "disc_equation_Prims.Cons", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4f88a1c17070fd2b3d3cdc1ed59c819e" - ], - 0, - "3dc026e8bd311cc1d08977c19c5dec45" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_fb6d98353fc6ed0aba92d28b4fdb0875" - ], - 0, - "6852e6d8c2e0eaa1c1a07ea81090a302" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_index", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.List.Tot.Base.unsnoc", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "kinding_Prims.list@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cb0de68b007849491a650e5bbfaafbc", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_f9256c5479e4a9f4766f68795bbafb31", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.unsnoc", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "7b3a8d3400edc3bc0145879871e2a14a" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_index", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_fb6d98353fc6ed0aba92d28b4fdb0875" - ], - 0, - "e08d3b7edcc4b5e7fe0dd84f80d5e708" - ], - [ - "FStar.List.Tot.Properties.split_using", - 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_00ef1e2db90d63324103d5fc8b6fe893_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "eq2-interp", - "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_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", - "subterm_ordering_Prims.Cons" - ], - 0, - "cee5ccff122be40cc513e65f299d55ae" - ], - [ - "FStar.List.Tot.Properties.lemma_split_using", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "5ed0946fb44d0272f1e10852c8dc1677" - ], - [ - "FStar.List.Tot.Properties.lemma_split_using", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "@query", "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", "equation_Prims.eq2", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.split_using.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "int_inversion", - "kinding_Prims.equals@tok", "l_or-interp", - "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_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_7e5b3a81d10bb348b3755136cfed4434", - "refinement_interpretation_Tm_refine_ca5b6dc4e0a851997703798a1ffc5f70", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.squash" - ], - 0, - "2426ab1486a654ae2ede5b0f5e0f3f77" - ], - [ - "FStar.List.Tot.Properties.lemma_split_using", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "3260a2ff31a69671f9fa5dc4c1efa288" - ], - [ - "FStar.List.Tot.Properties.index_of", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", - "refinement_interpretation_Tm_refine_bf1803228cdb6523a3669501325e4a79", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "b098fedd91ed0207f14086bb9ba38f8c" - ], - [ - "FStar.List.Tot.Properties.partition_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.partition" - ], - 0, - "5bd9438b77a7dc26812320dbe2132599" - ], - [ - "FStar.List.Tot.Properties.partition_mem_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.partition" - ], - 0, - "c761ccfe7c640dca3c894a3054efe1b3" - ], - [ - "FStar.List.Tot.Properties.partition_mem_p_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", "bool_inversion", - "constructor_distinct_BoxBool", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.partition" - ], - 0, - "66542b7c12bec02e22c3dc64fc4f1d33" - ], - [ - "FStar.List.Tot.Properties.partition_count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.partition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "449088d8fae5269994144d264a836b7c" - ], - [ - "FStar.List.Tot.Properties.partition_count_forall", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.partition.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.partition.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.partition.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.partition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "d9cd8aea64d23fabf3ebf69e00538d78" - ], - [ - "FStar.List.Tot.Properties.mem_subset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.subset.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.subset.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.subset.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.subset" - ], - 0, - "849748d55bb95e8b6670e172730632d3" - ], - [ - "FStar.List.Tot.Properties.subset_reflexive", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.subset.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.subset.fuel_instrumented", - "@query", "lemma_FStar.List.Tot.Properties.mem_subset" - ], - 0, - "db3a4cdaf1cbd1e6812d625e2d11487f" - ], - [ - "FStar.List.Tot.Properties.sortWith_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f00de921031d504db7b7287d4860d843" - ], - [ - "FStar.List.Tot.Properties.sortWith_permutation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_1ecf444031bbe3efb7a4717c2faa5684", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_aa4a9e8b2e6334fe3ccba7a09fe0021f_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.count", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.sortWith", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "55a854c513e5e8e8b20b32e9eb59564b" - ], - [ - "FStar.List.Tot.Properties.sortWith_permutation", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b566a957df66307d2185de942cd3adef" - ], - [ - "FStar.List.Tot.Properties.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "c84cc845ebd181bda7cba4b595eb5880" - ], - [ - "FStar.List.Tot.Properties.append_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_9cabe840930f95fd18f81c0a913ddb25", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_98df27d05a962e7ef32cba6da37f0aeb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ab828c96e110e78bdab36b2482fc075a_2", - "binder_x_ab828c96e110e78bdab36b2482fc075a_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Properties.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_token_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented_token", - "interpretation_Tm_abs_4bfb53c1305d6fe7222f07cf49f467b6", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d743ce0f6f10f0effaaa83a6c5f143f3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Properties.sorted", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.List.Tot.Properties.sorted" - ], - 0, - "fd003a5826d37dab68660dcaa1ac6ede" - ], - [ - "FStar.List.Tot.Properties.sortWith_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_1ecf444031bbe3efb7a4717c2faa5684", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_9cabe840930f95fd18f81c0a913ddb25", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_af42ab660b7a2cfc6caea649532e5867", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_aa4a9e8b2e6334fe3ccba7a09fe0021f_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.bool_of_compare", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Properties.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.List.Tot.Base.bool_of_compare", - "function_token_typing_FStar.List.Tot.Properties.sorted", - "int_typing", - "interpretation_Tm_abs_4bfb53c1305d6fe7222f07cf49f467b6", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.bool_of_compare", - "token_correspondence_FStar.List.Tot.Properties.sorted", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.sortWith", "well-founded-ordering-on-nat" - ], - 0, - "8510a1a8e6786ddc03698d244e8b30a3" - ], - [ - "FStar.List.Tot.Properties.noRepeats_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "79c6169ca9501f01863838022c812e74" - ], - [ - "FStar.List.Tot.Properties.noRepeats_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats" - ], - 0, - "5d721e57a431427832fc93f2e6ae2bd9" - ], - [ - "FStar.List.Tot.Properties.noRepeats_append_elim", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.List.Tot.Base.op_At", "unit_typing" - ], - 0, - "2ac6416615b9d5f4c819520248838e80" - ], - [ - "FStar.List.Tot.Properties.noRepeats_append_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "4afca39d28eff30d0770e30562fe5029" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "true_interp" - ], - 0, - "8a5a960c56cea1ea7d9dcce8b14e19b4" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "l_and-interp", "l_not-interp", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "c26be0804892abf67855f8807346fac4" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_append_elim", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", "l_and-interp", - "l_not-interp", "l_or-interp", "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", - "subterm_ordering_Prims.Cons", "true_interp", - "typing_FStar.List.Tot.Base.append", "unit_typing" - ], - 0, - "9a3de404b9a8894c3ec7f949cbb266cf" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_append_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.no_repeats_p.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_and-interp", "l_not-interp", - "l_or-interp", "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "5cf32c5aa1f3da4be7bea5cf85a9ab67" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_append", - 1, - 2, - 1, - [ "@query" ], - 0, - "004bbd5d22fca629c655a6eb937c4618" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_append_swap", - 1, - 2, - 1, - [ "@query" ], - 0, - "7d1965c84db14e5e5ff6b05670251772" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_append_permut", - 1, - 2, - 1, - [ "@query" ], - 0, - "da7d50a5743d1829ed06e6faf180df73" - ], - [ - "FStar.List.Tot.Properties.no_repeats_p_false_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "l_or-interp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ad002bc466b32803a3fc7c928e1586b2" - ], - [ - "FStar.List.Tot.Properties.assoc_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f59c5af08fa8c636811cd6e33eb4979d" - ], - [ - "FStar.List.Tot.Properties.assoc_cons_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", - "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_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "681df3fbeef467963993a91a901e46d6" - ], - [ - "FStar.List.Tot.Properties.assoc_cons_not_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_Prims.Cons@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "070636c298b18a5a35d68b70f5249255" - ], - [ - "FStar.List.Tot.Properties.assoc_append_elim_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.assoc", - "typing_FStar.List.Tot.Base.op_At", "unit_inversion", "unit_typing" - ], - 0, - "b804c1e9763d662cde4b5e83fc4356b8" - ], - [ - "FStar.List.Tot.Properties.assoc_append_elim_l", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "unit_inversion", "unit_typing" - ], - 0, - "d6e749167d09dae0be9e085625cb2c12" - ], - [ - "FStar.List.Tot.Properties.assoc_memP_some", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_5", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_or-interp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_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_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" - ], - 0, - "dfdf199ab3901b3c4993fb2222174447" - ], - [ - "FStar.List.Tot.Properties.assoc_memP_none", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c02a87b7307268e9ac6c8f3d9da6da75_4", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_or-interp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" - ], - 0, - "c4bbd3ec70ba6132620220c93fbfc7d3" - ], - [ - "FStar.List.Tot.Properties.assoc_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "typing_FStar.List.Tot.Base.assoc" - ], - 0, - "eda2531b3a37d9c1dc4456b24e30cc11" - ], - [ - "FStar.List.Tot.Properties.fold_left_invar", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_c5b5bef37265cbbc69929745655ae84f", - "binder_x_826520cae9e0ae3eb514d24fcb1e4a87_4", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "4403bc971736f746363e51af87af2688" - ], - [ - "FStar.List.Tot.Properties.fold_left_map", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_131723c2ca1c17e17eaef84ca16dbe7f", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_71a1b2429b076fb6a9bacc2501257cdd", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_e2f8b0d3590a261b2d8ea1ea4daaf7f2", - "binder_x_0080b8faaf93b864b9fcbf0fdc06e48a_7", - "binder_x_7bb6342d335725b7763e6d771a672fac_8", - "binder_x_e32eda6d49e8598af696ff27640e279d_6", - "binder_x_f8dae34e1d3867939f9cbd4d4832f00f_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_5", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "758b20ac0fd5a2baf4181cfb41a7cd67" - ], - [ - "FStar.List.Tot.Properties.map_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "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", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "c5f298f1c1c876a8176db154991c6e64" - ], - [ - "FStar.List.Tot.Properties.fold_left_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_c5b5bef37265cbbc69929745655ae84f", - "binder_x_826520cae9e0ae3eb514d24fcb1e4a87_4", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "03e1abf0a37dffc9d3e0b5d738c0418f" - ], - [ - "FStar.List.Tot.Properties.fold_left_monoid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_15bd9d51b72e7e261567731af013ae50", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_684da0610ad7770b232efe4229d31e3f_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.fold_left" - ], - 0, - "87401eb99a5e41208791efe01c0a57fb" - ], - [ - "FStar.List.Tot.Properties.fold_left_append_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.fold_left.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "typing_FStar.List.Tot.Base.fold_left" - ], - 0, - "6a93af18c2dd709d9ba4e1dab7e70fe4" - ], - [ - "FStar.List.Tot.Properties.index_extensionality_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e1ccda5c4406e3fc5ce7710060d67482_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "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", - "refinement_interpretation_Tm_refine_5d37cf097513b91237ad10cb9a2c01f8", - "refinement_interpretation_Tm_refine_8c7243ad5844cc4eeb543fcfb628eec4", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "refinement_interpretation_Tm_refine_c538c923cf680c1084f5c36709fac742", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "deab8645fb2da7924a859072b0b34354" - ], - [ - "FStar.List.Tot.Properties.index_extensionality_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3cf3f37474ba26d6b1bb1b3a555a65bd" - ], - 0, - "5aa425973d5625aae2dda939d1398378" - ], - [ - "FStar.List.Tot.Properties.index_extensionality", - 1, - 2, - 1, - [ "@query" ], - 0, - "5e22c2d627703b9c08c6641238d76c0f" - ], - [ - "FStar.List.Tot.Properties.index_extensionality", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0" - ], - 0, - "e88cc6b511f3a667e703df9f19b8b768" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_nil", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.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, - "11576128e5f8522ead42501c530f0bd2" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_or_eq_nil", - 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, - "339f5b6f0b11d9287a83ab76a573790e" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "l_or-interp", "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "325ab4b6ec716022827c8ed39d41cfca" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "73cd35c373059896a93b5d3fcb17b36f" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons" - ], - 0, - "5a073a065b6a077c5526b32867dbdc14" - ], - [ - "FStar.List.Tot.Properties.map_strict_suffix_of", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_6", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.map" - ], - 0, - "e052031857b966ef1e6ec43d54406bb9" - ], - [ - "FStar.List.Tot.Properties.mem_strict_suffix_of", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "af85a2406fc65636d785d4a18156a779" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_exists_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.strict_suffix_of.fuel_instrumented", - "false_interp", "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c5a239b01ac0e0771181f77b5bb46d5", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_34eaa16b9ad8cac9ac56ad22ce3a3eb9", - "subterm_ordering_Prims.Cons" - ], - 0, - "550c21d3e159e84bdfed634ffaffff76" - ], - [ - "FStar.List.Tot.Properties.strict_suffix_of_or_eq_exists_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b4d057942168a3c09b9fab6163b1e16b" - ], - [ - "FStar.List.Tot.Properties.precedes_tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons" - ], - 0, - "4151cd5f7f813ee67eb177660b76e206" - ], - [ - "FStar.List.Tot.Properties.precedes_append_cons_r", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "0ab4ea82a86f5336ec915627cc2c675d" - ], - [ - "FStar.List.Tot.Properties.precedes_append_cons_prod_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "28dd10582e826410a6744057d9f23def" - ], - [ - "FStar.List.Tot.Properties.memP_precedes", - 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.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.squash", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6a9a95c56c9bd9dcd5ebbe5a96dbe000", - "subterm_ordering_Prims.Cons" - ], - 0, - "7571396da6a7302739f692e21c1f9730" - ], - [ - "FStar.List.Tot.Properties.assoc_precedes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "6991eb2360cfe16114796919bffc9f99" - ], - [ - "FStar.List.Tot.Properties.find_none", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.find.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.find.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_with_fuel_FStar.List.Tot.Base.find.fuel_instrumented", - "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_2c699424274eb409991b2954c4a6e221", - "refinement_interpretation_Tm_refine_54acee327cf0ffb817bb90cc9c4bc136", - "subterm_ordering_Prims.Cons" - ], - 0, - "41db5392a5abb8d3338fb6c4aa74b85e" - ], - [ - "FStar.List.Tot.Properties.append_init_last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.init.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.init.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "binder_x_59bd78df6a193fb43bc86d1138fd4d51_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.init.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_89abfbf1dd7254ec2f6bfc654aa43591", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.init", - "typing_FStar.List.Tot.Base.last" - ], - 0, - "8cfe7fc90f694cbaee734978531cdb2c" - ], - [ - "FStar.List.Tot.Properties.append_init_last", - 2, - 2, - 1, - [ "@query" ], - 0, - "07462f13966b1060207083dc467168d4" - ], - [ - "FStar.List.Tot.Properties.init_last_def", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "9f7d936b150d1ae2c7c98ccb27448382" - ], - [ - "FStar.List.Tot.Properties.init_last_def", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.init.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.last.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.init.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.last.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.init.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.last.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "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_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "979703096e4a5eb17da0b028eee3e57f" - ], - [ - "FStar.List.Tot.Properties.init_last_def", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_8a65d57c0db4facbd40df8ad60260081", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "0ce02d28fbc2c0214eb635decf6c9051" - ], - [ - "FStar.List.Tot.Properties.init_last_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "17ef6737d59d6537b263e2deb39e3e1c" - ], - [ - "FStar.List.Tot.Properties.init_last_inj", - 2, - 2, - 1, - [ "@query" ], - 0, - "e01a37ff207ed8dd16e23c268976cc2c" - ], - [ - "FStar.List.Tot.Properties.for_all_append", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.op_At" - ], - 0, - "f3ef754052e9209ad8cb106ec88a1bb4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Tot.Properties.fsti.hints b/ulib/.hints/FStar.List.Tot.Properties.fsti.hints deleted file mode 100644 index efcc511a1f4..00000000000 --- a/ulib/.hints/FStar.List.Tot.Properties.fsti.hints +++ /dev/null @@ -1,337 +0,0 @@ -[ - "äªIJKÊ)2e\u0016§\u0004\u0000ž×‘", - [ - [ - "FStar.List.Tot.Properties.llist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "97063645c4c497bad8e46e80ea73be94" - ], - [ - "FStar.List.Tot.Properties.rev_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "40fb73ff2f39dfe1ce4dfdb922949852" - ], - [ - "FStar.List.Tot.Properties.lemma_append_last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", - "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" - ], - 0, - "62e730f33fedc55d8bd4dd751e58f76d" - ], - [ - "FStar.List.Tot.Properties.rev'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "cbd32eb247e25ead18a4bb1e1b2bcce0" - ], - [ - "FStar.List.Tot.Properties.map_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "baf7819e912808489b8bd3dd9d30d6fd" - ], - [ - "FStar.List.Tot.Properties.lemma_snoc_unsnoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.snoc" - ], - 0, - "679d547ec6b6ea5bf6ee779f27d2856f" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_append", - 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", "b2t_def", "equation_FStar.List.Tot.Base.op_At", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "lemma_FStar.List.Tot.Properties.append_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "578a74e759c4cb7b6da62541903bab65" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_is_last", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "disc_equation_Prims.Cons", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "b71203ea858b5fd029c6f7b6678b36a4" - ], - [ - "FStar.List.Tot.Properties.lemma_unsnoc_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_fb6d98353fc6ed0aba92d28b4fdb0875" - ], - 0, - "6153bde4c97e6cbc6b04d07efbbaf18a" - ], - [ - "FStar.List.Tot.Properties.split_using", - 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_00ef1e2db90d63324103d5fc8b6fe893_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "eq2-interp", - "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_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", - "subterm_ordering_Prims.Cons" - ], - 0, - "adfafb76e0158b4a4f347a90380abd5f" - ], - [ - "FStar.List.Tot.Properties.lemma_split_using", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "5ed0946fb44d0272f1e10852c8dc1677" - ], - [ - "FStar.List.Tot.Properties.index_of", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_00ef1e2db90d63324103d5fc8b6fe893_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_57e38f067bd84fa5ec35560b4612c50c", - "refinement_interpretation_Tm_refine_a5213da79b3d9a8df6b57fc3b99f831c", - "refinement_interpretation_Tm_refine_bf1803228cdb6523a3669501325e4a79", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "b098fedd91ed0207f14086bb9ba38f8c" - ], - [ - "FStar.List.Tot.Properties.sortWith_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3b863de1d9e3bf7982be6588d22ecd8b" - ], - [ - "FStar.List.Tot.Properties.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "c84cc845ebd181bda7cba4b595eb5880" - ], - [ - "FStar.List.Tot.Properties.index_extensionality", - 1, - 2, - 1, - [ "@query" ], - 0, - "9414cd7cb104db518b2abb6f6e51e466" - ], - [ - "FStar.List.Tot.Properties.init_last_def", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "typing_FStar.List.Tot.Base.append" - ], - 0, - "a786edcf9b3429b47ed6f943973c80c3" - ], - [ - "FStar.List.Tot.Properties.init_last_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "17ef6737d59d6537b263e2deb39e3e1c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.Tot.fst.hints b/ulib/.hints/FStar.List.Tot.fst.hints deleted file mode 100644 index 167f266702d..00000000000 --- a/ulib/.hints/FStar.List.Tot.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ƒ#-\u000f*äûF\u007f)•ý\u0018§Fc", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.List.fst.hints b/ulib/.hints/FStar.List.fst.hints deleted file mode 100644 index 8e39618c6f6..00000000000 --- a/ulib/.hints/FStar.List.fst.hints +++ /dev/null @@ -1,265 +0,0 @@ -[ - "+\u0017ÿÑâZ{W5³Q91vd", - [ - [ - "FStar.List.nth", - 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, - "f8f2a65dfce057ef90bc4685a4f1ec4d" - ], - [ - "FStar.List.iter", - 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, - "57c924bf7cd4a7a29908f775849f835a" - ], - [ - "FStar.List.iteri_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, - "4b10725b60ea2e32e18d0e71b08ad3d5" - ], - [ - "FStar.List.map", - 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, - "0012daa07b5bd6c00203d97f0ca06a90" - ], - [ - "FStar.List.mapi_init", - 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, - "c0d43024435c986ec64ef65e742492c2" - ], - [ - "FStar.List.concatMap", - 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, - "cf6dcbaa86227824d36d5b3e837eea29" - ], - [ - "FStar.List.fold_left", - 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, - "cbd2500fec64e1d9ee70858b2f596172" - ], - [ - "FStar.List.fold_right", - 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, - "0b349329ea4003b4f1c9f2c4d8fb358a" - ], - [ - "FStar.List.filter", - 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, - "e9fcc43e89895236d96b3ae879903008" - ], - [ - "FStar.List.for_all", - 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, - "d80755b44ccf6eefc35f543aecc980f4" - ], - [ - "FStar.List.collect", - 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, - "3261d223a51000403aad3e316bac4604" - ], - [ - "FStar.List.tryFind", - 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, - "015d0d1021739c1d430812bd71175b07" - ], - [ - "FStar.List.tryPick", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.V", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7dae5398392bd556ae671d033f41e2ac" - ], - [ - "FStar.List.choose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.V", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cc4b728594f09e2dc3c41e34a1e1551d" - ], - [ - "FStar.List.partition", - 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, - "0b6f4e3fc94f97a0f21f14cfa5c7d44e" - ], - [ - "FStar.List.sortWith", - 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, - "c43786ef5c970ed5e90fec78ae0d7133" - ], - [ - "FStar.List.splitAt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "97e00310a3c43ccb122aec4298534bf7" - ], - [ - "FStar.List.filter_map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Pervasives.V", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Pervasives.result", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8c3b613127f4a608efb1baf9593eb680" - ], - [ - "FStar.List.index", - 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, - "596631155464b8cac7d0c6144dc50050" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.MRef.fst.hints b/ulib/.hints/FStar.MRef.fst.hints deleted file mode 100644 index 87fe14feeb8..00000000000 --- a/ulib/.hints/FStar.MRef.fst.hints +++ /dev/null @@ -1,107 +0,0 @@ -[ - "¬:\u0000Æ÷Im#A*\u001a\u001f|\t®\u0002", - [ - [ - "FStar.MRef.token", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.MRef.p_pred", - "equation_FStar.Preorder.stable", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.MRef.p_pred", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "90465b8d892e553bbfd95f0455f35eb1" - ], - [ - "FStar.MRef.witness_token", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.MRef.p_pred", - "equation_FStar.MRef.token", "equation_FStar.Preorder.stable", - "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "refinement_interpretation_Tm_refine_f8fe0499ac41c0c1d752c3b8f1d0dbbd", - "token_correspondence_FStar.MRef.p_pred", - "token_correspondence_FStar.ST.contains_pred", - "typing_FStar.Monotonic.Heap.sel", "unit_typing" - ], - 0, - "06cbe347cd7dbb72a0e1778e2447c23f" - ], - [ - "FStar.MRef.recall_token", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.MRef.p_pred", - "equation_FStar.MRef.token", "equation_FStar.Preorder.stable", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_5f2f773a4d299619974b5bc724f28260", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.MRef.p_pred", - "typing_FStar.Monotonic.Heap.sel", "unit_typing" - ], - 0, - "904b474a4a5f038c571869b30e5b7819" - ], - [ - "FStar.MRef.lemma_functoriality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.MRef.p_pred", - "equation_FStar.MRef.spred", "equation_FStar.MRef.token", - "equation_FStar.Preorder.stable", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.MRef.p_pred", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "3f79859667441a435ef7e08e805e6bd4" - ], - [ - "FStar.MRef.recall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c1b91cd01863431a596495620f49918", - "refinement_interpretation_Tm_refine_c2f42e9a3f2bec3324f8f24cd373d5e0", - "unit_typing" - ], - 0, - "2f1889449a440f366c0190a106ef36e3" - ], - [ - "FStar.MRef.witness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bdbb66237acf10f9d702cf5833c518a6", - "refinement_interpretation_Tm_refine_c2f42e9a3f2bec3324f8f24cd373d5e0", - "unit_typing" - ], - 0, - "092a583257a2d2bc6711b47672f991e7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.MRef.fsti.hints b/ulib/.hints/FStar.MRef.fsti.hints deleted file mode 100644 index 9f5d3c6aa96..00000000000 --- a/ulib/.hints/FStar.MRef.fsti.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "‰9À£S7MBÔÅ%$cÎ", - [ - [ - "FStar.MRef.lemma_functoriality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.MRef.spred", - "equation_FStar.MRef.stable", - "function_token_typing_FStar.Preorder.stable", - "refinement_interpretation_Tm_refine_db2289e2f27e1e1fb8c92bdbb90863d4", - "token_correspondence_FStar.MRef.stable" - ], - 0, - "b075896a33a5dabbb00cfe3d57129cee" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.MST.fst.hints b/ulib/.hints/FStar.MST.fst.hints deleted file mode 100644 index 4d1f0734536..00000000000 --- a/ulib/.hints/FStar.MST.fst.hints +++ /dev/null @@ -1,190 +0,0 @@ -[ - "w6[+w©s‰¦Äç™å\\\f", - [ - [ - "FStar.MST.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok" - ], - 0, - "9ad074a914d61037a238d9741ab2fb9d" - ], - [ - "FStar.MST.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "c5d3123fd4ecd693ed0bacf1c4861d6e" - ], - [ - "FStar.MST.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.transitive", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "16ca1c654327d0864f0903ed650ac61d" - ], - [ - "FStar.MST.subcomp", - 1, - 2, - 1, - [ "@query" ], - 0, - "ba9adbefa30181168fb72c6fb0589388" - ], - [ - "FStar.MST.MSTATE", - 1, - 2, - 1, - [ "@query" ], - 0, - "c9bd63090ebf4d07ce1b4282a767c560" - ], - [ - "FStar.MST.MSTATE", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "c7b44779de4ee9a67e30b22655756cdc" - ], - [ - "FStar.MST.MSTATE", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "4e3b184b3ee64db3b3dcac992c2e19e7" - ], - [ - "FStar.MST.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "a44b573fb4923ad4d1ca42a8f4c47c06" - ], - [ - "FStar.MST.put", - 1, - 2, - 1, - [ "@query", "unit_typing" ], - 0, - "98991f2b452609aaf1704778af96ad85" - ], - [ - "FStar.MST.lift_pure_mst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.l_Forall", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_3308759af9fac4679594edec00089023", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_da437716eb372fac740da22fdb123c4f", - "l_imp-interp", "l_not-interp", "l_or-interp", - "l_quant_interp_88c8a67952914b773cd43f0fb2208112", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_Prims.l_True", - "typing_Tm_abs_3308759af9fac4679594edec00089023", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" - ], - 0, - "f5f4515e7e08de5fd562ea1251fd4b5e" - ], - [ - "FStar.MST.bind_div_mst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_660b749c51db3dcdfc0b740d078dacf4", - "l_and-interp", "l_quant_interp_fb0e58df28294033edc13d22038ea9c0", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_660b749c51db3dcdfc0b740d078dacf4" - ], - 0, - "39296c428f6eba6493d4e7946ba33b01" - ], - [ - "FStar.MST.mst_assume", - 1, - 2, - 1, - [ "@query" ], - 0, - "ad711149c078e7df1256454144015b96" - ], - [ - "FStar.MST.mst_assert", - 1, - 2, - 1, - [ "@query" ], - 0, - "25c0599dc1f663ca201132aa750bdb02" - ], - [ - "FStar.MST.lift_mst_total_mst", - 1, - 2, - 1, - [ "@query" ], - 0, - "adf770c686072ce1c76f871254c23cd4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.MSTTotal.fst.hints b/ulib/.hints/FStar.MSTTotal.fst.hints deleted file mode 100644 index bad46832567..00000000000 --- a/ulib/.hints/FStar.MSTTotal.fst.hints +++ /dev/null @@ -1,159 +0,0 @@ -[ - "\u001d\u001cŸmXÃ=ÍéУˆ0„‘¶", - [ - [ - "FStar.MSTTotal.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok" - ], - 0, - "e1bd7fadcf1c63c1991aa77b98988db2" - ], - [ - "FStar.MSTTotal.return", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "9c355ea6ca4bfc21ad476606eafc2a7e" - ], - [ - "FStar.MSTTotal.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.transitive", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "7a63c5c6743665f0fc6aa2d8ccebf3c2" - ], - [ - "FStar.MSTTotal.subcomp", - 1, - 2, - 1, - [ "@query" ], - 0, - "83a8e9ce869fce8982bd345ce50c3157" - ], - [ - "FStar.MSTTotal.MSTATETOT", - 1, - 2, - 1, - [ "@query" ], - 0, - "9b97787401d3ea5e2a0c9738620ec4b4" - ], - [ - "FStar.MSTTotal.MSTATETOT", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "304b8b01af18c841568bdf5c938a2972" - ], - [ - "FStar.MSTTotal.MSTATETOT", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "97d5148703ff7cc3f28abff92f27e99d" - ], - [ - "FStar.MSTTotal.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "a44b573fb4923ad4d1ca42a8f4c47c06" - ], - [ - "FStar.MSTTotal.put", - 1, - 2, - 1, - [ "@query", "unit_typing" ], - 0, - "ce7feae2aa6725d381ca3418243f6422" - ], - [ - "FStar.MSTTotal.lift_pure_mst_total", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.l_Forall", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "interpretation_Tm_abs_3308759af9fac4679594edec00089023", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_da437716eb372fac740da22fdb123c4f", - "l_imp-interp", "l_not-interp", "l_or-interp", - "l_quant_interp_88c8a67952914b773cd43f0fb2208112", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_Prims.l_True", - "typing_Tm_abs_3308759af9fac4679594edec00089023", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_da437716eb372fac740da22fdb123c4f" - ], - 0, - "a058a04c639b224815c572325e1cf9cd" - ], - [ - "FStar.MSTTotal.mst_tot_assume", - 1, - 2, - 1, - [ "@query" ], - 0, - "1562594ac05f84e2835a8adb80b711db" - ], - [ - "FStar.MSTTotal.mst_tot_assert", - 1, - 2, - 1, - [ "@query" ], - 0, - "5374cf853626990a80a555e2dcb1ad89" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Map.fst.hints b/ulib/.hints/FStar.Map.fst.hints deleted file mode 100644 index b9e5a3bfe85..00000000000 --- a/ulib/.hints/FStar.Map.fst.hints +++ /dev/null @@ -1,375 +0,0 @@ -[ - "\u0004©Ž‘\u0005Ü-\u0012ªî½¤Y\u001fIC", - [ - [ - "FStar.Map.lemma_SelUpd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.sel", "equation_FStar.Map.upd", - "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" - ], - 0, - "9f28f2198d56bbcbca9dac11a8ad5626" - ], - [ - "FStar.Map.lemma_SelUpd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.sel", "equation_FStar.Map.upd", - "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_f204de043dfa9a2864fb0954c8f99fa1" - ], - 0, - "8579c66bb45a1ba3eb6904ef4b79be4e" - ], - [ - "FStar.Map.lemma_SelConst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.const", "equation_FStar.Map.sel", - "equation_Prims.eqtype", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_2bbbf501a8d3e7a47b3c23d5dc392001", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_2bbbf501a8d3e7a47b3c23d5dc392001" - ], - 0, - "939a33f919868322cf050ae5ae6a92fb" - ], - [ - "FStar.Map.lemma_SelRestrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Map.restrict", - "equation_FStar.Map.sel", "fuel_guarded_inversion_FStar.Map.t", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_mappings", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings" - ], - 0, - "cf1af18e2bb324148860d2eadfa6576f" - ], - [ - "FStar.Map.lemma_SelConcat1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.concat", "equation_FStar.Map.contains", - "equation_FStar.Map.sel", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_FStar.Map.contains", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" - ], - 0, - "9a822f1a2dbcc21b95b0f2f78b1b7831" - ], - [ - "FStar.Map.lemma_SelConcat2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.concat", "equation_FStar.Map.contains", - "equation_FStar.Map.sel", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_45d9dc5131c7f8a8469040793ab2c98c" - ], - 0, - "0baceae5116596f8c543fa1e63be12e9" - ], - [ - "FStar.Map.lemma_SelMapVal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.map_val", "equation_FStar.Map.sel", - "equation_Prims.eqtype", "fuel_guarded_inversion_FStar.Map.t", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_4eb3b570a1f2a7490cd12772f646a71b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_4eb3b570a1f2a7490cd12772f646a71b" - ], - 0, - "674717a0f2f19e8a0644a714dd50978a" - ], - [ - "FStar.Map.lemma_InDomUpd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Map.contains", "equation_FStar.Map.upd", - "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_domain", - "typing_FStar.Map.__proj__Mkt__item__domain", - "typing_FStar.Map.contains", "typing_FStar.Set.singleton" - ], - 0, - "aacc089d5184f849e274a7b5bf32932f" - ], - [ - "FStar.Map.lemma_InDomUpd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Map.contains", "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.Map.lemma_InDomUpd1", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Map.contains" - ], - 0, - "ab49579a17ca0ed7ad2aeaa8c19ddb19" - ], - [ - "FStar.Map.lemma_InDomConstMap", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Map.const", "equation_FStar.Map.contains", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_Negation", "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Map.Mkt_domain", "typing_FStar.Set.empty" - ], - 0, - "8742e72606140ba164cd46e25638e13e" - ], - [ - "FStar.Map.lemma_InDomConcat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Map.concat", - "equation_FStar.Map.contains", "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.Set.mem_union", "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_domain", - "typing_FStar.Map.__proj__Mkt__item__domain" - ], - 0, - "34d95f3179a75e1703fda0efa0a66b73" - ], - [ - "FStar.Map.lemma_InMapVal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Map.contains", - "equation_FStar.Map.map_val", "fuel_guarded_inversion_FStar.Map.t", - "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_domain" - ], - 0, - "4d80616fb1f10e0e45d53082a6b7b4a0" - ], - [ - "FStar.Map.lemma_InDomRestrict", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Map.contains", - "equation_FStar.Map.restrict", "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.Set.mem_intersect", - "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_domain", - "typing_FStar.Map.__proj__Mkt__item__domain" - ], - 0, - "b975af3ea02e18891ea940ef15545971" - ], - [ - "FStar.Map.lemma_ContainsDom", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Map.contains", "equation_FStar.Map.domain" - ], - 0, - "631dc60d2ce08f51d0181dc50789d196" - ], - [ - "FStar.Map.lemma_UpdDomain", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Map.domain", - "equation_FStar.Map.upd", "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_domain", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Set.singleton", - "typing_FStar.Set.union" - ], - 0, - "ab53e3261906a27694df0ad050616f6e" - ], - [ - "FStar.Map.lemma_map_literal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.domain", "equation_FStar.Map.map_literal", - "equation_FStar.Map.sel", "equation_Prims.eqtype", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Map.Mkt_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "projection_inverse_FStar.Map.Mkt_domain", - "projection_inverse_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10" - ], - 0, - "f5b6c9072ca6c53bcd6b9981d1952bb3" - ], - [ - "FStar.Map.lemma_equal_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Map.contains", "equation_FStar.Map.equal", - "equation_FStar.Map.sel", "fuel_guarded_inversion_FStar.Map.t", - "function_token_typing_FStar.Map.__proj__Mkt__item__mappings", - "lemma_FStar.Set.lemma_equal_intro", - "typing_FStar.Map.__proj__Mkt__item__domain" - ], - 0, - "de4e1f8c62035485f164c04da3cf80b9" - ], - [ - "FStar.Map.lemma_equal_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.Map.Mkt", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Map.equal", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Map.t", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", - "proj_equation_FStar.Map.Mkt_domain", - "proj_equation_FStar.Map.Mkt_mappings", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_FStar.Map.__proj__Mkt__item__domain", - "typing_FStar.Map.__proj__Mkt__item__mappings", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10" - ], - 0, - "9cd3b65f32954634bf75ccae1fbabcfe" - ], - [ - "FStar.Map.lemma_equal_refl", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Map.lemma_equal_elim" ], - 0, - "5a5b19e490486800b00c899448879c5e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Map.fsti.hints b/ulib/.hints/FStar.Map.fsti.hints deleted file mode 100644 index 60a1b6b2203..00000000000 --- a/ulib/.hints/FStar.Map.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "•:´(Ò…G\n\u0005Bh vv¤", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.MarkovsPrinciple.fst.hints b/ulib/.hints/FStar.MarkovsPrinciple.fst.hints deleted file mode 100644 index ee33a3081d3..00000000000 --- a/ulib/.hints/FStar.MarkovsPrinciple.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\\G\ty%F„{´Nz>\u000bøHï", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Euclid.fst.hints b/ulib/.hints/FStar.Math.Euclid.fst.hints deleted file mode 100644 index 8eb3ad28d10..00000000000 --- a/ulib/.hints/FStar.Math.Euclid.fst.hints +++ /dev/null @@ -1,529 +0,0 @@ -[ - "aÌl\"E±½*\u001a‡â a2\fà", - [ - [ - "FStar.Math.Euclid.eq_mult_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "396b7e976ae3c87fa088f5df16190ae9" - ], - [ - "FStar.Math.Euclid.eq_mult_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "212c06d9fc294b3248ff90063c2033fe" - ], - [ - "FStar.Math.Euclid.opp_idempotent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Minus", "projection_inverse_BoxInt_proj_0" - ], - 0, - "7c9f169ebbd28f44127c6cda2c4aacf4" - ], - [ - "FStar.Math.Euclid.add_sub_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "327b35d7d320b76a98a550e26d3cdbd8" - ], - [ - "FStar.Math.Euclid.add_sub_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "84d1ff189f370197efb46f00f79d9da4" - ], - [ - "FStar.Math.Euclid.divides_reflexive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "02a4ac6be3e2d851b544226fd72e4f84" - ], - [ - "FStar.Math.Euclid.divides_transitive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "equation_Prims.squash", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4ee55c8bc0f3738eebedc5c11dbda0ce", - "refinement_interpretation_Tm_refine_90b5d2df39645a4835173a203da069e4" - ], - 0, - "1b4622bf16db71822d204db1d92a2829" - ], - [ - "FStar.Math.Euclid.divide_antisym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.divides", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "9dd67596a34f583f0a3965cf901adaf6" - ], - [ - "FStar.Math.Euclid.divides_0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "3284d0b40fe1616252a80ac0f0fa9891" - ], - [ - "FStar.Math.Euclid.divides_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "daadbe58dd445d79e38e2477d155690a" - ], - [ - "FStar.Math.Euclid.divides_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "966f814dbac7658944408a58d60d0984" - ], - [ - "FStar.Math.Euclid.divides_opp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "4711e467868dd121abd1769ed11efcd2" - ], - [ - "FStar.Math.Euclid.divides_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "7dd54a5e2919a1abcac8ec948ed1faee" - ], - [ - "FStar.Math.Euclid.divides_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a65c0da0f1cfe8b961bb1e2b350e25e3" - ], - [ - "FStar.Math.Euclid.divides_mult_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "f943df7753afc12291269b35af77127f" - ], - [ - "FStar.Math.Euclid.mod_divides", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "equation_Prims.nonzero", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "5a88b793cd888a58a4433e783510c358" - ], - [ - "FStar.Math.Euclid.divides_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", "equation_Prims.nonzero", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_2310b01be5c19ce958196c6889908ecd" - ], - 0, - "abefd6d8b1f97521aba83765eb14883a" - ], - [ - "FStar.Math.Euclid.is_gcd_unique", - 1, - 2, - 1, - [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], - 0, - "675ac02230ec406f97043b15578c8c67" - ], - [ - "FStar.Math.Euclid.is_gcd_reflexive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", - "lemma_FStar.Math.Euclid.divides_reflexive" - ], - 0, - "246e38e0bf2a05dd5bf98137bb9928e4" - ], - [ - "FStar.Math.Euclid.is_gcd_symmetric", - 1, - 2, - 1, - [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], - 0, - "bbd7a028906014e1552490141461eb6a" - ], - [ - "FStar.Math.Euclid.is_gcd_0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", "int_typing", - "lemma_FStar.Math.Euclid.divides_reflexive", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "4b1f7b70549b14b81783255678fe9463" - ], - [ - "FStar.Math.Euclid.is_gcd_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", "int_typing", - "lemma_FStar.Math.Euclid.divides_reflexive", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "9d1d9997bd746c7913329aef5af99f3e" - ], - [ - "FStar.Math.Euclid.is_gcd_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", "int_typing", - "primitive_Prims.op_Minus" - ], - 0, - "3727b59bcb2722a5ef540568f738f470" - ], - [ - "FStar.Math.Euclid.is_gcd_opp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", - "primitive_Prims.op_Minus" - ], - 0, - "72b504d327b08aab73579ebd15143e84" - ], - [ - "FStar.Math.Euclid.is_gcd_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_gcd", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply" - ], - 0, - "f3c2b5c98afacf0f2658bff87ffb7771" - ], - [ - "FStar.Math.Euclid.is_gcd_for_euclid", - 1, - 2, - 1, - [ "@query", "equation_FStar.Math.Euclid.is_gcd" ], - 0, - "6468016e900e16b46973cd73c9925dd9" - ], - [ - "FStar.Math.Euclid.egcd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_ae567c2fb75be05905677af440075565_3", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_ae567c2fb75be05905677af440075565_5", - "binder_x_ae567c2fb75be05905677af440075565_6", - "binder_x_ae567c2fb75be05905677af440075565_7", - "equation_FStar.Math.Euclid.is_gcd", "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Math.Euclid.divides_reflexive", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_d1ad8d70cd8f832cf361aa471eb3814f", - "well-founded-ordering-on-nat" - ], - 0, - "3dac89b3ed875f2418e0872c17cf5da1" - ], - [ - "FStar.Math.Euclid.euclid_gcd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_760c5e70adce122a95cd106d0e0c6598" - ], - 0, - "6eab4e6972f0a3ee82189524ccf4345f" - ], - [ - "FStar.Math.Euclid.is_gcd_prime_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", - "equation_FStar.Math.Euclid.is_prime", "equation_Prims.pos", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "fec0997b5f64308ec3f0c0abf5c374e6" - ], - [ - "FStar.Math.Euclid.is_gcd_prime", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", - "equation_FStar.Math.Euclid.is_gcd", "equation_Prims.pos", - "int_inversion", "int_typing", - "lemma_FStar.Math.Euclid.divides_reflexive", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "b5d27deaf53dfc894daaebfcb2adfb8c" - ], - [ - "FStar.Math.Euclid.bezout_prime", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3" - ], - 0, - "fae4b0fb3d9c84adccef2cce8f194b9f" - ], - [ - "FStar.Math.Euclid.euclid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "11d624db4a2b05110176618f1cfc823a" - ], - [ - "FStar.Math.Euclid.euclid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "796a84fc2468728fac00322e86964e87" - ], - [ - "FStar.Math.Euclid.euclid_prime", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "17eb58ce8887fe9a7a5da2e6b7cd45a5" - ], - [ - "FStar.Math.Euclid.euclid_prime", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.divides", - "equation_FStar.Math.Euclid.is_gcd", - "equation_FStar.Math.Euclid.is_prime", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "unit_inversion", "unit_typing" - ], - 0, - "003142ba6b103bd6d8ef91eb71b93c09" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Euclid.fsti.hints b/ulib/.hints/FStar.Math.Euclid.fsti.hints deleted file mode 100644 index a947cd705ce..00000000000 --- a/ulib/.hints/FStar.Math.Euclid.fsti.hints +++ /dev/null @@ -1,31 +0,0 @@ -[ - "Jáµ½æ'¦\u000e*\u000ep\u0015_rt„", - [ - [ - "FStar.Math.Euclid.euclid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7b7e6671d98cf5661ccf3eeb6268c7a5" - ], - [ - "FStar.Math.Euclid.euclid_prime", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "2fa8fa00657c273f74e6aa5db0d80e8d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Fermat.fst.hints b/ulib/.hints/FStar.Math.Fermat.fst.hints deleted file mode 100644 index 1abe66789d2..00000000000 --- a/ulib/.hints/FStar.Math.Fermat.fst.hints +++ /dev/null @@ -1,1493 +0,0 @@ -[ - "B\u001a”ÿ\u0012œxUµ\u0015\u0010\"ä\u0012", - [ - [ - "FStar.Math.Fermat.pow", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "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, - "d35a69b22f5257e513624e3fd6f4f619" - ], - [ - "FStar.Math.Fermat.pow_zero", - 1, - 1, - 0, - [ "@query" ], - 0, - "79812bb9fcf9a800d0031ce4e02c0d34" - ], - [ - "FStar.Math.Fermat.pow_zero", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "well-founded-ordering-on-nat" - ], - 0, - "c638ef1cf4dd9515e1cb3620274c574f" - ], - [ - "FStar.Math.Fermat.pow_zero", - 3, - 1, - 0, - [ "@query" ], - 0, - "cac7d907d4c9f4c4e05a4d9568ba4aab" - ], - [ - "FStar.Math.Fermat.pow_one", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "0a28337e9fa051d792a20cc0603be76d" - ], - [ - "FStar.Math.Fermat.pow_plus", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f53c3fd294c96c5e59f4e50b77aa372e" - ], - [ - "FStar.Math.Fermat.pow_plus", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "typing_FStar.Math.Fermat.pow", "well-founded-ordering-on-nat" - ], - 0, - "9c05f5e3f64c3bc60134f23bff64ab1d" - ], - [ - "FStar.Math.Fermat.pow_plus", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3264456f3f11c10021b7c36ae3fa4319", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "83ff947198fddaca203892c954b6c8f1" - ], - [ - "FStar.Math.Fermat.pow_mod", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1c740a5955d4b44d3ea3cd25f2324950" - ], - [ - "FStar.Math.Fermat.pow_mod", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "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, - "bc7f214e61fe8ec1e95a3929a2e1ea56" - ], - [ - "FStar.Math.Fermat.pow_mod", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a8e3ac41a77bbc54735654e8b8651c01" - ], - [ - "FStar.Math.Fermat.binomial", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "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", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "ee3293844265a20d55a12b7b781c7216" - ], - [ - "FStar.Math.Fermat.binomial_0", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c0d55fee07560837fa4fcd9e80948631" - ], - [ - "FStar.Math.Fermat.binomial_lt", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.binomial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9b4989a25a9f89f8e90b8eea6727e44c_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "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", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_77d935a6ab1c753ad2033a872de6b4de", - "well-founded-ordering-on-nat" - ], - 0, - "1c2343076d41835542e42f33e344e3f6" - ], - [ - "FStar.Math.Fermat.binomial_n", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.binomial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_77d935a6ab1c753ad2033a872de6b4de", - "refinement_interpretation_Tm_refine_97a9bf12912b64c7f300e755f66e11b9", - "token_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "typing_FStar.Math.Fermat.binomial", "well-founded-ordering-on-nat" - ], - 0, - "63706f2328e0d3bbaecc605248ce666d" - ], - [ - "FStar.Math.Fermat.pascal", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_07295705544891065e7a01d318c0ba51", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6074166b4634a0625498ea180733f94a" - ], - [ - "FStar.Math.Fermat.pascal", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.binomial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_07295705544891065e7a01d318c0ba51", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "338feebfd82730936862bfadfb443e4c" - ], - [ - "FStar.Math.Fermat.factorial", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "well-founded-ordering-on-nat" - ], - 0, - "d9ada534a6f382077040f67296ab5029" - ], - [ - "FStar.Math.Fermat.binomial_factorial", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c11c136f1ed089996c59f8abe4489471" - ], - [ - "FStar.Math.Fermat.binomial_factorial", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_correspondence_FStar.Math.Fermat.factorial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "equation_FStar.Math.Fermat.op_Bang", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "equation_with_fuel_FStar.Math.Fermat.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Math.Fermat.op_Bang", "well-founded-ordering-on-nat" - ], - 0, - "59636eef9ccacbf214914c203f633774" - ], - [ - "FStar.Math.Fermat.binomial_factorial", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fc4ea9e85b67cdbfaf9570cbd4480855" - ], - 0, - "df9ce03a73c5d8d3bdc2c450efe56764" - ], - [ - "FStar.Math.Fermat.sum", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "ed36b224fd2a4e1a21fa5f06fcc96d05" - ], - [ - "FStar.Math.Fermat.sum_extensionality", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_813f43868f47f72f1e0a3eacf3542732_2", - "binder_x_813f43868f47f72f1e0a3eacf3542732_3", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5f9ff33ea5a0818c67e7edd6d481cecb", - "refinement_interpretation_Tm_refine_63c979ed0a92ad5d12112bac096e9398", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "7d9b79474d6ea5302f6c2acec75561a1" - ], - [ - "FStar.Math.Fermat.sum_first", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "2f7924aaa6ee4cf42e98f0ca667994e3" - ], - [ - "FStar.Math.Fermat.sum_first", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "21b6b7b413e01cd630d683a24868b13b" - ], - [ - "FStar.Math.Fermat.sum_last", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "5e7956020f0944de9618238abf7b625b" - ], - [ - "FStar.Math.Fermat.sum_last", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_00b2a53ec7c0535b1d7e1080cd57762f", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_9b4989a25a9f89f8e90b8eea6727e44c_1", - "binder_x_9bf82b591336f123eb2e3b2f3a5abefd_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_77d935a6ab1c753ad2033a872de6b4de", - "refinement_interpretation_Tm_refine_8bbbf5716dd2c80d2bdbd805a5276b44", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_FStar.Math.Fermat.sum", "well-founded-ordering-on-nat" - ], - 0, - "744f9a3e4cf892c20a57007338c7e4fa" - ], - [ - "FStar.Math.Fermat.sum_last", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "137815b3dc31b8d7ad00ec09ff253d0c" - ], - [ - "FStar.Math.Fermat.sum_const", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_ae567c2fb75be05905677af440075565_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_5fa77af02dfeeebcc598503d28eb6dd9", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "typing_FStar.Math.Fermat.sum", "typing_Prims.int", - "typing_Tm_abs_5fa77af02dfeeebcc598503d28eb6dd9", - "well-founded-ordering-on-nat" - ], - 0, - "022bd7219da72dc8d1a2e7cb8dd02373" - ], - [ - "FStar.Math.Fermat.sum_scale", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_813f43868f47f72f1e0a3eacf3542732_2", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_ae567c2fb75be05905677af440075565_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_b0c4fd4ddd7442b53daa33323b3f7559", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5f9ff33ea5a0818c67e7edd6d481cecb", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_FStar.Math.Fermat.sum", "typing_Prims.int", - "typing_Tm_abs_b0c4fd4ddd7442b53daa33323b3f7559", - "well-founded-ordering-on-nat" - ], - 0, - "8d853230e8ea72a2e90484ad00b2144f" - ], - [ - "FStar.Math.Fermat.sum_add", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_813f43868f47f72f1e0a3eacf3542732_2", - "binder_x_813f43868f47f72f1e0a3eacf3542732_3", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_694ec2692aa0b44139aabb55ae18d2f7", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5f9ff33ea5a0818c67e7edd6d481cecb", - "refinement_interpretation_Tm_refine_63c979ed0a92ad5d12112bac096e9398", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Prims.int", "typing_Tm_abs_694ec2692aa0b44139aabb55ae18d2f7", - "well-founded-ordering-on-nat" - ], - 0, - "d10642c5392ac075c50ebaa465c44bb8" - ], - [ - "FStar.Math.Fermat.sum_shift", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_6c2172b1d93ac8008737f5eb4371a6fa" - ], - 0, - "d151a11943768bfe975511049a5d0310" - ], - [ - "FStar.Math.Fermat.sum_shift", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_7234a2f6d9603e6bf7c10f5736121e1d", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_813f43868f47f72f1e0a3eacf3542732_2", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_74c26f45526399d926b92d2db01a4ccc", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00b8b81008d39a8c86e0f9ad50a0b832", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5f9ff33ea5a0818c67e7edd6d481cecb", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "refinement_interpretation_Tm_refine_82b614e09a8ba965da27deb625561c90", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_Prims.int", "typing_Tm_abs_74c26f45526399d926b92d2db01a4ccc", - "well-founded-ordering-on-nat" - ], - 0, - "c2513b1e47ce1f294ca04eb528061557" - ], - [ - "FStar.Math.Fermat.sum_shift", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_6c2172b1d93ac8008737f5eb4371a6fa" - ], - 0, - "669c40d63ccfc94fd011446beb832694" - ], - [ - "FStar.Math.Fermat.sum_mod", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3541fa4d22dd975800573a140dda54e1" - ], - [ - "FStar.Math.Fermat.sum_mod", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_f40c9263c6f5c60e5ceebb100168631d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_813f43868f47f72f1e0a3eacf3542732_2", - "binder_x_8398694cd93cdf584a90faddba74ff40_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_89112f0e976cbdc1a94043b685024701", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_5f9ff33ea5a0818c67e7edd6d481cecb", - "refinement_interpretation_Tm_refine_730f09f30cda5cc9df2484cc11178d65", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_FStar.Math.Fermat.sum", "typing_Prims.int", - "typing_Tm_abs_89112f0e976cbdc1a94043b685024701", - "well-founded-ordering-on-nat" - ], - 0, - "2794f86224c86f4727e439e9dc337700" - ], - [ - "FStar.Math.Fermat.sum_mod", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f878362a360a0a46764098e6115b4f38" - ], - 0, - "4b077ad57ec80d64cec30d3ef5e50413" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "c6c7ec844ee2198ab8b901a03fc84b0d" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "a10e60bae010577934170dbc7f63f3c6" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "2d6877619f9d02bf2703df780a988e8c" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 4, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "9f6a2ef72dd198fdf7c3d0a75d9d6e26" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 5, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "7b7a097dae007275f79e1d946e6dff21" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 6, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "d4a4302902b97223c7a5d406a919a33a" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 7, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "f49f2a4c499f4272aa941b1633677418" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 8, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "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", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "aac75a10e9451a87b61df97f7427c7ac" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 9, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "858718a3391766f5475ddff524718bf6" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 10, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "993c222afbf5dbd3fb51f4e061fcff71" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 11, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "90609f6e12410cf8a56c761661713bad" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 12, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "416b83e602dc6c4ba8fb79cb22b2520c" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 13, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "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", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "57498001f9763c2ebd6ca6fa145f772b" - ], - [ - "FStar.Math.Fermat.binomial_theorem_aux", - 14, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0" - ], - 0, - "9eccd549b7d4b2fe452e84ee987e2a7d" - ], - [ - "FStar.Math.Fermat.binomial_theorem", - 1, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96e65b2359ce32ff1f5ca9648c355aa6" - ], - 0, - "b8d6c68c89e8d8854c59683bd3ccde6a" - ], - [ - "FStar.Math.Fermat.binomial_theorem", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.binomial.fuel_instrumented", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.sum.fuel_instrumented", - "@query", - "FStar.Math.Fermat_interpretation_Tm_arrow_4f7548db5329c6dc2007f8524964689c", - "FStar.Math.Fermat_interpretation_Tm_arrow_6b643f6200e808ff5c9e1ff6c03073e5", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_ae567c2fb75be05905677af440075565_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.binomial.fuel_instrumented", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "equation_with_fuel_FStar.Math.Fermat.sum.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_12948470b89a91b0dcc2eb849b335456", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_21b37343b0ad90e1be2b1a190764fd2d", - "refinement_interpretation_Tm_refine_42d4fe8ad86b202769eaf055d7b07b1b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_760c01131bc94540bd8384aed66d4654", - "refinement_interpretation_Tm_refine_8a0786c60fd51b2b3c7d146c4b6c149b", - "refinement_interpretation_Tm_refine_c54ed3d8bd9c20e4e9940f76a1524350", - "refinement_interpretation_Tm_refine_f0825e92fa1f04349967083512ebd3df", - "token_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "token_correspondence_FStar.Math.Fermat.sum.fuel_instrumented", - "typing_FStar.Math.Fermat.pow", "typing_FStar.Math.Fermat.sum", - "typing_Tm_abs_12948470b89a91b0dcc2eb849b335456", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "5dae12f6a064a643ad451233857f056a" - ], - [ - "FStar.Math.Fermat.binomial_theorem", - 3, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_37450e79080eaa27d8b22d03131cbfd3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96e65b2359ce32ff1f5ca9648c355aa6" - ], - 0, - "6e5bbeef9fc81774d9cedada0e2bdaae" - ], - [ - "FStar.Math.Fermat.factorial_mod_prime", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "a65d5204683ca0bffc4647ed4f1ceaa3" - ], - [ - "FStar.Math.Fermat.factorial_mod_prime", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.factorial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_456b2e9c0b3f6aae2f475ee89a116cf7_0", - "binder_x_a030bdefe2e747990e5601413122f0a4_1", - "equation_FStar.Math.Fermat.op_Bang", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_f27748019ab22520cb8ec2f71f9080f4", - "well-founded-ordering-on-nat" - ], - 0, - "065c087dbc9da254870b32c94fe32b6e" - ], - [ - "FStar.Math.Fermat.factorial_mod_prime", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_df5984b10392d5312ce1be170e6450d2" - ], - 0, - "81fb600ce277665bfa95f548f336c5f3" - ], - [ - "FStar.Math.Fermat.binomial_prime", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "cb408ee4febe8e5324152ecb511509a8" - ], - [ - "FStar.Math.Fermat.binomial_prime", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.factorial.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.factorial.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Fermat.op_Bang", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.factorial.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "c97270fb20222da7ee2ed678a64d13db" - ], - [ - "FStar.Math.Fermat.freshman_aux", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "e39c2c35d667faf37b2277e0d41bd462" - ], - [ - "FStar.Math.Fermat.freshman_aux", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "7fa11fafc7c493801ed532b6331f6952" - ], - [ - "FStar.Math.Fermat.freshman", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "d5a60415fdd57108c5a2d75d19e4d3d2" - ], - [ - "FStar.Math.Fermat.freshman", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.is_prime", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_671796ea743afe4b3806ce7369d655e0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_96e65b2359ce32ff1f5ca9648c355aa6", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "4072d1eaef89752d6b4fc33114592a67" - ], - [ - "FStar.Math.Fermat.fermat_aux", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "f7aee2ff89a1951af5e961d5c0a2545a" - ], - [ - "FStar.Math.Fermat.fermat_aux", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_456b2e9c0b3f6aae2f475ee89a116cf7_0", - "binder_x_a030bdefe2e747990e5601413122f0a4_1", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_f27748019ab22520cb8ec2f71f9080f4", - "well-founded-ordering-on-nat" - ], - 0, - "658dac22c46c52f62b0fd9dda9f71c68" - ], - [ - "FStar.Math.Fermat.fermat_aux", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "54375b7d1cc23331d5de5e742f02df93" - ], - [ - "FStar.Math.Fermat.fermat", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "982f562fa96f2cdffea1465e35542ad1" - ], - [ - "FStar.Math.Fermat.fermat", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.is_prime", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "c196c01eaafc05bed47a1b0abe7db72f" - ], - [ - "FStar.Math.Fermat.mod_mult_congr_aux", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "a96485bb527be512f0502d1e9d1b9b4e" - ], - [ - "FStar.Math.Fermat.mod_mult_congr_aux", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.is_prime", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2415a3580e00b009a596ed1139838313", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_def003bea72d0f209f83e8e581faf40d" - ], - 0, - "5a1fac028b287a216dbe1b86d07269a5" - ], - [ - "FStar.Math.Fermat.mod_mult_congr", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "0ea26326d1adf0d635781876978461a9" - ], - [ - "FStar.Math.Fermat.mod_mult_congr", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.is_prime", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Modulus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "bed4ef19e82136607d4d2f56daa8a707" - ], - [ - "FStar.Math.Fermat.fermat_alt", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "3bc478671fa6783a6ef7200f07f48328" - ], - [ - "FStar.Math.Fermat.fermat_alt", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Fermat.pow.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Fermat.pow.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Euclid.is_prime", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Fermat.pow.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e", - "refinement_interpretation_Tm_refine_da5625587e09adb0744cd841af2f306b" - ], - 0, - "3089349c7ebe15b9d3c657a509d75fc7" - ], - [ - "FStar.Math.Fermat.fermat_alt", - 3, - 1, - 0, - [ - "@query", "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "4405fb4e600162ef2e3ef2bc1c5d7770" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Fermat.fsti.hints b/ulib/.hints/FStar.Math.Fermat.fsti.hints deleted file mode 100644 index a88d7cc606c..00000000000 --- a/ulib/.hints/FStar.Math.Fermat.fsti.hints +++ /dev/null @@ -1,63 +0,0 @@ -[ - "¸Hò7\u0013,—Ú»^Ïé`\u001f\u000e2", - [ - [ - "FStar.Math.Fermat.pow", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "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, - "030b30285898933f79d82bc1404f41e2" - ], - [ - "FStar.Math.Fermat.fermat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "2c017bc4f2927f30796b5fdf36041133" - ], - [ - "FStar.Math.Fermat.mod_mult_congr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "d960138e6c7bb09a697de79296f9450c" - ], - [ - "FStar.Math.Fermat.fermat_alt", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Euclid.is_prime", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bcc53e0d0118ae334bf1ccba10e6ca4e" - ], - 0, - "eaae32decfc6ac81a7a6ca86dfa44e00" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Lemmas.fst.hints b/ulib/.hints/FStar.Math.Lemmas.fst.hints deleted file mode 100644 index a65a3ff2fc4..00000000000 --- a/ulib/.hints/FStar.Math.Lemmas.fst.hints +++ /dev/null @@ -1,2614 +0,0 @@ -[ - "J“]ß+>È1\t\u0005\u001aB=è²\u001c", - [ - [ - "FStar.Math.Lemmas.euclidean_div_axiom", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0da3fdc0d2aefc73d64d8e9cc6f5e831" - ], - [ - "FStar.Math.Lemmas.euclidean_div_axiom", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b18c58bbd6318413df652efaef289c07" - ], - [ - "FStar.Math.Lemmas.lemma_eucl_div_bound", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "fc942eb32eff896594077f2e293280e8" - ], - [ - "FStar.Math.Lemmas.lemma_mult_le_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "47388c310b4e7f5372f8470af143da97" - ], - [ - "FStar.Math.Lemmas.lemma_mult_le_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6cfb43d79a66ad1d2a2bd713aee06c05" - ], - [ - "FStar.Math.Lemmas.lemma_mult_lt_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ee4d3661950df78f120fd9b0d1271a06" - ], - [ - "FStar.Math.Lemmas.lemma_mult_lt_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9830820979d192a55cfa51681cf8e4d2" - ], - [ - "FStar.Math.Lemmas.lemma_mult_lt_sqr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7a4c9c81abfe8561837c8de08a5d08be" - ], - 0, - "c713d728839d8925f5a4427ef4491e72" - ], - [ - "FStar.Math.Lemmas.swap_mul", - 1, - 0, - 0, - [ "@query", "primitive_Prims.op_Multiply" ], - 0, - "e3e80b661468c2a938954a6cc032a518" - ], - [ - "FStar.Math.Lemmas.lemma_cancel_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "40bab6c293753d2cbcc4917d1bbac225" - ], - [ - "FStar.Math.Lemmas.distributivity_add_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "4448e104857b93fe331c42fd53b84e3a" - ], - [ - "FStar.Math.Lemmas.distributivity_add_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply" - ], - 0, - "13d05d34b4ed987eca0635a6ba4cadcd" - ], - [ - "FStar.Math.Lemmas.paren_mul_right", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "cd9efe7c53ddf9f69f449d0a7367d561" - ], - [ - "FStar.Math.Lemmas.paren_add_right", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "22a7d70a416665d07b7c90bc0b335096" - ], - [ - "FStar.Math.Lemmas.addition_is_associative", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "48b9b14b6f78d028f74a5de13419759e" - ], - [ - "FStar.Math.Lemmas.subtraction_is_distributive", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "e7201a1e8739c731fe730c7d9bb30ba1" - ], - [ - "FStar.Math.Lemmas.swap_add_plus_minus", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9aa2ddcb25d110970a9f96dd83568562" - ], - [ - "FStar.Math.Lemmas.neg_mul_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b6b833d2d11488d84ff1b3fac313fc71" - ], - [ - "FStar.Math.Lemmas.neg_mul_right", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "504d01b6cf1a1320504dfc06d20a7f98" - ], - [ - "FStar.Math.Lemmas.swap_neg_mul", - 1, - 0, - 0, - [ "@query" ], - 0, - "105042119c16eb983c861945b05ab11c" - ], - [ - "FStar.Math.Lemmas.distributivity_sub_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "0e474d648a9fc92a74508ba1d4397966" - ], - [ - "FStar.Math.Lemmas.distributivity_sub_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "70d38a6af7bf652fa8e40be991787169" - ], - [ - "FStar.Math.Lemmas.lemma_abs_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5b706f1316bc4c0722dc2171363a324f", - "typing_FStar.Math.Lib.abs" - ], - 0, - "7d5a29d2dd82ca352ba2b2c5a11fe194" - ], - [ - "FStar.Math.Lemmas.lemma_abs_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Minus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b706f1316bc4c0722dc2171363a324f", - "typing_FStar.Math.Lib.abs" - ], - 0, - "f229800f39b71da69397c48e41e5765d" - ], - [ - "FStar.Math.Lemmas.mul_ineq1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Math.Lib.abs", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b706f1316bc4c0722dc2171363a324f", - "typing_FStar.Math.Lib.abs" - ], - 0, - "45342ab0eb6203d12ea6b2796579868d" - ], - [ - "FStar.Math.Lemmas.add_zero_left_is_same", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "dd43d83e2b83b7d0ee8a76ba9359eb1b" - ], - [ - "FStar.Math.Lemmas.add_zero_right_is_same", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "78af5f41f6da9f8510e8b652d9f2a45f" - ], - [ - "FStar.Math.Lemmas.mul_one_left_is_same", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "eb3a77bfc3c9ef2c00c1318f1430b298" - ], - [ - "FStar.Math.Lemmas.mul_one_right_is_same", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "b9f6eaf2001b30b852ec26bbbb60386b" - ], - [ - "FStar.Math.Lemmas.mul_zero_left_is_zero", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b849d7b4f6c6b18321bda33cc14a9f3f" - ], - [ - "FStar.Math.Lemmas.mul_zero_right_is_zero", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "31284d4daa84dd10cb012d7a66e36170" - ], - [ - "FStar.Math.Lemmas.nat_times_nat_is_nat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "79dee188b1247d79aa448edcb400ba7c" - ], - [ - "FStar.Math.Lemmas.pos_times_pos_is_pos", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5c17287a1c3e4d0b50efd205c0b2b132" - ], - [ - "FStar.Math.Lemmas.nat_over_pos_is_nat", - 1, - 0, - 0, - [ "@query" ], - 0, - "d7833f07fc57d985d98dfe3fc439427f" - ], - [ - "FStar.Math.Lemmas.nat_over_pos_is_nat", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3637d304457d36274d65d9777019b8df" - ], - [ - "FStar.Math.Lemmas.nat_plus_nat_equal_zero_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_eccf147327f3985dffafc88d990d08b8" - ], - 0, - "c0db11641327133dbc3a3596a03dd441" - ], - [ - "FStar.Math.Lemmas.int_times_int_equal_zero_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2b01395e9078edff94f88e62ec027673" - ], - 0, - "5a891d2cfff55914536a3fc7f8e1d891" - ], - [ - "FStar.Math.Lemmas.pow2_double_sum", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ce2d92b4371eab56db12f9a4430f3261" - ], - [ - "FStar.Math.Lemmas.pow2_double_sum", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "d976d36f0ea53ddc2c769c5017eb6ede" - ], - [ - "FStar.Math.Lemmas.pow2_double_mult", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c17bb1808b87fe241df5988370dace29" - ], - [ - "FStar.Math.Lemmas.pow2_double_mult", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cd7b7fbb29b28944013d8dcefb15a134" - ], - [ - "FStar.Math.Lemmas.pow2_lt_compat", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1245d73315a14e298894abeef1618d3c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "ef20a071d2d177d6290c9187b1f98972" - ], - [ - "FStar.Math.Lemmas.pow2_le_compat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c91e23500ff9b21449cdcc1c6961f3cb" - ], - [ - "FStar.Math.Lemmas.pow2_plus", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "03ef867011fb5bca5b14eaf97c83f9e8" - ], - [ - "FStar.Math.Lemmas.pow2_plus", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2", "well-founded-ordering-on-nat" - ], - 0, - "9beb90956cf7347621f30b493f66aabd" - ], - [ - "FStar.Math.Lemmas.pow2_plus", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b40eb6803c4d62d2dabbd15c89f4a2e6" - ], - 0, - "55ccae83d21ab102b5644fe9e2456f20" - ], - [ - "FStar.Math.Lemmas.pow2_minus", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c09d6abbbf093cf5503af1a409dddeec" - ], - [ - "FStar.Math.Lemmas.pow2_minus", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "274c842bea0db2c8f8dc62018bf5d8ee" - ], - [ - "FStar.Math.Lemmas.multiply_fractions", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "0dea7b956de1f12379025a2d79920362" - ], - [ - "FStar.Math.Lemmas.modulo_lemma", - 1, - 0, - 0, - [ "@query" ], - 0, - "de50af32a0fd1eca59cc85ec551207a3" - ], - [ - "FStar.Math.Lemmas.modulo_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3f71dd0c43c550aecfe3bc463a0a6c60" - ], - [ - "FStar.Math.Lemmas.lemma_div_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "20c24c69f756bb9fd77202b76cfc8bdf" - ], - [ - "FStar.Math.Lemmas.lemma_mod_lt", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "87a1e8460f019772a13532c89c919e4e" - ], - [ - "FStar.Math.Lemmas.lemma_mod_lt", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4263f4c455bc218cd11aab5ce4bee6f0" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt_nat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "bb42425bd96e1b518ed8052742969bdc" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt_nat", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "0b12ec3042efdd5366250afdcf78d0f3" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ef2e09dbb34375eb604aeb2ad341efb2" - ], - 0, - "3e287d7f9abe0c153233c1173868117d" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "79c5dba4c5288e7e37da082d3e8afc71" - ], - [ - "FStar.Math.Lemmas.bounded_multiple_is_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "034ffff6e459c547add1e6c4adfac53d" - ], - [ - "FStar.Math.Lemmas.small_div", - 1, - 0, - 0, - [ "@query" ], - 0, - "ae5233d0fc8cfe47974fd90627af9797" - ], - [ - "FStar.Math.Lemmas.small_div", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2463f767bec67eac5e4e3d74d42398ec" - ], - [ - "FStar.Math.Lemmas.small_mod", - 1, - 0, - 0, - [ "@query" ], - 0, - "3ecd5f99b8526277c23d440de15fcca6" - ], - [ - "FStar.Math.Lemmas.small_mod", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6944714d52ef1fe7c4b78ca664a49bd5" - ], - [ - "FStar.Math.Lemmas.lt_multiple_is_equal", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "becfa3e2726af274710a51a3d8cc337f" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "eec96ef504201ca16b98d4b564cbea69" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "723fdd3bbfa53ca3fb7ab311753b5ac7" - ], - [ - "FStar.Math.Lemmas.lemma_div_plus", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "78c25ab721d61f444e3226d401dfcc99" - ], - [ - "FStar.Math.Lemmas.lemma_div_plus", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0e536c89a3f9641abeb4f2cee4604439" - ], - [ - "FStar.Math.Lemmas.lemma_div_mod_plus", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "17ef2c4230134f63b63d048ff479ba10" - ], - [ - "FStar.Math.Lemmas.lemma_div_mod_plus", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "de04d0c494a86ae5b8428b9aeb1facb3" - ], - [ - "FStar.Math.Lemmas.add_div_mod_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "275bfd52b6fb731f5e4382a15f157395" - ], - [ - "FStar.Math.Lemmas.add_div_mod_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a23b3bd8613caf4d3571270ea09c38f7" - ], - [ - "FStar.Math.Lemmas.sub_div_mod_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b3203a69fbde3f638a246be9885f1bf4" - ], - [ - "FStar.Math.Lemmas.sub_div_mod_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "51e5995c67abd42db8804e0bf51ff66c" - ], - [ - "FStar.Math.Lemmas.cancel_mul_div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "int_inversion", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "796b38c971034b1650e1ce734cc38eb2" - ], - [ - "FStar.Math.Lemmas.cancel_mul_mod", - 1, - 0, - 0, - [ "@query" ], - 0, - "a604fbc535e752ab85a60aab3244d36d" - ], - [ - "FStar.Math.Lemmas.cancel_mul_mod", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "df9d15754a8a04db4216f28a3615d612" - ], - [ - "FStar.Math.Lemmas.lemma_mod_add_distr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c1cee34c508cf4e4f22027648a2c6110" - ], - [ - "FStar.Math.Lemmas.lemma_mod_add_distr", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "21b6ffd876b6ffd0d9e8e471ecc5a461" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_distr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6d34a4dfdb0dfe8b2e26e7517ff8fcf9" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_distr", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "63b3208f573f794323af3e5361dc712d" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_0", - 1, - 0, - 0, - [ "@query" ], - 0, - "5cc7b9d08c894e121ea2688fc92770fa" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_0", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "41dda7302debdad8463926d0236c0480" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_39df8d29380e6969edd244cad5059985", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bc09641afec458a04d54dd56c3836bde" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_39df8d29380e6969edd244cad5059985", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4e45cc8a77e3481af280398f2d15b993" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "741c83375b2a30ad9796ab9068a7e8b6" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_l", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "221e68ca978636ef2f457e0e637571b3" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_r", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "10e8d89b1847768bee66065f876b0977" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_r", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "73ccc02363e041739e12515ced366b75" - ], - [ - "FStar.Math.Lemmas.lemma_mod_injective", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "d8eb4bb4f495c38c1993dab23d6dc11e" - ], - [ - "FStar.Math.Lemmas.lemma_mod_injective", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "96c0366a9959848c0e376ba27ba1e4a9" - ], - [ - "FStar.Math.Lemmas.lemma_mul_sub_distr", - 1, - 0, - 0, - [ "@query" ], - 0, - "ac31edf2f0d6f360d2b61b2b1fa096ea" - ], - [ - "FStar.Math.Lemmas.lemma_div_exact", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e3c31a6dffa06c1e0a57ef0e6938228a" - ], - [ - "FStar.Math.Lemmas.lemma_div_exact", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bdbc45b72e3f70eae1d91a9efb6f75f6" - ], - [ - "FStar.Math.Lemmas.div_exact_r", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2207fb5a26eb532efecda0fbc0b703f2" - ], - [ - "FStar.Math.Lemmas.div_exact_r", - 2, - 0, - 0, - [ "@query", "primitive_Prims.op_Multiply" ], - 0, - "5f3336428b1a40884faaf667ddc020c0" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8a09098672ff22473e00c85f2239b846" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "364923dc03dbe58c01a7b0b011493859" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dbf3edcd3e8d612a6c8754ba1d6a7cda" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "93a3f5c2780ccda59b14c8d4933ac02b" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "22e0bb9e23ba221b6e52c646133e5a74" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_l", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e12524cdfbc01462ddd7e965bb811550" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_r", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2542b9455efc0962a9c2fa67ffc46a61" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_r", - 2, - 0, - 0, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "bad7c638cb1e0029f918467f05b530f9" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "abb1fdff5997341564ef57dd45c3938c" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mod", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6f38376a8e8961e3aa3866fa5379240e" - ], - [ - "FStar.Math.Lemmas.euclidean_division_definition", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "aa00c5b601291d067eedcacfe69bc63e" - ], - [ - "FStar.Math.Lemmas.modulo_range_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c2c1b08e1b9102fc87f940ecc79b0634" - ], - [ - "FStar.Math.Lemmas.modulo_range_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Modulus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "027c8d7177629edac94407f49cc9c177" - ], - [ - "FStar.Math.Lemmas.small_modulo_lemma_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "087c805bd147de35735213a5362f95a5" - ], - [ - "FStar.Math.Lemmas.small_modulo_lemma_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4455a685a8caaa9c4db2a52f3133b3ff" - ], - [ - "FStar.Math.Lemmas.small_modulo_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fe30c7c0e409f96bd794229d11f3d423" - ], - [ - "FStar.Math.Lemmas.small_division_lemma_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Division", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "685f5543e5c9449edf1c6fd6839fe1cc" - ], - [ - "FStar.Math.Lemmas.small_division_lemma_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "59554b7d24652cc3a4e333de75e05030" - ], - [ - "FStar.Math.Lemmas.small_division_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "56f7936da598fb13ad1132e4625f31c2" - ], - [ - "FStar.Math.Lemmas.multiplication_order_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a6a72962936175365a84edd606907c02" - ], - [ - "FStar.Math.Lemmas.division_propriety", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "22b2ff5dbc5c7e6d5e0aa2358ccb42a1" - ], - [ - "FStar.Math.Lemmas.division_propriety", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8476384a42f896e8d67a174f40059f8f" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_1", - 1, - 0, - 0, - [ "@query" ], - 0, - "4f086c90d49db8367c2683e758c8d8b7" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_712c7f9c29b7e3f53f599415e7224453", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "eb5b8745c442fb0fa1d866a90fd9788c" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_2", - 1, - 0, - 0, - [ "@query" ], - 0, - "c46e00b42b96a3b0838447bbf93612b4" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d7e97d01980c483711555228730a8e9b" - ], - 0, - "4ae1eedd6aca624e5a6be8a652f258a9" - ], - [ - "FStar.Math.Lemmas.division_definition", - 1, - 0, - 0, - [ "@query" ], - 0, - "69ac8c2950f0e5107bd47a2d11e385ca" - ], - [ - "FStar.Math.Lemmas.division_definition", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_21b1c95c1044fe679060fb42d4cc0d95", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e0433b9e08e77ef20fe3269bd3744338" - ], - [ - "FStar.Math.Lemmas.multiple_division_lemma", - 1, - 0, - 0, - [ "@query" ], - 0, - "a3554a8f9244739aaaddab3bf0555482" - ], - [ - "FStar.Math.Lemmas.multiple_modulo_lemma", - 1, - 0, - 0, - [ "@query" ], - 0, - "31fa615829494a70594cefba6c7e27a4" - ], - [ - "FStar.Math.Lemmas.multiple_modulo_lemma", - 2, - 0, - 0, - [ "@query" ], - 0, - "843fde387c97f3519807307498bd1a10" - ], - [ - "FStar.Math.Lemmas.division_addition_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dcd6dfbb1bc2a9579d60138b4eec2bfd" - ], - [ - "FStar.Math.Lemmas.division_addition_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b3447b59beddca10c0e199b85681650f" - ], - [ - "FStar.Math.Lemmas.modulo_distributivity", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "82de7f71848701ae1f60e0fcd2199a59" - ], - [ - "FStar.Math.Lemmas.modulo_distributivity", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f9f97cd3116906bd193ca0f955b58a32" - ], - [ - "FStar.Math.Lemmas.lemma_div_le", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6844ef6bbaf87c16cecd0dd721a785ff" - ], - [ - "FStar.Math.Lemmas.lemma_div_le", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.pos", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "065a24151077b4151c09081ac58ceba4" - ], - [ - "FStar.Math.Lemmas.division_sub_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d9e0c0b1d9e79a5b54094f9c6f2a5800" - ], - [ - "FStar.Math.Lemmas.division_sub_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3f4fddcd49ee46bfeda734cbfc9e13cc" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a92910ac9619b78e4ef09f63e9c8ba02" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1bfc61342f7158e44fd7c71c8b4a188f" - ], - [ - "FStar.Math.Lemmas.modulo_addition_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a8030aa6886a0cd5d4556386396aa8b7" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d0603dd506f14f54ab3909a85c08ee54" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub", - 2, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "70f9c172efbfe7edb2667757d65232cc" - ], - [ - "FStar.Math.Lemmas.mod_mult_exact", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5f51de48666578364b2ea7592647aef8" - ], - [ - "FStar.Math.Lemmas.mod_mult_exact", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0ee92f4e7d3db9a9bad6680bf4902a08" - ], - [ - "FStar.Math.Lemmas.mod_mul_div_exact", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28d53739ccd3f378a12c11c782e6501c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cb863d91cf9653a708e496d8e4e8df0d" - ], - [ - "FStar.Math.Lemmas.mod_mul_div_exact", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9088dee2bdd847b6b9eb891d7c9fecfb" - ], - [ - "FStar.Math.Lemmas.mod_pow2_div2", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e3e32b9cf0c6b11ef0ea999ac018371", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ed8328a9565ea2f65f860303d13e718f" - ], - [ - "FStar.Math.Lemmas.mod_pow2_div2", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9b09692c0da9e6c294f009f6a476c297" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt_cancel", - 1, - 0, - 0, - [ "@query" ], - 0, - "ef413d35e620724382ed24c71f9b3ed2" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt_cancel", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "92f89abccf094de066135935882286d9" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mult_zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ca426db469f57ebdedf7c40684e00f87" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mult_zero", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fbeaf65c274053e5fb23aa5c703dfb66" - ], - [ - "FStar.Math.Lemmas.division_multiplication_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ded5e170d1240e90c33965c7e44e05da" - ], - [ - "FStar.Math.Lemmas.division_multiplication_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8493474e178530276a21fee8132befff" - ], - [ - "FStar.Math.Lemmas.cancel_fraction", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7d9fc597e92e18220589fb9c5bbb5767" - ], - [ - "FStar.Math.Lemmas.cancel_fraction", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a9d6bbe3fda58962b1a3bf5a8b205506" - ], - [ - "FStar.Math.Lemmas.modulo_scale_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ced1b396cc3bf73390fe5bcd0ab2db91" - ], - [ - "FStar.Math.Lemmas.modulo_scale_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f40ba707498c0a315de0eb2135d9162a" - ], - [ - "FStar.Math.Lemmas.lemma_mul_pos_pos_is_pos", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4734a67c80c40b3166ce408aff6d3eb6" - ], - [ - "FStar.Math.Lemmas.lemma_mul_nat_pos_is_nat", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "28658d715306012be193f07f3bf5969c" - ], - [ - "FStar.Math.Lemmas.modulo_division_lemma_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "aa3be94b6221a5421a8a1669fae97004" - ], - [ - "FStar.Math.Lemmas.modulo_division_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7ff86d392b26dcbed798aaa08c27fcf6" - ], - [ - "FStar.Math.Lemmas.modulo_division_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "68b64f688a3d175893dc04bc44db9ed2" - ], - [ - "FStar.Math.Lemmas.modulo_modulo_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ed926371e821a64d999c5766fa7043b1" - ], - [ - "FStar.Math.Lemmas.modulo_modulo_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "388b3eed6a8eaeeed682c64309d6dae9" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "ab8cf19153c33affdc663346eacb6282" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "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", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "typing_Prims.pow2" - ], - 0, - "1b8de268f0113144ccbe1c98c8946eab" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "21722fdb370bc424432e91246c3c38f7" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "f294aab4b8abb9b2ec0d4a4dc3bdb379" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", - 1, - 0, - 0, - [ "@query" ], - 0, - "85aefb5d39d756e588e13f40f208b5b2" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "d51dbecf1a942e39f08a8d8cfc28b3d1" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "86916d2873f23f050bcd2191337f06a4" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "138b17437ae5b2b1e265031b1d409b1d" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "fa0f778695d0abb6b92970f2dd6d5f6a" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "61fd66e4269b4481cebe7986b94a89ce" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", - 1, - 0, - 0, - [ "@query" ], - 0, - "c917a30f7db061da80b0113fa9212f02" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "0b9a27d2e19619671d74a971d3cd200c" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", - 1, - 0, - 0, - [ "@query" ], - 0, - "ec87449b8d601b6540d41eccdff71ab3" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "5bd331cb4796f805fac65058af8e67aa" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "504503aaf4917919d088ce453f157c47" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "d88397c82d304a4fd82b774afeaf7aa2" - ], - [ - "FStar.Math.Lemmas.modulo_add", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0ff449d95069f36ea7de1eeffa3f9815" - ], - [ - "FStar.Math.Lemmas.modulo_add", - 2, - 0, - 0, - [ "@query" ], - 0, - "ea12bdb7d94f445db30c914d380b1da4" - ], - [ - "FStar.Math.Lemmas.lemma_mod_twice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8fbb566a2b5cc700a391aeefe7db134b" - ], - [ - "FStar.Math.Lemmas.lemma_mod_twice", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "52cc45846e041ec1a4094c0fda625dd2" - ], - [ - "FStar.Math.Lemmas.modulo_sub", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9bf8ef82e622160651935da01ccf24d3" - ], - [ - "FStar.Math.Lemmas.modulo_sub", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0bd824b64a6cb0d2d7c68e6bab87bf45" - ], - [ - "FStar.Math.Lemmas.mod_add_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "78a60d2814f4e29f223ac8d8888ed34a" - ], - [ - "FStar.Math.Lemmas.mod_add_both", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "91e3152fbfaf8fb76189652d23b37e3b" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_injective", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "29fb3db35f3e8a7832fe46e348f92d58" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_injective", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1221dec6ccec6bef99126db2f13e62fc" - ], - [ - "FStar.Math.Lemmas.modulo_sub_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3b423ab54352575fb9729f5553dc93ba" - ], - [ - "FStar.Math.Lemmas.modulo_sub_lemma", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "133053b73c43146cf169db704eb55f24" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Lemmas.fsti.hints b/ulib/.hints/FStar.Math.Lemmas.fsti.hints deleted file mode 100644 index 93c1ef5e2f9..00000000000 --- a/ulib/.hints/FStar.Math.Lemmas.fsti.hints +++ /dev/null @@ -1,832 +0,0 @@ -[ - "\u000eÇG°\u0019ºÙöN’Š‘\u000e?ð]", - [ - [ - "FStar.Math.Lemmas.euclidean_div_axiom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b52dbb97bbc041e5a021e0cbf85d0091" - ], - [ - "FStar.Math.Lemmas.nat_over_pos_is_nat", - 1, - 2, - 1, - [ "@query" ], - 0, - "9e670f0d32f80ee4f9af41d51bd0df66" - ], - [ - "FStar.Math.Lemmas.pow2_double_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "214dfee149d8b10be3aad11d11d1b732" - ], - [ - "FStar.Math.Lemmas.pow2_double_mult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e64d63117e97be2ce937eebf77bf7575" - ], - [ - "FStar.Math.Lemmas.pow2_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "944ec210470cd9b189eaaf221783e19b" - ], - [ - "FStar.Math.Lemmas.pow2_minus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_48ee302bf1eb4121a480c48fccc99a62", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e9e80fe4d7e2f975ff0f9868b98e4ebb" - ], - [ - "FStar.Math.Lemmas.modulo_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "c19397ed787ed2d822038ad5e8c38d24" - ], - [ - "FStar.Math.Lemmas.lemma_mod_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "26686017eafee3659d69333c91421ab1" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt_nat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "5da1b01d5b1e172f467605e3ee549e21" - ], - [ - "FStar.Math.Lemmas.lemma_div_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ef2e09dbb34375eb604aeb2ad341efb2" - ], - 0, - "60a2cc5e37e030e3e8f6866beffc0c80" - ], - [ - "FStar.Math.Lemmas.small_div", - 1, - 2, - 1, - [ "@query" ], - 0, - "c69750e1884e129542da164fbc33c547" - ], - [ - "FStar.Math.Lemmas.small_mod", - 1, - 2, - 1, - [ "@query" ], - 0, - "286dcf4cd0ce94fbb824a6e27dffb6e1" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "24c4cfd0a14732ef58ee20a4c4c7a2f0" - ], - [ - "FStar.Math.Lemmas.lemma_div_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "22444f42621600908a88768273d1e4d6" - ], - [ - "FStar.Math.Lemmas.lemma_div_mod_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bfe1075bc4e8bcda01cf4087e2e04717" - ], - [ - "FStar.Math.Lemmas.add_div_mod_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e47f2264d9aa2ee47c7ec09e137120b7" - ], - [ - "FStar.Math.Lemmas.sub_div_mod_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8768a3868e52fed2134065e0c108983c" - ], - [ - "FStar.Math.Lemmas.cancel_mul_mod", - 1, - 2, - 1, - [ "@query" ], - 0, - "dc3b8b0c08053b9a0ff36f4d7c85ed19" - ], - [ - "FStar.Math.Lemmas.lemma_mod_add_distr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e2157e800d4051edde914fab26abeb06" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_distr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "28ba3d4cce69b7b9cc32f4066edefe90" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_0", - 1, - 2, - 1, - [ "@query" ], - 0, - "6ae8c8ccf6c9c83296481b7f6a061abf" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_39df8d29380e6969edd244cad5059985", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a1630b88a21190507dc92d5ea9715d41" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "897895a8a95fe46f8534b4a16431e3e2" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mul_distr_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e26ea874d1cf26323290293994cf7a6c" - ], - [ - "FStar.Math.Lemmas.lemma_mod_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "9154b14a18e6920ee826fa253769c9de" - ], - [ - "FStar.Math.Lemmas.lemma_div_exact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d99d0944fcdc092edc7a8a1e7d658b5b" - ], - [ - "FStar.Math.Lemmas.div_exact_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8f00c80dd204a496b847a92e6bc4e9f2" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f4a40e96207dcd3e7f37e68161c17f7e" - ], - [ - "FStar.Math.Lemmas.lemma_mod_spec2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3074b5803da88ced1fb21f8e76f92699" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b2d2f082461fd38bef40c111a475ed3b" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_distr_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e5d2ad43627eb2445bbb769f81b7a9e7" - ], - [ - "FStar.Math.Lemmas.lemma_mod_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e4f7e9ce82fb207d5a20ee3afa7fe3f3" - ], - [ - "FStar.Math.Lemmas.modulo_range_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c4dda4df9b51205dc66f4a51d2efc08a" - ], - [ - "FStar.Math.Lemmas.small_modulo_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2efd5604d470b3012928559df35b7a4d" - ], - [ - "FStar.Math.Lemmas.small_division_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "47432d62192ffddc93847abed433b359" - ], - [ - "FStar.Math.Lemmas.division_propriety", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7cf22576750e494ecf2d0c422f9e967a" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "a4aac9f950bb6dfd9b9cb1dfd34b6b6b" - ], - [ - "FStar.Math.Lemmas.division_definition_lemma_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "a953651105bdcb3dc0c8ad7081383352" - ], - [ - "FStar.Math.Lemmas.division_definition", - 1, - 2, - 1, - [ "@query" ], - 0, - "b286dca31d36b5bee51bb76a2a6c834e" - ], - [ - "FStar.Math.Lemmas.multiple_modulo_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "293df94697dfa46085d18bb9da8dc5a3" - ], - [ - "FStar.Math.Lemmas.division_addition_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c2266abbcc47b3c29b671decd02702f4" - ], - [ - "FStar.Math.Lemmas.modulo_distributivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "24533e605eba35a09d93b7867a76a4ab" - ], - [ - "FStar.Math.Lemmas.lemma_div_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ce4eb363b40ab12a31237df0383385df" - ], - [ - "FStar.Math.Lemmas.division_sub_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7da9cd25e0a90af865aced16a96549ff" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_mul_distr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8c85faf31bf06edc07392134604ee3fb" - ], - [ - "FStar.Math.Lemmas.modulo_addition_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3162439450753bee7133c6564394852e" - ], - [ - "FStar.Math.Lemmas.lemma_mod_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "13c2c6ec5dfd5650ee790b50b70a9a37" - ], - [ - "FStar.Math.Lemmas.mod_mult_exact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "596856ad46023b90e66942611d695705" - ], - [ - "FStar.Math.Lemmas.mod_mul_div_exact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28d53739ccd3f378a12c11c782e6501c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1535a1941c033da97c8ed8c758252018" - ], - [ - "FStar.Math.Lemmas.mod_pow2_div2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e3e32b9cf0c6b11ef0ea999ac018371", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f868a4274efacd9c25019af37b3abacc" - ], - [ - "FStar.Math.Lemmas.division_multiplication_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8a6d4577cb45e7884aa18200a348afd6" - ], - [ - "FStar.Math.Lemmas.modulo_scale_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c1f01b915499944df8c15be4c5db347d" - ], - [ - "FStar.Math.Lemmas.modulo_division_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fd0b58dcc027fa7159d7c0acbd2f6de4" - ], - [ - "FStar.Math.Lemmas.modulo_modulo_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "08a675050a368c376f89838dfe776984" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "eb7cbf4141480861c4a88031340faefd" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_division_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "72dc498677220b00839a4a00e3bd2339" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "bc9064fcde6a551efe2dc6dbb975edc8" - ], - [ - "FStar.Math.Lemmas.pow2_multiplication_modulo_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "d1926fddec3b5f251b9a5d810b94609a" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "c43b66b546812e2fa3bc45437683fdeb" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_division_lemma_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "bdebe984bece34c4af82a1f19a057e4e" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "c7fd60f856dc8a192a8bb1fb0574dcd6" - ], - [ - "FStar.Math.Lemmas.pow2_modulo_modulo_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "589266d101677855c473884a7bf20493" - ], - [ - "FStar.Math.Lemmas.modulo_add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4815edc88deef4f5e0fd5bc872a79aee" - ], - [ - "FStar.Math.Lemmas.lemma_mod_twice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb07b34618a56d5a32a0b72c0918d1fc" - ], - [ - "FStar.Math.Lemmas.modulo_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "75a383ebfa4f133ddbb2dad9a78a1dfa" - ], - [ - "FStar.Math.Lemmas.mod_add_both", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f3da35f8b54f46bd4f9fff8fb67e43eb" - ], - [ - "FStar.Math.Lemmas.lemma_mod_plus_injective", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "662b774f8850a7ee9f1e007a1e4a8cba" - ], - [ - "FStar.Math.Lemmas.modulo_sub_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "eac642af4ab17e2ef218813fdb37202b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Math.Lib.fst.hints b/ulib/.hints/FStar.Math.Lib.fst.hints deleted file mode 100644 index 2cc2991a808..00000000000 --- a/ulib/.hints/FStar.Math.Lib.fst.hints +++ /dev/null @@ -1,451 +0,0 @@ -[ - "턺wµýå\u0006v£\"­¢öš\u001f", - [ - [ - "FStar.Math.Lib.lemma_div_def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0d094cf998e0d61e000ea57db887cc73" - ], - [ - "FStar.Math.Lib.lemma_div_def", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "36c8cca7879db4cc4f3049b1f63ca498" - ], - [ - "FStar.Math.Lib.mul_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ca4bfc87546295db2897fe42a61be5de" - ], - [ - "FStar.Math.Lib.mul_lemma'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "24190b960954fdf81d17b13cd173effe" - ], - [ - "FStar.Math.Lib.mul_div_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fed054025a160d0aa75be71cc630bfab" - ], - [ - "FStar.Math.Lib.slash_decr_axiom", - 1, - 2, - 1, - [ "@query" ], - 0, - "2df30b5fdf14c38f2c77dcfbafed5f71" - ], - [ - "FStar.Math.Lib.slash_decr_axiom", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1e0ba441a695964d5ba65ec2e3d8c3e5" - ], - [ - "FStar.Math.Lib.lemma_mul_minus_distr_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "174ae3cf1a7757a76433fb5ef551625e" - ], - [ - "FStar.Math.Lib.slash_star_axiom", - 1, - 2, - 1, - [ "@query" ], - 0, - "90d0a9b7e0336ecebf2152d93da33b1d" - ], - [ - "FStar.Math.Lib.slash_star_axiom", - 2, - 8, - 2, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d9bc314059985b732dbee767bbb87b5c" - ], - [ - "FStar.Math.Lib.log_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "well-founded-ordering-on-nat" - ], - 0, - "57f9169826be3caf7270ed08f544ee5c" - ], - [ - "FStar.Math.Lib.powx", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "20d11828fea5dc91fa5d4d87a0889031" - ], - [ - "FStar.Math.Lib.abs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2908a48fc2d0bb0161bbeabc0d924886" - ], - [ - "FStar.Math.Lib.max", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "89f47c532818d073a71f0a6cfd5cc243" - ], - [ - "FStar.Math.Lib.min", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "19f5fd5ec5e3d26a619667bebf5b2a55" - ], - [ - "FStar.Math.Lib.div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "04f30cbf27b1778557ba200e3283f72b" - ], - [ - "FStar.Math.Lib.div_non_eucl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "335078d0c120268a6000cf8b221409cd" - ], - [ - "FStar.Math.Lib.div_non_eucl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "10c0c02b1425c97203bdb472b788607a" - ], - [ - "FStar.Math.Lib.signed_modulo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Math.Lib.div_non_eucl" - ], - 0, - "f304a65cde36dc72df50ea099698231c" - ], - [ - "FStar.Math.Lib.op_Plus_Percent", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dd7578081ee60d2f0d3de3cc13723b50" - ], - [ - "FStar.Math.Lib.op_Plus_Percent", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Math.Lib.signed_modulo", "int_inversion", - "int_typing", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "89de11f4f16ee595f36bb136bf48ad60" - ], - [ - "FStar.Math.Lib.powx_lemma1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Lib.powx.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Lib.powx.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Math.Lib.powx" - ], - 0, - "05f987f6fb12a57191c3e70772e7e72d" - ], - [ - "FStar.Math.Lib.powx_lemma2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6084ecd5755d74bec5eefafbb1c9e8a3" - ], - [ - "FStar.Math.Lib.powx_lemma2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Math.Lib.powx.fuel_instrumented", - "@fuel_irrelevance_FStar.Math.Lib.powx.fuel_instrumented", "@query", - "binder_x_ae567c2fb75be05905677af440075565_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "equation_with_fuel_FStar.Math.Lib.powx.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Math.Lib.powx", "well-founded-ordering-on-nat" - ], - 0, - "e2c5833ea707c62c464179b47f40ee21" - ], - [ - "FStar.Math.Lib.powx_lemma2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752211528bc38a8e2a085d3567b1d5f3" - ], - 0, - "bcdd50e2a0e8953de62c0192d442852d" - ], - [ - "FStar.Math.Lib.abs_mul_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5b706f1316bc4c0722dc2171363a324f", - "typing_FStar.Math.Lib.abs" - ], - 0, - "a9382d141034312f8eea0ead654f445c" - ], - [ - "FStar.Math.Lib.signed_modulo_property", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "equation_FStar.Math.Lib.signed_modulo", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c700b909411376297121079935a990cb" - ], - [ - "FStar.Math.Lib.div_non_eucl_decr_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b706f1316bc4c0722dc2171363a324f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Math.Lib.abs", "typing_FStar.Math.Lib.div_non_eucl" - ], - 0, - "2cf34a73e1eed7b3df7a1a67935c337d" - ], - [ - "FStar.Math.Lib.div_non_eucl_bigger_denom_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Math.Lib.abs", - "equation_FStar.Math.Lib.div_non_eucl", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", "primitive_Prims.op_Minus", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ffeb4b35eb66c9dc7f43d49d6f24837", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Math.Lib.div_non_eucl" - ], - 0, - "446009174151676534060f892b161e98" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Matrix.fst.hints b/ulib/.hints/FStar.Matrix.fst.hints deleted file mode 100644 index a681dc38473..00000000000 --- a/ulib/.hints/FStar.Matrix.fst.hints +++ /dev/null @@ -1,4635 +0,0 @@ -[ - "ê\f¹¢Ä\u000ba•1á¶IÙ»¡", - [ - [ - "FStar.Matrix.matrix_generator", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5160761b5c8c18ff41719390c8faf2ab" - ], - [ - "FStar.Matrix.flattened_index_is_under_flattened_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "49d5232f64f45e53ebc52edf9aa7638a" - ], - [ - "FStar.Matrix.flattened_index_is_under_flattened_size", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.get_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "92d5b26953d7633baa565781bddd6922" - ], - [ - "FStar.Matrix.get_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.get_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "818e75ec1f67e4d3acbff1093be1acfd" - ], - [ - "FStar.Matrix.get_i", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.get_j", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "960c532b011664a2f8f5dcf08198b2bc" - ], - [ - "FStar.Matrix.get_j", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.consistency_of_i_j", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "f27f1e2f7b0bd50d6c264114340b89ba" - ], - [ - "FStar.Matrix.consistency_of_i_j", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.consistency_of_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "878cbd7c5e7c892f16362f6ebcbf8876" - ], - [ - "FStar.Matrix.consistency_of_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.transpose_ji", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_i" - ], - 0, - "649d5b230c408cfb2b2f9b45cd0f9867" - ], - [ - "FStar.Matrix.transpose_ji", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.indices_transpose_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "c363e41d73c19350fa4f10deed9be9a6" - ], - [ - "FStar.Matrix.indices_transpose_lemma", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Matrix.ji_is_transpose_of_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.transpose_ji", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "1cc423591e99a45207ec7d56f7801cbe" - ], - [ - "FStar.Matrix.ji_is_transpose_of_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.dual_indices", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.transpose_ji", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_6959ac18c29651968b9d17a7c939bd69", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "3a3dc8ba92d1ecd7b0bea58aef072b39" - ], - [ - "FStar.Matrix.dual_indices", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.seq_of_matrix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Seq.Base.length" - ], - 0, - "78ce829081714127b102db5eabdef051" - ], - [ - "FStar.Matrix.seq_of_matrix", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "8f77d10955ab1c69aa8cc3c5aacb3b71" - ], - [ - "FStar.Matrix.ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a" - ], - 0, - "884397e898379135574189eab040a86b" - ], - [ - "FStar.Matrix.ijth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "ce34df824b5f24e6886e1a5510d5bbd9" - ], - [ - "FStar.Matrix.ijth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9cd1f28cc4c0c676e8fed3c3434257db" - ], - [ - "FStar.Matrix.ijth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a" - ], - 0, - "f6155b705b3a1bac4768dfb2f43224d3" - ], - [ - "FStar.Matrix.ijth_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "c656f1431738ab56aae379b3a1ec5817" - ], - [ - "FStar.Matrix.ijth_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9cd1f28cc4c0c676e8fed3c3434257db" - ], - [ - "FStar.Matrix.matrix_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a", - "typing_FStar.Seq.Base.length" - ], - 0, - "13a92d4438cb3fed1e74cc05eedb241b" - ], - [ - "FStar.Matrix.matrix_fold_equals_fold_of_seq", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Matrix.foldm", - "equation_FStar.Matrix.seq_of_matrix" - ], - 0, - "56bef4e3013f17db4f8e89ecf46d2892" - ], - [ - "FStar.Matrix.matrix_fold_internal", - 1, - 2, - 1, - [ "@query", "equation_FStar.Matrix.foldm" ], - 0, - "dca88dbd3e5104a436d0d168bc77c669" - ], - [ - "FStar.Matrix.init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_077791ddc11f1b6bab174fa46e89b00b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_ij", "typing_Prims.int" - ], - 0, - "e28395e575424ebee0eab0b6cb3b1622" - ], - [ - "FStar.Matrix.matrix_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.init", "equation_FStar.Matrix.seq_of_matrix", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Seq.Base.length" - ], - 0, - "e4a51b6f034e92b80f5aee76b09af41c" - ], - [ - "FStar.Matrix.matrix_append_snoc_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Matrix.matrix_seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Matrix.matrix_seq", "typing_FStar.Seq.Base.length" - ], - 0, - "238e89cdbc8a456826fc8aacee07ed1d" - ], - [ - "FStar.Matrix.matrix_seq_decomposition_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_0de31d64488349ff930f5b277c8285b3", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Seq.Base.length" - ], - 0, - "5e69538edfa962ad3ed975927cd053b2" - ], - [ - "FStar.Matrix.matrix_seq_decomposition_lemma", - 2, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "51e93eefd1c1216986bdd20d8fe38ebf" - ], - [ - "FStar.Matrix.matrix_fold_snoc_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_0de31d64488349ff930f5b277c8285b3", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Seq.Base.length" - ], - 0, - "5ccc25e5da3a7520333864eff8b27286" - ], - [ - "FStar.Matrix.matrix_fold_snoc_lemma", - 2, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "f5792283d28e5885f06ce43e25dc7ef3" - ], - [ - "FStar.Matrix.matrix_submatrix_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_0de31d64488349ff930f5b277c8285b3", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Seq.Base.length" - ], - 0, - "da770158137d3cd4db9caf01cf53977b" - ], - [ - "FStar.Matrix.matrix_submatrix_lemma", - 2, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "b054f9e5b98f7ace69aed770c44377ec" - ], - [ - "FStar.Matrix.matrix_seq_of_one_row_matrix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_FStar.Matrix.matrix_seq", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.matrix_seq" - ], - 0, - "de7b82f6c24f9f6d91f05a5a17cc9411" - ], - [ - "FStar.Matrix.one_row_matrix_fold_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.foldm", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "0f5d6de80e72ff255ba38b0840caa11d" - ], - [ - "FStar.Matrix.fold_of_subgen_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_bf99c56b9998a02438cbe8e7f8735596", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "fce9539a139a329ff6888ef7d1df852d" - ], - [ - "FStar.Matrix.fold_of_subgen_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" - ], - 0, - "56a06268a5ba9eade9c2bd4d13e9345f" - ], - [ - "FStar.Matrix.arithm_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a1e3f7f04fded11a3c965e932183ef79" - ], - [ - "FStar.Matrix.terminal_case_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.foldm", "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "interpretation_Tm_abs_fe41cb0fe74bc99aa4354ea463a12d10", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_07295705544891065e7a01d318c0ba51", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_99e5e20f053b7e22496b84212ea6682b", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "typing_Tm_abs_fe41cb0fe74bc99aa4354ea463a12d10" - ], - 0, - "bb3cccb629d593b18937a7da310cb9f0" - ], - [ - "FStar.Matrix.terminal_case_two_aux", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_fe41cb0fe74bc99aa4354ea463a12d10", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_99e5e20f053b7e22496b84212ea6682b", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Seq.Base.create" - ], - 0, - "d8ba91d9009b9cf3498b87906796ed32" - ], - [ - "FStar.Matrix.liat_equals_init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dadf460796cb53b41a458dd6942c0d37", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq" - ], - 0, - "b72eac1a2568bba99d451f295074b621" - ], - [ - "FStar.Matrix.liat_equals_init", - 2, - 2, - 1, - [ "@query" ], - 0, - "d7b8345c9fbd3a8aba18fbdaafa11e3a" - ], - [ - "FStar.Matrix.math_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "363393c170ed9e3f2ab7e6ddba19c1e1" - ], - [ - "FStar.Matrix.math_aux", - 2, - 2, - 1, - [ "@query" ], - 0, - "83998a7ebdbf81bd12a022798995f271" - ], - [ - "FStar.Matrix.math_aux_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_j", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "c6e37d676c8db07b8b6a9ddf67bb9ccf" - ], - [ - "FStar.Matrix.math_aux_2", - 2, - 2, - 1, - [ "@query" ], - 0, - "83998a7ebdbf81bd12a022798995f271" - ], - [ - "FStar.Matrix.math_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "15e9b6223707d472086873dc85c7d8d4" - ], - [ - "FStar.Matrix.math_aux_3", - 2, - 2, - 1, - [ "@query" ], - 0, - "83998a7ebdbf81bd12a022798995f271" - ], - [ - "FStar.Matrix.math_aux_4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "792f4b766a01decd93e1e4ec127ff331" - ], - [ - "FStar.Matrix.math_aux_4", - 2, - 2, - 1, - [ "@query" ], - 0, - "83998a7ebdbf81bd12a022798995f271" - ], - [ - "FStar.Matrix.seq_eq_from_member_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "ae3fd732ae1c8c0e5fc6afa83a1699ca" - ], - [ - "FStar.Matrix.seq_eq_from_member_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "31b8089b982cf418ae1764f82beb8079" - ], - [ - "FStar.Matrix.math_wut_lemma", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3ef60056ebbdb0554e4003dd3232ff3e" - ], - [ - "FStar.Matrix.matrix_fold_equals_double_fold", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_15e0a0a074c7b7a8833dc86f40052ede", - "FStar.Matrix_interpretation_Tm_arrow_66898511015dd9737607794e7858598f", - "FStar.Matrix_interpretation_Tm_arrow_7197f107efd43ca2095da5ed3abbf977", - "FStar.Matrix_interpretation_Tm_arrow_da24d4656a4e9b1597453271ed5e2b8a", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_18c389ef73acf609678671283e01701e_7", - "binder_x_a23b8a5487dd84ebf41e778bdfc10e5b_6", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_23cb8bd1b0230c8e675e28cccf98ad2b", - "interpretation_Tm_abs_de3663fde16d6fa7b1d8268a0cd5d449", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_27bc80b63e500635f777170d383b7862", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3c67bce33481ae8cb04d4a1476089dd1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e37596a0d2071321d2f9596bce09bf0f", - "refinement_interpretation_Tm_refine_eb4590bb0b091b2daa8b77ac5cae40c5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.matrix_seq", - "typing_FStar.Matrix.seq_of_matrix", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_23cb8bd1b0230c8e675e28cccf98ad2b", - "typing_Tm_abs_de3663fde16d6fa7b1d8268a0cd5d449", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "8229ae43dd29bdd5a00cd55997a03720" - ], - [ - "FStar.Matrix.matrix_fold_equals_double_fold", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_08fb72a9358f052e12acd484cf31904c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "18adf332c96acd3857501f996f73b527" - ], - [ - "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "7410fbd217783d45ac83a1afa9ea3496" - ], - [ - "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.foldm", "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "interpretation_Tm_abs_fe41cb0fe74bc99aa4354ea463a12d10", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Seq.Base.length" - ], - 0, - "5e51ec753f4db481697ca2a99e29f815" - ], - [ - "FStar.Matrix.matrix_last_line_equals_gen_fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Fold_interpretation_Tm_arrow_ef6b26184b4381c2e1f4e80e68bc4c6e", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.Algebra.CommMonoid.Fold.init_func_from_expr", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_aa596cdfe1f87b30697e767d9faf69ab", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.matrix_seq", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_aa596cdfe1f87b30697e767d9faf69ab" - ], - 0, - "39c388bc29ae8b553373165425bf6fa5" - ], - [ - "FStar.Matrix.matrix_fold_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_24aa20caf6bf7496846447b947e0cdf3_6", - "binder_x_39288767bd645baaad3cfe226f55ca24_5", - "binder_x_a23b8a5487dd84ebf41e778bdfc10e5b_8", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_4", - "binder_x_f6faecd0df6f2498cdfa7370ad042809_7", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Seq.Permutation.foldm_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_3eb44bd34bbe8ba8b24341030758ee32", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_857995bd1fedb634c7fc6cc7ef97ec18", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Fold.fold", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.matrix_seq", - "typing_FStar.Matrix.seq_of_matrix", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Permutation.foldm_snoc", - "well-founded-ordering-on-nat" - ], - 0, - "409e30ddc0f5ba51dbb2639cb4a4d331" - ], - [ - "FStar.Matrix.matrix_fold_aux", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "2497c1c5b6b896da8b96975a104eb3f1" - ], - [ - "FStar.Matrix.matrix_fold_equals_func_double_fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b7b6e79a7bc1bc243c45429cbf7dba25" - ], - [ - "FStar.Matrix.matrix_fold_equals_func_double_fold", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.foldm", "equation_FStar.Matrix.matrix_seq", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f45196ad0edfdc770b9a989803e60832" - ], - [ - "FStar.Matrix.transposed_matrix_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "20c8d29d9f57041d1b39778b5f99e259" - ], - [ - "FStar.Matrix.transposed_matrix_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5ad3ed5bf6ed1967f41012eae1f1c42b" - ], - [ - "FStar.Matrix.matrix_transpose_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "7e1eceac0f9d3ba9c5a95a0a6d4448ca" - ], - [ - "FStar.Matrix.matrix_transpose_is_permutation", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Matrix.transpose_ji", - "equation_FStar.Matrix.transposed_matrix_gen", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_e5bfeecfaea302c6562cc5349374889f", - "refinement_interpretation_Tm_refine_f1389f684c3db96ba3160f18a8876c6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_j", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Matrix.transposed_matrix_gen", "typing_Prims.int" - ], - 0, - "cf677df851efc1c4bfc62231463a7a05" - ], - [ - "FStar.Matrix.matrix_fold_equals_fold_of_transpose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Seq.Base.length" - ], - 0, - "3ad66a03a5878c1ef3d01d0f69a04892" - ], - [ - "FStar.Matrix.matrix_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Matrix.matrix_eq_fun", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8e4fd3c8485c58eaf6e090390bd327a7" - ], - [ - "FStar.Matrix.matrix_equiv_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "34ce2e97e53dc31f06913a89f667113a" - ], - [ - "FStar.Matrix.matrix_equiv_ijth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.matrix_eq_fun", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "token_correspondence_FStar.Matrix.matrix_eq_fun", - "typing_FStar.Matrix.get_ij" - ], - 0, - "8651c0c1212588f8454fbf2ad3395361" - ], - [ - "FStar.Matrix.matrix_equiv_ijth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ffd37d72a69e004add3d0862aa73c137" - ], - [ - "FStar.Matrix.matrix_equiv_from_element_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bcfb113f2c7b40e898427f62d164321b" - ], - [ - "FStar.Matrix.matrix_equiv_from_element_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.matrix_eq_fun", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c8b37327a01d03e15569edd59f3dcb3a", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.seq_of_matrix", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "6a2a5afac8fbcf028a50b9523a47bb42" - ], - [ - "FStar.Matrix.matrix_equiv_from_proof", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d87d42259ae965e89a11b9b6d164a01a" - ], - [ - "FStar.Matrix.matrix_equiv_from_proof", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ffd37d72a69e004add3d0862aa73c137" - ], - [ - "FStar.Matrix.matrix_add_generator", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1bdf76b9a769a571b56917444c1814a9" - ], - [ - "FStar.Matrix.matrix_add_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.matrix_add" - ], - 0, - "4f849f7f842235749e0c15cab44b5c7c" - ], - [ - "FStar.Matrix.matrix_add_ijth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "453cd1a7b21e8e824aadc562c3b59a98" - ], - [ - "FStar.Matrix.matrix_add_is_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Matrix.get_i", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.init", - "typing_FStar.Matrix.matrix_add", - "typing_FStar.Matrix.seq_of_matrix", - "typing_Tm_abs_eeffb89185e4d4051c08f15edcec71dd" - ], - 0, - "609dfd287ce9e9747b42d8683e1a5a18" - ], - [ - "FStar.Matrix.matrix_add_is_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_of", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.matrix_add" - ], - 0, - "80a79ca8062b7da6b6bc36c2ac9fa66e" - ], - [ - "FStar.Matrix.matrix_add_congruence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Matrix.seq_of_matrix", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "token_correspondence_FStar.Matrix.matrix_eq_fun", - "typing_FStar.Matrix.get_i", "typing_FStar.Matrix.get_ij", - "typing_FStar.Matrix.get_j", "typing_FStar.Matrix.matrix_add", - "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "6f92111a651efaffcf2189254ffa84fd" - ], - [ - "FStar.Matrix.matrix_add_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.matrix_of_seq", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Matrix.get_ij" - ], - 0, - "4e64a702b5c9ff6b008b764ead07b6aa" - ], - [ - "FStar.Matrix.matrix_add_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix", "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_add_zero", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_of", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_163e8af05ae18772875e2347144ac3ec", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.Matrix.matrix_add", - "typing_FStar.Matrix.matrix_add_zero" - ], - 0, - "c267ce1ac6ea482b8bed9a5a494ce8ec" - ], - [ - "FStar.Matrix.matrix_add_comm_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.matrix_equiv", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "token_correspondence_FStar.Matrix.matrix_eq_fun" - ], - 0, - "8cd604a1bcbe39951b634d8d116c8c62" - ], - [ - "FStar.Matrix.col", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "2cac638dd27e07aa532780ba69690358" - ], - [ - "FStar.Matrix.col", - 2, - 2, - 1, - [ "@query" ], - 0, - "48b8bc6ee57683c482f98bbbedde0c09" - ], - [ - "FStar.Matrix.row", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a0b3dcfc78e081fd66e8303a0f07eea1" - ], - [ - "FStar.Matrix.row", - 2, - 2, - 1, - [ "@query" ], - 0, - "dbbf7731d3f40bd8acdb79a7527aa02f" - ], - [ - "FStar.Matrix.matrix_row_col_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "854dee1b60d5ae95dd44f48c503d8e39" - ], - [ - "FStar.Matrix.matrix_row_col_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "e20f06841cfdc8b14b9f155b9e117cd9" - ], - [ - "FStar.Matrix.matrix_row_col_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9cd1f28cc4c0c676e8fed3c3434257db" - ], - [ - "FStar.Matrix.seq_op_const", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_condition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "abb1429b0705305a222bddad37edb8ba" - ], - [ - "FStar.Matrix.const_op_seq", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_condition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6cc4f237197fca04b92dc24d645df080" - ], - [ - "FStar.Matrix.seq_of_products", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "0ea61a15faa0112abf0079d722b6f373" - ], - [ - "FStar.Matrix.seq_of_products_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "f0e98d7c05d68431da1d3b45c67fa618" - ], - [ - "FStar.Matrix.seq_of_products_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Matrix.seq_of_products", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_cc4171ecc5b140cde5cbf470882853a2", - "typing_FStar.Matrix.seq_of_products" - ], - 0, - "6c22aa0daf250b421bbf5936cf94e793" - ], - [ - "FStar.Matrix.seq_of_products_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "56c135eeda9abdf60f51a99980042d04" - ], - [ - "FStar.Matrix.dot_lemma", - 1, - 2, - 1, - [ "@query", "equation_FStar.Matrix.dot" ], - 0, - "a1b869b3d6f684905d900958c2d10e5f" - ], - [ - "FStar.Matrix.matrix_mul_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "de04a56796d3fc7e9c6b847f9ae51651" - ], - [ - "FStar.Matrix.matrix_mul_gen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "91a411e9e228ad79cad3732217f92fa0" - ], - [ - "FStar.Matrix.seq_last_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.last", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "c1848d1ca77fc6cd38ae40b9c6796cb5" - ], - [ - "FStar.Matrix.seq_fold_decomposition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.un_snoc" - ], - 0, - "2039d78e1a6f8a01e274b22f04d1a914" - ], - [ - "FStar.Matrix.foldm_snoc_distributivity_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_6", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Matrix.const_op_seq", - "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.is_fully_distributive", - "equation_FStar.Matrix.is_left_distributive", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_658b0fb40be3774146a35ada6d225731", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_13b19a29edf5fdff587209852b52e8ef", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8b261d83044b3a5d972ae89febc01bf7", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Matrix.const_op_seq", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_658b0fb40be3774146a35ada6d225731", - "well-founded-ordering-on-nat" - ], - 0, - "ced087302e71f17b10e7da1f94ebf3f8" - ], - [ - "FStar.Matrix.foldm_snoc_distributivity_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.is_fully_distributive", - "equation_FStar.Matrix.is_right_distributive", - "equation_FStar.Matrix.seq_op_const", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_849ba256acf941205dfb4f71ede264e9", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36ac61d10ada4a907997a4f33f2c465f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_9406c81289b9f0578e7e60f4477353bf", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Matrix.seq_op_const", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_849ba256acf941205dfb4f71ede264e9", - "well-founded-ordering-on-nat" - ], - 0, - "855d34795c6e1a1ec2ce1a9b6ed873ca" - ], - [ - "FStar.Matrix.foldm_snoc_distributivity_right_eq", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Seq.Base.lemma_eq_elim", - "typing_FStar.Matrix.seq_op_const" - ], - 0, - "10a4c2dbf702545359d8fe74f851d039" - ], - [ - "FStar.Matrix.foldm_snoc_distributivity_left_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Matrix.const_op_seq", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_13a5baa299c7ae6c3c4d6439aefae26f", - "typing_FStar.Matrix.const_op_seq" - ], - 0, - "8f3ab1c91ca24a8963d342ac19549ca9" - ], - [ - "FStar.Matrix.matrix_mul_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "2c99da94eb758fe14cd2bc9a55a3d56b" - ], - [ - "FStar.Matrix.matrix_mul_ijth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_c4266f96e2eac5e3dcd5a020f11100c9", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_gen", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_mul_gen", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Matrix.matrix_mul_gen", - "typing_FStar.Matrix.init", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "565a25e5adfc35301dda89ae74f5bed4" - ], - [ - "FStar.Matrix.matrix_mul_ijth", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "91a411e9e228ad79cad3732217f92fa0" - ], - [ - "FStar.Matrix.matrix_mul_ijth_as_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "7f5a94a06f182a7071c91710782e0cdc" - ], - [ - "FStar.Matrix.matrix_mul_ijth_as_sum", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_c4266f96e2eac5e3dcd5a020f11100c9", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Matrix_interpretation_Tm_arrow_dac8f7fb7ded5e0242e11cc1766a91e9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.dot", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_gen", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_mul_gen", "int_inversion", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_516b83b170bc1a9a1690505fe398807a", - "interpretation_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Matrix.matrix_mul_gen", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.row", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.init", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_516b83b170bc1a9a1690505fe398807a", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "b321d588a8af7f5b36e6f7f7f3002c50" - ], - [ - "FStar.Matrix.matrix_mul_ijth_as_sum", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "91a411e9e228ad79cad3732217f92fa0" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "dc04fc02c0e639d8e524f0e886f229fa" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Matrix_interpretation_Tm_arrow_c4266f96e2eac5e3dcd5a020f11100c9", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.dot", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_gen", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_mul_gen", "int_inversion", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_17d4ed5964abb7106f567d3e74590bfd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_db179642f260c64e81b40cabde73b8be", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Matrix.matrix_mul_gen", - "typing_FStar.Matrix.col", "typing_FStar.Matrix.init", - "typing_FStar.Matrix.row", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" - ], - 0, - "688149ec789ba7a3ebee4dd5738ef9ac" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "f29e65fab0b1dde8fe8527706534c66d" - ], - [ - "FStar.Matrix.double_foldm_snoc_transpose_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.foldm", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.matrix_seq", - "equation_FStar.Matrix.seq_of_matrix", - "equation_FStar.Matrix.transposed_matrix_gen", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.transposed_matrix_gen", - "int_inversion", "int_typing", - "interpretation_Tm_abs_0a44cc731915aa98ab4db0f9ddc5411e", - "interpretation_Tm_abs_30038dac7a2314da8ac619873658e55f", - "interpretation_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "interpretation_Tm_abs_3a0055c74d894212eb966b79fc04b980", - "interpretation_Tm_abs_3e13ebbd3bee6a14d2c799779c3de488", - "interpretation_Tm_abs_5ea444bd6d509c78d20ea94a349b8463", - "interpretation_Tm_abs_897ede946c712538aa764eecb6b89bd6", - "interpretation_Tm_abs_eca50a650145de988bd7a2cf3580bac4", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b23d6c7d0419bb206296345badf754b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_Tm_abs_3549b6ed5b3ce2382d2307d13df81cda", - "typing_Tm_abs_eca50a650145de988bd7a2cf3580bac4" - ], - 0, - "95079817021afe81e14e0a806ee6a204" - ], - [ - "FStar.Matrix.double_foldm_snoc_transpose_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b615c099aecad81b3955f05907bba7bb" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_init_len", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "479666480848ce50a23b260822c7a175" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Matrix_interpretation_Tm_arrow_c4266f96e2eac5e3dcd5a020f11100c9", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.dot", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_gen", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_mul_gen", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c798c656d5e962c1fc073732b7162ad", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Matrix.matrix_mul_gen", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.row", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "c195c37c40b9fd05199cf11b4be0460e" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "86847da63bc0796bf52a7b1400e393fd" - ], - [ - "FStar.Matrix.double_foldm_snoc_of_equal_generators", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "fbffa8d2f7bd29058eca4c1703aa2365" - ], - [ - "FStar.Matrix.double_foldm_snoc_of_equal_generators", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d6f9d1f5b8482209121a3853452922d9" - ], - [ - "FStar.Matrix.matrix_mul_is_associative", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_540339c9d42165ec841331bbaa847921", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.const_op_seq", "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.matrix", "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", - "equation_FStar.Matrix.seq_op_const", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_638770900640c2e1c913512a5a5a0061", - "interpretation_Tm_abs_658b0fb40be3774146a35ada6d225731", - "interpretation_Tm_abs_849ba256acf941205dfb4f71ede264e9", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_ac6f41f65fe441ac02ca121690ffff9d", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "interpretation_Tm_abs_bb89654db6fa07ead1aeae89c96ee7e6", - "interpretation_Tm_abs_c6f801c2ebef6f696ea22ff1f710d933", - "interpretation_Tm_abs_d3f996c2ead7490d18c276090447cebb", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_17d4ed5964abb7106f567d3e74590bfd", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.col", "typing_FStar.Matrix.const_op_seq", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.row", - "typing_FStar.Matrix.seq_of_products", - "typing_FStar.Matrix.seq_op_const", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_638770900640c2e1c913512a5a5a0061", - "typing_Tm_abs_658b0fb40be3774146a35ada6d225731", - "typing_Tm_abs_849ba256acf941205dfb4f71ede264e9", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "165d64835a5c9003e6e3a29a7416afd3" - ], - [ - "FStar.Matrix.matrix_mul_unit", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_6959ac18c29651968b9d17a7c939bd69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "5520b865091b8b93fe32bf4b857f3319" - ], - [ - "FStar.Matrix.matrix_mul_unit_row_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "bb8ba6e235839a9ae26d687e4346ef34" - ], - [ - "FStar.Matrix.matrix_mul_unit_col_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.init", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736" - ], - 0, - "e9f0e7e112ec034d880f64c21228f289" - ], - [ - "FStar.Matrix.seq_of_products_zeroes_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ee8b527da4c69830d965d4d0f6a9fd24", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Seq.Base.index", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" - ], - 0, - "073c47ea7a83097658e6262c6a0e5335" - ], - [ - "FStar.Matrix.foldm_snoc_zero_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "well-founded-ordering-on-nat" - ], - 0, - "1a07f5e92921fc752f448f24150c0f65" - ], - [ - "FStar.Matrix.foldm_snoc_zero_lemma", - 2, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_condition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "25a404bbed32a7b14a53ede9b51618cf" - ], - [ - "FStar.Matrix.matrix_mul_unit_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "haseqTm_refine_6959ac18c29651968b9d17a7c939bd69", "int_inversion", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.init", "typing_Prims.int", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736" - ], - 0, - "18db74bd246750b33c0d05a1fa04779a" - ], - [ - "FStar.Matrix.last_equals_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc" - ], - 0, - "55fb99f025cd0b8146208a16c625d21d" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Seq.Permutation.foldm_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f52d524f7d227b5c40129c018d34fe1d", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Seq.Base.init", - "typing_Tm_abs_3b99e7dca13a5115073e5fcd30e65abc" - ], - 0, - "35e478bff7eabe52a2a31cf406d734f6" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "feace60e91a2bfe0ca9f835f5101d666" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_15dbdb37c69d6a3c848d824c81762fa9", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_7", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_8", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_d42f54e07e0beaf3a45046f067e67552_5", - "binder_x_e057005b8b799da20774c20c3dbc3e8a_6", - "binder_x_ec8f098033d5dde85c1750c5f7c1a381_9", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "interpretation_Tm_abs_e9f938283ef6d7b004b082acf2377f5d", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3db3f0597cd7c82a9a89a4aed1739d41", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7541305782c92122f9c569991bdef9a7", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.init", - "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "typing_Tm_abs_e9f938283ef6d7b004b082acf2377f5d", - "well-founded-ordering-on-nat" - ], - 0, - "b2a45bb2e129733384512a9c0e8d5fab" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55565ada50a6dae2ff8feeeb22e6705a", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "37fa3081d898bf2f8f57b591027b461d" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_2", - 1, - 4, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_3b99e7dca13a5115073e5fcd30e65abc", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_492cc0858513b5161ffb65e741fc2a7e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" - ], - 0, - "bad6ca3aac3e5b8183af0acbbe5d5938" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "feace60e91a2bfe0ca9f835f5101d666" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_15dbdb37c69d6a3c848d824c81762fa9", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "binder_x_14ba3f384cecde31a17ecb283deaa4cb_9", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_7", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_8", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_d42f54e07e0beaf3a45046f067e67552_5", - "binder_x_e057005b8b799da20774c20c3dbc3e8a_6", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "interpretation_Tm_abs_e9f938283ef6d7b004b082acf2377f5d", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_319b437887d54d1b1ae6194c8b3c64f0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3db3f0597cd7c82a9a89a4aed1739d41", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_941855a40cd0408ab5e00dce42022208", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.init", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "typing_Tm_abs_e9f938283ef6d7b004b082acf2377f5d", - "well-founded-ordering-on-nat" - ], - 0, - "fac3b1803c7b84417d2df0d32bdde4d9" - ], - [ - "FStar.Matrix.matrix_right_mul_identity_aux_3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_020c0e260e94dbe460cec818e1d9a7a0", - "refinement_interpretation_Tm_refine_4cd158a0148cb8ac13c4efb8b42810ba", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "488a6d527b1af856ca1e2586536a4217" - ], - [ - "FStar.Matrix.matrix_right_identity_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", "unit_inversion", - "unit_typing" - ], - 0, - "9f2b545563995e9d3d309fc137e29ae0" - ], - [ - "FStar.Matrix.matrix_right_identity_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "db7954a9cb271c814452d507e1d0bc5c" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Seq.Permutation.foldm_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f52d524f7d227b5c40129c018d34fe1d", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Seq.Base.init", - "typing_Tm_abs_5e35c6983d2672887017cfab5921a733" - ], - 0, - "d27f2be7433808499cd7ab3e4b7236d8" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_0", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "feace60e91a2bfe0ca9f835f5101d666" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Matrix_interpretation_Tm_arrow_15dbdb37c69d6a3c848d824c81762fa9", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_39b170079e59a610f02cc662fd28dacc_9", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_7", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_8", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_d42f54e07e0beaf3a45046f067e67552_5", - "binder_x_e057005b8b799da20774c20c3dbc3e8a_6", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "interpretation_Tm_abs_8326b6b9c339f36d39e8a70be298dc80", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3db3f0597cd7c82a9a89a4aed1739d41", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a61c603348541e469d1ce1e079fdb99d", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cc28df90ad899e9cf35f5d4f587bdb44", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f52d524f7d227b5c40129c018d34fe1d", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.init", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "typing_Tm_abs_8326b6b9c339f36d39e8a70be298dc80", - "well-founded-ordering-on-nat" - ], - 0, - "f80c2d4a2a5bfe43c20b85acdc09812c" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "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_01acf7ef747b0bdd172e94d78b100c48", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bb362165ee5e7a7a23d3b5420d3a4d9c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "dde1a33c2ac2ffb6b1d183f385083444" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5e35c6983d2672887017cfab5921a733", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bb362165ee5e7a7a23d3b5420d3a4d9c", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_f52d524f7d227b5c40129c018d34fe1d", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.un_snoc" - ], - 0, - "85f83cdb065d6b97d9f8497d9a8907ee" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5b31b7449fa399484745842b864ddcf1" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_15dbdb37c69d6a3c848d824c81762fa9", - "FStar.Matrix_interpretation_Tm_arrow_4cf07144ffbf5808cb0ca762dc7bd0f4", - "FStar.Matrix_interpretation_Tm_arrow_d89ea1aca01bc014386195186f368a45", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_7", - "binder_x_54770fc485bff651a3dbc3333e8ec3d4_8", - "binder_x_8cc1275f89ef39866865a0ee5062a95b_9", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_d42f54e07e0beaf3a45046f067e67552_5", - "binder_x_e057005b8b799da20774c20c3dbc3e8a_6", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.ijth", "equation_FStar.Matrix.is_absorber", - "equation_FStar.Matrix.matrix_generator", - "equation_FStar.Matrix.matrix_mul_unit", - "equation_FStar.Matrix.matrix_of", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "interpretation_Tm_abs_8326b6b9c339f36d39e8a70be298dc80", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3db3f0597cd7c82a9a89a4aed1739d41", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_785105e0d83a7b1c7db2a5caccfa6e67", - "refinement_interpretation_Tm_refine_9880f1542babff19313c336319afd4ed", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.init", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_7ce0af9a9ba1e6a88b28c7ccd5a09736", - "typing_Tm_abs_8326b6b9c339f36d39e8a70be298dc80", - "well-founded-ordering-on-nat" - ], - 0, - "7c7f10c3127c249e8d9974c980e49fc1" - ], - [ - "FStar.Matrix.matrix_left_mul_identity_aux_3", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_020c0e260e94dbe460cec818e1d9a7a0", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd41ae75c93349453207eae88fdc6167", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition" - ], - 0, - "afc39fe7a552fc2577ab6051fb1f007b" - ], - [ - "FStar.Matrix.matrix_left_identity_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", "unit_inversion", - "unit_typing" - ], - 0, - "ebbb5ac70a82a78b9d8f11a8d33f8145" - ], - [ - "FStar.Matrix.matrix_left_identity_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "05c976b93a4fd8d1859fce9ee88612f2" - ], - [ - "FStar.Matrix.matrix_mul_right_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.matrix", "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_unit", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_3b99e7dca13a5115073e5fcd30e65abc", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.col", "typing_FStar.Matrix.matrix_mul_unit", - "typing_FStar.Matrix.row", "typing_FStar.Matrix.seq_of_products", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.init", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_3b99e7dca13a5115073e5fcd30e65abc", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "4732f101e2f6cd38e07aef77573740d0" - ], - [ - "FStar.Matrix.matrix_mul_left_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.matrix", "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_mul_unit", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_5e35c6983d2672887017cfab5921a733", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.matrix_mul_unit", "typing_FStar.Matrix.row", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_5e35c6983d2672887017cfab5921a733", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "69aad385526327d9084d33bfc86b0a1c" - ], - [ - "FStar.Matrix.matrix_mul_identity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Matrix.matrix", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_752483000c4a792ad1e3f2e597854f93", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "token_correspondence_FStar.Matrix.matrix_eq_fun" - ], - 0, - "d852e3877dcb627bae74f27aeea6d634" - ], - [ - "FStar.Matrix.dot_of_equal_sequences", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.dot", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Seq.Base.index", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087" - ], - 0, - "50735efc6037f4a06bcf1b004b964cd6" - ], - [ - "FStar.Matrix.matrix_mul_congruence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.matrix", "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "token_correspondence_FStar.Matrix.matrix_eq_fun", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.row", "typing_FStar.Seq.Base.init", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "d52f9eec8fa2806857fe763266336709" - ], - [ - "FStar.Matrix.matrix_mul_is_left_distributive", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.is_fully_distributive", - "equation_FStar.Matrix.is_left_distributive", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_FStar.Matrix.matrix_eq_fun", "int_inversion", - "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_3af099ba9870b32842b887a52829dd47", - "interpretation_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_abc44f3fa0bd4a49d783b7fd4d477c05", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "refinement_interpretation_Tm_refine_17d4ed5964abb7106f567d3e74590bfd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.ijth", "typing_FStar.Matrix.matrix_add", - "typing_FStar.Matrix.matrix_mul", "typing_FStar.Matrix.row", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.init", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_3af099ba9870b32842b887a52829dd47", - "typing_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "a9e36fca5e1baa722d7bfc4a3b9d47b4" - ], - [ - "FStar.Matrix.matrix_mul_is_right_distributive", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Matrix_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.ijth", - "equation_FStar.Matrix.is_fully_distributive", - "equation_FStar.Matrix.is_right_distributive", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_equiv", - "equation_FStar.Matrix.matrix_mul", - "equation_FStar.Matrix.matrix_of", "equation_FStar.Matrix.row", - "equation_FStar.Matrix.seq_of_products", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Matrix.matrix_eq_fun", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_014362e67e4370be3d72258c35095c84", - "interpretation_Tm_abs_57353f333ca536ac844db7af5bb232ef", - "interpretation_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "interpretation_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "interpretation_Tm_abs_a95252f3c12a153ef61008e22420c97f", - "interpretation_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.EQ_eq", - "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.Algebra.CommMonoid.Equiv.EQ_eq", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_17d4ed5964abb7106f567d3e74590bfd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_b7a0182f5f3c87ea492ef0012cea087a", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__EQ__item__eq", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Matrix.col", "typing_FStar.Matrix.ijth", - "typing_FStar.Matrix.matrix_add", "typing_FStar.Matrix.matrix_mul", - "typing_FStar.Matrix.row", "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_57353f333ca536ac844db7af5bb232ef", - "typing_Tm_abs_639a0d2776f2242bca8424333781c9ec", - "typing_Tm_abs_9a4b5f1b2452924a82f6aaae07140087", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "8df74338baa79bcf00cbcc72bb3c4c18" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Matrix.fsti.hints b/ulib/.hints/FStar.Matrix.fsti.hints deleted file mode 100644 index c06260bf140..00000000000 --- a/ulib/.hints/FStar.Matrix.fsti.hints +++ /dev/null @@ -1,892 +0,0 @@ -[ - "•óxŸ$'Sþ\u007f-µ\u0006Ï", - [ - [ - "FStar.Matrix.matrix_generator", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5399ce551aaee6fd9195817fb9805599" - ], - [ - "FStar.Matrix.flattened_index_is_under_flattened_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "5542ddc1681613a50eca95253bf785eb" - ], - [ - "FStar.Matrix.flattened_index_is_under_flattened_size", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.get_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "92d5b26953d7633baa565781bddd6922" - ], - [ - "FStar.Matrix.get_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.get_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "818e75ec1f67e4d3acbff1093be1acfd" - ], - [ - "FStar.Matrix.get_i", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.get_j", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "960c532b011664a2f8f5dcf08198b2bc" - ], - [ - "FStar.Matrix.get_j", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.consistency_of_i_j", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "f27f1e2f7b0bd50d6c264114340b89ba" - ], - [ - "FStar.Matrix.consistency_of_i_j", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "704e0540870f695aaf7a867e9f68a365" - ], - [ - "FStar.Matrix.consistency_of_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_ij", - "equation_FStar.Matrix.get_j", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "878cbd7c5e7c892f16362f6ebcbf8876" - ], - [ - "FStar.Matrix.consistency_of_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.transpose_ji", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.get_i" - ], - 0, - "649d5b230c408cfb2b2f9b45cd0f9867" - ], - [ - "FStar.Matrix.transpose_ji", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.indices_transpose_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "c363e41d73c19350fa4f10deed9be9a6" - ], - [ - "FStar.Matrix.indices_transpose_lemma", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.Matrix.ji_is_transpose_of_ij", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.transpose_ji", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_fcf1a3596fffd49dd2e91f2678358f19", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "1cc423591e99a45207ec7d56f7801cbe" - ], - [ - "FStar.Matrix.ji_is_transpose_of_ij", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.dual_indices", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_i", "equation_FStar.Matrix.get_j", - "equation_FStar.Matrix.transpose_ji", "equation_Prims.eqtype", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_6959ac18c29651968b9d17a7c939bd69", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "3a3dc8ba92d1ecd7b0bea58aef072b39" - ], - [ - "FStar.Matrix.dual_indices", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7e0693693b94e9b9233fb806437564c" - ], - [ - "FStar.Matrix.seq_of_matrix", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.get_ij", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Seq.Base.length" - ], - 0, - "fbc63b0f552112c5ef606a2ba39a1aac" - ], - [ - "FStar.Matrix.ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.get_ij", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "1786e2dcc3b1c7d88bfdf692f3d00745" - ], - [ - "FStar.Matrix.ijth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.get_ij", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "f6155b705b3a1bac4768dfb2f43224d3" - ], - [ - "FStar.Matrix.matrix_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "dae4452ca237282ba7ba59940c3df6a3" - ], - [ - "FStar.Matrix.matrix_fold_equals_fold_of_seq_folds", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "8e3859009ca96b7c50d42ba3badfa712" - ], - [ - "FStar.Matrix.matrix_fold_equals_func_double_fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "47b9f44291e6c8d07c91ae39deb8424c" - ], - [ - "FStar.Matrix.transposed_matrix_gen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "20c8d29d9f57041d1b39778b5f99e259" - ], - [ - "FStar.Matrix.matrix_transpose_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.Matrix.matrix_of", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_d7415981d4014e1e1eaee88cb9b594b5", - "typing_FStar.Matrix.init", "typing_FStar.Matrix.seq_of_matrix" - ], - 0, - "92edfadb33cee5d80eab5bff1cc7105e" - ], - [ - "FStar.Matrix.matrix_equiv_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fdc38ca014d20a01a6bac8b801d26274" - ], - [ - "FStar.Matrix.matrix_equiv_from_element_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bcfb113f2c7b40e898427f62d164321b" - ], - [ - "FStar.Matrix.matrix_equiv_from_proof", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9b6940337706d270c4d33b89b49b3696" - ], - [ - "FStar.Matrix.matrix_equiv_from_proof", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ffd37d72a69e004add3d0862aa73c137" - ], - [ - "FStar.Matrix.matrix_add_generator", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1bdf76b9a769a571b56917444c1814a9" - ], - [ - "FStar.Matrix.matrix_add_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Matrix.matrix_add", - "equation_FStar.Matrix.matrix_add_generator", - "equation_FStar.Matrix.matrix_of", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", - "interpretation_Tm_abs_eeffb89185e4d4051c08f15edcec71dd", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab06a28c4afb9bf873eddd3d9897a683", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Matrix.matrix_add" - ], - 0, - "4f849f7f842235749e0c15cab44b5c7c" - ], - [ - "FStar.Matrix.matrix_add_ijth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "453cd1a7b21e8e824aadc562c3b59a98" - ], - [ - "FStar.Matrix.col", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "5cae47cbb5881e4920f3a95879cf5af5" - ], - [ - "FStar.Matrix.col", - 2, - 2, - 1, - [ "@query" ], - 0, - "48b8bc6ee57683c482f98bbbedde0c09" - ], - [ - "FStar.Matrix.row", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a0b3dcfc78e081fd66e8303a0f07eea1" - ], - [ - "FStar.Matrix.row", - 2, - 2, - 1, - [ "@query" ], - 0, - "dbbf7731d3f40bd8acdb79a7527aa02f" - ], - [ - "FStar.Matrix.matrix_row_col_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "854dee1b60d5ae95dd44f48c503d8e39" - ], - [ - "FStar.Matrix.seq_op_const", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_condition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "abb1429b0705305a222bddad37edb8ba" - ], - [ - "FStar.Matrix.const_op_seq", - 1, - 2, - 1, - [ - "@query", "equation_FStar.IntegerIntervals.interval_condition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6cc4f237197fca04b92dc24d645df080" - ], - [ - "FStar.Matrix.seq_of_products", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "0ea61a15faa0112abf0079d722b6f373" - ], - [ - "FStar.Matrix.seq_of_products_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "f0e98d7c05d68431da1d3b45c67fa618" - ], - [ - "FStar.Matrix.matrix_mul_ijth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "a4d42d987ad6dadacb0f1983eaf3dbad" - ], - [ - "FStar.Matrix.matrix_mul_ijth_as_sum", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "7f5a94a06f182a7071c91710782e0cdc" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "246c6479baeadf1f05e225b405733abf" - ], - [ - "FStar.Matrix.matrix_mul_ijth_eq_sum_of_seq_for_init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Matrix_interpretation_Tm_arrow_407505b74b874ef27378efcc7dafe696", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_FStar.Matrix.col", - "equation_FStar.Matrix.row", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_init_len", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_Tm_abs_014362e67e4370be3d72258c35095c84", - "typing_Tm_abs_b746acf4c16baa9ca677ade0160d5dbf" - ], - 0, - "63c9af6db8ddf424129389a2320be800" - ], - [ - "FStar.Matrix.matrix_mul_unit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_6959ac18c29651968b9d17a7c939bd69", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "33241fe959e9e38971bc6b91f1666273" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Matrix2.fsti.hints b/ulib/.hints/FStar.Matrix2.fsti.hints deleted file mode 100644 index 8229848c5ef..00000000000 --- a/ulib/.hints/FStar.Matrix2.fsti.hints +++ /dev/null @@ -1,160 +0,0 @@ -[ - "r\u0000\u0003'<|a,WAÖ.J+\u000f\u0019", - [ - [ - "FStar.Matrix2.upd_row", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "94adc3e1a56be2b60ffe7d853a20aee7" - ], - [ - "FStar.Matrix2.upd_col", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a74a98d263e8043a6c9908fe93feb54a" - ], - [ - "FStar.Matrix2.lemma_row_len", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff22b2cb5fe4dbb8060bb5117a86f6b9" - ], - [ - "FStar.Matrix2.lemma_col_len", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "aff6c8ebd5855a086a792cf92a195e31" - ], - [ - "FStar.Matrix2.lemma_index_upd2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "511626b55b52a838d8686300202d7546" - ], - [ - "FStar.Matrix2.lemma_index_row", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Matrix2.lemma_row_len" ], - 0, - "01cdfcdf09cb3ab672d295c3b5a20883" - ], - [ - "FStar.Matrix2.lemma_index_col", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Matrix2.lemma_col_len" ], - 0, - "c603b18c45d81df69eafe1926c06a1c1" - ], - [ - "FStar.Matrix2.lemma_index_upd_row1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_Prims.int" - ], - 0, - "a79226abed84774fa80a551a53464c60" - ], - [ - "FStar.Matrix2.lemma_index_upd_row2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "271ad19aeb47ca7ceee6e0b026d1346d" - ], - [ - "FStar.Matrix2.lemma_index_upd_col1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_Prims.int" - ], - 0, - "bbf1edfd031f6038c43b2dbffa0d8a67" - ], - [ - "FStar.Matrix2.lemma_index_upd_col2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "45fa1ca8259d7ff152fb05a9e680d515" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Modifies.fst.hints b/ulib/.hints/FStar.Modifies.fst.hints deleted file mode 100644 index dba1c3f1e11..00000000000 --- a/ulib/.hints/FStar.Modifies.fst.hints +++ /dev/null @@ -1,2381 +0,0 @@ -[ - "V-ȼÛ\u0016Ž`îù ^lÝ…-", - [ - [ - "FStar.Modifies.loc_aux_in_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "bdd4a3f30d6f0139d53fa859957a7d2d" - ], - [ - "FStar.Modifies.loc_aux_includes_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "f31e98a1c470921ec783ccbdd44418ed" - ], - [ - "FStar.Modifies.loc_aux_includes_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.includes", - "equation_FStar.Modifies.loc_aux_includes", - "equation_FStar.Modifies.loc_aux_includes_buffer", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", "l_and-interp" - ], - 0, - "4935bd8b418405621a4a841d0fa33b1c" - ], - [ - "FStar.Modifies.loc_aux_includes_buffer_includes", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.includes", - "equation_FStar.Modifies.loc_aux_includes_buffer", - "equation_Prims.eq2", "equation_Prims.op_Equals_Equals_Equals", - "l_and-interp" - ], - 0, - "e10283281399624c7e8df09526509853" - ], - [ - "FStar.Modifies.loc_aux_includes_loc_aux_includes_buffer", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Modifies.loc_aux_includes", - "equation_FStar.Modifies.loc_aux_includes_buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t" - ], - 0, - "0d2765eb56ad99b3e87aeef4c2d70c7a" - ], - [ - "FStar.Modifies.loc_aux_includes_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_aux_includes", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t" - ], - 0, - "3f340255f09c7f75c26e3ac9bf2d3245" - ], - [ - "FStar.Modifies.loc_aux_disjoint_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.disjoint", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "fuel_guarded_inversion_FStar.Modifies.loc_aux" - ], - 0, - "221c1b75e96a9c7030248c241b6331b6" - ], - [ - "FStar.Modifies.loc_aux_disjoint_buffer_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Modifies.LocBuffer", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.max_length", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "lemma_FStar.Buffer.lemma_disjoint_sub_", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "proj_equation_FStar.Buffer.MkBuffer_content" - ], - 0, - "95f1a798f9640c18f1be0713ed317a09" - ], - [ - "FStar.Modifies.loc_aux_disjoint_loc_aux_includes_buffer", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_includes_buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t" - ], - 0, - "d18d73b5d0cde8be7c35ee2a9fe6e99f" - ], - [ - "FStar.Modifies.loc_aux_disjoint_loc_aux_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_includes", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t" - ], - 0, - "668454ef5311ed067c4aab7a18e80257" - ], - [ - "FStar.Modifies.loc_aux_preserved", - 1, - 2, - 1, - [ "@query" ], - 0, - "349bfa28e4ca4813f0ccb9d8411d04c4" - ], - [ - "FStar.Modifies.cls", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_seq", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.includes", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.sel", "equation_FStar.Modifies.aloc", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_includes", - "equation_FStar.Modifies.loc_aux_includes_buffer", - "equation_FStar.Modifies.loc_aux_preserved", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", "int_inversion", - "l_and-interp", "l_imp-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aa165a7ff594afbed6ac5022a4ba0727" - ], - [ - "FStar.Modifies.loc_union_idem", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_union" ], - 0, - "738eea9ee82be3bfd0ec50a09fb72530" - ], - [ - "FStar.Modifies.loc_union_comm", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_union" ], - 0, - "2513087e81f38fc64034ea59f78d6831" - ], - [ - "FStar.Modifies.loc_union_assoc", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_union" ], - 0, - "00e16599eca76b1015e3f3022a7bf99c" - ], - [ - "FStar.Modifies.loc_union_loc_none_l", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.loc_union" - ], - 0, - "07111d98ccd3f2866391a5066996aef9" - ], - [ - "FStar.Modifies.loc_union_loc_none_r", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.loc_union" - ], - 0, - "f71be0132e541f12de38d49ed55f97c2" - ], - [ - "FStar.Modifies.loc_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_aux_in_addr", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ca5591766fce285d4949cb8ff9204b2c" - ], - [ - "FStar.Modifies.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "18a392e10367be2312a3e97c4869a45c" - ], - [ - "FStar.Modifies.loc_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8d1b1f695414d7f9aef66a4096a310cc" - ], - [ - "FStar.Modifies.loc_freed_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ffa1862aa1fdca1c5c02325dc1575086" - ], - [ - "FStar.Modifies.loc_includes_refl", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_includes" ], - 0, - "211557a4f7cc8d06934ecdb4e714657d" - ], - [ - "FStar.Modifies.loc_includes_trans", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_includes" ], - 0, - "6a17bed968a61caae8c30dbdda1ba5f8" - ], - [ - "FStar.Modifies.loc_includes_union_r", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_union" - ], - 0, - "65d52be6bfd27b8317e738062ac9270b" - ], - [ - "FStar.Modifies.loc_includes_union_l", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_union" - ], - 0, - "7c347f08799138fa9e8ed118ec51b0cc" - ], - [ - "FStar.Modifies.loc_includes_none", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_none" - ], - 0, - "d229b7057fa3bd82d13ec8b9799cc6b1" - ], - [ - "FStar.Modifies.loc_includes_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.max_length", - "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_includes", - "equation_FStar.Modifies.loc_aux_includes_buffer", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", - "equation_Prims.op_Equals_Equals_Equals", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "interpretation_Tm_abs_34fb0ead83416abf3beedd0da9136d1a", - "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Modifies.loc_aux_includes", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes" - ], - 0, - "6ad7049bfd072349a62efea72cb1d5a7" - ], - [ - "FStar.Modifies.loc_includes_gsub_buffer_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Modifies.loc_includes_buffer", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb" - ], - 0, - "8716a51b271e496fbd0295eca3638da2" - ], - [ - "FStar.Modifies.loc_includes_gsub_buffer_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "0f1641a6fae35f59417da42a869800c3" - ], - [ - "FStar.Modifies.loc_includes_gsub_buffer_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.includes", "equation_FStar.Buffer.length", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Modifies.loc_includes_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.sub", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" - ], - 0, - "6f90e25464af9092cc8e88e61b5edb98" - ], - [ - "FStar.Modifies.loc_includes_addresses_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "71c65429862458eac91511a8b915f351" - ], - [ - "FStar.Modifies.loc_includes_addresses_buffer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e362f54c08f87311e10ea0a0e694b953" - ], - [ - "FStar.Modifies.loc_includes_addresses_buffer", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b3c9bb1ab1c8ebb35e13723c872e7205" - ], - [ - "FStar.Modifies.loc_includes_region_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_regions", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f9acc8ef0cbe37769a232089d05dbae5" - ], - [ - "FStar.Modifies.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e22fca1ece6ad9eaca02db239064f11b" - ], - [ - "FStar.Modifies.loc_includes_region_addresses", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_regions" - ], - 0, - "ccb697bc894dc3c8428d678223795f09" - ], - [ - "FStar.Modifies.loc_includes_region_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_regions" - ], - 0, - "8c50e9f9d6e52462382aaf006e965a8b" - ], - [ - "FStar.Modifies.loc_includes_region_union_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union" - ], - 0, - "0164e196808baeb35b470b9ba148fb2e" - ], - [ - "FStar.Modifies.loc_includes_addresses_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7eeb8c4c4a854d8c0c072ae7f8ed88a4" - ], - [ - "FStar.Modifies.loc_includes_addresses_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_includes" - ], - 0, - "35392f25cddbfa0f974549752b54c2aa" - ], - [ - "FStar.Modifies.loc_disjoint_sym", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.loc_disjoint" ], - 0, - "ff0c5442c30a1570c0bce1432841763b" - ], - [ - "FStar.Modifies.loc_disjoint_sym'", - 1, - 2, - 1, - [ "@query" ], - 0, - "d007a773099cf81a7a9b98351337e939" - ], - [ - "FStar.Modifies.loc_disjoint_none_r", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_none" - ], - 0, - "326f52e9a892a6ab9288930f679b8f69" - ], - [ - "FStar.Modifies.loc_disjoint_union_r", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_union" - ], - 0, - "87d28ddd24cf80e76fd40be6b76f2597" - ], - [ - "FStar.Modifies.loc_disjoint_includes", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes" - ], - 0, - "dbfb161e206556709eac247841743029" - ], - [ - "FStar.Modifies.loc_disjoint_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.buffer", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", - "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Modifies.loc_aux_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint" - ], - 0, - "6c1894b9653fce426224835da3936edb" - ], - [ - "FStar.Modifies.loc_disjoint_gsub_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "1685b894fe3a84366d9a52326d7ec70e" - ], - [ - "FStar.Modifies.loc_disjoint_gsub_buffer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.frameOf", "equation_FStar.Buffer.idx", - "equation_FStar.Buffer.length", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", "equation_FStar.Buffer.sub", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Modifies.loc_disjoint_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_idx", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Buffer.MkBuffer_content", - "projection_inverse_FStar.Buffer.MkBuffer_idx", - "projection_inverse_FStar.Buffer.MkBuffer_max_length", - "refinement_interpretation_Tm_refine_47f4f7ff09bd151db5646a1a147bd511", - "refinement_interpretation_Tm_refine_6134c9eff0a9c4bd13e16e87561f4756", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8518e8b728e19b2937c780d25ff7abcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Buffer.__proj__MkBuffer__item__idx", - "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.__proj__MkBuffer__item__max_length", - "typing_FStar.Buffer.sub", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" - ], - 0, - "06401b35c9764978dda92eeb0d9fc3f1" - ], - [ - "FStar.Modifies.loc_disjoint_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7ed86e2313048f8c3f41a797bb47e848" - ], - [ - "FStar.Modifies.loc_disjoint_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_disjoint" - ], - 0, - "718f77c34614fbe6c6ee43445dcbc12b" - ], - [ - "FStar.Modifies.loc_disjoint_buffer_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "373011b5fd7bfc388b3ef98fef03e98c" - ], - [ - "FStar.Modifies.loc_disjoint_buffer_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3604b66dd99797ba878ebe9f90a5a4cb" - ], - [ - "FStar.Modifies.loc_disjoint_buffer_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "61f7b83906cbf4c10af241594adaafdf" - ], - [ - "FStar.Modifies.loc_disjoint_regions", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_regions" - ], - 0, - "ff5746f83beba807e8aca2a8fed206ab" - ], - [ - "FStar.Modifies.modifies_mreference_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "553b43f2bb92dd122d93681470a488ff" - ], - [ - "FStar.Modifies.modifies_buffer_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "c74ca204efd343bc9da9b9912d68c9a0" - ], - [ - "FStar.Modifies.modifies_buffer_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.live", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_preserved", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.modifies", "equation_Prims.pos", - "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", - "l_and-interp", "l_imp-interp", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Modifies.loc_aux_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved" - ], - 0, - "d787285c65d4c014781da4f55064c2ec" - ], - [ - "FStar.Modifies.modifies_refl", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.modifies" ], - 0, - "074a921c96f09a22b5ae5e39b61f4a36" - ], - [ - "FStar.Modifies.modifies_loc_includes", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.modifies" - ], - 0, - "eb3573836be0ce858553584faaa8fd3e" - ], - [ - "FStar.Modifies.address_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.address_liveness_insensitive_locs", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ec7f770c911d6b377fdf7a464a61e131" - ], - [ - "FStar.Modifies.address_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d5a388ac137e7242e6a3f86c3a07ab07" - ], - [ - "FStar.Modifies.address_liveness_insensitive_addresses", - 2, - 2, - 1, - [ - "@query", - "equation_FStar.Modifies.address_liveness_insensitive_locs", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_includes" - ], - 0, - "cfd62c75baa470724fe89c22cb3795c4" - ], - [ - "FStar.Modifies.region_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.region_liveness_insensitive_locs", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.Buffer._buffer", - "l_and-interp", "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "889cb82e9114c25983386ce0d38e74bd" - ], - [ - "FStar.Modifies.region_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6d0d6653e53e64d9ea82400593081e2c" - ], - [ - "FStar.Modifies.region_liveness_insensitive_addresses", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.region_liveness_insensitive_locs" - ], - 0, - "4b9b324ec1c636fd21e584e55dfb2e6b" - ], - [ - "FStar.Modifies.region_liveness_insensitive_regions", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.region_liveness_insensitive_locs" - ], - 0, - "68ba6192cfddc901042751c6a5215646" - ], - [ - "FStar.Modifies.region_liveness_insensitive_address_liveness_insensitive", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.Modifies.address_liveness_insensitive_locs", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.region_liveness_insensitive_locs" - ], - 0, - "58234cc32cbf6ffafa5c8474f478ee6a" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.address_liveness_insensitive_locs", - "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "02922ddfa8c08d336197beb62f424179" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@query", "eq2-interp", "equation_FStar.Buffer.as_addr", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.max_length", - "equation_FStar.Modifies.address_liveness_insensitive_locs", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", "l_and-interp", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t" - ], - 0, - "d89980eff5280c45281656379fdc563d" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "typing_FStar.Modifies.loc_mreference", - "typing_FStar.Modifies.loc_none" - ], - 0, - "8ee4b6c96875feebcc6f8220a3bf6a7f" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_none", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" - ], - 0, - "e32d1d0e50b3a0153a2b11cd36957322" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region", - 1, - 2, - 1, - [ - "@query", "bool_typing", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_region_only", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.Modifies.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.loc_region_only", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "typing_FStar.Modifies.loc_region_only" - ], - 0, - "0f84112207528b4a376f92853cc4d23f" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.Modifies.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "typing_FStar.Modifies.loc_mreference" - ], - 0, - "37a9be4e8db4d55bedd1f45c1c59250e" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "eq2-interp", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_includes", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.Modifies.region_liveness_insensitive_locs", - "equation_Prims.pos", "l_and-interp", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Modifies.loc_buffer" - ], - 0, - "ed09dbbfa6f4619cc5966fd5322d9836" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.loc_region_only", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Modifies.loc_none", - "typing_FStar.Modifies.loc_region_only", - "typing_FStar.Modifies.loc_regions", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.singleton" - ], - 0, - "8e969d862af1e328cea2f619eb93a41b" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "lemma_FStar.Modifies.modifies_liveness_insensitive_region_weak", - "typing_FStar.Modifies.loc_mreference", - "typing_FStar.Modifies.loc_none", - "typing_FStar.Monotonic.HyperStack.frameOf" - ], - 0, - "22cdf46212b9620bf6b4a80d6b974dc1" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_none", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "lemma_FStar.Modifies.modifies_liveness_insensitive_region_weak", - "typing_FStar.Buffer.frameOf", "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Modifies.loc_none" - ], - 0, - "57a941a451c608c3cf1dc876e4e8265d" - ], - [ - "FStar.Modifies.modifies_trans", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies" - ], - 0, - "d78b0cfce173b505b60ba4185d06203d" - ], - [ - "FStar.Modifies.modifies_only_live_regions", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies" - ], - 0, - "1b83a30e7916c272d21111a42a16a2ae" - ], - [ - "FStar.Modifies.no_upd_fresh_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_all_regions_from", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "4e5bf93b13f6c80786a9f64804a7e256" - ], - [ - "FStar.Modifies.modifies_fresh_frame_popped", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_all_regions_from", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "b9ec279711b9315fb485f9bc2b9c778d" - ], - [ - "FStar.Modifies.modifies_loc_regions_intro", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.modifies" - ], - 0, - "5c841d82de36e4407b60e7df0ada4272" - ], - [ - "FStar.Modifies.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7c5c6be362b8094d3c9ed1791f215ee5" - ], - [ - "FStar.Modifies.modifies_loc_addresses_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_region_only", - "equation_FStar.Modifies.loc_regions", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "90f4e1439f27650eb28ede5f637cccb7" - ], - [ - "FStar.Modifies.modifies_ralloc_post", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies" - ], - 0, - "e3577a7d6ebf49eab8391b6770ad4c1f" - ], - [ - "FStar.Modifies.modifies_salloc_post", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies" - ], - 0, - "fac4be1eb1634fa58248ca71f65e41ed" - ], - [ - "FStar.Modifies.modifies_free", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_freed_mreference", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.free" - ], - 0, - "b3e27912860202a3d17486f7dea1dcf3" - ], - [ - "FStar.Modifies.modifies_none_modifies", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies" - ], - 0, - "150fd498fe29a7daaad7bdf932d369af" - ], - [ - "FStar.Modifies.modifies_buffer_none_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "equation_FStar.Buffer.modifies_none", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "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" - ], - 0, - "128fade0d561d1c0701f720823fc9ffe" - ], - [ - "FStar.Modifies.modifies_0_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.modifies_buf_0", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "9ede2e6091dd25c73a27962018d7238d" - ], - [ - "FStar.Modifies.modifies_1_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Modifies.aloc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_preserved", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.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", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", - "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", - "l_and-interp", "l_imp-interp", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.no_upd_lemma_1", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Modifies.loc_aux_disjoint", - "token_correspondence_FStar.Modifies.loc_aux_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "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.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.singleton", "typing_Prims.int" - ], - 0, - "187eccda9543cc08e1844c4f5ad59e46" - ], - [ - "FStar.Modifies.modifies_2_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.content", - "equation_FStar.Buffer.disjoint", "equation_FStar.Buffer.equal", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_2", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.to_set_2", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Modifies.aloc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_preserved", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.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", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Modifies.aloc", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", - "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", - "l_and-interp", "l_imp-interp", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Buffer.lemma_modifies_2_comm", - "lemma_FStar.Buffer.no_upd_lemma_2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Modifies.loc_includes_refl", - "lemma_FStar.Modifies.loc_includes_union_l", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Modifies.loc_aux_disjoint", - "token_correspondence_FStar.Modifies.loc_aux_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.as_ref", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Modifies.cls", - "typing_FStar.Modifies.loc_buffer", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.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.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "494e2a60ecc33a7670797cdad765134e" - ], - [ - "FStar.Modifies.modifies_3_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_FStar.Buffer.MkBuffer", - "data_elim_FStar.Modifies.LocBuffer", "eq2-interp", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.as_ref", - "equation_FStar.Buffer.as_seq", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.disjoint", - "equation_FStar.Buffer.equal", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.modifies_3", - "equation_FStar.Buffer.modifies_buf_1", - "equation_FStar.Buffer.modifies_buf_2", - "equation_FStar.Buffer.modifies_buf_3", "equation_FStar.Buffer.sel", - "equation_FStar.Buffer.to_set_2", "equation_FStar.Buffer.to_set_3", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Modifies.aloc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_aux_disjoint", - "equation_FStar.Modifies.loc_aux_disjoint_buffer", - "equation_FStar.Modifies.loc_aux_in_addr", - "equation_FStar.Modifies.loc_aux_preserved", - "equation_FStar.Modifies.loc_buffer", - "equation_FStar.Modifies.loc_disjoint", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.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", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Modifies.loc_aux", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Modifies.aloc", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_088844dd1632fd4fe70caf9cf4a3f46c", - "interpretation_Tm_abs_b1cbb30c12be5ca2ef54155b39efd135", - "l_and-interp", "l_imp-interp", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Modifies.loc_includes_refl", - "lemma_FStar.Modifies.loc_includes_union_l", - "lemma_FStar.Modifies.loc_union_comm", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Modifies.LocBuffer_b", - "projection_inverse_FStar.Modifies.LocBuffer_t", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1123a9d1eac96cdbbfbcb4fb0bf5b1b3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4191e5465c0e5d96f8f3bbf97a9d083c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Modifies.loc_aux_disjoint", - "token_correspondence_FStar.Modifies.loc_aux_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.as_ref", - "typing_FStar.Buffer.frameOf", "typing_FStar.Buffer.lseq", - "typing_FStar.Buffer.max_length", "typing_FStar.Buffer.to_set_2", - "typing_FStar.Buffer.to_set_3", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Modifies.cls", "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Modifies.loc_union", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.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.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "0949a9772413bb9dad49fd593995d9f0" - ], - [ - "FStar.Modifies.modifies_buffer_rcreate_post_common", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.live", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Modifies.loc_none", - "equation_FStar.Modifies.modifies", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Buffer.MkBuffer_content", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", - "typing_Prims.int" - ], - 0, - "ebc29dd7871ea6e021c6aaddb968f3fb" - ], - [ - "FStar.Modifies.mreference_live_buffer_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.lseq", "equation_FStar.Buffer.max_length", - "equation_FStar.Buffer.unused_in", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Modifies.loc_freed_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Modifies.loc_disjoint_addresses", - "lemma_FStar.Modifies.loc_includes_addresses_buffer", - "lemma_FStar.Modifies.loc_includes_refl", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Modifies.loc_freed_mreference", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "50b0db40ff3296edbdd61265d2c3385e" - ], - [ - "FStar.Modifies.buffer_live_mreference_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Buffer.as_addr", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.content", "equation_FStar.Buffer.frameOf", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Buffer.max_length", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.reference", - "equation_FStar.Modifies.loc_freed_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Modifies.loc_disjoint_addresses", - "lemma_FStar.Modifies.loc_includes_addresses_buffer", - "lemma_FStar.Modifies.loc_includes_refl", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Buffer.MkBuffer_content", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.__proj__MkBuffer__item__content", - "typing_FStar.Buffer.as_addr", "typing_FStar.Buffer.frameOf", - "typing_FStar.Buffer.lseq", "typing_FStar.Buffer.max_length", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Modifies.loc_freed_mreference", - "typing_FStar.Monotonic.Heap.heap", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "6fe47b7018d0189539a501f74ee6350a" - ], - [ - "FStar.Modifies.not_live_region_does_not_contain_addr", - 1, - 2, - 1, - [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], - 0, - "432d25e8c6eba7dbc46ff2aa78560d00" - ], - [ - "FStar.Modifies.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "fbf30b8714a0a9d5a1d9f8624f8e9fc2" - ], - [ - "FStar.Modifies.unused_in_does_not_contain_addr", - 2, - 2, - 1, - [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], - 0, - "88755164b989d01f2b8a025f3f05d06d" - ], - [ - "FStar.Modifies.addr_unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.does_not_contain_addr", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "c98a7d1303a54c806126fa28d2984513" - ], - [ - "FStar.Modifies.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "98316ee078a9b4e98415a43594fbf82c" - ], - [ - "FStar.Modifies.free_does_not_contain_addr", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.does_not_contain_addr", - "equation_FStar.Monotonic.HyperStack.free" - ], - 0, - "d98e81fd8f6909c2f7529e30d92e7834" - ], - [ - "FStar.Modifies.does_not_contain_addr_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "88b616c0c3a14f307956caf12bb2793a" - ], - [ - "FStar.Modifies.does_not_contain_addr_elim", - 2, - 2, - 1, - [ "@query", "equation_FStar.Modifies.does_not_contain_addr" ], - 0, - "1435b1d31fb3ef11e5428b4994cfcd65" - ], - [ - "FStar.Modifies.modifies_only_live_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "df16682a6e01ff6bf91e5a43b453fbdb" - ], - [ - "FStar.Modifies.modifies_only_live_addresses", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.does_not_contain_addr", - "equation_FStar.Modifies.loc_addresses", - "equation_FStar.Modifies.loc_union", - "equation_FStar.Modifies.modifies" - ], - 0, - "3637afe403a4dde45a013e495d173d2e" - ], - [ - "FStar.Modifies.loc_of_cloc_of_loc", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.cloc_of_loc", - "equation_FStar.Modifies.loc_of_cloc" - ], - 0, - "09eb172294dde6dbd3d99270b3c10c04" - ], - [ - "FStar.Modifies.cloc_of_loc_of_cloc", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Modifies.cloc_of_loc", - "equation_FStar.Modifies.loc_of_cloc" - ], - 0, - "c484c78c0c2c5931d4548b969613a8f8" - ], - [ - "FStar.Modifies.cloc_of_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_none", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "f158111ba2a68f1bcf8183b24856cb8e" - ], - [ - "FStar.Modifies.cloc_of_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_union", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "f38aca4091174fa2ef36dfd4dc2faa67" - ], - [ - "FStar.Modifies.cloc_of_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0e1809646deb00b4a9d8f0a5641b2883" - ], - [ - "FStar.Modifies.cloc_of_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_addresses", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "026fe568c2a7323f88dc43c5791bd54f" - ], - [ - "FStar.Modifies.cloc_of_loc_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4adb77f3d8cb8f9e01d48d6b9f1686b" - ], - [ - "FStar.Modifies.cloc_of_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_regions", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "121a5367918fd80245f4cc6fc446e19e" - ], - [ - "FStar.Modifies.loc_includes_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_includes", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "b3c4e02eb6deca4c0a191958a9ee1cb7" - ], - [ - "FStar.Modifies.loc_disjoint_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.loc_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "22d213d0c0d8964f52ad056da8621cac" - ], - [ - "FStar.Modifies.modifies_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Modifies.cloc_cls", - "equation_FStar.Modifies.cloc_of_loc", "equation_FStar.Modifies.cls", - "equation_FStar.Modifies.modifies", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Modifies.cloc_cls" - ], - 0, - "10a1d06b8863017ec533997453e1d294" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Modifies.fsti.hints b/ulib/.hints/FStar.Modifies.fsti.hints deleted file mode 100644 index e246464cd89..00000000000 --- a/ulib/.hints/FStar.Modifies.fsti.hints +++ /dev/null @@ -1,365 +0,0 @@ -[ - "úÐÏíÌÔ\u0005f¥:@\u001e0\u0007Sð", - [ - [ - "FStar.Modifies.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b31e5f1c4394f668c4c7fe5ceca4cb9a" - ], - [ - "FStar.Modifies.loc_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cd325c44d1d58ceff7a0d3e6b7783666" - ], - [ - "FStar.Modifies.loc_freed_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f7b7ac1cf3646d4fa073cb4ef86cf976" - ], - [ - "FStar.Modifies.loc_includes_gsub_buffer_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "28bb764e0dd51aeb481bbc3f2e68bac8" - ], - [ - "FStar.Modifies.loc_includes_addresses_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "51bb5d7eed57b66dc9b7f485eef50633" - ], - [ - "FStar.Modifies.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "db184acf351fa97873cb465a2a125d61" - ], - [ - "FStar.Modifies.loc_includes_addresses_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0aaf7174586cba8dd9b4f67228ab1afa" - ], - [ - "FStar.Modifies.loc_disjoint_sym'", - 1, - 2, - 1, - [ "@query" ], - 0, - "b66627f8fed7cf79aa5238b995384544" - ], - [ - "FStar.Modifies.loc_disjoint_gsub_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "662b83e482fb6ec8531ecfebd34f9e0f" - ], - [ - "FStar.Modifies.loc_disjoint_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "200ec2aa5b73b28278a0595d95b26133" - ], - [ - "FStar.Modifies.loc_disjoint_buffer_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "373011b5fd7bfc388b3ef98fef03e98c" - ], - [ - "FStar.Modifies.modifies_buffer_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "49ba0c3360a77abc0cb5f6f3d5f840d5" - ], - [ - "FStar.Modifies.address_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6d38d7bcdcae0a770f05264445ebacf7" - ], - [ - "FStar.Modifies.region_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cfa9c9f009c34f48287c79a19634e4c0" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "typing_FStar.Modifies.loc_mreference", - "typing_FStar.Modifies.loc_none" - ], - 0, - "7ea595950e865902d637015fc7e6c955" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_buffer_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "typing_FStar.Modifies.loc_buffer", "typing_FStar.Modifies.loc_none" - ], - 0, - "9a80294440c7d0035ad6853aa16385cb" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Modifies.loc_region_only", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Modifies.loc_none", - "typing_FStar.Modifies.loc_region_only", - "typing_FStar.Modifies.loc_regions", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.singleton" - ], - 0, - "fad4bb0204dadacc75a053791c4b279e" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Modifies.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "lemma_FStar.Modifies.modifies_liveness_insensitive_region_weak", - "typing_FStar.Modifies.loc_mreference", - "typing_FStar.Modifies.loc_none", - "typing_FStar.Monotonic.HyperStack.frameOf" - ], - 0, - "22cdf46212b9620bf6b4a80d6b974dc1" - ], - [ - "FStar.Modifies.modifies_liveness_insensitive_region_buffer_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.loc_disjoint_none_r", - "lemma_FStar.Modifies.loc_disjoint_sym_", - "lemma_FStar.Modifies.loc_union_loc_none_l", - "lemma_FStar.Modifies.modifies_liveness_insensitive_region_weak", - "typing_FStar.Buffer.frameOf", "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Modifies.loc_none" - ], - 0, - "57a941a451c608c3cf1dc876e4e8265d" - ], - [ - "FStar.Modifies.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7030d15aaddd88f63cbeefd3aa8d310f" - ], - [ - "FStar.Modifies.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "123e681eafdbc8fe216beaf3f8d17819" - ], - [ - "FStar.Modifies.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "5c2af6b643bbc5de7564245533d6be6b" - ], - [ - "FStar.Modifies.does_not_contain_addr_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "1de5d85cecb934692cd32b9f8ef2cf33" - ], - [ - "FStar.Modifies.modifies_only_live_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "65667f4f265270daa8df6a0047a6f9e8" - ], - [ - "FStar.Modifies.cloc_of_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "96e7737f5d07e8227b8bf45e0e9a3341" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ModifiesGen.fst.hints b/ulib/.hints/FStar.ModifiesGen.fst.hints deleted file mode 100644 index 564538fef14..00000000000 --- a/ulib/.hints/FStar.ModifiesGen.fst.hints +++ /dev/null @@ -1,16163 +0,0 @@ -[ - "gZKGLs^$½›V<ÄÓÑL", - [ - [ - "FStar.ModifiesGen.cls", - 1, - 2, - 1, - [ "@query" ], - 0, - "b7dcabc14d8da1e9deb58522b28ee970" - ], - [ - "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", - 1, - 2, - 1, - [ "@query" ], - 0, - "eb36fc4edf3e61edd6f1cab376556a47" - ], - [ - "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", - 2, - 2, - 1, - [ "@query" ], - 0, - "5367c3b5880b023717a7d09b0ef81b31" - ], - [ - "FStar.ModifiesGen.loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "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, - "d3c7f2fcad348447b10af85287f67b3d" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_liveness_not_preserved", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.regions_of_loc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a4072b69ade1f800ebb9d35d8c8c4c85" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_weak", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.regions_of_loc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c8b64d388d71e38a435e315969b6676c" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "int_inversion", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.ModifiesGen.addrs_of_loc_weak" - ], - 0, - "f979d568a675fd8873e64de075a80674" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_aux_prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "typing_FStar.ModifiesGen.addrs_of_loc_aux" - ], - 0, - "560be3e5a1eb407bcc46c98cd5ec4472" - ], - [ - "FStar.ModifiesGen.loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_7d64430ee634e9b4ed6cf16421408afd", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_9a7969e4a542a4f50cc2884968f4e253", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "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.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_37b401cb6b2481b6ac505366958e7543", - "interpretation_Tm_abs_cc8d2ec3b5ef5a792d7d1f33b50f0ade", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "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.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_region", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.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__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "18288b4dd2e5ffe56029c3d14d4b38b5" - ], - [ - "FStar.ModifiesGen.fun_set_equal_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.is_restricted_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "interpretation_Tm_abs_aa5f25db0d54924745a377f4c8b05107", - "lemma_FStar.FunctionalExtensionality.extensionality_g", - "lemma_FStar.GSet.lemma_equal_elim", - "refinement_interpretation_Tm_refine_72e14f4dd3890277b435f55389f9b334", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "typing_Tm_abs_aa5f25db0d54924745a377f4c8b05107" - ], - 0, - "ee7ac5697056d95ab15737de5fc7d6bc" - ], - [ - "FStar.ModifiesGen.loc_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_Prims.nat", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Set.lemma_equal_elim", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "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_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.set" - ], - 0, - "9f9ffbbbea7c737b83672a2db1387fc1" - ], - [ - "FStar.ModifiesGen.loc_equal_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_base_FStar.ModifiesGen.Loc", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Set.lemma_equal_elim", - "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", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" - ], - 0, - "f2ae98472894e25dde6c70b4a4863f44" - ], - [ - "FStar.ModifiesGen.loc_union_idem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.nat", - "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.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_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "dffcdc73e1788df9c5dc4c749fbf87f8" - ], - [ - "FStar.ModifiesGen.loc_union_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.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_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "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.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "aad53e2cb6370ead41eb94b32061a1a2" - ], - [ - "FStar.ModifiesGen.loc_union_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "417a3cddeef55c992cc5a5b7fa895f91" - ], - [ - "FStar.ModifiesGen.loc_union_loc_none_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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_none", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.nat", - "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "dfd71d750b2e82df3f2c64d4c1156056" - ], - [ - "FStar.ModifiesGen.loc_union_loc_none_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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_none", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.nat", - "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.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_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "12af07556c7be66d23c3ca0114c52b0d" - ], - [ - "FStar.ModifiesGen.loc_of_aloc", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.Set.subset", "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_e595df5c81e589010fc730f26f1ddd4e", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "479565b595ab800ae73ed14b522e8474" - ], - [ - "FStar.ModifiesGen.loc_of_aloc_not_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.loc_of_aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "typing_FStar.GSet.empty", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton" - ], - 0, - "f436e40e1eaac3ad96581c1c4e7897e6" - ], - [ - "FStar.ModifiesGen.loc_addresses", - 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, - "385fa61eaf5a0726ecb90fe10d1bc3a6" - ], - [ - "FStar.ModifiesGen.loc_addresses", - 2, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_e595df5c81e589010fc730f26f1ddd4e", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.of_set", - "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "d31fccdfd88b45229c7ef10170012295" - ], - [ - "FStar.ModifiesGen.loc_addresses", - 3, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_e595df5c81e589010fc730f26f1ddd4e", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.of_set", - "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f872e1fa2420a3d20b683de2ee08700e" - ], - [ - "FStar.ModifiesGen.loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", "int_inversion", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "a696ce516a83a04c0ae891213204363f" - ], - [ - "FStar.ModifiesGen.loc_mreference", - 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, - "0853b87105a49cd4319761b2dc58fbfe" - ], - [ - "FStar.ModifiesGen.loc_freed_mreference", - 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, - "77770d864f67cbd8739c7fd668a2376a" - ], - [ - "FStar.ModifiesGen.aloc_includes", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9a9001f1422729625d1c5bad43f58b7e" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_union_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_FStar.GSet.mem" - ], - 0, - "8578d26f4acb37ace88b4b18550b4a6c" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" - ], - 0, - "284d004dde9eab92eee961d56b0418e1" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.subset_mem", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v" - ], - 0, - "841fc29b9c870736cc59435b6d5838c1" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_union_l_r", - 1, - 2, - 1, - [ "@query" ], - 0, - "da2cd4cab1ac484edaea9d87334da243" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_union_l_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "905f2ce666a8ca9da289bc2faadd8b9a" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_buffer_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "kinding_FStar.ModifiesGen.aloc@tok", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "32f91e474187aaf049b190b49038c954" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_loc_aux_includes_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc" - ], - 0, - "b9313eb087d292b7c6a1ad4f1c361c76" - ], - [ - "FStar.ModifiesGen.loc_aux_includes_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "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", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "c1fab3a82e514b064d019ae130c597c0" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "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.Set.mem_union", "primitive_Prims.op_BarBar", - "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_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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "typing_FStar.GSet.mem", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "83951f3fd10049c09c7b51db3a8bcb2a" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_union", "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_", - "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", - "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.addrs_of_loc_weak_loc_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.reveal", - "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.loc_union", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "db18969b4855a229ba8252188d11fe1c" - ], - [ - "FStar.ModifiesGen.loc_includes'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "lemma_FStar.Set.subset_mem", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "typing_FStar.Monotonic.HyperHeap.rid" - ], - 0, - "b4cc353088dc1632d3bbcc2275e234a8" - ], - [ - "FStar.ModifiesGen.loc_includes_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37" - ], - 0, - "206db9985daa5f2dc026a62f36bd1160" - ], - [ - "FStar.ModifiesGen.loc_includes_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "int_inversion", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set" - ], - 0, - "7d1fb2bac283914b2bddf585d4d42d83" - ], - [ - "FStar.ModifiesGen.loc_includes_union_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "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_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "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_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2" - ], - 0, - "363cddd327f7b1b7df18a8f4a175e7b0" - ], - [ - "FStar.ModifiesGen.loc_includes_union_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", - "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_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__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_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2" - ], - 0, - "dd89a0155d0a2732389912c59a9e44e0" - ], - [ - "FStar.ModifiesGen.loc_includes_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "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", - "kinding_Prims.dtuple2@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "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.loc_none", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "bc8c6e260a74d992389deb2c23d2c2fe" - ], - [ - "FStar.ModifiesGen.loc_includes_none_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_none", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.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_fae04a9d380101804b4d7c7f12843c00", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set" - ], - 0, - "0547ccd791317098e5312e68203e7285" - ], - [ - "FStar.ModifiesGen.loc_includes_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.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_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "int_inversion", "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_Prims.dtuple2@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "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", - "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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "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" - ], - 0, - "5509253f12ca3fbd31e48a3954ab3041" - ], - [ - "FStar.ModifiesGen.loc_includes_aloc_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "71ef4dc3c8e21251a4bc3833805eae93" - ], - [ - "FStar.ModifiesGen.loc_includes_aloc_elim", - 2, - 2, - 1, - [ - "@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_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.nat", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "0aa6e4da2788210312e6d1c9b731f66c" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - 1, - 2, - 1, - [ - "@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_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_t", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "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_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_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", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "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_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "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_of_aloc", - "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.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" - ], - 0, - "f3c4516371c4879f159e90dcb9c5d5c1" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_aloc", - 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, - "c0652447ceefbec0d58023533e27cf9f" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_aloc", - 2, - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_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.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "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", - "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_of_aloc", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "35ae9f2928c383d7ee151a4ffcd05a55" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_aloc", - 3, - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f56be429058d3ed2e20dd749f728f64d" - ], - [ - "FStar.ModifiesGen.loc_includes_region_aloc", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "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.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "84d850cbd3ee71f1ac16efd42ae0f23a" - ], - [ - "FStar.ModifiesGen.loc_includes_region_addresses", - 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, - "ed643bd1e49dfc25a7636d31f125dee1" - ], - [ - "FStar.ModifiesGen.loc_includes_region_addresses", - 2, - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "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.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.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_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_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__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "3e26ec5495374ddb25c09a4c63b72ad2" - ], - [ - "FStar.ModifiesGen.loc_includes_region_addresses", - 3, - 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, - "fae6fafd44d94df8af719a30d34b3ac7" - ], - [ - "FStar.ModifiesGen.loc_includes_region_region", - 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_7dbd0215ec8f092a55eac642eb64b630", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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_includes", - "equation_FStar.ModifiesGen.loc_includes", - "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.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_1cb205649cdc40b05ce266c36e225954", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_d7180128445b732e103aa91b579ee840", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_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__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.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.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "b53318b8440e8016293aa435a997a6ee" - ], - [ - "FStar.ModifiesGen.loc_includes_region_union_l", - 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_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "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.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_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "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__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "96a8eb2e1b3b0589c2ed32b311a7126c" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_addresses", - 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, - "e4358751baff243ba1deebbd3af2e06f" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_addresses", - 2, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_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_91751401a94dbd31ad5b7cd11f3dbb1c", - "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.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__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "555d8030e24309156e2882f3f79d61cd" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_addresses", - 3, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_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_91751401a94dbd31ad5b7cd11f3dbb1c", - "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.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__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "b52f29b954562f5d71d12ddbc56d455d" - ], - [ - "FStar.ModifiesGen.aloc_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b08236cf00bc5326ef8217f39d1b22f9" - ], - [ - "FStar.ModifiesGen.aloc_disjoint_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_disjoint", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", "l_and-interp", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", "true_interp", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region" - ], - 0, - "ebada2afebc8b644417de0a8f426a746" - ], - [ - "FStar.ModifiesGen.loc_aux_disjoint_union_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_FStar.GSet.mem" - ], - 0, - "6aa6e211f19cc2cb14548b150ec21602" - ], - [ - "FStar.ModifiesGen.loc_aux_disjoint_union_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "lemma_FStar.GSet.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_FStar.GSet.mem" - ], - 0, - "a52aa3a2d227f14fb40a122c93020f03" - ], - [ - "FStar.ModifiesGen.loc_aux_disjoint_sym", - 1, - 2, - 1, - [ "@query", "equation_FStar.ModifiesGen.loc_aux_disjoint" ], - 0, - "a761daff395bb8b472cdfa60b8a6fdaf" - ], - [ - "FStar.ModifiesGen.regions_of_loc_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.union" - ], - 0, - "483bcd93e9c419ed8c47ac478f56bc69" - ], - [ - "FStar.ModifiesGen.regions_of_loc_monotonic", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.regions_of_loc", "l_and-interp" - ], - 0, - "f4eb6d1d7171220bf6182e56ab6bb603" - ], - [ - "FStar.ModifiesGen.loc_disjoint_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "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.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.set" - ], - 0, - "e55aa1464ad18e084909c1954d64cd6a" - ], - [ - "FStar.ModifiesGen.loc_disjoint_none_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_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_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", - "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.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_of_loc", - "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_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "be791a975bb9eac1037597b41cbe396f" - ], - [ - "FStar.ModifiesGen.loc_disjoint_union_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_union", "equation_FStar.Set.subset", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.union" - ], - 0, - "80d4cc85967cf3ffd1de41837c1bde9e" - ], - [ - "FStar.ModifiesGen.aloc_disjoint_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_includes", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp" - ], - 0, - "9b7207d6608afae851676cb7ff0f4ed6" - ], - [ - "FStar.ModifiesGen.loc_aux_disjoint_loc_aux_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "kinding_FStar.ModifiesGen.aloc@tok", "typing_FStar.GSet.mem" - ], - 0, - "bc308686f5bab1ae0df3f0c73cf5c733" - ], - [ - "FStar.ModifiesGen.loc_disjoint_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "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.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" - ], - 0, - "c52bd68c004573418049782447b5aade" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "a45f3ad330edccdbee1f22da00cdd571" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.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_t", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "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", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", - "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_loc_of_aloc", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_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_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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "true_interp", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__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_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4" - ], - 0, - "04297c1ed72711f7f8f4b2bef9efad2c" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "d76fb3f6828806aab00998eaf5d44884" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_elim", - 2, - 2, - 1, - [ - "@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", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_of_aloc", "equation_Prims.nat", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "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.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0" - ], - 0, - "c45ad8a8d77504025611dd11d351430a" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_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, - "55d09f77fc9fdf8f059bbfb46d91ea01" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "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", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "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_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "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_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "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_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "02b5163bbad1a13dc2072d620fb4b631" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_intro", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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_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.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "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", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "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_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "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_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.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__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "fb0694cbf8bbc83018180ae1fc32dd12" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_elim", - 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, - "f1235bd4d92704c4e37230c41636d3b6" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "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.cls", - "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", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "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.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "cace1afbf438554ab1fafd4273958e9c" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_elim", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "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.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "c43cea15ae423030976ab64e7444b718" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_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, - "0863c7ef381907b0c6753c6b4e049dad" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", - 2, - 2, - 1, - [ - "@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", - "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", - "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.i_restricted_g_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_addrs", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_of_aloc", - "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.cls", - "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.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "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_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "true_interp", "typing_FStar.GSet.comprehend", - "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.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "82b1f0773ae4f028eaddc4d337e15612" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", - 3, - 2, - 1, - [ - "@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", - "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", - "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.i_restricted_g_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.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_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.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "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_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "true_interp", "typing_FStar.GSet.comprehend", - "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.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "9d85344491e68caa2ffb5fa2eda33302" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", - 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, - "8357f5f6e0739ab2d579425818b4171d" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "07956dd61ce91e2c3d22cb52627c58be" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "46965d5888132a344b894db9ca37a647" - ], - [ - "FStar.ModifiesGen.loc_disjoint_regions", - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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_disjoint", - "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_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_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.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", - "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_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_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.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_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", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "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, - "8d99d9ade2c288562db79d79c025a290" - ], - [ - "FStar.ModifiesGen.loc_none_in_some_region", - 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_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.Set.subset", "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "0dbd5532be47779c91d2a458938285a9" - ], - [ - "FStar.ModifiesGen.address_liveness_insensitive_locs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", "int_inversion", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "eb67e193a062d1bfe31655ce55a0aea8" - ], - [ - "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_aloc", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "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.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "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", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "53c12100f45143455ee3854aa723f4de" - ], - [ - "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", - 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, - "0d94e43050bf80d53d126975ec20d630" - ], - [ - "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", - 2, - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "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.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.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.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "31aad3e611e1aff677c437e280747882" - ], - [ - "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", - 3, - 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, - "084c4104e0391ea20e9a45e92f503279" - ], - [ - "FStar.ModifiesGen.region_liveness_insensitive_locs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", "int_inversion", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "8e15bfafd2540533b1106d4db35166bf" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_address_liveness_insensitive_locs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_f650d1fb8dd6b6042a64896e59a9cf60", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "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.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_09eeae6f79910e582b623d1a734be183", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "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", - "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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.region_liveness_insensitive_locs", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.set", - "typing_Tm_abs_09eeae6f79910e582b623d1a734be183", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" - ], - 0, - "ff3d2c0a207a0803d199e4b0b936bd14" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_regions", - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "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.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.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", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.region_liveness_insensitive_locs", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" - ], - 0, - "009e71b3027327fe66adc659a01f59a5" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", - 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, - "5e287c7225183e91eb2f0248e33658dc" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", - 2, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "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.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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.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.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.region_liveness_insensitive_locs", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_8d7dad0eeeea26ecb179431ce701fa7e", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" - ], - 0, - "b2ad4b881c2c25545d41723318333d23" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", - 3, - 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, - "1e2fbd15af6134be43f07a7188f57019" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_of_aloc", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "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", - "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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "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_of_aloc", - "typing_FStar.ModifiesGen.region_liveness_insensitive_locs", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" - ], - 0, - "166ff1fa9685fb2cc9327190bf743ebe" - ], - [ - "FStar.ModifiesGen.modifies_preserves_livenesses", - 1, - 2, - 1, - [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], - 0, - "5d629ce69ee38b898f19fd85561b6e08" - ], - [ - "FStar.ModifiesGen.modifies_preserves_livenesses_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "7156a7d7816b35e739cf6456700a085c" - ], - [ - "FStar.ModifiesGen.modifies_preserves_livenesses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "30febed434dac877e4908bbf52fa018a" - ], - [ - "FStar.ModifiesGen.modifies_preserves_livenesses_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "86e73e52c968d91ea3e9d11b0d9d2269" - ], - [ - "FStar.ModifiesGen.modifies_preserves_mreferences", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e47d2e846054567fd6d5b4b190ef8e8" - ], - [ - "FStar.ModifiesGen.modifies_preserves_mreferences_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "93f19a43e30787b6fc83572dd1c84029" - ], - [ - "FStar.ModifiesGen.modifies_preserves_mreferences_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "344fbd04a6bbca61291cd9d60c0efa54" - ], - [ - "FStar.ModifiesGen.modifies_preserves_alocs_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "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", - "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", - "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", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "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, - "51cb966b88d62a0c7d78b1f564301521" - ], - [ - "FStar.ModifiesGen.modifies_preserves_not_unused_in", - 1, - 2, - 1, - [ "@query", "equation_FStar.ModifiesGen.regions_of_loc" ], - 0, - "987a6002cc27d5ea5e95f62823f6ce05" - ], - [ - "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "43c78a0fdac8099e3fda2404cb34cd40" - ], - [ - "FStar.ModifiesGen.modifies_preserves_not_unused_in_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "b13085e20d7c2e61792c2f63f046440b" - ], - [ - "FStar.ModifiesGen.modifies_intro_strong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.regions_of_loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "4a404ddf14e351516b9760f11ed46381" - ], - [ - "FStar.ModifiesGen.modifies_intro_strong", - 2, - 2, - 1, - [ - "@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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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", - "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.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "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_mreference", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "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", - "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", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "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", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "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.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "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", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_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_774ba3f728d91ead8ef40be66c9802e5", - "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", - "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", - "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_mreference", - "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.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_Exists", "typing_Prims.squash", - "typing_Tm_abs_678d7502352de69ff283cdc5c173e000", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "56b9dcbbcb317cfefb2839e5353c536a" - ], - [ - "FStar.ModifiesGen.modifies_intro_strong", - 3, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.mk_live_addrs", - "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_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "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_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_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5272854e00fd058ff899add3d453b3df", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_da29b296c5b5ab5968d5621bfe1c5b36", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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.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.__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.aloc_domain", - "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.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_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "fa62acc0fecd0bacf237eb71bb92b2dc" - ], - [ - "FStar.ModifiesGen.modifies_intro_strong", - 4, - 2, - 2, - [ - "@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, - "2435945a719bae87fcfe5e6df01c23a0" - ], - [ - "FStar.ModifiesGen.modifies_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "94f94151ae463806faad8e1822e419c3" - ], - [ - "FStar.ModifiesGen.modifies_none_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "1fe405671ec6a94b512c14bc3ef50b4f" - ], - [ - "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, - "9c00646020b61eddda89bc3cfa825f79" - ], - [ - "FStar.ModifiesGen.modifies_address_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_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.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", - "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.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" - ], - 0, - "6106664e1acec1906538c8e2a71d8094" - ], - [ - "FStar.ModifiesGen.modifies_address_intro", - 3, - 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, - "01f74078e5e222de91f18efe062ac891" - ], - [ - "FStar.ModifiesGen.modifies_aloc_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "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_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "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", - "equation_FStar.Monotonic.HyperStack.as_addr", - "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.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "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", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "8d7c6473a27af2414a16bc6c07edfe75" - ], - [ - "FStar.ModifiesGen.modifies_aloc_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "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", - "equation_FStar.Monotonic.HyperStack.as_addr", - "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.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "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", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "311efc9e7ab7bd0cdf50f4b584a0b3aa" - ], - [ - "FStar.ModifiesGen.modifies_aloc_intro", - 3, - 2, - 1, - [ "@query" ], - 0, - "1e6733788a4cf0cd5777420057212a4b" - ], - [ - "FStar.ModifiesGen.modifies_live_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton" - ], - 0, - "ea15b2828382374c9b289852ddebd828" - ], - [ - "FStar.ModifiesGen.modifies_mreference_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "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.live_region", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "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.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "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.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "c80eca2b177b0ae91768b75cf2cc693c" - ], - [ - "FStar.ModifiesGen.modifies_aloc_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.ModifiesGen.loc_of_aloc" - ], - 0, - "05d25280fb11cad22ab637826e7a7eb1" - ], - [ - "FStar.ModifiesGen.modifies_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_" - ], - 0, - "70b8dd223ea150ed1cd0821c8461626e" - ], - [ - "FStar.ModifiesGen.modifies_loc_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "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.nat", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Set.subset_mem", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "typing_FStar.GSet.set", "typing_FStar.GSet.singleton", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.Set.mem", - "typing_FStar.Set.set" - ], - 0, - "13b3503d6fe4c1bda92dbb65dd55074c" - ], - [ - "FStar.ModifiesGen.modifies_preserves_liveness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "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.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "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.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "l_and-interp", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", - "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_complement", "lemma_FStar.Set.mem_empty", - "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", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_union", - "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.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "c3ce583b9be88351f2bbb366ada12e36" - ], - [ - "FStar.ModifiesGen.modifies_preserves_liveness_strong", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.as_addr", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.HyperStack.as_addr" - ], - 0, - "d5436eff939d68dcd508ad7f4c8ef883" - ], - [ - "FStar.ModifiesGen.modifies_preserves_liveness_strong", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "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_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "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", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "l_and-interp", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_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_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "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.union", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", "unit_inversion", - "unit_typing" - ], - 0, - "98a1757f5ffa5e7b79bff219da72868a" - ], - [ - "FStar.ModifiesGen.modifies_preserves_liveness_strong", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "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_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", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", - "l_and-interp", "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_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_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "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.frameOf", - "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.union", - "typing_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "typing_Tm_abs_5f552ae43f5be0a2b383c69ad7e3d840", "unit_inversion", - "unit_typing" - ], - 0, - "1f52763eb636c08687969882bff50edd" - ], - [ - "FStar.ModifiesGen.modifies_preserves_region_liveness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_includes", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_empty", - "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", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.Monotonic.HyperHeap.rid", - "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" - ], - 0, - "a61f5e2b7aa95feac3ef88c1f7ac3b5b" - ], - [ - "FStar.ModifiesGen.modifies_preserves_region_liveness_reference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_ee91755a35d21727120083cfcdc02435", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "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_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.region_liveness_insensitive_locs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "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.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_ff7a59af89a352f087f9949bad3d3e17", - "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "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", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "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_mreference", - "typing_FStar.ModifiesGen.region_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "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.Set.union", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_ff7a59af89a352f087f9949bad3d3e17" - ], - 0, - "191ce0c109c0f63f2e42bc3e59a1e831" - ], - [ - "FStar.ModifiesGen.modifies_preserves_region_liveness_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "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", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "l_and-interp", "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "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.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", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "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, - "b520ddc233eff5110b79ab9459e54e63" - ], - [ - "FStar.ModifiesGen.modifies_trans'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.mem", "typing_FStar.Set.set" - ], - 0, - "cdd19c40880d1b22ee00f7226beca4be" - ], - [ - "FStar.ModifiesGen.modifies_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "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_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", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "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", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "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_4d85810a2100a97a0ee9488431c0b6c2" - ], - 0, - "11b98c7522d6dc09489b3b180d99c722" - ], - [ - "FStar.ModifiesGen.addr_unused_in_aloc_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "4623e219a4f865c1e470bafbc5442209" - ], - [ - "FStar.ModifiesGen.modifies_only_live_regions_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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_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.logical", "equation_Prims.nat", "equation_Prims.pos", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "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.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", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_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_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.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", - "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.loc_union", - "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", - "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_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f6bbf8df14820c90be5389098c19e668" - ], - [ - "FStar.ModifiesGen.restrict_to_regions", - 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_710f24815c312630b5d565a3055fb695", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d54b7712cda13bc0984fdad5823dcc0c", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Set.subset", "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_2599410e644d53d5f7222e83a821697a", - "interpretation_Tm_abs_415299785506cfb74b45fd9d433ff110", - "interpretation_Tm_abs_c38ad098523b68d3e07bf4786400d19b", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.mem_intersect", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "d22dd8d6ff3a937662faa1544a7ae211" - ], - [ - "FStar.ModifiesGen.regions_of_loc_restrict_to_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", - "typing_FStar.Set.set" - ], - 0, - "6acbf6387ac14ff06e4ea7a216d5e091" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_6d7b971ebc017618882d0927bed62bee", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "interpretation_Tm_abs_604249e822a3f1036e182bf471efbc49", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_refl", - "lemma_FStar.ModifiesGen.regions_of_loc_restrict_to_regions", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.empty", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_Tm_abs_604249e822a3f1036e182bf471efbc49" - ], - 0, - "468397559b6a19a408423e10f03b062f" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", - 1, - 2, - 1, - [ - "@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", "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_Prims.l_Exists", "equation_Prims.logical", - "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", - "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "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.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_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", - "lemma_FStar.ModifiesGen.regions_of_loc_restrict_to_regions", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_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", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__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.regions_of_loc", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "b86cd35cd1a223c6162b000926792d72" - ], - [ - "FStar.ModifiesGen.loc_includes_restrict_to_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "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_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "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.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "2e3d9780183cd6e70dbb33fa56185599" - ], - [ - "FStar.ModifiesGen.loc_includes_loc_union_restrict_to_regions", - 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_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_FStar.Set.subset", "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.__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", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_union", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "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", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "d4f14fcaed519372dde7227b47fd1234" - ], - [ - "FStar.ModifiesGen.loc_includes_loc_regions_restrict_to_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "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_includes", - "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.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_FStar.Set.subset", "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.__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", - "int_inversion", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_restrict_to_regions", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_restrict_to_regions", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "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__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_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "1ded6e96758c47d25d130b652945e208" - ], - [ - "FStar.ModifiesGen.modifies_only_live_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.hide_reveal", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "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.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.ModifiesGen.loc_includes_refl_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_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_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "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.ModifiesGen.__proj__Loc__item__aux", - "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_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.restrict_to_regions", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "5fae70835e3ba48c1e6979ebec74747d" - ], - [ - "FStar.ModifiesGen.no_upd_fresh_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Set.singleton" - ], - 0, - "8c5b505fafb5da76b702c40feaa2323b" - ], - [ - "FStar.ModifiesGen.fresh_frame_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_none", - "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", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "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.Set.mem_empty", - "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.rid", - "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" - ], - 0, - "82920b1bb36f24937e54235a2444364f" - ], - [ - "FStar.ModifiesGen.new_region_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511" - ], - 0, - "c602e5a1daedff9946bf192ef599b4bf" - ], - [ - "FStar.ModifiesGen.new_region_modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.ModifiesGen.loc_none", - "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_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.new_eternal_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.Native.fst", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_Addition", - "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", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_a88d6b2bc46617f49b283f0ff73bd7cf", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.rid", - "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" - ], - 0, - "34de833a7bd6dfc0ec2fc9af6b37df9f" - ], - [ - "FStar.ModifiesGen.popped_modifies", - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "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.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.loc_region_only", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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_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.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "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.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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "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_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_region_only", - "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.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "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.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "1d2133874c6c469325df20da9cb5a2e0" - ], - [ - "FStar.ModifiesGen.modifies_fresh_frame_popped", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_none", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "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", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_singleton", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "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", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "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", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "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_all_regions_from", - "typing_FStar.ModifiesGen.loc_region_only", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "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_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "c4ae8e4aebd5ca3ae4dae935c2996793" - ], - [ - "FStar.ModifiesGen.modifies_loc_regions_intro", - 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_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.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.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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.HyperHeap.modifies_just", - "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", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", "equation_Prims.nat", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.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", "int_inversion", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "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_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.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.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.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" - ], - 0, - "d9f56742c02d0f6f96cef9eca358f47e" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", - 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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "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_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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.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_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.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "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.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", "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_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_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_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.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", - "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_addresses", - "typing_FStar.ModifiesGen.loc_region_only", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "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_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "c21228fe5029f46d77d14766cd91cb94" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_intro_weak", - 2, - 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_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", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_bcb0431e40b8c3644e9aa06999278a41", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "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_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.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "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.mk_mreference", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.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_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_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_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "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_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_a", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_rel", - "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_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.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", - "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_addresses", - "typing_FStar.ModifiesGen.loc_region_only", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "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, - "7ee9a8305736d5b98f2dc0c229e08f95" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_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, - "071cfbc794b527eb766fe0b5247314da" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_intro", - 2, - 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_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_3eeee101eaf3e1c1434f5f0adc8202a0", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "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.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", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_includes", - "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.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.restrict_to_regions", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "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", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Set.subset", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "interpretation_Tm_abs_d28e539448cc2cb6aaeda4f9d5ce78d5", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "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_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_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_GreaterThan", - "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.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_05e15190c946858f68c69156f585f95a", - "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_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "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_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_region_only", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.restrict_to_regions", - "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", - "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_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_c0c34cd9778f27213be119e9f04d295a", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "777f67a6ba0a798dc6f213a6473251fb" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_intro", - 3, - 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, - "e7cc66f60acc5117b71528bf42837fef" - ], - [ - "FStar.ModifiesGen.modifies_ralloc_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.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" - ], - 0, - "20e3d6f5dd8ecbe7aec713398e1a7751" - ], - [ - "FStar.ModifiesGen.modifies_salloc_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "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_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.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" - ], - 0, - "962f89adf8c5f2d218a6a1167a668b3d" - ], - [ - "FStar.ModifiesGen.modifies_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "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.free", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_free_addr_unused_in", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_contains", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_sel", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_548ef817ca26695e20678a9213795842", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "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.regions_of_loc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.free_mm", - "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.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.Monotonic.HyperStack.live_region", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576" - ], - 0, - "9cfebe7f16d1c83fc1b8f601b268220f" - ], - [ - "FStar.ModifiesGen.modifies_none_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.modifies_none", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "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" - ], - 0, - "b5ac35d4739db510191690a8dabaea6b" - ], - [ - "FStar.ModifiesGen.modifies_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4c694b6d0e6c97d4122bd7532d7c42c3" - ], - [ - "FStar.ModifiesGen.modifies_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "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.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_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "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_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.singleton", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.upd", - "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.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.set", - "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632" - ], - 0, - "b52b55f8179098950dde6df2c34d480a" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_loc_union_loc_of_aloc_eq_loc_union_loc_addresses_singleton", - 1, - 2, - 1, - [ - "@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_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "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", - "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.aloc_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_of_aloc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", "equation_Prims.eqtype", - "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_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.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_of_set", - "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.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.addrs_of_loc_union", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "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_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_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.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__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__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.aloc_domain", - "typing_FStar.ModifiesGen.loc_of_aloc", - "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_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "59497664feda914d4fcac36bf8a6c5b5" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_weak_loc_includes", - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_of_set", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "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_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_91751401a94dbd31ad5b7cd11f3dbb1c", - "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.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", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "4ae34c29a8c8082f60f1f17cc34a5081" - ], - [ - "FStar.ModifiesGen.modifies_strengthen'", - 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, - "1e13ab911b24da0d09680c8e4383fe94" - ], - [ - "FStar.ModifiesGen.modifies_strengthen'", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_arrow_cc31b69d250c2a71c43bcbeac42b1116", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_54cead0728fb2c81f3c363f0cf1c82e3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.Seq.Properties_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "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_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_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.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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.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.nat", "equation_Prims.pos", - "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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "interpretation_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.regions_of_loc_loc_union", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.singleton", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "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.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_8b9e7c10f276d43bcad72345cc166f29", - "typing_Tm_abs_9b6cdee5df1366b4e0ffb62c3cd08ce4", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "5d44014ac33fbf2bde821127d3b39bd7" - ], - [ - "FStar.ModifiesGen.modifies_strengthen'", - 3, - 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_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.cls", - "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_aux_prop", - "lemma_FStar.ModifiesGen.addrs_of_loc_loc_of_aloc", - "lemma_FStar.ModifiesGen.addrs_of_loc_weak_loc_union", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4377b8bc37432ac2f6cb4eae86074961", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "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.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_aux", - "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, - "0474a11779836db4eb2dcd0d4696292d" - ], - [ - "FStar.ModifiesGen.modifies_strengthen'", - 4, - 0, - 0, - [ "@query" ], - 0, - "870e571761f86c02603fbb5fb57fdf9c" - ], - [ - "FStar.ModifiesGen.modifies_strengthen", - 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, - "680ceff69f2020c9a4e62a71ff30f6c9" - ], - [ - "FStar.ModifiesGen.modifies_strengthen", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "b3ed8063e8c0f2e82294f12cebbb90ed" - ], - [ - "FStar.ModifiesGen.modifies_strengthen", - 3, - 2, - 1, - [ "@query" ], - 0, - "9dbbdae10446255a34f325b033a452f0" - ], - [ - "FStar.ModifiesGen.not_live_region_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.ModifiesGen.does_not_contain_addr_", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "058ed6efaac3f63d6021bff4d394cf72" - ], - [ - "FStar.ModifiesGen.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "a620ed9340dabb9dc549f90454011a2f" - ], - [ - "FStar.ModifiesGen.unused_in_does_not_contain_addr", - 2, - 2, - 1, - [ - "@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", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "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" - ], - 0, - "99eccff11fc6fb9741b7724ace3a33b4" - ], - [ - "FStar.ModifiesGen.addr_unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.ModifiesGen.does_not_contain_addr_", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "bcbd3bda93c224eb0aadea93081c1b85" - ], - [ - "FStar.ModifiesGen.does_not_contain_addr_addr_unused_in", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.ModifiesGen.does_not_contain_addr_" - ], - 0, - "b39e5fa1d17cec0f03245323b48cec51" - ], - [ - "FStar.ModifiesGen.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "4bb96df6236d209863a042960c053718" - ], - [ - "FStar.ModifiesGen.free_does_not_contain_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "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.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", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_free_mm_unused", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "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.free_mm", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "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.Monotonic.HyperStack.live_region" - ], - 0, - "fde3ac876791db97b1e80b0a6328c319" - ], - [ - "FStar.ModifiesGen.does_not_contain_addr_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "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" - ], - 0, - "87bc6eecc8c4f7551ca4bbc895ac1f17" - ], - [ - "FStar.ModifiesGen.does_not_contain_addr_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "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" - ], - 0, - "39ccc87bd4779bd33793ac793f4aa96c" - ], - [ - "FStar.ModifiesGen.disjoint_addrs_of_loc_loc_disjoint", - 1, - 2, - 1, - [ - "@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", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "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.addrs_of_loc_aux_pred", - "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "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_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.intersect", "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f1f649fa0a0794719ad0d032e844eb8e" - ], - [ - "FStar.ModifiesGen.loc_not_unused_in", - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "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.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "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_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.Ghost.hide", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_dom", - "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.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "714403d3a28900e3dc62a9fc64467785" - ], - [ - "FStar.ModifiesGen.loc_unused_in", - 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_29f1c1390fa10d424180a61d88005055", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.mk_non_live_addrs", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_d9b805561f84f1d0cd7a2c8e7aea1e1f", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "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_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "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.addrs_dom", - "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.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "86c6e2cdb16945313135ef1918ea270d" - ], - [ - "FStar.ModifiesGen.loc_regions_unused_in", - 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_29f1c1390fa10d424180a61d88005055", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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", "int_inversion", - "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "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_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.subset_mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_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.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.loc_unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f878be4ec512b152315c946d735eb95b" - ], - [ - "FStar.ModifiesGen.loc_addresses_unused_in", - 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, - "d27517c0504010db1fb51d9bb3ec115d" - ], - [ - "FStar.ModifiesGen.loc_addresses_unused_in", - 2, - 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_29f1c1390fa10d424180a61d88005055", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_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.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.does_not_contain_addr", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "0d56619936c74e0f69c9b7a02bcf2877" - ], - [ - "FStar.ModifiesGen.loc_addresses_unused_in", - 3, - 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_29f1c1390fa10d424180a61d88005055", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "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.does_not_contain_addr", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_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.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.does_not_contain_addr_", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "ce6fbf42358c9a35cac913daa266447d" - ], - [ - "FStar.ModifiesGen.loc_addresses_not_unused_in", - 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, - "f322e741c5b88526a034999d71976aca" - ], - [ - "FStar.ModifiesGen.loc_addresses_not_unused_in", - 2, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "b2t_def", "b2t_typing", "bool_inversion", "bool_typing", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "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.does_not_contain_addr", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_not_unused_in", - "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.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.l_Exists", - "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.__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_4a3ede6bcb1dcb827d4be938518ee80d", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "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", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.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.mem", "typing_FStar.GSet.of_set", - "typing_FStar.GSet.set", "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.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_addresses", - "typing_FStar.ModifiesGen.loc_not_unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_and", "typing_Prims.l_not", "typing_Prims.squash", - "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "2200c697c53e55f0c50ce265abfb7a06" - ], - [ - "FStar.ModifiesGen.loc_addresses_not_unused_in", - 3, - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "b2t_def", "b2t_typing", "bool_inversion", "bool_typing", - "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "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.does_not_contain_addr", - "equation_FStar.ModifiesGen.does_not_contain_addr_", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_not_unused_in", - "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.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.l_Exists", - "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.__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_4a3ede6bcb1dcb827d4be938518ee80d", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "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", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.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.mem", "typing_FStar.GSet.of_set", - "typing_FStar.GSet.set", "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.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_addresses", - "typing_FStar.ModifiesGen.loc_not_unused_in", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.complement", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.l_and", "typing_Prims.l_not", "typing_Prims.squash", - "typing_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "e8f85f07e1c70787ef1d3fc4ded99f92" - ], - [ - "FStar.ModifiesGen.loc_unused_in_not_unused_in_disjoint", - 1, - 2, - 1, - [ - "@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_d6be07582695693801e309484cc8c8a7", - "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.aloc_includes", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_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.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_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "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.ModifiesGen.loc_aux_includes_subset_", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_domain", - "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_3b588c99f152efe62063660a8bdf88a0", - "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, - "8d1497a0216edf3662d91a3c1536649a" - ], - [ - "FStar.ModifiesGen.loc_unused_in_not_unused_in_disjoint", - 2, - 2, - 1, - [ - "@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_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "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.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.does_not_contain_addr", - "equation_FStar.ModifiesGen.loc", - "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_not_unused_in", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.l_Exists", - "equation_Prims.l_and", "equation_Prims.l_not", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@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_complement", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.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_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", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "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.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_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.does_not_contain_addr", - "typing_FStar.ModifiesGen.loc_not_unused_in", - "typing_FStar.ModifiesGen.loc_unused_in", - "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.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_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_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "typing_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "dd23f06c1f21bb2d7292328f076135f0" - ], - [ - "FStar.ModifiesGen.not_live_region_loc_not_unused_in_disjoint", - 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_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_86d951eedf9f15d1794a277d0ca9fa24", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "b2t_def", "bool_inversion", "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_disjoint", - "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_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_not_unused_in", - "equation_FStar.ModifiesGen.loc_region_only", - "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.regions_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_Prims.l_Exists", - "equation_Prims.l_and", "equation_Prims.l_not", "equation_Prims.nat", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "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", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "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_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_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "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.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.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_not_unused_in", - "typing_FStar.ModifiesGen.loc_region_only", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.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, - "4ccf273bd17c9e850c07429ef1b7777d" - ], - [ - "FStar.ModifiesGen.modifies_address_liveness_insensitive_unused_in", - 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_arrow_fbdef08d74f0ee409a06011c61670e36", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_29f1c1390fa10d424180a61d88005055", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_edea3fa082dd479ff7d89597f0db3063", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbc79c12de132f94c7a6534289c5a5b3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "b2t_def", "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", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.address_liveness_insensitive_locs", - "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.aloc_includes", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_not_unused_in", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.l_and", - "equation_Prims.l_not", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__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", "int_inversion", - "interpretation_Tm_abs_2612c19b8d5cdde84ef15ce7f9fb0190", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_4a3ede6bcb1dcb827d4be938518ee80d", - "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "interpretation_Tm_abs_719434c26e8e2bd243c30ae19128c4c1", - "interpretation_Tm_abs_73c1479ada6221ca28dc4855cfa4ac31", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "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", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.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__aux", - "typing_FStar.ModifiesGen.address_liveness_insensitive_locs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.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.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Set.complement", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_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", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "a422c27d8769e582842cf67e8677ff6d" - ], - [ - "FStar.ModifiesGen.modifies_only_not_unused_in", - 1, - 0, - 0, - [ - "@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_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "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_d6be07582695693801e309484cc8c8a7", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d70b2a8113f6c8c0bdc89f7da4dc486d", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_eaf0e881316979a10a835f9aef894ea3", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_fbfbfeae30649be071cd797a89252030", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.does_not_contain_addr", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.loc_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "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_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", "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.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", "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_38255e689400fcb3bc0d76c2a38df675", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "interpretation_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "interpretation_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_singleton", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_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", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_subset", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_57bdcb12f2e1b694c2821a98304c03c8", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "true_interp", "typing_FStar.FunctionalExtensionality.on_domain_g", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.does_not_contain_addr", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.loc_unused_in", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.Monotonic.Heap.addr_of", - "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.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_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_558f04ca763cd5b98b58f5295a6e7d5b", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_8108eea29adf30888f7a7e75da91e978", - "typing_Tm_abs_fa2e4a7776632e3fb0a275f024fddec8", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "6e8fc4bcddcf38257ee3ddb6085ba4ea" - ], - [ - "FStar.ModifiesGen.modifies_only_live_addresses", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "44e0fb956abb5ee367ee06bc24285c99" - ], - [ - "FStar.ModifiesGen.modifies_only_live_addresses", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "d760e12870104d37d5a19f1c684fdcfb" - ], - [ - "FStar.ModifiesGen.mreference_live_loc_not_unused_in", - 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_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_df479fda0673fe40f4cb5976cf385399", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.ModifiesGen.loc_not_unused_in", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "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.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.l_Exists", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.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_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "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_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_of_set", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "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", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "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.intersect", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.sel", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_not_unused_in", - "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.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.empty", "typing_FStar.Set.set", - "typing_FStar.Set.singleton", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_be8ed273e8f4cb6a3aab5dacf93b6576", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "5fe8f46f932f52b55cec556b6b07ee19" - ], - [ - "FStar.ModifiesGen.mreference_unused_in_loc_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "ff3a3a6bbb5913fe9abeb5a01b0df869" - ], - [ - "FStar.ModifiesGen.__proj__ALOC_FALSE__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_961ba5996408b3f6edafa88cb3e0ceac" - ], - 0, - "92d5651555c9225f74a9316fe609df72" - ], - [ - "FStar.ModifiesGen.__proj__ALOC_TRUE__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_550f829591d442009b33c5cac1fe3397" - ], - 0, - "1e1fbe87fc3c0ca9184ef5f85a6c8cd9" - ], - [ - "FStar.ModifiesGen.bool_of_cls_union_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.ModifiesGen.ALOC_FALSE", - "disc_equation_FStar.ModifiesGen.ALOC_TRUE", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "055fd7c4c316e7cb85053fd764ae52a3" - ], - [ - "FStar.ModifiesGen.aloc_of_cls_union_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "disc_equation_FStar.ModifiesGen.ALOC_FALSE", - "disc_equation_FStar.ModifiesGen.ALOC_TRUE", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", - "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", - "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", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3d18fb0364465dfb669fd7ca0881e576" - ], - [ - "FStar.ModifiesGen.make_cls_union_aloc", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "bool_inversion" ], - 0, - "12c004f41df640e852bc852966b755f4" - ], - [ - "FStar.ModifiesGen.cls_union_aloc_includes", - 1, - 2, - 1, - [ "@query" ], - 0, - "92d0216295857b956cda5332e8e2b7bd" - ], - [ - "FStar.ModifiesGen.cls_union_aloc_disjoint", - 1, - 2, - 1, - [ "@query" ], - 0, - "137f2225a60ba7e92062354baccebb04" - ], - [ - "FStar.ModifiesGen.cls_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", - "equation_FStar.ModifiesGen.cls_union_aloc_includes", - "equation_FStar.ModifiesGen.cls_union_aloc_preserved", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "40e7c121829c9f6f1bcbece8cd7cdf68" - ], - [ - "FStar.ModifiesGen.union_aux_of_aux_left_pred", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.aloc_union", - "kinding_FStar.ModifiesGen.cls_union_aloc@tok", - "lemma_FStar.Pervasives.invertOption", - "token_correspondence_FStar.ModifiesGen.aloc_union", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok" - ], - 0, - "8512ae14c5b1c313bd0baee9b28dadd5" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc", - 1, - 2, - 2, - [ - "@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_078641d9b6c72b0e8103dc5cd147442b", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "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", - "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.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "int_inversion", - "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_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", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7975fca1e1d847928e9a129dff4ff125", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "typing_FStar.ModifiesGen.aloc_union", - "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_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "ffc093b94a4ca7dde80763a409642680" - ], - [ - "FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "bool_inversion", "lemma_FStar.Pervasives.invertOption" - ], - 0, - "e7fa19ce609ce53d8ddae0665dd1d7b0" - ], - [ - "FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - 1, - 2, - 1, - [ - "@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_078641d9b6c72b0e8103dc5cd147442b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", - "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.ModifiesGen.aloc_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.make_cls_union_aloc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_aloc@tok", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.Pervasives.Native.Some_v", - "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", - "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", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "58654b60b19177bb10f341f333e89fd6" - ], - [ - "FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "data_elim_FStar.ModifiesGen.ALoc", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "928f9e2acb77458f55556ac410c8a5f8" - ], - [ - "FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "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_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.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.make_cls_union_aloc", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "int_inversion", - "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", - "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", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "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_regions", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "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.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "76e88a701fc2e9304369ed80acb89c9e" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "6c93690a790ac9b5410b4e69e60f902a" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "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.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.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.bool_of_cls_union_aloc", - "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_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_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", - "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", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_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", - "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_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_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_union", - "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_Some", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "cede6e56b2a6841712d9471ee53ada62" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_addresses", - 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, - "b4f56426bbddd3ee23ce3b580f68e816" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "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.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.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", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "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_union", - "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", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "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, - "0050f9883b8bf95d22d52c1cfc388dc6" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_078641d9b6c72b0e8103dc5cd147442b", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_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.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.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", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "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_union", - "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", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "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, - "3bd19e7cfd6dd62315093d95ff8a5d41" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "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.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_regions", - "equation_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.mk_non_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "interpretation_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "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_subset", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_AmpAmp", - "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.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_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.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__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.set", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "28e0ed9072694426226dfe14b0c85316" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_includes_intro", - 1, - 2, - 1, - [ - "@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_078641d9b6c72b0e8103dc5cd147442b", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_includes", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "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_aux_of_aux_left_pred", - "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_FStar.Set.subset", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.cls_union_aloc_includes", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", - "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.GSet.subset_mem", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_aux_prop", - "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.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", - "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", - "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", - "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.None_a", - "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", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.intersect", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.reveal", - "typing_FStar.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.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, - "8a05bec4c469da1c67e96f20e7683f2f" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_includes_elim", - 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", - "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.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_includes", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "equation_FStar.ModifiesGen.loc_includes", - "equation_FStar.ModifiesGen.make_cls_union_aloc", - "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_Prims.l_and", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "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.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "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", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_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_FALSE__0", - "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_al", - "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", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "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_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_d109a859bae78f3d7f792f62fa089b2c", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.ModifiesGen.aloc_union", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "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, - "ccd50e8e70e94ce52a8ab84c21b62489" - ], - [ - "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_regions", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "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, - "d7200a2f6da9376aea67286099109dd9" - ], - [ - "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.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_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_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.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.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "2fed0996cc4989b97dc098ce3cfe7fc7" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_includes", - 1, - 2, - 1, - [ "@query" ], - 0, - "33af361bfc3875ee2e330ac3de990558" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_disjoint_intro", - 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", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_of_loc", - "equation_FStar.ModifiesGen.addrs_of_loc_aux", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint", - "equation_FStar.ModifiesGen.loc_disjoint_addrs", - "equation_FStar.ModifiesGen.loc_disjoint_aux", - "equation_FStar.ModifiesGen.loc_disjoint_region_liveness_tags", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_loc_of_loc", "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", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.loc_disjoint_sym_", - "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", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "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.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.ModifiesGen.union_loc_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, - "b46fcf451216b1a843e46fd12cf84108" - ], - [ - "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", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "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_disjoint", - "equation_FStar.ModifiesGen.loc_aux_includes", - "equation_FStar.ModifiesGen.loc_aux_includes_buffer", - "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_FStar.ModifiesGen.union_loc_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.__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_2aae5400b6e456db2ed6d73889e63a50", - "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.Ghost.reveal_hide", - "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.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "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_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_99e17742b885bcf747d6ec01fd5c678a", - "refinement_interpretation_Tm_refine_d0c0677ea99245622332d3180201b1da", - "refinement_interpretation_Tm_refine_e6894cea6de7faab613998224d5c33c4", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "true_interp", "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", - "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.ModifiesGen.union_loc_of_loc", - "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, - "da71fd929d75b78efefd8d52fd61bac3" - ], - [ - "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_addrs", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_Prims.l_Exists", "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", - "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_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_None", - "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, - "dd03b2ec99ab53e516358337aef9d80e" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_disjoint_elim", - 1, - 2, - 1, - [ - "@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", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.ModifiesGen.Loc", - "data_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_weak", - "equation_FStar.ModifiesGen.aloc_disjoint", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_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.make_cls_union_aloc", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_loc_of_loc", "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", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_aloc@tok", "l_and-interp", - "lemma_FStar.GSet.lemma_equal_elim", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_intersect", "lemma_FStar.GSet.mem_subset", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_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_FALSE__0", - "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_al", - "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", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc_disjoint", - "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.ModifiesGen.__proj__ALoc__item__addr", - "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_weak", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "8666fa3dc7af9c7eea79490fba82799e" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_disjoint", - 1, - 2, - 1, - [ "@query" ], - 0, - "97cf52b2a8ab2de4ff5b20ff2dc93748" - ], - [ - "FStar.ModifiesGen.modifies_union_loc_of_loc_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "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", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "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_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", - "equation_FStar.ModifiesGen.cls_union_aloc_preserved", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.make_cls_union_aloc", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "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.eqtype", - "equation_Prims.l_Exists", "equation_Prims.logical", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls_union_aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.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", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_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.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "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.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "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_FALSE__0", - "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_al", - "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_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc_preserved", - "true_interp", "typing_FStar.GSet.complement", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "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.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.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "e025dacf3d7a5bd747e6047796fc8c09" - ], - [ - "FStar.ModifiesGen.modifies_union_loc_of_loc_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "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_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALOC_FALSE", - "constructor_distinct_FStar.ModifiesGen.ALOC_TRUE", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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_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_of_cls_union_aloc", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.bool_of_cls_union_aloc", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.cls_union_aloc_disjoint", - "equation_FStar.ModifiesGen.cls_union_aloc_preserved", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.make_cls_union_aloc", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.regions_of_loc", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_loc_of_loc", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", - "equation_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.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", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "kinding_FStar.ModifiesGen.cls_union_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.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.addrs_of_loc_union_loc_of_loc", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_elim", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", "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.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "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_FALSE__0", - "projection_inverse_FStar.ModifiesGen.ALOC_FALSE_al", - "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", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "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.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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", - "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.reveal", - "typing_FStar.Map.contains", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_of_cls_union_aloc", - "typing_FStar.ModifiesGen.bool_of_cls_union_aloc", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_addr", - "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.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "7c5c56c8c36a01757818474e3ac7e414" - ], - [ - "FStar.ModifiesGen.modifies_union_loc_of_loc", - 1, - 2, - 1, - [ "@query" ], - 0, - "26e271768a93bb29d7b1ad4d98cb390a" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc", - 1, - 2, - 1, - [ - "@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_10ebe344578736185d63a70d3b7a0980", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "bool_typing", - "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.GSet.subset", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "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", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.Pervasives.invertOption", - "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", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_0022066815fda7c8126c9e4f5091038c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "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.aloc_domain", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "75a7c768a17f188e1ab3696b47fc223d" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_union_loc_of_loc", - 1, - 2, - 1, - [ - "@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_10ebe344578736185d63a70d3b7a0980", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.Loc", - "data_typing_intro_FStar.ModifiesGen.ALoc@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_of_union_loc", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.union_aux_of_aux_left", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "equation_FStar.ModifiesGen.union_loc_of_loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.loc_", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.GSet.mem_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.ModifiesGen.mem_union_aux_of_aux_left_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_BarBar", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.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.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left", - "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "typing_FStar.ModifiesGen.union_loc_of_loc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "5799c8a96bd09f3ee9d2fd1a17877c74" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.loc_of_union_loc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "8f39c03d2b54fa70d73f2b46bea3c5dc" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_5d37772d6230449188c5e9cf187f4512", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "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", - "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.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.aloc_union", - "equation_FStar.ModifiesGen.cls_union", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.i_restricted_g_t", - "equation_FStar.ModifiesGen.live_addrs_codom", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_of_union_loc", - "equation_FStar.ModifiesGen.loc_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.regions_of_loc", - "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", - "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", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "int_inversion", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "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_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "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_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.GSet.union", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "caf5fc51413e528f3c53867977877358" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_addresses", - 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, - "bcaad108e6cd06ad9c68a510744ff441" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.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.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_of_union_loc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "0332fc3400891bb1bc39e9a6a6686e1e" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_0bf81d1d6240287754dc86c5b6b84eb2", - "FStar.ModifiesGen_interpretation_Tm_arrow_27cdcbc9b6418959267101472c68e76a", - "FStar.ModifiesGen_interpretation_Tm_arrow_4b8229fae68183792ae66d181d3bc33e", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_10ebe344578736185d63a70d3b7a0980", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_820d44d69be853d03bc235547f5f9c47", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "bool_typing", "data_elim_FStar.ModifiesGen.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.loc", - "equation_FStar.ModifiesGen.loc_addresses", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_of_union_loc", - "equation_FStar.ModifiesGen.mk_live_addrs", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "equation_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.ModifiesGen.aloc_union", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.cls_union_aloc@tok", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.union_aux_of_aux_left_inv_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.GSet.of_set", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.aloc_union", - "typing_FStar.ModifiesGen.cls_union", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.make_cls_union_aloc", - "typing_FStar.ModifiesGen.union_aux_of_aux_left_inv", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_6e35fa6da8e2c2e026e09e78b83f6632", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "860f2d1550f43663d0a57cbc01ef5b5f" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.GSet.subset", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "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_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_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "function_token_typing_FStar.ModifiesGen.live_addrs_codom", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "interpretation_Tm_abs_55d42a2236fcdce9563ae8c8e8fbeb54", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.FunctionalExtensionality.feq_on_domain_g", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", - "lemma_FStar.GSet.mem_complement", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.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.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_299a8559d454d4d0a66ce07e6cca4c20", - "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", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.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_of_union_loc", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.set", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "842137a44c5088b80d81e1ecaa1227b5" - ], - [ - "FStar.ModifiesGen.raise_cls", - 1, - 2, - 1, - [ "@query" ], - 0, - "f51a1fd685788fb3bb5a06b9cefccfc1" - ], - [ - "FStar.ModifiesGen.downgrade_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "2b72d588b3c21469205783d3952c7967" - ], - [ - "FStar.ModifiesGen.upgrade_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "equation_FStar.ModifiesGen.aloc_t", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "5bb808fa45d2a4e8f519ffabe5724132" - ], - [ - "FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.downgrade_aloc", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "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", - "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", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "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.uu___is_Some" - ], - 0, - "8f1b4b39d690543f5cba6c68eae548ae" - ], - [ - "FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.ALoc", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.downgrade_aloc", - "equation_FStar.ModifiesGen.raise_aloc", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "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", - "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", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Pervasives.Native.__proj__Some__item__v", - "typing_FStar.Pervasives.Native.uu___is_Some" - ], - 0, - "89695b29b24517c51a27061f3dc02101" - ], - [ - "FStar.ModifiesGen.raise_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "bool_inversion", "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.downgrade_aloc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "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.GSet.mem_subset", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "0d51b2fd42ffe2f661b8ad4b8857bfd6" - ], - [ - "FStar.ModifiesGen.raise_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "bool_inversion", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set" - ], - 0, - "1d070632f68132edb8f79934ff4f451d" - ], - [ - "FStar.ModifiesGen.raise_loc_union", - 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_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.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_union", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_FStar.ModifiesGen.regions_of_loc", "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.__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.ModifiesGen.raise_loc_aux_pred", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "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_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "99181bcb6e152561e93fc3f489910b93" - ], - [ - "FStar.ModifiesGen.raise_loc_addresses", - 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, - "72a2db95e7f37aa521c6c3911823d231" - ], - [ - "FStar.ModifiesGen.raise_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.downgrade_aloc", - "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.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "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_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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.of_set", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "e36739983ffa272fd00d1079e670301a" - ], - [ - "FStar.ModifiesGen.raise_loc_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.downgrade_aloc", - "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.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "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_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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.of_set", - "typing_FStar.GSet.set", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "206543631b3f8f5ebd65b5d33526dc62" - ], - [ - "FStar.ModifiesGen.raise_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.downgrade_aloc", - "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.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "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_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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "d57276d550a1a4a1add8310d4985089c" - ], - [ - "FStar.ModifiesGen.raise_loc_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_d6be07582695693801e309484cc8c8a7", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", - "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_domain", - "equation_FStar.ModifiesGen.aloc_includes", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.downgrade_aloc", - "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.raise_cls", - "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_Prims.logical", "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.__proj__Loc__item__live_addrs", - "function_token_typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.raise_aloc", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_2aae5400b6e456db2ed6d73889e63a50", - "interpretation_Tm_abs_55a9a74f2120eebdf1694429b987ff1b", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "l_quant_interp_306f08bb00da430b3422784a97780b97", - "l_quant_interp_c6564ff77ac1a7b3ca145ba2e9dd0638", - "l_quant_interp_e0bcbb7869893188e4e1fc8c78d3ed37", - "l_quant_interp_e0bfc156c6f1bcba6dc36263871f589a", - "lemma_FStar.GSet.comprehend_mem", "lemma_FStar.GSet.mem_complement", - "lemma_FStar.GSet.mem_empty", "lemma_FStar.GSet.mem_intersect", - "lemma_FStar.GSet.mem_subset", "lemma_FStar.GSet.mem_union", - "lemma_FStar.GSet.subset_mem", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", - "lemma_FStar.ModifiesGen.loc_aux_includes_subset_", - "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", - "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", - "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", - "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.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.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b99887b2bd8bf4ff4c7c097e5d62048", - "refinement_interpretation_Tm_refine_91751401a94dbd31ad5b7cd11f3dbb1c", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.complement", "typing_FStar.GSet.comprehend", - "typing_FStar.GSet.empty", "typing_FStar.GSet.mem", - "typing_FStar.GSet.set", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__ALoc__item__addr", - "typing_FStar.ModifiesGen.__proj__ALoc__item__loc", - "typing_FStar.ModifiesGen.__proj__ALoc__item__region", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_of_loc", - "typing_FStar.ModifiesGen.addrs_of_loc_aux", - "typing_FStar.ModifiesGen.addrs_of_loc_weak", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.downgrade_aloc", - "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_None", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "48b57d6aeadaca672396564921f1644e" - ], - [ - "FStar.ModifiesGen.raise_loc_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.ModifiesGen.Loc", - "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_t", - "equation_FStar.ModifiesGen.downgrade_aloc", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_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.raise_cls", - "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_Prims.logical", "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__live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_9fa708579ab67bccf24c1021f7b9d558", - "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_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", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_loc", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_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.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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", - "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", - "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_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.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.set", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "72cba2d50011cea7161504dea195ed34" - ], - [ - "FStar.ModifiesGen.modifies_raise_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_arrow_e62948c54d5bda385daba7f378628a58", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b310d75ed367d8e6bac3a358e340a7cb", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_base_FStar.ModifiesGen.ALoc", - "constructor_distinct_FStar.ModifiesGen.ALoc", - "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.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "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_t", - "equation_FStar.ModifiesGen.downgrade_aloc", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_aux_disjoint", - "equation_FStar.ModifiesGen.modifies", - "equation_FStar.ModifiesGen.modifies_preserves_alocs", - "equation_FStar.ModifiesGen.modifies_preserves_livenesses", - "equation_FStar.ModifiesGen.modifies_preserves_mreferences", - "equation_FStar.ModifiesGen.modifies_preserves_not_unused_in", - "equation_FStar.ModifiesGen.modifies_preserves_regions", - "equation_FStar.ModifiesGen.raise_aloc", - "equation_FStar.ModifiesGen.raise_cls", - "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.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.l_Exists", - "equation_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.__proj__Loc__item__non_live_addrs", - "function_token_typing_FStar.ModifiesGen.addrs_of_loc_aux_pred", - "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", "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_singleton", - "lemma_FStar.GSet.mem_union", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", - "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Universe.downgrade_val_raise_val", - "lemma_FStar.Universe.raise_val_downgrade_val", - "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.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "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_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "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_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "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.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.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_weak", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.ModifiesGen.regions_of_loc", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.Universe.downgrade_val", - "typing_FStar.Universe.raise_val", "typing_Prims.squash", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "3cb3f85267356c525724838084807dd8" - ], - [ - "FStar.ModifiesGen.lower_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "equation_FStar.GSet.subset", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.raise_aloc", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", - "lemma_FStar.GSet.comprehend_mem", - "proj_equation_FStar.ModifiesGen.ALoc_addr", - "proj_equation_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ae49170a94b078b0581029a0e5584c09", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.mem", - "typing_FStar.ModifiesGen.aloc_domain", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_Tm_abs_3b588c99f152efe62063660a8bdf88a0", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "7ca0df9a34f735b64112580a4ccc0f65" - ], - [ - "FStar.ModifiesGen.lower_loc_raise_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.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.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "equation_FStar.ModifiesGen.upgrade_aloc", "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.lower_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.downgrade_aloc_upgrade_aloc", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" - ], - 0, - "1e5c0b6aead550cc1931a107956b4830" - ], - [ - "FStar.ModifiesGen.raise_loc_lower_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.Ghost_pretyping_22d6a8ce99cd028abbb08411c23f7a32", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_b8ad020d63c4109edf60ab2be7f6d365", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.downgrade_aloc", - "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.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_aloc", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.raise_loc", - "equation_FStar.ModifiesGen.raise_loc_aux_pred", - "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.lower_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.raise_loc_aux_pred", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.ModifiesGen.upgrade_aloc_downgrade_aloc", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.ALoc_addr", - "projection_inverse_FStar.ModifiesGen.ALoc_loc", - "projection_inverse_FStar.ModifiesGen.ALoc_region", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_non_live_addrs", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_16353e3348375044c04cf3c58e74fa62", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f993db11d244ca284dec01609ffcb943", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.raise_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.downgrade_aloc", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.raise_loc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set" - ], - 0, - "d33a2d9132e79f217918a3de5fa2f16b" - ], - [ - "FStar.ModifiesGen.lower_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "bool_inversion", "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.fun_set_equal", - "equation_FStar.ModifiesGen.loc", - "equation_FStar.ModifiesGen.loc_equal", - "equation_FStar.ModifiesGen.loc_none", - "equation_FStar.ModifiesGen.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.raise_cls", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", "lemma_FStar.GSet.mem_empty", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.Set.mem_empty", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.Loc_aux", - "projection_inverse_FStar.ModifiesGen.Loc_region_liveness_tags", - "projection_inverse_FStar.ModifiesGen.Loc_regions", - "refinement_interpretation_Tm_refine_1ae87d0903290bd69b5f1039588ea379", - "refinement_interpretation_Tm_refine_299a8559d454d4d0a66ce07e6cca4c20", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.empty", - "typing_FStar.GSet.mem", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.loc_none", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set" - ], - 0, - "f24ef0a679768c1ea045eb07713cf00b" - ], - [ - "FStar.ModifiesGen.lower_loc_union", - 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_0f4f38d03578ae134cc2fc11dffcd795", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_daa196de36e9742cc1c5edd9bd0b01f5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.feq_g", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.addrs_of_loc_weak", - "equation_FStar.ModifiesGen.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_union", - "equation_FStar.ModifiesGen.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_aloc", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.regions_of_loc", "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.__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.lower_loc_aux_pred", - "function_token_typing_FStar.ModifiesGen.non_live_addrs_codom", - "interpretation_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "interpretation_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c", - "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_union", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.ModifiesGen.Loc_aux", - "proj_equation_FStar.ModifiesGen.Loc_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_non_live_addrs", - "proj_equation_FStar.ModifiesGen.Loc_region_liveness_tags", - "proj_equation_FStar.ModifiesGen.Loc_regions", - "projection_inverse_FStar.ModifiesGen.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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_interpretation_Tm_refine_f990f612417293291846d6cd197d3b33", - "refinement_interpretation_Tm_refine_fae04a9d380101804b4d7c7f12843c00", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.GSet.union", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.__proj__Loc__item__non_live_addrs", - "typing_FStar.ModifiesGen.__proj__Loc__item__region_liveness_tags", - "typing_FStar.ModifiesGen.__proj__Loc__item__regions", - "typing_FStar.ModifiesGen.addrs_dom", - "typing_FStar.ModifiesGen.loc_union", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_FStar.Set.union", - "typing_Tm_abs_4d85810a2100a97a0ee9488431c0b6c2", - "typing_Tm_abs_6a69ff8390e291da53d240d8dc6afe0c" - ], - 0, - "ab1f65c518ad8ae0271f3642ece5e4a3" - ], - [ - "FStar.ModifiesGen.lower_loc_addresses", - 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, - "dc07009d1a3cc459024867cc88c2682b" - ], - [ - "FStar.ModifiesGen.lower_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.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.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_a9ec055ceb2dc07710c661e9941e4ddc", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "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_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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.loc_addresses", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.empty", - "typing_FStar.Set.set", "typing_FStar.Set.singleton", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "4b08343ce42292cc6132a430aa29205a" - ], - [ - "FStar.ModifiesGen.lower_loc_addresses", - 3, - 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, - "22ba36d15230b4ef412482da44e79788" - ], - [ - "FStar.ModifiesGen.lower_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.GSet_interpretation_Tm_ghost_arrow_9a34a9deaac3ca72ad48c3ec79b6656c", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_5e97eaf9d4d26758403295236fb1f2df", - "FStar.ModifiesGen_interpretation_Tm_ghost_arrow_848111ec6c48aead72733154d51a96e8", - "Prims_interpretation_Tm_ghost_arrow_3aa447697277bb40c9738c9125c3e80f", - "bool_inversion", "data_elim_FStar.ModifiesGen.ALoc", - "data_elim_FStar.ModifiesGen.Loc", - "equation_FStar.FunctionalExtensionality.restricted_g_t", - "equation_FStar.ModifiesGen.addrs_dom", - "equation_FStar.ModifiesGen.aloc_domain", - "equation_FStar.ModifiesGen.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.lower_loc", - "equation_FStar.ModifiesGen.lower_loc_aux_pred", - "equation_FStar.ModifiesGen.non_live_addrs_codom", - "equation_FStar.ModifiesGen.raise_cls", - "equation_FStar.ModifiesGen.upgrade_aloc", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.ModifiesGen.aloc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_FStar.ModifiesGen.lower_loc_aux_pred", - "int_inversion", - "interpretation_Tm_abs_d9b119ae161e6d8539384392e7e72d2f", - "interpretation_Tm_abs_fce7d7619e8abba87ce443bd0099688e", - "kinding_FStar.ModifiesGen.aloc@tok", "l_and-interp", - "lemma_FStar.GSet.comprehend_mem", - "lemma_FStar.GSet.lemma_equal_intro", - "lemma_FStar.GSet.lemma_equal_refl", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.ModifiesGen.loc_equal_elim", - "lemma_FStar.Set.lemma_equal_refl", - "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_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_299a8559d454d4d0a66ce07e6cca4c20", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9185da06fca917c5514ae63042657873", - "refinement_interpretation_Tm_refine_a57e6cfdf4a07d620bef762e992093dd", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.live_addrs_codom", - "token_correspondence_FStar.ModifiesGen.lower_loc_aux_pred", - "token_correspondence_FStar.ModifiesGen.non_live_addrs_codom", - "typing_FStar.GSet.comprehend", "typing_FStar.GSet.set", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_FStar.ModifiesGen.__proj__Loc__item__aux", - "typing_FStar.ModifiesGen.loc_regions", - "typing_FStar.ModifiesGen.loc_regions_region_liveness_tags", - "typing_FStar.ModifiesGen.lower_loc", - "typing_FStar.ModifiesGen.raise_aloc", - "typing_FStar.ModifiesGen.raise_cls", - "typing_FStar.ModifiesGen.upgrade_aloc", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.set", - "typing_Tm_abs_fce7d7619e8abba87ce443bd0099688e" - ], - 0, - "f3187f041cea166fb1b1907c82c18fdb" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ModifiesGen.fsti.hints b/ulib/.hints/FStar.ModifiesGen.fsti.hints deleted file mode 100644 index b664b0fdaa6..00000000000 --- a/ulib/.hints/FStar.ModifiesGen.fsti.hints +++ /dev/null @@ -1,488 +0,0 @@ -[ - "Æà\u001cmË1iY\u0016³ÀëTžo'", - [ - [ - "FStar.ModifiesGen.cls", - 1, - 2, - 1, - [ "@query" ], - 0, - "5e6574683217aa0f163cd116dfaad474" - ], - [ - "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", - 1, - 2, - 1, - [ "@query" ], - 0, - "b49916737c0a01fd45cc51a0ca3c0829" - ], - [ - "FStar.ModifiesGen.__proj__Cls__item__same_mreference_aloc_preserved", - 2, - 2, - 1, - [ "@query" ], - 0, - "5367c3b5880b023717a7d09b0ef81b31" - ], - [ - "FStar.ModifiesGen.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fd27ad5d2b811db65497d95d5bf37445" - ], - [ - "FStar.ModifiesGen.loc_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6b20c336d14af4f029e4f9dc7c1b88a9" - ], - [ - "FStar.ModifiesGen.loc_freed_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "807389cf869c2b93e4ed5f0d9f63236f" - ], - [ - "FStar.ModifiesGen.loc_includes_aloc_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "bad02cad643b50f191f7a33bcb8471e0" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_aloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e6d605e65c29388af1dee2793971371d" - ], - [ - "FStar.ModifiesGen.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "148d08f51a30e9f3aa258be8c9ba75b3" - ], - [ - "FStar.ModifiesGen.loc_includes_addresses_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "77dc8cb5a579f7ec3c2c3d6fa3b992ae" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "e8b4a844d7816084f6365d8e5a86a05d" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "53e878b4b9af4be1f775c48dfd6b8133" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "81a88f4642bb250d78f8377d4a187fcd" - ], - [ - "FStar.ModifiesGen.loc_disjoint_addresses_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "769dcc31fb6939b90a1c63ee48195088" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "998f12fea8ad3ffec301a4ebed4b10c2" - ], - [ - "FStar.ModifiesGen.loc_disjoint_aloc_addresses_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "257b9a0c1822dd1a36ab776488c7bf7c" - ], - [ - "FStar.ModifiesGen.loc_includes_address_liveness_insensitive_locs_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1559e33dea84959ed1371ef6759e9779" - ], - [ - "FStar.ModifiesGen.loc_includes_region_liveness_insensitive_locs_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dd531ba3c2bca8ab688fd935de1738cf" - ], - [ - "FStar.ModifiesGen.modifies_address_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0e9a693bb060828ed25b273605843e0e" - ], - [ - "FStar.ModifiesGen.modifies_aloc_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "bf77a55e89a0e54cd2263722e6082b5e" - ], - [ - "FStar.ModifiesGen.modifies_preserves_liveness_strong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.as_addr", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.HyperStack.as_addr" - ], - 0, - "2c919784f3ebd3aa25b888e9c022c657" - ], - [ - "FStar.ModifiesGen.new_region_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511", - "typing_Prims.int" - ], - 0, - "95bc7a1b6776185cac791d4b3979b55d" - ], - [ - "FStar.ModifiesGen.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f6635dca0e72c36bf3facc373703b03b" - ], - [ - "FStar.ModifiesGen.modifies_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "e57afad9adee7c9b87e790b95a0a94c4" - ], - [ - "FStar.ModifiesGen.modifies_strengthen", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7d0d910c03c18aa01f9353628767eb24" - ], - [ - "FStar.ModifiesGen.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "360b7246f49606f5111fb4969d9fbe3c" - ], - [ - "FStar.ModifiesGen.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "07483a68cfb862dc577610f6db343d6e" - ], - [ - "FStar.ModifiesGen.does_not_contain_addr_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "d6c658f678c2f10aad5b27eef8d6a693" - ], - [ - "FStar.ModifiesGen.loc_addresses_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d03775bebed7a81c2b573d4026bcbcb1" - ], - [ - "FStar.ModifiesGen.loc_addresses_not_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b81f1531410788c7fc3f67ff3de11870" - ], - [ - "FStar.ModifiesGen.modifies_only_live_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "695cb25cf297285ca6f96377ead9c423" - ], - [ - "FStar.ModifiesGen.modifies_only_live_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2bf5f50d10b3f4805a4391b0930168c9" - ], - [ - "FStar.ModifiesGen.union_loc_of_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a2d88543a06922897a1481e3e277b016" - ], - [ - "FStar.ModifiesGen.loc_of_union_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "af0fe38eceb9867fc6289eb226ee2f18" - ], - [ - "FStar.ModifiesGen.raise_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1fc6624996a9866a3e3ced81f252f339" - ], - [ - "FStar.ModifiesGen.lower_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5fe995663cb3c0ff8ba1d6a1ed3a1074" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.DependentMap.fst.hints b/ulib/.hints/FStar.Monotonic.DependentMap.fst.hints deleted file mode 100644 index 3954414979c..00000000000 --- a/ulib/.hints/FStar.Monotonic.DependentMap.fst.hints +++ /dev/null @@ -1,571 +0,0 @@ -[ - " \u0006òî\u001cà\u001f8ζ3_K\u0015<;", - [ - [ - "FStar.Monotonic.DependentMap.repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb6a12e448c5dd3acea77a0bef976eca_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.DependentMap.map", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "bd21325e369d41c73c1bc69d4f6da723" - ], - [ - "FStar.Monotonic.DependentMap.empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.DependentMap.map", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "kinding_Prims.dtuple2@tok", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "9bfc71867ee71bc138fbfe03b7c0516f" - ], - [ - "FStar.Monotonic.DependentMap.sel", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@query", - "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_77b14586b32b669eef9b136e2fe3f36f", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_c2c0b4b9c5d88cc390221d8268f61e75", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_e0342d9558b243b3e59b56f030223dea", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_4d0abed149b4c5f34c4ebc928ceda3a0_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_bb6a12e448c5dd3acea77a0bef976eca_3", - "binder_x_d3faed7bbec7b3b3d41ce73e2f001f5c_4", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.DependentMap.empty_partial_dependent_map", - "equation_FStar.Monotonic.DependentMap.map", - "equation_FStar.Monotonic.DependentMap.opt", - "equation_FStar.Monotonic.DependentMap.partial_dependent_map", - "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.DependentMap.opt", - "interpretation_Tm_abs_d337b9f942e1a0207d708aefb112793d", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.DependentMap.sel_upd_other", - "lemma_FStar.DependentMap.sel_upd_same", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Monotonic.DependentMap.opt", - "token_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "typing_Tm_abs_d337b9f942e1a0207d708aefb112793d" - ], - 0, - "aad1ecaa4cd0f58e57051e702d996ecf" - ], - [ - "FStar.Monotonic.DependentMap.upd", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "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" - ], - 0, - "72f49dd914f89978a0491f4417651aa7" - ], - [ - "FStar.Monotonic.DependentMap.grows'", - 1, - 2, - 1, - [ "@query" ], - 0, - "d192b998ddb002a30c0d3f6c37dd22c0" - ], - [ - "FStar.Monotonic.DependentMap.grows", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.DependentMap.grows_", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "token_correspondence_FStar.Monotonic.DependentMap.grows_" - ], - 0, - "b6996a8bf351a44c57e34abc7e0c0352" - ], - [ - "FStar.Monotonic.DependentMap.value_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.DependentMap.defined", - "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" - ], - 0, - "e799cec986fff566dc06d9b40b984ad0" - ], - [ - "FStar.Monotonic.DependentMap.contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "0140257b106716918b58fc9e9e37c73c" - ], - [ - "FStar.Monotonic.DependentMap.contains_stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.Monotonic.DependentMap.contains", - "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.grows_", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.t", - "equation_FStar.Monotonic.DependentMap.value_of", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.sel", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.DependentMap.grows", - "token_correspondence_FStar.Monotonic.DependentMap.grows_" - ], - 0, - "298cf4736002b396ea4e9333b80dccad" - ], - [ - "FStar.Monotonic.DependentMap.defined_stable", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.grows_", - "equation_FStar.Monotonic.HyperStack.sel", - "token_correspondence_FStar.Monotonic.DependentMap.grows", - "token_correspondence_FStar.Monotonic.DependentMap.grows_" - ], - 0, - "a39856fefff8636a0727e6e106535ff8" - ], - [ - "FStar.Monotonic.DependentMap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" - ], - 0, - "b4548b059127fe77ab899c864e4977a6" - ], - [ - "FStar.Monotonic.DependentMap.alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.DependentMap.empty", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.t", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "0771df8f88f989ced4aad73cb0a21d85" - ], - [ - "FStar.Monotonic.DependentMap.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2a2663d0d055fa15642b40f81e39aa63" - ], - [ - "FStar.Monotonic.DependentMap.extend", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.DependentMap.sel.fuel_instrumented", - "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.DependentMap.contains", - "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.grows_", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.map", - "equation_FStar.Monotonic.DependentMap.t", - "equation_FStar.Monotonic.DependentMap.upd", - "equation_FStar.Monotonic.DependentMap.value_of", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Set.subset", - "equation_with_fuel_FStar.Monotonic.DependentMap.sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.DependentMap.grows", - "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_426660b947c9d501b017dbb900ca44ca", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_597f8773b0de32e93efd66be81458b6f", - "refinement_interpretation_Tm_refine_5df398222ccaf3a089279c2f54865ad6", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6d002cb5ef59cc12c9f0eff6eaba4426", - "refinement_interpretation_Tm_refine_9f102e8e5a749335350b2393cf512249", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.DependentMap.grows_", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.DependentMap.grows", - "typing_FStar.Monotonic.DependentMap.imap", - "typing_FStar.Monotonic.DependentMap.sel", - "typing_FStar.Monotonic.DependentMap.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "b39c74603dbeb5f5db3de9b147ebf943" - ], - [ - "FStar.Monotonic.DependentMap.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "151704f959a3c76794797afd3609055b" - ], - [ - "FStar.Monotonic.DependentMap.lookup", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.sel.fuel_instrumented", - "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.DependentMap.contains", - "equation_FStar.Monotonic.DependentMap.defined", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.grows_", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.map", - "equation_FStar.Monotonic.DependentMap.t", - "equation_FStar.Monotonic.DependentMap.value_of", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_with_fuel_FStar.Monotonic.DependentMap.sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.DependentMap.grows", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6d002cb5ef59cc12c9f0eff6eaba4426", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.DependentMap.grows_", - "typing_FStar.Monotonic.DependentMap.grows", - "typing_FStar.Monotonic.DependentMap.imap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm" - ], - 0, - "805ee6e45dfa75255e363c83e29f4683" - ], - [ - "FStar.Monotonic.DependentMap.forall_t", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.DependentMap.defined" - ], - 0, - "197ecad63eabb8b973ac4dc1dcb3c778" - ], - [ - "FStar.Monotonic.DependentMap.f_opt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "496a54091070a02297e07a9f26f2852c" - ], - [ - "FStar.Monotonic.DependentMap.mmap_f", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "@query", - "FStar.DependentMap_interpretation_Tm_arrow_8999bb275b004ca2d9297a7090495363", - "FStar.DependentMap_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_2c29edec5c247121304db8b42056a39c", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_51c0e634c5df186c7407d3f7e3076299", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_c2c0b4b9c5d88cc390221d8268f61e75", - "FStar.Monotonic.DependentMap_interpretation_Tm_arrow_e0342d9558b243b3e59b56f030223dea", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_2", - "binder_x_a68f91e50b6d06730986dd59f73c1590_3", - "binder_x_a68f91e50b6d06730986dd59f73c1590_4", - "binder_x_da4b2be3ad1b881831ebeb22715ca8c9_5", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.DependentMap.empty_partial_dependent_map", - "equation_FStar.Monotonic.DependentMap.f_opt", - "equation_FStar.Monotonic.DependentMap.map", - "equation_FStar.Monotonic.DependentMap.opt", - "equation_FStar.Monotonic.DependentMap.partial_dependent_map", - "equation_with_fuel_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.DependentMap.opt", - "interpretation_Tm_abs_31896870f97d4dc22b26f85be96c184c", - "interpretation_Tm_abs_d337b9f942e1a0207d708aefb112793d", - "lemma_FStar.DependentMap.equal_elim", - "lemma_FStar.DependentMap.equal_intro", - "lemma_FStar.DependentMap.map_upd", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.DependentMap.sel_map", - "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_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.Nil_a", - "refinement_interpretation_Tm_refine_cfef0373102a4507e8c2b9abb0637ad9", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Monotonic.DependentMap.opt", - "token_correspondence_FStar.Monotonic.DependentMap.repr.fuel_instrumented", - "typing_FStar.DependentMap.map", - "typing_FStar.Monotonic.DependentMap.empty_partial_dependent_map", - "typing_Tm_abs_31896870f97d4dc22b26f85be96c184c", - "typing_Tm_abs_d337b9f942e1a0207d708aefb112793d" - ], - 0, - "2cc1de8941ddfc54637c020c63cdb49d" - ], - [ - "FStar.Monotonic.DependentMap.map_f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecc923c61561a744b55919cb2bbb6591" - ], - 0, - "0e80e0913435b2cd24ad1a552db78a8f" - ], - [ - "FStar.Monotonic.DependentMap.map_f", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.DependentMap.grows", - "equation_FStar.Monotonic.DependentMap.imap", - "equation_FStar.Monotonic.DependentMap.t", - "equation_FStar.Monotonic.HyperStack.mref", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_906da7da70e75216ccc977365c9b4238", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.DependentMap.grows", - "typing_FStar.Monotonic.DependentMap.imap", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_mm" - ], - 0, - "1ddfef3bef0350d5683f1acd91ab60aa" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.DependentMap.fsti.hints b/ulib/.hints/FStar.Monotonic.DependentMap.fsti.hints deleted file mode 100644 index 3045422c62c..00000000000 --- a/ulib/.hints/FStar.Monotonic.DependentMap.fsti.hints +++ /dev/null @@ -1,108 +0,0 @@ -[ - "·\u001bÁÝÛ\u001aNÿ’À³ý­™'Ú", - [ - [ - "FStar.Monotonic.DependentMap.value_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.DependentMap.defined", - "refinement_interpretation_Tm_refine_29666485b5a0a190c9167fabb9b987b8" - ], - 0, - "e6da31f62a247fc6e0fe7fabb5011bf6" - ], - [ - "FStar.Monotonic.DependentMap.contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "0140257b106716918b58fc9e9e37c73c" - ], - [ - "FStar.Monotonic.DependentMap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80c1a9e9a59b1f3e9fe89cca8db03bac" - ], - 0, - "96940a91ab02d0bcee9b9e087f2c954a" - ], - [ - "FStar.Monotonic.DependentMap.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e43cd96e8c542909f0e6c70a027198a9" - ], - [ - "FStar.Monotonic.DependentMap.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6ab5d95443572dc304d9a0ce366015da" - ], - [ - "FStar.Monotonic.DependentMap.forall_t", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.DependentMap.defined" - ], - 0, - "197ecad63eabb8b973ac4dc1dcb3c778" - ], - [ - "FStar.Monotonic.DependentMap.f_opt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "496a54091070a02297e07a9f26f2852c" - ], - [ - "FStar.Monotonic.DependentMap.map_f", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecc923c61561a744b55919cb2bbb6591" - ], - 0, - "69aececc769a74937e2aba21c0cbe06c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Heap.fst.hints b/ulib/.hints/FStar.Monotonic.Heap.fst.hints deleted file mode 100644 index 7f7a2097c99..00000000000 --- a/ulib/.hints/FStar.Monotonic.Heap.fst.hints +++ /dev/null @@ -1,3278 +0,0 @@ -[ - "9$\fL¬+OÜ¿ö©â’“ÿ", - [ - [ - "FStar.Monotonic.Heap.heap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr" - ], - 0, - "b76a75a6ecf44d33af0c1f66b498760f" - ], - [ - "FStar.Monotonic.Heap.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bf49e4cedc26517d7a7ffd928ec2451c" - ], - [ - "FStar.Monotonic.Heap.equal_extensional", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.heap", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "l_and-interp", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "834537f0f661750a09a7ef8cead37700" - ], - [ - "FStar.Monotonic.Heap.emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "interpretation_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "e512f8ba23d786e0558b366293b546b4" - ], - [ - "FStar.Monotonic.Heap.addr_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "372c3272b57523b85696279969d2dbfc" - ], - [ - "FStar.Monotonic.Heap.compare_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b0f652676fc409de27901e30b1857ab7" - ], - [ - "FStar.Monotonic.Heap.contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "82b87955d4c0352b6275b236f929d791" - ], - [ - "FStar.Monotonic.Heap.addr_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d7fe262941b3ec1e3ba19c3ce17a0623" - ], - [ - "FStar.Monotonic.Heap.not_addr_unused_in_nullptr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "475be90bbd78344173407051fbe83881" - ], - [ - "FStar.Monotonic.Heap.unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "3449e04edac69fc2f0a765b4ca46880f" - ], - [ - "FStar.Monotonic.Heap.only_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "feb0a03400eb8286fff50cbcdce7c378" - ], - [ - "FStar.Monotonic.Heap.only", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ea4c420da86117c6e5be802d05c6265f" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b33d58df75f9152a48ce5b8c79276117" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Plus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d85653d125be056324544258f6358421" - ], - [ - "FStar.Monotonic.Heap.op_Plus_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ab02cdd7854c67b410144eda528b3b49" - ], - [ - "FStar.Monotonic.Heap.op_Plus_Plus_Hat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff71d25490383c49da8664f74d37e4db" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "edf30eb38e2dc2e0d85b0ebbfcd04a65" - ], - [ - "FStar.Monotonic.Heap.sel_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8" - ], - 0, - "0a8942b41f46fcb18653e01cfbbb0b3b" - ], - [ - "FStar.Monotonic.Heap.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5" - ], - 0, - "a8978cfa267df361b0a3cf717f8bfe78" - ], - [ - "FStar.Monotonic.Heap.upd_tot'", - 1, - 2, - 1, - [ "@query" ], - 0, - "a250e931c4e157eaa0dc12c859ed0a50" - ], - [ - "FStar.Monotonic.Heap.upd_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.upd_tot_", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "add18282077644fbce5dca00a97ce114" - ], - [ - "FStar.Monotonic.Heap.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", "int_typing", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "c2b995b73f1926d7b2be0c57e5a3a021" - ], - [ - "FStar.Monotonic.Heap.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.heap", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "int_inversion", - "interpretation_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "b172057ade42cfe69af69ac08a9dfc0a" - ], - [ - "FStar.Monotonic.Heap.free_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "cb8fafebcf906152ea3aacba618ff445" - ], - [ - "FStar.Monotonic.Heap.modifies_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "0729382a3f98663d0b4e1062db876939" - ], - [ - "FStar.Monotonic.Heap.modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8ae5bb5e508db15efc7a355b48c8fcb7" - ], - [ - "FStar.Monotonic.Heap.modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6d1112cd50ae1977c04296c6cec7331e" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "int_typing", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", "typing_Prims.int", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "ee91dc39bfa06853e8652a294d1774e5" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains_not_necessarily_well_typed_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.None", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "int_typing", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", "typing_Prims.int", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "d39964e22afa457b4d0724233d20bc8c" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_unused_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Pervasives.Native.uu___is_Some", "typing_Prims.int", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "4da7f0e8f732c64b44a228ba34e382ea" - ], - [ - "FStar.Monotonic.Heap.lemma_alloc_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.alloc", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "int_typing", - "interpretation_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_mm", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.alloc", - "typing_FStar.Monotonic.Heap.contains_bool", "typing_Prims.int", - "typing_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "19c60537054700e768e63442ae8056cb" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "int_inversion", - "int_typing", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.FunctionalExtensionality.on_domain", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.is_mm", "typing_Prims.int", - "typing_Tm_abs_1742ec2075befce5308b38a213860328", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "3fe5f9ac3f499af5f9b6e39bf1482948" - ], - [ - "FStar.Monotonic.Heap.lemma_alloc_fresh_test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.alloc", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.alloc", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Set.empty", "typing_FStar.Set.mem", "typing_Prims.int", - "typing_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "faab1cf646dec13c51e276f87269adb6" - ], - [ - "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - 1, - 2, - 1, - [ "@query" ], - 0, - "8e2d1488a7f46683d02931cde30781b4" - ], - [ - "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - 2, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.Heap.unused_in" ], - 0, - "5644cd35a8aacee7726a87bed05d568c" - ], - [ - "FStar.Monotonic.Heap.lemma_contains_implies_used", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "29f5af39ab3f443f8f4fcf5d101f92e5" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0ed7544ee91002a661862c13dfe426b1" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "l_and-interp", "projection_inverse_BoxBool_proj_0" - ], - 0, - "cf56368d1cac70887ed32f4aeb29cb91" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c263149dda6872c9a03346b40c2ecec8" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 2, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", "l_and-interp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2872e04f221756620beb54b03fd31fc5" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8b9e715eeb18d008a415986ca489e445" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.is_mm", "l_and-interp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.Heap.is_mm" - ], - 0, - "169a011f73e35505b1da12a647ceda4e" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cd61d5db19fefd23cb00f53cba1f49de" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.mref", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr" - ], - 0, - "64004cd01d8786b800fd6b13da90295a" - ], - [ - "FStar.Monotonic.Heap.lemma_alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.alloc", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.next_addr", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.equal_extensional", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_mm", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_Tm_abs_7a076f4822dadd5b1654fe76b1956461", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "45cd958b87d7b0da44b8517c5d3c0104" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff8b4e7c13c7c4e64daed3334fc7f04f" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.is_mm", - "typing_Tm_abs_1742ec2075befce5308b38a213860328", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "203e30a0794c4aa93c1e9ccc32593d80" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fd227be8570c25d1ef5748ddd4bd4022" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.is_mm", - "typing_Tm_abs_1742ec2075befce5308b38a213860328", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "8732f7f0f7216748a24cad8fabb26ac7" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4c366138312c713798154346eb4f138f" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_unused", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.is_mm", - "typing_Tm_abs_1742ec2075befce5308b38a213860328", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "50b4718d6f0b2aef7ddf3a9e757aa511" - ], - [ - "FStar.Monotonic.Heap.lemma_free_addr_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "58d9ed82667380eeb82908c21015d05c" - ], - [ - "FStar.Monotonic.Heap.lemma_free_addr_unused_in", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "int_inversion", - "interpretation_Tm_abs_1742ec2075befce5308b38a213860328", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_Tm_abs_1742ec2075befce5308b38a213860328", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "d5513df3c86e86b91f5722a44f10ceb9" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ffa59b95797571c879d764e3daafc912" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.is_mm" - ], - 0, - "a85baf8612e5729812276fd24239f6c7" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f151c92eec613f5e5139b305f236828c" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.eq2", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.is_mm", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "46c7f2ae244743b84f4aa5cae7d722be" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dbac783ecd2d0e31484cff36d79826ad" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "fda23c19be2f61112805e595017f3807" - ], - [ - "FStar.Monotonic.Heap.lemma_mref_injectivity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Heap.mref", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref" - ], - 0, - "a92df0e23d4207d6864a539a15ffad3c" - ], - [ - "FStar.Monotonic.Heap.lemma_in_dom_emp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.emp", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.emp", - "typing_Tm_abs_407c2d8bd469d2e8b01f9377d63a29f3", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "dca334cba8fe7ee867721736ddc63cb6" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "534bc9eef6c7291ccb9a31cc13246aad" - ], - [ - "FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", "int_inversion", - "int_typing", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "ff3911c3a6ea14c4d9ab78f8850cadb0" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fb3a5e2d672abdbee2c6917f57fe9578" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_contains", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "int_inversion", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "647fd019aa7557a95d8aa4542883eb69" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "febeefabdfbc5cf680edd3e25ba8520b" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "2acbda8636ce7eb819534745e86bf75c" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "50fffbf66c6e28075cff67331343c9e8" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_unused", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__next_addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Pervasives.Native.uu___is_None", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "1c8b28776c5d1fbe7d486623f13b7dce" - ], - [ - "FStar.Monotonic.Heap.lemma_contains_upd_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "58adaaca7288267c7b9e665a326932c5" - ], - [ - "FStar.Monotonic.Heap.lemma_contains_upd_modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.mem_singleton", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", "typing_FStar.Set.singleton", - "typing_Prims.int", "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "b3e991623e1bb7c0b65346768d49dab7" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "48784642dcd44cda542c6c2250c6f619" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.unused_in", - "equation_FStar.Monotonic.Heap.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "ed91207aa92e80cd219f0bf2aa8d4e27" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_equals_sel_tot_for_contained_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.sel", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "typing_FStar.Monotonic.Heap.contains_bool" - ], - 0, - "c3202577396d0f9aa10e4129c7858e9b" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_equals_upd_tot_for_contained_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_60a89cd0c268e7ce38a2aab467325fd8", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "typing_FStar.Monotonic.Heap.contains_bool" - ], - 0, - "fc0357350f8d3330a7d6e97b46ab1039" - ], - [ - "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "12ff6c37528b6cff40191d4319e4c663" - ], - [ - "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.set", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.TSet.lemma_mem_tset_of_set", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.__proj__Mkcore_mref__item__addr", - "typing_FStar.Monotonic.Heap.contains_bool", "typing_Prims.int" - ], - 0, - "770968ecb97b8e0910c380358debc2d4" - ], - [ - "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff71d25490383c49da8664f74d37e4db" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8c6a6b7508180687071aa5e154297a6e" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "7a3b6936fe95b2450bdd63ac3cfa89aa" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_cancel_same_mref_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.equal_extensional", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "8a01078ac61f9a8303416c2be85b7b81" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_79972cc120a10d787426a3533572eef6", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.sel", - "equation_FStar.Monotonic.Heap.sel_tot", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "equation_FStar.Preorder.preorder", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.equal_extensional", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "b9c7a6df5848614a4870ec2396356e6a" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_commute_distinct_upds", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_361dac8d4e19c219035040b4d653a421", - "FStar.Monotonic.Heap_interpretation_Tm_arrow_e214da407f361f6aa0144228799685d1", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkheap_rec", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.equal", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "interpretation_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "interpretation_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.Monotonic.Heap.equal_extensional", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_memory", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_memory", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_1c94f6350d1533eb239fb0df72e237a5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_kinding_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Monotonic.Heap.__proj__Mkheap_rec__item__memory", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.contains_bool", - "typing_FStar.Monotonic.Heap.upd", - "typing_Tm_abs_22cac29ca7534fe7d47eb03ed532f78d", - "typing_Tm_abs_b40d5e4053aba1f61e4a15fb15a93e84", - "typing_Tm_abs_b7e9cf99a07823f4e1e092f9185f4f08" - ], - 0, - "cbf30fa85cbf8f722fa6eed1506653b1" - ], - [ - "FStar.Monotonic.Heap.lemma_next_addr_upd_tot", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Heap.next_addr", - "equation_FStar.Monotonic.Heap.upd_tot", - "equation_FStar.Monotonic.Heap.upd_tot_", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" - ], - 0, - "094e8441fbabd46ede91575d56fb3471" - ], - [ - "FStar.Monotonic.Heap.lemma_next_addr_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.next_addr", - "equation_FStar.Monotonic.Heap.upd", - "equation_FStar.Monotonic.Heap.upd_tot_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" - ], - 0, - "2e5075e6cf4a4172d89cd965b03a4e32" - ], - [ - "FStar.Monotonic.Heap.lemma_next_addr_alloc", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Heap.alloc", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.next_addr", - "lemma_FStar.Monotonic.Heap.lemma_alloc", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "e50b454dec99982559bc6401ae90e6ac" - ], - [ - "FStar.Monotonic.Heap.lemma_next_addr_free_mm", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Heap.free_mm", - "equation_FStar.Monotonic.Heap.next_addr", - "proj_equation_FStar.Monotonic.Heap.Mkheap_rec_next_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkheap_rec_next_addr" - ], - 0, - "b162378d59e563adb2ef96525320587d" - ], - [ - "FStar.Monotonic.Heap.lemma_next_addr_contained_refs_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.Monotonic.Heap.Mkcore_mref", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.next_addr", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "l_and-interp", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "d93ebbeb64c5cbcffc5a3f8b44794e58" - ], - [ - "FStar.Monotonic.Heap.aref_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Heap.aref", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "578bdda523c039a5071919af52a87afd" - ], - [ - "FStar.Monotonic.Heap.addr_of_aref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "0f0b118f8fce6611a252a3b85484d776" - ], - [ - "FStar.Monotonic.Heap.addr_of_aref_of", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_of_aref", - "equation_FStar.Monotonic.Heap.aref_of", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr" - ], - 0, - "8fdaab9fbaabddb5371d2b26e8112393" - ], - [ - "FStar.Monotonic.Heap.is_mm_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Heap.aref_is_mm", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.is_mm", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_mm" - ], - 0, - "ca189cce9a7bfa37c216014b562330be" - ], - [ - "FStar.Monotonic.Heap.aref_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "2fb1dd3419fe502908e942021bbea973" - ], - [ - "FStar.Monotonic.Heap.unused_in_aref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.aref_unused_in", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.Heap.addr_of" - ], - 0, - "559ecb7825df482688c7695d9c4a583b" - ], - [ - "FStar.Monotonic.Heap.contains_aref_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "872661057aa9d4ea2f34d56bc879ad33" - ], - [ - "FStar.Monotonic.Heap.contains_aref_unused_in", - 2, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_of_aref", - "equation_FStar.Monotonic.Heap.aref_unused_in", - "equation_FStar.Monotonic.Heap.contains", "l_and-interp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "663981456010660af12654e2475ffd28" - ], - [ - "FStar.Monotonic.Heap.aref_live_at", - 1, - 2, - 1, - [ "@query" ], - 0, - "4ad028f9971eb907fbc396414bd4bee9" - ], - [ - "FStar.Monotonic.Heap.ref_of'", - 1, - 2, - 1, - [ - "@query", "b2t_def", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.mref", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "81549f06aee626cad540ee197f01806a" - ], - [ - "FStar.Monotonic.Heap.gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_08e8a9b37500200112a556724b6caac2", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" - ], - 0, - "0bd418bff26250d9af01673f54c9802e" - ], - [ - "FStar.Monotonic.Heap.ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "c6a890b8f04ff50b7795dd515ab2b5f2" - ], - [ - "FStar.Monotonic.Heap.ref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_is_mm", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.gref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_mm", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", - "typing_FStar.Monotonic.Heap.gref_of" - ], - 0, - "2d3b77dd7b90308efe8d7d61ff6829bd" - ], - [ - "FStar.Monotonic.Heap.aref_live_at_aref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_mm", - "typing_FStar.Monotonic.Heap.aref_of" - ], - 0, - "4113916e43fe6a7bf2b6f603aa1d49e0" - ], - [ - "FStar.Monotonic.Heap.contains_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_FStar.Monotonic.Heap.Mkaref_", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.gref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_mm", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", - "typing_FStar.Monotonic.Heap.gref_of" - ], - 0, - "99fe93a3072036d4ae806ecb4419afe9" - ], - [ - "FStar.Monotonic.Heap.aref_of_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.gref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_mm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_mm", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", - "typing_FStar.Monotonic.Heap.gref_of" - ], - 0, - "02a1713c9f021ae45fca9ac4066d4da9" - ], - [ - "FStar.Monotonic.Heap.addr_of_gref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "e6400800af5f21934a63fde15fe0f8e2" - ], - [ - "FStar.Monotonic.Heap.addr_of_gref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.addr_of_aref", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" - ], - 0, - "6e1019e31e4263f252e9abe049b7fe60" - ], - [ - "FStar.Monotonic.Heap.is_mm_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_is_mm", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.aref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_mm", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" - ], - 0, - "c15af1c89951b8a1bbf02f24825babf6" - ], - [ - "FStar.Monotonic.Heap.unused_in_gref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.addr_unused_in", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.aref_unused_in", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "function_token_typing_Prims.__cache_version_number__", - "l_and-interp", "lemma_FStar.Monotonic.Heap.aref_of_gref_of", - "lemma_FStar.Monotonic.Heap.contains_gref_of", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkaref__a_addr", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42" - ], - 0, - "bd56b1269f411256a803b45ea4b5d554" - ], - [ - "FStar.Monotonic.Heap.sel_ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "1aef56d68aea30831fe6dd98a558fe9e" - ], - [ - "FStar.Monotonic.Heap.sel_ref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.aref", - "equation_FStar.Monotonic.Heap.aref_is_mm", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.gref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.ref_of", - "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", "equation_Prims.l_and", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.aref_", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.Monotonic.Heap.contains_gref_of", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "refinement_interpretation_Tm_refine_e9f69f18eb8d91697e49057991573e9f", - "refinement_interpretation_Tm_refine_f871b1cec1676516ecbdd8b1fdf16da7", - "typing_FStar.Monotonic.Heap.gref_of", - "typing_FStar.Monotonic.Heap.ref_of" - ], - 0, - "1f2ef11eea58d405565242a7e3b992e9" - ], - [ - "FStar.Monotonic.Heap.upd_ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "e781548df83623a108f4b2e3bcc9de2b" - ], - [ - "FStar.Monotonic.Heap.upd_ref_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "disc_equation_FStar.Pervasives.Native.Some", - "eq2-interp", "equation_FStar.Monotonic.Heap.addr_of", - "equation_FStar.Monotonic.Heap.aref_is_mm", - "equation_FStar.Monotonic.Heap.aref_live_at", - "equation_FStar.Monotonic.Heap.contains", - "equation_FStar.Monotonic.Heap.gref_of", - "equation_FStar.Monotonic.Heap.heap", - "equation_FStar.Monotonic.Heap.is_mm", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.Heap.ref_of", - "equation_FStar.Monotonic.Heap.ref_of_", - "equation_FStar.Preorder.preorder", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.Heap.core_mref", - "fuel_guarded_inversion_FStar.Monotonic.Heap.heap_rec", - "l_and-interp", "lemma_FStar.Monotonic.Heap.contains_gref_of", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.Heap.Mkaref__a_addr", - "proj_equation_FStar.Monotonic.Heap.Mkcore_mref_addr", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.Heap.Mkcore_mref_addr", - "refinement_interpretation_Tm_refine_9b2fc6a53510eb0ef7097a44410a8f42", - "typing_FStar.Monotonic.Heap.is_mm" - ], - 0, - "36020fbb520a603cab68bfc0b82bf132" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Heap.fsti.hints b/ulib/.hints/FStar.Monotonic.Heap.fsti.hints deleted file mode 100644 index 6a9ce443f27..00000000000 --- a/ulib/.hints/FStar.Monotonic.Heap.fsti.hints +++ /dev/null @@ -1,485 +0,0 @@ -[ - "—]–5•rÑë!¥}o\u0000K.«", - [ - [ - "FStar.Monotonic.Heap.compare_addrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "76818a298b5a4bebc952ada39471459c" - ], - [ - "FStar.Monotonic.Heap.only_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "950b4dccfd2481560043b8525b054d29" - ], - [ - "FStar.Monotonic.Heap.only", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7f5d251b94434b92ef53d43fe20f4f8a" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b33d58df75f9152a48ce5b8c79276117" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Plus", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d85653d125be056324544258f6358421" - ], - [ - "FStar.Monotonic.Heap.op_Plus_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ab02cdd7854c67b410144eda528b3b49" - ], - [ - "FStar.Monotonic.Heap.op_Plus_Plus_Hat", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ff71d25490383c49da8664f74d37e4db" - ], - [ - "FStar.Monotonic.Heap.op_Hat_Plus_Hat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "edf30eb38e2dc2e0d85b0ebbfcd04a65" - ], - [ - "FStar.Monotonic.Heap.modifies_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "0792ae9ba789f88ea2c856ab19e9aa49" - ], - [ - "FStar.Monotonic.Heap.modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8ae5bb5e508db15efc7a355b48c8fcb7" - ], - [ - "FStar.Monotonic.Heap.modifies", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6d1112cd50ae1977c04296c6cec7331e" - ], - [ - "FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - 1, - 2, - 1, - [ "@query" ], - 0, - "5494a7baba9a5772fd7eceeb75c2ced9" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7f03856b9b971455b46d503831c8a3dc" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_preorders", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c263149dda6872c9a03346b40c2ecec8" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "493ba55015f13fb2b4e167f6904b0a50" - ], - [ - "FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cd61d5db19fefd23cb00f53cba1f49de" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c096b016b581de67f48a64c604686622" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fd227be8570c25d1ef5748ddd4bd4022" - ], - [ - "FStar.Monotonic.Heap.lemma_free_mm_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f9c2a7ed40ca534b84d03d06e661a339" - ], - [ - "FStar.Monotonic.Heap.lemma_free_addr_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "043d04d112d015ec822e8e68cd70139f" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "33b58a5893388cd57e69c4fc77dbf5bb" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f151c92eec613f5e5139b305f236828c" - ], - [ - "FStar.Monotonic.Heap.lemma_sel_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dbac783ecd2d0e31484cff36d79826ad" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8b4cdc030424b7952fe557d9196b7b6d" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_contains_different_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "febeefabdfbc5cf680edd3e25ba8520b" - ], - [ - "FStar.Monotonic.Heap.lemma_upd_unused", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "50fffbf66c6e28075cff67331343c9e8" - ], - [ - "FStar.Monotonic.Heap.lemma_contains_upd_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "58adaaca7288267c7b9e665a326932c5" - ], - [ - "FStar.Monotonic.Heap.lemma_unused_upd_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "48784642dcd44cda542c6c2250c6f619" - ], - [ - "FStar.Monotonic.Heap.lemma_modifies_and_equal_dom_sel_diff_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "46b4629c70f0e21f622cc9d059b5e0be" - ], - [ - "FStar.Monotonic.Heap.lemma_heap_equality_upd_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8c6a6b7508180687071aa5e154297a6e" - ], - [ - "FStar.Monotonic.Heap.addr_of_aref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "10c853e4acf54ddbcc0d284eccb0257b" - ], - [ - "FStar.Monotonic.Heap.contains_aref_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "1293f5e21251e2deb3e0c04c2683a5d1" - ], - [ - "FStar.Monotonic.Heap.ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "60b9b440c57288376bfce6f7b8e1d637" - ], - [ - "FStar.Monotonic.Heap.addr_of_gref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "5f6053d6ee6c4052f8a07385b829d429" - ], - [ - "FStar.Monotonic.Heap.sel_ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "86d74e4e0e51b8f0df9cd0e940d436d3" - ], - [ - "FStar.Monotonic.Heap.upd_ref_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "7fc58d457e99760ac334c0b75f2f459d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.HyperHeap.fst.hints b/ulib/.hints/FStar.Monotonic.HyperHeap.fst.hints deleted file mode 100644 index f9638499484..00000000000 --- a/ulib/.hints/FStar.Monotonic.HyperHeap.fst.hints +++ /dev/null @@ -1,1288 +0,0 @@ -[ - "_â00\u0004­\u0015\u0006+—¸\u0016®©\bœ", - [ - [ - "FStar.Monotonic.HyperHeap.rid", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Monotonic.HyperHeap.HasEq_rid" ], - 0, - "ae220470eacdbd96fae42c78a5065dfe" - ], - [ - "FStar.Monotonic.HyperHeap.rid_last_component", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "5bc7fc570b9f14bce38792d272d53e61" - ], - [ - "FStar.Monotonic.HyperHeap.color", - 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, - "774e68f9459437a453b6832aa693db71" - ], - [ - "FStar.Monotonic.HyperHeap.rid_freeable", - 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, - "8249ffbf6c165d09a40ab18479b013ed" - ], - [ - "FStar.Monotonic.HyperHeap.root", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.HyperHeap.color", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_freeable", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Ghost.hide", "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_Prims.bool", "typing_Prims.int", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "0fe6f58b6c20c0df838444b812ff1042" - ], - [ - "FStar.Monotonic.HyperHeap.root_last_component", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Equality", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.root", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "34e3a1d995b37bda38d9f2d1a18b44bc" - ], - [ - "FStar.Monotonic.HyperHeap.root_has_color_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.color", - "equation_FStar.Monotonic.HyperHeap.root", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "251e31af1b0f54e3b96be7c380efd238" - ], - [ - "FStar.Monotonic.HyperHeap.root_is_not_freeable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.root", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "bc60e064d09df7851b1ae584e796b6c1" - ], - [ - "FStar.Monotonic.HyperHeap.rid_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "c7a941d80b5ab83d180fa6cbf01e9890" - ], - [ - "FStar.Monotonic.HyperHeap.includes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__proj__Cons__item__tl", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "primitive_Prims.op_GreaterThan", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "ef0fe03b857da8007763118e612d2f3e" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__proj__Cons__item__tl", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_FStar.Monotonic.HyperHeap.rid_tail", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd", - "well-founded-ordering-on-nat" - ], - 0, - "ddb5040b5b2da05461c33b575d9892e0" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_aux", - 2, - 2, - 1, - [ "@query" ], - 0, - "7a163744788fe910794a5c1742c4e1a7" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_2", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__proj__Cons__item__tl", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "326f633ce9122d89c0a051f677ded9d0" - ], - [ - "FStar.Monotonic.HyperHeap.extends", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "9bf0a490c538b810eba83cb799bcf936" - ], - [ - "FStar.Monotonic.HyperHeap.parent", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "970a08970ab2247180520a0d98e880fc" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_includes_refl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "equation_FStar.Monotonic.HyperHeap.rid", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "ed09fd5a23e7f39ed69cf725a8e23fcd" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_includes", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__proj__Cons__item__tl", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "c42442236f93e8a6f6af22ca3ef09566" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "bool_inversion", "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.HyperHeap.includes" - ], - 0, - "9b56a1998189d81ae5beec0d7fbca24b" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_disjoint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes" - ], - 0, - "dca3ea4c3e74885da39f406c42755eab" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_parent", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.parent", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "988f1ce47ef026a3a8859bfa651600d4" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_not_root", - 1, - 2, - 1, - [ "@query" ], - 0, - "75b918c180f3ffea47c1dbea7fdbe1b3" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_not_root", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_FStar.Ghost.reveal", "typing_Prims.bool", "typing_Prims.int", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "71785d07fd0dd61f7b37d5e197a9da29" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], - 0, - "cfaf2adafc976331e909da6378325a8d" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.parent", - "equation_FStar.Monotonic.HyperHeap.rid", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a" - ], - 0, - "57e88a1cd761ab711cf184a510f4eb3f" - ], - [ - "FStar.Monotonic.HyperHeap.test0", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "bool_typing", "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__proj__Cons__item__tl", "int_typing", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.List.Tot.Properties.map_lemma", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.hide", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_tail", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "6631ccfc781d3067574ca13f281f4c80" - ], - [ - "FStar.Monotonic.HyperHeap.test1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple3@tok", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__proj__Cons__item__tl", "int_typing", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.List.Tot.Properties.map_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_98457d473ebc71df94318517ef9948a8", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.hide", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_tail", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "bb215561855362c0062c52beb9d57fc9" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.union" - ], - 0, - "0f99a42b94cfd3d36edd706e2ae7d686" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.mod_set", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.mem" - ], - 0, - "5380315dd6d2739038ebb3677f5075d6" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_includes_trans", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_0", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_1", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_2", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.__proj__Cons__item__tl", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_085b55aa6b726cf07dbab52057ffb51c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_FStar.Monotonic.HyperHeap.rid_tail", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "a772aefb8f789a1f15b0b519b0a179a7" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modset", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperHeap.mod_set", - "equation_FStar.Monotonic.HyperHeap.rid", "equation_FStar.Set.subset" - ], - 0, - "a00ac2c139030edab2a5393bd5a3cbd4" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_includes", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperHeap.mod_set", - "equation_FStar.Monotonic.HyperHeap.modifies" - ], - 0, - "bc7ac92c5f354441aa10b932f7d1dd8e" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_includes2", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperHeap.mod_set", - "equation_FStar.Monotonic.HyperHeap.modifies" - ], - 0, - "e627b73d997591a69c299feec92b5da9" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_disjoint_parents", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_trans", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes" - ], - 0, - "128f1f68347198baa96b9de1114219d2" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_include_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_length", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "6adbf446e1dc6c74cb7961ff861b981c" - ], - [ - "FStar.Monotonic.HyperHeap.extends_parent", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.parent", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.parent" - ], - 0, - "679ca33491565929504dae20824b72e6" - ], - [ - "FStar.Monotonic.HyperHeap.includes_child", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.parent", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "token_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.parent" - ], - 0, - "627ae623d1463b2d61e698d37d3dff22" - ], - [ - "FStar.Monotonic.HyperHeap.root_is_root", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_freeable", - "equation_FStar.Monotonic.HyperHeap.rid_length", - "equation_FStar.Monotonic.HyperHeap.root", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Monotonic.HyperHeap.includes.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.rid_length", - "typing_FStar.Monotonic.HyperHeap.root", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "06bf013080b8813ba621b05cf811446b" - ], - [ - "FStar.Monotonic.HyperHeap.extend_post", - 1, - 2, - 1, - [ "@query" ], - 0, - "4b9caeea92ca47d93e15dda06f729efc" - ], - [ - "FStar.Monotonic.HyperHeap.extend", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.color", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_freeable", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.__proj__Cons__item__tl", - "int_inversion", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "interpretation_Tm_abs_d4b9974b4509a8834134802982063acd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_4f683dd9f8d9474125fdf1062a765962", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "f3c304438049ff520a209e1a00a95164" - ], - [ - "FStar.Monotonic.HyperHeap.extend_monochrome_freeable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Ghost_interpretation_Tm_ghost_arrow_8f538917cb02d75c44bfd86ed6834262", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_0c48cbf82a25e11ff2826a78dc65c002", - "FStar.Monotonic.HyperHeap_interpretation_Tm_arrow_97c9f1942e970aed9c7ff96fd0295522", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_4e740085106d54d8b48ffe3c6c20ef21", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Ghost.tot_to_gtot", - "equation_FStar.Monotonic.HyperHeap.color", - "equation_FStar.Monotonic.HyperHeap.extends", - "equation_FStar.Monotonic.HyperHeap.reveal", - "equation_FStar.Monotonic.HyperHeap.rid", - "equation_FStar.Monotonic.HyperHeap.rid_freeable", - "equation_FStar.Monotonic.HyperHeap.rid_tail", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.__proj__Cons__item__tl", - "int_inversion", - "interpretation_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "interpretation_Tm_abs_d4b9974b4509a8834134802982063acd", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Ghost.hide_reveal", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "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.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4861ff30b18822886452f698558931e8", - "refinement_interpretation_Tm_refine_785b445c1ccb59eaa8c666ff5bddec28", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9f8cb5a84b67f50c9d5f87a914037545", - "refinement_interpretation_Tm_refine_b9eb3b9608726ada9b8b0e2c0c9e02bf", - "token_correspondence_FStar.Ghost.tot_to_gtot", - "token_correspondence_Prims.__proj__Cons__item__tl", - "typing_FStar.Ghost.elift1_p", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.reveal", "typing_Prims.bool", - "typing_Prims.int", "typing_Tm_abs_0a45dbf3f4cfd679f12a44fa0f2b0023", - "typing_Tm_abs_d4b9974b4509a8834134802982063acd" - ], - 0, - "38a0bdefd84eaa0874705bb845dd527d" - ], - [ - "FStar.Monotonic.HyperHeap.extend_monochrome", - 1, - 2, - 1, - [ "@query" ], - 0, - "11f55925f0a87d53cc5e124d26cde06d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.HyperHeap.fsti.hints b/ulib/.hints/FStar.Monotonic.HyperHeap.fsti.hints deleted file mode 100644 index d63159ad287..00000000000 --- a/ulib/.hints/FStar.Monotonic.HyperHeap.fsti.hints +++ /dev/null @@ -1,127 +0,0 @@ -[ - "‰RTÏB±\u0018`®Ñ…J\u0016¢\u001er", - [ - [ - "FStar.Monotonic.HyperHeap.rid_last_component", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "80d1152e07b3e3f1f4b316e5743b074b" - ], - [ - "FStar.Monotonic.HyperHeap.root_has_color_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.root" - ], - 0, - "a75e88e90f845becd31f8a5c0a2a1fa8" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_not_root", - 1, - 2, - 1, - [ "@query" ], - 0, - "03540fe22e5d7c35b3de56d457704009" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root" ], - 0, - "cfaf2adafc976331e909da6378325a8d" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_just_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.union" - ], - 0, - "1a7de78b2af7e1b1f2e249de23659e63" - ], - [ - "FStar.Monotonic.HyperHeap.lemma_modifies_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Set.subset", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Map.concat", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.union" - ], - 0, - "a799d2b072ec7a559f24015424b586d5" - ], - [ - "FStar.Monotonic.HyperHeap.extend_post", - 1, - 2, - 1, - [ "@query" ], - 0, - "c46aa78b427f282b918339109505c633" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.HyperStack.fst.hints b/ulib/.hints/FStar.Monotonic.HyperStack.fst.hints deleted file mode 100644 index a3b38984ab6..00000000000 --- a/ulib/.hints/FStar.Monotonic.HyperStack.fst.hints +++ /dev/null @@ -1,2253 +0,0 @@ -[ - "¾\u0011£\t¥a\r?§\u0012ô?ù\u0007Ä", - [ - [ - "FStar.Monotonic.HyperStack.lemma_mk_mem'_projectors", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.mk_mem", "int_inversion", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_rid_ctr", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_rid_ctr", - "projection_inverse_FStar.Monotonic.HyperStack.HS_tip" - ], - 0, - "aa183d11894b200fd99c0a65d6aa3ff6" - ], - [ - "FStar.Monotonic.HyperStack.lemma_mem_projectors_are_in_wf_relation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "1a2a19185b0181017fe95d7546688f11" - ], - [ - "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.tip_top", "int_inversion", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf" - ], - 0, - "85fab6372277deb31fe9386ce3bd5248" - ], - [ - "FStar.Monotonic.HyperStack.lemma_is_wf_ctr_and_tip_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.tip_top", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "be6b79c9ae93e2baf5a184fb369361a2" - ], - [ - "FStar.Monotonic.HyperStack.lemma_map_invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "c433c3cca504b3d04a854dbbbbb9cf07" - ], - [ - "FStar.Monotonic.HyperStack.lemma_downward_closed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "4759ff1a1cc5e03ffd0b93edccd990de" - ], - [ - "FStar.Monotonic.HyperStack.lemma_tip_top", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" - ], - 0, - "1b66a71c29c160a41341e79c5a0c7750" - ], - [ - "FStar.Monotonic.HyperStack.lemma_tip_top_smt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip" - ], - 0, - "cac44b1dd45f89f9552c6c8576e81177" - ], - [ - "FStar.Monotonic.HyperStack.lemma_rid_ctr_pred", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "94e9c50c01917d9a6007a27b8352985b" - ], - [ - "FStar.Monotonic.HyperStack.empty_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.sid", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.root_is_root", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.const", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.empty", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "3903f1325e48fa9befd13e8bcf587166" - ], - [ - "FStar.Monotonic.HyperStack.heap_region_does_not_overlap_with_tip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "int_inversion", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_da35f4aedd77e2a9affb40618d9616ed", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region" - ], - 0, - "f19e5edec3ae669f9911d3d44b917cbf" - ], - [ - "FStar.Monotonic.HyperStack.popped", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], - 0, - "cb8ed77df1fb3667febbc1f94d0dff2b" - ], - [ - "FStar.Monotonic.HyperStack.pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "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.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "function_token_typing_Prims.__cache_version_number__", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.parent", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "48ecb71c4ec51e896a352279f1458e89" - ], - [ - "FStar.Monotonic.HyperStack.lemma_as_ref_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mk_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref" - ], - 0, - "e56b18b566bb922bb6175679444ca83c" - ], - [ - "FStar.Monotonic.HyperStack.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "11e949914315b36240d631c4559dd18e" - ], - [ - "FStar.Monotonic.HyperStack.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mreference", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_ad20a5ca24eede13005e3284b6c2d373", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "dc667507e45433ffcaf1a0f35a49a8ed" - ], - [ - "FStar.Monotonic.HyperStack.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_548ef817ca26695e20678a9213795842", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "c4431d919a0775a63c248b2396946e44" - ], - [ - "FStar.Monotonic.HyperStack.upd_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "b8c3995d0111661779ccdc5c02dbf448" - ], - [ - "FStar.Monotonic.HyperStack.sel_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7" - ], - 0, - "3dc76bc3cf05cb5fc7518c022de89528" - ], - [ - "FStar.Monotonic.HyperStack.fresh_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "4b01a689b8b4e091903e3f3ff6f9b2f0" - ], - [ - "FStar.Monotonic.HyperStack.hs_push_frame", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "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.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_trans", - "lemma_FStar.Monotonic.HyperHeap.root_is_root", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "315d882bbd631a1c415e84ae9ad3a79e" - ], - [ - "FStar.Monotonic.HyperStack.new_eternal_region", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "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.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_elim", "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_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70adfa3d90da23bbd361e2fc8530de01", - "refinement_interpretation_Tm_refine_a699e8f550698e7794f1eae9aa746fed", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_e033ceacea9c846f5627c822e84f9414", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extend", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "554054ab93f4e06f992132a367ea090a" - ], - [ - "FStar.Monotonic.HyperStack.new_eternal_region", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4f46533aefd2e3b0d0ec37f0d980c665" - ], - [ - "FStar.Monotonic.HyperStack.new_freeable_heap_region", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70adfa3d90da23bbd361e2fc8530de01", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "347e901db72bb32cddccc82c23b413b4" - ], - [ - "FStar.Monotonic.HyperStack.free_heap_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "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.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.rid_ctr_pred", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", "int_inversion", - "l_quant_interp_3d192d916fc3102077d0769fc490af19", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4c7fb9b4fa48e3fdc90fc02ede2b941d", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton" - ], - 0, - "e0a5670649e46c0d534a5f64902b600c" - ], - [ - "FStar.Monotonic.HyperStack.lemma_extends_fresh_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "typing_FStar.Monotonic.HyperHeap.includes" - ], - 0, - "734fd02430d76a8b1e1dec91b45463d9" - ], - [ - "FStar.Monotonic.HyperStack.lemma_sel_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0c2d5100e63080ba403b45b2eb3cf2d5" - ], - [ - "FStar.Monotonic.HyperStack.lemma_sel_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "030883061eefa2289a03a3929e4dee72" - ], - [ - "FStar.Monotonic.HyperStack.lemma_upd_same_addr", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.contains" ], - 0, - "7a6b5871ab02b463185fcbb6bc7a0425" - ], - [ - "FStar.Monotonic.HyperStack.lemma_upd_same_addr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_c736affd63917f0f3425300e95ec26ab" - ], - 0, - "f643e2b81df4d3d0becf53682634a263" - ], - [ - "FStar.Monotonic.HyperStack.mreference_distinct_sel_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "93f81fe703adfe8d1ec73baac9309e8e" - ], - [ - "FStar.Monotonic.HyperStack.lemma_pop_is_popped", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_intersect", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.parent", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.pop", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton" - ], - 0, - "8b23ee71058b773980da33b0eac26981" - ], - [ - "FStar.Monotonic.HyperStack.modifies_drop_tip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "90f96dff6ca6fc53523c754040654f5c" - ], - [ - "FStar.Monotonic.HyperStack.modifies_drop_tip", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.map_invariant", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.modifies_transitively", - "equation_FStar.Monotonic.HyperStack.pop", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", - "equation_FStar.Set.subset", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "l_quant_interp_5cf1ca6507c6b6a018afbc6dc16cc72c", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.mem_complement", "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.Monotonic.HyperStack.HS_h", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.pop", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "2a770e760bd4625766af5ff5f4cca4da" - ], - [ - "FStar.Monotonic.HyperStack.modifies_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ea0097ce862175785b04c79bc5d3bdec" - ], - [ - "FStar.Monotonic.HyperStack.regions_of_some_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6b1fa44065b95e63799fbb4bc4e5c621" - ], - [ - "FStar.Monotonic.HyperStack.refs_in_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "e77f2a1ae14b1cd7a78542fdca4122cb" - ], - [ - "FStar.Monotonic.HyperStack.refs_in_region", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e65fa36124f6433fade66552f8d8a2f6" - ], - [ - "FStar.Monotonic.HyperStack.modifies_some_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c89f5a2a214ab321f018253cbf606b7a" - ], - [ - "FStar.Monotonic.HyperStack.eternal_disjoint_from_tip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.downward_closed", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Monotonic.HyperStack.tip_top", "int_inversion", - "l_quant_interp_c3bafc4c1f0d8502c33f7ed21031ce11", - "l_quant_interp_ea6ddcc3aa1d24b4d71ebac275bf2dbf", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_228f04a39a418f0ce243655814098ffa", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_a2f733cf289240b57f22ad12149e7e46", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color" - ], - 0, - "6e3d6b49cec644be167805bf4e3e9a0c" - ], - [ - "FStar.Monotonic.HyperStack.above_tip_is_live", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__tip", - "typing_FStar.Monotonic.HyperStack.frameOf" - ], - 0, - "2a4f4dd4c02cbca72f2ba53003c0d89a" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_InDomUpd1", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "3f112cfc5744983e906a9ffa16dead8b" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_rid_ctr", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_rid_ctr", - "projection_inverse_FStar.Monotonic.HyperStack.HS_tip", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "32ea4d37fa4364308f628f6976b2a02b" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "52b1af34aa6769970e20e6a0aae42faf" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_rid_ctr", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "9d99f87a12f9309c70fe0453419a7795" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_InDomUpd1", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_219784b61a581d285aba72199644d83c", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "f515d5240a9e50819fcefd2ccf282ad7" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_elim", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "proj_equation_FStar.Monotonic.HyperStack.HS_rid_ctr", - "proj_equation_FStar.Monotonic.HyperStack.HS_tip", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_FStar.Monotonic.HyperStack.HS_rid_ctr", - "projection_inverse_FStar.Monotonic.HyperStack.HS_tip", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "695badcda2ab823baf9f2940fd92de13" - ], - [ - "FStar.Monotonic.HyperStack.lemma_next_addr_contained_refs_addr", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains" - ], - 0, - "d40a21def11abf8d6ecfaef245da4f17" - ], - [ - "FStar.Monotonic.HyperStack.lemma_upd_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_aa3b9d0ba0ea17963b18e678ddb67051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "37a7fa1af2ef2600752199333bd90d86" - ], - [ - "FStar.Monotonic.HyperStack.lemma_upd_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_rid_ctr", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.HS_h", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.HS_h", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a462652c5ea74b5afc59f22b8ba4aab5", - "refinement_interpretation_Tm_refine_aa3b9d0ba0ea17963b18e678ddb67051", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "43818441ff6c64c1159802f733caefd0" - ], - [ - "FStar.Monotonic.HyperStack.lemma_live_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.lemma_mref_injectivity", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_e1adf49e5e772ddffa19181e1a812a81", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "e76d0871cdd5e94f7f8da8b8a9b75836" - ], - [ - "FStar.Monotonic.HyperStack.aref_equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "typing_FStar.Monotonic.Heap.aref_equal", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref" - ], - 0, - "be07c4b17042ca5dd7023cb737a9e3d5" - ], - [ - "FStar.Monotonic.HyperStack.frameOf_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.frameOf_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region" - ], - 0, - "c795a619cfbf8f0664db8ef299781506" - ], - [ - "FStar.Monotonic.HyperStack.aref_as_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "76348a99a7719b23044f25551dfb1a76" - ], - [ - "FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.aref_as_addr", - "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" - ], - 0, - "66de3dec4173d85d8d82d78d4302b1ca" - ], - [ - "FStar.Monotonic.HyperStack.is_mm_aref_of", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.aref_is_mm", - "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref" - ], - 0, - "9d211abaa071852894f2a808441011c9" - ], - [ - "FStar.Monotonic.HyperStack.unused_in_aref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.aref_unused_in", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "5de663b0909d319df59a6ded28defe78" - ], - [ - "FStar.Monotonic.HyperStack.contains_aref_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "49c83c58ed8db72b1adf6b1624c7eb43" - ], - [ - "FStar.Monotonic.HyperStack.contains_aref_unused_in", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.aref_as_addr", - "equation_FStar.Monotonic.HyperStack.aref_unused_in", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.frameOf_aref", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "640d8d40e81e9be28ce17d13ca339a4d" - ], - [ - "FStar.Monotonic.HyperStack.greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "a38e9f85e8bb869daf6315471c718b36" - ], - [ - "FStar.Monotonic.HyperStack.reference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_as_addr", - "equation_FStar.Monotonic.HyperStack.aref_is_mm", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.frameOf_aref", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "lemma_FStar.Monotonic.Heap.addr_of_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "7e2c3ee21a149334f286b9874accec19" - ], - [ - "FStar.Monotonic.HyperStack.aref_live_at_aref_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.get_tip", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.aref_live_at_aref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_aref", - "projection_inverse_FStar.Monotonic.HyperStack.ARef_aref_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "95cd83d3caa9b79fb1b66cb1b10a97a1" - ], - [ - "FStar.Monotonic.HyperStack.contains_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.Heap.contains_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "03d3285f536a0128d94489c54546c92a" - ], - [ - "FStar.Monotonic.HyperStack.aref_of_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.aref_of", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.Heap.aref_of_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "74bb97c20c28c5df5be987b28a6ec519" - ], - [ - "FStar.Monotonic.HyperStack.frameOf_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.frameOf_aref", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "b2eca242008be894a006ae614ae51993" - ], - [ - "FStar.Monotonic.HyperStack.as_addr_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_as_addr", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.Heap.addr_of_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "523fcaae2236340ff3ab96db6e721892" - ], - [ - "FStar.Monotonic.HyperStack.is_mm_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_is_mm", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.Heap.is_mm_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "0fc97424ca63457a8d50406351479d77" - ], - [ - "FStar.Monotonic.HyperStack.unused_in_greference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.aref_unused_in", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.greference_of", - "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.unused_in", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "lemma_FStar.Monotonic.Heap.unused_in_gref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "ed766999ee72cd8e1f72db697d131cbe" - ], - [ - "FStar.Monotonic.HyperStack.sel_reference_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "cc25b66b1946e7e2a425f21ba75602ef" - ], - [ - "FStar.Monotonic.HyperStack.sel_reference_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.reference_of", - "equation_FStar.Monotonic.HyperStack.sel", - "lemma_FStar.Monotonic.Heap.sel_ref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "76a59bf9c267865b3ed3e846c9effb35" - ], - [ - "FStar.Monotonic.HyperStack.upd_reference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.frameOf_aref", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.aref", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mem_", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "a6bdede78bf3fdf84dddda6bbc949ca1" - ], - [ - "FStar.Monotonic.HyperStack.upd_reference_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.aref_live_at", - "equation_FStar.Monotonic.HyperStack.as_ref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.get_hmap", - "equation_FStar.Monotonic.HyperStack.greference_of", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.reference_of", - "equation_FStar.Monotonic.HyperStack.upd", - "lemma_FStar.Monotonic.Heap.upd_ref_of", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_aref", - "proj_equation_FStar.Monotonic.HyperStack.ARef_aref_region", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_aref", - "typing_FStar.Monotonic.HyperStack.__proj__ARef__item__aref_region", - "typing_FStar.Monotonic.HyperStack.__proj__HS__item__h" - ], - 0, - "336ae7932f72cad7ced887c07fd6519c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.HyperStack.fsti.hints b/ulib/.hints/FStar.Monotonic.HyperStack.fsti.hints deleted file mode 100644 index 8185afa39f6..00000000000 --- a/ulib/.hints/FStar.Monotonic.HyperStack.fsti.hints +++ /dev/null @@ -1,813 +0,0 @@ -[ - "À\r;\u001fBBoþ¤ãpÎ\u007f³À", - [ - [ - "FStar.Monotonic.HyperStack.empty_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.sid", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.root_is_root", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.const", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.Set.empty", - "typing_FStar.Set.singleton", "typing_FStar.Set.union" - ], - 0, - "19cf9538c4605f587673c5230ec88d0f" - ], - [ - "FStar.Monotonic.HyperStack.heap_region_does_not_overlap_with_tip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "int_inversion", - "lemma_FStar.Monotonic.HyperStack.lemma_downward_closed", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_da35f4aedd77e2a9affb40618d9616ed", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_stack_region" - ], - 0, - "799c83cc93631f8d268386f8ca066ad9" - ], - [ - "FStar.Monotonic.HyperStack.popped", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.poppable" ], - 0, - "cb8ed77df1fb3667febbc1f94d0dff2b" - ], - [ - "FStar.Monotonic.HyperStack.pop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sid", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4a9f5a632ccb67c4adcfd65a1dab0c7c", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.parent", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "48ecb71c4ec51e896a352279f1458e89" - ], - [ - "FStar.Monotonic.HyperStack.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sid", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_d58d7e3b4b6ce757231e9089061120a0", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "2c7c7b50abead17d28b612777b1322d5" - ], - [ - "FStar.Monotonic.HyperStack.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mk_mreference", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_as_ref_inj", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Monotonic.HyperStack.MkRef_ref", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_ad20a5ca24eede13005e3284b6c2d373", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.mreference", - "typing_FStar.Pervasives.Native.fst" - ], - 0, - "dc667507e45433ffcaf1a0f35a49a8ed" - ], - [ - "FStar.Monotonic.HyperStack.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sid", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_548ef817ca26695e20678a9213795842", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.live_region" - ], - 0, - "c4431d919a0775a63c248b2396946e44" - ], - [ - "FStar.Monotonic.HyperStack.upd_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sid", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "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.live_region" - ], - 0, - "b8c3995d0111661779ccdc5c02dbf448" - ], - [ - "FStar.Monotonic.HyperStack.sel_tot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "refinement_interpretation_Tm_refine_778b19525c5cb6c7b65c06252db153f7" - ], - 0, - "3dc76bc3cf05cb5fc7518c022de89528" - ], - [ - "FStar.Monotonic.HyperStack.fresh_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "4b01a689b8b4e091903e3f3ff6f9b2f0" - ], - [ - "FStar.Monotonic.HyperStack.hs_push_frame", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_trans", - "lemma_FStar.Monotonic.HyperHeap.root_is_root", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_Prims.int" - ], - 0, - "315d882bbd631a1c415e84ae9ad3a79e" - ], - [ - "FStar.Monotonic.HyperStack.new_eternal_region", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_elim", "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_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70adfa3d90da23bbd361e2fc8530de01", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_e033ceacea9c846f5627c822e84f9414", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.is_stack_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "554054ab93f4e06f992132a367ea090a" - ], - [ - "FStar.Monotonic.HyperStack.new_eternal_region", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4f46533aefd2e3b0d0ec37f0d980c665" - ], - [ - "FStar.Monotonic.HyperStack.new_freeable_heap_region", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "bool_inversion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.rid_last_component", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sid", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_typing", "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "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_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_70adfa3d90da23bbd361e2fc8530de01", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.reveal", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "347e901db72bb32cddccc82c23b413b4" - ], - [ - "FStar.Monotonic.HyperStack.free_heap_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.remove_elt", - "equation_FStar.Monotonic.HyperStack.sid", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4c7fb9b4fa48e3fdc90fc02ede2b941d", - "refinement_interpretation_Tm_refine_c1ce603279aac7a7c378033ea416a653", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.restrict", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.remove_elt", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton" - ], - 0, - "e0a5670649e46c0d534a5f64902b600c" - ], - [ - "FStar.Monotonic.HyperStack.lemma_sel_same_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "71a6cd7f1b17e356b2dff3217e0d2923" - ], - [ - "FStar.Monotonic.HyperStack.lemma_upd_same_addr", - 1, - 2, - 1, - [ "@query", "equation_FStar.Monotonic.HyperStack.contains" ], - 0, - "7a6b5871ab02b463185fcbb6bc7a0425" - ], - [ - "FStar.Monotonic.HyperStack.modifies_drop_tip", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.poppable", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a" - ], - 0, - "a64df9eddb5749a78675065331739b17" - ], - [ - "FStar.Monotonic.HyperStack.modifies_ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ea0097ce862175785b04c79bc5d3bdec" - ], - [ - "FStar.Monotonic.HyperStack.regions_of_some_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "efc67a0483ea95e466623310f1b96fb2" - ], - [ - "FStar.Monotonic.HyperStack.refs_in_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "e77f2a1ae14b1cd7a78542fdca4122cb" - ], - [ - "FStar.Monotonic.HyperStack.refs_in_region", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e65fa36124f6433fade66552f8d8a2f6" - ], - [ - "FStar.Monotonic.HyperStack.modifies_some_refs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b62a8fb69f8641fe73541edf427ac159_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.some_refs", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c89f5a2a214ab321f018253cbf606b7a" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_cancel_same_mref_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "f2d2d0ad54e2e2db30116c274f7e3500" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "52b1af34aa6769970e20e6a0aae42faf" - ], - [ - "FStar.Monotonic.HyperStack.lemma_heap_equality_commute_distinct_upds", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.upd", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "lemma_FStar.Map.lemma_InDomUpd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_219784b61a581d285aba72199644d83c", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "f515d5240a9e50819fcefd2ccf282ad7" - ], - [ - "FStar.Monotonic.HyperStack.contains_aref_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ad88e599583a1f9deb562fd043dfe5c3" - ], - [ - "FStar.Monotonic.HyperStack.sel_reference_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "a553fdd1c310bc46f98b487349efdd6b" - ], - [ - "FStar.Monotonic.HyperStack.upd_reference_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of" - ], - 0, - "593daf978f34bc560424280b8b5d3e49" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Map.fst.hints b/ulib/.hints/FStar.Monotonic.Map.fst.hints deleted file mode 100644 index b10890c9192..00000000000 --- a/ulib/.hints/FStar.Monotonic.Map.fst.hints +++ /dev/null @@ -1,245 +0,0 @@ -[ - "¿%;U‡U\u000f´üþRÒÙ‰†", - [ - [ - "FStar.Monotonic.Map.upd", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c0e46063a7ab8ef00e4f5bba5aef88f2" - ], - [ - "FStar.Monotonic.Map.grows_aux", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Map.map", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", - "l_quant_interp_3439469e67c044de57ce8f8134ebf267" - ], - 0, - "0184d43f0793fb0424b6165e7cf10674" - ], - [ - "FStar.Monotonic.Map.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.Map.map", - "equation_FStar.Monotonic.Map.rid", "equation_FStar.Monotonic.Map.t", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_ff29b7a45b8f3430bb5eb44dab5f02d4" - ], - 0, - "e175e126dd15b39846e1df78378b3212" - ], - [ - "FStar.Monotonic.Map.contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "f8581f085c85fbb098a96d81a539e4d1" - ], - [ - "FStar.Monotonic.Map.value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.Map.contains", - "equation_FStar.Monotonic.Map.defined", - "equation_FStar.Monotonic.Map.map", "equation_FStar.Monotonic.Map.t", - "refinement_interpretation_Tm_refine_9b52d8df2db9a70aa4173c55ec4812eb", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "7630a1ce2eed312163df03a859dbcff8" - ], - [ - "FStar.Monotonic.Map.contains_stable", - 1, - 2, - 1, - [ - "@query", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Map.contains", - "equation_FStar.Monotonic.Map.grows_aux", - "equation_FStar.Monotonic.Map.sel", - "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", - "l_quant_interp_3439469e67c044de57ce8f8134ebf267", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.Monotonic.Map.grows" - ], - 0, - "7d9523be7277131fb94427a5d953e7f0" - ], - [ - "FStar.Monotonic.Map.extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Map.contains", - "equation_FStar.Monotonic.Map.defined", - "equation_FStar.Monotonic.Map.grows_aux", - "equation_FStar.Monotonic.Map.map", - "equation_FStar.Monotonic.Map.rid", - "equation_FStar.Monotonic.Map.sel", "equation_FStar.Monotonic.Map.t", - "equation_FStar.Monotonic.Map.upd", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Map.grows", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_46b733f17eb513a8d644cc15e54c5a79", - "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", - "l_quant_interp_3439469e67c044de57ce8f8134ebf267", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_76056f8746bac63e7053e341861c3bdf", - "refinement_interpretation_Tm_refine_b62b4ab2df3344dc0e8c33c6601630e1", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.mk_mem", - "typing_FStar.Monotonic.Map.grows", "typing_FStar.Monotonic.Map.map", - "typing_FStar.Set.complement", "typing_FStar.Set.singleton", - "typing_Prims.int" - ], - 0, - "df1effe554cbde269b46f976df9d9f15" - ], - [ - "FStar.Monotonic.Map.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Map.contains", - "equation_FStar.Monotonic.Map.defined", - "equation_FStar.Monotonic.Map.fresh", - "equation_FStar.Monotonic.Map.grows_aux", - "equation_FStar.Monotonic.Map.map", - "equation_FStar.Monotonic.Map.sel", "equation_FStar.Monotonic.Map.t", - "function_token_typing_FStar.Monotonic.Map.grows", - "interpretation_Tm_abs_645907ef3744a746d7ff6113c290185b", - "l_quant_interp_3439469e67c044de57ce8f8134ebf267", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_3012c472af61a96f77d05f7df246bde6", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.Map.grows", "typing_FStar.Monotonic.Map.map", - "typing_FStar.Monotonic.Map.sel" - ], - 0, - "6ee05c51f0012667a62caaa8b8ef8a69" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Pure.fst.hints b/ulib/.hints/FStar.Monotonic.Pure.fst.hints deleted file mode 100644 index f5e4b049153..00000000000 --- a/ulib/.hints/FStar.Monotonic.Pure.fst.hints +++ /dev/null @@ -1,76 +0,0 @@ -[ - "ã+\bÔ\u0000 ØX<+\u001b\u0015<3Å_", - [ - [ - "FStar.Monotonic.Pure.elim_pure_wp_monotonicity", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pure_wp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "refinement_interpretation_Tm_refine_15e0beb75f7033bad5fae236999feebe", - "token_correspondence_Prims.pure_wp_monotonic0" - ], - 0, - "a8ea87a82776d108546eb7d1e157b170" - ], - [ - "FStar.Monotonic.Pure.elim_pure_wp_monotonicity_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pure_wp", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "refinement_interpretation_Tm_refine_15e0beb75f7033bad5fae236999feebe", - "token_correspondence_Prims.pure_wp_monotonic0" - ], - 0, - "d3f070d57ae1c44dc2835d163347a45a" - ], - [ - "FStar.Monotonic.Pure.intro_pure_wp_monotonicity", - 1, - 2, - 1, - [ - "@query", "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "token_correspondence_Prims.pure_wp_monotonic0" - ], - 0, - "8a451eaf184c0e1791252cb6dbeb3d2d" - ], - [ - "FStar.Monotonic.Pure.as_pure_wp", - 1, - 2, - 1, - [ "@query" ], - 0, - "5513bf237a404138b31e402a0c8b9350" - ], - [ - "FStar.Monotonic.Pure.elim_pure", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec", - "l_imp-interp", "l_quant_interp_904a74cfe3507104488fdcb4d014247a", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_b66a28ec01f7bbb11191891e2b8510ec" - ], - 0, - "2a735d3fb9d0a7caacf575f979b96a8c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Seq.fst.hints b/ulib/.hints/FStar.Monotonic.Seq.fst.hints deleted file mode 100644 index b68278221c5..00000000000 --- a/ulib/.hints/FStar.Monotonic.Seq.fst.hints +++ /dev/null @@ -1,1438 +0,0 @@ -[ - "\u0010äÕ½ºÔM\fkMË3\\šL‰", - [ - [ - "FStar.Monotonic.Seq.grows_aux", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.nat", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5a8168a86412e26c132e5177a170de60" - ], - [ - "FStar.Monotonic.Seq.lemma_snoc_extends", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Monotonic.Seq.grows", - "typing_FStar.Monotonic.Seq.grows_aux", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "e6bb19a0ef5028a4041fef51a7b7573d" - ], - [ - "FStar.Monotonic.Seq.alloc_mref_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.rid", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" - ], - 0, - "45225b209dc28e43a45f13bca54b8d90" - ], - [ - "FStar.Monotonic.Seq.at_least", - 1, - 2, - 1, - [ "@query" ], - 0, - "75d7d37445a643348a68e3c53e58a649" - ], - [ - "FStar.Monotonic.Seq.at_least_is_stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.at_least", - "equation_FStar.Monotonic.Seq.grows_aux", "equation_Prims.nat", - "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Monotonic.Seq.grows" - ], - 0, - "f70cc1d46d09182ff82c0cb18b70ca01" - ], - [ - "FStar.Monotonic.Seq.write_at_end", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.at_least", - "equation_FStar.Monotonic.Seq.rid", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.Seq.lemma_snoc_extends", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_50b2eac2df9de90952d4d57ca3ce2598", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.snoc", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_Prims.int" - ], - 0, - "bbcef0ae59d88fc820bf749f2c1d5b34" - ], - [ - "FStar.Monotonic.Seq.grows_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "function_token_typing_FStar.Monotonic.Seq.grows", - "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", - "refinement_interpretation_Tm_refine_310e7a29569e2d208223322b6967b938", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.Monotonic.Seq.grows" - ], - 0, - "170cffd21323529cd55d54a98396efed" - ], - [ - "FStar.Monotonic.Seq.alloc_mref_iseq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_seq", - "equation_FStar.Monotonic.Seq.rid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_6fbd4d82bb3e7e5b2939e88df41fcbe3", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "d56b29546b59b054bd30f3aae7853d93" - ], - [ - "FStar.Monotonic.Seq.i_at_least", - 1, - 2, - 1, - [ "@query" ], - 0, - "52c921ec718f3b0aadf0cf5dbb3aa73f" - ], - [ - "FStar.Monotonic.Seq.i_at_least_is_stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_at_least", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Monotonic.Seq.grows_p" - ], - 0, - "bf54148aeb455cd426ad058d5fa30c34" - ], - [ - "FStar.Monotonic.Seq.int_at_most_is_stable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.int_at_most", - "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", - "l_and-interp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "token_correspondence_FStar.Monotonic.Seq.grows_p" - ], - 0, - "035104137908d4c8f5cb15b54a7f347e" - ], - [ - "FStar.Monotonic.Seq.i_read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_sel", - "equation_FStar.Monotonic.Seq.i_seq", - "equation_FStar.Monotonic.Seq.rid", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "2d3a6b46160a051aa67e5356db32063d" - ], - [ - "FStar.Monotonic.Seq.i_write_at_end", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.grows_p", - "equation_FStar.Monotonic.Seq.i_at_least", - "equation_FStar.Monotonic.Seq.i_contains", - "equation_FStar.Monotonic.Seq.i_sel", - "equation_FStar.Monotonic.Seq.i_seq", - "equation_FStar.Monotonic.Seq.rid", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Seq.grows_p", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_7caf731b9fd77753c17620904e0e8020", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.Seq.lemma_snoc_extends", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2f8d3332bfafa9d70c3e59b539998369", - "refinement_interpretation_Tm_refine_310e7a29569e2d208223322b6967b938", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_581c9761524cef873895abb519b91469", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_kinding_Tm_refine_310e7a29569e2d208223322b6967b938", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.Seq.grows_p", - "typing_FStar.Monotonic.Seq.i_sel", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "86dc341b5f037c7147885eb9b8a1deb2" - ], - [ - "FStar.Monotonic.Seq.invariant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "06e3c520ff49c2127852d93936a29664" - ], - [ - "FStar.Monotonic.Seq.test0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.Seq.at_least", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_bd623a94c8b2c19a9a8b1bab939be5fd", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "99a57aef236157d4c8db5437d658a369" - ], - [ - "FStar.Monotonic.Seq.itest", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.i_at_least", - "equation_FStar.Monotonic.Seq.i_sel", - "equation_FStar.Monotonic.Seq.i_seq", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "refinement_interpretation_Tm_refine_fc4e75453b328d0dcef003557ed6cd2b" - ], - 0, - "c53c8009c5fb6edff2a20100ba7d1b9f" - ], - [ - "FStar.Monotonic.Seq.un_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "18f7e2e56297f4b46eae5c72beabca3f" - ], - [ - "FStar.Monotonic.Seq.map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "f42b06f69ac13363dd600c4af6ff178a" - ], - [ - "FStar.Monotonic.Seq.map_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "579bbdf174d3d2894ab1c97a75ddb57f" - ], - [ - "FStar.Monotonic.Seq.map_append", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", - "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", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Monotonic.Seq.op_At", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "typing_FStar.Monotonic.Seq.map", "typing_FStar.Monotonic.Seq.op_At", - "typing_FStar.Monotonic.Seq.un_snoc", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc", "well-founded-ordering-on-nat" - ], - 0, - "f8206440e76a8bc933f65ca07a4b7d53" - ], - [ - "FStar.Monotonic.Seq.map_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3713d38972bdfaa90715d1eb26e3717b" - ], - [ - "FStar.Monotonic.Seq.map_length", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", - "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", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Monotonic.Seq.map", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "well-founded-ordering-on-nat" - ], - 0, - "33c946e3e598f4b8ebf0639eddf3a203" - ], - [ - "FStar.Monotonic.Seq.map_length", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "870e69a3b2d6c872a8ba99695c51ebd9" - ], - [ - "FStar.Monotonic.Seq.map_index", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "lemma_FStar.Monotonic.Seq.map_length" - ], - 0, - "4c50b09bc51d599cbff10201d345651c" - ], - [ - "FStar.Monotonic.Seq.map_index", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", - "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", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Monotonic.Seq.map_length", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_607098d2e80d827adeccdd5d011d612c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "typing_FStar.Monotonic.Seq.map", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" - ], - 0, - "8d919fa05aea5460eae2e49eedaa7621" - ], - [ - "FStar.Monotonic.Seq.map_index", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "lemma_FStar.Monotonic.Seq.map_length" - ], - 0, - "1393a30f97be0ce953f8dad00b13b383" - ], - [ - "FStar.Monotonic.Seq.map_grows", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Monotonic.Seq.grows_aux", - "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.map.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Monotonic.Seq.map_index", - "lemma_FStar.Monotonic.Seq.map_length", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Monotonic.Seq.grows" - ], - 0, - "23de0d0cf15af686f41e8f5d90c0e5b3" - ], - [ - "FStar.Monotonic.Seq.map_prefix_stable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.map_prefix", - "equation_FStar.Monotonic.Seq.rid", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Monotonic.Seq.map_index", - "lemma_FStar.Monotonic.Seq.map_length", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.Seq.grows", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.Seq.grows_aux", "typing_FStar.Seq.Base.seq" - ], - 0, - "c0f948bca4f1669cbc51383e5afcdfc8" - ], - [ - "FStar.Monotonic.Seq.map_has_at_index", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "lemma_FStar.Monotonic.Seq.map_length" - ], - 0, - "f01fcfa17436171fd474a21db611f111" - ], - [ - "FStar.Monotonic.Seq.map_has_at_index_stable", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.map.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.map_has_at_index", - "equation_FStar.Monotonic.Seq.rid", "equation_Prims.nat", - "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Monotonic.Seq.map_index", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.Seq.grows", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.Seq.grows_aux", "typing_FStar.Seq.Base.seq" - ], - 0, - "8a31feecaba7d5fc9c570d2be8817b25" - ], - [ - "FStar.Monotonic.Seq.collect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "equation_FStar.Monotonic.Seq.un_snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "0a850ffa37f565a1e35229ed0f473ec7" - ], - [ - "FStar.Monotonic.Seq.collect_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Monotonic.Seq.collect.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "b195adde51a30ec91a25c7498de5615f" - ], - [ - "FStar.Monotonic.Seq.collect_grows", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@fuel_irrelevance_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_3d2b697fb8061d3e8e36d96b3980f9d1", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.un_snoc", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_Prims.eqtype", - "equation_Prims.l_imp", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Monotonic.Seq.collect.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Seq.grows", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_imp-interp", - "l_quant_interp_014a25b99eca40151867d381de87c993", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Monotonic.Seq.collect", - "typing_FStar.Monotonic.Seq.grows_aux", - "typing_FStar.Seq.Base.length", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "9ef93f7dcd073157a0e94a649e21ae02" - ], - [ - "FStar.Monotonic.Seq.collect_prefix_stable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@query", - "FStar.Monotonic.Seq_interpretation_Tm_arrow_9b1c273e798ef422e9aacaac3436c4f3", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Monotonic.Seq.collect_prefix", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.transitive", - "function_token_typing_FStar.Monotonic.Seq.grows", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.Monotonic.Seq.grows", - "typing_FStar.Monotonic.Seq.collect" - ], - 0, - "b3358da9d9185a649812c65df59e5b97" - ], - [ - "FStar.Monotonic.Seq.collect_has_at_index_stable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Monotonic.Seq.collect.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.collect_has_at_index", - "equation_FStar.Monotonic.Seq.grows_aux", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Seq.grows", "int_inversion", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "l_quant_interp_014a25b99eca40151867d381de87c993", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Monotonic.Seq.grows", "typing_FStar.Seq.Base.seq" - ], - 0, - "05a49fa780ca95ff3a3f2fc2af02904a" - ], - [ - "FStar.Monotonic.Seq.seqn", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Monotonic.Seq.increases", - "equation_FStar.Monotonic.Seq.seqn_val", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "token_correspondence_FStar.Monotonic.Seq.increases" - ], - 0, - "79d06cd9c59f7faea37b70efde91fd0d" - ], - [ - "FStar.Monotonic.Seq.at_most_log_len_stable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.at_most_log_len", - "equation_FStar.Monotonic.Seq.grows_aux", "equation_Prims.nat", - "int_inversion", - "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Monotonic.Seq.at_most_log_len", - "token_correspondence_FStar.Monotonic.Seq.grows" - ], - 0, - "707d10f025d9e4fd0cc4f714af9f4df5" - ], - [ - "FStar.Monotonic.Seq.new_seqn", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.at_most_log_len", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.increases", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.rid", - "equation_FStar.Monotonic.Seq.seqn", - "equation_FStar.Monotonic.Seq.seqn_val", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Seq.grows", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_7f3ab66d4de91f61b578dda2a94a1fe5", - "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "token_correspondence_FStar.Monotonic.Seq.at_most_log_len", - "token_correspondence_FStar.Monotonic.Seq.increases", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.Seq.seqn_val", "typing_FStar.Set.complement", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_Prims.int" - ], - 0, - "75f415c60c44882e873de97d55c548dd" - ], - [ - "FStar.Monotonic.Seq.increment_seqn", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperHeap.modifies_just", - "equation_FStar.Monotonic.HyperHeap.modifies_one", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.modifies_one", - "equation_FStar.Monotonic.HyperStack.modifies_ref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Monotonic.Seq.at_most_log_len", - "equation_FStar.Monotonic.Seq.grows_aux", - "equation_FStar.Monotonic.Seq.increases", - "equation_FStar.Monotonic.Seq.log_t", - "equation_FStar.Monotonic.Seq.rid", - "equation_FStar.Monotonic.Seq.seqn", - "equation_FStar.Monotonic.Seq.seqn_val", - "equation_FStar.Preorder.preorder", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Seq.at_most_log_len", - "function_token_typing_FStar.Monotonic.Seq.grows", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_1e44b93a620e148d737d6f47bdd2424d", - "interpretation_Tm_abs_2b34c3921953c0a53b122a0054a0f2bb", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomConcat", - "lemma_FStar.Map.lemma_InDomRestrict", - "lemma_FStar.Map.lemma_SelConcat1", - "lemma_FStar.Map.lemma_SelConcat2", - "lemma_FStar.Map.lemma_SelRestrict", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Map.lemma_equal_intro", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_348de7d78ee513ae8dbc8ebcd2ba682b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d65fdce409a3b36cb4382e1d62f4a72a", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_FStar.Map.concat", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.restrict", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.Seq.seqn_val", "typing_FStar.Set.complement", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_Prims.int" - ], - 0, - "b9206584aa1d5d40c8ff58152b22553f" - ], - [ - "FStar.Monotonic.Seq.testify_seqn", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.Seq.rid", - "equation_FStar.Monotonic.Seq.seqn", - "equation_FStar.Monotonic.Seq.seqn_val", - "equation_FStar.Preorder.preorder", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", "primitive_Prims.op_Negation", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f" - ], - 0, - "3bee9af6a5e79778db003dbcbff1affd" - ], - [ - "FStar.Monotonic.Seq.test", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.HyperStack.ST.m_rref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.Seq.seqn", - "equation_FStar.Monotonic.Seq.seqn_val", - "equation_FStar.Preorder.preorder", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_b6023c1c3e1dacce5987e3daeb90fc6e", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f596a1e23d65ebe54b463345ece4e00f", - "typing_Prims.int" - ], - 0, - "198b7374becbcadec477a26fc0543d23" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Witnessed.fst.hints b/ulib/.hints/FStar.Monotonic.Witnessed.fst.hints deleted file mode 100644 index b94c2aa6dda..00000000000 --- a/ulib/.hints/FStar.Monotonic.Witnessed.fst.hints +++ /dev/null @@ -1,289 +0,0 @@ -[ - "U&”Ê0–?¤³TFüô=Š¶", - [ - [ - "FStar.Monotonic.Witnessed.get_constant_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Monotonic.Witnessed_interpretation_Tm_arrow_6bccb0a2b1b1f939f098ecb8863085cf", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "function_token_typing_FStar.Monotonic.Witnessed.set", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10" - ], - 0, - "eeee6abcb4e06a34431f3006f71cec35" - ], - [ - "FStar.Monotonic.Witnessed.get_false", - 1, - 2, - 1, - [ "@query" ], - 0, - "0982b959370909ffd019f8a87c928afc" - ], - [ - "FStar.Monotonic.Witnessed.get_and_1", - 1, - 2, - 1, - [ - "@query", "interpretation_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7", - "l_and-interp", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7" - ], - 0, - "4926d5910461431571e8e3ff740ab437" - ], - [ - "FStar.Monotonic.Witnessed.get_or_1", - 1, - 2, - 1, - [ - "@query", "interpretation_Tm_abs_6a8adeed7179f900ad3f12cc0b419230", - "l_or-interp", "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_6a8adeed7179f900ad3f12cc0b419230" - ], - 0, - "b4426620cbd1a37e357d4ace5e3dbdb1" - ], - [ - "FStar.Monotonic.Witnessed.get_impl_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "14a95823467bb40c7de2de0796b72473" - ], - [ - "FStar.Monotonic.Witnessed.get_forall_1_aux", - 1, - 2, - 1, - [ "@query" ], - 0, - "632b553e41d468e410248813b0dc8256" - ], - [ - "FStar.Monotonic.Witnessed.get_forall_1", - 1, - 2, - 1, - [ - "@query", "interpretation_Tm_abs_b68d980611ecc54774f1a63dba314a7d", - "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", - "l_quant_interp_0b1b710a8bfdc3d62549685b3ad0a6b3", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_b68d980611ecc54774f1a63dba314a7d", - "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" - ], - 0, - "0e90c15cbbf5027e4dc224723230ab8d" - ], - [ - "FStar.Monotonic.Witnessed.get_exists_1_aux", - 1, - 2, - 1, - [ "@query" ], - 0, - "638ab2123f8f577bd71e80781e56529c" - ], - [ - "FStar.Monotonic.Witnessed.get_exists_1", - 1, - 2, - 1, - [ - "@query", "interpretation_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", - "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", - "l_quant_interp_17ae6cbceb1ff3fa3aa72b1120526068", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", - "typing_Tm_abs_e320c1b0db2f973703519f096ca636a5" - ], - 0, - "75158cc101ba90178e6863ad919a61c4" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_weakening", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "207abe5a7024fa016641613c3c32ea67" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_constant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Witnessed.witnessed", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "interpretation_Tm_abs_134069e179ddf4705519081c391c4e10", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "typing_Tm_abs_134069e179ddf4705519081c391c4e10", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "7addc6dc6846bcb72ec962ed164f2fcd" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_nested", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "interpretation_Tm_abs_e8bc110f7c8137a094c5027c0e3c5bea", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "5f7177fd9a62993e55fa5a501911ceb7" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_and", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_b00f540371721594cb64fd4424fdebf3", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "interpretation_Tm_abs_e2ac9feb4f6cb36e6ed8fac286e8dfb7", - "l_and-interp", "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_b00f540371721594cb64fd4424fdebf3", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "dfd52b729b088a0c5401aa2a9f1396be" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_or", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_6a8adeed7179f900ad3f12cc0b419230", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "l_or-interp", "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "d9f68eaf884ff91d9a6a34d58686ac0b" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_impl", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_96590ec0fa93c7eac2fae62f26e7bc06", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "interpretation_Tm_abs_e45b890c8bed1619d6b1f21cff2877a6", - "interpretation_Tm_abs_ea1703a99385b474600aa7a3bdb045c5", - "l_and-interp", "l_imp-interp", - "l_quant_interp_5481ff6b92a24c65b17082bcc8921daa", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_96590ec0fa93c7eac2fae62f26e7bc06", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "typing_Tm_abs_e45b890c8bed1619d6b1f21cff2877a6" - ], - 0, - "557843316cc92ffc93e3f0cd69d106f5" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_forall", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_38e52928eac51eef7d8281f4ae415557", - "interpretation_Tm_abs_8c64a25722867a28c2ad4d5fab5e928c", - "interpretation_Tm_abs_b68d980611ecc54774f1a63dba314a7d", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "interpretation_Tm_abs_e320c1b0db2f973703519f096ca636a5", - "l_quant_interp_0b1b710a8bfdc3d62549685b3ad0a6b3", - "l_quant_interp_471605d0df5067f83ec974c260416a22", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "l_quant_interp_c1f07566cc048692ff39a831f6222658", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_38e52928eac51eef7d8281f4ae415557", - "typing_Tm_abs_8c64a25722867a28c2ad4d5fab5e928c", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "a3a88c150fb360aa596b80134acfee01" - ], - [ - "FStar.Monotonic.Witnessed.lemma_witnessed_exists", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.Witnessed.witnessed", - "interpretation_Tm_abs_c6d82aa0d722e7b10f95d539c2f392ce", - "interpretation_Tm_abs_d4d999b94052778d20b0f435ce5f06da", - "l_quant_interp_17ae6cbceb1ff3fa3aa72b1120526068", - "l_quant_interp_86ef4ba76979b85d5b8bd28eb57de48e", - "lemma_FStar.Monotonic.Witnessed.get_weakening", - "typing_Tm_abs_d4d999b94052778d20b0f435ce5f06da" - ], - 0, - "308cc1601a6b8779ef79dfd468c74cec" - ], - [ - "FStar.Monotonic.Witnessed.witnessed_defs_equiv_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "3a431c35908b0892add9362d0a8fc1fe" - ], - [ - "FStar.Monotonic.Witnessed.witnessed_defs_equiv_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.transitive", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c" - ], - 0, - "71664bdc2c07ad541ccdf17e392f2b38" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Monotonic.Witnessed.fsti.hints b/ulib/.hints/FStar.Monotonic.Witnessed.fsti.hints deleted file mode 100644 index dcbd089d47c..00000000000 --- a/ulib/.hints/FStar.Monotonic.Witnessed.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "×þŽÀ(SB\u001bÇ\u001b\t p\u001d`\n", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Mul.fst.hints b/ulib/.hints/FStar.Mul.fst.hints deleted file mode 100644 index 7de9d248b4a..00000000000 --- a/ulib/.hints/FStar.Mul.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¶§\u00166¾ª«Ð5€¨¨\u001b\u0007»\u001d", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.NMST.fst.hints b/ulib/.hints/FStar.NMST.fst.hints deleted file mode 100644 index c724b4946f9..00000000000 --- a/ulib/.hints/FStar.NMST.fst.hints +++ /dev/null @@ -1,195 +0,0 @@ -[ - "qÝÝPÿ¬ù6­ \f§#\u0014}d", - [ - [ - "FStar.NMST.return", - 1, - 2, - 1, - [ - "@query", "equation_Prims.nat", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "457eee2dc54a07c04849c12443714a32" - ], - [ - "FStar.NMST.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" - ], - 0, - "61e8655dad256b4d638bab53a8c911ca" - ], - [ - "FStar.NMST.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "52f24f5b0adc44986c5c9d4d5c9da925" - ], - [ - "FStar.NMST.NMSTATE", - 1, - 2, - 1, - [ "@query" ], - 0, - "b11019573902f168f17ea18570fc9463" - ], - [ - "FStar.NMST.NMSTATE", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "4e676d671dc2952622d7415c18158e1a" - ], - [ - "FStar.NMST.NMSTATE", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "a34f3090bf3b9a8cb174723bfa4fd36e" - ], - [ - "FStar.NMST.get", - 1, - 2, - 1, - [ - "@query", "equation_Prims.nat", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "ccd0f3fc1e04b03ba36d107c97b2acc1" - ], - [ - "FStar.NMST.put", - 1, - 2, - 1, - [ "@query" ], - 0, - "126fb4a4a92904ebeb9110bc4dcd2b5d" - ], - [ - "FStar.NMST.witness", - 1, - 2, - 1, - [ "@query" ], - 0, - "60468c05f9c87044f427c90461af649e" - ], - [ - "FStar.NMST.recall", - 1, - 2, - 1, - [ "@query" ], - 0, - "659d8f510981e4c2b4b296858920006d" - ], - [ - "FStar.NMST.sample", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7afc370d30f96ef9d6aa60f4962c0d1e" - ], - [ - "FStar.NMST.lift_pure_nmst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_FStar.NMST.tape", "equation_Prims.l_Forall", - "equation_Prims.l_True", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_24b6622be388b21bc8d055b037c4c6dd", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_dc670feaee5a9cdeefefb04a5984b858", - "l_imp-interp", "l_not-interp", "l_or-interp", - "l_quant_interp_a6744653fb6eb4eeacca019834400768", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_24b6622be388b21bc8d055b037c4c6dd", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_dc670feaee5a9cdeefefb04a5984b858" - ], - 0, - "d228acc70f67cccfca8a4d3f1f5db62d" - ], - [ - "FStar.NMST.bind_div_nmst", - 1, - 2, - 1, - [ "@query" ], - 0, - "046ce8cd91604e829bd04ef3fbbc2b5c" - ], - [ - "FStar.NMST.nmst_assume", - 1, - 2, - 1, - [ "@query" ], - 0, - "4a9224970c5375479ec0ac37c514f46e" - ], - [ - "FStar.NMST.nmst_assert", - 1, - 2, - 1, - [ "@query" ], - 0, - "3c43ad3607200ef8fa0b132c1eeb7ed4" - ], - [ - "FStar.NMST.lift_nmst_total_nmst", - 1, - 2, - 1, - [ "@query" ], - 0, - "3cef985bcdd1ef46998508dcdb2d8090" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.NMSTTotal.fst.hints b/ulib/.hints/FStar.NMSTTotal.fst.hints deleted file mode 100644 index 6ac7c41344c..00000000000 --- a/ulib/.hints/FStar.NMSTTotal.fst.hints +++ /dev/null @@ -1,177 +0,0 @@ -[ - "\u007f¼º¿ú’ªT‘9. \u000fSlh", - [ - [ - "FStar.NMSTTotal.return", - 1, - 2, - 1, - [ - "@query", "equation_Prims.nat", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "70c0f8b90a79897fea743cb59383caec" - ], - [ - "FStar.NMSTTotal.bind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1" - ], - 0, - "1b5ed93368fdf0e8d6be49b7ec378216" - ], - [ - "FStar.NMSTTotal.subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "c6ae49ca04e7d5f4da055c92f439a280" - ], - [ - "FStar.NMSTTotal.NMSTATETOT", - 1, - 2, - 1, - [ "@query" ], - 0, - "6ec0706d361b05deb115e007712decff" - ], - [ - "FStar.NMSTTotal.NMSTATETOT", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "fe926413196f539542228e290c29b99b" - ], - [ - "FStar.NMSTTotal.NMSTATETOT", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "112c1b37c4d933d53187c9a9096c8495" - ], - [ - "FStar.NMSTTotal.get", - 1, - 2, - 1, - [ - "@query", "equation_Prims.nat", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "0ef9bc47bbe46ca1fb256a06ac0d0354" - ], - [ - "FStar.NMSTTotal.put", - 1, - 2, - 1, - [ "@query" ], - 0, - "30f7539ba29058549b88b4af8e3b7a46" - ], - [ - "FStar.NMSTTotal.witness", - 1, - 2, - 1, - [ "@query" ], - 0, - "531850417aead4ce5a1492d93479ad36" - ], - [ - "FStar.NMSTTotal.recall", - 1, - 2, - 1, - [ "@query" ], - 0, - "173b118c3f3afd5e6d4a8fd143c2c97c" - ], - [ - "FStar.NMSTTotal.sample", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "91ba49b52ed54640c86392ca86ccb05c" - ], - [ - "FStar.NMSTTotal.lift_pure_nmst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "eq2-interp", "equation_FStar.NMSTTotal.tape", - "equation_Prims.l_Forall", "equation_Prims.l_True", - "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_24b6622be388b21bc8d055b037c4c6dd", - "interpretation_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "interpretation_Tm_abs_dc670feaee5a9cdeefefb04a5984b858", - "l_imp-interp", "l_not-interp", "l_or-interp", - "l_quant_interp_a6744653fb6eb4eeacca019834400768", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Prims.l_True", - "typing_Tm_abs_24b6622be388b21bc8d055b037c4c6dd", - "typing_Tm_abs_5e34897418ce4950a4effcc8c159cf53", - "typing_Tm_abs_dc670feaee5a9cdeefefb04a5984b858" - ], - 0, - "357f3623a7733fb9ae764ea4f7325d5e" - ], - [ - "FStar.NMSTTotal.nmst_tot_assume", - 1, - 2, - 1, - [ "@query" ], - 0, - "31ee9ba525f3e9df6845a91db6a9cf62" - ], - [ - "FStar.NMSTTotal.nmst_tot_assert", - 1, - 2, - 1, - [ "@query" ], - 0, - "c6d1a5804eeb082de90b2050c0415bb3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Option.fst.hints b/ulib/.hints/FStar.Option.fst.hints deleted file mode 100644 index db93e15e131..00000000000 --- a/ulib/.hints/FStar.Option.fst.hints +++ /dev/null @@ -1,59 +0,0 @@ -[ - "Žà‹7%æ·Ô«+b~­8\u001d", - [ - [ - "FStar.Option.isNone", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "367b835669b82183f10ba7c5921cf3a5" - ], - [ - "FStar.Option.isSome", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "5a994872bacc256b9915d2342c6a46dc" - ], - [ - "FStar.Option.map", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "9eb4fbdfa002fe299bde9260d3280268" - ], - [ - "FStar.Option.mapTot", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "a1ae9b02acd56e94800796854984443f" - ], - [ - "FStar.Option.get", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "73894402689222ffa9c1d7ddc088713b" - ], - [ - "FStar.Option.op_let_Question", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "34641b6ffa9e03eeaa59f551546ccdb3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdMap.fst.hints b/ulib/.hints/FStar.OrdMap.fst.hints deleted file mode 100644 index 4c7d216cb7d..00000000000 --- a/ulib/.hints/FStar.OrdMap.fst.hints +++ /dev/null @@ -1,780 +0,0 @@ -[ - "p^𧰌¹o8íø»–8Bÿ", - [ - [ - "FStar.OrdMap.empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.OrdSet.mem_empty", "typing_FStar.OrdSet.empty", - "typing_FStar.OrdSet.mem" - ], - 0, - "1fce63c2f00f3fa490f313e3d73ca94d" - ], - [ - "FStar.OrdMap.const_on", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "typing_FStar.OrdSet.mem" - ], - 0, - "426b2f8d636941b2e1295ca87ba68082" - ], - [ - "FStar.OrdMap.update", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.insert", "equation_FStar.OrdMap.map_t", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdSet.singleton" - ], - 0, - "ebd43397dad83f6d17550c599560227b" - ], - [ - "FStar.OrdMap.remove", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.map_t", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.mem_remove", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d" - ], - 0, - "528625207b69e8f992e20520a4dc8139" - ], - [ - "FStar.OrdMap.choose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.map_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.choose_empty", "lemma_FStar.OrdSet.choose_s", - "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.remove", - "typing_FStar.OrdSet.singleton" - ], - 0, - "3817db6cf99fa383a754a35980a96fbe" - ], - [ - "FStar.OrdMap.eq_intro", - 1, - 2, - 1, - [ "@query", "equation_FStar.OrdMap.equal" ], - 0, - "0135041caace99bd6dd95e31108dc2be" - ], - [ - "FStar.OrdMap.eq_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.equal", "equation_FStar.OrdMap.map_t", - "equation_FStar.OrdMap.select", "equation_FStar.OrdSet.equal", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.extensionality", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "388c463b3f2e133697863e58392de695" - ], - [ - "FStar.OrdMap.upd_order", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.insert", "equation_FStar.OrdMap.map_t", - "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdMap.eq_intro", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.insert", "typing_FStar.OrdMap.update", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "280c9beecc442edb2f862c3e48bd09dd" - ], - [ - "FStar.OrdMap.upd_same_k", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.select", - "equation_FStar.OrdMap.update", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdMap.eq_intro", "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.update", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "16cca8abaf992d8cbd628fe9b35a6a67" - ], - [ - "FStar.OrdMap.sel_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "559ec489611927b8be5593fd3b1afe21" - ], - [ - "FStar.OrdMap.sel_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "data_elim_FStar.OrdMap.Mk_map", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdMap.insert", "equation_FStar.OrdMap.map_t", - "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.update", "typing_FStar.OrdSet.singleton", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "184ed2ee4aaaeeb9f948c8da0824ca41" - ], - [ - "FStar.OrdMap.sel_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.map_t", - "equation_FStar.OrdMap.select", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.select" - ], - 0, - "f63f506e853a86b11de01345f19d1316" - ], - [ - "FStar.OrdMap.sel_contains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.OrdMap.Mk_map", - "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.map_t", - "equation_FStar.OrdMap.select", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m" - ], - 0, - "02469fee05d824a13d85c9af247f47e8" - ], - [ - "FStar.OrdMap.contains_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.insert", "equation_FStar.OrdMap.update", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdSet.singleton" - ], - 0, - "39a0fc3232225b29227cadffef3b407a" - ], - [ - "FStar.OrdMap.contains_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.OrdMap.contains", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdMap.contains_upd1", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.OrdMap.contains" - ], - 0, - "a61cf537ec83777b5a8554f89794cf51" - ], - [ - "FStar.OrdMap.contains_empty", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.empty", "lemma_FStar.OrdSet.mem_empty", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_d" - ], - 0, - "02db738a9a9fa178814e9d3e4bc9a231" - ], - [ - "FStar.OrdMap.contains_remove", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.remove", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.mem_remove", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "typing_FStar.OrdMap.__proj__Mk_map__item__d" - ], - 0, - "01f13b2d7d5f28edd24895b5747daa66" - ], - [ - "FStar.OrdMap.eq_remove", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.contains", "equation_FStar.OrdMap.equal", - "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.eq_remove", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.contains", - "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "125fc4742a1e22bdeb96858d74c7c889" - ], - [ - "FStar.OrdMap.choose_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.choose", "equation_FStar.OrdMap.empty", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.OrdSet.choose_empty", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty" - ], - 0, - "9438754957217f3965d1ca9a384c4a52" - ], - [ - "FStar.OrdMap.dom_empty_helper", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "d83ff0c7a01c0912037eb5c03f4e0c91" - ], - [ - "FStar.OrdMap.dom_empty_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.dom", "equation_FStar.OrdMap.empty", - "equation_FStar.OrdMap.map_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "437a63c350dd69aeeeb4cbbac560af57" - ], - [ - "FStar.OrdMap.choose_m", - 1, - 2, - 1, - [ "@query" ], - 0, - "38eada3e5bcc0bab0ad79e232773ca86" - ], - [ - "FStar.OrdMap.choose_m", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.OrdMap.choose", "equation_FStar.OrdMap.empty", - "equation_FStar.OrdMap.equal", "equation_FStar.OrdMap.insert", - "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", - "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.FunctionalExtensionality.extensionality", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdMap.eq_intro", "lemma_FStar.OrdMap.sel_empty", - "lemma_FStar.OrdSet.choose_s", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "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.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "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_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.choose", "typing_FStar.OrdMap.empty", - "typing_FStar.OrdMap.select", "typing_FStar.OrdSet.choose", - "typing_FStar.OrdSet.singleton", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "0fcfbd60530f9e7048d3d9923ba69977" - ], - [ - "FStar.OrdMap.size_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.OrdMap.empty", "equation_FStar.OrdMap.size", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "typing_FStar.OrdSet.empty" - ], - 0, - "9fef5197eae1042328b4b09122dabf42" - ], - [ - "FStar.OrdMap.size_remove", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.remove", "equation_FStar.OrdMap.size", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "lemma_FStar.OrdSet.size_remove", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "typing_FStar.OrdMap.__proj__Mk_map__item__d" - ], - 0, - "48740e84bb5be5d1fddc8b290cebe4ae" - ], - [ - "FStar.OrdMap.dom_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.contains", - "equation_FStar.OrdMap.dom" - ], - 0, - "68ea952028f377b27acfe00005ab45f7" - ], - [ - "FStar.OrdMap.contains_const_on", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.const_on", - "equation_FStar.OrdMap.contains", - "proj_equation_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_d" - ], - 0, - "912ac57b0a3004dcb6cbe9f447ecd297" - ], - [ - "FStar.OrdMap.select_const_on", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.OrdMap.sel_contains", - "typing_FStar.OrdMap.const_on" - ], - 0, - "5f7d8ba6e8f0503e6eaa50e4481b05ba" - ], - [ - "FStar.OrdMap.select_const_on", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "bool_inversion", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdMap.const_on", "equation_FStar.OrdMap.select", - "equation_Prims.eqtype", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "interpretation_Tm_abs_f1479a1df6adf80103d303f836a579f7", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdMap.contains_const_on", - "proj_equation_FStar.OrdMap.Mk_map_m", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.OrdMap.Mk_map_d", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdSet.mem", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "typing_Tm_abs_f1479a1df6adf80103d303f836a579f7" - ], - 0, - "f5905735a8a3d460c35bd6d00dc377fb" - ], - [ - "FStar.OrdMap.sel_rem1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.OrdMap.Mk_map", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", - "equation_FStar.OrdMap.select", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.remove", "typing_FStar.OrdMap.select" - ], - 0, - "a9528593526d13a46d179dbf399535a2" - ], - [ - "FStar.OrdMap.sel_rem2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "data_elim_FStar.OrdMap.Mk_map", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdMap.map_t", "equation_FStar.OrdMap.remove", - "equation_FStar.OrdMap.select", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdSet.mem_remove", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.OrdMap.Mk_map_d", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d9fa79ab7e5c67b85519fa390da30bf", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.__proj__Mk_map__item__d", - "typing_FStar.OrdMap.remove", - "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "91fcbbb0c1fb4fc0594c10f70b27f2ab" - ], - [ - "FStar.OrdMap.rem_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.List.Tot.Base_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.OrdMap.equal", "equation_FStar.OrdMap.remove", - "equation_FStar.OrdMap.select", "equation_FStar.OrdMap.update", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.OrdMap.ordmap", - "interpretation_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "interpretation_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "lemma_FStar.OrdMap.sel_rem1", "lemma_FStar.OrdMap.sel_rem2", - "lemma_FStar.OrdMap.sel_upd2", "primitive_Prims.op_Equality", - "proj_equation_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.OrdMap.Mk_map_m", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.OrdMap.__proj__Mk_map__item__m", - "typing_FStar.OrdMap.remove", "typing_FStar.OrdMap.update", - "typing_Tm_abs_68fb5d1a78453ed5791e65f5eab80f4a", - "typing_Tm_abs_a67303211830f04a8332ebc1fe45fa32", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "b501427f5e06d727ec1f38a981b04788" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdMap.fsti.hints b/ulib/.hints/FStar.OrdMap.fsti.hints deleted file mode 100644 index 238e96385e8..00000000000 --- a/ulib/.hints/FStar.OrdMap.fsti.hints +++ /dev/null @@ -1,78 +0,0 @@ -[ - "\u0004òGO§kwâšèÏ™xÏ\"\u000b", - [ - [ - "FStar.OrdMap.const_on", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order" - ], - 0, - "bddd2a2fb3011ef15d5964edbd08a7e7" - ], - [ - "FStar.OrdMap.dom", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order" - ], - 0, - "962c4fdc63c5f43c06b33bb011a6dbc4" - ], - [ - "FStar.OrdMap.choose_m", - 1, - 2, - 1, - [ "@query" ], - 0, - "66ade7e3c9da644359b12aec05163862" - ], - [ - "FStar.OrdMap.dom_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order" - ], - 0, - "8c17e4c6564e1de4bf0fad214af81de8" - ], - [ - "FStar.OrdMap.contains_const_on", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order" - ], - 0, - "a16ff12d1ae450d70a073b2ae665ff43" - ], - [ - "FStar.OrdMap.select_const_on", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdMap.cmp", - "equation_FStar.OrdMap.total_order", - "equation_FStar.OrdSet.total_order", - "lemma_FStar.OrdMap.sel_contains", - "refinement_interpretation_Tm_refine_934c4481f7588ba9d1f579f93b88abd0", - "typing_FStar.OrdMap.const_on" - ], - 0, - "123a4cc11c5e8d780a993a39394f7f85" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdMapProps.fst.hints b/ulib/.hints/FStar.OrdMapProps.fst.hints deleted file mode 100644 index be87acc64e9..00000000000 --- a/ulib/.hints/FStar.OrdMapProps.fst.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "\u0018ì\"ÀH`²¯À&4f·\u000f ", - [ - [ - "FStar.OrdMapProps.fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_06b52328a0126bab40d52f7d3255b94f_7", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_2", - "binder_x_db2cd789b023eeccbb0b327fc82c73ad_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.nat", - "int_inversion", "lemma_FStar.OrdMap.choose_m", - "lemma_FStar.OrdMap.contains_upd1", "lemma_FStar.OrdMap.eq_lemma", - "lemma_FStar.OrdMap.size_empty", "lemma_FStar.OrdMap.size_remove", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdMap.empty", "typing_FStar.OrdMap.remove", - "typing_FStar.OrdMap.size", "typing_FStar.OrdMap.update", - "well-founded-ordering-on-nat" - ], - 0, - "24f3d3e2e9d68c50f06f777f6873356d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdSet.fst.hints b/ulib/.hints/FStar.OrdSet.fst.hints deleted file mode 100644 index 276217e58ad..00000000000 --- a/ulib/.hints/FStar.OrdSet.fst.hints +++ /dev/null @@ -1,5484 +0,0 @@ -[ - "5k²tq\u000fJs0Ä;‰$¶øI", - [ - [ - "FStar.OrdSet.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "0972b6f9e9c499e18922f5b1000295e5" - ], - [ - "FStar.OrdSet.hasEq_ordset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_FStar.OrdSet.ordset", - "equation_Prims.eqtype", - "haseqTm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "1b5b981e201d51d1d5b16079edb4d3b5" - ], - [ - "FStar.OrdSet.simple_induction", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1746b8467375281c495c0c3ba23d3348", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "fed4b1e82469e361df8fbabe118fddcb" - ], - [ - "FStar.OrdSet.simple_induction", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_838ea5fed31ac706049ff4899d22cc12", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "e7b3c01ed2db8c945590d8f9112ec63a" - ], - [ - "FStar.OrdSet.base_induction", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "l_quant_interp_d93d98e1406500d6dd23034dfc4b6e07", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1746b8467375281c495c0c3ba23d3348", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b35825003803c269bade6502f1c05c8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.OrdSet.sorted", - "well-founded-ordering-on-nat" - ], - 0, - "bbb7919da9582ba099c6740683b266eb" - ], - [ - "FStar.OrdSet.base_induction", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "bool_inversion", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_b8e28a76c91bdf84ef5b62c0c2ed8f5c", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.sorted" - ], - 0, - "d2a3a3a663f414953d7bbb021841469c" - ], - [ - "FStar.OrdSet.empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b403219cb14f69a97743a4286d5677be" - ], - [ - "FStar.OrdSet.tail", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "f8b6ebc5919a5764af2bf38b5cbdd366" - ], - [ - "FStar.OrdSet.tail", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty" - ], - 0, - "bb5dd8d3a47358b835d3c262f7b398a3" - ], - [ - "FStar.OrdSet.tail", - 3, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "9364ec7f2abc6fa849bebe9ed2c9349a" - ], - [ - "FStar.OrdSet.head", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "d5a3b06cd649469e18b19880cd05b343" - ], - [ - "FStar.OrdSet.head", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "f06c05609216798f354d7bf18885654b" - ], - [ - "FStar.OrdSet.head", - 3, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "9364ec7f2abc6fa849bebe9ed2c9349a" - ], - [ - "FStar.OrdSet.last_direct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_6d68efba385d9e1b939b5b0953db83c7_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_31eef98c6817ee5a89996faf2141219a", - "refinement_interpretation_Tm_refine_4b802181224a425cd56ab53a030c982d", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_b77fd6a9ace5662fb4ea7ef3872c9f31", - "refinement_interpretation_Tm_refine_debefcd75b5ec7696f8204565f1d1c9b", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_ed75788af61835893406ced72e33c72b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem" - ], - 0, - "93262d3b5135156435b2b91e261cdd2a" - ], - [ - "FStar.OrdSet.last_direct", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "65a8bde2ea2076240034629ee06a7e8b" - ], - [ - "FStar.OrdSet.last_lib", - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.empty" - ], - 0, - "6857be0567d6223cac6f0335b18a9553" - ], - [ - "FStar.OrdSet.last_lib", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ed1d89151dd6ad819ec19367901378d4" - ], - [ - "FStar.OrdSet.last_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.last_direct.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.last_direct.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.last_lib", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.Pervasives.Native.snd", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.last_direct.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "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", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.empty" - ], - 0, - "60a9a0756282105d77e53969f5ab7769" - ], - [ - "FStar.OrdSet.last_eq", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ed1d89151dd6ad819ec19367901378d4" - ], - [ - "FStar.OrdSet.last", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "a691c4f5c43a126229b0d35f2979a694" - ], - [ - "FStar.OrdSet.last", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bcb8996492e8d0a8e27072ed034cce77", - "typing_FStar.OrdSet.last_direct" - ], - 0, - "783844737bab845a220103e8b465c670" - ], - [ - "FStar.OrdSet.last", - 3, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "9364ec7f2abc6fa849bebe9ed2c9349a" - ], - [ - "FStar.OrdSet.liat_direct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_6d68efba385d9e1b939b5b0953db83c7_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.last", "equation_FStar.OrdSet.last_lib", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_00eeaf12d1610b63dba14127574fd9a7", - "refinement_interpretation_Tm_refine_31eef98c6817ee5a89996faf2141219a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f23798424743439cfd1a6dbbdfab8b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_c11d051719e449955a38aa830958864e", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_ec872c7dad18617f5dc091040b9e5df3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.head", - "typing_FStar.OrdSet.last", "typing_FStar.OrdSet.last_lib", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.tail" - ], - 0, - "d1f4f8876aacc1cbc131719c06b1234c" - ], - [ - "FStar.OrdSet.liat_direct", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.last", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_00eeaf12d1610b63dba14127574fd9a7", - "refinement_interpretation_Tm_refine_0cc0c7a63cdd17bfb091e96e19e29f86", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f23798424743439cfd1a6dbbdfab8b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.last", - "typing_FStar.OrdSet.mem" - ], - 0, - "1c5a1fa85904922a608781697f915d68" - ], - [ - "FStar.OrdSet.liat_lib", - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.empty" - ], - 0, - "cbbeeb85314cb993954be7b56283a8cb" - ], - [ - "FStar.OrdSet.liat_lib", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ed1d89151dd6ad819ec19367901378d4" - ], - [ - "FStar.OrdSet.liat_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.liat_direct.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.liat_direct.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.last", - "equation_FStar.OrdSet.last_lib", "equation_FStar.OrdSet.liat_lib", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.liat_direct.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "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_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_4120e8e24add6e16b0b8fe648f1688be", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.head", - "typing_FStar.OrdSet.liat_direct" - ], - 0, - "06cda1c9a5ba2460723508332a42979f" - ], - [ - "FStar.OrdSet.liat_eq", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ed1d89151dd6ad819ec19367901378d4" - ], - [ - "FStar.OrdSet.liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "d059e964dee928964d4034a9f41523f4" - ], - [ - "FStar.OrdSet.liat", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.liat_direct.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.tail", - "equation_with_fuel_FStar.OrdSet.liat_direct.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_4120e8e24add6e16b0b8fe648f1688be", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.liat_direct", - "typing_FStar.OrdSet.liat_lib", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.tail" - ], - 0, - "3e1aa8bbd7e7b4e1ea9e90079dc32580" - ], - [ - "FStar.OrdSet.liat", - 3, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "9364ec7f2abc6fa849bebe9ed2c9349a" - ], - [ - "FStar.OrdSet.unsnoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.OrdSet.ordset" - ], - 0, - "a892db372f6cbb9ddc1b24004f824e49" - ], - [ - "FStar.OrdSet.unsnoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.last_direct.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.liat_direct.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.last", "equation_FStar.OrdSet.last_lib", - "equation_FStar.OrdSet.liat", "equation_FStar.OrdSet.liat_lib", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.last_direct.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.liat_direct.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4120e8e24add6e16b0b8fe648f1688be", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.liat_direct", "typing_FStar.OrdSet.liat_lib", - "typing_FStar.OrdSet.tail" - ], - 0, - "3c1bcc1c9e9201cd53c8531dbeec21c5" - ], - [ - "FStar.OrdSet.unsnoc", - 3, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "9364ec7f2abc6fa849bebe9ed2c9349a" - ], - [ - "FStar.OrdSet.as_list", - 1, - 2, - 1, - [ "@query", "equation_FStar.OrdSet.mem" ], - 0, - "457173190bf2d88842a3ae01e7da854e" - ], - [ - "FStar.OrdSet.insert'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "685023d0663bcc9a7d5fe044a19a7355" - ], - [ - "FStar.OrdSet.insert'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f0d732206ebc6c8ef27ebd8394f9be5a", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "ff9a7973fe3488d50adc16c8e812959d" - ], - [ - "FStar.OrdSet.insert'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "44add728e382f501ac9effa37be06f4d" - ], - [ - "FStar.OrdSet.distinct'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", "subterm_ordering_Prims.Cons" - ], - 0, - "f1f8bb898290693fb82f239ad54d4049" - ], - [ - "FStar.OrdSet.insert_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.tail", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.mem" - ], - 0, - "f6dcc4cbeefaeb1335e780d2c186e342" - ], - [ - "FStar.OrdSet.insert_sub", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@query", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_hd", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "token_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.as_list", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.mem", - "typing_Prims.__proj__Cons__item__hd", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "f663f44af08791f70bf8140cde8aad76" - ], - [ - "FStar.OrdSet.distinct_props", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.distinct_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.distinct_.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.mem", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.distinct_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem" - ], - 0, - "165a758e49ebc485e08f51b52529e736" - ], - [ - "FStar.OrdSet.distinct", - 1, - 2, - 1, - [ "@query" ], - 0, - "ecd26360f71fdc8da20b69a278d5fd7a" - ], - [ - "FStar.OrdSet.union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "8dbc47ebc954220e25224e8efb637b9a" - ], - [ - "FStar.OrdSet.remove'", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.empty", - "lemma_FStar.OrdSet.hasEq_ordset", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f6682128d5bf9fd9d8d2f13f1953ea65" - ], - [ - "FStar.OrdSet.remove'", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "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_5753a191b830ae5579a0b67fff274cf2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "f95caf592b43310b777f292f13a8393e" - ], - [ - "FStar.OrdSet.remove'", - 3, - 2, - 1, - [ - "@query", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.empty", - "lemma_FStar.OrdSet.hasEq_ordset", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0dee3112164fad50512c43787ae86c34" - ], - [ - "FStar.OrdSet.liat_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.liat", - "equation_FStar.OrdSet.liat_lib", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.hasEq_ordset", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58d5bc8a1bc5d67357e03d8c2a3a12c9", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.OrdSet.empty", - "typing_FStar.OrdSet.liat", "typing_FStar.OrdSet.liat_lib" - ], - 0, - "75b7465266cd42ad6b683bcdc6bc2fd5" - ], - [ - "FStar.OrdSet.liat_length", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ed1d89151dd6ad819ec19367901378d4" - ], - [ - "FStar.OrdSet.not_mem_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_e30b609aa55e6fae2a5527dce3ebc3de", "int_inversion", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.size_" - ], - 0, - "4774fd3bae70edb120a4f1db529e1c0e" - ], - [ - "FStar.OrdSet.not_mem_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5c30cb2f36d6d6a4c8100d19d4c90e5d", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "6c7265e3e881eb79ea9bdbac3046ddf9" - ], - [ - "FStar.OrdSet.subset'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "7d6cbe23da18546f25fa964fb59e8293" - ], - [ - "FStar.OrdSet.tail_is_subset", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_tl", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_bbc478bee47f1ea37f9ef8896575163f", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.size_", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.subset_", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "c8ec1da5a81aaa6918eac71416690e26" - ], - [ - "FStar.OrdSet.self_is_subset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "96851df02888552feaf7653b306f704b" - ], - [ - "FStar.OrdSet.remove_until_greater_than", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e2145dc1b4721e7cdccf736977051150", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.subset_", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "a133b52105a756d3c331e9fb56b8fead" - ], - [ - "FStar.OrdSet.remove_until_greater_than", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.ordset", - "equation_FStar.Pervasives.Native.fst", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "792ba158ce636d3f389e06a70779c2a4" - ], - [ - "FStar.OrdSet.remove_until_gt_prop", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9640c1cea8377989998530c25bd604b2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.remove_until_greater_than", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool", - "unit_inversion", "unit_typing" - ], - 0, - "cd0614827ecc75145b934467c1520ba2" - ], - [ - "FStar.OrdSet.remove_until_gt_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9640c1cea8377989998530c25bd604b2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.remove_until_greater_than", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "c252574ad68fe60aaf2c4129caacd492" - ], - [ - "FStar.OrdSet.mem_implies_f", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "b2t_def", - "bool_inversion", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_Prims.uu___is_Cons" - ], - 0, - "a691963f9005e2360b6512ed65f58b2d" - ], - [ - "FStar.OrdSet.smart_intersect", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "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_0cfc1950c1dc0e80ff2d9d3390940443", - "refinement_interpretation_Tm_refine_1165406cddd8f664e183a566a27766e2", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_62d4b6e95789aecea975569a480a026a", - "refinement_interpretation_Tm_refine_a4ea2ea9756b2f311a945d9b0508fb32", - "refinement_interpretation_Tm_refine_aa8d3dc33e9e36387f31071d7ddc6180", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_b898ba78f3e258b2b1f483876353a254", - "refinement_interpretation_Tm_refine_d907485e9f76255c6b31e385e123d13b", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.ordset", "typing_FStar.OrdSet.size_", - "typing_FStar.OrdSet.smart_intersect", "typing_FStar.OrdSet.sorted", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "2caa536ee9402d5b6400fd1fce14ae70" - ], - [ - "FStar.OrdSet.choose", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "9e757bf68ee57b626e8a8fdf1cfe1357" - ], - [ - "FStar.OrdSet.singleton", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "0e3e9a698b9f0a50a489c5b085bac06b" - ], - [ - "FStar.OrdSet.mem_of_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d4800b78396c98d3eb75249d3432516c", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "819e3a712f5f2709c5ecdf5d8b40deb6" - ], - [ - "FStar.OrdSet.mem_of_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.size" - ], - 0, - "2906554283824a3f0934ffb5b0f96dd0" - ], - [ - "FStar.OrdSet.not_mem_of_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.empty", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.tail", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "a7de8fc6ca17cfdd438c7cf444caba63" - ], - [ - "FStar.OrdSet.set_props", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.tail" - ], - 0, - "a8def81bc1813d0681ed24dd1a6e52a7" - ], - [ - "FStar.OrdSet.set_props", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ac3dd6ab65e844d9bc7bf266609e964d", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "93edf15a3734a4658505aa28034f285a" - ], - [ - "FStar.OrdSet.same_members_means_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.sorted", "unit_inversion", "unit_typing" - ], - 0, - "acc11d74a1ff57e4ab9676e31ddc24f9" - ], - [ - "FStar.OrdSet.intersect_is_symmetric", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.OrdSet.intersect", "equation_FStar.OrdSet.mem", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.smart_intersect" - ], - 0, - "20ee8b98b4ed3ce844b7066beb271bfd" - ], - [ - "FStar.OrdSet.remove_until_gt_exclusion", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.mem", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "623360adc203f669c7830d0e7aa31d10" - ], - [ - "FStar.OrdSet.mem_implies_subset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.subset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_disEquality", "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_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_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.head", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.subset", - "typing_FStar.OrdSet.tail", "unit_inversion", "unit_typing" - ], - 0, - "0bdfda5110675a4be61bdac168a332cc" - ], - [ - "FStar.OrdSet.subset_implies_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.subset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "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", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.subset", - "unit_inversion", "unit_typing" - ], - 0, - "784b9ef3d80b23dfc87acfbc7758c2cf" - ], - [ - "FStar.OrdSet.subset_transitivity", - 1, - 2, - 1, - [ "@query" ], - 0, - "ac8d764e7fceb893465c13834fa5862e" - ], - [ - "FStar.OrdSet.head_is_never_in_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_hd", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.tail" - ], - 0, - "c9797b242966ef62f4ac5ec7bd3aac27" - ], - [ - "FStar.OrdSet.smart_minus", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.subset", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "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_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_66ac9b2d155d3772552a0a90409aca23", - "refinement_interpretation_Tm_refine_6790765c6dce913ff568ec466b609e3c", - "refinement_interpretation_Tm_refine_a082a2705d16e53de29e69a29494e7b9", - "refinement_interpretation_Tm_refine_a4cf788713473a73bd48303162cba50b", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.smart_minus", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.subset", "typing_FStar.OrdSet.subset_", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "bf28ba5919fc0a662f8dbede529b4b60" - ], - [ - "FStar.OrdSet.smart_minus", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "assumption_Prims.list__uu___haseq", "bool_inversion", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "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", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "8502eb4f10d21e9d0b2114a2cc8ddf5c" - ], - [ - "FStar.OrdSet.empty_minus_means_subset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.smart_minus.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.smart_minus.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6790765c6dce913ff568ec466b609e3c", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.smart_minus" - ], - 0, - "f926576a9df7fafa13bc7befa8a7a1e4" - ], - [ - "FStar.OrdSet.uu___0", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.smart_minus.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.OrdSet_interpretation_Tm_arrow_d6e7225e69a61b7f50fabfdd79d8cdc0", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ncmp", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.smart_minus.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.OrdSet.ncmp", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9640c1cea8377989998530c25bd604b2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.ncmp", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.remove_until_greater_than", - "typing_FStar.OrdSet.size_", "typing_FStar.Pervasives.Native.fst", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "dd2cfaafb62000c4b90791326128cf07" - ], - [ - "FStar.OrdSet.strict_subset", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "531a00e94b8c18e35b3d55164ad4be9e" - ], - [ - "FStar.OrdSet.disjoint", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "c7ae1ae7e2ddb3fc3c15a18fdf353f83" - ], - [ - "FStar.OrdSet.eq_lemma", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "f1d8032fe93ad7d1343b47baca640523" - ], - [ - "FStar.OrdSet.eq_lemma", - 2, - 2, - 1, - [ "@query", "equation_FStar.OrdSet.equal" ], - 0, - "0d907265893a50ff0eebe5b896dac6e4" - ], - [ - "FStar.OrdSet.mem_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty" - ], - 0, - "0ba485de489e12ef7eb7455beab41ab2" - ], - [ - "FStar.OrdSet.mem_singleton", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.singleton", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "primitive_Prims.op_Equality", "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_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.singleton" - ], - 0, - "fd78210680f5cedb4362bd22ad18ca47" - ], - [ - "FStar.OrdSet.mem_insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@query", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_hd", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "token_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.as_list", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.mem", - "typing_Prims.__proj__Cons__item__hd", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "587444258403c8cae385f7d65cd33e51" - ], - [ - "FStar.OrdSet.mem_union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_157b99e815dc43d99415725267e9c452_4", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.size", - "typing_FStar.OrdSet.union" - ], - 0, - "e6a1cc29882a48badd2d6f688da87a46" - ], - [ - "FStar.OrdSet.mem_intersect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdSet.intersect", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "typing_FStar.OrdSet.smart_intersect" - ], - 0, - "c899a007d17c57eea9618c7da17e9194" - ], - [ - "FStar.OrdSet.mem_subset", - 1, - 2, - 1, - [ "@query" ], - 0, - "68107cd8fd6753dafa4bbeb79beff723" - ], - [ - "FStar.OrdSet.choose_empty", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.OrdSet.choose", "equation_FStar.OrdSet.empty", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_Prims.Nil_a" - ], - 0, - "58d9f9b0ae5433d116310724f8b8695f" - ], - [ - "FStar.OrdSet.choose_s", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "29674898c7f9f93f561cc17d24c31b40" - ], - [ - "FStar.OrdSet.choose_s", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.choose", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.remove", - "equation_FStar.OrdSet.singleton", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.singleton", - "typing_FStar.OrdSet.union", "typing_Prims.__proj__Cons__item__hd" - ], - 0, - "eac6e55e9313090b65d9ac4898480fd6" - ], - [ - "FStar.OrdSet.mem_remove", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_3963c708585e84be8cb36ae94c32dace_4", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.remove", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Negation", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_486b372c104b1ba6d996c22d159d096b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_FStar.OrdSet.remove_" - ], - 0, - "345f61a28c00d1876e108a7431992df1" - ], - [ - "FStar.OrdSet.eq_remove", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "906baf5d9b2dbf94fcdcf83c2c95095e" - ], - [ - "FStar.OrdSet.eq_remove", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.remove", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted" - ], - 0, - "ed4ddea695d0733536da6684ecbea3ac" - ], - [ - "FStar.OrdSet.size_empty", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "e878b80a03cf134435155c6a332eb2e7" - ], - [ - "FStar.OrdSet.size_empty", - 2, - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "496fbe7afbe1bb3bda2f839de5642307" - ], - [ - "FStar.OrdSet.size_remove", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.remove", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.remove", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "typing_Prims.uu___is_Cons" - ], - 0, - "b0bebb80b561dc5316a7be6a0b002c9c" - ], - [ - "FStar.OrdSet.size_singleton", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.singleton", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.singleton", - "typing_FStar.OrdSet.size" - ], - 0, - "301a96003898c72123392d917af7f73d" - ], - [ - "FStar.OrdSet.subset_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "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", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.subset", "unit_inversion", "unit_typing" - ], - 0, - "43358d3772e0186186877eb393b44249" - ], - [ - "FStar.OrdSet.insert_when_already_exists", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "35f39d543c40c812befe2e8e46f89723" - ], - [ - "FStar.OrdSet.size_insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.size" - ], - 0, - "7e286e70c5e9d735ad4e55cfcd0e0778" - ], - [ - "FStar.OrdSet.precise_size_insert", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.insert_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.size" - ], - 0, - "090727ea2da5b0e054b5517eb77af288" - ], - [ - "FStar.OrdSet.size_of_union_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "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_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "f605875c3dfb7918b8606015b9e9134a" - ], - [ - "FStar.OrdSet.size_of_union_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.union" - ], - 0, - "76a251542c43c1b341bfb115199865fe" - ], - [ - "FStar.OrdSet.size_union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.union" - ], - 0, - "a33f34e3e9d0c4defef697b45a2efaee" - ], - [ - "FStar.OrdSet.map_internal", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.OrdSet_interpretation_Tm_arrow_4a738beb54a2101fc15ce330315b8080", - "binder_x_02cff98944ef66ec880205e2a320dece_4", - "binder_x_75b1ecd18c7ec762830a954dba25c6a8_5", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "d785734a27a5c2b3cf92951656df02c4" - ], - [ - "FStar.OrdSet.map_internal", - 2, - 2, - 1, - [ "@query" ], - 0, - "444d0b5eb628ce7a2f712ee4ae3b9a91" - ], - [ - "FStar.OrdSet.map_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.map_internal.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.map_internal.fuel_instrumented", - "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.OrdSet_interpretation_Tm_arrow_4a738beb54a2101fc15ce330315b8080", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_02cff98944ef66ec880205e2a320dece_4", - "binder_x_75b1ecd18c7ec762830a954dba25c6a8_5", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.map_internal.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_21b1c025dd6d7497d720960f268e41f1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f53a2abb8d70c5f3a4004349c3579c3", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.map_internal", "typing_FStar.OrdSet.size" - ], - 0, - "74d7d3804ac5e23a5aad16e12434ac07" - ], - [ - "FStar.OrdSet.map_size", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e94bce33a339f4c3ac34abed8b95555" - ], - 0, - "720846002351d3a659f8dfe6adee606b" - ], - [ - "FStar.OrdSet.map_as_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.map_internal.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.map_internal.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.Classical_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.OrdSet_interpretation_Tm_arrow_4a738beb54a2101fc15ce330315b8080", - "binder_x_02cff98944ef66ec880205e2a320dece_4", - "binder_x_75b1ecd18c7ec762830a954dba25c6a8_5", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.map_internal.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "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_21b1c025dd6d7497d720960f268e41f1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5f53a2abb8d70c5f3a4004349c3579c3", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.as_list", "typing_FStar.OrdSet.map_internal" - ], - 0, - "c660e2683ed331e5af488b5e19d3b90e" - ], - [ - "FStar.OrdSet.map_as_list", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1e94bce33a339f4c3ac34abed8b95555" - ], - 0, - "1e8475ecd246f928e59623d909eed082" - ], - [ - "FStar.OrdSet.map", - 1, - 2, - 1, - [ "@query" ], - 0, - "bc2a9f6d4c19b64f00fb4fcd3fa775fd" - ], - [ - "FStar.OrdSet.map", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.map_internal.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "lemma_FStar.List.Tot.Properties.map_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "6dc0e75ccc0f8b121b0fba954a3ece14" - ], - [ - "FStar.OrdSet.lemma_strict_subset_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.strict_subset", - "equation_FStar.OrdSet.subset", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.subset_size", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.subset" - ], - 0, - "6bd6a563b841651ff4677b9271bb70d3" - ], - [ - "FStar.OrdSet.lemma_minus_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdSet.minus", - "refinement_interpretation_Tm_refine_6790765c6dce913ff568ec466b609e3c", - "typing_FStar.OrdSet.smart_minus" - ], - 0, - "094253763cc462dd39e8c618215ae0a5" - ], - [ - "FStar.OrdSet.strict_subset_implies_diff_element", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.subset_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.subset_.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.strict_subset", - "equation_FStar.OrdSet.subset", "equation_FStar.OrdSet.tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.subset_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.lemma_strict_subset_size", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.strict_subset", "typing_FStar.OrdSet.subset", - "unit_inversion", "unit_typing" - ], - 0, - "039f0e9006fe67191b36ffecd944dc8d" - ], - [ - "FStar.OrdSet.diff_element_implies_strict_subset", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.strict_subset", - "equation_FStar.OrdSet.subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "afee765bb03cf1f911981cb7254e6654" - ], - [ - "FStar.OrdSet.lemma_strict_subset_exists_diff", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.strict_subset", - "equation_FStar.OrdSet.subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.subset" - ], - 0, - "1bc65eea730c8b047c62d4648b92dfd1" - ], - [ - "FStar.OrdSet.inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.OrdSet.condition", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0" - ], - 0, - "7d799356f0766bf120ff518d0fec16ea" - ], - [ - "FStar.OrdSet.count", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_Prims.nat", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "b80a28a5ca8aa94999278bd2b93b9a51" - ], - [ - "FStar.OrdSet.count_of_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_d4800b78396c98d3eb75249d3432516c" - ], - 0, - "e7e94c8cc04e8a2455e00bb5dc10e1c6" - ], - [ - "FStar.OrdSet.count_of_impossible", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.ordset", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_31a9fead359432ac16841bee7754c085", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "9f47ec334f22a1a1aa57c41041c3e03c" - ], - [ - "FStar.OrdSet.count_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2baa99391baf13c4ce47c3599ff128b7" - ], - [ - "FStar.OrdSet.count_all", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.condition", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_e454bb45f8b557a13ac008f75759e9b1", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "6ba429f0337e4febe0959a1def058db7" - ], - [ - "FStar.OrdSet.count_of_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" - ], - 0, - "7d18199497a1ec5266ae71441bd20f96" - ], - [ - "FStar.OrdSet.count_of_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", - "binder_x_ee6921a280f7301aba7f4765ab61118f_2", "bool_inversion", - "constructor_distinct_BoxInt", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_e7b565ff2b1fafbc2dae7230dce656a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.tail" - ], - 0, - "efaa2f7c7f923e1481059b1f62813fe6" - ], - [ - "FStar.OrdSet.count_of_cons", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" - ], - 0, - "60904db85de973d17d48366fc0cb9999" - ], - [ - "FStar.OrdSet.all", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "aa558b48365c04b3a0fbea05edcc4ac9" - ], - [ - "FStar.OrdSet.any", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.condition", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.sorted" - ], - 0, - "ac8d6c4b669a0178dca47955a0e5ca82" - ], - [ - "FStar.OrdSet.mem_if_any", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.any.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_338c7b85b40df6e86754b2067fbfe577_4", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "constructor_distinct_Prims.Nil", "equation_FStar.OrdSet.condition", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "lemma_FStar.OrdSet.mem_empty", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba9a087bded90bfa518519383482f840", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.any.fuel_instrumented", - "typing_FStar.OrdSet.mem" - ], - 0, - "2352483e1296003ec738ac71d6896459" - ], - [ - "FStar.OrdSet.any_if_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.any.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.any", "typing_FStar.OrdSet.mem" - ], - 0, - "8c3d5a4a100ad53d91787195fa150435" - ], - [ - "FStar.OrdSet.all_means_not_any_not", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.all.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.all.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.any.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.inv", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.all.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Negation", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "f3b29230d446083c583fbbbac0b1f9ac" - ], - [ - "FStar.OrdSet.find_first", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "e3bc8974dae86108509c4d888f3eba39" - ], - [ - "FStar.OrdSet.find_first_is_some_iff_any", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.find_first.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.any.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.find_first.fuel_instrumented", - "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.condition", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.find_first.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_BarBar", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.any", "typing_FStar.OrdSet.find_first" - ], - 0, - "1e033c563e76e266c0899ca6bf28c313" - ], - [ - "FStar.OrdSet.find_first_precedes_any_other", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.find_first.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.find_first.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "binder_x_338c7b85b40df6e86754b2067fbfe577_4", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.condition", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.find_first.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_ba9a087bded90bfa518519383482f840", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.find_first.fuel_instrumented", - "typing_FStar.OrdSet.find_first", "typing_FStar.OrdSet.mem" - ], - 0, - "936865b53bed3484888024b08d92b65c" - ], - [ - "FStar.OrdSet.liat_size", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "2fa7dc2dbdd3647e0f5470c53aca5ce2" - ], - [ - "FStar.OrdSet.liat_size", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.liat", "equation_FStar.OrdSet.liat_lib", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.Pervasives.Native.fst", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_18596bd0bbbb363fbed01dd437ac95c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58d5bc8a1bc5d67357e03d8c2a3a12c9", - "refinement_interpretation_Tm_refine_644384ebb69cd1a97c91ad16dd5e5dde", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.OrdSet.liat", - "typing_FStar.OrdSet.liat_lib", "typing_FStar.OrdSet.tail" - ], - 0, - "4aacf9b7fd3f890c3f63fdd7c5c61244" - ], - [ - "FStar.OrdSet.liat_size", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_FStar.OrdSet.empty", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b9d808f319731938f68af76d297907af" - ], - [ - "FStar.OrdSet.mem_liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "94873f71f7897ec7e9676bd94acbcc20" - ], - [ - "FStar.OrdSet.mem_liat", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "bool_inversion", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.last", "equation_FStar.OrdSet.liat", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_18596bd0bbbb363fbed01dd437ac95c2", - "refinement_interpretation_Tm_refine_4f23798424743439cfd1a6dbbdfab8b5", - "refinement_interpretation_Tm_refine_58d5bc8a1bc5d67357e03d8c2a3a12c9", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.last", "typing_FStar.OrdSet.last_lib", - "typing_FStar.OrdSet.liat", "typing_FStar.OrdSet.mem" - ], - 0, - "50367dc6ae57b6766ba52814dcd55da4" - ], - [ - "FStar.OrdSet.mem_liat", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_FStar.OrdSet.empty", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "b9d808f319731938f68af76d297907af" - ], - [ - "FStar.OrdSet.any_liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "162888d06fa276ab55176ee0c8b8a083" - ], - [ - "FStar.OrdSet.any_liat", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.any.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ae0b024e0b51b30198b1597a0ec71b1c_2", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.unsnoc", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.last", - "equation_FStar.OrdSet.last_lib", "equation_FStar.OrdSet.liat", - "equation_FStar.OrdSet.liat_lib", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "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_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_00eeaf12d1610b63dba14127574fd9a7", - "refinement_interpretation_Tm_refine_1fa2d4f9ee9efd308235130dea9a50b6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f23798424743439cfd1a6dbbdfab8b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58d5bc8a1bc5d67357e03d8c2a3a12c9", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.any.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.OrdSet.any", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.head", - "typing_FStar.OrdSet.last", "typing_FStar.OrdSet.last_lib", - "typing_FStar.OrdSet.liat", "typing_FStar.OrdSet.liat_lib", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.tail", "unit_inversion", "unit_typing" - ], - 0, - "943a63750569f93d8e03d9585b025e75" - ], - [ - "FStar.OrdSet.any_liat", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_FStar.OrdSet.empty", - "equation_Prims.eqtype", "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "d919562fced36da2d4681d616d90dc49" - ], - [ - "FStar.OrdSet.find_last'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.OrdSet.liat", "equation_FStar.OrdSet.liat_lib", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.unsnoc", "equation_Prims.eqtype", - "equation_Prims.nat", "int_typing", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.ordset", "typing_FStar.OrdSet.size", - "well-founded-ordering-on-nat" - ], - 0, - "10d4f23f25707e9347005cdffadcfb1e" - ], - [ - "FStar.OrdSet.find_last_props", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.find_last_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.find_last_.fuel_instrumented", - "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.liat", "equation_FStar.OrdSet.liat_lib", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.unsnoc", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.any.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.find_last_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.size_empty", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_00eeaf12d1610b63dba14127574fd9a7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f23798424743439cfd1a6dbbdfab8b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_58d5bc8a1bc5d67357e03d8c2a3a12c9", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ba9a087bded90bfa518519383482f840", - "refinement_interpretation_Tm_refine_ce5e5dac29701e8b4e588f323da59187", - "refinement_interpretation_Tm_refine_da85ada3e2330cb844c215ff101b72f7", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.find_last_", - "typing_FStar.OrdSet.last", "typing_FStar.OrdSet.liat", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.size", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "4c15a5d63264d515c5a91f278c549c3e" - ], - [ - "FStar.OrdSet.find_last_props", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.find_last_.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_293ce803f5764049eb95a473f9080b05", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.OrdSet.find_last_" - ], - 0, - "7d9ec83dd5f93954c35081b6b668b16b" - ], - [ - "FStar.OrdSet.find_last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ca0844bb9b263a7858b706440d298d61" - ], - [ - "FStar.OrdSet.find_last", - 2, - 2, - 1, - [ "@query" ], - 0, - "46fe00345a55b6fcc0ed8fed725d4f78" - ], - [ - "FStar.OrdSet.find_last_is_some_iff_any", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.any.fuel_instrumented", "@query", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSet.find_last", "typing_FStar.OrdSet.any" - ], - 0, - "1a14e02df7c7996f88f9399a65f6d9e1" - ], - [ - "FStar.OrdSet.find_last_follows_any_other", - 1, - 2, - 1, - [ "@query" ], - 0, - "42133021b41d30ad9a17e45b6bd62dd7" - ], - [ - "FStar.OrdSet.find_last_follows_any_other", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdSet.find_last", - "proj_equation_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_3feaf3c0104236703ca652ec348cfba0" - ], - 0, - "9db7018a3fee3a8f0fd6a669bba1d3f2" - ], - [ - "FStar.OrdSet.size_of_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.OrdSet.size", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "typing_FStar.OrdSet.empty" - ], - 0, - "087f243b1e48fe642628287299f9c47d" - ], - [ - "FStar.OrdSet.size_of_tail", - 2, - 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", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de" - ], - 0, - "3b1a6be9dc9b9fdd101101cdeaa0b52c" - ], - [ - "FStar.OrdSet.count_of_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" - ], - 0, - "331960f750f9245e68aab400d5825f89" - ], - [ - "FStar.OrdSet.count_of_tail", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Tm_unit", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.count.fuel_instrumented", - "typing_FStar.OrdSet.count", "typing_FStar.OrdSet.size", - "typing_FStar.OrdSet.tail" - ], - 0, - "9b11f414ea177edc25255eaf623f7e77" - ], - [ - "FStar.OrdSet.where", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bd396f6426e85c1be034eaa2035e875b" - ], - [ - "FStar.OrdSet.where", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "bool_typing", "constructor_distinct_BoxBool", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "equation_with_fuel_FStar.List.Tot.Base.filter.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.List.Tot.Base.mem_filter_forall", - "lemma_FStar.List.Tot.Properties.mem_memP", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1927efde1a60a99c24024d8c1dd2013c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_bf3286e989b9e3b771a55b1950fb6016", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.filter", "typing_FStar.OrdSet.as_list", - "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.where", "typing_Prims.__proj__Cons__item__hd", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.uu___is_Nil" - ], - 0, - "72746c4a4d06ff587a20d79e22c24f45" - ], - [ - "FStar.OrdSet.where", - 3, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "446abcdf3885a2323f2d1b782e685d3c" - ], - [ - "FStar.OrdSet.intersect_eq_where", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "f005a4432903d8d9eaa0c2661e19bea8" - ], - [ - "FStar.OrdSet.intersect_eq_where", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.mem_intersect" ], - 0, - "e746806d2855d1d4ed4eb2c8f8c8c67d" - ], - [ - "FStar.OrdSet.minus_eq_where", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "3ac0d8d41e1c3585ede89af3156e7486" - ], - [ - "FStar.OrdSet.minus_eq_where", - 2, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.inv", - "function_token_typing_FStar.OrdSet.inv", - "interpretation_Tm_abs_cba426c79607643cdc592859d5d1dca2", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.OrdSet.lemma_minus_mem" - ], - 0, - "f69a67878c7a94d510efcd0e34705140" - ], - [ - "FStar.OrdSet.count_is_size_of_where", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0c381624ddf7d28a0a44ea2049d37cec" - ], - [ - "FStar.OrdSet.count_is_size_of_where", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.where.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.filter.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.filter.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.where.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1927efde1a60a99c24024d8c1dd2013c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_46556b5454447767936d1700471844e2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.filter", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.where", "typing_Prims.__proj__Cons__item__tl", - "typing_Prims.int" - ], - 0, - "4835d016119a901193e66036b1a88991" - ], - [ - "FStar.OrdSet.size_of_intersect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "66001c72201d5feed85f6081e818650a" - ], - [ - "FStar.OrdSet.size_of_intersect", - 2, - 2, - 1, - [ "@query" ], - 0, - "01cd87492db655752ce350525b01a3a8" - ], - [ - "FStar.OrdSet.union_with_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.union" - ], - 0, - "e39282dd3c3aeeebd0c49f58d59b34db" - ], - [ - "FStar.OrdSet.union_head_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.cmp", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "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_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "token_correspondence_FStar.OrdSet.union.fuel_instrumented", - "typing_FStar.OrdSet.as_list", "typing_FStar.OrdSet.empty", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.union", "typing_Prims.__proj__Cons__item__hd" - ], - 0, - "1fee1a91e8f55f3cc747ae3c7f9bdae7" - ], - [ - "FStar.OrdSet.union_sort_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_hd", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.sorted", - "typing_FStar.OrdSet.union", "unit_inversion", "unit_typing" - ], - 0, - "1107d3b1553ce74b018bfe7f0237ef5e" - ], - [ - "FStar.OrdSet.union_with_prefix", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "assumption_Prims.list__uu___haseq", "bool_inversion", - "constructor_distinct_Prims.Cons", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b58c44292372829eb366398aca347f0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "refinement_interpretation_Tm_refine_f75efcff7f5aa65217a79b6170c1458b", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.as_list", - "typing_FStar.OrdSet.insert_", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.union" - ], - 0, - "a5d8ba397c682b7b3e2e3c1db4eb01b7" - ], - [ - "FStar.OrdSet.union_of_tails_size", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "equation_FStar.OrdSet.as_list", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.head", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_disEquality", - "proj_equation_Prims.Cons_hd", "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_234761395b062f34819e7d641080b910", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.OrdSet.insert_", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.size", - "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.union" - ], - 0, - "ad1f68dd2607f7bc989fc3e2056c24f0" - ], - [ - "FStar.OrdSet.union_is_symmetric", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "bool_inversion", "equation_FStar.OrdSet.mem", - "lemma_FStar.OrdSet.hasEq_ordset", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.union" - ], - 0, - "b7d8096080cda019cd837fed39cddab1" - ], - [ - "FStar.OrdSet.size_of_union_aux_1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.smart_intersect.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.intersect", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.smart_intersect.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.OrdSet.mem_empty", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "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_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9640c1cea8377989998530c25bd604b2", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.smart_intersect.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.head", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.remove_until_greater_than", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.smart_intersect", - "typing_FStar.OrdSet.sorted", "typing_FStar.OrdSet.tail", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.bool" - ], - 0, - "58b69b2e540ac5e721d6140a41033ed2" - ], - [ - "FStar.OrdSet.size_of_union_aux_1", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "3dc253946c38f7df0a50cb0348f64f47" - ], - [ - "FStar.OrdSet.size_of_union_aux_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "bool_typing", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.tail", "equation_FStar.OrdSet.total_order", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9e27868bf8b51c15d65a2cfa9537b200", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.head", "typing_FStar.OrdSet.tail" - ], - 0, - "b15830da0130aefe765f2073e50f485a" - ], - [ - "FStar.OrdSet.size_of_union_aux_2", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "3dc253946c38f7df0a50cb0348f64f47" - ], - [ - "FStar.OrdSet.size_of_union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.insert_.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.smart_intersect.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.smart_intersect.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.cmp", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.head", - "equation_FStar.OrdSet.intersect", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.tail", - "equation_FStar.OrdSet.total_order", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.insert_.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.remove_until_greater_than.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.smart_intersect.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9640c1cea8377989998530c25bd604b2", - "refinement_interpretation_Tm_refine_ab7002f28034b3367f374997a0b53d50", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.intersect", - "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.remove_until_greater_than", - "typing_FStar.OrdSet.size", "typing_FStar.OrdSet.sorted", - "unit_inversion", "unit_typing" - ], - 0, - "56c19f057f18fc0e9cf0038330ad8dff" - ], - [ - "FStar.OrdSet.count_dichotomy", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.count.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.count.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_Prims.list__uu___haseq", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_dccca1ff8b53505a4e8c895fb3be776b_3", "bool_inversion", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.condition", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.inv", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.size", "equation_FStar.OrdSet.size_", - "equation_FStar.OrdSet.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.count.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.size", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "a2b4396a7d97bdbb183600d57366aae0" - ], - [ - "FStar.OrdSet.size_of_minus", - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.minus", "typing_FStar.OrdSet.size" - ], - 0, - "357fc26e06fa677bd86b51d9a809c580" - ], - [ - "FStar.OrdSet.intersect_with_subset", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "54eab7af511de81e4e88b8e6acb073c1" - ], - [ - "FStar.OrdSet.intersect_with_subset", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "bool_inversion", "equation_FStar.OrdSet.intersect", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "lemma_FStar.OrdSet.mem_intersect", "lemma_FStar.OrdSet.mem_subset", - "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem" - ], - 0, - "7f8433778e7b4b1f5559c876abcbcdde" - ], - [ - "FStar.OrdSet.lemma_strict_subset_minus_size", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.size", - "lemma_FStar.OrdSet.lemma_strict_subset_size", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "267b4a8a950e66f841f628f3eb0b534e" - ], - [ - "FStar.OrdSet.lemma_disjoint_union_subset", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", "equation_FStar.OrdSet.size", - "equation_FStar.OrdSet.size_", "equation_FStar.OrdSet.strict_subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.union" - ], - 0, - "992fe1fdc030b16d0b69b846867ba452" - ], - [ - "FStar.OrdSet.lemma_subset_union", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "equation_FStar.OrdSet.mem", "lemma_FStar.OrdSet.mem_subset", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", "typing_FStar.OrdSet.union" - ], - 0, - "64cd227ac807efaa72dcfd17c402af35" - ], - [ - "FStar.OrdSet.lemma_strict_subset_transitive", - 1, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.ordset", - "equation_FStar.OrdSet.strict_subset", - "lemma_FStar.OrdSet.lemma_strict_subset_size", - "lemma_FStar.OrdSet.mem_subset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "76350966a6f1bc97457745087d36daa9" - ], - [ - "FStar.OrdSet.lemma_intersect_symmetric", - 1, - 2, - 1, - [ "@query" ], - 0, - "15ec20f3e3423f8e747a07329dbf41ce" - ], - [ - "FStar.OrdSet.lemma_intersect_union_empty_aux1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "constructor_distinct_Prims.Nil", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.intersect", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.smart_intersect", - "typing_FStar.OrdSet.union" - ], - 0, - "00191f11ef326c36ae2098247ae41b2b" - ], - [ - "FStar.OrdSet.lemma_intersect_union_empty_aux2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.empty", "equation_FStar.OrdSet.equal", - "equation_FStar.OrdSet.intersect", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_intersect", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.empty", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.smart_intersect", "typing_FStar.OrdSet.union" - ], - 0, - "e3b96422261347544fee643fc91f9ae4" - ], - [ - "FStar.OrdSet.lemma_intersect_union_empty", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "b7552600bf3bf2035fb9aab63cb6bb92" - ], - [ - "FStar.OrdSet.lemma_intersect_union_empty", - 2, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.ordset", - "lemma_FStar.OrdSet.hasEq_ordset", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "f280595758fef9d477c40b59c03f7a25" - ], - [ - "FStar.OrdSet.lemma_union_symmetric", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.union.fuel_instrumented", - "lemma_FStar.OrdSet.mem_union", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.union" - ], - 0, - "bafd222bacf115799509684e2ef561d1" - ], - [ - "FStar.OrdSet.union_of_disjoint", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.union.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.union.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "equation_FStar.OrdSet.disjoint", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.intersect", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.minus", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "lemma_FStar.OrdSet.lemma_minus_mem", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "typing_FStar.OrdSet.intersect", "typing_FStar.OrdSet.mem", - "typing_FStar.OrdSet.minus", "typing_FStar.OrdSet.smart_intersect", - "typing_FStar.OrdSet.union" - ], - 0, - "9e30558120f9c5bf8127304a332ccf67" - ], - [ - "FStar.OrdSet.distinct_is_idempotent", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "06cb0625904c07606b7100f1200be4a9" - ], - [ - "FStar.OrdSet.distinct_is_idempotent", - 2, - 2, - 1, - [ - "@query", "equation_FStar.OrdSet.as_list", - "equation_FStar.OrdSet.equal", "equation_FStar.OrdSet.mem" - ], - 0, - "11e8940ebe8a6de2d50699ee5e06098c" - ], - [ - "FStar.OrdSet.as_set", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented" - ], - 0, - "c19a2933afc3bb4d6c744692164c2cd9" - ], - [ - "FStar.OrdSet.lemma_as_set_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.as_set.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.as_set.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.sorted.fuel_instrumented", "@query", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.OrdSet.mem", "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.as_set.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "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_e30b609aa55e6fae2a5527dce3ebc3de", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.OrdSet.as_set.fuel_instrumented", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.as_set", "typing_FStar.OrdSet.sorted", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "unit_inversion", "unit_typing" - ], - 0, - "57fad7aa259f51149df70aa1b9fce0fd" - ], - [ - "FStar.OrdSet.lemma_as_set_disjoint_right", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSet.as_set.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.as_set.fuel_instrumented", "@query", - "bool_inversion", "equation_FStar.OrdSet.intersect", - "equation_FStar.Set.disjoint", - "equation_with_fuel_FStar.OrdSet.as_set.fuel_instrumented", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.Set.lemma_equal_intro", - "lemma_FStar.Set.mem_empty", "lemma_FStar.Set.mem_intersect", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "typing_FStar.OrdSet.as_set", "typing_FStar.OrdSet.smart_intersect", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem" - ], - 0, - "e05713d291e86a17238db68876b51638" - ], - [ - "FStar.OrdSet.lemma_as_set_disjoint_left", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.as_set.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.smart_intersect.fuel_instrumented", - "@fuel_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSet.as_set.fuel_instrumented", "@query", - "bool_inversion", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "equation_FStar.OrdSet.empty", - "equation_FStar.OrdSet.intersect", "equation_FStar.OrdSet.mem", - "equation_FStar.OrdSet.ordset", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.as_set.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.smart_intersect.fuel_instrumented", - "equation_with_fuel_FStar.OrdSet.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.lemma_as_set_mem", - "lemma_FStar.OrdSet.lemma_intersect_symmetric", - "lemma_FStar.Set.disjoint_not_in_both", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_1733e37abf815f186dbb945cecea13b4", - "refinement_interpretation_Tm_refine_e30b609aa55e6fae2a5527dce3ebc3de", - "token_correspondence_FStar.OrdSet.sorted.fuel_instrumented", - "typing_FStar.OrdSet.as_set", "typing_FStar.OrdSet.intersect", - "typing_FStar.OrdSet.smart_intersect", "typing_FStar.Set.mem" - ], - 0, - "9d16d8e718324ed18bee7fb9d2567c23" - ], - [ - "FStar.OrdSet.lemma_as_set_disjoint", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "f0d84d753119fc38b883511f52674e7c" - ], - [ - "FStar.OrdSet.lemma_as_set_disjoint", - 2, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "4a0992dec3e8f0d1483ba3a8dae92079" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdSet.fsti.hints b/ulib/.hints/FStar.OrdSet.fsti.hints deleted file mode 100644 index c84fc954e60..00000000000 --- a/ulib/.hints/FStar.OrdSet.fsti.hints +++ /dev/null @@ -1,351 +0,0 @@ -[ - "XEx\u000b””VŠ†\u000e™0c`Pc", - [ - [ - "FStar.OrdSet.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "b64fdbcfa170f8dbef9f3381e13ad1d3" - ], - [ - "FStar.OrdSet.tail", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "c5aa6151926984ae1cd036d7b44d89d5" - ], - [ - "FStar.OrdSet.head", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "6481856d2fdcdc1049a4943261d77a5c" - ], - [ - "FStar.OrdSet.last", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "2976fa7aeb6dbe99afeb661b3caec724" - ], - [ - "FStar.OrdSet.liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "6db6c21abe67cd47b9de0d08edf45ae0" - ], - [ - "FStar.OrdSet.unsnoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "lemma_FStar.OrdSet.hasEq_ordset", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.OrdSet.ordset" - ], - 0, - "1743aaa88b114a785ac8142496b990a8" - ], - [ - "FStar.OrdSet.disjoint", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "073d2328c22893f6c415c91e912678c9" - ], - [ - "FStar.OrdSet.eq_lemma", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "f1d8032fe93ad7d1343b47baca640523" - ], - [ - "FStar.OrdSet.choose_s", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "4ae8371d43b81bf5208c10b102637fe8" - ], - [ - "FStar.OrdSet.eq_remove", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "dd7e5376165e8e56e16fc15bdd074895" - ], - [ - "FStar.OrdSet.size_empty", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "e878b80a03cf134435155c6a332eb2e7" - ], - [ - "FStar.OrdSet.map", - 1, - 2, - 1, - [ "@query" ], - 0, - "6ad4d6424b86bcd90b7975126201f073" - ], - [ - "FStar.OrdSet.inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "equation_FStar.OrdSet.condition", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0" - ], - 0, - "e16de837922529b60145b8659a6211a2" - ], - [ - "FStar.OrdSet.count_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4175c3915dc9cce38294fbd01f10bd69" - ], - [ - "FStar.OrdSet.count_of_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" - ], - 0, - "2b96888badd0ea4f329d80b7826c418b" - ], - [ - "FStar.OrdSet.liat_size", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ff106ecbb1599321c28b7662b64d13a2" - ], - [ - "FStar.OrdSet.mem_liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "94873f71f7897ec7e9676bd94acbcc20" - ], - [ - "FStar.OrdSet.any_liat", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "162888d06fa276ab55176ee0c8b8a083" - ], - [ - "FStar.OrdSet.find_last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "f65c8c257aaf6a5accf4c30cc48b1729" - ], - [ - "FStar.OrdSet.find_last_follows_any_other", - 1, - 2, - 1, - [ "@query" ], - 0, - "22d8c6431ee3a3648e6a83c20dea8a60" - ], - [ - "FStar.OrdSet.size_of_tail", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.OrdSet.empty" - ], - 0, - "087f243b1e48fe642628287299f9c47d" - ], - [ - "FStar.OrdSet.count_of_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.OrdSet.size_empty", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b23f132f9d3432a3e770986e649b46fe" - ], - 0, - "331960f750f9245e68aab400d5825f89" - ], - [ - "FStar.OrdSet.where", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.OrdSet.size_empty", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "projection_inverse_BoxBool_proj_0" - ], - 0, - "a0e087a9e426124123878c440d7dfe78" - ], - [ - "FStar.OrdSet.intersect_eq_where", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "772a525fe7359f12fecb473b83e32ec2" - ], - [ - "FStar.OrdSet.minus_eq_where", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "3ac0d8d41e1c3585ede89af3156e7486" - ], - [ - "FStar.OrdSet.count_is_size_of_where", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0c381624ddf7d28a0a44ea2049d37cec" - ], - [ - "FStar.OrdSet.size_of_intersect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4c880ba9375f794ac0390bc22ba8bdc8" - ], - [ - "FStar.OrdSet.intersect_with_subset", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "3d0b8569a75ea06105b245d2a0a30ba2" - ], - [ - "FStar.OrdSet.lemma_intersect_union_empty", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "d033a4ca86549bc029174c6dc733be38" - ], - [ - "FStar.OrdSet.distinct_is_idempotent", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "ce41132d863b44cc68c52e43b9706490" - ], - [ - "FStar.OrdSet.lemma_as_set_disjoint", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "80226b3711f3f6495abd3d6f422c98c4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.OrdSetProps.fst.hints b/ulib/.hints/FStar.OrdSetProps.fst.hints deleted file mode 100644 index 9c8dd3ca3f4..00000000000 --- a/ulib/.hints/FStar.OrdSetProps.fst.hints +++ /dev/null @@ -1,104 +0,0 @@ -[ - "\f!%”\u001a0ÞZ7ù³Ìé\u001e\u001e", - [ - [ - "FStar.OrdSetProps.fold", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_34dc71006f0a069879a6d574d22d2a15_5", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_1", - "binder_x_c5c25dca247d508510a7affacd974ee2_3", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "equation_Prims.nat", - "int_inversion", "lemma_FStar.OrdSet.choose_s", - "lemma_FStar.OrdSet.eq_remove", "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.mem_remove", "lemma_FStar.OrdSet.mem_singleton", - "lemma_FStar.OrdSet.mem_union", "lemma_FStar.OrdSet.size_remove", - "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.remove", "typing_FStar.OrdSet.singleton", - "typing_FStar.OrdSet.size", "well-founded-ordering-on-nat" - ], - 0, - "656c7bfe43c548cebbb4c88e746a71b8" - ], - [ - "FStar.OrdSetProps.union_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.OrdSetProps.fold.fuel_instrumented", - "@fuel_irrelevance_FStar.OrdSetProps.fold.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.OrdSetProps_interpretation_Tm_arrow_1cc037d9342a6808fbc818789e9bd189", - "binder_x_3963c708585e84be8cb36ae94c32dace_2", - "binder_x_3963c708585e84be8cb36ae94c32dace_3", - "binder_x_8ef5587a6264fd81b0d3cac747e5a773_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.OrdSetProps.insert", - "equation_FStar.OrdSetProps.union_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.OrdSetProps.fold.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_9eab8d03da31f5c9aab997821ea71ae4", - "lemma_FStar.OrdSet.choose_s", "lemma_FStar.OrdSet.eq_remove", - "lemma_FStar.OrdSet.hasEq_ordset", - "lemma_FStar.OrdSet.lemma_union_symmetric", - "lemma_FStar.OrdSet.mem_empty", "lemma_FStar.OrdSet.mem_remove", - "lemma_FStar.OrdSet.mem_singleton", "lemma_FStar.OrdSet.mem_union", - "lemma_FStar.OrdSet.size_remove", - "lemma_FStar.OrdSet.size_singleton", "lemma_FStar.OrdSet.size_union", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.OrdSet.choose", "typing_FStar.OrdSet.empty", - "typing_FStar.OrdSet.mem", "typing_FStar.OrdSet.ordset", - "typing_FStar.OrdSet.singleton", "typing_FStar.OrdSet.size", - "typing_FStar.OrdSetProps.union_", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_Tm_abs_9eab8d03da31f5c9aab997821ea71ae4", - "well-founded-ordering-on-nat" - ], - 0, - "8072dfa05eccf42a2e9e8db3839b5fe6" - ], - [ - "FStar.OrdSetProps.union_lemma'", - 1, - 2, - 1, - [ "@query", "lemma_FStar.OrdSet.hasEq_ordset" ], - 0, - "70732f20cf9e1886449d5f770a682095" - ], - [ - "FStar.OrdSetProps.union_lemma'", - 2, - 2, - 1, - [ "@query", "equation_FStar.OrdSet.equal" ], - 0, - "bb78990ad7ff3666f2956be44f351045" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Order.fst.hints b/ulib/.hints/FStar.Order.fst.hints deleted file mode 100644 index 78306bfd316..00000000000 --- a/ulib/.hints/FStar.Order.fst.hints +++ /dev/null @@ -1,123 +0,0 @@ -[ - "§|BƒØg\u0001ÚÆÂýB\u0000Ç |", - [ - [ - "FStar.Order.ge", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "6cf5507472670b50d7eae9e412b086e7" - ], - [ - "FStar.Order.le", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "bb2d273a3e7fde7e8f1f7c48ec963b4b" - ], - [ - "FStar.Order.ne", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "9b488671e009daf08b7ffd8fe15a425c" - ], - [ - "FStar.Order.gt", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "d3954829c8509f81ff682b69048d2ec5" - ], - [ - "FStar.Order.lt", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "240c57a85db96cdab143672457e84039" - ], - [ - "FStar.Order.eq", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Order.order__uu___haseq" ], - 0, - "254276a45ac66b0733db143f92e0a107" - ], - [ - "FStar.Order.lex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Order.Eq", - "disc_equation_FStar.Order.Gt", "disc_equation_FStar.Order.Lt", - "fuel_guarded_inversion_FStar.Order.order", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c69c44c1502b14b5e03f46a360279d7b" - ], - [ - "FStar.Order.int_of_order", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Order.Eq", - "disc_equation_FStar.Order.Gt", "disc_equation_FStar.Order.Lt", - "fuel_guarded_inversion_FStar.Order.order", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "58735e5816392d7c18cc28c864fbb686" - ], - [ - "FStar.Order.compare_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "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, - "d97a13833700d3734bb8dac994cc1218" - ], - [ - "FStar.Order.compare_option", - 1, - 2, - 1, - [ - "@query", "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" - ], - 0, - "5d8e5d6345f8e7d5451e244d37069039" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.PCM.fst.hints b/ulib/.hints/FStar.PCM.fst.hints deleted file mode 100644 index ca1a66270db..00000000000 --- a/ulib/.hints/FStar.PCM.fst.hints +++ /dev/null @@ -1,313 +0,0 @@ -[ - "¬\b¸×\u007fj\u0013\u0010¿¿â9\\mËv", - [ - [ - "FStar.PCM.lem_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.PCM.Mkpcm_", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm_", - "proj_equation_FStar.PCM.Mkpcm__composable", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_e46526a995ec86069ab3699ffa611149", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable" - ], - 0, - "d000dda236797c83e799545666863732" - ], - [ - "FStar.PCM.lem_assoc_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8a47103e2869a2d680d6754044718fe" - ], - 0, - "59837eb0d67138fbf42cf257dd8faed2" - ], - [ - "FStar.PCM.lem_assoc_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3d4713c393f32d57b63b77183b22dc30" - ], - 0, - "3c00d4c0e4e27f39581af13a1857c241" - ], - [ - "FStar.PCM.lem_is_unit", - 1, - 2, - 1, - [ "@query" ], - 0, - "cb285ff53a2490ae83856f95429a5274" - ], - [ - "FStar.PCM.op", - 1, - 2, - 1, - [ "@query", "equation_FStar.PCM.composable" ], - 0, - "8b3e86ce89dbd637f948d374588ccb4e" - ], - [ - "FStar.PCM.compatible", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.PCM.composable", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "91a4c2305b877ed0c383526bfb69fb32" - ], - [ - "FStar.PCM.compatible_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.PCM.Mkpcm_", - "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", - "fuel_guarded_inversion_FStar.PCM.pcm", - "fuel_guarded_inversion_FStar.PCM.pcm_", - "proj_equation_FStar.PCM.Mkpcm__composable", - "proj_equation_FStar.PCM.Mkpcm__one", - "proj_equation_FStar.PCM.Mkpcm__op", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__one", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "e029999a006a3a095bee97bb853f45a9" - ], - [ - "FStar.PCM.compatible_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_677363292cfea4bd15c69c7af2b6e247", - "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", - "fuel_guarded_inversion_FStar.PCM.pcm", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_087313dd188beec5aebe5344de9ff41f", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_e46526a995ec86069ab3699ffa611149", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", - "typing_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__op", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "6ba5cdbbc6f65452cac337c1fd835bce" - ], - [ - "FStar.PCM.compatible_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.PCM.compatible", - "equation_FStar.PCM.composable", "equation_FStar.PCM.symrel", - "fuel_guarded_inversion_FStar.PCM.pcm", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "e579428c4086ce25708d7f3060a6382a" - ], - [ - "FStar.PCM.compatible_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.PCM.composable", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "7bc7f14e19f548e56fcb27cdf549a5d9" - ], - [ - "FStar.PCM.compatible_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", - "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "00cb4d00c02a7275a9273c9d433c88ee" - ], - [ - "FStar.PCM.frame_compatible", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb950f388c8606ded9d802e5bdcebc75" - ], - [ - "FStar.PCM.frame_preserving_upd", - 1, - 2, - 1, - [ "@query" ], - 0, - "3627fde449ddb1fb7c9398fd650f5610" - ], - [ - "FStar.PCM.frame_preserving", - 1, - 2, - 1, - [ "@query" ], - 0, - "a592600cf182d6fb536228e155419b72" - ], - [ - "FStar.PCM.frame_preserving_val_to_fp_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.PCM.Mkpcm", - "data_elim_FStar.PCM.Mkpcm_", "equation_FStar.PCM.compatible", - "equation_FStar.PCM.composable", - "equation_FStar.PCM.frame_preserving", "equation_FStar.PCM.op", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "fuel_guarded_inversion_FStar.PCM.pcm_", - "proj_equation_FStar.PCM.Mkpcm__composable", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_03759d512c48c5c5164aa9fd458d73df", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_ea6b131818c3455be3a721beaf1f8fba", - "refinement_interpretation_Tm_refine_f8541586c45a721b35f35cc09011603b", - "refinement_interpretation_Tm_refine_fb9cf1e65085cceb9a5b0e1571d39934", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.Ghost.reveal", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "7845bdc229cde6946a232b4e0e90485c" - ], - [ - "FStar.PCM.exclusive_is_frame_preserving", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_FStar.PCM.Mkpcm_", - "equation_FStar.PCM.composable", "equation_FStar.PCM.exclusive", - "equation_FStar.PCM.frame_preserving", "equation_FStar.PCM.op", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "fuel_guarded_inversion_FStar.PCM.pcm_", - "proj_equation_FStar.PCM.Mkpcm__composable", - "proj_equation_FStar.PCM.Mkpcm__one", - "proj_equation_FStar.PCM.Mkpcm__op", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "typing_FStar.PCM.__proj__Mkpcm___item__one", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "cadc1578b44d31a3918aa00fc5cd44a1" - ], - [ - "FStar.PCM.no_op_is_frame_preserving", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000" - ], - 0, - "061cf1396d366730028b09bd90ba2c3a" - ], - [ - "FStar.PCM.compose_frame_preserving_updates", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_6ee640369479b30d95d17c96f1df8c0f", - "equation_FStar.PCM.frame_preserving_upd", - "fuel_guarded_inversion_FStar.PCM.pcm", - "refinement_interpretation_Tm_refine_7eebd600d891f49b54ed679633298cb6", - "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000" - ], - 0, - "aa996a6e01d3f4edf30506f2b72bc665" - ], - [ - "FStar.PCM.frame_preserving_subframe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", - "FStar.PCM_interpretation_Tm_arrow_677363292cfea4bd15c69c7af2b6e247", - "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", - "fuel_guarded_inversion_FStar.PCM.pcm", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", - "proj_equation_FStar.PCM.Mkpcm_p", - "refinement_interpretation_Tm_refine_4fa30da5d5cb0360d6008d9d611bce85", - "refinement_interpretation_Tm_refine_73945f40dfe32b19b13cc583f17c4ca4", - "refinement_interpretation_Tm_refine_7eebd600d891f49b54ed679633298cb6", - "refinement_interpretation_Tm_refine_8db84027c62c17e11c50c7fbf9531388", - "refinement_interpretation_Tm_refine_a51243d57364b241a0e239efdfa2fe88", - "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_e46526a995ec86069ab3699ffa611149", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", - "typing_FStar.PCM.__proj__Mkpcm___item__op", - "typing_FStar.PCM.__proj__Mkpcm__item__p" - ], - 0, - "9dc018f1dafd3d1fe79b4fcbde88a83e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Parse.fst.hints b/ulib/.hints/FStar.Parse.fst.hints deleted file mode 100644 index 815b875a9d6..00000000000 --- a/ulib/.hints/FStar.Parse.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ªpêÁâ¶lØ€\u000f\u0007\u0012#±Ã", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.PartialMap.fst.hints b/ulib/.hints/FStar.PartialMap.fst.hints deleted file mode 100644 index 28243e95d04..00000000000 --- a/ulib/.hints/FStar.PartialMap.fst.hints +++ /dev/null @@ -1,178 +0,0 @@ -[ - "“–V#\"\"­–[Õ^kv.ù2", - [ - [ - "FStar.PartialMap.sel_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.empty", "equation_FStar.PartialMap.sel", - "equation_Prims.eqtype", - "interpretation_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_2f35253ebccdd287e7ba60e135319e77", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "52997264ccece47b0b21e4965d5c504a" - ], - [ - "FStar.PartialMap.sel_literal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.literal", "equation_FStar.PartialMap.sel", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_1b4b90fcb163769fba5d58c86b29eb54", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.PartialMap.literal", "typing_FStar.PartialMap.sel", - "typing_Tm_abs_1b4b90fcb163769fba5d58c86b29eb54", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "265150ec1eee80ed53bc53b5d69c4090" - ], - [ - "FStar.PartialMap.sel_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.sel", "equation_FStar.PartialMap.upd", - "equation_Prims.eqtype", - "interpretation_Tm_abs_ce7b97845f4e5aac9f133b5a85d048f4", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_ce7b97845f4e5aac9f133b5a85d048f4", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "d7fba8468098ee7992035b56b040f2fd" - ], - [ - "FStar.PartialMap.sel_upd_distinct_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.sel", "equation_FStar.PartialMap.upd", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_ce7b97845f4e5aac9f133b5a85d048f4", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.PartialMap.sel", - "typing_Tm_abs_ce7b97845f4e5aac9f133b5a85d048f4", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "727436254fd13dc65273636fd400ef9c" - ], - [ - "FStar.PartialMap.sel_remove", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.remove", "equation_FStar.PartialMap.sel", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6487731b9a9a07ff59250539d2a2457c", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6487731b9a9a07ff59250539d2a2457c", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "6d5c63a90f0f13cd2ba08937a2630894" - ], - [ - "FStar.PartialMap.sel_remove_distinct_key", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PartialMap_interpretation_Tm_arrow_4b0c7cc34485afa5854ebe5c95023d4c", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.remove", "equation_FStar.PartialMap.sel", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "interpretation_Tm_abs_6487731b9a9a07ff59250539d2a2457c", - "interpretation_Tm_abs_d956af1c4d42fc396b46c75e8016525b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.PartialMap.sel", - "typing_Tm_abs_6487731b9a9a07ff59250539d2a2457c", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "10df0c9d95f61c9750125cde4feba9a3" - ], - [ - "FStar.PartialMap.eq_intro", - 1, - 2, - 1, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PartialMap.equal", "equation_FStar.PartialMap.sel" - ], - 0, - "14b1494a3bbc75b94eeca466b6680a64" - ], - [ - "FStar.PartialMap.eq_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.PartialMap.equal", "equation_FStar.PartialMap.t", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_d956af1c4d42fc396b46c75e8016525b" - ], - 0, - "8a523191d8472ade0e4dd001dc38be61" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.PartialMap.fsti.hints b/ulib/.hints/FStar.PartialMap.fsti.hints deleted file mode 100644 index 75ec6ef43d9..00000000000 --- a/ulib/.hints/FStar.PartialMap.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "_Û\u0001h£\u0002i…\u001b³$`®Ú", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pervasives.Native.fst.hints b/ulib/.hints/FStar.Pervasives.Native.fst.hints deleted file mode 100644 index 62d7de43518..00000000000 --- a/ulib/.hints/FStar.Pervasives.Native.fst.hints +++ /dev/null @@ -1,143 +0,0 @@ -[ - "åÍ\u000f\u0014n%\u0005<¿¡QfÜC\u00193", - [ - [ - "FStar.Pervasives.Native.option", - 1, - 2, - 1, - [ "@query" ], - 0, - "a0ded5d2cfa648aa9dc4026af162f1c6" - ], - [ - "FStar.Pervasives.Native.__proj__Some__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a" - ], - 0, - "eff5913f1e096abf49843f92cae5c528" - ], - [ - "FStar.Pervasives.Native.tuple2", - 1, - 2, - 1, - [ "@query" ], - 0, - "55f5e78ca47ee438c8ec68deeb72486f" - ], - [ - "FStar.Pervasives.Native.tuple3", - 1, - 2, - 1, - [ "@query" ], - 0, - "173fe048500e5d567638a86faf5abd7b" - ], - [ - "FStar.Pervasives.Native.tuple4", - 1, - 2, - 1, - [ "@query" ], - 0, - "f8f8d068764033d3872baa55901450df" - ], - [ - "FStar.Pervasives.Native.tuple5", - 1, - 2, - 1, - [ "@query" ], - 0, - "ff8747676b722c98969a7bb22fe9e84c" - ], - [ - "FStar.Pervasives.Native.tuple6", - 1, - 2, - 1, - [ "@query" ], - 0, - "9edb01038c4ad921a977442e043c09e4" - ], - [ - "FStar.Pervasives.Native.tuple7", - 1, - 2, - 1, - [ "@query" ], - 0, - "d38f2af81eb5ede56a27dd7c0db196cc" - ], - [ - "FStar.Pervasives.Native.tuple8", - 1, - 2, - 1, - [ "@query" ], - 0, - "7fb47660825ba2784764a7ca2b43234c" - ], - [ - "FStar.Pervasives.Native.tuple9", - 1, - 2, - 1, - [ "@query" ], - 0, - "a67ac4e64fef439f747bbf25695c7495" - ], - [ - "FStar.Pervasives.Native.tuple10", - 1, - 2, - 1, - [ "@query" ], - 0, - "bb80d6a9772ff9b6f9bc779f70c9f2bd" - ], - [ - "FStar.Pervasives.Native.tuple11", - 1, - 2, - 1, - [ "@query" ], - 0, - "55b1bb64b888c538246b3866af4cff91" - ], - [ - "FStar.Pervasives.Native.tuple12", - 1, - 2, - 1, - [ "@query" ], - 0, - "a2cffb9c0b99a35705c0b31a8ff70410" - ], - [ - "FStar.Pervasives.Native.tuple13", - 1, - 2, - 1, - [ "@query" ], - 0, - "1a4d6456676ba20ccf836d4729c31e9f" - ], - [ - "FStar.Pervasives.Native.tuple14", - 1, - 2, - 1, - [ "@query" ], - 0, - "ea1b1e6f8f24f340d9f1e35517d26edd" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pervasives.fst.hints b/ulib/.hints/FStar.Pervasives.fst.hints deleted file mode 100644 index ce0b929f23d..00000000000 --- a/ulib/.hints/FStar.Pervasives.fst.hints +++ /dev/null @@ -1,377 +0,0 @@ -[ - "\u0005ÀäùÅ`‡_MI’ž?T6\u0018", - [ - [ - "FStar.Pervasives.Lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "a289f1499b91440cdbb1c0f721f90e5d" - ], - [ - "FStar.Pervasives.spinoff_eq", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pervasives.spinoff" ], - 0, - "bef745772139716b1c18d0a87ec49cc5" - ], - [ - "FStar.Pervasives.spinoff_equiv", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pervasives.spinoff" ], - 0, - "cff61ea8645f5a11672945894735049d" - ], - [ - "FStar.Pervasives.assert_spinoff", - 1, - 2, - 1, - [ "@query" ], - 0, - "fbca0c7d93cf7dadfc13f97543683e28" - ], - [ - "FStar.Pervasives.intro_ambient", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pervasives.ambient", "true_interp" ], - 0, - "9530b7d9d56636225498859dc9f87457" - ], - [ - "FStar.Pervasives.__proj__UnfoldOnly__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13de8e33f187202d2c4a5d80966ea035" - ], - 0, - "cd55a1cb54e3c17451561f3bc88799e3" - ], - [ - "FStar.Pervasives.__proj__UnfoldFully__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e6c43ff652fa6b792396796b43993774" - ], - 0, - "dd3017b9d8c6ce3e3cb51f910f1a0120" - ], - [ - "FStar.Pervasives.__proj__UnfoldAttr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f14ca5ebef9af83c4cf22600f4f19756" - ], - 0, - "6a4e2e6508fa07d96280e1a7a931d4a7" - ], - [ - "FStar.Pervasives.__proj__UnfoldQual__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3c8415b91f8065f6f9613629ea06e01c" - ], - 0, - "66a72229a37bad21875be17ed07e53f7" - ], - [ - "FStar.Pervasives.__proj__UnfoldNamespace__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_86b8ac6c2884bef55a3b087726b88bdb" - ], - 0, - "13c71c66d688774f6227e142ad1f916d" - ], - [ - "FStar.Pervasives.assert_norm", - 1, - 2, - 1, - [ "@query" ], - 0, - "f849d8313724eab2eff0f8ff2a816add" - ], - [ - "FStar.Pervasives.norm_spec", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pervasives.norm" ], - 0, - "43e2de130d787deb56810afe6cf725ea" - ], - [ - "FStar.Pervasives.div_hoare_to_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "interpretation_Tm_abs_95829b03554cf2093d2bc29e28500b94", - "l_and-interp", "l_quant_interp_876a1ed08b6a877c2351eb5f19aef814", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_Prims.pure_wp_monotonic0" - ], - 0, - "96bb76037986bbc57893c664a2227c1d" - ], - [ - "FStar.Pervasives.__proj__V__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" - ], - 0, - "12deab5ddff243d3f7553449a87912ad" - ], - [ - "FStar.Pervasives.__proj__E__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" - ], - 0, - "039fcd2aa0d727e450387b1aad75bb20" - ], - [ - "FStar.Pervasives.__proj__Err__item__msg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" - ], - 0, - "5f7e6eacd9b0cf8a13addb84f84d02fa" - ], - [ - "FStar.Pervasives.ex_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Pervasives.E", - "disc_equation_FStar.Pervasives.Err", - "disc_equation_FStar.Pervasives.V", - "fuel_guarded_inversion_FStar.Pervasives.result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "251e041df8b8859b1c29e1f95ef654ad" - ], - [ - "FStar.Pervasives.Exn", - 1, - 2, - 1, - [ "@query" ], - 0, - "f45f1b4021f80384b68b0ccbf704bb19" - ], - [ - "FStar.Pervasives.all_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Pervasives.E", - "disc_equation_FStar.Pervasives.Err", - "disc_equation_FStar.Pervasives.V", - "fuel_guarded_inversion_FStar.Pervasives.result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "59bfbf74d173f918c801f119a0a5bbca" - ], - [ - "FStar.Pervasives.allow_inversion", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pervasives.inversion", "true_interp" ], - 0, - "382fd78c775ca82dc4f00918363501a5" - ], - [ - "FStar.Pervasives.invertOption", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "54cf722b3e32a9ea5e640fd4866be099" - ], - [ - "FStar.Pervasives.either", - 1, - 2, - 1, - [ "@query" ], - 0, - "8d84cf8ea320fd94f8502a4a878d7398" - ], - [ - "FStar.Pervasives.__proj__Inl__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" - ], - 0, - "eb38ec86c1bd6be8f70069dc37d2f925" - ], - [ - "FStar.Pervasives.__proj__Inr__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" - ], - 0, - "43ee14abfa52f68211ce149819ad8c87" - ], - [ - "FStar.Pervasives.false_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "binder_x_b5a692fb53e94161e02ca937fc603fc6_2", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "e9959df25ee789683e17d541054fa08b" - ], - [ - "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" - ], - 0, - "b9d7e9c1b893bbe48f1e00a99b44371f" - ], - [ - "FStar.Pervasives.__proj__Comment__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" - ], - 0, - "9b5fc94c953641506739112b9cc1095e" - ], - [ - "FStar.Pervasives.__proj__CPrologue__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" - ], - 0, - "8f3c976319c82b8c1fd5dbd05e47d078" - ], - [ - "FStar.Pervasives.__proj__CEpilogue__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" - ], - 0, - "717ba2e5fc84b7f6617f50d68d277b05" - ], - [ - "FStar.Pervasives.__proj__CConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" - ], - 0, - "d24abfbb78c78efa30a7e2b77e3c4ed6" - ], - [ - "FStar.Pervasives.__proj__CCConv__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" - ], - 0, - "cab01505539900d055ccf686b36d5552" - ], - [ - "FStar.Pervasives.coerce_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "e471a60c50654f3819b3f96c2f583d9b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pervasives.fsti.hints b/ulib/.hints/FStar.Pervasives.fsti.hints deleted file mode 100644 index b8c2cdcd69f..00000000000 --- a/ulib/.hints/FStar.Pervasives.fsti.hints +++ /dev/null @@ -1,226 +0,0 @@ -[ - "|pÓ&~“\u0006ù{ÄÖ\u0016™•2\f", - [ - [ - "FStar.Pervasives.Lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5" - ], - 0, - "86c9c807fe36a02f88242244df6d7a6f" - ], - [ - "FStar.Pervasives.div_hoare_to_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Prims.pure_wp_monotonic0", - "function_token_typing_Prims.pure_wp_monotonic", - "interpretation_Tm_abs_95829b03554cf2093d2bc29e28500b94", - "l_and-interp", "l_quant_interp_876a1ed08b6a877c2351eb5f19aef814", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "token_correspondence_Prims.pure_wp_monotonic0" - ], - 0, - "c42d84ed57c10fa00c09b944e75cf1dd" - ], - [ - "FStar.Pervasives.__proj__V__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9db520b26a7f39c5a01493a3f375290d" - ], - 0, - "b05e1ff9b527bd975f53c381abb55e86" - ], - [ - "FStar.Pervasives.__proj__E__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_95e1e2ee29104754cc3740f5575fc6e5" - ], - 0, - "039fcd2aa0d727e450387b1aad75bb20" - ], - [ - "FStar.Pervasives.__proj__Err__item__msg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_22fb403854eba07427f92e79848f9d9f" - ], - 0, - "5f7e6eacd9b0cf8a13addb84f84d02fa" - ], - [ - "FStar.Pervasives.ex_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Pervasives.E", - "disc_equation_FStar.Pervasives.Err", - "disc_equation_FStar.Pervasives.V", - "fuel_guarded_inversion_FStar.Pervasives.result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "251e041df8b8859b1c29e1f95ef654ad" - ], - [ - "FStar.Pervasives.Exn", - 1, - 2, - 1, - [ "@query" ], - 0, - "f45f1b4021f80384b68b0ccbf704bb19" - ], - [ - "FStar.Pervasives.all_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Pervasives.E", - "disc_equation_FStar.Pervasives.Err", - "disc_equation_FStar.Pervasives.V", - "fuel_guarded_inversion_FStar.Pervasives.result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "59bfbf74d173f918c801f119a0a5bbca" - ], - [ - "FStar.Pervasives.either", - 1, - 2, - 1, - [ "@query" ], - 0, - "6b0eca133b313a724d4734b9e62d927f" - ], - [ - "FStar.Pervasives.__proj__Inl__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_85e0cc884f8457202f90cd77f23733ba" - ], - 0, - "82af018ca670944cc6c5ab76a621f9c4" - ], - [ - "FStar.Pervasives.__proj__Inr__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8f1f5f564dae90240db429de2eb41517" - ], - 0, - "43ee14abfa52f68211ce149819ad8c87" - ], - [ - "FStar.Pervasives.__proj__PpxDerivingShowConstant__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_564db2f0aa0878b4d96c60508be3dd36" - ], - 0, - "e98df88d4c72a2343f452be1e97edeea" - ], - [ - "FStar.Pervasives.__proj__Comment__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c53089e2d20d1b0f5a267296ac8e45f0" - ], - 0, - "9b5fc94c953641506739112b9cc1095e" - ], - [ - "FStar.Pervasives.__proj__CPrologue__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac46c1a2a06ce46a180e0eda48004c47" - ], - 0, - "8f3c976319c82b8c1fd5dbd05e47d078" - ], - [ - "FStar.Pervasives.__proj__CEpilogue__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47384bef739d1f0729fd782d351dc9a5" - ], - 0, - "717ba2e5fc84b7f6617f50d68d277b05" - ], - [ - "FStar.Pervasives.__proj__CConst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5036c6b2983454bc3afeffcba3f00f50" - ], - 0, - "d24abfbb78c78efa30a7e2b77e3c4ed6" - ], - [ - "FStar.Pervasives.__proj__CCConv__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2c4510f48649a66c3dca1fc9e3a2d320" - ], - 0, - "cab01505539900d055ccf686b36d5552" - ], - [ - "FStar.Pervasives.coerce_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "553c5a230655f7c77ceac10d346f62fc" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Base.fst.hints b/ulib/.hints/FStar.Pointer.Base.fst.hints deleted file mode 100644 index ae6b55376d3..00000000000 --- a/ulib/.hints/FStar.Pointer.Base.fst.hints +++ /dev/null @@ -1,14395 +0,0 @@ -[ - "Wýè|\u0011ý¹p¦A\u0011ÚÞÉT", - [ - [ - "FStar.Pointer.Base.typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_FStar.Pointer.Base.base_typ__uu___haseq", - "assumption_Prims.list__uu___haseq", - "equation_FStar.Pointer.Base.array_length_t", - "equation_Prims.eqtype", - "haseqTm_refine_9e7f68c38e43484e77069094f4fd88d3", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt32.t", "typing_Prims.string" - ], - 0, - "6dd2a2ab50e29ca53c301217aab71631" - ], - [ - "FStar.Pointer.Base.__proj__TBase__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" - ], - 0, - "dbb0316f338a33ca4000d39e35edfd06" - ], - [ - "FStar.Pointer.Base.__proj__TStruct__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" - ], - 0, - "7ff23993a539729687ba6277f0e3a7b4" - ], - [ - "FStar.Pointer.Base.__proj__TUnion__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" - ], - 0, - "aa0e1a78e4c412b242d3622fd8a01ddf" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "4433542dc320b869cee56aeb04a80ee8" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "e1b01449bee54871ff870652b875cd65" - ], - [ - "FStar.Pointer.Base.__proj__TPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" - ], - 0, - "00540093addb32909e39924b1a8cdaed" - ], - [ - "FStar.Pointer.Base.__proj__TNPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" - ], - 0, - "1795949f9b70ffe700f49930dbd74dc5" - ], - [ - "FStar.Pointer.Base.__proj__TBuffer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" - ], - 0, - "9ca993e53dc8c109ad4d97f70e709faf" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" - ], - 0, - "9a19a59cacec36a0b76ac8f1236e0a1a" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "f45422998c8f8af633dc03629785e4d3" - ], - [ - "FStar.Pointer.Base.typ_of_union_field", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pointer.Base.union_typ" ], - 0, - "04be47f3762dd04e5c070fdd82c8a26b" - ], - [ - "FStar.Pointer.Base.typ_depth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "d7ce8247ec7c227adf8c964bf316bb7f" - ], - [ - "FStar.Pointer.Base.typ_depth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", - "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, - "109c6aaa3c174c0e714748a8ad344141" - ], - [ - "FStar.Pointer.Base.typ_depth_typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string" - ], - 0, - "c0d62bae3ee20d9996456434a67a0a15" - ], - [ - "FStar.Pointer.Base.step", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "90b303b6978f02a5896ada16f7019f8c" - ], - [ - "FStar.Pointer.Base.step", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.struct_typ__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "haseqTm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Pointer.Base.struct_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "295a50d0cf4736cee5b8030bb1ebcb12" - ], - [ - "FStar.Pointer.Base.__proj__StepField__item__l", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" - ], - 0, - "c163a394e1a814382f0f27f18bde3057" - ], - [ - "FStar.Pointer.Base.__proj__StepField__item__fd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepField", - "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" - ], - 0, - "0b36027e9a8d521354c4a122d6246166" - ], - [ - "FStar.Pointer.Base.__proj__StepUField__item__l", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" - ], - 0, - "e9377605f2030cd2e9c63d6bb7f0a69a" - ], - [ - "FStar.Pointer.Base.__proj__StepUField__item__fd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepUField", - "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" - ], - 0, - "4d454415f29a3df3400356be738969d1" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "2f30b888d19fc50a06e0f16a985fd226" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__value", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "d375f164dfdb7b5038a63bb055223b80" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__index", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepCell", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "8384985f7c567c3a459dd9311bc49df5" - ], - [ - "FStar.Pointer.Base.path", - 1, - 1, - 1, - [ - "@query", "assumption_FStar.Pointer.Base.step__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq" - ], - 0, - "4baf6be56413cebdbfa7546e26e3b0cb" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__through", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "635d5f33e87a24930d37ba2d2bb15cc9" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__to", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "5b81354186ec37d65d0a6832a5dbc457" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathStep", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "272dd56c6a84067e8af1c28aec9ea703" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__s", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathStep", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "b9d50a22277727ac96e0730a3a39ec9e" - ], - [ - "FStar.Pointer.Base.step_typ_depth", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_with_fuel_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l" - ], - 0, - "d7cf3993bacabeeef9762bb3c413f0ff" - ], - [ - "FStar.Pointer.Base.path_typ_depth", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Pointer.Base.PathStep", "typing_Prims.int" - ], - 0, - "56e5fd788935f475691d7bdb3105de4f" - ], - [ - "FStar.Pointer.Base.path_typ_depth", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "30c18afceed8e11dc4947f320f4c16c5" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__from", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "e6f09adef2e0d15a388b90c697fa92c4" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__contents", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "e83eeaf9dcae1d3c8352914b01c816db" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "7bd330e8e066c0a4b2f1dce7c6748458" - ], - [ - "FStar.Pointer.Base.g_is_null_intro", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.NullPtr", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nullptr", - "projection_inverse_FStar.Pointer.Base.NullPtr_to" - ], - 0, - "9422eefd3a5f891d4f2501de3c431e79" - ], - [ - "FStar.Pointer.Base.not_an_array_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "53c90c8672fe7c140338764f0df572b5" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootSingleton__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_422fa8e43652f7856994c0adb062c739" - ], - 0, - "ba04356cdba54a0f6a0469874d2b0a04" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootArray__item__max_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" - ], - 0, - "28388c5a5bd07281eebbcfb5c7c5834e" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootArray__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" - ], - 0, - "095445ba3d2111f71c150a9486823e96" - ], - [ - "FStar.Pointer.Base.buffer_root_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "26ae9f854707a7ab05e30f47761176a7" - ], - [ - "FStar.Pointer.Base.type_of_base_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.TBool", - "disc_equation_FStar.Pointer.Base.TChar", - "disc_equation_FStar.Pointer.Base.TInt", - "disc_equation_FStar.Pointer.Base.TInt16", - "disc_equation_FStar.Pointer.Base.TInt32", - "disc_equation_FStar.Pointer.Base.TInt64", - "disc_equation_FStar.Pointer.Base.TInt8", - "disc_equation_FStar.Pointer.Base.TUInt", - "disc_equation_FStar.Pointer.Base.TUInt16", - "disc_equation_FStar.Pointer.Base.TUInt32", - "disc_equation_FStar.Pointer.Base.TUInt64", - "disc_equation_FStar.Pointer.Base.TUInt8", - "disc_equation_FStar.Pointer.Base.TUnit", - "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8f487a439b82a458e6b408d1f385763e" - ], - [ - "FStar.Pointer.Base.array", - 1, - 1, - 1, - [ "@query" ], - 0, - "480ea094c3a94f5395071d74294422ac" - ], - [ - "FStar.Pointer.Base.type_of_struct_field''", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" - ], - 0, - "eb641d9c640d9ae81aec5b0b00d60cca" - ], - [ - "FStar.Pointer.Base.type_of_struct_field'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "8dceadc4481de69eda57d89c8ffb0a61" - ], - [ - "FStar.Pointer.Base.gtdata_get_value", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_key", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "6f7db0fb14eff09fe1d9b2a33a4a1883" - ], - [ - "FStar.Pointer.Base.gtdata_create", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "5b0565368e5f7221c25b93de6fce2316" - ], - [ - "FStar.Pointer.Base.gtdata_extensionality", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "fuel_guarded_inversion_Prims.dtuple2", - "proj_equation_Prims.Mkdtuple2__1" - ], - 0, - "946dff3ecce790c8ebaf366f142e73e1" - ], - [ - "FStar.Pointer.Base.type_of_typ'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "f73a3cbc1ad517d347d59d18f31f2a2e" - ], - [ - "FStar.Pointer.Base.type_of_typ'", - 2, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.union_typ" ], - 0, - "e6de4e794bab71347a80a806d7288fcf" - ], - [ - "FStar.Pointer.Base.type_of_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray" - ], - 0, - "b0d31a0c26e547e88eee765f81013602" - ], - [ - "FStar.Pointer.Base.type_of_typ_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t" - ], - 0, - "a6ea492b494025781ee6d7e0be81a558" - ], - [ - "FStar.Pointer.Base.type_of_typ_type_of_struct_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "d5e8487ac5c511fafeb57915ea2bef66" - ], - [ - "FStar.Pointer.Base.type_of_typ'_eq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TBuffer", - "subterm_ordering_FStar.Pointer.Base.TNPointer", - "subterm_ordering_FStar.Pointer.Base.TPointer" - ], - 0, - "98f5a92c93c33fdd14075bbef53bca8a" - ], - [ - "FStar.Pointer.Base.struct_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "41e8f0b7b882488666a95866ff558d01" - ], - [ - "FStar.Pointer.Base.struct_literal_wf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "4d71c3db1d5cad5913d9c8cc0f7de258" - ], - [ - "FStar.Pointer.Base.fun_of_list", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.String_interpretation_Tm_arrow_77650534d172f9f4bbf4f147268736a3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.dfst_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_literal", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.dfst_struct_field", - "function_token_typing_FStar.String.compare", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b0baa351b8dc6384c3594e50be109582", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.List.Tot.Base.sortWith", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Prims.string", - "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" - ], - 0, - "a99510507c4c52626831ace11ac2e4c5" - ], - [ - "FStar.Pointer.Base.struct_upd", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "3f68fce25ff1b2586e62503a0ef03b31" - ], - [ - "FStar.Pointer.Base.struct_create_fun", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "9248ac39ebd3b97541db041d1c15fffe" - ], - [ - "FStar.Pointer.Base.struct_create", - 1, - 1, - 1, - [ "@query" ], - 0, - "29d22ca3ed9df0c6c7dc0a9c1881d185" - ], - [ - "FStar.Pointer.Base.struct_sel_struct_create_fun", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", - "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", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "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", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_51105ee2e615de5655b7293d0759168b", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Tm_abs_51105ee2e615de5655b7293d0759168b" - ], - 0, - "23e8f2415920c4c50e520be6e8c2d395" - ], - [ - "FStar.Pointer.Base.union_get_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_51105ee2e615de5655b7293d0759168b", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.typ_of_struct_field_" - ], - 0, - "2e37fc6818facaf25888e79b6c35a662" - ], - [ - "FStar.Pointer.Base.union_create", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "503777b064af45352c1af6fa04edf199" - ], - [ - "FStar.Pointer.Base.dummy_val", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TBool", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TChar", - "constructor_distinct_FStar.Pointer.Base.TInt", - "constructor_distinct_FStar.Pointer.Base.TInt16", - "constructor_distinct_FStar.Pointer.Base.TInt32", - "constructor_distinct_FStar.Pointer.Base.TInt64", - "constructor_distinct_FStar.Pointer.Base.TInt8", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUInt", - "constructor_distinct_FStar.Pointer.Base.TUInt16", - "constructor_distinct_FStar.Pointer.Base.TUInt32", - "constructor_distinct_FStar.Pointer.Base.TUInt64", - "constructor_distinct_FStar.Pointer.Base.TUInt8", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_FStar.Pointer.Base.TUnit", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_elim_FStar.Pointer.Base.TPointer", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.NullPtr@tok", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.Pointer@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBool", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TChar", - "disc_equation_FStar.Pointer.Base.TInt", - "disc_equation_FStar.Pointer.Base.TInt16", - "disc_equation_FStar.Pointer.Base.TInt32", - "disc_equation_FStar.Pointer.Base.TInt64", - "disc_equation_FStar.Pointer.Base.TInt8", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUInt", - "disc_equation_FStar.Pointer.Base.TUInt16", - "disc_equation_FStar.Pointer.Base.TUInt32", - "disc_equation_FStar.Pointer.Base.TUInt64", - "disc_equation_FStar.Pointer.Base.TUInt8", - "disc_equation_FStar.Pointer.Base.TUnion", - "disc_equation_FStar.Pointer.Base.TUnit", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TChar@tok", - "equality_tok_FStar.Pointer.Base.TInt16@tok", - "equality_tok_FStar.Pointer.Base.TInt32@tok", - "equality_tok_FStar.Pointer.Base.TInt64@tok", - "equality_tok_FStar.Pointer.Base.TInt8@tok", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equality_tok_FStar.Pointer.Base.TUInt16@tok", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equality_tok_FStar.Pointer.Base.TUInt64@tok", - "equality_tok_FStar.Pointer.Base.TUInt8@tok", - "equality_tok_FStar.Pointer.Base.TUInt@tok", - "equality_tok_FStar.Pointer.Base.TUnit@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Pervasives.Native.fst", "int_typing", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "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", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion", - "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.fuel_instrumented", - "typing_FStar.Char.__char_of_int", "typing_FStar.List.Tot.Base.map", - "typing_FStar.Monotonic.HyperStack.dummy_aref", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.uu___is_TBase", - "typing_FStar.Pointer.Base.uu___is_TUInt", "typing_FStar.UInt.fits", - "typing_Prims.pow2", "typing_Prims.string", "unit_typing" - ], - 0, - "74612c5d3d6f102eaaf97b18f7a10059" - ], - [ - "FStar.Pointer.Base.otype_of_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "f59b06ce93361090ba4c69a96bfbb66a" - ], - [ - "FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "5a65946c7f573cdfeffe319c759624f8" - ], - [ - "FStar.Pointer.Base.otype_of_typ_base", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TBase", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TBase_b" - ], - 0, - "455178f4022f86ca0598d8e2e1f99359" - ], - [ - "FStar.Pointer.Base.otype_of_typ_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t" - ], - 0, - "a3cabfbcabc184cdde623ae45e35d604" - ], - [ - "FStar.Pointer.Base.ostruct_upd", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "2605a45eb772b26c5fac2b1e7995aba1" - ], - [ - "FStar.Pointer.Base.ostruct_create", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "391da265057f0d0baeafb6464cdf3863" - ], - [ - "FStar.Pointer.Base.ounion_get_value", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.struct_field", - "proj_equation_FStar.Pervasives.Native.Some_v" - ], - 0, - "81401afb2e696e208ab572df91aeca27" - ], - [ - "FStar.Pointer.Base.struct_field_is_readable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "83e195f9c0290411fa48613048385120" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "c5d7bd27d54527757d7492d2a498e129" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_intro'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_2b6196d53ffacd624cfbed706c26d1dc", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e8c71a6f259f30c4b3e4051b956c", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.struct_field_is_readable", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "token_correspondence_FStar.Pervasives.Native.fst", - "tot_fun_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_Prims.string" - ], - 0, - "8a7fa607478f5cf585f8518d214819cd" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_intro", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.List.Tot.Properties.mem_memP", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_Prims.string" - ], - 0, - "34a543fd43848ec01841a6b0438b7e99" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_7e92cc1c04700553193b6f7c7895fa62", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.List.Tot.Properties.mem_memP", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.struct_field_is_readable", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable", "typing_Prims.string" - ], - 0, - "cfbd60a7311a9765f0dd122a8f8647ac" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_array_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Seq.Properties.for_all", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" - ], - 0, - "1a7cacc95ecb9ca33c6599e32b62c1bb" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_array_intro", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Seq.Properties.for_all", - "equation_FStar.Seq.Properties.seq_find", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.seq_find", "typing_FStar.UInt32.v", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "8058c0f08f574ab3b472d87eac4fad2e" - ], - [ - "FStar.Pointer.Base.ostruct_field_of_struct_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.struct_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "d6e0a743df1f8b37226be646656c5e06" - ], - [ - "FStar.Pointer.Base.seq_init_index", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "04442265da83fff24c279ce567a77c48" - ], - [ - "FStar.Pointer.Base.ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "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.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base._union_get_key", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length" - ], - 0, - "319fdc134e54116c26d8127d3208a301" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_ostruct_field_of_struct_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "equation_FStar.Pointer.Base.ostruct_field_of_struct_field", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.ovalue_of_value", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.struct_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "b6199e44332a0ca8277c1b7a43d00b40" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.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", - "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", - "FStar.Pointer.Base_interpretation_Tm_arrow_4922c0d39a14074f92b751ffa781c0f9", - "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_b84a9cfad13319928b2ca9ddcae894f8", - "FStar.Pointer.Base_interpretation_Tm_arrow_d80a4731200c46869c60012a694e5ece", - "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata_get_key", - "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.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_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_sel", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.Seq.Properties.for_all", - "equation_FStar.Seq.Properties.seq_find", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "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", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.ostruct_field_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.ovalue_of_value", - "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", - "int_inversion", - "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "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_struct", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.init_index_", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "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", - "refinement_interpretation_Tm_refine_2527f4cbcbf4f88512fcbb65718a9b76", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a5b419dde0606bbe5389a1b0a41725a2", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_bd52d171a74d80903c7842fefd75f8a1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "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.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.ostruct_field_of_struct_field", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.ovalue_of_value", - "token_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pervasives.Native.fst", - "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.ostruct_field_of_struct_field", - "typing_FStar.Pointer.Base.ostruct_sel", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.ovalue_of_value", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.uu___is_TStruct", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.seq_find", "typing_FStar.UInt32.v", - "typing_Prims.string", - "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "10ea920fb9bf4b61f4e0111d80856a03" - ], - [ - "FStar.Pointer.Base.value_of_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_714c243ce1cda15b90190082618ab455", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "kinding_Prims.dtuple2@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "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.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.struct_create_fun", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.type_of_base_typ", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Pointer.Base.uu___is_TStruct", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "1d792a39bf1448cf8cf00668e3c66a58" - ], - [ - "FStar.Pointer.Base.ovalue_of_value_array_index", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af" - ], - 0, - "393e19685dfc73b472a229fe073ba8e9" - ], - [ - "FStar.Pointer.Base.value_of_ovalue_array_index", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Pointer.Base.value_of_ovalue", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50" - ], - 0, - "c126163ac0b6aa0832f47c093582e866" - ], - [ - "FStar.Pointer.Base.value_of_ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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.union.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "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_4922c0d39a14074f92b751ffa781c0f9", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "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_create", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.ounion_get_value", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_sel", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.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_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.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.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.ostruct_field_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "int_inversion", - "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "kinding_Prims.dtuple2@tok", "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d5241eb6fe198666a8101195bbd4a2a", - "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", - "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.Pointer.Base.ostruct_field_of_struct_field", - "token_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "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.otype_of_struct_field", - "typing_FStar.Pointer.Base.ovalue_of_value", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.uu___is_TStruct", - "typing_FStar.Pointer.Base.value_of_ovalue", - "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "6f51e2113d7eb1143ac8703c58087806" - ], - [ - "FStar.Pointer.Base.none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "typing_FStar.DependentMap.t", "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.buffer", - "typing_FStar.Pointer.Base.npointer", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.pointer", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.type_of_base_typ", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "f086ea4f8d3057df65c049cec70dcefb" - ], - [ - "FStar.Pointer.Base.not_ovalue_is_readable_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.ovalue_is_readable" - ], - 0, - "a55a73f837144d3ea8d91503f97d8999" - ], - [ - "FStar.Pointer.Base.step_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.uu___is_StepField", - "typing_FStar.UInt32.v", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "c5363c5a83bcb4400db0ee8208322060" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Seq.Properties.for_all", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" - ], - 0, - "deacc3bd5d3fb3115f66bf707a9166f5" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.ovalue_is_readable_struct_elim", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TStruct_l" - ], - 0, - "59c6f6ef15421dd384f1ce83e6d3e281" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_union_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.StepUField@tok", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.step_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string" - ], - 0, - "d0b6c08b344b908a3c305605e626abbf" - ], - [ - "FStar.Pointer.Base.step_sel_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.step_sel", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l" - ], - 0, - "79fdd8ff019a4245940107b9c360b294" - ], - [ - "FStar.Pointer.Base.path_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "479dae20e8803f5bb5f837e9579effd8" - ], - [ - "FStar.Pointer.Base.path_sel_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.step_sel", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.none_ovalue" - ], - 0, - "94a33947de49fd59f50e4900c3f6b5d0" - ], - [ - "FStar.Pointer.Base.step_upd", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_65dcf6dc23a3b63be750aeabd27678f4", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.ostruct_create", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.UInt32.v" - ], - 0, - "1ef109c93646e9f66bcbb42f1b06048e" - ], - [ - "FStar.Pointer.Base.step_sel_upd_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.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", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pointer.Base.TStruct", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_value", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.ostruct_sel", - "equation_FStar.Pointer.Base.ostruct_upd", - "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.step_sel", - "equation_FStar.Pointer.Base.step_upd", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", - "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.DependentMap.sel_upd_same", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_upd1", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Seq.Base.init", "typing_FStar.UInt32.v", - "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8" - ], - 0, - "1281c8cfca15a26e5181cff9127b68eb" - ], - [ - "FStar.Pointer.Base.path_upd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "3353fc56ebae3cb1f4cd38d38d40ad36" - ], - [ - "FStar.Pointer.Base.path_sel_upd_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_2", - "binder_x_7e43bafa8b7a13ff9357a27d8b711814_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.path_upd" - ], - 0, - "56503de68a9bfb9b222579dcc1d1f720" - ], - [ - "FStar.Pointer.Base.path_concat", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "c672919acfa93a6d9b4a8d2abdf2b133" - ], - [ - "FStar.Pointer.Base.path_concat_base_r", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.PathBase_from" - ], - 0, - "e1a7f672a2cbd537a74d52cdc73a6f04" - ], - [ - "FStar.Pointer.Base.path_concat_base_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "e735add6795c38c7e662b4e790926308" - ], - [ - "FStar.Pointer.Base.path_concat_assoc", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_204eb02adadc5901687bfc1939c2389a_6", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "typing_FStar.Pointer.Base.path_concat" - ], - 0, - "1ccc5b00aca864ab3620cd7aaba57ca0" - ], - [ - "FStar.Pointer.Base.path_sel_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "typing_FStar.Pointer.Base.path_sel" - ], - 0, - "6e0295444ed7845d3a3d3127f2969e6a" - ], - [ - "FStar.Pointer.Base.path_upd_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_3", - "binder_x_5beba193057cd8d8483bf03292ee87be_6", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_sel_concat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "typing_FStar.Pointer.Base.path_sel" - ], - 0, - "9381b84150db21efd759c61aca115977" - ], - [ - "FStar.Pointer.Base.path_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.path__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "2509203ab109a6049d9ee6ade37e2730" - ], - [ - "FStar.Pointer.Base.path_includes_base", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "2ac7b5c297d6d797602c175fa475ed1d" - ], - [ - "FStar.Pointer.Base.path_includes_refl", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "200e6226650b35736502072ffc964002" - ], - [ - "FStar.Pointer.Base.path_includes_step_r", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to" - ], - 0, - "494bd48d3b72221c0860efd30d4ac75e" - ], - [ - "FStar.Pointer.Base.path_includes_trans", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_515b6cc5dab22ef3b4646bf3c5fbc75e_6", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_3", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_5", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_Prims.l_False", "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_includes_base", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6dc6390730040f67a21fe10c9d9d78e6", - "refinement_interpretation_Tm_refine_8ef196a44e8c1ef9d6ff692d3a3d9458", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Pointer.Base.path_includes" - ], - 0, - "8c146a93173878c092903edf365aa5d8" - ], - [ - "FStar.Pointer.Base.path_includes_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "binder_x_2f08af3dcd557cc55ee8503a3b614889_8", - "binder_x_b85f5386c8ec8b88fc0b7ceff79f784a_7", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_6", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_Prims.l_False", "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4e1d800d2c4913431885413c72cd5aac", - "refinement_interpretation_Tm_refine_7ff07ff8c64e9fab3c0c26ef4caea393", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "4c78a7ff8f878f2549dffa443c2823b8" - ], - [ - "FStar.Pointer.Base.path_includes_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" - ], - 0, - "54d2fdf1df251da8162a16d69eb6ab98" - ], - [ - "FStar.Pointer.Base.path_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "e12adaa33ff9f864b3f1b1433cff6dcb" - ], - [ - "FStar.Pointer.Base.path_includes_length", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_2778e38235d85783ab53f0fc09c57540", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "1601d3ceb988b0c30d41c2de122873c3" - ], - [ - "FStar.Pointer.Base.path_includes_step_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_f858bfffcdc33b4edac687bbc0ab10f8" - ], - 0, - "3c066dc3d12c17c42f8140ab6ea03dff" - ], - [ - "FStar.Pointer.Base.path_includes_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented" - ], - 0, - "82e0f21519f4df3009453813c7a0748f" - ], - [ - "FStar.Pointer.Base.path_includes_exists_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_2294e26464ce127dc19115c7d2830fb1", - "refinement_interpretation_Tm_refine_60ddcdffd5ba8adfd24b319ec76cd182", - "refinement_interpretation_Tm_refine_b9f77fe2b0319c7073314bc8ff8b7aa2", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" - ], - 0, - "b8c981a0e324e7a6ed0fbcc0d5422069" - ], - [ - "FStar.Pointer.Base.path_concat_includes", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_concat" - ], - 0, - "807a4676d5552b4823994af78afe28f0" - ], - [ - "FStar.Pointer.Base.path_concat_includes", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_concat" - ], - 0, - "9f2600e2aa0978381db8d807f725b82f" - ], - [ - "FStar.Pointer.Base.step_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "typing_Prims.int" - ], - 0, - "a7a7ac167cb675d72a26bacc89e11304" - ], - [ - "FStar.Pointer.Base.step_eq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt32.t" - ], - 0, - "186d25429cfb23389df1bb1113bf3e94" - ], - [ - "FStar.Pointer.Base.step_disjoint_not_eq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "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.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TUnion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.step_eq", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.step_eq", "typing_Prims.string" - ], - 0, - "f72b89587603ff7dfd043bd9f5695c0b" - ], - [ - "FStar.Pointer.Base.step_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TUnion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.step_disjoint", "typing_Prims.string" - ], - 0, - "e938940d6d47f9767d8db8ec0e945baf" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__through", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "07dedfcaa667066a4d50887a182989e3" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__to1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "91a6891575fb8a2cda2299f6b4ba7f61" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__to2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "55aedc232b6921d0a7b8dbf8ec889395" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "e4983831dc85d0a2dc9d9e0ca34f6b87" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__s1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "591ce8b024ed3ea7454fb5a1bfd05e34" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__s2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "6018f4ea907f9516fa2f80236e576a0b" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "82fb4c714c327843eb3ef9ff64221929" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "d101520fcb9354f19948e3eff91fad1a" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "155cfd570cad5a0d44d1d4d62e4215b0" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "74e03b8d302d71945bc57eb38d5b3c00" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "66564e83299c41d9de032ba0d171f3ac" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "c618baaaf4d018cf0008c929f093efbf" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "9b31b487c6a72ca4d425409865188395" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "404fcefc92c31d948f64b6074a887548" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item___8", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "dfc4db92a6e0c018ff078675bb156bc0" - ], - [ - "FStar.Pointer.Base.path_disjoint_t_rect", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_31bb00d38761e7ccde7ceb9be4978dcc_9", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "disc_equation_FStar.Pointer.Base.PathDisjointIncludes", - "disc_equation_FStar.Pointer.Base.PathDisjointStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_t", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathDisjointIncludes" - ], - 0, - "61c5b2aa9908e1a06f99d52bd4a2498b" - ], - [ - "FStar.Pointer.Base.path_disjoint_ind", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "unit_inversion" - ], - 0, - "5032f7ea91585433cf36ce7279a3bbd9" - ], - [ - "FStar.Pointer.Base.path_disjoint_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb" - ], - 0, - "e9dd57af1d26572e317c1a7be16a5716" - ], - [ - "FStar.Pointer.Base.path_disjoint_step", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.path_disjoint", - "equation_Prims.squash" - ], - 0, - "2852102de1186d5ff9c8366008539e8f" - ], - [ - "FStar.Pointer.Base.path_disjoint_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_inversion" - ], - 0, - "555d829b9f944069e010f6709f650b6f" - ], - [ - "FStar.Pointer.Base.path_disjoint_includes_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_refl" - ], - 0, - "69030b9c0a340cd5cb181f80cf43b62c" - ], - [ - "FStar.Pointer.Base.path_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepField", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_a9e26cbb885a87a3108ab70a0a0e0be5", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "10ef27fdd2582ca2eadb25a2ac398902" - ], - [ - "FStar.Pointer.Base.path_equal", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.step_eq", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_8e6edd88e1a10fffdbc162b168b23771", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.path_equal", - "typing_FStar.Pointer.Base.step_eq" - ], - 0, - "efe1b55f3d660152f58abd6a2e00bac7" - ], - [ - "FStar.Pointer.Base.path_equal", - 2, - 1, - 1, - [ "@query" ], - 0, - "d72165eddff668537a1a5145135da354" - ], - [ - "FStar.Pointer.Base.path_length_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.path_concat_base_l", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_concat", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "3c2b05abf0f2ba782732924dd46c74ac" - ], - [ - "FStar.Pointer.Base.path_concat_inj_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_198ccbfb8c62cfbcee6e3d63acd41eeb_8", - "binder_x_3f0f019f33fdd3df121c66cf611c3526_4", - "binder_x_b85f5386c8ec8b88fc0b7ceff79f784a_7", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_6", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_equal.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "lemma_FStar.Pointer.Base.path_concat_base_l", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_concat", - "typing_FStar.Pointer.Base.path_equal", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "bea518ec85520d9249859a30e1110558" - ], - [ - "FStar.Pointer.Base.path_concat_inj_l", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "6e2869033689f71cbc7e47e298747573" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp_t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.path__uu___haseq", - "assumption_FStar.Pointer.Base.step__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "equation_Prims.eqtype", - "haseqTm_refine_6a13e3414a2014eb8720dd6788230581", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581", - "typing_Prims.unit" - ], - 0, - "eef16605ebc5227fb0deb210f10259ab" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581" - ], - 0, - "8938410b81bee7f539d15284b6b011c5" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_68524d6f37c308befc08173d6bb78275", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "e89734861957cc878f79444473f25b5e" - ], - [ - "FStar.Pointer.Base.path_disjoint_not_path_equal", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathDisjointDecomp", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_equal.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p1_", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p2_", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_s1", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_s2", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_through", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v1", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v2", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "5c977f84efb21e607bee8c0570716a5c" - ], - [ - "FStar.Pointer.Base.path_destruct_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", - "refinement_interpretation_Tm_refine_0a18c1d9d829c12ea03f1fdd4ff07ee4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cc25ff37b88364dacaea8b60814ec8fc", - "refinement_interpretation_Tm_refine_dbd32fc1f8071b12a138403222ec975e", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_destruct_l" - ], - 0, - "94b3498a2933079520cb41f224f2c039" - ], - [ - "FStar.Pointer.Base.path_equal'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_destruct_l.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathBase", - "equation_FStar.Pointer.Base.step_eq", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_destruct_l.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_Prims.dtuple2", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "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_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", - "refinement_interpretation_Tm_refine_2b3edafa058d04c5c7e8a35d7a04bacd", - "refinement_interpretation_Tm_refine_44cc82ec8d7130d7bd68064f48332395", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_942eb390dc27abd74312617cdca63061", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_destruct_l", - "typing_FStar.Pointer.Base.path_equal_", - "typing_FStar.Pointer.Base.path_length", - "typing_FStar.Pointer.Base.step_eq", - "typing_FStar.Pointer.Base.uu___is_PathBase", - "typing_Tm_abs_43e86c10475a85d4cc75f6a9b60d3d85", - "well-founded-ordering-on-nat" - ], - 0, - "596ef739a9aa9d392afbb53539ba279d" - ], - [ - "FStar.Pointer.Base.path_equal'", - 2, - 1, - 1, - [ "@query" ], - 0, - "c6387d0121e7aa5489cc27a34cf56b3f" - ], - [ - "FStar.Pointer.Base.path_includes_concat_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_concat_base_l", - "lemma_FStar.Pointer.Base.path_includes_concat", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_745c45a6c660b2794a1601e82614b9cd", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "typing_FStar.Pointer.Base.path_concat" - ], - 0, - "81700ab55f8e279268620f07e0b1f8f8" - ], - [ - "FStar.Pointer.Base.path_disjoint_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_c9202a9834ab181aaf32a45a956916fb", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d" - ], - 0, - "3346d2549d3c4bf4871174b3954d9311" - ], - [ - "FStar.Pointer.Base.step_sel_upd_other", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.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.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", - "FStar.Pointer.Base_interpretation_Tm_arrow_5d491a1b4d1a78b391a7c9212b49de34", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.ostruct_sel", - "equation_FStar.Pointer.Base.ostruct_upd", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.step_upd", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.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.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", - "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Seq.Base.init_index_", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "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.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "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.Pointer.Base.uu___is_StepCell", - "typing_FStar.UInt32.v", "typing_Prims.string", - "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "unit_inversion", - "unit_typing" - ], - 0, - "6f047c46684afbcddbce4cbd41a27bdf" - ], - [ - "FStar.Pointer.Base.path_sel_upd_other", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_sel_concat", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_60ddcdffd5ba8adfd24b319ec76cd182", - "refinement_interpretation_Tm_refine_94ef2680d91d6577ede5074a8fbe39bf", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.path_upd" - ], - 0, - "2e7cbcd2cf6615d377565816171f2c0e" - ], - [ - "FStar.Pointer.Base.path_sel_upd_other'", - 1, - 1, - 1, - [ "@query" ], - 0, - "b7a7ed7b69e243bf2e3df02d6a45d90a" - ], - [ - "FStar.Pointer.Base.equal", - 1, - 1, - 1, - [ "@query" ], - 0, - "d28cf4bb2958fc1dbd067072930c30b3" - ], - [ - "FStar.Pointer.Base.equal", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "assumption_FStar.Pointer.Base.typ__uu___haseq", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "06fe4960856384ef4b4674c26b24a701" - ], - [ - "FStar.Pointer.Base.as_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "8840680270d937c6898078f3df3dd291" - ], - [ - "FStar.Pointer.Base._field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "9b011cca9b94a34e067c43a5bf79ae97" - ], - [ - "FStar.Pointer.Base._cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "efeb693c4267b20b2421b392e2e583cd" - ], - [ - "FStar.Pointer.Base._ufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "4fd527eb01abd209e69ca348dc63bcca" - ], - [ - "FStar.Pointer.Base.unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "6a9046d8e03de8df2332785b5cfb4bf8" - ], - [ - "FStar.Pointer.Base.live", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "b9dd5d7ee0220f79b34599a5b2ca76a3" - ], - [ - "FStar.Pointer.Base.nlive", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.g_is_null" ], - 0, - "97e53ab55d61092d47303fa1e89a4f0b" - ], - [ - "FStar.Pointer.Base.live_nlive", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", - "equation_FStar.Pointer.Base.pointer", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "e9726804bc193e088794bb9d19690b6b" - ], - [ - "FStar.Pointer.Base.g_is_null_nlive", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", "true_interp", - "typing_FStar.Pointer.Base.g_is_null" - ], - 0, - "408d46a26e11509a91c27888678994ae" - ], - [ - "FStar.Pointer.Base.greference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_of_greference_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4e2ab07ce8055f254b1a667fb0e845a8", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "46295ed7a44ea1877457dec58f731e2b" - ], - [ - "FStar.Pointer.Base.unused_in_greference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "b99920b5f3910f00275d43e63e07fd06" - ], - [ - "FStar.Pointer.Base.live_not_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "a4474802c7ab24142c0866589bafd07c" - ], - [ - "FStar.Pointer.Base.gread", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_74d04f3d69c944bb6c1ca407ab636711" - ], - 0, - "c9b1d21602ee75fcaa947949576907bd" - ], - [ - "FStar.Pointer.Base.frameOf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "b9d67cb7a115d04297a8cbacfa016bcf" - ], - [ - "FStar.Pointer.Base.live_region_frameOf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "07f0c886e42cf5544575fbfd1825ce44" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "45beaa5dd1de9d8f604335d7313c2004" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "330c060b9b82d93fd255798744fa15de" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", - 1, - 1, - 1, - [ "@query" ], - 0, - "483cec4f711a4cc564ffffb43a0b54ce" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "ff8463355f30b4b2f9fbe4befd91b26d" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "7a4a75cc2f32c95b79cac3ecf43192c9" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "d5c03d5befe094b572ca5d0a7f4a274d" - ], - [ - "FStar.Pointer.Base.is_mm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "43ffabf5b7ac85e38dd3e58cee607f8a" - ], - [ - "FStar.Pointer.Base.as_addr_gfield", - 1, - 1, - 1, - [ "@query" ], - 0, - "4455ee54a1a6ae5e2e15c21162f533c7" - ], - [ - "FStar.Pointer.Base.as_addr_gfield", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "703e64b85a5e71ccec744a1275b74b8f" - ], - [ - "FStar.Pointer.Base.unused_in_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "bd4455e564dbb3b55976d33e94bbb427" - ], - [ - "FStar.Pointer.Base.live_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "b845fb10d56b5ded8f8488ee9d1151ff" - ], - [ - "FStar.Pointer.Base.gread_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "efa75d902e1dd15c2354d0eb2c2012d4" - ], - [ - "FStar.Pointer.Base.gread_gfield", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", - "FStar.Pointer.Base_interpretation_Tm_arrow_a0191ab2e68770063b58fb6f1cd4a993", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_Tm_unit", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "interpretation_Tm_abs_9960ac31dfa7b5178b9dece32921ded2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.DependentMap.t", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.string", "typing_Prims.uu___is_Cons", - "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "typing_Tm_abs_9960ac31dfa7b5178b9dece32921ded2" - ], - 0, - "d38432e42c4c99bc5c3d644af2cf6a22" - ], - [ - "FStar.Pointer.Base.frameOf_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "1133b08c07cc90352df4461e310273a5" - ], - [ - "FStar.Pointer.Base.is_mm_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "d070355268392e170f25100a44055b67" - ], - [ - "FStar.Pointer.Base.as_addr_gufield", - 1, - 1, - 1, - [ "@query" ], - 0, - "3bac4021a10aec3f43cba2a99e5eecb4" - ], - [ - "FStar.Pointer.Base.as_addr_gufield", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "90ff03646fbe53eb42365fc08cd609c7" - ], - [ - "FStar.Pointer.Base.unused_in_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "2c43896033461e77737403211116a21e" - ], - [ - "FStar.Pointer.Base.live_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "7dbc28bf5eb5ad18e44acc96b8110314" - ], - [ - "FStar.Pointer.Base.gread_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "240b3f1ed25be9632067a1a71dbabed7" - ], - [ - "FStar.Pointer.Base.gread_gufield", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_get_value", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pervasives.Native.fst", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.string", "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "0e6084a0a95a82bfd65d30f8c5ba2c5f" - ], - [ - "FStar.Pointer.Base.frameOf_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "f1aca63035999fe6c66d5b90265a70dd" - ], - [ - "FStar.Pointer.Base.is_mm_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "253bd3f51c48c9c9479ea9f2bd2807b2" - ], - [ - "FStar.Pointer.Base.gcell", - 1, - 1, - 1, - [ "@query" ], - 0, - "2233af154d9a747bd3a011da66a32149" - ], - [ - "FStar.Pointer.Base.as_addr_gcell", - 1, - 1, - 1, - [ "@query" ], - 0, - "f5df38d783530a9a72690a3e937b8ae6" - ], - [ - "FStar.Pointer.Base.as_addr_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "d759e47dc4a8feb4747505fa0762dd42" - ], - [ - "FStar.Pointer.Base.unused_in_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "5111c6bf945fee2d4ea9a93633357dba" - ], - [ - "FStar.Pointer.Base.live_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "284396257df713f6c9b777a62aa211f2" - ], - [ - "FStar.Pointer.Base.gread_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "typing_FStar.Pointer.Base.gread" - ], - 0, - "d87ab0d7fb35d7ccb50384374547e114" - ], - [ - "FStar.Pointer.Base.gread_gcell", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_create", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" - ], - 0, - "2a6ec5b456b0bb35d08ba67b9f887715" - ], - [ - "FStar.Pointer.Base.frameOf_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "d529c4d4bddbe754118b2e9344a0809d" - ], - [ - "FStar.Pointer.Base.is_mm_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "1fcdb331d7b8741e201634d34103f537" - ], - [ - "FStar.Pointer.Base.includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "5865995813ec1fad53f76080dae57c80" - ], - [ - "FStar.Pointer.Base.includes_refl", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "938bdb2e6e6866dbfc8862ccebbfdf49" - ], - [ - "FStar.Pointer.Base.includes_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "14ca8beb3cd37ba1a0ac242ea83e406d" - ], - [ - "FStar.Pointer.Base.includes_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepField@tok", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string", "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "6b6770ed6858bc2ae225333477cfcd54" - ], - [ - "FStar.Pointer.Base.includes_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepUField@tok", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string", "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "737ea7ef63af757985c6fa5f244b85e3" - ], - [ - "FStar.Pointer.Base.includes_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.gcell", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "5b0e325f087389c7d58b02a1bebd151a" - ], - [ - "FStar.Pointer.Base.includes_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_2294e26464ce127dc19115c7d2830fb1", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7be63e85c12413195a9167f090ba15fa", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.path_includes" - ], - 0, - "40a5b56712a827d1b1ac7724763ba950" - ], - [ - "FStar.Pointer.Base.includes_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_063c2b36cf1249fbf6d053f452d0ad87", - "refinement_interpretation_Tm_refine_1d4ba028ed16c70ccba461732aababc0", - "refinement_interpretation_Tm_refine_bc644e363f3618c98f527a696e25fc11" - ], - 0, - "d36ba0e5cff354b25d417fe914549609" - ], - [ - "FStar.Pointer.Base.readable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "07cc68306d0ce1ec4a2df0ecc62b566b" - ], - [ - "FStar.Pointer.Base.readable_live", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.readable", "l_and-interp" ], - 0, - "a7be51d2512f2204ca829ba7eb05b2e7" - ], - [ - "FStar.Pointer.Base.readable_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.ovalue_is_readable_step_sel_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string", "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "e76d7d021f4a6a17ef9dc6702e1e1bac" - ], - [ - "FStar.Pointer.Base.readable_struct", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_298741368b36f9fce1347c8b3fa4f829", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "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.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.ostruct_sel", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string", "unit_typing" - ], - 0, - "0b36d21038094b6e40c70ece40dec957" - ], - [ - "FStar.Pointer.Base.readable_struct_fields'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_2ab32aa018f38d35baff7c272edc1456_0", - "binder_x_dce109b66917edb1ca83b9408101b740_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "cd5d2afe5a1ebd6caa59c1e44fbf936b" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_nil", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_Prims.string" - ], - 0, - "6bbb5a3bc599d57846ddbe1176445867" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_cons", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.string" - ], - 0, - "fc9f01d689139eb579df4474bb1b6f88" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_2ab32aa018f38d35baff7c272edc1456_0", - "binder_x_8d6a14835e73bbd0cb8017424edf0a1b_2", - "binder_x_dce109b66917edb1ca83b9408101b740_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_e35e9177b80909dbf230b3c6b66a11f5", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_Prims.string" - ], - 0, - "20e956c269decb16db5646635cb5d1e3" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_readable_struct", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_40af92d7ec70b9e69654b789401fdfd3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_Prims.string" - ], - 0, - "5b4a4488ec3ab8f9a79a9da6e491b0c9" - ], - [ - "FStar.Pointer.Base.readable_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", "unit_typing" - ], - 0, - "86d9aa988f2d2398af6d1c79e4a7f361" - ], - [ - "FStar.Pointer.Base.readable_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base._cell", "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "3f7bc3d737e8d82f16931c011b11f2de" - ], - [ - "FStar.Pointer.Base.readable_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.string", "typing_Prims.uu___is_Cons", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "868b53d51af4928cab39c1aea304bfdb" - ], - [ - "FStar.Pointer.Base.is_active_union_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "data_elim_Prims.Cons", "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "d1718bf2dc1132c371fc1decc8c249af" - ], - [ - "FStar.Pointer.Base.is_active_union_live", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.is_active_union_field", - "l_and-interp" - ], - 0, - "9552c6a9c70aa86922aaaf45ba314326" - ], - [ - "FStar.Pointer.Base.is_active_union_field_live", - 1, - 1, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.is_active_union_live", - "lemma_FStar.Pointer.Base.live_gufield" - ], - 0, - "c3b636dfc07b62556824e98cf634b4bb" - ], - [ - "FStar.Pointer.Base.is_active_union_field_eq", - 1, - 1, - 1, - [ - "@query", "eq2-interp", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.struct_field", "l_and-interp" - ], - 0, - "52d90cd4c6bdc9c3e44fae2ed687a901" - ], - [ - "FStar.Pointer.Base.is_active_union_field_get_key", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", - "lemma_FStar.Pointer.Base.is_active_union_field_live", - "lemma_FStar.Pointer.Base.is_active_union_live", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "7bee56f6749aa5f759e6995049af357f" - ], - [ - "FStar.Pointer.Base.is_active_union_field_readable", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.readable_gufield" ], - 0, - "561ea74766af17d36c5f93879715c9da" - ], - [ - "FStar.Pointer.Base.is_active_union_field_includes_readable", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_09d9235a8068627898e77b75945bdc5c", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.TUnion", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.logical", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "l_and-interp", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.path_includes_concat", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_includes", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" - ], - 0, - "b77a7c89e38ad0514ac07724befd5682" - ], - [ - "FStar.Pointer.Base._singleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.PathStep_s", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v" - ], - 0, - "eea04765c90be09466082dff1be312ad" - ], - [ - "FStar.Pointer.Base.singleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "af791738a5e2e4ee6f654db8e9d1fa21" - ], - [ - "FStar.Pointer.Base.gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_root_length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t" - ], - 0, - "978dff6e7ffae44ad67dea3b92998ca8" - ], - [ - "FStar.Pointer.Base.buffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_cd8f0bca9917727345df4a84d95cb089", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt32.v" - ], - 0, - "8f7334bc3ec3547a8d9f93e136c9c193" - ], - [ - "FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "c0680732535e911928d26b6eaba6b85a" - ], - [ - "FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength" - ], - 0, - "8e16d1c0b5ceb6a00f10f83ef2e7bcef" - ], - [ - "FStar.Pointer.Base.buffer_live", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "6fd5aa1833c5236e9e37c26372df59ab" - ], - [ - "FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", "eq2-interp", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.live", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "l_and-interp", "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "772e9d8ae58b143023968755e6e26e9c" - ], - [ - "FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "7bbdd36a37e0dd1cf73df0b6d624208a" - ], - [ - "FStar.Pointer.Base.buffer_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "52e143df4a6cd70e7b2f24ba39760eb6" - ], - [ - "FStar.Pointer.Base.buffer_live_not_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.buffer_unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "lemma_FStar.Pointer.Base.live_not_unused_in", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "bef7821ea0c9d820ee63c43537327e7c" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "ced7ff1d4b3c883e6744a3340faf314e" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "e4b3dffbfc4f104eaf33c1a8b448d699" - ], - [ - "FStar.Pointer.Base.frameOf_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "14269f879b4adba1f91988bb7d75163c" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "d7079a3d17ef0e9f1a48b14cf55d28be" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "1aa845d215f174f6f56601826f0c3b03" - ], - [ - "FStar.Pointer.Base.live_region_frameOf_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.frameOf_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "565df722ad53a6e7fde1eb5307ad3fe0" - ], - [ - "FStar.Pointer.Base.buffer_as_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "868c81488b24e6cd5127bed64d570683" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "450a3adb632220847f9cd7a755294686" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "8f45dff99a90fbee88b23392ee15417b" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "81db9c343b9d9104af0c47283159afd4" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - 2, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "660c3d75910e2af78b0521c835c86ddb" - ], - [ - "FStar.Pointer.Base.gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "bd4e03801ce923402ac84f602a591bb7" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "8e29b0f8ea22600d0a2152ccbd02a8f2" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "660c85b03242499a70255f92620baa89" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "a4b7cd623041b6ac16c652b236dc1bf2" - ], - [ - "FStar.Pointer.Base.sub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "4c4ac79e4923cd91cce21aa2ea4e35e1" - ], - [ - "FStar.Pointer.Base.sub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_745d664c6e159cd0e4e176fbcf302acd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "1cff9468e952458b1c85f0fdc90133d1" - ], - [ - "FStar.Pointer.Base.offset_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "f46e10f5a3423f94ddb0a145b4c491bf" - ], - [ - "FStar.Pointer.Base.offset_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c867da679bb8eb29a8fb4db4ca3b21f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "0ad91ab1db7192ceee1d036879561591" - ], - [ - "FStar.Pointer.Base.buffer_length_gsub_buffer", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength" - ], - 0, - "363bf1baa55ba72a0097744c69069b12" - ], - [ - "FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "4ae2da6dd0bf14ae19c799df8d07f0f9" - ], - [ - "FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv" ], - 0, - "31ebe004c05bafad5566403da22628ef" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "bc05360685bca66072b21a82bb6bda82" - ], - [ - "FStar.Pointer.Base.gsub_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "41b171353899f51583cfa174b366531f" - ], - [ - "FStar.Pointer.Base.gsub_buffer_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "0d4670d0ca3a8f0e4492ca5a64207a03" - ], - [ - "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - 1, - 1, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e25d40a9113f9dacd9d7ee73ea323ca0" - ], - [ - "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "46f023977aa1bc12e4f26746c8615032" - ], - [ - "FStar.Pointer.Base.buffer_root_as_seq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3bc33d3ca2781709f7db339ab4f6a73c" - ], - [ - "FStar.Pointer.Base.length_buffer_root_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "96240e82ba2bb2ca06209c9e03092021" - ], - [ - "FStar.Pointer.Base.buffer_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.UInt32.v" - ], - 0, - "e9a46723a6c3fbf21b0e0e0960b996d5" - ], - [ - "FStar.Pointer.Base.buffer_length_buffer_as_seq", - 1, - 1, - 1, - [ "@query" ], - 0, - "679868de9c2f8b84c7fc74a0538364bf" - ], - [ - "FStar.Pointer.Base.buffer_length_buffer_as_seq", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "e3b2e355fe8da698bb2859744e955e38" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsingleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.PathStep_s", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6a1872e8dc484ff4b169a75dface8e09", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "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.greference_of", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.l_and", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" - ], - 0, - "26099308eb435b3bfe60d414fafd45d7" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "211c92071ebd0e06c2c47ecfb6a42b76" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "0ff99651cd0fcaa0f667f94e7814b4ab" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "591aceb8ecb1f5d5b106ab13f2471038" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "c02e21a43a3dbda2565135a8f60e7c3f" - ], - [ - "FStar.Pointer.Base.pointer_of_buffer_cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "103feec459f713c965326001a6bfcce2" - ], - [ - "FStar.Pointer.Base.pointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "865320e7c802bc110bac342c81793f96" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "29250fa618415d49c73b0e0eb6a2d296" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "b985bb9aa3386bd0e79efe4c854c87ad" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "193982b015d9caedfe900ffa0388edda" - ], - [ - "FStar.Pointer.Base.live_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_Tm_unit", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "6e2fa5f0c3f53169f10e8b9b79339232" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt32.v" - ], - 0, - "b2e107988643d515627c77dd9e3f4b25" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - 2, - 1, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "48d9905192f87fbdbba83db7f793ee59" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" - ], - 0, - "87fa1f4f50c367f7c673dc0bbe7d4a94" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "bb2a73a17dc91a2e39f4a249555c468c" - ], - [ - "FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.v" - ], - 0, - "79cf5c84439646d6b65c2819eeedc4a2" - ], - [ - "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "7c71ab79c2c9b6d084a768baa59cb038" - ], - [ - "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.v" - ], - 0, - "adb5af69e395b034863cf10f020012f3" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8439f3c9b18026cdbc8e1068ab7c989e" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gread", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.gread_gcell", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "a68c7998f34dffa140c97d47b0f640d2" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7760a3629057b79bfe3451cf51a1c959" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell" - ], - 0, - "a68c7998f34dffa140c97d47b0f640d2" - ], - [ - "FStar.Pointer.Base.index_buffer_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "7a6336316b5947759903b6fe31a3e5fc" - ], - [ - "FStar.Pointer.Base.index_buffer_as_seq", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "79933515ef426a83bf0a393559c5abb1" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "fb1a1a28f4d4b78806383136d1d48b3f" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "22a31d24977127f536de4e5e71fecaac" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1803c78d24c5fd3393c7364c6ae6275f" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "76ffa80d5a58909b86313fcea77d7d5f" - ], - [ - "FStar.Pointer.Base.buffer_readable_buffer_live", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "eb2ba8c5b41a09439775e58af76e717c" - ], - [ - "FStar.Pointer.Base.buffer_readable_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "829ee9d9754ae84543b3c81853cfc06f" - ], - [ - "FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.readable_gcell", - "lemma_FStar.Pointer.Base.readable_live", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c" - ], - 0, - "391872ab3f133e380377342fe8bb8d22" - ], - [ - "FStar.Pointer.Base.buffer_readable_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "e70fd27db924d0b72457c399825982a7" - ], - [ - "FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "49a48f07bf3c89be9bdd078ff5470f24" - ], - [ - "FStar.Pointer.Base.buffer_readable_intro", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "3525f3c25189b443954b2f012bcc7972" - ], - [ - "FStar.Pointer.Base.buffer_readable_elim", - 1, - 1, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell" - ], - 0, - "8b75fd303bcea24907c2e9411c6d4f92" - ], - [ - "FStar.Pointer.Base.disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_Prims.int" - ], - 0, - "dfc915c635d1f439d8f9a5edeca5e856" - ], - [ - "FStar.Pointer.Base.disjoint_root", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_Prims.int" - ], - 0, - "a85c0114cd6d14772b25d3f8ed6783e5" - ], - [ - "FStar.Pointer.Base.disjoint_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepField@tok", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", "eq2-interp", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gfield", - "lemma_FStar.Pointer.Base.frameOf_gfield", - "lemma_FStar.Pointer.Base.path_disjoint_step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" - ], - 0, - "5bb927531adc7335e1becc2e40eb8f6d" - ], - [ - "FStar.Pointer.Base.disjoint_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepCell@tok", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", - "lemma_FStar.Pointer.Base.frameOf_gcell", - "lemma_FStar.Pointer.Base.path_disjoint_step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.step_disjoint", "typing_FStar.UInt32.v", - "typing_Prims.int" - ], - 0, - "2eebb7c283ab62b640b604b6574bf6cc" - ], - [ - "FStar.Pointer.Base.disjoint_includes", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "lemma_FStar.Pointer.Base.path_disjoint_includes_l", - "lemma_FStar.Pointer.Base.path_disjoint_sym", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "true_interp", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.path_includes", "typing_Prims.int" - ], - 0, - "e484ec313d2684f6babbe8debb6548f4" - ], - [ - "FStar.Pointer.Base.disjoint_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.path_disjoint", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.disjoint_gfield", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_15c45a18895db0eab7a092e57be84ca9", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_77cb76ece3ec1de98424d83e532afccd", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.path_includes", - "typing_FStar.Pointer.Base.step_disjoint", "typing_Prims.int" - ], - 0, - "ab4c442986059e296d7c0a8f435ae336" - ], - [ - "FStar.Pointer.Base.disjoint_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.disjoint", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1057f9d2b591d45e0a692fa868a0c66f", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_Prims.int" - ], - 0, - "5eb42e11a37106ed36850e916d471bc4" - ], - [ - "FStar.Pointer.Base.disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_0600ed6fdc397ec1705174e441a78dc0", - "refinement_interpretation_Tm_refine_1057f9d2b591d45e0a692fa868a0c66f", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9d2830d159b1e910dc3e47685b21dba0", - "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799", - "typing_Prims.int" - ], - 0, - "149dbc9095b5145ceecfec7c68f8cc73" - ], - [ - "FStar.Pointer.Base.disjoint_sym'", - 1, - 1, - 1, - [ "@query" ], - 0, - "155fb6a7dd25623cf098f98cee01b381" - ], - [ - "FStar.Pointer.Base.disjoint_includes_l", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.includes_refl" ], - 0, - "b081b9ce9440d5fe96931ad3efc5a98b" - ], - [ - "FStar.Pointer.Base.disjoint_includes_l_swap", - 1, - 1, - 1, - [ "@query" ], - 0, - "2d16258297909edbad1e0c3498aba496" - ], - [ - "FStar.Pointer.Base.disjoint_includes_r", - 1, - 1, - 1, - [ "@query" ], - 0, - "8b752a4d7f4f11bd56b03225894674f0" - ], - [ - "FStar.Pointer.Base.__proj__LocBuffer__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" - ], - 0, - "2534aceb2047985bc162e31a15d770d5" - ], - [ - "FStar.Pointer.Base.__proj__LocBuffer__item__b", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" - ], - 0, - "8aed586c38ea4e7858be06eed911cb8d" - ], - [ - "FStar.Pointer.Base.__proj__LocPointer__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" - ], - 0, - "ca3499f68a2701d8a23b110cba58a0ad" - ], - [ - "FStar.Pointer.Base.__proj__LocPointer__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" - ], - 0, - "500555396004b61c1fa167d656b78f34" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "cdeb5aef93c1fc7b06471e7bec7de3a5" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_pointer_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "0c91ccadd7e9dc74b951d959979b58cc" - ], - [ - "FStar.Pointer.Base.loc_aux_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d2adcd4427711a84e3f4437c305371f6" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_refl'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "lemma_FStar.Pointer.Base.includes_refl", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "de5daa37bdbd5f9270fe6d993221e9d3" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "59359263c26ce4eacccaff177349634b" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "6451d1985e84d21738243433657b69f5" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "af872a5400fac78623a458da57070d4d" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_buffer_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "022f1bbd9955e5fc2e08348f88bd533d" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer_buffer_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "251eedd825a2b4a88ccdf1c8316129fb" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3157901f86d8894dab594de5a2fff838" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_3c6602ae075bb8847a1e8d4d2278d7fa", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "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.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "ee62d67e6d40dd2ffba31860a0cc7896" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "lemma_FStar.Pointer.Base.disjoint_includes_r", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "d720d576b4f14159aebed28f35a1f529" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "b2d7c1cc6b44c3c639c8442277866b17" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "5a4a92e7b674fc4d3d9483a982392063" - ], - [ - "FStar.Pointer.Base.loc_aux_preserved", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a9a62baae7e022afead5d36160c943a5" - ], - [ - "FStar.Pointer.Base.pointer_preserved_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "5f32d5c0003e2ffd730f57d6cab42077" - ], - [ - "FStar.Pointer.Base.pointer_preserved_intro", - 2, - 1, - 1, - [ "@query" ], - 0, - "3bd7f1eb813e1024282bfa675725f327" - ], - [ - "FStar.Pointer.Base.buffer_preserved_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_preserved", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_4a180d7aa1afd0a2fad463fd9c642bcc" - ], - 0, - "61aef5e6bfea5f4502a93b906a54ede1" - ], - [ - "FStar.Pointer.Base.buffer_preserved_intro", - 2, - 1, - 1, - [ "@query" ], - 0, - "0f1d37a6fec17aa1aa989dd096ddba0a" - ], - [ - "FStar.Pointer.Base.disjoint_not_self", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "59997282efc15144fb5b3a6c763f9592" - ], - [ - "FStar.Pointer.Base.loc_aux_in_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1a90e006997e2a09961499036ce00878" - ], - [ - "FStar.Pointer.Base.cls", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.aloc", - "equation_FStar.Pointer.Base.buffer_preserved", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.loc_aux_includes_refl__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c" - ], - 0, - "646239e06b36ffc3868575015f4fbd31" - ], - [ - "FStar.Pointer.Base.loc_union_idem", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_union" ], - 0, - "587d4d10b36571f7e808326ad3cd221e" - ], - [ - "FStar.Pointer.Base.loc_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "eq2-interp", "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_Prims.nat", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "f5394b523d203e03253b8d4996ffb399" - ], - [ - "FStar.Pointer.Base.loc_buffer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "eq2-interp", "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_Prims.nat", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "2c7bec617172ec0d769ea3ac4921f7a6" - ], - [ - "FStar.Pointer.Base.loc_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a9d5a39663251562a1c18c8e8ff08909" - ], - [ - "FStar.Pointer.Base.loc_includes_refl", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_includes" ], - 0, - "e78e1dc9a3429a25399a35a209426fde" - ], - [ - "FStar.Pointer.Base.loc_includes_trans", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_includes" ], - 0, - "19afa5ba7b5ab0f2a892743d287c7b8b" - ], - [ - "FStar.Pointer.Base.loc_includes_union_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "8c61bbb4666fddc88186def572e2d841" - ], - [ - "FStar.Pointer.Base.loc_includes_union_l", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "1a92fff533c014e033f3ca7fd1697362" - ], - [ - "FStar.Pointer.Base.loc_includes_none", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_none" - ], - 0, - "afc57d0c908c84ceaf370f2a6d39d30d" - ], - [ - "FStar.Pointer.Base.loc_includes_pointer_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "98bc54f8d9d6e9a9565c5cfd115d3e86" - ], - [ - "FStar.Pointer.Base.loc_includes_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_typing", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v" - ], - 0, - "0337a6597dba637718be74450e0e7990" - ], - [ - "FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt32.v" - ], - 0, - "50aa64d5711686ea95c8f53fb42c2364" - ], - [ - "FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", "equation_Prims.nat", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.includes_refl", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes" - ], - 0, - "57cf7d4bd5b8f05e4abe05c2250ffa1a" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_r", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.loc_aux_includes_refl__", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v", "unit_typing" - ], - 0, - "bd8b2a0f8b4e8a28ca348537622bda5d" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_l", - 1, - 1, - 1, - [ "@query" ], - 0, - "98b9ccefce6d2205d79eafda3ce2992f" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_l", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.gsub_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "ae4edf19fbec67d414e4c55675d8d615" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9494f64acb7aea800ed07cb3c47983d" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.mem", "typing_Prims.int" - ], - 0, - "6b54bda0e9eeaed17a643891e17b14e4" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f38bc78d3421777706d0fbdf4b655804" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d939b1269f315f4f0496cc6ea423450d" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "b19d79f83f35b8cae2301f2f9a4a8279" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f38bc78d3421777706d0fbdf4b655804" - ], - [ - "FStar.Pointer.Base.loc_includes_region_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem" - ], - 0, - "42f0c9149cb08a6e52562123d7460a97" - ], - [ - "FStar.Pointer.Base.loc_includes_region_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "4024e0d46a5b9b677219bc3cd468e3c9" - ], - [ - "FStar.Pointer.Base.loc_includes_region_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "87a9de5139c48983e3af02c584f0629d" - ], - [ - "FStar.Pointer.Base.loc_includes_region_addresses", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "026dda47a453fddb4dcc4f20619d2410" - ], - [ - "FStar.Pointer.Base.loc_includes_region_region", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "d9d119b7c239ca49961eeaf7789907b3" - ], - [ - "FStar.Pointer.Base.loc_includes_region_union_l", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "9660418e3ca3d350375b97872dcd41bb" - ], - [ - "FStar.Pointer.Base.loc_disjoint_sym", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_disjoint" ], - 0, - "c4fd0b2279b7fc6b1f72c2c6a3922b51" - ], - [ - "FStar.Pointer.Base.loc_disjoint_none_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_none" - ], - 0, - "b2482af69c75504dc8c3aca325a0aab8" - ], - [ - "FStar.Pointer.Base.loc_disjoint_union_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "122599d464cad59eedd559cb7d71f720" - ], - [ - "FStar.Pointer.Base.loc_disjoint_root", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "829a3bd0ab531f15d4be6474fb36e4d3" - ], - [ - "FStar.Pointer.Base.loc_disjoint_root", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.as_addr", "typing_Prims.int" - ], - 0, - "724bdd2f0df14c0ace0494642f41957f" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.nat", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gfield", - "lemma_FStar.Pointer.Base.disjoint_gfield", - "lemma_FStar.Pointer.Base.frameOf_gfield", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "unit_typing" - ], - 0, - "8ca7022fdbc581a31beab16abcbd0e9a" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4b95e52efeb7e10aef1d25ab43e59c45" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_gcell", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "unit_typing" - ], - 0, - "9c5fa5f36276e85c539e8019a170e08e" - ], - [ - "FStar.Pointer.Base.loc_disjoint_includes", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes" - ], - 0, - "9cd4fb4d00ad8c32e3f175066fc60be4" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint_strong", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "49467326d66ca4125d59992c1c1f0da0" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint_strong", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "f53896e2a7f62aa6b64ba62b517cb3ac" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "af1e87d0dabadf6c42902128c3e64b9b" - ], - [ - "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6dc868d8458ef26fb51a6e52df033da0" - ], - [ - "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.as_addr", "typing_Prims.int" - ], - 0, - "b7fa2d6f982777da6ae432f7a37f945d" - ], - [ - "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dfba8a30cf93f97f775d2da1733d5bc2" - ], - [ - "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "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.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.as_addr", "typing_Prims.int" - ], - 0, - "8a0215415013ee545d886b4eb1c89a66" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gsub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "73e8304932088a7979a948cf76125214" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "9a8784ce82efafbd5de980b86311b382" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1c75c187d78ce8aafcf932559acd00c0" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "6d47c454bcc6b6010aade2fa8d54e015" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_buffer", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "typing_FStar.Pointer.Base.loc_buffer" - ], - 0, - "5d3f9f5b4ea25de1cfa32f9bf4f3c34b" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_buffer", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "typing_FStar.Pointer.Base.loc_buffer" - ], - 0, - "fb5bddee3d69aa09fae3a4c6102b8406" - ], - [ - "FStar.Pointer.Base.loc_disjoint_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "939aa259c3e73f8097fe9a1dbc315e8e" - ], - [ - "FStar.Pointer.Base.loc_disjoint_addresses", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint" - ], - 0, - "d0582a489d568eb1f8705b6213dfcff7" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f2bcbcd3b31ec29f1799ff6b861cbddc" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.loc_disjoint_addresses", - "lemma_FStar.Pointer.Base.loc_includes_addresses_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.as_addr", - "typing_FStar.Pointer.Base.loc_addresses", "typing_FStar.Set.mem", - "typing_Prims.int" - ], - 0, - "53d5bd3e47128c8cf637f213f75623a3" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6c88e863a6ecf2c99e19fe8b7c5a9aaf" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "07d1f0cef67369eff875f76fb86ba7be" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.loc_disjoint_addresses", - "lemma_FStar.Pointer.Base.loc_includes_addresses_buffer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.buffer_as_addr", - "typing_FStar.Pointer.Base.loc_addresses", "typing_FStar.Set.mem", - "typing_Prims.int" - ], - 0, - "a6e4d11b36c844e5144053df7c33d3cb" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6c8e32415aea4a53ed03c073b053169f" - ], - [ - "FStar.Pointer.Base.loc_disjoint_regions", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "98564ae512fe7bbd1e4b27af240b5262" - ], - [ - "FStar.Pointer.Base.modifies_loc_regions_intro", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset" - ], - 0, - "a905e73a5e088118e3b03552dea5c429" - ], - [ - "FStar.Pointer.Base.modifies_pointer_elim", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "eq2-interp", "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_Prims.nat", - "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", - "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_FStar.Pointer.Base.loc_aux_preserved" - ], - 0, - "35411ba3b82ee57a02ab5576d444748d" - ], - [ - "FStar.Pointer.Base.modifies_buffer_elim'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.index_buffer_as_seq", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t" - ], - 0, - "b1a5e7403376fc07a2fda674977e0f9e" - ], - [ - "FStar.Pointer.Base.modifies_buffer_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" - ], - 0, - "97481ec55d31406382f50f64d96d96cf" - ], - [ - "FStar.Pointer.Base.modifies_reference_elim", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d070b9075768f8018526c920b42c2e4c" - ], - [ - "FStar.Pointer.Base.modifies_reference_elim", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.as_addr", "typing_Prims.int" - ], - 0, - "ee2df729b7b3971df4ad0e32f0c69601" - ], - [ - "FStar.Pointer.Base.modifies_refl", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.modifies" ], - 0, - "1ea8c987bf169aedf8418b1863c608ff" - ], - [ - "FStar.Pointer.Base.modifies_loc_includes", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "c7330825b3a511db9545e811af957a40" - ], - [ - "FStar.Pointer.Base.modifies_trans", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "3382af88d205c61dfa1c4a0f37fa85d6" - ], - [ - "FStar.Pointer.Base.screate", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.Pointer@tok", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_none", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_0", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_greference_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" - ], - 0, - "921851cd8ff2fb4ca048365c640c2be9" - ], - [ - "FStar.Pointer.Base.domain_upd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "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.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.upd", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_ad7e1b418ca64c1aeef94590edc4eb01", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "fee5c4d03f967eaab19329f636042e02" - ], - [ - "FStar.Pointer.Base.ecreate", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "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_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_none", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_0", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.logical", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_greference_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_11909c5fb1b8562f96ab0360020d5e9a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.l_and", - "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" - ], - 0, - "b3c6f2fb3c79f4611bba8b81bbd68f3a" - ], - [ - "FStar.Pointer.Base.field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_630f4ea120e51fbdccd80790504db19e", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "0f630f944fdf98f9c77225f1b30cb5fb" - ], - [ - "FStar.Pointer.Base.ufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2f0ee03cb351104c406e5fab04712a9c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "5aace1699521c8f4db08bd2c5af3c32b" - ], - [ - "FStar.Pointer.Base.cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "128c4cc5cd0243322450e5d715d70e4a" - ], - [ - "FStar.Pointer.Base.cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gcell", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_95ca5788740b2281baacad759e71270f", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "2b1ea01e59a640cb08e4ad09e392b0a8" - ], - [ - "FStar.Pointer.Base.reference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_34fbe053a9bd90fe28a8c099cc43600c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.pointer_ref_contents", "typing_Prims.int" - ], - 0, - "de662d77a05af5ebeec24ba308a10a57" - ], - [ - "FStar.Pointer.Base.read", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "eq2-interp", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6f9aa66937ca4c204e459d01042299f6", - "refinement_interpretation_Tm_refine_81a0d54c78434fc678ec7202c4b9fc09", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.reference_of", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "9d0e96260f3155925d8f15ee01712467" - ], - [ - "FStar.Pointer.Base.is_null", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.NullPtr", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "projection_inverse_FStar.Pointer.Base.NullPtr_to", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_bb3ae679001acd4c6774b129b21fb7f7", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.g_is_null" - ], - 0, - "36318c270f9925225014e2d57aa40c08" - ], - [ - "FStar.Pointer.Base.owrite", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "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.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base.aloc", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_preserved", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Heap.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.disjoint_sym_", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.path_sel_upd_same", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_60907afdf5bb4feb7e8ea7ef7a2ad5dc", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81a0d54c78434fc678ec7202c4b9fc09", - "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_preserved", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.reference_of", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.Pointer.Base.reference_of", "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.int", "typing_Prims.l_and" - ], - 0, - "daf7eeb1f4c21e6d90ca9d075a231e6b" - ], - [ - "FStar.Pointer.Base.write", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.readable", "l_and-interp", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "typing_FStar.Pointer.Base.live", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "b0ff38e36a441d7d129d49a1f7dab818" - ], - [ - "FStar.Pointer.Base.write_union_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_typ", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "abcfd6b1ffe02c61189afe101a121b6d" - ], - [ - "FStar.Pointer.Base.modifies_fresh_frame_popped", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "a86df691af6c13cdc7bd45b0cbda31a4" - ], - [ - "FStar.Pointer.Base.modifies_only_live_regions", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "1dbf07b8bdaef6bd02089b514f507ac4" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9570de5cce25c31e0d7ae882dce4f48c" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 2, - 1, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset", - "equation_Prims.nat" - ], - 0, - "59c8e43b5fe96ff7eea0fe14e252fdd3" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a2fe7bfe287c72bed0938976a7dbbf99" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_struct", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.string", "typing_Prims.uu___is_Cons" - ], - 0, - "b861d373cad82a02826ea44de74ac70d" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_array", - 1, - 1, - 1, - [ "@query" ], - 0, - "a6eba0e7a4421acb513d48fff32139ed" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_array", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Seq.Properties.for_all", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.loc_disjoint_gcell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gcell", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", "unit_typing" - ], - 0, - "67c5ff1108b0856fbaee92f26fa6ab8a" - ], - [ - "FStar.Pointer.Base.read_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2475d05dfbb6e957ec647102e58bec34" - ], - [ - "FStar.Pointer.Base.read_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.readable", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_e9f80e94617693055b40900dbd5751b9" - ], - 0, - "379d7b8948abe83ba3a213b94cf88c73" - ], - [ - "FStar.Pointer.Base.write_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" - ], - 0, - "e4307d30a289005426dfa4336a26128c" - ], - [ - "FStar.Pointer.Base.write_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.PathStep", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gcell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.pointer_ref_contents", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "c5e5e0c2cf0909a82ac980082c6cd3c8" - ], - [ - "FStar.Pointer.Base.buffer_live_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "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.unused_in", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "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_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.not_an_array_cell", - "typing_FStar.Pointer.Base.pointer_ref_contents", "unit_typing" - ], - 0, - "17b779213ccd2c7ebd7ce1ccb6eea957" - ], - [ - "FStar.Pointer.Base.pointer_live_buffer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.unused_in_greference_of", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "ee6a477b3b528c61b0ff8dc8e9cd069a" - ], - [ - "FStar.Pointer.Base.buffer_live_pointer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.pointer_ref_contents" - ], - 0, - "c7c2687ccb4331b8a4aae6fcc99b8ed1" - ], - [ - "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "448f3f91a9fc58b26cf4b45cfac695c5" - ], - [ - "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "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.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr", "typing_Prims.int" - ], - 0, - "1eb970583c17d6a9ff5857ed3cdf99bc" - ], - [ - "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "46b8dcd00efff421de79aea00522c9bc" - ], - [ - "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr", "typing_Prims.int" - ], - 0, - "cab95700bca2cec8b26dce6c2445371c" - ], - [ - "FStar.Pointer.Base.root_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Buffer", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.not_an_array_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "4d023b6fdb31c627483648decfc98c5f" - ], - [ - "FStar.Pointer.Base.buffer_idx", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.root_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.UInt32.uv_inv", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.root_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "e99243f530f58de6423ddd1ddc41b8f7" - ], - [ - "FStar.Pointer.Base.buffer_eq_gsub_root", - 1, - 1, - 1, - [ "@query" ], - 0, - "f515face44b56feb6e0c8e609e17bf47" - ], - [ - "FStar.Pointer.Base.buffer_eq_gsub_root", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" - ], - 0, - "43236327c005c72517a83577ff21c180" - ], - [ - "FStar.Pointer.Base.root_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "d91bd4a18a5896c01a89651bab05a029" - ], - [ - "FStar.Pointer.Base.buffer_idx_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" - ], - 0, - "4f05a0fa531d401efe65d6c09bf497fe" - ], - [ - "FStar.Pointer.Base.buffer_idx_gsub_buffer", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.gsub_buffer", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx" - ], - 0, - "ee9e81415392a19d244367556a05000d" - ], - [ - "FStar.Pointer.Base.buffer_includes_refl", - 1, - 1, - 1, - [ - "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes", "l_and-interp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "16d792762190ed47b1046aaf1622e773" - ], - [ - "FStar.Pointer.Base.buffer_includes_trans", - 1, - 1, - 1, - [ - "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes", "l_and-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9d64d032ad50b4f9be2f891d90483175" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub_r", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.buffer_idx_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "aa857c824227016775db4f4ee513ac9f" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub", - 1, - 1, - 1, - [ "@query" ], - 0, - "4fc59d6960f5fd9985f07b5fe0cbcbd3" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "64aec8e2873543bb82f959596cc62f0e" - ], - [ - "FStar.Pointer.Base.buffer_includes_elim", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.root_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "c8e1f8d31fbfdd053b9932893e0424a6" - ], - [ - "FStar.Pointer.Base.buffer_includes_elim", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "894fb453a6ba4f0be9eb6b4cfaaa3090" - ], - [ - "FStar.Pointer.Base.buffer_includes_loc_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "5c9d0b3e752a1db0c35a534d5d2f71a7" - ], - [ - "FStar.Pointer.Base.loc_of_cloc_of_loc", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.loc_of_cloc" - ], - 0, - "bb5a0cd9aab2a7666daddc71cfb17d4c" - ], - [ - "FStar.Pointer.Base.cloc_of_loc_of_cloc", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.loc_of_cloc" - ], - 0, - "752f6d23b95d7b0978119d350d450b03" - ], - [ - "FStar.Pointer.Base.loc_includes_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_includes", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "e2bd3d3c491074553849f7544fb8a384" - ], - [ - "FStar.Pointer.Base.loc_disjoint_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "450bd5ad9e2c4f432c4416094b6daf31" - ], - [ - "FStar.Pointer.Base.modifies_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.modifies", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "b2597d3fb964621fb3af0c3a39a10348" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Base.fsti.hints b/ulib/.hints/FStar.Pointer.Base.fsti.hints deleted file mode 100644 index 8e25e30e828..00000000000 --- a/ulib/.hints/FStar.Pointer.Base.fsti.hints +++ /dev/null @@ -1,1351 +0,0 @@ -[ - "^2æ\u0015'®Vˆ˜\u001aððâGƒ¦", - [ - [ - "FStar.Pointer.Base.typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_FStar.Pointer.Base.base_typ__uu___haseq", - "assumption_Prims.list__uu___haseq", - "equation_FStar.Pointer.Base.array_length_t", - "equation_Prims.eqtype", - "haseqTm_refine_9e7f68c38e43484e77069094f4fd88d3", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt32.t", "typing_Prims.string" - ], - 0, - "8bd183f6c1475da642b0b234f4548389" - ], - [ - "FStar.Pointer.Base.__proj__TBase__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" - ], - 0, - "dbb0316f338a33ca4000d39e35edfd06" - ], - [ - "FStar.Pointer.Base.__proj__TStruct__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" - ], - 0, - "7ff23993a539729687ba6277f0e3a7b4" - ], - [ - "FStar.Pointer.Base.__proj__TUnion__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" - ], - 0, - "aa0e1a78e4c412b242d3622fd8a01ddf" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "4433542dc320b869cee56aeb04a80ee8" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "e1b01449bee54871ff870652b875cd65" - ], - [ - "FStar.Pointer.Base.__proj__TPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" - ], - 0, - "00540093addb32909e39924b1a8cdaed" - ], - [ - "FStar.Pointer.Base.__proj__TNPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" - ], - 0, - "1795949f9b70ffe700f49930dbd74dc5" - ], - [ - "FStar.Pointer.Base.__proj__TBuffer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" - ], - 0, - "9ca993e53dc8c109ad4d97f70e709faf" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" - ], - 0, - "9a19a59cacec36a0b76ac8f1236e0a1a" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "f45422998c8f8af633dc03629785e4d3" - ], - [ - "FStar.Pointer.Base.typ_of_union_field", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pointer.Base.union_typ" ], - 0, - "04be47f3762dd04e5c070fdd82c8a26b" - ], - [ - "FStar.Pointer.Base.typ_depth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "d10200accd9c0e2c202358d0662b1e78" - ], - [ - "FStar.Pointer.Base.typ_depth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", - "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, - "7886be177b86dfb5787f912ebfb9e26b" - ], - [ - "FStar.Pointer.Base.typ_depth_typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string" - ], - 0, - "c0d62bae3ee20d9996456434a67a0a15" - ], - [ - "FStar.Pointer.Base.type_of_base_typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.TBool", - "disc_equation_FStar.Pointer.Base.TChar", - "disc_equation_FStar.Pointer.Base.TInt", - "disc_equation_FStar.Pointer.Base.TInt16", - "disc_equation_FStar.Pointer.Base.TInt32", - "disc_equation_FStar.Pointer.Base.TInt64", - "disc_equation_FStar.Pointer.Base.TInt8", - "disc_equation_FStar.Pointer.Base.TUInt", - "disc_equation_FStar.Pointer.Base.TUInt16", - "disc_equation_FStar.Pointer.Base.TUInt32", - "disc_equation_FStar.Pointer.Base.TUInt64", - "disc_equation_FStar.Pointer.Base.TUInt8", - "disc_equation_FStar.Pointer.Base.TUnit", - "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8ad73ec06223f9eadf239414cbd2af7b" - ], - [ - "FStar.Pointer.Base.array", - 1, - 2, - 1, - [ "@query" ], - 0, - "f19c7a051b03ae531629eb77584a1613" - ], - [ - "FStar.Pointer.Base.type_of_struct_field''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" - ], - 0, - "9b0f3c47a8c768e0609fbc5eadef32d0" - ], - [ - "FStar.Pointer.Base.type_of_struct_field'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "325eecb74362fd6da083a1a3296d521d" - ], - [ - "FStar.Pointer.Base.type_of_typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray" - ], - 0, - "c19b18e96e08dd2f30e2e4faa816b57f" - ], - [ - "FStar.Pointer.Base.type_of_typ_array", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t" - ], - 0, - "c40e2d0c50143fbffee3e371e991d14e" - ], - [ - "FStar.Pointer.Base.type_of_typ_type_of_struct_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "77812d7f1680d5495e9872d3b374cdda" - ], - [ - "FStar.Pointer.Base.struct_literal_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "619bfd78b551218f2465682544a623f9" - ], - [ - "FStar.Pointer.Base.fun_of_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.String_interpretation_Tm_arrow_77650534d172f9f4bbf4f147268736a3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.dfst_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_literal", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.dfst_struct_field", - "function_token_typing_FStar.String.compare", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b0baa351b8dc6384c3594e50be109582", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.List.Tot.Base.sortWith", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Prims.string", - "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" - ], - 0, - "bb2f023cf125e5353280f0f48f117fca" - ], - [ - "FStar.Pointer.Base.struct_create", - 1, - 2, - 1, - [ "@query" ], - 0, - "ff68227b43deaaad7b18abce58028bd1" - ], - [ - "FStar.Pointer.Base.equal", - 1, - 2, - 1, - [ "@query" ], - 0, - "264606a84edcefc4a0a12b797d3f537d" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", - 1, - 2, - 1, - [ "@query" ], - 0, - "e168380e021acb8ff6e0f5ac11f44ea7" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", - 1, - 2, - 1, - [ "@query" ], - 0, - "bc7967aef38e35385201cb33b23732d2" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", - 1, - 2, - 1, - [ "@query" ], - 0, - "d67f9a6bfe811553b9f377252de75845" - ], - [ - "FStar.Pointer.Base.as_addr_gfield", - 1, - 2, - 1, - [ "@query" ], - 0, - "5ab803f53c5071e46753cc9f48d718c6" - ], - [ - "FStar.Pointer.Base.gread_gfield", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "cecd0fbe809f4fb8dcad7f298c98c059" - ], - [ - "FStar.Pointer.Base.as_addr_gufield", - 1, - 2, - 1, - [ "@query" ], - 0, - "8ef08e53742c2bace933768dece28b18" - ], - [ - "FStar.Pointer.Base.gread_gufield", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "296ae9173d1dca3bd6f8f581df62b786" - ], - [ - "FStar.Pointer.Base.as_addr_gcell", - 1, - 2, - 1, - [ "@query" ], - 0, - "d8bdc89bc869e056cee7ddbc5b250d62" - ], - [ - "FStar.Pointer.Base.gread_gcell", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "typing_FStar.Pointer.Base.gread" - ], - 0, - "f3938043b24e1e7eecd0e29cec8195eb" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - 1, - 2, - 1, - [ "@query" ], - 0, - "b1274861b9b6d11df5e9b7ba8e5a2226" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - 1, - 2, - 1, - [ "@query" ], - 0, - "8a255b6ae7a5fed6303ee90a5d48d878" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "0ad97d2b0b6c6382343b6e0702f24b92" - ], - [ - "FStar.Pointer.Base.sub_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "c0df7dec03db10f3b60deced60e1563b" - ], - [ - "FStar.Pointer.Base.offset_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d175df3cea95539ac481ee285d675874" - ], - [ - "FStar.Pointer.Base.gsub_buffer_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "d83ff6030578b0ef0eced59aebc6795a" - ], - [ - "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "5649582b097d19a9ee33dcf6189f805d" - ], - [ - "FStar.Pointer.Base.buffer_length_buffer_as_seq", - 1, - 2, - 1, - [ "@query" ], - 0, - "46659f3b10707e9fd3c7c76cb22f43bc" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "5aa208f7842064fbe36cafda3b84561e" - ], - [ - "FStar.Pointer.Base.pointer_of_buffer_cell", - 1, - 2, - 1, - [ "@query" ], - 0, - "66c9ec9f8603705454767169a7d36da5" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "9e6fcd85e76781652038577159cd16a4" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "2991393610003aa7b44b2e5db503d6db" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt32.v" - ], - 0, - "9b75efed429a0a0133140f98f5b6a881" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" - ], - 0, - "ce1b863d0d05275da2e09d94a531329f" - ], - [ - "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ "@query" ], - 0, - "dbba20120b8979aad88ffcd5656752ab" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9a551049b487b6c8eebd03a21e2793cf" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7b36b4b4f46bbeeaa80610378dce109f" - ], - [ - "FStar.Pointer.Base.index_buffer_as_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "d7a6204a439e49e2a24ff066a7330fb7" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "1fe8ae7d5841c88fc47747889f1eb31b" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6ba29c3c6247e33afb6d60bfb56a2e56" - ], - [ - "FStar.Pointer.Base.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "52165c2774a9fc6a9cd0b3722a8fd6e3" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "51f03232a9a84e80c8856a1ad65189cb" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bc75e775a648101b6e01e4042039f180" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5436c5ae6ca201fd0b8b14f7c3251301" - ], - [ - "FStar.Pointer.Base.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4acbb47e82fa78cbad466231e2bd8f27" - ], - [ - "FStar.Pointer.Base.loc_disjoint_root", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "43ad572882e8932907681fc15ab2cc36" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gcell", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2b059682c9c5a1585055dca5d087a149" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint_strong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "da8ebc006c1c9cea8ee33ac95ddf2622" - ], - [ - "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4a0e0e9f47b85b5cc692f25d915a1458" - ], - [ - "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b1f71d8ea1344a5fc5c5f9233dec62bb" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gsub_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "48b726873b4bb80a203e5c75535b86f4" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1e8573852e837e11f51a38379997245c" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "b3e4f7b82cde9ff8dc0777ce15ece99c" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "d91ddae979f44f7512974404dee64121" - ], - [ - "FStar.Pointer.Base.loc_disjoint_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5682199ccf130ab4f8c18fccf1468c54" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "71720a4b5678956ad3e9e8020f83e0b1" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ef082add3eb6c958829dffc6635eecff" - ], - [ - "FStar.Pointer.Base.modifies_reference_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1a53aab6f8eb980654bfa37b79aae583" - ], - [ - "FStar.Pointer.Base.cell", - 1, - 2, - 1, - [ "@query" ], - 0, - "18c82c10a8f820c9936cd8c66a8e975e" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0cdd0e58a473ba09395caf0cd9821800" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_array", - 1, - 2, - 1, - [ "@query" ], - 0, - "20908e74df12c1c2581aa8ba5c213753" - ], - [ - "FStar.Pointer.Base.read_buffer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8040eed3cd944c46d83b5e2b5c701ab5" - ], - [ - "FStar.Pointer.Base.write_buffer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" - ], - 0, - "aebf5eb96b35b8e60be1a358ac13b35c" - ], - [ - "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1e1c33cbdbca9963e7e2beb683ef1173" - ], - [ - "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2da20125413331d817a70790b7b761ec" - ], - [ - "FStar.Pointer.Base.buffer_eq_gsub_root", - 1, - 2, - 1, - [ "@query" ], - 0, - "26ed66eed36621530299a55b1160e59f" - ], - [ - "FStar.Pointer.Base.buffer_idx_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" - ], - 0, - "e26efd7f89a91140fbbc139218896c26" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub", - 1, - 2, - 1, - [ "@query" ], - 0, - "1db228a2c5433dc8451b50966b9dbc8e" - ], - [ - "FStar.Pointer.Base.buffer_includes_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "66c8674dc4e460a5b62f33a5132bc779" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived1.fst.hints b/ulib/.hints/FStar.Pointer.Derived1.fst.hints deleted file mode 100644 index 5eb6fe04e13..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived1.fst.hints +++ /dev/null @@ -1,1281 +0,0 @@ -[ - "Õ™Ú\u00032pïØÛ[¬Ìëˆ-p", - [ - [ - "FStar.Pointer.Derived1.includes_gfield_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "c9efdc37584bb8f8b839debe8306dade" - ], - [ - "FStar.Pointer.Derived1.includes_gufield_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "84b6c506ddc8d7b9f98f2b03cd8b3d54" - ], - [ - "FStar.Pointer.Derived1.includes_gcell_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "a9f09473d12d175e0f812fafb555b1e3" - ], - [ - "FStar.Pointer.Derived1.loc_includes_union_assoc_r2l", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "4df60c5d7cb81e38c04cb1c22f2db72f" - ], - [ - "FStar.Pointer.Derived1.loc_includes_union_assoc_l2r", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "376e1caceec84adb06de723b21927f31" - ], - [ - "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_1", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Derived1.loc_includes_union_assoc_l2r", - "lemma_FStar.Pointer.Derived1.loc_includes_union_assoc_r2l", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "434cdbb43513b95dfda39043b719410c" - ], - [ - "FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_2", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Derived1.loc_includes_union_assoc_focalize_1", - "lemma_FStar.Pointer.Derived1.loc_includes_union_assoc_r2l", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "9c3a0b1a6df11062ee758a62d9f1aa61" - ], - [ - "FStar.Pointer.Derived1.loc_includes_region_union_r", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_region_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "typing_FStar.Pointer.Base.loc_regions" - ], - 0, - "b5148a1dbe805607f7c55bc7fe5e4ea9" - ], - [ - "FStar.Pointer.Derived1.loc_includes_region_union_assoc", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_region_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Derived1.loc_includes_union_assoc_l2r", - "typing_FStar.Pointer.Base.loc_regions", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "2c2d0c015e84c87027d6edad5ca60864" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_none_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "bc7cb4458c5118805560d602abd9c8f6" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_union_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "4f88edbc71c18d0d47793bb73c880708" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gfield_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "9295fe0490b0be876a81ea5a4588bf8f" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gfield_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "b95f0b8e333dfbbb24313e0722cad833" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gufield_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Derived1.includes_gufield_gen", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "fd86a48ff4ac5f0cc5c2299bea9d7131" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gufield_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "5e52c3cf175d2a4b5bcd9841a931330b" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gcell_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Derived1.includes_gcell_gen" - ], - 0, - "25efc967b8202a0122cac3c30314b4c8" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gcell_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e2a1afcd84556fcceeb434c1d2d68c9" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_r", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "4a31c710e7809e9e8320135f935c4252" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsingleton_buffer_of_pointer_l", - 1, - 2, - 1, - [ "@query" ], - 0, - "9da5614da35296ac3e0e96e9c952248e" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_r", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "9c292518c2bf5be24bdeb8c84ae042c8" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gbuffer_of_array_pointer_l", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "6500da516ff2ee065a3a5ba6660c0fb3" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_r", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "0a982a68949090de2f856f617f7735e4" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_l", - 1, - 2, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "fc6d612327dce4bb2ab5a7a1b4fe340c" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_r", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_gsub_buffer_r", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "3033344e7c0d71ffb12d506a2e5aeb92" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_l", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_gsub_buffer_r", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "b6ac9e0244e5e504a7846092a18685db" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3ce2977653e38462aeecb3316e80436e" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", - 2, - 2, - 1, - [ "@query", "lemma_FStar.Pointer.Base.loc_disjoint_pointer_addresses" ], - 0, - "792ee6c145e469ed46486903245888dc" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6fc19a0ca5566e00c67fe58ab19a4f92" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_union_r_elim", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_l" - ], - 0, - "edd448d6b9200987cc011918dd2a7d24" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_union_l_elim", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_disjoint_sym", - "lemma_FStar.Pointer.Derived1.loc_disjoint_union_r_elim", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "36ed3608758aa7987194d4fcb92725fd" - ], - [ - "FStar.Pointer.Derived1.modifies_trans_incl_l", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_trans", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "644cdabf26dd3ae757153d5cde9c0c00" - ], - [ - "FStar.Pointer.Derived1.modifies_trans_incl_r", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_trans", - "typing_FStar.Pointer.Base.loc_union" - ], - 0, - "22f9a5371c4db4804d0d32992c5c80d7" - ], - [ - "FStar.Pointer.Derived1.modifies_fresh_frame_popped'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Set.subset", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.loc_includes_region_region", - "lemma_FStar.Pointer.Base.loc_includes_union_l", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.loc_regions", - "typing_FStar.Pointer.Base.loc_union", "typing_FStar.Set.singleton" - ], - 0, - "2e27f62ddfb9a8892e36751b4adcefe4" - ], - [ - "FStar.Pointer.Derived1.buffer_includes_gsub_r_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "d2bdccf1b4733b7dd1ca1e3ae38c1995" - ], - [ - "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", - 1, - 2, - 1, - [ "@query" ], - 0, - "298d1a763863e1f58ff59f236fe1e6d3" - ], - [ - "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "32c1064475bdf5f6facb18a0864f2ce5" - ], - [ - "FStar.Pointer.Derived1.buffer_contents_equal_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.snoc_slice_index", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_826387aef7558dd638519e7853e60787", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "47b2c33ee75b5a885954d2ad2f1cc414" - ], - [ - "FStar.Pointer.Derived1.buffer_contents_equal", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "664fac7078b1e644a8426e86db8e432c" - ], - [ - "FStar.Pointer.Derived1.buffer_contents_equal", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_c96e8a0ccfb549557826bafd1f04a0b7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "c18dd07477f2b9cc860656cfea30515c" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_intro_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "0456c46b9051e82bf2752b1f7dda5297" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ "@query" ], - 0, - "b39bd79078f27961496818bad18811c9" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", - "lemma_FStar.Pointer.Base.loc_disjoint_gsub_buffer", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "4947d05d3cbee43a7dc9ccfecdc0a0df" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "57f893f6bbf9f0bfcb4c875f301a7ed0" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "2e43a038b1d9aa8f96483a80c6084920" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "823147744ca99aba4d2234e26957e2c8" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_elim", - 2, - 2, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub" - ], - 0, - "3902cc6f098b051ad267f63001b0f5cf" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "f7b13039dc77c8eed9c841405b80681d" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa8fb5a58e292847e62ffbe26ba00efd", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" - ], - 0, - "b582bec1c83a11eb022b651caed262aa" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "ee7dd5eba4fe59b33e176770fc330020" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.index_buffer_as_seq", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.snoc_slice_index", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6b7ac8c18caf712152f666d2921f6533", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "bf12c9b6f691cf9477ee46810df98512" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "edd5a67112dfd375226e47290b1917a8" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "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.cons_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6b7ac8c18caf712152f666d2921f6533", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt32.v" - ], - 0, - "d481600f3ff477438d44b0af6a321632" - ], - [ - "FStar.Pointer.Derived1.buffer_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "d3d422f72d883385ae51ef961b3ef9e3" - ], - [ - "FStar.Pointer.Derived1.buffer_snoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" - ], - 0, - "e23dc279faef3e944b1f68d88a07a460" - ], - [ - "FStar.Pointer.Derived1.buffer_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "e6eacd35d5477ea42c081bea8ef2a523" - ], - [ - "FStar.Pointer.Derived1.buffer_cons", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt32.v" - ], - 0, - "2894098e2a8bdd829321783bad299ef8" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "a6242a09efa63f76fa710d4938921717" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_merge", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "ab42d68d26a42215c060b2d7b996b080" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "4394d379e1a5cdada8fab50156875535" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.buffer_readable_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - "lemma_FStar.Pointer.Base.loc_disjoint_sym", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Derived1.buffer_readable_intro_empty", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "6cc27e8dcff761d78b8cc99b723c54e1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived1.fsti.hints b/ulib/.hints/FStar.Pointer.Derived1.fsti.hints deleted file mode 100644 index 9f17c338caf..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived1.fsti.hints +++ /dev/null @@ -1,264 +0,0 @@ -[ - "¼\u0002çåÞÏQœØ›àÇxLªl", - [ - [ - "FStar.Pointer.Derived1.loc_disjoint_addresses_pointer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f3b70d19c27cda4898b7b7847ce01232" - ], - [ - "FStar.Pointer.Derived1.readable_gpointer_of_buffer_cell_gsub", - 1, - 2, - 1, - [ "@query" ], - 0, - "c2d9b13b3863398b1ec3fbcaed29b240" - ], - [ - "FStar.Pointer.Derived1.buffer_contents_equal", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1b8a9c285ed6b5ac286e622b9f2cee45" - ], - [ - "FStar.Pointer.Derived1.loc_disjoint_gsub_buffer_gpointer_of_buffer_cell", - 1, - 2, - 1, - [ "@query" ], - 0, - "2c3a126fe66c1a68650cf976362575ed" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "968784987402ae94de260debad94edd3" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "823147744ca99aba4d2234e26957e2c8" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "f7b13039dc77c8eed9c841405b80681d" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "ee7dd5eba4fe59b33e176770fc330020" - ], - [ - "FStar.Pointer.Derived1.buffer_as_seq_gsub_buffer_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "8d3b07e4787ad4b23ffbbd350191774e" - ], - [ - "FStar.Pointer.Derived1.buffer_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_d0847092ae5c4f6f0e695e7bc363fdda", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "7cb9a4f1cd5c726a58f9ae0a28952093" - ], - [ - "FStar.Pointer.Derived1.buffer_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_53c13388b1b1ed30ed5e069f54b28bf3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "e6eacd35d5477ea42c081bea8ef2a523" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_gsub_merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "f594465f7ca5d2fc45c45a19d5c45aed" - ], - [ - "FStar.Pointer.Derived1.buffer_readable_modifies_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "4394d379e1a5cdada8fab50156875535" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived2.fst.hints b/ulib/.hints/FStar.Pointer.Derived2.fst.hints deleted file mode 100644 index 3823ad9a76c..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived2.fst.hints +++ /dev/null @@ -1,249 +0,0 @@ -[ - "„Uã‘ôã\u007fêó³éɬÍ,", - [ - [ - "FStar.Pointer.Derived2.copy_buffer_contents_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "471292348c2613392cbdf30d305aa55d" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_postcond", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" - ], - 0, - "de16e505db1b2a49a544b54247daf4a2" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "3507a4d129e2c251d5a94228a27de990" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_init", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.modifies_refl", - "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd0a7d01180aeb3ce1967bce3c7eea5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "2b9250e00f47599b904f4b201878b7ce" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_advance", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" - ], - 0, - "99960bdd27cadfb3fd0a050e1a9e083e" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_advance", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Base.modifies_buffer_elim", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gpointer_of_buffer_cell_r", - "lemma_FStar.Pointer.Derived1.modifies_trans_incl_l", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_43fee4410e2eebc2b193cefe9b781263", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_dac442162a91d9cdcde2462df5f9915e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.Pointer.Base.loc_pointer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "fdb8c6fbe603b80166f56f7c62cf1aa6" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_inv", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_postcond_", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_28d861dd3fbad05c9ea9e07cc07c3e73", - "refinement_interpretation_Tm_refine_43fee4410e2eebc2b193cefe9b781263", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dd47a4ccda1e57be8cb21610a3984854", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v" - ], - 0, - "7a3602cb31182f6e0d79026111edfb84" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_fin", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_postcond", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_postcond_", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" - ], - 0, - "08a3fbfe72fc31e87823eeca019d8ebb" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond_", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_cafc637ad36864762cdb7f730873ff48", - "typing_FStar.Pointer.Base.gsub_buffer" - ], - 0, - "a7f6afb251b6a4dcc8946ce52de3033f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived2.fsti.hints b/ulib/.hints/FStar.Pointer.Derived2.fsti.hints deleted file mode 100644 index a504772ba39..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived2.fsti.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "D\u001cyÀË\u001f~}\u001f·R\u0003[²Øê", - [ - [ - "FStar.Pointer.Derived2.copy_buffer_contents_precond", - 1, - 2, - 1, - [ "@query" ], - 0, - "00364761ef4dce16c60aac68d69ddff0" - ], - [ - "FStar.Pointer.Derived2.copy_buffer_contents_postcond", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.Pointer.Derived2.copy_buffer_contents_precond" - ], - 0, - "de16e505db1b2a49a544b54247daf4a2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived3.fst.hints b/ulib/.hints/FStar.Pointer.Derived3.fst.hints deleted file mode 100644 index cc6704e9fd4..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived3.fst.hints +++ /dev/null @@ -1,284 +0,0 @@ -[ - "Õ9p\u0014\u0007SÍô)DÛ\r•‘\u0013", - [ - [ - "FStar.Pointer.Derived3.fill_buffer_postcond", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "equation_FStar.Pointer.Derived3.fill_buffer_precond", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5cfbce2fb6dfb712a591ebb75ac0b698" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_postcond'", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f280c19141b7adc0dd022f792d7f0b57" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "1d5975e912bd3578487549252d8a66b6" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_init", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Derived3.fill_buffer_inv", - "equation_FStar.Pointer.Derived3.fill_buffer_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.modifies_refl", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5bd0a7d01180aeb3ce1967bce3c7eea5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "c9eeb8d00bb41ad79367b70c46f4932d" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_advance", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived3.fill_buffer_inv", - "equation_FStar.Pointer.Derived3.fill_buffer_precond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt32.v" - ], - 0, - "33a39491429dd9fd224d6b55146917dd" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_advance", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived3.fill_buffer_inv", - "equation_FStar.Pointer.Derived3.fill_buffer_precond_", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Pointer.Derived1.modifies_trans_incl_l", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1a0bd135866b64099bc19591f342004c", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b90eca26d20b8e35c77bcc2fc762f3d3", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dac442162a91d9cdcde2462df5f9915e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Ghost.reveal", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.loc_buffer", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "409d2f82fc709a48b6cf5d57a8db6c19" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Derived3.fill_buffer_inv", - "equation_FStar.Pointer.Derived3.fill_buffer_postcond_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "int_inversion", - "int_typing", "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1e511af32fbf3225c6a8ef5173b5d4de", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8c8af78aae1a97728ac8b5c813300298", - "refinement_interpretation_Tm_refine_b90eca26d20b8e35c77bcc2fc762f3d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "407285768fd3ea7f54e977326c06b2a7" - ], - [ - "FStar.Pointer.Derived3.fill_buffer_fin", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Pointer.Derived3.fill_buffer_postcond", - "equation_FStar.Pointer.Derived3.fill_buffer_postcond_", - "equation_FStar.Pointer.Derived3.fill_buffer_precond", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer" - ], - 0, - "8d1898c444c28592c76f7cf5208a010d" - ], - [ - "FStar.Pointer.Derived3.fill_buffer'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Derived3.fill_buffer_precond", - "equation_FStar.Pointer.Derived3.fill_buffer_precond_", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "refinement_interpretation_Tm_refine_250dbf8056140f529a627276f6c8bef6" - ], - 0, - "5011c114d13da8bc53ed707c7a8dd37c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.Derived3.fsti.hints b/ulib/.hints/FStar.Pointer.Derived3.fsti.hints deleted file mode 100644 index a2ed6647b90..00000000000 --- a/ulib/.hints/FStar.Pointer.Derived3.fsti.hints +++ /dev/null @@ -1,21 +0,0 @@ -[ - "Ò\u007fÌ\u0019µßž\u0006Ùü\u001b>lXwx", - [ - [ - "FStar.Pointer.Derived3.fill_buffer_postcond", - 1, - 2, - 1, - [ - "@query", "b2t_def", - "equation_FStar.Pointer.Derived3.fill_buffer_precond", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "08505aca5c7c66dc9c8f74d0d918f3c4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pointer.fst.hints b/ulib/.hints/FStar.Pointer.fst.hints deleted file mode 100644 index 9de4a40bc05..00000000000 --- a/ulib/.hints/FStar.Pointer.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "5V¾„nHOÍ\tO÷“Óöxz", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.PredicateExtensionality.fst.hints b/ulib/.hints/FStar.PredicateExtensionality.fst.hints deleted file mode 100644 index 8f90c3f7c1c..00000000000 --- a/ulib/.hints/FStar.PredicateExtensionality.fst.hints +++ /dev/null @@ -1,24 +0,0 @@ -[ - "\u0005\u0019nåßY1Xç\n@üë5‚\r", - [ - [ - "FStar.PredicateExtensionality.predicateExtensionality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.PredicateExtensionality.peq", - "equation_FStar.PredicateExtensionality.predicate", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.extensionality", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "76a4a1bf0aff268b499fec9744132980" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Preorder.fst.hints b/ulib/.hints/FStar.Preorder.fst.hints deleted file mode 100644 index e6dbe83b8e2..00000000000 --- a/ulib/.hints/FStar.Preorder.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "x?\u001bê\u0003ñàëÖ\u001aJ²\\ÅÓB", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Printf.fst.hints b/ulib/.hints/FStar.Printf.fst.hints deleted file mode 100644 index 920b1f893e3..00000000000 --- a/ulib/.hints/FStar.Printf.fst.hints +++ /dev/null @@ -1,338 +0,0 @@ -[ - "9Š\u0003Û†A×\u00154o–´k\nªÎ", - [ - [ - "FStar.Printf.__proj__Extension__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3beb8710e53474127cdc6910faff6866" - ], - 0, - "0950fcd306f528d0cc49ae2d8abeb0e3" - ], - [ - "FStar.Printf.arg_type", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_FStar.Printf.Bool", - "disc_equation_FStar.Printf.Char", - "disc_equation_FStar.Printf.Extension", - "disc_equation_FStar.Printf.I16", "disc_equation_FStar.Printf.I32", - "disc_equation_FStar.Printf.I64", "disc_equation_FStar.Printf.I8", - "disc_equation_FStar.Printf.Int", - "disc_equation_FStar.Printf.String", - "disc_equation_FStar.Printf.U16", "disc_equation_FStar.Printf.U32", - "disc_equation_FStar.Printf.U64", "disc_equation_FStar.Printf.U8", - "fuel_guarded_inversion_FStar.Printf.arg", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f95c2d2aea1e64a1389880a52a6e4240" - ], - [ - "FStar.Printf.string_of_arg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Printf.Bool", - "constructor_distinct_FStar.Printf.Char", - "constructor_distinct_FStar.Printf.Extension", - "constructor_distinct_FStar.Printf.I16", - "constructor_distinct_FStar.Printf.I32", - "constructor_distinct_FStar.Printf.I64", - "constructor_distinct_FStar.Printf.I8", - "constructor_distinct_FStar.Printf.Int", - "constructor_distinct_FStar.Printf.String", - "constructor_distinct_FStar.Printf.U16", - "constructor_distinct_FStar.Printf.U32", - "constructor_distinct_FStar.Printf.U64", - "constructor_distinct_FStar.Printf.U8", - "disc_equation_FStar.Printf.Bool", "disc_equation_FStar.Printf.Char", - "disc_equation_FStar.Printf.Extension", - "disc_equation_FStar.Printf.I16", "disc_equation_FStar.Printf.I32", - "disc_equation_FStar.Printf.I64", "disc_equation_FStar.Printf.I8", - "disc_equation_FStar.Printf.Int", - "disc_equation_FStar.Printf.String", - "disc_equation_FStar.Printf.U16", "disc_equation_FStar.Printf.U32", - "disc_equation_FStar.Printf.U64", "disc_equation_FStar.Printf.U8", - "equality_tok_FStar.Printf.Bool@tok", - "equality_tok_FStar.Printf.Char@tok", - "equality_tok_FStar.Printf.I16@tok", - "equality_tok_FStar.Printf.I32@tok", - "equality_tok_FStar.Printf.I64@tok", - "equality_tok_FStar.Printf.I8@tok", - "equality_tok_FStar.Printf.Int@tok", - "equality_tok_FStar.Printf.String@tok", - "equality_tok_FStar.Printf.U16@tok", - "equality_tok_FStar.Printf.U32@tok", - "equality_tok_FStar.Printf.U64@tok", - "equality_tok_FStar.Printf.U8@tok", "equation_FStar.Printf.arg_type", - "fuel_guarded_inversion_FStar.Printf.arg", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Printf.Extension__0", - "projection_inverse_FStar.Printf.MkExtension_a" - ], - 0, - "726fb0461a9733b9c1ec238528d42ec0" - ], - [ - "FStar.Printf.__proj__Lit__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37423919295cd822d336ea93baad95f4" - ], - 0, - "861984e6fde91e51b1bc763bbd926176" - ], - [ - "FStar.Printf.__proj__Arg__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d9dc5f03433d2ecffb05bfd949e65ef5" - ], - 0, - "eec48f9d0f6103dadd82795870de1667" - ], - [ - "FStar.Printf.dir_type", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2368d2b39f3a5b7fbce69a651b5bf73d_0", - "disc_equation_FStar.Printf.Arg", "disc_equation_FStar.Printf.Lit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Printf.dir", - "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_Prims.__proj__Cons__item__hd" - ], - 0, - "7f3337b4fc0380952b0a6ad9fc9aedc7" - ], - [ - "FStar.Printf.string_of_dirs", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Printf.dir_type.fuel_instrumented", - "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", - "@query", - "FStar.Printf_interpretation_Tm_arrow_746dbc3b190486ddef32c12718413ad7", - "FStar.Printf_interpretation_Tm_arrow_98528443fb85174b378d35519fffd78c", - "FStar.String_interpretation_Tm_arrow_70affe4dada4ca8ba18740c614ba5211", - "binder_x_2368d2b39f3a5b7fbce69a651b5bf73d_0", - "binder_x_2b7d8f2dadd0193f4caa6b86ea292a53_1", - "constructor_distinct_FStar.Printf.Arg", - "constructor_distinct_FStar.Printf.Lit", - "constructor_distinct_Prims.Nil", "disc_equation_FStar.Printf.Arg", - "disc_equation_FStar.Printf.Lit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_with_fuel_FStar.Printf.dir_type.fuel_instrumented", - "fuel_guarded_inversion_FStar.Printf.dir", - "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Printf.Arg__0", - "projection_inverse_FStar.Printf.Lit__0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "string_typing", "subterm_ordering_Prims.Cons", - "typing_Prims.__proj__Cons__item__hd", - "typing_Tm_abs_de78d2216c960068d4ae00eb06e7b607" - ], - 0, - "be472b4921e7c8085b7dd7b652d2d2b3" - ], - [ - "FStar.Printf.parse_format", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4bb2ecabb8dd73bd801eb57f838ec7dc_0", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.String.char", - "equation_Prims.eqtype", "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Printf.dir@tok", "kinding_Prims.list@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Equality", - "proj_equation_Prims.Cons_hd", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_e2cfddc06c606ecf5b4e53f6364bd614", - "subterm_ordering_Prims.Cons", "typing_FStar.String.char", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "9c4c22ae6e5c8338ade3226bca975b63" - ], - [ - "FStar.Printf.sprintf", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Printf.dir_type.fuel_instrumented", - "@fuel_correspondence_FStar.Printf.parse_format.fuel_instrumented", - "@fuel_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", - "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", - "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Printf.Arg", - "constructor_distinct_FStar.Printf.Lit", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Printf.Arg", "disc_equation_FStar.Printf.Lit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Printf.Bool@tok", - "equality_tok_FStar.Printf.Char@tok", - "equality_tok_FStar.Printf.I16@tok", - "equality_tok_FStar.Printf.I32@tok", - "equality_tok_FStar.Printf.I64@tok", - "equality_tok_FStar.Printf.I8@tok", - "equality_tok_FStar.Printf.Int@tok", - "equality_tok_FStar.Printf.String@tok", - "equality_tok_FStar.Printf.U16@tok", - "equality_tok_FStar.Printf.U32@tok", - "equality_tok_FStar.Printf.U64@tok", - "equality_tok_FStar.Printf.U8@tok", - "equation_FStar.Char.__char_of_int", - "equation_FStar.Printf.no_extensions", - "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Printf.dir_type.fuel_instrumented", - "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", - "equation_with_fuel_FStar.Printf.string_of_dirs.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Printf.Arg__0", - "projection_inverse_FStar.Printf.Lit__0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_a92e1821837f8512b90aee0ba19a705c", - "string_inversion", "typing_FStar.Printf.no_extensions", - "typing_FStar.Printf.parse_format", - "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.char", "typing_FStar.String.list_of_string", - "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_0b7059e2d31f5b94afd245c0677c920b", - "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" - ], - 0, - "c47c387a7ff600c7f11d02844a071fa6" - ], - [ - "FStar.Printf.ext_sprintf", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Printf.dir_type.fuel_instrumented", - "@fuel_correspondence_FStar.Printf.parse_format.fuel_instrumented", - "@fuel_correspondence_FStar.Printf.string_of_dirs.fuel_instrumented", - "@fuel_irrelevance_FStar.Printf.dir_type.fuel_instrumented", - "@fuel_irrelevance_FStar.Printf.parse_format.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Printf.Arg", - "constructor_distinct_FStar.Printf.Lit", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Printf.Arg", "disc_equation_FStar.Printf.Lit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Printf.Bool@tok", - "equality_tok_FStar.Printf.Char@tok", - "equality_tok_FStar.Printf.I16@tok", - "equality_tok_FStar.Printf.I32@tok", - "equality_tok_FStar.Printf.I64@tok", - "equality_tok_FStar.Printf.I8@tok", - "equality_tok_FStar.Printf.Int@tok", - "equality_tok_FStar.Printf.String@tok", - "equality_tok_FStar.Printf.U16@tok", - "equality_tok_FStar.Printf.U32@tok", - "equality_tok_FStar.Printf.U64@tok", - "equality_tok_FStar.Printf.U8@tok", - "equation_FStar.Char.__char_of_int", - "equation_FStar.Printf.parse_format_string", - "equation_FStar.String.char", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Printf.dir_type.fuel_instrumented", - "equation_with_fuel_FStar.Printf.parse_format.fuel_instrumented", - "equation_with_fuel_FStar.Printf.string_of_dirs.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", "kinding_FStar.Printf.dir@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_Prims.Cons_hd", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__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.Printf.Arg__0", - "projection_inverse_FStar.Printf.Lit__0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_b647c61ad04272bb562f60e180ae9160", - "refinement_interpretation_Tm_refine_e2cfddc06c606ecf5b4e53f6364bd614", - "string_inversion", - "token_correspondence_FStar.Printf.parse_format.fuel_instrumented", - "typing_FStar.Printf.parse_format", - "typing_FStar.Printf.parse_format_string", - "typing_FStar.String.char", "typing_FStar.String.list_of_string", - "typing_Prims.__proj__Cons__item__tl", - "typing_Tm_abs_0b7059e2d31f5b94afd245c0677c920b", - "typing_Tm_abs_7de968e83fab2a5ec34920f38db5f8bf" - ], - 0, - "a8719679708c1cd622c73edc450617b5" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.PropositionalExtensionality.fst.hints b/ulib/.hints/FStar.PropositionalExtensionality.fst.hints deleted file mode 100644 index 716b9862192..00000000000 --- a/ulib/.hints/FStar.PropositionalExtensionality.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "\u001cB\u001e›Gñ\u001fmù|(Ö", - [ - [ - "FStar.Pure.BreakVC.mono_lem", - 1, - 2, - 1, - [ "@query", "unit_typing" ], - 0, - "743e2757df2df4f2f753c70ed9c83996" - ], - [ - "FStar.Pure.BreakVC.break_wp", - 1, - 2, - 1, - [ "@query" ], - 0, - "e25f719c7b7ed5a84708e15a379a7dab" - ], - [ - "FStar.Pure.BreakVC.squash_p_impl_p", - 1, - 2, - 1, - [ "@query" ], - 0, - "321c74ba36a894c9c8d17603e4e8ab70" - ], - [ - "FStar.Pure.BreakVC.aux2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pure.BreakVC.op_Equals_Equals_Greater_Greater", - "equation_Prims.squash", - "l_quant_interp_19108486a61e8c99648dd590efce18ff", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_typing" - ], - 0, - "f2319541cd15f55062ce197a9eb5b82b" - ], - [ - "FStar.Pure.BreakVC.break_vc", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "44d5fd791bf6f6f0f9cb78a18dd2f0fa" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Pure.BreakVC.fsti.hints b/ulib/.hints/FStar.Pure.BreakVC.fsti.hints deleted file mode 100644 index df416c65edf..00000000000 --- a/ulib/.hints/FStar.Pure.BreakVC.fsti.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "ÍË$\\U2%òÄЉŠ£tK", - [ - [ - "FStar.Pure.BreakVC.break_wp", - 1, - 2, - 1, - [ "@query" ], - 0, - "097220bf4428dcb07959afd573704285" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Range.fsti.hints b/ulib/.hints/FStar.Range.fsti.hints deleted file mode 100644 index 4e9a8b06fc2..00000000000 --- a/ulib/.hints/FStar.Range.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‹y…\u0004nÙF–çjCZ\u0014¬U%", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Real.Old.fst.hints b/ulib/.hints/FStar.Real.Old.fst.hints deleted file mode 100644 index ba1710ba20d..00000000000 --- a/ulib/.hints/FStar.Real.Old.fst.hints +++ /dev/null @@ -1,631 +0,0 @@ -[ - "@Af¿ø›ü#Γ%ÑÑ=Ô", - [ - [ - "FStar.Real.Old.op_Slash_Dot", - 1, - 2, - 1, - [ "@query" ], - 0, - "d64065d054cab0a7031d392091f52b81" - ], - [ - "FStar.Real.Old.op_Equals_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73" - ], - 0, - "4d5ce01503f78cd876a7a8a95060a0e7" - ], - [ - "FStar.Real.Old.op_Greater_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_36e65d9df8cb5d80f422959d61e76338" - ], - 0, - "7a9d9c6ee6c61a6c6c881454d172ab47" - ], - [ - "FStar.Real.Old.op_Greater_Equals_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9d5b0e12c1911ef3cd01e3a278abed2c" - ], - 0, - "d052feb97348d2a4c1783c00fa5731b8" - ], - [ - "FStar.Real.Old.op_Less_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_62f59fd12cd6da34b56750a5ce8aa603" - ], - 0, - "88914079feea609c3c5205963f7173f4" - ], - [ - "FStar.Real.Old.op_Less_Equals_Dot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9c5c6b5c432ada31f32fbd13750a486b" - ], - 0, - "59e318bf08f1577b831a0abb381f8be3" - ], - [ - "FStar.Real.Old.n_over_n2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Real.Old.op_Less_Greater_Dot", - "equation_FStar.Real.Old.real", "projection_inverse_BoxReal_proj_0", - "real_inversion", "real_typing", - "refinement_interpretation_Tm_refine_12336e66c44fa5fa973cc97a29909632", - "refinement_interpretation_Tm_refine_367b67960e8bd875c3ae8012295ce439", - "typing_FStar.Real.Old.op_Less_Greater_Dot", "typing_FStar.Real.real" - ], - 0, - "df07c6be8d2e377dd4b2934775c1f80e" - ], - [ - "FStar.Real.Old.test", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Dot", - "equation_FStar.Real.Old.real", "equation_FStar.Real.one", - "equation_FStar.Real.two", "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_5ce20db8e0ec34e22cc54bef735bde4a", - "typing_FStar.Real.Old.op_Greater_Dot", "typing_FStar.Real.one", - "typing_FStar.Real.two" - ], - 0, - "5f7f84ce9841ec93ffa23e3fc7fe5081" - ], - [ - "FStar.Real.Old.test1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "equation_FStar.Real.one", - "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot", "typing_FStar.Real.one" - ], - 0, - "59ed383204405bdf1e343502b97e3ca6" - ], - [ - "FStar.Real.Old.test_lt1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Dot", - "equation_FStar.Real.Old.real", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "f81f42b5d4bce2dcf30afd3e636e0f94" - ], - [ - "FStar.Real.Old.test_lt2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Dot", - "equation_FStar.Real.Old.real", "primitive_FStar.Real.op_Less_Dot", - "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "e38c81e6fb4785c0ac76007ead28b970" - ], - [ - "FStar.Real.Old.test_lt3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Dot", - "equation_FStar.Real.Old.real", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "a8e0c062ee6d5bcfa4eee1e4c8a4bb93" - ], - [ - "FStar.Real.Old.test_le1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Less_Equals_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_126208573a4e634bed010c7650eac76c", - "typing_FStar.Real.Old.op_Less_Equals_Dot" - ], - 0, - "33940e1564d5ba85536396dcb68f6b19" - ], - [ - "FStar.Real.Old.test_le2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Less_Equals_Dot", "real_typing", - "refinement_interpretation_Tm_refine_126208573a4e634bed010c7650eac76c", - "typing_FStar.Real.Old.op_Less_Equals_Dot" - ], - 0, - "8b37f48eb568bb20f72255de01e0cdce" - ], - [ - "FStar.Real.Old.test_le3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Less_Equals_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_126208573a4e634bed010c7650eac76c", - "typing_FStar.Real.Old.op_Less_Equals_Dot" - ], - 0, - "f685871429f82932ed016b20b40e6d1d" - ], - [ - "FStar.Real.Old.test_gt1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_5ce20db8e0ec34e22cc54bef735bde4a", - "typing_FStar.Real.Old.op_Greater_Dot" - ], - 0, - "d7c69e8c87c284c79eddf86f2df9539f" - ], - [ - "FStar.Real.Old.test_gt2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Dot", "real_typing", - "refinement_interpretation_Tm_refine_5ce20db8e0ec34e22cc54bef735bde4a", - "typing_FStar.Real.Old.op_Greater_Dot" - ], - 0, - "04f78cd2016cac2afda2b026890846b6" - ], - [ - "FStar.Real.Old.test_gt3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_5ce20db8e0ec34e22cc54bef735bde4a", - "typing_FStar.Real.Old.op_Greater_Dot" - ], - 0, - "790c1c2369d2a3b6e264c6398c618a59" - ], - [ - "FStar.Real.Old.test_ge1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_469c5798e301fcd3bb69fd6c07bcbabd", - "typing_FStar.Real.Old.op_Greater_Equals_Dot" - ], - 0, - "398192585de0fad2468828e89bee6584" - ], - [ - "FStar.Real.Old.test_ge2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Equals_Dot", "real_typing", - "refinement_interpretation_Tm_refine_469c5798e301fcd3bb69fd6c07bcbabd", - "typing_FStar.Real.Old.op_Greater_Equals_Dot" - ], - 0, - "b3bff97c07c2aadeaffd461e497333e4" - ], - [ - "FStar.Real.Old.test_ge3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Greater_Equals_Dot", - "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_469c5798e301fcd3bb69fd6c07bcbabd", - "typing_FStar.Real.Old.op_Greater_Equals_Dot" - ], - 0, - "a03ec8f7d830ec56ce6c5607dc7574d6" - ], - [ - "FStar.Real.Old.test_add_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "10efaf830d3ab51ff4908d684d92d82c" - ], - [ - "FStar.Real.Old.test_add_eq'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "f0c345b68fff79bc5a14f41062b6557a" - ], - [ - "FStar.Real.Old.test_add_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Dot", - "equation_FStar.Real.Old.real", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "55b2f61738faa02b1e6fc49d6460c021" - ], - [ - "FStar.Real.Old.test_mul_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "a9eddab18f7dbde8b8aa5e699ac7aa4f" - ], - [ - "FStar.Real.Old.test_mul_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Less_Dot", - "equation_FStar.Real.Old.real", "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "aa7a3729ec7f85bbc74f2b71bade6f39" - ], - [ - "FStar.Real.Old.test_div_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f59d3b9f4058daccf50d8815821750b5" - ], - 0, - "03d389a2279a81131d5430bab718df73" - ], - [ - "FStar.Real.Old.test_div_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.Old.real", - "primitive_FStar.Real.op_Less_Dot", - "projection_inverse_BoxReal_proj_0", "real_typing", - "refinement_interpretation_Tm_refine_8ab12b366f99e69ad390d4ad0513740f", - "typing_FStar.Real.Old.op_Less_Dot" - ], - 0, - "99a7f656eb927a378ff44c4a5e9515e1" - ], - [ - "FStar.Real.Old.test_sqrt_2_mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", - "primitive_FStar.Real.op_Star_Dot", - "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_724b3567cc043f81c2fc07ed69fc406d", - "typing_FStar.Real.sqrt_2" - ], - 0, - "04eee430b9e221d09f23c84eddf2377c" - ], - [ - "FStar.Real.Old.test_sqrt_2_scale", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Real.two", - "primitive_FStar.Real.op_Greater_Equals_Dot", - "projection_inverse_BoxReal_proj_0", - "refinement_interpretation_Tm_refine_16721e87b71ed56e57250962e4ed1730", - "refinement_interpretation_Tm_refine_724b3567cc043f81c2fc07ed69fc406d", - "refinement_interpretation_Tm_refine_cb6a0c655883ad2f0b6c096a95c9e99a", - "typing_FStar.Real.sqrt_2" - ], - 0, - "fb24edff6da2b14f42b2e5eb8abc2fb7" - ], - [ - "FStar.Real.Old.add_id_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_inversion", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "4df7e581d19f10ec67c185ba4ad6efe7" - ], - [ - "FStar.Real.Old.add_id_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_inversion", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "5168817360b38750b4e637101d2cb456" - ], - [ - "FStar.Real.Old.mul_nil_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "57fcfe7b4340effd93209a884490436e" - ], - [ - "FStar.Real.Old.mul_nil_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "ed73ba5b123a3c1e407aa46ae0381433" - ], - [ - "FStar.Real.Old.mul_id_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_inversion", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "5b7dbfcf785e027b1128cc4fdaea3a56" - ], - [ - "FStar.Real.Old.mul_id_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_inversion", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "a7901e012d9202ea7cf6bd48a3d8d147" - ], - [ - "FStar.Real.Old.add_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "3b01f7002cd1d30ab51d1ca4a4d61001" - ], - [ - "FStar.Real.Old.add_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "e94890382993ded3ec43bbcb78e3ca2b" - ], - [ - "FStar.Real.Old.mul_comm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "projection_inverse_BoxReal_proj_0", - "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "46e2be20bb6467acdd086959499dcf1c" - ], - [ - "FStar.Real.Old.mul_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "projection_inverse_BoxReal_proj_0", - "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "32b4855f43306ef0384cd8fc883d42cb" - ], - [ - "FStar.Real.Old.mul_dist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Real.Old.op_Equals_Dot", - "equation_FStar.Real.Old.real", "real_typing", - "refinement_interpretation_Tm_refine_f0ac051651fa0e095f1b2c1241fd6a3f", - "typing_FStar.Real.Old.op_Equals_Dot" - ], - 0, - "210944f53b990f7013f21d553ee38e78" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Real.Old.fsti.hints b/ulib/.hints/FStar.Real.Old.fsti.hints deleted file mode 100644 index 23ff9001695..00000000000 --- a/ulib/.hints/FStar.Real.Old.fsti.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "]\u0000’k\\ÇY^\u0019c\\DèSi", - [ - [ - "FStar.Real.Old.op_Slash_Dot", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e689252bdd1cb359e242318d3e45d7b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Real.fsti.hints b/ulib/.hints/FStar.Real.fsti.hints deleted file mode 100644 index 255db59b7a4..00000000000 --- a/ulib/.hints/FStar.Real.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u001dÍ98©\r\u0011\u0011\t½«Â¿\u0017Œq", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Ref.fst.hints b/ulib/.hints/FStar.Ref.fst.hints deleted file mode 100644 index a5187f30ad9..00000000000 --- a/ulib/.hints/FStar.Ref.fst.hints +++ /dev/null @@ -1,71 +0,0 @@ -[ - "Š«Z+gËa\b…BQeN6\t", - [ - [ - "FStar.Ref.addr_of", - 1, - 2, - 1, - [ "@query" ], - 0, - "a599dd425cce324185edbcffdf5f0a86" - ], - [ - "FStar.Ref.only", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ca1557f090549d430f9b7bfd6610790b" - ], - [ - "FStar.Ref.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a29721ce96046fd8734a6fba1e4fd56d" - ], - [ - "FStar.Ref.alloc", - 2, - 2, - 1, - [ "@query", "equation_FStar.ST.ref" ], - 0, - "dad6727cf8945308d4b290952020dd5b" - ], - [ - "FStar.Ref.write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.Monotonic.Heap.only", - "function_token_typing_FStar.Heap.trivial_preorder", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "refinement_interpretation_Tm_refine_f990a45a7edd9d6b5e95811bfe6a93ec", - "true_interp" - ], - 0, - "e305ea5e9e5243dfeb9eee25aecb13d7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.RefinementExtensionality.fst.hints b/ulib/.hints/FStar.RefinementExtensionality.fst.hints deleted file mode 100644 index 5779754bdfa..00000000000 --- a/ulib/.hints/FStar.RefinementExtensionality.fst.hints +++ /dev/null @@ -1,49 +0,0 @@ -[ - "óþ\u0014±'øùÍax\u000f\u0012v«¤", - [ - [ - "FStar.RefinementExtensionality.refext0", - 1, - 2, - 1, - [ "@query" ], - 0, - "8ed87acf82d3e5fcab43219555700601" - ], - [ - "FStar.RefinementExtensionality.refext_on_domain", - 1, - 2, - 1, - [ "@query", "equation_FStar.PredicateExtensionality.peq" ], - 0, - "9ba03811ffce7f419ffc3fcce479c726" - ], - [ - "FStar.RefinementExtensionality.refext", - 1, - 2, - 1, - [ "@query" ], - 0, - "6d79124e89527b0c10326855ad6e9a45" - ], - [ - "FStar.RefinementExtensionality.uu___0", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.RefinementExtensionality.ref1", - "equation_FStar.RefinementExtensionality.ref2", - "equation_FStar.RefinementExtensionality.ty1", - "equation_FStar.RefinementExtensionality.ty2", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3feb3d5cd0a725357b560f8cc6ad9a3b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.RefinementExtensionality.fsti.hints b/ulib/.hints/FStar.RefinementExtensionality.fsti.hints deleted file mode 100644 index cfe816caa73..00000000000 --- a/ulib/.hints/FStar.RefinementExtensionality.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÿ¥­»ËC™\u0001kËêbe%T<", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.Const.fst.hints b/ulib/.hints/FStar.Reflection.Const.fst.hints deleted file mode 100644 index 7e97486f30b..00000000000 --- a/ulib/.hints/FStar.Reflection.Const.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "õ@\u0005Æ.'{Æ’20–Éy²=", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.Formula.fst.hints b/ulib/.hints/FStar.Reflection.Formula.fst.hints deleted file mode 100644 index ee155d36639..00000000000 --- a/ulib/.hints/FStar.Reflection.Formula.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "…½eey8“Ú䡾m\n\u001b¼", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.TermEq.Simple.fst.hints b/ulib/.hints/FStar.Reflection.TermEq.Simple.fst.hints deleted file mode 100644 index 883dae8c1e0..00000000000 --- a/ulib/.hints/FStar.Reflection.TermEq.Simple.fst.hints +++ /dev/null @@ -1,33 +0,0 @@ -[ - "Ë#uç×2¼ÂêØS\u0006cõW", - [ - [ - "FStar.Reflection.TermEq.Simple.term_eq_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.TermEq.Simple.term_eq", - "refinement_interpretation_Tm_refine_da8048236680add2b0dd36d0c7a3306a", - "typing_FStar.Reflection.TermEq.term_eq" - ], - 0, - "d3644837e16d501ce1e8aa31c99eae1e" - ], - [ - "FStar.Reflection.TermEq.Simple.univ_eq_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.TermEq.Simple.univ_eq", - "refinement_interpretation_Tm_refine_da8048236680add2b0dd36d0c7a3306a", - "typing_FStar.Reflection.TermEq.univ_eq" - ], - 0, - "dd35d5a88ec14feda3d2ecb7b9fe0225" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.TermEq.Simple.fsti.hints b/ulib/.hints/FStar.Reflection.TermEq.Simple.fsti.hints deleted file mode 100644 index dbe34599a5a..00000000000 --- a/ulib/.hints/FStar.Reflection.TermEq.Simple.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "#¥¬È-fû‡‰Ýp˜a?Iè", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.TermEq.fst.hints b/ulib/.hints/FStar.Reflection.TermEq.fst.hints deleted file mode 100644 index cbd742b3c9c..00000000000 --- a/ulib/.hints/FStar.Reflection.TermEq.fst.hints +++ /dev/null @@ -1,2738 +0,0 @@ -[ - "Ø\b»f¦Ê\u0003ìËŃ´¬\u007fõ", - [ - [ - "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, - "ce715116ea0ad758c76aaf6e8143a2cb" - ], - [ - "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, - "c819f93a6883b2d42aeee6b0b8e2a138" - ], - [ - "FStar.Reflection.TermEq.optP0", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "859bf71349d02e26996e62cc8c0df403" - ], - [ - "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, - "03ad2f71c3250866884207fb650fc7f6" - ], - [ - "FStar.Reflection.TermEq.faithful_univ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "binder_x_1e7d50258c90a67cd2d1434776b23416_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unif", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unk", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.universe_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "d79c36f6821cdc11d75e4f55ebb8cb4e" - ], - [ - "FStar.Reflection.TermEq.faithful", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "69c0d155f584fefb96e5a7e6ca6e74db" - ], - [ - "FStar.Reflection.TermEq.faithful", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_8738c16a2099542d72710440f904c450_0", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Stubs.Reflection.V2.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", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "2e0156b401accdfba30def589ca40588" - ], - [ - "FStar.Reflection.TermEq.faithful", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_25489d564b00c456a9aebf5245eb3f03_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Equality", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.aqualv", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "3391c8a8853c2e90cc47206ca0c39b8e" - ], - [ - "FStar.Reflection.TermEq.faithful", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "a11987cda6d27b5a3e2d94d069ac7aeb" - ], - [ - "FStar.Reflection.TermEq.faithful", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "1b588dda2e7403f573e77d711cb00511" - ], - [ - "FStar.Reflection.TermEq.faithful", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "c8e0423e788ef9037f83e71c802a12c8" - ], - [ - "FStar.Reflection.TermEq.faithful", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e89ce491a76b3e5e9635682ede5db643_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, - "d79dc14f0b207545ea4b45fa9acd9d59" - ], - [ - "FStar.Reflection.TermEq.faithful", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "05465b1ed98f08b455c1629ca23048c6" - ], - [ - "FStar.Reflection.TermEq.memP_allP", - 1, - 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_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, - "63b3ea97b56a5bbc45cf1c52906bbf25" - ], - [ - "FStar.Reflection.TermEq.memP_allP", - 2, - 2, - 1, - [ "@query" ], - 0, - "238b09aea60dfce5b91fda7925a891e3" - ], - [ - "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_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, - "73229b27280ce711c237621248ecf4fa" - ], - [ - "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_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, - "4f8daabb6c3b6585484bc99f3709673e" - ], - [ - "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, - "27bcebd9ff12312620f9fd894ac19048" - ], - [ - "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", - "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", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "ee5a18376e88745839597fbc991b7b6d" - ], - [ - "FStar.Reflection.TermEq.bv_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b8e6a12c372ca559985520083f6f237", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "data_elim_FStar.Stubs.Reflection.V2.Data.Mkbv_view", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.bv_view", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_index", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0b5d5a86e4795efe0cd6940af52c795e", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_bv", - "typing_Prims.int", "typing_Prims.string" - ], - 0, - "fba43a418486307cdac435d93a86ea5f" - ], - [ - "FStar.Reflection.TermEq.namedv_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_a3e5345c6f091cb3afabb754f1cc0d2b", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "data_elim_FStar.Stubs.Reflection.V2.Data.Mknamedv_view", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.namedv_view", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d1c8bd5e9a4b36d0899d93d5312043d1", - "string_typing", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_namedv", - "typing_Prims.int", "typing_Prims.string" - ], - 0, - "d264662d99559c7ca3d4325d9891440f" - ], - [ - "FStar.Reflection.TermEq.fv_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "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.Stubs.Reflection.Types.name", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "0b8660a6901866dd4d9479b1d2a057eb" - ], - [ - "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, - "583867e2e94f677ed17677b854814f3d" - ], - [ - "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, - "b5ac4e2b04c1fd39ef3705dba22a9da2" - ], - [ - "FStar.Reflection.TermEq.pair_cmp", - 1, - 2, - 1, - [ - "@query", "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "62a3a683c4be24254b8aea9b0b22f354" - ], - [ - "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, - "e7b3133d38e189b0999a7e20173ddf8c" - ], - [ - "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", - "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, - "518b09af484bd222e3f99f043505175b" - ], - [ - "FStar.Reflection.TermEq.opt_dec_cmp", - 1, - 2, - 1, - [ "@query" ], - 0, - "8413b9bfbefb2e5482dc88dbbfb50898" - ], - [ - "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, - "8972e7cfb899b77f03404f04798d2a96" - ], - [ - "FStar.Reflection.TermEq.either_dec_cmp", - 1, - 2, - 1, - [ "@query" ], - 0, - "8be4660f501e2459c6cddb5510f11e48" - ], - [ - "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, - "3ecf511b4d633e3a01b673545999fc49" - ], - [ - "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, - "9ed3c437ed9ec1937a5c34d88b436826" - ], - [ - "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, - "dd04161d7c1792e167a6cbff7da0b9fd" - ], - [ - "FStar.Reflection.TermEq.ident_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Range.range", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Stubs.Reflection.V2.Data.ident_view", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_e268d523208e6c87431062a12db95340", - "string_typing", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ident" - ], - 0, - "eedd2c706815c9930e474334895118b6" - ], - [ - "FStar.Reflection.TermEq.univ_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "binder_x_1e7d50258c90a67cd2d1434776b23416_0", - "binder_x_1e7d50258c90a67cd2d1434776b23416_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unif", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unk", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Unk@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "equation_FStar.Reflection.TermEq.valid", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.universe_view", - "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.Stubs.Reflection.V2.Data.Uv_BVar__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Max__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Name__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Succ__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_Prims.int", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "3988f3f1cd02c48d27b49cecca0eb252" - ], - [ - "FStar.Reflection.TermEq.const_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_99d6d2b40667d88a9b3c35fb2d11826a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_False", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Int", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Range", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Real", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reflect", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reify", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_String", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_True", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Unit", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_False@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_Reify@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_True@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "equation_FStar.Range.range", - "equation_FStar.Reflection.TermEq.range_cmp", - "equation_FStar.Reflection.TermEq.valid", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.C_Int__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Real__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Reflect__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_String__0", - "string_typing", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok" - ], - 0, - "356e153d43001ffb7a1f840466b30e6d" - ], - [ - "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, - "e404e999fe68f8eac114d2b16f16d9d9" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_7f568c219263d6c40f0cb883701bdc9f", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", - "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_99d6d2b40667d88a9b3c35fb2d11826a", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_651778f725c07b6c259161d48455093d_0", - "binder_x_651778f725c07b6c259161d48455093d_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "function_token_typing_FStar.Reflection.TermEq.eq_cmp", - "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.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Uvar__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Uvar__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Var_v", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "token_correspondence_FStar.Reflection.TermEq.eq_cmp", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_Prims.bool", "typing_Prims.int", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "fe5b67433f897b9981ece4f63784aa53" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8738c16a2099542d72710440f904c450_0", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "a9ad2875631353faa650294bf49920b0" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_25489d564b00c456a9aebf5245eb3f03_0", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Equality", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Equality@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.TermEq.valid", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.Q_Meta__0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "cf9b1a224f2aa8d84f61ba010d00f737" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 4, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "binder_x_7378fd04031471d1ece18de038f885b8_1", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Stubs.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, - "9090aadbc903d02fde749f0ac2ceecf7" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_1", - "data_elim_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "cc1a8b2bb6958c6fde82536aaa5502ed" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.V2.Data_pretyping_56295bb78e8bec278ade72bb76fc2ada", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "ca3a2defa09c19bbe90eab4111df0a10" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Stubs.Reflection.V2.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, - "b16cfd483fc59f71d7614708e8cd48d6" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "FStar.Stubs.Reflection.V2.Data_pretyping_99d6d2b40667d88a9b3c35fb2d11826a", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "binder_x_f6f3059e71a4af19e0916e39904f564a_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "equation_FStar.Reflection.TermEq.valid", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok" - ], - 0, - "0cfca662442578b293434ab4168802f8" - ], - [ - "FStar.Reflection.TermEq.term_cmp", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e89ce491a76b3e5e9635682ede5db643_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "95058ddcdcaf0f8c59579d65ffb0964e" - ], - [ - "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", - "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", - "equality_tok_FStar.Reflection.TermEq.Unknown@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", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "35f2d12499aaf57d20b6ec59e5e8f68a" - ], - [ - "FStar.Reflection.TermEq.defined_list_dec", - 1, - 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", - "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", - "equality_tok_FStar.Reflection.TermEq.Unknown@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_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", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "23ed5c389c52d50bdcd79eae9abfb227" - ], - [ - "FStar.Reflection.TermEq.defined_list_dec", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433" - ], - 0, - "237f2bb0a4d7e2d1fe1e0c1b9e7c6efe" - ], - [ - "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.TermEq_interpretation_Tm_arrow_7a4fb4ceab3512cd6fca459ed86452ad", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.TermEq.faithful_univ", - "l_and-interp", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Max__0", - "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "refinement_interpretation_Tm_refine_6cc9b0e73e9ff13aed3a7497ecf2afb9", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "token_correspondence_FStar.Reflection.TermEq.faithful_univ", - "true_interp", "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "73921c1301a4031e49d6aefa75775672" - ], - [ - "FStar.Reflection.TermEq.univ_eq_UvMax", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", - "@query", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_3cdd50512cbee959f15c1b3fba2fc157", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.valid", - "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.TermEq.univ_cmp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Max__0", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", - "refinement_interpretation_Tm_refine_e257dcce5047594219cc6dae15218d16", - "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "typing_FStar.Reflection.TermEq.univ_cmp", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "ceee9486ef97e8c65b85e209d5e77f33" - ], - [ - "FStar.Reflection.TermEq.univ_faithful_lemma", - 1, - 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.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_1e7d50258c90a67cd2d1434776b23416_0", - "binder_x_1e7d50258c90a67cd2d1434776b23416_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@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.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.Uv_BVar__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Max__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Name__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Uv_Succ__0", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "string_typing", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "token_correspondence_FStar.Reflection.TermEq.eq_cmp", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "31a0b4ddb69412bc5ea96e42d0bae608" - ], - [ - "FStar.Reflection.TermEq.univ_faithful_lemma", - 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_7a4fb4ceab3512cd6fca459ed86452ad", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "binder_x_222360f22f44e357b92c5f5fcb01deef_4", - "binder_x_6781041e5072f14a03af8b07643f1f30_1", - "binder_x_6781041e5072f14a03af8b07643f1f30_2", - "binder_x_7c7e2a470093e8eaf3de7b02c4481958_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", - "lemma_FStar.Reflection.TermEq.memP_allP", - "lemma_FStar.Reflection.TermEq.memP_dec", - "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", - "refinement_interpretation_Tm_refine_0588d399551e449d1a293f63864477dc", - "refinement_interpretation_Tm_refine_21b3ac44957830cb9ce7cdd450855dee", - "refinement_interpretation_Tm_refine_2648b4713098ec891516be2be5aa5247", - "refinement_interpretation_Tm_refine_95f19cea764327b0732b1fe72a2f42f7", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "token_correspondence_FStar.Reflection.TermEq.faithful_univ", - "token_correspondence_FStar.Reflection.TermEq.univ_cmp", - "typing_FStar.Stubs.Reflection.Types.universe" - ], - 0, - "b83a5c99e808b17416199b3a2e491ac4" - ], - [ - "FStar.Reflection.TermEq.univ_faithful_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b78a3f2407e6ddfc548e87e37a75982f" - ], - 0, - "3150587b70a179fef0bf81dc5863b6b8" - ], - [ - "FStar.Reflection.TermEq.faithful_Tv_UInst", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_with_fuel_FStar.Reflection.TermEq.faithful.fuel_instrumented", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_b30375adce53582fff8b596def7d3893", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "3ac92d4d0e7a0ea4c7af93311631295c" - ], - [ - "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.Stubs.Reflection.V2.Data.Tv_Let", - "equation_with_fuel_FStar.Reflection.TermEq.faithful.fuel_instrumented", - "l_and-interp", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf" - ], - 0, - "4003a1acb1ff39e1fb837d0c4353fe6e" - ], - [ - "FStar.Reflection.TermEq.term_eq_Tv_Let", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "bool_inversion", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_1b8237ce1d8d24c8a86ca7c4491af37e", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "4ab6ef9cfe1f7557f56b2ae0a85abb3f" - ], - [ - "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.TermEq_interpretation_Tm_arrow_76fffc15a7d1155746b4860ed18262f4", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_with_fuel_FStar.Reflection.TermEq.allP.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Reflection.TermEq.faithful_branch", - "l_and-interp", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "refinement_interpretation_Tm_refine_df6780035949bc8a19e8f08544656d5b", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "token_correspondence_FStar.Reflection.TermEq.faithful_branch", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "48a21eaeca974324aae0d9f24f0393dc" - ], - [ - "FStar.Reflection.TermEq.term_eq_Tv_Match", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_84ef1c137fe31539197605b8a5dab6f2", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "e50e12c57479d97522d28890d1aca53a" - ], - [ - "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.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_a11128be79654f021f129c0c52222c95", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "constructor_distinct_FStar.Stubs.Reflection.V2.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", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", "l_and-interp", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", - "refinement_interpretation_Tm_refine_269a1fe18cf766c023a470b0e5b21746", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "token_correspondence_FStar.Reflection.TermEq.faithful_pattern_arg", - "typing_Prims.bool" - ], - 0, - "d786943a56bc70e6d0ae62c63a87c0c7" - ], - [ - "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.TermEq_interpretation_Tm_arrow_8e68561ba6fa3328accd0513d5e70dc7", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", - "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Reflection.TermEq.Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "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.Stubs.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", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", - "refinement_interpretation_Tm_refine_d6430d8292e65ad1361c502fdb743731", - "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", - "subterm_ordering_FStar.Stubs.Reflection.V2.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", "typing_Prims.bool", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "3dd8fdb681e49188962e0c59b748362c" - ], - [ - "FStar.Reflection.TermEq.comp_eq_C_Eff", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "refinement_interpretation_Tm_refine_c477599f0da269158266a21999a52718", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "d8520021f138d989f937003faf12fb0e" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 1, - 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.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.list_dec_cmp.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.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.TermEq_interpretation_Tm_arrow_3cdd50512cbee959f15c1b3fba2fc157", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_9213914019dc0ec92ead919b92887cca", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_b291004e9e69cf03a838efde0094c96d", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", - "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_651778f725c07b6c259161d48455093d_0", - "binder_x_651778f725c07b6c259161d48455093d_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Reflection.TermEq.Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.TermEq.bv_cmp", - "equation_FStar.Reflection.TermEq.cmpres", - "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.namedv_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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "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.faithful.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.TermEq.list_dec_cmp.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.TermEq._cmpres", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "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.TermEq.br_cmp", - "function_token_typing_FStar.Reflection.TermEq.term_cmp", - "function_token_typing_FStar.Reflection.TermEq.univ_cmp", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", - "l_and-interp", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_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.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Var_v", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_a9890f77e3e1b1620470df0b39be63e0", - "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", - "string_typing", "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "subterm_ordering_FStar.Stubs.Reflection.V2.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.comp_cmp.fuel_instrumented", - "token_correspondence_FStar.Reflection.TermEq.eq_cmp", - "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", - "typing_FStar.Reflection.TermEq.arg_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.uu___is_Unknown", - "typing_FStar.Stubs.Reflection.Types.comp", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Data.branch", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "bdf1517852666f5e3102bdcd1eb57670" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 2, - 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.TermEq_interpretation_Tm_arrow_0ad81efd60e8e68b964765420b1bb3c5", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_3cdd50512cbee959f15c1b3fba2fc157", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_8e68561ba6fa3328accd0513d5e70dc7", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", - "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "FStar.Stubs.Reflection.V2.Data_pretyping_99d6d2b40667d88a9b3c35fb2d11826a", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "binder_x_f6f3059e71a4af19e0916e39904f564a_1", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "data_elim_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok", - "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.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "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", - "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "fuel_guarded_inversion_Prims.list", - "fuel_token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented_token", - "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_Prims.__cache_version_number__", - "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_sort", - "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.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.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.TermEq.fv_cmp", - "typing_FStar.Reflection.TermEq.list_dec_cmp", - "typing_FStar.Reflection.TermEq.opt_dec_cmp", - "typing_FStar.Reflection.TermEq.term_cmp", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Data.universes", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Pat_Var", - "typing_Prims.bool", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.C_Unit@tok" - ], - 0, - "5f3de23f1584731dfc6159f723663657" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 3, - 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_e89ce491a76b3e5e9635682ede5db643_0", - "binder_x_e89ce491a76b3e5e9635682ede5db643_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_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.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", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "57e1b5a33ef2d85f58d6a15dba86df14" - ], - [ - "FStar.Reflection.TermEq.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_a11128be79654f021f129c0c52222c95", - "binder_x_6781041e5072f14a03af8b07643f1f30_1", - "binder_x_6781041e5072f14a03af8b07643f1f30_2", - "binder_x_ba6553631ee888509a1a132c9ced1ffc_3", - "binder_x_e1b5779c105132fd8d7a48029197ad55_4", - "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", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.pattern@tok", - "lemma_FStar.Reflection.TermEq.memP_allP", - "lemma_FStar.Reflection.TermEq.memP_dec", - "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", - "refinement_interpretation_Tm_refine_04f2972e0f119d5f470abaeeda0ae890", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6a47c047d8e071e70a7805ddddd813e8", - "refinement_interpretation_Tm_refine_a400e112a716f127df1ea27ad3c4d409", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "refinement_interpretation_Tm_refine_fd8f6615ae0940bb504209a96107a9a0", - "token_correspondence_FStar.Reflection.TermEq.faithful_pattern_arg", - "token_correspondence_FStar.Reflection.TermEq.pat_arg_cmp", - "typing_Prims.bool" - ], - 0, - "315d6cee4b3a0492cb30967b014e8566" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 5, - 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_6b5206bb1821f88ff6ffae652d7842d3_0", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "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.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.defined", - "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "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", - "kinding_FStar.Stubs.Reflection.V2.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_e2190c92783a275ee5359cd11f3f7fd5", - "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", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok" - ], - 0, - "99ae3a760d67b5fddfe6041286ecb7f5" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 6, - 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_76fffc15a7d1155746b4860ed18262f4", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "binder_x_2df8ecc6d3d7448629d05cd2df56a967_3", - "binder_x_6781041e5072f14a03af8b07643f1f30_1", - "binder_x_6781041e5072f14a03af8b07643f1f30_2", - "binder_x_c2e9d5e0fd9099de68bcd27b23754c8e_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "equation_FStar.Reflection.TermEq.def2", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "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_branch", - "lemma_FStar.Reflection.TermEq.memP_allP", - "lemma_FStar.Reflection.TermEq.memP_dec", - "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", - "refinement_interpretation_Tm_refine_71e5ac8beecacfbecb98328c19be20b0", - "refinement_interpretation_Tm_refine_92d9057d3300d0fb9dd2b3ebd76941a7", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "refinement_interpretation_Tm_refine_bb8f112de6d0321906826d3f77da0ec2", - "refinement_interpretation_Tm_refine_e0b819879cdaa759541d90855c6c8081", - "token_correspondence_FStar.Reflection.TermEq.br_cmp", - "token_correspondence_FStar.Reflection.TermEq.faithful_branch", - "typing_FStar.Stubs.Reflection.V2.Data.branch" - ], - 0, - "8e73b836545eec6f5fc0f02b4efccc97" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 7, - 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.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_8738c16a2099542d72710440f904c450_0", - "binder_x_8738c16a2099542d72710440f904c450_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.defined", - "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "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.TermEq._cmpres", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.aqualv", - "kinding_FStar.Stubs.Reflection.V2.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.Stubs.Reflection.V2.Data.Q_Meta__0", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Stubs.Reflection.V2.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", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "d190cf01d7d1fd31df087fbf46610ff8" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 8, - 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_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.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "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", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.defined", - "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_with_fuel_FStar.Reflection.TermEq.aqual_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.TermEq._cmpres", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "l_and-interp", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.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", - "refinement_interpretation_Tm_refine_0f4a802e5cd0206c85e0b408e10957ca", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Reflection.TermEq.aqual_cmp", - "typing_FStar.Reflection.TermEq.term_cmp", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__qual", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "853caf044506af7b79aec521c9d52540" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 9, - 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.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_25489d564b00c456a9aebf5245eb3f03_0", - "binder_x_25489d564b00c456a9aebf5245eb3f03_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@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.Stubs.Reflection.V2.Data.Q_Meta__0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "d50ce2b2bb046116b6e53793e4ce6028" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 10, - 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_a78dd1eff2b662e8f53c352a3382fe47_3", - "binder_x_f4c7b100024f1cd8142562ba88ec2c88_4", - "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", - "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_1d4397a128f4c79204ffa07ae91111db", - "refinement_interpretation_Tm_refine_23369608d9f8291ebf3ed9fd4ba314c0", - "refinement_interpretation_Tm_refine_5dd5f7c61b3e198736e6c2f1f38ee99f", - "refinement_interpretation_Tm_refine_acbfdd8e261c8572116940febac0ab76", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "refinement_interpretation_Tm_refine_b9e3510a51c5f4ff03fdbfbbd14882f8", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Reflection.TermEq.faithful.fuel_instrumented", - "token_correspondence_FStar.Reflection.TermEq.term_cmp", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "2d99c7c5e68acab90a5ba909d4093b81" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 11, - 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.TermEq_interpretation_Tm_arrow_3cdd50512cbee959f15c1b3fba2fc157", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_7f568c219263d6c40f0cb883701bdc9f", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_8a3680b46b05f1e1b836b3998f9cbf32", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_9213914019dc0ec92ead919b92887cca", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_93e3ec7c82b87b2331924b56a84cca41", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_c35843c45d7a33211303d57ce26e2f5a", - "FStar.Reflection.TermEq_interpretation_Tm_arrow_fe04df657f75580dcfbfd8e5243f2a9e", - "FStar.Reflection.TermEq_pretyping_299a0fe1f1a9cea255aa814badd8d5c3", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_56295bb78e8bec278ade72bb76fc2ada", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "constructor_distinct_FStar.Reflection.TermEq.Eq", - "constructor_distinct_FStar.Reflection.TermEq.Neq", - "constructor_distinct_FStar.Reflection.TermEq.Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Eff", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equality_tok_FStar.Reflection.TermEq.Eq@tok", - "equality_tok_FStar.Reflection.TermEq.Neq@tok", - "equality_tok_FStar.Reflection.TermEq.Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@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.eq_cmp", - "equation_FStar.Reflection.TermEq.op_Amp_Amp_Amp", - "equation_FStar.Reflection.TermEq.valid", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "equation_Prims.eqtype", - "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.term_cmp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "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.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", - "interpretation_Tm_abs_9636e57215d1b4ca54f366e9727674bc", - "kinding_FStar.Pervasives.Native.tuple2@tok", "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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_012d84ab711a5da18390cc5d5e8f4433", - "refinement_interpretation_Tm_refine_30793ef78383cdb83e7ba3cd378148f3", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_67b67ec3330b8c789616dfcb078256e5", - "refinement_interpretation_Tm_refine_82f6e3ec418a79056d2f8332de87b189", - "refinement_interpretation_Tm_refine_b0c0753a4751440064882c5a0057ec56", - "refinement_interpretation_Tm_refine_ea8b3c574ec626dca5f25851fc0ec8bf", - "refinement_interpretation_Tm_refine_ecd63b3e532ad4b4299982606746624d", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "refinement_interpretation_Tm_refine_f6fe780364ea031810261dad3a816518", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.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.TermEq.list_dec_cmp", - "typing_FStar.Reflection.TermEq.op_Amp_Amp_Amp", - "typing_FStar.Reflection.TermEq.term_cmp", - "typing_FStar.Stubs.Reflection.Types.comp", - "typing_FStar.Stubs.Reflection.Types.name", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.Types.universe", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_FStar.Stubs.Reflection.V2.Data.universes", - "typing_tok_FStar.Reflection.TermEq.Unknown@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "65533c7e79432eee4ce4d0b8fd4d315b" - ], - [ - "FStar.Reflection.TermEq.faithful_lemma", - 12, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c693af46fb23956ceecaf3c6eda9494", - "refinement_interpretation_Tm_refine_afe9d3130ff65c7da0946a82029b7aed", - "refinement_interpretation_Tm_refine_f740ba76472c7659dc7c2dd65afc203a" - ], - 0, - "62d4a23e6c4da58ff48c9d1429d2c318" - ], - [ - "FStar.Reflection.TermEq.term_eq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", - "@query", "disc_equation_FStar.Reflection.TermEq.Eq", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.valid", - "equation_with_fuel_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "typing_FStar.Reflection.TermEq.term_cmp" - ], - 0, - "f58d6801771ad86ad7b0634cf378e28a" - ], - [ - "FStar.Reflection.TermEq.term_eq_dec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented", - "@query", "disc_equation_FStar.Reflection.TermEq.Eq", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "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_f42044062bfbefe4f889894631d215cc", - "token_correspondence_FStar.Reflection.TermEq.term_cmp.fuel_instrumented" - ], - 0, - "6d2f323ee66ec4b73c633cdeb2d74d24" - ], - [ - "FStar.Reflection.TermEq.univ_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.TermEq.univ_cmp.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "disc_equation_FStar.Reflection.TermEq.Eq", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.valid", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "typing_FStar.Reflection.TermEq.univ_cmp" - ], - 0, - "fc0f05950f84a57a0b95fb100c254f98" - ], - [ - "FStar.Reflection.TermEq.univ_eq_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "disc_equation_FStar.Reflection.TermEq.Eq", - "disc_equation_FStar.Reflection.TermEq.Unknown", - "equation_FStar.Reflection.TermEq.cmpres", - "equation_FStar.Reflection.TermEq.defined", - "equation_FStar.Reflection.TermEq.faithful_universe", - "equation_FStar.Reflection.TermEq.valid", - "fuel_guarded_inversion_FStar.Reflection.TermEq._cmpres", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_35bd6e057ea1a48759789a2ae0d44bc1", - "refinement_interpretation_Tm_refine_66412af62d3c2c1a8e8964b3f2c5418b", - "typing_FStar.Reflection.TermEq.univ_cmp" - ], - 0, - "0668d2aa24cf4dddd77c714f3176cf07" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.TermEq.fsti.hints b/ulib/.hints/FStar.Reflection.TermEq.fsti.hints deleted file mode 100644 index e2100145b40..00000000000 --- a/ulib/.hints/FStar.Reflection.TermEq.fsti.hints +++ /dev/null @@ -1,289 +0,0 @@ -[ - "ðÂùQØÊ”Q–\u0005DŸÏ«\u0012\\", - [ - [ - "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, - "afe974b590dc0c5378b82c17acc54703" - ], - [ - "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, - "c819f93a6883b2d42aeee6b0b8e2a138" - ], - [ - "FStar.Reflection.TermEq.optP0", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "859bf71349d02e26996e62cc8c0df403" - ], - [ - "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, - "03ad2f71c3250866884207fb650fc7f6" - ], - [ - "FStar.Reflection.TermEq.faithful_univ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "binder_x_1e7d50258c90a67cd2d1434776b23416_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unif", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unk", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.universe_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "d79c36f6821cdc11d75e4f55ebb8cb4e" - ], - [ - "FStar.Reflection.TermEq.faithful", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "69c0d155f584fefb96e5a7e6ca6e74db" - ], - [ - "FStar.Reflection.TermEq.faithful", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_8738c16a2099542d72710440f904c450_0", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Stubs.Reflection.V2.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", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "2e0156b401accdfba30def589ca40588" - ], - [ - "FStar.Reflection.TermEq.faithful", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_25489d564b00c456a9aebf5245eb3f03_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Equality", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Implicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.aqualv", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Q_Meta", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "3391c8a8853c2e90cc47206ca0c39b8e" - ], - [ - "FStar.Reflection.TermEq.faithful", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "a11987cda6d27b5a3e2d94d069ac7aeb" - ], - [ - "FStar.Reflection.TermEq.faithful", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "1b588dda2e7403f573e77d711cb00511" - ], - [ - "FStar.Reflection.TermEq.faithful", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "c8e0423e788ef9037f83e71c802a12c8" - ], - [ - "FStar.Reflection.TermEq.faithful", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e89ce491a76b3e5e9635682ede5db643_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, - "d79dc14f0b207545ea4b45fa9acd9d59" - ], - [ - "FStar.Reflection.TermEq.faithful", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "05465b1ed98f08b455c1629ca23048c6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.Typing.Builtins.fsti.hints b/ulib/.hints/FStar.Reflection.Typing.Builtins.fsti.hints deleted file mode 100644 index e5d4d951430..00000000000 --- a/ulib/.hints/FStar.Reflection.Typing.Builtins.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "EÊ\r\fÏGÎ$T\u0001\b[Á\u00010", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.Typing.fst.hints b/ulib/.hints/FStar.Reflection.Typing.fst.hints deleted file mode 100644 index b3176030979..00000000000 --- a/ulib/.hints/FStar.Reflection.Typing.fst.hints +++ /dev/null @@ -1,5280 +0,0 @@ -[ - "ïAú¿ƒ\u0015KÕï\ndç¬/ËÛ", - [ - [ - "FStar.Reflection.Typing.fold_left_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "bf29bb63514e6b23fb3494691632cc43" - ], - [ - "FStar.Reflection.Typing.map_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "a193e9649484c71b14cf1c9d1787bf27" - ], - [ - "FStar.Reflection.Typing.zip2prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_Prims.Cons" - ], - 0, - "76b30425808c34110d1ead1cdc14edfd" - ], - [ - "FStar.Reflection.Typing.pack_inspect", - 1, - 2, - 1, - [ "@query" ], - 0, - "1a47591d67f69364b51a8dd4a7989bcc" - ], - [ - "FStar.Reflection.Typing.pack_inspect_universe", - 1, - 2, - 1, - [ "@query" ], - 0, - "38a935deea61984aa107664603fbbcce" - ], - [ - "FStar.Reflection.Typing.pack_inspect_sigelt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_312575811996558dd8c42ead11f8d23a" - ], - 0, - "0818cd846a9944a1534d99918639b874" - ], - [ - "FStar.Reflection.Typing.pack_inspect_sigelt", - 2, - 2, - 1, - [ "@query" ], - 0, - "dacaeb86b21c018844fb5b6fc4cd20db" - ], - [ - "FStar.Reflection.Typing.mk_binder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "5027861e9e0a5421db4783761f3d6d4c" - ], - [ - "FStar.Reflection.Typing.mk_simple_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.eqtype", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "true_interp", "typing_Prims.string" - ], - 0, - "2b32b92215b96f8c487b612f7adda024" - ], - [ - "FStar.Reflection.Typing.extend_env", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "0cede74cb9ad1e4f36303111b3e045f9" - ], - [ - "FStar.Reflection.Typing.__proj__DT__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" - ], - 0, - "14dbe8062ae0a51d67c491424850eda4" - ], - [ - "FStar.Reflection.Typing.__proj__DT__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" - ], - 0, - "b933c55f61665cfea527a6e2e228000d" - ], - [ - "FStar.Reflection.Typing.__proj__NT__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" - ], - 0, - "4f8092841e638c438070139313d8eabf" - ], - [ - "FStar.Reflection.Typing.__proj__NT__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" - ], - 0, - "69bdb182b42686eef45104eed8f5e5a1" - ], - [ - "FStar.Reflection.Typing.__proj__ND__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" - ], - 0, - "3143dc0f9beeb74a7d41310714e52527" - ], - [ - "FStar.Reflection.Typing.__proj__ND__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" - ], - 0, - "5207e62dfb2dece14d5ea9b35f80b2c1" - ], - [ - "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, - "c32fb25826457cc3f04e51d0d70951ff" - ], - [ - "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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "71e0cf3098bed8c8724eab79d78188a3" - ], - [ - "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.Stubs.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, - "07a774262a211b7b175e47784771a220" - ], - [ - "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, - "f155f3b4741409107f402c453ddc86a0" - ], - [ - "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.Stubs.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, - "9079b2a4405d49822ee08cdf65721f7e" - ], - [ - "FStar.Reflection.Typing.make_bv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "caf4c63d2d35b8f083f8fa2287bb71fe" - ], - [ - "FStar.Reflection.Typing.make_bv_with_name", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "7784a98691e8347108918269fcd93942" - ], - [ - "FStar.Reflection.Typing.make_namedv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "1dd32b56f0b65a0774b88565ee580438" - ], - [ - "FStar.Reflection.Typing.make_namedv_with_name", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "244c35c2ddc1429cf73aa634985c8a49" - ], - [ - "FStar.Reflection.Typing.var_as_namedv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "5a57d5490024c70ed5974ca26bfd917b" - ], - [ - "FStar.Reflection.Typing.binder_offset_patterns", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons" - ], - 0, - "35db263fc1396b5320fb84e2aae9dcf0" - ], - [ - "FStar.Reflection.Typing.binder_offset_patterns", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons" - ], - 0, - "a64ec6ec6653918aee423ffd398ea542" - ], - [ - "FStar.Reflection.Typing.subst_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "2a08557497c588602984fa3d0734a0b2" - ], - [ - "FStar.Reflection.Typing.subst_term", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", "bool_inversion", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3a354d7a830bddec5d02f04cb9ab1fe6", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple" - ], - 0, - "581309b57fdeac0f55c913e319799d9b" - ], - [ - "FStar.Reflection.Typing.subst_term", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "6e87a5eb528d8983b73d9d5fad925869" - ], - [ - "FStar.Reflection.Typing.subst_term", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "2ea653774b1296fe7c917c072d16da33" - ], - [ - "FStar.Reflection.Typing.subst_term", - 5, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "468f87336ea240f178cb6214e1f347be" - ], - [ - "FStar.Reflection.Typing.subst_term", - 6, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "3a619fcc727e54cec63b1cb1bece9c65" - ], - [ - "FStar.Reflection.Typing.subst_term", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "76740738125934b9621af09411995f4b" - ], - [ - "FStar.Reflection.Typing.subst_term", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "c0393ecd114a9292c48a5b5c42aad5d2" - ], - [ - "FStar.Reflection.Typing.subst_term", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "29b3672a810961e76f938556c6a5ce5a" - ], - [ - "FStar.Reflection.Typing.subst_term", - 10, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "235ec8f14aa50f287f9eff907da24b24" - ], - [ - "FStar.Reflection.Typing.bv_index_of_make_bv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.Typing.bv_index", - "equation_FStar.Reflection.Typing.make_bv", - "lemma_FStar.Reflection.Typing.inspect_pack_bv", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_index", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_index", - "typing_FStar.Reflection.Typing.make_bv" - ], - 0, - "e92614ceba84a1cebad906f6d0e49e2e" - ], - [ - "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.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "typing_FStar.Reflection.Typing.make_namedv" - ], - 0, - "13c5b04e568aa4647d5eae4782549fe9" - ], - [ - "FStar.Reflection.Typing.b2t_ty", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "e00abc1c6af6af94d61485e714538988" - ], - [ - "FStar.Reflection.Typing.freevars", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "67e80a48133ae3eafd9a4bfdf85f448b" - ], - [ - "FStar.Reflection.Typing.freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_03f3e4cd656020180c47221a03a0fa71_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_FStar.Pervasives.Native.Some" - ], - 0, - "7d6cda76d13334cbd96c0c3359746cef" - ], - [ - "FStar.Reflection.Typing.freevars", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "d62a4c4ef1784b150e102b5d3daf310e" - ], - [ - "FStar.Reflection.Typing.freevars", - 4, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "30b1bc8ea551352d14c5a0183a895943" - ], - [ - "FStar.Reflection.Typing.freevars", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "eb37cd7a088c21b83807d97c3c968b2f" - ], - [ - "FStar.Reflection.Typing.freevars", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "9464360b9b31394de6a48621f225afd1" - ], - [ - "FStar.Reflection.Typing.freevars", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term" - ], - 0, - "41a97962ad6c07dfa595cb24c662c3f3" - ], - [ - "FStar.Reflection.Typing.freevars", - 8, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "ce8e94714877e3a5b375fc574a0d905b" - ], - [ - "FStar.Reflection.Typing.freevars", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "1c17a6b351f6bb4c645bea91e19db79e" - ], - [ - "FStar.Reflection.Typing.freevars", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "45a5b9013d517c5a0d536cb782a4b93c" - ], - [ - "FStar.Reflection.Typing.freevars", - 11, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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" - ], - 0, - "867959682e86a6492ef57f79a9c23be2" - ], - [ - "FStar.Reflection.Typing.ln'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "f83573ec0844b081a03e0cfbe58e4f6d" - ], - [ - "FStar.Reflection.Typing.ln'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "e662926f61dfa096f932e5bb147850ca" - ], - [ - "FStar.Reflection.Typing.ln'", - 3, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "4dbcaca7c2a013bc053a5b8a0e1f6601" - ], - [ - "FStar.Reflection.Typing.ln'", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "ac1d17088095d5dd1daaadf84459bd5b" - ], - [ - "FStar.Reflection.Typing.ln'", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "8497bcf46c9c8f3ecfae4d94ecd80e23" - ], - [ - "FStar.Reflection.Typing.ln'", - 6, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "a7f7bab1066621de5e5162d3729f4a5a" - ], - [ - "FStar.Reflection.Typing.ln'", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "edd172a72321283d0ffbecbb9c886ca9" - ], - [ - "FStar.Reflection.Typing.ln'", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "abccf3d20ea2213ae50ff21e00eac0b4" - ], - [ - "FStar.Reflection.Typing.ln'", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "2617fa0708bf386463bb19f4e6ba4f59" - ], - [ - "FStar.Reflection.Typing.ln'", - 10, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "86ec08b8c0f130d97f1b6d00ffb95b3c" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", - "disc_equation_FStar.Reflection.Typing.Ctxt_hole", - "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_app_arg", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" - ], - 0, - "6877efb48dff90034cc81bb00089d106" - ], - [ - "FStar.Reflection.Typing.mk_comp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.TypeChecker.Core.E_Ghost", - "disc_equation_FStar.Stubs.TypeChecker.Core.E_Total", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.Typing.comp_typ", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.TypeChecker.Core.tot_or_ghost", - "kinding_FStar.Stubs.TypeChecker.Core.tot_or_ghost@tok", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "ee1304f7fa8b36b5619ad7928bb308c4" - ], - [ - "FStar.Reflection.Typing.extend_env_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_cd3380f97314e714434067f9210b93f6_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.bindings", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "fd01da432bd8964ab7d0ade32012e6d6" - ], - [ - "FStar.Reflection.Typing.is_non_informative_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Stubs.Reflection.Types.name" - ], - 0, - "72449393aaf288e30c185ca72f5a9bb1" - ], - [ - "FStar.Reflection.Typing.__close_term_vs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_517878ea18fa71f55e44ce9786369329_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.var", "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, - "40a3793a376be077ee11d6010610858e" - ], - [ - "FStar.Reflection.Typing.bindings_to_refl_bindings", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "0807eebb9b5629fbf4d806fccf584354" - ], - [ - "FStar.Reflection.Typing.elaborate_pat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.binding@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_f68f21920179826d90bfff800ec0789d", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.universes", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Pat_Constant" - ], - 0, - "997dd74325fc101de7c7257c2fcc7a13" - ], - [ - "FStar.Reflection.Typing.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "52d8e7638dd75a3428f0d7b160812f1d" - ], - [ - "FStar.Reflection.Typing.typing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81d2e837558d096de87ad3f286319998" - ], - 0, - "7b23e65e38c05adc7908625700285586" - ], - [ - "FStar.Reflection.Typing.typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_581845b276397156c20b33440b0baaf1" - ], - 0, - "311ed70524cf11a002515c3c2e2b9436" - ], - [ - "FStar.Reflection.Typing.typing", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9d896fc821f10815b03dbbe1e85012e" - ], - 0, - "e82d3f29bce41fb5b288ecc567494748" - ], - [ - "FStar.Reflection.Typing.__proj__BO__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.Reflection.Typing.BO", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Reflection.Typing.branch_typing", - "proj_equation_FStar.Reflection.Typing.BO_bnds", - "proj_equation_FStar.Reflection.Typing.BO_pat", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3224efc780ae62a9043e1fdf2f165575" - ], - [ - "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.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_397fe7c4a78e1ff89a217f78a78d0167_1", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "typing_FStar.Reflection.Typing.subst_pattern" - ], - 0, - "d942fdc132a574572fd633a6abf48838" - ], - [ - "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_a4682286a8e48f8b6dc5296b3ba32339_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, - "3bebc30d88b85047cc451171cc13186a" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'_binder", - 1, - 2, - 1, - [ "@query" ], - 0, - "52e1a32fc1a96e290e4383b933df0102" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'_terms", - 1, - 2, - 1, - [ "@query" ], - 0, - "6aea25c1d3129c335cadfb70b4b683e9" - ], - [ - "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.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__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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_651778f725c07b6c259161d48455093d", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_bac695dc0886069a875cd8aa13cb6e41_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "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_FStar.Stubs.Reflection.Types.term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Stubs.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.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_BVar@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Let@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Var@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.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.Typing.bv_index", - "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.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_namedv", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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__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", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.namedv_view", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "function_token_typing_FStar.Reflection.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.inspect_pack", - "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_namedv", - "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.Stubs.Reflection.V2.Data.Mkbv_view_index", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_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.Stubs.Reflection.V2.Data.Mkbv_view_index", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.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_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_503dcfefd0ed2e1e50734a79798acbb5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_d1c8bd5e9a4b36d0899d93d5312043d1", - "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.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__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_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.shift_subst", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Sealed.seal", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_namedv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mknamedv_view__item__sort", - "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "e3e0140e4b0498a0580873a02347816f" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_0113ce888e84d2e126fab4316cc3d889_1", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.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.subst_binder.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_c5eb3bef3a0533f219e60aead2e71ec3", - "string_typing", - "subterm_ordering_FStar.Stubs.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__terms.fuel_instrumented", - "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.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_Prims.string" - ], - 0, - "48356c4cbf0dfcb4263db702d13e5d47" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.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", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_ef08ab17218c7c3924ea4dd368a765d5_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "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_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.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", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55a79f931f30faeddbad3647bac98760", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "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_with_var", - "typing_FStar.Reflection.Typing.subst_terms" - ], - 0, - "dd95628a44d50c2806944888cc713aef" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 4, - 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.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_8f78c59110a9290c720dee479336e514_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Eff", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_GTotal@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Lemma@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_883af93e44ab4ce36aff5f9e4e4a64b2", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.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.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.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "9f8d306e92b5ffecc7a0e626e2b3c332" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.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.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_27bba0eb9ab4839ee2ead0d638f0aa7c_1", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "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.Typing.ND@tok", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.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_0ebbbf4a4d1b76d551e7cdd55823d44e", - "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_with_var", - "typing_FStar.Reflection.Typing.subst_args", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "f3470d6d4aa7497581114cb9c014adf1" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_929e283f5a1d78c5bba732a850cef5d1_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_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_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.Stubs.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.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_23d21e1de94ee604d47e5c8dbb996347", - "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_with_var", - "typing_FStar.Reflection.Typing.open_with_var_elt", - "typing_FStar.Reflection.Typing.subst_patterns" - ], - 0, - "819dd4edebb1f0e714a99532121f23ec" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 7, - 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.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_ce052ec997d42dafe81a62d09d16f0a0_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Stubs.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.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.var", "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.Stubs.Reflection.V2.Data.pattern", - "int_inversion", "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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_sort", - "refinement_interpretation_Tm_refine_12e2ae835892181c89b5e100a1d548cc", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.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", - "typing_FStar.Stubs.Reflection.Types.term", "unit_inversion", - "unit_typing" - ], - 0, - "2f1f88d70709147e4eb3f4bd0bc52458" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_235848295b5e811cf233702fbe2504cc_1", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "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.ND@tok", - "data_typing_intro_Prims.Cons@tok", - "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_FStar.Stubs.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.subst_branch.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_31ccce33bbc9a7b2d99fbda4d805d7fb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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_with_var", - "typing_FStar.Reflection.Typing.subst_branch" - ], - 0, - "777ace6fee92666312982868546e7e9e" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.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", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c0b78ecee9c4153fa3fec811b12ceabe_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "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_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.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_30a093bac756b0b980db85cb7af3c6f6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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_with_var", - "typing_FStar.Reflection.Typing.subst_branches" - ], - 0, - "0451133483cffd4372dd96fadffa6860" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 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.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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_3927e6446b4330e7711159cee0763565_1", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_2", - "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_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.Typing.open_with_var", - "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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.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.subst_match_returns.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "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.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", - "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_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_212ede789256d33a9aa19b3fd3ec9fae", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "f80f0aee80daf741f2eba4137328ba63" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'", - 11, - 2, - 1, - [ "@query" ], - 0, - "9239f58a59e558bb2f684c5a58b33094" - ], - [ - "FStar.Reflection.Typing.open_close_inverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Reflection.Typing.ln", - "refinement_interpretation_Tm_refine_f2cb6da15a110309b53eca2e9def85e6" - ], - 0, - "e94d29d7c2037bdf96918d7bc9e0f958" - ], - [ - "FStar.Reflection.Typing.close_open_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.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_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.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_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.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.Typing_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_651778f725c07b6c259161d48455093d", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "FStar.Stubs.Reflection.V2.Data_pretyping_877ace45aeae6fd601d7a9b75d8a0541", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_1e11c3db0c929068b00d419bce05952b_2", - "binder_x_651778f725c07b6c259161d48455093d_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "bool_typing", "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_FStar.Stubs.Reflection.Types.term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Mkbv_view", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "data_elim_FStar.Stubs.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.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mknamedv_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Abs@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_App@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Arrow@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Let@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Refine@tok", - "data_typing_intro_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.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.Typing.binder_sort", - "equation_FStar.Reflection.Typing.bv_index", - "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.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_namedv", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Sealed.Inhabited.seal", - "equation_FStar.Sealed.Inhabited.sealed", - "equation_FStar.Sealed.Inhabited.sealed_", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.Reflection.V2.Data.var", - "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_binder.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.subst_comp.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.bv_view", - "fuel_guarded_inversion_FStar.Stubs.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.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.aqualv@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Reflection.Typing.inspect_pack", - "lemma_FStar.Reflection.Typing.inspect_pack_namedv", - "lemma_FStar.Reflection.Typing.pack_inspect", - "lemma_FStar.Reflection.Typing.pack_inspect_bv", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "primitive_Prims.op_Addition", "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.Stubs.Reflection.V2.Data.Mkbv_view_index", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_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.Stubs.Reflection.V2.Data.Mknamedv_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_sort", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mknamedv_view_uniq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Uvar__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Uvar__1", - "projection_inverse_FStar.Stubs.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_0b5d5a86e4795efe0cd6940af52c795e", - "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", - "refinement_interpretation_Tm_refine_173ad75205741840515d015603f89ef6", - "refinement_interpretation_Tm_refine_25fe9861b42cf97d961ff4c8f44eb399", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.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_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.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.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Reflection.Typing.binder_sort", - "typing_FStar.Reflection.Typing.freevars", - "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.shift_subst", - "typing_FStar.Reflection.Typing.subst_term", - "typing_FStar.Reflection.Typing.tun", - "typing_FStar.Reflection.Typing.var_as_namedv", - "typing_FStar.Sealed.seal", "typing_FStar.Set.empty", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_bv", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_namedv", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Tv_Var", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "6f237b72c025d153a3cc828ac558e6f0" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 2, - 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.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.subst_args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e43444a7d22188c54cad6e899a002a81_2", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Eff", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Eff@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_GTotal@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Lemma@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.subst_comp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_ee5ef6847168ae4c550ea7242ad084bb", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.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.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_with_var", - "typing_FStar.Reflection.Typing.subst_comp", - "typing_FStar.Reflection.Typing.subst_term", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "0228e58fe55c8e2635a140c083760690" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 3, - 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.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.subst_args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_4f8a0e86be91cda58ca5f2428ea87f1f_2", - "binder_x_99392f2881f515e6da7747338545453f_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.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", - "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_00986a56319c7e90b0dcaeb73bd85554", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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.Typing.freevars_args", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_args", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "1e9dc587349688caa99d17e47773df65" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 4, - 2, - 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_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.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_47b3afbb6315189b5edc8fb603b96a13_2", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "bool_inversion", - "data_elim_Prims.Cons", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.ppname_t", - "equation_FStar.Stubs.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.subst_binder.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_93ee6ac5bd4bc92400aa3279426e2c92", - "string_typing", - "subterm_ordering_FStar.Stubs.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.Typing.freevars_binder", - "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.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__ppname", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__qual", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__sort", - "typing_FStar.Stubs.Reflection.V2.Data.var", "typing_Prims.string" - ], - 0, - "28e0c00228edcd1a3c079d661ba479d2" - ], - [ - "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_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.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_c4b281c280421cb2b5915376b95cdf48_2", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.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_6cce2fc6f38f4c36e77d2ffbcb0169a6", - "refinement_interpretation_Tm_refine_fdafefbe1e30d59c77191adcdb394b4c", - "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.Typing.freevars_terms", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_terms", "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "6a682ee8c48be9bd5a08629d0b53c39a" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 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.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.subst_branch.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", - "@query", "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_67d6aaeb23f23fde35952160ec1a1a01_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_1", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.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_45cf05404acb45b3fd9d49dcaf88f4e0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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.Typing.freevars_branches", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_branches", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "09f123d892c36df0dddc1f4d7e8f6407" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 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.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.subst_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_d59661a1b7365c7e6139e90ca328b58b_2", "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_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.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.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_1d25c667e27c26a9253019311befd6d8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", "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", - "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_with_var", - "typing_FStar.Reflection.Typing.subst_branch", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "a5eab1d619caaf07ae616ce690facb90" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 8, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.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.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_patterns.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.Typing_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_4251bf4413d0957f396620f76cf0d3c2_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f6f3059e71a4af19e0916e39904f564a_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Stubs.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.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equation_FStar.Reflection.Typing.open_with_var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.subst_pattern.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", - "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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_sort", - "refinement_interpretation_Tm_refine_137b7eb3c31c6174bc3b494cbf2c0f2d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dcb3bb05c9fe9eedcb653bf73eef656d", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.subst_pattern.fuel_instrumented", - "typing_FStar.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.subst_pattern", - "typing_FStar.Stubs.Reflection.Types.term", "unit_inversion", - "unit_typing" - ], - 0, - "d02a8214b7a2143cfd7ded9ddcab4647" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 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.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.subst_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_909192d4db7d1d29d04d7cf9f5ad06bf_2", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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_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_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.Stubs.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.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_d66a6630cab19f1c729363810ccc8ecf", - "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", - "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_with_var", - "typing_FStar.Reflection.Typing.open_with_var_elt", - "typing_FStar.Reflection.Typing.subst_patterns", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "29d81dfdb19fd088761360345272f3c5" - ], - [ - "FStar.Reflection.Typing.close_open_inverse'", - 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.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.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_2ed154122e359c6e51e163a6fae51391", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_47bfd15c3c0084798e132940bebc94c3_2", - "binder_x_7378fd04031471d1ece18de038f885b8_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.Inl", "data_elim_FStar.Pervasives.Inr", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "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.Typing.open_with_var", - "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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.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.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.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", - "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_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_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ed4037bac3f2c7a3616f4356394d5f35", - "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", - "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.Reflection.Typing.open_with_var", - "typing_FStar.Reflection.Typing.open_with_var_elt", - "typing_FStar.Reflection.Typing.subst_match_returns", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "d973650a5688ea17353605b4d58a20ff" - ], - [ - "FStar.Reflection.Typing.close_open_inverse", - 1, - 2, - 1, - [ "@query" ], - 0, - "c5a6c3b940b4950eb316ea65d11a41a9" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 1, - 2, - 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_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.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_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.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.Typing_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Reflection.Typing.ND", - "data_elim_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_AscribedC@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Stubs.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_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.subst_term.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.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.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.Set.mem_complement", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Reflection.Typing.ND__0", - "projection_inverse_FStar.Reflection.Typing.ND__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.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_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.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_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.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.Set.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "1ecf242447cfe65418c26f8c816c9cea" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 2, - 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.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.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_2ed154122e359c6e51e163a6fae51391", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_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.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.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.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.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.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", - "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.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", - "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", - "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.Reflection.Typing.shift_subst", "typing_FStar.Set.mem", - "typing_FStar.Set.union", "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "674838e8f982607bfc7a4649e7507f0f" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 3, - 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.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.subst_branch.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_branches.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.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", - "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.Typing.freevars_branches", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "a0e93b7b893a0debef4a890d93b1f007" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 4, - 2, - 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.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.subst_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", - "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "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.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.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", - "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.Stubs.Reflection.V2.Data.var" - ], - 0, - "3dce4d6ad5dab9b2b8ac4b1779759bad" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 5, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Reflection.Typing.freevars.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.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_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_interpretation_Tm_arrow_2ed154122e359c6e51e163a6fae51391", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.subst_pattern.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "fuel_token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented_token", - "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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_ppname", - "projection_inverse_FStar.Stubs.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.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "typing_FStar.Stubs.Reflection.Types.term", "unit_inversion", - "unit_typing" - ], - 0, - "a45c094624c40589a190efe06e0b0bce" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 6, - 2, - 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.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.subst_pattern.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_patterns.fuel_instrumented", - "@query", - "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", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "constructor_distinct_FStar.Reflection.Typing.ND", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "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.Stubs.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.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", - "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", - "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.Stubs.Reflection.V2.Data.var" - ], - 0, - "57a00f7ec868187da67a8b1ed2d41d4a" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 7, - 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.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.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.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", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Reflection.Typing.freevars.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "typing_FStar.Reflection.Typing.freevars_terms", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "8be63d5e041c0e473fd3c1af0981fcdd" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 8, - 2, - 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_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.freevars.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.freevars_terms.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_terms.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "data_typing_intro_FStar.Reflection.Typing.ND@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.var", "equation_Prims.nat", - "equation_with_fuel_FStar.Reflection.Typing.freevars_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", - "lemma_FStar.Set.mem_union", "primitive_Prims.op_BarBar", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Stubs.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.Typing.freevars_binder", - "typing_FStar.Set.mem", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "6f27a09891f235caffa0a8d2681d9ebb" - ], - [ - "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_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.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.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.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Eff", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.subst_comp.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.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.Typing.freevars_comp", - "typing_FStar.Set.mem", "typing_FStar.Set.union", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp", - "typing_FStar.Stubs.Reflection.V2.Data.var" - ], - 0, - "c045a072fd910d071ea73cdd35f596ca" - ], - [ - "FStar.Reflection.Typing.close_with_not_free_var", - 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.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.subst_args.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.Typing.subst_term.fuel_instrumented", - "@query", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_8b39587bdfca61e2ec04f292e4f92c70_1", - "binder_x_99392f2881f515e6da7747338545453f_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "bool_inversion", - "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", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.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.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", - "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.freevars.fuel_instrumented", - "token_correspondence_FStar.Reflection.Typing.freevars_args.fuel_instrumented", - "typing_FStar.Reflection.Typing.freevars_args", - "typing_FStar.Set.mem", "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "15076f228faa48f40a7b7a6e2badf341" - ], - [ - "FStar.Reflection.Typing.equiv_arrow", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.TypeChecker.Core_pretyping_f43203ec7ae02bcd3e67c3a27fb6d349", - "constructor_distinct_FStar.Stubs.TypeChecker.Core.E_Total", - "equality_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Reflection.Typing.freevars_comp_typ", - "equation_FStar.Reflection.Typing.mk_comp", - "equation_FStar.Stubs.Reflection.Types.typ", - "lemma_FStar.Set.mem_union", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_e1773c80f1552ecf2e67436d8f2da039", - "typing_FStar.Reflection.Typing.freevars", - "typing_FStar.Stubs.Reflection.V2.Data.var", - "typing_tok_FStar.Stubs.TypeChecker.Core.E_Total@tok" - ], - 0, - "21a13be45c7c4c37bab825b6606ac4b8" - ], - [ - "FStar.Reflection.Typing.equiv_abs_close", - 1, - 2, - 1, - [ "@query" ], - 0, - "ac3cbdd76f18993de7ff129a572ed6c4" - ], - [ - "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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Reflection.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "binder_x_651778f725c07b6c259161d48455093d_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.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Reflection.Typing.DT", - "data_typing_intro_FStar.Reflection.Typing.DT@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Tv_Match@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unknown@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "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.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.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.Typing.shift_subst_elt", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_e", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_use_eq", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_BVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Const__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_FVar_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_def", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Let_recf", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_brs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Match_scrutinee", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_b", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Refine_ref", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Type__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_UInst_v", - "projection_inverse_FStar.Stubs.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_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.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.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "57eb029b582516c8b3681f128255b899" - ], - [ - "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.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "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.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.typ", "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.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Stubs.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.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "d6f14af135737cf5d688df0dfb4e4022" - ], - [ - "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.Typing_pretyping_eb3f6a12b21ecce74807f95f3a6b55c3", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Eff", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.C_Eff_decrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_args", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_eff_name", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_result", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Eff_us", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_GTotal_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__1", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Lemma__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.C_Total_ret", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.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.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "e2ccf577a2815f7900fc4efb8725d46e" - ], - [ - "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_23987fd6baf5732c3d26e88cf8aa3de9_0", - "binder_x_651778f725c07b6c259161d48455093d_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_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, - "2eefc8793f96fefcd074a1bcce7a1e45" - ], - [ - "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.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_7378fd04031471d1ece18de038f885b8_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.Typing.shift_subst", - "equation_FStar.Reflection.Typing.shift_subst_elt", - "equation_FStar.Reflection.Typing.shift_subst_n", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "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.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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "82f3e5124c6de9611cf5a87fadb2dd01" - ], - [ - "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_651778f725c07b6c259161d48455093d_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", "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.Stubs.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, - "326e408a8702e62b60b1f80ef977620a" - ], - [ - "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.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_99392f2881f515e6da7747338545453f_0", - "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_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Reflection.Typing.subst", - "equation_FStar.Stubs.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", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "22853f6c405fb41f943dc9333e3accd5" - ], - [ - "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.Reflection.Typing_interpretation_Tm_arrow_20a192b0a312c43202f4c98a8fa19432", - "FStar.Reflection.Typing_interpretation_Tm_arrow_6a9ef67f818d56c4d9f3c774dfdc346f", - "FStar.Reflection.Typing_interpretation_Tm_arrow_d2108a186532fe134b0637bbd260ff42", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_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", - "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.Stubs.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, - "868fdd50d922525eb2b6e1f470510b18" - ], - [ - "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.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "constructor_distinct_FStar.Stubs.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.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.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.Stubs.Reflection.V2.Data.pattern", - "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.Stubs.Reflection.V2.Data.Pat_Cons_head", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_subpats", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Cons_univs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Constant_c", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_ppname", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Pat_Var_sort", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Reflection.Typing.ln_", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Pat_Constant", - "unit_inversion", "unit_typing" - ], - 0, - "6dde887ae0882266a5b2396edf3a964f" - ], - [ - "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.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", - "FStar.Sealed_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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", - "int_inversion", "int_typing", - "kinding_FStar.Reflection.Typing.subst_elt@tok", - "kinding_FStar.Stubs.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", "typing_Prims.bool" - ], - 0, - "f6cfab004e6622b4173be0a68684c701" - ], - [ - "FStar.Reflection.Typing.sigelt_typing", - 1, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4acf4d166f75a3d7840d287f4110543e" - ], - [ - "FStar.Reflection.Typing.sigelt_typing", - 2, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7808d988175425cf8a00cc7498d3cf37" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "291bd385c3a463baf97ef0a7f08416e1" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__fv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "5d6ee62648be1e20320d20b632a73dbf" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "e769b636fe661e3a494c01cff41b1cc0" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__tm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "90d7c43b6cc112b5999527147aaad833" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.Typing.ST_Let", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "5f84abb1134cd48c580b105745586028" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "d2484de37a0c5e6e17298380331c1809" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__fv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "4e48f0da5f3584cbf249f7be6511036b" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "353246b555a725055aeba80351a5b16d" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.Typing.ST_Let_Opaque", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "8fb93fd6f06fce5fa339be9bfec8d56c" - ], - [ - "FStar.Reflection.Typing.sigelt_has_type", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "e66345f71eddc5afe9d9ef6038de098d" - ], - [ - "FStar.Reflection.Typing.mkif", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Reflection.Typing.fstar_env", - "equation_FStar.Reflection.Typing.fstar_env_fvs", - "equation_FStar.Reflection.Typing.lookup_bvar", - "equation_FStar.Reflection.Typing.lookup_fvar", - "equation_FStar.Reflection.Typing.lookup_fvar_uinst", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_113be660f986d1a36e970992194e5919", - "refinement_interpretation_Tm_refine_8691ceaaa49910835b49aba011771641" - ], - 0, - "9f9e658aa5ea609c57c44c960c46cb9a" - ], - [ - "FStar.Reflection.Typing.mk_checked_let", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Reflection.Typing.ST_Let", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mklb_view@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", "eq2-interp", - "equation_FStar.Reflection.Typing.sigelt_has_type", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.Types.univ_name", - "lemma_FStar.Reflection.Typing.inspect_pack_lb", - "lemma_FStar.Reflection.Typing.inspect_pack_sigelt", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mklb_view_lb_typ", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Sg_Let_lbs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Sg_Let_r", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2cbbd947709308aa9d9c5bcb72e4387a", - "typing_FStar.Stubs.Reflection.Types.ident" - ], - 0, - "4e6041d9c933c552474846940cdfb29c" - ], - [ - "FStar.Reflection.Typing.mk_unchecked_let", - 1, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "70cce2476423dc084c675bc81efea7aa" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.Typing.fsti.hints b/ulib/.hints/FStar.Reflection.Typing.fsti.hints deleted file mode 100644 index 5885658c998..00000000000 --- a/ulib/.hints/FStar.Reflection.Typing.fsti.hints +++ /dev/null @@ -1,1539 +0,0 @@ -[ - "¦ßeâÚ‹\u007fy‚¦W_ç2ÍÞ", - [ - [ - "FStar.Reflection.Typing.fold_left_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "1ba0b085e1800f44faee25dea40828b7" - ], - [ - "FStar.Reflection.Typing.map_dec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "ebe84cb4cb138c4a0e13f9a03afbde1f" - ], - [ - "FStar.Reflection.Typing.zip2prop", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3dddec8ced2db740e4e8aaf70542be7a_5", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_Prims.Cons" - ], - 0, - "8fa28f53a125865e933d6f99e17e0cf6" - ], - [ - "FStar.Reflection.Typing.pack_inspect_sigelt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_312575811996558dd8c42ead11f8d23a" - ], - 0, - "5a86ed836d829c08f1919f40493a0527" - ], - [ - "FStar.Reflection.Typing.mk_binder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "22fb71dbfec8a6ab6affc8954a41a01c" - ], - [ - "FStar.Reflection.Typing.mk_simple_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Reflection.Typing.pp_name_t", - "equation_FStar.Sealed.Inhabited.is_sealed", "equation_Prims.eqtype", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Sealed.Inhabited.sealed_singleton", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "true_interp", "typing_Prims.string" - ], - 0, - "2b32b92215b96f8c487b612f7adda024" - ], - [ - "FStar.Reflection.Typing.extend_env", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "0cede74cb9ad1e4f36303111b3e045f9" - ], - [ - "FStar.Reflection.Typing.__proj__DT__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" - ], - 0, - "318cb594a1c081cd9bc7bd39b28325cc" - ], - [ - "FStar.Reflection.Typing.__proj__DT__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_26d04831d69dcab2962a04ce3e55f668" - ], - 0, - "b933c55f61665cfea527a6e2e228000d" - ], - [ - "FStar.Reflection.Typing.__proj__NT__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" - ], - 0, - "4f8092841e638c438070139313d8eabf" - ], - [ - "FStar.Reflection.Typing.__proj__NT__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a063bc3b61af2e1c2b56d7b3aaf6ae" - ], - 0, - "69bdb182b42686eef45104eed8f5e5a1" - ], - [ - "FStar.Reflection.Typing.__proj__ND__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" - ], - 0, - "3143dc0f9beeb74a7d41310714e52527" - ], - [ - "FStar.Reflection.Typing.__proj__ND__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_83d11b288c01551a46c9b3572e31586a" - ], - 0, - "5207e62dfb2dece14d5ea9b35f80b2c1" - ], - [ - "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, - "c32fb25826457cc3f04e51d0d70951ff" - ], - [ - "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", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "c43dc263a2f0521d8dad751ef307b32b" - ], - [ - "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.Stubs.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, - "1f79e770a1d37085288f9c21a2a5c4d6" - ], - [ - "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, - "17aaeaf9e4ffe93fbf26a2a21ae6c668" - ], - [ - "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.Stubs.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, - "9079b2a4405d49822ee08cdf65721f7e" - ], - [ - "FStar.Reflection.Typing.make_bv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "caf4c63d2d35b8f083f8fa2287bb71fe" - ], - [ - "FStar.Reflection.Typing.make_bv_with_name", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "7784a98691e8347108918269fcd93942" - ], - [ - "FStar.Reflection.Typing.make_namedv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "1dd32b56f0b65a0774b88565ee580438" - ], - [ - "FStar.Reflection.Typing.make_namedv_with_name", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "244c35c2ddc1429cf73aa634985c8a49" - ], - [ - "FStar.Reflection.Typing.var_as_namedv", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "5a57d5490024c70ed5974ca26bfd917b" - ], - [ - "FStar.Reflection.Typing.binder_offset_patterns", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons" - ], - 0, - "35db263fc1396b5320fb84e2aae9dcf0" - ], - [ - "FStar.Reflection.Typing.binder_offset_patterns", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons" - ], - 0, - "42bbac9279ab1e916974e654c4f4ef00" - ], - [ - "FStar.Reflection.Typing.subst_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3918dc8a9f79467454cb211059d5bbb0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "a4bb41f14f9f8958a3b13c30f6020629" - ], - [ - "FStar.Reflection.Typing.subst_term", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", "bool_inversion", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "lemma_FStar.Reflection.Typing.inspect_pack_binder", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_3a354d7a830bddec5d02f04cb9ab1fe6", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple" - ], - 0, - "d58b805bae071566630d8b51a1f5b89e" - ], - [ - "FStar.Reflection.Typing.subst_term", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "8a1ee0bbc2475f0384124d5e003cd2cd" - ], - [ - "FStar.Reflection.Typing.subst_term", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "15befba30188718b6dee397825fdbe91" - ], - [ - "FStar.Reflection.Typing.subst_term", - 5, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "468f87336ea240f178cb6214e1f347be" - ], - [ - "FStar.Reflection.Typing.subst_term", - 6, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "3a619fcc727e54cec63b1cb1bece9c65" - ], - [ - "FStar.Reflection.Typing.subst_term", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "fab09082c7322f525d682f0e7d54be38" - ], - [ - "FStar.Reflection.Typing.subst_term", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "bcba5725738901876f210dfd5a25d563" - ], - [ - "FStar.Reflection.Typing.subst_term", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "580fc1c7600d1ca5ed951148d2ac815a" - ], - [ - "FStar.Reflection.Typing.subst_term", - 10, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "e908f83510c46a026bfb1c2cb1118b36" - ], - [ - "FStar.Reflection.Typing.b2t_ty", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "d573eb1b83d1c43f6584cac5f61e2bfc" - ], - [ - "FStar.Reflection.Typing.freevars", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.Typing.binder_sort", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "da2ce0cc0cc8c6fd40429ef1910a7006" - ], - [ - "FStar.Reflection.Typing.freevars", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_03f3e4cd656020180c47221a03a0fa71_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "lemma_FStar.Pervasives.invertOption", - "subterm_ordering_FStar.Pervasives.Native.Some" - ], - 0, - "09786ca36c34132893de98b1222c6f3f" - ], - [ - "FStar.Reflection.Typing.freevars", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "9c7e9941e2f341c8b6fa231154edd37d" - ], - [ - "FStar.Reflection.Typing.freevars", - 4, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "30b1bc8ea551352d14c5a0183a895943" - ], - [ - "FStar.Reflection.Typing.freevars", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "f44ac7baf9fa83644c4184e464c90b0f" - ], - [ - "FStar.Reflection.Typing.freevars", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "fba1c5982019ba5df227d00c7860ef18" - ], - [ - "FStar.Reflection.Typing.freevars", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term" - ], - 0, - "f244c27de89a18c69e3b2b60c9573f95" - ], - [ - "FStar.Reflection.Typing.freevars", - 8, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "ce8e94714877e3a5b375fc574a0d905b" - ], - [ - "FStar.Reflection.Typing.freevars", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "305203d632ac1870a5570bdc0c5c9610" - ], - [ - "FStar.Reflection.Typing.freevars", - 10, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "9927f4131b263101cbf0ffe3a880a2fc" - ], - [ - "FStar.Reflection.Typing.freevars", - 11, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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" - ], - 0, - "867959682e86a6492ef57f79a9c23be2" - ], - [ - "FStar.Reflection.Typing.ln'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_0", - "data_elim_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.Types.match_returns_ascription", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "f83573ec0844b081a03e0cfbe58e4f6d" - ], - [ - "FStar.Reflection.Typing.ln'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "8c66ffad589a5d527a992df3e6c544b4" - ], - [ - "FStar.Reflection.Typing.ln'", - 3, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_99392f2881f515e6da7747338545453f_0", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_Prims.Cons", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "4dbcaca7c2a013bc053a5b8a0e1f6601" - ], - [ - "FStar.Reflection.Typing.ln'", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "5b8fede1f341fa4f0a74eba211fe36b7" - ], - [ - "FStar.Reflection.Typing.ln'", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "6e4613c2c0448bed28d49b7ecb6802a0" - ], - [ - "FStar.Reflection.Typing.ln'", - 6, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_a4682286a8e48f8b6dc5296b3ba32339_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, - "a7f7bab1066621de5e5162d3729f4a5a" - ], - [ - "FStar.Reflection.Typing.ln'", - 7, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_f6f3059e71a4af19e0916e39904f564a", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "140acf4e4039ace7468e39d15ae29831" - ], - [ - "FStar.Reflection.Typing.ln'", - 8, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6b5206bb1821f88ff6ffae652d7842d3_0", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "87bbc033f4b00441b8ef97762b0d2cd6" - ], - [ - "FStar.Reflection.Typing.ln'", - 9, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_de6bb57eb6c7d163da8bda27d0c5c405_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.branch", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "b73e7865e4854ceb1d00209a36c5ec12" - ], - [ - "FStar.Reflection.Typing.ln'", - 10, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7378fd04031471d1ece18de038f885b8_0", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equation_FStar.Stubs.Reflection.Types.match_returns_ascription", - "fuel_guarded_inversion_FStar.Pervasives.either", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "0ee8dd0df821a7cffabeb443d78e094f" - ], - [ - "FStar.Reflection.Typing.apply_term_ctxt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.Typing_pretyping_358a745bdf2e7f4dca1435bcfed232c4", - "binder_x_358a745bdf2e7f4dca1435bcfed232c4_0", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_arg", - "disc_equation_FStar.Reflection.Typing.Ctxt_app_head", - "disc_equation_FStar.Reflection.Typing.Ctxt_hole", - "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_app_arg", - "subterm_ordering_FStar.Reflection.Typing.Ctxt_app_head", - "typing_tok_FStar.Reflection.Typing.Ctxt_hole@tok" - ], - 0, - "4c5eea805f7a756e303799d7aa6a602c" - ], - [ - "FStar.Reflection.Typing.mk_comp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.TypeChecker.Core.E_Ghost", - "disc_equation_FStar.Stubs.TypeChecker.Core.E_Total", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.Typing.comp_typ", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.TypeChecker.Core.tot_or_ghost", - "kinding_FStar.Stubs.TypeChecker.Core.tot_or_ghost@tok", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "ee1304f7fa8b36b5619ad7928bb308c4" - ], - [ - "FStar.Reflection.Typing.extend_env_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_cd3380f97314e714434067f9210b93f6_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Reflection.Typing.binding", - "equation_FStar.Reflection.Typing.bindings", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c3b59fe04416020c539d2d800ddad656" - ], - [ - "FStar.Reflection.Typing.is_non_informative_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Stubs.Reflection.Types.name" - ], - 0, - "72449393aaf288e30c185ca72f5a9bb1" - ], - [ - "FStar.Reflection.Typing.__close_term_vs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_517878ea18fa71f55e44ce9786369329_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.var", "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, - "ef83dc7c59ade7defe5ac6de2f888cca" - ], - [ - "FStar.Reflection.Typing.bindings_to_refl_bindings", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "0807eebb9b5629fbf4d806fccf584354" - ], - [ - "FStar.Reflection.Typing.elaborate_pat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "binder_x_f6f3059e71a4af19e0916e39904f564a_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.binding@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_f68f21920179826d90bfff800ec0789d", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.universes", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Pat_Constant" - ], - 0, - "281927156a66a0231d4b62db07209bfe" - ], - [ - "FStar.Reflection.Typing.typing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "994c113fe80d55794c6aa8828ed715fa" - ], - [ - "FStar.Reflection.Typing.typing", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81d2e837558d096de87ad3f286319998" - ], - 0, - "6e3776248d81896c2cdcd16fcd2c06ec" - ], - [ - "FStar.Reflection.Typing.typing", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_581845b276397156c20b33440b0baaf1" - ], - 0, - "311ed70524cf11a002515c3c2e2b9436" - ], - [ - "FStar.Reflection.Typing.typing", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b9d896fc821f10815b03dbbe1e85012e" - ], - 0, - "e82d3f29bce41fb5b288ecc567494748" - ], - [ - "FStar.Reflection.Typing.__proj__BO__item___5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.Reflection.Typing.BO", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Reflection.Typing.branch_typing", - "proj_equation_FStar.Reflection.Typing.BO_bnds", - "proj_equation_FStar.Reflection.Typing.BO_pat", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9eb4daa4e3666a0e5805a583aefeda17" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'_binder", - 1, - 2, - 1, - [ "@query" ], - 0, - "fffdd826a23bad99046487966baeceba" - ], - [ - "FStar.Reflection.Typing.open_close_inverse'_terms", - 1, - 2, - 1, - [ "@query" ], - 0, - "b29e7d146e2c760703dd1546304a6329" - ], - [ - "FStar.Reflection.Typing.sigelt_typing", - 1, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "50d80b5b956c7a0167d3bd1baae463f7" - ], - [ - "FStar.Reflection.Typing.sigelt_typing", - 2, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7808d988175425cf8a00cc7498d3cf37" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "a8a052ff02e428119120a5eccf9ff993" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__fv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "5d6ee62648be1e20320d20b632a73dbf" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "e769b636fe661e3a494c01cff41b1cc0" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item__tm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "90d7c43b6cc112b5999527147aaad833" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let__item___4", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.Typing.ST_Let", - "refinement_interpretation_Tm_refine_6d354dd6bda4c0bc878b4bef4f038840" - ], - 0, - "5f84abb1134cd48c580b105745586028" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__g", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "d2484de37a0c5e6e17298380331c1809" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__fv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "4e48f0da5f3584cbf249f7be6511036b" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item__ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "353246b555a725055aeba80351a5b16d" - ], - [ - "FStar.Reflection.Typing.__proj__ST_Let_Opaque__item___3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.Typing.ST_Let_Opaque", - "refinement_interpretation_Tm_refine_f4590cd7a7b81836bf3db62d69fd951b" - ], - 0, - "8fb93fd6f06fce5fa339be9bfec8d56c" - ], - [ - "FStar.Reflection.Typing.sigelt_has_type", - 1, - 2, - 1, - [ - "@query", "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "e66345f71eddc5afe9d9ef6038de098d" - ], - [ - "FStar.Reflection.Typing.mk_checked_let", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Reflection.Typing.ST_Let", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mklb_view@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", "eq2-interp", - "equation_FStar.Reflection.Typing.sigelt_has_type", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.Types.univ_name", - "lemma_FStar.Reflection.Typing.inspect_pack_lb", - "lemma_FStar.Reflection.Typing.inspect_pack_sigelt", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mklb_view_lb_typ", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Sg_Let_lbs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Sg_Let_r", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2cbbd947709308aa9d9c5bcb72e4387a", - "typing_FStar.Stubs.Reflection.Types.ident" - ], - 0, - "3c3f78583abb6fe15a26611244d1fb65" - ], - [ - "FStar.Reflection.Typing.mk_unchecked_let", - 1, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "70cce2476423dc084c675bc81efea7aa" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V1.Compare.fsti.hints b/ulib/.hints/FStar.Reflection.V1.Compare.fsti.hints deleted file mode 100644 index 3e3a8ce2595..00000000000 --- a/ulib/.hints/FStar.Reflection.V1.Compare.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÓQÕôï\u0013ënO·*FÿMÆ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V1.Derived.Lemmas.fst.hints b/ulib/.hints/FStar.Reflection.V1.Derived.Lemmas.fst.hints deleted file mode 100644 index 7ce8584292c..00000000000 --- a/ulib/.hints/FStar.Reflection.V1.Derived.Lemmas.fst.hints +++ /dev/null @@ -1,424 +0,0 @@ -[ - ":$>ÿÖ¼Ý؇\u0010¬?ú>²¬", - [ - [ - "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, - "5f43b67bab6d716ec54541848a0306c4" - ], - [ - "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, - "b83136d993e332a1842bbff8b0bc38b9" - ], - [ - "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.Stubs.Reflection.V1.Data_pretyping_4731ff9c0ea68072126e46447efb9f06", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_f76c4f552a15017b0748353287bba1f7_0", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_App", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V1.Data.argv", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "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.Stubs.Reflection.V1.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_8c35a2a2499992de52e637cb9cb88581", - "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.Stubs.Reflection.V1.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_App", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V1.Data.argv", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "54ac731cca2b6be0ea08d59c2fa7c584" - ], - [ - "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.Stubs.Reflection.V1.Data_pretyping_4731ff9c0ea68072126e46447efb9f06", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_App", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_App", "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Reflection.V1.Derived.collect_app_ln", - "equation_FStar.Stubs.Reflection.V1.Data.argv", - "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", - "interpretation_Tm_abs_837f8ab0b988bec0ec64a2f8b1f15258", - "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.Stubs.Reflection.V1.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_App", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V1.Data.argv", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "e56d9da04c597a3fe225245a615c0db7" - ], - [ - "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.Stubs.Reflection.V1.Data_pretyping_4731ff9c0ea68072126e46447efb9f06", - "constructor_distinct_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V1.Data.argv", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_258f725c14a57b9e776967168e8788c3", - "interpretation_Tm_abs_837f8ab0b988bec0ec64a2f8b1f15258", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_FStar.Stubs.Reflection.V1.Data.argv", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Q_Implicit@tok" - ], - 0, - "c4379428492d29fad46c224b084e9b22" - ], - [ - "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.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_9a27602f2e139bf43f3215782275d40f_0", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.Types.binders", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "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.Stubs.Reflection.V1.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a018be021b7d95a03edea33f43caf34a", - "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.Stubs.Reflection.V1.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "a80d26ee4a4649bfa0da3aaa73de55ca" - ], - [ - "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.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Abs", "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "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", - "interpretation_Tm_abs_612e3ade225ec84e54fb206ec60ebb94", - "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.Stubs.Reflection.V1.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "21b10ff5c0a7fe9503f0245fe298f079" - ], - [ - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "typing_FStar.Stubs.Reflection.Types.binder" - ], - 0, - "88f4b5ae6954068c33ecbfc4899d670d" - ], - [ - "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.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_6810d13cb9b08df0f69a36697286e796_2", - "binder_x_9a27602f2e139bf43f3215782275d40f_0", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.C_Total", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.Types.binders", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "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.Stubs.Reflection.V1.Data.comp_view", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a018be021b7d95a03edea33f43caf34a", - "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.Stubs.Reflection.V1.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V1.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.C_Total", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "7b309e04cd851619734db55d56986ae4" - ], - [ - "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.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Stubs.Reflection.V1.Data.C_Total@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Reflection.V1.Derived.Lemmas.forallP", - "equation_FStar.Reflection.V1.Derived.collect_arr_ln_bs", - "equation_FStar.Stubs.Reflection.Types.typ", - "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", - "interpretation_Tm_abs_612e3ade225ec84e54fb206ec60ebb94", - "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.Stubs.Reflection.V1.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V1.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.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_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "typing_FStar.Reflection.V1.Derived.collect_arr_", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.V1.Builtins.pack_comp", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "9450aca4ed64e30181ae446ef301695d" - ], - [ - "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", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "typing_FStar.Stubs.Reflection.Types.binder" - ], - 0, - "cc802144dfc05010f32b0c072ba045d7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V1.Derived.fst.hints b/ulib/.hints/FStar.Reflection.V1.Derived.fst.hints deleted file mode 100644 index d92075e6172..00000000000 --- a/ulib/.hints/FStar.Reflection.V1.Derived.fst.hints +++ /dev/null @@ -1,305 +0,0 @@ -[ - "וM[»ð\u0000¨~\bÀÅç\u000eÆ", - [ - [ - "FStar.Reflection.V1.Derived.inspect_ln_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_04d120fafad141e6dbe9f843f32dafae", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "bedb32b02c1f4885cad60d1522a90d78" - ], - [ - "FStar.Reflection.V1.Derived.flatten_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_9312fad14d3e0d84c7365df81205435f_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "string_typing", - "subterm_ordering_Prims.Cons" - ], - 0, - "13c3b0e3c5a50f84748a1d4d97d8b893" - ], - [ - "FStar.Reflection.V1.Derived.collect_app_ln'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_App", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "98d33d15ccb3d54d79253be9aa02dd9b" - ], - [ - "FStar.Reflection.V1.Derived.mk_app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f76c4f552a15017b0748353287bba1f7_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V1.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "be7d910b76679547088c1d07ea0aa6aa" - ], - [ - "FStar.Reflection.V1.Derived.mk_tot_arr_ln", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_01a7fe00ad5ffc6d26b754051e91c716_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "546eecf67b079951d3a8ec88a4f547a0" - ], - [ - "FStar.Reflection.V1.Derived.collect_arr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "refinement_interpretation_Tm_refine_bf620b25aae321123802c1d674d762ee", - "refinement_interpretation_Tm_refine_f8d01b1c44889d9b39c7ced345855b94", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.C_Total", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_comp", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "6434dbaaa5f2241159bc6d8f95e2e313" - ], - [ - "FStar.Reflection.V1.Derived.collect_abs'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "58f0c6267bda6e16a46f99e486d98a77" - ], - [ - "FStar.Reflection.V1.Derived.mk_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "e1e1b2732e1fffce38d8f244a2144f79" - ], - [ - "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", "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_f977a384b76798b53763842ecb73fa85", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "1e80e718f8f9caee396c82eafb5157da" - ], - [ - "FStar.Reflection.V1.Derived.destruct_tuple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "5ea15115cd66cd8af46583b364d3325c" - ], - [ - "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", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "38d40c126d258485f4c9844137f3a6ed" - ], - [ - "FStar.Reflection.V1.Derived.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.term_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_04d120fafad141e6dbe9f843f32dafae", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.V1.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "2a1a1a1e3dac31e2dbd04e0ae6a3b839" - ], - [ - "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", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "string_typing", - "subterm_ordering_Prims.Cons" - ], - 0, - "3d8999f85d1514a0a34b1b3b75490bd2" - ], - [ - "FStar.Reflection.V1.Derived.is_name_imp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V1.Data_pretyping_ce19d9529c7bfa348c0824e3ebd0aeb9", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_bf620b25aae321123802c1d674d762ee", - "subterm_ordering_FStar.Stubs.Reflection.V1.Data.Tv_App", - "typing_FStar.Reflection.V1.Derived.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp@tok" - ], - 0, - "4ad777867df0e7cb2c0c9ea0a33dca39" - ], - [ - "FStar.Reflection.V1.Derived.maybe_unsquash_term", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.V1.Derived.unsquash_term", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.V1.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "669f812d8cd4e7208d7b0ab8de24387c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V1.Formula.fst.hints b/ulib/.hints/FStar.Reflection.V1.Formula.fst.hints deleted file mode 100644 index ec795e97e2c..00000000000 --- a/ulib/.hints/FStar.Reflection.V1.Formula.fst.hints +++ /dev/null @@ -1,462 +0,0 @@ -[ - "ì6€/Ý«¨ßk;—Ù\u001dÍÒß", - [ - [ - "FStar.Reflection.V1.Formula.inspect_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "540be219166c3ae791821136876a49e9" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Eq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c159c2ab705109c5eede23ce60d1a1d5" - ], - 0, - "b6cdb4e5780257c862c1a9bc7dbd7a44" - ], - [ - "FStar.Reflection.V1.Formula.__proj__BoolEq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f9843a1e0fa842080a099df61098fe3c" - ], - 0, - "6d98885588c1bb71854a14412f000f29" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Comp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" - ], - 0, - "13600ab0af5179df93da94c29dab30d0" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Comp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" - ], - 0, - "34fae9ba46c5d204422d0393bf96c865" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Comp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7" - ], - 0, - "ad85e32f75e5e10410b8118fc1ca2d9d" - ], - [ - "FStar.Reflection.V1.Formula.__proj__And__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e221a3130787c7f22b540ea067f59738" - ], - 0, - "de2a5bbb93c3749b3d6dad10eb9b671f" - ], - [ - "FStar.Reflection.V1.Formula.__proj__And__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e221a3130787c7f22b540ea067f59738" - ], - 0, - "75f3f654821c0c22db86f5f8355b0f8f" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Or__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2d102001c6f5ad38d95df605da9a67b" - ], - 0, - "a1613a16424b72206e2d28007cc9fded" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Or__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2d102001c6f5ad38d95df605da9a67b" - ], - 0, - "4c7f108e0eeab8429289b0f6bdacc211" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Not__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb67ccd9da6d95f8a9ac681ccb63960c" - ], - 0, - "deeeaf66ecfd561a6413e31a7c26fea2" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Implies__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c306bcca85c3beec47ebb8a66e774d9c" - ], - 0, - "a5400c33de27df44eb3deb7118d5fa3b" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Implies__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c306bcca85c3beec47ebb8a66e774d9c" - ], - 0, - "d4994626ae44ef1d29e79bf3c4616785" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Iff__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea7738e9570dbba9725e53927b8aa6fe" - ], - 0, - "71daf084c7aff33a7397738b0964c7ee" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Iff__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ea7738e9570dbba9725e53927b8aa6fe" - ], - 0, - "4da9243ab42492b3f403925e9bcf48e8" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Forall__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" - ], - 0, - "3279dfcef4d0c78d8fc616f459aba574" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Forall__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" - ], - 0, - "ca78421c3b3a5eac3389378ea1072e46" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Forall__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ecc40c9fed0f6518edd1b333ecc8082d" - ], - 0, - "77ee0b9b87116a871622fe5936cc0040" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Exists__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" - ], - 0, - "6fc371dcfcb0234155ef54f33fe6e2e2" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Exists__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" - ], - 0, - "5da9bd1d5a01558e56086443b083fdb8" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Exists__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f87180dbe1684dd1f086a5397aec56ac" - ], - 0, - "ef147ac820fdb2e135078910a0badcea" - ], - [ - "FStar.Reflection.V1.Formula.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ee274dfd17f17e1ecf33125783660bc" - ], - 0, - "a73abcc6aa3749d273e2aa417d6b9492" - ], - [ - "FStar.Reflection.V1.Formula.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ee274dfd17f17e1ecf33125783660bc" - ], - 0, - "84ec998cc480b47da9ccf6ad23c01858" - ], - [ - "FStar.Reflection.V1.Formula.__proj__Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef17d2316fd40ddbc4f231fee6853ea" - ], - 0, - "e4ebf7bff1c71ab2990bc06cb4c99939" - ], - [ - "FStar.Reflection.V1.Formula.__proj__FV__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_45e00844f020dddc92d64cbe8c06f82e" - ], - 0, - "41ae15c2908415f6f1b15f7af6b3c907" - ], - [ - "FStar.Reflection.V1.Formula.__proj__IntLit__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_551436a37f812b60bf36b7c0e212b02d" - ], - 0, - "c511903caa69720534fba69c88d2a283" - ], - [ - "FStar.Reflection.V1.Formula.term_as_formula'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_Var", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V1.Data.term_view", - "fuel_guarded_inversion_FStar.Stubs.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_89bd4c8e556a5e39894d4c359aaa80a0", - "string_typing", "typing_Prims.string" - ], - 0, - "abf092f6446af65df00b3edf25b349da" - ], - [ - "FStar.Reflection.V1.Formula.term_as_formula", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.V1.Derived.unsquash_term", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.V1.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "dec7fcd20552b6d5300f7d6b80548f39" - ], - [ - "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.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.V1.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.V1.Formula.formula", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "9a26b671594beb94321b5e08950eb10f" - ], - [ - "FStar.Reflection.V1.Formula.formula_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.V1.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.V1.Formula.formula", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Reflection.V1.Formula.Comp__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3db480849ba9220f093b01900e7a4bc7", - "typing_FStar.Reflection.V1.Formula.__proj__Comp__item___0", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "892a51c229f4bf00a9d14e4949119653" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V1.fst.hints b/ulib/.hints/FStar.Reflection.V1.fst.hints deleted file mode 100644 index 2ec374c845b..00000000000 --- a/ulib/.hints/FStar.Reflection.V1.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Q4›þD¸æ¯H4~*’ïˆ`", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Arith.fst.hints b/ulib/.hints/FStar.Reflection.V2.Arith.fst.hints deleted file mode 100644 index dcbc3abffba..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Arith.fst.hints +++ /dev/null @@ -1,718 +0,0 @@ -[ - "¹\u0016ƒf]3YÄ’HýDú^GV", - [ - [ - "FStar.Reflection.V2.Arith.__proj__Lit__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d1cb3c993734a3fba956c5fe4976c12" - ], - 0, - "a614580b3f73898111522809b1621abb" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Atom__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_00ef060fe2f582144545d97e04a0b689" - ], - 0, - "fa9267c0feaf82707bb29d76ee7f3408" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Atom__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_00ef060fe2f582144545d97e04a0b689" - ], - 0, - "9ca1513f768d0d9caf70cdbd23951eaf" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Plus__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8c359500aaaa6140c41b4199a66f37d" - ], - 0, - "66fe1134f74966f7acd4cce9a89c6792" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Plus__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e8c359500aaaa6140c41b4199a66f37d" - ], - 0, - "53a0f2fd09ea9df9c362414b767dbf55" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Mult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb7887f66aaf81cf3b08943b824923d6" - ], - 0, - "6b9fb57a71a349c986419e014d067ca6" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Mult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb7887f66aaf81cf3b08943b824923d6" - ], - 0, - "7f3628919d5fa42cb520a657927a8732" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Minus__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a5e0affa9413e25a5b2f1a84e90ffa73" - ], - 0, - "0afb95f9c6b04de35207f6a850e67e36" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Minus__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a5e0affa9413e25a5b2f1a84e90ffa73" - ], - 0, - "4db061ff74f11e70ad2540c95d5cf362" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Land__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3bb0a7c63b66ff76c0ffe8210e11a673" - ], - 0, - "efcb0389e07cfad06802e0306d2f4b4f" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Land__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3bb0a7c63b66ff76c0ffe8210e11a673" - ], - 0, - "807b1e5886a0b98f1bc7d864fd9fd4c1" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lxor__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d166f24f5408964467b992c7995ac5b0" - ], - 0, - "4d81e9239f0180d16db83f1e2480a2b0" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lxor__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d166f24f5408964467b992c7995ac5b0" - ], - 0, - "a9b1b9f2553e6d56ad8188e61ed1e0a9" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lor__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6883495ebe4821767722685375943886" - ], - 0, - "6b77ba0741c2b3a3728de549acfe681c" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lor__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6883495ebe4821767722685375943886" - ], - 0, - "a9e2a2455f2347f2dfe857729bc30396" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Ladd__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_113d9dcc6235d27a60e662ef38afe4d0" - ], - 0, - "a3e9cddb7e4b00a534e0671b1c81dd8c" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Ladd__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_113d9dcc6235d27a60e662ef38afe4d0" - ], - 0, - "5ce1b19e3f19161513649f2d162c3e70" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lsub__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb488b848213879d7329c56c6f3404f7" - ], - 0, - "59a104b29abd454626444ede2c5d0627" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Lsub__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eb488b848213879d7329c56c6f3404f7" - ], - 0, - "9d73ca317afc3b6581f8ea7f955ea0ba" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Shl__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f6614337e84efeaed6ab116c452f819b" - ], - 0, - "91181762071aacbeee623c61f9faa144" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Shl__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f6614337e84efeaed6ab116c452f819b" - ], - 0, - "1bd0500b23bcd43723353fd1d732a625" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Shr__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_db4615492a525a2589a26b54ef32b95d" - ], - 0, - "1b00e813f45effc35f8141342ab0db66" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Shr__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_db4615492a525a2589a26b54ef32b95d" - ], - 0, - "cce5ce78092fef80c177ae705cc7c386" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Neg__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_576dcc28ba9b015823ce4eecd4b50224" - ], - 0, - "2fec75818c5103c361cbac2df59a612a" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Udiv__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_acccefa836c301dcceeeb8bb747bba07" - ], - 0, - "98ab59486425782a649ca0ba512b528f" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Udiv__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_acccefa836c301dcceeeb8bb747bba07" - ], - 0, - "4659e8c7f16d2afde5ec2035f0c917ff" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Umod__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0cf473721790d7db60a8b9fa4b495eb9" - ], - 0, - "7f8bc4c8eb378a589ce60e0c573c26dd" - ], - [ - "FStar.Reflection.V2.Arith.__proj__Umod__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0cf473721790d7db60a8b9fa4b495eb9" - ], - 0, - "5415a091d7076048db037115e4bf4d6a" - ], - [ - "FStar.Reflection.V2.Arith.__proj__MulMod__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bacdde8675993a12d66684e76458ae68" - ], - 0, - "49ab27e6b8720bf07250d4fe93b6a828" - ], - [ - "FStar.Reflection.V2.Arith.__proj__MulMod__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bacdde8675993a12d66684e76458ae68" - ], - 0, - "15dd7f3785c2ad6e8b2133dcb9207025" - ], - [ - "FStar.Reflection.V2.Arith.__proj__NatToBv__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49f1a48168da21aeb37e62f4ffdf4019" - ], - 0, - "ce7238aa1e51f9980dcf47b17ddb4cdc" - ], - [ - "FStar.Reflection.V2.Arith.__proj__CompProp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" - ], - 0, - "20d52f86e3d37dfb40a25d1de97f8d5e" - ], - [ - "FStar.Reflection.V2.Arith.__proj__CompProp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" - ], - 0, - "0b0261cc58820736a8797e74dd2b34a8" - ], - [ - "FStar.Reflection.V2.Arith.__proj__CompProp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f4fdbb64a7ea64c424d969459c5bc8c2" - ], - 0, - "a9fa1943dd52e0d699d1a41dfacebbc8" - ], - [ - "FStar.Reflection.V2.Arith.__proj__AndProp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ff8bf3409ae7106aaaabee631f89b9ae" - ], - 0, - "6d02f56d226ffea9f10ba03b367dc638" - ], - [ - "FStar.Reflection.V2.Arith.__proj__AndProp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ff8bf3409ae7106aaaabee631f89b9ae" - ], - 0, - "e61e196ab1532f69493603c096b71494" - ], - [ - "FStar.Reflection.V2.Arith.__proj__OrProp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49e17b8364ef666c8b205a87bf2cdab0" - ], - 0, - "5fd09b3f9f1579a98e00af32680a6141" - ], - [ - "FStar.Reflection.V2.Arith.__proj__OrProp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_49e17b8364ef666c8b205a87bf2cdab0" - ], - 0, - "7988778bb9e5db4f72b3e60f56632d62" - ], - [ - "FStar.Reflection.V2.Arith.__proj__NotProp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_458adec99a866220f677cc3d346f804a" - ], - 0, - "7755273cac3d861fdde132449d6c164d" - ], - [ - "FStar.Reflection.V2.Arith.op_let_Bang", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9e968040efe01eb5f1ae7203659b9894" - ], - [ - "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", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "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.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_kinding_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "caad6baf67d8d67d57d0d6235c61e035" - ], - [ - "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", - "FStar.Stubs.Reflection.Types_pretyping_651778f725c07b6c259161d48455093d", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Stubs.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.Stubs.Tactics.Result.__result", - "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_507873ffc3f479f1b0f2f277074b6d66", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aa4f781f9090800ae4247874e23c4695", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_aa4f781f9090800ae4247874e23c4695", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "d2d2f0544c3f835ce315b0f6b023a95b" - ], - [ - "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.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Stubs.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_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_Prims.Cons", "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_2ab417a892cbccc102514dbfb168fcb3", - "kinding_FStar.Stubs.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.Stubs.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", - "string_typing", "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_Prims.__proj__Cons__item__hd", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.string", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "e299fa4534b3e1534cb41e2d7dd53b73" - ], - [ - "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.Stubs.Tactics.Result.__result", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "d1da699f802b328c37553983300c494e" - ], - [ - "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, - "97bf643bb4ab504001b512b94b3e7cda" - ], - [ - "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, - "95065eb92c52ac251ff99c1c5df16a44" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Collect.fst.hints b/ulib/.hints/FStar.Reflection.V2.Collect.fst.hints deleted file mode 100644 index df4408fd3c9..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Collect.fst.hints +++ /dev/null @@ -1,88 +0,0 @@ -[ - "Ÿ\u0010t@ÎÚ\nóÛÄN¨ïK±:", - [ - [ - "FStar.Reflection.V2.Collect.inspect_ln_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V2.Data.notAscription", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "4bc1982d3f70951bd9dca04a09140e7d" - ], - [ - "FStar.Reflection.V2.Collect.collect_app_ln'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "823ebfba6df4935180030b99c13a34be" - ], - [ - "FStar.Reflection.V2.Collect.collect_arr'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "b7cdd3cf8a664257300666747ddd8747" - ], - [ - "FStar.Reflection.V2.Collect.collect_abs'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "0687688ee78974d4566b1828a6c111ee" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Compare.fst.hints b/ulib/.hints/FStar.Reflection.V2.Compare.fst.hints deleted file mode 100644 index d664bdcb1d4..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Compare.fst.hints +++ /dev/null @@ -1,245 +0,0 @@ -[ - "c^'6Úè\r-w{g¡¿2P¿", - [ - [ - "FStar.Reflection.V2.Compare.compare_const", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_False", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Int", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Range", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Real", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reflect", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reify", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_String", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_True", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Unit", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.vconst", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "90aa080d0d9017a5cd7cb6093d7a0800" - ], - [ - "FStar.Reflection.V2.Compare.compare_universe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_1e7d50258c90a67cd2d1434776b23416", - "FStar.Stubs.Reflection.V2.Data_pretyping_d2f7e89566866d71e5fc7e1e7432f4cb", - "binder_x_1e7d50258c90a67cd2d1434776b23416_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unif", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unk", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok", - "fuel_guarded_inversion_FStar.Stubs.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.Stubs.Reflection.V2.Data.Uv_Succ__0", - "refinement_interpretation_Tm_refine_463d5b33ff5a7e6e768fc7d62686ecbd", - "refinement_interpretation_Tm_refine_4e84f047f00aa775b5130eee4ebea2da", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_universe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Uv_Zero@tok" - ], - 0, - "34ae0285a383c12446695fd4e9098db8" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_651778f725c07b6c259161d48455093d_0", - "binder_x_651778f725c07b6c259161d48455093d_1", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Collect.collect_app_ln", - "equation_FStar.Reflection.V2.Derived.Lemmas.collect_app_ref", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "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_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT_tac", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "refinement_interpretation_Tm_refine_b6f87e5ccc1bf4844fda8bf2a5d99769", - "subterm_ordering_FStar.Pervasives.Native.Some", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Reflection.V2.Collect.collect_app_ln", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "well-founded-ordering-on-nat" - ], - 0, - "97e549282a1131684ee1ad519f4132ff" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_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, - "690a16f21e50134cb7ff6031b115d0f3" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_784a71e6f3a8631d7875ac98efe9c960_3", - "binder_x_ecfef3e8a19134e630eb0ef5e0701cb8_2", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_6dae8bdbbe2322aa4bf9dcbbf7abe114", - "refinement_interpretation_Tm_refine_70bff3185d6d2ce0291c117923c0be73", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2" - ], - 0, - "1dbc657880f913b55aa83b9dc82b43f3" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_44b1fd9e7afcba61ca28fda116ec8647_2", - "binder_x_c6fce53f91a4541eb9e70ca407fc10d9_3", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_6dae8bdbbe2322aa4bf9dcbbf7abe114", - "refinement_interpretation_Tm_refine_70bff3185d6d2ce0291c117923c0be73", - "subterm_ordering_Prims.Cons", "well-founded-ordering-on-nat" - ], - 0, - "0189af086911d3b7444250dce4acb9f9" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "binder_x_6810d13cb9b08df0f69a36697286e796_0", - "binder_x_6810d13cb9b08df0f69a36697286e796_1", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.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_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Eff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "638a0273214449bed958736e7c0aae6a" - ], - [ - "FStar.Reflection.V2.Compare.__compare_term", - 6, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "binder_x_9b991758ca636436bc8d1f0999dd3cf1_0", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_sort", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder" - ], - 0, - "5481dd36036931654940125769f53038" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Compare.fsti.hints b/ulib/.hints/FStar.Reflection.V2.Compare.fsti.hints deleted file mode 100644 index b572abe61bc..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Compare.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "%P·¿îb¤A ‡VŸ€ï0Ž", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Derived.Lemmas.fst.hints b/ulib/.hints/FStar.Reflection.V2.Derived.Lemmas.fst.hints deleted file mode 100644 index 355b13e4232..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Derived.Lemmas.fst.hints +++ /dev/null @@ -1,427 +0,0 @@ -[ - "«}(œ6ï*/D_z·>mÿh", - [ - [ - "FStar.Reflection.V2.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, - "9bd351cabed38aab9cff3acdb8b93eec" - ], - [ - "FStar.Reflection.V2.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.V2.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, - "a14ac57b84345eb6fcbaf0d60ceda315" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_app_ln_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_app_ln_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_99392f2881f515e6da7747338545453f_0", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.notAscription", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Collect.collect_app_ln_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_b71de044745fc7749f54357dd0c31733", - "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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_App_hd", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "7b7155455d99874d534ae5b45f49560f" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_app_ln_.fuel_instrumented", - "@fuel_correspondence_FStar.Reflection.V2.Collect.inspect_ln_unascribe.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_app_ln_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", "bool_inversion", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_App", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Collect.collect_app_ln", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Collect.collect_app_ln_.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Collect.inspect_ln_unascribe.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "interpretation_Tm_abs_a4106380040f6241be64898e886dedef", - "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.Stubs.Reflection.V2.Data.Tv_App_a", - "projection_inverse_FStar.Stubs.Reflection.V2.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_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_FStar.Stubs.Reflection.V2.Data.uu___is_Tv_App", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "0d1bb0de9587176afa4456cc8dc6b6a9" - ], - [ - "FStar.Reflection.V2.Derived.Lemmas.collect_app_ref", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_25489d564b00c456a9aebf5245eb3f03", - "constructor_distinct_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_1e4258eb7a9dbfd194bc3c3007ba13df", - "interpretation_Tm_abs_a4106380040f6241be64898e886dedef", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_FStar.Pervasives.Native.Mktuple2", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Q_Implicit@tok" - ], - 0, - "8296d9e01aacea56f5a22d4a6bf6ec6a" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_abs_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_abs_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_2", - "binder_x_9a27602f2e139bf43f3215782275d40f_0", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.Types.binders", - "equation_FStar.Stubs.Reflection.V2.Data.notAscription", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Collect.collect_abs_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a018be021b7d95a03edea33f43caf34a", - "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.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Abs_bv", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "03320e95a7fc335ef6c6b493df136855" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_abs_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_abs_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Reflection.V2.Collect.collect_abs_ln", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "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.V2.Collect.collect_abs_.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_612e3ade225ec84e54fb206ec60ebb94", - "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.Stubs.Reflection.V2.Data.Tv_Abs_body", - "projection_inverse_FStar.Stubs.Reflection.V2.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_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "dc6f9980047237275c981c9d1b37fed4" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_abs_ln", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "typing_FStar.Stubs.Reflection.Types.binder" - ], - 0, - "bc0a5abbb17a2fa06c5e62a5acf6b704" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_arr_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_arr_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_6810d13cb9b08df0f69a36697286e796_2", - "binder_x_9a27602f2e139bf43f3215782275d40f_0", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.Types.binders", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.notAscription", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.Reflection.V2.Collect.collect_arr_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_a018be021b7d95a03edea33f43caf34a", - "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.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_c", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.C_Total", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "unit_inversion", "unit_typing" - ], - 0, - "7f75ee26ac3bcfc818380ea0f69472df" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_arr_.fuel_instrumented", - "@fuel_irrelevance_FStar.Reflection.V2.Collect.collect_arr_.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_6810d13cb9b08df0f69a36697286e796", - "FStar.Stubs.Reflection.Types_pretyping_9b991758ca636436bc8d1f0999dd3cf1", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.C_Total", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.C_Total@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "eq2-interp", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.List.Tot.Base.rev", - "equation_FStar.Reflection.V2.Collect.collect_arr_ln_bs", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_FStar.Stubs.Reflection.Types.typ", - "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.V2.Collect.collect_arr_.fuel_instrumented", - "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "interpretation_Tm_abs_612e3ade225ec84e54fb206ec60ebb94", - "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.Stubs.Reflection.V2.Data.C_Total_ret", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Tv_Arrow_bv", - "projection_inverse_FStar.Stubs.Reflection.V2.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_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "typing_FStar.Reflection.V2.Collect.collect_arr_", - "typing_FStar.Reflection.V2.Collect.inspect_ln_unascribe", - "typing_FStar.Stubs.Reflection.Types.binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_comp", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "7f253603150e16da21d920c3df2ea6f4" - ], - [ - "FStar.Reflection.V2.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.V2.Collect.collect_arr_ln_bs", - "equation_FStar.Reflection.V2.Derived.Lemmas.forallP", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Nil_a", - "typing_FStar.Stubs.Reflection.Types.binder" - ], - 0, - "4c9e54cac7a6813b39839adf58e77872" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Derived.fst.hints b/ulib/.hints/FStar.Reflection.V2.Derived.fst.hints deleted file mode 100644 index eb5e8618224..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Derived.fst.hints +++ /dev/null @@ -1,320 +0,0 @@ -[ - "±ø¿ž\u0010)<„ìcìUhß.K", - [ - [ - "FStar.Reflection.V2.Derived.inspect_ln_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.V2.Data.notAscription", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "c0c945b07b50fde1aabe2414a033649d" - ], - [ - "FStar.Reflection.V2.Derived.shift", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Syntax.Syntax.DB", - "disc_equation_FStar.Stubs.Syntax.Syntax.DT", - "disc_equation_FStar.Stubs.Syntax.Syntax.NM", - "disc_equation_FStar.Stubs.Syntax.Syntax.NT", - "disc_equation_FStar.Stubs.Syntax.Syntax.UD", - "disc_equation_FStar.Stubs.Syntax.Syntax.UN", - "fuel_guarded_inversion_FStar.Stubs.Syntax.Syntax.subst_elt", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b00e84f6455125f1d2f14d91a798258e" - ], - [ - "FStar.Reflection.V2.Derived.mk_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Sealed.Inhabited.is_sealed", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_Prims.Nil_a", "true_interp", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_binder" - ], - 0, - "106846fa66ab0860609da6c8dcdd9de4" - ], - [ - "FStar.Reflection.V2.Derived.mk_implicit_binder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "cd5d11e8a2bc81991e37431ba6c42279" - ], - [ - "FStar.Reflection.V2.Derived.flatten_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_9312fad14d3e0d84c7365df81205435f_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "string_typing", - "subterm_ordering_Prims.Cons" - ], - 0, - "faecb886011e49cbf1e1ed00efb1abe2" - ], - [ - "FStar.Reflection.V2.Derived.mk_app", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_99392f2881f515e6da7747338545453f_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "2de5317027835bbd14bd0d38a3ba815b" - ], - [ - "FStar.Reflection.V2.Derived.mk_tot_arr_ln", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_01a7fe00ad5ffc6d26b754051e91c716_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "565e235afad5c07581e8988df71f267a" - ], - [ - "FStar.Reflection.V2.Derived.mk_arr_ln", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_acab2697c2f84f2b46c07b0fd213cd23_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_14ce58fa655d913556bc0a15f9deed4c", - "subterm_ordering_Prims.Cons" - ], - 0, - "2e2c0da72a9e4b8bb72f0366c157a1b7" - ], - [ - "FStar.Reflection.V2.Derived.mk_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_23987fd6baf5732c3d26e88cf8aa3de9_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "5938760c01e0e2d54edb0920daeea52a" - ], - [ - "FStar.Reflection.V2.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", "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_f977a384b76798b53763842ecb73fa85", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "cee0e66390e136c4a6afde12757f7b26" - ], - [ - "FStar.Reflection.V2.Derived.destruct_tuple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "72a06b0055095132140afd5e39c42451" - ], - [ - "FStar.Reflection.V2.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", - "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", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "38d40c126d258485f4c9844137f3a6ed" - ], - [ - "FStar.Reflection.V2.Derived.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_0", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "5aef56f4ef3fcf10afa5bff029aa51e9" - ], - [ - "FStar.Reflection.V2.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", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "string_typing", - "subterm_ordering_Prims.Cons" - ], - 0, - "bf116a3c232a321f9b2dfdfe8ce4cdae" - ], - [ - "FStar.Reflection.V2.Derived.is_name_imp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_250ec2f946e12594618df379d0cb7f9b", - "binder_x_651778f725c07b6c259161d48455093d_1", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok", - "refinement_interpretation_Tm_refine_5bdd45d3da8bcffc0601859dc0f3192e", - "subterm_ordering_FStar.Stubs.Reflection.V2.Data.Tv_App", - "typing_FStar.Reflection.V2.Derived.inspect_ln_unascribe", - "typing_tok_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp@tok" - ], - 0, - "dff42ca7e46ee9f92a7a5a162115946a" - ], - [ - "FStar.Reflection.V2.Derived.maybe_unsquash_term", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.V2.Derived.unsquash_term", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.V2.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "fd489ff2f843b78e84a12d976a8c9317" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.Formula.fst.hints b/ulib/.hints/FStar.Reflection.V2.Formula.fst.hints deleted file mode 100644 index d26a9eeb556..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.Formula.fst.hints +++ /dev/null @@ -1,432 +0,0 @@ -[ - "\u0010\u000bŽ;Kº\u001b>ëR\tlƒŸíÖ", - [ - [ - "FStar.Reflection.V2.Formula.__proj__Eq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e43d6364938e1d5176082471d2d04fb9" - ], - 0, - "42bdbb37bec7d74de62fde59b66cf538" - ], - [ - "FStar.Reflection.V2.Formula.__proj__BoolEq__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7130ac7f7031ee2405d67ce0fb773016" - ], - 0, - "913e77e0053f8085711a0e1206508eff" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Comp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb431a0b8a7caa6cf69b36c2e697f27d" - ], - 0, - "b34201995988947b075fa8749e7d84cb" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Comp__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb431a0b8a7caa6cf69b36c2e697f27d" - ], - 0, - "f4e879a1c4c06c97353d9b8f0311433e" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Comp__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_bb431a0b8a7caa6cf69b36c2e697f27d" - ], - 0, - "30ba3a26acc313d4a91ea54a162b3904" - ], - [ - "FStar.Reflection.V2.Formula.__proj__And__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afefff96e762436e9e286938ae5bd296" - ], - 0, - "cea25da1aff722cc3b1d7e2b9e31abf5" - ], - [ - "FStar.Reflection.V2.Formula.__proj__And__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afefff96e762436e9e286938ae5bd296" - ], - 0, - "b58974a45868d6d0bbb1525ee1a0af8a" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Or__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd2b94a226dfb474d444b84bd0e18f4e" - ], - 0, - "21231bfb89ff05e1b8dfc587eb16010b" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Or__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd2b94a226dfb474d444b84bd0e18f4e" - ], - 0, - "f69e12f293be4030e54a4c847c8e698d" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Not__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79b780262c6ff8bbc9d19dd6e7a82617" - ], - 0, - "f2e41a1918467473b601b95b312b4f35" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Implies__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71dd7a300c6cd81b43443cc6bd08c820" - ], - 0, - "a0f89d433389b55e218936a52104735d" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Implies__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_71dd7a300c6cd81b43443cc6bd08c820" - ], - 0, - "3f519210b1bffb97d2e6c0d98edc7410" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Iff__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37b1001aa245e774d71c7996f8aa4c41" - ], - 0, - "00fc5825ef8d37388a1e4aa1714e6b82" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Iff__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37b1001aa245e774d71c7996f8aa4c41" - ], - 0, - "920437a7b6945bdfdbf5be663cd8ceb9" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Forall__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f58524dfd8b26c53a6b4ca6308ce978" - ], - 0, - "de2a837d9c931a6f245a88b65cc95658" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Forall__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f58524dfd8b26c53a6b4ca6308ce978" - ], - 0, - "81b142e772844b037934f29572d06acf" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Forall__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f58524dfd8b26c53a6b4ca6308ce978" - ], - 0, - "1dfc4cb0b4dcf680aca5f35810954068" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Exists__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47c227a0e1bad766e65a971f1b662250" - ], - 0, - "e5e5e0a4a3bec5e6173d284429c4a2e0" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Exists__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47c227a0e1bad766e65a971f1b662250" - ], - 0, - "e472365b2c30d5e18278100cf17a7521" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Exists__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47c227a0e1bad766e65a971f1b662250" - ], - 0, - "f08668373e1930c2469b2480b9e5f300" - ], - [ - "FStar.Reflection.V2.Formula.__proj__App__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91b08d9cf73feb528f4d6485b5371070" - ], - 0, - "6d9e58d62bd589cea1bdac5a1044d011" - ], - [ - "FStar.Reflection.V2.Formula.__proj__App__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91b08d9cf73feb528f4d6485b5371070" - ], - 0, - "33ee135018517be053b672effa1b1bed" - ], - [ - "FStar.Reflection.V2.Formula.__proj__Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1eda1af3652c0f59491de3194febae5c" - ], - 0, - "e28ab95a1eac0f3c7150d70f0ee6525e" - ], - [ - "FStar.Reflection.V2.Formula.__proj__FV__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_142a36e9daea7bdef8c1fb9f74b3186b" - ], - 0, - "aa3bda2b903c42bbd839728f12026476" - ], - [ - "FStar.Reflection.V2.Formula.__proj__IntLit__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9463acd36e12c69b5607f29f47216780" - ], - 0, - "3fd58b76ff3d27a6b645bde22378b08b" - ], - [ - "FStar.Reflection.V2.Formula.term_as_formula'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Tactics.NamedView.term_view", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_Prims.string" - ], - 0, - "cfa2b51008aa751b4db675f51ac48e21" - ], - [ - "FStar.Reflection.V2.Formula.term_as_formula", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Reflection.V2.Derived.unsquash_term", - "equation_FStar.Tactics.NamedView.term", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Reflection.V2.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "11523f6f5650e3976c0f604e43343c9c" - ], - [ - "FStar.Reflection.V2.Formula.formula_as_term_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Reflection.V2.Formula.BoolEq", - "data_elim_FStar.Reflection.V2.Formula.Eq", - "disc_equation_FStar.Reflection.V2.Formula.And", - "disc_equation_FStar.Reflection.V2.Formula.App", - "disc_equation_FStar.Reflection.V2.Formula.BoolEq", - "disc_equation_FStar.Reflection.V2.Formula.Comp", - "disc_equation_FStar.Reflection.V2.Formula.Eq", - "disc_equation_FStar.Reflection.V2.Formula.Exists", - "disc_equation_FStar.Reflection.V2.Formula.FV", - "disc_equation_FStar.Reflection.V2.Formula.F_Unknown", - "disc_equation_FStar.Reflection.V2.Formula.False_", - "disc_equation_FStar.Reflection.V2.Formula.Forall", - "disc_equation_FStar.Reflection.V2.Formula.Ge", - "disc_equation_FStar.Reflection.V2.Formula.Gt", - "disc_equation_FStar.Reflection.V2.Formula.Iff", - "disc_equation_FStar.Reflection.V2.Formula.Implies", - "disc_equation_FStar.Reflection.V2.Formula.IntLit", - "disc_equation_FStar.Reflection.V2.Formula.Le", - "disc_equation_FStar.Reflection.V2.Formula.Lt", - "disc_equation_FStar.Reflection.V2.Formula.Name", - "disc_equation_FStar.Reflection.V2.Formula.Not", - "disc_equation_FStar.Reflection.V2.Formula.Or", - "disc_equation_FStar.Reflection.V2.Formula.True_", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.V2.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.V2.Formula.formula", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Reflection.V2.Formula.BoolEq__0", - "proj_equation_FStar.Reflection.V2.Formula.Comp__0", - "proj_equation_FStar.Reflection.V2.Formula.Eq__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_bb431a0b8a7caa6cf69b36c2e697f27d", - "typing_FStar.Reflection.V2.Formula.__proj__Comp__item___0", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "dbb12462ab4be35a55727183565c8c0e" - ], - [ - "FStar.Reflection.V2.Formula.formula_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Reflection.V2.Formula.And", - "disc_equation_FStar.Reflection.V2.Formula.App", - "disc_equation_FStar.Reflection.V2.Formula.BoolEq", - "disc_equation_FStar.Reflection.V2.Formula.Comp", - "disc_equation_FStar.Reflection.V2.Formula.Eq", - "disc_equation_FStar.Reflection.V2.Formula.Exists", - "disc_equation_FStar.Reflection.V2.Formula.FV", - "disc_equation_FStar.Reflection.V2.Formula.F_Unknown", - "disc_equation_FStar.Reflection.V2.Formula.False_", - "disc_equation_FStar.Reflection.V2.Formula.Forall", - "disc_equation_FStar.Reflection.V2.Formula.Ge", - "disc_equation_FStar.Reflection.V2.Formula.Gt", - "disc_equation_FStar.Reflection.V2.Formula.Iff", - "disc_equation_FStar.Reflection.V2.Formula.Implies", - "disc_equation_FStar.Reflection.V2.Formula.IntLit", - "disc_equation_FStar.Reflection.V2.Formula.Le", - "disc_equation_FStar.Reflection.V2.Formula.Lt", - "disc_equation_FStar.Reflection.V2.Formula.Name", - "disc_equation_FStar.Reflection.V2.Formula.Not", - "disc_equation_FStar.Reflection.V2.Formula.Or", - "disc_equation_FStar.Reflection.V2.Formula.True_", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Reflection.V2.Formula.comparison", - "fuel_guarded_inversion_FStar.Reflection.V2.Formula.formula", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Reflection.V2.Formula.Comp__0", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_bb431a0b8a7caa6cf69b36c2e697f27d", - "typing_FStar.Reflection.V2.Formula.__proj__Comp__item___0", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "0b3c89a10c4c46f8aa9e78f689b24bcd" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.V2.fst.hints b/ulib/.hints/FStar.Reflection.V2.fst.hints deleted file mode 100644 index e804194001a..00000000000 --- a/ulib/.hints/FStar.Reflection.V2.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "~\u0011ýW\\ci;À~§NŠûzr", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Reflection.fst.hints b/ulib/.hints/FStar.Reflection.fst.hints deleted file mode 100644 index c0e9746895f..00000000000 --- a/ulib/.hints/FStar.Reflection.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Î¥ŒÚwA Š·Û-¬uw{4", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.ReflexiveTransitiveClosure.fst.hints b/ulib/.hints/FStar.ReflexiveTransitiveClosure.fst.hints deleted file mode 100644 index 0bc99ccffe3..00000000000 --- a/ulib/.hints/FStar.ReflexiveTransitiveClosure.fst.hints +++ /dev/null @@ -1,287 +0,0 @@ -[ - "3\b\u0016¼·»é\u0001§Zˈ8o2Š", - [ - [ - "FStar.ReflexiveTransitiveClosure.__proj__Refl__item__x", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_565f37515590049580c96eef602ba10e" - ], - 0, - "dd3ef1952e1af0cf496ee5b8a769c329" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Step__item__x", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" - ], - 0, - "05c438ec3ac07a2cb1c5858c4de6e720" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Step__item__y", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" - ], - 0, - "bb67e3ce72aef4cb6328a992dad3a055" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Step__item___2", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.ReflexiveTransitiveClosure.Step", - "refinement_interpretation_Tm_refine_9a46ad0604fd75a49244a1b7546c3895" - ], - 0, - "5e29ead76e8f8437c85b7a10dc25ee49" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__x", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" - ], - 0, - "a32cb91618ceebd89f4d7e036a25fca6" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__y", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" - ], - 0, - "8346723e4b2f1161d6065c120c975ecf" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Closure__item__z", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" - ], - 0, - "a995c5a50a51f2c09af838f66cb1ece7" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Closure__item___3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.ReflexiveTransitiveClosure.Closure", - "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" - ], - 0, - "47dcbd2026c3a49325145f6930d87f98" - ], - [ - "FStar.ReflexiveTransitiveClosure.__proj__Closure__item___4", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.ReflexiveTransitiveClosure.Closure", - "refinement_interpretation_Tm_refine_62741fd7a534e641c7be743e886031c0" - ], - 0, - "61e9381fd2b700cc854c15455dc6c86d" - ], - [ - "FStar.ReflexiveTransitiveClosure.get_squash", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6c63e0f25f76613bb266e2eb47b9c58" - ], - 0, - "e8459eec667b09e0f5ae2c647ced869c" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_reflexive", - 1, - 0, - 1, - [ - "@query", "equation_FStar.ReflexiveTransitiveClosure.reflexive", - "token_correspondence_FStar.ReflexiveTransitiveClosure._closure0" - ], - 0, - "9a00f82b17a01859d76052bdf06deab3" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_transitive", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ReflexiveTransitiveClosure._closure0", - "equation_FStar.ReflexiveTransitiveClosure.transitive", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.ReflexiveTransitiveClosure._closure0", - "unit_inversion" - ], - 0, - "f73b21db1df588d3d8fed24a84e80ea8" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure", - 1, - 0, - 1, - [ "@query", "equation_FStar.ReflexiveTransitiveClosure.preorder_rel" ], - 0, - "def5dfa2e16aebabac9ac91ac646f66e" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_step", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf" - ], - 0, - "9063fd88f079a1f4a8091e1207015291" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_one_aux", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_c79e71b22aef80601eae8c074d4096e5_6", - "data_elim_FStar.ReflexiveTransitiveClosure.Closure", - "data_elim_FStar.ReflexiveTransitiveClosure.Refl", - "data_elim_FStar.ReflexiveTransitiveClosure.Step", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", - "disc_equation_FStar.ReflexiveTransitiveClosure.Refl", - "disc_equation_FStar.ReflexiveTransitiveClosure.Step", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.ReflexiveTransitiveClosure._closure", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_FStar.ReflexiveTransitiveClosure.Closure" - ], - 0, - "4d825b53502c5f4d127b5b291c7a8e59" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_one_aux'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "5c4e72f3296e85edac05309eea05b8b1" - ], - [ - "FStar.ReflexiveTransitiveClosure.closure_inversion", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9ad0ee561093839b89d4b6e0dbd1c88f" - ], - 0, - "42f8eb4763452d8ea5affbdbeff0d860" - ], - [ - "FStar.ReflexiveTransitiveClosure._stable_on_closure", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_686ea10a6f61f639c1290d0cde918cd8_8", - "binder_x_6e7fc96a744560f79cec6ea94ed6a5f3_9", - "binder_x_9a3e078cc7ef3725cbb1153c1df2ab2a_5", - "data_elim_FStar.ReflexiveTransitiveClosure.Closure", - "data_elim_FStar.ReflexiveTransitiveClosure.Refl", - "data_elim_FStar.ReflexiveTransitiveClosure.Step", - "disc_equation_FStar.ReflexiveTransitiveClosure.Closure", - "disc_equation_FStar.ReflexiveTransitiveClosure.Refl", - "disc_equation_FStar.ReflexiveTransitiveClosure.Step", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.ReflexiveTransitiveClosure._closure", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_d71a4fcb26bd280b7bf5e5fc04ed2911", - "subterm_ordering_FStar.ReflexiveTransitiveClosure.Closure" - ], - 0, - "00ecc6750b43aed5d1c829b2b46b6be0" - ], - [ - "FStar.ReflexiveTransitiveClosure.squash_implies_to_arrow", - 1, - 0, - 1, - [ "@query" ], - 0, - "b3af580bdb1ef3be3b9101d8e826ff40" - ], - [ - "FStar.ReflexiveTransitiveClosure.stable_on_closure", - 1, - 0, - 1, - [ "@query" ], - 0, - "d81b50e09a3252ba6de32afb3be47954" - ], - [ - "FStar.ReflexiveTransitiveClosure.stable_on_closure", - 2, - 0, - 1, - [ "@query" ], - 0, - "2845446c0bc792c333fa5e10c70629c4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ReflexiveTransitiveClosure.fsti.hints b/ulib/.hints/FStar.ReflexiveTransitiveClosure.fsti.hints deleted file mode 100644 index 660af94df40..00000000000 --- a/ulib/.hints/FStar.ReflexiveTransitiveClosure.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ª›ºÒã|\u0000²ŽÂl7'Ký\u0000", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Relational.Comp.fst.hints b/ulib/.hints/FStar.Relational.Comp.fst.hints deleted file mode 100644 index 6cedf57c6d7..00000000000 --- a/ulib/.hints/FStar.Relational.Comp.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "óŽbEW\u001fõúxŽƒ´‰\u0004¶", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Relational.Relational.fst.hints b/ulib/.hints/FStar.Relational.Relational.fst.hints deleted file mode 100644 index 1a33b6f6c62..00000000000 --- a/ulib/.hints/FStar.Relational.Relational.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "÷ÿn\u001bÓcŽ¨ö®ZâÖ“½", - [ - [ - "FStar.Relational.Relational.rel", - 1, - 2, - 1, - [ "@query" ], - 0, - "0d7ae10dbb52c52c73d4d1bc77f33fba" - ], - [ - "FStar.Relational.Relational.tl_rel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_12775a49c16ac0863ce1a5e5a1a8be3f" - ], - 0, - "9c524f3e10dab4b6f07fbaaa5d5d3cfd" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.ST.fst.hints b/ulib/.hints/FStar.ST.fst.hints deleted file mode 100644 index c919d0ae472..00000000000 --- a/ulib/.hints/FStar.ST.fst.hints +++ /dev/null @@ -1,232 +0,0 @@ -[ - "׉ݬӼ½É×\u0005£¶Wý)é", - [ - [ - "FStar.ST.witnessed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_FStar.ST.heap_rel", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.ST.heap_rel", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "7e48defea03e5cff5bc28f01e3c91976" - ], - [ - "FStar.ST.gst_witness", - 1, - 2, - 1, - [ "@query" ], - 0, - "70426a8243e290f5acdcb60065855693" - ], - [ - "FStar.ST.gst_recall", - 1, - 2, - 1, - [ "@query" ], - 0, - "ba0ae71ba671ec3babb88767a6129d4a" - ], - [ - "FStar.ST.lemma_functoriality", - 1, - 2, - 1, - [ "@query" ], - 0, - "e7a439c78f8bf47c48588dbd4085b743" - ], - [ - "FStar.ST.lemma_functoriality", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_FStar.ST.heap_rel", - "function_token_typing_FStar.ST.witnessed", - "interpretation_Tm_abs_c4bc018760a01bef7a8699295d0f05d5", - "refinement_interpretation_Tm_refine_46f79a109844c565b519eb131b47264a", - "refinement_interpretation_Tm_refine_59aed5e77272a1738c2d4c2ecd382404", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_FStar.ST.heap_rel", - "typing_FStar.Monotonic.Heap.sel" - ], - 0, - "82bc277172ca4901c2f1d528a1a20b18" - ], - [ - "FStar.ST.lemma_functoriality", - 3, - 2, - 1, - [ "@query" ], - 0, - "b73554d5c31b4fdbb6e13d8c7fe0d512" - ], - [ - "FStar.ST.mref", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ST.contains_pred", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.stable", - "token_correspondence_FStar.ST.contains_pred" - ], - 0, - "ae9fc311ecd7b35d6192785f06c4a05e" - ], - [ - "FStar.ST.recall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ST.contains_pred", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.ST.contains_pred" - ], - 0, - "a6d872c1cc71090b4461a7ea8cb1e210" - ], - [ - "FStar.ST.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.Heap.lemma_alloc", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.ST.contains_pred", - "typing_FStar.Monotonic.Heap.sel", "typing_Prims.int" - ], - 0, - "5e663d41098cba0378cac0c5ac0d9a82" - ], - [ - "FStar.ST.read", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.ST.contains_pred", - "equation_FStar.ST.heap_rel", "equation_FStar.ST.mref", - "equation_FStar.ST.stable", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.ST.contains_pred" - ], - 0, - "b5330b35b16b0c1485f2e066d6fa6b4d" - ], - [ - "FStar.ST.write", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.ST.contains_pred", "equation_FStar.ST.heap_rel", - "equation_FStar.ST.mref", "equation_FStar.ST.stable", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_87a53fdd47ca86fd63a6af797c1e42d4", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_e33ef751d600ad1c7f71142479103c47", - "token_correspondence_FStar.ST.contains_pred", - "typing_FStar.Monotonic.Heap.sel", "typing_Prims.int", "unit_typing" - ], - 0, - "1398db17e4d8432461bc0190c5fb117a" - ], - [ - "FStar.ST.get", - 1, - 2, - 1, - [ "@query" ], - 0, - "bab90591f8c3f17fc168cfc60bdf7013" - ], - [ - "FStar.ST.op_Colon_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9ac586bc4b85971a29a0c0c9a56a9ec7" - ], - [ - "FStar.ST.modifies_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a45da62bbb96ccc126b27cfedc26b199" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sealed.Inhabited.fst.hints b/ulib/.hints/FStar.Sealed.Inhabited.fst.hints deleted file mode 100644 index d27047384cc..00000000000 --- a/ulib/.hints/FStar.Sealed.Inhabited.fst.hints +++ /dev/null @@ -1,25 +0,0 @@ -[ - "\u0019ô¸¹®&`¬\u0014Ž5¬3óR", - [ - [ - "FStar.Sealed.Inhabited.seal", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sealed.Inhabited.is_sealed", "true_interp" - ], - 0, - "29be5aebf3b117672b8d5955ac201bc9" - ], - [ - "FStar.Sealed.Inhabited.sealed_singleton", - 1, - 2, - 1, - [ "@query" ], - 0, - "5486c10af582765120374607cbb19a88" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sealed.fsti.hints b/ulib/.hints/FStar.Sealed.fsti.hints deleted file mode 100644 index 54de5d489f0..00000000000 --- a/ulib/.hints/FStar.Sealed.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‹Ý†[³È⤅Ò\"e\u0004\u0012Û$", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Base.fst.hints b/ulib/.hints/FStar.Seq.Base.fst.hints deleted file mode 100644 index db26050cc2f..00000000000 --- a/ulib/.hints/FStar.Seq.Base.fst.hints +++ /dev/null @@ -1,1867 +0,0 @@ -[ - "Ãv\u001bœÛE\fnuÑÝ|:u¤X", - [ - [ - "FStar.Seq.Base.seq", - 1, - 2, - 1, - [ "@query", "assumption_Prims.list__uu___haseq" ], - 0, - "46fc3560715a7d33ad83a5aafc92b55f" - ], - [ - "FStar.Seq.Base.seq_to_list", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Seq.Base.length", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "a2beec1705e2474864de2b77074b7a95" - ], - [ - "FStar.Seq.Base.seq_of_list", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Seq.Base.length", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "00d1e3d263585da8c7afddff7d519b9e" - ], - [ - "FStar.Seq.Base.index", - 1, - 2, - 1, - [ "@query", "equation_FStar.Seq.Base.length" ], - 0, - "2c95fa25c61f58bc3fd0707dbafb3551" - ], - [ - "FStar.Seq.Base.hd", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Seq.Base.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l" - ], - 0, - "ef449bfd3856d12f7c478f6b1ab2f0b9" - ], - [ - "FStar.Seq.Base.tl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "disc_equation_Prims.Cons", - "equation_FStar.Seq.Base.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l" - ], - 0, - "87e8e251f4b52c121f326547e1a91065" - ], - [ - "FStar.Seq.Base.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "6e3110c32f0db4c56de22bb98316bc34" - ], - [ - "FStar.Seq.Base.init_aux'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "951184f20a1350902109a51356e9f34f" - ], - [ - "FStar.Seq.Base.init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ffe4075493b8f7d9deff0b0ac27d4332" - ], - [ - "FStar.Seq.Base.init_aux_ghost'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "well-founded-ordering-on-nat" - ], - 0, - "15e84d40e6bcc30a58e4d7133af0b058" - ], - [ - "FStar.Seq.Base.init_ghost", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4b21e58a03d9c803de881aa1107688bc" - ], - [ - "FStar.Seq.Base.empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.Seq.Base.length", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Nil_a" - ], - 0, - "9281bbd254dfe3f340544de70c511f31" - ], - [ - "FStar.Seq.Base.lemma_empty", - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "data_elim_FStar.Seq.Base.MkSeq", "data_elim_Prims.Cons", - "equation_FStar.Seq.Base.empty", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l" - ], - 0, - "42d879cb7f9cb805a8fde50a7f66c1f0" - ], - [ - "FStar.Seq.Base.upd'", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_9c2db2f328d356a0f28090c15651908a_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.length", - "equation_FStar.Seq.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.tl", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "18484d7020412ffaf781cb08245f4bfe" - ], - [ - "FStar.Seq.Base.slice'", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_41e443f219b2545a74a1ba8b2d5382ba_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Seq.Base.MkSeq", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.length", - "equation_FStar.Seq.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_0b96c9fb144252e5e0a8cf206f803f66", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "a06acada7f00faeb04186a141fd8960d" - ], - [ - "FStar.Seq.Base.lemma_seq_of_seq_to_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Base.seq_of_list", - "equation_FStar.Seq.Base.seq_to_list", - "fuel_guarded_inversion_FStar.Seq.Base.seq" - ], - 0, - "8acc5f32a40842c647f369b29783e529" - ], - [ - "FStar.Seq.Base.lemma_seq_to_seq_of_list", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Seq.Base.seq_of_list", - "equation_FStar.Seq.Base.seq_to_list", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "71d206e2d0b8debeb53bd66a429321be" - ], - [ - "FStar.Seq.Base.lemma_seq_of_list_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "equation_FStar.Seq.Base._cons", "equation_FStar.Seq.Base.append", - "equation_FStar.Seq.Base.op_At_Bar", - "equation_FStar.Seq.Base.seq_of_list", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.create.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.create" - ], - 0, - "a646eafa3e76e48ea75e27c4ad52ec66" - ], - [ - "FStar.Seq.Base.lemma_seq_to_list_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "equation_FStar.Seq.Base._cons", "equation_FStar.Seq.Base.append", - "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Base.seq_to_list", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.create.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "token_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.seq_to_list" - ], - 0, - "e4f1a722321d41e1b7111ad7e70d970d" - ], - [ - "FStar.Seq.Base.lemma_create_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0feeb7270db2d42507d7cca4f11f1ec5" - ], - [ - "FStar.Seq.Base.lemma_create_len", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "equation_FStar.Seq.Base._cons", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.create.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "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", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.create", "well-founded-ordering-on-nat" - ], - 0, - "e3a0fe0509ed8da1cc6e8594d756aa0f" - ], - [ - "FStar.Seq.Base.lemma_create_len", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "793113499ec4dfbf5c1c089c13e07b30" - ], - [ - "FStar.Seq.Base.lemma_init_aux_len'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.init_aux_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.init_aux_.fuel_instrumented", - "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_3f46116cd9c2732e285b219605a0f891", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_5836a3960d080da78425019dd886b536_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.init_aux", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.init_aux_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init_aux", "typing_FStar.Seq.Base.init_aux_", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "0fcfe4609601d779eda5fe386d455516" - ], - [ - "FStar.Seq.Base.lemma_init_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dc7028886f4737483982a869f97a65fa" - ], - [ - "FStar.Seq.Base.lemma_init_len", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", "equation_FStar.Seq.Base.init", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init" - ], - 0, - "2642a1b4bcd026766aa53d6b21c994db" - ], - [ - "FStar.Seq.Base.lemma_init_ghost_aux_len'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "@query", - "FStar.Seq.Base_interpretation_Tm_ghost_arrow_b7c239afcc620812134a759b53cafcc7", - "FStar.Seq.Base_interpretation_Tm_ghost_arrow_f92a4932053f62c111accd0021bd064e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_ead1eac8b46f1e285edce8aa1f50fc73_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.init_aux_ghost", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init_aux_ghost", - "typing_FStar.Seq.Base.init_aux_ghost_", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "b4aa5d612257aa64fc9972d5894a3a7c" - ], - [ - "FStar.Seq.Base.lemma_init_ghost_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e20b8e0139a83d309946d7d7a6fc2ee5" - ], - [ - "FStar.Seq.Base.lemma_init_ghost_len", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Nil", - "equation_FStar.Seq.Base.init_ghost", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init_ghost" - ], - 0, - "59df8671956f867707ce63b9a9a1af96" - ], - [ - "FStar.Seq.Base.lemma_len_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9349c1d2b8f2204cca4f90febf0c1fcb" - ], - [ - "FStar.Seq.Base.lemma_len_upd", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.upd_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.upd_.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_ddaa4e04b3f077b88f47f95ebda320a3_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.length", - "equation_FStar.Seq.Base.tl", "equation_FStar.Seq.Base.upd", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.upd_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "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", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_4633e5987137332d8f0ae0d71dd73938", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Base.upd_", - "well-founded-ordering-on-nat" - ], - 0, - "07082c0de645d0c9f5fde1b59fe64fe0" - ], - [ - "FStar.Seq.Base.lemma_len_upd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f5b07126bd46e36501fa5c50da1ea87e", - "typing_Prims.int" - ], - 0, - "7583f063e2537cfc296f4272b3bc73ab" - ], - [ - "FStar.Seq.Base.lemma_len_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Seq.Base.append", "equation_FStar.Seq.Base.length", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "2277b084316b14770a0076f52e686bd5" - ], - [ - "FStar.Seq.Base.lemma_len_slice'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.slice_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.slice_.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_41e443f219b2545a74a1ba8b2d5382ba_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.length", - "equation_FStar.Seq.Base.slice", "equation_FStar.Seq.Base.tl", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.slice_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0b96c9fb144252e5e0a8cf206f803f66", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "2123baaaa470b8c895884f38009fece8" - ], - [ - "FStar.Seq.Base.lemma_len_slice'", - 2, - 2, - 1, - [ "@query" ], - 0, - "85720af6445361cd897d115b15157984" - ], - [ - "FStar.Seq.Base.lemma_index_create", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "lemma_FStar.Seq.Base.lemma_create_len" - ], - 0, - "f5a8532ebd4bdd19c043d006ce4a026f" - ], - [ - "FStar.Seq.Base.lemma_index_create", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.create.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.create", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "7484782a866116c6e5f5e20c3e493da7" - ], - [ - "FStar.Seq.Base.lemma_index_create", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Seq.Base.create.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.create.fuel_instrumented", - "@query", "lemma_FStar.Seq.Base.lemma_create_len" - ], - 0, - "5ba0a68a163a13854240f1a86bf5d42c" - ], - [ - "FStar.Seq.Base.lemma_index_upd1'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.upd_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.upd_.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_9c2db2f328d356a0f28090c15651908a_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.length", "equation_FStar.Seq.Base.tl", - "equation_FStar.Seq.Base.upd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.upd_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd_", - "well-founded-ordering-on-nat" - ], - 0, - "dc2646a981bc1dc4cd49c5a5276f10cd" - ], - [ - "FStar.Seq.Base.lemma_index_upd1'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f24b1c19f3a0cabb2c23397f9fe4708", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "d4ac0f4a92540cc9c107ac285a97a205" - ], - [ - "FStar.Seq.Base.lemma_index_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "a1f3a41e930bccc29646dc7820635aa7" - ], - [ - "FStar.Seq.Base.lemma_index_upd2'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.upd_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.upd_.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_609aa73d8b5e53e446f4284d32d2b723_5", - "binder_x_9c2db2f328d356a0f28090c15651908a_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.length", "equation_FStar.Seq.Base.tl", - "equation_FStar.Seq.Base.upd", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.upd_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d07e08b1baee35407e54585327b95e0b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd_", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "2bda12615d1781a101ccc1a414ed394e" - ], - [ - "FStar.Seq.Base.lemma_index_upd2'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "5821d61cc5a5741b298678f2bc5d8f25" - ], - [ - "FStar.Seq.Base.lemma_index_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "55154b107c331905f48ec975b64ae54a" - ], - [ - "FStar.Seq.Base.lemma_index_app1'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_9c2db2f328d356a0f28090c15651908a_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.append", - "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "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_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "51c718b677b7c8b5e8ef0d1bc47b6baa" - ], - [ - "FStar.Seq.Base.lemma_index_app1'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "19134494220fda3dd0bdafc696d02ad1" - ], - [ - "FStar.Seq.Base.lemma_index_app1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "0a1e5e5fd45596f06144296661dced38" - ], - [ - "FStar.Seq.Base.lemma_index_app2'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_11c9f70062b4bddfa44607bcc577116f_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.append", - "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_390ece21d455368efd3a2d32c307914b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "4fbb7df4af5cd89bb5066efb095afb31" - ], - [ - "FStar.Seq.Base.lemma_index_app2'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_948c1909eeb0be6d1007ac72dcdd6e6d" - ], - 0, - "55d116b3b822ca8b608e457e5d2150ef" - ], - [ - "FStar.Seq.Base.lemma_index_app2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b" - ], - 0, - "2102441db9ee193a796ec00821b40c31" - ], - [ - "FStar.Seq.Base.lemma_index_slice0'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.slice_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.slice_.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_7c1a361b429218c37720e1ae2bf837be_4", - "binder_x_cb78cac25cf6b965de972a443f7fd1ce_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.hd", "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.length", "equation_FStar.Seq.Base.slice", - "equation_FStar.Seq.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.slice_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_87d1c5a0b5cb22db7f5d66fe790d0026", - "refinement_interpretation_Tm_refine_bed63025d6cde207849aad694c14eba1", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "well-founded-ordering-on-nat" - ], - 0, - "f14a03fcbd96c8aa80e83d2de330b18f" - ], - [ - "FStar.Seq.Base.lemma_index_slice0'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32234ff4338af34e26970510f46abb60", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1" - ], - 0, - "ccfa355ddeb1b8c08a34b6a89b9492b2" - ], - [ - "FStar.Seq.Base.lemma_index_slice'", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.slice_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.slice_.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1cc7ba4d572a328a2d9cfba2ec902602_5", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_9e6dbc7b6915f2bcb886fd3a6a8a3645_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.length", "equation_FStar.Seq.Base.slice", - "equation_FStar.Seq.Base.tl", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.slice_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_4cc945d98f7a32960c259dd9de3df204", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b7ce96903866d7916eb3b6884a268a34", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_e27ae0771cd331b38ef3f217d1952fbe", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "2229e0a436b6652bf5ce382b917860e3" - ], - [ - "FStar.Seq.Base.lemma_index_slice'", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b390d85c298c452f005553ae81b14dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" - ], - 0, - "98e05d58c33b42187bbd72d4f197c9b4" - ], - [ - "FStar.Seq.Base.lemma_index_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" - ], - 0, - "5d654762102b28e79dc32e070a54477d" - ], - [ - "FStar.Seq.Base.hasEq_lemma", - 1, - 2, - 1, - [ "@query", "assumption_FStar.Seq.Base.seq__uu___haseq" ], - 0, - "3d70f202932d4a9852956ede220e6a78" - ], - [ - "FStar.Seq.Base.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3f3f7a821212aeb305bb9e1cafc8d694" - ], - [ - "FStar.Seq.Base.eq_i'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_56daa11ba841b72211bdd5266b96c1c7_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_be8e2b673a831b61cc679300d7e73ed0_2", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6afacefa4f98f2347abc2da829236b83", - "refinement_interpretation_Tm_refine_9ae3772ca42e69e0a0f009fcc10675fa", - "refinement_interpretation_Tm_refine_eac2592eb929cb9b1b66722a8ced63ae", - "typing_FStar.Seq.Base.length", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "7ab27b7becddaef2ccb19370ec31c4f4" - ], - [ - "FStar.Seq.Base.eq_i'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f" - ], - 0, - "ca3447b3466e37553deca9c020e407eb" - ], - [ - "FStar.Seq.Base.eq_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9deafd00e3a6e23c5c66468d260e845" - ], - [ - "FStar.Seq.Base.eq_i", - 2, - 2, - 1, - [ "@query" ], - 0, - "903f061ad950b968e4547d561ea3fcff" - ], - [ - "FStar.Seq.Base.eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.equal", - "equation_FStar.Seq.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5837a85e8e08ddc648b50b3708fd6623", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "57fec5e30712e3d941c0be9ff57d87be" - ], - [ - "FStar.Seq.Base.lemma_eq_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "9029787e4d9c77541e78bded9a4c4597" - ], - [ - "FStar.Seq.Base.lemma_eq_intro", - 2, - 2, - 1, - [ "@query", "equation_FStar.Seq.Base.equal" ], - 0, - "fc119076104ec5f226e6ea5761b170ae" - ], - [ - "FStar.Seq.Base.lemma_eq_refl", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_eq_intro" ], - 0, - "40e84186a52e01f6b6772ae0acd085ac" - ], - [ - "FStar.Seq.Base.lemma_eq_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.equal", - "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.length", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "proj_equation_FStar.Seq.Base.MkSeq_l", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "ea3e2dda28102f6896faa37b889daf38" - ], - [ - "FStar.Seq.Base.append_assoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Seq.Base.append", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "ff704ce3c6b0b1a728d36186dd23eb4f" - ], - [ - "FStar.Seq.Base.append_empty_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Seq.Base.append", "equation_FStar.Seq.Base.empty", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "405cd22ed77d016e2557e86c46dd4706" - ], - [ - "FStar.Seq.Base.append_empty_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Seq.Base.append", "equation_FStar.Seq.Base.empty", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_FStar.Seq.Base.MkSeq_l" - ], - 0, - "45f24bb2f46ee9ff0f3c5c52793d689b" - ], - [ - "FStar.Seq.Base.init_index_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.init_aux_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.init_aux_.fuel_instrumented", - "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_3f46116cd9c2732e285b219605a0f891", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_5836a3960d080da78425019dd886b536_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_BoxInt", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_typing_intro_Prims.Nil@tok", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.index", "equation_FStar.Seq.Base.init_aux", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.init_aux_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_93f4f2357401f9603d52d6771f296afa", - "lemma_FStar.Seq.Base.lemma_init_aux_len", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_0ae5a6a860b0607bf1628cce89bc2702", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_2662bcb742d1bdae1119e4f360d6e9cf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init_aux", "well-founded-ordering-on-nat" - ], - 0, - "c5882908e762871227a66727ae4c4e91" - ], - [ - "FStar.Seq.Base.init_index_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_aux_len", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_776f5cd91476e1fcdab64fa888a36714", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "ba7223f6794b3aa40c89f8da5685e195" - ], - [ - "FStar.Seq.Base.init_index", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_init_len" ], - 0, - "7b2f5c0cdd360112e967f04b7c1df495" - ], - [ - "FStar.Seq.Base.init_index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.init", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dd83838b7d08260c0e5559d3737ba703" - ], - 0, - "3c41d31eb245a77a971300292a772635" - ], - [ - "FStar.Seq.Base.init_index_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "56abc63a1498e66563fba7bd79d73a1c" - ], - [ - "FStar.Seq.Base.init_index_", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "55a3a31087fc24a4c6806cdd043f3127" - ], - [ - "FStar.Seq.Base.init_ghost_index_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "@query", - "FStar.Seq.Base_interpretation_Tm_ghost_arrow_b7c239afcc620812134a759b53cafcc7", - "FStar.Seq.Base_interpretation_Tm_ghost_arrow_f92a4932053f62c111accd0021bd064e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_1e8e92810844635223566aa4424e1f57_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_ead1eac8b46f1e285edce8aa1f50fc73_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base._cons", - "equation_FStar.Seq.Base.index", - "equation_FStar.Seq.Base.init_aux_ghost", - "equation_FStar.Seq.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Base.init_aux_ghost_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Seq.Base.seq", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_031b56b8a89454465b095a68b0a86412", - "lemma_FStar.Seq.Base.lemma_init_ghost_aux_len", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Seq.Base.MkSeq_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Seq.Base.MkSeq_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_0ae5a6a860b0607bf1628cce89bc2702", - "refinement_interpretation_Tm_refine_24e0f7a4ca49aa53202cb61b2d7edc7c", - "refinement_interpretation_Tm_refine_2662bcb742d1bdae1119e4f360d6e9cf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "typing_FStar.Seq.Base.__proj__MkSeq__item__l", - "typing_FStar.Seq.Base.init_aux_ghost", - "well-founded-ordering-on-nat" - ], - 0, - "cdbccb564e301577a047c34a83db7e9a" - ], - [ - "FStar.Seq.Base.init_ghost_index_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Seq.Base.seq", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_ghost_aux_len", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f92c95975d865e498f9241c7fcee4166" - ], - 0, - "12f12544f749789774ad1b07aba4940a" - ], - [ - "FStar.Seq.Base.init_ghost_index", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_init_ghost_len" ], - 0, - "005081328391852df253e9fe281525ff" - ], - [ - "FStar.Seq.Base.init_ghost_index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.init_ghost", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dd83838b7d08260c0e5559d3737ba703" - ], - 0, - "fa9a88919ffe625bf7fd1e209a1d35f8" - ], - [ - "FStar.Seq.Base.init_ghost_index_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", - "equation_Prims.squash", "fuel_guarded_inversion_FStar.Seq.Base.seq", - "int_inversion", "lemma_FStar.Seq.Base.lemma_init_ghost_len", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7ff6c753b2a4d16c573a67a6ac16a1c1" - ], - [ - "FStar.Seq.Base.init_ghost_index_", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "a7e62b55f25222093cc0640a304b91e1" - ], - [ - "FStar.Seq.Base.lemma_equal_instances_implies_equal_types", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Seq.Base.seq" - ], - 0, - "a0cf5c39605e3eabd7b5437f98b813ec" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Base.fsti.hints b/ulib/.hints/FStar.Seq.Base.fsti.hints deleted file mode 100644 index 460350a83df..00000000000 --- a/ulib/.hints/FStar.Seq.Base.fsti.hints +++ /dev/null @@ -1,243 +0,0 @@ -[ - "?O˜l_$øp§S±ÍpŒÌ", - [ - [ - "FStar.Seq.Base.lemma_create_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8e34de202a98f5c41acc5e787e91f961" - ], - [ - "FStar.Seq.Base.lemma_init_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "da2a14adc2504f02dbf16c2f73d221c9" - ], - [ - "FStar.Seq.Base.lemma_init_ghost_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dc476f3dcc2c453dadb263973a4e665e" - ], - [ - "FStar.Seq.Base.lemma_len_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b523b86998af1436d82c34d8662f6775" - ], - [ - "FStar.Seq.Base.lemma_index_create", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_create_len" ], - 0, - "4e850deb4c901aed8a1ce791f6c03e10" - ], - [ - "FStar.Seq.Base.lemma_index_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "8419f1fa8d47cf6623211be97fae656c" - ], - [ - "FStar.Seq.Base.lemma_index_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "bd6fd8980a67b8d45ebf6409b38016fd" - ], - [ - "FStar.Seq.Base.lemma_index_app1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "fa4d1f6f2808295c66084df4c4defb7f" - ], - [ - "FStar.Seq.Base.lemma_index_app2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "typing_FStar.Seq.Base.length" - ], - 0, - "1f239e0e59fa39794511e37ac8fb6dcc" - ], - [ - "FStar.Seq.Base.lemma_index_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "2dd567fc8a02c82c2c601e438b1b9ab9" - ], - [ - "FStar.Seq.Base.eq_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_331c14d442c5ee89a4fce6ea305c920f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b6ddc00607f2289b3738852874adcf8a" - ], - [ - "FStar.Seq.Base.lemma_eq_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "baab6059360aefc580a87d57e3e4d44a" - ], - [ - "FStar.Seq.Base.init_index", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_init_len" ], - 0, - "a16b060347bd7cce3bb470c1235953a2" - ], - [ - "FStar.Seq.Base.init_index_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "703635ffc70ddc8180f55a9d677154a0" - ], - [ - "FStar.Seq.Base.init_ghost_index", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Seq.Base.lemma_init_ghost_len" ], - 0, - "dd9bf6e539753b2c101a24d0168efaba" - ], - [ - "FStar.Seq.Base.init_ghost_index_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "lemma_FStar.Seq.Base.lemma_init_ghost_len", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7ff6c753b2a4d16c573a67a6ac16a1c1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Equiv.fst.hints b/ulib/.hints/FStar.Seq.Equiv.fst.hints deleted file mode 100644 index 4dfc533b20c..00000000000 --- a/ulib/.hints/FStar.Seq.Equiv.fst.hints +++ /dev/null @@ -1,503 +0,0 @@ -[ - "PÌà¨QÊùñhÆ\u0019kjŠ3B", - [ - [ - "FStar.Seq.Equiv.eq_of_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "9f00aa32ddd78cb64bcc82bfffb7320e" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_element_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "0a1a618de43de68a6f2dcedc1c865f37" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_element_equality", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "95ef71521ffd3106cde31316674cec64" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_element_equality", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "ec9ec7fbaff3c8986c6a3fb52f988f34" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_from_element_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "2be334ac149db139ae9742367dc90340" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_from_element_equality", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "l_quant_interp_acdefadf32a82a19bfeb63f31fd3d31e", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "b223e84135e57c25b923e2ce4c9e6285" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_from_element_equality", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "7ce60d316242fc15baab6ca1af6a2d27" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_condition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "dc7e0195a3e4b0f196948cde704fb1a7" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_condition", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "97de45a88815eab5341d1fe7f2919058" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_reflexivity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "2ee1783fc1664867e6969b4d1dd3a1f9" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_symmetry", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "l_or-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "well-founded-ordering-on-nat" - ], - 0, - "e1ace6e9513eb5a50e4ee463859b81fd" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_transitivity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "l_and-interp", "l_or-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_36ac61d10ada4a907997a4f33f2c465f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", "well-founded-ordering-on-nat" - ], - 0, - "2f6af2aea2e25cfadf4a43a52ad03c1f" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_unsnoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" - ], - 0, - "6b751e01af8f2b63e6a96e47c5242214" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_unsnoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Equiv.eq_of_seq.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.seq" - ], - 0, - "66119c852842b7d10baedc5dc4dca90f" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_unsnoc", - 3, - 2, - 1, - [ "@query" ], - 0, - "8b273bed8425edd500eee5a77d9b5627" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Equiv.fsti.hints b/ulib/.hints/FStar.Seq.Equiv.fsti.hints deleted file mode 100644 index b0bc2d25466..00000000000 --- a/ulib/.hints/FStar.Seq.Equiv.fsti.hints +++ /dev/null @@ -1,84 +0,0 @@ -[ - "éK\u0011)mÜôþ‡ó`Î}aàe", - [ - [ - "FStar.Seq.Equiv.eq_of_seq_element_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "ee48c232697e4488147b46f567d8f307" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_from_element_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "0ebe9e05f5b61e0a96933515f3301732" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_condition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_Prims.int" - ], - 0, - "dc7e0195a3e4b0f196948cde704fb1a7" - ], - [ - "FStar.Seq.Equiv.eq_of_seq_unsnoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" - ], - 0, - "731f37a594ffeed244a35d96228fd1f7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Permutation.fst.hints b/ulib/.hints/FStar.Seq.Permutation.fst.hints deleted file mode 100644 index 34b6f127434..00000000000 --- a/ulib/.hints/FStar.Seq.Permutation.fst.hints +++ /dev/null @@ -1,1924 +0,0 @@ -[ - "¾±_ÃYÞøš}ly ü{íù", - [ - [ - "FStar.Seq.Permutation.is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "6f393856997f0a196fe935b50220c0e2" - ], - [ - "FStar.Seq.Permutation.reveal_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "fb9896b831ecc97ff2ac07c7f0b58275" - ], - [ - "FStar.Seq.Permutation.reveal_is_permutation", - 2, - 2, - 1, - [ - "@query", "eq2-interp", "equation_Prims.nat", "l_and-interp", - "l_quant_interp_7974ca01cb450ea459198c760b8236ce", - "l_quant_interp_a1ece2d92ad52cbe15e20b5ea52630a0" - ], - 0, - "9d3a552531de41d462166d2a840b1088" - ], - [ - "FStar.Seq.Permutation.reveal_is_permutation_nopats", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "573eec33fc954ec326e1d6175419265a" - ], - [ - "FStar.Seq.Permutation.split3_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Seq.Base.cons", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length" - ], - 0, - "456642467bf1b6013dc41ccdda10f675" - ], - [ - "FStar.Seq.Permutation.find", - 2, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "8aa30b85bc336b48a0b3ca72c4ee76ce" - ], - [ - "FStar.Seq.Permutation.find", - 3, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "53986fb756e52006e115288d2d05d5b7" - ], - [ - "FStar.Seq.Permutation.find", - 4, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "lemma_FStar.Seq.Properties.cons_index_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_1cf97ec379b57cc461ee056f598dac6d", - "refinement_interpretation_Tm_refine_1f196784d8cd2f35290d17627f839647", - "refinement_interpretation_Tm_refine_216c9c9a9c798fff4582a60984c58917", - "refinement_interpretation_Tm_refine_2eae89de61345f3d415b0cd78eae914e", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6af6a1589b35794545e70cd426c7fb85", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dc4ef9c40268655060741049294e94d0", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq" - ], - 0, - "b239dc4867524cbbed7517c45f216e4d" - ], - [ - "FStar.Seq.Permutation.find", - 5, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "ba99446813e9d841bf8dfcf44930ac76" - ], - [ - "FStar.Seq.Permutation.find", - 6, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "747be4281beefa3cc786eec26170a5d1" - ], - [ - "FStar.Seq.Permutation.find", - 7, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Seq.Properties.tail", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "refinement_interpretation_Tm_refine_1cf97ec379b57cc461ee056f598dac6d", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_8ae9ca77ae34fc96382e35ffb4df074f" - ], - 0, - "063f9d927a729fd06d0c70446d8e1775" - ], - [ - "FStar.Seq.Permutation.find", - 8, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1cf97ec379b57cc461ee056f598dac6d", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6af6a1589b35794545e70cd426c7fb85", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "b6cc81e76cced0de09b0c90b6e986443" - ], - [ - "FStar.Seq.Permutation.find", - 9, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "3282fe12dd5243d9afa85217eb6d4d8c" - ], - [ - "FStar.Seq.Permutation.find", - 10, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_737b552ff62720f1fdb5957e36544351", - "refinement_interpretation_Tm_refine_bc59593dbb42c835d187410056ac1210", - "refinement_interpretation_Tm_refine_ed087ee4aa6ce41eb131c38254c81dfa" - ], - 0, - "b6c80f88396fd926a8f393c931f0682b" - ], - [ - "FStar.Seq.Permutation.find", - 11, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "b1819a5ea7bf57f1cb6f0f3266f40f8e" - ], - [ - "FStar.Seq.Permutation.find", - 12, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "bd34d4688c07e70a89e2121abd383eb7" - ], - [ - "FStar.Seq.Permutation.find", - 13, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Properties.cons_head_tail", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1cf97ec379b57cc461ee056f598dac6d", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6290d00dd77621cf994f3aff9dbfa846", - "typing_FStar.Seq.Base.length" - ], - 0, - "15db980d2fcc6e062e1bf152d8846267" - ], - [ - "FStar.Seq.Permutation.find", - 14, - 2, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Equality", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "64385f5f7392c81d061c6f87bcb00b9e" - ], - [ - "FStar.Seq.Permutation.find", - 15, - 2, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_32e1b9d0d6ddbedeaebd35015d402089_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.prop", - "equation_Prims.subtype_of", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_index_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_1cf97ec379b57cc461ee056f598dac6d", - "refinement_interpretation_Tm_refine_1f196784d8cd2f35290d17627f839647", - "refinement_interpretation_Tm_refine_2a710f984eb96a447c99ca7711320a36", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3920bf7e3bfb7ca0231a6c85bbb297e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6290d00dd77621cf994f3aff9dbfa846", - "refinement_interpretation_Tm_refine_6af6a1589b35794545e70cd426c7fb85", - "refinement_interpretation_Tm_refine_737b552ff62720f1fdb5957e36544351", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8a6f51ca45ae54bf38e22b8c05349191", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bc59593dbb42c835d187410056ac1210", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_ed087ee4aa6ce41eb131c38254c81dfa", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "unit_inversion", "unit_typing" - ], - 0, - "53fd88131e4d240a7601658a72b1a039" - ], - [ - "FStar.Seq.Permutation.introduce_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dbf088cdaa16a231beff6250616ded2", - "refinement_interpretation_Tm_refine_6cfe6c2857f5ce91c82640cae8e94f9c", - "refinement_interpretation_Tm_refine_f5f62be5f35ac33e87811ed860d52b60" - ], - 0, - "0314301bbd6de80a132390da638a0d5b" - ], - [ - "FStar.Seq.Permutation.introduce_is_permutation", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6cfe6c2857f5ce91c82640cae8e94f9c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "6711fdd75138e36044102624fefe33ba" - ], - [ - "FStar.Seq.Permutation.reveal_is_permutation_pats", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "c63fd93d647d3aa6a4364e53c4fa6708" - ], - [ - "FStar.Seq.Permutation.adapt_index_fun", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Seq.Base.length" - ], - 0, - "7e8c172070e68fe6c668553a3183ecf6" - ], - [ - "FStar.Seq.Permutation.count_singleton_one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "32cdd23f06b5fd29d8b60ec9ae13ee60" - ], - [ - "FStar.Seq.Permutation.count_singleton_zero", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Properties.slice_is_empty", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" - ], - 0, - "74bda2806325568c844be697e4317742" - ], - [ - "FStar.Seq.Permutation.equal_counts_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" - ], - 0, - "b0773c6dce8777f21bb2ffe70fc35e1a" - ], - [ - "FStar.Seq.Permutation.count_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.head", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "1eed527a80bc37f4e87c3b91c946468c" - ], - [ - "FStar.Seq.Permutation.permutation_from_equal_counts", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b61b588522b195afd7a9879cd07632d5_2", "bool_inversion", - "bool_typing", "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Permutation.adapt_index_fun", - "equation_FStar.Seq.Permutation.seqperm", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.Seq.Permutation.adapt_index_fun", - "function_token_typing_FStar.Seq.Permutation.permutation_from_equal_counts", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_4cd14a5583b9e399b5adcb3b8cc530f0", - "haseqTm_refine_e9b9a8e21dd93041dbd00ac4504c6cf3", "int_inversion", - "int_typing", - "interpretation_Tm_abs_3087abdbbd45c3f2da7a7cdc4daa7792", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_0eaf2574ac7e0ecc084f097c7606a228", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3c0b44289458a8561dc79b0d716acfa8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_735ae7689cc0ef9896a496de70a2afb9", - "refinement_interpretation_Tm_refine_739ae919a15c5dce278ff1db013aab45", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d8fd94a70949a06dd18ee4f581630d26", - "refinement_interpretation_Tm_refine_e9b9a8e21dd93041dbd00ac4504c6cf3", - "refinement_interpretation_Tm_refine_f975cb83666babb3b941eae221859c03", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.count", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "f9357b918bcff4ce618a61244be93c17" - ], - [ - "FStar.Seq.Permutation.elim_monoid_laws", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6ad4c2517347b74a44d3714ea4a5ea34", - "refinement_interpretation_Tm_refine_8ed62b0c2a8f3ae8876f65cce7faf5eb", - "refinement_interpretation_Tm_refine_e04655f28f8567765ffc120020c45957" - ], - 0, - "841559973de7f4ec210ea6d428b7ffa5" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_unit_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Permutation.foldm_snoc", - "well-founded-ordering-on-nat" - ], - 0, - "ae180db495c96e6d3b84ecfc97c92edf" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_singleton", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.un_snoc" - ], - 0, - "5c6cd2771d2759559b67654c6f57b7dd" - ], - [ - "FStar.Seq.Permutation.x_yz_to_y_xz", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b6600bd8d55b6c8cbdfa30a60d06a10" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_append", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_540339c9d42165ec841331bbaa847921", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_1bfdf5f04ae48ee3c8e7959879ce9dca", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36ac61d10ada4a907997a4f33f2c465f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Permutation.foldm_snoc", - "well-founded-ordering-on-nat" - ], - 0, - "648a858d1ba2dd6b748af9fb90ab7e43" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_sym", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Seq.Permutation.foldm_snoc", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Permutation.foldm_snoc" - ], - 0, - "94f380ebdd3cac6fa8cdc38eaab30877" - ], - [ - "FStar.Seq.Permutation.foldm_snoc3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Permutation.foldm_snoc", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Permutation.foldm_snoc" - ], - 0, - "4426c7c62e4cd9caea2870591855fa68" - ], - [ - "FStar.Seq.Permutation.remove_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "3e2c16b6f551d9016c1338fd15e8c2d4" - ], - [ - "FStar.Seq.Permutation.shift_perm'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Seq.Permutation_interpretation_Tm_arrow_0811d3d56ae5f8c9b27d421e998a934e", - "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.index_fun", - "equation_FStar.Seq.Permutation.remove_i", - "equation_FStar.Seq.Permutation.seqperm", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_739ae919a15c5dce278ff1db013aab45", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa54e15261daa45c8a65548ac5746a6a", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Properties.tail" - ], - 0, - "1a378b94a4bb72943403c87ee3795a40" - ], - [ - "FStar.Seq.Permutation.shift_perm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Seq.Permutation.seqperm", "equation_Prims.nat", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_739ae919a15c5dce278ff1db013aab45", - "refinement_interpretation_Tm_refine_aa54e15261daa45c8a65548ac5746a6a", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "e6676fbc5f5a419619701f1760e79a85" - ], - [ - "FStar.Seq.Permutation.seqperm_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Permutation.seqperm", - "refinement_interpretation_Tm_refine_739ae919a15c5dce278ff1db013aab45" - ], - 0, - "f8be1bceea0e4ff088e7c13e04e06e51" - ], - [ - "FStar.Seq.Permutation.eq2_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "d2de7ff250eff40f29b870f1d88b4ab2" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_perm", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_540339c9d42165ec841331bbaa847921", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Permutation.remove_i", - "equation_FStar.Seq.Permutation.seqperm", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1f049797993ebab6f24d719624ad8bcd", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_739ae919a15c5dce278ff1db013aab45", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "well-founded-ordering-on-nat" - ], - 0, - "084fe6d193fb31999680c859369d054f" - ], - [ - "FStar.Seq.Permutation.init_func_from_expr", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "de72f740cb6e953695520df9cbaa55ad" - ], - [ - "FStar.Seq.Permutation.cm_associativity", - 1, - 2, - 1, - [ "@query" ], - 0, - "886549ec5e363bfff3250c09d7ae7cb6" - ], - [ - "FStar.Seq.Permutation.cm_commutativity", - 1, - 2, - 1, - [ "@query" ], - 0, - "57ac46c7d7a0642ee3077b4b8de9c164" - ], - [ - "FStar.Seq.Permutation.fold_decomposition_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Permutation_interpretation_Tm_arrow_442f176c397b9e8259a9271ba64d77e3", - "FStar.Seq.Permutation_interpretation_Tm_arrow_d41e8e23f9d84f3072c993af33001145", - "FStar.Seq.Permutation_interpretation_Tm_arrow_e32073ceb5b5ec44c6dde5ece85b1df5", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.interval_type", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Permutation.func_sum", - "equation_FStar.Seq.Permutation.init_func_from_expr", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Seq.Permutation.init_func_from_expr", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_5dda894acfe98e2383b06c703c857c65", - "interpretation_Tm_abs_e10c0c90d99d2a911405c8122e782ed0", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_20b7381ed50fafb67b7b306d8eb53a44", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_3c4167b507ffe04135b47025f765c8a4", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c35f694609733148eaf0d00528cf556e", - "refinement_interpretation_Tm_refine_ccca5f91040f12ee7ed29f269126342d", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Seq.Permutation.init_func_from_expr", - "token_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.closed_interval_size", - "typing_FStar.IntegerIntervals.ifrom_ito", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.init", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_FStar.Seq.Permutation.func_sum", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_b3208819a2b01ef4183c0f762a1088fa" - ], - 0, - "181edb23d077dd7ace30ff91938e8abf" - ], - [ - "FStar.Seq.Permutation.aux_shuffle_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult" - ], - 0, - "2fd202dffe17573c176cfc5ff0afde5c" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split'", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_540339c9d42165ec841331bbaa847921", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Permutation_interpretation_Tm_arrow_60656de9a5bc42352d608af673e1a3e9", - "FStar.Seq.Permutation_interpretation_Tm_arrow_75b0350bde6f6ce9778608fc7d59ac98", - "FStar.Seq.Permutation_interpretation_Tm_arrow_7e9c8688d2daa31ebffbccf539a6daab", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ba307904070a147e96aa959822fa976c", - "FStar.Seq.Permutation_interpretation_Tm_arrow_e09e92c2b97911c4d3a5bf8253182bdb", - "FStar.Seq.Permutation_interpretation_Tm_arrow_e32073ceb5b5ec44c6dde5ece85b1df5", - "FStar.Seq.Permutation_interpretation_Tm_arrow_ef77b31984da8a7c57d57134fa0c17e7", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_64adf08d2b2db30b4ad332da089b0fde_5", - "binder_x_6e68e21135f969c6162d82802c49e4a2_6", - "binder_x_6e68e21135f969c6162d82802c49e4a2_7", - "binder_x_ae567c2fb75be05905677af440075565_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Permutation.func_sum", - "equation_FStar.Seq.Permutation.init_func_from_expr", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_FStar.Seq.Permutation.init_func_from_expr", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b3208819a2b01ef4183c0f762a1088fa", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_52faba732a2dd727d9c7ffd1ac5b283b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c71adce46ae6a01e530fbc82ab88ec7e", - "refinement_interpretation_Tm_refine_c7f6cc20c7234c7771f990b903752794", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "token_correspondence_FStar.Seq.Permutation.init_func_from_expr", - "token_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.closed_interval_size", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_FStar.Seq.Properties.un_snoc", "well-founded-ordering-on-nat" - ], - 0, - "577985b65933d9c31c29394990dff747" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split'", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "a913f87348a9352d7eca3b83be64df30" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "15886ca36075df7945a40398f5203325" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "71892c09f70ceb8d5b9c3844e58c425c" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_equality", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2c34f9158f460e99317a58f3bbdf2ee2", - "refinement_interpretation_Tm_refine_36ac61d10ada4a907997a4f33f2c465f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "b6e1e4c80918a5ae627fa05f6c944372" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "2e2e437cc8cb651095573530fc4445b4" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split_seq", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Permutation_interpretation_Tm_arrow_6beca74a356f973dd4bc8fdf103a1ee2", - "FStar.Seq.Permutation_interpretation_Tm_arrow_b5278c18f70df2ca3452308b7bb17de9", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "bool_typing", "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.interval_type", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Permutation.func_sum", - "equation_FStar.Seq.Permutation.init_func_from_expr", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_57b672bd15167f17552c0ad6e8194bd7", - "interpretation_Tm_abs_b3208819a2b01ef4183c0f762a1088fa", - "interpretation_Tm_abs_ca0ac71d87dd1be62ba23470d5680a7f", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_init_len", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_3c4167b507ffe04135b47025f765c8a4", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c35f694609733148eaf0d00528cf556e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Seq.Permutation.init_func_from_expr", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.IntegerIntervals.closed_interval_size", - "typing_FStar.IntegerIntervals.ifrom_ito", - "typing_FStar.IntegerIntervals.interval_condition", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Permutation.foldm_snoc", - "typing_FStar.Seq.Permutation.func_sum", - "typing_Tm_abs_b3208819a2b01ef4183c0f762a1088fa" - ], - 0, - "c83a466993cd355ae94d1de5843cf582" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split_seq", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "ea29b4365a64b8595b5a6a6b0415642d" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_of_equal_inits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d84a1d68cec77853c829e6a836f25965" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_of_equal_inits", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Permutation_interpretation_Tm_arrow_15dbdb37c69d6a3c848d824c81762fa9", - "FStar.Seq.Permutation_interpretation_Tm_arrow_2c1b0966c996ba3a0602ff4bf1d748b4", - "FStar.Seq.Permutation_interpretation_Tm_arrow_5dd3604d13b9b49933aba0bdb2540297", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_39288767bd645baaad3cfe226f55ca24_4", - "binder_x_90f184cf95fddc018003db54c0edaa55_5", - "binder_x_90f184cf95fddc018003db54c0edaa55_6", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9f7c8bef9b3f079c53e2ed4425c695bf", - "interpretation_Tm_abs_f1e2db3a0915f1fb0ae4e0438cdeabd0", - "l_quant_interp_12c0576456cbcd091f01a97554ab1a79", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_16326afaeb5f4d93ab294cc4a965de3e", - "refinement_interpretation_Tm_refine_17eb097d2c3efe92d2d3345771653fe0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_45ba78c6242b97163b42355c73dc4439", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7f306c585dac77352609288acdd05c6f", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19", - "token_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.un_snoc", - "typing_Tm_abs_9f7c8bef9b3f079c53e2ed4425c695bf", - "typing_Tm_abs_f1e2db3a0915f1fb0ae4e0438cdeabd0", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "0b62373353d3e16e50d740f2280f2564" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_of_equal_inits", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4da1c1d9a273bb5a05109a1919ed3f14" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_decomposition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.un_snoc", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit" - ], - 0, - "8da82e9028d0d24a9e34a72743d9ef54" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Permutation.fsti.hints b/ulib/.hints/FStar.Seq.Permutation.fsti.hints deleted file mode 100644 index 93cd3fc85f7..00000000000 --- a/ulib/.hints/FStar.Seq.Permutation.fsti.hints +++ /dev/null @@ -1,143 +0,0 @@ -[ - "zqã‘Øï®è²?³÷êñC", - [ - [ - "FStar.Seq.Permutation.reveal_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f1b2cd79d3149fd8626ce723dde8f1c9", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_Prims.int" - ], - 0, - "8b499a5c73660f713edeed622a8871d1" - ], - [ - "FStar.Seq.Permutation.init_func_from_expr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.closed_interval_size", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.ifrom_ito", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.interval_size", - "equation_FStar.IntegerIntervals.not_less_than", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "586ed46ae748e321d568329918aa5dd7" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.greater_than", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.not_less_than", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25948cf2cb84e8edfffe30eaf3d63408" - ], - 0, - "022379d9330d1605575b626d86f290b0" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_split_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_FStar.IntegerIntervals.under", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3bc3f730e8c3d9f6df5ab23aa86e1d6e", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_fcf1a3596fffd49dd2e91f2678358f19" - ], - 0, - "b595f291a1cc27956bde0c83265ddb27" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_of_equal_inits", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.IntegerIntervals.interval_condition", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e28585061adb58deb6729a2ae79c455d" - ], - [ - "FStar.Seq.Permutation.foldm_snoc_decomposition", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid.Equiv_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.List.Tot.Base_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.Equiv.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Permutation.foldm_snoc", - "equation_FStar.Seq.Properties.un_snoc", - "equation_with_fuel_FStar.Seq.Properties.foldr_snoc.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.Equiv.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "token_correspondence_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.Equiv.__proj__CM__item__unit" - ], - 0, - "e34760e4cf2573a6a65482056171d73f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Properties.fst.hints b/ulib/.hints/FStar.Seq.Properties.fst.hints deleted file mode 100644 index 54ea2f881e2..00000000000 --- a/ulib/.hints/FStar.Seq.Properties.fst.hints +++ /dev/null @@ -1,5489 +0,0 @@ -[ - "›:/\u0005ó\u000f\u0012rÙ½†u\"Öó´", - [ - [ - "FStar.Seq.Properties.lemma_append_inj_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c", - "typing_Prims.int" - ], - 0, - "47fc89f447270aff2aab91f4e929e131" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "e43fd56cc2b63434aa23616a014d675c" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_l", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1b9826f0d62c9776384b03f96d9e6f71" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac", - "typing_Prims.int" - ], - 0, - "392e9be049f1abbeaf3b1c59091d0a0e" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_r", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac", - "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "773a2acf6526148e1b566873a0ba0c37" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_r", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3868f8d2a8304835bd9d382daac58eb3" - ], - [ - "FStar.Seq.Properties.lemma_append_len_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "21e769f7843d01f2c23a8ae927a2ff80" - ], - [ - "FStar.Seq.Properties.lemma_append_len_disj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_46632c5026c3eb601c1190d537e20a9b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "ef0a9b4af1bd63f893eb51c9b65b201d" - ], - [ - "FStar.Seq.Properties.lemma_append_len_disj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "be31efbf7d6b1ca1fdf50754f64ed115" - ], - [ - "FStar.Seq.Properties.lemma_append_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5980ddd7262ebb270a37483eaec4ba12" - ], - [ - "FStar.Seq.Properties.lemma_append_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_4d9c92860015ea426c4f6ed9b5e23b20" - ], - 0, - "8a310c922af5433606914f30b4c6fefb" - ], - [ - "FStar.Seq.Properties.lemma_append_inj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "be31efbf7d6b1ca1fdf50754f64ed115" - ], - [ - "FStar.Seq.Properties.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c" - ], - 0, - "1151a46b597ea6b83f143383edcbc9c7" - ], - [ - "FStar.Seq.Properties.tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "e0649ba1729f4282b1b7798427eee583" - ], - [ - "FStar.Seq.Properties.lemma_head_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "2ff63c2493e4dfccde1530faa7a49b56" - ], - [ - "FStar.Seq.Properties.lemma_head_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_app1", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "643322a4d9e4903bd635709c40438d79" - ], - [ - "FStar.Seq.Properties.lemma_tail_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "09d7d1ab30c7de93d144501a5fffb37e" - ], - [ - "FStar.Seq.Properties.lemma_tail_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "43346e6e28c9b4799ff3a1fdfd0e214f" - ], - [ - "FStar.Seq.Properties.last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "d5cdc441298f7e47c1b6ace5311eaa8d" - ], - [ - "FStar.Seq.Properties.lemma_cons_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.cons", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "e83a95d2042c20f9589f463300e823b9" - ], - [ - "FStar.Seq.Properties.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "bb66fab83f8ca1d06fe8bdc471192f85" - ], - [ - "FStar.Seq.Properties.lemma_split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "9d1e861959f05a090e3207b65ed85b73" - ], - [ - "FStar.Seq.Properties.split_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "bcd7fe1075cf17d46225ce30c11b78fb" - ], - [ - "FStar.Seq.Properties.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "72318dce0b038601f995265541d9d12d" - ], - [ - "FStar.Seq.Properties.mem_index'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2024f3d60f1e162e9f0d26c9d17144c9", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_45eadf33ba18c65afb51aeb4ef24fd23", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "5298b041d8215b90044315514fcaadb9" - ], - [ - "FStar.Seq.Properties.index_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "well-founded-ordering-on-nat" - ], - 0, - "34bcba4281b3e3b3d75942841e921a6f" - ], - [ - "FStar.Seq.Properties.index_mem", - 2, - 2, - 1, - [ "@query" ], - 0, - "0a1d984f69d30cb8c37afa9d38c71ddf" - ], - [ - "FStar.Seq.Properties.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index" - ], - 0, - "8d2811dc89de581fdb990422c413de9d" - ], - [ - "FStar.Seq.Properties.lemma_slice_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_422b9532c2df78e1e3319ee46753029a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "8a51edfcf65e3ef4a4bf1e15e821267f" - ], - [ - "FStar.Seq.Properties.lemma_slice_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_422b9532c2df78e1e3319ee46753029a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "b8dbd458486ffc38e057f1c5c32a1900" - ], - [ - "FStar.Seq.Properties.lemma_slice_first_in_append'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_cb78cac25cf6b965de972a443f7fd1ce_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bed63025d6cde207849aad694c14eba1", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "well-founded-ordering-on-nat" - ], - 0, - "a5a2196e2185b459c9bba0892f30db79" - ], - [ - "FStar.Seq.Properties.lemma_slice_first_in_append'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f3f3552c7f219030ebdde95d60e34e6e", - "typing_FStar.Seq.Base.length" - ], - 0, - "2a0f4e614800cdcc5011fadf1f11d53f" - ], - [ - "FStar.Seq.Properties.lemma_slice_first_in_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "b4c7b930212d27ab8a7bab3d1523f83c" - ], - [ - "FStar.Seq.Properties.slice_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "c6b8772f1b3b83af7ed04f208f2df9cd" - ], - [ - "FStar.Seq.Properties.slice_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b3735f2511ac92b4f5637c9c9205322b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.upd" - ], - 0, - "08d1fa415fa8f9d491ef6e4c50b9c18f" - ], - [ - "FStar.Seq.Properties.upd_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Prims.nat", "equation_Prims.squash", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "ad6bf43cf89665971f10e029c0291770" - ], - [ - "FStar.Seq.Properties.upd_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_95b70baea5b9035ca6399c5c73c58fd4", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length" - ], - 0, - "40ee2f3c37ffcbe00c2be1cb234f099b" - ], - [ - "FStar.Seq.Properties.lemma_append_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "917fb7b2fb27f04551afa265edd26f81" - ], - [ - "FStar.Seq.Properties.lemma_tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "968a8f78209a97446fdc4cb83235329b" - ], - [ - "FStar.Seq.Properties.lemma_tl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail" - ], - 0, - "37fc7ac61c6e99f1cdaf3befe6e04ec7" - ], - [ - "FStar.Seq.Properties.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "96158e72a8f871ff8c96ef204281384d" - ], - [ - "FStar.Seq.Properties.sorted_feq'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Seq.Properties_interpretation_Tm_arrow_dbca5ce6005b0ac91f57abd165fa98a0", - "binder_x_efcefbc9baa34bb860680c61a11922cb_2", - "binder_x_efcefbc9baa34bb860680c61a11922cb_3", - "binder_x_fca1d14d39489ed7a9277a4033583083_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_edeadb26274144c3d62e451dcd3654e1", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.sorted", "well-founded-ordering-on-nat" - ], - 0, - "8890ca4b574c990e0bb990f14b2ef777" - ], - [ - "FStar.Seq.Properties.lemma_append_count'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.count", - "well-founded-ordering-on-nat" - ], - 0, - "5fc77829c89dc4ada0cf97931d8b87d0" - ], - [ - "FStar.Seq.Properties.lemma_append_count_aux", - 1, - 2, - 1, - [ "@query" ], - 0, - "90cd6f3e5aeef9735ff210fcde9e5140" - ], - [ - "FStar.Seq.Properties.lemma_mem_inversion", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "bool_typing", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" - ], - 0, - "0b965901c1d9c89460c4cfc672974092" - ], - [ - "FStar.Seq.Properties.lemma_mem_count'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b30313af1883fa3dac9793c844f68f3f_2", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "l_quant_interp_1f69c6dc9f73a0b28e18f45978f189a3", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d8fd94a70949a06dd18ee4f581630d26", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "well-founded-ordering-on-nat" - ], - 0, - "42b2d6ea2bf98553be44a587e2fbaf83" - ], - [ - "FStar.Seq.Properties.lemma_count_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "48216286c7dbb45c98aaf9151ff77b48" - ], - [ - "FStar.Seq.Properties.lemma_count_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "e6dbfc1724b03502c8c42565969996da" - ], - [ - "FStar.Seq.Properties.sorted_concat_lemma'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.Seq.Properties_interpretation_Tm_arrow_d48383cd05cdf3cc99008ea5dbf37931", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_3472224b70f46a6b032f84b592851558_2", - "binder_x_3472224b70f46a6b032f84b592851558_4", - "binder_x_5acdf52b9b8ff0c2493fd6f1c19a9c80_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7945a5fb13c7ba499c9a3a023b23db9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_894563baba96fd7fd1ee94e9295825ae", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.sorted", - "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" - ], - 0, - "9f7ab69a34b34342a43a147dc9bac27a" - ], - [ - "FStar.Seq.Properties.split_5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", - "typing_FStar.Seq.Base.length" - ], - 0, - "994265ecbcdc1f36cc6154c91b97ee89" - ], - [ - "FStar.Seq.Properties.split_5", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq" - ], - 0, - "bffd3d80c4e5df292b108a40a6233433" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "ceebd2582f8de73fa36e43318ee63555" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_44d9cc1f24a6a9e925aecbf24f9ce8ca", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "ba5f6fffe24c1cf0eae6b9465fbfd6ee" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_Prims.int" - ], - 0, - "bdfdf74d2d623e04ebf6d6d69f79086d" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__4", - "projection_inverse_FStar.Pervasives.Native.Mktuple5__5", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd", "typing_Prims.int" - ], - 0, - "799f06df6fbeecf12af040197ed02cd0" - ], - [ - "FStar.Seq.Properties.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "35bd5112d1d9e60c425c53aa05f99837" - ], - [ - "FStar.Seq.Properties.append_permutations", - 1, - 2, - 1, - [ "@query", "equation_FStar.Seq.Properties.permutation" ], - 0, - "1a9485fbf8670c4a7575ae636c439c54" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bef192ac69081ce8cad3c2a46580704d" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.permutation", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_Prims.int" - ], - 0, - "7fd34cdda610990d6c84f80596fbcaea" - ], - [ - "FStar.Seq.Properties.perm_len'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.index_mem.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.split_eq", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.index_mem.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7c92df3cf71635bc41483532e738d828", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "token_correspondence_FStar.Seq.Properties.index_mem.fuel_instrumented", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.tail", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "bce126473c87536142eb4f15606a746b" - ], - [ - "FStar.Seq.Properties.cons_perm", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "95b6d94e71f67021a65adbba9c797edc" - ], - [ - "FStar.Seq.Properties.lemma_mem_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "equation_FStar.Seq.Properties.mem", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Properties.count" - ], - 0, - "4c81f35f80e48baf9d6034aeb98b9390" - ], - [ - "FStar.Seq.Properties.lemma_slice_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "b020db7ec49382177d2d533f707c40fc" - ], - [ - "FStar.Seq.Properties.lemma_slice_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" - ], - 0, - "abccdc7907f29c36062a734f0fe94044" - ], - [ - "FStar.Seq.Properties.lemma_slice_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "typing_FStar.Seq.Base.length" - ], - 0, - "6b7210b499abde6df8a3eb1b0fc0d7c8" - ], - [ - "FStar.Seq.Properties.lemma_slice_snoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "d54923d8b07dbe1af11a56f51f54597f" - ], - [ - "FStar.Seq.Properties.lemma_ordering_lo_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.length" - ], - 0, - "19e8e06d42597d95d331a594faa05379" - ], - [ - "FStar.Seq.Properties.lemma_ordering_lo_snoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "9314097b829e6c1bc53f37efadfdc455" - ], - [ - "FStar.Seq.Properties.lemma_ordering_hi_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "6512abc7a1bc758520a4a71940911e83" - ], - [ - "FStar.Seq.Properties.lemma_ordering_hi_cons", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "f6996b4429622c480a1419352f4394c6" - ], - [ - "FStar.Seq.Properties.swap_frame_lo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "61ea2586089117b7304b45301d712cf8" - ], - [ - "FStar.Seq.Properties.swap_frame_lo", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "2fcd1df401afb36de4b124bfb3b8b1fb" - ], - [ - "FStar.Seq.Properties.swap_frame_lo'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "a278ac5f18acc02de2c11d564de5c56f" - ], - [ - "FStar.Seq.Properties.swap_frame_lo'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "5c9223861337b3c4c558e7a58896ad13" - ], - [ - "FStar.Seq.Properties.swap_frame_hi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "5ba16941fdab1d94b3305169551f77bf" - ], - [ - "FStar.Seq.Properties.swap_frame_hi", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "b8e01778306e65890c75cbfdb379794f" - ], - [ - "FStar.Seq.Properties.lemma_swap_slice_commute", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "95e8563ebe3e64eb9391d7b76383595e" - ], - [ - "FStar.Seq.Properties.lemma_swap_slice_commute", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.upd_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0fd1ee098f6569eb754a703d7e7e9875", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "fc830bd3df7ce75b48887f22405531f4" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "469e152053464178eff8ddffb3d8321a" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "cf88344a482b3d12e51c549436b602a2" - ], - [ - "FStar.Seq.Properties.splice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" - ], - 0, - "82963c710abbc1d08871c1df11820fe2" - ], - [ - "FStar.Seq.Properties.splice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "57c077a3ef0660af0e6d48a018322d6a" - ], - [ - "FStar.Seq.Properties.replace_subseq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "4b077368dc355bcfd656c57a0dac5af4" - ], - [ - "FStar.Seq.Properties.splice_refl", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "fcb309f2d2f633c42e76e4e38fcab4fd" - ], - [ - "FStar.Seq.Properties.splice_refl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "79bceb711244a93df992980f0dc52855" - ], - [ - "FStar.Seq.Properties.lemma_swap_splice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "c77e9858ff43e440a6b88f4d622e3148" - ], - [ - "FStar.Seq.Properties.lemma_swap_splice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.splice", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd" - ], - 0, - "a3cce3a766d29cc461981f1859efae85" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_hi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "typing_Prims.int" - ], - 0, - "67dbde248495be961f4582e8ad3d84f1" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_hi", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "0ece46d1fb05d0e45da48736fb6b7e3c" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_hi", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f23575c6d998395bf3a3bd1b95ccfa85" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_lo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "typing_Prims.int" - ], - 0, - "b47b214259e32069d20b81bd383defb8" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_lo", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "2a55ee2d862b65612f653fd15ed1163e" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_lo", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f23575c6d998395bf3a3bd1b95ccfa85" - ], - [ - "FStar.Seq.Properties.lemma_tail_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "e7f825c8b86f8c7b5d9dd731edd363e9" - ], - [ - "FStar.Seq.Properties.lemma_tail_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "4770c2a6ed58429771f70773a5f72c2c" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "typing_Prims.int" - ], - 0, - "e146a1e5095ec2fc4d8a75012fbc48af" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_right", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "4182b394d68726964250e9b929be9b4a" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f23575c6d998395bf3a3bd1b95ccfa85" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "typing_Prims.int" - ], - 0, - "27b24e59563b054fa1f2b40c165f2e6f" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_left", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "1e09f875a6ea7de306022cfcf0187856" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_left", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f23575c6d998395bf3a3bd1b95ccfa85" - ], - [ - "FStar.Seq.Properties.lemma_trans_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Prims.int" - ], - 0, - "dc73a6b76367ac464bd6403135a20676" - ], - [ - "FStar.Seq.Properties.lemma_trans_frame", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.splice", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "ecb359747fcd2b3353e87cfa5e652f4f" - ], - [ - "FStar.Seq.Properties.lemma_trans_frame", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2a0be2395cccd98110e1a734d8891a64" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "typing_Prims.int" - ], - 0, - "ca3f783e66ae02fb289a6d22d484f11d" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_left", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.splice", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "67ebf1cf4556e9972851d8458055e485" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_left", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "74ca20eb1159f6b37fa71240a298a66a" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "typing_Prims.int" - ], - 0, - "d344ab6d9a27313950f607e2f1c727c2" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_right", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.splice", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice" - ], - 0, - "5bae220d624eba388b5f62260c55d9e0" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_right", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "74ca20eb1159f6b37fa71240a298a66a" - ], - [ - "FStar.Seq.Properties.lemma_trans_perm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Prims.int" - ], - 0, - "04c9cc292496544864b62dabf988546e" - ], - [ - "FStar.Seq.Properties.lemma_trans_perm", - 2, - 2, - 1, - [ "@query", "equation_FStar.Seq.Properties.permutation" ], - 0, - "7bdbc482bef33cf41f3a407899cd7191" - ], - [ - "FStar.Seq.Properties.lemma_trans_perm", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4cbe89edf1b012036dd3dd76e9d2329a" - ], - [ - "FStar.Seq.Properties.lemma_cons_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc" - ], - 0, - "ab4a4c4900d870a6e7f4589544506d16" - ], - [ - "FStar.Seq.Properties.lemma_tail_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "5c0caf16e15f5dcd11dadcbb27aeebe2" - ], - [ - "FStar.Seq.Properties.lemma_tail_snoc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "71435826b0fbea1e225e741a07e7fc2a" - ], - [ - "FStar.Seq.Properties.lemma_snoc_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "0b1af5dfa60c22dc9a699c6fae635131" - ], - [ - "FStar.Seq.Properties.lemma_mem_snoc", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.mem", - "typing_FStar.Seq.Properties.snoc", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "28d88585d45dfb03b050999181502d0f" - ], - [ - "FStar.Seq.Properties.find_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "4f1e27830d198064b574c5ab852703be" - ], - [ - "FStar.Seq.Properties.ghost_find_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "e2796fd76284c786ff8d53598114b1a2" - ], - [ - "FStar.Seq.Properties.find_append_some'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.find_l", "well-founded-ordering-on-nat" - ], - 0, - "e0db2940a599c9de3c5f7c95027dc68b" - ], - [ - "FStar.Seq.Properties.find_append_some'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_aaf8ddcdc1b514c021e9f5618e7191b6", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "typing_FStar.Seq.Properties.find_l" - ], - 0, - "b48ed92ebae19655b1d3e6b1ed2e8aa0" - ], - [ - "FStar.Seq.Properties.find_append_some", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "typing_FStar.Seq.Properties.find_l" - ], - 0, - "1a82e2c6ba2897e507fb72121bb0cecf" - ], - [ - "FStar.Seq.Properties.find_append_none'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.find_l", - "typing_FStar.Seq.Properties.head", "well-founded-ordering-on-nat" - ], - 0, - "f8e70a43ee4fdc63115096777d1dc000" - ], - [ - "FStar.Seq.Properties.find_append_none'", - 2, - 2, - 1, - [ "@query" ], - 0, - "f61ab6812ff3716e2c0c76a64c9ba7be" - ], - [ - "FStar.Seq.Properties.find_append_none", - 1, - 2, - 1, - [ "@query" ], - 0, - "5d3b3f51108d414000cbebc35fe62691" - ], - [ - "FStar.Seq.Properties.find_append_none_s2'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.find_l", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "e0f360af00b904c06dbda828d2822e1e" - ], - [ - "FStar.Seq.Properties.find_append_none_s2'", - 2, - 2, - 1, - [ "@query" ], - 0, - "2322c4c7050db370430696edc46c8a03" - ], - [ - "FStar.Seq.Properties.find_append_none_s2", - 1, - 2, - 1, - [ "@query" ], - 0, - "6328915c95ffa97ddd4fc4c504d9df4d" - ], - [ - "FStar.Seq.Properties.find_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "typing_FStar.Seq.Properties.find_l", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "a1e3d3f3d852f7ada10866d8ebf1d519" - ], - [ - "FStar.Seq.Properties.find_snoc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.find_l", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "372a0910a76f4accc1ed93c1993f044e" - ], - [ - "FStar.Seq.Properties.un_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "1c48aacd996943a2486822b99ea41675" - ], - [ - "FStar.Seq.Properties.un_snoc_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "9f713558c1210d655a7db6251a0c89f2" - ], - [ - "FStar.Seq.Properties.un_snoc_snoc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "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", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_804f54335b7b64340d07227822263548", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "d466e6716dd83336b275981d0ca2779f" - ], - [ - "FStar.Seq.Properties.find_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "8e256cf5727e66a71359f400d68ee941" - ], - [ - "FStar.Seq.Properties.seq_find_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_3a73d3f8589ff7fa464c85fc3653873a_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.found", "equation_Prims.nat", - "int_inversion", "int_typing", - "l_quant_interp_77f1cfcdba3b58ff0ac897c4edad61ab", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_329ab408f321df2e289daebfff040d87", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a9f24133975bf05cf436b0ab7bf33789", - "refinement_interpretation_Tm_refine_ae2d9539f95b6c18069df0a30a686fe0", - "refinement_interpretation_Tm_refine_d7d67908cb1918ad05c525ff0488d1eb", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d83feec4dfaaeba94fc63a0a53290c45", - "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" - ], - 0, - "20630c93feb6cd5f66e8a404a25b8773" - ], - [ - "FStar.Seq.Properties.seq_find_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_09b954da7854b02a464e9bd2c6bc3531" - ], - 0, - "1c191e0646652ebaf0ab79e8994664b0" - ], - [ - "FStar.Seq.Properties.seq_find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_4395ef09b3f6d8f4f0df16b4568b2b0e" - ], - 0, - "507fae7c6a9bb005dea514c6271aec55" - ], - [ - "FStar.Seq.Properties.find_mem", - 1, - 2, - 1, - [ "@query" ], - 0, - "97bd2a45e3294ef5dcd71a81c4653888" - ], - [ - "FStar.Seq.Properties.find_mem", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.Seq.Properties.mem", "equation_Prims.eqtype", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_3b1cb9ec3355fed185c658f53954b3fa", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "3d6ae2c5e9791c1e6313b9b315b0b551" - ], - [ - "FStar.Seq.Properties.for_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.seq_find", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "7165ffba68e8d6e245c78db05955bc5c" - ], - [ - "FStar.Seq.Properties.seq_mem_k'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_b61029775a887a6cf9f08c25a43b64f0_2", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_31d2ac88c7659636efcec810cccb707e", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d9d1c722e71bfab8564d033267ba53d", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" - ], - 0, - "9302ca8089a1d32b1d031c23b012c66f" - ], - [ - "FStar.Seq.Properties.seq_mem_k'", - 2, - 2, - 1, - [ "@query" ], - 0, - "c0c05fc6f372dd0f7f7366917109ef0c" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_induction", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_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", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "657aa1c49fe0c01161c8a77c800e816c" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_induction", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Base.op_At_Bar", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_of_list_cons", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "6a9b4299d47c2320a85bf9dfc045afc1" - ], - [ - "FStar.Seq.Properties.lemma_seq_list_bij'", - 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", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_Prims.Cons", "equation_FStar.Seq.Properties.tail", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_seq_of_seq_to_list", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Base.seq_to_list", "well-founded-ordering-on-nat" - ], - 0, - "6ecba90451cf4fc62fb523eaeaa97c89" - ], - [ - "FStar.Seq.Properties.lemma_list_seq_bij'", - 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", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_seq_to_seq_of_list", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" - ], - 0, - "367e2e21e7d2947dde92a3d2ae3f55b2" - ], - [ - "FStar.Seq.Properties.createL_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "09c773ad1eb95e7d7a434f1d0f9645b6" - ], - [ - "FStar.Seq.Properties.createL", - 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", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "f1067ef575bb3c104cf728c589515f1d" - ], - [ - "FStar.Seq.Properties.lemma_index_is_nth'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_9c2db2f328d356a0f28090c15651908a_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_seq_to_list_cons", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_to_list", "well-founded-ordering-on-nat" - ], - 0, - "e11204e5d205a8d5c88e28c6d2186e8a" - ], - [ - "FStar.Seq.Properties.lemma_index_is_nth'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "typing_FStar.Seq.Base.seq_to_list" - ], - 0, - "4bd663a32aea45ebf6c40435fccc667e" - ], - [ - "FStar.Seq.Properties.lemma_index_is_nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "typing_FStar.Seq.Base.seq_to_list" - ], - 0, - "0ec523ca459aa62bf36762c953538578" - ], - [ - "FStar.Seq.Properties.contains_intro", - 1, - 2, - 1, - [ "@query", "equation_FStar.Seq.Properties.contains" ], - 0, - "2c262801eb99e4574bf991dedb7e6d54" - ], - [ - "FStar.Seq.Properties.contains_elim", - 1, - 2, - 1, - [ "@query", "equation_FStar.Seq.Properties.contains" ], - 0, - "1d18e7bf278dc74fa734ba1151bbe275" - ], - [ - "FStar.Seq.Properties.lemma_contains_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Seq.Base.empty" - ], - 0, - "f32bf2d83f56ef74f756b65bbec73ddc" - ], - [ - "FStar.Seq.Properties.lemma_contains_singleton", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "992ec76a65063c9029975664174351a3" - ], - [ - "FStar.Seq.Properties.intro_append_contains_from_disjunction", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", - "refinement_interpretation_Tm_refine_7c92df3cf71635bc41483532e738d828", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "297d8157a0399b3849e8951b94ee9e31" - ], - [ - "FStar.Seq.Properties.append_contains_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "9cbc5496841ad5a78354904453a4a1ec" - ], - [ - "FStar.Seq.Properties.contains_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.contains", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "02f83b40540660aee0b295c0b90861e3" - ], - [ - "FStar.Seq.Properties.lemma_find_l_contains'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.contains", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "c7112411808d8fc4b1c33a2489572608" - ], - [ - "FStar.Seq.Properties.lemma_find_l_contains'", - 2, - 2, - 1, - [ "@query" ], - 0, - "aa6339b0dffec0ab7554877f204f21e8" - ], - [ - "FStar.Seq.Properties.lemma_find_l_contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "a77edc6dd7164e9a6956878c2c3db4c5" - ], - [ - "FStar.Seq.Properties.contains_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.contains", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "4ab71d587cf533c8c1bcb0183f119b35" - ], - [ - "FStar.Seq.Properties.append_cons_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "519096c1c4d05ec9e68ded05c04859b9" - ], - [ - "FStar.Seq.Properties.append_slices", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "a331d0786e847850c601d2fb6a876e77" - ], - [ - "FStar.Seq.Properties.append_slices", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "ff696b7722c6a61f9fe06cb195663c39" - ], - [ - "FStar.Seq.Properties.find_l_none_no_index'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.find_l.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05a27d33b48dc71045c85c8725e60783", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7ad46f3fbc1053503ef7c578422ebb5e", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.find_l", - "typing_FStar.Seq.Properties.tail", "well-founded-ordering-on-nat" - ], - 0, - "3144385f70cce67cc3fe29e87309dc28" - ], - [ - "FStar.Seq.Properties.cons_head_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "6beb715ef1729b90297280ef6d2b2071" - ], - [ - "FStar.Seq.Properties.head_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "8aa182473711f73866a4bc207443e0a1" - ], - [ - "FStar.Seq.Properties.head_cons", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create" - ], - 0, - "dea1c3cbe1846f26146e4ad17a0f4ccf" - ], - [ - "FStar.Seq.Properties.suffix_of_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.suffix_of", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_typing", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Properties.head" - ], - 0, - "5dee63a7c7f6de8b5c044c67fbff9fc2" - ], - [ - "FStar.Seq.Properties.index_cons_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "62881e88ec1d805a4e453a5f70f157f4" - ], - [ - "FStar.Seq.Properties.index_cons_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create" - ], - 0, - "3380670eb34941a7665b7ff7789bf38a" - ], - [ - "FStar.Seq.Properties.index_cons_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_df32419872f50e21164e56f336cc35ef", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "7e62da34f557912a53175a1923cc6335" - ], - [ - "FStar.Seq.Properties.index_cons_r", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df32419872f50e21164e56f336cc35ef", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "0e9999256951a7963a4d952e7a4162b4" - ], - [ - "FStar.Seq.Properties.append_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "396cf67190dd3c2bc0f7456db10bcdaa" - ], - [ - "FStar.Seq.Properties.index_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d24cb54460fe42a6984286984d5fc98d", - "typing_FStar.Seq.Base.length" - ], - 0, - "f47216d8d0ef8f099578a2d08cab2c51" - ], - [ - "FStar.Seq.Properties.index_tail", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d24cb54460fe42a6984286984d5fc98d", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "bde1e7363d31f35304616936a4fb88f1" - ], - [ - "FStar.Seq.Properties.mem_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "bool_inversion", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.seq_mem_k", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.count", - "typing_FStar.Seq.Properties.mem", "typing_FStar.Seq.Properties.tail" - ], - 0, - "4779dcbfa31c4b80a8236789fa0a4e56" - ], - [ - "FStar.Seq.Properties.snoc_slice_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "7884f5de1006a6992c44b5e082a13ca1" - ], - [ - "FStar.Seq.Properties.snoc_slice_index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "18ddabdb2a45cf21170bbdf17e9a0e2c" - ], - [ - "FStar.Seq.Properties.cons_index_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "typing_FStar.Seq.Base.length" - ], - 0, - "01719269c8d6e4fbeaef867464d97d11" - ], - [ - "FStar.Seq.Properties.cons_index_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "6cc57e23931a7fcca728c0ff002a496b" - ], - [ - "FStar.Seq.Properties.slice_is_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "ed90bf8cda33939ad7526bf644b67c42" - ], - [ - "FStar.Seq.Properties.slice_is_empty", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length" - ], - 0, - "9f61f97a18e248845fbce8c058547b4f" - ], - [ - "FStar.Seq.Properties.slice_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "ced9c1cb9ccb752c2487830c785a70a9" - ], - [ - "FStar.Seq.Properties.slice_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c2f575b3d23d23189e5d12bd5a9e4337", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "b40cebb064eec7498adcb3ea48a1ba67" - ], - [ - "FStar.Seq.Properties.slice_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "04672d36ee8ca64636647f1e98eb82ee" - ], - [ - "FStar.Seq.Properties.slice_slice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "fca9c8828d1be1719a9a2c701344c4bc" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "e2d4222db821d32e9d756dc74b76740c" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_index", - 2, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_085ffeec575ab2ebe4172031a8fa5a85_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", "equation_FStar.Seq.Base.cons", - "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c17817271cb00e8236fafbdd377e5e66", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.seq_of_list", "unit_inversion", "unit_typing" - ], - 0, - "031f0ce9313dcf4774bc19eb53486c40" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_index", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "95b42b4e393e08e8ef975ea04d054a0b" - ], - [ - "FStar.Seq.Properties.seq_of_list_tl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "5c1a86e9df8d15a7757d69a1ab8de1d0" - ], - [ - "FStar.Seq.Properties.seq_of_list_tl", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1" - ], - 0, - "2ce7640629021e096689aad5302b15b0" - ], - [ - "FStar.Seq.Properties.mem_seq_of_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Seq.Properties.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Properties.mem" - ], - 0, - "8c9fd9044a135117541a9f82d8cfaa84" - ], - [ - "FStar.Seq.Properties.explode_and", - 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", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_d7b86a6e56394f3a5101cc39daaff225_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc5c26af2c2da16bcd1936cd1f8ca034", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "ea92db3961aef34ffd1ed5e738679da7" - ], - [ - "FStar.Seq.Properties.intro_of_list''", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", "eq2-interp", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list", "typing_FStar.Seq.Base.slice", - "well-founded-ordering-on-nat" - ], - 0, - "b0222e546c0d9543a6da3fdd74f420bd" - ], - [ - "FStar.Seq.Properties.intro_of_list''", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d4a3deaa72665e6b9d6c3e99fe7b076", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afad51607cb14b15b40ce7a2320548c9" - ], - 0, - "84429bd3d18d153e56c66a847ac5633b" - ], - [ - "FStar.Seq.Properties.intro_of_list'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afad51607cb14b15b40ce7a2320548c9" - ], - 0, - "6405faf0e3528a70141a3688f9dcba91" - ], - [ - "FStar.Seq.Properties.intro_of_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "33b1f7fc1764f6cee8fa093df0d23585" - ], - [ - "FStar.Seq.Properties.intro_of_list", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@query", "eq2-interp", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "5cf1b50e30431c15a7f7bb441a802b7b" - ], - [ - "FStar.Seq.Properties.elim_of_list''", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Seq.Properties.head", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Properties.lemma_tail_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq_of_list", - "well-founded-ordering-on-nat" - ], - 0, - "f3f9b769a8f16edacaba4f14e1c376d2" - ], - [ - "FStar.Seq.Properties.elim_of_list''", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00903f2399ef886b9ecf2aa025c73aaf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9aaad45e42ee5f5d11edf211e175f7dd", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "cc30f4768efa7a20cd7a00ac91b09fb2" - ], - [ - "FStar.Seq.Properties.elim_of_list'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00903f2399ef886b9ecf2aa025c73aaf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "d7dcdde5f5e4ea19ae28fb95c99cc2ce" - ], - [ - "FStar.Seq.Properties.elim_of_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "43f75d1f321fb4a85ae8fbbbcb7c3855" - ], - [ - "FStar.Seq.Properties.elim_of_list", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.explode_and.fuel_instrumented", - "@query", "eq2-interp", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.explode_and.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "l_and-interp", "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5885c715bf599d471c43c6b7dcb2413b", - "refinement_interpretation_Tm_refine_c731267dd71b747abfd9fc75f6f2da81", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "926334cf10bb2f49928917118c537be2" - ], - [ - "FStar.Seq.Properties.lemma_seq_to_list_permutation'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.tail", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_seq_to_list_cons", - "lemma_FStar.Seq.Properties.cons_head_tail", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq_to_list", "well-founded-ordering-on-nat" - ], - 0, - "f7ba7bb763ab2f424647cdfc1f2bb845" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_permutation", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Seq.Base.lemma_eq_elim", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "subterm_ordering_Prims.Cons", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "5c756ce3458b95a5305908afac56b63a" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_sorted", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "FStar.List.Tot.Properties_interpretation_Tm_arrow_9cabe840930f95fd18f81c0a913ddb25", - "FStar.Seq.Properties_interpretation_Tm_arrow_dbca5ce6005b0ac91f57abd165fa98a0", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_efcefbc9baa34bb860680c61a11922cb_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Properties.sorted.fuel_instrumented", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "fuel_token_correspondence_FStar.List.Tot.Properties.sorted.fuel_instrumented_token", - "int_inversion", "int_typing", - "interpretation_Tm_abs_4bfb53c1305d6fe7222f07cf49f467b6", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Properties.sorted", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Properties.sorted", - "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.sorted" - ], - 0, - "6bf664f26ccc9079785184c871936f3d" - ], - [ - "FStar.Seq.Properties.lemma_seq_sortwith_correctness", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Properties.total_order", - "equation_FStar.Seq.Properties.permutation", - "equation_FStar.Seq.Properties.sortWith", - "equation_FStar.Seq.Properties.total_order" - ], - 0, - "98e24b7c16b072bbb3047db7c713968a" - ], - [ - "FStar.Seq.Properties.sort_lseq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_8b54d4820d055c327440d0d4811d3a33", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "bool_typing", - "equation_FStar.List.Tot.Base.bool_of_compare", - "equation_FStar.List.Tot.Base.compare_of_bool", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "function_token_typing_FStar.List.Tot.Base.bool_of_compare", - "function_token_typing_FStar.List.Tot.Base.compare_of_bool", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.List.Tot.Base.bool_of_compare", - "token_correspondence_FStar.List.Tot.Base.compare_of_bool", - "typing_FStar.List.Tot.Base.bool_of_compare" - ], - 0, - "66202cdde5e5653606da5e15bde2da7e" - ], - [ - "FStar.Seq.Properties.foldr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_47e4abf01510896a8bb55a562b825fad_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "f647c8e25e30e6e6c3e0c6c670d8d967" - ], - [ - "FStar.Seq.Properties.foldr_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_47e4abf01510896a8bb55a562b825fad_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a07ae685800930de996665ce5485fc07", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "65cb854778ed1be6e4c80f69798c2b3b" - ], - [ - "FStar.Seq.Properties.map_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "a2602b8587761879c5c4ea4ae4a6badd" - ], - [ - "FStar.Seq.Properties.map_seq_len", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.map_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.map_seq.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Seq.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.tail", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.map_seq.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.map_seq", "well-founded-ordering-on-nat" - ], - 0, - "03629ebb4bfa2335306ff22369d5002e" - ], - [ - "FStar.Seq.Properties.map_seq_index", - 1, - 2, - 1, - [ "@query" ], - 0, - "f2eb5595bce625f54202585d018ce227" - ], - [ - "FStar.Seq.Properties.map_seq_index", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.map_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.map_seq.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Seq.Properties_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_57af2c0907f883669f14a9b761d251ac_4", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_fb947062bc64c8a4c113625ea3c52251_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.map_seq.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_607098d2e80d827adeccdd5d011d612c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_936b4381f3636f622ce2d7965c9f9bbb", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.map_seq.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "7f1904e6e1335d8da124d60c790aaac9" - ], - [ - "FStar.Seq.Properties.map_seq_index", - 3, - 2, - 1, - [ "@query" ], - 0, - "0c0b7278b7f2dd17186c6b448a62399e" - ], - [ - "FStar.Seq.Properties.map_seq_append", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.map_seq.fuel_instrumented", - "@query", "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.map_seq.fuel_instrumented", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Properties.map_seq" - ], - 0, - "39c5f9c2f576f08aaa433e87d85aed56" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Properties.fsti.hints b/ulib/.hints/FStar.Seq.Properties.fsti.hints deleted file mode 100644 index c9f362e6b50..00000000000 --- a/ulib/.hints/FStar.Seq.Properties.fsti.hints +++ /dev/null @@ -1,1739 +0,0 @@ -[ - "\u001a\u001c\fðêó…\u0001‰\rÓ£;B܇", - [ - [ - "FStar.Seq.Properties.lemma_append_inj_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_67742a85f7188ae8566f64c3f90bfb4c", - "typing_Prims.int" - ], - 0, - "259e922b530c24181cbb3a46241d99b8" - ], - [ - "FStar.Seq.Properties.lemma_append_inj_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_64e82110644016dc09ff0ed468e6bfac", - "typing_Prims.int" - ], - 0, - "392e9be049f1abbeaf3b1c59091d0a0e" - ], - [ - "FStar.Seq.Properties.lemma_append_len_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "21e769f7843d01f2c23a8ae927a2ff80" - ], - [ - "FStar.Seq.Properties.lemma_append_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5980ddd7262ebb270a37483eaec4ba12" - ], - [ - "FStar.Seq.Properties.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c" - ], - 0, - "1151a46b597ea6b83f143383edcbc9c7" - ], - [ - "FStar.Seq.Properties.tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "e0649ba1729f4282b1b7798427eee583" - ], - [ - "FStar.Seq.Properties.lemma_head_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "2ff63c2493e4dfccde1530faa7a49b56" - ], - [ - "FStar.Seq.Properties.lemma_tail_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "09d7d1ab30c7de93d144501a5fffb37e" - ], - [ - "FStar.Seq.Properties.last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "d5cdc441298f7e47c1b6ace5311eaa8d" - ], - [ - "FStar.Seq.Properties.split", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "aaa510ff3e6e29440bf08ba4d6c76a89" - ], - [ - "FStar.Seq.Properties.split_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "00f9cf407859b5c9d3a89995c1514625" - ], - [ - "FStar.Seq.Properties.count", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "bf83e6d4a2e3bc1f54074ddc64efee1d" - ], - [ - "FStar.Seq.Properties.index_mem", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.count.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.count.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.mem", - "equation_FStar.Seq.Properties.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.count.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.mem", - "well-founded-ordering-on-nat" - ], - 0, - "115290f38313877dc99fce1142803bc9" - ], - [ - "FStar.Seq.Properties.index_mem", - 2, - 2, - 1, - [ "@query" ], - 0, - "0a1d984f69d30cb8c37afa9d38c71ddf" - ], - [ - "FStar.Seq.Properties.swap", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index" - ], - 0, - "8d2811dc89de581fdb990422c413de9d" - ], - [ - "FStar.Seq.Properties.lemma_slice_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_422b9532c2df78e1e3319ee46753029a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "8a51edfcf65e3ef4a4bf1e15e821267f" - ], - [ - "FStar.Seq.Properties.lemma_slice_first_in_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "5d8ef4cc464be9c463d0a5a8eeffc752" - ], - [ - "FStar.Seq.Properties.slice_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "e11eff102302d3071b3ac0a1471dd26c" - ], - [ - "FStar.Seq.Properties.upd_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_Prims.nat", "equation_Prims.squash", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "ad6bf43cf89665971f10e029c0291770" - ], - [ - "FStar.Seq.Properties.lemma_tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "823f69828efe6156e09379d85f769ba8" - ], - [ - "FStar.Seq.Properties.sorted", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "96158e72a8f871ff8c96ef204281384d" - ], - [ - "FStar.Seq.Properties.lemma_count_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "99fc46be701fdaf418fa0316a718edd8" - ], - [ - "FStar.Seq.Properties.split_5", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55108d29d63192475ca95f591039cc18", - "typing_FStar.Seq.Base.length" - ], - 0, - "043eb905223472aee33394c0295721dc" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux_frag_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_66084d01979c78a34e5efcf276a878a5", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "a4ce240c686d713f6e3eb117afd38486" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_Prims.int" - ], - 0, - "af33c4dc5a73afdedc2822adf3ab377a" - ], - [ - "FStar.Seq.Properties.permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2bf35ab44878260ddde405b9318e21f4" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e2bf563cd615f522b7e436217c0c83d2" - ], - [ - "FStar.Seq.Properties.lemma_slice_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "ce53690392ba681493b800cacbf8cd9e" - ], - [ - "FStar.Seq.Properties.lemma_slice_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "typing_FStar.Seq.Base.length" - ], - 0, - "6b7210b499abde6df8a3eb1b0fc0d7c8" - ], - [ - "FStar.Seq.Properties.lemma_ordering_lo_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.length" - ], - 0, - "b2855bd61c754ef67bea97f621672f71" - ], - [ - "FStar.Seq.Properties.lemma_ordering_hi_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "6512abc7a1bc758520a4a71940911e83" - ], - [ - "FStar.Seq.Properties.swap_frame_lo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "61ea2586089117b7304b45301d712cf8" - ], - [ - "FStar.Seq.Properties.swap_frame_lo'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ea4b3f9cb7a2ec69ec69efacf82fdf62", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "a278ac5f18acc02de2c11d564de5c56f" - ], - [ - "FStar.Seq.Properties.swap_frame_hi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd" - ], - 0, - "5ba16941fdab1d94b3305169551f77bf" - ], - [ - "FStar.Seq.Properties.lemma_swap_slice_commute", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "95e8563ebe3e64eb9391d7b76383595e" - ], - [ - "FStar.Seq.Properties.lemma_swap_permutes_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "469e152053464178eff8ddffb3d8321a" - ], - [ - "FStar.Seq.Properties.splice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1" - ], - 0, - "82963c710abbc1d08871c1df11820fe2" - ], - [ - "FStar.Seq.Properties.splice", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "57c077a3ef0660af0e6d48a018322d6a" - ], - [ - "FStar.Seq.Properties.replace_subseq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "4b077368dc355bcfd656c57a0dac5af4" - ], - [ - "FStar.Seq.Properties.splice_refl", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "fcb309f2d2f633c42e76e4e38fcab4fd" - ], - [ - "FStar.Seq.Properties.lemma_swap_splice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.swap", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd" - ], - 0, - "c77e9858ff43e440a6b88f4d622e3148" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_hi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f", - "typing_Prims.int" - ], - 0, - "b9e1df08e0e773ae80e245a4c38163e6" - ], - [ - "FStar.Seq.Properties.lemma_seq_frame_lo", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_571d9f74016be5357787170b42ecf913", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79", - "typing_Prims.int" - ], - 0, - "b47b214259e32069d20b81bd383defb8" - ], - [ - "FStar.Seq.Properties.lemma_tail_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b138bd5848d4184f7632587e6e4bcf9f" - ], - 0, - "e7f825c8b86f8c7b5d9dd731edd363e9" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "typing_Prims.int" - ], - 0, - "a52e68ce5371c6df255c97ceccc30823" - ], - [ - "FStar.Seq.Properties.lemma_weaken_frame_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_8c2af3ca1d228534364bc27db62f9ff1", - "typing_Prims.int" - ], - 0, - "27b24e59563b054fa1f2b40c165f2e6f" - ], - [ - "FStar.Seq.Properties.lemma_trans_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Prims.int" - ], - 0, - "dc73a6b76367ac464bd6403135a20676" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "typing_Prims.int" - ], - 0, - "d19152cda6869ee9a1125af8c378dd0a" - ], - [ - "FStar.Seq.Properties.lemma_weaken_perm_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7166b2ff9304f453078c4bc8054dacf2", - "typing_Prims.int" - ], - 0, - "d344ab6d9a27313950f607e2f1c727c2" - ], - [ - "FStar.Seq.Properties.lemma_trans_perm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80d3ec204d8dc5bca159f07cb028ec9b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_Prims.int" - ], - 0, - "04c9cc292496544864b62dabf988546e" - ], - [ - "FStar.Seq.Properties.lemma_tail_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "536ee42b3e4e584aa9c8ceb054be4569" - ], - [ - "FStar.Seq.Properties.find_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "d7c51bf4dcbb98c4ff1fa1924b43eb30" - ], - [ - "FStar.Seq.Properties.ghost_find_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "e2796fd76284c786ff8d53598114b1a2" - ], - [ - "FStar.Seq.Properties.find_append_some", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "typing_FStar.Seq.Properties.find_l" - ], - 0, - "fee025baed99ab870be51753493f863a" - ], - [ - "FStar.Seq.Properties.find_append_none", - 1, - 2, - 1, - [ "@query" ], - 0, - "95445ff5884a385339ca8bc98dc4f112" - ], - [ - "FStar.Seq.Properties.find_append_none_s2", - 1, - 2, - 1, - [ "@query" ], - 0, - "c30a4d4e08f830fc09118abfd3d4a629" - ], - [ - "FStar.Seq.Properties.find_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.find_l.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_aba7638072c8f1ba6a01b95ec6f9a485", - "typing_FStar.Seq.Properties.find_l", - "typing_FStar.Seq.Properties.snoc" - ], - 0, - "a57fd97c560faf6aa201586fa2031370" - ], - [ - "FStar.Seq.Properties.un_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5739deb21d8cba89243fec27b35b7ef0", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "1c48aacd996943a2486822b99ea41675" - ], - [ - "FStar.Seq.Properties.un_snoc_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "9f713558c1210d655a7db6251a0c89f2" - ], - [ - "FStar.Seq.Properties.find_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_0bc42f53608879da830fdb13edb72acb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "a47c5575996005924170b9f649943d6d" - ], - [ - "FStar.Seq.Properties.seq_find_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Properties_interpretation_Tm_arrow_e4eab69ee26f37309e9615f5a07e5b22", - "binder_x_3a73d3f8589ff7fa464c85fc3653873a_4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_ad4fa64b8bde7a35b571dab333de24e9_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "equation_FStar.Seq.Properties.found", "equation_Prims.nat", - "int_inversion", "int_typing", - "l_quant_interp_77f1cfcdba3b58ff0ac897c4edad61ab", - "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_329ab408f321df2e289daebfff040d87", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a9f24133975bf05cf436b0ab7bf33789", - "refinement_interpretation_Tm_refine_ae2d9539f95b6c18069df0a30a686fe0", - "refinement_interpretation_Tm_refine_d7d67908cb1918ad05c525ff0488d1eb", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d83feec4dfaaeba94fc63a0a53290c45", - "typing_FStar.Seq.Base.index", "well-founded-ordering-on-nat" - ], - 0, - "20630c93feb6cd5f66e8a404a25b8773" - ], - [ - "FStar.Seq.Properties.seq_find_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_09b954da7854b02a464e9bd2c6bc3531" - ], - 0, - "1c191e0646652ebaf0ab79e8994664b0" - ], - [ - "FStar.Seq.Properties.seq_find", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_4395ef09b3f6d8f4f0df16b4568b2b0e" - ], - 0, - "507fae7c6a9bb005dea514c6271aec55" - ], - [ - "FStar.Seq.Properties.find_mem", - 1, - 2, - 1, - [ "@query" ], - 0, - "97bd2a45e3294ef5dcd71a81c4653888" - ], - [ - "FStar.Seq.Properties.for_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "bool_inversion", "disc_equation_FStar.Pervasives.Native.None", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.seq_find", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "7165ffba68e8d6e245c78db05955bc5c" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_induction", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_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", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "f05e29ee39af59c90239b0a4ab727648" - ], - [ - "FStar.Seq.Properties.createL_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f70a260185ce4a5f959f4d95386a12df" - ], - [ - "FStar.Seq.Properties.createL", - 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", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "4bd66792531b2bba60d169c57f78cb55" - ], - [ - "FStar.Seq.Properties.lemma_index_is_nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4e3a92f9bd1d01a07e4fb66c5de2e7e", - "typing_FStar.Seq.Base.seq_to_list" - ], - 0, - "6059a9e67d2c96ffda8aad841d692130" - ], - [ - "FStar.Seq.Properties.lemma_find_l_contains", - 1, - 2, - 1, - [ "@query" ], - 0, - "2f417540e3f45981c2a0cc93129a56c6" - ], - [ - "FStar.Seq.Properties.append_slices", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length" - ], - 0, - "9d2069a7f35979712dd86a5179b9dbe7" - ], - [ - "FStar.Seq.Properties.head_cons", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "36a63123c8d2ada926e89bb60f93782d" - ], - [ - "FStar.Seq.Properties.index_cons_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "89ac4155a841e219c81312fe0ebcdf62" - ], - [ - "FStar.Seq.Properties.index_cons_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Seq.Base.cons", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_df32419872f50e21164e56f336cc35ef", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length" - ], - 0, - "7e62da34f557912a53175a1923cc6335" - ], - [ - "FStar.Seq.Properties.index_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d24cb54460fe42a6984286984d5fc98d", - "typing_FStar.Seq.Base.length" - ], - 0, - "98c29c3dc2b2e47fe1928b36582c0725" - ], - [ - "FStar.Seq.Properties.snoc_slice_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_095c5722edf0f79bcd7dce7bd084c7b5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "ce1afaa6cdff7cbd946a7c93842b985f" - ], - [ - "FStar.Seq.Properties.cons_index_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "typing_FStar.Seq.Base.length" - ], - 0, - "01719269c8d6e4fbeaef867464d97d11" - ], - [ - "FStar.Seq.Properties.slice_is_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "typing_FStar.Seq.Base.length" - ], - 0, - "ed90bf8cda33939ad7526bf644b67c42" - ], - [ - "FStar.Seq.Properties.slice_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length" - ], - 0, - "ced9c1cb9ccb752c2487830c785a70a9" - ], - [ - "FStar.Seq.Properties.slice_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length" - ], - 0, - "66f8483f9339b82e36c4de3fd63efb1c" - ], - [ - "FStar.Seq.Properties.lemma_seq_of_list_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.Seq.Base.seq_of_list" - ], - 0, - "d97da5855b4d87c9df427e4811d0c029" - ], - [ - "FStar.Seq.Properties.seq_of_list_tl", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f6b38b2852708f36615f9b4db0f9ff1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "2148d5208a116af783f4c8f72d30a52c" - ], - [ - "FStar.Seq.Properties.explode_and", - 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", "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_d7b86a6e56394f3a5101cc39daaff225_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bc5c26af2c2da16bcd1936cd1f8ca034", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "well-founded-ordering-on-nat" - ], - 0, - "c201140ff676db753766e82cdf2e8dc5" - ], - [ - "FStar.Seq.Properties.intro_of_list'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afad51607cb14b15b40ce7a2320548c9" - ], - 0, - "4462171bd35b76a74554b677e705ba85" - ], - [ - "FStar.Seq.Properties.intro_of_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "bfbd106688fa8907d13607c68afd5fa7" - ], - [ - "FStar.Seq.Properties.elim_of_list'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00903f2399ef886b9ecf2aa025c73aaf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "8612520caec28274410e197d753c0b08" - ], - [ - "FStar.Seq.Properties.elim_of_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "fa60da8fd2b75bdcbde6ab213f36d543" - ], - [ - "FStar.Seq.Properties.sort_lseq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_8b54d4820d055c327440d0d4811d3a33", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.List.Tot.Base_interpretation_Tm_arrow_a2f219461d35e20b7bc771538ca96429", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "bool_typing", - "equation_FStar.List.Tot.Base.bool_of_compare", - "equation_FStar.List.Tot.Base.compare_of_bool", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", "equation_Prims.eqtype", - "function_token_typing_FStar.List.Tot.Base.bool_of_compare", - "function_token_typing_FStar.List.Tot.Base.compare_of_bool", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.List.Tot.Base.bool_of_compare", - "token_correspondence_FStar.List.Tot.Base.compare_of_bool", - "typing_FStar.List.Tot.Base.bool_of_compare" - ], - 0, - "2db2c9edfcb8d8c6bf55215740aa5cba" - ], - [ - "FStar.Seq.Properties.foldr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_47e4abf01510896a8bb55a562b825fad_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "f647c8e25e30e6e6c3e0c6c670d8d967" - ], - [ - "FStar.Seq.Properties.foldr_snoc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_47e4abf01510896a8bb55a562b825fad_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a07ae685800930de996665ce5485fc07", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "65cb854778ed1be6e4c80f69798c2b3b" - ], - [ - "FStar.Seq.Properties.map_seq_index", - 1, - 2, - 1, - [ "@query" ], - 0, - "73e6c668e6eddd915b734e720baba43e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.Sorted.fst.hints b/ulib/.hints/FStar.Seq.Sorted.fst.hints deleted file mode 100644 index fbe1736860a..00000000000 --- a/ulib/.hints/FStar.Seq.Sorted.fst.hints +++ /dev/null @@ -1,326 +0,0 @@ -[ - "\u0010£¶µ\u007fÃékúÃE¨ù€", - [ - [ - "FStar.Seq.Sorted.sorted_pred_tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "1c1280194f1f7f094470f801040759d7" - ], - [ - "FStar.Seq.Sorted.sorted_pred_sorted_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_a3eb6ef57f7868748473eafd3c17271a_1", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "ebe0f8d83a580804f0b38a46f76131fc" - ], - [ - "FStar.Seq.Sorted.intro_sorted_pred", - 1, - 2, - 1, - [ "@query", "equation_FStar.Seq.Sorted.sorted_pred" ], - 0, - "0bb5b26215cf73c7f90151ea9324cd20" - ], - [ - "FStar.Seq.Sorted.sorted_pred_cons_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_db53fa9c4814b0d5bbe0b7987448300c" - ], - 0, - "bed9e1cef29b436f74dd1f70f2d589f4" - ], - [ - "FStar.Seq.Sorted.sorted_pred_cons_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e1a5d57dbfa444c5441e4c8fd1ad857", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_db53fa9c4814b0d5bbe0b7987448300c", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.tail", "unit_inversion", "unit_typing" - ], - 0, - "8fde21fe6bea9ee873deb1a291f81a69" - ], - [ - "FStar.Seq.Sorted.sorted_sorted_pred_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "@fuel_irrelevance_FStar.Seq.Properties.sorted.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0f213a493b460394312187ae1ccaa1bb_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_a3eb6ef57f7868748473eafd3c17271a_1", "bool_inversion", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Seq.Properties.sorted.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_FStar.Seq.Properties.sorted.fuel_instrumented", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "260637dc186dddbfe7c66c676fa5856d" - ], - [ - "FStar.Seq.Sorted.sorted_pred_slice_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "c45256afb01e43b43d6409b205374dbb" - ], - [ - "FStar.Seq.Sorted.sorted_pred_slice_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "c70abe08ed4f77315def526bc8038167" - ], - [ - "FStar.Seq.Sorted.sorted_slice_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "1733fd3ed881584b9ea5f27107321f1c" - ], - [ - "FStar.Seq.Sorted.sorted_slice_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.length" - ], - 0, - "145ab00428198c8a1ddf1d45d90e0995" - ], - [ - "FStar.Seq.Sorted.sorted_split_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "2d12a285958dc23e49226b5a038c9704" - ], - [ - "FStar.Seq.Sorted.sorted_split_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "int_inversion", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55" - ], - 0, - "e99bfa83c6ad050602db54ef1ee6e434" - ], - [ - "FStar.Seq.Sorted.sorted_pred_append_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "40ddf9f0d8dd0a982403b437b1f70954" - ], - [ - "FStar.Seq.Sorted.sorted_pred_append_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_c8126b87a2c25bb477df4a7a6b0eea9e", - "bool_inversion", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.last", - "equation_FStar.Seq.Properties.tot_ord", - "equation_FStar.Seq.Properties.total_order", - "equation_FStar.Seq.Sorted.sorted_pred", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_65252598c54dfb80dbb3efb268be7156", - "refinement_interpretation_Tm_refine_a01e88865b4bbd2f0a4bcb261b6760a8", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.head", - "unit_inversion", "unit_typing" - ], - 0, - "23af68b429ed4f5d0fe75ab86a150d57" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Seq.fst.hints b/ulib/.hints/FStar.Seq.fst.hints deleted file mode 100644 index f313d1215ea..00000000000 --- a/ulib/.hints/FStar.Seq.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ÿ\u0015µ¨†âwó\u0015vë\u00124î\u0010o", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Ambient.fst.hints b/ulib/.hints/FStar.Sequence.Ambient.fst.hints deleted file mode 100644 index ee62f4e4907..00000000000 --- a/ulib/.hints/FStar.Sequence.Ambient.fst.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "*\u0016[ïDÁ2„\u0011nUð\u001co‹\u000f", - [ - [ - "FStar.Sequence.Ambient.all_seq_facts_ambient", - 1, - 2, - 1, - [ "@query" ], - 0, - "dccccd969aa54378cc70cddc7bd4d7be" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Base.fst.hints b/ulib/.hints/FStar.Sequence.Base.fst.hints deleted file mode 100644 index 9269a720868..00000000000 --- a/ulib/.hints/FStar.Sequence.Base.fst.hints +++ /dev/null @@ -1,2785 +0,0 @@ -[ - "0y¨*z7oð&þ”(¶é›Ë", - [ - [ - "FStar.Sequence.Base.index", - 1, - 2, - 1, - [ "@query", "equation_FStar.Sequence.Base.length" ], - 0, - "764dca216e20832252af18dc49ef5a68" - ], - [ - "FStar.Sequence.Base.update", - 1, - 2, - 1, - [ "@query", "equation_FStar.Sequence.Base.length" ], - 0, - "cd0f40aa586c98cf51abc0eb1917a0eb" - ], - [ - "FStar.Sequence.Base.equal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b" - ], - 0, - "f819e2c87b40f5ed03b7e0dfd1fc67b2" - ], - [ - "FStar.Sequence.Base.is_prefix", - 1, - 2, - 1, - [ "@query" ], - 0, - "99d69c964836f939964d3d40b67ad63c" - ], - [ - "FStar.Sequence.Base.index_into_build_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fe779f8d5d6050e5c449cfe65ed68b69", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "55600de3c0c7ce813452cdcc5a8d1bbd" - ], - [ - "FStar.Sequence.Base.index_into_singleton_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_Prims.squash", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8e221d7de4a094f3f3239dc1957fac9c" - ], - [ - "FStar.Sequence.Base.index_after_append_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a" - ], - 0, - "b5fca16483a42fc85bef60538a0612fb" - ], - [ - "FStar.Sequence.Base.update_maintains_length_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cb0bb03702c2e9c94fa432af581bd557" - ], - [ - "FStar.Sequence.Base.update_then_index_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ebf583ef03de5406d0eafcd65926e002" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "1ec878ada01b4b0ff899b40520a5a01e" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e68f77bdd14e97669fb4166f990c6015" - ], - [ - "FStar.Sequence.Base.equal_def_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b" - ], - 0, - "06bd1ba35ffc3ce719e2dd3fdc6e187e" - ], - [ - "FStar.Sequence.Base.is_prefix_def_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "0b356edb507a6b86ff8096d0cb88480b" - ], - [ - "FStar.Sequence.Base.take_length_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8608113ac3f40fce7d59541c27a64125" - ], - [ - "FStar.Sequence.Base.index_into_take_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3b4272cafe050cc6e4acaae733da93c6" - ], - [ - "FStar.Sequence.Base.index_into_drop_fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c15eda3743d3ffae9f0ba525a0e63ff6" - ], - [ - "FStar.Sequence.Base.drop_index_offset_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "8a67be47366de0d8d259220ca1b922cc" - ], - [ - "FStar.Sequence.Base.append_then_take_or_drop_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "cc081663366d787650384f5c07ba11a2" - ], - [ - "FStar.Sequence.Base.take_commutes_with_in_range_update_fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0745c7ad7e92796ba1b0fb895f9aa135", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "7a14e8b5e73d29fdbfcb3613abfe3593" - ], - [ - "FStar.Sequence.Base.take_ignores_out_of_range_update_fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length" - ], - 0, - "6710baae9240d4ca0d8fec730a8a61a2" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_in_range_update_fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730142b59b789227b23509a9d91b8817", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length" - ], - 0, - "aa9ce63b0d2cfeeac7cae441b87cb011" - ], - [ - "FStar.Sequence.Base.drop_ignores_out_of_range_update_fact", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "d975de872599fc97849f050e7b1ead88" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_build_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.squash", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3af4b6ee67d2b13e95038128c1e03214" - ], - [ - "FStar.Sequence.Base.drop_ranks_less_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9be3df99ad0639185024225fcab09326" - ], - [ - "FStar.Sequence.Base.take_ranks_less_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "78679d74521e7f50a5ab2be3b6953a3a" - ], - [ - "FStar.Sequence.Base.append_take_drop_ranks_less_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "fb17d01a10695d9a27f2a54c65bf7c5f" - ], - [ - "FStar.Sequence.Base.drop_zero_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "0b7d4ec167b9f94badfc819879fd8769" - ], - [ - "FStar.Sequence.Base.take_zero_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "193b5b7305baa074f6a3e92c7c52fdcb" - ], - [ - "FStar.Sequence.Base.drop_then_drop_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "25f02258ee78086a8e70768bae9cf4ae" - ], - [ - "FStar.Sequence.Base.all_seq_facts", - 1, - 2, - 1, - [ "@query" ], - 0, - "10800aa87c83506eed950c45d07131ab" - ], - [ - "FStar.Sequence.Base.length_of_empty_is_zero_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.Sequence.Base.empty", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.length_of_empty_is_zero_fact", - "equation_FStar.Sequence.Base.seq", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "projection_inverse_Prims.Nil_a", "typing_FStar.Sequence.Base.empty" - ], - 0, - "239ee0b676296e78099b07ba41cdbde3" - ], - [ - "FStar.Sequence.Base.length_zero_implies_empty_lemma", - 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_Prims.Cons", - "equation_FStar.Sequence.Base.empty", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "3ae1112ba3f455b623e80a8683ecd1d4" - ], - [ - "FStar.Sequence.Base.singleton_length_one_lemma", - 1, - 2, - 1, - [ - "@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.Nil@tok", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.singleton", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton" - ], - 0, - "d554da631a48014e3f326933b2bb971f" - ], - [ - "FStar.Sequence.Base.build_increments_length_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Sequence.Base.build", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_936a1591a8fe064aadb132467be08d6b", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Sequence.Base.build", - "typing_FStar.Sequence.Base.length" - ], - 0, - "c3f6ee65fbc0237a0b561b95627eccb9" - ], - [ - "FStar.Sequence.Base.index_into_build_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_11760dcb4520ee1b293f8ff42f0ff86d_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_d550dbdc65505988504d44edadf89d8e", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Sequence.Base.length", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "52220db0f7d930cb0c9cdcaced285c88" - ], - [ - "FStar.Sequence.Base.index_into_build_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_71e5c5a0e5ab52103635ea9d2a79f4f8", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "eeb2657ef44e4ccc84032d2d26bd772f" - ], - [ - "FStar.Sequence.Base.index_into_build_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.build", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.index_into_build_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c3d10a3bf6080670bd63a740bf4a4c4c", - "refinement_interpretation_Tm_refine_fe779f8d5d6050e5c449cfe65ed68b69", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "2faec195e59133db5c038206866f2e76" - ], - [ - "FStar.Sequence.Base.append_sums_lengths_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.length", - "refinement_interpretation_Tm_refine_5289b8b09ac295602560ccf62ffccab8" - ], - 0, - "8071a6a6c68dd3f5ee52ac3bd35ae4d2" - ], - [ - "FStar.Sequence.Base.index_into_singleton_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.singleton", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.singleton" - ], - 0, - "bb04a02b1010e005bd742ef04a0f2a5d" - ], - [ - "FStar.Sequence.Base.index_after_append_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "unit_inversion", "unit_typing" - ], - 0, - "77748c549b7a238e861f1ae68c4fb26c" - ], - [ - "FStar.Sequence.Base.index_after_append_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Sequence.Base.length", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_84e322ed08f90d2e281186778b1d6565" - ], - 0, - "e7cdb5ab83f42970637a7ad506862070" - ], - [ - "FStar.Sequence.Base.index_after_append_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_9b063a58632b04e6f09aaf6f75cd8726" - ], - 0, - "41bd162ca211eafa6f78f36217739f1a" - ], - [ - "FStar.Sequence.Base.lemma_splitAt_fst_length", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_Prims.list@tok", "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_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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.Pervasives.Native.fst", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "db2d503d00f33257955b0d3b0a85d48c" - ], - [ - "FStar.Sequence.Base.lemma_splitAt_fst_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "95c7a1b4b6df586d9f430c669e6964c8" - ], - [ - "FStar.Sequence.Base.update_maintains_length_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.Mktuple3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.update", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "kinding_Prims.list@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "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", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt", - "typing_FStar.Pervasives.Native.snd", "typing_Prims.int" - ], - 0, - "b360eaa9217ae4198d8e081be5b29adf" - ], - [ - "FStar.Sequence.Base.update_maintains_length_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_71d5acd0c03eec6e422b8a62c990f419", - "typing_Prims.int" - ], - 0, - "a6ddf4ba3ba9439949586aefabab676b" - ], - [ - "FStar.Sequence.Base.update_then_index_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_1715e7da41a56bd09bce16066dfe94d1_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_ff717f3197fb3820b7aa60386c52d30a_5", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Prims.Nil", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_56bad6a577f330b23fce30e8ea4b4fd7", - "refinement_interpretation_Tm_refine_5eace28eb69e947f6c8630ab4a905a24", - "refinement_interpretation_Tm_refine_c21638c020e3cd5c87f1d04cd4f2f356", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.Sequence.Base.update", "typing_Prims.int" - ], - 0, - "cdc6cdbde564eaea0fb3bf3dccd2e862" - ], - [ - "FStar.Sequence.Base.update_then_index_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "803d0ec1891c0b3798cb5645951812e1" - ], - [ - "FStar.Sequence.Base.update_then_index_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_FStar.Sequence.Base.update_then_index_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_50ef15770a052558e7cb8eda7ce7b4e1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8f6177e2f63986c05c3cc5d1bf16d0ad", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_Prims.int" - ], - 0, - "34878ebbd05e0c54e73a1bc7d29f7447" - ], - [ - "FStar.Sequence.Base.contains_iff_exists_index_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.contains", - "equation_FStar.Sequence.Base.contains_iff_exists_index_fact", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_2f8594de98b632ae0aa5c69bf9c19940", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5d0ee867946f059106851826d76d5946", - "refinement_interpretation_Tm_refine_650c89a9b41363ac66affe9d8c3b0e6b", - "refinement_interpretation_Tm_refine_875225b0351d17c6abab80dfc23f5785", - "refinement_interpretation_Tm_refine_cd45ecc9daf74409c394004efbaa3338" - ], - 0, - "b34f15b92377180577cea3de9f24e917" - ], - [ - "FStar.Sequence.Base.empty_doesnt_contain_anything_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "equation_FStar.Sequence.Base.contains", - "equation_FStar.Sequence.Base.empty", - "equation_FStar.Sequence.Base.empty_doesnt_contain_anything_fact", - "equation_FStar.Sequence.Base.seq", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "false_interp", "projection_inverse_Prims.Nil_a", - "typing_FStar.Sequence.Base.empty" - ], - 0, - "caf0cd057e3e02c8ee3a9b892182c501" - ], - [ - "FStar.Sequence.Base.build_contains_equiv_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "eq2-interp", - "equation_FStar.Sequence.Base.append", "equation_Prims.eq2", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "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_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c699424274eb409991b2954c4a6e221", - "refinement_interpretation_Tm_refine_4dc55ddbe6195801eb2873f7036f6c25", - "refinement_interpretation_Tm_refine_54acee327cf0ffb817bb90cc9c4bc136", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.append" - ], - 0, - "8c07102ff6781db94474d0081979e3db" - ], - [ - "FStar.Sequence.Base.build_contains_equiv_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.build", - "equation_FStar.Sequence.Base.build_contains_equiv_fact", - "equation_FStar.Sequence.Base.contains", - "refinement_interpretation_Tm_refine_8fbda46b0529e5c51ef78d7b0d1e1d7c" - ], - 0, - "6851ee20a6d0996797404eecae424324" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_helper1", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_490ce8aab2c75a62336a5c12596ed65a_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_typing_intro_Prims.Nil@tok", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_or-interp", - "l_quant_interp_335710382787b17fd2e0989c01e969b2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2c699424274eb409991b2954c4a6e221", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54acee327cf0ffb817bb90cc9c4bc136", - "refinement_interpretation_Tm_refine_699064f438c1663b393510b96e06d430", - "refinement_interpretation_Tm_refine_6e411789d7623b0cf9657ab9f71bdc90", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ff29740b59b6ad5f87dfac82e992c361", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Sequence.Base.take" - ], - 0, - "4a476f902951c6a1c64b1b4745e6245d" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_helper1", - 2, - 2, - 1, - [ "@query" ], - 0, - "7f55a815734e26a4b025bdeb7c1d361f" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_helper2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_490ce8aab2c75a62336a5c12596ed65a_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_or-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2c699424274eb409991b2954c4a6e221", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54acee327cf0ffb817bb90cc9c4bc136", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_ff29740b59b6ad5f87dfac82e992c361", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.splitAt" - ], - 0, - "8bc837c965faa1292808dd55a2914e31" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_helper2", - 2, - 2, - 1, - [ "@query" ], - 0, - "31911464cafb40910ef8e27d3ce9ea31" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_helper3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.length", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6607031428fdf8cb81fc99f6c8258513", - "refinement_interpretation_Tm_refine_6dc4a07ffad7961fcf0bed746b84af10", - "refinement_interpretation_Tm_refine_8c16444db225badb01a1065d37953f1a", - "refinement_interpretation_Tm_refine_d9d9030ac516f3fade9cf1969a8c0f1a" - ], - 0, - "a043b4b10b892b9001c5d83514777ee4" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.contains", - "equation_FStar.Sequence.Base.take_contains_equiv_exists_fact", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_1777ccccb74abae364ff9feb917dad52", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d8523dcb4f84fa361773f4c3c6d1123f" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_helper1", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_490ce8aab2c75a62336a5c12596ed65a_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "eq2-interp", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.memP.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "false_interp", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_or-interp", - "l_quant_interp_05f430f1924a83586b3d0dbace2e0857", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_22bdb7a474b6e5704a74d52cb3fc8765", - "refinement_interpretation_Tm_refine_2c699424274eb409991b2954c4a6e221", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54acee327cf0ffb817bb90cc9c4bc136", - "refinement_interpretation_Tm_refine_c01c83d5fb1d6dffca2fc4c3f90c31a7", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_c9b717a8c3ce786217981e046507e3c7", - "refinement_interpretation_Tm_refine_cd971676ac3539039c91af16aebb9f23", - "refinement_interpretation_Tm_refine_f6506d453eea99b74e0081ff43a3428e", - "refinement_interpretation_Tm_refine_fc9e9539f80d68ccc04e96e3e24dad20", - "refinement_interpretation_Tm_refine_ff29740b59b6ad5f87dfac82e992c361", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Sequence.Base.length" - ], - 0, - "22380043f0d1af195d7b513634ff2628" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_helper1", - 2, - 1, - 1, - [ "@query" ], - 0, - "1fd86fe1a12604a76ef234ef3e538da2" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_helper2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_490ce8aab2c75a62336a5c12596ed65a_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3327052891d7c39bbcbd9756d8ba352c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c01c83d5fb1d6dffca2fc4c3f90c31a7", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_c9b717a8c3ce786217981e046507e3c7", - "refinement_interpretation_Tm_refine_f6506d453eea99b74e0081ff43a3428e", - "refinement_interpretation_Tm_refine_fc9e9539f80d68ccc04e96e3e24dad20", - "refinement_interpretation_Tm_refine_ff29740b59b6ad5f87dfac82e992c361", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length" - ], - 0, - "1c332a61c2ddb0be3d16fb7de7f9e8e9" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_helper2", - 2, - 2, - 1, - [ "@query" ], - 0, - "b624422bec70e7143a166d23d0288ee9" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_helper3", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", "equation_FStar.Sequence.Base.length", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "refinement_interpretation_Tm_refine_1e7ccf219361cb254accebf389f59572", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ce39ed1434dae2e0064f0a20adcf453", - "refinement_interpretation_Tm_refine_79e0800fdd2de65a4db606405929d393", - "refinement_interpretation_Tm_refine_bee9bcc653d93567ac4b697d218b5de8" - ], - 0, - "a219944fed453eb3da1e77efd7e86c9a" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.contains", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_contains_equiv_exists_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a97cd7b8f9dc13be6f698f4be436fea9" - ], - 0, - "5e489000e70cfb3352d414c39e0a1ae5" - ], - [ - "FStar.Sequence.Base.equal_def_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sequence.Base.equal", - "equation_FStar.Sequence.Base.equal_def_fact" - ], - 0, - "967fc2791c0b947a77a13f547b6b692b" - ], - [ - "FStar.Sequence.Base.extensionality_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Sequence.Base.equal", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "refinement_interpretation_Tm_refine_b5ecc118dd2d70dce2cf9f3cf4748073", - "refinement_interpretation_Tm_refine_f9d43e62799bfbe59135aef5c5ba6279" - ], - 0, - "8759799e5af44c3049d8b76d8a18c99a" - ], - [ - "FStar.Sequence.Base.is_prefix_def_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sequence.Base.is_prefix", - "equation_FStar.Sequence.Base.is_prefix_def_fact" - ], - 0, - "5a1825518839da9a80ef8223bd65b8f6" - ], - [ - "FStar.Sequence.Base.take_length_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Sequence.Base.take", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e19e9d4dd1e25415f42200531d1745e3", - "typing_Prims.int" - ], - 0, - "096b64824d216dd8ece107444b3e92c3" - ], - [ - "FStar.Sequence.Base.index_into_take_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "bool_typing", "constructor_distinct_Prims.Cons", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4862827ae807ca9029b8d89d5045ba32", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Sequence.Base.take", "typing_Prims.int" - ], - 0, - "452b4924a0d39e9717208183d076c034" - ], - [ - "FStar.Sequence.Base.index_into_take_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30ec4041cedfe0034543a13f1b745958", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8e7321eaf05e996eab4d987e78c55a18", - "typing_Prims.int" - ], - 0, - "7fb74a3b6b9599436df636a0a8782268" - ], - [ - "FStar.Sequence.Base.index_into_take_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.index_into_take_fact", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac66f689a1f7b2befb2bc06e31d10ec3" - ], - 0, - "523b7d2635f9361afd6e7d8afdbb381c" - ], - [ - "FStar.Sequence.Base.drop_length_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_066b9aff1439197fc2a8fbbd59da9b73", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1ae5973a01b9159f68b8897d40017731" - ], - [ - "FStar.Sequence.Base.index_into_drop_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.index.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.index", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.index.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_27d36afefc5968fb7face7d5ffbae6af", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "e20f7dae16dcc62cf1637eae34956e24" - ], - [ - "FStar.Sequence.Base.index_into_drop_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bb8f38934c906224bba86adad4a0df5", - "refinement_interpretation_Tm_refine_975789ea90d249be08f4eed967456edd" - ], - 0, - "186fb7edea5b360a32d328675681f9de" - ], - [ - "FStar.Sequence.Base.index_into_drop_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.index_into_drop_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ca72f66faec9ec25037e2efc619eb408" - ], - 0, - "e53cf4316088c0c96a3a97160b8b60dd" - ], - [ - "FStar.Sequence.Base.drop_index_offset_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", - "equation_FStar.Sequence.Base.drop_index_offset_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cec0026f033554628a395a8777141dff" - ], - 0, - "2c7b0ceb32a7faabeb05cd144d624ac6" - ], - [ - "FStar.Sequence.Base.append_then_take_or_drop_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d8757d18cb0b6cee9de1be72d21a6bbc", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "d5ae18828d1726b9d137051e4bcace7d" - ], - [ - "FStar.Sequence.Base.append_then_take_or_drop_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d2491cfdeb6a9f5a149fd3ea7d85ae87", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "79badc5276a567cb3b1d0fa1e8c668f8" - ], - [ - "FStar.Sequence.Base.append_then_take_or_drop_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.append_then_take_or_drop_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0bef1ed40c95e3efcb18996e842e66", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "74092bca77a3081afeabc50b58f03059" - ], - [ - "FStar.Sequence.Base.take_commutes_with_in_range_update_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", - "equation_FStar.Sequence.Base.update", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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__3", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8566b28f7ba0f9c6808af3a76b89fe9e", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.take", - "typing_FStar.Sequence.Base.update", "typing_Prims.int" - ], - 0, - "85639dcccdc1d3ec1531a5c61bf6d382" - ], - [ - "FStar.Sequence.Base.take_commutes_with_in_range_update_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_12b7c588da7417d3d215ff9fe3fd48cc", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5c5c474d742e0b3a18fc8c751e505f44", - "typing_Prims.int" - ], - 0, - "28ddd011b483622622b007da2ffb5360" - ], - [ - "FStar.Sequence.Base.take_commutes_with_in_range_update_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take_commutes_with_in_range_update_fact", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0745c7ad7e92796ba1b0fb895f9aa135", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a09be04026d871ee83c003859e1eea9c", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_Prims.int" - ], - 0, - "8830a319dfb4fd06ddb18f67e10b4929" - ], - [ - "FStar.Sequence.Base.take_ignores_out_of_range_update_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", - "equation_FStar.Sequence.Base.update", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_98916db8354af3e9c502c6d7cec7c1a1", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.update", "typing_Prims.int" - ], - 0, - "56430292e77d62e90c15baa70f9ecded" - ], - [ - "FStar.Sequence.Base.take_ignores_out_of_range_update_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_35d294f9ab2255c6852b579ad1d9d67e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_65347d699fedbec1a2c27ba4b1a323a3", - "typing_Prims.int" - ], - 0, - "23e9495844f6b667abedf5a33e398f61" - ], - [ - "FStar.Sequence.Base.take_ignores_out_of_range_update_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take_ignores_out_of_range_update_fact", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a75d8501415abed3ac262e7ecb3b22f8", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "2769fb5f38ffe16ffde8511425711db0" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_in_range_update_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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__3", - "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", - "refinement_interpretation_Tm_refine_c0509400d7a2c1791c73b1a9ade7448a", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_df1e50a7c835b5abfbb7d61435cb86bb", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.Sequence.Base.update", "typing_Prims.int" - ], - 0, - "8d4f66f1be97ca21ef07dd8e7c4437b7" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_in_range_update_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2870f21fe12526bfb4bdbfdbcb69ebf9", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cddda7255a3b79da8a1e1ce4019e46ac", - "typing_Prims.int" - ], - 0, - "728c3fc59ddaca851cac0f72e763a596" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_in_range_update_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", - "equation_FStar.Sequence.Base.drop_commutes_with_in_range_update_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730142b59b789227b23509a9d91b8817", - "refinement_interpretation_Tm_refine_dc4cc0c455911efed227470d28b2b235", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "2ed37dda2562446cc45cf875d19ff081" - ], - [ - "FStar.Sequence.Base.drop_ignores_out_of_range_update_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_5", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple3", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.split3", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple3", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "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", - "refinement_interpretation_Tm_refine_af44fd2d7364b3404093051a725be94b", - "refinement_interpretation_Tm_refine_c86aba5c6243e6b7f9a4b0ad41b4e9a0", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.split3", - "typing_FStar.Sequence.Base.update", "typing_Prims.int" - ], - 0, - "1039af1ffcedb6956260afe3dde1c25d" - ], - [ - "FStar.Sequence.Base.drop_ignores_out_of_range_update_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7deabcaa1612cef480c83979c90489de", - "refinement_interpretation_Tm_refine_eeaaa09d844c552e337e7ef45ca836f0", - "typing_Prims.int" - ], - 0, - "8c1f9ee231ec353d67155f4b32b28532" - ], - [ - "FStar.Sequence.Base.drop_ignores_out_of_range_update_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", - "equation_FStar.Sequence.Base.drop_ignores_out_of_range_update_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_39ecb1d6cfe6eae738f34db2102ba260", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_Prims.int" - ], - 0, - "075cbfe9a34142bc6f0557e527c0ab31" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_build_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_e09860b75d8922ab497a3e5bc9347578_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__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", - "refinement_interpretation_Tm_refine_780ad59b63820f09c5b92a3061ea64dd", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.List.Tot.Base.append", - "typing_FStar.List.Tot.Base.length", "unit_inversion", "unit_typing" - ], - 0, - "a2b0b377397bb5184bcab575419f23bb" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_build_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_98a705a2d07cd742117c50b775b121a8" - ], - 0, - "7fb199b3e3c0337a5940164c6c5806b1" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_build_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.append", - "equation_FStar.Sequence.Base.build", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.drop_commutes_with_build_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1cb2b45b92d440709cd23c296c94b37" - ], - 0, - "fbc637048716575665483db5d3d8f571" - ], - [ - "FStar.Sequence.Base.rank_def_lemma", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Sequence.Base.rank", - "equation_FStar.Sequence.Base.rank_def_fact" - ], - 0, - "80daa8d0905ac91d2ed8ff09f53f0943" - ], - [ - "FStar.Sequence.Base.element_ranks_less_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.contains", - "equation_FStar.Sequence.Base.contains_iff_exists_index_fact", - "equation_FStar.Sequence.Base.element_ranks_less_fact", - "equation_FStar.Sequence.Base.rank", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_39b3ba33854f644e9a8ac3f3e8f6d26e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f5f14aa0623647ef2a8bdac5def4f10e" - ], - [ - "FStar.Sequence.Base.drop_ranks_less_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.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_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "unit_inversion", "unit_typing" - ], - 0, - "493c2d2d97c354e89985c4d3d2e89f4b" - ], - [ - "FStar.Sequence.Base.drop_ranks_less_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9e393529bd638cd1eac9b203f936a15b" - ], - [ - "FStar.Sequence.Base.drop_ranks_less_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Sequence.Base.drop_ranks_less_fact", - "equation_FStar.Sequence.Base.rank", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_640069d230474667b3821af779f88068" - ], - 0, - "bb258972c11b396eeeba615daaa22908" - ], - [ - "FStar.Sequence.Base.take_ranks_less_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_Prims.nat", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "53e323017e8e5fe8fa20e2384d2b486f" - ], - [ - "FStar.Sequence.Base.append_take_drop_ranks_less_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.append_take_drop_ranks_less_fact", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "2cab38b76057f93b9901c7680246bcba" - ], - [ - "FStar.Sequence.Base.drop_zero_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_zero_fact", - "equation_FStar.Sequence.Base.seq", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "617fddd438f7b98b48de5b9eb985e670" - ], - [ - "FStar.Sequence.Base.take_zero_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Base.empty", - "equation_FStar.Sequence.Base.seq", - "equation_FStar.Sequence.Base.take", - "equation_FStar.Sequence.Base.take_zero_fact", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "32fb860b8f1ed37f04799951c4e52431" - ], - [ - "FStar.Sequence.Base.drop_then_drop_helper", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3375bfe95b5335b524565c280937124b_2", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Sequence.Base.drop", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.length", - "equation_FStar.Sequence.Base.seq", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "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_011ed6b73daf0844298a1aeda6e33f0a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "typing_FStar.Sequence.Base.length", "unit_inversion", "unit_typing" - ], - 0, - "507dbd0271cd629da6f0c9e1f67b8e8d" - ], - [ - "FStar.Sequence.Base.drop_then_drop_helper", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32a10867255c90e3e414d688a2080868", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7a2aac3d35fe761a14388d3c411dbe69" - ], - 0, - "7d4ecaacb8a544efdba06d24e84bddec" - ], - [ - "FStar.Sequence.Base.drop_then_drop_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.drop_then_drop_fact", - "equation_FStar.Sequence.Base.length", "equation_Prims.nat", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f7df606d8446a86855e27aec4ea8aea9", - "typing_FStar.Sequence.Base.length" - ], - 0, - "0f9b547e8c03c31e7850b7d81e847800" - ], - [ - "FStar.Sequence.Base.all_seq_facts_lemma", - 1, - 2, - 1, - [ "@query", "equation_FStar.Sequence.Base.all_seq_facts" ], - 0, - "72851332a9f0133471f4c5ba74ebed32" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Base.fsti.hints b/ulib/.hints/FStar.Sequence.Base.fsti.hints deleted file mode 100644 index 18b9a6eba88..00000000000 --- a/ulib/.hints/FStar.Sequence.Base.fsti.hints +++ /dev/null @@ -1,407 +0,0 @@ -[ - "~\u0013\u000e†\u0001ó\r–PÅS1’ÕŸ", - [ - [ - "FStar.Sequence.Base.index_into_build_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_fe779f8d5d6050e5c449cfe65ed68b69", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "c0d26fbc9c47b259fd6995367b6ec6ac" - ], - [ - "FStar.Sequence.Base.index_into_singleton_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_Prims.nat", "equation_Prims.squash", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton" - ], - 0, - "29d69c61e480114b3e24485d48b12d90" - ], - [ - "FStar.Sequence.Base.index_after_append_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "typing_FStar.Sequence.Base.length" - ], - 0, - "2df7ce324d09b21723381c4cfcab5b22" - ], - [ - "FStar.Sequence.Base.update_maintains_length_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cb0bb03702c2e9c94fa432af581bd557" - ], - [ - "FStar.Sequence.Base.update_then_index_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f3fee9492915b77e838593a229ef223d" - ], - [ - "FStar.Sequence.Base.take_contains_equiv_exists_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "1ec878ada01b4b0ff899b40520a5a01e" - ], - [ - "FStar.Sequence.Base.drop_contains_equiv_exists_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7c490f1723a68c8346755be7132096c2" - ], - [ - "FStar.Sequence.Base.equal_def_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b" - ], - 0, - "76d7c5265df54e5b1ba9dda63d6f5461" - ], - [ - "FStar.Sequence.Base.is_prefix_def_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "ff0f80c1baa89765a1e7bd0d536dc049" - ], - [ - "FStar.Sequence.Base.take_length_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8608113ac3f40fce7d59541c27a64125" - ], - [ - "FStar.Sequence.Base.index_into_take_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "1a2c1f96adb13d6861af88fc4005afb7" - ], - [ - "FStar.Sequence.Base.index_into_drop_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7ad48b9a727c3e21d086cf0069c6ac7e" - ], - [ - "FStar.Sequence.Base.drop_index_offset_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "8a67be47366de0d8d259220ca1b922cc" - ], - [ - "FStar.Sequence.Base.append_then_take_or_drop_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", "typing_Prims.int" - ], - 0, - "cc081663366d787650384f5c07ba11a2" - ], - [ - "FStar.Sequence.Base.take_commutes_with_in_range_update_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0745c7ad7e92796ba1b0fb895f9aa135", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "7a14e8b5e73d29fdbfcb3613abfe3593" - ], - [ - "FStar.Sequence.Base.take_ignores_out_of_range_update_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "6710baae9240d4ca0d8fec730a8a61a2" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_in_range_update_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730142b59b789227b23509a9d91b8817", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length" - ], - 0, - "aa9ce63b0d2cfeeac7cae441b87cb011" - ], - [ - "FStar.Sequence.Base.drop_ignores_out_of_range_update_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.update_maintains_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "d975de872599fc97849f050e7b1ead88" - ], - [ - "FStar.Sequence.Base.drop_commutes_with_build_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "3af4b6ee67d2b13e95038128c1e03214" - ], - [ - "FStar.Sequence.Base.drop_ranks_less_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9be3df99ad0639185024225fcab09326" - ], - [ - "FStar.Sequence.Base.take_ranks_less_fact", - 1, - 2, - 1, - [ "@query" ], - 0, - "78679d74521e7f50a5ab2be3b6953a3a" - ], - [ - "FStar.Sequence.Base.append_take_drop_ranks_less_fact", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "fb17d01a10695d9a27f2a54c65bf7c5f" - ], - [ - "FStar.Sequence.Base.drop_zero_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "0b7d4ec167b9f94badfc819879fd8769" - ], - [ - "FStar.Sequence.Base.take_zero_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "193b5b7305baa074f6a3e92c7c52fdcb" - ], - [ - "FStar.Sequence.Base.drop_then_drop_fact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_Prims.nat", "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length" - ], - 0, - "25f02258ee78086a8e70768bae9cf4ae" - ], - [ - "FStar.Sequence.Base.all_seq_facts", - 1, - 2, - 1, - [ "@query" ], - 0, - "928708dfc7b2aeb69bf46e4d9f2c1c04" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Permutation.fst.hints b/ulib/.hints/FStar.Sequence.Permutation.fst.hints deleted file mode 100644 index 89ca09b0517..00000000000 --- a/ulib/.hints/FStar.Sequence.Permutation.fst.hints +++ /dev/null @@ -1,748 +0,0 @@ -[ - "\u001d.¿I`9à\u001dôŽ9\u001eh£\u001c\u0017", - [ - [ - "FStar.Sequence.Permutation.is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1dc75aa6e6bbc54dfcca569b53043cf6" - ], - [ - "FStar.Sequence.Permutation.reveal_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "47e38dea989cc3e8ac0e09fa21c4354b" - ], - [ - "FStar.Sequence.Permutation.reveal_is_permutation", - 2, - 2, - 1, - [ - "@query", "eq2-interp", "equation_Prims.nat", "l_and-interp", - "l_quant_interp_3687e47b29c0a20fcd31447ad586c570", - "l_quant_interp_59139ac8e10b6169c9a749d686813b25" - ], - 0, - "5b3c7840146a5aa7d4d7c0c7a4b29b57" - ], - [ - "FStar.Sequence.Permutation.reveal_is_permutation_nopats", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7b68cf43a8b15fc201e556302bcb3cc2" - ], - [ - "FStar.Sequence.Permutation.split3_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Util.cons", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.cons" - ], - 0, - "75b52647b0bc69cb4f87de09090a51a8" - ], - [ - "FStar.Sequence.Permutation.find", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "FStar.Sequence.Permutation_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "FStar.Sequence.Util_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ef100039066469051f2edca89f4d2662_2", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.drop_index_offset_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.length_of_empty_is_zero_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Util.cons", - "equation_FStar.Sequence.Util.head", - "equation_FStar.Sequence.Util.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Base.index", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5d02946074498d9d903cdbc4cf985744", - "interpretation_Tm_abs_86f4b6e55ab65b13f129651b95ef2787", - "primitive_Prims.op_Addition", "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_2e6d0b9637300da397ad139959545ed4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7920e4ae12da669262a56bf30289a04c", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.empty", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.seq", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.cons", - "typing_Tm_abs_5d02946074498d9d903cdbc4cf985744", - "well-founded-ordering-on-nat" - ], - 0, - "5665f6a678baf973d8782de2eedbf13a" - ], - [ - "FStar.Sequence.Permutation.count_singleton_one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Util.head", - "equation_FStar.Sequence.Util.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "interpretation_Tm_abs_cb16ce11a844e6df10be13b7884f407d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.count", - "typing_FStar.Sequence.Util.tail", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "19ffac37fe5a5c970c400a730526e618" - ], - [ - "FStar.Sequence.Permutation.count_singleton_zero", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Util.head", - "equation_FStar.Sequence.Util.tail", "equation_Prims.eqtype", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "interpretation_Tm_abs_cb16ce11a844e6df10be13b7884f407d", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.tail", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "7f1f29a5faab7cbe06f65565808dda4e" - ], - [ - "FStar.Sequence.Permutation.equal_counts_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "interpretation_Tm_abs_cb16ce11a844e6df10be13b7884f407d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "token_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Util.tail", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "974c56e5725984c7ad1c145454dbf107" - ], - [ - "FStar.Sequence.Permutation.count_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Util.head", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "interpretation_Tm_abs_cb16ce11a844e6df10be13b7884f407d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "token_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "typing_FStar.Sequence.Util.count", - "typing_FStar.Sequence.Util.head", "typing_FStar.Sequence.Util.tail", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "de28b7e95d4dfd81892b2e4993854f60" - ], - [ - "FStar.Sequence.Permutation.permutation_from_equal_counts", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "FStar.Sequence.Permutation_interpretation_Tm_arrow_742f5089de0180e67353c1aac4e63381", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "binder_x_0f495e48c8a2e07bf15bed21fa0e72e5_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ce235fc722425cf9cf95f5e141d8263c_1", "bool_inversion", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.drop_index_offset_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Permutation.index_fun", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_FStar.Sequence.Permutation.seqperm", - "equation_FStar.Sequence.Util.cons", - "equation_FStar.Sequence.Util.head", - "equation_FStar.Sequence.Util.tail", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Base.index", - "function_token_typing_FStar.Sequence.Permutation.permutation_from_equal_counts", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_1d1f4f155b18692e02b1d966d5a02412", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_391e5acd28b91a3efafe091b424d2d14", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4b52539266a12504aff901802210a485", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_553add5b8d8b6cc722cd7ce1fce2fc89", - "refinement_interpretation_Tm_refine_80f00a9b34778a9557d56180c9a04e1a", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_8ba03c8e9ffa8cd58f24efc3cd07cb9f", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f1754926f257b577524222a2e5daa88f", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.seq", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.cons", - "typing_FStar.Sequence.Util.count", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "4ad5b543abcfa6dba622f4c243ba451d" - ], - [ - "FStar.Sequence.Permutation.elim_monoid_laws", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "refinement_interpretation_Tm_refine_141242446d61fed2cc152dd607c0623c", - "refinement_interpretation_Tm_refine_6988e778564a13aee1490bdea727ae7e", - "refinement_interpretation_Tm_refine_d15bf8be61c629a8649de7558bdfc030", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit" - ], - 0, - "9b966e88660dbcd7df8acfad53c37712" - ], - [ - "FStar.Sequence.Permutation.foldm_back_append", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.fold_back.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.fold_back.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Sequence.Base_interpretation_Tm_arrow_c69b73cf293af2730abd26b2b1867504", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "FStar.Sequence.Util_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3375bfe95b5335b524565c280937124b_3", - "binder_x_3375bfe95b5335b524565c280937124b_4", - "binder_x_539efd42dd5491357ce2f4a638cb7c43_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_build_fact", - "equation_FStar.Sequence.Base.index_into_take_fact", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_FStar.Sequence.Permutation.foldm_back", - "equation_FStar.Sequence.Util.un_build", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.fold_back.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Base.index", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "refinement_interpretation_Tm_refine_fe779f8d5d6050e5c449cfe65ed68b69", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.build", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.take", - "typing_FStar.Sequence.Permutation.foldm_back" - ], - 0, - "54e614ef36831b4d36d160e5a02cc6ff" - ], - [ - "FStar.Sequence.Permutation.foldm_back_sym", - 1, - 2, - 1, - [ "@query", "typing_FStar.Sequence.Permutation.foldm_back" ], - 0, - "0d5c9928d0b6b21d751080647d63b773" - ], - [ - "FStar.Sequence.Permutation.foldm_back_singleton", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.fold_back.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Sequence.Util_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_FStar.Algebra.CommMonoid.CM", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.length_of_empty_is_zero_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Base.take_zero_fact", - "equation_FStar.Sequence.Permutation.foldm_back", - "equation_Prims.nat", "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.fold_back.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_FStar.Sequence.Base.empty", - "typing_FStar.Sequence.Base.singleton" - ], - 0, - "1e9ccfe4ee1904e244bf894b96d76e60" - ], - [ - "FStar.Sequence.Permutation.foldm_back3", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Util.cons", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "typing_FStar.Sequence.Permutation.foldm_back" - ], - 0, - "e5d2ab6eb182dcb0679e81194f1c551a" - ], - [ - "FStar.Sequence.Permutation.remove_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Util.split", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.length" - ], - 0, - "94c53b23cbb0c3c8f2e6d7e8551b2a35" - ], - [ - "FStar.Sequence.Permutation.shift_perm'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "FStar.Sequence.Permutation_interpretation_Tm_arrow_742f5089de0180e67353c1aac4e63381", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.drop_then_drop_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_drop_fact", - "equation_FStar.Sequence.Base.index_into_take_fact", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Permutation.index_fun", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_FStar.Sequence.Permutation.remove_i", - "equation_FStar.Sequence.Permutation.seqperm", - "equation_FStar.Sequence.Util.split", - "equation_FStar.Sequence.Util.tail", - "equation_FStar.Sequence.Util.un_build", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_392e3ed06aa3ec354a8848bddf64564f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "refinement_interpretation_Tm_refine_80f00a9b34778a9557d56180c9a04e1a", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_9f8dd1ff7e62c964dce2f71b4206f819", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "typing_FStar.Sequence.Base.drop", "typing_FStar.Sequence.Base.take", - "typing_FStar.Sequence.Util.tail" - ], - 0, - "eff3354472f11c753b62f385df08e9b7" - ], - [ - "FStar.Sequence.Permutation.shift_perm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.seqperm", "equation_Prims.nat", - "int_typing", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_80f00a9b34778a9557d56180c9a04e1a", - "refinement_interpretation_Tm_refine_9f8dd1ff7e62c964dce2f71b4206f819", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b" - ], - 0, - "fcaf96a5fee8564a303467a32b865d4b" - ], - [ - "FStar.Sequence.Permutation.seqperm_len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.seqperm", - "refinement_interpretation_Tm_refine_80f00a9b34778a9557d56180c9a04e1a" - ], - 0, - "e376c81becad9e982a3b4a22adadf6e4" - ], - [ - "FStar.Sequence.Permutation.foldm_back_perm", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.fold_back.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.fold_back.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Sequence.Base_pretyping_f12ff79bdc45950e0b8640f797b70d28", - "FStar.Sequence.Util_interpretation_Tm_arrow_3c1d21b8f6dcc5e202b4ff1cafbaba81", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3375bfe95b5335b524565c280937124b_3", - "binder_x_3375bfe95b5335b524565c280937124b_4", - "binder_x_539efd42dd5491357ce2f4a638cb7c43_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "data_elim_FStar.Algebra.CommMonoid.CM", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.drop_index_offset_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.drop_then_drop_fact", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_singleton_fact", - "equation_FStar.Sequence.Base.index_into_take_fact", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.singleton_length_one_fact", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_FStar.Sequence.Permutation.foldm_back", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_FStar.Sequence.Permutation.remove_i", - "equation_FStar.Sequence.Permutation.seqperm", - "equation_FStar.Sequence.Util.cons", - "equation_FStar.Sequence.Util.split", - "equation_FStar.Sequence.Util.tail", - "equation_FStar.Sequence.Util.un_build", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Util.fold_back.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_80f00a9b34778a9557d56180c9a04e1a", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Base.singleton", - "typing_FStar.Sequence.Util.cons" - ], - 0, - "71834aeb1bbe4d14a140972a020afecb" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Permutation.fsti.hints b/ulib/.hints/FStar.Sequence.Permutation.fsti.hints deleted file mode 100644 index 8e4b50eae65..00000000000 --- a/ulib/.hints/FStar.Sequence.Permutation.fsti.hints +++ /dev/null @@ -1,22 +0,0 @@ -[ - "Qøß­|\f+Îq\rÇ\u001f8Ã8", - [ - [ - "FStar.Sequence.Permutation.reveal_is_permutation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Permutation.nat_at_most", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "17b0560487d0a5e68db9d3ae403b2dbe" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Seq.fst.hints b/ulib/.hints/FStar.Sequence.Seq.fst.hints deleted file mode 100644 index 49a1f7bb0fb..00000000000 --- a/ulib/.hints/FStar.Sequence.Seq.fst.hints +++ /dev/null @@ -1,243 +0,0 @@ -[ - "\"I\\­Áþ¤ŽèÈ/oCí", - [ - [ - "FStar.Sequence.Seq.sequence_of_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_94a162aaaed8e0d079ca7a7403b99a55", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "well-founded-ordering-on-nat" - ], - 0, - "11c88c767dc31bfa47170cefd03f156b" - ], - [ - "FStar.Sequence.Seq.seq_of_sequence", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3375bfe95b5335b524565c280937124b_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_Prims.nat", "equation_Prims.squash", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c7ed9243993672a4f87f31f20fea087f", - "typing_FStar.Sequence.Base.length" - ], - 0, - "eb84c1653fa4ef297f5aa7a667660bc0" - ], - [ - "FStar.Sequence.Seq.related", - 1, - 2, - 1, - [ "@query" ], - 0, - "3d91318eb284d6e34d5ed39e7ae180f6" - ], - [ - "FStar.Sequence.Seq.related_sequence_of_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Seq.Properties.split", - "equation_FStar.Seq.Properties.un_snoc", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.build_increments_length_fact", - "equation_FStar.Sequence.Base.index_into_build_fact", - "equation_FStar.Sequence.Base.length_of_empty_is_zero_fact", - "equation_FStar.Sequence.Base.op_Dollar_Colon_Colon", - "equation_FStar.Sequence.Seq.related", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "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_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88fb5a3a31aa91e2ef8e06e8bc745c21", - "refinement_interpretation_Tm_refine_94a162aaaed8e0d079ca7a7403b99a55", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fe779f8d5d6050e5c449cfe65ed68b69", - "token_correspondence_FStar.Sequence.Base.build", - "token_correspondence_FStar.Sequence.Base.op_Dollar_Colon_Colon", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___2", - "typing_FStar.Pervasives.Native.fst", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Sequence.Seq.sequence_of_seq", - "well-founded-ordering-on-nat" - ], - 0, - "55c8a0930236fde967f7d2d5e59cf210" - ], - [ - "FStar.Sequence.Seq.related_seq_of_sequence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "@query", - "FStar.Sequence.Base_interpretation_Tm_arrow_c69b73cf293af2730abd26b2b1867504", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_3375bfe95b5335b524565c280937124b_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Seq.Properties.snoc", - "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.index_into_take_fact", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_FStar.Sequence.Seq.related", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "function_token_typing_FStar.Sequence.Base.index", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88fb5a3a31aa91e2ef8e06e8bc745c21", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7ed9243993672a4f87f31f20fea087f", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dfcc0b9e0296bea48ecfd9ed273e2f0b", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Sequence.Base.index", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Seq.seq_of_sequence" - ], - 0, - "87c6ead69f50fc98a06de3936398ad35" - ], - [ - "FStar.Sequence.Seq.seq_of_sequence_of_seq", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "@fuel_correspondence_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "@query", "equation_FStar.Sequence.Seq.related", - "equation_Prims.nat", - "equation_with_fuel_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88fb5a3a31aa91e2ef8e06e8bc745c21", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Sequence.Seq.seq_of_sequence", - "typing_FStar.Sequence.Seq.sequence_of_seq" - ], - 0, - "639ebea8ec593f7ce2aa2b471554a12e" - ], - [ - "FStar.Sequence.Seq.sequence_of_seq_of_sequence", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "@fuel_correspondence_FStar.Sequence.Seq.sequence_of_seq.fuel_instrumented", - "@query", "equation_FStar.Sequence.Ambient.all_seq_facts_ambient", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Seq.related", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.Sequence.Seq.seq_of_sequence.fuel_instrumented", - "function_token_typing_FStar.Sequence.Ambient.all_seq_facts_ambient", - "int_inversion", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88fb5a3a31aa91e2ef8e06e8bc745c21", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "typing_FStar.Sequence.Seq.seq_of_sequence", - "typing_FStar.Sequence.Seq.sequence_of_seq" - ], - 0, - "575395c4ca5571b9fa0b28061a62ea70" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Seq.fsti.hints b/ulib/.hints/FStar.Sequence.Seq.fsti.hints deleted file mode 100644 index 98d5d8ebcd6..00000000000 --- a/ulib/.hints/FStar.Sequence.Seq.fsti.hints +++ /dev/null @@ -1,14 +0,0 @@ -[ - "$W<ÇÁ¶K¡ï\u0013¨’WßTZ", - [ - [ - "FStar.Sequence.Seq.related", - 1, - 2, - 1, - [ "@query" ], - 0, - "9616ec37d2c1a667fc4435f7c144fa89" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.Util.fst.hints b/ulib/.hints/FStar.Sequence.Util.fst.hints deleted file mode 100644 index a2457ac8826..00000000000 --- a/ulib/.hints/FStar.Sequence.Util.fst.hints +++ /dev/null @@ -1,233 +0,0 @@ -[ - "é’e©cëÁâp\u0000ßf“ïÅ", - [ - [ - "FStar.Sequence.Util.slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.take_length_fact", - "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_db22c0d28f73c3929cbc414b5a49ad2a" - ], - 0, - "92d624723bb2f895d9eadce44daa71cd" - ], - [ - "FStar.Sequence.Util.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5" - ], - 0, - "0edf9bcd1ae1e5e679061f20ce9fc4e9" - ], - [ - "FStar.Sequence.Util.tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5" - ], - 0, - "4162170b88ae02734afaa0fd43981876" - ], - [ - "FStar.Sequence.Util.un_build", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "typing_FStar.Sequence.Base.length" - ], - 0, - "e18afd8b31bc4d4cd1f235a49215d6ef" - ], - [ - "FStar.Sequence.Util.count_matches", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_3375bfe95b5335b524565c280937124b_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Util.tail", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Sequence.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "10e4698c19c486f37d6d4b5219588716" - ], - [ - "FStar.Sequence.Util.count_matches_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_0bbe8e0847a925ac3b87f1aba3a293d3" - ], - 0, - "63e8839ba5002b174391ec918edba0fb" - ], - [ - "FStar.Sequence.Util.count_empty", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_0bbe8e0847a925ac3b87f1aba3a293d3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "1132917a71dcfa4396ecc5dd49fb68ca" - ], - [ - "FStar.Sequence.Util.count_head", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Sequence.Util.head", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", - "interpretation_Tm_abs_21cc90372cde54c7e8246d2932b556b8", - "interpretation_Tm_abs_cb16ce11a844e6df10be13b7884f407d", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_73e875c22ca95314c9b0fdc8ccbb60f5", - "token_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "typing_FStar.Sequence.Util.count", - "typing_FStar.Sequence.Util.head", "typing_FStar.Sequence.Util.tail", - "typing_Tm_abs_cb16ce11a844e6df10be13b7884f407d" - ], - 0, - "3603f9015ba5944043d323e2d720de89" - ], - [ - "FStar.Sequence.Util.lemma_append_count_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@fuel_irrelevance_FStar.Sequence.Util.count_matches.fuel_instrumented", - "@query", - "FStar.Sequence.Util_interpretation_Tm_arrow_7326250d08c73a7388961066f97746aa", - "FStar.Sequence.Util_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ce235fc722425cf9cf95f5e141d8263c_2", - "binder_x_ce235fc722425cf9cf95f5e141d8263c_3", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.append_sums_lengths_fact", - "equation_FStar.Sequence.Base.append_then_take_or_drop_fact", - "equation_FStar.Sequence.Base.drop_index_offset_fact", - "equation_FStar.Sequence.Base.drop_length_fact", - "equation_FStar.Sequence.Base.equal_def_fact", - "equation_FStar.Sequence.Base.extensionality_fact", - "equation_FStar.Sequence.Base.index_after_append_fact", - "equation_FStar.Sequence.Base.index_into_drop_fact", - "equation_FStar.Sequence.Base.length_zero_implies_empty_fact", - "equation_FStar.Sequence.Base.op_Dollar_At", - "equation_FStar.Sequence.Util.head", - "equation_FStar.Sequence.Util.tail", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.Sequence.Util.count_matches.fuel_instrumented", - "function_token_typing_FStar.Sequence.Util.count", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5d02946074498d9d903cdbc4cf985744", - "interpretation_Tm_abs_86f4b6e55ab65b13f129651b95ef2787", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_88de4fab4b54623c198422723bb4f96a", - "refinement_interpretation_Tm_refine_99697efe7414d05eee8c173405e4b99b", - "token_correspondence_FStar.Sequence.Base.index", - "token_correspondence_FStar.Sequence.Base.op_Dollar_At", - "typing_FStar.Sequence.Base.append", - "typing_FStar.Sequence.Base.length", - "typing_FStar.Sequence.Util.count", - "typing_Tm_abs_5d02946074498d9d903cdbc4cf985744", - "well-founded-ordering-on-nat" - ], - 0, - "9837862116d297fd97ddf8097ef66eb5" - ], - [ - "FStar.Sequence.Util.fold_back", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_90a8ab9b2806baf18c389507517120cb_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Sequence.Base.all_seq_facts", - "equation_FStar.Sequence.Base.take_ranks_less_fact", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b4738b42e301f2bfed0307b4d14e6d3a", - "typing_FStar.Sequence.Base.length" - ], - 0, - "6ce8595d40cfe30bf788537977373779" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Sequence.fst.hints b/ulib/.hints/FStar.Sequence.fst.hints deleted file mode 100644 index 81471beddab..00000000000 --- a/ulib/.hints/FStar.Sequence.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "̱Àø>\u0002„jŸ@&]×O´", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Set.fst.hints b/ulib/.hints/FStar.Set.fst.hints deleted file mode 100644 index 097985648b2..00000000000 --- a/ulib/.hints/FStar.Set.fst.hints +++ /dev/null @@ -1,244 +0,0 @@ -[ - "ô„SÙ\u0018\u001af9\u0010$-þûÀ¦", - [ - [ - "FStar.Set.mem_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.empty", "equation_FStar.Set.mem", - "equation_Prims.eqtype", - "interpretation_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_127f4bac4ee3e4017241bd48c0dd39aa", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "6906968d5a4565586ede7431c4680321" - ], - [ - "FStar.Set.mem_singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.mem", "equation_FStar.Set.singleton", - "equation_Prims.eqtype", - "interpretation_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_3b0ace08b3d34b1b9c6190ea8851f44c", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "7fb89ddf02cfa7f8551831dc877cbe90" - ], - [ - "FStar.Set.mem_union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.mem", "equation_FStar.Set.union", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_7a5911b2344bd347a4c522edac0401df", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_7a5911b2344bd347a4c522edac0401df" - ], - 0, - "c96ffb6c7464f854f876afb0bb1583b6" - ], - [ - "FStar.Set.mem_intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.intersect", "equation_FStar.Set.mem", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_920217650fd17cad0a0f1ea71d8a3e64" - ], - 0, - "28cc2a3212b270a14fbfc44168890a32" - ], - [ - "FStar.Set.mem_complement", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.complement", "equation_FStar.Set.mem", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "99717c9aea2bfecfecea96d0259f7eee" - ], - [ - "FStar.Set.mem_intension", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.intension", "equation_FStar.Set.mem", - "equation_Prims.eqtype", - "interpretation_Tm_abs_6326eea4887383ba76f88bbb04bea6d8", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "570179465b4caa7a68dc95ce52362b9a" - ], - [ - "FStar.Set.mem_subset", - 1, - 0, - 0, - [ "@query", "equation_FStar.Set.subset" ], - 0, - "ee87a4ed6a9d25b312b0c783992a39b7" - ], - [ - "FStar.Set.subset_mem", - 1, - 0, - 0, - [ "@query", "equation_FStar.Set.subset" ], - 0, - "a65a02d1140765c48d8f86634a26f3ea" - ], - [ - "FStar.Set.lemma_equal_intro", - 1, - 0, - 0, - [ - "@query", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.Set.equal", "equation_FStar.Set.mem" - ], - 0, - "02e1e6544282679607d8e10d746aeec9" - ], - [ - "FStar.Set.lemma_equal_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.Set.equal", "equation_FStar.Set.set", - "equation_Prims.eqtype", - "lemma_FStar.FunctionalExtensionality.extensionality", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e", - "typing_Tm_abs_6326eea4887383ba76f88bbb04bea6d8" - ], - 0, - "0351f3503da6f33ff57e77e146b55290" - ], - [ - "FStar.Set.lemma_equal_refl", - 1, - 0, - 0, - [ "@query", "lemma_FStar.Set.lemma_equal_intro" ], - 0, - "37618f73ec51568218655c7840f83421" - ], - [ - "FStar.Set.disjoint_not_in_both", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.Set.mem", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "primitive_Prims.op_AmpAmp", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem" - ], - 0, - "7866b88be218e22e72cec62f54c1d479" - ], - [ - "FStar.Set.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "7c18d32927071bc90357c9c74f82fbee" - ], - [ - "FStar.Set.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Set.disjoint", "equation_FStar.Set.empty", - "equation_FStar.Set.mem", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem" - ], - 0, - "bca6d52bd168fc7edd6af2e2095145e0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Set.fsti.hints b/ulib/.hints/FStar.Set.fsti.hints deleted file mode 100644 index 4776f653372..00000000000 --- a/ulib/.hints/FStar.Set.fsti.hints +++ /dev/null @@ -1,37 +0,0 @@ -[ - "é¯p\u001b\u0019ñ·\rׇmKƒµaS", - [ - [ - "FStar.Set.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "c53398443ba9033299f6d0e6c2ba0f50" - ], - [ - "FStar.Set.lemma_disjoint_subset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Set.disjoint", "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_empty", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.subset_mem", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem" - ], - 0, - "6d9ab631c6150b29f770428e9975ae8d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.SizeT.fst.hints b/ulib/.hints/FStar.SizeT.fst.hints deleted file mode 100644 index 5678cd2640b..00000000000 --- a/ulib/.hints/FStar.SizeT.fst.hints +++ /dev/null @@ -1,724 +0,0 @@ -[ - "@ß< œHFÁ‘Ž›€u¾ù=", - [ - [ - "FStar.SizeT.t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt64.t" - ], - 0, - "7fb27d758225511cf997243d52a3a952" - ], - [ - "FStar.SizeT.fits_at_least_16", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.SizeT.fits", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_770e6fce549a48adfad8d770efa66282", - "typing_FStar.SizeT.bound" - ], - 0, - "ec7d1d7390b11206e7e1b66d499eeec3" - ], - [ - "FStar.SizeT.v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.SizeT.Sz", - "equation_FStar.SizeT.fits", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "fuel_guarded_inversion_FStar.SizeT.t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.UInt64.v" - ], - 0, - "1cf211893a32da112d53eb38c4cfbc11" - ], - [ - "FStar.SizeT.uint_to_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SizeT.fits", "equation_FStar.SizeT.v", - "equation_FStar.UInt.size", "equation_Prims.nat", "int_inversion", - "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "984053e66729ba608b5e4e0cf8f17736" - ], - [ - "FStar.SizeT.size_v_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "2d32c6d5cf3a883d1f3b9b1bb83a2cba" - ], - [ - "FStar.SizeT.size_v_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "fuel_guarded_inversion_FStar.SizeT.t", "lemma_FStar.UInt64.uv_inv", - "proj_equation_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_d31dc64f66418ea46750af0abf8cb278", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "typing_FStar.SizeT.__proj__Sz__item__x", - "typing_FStar.SizeT.uint_to_t", "typing_FStar.SizeT.v" - ], - 0, - "5e018c7771698fe5c5267c2b8ce55b85" - ], - [ - "FStar.SizeT.size_uint_to_t_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f44a69c85fb119efee49a3c3c38b96a5" - ], - [ - "FStar.SizeT.size_uint_to_t_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d31dc64f66418ea46750af0abf8cb278", - "typing_FStar.SizeT.uint_to_t" - ], - 0, - "7599171b5c36a73e5ee10d648ba3dda4" - ], - [ - "FStar.SizeT.fits_u64", - 1, - 2, - 1, - [ "@query" ], - 0, - "0f6966bc12496bb2f8ccd508c52dc9f7" - ], - [ - "FStar.SizeT.fits_u64_implies_fits_32", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "eq2-interp", "equation_FStar.SizeT.fits_u32", - "equation_FStar.SizeT.fits_u64", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "955a9d31960a5ae5f217b2196c81c2f6" - ], - [ - "FStar.SizeT.fits_u32_implies_fits", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "eq2-interp", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.fits_u32", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.SizeT.fits_at_least_16", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "db8d7a472ffcc07ca655b96d85f6da02" - ], - [ - "FStar.SizeT.fits_u64_implies_fits", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "eq2-interp", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.fits_u64", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.SizeT.fits_at_least_16", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "22f8f60666f5f1c9b1301862846a6a39" - ], - [ - "FStar.SizeT.of_u32", - 1, - 2, - 1, - [ "@query" ], - 0, - "e572689404c0fed3eea1180e980947a8" - ], - [ - "FStar.SizeT.of_u32", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.SizeT.fits", "equation_FStar.SizeT.fits_u32", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "662b470179da48f2febd85a2dc26b9d4" - ], - [ - "FStar.SizeT.of_u64", - 1, - 2, - 1, - [ "@query" ], - 0, - "0b346ee972bbcc650c1c0683b1bb58c8" - ], - [ - "FStar.SizeT.of_u64", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "eq2-interp", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.fits_u64", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "3586538ea2aabe67449bb887d1e5ac91" - ], - [ - "FStar.SizeT.uint16_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "9f18de491f1497c70bab21cfa644794f" - ], - [ - "FStar.SizeT.uint16_to_sizet", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "lemma_FStar.SizeT.fits_at_least_16", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt16.v" - ], - 0, - "4cf8c5d3ce8a01d234ac2ba39b08962f" - ], - [ - "FStar.SizeT.uint32_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "25f7f140506d5b72ea1179414492dcaf" - ], - [ - "FStar.SizeT.uint32_to_sizet", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.SizeT.fits", "equation_FStar.SizeT.fits_u32", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "662b470179da48f2febd85a2dc26b9d4" - ], - [ - "FStar.SizeT.uint64_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "250995e91a6a9457606fbcee017644b1" - ], - [ - "FStar.SizeT.uint64_to_sizet", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "eq2-interp", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.fits_u64", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "3586538ea2aabe67449bb887d1e5ac91" - ], - [ - "FStar.SizeT.sizet_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "09c119aac7af14d7259fb97ee40b5683" - ], - [ - "FStar.SizeT.sizet_to_uint32", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "fuel_guarded_inversion_FStar.SizeT.t", - "refinement_interpretation_Tm_refine_c479923313e878a1c62ec25251a47535" - ], - 0, - "701dc8a5633e624696417202cef3bd11" - ], - [ - "FStar.SizeT.sizet_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e18457dd50372b3cfbd2d5c62c846b1" - ], - [ - "FStar.SizeT.sizet_to_uint64", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.SizeT.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SizeT.t", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SizeT.v", "typing_FStar.UInt64.v" - ], - 0, - "31b5cd3b6fb597ee2163a97765de01c4" - ], - [ - "FStar.SizeT.fits_lte", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "bool_typing", "equation_FStar.SizeT.fits", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.SizeT.fits_at_least_16", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "e1f8d552a0feeb07b86562a92d96e4e0" - ], - [ - "FStar.SizeT.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "ad50dcb9588f2fd13800f678e5e1f45d" - ], - [ - "FStar.SizeT.add", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.v", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_Addition", - "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.SizeT.v", - "typing_FStar.UInt64.v" - ], - 0, - "fcaa7e53cd8608cd52f2a568d936629e" - ], - [ - "FStar.SizeT.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.SizeT.fits", "equation_FStar.SizeT.v", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.SizeT.v" - ], - 0, - "adfa055c6b774f9d0861c07a5e31a301" - ], - [ - "FStar.SizeT.mul", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.SizeT.fits", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "90b249700a7ca361d161a864e9169cea" - ], - [ - "FStar.SizeT.mul", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.v", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_Multiply", - "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.SizeT.v", - "typing_FStar.UInt64.v" - ], - 0, - "913e1c1ab4a6de9d00fcb8ab7871c718" - ], - [ - "FStar.SizeT.div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_07c09e516188b436a0440e69f7230884" - ], - 0, - "7a6202414831b0cec0ff566c5816313d" - ], - [ - "FStar.SizeT.div", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_FStar.SizeT.Sz", "equation_FStar.SizeT.fits", - "equation_FStar.SizeT.v", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SizeT.t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_07c09e516188b436a0440e69f7230884", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.SizeT.v", - "typing_FStar.UInt64.v" - ], - 0, - "a601f40f001c98a71d84d3ac05c68ee3" - ], - [ - "FStar.SizeT.mod_spec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.SizeT.fits", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_aa6a9e30f1f8ec8644f9ecb60708ad80" - ], - 0, - "40c20a3eb14810081c82bc685a615f08" - ], - [ - "FStar.SizeT.rem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_07c09e516188b436a0440e69f7230884", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "03b111b8782bb0097325dbb4d8558a3f" - ], - [ - "FStar.SizeT.rem", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.SizeT.mod_spec", "equation_FStar.SizeT.v", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.mod", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.SizeT.t", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.SizeT.Sz_x", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.SizeT.Sz_x", - "refinement_interpretation_Tm_refine_07c09e516188b436a0440e69f7230884", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_de514feaa9f1d45c5f7dd206b689dcb7", - "typing_FStar.SizeT.__proj__Sz__item__x", "typing_FStar.SizeT.v" - ], - 0, - "db38b3fb7bfebead4161ebeac8557881" - ], - [ - "FStar.SizeT.gt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "equation_FStar.UInt.gt", "equation_FStar.UInt64.gt", - "fuel_guarded_inversion_FStar.SizeT.t" - ], - 0, - "38219865af035a5641132b1b9f2bc76b" - ], - [ - "FStar.SizeT.gte", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "equation_FStar.UInt.gte", "equation_FStar.UInt64.gte", - "fuel_guarded_inversion_FStar.SizeT.t" - ], - 0, - "c703be87461cd1366364981ed292eee4" - ], - [ - "FStar.SizeT.lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "equation_FStar.UInt.lt", "equation_FStar.UInt64.lt", - "fuel_guarded_inversion_FStar.SizeT.t" - ], - 0, - "2e6089a453113b08e558c2aee27a1128" - ], - [ - "FStar.SizeT.lte", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.SizeT.v", - "equation_FStar.UInt.lte", "equation_FStar.UInt64.lte", - "fuel_guarded_inversion_FStar.SizeT.t" - ], - 0, - "c789a77359441c629dacfbbc8e254b4d" - ], - [ - "FStar.SizeT.__uint_to_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "5903f1db84d0bc5ab1a528b16575b310" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.SizeT.fsti.hints b/ulib/.hints/FStar.SizeT.fsti.hints deleted file mode 100644 index c0ce87d5cba..00000000000 --- a/ulib/.hints/FStar.SizeT.fsti.hints +++ /dev/null @@ -1,169 +0,0 @@ -[ - "\u0019T‰\u0012ÐKŠÐ\u0003º\u001b–\u0017\u0004\u001aâ", - [ - [ - "FStar.SizeT.size_v_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "3c5247812a6c53967b8c078df309d284" - ], - [ - "FStar.SizeT.size_uint_to_t_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "67f680f33fb5c9d82a8a992d5bf888aa" - ], - [ - "FStar.SizeT.of_u32", - 1, - 2, - 1, - [ "@query" ], - 0, - "565212fb4739df2df9e5e58f9f736fc4" - ], - [ - "FStar.SizeT.of_u64", - 1, - 2, - 1, - [ "@query" ], - 0, - "0386b5bc085cc68bc44e6cea54806c9b" - ], - [ - "FStar.SizeT.uint16_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "efb539b137093d0cde38556caa968ec4" - ], - [ - "FStar.SizeT.uint32_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "da3b7316679ae3c9e20e544bffd1a5eb" - ], - [ - "FStar.SizeT.uint64_to_sizet", - 1, - 2, - 1, - [ "@query" ], - 0, - "c721200b502472fced3d59835d8bd3f8" - ], - [ - "FStar.SizeT.sizet_to_uint32", - 1, - 2, - 1, - [ "@query" ], - 0, - "cd1b830d9f2ad300de8ba3989aa341f9" - ], - [ - "FStar.SizeT.sizet_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "cec4869f109520310255c491c7c1586e" - ], - [ - "FStar.SizeT.add", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b19d55c82264b6e63bf92bd9e1333c67" - ], - [ - "FStar.SizeT.mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cb46a1ae22c30f7efb48c3b4e158a2c2" - ], - [ - "FStar.SizeT.div", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_839ce6d58012d733d9f3ff233d62acf0" - ], - 0, - "1ebd50e7213cfd9c389e8ee492f6c958" - ], - [ - "FStar.SizeT.mod_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7df43cb9feb536df62477b7b30ce1682", - "refinement_interpretation_Tm_refine_aa6a9e30f1f8ec8644f9ecb60708ad80" - ], - 0, - "a0ce5dca35003aa49430e034d3847ce7" - ], - [ - "FStar.SizeT.rem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_839ce6d58012d733d9f3ff233d62acf0", - "typing_Prims.int" - ], - 0, - "02fd3f449933e1a24d6cb2d3bbb30949" - ], - [ - "FStar.SizeT.__uint_to_t", - 1, - 2, - 1, - [ "@query" ], - 0, - "0352d4607b3a0ae56db8ae6e40dc060f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Squash.fst.hints b/ulib/.hints/FStar.Squash.fst.hints deleted file mode 100644 index 59622518bed..00000000000 --- a/ulib/.hints/FStar.Squash.fst.hints +++ /dev/null @@ -1,51 +0,0 @@ -[ - "¨ƒ\u0018µKdV±cá¯\u0012OéYõ", - [ - [ - "FStar.Squash.return_squash", - 1, - 2, - 1, - [ "@query" ], - 0, - "07568c312dda536f6e3f627196f6dfcc" - ], - [ - "FStar.Squash.get_proof", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "10fb98c48c976cad72eaed188d81f357" - ], - [ - "FStar.Squash.give_proof", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f5bac0692b884d17ab012af31e9d6f56" - ], - [ - "FStar.Squash.proof_irrelevance", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_inversion" - ], - 0, - "21ffe236637318cc1b4ae6d7e829a749" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Squash.fsti.hints b/ulib/.hints/FStar.Squash.fsti.hints deleted file mode 100644 index ad7d87f0dd9..00000000000 --- a/ulib/.hints/FStar.Squash.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "“}YX>\n)æÝòi\u0013q-\u001b", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.SquashProperties.fst.hints b/ulib/.hints/FStar.SquashProperties.fst.hints deleted file mode 100644 index 7ab4d125b4e..00000000000 --- a/ulib/.hints/FStar.SquashProperties.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "Š\u001d­\u0006%ó©\u000bÇ”Š@ºNœf", - [ - [ - "FStar.SquashProperties.forall_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "fb4436efe9f9e6e74780577cae04b275" - ], - [ - "FStar.SquashProperties.bool_of_or", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "efa88fe223ff6d53f5917e52cae33939" - ], - [ - "FStar.SquashProperties.excluded_middle", - 1, - 2, - 1, - [ "@query" ], - 0, - "c544d135c5fbb573b342918a0a317ce7" - ], - [ - "FStar.SquashProperties.excluded_middle_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0a072959e7be7be61159772bf968ea07" - ], - 0, - "19a702c1b4f71654f5e6b93bb875eed3" - ], - [ - "FStar.SquashProperties.ifProp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c38932490b264ff622ef0109150ebc10" - ], - [ - "FStar.SquashProperties.ac", - 1, - 2, - 1, - [ - "@query", "proj_equation_FStar.SquashProperties.MkC_i2", - "proj_equation_FStar.SquashProperties.MkC_j2", - "projection_inverse_FStar.SquashProperties.MkC_i2", - "projection_inverse_FStar.SquashProperties.MkC_j2", - "token_correspondence_FStar.SquashProperties.__proj__MkC__item__i2", - "token_correspondence_FStar.SquashProperties.__proj__MkC__item__j2" - ], - 0, - "00d62c0c7ea951082cf14ac2d0c672be" - ], - [ - "FStar.SquashProperties.false_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f1ecc6ab6882a651504f328937700647" - ], - 0, - "e86be31fe895b01038c122ed337a4685" - ], - [ - "FStar.SquashProperties.l1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Left", - "disc_equation_Prims.Right", "fuel_guarded_inversion_Prims.sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bdd139e5200f99da1edc734711c9eed4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.String.fsti.hints b/ulib/.hints/FStar.String.fsti.hints deleted file mode 100644 index fac77b83e68..00000000000 --- a/ulib/.hints/FStar.String.fsti.hints +++ /dev/null @@ -1,69 +0,0 @@ -[ - "»»Ød\u0014\u0000—vzW׌\fÀ‚", - [ - [ - "FStar.String.make", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "817662136ba0eb2a1e88aad493c9a203" - ], - [ - "FStar.String.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2787e93e9a4555685ec15f92ff6430d4" - ], - [ - "FStar.String.index_string_of_list", - 1, - 2, - 1, - [ "@query", "equation_FStar.String.strlen" ], - 0, - "85a21443ebd244823cf0238e756c32c9" - ], - [ - "FStar.String.index_list_of_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.String.strlen", - "refinement_interpretation_Tm_refine_1ca113d8204771fcd4ddf6572679125d", - "string_inversion" - ], - 0, - "c4c46fe3e4847b89da7f83e902355f26" - ], - [ - "FStar.String.concat_injective", - 1, - 2, - 1, - [ - "@query", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.String.strlen" - ], - 0, - "c5fa63e918591fa91382bb4700d1fffc" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.StrongExcludedMiddle.fst.hints b/ulib/.hints/FStar.StrongExcludedMiddle.fst.hints deleted file mode 100644 index 4e77d166c63..00000000000 --- a/ulib/.hints/FStar.StrongExcludedMiddle.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "È\u0015h½¿4\u0013_0[aQU\u0011\u0003", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Errors.Msg.fsti.hints b/ulib/.hints/FStar.Stubs.Errors.Msg.fsti.hints deleted file mode 100644 index 45f81511724..00000000000 --- a/ulib/.hints/FStar.Stubs.Errors.Msg.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‘«=BhÌN1üqw2|9q(", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Reflection.Types.fsti.hints b/ulib/.hints/FStar.Stubs.Reflection.Types.fsti.hints deleted file mode 100644 index 167cbdfefa4..00000000000 --- a/ulib/.hints/FStar.Stubs.Reflection.Types.fsti.hints +++ /dev/null @@ -1,19 +0,0 @@ -[ - "H•frnÏ39(íõ†hM)", - [ - [ - "FStar.Stubs.Reflection.Types.name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "8504db90075e8bed876a64d2b88daa80" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Reflection.V1.Builtins.fsti.hints b/ulib/.hints/FStar.Stubs.Reflection.V1.Builtins.fsti.hints deleted file mode 100644 index 372a0cda12a..00000000000 --- a/ulib/.hints/FStar.Stubs.Reflection.V1.Builtins.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "T\u001a8\bþ,IÇÚG`½‹\fƒ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Reflection.V1.Data.fsti.hints b/ulib/.hints/FStar.Stubs.Reflection.V1.Data.fsti.hints deleted file mode 100644 index 1063ee82340..00000000000 --- a/ulib/.hints/FStar.Stubs.Reflection.V1.Data.fsti.hints +++ /dev/null @@ -1,956 +0,0 @@ -[ - "k¶MiÓ’ƒÊI²P%\u0017î", - [ - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_efd5d9e94a0dfd845da7b61e0710108d" - ], - 0, - "415d09ca07a4ba398948750379ed4a20" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_String__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2db000febd9473c40e29f83af9f73500" - ], - 0, - "0ba125219087ecd2adc5aae126cd01e2" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Range__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b81dbeb02bf5bc340e5281c07e89ab39" - ], - 0, - "1698a811cd0fece85a1e96473137721a" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Reflect__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8a943f1aa1ebb9ebec3e80a51b2b616c" - ], - 0, - "d5559d80343c625830709fed947c36b5" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Constant__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2374a76008847f833bddd8e4c12445e3" - ], - 0, - "d15eb0a8ba265f0a3287fe36455cfefd" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Cons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebf6d1d827cd36814af4d9abe0703493" - ], - 0, - "2d098b3465f5a1fac133cfd740d35cef" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Cons__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebf6d1d827cd36814af4d9abe0703493" - ], - 0, - "678e4370a0e4ede8b988b15122882772" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Cons__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ebf6d1d827cd36814af4d9abe0703493" - ], - 0, - "a49100aa14111085bfe248e0bd4e656f" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f8e689f870aa205b4391bbdb360d91e2" - ], - 0, - "604dee1b257585cc707fcb08f2c64a3e" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Var__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f8e689f870aa205b4391bbdb360d91e2" - ], - 0, - "7f9820b24552ce38ff9707d55deb8a04" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Pat_Dot_Term__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c2e5fe0384d7792a557b7350e3691171" - ], - 0, - "110a02a4f2084464500c5907c996de2f" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Q_Meta__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_61537a5df6756380f1aa9af3435844ab" - ], - 0, - "ce06d35cded4d56e1cd5de5023617244" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Uv_Succ__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_69f0fc9fb89b86f4ee5c0335783aebb4" - ], - 0, - "b736fe85b48a739722add05bab127d4b" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Uv_Max__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8deaa3325c46535ad14c8d2772a6405d" - ], - 0, - "7f2c72c6db3eb0598621679545c236f7" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Uv_BVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7fcf4ee3ec0f12e6e091cb960189fde9" - ], - 0, - "e047937e9a5df39babc504ada47f8a7e" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Uv_Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6f90083c6d03aa05d65989f88c154736" - ], - 0, - "c30a43cf83c60a5c2e6585e8b64d33d0" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Uv_Unif__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42daf24c5f0db0b88abca559ab755eec" - ], - 0, - "27aa2f0e300dba57919f75c338039d0a" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Var__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_168f88c3a49c96ae67c205b9a24a1fcb" - ], - 0, - "5a34e38052af438074ed0bbebc03c3e1" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_BVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a282cc5ce0ce931b920d87284a7aefb3" - ], - 0, - "03f779ff940e4989b6c23a24eebf110b" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_FVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a5a6d47465b5cd40ac73bc55bfa0c1a1" - ], - 0, - "f8306f9708d6a599396b391ed57ae590" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_UInst__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a0c574dc1e9d90273c34d3456c32cc" - ], - 0, - "5db6e7112adab96508e9acc3cd24b2a0" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_UInst__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a0a0c574dc1e9d90273c34d3456c32cc" - ], - 0, - "5c01d5bafcb9e632599dd5cb5512cd10" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_App__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80259a4a1bd9a9a634dd407a9c442a29" - ], - 0, - "98fd41a14a546f3ee97f466cbb8ffc69" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_App__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80259a4a1bd9a9a634dd407a9c442a29" - ], - 0, - "b7fd2d00d7b535b2aa5ec7d2a2d6fff6" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Abs__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_610090eea97375b9be5ca20cb901267a" - ], - 0, - "8eb4840cd447de4486412910dcd3c97c" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Abs__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_610090eea97375b9be5ca20cb901267a" - ], - 0, - "ed9c3470ae07c882ddd973abcf858053" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Arrow__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36ce793838bb57b4ee9ee7b0c315f246" - ], - 0, - "3a45a0cba629cedda9215f52e730eac4" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Arrow__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36ce793838bb57b4ee9ee7b0c315f246" - ], - 0, - "e8c9f57aebd1af366313445f46391d6e" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Type__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca2c26f652886239082287c3cbccf9a1" - ], - 0, - "7e1cf04f7331bd96d27cf7c50526bd4d" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Refine__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9193ca2ab2353e97ee4a7050fcd1084c" - ], - 0, - "8446a7adac9c58b88a86729b68119be6" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Refine__item__sort", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9193ca2ab2353e97ee4a7050fcd1084c" - ], - 0, - "dba1367749ed780e117419849d51cca0" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Refine__item__ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9193ca2ab2353e97ee4a7050fcd1084c" - ], - 0, - "e58774630fa2a6c0a1197380f136159b" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_768dff8516d7d6880f8340780d0dc493" - ], - 0, - "b5fe678d9d359e46217f4e91b03b8032" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Uvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f605df7fc04f04155f5c94a4f7b87022" - ], - 0, - "a6e23e48348d3010a78fddbc9bcec129" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Uvar__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f605df7fc04f04155f5c94a4f7b87022" - ], - 0, - "20fd43adaec6772091bcf64607ee8412" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__recf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "83a384bb60f07a2dcc357de5f1e6b869" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__attrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "d32257f22710a50c593291f8064d9bb0" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "ff2e3507792259160da65b60ec990f90" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__ty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "32a23629d393dd386dab906302f9e685" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "65af650e6992014b76c85668f9f458a4" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Let__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ad6fe39daf8c91d69dba9db9e0327acd" - ], - 0, - "38cc6f576fd6a2e69b526408e9fe7003" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Match__item__scrutinee", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac902ab259702c581896258fcc13dde2" - ], - 0, - "c7874454c3325a7c0aae99fd5c5774a1" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Match__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac902ab259702c581896258fcc13dde2" - ], - 0, - "86fd939615e53c77ebd11f6fb186ac14" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_Match__item__brs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ac902ab259702c581896258fcc13dde2" - ], - 0, - "b70d5526d66bf42f10c4a609f63234cb" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedT__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c860fd5f97e3fc56e353889daa378c7" - ], - 0, - "f8230c4242f9d2bf7f3e609914400bfb" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedT__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c860fd5f97e3fc56e353889daa378c7" - ], - 0, - "f60b6ff6d8748d0e28c762cde5387651" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedT__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c860fd5f97e3fc56e353889daa378c7" - ], - 0, - "bd6e08817029db9e24b7bf2e8277dc83" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedT__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c860fd5f97e3fc56e353889daa378c7" - ], - 0, - "17e70afa8fce18ee299ddae6f727dd0c" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedC__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4f14e44ca0736a67594509edb37d6eab" - ], - 0, - "097045ba3b57685576d827e8cce075ed" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedC__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4f14e44ca0736a67594509edb37d6eab" - ], - 0, - "80babedc7800f66e1fa8477638caf7b5" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedC__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4f14e44ca0736a67594509edb37d6eab" - ], - 0, - "7360792252d440e6d68aced2dd524aba" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Tv_AscribedC__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4f14e44ca0736a67594509edb37d6eab" - ], - 0, - "cc3c4c1906e9eb7b28711d00f7110232" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Total__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_926fea1bedb8f967f82078c54914939a" - ], - 0, - "a60d75c32f429b9dbd65622e757ad7cd" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_GTotal__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_243a803b408cdbd48b6316909e199748" - ], - 0, - "37e36723630dedab90f8138854e3a82f" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Lemma__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fd263fb28fb1ff052328b9f7d867b29" - ], - 0, - "14cdf91a87831d3dfd71caf8c92cf1c8" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Lemma__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fd263fb28fb1ff052328b9f7d867b29" - ], - 0, - "434549434228cb5b09dcdbde42b7d1f5" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Lemma__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5fd263fb28fb1ff052328b9f7d867b29" - ], - 0, - "6d600f83922754ed5f90afa0af80fd5b" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Eff__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef7871248ede6d25479826107af41f4" - ], - 0, - "7ae4f854235bf56a4c7b45e0cfb2fe6e" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Eff__item__eff_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef7871248ede6d25479826107af41f4" - ], - 0, - "9842b50f7b3248a51138a541fce259f2" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Eff__item__result", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef7871248ede6d25479826107af41f4" - ], - 0, - "4fcb633ad801847c11916eebde6a5f92" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Eff__item__eff_args", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef7871248ede6d25479826107af41f4" - ], - 0, - "ab310c9bd349f7d213716fc2c6e84b89" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__C_Eff__item__decrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8ef7871248ede6d25479826107af41f4" - ], - 0, - "cdd6ff842d44cfb2fd0c86e2b85d92aa" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Let__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30bcac9ac31ae02f34a2dbceb0510e38" - ], - 0, - "b2cd1e72de322ab7becf20e4cf6117df" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Let__item__lbs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_30bcac9ac31ae02f34a2dbceb0510e38" - ], - 0, - "296944b6ee762b909a9dab28474c1bfb" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Inductive__item__nm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c146eb763751e7a84a9c0962c0837186" - ], - 0, - "b0b3ef8b9e39967b430f738e33053806" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Inductive__item__univs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c146eb763751e7a84a9c0962c0837186" - ], - 0, - "a36e0268dc07615d1820a9ef3234968f" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Inductive__item__params", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c146eb763751e7a84a9c0962c0837186" - ], - 0, - "8b73fc25b8dbfee4485330e7385d272c" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Inductive__item__typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c146eb763751e7a84a9c0962c0837186" - ], - 0, - "5b00820061e5ebb64a657ae761dabf4a" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Inductive__item__cts", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c146eb763751e7a84a9c0962c0837186" - ], - 0, - "2accef97690a3a3edbe8a0eaa72e7841" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Val__item__nm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d501d47da805e04958414f4101e8dce" - ], - 0, - "84973161f8fbb508170e6cc9deaa5a58" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Val__item__univs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d501d47da805e04958414f4101e8dce" - ], - 0, - "fa3857299289a9756ab4a0ff6398262b" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Sg_Val__item__typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4d501d47da805e04958414f4101e8dce" - ], - 0, - "92cf6f48019f24f6a990b3b25d5eae44" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Reflectable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e33bba6a8fe3e06061e19bb855715c8b" - ], - 0, - "20650a4683bc07d4312ba0a0020a8ac1" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Discriminator__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_935d20e9ab22b1c635cdb4a27413a2cf" - ], - 0, - "fb38b7bcd7d962e5223b3d142c4cf897" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Projector__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_995bb42e1e1b504c33d937082a3c2220" - ], - 0, - "09f13d2eea3fb856fc9fd11d610f42b0" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__RecordType__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5aff5749734472c4392ec4d9a80e10ac" - ], - 0, - "61b3a074bc3db4892e7ceab1f944f0b6" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__RecordConstructor__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_305b9ed89695806b27ec2350c5b25d87" - ], - 0, - "88cf3291142a9378eb28f2e7a04d0f9a" - ], - [ - "FStar.Stubs.Reflection.V1.Data.__proj__Action__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33a0fbfe7cf9f8b39bcbbffdfaf33a74" - ], - 0, - "fcc5e159653095a958a01031c4ea6abc" - ], - [ - "FStar.Stubs.Reflection.V1.Data.var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bfe28462318a960cf7d262289c68ba76" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Reflection.V2.Builtins.fsti.hints b/ulib/.hints/FStar.Stubs.Reflection.V2.Builtins.fsti.hints deleted file mode 100644 index 22078eef18d..00000000000 --- a/ulib/.hints/FStar.Stubs.Reflection.V2.Builtins.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "À«XÄ€”\u001b/´RªË", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Reflection.V2.Data.fsti.hints b/ulib/.hints/FStar.Stubs.Reflection.V2.Data.fsti.hints deleted file mode 100644 index ae372a3fcc6..00000000000 --- a/ulib/.hints/FStar.Stubs.Reflection.V2.Data.fsti.hints +++ /dev/null @@ -1,944 +0,0 @@ -[ - "†±\u0000¯ðÜ\u0007|9:îmßž?§", - [ - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Int__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_418dc7105fe93def0897ac9652872c5e" - ], - 0, - "3e1db0cea5c455d4c6a861c006df34df" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_String__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7df21076da548fc4d6b8c52c485d3bab" - ], - 0, - "c0607b236071de99b614870039915568" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Range__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_77fa0f7914797f518561cfee6d1d9ee7" - ], - 0, - "6ffb556674d02c5feb741cd6b8cd092c" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Reflect__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9030914e45d85a046cc0a6fdb9222232" - ], - 0, - "e56793582f92cdda1c170565a8e1a6e3" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Real__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fe52390e6170c16c172c68852b19e4e7" - ], - 0, - "b73fa2b73e05b20de5b21899ace41a10" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Constant__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_26a3ca3c291e017bd04ab88ab3f1bd16" - ], - 0, - "28f4ecba1a21c9a57a28d09544e052ae" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Cons__item__head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_919c45f7fade48bc58599772159ac06a" - ], - 0, - "9fa62ef893cd3e136b3e7d48851db822" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Cons__item__univs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_919c45f7fade48bc58599772159ac06a" - ], - 0, - "f77a41ab4ce7eb344f11a973f611c663" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Cons__item__subpats", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_919c45f7fade48bc58599772159ac06a" - ], - 0, - "19dbe2a31806e3706472410a3797d7b0" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Var__item__sort", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b904eb95f43a094a00ec5951681ff0d1" - ], - 0, - "d0453fb560a3e9657cc707e3041cea2f" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Var__item__ppname", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b904eb95f43a094a00ec5951681ff0d1" - ], - 0, - "d66ba8ab3a0bcd609e7242aeabfbefa8" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Pat_Dot_Term__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7fcbc4d4271baad02416b0bc6d22bd6f" - ], - 0, - "564276d46b466cae9720f4d2344cacd3" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Q_Meta__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbfbe764a7047d11d6f7378b2ea1d9c3" - ], - 0, - "4ec6fb91f99e84c9afa9a69fd3b50ec3" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Uv_Succ__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb696a4d6494bfc767fa8ffd03153b72" - ], - 0, - "65a76b81466c700917ad199f08e53d03" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Uv_Max__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d8657da60176492ac3a92ebbd75a0986" - ], - 0, - "1e97c45d439664b7818bda0b040d44cd" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Uv_BVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8c4e0632856c87e06783b54b0bd598c2" - ], - 0, - "b3bb3d6100ec5f6e9fb8f76163450f06" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Uv_Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fdd06885f1615f0a9286347a2dd4b4eb" - ], - 0, - "10bc47bfda3a077edb896e68fb21caa2" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Uv_Unif__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_710b550dc4f0f58410a48dd8c021aa70" - ], - 0, - "c69ae83352f071b22a2005810110b99a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Var__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4248e8eff973519c395e9ad8b18c7f9" - ], - 0, - "59c6f69481bf036190d2920a5d0b6d47" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_BVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_473c0367e281690ddeb7ba9d7d22f1f6" - ], - 0, - "b698caaa48c0271f6ed7138c90f6b2fa" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_FVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2711b61c4b52079f3c5968c061f9fcf" - ], - 0, - "e224f2c8df5b417114fd1d62f553f46a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_UInst__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a52b06ee8dfc536800a89f6ecee4ecd" - ], - 0, - "1bb0279282f6715d74c355de5dce3a0f" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_UInst__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1a52b06ee8dfc536800a89f6ecee4ecd" - ], - 0, - "606fbd6d09da7481ccaa3da96be5578e" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_App__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ce618e257bb72c7bc0890dfed3cccc9e" - ], - 0, - "0fd514047aeaaa9eddbde519f78c79d8" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_App__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ce618e257bb72c7bc0890dfed3cccc9e" - ], - 0, - "9cbbdc650d140d3486c59b467be9a9d6" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Abs__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37a793ba5704ebbf15042feb27137572" - ], - 0, - "dcf0249d3d0844a8d5b1b006ff6e23c0" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Abs__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_37a793ba5704ebbf15042feb27137572" - ], - 0, - "124252f871183d5b98ca4dbe3b5de181" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Arrow__item__bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d01559daf290c998e8e5548df92339d" - ], - 0, - "7e173c1c99c19569af96bdef7e1780d6" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Arrow__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d01559daf290c998e8e5548df92339d" - ], - 0, - "31b8d5b28707999322315afdc17eab80" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Type__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d1b122fd2b90ff0b3deddd8582e5a32a" - ], - 0, - "c18eedf6977b7e2b37c49ebd999ed90e" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Refine__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4075b916a3bb3afcd075e57f2a2a3f7" - ], - 0, - "0712b8ef110238845353001dc4b6748b" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Refine__item__ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c4075b916a3bb3afcd075e57f2a2a3f7" - ], - 0, - "adbe90015c5cef289f754e0a29a6ce80" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33501ba90cf97ecf3695ea84cf87adca" - ], - 0, - "3a7d9427b6ed2efdf3e1345d040b2ac4" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Uvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd537019d2f0e727827f0138fef6addd" - ], - 0, - "730619175254a4ce12c6b7c593b483e3" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Uvar__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd537019d2f0e727827f0138fef6addd" - ], - 0, - "49a1537a6865c58ea0f337e8680be5fa" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Let__item__recf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43c986d2cf42f8731bfb915090e09a0b" - ], - 0, - "dffa7237e59c71c8ccaa8661576d447f" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Let__item__attrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43c986d2cf42f8731bfb915090e09a0b" - ], - 0, - "70adc7ae0706b28aff59f64c1708a5f0" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Let__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43c986d2cf42f8731bfb915090e09a0b" - ], - 0, - "25412207bc4b3318d4fbfbd33c6c3507" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Let__item__def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43c986d2cf42f8731bfb915090e09a0b" - ], - 0, - "043fd3b4b08f7d9838a9c0d99149c79f" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Let__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43c986d2cf42f8731bfb915090e09a0b" - ], - 0, - "1b344cf6cf886ae548fc2d3f55229405" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Match__item__scrutinee", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2565e86b1cc6542a4afc6f6409d3347b" - ], - 0, - "6e9950cd0dd155ee6f3d88dd22451971" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Match__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2565e86b1cc6542a4afc6f6409d3347b" - ], - 0, - "c7fab18bc6029680933ac7fb908f4854" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_Match__item__brs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2565e86b1cc6542a4afc6f6409d3347b" - ], - 0, - "f557d4f13c5109f6140e3dd3273da1f9" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedT__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc6354cd01f0cd4240123aff4b38cfaa" - ], - 0, - "1ed1013e460199f73c4ef3496ec1b5d7" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedT__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc6354cd01f0cd4240123aff4b38cfaa" - ], - 0, - "061213bd413cac27eef6f2913f928e04" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedT__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc6354cd01f0cd4240123aff4b38cfaa" - ], - 0, - "1b86499b82917914063a55ae48945e25" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedT__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dc6354cd01f0cd4240123aff4b38cfaa" - ], - 0, - "18e3c9d6fd889e69e045330c7ca645ee" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedC__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ef62970670d75775a601f0b31c2dc27" - ], - 0, - "9f0b497b69c3e71058b30ead0e6c8b31" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedC__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ef62970670d75775a601f0b31c2dc27" - ], - 0, - "f5c7f4d8f3d137676aaf30675018239a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedC__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ef62970670d75775a601f0b31c2dc27" - ], - 0, - "4b6efe1ce10ce87f8a61054d45dcf3b9" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Tv_AscribedC__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ef62970670d75775a601f0b31c2dc27" - ], - 0, - "bb321684584a50a62e856cc2bbd2acc3" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Total__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_74ef9f3102c78539bcc06df8913ee8b1" - ], - 0, - "b08deb4799d321aceb37b66c46784532" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_GTotal__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f55a5511b0c7b341ac4e0a29f002e4aa" - ], - 0, - "50137b02f6302a675fb2fd7c77f3077a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Lemma__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bc38916a900e5bdd4fb925f184ebe66" - ], - 0, - "8c33a2255e0e5e7b390f8f89df3d7272" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Lemma__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bc38916a900e5bdd4fb925f184ebe66" - ], - 0, - "16ac672bd329ef4b7fb72a6db0682b43" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Lemma__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1bc38916a900e5bdd4fb925f184ebe66" - ], - 0, - "d190a32d2e49e42de9917158407de099" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Eff__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd0fe4daa6c85dc6cf40f0518ba6e942" - ], - 0, - "cc2fd97dd49d547403ce24a7b894fe40" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Eff__item__eff_name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd0fe4daa6c85dc6cf40f0518ba6e942" - ], - 0, - "952bb5be3a2885fb221d98eae4e3412a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Eff__item__result", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd0fe4daa6c85dc6cf40f0518ba6e942" - ], - 0, - "2fd5b3d370fa8b7035bafd7b4097b689" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Eff__item__eff_args", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd0fe4daa6c85dc6cf40f0518ba6e942" - ], - 0, - "135442887631bc53885e5903247792b8" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__C_Eff__item__decrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd0fe4daa6c85dc6cf40f0518ba6e942" - ], - 0, - "6ba55f9721b464d56e10011e536ef99e" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Let__item__r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1b867ceb772281ec4266019ff8d6d9b1" - ], - 0, - "d2c846a14b4d73a01dde669154990ad1" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Let__item__lbs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1b867ceb772281ec4266019ff8d6d9b1" - ], - 0, - "19a29fda0fbdf81e5c5b7ab4116f691e" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Inductive__item__nm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df3cc4fabb72f574f0a5381358497b2d" - ], - 0, - "d5f3ef8cb9e6ccff53279cee50eb8490" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Inductive__item__univs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df3cc4fabb72f574f0a5381358497b2d" - ], - 0, - "1fa3fc1255e1628b8d7f044bb7015a47" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Inductive__item__params", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df3cc4fabb72f574f0a5381358497b2d" - ], - 0, - "d5d2856cefe7b3f6add659f572a0c0f4" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Inductive__item__typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df3cc4fabb72f574f0a5381358497b2d" - ], - 0, - "8dfb4cf667c0340056d7a0ab7ea71bec" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Inductive__item__cts", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df3cc4fabb72f574f0a5381358497b2d" - ], - 0, - "fba131aa27fa7945c3568f70ebfd32ac" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Val__item__nm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91a9125ccb843bed6e9b9be7bc535b70" - ], - 0, - "7b2bc11eb15e984c705eac6563a71756" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Val__item__univs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91a9125ccb843bed6e9b9be7bc535b70" - ], - 0, - "5f08d314a740b2482be78adb398bf7fa" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Sg_Val__item__typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_91a9125ccb843bed6e9b9be7bc535b70" - ], - 0, - "8f5a8c63e6b10db8a992e5b2cf5aa53a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Reflectable__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_075243a51708ebd772d3d2e2eaf14013" - ], - 0, - "1b5709668e54320a7fcd81732f933b0a" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Discriminator__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5ef75a4bf40ee1588677374b3b60e2f4" - ], - 0, - "e354b892fb5adb2f6b513603204c9731" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Projector__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9a97090f045049b2e1368b937b56bb62" - ], - 0, - "a9f33115c00c24d17776ce9279de9ef5" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__RecordType__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d124b17fb34b3abd56d52517393b5448" - ], - 0, - "dd1bdd058145e1ce3e69792268521033" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__RecordConstructor__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c0bafc599d6f39cd41d308647aaa42c" - ], - 0, - "6de3b65978350a669305e2ea14afc702" - ], - [ - "FStar.Stubs.Reflection.V2.Data.__proj__Action__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cc2340ef5eb651c7528c5134e77b39ce" - ], - 0, - "fb790cf8dcc9b674367e77fe54362ada" - ], - [ - "FStar.Stubs.Reflection.V2.Data.var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "baf53f1a9bf25eadbe1ea02b83e1c7f2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Syntax.Syntax.fsti.hints b/ulib/.hints/FStar.Stubs.Syntax.Syntax.fsti.hints deleted file mode 100644 index da4f86e6e04..00000000000 --- a/ulib/.hints/FStar.Stubs.Syntax.Syntax.fsti.hints +++ /dev/null @@ -1,149 +0,0 @@ -[ - "\u0017ä©>7ñ5†Y\u0018", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.Tactics.V2.Builtins.fsti.hints b/ulib/.hints/FStar.Stubs.Tactics.V2.Builtins.fsti.hints deleted file mode 100644 index 581282f7584..00000000000 --- a/ulib/.hints/FStar.Stubs.Tactics.V2.Builtins.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "G\u0005Ë—ÑÖƒçàD-o¢ØÑê", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Stubs.TypeChecker.Core.fsti.hints b/ulib/.hints/FStar.Stubs.TypeChecker.Core.fsti.hints deleted file mode 100644 index ce313e79f8f..00000000000 --- a/ulib/.hints/FStar.Stubs.TypeChecker.Core.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "§×Ãr—>üàÚ)Ó:\t\u001cc‰", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.TSet.fst.hints b/ulib/.hints/FStar.TSet.fst.hints deleted file mode 100644 index aeaecc71e93..00000000000 --- a/ulib/.hints/FStar.TSet.fst.hints +++ /dev/null @@ -1,299 +0,0 @@ -[ - "f¸¸/­ž€…‚\t_LK.Ϫ", - [ - [ - "FStar.TSet.mem_empty", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.empty", "equation_FStar.TSet.mem", - "false_interp", - "interpretation_Tm_abs_16e31acd0e944c0dbca617330e7817a8", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_16e31acd0e944c0dbca617330e7817a8", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "d9a0d9c8efb3a6fe7d3c4294d21d4a11" - ], - [ - "FStar.TSet.mem_singleton", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "eq2-interp", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.mem", "equation_FStar.TSet.singleton", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "interpretation_Tm_abs_45fa948b68f0fd9176df0a5d041d6d26", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "typing_Tm_abs_45fa948b68f0fd9176df0a5d041d6d26" - ], - 0, - "a09260a6684f3fce6c64bed99ef5860e" - ], - [ - "FStar.TSet.mem_union", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.mem", "equation_FStar.TSet.union", - "interpretation_Tm_abs_18de5701cc74185de18449b38814b3ae", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_18de5701cc74185de18449b38814b3ae", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "ac4989552e0cf7e6df76dc9da67d4cc9" - ], - [ - "FStar.TSet.mem_intersect", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.intersect", "equation_FStar.TSet.mem", - "interpretation_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "1556d455436e2ce55fd61660211803c8" - ], - [ - "FStar.TSet.mem_complement", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.complement", "equation_FStar.TSet.mem", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "interpretation_Tm_abs_8402846257d25eaf50dd86bcd1ba6a0b", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "typing_Tm_abs_8402846257d25eaf50dd86bcd1ba6a0b" - ], - 0, - "435550382f865a34f8ba3b4fa9e9d4a6" - ], - [ - "FStar.TSet.mem_subset", - 1, - 0, - 0, - [ "@query", "equation_FStar.TSet.subset" ], - 0, - "fb4dc86bad382d15823996ce1021d1f4" - ], - [ - "FStar.TSet.subset_mem", - 1, - 0, - 0, - [ "@query", "equation_FStar.TSet.subset" ], - 0, - "157fb2ca2c228fb8c71539126e79494f" - ], - [ - "FStar.TSet.mem_intension", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.intension", "equation_FStar.TSet.mem", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "1ab43057457fc13d2c717a20865beea0" - ], - [ - "FStar.TSet.lemma_equal_intro", - 1, - 0, - 0, - [ "@query", "equation_FStar.TSet.equal", "equation_FStar.TSet.mem" ], - 0, - "781044591d0cc76a9b80714c48e78e70" - ], - [ - "FStar.TSet.lemma_equal_elim", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.FunctionalExtensionality.is_restricted", - "equation_FStar.FunctionalExtensionality.restricted_t", - "equation_FStar.PredicateExtensionality.peq", - "equation_FStar.TSet.equal", "equation_FStar.TSet.set", - "refinement_interpretation_Tm_refine_7e4a6c5999db731b5d17d0418dfeea3e" - ], - 0, - "cc008851e60952bdcffefb6c2b04cfe7" - ], - [ - "FStar.TSet.lemma_equal_refl", - 1, - 0, - 0, - [ "@query", "lemma_FStar.TSet.lemma_equal_intro" ], - 0, - "b2e609d7602b522890b3a614dad08cc9" - ], - [ - "FStar.TSet.lemma_mem_tset_of_set_l", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "b2t_def", "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.mem", "equation_FStar.TSet.tset_of_set", - "equation_Prims.eqtype", "equation_Prims.prop", - "equation_Prims.squash", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "interpretation_Tm_abs_da1b56902a9b4384d21190d8b5214127", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "refinement_interpretation_Tm_refine_779bed3f07da9d8d731a2d37890ea955", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.TSet.mem", "typing_FStar.TSet.tset_of_set", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127" - ], - 0, - "fcfd732e20d2247a726635809e8d4717" - ], - [ - "FStar.TSet.lemma_mem_tset_of_set_r", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.mem", "equation_FStar.TSet.tset_of_set", - "equation_Prims.eqtype", "equation_Prims.prop", - "equation_Prims.subtype_of", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "interpretation_Tm_abs_da1b56902a9b4384d21190d8b5214127", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_73f210ca6e0061ed4a3150f69b8f33bf", - "typing_FStar.Set.mem", "typing_FStar.TSet.mem", - "typing_FStar.TSet.tset_of_set", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "typing_Tm_abs_da1b56902a9b4384d21190d8b5214127", "unit_inversion", - "unit_typing" - ], - 0, - "215e5cbf49e8a5c64b057c3c91c0ef10" - ], - [ - "FStar.TSet.lemma_mem_tset_of_set", - 1, - 0, - 0, - [ "@query" ], - 0, - "b5be3f32eaee7f4523da0bd39ef0c78a" - ], - [ - "FStar.TSet.lemma_mem_filter", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.PredicateExtensionality_interpretation_Tm_arrow_81e65de2755319ee661cc1adc7d951e3", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.filter", "equation_FStar.TSet.mem", - "interpretation_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "l_and-interp", "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "typing_Tm_abs_125bc00f64c7879a7d7fb8c1e5fc228b", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "82246afbde13fdc2e196d24f6a989fa5" - ], - [ - "FStar.TSet.lemma_mem_map", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "FStar.FunctionalExtensionality_interpretation_Tm_arrow_a7d5cc170be69663c495e8582d2bc62a", - "FStar.TSet_interpretation_Tm_arrow_c7bb8768d71c4279f70719c41ae73494", - "equation_FStar.FunctionalExtensionality.feq", - "equation_FStar.TSet.exists_y_in_s", "equation_FStar.TSet.map", - "equation_FStar.TSet.mem", - "function_token_typing_FStar.TSet.exists_y_in_s", - "interpretation_Tm_abs_2bac9c8a5eacd30e2057426a7a632682", - "lemma_FStar.FunctionalExtensionality.feq_on_domain", - "token_correspondence_FStar.TSet.exists_y_in_s", - "typing_Tm_abs_2bac9c8a5eacd30e2057426a7a632682" - ], - 0, - "4e06bd3a21faf924020deae18a351eb2" - ], - [ - "FStar.TSet.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "432dc21641ad8062323c68dda9e04efb" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.TSet.fsti.hints b/ulib/.hints/FStar.TSet.fsti.hints deleted file mode 100644 index a6aba71f901..00000000000 --- a/ulib/.hints/FStar.TSet.fsti.hints +++ /dev/null @@ -1,20 +0,0 @@ -[ - "\u001b‰¿?‡²àÞ4¹\u0001¬¾Ú9Â", - [ - [ - "FStar.TSet.as_set'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "ae81345c75cb18154c677e77736528e0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Arith.fst.hints b/ulib/.hints/FStar.Tactics.Arith.fst.hints deleted file mode 100644 index 8378032861a..00000000000 --- a/ulib/.hints/FStar.Tactics.Arith.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "äÑÈg\u000b­ó\u0015L\u000b. #«¹", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BV.Lemmas.fst.hints b/ulib/.hints/FStar.Tactics.BV.Lemmas.fst.hints deleted file mode 100644 index 6bb8d5a1696..00000000000 --- a/ulib/.hints/FStar.Tactics.BV.Lemmas.fst.hints +++ /dev/null @@ -1,556 +0,0 @@ -[ - "æÊâ>tvÇæ‘©\u001fÜL6L", - [ - [ - "FStar.Tactics.BV.Lemmas.cong_bvand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "76e9b58e8f3a77ebb104c1f8f4671983" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvand", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "5cef48d9691ecd63fd8bf198f3f871d7" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvand", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "792630ca9e32df3966157b8ee7813544" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "198c292ca03e57624fe16cefa008594c" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvxor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "e20513585d9d20c3f98ac298c0723260" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvxor", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "792630ca9e32df3966157b8ee7813544" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8a434e550d8f487d42b09446c2910835" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "76dfc4c39b826b385329e9534767e361" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvor", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "792630ca9e32df3966157b8ee7813544" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "9ae4ed29bed204233d523472c24847e9" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshl", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "61ea4d13b11c1054b33626cea733dd08" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshl", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebc305e399dbe0699bdc9d34f3e490e2" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e0a648f78bc1feb5b46fadf449995338" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "1262679ce903b72045925c6e62467b35" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshr", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebc305e399dbe0699bdc9d34f3e490e2" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvdiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e2392a4bfdd3f3c0883b6371f5b1b554" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvdiv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "ca33e838349b3b73325d4496ceab8ce1" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvdiv", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6021a53c25f7a0234d26b27d69d9b6dd" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8228923c8d7d33a3dad94473fd701780" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "f2c5bab2a2058f45727d440ca24e76eb" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmod", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6021a53c25f7a0234d26b27d69d9b6dd" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3b82dfaff525fc5fbd5253be486c89d0" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmul", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "4d71d69ab544eb9ce4582ac631516c74" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmul", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebc305e399dbe0699bdc9d34f3e490e2" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvadd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "11efe3e44d2ea131ba2705545b92e516" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvadd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "59d732301967ce77e7ac1312358328eb" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvadd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "792630ca9e32df3966157b8ee7813544" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9e48fbdc866d480b544e4d3324e46bec" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "5be6c33d895ddb205bdb81a3f9511f04" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvsub", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "792630ca9e32df3966157b8ee7813544" - ], - [ - "FStar.Tactics.BV.Lemmas.eq_to_bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2cd57bf60135bf799c908a89221e21cc" - ], - [ - "FStar.Tactics.BV.Lemmas.eq_to_bv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aa61d08cb2b82c11785e865870bb7288" - ], - 0, - "63c3be06ddeb9ee20a77e4d82fd5479c" - ], - [ - "FStar.Tactics.BV.Lemmas.eq_to_bv", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e01a068f8ce770db037f1ece56b481fb" - ], - [ - "FStar.Tactics.BV.Lemmas.lt_to_bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "79aed2ad3c7371512609a32b73fd0642" - ], - [ - "FStar.Tactics.BV.Lemmas.lt_to_bv", - 2, - 2, - 1, - [ "@query", "b2t_def" ], - 0, - "80e0e0e4a83e39474927f230b3bab8ee" - ], - [ - "FStar.Tactics.BV.Lemmas.lt_to_bv", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.Tactics.BV.Lemmas.trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "27b5fd5a5af5a92c15a586b1040a4a08" - ], - [ - "FStar.Tactics.BV.Lemmas.trans", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "8f1925d9fc31c7058a62d82e8f05df6e" - ], - [ - "FStar.Tactics.BV.Lemmas.trans", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2a87bb47528cf13f7aaba63ac19ffc06" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "93baa14cb6f883c328a6379dd6935238" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "0e268dd4cd7bf6f14a8c0d0f3b3f3c76" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "73f0a6a093f9a6078fe3570fc5ec4d97" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebbe25d8a9419d2c0879270f8a0ed64b" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4bbbd6f11b25aac1398a0fe769fa12ff" - ], - 0, - "4c9828164e5e934aa5cf98be18a2bf08" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "942046f3f2fac1d309783bddf198ceef" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BV.Lemmas.fsti.hints b/ulib/.hints/FStar.Tactics.BV.Lemmas.fsti.hints deleted file mode 100644 index 1c804d21a38..00000000000 --- a/ulib/.hints/FStar.Tactics.BV.Lemmas.fsti.hints +++ /dev/null @@ -1,197 +0,0 @@ -[ - "fEM<¯¿8Ñd(·5Z_Œ", - [ - [ - "FStar.Tactics.BV.Lemmas.cong_bvand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "76e9b58e8f3a77ebb104c1f8f4671983" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "198c292ca03e57624fe16cefa008594c" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8a434e550d8f487d42b09446c2910835" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "9ae4ed29bed204233d523472c24847e9" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvshr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e0a648f78bc1feb5b46fadf449995338" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvdiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e2392a4bfdd3f3c0883b6371f5b1b554" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8228923c8d7d33a3dad94473fd701780" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvmul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3b82dfaff525fc5fbd5253be486c89d0" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvadd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "11efe3e44d2ea131ba2705545b92e516" - ], - [ - "FStar.Tactics.BV.Lemmas.cong_bvsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9e48fbdc866d480b544e4d3324e46bec" - ], - [ - "FStar.Tactics.BV.Lemmas.eq_to_bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2cd57bf60135bf799c908a89221e21cc" - ], - [ - "FStar.Tactics.BV.Lemmas.lt_to_bv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "79aed2ad3c7371512609a32b73fd0642" - ], - [ - "FStar.Tactics.BV.Lemmas.trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "27b5fd5a5af5a92c15a586b1040a4a08" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d98885cfe4b8e766924b2d48d5497335" - ], - [ - "FStar.Tactics.BV.Lemmas.trans_lt2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebbe25d8a9419d2c0879270f8a0ed64b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BV.fst.hints b/ulib/.hints/FStar.Tactics.BV.fst.hints deleted file mode 100644 index ae973c0c884..00000000000 --- a/ulib/.hints/FStar.Tactics.BV.fst.hints +++ /dev/null @@ -1,27 +0,0 @@ -[ - "Q›àAúÐ-­«?=\"\u001e\u0013‡Ó", - [ - [ - "FStar.Tactics.BV.arith_to_bv_tac", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equality_tok_FStar.Reflection.V2.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", "string_typing", - "typing_tok_FStar.Reflection.V2.Formula.True_@tok" - ], - 0, - "66ba5d9bd4fabba99e7d8eb8a9c82e65" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BV.fsti.hints b/ulib/.hints/FStar.Tactics.BV.fsti.hints deleted file mode 100644 index bbec760a357..00000000000 --- a/ulib/.hints/FStar.Tactics.BV.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "j§ë\u0013¤z6Bƒ}ªiÃ~ ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BreakVC.fst.hints b/ulib/.hints/FStar.Tactics.BreakVC.fst.hints deleted file mode 100644 index 56bc9f4684c..00000000000 --- a/ulib/.hints/FStar.Tactics.BreakVC.fst.hints +++ /dev/null @@ -1,52 +0,0 @@ -[ - "—¬\u000eyöË ô'´U» ÎÜò", - [ - [ - "FStar.Tactics.BreakVC.mono_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.unit", "unit_typing" - ], - 0, - "0b32421f0d4084815e10aa3b7ca71108" - ], - [ - "FStar.Tactics.BreakVC.squash_p_impl_p", - 1, - 2, - 1, - [ "@query" ], - 0, - "31ace19121d6e60588db5abd459f864d" - ], - [ - "FStar.Tactics.BreakVC.aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.BreakVC.op_Equals_Equals_Greater_Greater", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "6d2ca1a056e8e61ace868e69d6070e51" - ], - [ - "FStar.Tactics.BreakVC.break_vc", - 1, - 2, - 1, - [ "@MaxIFuel_assumption", "@query", "unit_inversion" ], - 0, - "257a18a8012a0e19a594c2277eecfa4e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.BreakVC.fsti.hints b/ulib/.hints/FStar.Tactics.BreakVC.fsti.hints deleted file mode 100644 index a109c7352fd..00000000000 --- a/ulib/.hints/FStar.Tactics.BreakVC.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Šp¶ˆZè€\u0005,d\u0002y;å‚", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Builtins.fsti.hints b/ulib/.hints/FStar.Tactics.Builtins.fsti.hints deleted file mode 100644 index 3da4bf11fe1..00000000000 --- a/ulib/.hints/FStar.Tactics.Builtins.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "‚qü'éÀÿ4\u0017ö\u0002¡qÃ]¼", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Canon.Lemmas.fst.hints b/ulib/.hints/FStar.Tactics.Canon.Lemmas.fst.hints deleted file mode 100644 index 275ebe2e17b..00000000000 --- a/ulib/.hints/FStar.Tactics.Canon.Lemmas.fst.hints +++ /dev/null @@ -1,229 +0,0 @@ -[ - "N‹=³Ì¹æƒ¦|² Ñ òª", - [ - [ - "FStar.Tactics.Canon.Lemmas.distr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a08d83aeac70089da1a502ab59b8294d" - ], - [ - "FStar.Tactics.Canon.Lemmas.distl", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "b0ef9915241c0aeb4cdf8774cccc54bd" - ], - [ - "FStar.Tactics.Canon.Lemmas.ass_plus_l", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ee2264eb318ab8ea07254d153474d2c0" - ], - [ - "FStar.Tactics.Canon.Lemmas.ass_mult_l", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "605b8b1f44adf320ad40d4c0bc9c28c4" - ], - [ - "FStar.Tactics.Canon.Lemmas.comm_plus", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Addition" ], - 0, - "efb5233cfa3bcd895bbbeceab393564d" - ], - [ - "FStar.Tactics.Canon.Lemmas.sw_plus", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "e3fed7ce3f74d2b082159a3a3a84bff8" - ], - [ - "FStar.Tactics.Canon.Lemmas.sw_mult", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a328feeda63ad5bd6b8b012fd29df173" - ], - [ - "FStar.Tactics.Canon.Lemmas.comm_mult", - 1, - 2, - 1, - [ "@query", "primitive_Prims.op_Multiply" ], - 0, - "342bde5304ddca569894e23d8e635979" - ], - [ - "FStar.Tactics.Canon.Lemmas.trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "86c14e950c3136a6c2b05059652e0094" - ], - [ - "FStar.Tactics.Canon.Lemmas.cong_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "3cd0e6d08c71bfbc33fa1edf60645520" - ], - [ - "FStar.Tactics.Canon.Lemmas.cong_mult", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "807a4e0625176e6c4fae5e1066997cb1" - ], - [ - "FStar.Tactics.Canon.Lemmas.neg_minus_one", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "bb653377225431ec968b03c0b8eca3aa" - ], - [ - "FStar.Tactics.Canon.Lemmas.x_plus_zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "44b310302568725579e3e4943ef5e908" - ], - [ - "FStar.Tactics.Canon.Lemmas.zero_plus_x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "3ca5ac2cd60daed4c7bf8975a6f06e3e" - ], - [ - "FStar.Tactics.Canon.Lemmas.x_mult_zero", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "890e867ef98081d57b2e8e67de105eed" - ], - [ - "FStar.Tactics.Canon.Lemmas.zero_mult_x", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ce124f01f3c2e96fd44e8bff275ab479" - ], - [ - "FStar.Tactics.Canon.Lemmas.x_mult_one", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "d0c01c5a13cb51c8b9d9753b7da48280" - ], - [ - "FStar.Tactics.Canon.Lemmas.one_mult_x", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0" - ], - 0, - "c297d8d83a27449140690ea7a2717289" - ], - [ - "FStar.Tactics.Canon.Lemmas.minus_is_plus", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "4b792dd5bcf96d5081f8729bdba1559c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Canon.Lemmas.fsti.hints b/ulib/.hints/FStar.Tactics.Canon.Lemmas.fsti.hints deleted file mode 100644 index 4433c0a0f2d..00000000000 --- a/ulib/.hints/FStar.Tactics.Canon.Lemmas.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "À‡A\",îë%ûVs€Â\u0006\u0004", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Canon.fst.hints b/ulib/.hints/FStar.Tactics.Canon.fst.hints deleted file mode 100644 index b94565c67f0..00000000000 --- a/ulib/.hints/FStar.Tactics.Canon.fst.hints +++ /dev/null @@ -1,27 +0,0 @@ -[ - "ñΊ^\u000f¸±¦«à¢›\u007f’DY", - [ - [ - "FStar.Tactics.Canon.canon_point_entry", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "equality_tok_FStar.Reflection.V2.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", "string_typing", - "typing_tok_FStar.Reflection.V2.Formula.True_@tok" - ], - 0, - "e25529a68c6bffcef19c940e63883ed0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Canon.fsti.hints b/ulib/.hints/FStar.Tactics.Canon.fsti.hints deleted file mode 100644 index ce9ccc170ee..00000000000 --- a/ulib/.hints/FStar.Tactics.Canon.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "k¶\bØ\u0012\u0002×¢9\u0012=Ñ {¦", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonCommMonoid.fst.hints b/ulib/.hints/FStar.Tactics.CanonCommMonoid.fst.hints deleted file mode 100644 index f3a3b4bac71..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonCommMonoid.fst.hints +++ /dev/null @@ -1,639 +0,0 @@ -[ - "µêªG‡â¹µìÊö¶u×Ý\u0004", - [ - [ - "FStar.Tactics.CanonCommMonoid.var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "64e2f71479c8260e907d5b88d324b949" - ], - [ - "FStar.Tactics.CanonCommMonoid.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "dee1590125d9b9be3f6389c9e9bd53bc" - ], - [ - "FStar.Tactics.CanonCommMonoid.__proj__Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4a6a28f8ee0308139802aa0c22c74203" - ], - 0, - "ee3298d8bedc611407f2bc8a023152d4" - ], - [ - "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" - ], - 0, - "bafbea2737d4c3e6700078f5ed6a7c1a" - ], - [ - "FStar.Tactics.CanonCommMonoid.__proj__Mult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a64e73c7d706e3f2db7a9517f9fe5a35" - ], - 0, - "825623cb15a4f51fe259ef915c7957c8" - ], - [ - "FStar.Tactics.CanonCommMonoid.exp_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoid_pretyping_fd3d02987c4a41d65c70485af55b60bc", - "binder_x_fd3d02987c4a41d65c70485af55b60bc_0", - "disc_equation_FStar.Tactics.CanonCommMonoid.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoid.Unit", - "disc_equation_FStar.Tactics.CanonCommMonoid.Var", - "equality_tok_FStar.Tactics.CanonCommMonoid.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoid.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" - ], - 0, - "6e3dc527e4652e724a1b65cafa97fcb6" - ], - [ - "FStar.Tactics.CanonCommMonoid.mdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoid_pretyping_fd3d02987c4a41d65c70485af55b60bc", - "binder_x_fd3d02987c4a41d65c70485af55b60bc_6", - "disc_equation_FStar.Tactics.CanonCommMonoid.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoid.Unit", - "disc_equation_FStar.Tactics.CanonCommMonoid.Var", - "equality_tok_FStar.Tactics.CanonCommMonoid.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoid.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" - ], - 0, - "2fe8e4f11213d47a0f7144ce6a5d437f" - ], - [ - "FStar.Tactics.CanonCommMonoid.xsdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_7fb6ae19e9b1b741707833e90403f711_6", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoid.var", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "3e454b7ba46a4f7fc5acc12106c14626" - ], - [ - "FStar.Tactics.CanonCommMonoid.flatten", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoid_pretyping_fd3d02987c4a41d65c70485af55b60bc", - "binder_x_fd3d02987c4a41d65c70485af55b60bc_0", - "disc_equation_FStar.Tactics.CanonCommMonoid.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoid.Unit", - "disc_equation_FStar.Tactics.CanonCommMonoid.Var", - "equality_tok_FStar.Tactics.CanonCommMonoid.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoid.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" - ], - 0, - "9b379e04a9736b0fa657cdca702c957b" - ], - [ - "FStar.Tactics.CanonCommMonoid.flatten_correct_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "@query", "binder_x_29bc033fbf136376eadf5c2199fe83d8_4", - "binder_x_7fb6ae19e9b1b741707833e90403f711_6", - "binder_x_7fb6ae19e9b1b741707833e90403f711_7", - "binder_x_d8292bf5ecf6c31418bffe464c172c91_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.__proj__Cons__item__tl", "unit_inversion", - "unit_typing" - ], - 0, - "753b0f75f9187b99daad580fa42f836f" - ], - [ - "FStar.Tactics.CanonCommMonoid.flatten_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoid.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoid.mdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoid.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoid.mdenote.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommMonoid_pretyping_fd3d02987c4a41d65c70485af55b60bc", - "binder_x_29bc033fbf136376eadf5c2199fe83d8_4", - "binder_x_d8292bf5ecf6c31418bffe464c172c91_5", - "binder_x_fd3d02987c4a41d65c70485af55b60bc_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_FStar.Tactics.CanonCommMonoid.Mult", - "constructor_distinct_FStar.Tactics.CanonCommMonoid.Unit", - "constructor_distinct_FStar.Tactics.CanonCommMonoid.Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "disc_equation_FStar.Tactics.CanonCommMonoid.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoid.Unit", - "disc_equation_FStar.Tactics.CanonCommMonoid.Var", - "equality_tok_FStar.Tactics.CanonCommMonoid.Unit@tok", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommMonoid.flatten.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoid.mdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommMonoid.Mult__0", - "projection_inverse_FStar.Tactics.CanonCommMonoid.Mult__1", - "projection_inverse_FStar.Tactics.CanonCommMonoid.Var__0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_FStar.Tactics.CanonCommMonoid.Mult", - "typing_FStar.Tactics.CanonCommMonoid.flatten", - "typing_tok_FStar.Tactics.CanonCommMonoid.Unit@tok" - ], - 0, - "0b4d0ef2a3bcf08e803c5c934ed6245c" - ], - [ - "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "binder_x_29bc033fbf136376eadf5c2199fe83d8_5", - "binder_x_7fb6ae19e9b1b741707833e90403f711_7", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_4", - "binder_x_c8be4e8c7b532e417274dc372f3968e3_8", - "binder_x_d8292bf5ecf6c31418bffe464c172c91_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pervasives.Native.Mktuple2", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoid.xsdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "b7d9c9c86b87792ab8f2f88af4781cc2" - ], - [ - "FStar.Tactics.CanonCommMonoid.apply_swap_aux_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "e86c21e7f973423054c991bf1256f422" - ], - [ - "FStar.Tactics.CanonCommMonoid.apply_swap_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.nat", - "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" - ], - 0, - "60c5429dd704d6725743ce5507fb03a3" - ], - [ - "FStar.Tactics.CanonCommMonoid.apply_swaps_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "binder_x_7fb6ae19e9b1b741707833e90403f711_6", - "binder_x_efe4b5b6420632bd1b562d04fe4bf35d_7", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux" - ], - 0, - "32511b34f831f012447d6adff231348d" - ], - [ - "FStar.Tactics.CanonCommMonoid.permute_via_swaps_correct_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "refinement_interpretation_Tm_refine_07caab675e3d0b857bb71eaad3d06725" - ], - 0, - "a90dde4b16116ca81322c3452a89a0f7" - ], - [ - "FStar.Tactics.CanonCommMonoid.sort_via_swaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Tactics.CanonCommMonoid.sort", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int", "unit_typing" - ], - 0, - "6e07159f92388f78c931154ba88a15ba" - ], - [ - "FStar.Tactics.CanonCommMonoid.sortWith_via_swaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.List.Tot.Base.sortWith", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith", - "typing_Prims.int" - ], - 0, - "22a51982a5264be0459f5aad942ad896" - ], - [ - "FStar.Tactics.CanonCommMonoid.canon_correct", - 1, - 2, - 1, - [ "@query", "equation_FStar.Tactics.CanonCommMonoid.canon" ], - 0, - "dc97d3a2e066edb030888da6a30b6921" - ], - [ - "FStar.Tactics.CanonCommMonoid.monoid_reflect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56d0f688d16de61a4660d3251e66c1bb" - ], - 0, - "63e3959f7b4d417db2297402619f9e03" - ], - [ - "FStar.Tactics.CanonCommMonoid.where_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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" - ], - 0, - "0f97bfbf0a1bf9853e8ddc85872b8632" - ], - [ - "FStar.Tactics.CanonCommMonoid.reification_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "eef526c073471e19ad7726c3f5f001f3" - ], - [ - "FStar.Tactics.CanonCommMonoid.term_mem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e54bd6440acc0d8890f9980cc6334959" - ], - [ - "FStar.Tactics.CanonCommMonoid.quote_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, - "6470c7edf9218fc4675c63b86a156107" - ], - [ - "FStar.Tactics.CanonCommMonoid.quote_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.CanonCommMonoid.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoid.Unit", - "disc_equation_FStar.Tactics.CanonCommMonoid.Var", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoid.exp", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1c230e2d38a92a5f57027e60f45d9c2c" - ], - [ - "FStar.Tactics.CanonCommMonoid.const_compare", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Tactics.CanonCommMonoid.select_extra", - "typing_Prims.bool" - ], - 0, - "5d4b1522918bb66ba37d9b2c692a5792" - ], - [ - "FStar.Tactics.CanonCommMonoid.canon_monoid_const", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.const_last", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" - ], - 0, - "b658da008990509e00e4a64f72ba9c86" - ], - [ - "FStar.Tactics.CanonCommMonoid.lem1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.const_last", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" - ], - 0, - "c03a756378974031e0fc28e4cf946346" - ], - [ - "FStar.Tactics.CanonCommMonoid.special_compare", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "equation_FStar.Tactics.CanonCommMonoid.var", - "equation_FStar.Tactics.CanonCommMonoid.vmap", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "int_inversion", "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Tactics.CanonCommMonoid.select_extra", - "typing_Prims.bool" - ], - 0, - "77efa46cf17d509d79423d18fcb6dc64" - ], - [ - "FStar.Tactics.CanonCommMonoid.special_first_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoid.sortWith", - "equation_FStar.Tactics.CanonCommMonoid.special_first", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "function_token_typing_FStar.List.Tot.Base.sortWith", - "interpretation_Tm_abs_dd5f29c44574b107a3962e9f38375461", - "token_correspondence_FStar.Tactics.CanonCommMonoid.sortWith" - ], - 0, - "993132546632e524da543ee05769175b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints b/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints deleted file mode 100644 index e098fa2c623..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.Equiv.fst.hints +++ /dev/null @@ -1,514 +0,0 @@ -[ - "š-)\u0004åÚœ4R½ÜýôÍYä", - [ - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a13c840119b79f974e1a2f141a74716e" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Mult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_496b10ac03e2c5cb04fe228893de270f" - ], - 0, - "e477ed37e7068fc7b8e7f031d5070e72" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Mult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_496b10ac03e2c5cb04fe228893de270f" - ], - 0, - "4653b9a48e51993350615da4ad37f431" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.__proj__Atom__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80aab36172ecf8308d174cdb9d933a95" - ], - 0, - "ecf91b374148ddb9de545eb38bfd9194" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.exp_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple.Equiv_pretyping_40507689f4e177706f82ef302c598885", - "binder_x_40507689f4e177706f82ef302c598885_0", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" - ], - 0, - "7fb5db4ddf4e667a37ffa2d626720096" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.mdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple.Equiv_pretyping_40507689f4e177706f82ef302c598885", - "binder_x_40507689f4e177706f82ef302c598885_5", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" - ], - 0, - "5ad1d5e4ee15af7cc77409131f06dcdf" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_6f20fa11a10473d4a1c7d7e8e570720e_5", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "d9d9c40711fd5080e84f4191e5234b17" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple.Equiv_pretyping_40507689f4e177706f82ef302c598885", - "binder_x_40507689f4e177706f82ef302c598885_0", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" - ], - 0, - "6d3e5254437be922fd49887d1eb8acc1" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten_correct_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "@query", "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_3e9892f5f867ca8e1d1040d07777f18f_4", - "binder_x_6f20fa11a10473d4a1c7d7e8e570720e_5", - "binder_x_6f20fa11a10473d4a1c7d7e8e570720e_6", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "234a23bf18c58c161ca895afee9ae9c2" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.Equiv.mdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.Equiv.mdenote.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommMonoidSimple.Equiv_pretyping_40507689f4e177706f82ef302c598885", - "binder_x_39288767bd645baaad3cfe226f55ca24_3", - "binder_x_3e9892f5f867ca8e1d1040d07777f18f_4", - "binder_x_40507689f4e177706f82ef302c598885_5", - "binder_x_c62704c83d41fe4a341065c81536a843_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.Equiv.mdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom__0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult__0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "typing_FStar.Tactics.CanonCommMonoidSimple.Equiv.flatten", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" - ], - 0, - "54edd00d27aec0516ce57886f055e7bd" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_aux_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "binder_x_31ae7463dc412cf8955e305a7d29a858_4", - "binder_x_3e9892f5f867ca8e1d1040d07777f18f_5", - "binder_x_6f20fa11a10473d4a1c7d7e8e570720e_6", - "binder_x_7540a55f40f856e6a19ed22bbe31f31f_7", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_c62704c83d41fe4a341065c81536a843_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.Equiv.xsdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.cm", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.Equiv.equiv", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "typing_Prims.__proj__Cons__item__tl", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "8b2dac6c6b397a0c102801f75bf32c52" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_aux_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_Prims.eqtype", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length", "typing_Prims.int" - ], - 0, - "76d57bf5cb716df1faf569e4cea555bb" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swap_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.nat", - "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" - ], - 0, - "abd91bb85ac973fd8e694a3770e95e27" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.apply_swaps_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "binder_x_6f20fa11a10473d4a1c7d7e8e570720e_5", - "binder_x_b1c6ac66eb0f08575a11e9f0af19cc8f_6", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "typing_Prims.int" - ], - 0, - "25dff535901126b0f9736494d9e18fcd" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.permute_via_swaps_correct_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2880f704fc4616f79eb73c6d72df32bd" - ], - 0, - "fcab47444945df327ddc211c04c073ac" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.sort_via_swaps", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.atom", - "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.sort", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "function_token_typing_FStar.List.Tot.Base.sortWith" - ], - 0, - "5495080a8ea7a76b33d1cabe11bcf06c" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.canon_correct", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.canon" - ], - 0, - "4cb3bc8436ea0d8a43edc0ae50e70526" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.monoid_reflect_orig", - 1, - 2, - 1, - [ "@query" ], - 0, - "d89d8b171384b4a05da0dbd88adfa6bb" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.monoid_reflect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "d98211862ecad862b9a2ee139b1ac7bf" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.where_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "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" - ], - 0, - "8105835a9c400f2ce8ea7a35748f52ea" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.fatom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "17cd78005996298898731362b9c1938a" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.convert_map", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_e0486d619ff5dc7d89c9dd83f7b28827_0", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "95e059a27be999ba55e198c997ca2810" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.quote_exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple.Equiv_pretyping_40507689f4e177706f82ef302c598885", - "binder_x_40507689f4e177706f82ef302c598885_0", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.Equiv.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Equiv.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Equiv.Unit@tok" - ], - 0, - "bc5b923b549ab46b06fe66081865346e" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.Equiv.canon_monoid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl" - ], - 0, - "de0b28129406873f9057b08cebf43a4e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.fst.hints b/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.fst.hints deleted file mode 100644 index a93a4516d1b..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonCommMonoidSimple.fst.hints +++ /dev/null @@ -1,465 +0,0 @@ -[ - "\u001fåÔ\u0012|ËS&’ÖôòVQÐ~", - [ - [ - "FStar.Tactics.CanonCommMonoidSimple.atom", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4b5fc3c5d062de74003804fcb993b5f7" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.exp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5de76dc277e3dc42d590a1203ace30fa" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" - ], - 0, - "e420d529b545d2b33af0c9b23275e264" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.__proj__Mult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fb9c73b1353c9abcd486a708578ce468" - ], - 0, - "9e677b0feb5253e0950caa4aaf56a8eb" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.__proj__Atom__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6a7b0887633599a01c59f41173adade6" - ], - 0, - "8615646abad0fcfc26f05ffef173cac6" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.exp_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple_pretyping_e366edcd5b24a104b979cb8365800447", - "binder_x_e366edcd5b24a104b979cb8365800447_0", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" - ], - 0, - "84eabcf8b7e3b54d546287902ac21df4" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.mdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple_pretyping_e366edcd5b24a104b979cb8365800447", - "binder_x_e366edcd5b24a104b979cb8365800447_4", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" - ], - 0, - "24ad6d2988f6408737ceb07a6523f713" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.xsdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ff2b46f16cf65b05527d61deca087856_4", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "0ea42e1840c15700bf31583dfb77d53c" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.flatten", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommMonoidSimple_pretyping_e366edcd5b24a104b979cb8365800447", - "binder_x_e366edcd5b24a104b979cb8365800447_0", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Mult", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" - ], - 0, - "cd5957e3bf293e362b59418aec0b0db3" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.flatten_correct_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@query", "binder_x_539efd42dd5491357ce2f4a638cb7c43_2", - "binder_x_acdf3f16ef3c43b3cdcbb5dbb5dbabdc_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_ff2b46f16cf65b05527d61deca087856_4", - "binder_x_ff2b46f16cf65b05527d61deca087856_5", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Tactics.CanonCommMonoidSimple.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "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", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.op_At", - "typing_Prims.__proj__Cons__item__tl", "unit_inversion", - "unit_typing" - ], - 0, - "1efc13d410eaf48355d7469e06777fbd" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.flatten_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.mdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.mdenote.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommMonoidSimple_pretyping_e366edcd5b24a104b979cb8365800447", - "binder_x_539efd42dd5491357ce2f4a638cb7c43_2", - "binder_x_acdf3f16ef3c43b3cdcbb5dbb5dbabdc_3", - "binder_x_e366edcd5b24a104b979cb8365800447_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Atom", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Mult", - "constructor_distinct_FStar.Tactics.CanonCommMonoidSimple.Unit", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Atom", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Mult", - "disc_equation_FStar.Tactics.CanonCommMonoidSimple.Unit", - "equality_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok", - "equation_FStar.Tactics.CanonCommMonoidSimple.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.flatten.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.mdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommMonoidSimple.exp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Atom__0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Mult__0", - "projection_inverse_FStar.Tactics.CanonCommMonoidSimple.Mult__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_FStar.Tactics.CanonCommMonoidSimple.Mult", - "typing_FStar.Tactics.CanonCommMonoidSimple.flatten", - "typing_tok_FStar.Tactics.CanonCommMonoidSimple.Unit@tok" - ], - 0, - "e1515d7ffdfb16f50fe2ca6c733367ed" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "binder_x_539efd42dd5491357ce2f4a638cb7c43_3", - "binder_x_7fa1eea1801ffad67e8041ef6446ced2_6", - "binder_x_acdf3f16ef3c43b3cdcbb5dbb5dbabdc_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_ff2b46f16cf65b05527d61deca087856_5", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.amap", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommMonoidSimple.xsdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "7c08c396f5a882a0833ba46e611a5202" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.apply_swap_aux_correct", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "601e7bf5f310b3ae229a579c21e427e9" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.apply_swap_correct", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.nat", - "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" - ], - 0, - "70446b2fb1efb9d2cb57b3ee4a2acfe2" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.apply_swaps_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "binder_x_853f61ba52eab2a884670b6cc404352e_5", - "binder_x_ff2b46f16cf65b05527d61deca087856_4", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux" - ], - 0, - "c372c21268c96e6ce02e7d695a1586a5" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.permute_via_swaps_correct_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b70aa22271f726818977e2cb5df5feb6" - ], - 0, - "56cc246af15fa68270fb362415b6ff6a" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.sort_via_swaps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommMonoidSimple.atom", - "equation_FStar.Tactics.CanonCommMonoidSimple.sort", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "token_correspondence_FStar.List.Tot.Base.sortWith", - "typing_Prims.int" - ], - 0, - "aabff7413e0ee8ef3c5433a096479ca6" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.canon_correct", - 1, - 2, - 1, - [ "@query", "equation_FStar.Tactics.CanonCommMonoidSimple.canon" ], - 0, - "2e4c3082afe0cdc5719413b1b050d300" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.monoid_reflect_orig", - 1, - 2, - 1, - [ "@query" ], - 0, - "fecce804fc9fc74c200f6c3ad2f53a4a" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.monoid_reflect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7b6dab2a833a9a93b597fc692712251f" - ], - 0, - "9553ba49fccf80d6f17101165376cb72" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.where_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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" - ], - 0, - "192578f69a067eff9f05ce5b1e43963c" - ], - [ - "FStar.Tactics.CanonCommMonoidSimple.reification_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "993f29a084b498d0cbec437d2a17167a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonCommSemiring.fst.hints b/ulib/.hints/FStar.Tactics.CanonCommSemiring.fst.hints deleted file mode 100644 index 08c15b83462..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonCommSemiring.fst.hints +++ /dev/null @@ -1,2010 +0,0 @@ -[ - "M\u000fþè΂aR}‡£alˆ™©", - [ - [ - "FStar.Tactics.CanonCommSemiring.distribute_right", - 1, - 2, - 1, - [ "@query" ], - 0, - "1c8a2eb9ee86ae3d00d76e82de1da653" - ], - [ - "FStar.Tactics.CanonCommSemiring.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e026134ada0850e88a875166c31b2855" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.index", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "05e00623487ec7639fbb4a815346d0b3" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f11486d50cf063e56549ed050db404b" - ], - 0, - "582b20ffed568eb42ba2d7f3710fb285" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_var__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3f11486d50cf063e56549ed050db404b" - ], - 0, - "5788f7427442a47c0d50d291bd1f58ef" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum", - 1, - 2, - 1, - [ - "@query", - "assumption_FStar.Tactics.CanonCommSemiring.varlist__uu___haseq" - ], - 0, - "f9709618389a1066757a5ee4fc2f0590" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_monom__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4e3c46a202a1bb75f3e9a96fde0f8728" - ], - 0, - "5e49778aedf0b81af9e4925465e00c17" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_monom__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4e3c46a202a1bb75f3e9a96fde0f8728" - ], - 0, - "ce2e40f7eda006fadffddbdb686b95f1" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_monom__item___2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4e3c46a202a1bb75f3e9a96fde0f8728" - ], - 0, - "1f9d480f5d126f1e069d27b1966eece8" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_varlist__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e45f3dddedd9214cee4011b1a0aaab83" - ], - 0, - "ff25a3049519dd2cd3b87c7551fd8dac" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Cons_varlist__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e45f3dddedd9214cee4011b1a0aaab83" - ], - 0, - "29f83eed54c23670c326b37b7095e239" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_lt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_099db9370570217784222a49b6f7d399_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_var" - ], - 0, - "9b01b3ed6a81fb9cf10b78f17891efca" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "binder_x_099db9370570217784222a49b6f7d399_0", - "binder_x_099db9370570217784222a49b6f7d399_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_var", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "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_FStar.Tactics.CanonCommSemiring.Cons_var", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok" - ], - 0, - "1c1419e653118606022c62d49e7bdf58" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_merge", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_099db9370570217784222a49b6f7d399_2", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxInt_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_var", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "well-founded-ordering-on-nat" - ], - 0, - "3b7107333a2568b4e83a7c744854e483" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_merge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_80bb2051a563aff44b1f75e0d777a766_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "8d02518d6870f8673eb0094bf18f0fff" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_merge", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Tactics.CanonCommSemiring.varlist__uu___haseq", - "binder_x_80bb2051a563aff44b1f75e0d777a766_5", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "well-founded-ordering-on-nat" - ], - 0, - "4a4551eabe88ad6f69f1a170b0b4edd2" - ], - [ - "FStar.Tactics.CanonCommSemiring.monom_insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Tactics.CanonCommSemiring.varlist__uu___haseq", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "08cf481764e6d764a42acc65e390a6ef" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_63c5565962339f7bf65aa9df83e942b5_4", - "binder_x_e37e18ff5bd2ace110fb8aaa6ad695a8_2", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "d8a91d586a86eb59ea813a6c347ab2f6" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_80bb2051a563aff44b1f75e0d777a766_3", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "115301c82603bf97cf6fd40f381c87af" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "39a7b9725f998e64f86c54f659cd1c4b" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_prod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_80bb2051a563aff44b1f75e0d777a766_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "1447b8f2edc8e4d5aab18517a3fa26d2" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.index", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "13df6f97510e41407496f58e111d8e82" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f9e5f2439b5e434e1a8ea1d2b7837d87" - ], - 0, - "d84bdf4709b377982f30d1c89fcf4913" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPconst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a590e9dcc633ebd71f900e2d1db364e1" - ], - 0, - "04b14f3934e925ee078e93149a25c22e" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPplus__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c374edad2b0d61272252237882abe75" - ], - 0, - "8cf7b6ce95df6859b950f34b3321b4cc" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPplus__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c374edad2b0d61272252237882abe75" - ], - 0, - "453238f89d3b864d2cdba2a001632505" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPmult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2799c6a8977e9d108cbf6b4a1c48b018" - ], - 0, - "b9c5789da717b79bc846d90f07b2f806" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__SPmult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2799c6a8977e9d108cbf6b4a1c48b018" - ], - 0, - "bbec8816b68c4d54fa27359977726b47" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial_normalize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_ae41cabe3cf7d8b58375f8a102ed08cf_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.spolynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPplus" - ], - 0, - "16f604566375a3ee7ae2e93f9721b8f5" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_simplify", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_80bb2051a563aff44b1f75e0d777a766_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "7dba6df741b605458f990681d7ccda8f" - ], - [ - "FStar.Tactics.CanonCommSemiring.quote_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, - "622cdbeeac3317fade5234ed0bb319e8" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.var", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2430e2f1af076f8b5be570c21867a6a8" - ], - [ - "FStar.Tactics.CanonCommSemiring.ivl_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "binder_x_099db9370570217784222a49b6f7d399_5", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_var", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_var", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok" - ], - 0, - "eb7cdf4e084f5d4b85a343884d18847f" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_vl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_var", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "93ab4667037bdaa4a5936d6a2fb59bd3" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_m", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_var", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "fa5e60761714bdc2d5eab45e827f7551" - ], - [ - "FStar.Tactics.CanonCommSemiring.ics_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_63c5565962339f7bf65aa9df83e942b5_5", - "binder_x_e37e18ff5bd2ace110fb8aaa6ad695a8_2", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist" - ], - 0, - "6cb82ed7ace16b7f277ace06c195f2d9" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_cs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "37358565051fca1f7be771b06b8b1253" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_sp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_76098910360e1a84c453a13be8976bb9_4", - "binder_x_e37e18ff5bd2ace110fb8aaa6ad695a8_2", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.spolynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPplus" - ], - 0, - "5d71dede63b15cf0351ef919c2d58ff2" - ], - [ - "FStar.Tactics.CanonCommSemiring.mult_one_r", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l" ], - 0, - "bcbfa96dc24c3becdf75ab9d2f31b20f" - ], - [ - "FStar.Tactics.CanonCommSemiring.mult_zero_r", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_l" ], - 0, - "ef07516544d3be662b6c3ef52eb569ef" - ], - [ - "FStar.Tactics.CanonCommSemiring.add_zero_r", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Tactics.CanonCommSemiring.add_zero_l" ], - 0, - "184547945dc11680803f7a6d3463be87" - ], - [ - "FStar.Tactics.CanonCommSemiring.opp_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.CanonCommSemiring_interpretation_Tm_arrow_fcd589b21e6efcf1e5d17b07c282a015", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_l", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_opp", - "token_correspondence_FStar.Tactics.CanonCommSemiring.__proj__CR__item__opp" - ], - 0, - "e6f08b14c81b76b6740f7ab6cd01315a" - ], - [ - "FStar.Tactics.CanonCommSemiring.add_mult_opp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_l" - ], - 0, - "574098dd8a5b7cb8ca9c3b7af3c51a1f" - ], - [ - "FStar.Tactics.CanonCommSemiring.ivl_aux_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@query", "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "typing_FStar.Tactics.CanonCommSemiring.ivl_aux" - ], - 0, - "30b568bb70dbe0b0f013ed2ad508d4ad" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_merge_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "binder_x_099db9370570217784222a49b6f7d399_3", - "binder_x_099db9370570217784222a49b6f7d399_4", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_var", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_var", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.interp_var", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "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.Tactics.CanonCommSemiring.Cons_var__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_var__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_var", - "typing_FStar.Tactics.CanonCommSemiring.interp_var", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.varlist_merge", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "unit_inversion", "unit_typing" - ], - 0, - "b0f9146f8df288320fa7971280ce5cc4" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_merge_ok", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_099db9370570217784222a49b6f7d399_4", - "binder_x_099db9370570217784222a49b6f7d399_5", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_970f3a5d14cf420df7df3503dd357bac_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_var", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_var", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.index", - "equation_FStar.Tactics.CanonCommSemiring.interp_var", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.vm_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_var__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_var__1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_var", - "token_correspondence_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "typing_FStar.Tactics.CanonCommSemiring.interp_var", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.vm_aux", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "902c2b21b96735ed25a438321d2f0bb7" - ], - [ - "FStar.Tactics.CanonCommSemiring.ics_aux_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented" - ], - 0, - "bd8e8f575538a38718976b3307930b5f" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_m_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Tactics.CanonCommSemiring.interp_m" - ], - 0, - "ee5d272d99b2228a55f01a8081a06eb9" - ], - [ - "FStar.Tactics.CanonCommSemiring.aplus_assoc_4", - 1, - 2, - 1, - [ "@query" ], - 0, - "b61f4ac0109be77f6fbcca71dc111d71" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_merge_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "@query", "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_3", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "8d83b799ad097480141ceb1bf6cc87fa" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_merge_ok", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.varlist_lt.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Algebra.CommMonoid_pretyping_385df9d0daf2bb38ee68840268a35433", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Tactics.CanonCommSemiring.varlist__uu___haseq", - "binder_x_099db9370570217784222a49b6f7d399_4", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_5", - "binder_x_80bb2051a563aff44b1f75e0d777a766_6", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_var", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "data_typing_intro_FStar.Tactics.CanonCommSemiring.Cons_monom@tok", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.varlist_lt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "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.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_FStar.Tactics.CanonCommSemiring.csm_aux", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "unit_inversion", "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "59dacf86b7effa5e3b7eb92ce67a50cf" - ], - [ - "FStar.Tactics.CanonCommSemiring.monom_insert_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.monom_insert.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.varlist_lt.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.monom_insert.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "FStar.Algebra.CommMonoid_pretyping_385df9d0daf2bb38ee68840268a35433", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "assumption_FStar.Tactics.CanonCommSemiring.varlist__uu___haseq", - "binder_x_099db9370570217784222a49b6f7d399_4", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_5", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_var", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.monom_insert.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.varlist_lt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_add", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_FStar.Tactics.CanonCommSemiring.monom_insert.fuel_instrumented", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_FStar.Tactics.CanonCommSemiring.ics_aux", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.monom_insert", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "unit_inversion", "unit_typing" - ], - 0, - "257686d8de7d42c1a7715b7409d6490b" - ], - [ - "FStar.Tactics.CanonCommSemiring.varlist_insert_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.varlist_insert", - "equation_Prims.eqtype", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "33c2b41f38ed889e193a753578b9e796" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "data_typing_intro_FStar.Tactics.CanonCommSemiring.Cons_monom@tok", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_r", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_add", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar.fuel_instrumented", - "typing_FStar.Tactics.CanonCommSemiring.__proj__CR__item__cm_add", - "typing_FStar.Tactics.CanonCommSemiring.__proj__CR__item__cm_mult", - "typing_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "a24fcdc4f3f18a4c85e866482a13e403" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar2_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar2.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.varlist_merge.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar2.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "binder_x_099db9370570217784222a49b6f7d399_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.varlist_insert", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar2.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_r", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_FStar.Tactics.CanonCommSemiring.__proj__CR__item__cm_mult", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "2822b857dfbc3552caff8b6bc0fadb15" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_scalar3_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar3.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar3.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "binder_x_099db9370570217784222a49b6f7d399_4", - "binder_x_157b99e815dc43d99415725267e9c452_3", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_5", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_scalar3.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_r", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_FStar.Tactics.CanonCommSemiring.__proj__CR__item__cm_mult", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "778782f0ffbedd4edf6bc8c64014be75" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_prod_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_interpretation_Tm_arrow_72ac2ec523211f8603e00b25deb1543b", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_3", - "binder_x_80bb2051a563aff44b1f75e0d777a766_4", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "data_elim_FStar.Algebra.CommMonoid.CM", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_l", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "typing_FStar.Tactics.CanonCommSemiring.__proj__CR__item__cm_mult", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl" - ], - 0, - "e56ce3751ab188a6fec5e74d397b1267" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial_normalize_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "@query", "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_ae41cabe3cf7d8b58375f8a102ed08cf_3", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_var", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_var", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPconst", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPmult", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPplus", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPvar", - "data_elim_FStar.Tactics.CanonCommSemiring.Cons_monom", - "data_elim_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "data_typing_intro_FStar.Tactics.CanonCommSemiring.Cons_var@tok", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.SPvar", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ivl_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.spolynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_var__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_var__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.SPplus", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.spolynomial_normalize", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok" - ], - 0, - "0855f666ec4ffaf9c095f2edfeffbf63" - ], - [ - "FStar.Tactics.CanonCommSemiring.canonical_sum_simplify_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_simplify.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.canonical_sum_simplify.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_80bb2051a563aff44b1f75e0d777a766_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "data_elim_FStar.Tactics.CanonCommSemiring.Cons_var", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_monom", - "disc_equation_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "disc_equation_FStar.Tactics.CanonCommSemiring.Nil_monom", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.index", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_simplify.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.ics_aux.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.varlist", - "int_inversion", "lemma_FStar.Tactics.CanonCommSemiring.add_zero_l", - "lemma_FStar.Tactics.CanonCommSemiring.add_zero_r", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "lemma_FStar.Tactics.CanonCommSemiring.mult_zero_l", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_monom", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "typing_FStar.Tactics.CanonCommSemiring.canonical_sum_simplify", - "typing_FStar.Tactics.CanonCommSemiring.interp_cs", - "typing_FStar.Tactics.CanonCommSemiring.interp_m", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.ivl_aux", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok" - ], - 0, - "491047835be08db3bb561e54acd44d01" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial_simplify_ok", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.Tactics.CanonCommSemiring.spolynomial_simplify" - ], - 0, - "64f5114768d9458be2841c2a967dc660" - ], - [ - "FStar.Tactics.CanonCommSemiring.polynomial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.index", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8cd1ada4f4d918e10b9a3b1aa866f0b9" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_17fea77d614c00fac8a0a1b40c807c81" - ], - 0, - "54959a898a76df9fb9785ff23b58580b" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pconst__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_28c5bf10111eca12cd4dc9a0725c6ee5" - ], - 0, - "fbd654d30c1c355fcf8f3b782ad62c8a" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pplus__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_368d27eb43dd0c42ebd3c4be6530a9ce" - ], - 0, - "fee55ae530cc53ea9f503515427c0340" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pplus__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_368d27eb43dd0c42ebd3c4be6530a9ce" - ], - 0, - "3a8a5f3911957005d0e0ad769dd262bf" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pmult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ff961f4f77aa0b30ace470677a20fa68" - ], - 0, - "86fee11e3a418d178ebe1fbafd26b6b0" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Pmult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ff961f4f77aa0b30ace470677a20fa68" - ], - 0, - "a6b1efd863cba1657c08556588248806" - ], - [ - "FStar.Tactics.CanonCommSemiring.__proj__Popp__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_724e30ae0646f59a40c172bafa15d164" - ], - 0, - "a0d1794d0d2927a3223ed05efee5d616" - ], - [ - "FStar.Tactics.CanonCommSemiring.polynomial_normalize", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9a146ff490e76bfb6b169ca59d4a11ac_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Popp", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pplus" - ], - 0, - "bde40bab61e649e71b413306ecb609e4" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9a146ff490e76bfb6b169ca59d4a11ac_2", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Popp", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pplus" - ], - 0, - "bad692d3699f6cd25c119dd0339688ec" - ], - [ - "FStar.Tactics.CanonCommSemiring.interp_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2c4fa8707cb33e8e8fc5951072edee9b_4", - "binder_x_e37e18ff5bd2ace110fb8aaa6ad695a8_2", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__1", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Popp", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pplus" - ], - 0, - "1e5c121ecb3785aeb759ad2f096e880e" - ], - [ - "FStar.Tactics.CanonCommSemiring.spolynomial_of_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.interp_p.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.interp_p.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "@query", "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_9a146ff490e76bfb6b169ca59d4a11ac_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pconst", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pmult", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Popp", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pplus", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pvar", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPconst", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPmult", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPplus", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPvar", - "data_elim_FStar.Tactics.CanonCommSemiring.SPmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.interp_p.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.interp_sp.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pconst__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pconst_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Popp__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Popp_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pvar__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pvar_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Popp", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pplus", - "typing_FStar.Tactics.CanonCommSemiring.spolynomial_of" - ], - 0, - "cd4c5f6ca7e1184aa0a18d8e56f0cf07" - ], - [ - "FStar.Tactics.CanonCommSemiring.polynomial_normalize_ok", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.polynomial_normalize.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.polynomial_normalize.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "@query", - "FStar.Algebra.CommMonoid_pretyping_385df9d0daf2bb38ee68840268a35433", - "FStar.Tactics.CanonCommSemiring_pretyping_099db9370570217784222a49b6f7d399", - "binder_x_20b059673f08a8afa7e37bebc83bae61_2", - "binder_x_9a146ff490e76bfb6b169ca59d4a11ac_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_fdefedb18760e8752e07f0c4eaa3e0f0_1", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Cons_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Nil_monom", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pconst", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pmult", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Popp", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pplus", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.Pvar", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPconst", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPmult", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPplus", - "constructor_distinct_FStar.Tactics.CanonCommSemiring.SPvar", - "data_elim_FStar.Tactics.CanonCommSemiring.CR", - "data_elim_FStar.Tactics.CanonCommSemiring.Cons_monom", - "data_elim_FStar.Tactics.CanonCommSemiring.Cons_varlist", - "data_elim_FStar.Tactics.CanonCommSemiring.SPmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "equality_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok", - "equation_FStar.Tactics.CanonCommSemiring.interp_cs", - "equation_FStar.Tactics.CanonCommSemiring.interp_m", - "equation_FStar.Tactics.CanonCommSemiring.interp_vl", - "equation_FStar.Tactics.CanonCommSemiring.vmap", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_merge.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.csm_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.polynomial_normalize.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.spolynomial_normalize.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSemiring.spolynomial_of.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.CommMonoid.cm", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.canonical_sum", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.spolynomial", - "lemma_FStar.Tactics.CanonCommSemiring.mult_one_l", - "proj_equation_FStar.Tactics.CanonCommSemiring.CR_cm_mult", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom__2", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Cons_varlist_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Nil_monom_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pconst__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pconst_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pmult_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Popp__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Popp_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pplus_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pvar__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.Pvar_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPconst_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPmult_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus__1", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPplus_a", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar__0", - "projection_inverse_FStar.Tactics.CanonCommSemiring.SPvar_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pmult", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Popp", - "subterm_ordering_FStar.Tactics.CanonCommSemiring.Pplus", - "token_correspondence_FStar.Tactics.CanonCommSemiring.canonical_sum_prod.fuel_instrumented", - "typing_FStar.Algebra.CommMonoid.__proj__CM__item__unit", - "typing_FStar.Tactics.CanonCommSemiring.canonical_sum_prod", - "typing_FStar.Tactics.CanonCommSemiring.interp_vl", - "typing_FStar.Tactics.CanonCommSemiring.polynomial_normalize", - "typing_FStar.Tactics.CanonCommSemiring.spolynomial_normalize", - "typing_FStar.Tactics.CanonCommSemiring.spolynomial_of", - "typing_tok_FStar.Tactics.CanonCommSemiring.Nil_var@tok" - ], - 0, - "b8893cfae96ba6d9c4325f8fdeff893e" - ], - [ - "FStar.Tactics.CanonCommSemiring.polynomial_simplify_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.CanonCommSemiring.polynomial_simplify", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.cr" - ], - 0, - "6fa491269aec2950c1cf3c35e0433804" - ], - [ - "FStar.Tactics.CanonCommSemiring.find_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "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" - ], - 0, - "2b3ea99af34a75ec1bff8efd6994601f" - ], - [ - "FStar.Tactics.CanonCommSemiring.make_fvar", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4048a79eac9e2a48665c6481aa77becc" - ], - [ - "FStar.Tactics.CanonCommSemiring.quote_polynomial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pconst", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pmult", - "disc_equation_FStar.Tactics.CanonCommSemiring.Popp", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pplus", - "disc_equation_FStar.Tactics.CanonCommSemiring.Pvar", - "fuel_guarded_inversion_FStar.Tactics.CanonCommSemiring.polynomial", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c9e83ebcaf7cbe88a702a8814d94ad7b" - ], - [ - "FStar.Tactics.CanonCommSemiring.semiring_reflect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6c65132603505805fb545e267b8566cf", - "refinement_interpretation_Tm_refine_b8a9c37b54376ee9432d58c3c67a18a7" - ], - 0, - "26bece4464d4366e7d7d36e57169e155" - ], - [ - "FStar.Tactics.CanonCommSemiring.int_cr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "equation_FStar.Algebra.CommMonoid.int_multiply_cm", - "equation_FStar.Algebra.CommMonoid.int_plus_cm", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "proj_equation_FStar.Algebra.CommMonoid.CM_mult", - "proj_equation_FStar.Algebra.CommMonoid.CM_unit", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Algebra.CommMonoid.CM_mult", - "projection_inverse_FStar.Algebra.CommMonoid.CM_unit", - "token_correspondence_FStar.Algebra.CommMonoid.__proj__CM__item__mult", - "token_correspondence_Prims.op_Addition", - "token_correspondence_Prims.op_Multiply" - ], - 0, - "a16057ae9a1b88dc853145418731c6ca" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonCommSwaps.fst.hints b/ulib/.hints/FStar.Tactics.CanonCommSwaps.fst.hints deleted file mode 100644 index 95c55401049..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonCommSwaps.fst.hints +++ /dev/null @@ -1,404 +0,0 @@ -[ - "¿KÃ\u0010£\\~¢Y”¥ªj®ðã", - [ - [ - "FStar.Tactics.CanonCommSwaps.apply_swap_aux", - 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", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_b5588dd7f773f9353586a3a2a4335ebd_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", "typing_Prims.int" - ], - 0, - "230a757d9b86317880832352a6d8d9b4" - ], - [ - "FStar.Tactics.CanonCommSwaps.apply_swap_aux", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "equation_Prims.nat", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "951d5b8fa45863a7fb364ca6f70b8928" - ], - [ - "FStar.Tactics.CanonCommSwaps.apply_swaps", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_2", - "binder_x_69d3f1078ceb36aeedaef54de196354b_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Nil", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_tl", "subterm_ordering_Prims.Cons" - ], - 0, - "6ba3d73773caa54a34acb59d92c8525e" - ], - [ - "FStar.Tactics.CanonCommSwaps.extend_equal_counts", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "46b9c60c7ea08bc88a263edb9cdf2167" - ], - [ - "FStar.Tactics.CanonCommSwaps.retract_equal_counts", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "typing_FStar.List.Tot.Base.count" - ], - 0, - "ec64061813ad685d4f4ea4e95d78eba9" - ], - [ - "FStar.Tactics.CanonCommSwaps.append_swaps", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_8da0b5cd9fc3320a85b3bae381290095_2", - "binder_x_8da0b5cd9fc3320a85b3bae381290095_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.List.Tot.Base.op_At", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Tactics.CanonCommSwaps.swap" - ], - 0, - "067511fb4fdd307660066a0c64ec79a2" - ], - [ - "FStar.Tactics.CanonCommSwaps.append_swaps", - 2, - 2, - 1, - [ "@query" ], - 0, - "c35e3fd2454fb1bd732b2b8247af260c" - ], - [ - "FStar.Tactics.CanonCommSwaps.lift_swap_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_157b99e815dc43d99415725267e9c452_2", - "binder_x_374b44ccfcb77ed85d505dbc44265913_3", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_a4297405bc235867dd383cf2b1d3d8a6_4", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", "unit_inversion", "unit_typing" - ], - 0, - "e485e65c8d68cab8df310fc6eb7481d1" - ], - [ - "FStar.Tactics.CanonCommSwaps.lift_swap_cons", - 2, - 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", "b2t_def", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a2080a43713ac3e975b22c4df9f8299e", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "32318d40f791a9d8bb057fd24054800d" - ], - [ - "FStar.Tactics.CanonCommSwaps.lift_swaps_cons", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@query", "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "binder_x_a92924abbd9272837cf29b6bb6379d4a_3", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Cons@tok", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap" - ], - 0, - "4f22678dd7b297b85fcd31f565d74c5d" - ], - [ - "FStar.Tactics.CanonCommSwaps.swap_to_front", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Tactics.CanonCommSwaps_interpretation_Tm_arrow_2f90bf6e5218f1a5989323c1aa4900f8", - "binder_x_157b99e815dc43d99415725267e9c452_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Tactics.CanonCommSwaps.apply_swap", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swap_aux.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_090a06f8cdcdd6c3a2b22a117754681d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cf74cf5c1e7834b84db9cc7ebce886a3", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap", - "token_correspondence_FStar.Tactics.CanonCommSwaps.apply_swap_aux", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.Tactics.CanonCommSwaps.apply_swaps", - "typing_FStar.Tactics.CanonCommSwaps.swap" - ], - 0, - "deeae251e93dfcbc3853b03a2161e0d2" - ], - [ - "FStar.Tactics.CanonCommSwaps.swap_to_front", - 2, - 2, - 1, - [ "@query" ], - 0, - "e302e312fbbac89bcc07fb992ee7239c" - ], - [ - "FStar.Tactics.CanonCommSwaps.equal_counts_implies_swaps", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.count.fuel_instrumented", - "@query", "binder_x_374b44ccfcb77ed85d505dbc44265913_1", - "binder_x_374b44ccfcb77ed85d505dbc44265913_2", - "binder_x_9cd1733a5204f989dbb2f01d5984df93_0", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.hd", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_FStar.Tactics.CanonCommSwaps.equal_counts", - "equation_FStar.Tactics.CanonCommSwaps.swap", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonCommSwaps.apply_swaps.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "50b1c4e92550761f3b004c347c0d747a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CanonMonoid.fst.hints b/ulib/.hints/FStar.Tactics.CanonMonoid.fst.hints deleted file mode 100644 index e8439bc678b..00000000000 --- a/ulib/.hints/FStar.Tactics.CanonMonoid.fst.hints +++ /dev/null @@ -1,220 +0,0 @@ -[ - "nZzò\u0011x%\u0006JG³K÷àëà", - [ - [ - "FStar.Tactics.CanonMonoid.exp", - 1, - 2, - 1, - [ "@query" ], - 0, - "d6fa06dcc9262b0770256131702194b9" - ], - [ - "FStar.Tactics.CanonMonoid.__proj__Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1b8c0e8daeec5941ba3da42d94dc0491" - ], - 0, - "29c7ebcab21d8019e68c064b2f784c16" - ], - [ - "FStar.Tactics.CanonMonoid.__proj__Mult__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" - ], - 0, - "b2fe0c3c27f2361317f60f38e4063b06" - ], - [ - "FStar.Tactics.CanonMonoid.__proj__Mult__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5bd5cc6aedaac7fb5df449a481b9a30f" - ], - 0, - "d4a6627fb938cae152ba8dfc2ca5c2de" - ], - [ - "FStar.Tactics.CanonMonoid.exp_to_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_360eca91f1df2f3f2300f3c2f2ec5103_3", - "disc_equation_FStar.Tactics.CanonMonoid.Mult", - "disc_equation_FStar.Tactics.CanonMonoid.Unit", - "disc_equation_FStar.Tactics.CanonMonoid.Var", - "fuel_guarded_inversion_FStar.Tactics.CanonMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" - ], - 0, - "971be57fc710dc87e936c70c0e34994f" - ], - [ - "FStar.Tactics.CanonMonoid.mdenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_360eca91f1df2f3f2300f3c2f2ec5103_3", - "binder_x_ee4b58b6c7cddeecee9dc98c01f34e15_2", - "disc_equation_FStar.Tactics.CanonMonoid.Mult", - "disc_equation_FStar.Tactics.CanonMonoid.Unit", - "disc_equation_FStar.Tactics.CanonMonoid.Var", - "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", - "fuel_guarded_inversion_FStar.Tactics.CanonMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" - ], - 0, - "b95f210ece28ed8a8a111c73890b598f" - ], - [ - "FStar.Tactics.CanonMonoid.mldenote", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_ee4b58b6c7cddeecee9dc98c01f34e15_2", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "subterm_ordering_Prims.Cons" - ], - 0, - "4178f5bab097d54bc160d3076bfdf11b" - ], - [ - "FStar.Tactics.CanonMonoid.flatten", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_360eca91f1df2f3f2300f3c2f2ec5103_2", - "disc_equation_FStar.Tactics.CanonMonoid.Mult", - "disc_equation_FStar.Tactics.CanonMonoid.Unit", - "disc_equation_FStar.Tactics.CanonMonoid.Var", - "fuel_guarded_inversion_FStar.Tactics.CanonMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.CanonMonoid.Mult" - ], - 0, - "0530a9aaf12aa56c51d6f3d3cb7805a0" - ], - [ - "FStar.Tactics.CanonMonoid.flatten_correct_aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.append.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "@query", "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_3", - "binder_x_0a56e3de562c08d8ab59f4ac6f626a98_4", - "binder_x_ee4b58b6c7cddeecee9dc98c01f34e15_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Algebra.Monoid.Monoid", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Algebra.Monoid.associativity_lemma", - "equation_FStar.Algebra.Monoid.left_unitality_lemma", - "equation_FStar.Algebra.Monoid.right_unitality_lemma", - "equation_FStar.List.Tot.Base.op_At", "equation_Prims.squash", - "equation_with_fuel_FStar.List.Tot.Base.append.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.List.Tot.Properties.append_l_nil", - "proj_equation_FStar.Algebra.Monoid.Monoid_mult", - "proj_equation_FStar.Algebra.Monoid.Monoid_unit", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.Algebra.Monoid.__proj__Monoid__item__mult", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Tactics.CanonMonoid.mldenote" - ], - 0, - "10c15f084161239047b02c84709a49c9" - ], - [ - "FStar.Tactics.CanonMonoid.flatten_correct", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Tactics.CanonMonoid.flatten.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonMonoid.mdenote.fuel_instrumented", - "@fuel_correspondence_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonMonoid.flatten.fuel_instrumented", - "@fuel_irrelevance_FStar.Tactics.CanonMonoid.mdenote.fuel_instrumented", - "@query", "binder_x_360eca91f1df2f3f2300f3c2f2ec5103_3", - "binder_x_ee4b58b6c7cddeecee9dc98c01f34e15_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "constructor_distinct_FStar.Tactics.CanonMonoid.Mult", - "constructor_distinct_FStar.Tactics.CanonMonoid.Unit", - "constructor_distinct_FStar.Tactics.CanonMonoid.Var", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Tactics.CanonMonoid.Mult", - "disc_equation_FStar.Tactics.CanonMonoid.Unit", - "disc_equation_FStar.Tactics.CanonMonoid.Var", - "equation_with_fuel_FStar.Tactics.CanonMonoid.flatten.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonMonoid.mdenote.fuel_instrumented", - "equation_with_fuel_FStar.Tactics.CanonMonoid.mldenote.fuel_instrumented", - "fuel_guarded_inversion_FStar.Algebra.Monoid.monoid", - "fuel_guarded_inversion_FStar.Tactics.CanonMonoid.exp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Tactics.CanonMonoid.Mult__0", - "projection_inverse_FStar.Tactics.CanonMonoid.Mult__1", - "projection_inverse_FStar.Tactics.CanonMonoid.Mult_a", - "projection_inverse_FStar.Tactics.CanonMonoid.Unit_a", - "projection_inverse_FStar.Tactics.CanonMonoid.Var__0", - "projection_inverse_FStar.Tactics.CanonMonoid.Var_a", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "subterm_ordering_FStar.Tactics.CanonMonoid.Mult", - "typing_FStar.Tactics.CanonMonoid.flatten" - ], - 0, - "946baced77d3ac2444d5986fcf3c72a5" - ], - [ - "FStar.Tactics.CanonMonoid.monoid_reflect", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_faf66dffa55912058edff26bab7d4f9b" - ], - 0, - "3fce582406d3a30b7c6fc38b96c707a7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CheckLN.fst.hints b/ulib/.hints/FStar.Tactics.CheckLN.fst.hints deleted file mode 100644 index 6eff5c08865..00000000000 --- a/ulib/.hints/FStar.Tactics.CheckLN.fst.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "q£\u0001¤žû6\u001b’\u000b¥%zÞ¢", - [ - [ - "FStar.Tactics.CheckLN.for_all", - 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, - "290349a690cf2148e2a6077f6bff209f" - ], - [ - "FStar.Tactics.CheckLN.check", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "0395913c9397f7f2f858e9253320f515" - ], - [ - "FStar.Tactics.CheckLN.check", - 2, - 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", - "typing_FStar.Tactics.NamedView.inspect_universe" - ], - 0, - "b30a8dbdfb4df10251e6a6f23ed8c3a2" - ], - [ - "FStar.Tactics.CheckLN.check", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Tactics.NamedView.comp", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "e8ed68fe3c9757d25063fefdad63f700" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.CheckLN.fsti.hints b/ulib/.hints/FStar.Tactics.CheckLN.fsti.hints deleted file mode 100644 index d2897c79e73..00000000000 --- a/ulib/.hints/FStar.Tactics.CheckLN.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¥õ–\u0006\u0012~Nçð/‰UHËg", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Derived.fst.hints b/ulib/.hints/FStar.Tactics.Derived.fst.hints deleted file mode 100644 index 2f67bfa266a..00000000000 --- a/ulib/.hints/FStar.Tactics.Derived.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ý¢qè”À€¢º\u0013ά", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Effect.fst.hints b/ulib/.hints/FStar.Tactics.Effect.fst.hints deleted file mode 100644 index 4a4c305d94c..00000000000 --- a/ulib/.hints/FStar.Tactics.Effect.fst.hints +++ /dev/null @@ -1,296 +0,0 @@ -[ - "‰\u0014yd¼CRØ“ož;ž\u0007‡ç", - [ - [ - "FStar.Tactics.Effect.tac_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_79c32bf125dc2af78993da96357547a4", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_FStar.Tactics.Effect.tac_wp_t", "equation_Prims.l_True", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687", - "true_interp" - ], - 0, - "af7042c16dce2cd7cee05de7e07fe216" - ], - [ - "FStar.Tactics.Effect.tac_return_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok" - ], - 0, - "7def7ea676132c88485dc7c179b4e859" - ], - [ - "FStar.Tactics.Effect.tac_return", - 1, - 2, - 1, - [ "@query" ], - 0, - "2565ac4b529d66dbae4cb05cd4a43db5" - ], - [ - "FStar.Tactics.Effect.tac_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Tactics.Types_pretyping_5fa2548ebd57526a21fa3c80850bae0a", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "data_elim_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Tactics.Effect.tac_wp_t", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "interpretation_Tm_abs_79f810e0804f4454fdd99bc6bd3319e9", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687", - "typing_Tm_abs_79f810e0804f4454fdd99bc6bd3319e9" - ], - 0, - "d4c4e94fd00bf9a7f002b4aafa5597e7" - ], - [ - "FStar.Tactics.Effect.tac_wp_compact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "3b50e8e5383f5f249d3c03a19d52a6c3" - ], - [ - "FStar.Tactics.Effect.tac_if_then_else_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "c089b0ffb2f178271c4c9e6f6bbd3b3b" - ], - [ - "FStar.Tactics.Effect.tac_subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_79c32bf125dc2af78993da96357547a4", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" - ], - 0, - "2959b515f20d31c5a4b9d85dc9771b3a" - ], - [ - "FStar.Tactics.Effect.tac_close", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "1eda8ad21344f5cbf22e3b072d25796a" - ], - [ - "FStar.Tactics.Effect.TAC", - 1, - 2, - 1, - [ "@query" ], - 0, - "f24e5967203b697a39f69024c34d313a" - ], - [ - "FStar.Tactics.Effect.TAC", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f6bafd32a78176e26e6eda15b443809d" - ], - [ - "FStar.Tactics.Effect.TAC", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "c9fe43bff8f3837f5208b66ebf69711b" - ], - [ - "FStar.Tactics.Effect.TAC", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "f547b4a50e265d6fbfb0de147c074611" - ], - [ - "FStar.Tactics.Effect.TAC", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "8abafc2c89a219e76324abe09605167f" - ], - [ - "FStar.Tactics.Effect.TAC", - 6, - 2, - 1, - [ "@query" ], - 0, - "3fb7a12154e31c6da8763398f51bdf98" - ], - [ - "FStar.Tactics.Effect.TacH", - 1, - 2, - 1, - [ "@query" ], - 0, - "954b2326695b0458410259cd391ee050" - ], - [ - "FStar.Tactics.Effect.lift_div_tac_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_d19ed2c1cbcc251803f55dea9449b934", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_d19ed2c1cbcc251803f55dea9449b934" - ], - 0, - "e3e706449da47ef4f40970c6e95c1f26" - ], - [ - "FStar.Tactics.Effect.lift_div_tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_2768366dc9b0840e6e284f3e13511510", - "interpretation_Tm_abs_d19ed2c1cbcc251803f55dea9449b934", - "l_quant_interp_b95e81590b58cbf50140f4e37042fe43", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_2768366dc9b0840e6e284f3e13511510", - "typing_Tm_abs_d19ed2c1cbcc251803f55dea9449b934" - ], - 0, - "9e2ed05344099010dd76e6c130651000" - ], - [ - "FStar.Tactics.Effect.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "typing_FStar.Stubs.Tactics.Types.proofstate" - ], - 0, - "98b77a56e32a3ca9faf5683f3270125d" - ], - [ - "FStar.Tactics.Effect.raise", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok" - ], - 0, - "21641f28ef133cd15d1a1bc6e01ac44e" - ], - [ - "FStar.Tactics.Effect.assert_by_tactic", - 1, - 2, - 1, - [ "@query" ], - 0, - "336fd033ccaff1b736b8ea886cdf3b39" - ], - [ - "FStar.Tactics.Effect.unfold_with_tactic", - 1, - 2, - 1, - [ "@query" ], - 0, - "508cf4ae54e77c2a9e210c170c4e4787" - ], - [ - "FStar.Tactics.Effect.unfold_rewrite_with_tactic", - 1, - 2, - 1, - [ "@query" ], - 0, - "318dfc50546848f3f9d09f0eec50395c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Effect.fsti.hints b/ulib/.hints/FStar.Tactics.Effect.fsti.hints deleted file mode 100644 index ac3a61d3cf9..00000000000 --- a/ulib/.hints/FStar.Tactics.Effect.fsti.hints +++ /dev/null @@ -1,269 +0,0 @@ -[ - "V•|{û”Ô¹x#\u000eÝ’\u0003û", - [ - [ - "FStar.Tactics.Effect.tac_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_79c32bf125dc2af78993da96357547a4", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_FStar.Tactics.Effect.tac_wp_t", "equation_Prims.l_True", - "equation_Prims.pure_post", "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687", - "true_interp" - ], - 0, - "167e26b231b46351274f08b10e7c3e5f" - ], - [ - "FStar.Tactics.Effect.tac_return_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok" - ], - 0, - "7def7ea676132c88485dc7c179b4e859" - ], - [ - "FStar.Tactics.Effect.tac_return", - 1, - 2, - 1, - [ "@query" ], - 0, - "2565ac4b529d66dbae4cb05cd4a43db5" - ], - [ - "FStar.Tactics.Effect.tac_bind_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Tactics.Types_pretyping_5fa2548ebd57526a21fa3c80850bae0a", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "data_elim_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Tactics.Effect.tac_wp_t", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "interpretation_Tm_abs_79f810e0804f4454fdd99bc6bd3319e9", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687", - "typing_Tm_abs_79f810e0804f4454fdd99bc6bd3319e9" - ], - 0, - "d4c4e94fd00bf9a7f002b4aafa5597e7" - ], - [ - "FStar.Tactics.Effect.tac_wp_compact", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "3b50e8e5383f5f249d3c03a19d52a6c3" - ], - [ - "FStar.Tactics.Effect.tac_if_then_else_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "17d33e3a5202c6a67ebee75bfaa36508" - ], - [ - "FStar.Tactics.Effect.tac_subcomp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_79c32bf125dc2af78993da96357547a4", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "true_interp" - ], - 0, - "2959b515f20d31c5a4b9d85dc9771b3a" - ], - [ - "FStar.Tactics.Effect.tac_close", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "1eda8ad21344f5cbf22e3b072d25796a" - ], - [ - "FStar.Tactics.Effect.TAC", - 1, - 2, - 1, - [ "@query" ], - 0, - "f24e5967203b697a39f69024c34d313a" - ], - [ - "FStar.Tactics.Effect.TAC", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "f6bafd32a78176e26e6eda15b443809d" - ], - [ - "FStar.Tactics.Effect.TAC", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de09779676242898794a0b057d5f5bb4" - ], - 0, - "c9fe43bff8f3837f5208b66ebf69711b" - ], - [ - "FStar.Tactics.Effect.TAC", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "f547b4a50e265d6fbfb0de147c074611" - ], - [ - "FStar.Tactics.Effect.TAC", - 5, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.Effect_interpretation_Tm_arrow_615c284bf702a1fbef85424e39380642", - "equation_FStar.Tactics.Effect.tac_wp_t", - "refinement_interpretation_Tm_refine_afae78805025dbab8b8be62e7a11c687" - ], - 0, - "8abafc2c89a219e76324abe09605167f" - ], - [ - "FStar.Tactics.Effect.TAC", - 6, - 2, - 1, - [ "@query" ], - 0, - "3fb7a12154e31c6da8763398f51bdf98" - ], - [ - "FStar.Tactics.Effect.TacH", - 1, - 2, - 1, - [ "@query" ], - 0, - "954b2326695b0458410259cd391ee050" - ], - [ - "FStar.Tactics.Effect.lift_div_tac_wp", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_d19ed2c1cbcc251803f55dea9449b934", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_d19ed2c1cbcc251803f55dea9449b934" - ], - 0, - "e3e706449da47ef4f40970c6e95c1f26" - ], - [ - "FStar.Tactics.Effect.lift_div_tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_interpretation_Tm_arrow_92458cff82f9ffee1f6e26a1c0c579f3", - "equation_Prims.l_True", "equation_Prims.pure_post", - "equation_Prims.pure_post_", - "interpretation_Tm_abs_2768366dc9b0840e6e284f3e13511510", - "interpretation_Tm_abs_d19ed2c1cbcc251803f55dea9449b934", - "l_quant_interp_b95e81590b58cbf50140f4e37042fe43", - "refinement_interpretation_Tm_refine_8d65e998a07dd53ec478e27017d9dba5", - "typing_Tm_abs_2768366dc9b0840e6e284f3e13511510", - "typing_Tm_abs_d19ed2c1cbcc251803f55dea9449b934" - ], - 0, - "9e2ed05344099010dd76e6c130651000" - ], - [ - "FStar.Tactics.Effect.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "typing_FStar.Stubs.Tactics.Types.proofstate" - ], - 0, - "98b77a56e32a3ca9faf5683f3270125d" - ], - [ - "FStar.Tactics.Effect.raise", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok" - ], - 0, - "21641f28ef133cd15d1a1bc6e01ac44e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Logic.fst.hints b/ulib/.hints/FStar.Tactics.Logic.fst.hints deleted file mode 100644 index 60bf1d43055..00000000000 --- a/ulib/.hints/FStar.Tactics.Logic.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ù\u001f½Öµ>P·©Ø{Ë»Ï\u0019ø", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.MApply.fst.hints b/ulib/.hints/FStar.Tactics.MApply.fst.hints deleted file mode 100644 index c2a56c8abbc..00000000000 --- a/ulib/.hints/FStar.Tactics.MApply.fst.hints +++ /dev/null @@ -1,59 +0,0 @@ -[ - "1\u0011¯‰-MþJì´?\u0010HFu", - [ - [ - "FStar.Tactics.MApply.push1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "106c59a2b0b24768095eaffcde9f29ef" - ], - [ - "FStar.Tactics.MApply.push1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d" - ], - 0, - "4169972404ada248a34fd2c12035d4d1" - ], - [ - "FStar.Tactics.MApply.apply_squash_or_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "equality_tok_FStar.Reflection.V2.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.V2.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V2.Formula.True_@tok", "unit_typing" - ], - 0, - "95c1fedc1a36a47f7471562ba91c3e4d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.MApply.fsti.hints b/ulib/.hints/FStar.Tactics.MApply.fsti.hints deleted file mode 100644 index 67f9704c849..00000000000 --- a/ulib/.hints/FStar.Tactics.MApply.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ " ÷\u001a\u001aÔ´ ,Ã7BÞYá\u0004D", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.MkProjectors.fst.hints b/ulib/.hints/FStar.Tactics.MkProjectors.fst.hints deleted file mode 100644 index 01fc1be526c..00000000000 --- a/ulib/.hints/FStar.Tactics.MkProjectors.fst.hints +++ /dev/null @@ -1,103 +0,0 @@ -[ - "×_\u001261\u000b\"×C“Ïmöã)*", - [ - [ - "FStar.Tactics.MkProjectors.list_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, - "5ae9df2ad7848ebb74d424bfa73c4c6b" - ], - [ - "FStar.Tactics.MkProjectors.mk_proj_decl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Tactics.NamedView.simple_binder", - "equation_FStar.Tactics.NamedView.term", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Stubs.Reflection.V2.Builtins.pack_fv", - "typing_Prims.string", "unit_typing" - ], - 0, - "aa5e7771f425427e781834e8edf45f00" - ], - [ - "FStar.Tactics.MkProjectors.mk_projs", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.ctor", - "equation_FStar.Tactics.NamedView.comp", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_disEquality", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_inversion", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.explode_qn", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Data.ctor", - "typing_tok_FStar.Tactics.NamedView.Unk@tok", "unit_typing" - ], - 0, - "0c6ba3af2b451708cf21550f16ff501a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.MkProjectors.fsti.hints b/ulib/.hints/FStar.Tactics.MkProjectors.fsti.hints deleted file mode 100644 index 94883ef67b6..00000000000 --- a/ulib/.hints/FStar.Tactics.MkProjectors.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ì\u0011táNV΂8W™Û(¬YÊ", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.NamedView.fst.hints b/ulib/.hints/FStar.Tactics.NamedView.fst.hints deleted file mode 100644 index ffcbe1112e7..00000000000 --- a/ulib/.hints/FStar.Tactics.NamedView.fst.hints +++ /dev/null @@ -1,1022 +0,0 @@ -[ - "ïmUâ…ʬè\u0012:ºÅÒßè\u0014", - [ - [ - "FStar.Tactics.NamedView.__proj__Uv_Succ__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_82914602a13807f685e45dd78cc5636a" - ], - 0, - "0add68f36fc2f762e32f7ea9c405b52a" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Max__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6078923c349de6ec41dd797ce0f793ee" - ], - 0, - "e3e41aeebeec1de3ad8c5da23f0a4584" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_BVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47d91bede15db6781395bb141c3d640d" - ], - 0, - "f99a2e721b92eebdbd27e3b8347ec8a6" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_69980a892705a9a64d8e676222efcd27" - ], - 0, - "4587776ef77a2642c31008c0acb636e9" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Unif__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_46ecd4555b9cddd750f1c172ed151b64" - ], - 0, - "a72e200abf1533e98927b14178cd6adb" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Constant__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_760215d17bae6326cab536ca4b3b4619" - ], - 0, - "21155afeb633d5f98a1e2d4bfde481cb" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Cons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1568b2d9001092df78423ad5031cadd0" - ], - 0, - "238a224c97ce56dfb528485165654e20" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5915aca42c70b204fb8abd23a0546bb3" - ], - 0, - "6ed179cafcd8acb5a42df5d94f8f4530" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Dot_Term__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd8d0efc3ead3b7a2f2a11433fff8eaa" - ], - 0, - "da338d809f1eca388b45135992a39e6f" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Var__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_87a3dba5453ef74fda9f0336086dad8a" - ], - 0, - "e123cfeb453697093affbcc86aa20b72" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_BVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2041770b714b0ea10869e92b575e16fd" - ], - 0, - "0fb769455fa23cb20614055c6c43a9ac" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_FVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3" - ], - 0, - "4306af88a45dd47cd9f98748c2ce426c" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_UInst__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" - ], - 0, - "6148b91becc4445a45b9858e59b40f23" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_UInst__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" - ], - 0, - "31a3321cbefffb8ee22030bb13941b8e" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_App__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" - ], - 0, - "8e5f4072aa53f953e7dbd7da70e9e441" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_App__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" - ], - 0, - "e60ebbfd7786c68595455f9f6103f7bc" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Abs__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" - ], - 0, - "99f4b8906e09d5fa70e2264798c2e9f7" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Abs__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" - ], - 0, - "6129318fe56fa095de0ce213befe73a9" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" - ], - 0, - "0bd07b058092290ffe57a925b9b48139" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" - ], - 0, - "377356fce2f2f3d2bacef4051fa8d2dc" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Type__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b305bae344c1a3fca91e8645cdcd9dd7" - ], - 0, - "26a60cb9e427a5724b5e422af62324e2" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Refine__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" - ], - 0, - "463c43fbb78efa57b9cd3b4a8f81bb35" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Refine__item__ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" - ], - 0, - "395c24cb22c180dc35c79814799b4638" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e43528237c88eee4c4a7209fbfece30a" - ], - 0, - "3cf3dbcccd53aab3904d2139439b66e1" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" - ], - 0, - "692108339533cf93bf4e27193e8bd416" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" - ], - 0, - "da0d5bb9abb274bdd4be4d64034ec00c" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__recf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "3071b13e10a8695a4803d1d2f8ddf8dd" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__attrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "a8cac75ec54ece31731dbe227b64a417" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "d4eafa9ecf08dd3b7266db3303a71571" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "4b702173999b200e5c80e1e94ab64715" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "228c88e6d65930f4318ca4b415840cf8" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__scrutinee", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "b81d0f03e8b5149076279c564274ba32" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "25a66878502b8c162f52be0b271a9f4d" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__brs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "651bdceb58aa0f4cda1caa0d2a0c122d" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "b54b24fa6befd7a2d5eb0609f093da5b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "56307c25c8c7c3f61a11b2737ce91301" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "3176e28920af9d987dfba8022f8e5918" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "c9b51efed26419f0a4b8354ad689e819" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "55f78d8d8a6ed9c50632721fe83d7d9b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "8a78330df8bad16360dea421b096257b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "54afa500c2d3ec9a9515ea56cf4a09fb" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "9bb298a8fb620161748dbbd118589024" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Let__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c417824af864c5dfeb7045b84af008c" - ], - 0, - "c672751e98896e165194231838b519d2" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1" - ], - 0, - "094df46fd3685a52f8140c50f2e3463e" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Val__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca9b00c9dce34c559545c63ba449a355" - ], - 0, - "3bc2d0fbcda1c93f5eb75d566c5ff481" - ], - [ - "FStar.Tactics.NamedView.open_universe_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Max", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Name", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Succ", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unif", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Unk", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Uv_Zero", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.universe_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "9e4d51fd25f169e60b22fc0d89334703" - ], - [ - "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, - "5fb7ace63c60d00eadefef61930b1349" - ], - [ - "FStar.Tactics.NamedView.open_term_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Tactics.NamedView.is_simple_binder", - "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.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_a8284b5e442b1496d78105f043903ddc", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple" - ], - 0, - "e967b391a1035a66e3b6629e7bfdda36" - ], - [ - "FStar.Tactics.NamedView.open_comp_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "equation_FStar.Tactics.NamedView.is_simple_binder", - "equation_FStar.Tactics.NamedView.term", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.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_a8284b5e442b1496d78105f043903ddc", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple" - ], - 0, - "b1415a77277d995e61df6b11ff476f6f" - ], - [ - "FStar.Tactics.NamedView.close_term_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "disc_equation_FStar.Stubs.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.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", - "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_binder", - "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, - "fb5d18f3870df1398f7a982951c1a2ef" - ], - [ - "FStar.Tactics.NamedView.close_comp_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "disc_equation_FStar.Stubs.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.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "proj_equation_FStar.Tactics.NamedView.Mkbinder_attrs", - "proj_equation_FStar.Tactics.NamedView.Mkbinder_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "refinement_interpretation_Tm_refine_b26ca2aff6a22929fb21b63f378a437f", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_binder", - "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, - "28d3214ceb437ae8d25bf6c7e9401f57" - ], - [ - "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, - "982b59d8b9fa31881226c98af329e1a7" - ], - [ - "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, - "306c184a9412955fa48f24ca1df4ca5e" - ], - [ - "FStar.Tactics.NamedView.open_term_n_simple", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eecd06f080f41af1c7d0fa0850342953" - ], - [ - "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, - "4e3919b2778cd2b0a5244fce11fbf657" - ], - [ - "FStar.Tactics.NamedView.open_pat", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term_t", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "05e780d069c3c9e43359ee1a02d6e636" - ], - [ - "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", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Tactics.NamedView.Pat_Dot_Term__0", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Tactics.NamedView.__proj__Mkpattern__Pat_Dot_Term__payload__item__t" - ], - 0, - "89a82289cc39e1329b19bba7cd9e2a05" - ], - [ - "FStar.Tactics.NamedView.open_match_returns_ascription", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "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", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "702da37110267c1cc20d927f3bc0d139" - ], - [ - "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", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "2ab59f24cc30fe7335472f5242aeeeac" - ], - [ - "FStar.Tactics.NamedView.open_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "86913ddb814eb6bea26640a66c9add19" - ], - [ - "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", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Tactics.NamedView.match_returns_ascription" - ], - 0, - "68b80e1cb471c8e564d6237c38e09b9a" - ], - [ - "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, - "4742206684ea91e0f18e125ac1087d13" - ], - [ - "FStar.Tactics.NamedView.open_sigelt_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Sg_Inductive", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Sg_Val", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Unk", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.sigelt_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eab1fd41f5f9ee9b12aa5478c68e97c2" - ], - [ - "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, - "2a1f16a4ec7d7a2330fd9f0541f2e1eb" - ], - [ - "FStar.Tactics.NamedView.close_sigelt_view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Inductive", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Let", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Sg_Val", - "disc_equation_FStar.Stubs.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.Stubs.Syntax.Syntax.subst_t", - "equation_FStar.Tactics.NamedView.close_univ_s", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_sigelt_view", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "refinement_interpretation_Tm_refine_33c42578a141bae50a85a36b068dcc2c" - ], - 0, - "aad6f665544d77d8ee44a8d8ad942d45" - ], - [ - "FStar.Tactics.NamedView.tag_of", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "37230412a02f1b47e875db43340a5631" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.NamedView.fsti.hints b/ulib/.hints/FStar.Tactics.NamedView.fsti.hints deleted file mode 100644 index a16edec8415..00000000000 --- a/ulib/.hints/FStar.Tactics.NamedView.fsti.hints +++ /dev/null @@ -1,580 +0,0 @@ -[ - "Új \u000e]º6Æ}£gŽÚm\u001f#", - [ - [ - "FStar.Tactics.NamedView.__proj__Uv_Succ__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_82914602a13807f685e45dd78cc5636a" - ], - 0, - "1c274d6d9eade5ac69ba86a3ac5d1b1e" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Max__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6078923c349de6ec41dd797ce0f793ee" - ], - 0, - "e3e41aeebeec1de3ad8c5da23f0a4584" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_BVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_47d91bede15db6781395bb141c3d640d" - ], - 0, - "f99a2e721b92eebdbd27e3b8347ec8a6" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Name__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_69980a892705a9a64d8e676222efcd27" - ], - 0, - "4587776ef77a2642c31008c0acb636e9" - ], - [ - "FStar.Tactics.NamedView.__proj__Uv_Unif__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_46ecd4555b9cddd750f1c172ed151b64" - ], - 0, - "a72e200abf1533e98927b14178cd6adb" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Constant__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_760215d17bae6326cab536ca4b3b4619" - ], - 0, - "21155afeb633d5f98a1e2d4bfde481cb" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Cons__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1568b2d9001092df78423ad5031cadd0" - ], - 0, - "238a224c97ce56dfb528485165654e20" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Var__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5915aca42c70b204fb8abd23a0546bb3" - ], - 0, - "6ed179cafcd8acb5a42df5d94f8f4530" - ], - [ - "FStar.Tactics.NamedView.__proj__Pat_Dot_Term__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fd8d0efc3ead3b7a2f2a11433fff8eaa" - ], - 0, - "da338d809f1eca388b45135992a39e6f" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Var__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_87a3dba5453ef74fda9f0336086dad8a" - ], - 0, - "e123cfeb453697093affbcc86aa20b72" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_BVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2041770b714b0ea10869e92b575e16fd" - ], - 0, - "0fb769455fa23cb20614055c6c43a9ac" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_FVar__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aae385a6086c7833dd8519240cd12b3" - ], - 0, - "4306af88a45dd47cd9f98748c2ce426c" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_UInst__item__v", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" - ], - 0, - "6148b91becc4445a45b9858e59b40f23" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_UInst__item__us", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_655439b8882f5161418b9e9a204ac9a0" - ], - 0, - "31a3321cbefffb8ee22030bb13941b8e" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_App__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" - ], - 0, - "8e5f4072aa53f953e7dbd7da70e9e441" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_App__item__a", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cffc8fe5fb5b8b45155c826839a0836a" - ], - 0, - "e60ebbfd7786c68595455f9f6103f7bc" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Abs__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" - ], - 0, - "99f4b8906e09d5fa70e2264798c2e9f7" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Abs__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5d3cef9f2193748f571d405779044e57" - ], - 0, - "6129318fe56fa095de0ce213befe73a9" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" - ], - 0, - "0bd07b058092290ffe57a925b9b48139" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Arrow__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_f2276b7d8e23c26ee3ba9a535c3c060a" - ], - 0, - "377356fce2f2f3d2bacef4051fa8d2dc" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Type__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b305bae344c1a3fca91e8645cdcd9dd7" - ], - 0, - "26a60cb9e427a5724b5e422af62324e2" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Refine__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" - ], - 0, - "463c43fbb78efa57b9cd3b4a8f81bb35" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Refine__item__ref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1c7ad8d12925c022661dbfe6bb0e51a3" - ], - 0, - "395c24cb22c180dc35c79814799b4638" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Const__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e43528237c88eee4c4a7209fbfece30a" - ], - 0, - "3cf3dbcccd53aab3904d2139439b66e1" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" - ], - 0, - "692108339533cf93bf4e27193e8bd416" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Uvar__item___1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dfafc08974a66f04ebf362802f0a508" - ], - 0, - "da0d5bb9abb274bdd4be4d64034ec00c" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__recf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "3071b13e10a8695a4803d1d2f8ddf8dd" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__attrs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "a8cac75ec54ece31731dbe227b64a417" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "d4eafa9ecf08dd3b7266db3303a71571" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__def", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "4b702173999b200e5c80e1e94ab64715" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Let__item__body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_580a83cfd5a14ce77506ef9a20b92d03" - ], - 0, - "228c88e6d65930f4318ca4b415840cf8" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__scrutinee", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "b81d0f03e8b5149076279c564274ba32" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__ret", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "25a66878502b8c162f52be0b271a9f4d" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_Match__item__brs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c31d3f32afa528dfef0b4e53409fe9f" - ], - 0, - "651bdceb58aa0f4cda1caa0d2a0c122d" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "b54b24fa6befd7a2d5eb0609f093da5b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "56307c25c8c7c3f61a11b2737ce91301" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "3176e28920af9d987dfba8022f8e5918" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedT__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_4fe825d3c6fe2aa01d40d69b72618cd9" - ], - 0, - "c9b51efed26419f0a4b8354ad689e819" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__e", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "55f78d8d8a6ed9c50632721fe83d7d9b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__c", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "8a78330df8bad16360dea421b096257b" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "54afa500c2d3ec9a9515ea56cf4a09fb" - ], - [ - "FStar.Tactics.NamedView.__proj__Tv_AscribedC__item__use_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_188807386559837eacdc72e583387de0" - ], - 0, - "9bb298a8fb620161748dbbd118589024" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Let__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0c417824af864c5dfeb7045b84af008c" - ], - 0, - "c672751e98896e165194231838b519d2" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Inductive__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_452c9c8e2825a8035099cf4978a670c1" - ], - 0, - "094df46fd3685a52f8140c50f2e3463e" - ], - [ - "FStar.Tactics.NamedView.__proj__Sg_Val__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ca9b00c9dce34c559545c63ba449a355" - ], - 0, - "3bc2d0fbcda1c93f5eb75d566c5ff481" - ], - [ - "FStar.Tactics.NamedView.tag_of", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "37230412a02f1b47e875db43340a5631" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Names.fst.hints b/ulib/.hints/FStar.Tactics.Names.fst.hints deleted file mode 100644 index 926f27ac9f4..00000000000 --- a/ulib/.hints/FStar.Tactics.Names.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "Ü™™\u0016–dÔÁ%â\u0015?.\\", - [ - [ - "FStar.Tactics.Names.name_appears_in", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_2feddfe489e78a01f5d2e9b55172b46a", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Tactics.Names.Appears@tok", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.Names.Appears@tok" - ], - 0, - "f7bbc260b8d2a211e307041616c687e0" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Names.fsti.hints b/ulib/.hints/FStar.Tactics.Names.fsti.hints deleted file mode 100644 index 6e1de9314aa..00000000000 --- a/ulib/.hints/FStar.Tactics.Names.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "°X`»ªqˆ±†·ÇeÐ\u000b¬Z", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Parametricity.fst.hints b/ulib/.hints/FStar.Tactics.Parametricity.fst.hints deleted file mode 100644 index 0ae0d7f365f..00000000000 --- a/ulib/.hints/FStar.Tactics.Parametricity.fst.hints +++ /dev/null @@ -1,248 +0,0 @@ -[ - "Ô—«aM\u0017[Ga;\u000e\u0015ãb$@", - [ - [ - "FStar.Tactics.Parametricity.__proj__Unsupported__item__uu___", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb67d4a0c87a16cb74da1dcf094b4fb3" - ], - 0, - "98eb8c13a7ed57a5d3ed34b7f24574a3" - ], - [ - "FStar.Tactics.Parametricity.__proj__NotFoundFV__item__uu___", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fcfa4e0f9c537b9f987739bb41e8cded" - ], - 0, - "b2d26755ff44576fcfd75598cfb2b6ed" - ], - [ - "FStar.Tactics.Parametricity.zip3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8e2b3e2e2d5822bdb0266bcb517fa74a_6", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "subterm_ordering_Prims.Cons" - ], - 0, - "31e7f211cc2d4d59800f63321aabe578" - ], - [ - "FStar.Tactics.Parametricity.last", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.List.Tot.Base.rev", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", "typing_FStar.List.Tot.Base.rev" - ], - 0, - "7a707ce2aec26f4a730467f540645137" - ], - [ - "FStar.Tactics.Parametricity.__proj__NotFoundBV__item__uu___", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_33550be0243e9801538829033689fcda" - ], - 0, - "846a0a10a22f88819cbfcc5955c5b833" - ], - [ - "FStar.Tactics.Parametricity.lookup_rec_fv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Order.order__uu___haseq", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.Parametricity.fvmap", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4419b4e4e134f4186047deaa23c3c743" - ], - [ - "FStar.Tactics.Parametricity.lookup", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.namedv", - "equation_FStar.Tactics.Parametricity.bvmap", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_Prims.list", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "79c4fa9abf1e8687bc64f34f954419e7" - ], - [ - "FStar.Tactics.Parametricity.param'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_inversion", "string_typing", - "typing_FStar.List.Tot.Base.op_At", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.explode_qn", - "typing_FStar.Stubs.Reflection.V2.Builtins.implode_qn", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_fv", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_Prims.strcat", "typing_Prims.string" - ], - 0, - "d8a7904a35580827ee27b0158868c038" - ], - [ - "FStar.Tactics.Parametricity.param'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "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, - "fbfc756f89b9590e5973c95c756caf2c" - ], - [ - "FStar.Tactics.Parametricity.param_inductive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Inductive", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.V2.Data.ctor", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "a73a19138215071e6010015fb1f45625" - ], - [ - "FStar.Tactics.Parametricity.param_letbinding", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "FStar.Tactics.NamedView_pretyping_6431c17bd4ef31ed4e5c8a8ef7dd87dc", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Tactics.NamedView.Sg_Let", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Tactics.NamedView.letbinding@tok", - "proj_equation_FStar.Tactics.NamedView.Sg_Let__0", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "projection_inverse_FStar.Tactics.NamedView.Sg_Let__0", - "refinement_interpretation_Tm_refine_0c417824af864c5dfeb7045b84af008c", - "typing_FStar.Tactics.NamedView.__proj__Sg_Let__item___0", - "typing_tok_FStar.Tactics.NamedView.Unk@tok" - ], - 0, - "b361f7a14932bdddbac073e7990202b1" - ], - [ - "FStar.Tactics.Parametricity.paramd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "string_inversion", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.explode_qn", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ" - ], - 0, - "1c1aeaed2c737b62b6673393c3c0524c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Parametricity.fsti.hints b/ulib/.hints/FStar.Tactics.Parametricity.fsti.hints deleted file mode 100644 index 4f0c263b265..00000000000 --- a/ulib/.hints/FStar.Tactics.Parametricity.fsti.hints +++ /dev/null @@ -1,29 +0,0 @@ -[ - "\u0003ƒ78c“\u000eqŒ\u0004K>»¢AÞ", - [ - [ - "FStar.Tactics.Parametricity.__proj__Unsupported__item__uu___", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_cb67d4a0c87a16cb74da1dcf094b4fb3" - ], - 0, - "fc0cca9024aaa74c507c5892b4dee41c" - ], - [ - "FStar.Tactics.Parametricity.__proj__NotFoundFV__item__uu___", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fcfa4e0f9c537b9f987739bb41e8cded" - ], - 0, - "b2d26755ff44576fcfd75598cfb2b6ed" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.PatternMatching.fst.hints b/ulib/.hints/FStar.Tactics.PatternMatching.fst.hints deleted file mode 100644 index adfe2e5620d..00000000000 --- a/ulib/.hints/FStar.Tactics.PatternMatching.fst.hints +++ /dev/null @@ -1,606 +0,0 @@ -[ - "ÿó•²'ù¼ w°Ð\u000b„B¾", - [ - [ - "FStar.Tactics.PatternMatching.mustfail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption" - ], - 0, - "e3c11368b56bd42d6b7c2c406c79b274" - ], - [ - "FStar.Tactics.PatternMatching.pattern", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Tactics.PatternMatching.qn", - "equation_FStar.Tactics.PatternMatching.varname", - "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.string" - ], - 0, - "ef6ab914ecc50cdb56dfc7cdc9c3a953" - ], - [ - "FStar.Tactics.PatternMatching.__proj__PVar__item__name", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d9b8f24a6bf5cc20c41ce6c89e40c950" - ], - 0, - "57d7b068f3b6ca1638c64544d3c7d365" - ], - [ - "FStar.Tactics.PatternMatching.__proj__PQn__item__qn", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dcacada30c995d5df0dda904debf8ade" - ], - 0, - "01450bf4f67159e189673d2a74259510" - ], - [ - "FStar.Tactics.PatternMatching.__proj__PApp__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" - ], - 0, - "0f890610227aaf8fb6d4dc5f27167c31" - ], - [ - "FStar.Tactics.PatternMatching.__proj__PApp__item__arg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c9103fa0efee5895701796be6312906" - ], - 0, - "22a917ac9e659647d32db9944d39c543" - ], - [ - "FStar.Tactics.PatternMatching.desc_of_pattern", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.PApp", - "disc_equation_FStar.Tactics.PatternMatching.PQn", - "disc_equation_FStar.Tactics.PatternMatching.PType", - "disc_equation_FStar.Tactics.PatternMatching.PVar", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6a2aa65fc4ace1f3db5fde41950c840e" - ], - [ - "FStar.Tactics.PatternMatching.string_of_pattern", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_pretyping_31a7406add2f09c4be2d04a6d939a4ee", - "binder_x_31a7406add2f09c4be2d04a6d939a4ee_0", - "disc_equation_FStar.Tactics.PatternMatching.PApp", - "disc_equation_FStar.Tactics.PatternMatching.PQn", - "disc_equation_FStar.Tactics.PatternMatching.PType", - "disc_equation_FStar.Tactics.PatternMatching.PVar", - "equality_tok_FStar.Tactics.PatternMatching.PType@tok", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.PatternMatching.PApp", - "typing_tok_FStar.Tactics.PatternMatching.PType@tok" - ], - 0, - "3938d3c9eb03afbc7e3bb95de2404595" - ], - [ - "FStar.Tactics.PatternMatching.__proj__NameMismatch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d15f1db5894be4fd72d8d2d81b3b66a4" - ], - 0, - "ee2564baa3f86a0c25cab15fb7384ef8" - ], - [ - "FStar.Tactics.PatternMatching.__proj__SimpleMismatch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_db12bca470f96953211e00dbb78ca79e" - ], - 0, - "9b3cc77ec5b7c671aaa563b5820b4c62" - ], - [ - "FStar.Tactics.PatternMatching.__proj__NonLinearMismatch__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_73b112489bf96f9d8e50c987ef430115" - ], - 0, - "799d2fd6cd20e6b339d1e845b906719d" - ], - [ - "FStar.Tactics.PatternMatching.__proj__UnsupportedTermInPattern__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_58dbf4b11eef86ba37dc4ef8aba2e392" - ], - 0, - "3905037579ff8cb8ae41c815898f2f64" - ], - [ - "FStar.Tactics.PatternMatching.__proj__IncorrectTypeInAbsPatBinder__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_efa8ec6f8c16043b47d24fee8a829b8b" - ], - 0, - "d5fa6c48bb8d7b521ebbfe4ddab69f86" - ], - [ - "FStar.Tactics.PatternMatching.term_head", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "37230412a02f1b47e875db43340a5631" - ], - [ - "FStar.Tactics.PatternMatching.string_of_match_exception", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.IncorrectTypeInAbsPatBinder", - "disc_equation_FStar.Tactics.PatternMatching.NameMismatch", - "disc_equation_FStar.Tactics.PatternMatching.NonLinearMismatch", - "disc_equation_FStar.Tactics.PatternMatching.SimpleMismatch", - "disc_equation_FStar.Tactics.PatternMatching.UnsupportedTermInPattern", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_exception", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "741bdc567fd3fa740fd4ea44c7f7bb6a" - ], - [ - "FStar.Tactics.PatternMatching.__proj__Success__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c7ba5c40c025be2c3a156f4b8aedaf8a" - ], - 0, - "21fe91a97ce25c3ea7e110418d919a4d" - ], - [ - "FStar.Tactics.PatternMatching.__proj__Failure__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_316fd14117972ae9c59d166cb1539224" - ], - 0, - "ea8fcf92ab5c100f13d7a0b637d9de33" - ], - [ - "FStar.Tactics.PatternMatching.op_let_Question", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "720603222437301fa8626fe8fe02d824" - ], - [ - "FStar.Tactics.PatternMatching.lift_exn_tac", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2ba0f75f5879084bc440eca1872c752c" - ], - [ - "FStar.Tactics.PatternMatching.lift_exn_tactic", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_interpretation_Tm_arrow_c448ca131e09253e09abe66eed971a77", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "37f9a1fdc8ca11c65a94050e70f0d17b" - ], - [ - "FStar.Tactics.PatternMatching.interp_pattern_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_pretyping_31a7406add2f09c4be2d04a6d939a4ee", - "disc_equation_FStar.Tactics.PatternMatching.PApp", - "disc_equation_FStar.Tactics.PatternMatching.PQn", - "disc_equation_FStar.Tactics.PatternMatching.PType", - "disc_equation_FStar.Tactics.PatternMatching.PVar", - "equality_tok_FStar.Tactics.PatternMatching.PType@tok", - "equation_FStar.Tactics.PatternMatching.varname", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.pattern", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Tactics.PatternMatching.PApp", - "typing_FStar.List.Tot.Base.assoc", - "typing_FStar.Stubs.Reflection.Types.term", "typing_Prims.string", - "typing_tok_FStar.Tactics.PatternMatching.PType@tok" - ], - 0, - "255c2f791b514fca04bf438be583e2b4" - ], - [ - "FStar.Tactics.PatternMatching.match_term", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "equation_FStar.Tactics.NamedView.term", - "equation_FStar.Tactics.PatternMatching.bindings", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps" - ], - 0, - "8db90151c64e66cdaf0663582834e77e" - ], - [ - "FStar.Tactics.PatternMatching.string_of_matching_problem", - 1, - 2, - 1, - [ - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "kinding_FStar.Tactics.PatternMatching.pattern@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Tactics.PatternMatching.Mkmatching_problem_mp_goal", - "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal" - ], - 0, - "0da206af583f351f5a63eb6b2244ac96" - ], - [ - "FStar.Tactics.PatternMatching.assoc_varname_fail", - 1, - 2, - 1, - [ - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.List.Tot.Base.assoc", - "typing_FStar.Tactics.PatternMatching.varname" - ], - 0, - "991f598657bffd4549d78be149e998fd" - ], - [ - "FStar.Tactics.PatternMatching.solve_mp_for_single_hyp", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Tactics.PatternMatching.bindings", - "equation_FStar.Tactics.PatternMatching.hypothesis", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b81e544cc1a88e4007071b4beb04873f" - ], - [ - "FStar.Tactics.PatternMatching.solve_mp_for_hyps", - 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, - "043a876bb3fbb3289485309c0dbd6ad7" - ], - [ - "FStar.Tactics.PatternMatching.solve_mp", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_pretyping_31a7406add2f09c4be2d04a6d939a4ee", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "equality_tok_FStar.Tactics.PatternMatching.PType@tok", - "equation_FStar.Tactics.PatternMatching.bindings", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.matching_problem", - "kinding_FStar.Tactics.PatternMatching.pattern@tok", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Tactics.PatternMatching.__proj__Mkmatching_problem__item__mp_goal", - "typing_tok_FStar.Tactics.PatternMatching.PType@tok" - ], - 0, - "37fac2bc4f67996317b9de2863901088" - ], - [ - "FStar.Tactics.PatternMatching.pattern_of_term", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.PatternMatching_pretyping_31a7406add2f09c4be2d04a6d939a4ee", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "equality_tok_FStar.Tactics.PatternMatching.PType@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.PatternMatching.PType@tok" - ], - 0, - "a069e52128af8d66a478925e8fb54ec3" - ], - [ - "FStar.Tactics.PatternMatching.__proj__ABKVar__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08c29827d03e4af73e9edc0810d78998" - ], - 0, - "91eb663bea6767f441fa086d29640db6" - ], - [ - "FStar.Tactics.PatternMatching.string_of_abspat_binder_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", - "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", - "disc_equation_FStar.Tactics.PatternMatching.ABKVar", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ef4ac527219da183019e52e178626dbd" - ], - [ - "FStar.Tactics.PatternMatching.classify_abspat_binder", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.Failure", - "disc_equation_FStar.Tactics.PatternMatching.Success", - "equation_FStar.Tactics.PatternMatching.bindings", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.match_res", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a2281cbebef3fd48c76279bc3c5d7676" - ], - [ - "FStar.Tactics.PatternMatching.matching_problem_of_abs", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", - "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", - "disc_equation_FStar.Tactics.PatternMatching.ABKVar", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "unit_typing" - ], - 0, - "503725143d7eeac06bad6034ac605c62" - ], - [ - "FStar.Tactics.PatternMatching.arg_type_of_binder_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", - "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", - "disc_equation_FStar.Tactics.PatternMatching.ABKVar", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ae6d712477659835c0d09b21607bbaef" - ], - [ - "FStar.Tactics.PatternMatching.locate_fn_of_binder_kind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Tactics.PatternMatching.ABKGoal", - "disc_equation_FStar.Tactics.PatternMatching.ABKHyp", - "disc_equation_FStar.Tactics.PatternMatching.ABKVar", - "fuel_guarded_inversion_FStar.Tactics.PatternMatching.abspat_binder_kind", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "968c55407454cf92686d56a36b806024" - ], - [ - "FStar.Tactics.PatternMatching.hoist_and_apply", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.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.Stubs.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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "projection_inverse_FStar.Tactics.NamedView.Mkbinder_attrs", - "projection_inverse_FStar.Tactics.NamedView.Mkbinder_qual", - "projection_inverse_Prims.Nil_a", "true_interp" - ], - 0, - "15792bde77e3d2e4cfea44ccbeac1146" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Print.fst.hints b/ulib/.hints/FStar.Tactics.Print.fst.hints deleted file mode 100644 index 09e0bbe33a6..00000000000 --- a/ulib/.hints/FStar.Tactics.Print.fst.hints +++ /dev/null @@ -1,152 +0,0 @@ -[ - "\u0004ûCø\u0012CRphXé‘÷ýÉè", - [ - [ - "FStar.Tactics.Print.print_list_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, - "335ca790d92e603b466c67cb31c792a5" - ], - [ - "FStar.Tactics.Print.universe_to_ast_string", - 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", - "typing_FStar.Tactics.NamedView.inspect_universe" - ], - 0, - "b737c25e76f246fd0b11090e75a23aa7" - ], - [ - "FStar.Tactics.Print.term_to_ast_string", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "data_elim_FStar.Stubs.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", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.NamedView.named_term_view", - "projection_inverse_BoxBool_proj_0", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "b1eab430f96cc0551a67ce6a3ea21f2c" - ], - [ - "FStar.Tactics.Print.term_to_ast_string", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "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.tuple3", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.either@tok", - "kinding_FStar.Stubs.Reflection.V2.Data.comp_view@tok", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___1", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Tactics.NamedView.match_returns_ascription", - "typing_Prims.bool" - ], - 0, - "d8b13f3612f2ea4fd70127dafbf19777" - ], - [ - "FStar.Tactics.Print.term_to_ast_string", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "equation_FStar.Tactics.NamedView.comp", - "equation_FStar.Tactics.NamedView.inspect_comp", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "48289d7c2d592b4c957606b6a93d0a91" - ], - [ - "FStar.Tactics.Print.term_to_ast_string", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_False", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Int", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Range", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Real", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reflect", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Reify", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_String", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_True", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Unit", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.vconst", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d15768438e09df4f8875a00542fd3bce" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Print.fsti.hints b/ulib/.hints/FStar.Tactics.Print.fsti.hints deleted file mode 100644 index 538ba4525a6..00000000000 --- a/ulib/.hints/FStar.Tactics.Print.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¯\u001a\n× ß\u0004~<Ú<»\"æ|w", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Result.fsti.hints b/ulib/.hints/FStar.Tactics.Result.fsti.hints deleted file mode 100644 index 6b73e925ed0..00000000000 --- a/ulib/.hints/FStar.Tactics.Result.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Í—DÂF\u0001¤¥c\u001a/öº#Ø\u000b", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.SMT.fst.hints b/ulib/.hints/FStar.Tactics.SMT.fst.hints deleted file mode 100644 index 508be0f7df9..00000000000 --- a/ulib/.hints/FStar.Tactics.SMT.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "„\u0006¢\"V¸úLÛNJ6ªÂrw", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.SMT.fsti.hints b/ulib/.hints/FStar.Tactics.SMT.fsti.hints deleted file mode 100644 index 4d7dea85366..00000000000 --- a/ulib/.hints/FStar.Tactics.SMT.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "uPâuTÐÑÆ.]&}ºò\u0007\u0001", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Simplifier.fst.hints b/ulib/.hints/FStar.Tactics.Simplifier.fst.hints deleted file mode 100644 index c50202300ce..00000000000 --- a/ulib/.hints/FStar.Tactics.Simplifier.fst.hints +++ /dev/null @@ -1,178 +0,0 @@ -[ - "`\u0018\u001eùõl;°G¿¦áQ²Dg", - [ - [ - "FStar.Tactics.Simplifier.lem_iff_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "bbb08d435ab3c4b87baeb6c41490fb42" - ], - [ - "FStar.Tactics.Simplifier.lem_fa_false", - 1, - 2, - 1, - [ "@query" ], - 0, - "c4b5ff347d346ff876bdad6c1ccc436e" - ], - [ - "FStar.Tactics.Simplifier.lem_ex_true", - 1, - 2, - 1, - [ "@query" ], - 0, - "c039cfb9f700c999696ff139c9519174" - ], - [ - "FStar.Tactics.Simplifier.and_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "f1e9046c6c1baa9dc011a96d44093679" - ], - [ - "FStar.Tactics.Simplifier.or_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "d76fa423c277375e12b369037a793a90" - ], - [ - "FStar.Tactics.Simplifier.imp_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "f7f9137a993d5ee96baab6b2f0690119" - ], - [ - "FStar.Tactics.Simplifier.fa_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "605b60b9722e3ee270e6fd7d2684ee00" - ], - [ - "FStar.Tactics.Simplifier.fa_cong", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "f4f6da85e979fbb3a6ab8d0d5b5aa19e" - ], - [ - "FStar.Tactics.Simplifier.ex_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173" - ], - 0, - "1cda92a1d3659375c517642821cec59a" - ], - [ - "FStar.Tactics.Simplifier.ex_cong", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ddf411903966bf2752b797841fbff173" - ], - 0, - "b7ad69bca01e564de45273dd4571641a" - ], - [ - "FStar.Tactics.Simplifier.neg_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "4891e564732450ce32c7a581a2c50334" - ], - [ - "FStar.Tactics.Simplifier.iff_cong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6" - ], - 0, - "b63071e63fff544de1331c5703fa8b8b" - ], - [ - "FStar.Tactics.Simplifier.inhabit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_Prims.string", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "78fb1ca05bf68488b125835babed5a34" - ], - [ - "FStar.Tactics.Simplifier.equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_0103d32d182e7a4924fcb3c14da51cc6", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "03968ecc8abff42a0e4737ede3c3dc14" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.SyntaxHelpers.fst.hints b/ulib/.hints/FStar.Tactics.SyntaxHelpers.fst.hints deleted file mode 100644 index f8c76d43967..00000000000 --- a/ulib/.hints/FStar.Tactics.SyntaxHelpers.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ñÇ\\%q˜\u0019Ë*–‡»,¸ìN", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.TypeRepr.fst.hints b/ulib/.hints/FStar.Tactics.TypeRepr.fst.hints deleted file mode 100644 index e518bf28d6c..00000000000 --- a/ulib/.hints/FStar.Tactics.TypeRepr.fst.hints +++ /dev/null @@ -1,156 +0,0 @@ -[ - "ìæ\u0006VU%¢\u000fî­œY#2'\u001a", - [ - [ - "FStar.Tactics.TypeRepr.empty_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Prims.empty" - ], - 0, - "cac98320d9342fdfa842ca426c758899" - ], - [ - "FStar.Tactics.TypeRepr.get_inductive_typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Stubs.Reflection.Types.name", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "string_inversion", "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.explode_qn", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ" - ], - 0, - "a6da83d104c3c0e27e35038a6fb4224b" - ], - [ - "FStar.Tactics.TypeRepr.get_apply_tuple", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "constructor_distinct_BoxInt", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Stubs.Reflection.Types.fv", - "typing_FStar.Stubs.Reflection.Types.name", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "357c4ba75c775743aadba8f77591f702" - ], - [ - "FStar.Tactics.TypeRepr.generate_up_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.V2.Data.ctor", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "965ab2241a2748afb192209136ae439e" - ], - [ - "FStar.Tactics.TypeRepr.generate_up", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_d4fdb441ea9c14eddb10f8b745d33d32" - ], - 0, - "c4ded4e3feae756051654a3e3ca7e74f" - ], - [ - "FStar.Tactics.TypeRepr.generate_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_aeec38d96618fe613d59310926b75342", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Tactics.NamedView.Unk", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.simple_binder", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Tactics.NamedView.letbinding@tok", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v" - ], - 0, - "53869043a993a1df13bbddb58441123b" - ], - [ - "FStar.Tactics.TypeRepr.entry", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_d4fdb441ea9c14eddb10f8b745d33d32" - ], - 0, - "db8aace8374ed3a43e22563d4bfd5f35" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.TypeRepr.fsti.hints b/ulib/.hints/FStar.Tactics.TypeRepr.fsti.hints deleted file mode 100644 index 101b228af09..00000000000 --- a/ulib/.hints/FStar.Tactics.TypeRepr.fsti.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "XÞÔUwœžX¨õ\u001b5A]áÉ", - [ - [ - "FStar.Tactics.TypeRepr.empty_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_Prims.empty" - ], - 0, - "289a0248a8bfa8caea1b625254bb5c90" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Typeclasses.fst.hints b/ulib/.hints/FStar.Tactics.Typeclasses.fst.hints deleted file mode 100644 index d0dc2d1a1ce..00000000000 --- a/ulib/.hints/FStar.Tactics.Typeclasses.fst.hints +++ /dev/null @@ -1,195 +0,0 @@ -[ - "#V½]ªGµG\u001b¹!ÂتåÉ", - [ - [ - "FStar.Tactics.Typeclasses.first", - 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, - "be4797fc0534428abcd92ffb3633965d" - ], - [ - "FStar.Tactics.Typeclasses.extract_fundeps", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "75681da18635ecb38bad16bde75415db" - ], - [ - "FStar.Tactics.Typeclasses.trywith", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_f37434771f1714f89de453177d8cd6a9", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Tactics.Typeclasses.Mktc_goal", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Tactics.Typeclasses.NoInst@tok", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_FStar.Tactics.Typeclasses.tc_goal", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Stubs.Reflection.Types.fv", "unit_typing" - ], - 0, - "ac6002a868a3b08934ff4887ff9dcdf3" - ], - [ - "FStar.Tactics.Typeclasses.tcresolve'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Tactics.Typeclasses.NoInst@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.argv", - "equation_FStar.Stubs.Reflection.V2.Data.universes", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple3@tok", - "kinding_Prims.list@tok", "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Stubs.Reflection.Types.fv", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_fv", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Data.argv", - "typing_FStar.Stubs.Reflection.V2.Data.universes", "unit_typing" - ], - 0, - "55631e69a59e882381b605f64e337f3f" - ], - [ - "FStar.Tactics.Typeclasses.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, - "d8854a0437aaf7947b348e26fda0d388" - ], - [ - "FStar.Tactics.Typeclasses.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, - "bb455d2b19243761549560b0afa0b18a" - ], - [ - "FStar.Tactics.Typeclasses.mk_class", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_54e38bdd456bab4cdb32b5d540c2274c", - "FStar.Stubs.Reflection.Types_pretyping_d880a66b21ec85b3fa80d2570aa5edd8", - "FStar.Tactics.NamedView_pretyping_2c3785eaaa5c523428a493e66bedbc78", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_FStar.Tactics.NamedView.Sg_Let", - "constructor_distinct_Prims.Nil", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Tactics.NamedView.Unk", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equality_tok_FStar.Tactics.NamedView.Unk@tok", - "equation_FStar.Sealed.Inhabited.is_sealed", - "equation_FStar.Stubs.Reflection.Types.name", - "equation_FStar.Stubs.Reflection.V2.Data.ctor", - "equation_FStar.Tactics.NamedView.binders", - "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", - "equation_with_fuel_FStar.List.Tot.Base.splitAt.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.List.Tot.Base.op_At", - "function_token_typing_Prims.__cache_version_number__", - "kinding_FStar.Tactics.NamedView.binder@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.Tactics.Typeclasses.op_At", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Stubs.Reflection.Types.sigelt", - "typing_FStar.Stubs.Reflection.V2.Builtins.lookup_typ", - "typing_FStar.Stubs.Reflection.V2.Data.ctor", "typing_Prims.strcat", - "typing_Prims.string", "typing_tok_FStar.Tactics.NamedView.Unk@tok", - "unit_typing" - ], - 0, - "576b690b4934b175e4dbdb64c7bc4d3c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Typeclasses.fsti.hints b/ulib/.hints/FStar.Tactics.Typeclasses.fsti.hints deleted file mode 100644 index b2f455d0337..00000000000 --- a/ulib/.hints/FStar.Tactics.Typeclasses.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ ">û*² \u0019\r\u0013ËI7*\u000ež‡^", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Util.fst.hints b/ulib/.hints/FStar.Tactics.Util.fst.hints deleted file mode 100644 index e2c51eece98..00000000000 --- a/ulib/.hints/FStar.Tactics.Util.fst.hints +++ /dev/null @@ -1,257 +0,0 @@ -[ - "£\u000fz[‘ì\u001aÛ1Ã7‡Ãb$W", - [ - [ - "FStar.Tactics.Util.map", - 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, - "4936b569716e90fa2d2f2850561a6db4" - ], - [ - "FStar.Tactics.Util.concatMap", - 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, - "904d0a4efbdfa1b472d57c9b7845f4b5" - ], - [ - "FStar.Tactics.Util.__mapi", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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" - ], - 0, - "2878c1819aa497c2b0fddbd9aa6dc64b" - ], - [ - "FStar.Tactics.Util.iter", - 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, - "7dda11332206f6cd336c71c1461d481c" - ], - [ - "FStar.Tactics.Util.iteri_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, - "a78f84c4d2bc9a2a11f2858cdc9b77f8" - ], - [ - "FStar.Tactics.Util.fold_left", - 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, - "54a51c79396e5ae3f2512a7f082808af" - ], - [ - "FStar.Tactics.Util.fold_right", - 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, - "298100adce32a109ebdc04e40a9b9229" - ], - [ - "FStar.Tactics.Util.filter", - 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, - "022dd8862f42ee95895d6fcaf5ea4da5" - ], - [ - "FStar.Tactics.Util.filter_map_acc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3d814dae03546063e3442ff6d578ed8d" - ], - [ - "FStar.Tactics.Util.tryPick", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5ab2bb460c904520ffeaab46c6f01c09" - ], - [ - "FStar.Tactics.Util.map_opt", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "a97ff9b561cd95cef85d411ff5624e25" - ], - [ - "FStar.Tactics.Util.repeatn", - 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_FStar.Stubs.Tactics.Result.Success", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_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_a67b8afd62008112b32880833d88c8ad", - "typing_FStar.List.Tot.Base.length" - ], - 0, - "9727b1e731232efcd838bed43be050eb" - ], - [ - "FStar.Tactics.Util.tryFind", - 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, - "083c0d7149986e693697f9c83541bfb7" - ], - [ - "FStar.Tactics.Util.fold_left2", - 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_Prims.Cons", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "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.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "int_inversion", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "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", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented" - ], - 0, - "95b131c11de267d6edb03b1c93ed1696" - ], - [ - "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, - "b36c4029a736fe1250a8bcbefe1e01b2" - ], - [ - "FStar.Tactics.Util.string_of_option", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "a4d7ee5c8b77368056cb6001a9494d19" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.Derived.fst.hints b/ulib/.hints/FStar.Tactics.V1.Derived.fst.hints deleted file mode 100644 index 5cabad7011b..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.Derived.fst.hints +++ /dev/null @@ -1,655 +0,0 @@ -[ - "œ\fc98\u0019o©ñ‹§º% ", - [ - [ - "FStar.Tactics.V1.Derived.fail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Errors.Msg.mkmsg" - ], - 0, - "d740478646fe0868f17abca2bea2abe0" - ], - [ - "FStar.Tactics.V1.Derived.fail_silently", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Tactics.Types_pretyping_5fa2548ebd57526a21fa3c80850bae0a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "projection_inverse_BoxBool_proj_0", "string_inversion", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Errors.Msg.mkmsg", "unit_typing" - ], - 0, - "fbb2c203a09016e7d2f6b73fa4a3d7da" - ], - [ - "FStar.Tactics.V1.Derived._cur_goal", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "752b3c6ee746ca64696a1c86d8fa1d24" - ], - [ - "FStar.Tactics.V1.Derived.cur_goal_safe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "disc_equation_Prims.Cons", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Stubs.Tactics.Types.goal", - "typing_FStar.Stubs.Tactics.Types.goals_of" - ], - 0, - "572ab0e5cd7c9e3c1a68896956d3af3c" - ], - [ - "FStar.Tactics.V1.Derived.run_tactic", - 1, - 2, - 1, - [ "@query" ], - 0, - "79c5618625e237120bbfdcc16ae23393" - ], - [ - "FStar.Tactics.V1.Derived.dismiss", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5a3b8b69656516b1c82337d443892a51" - ], - [ - "FStar.Tactics.V1.Derived.flip", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_FStar.Stubs.Tactics.Types.goal", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "39885b4a09f61d3f7c959878872e27ec" - ], - [ - "FStar.Tactics.V1.Derived.smt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Stubs.Tactics.Types.goal" - ], - 0, - "c3b549e9d9365c0207774f731bec305c" - ], - [ - "FStar.Tactics.V1.Derived.divide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "unit_typing" - ], - 0, - "3a486705fec71c77e2a6a6fda9a220a9" - ], - [ - "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, - "dfa9e3af12e43b385874dbc984c47e85" - ], - [ - "FStar.Tactics.V1.Derived.focus", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5994ce347f3aa893971ea0c38934e451" - ], - [ - "FStar.Tactics.V1.Derived.mapAll", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a827438f23916a60a9caf501f9dc09a1" - ], - [ - "FStar.Tactics.V1.Derived.iterAll", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8acba2f2f3d81111cca421df4b6ff14c" - ], - [ - "FStar.Tactics.V1.Derived.guard", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.option@tok", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Pprint.arbitrary_string", - "typing_FStar.Stubs.Pprint.document", "typing_Prims.unit", - "unit_typing" - ], - 0, - "9d3cae7c42cfd84a4475bd6afe42c902" - ], - [ - "FStar.Tactics.V1.Derived.try_with", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "10a224f08070214b27913c1ab2fae432" - ], - [ - "FStar.Tactics.V1.Derived.repeat", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "aba8db873c7de070cf2bf91b70027f6e" - ], - [ - "FStar.Tactics.V1.Derived.revert_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c6a50f4af2491edc505b3571689fab73" - ], - [ - "FStar.Tactics.V1.Derived.__assumption_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "31412cd1153153ccb3a39a7f78091d81" - ], - [ - "FStar.Tactics.V1.Derived.__eq_sym", - 1, - 2, - 1, - [ "@query" ], - 0, - "36e151c88c57d020003c40dcfe619a70" - ], - [ - "FStar.Tactics.V1.Derived.try_rewrite_equality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "6b15f836aa3375b7facde394e2b74472" - ], - [ - "FStar.Tactics.V1.Derived.rewrite_all_context_equalities", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "24975aa324a7682b1f69b4e018694e1e" - ], - [ - "FStar.Tactics.V1.Derived.__un_sq_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "8e9db84e332407058372900c6e3a862c" - ], - [ - "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, - "cb92528af3a58fc2feaf656be038de3e" - ], - [ - "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, - "804cbdf4619563e014b81c0d799b7f4e" - ], - [ - "FStar.Tactics.V1.Derived.apply_squash_or_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "equality_tok_FStar.Reflection.V1.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Reflection.V1.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V1.Formula.True_@tok", "unit_typing" - ], - 0, - "813656fde44985b43fe194b91d1a08d8" - ], - [ - "FStar.Tactics.V1.Derived.tlabel", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "83fd5089c21c188cb8b5e1601dd56ba0" - ], - [ - "FStar.Tactics.V1.Derived.tlabel'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "83fd5089c21c188cb8b5e1601dd56ba0" - ], - [ - "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, - "7878e5df900581900e90e70749113ee4" - ], - [ - "FStar.Tactics.V1.Derived.bump_nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Stubs.Tactics.Types.goal" - ], - 0, - "c4d23cc17239032c45dfdaa4c03d08e4" - ], - [ - "FStar.Tactics.V1.Derived.destruct_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_Prims.string" - ], - 0, - "d04d5a7dd926551d3b0caaa9a28ee209" - ], - [ - "FStar.Tactics.V1.Derived.get_match_body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Reflection.V1.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "142170d30a14bb6ccbef345cacd7d2a8" - ], - [ - "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, - "28010d57c7f3d437f717df81e846a81d" - ], - [ - "FStar.Tactics.V1.Derived.nth_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Stubs.Reflection.Types.binders", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.List.Tot.Base.nth", - "typing_FStar.Stubs.Reflection.Types.binder" - ], - 0, - "e78ca2445e8bda9bb582763002f34bb1" - ], - [ - "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, - "ccacc4e85c03eabfdb1d78939fae743e" - ], - [ - "FStar.Tactics.V1.Derived.lem_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "3ac1386b32baecabfa0952f02feab30a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fst.hints b/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fst.hints deleted file mode 100644 index d37e5db560e..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fst.hints +++ /dev/null @@ -1,195 +0,0 @@ -[ - "*ž™5ÛÆJ\"*7Çê»côë", - [ - [ - "FStar.Tactics.V1.Logic.Lemmas.split_lem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "72ef67301fb0b37d7be90ae5c72bd0a1" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.imp_intro_lem", - 1, - 2, - 1, - [ "@query" ], - 0, - "e5681fcd44d70cf19314446cf121a18b" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__lemma_to_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "91845d51c0c8f1af2b8521cf3dddc395" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.vbind", - 1, - 2, - 1, - [ "@query" ], - 0, - "2a707ce51d34080cd61fece8ac7e4eb5" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.or_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_913239c2cf9dc8a14e1f047e0206138d", - "refinement_interpretation_Tm_refine_fe5dc86c0b5ea8bea91e659ca9e2937e" - ], - 0, - "c9e46630c029946f63f12d1bee81e4be" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.bool_ind", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "refinement_interpretation_Tm_refine_ce68865ee89c16a426a5f72d4d69b452", - "refinement_interpretation_Tm_refine_f43a14ea418029049992089ed14dc4a2" - ], - 0, - "1523dc69c15983ccb294ef0249b1727d" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.or_intro_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "9e31071341519036beb589ca8f91ad60" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.or_intro_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "94d62db7fc974504809248bbe735e315" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__and_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", - "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" - ], - 0, - "bc692fc5f84301e04beb0cd45f16fc6b" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__and_elim'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b88b26704ce5354755b4f9e280b3a2d9", - "refinement_interpretation_Tm_refine_fcbc0459912ef1a927da34909ee1ce81" - ], - 0, - "ee178af1663fdb2d5a4337867a6a772b" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__witness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "443cf940e565c4f407dc685d04192367" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__forall_inst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "496095c4874cc4cc949acbe1f1b24d70" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.__forall_inst_sq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "bfafb032935dd105c0d917136729b177" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.sklem0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_df2d65c00128265e81a98d1694fa32db" - ], - 0, - "848b0fa88633731d09d379684afdcdd0" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.lemma_from_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "75ec17e3001d24f43e546083f1a7ba6e" - ], - [ - "FStar.Tactics.V1.Logic.Lemmas.revert_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "a3309be42d5fbc0ff3c0e39f8973fae8" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fsti.hints b/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fsti.hints deleted file mode 100644 index 59ee9c1dd4b..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.Logic.Lemmas.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "%ÿÓc8»Eú´a7WRo‚o", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.Logic.fst.hints b/ulib/.hints/FStar.Tactics.V1.Logic.fst.hints deleted file mode 100644 index d83dc133942..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.Logic.fst.hints +++ /dev/null @@ -1,98 +0,0 @@ -[ - "W\u0015Œ,)´ºÕ\u001bxl—Rä\u0012“", - [ - [ - "FStar.Tactics.V1.Logic.revert_squash", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "763e204b15402d6db9a4ee192826ff7a" - ], - [ - "FStar.Tactics.V1.Logic.l_revert_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.binders", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8bd8796ced0b34af475f581ee6d0f512" - ], - [ - "FStar.Tactics.V1.Logic.simplify_eq_implication", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Reflection.V1.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.V1.Formula.formula@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V1.Formula.True_@tok" - ], - 0, - "688dbf04cd3165b847291d871531644f" - ], - [ - "FStar.Tactics.V1.Logic.unfold_definition_and_simplify_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V1.Formula_pretyping_87b8b9a1f6a242dcadd000024a8e0d5e", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Reflection.V1.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.V1.Formula.formula@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V1.Formula.True_@tok" - ], - 0, - "318c8bfc4ba86ce1325fac728f76bce0" - ], - [ - "FStar.Tactics.V1.Logic.__witness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "cb6afdafba76b175095c405771d22516" - ], - [ - "FStar.Tactics.V1.Logic.__forall_inst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eee646ed2c0261b2e37307734e5990b8" - ], - 0, - "8572bd3e44cd7045ca90d747a9658990" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.Logic.fsti.hints b/ulib/.hints/FStar.Tactics.V1.Logic.fsti.hints deleted file mode 100644 index ff80324263e..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.Logic.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "48\u000b‘rHNܶZ]ßê¤\u007f\u001a", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V1.SyntaxHelpers.fst.hints b/ulib/.hints/FStar.Tactics.V1.SyntaxHelpers.fst.hints deleted file mode 100644 index b12d7542d2a..00000000000 --- a/ulib/.hints/FStar.Tactics.V1.SyntaxHelpers.fst.hints +++ /dev/null @@ -1,87 +0,0 @@ -[ - "~äéòã\u001f¤Ú±þÒïa^\t$", - [ - [ - "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, - "c1702c149d473db577fd65ad14f94738" - ], - [ - "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, - "6b2edf1914e353bf646fd944b8c5d155" - ], - [ - "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, - "4ddda957decb289d159d4f5204f621cb" - ], - [ - "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_9871cc8935aa766a0912d965ea0107e5", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "typing_FStar.List.Tot.Base.find", - "typing_FStar.Stubs.Reflection.Types.letbinding", - "typing_Tm_abs_619447319465602d992a096483228159" - ], - 0, - "65dd14b6ace9f5fcbe5cb07f6ae247ab" - ], - [ - "FStar.Tactics.V1.SyntaxHelpers.inspect_unascribe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V1.Data.Tv_AscribedT", - "equation_FStar.Stubs.Reflection.V1.Data.notAscription", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "99f1b2c6912308f3dee2d9f32e974d96" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.Derived.fst.hints b/ulib/.hints/FStar.Tactics.V2.Derived.fst.hints deleted file mode 100644 index 65fe8643155..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.Derived.fst.hints +++ /dev/null @@ -1,841 +0,0 @@ -[ - "Öã®6cHri\u0015F\t!?\u0007ÜÒ", - [ - [ - "FStar.Tactics.V2.Derived.fail_doc_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message" - ], - 0, - "6aa616b1ab18f7bae39722eebc132102" - ], - [ - "FStar.Tactics.V2.Derived.fail_doc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message" - ], - 0, - "517889dd7a83dc487dd069106b21e8c9" - ], - [ - "FStar.Tactics.V2.Derived.fail_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Errors.Msg.mkmsg" - ], - 0, - "7c3adb7dd0cdf6d34ab5cc959742edda" - ], - [ - "FStar.Tactics.V2.Derived.fail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Errors.Msg.mkmsg" - ], - 0, - "41388207905987b0fe25d136ce17fad5" - ], - [ - "FStar.Tactics.V2.Derived.fail_silently_doc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Tactics.Types_pretyping_5fa2548ebd57526a21fa3c80850bae0a", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "projection_inverse_BoxBool_proj_0", "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", "unit_typing" - ], - 0, - "94d24ac69490cab6c762d8b65f99c507" - ], - [ - "FStar.Tactics.V2.Derived.fail_silently", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "kinding_FStar.Pervasives.Native.option@tok", - "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Errors.Msg.mkmsg" - ], - 0, - "49c3b58351baebb592b73ddcd532d92b" - ], - [ - "FStar.Tactics.V2.Derived._cur_goal", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "752b3c6ee746ca64696a1c86d8fa1d24" - ], - [ - "FStar.Tactics.V2.Derived.cur_goal_safe", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "disc_equation_Prims.Cons", "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Stubs.Tactics.Types.goal", - "typing_FStar.Stubs.Tactics.Types.goals_of" - ], - 0, - "363361cd4d4091ed0bd631606f6d80e7" - ], - [ - "FStar.Tactics.V2.Derived.run_tactic", - 1, - 2, - 1, - [ "@query" ], - 0, - "a66bb422488625ad41716f1ad3432298" - ], - [ - "FStar.Tactics.V2.Derived.dismiss", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5a3b8b69656516b1c82337d443892a51" - ], - [ - "FStar.Tactics.V2.Derived.flip", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "proj_equation_Prims.Cons_tl", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_FStar.Stubs.Tactics.Types.goal", - "typing_Prims.__proj__Cons__item__tl" - ], - 0, - "39885b4a09f61d3f7c959878872e27ec" - ], - [ - "FStar.Tactics.V2.Derived.smt", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", "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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Pervasives.Native.__proj__Mktuple2__item___1", - "typing_FStar.Stubs.Tactics.Types.goal" - ], - 0, - "f4a680d8c545120737ceeafdcf5908ed" - ], - [ - "FStar.Tactics.V2.Derived.divide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "int_inversion", "primitive_Prims.op_LessThan", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "unit_typing" - ], - 0, - "004efde9e23b6d886a42b7d8a2fb2d7e" - ], - [ - "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, - "6570090171d26551bf703bc8c3f792b6" - ], - [ - "FStar.Tactics.V2.Derived.focus", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5994ce347f3aa893971ea0c38934e451" - ], - [ - "FStar.Tactics.V2.Derived.mapAll", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a827438f23916a60a9caf501f9dc09a1" - ], - [ - "FStar.Tactics.V2.Derived.iterAll", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8acba2f2f3d81111cca421df4b6ff14c" - ], - [ - "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.Stubs.Tactics.Result.__result", - "true_interp" - ], - 0, - "8d022e7052f4f6b2a3429e8a3b8a28cc" - ], - [ - "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.Stubs.Tactics.Result.__result", - "string_typing", "true_interp" - ], - 0, - "cc1fa6cacd3dc1a50c41bec0534578aa" - ], - [ - "FStar.Tactics.V2.Derived.fresh_binder_named", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.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.Stubs.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, - "6493cdef29252c61df0bce8eba0e161f" - ], - [ - "FStar.Tactics.V2.Derived.fresh_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.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.Stubs.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, - "78f86bdc9a6ec1678258739e328f6de4" - ], - [ - "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.Stubs.Tactics.Result.__result", - "string_typing", "true_interp" - ], - 0, - "3972b3ee9d077f83a5514c60d39adaef" - ], - [ - "FStar.Tactics.V2.Derived.guard", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "data_typing_intro_FStar.Stubs.Tactics.Common.TacticFailure@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Failed@tok", - "data_typing_intro_FStar.Stubs.Tactics.Result.Success@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", - "disc_equation_FStar.Stubs.Tactics.Result.Failed", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "equation_FStar.Range.range", - "equation_FStar.Stubs.Errors.Msg.error_message", - "equation_Prims.eqtype", - "kinding_FStar.Pervasives.Native.option@tok", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_FStar.Range.range", - "typing_FStar.Stubs.Errors.Msg.error_message", - "typing_FStar.Stubs.Pprint.arbitrary_string", - "typing_FStar.Stubs.Pprint.document", "typing_Prims.unit", - "unit_typing" - ], - 0, - "a5e81b562f09cb6a48aa1c1184a4a1d7" - ], - [ - "FStar.Tactics.V2.Derived.try_with", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "10a224f08070214b27913c1ab2fae432" - ], - [ - "FStar.Tactics.V2.Derived.repeat", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Pervasives.either", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "aba8db873c7de070cf2bf91b70027f6e" - ], - [ - "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, - "fa5f173c5f2674278681f035e80fdad9" - ], - [ - "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, - "cd3c1cabc103e79e15fc03c0b311cbce" - ], - [ - "FStar.Tactics.V2.Derived.__eq_sym", - 1, - 2, - 1, - [ "@query" ], - 0, - "fd02f15265c1ef6153c2f6a9d2567ed4" - ], - [ - "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, - "c76b95a904825120472bda382697d2bb" - ], - [ - "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, - "794e825b1ac7f311a0f6679057384cc8" - ], - [ - "FStar.Tactics.V2.Derived.__un_sq_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "4a13f0b539d66b969015215ffe937ee5" - ], - [ - "FStar.Tactics.V2.Derived.tlabel", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "83fd5089c21c188cb8b5e1601dd56ba0" - ], - [ - "FStar.Tactics.V2.Derived.tlabel'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "83fd5089c21c188cb8b5e1601dd56ba0" - ], - [ - "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, - "2104f132e709217b084bc090728d0982" - ], - [ - "FStar.Tactics.V2.Derived.bump_nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Stubs.Tactics.Types.goal" - ], - 0, - "f041f2cb7ec164a1d305ce5b5710610e" - ], - [ - "FStar.Tactics.V2.Derived.destruct_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Tactics.NamedView_pretyping_b9909aecbb024f77e489710ef0c3a302", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "assumption_Prims.list__uu___haseq", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "string_typing", "typing_Prims.string", - "typing_tok_FStar.Tactics.NamedView.Tv_Unsupp@tok" - ], - 0, - "8a3268bc1320fc537dd88be18356fc96" - ], - [ - "FStar.Tactics.V2.Derived.get_match_body", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.Reflection.V2.Derived.unsquash_term", - "typing_FStar.Stubs.Reflection.Types.term" - ], - 0, - "6db414e3e065a85991a6705527839548" - ], - [ - "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, - "dbd223ab234b22741a8a3a924455fbfa" - ], - [ - "FStar.Tactics.V2.Derived.nth_var", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.nth.fuel_instrumented", - "@query", "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.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.Stubs.Tactics.Result.__result", - "int_inversion", - "kinding_FStar.Stubs.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.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "typing_FStar.List.Tot.Base.nth" - ], - 0, - "3fffbbab10635e8f2beeacd8b3dabb21" - ], - [ - "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, - "4784c51a87cb9cb4fd835199245ea2bb" - ], - [ - "FStar.Tactics.V2.Derived.namedv_to_simple_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.is_simple_binder", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.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, - "f8d86e67fc54620039ad45179357d60c" - ], - [ - "FStar.Tactics.V2.Derived.binding_to_simple_binder", - 1, - 2, - 1, - [ - "@query", - "constructor_distinct_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "constructor_distinct_Prims.Nil", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equality_tok_FStar.Stubs.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, - "fb97b4e64e2edb2970d59a970063813c" - ], - [ - "FStar.Tactics.V2.Derived.lem_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0dee8cb03258a67c2f7ec66427696212" - ], - 0, - "e781f8a99c258026ac59f16843f8e331" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.Logic.fst.hints b/ulib/.hints/FStar.Tactics.V2.Logic.fst.hints deleted file mode 100644 index 73ecb8556cf..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.Logic.fst.hints +++ /dev/null @@ -1,64 +0,0 @@ -[ - "šÏ§\u000f\u0006Ì…~f¸a5Ò¬ƒØ", - [ - [ - "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, - "dfc22aac6ce1c531d2f3147e548f27ed" - ], - [ - "FStar.Tactics.V2.Logic.simplify_eq_implication", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Reflection.V2.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.V2.Formula.formula@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V2.Formula.True_@tok" - ], - 0, - "52fb30e3ce45201a860816ccfa4f9302" - ], - [ - "FStar.Tactics.V2.Logic.unfold_definition_and_simplify_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Reflection.V2.Formula_pretyping_a139a58227e3de46f2dffe5b09a40575", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "equality_tok_FStar.Reflection.V2.Formula.True_@tok", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Tactics.NamedView.term", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Reflection.V2.Formula.formula@tok", - "lemma_FStar.Pervasives.invertOption", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_tok_FStar.Reflection.V2.Formula.True_@tok" - ], - 0, - "2a77058052f8e56aba90db643ca4494b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.Logic.fsti.hints b/ulib/.hints/FStar.Tactics.V2.Logic.fsti.hints deleted file mode 100644 index 116b9c04c5d..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.Logic.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Œ\u000f\u0011\u0006ÍC¡Jê‘#TË\t-¯", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.SyntaxCoercions.fst.hints b/ulib/.hints/FStar.Tactics.V2.SyntaxCoercions.fst.hints deleted file mode 100644 index e44fdd78b16..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.SyntaxCoercions.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "Ùï¤}é?”÷\u00018,-\u0006Õä#", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fst.hints b/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fst.hints deleted file mode 100644 index 72d45f2823b..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fst.hints +++ /dev/null @@ -1,74 +0,0 @@ -[ - "–Zä\nX'|\u0001ö;þ:èt_‘", - [ - [ - "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, - "da9ce5ea5de466dc087f3c7bf0587484" - ], - [ - "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, - "fcd5035e7e3c110d926e92b4dbd1e074" - ], - [ - "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_f4aa8a467a2f41ff52ecf3ce76839661" - ], - 0, - "afa97bfdf4b5b74a3c294333968b8487" - ], - [ - "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.Stubs.Tactics.Result.__result", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b57b7a304c9ba387b863aa5b7e594279" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fsti.hints b/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fsti.hints deleted file mode 100644 index f4c6054f378..00000000000 --- a/ulib/.hints/FStar.Tactics.V2.SyntaxHelpers.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "0ötHª\u0019;³Àù\u0019\u0011ýj»¡", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tactics.Visit.fst.hints b/ulib/.hints/FStar.Tactics.Visit.fst.hints deleted file mode 100644 index 5a152bd9d5d..00000000000 --- a/ulib/.hints/FStar.Tactics.Visit.fst.hints +++ /dev/null @@ -1,131 +0,0 @@ -[ - "Ç™PÂUH:¶_t÷å–ÁO{", - [ - [ - "FStar.Tactics.Visit.on_sort_simple_binder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Stubs.Reflection.V2.Data_pretyping_639bd2be760a1eade190d7619eaaf225", - "bool_inversion", - "constructor_distinct_FStar.Stubs.Tactics.Result.Failed", - "constructor_distinct_FStar.Stubs.Tactics.Result.Success", - "data_elim_FStar.Stubs.Reflection.V2.Data.Mkbinder_view", - "data_elim_FStar.Stubs.Tactics.Result.Success", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Mkbinder_view@tok", - "data_typing_intro_FStar.Stubs.Reflection.V2.Data.Q_Explicit@tok", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Q_Explicit", - "disc_equation_Prims.Nil", - "equation_FStar.Stubs.Reflection.Types.typ", - "equation_FStar.Stubs.Reflection.V2.Data.simple_binder", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.binder_view", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "lemma_FStar.Stubs.Reflection.V2.Builtins.simple_binder_defn", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_ppname", - "proj_equation_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_attrs", - "projection_inverse_FStar.Stubs.Reflection.V2.Data.Mkbinder_view_qual", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_exn", - "projection_inverse_FStar.Stubs.Tactics.Result.Failed_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_a", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_ps", - "projection_inverse_FStar.Stubs.Tactics.Result.Success_v", - "refinement_interpretation_Tm_refine_336c863ebf681869395d10a4c152247a", - "refinement_interpretation_Tm_refine_a8284b5e442b1496d78105f043903ddc", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_binder", - "typing_FStar.Stubs.Reflection.V2.Builtins.pack_binder", - "typing_FStar.Stubs.Reflection.V2.Data.__proj__Mkbinder_view__item__attrs", - "typing_FStar.Stubs.Reflection.V2.Data.binder_is_simple" - ], - 0, - "d7a4d0275d21dd66d47c960370db5922" - ], - [ - "FStar.Tactics.Visit.visit_tm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Abs", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_App", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Arrow", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedC", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_AscribedT", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_BVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Const", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_FVar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Let", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Match", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Refine", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Type", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_UInst", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unknown", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Unsupp", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Uvar", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Tv_Var", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.term_view", - "fuel_guarded_inversion_FStar.Stubs.Tactics.Result.__result", - "kinding_FStar.Pervasives.Native.option@tok", - "kinding_FStar.Pervasives.either@tok", - "proj_equation_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_81af2efa33d38022d26acf32f3bb78ef", - "typing_FStar.Pervasives.Native.__proj__Mktuple3__item___1", - "typing_FStar.Stubs.Reflection.Types.comp", - "typing_FStar.Stubs.Reflection.Types.term", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_ln", - "typing_Prims.bool" - ], - 0, - "9de578f6ae1cfd9264ee3bc52f4fb165" - ], - [ - "FStar.Tactics.Visit.visit_tm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Cons", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Constant", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Dot_Term", - "disc_equation_FStar.Stubs.Reflection.V2.Data.Pat_Var", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.pattern", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0f629d8514acc7bff946d35362f92d86" - ], - [ - "FStar.Tactics.Visit.visit_tm", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Eff", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_GTotal", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Lemma", - "disc_equation_FStar.Stubs.Reflection.V2.Data.C_Total", - "fuel_guarded_inversion_FStar.Stubs.Reflection.V2.Data.comp_view", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f67fae703d4f124e9a89639bf06f15ff", - "typing_FStar.Stubs.Reflection.V2.Builtins.inspect_comp" - ], - 0, - "22977da038799c2c7dc95d153d29ccd1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.TaggedUnion.fst.hints b/ulib/.hints/FStar.TaggedUnion.fst.hints deleted file mode 100644 index 3061f09c535..00000000000 --- a/ulib/.hints/FStar.TaggedUnion.fst.hints +++ /dev/null @@ -1,1532 +0,0 @@ -[ - "wBURK9RÕ¸Œjìáø¥", - [ - [ - "FStar.TaggedUnion.typ_l", - 1, - 4, - 2, - [ - "@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_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Pervasives.Native.fst", - "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.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxString_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FString_const_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_Prims.string", - "typing_tok_FStar.Pointer.Base.TUInt32@tok" - ], - 0, - "d64da57e3355eb23a746fb9fdf2f91eb" - ], - [ - "FStar.TaggedUnion.tag_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "constructor_distinct_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.TaggedUnion.typ_l", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.TaggedUnion.typ_l", "typing_Prims.string" - ], - 0, - "65db6e631c735e3305ce61488c3ce6b5" - ], - [ - "FStar.TaggedUnion.union_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.TaggedUnion.typ_l", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.TaggedUnion.typ_l", "typing_Prims.string" - ], - 0, - "89ce3c0f55524c74f43227481ca7a684" - ], - [ - "FStar.TaggedUnion.field_of_tag'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t", - "typing_Prims.string", "typing_Prims.uu___is_Cons" - ], - 0, - "45a48ce8b21a65ac0aa453baa2934807" - ], - [ - "FStar.TaggedUnion.field_of_tag", - 1, - 2, - 1, - [ "@query" ], - 0, - "5e470c6be271083f8d5b889bbd08a5cd" - ], - [ - "FStar.TaggedUnion.tag_of_field'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "b226ce4cde3848b9cdfca5231b294f60" - ], - [ - "FStar.TaggedUnion.tag_of_field", - 1, - 2, - 1, - [ "@query" ], - 0, - "c4c5dcd372a86d192ea1a9751569a378" - ], - [ - "FStar.TaggedUnion.field_of_tag_of_field'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0fd261a8a922b5da4572ec72ef4c27f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.TaggedUnion.tag_of_field_", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "4262a7f2917c6477ca9ebc13fdac1043" - ], - [ - "FStar.TaggedUnion.field_of_tag_of_field'", - 2, - 2, - 1, - [ "@query" ], - 0, - "11b1381ac716e7f46240d61dab4c9baa" - ], - [ - "FStar.TaggedUnion.field_of_tag_of_field", - 1, - 2, - 1, - [ "@query" ], - 0, - "b7b7eab660a43b8d228112dba50c1d7a" - ], - [ - "FStar.TaggedUnion.field_of_tag_of_field", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.tag_of_field", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion" - ], - 0, - "3820c6d579b464fe27838839922fa4a6" - ], - [ - "FStar.TaggedUnion.tag_of_field_of_tag'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "typing_FStar.List.Tot.Base.length", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.TaggedUnion.field_of_tag_", "typing_FStar.UInt32.t", - "typing_Prims.string", "typing_Prims.uu___is_Cons" - ], - 0, - "89945850a277b941cae67dcbe33efcc5" - ], - [ - "FStar.TaggedUnion.tag_of_field_of_tag", - 1, - 2, - 1, - [ - "@query", "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.tag_of_field" - ], - 0, - "5d30a546531db8ad3a4a1f080b981cd6" - ], - [ - "FStar.TaggedUnion.field_matches_tag_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "eq2-interp", "equation_FStar.TaggedUnion.field_matches_tag" - ], - 0, - "bd522ea1d5a9a38053641da2c10b345e" - ], - [ - "FStar.TaggedUnion.field_matches_tag_elim", - 1, - 2, - 1, - [ - "@query", "eq2-interp", - "equation_FStar.TaggedUnion.field_matches_tag" - ], - 0, - "8e8c43d0b6f365f5bfe3f90a2c3a2732" - ], - [ - "FStar.TaggedUnion.assert_field_matches_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.tag_of_field", - "equation_FStar.TaggedUnion.tags", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "905f3d52ba6f506b853fc7ce4bbe97c1" - ], - [ - "FStar.TaggedUnion.valid", - 1, - 2, - 1, - [ "@query" ], - 0, - "f7117d9354fc7e859f70c3c04e442663" - ], - [ - "FStar.TaggedUnion.valid_live", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.valid", - "l_and-interp", "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.tag_field", - "typing_FStar.TaggedUnion.typ_l" - ], - 0, - "5289199c7d996e4dad784a468e5e3e76" - ], - [ - "FStar.TaggedUnion.read_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.valid", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.TaggedUnion.valid_live", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_7e34865a8445a2c02d0e66d857f1726e", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf", "typing_FStar.TaggedUnion.typ", - "typing_FStar.UInt32.t" - ], - 0, - "010ec41d7bfe541085fec7f5b2fdbae5" - ], - [ - "FStar.TaggedUnion.gfield", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.includes_gufield_gen", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_Prims.string" - ], - 0, - "ba3a80840e5b39aff8bf6934c63b696d" - ], - [ - "FStar.TaggedUnion.field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tag_of_field", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.field_of_tag_.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.is_active_union_live", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.TaggedUnion.tag_of_field_of_tag", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_hd", - "refinement_interpretation_Tm_refine_2ebadf306859782ea4d02b292c69cb97", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.TaggedUnion.field_of_tag_", - "typing_FStar.TaggedUnion.gread_tag", "typing_FStar.TaggedUnion.typ", - "typing_FStar.UInt32.t", "typing_Prims.string" - ], - 0, - "dfcad327e37747f36244c9d29b21d67c" - ], - [ - "FStar.TaggedUnion.write", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TUInt32", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "eq2-interp", "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.tag_of_field", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_gufield", - "lemma_FStar.Pointer.Base.readable_struct_fields_cons", - "lemma_FStar.Pointer.Base.readable_struct_fields_nil", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.Pointer.Derived1.includes_gufield_gen", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", - "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c11e7d121a33e443c4beb15b969cee30", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "7188cc8ed3bfb5ae1e0e0060228269b0" - ], - [ - "FStar.TaggedUnion.write_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@fuel_irrelevance_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TUInt32", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.tag_of_field", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.TaggedUnion.tag_of_field_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.loc_includes_union_r", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.modifies_trans", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.includes_gfield_gen", - "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_2f0ee03cb351104c406e5fab04712a9c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_7e34865a8445a2c02d0e66d857f1726e", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_ee6b65c96a2b52b060cb85f7903cc06e", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.loc_union", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "0ac240dd0acb5c131f2623f9c9792aa0" - ], - [ - "FStar.TaggedUnion.includes_gfield", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gfield", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "typing_FStar.TaggedUnion.gfield" - ], - 0, - "69780e1030574295eff581bfc3095475" - ], - [ - "FStar.TaggedUnion.includes_gfield_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "6e0dfb38ab84e5c6819e896260efd78c" - ], - [ - "FStar.TaggedUnion.live_gfield", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.live_gufield", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_Prims.string", - "typing_Prims.uu___is_Cons" - ], - 0, - "15552445b6d38a849e7cb64203d84bfb" - ], - [ - "FStar.TaggedUnion.modifies_1_valid", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", - "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.gfield", - "typing_FStar.TaggedUnion.gread_tag", - "typing_FStar.TaggedUnion.tag_field", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "f42fb702480a11f0667011d640ca1da1" - ], - [ - "FStar.TaggedUnion.modifies_1_field_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Pointer.Derived1.loc_disjoint_gufield_r", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.gfield", - "typing_FStar.TaggedUnion.gread_tag", - "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "5db177ca086ab4b8e1d7edf5b0953e52" - ], - [ - "FStar.TaggedUnion.modifies_1_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.typ", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "lemma_FStar.Pointer.Base.loc_includes_pointer_pointer", - "lemma_FStar.Pointer.Base.modifies_loc_includes", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_bc4a7bb32eb4db8bcf4cc79868d17c38", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.TaggedUnion.gfield", "typing_FStar.TaggedUnion.typ" - ], - 0, - "b385413a6f71ec22d26a03f6f552c026" - ], - [ - "FStar.TaggedUnion.modifies_1_field_tag_equal", - 1, - 2, - 1, - [ "@query", "lemma_FStar.TaggedUnion.modifies_1_field_tag" ], - 0, - "5b76850b9a073e081300778462e5c573" - ], - [ - "FStar.TaggedUnion.readable_intro", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "data_typing_intro_Prims.Cons@tok", - "data_typing_intro_Prims.Nil@tok", "disc_equation_Prims.Cons", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.tag_field", - "equation_FStar.TaggedUnion.typ", "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.readable_gufield", - "lemma_FStar.Pointer.Base.readable_struct_fields_cons", - "lemma_FStar.Pointer.Base.readable_struct_fields_nil", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_Prims.string" - ], - 0, - "f3d59127d946dfb8aee4b090c41b02be" - ], - [ - "FStar.TaggedUnion.readable_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_matches_tag", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.gfield", - "equation_FStar.TaggedUnion.gread_tag", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.is_active_union_field_get_key", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_gufield", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.TaggedUnion.field_of_tag_of_field", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_dd64996f5633a22cfed802ad39a5cc83", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.TaggedUnion.field_of_tag", - "typing_FStar.TaggedUnion.gread_tag", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "9285a5ea99299cabd3717419d2bdca37" - ], - [ - "FStar.TaggedUnion.raw_get_value", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.raw_get_field", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion" - ], - 0, - "6f7381c8b28959f5fabc8dac0afbae82" - ], - [ - "FStar.TaggedUnion.get_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "b2t_def", "bool_inversion", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.get_field", - "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.t", "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "l_and-interp", "lemma_FStar.TaggedUnion.tag_of_field_of_tag", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.List.Tot.Base.mem", "typing_FStar.UInt32.t" - ], - 0, - "9a3e12de2474fefffe618365745c281d" - ], - [ - "FStar.TaggedUnion.get_value", - 1, - 2, - 1, - [ "@query", "equation_FStar.TaggedUnion.get_field" ], - 0, - "9690827b52f6510369d46548834971ea" - ], - [ - "FStar.TaggedUnion.valid_matching_tags", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "b2t_def", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.field_of_tag", - "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.raw", - "equation_FStar.TaggedUnion.raw_get_field", - "equation_FStar.TaggedUnion.raw_get_tag", - "equation_FStar.TaggedUnion.tags", - "equation_FStar.TaggedUnion.tags_", "equation_FStar.TaggedUnion.typ", - "equation_FStar.TaggedUnion.typ_l", - "equation_FStar.TaggedUnion.union_field", - "equation_FStar.TaggedUnion.valid", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.gread_gfield", - "lemma_FStar.Pointer.Base.is_active_union_field_get_key", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.TaggedUnion.valid_live", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_cecc26d1ef3d8089c5847fc83a6cd7ff", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.TaggedUnion.field_of_tag_", - "typing_FStar.TaggedUnion.raw_get_tag", - "typing_FStar.TaggedUnion.tag_field", "typing_FStar.TaggedUnion.typ", - "typing_FStar.TaggedUnion.typ_l", - "typing_FStar.TaggedUnion.union_field", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "36be9070f25d28064b829fbf996be99a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.TaggedUnion.fsti.hints b/ulib/.hints/FStar.TaggedUnion.fsti.hints deleted file mode 100644 index 916bc5d4e0c..00000000000 --- a/ulib/.hints/FStar.TaggedUnion.fsti.hints +++ /dev/null @@ -1,200 +0,0 @@ -[ - "s\u0007wDa›“Ã?N˜ˆ‚vÃé", - [ - [ - "FStar.TaggedUnion.field_of_tag'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "binder_x_3cfe4f5782784c1de200aa5f421ffb64_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t", - "typing_Prims.string", "typing_Prims.uu___is_Cons" - ], - 0, - "ea8864ca52a474a5c2d4a8c2b25b54cc" - ], - [ - "FStar.TaggedUnion.field_of_tag", - 1, - 2, - 1, - [ "@query" ], - 0, - "8a57009278a91ca089b082978fc57175" - ], - [ - "FStar.TaggedUnion.tag_of_field'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_2", - "binder_x_662f63f7886329f6f3cef5eefdf19435_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.TaggedUnion.tags_", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", "int_inversion", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4da78a45f3e94b40d8bf92e6f7e67f5d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", "typing_FStar.UInt32.t", - "typing_Prims.string" - ], - 0, - "a7cc41f3882a1f0d2a7a1fd92a7b4d64" - ], - [ - "FStar.TaggedUnion.tag_of_field", - 1, - 2, - 1, - [ "@query" ], - 0, - "c4c5dcd372a86d192ea1a9751569a378" - ], - [ - "FStar.TaggedUnion.field_of_tag_of_field", - 1, - 2, - 1, - [ "@query" ], - 0, - "e9c36eba6cf54945aab7e217efb77574" - ], - [ - "FStar.TaggedUnion.includes_gfield_gen", - 1, - 2, - 1, - [ "@query" ], - 0, - "c47af3a60993199ae62122c4a291b6e9" - ], - [ - "FStar.TaggedUnion.get_tag", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@query", "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "b2t_def", "eq2-interp", "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.TaggedUnion.get_field", - "equation_FStar.TaggedUnion.matching_tags", - "equation_FStar.TaggedUnion.t", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "l_and-interp", "lemma_FStar.TaggedUnion.tag_of_field_of_tag", - "refinement_interpretation_Tm_refine_b1bf8f1568fdea244a500a7e69890ee4" - ], - 0, - "e3650e9c1669e9ff5b3872bc0828d183" - ], - [ - "FStar.TaggedUnion.get_value", - 1, - 2, - 1, - [ "@query", "equation_FStar.TaggedUnion.get_field" ], - 0, - "81577a71aa6f453e7df1a5962172e370" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Tcp.fsti.hints b/ulib/.hints/FStar.Tcp.fsti.hints deleted file mode 100644 index 703bf3c3c6f..00000000000 --- a/ulib/.hints/FStar.Tcp.fsti.hints +++ /dev/null @@ -1,42 +0,0 @@ -[ - "Ÿ\u0003w<ì†Æ \u0002?.\tPõÆP", - [ - [ - "FStar.Tcp.recv_result", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Bytes.bytes" - ], - 0, - "20f9c0f81dae99273442a5c1254920cc" - ], - [ - "FStar.Tcp.__proj__RecvError__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0b16c523f4a6aeeba204a171d1e8f098" - ], - 0, - "63fabdb8c7182f25568de7465e96cd7b" - ], - [ - "FStar.Tcp.__proj__Received__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e0e9f2a62a06f869cff002e4825e3dc6" - ], - 0, - "123766e4481eddd8b2a541bb6b57e222" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.TwoLevelHeap.fst.hints b/ulib/.hints/FStar.TwoLevelHeap.fst.hints deleted file mode 100644 index 9a4b5584b2c..00000000000 --- a/ulib/.hints/FStar.TwoLevelHeap.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "4·$_§ÝÅþ\u0014b ³àË›;", - [ - [ - "FStar.TwoLevelHeap.lemma_as_ref_inj", - 1, - 2, - 1, - [ - "@query", "equation_FStar.TwoLevelHeap.as_ref", - "equation_FStar.TwoLevelHeap.ref_as_rref" - ], - 0, - "d10dc0ff9c623744905abe4442b34bec" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt.fst.hints b/ulib/.hints/FStar.UInt.fst.hints deleted file mode 100644 index 1a557638547..00000000000 --- a/ulib/.hints/FStar.UInt.fst.hints +++ /dev/null @@ -1,6494 +0,0 @@ -[ - "Ùîó pj_\t×¹ªU3\fÈ", - [ - [ - "FStar.UInt.pow2_values", - 1, - 2, - 1, - [ "@query" ], - 0, - "4fd93f8874e78561c614e10c2a226ee4" - ], - [ - "FStar.UInt.zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "2078a0e325aa1b1ee4915b82b19d78aa" - ], - [ - "FStar.UInt.pow2_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.pow2" - ], - 0, - "094dc9700fdb60a81e554cbbffa6ed96" - ], - [ - "FStar.UInt.one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "f7a83970cf5a15c066d94c0ca5e1e8aa" - ], - [ - "FStar.UInt.ones", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "170ea82eb310909c3a127ea521d71fc0" - ], - [ - "FStar.UInt.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "10b2a06e6d4beb77a7d80cea8c626880" - ], - [ - "FStar.UInt.decr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ebeed0c0d71f0f246261d3a6078ec419" - ], - [ - "FStar.UInt.incr_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "e61c703bc739e67e6707c60afca791c4" - ], - [ - "FStar.UInt.decr_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "9bfec606b9211eff9da2cfc9c781c7ee" - ], - [ - "FStar.UInt.incr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "ef3570c18f6cb32a8654c8adcaf14963" - ], - [ - "FStar.UInt.decr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "1d60d72b3b14bb99a139730b9a9e002c" - ], - [ - "FStar.UInt.add", - 1, - 2, - 1, - [ "@query" ], - 0, - "0a8e06394f91b62e7866fd03e2a6f027" - ], - [ - "FStar.UInt.add_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "6622c60d27343230ee2eac8a80e28b01" - ], - [ - "FStar.UInt.add_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "9f0b0ee2158db4eea020e6dacc8ef340" - ], - [ - "FStar.UInt.sub", - 1, - 2, - 1, - [ "@query" ], - 0, - "e0c8e2fd6f530fc76814abfe95d956a6" - ], - [ - "FStar.UInt.sub_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "1937763e53843174f9e993ba0eb8e5e9" - ], - [ - "FStar.UInt.sub_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "44e9866e69afaf13e45aa362f6f77783" - ], - [ - "FStar.UInt.mul", - 1, - 2, - 1, - [ "@query" ], - 0, - "a956985d6e883a4191028d50727c5009" - ], - [ - "FStar.UInt.mul_underspec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "7995f1e34fcfca1954d2a1619c63364d" - ], - [ - "FStar.UInt.mul_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "2e77045e27f498570b37eaab7dd8b36d" - ], - [ - "FStar.UInt.lt_square_div_lt", - 1, - 0, - 0, - [ "@query" ], - 0, - "8a5c26c4a961bfb4466e59142fcc3715" - ], - [ - "FStar.UInt.lt_square_div_lt", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Division", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "20e0e8fad12f4e230234c62f65bf4ed7" - ], - [ - "FStar.UInt.mul_div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_Prims.pow2" - ], - 0, - "0c4b8fbe243fce5ac82b22bf4acc7a0c" - ], - [ - "FStar.UInt.div", - 1, - 0, - 0, - [ "@query" ], - 0, - "de3a971d5799514e9ce6b7c1bcf50f70" - ], - [ - "FStar.UInt.div_underspec", - 1, - 0, - 0, - [ "@query" ], - 0, - "1c3e6fe54cd0e237246385f06daaaac5" - ], - [ - "FStar.UInt.div_underspec", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits" - ], - 0, - "1ba910c4b76da14fb91b04241ecc1345" - ], - [ - "FStar.UInt.div_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b043545dacb0e2e93379cddb70fcae08" - ], - [ - "FStar.UInt.div_size", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "60cf56ebbcdd7add3d035c1ad9c9ba19" - ], - [ - "FStar.UInt.div_size", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.udiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f901a56a3ec34656d4085bf7379131a2" - ], - [ - "FStar.UInt.udiv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "88dfd8532f22648be7a20c2db7d2b6c3" - ], - [ - "FStar.UInt.eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bc76218a8bb85ec94b7afbc7f76c26a0" - ], - [ - "FStar.UInt.to_uint_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "0dd91a241a67405566489ba9b828cb7c" - ], - [ - "FStar.UInt.to_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "64e6b1067a8ab4acd7ebc13ce40b4df7" - ], - [ - "FStar.UInt.from_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d4374ac7c51609d20903daf2c4e77aa0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "dccc47f109ed741a0ac95b69d1d28083" - ], - [ - "FStar.UInt.to_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "4cac9916066fade6f636854a422b5a9f" - ], - [ - "FStar.UInt.to_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "0676fadcc694b34e17b8e9fa8b305b92" - ], - [ - "FStar.UInt.to_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5dfc5dff402f0ded061e170f7ba86b67" - ], - [ - "FStar.UInt.to_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_2", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_222e8efb7797f6b05a9f29eaf94cf7bd", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "3b11b445d09c7e37401d87a723f62b53" - ], - [ - "FStar.UInt.to_vec_lemma_2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c01989bbc08ba11762d0939be1eaae3f" - ], - [ - "FStar.UInt.inverse_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "28bb114a0cdffafa0b6f680ca111a678" - ], - [ - "FStar.UInt.inverse_aux", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_e1beddd2e70f1dfd04dde9bc6d0479db_2", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dbafcf6ee852392ba6d4465af96e1a6f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.to_vec", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "489e1fbf5e05d99e95dd9e8c028651bc" - ], - [ - "FStar.UInt.inverse_aux", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e83b7e5523b83849205f54797dc613e9", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "7cc8640d692fb9d07a4f931f04b07144" - ], - [ - "FStar.UInt.inverse_vec_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "d3c2798151434fc3d0f73f4e36665db8" - ], - [ - "FStar.UInt.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "195dd198b3bf281f812b3b57122c8b6f" - ], - [ - "FStar.UInt.inverse_num_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.to_vec" - ], - 0, - "23bf47fe711795a4126a62d2b6572b56" - ], - [ - "FStar.UInt.from_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ac5a25a7f712e338cf014fc6f62894a6" - ], - [ - "FStar.UInt.from_vec_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "0765ebdd421325381588627ad46df20f" - ], - [ - "FStar.UInt.from_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "9ac8f5aeaf39547d93e36d5b77de6fe8" - ], - [ - "FStar.UInt.from_vec_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "f90131c4817b9aafbb1c5611576cf988" - ], - [ - "FStar.UInt.from_vec_aux", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "ce3ac153e0943a60363ea4a6622a675f" - ], - [ - "FStar.UInt.from_vec_aux", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "a13248a0ce2b82b8b3e848515ff38660" - ], - [ - "FStar.UInt.seq_slice_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "fe19cff076c8a2d85af6b9ecd9322b06" - ], - [ - "FStar.UInt.seq_slice_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.slice", "typing_Prims.bool" - ], - 0, - "f4dde5474648522cc179a5527ea0a8f2" - ], - [ - "FStar.UInt.from_vec_propriety", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "402ad6df94f807b2f115a31c3a6470e8" - ], - [ - "FStar.UInt.from_vec_propriety", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0081655a9eb5fe95a2f8a80b6fc4c0bc", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_1f6125fedb966143d8503f23f74ead32", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "371259e8233760556dd96f0b6b959859" - ], - [ - "FStar.UInt.from_vec_propriety", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_bd4cbe31c87fde75483a0bf348588fef", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "4a82a11749589087d64d672325231581" - ], - [ - "FStar.UInt.append_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "34b92b699c78bb58b52bd6e187f03dd1" - ], - [ - "FStar.UInt.append_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "09dc2b055f6cdd9e68e0219819f34cbf" - ], - [ - "FStar.UInt.append_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2d7fd639d3fbf9a1ef80f6ae0357897f" - ], - [ - "FStar.UInt.slice_left_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "fcab5c1bfc78ef91f8e2aac1ff6e0e5c" - ], - [ - "FStar.UInt.slice_left_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_Prims.bool", - "typing_Prims.pow2" - ], - 0, - "d58bae515149b909aeca2fcd0feddfbc" - ], - [ - "FStar.UInt.slice_left_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.slice_right_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "3b17af99cec37903f7601cb72c8b562a" - ], - [ - "FStar.UInt.slice_right_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_Prims.bool" - ], - 0, - "4860a22eb70557eef721b1bd06721638" - ], - [ - "FStar.UInt.slice_right_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.zero_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "88ea822d9b4d5842981fbe5e691c0039" - ], - [ - "FStar.UInt.zero_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt.zero", - "typing_Prims.bool", "typing_Prims.pow2", - "well-founded-ordering-on-nat" - ], - 0, - "991caba652520035ab1b4628dae079dd" - ], - [ - "FStar.UInt.zero_to_vec_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.pos", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_80d9caa6224e439afb18d4f2e44bd4d2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "62eeca1a2b3e5022d9e94c6e46a8dbd3" - ], - [ - "FStar.UInt.zero_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "88be30cdd2685a3b5faec6ae7d594f23" - ], - [ - "FStar.UInt.zero_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.zero_to_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "a67d2e62a6892a703a4553b0855ef405" - ], - [ - "FStar.UInt.one_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.pos", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "539c6cb232d1aaa5c982a9ed089b7cc3" - ], - [ - "FStar.UInt.one_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.elem_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.one", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.BitVector.zero_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.one", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt.zero", - "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "6c806d0096b53a84ffb56bfe805894b9" - ], - [ - "FStar.UInt.pow2_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "ee87b70c7c01a84fdd6d85b3a80dc6a4" - ], - [ - "FStar.UInt.pow2_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.elem_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.one", "equation_FStar.UInt.pow2_n", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt.fits", "typing_FStar.UInt.one", - "typing_FStar.UInt.pow2_n", "typing_FStar.UInt.to_vec", - "typing_Prims.bool", "typing_Prims.pow2", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "9e26544cd430889e2bc83a5f5ce9e203" - ], - [ - "FStar.UInt.pow2_to_vec_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad65db1b907d55a15945198a30f3281c", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "e4453b29e4f42b4d87606b7bb9532485" - ], - [ - "FStar.UInt.pow2_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.int" - ], - 0, - "f06acf41f4349bbfd55c307af2677e06" - ], - [ - "FStar.UInt.pow2_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.pow2_to_vec_lemma", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "3bf4dfa8330bf567a277213481c0c1fd" - ], - [ - "FStar.UInt.ones_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "a410b14098fbef7e34e9cfbcbe0a8e85" - ], - [ - "FStar.UInt.ones_to_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.ones", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.ones", "typing_FStar.UInt.to_vec", - "typing_Prims.bool", "typing_Prims.pow2", - "well-founded-ordering-on-nat" - ], - 0, - "d1164b56e53dce48ae95d5a04928754b" - ], - [ - "FStar.UInt.ones_to_vec_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_97dd628f048a1c60d58300d29effc035", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "c106d13d72325c0ac0c314707c08b7bf" - ], - [ - "FStar.UInt.ones_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "6e5a1d06883b24e32ad996983136d2a0" - ], - [ - "FStar.UInt.ones_from_vec_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.ones_to_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.ones_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "43160a8be298b6abacc87369b68acf5b" - ], - [ - "FStar.UInt.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "6754683c7b110494e7359f17a33d97cb" - ], - [ - "FStar.UInt.nth", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "a6b588943688962753c25b6644d097d5" - ], - [ - "FStar.UInt.nth_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.nth", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "29141880a38081cc52cdea6556236377" - ], - [ - "FStar.UInt.nth_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.zero_nth_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "cb3d29464346be9bfa3f8b3c2b3f7745" - ], - [ - "FStar.UInt.zero_nth_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.nth", - "equation_FStar.UInt.zero", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.UInt.zero_to_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.bool" - ], - 0, - "1414a50c44ceb0e5f22150b93349c967" - ], - [ - "FStar.UInt.pow2_nth_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", - "equation_FStar.UInt.nth", "equation_FStar.UInt.pow2_n", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.UInt.pow2_to_vec_lemma", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "72e08a22e44e9c85c6b6f570a6a6d1be" - ], - [ - "FStar.UInt.one_nth_lemma", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.elem_vec", - "equation_FStar.UInt.nth", "equation_FStar.UInt.one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.UInt.one_to_vec_lemma", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.elem_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "2ad48c62fd39c9026d665f8c988cc878" - ], - [ - "FStar.UInt.ones_nth_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "e52351c03873e441829c4ae18f12ba34" - ], - [ - "FStar.UInt.ones_nth_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.UInt.ones_to_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.bool" - ], - 0, - "97fa55de263dd58ac79e84f27a696d64" - ], - [ - "FStar.UInt.logand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1cc3433b5e77c9f073fac44fe388bded" - ], - [ - "FStar.UInt.logand", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f55cb45ca9840623238c41435126a2f0" - ], - [ - "FStar.UInt.logxor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4b3790cce79e2f7c4ca700af1baf6fac" - ], - [ - "FStar.UInt.logor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.lognot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3e362104453138974019c02efa9f673a" - ], - [ - "FStar.UInt.lognot", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ed22ec5d79d92aab1131cfad35de05ff" - ], - [ - "FStar.UInt.logand_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.UInt.logand", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logand_vec_definition", - "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.BitVector.logand_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "e93389c8699a7fdc51555a02e3293e78" - ], - [ - "FStar.UInt.logand_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1926d0df4e80d0c3e44df87a7ae89949" - ], - [ - "FStar.UInt.logxor_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "a363001b0c0f357652a06cd5873e37e3" - ], - [ - "FStar.UInt.logxor_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logor_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dd1e7a2e103280edc9ecbaaf69a2a6a0" - ], - [ - "FStar.UInt.logor_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.UInt.logor", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.BitVector.logor_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "82acb8c39b413bc6eceb2fa72fcd3e7e" - ], - [ - "FStar.UInt.logor_definition", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.lognot_definition", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c80ebbe7aef010e1766a61a371c1c58" - ], - [ - "FStar.UInt.lognot_definition", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.nth", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.UInt.inverse_aux", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "2a53d3bd1ee65cafd3daffe0959f3625" - ], - [ - "FStar.UInt.lognot_definition", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.minus", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "4ea143d2032b1ea40185046f954aec97" - ], - [ - "FStar.UInt.minus", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "b30cf4ef96e424c04fb28a363c614023" - ], - [ - "FStar.UInt.logand_commutative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logand_definition", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "78c54b959314ab2bf1ed5b1e4b7e672a" - ], - [ - "FStar.UInt.logand_commutative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logand_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "06731f3471e1d538ca127422659f5bc3" - ], - [ - "FStar.UInt.logand_associative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.nth", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.logand_definition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.logand", "typing_FStar.UInt.nth" - ], - 0, - "00b1ab938ad663503735dee717c29072" - ], - [ - "FStar.UInt.logand_associative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e01a068f8ce770db037f1ece56b481fb" - ], - [ - "FStar.UInt.logand_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "5d52404df0fcb667da1011458ced7ec9" - ], - [ - "FStar.UInt.logand_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.UInt.nth", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logand_definition", "primitive_Prims.op_AmpAmp", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "e223cfd0ffad531d0022326d6374063c" - ], - [ - "FStar.UInt.logand_self", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "e1352097314fe8d75e40b4b309701355" - ], - [ - "FStar.UInt.logand_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logand_definition", - "lemma_FStar.UInt.zero_nth_lemma", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "b443a11f5d821916025a231ef838da53" - ], - [ - "FStar.UInt.logand_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "c8152d45bb93ef23322900c473c9dbad" - ], - [ - "FStar.UInt.logand_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.nth", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logand_definition", - "lemma_FStar.UInt.ones_nth_lemma", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "a35fe5367b7063a3ec0f8235bb209e56" - ], - [ - "FStar.UInt.logand_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.subset_vec_le_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3d2860f32ef333dc5860111bbba95a97" - ], - [ - "FStar.UInt.subset_vec_le_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_subset_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "b6d0b6c674fc66da1b8cb11292d5d521" - ], - [ - "FStar.UInt.subset_vec_le_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "245ab92dc1b0592057d988069c2ed20d" - ], - [ - "FStar.UInt.logand_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf724f2f6b0ed2e4663a68e3bcb562f2" - ], - [ - "FStar.UInt.logand_le", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_subset_vec", - "equation_FStar.UInt.logand", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.logand_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "11aa07e86845f03888f8cbf3e176a6c2" - ], - [ - "FStar.UInt.logand_le", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "e66829cc4c8f47cc2c12931f7999cb43" - ], - [ - "FStar.UInt.logxor_commutative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logxor_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "18925d167ec32ac17312a6e20dfd6792" - ], - [ - "FStar.UInt.logxor_commutative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "33ba3e33f8de51bd724738d87c62906c" - ], - [ - "FStar.UInt.logxor_associative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logxor_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.logxor", "typing_FStar.UInt.nth" - ], - 0, - "15f8f216b8838c49e8993834b93b3d0e" - ], - [ - "FStar.UInt.logxor_associative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e01a068f8ce770db037f1ece56b481fb" - ], - [ - "FStar.UInt.logxor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "ee18bc14288266fefd75ab8cb1ea0701" - ], - [ - "FStar.UInt.logxor_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logxor_definition", - "lemma_FStar.UInt.zero_nth_lemma", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "735efad77a88d7f1274f52f8787cc325" - ], - [ - "FStar.UInt.logxor_self", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logxor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "087a7e2aebf9d47ad17ba96d4b5c9c30" - ], - [ - "FStar.UInt.logxor_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.UInt.nth", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logxor_definition", - "lemma_FStar.UInt.zero_nth_lemma", "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "b0b817105b6c207f71091ded337f25ae" - ], - [ - "FStar.UInt.logxor_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logxor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "6d28b240e60e0bc804983cc52fc71c79" - ], - [ - "FStar.UInt.logxor_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "bool_typing", "equation_FStar.UInt.nth", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.lognot_definition", - "lemma_FStar.UInt.logxor_definition", - "lemma_FStar.UInt.ones_nth_lemma", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "e0520e1b623be8858f2939d6701e3e86" - ], - [ - "FStar.UInt.logxor_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.xor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_inversion", - "equation_FStar.UInt.xor", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "889a034fe3b528600d63ba96bb6cc898" - ], - [ - "FStar.UInt.logxor_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "0b048dc31b1c9e83216a2f1214ce4eec" - ], - [ - "FStar.UInt.logxor_inv", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.xor", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.xor_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7e66d6e2773ba578002a2c84232cf45", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.logxor", - "typing_FStar.UInt.to_vec", "typing_Prims.bool" - ], - 0, - "c9b8fbc898df7caad5c9239dcc99a4bd" - ], - [ - "FStar.UInt.logxor_inv", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor_neq_nonzero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "fecd66190ea68ecb8d46c49c66d74260" - ], - [ - "FStar.UInt.logxor_neq_nonzero", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.logxor_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b91532cac7e95f62f6ecc26be6c79a3e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.logxor", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "ce593e655453a289a847776f2d3039bc" - ], - [ - "FStar.UInt.logxor_neq_nonzero", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "cd7b91a95edfe575da09780f11b3fce8" - ], - [ - "FStar.UInt.logor_commutative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logor_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d735531f74476534e92c41939f1a1132" - ], - [ - "FStar.UInt.logor_commutative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "78a8babf7def2a1a1854e3480262e5b1" - ], - [ - "FStar.UInt.logor_associative", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logor_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.logor", "typing_FStar.UInt.nth" - ], - 0, - "e391fe7519acebec7512c8409cad5bd8" - ], - [ - "FStar.UInt.logor_associative", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e01a068f8ce770db037f1ece56b481fb" - ], - [ - "FStar.UInt.logor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "88ed2dc8bb895b50aa5793d64731a661" - ], - [ - "FStar.UInt.logor_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.UInt.nth", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logor_definition", "primitive_Prims.op_BarBar", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "a06a5849212f53a450e1d77c1070020d" - ], - [ - "FStar.UInt.logor_self", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "bc798639c8b95b1ade5178bc8b4d7806" - ], - [ - "FStar.UInt.logor_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.UInt.nth", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logor_definition", - "lemma_FStar.UInt.zero_nth_lemma", "primitive_Prims.op_BarBar", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.nth" - ], - 0, - "d90d57d450b75487ba324d3526c0fdcf" - ], - [ - "FStar.UInt.logor_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "3f0f88864e06697fb2dd552c1fe4de24" - ], - [ - "FStar.UInt.logor_lemma_2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.logor_definition", - "lemma_FStar.UInt.ones_nth_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "02f34ad329f196fd405877fa293727f5" - ], - [ - "FStar.UInt.logor_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.superset_vec_ge_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c495e278a920bd22dc4c2d973e31fbd8" - ], - [ - "FStar.UInt.superset_vec_ge_lemma", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_1", - "binder_x_258eefc28ab673d68ad6ce5649eeb6c6_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_superset_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_Prims.bool", "well-founded-ordering-on-nat" - ], - 0, - "73dbc1c47dcefc6a74096978d82d26cb" - ], - [ - "FStar.UInt.superset_vec_ge_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dfcd1a533adc283f931fa3e4deeffd79" - ], - [ - "FStar.UInt.logor_ge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d7ead4ccf1faa812e4543512fcce4e78" - ], - [ - "FStar.UInt.logor_ge", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.is_superset_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.length", - "typing_Prims.bool" - ], - 0, - "ed8b1d1d5e7d8c8835ee1977eb816c94" - ], - [ - "FStar.UInt.logor_ge", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.lognot_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "225ba7afefa5eadf82bf5dcd8b955927" - ], - [ - "FStar.UInt.lognot_self", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.nth", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.lognot_definition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.lognot", "typing_FStar.UInt.nth" - ], - 0, - "a2cc08c057ed02d2c5a29af9078ca7fa" - ], - [ - "FStar.UInt.lognot_self", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lognot_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "333763b53e0a53c84bed01f8616b3cdb" - ], - [ - "FStar.UInt.lognot_lemma_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "lemma_FStar.UInt.lognot_definition", - "lemma_FStar.UInt.ones_nth_lemma", "lemma_FStar.UInt.zero_nth_lemma", - "primitive_Prims.op_Negation", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cc974d8a56187f15531e1bcdc02f83ba" - ], - [ - "FStar.UInt.to_vec_mod_pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f353e0d2a0ab8139a636e79f194142e5", - "typing_FStar.UInt.to_vec" - ], - 0, - "dbee5db8732aaacbddc763f11628f564" - ], - [ - "FStar.UInt.to_vec_mod_pow2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_a55b4d28f8c21f366030ac70899b8c9c_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_2", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0acbb8a6a2b7558f590c9a6c9ef3e770", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.create", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "b7c5fe0643d0922273871cc7ebb3c8be" - ], - [ - "FStar.UInt.to_vec_mod_pow2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e0e59cf5e64bb8fdbf3ffb9db79dbcc1", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.to_vec" - ], - 0, - "7e1f12983fca9ad6442e1cdf1d5219f7" - ], - [ - "FStar.UInt.to_vec_lt_pow2", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.to_vec" - ], - 0, - "4551502eb50ec8b77ab52d9871d55700" - ], - [ - "FStar.UInt.to_vec_lt_pow2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_0b7e85c351f3e89dc0cb042380564a68_3", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_2", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.zero_to_vec_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_28e8005ce987badf38b6e84e7a22f64d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt.zero", "typing_Prims.bool", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "6e9c5ac77e26812bb35ada19de3696b5" - ], - [ - "FStar.UInt.to_vec_lt_pow2", - 3, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.to_vec" - ], - 0, - "ac123748ad15abf7ed12773025b59c79" - ], - [ - "FStar.UInt.index_to_vec_ones", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.pow2" - ], - 0, - "034683945e474307cb81ecc2a7fe1b4e" - ], - [ - "FStar.UInt.index_to_vec_ones", - 2, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_308018da4d931fbc9bf78f8d8e7ebcef_1", - "binder_x_a6ca6afaf28feca12f50f23fc064a6db_2", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.ones_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.one", "equation_FStar.UInt.ones", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt.to_vec_lt_pow2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_ba4c91b92f4c4f6a09c95f79852bd4f3", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f61c88f7b091b2f36e8249b0c1c7337c", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.UInt.fits", "typing_FStar.UInt.one", - "typing_FStar.UInt.ones", "typing_FStar.UInt.to_vec", - "typing_Prims.bool", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "ecab14e8bd79e6c75f12aedf44539fdb" - ], - [ - "FStar.UInt.index_to_vec_ones", - 3, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2c5ba57d0dc90f9b65474d84b8b6d426", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.pow2" - ], - 0, - "c9cc96aae0b26b135202e6ad819a2db3" - ], - [ - "FStar.UInt.logor_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "58b30dfa5d766d6623fb317711970aa5" - ], - [ - "FStar.UInt.logor_disjoint", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.to_vec_lt_pow2", - "lemma_FStar.UInt.to_vec_mod_pow2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3ea0cd7f7c0dad54b4a849bfa11a2dfb", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e7677f8b4089d6b050c1426432e769d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f353e0d2a0ab8139a636e79f194142e5", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.split", "typing_Prims.bool" - ], - 0, - "3932daebba16115792978e16b5f8f7fa" - ], - [ - "FStar.UInt.logor_disjoint", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logand_mask", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "2d62cdf75c476e969e90cfc607f7ebe3" - ], - [ - "FStar.UInt.logand_mask", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.zero_vec", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logand_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.index_to_vec_ones", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4af44fc9599cf045745006d12c775381", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.split", "typing_Prims.bool" - ], - 0, - "f7cc284d979c9d0edca95fe509da3ee6" - ], - [ - "FStar.UInt.logand_mask", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be12b5f3dfc1d6e848c3f558d987799a" - ], - [ - "FStar.UInt.shift_left", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "14f5b5185389f69e6b91b696c2925f6b" - ], - [ - "FStar.UInt.shift_right", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7611ae876c4ec7211ce213caf608109a" - ], - [ - "FStar.UInt.shift_left_lemma_1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_left", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.shift_left_vec_lemma_1", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "7a0f5aa783e6fb767df5350c1c2abf50" - ], - [ - "FStar.UInt.shift_left_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" - ], - 0, - "827e958b571bb7b6a7e374f13df7fb2b" - ], - [ - "FStar.UInt.shift_left_lemma_2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_left", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.BitVector.shift_left_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.UInt.shift_left", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "ea177df17d08d706492a5253c26e1225" - ], - [ - "FStar.UInt.shift_left_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f1b359022d3eb110a4e4e87749a1d1e6" - ], - [ - "FStar.UInt.shift_right_lemma_1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_1", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "e86fd458159c24463fa8df306c6b9969" - ], - [ - "FStar.UInt.shift_right_lemma_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "a5948a985e8ebb3fa6606f39fcd324a2" - ], - [ - "FStar.UInt.shift_right_lemma_2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "int_inversion", "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.UInt.shift_right", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "15914d0e494c13062b5db5cbb43d25d9" - ], - [ - "FStar.UInt.shift_right_lemma_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_logand_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "526535c72d3a44bb90a5661fb004bb79" - ], - [ - "FStar.UInt.shift_left_logand_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.logand_definition", - "lemma_FStar.UInt.shift_left_lemma_1", - "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logand", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", - "typing_FStar.UInt.to_vec" - ], - 0, - "98ad490070c7032bb7f9390a5f899562" - ], - [ - "FStar.UInt.shift_left_logand_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_right_logand_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "513b6554e8f84123a9795742a3dc3ff0" - ], - [ - "FStar.UInt.shift_right_logand_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logand", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.logand_definition", - "lemma_FStar.UInt.shift_right_lemma_1", - "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logand", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", - "typing_FStar.UInt.to_vec" - ], - 0, - "07f8709e3a21d5622aceb89491370939" - ], - [ - "FStar.UInt.shift_right_logand_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_left_logxor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "43b2cdd9c05e2801823016040dcd7137" - ], - [ - "FStar.UInt.shift_left_logxor_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.logxor_definition", - "lemma_FStar.UInt.shift_left_lemma_1", - "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logxor", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", - "typing_FStar.UInt.to_vec" - ], - 0, - "33364766113e1e386ef88af4c68658ee" - ], - [ - "FStar.UInt.shift_left_logxor_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_right_logxor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "8c674250c05e44f3258866f5bccf0185" - ], - [ - "FStar.UInt.shift_right_logxor_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.nth", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.logxor_definition", - "lemma_FStar.UInt.shift_right_lemma_1", - "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logxor", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", - "typing_FStar.UInt.to_vec" - ], - 0, - "6c855d2c576abfe93265b54495845d76" - ], - [ - "FStar.UInt.shift_right_logxor_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_left_logor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "f4a22b53ed4addafe5931223712db7cb" - ], - [ - "FStar.UInt.shift_left_logor_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.logor_definition", - "lemma_FStar.UInt.shift_left_lemma_1", - "lemma_FStar.UInt.shift_left_lemma_2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ccf0869e6825997ab860bb25791c11f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logor", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_left", - "typing_FStar.UInt.to_vec" - ], - 0, - "af5bc058c549c6d8b5f5f9a0ea51582d" - ], - [ - "FStar.UInt.shift_left_logor_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_right_logor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "0a936c714313628f3750df7080609cdc" - ], - [ - "FStar.UInt.shift_right_logor_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.logor_definition", - "lemma_FStar.UInt.shift_right_lemma_1", - "lemma_FStar.UInt.shift_right_lemma_2", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_34425c23b534b8a294f8f063dd9faa4b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.logor", - "typing_FStar.UInt.nth", "typing_FStar.UInt.shift_right", - "typing_FStar.UInt.to_vec" - ], - 0, - "ec3ab2334467b32aff62eeae4053ae41" - ], - [ - "FStar.UInt.shift_right_logor_lemma", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.shift_left_value_aux_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9141a4518e9eedbf51e635e65798c8fb" - ], - [ - "FStar.UInt.shift_left_value_aux_1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.zero", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_GreaterThanOrEqual", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714" - ], - 0, - "19d339d2186dee6686fc8c97cc6fc8fd" - ], - [ - "FStar.UInt.shift_left_value_aux_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_value_aux_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7f08ae22a0ded492306c7500983449bd" - ], - [ - "FStar.UInt.shift_left_value_aux_2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_left", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.inverse_num_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a74f9b52f4a1ed76e01a169bf168134f" - ], - [ - "FStar.UInt.shift_left_value_aux_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_value_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "13661503957aaf5fb032b13bd3efb471" - ], - [ - "FStar.UInt.shift_left_value_aux_3", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_left_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.shift_left", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "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_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_left_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.shift_left", "typing_Prims.bool" - ], - 0, - "0780fdc3c51d861f8e624298856f9632" - ], - [ - "FStar.UInt.shift_left_value_aux_3", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_value_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4c328cc5841e9c32e8ec43eff4169d47" - ], - [ - "FStar.UInt.shift_left_value_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "unit_inversion", "unit_typing" - ], - 0, - "f8c56968341332dde8daeb57c522d7a7" - ], - [ - "FStar.UInt.shift_left_value_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right_value_aux_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "8caf5793a39da30e909985f11a7c6b10" - ], - [ - "FStar.UInt.shift_right_value_aux_1", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "lemma_FStar.UInt.zero_from_vec_lemma", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "1cb6c48440390cf91830057c0ad01e07" - ], - [ - "FStar.UInt.shift_right_value_aux_1", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right_value_aux_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "7ce3b1d4dac86b7950670dca5d874faf" - ], - [ - "FStar.UInt.shift_right_value_aux_2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "lemma_FStar.UInt.inverse_num_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "06672a36fa4f9d6a0bfebbf10e5d6903" - ], - [ - "FStar.UInt.shift_right_value_aux_2", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right_value_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "a91c69ad4d07d2657275da13a7c9be3c" - ], - [ - "FStar.UInt.shift_right_value_aux_3", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.zero_from_vec_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8e88fd1dd68eda7ccb814f38d039fa61", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt.from_vec", "typing_Prims.bool" - ], - 0, - "00f908403d52864b03aeafed94e1e2c0" - ], - [ - "FStar.UInt.shift_right_value_aux_3", - 3, - 2, - 1, - [ "@query" ], - 0, - "d067632815cab67fb7e0f36310fd5fd4" - ], - [ - "FStar.UInt.shift_right_value_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "b225bf297a305dc826cd8d7009082b13" - ], - [ - "FStar.UInt.shift_right_value_lemma", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "unit_inversion", "unit_typing" - ], - 0, - "75e5cb00752510e88a7596df7e7d29bd" - ], - [ - "FStar.UInt.shift_right_value_lemma", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.msb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fb6762c746427839880eb6bcb9f19b8d" - ], - [ - "FStar.UInt.msb", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_msb_pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ade641dabc3af75d29d2154bfc576f2a" - ], - [ - "FStar.UInt.lemma_msb_pow2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.index_to_vec_ones", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.to_vec_lt_pow2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.msb", "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "2561ba78e519b8f6f9ecfb03fa95949f" - ], - [ - "FStar.UInt.lemma_msb_pow2", - 3, - 2, - 1, - [ "@query" ], - 0, - "de80db8b124cc831d3bfb8cd68e65a02" - ], - [ - "FStar.UInt.plus_one_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f5403f230c8d372b70f8144d2b77a10a" - ], - [ - "FStar.UInt.plus_one_mod", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "780ce45d979edc93b120115cf4ca544a" - ], - [ - "FStar.UInt.lemma_minus_zero", - 1, - 2, - 1, - [ "@query" ], - 0, - "0e6037c323991c90450c95c535abe547" - ], - [ - "FStar.UInt.lemma_minus_zero", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.ones", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.lognot" - ], - 0, - "e119a0ad1ac18e47ba1f148023cca01c" - ], - [ - "FStar.UInt.lemma_minus_zero", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_msb_gte", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" - ], - 0, - "bacf58551d9494cf376a5dcd594d6b2e" - ], - [ - "FStar.UInt.lemma_msb_gte", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.to_vec_lt_pow2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.msb", - "typing_Prims.bool" - ], - 0, - "851f16f03d3f99430f506a1b0389d195" - ], - [ - "FStar.UInt.lemma_msb_gte", - 3, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" - ], - 0, - "56b0ed1a07da34b1b7fbb5454654df11" - ], - [ - "FStar.UInt.lemma_uint_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5ccc0cd378cc0ac3e0bbed7b2bbe80ea" - ], - [ - "FStar.UInt.lemma_uint_mod", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "e7bcbeb80901a0a5679e898998ae4bdb" - ], - [ - "FStar.UInt.lemma_uint_mod", - 3, - 2, - 1, - [ "@query" ], - 0, - "1caa93843dacfe52bf0b47e3f70026ba" - ], - [ - "FStar.UInt.lemma_add_sub_cancel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "34afabce74e64071c5d4dd5d5fa76088" - ], - [ - "FStar.UInt.lemma_add_sub_cancel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.int" - ], - 0, - "266cc1d762c215a18677d4a4a4efe204" - ], - [ - "FStar.UInt.lemma_add_sub_cancel", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.lemma_mod_sub_distr_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b5dac52c238d7915bb2d09e377b95640" - ], - [ - "FStar.UInt.lemma_mod_sub_distr_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "73ec0e340f99e1f4b74a92f5b9522a1c" - ], - [ - "FStar.UInt.lemma_sub_add_cancel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "9ebe87efc867f2b9c260671305135bab" - ], - [ - "FStar.UInt.lemma_sub_add_cancel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "41cbdd9050b74b6bee949f959e7783e9" - ], - [ - "FStar.UInt.lemma_sub_add_cancel", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.zero_extend_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "450730f9f2ba9912081c2b1ebc868151" - ], - [ - "FStar.UInt.zero_extend_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.one_extend_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "685d813f7cc93b8f5f721eb223f2f03c" - ], - [ - "FStar.UInt.one_extend_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.zero_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "892c64f76f66786339784b0abd02eb4e" - ], - [ - "FStar.UInt.zero_extend", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.one_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4dcb828b7d812ad841551faffbad6561" - ], - [ - "FStar.UInt.one_extend", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_zero_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "770b60f862f4ac7f48dd7ae63659773f" - ], - [ - "FStar.UInt.lemma_zero_extend", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero_extend", - "equation_FStar.UInt.zero_extend_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.zero_extend_vec", "typing_Prims.bool", - "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "e0f2eb77ff89bdc5a68b33a23fb452f9" - ], - [ - "FStar.UInt.lemma_zero_extend", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_one_extend", - 1, - 2, - 1, - [ "@query" ], - 0, - "64ba9cb877ad048d8010e8041cd7c034" - ], - [ - "FStar.UInt.lemma_one_extend", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.one_extend", - "equation_FStar.UInt.one_extend_vec", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt.inverse_num_lemma", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.one_extend_vec", "typing_Prims.bool", - "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "261f7cec108e40c1beed5299394ecfe2" - ], - [ - "FStar.UInt.lemma_one_extend", - 3, - 2, - 1, - [ "@query" ], - 0, - "7cf3462ee8a7f14522c179eeef34ee23" - ], - [ - "FStar.UInt.lemma_lognot_zero_ext", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ad28550193c5c40e50cf318062a47d6a" - ], - [ - "FStar.UInt.lemma_lognot_zero_ext", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.Seq.Base.hasEq_lemma", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "lemma_FStar.UInt.lemma_zero_extend", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.to_vec_lt_pow2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2862d2bcec3a54a1813fd7cc0ad5b5bc", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_682c139da73f0043f9af639e9b72dbbc", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.to_vec", "typing_Prims.bool", "typing_Prims.int", - "typing_Prims.pow2" - ], - 0, - "5bbea44aa4302b3b3ff126f68e77fed4" - ], - [ - "FStar.UInt.lemma_lognot_zero_ext", - 3, - 1, - 0, - [ "@query" ], - 0, - "6c1a95ccee18e38d30f217c474a7a09d" - ], - [ - "FStar.UInt.lemma_lognot_one_ext", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2d0e32f95a6c4891a111b55b1e568360" - ], - [ - "FStar.UInt.lemma_lognot_one_ext", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.one_extend", - "equation_FStar.UInt.one_extend_vec", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.one_extend", - "typing_FStar.UInt.one_extend_vec", "typing_FStar.UInt.to_vec", - "typing_Prims.bool" - ], - 0, - "06c1d87e498d9bb945c6349256674893" - ], - [ - "FStar.UInt.lemma_lognot_one_ext", - 3, - 1, - 0, - [ "@query" ], - 0, - "6c1a95ccee18e38d30f217c474a7a09d" - ], - [ - "FStar.UInt.lemma_lognot_value_mod", - 1, - 1, - 0, - [ "@query" ], - 0, - "5aecd70f09b6282956eca688d973fe52" - ], - [ - "FStar.UInt.lemma_lognot_value_mod", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_bba7a229ca4db309e5d74fd2b86edb25_1", - "binder_x_f26957a7e62b271a8736230b1e9c83c1_0", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero_extend", - "equation_FStar.UInt.zero_extend_vec", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.lognot_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt.inverse_aux", "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.to_vec_lt_pow2", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.index", - "typing_FStar.UInt.lognot", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt.zero_extend_vec", "typing_Prims.bool", - "typing_Prims.int", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "39b0e9da69bd71b987fdd4ec7ad5e295" - ], - [ - "FStar.UInt.lemma_lognot_value_mod", - 3, - 1, - 0, - [ "@query" ], - 0, - "849eec2e26ee7b594dd633866c700a84" - ], - [ - "FStar.UInt.lemma_lognot_value_zero", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "102fea188afbb3eb40ca62872d4c0332" - ], - [ - "FStar.UInt.lemma_lognot_value_zero", - 2, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "90a7e1554feadfcf296560d045f98541" - ], - [ - "FStar.UInt.lemma_lognot_value_zero", - 3, - 1, - 0, - [ "@query" ], - 0, - "6c1a95ccee18e38d30f217c474a7a09d" - ], - [ - "FStar.UInt.lemma_mod_variation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0fa12c0218567f8e395a5b75c57dd735" - ], - [ - "FStar.UInt.lemma_mod_variation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "8c33fd14853b01dec9ef9097c9a2c08c" - ], - [ - "FStar.UInt.lemma_mod_variation", - 3, - 2, - 1, - [ "@query" ], - 0, - "1ee04e5ea8c431b30293f7f97e2e09b7" - ], - [ - "FStar.UInt.lemma_one_mod_pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a16b491480ec5b08840ebbb0ff28c516" - ], - [ - "FStar.UInt.lemma_one_mod_pow2", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.pow2" - ], - 0, - "4208cd1d75c7e66beb81668bb29cc9e6" - ], - [ - "FStar.UInt.lemma_lognot_value_variation", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c7465cbfc1e4b49349e12a871cb24e08" - ], - [ - "FStar.UInt.lemma_lognot_value_variation", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "937af21d90f0ff75f3c3aa9823e66dac" - ], - [ - "FStar.UInt.lemma_lognot_value_variation", - 3, - 2, - 1, - [ "@query" ], - 0, - "d067632815cab67fb7e0f36310fd5fd4" - ], - [ - "FStar.UInt.lemma_lognot_value_nonzero", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "c646274eb37abec98dd9b3c32bc4752e" - ], - [ - "FStar.UInt.lemma_lognot_value_nonzero", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.lognot" - ], - 0, - "78289fda68d77c4de6c5f68f54d62f0e" - ], - [ - "FStar.UInt.lemma_lognot_value_nonzero", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_lognot_value", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "ce66811af132b4b0f7e725ef1fb876ff" - ], - [ - "FStar.UInt.lemma_lognot_value", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "3b80b1110147b131b965b6353194cf02" - ], - [ - "FStar.UInt.lemma_lognot_value", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_minus_eq_zero_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.int" - ], - 0, - "0e8a3a85e4c148ce46152e528c6e0578" - ], - [ - "FStar.UInt.lemma_minus_eq_zero_sub", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_Prims.int" - ], - 0, - "baa3368f6ea23bf5965e547ca0f9ddd5" - ], - [ - "FStar.UInt.lemma_minus_eq_zero_sub", - 3, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt.fsti.hints b/ulib/.hints/FStar.UInt.fsti.hints deleted file mode 100644 index d255a9ef218..00000000000 --- a/ulib/.hints/FStar.UInt.fsti.hints +++ /dev/null @@ -1,2200 +0,0 @@ -[ - "\u0001Õd«ÑÎÏÖ:&I7³ô¹¾", - [ - [ - "FStar.UInt.zero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "da6261feb3f51079a4071049397754a9" - ], - [ - "FStar.UInt.pow2_n", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.pow2" - ], - 0, - "094dc9700fdb60a81e554cbbffa6ed96" - ], - [ - "FStar.UInt.one", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "f7a83970cf5a15c066d94c0ca5e1e8aa" - ], - [ - "FStar.UInt.ones", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "170ea82eb310909c3a127ea521d71fc0" - ], - [ - "FStar.UInt.incr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "5343e27d3db2922a9bb30b5156026e8c" - ], - [ - "FStar.UInt.decr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "ebeed0c0d71f0f246261d3a6078ec419" - ], - [ - "FStar.UInt.incr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "3579d0cc17cf6f3f6d7e36cfa14ca529" - ], - [ - "FStar.UInt.decr_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "1d60d72b3b14bb99a139730b9a9e002c" - ], - [ - "FStar.UInt.add", - 1, - 2, - 1, - [ "@query" ], - 0, - "0a8e06394f91b62e7866fd03e2a6f027" - ], - [ - "FStar.UInt.add_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "98d2945c7eafdb5dbb3c4e6a8ff1be66" - ], - [ - "FStar.UInt.sub", - 1, - 2, - 1, - [ "@query" ], - 0, - "e0c8e2fd6f530fc76814abfe95d956a6" - ], - [ - "FStar.UInt.sub_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "8176f2e74e51d005f1fcf9edc063daa3" - ], - [ - "FStar.UInt.mul", - 1, - 2, - 1, - [ "@query" ], - 0, - "a956985d6e883a4191028d50727c5009" - ], - [ - "FStar.UInt.mul_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "73b3520370c032077b0cca24046ee8d1" - ], - [ - "FStar.UInt.lt_square_div_lt", - 1, - 2, - 1, - [ "@query" ], - 0, - "4ec986e0844cae91a46cdc083a8ac7a9" - ], - [ - "FStar.UInt.mul_div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_Prims.pow2" - ], - 0, - "b15cbd9a44f0b4193470bbaab686ddcd" - ], - [ - "FStar.UInt.div", - 1, - 2, - 1, - [ "@query" ], - 0, - "a9aa114702be2b05e0e046f3c86779e4" - ], - [ - "FStar.UInt.div_underspec", - 1, - 2, - 1, - [ "@query" ], - 0, - "3f173c3a5b58ad278dcd994460f2ff9f" - ], - [ - "FStar.UInt.div_size", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2a8d0ded1c796ba8253e114801b00264" - ], - [ - "FStar.UInt.udiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f901a56a3ec34656d4085bf7379131a2" - ], - [ - "FStar.UInt.udiv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.mod", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "88dfd8532f22648be7a20c2db7d2b6c3" - ], - [ - "FStar.UInt.eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bc76218a8bb85ec94b7afbc7f76c26a0" - ], - [ - "FStar.UInt.to_uint_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "0dd91a241a67405566489ba9b828cb7c" - ], - [ - "FStar.UInt.to_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "binder_x_f1b5a01b82bfc8834ea3331851ee22e1_1", "bool_inversion", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "64e6b1067a8ab4acd7ebc13ce40b4df7" - ], - [ - "FStar.UInt.from_vec", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "binder_x_29dc57e10d1244ea9dcc6bf0b19a81b2_1", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d4374ac7c51609d20903daf2c4e77aa0", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_Prims.bool", - "well-founded-ordering-on-nat" - ], - 0, - "5f6f7d08cb698a007be675af22e0610b" - ], - [ - "FStar.UInt.to_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "4cac9916066fade6f636854a422b5a9f" - ], - [ - "FStar.UInt.to_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4c4f239e41abf56032243e8ace43a6b2" - ], - [ - "FStar.UInt.inverse_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "equation_FStar.BitVector.bv_t", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.UInt.from_vec", "typing_FStar.UInt.to_vec" - ], - 0, - "28bb114a0cdffafa0b6f680ca111a678" - ], - [ - "FStar.UInt.inverse_num_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d458e0eac3e520f141310a5bba5c093e" - ], - [ - "FStar.UInt.from_vec_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ac5a25a7f712e338cf014fc6f62894a6" - ], - [ - "FStar.UInt.from_vec_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "9ac8f5aeaf39547d93e36d5b77de6fe8" - ], - [ - "FStar.UInt.from_vec_aux", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "2433c0c81187f82f64bccf3152b83779" - ], - [ - "FStar.UInt.seq_slice_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1759aef3e83fb3099c1359ec437c4e30", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_35ed7e9bfb6718cd4beb2e5d76b0cdee", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "779ec30fa193e1c0ce1a177ea441e359" - ], - [ - "FStar.UInt.from_vec_propriety", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_Prims.bool" - ], - 0, - "bf53f5e89d5a0142ead594a78ea0ced9" - ], - [ - "FStar.UInt.append_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "7f4fc8c73965f45c9393b20f153776b1" - ], - [ - "FStar.UInt.slice_left_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "fcab5c1bfc78ef91f8e2aac1ff6e0e5c" - ], - [ - "FStar.UInt.slice_right_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "3b17af99cec37903f7601cb72c8b562a" - ], - [ - "FStar.UInt.zero_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.zero_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "88ea822d9b4d5842981fbe5e691c0039" - ], - [ - "FStar.UInt.zero_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "88be30cdd2685a3b5faec6ae7d594f23" - ], - [ - "FStar.UInt.one_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.pos", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "539c6cb232d1aaa5c982a9ed089b7cc3" - ], - [ - "FStar.UInt.pow2_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "ee87b70c7c01a84fdd6d85b3a80dc6a4" - ], - [ - "FStar.UInt.pow2_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "typing_Prims.int" - ], - 0, - "f3eb6429571281425a21a34b9ddb8278" - ], - [ - "FStar.UInt.ones_to_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_FStar.BitVector.ones_vec", - "equation_Prims.eqtype", "equation_Prims.pos", - "lemma_FStar.Seq.Base.lemma_create_len", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "a410b14098fbef7e34e9cfbcbe0a8e85" - ], - [ - "FStar.UInt.ones_from_vec_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "6e5a1d06883b24e32ad996983136d2a0" - ], - [ - "FStar.UInt.nth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e" - ], - 0, - "6754683c7b110494e7359f17a33d97cb" - ], - [ - "FStar.UInt.nth", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.nth_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "a6b588943688962753c25b6644d097d5" - ], - [ - "FStar.UInt.zero_nth_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "cb3d29464346be9bfa3f8b3c2b3f7745" - ], - [ - "FStar.UInt.ones_nth_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "963d956911d8753a2f7877416dbfc14a" - ], - [ - "FStar.UInt.logand", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1cc3433b5e77c9f073fac44fe388bded" - ], - [ - "FStar.UInt.logand", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logxor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f55cb45ca9840623238c41435126a2f0" - ], - [ - "FStar.UInt.logxor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.logor", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4b3790cce79e2f7c4ca700af1baf6fac" - ], - [ - "FStar.UInt.logor", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be25814ad9736109863799a556ea4535" - ], - [ - "FStar.UInt.lognot", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3e362104453138974019c02efa9f673a" - ], - [ - "FStar.UInt.lognot", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ed22ec5d79d92aab1131cfad35de05ff" - ], - [ - "FStar.UInt.logxor_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1926d0df4e80d0c3e44df87a7ae89949" - ], - [ - "FStar.UInt.logor_definition", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "dd1e7a2e103280edc9ecbaaf69a2a6a0" - ], - [ - "FStar.UInt.lognot_definition", - 1, - 2, - 1, - [ "@query" ], - 0, - "7c80ebbe7aef010e1766a61a371c1c58" - ], - [ - "FStar.UInt.minus", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "4ea143d2032b1ea40185046f954aec97" - ], - [ - "FStar.UInt.minus", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.logand_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "b30cf4ef96e424c04fb28a363c614023" - ], - [ - "FStar.UInt.logand_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "06731f3471e1d538ca127422659f5bc3" - ], - [ - "FStar.UInt.logand_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "5d52404df0fcb667da1011458ced7ec9" - ], - [ - "FStar.UInt.logand_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "a550d13d1dc1b1abe7808d90ad85505b" - ], - [ - "FStar.UInt.logand_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "c8152d45bb93ef23322900c473c9dbad" - ], - [ - "FStar.UInt.subset_vec_le_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "3d2860f32ef333dc5860111bbba95a97" - ], - [ - "FStar.UInt.logand_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "cf724f2f6b0ed2e4663a68e3bcb562f2" - ], - [ - "FStar.UInt.logxor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "e66829cc4c8f47cc2c12931f7999cb43" - ], - [ - "FStar.UInt.logxor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "33ba3e33f8de51bd724738d87c62906c" - ], - [ - "FStar.UInt.logxor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "ee18bc14288266fefd75ab8cb1ea0701" - ], - [ - "FStar.UInt.logxor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "087a7e2aebf9d47ad17ba96d4b5c9c30" - ], - [ - "FStar.UInt.logxor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "6d28b240e60e0bc804983cc52fc71c79" - ], - [ - "FStar.UInt.logxor_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "6a34b17a5692f7160e7b73ccb8fb29ea" - ], - [ - "FStar.UInt.logxor_neq_nonzero", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "fecd66190ea68ecb8d46c49c66d74260" - ], - [ - "FStar.UInt.logor_commutative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "cd7b91a95edfe575da09780f11b3fce8" - ], - [ - "FStar.UInt.logor_associative", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "78a8babf7def2a1a1854e3480262e5b1" - ], - [ - "FStar.UInt.logor_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "88ed2dc8bb895b50aa5793d64731a661" - ], - [ - "FStar.UInt.logor_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "bc798639c8b95b1ade5178bc8b4d7806" - ], - [ - "FStar.UInt.logor_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "fdb91c741b315d5cffb56428f4040f3c" - ], - [ - "FStar.UInt.superset_vec_ge_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c495e278a920bd22dc4c2d973e31fbd8" - ], - [ - "FStar.UInt.logor_ge", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d7ead4ccf1faa812e4543512fcce4e78" - ], - [ - "FStar.UInt.lognot_self", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "225ba7afefa5eadf82bf5dcd8b955927" - ], - [ - "FStar.UInt.lognot_lemma_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "52ae2a64fcc6bcb6f307b946c9e21e2a" - ], - [ - "FStar.UInt.index_to_vec_ones", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.pow2" - ], - 0, - "3068f95ad5b6c3e3d73f98e015724244" - ], - [ - "FStar.UInt.logor_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "0eade44d665e9e8e66b1a2ddd2a81489" - ], - [ - "FStar.UInt.logand_mask", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "2a23d1f9b80f25c946135036019125fb" - ], - [ - "FStar.UInt.shift_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "be12b5f3dfc1d6e848c3f558d987799a" - ], - [ - "FStar.UInt.shift_left", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "14f5b5185389f69e6b91b696c2925f6b" - ], - [ - "FStar.UInt.shift_right", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.shift_left_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7611ae876c4ec7211ce213caf608109a" - ], - [ - "FStar.UInt.shift_left_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e8e1ad4b2203cd724d5b8b2dba0a5826" - ], - 0, - "1e531bde2b5ad2a0b8349e55cf7690d1" - ], - [ - "FStar.UInt.shift_right_lemma_1", - 1, - 2, - 1, - [ - "@query", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f1b359022d3eb110a4e4e87749a1d1e6" - ], - [ - "FStar.UInt.shift_right_lemma_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191" - ], - 0, - "e0ef0cf1317a0ca32092a68c86075849" - ], - [ - "FStar.UInt.shift_left_logand_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "526535c72d3a44bb90a5661fb004bb79" - ], - [ - "FStar.UInt.shift_right_logand_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "513b6554e8f84123a9795742a3dc3ff0" - ], - [ - "FStar.UInt.shift_left_logxor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "43b2cdd9c05e2801823016040dcd7137" - ], - [ - "FStar.UInt.shift_right_logxor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "8c674250c05e44f3258866f5bccf0185" - ], - [ - "FStar.UInt.shift_left_logor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "f4a22b53ed4addafe5931223712db7cb" - ], - [ - "FStar.UInt.shift_right_logor_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "0a936c714313628f3750df7080609cdc" - ], - [ - "FStar.UInt.shift_left_value_aux_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9141a4518e9eedbf51e635e65798c8fb" - ], - [ - "FStar.UInt.shift_left_value_aux_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7f08ae22a0ded492306c7500983449bd" - ], - [ - "FStar.UInt.shift_left_value_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "13661503957aaf5fb032b13bd3efb471" - ], - [ - "FStar.UInt.shift_left_value_lemma", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4c328cc5841e9c32e8ec43eff4169d47" - ], - [ - "FStar.UInt.shift_right_value_aux_1", - 1, - 2, - 1, - [ "@query" ], - 0, - "8caf5793a39da30e909985f11a7c6b10" - ], - [ - "FStar.UInt.shift_right_value_aux_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "7ce3b1d4dac86b7950670dca5d874faf" - ], - [ - "FStar.UInt.shift_right_value_aux_3", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_dd319c5462eccabc540582a4c9a72d35" - ], - 0, - "2c9ad853dd9a91acca181b953d40cc47" - ], - [ - "FStar.UInt.shift_right_value_lemma", - 1, - 2, - 1, - [ "@query" ], - 0, - "c903a1815de5d76d96dd71e748ef8cae" - ], - [ - "FStar.UInt.msb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fb6762c746427839880eb6bcb9f19b8d" - ], - [ - "FStar.UInt.msb", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_msb_pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a61c9e415325bb4d7958e55d787134af" - ], - [ - "FStar.UInt.lemma_minus_zero", - 1, - 2, - 1, - [ "@query" ], - 0, - "66e0bc5e10c3246bed877d970cd8c0e7" - ], - [ - "FStar.UInt.lemma_msb_gte", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8bebf2f6c23225f37d9e02f5dc7dc8b2" - ], - 0, - "27d4865d5586d0a573bcc87ec5c6ce1e" - ], - [ - "FStar.UInt.lemma_uint_mod", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "88971fc2055124c9052322ece9f4e8d0" - ], - [ - "FStar.UInt.lemma_add_sub_cancel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "26f240c70d54ae50f7ff2e5943bda0ea" - ], - [ - "FStar.UInt.lemma_mod_sub_distr_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b5dac52c238d7915bb2d09e377b95640" - ], - [ - "FStar.UInt.lemma_sub_add_cancel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.int" - ], - 0, - "9ebe87efc867f2b9c260671305135bab" - ], - [ - "FStar.UInt.zero_extend_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "450730f9f2ba9912081c2b1ebc868151" - ], - [ - "FStar.UInt.zero_extend_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.one_extend_vec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "bool_typing", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", "typing_Prims.bool" - ], - 0, - "685d813f7cc93b8f5f721eb223f2f03c" - ], - [ - "FStar.UInt.one_extend_vec", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.zero_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "892c64f76f66786339784b0abd02eb4e" - ], - [ - "FStar.UInt.zero_extend", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.one_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4dcb828b7d812ad841551faffbad6561" - ], - [ - "FStar.UInt.one_extend", - 2, - 2, - 1, - [ "@query" ], - 0, - "34bad82e07ad3077246540b4c2181fb6" - ], - [ - "FStar.UInt.lemma_zero_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "770b60f862f4ac7f48dd7ae63659773f" - ], - [ - "FStar.UInt.lemma_one_extend", - 1, - 2, - 1, - [ "@query" ], - 0, - "193b8b3fca2f321b01f8c13e6f063a78" - ], - [ - "FStar.UInt.lemma_lognot_zero_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "9325a41a2e21cd478eb90041de602640" - ], - [ - "FStar.UInt.lemma_lognot_one_ext", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a840ec448163ba0e12e6fc5c7812b6aa" - ], - [ - "FStar.UInt.lemma_lognot_value_mod", - 1, - 2, - 1, - [ "@query" ], - 0, - "f5747a4523825845c6b4f43f7dd3882c" - ], - [ - "FStar.UInt.lemma_lognot_value_zero", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bc3746e6dee470ed35d69ac55d8e17b2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "ae2ca2963ba64fdb3f97b213c5b6ead0" - ], - [ - "FStar.UInt.lemma_one_mod_pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c3332f5aa4ec533edc4b641de67d4f00" - ], - [ - "FStar.UInt.lemma_lognot_value_nonzero", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0722e9115d2a1be8d90527397d01011c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "f70c1e1d3afd9b96ac3df0b1f79d96b8" - ], - [ - "FStar.UInt.lemma_lognot_value", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_Prims.int" - ], - 0, - "ce66811af132b4b0f7e725ef1fb876ff" - ], - [ - "FStar.UInt.lemma_minus_eq_zero_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.int" - ], - 0, - "0e8a3a85e4c148ce46152e528c6e0578" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt128.fst.hints b/ulib/.hints/FStar.UInt128.fst.hints deleted file mode 100644 index c9c7036afda..00000000000 --- a/ulib/.hints/FStar.UInt128.fst.hints +++ /dev/null @@ -1,4408 +0,0 @@ -[ - "¡Ï¼{×}•5.Üd¸Ôô!,", - [ - [ - "FStar.UInt128.carry_uint64_ok", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "530118c62a541c03bf5ea955b544b57f" - ], - [ - "FStar.UInt128.carry_uint64_ok", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "68b7b7894b45de1b1755d1894dd93435" - ], - [ - "FStar.UInt128.fact1", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3f7dd2147cd46131ad277978c32eafb6" - ], - [ - "FStar.UInt128.fact0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "951b95487bfe5738bdc6630e81db89a0" - ], - [ - "FStar.UInt128.lem_ult_1", - 1, - 0, - 0, - [ "@query" ], - 0, - "13d57315b4fb41a60b5125eed7a02c51" - ], - [ - "FStar.UInt128.lem_ult_2", - 1, - 0, - 0, - [ "@query" ], - 0, - "0b9d54937bdcfd80c2106ab26f9e9df2" - ], - [ - "FStar.UInt128.int2bv_ult", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", - "equation_Prims.squash", "int_inversion", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_8e7b9f69a423d2e409cb7af71d0fe345", - "refinement_interpretation_Tm_refine_9ed343e6bd1962a8bac0323ed640af14", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "abb460572ccc69a8b7f19db0bcdbb35d" - ], - [ - "FStar.UInt128.int2bv_ult", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "283ed3806d5f446cb5b656b12b4f754b" - ], - [ - "FStar.UInt128.lem_ult", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_52e9f2ff4fe5474cf5286356ea08cf88", - "refinement_interpretation_Tm_refine_a100d202178f112d8791416979bd284b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "05ad2beebb113971ef3955f5e79847fc" - ], - [ - "FStar.UInt128.carry_uint64_equiv", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.carry_uint64", - "equation_FStar.UInt128.constant_time_carry", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0556f625b89f1ac99fd21e82e26fe9e0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6913af387cf2f30da0961ac60666f00f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b87f471e80e3c2bc077d38b7026cfcf6", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt64.logor", - "typing_FStar.UInt64.logxor", "typing_FStar.UInt64.shift_right", - "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v", - "typing_Prims.bool" - ], - 0, - "991f199e5c487a2b344ba6aeccae30f8" - ], - [ - "FStar.UInt128.uint128", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt64.t" - ], - 0, - "1e6ed90b3337cf63240ccf4e33fd3581" - ], - [ - "FStar.UInt128.t", - 1, - 0, - 0, - [ "@query", "assumption_FStar.UInt128.uint128__uu___haseq" ], - 0, - "b4e2a0f95acd6292c146fa75d90b8bc5" - ], - [ - "FStar.UInt128.v", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "943963eac60c62533b6089a7b397dd1c" - ], - [ - "FStar.UInt128.v", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" - ], - 0, - "1f092173593cfb55ffbd9508907306d4" - ], - [ - "FStar.UInt128.div_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "acc6797df6617dc5641a91389194ac05" - ], - [ - "FStar.UInt128.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "83319ad8f71faaefa66e6e80a636d126" - ], - [ - "FStar.UInt128.uint_to_t", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.n" - ], - 0, - "d6f15b70ce191348790ed93d232c5d3e" - ], - [ - "FStar.UInt128.uint_to_t", - 3, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "460d2f590b4ce67ade7c2a6e821cd91b" - ], - [ - "FStar.UInt128.v_inj", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "abfcc3cb01073c19ee2c0b65774d3f99" - ], - [ - "FStar.UInt128.v_inj", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.uint_to_t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "lemma_FStar.UInt64.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" - ], - 0, - "d2635297624860ca985b7ce0da32407e" - ], - [ - "FStar.UInt128.bv2int_fun", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6e9925ba7e1cb0f4d32258990aefe266" - ], - [ - "FStar.UInt128.bv2int_fun", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "76eb725ce3f2c3de0b9118515c225182" - ], - [ - "FStar.UInt128.constant_time_carry_ok", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.fact0", "equation_FStar.UInt128.fact1", - "equation_FStar.UInt64.lt", "int_inversion", - "lemma_FStar.UInt64.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_c69a0e8d9a16ce4d8d2d17decec036c3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt64.v" - ], - 0, - "30369d85abfe473b18d464ee76453796" - ], - [ - "FStar.UInt128.constant_time_carry_ok", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.lt", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BV.inverse_num_lemma", - "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ef9ed65e43992bfb4c7f2a832704c6ce", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "d75fce622cca0c8b6ba8c9c1e373462e" - ], - [ - "FStar.UInt128.carry", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.lt", "int_inversion", "int_typing", - "lemma_FStar.UInt64.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_b87f471e80e3c2bc077d38b7026cfcf6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.logxor", "typing_FStar.UInt64.v" - ], - 0, - "6a2b6846c87a68a8024092a4a0eebd29" - ], - [ - "FStar.UInt128.carry_sum_ok", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.carry", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2d98f2f5de361516da3dbd9f556509e2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc6574f4d2135967bbb67619a2c5f95", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.carry", "typing_FStar.UInt64.add_mod", - "typing_FStar.UInt64.v" - ], - 0, - "8a9731f648824b85b0ab2785c9c43ffa" - ], - [ - "FStar.UInt128.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9c1c4203f578b01a0586119367533cf3" - ], - [ - "FStar.UInt128.add", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.carry", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", - "typing_FStar.UInt64.v" - ], - 0, - "18e30f82bf8192353e543905e80e1848" - ], - [ - "FStar.UInt128.add_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c879d5f881e938fa1e5dac5258ff6335" - ], - [ - "FStar.UInt128.add_underspec", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt128.v", - "typing_FStar.UInt64.v" - ], - 0, - "0361a87d657d346e2c63c5af3c6b3597" - ], - [ - "FStar.UInt128.mod_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "ce79ecca63faeed03da913bcf8c9831a" - ], - [ - "FStar.UInt128.mod_mod", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "d12f30f96c088c44634197f860fde6cf" - ], - [ - "FStar.UInt128.mod_spec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "fd8913f3586cac32bdc3b25e0e818423" - ], - [ - "FStar.UInt128.div_product", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "2b7c66761b16e86f6984b6ed11156c04" - ], - [ - "FStar.UInt128.div_product", - 2, - 0, - 0, - [ "@query" ], - 0, - "ccdc29d3f71382a8e6d0c65bbafe8b02" - ], - [ - "FStar.UInt128.mul_div_cancel", - 1, - 0, - 0, - [ "@query" ], - 0, - "5cce93db56aba138b70330331f52d3c9" - ], - [ - "FStar.UInt128.mul_div_cancel", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "e739556389a37ed375030ddf460168da" - ], - [ - "FStar.UInt128.mod_mul", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c14b47a6c7f33cbe37dc35c8eb60dfeb" - ], - [ - "FStar.UInt128.mod_mul", - 2, - 0, - 0, - [ "@query" ], - 0, - "ce9da96ed3ff4153619ac9d533d5fc3a" - ], - [ - "FStar.UInt128.mod_spec_rew_n", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "24925479b00e40aadf39ae34601a0f55" - ], - [ - "FStar.UInt128.mod_add", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "f5ec6f939ed7e0cfb03acb1f1a6ecfd9" - ], - [ - "FStar.UInt128.mod_add", - 2, - 0, - 0, - [ "@query" ], - 0, - "a8c662dea62140acd779b7bafa7de410" - ], - [ - "FStar.UInt128.mod_add_small", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "1cedd0691d1daf376617c6ec2fd1d03b" - ], - [ - "FStar.UInt128.mod_add_small", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "b704bedc31e6746b406986df9ece47c5" - ], - [ - "FStar.UInt128.add_mod", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "bbfaf451f1e4a570d4f6a54bb5ff85ba" - ], - [ - "FStar.UInt128.add_mod", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt64.v", - "typing_Prims.pow2" - ], - 0, - "5fca5514a04c4ffe5fd8408b46b878b3" - ], - [ - "FStar.UInt128.add_mod", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt128.v", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4ecfcd8ab898e9a5d3ab26de36130edb", - "refinement_interpretation_Tm_refine_577bf81370a12525af006990f1782dd0", - "refinement_interpretation_Tm_refine_7a56511eefcb7f75f64aa1fd7e5ff0e0", - "refinement_interpretation_Tm_refine_7fd12a5c95af232f3010dd3e820a56c3" - ], - 0, - "7af2a3ec44f4e8168f1057b60740c912" - ], - [ - "FStar.UInt128.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "29505a516648d770b7a498cf4a31a54a" - ], - [ - "FStar.UInt128.sub", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" - ], - 0, - "3a8d035f300c38e3fda93e02379e36f3" - ], - [ - "FStar.UInt128.sub_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "735eaad371ff963eefa08fe28e9b4213" - ], - [ - "FStar.UInt128.sub_underspec", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "b8d49a020603727bbbe7bffb44cae83a" - ], - [ - "FStar.UInt128.sub_mod_pos_ok", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.carry", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.sub", - "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_4db8ba22c4504a66577a2159dcc603cd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc6574f4d2135967bbb67619a2c5f95", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt.sub_mod", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.sub", - "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" - ], - 0, - "7d7e949fec01189f4b61f4d83ef48505" - ], - [ - "FStar.UInt128.u64_diff_wrap", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" - ], - 0, - "053cb998b6fc8cc554aab99367c5d784" - ], - [ - "FStar.UInt128.sub_mod_wrap1_ok", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.sub_mod_impl", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc6574f4d2135967bbb67619a2c5f95", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", "typing_FStar.UInt128.n", - "typing_FStar.UInt128.sub_mod_impl", "typing_FStar.UInt128.v", - "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v", - "typing_Prims.int" - ], - 0, - "2972951a99c83e469083ddb53f83ecc2" - ], - [ - "FStar.UInt128.sum_lt", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "fb5919ec48d45550260f5e0eec15f7f0" - ], - [ - "FStar.UInt128.sub_mod_wrap2_ok", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.sub_mod_impl", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc6574f4d2135967bbb67619a2c5f95", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", "typing_FStar.UInt128.n", - "typing_FStar.UInt64.sub_mod", "typing_FStar.UInt64.v" - ], - 0, - "336907eea83ec227a0f78877e7df1841" - ], - [ - "FStar.UInt128.sub_mod_wrap_ok", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.v" - ], - 0, - "3381869c59c306036bf8b3da70561eeb" - ], - [ - "FStar.UInt128.sub_mod", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "cbde6555ce0798febcc71b7ab74a7bef" - ], - [ - "FStar.UInt128.sub_mod", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.carry", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.sub_mod_impl", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6fc6574f4d2135967bbb67619a2c5f95", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_cb95789552ffa46c14f21af13ceaad6b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.max_int", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.carry", - "typing_FStar.UInt128.constant_time_carry", "typing_FStar.UInt128.n", - "typing_FStar.UInt128.v", "typing_FStar.UInt64.sub_mod", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "45c861761f58a3a18918017b8052b29b" - ], - [ - "FStar.UInt128.shift_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d20040df8822571b3b349e2bfa8cb098" - ], - [ - "FStar.UInt128.shift_bound", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "763ba15e2386bf3dbeaea4608ebbe58b" - ], - [ - "FStar.UInt128.append_uint", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "11c21bdf19e9065e3f6a2d604caebb46" - ], - [ - "FStar.UInt128.append_uint", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "94876d62653a75e4c3a093a62a09256d" - ], - [ - "FStar.UInt128.to_vec_append", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "e3d2772001a9bbc4f3c4af10975aad78" - ], - [ - "FStar.UInt128.to_vec_append", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.append_uint", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.append", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt128.append_uint", - "typing_Prims.bool" - ], - 0, - "cef7873fb8441fdd64d10d3dad552b33" - ], - [ - "FStar.UInt128.to_vec_v", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.append_uint", - "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", - "equation_FStar.UInt128.vec64", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low" - ], - 0, - "fba3ef26131f3752db82eefb39d9ad88" - ], - [ - "FStar.UInt128.logand_vec_append", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "8cfc43e45f06f11ad1a0d663d7251df5" - ], - [ - "FStar.UInt128.logand_vec_append", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BitVector.logand_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a4897f73ed01a04f42f5a3de93acce4c", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.index", "typing_Prims.bool" - ], - 0, - "d03eec6d19715878cdbd2b764aa111a9" - ], - [ - "FStar.UInt128.logand_vec_append", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb3d24e4b10e67c4c2e13cdfe4e27c0c" - ], - [ - "FStar.UInt128.logand", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ed696b389419700351889f45030a1b0a" - ], - [ - "FStar.UInt128.logand", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logand_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logand", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", - "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logand_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt128.vec128", - "typing_FStar.UInt128.vec64", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "a46cc991d8758751006afad6d2ccb9c2" - ], - [ - "FStar.UInt128.logxor_vec_append", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "497e7ef1ef7b86b28b4e7f6ecd4751b0" - ], - [ - "FStar.UInt128.logxor_vec_append", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_10848cc857e95829717ef4b52656f4b8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.index", "typing_Prims.bool" - ], - 0, - "561f6f0baa8d1c7023b443d1d5369782" - ], - [ - "FStar.UInt128.logxor_vec_append", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb3d24e4b10e67c4c2e13cdfe4e27c0c" - ], - [ - "FStar.UInt128.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "5debcb0823248212c5e7d6c05d309725" - ], - [ - "FStar.UInt128.logxor", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", - "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logxor_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt128.vec128", - "typing_FStar.UInt128.vec64", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "3400d74e3efa014d52676f1845d3c563" - ], - [ - "FStar.UInt128.logor_vec_append", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "702eca875365c335b4fb1ef1ef3fc632" - ], - [ - "FStar.UInt128.logor_vec_append", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e16d37dc2954067c8ddbd9ffb3a08a7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.index", "typing_Prims.bool" - ], - 0, - "2238c8ad5edbbc66560d9cdbd9c3a892" - ], - [ - "FStar.UInt128.logor_vec_append", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "bb3d24e4b10e67c4c2e13cdfe4e27c0c" - ], - [ - "FStar.UInt128.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ee10391c4517d37c76fabad6afd11200" - ], - [ - "FStar.UInt128.logor", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.logor", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", - "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.logor_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt128.vec128", - "typing_FStar.UInt128.vec64", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "5a2f5f1861066c02bed6b98128e1b518" - ], - [ - "FStar.UInt128.lognot_vec_append", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.BitVector.bv_t", - "equation_Prims.eqtype", "equation_Prims.pos", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_Prims.bool" - ], - 0, - "9ae58793a0dc4e185be0c30c5775dadb" - ], - [ - "FStar.UInt128.lognot_vec_append", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@query", "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0b04691c951527f03bb11d8801e71661", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.index", "typing_Prims.bool" - ], - 0, - "a31a4dec0037d43c4c5d066972e146f3" - ], - [ - "FStar.UInt128.lognot_vec_append", - 3, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8d77f5086f4361b960dfc909b18ff574" - ], - [ - "FStar.UInt128.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "915dff21fb5e2ed868ceada03fb9eacf" - ], - [ - "FStar.UInt128.lognot", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", "@query", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", - "equation_FStar.BitVector.bv_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt128.vec128", - "equation_FStar.UInt128.vec64", "equation_Prims.eqtype", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_num_lemma", - "lemma_FStar.UInt.inverse_vec_lemma", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.BitVector.lognot_vec", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.v", "typing_FStar.UInt128.vec128", - "typing_FStar.UInt128.vec64", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "07dc52a98f7d9c2c2bd127b35804bfb4" - ], - [ - "FStar.UInt128.__uint_to_t", - 1, - 0, - 0, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt128.n" - ], - 0, - "4a964438d7822cd94ebfec665cb9c4c6" - ], - [ - "FStar.UInt128.mod_mul_cancel", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "0ff96614cfd580eea3c0b7b24216d199" - ], - [ - "FStar.UInt128.shift_past_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "typing_Prims.pow2" - ], - 0, - "7ab04af79247eb91dccbfa708e4da675" - ], - [ - "FStar.UInt128.mod_double", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "6f59c8859eaceafdb167cbeff87a434e" - ], - [ - "FStar.UInt128.mod_double", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001" - ], - 0, - "cf5daa896e810353816988eabfd0f150" - ], - [ - "FStar.UInt128.shift_left_large_val", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "90acdc8eb17b01c593707ebdaf336744" - ], - [ - "FStar.UInt128.shift_left_large_lemma", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "b3db6441db148edeb1a3d8d9c95b5bc9" - ], - [ - "FStar.UInt128.shift_left_large_lemma_t", - 1, - 0, - 0, - [ "@query" ], - 0, - "92dc874561865cd9cb89e5fdd48f228d" - ], - [ - "FStar.UInt128.shift_left_large_lemma_t", - 2, - 0, - 0, - [ "@query", "equation_FStar.UInt128.v" ], - 0, - "2dbf069571acc19af959ba580d0adae4" - ], - [ - "FStar.UInt128.u32_64", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "2e17b830e7becc6ba2f4a7c4c7d8c45e" - ], - [ - "FStar.UInt128.div_pow2_diff", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "aef9b124068324f783485906f423c3fd" - ], - [ - "FStar.UInt128.div_pow2_diff", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "df01346ff1ec3727401c26e7c94777de" - ], - [ - "FStar.UInt128.mod_mul_pow2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "aa891e4036f243b212589414a5772b53" - ], - [ - "FStar.UInt128.mod_mul_pow2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nonzero", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "c80d58fdb1f3d8c83d7226517bf2d04e" - ], - [ - "FStar.UInt128.pow2_div_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "9809b61a0528bd31eeda518d34534123" - ], - [ - "FStar.UInt128.add_u64_shift_left", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.shift_left_value_lemma", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c7f8db3067cf5005a8929a372c0e9e9d", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" - ], - 0, - "abb10c8bbe4dd8042b99fe3aca284194" - ], - [ - "FStar.UInt128.div_plus_multiple", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8b3be3b2f5592deded391d22e59bf566" - ], - [ - "FStar.UInt128.div_add_small", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f60f2239e7f874dd76890ba563b1f6d6" - ], - [ - "FStar.UInt128.div_add_small", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ca2bd099fba4c935bb5de9e92c7fea66" - ], - [ - "FStar.UInt128.add_mod_small", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "4bdc46c840efad836debdb545ab07216" - ], - [ - "FStar.UInt128.add_mod_small", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f22c1f3d74f7276067d4f22f57475ce6" - ], - [ - "FStar.UInt128.mod_then_mul_64", - 1, - 0, - 0, - [ "@query" ], - 0, - "a8248253965ba0318ac10770553c7626" - ], - [ - "FStar.UInt128.mul_abc_to_acb", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "26f11912705b7ae661fe61858c524dd2" - ], - [ - "FStar.UInt128.add_u64_shift_left_respec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.u32_64", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c7f8db3067cf5005a8929a372c0e9e9d", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.n", "typing_FStar.UInt128.u32_64", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "d32a4d8b9fa11bcf32c737eaadce9565" - ], - [ - "FStar.UInt128.add_mod_small'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "877b30b22f46622a20c8c1f75fee11bd" - ], - [ - "FStar.UInt128.add_mod_small'", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "01e3e479a57999a9925942e1797a5751" - ], - [ - "FStar.UInt128.shift_t_val", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.UInt128.n" - ], - 0, - "06fb7f6050fe9d6cf8ebcef515e04261" - ], - [ - "FStar.UInt128.mul_mod_bound", - 1, - 0, - 0, - [ "@query" ], - 0, - "b7866b7af71670780df061c8b22d897a" - ], - [ - "FStar.UInt128.mul_mod_bound", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ad53f3413fd15db5258446e997071714", - "typing_Prims.pow2" - ], - 0, - "6083a56d6cc16466b3d32f938becb7dd" - ], - [ - "FStar.UInt128.add_lt_le", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "825cf4282049d308101d4dfac94aa21f" - ], - [ - "FStar.UInt128.u64_pow2_bound", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "fc98259caa3d625b8538483da9eaa8ea" - ], - [ - "FStar.UInt128.shift_t_mod_val'", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.t", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "9708f360d52041bae7170c34804e4484" - ], - [ - "FStar.UInt128.shift_t_mod_val", - 1, - 0, - 0, - [ "@query" ], - 0, - "e97883c1ae305f99424f5fca1681d461" - ], - [ - "FStar.UInt128.shift_left_small", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt128.v", - "equation_FStar.UInt32.eq", "equation_Prims.nat", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_left_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_0556f625b89f1ac99fd21e82e26fe9e0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt128.u32_64", - "typing_FStar.UInt128.v", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.shift_right", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "135fd8dd39780b8fea3af38be1820c3e" - ], - [ - "FStar.UInt128.shift_left_large", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a2a071dd127b029ef35393f42269ee33" - ], - 0, - "941190ac0f16675483102b17930053e4" - ], - [ - "FStar.UInt128.shift_left_large", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_left_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a2a071dd127b029ef35393f42269ee33", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt128.u32_64", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "219a770d3dcd2a0e1b51dd674208905c" - ], - [ - "FStar.UInt128.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "36746b3ae643cdbfda213f3b2be7e435" - ], - [ - "FStar.UInt128.shift_left", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.lt", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b58359439b5710e70cb2c2ec5631c1eb", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" - ], - 0, - "bd5463741742c19feff1c45182ac8201" - ], - [ - "FStar.UInt128.add_u64_shift_right", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_64", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.shift_left_value_lemma", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c7f8db3067cf5005a8929a372c0e9e9d", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" - ], - 0, - "f94e687df5608d9a570bef55f0a93be4" - ], - [ - "FStar.UInt128.mul_pow2_diff", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d" - ], - 0, - "acef617d4bc17cdb5426540355d57c6d" - ], - [ - "FStar.UInt128.mul_pow2_diff", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_Prims.pow2" - ], - 0, - "db3845370daf2352eec5181970e68c4d" - ], - [ - "FStar.UInt128.add_u64_shift_right_respec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.u32_64", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c7f8db3067cf5005a8929a372c0e9e9d", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" - ], - 0, - "d35382925daa1e384d9395e140425e65" - ], - [ - "FStar.UInt128.mul_div_spec", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "8fe3e08a07ac39c34671f17cd6d70578" - ], - [ - "FStar.UInt128.mul_distr_sub", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0" - ], - 0, - "e16284e190ed6b7d65b2a4a6187f0096" - ], - [ - "FStar.UInt128.div_product_comm", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7d6440a4dbc926918e0b5dd2c1426de6" - ], - [ - "FStar.UInt128.div_product_comm", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "primitive_Prims.op_Multiply", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "58ba26eb6f78ccc528990005b302a8b3" - ], - [ - "FStar.UInt128.shift_right_reconstruct", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9fe878b346a5c77721510b615d17a28b" - ], - [ - "FStar.UInt128.shift_right_reconstruct", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "50608391fca85ec8f9e01211ebf91b97" - ], - [ - "FStar.UInt128.u128_div_pow2", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.nonzero", "int_inversion", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cbf971928126ebd7b5b5ab103183d4b9" - ], - [ - "FStar.UInt128.u128_div_pow2", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0999805d79a9fdb96689f740600264ac" - ], - [ - "FStar.UInt128.shift_right_small", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.v", "equation_FStar.UInt32.eq", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_0556f625b89f1ac99fd21e82e26fe9e0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c7f8db3067cf5005a8929a372c0e9e9d", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.shift_right", "typing_FStar.UInt64.v" - ], - 0, - "78b523ba7774773daf9ad3e79a847abc" - ], - [ - "FStar.UInt128.shift_right_large", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.u32_64", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "equation_Prims.pos", "fuel_guarded_inversion_FStar.UInt128.uint128", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a2a071dd127b029ef35393f42269ee33", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "1566a5b866daea2d726d3e9636a1e05a" - ], - [ - "FStar.UInt128.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "077479c1759aa008205d71582926bc7a" - ], - [ - "FStar.UInt128.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.u32_64", "equation_FStar.UInt32.lt", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e1d24c158e7f5ef1f6415367ebc96e66", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_64", "typing_FStar.UInt32.v" - ], - 0, - "95aa3ab9f4165e2011aa028b4509ff80" - ], - [ - "FStar.UInt128.eq", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "077cf8dac7ae509bbbbce303a179304d" - ], - [ - "FStar.UInt128.eq", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.eq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "a53d135cd11c4a49ee69560d48204ca4" - ], - [ - "FStar.UInt128.gt", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "5c1af26bf45151afa904b97e97af6e6e" - ], - [ - "FStar.UInt128.gt", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", - "equation_FStar.UInt64.gt", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "19af7dde8454dc91683f2b5389291ae1" - ], - [ - "FStar.UInt128.lt", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "298229e2eafb7ea026c06889155f4fe9" - ], - [ - "FStar.UInt128.lt", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_FStar.UInt64.eq", - "equation_FStar.UInt64.lt", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "21f9ebf85a7dbec829885f7bcbe0be2d" - ], - [ - "FStar.UInt128.gte", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7862fb5c8da39a4724cfcfccea97fd63" - ], - [ - "FStar.UInt128.gte", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt64.eq", "equation_FStar.UInt64.gt", - "equation_FStar.UInt64.gte", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "bf42fb0828394c95a8776b2e3e4c6440" - ], - [ - "FStar.UInt128.lte", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "4ada1b94a4bcce914ac0785570c80c99" - ], - [ - "FStar.UInt128.lte", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", "equation_FStar.UInt.eq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt64.eq", "equation_FStar.UInt64.lt", - "equation_FStar.UInt64.lte", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "d6271498fd5844bf83c708ad559b6e8c" - ], - [ - "FStar.UInt128.u64_logand_comm", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_4a73301fbc41c8e432f23b6aef69a5eb", - "typing_FStar.UInt64.logand" - ], - 0, - "a4691b1b64baf8e7b090380abe4e2ce6" - ], - [ - "FStar.UInt128.u64_and_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.zero", - "refinement_interpretation_Tm_refine_4a73301fbc41c8e432f23b6aef69a5eb", - "typing_FStar.UInt64.logand" - ], - 0, - "cfb43064b849b3d1374bf5ce365a54c1" - ], - [ - "FStar.UInt128.u64_0_and", - 1, - 0, - 0, - [ "@query", "lemma_FStar.UInt128.u64_and_0" ], - 0, - "e948167a42a39c062ec6466cde01b386" - ], - [ - "FStar.UInt128.u64_1s_and", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.ones", "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_4a73301fbc41c8e432f23b6aef69a5eb", - "typing_FStar.UInt64.logand" - ], - 0, - "593e4ce72ca4fdee779e84522655d191" - ], - [ - "FStar.UInt128.eq_mask", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "492ba9c46796f17a3e557187e6804285" - ], - [ - "FStar.UInt128.eq_mask", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.t", "equation_FStar.UInt128.v", - "equation_FStar.UInt64.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt128.u64_0_and", "lemma_FStar.UInt128.u64_1s_and", - "lemma_FStar.UInt128.u64_and_0", "lemma_FStar.UInt32.vu_inv", - "lemma_FStar.UInt64.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt128.n", "typing_FStar.UInt64.v", "typing_Prims.int" - ], - 0, - "d51d087f1fc52700c7ccc802c289e939" - ], - [ - "FStar.UInt128.gte_characterization", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v", "typing_Prims.int" - ], - 0, - "60c44b198287554530c5b9b5ec882696" - ], - [ - "FStar.UInt128.lt_characterization", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt128.uint128", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__high", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v", "typing_Prims.int" - ], - 0, - "3558746ed9078b4053ee4d2734490c28" - ], - [ - "FStar.UInt128.u64_logor_comm", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_6913af387cf2f30da0961ac60666f00f", - "typing_FStar.UInt64.logor" - ], - 0, - "f1524d51432e6c0bb0280edfbd873a00" - ], - [ - "FStar.UInt128.u64_or_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.ones", - "refinement_interpretation_Tm_refine_6913af387cf2f30da0961ac60666f00f", - "typing_FStar.UInt64.logor" - ], - 0, - "24163a88ced8f1069439b002da894ca2" - ], - [ - "FStar.UInt128.u64_1_or", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "lemma_FStar.UInt128.u64_or_1" - ], - 0, - "3bc370bf5086874b55a1dd3e4f7b0283" - ], - [ - "FStar.UInt128.u64_or_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.zero", - "lemma_FStar.UInt64.uv_inv", - "refinement_interpretation_Tm_refine_6913af387cf2f30da0961ac60666f00f", - "typing_FStar.UInt64.logor" - ], - 0, - "27de11e56c3a594b1921656c7e6a9b00" - ], - [ - "FStar.UInt128.u64_not_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.ones", "equation_FStar.UInt.zero", - "refinement_interpretation_Tm_refine_d294ad5c8783c9adf54e87f8b3d910d1", - "typing_FStar.UInt64.lognot" - ], - 0, - "b6fd6d1b95570c4fb45d551ec990ad8d" - ], - [ - "FStar.UInt128.u64_not_1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.ones", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.lognot_definition", - "lemma_FStar.UInt.ones_nth_lemma", "lemma_FStar.UInt.zero_nth_lemma", - "primitive_Prims.op_Negation", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c44adc8bb49dc22b5c9c4b7dc100228", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d294ad5c8783c9adf54e87f8b3d910d1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt.ones", - "typing_FStar.UInt.zero", "typing_FStar.UInt64.lognot" - ], - 0, - "5bc85dbadc91b2c4ea75a5d453e8ed54" - ], - [ - "FStar.UInt128.gte_mask", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "16d8ac394e1ecbfa5f3f99a940362779" - ], - [ - "FStar.UInt128.gte_mask", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.n", - "equation_FStar.UInt128.v", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt128.u64_0_and", "lemma_FStar.UInt128.u64_1_or", - "lemma_FStar.UInt128.u64_1s_and", "lemma_FStar.UInt128.u64_and_0", - "lemma_FStar.UInt128.u64_not_0", "lemma_FStar.UInt128.u64_not_1", - "lemma_FStar.UInt128.u64_or_0", "lemma_FStar.UInt128.u64_or_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.n", "typing_FStar.UInt64.v" - ], - 0, - "e41507b67fd0e917e0b3a6ee6810c032" - ], - [ - "FStar.UInt128.uint64_to_uint128", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "ff36df06977c70d16d6f7158d52a89db" - ], - [ - "FStar.UInt128.uint64_to_uint128", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "b0345a1095b64b69ff30248034cba95c" - ], - [ - "FStar.UInt128.uint128_to_uint64", - 1, - 0, - 0, - [ "@query" ], - 0, - "9c53a5931788f3ac63067d1a80104823" - ], - [ - "FStar.UInt128.uint128_to_uint64", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.v", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.UInt128.uint128", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.__proj__Mkuint128__item__low", - "typing_FStar.UInt64.v" - ], - 0, - "23e9cb020a502817216af896bbdfda37" - ], - [ - "FStar.UInt128.u64_l32_mask", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "72c3cbb676694eea8a3f0fd1b195ba06" - ], - [ - "FStar.UInt128.u64_mod_32", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.UInt128.u64_l32_mask", - "refinement_interpretation_Tm_refine_48c02aeb52d751253bb6cbc645e3d0a5", - "typing_FStar.UInt128.u64_l32_mask" - ], - 0, - "3f433ef2edb394f242d70ad1044e70e9" - ], - [ - "FStar.UInt128.u64_32_digits", - 1, - 0, - 0, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c5aa61c01e61591c7a7d1c513e854eed" - ], - [ - "FStar.UInt128.mul32_digits", - 1, - 0, - 0, - [ "@query" ], - 0, - "9328b80d088cb67611942f2359d2f266" - ], - [ - "FStar.UInt128.mul32_digits", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "39992c512b1717857ecb4b41239acb37" - ], - [ - "FStar.UInt128.u32_32", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7ac38f5cd60bba8a709a6a21abe8fba4" - ], - [ - "FStar.UInt128.u32_combine", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_32", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_left_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_32", "typing_FStar.UInt64.v" - ], - 0, - "84379f5185b74d8c5e322f2a4527a7e9" - ], - [ - "FStar.UInt128.product_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "58c25dfe761dc7d5076eed11b27a8535" - ], - [ - "FStar.UInt128.uint_product_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "163b58dcd97888289b26f2c482980423" - ], - [ - "FStar.UInt128.uint_product_bound", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "da87f74c6884e95e2eb2b5fdf5403053" - ], - [ - "FStar.UInt128.u32_product_bound", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" - ], - 0, - "6d39d3a44911b5d453c471bd69c92823" - ], - [ - "FStar.UInt128.mul32", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.Int.Cast.uint32_to_uint64", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_32", - "equation_FStar.UInt128.u64_l32_mask", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_48c02aeb52d751253bb6cbc645e3d0a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_d15a9766d4c1ec94d1574f05b54a618b", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Int.Cast.uint32_to_uint64", - "typing_FStar.UInt128.u32_32", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt64.v" - ], - 0, - "58f22cba1422635f67edc8d873216205" - ], - [ - "FStar.UInt128.l32", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", - "int_typing", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "198d812f54d39b2421dd318a31895a65" - ], - [ - "FStar.UInt128.h32", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_Prims.pow2" - ], - 0, - "da47cb685ea6f1c7af36709c74f71ae1" - ], - [ - "FStar.UInt128.mul32_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "f6404d5b12cd0c68a0756baf5793ede3" - ], - [ - "FStar.UInt128.pll", - 1, - 0, - 0, - [ "@query" ], - 0, - "9975bf6a1c71ddb0bcbdc2aad98ff152" - ], - [ - "FStar.UInt128.plh", - 1, - 0, - 0, - [ "@query" ], - 0, - "4a9570640c82d002a952c91c159876ac" - ], - [ - "FStar.UInt128.phl", - 1, - 0, - 0, - [ "@query" ], - 0, - "289b58e4525307093d1366a8873fa956" - ], - [ - "FStar.UInt128.phh", - 1, - 0, - 0, - [ "@query" ], - 0, - "0429ff412c6000d8ef6f71bf2d74dacb" - ], - [ - "FStar.UInt128.mul_wide_low", - 1, - 0, - 0, - [ "@query" ], - 0, - "9a68f48566faed2ca93f2c437db2131f" - ], - [ - "FStar.UInt128.mul_wide_high", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nonzero", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f" - ], - 0, - "b1638f1ebced7d518bf476add78d21ae" - ], - [ - "FStar.UInt128.mul_wide_impl_t'", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", - "equation_FStar.UInt128.l32", "equation_FStar.UInt128.mul32_bound", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.pll", - "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", - "equation_FStar.UInt128.u32_32", - "equation_FStar.UInt128.u64_l32_mask", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "refinement_interpretation_Tm_refine_48c02aeb52d751253bb6cbc645e3d0a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.h32", "typing_FStar.UInt128.pll_h", - "typing_FStar.UInt128.u32_32", "typing_FStar.UInt128.u64_l32_mask", - "typing_FStar.UInt64.v" - ], - 0, - "fc6747c7190e393d03a5a390112847fe" - ], - [ - "FStar.UInt128.u32_combine'", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.u32_32", - "equation_Prims.nat", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_left_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.u32_32", "typing_FStar.UInt64.v" - ], - 0, - "b79afc4f1612ea900886d4b817d9ab02" - ], - [ - "FStar.UInt128.mul_wide_impl", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", - "equation_FStar.UInt128.l32", "equation_FStar.UInt128.mul32_bound", - "equation_FStar.UInt128.mul_wide_high", - "equation_FStar.UInt128.mul_wide_impl_t_", - "equation_FStar.UInt128.mul_wide_low", "equation_FStar.UInt128.phh", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", - "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", - "equation_FStar.UInt128.u32_32", - "equation_FStar.UInt128.u64_l32_mask", "equation_Prims.nat", - "equation_Prims.nonzero", "equation_Prims.pos", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt128.Mkuint128_high", - "proj_equation_FStar.UInt128.Mkuint128_low", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__3", - "projection_inverse_FStar.Pervasives.Native.Mktuple4__4", - "projection_inverse_FStar.UInt128.Mkuint128_high", - "projection_inverse_FStar.UInt128.Mkuint128_low", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_48c02aeb52d751253bb6cbc645e3d0a5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.h32", "typing_FStar.UInt128.l32", - "typing_FStar.UInt128.phl", "typing_FStar.UInt128.pll", - "typing_FStar.UInt128.pll_l", "typing_FStar.UInt128.u32_32", - "typing_FStar.UInt128.u64_l32_mask", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.v" - ], - 0, - "0305fa8a913c8cf7172b3413a4ba16f3" - ], - [ - "FStar.UInt128.product_sums", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "a5c6fffebc602ec403505e32f864b9f0" - ], - [ - "FStar.UInt128.u64_32_product", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a27a364a7768659ed149e4623284cff3" - ], - [ - "FStar.UInt128.product_expand", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.h32", "equation_FStar.UInt128.l32", - "equation_FStar.UInt128.mul32_bound", "equation_FStar.UInt128.phh", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", - "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", - "equation_FStar.UInt128.pll_l", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v", "typing_Prims.pow2" - ], - 0, - "e2ebf8a662ecff8943ccdfeeae828220" - ], - [ - "FStar.UInt128.product_low_expand", - 1, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "aa7cb5f9de601dc6d0cebbe668cd3bee" - ], - [ - "FStar.UInt128.add_mod_then_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "679e376cbdd05489c07fc0a0ef727f8a" - ], - [ - "FStar.UInt128.shift_add", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54b601985451a2432a353b711858af42" - ], - 0, - "d0b929d95dfb0b63f86cbadf2d27b873" - ], - [ - "FStar.UInt128.mul_wide_low_ok", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.l32", - "equation_FStar.UInt128.mul_wide_low", "equation_FStar.UInt128.phl", - "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll", - "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.pll_l", - "equation_Prims.nat", "equation_Prims.nonzero", "equation_Prims.pos", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0766302b68bb44ab7aff8c4d8be0b46f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", - "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.pll_l", - "typing_Prims.pow2" - ], - 0, - "2b9ef568c22686565a0fb7e385698208" - ], - [ - "FStar.UInt128.product_high32", - 1, - 0, - 0, - [ "@query" ], - 0, - "aed5009a0be89f3a3cec617ed41d99e8" - ], - [ - "FStar.UInt128.product_high32", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.h32", - "equation_FStar.UInt128.l32", "equation_FStar.UInt128.phh", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", - "equation_FStar.UInt128.pll", "equation_FStar.UInt128.pll_h", - "equation_FStar.UInt128.pll_l", "equation_Prims.nat", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.h32", "typing_FStar.UInt128.phh", - "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", - "typing_FStar.UInt128.pll_h", "typing_FStar.UInt128.pll_l", - "typing_FStar.UInt64.v" - ], - 0, - "1579817aedcc7138fa1fa39e890db901" - ], - [ - "FStar.UInt128.product_high_expand", - 1, - 0, - 0, - [ "@query" ], - 0, - "5a3204efa72c5b6ef86ac8f83e6eed3b" - ], - [ - "FStar.UInt128.product_high_expand", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.mul_wide_high", "equation_FStar.UInt128.phh", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", - "equation_FStar.UInt128.pll_h", "equation_Prims.nat", - "equation_Prims.pos", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.phh", "typing_FStar.UInt128.phl", - "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h", - "typing_Prims.pow2" - ], - 0, - "a5a8d16626b70bdeff7621e61f0d1823" - ], - [ - "FStar.UInt128.mod_spec_multiply", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "217b418587395d0e8bb509503b742e51" - ], - [ - "FStar.UInt128.mod_spec_multiply", - 2, - 0, - 0, - [ - "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "1d0867e23384129848c847105684a71f" - ], - [ - "FStar.UInt128.mod_spec_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d865fba9bab7b4551949023261bc0ae7" - ], - [ - "FStar.UInt128.mod_spec_mod", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "e0344c68b5a499a184d40ff7e5749e41" - ], - [ - "FStar.UInt128.mul_injective", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "79cd1544a2fca3efa4a21c13e3d2ae69" - ], - [ - "FStar.UInt128.div_sum_combine1", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "5073be9909664df79d7fc5ac268c1550" - ], - [ - "FStar.UInt128.div_sum_combine1", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "ebe423fd4660ca028e237b9ceb860eb8" - ], - [ - "FStar.UInt128.mod_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Modulus", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "2b78595e203ad9028ac5cb72fb9ef0cb" - ], - [ - "FStar.UInt128.n_minus_mod_exact", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "23d071278af467c1fdba02d3f822f64e" - ], - [ - "FStar.UInt128.sub_mod_gt_0", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "c303ee69eba4206f5bec152bca96d94e" - ], - [ - "FStar.UInt128.sum_rounded_mod_exact", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "0305df105883bac1c478c9bb5cf405b2" - ], - [ - "FStar.UInt128.sum_rounded_mod_exact", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Modulus", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fa453dcd8410974440844f2c8170bc3d" - ], - [ - "FStar.UInt128.div_sum_combine", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "fff352b37fdf29f8b34f46ccd0ac3256" - ], - [ - "FStar.UInt128.div_sum_combine", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b3651d4f665cdaaea87ca88cca5d95d6" - ], - [ - "FStar.UInt128.sum_shift_carry", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "b714b2497684c23f29797c63d881ed9b" - ], - [ - "FStar.UInt128.sum_shift_carry", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Addition", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "d5acef3055bf26700538905ace1dc79d" - ], - [ - "FStar.UInt128.mul_wide_high_ok", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt128.mul_wide_high", - "equation_FStar.UInt128.phh", "equation_FStar.UInt128.phl", - "equation_FStar.UInt128.plh", "equation_FStar.UInt128.pll_h", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.phl", "typing_FStar.UInt128.plh", - "typing_FStar.UInt128.pll_h", "typing_FStar.UInt64.v" - ], - 0, - "433a378fe85aae4a097dbad7c6b072b6" - ], - [ - "FStar.UInt128.product_div_bound", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.pos", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "d0f9ce0ba82bfbcd81a102baf63c43f3" - ], - [ - "FStar.UInt128.product_div_bound", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "283ed3806d5f446cb5b656b12b4f754b" - ], - [ - "FStar.UInt128.mul_wide", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.mul_wide_high", - "equation_FStar.UInt128.mul_wide_low", "equation_FStar.UInt128.phh", - "equation_FStar.UInt128.phl", "equation_FStar.UInt128.plh", - "equation_FStar.UInt128.pll_h", "equation_FStar.UInt128.t", - "equation_FStar.UInt128.u32_32", "equation_FStar.UInt128.v", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_795236a93a1d1200a603d7e92803ab81", - "refinement_interpretation_Tm_refine_abdf9dfe68d7634503222a934e1ba5a5", - "refinement_interpretation_Tm_refine_d12ff0579459f51559539386c837ad74", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt128.phh", "typing_FStar.UInt128.phl", - "typing_FStar.UInt128.plh", "typing_FStar.UInt128.pll_h", - "typing_FStar.UInt128.u32_32", "typing_Prims.pow2" - ], - 0, - "7fd8663b1cc2346a9ba8a97086cf251f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt128.fsti.hints b/ulib/.hints/FStar.UInt128.fsti.hints deleted file mode 100644 index d03aa6b6ca3..00000000000 --- a/ulib/.hints/FStar.UInt128.fsti.hints +++ /dev/null @@ -1,323 +0,0 @@ -[ - "›f\u001c©«8c¢í*\u000eì¦\u0019\n", - [ - [ - "FStar.UInt128.v", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "5bfef6df7fb933b9e1bd3136dadd0611" - ], - [ - "FStar.UInt128.uint_to_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "140497823737d3185a798ab685025871" - ], - [ - "FStar.UInt128.v_inj", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "6bedbd1856773fcd57735a60bd6b98dd" - ], - [ - "FStar.UInt128.add", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "2e6e219363b706d5fc53c2724822b6ef" - ], - [ - "FStar.UInt128.add_underspec", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7c6ff3994b34eda1fe31cec6ff259504" - ], - [ - "FStar.UInt128.add_mod", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "747b8fd4547d6ffffe6ed67321860ced" - ], - [ - "FStar.UInt128.sub", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b506e947429372c96e96fa1e162573d5" - ], - [ - "FStar.UInt128.sub_underspec", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "9df770a8a67885bd419fc16a06f15724" - ], - [ - "FStar.UInt128.sub_mod", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "7fe1ecb845fea79437ff1a8cc6f83d9e" - ], - [ - "FStar.UInt128.logand", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "63d9471e5c7ff6e0383b74deb9b429db" - ], - [ - "FStar.UInt128.logxor", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "817570afb7af18aa98c380693b14233a" - ], - [ - "FStar.UInt128.logor", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "d5cfe165c63b01a6d17a728ebb58732c" - ], - [ - "FStar.UInt128.lognot", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "b84a6c69175f95934efe31122c203934" - ], - [ - "FStar.UInt128.__uint_to_t", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt128.n" - ], - 0, - "b163df94f776f7381225a80a2f737a9d" - ], - [ - "FStar.UInt128.shift_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "29de43a9d6fc49e06ab30f04f0437471" - ], - [ - "FStar.UInt128.shift_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "6d08e6b6a31b9f2cbadeb77a5ad2f41d" - ], - [ - "FStar.UInt128.eq", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "93fc47ad145ceebf3d5dd5dd23d8ee10" - ], - [ - "FStar.UInt128.gt", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "43d105535ca948d9111086f51ad1fbb8" - ], - [ - "FStar.UInt128.lt", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "75f736fa020e46bcba8e49defc6a215f" - ], - [ - "FStar.UInt128.gte", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "52c833f0d68276c0bcb6bf8a47df1094" - ], - [ - "FStar.UInt128.lte", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "0da6d3b20ab7de5b932ecd55fae624ee" - ], - [ - "FStar.UInt128.eq_mask", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c8edf07be315ea5dd3fba7f792f5a139" - ], - [ - "FStar.UInt128.gte_mask", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "3607e8a32254fb5a8b52a4e7a96b1142" - ], - [ - "FStar.UInt128.uint64_to_uint128", - 1, - 2, - 1, - [ - "@query", "equation_FStar.UInt128.n", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "8febb3f06db04c0257141ace503c99fe" - ], - [ - "FStar.UInt128.uint128_to_uint64", - 1, - 2, - 1, - [ "@query" ], - 0, - "548fc729a8bb4b63da1c2105b3d3c371" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt16.fst.hints b/ulib/.hints/FStar.UInt16.fst.hints deleted file mode 100644 index 897575e9cb0..00000000000 --- a/ulib/.hints/FStar.UInt16.fst.hints +++ /dev/null @@ -1,757 +0,0 @@ -[ - "Œ=^&]Ua'\u0006‰1\u0016\u0011u½¼", - [ - [ - "FStar.UInt16.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d7641a4e33184197731851a5a5cf0e66" - ], - [ - "FStar.UInt16.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "37472620bdd4c0e3a50bb73e115fd6f2" - ], - [ - "FStar.UInt16.uint_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "e973d8d69450dee94dd57cb5ca501e9a" - ], - [ - "FStar.UInt16.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt16.v", - "fuel_guarded_inversion_FStar.UInt16.t", - "proj_equation_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", - "typing_FStar.UInt16.uint_to_t", "typing_FStar.UInt16.v" - ], - 0, - "4012cc9e83d05533bbb91976bf499b1d" - ], - [ - "FStar.UInt16.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9c36b8f5a7a9b8fb80adbe9309fb4f4a", - "typing_FStar.UInt16.uint_to_t" - ], - 0, - "992f6bea00e53baa192035a94a96972a" - ], - [ - "FStar.UInt16.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.UInt16.uv_inv" ], - 0, - "32c0301de58b2b3426a74f28d2e57a81" - ], - [ - "FStar.UInt16.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "565d1624edfd1e19d179d44d6d055a06" - ], - [ - "FStar.UInt16.one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "861b7e411114282f286abdda694f64bb" - ], - [ - "FStar.UInt16.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.add", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "1ebf14958d866875c33380454599fde5" - ], - [ - "FStar.UInt16.add_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "8562ae80a24998bc980e45dcbcdf104e" - ], - [ - "FStar.UInt16.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e06077eedfb37241021bde11071db817" - ], - [ - "FStar.UInt16.add_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "9df8512ec641c1091ee42378231aa437" - ], - [ - "FStar.UInt16.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "608036de032efa54ef33444d82e47620" - ], - [ - "FStar.UInt16.sub_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "6bc2b2a7ea774c8c16e36fb1ca2fa684" - ], - [ - "FStar.UInt16.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "57401004ad595c636e1649f0fb3ef432" - ], - [ - "FStar.UInt16.sub_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "146d28255c8b992ca4e4d029831dda2b" - ], - [ - "FStar.UInt16.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "dc84491460ae6b312e1519bb1e7ff97e" - ], - [ - "FStar.UInt16.mul_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "40d8467395a651e25a4f4d94d680fbae" - ], - [ - "FStar.UInt16.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "54d5d28ac8725e1fd58e352ddfacc7a6" - ], - [ - "FStar.UInt16.mul_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "a9a2c9adc938b118e01dbc27b3ddbeb8" - ], - [ - "FStar.UInt16.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" - ], - 0, - "c7d1e0a570203544fed4892171f35ec8" - ], - [ - "FStar.UInt16.div", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt16.t", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b184ab68665248a71e8db8b44898e1e", - "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt16.v" - ], - 0, - "41baa725486305afb3a926016c4e0f61" - ], - [ - "FStar.UInt16.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5", - "typing_Prims.int" - ], - 0, - "b5698880ef3be98e2feb0c05c6f744cf" - ], - [ - "FStar.UInt16.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_9b1cb58e4cc7db7d20c9b1b635e9d4c5" - ], - 0, - "1efd48675bb72cab5cced5db201485c2" - ], - [ - "FStar.UInt16.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c82583b203487650b2caf9ba67fe526f" - ], - [ - "FStar.UInt16.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "32f73fb8d701e18d8c9614626690fe25" - ], - [ - "FStar.UInt16.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "58e64fc6cf38a29b5a10f6d5e9edf4fe" - ], - [ - "FStar.UInt16.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "17f953ef9f365d6dbe70983188a2a29e" - ], - [ - "FStar.UInt16.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt16.v", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_FStar.UInt16.Mk_v" - ], - 0, - "45c3f8a93daa7dd5bbfd8824a6a7f305" - ], - [ - "FStar.UInt16.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "4c2edd4c897594025582f1873ff22ca3" - ], - [ - "FStar.UInt16.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "580e59818e37429128cf9c1b2e90c038" - ], - [ - "FStar.UInt16.shift_left", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "d2c48e64e9bb192240dd366bce1381cc" - ], - [ - "FStar.UInt16.shift_left", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "41ca24ba5898fa78da568278b0cc5542" - ], - [ - "FStar.UInt16.minus", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "980cae4de30b54bdaa167abc5704ca9b" - ], - [ - "FStar.UInt16.n_minus_one", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "012e4a8471fcd96d4979e52939c00902" - ], - [ - "FStar.UInt16.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_9807ddb0e569187e389675611f2acf1e", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt16.add_mod", "equation_FStar.UInt16.minus", - "equation_FStar.UInt16.n_minus_one", "equation_FStar.UInt16.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.UInt16.t", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt16.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt16.Mk_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f7d2623a4d67bd61ba576e6505531fb6", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt16.__proj__Mk__item__v", - "typing_FStar.UInt16.lognot", "typing_FStar.UInt16.minus", - "typing_FStar.UInt16.n_minus_one", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "20d7c8c37d0814c2dc64ff22fc2f86b6" - ], - [ - "FStar.UInt16.lemma_sub_msbs", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt16.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt16.v", "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "a01dae65a95c611cfa8ffd27c6f8dd0b" - ], - [ - "FStar.UInt16.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n_minus_one", - "equation_FStar.UInt16.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt16.n_minus_one", "typing_FStar.UInt16.v", - "typing_FStar.UInt32.v", "typing_Prims.bool" - ], - 0, - "1c8cb587956551c36db8ae48cd1a32e6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt16.fsti.hints b/ulib/.hints/FStar.UInt16.fsti.hints deleted file mode 100644 index c1128d87624..00000000000 --- a/ulib/.hints/FStar.UInt16.fsti.hints +++ /dev/null @@ -1,351 +0,0 @@ -[ - "Èc%­’ßxÞzŽHù—\u0012ȧ", - [ - [ - "FStar.UInt16.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bb50ae2e2976f95fc37b46316ed84995" - ], - [ - "FStar.UInt16.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "796a57037b64208ec0505b5988123b22" - ], - [ - "FStar.UInt16.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3f5ab69c614436240e9edafa3d2b9e46" - ], - [ - "FStar.UInt16.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f7ad67a2febf18663b861794c8424c81" - ], - [ - "FStar.UInt16.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_3e34e2c4f5ba554ca9d5a94a7452f876" - ], - 0, - "a263c3822cccc9282b073fbbbd6cf35b" - ], - [ - "FStar.UInt16.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_3e34e2c4f5ba554ca9d5a94a7452f876", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5df3cb18f892e022f726f3af3ab583b9" - ], - [ - "FStar.UInt16.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "54c759bc8eb55c1df494b90e683d38aa" - ], - [ - "FStar.UInt16.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "583d4bf096f939f905ad34c0c947369f" - ], - [ - "FStar.UInt16.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "d01c58d9a2a77ead6d8bae2311d0c2e7" - ], - [ - "FStar.UInt16.minus", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "544e7777d3101307eed0ce5149599653" - ], - [ - "FStar.UInt16.n_minus_one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9c08350b1a7ebef1cfea2784206816f5" - ], - [ - "FStar.UInt16.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt16_pretyping_a374e0041a556ce7cd8f23e40af799b0", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.logor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt16.minus", "equation_FStar.UInt16.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt16.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a528e7088dc7771b5f67a6b9c65b45af", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dfa8480cc0780e895037e28b8472b8df", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt16.add_mod", "typing_FStar.UInt16.lognot", - "typing_FStar.UInt16.minus", "typing_FStar.UInt16.n_minus_one", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "fcbbcfdcf61e674f97fefcd365cc0784" - ], - [ - "FStar.UInt16.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt16.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt16.n_minus_one", - "typing_FStar.UInt16.v", "typing_FStar.UInt32.v", "typing_Prims.bool" - ], - 0, - "e7b179e2ec1fcb377282c1a29e2939a6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt32.fst.hints b/ulib/.hints/FStar.UInt32.fst.hints deleted file mode 100644 index 1e2ac5d9f92..00000000000 --- a/ulib/.hints/FStar.UInt32.fst.hints +++ /dev/null @@ -1,763 +0,0 @@ -[ - "ÛæƒX¦>ÃÐÕ½æ]ôg¢5", - [ - [ - "FStar.UInt32.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "05a10d2e2c6b97af1c5f76403508a977" - ], - [ - "FStar.UInt32.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6592113b987e0366936a9b39de13abfa" - ], - [ - "FStar.UInt32.uint_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "e9cf5794758dbce00a0b615a6ed4a0c2" - ], - [ - "FStar.UInt32.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt32.v", - "fuel_guarded_inversion_FStar.UInt32.t", - "proj_equation_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "0c63681087f62437abc1186b849a3680" - ], - [ - "FStar.UInt32.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", - "typing_FStar.UInt32.uint_to_t" - ], - 0, - "7e8166325ee53f486b83b112ff6ee4f9" - ], - [ - "FStar.UInt32.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.UInt32.uv_inv" ], - 0, - "1e907c56dfc94ee9bad6572d3cf270f3" - ], - [ - "FStar.UInt32.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "9f128519103c9af2489af941d75e2e53" - ], - [ - "FStar.UInt32.one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "53a78c9e92109b416f3673b759f1e96c" - ], - [ - "FStar.UInt32.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.add", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "f50a381f5217ed07d7cbd553f20f8061" - ], - [ - "FStar.UInt32.add_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "574bc049e9db1769077c215883246159" - ], - [ - "FStar.UInt32.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "34f94bd63678a77139df381561a9eea6" - ], - [ - "FStar.UInt32.add_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "db896ea369529388b18b201a025420ad" - ], - [ - "FStar.UInt32.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "92bae7cf887227ca21b0b50661efbf89" - ], - [ - "FStar.UInt32.sub_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "ff6cdf527b9c4bc2f2525410dd38f247" - ], - [ - "FStar.UInt32.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "26647c10c91d4ade4c4bb66c9f273b7f" - ], - [ - "FStar.UInt32.sub_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "82017cf0ee379eef0df017d1684469ce" - ], - [ - "FStar.UInt32.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "8cfe133e5ae28aa8ee29fee49b075ed4" - ], - [ - "FStar.UInt32.mul_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "0c028b0e951c729499be8ad185dbebc0" - ], - [ - "FStar.UInt32.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "34438208d5942f9a92ccc7fe1e88aec5" - ], - [ - "FStar.UInt32.mul_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "990c4e8b2e4edd676e7be867604f6355" - ], - [ - "FStar.UInt32.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" - ], - 0, - "1f82083b41805085afda408bc99d5ae6" - ], - [ - "FStar.UInt32.div", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt32.t", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_29430448fd5690e188c98b7dcb6e39ad", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "75ee96a864fd7e0f5224a9a923d26a93" - ], - [ - "FStar.UInt32.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299", - "typing_Prims.int" - ], - 0, - "5b176df24393883f72055ab031ccd2d6" - ], - [ - "FStar.UInt32.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_b02cf3d55abd63ea23bf833f942d6299" - ], - 0, - "21ffe65f189bec7661ba3f7469fae48a" - ], - [ - "FStar.UInt32.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "7eb3d3b0a5ba7112fb36fd5b97743377" - ], - [ - "FStar.UInt32.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "5692131fe3d71ee5884facfce8e08371" - ], - [ - "FStar.UInt32.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "9bf49c6d61de425c2671a40816f14383" - ], - [ - "FStar.UInt32.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "f0f323186942874d8a6d0f777534db37" - ], - [ - "FStar.UInt32.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt32.v", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_FStar.UInt32.Mk_v" - ], - 0, - "43005630b9f99ebd3272d0293aabe187" - ], - [ - "FStar.UInt32.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.v", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.UInt32.t", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "ce56340bbbb07ee4f65e4e75b8d7a680" - ], - [ - "FStar.UInt32.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.v", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "53f137df4314e3245b16e8bca0782a65" - ], - [ - "FStar.UInt32.shift_left", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.v", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.UInt32.t", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "9fc35f2f6d2d035ded1d952546af6f91" - ], - [ - "FStar.UInt32.shift_left", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.v", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "012ec2f7180eceed42f04975fb2df599" - ], - [ - "FStar.UInt32.minus", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "47175b5fd02414a0d7388515e076df84" - ], - [ - "FStar.UInt32.n_minus_one", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e4f2da30e30013ad50e8abad52a4d62d" - ], - [ - "FStar.UInt32.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_041e3a67a2d2b51fd702f1f88cfc3b44", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt32.add_mod", "equation_FStar.UInt32.minus", - "equation_FStar.UInt32.n_minus_one", "equation_FStar.UInt32.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.UInt32.t", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt32.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt32.Mk_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a1bbfa63ab5b2731512874b4d2054ec7", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.__proj__Mk__item__v", - "typing_FStar.UInt32.lognot", "typing_FStar.UInt32.minus", - "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "812adfc79e5ec5b6dbe2a1e66aa3d67d" - ], - [ - "FStar.UInt32.lemma_sub_msbs", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_Prims.bool" - ], - 0, - "c902a0443902bb689a9a22e039d255cc" - ], - [ - "FStar.UInt32.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_FStar.UInt32.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.nth", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.n_minus_one", "typing_FStar.UInt32.v", - "typing_Prims.bool" - ], - 0, - "875a52edb9456796a1411a979f6cba9f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt32.fsti.hints b/ulib/.hints/FStar.UInt32.fsti.hints deleted file mode 100644 index c091d89973b..00000000000 --- a/ulib/.hints/FStar.UInt32.fsti.hints +++ /dev/null @@ -1,335 +0,0 @@ -[ - "ÊçÞ+¥` \u001bŸgÉÏàûò\u0016", - [ - [ - "FStar.UInt32.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cd6e90959463fe38420f10c40475e30f" - ], - [ - "FStar.UInt32.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "95db010af6dbb104f3efe728c1adeae2" - ], - [ - "FStar.UInt32.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f94c1c5910615585a37f41e5bfa9d946" - ], - [ - "FStar.UInt32.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "672f30277b3531f42dbcb09c36897de9" - ], - [ - "FStar.UInt32.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0941c9ff95557f2d53bc8f8179ab793e" - ], - 0, - "0c8d9e48af9e8c41dfeafcabad6df184" - ], - [ - "FStar.UInt32.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_0941c9ff95557f2d53bc8f8179ab793e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e6ac19606cb4e363ae323467e1221843" - ], - [ - "FStar.UInt32.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6cf51e2755f8593076b4ab512bc682ef" - ], - [ - "FStar.UInt32.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "e215db6d32e8c4241de73d79490fb4dc" - ], - [ - "FStar.UInt32.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "26f036a76317a690bac123eb48bc3d2a" - ], - [ - "FStar.UInt32.minus", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "cfe9e0a48023c5c99347d6aa85eba6ca" - ], - [ - "FStar.UInt32.n_minus_one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "a71e9a8dc5b3e5d7b2276b2007850885" - ], - [ - "FStar.UInt32.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt32.minus", - "equation_FStar.UInt32.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d5743ca0a8d5f3ceec748bdcb132b14f", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_edc8fb7e909853d860d4ab445ef31337", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.add_mod", "typing_FStar.UInt32.lognot", - "typing_FStar.UInt32.minus", "typing_FStar.UInt32.n_minus_one", - "typing_FStar.UInt32.v", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "71f74a838fdd272805f6c1f080cc865e" - ], - [ - "FStar.UInt32.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.n_minus_one", - "typing_FStar.UInt32.v", "typing_Prims.bool" - ], - 0, - "4e30b19b7f4c69692a2f9296edede1bd" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt64.fst.hints b/ulib/.hints/FStar.UInt64.fst.hints deleted file mode 100644 index 63dd230a61a..00000000000 --- a/ulib/.hints/FStar.UInt64.fst.hints +++ /dev/null @@ -1,756 +0,0 @@ -[ - "‰sØ\u0012¸ÕÔ˜Ibä}É\u0004xã", - [ - [ - "FStar.UInt64.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "bb16eab080b9a8ca86986eaf6a2dd4a0" - ], - [ - "FStar.UInt64.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "53fe5c21eb83cfe47239d18c92d5cc6b" - ], - [ - "FStar.UInt64.uint_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "842c850f23a451501d903543189a222f" - ], - [ - "FStar.UInt64.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.v", - "fuel_guarded_inversion_FStar.UInt64.t", - "proj_equation_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", - "typing_FStar.UInt64.uint_to_t", "typing_FStar.UInt64.v" - ], - 0, - "a690fd23f5b931c327dd11f9243dc0bc" - ], - [ - "FStar.UInt64.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_689af9466f50f143e51c7e8270f2cee2", - "typing_FStar.UInt64.uint_to_t" - ], - 0, - "6063663aaa3b6020b58ce245099ea478" - ], - [ - "FStar.UInt64.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.UInt64.uv_inv" ], - 0, - "4a129b216855479ef2242cd90c70a7c5" - ], - [ - "FStar.UInt64.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "3501051dacffb9e19e2b41ea098acf44" - ], - [ - "FStar.UInt64.one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f95f03c0617412218357c395045b483f" - ], - [ - "FStar.UInt64.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.add", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "73e50dc765deb3089fd68192fb1d95e6" - ], - [ - "FStar.UInt64.add_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "ad40be4cb2918807dd79c33b6f04fe34" - ], - [ - "FStar.UInt64.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "13ec452e63e75a6d9cb01ec63030aec1" - ], - [ - "FStar.UInt64.add_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "2f80d7de3618e01cbd7c58cdb570ac5a" - ], - [ - "FStar.UInt64.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "6538c949f8adef791cde40a9a35a1a4e" - ], - [ - "FStar.UInt64.sub_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "6c66aee68a337b5e8cfe07e3a8a0b946" - ], - [ - "FStar.UInt64.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e39a2124c952c6cb45219c4df0e5ae7d" - ], - [ - "FStar.UInt64.sub_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "d7f9ad98efe9a1376ae95a03e12c513a" - ], - [ - "FStar.UInt64.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "02ffd1cc618d7886855f3eac0bafffc0" - ], - [ - "FStar.UInt64.mul_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "b640868c393f538043a79b37210953df" - ], - [ - "FStar.UInt64.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "361ae8b186cb3c24cd09e23bf9c531ca" - ], - [ - "FStar.UInt64.mul_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "eaa3f82e206c575dcbdfccff69aa67b4" - ], - [ - "FStar.UInt64.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" - ], - 0, - "70e2fa6d29c9b90e5bbeae7962b3bda9" - ], - [ - "FStar.UInt64.div", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt64.t", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_433b266239274204f1ad9f828bc97bc2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt64.v" - ], - 0, - "61d6c47c4947c90bb7b342125cbeac82" - ], - [ - "FStar.UInt64.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f", - "typing_Prims.int" - ], - 0, - "c332486a57123a2f57bc23d09b2c8c50" - ], - [ - "FStar.UInt64.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_79d30f0bd2097427fe8d96697e20df0f" - ], - 0, - "84d87e60407864868f18f23d7e8d1f46" - ], - [ - "FStar.UInt64.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "57acf6f4190f3aef2859d8ae565b8449" - ], - [ - "FStar.UInt64.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "fee80850b382c0ea2744bde0afdd1bb8" - ], - [ - "FStar.UInt64.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "124bfe92c71a3d9a5c83d30ab1188560" - ], - [ - "FStar.UInt64.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "ad9b412bea55b85fd1172d5e5059fc4b" - ], - [ - "FStar.UInt64.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt64.v", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_FStar.UInt64.Mk_v" - ], - 0, - "4cdff217fa107c6f27fec7e52cb48b5d" - ], - [ - "FStar.UInt64.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "720c22d8aea7ba9b88696c55992b39e2" - ], - [ - "FStar.UInt64.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "345c159234724ab52257d56d9d2017cf" - ], - [ - "FStar.UInt64.shift_left", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "f579c8b799b26a22e0d125a3835dcfd5" - ], - [ - "FStar.UInt64.shift_left", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "02dea8bce22eae1d5963f193270ae83e" - ], - [ - "FStar.UInt64.minus", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "token_correspondence_Prims.pow2.fuel_instrumented" - ], - 0, - "eb81bd7f46045150ed3970767a854215" - ], - [ - "FStar.UInt64.n_minus_one", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "6ac87a1b0192d23fecfe7b10ea5834a0" - ], - [ - "FStar.UInt64.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_c8c563e063e4f547ecc8aacae59a7475", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt64.add_mod", - "equation_FStar.UInt64.minus", "equation_FStar.UInt64.n_minus_one", - "equation_FStar.UInt64.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.UInt64.t", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt64.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.UInt64.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt64.Mk_v", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_97db105b62009a1e332be0ecdebf5887", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.lognot", - "typing_FStar.UInt64.minus", "typing_FStar.UInt64.n_minus_one", - "typing_FStar.UInt64.v", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "ec520ebf78d720d0018666189fe115c9" - ], - [ - "FStar.UInt64.lemma_sub_msbs", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt64.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt64.v", "typing_Prims.bool", "typing_Prims.pow2" - ], - 0, - "74cb1d2cba9e986e326e7643d7c35510" - ], - [ - "FStar.UInt64.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n_minus_one", - "equation_FStar.UInt64.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v", - "typing_Prims.bool" - ], - 0, - "6d7f3e56ed724c35ac28102b687218ba" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt64.fsti.hints b/ulib/.hints/FStar.UInt64.fsti.hints deleted file mode 100644 index 8174da51e21..00000000000 --- a/ulib/.hints/FStar.UInt64.fsti.hints +++ /dev/null @@ -1,358 +0,0 @@ -[ - "\u001c•J$û¹Ç\u000böJÒX\u0003Y:H", - [ - [ - "FStar.UInt64.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "729802df9cd3fd86011f33d95994c6cf" - ], - [ - "FStar.UInt64.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "83ced8cb42f51655352e0a004e9c044b" - ], - [ - "FStar.UInt64.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "76b7ad835a2d220d880eb44e94d10c09" - ], - [ - "FStar.UInt64.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "435c743a9e913c1cb9af04485e5747df" - ], - [ - "FStar.UInt64.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_94d25b6e0041d543efd58300424ecc37" - ], - 0, - "46305110e1f30fdef97a8cdbd1b3dc42" - ], - [ - "FStar.UInt64.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_94d25b6e0041d543efd58300424ecc37", - "typing_Prims.int" - ], - 0, - "fee388069239e0476fdfa9876b5e6563" - ], - [ - "FStar.UInt64.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "730bb99ab88bdfc7d693bb8e6ca7fe56" - ], - [ - "FStar.UInt64.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "b814da2adca6a36e881238ee467c1533" - ], - [ - "FStar.UInt64.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "4085ea256378548f4c78732748a56040" - ], - [ - "FStar.UInt64.minus", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "4adb01ff35b6686366ed4850f5fb2e32" - ], - [ - "FStar.UInt64.n_minus_one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0cfb1271a8ce6fd64ed8b1decebf9591" - ], - [ - "FStar.UInt64.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt64_pretyping_0a6d0526dc068d94bc7967094b2dd513", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.BitVector.zero_vec", "equation_FStar.UInt.add_mod", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lognot", - "equation_FStar.UInt.logor", "equation_FStar.UInt.logxor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt64.minus", - "equation_FStar.UInt64.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.BitVector.logor_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt64.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2d98f2f5de361516da3dbd9f556509e2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d294ad5c8783c9adf54e87f8b3d910d1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.BitVector.zero_vec", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.add_mod", - "typing_FStar.UInt64.lognot", "typing_FStar.UInt64.minus", - "typing_FStar.UInt64.n_minus_one", "typing_FStar.UInt64.v", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "9894a571f7cd1e31364598ea744875de" - ], - [ - "FStar.UInt64.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt64.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.fits", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt64.n_minus_one", - "typing_FStar.UInt64.v", "typing_Prims.bool" - ], - 0, - "cce5763b16515e9923b7a2a2cf971ce2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt8.fst.hints b/ulib/.hints/FStar.UInt8.fst.hints deleted file mode 100644 index 1081970ec30..00000000000 --- a/ulib/.hints/FStar.UInt8.fst.hints +++ /dev/null @@ -1,748 +0,0 @@ -[ - "Û1¼Äu\u001añ\u001b°Û‹…–8‰^", - [ - [ - "FStar.UInt8.t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ef7bb63461a12d9945ec0822d1db6208" - ], - [ - "FStar.UInt8.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "10040aeb285902ab5972558e01c5762d" - ], - [ - "FStar.UInt8.uint_to_t", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "c21eb12b109367d3145c0273c57390d6" - ], - [ - "FStar.UInt8.uv_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt8.v", - "fuel_guarded_inversion_FStar.UInt8.t", - "proj_equation_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", - "typing_FStar.UInt8.uint_to_t", "typing_FStar.UInt8.v" - ], - 0, - "bdddba40e59c03b8af43101b399556fc" - ], - [ - "FStar.UInt8.vu_inv", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_80b9fa1848cd4b08f626f8a84eef7f15", - "typing_FStar.UInt8.uint_to_t" - ], - 0, - "7c569525c76d31c413d1809a5d4dde96" - ], - [ - "FStar.UInt8.v_inj", - 1, - 0, - 0, - [ "@query", "lemma_FStar.UInt8.uv_inv" ], - 0, - "96cd80005380f3957cbeef5178094ecf" - ], - [ - "FStar.UInt8.zero", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "equation_Prims.pos", "int_typing", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_Prims.pow2" - ], - 0, - "f3fb54e645c94b6e40465e70e125b5e5" - ], - [ - "FStar.UInt8.one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "c9ffedcfd5a668e3f9a63bb797a82a78" - ], - [ - "FStar.UInt8.add", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.add", "equation_FStar.UInt8.v", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "7acaf60cfcc536fdbe643efb9659904d" - ], - [ - "FStar.UInt8.add_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "cf7fc849241bab94b17f64d858304fbe" - ], - [ - "FStar.UInt8.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ce2c7f6bb958d44ac39126910f146eba" - ], - [ - "FStar.UInt8.add_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "a52c997ca96baab4eaddb855e9dd1d60" - ], - [ - "FStar.UInt8.sub", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.sub", "equation_FStar.UInt8.v", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "9fa5e014eeb584ec4e8dcfac67c0374a" - ], - [ - "FStar.UInt8.sub_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "7e1dea6d782cd567f3c56645a4641510" - ], - [ - "FStar.UInt8.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f1789e52a4e1ed7fc59af29b45f036c8" - ], - [ - "FStar.UInt8.sub_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "1c9e4ce265676370a5bcbad9b2d0ad54" - ], - [ - "FStar.UInt8.mul", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt.mul", "equation_FStar.UInt8.v", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "ea38d1e7a271bb49b548201b5be30552" - ], - [ - "FStar.UInt8.mul_underspec", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "8023b7419f21e7da67f3da13ac6f6ba3" - ], - [ - "FStar.UInt8.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5b44af3a00bec498eb8cde13bec9963e" - ], - [ - "FStar.UInt8.mul_mod", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "67cff989ec0dc7efcc9529358786a2a5" - ], - [ - "FStar.UInt8.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" - ], - 0, - "2067063e39930c3b85439ba64d0a7676" - ], - [ - "FStar.UInt8.div", - 2, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.v", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.UInt8.t", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d58c40d4efada00f7d5c364805478e7", - "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt8.v" - ], - 0, - "04162d0a751716cb7669c6fb39146475" - ], - [ - "FStar.UInt8.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747", - "typing_Prims.int" - ], - 0, - "c63cf2f7fec8a65781e25813636a9a05" - ], - [ - "FStar.UInt8.rem", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt8.v", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_de9e56261c4c3e3a03968ac6adac1747" - ], - 0, - "9cb9b201acbca29e1dbd340914fbf20d" - ], - [ - "FStar.UInt8.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a3078cc1738a8bb73f0bbdedbe037072" - ], - [ - "FStar.UInt8.logand", - 2, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "a592745ee408750956bee308c91fd70f" - ], - [ - "FStar.UInt8.logxor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "c917b2f3d660f410bb1b231073997130" - ], - [ - "FStar.UInt8.logor", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "76490a64e4d1031e84fd7081d044c25e" - ], - [ - "FStar.UInt8.lognot", - 1, - 0, - 0, - [ - "@query", "equation_FStar.UInt8.v", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_FStar.UInt8.Mk_v" - ], - 0, - "2f30938350b20b0b78a6a81eb4a8e945" - ], - [ - "FStar.UInt8.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "ba4fc76ad9ff8a1c14524983a38f9d82" - ], - [ - "FStar.UInt8.shift_right", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "48b651dbe89dca8043d5f850d1ff9b73" - ], - [ - "FStar.UInt8.shift_left", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "45a2546a6aa307efb832cc8d6113c64b" - ], - [ - "FStar.UInt8.shift_left", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.v", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "9509107968f5a4086b58e690bf5d8c52" - ], - [ - "FStar.UInt8.minus", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d8d4d5a75a405feb4d33a13ceff17ada" - ], - [ - "FStar.UInt8.n_minus_one", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "470b3496ed28f2e53ed0b2d1563f2f33" - ], - [ - "FStar.UInt8.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_f7639caba3299bd00d496f54e3519c93", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.minus", - "equation_FStar.UInt.msb", "equation_FStar.UInt.nth", - "equation_FStar.UInt.ones", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt.zero", - "equation_FStar.UInt8.add_mod", "equation_FStar.UInt8.minus", - "equation_FStar.UInt8.n_minus_one", "equation_FStar.UInt8.v", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.UInt8.t", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt8.uv_inv", - "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", "proj_equation_FStar.UInt8.Mk_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.UInt8.Mk_v", - "refinement_interpretation_Tm_refine_2eb9e74c99165870eb01e3cebb8052d2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.__proj__Mk__item__v", - "typing_FStar.UInt8.lognot", "typing_FStar.UInt8.minus", - "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v", - "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "fd5a3867a7f4d57be0c24232e8dfde93" - ], - [ - "FStar.UInt8.lemma_sub_msbs", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "equation_FStar.BitVector.bv_t", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt8.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_num_lemma", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt.fits", "typing_FStar.UInt.from_vec", - "typing_FStar.UInt.msb", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt8.v", "typing_Prims.bool" - ], - 0, - "42ce10eb1d54ad87f1b8812f9fd0b92a" - ], - [ - "FStar.UInt8.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.n_minus_one", - "equation_FStar.UInt8.v", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v", - "typing_Prims.bool" - ], - 0, - "3fe9b583104f9153a4e242e361bbe39a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.UInt8.fsti.hints b/ulib/.hints/FStar.UInt8.fsti.hints deleted file mode 100644 index 13bc3938adf..00000000000 --- a/ulib/.hints/FStar.UInt8.fsti.hints +++ /dev/null @@ -1,342 +0,0 @@ -[ - "0ýç½?½«D‡9×»Lˆ“á", - [ - [ - "FStar.UInt8.uint_to_t", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1423a513e8bed3188152baa13ea68f6d" - ], - [ - "FStar.UInt8.add_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "052fb741ce47f5337c25bdffa6c99b55" - ], - [ - "FStar.UInt8.sub_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8d92e8f6ead0b4b0b8bb1070bb1d8849" - ], - [ - "FStar.UInt8.mul_mod", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0211d3d81c6f04885adfcce3bc9a2fce" - ], - [ - "FStar.UInt8.div", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a8cb57fcf32c2764d2e39fc97ecb3aa0" - ], - 0, - "acd3ccfb6cdff290a20f1599b1ac7a72" - ], - [ - "FStar.UInt8.rem", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a8cb57fcf32c2764d2e39fc97ecb3aa0", - "typing_Prims.int" - ], - 0, - "734db54aba42c1e6849a0e9be6311375" - ], - [ - "FStar.UInt8.logand", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1727e836d96fcc83426c5ef0dc6b8dfd" - ], - [ - "FStar.UInt8.shift_right", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "b00fe7ad4d6f58be37cf397c40cbb161" - ], - [ - "FStar.UInt8.shift_left", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_Prims.int" - ], - 0, - "2a64a92e7fe481154621384ccf9f4f36" - ], - [ - "FStar.UInt8.minus", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "55ba719ff875cc82c4481256cee41704" - ], - [ - "FStar.UInt8.n_minus_one", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.nat", "int_typing", "lemma_FStar.UInt.pow2_values", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b435d6555808202a44eabc32e131be39" - ], - [ - "FStar.UInt8.eq_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.lognot_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt8_pretyping_512f0e4172b97206a8b0e16196475713", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.add_mod", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lognot", "equation_FStar.UInt.logor", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.minus", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.ones", - "equation_FStar.UInt.shift_right", "equation_FStar.UInt.size", - "equation_FStar.UInt.sub_mod", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt.zero", "equation_FStar.UInt8.minus", - "equation_FStar.UInt8.n_minus_one", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "int_typing", "lemma_FStar.BitVector.lognot_vec_definition", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.UInt8.uv_inv", - "lemma_FStar.UInt8.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_455031e9fe191e56270c683d0e98b61b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c5c06f774ce917320ace84c78a678f3a", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.lognot_vec", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.to_vec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.add_mod", - "typing_FStar.UInt8.lognot", "typing_FStar.UInt8.minus", - "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.uint_to_t", - "typing_FStar.UInt8.v", "typing_Prims.bool", "typing_Prims.int" - ], - 0, - "6aef9fb6a3ac7fd4902103f260bb5eeb" - ], - [ - "FStar.UInt8.gte_mask", - 1, - 1, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.BitVector.logxor_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.from_vec.fuel_instrumented", - "@fuel_irrelevance_FStar.UInt.to_vec.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f537159ed795b314b4e58c260361ae86", "b2t_def", - "bool_inversion", "bool_typing", "equation_FStar.BitVector.bv_t", - "equation_FStar.BitVector.shift_right_vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.logor", - "equation_FStar.UInt.logxor", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.msb", - "equation_FStar.UInt.nth", "equation_FStar.UInt.shift_right", - "equation_FStar.UInt.size", "equation_FStar.UInt.sub_mod", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt8.n_minus_one", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.UInt.from_vec.fuel_instrumented", - "equation_with_fuel_FStar.UInt.to_vec.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.BitVector.logor_vec_definition", - "lemma_FStar.BitVector.logxor_vec_definition", - "lemma_FStar.BitVector.shift_right_vec_lemma_2", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.inverse_vec_lemma", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt.shift_right_value_lemma", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c0ec47abc53a2509e744dad22ccf8191", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e2d5d62a90ceed8a6faf9d20615f4e1e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.UInt.from_vec.fuel_instrumented", - "token_correspondence_FStar.UInt.to_vec.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.BitVector.logor_vec", - "typing_FStar.BitVector.logxor_vec", - "typing_FStar.BitVector.shift_right_vec", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt.msb", - "typing_FStar.UInt.to_vec", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.n_minus_one", "typing_FStar.UInt8.v", - "typing_Prims.bool" - ], - 0, - "14290d713f3ba03b292f4ad35e658edb" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Udp.fsti.hints b/ulib/.hints/FStar.Udp.fsti.hints deleted file mode 100644 index d22530829d6..00000000000 --- a/ulib/.hints/FStar.Udp.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "üߊS¼|Ÿå†2GOi©)\r", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Universe.PCM.fst.hints b/ulib/.hints/FStar.Universe.PCM.fst.hints deleted file mode 100644 index 39060fa5420..00000000000 --- a/ulib/.hints/FStar.Universe.PCM.fst.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "ÎsPܼvçά/RåÃ\u0001¯¬", - [ - [ - "FStar.Universe.PCM.raise", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", - "FStar.PCM_interpretation_Tm_arrow_677363292cfea4bd15c69c7af2b6e247", - "FStar.PCM_interpretation_Tm_arrow_a5d1b85faa28fa57a5226fa5a3dee728", - "data_elim_FStar.PCM.Mkpcm", "data_elim_FStar.PCM.Mkpcm_", - "equation_FStar.PCM.symrel", "fuel_guarded_inversion_FStar.PCM.pcm", - "fuel_guarded_inversion_FStar.PCM.pcm_", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__op", - "interpretation_Tm_abs_4244f4746f726a1cf4642fa1ca0091d0", - "interpretation_Tm_abs_9a2485f93423a8d9694a45d6eb581c64", - "lemma_FStar.Universe.downgrade_val_raise_val", - "lemma_FStar.Universe.raise_val_downgrade_val", - "proj_equation_FStar.PCM.Mkpcm__composable", - "proj_equation_FStar.PCM.Mkpcm__one", - "proj_equation_FStar.PCM.Mkpcm__op", - "proj_equation_FStar.PCM.Mkpcm_p", - "projection_inverse_FStar.PCM.Mkpcm__composable", - "projection_inverse_FStar.PCM.Mkpcm__one", - "projection_inverse_FStar.PCM.Mkpcm__op", - "refinement_interpretation_Tm_refine_207ac0f66409a34dfcdacbe7a3ca2c45", - "refinement_interpretation_Tm_refine_3dea79f9b9fa48615ba98b67ccdf33b0", - "refinement_interpretation_Tm_refine_4f0f14f5877ab96a5fff68b649a5ebf5", - "refinement_interpretation_Tm_refine_d1d20a2959ff22ff2673962c5a10a5a7", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_e46526a995ec86069ab3699ffa611149", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", - "typing_FStar.PCM.__proj__Mkpcm___item__one", - "typing_FStar.PCM.__proj__Mkpcm__item__p", - "typing_FStar.Universe.downgrade_val" - ], - 0, - "dc64f7368e61ee645a8c149be880f622" - ], - [ - "FStar.Universe.PCM.raise_frame_preserving_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.PCM_interpretation_Tm_arrow_4418db7552582748ab4bfa39672e55e0", - "FStar.PCM_interpretation_Tm_arrow_677363292cfea4bd15c69c7af2b6e247", - "FStar.PCM_interpretation_Tm_arrow_a5d1b85faa28fa57a5226fa5a3dee728", - "equation_FStar.PCM.compatible", "equation_FStar.PCM.composable", - "equation_FStar.PCM.op", "equation_FStar.PCM.symrel", - "equation_FStar.Universe.PCM.raise", - "fuel_guarded_inversion_FStar.PCM.pcm", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__composable", - "function_token_typing_FStar.PCM.__proj__Mkpcm___item__op", - "interpretation_Tm_abs_4244f4746f726a1cf4642fa1ca0091d0", - "interpretation_Tm_abs_9a2485f93423a8d9694a45d6eb581c64", - "interpretation_Tm_abs_de6d60dda27b425a2b36269db99c7945", - "lemma_FStar.Universe.downgrade_val_raise_val", - "lemma_FStar.Universe.raise_val_downgrade_val", - "proj_equation_FStar.PCM.Mkpcm__composable", - "proj_equation_FStar.PCM.Mkpcm__op", - "proj_equation_FStar.PCM.Mkpcm_p", - "proj_equation_FStar.PCM.Mkpcm_refine", - "projection_inverse_FStar.PCM.Mkpcm__composable", - "projection_inverse_FStar.PCM.Mkpcm__op", - "projection_inverse_FStar.PCM.Mkpcm_p", - "projection_inverse_FStar.PCM.Mkpcm_refine", - "refinement_interpretation_Tm_refine_03f287400ebcc34b77ea0057374b35a5", - "refinement_interpretation_Tm_refine_b3bfe1a7f7be586712cd5b3aeaf5ae89", - "refinement_interpretation_Tm_refine_b5af5f3d4014e83ebc55d8c04c78c562", - "refinement_interpretation_Tm_refine_ce38f492787371f877c4f0015affb000", - "refinement_interpretation_Tm_refine_d231fcdc87ac931cd2eb3a8a90951676", - "refinement_interpretation_Tm_refine_e46526a995ec86069ab3699ffa611149", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__composable", - "token_correspondence_FStar.PCM.__proj__Mkpcm___item__op", - "token_correspondence_FStar.PCM.__proj__Mkpcm__item__refine", - "typing_FStar.PCM.__proj__Mkpcm__item__p", "typing_FStar.PCM.op", - "typing_FStar.Universe.PCM.raise", - "typing_FStar.Universe.downgrade_val", - "typing_FStar.Universe.raise_t", "typing_FStar.Universe.raise_val" - ], - 0, - "51b96aaf4d3889218b79615778114882" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Universe.fst.hints b/ulib/.hints/FStar.Universe.fst.hints deleted file mode 100644 index 08367ebc412..00000000000 --- a/ulib/.hints/FStar.Universe.fst.hints +++ /dev/null @@ -1,33 +0,0 @@ -[ - "\u0002\u0000\u0019p\t\u0003\u007fÈùTÝ[F9)n", - [ - [ - "FStar.Universe.downgrade_val_raise_val", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Universe.downgrade_val", - "equation_FStar.Universe.raise_val", - "projection_inverse_FStar.Universe.Ret__0" - ], - 0, - "6699b82d292b4ad57991c8f8b889132d" - ], - [ - "FStar.Universe.raise_val_downgrade_val", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Universe.downgrade_val", - "equation_FStar.Universe.raise_t", - "equation_FStar.Universe.raise_val", - "fuel_guarded_inversion_FStar.Universe.raise0" - ], - 0, - "24b1f6d580e590efc46bfbed63a58fe8" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Universe.fsti.hints b/ulib/.hints/FStar.Universe.fsti.hints deleted file mode 100644 index a29499c4f41..00000000000 --- a/ulib/.hints/FStar.Universe.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¡†Â6nô\u0010·7D¸O¹d\u0017*", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.Util.fst.hints b/ulib/.hints/FStar.Util.fst.hints deleted file mode 100644 index 69afb585b53..00000000000 --- a/ulib/.hints/FStar.Util.fst.hints +++ /dev/null @@ -1,50 +0,0 @@ -[ - "´‰óª+þx&Fª'_¬ó¨²", - [ - [ - "FStar.Util.op_At_Plus_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.pos", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3a36d3db24ff37d887b195109bead49f" - ], - [ - "FStar.Util.op_Plus_Plus_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "543de9e091e3e8a0b6b3c0222b250da0" - ], - [ - "FStar.Util.op_Plus_Plus_At", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9a2d1955901f9013e83e7f30dce665b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Vector.Base.fst.hints b/ulib/.hints/FStar.Vector.Base.fst.hints deleted file mode 100644 index ea6efe14475..00000000000 --- a/ulib/.hints/FStar.Vector.Base.fst.hints +++ /dev/null @@ -1,596 +0,0 @@ -[ - "\u0014a­ \u0007äŠMc\u001cGk1ð€š", - [ - [ - "FStar.Vector.Base.raw", - 1, - 2, - 1, - [ "@query" ], - 0, - "f2f631d799d9d540a1d9a9f94479b668" - ], - [ - "FStar.Vector.Base.raw_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.raw", - "equation_Prims.nat", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "typing_FStar.Seq.Base.length" - ], - 0, - "7aad9d7d1e8915e385d33f8f6400d838" - ], - [ - "FStar.Vector.Base.reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "2ef5fa11ebe29e25078557d5aa3a60a7" - ], - [ - "FStar.Vector.Base.reveal", - 2, - 2, - 1, - [ "@query", "equation_FStar.Vector.Base.raw_length" ], - 0, - "65a226706a09548214f0b74eb5a52639" - ], - [ - "FStar.Vector.Base.hide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" - ], - 0, - "140ff52529f7b648dd449605ccc2b415" - ], - [ - "FStar.Vector.Base.hide", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length" - ], - 0, - "5d6277e190d3e15fc337776874f01f7e" - ], - [ - "FStar.Vector.Base.hide_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.raw_length", - "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "5b48c1f6e8116f44736ae8cb5f6dc227" - ], - [ - "FStar.Vector.Base.hide_reveal", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.hide", - "equation_FStar.Vector.Base.reveal" - ], - 0, - "ba098dc4f425b1a4b7d93928486c84b8" - ], - [ - "FStar.Vector.Base.reveal_hide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "e894f4d6251ea6980efb92fac2dd138b" - ], - [ - "FStar.Vector.Base.reveal_hide", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.hide", - "equation_FStar.Vector.Base.reveal" - ], - 0, - "e4143e235913da85f0ae2c636b7c47e0" - ], - [ - "FStar.Vector.Base.extensionality", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.equal", - "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.reveal", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1" - ], - 0, - "7a8df24aa7803193d480661005ef6ff7" - ], - [ - "FStar.Vector.Base.init", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Vector.Base_interpretation_Tm_arrow_e5a3d7375c9aa2fff48080f123d96dc1", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "lemma_FStar.Seq.Base.lemma_init_len", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "f5d3a8e091c7f2d0467777dbbb5c93e9" - ], - [ - "FStar.Vector.Base.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.raw", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" - ], - 0, - "0bf2498f00b42aae3e799e8ab001fcc1" - ], - [ - "FStar.Vector.Base.update", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78", - "typing_FStar.UInt32.v" - ], - 0, - "f1632ecf7d75499a8b8897701ea2c1fd" - ], - [ - "FStar.Vector.Base.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" - ], - 0, - "4865d0a4696954b3e38a6d56f2f62245" - ], - [ - "FStar.Vector.Base.append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw", - "lemma_FStar.Seq.Base.lemma_len_append", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", - "typing_FStar.UInt32.add" - ], - 0, - "5765f7816bc4bc8b2282b6d999aeaf79" - ], - [ - "FStar.Vector.Base.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "ce5fd92ab5a14b7849558b01fc5d9e3e" - ], - [ - "FStar.Vector.Base.sub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_81ce43bb27006d04d5a7a274b857552a", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v" - ], - 0, - "81c5d12477969c4a1cb2dff07373c946" - ], - [ - "FStar.Vector.Base.reveal_init", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "52d7dcb4937549342fcdcda2281351b3" - ], - [ - "FStar.Vector.Base.reveal_init", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.init", - "equation_FStar.Vector.Base.reveal" - ], - 0, - "d1b6b8fc10625c1f7402bbcc1464e7e4" - ], - [ - "FStar.Vector.Base.reveal_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" - ], - 0, - "b86a8168a19046732ca62b84e7b38c52" - ], - [ - "FStar.Vector.Base.reveal_index", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.index", - "equation_FStar.Vector.Base.reveal" - ], - 0, - "0b7ecb04ef068aa9bd8536c1157cb524" - ], - [ - "FStar.Vector.Base.reveal_update", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.reveal", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78" - ], - 0, - "ce8dc4fd069704c077c0d10f7fad7b9b" - ], - [ - "FStar.Vector.Base.reveal_update", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.reveal", - "equation_FStar.Vector.Base.update" - ], - 0, - "6cf4a402e0d1c6d66d1f9bee3e2c129d" - ], - [ - "FStar.Vector.Base.reveal_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" - ], - 0, - "c66cc1675efb2d9fec17367fe5804e2c" - ], - [ - "FStar.Vector.Base.reveal_append", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.append", - "equation_FStar.Vector.Base.reveal" - ], - 0, - "e189dab3a1f089930253ba24cfddb334" - ], - [ - "FStar.Vector.Base.reveal_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.reveal", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "32fc688e5901e61ec392605349984c75" - ], - [ - "FStar.Vector.Base.reveal_sub", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.reveal", - "equation_FStar.Vector.Base.sub" - ], - 0, - "92bca43d1d89ffb096c3339386667282" - ], - [ - "FStar.Vector.Base.t_has_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Vector.Base_interpretation_Tm_arrow_0a167298d35cb294f6701771926f96b5", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "assumption_Prims.dtuple2__uu___haseq", - "equation_FStar.Vector.Base.len_t", "equation_FStar.Vector.Base.raw", - "equation_FStar.Vector.Base.t", "equation_Prims.eqtype", - "haseqTm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "interpretation_Tm_abs_145348957eab7e2ba681dbbb97dce28c", - "lemma_FStar.Seq.Base.hasEq_lemma", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt32.t", - "typing_Tm_abs_145348957eab7e2ba681dbbb97dce28c" - ], - 0, - "de118b814891c8db6591a5208e0b3486" - ], - [ - "FStar.Vector.Base.length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4ca15d4c1e850e43be84d24a5f148bf4" - ], - [ - "FStar.Vector.Base.as_raw", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.len", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "53ab333df0ece1371a79cb2ea4fa56b6" - ], - [ - "FStar.Vector.Base.from_raw", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.len", - "projection_inverse_Prims.Mkdtuple2__1" - ], - 0, - "8e3c1447b67368cd5ed92303cc06f2c1" - ], - [ - "FStar.Vector.Base.as_raw_from_raw", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Vector.Base.as_raw", - "equation_FStar.Vector.Base.from_raw", - "equation_FStar.Vector.Base.len_t", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "10974d1c858293a1e5df761d4fd71cd1" - ], - [ - "FStar.Vector.Base.from_raw_as_raw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Vector.Base.as_raw", - "equation_FStar.Vector.Base.from_raw", - "equation_FStar.Vector.Base.len", "equation_FStar.Vector.Base.t", - "fuel_guarded_inversion_Prims.dtuple2" - ], - 0, - "9ad43e615be2936616c0e551afb72cc0" - ], - [ - "FStar.Vector.Base.op_At_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Vector.Base.length", - "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" - ], - 0, - "4bc55b4586ac3930d1b986fcdfa2c468" - ], - [ - "FStar.Vector.Base.slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.length", "equation_FStar.Vector.Base.t", - "fuel_guarded_inversion_Prims.dtuple2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_61040b54dfc96ba4fbe10000abc3eded", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.len" - ], - 0, - "892162e0be0093f6fda1cb31f19a0829" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Vector.Base.fsti.hints b/ulib/.hints/FStar.Vector.Base.fsti.hints deleted file mode 100644 index 45624b5490e..00000000000 --- a/ulib/.hints/FStar.Vector.Base.fsti.hints +++ /dev/null @@ -1,283 +0,0 @@ -[ - "±Ö\u0004\u000eñólQjÕ»O\u0002‰‘Œ", - [ - [ - "FStar.Vector.Base.raw_length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ad1e7e54f3bbee9a62c03988cdb54d83" - ], - [ - "FStar.Vector.Base.reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "67273d7d925b199b954af1948646032c" - ], - [ - "FStar.Vector.Base.hide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c" - ], - 0, - "ea6435f1147e0f8587c5d3461ef91d32" - ], - [ - "FStar.Vector.Base.hide_reveal", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" - ], - 0, - "7a6ec14aa6e841b75e9cc4d3dfaa48bc" - ], - [ - "FStar.Vector.Base.reveal_hide", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f26e0f319127d2eaaacb2de398dad6c", - "typing_FStar.Seq.Base.length", "typing_Prims.int" - ], - 0, - "e894f4d6251ea6980efb92fac2dd138b" - ], - [ - "FStar.Vector.Base.append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" - ], - 0, - "ada6ecafcd8d0b7f8a402fcc912d86d0" - ], - [ - "FStar.Vector.Base.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "dbe73d3288fc4294eecb39c106caae8e" - ], - [ - "FStar.Vector.Base.reveal_init", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "89799caa8e8b67e96b89ed91ec290536" - ], - [ - "FStar.Vector.Base.reveal_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.raw_length", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78", - "typing_FStar.Vector.Base.reveal" - ], - 0, - "2f84887e0cb0df11a0ca46a842c97717" - ], - [ - "FStar.Vector.Base.reveal_update", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.raw_length", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78", - "typing_FStar.Vector.Base.reveal" - ], - 0, - "b9dd0e579b220e366532bc661292d773" - ], - [ - "FStar.Vector.Base.reveal_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3" - ], - 0, - "c66cc1675efb2d9fec17367fe5804e2c" - ], - [ - "FStar.Vector.Base.reveal_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.reveal" - ], - 0, - "66331f72006b0000d3d0fe7597b3feea" - ], - [ - "FStar.Vector.Base.length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "ccbc13b71373f2d0cd0b79544176c6fd" - ], - [ - "FStar.Vector.Base.as_raw_from_raw", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_00b43fb6eaa3a4d327495796bd5478d6", - "typing_FStar.Vector.Base.from_raw" - ], - 0, - "b74b720403e2cdadfd1661a67d090216" - ], - [ - "FStar.Vector.Base.op_At_At", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Vector.Base.length", - "refinement_interpretation_Tm_refine_4df43e2281e2a2485a619d964c2b3790" - ], - 0, - "ac50c21597d264a02a4a462277c59ff0" - ], - [ - "FStar.Vector.Base.slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.length", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_61040b54dfc96ba4fbe10000abc3eded", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "892162e0be0093f6fda1cb31f19a0829" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Vector.Properties.fst.hints b/ulib/.hints/FStar.Vector.Properties.fst.hints deleted file mode 100644 index 7bd7db574f4..00000000000 --- a/ulib/.hints/FStar.Vector.Properties.fst.hints +++ /dev/null @@ -1,158 +0,0 @@ -[ - "xñU\\ÏHieMÉI%T/Þ", - [ - [ - "FStar.Vector.Properties.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0251261d5a9adbe2aa6976ed4ea7693e" - ], - 0, - "b6f8627cd688ba03fa535c01b41b600f" - ], - [ - "FStar.Vector.Properties.append_inj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Vector.Base.equal", - "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", - "lemma_FStar.Seq.Base.lemma_eq_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.Vector.Base.hide_reveal", - "lemma_FStar.Vector.Base.reveal_append", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", - "typing_FStar.Vector.Base.reveal" - ], - 0, - "99aed74a2dabb16cc7ce004c80fea8b3" - ], - [ - "FStar.Vector.Properties.head", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.len_t", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f8aea2ec0a1d5f73bc72e2656b66089b", - "typing_FStar.UInt32.v" - ], - 0, - "5a5ba7651c0022bc16323d96eb2ba637" - ], - [ - "FStar.Vector.Properties.tail", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f8aea2ec0a1d5f73bc72e2656b66089b", - "typing_FStar.UInt32.v" - ], - 0, - "e746fc08528427b7968607621347a754" - ], - [ - "FStar.Vector.Properties.head_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.Vector.Base.index_t", - "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", - "equation_FStar.Vector.Properties.head", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.Vector.Base.reveal_append", - "lemma_FStar.Vector.Base.reveal_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f3080e81a4dd93e82001f564d4804c78", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.append", - "typing_FStar.Vector.Base.reveal" - ], - 0, - "14f341071e0246243dc8e96a578f2ee7" - ], - [ - "FStar.Vector.Properties.tail_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Seq.Properties.tail", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.Vector.Base.len_t", - "equation_FStar.Vector.Base.raw_length", - "equation_FStar.Vector.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "lemma_FStar.Vector.Base.hide_reveal", - "lemma_FStar.Vector.Base.reveal_append", - "lemma_FStar.Vector.Base.reveal_sub", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_106e462027263d0b45b481cd5a03bbe6", - "refinement_interpretation_Tm_refine_320acf689852bc1615c53b40221219f5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5c4c7e0e4dbac3b29e84fd20294eec", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e0a343048cb8452ce2db2783b020fdd3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f8aea2ec0a1d5f73bc72e2656b66089b", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_FStar.Vector.Base.append", - "typing_FStar.Vector.Base.reveal", "typing_FStar.Vector.Base.sub", - "typing_FStar.Vector.Properties.tail" - ], - 0, - "1f93f720259305cd5ba9427ee48e3664" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Vector.fst.hints b/ulib/.hints/FStar.Vector.fst.hints deleted file mode 100644 index a759e1999be..00000000000 --- a/ulib/.hints/FStar.Vector.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "¯¥Ø3‚ïÙ¥\u0001t.²o‰T\u007f", [] ] \ No newline at end of file diff --git a/ulib/.hints/FStar.WellFounded.Util.fst.hints b/ulib/.hints/FStar.WellFounded.Util.fst.hints deleted file mode 100644 index fc90ae1d949..00000000000 --- a/ulib/.hints/FStar.WellFounded.Util.fst.hints +++ /dev/null @@ -1,281 +0,0 @@ -[ - "|ä*º?ƒªD®‡VbQu\u0002›", - [ - [ - "FStar.WellFounded.Util.lift_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", "equation_Prims.l_and", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "f6a55510cb8b7780a9d12a2e418c087c" - ], - [ - "FStar.WellFounded.Util.intro_lift_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", "equation_Prims.squash", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "d47e9e1cf64f8871a343d64028e49340" - ], - [ - "FStar.WellFounded.Util.elim_lift_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "cad4310017d1d9b88dcc00ef1684ef14" - ], - [ - "FStar.WellFounded.Util.elim_lift_binrel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_90adeae11e4eb652ec4345664db5e79a" - ], - 0, - "540462fe3d1df8f2e5e1b37970d1e99f" - ], - [ - "FStar.WellFounded.Util.lower_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.WellFounded.Util.lift_binrel", - "equation_FStar.WellFounded.Util.top", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.logical", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_5d86101b099adeb833f59d6e8de8d34b", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.WellFounded.Util.lift_binrel", - "typing_FStar.Pervasives.dsnd", "typing_Prims.logical", - "unit_inversion", "unit_typing" - ], - 0, - "c7e480dc4f89f208f8b4818c8a361c78" - ], - [ - "FStar.WellFounded.Util.lower_binrel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.WellFounded.Util.lift_binrel", - "equation_FStar.WellFounded.Util.top", "equation_Prims.l_and", - "equation_Prims.logical", "equation_Prims.squash", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_5d86101b099adeb833f59d6e8de8d34b", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.WellFounded.Util.lift_binrel", - "typing_FStar.Pervasives.dsnd", "typing_Prims.logical", - "unit_inversion", "unit_typing" - ], - 0, - "676eddd0c457623d0aa37188ac654d79" - ], - [ - "FStar.WellFounded.Util.lift_binrel_well_founded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.WellFounded.AccIntro", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel", - "equation_FStar.WellFounded.Util.lower_binrel", - "equation_FStar.WellFounded.Util.top", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.logical", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_5d86101b099adeb833f59d6e8de8d34b", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_400825dc639381c3c5855f273827d487", - "refinement_interpretation_Tm_refine_5a601fd8c6db54561886560bfafd4ed6", - "refinement_interpretation_Tm_refine_e188ce66604837b8830031f76e0317e6", - "token_correspondence_FStar.WellFounded.Util.lift_binrel", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "typing_FStar.Pervasives.dsnd", - "typing_FStar.WellFounded.Util.lower_binrel", "typing_Prims.logical", - "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "a0a7d07d441e4ad758504148b971e8da" - ], - [ - "FStar.WellFounded.Util.lift_binrel_squashed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "254c9337027531da903fef87540cb7c7" - ], - [ - "FStar.WellFounded.Util.lower_binrel_squashed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_squashed", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "interpretation_Tm_abs_c0b2d2713728d6e6a55603d19fda193b", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed" - ], - 0, - "e2c4a170d5d9a1630fc0c01d8b7398d1" - ], - [ - "FStar.WellFounded.Util.lower_binrel_squashed", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_squashed", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "interpretation_Tm_abs_c0b2d2713728d6e6a55603d19fda193b", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed" - ], - 0, - "7ad19b3c3fd8534365deea7d558c2c73" - ], - [ - "FStar.WellFounded.Util.lift_binrel_squashed_well_founded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.WellFounded.AccIntro", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_squashed", - "equation_FStar.WellFounded.Util.squash_binrel", - "equation_FStar.WellFounded.Util.top", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "interpretation_Tm_abs_c0b2d2713728d6e6a55603d19fda193b", - "l_and-interp", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_400825dc639381c3c5855f273827d487", - "refinement_interpretation_Tm_refine_5a601fd8c6db54561886560bfafd4ed6", - "refinement_interpretation_Tm_refine_e188ce66604837b8830031f76e0317e6", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed", - "token_correspondence_FStar.WellFounded.Util.squash_binrel", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "typing_FStar.Squash.join_squash", "unit_inversion", "unit_typing", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "62f67b046635891ecef25a9ce7f95fc1" - ], - [ - "FStar.WellFounded.Util.lift_binrel_squashed_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dsnd", - "equation_Prims.squash", "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "a5de8a47fa3318918e8169626c969241" - ], - [ - "FStar.WellFounded.Util.unsquash_well_founded", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed_as_well_founded_relation" - ], - 0, - "a950306b2417970550290c535d7654ed" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.WellFounded.Util.fsti.hints b/ulib/.hints/FStar.WellFounded.Util.fsti.hints deleted file mode 100644 index 391b5a2a525..00000000000 --- a/ulib/.hints/FStar.WellFounded.Util.fsti.hints +++ /dev/null @@ -1,101 +0,0 @@ -[ - "\u007f1¬ì>°Ó6Ühά¸Ž\u0002", - [ - [ - "FStar.WellFounded.Util.lift_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", "equation_Prims.l_and", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "ded05ce62dfbb453aa08bdcabb3a69cc" - ], - [ - "FStar.WellFounded.Util.elim_lift_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "15386c11347ce4f054a7c358240af4de" - ], - [ - "FStar.WellFounded.Util.lower_binrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.WellFounded.Util.lift_binrel", - "equation_FStar.WellFounded.Util.top", "equation_Prims.eq2", - "equation_Prims.l_and", "equation_Prims.logical", - "equation_Prims.squash", "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_5d86101b099adeb833f59d6e8de8d34b", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.WellFounded.Util.lift_binrel", - "typing_FStar.Pervasives.dsnd", "typing_Prims.logical", - "unit_inversion", "unit_typing" - ], - 0, - "c7e480dc4f89f208f8b4818c8a361c78" - ], - [ - "FStar.WellFounded.Util.lift_binrel_squashed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2" - ], - 0, - "2b5f09198ec34a1fb10570a12284f9d2" - ], - [ - "FStar.WellFounded.Util.lower_binrel_squashed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_Prims.Mkdtuple2", - "eq2-interp", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFounded.Util.lift_binrel_squashed", - "equation_FStar.WellFounded.Util.top", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_9706396db915b3a2ea86d4646a5b8236", - "interpretation_Tm_abs_c0b2d2713728d6e6a55603d19fda193b", - "l_and-interp", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_squashed" - ], - 0, - "e2c4a170d5d9a1630fc0c01d8b7398d1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.WellFounded.fst.hints b/ulib/.hints/FStar.WellFounded.fst.hints deleted file mode 100644 index affa5ad0d22..00000000000 --- a/ulib/.hints/FStar.WellFounded.fst.hints +++ /dev/null @@ -1,92 +0,0 @@ -[ - "Ê›³ì'€Ð\u000fjUljoX", - [ - [ - "FStar.WellFounded.fix_F", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_83a95753506bd054c439e636818a1f2e_8", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "24d7f8d4ae1dd9dcbc4ed1657bd16e3a" - ], - [ - "FStar.WellFounded.as_well_founded", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.WellFounded.is_well_founded", - "refinement_interpretation_Tm_refine_08096815b34009f752dc2abd29b19dd1" - ], - 0, - "3899e61d96fedf51ae49427e49a0cdb4" - ], - [ - "FStar.WellFounded.subrelation_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.WellFounded_interpretation_Tm_arrow_1746c45d493cb65cef6c9dae848785d2", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "80357bd91a10a0076b93d5f4c13382b3" - ], - [ - "FStar.WellFounded.subrelation_squash_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.WellFounded.is_well_founded", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "refinement_interpretation_Tm_refine_08096815b34009f752dc2abd29b19dd1", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "acf9aeca3a6cf430812158e42049466d" - ], - [ - "FStar.WellFounded.subrelation_as_wf", - 1, - 2, - 1, - [ "@query" ], - 0, - "35212dca2261d017d2491c5916f12984" - ], - [ - "FStar.WellFounded.inverse_image_wf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Ghost_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "equation_FStar.WellFounded.inverse_image", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "interpretation_Tm_abs_edd09bedcd003825726f248e787a0aa1", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "token_correspondence_FStar.WellFounded.inverse_image", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "2f726faba7c7d40af70c81f0308d393d" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.WellFoundedRelation.fst.hints b/ulib/.hints/FStar.WellFoundedRelation.fst.hints deleted file mode 100644 index 81c8aeb1934..00000000000 --- a/ulib/.hints/FStar.WellFoundedRelation.fst.hints +++ /dev/null @@ -1,429 +0,0 @@ -[ - "…\u001aÊ'ü”ç­h¢Öòb¥…É", - [ - [ - "FStar.WellFoundedRelation.default_decreaser", - 1, - 2, - 1, - [ "@query", "equation_FStar.WellFoundedRelation.default_relation" ], - 0, - "fd3c6a0f282d1828db8b1fcd61a86d7e" - ], - [ - "FStar.WellFoundedRelation.default_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.default_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.default_decreaser.fuel_instrumented", - "@query", - "equation_with_fuel_FStar.WellFoundedRelation.default_decreaser.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "function_token_typing_FStar.WellFoundedRelation.default_relation", - "interpretation_Tm_abs_b2f93e56e0722e4e4bab5412d68c3522", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "typing_FStar.WellFoundedRelation.default_decreaser", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "0b97337e45e9d626c053439276d7fdac" - ], - [ - "FStar.WellFoundedRelation.empty_decreaser", - 1, - 2, - 1, - [ - "@query", "equation_FStar.WellFoundedRelation.empty_relation", - "false_interp" - ], - 0, - "324666ffff50139f6a8e133d6f2c26b0" - ], - [ - "FStar.WellFoundedRelation.empty_wfr", - 1, - 2, - 1, - [ - "@query", "equation_FStar.WellFoundedRelation.empty_relation", - "false_interp", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation" - ], - 0, - "f356b20f37c4371b39510fe7be5b7bee" - ], - [ - "FStar.WellFoundedRelation.acc_decreaser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.WellFounded_interpretation_Tm_arrow_98888337826b39b161a60a4c9312534b", - "binder_x_c95919c6d98f80d15cb611f157bd3e95_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "equation_FStar.WellFounded.well_founded", - "equation_FStar.WellFoundedRelation.acc_relation", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.WellFounded.acc", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_3fa204daa63f7b08a72b00343ad8be00", - "refinement_interpretation_Tm_refine_af70a8509c0f982f02954ed3f4ee81ab", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "well_founded_ordering_on_codomain_FStar.WellFounded.AccIntro" - ], - 0, - "fa26e69ab74fbbfba69c41170dd9be57" - ], - [ - "FStar.WellFoundedRelation.eta_expand_well_founded", - 1, - 2, - 1, - [ - "@query", - "equation_FStar.WellFounded.Util.lift_binrel_as_well_founded_relation", - "token_correspondence_FStar.WellFounded.Util.lift_binrel", - "token_correspondence_FStar.WellFounded.Util.lift_binrel_as_well_founded_relation" - ], - 0, - "52bb2c35f05b9c00694b6b391839b0ea" - ], - [ - "FStar.WellFoundedRelation.acc_to_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.acc_decreaser.fuel_instrumented", - "@fuel_correspondence_FStar.WellFoundedRelation.eta_expand_well_founded.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.acc_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.eta_expand_well_founded.fuel_instrumented", - "@query", "equation_FStar.WellFounded.binrel", - "equation_FStar.WellFounded.well_founded", - "equation_with_fuel_FStar.WellFoundedRelation.acc_decreaser.fuel_instrumented", - "equation_with_fuel_FStar.WellFoundedRelation.eta_expand_well_founded.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "function_token_typing_FStar.WellFoundedRelation.acc_relation", - "interpretation_Tm_abs_0f8190585ad3acc29926c7a2e7d0851e", - "interpretation_Tm_abs_6aa772170d44518b9632dd43711fe389", - "proj_equation_FStar.WellFounded.AccIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFounded.AccIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_d04452b5647b24408b3fe0c851391838", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFounded.__proj__AccIntro__item__access_smaller", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "token_correspondence_FStar.WellFoundedRelation.eta_expand_well_founded", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "1dcfc188e80ebaaef9310ef8adf81ff0" - ], - [ - "FStar.WellFoundedRelation.subrelation_decreaser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_2cb7bebd9eb87957c88ce542fb56223b_3", - "binder_x_e09860b75d8922ab497a3e5bc9347578_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "refinement_interpretation_Tm_refine_f5dd026997256018856e030fcfcd0ddc", - "refinement_interpretation_Tm_refine_f86db90ee8ccc3e74f6c29a8f48386c4" - ], - 0, - "7e4c0688c31f3a4679b1f4b9ed6f359b" - ], - [ - "FStar.WellFoundedRelation.subrelation_to_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.subrelation_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.subrelation_decreaser.fuel_instrumented", - "@query", - "equation_with_fuel_FStar.WellFoundedRelation.subrelation_decreaser.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "interpretation_Tm_abs_71ae698db15b278ccfcba9eb53547008", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_56497a3bbf047a9458fa8197621799e7", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "typing_FStar.WellFoundedRelation.subrelation_decreaser", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "dbb2b6efa19afbd6df526b35377413bb" - ], - [ - "FStar.WellFoundedRelation.inverse_image_decreaser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.WellFoundedRelation_interpretation_Tm_arrow_f0e39fda591bb23469f07b4ffb1ad647", - "binder_x_57af2c0907f883669f14a9b761d251ac_5", - "binder_x_639de64c9fce54f52da6d35b5d238322_6", - "binder_x_64a6f2da4341770a4dee8aa1d0d4ae69_7", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "refinement_interpretation_Tm_refine_83672bf59355f9cff379d755640f438d", - "refinement_interpretation_Tm_refine_affccb777651b70a29d8e0b024a2343c" - ], - 0, - "a9cd85da194446f1693e208fdec465e1" - ], - [ - "FStar.WellFoundedRelation.inverse_image_to_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.inverse_image_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.inverse_image_decreaser.fuel_instrumented", - "@query", - "equation_with_fuel_FStar.WellFoundedRelation.inverse_image_decreaser.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "interpretation_Tm_abs_0a614fd1df2c4d70a8ec769ca0254d80", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_0ba09657f5af39f8667a307fcc236679", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "typing_FStar.WellFoundedRelation.inverse_image_decreaser", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "f875f9f616f45f520c4e533161ae79b1" - ], - [ - "FStar.WellFoundedRelation.lex_nondep_decreaser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_396b1002a6eea17abc6b860e575c2119_4", - "binder_x_3df5820b7972d6802a25a67b033303c1_6", - "binder_x_d6fac98868e96d46b7df5e7b69360752_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", "eq2-interp", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.WellFoundedRelation.lex_nondep_relation", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "l_and-interp", "l_or-interp", - "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4e23b100cdc61e1c6f78b7af383539e0", - "typing_FStar.Pervasives.Native.fst", - "typing_FStar.Pervasives.Native.snd" - ], - 0, - "dfec0da59e21a46dce82a823b0c4c38b" - ], - [ - "FStar.WellFoundedRelation.lex_nondep_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.lex_nondep_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.lex_nondep_decreaser.fuel_instrumented", - "@query", - "equation_with_fuel_FStar.WellFoundedRelation.lex_nondep_decreaser.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "function_token_typing_FStar.WellFoundedRelation.lex_nondep_relation", - "interpretation_Tm_abs_f70a4304c5f33dc3077542647b8d9a25", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "4d8de912c5d1ca59839af3be44ead29c" - ], - [ - "FStar.WellFoundedRelation.lex_dep_relation", - 1, - 2, - 1, - [ "@query" ], - 0, - "4a6563f1e240e9a3ccc4f1812aff80cb" - ], - [ - "FStar.WellFoundedRelation.lex_dep_decreaser", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.WellFoundedRelation_interpretation_Tm_arrow_5b3e21f6c8b2ce23e826d69f6afe3b37", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_396b1002a6eea17abc6b860e575c2119_4", - "binder_x_76a7ab9d84303060e041bb966350b524_6", - "binder_x_e381d7410659d8f153948d6201a61cf6_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "data_elim_Prims.Mkdtuple2", "eq2-interp", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.WellFoundedRelation.lex_dep_relation", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_1cafda535ae751f1a22160a1ad08fac0", - "l_and-interp", "l_or-interp", - "lemma_FStar.WellFoundedRelation.ambient_wfr_lemma", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_4889aeab557845e15902e12438bb4ddf", - "typing_FStar.Pervasives.dsnd" - ], - 0, - "1a46e340b0aaccc6abd0338e35b810e3" - ], - [ - "FStar.WellFoundedRelation.lex_dep_wfr", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.WellFoundedRelation.lex_dep_decreaser.fuel_instrumented", - "@fuel_irrelevance_FStar.WellFoundedRelation.lex_dep_decreaser.fuel_instrumented", - "@query", - "equation_with_fuel_FStar.WellFoundedRelation.lex_dep_decreaser.fuel_instrumented", - "fuel_guarded_inversion_FStar.WellFoundedRelation.acc_classical", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "function_token_typing_FStar.WellFoundedRelation.lex_dep_relation", - "interpretation_Tm_abs_02fabacc11e252193190822f1036d349", - "proj_equation_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_FStar.WellFoundedRelation.AccClassicalIntro_access_smaller", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "refinement_interpretation_Tm_refine_d8fe318c94a18633502e2510fba198e7", - "token_correspondence_FStar.WellFoundedRelation.__proj__AccClassicalIntro__item__access_smaller", - "well_founded_ordering_on_codomain_FStar.WellFoundedRelation.AccClassicalIntro" - ], - 0, - "b1e2f2e84b40d401ca895712f57232c0" - ], - [ - "FStar.WellFoundedRelation.bool_wfr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.WellFoundedRelation.bool_relation", - "equation_FStar.WellFoundedRelation.default_relation", - "equation_Prims.nat", "int_typing", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "token_correspondence_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "token_correspondence_FStar.WellFoundedRelation.default_relation", - "well-founded-ordering-on-nat" - ], - 0, - "92750ef5067e26111b29d82c2b8ca200" - ], - [ - "FStar.WellFoundedRelation.option_relation", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "af1a7fefa24970795b65f55e5f6f7329" - ], - [ - "FStar.WellFoundedRelation.option_wfr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.WellFoundedRelation.bool_relation", - "equation_FStar.WellFoundedRelation.bool_wfr", - "equation_FStar.WellFoundedRelation.empty_relation", - "equation_FStar.WellFoundedRelation.empty_wfr", - "equation_FStar.WellFoundedRelation.lex_dep_relation", - "equation_FStar.WellFoundedRelation.lex_dep_wfr", - "equation_FStar.WellFoundedRelation.option_relation", - "equation_Prims.eqtype", "false_interp", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.WellFoundedRelation.wfr_t", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "interpretation_Tm_abs_65438dee5f6705f474e205b7b9093999", - "interpretation_Tm_abs_9d941336b6a75c5265b6b0696a324bf0", - "l_and-interp", "l_or-interp", "lemma_FStar.Pervasives.invertOption", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.WellFoundedRelation.Mkwfr_t_relation", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a1d81b638305410cd095aa0d8692c4b6", - "token_correspondence_FStar.WellFoundedRelation.__proj__Mkwfr_t__item__relation", - "token_correspondence_FStar.WellFoundedRelation.bool_relation", - "token_correspondence_FStar.WellFoundedRelation.empty_relation", - "token_correspondence_FStar.WellFoundedRelation.lex_dep_relation", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Universe.raise_val", - "typing_FStar.WellFoundedRelation.bool_wfr", "typing_Prims.unit", - "unit_typing" - ], - 0, - "6b4a1105706d20e3d5f47a15251c9ec7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.WellFoundedRelation.fsti.hints b/ulib/.hints/FStar.WellFoundedRelation.fsti.hints deleted file mode 100644 index 3fc45b8d8aa..00000000000 --- a/ulib/.hints/FStar.WellFoundedRelation.fsti.hints +++ /dev/null @@ -1,23 +0,0 @@ -[ - "•È…\u0007\tS¨6ŸklØ ¿k9", - [ - [ - "FStar.WellFoundedRelation.lex_dep_relation", - 1, - 2, - 1, - [ "@query" ], - 0, - "e265d542c8cdcbe6f3a8d82f811868b7" - ], - [ - "FStar.WellFoundedRelation.option_relation", - 1, - 2, - 1, - [ "@query", "lemma_FStar.Pervasives.invertOption" ], - 0, - "10dea2f688219c62455e386bb637b398" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Witnessed.Core.fst.hints b/ulib/.hints/FStar.Witnessed.Core.fst.hints deleted file mode 100644 index 188139a2036..00000000000 --- a/ulib/.hints/FStar.Witnessed.Core.fst.hints +++ /dev/null @@ -1,17 +0,0 @@ -[ - "n[¯I\u001c¥…\u0011ÛŒ±†\u000e¡K\u0002", - [ - [ - "FStar.Witnessed.Core.witnessed_proof_irrelevant", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Witnessed.Core.witnessed", "unit_inversion" - ], - 0, - "67f130d5596d3f1a014b2e698dfc95a4" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/FStar.Witnessed.Core.fsti.hints b/ulib/.hints/FStar.Witnessed.Core.fsti.hints deleted file mode 100644 index 872f03e9150..00000000000 --- a/ulib/.hints/FStar.Witnessed.Core.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "1+Ð\r\u0014³íˆv\u001caôù\"", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Buffer.fst.hints b/ulib/.hints/LowStar.Buffer.fst.hints deleted file mode 100644 index a8367f1d49c..00000000000 --- a/ulib/.hints/LowStar.Buffer.fst.hints +++ /dev/null @@ -1,127 +0,0 @@ -[ - "\u0007æÉïÑç•…\u00136²¾”žšd", - [ - [ - "LowStar.Buffer.trivial_preorder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "true_interp" - ], - 0, - "06f5a94ee44afcf56a14a3636f9a3634" - ], - [ - "LowStar.Buffer.assign_list_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "527a978f79f46e8f2cc8c9edf5840f9d" - ], - [ - "LowStar.Buffer.assign_list", - 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", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_index_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_09d2e9ab3b9c121b24316d151747e281", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_16a73f5406ae8e5bfabd433eb2d32722", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ddd44b85040d1947cca83550b7e21966", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "true_interp", "typing_FStar.List.Tot.Base.length", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq_of_list", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "unit_inversion", - "unit_typing" - ], - 0, - "524f7e23d48366f1298a0410c5cbd309" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferCompat.fst.hints b/ulib/.hints/LowStar.BufferCompat.fst.hints deleted file mode 100644 index 128238043a2..00000000000 --- a/ulib/.hints/LowStar.BufferCompat.fst.hints +++ /dev/null @@ -1,65 +0,0 @@ -[ - ")\u0003³\u001e£À\u001bÿær›\u001d\u007f\t\fš", - [ - [ - "LowStar.BufferCompat.rcreate", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_c91c357d8b481b71bcfe70f0ece722d9" - ], - 0, - "01a823b2761607f8f8e7cb561eb82d08" - ], - [ - "LowStar.BufferCompat.rcreate_mm", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8" - ], - 0, - "0135fbdaf1d512b423e81db5facdcd12" - ], - [ - "LowStar.BufferCompat.create", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "refinement_interpretation_Tm_refine_485808b6c08b8fa1bad00cc3070d942a", - "refinement_interpretation_Tm_refine_f91c442f4e872efb5dc260d2bd566195" - ], - 0, - "c9335ad49201867389e6d60809695913" - ], - [ - "LowStar.BufferCompat.createL", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_145731bec775c591ae321893c0c371e6", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_fdd6ab907516d1d3b973a4a3f9b40794", - "typing_FStar.Seq.Base.seq_of_list", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "f06b34b72dd2b235d798e93b480e4d5b" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferOps.fst.hints b/ulib/.hints/LowStar.BufferOps.fst.hints deleted file mode 100644 index d6495b97e5b..00000000000 --- a/ulib/.hints/LowStar.BufferOps.fst.hints +++ /dev/null @@ -1,49 +0,0 @@ -[ - "ïC.¤\u001dæ±jNrœÙ\nͽ>", - [ - [ - "LowStar.BufferOps.op_Bang_Star", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.mpointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", - "refinement_interpretation_Tm_refine_47188798f74eff613c4825c6754a4c5f" - ], - 0, - "79e81db7f4fc1fc3c3f1ab507943a2d3" - ], - [ - "LowStar.BufferOps.op_Star_Equals", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mpointer", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c1a4ed9b5f25169f3643dad8a32da42", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c761405cd8dbc2e38d2b21a3732d0a5c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.create", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "315448d73ecb3cdc93843052e7806e72" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.Down.fst.hints b/ulib/.hints/LowStar.BufferView.Down.fst.hints deleted file mode 100644 index bae08cc3912..00000000000 --- a/ulib/.hints/LowStar.BufferView.Down.fst.hints +++ /dev/null @@ -1,1792 +0,0 @@ -[ - "Ö{mV\u0011¿–J‰¬×ü·K„û", - [ - [ - "LowStar.BufferView.Down.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a423de7c1578fdeb1323fce6e031ed31" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "256e095d996199ee524075d17fda2b0a" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "12e34c28664396941c8efc5aee933b0c" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "06e07e1393476fb96be5a8e006a801d2" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "5c7060db1add293ec21c7be7a0ed0aa1" - ], - [ - "LowStar.BufferView.Down.as_buffer", - 1, - 1, - 1, - [ - "@query", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3" - ], - 0, - "19315968fa8b794d2f07458377d9b493" - ], - [ - "LowStar.BufferView.Down.as_buffer_mk_buffer_view", - 1, - 1, - 1, - [ "@query" ], - 0, - "c2a086a89a0e0e769aaa6d0891a21715" - ], - [ - "LowStar.BufferView.Down.as_buffer_mk_buffer_view", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.Down.BufferView_buf" - ], - 0, - "6f1a3406c8df24dc070d6ce3efe5738f" - ], - [ - "LowStar.BufferView.Down.get_view", - 1, - 1, - 1, - [ - "@query", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1" - ], - 0, - "97db73db9642ee3e73d318458bd08894" - ], - [ - "LowStar.BufferView.Down.get_view_mk_buffer_view", - 1, - 1, - 1, - [ "@query" ], - 0, - "c38a2176a67fe125bc5871e480713811" - ], - [ - "LowStar.BufferView.Down.get_view_mk_buffer_view", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.Down.BufferView_v" - ], - 0, - "e19338ab45e9957d229ccdb5e4922db3" - ], - [ - "LowStar.BufferView.Down.length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "ecd2dcebac685a2a6802c6fa1f713c43" - ], - [ - "LowStar.BufferView.Down.length_eq", - 1, - 1, - 1, - [ "@query", "equation_LowStar.BufferView.Down.length" ], - 0, - "be4ad5335f0114f8899ef39d6575f885" - ], - [ - "LowStar.BufferView.Down.indexing'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9494279a6ca120b378dad073f7223f09", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "6d92b4876af47a4a937d0f2c89474073" - ], - [ - "LowStar.BufferView.Down.indexing", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowStar.BufferView.Down.View", - "equation_LowStar.BufferView.Down.get_view", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.Down.View_n", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.Down.get_view" - ], - 0, - "3ea02294a135b2e43fe8c00427689ac4" - ], - [ - "LowStar.BufferView.Down.indexing", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.length", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916" - ], - 0, - "aa108d06b3c8fcc5b9e8b21436648358" - ], - [ - "LowStar.BufferView.Down.sel'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_e500472406594110c1e64a17065e4a47", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "ad8eaeafb52458814ad8fd34d56a8c67" - ], - [ - "LowStar.BufferView.Down.sel'", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "ac6c1e54a29991e30ee5ca409f293381" - ], - [ - "LowStar.BufferView.Down.sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view" - ], - 0, - "80623d138cc2a670604c3bdebd0159b3" - ], - [ - "LowStar.BufferView.Down.lemma_g_upd_with_same_seq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_69de4b02c5b9a7e64327517f97194e89", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "439cb52e352db7c7aebee763de8f5f6c" - ], - [ - "LowStar.BufferView.Down.upd'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", "typing_Prims.int" - ], - 0, - "438a21ed954b900a19582cca0ba0bc37" - ], - [ - "LowStar.BufferView.Down.upd'", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Down.length", - "equation_LowStar.BufferView.Down.mods", - "equation_LowStar.BufferView.Down.sel", - "equation_LowStar.BufferView.Down.sel_", - "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "proj_equation_LowStar.BufferView.Down.View_put", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1cc42f6a6831d60d771af901e94fcb52", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "bc6f451d3b3f5096b0d49f680a7c5104" - ], - [ - "LowStar.BufferView.Down.sel_upd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", - "typing_Prims.int" - ], - 0, - "1328c289f9c5f13033672d6fec8f7f83" - ], - [ - "LowStar.BufferView.Down.sel_upd", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", - "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.BufferView.Down.upd_" - ], - 0, - "fee1ccfaa71d5b9f21a1541565058c52" - ], - [ - "LowStar.BufferView.Down.lemma_upd_with_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" - ], - 0, - "00e3474d56e794c14e8e0e7f9ef1a8da" - ], - [ - "LowStar.BufferView.Down.lemma_upd_with_sel", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.sel", - "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", - "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.BufferView.Down.sel", - "typing_LowStar.BufferView.Down.upd_" - ], - 0, - "bcddc7a1b80886a775d9bf44b981904a" - ], - [ - "LowStar.BufferView.Down.upd_modifies", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.mods", - "equation_LowStar.BufferView.Down.upd", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.BufferView.Down.upd_" - ], - 0, - "6dfe2a91389dc29446ae6ab46b65ca22" - ], - [ - "LowStar.BufferView.Down.upd_equal_domains", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.upd", - "refinement_interpretation_Tm_refine_c7958bc739d32f60a8ad0c906f586a0c", - "typing_LowStar.BufferView.Down.upd_" - ], - 0, - "6aeb1f27950ace4efb8364f5f379e6dc" - ], - [ - "LowStar.BufferView.Down.seq_fold_right_gtot", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_b1c102bc33763b5f709e32a86e66e509_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "efcb12b21c61399f31e046151f4622d9" - ], - [ - "LowStar.BufferView.Down.as_seq'_len", - 1, - 1, - 1, - [ - "@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", - "binder_x_b1c102bc33763b5f709e32a86e66e509_4", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "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_Equality", - "primitive_Prims.op_LessThanOrEqual", - "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_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", - "typing_LowStar.BufferView.Down.as_seq_", - "well-founded-ordering-on-nat" - ], - 0, - "d71f968ee9572b799d34d3903f7e3c96" - ], - [ - "LowStar.BufferView.Down.as_seq'_injective", - 1, - 1, - 1, - [ - "@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_arrow_7da964bc2b1926200922ebf8c37fd4f0", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_1e3eba040196ecd819a6f5ba0e12d4c7", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_b1c102bc33763b5f709e32a86e66e509_6", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.tail", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.cons_view", - "equation_LowStar.BufferView.Down.inverses", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", - "function_token_typing_LowStar.BufferView.Down.cons_view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.cons_head_tail", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "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_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "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_", - "well-founded-ordering-on-nat" - ], - 0, - "ba1bf2557a177071231d233ef8b69a2e" - ], - [ - "LowStar.BufferView.Down.as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_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_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.cons_view", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", "equation_Prims.nat", - "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", "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.Down.BufferView_buf", - "projection_inverse_LowStar.BufferView.Down.BufferView_v", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail" - ], - 0, - "1d5d212442faa8d0e314b15f3ba8a0ae" - ], - [ - "LowStar.BufferView.Down.sel'_tail", - 1, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3e04674625ba1e90ddf6da6977508e33", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d5a417bb7e551188aa5f27fc92bb0d0", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "7f205f412ffd7517a7fd275d44879bf9" - ], - [ - "LowStar.BufferView.Down.sel'_tail", - 2, - 1, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.tail", - "equation_LowStar.BufferView.Down.sel_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3e04674625ba1e90ddf6da6977508e33", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9d5a417bb7e551188aa5f27fc92bb0d0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "c1f87fa2907bcf943330098dcfd4044b" - ], - [ - "LowStar.BufferView.Down.as_seq'_sel'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_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_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", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c01100901a35b9b08858a206a0e679e0", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "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, - "3b20c2fc519617aa791763597a6f8680" - ], - [ - "LowStar.BufferView.Down.as_seq'_sel'", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", - "binder_x_e7425afe0054f4946800c81515d9feb3_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "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_LowStar.BufferView.Down.sel_", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.cons_view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "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_115ce0dac3ae75208eb1a0325e0b4128", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.as_seq_", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "8d5e7ed3f256ca6fdf34f2f5bb2f3bb8" - ], - [ - "LowStar.BufferView.Down.as_seq'_sel'", - 3, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_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_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", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b8fde4367f6c610c74c3493faf5a288c", - "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, - "56f00872295b28d01eaefddeae20f5ac" - ], - [ - "LowStar.BufferView.Down.as_seq_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.length", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.Down.as_seq" - ], - 0, - "35d8d8fb0d6508c16e79716e49bc7d43" - ], - [ - "LowStar.BufferView.Down.as_seq_sel", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_seq", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", - "equation_LowStar.BufferView.Down.sel", "equation_Prims.nat", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.Down.BufferView_buf", - "projection_inverse_LowStar.BufferView.Down.BufferView_v", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916" - ], - 0, - "77759ffd4ba9470b513cd4aebf0118ed" - ], - [ - "LowStar.BufferView.Down.get_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", "typing_Prims.logical" - ], - 0, - "8c251fe92130e0844c27ad1eb9d17b31" - ], - [ - "LowStar.BufferView.Down.get_sel", - 2, - 1, - 1, - [ - "@query", "equation_LowStar.BufferView.Down.sel", - "equation_LowStar.BufferView.Down.sel_" - ], - 0, - "82ce9e58258bb25b4e120b5565ca35bd" - ], - [ - "LowStar.BufferView.Down.as_seq'_slice", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_c01100901a35b9b08858a206a0e679e0", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "dbe0019126c794ea1ffef49372f302fa" - ], - [ - "LowStar.BufferView.Down.as_seq'_slice", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_b1c102bc33763b5f709e32a86e66e509_5", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", - "binder_x_e7425afe0054f4946800c81515d9feb3_6", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "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_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "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_115ce0dac3ae75208eb1a0325e0b4128", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_53e928c6305e393fb0a7dce12d87cc3f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_607098d2e80d827adeccdd5d011d612c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8abd4c3ac9e8142667f8333bfed7a909", - "refinement_interpretation_Tm_refine_98f92039d39b792e2685e3f4adc26215", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f6c404f0a04d32fdba5a4a42ee66b1c3", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.as_seq_", "unit_inversion", - "unit_typing", "well-founded-ordering-on-nat" - ], - 0, - "4a46ee4639db0939d67e9877a778a1ab" - ], - [ - "LowStar.BufferView.Down.as_seq'_slice", - 3, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_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_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", "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "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_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_edf34d8c57b408201f4fa09ea5a209d2", - "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, - "ef047c7911f063d2021b451ffc742c09" - ], - [ - "LowStar.BufferView.Down.put_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.as_seq", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.cons_view", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.cons_view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_195b3367258c5be686b3c3d8b2c6b2b2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "token_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.seq", - "typing_FStar.Seq.Properties.head", - "typing_FStar.Seq.Properties.tail", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "fe72d11ef59881eb8d426ca3cb9f3c1f" - ], - [ - "LowStar.BufferView.Down.put_sel", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.as_seq", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Down.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "proj_equation_LowStar.BufferView.Down.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", "typing_Prims.logical" - ], - 0, - "710ce2dd5543ef24f5fe8804f48e1b6f" - ], - [ - "LowStar.BufferView.Down.upd_seq'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54599d4a49ee23fd663a165545b6bfc0_5", - "binder_x_b1c102bc33763b5f709e32a86e66e509_6", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a82fd48665c2c37398f6f42e06178bc9", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "well-founded-ordering-on-nat" - ], - 0, - "9e3dd2f835fb70bfa258d47f17562fcb" - ], - [ - "LowStar.BufferView.Down.upd_seq'", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_3767eccd9f25c882ae2a1ae371c8c07a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "bae5820c73a7604b01137d42e7ca1032" - ], - [ - "LowStar.BufferView.Down.upd_seq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "eddda7f2bea77ccf98acdc6cfa9415a1" - ], - [ - "LowStar.BufferView.Down.upd_seq", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "proj_equation_LowStar.BufferView.Down.View_put", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.BufferView.Down.BufferView_buf", - "projection_inverse_LowStar.BufferView.Down.BufferView_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bf72234882a8673a1910d013757629ba", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", - "token_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Down.upd_seq_", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "ac3bf60116c2504e8c743aca5a2054c7" - ], - [ - "LowStar.BufferView.Down.upd_seq", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b0aca387910f9544fb5177355cd6a189" - ], - [ - "LowStar.BufferView.Down.as_seq'_cons", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_2273be14af0cc957313ba731a9f3153c", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.tail", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.cons_view", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.seq_fold_right_gtot.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.cons_view", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.BufferView.Down.cons_view", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.seq" - ], - 0, - "fd700de09fe5d443f23bb65d15874a0f" - ], - [ - "LowStar.BufferView.Down.upd_seq'_spec", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "@query", - "LowStar.BufferView.Down_interpretation_Tm_arrow_b3f54d46f9b910883cd5c1724d8e3d10", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_54599d4a49ee23fd663a165545b6bfc0_5", - "binder_x_b1c102bc33763b5f709e32a86e66e509_6", - "binder_x_e2cbc1bd9d19b6ce32e9f77b55362d0d_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_3", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.inverses", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__get", - "function_token_typing_LowStar.BufferView.Down.__proj__View__item__put", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Down.View_get", - "proj_equation_LowStar.BufferView.Down.View_n", - "proj_equation_LowStar.BufferView.Down.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_31dea76430ad627aa6261a45ffd44149", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4f40aec7f25bb8ac376107b6d75b6393", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a82fd48665c2c37398f6f42e06178bc9", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.BufferView.Down.__proj__View__item__put", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n", - "typing_LowStar.BufferView.Down.as_seq_", - "typing_LowStar.BufferView.Down.upd_seq_", - "well-founded-ordering-on-nat" - ], - 0, - "ea0ed554aad5fc2376e01347ce862a43" - ], - [ - "LowStar.BufferView.Down.upd_seq'_spec", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2279b7fe58865a166f500e7a5d11ad0a", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.__proj__View__item__n" - ], - 0, - "5315365c7a73832182bd52fa2468816b" - ], - [ - "LowStar.BufferView.Down.upd_seq_spec", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b9b79dadf958029ee2de60e90683225d" - ], - [ - "LowStar.BufferView.Down.upd_seq_spec", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Down.as_buffer", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.as_seq", - "equation_LowStar.BufferView.Down.as_seq_", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Down.get_view", - "equation_LowStar.BufferView.Down.length", - "equation_LowStar.BufferView.Down.upd_seq", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.Down.upd_seq_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3521607ebafd54e1ad92a8cff8265bd6", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bf72234882a8673a1910d013757629ba", - "refinement_interpretation_Tm_refine_d1aa0fa1c027e4d27d275809eceb0415", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.as_seq_", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Down.upd_seq_", - "typing_LowStar.Monotonic.Buffer.as_seq", "typing_Prims.int", - "typing_Prims.logical" - ], - 0, - "92319caa7cab552878902f1ef4c896f2" - ], - [ - "LowStar.BufferView.Down.upd_seq_spec", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3259c7c69a8a083e1b9c42ed2b5a2886" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.Down.fsti.hints b/ulib/.hints/LowStar.BufferView.Down.fsti.hints deleted file mode 100644 index 54386862100..00000000000 --- a/ulib/.hints/LowStar.BufferView.Down.fsti.hints +++ /dev/null @@ -1,250 +0,0 @@ -[ - "Ö\u0003¿R\u0011€]g\u0018®FöÜá–ª", - [ - [ - "LowStar.BufferView.Down.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "f542ad232d9c942a8a02981f6dec58f7" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "256e095d996199ee524075d17fda2b0a" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "12e34c28664396941c8efc5aee933b0c" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "06e07e1393476fb96be5a8e006a801d2" - ], - [ - "LowStar.BufferView.Down.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "5c7060db1add293ec21c7be7a0ed0aa1" - ], - [ - "LowStar.BufferView.Down.as_buffer_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "0d355271ecc14d75326410f54158e5c7" - ], - [ - "LowStar.BufferView.Down.get_view_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "85a91676ff465a78345561cc23628293" - ], - [ - "LowStar.BufferView.Down.indexing", - 1, - 2, - 1, - [ "@query" ], - 0, - "46255ff8fc759f74f8b3756f0b5400fb" - ], - [ - "LowStar.BufferView.Down.sel_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1", - "typing_Prims.int" - ], - 0, - "7df3035a4668aace9f33ca37962fbd8b" - ], - [ - "LowStar.BufferView.Down.lemma_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9b448e7302c8037f5e88bf0160d1d4d1" - ], - 0, - "aca0fa7e6f2124c0f27941c40a5feadf" - ], - [ - "LowStar.BufferView.Down.as_seq_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.Down.as_seq" - ], - 0, - "ad9ee101639963f54d43b37ded07e384" - ], - [ - "LowStar.BufferView.Down.get_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.get_view", "typing_Prims.logical" - ], - 0, - "f91da93e1ef64c2408b691eb06b1c2a3" - ], - [ - "LowStar.BufferView.Down.put_sel", - 1, - 8, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Down.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Down.view", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Down.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_711945fd2e915275d963923222fc0916", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_845322fb4513a913d6b544d4f805d91a", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.get_view", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "501992538d29b38d4bde7beea5e780e1" - ], - [ - "LowStar.BufferView.Down.upd_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6ca89433d9d3ee441948092e48a7c43f" - ], - [ - "LowStar.BufferView.Down.upd_seq_spec", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "25cb193e83924271ced42b25a023d09e" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.Up.fst.hints b/ulib/.hints/LowStar.BufferView.Up.fst.hints deleted file mode 100644 index 1e84379839b..00000000000 --- a/ulib/.hints/LowStar.BufferView.Up.fst.hints +++ /dev/null @@ -1,1138 +0,0 @@ -[ - "\u000f\u0015Ò“Zã†b{v?gKö\u001c", - [ - [ - "LowStar.BufferView.Up.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "7a65ee1b5e40d91985e4705980d497fd" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "4cadc883295284282698cc04890893d8" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "b306ce9d8e05fe24daf8f8390e90d54d" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "a7188b517c30a70afdca040ab7bc48f8" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "6d3b50f4fb3eb0e706de92ec9573a7e7" - ], - [ - "LowStar.BufferView.Up.buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "d646c53fc7bb0456362d3cc6c730ee93" - ], - [ - "LowStar.BufferView.Up.__proj__Buffer__item__v", - 1, - 2, - 1, - [ "@query" ], - 0, - "976fabfe0f906eb4258924257e49259a" - ], - [ - "LowStar.BufferView.Up.__proj__Buffer__item__v", - 2, - 2, - 1, - [ "@query" ], - 0, - "c0c3932771b1830c1b9f9c17e8aea611" - ], - [ - "LowStar.BufferView.Up.mk_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "a1c11fcbe67e7797eeb36792c4d82713" - ], - [ - "LowStar.BufferView.Up.mk_buffer", - 2, - 2, - 1, - [ "@query" ], - 0, - "fc67e8fed811989dbc208e3a412982ba" - ], - [ - "LowStar.BufferView.Up.as_buffer_mk_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "2054f648caaca853b4141f71440eff88" - ], - [ - "LowStar.BufferView.Up.as_buffer_mk_buffer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.mk_buffer", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", - "proj_equation_LowStar.BufferView.Up.Buffer_src", - "proj_equation_LowStar.BufferView.Up.Buffer_v", - "projection_inverse_LowStar.BufferView.Up.Buffer_down_buf", - "projection_inverse_LowStar.BufferView.Up.Buffer_src", - "projection_inverse_LowStar.BufferView.Up.Buffer_v", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f" - ], - 0, - "221feb59288a19f968878906408d7e00" - ], - [ - "LowStar.BufferView.Up.as_buffer_mk_buffer", - 3, - 2, - 1, - [ "@query" ], - 0, - "f635a14c00663efeab38adffb505c7fe" - ], - [ - "LowStar.BufferView.Up.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowStar.BufferView.Up.Buffer", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", - "proj_equation_LowStar.BufferView.Up.Buffer_src", - "proj_equation_LowStar.BufferView.Up.Buffer_v", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "b84b0f0bcd45aa2558f42e0e2a64b00d" - ], - [ - "LowStar.BufferView.Up.length_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "e61ed861e4595894af44bc563ebc3624" - ], - [ - "LowStar.BufferView.Up.length_eq", - 2, - 2, - 1, - [ "@query", "equation_LowStar.BufferView.Up.length" ], - 0, - "c531550b0fa0b9427b5bc8056143c032" - ], - [ - "LowStar.BufferView.Up.view_indexing", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "88e4646a0f2b2cee7795a355bce514c9" - ], - [ - "LowStar.BufferView.Up.split_at_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_LowStar.BufferView.Up.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", - "proj_equation_LowStar.BufferView.Up.Buffer_src", - "proj_equation_LowStar.BufferView.Up.Buffer_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "d96f5af93b97d2f33aa6598291f275d8" - ], - [ - "LowStar.BufferView.Up.sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "bdba4f8a35af69b39b00b6596129fee9" - ], - [ - "LowStar.BufferView.Up.upd'", - 1, - 2, - 2, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_LowStar.BufferView.Up.Buffer", - "data_elim_LowStar.BufferView.Up.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.inverses", - "equation_LowStar.BufferView.Up.length", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", - "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "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", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1623bb940097fe5e6d59119e290f0b87", - "refinement_interpretation_Tm_refine_17631fa6304dcc08d028bd475a6dd078", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.BufferView.Down.inverses", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "token_correspondence_LowStar.BufferView.Up.inverses", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "1a58679165b12c1e1262813796896967" - ], - [ - "LowStar.BufferView.Up.sel_upd1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Up.upd", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "int_inversion", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_808016cc4316ff27a4370a2784e97f93", - "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", - "typing_LowStar.BufferView.Up.upd_" - ], - 0, - "37b0b0c28be3489d861729a43445dc8e" - ], - [ - "LowStar.BufferView.Up.lt_leq_mul", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "38c5ca3879278f879f65ef8634bbfa9a" - ], - [ - "LowStar.BufferView.Up.sel_upd2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Up_interpretation_Tm_arrow_38902b6746602f2e3d0dc1891baab541", - "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_54f79f9c97c4ee2c218b3c7110c8cd4e", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.inverses", - "equation_LowStar.BufferView.Up.length", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.split_at_i", - "equation_LowStar.BufferView.Up.upd", - "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", - "function_token_typing_LowStar.BufferView.Up.__proj__View__item__put", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_50331c1b709d90c86781ce9d8d5ab60d", - "refinement_interpretation_Tm_refine_5250d47fa5b555d110b727445842180e", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55882ce47cef75456d5a62d57636b07a", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_808016cc4316ff27a4370a2784e97f93", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d96ee13467a15c378c71c6f88345542f", - "refinement_interpretation_Tm_refine_f7f2af7691ed5c56a70c0405397124ee", - "token_correspondence_LowStar.BufferView.Down.inverses", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "token_correspondence_LowStar.BufferView.Up.inverses", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__down_buf", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__src", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.split_at_i", - "typing_LowStar.BufferView.Up.upd_" - ], - 0, - "d209f72cc6325ca05b6dd76ba1d5cfba" - ], - [ - "LowStar.BufferView.Up.sel_upd2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "be826511d3dd41381aba7c013202eddb" - ], - [ - "LowStar.BufferView.Up.sel_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c2c04abe656e5a918d75f6eeff1361d0" - ], - [ - "LowStar.BufferView.Up.sel_upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.int" - ], - 0, - "add29107fd033e31630e816b79187703" - ], - [ - "LowStar.BufferView.Up.lemma_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" - ], - 0, - "fd3c82ab24d4061db55a1e1127c6b8e3" - ], - [ - "LowStar.BufferView.Up.lemma_upd_with_sel", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowStar.BufferView.Up.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.inverses", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.upd", - "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "proj_equation_LowStar.BufferView.Up.View_get", - "proj_equation_LowStar.BufferView.Up.View_n", - "proj_equation_LowStar.BufferView.Up.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.BufferView.Down.inverses", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "token_correspondence_LowStar.BufferView.Up.inverses", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__src", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "c4fa1cb9139111c393b2fa58a46040f7" - ], - [ - "LowStar.BufferView.Up.upd_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.Up.Buffer", - "data_elim_LowStar.BufferView.Up.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Down.as_buffer_t", - "equation_LowStar.BufferView.Down.buffer", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.upd", - "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.Up.Buffer_down_buf", - "proj_equation_LowStar.BufferView.Up.Buffer_src", - "proj_equation_LowStar.BufferView.Up.View_n", - "proj_equation_LowStar.BufferView.Up.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.Down.as_buffer", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.upd" - ], - 0, - "fb36111e8283167716d847c75ff806da" - ], - [ - "LowStar.BufferView.Up.upd_equal_domains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Down_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_LowStar.BufferView.Up.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.upd", - "equation_LowStar.BufferView.Up.upd_", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_append", - "proj_equation_LowStar.BufferView.Up.View_n", - "proj_equation_LowStar.BufferView.Up.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_28e5c211c74c3e8b3637e7a738fe6ec6", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_87f65bf36fef1b919603d458579dd2c0", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "6d00276ef176f9bb6764316217f22e27" - ], - [ - "LowStar.BufferView.Up.as_seq'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_22c538d2a2b71ba53fb7e85deb07fbc9_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", - "binder_x_ee14823f84a451e4cda1561c6b2f4374_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Up.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0802fec63702d1233c1ae4df83021ddf", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.length", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "602d927cd41e64830042b638953dd0f3" - ], - [ - "LowStar.BufferView.Up.as_seq'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_edaf3f1101070ba4ee283b22aacf07e6" - ], - 0, - "68ba210f648f6f6956377f2c64bb459d" - ], - [ - "LowStar.BufferView.Up.as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.Up.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "int_inversion", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.BufferView.Up.length" - ], - 0, - "eb0a1836bf0ec78f0d64891dd25542c7" - ], - [ - "LowStar.BufferView.Up.as_seq_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Up.length", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.Up.as_seq" - ], - 0, - "bf0ef25f6611b51a6242319377346094" - ], - [ - "LowStar.BufferView.Up.as_seq_sel", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.Up.as_seq_.fuel_instrumented", - "@query", - "LowStar.BufferView.Up_interpretation_Tm_arrow_db79c1db2d1aca2e06f39469bdfc309b", - "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_10b9260cdb9b6f57214d087ff1b1db85", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.Up.as_seq", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.length", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_with_fuel_LowStar.BufferView.Up.as_seq_.fuel_instrumented", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "function_token_typing_LowStar.BufferView.Up.__proj__View__item__get", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_544b688381018f63184d194557c64ed6", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_8edd0d7fa8b2aa56b92182d28e2e69e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dec607e9170e4a235f6dca934abcf487", - "refinement_interpretation_Tm_refine_ef19e53214b46576f4b8fb93ac27843b", - "token_correspondence_LowStar.BufferView.Up.as_seq_.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", - "typing_LowStar.BufferView.Up.__proj__View__item__get", - "typing_LowStar.BufferView.Up.as_seq", - "typing_LowStar.BufferView.Up.as_seq_", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.split_at_i", - "well-founded-ordering-on-nat" - ], - 0, - "1806a676fe842bff4fb7f154bc735ed7" - ], - [ - "LowStar.BufferView.Up.get_sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_281fe5c1b73a8d7995401c6b1ea9f2d9", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.split_at_i" - ], - 0, - "0ca7110465257fb264cb1625559b68ac" - ], - [ - "LowStar.BufferView.Up.get_sel", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.Up.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.length", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "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_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.split_at_i" - ], - 0, - "68f4f71f49245037e58ce4352505d684" - ], - [ - "LowStar.BufferView.Up.put_sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", - "lemma_FStar.Seq.Base.lemma_len_append", - "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.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_bd94144a5e887b64cd695e07b9d51d5e", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Up.__proj__Buffer__item__v", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.split_at_i" - ], - 0, - "5a429eede66c68a698e41afe2ab0b610" - ], - [ - "LowStar.BufferView.Up.put_sel", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView.Up_interpretation_Tm_ghost_arrow_54f79f9c97c4ee2c218b3c7110c8cd4e", - "bool_inversion", "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.Up.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.Down.inverses", - "equation_LowStar.BufferView.Up.as_down_buffer", - "equation_LowStar.BufferView.Up.buffer_src", - "equation_LowStar.BufferView.Up.get_view", - "equation_LowStar.BufferView.Up.inverses", - "equation_LowStar.BufferView.Up.length", - "equation_LowStar.BufferView.Up.sel", - "equation_LowStar.BufferView.Up.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.buffer", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "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_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_32a927c4be2ea7459bf10eff6091102f", - "refinement_interpretation_Tm_refine_3ca39fd1a1db837a5694feac9d104e27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f7f2af7691ed5c56a70c0405397124ee", - "token_correspondence_LowStar.BufferView.Down.inverses", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.Up.__proj__View__item__put", - "token_correspondence_LowStar.BufferView.Up.inverses", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.__proj__View__item__put", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view", - "typing_LowStar.BufferView.Up.sel", - "typing_LowStar.BufferView.Up.split_at_i" - ], - 0, - "1e0e01164b339b3aef87d8b381d6520f" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.Up.fsti.hints b/ulib/.hints/LowStar.BufferView.Up.fsti.hints deleted file mode 100644 index 486eb868054..00000000000 --- a/ulib/.hints/LowStar.BufferView.Up.fsti.hints +++ /dev/null @@ -1,194 +0,0 @@ -[ - "fã­\u0016S¼óGLyƒ}õo¬\u0012", - [ - [ - "LowStar.BufferView.Up.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "6432a19f8642c6e3e372d57c4450a058" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "4cadc883295284282698cc04890893d8" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "b306ce9d8e05fe24daf8f8390e90d54d" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "a7188b517c30a70afdca040ab7bc48f8" - ], - [ - "LowStar.BufferView.Up.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "6d3b50f4fb3eb0e706de92ec9573a7e7" - ], - [ - "LowStar.BufferView.Up.mk_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "9f141e155aee68273c6aa90636b2593c" - ], - [ - "LowStar.BufferView.Up.as_buffer_mk_buffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "c0c1b3f274b7bc9787ad7730f1cbcfa6" - ], - [ - "LowStar.BufferView.Up.length_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "cd548c5bee181bf1c18abebc1567d529" - ], - [ - "LowStar.BufferView.Up.sel_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e492a6b6ad3a53de948cbacd2597a65c" - ], - [ - "LowStar.BufferView.Up.lemma_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31ff657caa99ed4c833e78322430b57b" - ], - 0, - "d1f33faffc5dce1e1be498744d29babb" - ], - [ - "LowStar.BufferView.Up.as_seq_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.Up.as_seq" - ], - 0, - "ba03b9db1fe013426fb8e3e866c39ea4" - ], - [ - "LowStar.BufferView.Up.get_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.Up.view", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_281fe5c1b73a8d7995401c6b1ea9f2d9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "93a91e4502d398741ddbba9838cb714b" - ], - [ - "LowStar.BufferView.Up.put_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.BufferView.Up.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6d5ab57ac719f3d34aaa0ac8c62a3164", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.Down.as_seq", - "typing_LowStar.BufferView.Down.length", - "typing_LowStar.BufferView.Up.__proj__View__item__n", - "typing_LowStar.BufferView.Up.as_down_buffer", - "typing_LowStar.BufferView.Up.buffer_src", - "typing_LowStar.BufferView.Up.get_view" - ], - 0, - "96bd916c4afca09e119342b62f973b09" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.fst.hints b/ulib/.hints/LowStar.BufferView.fst.hints deleted file mode 100644 index d173b6705f4..00000000000 --- a/ulib/.hints/LowStar.BufferView.fst.hints +++ /dev/null @@ -1,1262 +0,0 @@ -[ - "øp\u0010ê8B\u001c3uhÖ*}i8ù", - [ - [ - "LowStar.BufferView.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "a2a64cc1ddac130887985466522e4abd" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "388a8910ff438fa38fa841d5387462b1" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "a8e7ff77f5368507a2167aa0702aade6" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "ae93ed85833b2d0b2aa4407f542155f5" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "8bc85c0fc13639d8a614d2d7b3eaefd7" - ], - [ - "LowStar.BufferView.buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "7e33722b4e8bfcce2e1f3e5db94894df" - ], - [ - "LowStar.BufferView.__proj__BufferView__item__v", - 1, - 2, - 1, - [ "@query" ], - 0, - "0acb472d98b5e4ae29c2f03759b688cb" - ], - [ - "LowStar.BufferView.__proj__BufferView__item__v", - 2, - 2, - 1, - [ "@query" ], - 0, - "7cc3cc9fad29d615a716aae035958c3d" - ], - [ - "LowStar.BufferView.mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "5b0dd3afa17e5954df7c5081eb97d6c8" - ], - [ - "LowStar.BufferView.mk_buffer_view", - 2, - 2, - 1, - [ "@query" ], - 0, - "988941f3f5f4f8a162b62a9fde352083" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "65acde0442a7ca935180c6b35f785e1d" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.BufferView_buf", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.BufferView_buf", - "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" - ], - 0, - "d57c95405f87091318bdbdac43c9574a" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 3, - 2, - 1, - [ "@query" ], - 0, - "c5120d681f4f3eb370d8f816b4a199c8" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "1cad17f7211c9897ce20a9113e0cb359" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.BufferView_v", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.BufferView_v", - "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" - ], - 0, - "4936f9376b09d576684c175842f20082" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 3, - 2, - 1, - [ "@query" ], - 0, - "c5120d681f4f3eb370d8f816b4a199c8" - ], - [ - "LowStar.BufferView.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "491cf265c02062848f4ecf49ea4acbc0" - ], - [ - "LowStar.BufferView.length_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "d1f71ecaaabb37a53f47ce842b526d58" - ], - [ - "LowStar.BufferView.length_eq", - 2, - 2, - 1, - [ "@query", "equation_LowStar.BufferView.length" ], - 0, - "99ac01978b691b1abf053ce41683b4d9" - ], - [ - "LowStar.BufferView.view_indexing", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Minus", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.get_view", "typing_Prims.logical" - ], - 0, - "25233903b0d080de8047678ceca5dd3a" - ], - [ - "LowStar.BufferView.split_at_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "38edd6e69d40be791f9ba5b8da34b6e7" - ], - [ - "LowStar.BufferView.sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_LowStar.BufferView.View_n", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.get_view" - ], - 0, - "d0d164d7b36eef6b30df2e53b25fe199" - ], - [ - "LowStar.BufferView.upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "5d1dc901f9e0c4373438af26bbbcbeb7" - ], - [ - "LowStar.BufferView.sel_upd1", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.BufferView.upd", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_LowStar.BufferView.__proj__View__item__get", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxInt_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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0dca70d6e10ecdb3fcef03a4d9930309", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", "typing_Prims.logical" - ], - 0, - "c6ad07e67bcc61f01283a9299ed1d371" - ], - [ - "LowStar.BufferView.lt_leq_mul", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "b3326ee1af44f4c30e4e1a280babbcad" - ], - [ - "LowStar.BufferView.sel_upd2", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.BufferView.upd", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_19269cc1321ab930659842dd89087ebb", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6a8bad24b42f72c3930cd7835eb2ac4c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_889f01bf859912af1db7b4ca8ac1e6d3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.length", - "typing_FStar.Seq.Base.slice", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", "typing_Prims.logical" - ], - 0, - "83a77ed6c3e57818066504ec30bfa61a" - ], - [ - "LowStar.BufferView.sel_upd2", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "5d1bcca73addf856078ab8a622124f66" - ], - [ - "LowStar.BufferView.sel_upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "be4bc430e5f292213a8130d7b8fd7641" - ], - [ - "LowStar.BufferView.sel_upd", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_Prims.int" - ], - 0, - "ae31780d6a3f3906e07762b4237f76f5" - ], - [ - "LowStar.BufferView.lemma_upd_with_sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" - ], - 0, - "b0e56c9ec5563135efcf11090295d5e5" - ], - [ - "LowStar.BufferView.lemma_upd_with_sel", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.sel", "equation_LowStar.BufferView.upd", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_LowStar.BufferView.get_view" - ], - 0, - "0cc3172b6308a7d52a649b58657c4305" - ], - [ - "LowStar.BufferView.upd_modifies", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "e142b8b14321f4474797ec186c362ff4" - ], - [ - "LowStar.BufferView.upd_equal_domains", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "54d3a2dd2c4d8290692ee6c96ebea6cb" - ], - [ - "LowStar.BufferView.as_seq'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_709c51d42fb83ce2494a760a7ab175a8_4", - "binder_x_db88276a6748528fdd6e866d40cef350_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_Equality", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_de40b7b01597bee6e1241dfaf5adf126", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.length", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "d44bd91dc4a1234b70303c9a4cc96722" - ], - [ - "LowStar.BufferView.as_seq'", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_462910b3d5d3989ce1e9485c7cf86807" - ], - 0, - "969260b3fca83da9e795c822e44e661f" - ], - [ - "LowStar.BufferView.as_seq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.buffer_view", - "int_inversion", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "primitive_Prims.op_Subtraction", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.BufferView.length" - ], - 0, - "868f18c56edf9b393d0e67b0d42a5afb" - ], - [ - "LowStar.BufferView.as_seq_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.length", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.as_seq" - ], - 0, - "ff53f31dd1d9eed401da8032f4f4c471" - ], - [ - "LowStar.BufferView.as_seq_sel", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.as_seq_.fuel_instrumented", - "@query", - "LowStar.BufferView_interpretation_Tm_arrow_a441f4db5cfe680e0cd92a3155b077c4", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_0024034b80532a35a7b2eed7be497e02", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_seq", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.nat", - "equation_with_fuel_LowStar.BufferView.as_seq_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_LowStar.BufferView.__proj__View__item__get", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_06aa1b6fbc206f92bd33509e825cf7ce", - "refinement_interpretation_Tm_refine_53de2fffa6adf37dbdb63ca6e1d1a732", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8cc8409d4303e39b0875700cdfa9bd10", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_LowStar.BufferView.as_seq", - "typing_LowStar.BufferView.as_seq_", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", - "well-founded-ordering-on-nat" - ], - 0, - "1d0e5b9666f3753a7b15b1f00a01783b" - ], - [ - "LowStar.BufferView.get_sel", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e2e87089d09d3a765e6639034e237550", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", "typing_Prims.logical" - ], - 0, - "1a82b43f3ed5149f42d5b9ecf7ce41cc" - ], - [ - "LowStar.BufferView.get_sel", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.sel", - "typing_LowStar.BufferView.split_at_i", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "9e6bd182db8aba037061922bf1f6f791" - ], - [ - "LowStar.BufferView.put_sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", "typing_Prims.logical" - ], - 0, - "962356ea933f7353dc92d75996717824" - ], - [ - "LowStar.BufferView.put_sel", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "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.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.sel", - "typing_LowStar.BufferView.split_at_i", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.logical" - ], - 0, - "0899ffd80732fdecbfae818c635e82ed" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.BufferView.fsti.hints b/ulib/.hints/LowStar.BufferView.fsti.hints deleted file mode 100644 index 9ac8d2f0f62..00000000000 --- a/ulib/.hints/LowStar.BufferView.fsti.hints +++ /dev/null @@ -1,225 +0,0 @@ -[ - "Y'±;¼T!\\\fb7Ÿö\u001bU‰", - [ - [ - "LowStar.BufferView.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "1a69b52d023f883c250bdfd73fd1d766" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "388a8910ff438fa38fa841d5387462b1" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "a8e7ff77f5368507a2167aa0702aade6" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "ae93ed85833b2d0b2aa4407f542155f5" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "8bc85c0fc13639d8a614d2d7b3eaefd7" - ], - [ - "LowStar.BufferView.mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "d1c010401b900d7ed5e4f52f58cbc6d3" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "42b2452616b3695b57f78aede5980b79" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "cc400ec0d2b239a4bb84c25f25a95bda" - ], - [ - "LowStar.BufferView.length_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "17185f90620e8bbbc20c73dfdc51df34" - ], - [ - "LowStar.BufferView.sel_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a37dbc2cdfbeebaa8ecb7194988b7033" - ], - [ - "LowStar.BufferView.lemma_upd_with_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" - ], - 0, - "4f4426b6523252c19c1ac4d5d7fcd480" - ], - [ - "LowStar.BufferView.as_seq_sel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.as_seq" - ], - 0, - "5cfbf23c18cc28bab55ad42e0f50cc5f" - ], - [ - "LowStar.BufferView.get_sel", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e2e87089d09d3a765e6639034e237550", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "3b3a68c85e3896db7353933042f1d73b" - ], - [ - "LowStar.BufferView.put_sel", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "cf9978097a071263631b6f6626bae5f7" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Comment.fst.hints b/ulib/.hints/LowStar.Comment.fst.hints deleted file mode 100644 index 1c3e683b820..00000000000 --- a/ulib/.hints/LowStar.Comment.fst.hints +++ /dev/null @@ -1,26 +0,0 @@ -[ - "½2â\u001f|c~u#™(\"l+¶\u0011", - [ - [ - "LowStar.Comment.comment", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "0811207f5fe9a4c90c241c8653ffe147" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Comment.fsti.hints b/ulib/.hints/LowStar.Comment.fsti.hints deleted file mode 100644 index 73945a7d449..00000000000 --- a/ulib/.hints/LowStar.Comment.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "«TÝ_ÀL†ëª­pàú¿\u0003ß", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.ConstBuffer.fst.hints b/ulib/.hints/LowStar.ConstBuffer.fst.hints deleted file mode 100644 index b9d3e9318a5..00000000000 --- a/ulib/.hints/LowStar.ConstBuffer.fst.hints +++ /dev/null @@ -1,512 +0,0 @@ -[ - "\r\"»ïépŒ'/škÈ€;€½", - [ - [ - "LowStar.ConstBuffer.qbuf_cases", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.ConstBuffer.IMMUTABLE", - "disc_equation_LowStar.ConstBuffer.MUTABLE", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0591958ed4352a5ce2ffbbcf127bcd39" - ], - [ - "LowStar.ConstBuffer.q_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.ConstBuffer.IMMUTABLE", - "disc_equation_LowStar.ConstBuffer.MUTABLE", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "953ed68970faaad352fe9a413b0f8c3b" - ], - [ - "LowStar.ConstBuffer.qbuf_mbuf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "data_elim_Prims.Mkdtuple2", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Pervasives.dfst", "equation_LowStar.Buffer.buffer", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", - "kinding_LowStar.ConstBuffer.qual@tok", - "proj_equation_Prims.Mkdtuple2__2", "typing_FStar.Pervasives.dsnd", - "typing_LowStar.ConstBuffer.qbuf_qual", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "2ab7b647a2d320c9fc75b4756eb71a03" - ], - [ - "LowStar.ConstBuffer.of_buffer", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "c2c3a964e038f1b3baf0f7d72c1d0875" - ], - [ - "LowStar.ConstBuffer.of_buffer", - 2, - 2, - 1, - [ - "@query", "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_qual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "cee4773ff83ec3ab31477f858cfd88e6" - ], - [ - "LowStar.ConstBuffer.of_ibuffer", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "470acf3112d388252c6c50c9bcfd1b4e" - ], - [ - "LowStar.ConstBuffer.of_ibuffer", - 2, - 2, - 1, - [ - "@query", "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_qual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "ebfd91d17871c6e2e695be6b1c988ed0" - ], - [ - "LowStar.ConstBuffer.of_qbuf", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "2f1d271abdbfa1fc59de9e64222f02b5" - ], - [ - "LowStar.ConstBuffer.of_qbuf", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.const_buffer", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "f4e62e9f2ad2c3633a4e33b293b498a4" - ], - [ - "LowStar.ConstBuffer.is_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.g_is_null", - "equation_LowStar.ConstBuffer.live", - "refinement_interpretation_Tm_refine_b6fc4b28553b30d6d16a1c2dfb4f28c6" - ], - 0, - "7e7b3c93eab1eb54b4d936e5dc741858" - ], - [ - "LowStar.ConstBuffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_seq", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.qbuf_pre", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b", - "typing_LowStar.ConstBuffer.as_mbuf", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "0b749a62f1438ad2efa4559ca7535ea9" - ], - [ - "LowStar.ConstBuffer.index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.as_seq", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.live", - "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b" - ], - 0, - "dd3f292b5b3025f040b1efe008de5796" - ], - [ - "LowStar.ConstBuffer.gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.length", - "refinement_interpretation_Tm_refine_45c9ac010a8185462ba0ae9369ce8dd3" - ], - 0, - "cb2a39415f925459e91b3baeab1b860b" - ], - [ - "LowStar.ConstBuffer.sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.const_buffer", - "equation_LowStar.ConstBuffer.const_sub_buffer", - "equation_LowStar.ConstBuffer.gsub", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.live", - "equation_LowStar.ConstBuffer.of_qbuf", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "function_token_typing_LowStar.ConstBuffer.q_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_203924399152f58f4e512c7caa418217", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.ConstBuffer.as_mbuf", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_LowStar.ConstBuffer.length", - "typing_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "fb94895cf7dd05d78c0a0e33ee9b75a7" - ], - [ - "LowStar.ConstBuffer.cast", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf" - ], - 0, - "22eb1e6c56e4944297e0932f05a353dd" - ], - [ - "LowStar.ConstBuffer.to_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" - ], - 0, - "e81ab13a09cb1868e70dd099ebd9bcac" - ], - [ - "LowStar.ConstBuffer.to_buffer", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "4d498d6225cb8fd8824d72ffbb0ddc8c" - ], - [ - "LowStar.ConstBuffer.to_ibuffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" - ], - 0, - "08b530ca664afb9c720aa9a0054a4f12" - ], - [ - "LowStar.ConstBuffer.to_ibuffer", - 2, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "7d97616cd3366b74fd6a136c3c968694" - ], - [ - "LowStar.ConstBuffer.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "data_elim_Prims.Mkdtuple2", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.dfst", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_qbuf", - "equation_LowStar.ConstBuffer.as_seq", - "equation_LowStar.ConstBuffer.const_buffer", - "equation_LowStar.ConstBuffer.const_sub_buffer", - "equation_LowStar.ConstBuffer.gsub", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.live", - "equation_LowStar.ConstBuffer.of_buffer", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "kinding_LowStar.ConstBuffer.qual@tok", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36b8fe4f9adc92e524c1dfa6fff3bc2c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_67929e7ed5840863f2b3a04e35b5e451", - "refinement_interpretation_Tm_refine_77a2e5e1e83ec81cdf1a6f0de42e0dcc", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.dsnd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.ConstBuffer.of_qbuf", - "typing_LowStar.ConstBuffer.qbuf_pre", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "d646ff5b0839c1520a11ac6fe74851b9" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.ConstBuffer.fsti.hints b/ulib/.hints/LowStar.ConstBuffer.fsti.hints deleted file mode 100644 index 6e390c023dc..00000000000 --- a/ulib/.hints/LowStar.ConstBuffer.fsti.hints +++ /dev/null @@ -1,301 +0,0 @@ -[ - "yjù”šJì-St¿Å\u0011¥¶ä", - [ - [ - "LowStar.ConstBuffer.qbuf_cases", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.ConstBuffer.IMMUTABLE", - "disc_equation_LowStar.ConstBuffer.MUTABLE", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "5cc468936918b52a06b1b1a01a43a5e1" - ], - [ - "LowStar.ConstBuffer.q_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.ConstBuffer.IMMUTABLE", - "disc_equation_LowStar.ConstBuffer.MUTABLE", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "953ed68970faaad352fe9a413b0f8c3b" - ], - [ - "LowStar.ConstBuffer.qbuf_mbuf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "data_elim_Prims.Mkdtuple2", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Pervasives.dfst", "equation_LowStar.Buffer.buffer", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "fuel_guarded_inversion_LowStar.ConstBuffer.qual", - "fuel_guarded_inversion_Prims.dtuple2", - "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", - "kinding_LowStar.ConstBuffer.qual@tok", - "proj_equation_Prims.Mkdtuple2__2", "typing_FStar.Pervasives.dsnd", - "typing_LowStar.ConstBuffer.qbuf_qual", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "2ab7b647a2d320c9fc75b4756eb71a03" - ], - [ - "LowStar.ConstBuffer.of_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "fuel_guarded_inversion_Prims.dtuple2", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "6c131f5d7b3705714635979cc9f0c5df" - ], - [ - "LowStar.ConstBuffer.of_ibuffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "fuel_guarded_inversion_Prims.dtuple2", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "8e1df00744269f5f1294b5683685a834" - ], - [ - "LowStar.ConstBuffer.of_qbuf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "fuel_guarded_inversion_Prims.dtuple2", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "43e7547c2c10bf62325b03e666e598b7" - ], - [ - "LowStar.ConstBuffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_seq", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.qbuf_pre", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3a60089398cfb9444106602ea3510e1b", - "typing_LowStar.ConstBuffer.as_mbuf", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_LowStar.ConstBuffer.qbuf_pre" - ], - 0, - "00f2b0bcf66d2d3bc69edb539070e367" - ], - [ - "LowStar.ConstBuffer.gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.length", - "refinement_interpretation_Tm_refine_45c9ac010a8185462ba0ae9369ce8dd3" - ], - 0, - "cb2a39415f925459e91b3baeab1b860b" - ], - [ - "LowStar.ConstBuffer.to_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_21418a2a27aecfef27831185fbcf6700" - ], - 0, - "2125f22623f2455353f251fa9351bd9b" - ], - [ - "LowStar.ConstBuffer.to_ibuffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf_pre", - "refinement_interpretation_Tm_refine_6a2d5aa361ca14de4e02d11c40d62bd3" - ], - 0, - "08b530ca664afb9c720aa9a0054a4f12" - ], - [ - "LowStar.ConstBuffer.test", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "LowStar.ConstBuffer_pretyping_4dc8c797bc0c0a619c5d226a788d601a", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.ConstBuffer.IMMUTABLE", - "constructor_distinct_LowStar.ConstBuffer.MUTABLE", - "data_elim_Prims.Mkdtuple2", - "equality_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "equality_tok_LowStar.ConstBuffer.MUTABLE@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pervasives.dsnd", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ConstBuffer.as_mbuf", - "equation_LowStar.ConstBuffer.as_seq", - "equation_LowStar.ConstBuffer.const_sub_buffer", - "equation_LowStar.ConstBuffer.gsub", - "equation_LowStar.ConstBuffer.length", - "equation_LowStar.ConstBuffer.live", - "equation_LowStar.ConstBuffer.q_preorder", - "equation_LowStar.ConstBuffer.qbuf", - "equation_LowStar.ConstBuffer.qbuf_cases", - "equation_LowStar.ConstBuffer.qbuf_mbuf", - "equation_LowStar.ConstBuffer.qbuf_pre", - "equation_LowStar.ConstBuffer.qbuf_qual", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_68316c920d170978472d5b9e8ae4e447", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "kinding_LowStar.ConstBuffer.qual@tok", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "proj_equation_Prims.Mkdtuple2__1", - "proj_equation_Prims.Mkdtuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36b8fe4f9adc92e524c1dfa6fff3bc2c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_67929e7ed5840863f2b3a04e35b5e451", - "refinement_interpretation_Tm_refine_77a2e5e1e83ec81cdf1a6f0de42e0dcc", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pervasives.dsnd", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.ConstBuffer.as_qbuf", - "typing_LowStar.ConstBuffer.of_qbuf", - "typing_LowStar.ConstBuffer.qbuf_pre", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_tok_LowStar.ConstBuffer.IMMUTABLE@tok", - "typing_tok_LowStar.ConstBuffer.MUTABLE@tok" - ], - 0, - "4172718435b60efd357505a3e37d5be2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Endianness.fst.hints b/ulib/.hints/LowStar.Endianness.fst.hints deleted file mode 100644 index 0896a0b2829..00000000000 --- a/ulib/.hints/LowStar.Endianness.fst.hints +++ /dev/null @@ -1,971 +0,0 @@ -[ - "ë!‘‹ýaÙµ9›SzÃt«…", - [ - [ - "LowStar.Endianness.store_pre", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "7e14f3284a6835842e3a137d7e9caeb1" - ], - [ - "LowStar.Endianness.store_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.nat", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e9459b5a2b49764aa76d0bacd2384cb8", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "1e604a07b149230b0cdd5c825b4c8d80" - ], - [ - "LowStar.Endianness.store16_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b0734f1dc496cc78aca94161fb31f8f4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "796d7d57be1cb1998ad7b63c58641c47" - ], - [ - "LowStar.Endianness.load16_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0734f1dc496cc78aca94161fb31f8f4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "f7f3b569e568ae7837df415d9cb8cbe3" - ], - [ - "LowStar.Endianness.store16_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_b0734f1dc496cc78aca94161fb31f8f4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "cf01006f040933c96f821731af097283" - ], - [ - "LowStar.Endianness.load16_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b0734f1dc496cc78aca94161fb31f8f4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "378dc4b59c7c7d95f21e37b4597cb967" - ], - [ - "LowStar.Endianness.store32_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0e01eb8ea1dce1d7b9db2c4ecc88c48e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "52055543ea24230121e6ba1694abc4a6" - ], - [ - "LowStar.Endianness.load32_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e01eb8ea1dce1d7b9db2c4ecc88c48e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "d5ce3dfe1bc3f8b81e4c692210b04c8d" - ], - [ - "LowStar.Endianness.store32_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0e01eb8ea1dce1d7b9db2c4ecc88c48e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "4982399082c8ffafebd7e78d7a0b0a2f" - ], - [ - "LowStar.Endianness.load32_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0e01eb8ea1dce1d7b9db2c4ecc88c48e", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "dfa8a1de67d32aa6f4579b51e2a01a18" - ], - [ - "LowStar.Endianness.store64_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00ce83dfc1736917dfa2ccd7360c61b7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "dc4653af2c21095a76c17f5b12bd3fbc" - ], - [ - "LowStar.Endianness.load64_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00ce83dfc1736917dfa2ccd7360c61b7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "c189ac7e52f43cfcf95606b2feb9e0a6" - ], - [ - "LowStar.Endianness.store64_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_00ce83dfc1736917dfa2ccd7360c61b7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "6e11c1466f5deaca4a79205f139d7060" - ], - [ - "LowStar.Endianness.load64_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_00ce83dfc1736917dfa2ccd7360c61b7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "f8c5b7c1f48708de7cbdc165dea7ea6e" - ], - [ - "LowStar.Endianness.store128_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ac3cc6182be33cdc95cfb2150639f991", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "7dfb3b655f3e6c4f2053d04ea88dcf9f" - ], - [ - "LowStar.Endianness.load128_le_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ac3cc6182be33cdc95cfb2150639f991", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "a3a359f14e4826a814636e8fdbd002ed" - ], - [ - "LowStar.Endianness.store128_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_ac3cc6182be33cdc95cfb2150639f991", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "969b01a4b64a2e686bf50e1f52958373" - ], - [ - "LowStar.Endianness.load128_be_i", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt128.n", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ac3cc6182be33cdc95cfb2150639f991", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t" - ], - 0, - "110c4909795c8d01478effc7eac4197f" - ], - [ - "LowStar.Endianness.store16_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_800d6f7edc1e80c555011e538557b4e5", - "refinement_interpretation_Tm_refine_902522852f3188032686d24c3d22a511", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "10a94dbea3e2965e0876771845ba0786" - ], - [ - "LowStar.Endianness.load16_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u16", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_902522852f3188032686d24c3d22a511", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "abf1dd751e6f5f4188c5e04db54cd213" - ], - [ - "LowStar.Endianness.store16_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_902522852f3188032686d24c3d22a511", - "refinement_interpretation_Tm_refine_e8d71886e60d3ea5c53539b1a7f7be8b", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "6ea38eb569b26f1930255016f3bd6eaf" - ], - [ - "LowStar.Endianness.load16_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u16", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_902522852f3188032686d24c3d22a511", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "9e21d479b14aac32e3776475a0726cfb" - ], - [ - "LowStar.Endianness.store32_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_581171b36970801158e5124c684ce4a9", - "refinement_interpretation_Tm_refine_6d915acccd4f7621c4fcc287e4563c4b", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "e268a1d153e4a09d51cd7098a6838008" - ], - [ - "LowStar.Endianness.load32_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6d915acccd4f7621c4fcc287e4563c4b", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "a9e8aa906a39150f1488e7c30a7b0fab" - ], - [ - "LowStar.Endianness.store32_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6d915acccd4f7621c4fcc287e4563c4b", - "refinement_interpretation_Tm_refine_e46e6f2e5458ce63370cb700c386f0e3", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "4b13daf7edf467a02c3656da12394e40" - ], - [ - "LowStar.Endianness.load32_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6d915acccd4f7621c4fcc287e4563c4b", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "75ebba407cd800cff78b80f9fb48e329" - ], - [ - "LowStar.Endianness.store64_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9a498e452895faf691b72348eb037449", - "refinement_interpretation_Tm_refine_f9ddcadd96320eefde762a5c04c9e5cb", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "0cf03e964af0f8054d9d73bd51ac991e" - ], - [ - "LowStar.Endianness.load64_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f9ddcadd96320eefde762a5c04c9e5cb", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "200e5986cdcc28c9b2b7033d9ba50cff" - ], - [ - "LowStar.Endianness.load64_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u64", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f9ddcadd96320eefde762a5c04c9e5cb", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "b96fe6d5710050e10dc2faef6c4bf4c3" - ], - [ - "LowStar.Endianness.store64_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e7c682233602e18e22cfe7906d5aa2ef", - "refinement_interpretation_Tm_refine_f9ddcadd96320eefde762a5c04c9e5cb", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "f788e8201ea6cfc0c81a3aad634d1d16" - ], - [ - "LowStar.Endianness.load128_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u128", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_74aa80f4c50166f8648891d3bbaf345c", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "d860e1bd05a5bc2109485fedff96ce3e" - ], - [ - "LowStar.Endianness.store128_le", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6f7aed92c848d95d6066e427711fb168", - "refinement_interpretation_Tm_refine_74aa80f4c50166f8648891d3bbaf345c", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "ae7c43e0e6e8d8d920a767c64ac8f170" - ], - [ - "LowStar.Endianness.load128_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u128", "equation_LowStar.Endianness.u8", - "equation_Prims.eqtype", "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_74aa80f4c50166f8648891d3bbaf345c", - "typing_FStar.UInt8.t", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "3054befb55b96daa4b78b401e9dfac2b" - ], - [ - "LowStar.Endianness.store128_be", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt128.n", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Endianness.u8", "equation_Prims.eqtype", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_182efe239776588e16adcd3300cba56d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_70746d967757a09423f9c5c41072a17d", - "refinement_interpretation_Tm_refine_74aa80f4c50166f8648891d3bbaf345c", - "true_interp", "typing_FStar.UInt8.t", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "501afa0201f78cac7c2760167fc2495e" - ], - [ - "LowStar.Endianness.index_32_be", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0bfc4a0ccce2c05dd04f690522e44c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_854c90732f3a76d5d9453a85022e9c9e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "31879c188af893751a63a9b49585d7a5" - ], - [ - "LowStar.Endianness.index_32_le", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_le", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Endianness.offset_uint32_le", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1c0bfc4a0ccce2c05dd04f690522e44c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_854c90732f3a76d5d9453a85022e9c9e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "cf69600d68228856c6ba1c67c7dfdd75" - ], - [ - "LowStar.Endianness.index_64_be", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_be", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u64", - "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Endianness.offset_uint64_be", - "lemma_FStar.UInt64.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12e7269e796f5ebdf519488cfb14e138", - "refinement_interpretation_Tm_refine_2b0e601651acae63fd384fe4a4dcfa30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "06657b938507bbde872bda3431098527" - ], - [ - "LowStar.Endianness.index_64_le", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint64_of_le", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Endianness.u32", "equation_LowStar.Endianness.u64", - "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Endianness.offset_uint64_le", - "lemma_FStar.UInt64.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_12e7269e796f5ebdf519488cfb14e138", - "refinement_interpretation_Tm_refine_2b0e601651acae63fd384fe4a4dcfa30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "ac364c4e5e9df8ecc7032ce655f34ea6" - ], - [ - "LowStar.Endianness.interval_4_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_Multiply", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_Prims.int" - ], - 0, - "48cd5eadc1e4872b557691bb9f0b96b3" - ], - [ - "LowStar.Endianness.upd_32_be", - 1, - 0, - 0, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "equation_FStar.Endianness.bytes", - "equation_FStar.Endianness.uint32_of_be", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Endianness.offset_uint32_be", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7d5c6a5425f61aa846282c2e8678c9b5", - "refinement_interpretation_Tm_refine_854c90732f3a76d5d9453a85022e9c9e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f0afb181d4a4e7251d93f6b318b82568", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "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.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.int" - ], - 0, - "f9344c4ff089926aae21f2c7800199a2" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Failure.fsti.hints b/ulib/.hints/LowStar.Failure.fsti.hints deleted file mode 100644 index 03f3b8d31eb..00000000000 --- a/ulib/.hints/LowStar.Failure.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "\u0011\rN\u0017‘¦cî>\u001d¹|Ÿß\u000b“", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Ignore.fsti.hints b/ulib/.hints/LowStar.Ignore.fsti.hints deleted file mode 100644 index 561e2d0c17b..00000000000 --- a/ulib/.hints/LowStar.Ignore.fsti.hints +++ /dev/null @@ -1 +0,0 @@ -[ "ƒ|û3,7î“\fæ\u0003á¾OJ\u001c", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.ImmutableBuffer.fst.hints b/ulib/.hints/LowStar.ImmutableBuffer.fst.hints deleted file mode 100644 index 07cfc9ff2cc..00000000000 --- a/ulib/.hints/LowStar.ImmutableBuffer.fst.hints +++ /dev/null @@ -1,601 +0,0 @@ -[ - "\u0001‘}G\t\tcä9íC\u0014›ëu@", - [ - [ - "LowStar.ImmutableBuffer.immutable_preorder", - 1, - 2, - 1, - [ - "@query", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl" - ], - 0, - "c124d47fa3f8cfde662b22103ae09e48" - ], - [ - "LowStar.ImmutableBuffer.sub_ptr_value_is", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.seq_eq", - "int_inversion", "int_typing", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_756d08f68d7ed394d3f200b3148cc39c", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.ImmutableBuffer.seq_eq", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.seq", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.replace_subseq", - "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "c753135ea2c9e43f99c63d84eab28189" - ], - [ - "LowStar.ImmutableBuffer.igcmalloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.cpred", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_593a90e6b9922b915af57577c33b682a", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_e5741246f011944b88f151c871fc34fd", - "typing_LowStar.ImmutableBuffer.immutable_preorder" - ], - 0, - "a9433d50fba68dee7abadb6c1f6824d8" - ], - [ - "LowStar.ImmutableBuffer.igcmalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.seq_eq", - "int_inversion", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_45bbe770989b9c988ddff673dcf48d7f", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_e5741246f011944b88f151c871fc34fd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "d99e98a1d9382befe59cc7a245042171" - ], - [ - "LowStar.ImmutableBuffer.igcmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_593a90e6b9922b915af57577c33b682a", - "refinement_interpretation_Tm_refine_9bb7e4178ec4950c9c8fabe04895cc5e" - ], - 0, - "b54962748620e81f1c204f67a8631e8b" - ], - [ - "LowStar.ImmutableBuffer.imalloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.cpred", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30f0f6e57eac741b56df42155d22fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_c99d50506075a936e258c0aa796e5922", - "typing_LowStar.ImmutableBuffer.immutable_preorder" - ], - 0, - "b441ad7e7d48509c3df9ddd63db021e4" - ], - [ - "LowStar.ImmutableBuffer.imalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.seq_eq", - "int_inversion", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "63913c5cbd8637cd0c1a8743aca847bd" - ], - [ - "LowStar.ImmutableBuffer.imalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_30f0f6e57eac741b56df42155d22fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a13ad9873c825c57ec2b8db765ed0391" - ], - 0, - "15a99ad3a8116528fe851d195e5c0ff1" - ], - [ - "LowStar.ImmutableBuffer.ialloca", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.cpred", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_97d7efb4c09595b4bea8dedfb1201608", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_ce924f0b742c2f487f4d49b6dc968489", - "typing_LowStar.ImmutableBuffer.immutable_preorder" - ], - 0, - "c368a6848a597e4f3148d998dce5494d" - ], - [ - "LowStar.ImmutableBuffer.ialloca_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "b2t_def", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", "equation_Prims.nat", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.seq_eq", - "int_inversion", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.seq", "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "03f68ec71e779cc921580b92d35f292b" - ], - [ - "LowStar.ImmutableBuffer.ialloca_of_list", - 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", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_275a13eb87217dc8355a9d25b048648d", - "refinement_interpretation_Tm_refine_4135925e1e5d36a5ab07ded8425c1d62", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "token_correspondence_LowStar.ImmutableBuffer.cpred", - "typing_FStar.Seq.Base.seq_of_list", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null" - ], - 0, - "5c6d65a9007079b5c8b865d6d66d28fb" - ], - [ - "LowStar.ImmutableBuffer.igcmalloc_of_list", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_36f5e9395beebba9612ea57cdeca01fe", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d11566d8bf7bc38ddc1750b94f7421ba", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_fb1b732460e2f06dbff453fe93d45221", - "token_correspondence_LowStar.ImmutableBuffer.cpred", - "typing_FStar.Seq.Base.seq_of_list", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "736ddc96c9ece307e01f6a1d29cbb6dc" - ], - [ - "LowStar.ImmutableBuffer.igcmalloc_of_list_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_43d5bfa8ebeb0bdf4e6362f02cd1463d", - "refinement_interpretation_Tm_refine_d11566d8bf7bc38ddc1750b94f7421ba" - ], - 0, - "221e6a405bb0e42907a6d31dad73924c" - ], - [ - "LowStar.ImmutableBuffer.witness_contents", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "refinement_interpretation_Tm_refine_14751b93824bda7edf18bc368eb291a4", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "token_correspondence_LowStar.ImmutableBuffer.cpred", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "8e119381205448132c405a9e096582aa" - ], - [ - "LowStar.ImmutableBuffer.recall_contents", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ImmutableBuffer.cpred", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_LowStar.ImmutableBuffer.cpred", - "interpretation_Tm_abs_a1308f43a01bde77a7d5245910479367", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "cb1e371ad98c9151bb0d42cd54e994ef" - ], - [ - "LowStar.ImmutableBuffer.witness_value", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "token_correspondence_LowStar.ImmutableBuffer.seq_eq", - "typing_FStar.Seq.Base.seq", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "7babaa4b34b6fc92bdb80bba57563fbe" - ], - [ - "LowStar.ImmutableBuffer.recall_value", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.ImmutableBuffer.seq_eq", - "equation_LowStar.ImmutableBuffer.value_is", - "function_token_typing_LowStar.ImmutableBuffer.seq_eq", - "interpretation_Tm_abs_b9dd8ed239e8ba673d5ea4e15daaa4d1", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "refinement_interpretation_Tm_refine_133bd68452bdd5438a0cd800974412f0", - "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.seq", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "e6f7ee7343ca47d28ef848742e339eac" - ], - [ - "LowStar.ImmutableBuffer.inhabited_immutable_buffer_is_distinct_from_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Seq.Base.create", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.ImmutableBuffer.immutable_preorder" - ], - 0, - "c937530f874a835975ad5b63fc058ca8" - ], - [ - "LowStar.ImmutableBuffer.buffer_immutable_buffer_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Set.subset", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_LowStar.ImmutableBuffer.immutable_preorder", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LowStar.ImmutableBuffer.immutable_preorder", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.empty", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "3fc249ec28728b301cd5f1431db1fa73" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Lens.Buffer.fst.hints b/ulib/.hints/LowStar.Lens.Buffer.fst.hints deleted file mode 100644 index ec963757def..00000000000 --- a/ulib/.hints/LowStar.Lens.Buffer.fst.hints +++ /dev/null @@ -1,798 +0,0 @@ -[ - "\u0011Ârx˜¬‰‡¨l\u0006þK|L", - [ - [ - "LowStar.Lens.Buffer.ok_for_ptr", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "11abbda0c2b75cd743c1a4a3ddf05ad8" - ], - [ - "LowStar.Lens.Buffer.ptr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "true_interp" - ], - 0, - "004255057fc580534e7682673a68e205" - ], - [ - "LowStar.Lens.Buffer.view_type_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "90db929604b6312f5d9ecd9b450c2551" - ], - [ - "LowStar.Lens.Buffer.get_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "3cb25c3174b489c98101eee5b92b3aad" - ], - [ - "LowStar.Lens.Buffer.put_value_at", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "186928ac35685068db3626054ad7de8f" - ], - [ - "LowStar.Lens.Buffer.as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.view_type_of", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "d7b899d00f070c88b4fbfd580114f135" - ], - [ - "LowStar.Lens.Buffer.id_lens", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_ba01c0014a61ba65c741f6b8b269f5da", - "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" - ], - 0, - "99f1ded7e510c2b6be27c3aa2bf61abd" - ], - [ - "LowStar.Lens.Buffer.__proj__Mk__item__reader", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "61b112a87cf79729d6c9bba65d652627" - ], - [ - "LowStar.Lens.Buffer.__proj__Mk__item__writer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "72ca5af83b9cb0f0e871f56b5d598f97" - ], - [ - "LowStar.Lens.Buffer.mk", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Mkhs_lens", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.get_put", - "equation_LowStar.Lens.get_reads_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.put_modifies_loc", - "equation_LowStar.Lens.snap", - "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "int_inversion", "int_typing", - "interpretation_Tm_abs_1996ab06df417255f7f724e81a7f1785", - "interpretation_Tm_abs_3df81e352ed3eaf978fad995773126ac", - "interpretation_Tm_abs_712468ba117fed1847ede4bc37f63153", - "interpretation_Tm_abs_afaa6bc2b6afd69987301a2126d36b4f", - "interpretation_Tm_abs_f0438dc14e7f791d1a122e52e6e9b9d8", - "interpretation_Tm_abs_f890b0d4ed77baa4f5155d55d9c3f1b0", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens__a", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.snap", "typing_LowStar.Lens.view", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "fa5ed79404ad36cea48dffa68c0e4f8b" - ], - [ - "LowStar.Lens.Buffer.elim_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.mk", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "interpretation_Tm_abs_afaa6bc2b6afd69987301a2126d36b4f", - "interpretation_Tm_abs_f0438dc14e7f791d1a122e52e6e9b9d8", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.inv", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "246977d499a534ec13b5618903b92882" - ], - [ - "LowStar.Lens.Buffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "4463cd6f19465d49b711476f84ed6d21" - ], - [ - "LowStar.Lens.Buffer.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "3a8714dee06efa5ba14ccdaf2828318a" - ], - [ - "LowStar.Lens.Buffer.ok_for_ptr", - 2, - 2, - 1, - [ "@query", "projection_inverse_BoxInt_proj_0" ], - 0, - "ee1d360fb24406901cd5cfefd599ac44" - ], - [ - "LowStar.Lens.Buffer.ptr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.ok_for_ptr", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "true_interp" - ], - 0, - "950e4320c2be65048c4d2b3cea10182f" - ], - [ - "LowStar.Lens.Buffer.view_type_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "1d7a790941e9be13332a2186c17586af" - ], - [ - "LowStar.Lens.Buffer.get_value_at", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "d0e173bee296406df7a700d0792a4fd5" - ], - [ - "LowStar.Lens.Buffer.put_value_at", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "a424b238de6ccffac7faf3cfd16f574a" - ], - [ - "LowStar.Lens.Buffer.as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.view_type_of", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.Seq.Base.lemma_create_len", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "942e7ddbf11bd2fc3bdfad3a5812b271" - ], - [ - "LowStar.Lens.Buffer.id_lens", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_ba01c0014a61ba65c741f6b8b269f5da", - "interpretation_Tm_abs_c58fb9cf5ab704dce4061b2b83d64543" - ], - 0, - "db04940ba7fe0b588f5a0b23f60554a7" - ], - [ - "LowStar.Lens.Buffer.__proj__Mk__item__reader", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "54e9bbb9403799a179f6c6bb89c2c424" - ], - [ - "LowStar.Lens.Buffer.__proj__Mk__item__writer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.flavor", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "projection_inverse_LowStar.Lens.Buffer.Mk_hs_lens", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb" - ], - 0, - "c617cf0839a7a47f4dc409fa888df2e5" - ], - [ - "LowStar.Lens.Buffer.mk", - 2, - 2, - 1, - [ "@query" ], - 0, - "8b7031d1d051640cddc92986863b313c" - ], - [ - "LowStar.Lens.Buffer.elim_inv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_LowStar.Lens.Buffer.Mk", - "disc_equation_LowStar.Lens.Buffer.Buffer", - "disc_equation_LowStar.Lens.Buffer.Pointer", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "9ff7cd9ba047a376467ddd44106034e5" - ], - [ - "LowStar.Lens.Buffer.index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "c1ec70aa526ad638e95173dbe045ed6e" - ], - [ - "LowStar.Lens.Buffer.index", - 3, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_712468ba117fed1847ede4bc37f63153", - "interpretation_Tm_abs_f890b0d4ed77baa4f5155d55d9c3f1b0" - ], - 0, - "8fc77b714e62242cbb64e1c0617a20fe" - ], - [ - "LowStar.Lens.Buffer.upd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "9fc2d907876eaab3f787d6f2a7b7437b" - ], - [ - "LowStar.Lens.Buffer.upd", - 3, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_712468ba117fed1847ede4bc37f63153", - "interpretation_Tm_abs_f890b0d4ed77baa4f5155d55d9c3f1b0" - ], - 0, - "99fa7fbaf381176b25acffa122d62249" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Lens.Tuple2.fst.hints b/ulib/.hints/LowStar.Lens.Tuple2.fst.hints deleted file mode 100644 index 85a5904ef7f..00000000000 --- a/ulib/.hints/LowStar.Lens.Tuple2.fst.hints +++ /dev/null @@ -1,1274 +0,0 @@ -[ - "†»±E‘J)S­~\u001f,øŒ¾·", - [ - [ - "LowStar.Lens.Tuple2.composable", - 1, - 2, - 1, - [ "@query" ], - 0, - "3d4334da1f60bc1a4f040a146852463e" - ], - [ - "LowStar.Lens.Tuple2.mk", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowStar.Lens.Mkhs_lens", "data_elim_LowStar.Lens.Mklens", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.eloc", - "equation_LowStar.Lens.get_put", - "equation_LowStar.Lens.get_reads_loc", "equation_LowStar.Lens.imem", - "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", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__put", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_1a01aab794c1d04f1d478f00bbd47474", - "interpretation_Tm_abs_23309f1866c669109d33ad4bd00adf21", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "l_and-interp", "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__put", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__l", - "typing_LowStar.Lens.as_loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", "unit_typing" - ], - 0, - "19cea317ced3c70049f01a0ce4627439" - ], - [ - "LowStar.Lens.Tuple2.op_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Tuple2.mk", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Lens.snap", - "typing_LowStar.Lens.view", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "f1b66eec6a3f8b7e198e3e0e5ae27220" - ], - [ - "LowStar.Lens.Tuple2.op_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.inv", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Tuple2.mk", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Lens.snap", - "typing_LowStar.Lens.view", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "962e1235d4ce19eb1414b1d7d6c49449" - ], - [ - "LowStar.Lens.Tuple2.lens_fst", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_14fe9ddc1dd9cdd48b4cb989d7269bc1", - "interpretation_Tm_abs_30b3ed4e72bcbde33d935cd5a836663a", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "20e4b235cc3777dc7477823047ec8ec6" - ], - [ - "LowStar.Lens.Tuple2.lens_snd", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_40df4494bf739aae4cf68e8bef50ece4", - "interpretation_Tm_abs_46039d5196859aaedaff2a6989177872", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "f29fd0098ae03c18aa0b0836238d246e" - ], - [ - "LowStar.Lens.Tuple2.tup2_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "652c2a1976f22ed64dd59c46dfda8fa3" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__bl2", - 1, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1" - ], - 0, - "dcfd0c9b8f28457e8b96a9eb9c858d84" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "56b43b40d72e49c1e2d30cb2741616d8" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "11de2c9da66c3be8c246e64b5240de1c" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "5a3a9552b197521e2a73adc36dfa1b97" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "e113857eaad249414403339ed91cd953" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "3320e3a846b0b25279e88be995ec1674" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "2cdfc5bf190dcf949b8e14fa2f0ad984" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "d39a3152d9480a5136292fcc9cca235d" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "9430bbef9339fe3b3f547f0bece692d1" - ], - [ - "LowStar.Lens.Tuple2.mk_tup2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_a20521070114f149cb24b2910465c892", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "306c7ddbec76bab56a216099f9b5aa71" - ], - [ - "LowStar.Lens.Tuple2.lens_of", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "acbbcdb569791bf224455545e39b3db4" - ], - [ - "LowStar.Lens.Tuple2.test_read_ptr_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "data_elim_LowStar.Lens.Tuple2.Mk", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl1", - "typing_LowStar.Monotonic.Buffer.len", - "typing_tok_LowStar.Lens.Buffer.Buffer@tok", - "typing_tok_LowStar.Lens.Buffer.Pointer@tok" - ], - 0, - "6802d2d66079d30918865a5456d0b731" - ], - [ - "LowStar.Lens.Tuple2.test_read_buf_snd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "e4890bcde5077bfb89c337e37b16646d" - ], - [ - "LowStar.Lens.Tuple2.test_write_ptr_fst", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Pointer", - "data_elim_LowStar.Lens.Buffer.Mk", - "data_elim_LowStar.Lens.Tuple2.Mk", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.pointer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_573cfed777dae20cc82e8fef9622857e", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_c6c18a7ceb46d419c35ff8551117551e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl1", - "typing_LowStar.Monotonic.Buffer.len", - "typing_tok_LowStar.Lens.Buffer.Buffer@tok", - "typing_tok_LowStar.Lens.Buffer.Pointer@tok" - ], - 0, - "dce4396df8cbef5b2e11db13ce90f4ec" - ], - [ - "LowStar.Lens.Tuple2.test_write_buf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "d9fa815cc0ff2930eaf0cb2d1eecafb9" - ], - [ - "LowStar.Lens.Tuple2.elim_tup2_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Buffer.Mk", - "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.lens_of", - "equation_LowStar.Lens.Tuple2.mk", - "equation_LowStar.Lens.Tuple2.mk_tup2", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.eloc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Buffer.Mk_hs_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "token_correspondence_LowStar.Lens.inv", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.Tuple2.lens_of", - "typing_LowStar.Lens.Tuple2.mk_tup2", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.as_loc", "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "79471f624ac803c38f97001bf592c731" - ], - [ - "LowStar.Lens.Tuple2.composable", - 2, - 2, - 1, - [ "@query" ], - 0, - "431e24bed92eaeed3ef84384230d8abc" - ], - [ - "LowStar.Lens.Tuple2.mk", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.List.Tot.Base_interpretation_Tm_ghost_arrow_d7e9834b8fd0407a723f5f3f4b012fdd", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "data_elim_FStar.Pervasives.Native.Mktuple2", - "data_elim_LowStar.Lens.Mkhs_lens", "data_elim_LowStar.Lens.Mklens", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.eloc", - "equation_LowStar.Lens.get_put", - "equation_LowStar.Lens.get_reads_loc", "equation_LowStar.Lens.imem", - "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", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__put", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_1a01aab794c1d04f1d478f00bbd47474", - "interpretation_Tm_abs_23309f1866c669109d33ad4bd00adf21", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "l_and-interp", "l_quant_interp_5b2993f9f2c0eba3627049a3b4167c7a", - "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_7e66686f307d41647fb204ac703c896b", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__put", - "typing_FStar.Ghost.hide", "typing_FStar.Ghost.reveal", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__l", - "typing_LowStar.Lens.as_loc", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", "unit_typing" - ], - 0, - "c200052d321633d68eeaa1cd9ff7ec98" - ], - [ - "LowStar.Lens.Tuple2.lens_fst", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_14fe9ddc1dd9cdd48b4cb989d7269bc1", - "interpretation_Tm_abs_30b3ed4e72bcbde33d935cd5a836663a", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "7504541be910a4bc3da925f03342b697" - ], - [ - "LowStar.Lens.Tuple2.lens_snd", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_40df4494bf739aae4cf68e8bef50ece4", - "interpretation_Tm_abs_46039d5196859aaedaff2a6989177872", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "c5b73e5bad4cfa336d1d43221bd93b82" - ], - [ - "LowStar.Lens.Tuple2.tup2_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "8435bde5c5e1a9eebaba57e8648c2e9f" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__bl2", - 2, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1" - ], - 0, - "600f572908a6697fe5dc78c649755988" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "c54c15c1dff19c7e608069abcc60e102" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_fst", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "ac1dcb6938d4e08ee6a06832730212dc" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "201f9696db938c5c04cba12731d13734" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__read_snd", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "7374148086870fe4d16c661ba5c246d2" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "04dcd044c3ec391dc3517ebbaa7f08ed" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_fst", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "6a7c59e672c31e4454285d8cc2245560" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "27f2c72e646c1a507f4598e6555d4350" - ], - [ - "LowStar.Lens.Tuple2.__proj__Mk__item__write_snd", - 4, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Tuple2.Mk", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7" - ], - 0, - "3f415629b08091eb07e468999f3823ff" - ], - [ - "LowStar.Lens.Tuple2.mk_tup2", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.flavor", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.mk", "equation_LowStar.Lens.as_loc", - "equation_LowStar.Lens.eloc", "equation_LowStar.Lens.get_reads_loc", - "equation_LowStar.Lens.imem", "equation_LowStar.Lens.imem_lens", - "equation_LowStar.Lens.invariant_reads_loc", - "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.Buffer.buffer_lens", - "fuel_guarded_inversion_LowStar.Lens.Buffer.flav", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_LowStar.Lens.__proj__Mklens__item__get", - "function_token_typing_LowStar.Monotonic.Buffer.loc", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "interpretation_Tm_abs_9cc3869655d77ce073e818e7dbac7e1c", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Mklens_get", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_l", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mklens_get", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_1c9044117730afbc4604b4a04ffc77eb", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_3f6d01b6bf38baabfa9d99d2ce5f8cd8", - "refinement_interpretation_Tm_refine_a20521070114f149cb24b2910465c892", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "token_correspondence_LowStar.Lens.__proj__Mklens__item__get", - "typing_FStar.Ghost.reveal", "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__footprint", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Lens.snap", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "6ac7508c11602a3105cc6d6b78e54cef" - ], - [ - "LowStar.Lens.Tuple2.lens_of", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_06a6aebd6188145e0acd285e0b95f755", - "typing_LowStar.Lens.Tuple2.__proj__Mk__item__bl2" - ], - 0, - "01c122c02117335396750de76e0c97ce" - ], - [ - "LowStar.Lens.Tuple2.read_fst", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_2ca0a17fab4ba8e1c238da68b3814690", - "interpretation_Tm_abs_efc7d6bbfb6aac3d286f40d794faf270", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "c9f8a3fa43847df718a1b0d01f5ba4d8" - ], - [ - "LowStar.Lens.Tuple2.read_snd", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_17502dee829a17c6319c16e5a52ea78c", - "interpretation_Tm_abs_8fa2169219b7556ffe3ce3cbe4d7178d", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "314b243c0ac4053dc839eec2781deb8e" - ], - [ - "LowStar.Lens.Tuple2.write_fst", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_2ca0a17fab4ba8e1c238da68b3814690", - "interpretation_Tm_abs_efc7d6bbfb6aac3d286f40d794faf270", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1" - ], - 0, - "a5ebc4de7b21a08d037c832667fe7dff" - ], - [ - "LowStar.Lens.Tuple2.write_snd", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.get_put", - "interpretation_Tm_abs_17502dee829a17c6319c16e5a52ea78c", - "interpretation_Tm_abs_8fa2169219b7556ffe3ce3cbe4d7178d", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2" - ], - 0, - "be01602f1a93df7ee4af3bc9dbc3d233" - ], - [ - "LowStar.Lens.Tuple2.test_read_buf_snd", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt32.lt", - "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" - ], - 0, - "50829a2298d2bf966160ac2c1b9c8443" - ], - [ - "LowStar.Lens.Tuple2.test_write_buf", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_LowStar.Lens.Buffer.Buffer", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_LowStar.Lens.Buffer.Buffer@tok", - "equality_tok_LowStar.Lens.Buffer.Pointer@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Lens.Buffer.ix", - "equation_LowStar.Lens.Buffer.lseq_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Lens.Tuple2.tup2_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_5ecd146a88b7c347dcfc4ea6633171e9", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "0a83765faf57e0a73b5b69bd0c771ba8" - ], - [ - "LowStar.Lens.Tuple2.elim_tup2_inv", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "data_elim_LowStar.Lens.Mkhs_lens", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Lens.Buffer.buffer_hs_lens", - "equation_LowStar.Lens.Buffer.lens_of", - "equation_LowStar.Lens.Buffer.view_type_of", - "equation_LowStar.Lens.Tuple2.composable", - "equation_LowStar.Lens.Tuple2.lens_of", - "equation_LowStar.Lens.Tuple2.mk", - "equation_LowStar.Lens.Tuple2.mk_tup2", - "equation_LowStar.Lens.as_loc", "equation_LowStar.Lens.imem", - "equation_LowStar.Lens.imem_lens", "equation_LowStar.Lens.snap", - "fuel_guarded_inversion_LowStar.Lens.hs_lens", - "fuel_guarded_inversion_LowStar.Lens.lens", - "function_token_typing_FStar.Monotonic.Heap.heap", - "interpretation_Tm_abs_392f1d5eac0c03d65a9d32f583327e32", - "kinding_FStar.Pervasives.Native.tuple2@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_l", - "proj_equation_LowStar.Lens.Mkhs_lens_snapshot", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl1", - "proj_equation_LowStar.Lens.Tuple2.Mk_bl2", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_snapshot", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl1", - "projection_inverse_LowStar.Lens.Tuple2.Mk_bl2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1495cf439cd222fe40e4c274af77bad3", - "refinement_interpretation_Tm_refine_2a0d9e0b094bfc2dcdb74f08d0cd37d7", - "refinement_interpretation_Tm_refine_2a8dee9dbe756da080af35157125e6e3", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_LowStar.Lens.Buffer.lens_of", - "typing_LowStar.Lens.Buffer.view_type_of", - "typing_LowStar.Lens.Tuple2.lens_of", - "typing_LowStar.Lens.Tuple2.mk_tup2", - "typing_LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "ce35da0ebab50b5cda8a8482e4252220" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Lens.fst.hints b/ulib/.hints/LowStar.Lens.fst.hints deleted file mode 100644 index 075dbc426b4..00000000000 --- a/ulib/.hints/LowStar.Lens.fst.hints +++ /dev/null @@ -1,209 +0,0 @@ -[ - "Ϲjr©â¹èUŠJÀs~\u001dò", - [ - [ - "LowStar.Lens.__proj__Mklens__item__lens_laws", - 1, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put" - ], - 0, - "ffcb9142a870d4699fce2a085633c458" - ], - [ - "LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - 1, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant" - ], - 0, - "9a71d9c8f83babb71f4b3e6f712fd0e6" - ], - [ - "LowStar.Lens.__proj__Mkhs_lens__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Lens.imem_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant" - ], - 0, - "eb8920567f78beae4b2888c13288b5c5" - ], - [ - "LowStar.Lens.view", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Lens.inv" ], - 0, - "19e800880b273ff25fee7db356cc70e6" - ], - [ - "LowStar.Lens.LensST", - 1, - 2, - 1, - [ "@query" ], - 0, - "c9af26e62e6d1a4d946dcdae5575ca9c" - ], - [ - "LowStar.Lens.reveal_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Lens.inv", - "equation_LowStar.Lens.mods", "equation_LowStar.Lens.view", - "fuel_guarded_inversion_LowStar.Lens.hs_lens" - ], - 0, - "842daacc74b3f2cef894e32f13bebab0" - ], - [ - "LowStar.Lens.for_n", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "cbec9d3e32f52e73377b293bf27e4ce1" - ], - [ - "LowStar.Lens.for_n", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7e0b9b2dbca36eab00de093c1b701c6d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "aba9acb846bff9f355f01da5e4bb895e" - ], - [ - "LowStar.Lens.__proj__Mklens__item__lens_laws", - 2, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Mklens_get", - "proj_equation_LowStar.Lens.Mklens_put", - "projection_inverse_LowStar.Lens.Mklens_get", - "projection_inverse_LowStar.Lens.Mklens_put" - ], - 0, - "f0ad6fd410c866f6c5319ad5ee4797c2" - ], - [ - "LowStar.Lens.__proj__Mkhs_lens__item__snapshot", - 2, - 2, - 1, - [ - "@query", "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant" - ], - 0, - "5296e7a28eed49294450cc0b4f4db4ce" - ], - [ - "LowStar.Lens.__proj__Mkhs_lens__item__l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Lens.imem_lens", - "proj_equation_LowStar.Lens.Mkhs_lens_footprint", - "proj_equation_LowStar.Lens.Mkhs_lens_invariant", - "proj_equation_LowStar.Lens.Mkhs_lens_x", - "projection_inverse_LowStar.Lens.Mkhs_lens_footprint", - "projection_inverse_LowStar.Lens.Mkhs_lens_invariant", - "projection_inverse_LowStar.Lens.Mkhs_lens_x", - "refinement_interpretation_Tm_refine_cb27e7e01c1acdd661219052e523b42b", - "token_correspondence_LowStar.Lens.__proj__Mkhs_lens__item__invariant" - ], - 0, - "8be8873c3ac8c608cc7f2a6b6f8423a3" - ], - [ - "LowStar.Lens.LensST", - 2, - 2, - 1, - [ "@query" ], - 0, - "77433d8e01faa34611f431a7ea503b85" - ], - [ - "LowStar.Lens.reveal_inv", - 2, - 2, - 1, - [ "@query" ], - 0, - "11db800c5e4e91a5ade48966755b235f" - ], - [ - "LowStar.Lens.for_n", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c" - ], - 0, - "114ae9f6eaed2cbb15b5278505fc864a" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Literal.fsti.hints b/ulib/.hints/LowStar.Literal.fsti.hints deleted file mode 100644 index 329ed7920a9..00000000000 --- a/ulib/.hints/LowStar.Literal.fsti.hints +++ /dev/null @@ -1,206 +0,0 @@ -[ - "«–î!È~:˜`\u0019ýòo\u0005\u001eÒ", - [ - [ - "LowStar.Literal.for_all_tail", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@query", "bool_inversion", "disc_equation_Prims.Cons", - "equation_FStar.List.Tot.Base.tail", - "equation_FStar.List.Tot.Base.tl", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "typing_FStar.List.Tot.Base.for_all", "typing_FStar.List.Tot.Base.tl" - ], - 0, - "ebc85c8eef847ad0e259ac487f59eb5a" - ], - [ - "LowStar.Literal.ascii_chars_of_ascii_string", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.String.char", - "equation_FStar.String.strlen", - "equation_LowStar.Literal.ascii_char", - "equation_LowStar.Literal.ascii_string", - "equation_LowStar.Literal.is_ascii_string", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", - "string_inversion", "typing_Prims.int" - ], - 0, - "aaec00fda7fff22e8eaf7fdd7bc9ed92" - ], - [ - "LowStar.Literal.u8_of_ascii_char", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Char.char_code", "equation_FStar.Char.int_of_char", - "equation_FStar.Int.Cast.uint32_to_uint8", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Literal.ascii_char", - "equation_LowStar.Literal.is_ascii_char", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_96af4a84eae6a9bae92bc908a1c3c24c", - "refinement_interpretation_Tm_refine_c57d36ad039c8c467f84a3cddbd2134b", - "refinement_interpretation_Tm_refine_d9192f4297d24144581d486ededefa39", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Char.int_of_char", "typing_FStar.Char.u32_of_char", - "typing_FStar.Int.Cast.uint32_to_uint8", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.v", "typing_LowStar.Literal.is_ascii_char", - "typing_Prims.pow2" - ], - 0, - "4cd4b7708e01bd30523fd0d25de730ab" - ], - [ - "LowStar.Literal.u8s_of_ascii_string", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "LowStar.Literal_interpretation_Tm_arrow_c19a0e68aff5b3b109f7f5bde22b7020", - "equation_FStar.String.strlen", - "equation_LowStar.Literal.ascii_char", - "equation_LowStar.Literal.ascii_chars_of_ascii_string", - "equation_LowStar.Literal.ascii_string", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_LowStar.Literal.u8_of_ascii_char", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.List.Tot.Properties.map_lemma", - "refinement_interpretation_Tm_refine_0d1e508b87fa2fc445fd2b399d50d35d", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", - "refinement_interpretation_Tm_refine_9019467541c7c5dea928025e6ed4c50a", - "refinement_kinding_Tm_refine_c57d36ad039c8c467f84a3cddbd2134b", - "string_inversion", - "token_correspondence_LowStar.Literal.u8_of_ascii_char", - "typing_FStar.UInt8.t", - "typing_LowStar.Literal.ascii_chars_of_ascii_string", - "typing_Prims.int" - ], - 0, - "f3712096330f1062cd66f4b2c3f4a334" - ], - [ - "LowStar.Literal.buffer_of_literal_post", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6f7373241086729589d2e0b32198278b" - ], - [ - "LowStar.Literal.buf_len_of_literal", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "LowStar.Literal_interpretation_Tm_arrow_fc1554671c39653ed371206100dcafd3", - "b2t_def", "bool_inversion", - "data_typing_intro_FStar.Pervasives.Native.Mktuple2@tok", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.String.char", "equation_FStar.String.strlen", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Literal.ascii_string", - "equation_LowStar.Literal.is_ascii_string", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_LowStar.Literal.is_ascii_char", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_typing", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b5999aae4696b44f132ec1e7bb5511e", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7f4c578b4dcde91bb19180b62a7b1bc9", - "refinement_interpretation_Tm_refine_dc0c63b38cdfef929a206f9b05fda0d3", - "refinement_interpretation_Tm_refine_f0b961e2ff2b6a1e22a2530c160863e0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", - "token_correspondence_LowStar.Literal.is_ascii_char", - "typing_FStar.Char.char", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.String.list_of_string", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.ImmutableBuffer.ibuffer", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Literal.is_ascii_string", - "typing_LowStar.Literal.u8s_of_ascii_string", - "typing_LowStar.Monotonic.Buffer.len", "typing_Prims.int", - "typing_Prims.pow2" - ], - 0, - "64b6ff5fcc976fd0e1e4ed6f0734f180" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Modifies.fst.hints b/ulib/.hints/LowStar.Modifies.fst.hints deleted file mode 100644 index 247b8ad9c2e..00000000000 --- a/ulib/.hints/LowStar.Modifies.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "L»;ƒQ¦\tîæþ\b\u0016=\u0000Aú", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.ModifiesPat.fst.hints b/ulib/.hints/LowStar.ModifiesPat.fst.hints deleted file mode 100644 index 34fb3011434..00000000000 --- a/ulib/.hints/LowStar.ModifiesPat.fst.hints +++ /dev/null @@ -1 +0,0 @@ -[ "0r*áò\u0002R\u0003h\u0010ò‚Õ%%\r", [] ] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Monotonic.Buffer.fst.hints b/ulib/.hints/LowStar.Monotonic.Buffer.fst.hints deleted file mode 100644 index cac5e443870..00000000000 --- a/ulib/.hints/LowStar.Monotonic.Buffer.fst.hints +++ /dev/null @@ -1,10251 +0,0 @@ -[ - "\u007fï!bÌ=›£öã~Hš«ìñ", - [ - [ - "LowStar.Monotonic.Buffer.compatible_subseq_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "73fef566420e7ac27ff66bee76115095" - ], - [ - "LowStar.Monotonic.Buffer.srel_to_lsrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_FStar.Seq.Properties.lseq", "equation_Prims.nat", - "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e" - ], - 0, - "76d612338acfc5c204b2dcd1ea025f7c" - ], - [ - "LowStar.Monotonic.Buffer.lemma_seq_sub_compatilibity_is_reflexive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "primitive_Prims.op_Addition", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.replace_subseq" - ], - 0, - "85baee121bac10c11f0539b0874c6ba8" - ], - [ - "LowStar.Monotonic.Buffer.lemma_seq_sub_compatibility_is_transitive", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "eq2-interp", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_Prims.l_imp", "equation_Prims.nat", - "equation_Prims.squash", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", "l_imp-interp", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4bf42b05ed6252d39cb68ebc9d795a0c", - "refinement_interpretation_Tm_refine_53b1bb69113ab6f69eb61c1565783445", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f2ab8aed7318214a5b740c049c0c6869", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "4590e7801b9452d90ef90f47f98ad5b0" - ], - [ - "LowStar.Monotonic.Buffer.mbuffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b69393eb59d8ec6809efff5627ed6551" - ], - [ - "LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" - ], - 0, - "d4ab94aef8090e41c2496da3bd314ce1" - ], - [ - "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "7f83cce1e93f05bb4775e522688a257e" - ], - [ - "LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "971232af135c968507eb3ff0e4dd9e08" - ], - [ - "LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" - ], - 0, - "c2eb8dc4aae27e575fbe9276216aaa4b" - ], - [ - "LowStar.Monotonic.Buffer.__proj__Buffer__item__length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30" - ], - 0, - "2b97f4a024acfcf8fe56817cbb091a6e" - ], - [ - "LowStar.Monotonic.Buffer.mnull", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" - ], - 0, - "c0361fb3cbde96ce1fe1de1050ad7d28" - ], - [ - "LowStar.Monotonic.Buffer.null_unique", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.mnull", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "7ff9c9e969b1df1bc80932abf97f026a" - ], - [ - "LowStar.Monotonic.Buffer.unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "42a6637ea7a3ca294956f167e4b2b306" - ], - [ - "LowStar.Monotonic.Buffer.buffer_compatible", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v" - ], - 0, - "dc993a038fd89c3ef17182266d76c1ac" - ], - [ - "LowStar.Monotonic.Buffer.live", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "419a1de6a684506d5b18b16d4c2a9435" - ], - [ - "LowStar.Monotonic.Buffer.live_null", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mnull", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "true_interp" - ], - 0, - "0e480eee64a164f3cbc21d731ce53d71" - ], - [ - "LowStar.Monotonic.Buffer.live_is_null", - 1, - 2, - 1, - [ "@query", "projection_inverse_BoxBool_proj_0" ], - 0, - "80e9184d133957b91cc02ef041fa018c" - ], - [ - "LowStar.Monotonic.Buffer.live_not_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", - "false_interp", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "148402903750abdd956bd3ecab103050" - ], - [ - "LowStar.Monotonic.Buffer.lemma_live_equal_mem_domains", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "9dd9b938420d1a79ed25b7cddb599f48" - ], - [ - "LowStar.Monotonic.Buffer.frameOf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "97a05fdca67e0d4505c37480a4f47ada" - ], - [ - "LowStar.Monotonic.Buffer.as_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "3c5280948c067813d139409a8fb35f33" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_equiv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", "equation_Prims.nat", - "false_interp", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "20d0745215c1aeb181d77507d3830e0f" - ], - [ - "LowStar.Monotonic.Buffer.live_region_frameOf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "835044dac22c11c55b121db7e6045243" - ], - [ - "LowStar.Monotonic.Buffer.len", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "403b2d780eab86f1e4be17606902d4f4" - ], - [ - "LowStar.Monotonic.Buffer.length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1bd2b7ccc92c3078a0d570634e5259ba" - ], - [ - "LowStar.Monotonic.Buffer.len_null", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.mnull", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" - ], - 0, - "35152b082a0929f0e78015c4035e1f57" - ], - [ - "LowStar.Monotonic.Buffer.length_null_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mnull", "equation_Prims.nat", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "5b992085663d534a8199c07c02599e1f" - ], - [ - "LowStar.Monotonic.Buffer.length_null_2", - 1, - 2, - 1, - [ - "@query", "lemma_LowStar.Monotonic.Buffer.length_null_1", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0cbf20cd66a215bfb2901f09ac613796" - ], - [ - "LowStar.Monotonic.Buffer.as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "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" - ], - 0, - "660b0e502bcde1a4cf7a401bd6886a61" - ], - [ - "LowStar.Monotonic.Buffer.length_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.sel", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "98d1e4dbe73bda7c88e4b4f88121fb68" - ], - [ - "LowStar.Monotonic.Buffer.get", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], - 0, - "fb7881ad1daaa95047b4912b9d101a7a" - ], - [ - "LowStar.Monotonic.Buffer.mbuffer_injectivity_in_first_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer" - ], - 0, - "de9466a8b74f21192d8c492a30f74daf" - ], - [ - "LowStar.Monotonic.Buffer.compatible_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a9868f2c0b080ad4c91c669e090a27e8", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "3d39c718d2e026c01b5a2dabf9d31fad" - ], - [ - "LowStar.Monotonic.Buffer.mgsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "unit_typing" - ], - 0, - "d02c7960ece2be2e303d0f43c09fd5e7" - ], - [ - "LowStar.Monotonic.Buffer.live_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_688eb7732240687f918bb9a141526765" - ], - 0, - "eedaf368d851775dbb0e4d3b2aebd8d9" - ], - [ - "LowStar.Monotonic.Buffer.live_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "unit_typing" - ], - 0, - "e6772ca6b05c3fbc36fa9ff4efedf65e" - ], - [ - "LowStar.Monotonic.Buffer.gsub_is_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "693be92816bba739c9bfde9ee708fc49" - ], - [ - "LowStar.Monotonic.Buffer.gsub_is_null", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4" - ], - 0, - "4298ae71e3063215551031befbe83d52" - ], - [ - "LowStar.Monotonic.Buffer.len_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "347f94c65f32453a591e7c81951183e9" - ], - [ - "LowStar.Monotonic.Buffer.len_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "89d8837b3b8149718dac5c5dc11bf7de" - ], - [ - "LowStar.Monotonic.Buffer.frameOf_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "71f9b7aacf2e42334a39fefa8852f267" - ], - [ - "LowStar.Monotonic.Buffer.frameOf_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "fcc5864a33999c93fac710553978f7f4" - ], - [ - "LowStar.Monotonic.Buffer.as_addr_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8c098dc9178f261d7aca70e3b5ae5444" - ], - [ - "LowStar.Monotonic.Buffer.as_addr_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_AmpAmp", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "bc5859b8ed29a90b8d12c75d6b424556" - ], - [ - "LowStar.Monotonic.Buffer.mgsub_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "bb2c219a4c19b803edabd845623a057a" - ], - [ - "LowStar.Monotonic.Buffer.mgsub_inj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "5349cd6587bd1b32724b6cc33ad600da" - ], - [ - "LowStar.Monotonic.Buffer.gsub_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1ce0adba028154a4fe53f4f3868545d", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "42a546cc346c471fa94dfb2190c7f53c" - ], - [ - "LowStar.Monotonic.Buffer.gsub_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "f232b0559b2ad5c4c930dc3d52f829e2" - ], - [ - "LowStar.Monotonic.Buffer.gsub_zero_length", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "031ba826941a323aeafc280424570905" - ], - [ - "LowStar.Monotonic.Buffer.gsub_zero_length", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "0d26bdeb48aeb7e9b0ee0325b3f059c3" - ], - [ - "LowStar.Monotonic.Buffer.as_seq_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.squash", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "bf6328347257267a3973522a86e643e5" - ], - [ - "LowStar.Monotonic.Buffer.as_seq_gsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.eqtype", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.empty", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub", "unit_typing" - ], - 0, - "c299c13776b3a6701de57b44045f60ac" - ], - [ - "LowStar.Monotonic.Buffer.lemma_equal_instances_implies_equal_types", - 1, - 2, - 1, - [ "@query" ], - 0, - "919474155090a17c2a9c68ca54257d9e" - ], - [ - "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", "equation_Prims.op_Equals_Equals_Equals", - "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.uu___is_Null" - ], - 0, - "84aa060f3a12956e443a06ac9febbdbb" - ], - [ - "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", - 1, - 2, - 1, - [ "@query" ], - 0, - "1ceed676d07881d4149cf95aa7f5a41d" - ], - [ - "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", - 2, - 2, - 1, - [ "@query" ], - 0, - "ac1a2f0b0e724e32971411fef43dee89" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_of_buffer'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "2c3ca742a6a7b3c2871a421bc312ff0e" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "d6ab2b0e392fcede7ceb085fb41d86a2" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.nat", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "e56c9e1aff09a3a11910272f7c4f174c" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "73c7232dbfcb8f38f80e0a7c799ab344" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_refl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Ghost.reveal", "typing_FStar.Seq.Base.slice", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "72caaa5f71de6a0694418417f659e519" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_trans", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.slice", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "137cc3c5965a5bd1f44299d2fe6bfe2f" - ], - [ - "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", - 1, - 2, - 1, - [ "@query" ], - 0, - "f6e785d52f788bd9954fff8333509dc5" - ], - [ - "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.slice", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "0f5c7516e1aa3815c4dd05e4680208aa" - ], - [ - "LowStar.Monotonic.Buffer.same_mreference_ubuffer_preserved", - 3, - 2, - 1, - [ "@query" ], - 0, - "40ea8763dcdc4333cb48b3c61fd957dd" - ], - [ - "LowStar.Monotonic.Buffer.addr_unused_in_ubuffer_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_ref_unused_iff_addr_unused", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content" - ], - 0, - "7ded5b626431dfb0a0975033aef66635" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.uu___is_Null" - ], - 0, - "99b6c66d67aa499d43dffdd7a7a0f5fe" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", - "typing_LowStar.Monotonic.Buffer.uu___is_Null" - ], - 0, - "d5f7fa584c1045846a72796b9f55f7a9" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "915936144f26105703063f713061ad25" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_preserved_from_to_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374" - ], - 0, - "019a6662da3c896113e2d8f9d01bb55a" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_ubuffer_preserved", - 1, - 2, - 1, - [ "@query" ], - 0, - "9fb7c58cd20540b26bbb29a5c8c3f6c3" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_includes_refl", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" - ], - 0, - "f4800636189e1207d81d0f9587a7270b" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_includes_trans", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_" - ], - 0, - "00a47eeea51f2359e9c2c7ffd74ce1df" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_disjoint_sym", - 1, - 2, - 1, - [ - "@query", "eq2-interp", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_Prims.eq2", "equation_Prims.nat", "l_and-interp", - "l_or-interp", "primitive_Prims.op_BarBar", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_BoxBool_proj_0", "true_interp" - ], - 0, - "0905268e9c313d59fbd74c09944ff6e9" - ], - [ - "LowStar.Monotonic.Buffer.ubuffer_disjoint_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "l_and-interp", "l_or-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length" - ], - 0, - "6eca9171a8fc25e263db9064118387e8" - ], - [ - "LowStar.Monotonic.Buffer.liveness_preservation_intro", - 1, - 2, - 1, - [ "@query" ], - 0, - "3d8a599206aa6a6a166090346b8250c2" - ], - [ - "LowStar.Monotonic.Buffer.liveness_preservation_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "5aeafc3a3dc0f7e82a12297b40b7124f" - ], - [ - "LowStar.Monotonic.Buffer.liveness_preservation_intro", - 3, - 2, - 1, - [ "@query" ], - 0, - "236e8f758a4f2e541145a21849bb5e63" - ], - [ - "LowStar.Monotonic.Buffer.modifies_0_live_region", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions" - ], - 0, - "24312b6536b48a362d8b62b6676911a6" - ], - [ - "LowStar.Monotonic.Buffer.modifies_0_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_mreferences", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "73294ca9cb9cf49b94dc48825b228447" - ], - [ - "LowStar.Monotonic.Buffer.modifies_0_ubuffer", - 1, - 2, - 1, - [ "@query" ], - 0, - "005dd86484eaf6cec6567dd5ff2dd06f" - ], - [ - "LowStar.Monotonic.Buffer.modifies_0_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_not_unused_in", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "9ae558b3369c08a22606cc26b7880a66" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - 1, - 2, - 1, - [ "@query" ], - 0, - "100ca87164ea9fb68ae45e4d5c593381" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_live_region", - 1, - 2, - 1, - [ - "@query", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_" - ], - 0, - "ff1d85291604c6ea12284c94f4dab80b" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_live_region", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "l_and-interp" - ], - 0, - "debf4eb9a0689740a006c2cc6fa7fa6c" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_liveness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "cfcdd5dd37fb3a8cf2ee7b2b600011e2" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_liveness", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "l_and-interp" - ], - 0, - "e9ed1159dd8b2f547bae847c77e73e74" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_not_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "3879d0838d75e8f34bf42647a2995b45" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_not_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_Prims.nat", "int_inversion", "l_and-interp", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "f8ebc7c5a8804da7da74aec987452a9f" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_mreference", - 1, - 2, - 1, - [ "@query" ], - 0, - "294ad7f5b46958df1ec07d5b711bd56c" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_mreference", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "de5165ef233bea0c1c502c913d78df6a" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "l_and-interp" - ], - 0, - "80dcca86639844ccaf311284c1fae9eb" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_ubuffer", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_ubuffers" - ], - 0, - "a2c6adf9dca6139e52f13f0b59d552bd" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_ubuffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "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_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to_preserves_ubuffers", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_BarBar", - "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_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Properties.lseq", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "8528416a2aacb06489448bfba1f19dd9" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.modifies_0", - "equation_LowStar.Monotonic.Buffer.modifies_0_", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_Prims.pos", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_LowStar.Monotonic.Buffer.g_is_null" - ], - 0, - "07094e41bd118c839acd1e9ba83d87c7" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ea895141e849c04cbb85d5d9b325f3ca" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_live_region", - 1, - 2, - 1, - [ - "@query", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_" - ], - 0, - "27bd05297e0ac6720d6f6f22a3d527f5" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", - 1, - 2, - 1, - [ "@query" ], - 0, - "111bfd09400d9d8695b22bb34b72a84b" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_mreference", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "b8cee4ddbf11ccdef2b073534ec87699" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "26ecc0a8798fa4cbd8316b5d55f3636e" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_unused_in", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in", - "equation_Prims.nat", "int_inversion", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "0184ac04520fa3542103c8b6b750998c" - ], - [ - "LowStar.Monotonic.Buffer.cls", - 1, - 2, - 1, - [ "@query" ], - 0, - "c084085377e617b23b055e5f39ecc979" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_idem", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], - 0, - "ee2739e592c683893c397a639e29dd18" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_comm", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], - 0, - "b2214ee90c28e439c03363f0d8b5a463" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_assoc", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_union" ], - 0, - "318014ae12ff779270899cfae31da624" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_idem_1", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], - 0, - "6857329bd51f36379d66f3e3abe689eb" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_idem_2", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_union_idem" ], - 0, - "a62df5fbecd0442677c02aa530a14907" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_loc_none_l", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "4f4f9c37a34facd69bd43ce97082b340" - ], - [ - "LowStar.Monotonic.Buffer.loc_union_loc_none_r", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "990028d2829e16fee94439d4fdb4f76d" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "int_inversion", "int_typing", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" - ], - 0, - "c1e4bc01681924dcee57e3cc0c12c414" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_high", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "cae2af9365c8f4aff44b5b5d564c9058" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_none", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0" - ], - 0, - "ebea1fc7b93097aea0e11736b5232146" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_37276ec35b4c7b77e74ecf1e2a7c37a1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "c1f94868d3dab5a3229b82c68d9087f5" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel" - ], - 0, - "5c76151d53ce6ad3f10544b7156a92db" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.squash", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "c6db91c058f2a260ca2265dc14ab33ce" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374" - ], - 0, - "8e5c60d9c0570669e3cc915881eaeef1" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_null", - 1, - 2, - 1, - [ - "@query", "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.mnull", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel" - ], - 0, - "63ff958801b4302df0e27baa45cb26ef" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_804f9c265515f9fcb165b090bce40a42", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "e90361ad309438bac6c82362f567e07e" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374" - ], - 0, - "16a1f0f2f2e37b2ba1595214c70afb82" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "328497d9c0cc4b5f7b9fe8af414cc363" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_AmpAmp", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "609fa793153ede322be6b2202547151f" - ], - [ - "LowStar.Monotonic.Buffer.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "08a2c2e6755308af9027ae2acac34076" - ], - [ - "LowStar.Monotonic.Buffer.loc_addr_of_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "da0f4306cfc6fb9477969b46cdb3a941" - ], - [ - "LowStar.Monotonic.Buffer.loc_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0e73ace7659f81010c0689626d380973" - ], - [ - "LowStar.Monotonic.Buffer.loc_freed_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f245a5112060e4a3a45e90349731b9fa" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_refl", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], - 0, - "e41103e766cc8842c653f86fb195b19a" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_trans", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_includes" ], - 0, - "08ed14bd8d7430400cc786230d7f5693" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_r", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "2e4fafe7ec821a88db5dc995fa61ff47" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_l", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "5590e626f1c17e215f147ee29fcdce60" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_r'", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], - 0, - "0bc404fb0e2a817e11cf22b5452e5330" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_none", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "59016b7af8a62dafafb4adeb1a681f5f" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "50628127290dcb4943e0bc70bdaa60c0" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7fcf96841079a9b7c5e6465b36bd88f2" - ], - 0, - "8dcfb57f91e64006f7394262b04dec4a" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "int_inversion", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "typing_LowStar.Monotonic.Buffer.uu___is_Null" - ], - 0, - "523ebccdc0e623ed7ea31c0e3cea20ed" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "101f9d7ca345cc4ecf618385a24d744c" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_Prims.squash", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "f9b06e0133b40a2023528900708121d2" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2c48fac9e3e3e29e2ee91bde69407b8" - ], - 0, - "28ee5a36d0f539098c2c92658fb3426e" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Mkubuffer_", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" - ], - 0, - "5c26a3169e454c27b6645d11efbff398" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_loc_buffer_loc_buffer_from_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" - ], - 0, - "e977a453d99102e8f43a40b15df29bd3" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_loc_buffer_from_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_is_mm", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond" - ], - 0, - "0d788044c14b05f4088d9994d3a9c192" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "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", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_28d7040b584a22a1e76450e561cb1ade", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d8bb3167af6f93903b13dbe541690b88", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__length", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "unit_inversion", - "unit_typing" - ], - 0, - "e8e343eb26b32370b691f58d95600f37" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "6c3aa861fa31772813c82c11fc589031" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "typing_LowStar.Monotonic.Buffer.loc_addresses" - ], - 0, - "f904e6c16042c84231236698125160b7" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e3a48b2be65e8f81115e21d9237e4100" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c53c1ab34af1fba7bbb9a25326e13af2" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_LowStar.Monotonic.Buffer.as_addr", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", "typing_Prims.int" - ], - 0, - "816ce46f41f1b36416e39e80a7133164" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_buffer", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "eb153adcdc11ee2280b6050469d1fe33" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_buffer'", - 1, - 2, - 1, - [ - "@query", "bool_typing", "equation_LowStar.Monotonic.Buffer.frameOf", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "29032693ec0dd099ee4f7c58e1ee27b9" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f7b11bc29877c40fe2fd87bf8af149bf" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "e3527d02771114d7ff2e3740f038804f" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b28ce01011dccbcf0cba0285c98a1d7d" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", - 2, - 2, - 1, - [ - "@query", "bool_typing", "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton" - ], - 0, - "1686f704da72c5c92313f99f9726c97e" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4adb77f3d8cb8f9e01d48d6b9f1686b" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "f64890b91c92307104392f5d99f73640" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_region'", - 1, - 2, - 1, - [ - "@query", "bool_typing", "equation_FStar.Set.subset", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "772186b0e0986ab103d770e71198b29e" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_union_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "dcf986ab1368d9e144a13214c7d10a4c" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c221153c8bb660efe5f230cdfa61ac09" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes" - ], - 0, - "1d23be09b62e758ebce2cdb795753048" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fd0d5518755588830a3e1db779f0ebe5" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b14a541fae0bd7868e41480ef05f6d6b" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8145d49c2db5e1757e1c80410c07b854" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d266a24a1a71957f5f843ea745cf88ea" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - 2, - 2, - 1, - [ - "@query", "bool_typing", "equation_FStar.Set.subset", - "equation_Prims.nat", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c5b3018646d295765bbe5ef6121aed37" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4adb77f3d8cb8f9e01d48d6b9f1686b" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "cc5d300c92a65d417e7743f958c43635" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e77d4bc2115f5474794d385e600021b5" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_sym", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint" ], - 0, - "2a48ff193a87726c5c57ab51445c5dab" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_sym'", - 1, - 2, - 1, - [ "@query" ], - 0, - "1d71ddfbb1d73509e34a48f77e786b64" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_none_r", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "c7749e9ee6f8326a344689f0e6fe023f" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_union_r", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "77f7e9014bd42ccb39fcb0af07c0005b" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_includes", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes" - ], - 0, - "e7848dabae96a4cd740946e1d7f13a83" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_union_r'", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], - 0, - "b7fc0b23d4518b051da5ef72903ee414" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_buffer", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.aloc_t", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_LowStar.Monotonic.Buffer.cls", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer" - ], - 0, - "5e84331f5a51195a056e89a398ecde7f" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl" ], - 0, - "7d94af1333fb3d7052845eed19511b71" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aaf355181a39cd24cd66fda642891fa9" - ], - 0, - "615dac0a468e9bd028afd6db4bae268c" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "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", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.as_addr_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374" - ], - 0, - "1a8c55aaade9c07a06a0f1d98fde938a" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_loc_buffer_from_to", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_is_mm", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "typing_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond" - ], - 0, - "cfacdca402c365489239849513da4b1f" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "494bd1894fd9e0f4f08e47f6dc75c384" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_disjoint" - ], - 0, - "07a64c9aefe81764e328432e42a2aaa4" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "9c9ef2c1315a545cf0f64f5542edf953" - ], - [ - "LowStar.Monotonic.Buffer.modifies_live_region", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_region_only", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "c3157877ba3a4ef944031894cd112fd3" - ], - [ - "LowStar.Monotonic.Buffer.modifies_mreference_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.modifies", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "0235581019ac3a7a7951a840530d12dc" - ], - [ - "LowStar.Monotonic.Buffer.modifies_buffer_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_preserved", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "8e9d64af53702f62666eee0cb8ed43ad" - ], - [ - "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f4407f87847431a86e37da8c927c6d0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "c1615e65fb8d2189050b62dbd5b0d758" - ], - [ - "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_BarBar", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThan", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_preserved", - "true_interp", "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "239eb37d03d99ebc8f5c85e6aec47ad4" - ], - [ - "LowStar.Monotonic.Buffer.modifies_refl", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.modifies" ], - 0, - "dd9ad018d2d4d8654b8bf56e354fd51f" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_includes", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "c396252430bce7fdb7b87e0daba7dcea" - ], - [ - "LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@query", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs" - ], - 0, - "aa2fb22605abea54b7540b2ac315f32b" - ], - [ - "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "18f49a89d68698d637a987e1f41223bc" - ], - [ - "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - 2, - 2, - 1, - [ - "@query", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes" - ], - 0, - "a2abe9cca9cbea830891a422f468e63f" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "ac535f8fa436589f0ddd2f4df2802dac" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "31c68c90a7ac50c153b750c03d93e66f" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "648a01fae5b32e45a99308cda1c9131c" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "88b2e7631e73a2ebc985fa81ea778333" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_address_liveness_insensitive", - 1, - 2, - 1, - [ - "@query", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "a579b0a3f72f68026e347768898c0a5e" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_" - ], - 0, - "edd124d657b07a30bcbf0ea0199e64d9" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "projection_inverse_BoxBool_proj_0", "true_interp", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "1b65f19efe1571098c7995e182e82a62" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_none", "typing_Prims.int" - ], - 0, - "4b779fe31e3dbe9b63a7635e7f6c4426" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_none", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "30b44055f35bbce9900cb0d2e7a19615" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region", - 1, - 2, - 1, - [ - "@query", "bool_typing", - "equation_FStar.ModifiesGen.loc_region_only", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "75bf445b4056244eeb691a556effddb5" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "typing_FStar.ModifiesGen.loc_mreference", - "typing_LowStar.Monotonic.Buffer.cls" - ], - 0, - "ffab38d40eb30123993d4765ca987c61" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "d58a3d066681bfe95619928bf1d88f45" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "55774d2769efac34274538cd3be4dc45" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_none", "typing_Prims.int" - ], - 0, - "6e4b4c3f191d19d7c84c464ea89d7adf" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_none", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "9baac8d56a6858aaea906be65dc3b4e2" - ], - [ - "LowStar.Monotonic.Buffer.modifies_trans", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "1515ccf9d7320e33856aadbc861ebc20" - ], - [ - "LowStar.Monotonic.Buffer.modifies_trans_linear", - 1, - 2, - 1, - [ - "@query", "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "typing_LowStar.Monotonic.Buffer.loc_union" - ], - 0, - "5e2feec5860768f5b58ced623ca10fa4" - ], - [ - "LowStar.Monotonic.Buffer.modifies_only_live_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "fbe2f88e458fe584edef4a1e991c367c" - ], - [ - "LowStar.Monotonic.Buffer.no_upd_fresh_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "f7e7f27b937e44b8552a70c4e2d34865" - ], - [ - "LowStar.Monotonic.Buffer.new_region_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511", - "typing_Prims.int" - ], - 0, - "fc9a824f6ab42f2d4fbc7a7be24f1a85" - ], - [ - "LowStar.Monotonic.Buffer.new_region_modifies", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "6268867111169603f7929393469f7038" - ], - [ - "LowStar.Monotonic.Buffer.modifies_fresh_frame_popped", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "283e526223339b32f3ff5f6dc3d2ac85" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_regions_intro", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "e8090cf6e197f3e7da42768dbbb8e275" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c02d2e2153df726054682ef67f3fa54a" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "0fce6076eb805c02cf0a3d33dca5e206" - ], - [ - "LowStar.Monotonic.Buffer.modifies_ralloc_post", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.ralloc_post", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "1971cec407ceee1caee3d7e43f7decdf" - ], - [ - "LowStar.Monotonic.Buffer.modifies_salloc_post", - 1, - 2, - 1, - [ - "@query", "equation_FStar.HyperStack.ST.salloc_post", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "23221b77fd66e57780fa7b105737944c" - ], - [ - "LowStar.Monotonic.Buffer.modifies_free", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.free", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "bcb8c470b398dbceeb0ce8885d9e95d3" - ], - [ - "LowStar.Monotonic.Buffer.modifies_none_modifies", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "f4dc5442ee8622093f4d57a6572508fc" - ], - [ - "LowStar.Monotonic.Buffer.modifies_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "51b652237c7d556a697dae23853f8f97" - ], - [ - "LowStar.Monotonic.Buffer.modifies_upd", - 2, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "2e83b4bfabcd82734cc54013326b8266" - ], - [ - "LowStar.Monotonic.Buffer.modifies_0_modifies", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "4a2c3b240e27c2631adaab36f5d6766a" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "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.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_ubuffers", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", "typing_Prims.int" - ], - 0, - "2657d4ae305e73cc50e7ae0d0a286102" - ], - [ - "LowStar.Monotonic.Buffer.modifies_1_from_to_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to_preserves_ubuffers", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_Prims.int" - ], - 0, - "666ae8ff9ed9416e65a5b8533626e7ae" - ], - [ - "LowStar.Monotonic.Buffer.modifies_addr_of_modifies", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_", - "equation_LowStar.Monotonic.Buffer.modifies_addr_of_preserves_not_unused_in" - ], - 0, - "ea3944ed3cfc535c9779d19061c7aeef" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "2590891532c6884a3d80214ddea02469" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Mkubuffer_", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.ModifiesGen.aloc_t", - "equation_FStar.Monotonic.Heap.mref", - "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_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.coerce_eq", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes0", - "equation_LowStar.Monotonic.Buffer.ubuffer_includes_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer", - "function_token_typing_LowStar.Monotonic.Buffer.ubuffer_preserved", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_032e046e6ba582a9955f3401e1a540ba", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69123df6fed9ede02431a47474033242", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9058b1fe57b340e1b017908ac26e12fa", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_edc935477e1b9674b4762f1e8db26416", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_includes", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_preserved", - "true_interp", "typing_FStar.Ghost.reveal", "typing_FStar.Map.sel", - "typing_FStar.ModifiesGen.loc_of_aloc", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.slice", "typing_FStar.Seq.Properties.lseq", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.cls", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "ceef3861af0d352612d690de05edc531" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "3f5dd170682c9d67a1810e9f2d13ae2e" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "bc9ac496ec3c310f91ee1aab9a01aa43" - ], - [ - "LowStar.Monotonic.Buffer.not_live_region_does_not_contain_addr", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], - 0, - "a208958d4e588ba0ac5f700deb043ef1" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "6b1d999478639e2c970851cceb4d589e" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", - 2, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], - 0, - "0d49aaea38b86bff88c5bef275547f4e" - ], - [ - "LowStar.Monotonic.Buffer.addr_unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.does_not_contain_addr", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2" - ], - 0, - "48a0778e48e6b7d0ee4294c1feeaf8bf" - ], - [ - "LowStar.Monotonic.Buffer.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "96e2657555501c37a0c76c4db141b86d" - ], - [ - "LowStar.Monotonic.Buffer.free_does_not_contain_addr", - 2, - 2, - 1, - [ - "@query", "equation_FStar.Monotonic.HyperStack.free", - "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" - ], - 0, - "b461491c3653d2ed1d5b1e41c452cb18" - ], - [ - "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "69675c4433a207020ebfc73667ebb928" - ], - [ - "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", - 2, - 2, - 1, - [ "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr" ], - 0, - "b9fe406c022135b4f5b35106aeeb47de" - ], - [ - "LowStar.Monotonic.Buffer.modifies_only_live_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "0b158c8e55edfa45288d658e36f3e24a" - ], - [ - "LowStar.Monotonic.Buffer.modifies_only_live_addresses", - 2, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.does_not_contain_addr", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "88354b364c75b431e142b7d1222cff7d" - ], - [ - "LowStar.Monotonic.Buffer.loc_regions_unused_in", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_unused_in" - ], - 0, - "ca0c33ba7afa01cc07f27b32c4176f85" - ], - [ - "LowStar.Monotonic.Buffer.loc_unused_in_not_unused_in_disjoint", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", - "equation_LowStar.Monotonic.Buffer.loc_unused_in" - ], - 0, - "a0f950f2855260d685e4c7a2f7c59ad2" - ], - [ - "LowStar.Monotonic.Buffer.not_live_region_loc_not_unused_in_disjoint", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_region_only", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", - "equation_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "93aca2f81d4091f54d394fed51c59939" - ], - [ - "LowStar.Monotonic.Buffer.fresh_frame_loc_not_unused_in_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "cbfb36f7954b7f6c44e106ea41eb5b52" - ], - [ - "LowStar.Monotonic.Buffer.live_loc_not_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.live_not_unused_in_", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "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_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.Monotonic.Buffer.as_addr", "typing_Prims.int" - ], - 0, - "6529055a979aadfdc22a84911ca03024" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_singleton", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.Monotonic.Buffer.as_addr", "typing_Prims.int" - ], - 0, - "1754ccb1fc819782dafd95239e455ae4" - ], - [ - "LowStar.Monotonic.Buffer.modifies_address_liveness_insensitive_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies", "unit_inversion", - "unit_typing" - ], - 0, - "83e2755bfd5ed63ccfa36637ac0a5013" - ], - [ - "LowStar.Monotonic.Buffer.modifies_only_not_unused_in", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "8e9ae286c806058e8ade6094a5ccda1f" - ], - [ - "LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", "unit_inversion", - "unit_typing" - ], - 0, - "fe5a4a4cbc44142609fd4ae649273593" - ], - [ - "LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_mreference", - "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_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "unit_inversion", - "unit_typing" - ], - 0, - "247d488d878bf361e1106fad80b7c7f5" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_not_unused_in_disjoint_2", - 1, - 2, - 1, - [ "@query" ], - 0, - "3a5817cddacd5eb1ef22dafe5f4900ab" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_unused_in", - 1, - 2, - 1, - [ "@query" ], - 0, - "faa63260c967f0f70b115a1df509030d" - ], - [ - "LowStar.Monotonic.Buffer.ralloc_post_fresh_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_LowStar.Monotonic.Buffer.mreference_live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.mreference_unused_in_loc_unused_in", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "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" - ], - 0, - "374b582671adf48d3d984eec937fc9fb" - ], - [ - "LowStar.Monotonic.Buffer.fresh_frame_modifies", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "7496f059ff2ef9fc3479a0fbcc9df215" - ], - [ - "LowStar.Monotonic.Buffer.popped_modifies", - 1, - 2, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_region_only", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.modifies" - ], - 0, - "e8d1cc4edf570afba2fd77c128687b17" - ], - [ - "LowStar.Monotonic.Buffer.modifies_remove_new_locs", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.loc_unused_in" - ], - 0, - "4d33f04a211a55f3f0b7c481fadaa231" - ], - [ - "LowStar.Monotonic.Buffer.modifies_remove_fresh_frame", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "equation_LowStar.Monotonic.Buffer.loc_union", - "equation_LowStar.Monotonic.Buffer.loc_unused_in", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.fresh_frame_modifies", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.loc_unused_in" - ], - 0, - "dcc96c1cb8f725504a17dc29054426ee" - ], - [ - "LowStar.Monotonic.Buffer.disjoint_neq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "l_or-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_kinding_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", "typing_Prims.int" - ], - 0, - "dd5a7936be295a19fa591b1140e2c985" - ], - [ - "LowStar.Monotonic.Buffer.empty_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.ubuffer_", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "true_interp", "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int" - ], - 0, - "406355791db5e8e63d3b392ba234d62f" - ], - [ - "LowStar.Monotonic.Buffer.includes_frameOf_as_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.includes", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "typing_LowStar.Monotonic.Buffer.g_is_null" - ], - 0, - "248cd939b85d34811447566268daaf24" - ], - [ - "LowStar.Monotonic.Buffer.deref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mpointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" - ], - 0, - "dc4be6e147045246caa5981d325e8f84" - ], - [ - "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mpointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" - ], - 0, - "976d3ad7b446df77ac204ab56cd51303" - ], - [ - "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "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", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Preorder.preorder", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mpointer", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_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", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.Heap.heap", - "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.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int", - "unit_typing" - ], - 0, - "7baf565ae9683b537f10d30f6e9a1980" - ], - [ - "LowStar.Monotonic.Buffer.is_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_47188798f74eff613c4825c6754a4c5f", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "82840963d5ac3ec8fc48940cd4bd9c85" - ], - [ - "LowStar.Monotonic.Buffer.msub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd746fcfb4d28e01f9bfeaa4c7073fea" - ], - 0, - "b338dd017f98a12c96eca36f032e132a" - ], - [ - "LowStar.Monotonic.Buffer.msub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.eqtype", - "int_inversion", "lemma_FStar.Ghost.hide_reveal", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_dd746fcfb4d28e01f9bfeaa4c7073fea", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "52a9afa757724952160476f9bf38ac6e" - ], - [ - "LowStar.Monotonic.Buffer.moffset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9c4a37b4eef4c039fd1b6871920fd04c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "41fdd4ce65335732c2cb94912b190654" - ], - [ - "LowStar.Monotonic.Buffer.moffset", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mgsub", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_9c4a37b4eef4c039fd1b6871920fd04c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "unit_typing" - ], - 0, - "4e7edb1127841e247f2df4d0b80a1884" - ], - [ - "LowStar.Monotonic.Buffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" - ], - 0, - "7dc88f5fa0f7479397c859ecbbbe9600" - ], - [ - "LowStar.Monotonic.Buffer.index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "bfcc40f9e6316a984ca8c11538ee4ced" - ], - [ - "LowStar.Monotonic.Buffer.g_upd_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b9a0e01a4bdd5730efd2668835033dad", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", "unit_typing" - ], - 0, - "03f22b647f3f03f1f5f808404bc1a3d7" - ], - [ - "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.live", "equation_Prims.squash", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "103dbb38dede332041f222137f6a06f7" - ], - [ - "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_32455ccc0a1dd9404fdbdcf904e5ec1b", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "b4e1f2ee677840db56e4cecff91be1fd" - ], - [ - "LowStar.Monotonic.Buffer.g_upd_seq_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.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.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_not_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions", - "equation_LowStar.Monotonic.Buffer.modifies_1", - "equation_LowStar.Monotonic.Buffer.modifies_1_", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_ubuffers", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_upd_unused", - "lemma_FStar.Monotonic.Heap.lemma_well_typed_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "lemma_LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_length", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int" - ], - 0, - "fc16078a601bd97f4589a0e99711f720" - ], - [ - "LowStar.Monotonic.Buffer.g_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" - ], - 0, - "4ca857de2712966c8c7ae0e3b6e4d03f" - ], - [ - "LowStar.Monotonic.Buffer.g_upd_modifies_strong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "1a6cfc5d514d7d074da546eabb3625b1" - ], - [ - "LowStar.Monotonic.Buffer.g_upd_modifies_strong", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.Heap.mref", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_not_unused_in", - "equation_LowStar.Monotonic.Buffer.modifies_0_preserves_regions", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to", - "equation_LowStar.Monotonic.Buffer.modifies_1_from_to_preserves_ubuffers", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_livenesses", - "equation_LowStar.Monotonic.Buffer.modifies_1_preserves_mreferences", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved", - "equation_LowStar.Monotonic.Buffer.ubuffer_preserved_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_Prims.op_Equals_Equals_Equals", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", "l_or-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_distinct_types", - "lemma_FStar.Monotonic.Heap.lemma_sel_same_addr", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "lemma_LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_is_mm", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5542011d20872a6178aad9a072f1b686", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd", "typing_FStar.Seq.Properties.lseq", - "typing_FStar.Seq.Properties.replace_subseq", - "typing_FStar.Set.singleton", "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", - "typing_LowStar.Monotonic.Buffer.__proj__Mkubuffer___item__b_offset", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int" - ], - 0, - "4da1f052f7a9f8cf59bfaf0508cc9256" - ], - [ - "LowStar.Monotonic.Buffer.upd'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" - ], - 0, - "c2bd4c5d779edb2698910a588f3c17e7" - ], - [ - "LowStar.Monotonic.Buffer.upd'", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "function_token_typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_2101589b8dd34683de223d6c47b9da02", - "refinement_interpretation_Tm_refine_2225b427c92e8afa7d614ebf950f6d5c", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "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_d2e6bfeb443030fae7d3577216912d7c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "7ae218c1c9b519879cfc11f165520424" - ], - [ - "LowStar.Monotonic.Buffer.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_upd", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2101589b8dd34683de223d6c47b9da02", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "978b812788b1703f9a1cc386ea850258" - ], - [ - "LowStar.Monotonic.Buffer.recallable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "a501894c57dbad29b2679941957cd5b4" - ], - [ - "LowStar.Monotonic.Buffer.region_lifetime_buf", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "aaffa4bf33be4bf4f8471525d6277b31" - ], - [ - "LowStar.Monotonic.Buffer.region_lifetime_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.region_lifetime_buf", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v" - ], - 0, - "a7311c3ee38620706236bf876d73553a" - ], - [ - "LowStar.Monotonic.Buffer.recallable_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mnull", - "equation_LowStar.Monotonic.Buffer.recallable", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "de406704b55bf4f7c5d26a92cb50f45f" - ], - [ - "LowStar.Monotonic.Buffer.recallable_mgsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d7fe91e0a74586eb44d93699b6010249" - ], - 0, - "e48f03f2463507511028100f0b114e3d" - ], - [ - "LowStar.Monotonic.Buffer.recallable_mgsub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.recallable", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "int_inversion", "int_typing", - "lemma_FStar.Ghost.reveal_hide", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" - ], - 0, - "f4f22536cd28aa5de042a8074912903a" - ], - [ - "LowStar.Monotonic.Buffer.recall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.recallable", - "equation_LowStar.Monotonic.Buffer.region_lifetime_buf", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_intro", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f755f502bc5bb6c4b2bcaf1b1a61d893", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "2477aecb79334a357d86ab71f33ea5f4" - ], - [ - "LowStar.Monotonic.Buffer.witnessed", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "9e326f50dcaf4794fbaa8c5c36653b3b" - ], - [ - "LowStar.Monotonic.Buffer.lemma_stable_on_rel_is_stable_on_rrel", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_FStar.Monotonic.HyperStack.MkRef", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.spred_as_mempred", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.l_imp", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "int_inversion", - "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", - "l_and-interp", "l_imp-interp", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_77cf01e5903ddce53cf5fd694d87d7e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_b1b2235341e8352d5034b7747fece49a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", - "token_correspondence_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "40d8c58f8a12dbe898b2e2eb017e892b" - ], - [ - "LowStar.Monotonic.Buffer.witness_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.spred_as_mempred", - "equation_LowStar.Monotonic.Buffer.witnessed", - "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", - "l_imp-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3e8a537c099295c821a9d60a189f9e80", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq", "unit_typing" - ], - 0, - "7b59dd3750faf2411305acc731399344" - ], - [ - "LowStar.Monotonic.Buffer.recall_p", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.recallable", - "equation_LowStar.Monotonic.Buffer.spred_as_mempred", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.witnessed", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.spred_as_mempred", - "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", - "l_and-interp", "l_imp-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_956939c25536ad734d8e5e61f96315a1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "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.UInt32.v" - ], - 0, - "be02e2482e306373ff535ff281f0ca63" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial", - 1, - 2, - 1, - [ "@query" ], - 0, - "d3cba7368c7ab53169ef7e99399a2fac" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.empty_mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.spred_as_mempred", - "equation_LowStar.Monotonic.Buffer.witnessed", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.spred_as_mempred", - "int_inversion", "int_typing", - "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", - "l_imp-interp", "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "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.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", - "typing_FStar.Ghost.reveal", - "typing_FStar.Monotonic.HyperStack.empty_mem", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.g_is_null" - ], - 0, - "2e335d3d3375e3faf6821ef3b8bee7ed" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial_st", - 1, - 2, - 1, - [ "@query" ], - 0, - "76264608a3573a9cb6da8ce68d706b2b" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial_st", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_LowStar.Monotonic.Buffer.Null", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.spred_as_mempred", - "equation_LowStar.Monotonic.Buffer.witnessed", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.spred_as_mempred", - "interpretation_Tm_abs_aad6016b0a635d1a32ebc1043258769b", - "l_and-interp", "l_imp-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.gsub_is_null", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "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_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_a", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Null_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fc8f8e6eaa1dcf5c682f64d96b5da0ab", - "token_correspondence_LowStar.Monotonic.Buffer.spred_as_mempred", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null" - ], - 0, - "caa49cd1a1a551b14327b14862c9456b" - ], - [ - "LowStar.Monotonic.Buffer.freeable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec" - ], - 0, - "1b923cc4573e440712c9e7145e695b3c" - ], - [ - "LowStar.Monotonic.Buffer.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.free", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_free", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2d11d4ede243934a578949d9aa1c906a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5015146880b2d88cf7d4492a6a4488b3", - "refinement_interpretation_Tm_refine_548ef817ca26695e20678a9213795842", - "refinement_interpretation_Tm_refine_aa237b4a4dc0290c32617811ed383fca", - "refinement_interpretation_Tm_refine_fcbe6d4c640796fb6c47b23f2339ad76", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.free_mm", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.loc_addresses", "typing_Prims.int" - ], - 0, - "9e94cb26ee919049c9fb3cff3e330c41" - ], - [ - "LowStar.Monotonic.Buffer.freeable_length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a098f6290fb352cdb61238231ce4d2de" - ], - [ - "LowStar.Monotonic.Buffer.freeable_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "4010b1b4bc280be3e90343385931a4b0" - ], - [ - "LowStar.Monotonic.Buffer.freeable_disjoint", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "data_typing_intro_LowStar.Monotonic.Buffer.Mkubuffer_@tok", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", "eq2-interp", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer___374", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint0", - "equation_LowStar.Monotonic.Buffer.ubuffer_disjoint_", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_typing", - "l_and-interp", "l_or-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "proj_equation_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Mkubuffer__b_offset", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efd3d20623031b0ff13ce6e68db8b7c4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_LowStar.Monotonic.Buffer.ubuffer_disjoint", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Seq.Properties.lseq", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__idx", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "typing_LowStar.Monotonic.Buffer.ubuffer___374", "typing_Prims.int" - ], - 0, - "2beed86e8a895b97370f98e733a8e6d7" - ], - [ - "LowStar.Monotonic.Buffer.freeable_disjoint'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Set.subset", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", "typing_Prims.int" - ], - 0, - "f9b652674a0756a5f6a7c6507ff93eed" - ], - [ - "LowStar.Monotonic.Buffer.alloc_heap_common", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mmmref", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mmmref", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.live_is_null", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_38378a752eceb5d6a72bc0c44cfdc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_433a6ba0587d1ca6a1ced9d7f162c4b1", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f66e3e9c5cfa5dc28f9d0303f6e78009", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.lseq", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" - ], - 0, - "7625e0bbed9eb5dc768d3348c4437d77" - ], - [ - "LowStar.Monotonic.Buffer.alloc_heap_common", - 2, - 2, - 1, - [ "@query" ], - 0, - "8f8a80eb5b15290b29ee98bea34f78c9" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1666c6cdba1d64ecd9e15c98b7bd0e07" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.recallable", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "l_and-interp", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "edaadef1c028984cad1dd7418750f3e6" - ], - [ - "LowStar.Monotonic.Buffer.read_sub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_cda5c05b1ddf2aa8b9e4caf2b316557b", - "refinement_interpretation_Tm_refine_d0a06280380aaa24d538152bfc9b226b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "4c00dbaeaf7db3c089cb68292d57a970" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.UInt32.v" - ], - 0, - "5118fae6faa78429e2212dca7fdde60a" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.recallable", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_36d4b12556e2916191d226095ca5ea30", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.sel", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__content", - "typing_LowStar.Monotonic.Buffer.__proj__Buffer__item__max_length", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "unit_typing" - ], - 0, - "3737eec99a379b757b6a43bc3ad360ce" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b", - "refinement_interpretation_Tm_refine_d75f91319c913af58cda6efbb0a1f440" - ], - 0, - "1766f058753401d2dff5a8d23548e6f4" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4e0a9f794fc897d0aedd2626977e5bd0" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "60f249e3cf73bcb60fb6b52a06a3b9fb" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.UInt32.v" - ], - 0, - "2f76e378fcb872aca171adf185b193ef" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_and_blit", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.loc_none", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7eaa2ba5e70a03c356db1caa3511f718", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", "unit_typing" - ], - 0, - "c16a71dec4d034c2c1f69521d81bee18" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31", - "refinement_interpretation_Tm_refine_c53c3591da3f77fb9f2db8075ff367b6" - ], - 0, - "716b7b89a675a0daa560485074f1c273" - ], - [ - "LowStar.Monotonic.Buffer.malloca", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "90bfe3c4e7575ab04d6147d56cb4047e" - ], - [ - "LowStar.Monotonic.Buffer.malloca", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.modifies_salloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_cfb9b8efff012a5d01b2c0a9c1ac3ddf", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "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.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "4ddcb5eeda3a323066789c5b7d9e8385" - ], - [ - "LowStar.Monotonic.Buffer.malloca_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "b3f89099eba2cacbe30e3d42121ce22d" - ], - [ - "LowStar.Monotonic.Buffer.malloca_and_blit", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.modifies_salloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_211e2ccde12f054b907a1e5d81af349c", - "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "7c16cf063fd3adfc9e90feda452eee17" - ], - [ - "LowStar.Monotonic.Buffer.malloca_of_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.modifies_salloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_145731bec775c591ae321893c0c371e6", - "refinement_interpretation_Tm_refine_2bdd80b2320af9c61ccb8754d0f9f879", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ca7807bfc284168a2426f4440262824", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a7ca477ded6c717530d19cb88bf2bb3a", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt32.t", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "5b606d1915a67e76fd9a5fbd65cef55e" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_of_list", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.recallable", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "fuel_guarded_inversion_Prims.list", "int_inversion", "int_typing", - "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Map.lemma_SelUpd1", "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_union", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_36f5e9395beebba9612ea57cdeca01fe", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d2d1ea66f2b3a92c2deb42edcbb784ce", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.List.Tot.Base.length", "typing_FStar.Map.contains", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt32.t" - ], - 0, - "35ca123b897c77c5089c7843c17c9427" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0746e3728a9921be4be4d3cca62e86e4", - "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" - ], - 0, - "26c7b691a0164de0e33631dce90c2303" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f903f9b8db9d2d47c6136a8f2268c687" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.region_lifetime_buf", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_d760b20e85e1d45360b09af1bb43b17b", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.HyperStack.ST.rid_of_drgn", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "ca4a7798b79c812c889c9e2a61584cca" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "50a0e2db91fca795e526b3e7d5f5400d" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.freeable", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_idx", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_length", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_d760b20e85e1d45360b09af1bb43b17b", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.HyperStack.ST.rid_of_drgn", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "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.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "b5c6b377529127ad3a8281b0aaf5797f" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_75cc1b5adf98f48abab623cab9117c3d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "832f4d3977f093f4df8d9972b4fdbe95" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.d_hrid", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_freeable_heap_region", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.HyperStack.ST.ralloc_post", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_mm", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.region_lifetime_buf", - "equation_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.unused_in", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.Ghost.reveal_hide", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd2", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_region_mreference_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_ralloc_post", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_75cc1b5adf98f48abab623cab9117c3d", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_a6918a83312e51579e26340a47646253", - "refinement_interpretation_Tm_refine_e8c39d6ee903737b62bc3fc299bf243a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.HyperStack.ST.rid_of_drgn", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.t", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.region_liveness_insensitive_locs" - ], - 0, - "add7264e9f13a042743d699b6d4b5049" - ], - [ - "LowStar.Monotonic.Buffer.blit", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.mgsub", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b3a10eec9430ce76d54af2274814c12d", - "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "2f0188f62047b9fc638c047c79e2fcfd" - ], - [ - "LowStar.Monotonic.Buffer.blit", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_LowStar.Monotonic.Buffer.Buffer", - "constructor_distinct_Prims.unit", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "equation_LowStar.Monotonic.Buffer.loc_buffer", - "equation_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "equation_LowStar.Monotonic.Buffer.loc_none", - "equation_LowStar.Monotonic.Buffer.mgsub", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_LowStar.Monotonic.Buffer.ubuffer_of_buffer_from_to_none_cond", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThan", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_a", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rel", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_rrel", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_28f7ddd9e1d57eb7a68dfc85dd732614", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_89f705ed4d8e27f9f7b579892e93f01d", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.__proj__MkRef__item__frame", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.empty", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_buffer_from_to", - "typing_LowStar.Monotonic.Buffer.srel_to_lsrel", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "c21587832de241fc0bc742c411b64ad6" - ], - [ - "LowStar.Monotonic.Buffer.fill'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "data_elim_FStar.Monotonic.HyperStack.MkRef", - "data_elim_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Buffer", - "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.ST.mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.replace_subseq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.buffer_compatible", - "equation_LowStar.Monotonic.Buffer.compatible_sub_preorder", - "equation_LowStar.Monotonic.Buffer.frameOf", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.g_upd_seq", - "equation_LowStar.Monotonic.Buffer.len", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Monotonic.Buffer.live", - "equation_LowStar.Monotonic.Buffer.srel_to_lsrel", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "function_token_typing_LowStar.Monotonic.Buffer.srel_to_lsrel", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.lemma_equal_intro", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_upd", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Monotonic.HyperStack.MkRef_frame", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_content", - "proj_equation_LowStar.Monotonic.Buffer.Buffer_max_length", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_content", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_idx", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_length", - "projection_inverse_LowStar.Monotonic.Buffer.Buffer_max_length", - "refinement_interpretation_Tm_refine_003cbb363565c5358e7ed8a8d7dba6d4", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_081155e2b36e9ae85ff0f7ebeada75ab", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c8fba31f88c82f59782005a48646fe6", - "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_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", "typing_Prims.int", - "typing_Prims.pow2", "unit_inversion", "unit_typing" - ], - 0, - "c4af4158e2dfdf44ae8fd97c87adec96" - ], - [ - "LowStar.Monotonic.Buffer.fill", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "35b925773ae6c5bafd5b2317dbb63d10" - ], - [ - "LowStar.Monotonic.Buffer.fill", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "disc_equation_LowStar.Monotonic.Buffer.Null", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.as_addr", - "equation_LowStar.Monotonic.Buffer.as_seq", - "equation_LowStar.Monotonic.Buffer.g_is_null", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Monotonic.Buffer.mbuffer", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "919e60b845292941cabf0c699e450567" - ], - [ - "LowStar.Monotonic.Buffer.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" - ], - 0, - "6bbfe45d35322640f9a2af8e85e465b0" - ], - [ - "LowStar.Monotonic.Buffer.cloc_cls", - 1, - 2, - 1, - [ "@query" ], - 0, - "980c0ffe729327aeabaa0466b669afbb" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cls" - ], - 0, - "08ef1347cf6208c105b1329430f6605c" - ], - [ - "LowStar.Monotonic.Buffer.loc_of_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cls" - ], - 0, - "18f09d78c441d08f38e3e7c262de0710" - ], - [ - "LowStar.Monotonic.Buffer.loc_of_cloc_of_loc", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_of_cloc" - ], - 0, - "04d653589651913d4b111e61e7a3d091" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_of_cloc", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_of_cloc" - ], - 0, - "859437f74bca166bcb7533f60b9e186a" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_none", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_none", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "f15ef2fb2f7261ec936ad33da5dd7693" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_union", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "4d50d6e481635679d17c32c2a59d6173" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "82af2bc06656107d47a84dad73c708ac" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_addresses", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "8b8bd874c9361a6d865d6b987d7fda71" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f4adb77f3d8cb8f9e01d48d6b9f1686b" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_regions", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_regions", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "079dbb5141b8cca93ef0de0fa257781f" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_includes", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "a806b0ba7af80d33716b3c44db63cc32" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.loc_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "8760b736387b3809e77fe4ca632349a3" - ], - [ - "LowStar.Monotonic.Buffer.modifies_to_cloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.cloc_cls", - "equation_LowStar.Monotonic.Buffer.cloc_of_loc", - "equation_LowStar.Monotonic.Buffer.cls", - "equation_LowStar.Monotonic.Buffer.coerce", - "equation_LowStar.Monotonic.Buffer.loc", - "equation_LowStar.Monotonic.Buffer.modifies", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "34a413407bca447f1e2156577c582f2c" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Monotonic.Buffer.fsti.hints b/ulib/.hints/LowStar.Monotonic.Buffer.fsti.hints deleted file mode 100644 index 654645bf550..00000000000 --- a/ulib/.hints/LowStar.Monotonic.Buffer.fsti.hints +++ /dev/null @@ -1,1257 +0,0 @@ -[ - " Ov\u0001\u000bÖ÷ÿÌU(šÃaœ\u0006", - [ - [ - "LowStar.Monotonic.Buffer.compatible_subseq_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_edccc421660c61e3591d98071500d795" - ], - 0, - "6b9e8c30a08d4273326302198ab99613" - ], - [ - "LowStar.Monotonic.Buffer.length", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "2a69fa66bb15b9d7ee49fd8404500416" - ], - [ - "LowStar.Monotonic.Buffer.get", - 1, - 2, - 1, - [ "@query", "lemma_LowStar.Monotonic.Buffer.length_as_seq" ], - 0, - "ef023d41d05d8af19179020efb5162a6" - ], - [ - "LowStar.Monotonic.Buffer.compatible_sub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a9868f2c0b080ad4c91c669e090a27e8", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "ade341da8a9b83bde3c318e69b83d5c0" - ], - [ - "LowStar.Monotonic.Buffer.live_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_688eb7732240687f918bb9a141526765" - ], - 0, - "ce62f2a5318244533d7312a7c7a6b646" - ], - [ - "LowStar.Monotonic.Buffer.gsub_is_null", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "693be92816bba739c9bfde9ee708fc49" - ], - [ - "LowStar.Monotonic.Buffer.len_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "347f94c65f32453a591e7c81951183e9" - ], - [ - "LowStar.Monotonic.Buffer.frameOf_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "71f9b7aacf2e42334a39fefa8852f267" - ], - [ - "LowStar.Monotonic.Buffer.as_addr_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "8c098dc9178f261d7aca70e3b5ae5444" - ], - [ - "LowStar.Monotonic.Buffer.mgsub_inj", - 1, - 2, - 1, - [ "@query" ], - 0, - "b8866634dd565a1093b801d20393bd6a" - ], - [ - "LowStar.Monotonic.Buffer.gsub_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f1ce0adba028154a4fe53f4f3868545d", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "904a32d1cc5e5b639654555791efc7d9" - ], - [ - "LowStar.Monotonic.Buffer.gsub_zero_length", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Monotonic.Buffer.length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "bb4becc55afe858e3a84154949428b0f" - ], - [ - "LowStar.Monotonic.Buffer.as_seq_gsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.squash", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "19fa95928995aeb55d8424c6bdbedf9c" - ], - [ - "LowStar.Monotonic.Buffer.live_same_addresses_equal_types_and_preorders", - 1, - 2, - 1, - [ "@query" ], - 0, - "80e6a6dff19a66dc0f6075c67939fc55" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_mgsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_37276ec35b4c7b77e74ecf1e2a7c37a1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "4832df1b36627ae0efeb73040c241e2b" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.squash", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "ccbd3d86a9080816bc0c4868a05ef39a" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_from_to_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_804f9c265515f9fcb165b090bce40a42", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "e163033f53307078bd67dc76b3da0a7e" - ], - [ - "LowStar.Monotonic.Buffer.loc_buffer_mgsub_rel_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "328497d9c0cc4b5f7b9fe8af414cc363" - ], - [ - "LowStar.Monotonic.Buffer.loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "08a2c2e6755308af9027ae2acac34076" - ], - [ - "LowStar.Monotonic.Buffer.loc_addr_of_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "a475adb0daf8bb5b3e753b2aa0f4f85c" - ], - [ - "LowStar.Monotonic.Buffer.loc_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "856e1b66e8d26882031be0a1c60e7e3e" - ], - [ - "LowStar.Monotonic.Buffer.loc_freed_mreference", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f245a5112060e4a3a45e90349731b9fa" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7fcf96841079a9b7c5e6465b36bd88f2" - ], - 0, - "2a9c4e9b065de0e45e84cbabca0c8b27" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "equation_Prims.squash", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "101f9d7ca345cc4ecf618385a24d744c" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d2c48fac9e3e3e29e2ee91bde69407b8" - ], - 0, - "73690f3da081dc605e81cfdf17d6c888" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "88871a0a902f22400ad578c416497b23" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_buffer'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "c53c1ab34af1fba7bbb9a25326e13af2" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "f6058618b9ac8eb9309708d41a5c6230" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_region_addresses'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b28ce01011dccbcf0cba0285c98a1d7d" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "ec2da68c69459e59d557ddd421b0ab64" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "fd0d5518755588830a3e1db779f0ebe5" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "d266a24a1a71957f5f843ea745cf88ea" - ], - [ - "LowStar.Monotonic.Buffer.loc_includes_union_l_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "8f350cc848de9561733393012ae370db" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_aaf355181a39cd24cd66fda642891fa9" - ], - 0, - "80c7ce6e182144b9c79cf5f1e1800367" - ], - [ - "LowStar.Monotonic.Buffer.loc_disjoint_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "41bbdb2f026a209ad91479e349ade13a" - ], - [ - "LowStar.Monotonic.Buffer.modifies_buffer_from_to_elim", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3f4407f87847431a86e37da8c927c6d0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "a2cb633bd9e71392b84fae86747b986d" - ], - [ - "LowStar.Monotonic.Buffer.address_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "3019f8305ace13e3769ccd22a633de69" - ], - [ - "LowStar.Monotonic.Buffer.region_liveness_insensitive_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "db2079598f65dee3f823b958e337ba79" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_mreference_weak", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.Heap.addr_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_none", "typing_Prims.int" - ], - 0, - "50b85e7926d0fabb4bbd5ce8b5fffc30" - ], - [ - "LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - 1, - 2, - 1, - [ - "@query", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none" - ], - 0, - "9a1d1146d237b40e321d7f6003368d03" - ], - [ - "LowStar.Monotonic.Buffer.new_region_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_Prims.eqtype", "lemma_FStar.Pervasives.invertOption", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5ffc3c1366ec7011f6544d129dc09511", - "typing_Prims.int" - ], - 0, - "e236f39e141868d29211843eedd402c9" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_addresses_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "1a1b7cbc35c10c190286a87df6284f4f" - ], - [ - "LowStar.Monotonic.Buffer.modifies_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "78e53e6e7c47077aabf1f1b77b58b90b" - ], - [ - "LowStar.Monotonic.Buffer.modifies_loc_buffer_from_to_intro", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v" - ], - 0, - "03ed5c501261931b269eda69eaeed799" - ], - [ - "LowStar.Monotonic.Buffer.unused_in_does_not_contain_addr", - 1, - 2, - 1, - [ "@query" ], - 0, - "c37c81c75653777290b1db96494009ff" - ], - [ - "LowStar.Monotonic.Buffer.free_does_not_contain_addr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_92414948f357ccbe2745126d3cd1c779" - ], - 0, - "8f7c3393aa8875ed272419d9dab802a8" - ], - [ - "LowStar.Monotonic.Buffer.does_not_contain_addr_elim", - 1, - 2, - 1, - [ "@query" ], - 0, - "5a888268372ed9102226a6a2df94a2b4" - ], - [ - "LowStar.Monotonic.Buffer.modifies_only_live_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "b27f58e2414b624ac360e28943437d33" - ], - [ - "LowStar.Monotonic.Buffer.deref", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mpointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" - ], - 0, - "9e70ed6b19619522681619e9c8a112e1" - ], - [ - "LowStar.Monotonic.Buffer.pointer_distinct_sel_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.Monotonic.Buffer.mpointer", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fe3d8508f54ae2dc29dd954960128e7" - ], - 0, - "9a87777e17297da0de2058247a61a95f" - ], - [ - "LowStar.Monotonic.Buffer.msub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_dd746fcfb4d28e01f9bfeaa4c7073fea" - ], - 0, - "9cd6ef810d1d1040c47438d7b6133858" - ], - [ - "LowStar.Monotonic.Buffer.moffset", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_9c4a37b4eef4c039fd1b6871920fd04c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "41fdd4ce65335732c2cb94912b190654" - ], - [ - "LowStar.Monotonic.Buffer.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_730abd66c63216085959087a5b94de9e" - ], - 0, - "7dc88f5fa0f7479397c859ecbbbe9600" - ], - [ - "LowStar.Monotonic.Buffer.lemma_g_upd_with_same_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.squash", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "daf6524e1100e2e91743c56fa21a608f" - ], - [ - "LowStar.Monotonic.Buffer.g_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f9308f0ba4fb61399bdec7178e91b202" - ], - 0, - "29b732dcdf51e45a7e674e8bf29a177a" - ], - [ - "LowStar.Monotonic.Buffer.g_upd_modifies_strong", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3fea43d8c4f8a22879f363fd1e0340c1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "287e2ff1a48642f2d9ffd6a284e5d521" - ], - [ - "LowStar.Monotonic.Buffer.upd'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1" - ], - 0, - "52769bf0a69cb957c833233981ad38aa" - ], - [ - "LowStar.Monotonic.Buffer.upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.g_upd", "int_inversion", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2101589b8dd34683de223d6c47b9da02", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_ef2c1fc3c9908195d472bd83ace1cee1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq" - ], - 0, - "5558bc6bdfbbc1bf6f3cf39134827429" - ], - [ - "LowStar.Monotonic.Buffer.recallable_mgsub", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_d7fe91e0a74586eb44d93699b6010249" - ], - 0, - "07f16b7d9bed18dbaaec8aa6b18b2274" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial", - 1, - 2, - 1, - [ "@query" ], - 0, - "43ec5da4f15fb63635a5ecfcedcf7fb8" - ], - [ - "LowStar.Monotonic.Buffer.witnessed_functorial_st", - 1, - 2, - 1, - [ "@query" ], - 0, - "76264608a3573a9cb6da8ce68d706b2b" - ], - [ - "LowStar.Monotonic.Buffer.freeable_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "e8e9c9724e50d0c304b6689d27405dc6" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eb1d6c8015316c9d1b5223e9abc8bac7" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.UInt32.v" - ], - 0, - "1c9c47a302040129609e90ae20402f09" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5b0eb244f918e6c8215083b2d9842d7b", - "refinement_interpretation_Tm_refine_d75f91319c913af58cda6efbb0a1f440" - ], - 0, - "91fcb3a7e557409edaff16276951e258" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4e0a9f794fc897d0aedd2626977e5bd0" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fcdbd05d6339d54af06bfaba5a93922c", - "typing_FStar.UInt32.v" - ], - 0, - "2f76e378fcb872aca171adf185b193ef" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a6cf5e5c36c8ad78f0926c7c77a31f31", - "refinement_interpretation_Tm_refine_c53c3591da3f77fb9f2db8075ff367b6" - ], - 0, - "716b7b89a675a0daa560485074f1c273" - ], - [ - "LowStar.Monotonic.Buffer.malloca", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "90bfe3c4e7575ab04d6147d56cb4047e" - ], - [ - "LowStar.Monotonic.Buffer.malloca_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b7dc68121a6e5ecaed08c46083255713", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "b3f89099eba2cacbe30e3d42121ce22d" - ], - [ - "LowStar.Monotonic.Buffer.mgcmalloc_of_list_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_0746e3728a9921be4be4d3cca62e86e4", - "refinement_interpretation_Tm_refine_a6118af488767f45ce918c6f829632fa" - ], - 0, - "df42df175d9556b8fee986ca445015f5" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "0012f8476ace0a6ebd61110da2bdf4b5" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_mm", - 1, - 2, - 1, - [ - "@query", "b2t_def", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "50a0e2db91fca795e526b3e7d5f5400d" - ], - [ - "LowStar.Monotonic.Buffer.mmalloc_drgn_and_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_75cc1b5adf98f48abab623cab9117c3d", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "832f4d3977f093f4df8d9972b4fdbe95" - ], - [ - "LowStar.Monotonic.Buffer.blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_b3a10eec9430ce76d54af2274814c12d", - "refinement_interpretation_Tm_refine_b5a91607eec33580227fb984e64e5622", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "6fed8c437deb8fe98be33e5dbabca61d" - ], - [ - "LowStar.Monotonic.Buffer.fill", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", "int_inversion", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_55cd6d6db25fd2e317f3201a2899c181", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.frameOf" - ], - 0, - "96f4802cad254c41a868fdff61290604" - ], - [ - "LowStar.Monotonic.Buffer.cloc_of_loc_addresses", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "95881959e51ed422770555f7ce477132" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.PrefixFreezableBuffer.fst.hints b/ulib/.hints/LowStar.PrefixFreezableBuffer.fst.hints deleted file mode 100644 index 2a339de7aae..00000000000 --- a/ulib/.hints/LowStar.PrefixFreezableBuffer.fst.hints +++ /dev/null @@ -1,799 +0,0 @@ -[ - "à4”¼\u000bfD4\u001b5†Ÿ9\u000e`Ø", - [ - [ - "LowStar.PrefixFreezableBuffer.frozen_until", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08c7fe00e52c8a1d05a53ba00562f3a3" - ], - 0, - "29e1364888fe77ee7367e3518281a4d9" - ], - [ - "LowStar.PrefixFreezableBuffer.pre", - 1, - 0, - 0, - [ "@query" ], - 0, - "9e95ce8cd5a3006ed45cd011a74d14fe" - ], - [ - "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.u8", - "equation_Prims.l_Forall", "equation_Prims.nat", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "l_quant_interp_48fc6650bfa8bf8c03b3b6e1fc656917", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d9e56c071ce113a40b45f6977b6220be" - ], - [ - "LowStar.PrefixFreezableBuffer.prefix_freezable_preorder_elim", - 1, - 0, - 0, - [ - "@query", "b2t_def", "eq2-interp", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_Prims.nat", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "l_quant_interp_48fc6650bfa8bf8c03b3b6e1fc656917", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "611a0e33eb5b6975cbe247fa5d6ff389" - ], - [ - "LowStar.PrefixFreezableBuffer.frozen_until_at_least", - 1, - 0, - 0, - [ "@query" ], - 0, - "e579c8a6f56ede68279888c208d9d9ee" - ], - [ - "LowStar.PrefixFreezableBuffer.slice_is", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.u32", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "fc9edae0d9d4758a712ff310909aa592" - ], - [ - "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "ba939eaa51a08c0bd1ffc95e6c6e8ea5" - ], - [ - "LowStar.PrefixFreezableBuffer.update_frozen_until_alloc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Endianness.u8", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", - "interpretation_Tm_abs_56f7ef939bc2407d588f53f6cf74becb", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b9356bf439587bb3bb8076aec9fd3dd8", - "refinement_interpretation_Tm_refine_ed40b1d093f9935375199e522493a6ac", - "token_correspondence_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt8.t", "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "4df7a818fe2d6806f3fac9bee947d874" - ], - [ - "LowStar.PrefixFreezableBuffer.gcmalloc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_new_locs", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_045d1de34ca81df2e2e0e357bad2d43e", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6722082e09dfb944bf336c82f8e4f4d5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e706c61db877488ca555edd962dd4290", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_ed40b1d093f9935375199e522493a6ac", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "f7bc15e2ddc15964b76b03261e38b847" - ], - [ - "LowStar.PrefixFreezableBuffer.malloc", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_new_locs", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4f87d6f622d5c9c9ad2c219cd7321785", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6722082e09dfb944bf336c82f8e4f4d5", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_78d74d0d3298337e3dab49660f7a5a73", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_ed40b1d093f9935375199e522493a6ac", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "a534d833fd44f421b27177c5c26e7951" - ], - [ - "LowStar.PrefixFreezableBuffer.alloca", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_non_tip_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_new_locs", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_25c72d704900d626b30894312c325451", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4897ffbb51a0165b77a7174df7f9b6ce", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_7c14e8c8a3376f78870af7e30690c383", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_ed40b1d093f9935375199e522493a6ac", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fd0bc08924a06fa04ebb89458c3ffee9", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "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.is_stack_region", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt8.t", - "typing_FStar.UInt8.uint_to_t", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "typing_Prims.int", "typing_Prims.pow2" - ], - 0, - "ed825da6b0dd7a9b1fa48450c1bf52cb" - ], - [ - "LowStar.PrefixFreezableBuffer.upd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c6c895a0bfebd9ff7e8b0ee91bc8d6b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "0b0f2fef540075e4526aad3302b0643a" - ], - [ - "LowStar.PrefixFreezableBuffer.upd", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "int_inversion", "int_typing", - "interpretation_Tm_abs_56f7ef939bc2407d588f53f6cf74becb", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "l_quant_interp_48fc6650bfa8bf8c03b3b6e1fc656917", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_3c6c895a0bfebd9ff7e8b0ee91bc8d6b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_afc50ae402f54eb0158105e4856ff4bc", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "fd3c5486582ace5d79a1d8fd554000b3" - ], - [ - "LowStar.PrefixFreezableBuffer.le_pre_post_index", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", "int_typing", - "l_quant_interp_c37916f7abdfe7a1e33a068950a39188", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.UInt8.t" - ], - 0, - "7f5d2550829011f868897ebef8ed2dc0" - ], - [ - "LowStar.PrefixFreezableBuffer.freeze", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80cb69d348eb4d18eac579a79e51c951", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "6f5938633a0c8c00137db13ce9a94895" - ], - [ - "LowStar.PrefixFreezableBuffer.freeze", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "eq2-interp", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", "equation_LowStar.Endianness.u8", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "int_inversion", - "interpretation_Tm_abs_56f7ef939bc2407d588f53f6cf74becb", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "l_quant_interp_48fc6650bfa8bf8c03b3b6e1fc656917", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_80cb69d348eb4d18eac579a79e51c951", - "refinement_interpretation_Tm_refine_9ce6c0b460c4e1087e5f8e1aec8bb472", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "37786d68f8cefc617bcd89aeaedc9619" - ], - [ - "LowStar.PrefixFreezableBuffer.frozen_until_st", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "702fbc9d0877267d2e7745770b7301ba" - ], - [ - "LowStar.PrefixFreezableBuffer.frozen_until_st", - 2, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Endianness.u32", - "equation_LowStar.Endianness.u8", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until", - "equation_LowStar.PrefixFreezableBuffer.le_to_n", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_fbc6cdf7a4e822a1f7db80065d517f22" - ], - 0, - "6ab1cced7997929ac961f58d2bdbec88" - ], - [ - "LowStar.PrefixFreezableBuffer.witness_slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", "eq2-interp", - "equation_FStar.Endianness.bytes", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.slice_is", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "interpretation_Tm_abs_fecc7586928e79edcc804aabb3ff3600", - "l_and-interp", "l_imp-interp", - "l_quant_interp_48fc6650bfa8bf8c03b3b6e1fc656917", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_06f4a8968830c83ecff9470fbaad9437", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.PrefixFreezableBuffer.slice_is", - "typing_FStar.Endianness.bytes", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.slice", "typing_FStar.UInt32.v", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "2a432a61ff239bd3acf26207e4bb33b9" - ], - [ - "LowStar.PrefixFreezableBuffer.recall_slice", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "3c41a252004459f6678af209d70b4808" - ], - [ - "LowStar.PrefixFreezableBuffer.witness_frozen_until", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "equation_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_56f7ef939bc2407d588f53f6cf74becb", - "interpretation_Tm_abs_76e0f3d6a8153eb4e4efc918f1fe462a", - "l_and-interp", "l_imp-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0d56f5c85789703e8541c58865d0812", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "token_correspondence_LowStar.PrefixFreezableBuffer.frozen_until_at_least", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "7128ce2f4bfe23b872f2c576827533ae" - ], - [ - "LowStar.PrefixFreezableBuffer.recall_frozen_until", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "26afbe45d697247a625cc9393c196f2e" - ], - [ - "LowStar.PrefixFreezableBuffer.recall_frozen_until_default", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_intro", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f8c7a42e36f9939e2fb6dab9b51e023f", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "03a083b65a91e2dc5d7d179c1e916ec1" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.PrefixFreezableBuffer.fsti.hints b/ulib/.hints/LowStar.PrefixFreezableBuffer.fsti.hints deleted file mode 100644 index 633c1a542c8..00000000000 --- a/ulib/.hints/LowStar.PrefixFreezableBuffer.fsti.hints +++ /dev/null @@ -1,138 +0,0 @@ -[ - "¿F†ûÂâ0@-ì8rš«<ž", - [ - [ - "LowStar.PrefixFreezableBuffer.frozen_until", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_08c7fe00e52c8a1d05a53ba00562f3a3" - ], - 0, - "629add93ac9e0dff5276e35aadf4769b" - ], - [ - "LowStar.PrefixFreezableBuffer.pre", - 1, - 0, - 0, - [ "@query" ], - 0, - "7aadfba3b078051777d5a7c433ba74ec" - ], - [ - "LowStar.PrefixFreezableBuffer.frozen_until_at_least", - 1, - 0, - 0, - [ "@query" ], - 0, - "c76f9d9497a882815921077c75648456" - ], - [ - "LowStar.PrefixFreezableBuffer.slice_is", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.u32", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "fc9edae0d9d4758a712ff310909aa592" - ], - [ - "LowStar.PrefixFreezableBuffer.alloc_post_mem_common", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "e5e49233365b77c71700b8642f7ef406" - ], - [ - "LowStar.PrefixFreezableBuffer.upd", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3c6c895a0bfebd9ff7e8b0ee91bc8d6b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "b5d0f5f51d62b6e3c028b5ff5f91e7fd" - ], - [ - "LowStar.PrefixFreezableBuffer.freeze", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u32", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_80cb69d348eb4d18eac579a79e51c951", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "efc53dc056d6753269f449e4708b38d7" - ], - [ - "LowStar.PrefixFreezableBuffer.frozen_until_st", - 1, - 0, - 0, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.PrefixFreezableBuffer.buffer", - "equation_LowStar.PrefixFreezableBuffer.u8", "equation_Prims.eqtype", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_ed04d2b92353c98bd1544c51feb117b9", - "typing_FStar.UInt8.t", - "typing_LowStar.PrefixFreezableBuffer.prefix_freezable_preorder" - ], - 0, - "702fbc9d0877267d2e7745770b7301ba" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Printf.fst.hints b/ulib/.hints/LowStar.Printf.fst.hints deleted file mode 100644 index 35f57ec1c8b..00000000000 --- a/ulib/.hints/LowStar.Printf.fst.hints +++ /dev/null @@ -1,531 +0,0 @@ -[ - " j†kVl^#õ¬-J.\u001bÛÍ", - [ - [ - "LowStar.Printf.arg", - 1, - 2, - 1, - [ "@query", "assumption_LowStar.Printf.base_typ__uu___haseq" ], - 0, - "de0b1dd8766ecaa092829f0edd6d9ed8" - ], - [ - "LowStar.Printf.__proj__Base__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_9f66bb39275d9d5b77f8ccc15400eabe" - ], - 0, - "f3b77558efaf9f77e711943c364f6ecf" - ], - [ - "LowStar.Printf.__proj__Array__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_6148b8d0e9c7b9138b37557165b1bfac" - ], - 0, - "5834f9845575d2cfbfcc0b14aeaabcb4" - ], - [ - "LowStar.Printf.base_typ_as_type", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_LowStar.Printf.Bool", - "disc_equation_LowStar.Printf.Char", - "disc_equation_LowStar.Printf.I16", - "disc_equation_LowStar.Printf.I32", - "disc_equation_LowStar.Printf.I64", - "disc_equation_LowStar.Printf.I8", - "disc_equation_LowStar.Printf.String", - "disc_equation_LowStar.Printf.U16", - "disc_equation_LowStar.Printf.U32", - "disc_equation_LowStar.Printf.U64", - "disc_equation_LowStar.Printf.U8", - "fuel_guarded_inversion_LowStar.Printf.base_typ", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c601fd61daa0125258d9fa43cb7ea5ad" - ], - [ - "LowStar.Printf.fragment", - 1, - 2, - 1, - [ "@query", "assumption_LowStar.Printf.arg__uu___haseq" ], - 0, - "8b65477a883406c2b852ba00a0c45447" - ], - [ - "LowStar.Printf.__proj__Frag__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_722d669b0cd0657fe44a93f2eadb26c0" - ], - 0, - "1ca8f4a651d554b1c3f4bed233174c26" - ], - [ - "LowStar.Printf.__proj__Interpolate__item___0", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_055b832b498eb94d06df5025ab885722" - ], - 0, - "710b0e4e917cc0628b0ee31b5018e20b" - ], - [ - "LowStar.Printf.parse_format", - 1, - 4, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.length.fuel_instrumented", - "@query", "binder_x_4bb2ecabb8dd73bd801eb57f838ec7dc_0", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.String.char", "equation_LowStar.Printf.fragments", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.length.fuel_instrumented", - "fuel_guarded_inversion_Prims.list", "int_typing", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_Addition", - "primitive_Prims.op_Equality", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Cons_tl", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "token_correspondence_FStar.List.Tot.Base.length.fuel_instrumented", - "typing_FStar.Char.__char_of_int", - "typing_FStar.List.Tot.Base.length", "typing_FStar.String.char", - "typing_LowStar.Printf.fragments", - "typing_Prims.__proj__Cons__item__tl", "well-founded-ordering-on-nat" - ], - 0, - "18b3c7d09deddd5e6f721a2b162d77a6" - ], - [ - "LowStar.Printf.lift", - 1, - 2, - 1, - [ "@query" ], - 0, - "805514467931eda95efca4312108cc89" - ], - [ - "LowStar.Printf.arg_t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bc62cb96815be423ca34af9ba9320f3f_0", - "disc_equation_LowStar.Printf.Any", - "disc_equation_LowStar.Printf.Array", - "disc_equation_LowStar.Printf.Base", - "fuel_guarded_inversion_LowStar.Printf.arg", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "090d929a893bf146284f895566a29e8a" - ], - [ - "LowStar.Printf.live_frags", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Printf_interpretation_Tm_arrow_89b02de1d0f8fae8b737b5da962b8235", - "LowStar.Printf_pretyping_bc62cb96815be423ca34af9ba9320f3f", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_1315062b3e24e240b0806e7c37d4fa5f_1", - "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_LowStar.Printf.Any", - "disc_equation_LowStar.Printf.Array", - "disc_equation_LowStar.Printf.Base", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_LowStar.Printf.Any@tok", - "equation_LowStar.Printf.frag_t", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_LowStar.Printf.arg", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", - "kinding_LowStar.Printf.arg@tok", "proj_equation_Prims.Cons_hd", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Inr_v", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", "typing_LowStar.Printf.frag_t", - "typing_Prims.__proj__Cons__item__hd", - "typing_Prims.__proj__Mkdtuple2__item___1", - "typing_Tm_abs_abf672c86cfb523c4d003f068f3eacc9", - "typing_tok_LowStar.Printf.Any@tok" - ], - 0, - "d95ae9a8205d82aa4f2f6646735df1a6" - ], - [ - "LowStar.Printf.interpret_frags", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_f1cc36005ab7e9ce67cef9425a17892e_0", "bool_inversion", - "bool_typing", "disc_equation_LowStar.Printf.Any", - "disc_equation_LowStar.Printf.Array", - "disc_equation_LowStar.Printf.Base", - "disc_equation_LowStar.Printf.Frag", - "disc_equation_LowStar.Printf.Interpolate", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LowStar.Printf.fragments", - "fuel_guarded_inversion_LowStar.Printf.arg", - "fuel_guarded_inversion_LowStar.Printf.fragment", - "fuel_guarded_inversion_Prims.list", - "kinding_LowStar.Printf.fragment@tok", "primitive_Prims.op_AmpAmp", - "proj_equation_LowStar.Printf.Interpolate__0", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_055b832b498eb94d06df5025ab885722", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "typing_LowStar.Printf.__proj__Interpolate__item___0", - "typing_Prims.__proj__Cons__item__hd" - ], - 0, - "a89035a324fa142e10f4a46090ec57d2" - ], - [ - "LowStar.Printf.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_754b00004f4a881ff74d076ab276dfe1" - ], - 0, - "f2e8e0f16ea0b8c9fac9b0f879b62d5d" - ], - [ - "LowStar.Printf.print_frags", - 1, - 2, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Printf.live_frags.fuel_instrumented", - "@fuel_irrelevance_LowStar.Printf.live_frags.fuel_instrumented", - "@query", - "LowStar.Printf_pretyping_bc62cb96815be423ca34af9ba9320f3f", - "bool_inversion", "constructor_distinct_FStar.Pervasives.Inl", - "constructor_distinct_LowStar.Printf.Array", - "constructor_distinct_LowStar.Printf.Base", - "constructor_distinct_LowStar.Printf.Bool", - "constructor_distinct_LowStar.Printf.Char", - "constructor_distinct_LowStar.Printf.I16", - "constructor_distinct_LowStar.Printf.I32", - "constructor_distinct_LowStar.Printf.I64", - "constructor_distinct_LowStar.Printf.I8", - "constructor_distinct_LowStar.Printf.String", - "constructor_distinct_LowStar.Printf.U16", - "constructor_distinct_LowStar.Printf.U32", - "constructor_distinct_LowStar.Printf.U64", - "constructor_distinct_LowStar.Printf.U8", - "constructor_distinct_Prims.Cons", "data_elim_FStar.Pervasives.Inr", - "data_elim_LowStar.Printf.Array", "data_elim_LowStar.Printf.Base", - "data_elim_Prims.Mkdtuple2", "disc_equation_FStar.Pervasives.Inl", - "disc_equation_FStar.Pervasives.Inr", - "disc_equation_LowStar.Printf.Any", - "disc_equation_LowStar.Printf.Array", - "disc_equation_LowStar.Printf.Base", - "disc_equation_LowStar.Printf.Bool", - "disc_equation_LowStar.Printf.Char", - "disc_equation_LowStar.Printf.I16", - "disc_equation_LowStar.Printf.I32", - "disc_equation_LowStar.Printf.I64", - "disc_equation_LowStar.Printf.I8", - "disc_equation_LowStar.Printf.String", - "disc_equation_LowStar.Printf.U16", - "disc_equation_LowStar.Printf.U32", - "disc_equation_LowStar.Printf.U64", - "disc_equation_LowStar.Printf.U8", "disc_equation_Prims.Cons", - "disc_equation_Prims.Nil", "equality_tok_LowStar.Printf.Any@tok", - "equality_tok_LowStar.Printf.Bool@tok", - "equality_tok_LowStar.Printf.Char@tok", - "equality_tok_LowStar.Printf.I16@tok", - "equality_tok_LowStar.Printf.I32@tok", - "equality_tok_LowStar.Printf.I64@tok", - "equality_tok_LowStar.Printf.I8@tok", - "equality_tok_LowStar.Printf.String@tok", - "equality_tok_LowStar.Printf.U16@tok", - "equality_tok_LowStar.Printf.U32@tok", - "equality_tok_LowStar.Printf.U64@tok", - "equality_tok_LowStar.Printf.U8@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Preorder.preorder", - "equation_LowStar.Printf.base_typ_as_type", - "equation_LowStar.Printf.frag_t", "equation_LowStar.Printf.lmbuffer", - "equation_with_fuel_LowStar.Printf.live_frags.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.either", - "fuel_guarded_inversion_LowStar.Printf.arg", - "fuel_guarded_inversion_LowStar.Printf.base_typ", - "fuel_guarded_inversion_Prims.dtuple2", - "fuel_guarded_inversion_Prims.list", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_FStar.Pervasives.Inr_v", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_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_v", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.Printf.Array__0", - "projection_inverse_LowStar.Printf.Base__0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_a0c1c73c6b4b42ccb09d4175d31c2681", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_cd6a80147ec44d3b27cadb6f6cd8c826", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_tok_LowStar.Printf.Any@tok", "unit_inversion", "unit_typing" - ], - 0, - "a7198501e7ac2c948e8e0e7f88b75187" - ], - [ - "LowStar.Printf.aux", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Printf.interpret_frags.fuel_instrumented", - "@fuel_irrelevance_LowStar.Printf.interpret_frags.fuel_instrumented", - "@query", - "LowStar.Printf_interpretation_Tm_arrow_685a17213245d39d0329616af5a00ad9", - "LowStar.Printf_interpretation_Tm_arrow_f7f7272c3eebb847fb70d6fef8881e45", - "binder_x_1315062b3e24e240b0806e7c37d4fa5f_1", - "binder_x_f1cc36005ab7e9ce67cef9425a17892e_0", "bool_inversion", - "bool_typing", "constructor_distinct_LowStar.Printf.Base", - "constructor_distinct_LowStar.Printf.Frag", - "constructor_distinct_LowStar.Printf.Interpolate", - "disc_equation_LowStar.Printf.Any", - "disc_equation_LowStar.Printf.Array", - "disc_equation_LowStar.Printf.Base", - "disc_equation_LowStar.Printf.Frag", - "disc_equation_LowStar.Printf.Interpolate", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_LowStar.Printf.fragments", - "equation_with_fuel_LowStar.Printf.interpret_frags.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Printf.arg", - "fuel_guarded_inversion_LowStar.Printf.fragment", - "fuel_guarded_inversion_Prims.list", - "kinding_LowStar.Printf.fragment@tok", "primitive_Prims.op_AmpAmp", - "proj_equation_LowStar.Printf.Interpolate__0", - "proj_equation_Prims.Cons_hd", "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Printf.Base__0", - "projection_inverse_LowStar.Printf.Frag__0", - "projection_inverse_LowStar.Printf.Interpolate__0", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_055b832b498eb94d06df5025ab885722", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32", - "subterm_ordering_Prims.Cons", - "typing_LowStar.Printf.__proj__Interpolate__item___0", - "typing_Prims.__proj__Cons__item__hd" - ], - 0, - "7b104aceb8023a6c7eb88e3ccacb077c" - ], - [ - "LowStar.Printf.interpret_format_string", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Printf.parse_format.fuel_instrumented", - "@fuel_irrelevance_LowStar.Printf.parse_format.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_LowStar.Printf.format_string", - "equation_LowStar.Printf.fragments", - "equation_LowStar.Printf.parse_format_string", - "equation_with_fuel_LowStar.Printf.parse_format.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "lemma_FStar.Pervasives.invertOption", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_a5aaf1e4787b9a03bd1440c51c59271a", - "typing_FStar.String.list_of_string", - "typing_LowStar.Printf.fragments", - "typing_LowStar.Printf.parse_format_string" - ], - 0, - "aee9b9a6dd554d83d3d09131c7906984" - ], - [ - "LowStar.Printf.printf'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Printf.parse_format.fuel_instrumented", - "@fuel_irrelevance_LowStar.Printf.parse_format.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.String.char", - "equation_LowStar.Printf.format_string", - "equation_LowStar.Printf.fragments", - "equation_LowStar.Printf.parse_format_string", - "equation_with_fuel_LowStar.Printf.parse_format.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.Pervasives.invertOption", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_a5aaf1e4787b9a03bd1440c51c59271a", - "string_inversion", "typing_FStar.String.list_of_string", - "typing_LowStar.Printf.fragments", - "typing_LowStar.Printf.parse_format", - "typing_LowStar.Printf.parse_format_string" - ], - 0, - "b7fec889752c3d47416de8a3702d14a2" - ], - [ - "LowStar.Printf.intro_normal_f", - 1, - 2, - 1, - [ "@query" ], - 0, - "130a19f1b720d3ef53c85565679fa36e" - ], - [ - "LowStar.Printf.skip'", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Printf.parse_format.fuel_instrumented", - "@fuel_irrelevance_LowStar.Printf.parse_format.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Tm_unit", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.String.char", - "equation_LowStar.Printf.format_string", - "equation_LowStar.Printf.fragments", - "equation_LowStar.Printf.parse_format_string", - "equation_with_fuel_LowStar.Printf.parse_format.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.list", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Set.lemma_equal_intro", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_a5aaf1e4787b9a03bd1440c51c59271a", - "refinement_interpretation_Tm_refine_cd6a80147ec44d3b27cadb6f6cd8c826", - "string_inversion", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.String.list_of_string", - "typing_LowStar.Printf.fragments", - "typing_LowStar.Printf.parse_format", - "typing_LowStar.Printf.parse_format_string" - ], - 0, - "e7f373b5c10ddf456265f2782e3f1d8e" - ], - [ - "LowStar.Printf.test", - 1, - 2, - 1, - [ "@query" ], - 0, - "ea3702eb92e7f5d42ea061e20986749f" - ], - [ - "LowStar.Printf.test2", - 1, - 2, - 1, - [ "@query" ], - 0, - "9a666a9a6460c12a31a8c4876a173f79" - ], - [ - "LowStar.Printf.test3", - 1, - 2, - 1, - [ "@query" ], - 0, - "322a01651300001bd109274267444cb3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.RVector.fst.hints b/ulib/.hints/LowStar.RVector.fst.hints deleted file mode 100644 index ec25f58e11b..00000000000 --- a/ulib/.hints/LowStar.RVector.fst.hints +++ /dev/null @@ -1,5036 +0,0 @@ -[ - "Ó=lKç¿4\u0011-†\u0003M*c|@", - [ - [ - "LowStar.RVector.copyable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_340a7d11f9ed07a819612a908da0d6cc", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "4670bb56e8c356ee4f9a2f37591f8d7c" - ], - [ - "LowStar.RVector.__proj__Cpy__item__copy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_340a7d11f9ed07a819612a908da0d6cc", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "c61022c1b7b9d81f89d19e3ea6b0562a" - ], - [ - "LowStar.RVector.__proj__Cpy__item__copy", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_340a7d11f9ed07a819612a908da0d6cc", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "6f06668902cba06d04dab5c903901182" - ], - [ - "LowStar.RVector.rv_elems_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "fb96c8dbb9b96da3c93089878a491d95" - ], - [ - "LowStar.RVector.elems_inv", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.size_of" - ], - 0, - "aa489401182fc0ee42102ebb4da61fe6" - ], - [ - "LowStar.RVector.rv_elems_reg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "a963dca422ef04bd6c9257d22690ad95" - ], - [ - "LowStar.RVector.elems_reg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.size_of" - ], - 0, - "9cc2a8f5822c1ca6a108a814cc82e052" - ], - [ - "LowStar.RVector.rs_elems_inv_live_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "b2t_def", "binder_x_4ba51f90f5dff5b2d0f3d740f2bdfa71_7", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", - "interpretation_Tm_abs_12a62b935a6711bb336169cf4e1fec84", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_1d2f241db3757b1eda9b3c1de5a288d2", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8aad6c179ee187233449adffae09cb02", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.index", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "efb485c5a863a00fb0d7130222117ad5" - ], - [ - "LowStar.RVector.rs_elems_inv_live_region", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_576950e633ac17e7a5eb5ef8baed1264" - ], - 0, - "e79626e6cf887421973402cae1088291" - ], - [ - "LowStar.RVector.rv_elems_inv_live_region", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "70696c5b37a45486a8608b6593f20368" - ], - [ - "LowStar.RVector.rs_loc_elems", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_50f0c67bc6cd57d154731281e6e156bb_6", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_5", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "int_inversion", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ad687f763016d4e25ea733549d605652", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "dddd856a6209ddfd5d2e214c843e1513" - ], - [ - "LowStar.RVector.rv_loc_elems", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "726183a35135f4ef69eec9846570846e" - ], - [ - "LowStar.RVector.rv_loc_elem", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "7e7886e116d0bfdb5b1b892addd0a185" - ], - [ - "LowStar.RVector.rs_loc_elems_rec_inverse", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ad18b7adea7c11cbf35529b927ec76c3" - ], - 0, - "9aa1e8050bf1ce110ba14a6cfc5fa1c9" - ], - [ - "LowStar.RVector.rs_loc_elems_rec_inverse", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_5", - "binder_x_912bfc7443d92c657bb12d33ab94fdb9_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_13c8eeb036157496059c463d75cf0f66", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "3f3abd0e3c31aacf558bf042b2b68609" - ], - [ - "LowStar.RVector.rs_loc_elems_rec_inverse", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Addition", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_051f9204989d238448519fe4e68202b9", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955" - ], - 0, - "d3d6ed845564ac48771d9560d1bc16ba" - ], - [ - "LowStar.RVector.rs_loc_elems_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "5b42f4d68156c6825dbfc659837775d6" - ], - [ - "LowStar.RVector.rs_loc_elems_includes", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "binder_x_12f6c8f82f0a6a8b64e44ee082b455fd_7", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_50f0c67bc6cd57d154731281e6e156bb_6", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_5", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_regions", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_a40e15f77a17b8eece78af8edcbd7b51", - "refinement_interpretation_Tm_refine_ad687f763016d4e25ea733549d605652", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.singleton", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "cfce3311637974851d3352b95e72bc74" - ], - [ - "LowStar.RVector.rs_loc_elems_includes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "823c987213b9faef018f4c812b7895c7" - ], - [ - "LowStar.RVector.rs_loc_elem_included", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_trans", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.complement", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" - ], - 0, - "f9a03c9d25f7b99934bcf9ce4517784c" - ], - [ - "LowStar.RVector.rs_loc_elems_included", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "b2t_def", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_6674cdf33d1fdb11a57b885ad5b4a914_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0b200d3127552047b8892e842642bb1b", - "refinement_interpretation_Tm_refine_19f0a6f489a289704cb033e7c136ee28", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "723f6e5eae461cad0234fbbdad3a58da" - ], - [ - "LowStar.RVector.rs_loc_elems_included", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a29b3636f10bb80fe8603758594845d7" - ], - 0, - "eb686954a6319eaad8b274bf1efa8132" - ], - [ - "LowStar.RVector.rv_loc_elems_included", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "bbffc91915f79b57d528bb60a9671a71" - ], - [ - "LowStar.RVector.rs_loc_elem_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_Prims.int" - ], - 0, - "ee40c0a557033f9719e567815965cec5" - ], - [ - "LowStar.RVector.rs_loc_elem_disj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Vector.forall2_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_c87aa5965b477cef27de7ff43995cd8f", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" - ], - 0, - "528e4bd5830934a04c51fc053e76d4ad" - ], - [ - "LowStar.RVector.rs_loc_elem_disj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "582bdf624093b24df6398248b85e1f12" - ], - [ - "LowStar.RVector.rs_loc_elem_disj_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_Prims.int" - ], - 0, - "39a23967229a171af16a56c73d62b6be" - ], - [ - "LowStar.RVector.rs_loc_elem_disj_forall", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Vector.forall2_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_c87aa5965b477cef27de7ff43995cd8f", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton" - ], - 0, - "ca57ac14fea6f942425d4f158411165a" - ], - [ - "LowStar.RVector.rs_loc_elems_elem_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9bb2ec7a735c0ad3cd99c4b7a2ed35e0", - "refinement_interpretation_Tm_refine_bf20104b55c51d736857d3ec14c44965", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "5c749209221dd9c08100be254c952cc4" - ], - [ - "LowStar.RVector.rs_loc_elems_elem_disj", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "binder_x_06bfdc9b1a913a7f4cb64caff651db83_8", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_6674cdf33d1fdb11a57b885ad5b4a914_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_ad76ff84c47dc4d923bf06a4813f0a68_9", - "binder_x_c4068504095a5fcaf4654dc1127d074f_10", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.eqtype", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_19f0a6f489a289704cb033e7c136ee28", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_84c9a5d70153de6c7aa087abd55f1a4d", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_b3d2348d8f51156c035dcf750db4fae9", - "refinement_interpretation_Tm_refine_c192fc311b40e0facee3b02073d6e5d7", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "c0c74ebbe6146270d783d0121cda0984" - ], - [ - "LowStar.RVector.rs_loc_elems_elem_disj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9bb2ec7a735c0ad3cd99c4b7a2ed35e0", - "refinement_interpretation_Tm_refine_a85be5580803f3cb008b2deea596a16d", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "27515da44effb5d8c79533e4e26e96b0" - ], - [ - "LowStar.RVector.rs_loc_elems_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9bb2ec7a735c0ad3cd99c4b7a2ed35e0", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "c053512f8ca8990cca738aaf6ef8a34b" - ], - [ - "LowStar.RVector.rs_loc_elems_disj", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "binder_x_06bfdc9b1a913a7f4cb64caff651db83_10", - "binder_x_06bfdc9b1a913a7f4cb64caff651db83_8", - "binder_x_3d4a0db16b620208e6025142f38daa78_11", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_6674cdf33d1fdb11a57b885ad5b4a914_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_ad76ff84c47dc4d923bf06a4813f0a68_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_loc_elem", "equation_Prims.eqtype", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_19f0a6f489a289704cb033e7c136ee28", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_45a07223514224d865f597b49e11cf57", - "refinement_interpretation_Tm_refine_84c9a5d70153de6c7aa087abd55f1a4d", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c192fc311b40e0facee3b02073d6e5d7", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_ea4cacfb1f32e670a72d2805ad36c9c4", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "80c7f16ca91c3f4c8907c02a3ba87154" - ], - [ - "LowStar.RVector.rs_loc_elems_disj", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9bb2ec7a735c0ad3cd99c4b7a2ed35e0", - "refinement_interpretation_Tm_refine_b40c5ea66a2dab7f606f02c4cc78073e", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "fdf0a9cf594646c7a1a2c4cbc35bc2c4" - ], - [ - "LowStar.RVector.rv_loc_elems_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "a30302e7155a5ff7ea6989c0bba7ca09" - ], - [ - "LowStar.RVector.rv_loc_elems_disj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_9419c9469dbe1dc7246dc35f8264b951", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq" - ], - 0, - "8eca655979f99694401286029bbcc9ca" - ], - [ - "LowStar.RVector.rs_loc_elems_parent_disj", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_6674cdf33d1fdb11a57b885ad5b4a914_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_19f0a6f489a289704cb033e7c136ee28", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "5270b27e51a684ccc67f317616585aec" - ], - [ - "LowStar.RVector.rs_loc_elems_parent_disj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_05bc40ccce7f3edaca63728ad0d0f340" - ], - 0, - "db469d98e977a9a6822c0e4e5ecfc3b0" - ], - [ - "LowStar.RVector.rv_loc_elems_parent_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "dd109a0fef98ae7a14ac2af04a1645b6" - ], - [ - "LowStar.RVector.rs_loc_elems_each_disj", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_6674cdf33d1fdb11a57b885ad5b4a914_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_c1c1de8ea7481018f23ab7c648051e51_5", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "interpretation_Tm_abs_1b973bae2e36adb22859889723737a18", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_region_of", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_19f0a6f489a289704cb033e7c136ee28", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Set.empty", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.RVector.rs_loc_elems", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "36d9ec9d022f885e2c2598fa3e82cdea" - ], - [ - "LowStar.RVector.rs_loc_elems_each_disj", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1dc5979db00ed7182b66e701bab7256f" - ], - 0, - "3b230fbf1450214f60fd236d73297647" - ], - [ - "LowStar.RVector.rv_loc_elems_each_disj", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.forall_", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "f9fd74920256f9c91bd99cdb1632fc2c" - ], - [ - "LowStar.RVector.rv_loc_elems_preserved", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_5", - "binder_x_4d5bd98e7ddb4213e21527ecc7cb3c73_4", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_7", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_e448eeaaa2e4cab081a1f4e1c7f2b4f2_6", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_8", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.get", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_2719bf32e0badf62d99224e7a5cefaa2", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7ca7da8e1e53305ca43b1dc55e052d1c", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_dfc59c4665e9db1c8786d1d4174404a7", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "f35f5b91635f014207434bae91bbb419" - ], - [ - "LowStar.RVector.rs_elems_inv_preserved", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_50f0c67bc6cd57d154731281e6e156bb_6", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_5", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ad687f763016d4e25ea733549d605652", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_LowStar.RVector.rs_loc_elem", "typing_Prims.int", - "well-founded-ordering-on-nat" - ], - 0, - "bf8b00674a973caaeab73dcf2b942d92" - ], - [ - "LowStar.RVector.rv_elems_inv_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Vector.modifies_as_seq", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_vector" - ], - 0, - "c864530a4e81b21719790bcb8cdd5e81" - ], - [ - "LowStar.RVector.rv_inv_preserved_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "ec9e10298f0037198ffb7670e1dfa15d" - ], - [ - "LowStar.RVector.rv_inv_preserved_", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Vector.modifies_as_seq", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of" - ], - 0, - "166a50b940c5120236438c3b5cbf40f0" - ], - [ - "LowStar.RVector.rv_inv_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.size_of" - ], - 0, - "72b5914d7bf6bbeaf6cfd4e0891f1d3b" - ], - [ - "LowStar.RVector.rv_inv_preserved_int", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54816ce1e9856d39c5b26ac5c6385331", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_60adae8eaa59a278c6bef1fa8df51020", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.get" - ], - 0, - "62046541fac12d8c3e08a3ce78e0724e" - ], - [ - "LowStar.RVector.as_seq_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length" - ], - 0, - "937b6751e5c06955e8cd193843a2d6a4" - ], - [ - "LowStar.RVector.as_seq_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_b77b9c523379d45a35a6283963e3f0f0_7", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_261f06a171b719284aacfef65c6acd1a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7bfa82338805481b175889691d76eb06", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "ef1b7aee484da232cfbc3a7ef20354c4" - ], - [ - "LowStar.RVector.as_seq_seq", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length" - ], - 0, - "f01fe8f19b006bceae36517f05d98930" - ], - [ - "LowStar.RVector.as_seq_sub", - 1, - 2, - 1, - [ "@query" ], - 0, - "38a75801c149a1542c445be650156b59" - ], - [ - "LowStar.RVector.as_seq_sub", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_37fc854aca14f9ca8479126899485c12", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "24161b1f33a8c04c39b9e394be9e0bc7" - ], - [ - "LowStar.RVector.as_seq_sub", - 3, - 2, - 1, - [ "@query" ], - 0, - "a4004a16ef07d7a9bfbf1f4a51b1cdb1" - ], - [ - "LowStar.RVector.as_seq", - 1, - 2, - 1, - [ "@query" ], - 0, - "32a73db2d0345efc94efa9017f77c99f" - ], - [ - "LowStar.RVector.as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "95f04c19f604ab2a854fb782d9218018" - ], - [ - "LowStar.RVector.as_seq_sub_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "78ba102da283db084d7aada41333f240" - ], - [ - "LowStar.RVector.as_seq_sub_as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.RVector.as_seq", - "fuel_guarded_inversion_LowStar.Regional.regional", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "typing_LowStar.RVector.as_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "bdbd9c86b0896011b7994c442a9fa7fa" - ], - [ - "LowStar.RVector.as_seq_seq_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "410c830a6bfd9f0144a0a3f5939aa39b" - ], - [ - "LowStar.RVector.as_seq_seq_index", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_b77b9c523379d45a35a6283963e3f0f0_7", - "binder_x_cbd6df9a9ff6a0200f2aa7036746a67c_8", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_r_inv", - "proj_equation_LowStar.Regional.Rgl_r_repr", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_7bfa82338805481b175889691d76eb06", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f1741245d8112c137c646e29aa987096", - "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_Prims.int", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "472f5c7b2037077dfeed206145d357a0" - ], - [ - "LowStar.RVector.as_seq_seq_index", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_10b84bea96cb1506d5c186b9e2067375", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "f4785f0e5bb2b858b6c9a7587ce33d0b" - ], - [ - "LowStar.RVector.as_seq_seq_eq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "c59991e8d11153d901a17bee009dc49e" - ], - [ - "LowStar.RVector.as_seq_seq_eq", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "196f11f4e08fca8f56588d4c2892be80" - ], - [ - "LowStar.RVector.as_seq_seq_eq", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "6715a06a115fff90373a21f51079f172" - ], - [ - "LowStar.RVector.as_seq_seq_slice", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_14061bbe34fec7e5fa9608ddb5377d0c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "322f93b71ab64520838053281e0fd58b" - ], - [ - "LowStar.RVector.as_seq_seq_slice", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_8", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_b77b9c523379d45a35a6283963e3f0f0_7", - "binder_x_d1c7032fc5f021934e61e7859bf66396_9", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_7bfa82338805481b175889691d76eb06", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_a4bbc07b6b9f0c4dc743e04929856399", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f09fc0cce4a06c8a8fce179da0702535", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "cd0a8dd0b332a12602a0f2075503e62d" - ], - [ - "LowStar.RVector.as_seq_seq_slice", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_14061bbe34fec7e5fa9608ddb5377d0c", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_71432620ca549a94645f9c8211799947", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_dfce98538290b3a76b627e48cf66bb0d", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "e5bddf3dbc2cad28e916c405987e69e4" - ], - [ - "LowStar.RVector.as_seq_seq_upd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_6f143df1d5c2e7fa835cfe1f43648675", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "260ff35d0e3af0870f325e622e2b82d4" - ], - [ - "LowStar.RVector.as_seq_seq_upd", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_5", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_6", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_b77b9c523379d45a35a6283963e3f0f0_7", - "binder_x_bba7bb06ae1d63446ecd1d7288741c34_8", - "binder_x_d61af7e9e24137b6b286d689e3c38a40_9", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_4", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Seq.Properties.snoc", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_r_inv", - "proj_equation_LowStar.Regional.Rgl_r_repr", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_02ae910340394e19f9cb01a335ef45b2", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_7689ea5616009c48e8b733feaf10f01a", - "refinement_interpretation_Tm_refine_7bfa82338805481b175889691d76eb06", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_Prims.int", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "e36d6629e6d6db17478166a47f386c88" - ], - [ - "LowStar.RVector.as_seq_seq_upd", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_378bf6d44d81d4bf15a8fac066ff0725", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_LowStar.RVector.as_seq_seq" - ], - 0, - "7257f488bca4027f84ca17c5f9a252aa" - ], - [ - "LowStar.RVector.as_seq_seq_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6dbb420e65bc2fe689755b9a32f067e5", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "1e691e3bafbd43c681c2b4a5312eb76f" - ], - [ - "LowStar.RVector.as_seq_seq_preserved", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_8efe83896e61f87df00cf72ae31ef9ac", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_4", - "binder_x_50f0c67bc6cd57d154731281e6e156bb_6", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_7", - "binder_x_8f7f11c8feab2d1dbfb8e60676b43aaf_5", - "binder_x_a2767472887b5b6dbff8cc3866c039eb_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_8", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_9", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_2", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.forall_seq", "equation_Prims.eqtype", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_r_inv", - "proj_equation_LowStar.Regional.Rgl_r_repr", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_08698b4b6e166624b5bf789ac071b4cf", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ad687f763016d4e25ea733549d605652", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Properties.snoc", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_Prims.int", "well-founded-ordering-on-nat" - ], - 0, - "b14117448ee5662424169b77301ce189" - ], - [ - "LowStar.RVector.as_seq_seq_preserved", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6dbb420e65bc2fe689755b9a32f067e5", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "2136fa083ab737f33254a892a4992f8e" - ], - [ - "LowStar.RVector.as_seq_sub_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_a91e9dd2b692c4b96e7ede497500bc46" - ], - 0, - "f0f65f4387129865d0ac8d285e7eb093" - ], - [ - "LowStar.RVector.as_seq_sub_preserved", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Vector.modifies_as_seq", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_vector" - ], - 0, - "8aa4ec8bee399c7b3a425b7c66f9e74b" - ], - [ - "LowStar.RVector.as_seq_preserved_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_817bf8560747e1c322552ada83a1d771", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "a624803ec46e83e6f83c3c3e352fc922" - ], - [ - "LowStar.RVector.as_seq_preserved_", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "84ab62309015988e1affbad3f226d217" - ], - [ - "LowStar.RVector.as_seq_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c00a71fcaf24f00a676e93707de5404b" - ], - 0, - "46f52bb412da0d1435b2a307d8098bb0" - ], - [ - "LowStar.RVector.as_seq_preserved", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_typing", "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.complement", - "typing_FStar.Set.intersect", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.size_of" - ], - 0, - "e6e152b6c97be4ea591e09dcd15b307d" - ], - [ - "LowStar.RVector.alloc_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_LowStar.RVector.rvector", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9" - ], - 0, - "4e33601839d7d8968a8357c2e16b3d45" - ], - [ - "LowStar.RVector.alloc_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "54af55b6ce95dd83ba153fceb15fb782" - ], - [ - "LowStar.RVector.alloc_", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_arrow_42ebe5a73794abad125910e887aa8796", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5e8169d5b617d7807fb99c00d9a1b2f2", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_662856f86b8d9f8f1cc38dbd520aa88f", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_remove_new_locs", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.new_region_modifies", - "lemma_LowStar.Vector.get_preserved_within", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Regional.Rgl_loc_of", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Regional.Rgl_repr", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_2eafff708338064d49882466e62ba370", - "refinement_interpretation_Tm_refine_37fc854aca14f9ca8479126899485c12", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a0ee98fd059f6fb1399cee4fedc7010a", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_bc29bf84104028f00d869de3262aaa29", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fe15ebb289e8612535114a9f7b1e3ecc", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__loc_of", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", - "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "true_interp", "typing_FStar.Ghost.reveal", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq_sub", - "typing_LowStar.Regional.__proj__Rgl__item__irepr", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "typing_Prims.int", - "unit_inversion", "unit_typing" - ], - 0, - "efc28f02b93ee9a369c9863de594c88c" - ], - [ - "LowStar.RVector.alloc_rid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "typing_FStar.Seq.Base.length", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "e50fbec27284221c12b5d483385030ea" - ], - [ - "LowStar.RVector.alloc_rid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_all", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "interpretation_Tm_abs_5e8169d5b617d7807fb99c00d9a1b2f2", - "interpretation_Tm_abs_a539224f8ee283c695b36571cc476a54", - "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.RVector.as_seq_sub_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_37fc854aca14f9ca8479126899485c12", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5bd89573edbe0d1be25f36dfe7b30c33", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a0ee98fd059f6fb1399cee4fedc7010a", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_bc29bf84104028f00d869de3262aaa29", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Ghost.reveal", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.RVector.as_seq_sub", - "typing_LowStar.Regional.__proj__Rgl__item__irepr", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of" - ], - 0, - "2960baeded9499890647e6b9e0470bef" - ], - [ - "LowStar.RVector.alloc_reserve", - 1, - 2, - 1, - [ "@query" ], - 0, - "afef8763f01c36589e06febcb860707d" - ], - [ - "LowStar.RVector.alloc_reserve", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.erid", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "typing_FStar.Seq.Base.empty", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.RVector.as_seq", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector" - ], - 0, - "e576fe0602c4f7cbe20d3e9c4e7d12a9" - ], - [ - "LowStar.RVector.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "typing_FStar.Seq.Base.length", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "7f1504cb27b9e97d8e5bf5a8f8f81b18" - ], - [ - "LowStar.RVector.alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.vector", "equation_Prims.eqtype", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.new_region_modifies", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f759b00d0ea3017d744ed132c2ce48f4", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "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_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.loc_vector", "typing_Prims.int" - ], - 0, - "da83e065f1c65ce9bf92272936cf84ed" - ], - [ - "LowStar.RVector.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.is_full", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3c6f842246021ec00349597552637f22", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_ef1e6ed0a8ece2b75456f4698eaf3291", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" - ], - 0, - "17e24774a801637a443d74882f0f4fd5" - ], - [ - "LowStar.RVector.insert", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_arrow_e5ec4d09d74ef6d9837f1dcfa06070d3", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "LowStar.Regional_interpretation_Tm_ghost_arrow_e6b8a71b615251688e17599ba9a3c6a3", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_all", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.is_full", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "interpretation_Tm_abs_b4cff68b8e5e5123bd7ad0712c6a18e2", - "interpretation_Tm_abs_c87aa5965b477cef27de7ff43995cd8f", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_anti_symmetric", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.Set.mem_subset", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3c6f842246021ec00349597552637f22", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_60adae8eaa59a278c6bef1fa8df51020", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_ef1e6ed0a8ece2b75456f4698eaf3291", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa82e8cdc2a3d8728cddcadb5c9f32f7", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.snoc", - "typing_FStar.Set.empty", "typing_FStar.Set.intersect", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.is_full", - "typing_LowStar.Vector.loc_addr_of_vector", - "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of", - "typing_Prims.int" - ], - 0, - "ffde1a5ee28e37bdcdda8d8064a49695" - ], - [ - "LowStar.RVector.insert_copy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.is_full", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3892cec016b446faa82383e576be5ddc", - "refinement_interpretation_Tm_refine_3c6f842246021ec00349597552637f22", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.max_uint32" - ], - 0, - "8680b79f165c9783a0bebf0c7a55031e" - ], - [ - "LowStar.RVector.insert_copy", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_all", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.is_full", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "interpretation_Tm_abs_aaee9c41ce763c23a45eabadb7db1432", - "interpretation_Tm_abs_b2c2ebbb2895e58db3e478f87cbb05a5", - "interpretation_Tm_abs_b4cff68b8e5e5123bd7ad0712c6a18e2", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Monotonic.HyperHeap.extends_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_trans", - "lemma_FStar.Monotonic.HyperStack.lemma_map_invariant", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_union", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.new_region_modifies", - "lemma_LowStar.RVector.rv_inv_preserved", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Regional.Rgl_repr", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_2eafff708338064d49882466e62ba370", - "refinement_interpretation_Tm_refine_3892cec016b446faa82383e576be5ddc", - "refinement_interpretation_Tm_refine_3c6f842246021ec00349597552637f22", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_ef1e6ed0a8ece2b75456f4698eaf3291", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", "true_interp", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Set.singleton", "typing_FStar.Set.union", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.RVector.rv_loc_elems", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.is_full", - "typing_LowStar.Vector.loc_addr_of_vector", - "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.max_uint32", "typing_LowStar.Vector.size_of", - "typing_Prims.int" - ], - 0, - "473ccecf193e0a3aaf8fedcd807d13e5" - ], - [ - "LowStar.RVector.assign", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_e9fc8d35de989e237b9e56401b13bcde", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "4d0c47fa0bc17c6610c81930c663f05b" - ], - [ - "LowStar.RVector.assign", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_arrow_e5ec4d09d74ef6d9837f1dcfa06070d3", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "LowStar.Regional_interpretation_Tm_ghost_arrow_e6b8a71b615251688e17599ba9a3c6a3", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Seq.Base.cons", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "int_inversion", "int_typing", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "interpretation_Tm_abs_b4cff68b8e5e5123bd7ad0712c6a18e2", - "interpretation_Tm_abs_c87aa5965b477cef27de7ff43995cd8f", - "lemma_FStar.Monotonic.HyperHeap.extends_parent", - "lemma_FStar.Monotonic.HyperHeap.includes_child", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_not_root", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_only_parent", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1cc6c9f8558dddb337b6c1187115cd6a", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_37fc854aca14f9ca8479126899485c12", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_60adae8eaa59a278c6bef1fa8df51020", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_bc29bf84104028f00d869de3262aaa29", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_cbd24d5334c6bfffa6fd8a84fb787f7a", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_e9fc8d35de989e237b9e56401b13bcde", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa82e8cdc2a3d8728cddcadb5c9f32f7", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.cons", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq", "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.as_seq_sub", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of" - ], - 0, - "e2bab3580871ea211f11a0f4ea7df4f8" - ], - [ - "LowStar.RVector.r_sep_forall", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_6f143df1d5c2e7fa835cfe1f43648675", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "d832980bcefe68a640f0f38d9e661b60" - ], - [ - "LowStar.RVector.r_sep_forall", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_6f143df1d5c2e7fa835cfe1f43648675", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "c6ba5c24ae8564b9422e3a50e36bbc97" - ], - [ - "LowStar.RVector.assign_copy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_LowStar.Regional.rg_inv", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3892cec016b446faa82383e576be5ddc", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.Regional.rg_inv", - "typing_FStar.UInt32.v" - ], - 0, - "bb584d4279ee898ddd4d5711b420b8a7" - ], - [ - "LowStar.RVector.assign_copy", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_arrow_e5ec4d09d74ef6d9837f1dcfa06070d3", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "LowStar.Regional_interpretation_Tm_ghost_arrow_e6b8a71b615251688e17599ba9a3c6a3", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.rg_inv", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_repr", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.Monotonic.HyperHeap.lemma_disjoint_includes", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "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_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ffcdb8322b4b43633596ecc5d3b4123", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3892cec016b446faa82383e576be5ddc", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_6455519626720660eb8f4489809a14c4", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_6d788c6feff879b890d2da371f0ed4cf", - "refinement_interpretation_Tm_refine_6f143df1d5c2e7fa835cfe1f43648675", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c623f40fce2466d5f7085645115cc739", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa82e8cdc2a3d8728cddcadb5c9f32f7", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv", "true_interp", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.upd", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq", "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.rs_loc_elem", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", - "typing_Prims.int" - ], - 0, - "3b9615e11c1efd35c4a7e57cc6b85d62" - ], - [ - "LowStar.RVector.free_elems", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "a603d3c2a13a7a69d2ddbeb3447ae1a1" - ], - [ - "LowStar.RVector.free_elems", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Vector.modifies_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_010be4a96ba454ba8dba088c48ab8ee8", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3d617d4c3ae6798047be5a4b8fdd4bd2", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fa35e0feeb188fbc071035c9b4fa011e", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "unit_inversion", "unit_typing" - ], - 0, - "558d6e73fc4c7a11f58402dbc35a68be" - ], - [ - "LowStar.RVector.flush", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9cc2b349cdd7d1d478708dc21464f596", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" - ], - 0, - "62fa3206541b119db11058b29d1a91df" - ], - [ - "LowStar.RVector.flush", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_complement", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.RVector.as_seq_seq_index", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_repr", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ffcdb8322b4b43633596ecc5d3b4123", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_3aeabc37e86f7b566e1052127e0672d1", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9cc2b349cdd7d1d478708dc21464f596", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.RVector.rv_loc_elems", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.size_of", "typing_Prims.int" - ], - 0, - "a0b5534328bf7de087e964f0394916c3" - ], - [ - "LowStar.RVector.free_elems_from", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.RVector.rvector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", - "fuel_guarded_inversion_LowStar.Regional.regional", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "bb3bb0c1818c5763bd0b2f166d80bfaf" - ], - [ - "LowStar.RVector.free_elems_from", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Regional.Rgl", "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rs_loc_elem", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_loc_elem", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_extends_includes", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Vector.modifies_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_07f0966016c2e61fd6af98abd0719fc7", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_53995b10c39e961f4d9ed962ac64edf7", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8a8e217a96940b92c136fbc4a30c52d4", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a502414da55e8881edc5108a12a2cbb2", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.length", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.RVector.rv_loc_elem", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", - "unit_inversion", "unit_typing" - ], - 0, - "1ee706a811a359f605124e322d5a9c24" - ], - [ - "LowStar.RVector.shrink", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lte", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9cc2b349cdd7d1d478708dc21464f596", - "typing_FStar.Seq.Base.length", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "f73ddc19e3f91ccdc0b9e204c50b2313" - ], - [ - "LowStar.RVector.shrink", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@fuel_correspondence_LowStar.RVector.rs_loc_elems.fuel_instrumented", - "@fuel_irrelevance_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", - "LowStar.Regional_interpretation_Tm_arrow_089f19acfad0266f592c20df26e88326", - "LowStar.Regional_interpretation_Tm_ghost_arrow_a79cc47015e99b7b948cff4f4be6f51d", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.shrink", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__region_of", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "interpretation_Tm_abs_8af5505247aa684e407d3b8992667aef", - "interpretation_Tm_abs_c87aa5965b477cef27de7ff43995cd8f", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.Set.mem_subset", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.frameOf_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.RVector.as_seq_seq_index", - "lemma_LowStar.RVector.as_seq_sub_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Regional.Rgl_repr", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_03e0ee7c990720bc4bd1c73dc60b1ac5", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_7108b467000c99be927e4d94496382d1", - "refinement_interpretation_Tm_refine_7d327a2011674612376090a836f17836", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_9cc2b349cdd7d1d478708dc21464f596", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Monotonic.HyperHeap.extends", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice", "typing_FStar.Set.complement", - "typing_FStar.Set.intersect", "typing_FStar.Set.mem", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.as_seq", "typing_LowStar.RVector.as_seq_seq", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.RVector.rv_loc_elems", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.shrink", - "typing_LowStar.Vector.size_of" - ], - 0, - "ad443942afef9ca98ce5d36fc7fa73e3" - ], - [ - "LowStar.RVector.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.loc_all_exts_from", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rv_loc_elems", - "equation_LowStar.RVector.rvector", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.freeable", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Monotonic.HyperStack.lemma_tip_top_smt", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Set.mem_complement", "lemma_FStar.Set.mem_intersect", - "lemma_FStar.Set.mem_singleton", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_regions", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_6f27757ed66a8ffb4476635a625aa07c", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9cc2b349cdd7d1d478708dc21464f596", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.Set.complement", "typing_FStar.Set.intersect", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.RVector.loc_all_exts_from", - "typing_LowStar.RVector.loc_rvector", - "typing_LowStar.RVector.rs_loc_elems", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of", - "typing_Prims.int" - ], - 0, - "81e4e51196951d0014c2f3f797540019" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Regional.Instances.fst.hints b/ulib/.hints/LowStar.Regional.Instances.fst.hints deleted file mode 100644 index 35f4b0bdb30..00000000000 --- a/ulib/.hints/LowStar.Regional.Instances.fst.hints +++ /dev/null @@ -1,768 +0,0 @@ -[ - "\u0015\u0016%S¬¡ÜÝïEiã/±Œí", - [ - [ - "LowStar.Regional.Instances.buffer_r_inv_reg", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_region_of", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "632103aac6602a1ec073b4722be7481d" - ], - [ - "LowStar.Regional.Instances.buffer_repr", - 1, - 2, - 1, - [ "@query" ], - 0, - "8b35eb78f278c7d005e4d59ccee301e0" - ], - [ - "LowStar.Regional.Instances.buffer_r_repr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "4d542287dc27ea3580f4276996b31a61" - ], - [ - "LowStar.Regional.Instances.buffer_r_repr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "b46d23c7dd48a944e4c450d392bcd758" - ], - [ - "LowStar.Regional.Instances.buffer_r_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_8929593965002880ba9dc4467aae613c", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "fd92de8445b6f46e772b0468210891cd" - ], - [ - "LowStar.Regional.Instances.buffer_r_sep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Set.subset", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_r_repr", - "equation_LowStar.Regional.Instances.buffer_region_of", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Regional.Instances.buffer_region_of" - ], - 0, - "63dc0dd2dd7b869bd6a9dd79cbabfcec" - ], - [ - "LowStar.Regional.Instances.buffer_irepr", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_dfed738f6cccbf0f8b0c9b89692461c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "eb370801d356d89e4e567854a8bfa7b5" - ], - [ - "LowStar.Regional.Instances.buffer_irepr", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "int_inversion", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_dfed738f6cccbf0f8b0c9b89692461c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "9e420a871ed06646b244cef7c2422ab2" - ], - [ - "LowStar.Regional.Instances.buffer_r_alloc", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "54908652ba6580461d012d0c9dd6ebc4" - ], - [ - "LowStar.Regional.Instances.buffer_r_alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_irepr", - "equation_LowStar.Regional.Instances.buffer_r_alloc_p", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_r_repr", - "equation_LowStar.Regional.Instances.buffer_region_of", - "equation_LowStar.Regional.Instances.buffer_repr", - "equation_LowStar.Regional.Instances.nonzero", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", "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_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_dfed738f6cccbf0f8b0c9b89692461c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_kinding_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.Regional.Instances.buffer_r_repr", "typing_Prims.int" - ], - 0, - "81dee7207fe4ab73fba385651f11bf3d" - ], - [ - "LowStar.Regional.Instances.buffer_r_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_region_of", - "equation_LowStar.Regional.Instances.nonzero", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_subset", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2af5e9ab2f3c3df19c4f810f9340050b", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_423c98f13c9d8d758d5375d42c5bdd2c", - "refinement_interpretation_Tm_refine_f410e0e1dff3701b9619ce17686f5d9b", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_regions", "typing_Prims.int" - ], - 0, - "27e9c478c16e06431860922676663b48" - ], - [ - "LowStar.Regional.Instances.buffer_copy", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "refinement_interpretation_Tm_refine_ae37428b08682549eb0dad56c7507a2a", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "49f3b542d4315f690b19e9521a0442e0" - ], - [ - "LowStar.Regional.Instances.buffer_copy", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperHeap.disjoint", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.Set.subset", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_r_repr", - "equation_LowStar.Regional.Instances.buffer_region_of", - "equation_LowStar.Regional.Instances.buffer_repr", - "equation_LowStar.Regional.Instances.nonzero", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_region", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ae37428b08682549eb0dad56c7507a2a", - "refinement_interpretation_Tm_refine_de15b7c22da634d84b6b135dd14a41d9", - "refinement_interpretation_Tm_refine_f5b6b024e7223479b436f954f257e1fe", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Monotonic.HyperHeap.disjoint", - "typing_FStar.Monotonic.HyperHeap.includes", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Regional.Instances.buffer_r_repr", - "typing_LowStar.Regional.Instances.buffer_region_of", - "typing_Prims.int" - ], - 0, - "7aa8163500576cd01a3effee11760715" - ], - [ - "LowStar.Regional.Instances.buffer_regional", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gt", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gt", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.nonzero", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "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.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_423c98f13c9d8d758d5375d42c5bdd2c", - "refinement_interpretation_Tm_refine_499b78dc161ca4bcb3213fb2d47fbcdc", - "refinement_interpretation_Tm_refine_5ef4a5e36971fb8f44767e7eab69d969", - "refinement_interpretation_Tm_refine_dfed738f6cccbf0f8b0c9b89692461c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "bf83b41fcac6cf8633aeefae776ac092" - ], - [ - "LowStar.Regional.Instances.buffer_copyable", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pervasives.Native.snd", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Regional.Instances.buffer_r_inv", - "equation_LowStar.Regional.Instances.buffer_regional", - "equation_LowStar.Regional.Instances.nonzero", - "equation_LowStar.Regional.rg_inv", - "function_token_typing_LowStar.Regional.Instances.buffer_r_inv", - "function_token_typing_LowStar.Regional.Instances.buffer_r_repr", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowStar.Regional.Rgl_r_inv", - "proj_equation_LowStar.Regional.Rgl_r_repr", - "proj_equation_LowStar.Regional.Rgl_region_of", - "proj_equation_LowStar.Regional.Rgl_state", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_LowStar.Regional.Rgl_r_inv", - "projection_inverse_LowStar.Regional.Rgl_r_repr", - "projection_inverse_LowStar.Regional.Rgl_region_of", - "projection_inverse_LowStar.Regional.Rgl_state", - "refinement_interpretation_Tm_refine_5ef4a5e36971fb8f44767e7eab69d969", - "refinement_interpretation_Tm_refine_ae37428b08682549eb0dad56c7507a2a", - "refinement_interpretation_Tm_refine_b28510d5515aec687025543ff3880d6e", - "token_correspondence_LowStar.Regional.Instances.buffer_r_inv", - "token_correspondence_LowStar.Regional.Instances.buffer_region_of", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_repr", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__region_of", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "89573054281931f3cf41c500246068f8" - ], - [ - "LowStar.Regional.Instances.vector_r_inv_reg", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Buffer.buffer", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.Instances.vector_r_inv", - "equation_LowStar.Regional.Instances.vector_region_of", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "proj_equation_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Vector.__proj__Vec__item__vs" - ], - 0, - "e57fc3aa9ee719e4c93a7bb82077ad4f" - ], - [ - "LowStar.Regional.Instances.vector_r_repr", - 1, - 2, - 1, - [ "@query", "equation_LowStar.Regional.Instances.vector_r_inv" ], - 0, - "fa1616c993e549e26ece8d496c908397" - ], - [ - "LowStar.Regional.Instances.vector_r_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_81532a600f70737405b4e2f998ff7d31" - ], - 0, - "1b8b8016cb2037c320164737a19fac77" - ], - [ - "LowStar.Regional.Instances.vector_r_sep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_typing", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.loc_rvector", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.Instances.vector_r_inv", - "equation_LowStar.Regional.Instances.vector_r_repr", - "equation_LowStar.Regional.Instances.vector_region_of", - "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "refinement_interpretation_Tm_refine_9a4f5366055910237954d85f232cccf4", - "refinement_interpretation_Tm_refine_b793c488ad500e6b09ecca7df8a04085", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.singleton", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.RVector.as_seq", - "typing_LowStar.Regional.Instances.vector_region_of", - "typing_LowStar.Regional.__proj__Rgl__item__repr" - ], - 0, - "cea1a2008fcc446352aac5cf5a59f272" - ], - [ - "LowStar.Regional.Instances.vector_r_alloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "0282bde8590cac8a428b34351462dda4" - ], - [ - "LowStar.Regional.Instances.vector_r_alloc", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "Prims_pretyping_ae567c2fb75be05905677af440075565", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "constructor_distinct_FStar.Pervasives.Native.None", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.None", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.erid", "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.Instances.vector_irepr", - "equation_LowStar.Regional.Instances.vector_r_alloc_p", - "equation_LowStar.Regional.Instances.vector_r_inv", - "equation_LowStar.Regional.Instances.vector_r_repr", - "equation_LowStar.Regional.Instances.vector_region_of", - "equation_LowStar.Regional.Instances.vector_repr", - "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_Prims.__cache_version_number__", "int_typing", - "lemma_FStar.Ghost.reveal_hide", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Map.lemma_UpdDomain", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_subset", - "lemma_FStar.Set.mem_union", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_unused_in", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "lemma_LowStar.Monotonic.Buffer.new_region_modifies", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Regional.Rgl_repr", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.None_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Map.domain", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.emp", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.empty", "typing_FStar.Set.singleton", - "typing_FStar.Set.union", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Regional.Instances.vector_repr", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.size_of", "typing_Prims.int" - ], - 0, - "8977aa1a94f9aaa5dd89021f173a791d" - ], - [ - "LowStar.Regional.Instances.vector_r_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Monotonic.HyperHeap.Mod_set_def", "bool_inversion", - "bool_typing", "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.Instances.vector_r_inv", - "equation_LowStar.Regional.Instances.vector_region_of", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.vector", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperHeap.lemma_includes_refl", - "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.loc_includes_region_addresses", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7de3294c7023eb72d302277e84740a62", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bca7fdfa4b83f0fcb2259a57758742c0", - "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.mod_set", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Set.singleton", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_regions", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.loc_addr_of_vector", "typing_Prims.int" - ], - 0, - "088fecddfb7087de9e6269f8199efbc0" - ], - [ - "LowStar.Regional.Instances.vector_regional", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.RVector.as_seq_seq.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.erid", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.uint_t", - "equation_LowStar.RVector.as_seq", - "equation_LowStar.RVector.as_seq_sub", - "equation_LowStar.RVector.elems_inv", - "equation_LowStar.RVector.elems_reg", - "equation_LowStar.RVector.rs_elems_inv", - "equation_LowStar.RVector.rs_elems_reg", - "equation_LowStar.RVector.rv_elems_inv", - "equation_LowStar.RVector.rv_elems_reg", - "equation_LowStar.RVector.rv_inv", - "equation_LowStar.RVector.rv_itself_inv", - "equation_LowStar.RVector.rvector", - "equation_LowStar.Regional.Instances.vector_irepr", - "equation_LowStar.Regional.Instances.vector_r_alloc_p", - "equation_LowStar.Regional.Instances.vector_r_inv", - "equation_LowStar.Regional.Instances.vector_r_repr", - "equation_LowStar.Regional.Instances.vector_region_of", - "equation_LowStar.Regional.Instances.vector_repr", - "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.RVector.as_seq_seq.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Regional.regional", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "lemma_FStar.Ghost.reveal_hide", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", - "proj_equation_LowStar.Regional.Rgl_repr", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_69d1d206ddafb5a6092734ed6446bcfd", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v", - "typing_LowStar.Regional.Instances.vector_region_of", - "typing_LowStar.Regional.Instances.vector_repr", - "typing_LowStar.Regional.__proj__Rgl__item__repr", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "3d3b523364507fa253aa7dd0d64e8e50" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Regional.fst.hints b/ulib/.hints/LowStar.Regional.fst.hints deleted file mode 100644 index 1366f91d624..00000000000 --- a/ulib/.hints/LowStar.Regional.fst.hints +++ /dev/null @@ -1,91 +0,0 @@ -[ - "üãwÏŽÑ}½Nàå'Ø q~", - [ - [ - "LowStar.Regional.regional", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_718358e92384bc2acf69094450acf35b" - ], - 0, - "e4b2deb0a428588684aadd93e6b3db52" - ], - [ - "LowStar.Regional.__proj__Rgl__item__r_sep", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_42aeff1cbaf215a87bd41fcad1d3a34f" - ], - 0, - "dce398fe8fc970fc767a2ce472f6a64f" - ], - [ - "LowStar.Regional.__proj__Rgl__item__r_sep", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_LowStar.Regional.regional", - "refinement_interpretation_Tm_refine_42aeff1cbaf215a87bd41fcad1d3a34f", - "refinement_interpretation_Tm_refine_8f5aab72ba7978f5a2d037757e5c8f31" - ], - 0, - "514ae7a4da1381bca63011a0910dfc7d" - ], - [ - "LowStar.Regional.__proj__Rgl__item__r_alloc", - 1, - 2, - 1, - [ "@query" ], - 0, - "73e46a218d7efb80970e0390d1af021f" - ], - [ - "LowStar.Regional.__proj__Rgl__item__r_alloc", - 2, - 2, - 1, - [ "@query" ], - 0, - "974ed65e2bc253adb41e7500a9f04058" - ], - [ - "LowStar.Regional.rg_alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "token_correspondence_LowStar.Regional.__proj__Rgl__item__r_inv", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "129677afcefa58da7c70549b000c2d41" - ], - [ - "LowStar.Regional.rg_free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Regional.rg_inv", - "fuel_guarded_inversion_LowStar.Regional.regional", - "function_token_typing_LowStar.Regional.__proj__Rgl__item__r_inv", - "refinement_interpretation_Tm_refine_6eb7ba34a84fdd17fda15c5896d179af", - "refinement_interpretation_Tm_refine_f64756ebe054bb4965660dab8c42866c", - "token_correspondence_LowStar.Regional.rg_inv" - ], - 0, - "102b632882b6832a0b2825489ef2c0b3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.ToFStarBuffer.fst.hints b/ulib/.hints/LowStar.ToFStarBuffer.fst.hints deleted file mode 100644 index 00451b3598a..00000000000 --- a/ulib/.hints/LowStar.ToFStarBuffer.fst.hints +++ /dev/null @@ -1,711 +0,0 @@ -[ - "[\nh\u001a\u0000Øå“…Ò9à‘\u007f̺", - [ - [ - "LowStar.ToFStarBuffer.as_addr_new_to_old", - 1, - 2, - 1, - [ "@query" ], - 0, - "ca733355cec70482672748e59c3904c9" - ], - [ - "LowStar.ToFStarBuffer.as_addr_old_to_new", - 1, - 2, - 1, - [ "@query" ], - 0, - "d5fd52606731f21a89151afa8f1fc4a0" - ], - [ - "LowStar.ToFStarBuffer.gsub_new_to_old", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_LowStar.Buffer.buffer", - "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "3bdce9441efbf4a5dd9e858a91abee66" - ], - [ - "LowStar.ToFStarBuffer.gsub_old_to_new", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_Prims.squash", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_LowStar.ToFStarBuffer.length_old_to_new", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c" - ], - 0, - "98882f6740617eb08a3aab7ecdd9d901" - ], - [ - "LowStar.ToFStarBuffer.old_and_new_cl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc" - ], - 0, - "bbee2df5ae5292649f6181f445bb342a" - ], - [ - "LowStar.ToFStarBuffer.old_to_new_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Monotonic.HyperHeap.rid", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9a74d818566e70513bc032cc3b65a144", - "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "199be4f48c847d629518a4db05344862" - ], - [ - "LowStar.ToFStarBuffer.old_to_union_loc_none", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8fe83cbeb011b1411c0c14a0db32fcef" - ], - [ - "LowStar.ToFStarBuffer.new_to_union_loc_none", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" - ], - 0, - "ce816f8657348b3883985ffa6a7f627f" - ], - [ - "LowStar.ToFStarBuffer.old_to_union_loc_union", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "lemma_FStar.Modifies.loc_union_comm", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "bd596f939a83182a6507f5ad483082e6" - ], - [ - "LowStar.ToFStarBuffer.new_to_union_loc_union", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm" - ], - 0, - "92656d8730a9fb3d49efe632dde37e3a" - ], - [ - "LowStar.ToFStarBuffer.old_to_union_loc_addresses", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "49e7166f897be55193f401845a78595e" - ], - [ - "LowStar.ToFStarBuffer.old_to_union_loc_addresses", - 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, - "97120dbe1e59a11b5be45099825e538f" - ], - [ - "LowStar.ToFStarBuffer.new_to_union_loc_addresses", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" - ], - 0, - "d1a99d2de2894227931a68903714c088" - ], - [ - "LowStar.ToFStarBuffer.new_to_union_loc_addresses", - 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, - "f84023d3797760b09eb22744f9cfc0f4" - ], - [ - "LowStar.ToFStarBuffer.old_to_union_loc_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a1261ec6d79a49db563a017a7107a3e3" - ], - [ - "LowStar.ToFStarBuffer.new_to_union_loc_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union" - ], - 0, - "bfecc112331ce8559aff5a3fd0faf7fc" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.new_to_union_loc", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.union_loc_to_new" - ], - 0, - "4af388507de6ae97928b0b959f88cff8" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_none", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.union_loc_to_new" - ], - 0, - "5a417c2804eab3a1e497569cf5f232b0" - ], - [ - "LowStar.ToFStarBuffer.coerce", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_de9aeb070296eed20d879692d0254af0" - ], - 0, - "1b962ab467ef0082c7b88c4a5f737d52" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_union", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.ModifiesGen_interpretation_Tm_arrow_c1ad9f6c9e0ca5596fdba08bf1d60896", - "LowStar.ToFStarBuffer_interpretation_Tm_arrow_cf8565bfce7255c9d5240909cb70ddf3", - "bool_typing", "equation_FStar.ModifiesGen.aloc_t", - "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.union_loc_to_new", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "function_token_typing_LowStar.Monotonic.Buffer.abuffer", - "function_token_typing_LowStar.ToFStarBuffer.old_and_new_aloc", - "function_token_typing_LowStar.ToFStarBuffer.old_and_new_cl", - "lemma_LowStar.Monotonic.Buffer.cloc_of_loc_of_cloc", - "token_correspondence_LowStar.ToFStarBuffer.old_and_new_aloc", - "typing_FStar.ModifiesGen.loc_of_union_loc", - "typing_FStar.ModifiesGen.lower_loc", - "typing_LowStar.Monotonic.Buffer.cloc_cls" - ], - 0, - "8381443f2953af67ee07cf31e5d0da7d" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_addresses", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.union_loc_to_new", - "lemma_LowStar.Monotonic.Buffer.loc_of_cloc_of_loc", - "typing_LowStar.Monotonic.Buffer.loc_addresses" - ], - 0, - "bb4a4410d80b92d24404ebfe6791d3f0" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_addresses", - 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, - "3cc5105bda05971d4adcf4fb9ae29511" - ], - [ - "LowStar.ToFStarBuffer.union_loc_to_new_regions", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.ToFStarBuffer.old_and_new_aloc", - "equation_LowStar.ToFStarBuffer.old_and_new_cl", - "equation_LowStar.ToFStarBuffer.old_and_new_cl_union", - "equation_LowStar.ToFStarBuffer.union_loc_to_new", - "lemma_LowStar.Monotonic.Buffer.loc_of_cloc_of_loc", - "typing_LowStar.Monotonic.Buffer.loc_regions" - ], - 0, - "06f0bf046756560c1f87b0f508b6087f" - ], - [ - "LowStar.ToFStarBuffer.old_to_new_modifies'", - 1, - 2, - 1, - [ "@query" ], - 0, - "63bc5881dd7edb72b00977df002ef025" - ], - [ - "LowStar.ToFStarBuffer.modifies_0_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.ToFStarBuffer.new_to_union_loc_none", - "equation_LowStar.ToFStarBuffer.old_to_union_loc_none", - "equation_LowStar.ToFStarBuffer.union_loc_to_new_none", - "function_token_typing_LowStar.ToFStarBuffer.new_to_union_loc_none", - "function_token_typing_LowStar.ToFStarBuffer.old_to_union_loc_none", - "function_token_typing_LowStar.ToFStarBuffer.union_loc_to_new_none", - "lemma_FStar.Modifies.modifies_0_modifies", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "refinement_interpretation_Tm_refine_7fecd61d32b2079524d0739c801cca27", - "refinement_interpretation_Tm_refine_a059a44b6fd9c81444b68e829b59547c", - "refinement_interpretation_Tm_refine_a63797c304727e5f099dcb2963a3d307", - "typing_FStar.Modifies.loc_none" - ], - 0, - "8edc4151b8cd7c3cf03cf0b0aed9bc3d" - ], - [ - "LowStar.ToFStarBuffer.modifies_1_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_LowStar.Buffer.buffer", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "typing_FStar.Modifies.loc_buffer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.ToFStarBuffer.new_to_old_ghost" - ], - 0, - "1e2106cd1438ec15eabe20c53b8cc0be" - ], - [ - "LowStar.ToFStarBuffer.modifies_2_modifies", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.ToFStarBuffer.old_to_union_loc", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.modifies_2_modifies", - "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", - "lemma_LowStar.ToFStarBuffer.new_to_union_loc_union", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "lemma_LowStar.ToFStarBuffer.old_to_union_loc_union", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_union", - "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Modifies.loc_union", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.ToFStarBuffer.new_to_old_ghost", - "typing_LowStar.ToFStarBuffer.old_to_union_loc", - "typing_LowStar.ToFStarBuffer.union_loc_to_new" - ], - 0, - "4b5b9a547a66be4e981f4401df29ce1b" - ], - [ - "LowStar.ToFStarBuffer.ex1", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.get", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "refinement_interpretation_Tm_refine_27defd9de31e5ac40327f96397491749", - "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_d54a740029700e14f723a8bfe4c30631", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e9490b1611a48b3a7aedda06afacf788", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Buffer.as_seq", "typing_FStar.Modifies.loc_buffer", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.ToFStarBuffer.new_to_old_ghost" - ], - 0, - "ce52ef4fc4f6cf94c2517f1c218ab432" - ], - [ - "LowStar.ToFStarBuffer.new_eqb", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "eq2-interp", "equation_FStar.Buffer.buffer", - "equation_FStar.Buffer.equal", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.eqtype", - "equation_Prims.nat", "fuel_guarded_inversion_FStar.Buffer._buffer", - "int_inversion", "int_typing", "lemma_FStar.Buffer.eq_lemma1", - "lemma_FStar.Buffer.lemma_sub_spec", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", - "lemma_LowStar.ToFStarBuffer.gsub_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_02b7ce1e406e6e0cd36dc19fe01f6480", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4caa459bd85aea79fe5bbc06996145e2", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_efae536bd38903eb410561c878e65d3f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "3fd2003f5925fc8f0302cfe05cdef14a" - ], - [ - "LowStar.ToFStarBuffer.new_blit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.buffer", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_FStar.Buffer._buffer", "int_inversion", - "lemma_FStar.Buffer.lemma_size", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_old_to_new", - "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_old_to_new", - "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", - "lemma_LowStar.ToFStarBuffer.new_to_old_disjoint", - "lemma_LowStar.ToFStarBuffer.new_to_old_to_new", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_72d3c6e71283179f002e1558013c4184", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fad898dee5ec469ef9ce4b1baf9ac7a2", - "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.ToFStarBuffer.old_to_new_ghost" - ], - 0, - "786b20c05417ac6a6123fc893cce33ca" - ], - [ - "LowStar.ToFStarBuffer.new_fill", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Buffer.buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.Buffer.lemma_size", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "lemma_LowStar.ToFStarBuffer.loc_buffer_new_to_old", - "lemma_LowStar.ToFStarBuffer.old_to_new_modifies_", - "lemma_LowStar.ToFStarBuffer.union_loc_to_new_new_to_union_loc", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_327df4effc808b83ac8f870cf50997dd", - "refinement_interpretation_Tm_refine_4b27de1c839f19290d3d8b414f450492", - "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Modifies.loc_buffer", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer" - ], - 0, - "51bc1d67e0ab903cf5c9fb25adf738f0" - ], - [ - "LowStar.ToFStarBuffer.ex1'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Buffer.buffer", "equation_FStar.Buffer.get", - "equation_FStar.Buffer.live", "equation_FStar.Buffer.lseq", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Buffer.lemma_disjoint_symm", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Modifies.loc_disjoint_buffer", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_FStar.Modifies.modifies_buffer_elim", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_LowStar.ToFStarBuffer.as_seq_old_to_new", - "lemma_LowStar.ToFStarBuffer.length_old_to_new", - "lemma_LowStar.ToFStarBuffer.live_old_to_new", - "lemma_LowStar.ToFStarBuffer.modifies_modifies_1", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Buffer.MkBuffer_length", - "proj_equation_FStar.Buffer.MkBuffer_max_length", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_806e97634f061315cbafeba2c78a8c62", - "refinement_interpretation_Tm_refine_a224e822db3e1a633a2f97a2a579f927", - "refinement_interpretation_Tm_refine_ac61996218e7c5b51c85527152e93166", - "refinement_interpretation_Tm_refine_be498cb6724fb39d1acee35c58411784", - "refinement_interpretation_Tm_refine_d712d698d2fafaa9ec3e568975bad819", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_efb7e24daad2cc65a3f9f98a5d273eb9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Buffer.__proj__MkBuffer__item__length", - "typing_FStar.Buffer.as_seq", "typing_FStar.Modifies.loc_buffer", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.ToFStarBuffer.old_to_new_ghost" - ], - 0, - "6d73c9f5759c9a4cb134bf4e07833163" - ], - [ - "LowStar.ToFStarBuffer.ex1''", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Buffer._buffer", - "lemma_FStar.Modifies.modifies_1_modifies", - "lemma_LowStar.ToFStarBuffer.as_seq_new_to_old", - "lemma_LowStar.ToFStarBuffer.length_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_new_to_old", - "lemma_LowStar.ToFStarBuffer.live_old_to_new", - "lemma_LowStar.ToFStarBuffer.loc_disjoint_new_disjoint_old", - "lemma_LowStar.ToFStarBuffer.new_to_old_disjoint", - "lemma_LowStar.ToFStarBuffer.new_to_old_to_new", - "refinement_interpretation_Tm_refine_27defd9de31e5ac40327f96397491749", - "refinement_interpretation_Tm_refine_32945051b57b910d71ce6a89c7f39dc9", - "refinement_interpretation_Tm_refine_53533ac3f03375c764d827b3930b5346", - "refinement_interpretation_Tm_refine_d40b9a9d5f60e2b69789821880480450", - "refinement_interpretation_Tm_refine_efb7e24daad2cc65a3f9f98a5d273eb9", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.ToFStarBuffer.new_to_old_ghost", - "typing_LowStar.ToFStarBuffer.old_to_new_ghost" - ], - 0, - "26d5fdafef50a60df70ee91365e6f0f3" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.UninitializedBuffer.fst.hints b/ulib/.hints/LowStar.UninitializedBuffer.fst.hints deleted file mode 100644 index bc16fc94108..00000000000 --- a/ulib/.hints/LowStar.UninitializedBuffer.fst.hints +++ /dev/null @@ -1,436 +0,0 @@ -[ - "\u0000W>¥·QEÐ&Žvbl*Ž§", - [ - [ - "LowStar.UninitializedBuffer.initialization_preorder", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", - "equation_FStar.Preorder.transitive", "equation_Prims.l_Forall", - "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", - "l_and-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "b256cad54687f4287a95c324eba55e4c" - ], - [ - "LowStar.UninitializedBuffer.uindex", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.initialized_at", - "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", - "function_token_typing_LowStar.UninitializedBuffer.ipred", - "int_inversion", - "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", - "kinding_FStar.Pervasives.Native.option@tok", "l_imp-interp", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_54b31d3d0fc4c5aca600d11bf6e6bbb9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", - "typing_LowStar.UninitializedBuffer.initialization_preorder" - ], - 0, - "1272ed4372df6cb1cd50b672ec3db4ca" - ], - [ - "LowStar.UninitializedBuffer.uupd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.initialized_at", - "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.eq2", - "equation_Prims.nat", - "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "function_token_typing_LowStar.UninitializedBuffer.ipred", - "int_inversion", - "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", - "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", - "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_imp-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b45c5cd26302c6d37ad7cb7dbe5023ae", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e85c1fb9e4eda3f524cc784ddda13794", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.upd", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.UninitializedBuffer.initialization_preorder" - ], - 0, - "d1d8b4e3ea0caf93f7fe5abb48cc8d50" - ], - [ - "LowStar.UninitializedBuffer.ugcmalloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "equation_LowStar.UninitializedBuffer.ubuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_68d4074054df2bfcbaf4824f0cb08ff4", - "refinement_interpretation_Tm_refine_b6a3dd939315ba29644bfc855e16c500" - ], - 0, - "ccbdb46ad7928bb1fcbbd3b65dff88ea" - ], - [ - "LowStar.UninitializedBuffer.ugcmalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "equation_LowStar.UninitializedBuffer.ubuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_290a1d1c5dd79118034df7d5090b1123", - "refinement_interpretation_Tm_refine_68d4074054df2bfcbaf4824f0cb08ff4" - ], - 0, - "80e6b7fe1ee601ca75c92d188567838b" - ], - [ - "LowStar.UninitializedBuffer.umalloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "equation_LowStar.UninitializedBuffer.ubuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_3116a8d6db60d3ca161450f6afce22e8", - "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" - ], - 0, - "1eed9d713f19e17032b43e2e9294577a" - ], - [ - "LowStar.UninitializedBuffer.umalloc_partial", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "equation_LowStar.UninitializedBuffer.ubuffer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_6637d30c08ffc4b24e4ea8dbf1a7897a", - "refinement_interpretation_Tm_refine_b6129a21328b31957f0ba2028bb02881" - ], - 0, - "f8a8ce8b637fff584e8f565eebe77e55" - ], - [ - "LowStar.UninitializedBuffer.ualloca", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0aae7b8c7aa81dae7eb3fab241756e4c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6413a577f72a80a6b328303f1b5f8ced" - ], - 0, - "62d496b99f89374e248ddfc33047fb0d" - ], - [ - "LowStar.UninitializedBuffer.ublit_post_j", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "int_inversion", "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ced0267760e7527bea1282eab0a472c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", "typing_FStar.UInt32.v", - "typing_LowStar.UninitializedBuffer.initialization_preorder" - ], - 0, - "d3fdf8ccba530b096374ef8db4631b0a" - ], - [ - "LowStar.UninitializedBuffer.ublit", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.ubuffer", - "equation_Prims.eqtype", "equation_Prims.nat", "int_inversion", - "int_typing", "kinding_FStar.Pervasives.Native.option@tok", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Properties.slice_upd", - "lemma_FStar.Set.lemma_equal_intro", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_refl", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6ab2d80899134746648ce5f013f7a6c1", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d57212161eabe2138e2897c8caa46a9", - "refinement_interpretation_Tm_refine_a73cdd2bffa7eb510b9150d828f96cc6", - "refinement_interpretation_Tm_refine_b1973139d76b020839e97799bf558c44", - "refinement_interpretation_Tm_refine_c95a6a5456b5a8fe2fd9918c6f445403", - "refinement_interpretation_Tm_refine_ced0267760e7527bea1282eab0a472c2", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f5707263d7e389e26570fe20514415a2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.UninitializedBuffer.initialization_preorder", - "unit_inversion", "unit_typing" - ], - 0, - "7e1cd2cd5f1aed95f733b6c66829af9a" - ], - [ - "LowStar.UninitializedBuffer.witness_initialized", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.initialized_at", - "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "int_inversion", - "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", - "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", - "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_imp-interp", "l_quant_interp_f3468aa1b0415185ef07b3472179f041", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_0c44c012346d749b7b823e9f26891f27", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.UninitializedBuffer.ipred", - "typing_FStar.UInt32.v", "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.UninitializedBuffer.initialization_preorder" - ], - 0, - "576bb5c2c9da74464dc0954bed0aa009" - ], - [ - "LowStar.UninitializedBuffer.recall_initialized", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.initialized_at", - "equation_LowStar.UninitializedBuffer.ipred", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.nat", - "function_token_typing_LowStar.UninitializedBuffer.ipred", - "int_inversion", - "interpretation_Tm_abs_acc3412a3452d485eb4614ec5a4b3a4d", - "kinding_FStar.Pervasives.Native.option@tok", "l_imp-interp", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_LessThan", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_050e7a650b9868d69143190087b06649", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.UninitializedBuffer.initialization_preorder" - ], - 0, - "e78394b2dbb71ed4502fef3f4ac4ee80" - ], - [ - "LowStar.UninitializedBuffer.buffer_immutable_buffer_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Preorder.preorder", - "equation_FStar.Preorder.preorder_rel", - "equation_FStar.Preorder.reflexive", "equation_FStar.Set.subset", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.ImmutableBuffer.ibuffer", - "equation_LowStar.ImmutableBuffer.immutable_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.UninitializedBuffer.initialization_preorder", - "equation_LowStar.UninitializedBuffer.ubuffer", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "function_token_typing_LowStar.UninitializedBuffer.initialization_preorder", - "function_token_typing_Prims.__cache_version_number__", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_b4ae3c8c313abed48b0c4141f8bc0016", - "interpretation_Tm_abs_c2139f534beb754b1ae31e02bb10d469", - "kinding_FStar.Pervasives.Native.option@tok", "l_and-interp", - "l_quant_interp_f3468aa1b0415185ef07b3472179f041", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.live_region_frameOf", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_addresses", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bd10f09297e0e7dc08314f7d9211801c", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_LowStar.ImmutableBuffer.immutable_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Set.mem", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", - "typing_LowStar.ImmutableBuffer.immutable_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.UninitializedBuffer.initialization_preorder", - "typing_Prims.int", "unit_inversion", "unit_typing" - ], - 0, - "c228654d4ff883ff62486f4e122e96e6" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/LowStar.Vector.fst.hints b/ulib/.hints/LowStar.Vector.fst.hints deleted file mode 100644 index 3fa75e585b7..00000000000 --- a/ulib/.hints/LowStar.Vector.fst.hints +++ /dev/null @@ -1,3490 +0,0 @@ -[ - "õ«P ª:é\u0011ä\\gWìmÎÃ", - [ - [ - "LowStar.Vector.as_seq", - 1, - 2, - 1, - [ "@query" ], - 0, - "54d8cdd0da323f6bd266cdceb203cabc" - ], - [ - "LowStar.Vector.as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs" - ], - 0, - "d2375f4a42b4304f8e9078392b3d1796" - ], - [ - "LowStar.Vector.loc_vector_within", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "68209bf939a6c6bb16a7e7e11c4e493b" - ], - [ - "LowStar.Vector.loc_vector_within", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "well-founded-ordering-on-nat" - ], - 0, - "0c607bff48dee5f4211f61e4504f02ac" - ], - [ - "LowStar.Vector.loc_vector_within", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_e1aa9d40b6b9eb76ea00b4fa2e0675e9", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "4cd194aaa574790bf2447b1256b22a7d" - ], - [ - "LowStar.Vector.loc_vector_within_includes_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "00b90112d55af75b8656d3acb17d666e" - ], - [ - "LowStar.Vector.loc_vector_within_includes_", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_b2f5904f26625600a7d4b67635ac6f5e_4", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_l", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c5522e54f6e94ed89c306b62bfbb31db", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "91496789bb7ad8780be47f5c18563572" - ], - [ - "LowStar.Vector.loc_vector_within_includes_", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_32e58305947b7cc3077a6d944726bd79", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "1704947a9d79d6641a5770cc337666c0" - ], - [ - "LowStar.Vector.loc_vector_within_includes", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_9419c9469dbe1dc7246dc35f8264b951", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "cbf5dffcc617c55077863e0e383b0ce3" - ], - [ - "LowStar.Vector.loc_vector_within_includes", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_cc406252823492d87d16ef4ea735da65_4", - "binder_x_ebc912d7d1e3e5bd99929640a396477f_5", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_6000b2b75fb270f335f8c6fa80dda1f2", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_de5f113d50749a98cf175337a5bdc19c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "unit_inversion", "unit_typing", - "well-founded-ordering-on-nat" - ], - 0, - "14d589a63e2bdcd78fe37b7b72663076" - ], - [ - "LowStar.Vector.loc_vector_within_includes", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_29931e9ee6ecc27e9d03eea16e8aa6dc", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_71c69513f0df2db723495fa02df26880", - "refinement_interpretation_Tm_refine_9419c9469dbe1dc7246dc35f8264b951", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "a711ffc9eacf001017ef520cc3d0a01f" - ], - [ - "LowStar.Vector.loc_vector_within_included", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "fb2f3af8bf4eaf73d0a823b2acf79cc4" - ], - [ - "LowStar.Vector.loc_vector_within_included", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_includes_gsub_buffer_r_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "73208b83ab27c872ca76a24d97b43dc9" - ], - [ - "LowStar.Vector.loc_vector_within_included", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_81fa6994c34b274da5436e6a3eedb31e", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "ce0749ec7e1a7a4ffad46ee799b8e90f" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_79b09d0f82d9fd53b66581749ea1de3e", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" - ], - 0, - "05818f9f75edc28f79d64737bc8b25f3" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint_", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_3bc216c504551ae5b1a20b8281c383e3_3", - "binder_x_8334a73e6c998b6b8e3747b493780527_4", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_gsub_buffer", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_a9e93c75e803da86f9e4bfb244a2d3a6", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c2366a893fe6c76e5b32cfec7355e5dc", - "refinement_interpretation_Tm_refine_dd5fa2b3131015a3b04d415734225c16", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.t", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "fbfcf68b38c56806a54b94570735c1dd" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint_", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_2e8b95eff893df87746d7ee0e56e5353", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_79b09d0f82d9fd53b66581749ea1de3e", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "1cc3ecbe5f2635a0413887f4f4908c61" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "f68bc0b33d5cf6a467cc52ef7f7addd0" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_a6f9df64dbcbe1f8f74485e0ff33eca1_5", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", - "binder_x_fe2a1d67ce5242fc123d0ef3dd41fa83_4", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_54f922b56fa9465d34b0454c26641a90", - "refinement_interpretation_Tm_refine_57591dbc53c0f0a4c67398ade520f1fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "refinement_interpretation_Tm_refine_ff4a15959ac0f756b4e1111111499192", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "f324cd426de8b5b990c0cf98dec06e19" - ], - [ - "LowStar.Vector.loc_vector_within_disjoint", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.uint32_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_5b031d624f48e39fe05b7e21417f7816", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_9419c9469dbe1dc7246dc35f8264b951", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v" - ], - 0, - "273bd30ea7e04bb7d4a0c52346a08624" - ], - [ - "LowStar.Vector.loc_vector_within_union_rev", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f46ddf3d11f43f0ebe2d9c85f017afd9", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" - ], - 0, - "aac7c4044dc549797cf585500ba168c2" - ], - [ - "LowStar.Vector.loc_vector_within_union_rev", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_b00aede47467b534dd4b055d0aceb836_3", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_l", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_55e16a5bfdf7b0fab37342763c054e15", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d0377e837cc2d12666403a89912fe363", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "88fb4cc361fa7c82e31291df8e66b82f" - ], - [ - "LowStar.Vector.loc_vector_within_union_rev", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_60e5784aa39e586fbfc655b0e6bfd0a1", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f46ddf3d11f43f0ebe2d9c85f017afd9", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "c51dbb29e405e1e7b660eb91baf75d95" - ], - [ - "LowStar.Vector.modifies_as_seq", - 1, - 2, - 1, - [ "@query" ], - 0, - "e65ad5cbe5ab2962fef40d761d3ec76e" - ], - [ - "LowStar.Vector.modifies_as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq" - ], - 0, - "ea9306e4ac1a2270a9e54d00ba80ed83" - ], - [ - "LowStar.Vector.modifies_as_seq_within", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" - ], - 0, - "cad14bcbc86057c1ef027cdb480abea0" - ], - [ - "LowStar.Vector.modifies_as_seq_within", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "binder_x_163bb735cbacaa9743f6dd8432c91f33_2", - "binder_x_326f705e9f0e48e11d3f686b5d995473_3", - "binder_x_8358b93aec0670665ebb4c0f52fc04b7_4", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_5", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_6", - "binder_x_ee8a7acd25963323469e7a5eeb79294f_1", - "binder_x_fe28d8bcde588226b4e538b35321de05_0", "bool_inversion", - "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_72ba8f8036b3abe4993254e5390b568b", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_8d1b275a7ef50ec1f3141dc64c7226c8", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "true_interp", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of", "well-founded-ordering-on-nat" - ], - 0, - "4304ffeb535d98ea2075b59736d52f71" - ], - [ - "LowStar.Vector.modifies_as_seq_within", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_d7f67074b237cfdd5b31d4ce9a13e53f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" - ], - 0, - "5cdbd1a26db8429a81f6e3ff6f0c1bd7" - ], - [ - "LowStar.Vector.alloc_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", "lemma_FStar.UInt32.uv_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mnull" - ], - 0, - "f5f52af9d20f8d57280a47802fa413bc" - ], - [ - "LowStar.Vector.alloc_empty_as_seq_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.alloc_empty", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.vector", - "equation_Prims.nat", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_3daf37ab3cd19c1e74e63f8f5e0fb16a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Seq.Base.empty", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.g_is_null", - "typing_LowStar.Monotonic.Buffer.mnull", - "typing_LowStar.Vector.alloc_empty", "typing_LowStar.Vector.as_seq" - ], - 0, - "7cc70f567e78df59323c97ccf19f58a8" - ], - [ - "LowStar.Vector.alloc_rid", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" - ], - 0, - "2c8fd65c3dec2930698e36e29c92dd43" - ], - [ - "LowStar.Vector.alloc_rid", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_5bd89573edbe0d1be25f36dfe7b30c33", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Set.singleton", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_Prims.int" - ], - 0, - "10b7c1504b486492b6014c68ce261486" - ], - [ - "LowStar.Vector.alloc", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.vector", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq" - ], - 0, - "961fc541ae61eaa4f26d60a73a472d70" - ], - [ - "LowStar.Vector.alloc", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "lemma_FStar.Map.lemma_ContainsDom", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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" - ], - 0, - "df4cd575423a6efe0047bf471c3853d8" - ], - [ - "LowStar.Vector.alloc_reserve", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_heap_color", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.fresh_loc", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.unused_in_loc_unused_in", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c83c7bb607ce0f4ff3dd6d04eabda6f", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5b03403a8d3fa4c655ec2b3c1e1359f8", - "refinement_interpretation_Tm_refine_5bd89573edbe0d1be25f36dfe7b30c33", - "refinement_interpretation_Tm_refine_6c5072d4c9562dd38fd2703ecfb013df", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Seq.Base.empty", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_not_unused_in", - "typing_LowStar.Monotonic.Buffer.loc_unused_in", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.loc_vector", - "typing_Prims.int" - ], - 0, - "ee7b62433c49442b1c19a2b0e2b12ff7" - ], - [ - "LowStar.Vector.alloc_by_buffer", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", "int_inversion", "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_47f7d72cb804a2caca3569d60da54e94", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5bd89573edbe0d1be25f36dfe7b30c33", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Vector.as_seq" - ], - 0, - "6f79e5f92a3bfc26772cde7b9082f866" - ], - [ - "LowStar.Vector.free", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", - "refinement_interpretation_Tm_refine_de53286ac6ea7bcb1ee55a5646706534" - ], - 0, - "06d78e2b5593ae58ab5476def6d3310a" - ], - [ - "LowStar.Vector.get", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "typing_LowStar.Vector.as_seq" - ], - 0, - "aa0cd0e928319543b8f3ae2441da75c6" - ], - [ - "LowStar.Vector.index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt32.lt", "equation_LowStar.Vector.size_of", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", - "typing_LowStar.Vector.as_seq" - ], - 0, - "fcc57ec0d1773c357b03d4dc06c5cac6" - ], - [ - "LowStar.Vector.index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "402deeef6ec8e6b685489046f75bc0e1" - ], - [ - "LowStar.Vector.front", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.gt", - "equation_FStar.UInt32.gt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "int_inversion", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_GreaterThan", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "typing_FStar.Seq.Base.length", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" - ], - 0, - "35f0c18df528933ab85592b360f20151" - ], - [ - "LowStar.Vector.front", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "270344862f7bf6870721c1d6e27771dc" - ], - [ - "LowStar.Vector.back", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gt", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "38401fd5d2ca571bfe502b794bef7958" - ], - [ - "LowStar.Vector.back", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gt", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gt", - "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThan", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6f27757ed66a8ffb4476635a625aa07c", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c3ef642d31e78bd61619baaa124a913f", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "06bf983e019d2b91697a6f18c28b55aa" - ], - [ - "LowStar.Vector.clear", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_3396f1d518ffeb2163c25c13fcb1de13", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.__proj__Vec__item__cap", - "typing_LowStar.Vector.__proj__Vec__item__sz" - ], - 0, - "1a70bc3de373c171ceacf2a307e25e5b" - ], - [ - "LowStar.Vector.clear_as_seq_empty", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.clear", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3396f1d518ffeb2163c25c13fcb1de13", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_adefc58894388886573cb41ee073aed9", - "refinement_interpretation_Tm_refine_b913a3f691ca99086652e0a655e72f17", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.Seq.Base.empty", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.gte", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.__proj__Vec__item__cap", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.clear" - ], - 0, - "72cda2d30e19d08229141535097a689c" - ], - [ - "LowStar.Vector.slice_append", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_175ccd0ade8dc52761d896c1ab31c49d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_FStar.Seq.Base.length" - ], - 0, - "0ea2caad27c52d1e6b9d7440d53464d3" - ], - [ - "LowStar.Vector.slice_append", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_175ccd0ade8dc52761d896c1ab31c49d", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Base.slice" - ], - 0, - "2d587b5d1abdc8cdae8277f3b34bdb5e" - ], - [ - "LowStar.Vector.assign", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.size_of" - ], - 0, - "a99893bd3bbb0aa61b37d711b4576575" - ], - [ - "LowStar.Vector.assign", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Base.lemma_len_upd", - "lemma_FStar.Seq.Properties.slice_length", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.Seq.Properties.slice_upd", - "lemma_FStar.Seq.Properties.upd_slice", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.loc_union_loc_none_r", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Vector.modifies_as_seq_within", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_96bd81d1e19ceba8b8285510d5fd0dae", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "true_interp", "typing_FStar.Seq.Base.append", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.slice", - "typing_FStar.Seq.Base.upd", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of" - ], - 0, - "4958047028b7020d729edf1f03721a04" - ], - [ - "LowStar.Vector.new_capacity", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W128", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W128@tok", - "equality_tok_FStar.Integers.W32@tok", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.width_of_sw", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.resize_ratio", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Division", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_0941c9ff95557f2d53bc8f8179ab793e", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_74d1ae07763cf2ce5f26906c9df0d2cc", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt.fits", "typing_FStar.UInt.max_int", - "typing_FStar.UInt32.div", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.max_uint32", - "typing_LowStar.Vector.resize_ratio" - ], - 0, - "498b5391fc296cccfd0f9791c7985419" - ], - [ - "LowStar.Vector.insert", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.is_full", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_typing", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_52184b30e25eabff2c3f3995de52ba62", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.max_uint32" - ], - 0, - "5691e5c813ab0d6b6d949dc69989ab64" - ], - [ - "LowStar.Vector.insert", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "data_elim_LowStar.Vector.Vec", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Integers.int_t", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.snoc", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.get", "equation_LowStar.Vector.is_full", - "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.max_uint32", - "equation_LowStar.Vector.new_capacity", - "equation_LowStar.Vector.resize_ratio", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_equal_domains_trans", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_index_upd1", - "lemma_FStar.Seq.Base.lemma_index_upd2", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "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_Division", "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Negation", "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0941c9ff95557f2d53bc8f8179ab793e", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_18f73a28752c8f52b2a6d86ff18e6183", - "refinement_interpretation_Tm_refine_1ccfb21903aa30ace8832f7a4d067d9b", - "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_3fce2f7ffa893f695736f99cb4d179d0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_52184b30e25eabff2c3f3995de52ba62", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_74d1ae07763cf2ce5f26906c9df0d2cc", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b7ebffdc5f2178cb7e33e32e7b4f37cb", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c7f12373684ac3902f959f03ceaa2f5e", - "refinement_interpretation_Tm_refine_cca62387ef1dde88373241676191b3c5", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_df81b3f17797c6f405c1dbb191651292", - "refinement_interpretation_Tm_refine_e18f98cad73a95c90aef4acd6958acc3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Base.upd", - "typing_FStar.Seq.Properties.snoc", "typing_FStar.Set.singleton", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.div", "typing_FStar.UInt32.gte", - "typing_FStar.UInt32.mul", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.is_full", - "typing_LowStar.Vector.loc_addr_of_vector", - "typing_LowStar.Vector.loc_vector", - "typing_LowStar.Vector.max_uint32", - "typing_LowStar.Vector.new_capacity", - "typing_LowStar.Vector.resize_ratio", "typing_Prims.int" - ], - 0, - "df9e508cd6199a40c4194e9c3413d8fe" - ], - [ - "LowStar.Vector.flush", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_06a3dd4e4f3249107da2d0b06d97a202", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.length", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "72329628a2c4d2706572311c49a909db" - ], - [ - "LowStar.Vector.flush", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.disjoint", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.freeable", - "equation_LowStar.Vector.live", - "equation_LowStar.Vector.loc_addr_of_vector", - "equation_LowStar.Vector.loc_vector", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.eqtype", "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_elim", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.address_liveness_insensitive_buffer", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.freeable_length", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_loc_not_unused_in", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_includes_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_none_r", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_addresses_2", - "lemma_LowStar.Monotonic.Buffer.loc_includes_addresses_buffer_", - "lemma_LowStar.Monotonic.Buffer.loc_includes_none", - "lemma_LowStar.Monotonic.Buffer.loc_includes_refl", - "lemma_LowStar.Monotonic.Buffer.loc_includes_trans_backwards", - "lemma_LowStar.Monotonic.Buffer.loc_includes_union_l_", - "lemma_LowStar.Monotonic.Buffer.loc_union_comm", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "lemma_LowStar.Monotonic.Buffer.modifies_liveness_insensitive_buffer_weak", - "lemma_LowStar.Monotonic.Buffer.modifies_loc_includes", - "lemma_LowStar.Monotonic.Buffer.modifies_trans_linear", - "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_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_cap", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_LowStar.Vector.Vec_sz", - "projection_inverse_LowStar.Vector.Vec_vs", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_06a3dd4e4f3249107da2d0b06d97a202", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_28c16675e70e9ef7701e9b6d78b06c35", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_72e320a6109de6aa30ae43bc746866b5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_e5616067142f53bd411fb0cc7445a15c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_f659b8645f5bd715ba0c428cb1f8580c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Seq.Base.slice", "typing_FStar.Set.singleton", - "typing_FStar.UInt32.gte", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.sub", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.address_liveness_insensitive_locs", - "typing_LowStar.Monotonic.Buffer.as_addr", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.frameOf", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_addresses", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.loc_none", - "typing_LowStar.Monotonic.Buffer.loc_union", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.as_seq", - "typing_LowStar.Vector.loc_addr_of_vector", - "typing_LowStar.Vector.loc_vector", "typing_LowStar.Vector.size_of", - "typing_Prims.int" - ], - 0, - "66c7d0d06be7ff3ce58e53148cb2899b" - ], - [ - "LowStar.Vector.shrink", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_48c369ef9189ad76f46548f23cb76cdf" - ], - 0, - "76c2e6474701ae469e73750efcd53a20" - ], - [ - "LowStar.Vector.fold_left_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_4ba5d02fdaa2a4e1a80f4f1dfd4982d6_3", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", - "equation_FStar.Seq.Properties.tail", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "typing_FStar.Seq.Base.length", "well-founded-ordering-on-nat" - ], - 0, - "209e04db87b1a7d86bd58d74282e2268" - ], - [ - "LowStar.Vector.fold_left_buffer", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.fold_left_seq.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_LowStar.Vector.fold_left_seq.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_f0225aaf6b987d44876e7f498390aa39", - "LowStar.Vector_interpretation_Tm_ghost_arrow_cab63744daa3c87acfc292f6089476d1", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.head", - "equation_FStar.Seq.Properties.tail", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.Vector.fold_left_seq.fuel_instrumented", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_stack_regions_intro", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_167ef714932ec832fb671890fc3eee6c", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_47f7d72cb804a2caca3569d60da54e94", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e7d1c8d8cd03a2e78447c400f48890d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.Heap.heap", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.length", "typing_FStar.Seq.Properties.tail", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length", "typing_Prims.pow2" - ], - 0, - "ea54d163485cefde4fcfdc7bd3c27348" - ], - [ - "LowStar.Vector.fold_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.live", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", - "function_token_typing_LowStar.Buffer.trivial_preorder", - "int_inversion", "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "lemma_LowStar.Monotonic.Buffer.live_gsub", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_003d77901c556c9777d78b1f9ff48851", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "true_interp", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.__proj__Vec__item__sz", - "typing_LowStar.Vector.__proj__Vec__item__vs" - ], - 0, - "1b0c8d9a51f2c03562dbfe7a4f045013" - ], - [ - "LowStar.Vector.forall_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "286b886edf91228085549566f0ac3212" - ], - [ - "LowStar.Vector.forall_buffer", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Buffer.buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "c89c7570ca625b313e6fe4ac5d75db54" - ], - [ - "LowStar.Vector.forall_", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "59a63078262e2960af9fd0517338cb68" - ], - [ - "LowStar.Vector.forall_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.size_of" - ], - 0, - "9166129d0141427f2617e305308dbebb" - ], - [ - "LowStar.Vector.forall2_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_Prims.int" - ], - 0, - "c1147ad717c66f013f2157faba6c9fbd" - ], - [ - "LowStar.Vector.forall2_buffer", - 1, - 2, - 1, - [ - "@query", "equation_LowStar.Buffer.buffer", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "typing_LowStar.Buffer.trivial_preorder" - ], - 0, - "caf63676b4a0e8bd23898e2139935d54" - ], - [ - "LowStar.Vector.forall2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.as_seq" - ], - 0, - "086e7eb4f3a9e2042e4a932f4537a7cf" - ], - [ - "LowStar.Vector.forall2_all", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lte", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.Heap.heap", - "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.UInt.fits", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Vector.size_of" - ], - 0, - "7432dd2f919db2748b409360c8aedc51" - ], - [ - "LowStar.Vector.get_as_seq_index", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c4979586496c4bc427c5781b8c016cf5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "9d4f0ff51c12aaf5a0a962ef2bc2abd1" - ], - [ - "LowStar.Vector.get_as_seq_index", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "lemma_LowStar.Monotonic.Buffer.len_gsub", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_c4979586496c4bc427c5781b8c016cf5", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.mgsub" - ], - 0, - "34da73d359f232065aeca2455211e506" - ], - [ - "LowStar.Vector.get_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.v", "typing_LowStar.Vector.size_of" - ], - 0, - "779fd0f1892c9ec8b3e10cf1d28796d4" - ], - [ - "LowStar.Vector.get_preserved", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_LowStar.Vector.Vec", "equation_FStar.UInt.fits", - "equation_FStar.UInt.gte", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.gte", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.get", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.live", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_612136ee4143d24977831c80e4f470a1", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.as_seq_gsub", - "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_sym_", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_union_r_", - "lemma_LowStar.Monotonic.Buffer.modifies_buffer_elim", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4fa8e2dd96f8bb1e23e6574326e9e019", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a88c51956f007f77dee75dd2a07bb5a", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "token_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "true_interp", "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.len", - "typing_LowStar.Monotonic.Buffer.loc_buffer", - "typing_LowStar.Monotonic.Buffer.mgsub", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "4333c249b9757fb5f312d628a7f2fdbb" - ], - [ - "LowStar.Vector.get_preserved_within", - 1, - 2, - 1, - [ "@query" ], - 0, - "31242aa6107b77f67732080e92a5ccaa" - ], - [ - "LowStar.Vector.get_preserved_within", - 2, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.Vector.loc_vector_within.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Integers.Unsigned", - "constructor_distinct_FStar.Integers.W32", - "equality_tok_FStar.Integers.W32@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_with_fuel_LowStar.Vector.loc_vector_within.fuel_instrumented", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.loc_disjoint_sym_", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Unsigned__0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fe15ebb289e8612535114a9f7b1e3ecc", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.loc_vector_within", - "typing_LowStar.Vector.size_of" - ], - 0, - "6aeda0d6c556db06e6bb85494c9c7857" - ], - [ - "LowStar.Vector.forall_seq_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "eedca04a3905acd57052b3406c2ee30c" - ], - [ - "LowStar.Vector.forall_seq_ok", - 2, - 2, - 1, - [ "@query", "equation_LowStar.Vector.forall_seq" ], - 0, - "94852b8d2c95f1fe52700d3f81b9f720" - ], - [ - "LowStar.Vector.forall2_seq_ok", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_Prims.int" - ], - 0, - "fabfeb1829063034c76cb5f5c83b4760" - ], - [ - "LowStar.Vector.forall2_seq_ok", - 2, - 2, - 1, - [ "@query", "equation_LowStar.Vector.forall2_seq" ], - 0, - "3e220ec3c8164748c23de0bd50ebfb55" - ], - [ - "LowStar.Vector.forall2_seq_ok", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.eqtype", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "95d517199fe783461243b1dac9832762" - ], - [ - "LowStar.Vector.forall_as_seq", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "typing_Prims.int" - ], - 0, - "98d62171e123680d01c0bb8e3c59c7dc" - ], - [ - "LowStar.Vector.forall_as_seq", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_Prims.nat", - "int_inversion", "int_typing", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0fd1ee098f6569eb754a703d7e7e9875", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85" - ], - 0, - "fc5a4a26c32fd3c42887df0fa80163dd" - ], - [ - "LowStar.Vector.forall_as_seq", - 3, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_Prims.int" - ], - 0, - "90c785180036944b6a5083453146a451" - ], - [ - "LowStar.Vector.forall_preserved", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lte", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "lemma_LowStar.Vector.forall_as_seq", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_4639d389381bee5cf8cf77b7a6585074", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_562ac129d341d684eac8dd463a0f41fe", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_87b30ef056e95d752fcd750baca48dc3", - "refinement_interpretation_Tm_refine_90a1661541e4f009452ab107b47b5955", - "refinement_interpretation_Tm_refine_e39578da040f6c7003161732bc9d6b85", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.as_seq", "typing_LowStar.Vector.size_of" - ], - 0, - "cdc3b8162ee1ed155703e78c61761cbf" - ], - [ - "LowStar.Vector.forall2_extend", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "data_elim_LowStar.Vector.Vec", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.gte", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.gte", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Buffer.buffer", - "equation_LowStar.Buffer.trivial_preorder", - "equation_LowStar.Monotonic.Buffer.length", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "equation_Prims.nat", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", "lemma_FStar.UInt32.vu_inv", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "lemma_LowStar.Monotonic.Buffer.length_null_2", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_GreaterThanOrEqual", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "proj_equation_LowStar.Vector.Vec_vs", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_9ff867c004d0e891d59193a1c818b2a7", - "refinement_interpretation_Tm_refine_bb057522f06b19b94fc366689b4d9e02", - "refinement_interpretation_Tm_refine_dca1a3e0423a978a1325343b24744f19", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_fedcb15e96f77db85594c779fc6adaf1", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v", "typing_LowStar.Buffer.trivial_preorder", - "typing_LowStar.Vector.__proj__Vec__item__vs", - "typing_LowStar.Vector.size_of" - ], - 0, - "b2ca89a475d67c66f3a68d3cff2a6567" - ], - [ - "LowStar.Vector.forall2_extend", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.as_seq", - "equation_LowStar.Vector.forall2", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_LowStar.Vector.vector", - "fuel_guarded_inversion_LowStar.Vector.vector_str", "int_inversion", - "int_typing", - "interpretation_Tm_abs_f3a5660f04307e3acddef8ffa218521f", - "l_and-interp", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_dca1a3e0423a978a1325343b24744f19", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "typing_LowStar.Vector.size_of" - ], - 0, - "c940c2002d26c5eee4ebbe967b9d092e" - ], - [ - "LowStar.Vector.forall2_forall_left", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_b4ec8c66f1d60bf0ad4f82cad4802690", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "513f3a2a0489f18a16f2aa4e857e449e" - ], - [ - "LowStar.Vector.forall2_forall_left", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.forall2", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.uint32_t", "int_inversion", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_b4ec8c66f1d60bf0ad4f82cad4802690", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.lt", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.v" - ], - 0, - "2b7aa8de67e12e5e98b8f904bb3c9dfe" - ], - [ - "LowStar.Vector.forall2_forall_right", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.lt", - "equation_FStar.UInt.lte", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_FStar.UInt32.lt", - "equation_FStar.UInt32.lte", "equation_LowStar.Vector.size_of", - "equation_LowStar.Vector.uint32_t", "equation_Prims.nat", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_LowStar.Vector.Vec_sz", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_812316291234d8a310a2c87c27bfa989", - "refinement_interpretation_Tm_refine_b4ec8c66f1d60bf0ad4f82cad4802690", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lte", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "46f00d690b39b93494c5c7860fb3729d" - ], - [ - "LowStar.Vector.forall2_forall_right", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Integers.Signed", - "constructor_distinct_FStar.Integers.Winfinite", - "equality_tok_FStar.Integers.Winfinite@tok", - "equation_FStar.Integers.int_t", "equation_FStar.UInt.fits", - "equation_FStar.UInt.lt", "equation_FStar.UInt.lte", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_FStar.UInt32.lt", "equation_FStar.UInt32.lte", - "equation_LowStar.Vector.as_seq", "equation_LowStar.Vector.forall2", - "equation_LowStar.Vector.forall2_seq", - "equation_LowStar.Vector.forall_", - "equation_LowStar.Vector.forall_seq", "equation_LowStar.Vector.get", - "equation_LowStar.Vector.uint32_t", "int_inversion", "int_typing", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Integers.Signed__0", - "refinement_interpretation_Tm_refine_0b0f9776f8fbf33608e064dfe5c8ab0a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_4097c547095e70012031c1b6bbc9fb12", - "refinement_interpretation_Tm_refine_7028972db935cf1f2ecc12fc7857552a", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_b4ec8c66f1d60bf0ad4f82cad4802690", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.lt", - "typing_FStar.UInt32.lte", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "4f69e5fd3b8dbfa4de9f49de4447be00" - ] - ] -] \ No newline at end of file diff --git a/ulib/.hints/Prims.fst.hints b/ulib/.hints/Prims.fst.hints deleted file mode 100644 index 4c3163754e4..00000000000 --- a/ulib/.hints/Prims.fst.hints +++ /dev/null @@ -1,83 +0,0 @@ -[ - "8\u0011\u0016ŸÊ“øg94÷¼¥¿\u001fA", - [ - [ - "Prims.op_Equals_Equals_Equals", - 1, - 2, - 1, - [ "@query" ], - 0, - "30acc7cb27830b10823bbb5fa9c2108c" - ], - [ - "Prims.list", - 1, - 2, - 1, - [ "@query" ], - 0, - "0b81bfb51120762a946e815725a3eda7" - ], - [ - "Prims.__proj__Cons__item__hd", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "e5bcb8804b2c7e3ba6d2abf207a63b02" - ], - [ - "Prims.__proj__Cons__item__tl", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7aac12c24449a22c34d98a0ea8ed4a32" - ], - 0, - "4490ea0db882013fdee55aa19ae94aa7" - ], - [ - "Prims._assert", - 1, - 2, - 1, - [ "@query" ], - 0, - "f3b9e439a5b7db556f5baf2b8ad63828" - ], - [ - "Prims.cut", - 1, - 2, - 1, - [ "@query" ], - 0, - "a6f535ed408c3eb4318123d927e3b0f6" - ], - [ - "Prims.pow2", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_bb4e1c9af0265270f8e7a5f250f730e2_0", "equation_Prims.nat", - "equation_Prims.pos", "int_inversion", "int_typing", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "well-founded-ordering-on-nat" - ], - 0, - "5c3ad124970c11954db4ca788ac11587" - ] - ] -] \ No newline at end of file diff --git a/ulib/Cfg.fst.config.json b/ulib/Cfg.fst.config.json new file mode 100644 index 00000000000..20dd6d861c6 --- /dev/null +++ b/ulib/Cfg.fst.config.json @@ -0,0 +1,12 @@ +{ + "_comment": "Note: the path below must be the 'uninstalled' path (not in out/) so we can still open ulib interactively even if the library failed to build as a whole (which is usually a time when you want to open it!). You can switch to stage2 too, just also switch the include of ulib.checked below", + + "fstar_exe": "../stage1/dune/_build/default/fstarc-full/fstarc1_full.exe", + "options": [ + "--ext", "context_pruning", + "--z3version", "4.13.3" + ], + "include_dirs": [ + "../stage1/ulib.checked" + ] +} diff --git a/ulib/FStar.Cardinality.Cantor.fst b/ulib/FStar.Cardinality.Cantor.fst index 4f2ee440157..349cd6ee246 100644 --- a/ulib/FStar.Cardinality.Cantor.fst +++ b/ulib/FStar.Cardinality.Cantor.fst @@ -18,7 +18,7 @@ let no_surj_powerset (a : Type) (f : a -> powerset a) : Lemma (~(is_surj f)) = let no_inj_powerset (a : Type) (f : powerset a -> a) : Lemma (~(is_inj f)) = let aux () : Lemma (requires is_inj f) (ensures False) = - let g : a -> powerset a = inverse_of_inj f (fun _ -> false) in + let g : a -> GTot (powerset a) = inverse_of_inj f (fun _ -> false) in no_surj_powerset a g in Classical.move_requires aux () diff --git a/ulib/FStar.Cardinality.Universes.fst b/ulib/FStar.Cardinality.Universes.fst index 146820b0387..5eb0e8bafa1 100644 --- a/ulib/FStar.Cardinality.Universes.fst +++ b/ulib/FStar.Cardinality.Universes.fst @@ -6,8 +6,8 @@ open FStar.Cardinality.Cantor (* This type is an injection of all powersets of Type u (i.e. Type u -> bool functions) into Type (u+1) *) noeq -type type_powerset : (Type u#a -> bool) -> Type u#(max (a+1) b) = - | Mk : f:(Type u#a -> bool) -> type_powerset f +type type_powerset : (Type u#a -> GTot bool) -> Type u#(max (a+1) b) = + | Mk : f:(Type u#a -> GTot bool) -> type_powerset f let aux_inj_type_powerset (f1 f2 : powerset (Type u#a)) : Lemma (requires type_powerset u#a u#b f1 == type_powerset u#a u#b f2) diff --git a/ulib/FStar.Functions.fst b/ulib/FStar.Functions.fst index 1c342526748..7410ff4326b 100644 --- a/ulib/FStar.Functions.fst +++ b/ulib/FStar.Functions.fst @@ -1,16 +1,21 @@ module FStar.Functions -let inj_comp (#a #b #c : _) (f : a -> b) (g : b -> c) +let inj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : Lemma (requires is_inj f /\ is_inj g) (ensures is_inj (fun x -> g (f x))) = () -let surj_comp (#a #b #c : _) (f : a -> b) (g : b -> c) +let surj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : Lemma (requires is_surj f /\ is_surj g) (ensures is_surj (fun x -> g (f x))) = () -let lem_surj (#a #b : _) (f : a -> b) (y : b) +let bij_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : + Lemma (requires is_bij f /\ is_bij g) + (ensures is_bij (fun x -> g (f x))) += () + +let lem_surj (#a #b : _) (f : a -> GTot b) (y : b) : Lemma (requires is_surj f) (ensures in_image f y) = () @@ -25,11 +30,11 @@ let inverse_of_bij #a #b f = assert (g0 (f x) == x) in Classical.forall_intro aux; - Ghost.Pull.pull g0 + g0 let inverse_of_inj #a #b f def = (* f is a bijection into its image, obtain its inverse *) - let f' : a -> image_of f = fun x -> f x in + let f' : a -> GTot (image_of f) = fun x -> f x in let g_partial = inverse_of_bij #a #(image_of f) f' in (* extend the inverse to the full domain b *) let g : b -> GTot a = @@ -38,4 +43,4 @@ let inverse_of_inj #a #b f def = then g_partial y else def in - Ghost.Pull.pull g + g diff --git a/ulib/FStar.Functions.fsti b/ulib/FStar.Functions.fsti index 503603e5d38..9982dc4ddf5 100644 --- a/ulib/FStar.Functions.fsti +++ b/ulib/FStar.Functions.fsti @@ -3,47 +3,51 @@ module FStar.Functions (* This module contains basic definitions and lemmas about functions and sets. *) -let is_inj (#a #b : _) (f : a -> b) : prop = +let is_inj (#a #b : _) (f : a -> GTot b) : prop = forall (x1 x2 : a). f x1 == f x2 ==> x1 == x2 -let is_surj (#a #b : _) (f : a -> b) : prop = +let is_surj (#a #b : _) (f : a -> GTot b) : prop = forall (y:b). exists (x:a). f x == y -let is_bij (#a #b : _) (f : a -> b) : prop = +let is_bij (#a #b : _) (f : a -> GTot b) : prop = is_inj f /\ is_surj f -let in_image (#a #b : _) (f : a -> b) (y : b) : prop = +let in_image (#a #b : _) (f : a -> GTot b) (y : b) : prop = exists (x:a). f x == y -let image_of (#a #b : _) (f : a -> b) : Type = +let image_of (#a #b : _) (f : a -> GTot b) : Type = y:b{in_image f y} (* g inverses f *) -let is_inverse_of (#a #b : _) (g : b -> a) (f : a -> b) = +let is_inverse_of (#a #b : _) (g : b -> GTot a) (f : a -> GTot b) = forall (x:a). g (f x) == x -let powerset (a:Type u#aa) : Type u#aa = a -> bool +let powerset (a:Type u#aa) : Type u#aa = a -> GTot bool -val inj_comp (#a #b #c : _) (f : a -> b) (g : b -> c) +val inj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : Lemma (requires is_inj f /\ is_inj g) (ensures is_inj (fun x -> g (f x))) -val surj_comp (#a #b #c : _) (f : a -> b) (g : b -> c) +val surj_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : Lemma (requires is_surj f /\ is_surj g) (ensures is_surj (fun x -> g (f x))) -val lem_surj (#a #b : _) (f : a -> b) (y : b) +val bij_comp (#a #b #c : _) (f : a -> GTot b) (g : b -> GTot c) : + Lemma (requires is_bij f /\ is_bij g) + (ensures is_bij (fun x -> g (f x))) + +val lem_surj (#a #b : _) (f : a -> GTot b) (y : b) : Lemma (requires is_surj f) (ensures in_image f y) (* An bijection has a perfect inverse. *) -val inverse_of_bij (#a #b : _) (f : a -> b) - : Ghost (b -> a) +val inverse_of_bij (#a #b : _) (f : a -> GTot b) + : Ghost (b -> GTot a) (requires is_bij f) (ensures fun g -> is_bij g /\ g `is_inverse_of` f /\ f `is_inverse_of` g) (* An injective function has an inverse (as long as the domain is non-empty), and this inverse is surjective. *) -val inverse_of_inj (#a #b : _) (f : a -> b{is_inj f}) (def : a) - : Ghost (b -> a) +val inverse_of_inj (#a #b : _) (f : a -> GTot b{is_inj f}) (def : a) + : Ghost (b -> GTot a) (requires is_inj f) (ensures fun g -> is_surj g /\ g `is_inverse_of` f) diff --git a/ulib/FStar.Ghost.Pull.fsti b/ulib/FStar.Ghost.Pull.fsti deleted file mode 100644 index 12c27879e95..00000000000 --- a/ulib/FStar.Ghost.Pull.fsti +++ /dev/null @@ -1,33 +0,0 @@ -module FStar.Ghost.Pull - -(** - [pull] is an axiom. - - It type states that for any ghost function ``f``, we can exhibit a - total function ``g`` that is pointwise equal to ``f``. However, it - may not be possible, in general, to compute ``g`` in a way that - enables it to be compiled by F*. So, ``pull f`` itself has ghost - effect, indicating that applications of ``pull`` cannot be used in - compilable code. - - Alternatively, one can think of `pull` as saying that the GTot - effect is idempotent and non-dependent, meaning that if evaluating - `f` on an argument `v:a`, exhibits an effect `GTot` and returns a - result; then the effect does not depend on `v` and it can be - subsumed to exhibiting the effect first and then computing `f v` - purely. - - In other words, it "pulls" the effect out of `f`. - - pull is useful to mimic a kind of Tot/GTot effect polymorphism. - - E.g., if you have `f: a -> GTot b` and a `l:list a` - you can do List.map (pull f) l : GTot (list b) - *) -val pull (#a:Type) (#b:a -> Type) (f: (x:a -> GTot (b x))) - : GTot (x:a -> b x) - -val pull_equiv (#a:Type) (#b:a -> Type) (f: (x:a -> GTot (b x))) (x:a) - : Lemma (ensures pull f x == f x) - [SMTPat (pull f x)] - diff --git a/ulib/FStar.IndefiniteDescription.fst b/ulib/FStar.IndefiniteDescription.fst index f0388ef1ebc..0bad5da531f 100644 --- a/ulib/FStar.IndefiniteDescription.fst +++ b/ulib/FStar.IndefiniteDescription.fst @@ -1,5 +1,5 @@ (* - Copyright 2008-2018 Microsoft Research + Copyright 2008-2024 Microsoft Research Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -19,49 +19,36 @@ module FStar.IndefiniteDescription /// Indefinite description is an axiom that allows picking a witness /// for existentially quantified predicate. See the interface for more /// context. -/// -open FStar.Classical -open FStar.Squash -(** The main axiom: +(** A proof for squash p can be eliminated to get p in the Ghost effect *) +irreducible let elim_squash (#p:Type u#a) (s:squash p) : GTot p = admit () - Given a classical proof of [exists x. p x], we can exhibit an erased +(** Given a classical proof of [exists x. p x], we can exhibit an erased (computationally irrelevant) a witness [x:erased a] validating - [p x]. -*) + [p x]. *) irreducible -let indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) - : Tot (w:Ghost.erased a{ p w }) - = admit() //this is an axiom - -(** A version in ghost is easily derivable *) let indefinite_description_ghost (a: Type) (p: (a -> prop) { exists x. p x }) : GTot (x: a { p x }) - = let w = indefinite_description_tot a p in - let x = Ghost.reveal w in + = let h : squash (exists x. p x) = () in + let h : (exists x. p x) = elim_squash h in + let (| x, h |) : x:a & p x = elim_squash h in x +(** A version in ghost is easily derivable *) +let indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) + : Tot (w:Ghost.erased a{ p w }) + = Ghost.hide (indefinite_description_ghost a p) + (** Indefinite description entails the a strong form of the excluded middle, i.e., one can case-analyze the truth of a proposition (only in [Ghost]) *) let strong_excluded_middle (p: Type0) : GTot (b: bool{b = true <==> p}) = - let aux (p: Type0) : Lemma (exists b. b = true <==> p) = - give_proof (bind_squash (get_proof (l_or p (~p))) - (fun (b: l_or p (~p)) -> - bind_squash b - (fun (b': Prims.sum p (~p)) -> - match b' with - | Prims.Left hp -> - give_witness hp; - exists_intro (fun b -> b = true <==> p) true; - get_proof (exists b. b = true <==> p) - | Prims.Right hnp -> - give_witness hnp; - exists_intro (fun b -> b = true <==> p) false; - get_proof (exists b. b = true <==> p)))) - in - aux p; - indefinite_description_ghost bool (fun b -> b = true <==> p) + let h : squash (p \/ ~p) = () in + let h : (p \/ ~p) = elim_squash h in + let h : sum p (~p) = elim_squash h in + match h with + | Left h -> true + | Right h -> false (** We also can combine this with a the classical tautology converting with a [forall] and an [exists] to extract a witness of validity of [p] from @@ -77,13 +64,4 @@ let stronger_markovs_principle (p: (nat -> GTot bool)) boolean predicate *) let stronger_markovs_principle_prop (p: (nat -> GTot prop)) : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) = - indefinite_description_ghost _ p - - -(** A proof for squash p can be eliminated to get p in the Ghost effect *) - -let elim_squash (#p:Type u#a) (s:squash p) : GTot p = - let uu : squash (x:p & squash trivial) = - bind_squash s (fun x -> return_squash (| x, return_squash T |)) in - give_proof (return_squash uu); - indefinite_description_ghost p (fun _ -> squash trivial) + indefinite_description_ghost _ p \ No newline at end of file diff --git a/ulib/FStar.IndefiniteDescription.fsti b/ulib/FStar.IndefiniteDescription.fsti index 1610e5376b8..109a7593577 100644 --- a/ulib/FStar.IndefiniteDescription.fsti +++ b/ulib/FStar.IndefiniteDescription.fsti @@ -26,19 +26,18 @@ module FStar.IndefiniteDescription /// https://github.com/coq/coq/wiki/CoqAndAxioms#indefinite-description--hilberts-epsilon-operator /// https://en.wikipedia.org/wiki/Theory_of_descriptions#Indefinite_descriptions -(** The main axiom: - - Given a classical proof of [exists x. p x], we can exhibit an erased - (computationally irrelevant) a witness [x:erased a] validating - [p x]. -*) -val indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) - : Tot (w:Ghost.erased a{ p w }) - +(** The main axiom: a proof for squash p can be eliminated to get p in the Ghost effect *) +val elim_squash (#p:Type u#a) (s:squash p) : GTot p -(** A version in ghost is easily derivable *) +(** Given a classical proof of [exists x. p x], we can exhibit + a witness [x:erased a] validating [p x] in GTot. *) val indefinite_description_ghost (a: Type) (p: (a -> prop) { exists x. p x }) : GTot (x: a { p x }) + +(** Given a classical proof of [exists x. p x], we can exhibit an erased + (computationally irrelevant) a witness [x:erased a] validating [p x]. *) +val indefinite_description_tot (a:Type) (p:(a -> prop) { exists x. p x }) + : Tot (w:Ghost.erased a{ p w }) (** Indefinite description entails the a strong form of the excluded middle, i.e., one can case-analyze the truth of a proposition @@ -57,9 +56,4 @@ val stronger_markovs_principle (p: (nat -> GTot bool)) (** A variant of the previous lemma, but for a [prop] rather than a boolean predicate *) val stronger_markovs_principle_prop (p: (nat -> GTot prop)) - : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) - - -(** A proof for squash p can be eliminated to get p in the Ghost effect *) - -val elim_squash (#p:Type u#a) (s:squash p) : GTot p + : Ghost nat (requires (~(forall (n: nat). ~(p n)))) (ensures (fun n -> p n)) \ No newline at end of file diff --git a/ulib/FStar.Issue.fsti b/ulib/FStar.Issue.fsti index 3697227fc1e..68b98a1139e 100644 --- a/ulib/FStar.Issue.fsti +++ b/ulib/FStar.Issue.fsti @@ -23,8 +23,10 @@ val range_of_issue (i:issue) : Tot (option range) val context_of_issue (i:issue) : Tot (list string) +val issue_to_doc (i:issue) : Tot Pprint.document + val render_issue (i:issue) : Tot string - + (* NOTE: the only way to build a document that actually reduces in interpreted mode (like in tactics when not using plugins) is using arbitrary_string, as below. *) diff --git a/ulib/FStar.Math.Fermat.fst b/ulib/FStar.Math.Fermat.fst index 1c8140d0cff..a14631d3ffe 100644 --- a/ulib/FStar.Math.Fermat.fst +++ b/ulib/FStar.Math.Fermat.fst @@ -477,11 +477,14 @@ let fermat p a = val mod_mult_congr_aux (p:int{is_prime p}) (a b c:int) : Lemma (requires (a * c) % p = (b * c) % p /\ 0 <= b /\ b <= a /\ a < p /\ c % p <> 0) (ensures a = b) +#push-options "--retry 3" // proof below is brittle let mod_mult_congr_aux p a b c = let open FStar.Math.Lemmas in calc (==>) { (a * c) % p == (b * c) % p; ==> { mod_add_both (a * c) (b * c) (-b * c) p } + (a * c + (- b * c)) % p == (b * c + (- b * c)) % p; + ==> {} (a * c - b * c) % p == (b * c - b * c) % p; ==> { swap_mul a c; swap_mul b c; lemma_mul_sub_distr c a b } (c * (a - b)) % p == (b * c - b * c) % p; @@ -491,6 +494,7 @@ let mod_mult_congr_aux p a b c = let r, s = FStar.Math.Euclid.bezout_prime p (c % p) in FStar.Math.Euclid.euclid p (c % p) (a - b) r s; small_mod (a - b) p +#pop-options let mod_mult_congr p a b c = let open FStar.Math.Lemmas in diff --git a/ulib/FStar.Matrix.fst b/ulib/FStar.Matrix.fst index c44a524868f..bca2a15b210 100644 --- a/ulib/FStar.Matrix.fst +++ b/ulib/FStar.Matrix.fst @@ -732,6 +732,7 @@ let matrix_mul_unit_row_lemma #c #eq m (add mul: CE.cm c eq) (i: under m) (SB.create 1 mul.unit `SB.append` SB.create (m-i-1) add.unit)) (row (matrix_mul_unit add mul m) i) +#push-options "--z3rlimit 20" let matrix_mul_unit_col_lemma #c #eq m (add mul: CE.cm c eq) (i: under m) : Lemma ((col (matrix_mul_unit add mul m) i == (SB.create i add.unit) `SB.append` @@ -745,7 +746,8 @@ let matrix_mul_unit_col_lemma #c #eq m (add mul: CE.cm c eq) (i: under m) SB.lemma_eq_elim ((SB.create i add.unit) `SB.append` (SB.create 1 mul.unit `SB.append` SB.create (m-i-1) add.unit)) (col (matrix_mul_unit add mul m) i) - +#pop-options + let seq_of_products_zeroes_lemma #c #eq #m (mul: CE.cm c eq) (z: c{is_absorber z mul}) (s: SB.seq c{SB.length s == m}) diff --git a/ulib/FStar.ModifiesGen.fst b/ulib/FStar.ModifiesGen.fst index 412343c3c23..45a49be66ae 100644 --- a/ulib/FStar.ModifiesGen.fst +++ b/ulib/FStar.ModifiesGen.fst @@ -15,8 +15,7 @@ *) module FStar.ModifiesGen -#set-options "--split_queries no --ext 'context_pruning='" -#set-options "--using_facts_from '*,-FStar.Tactics,-FStar.Reflection,-FStar.List'" +#set-options "--split_queries no" module HS = FStar.HyperStack module HST = FStar.HyperStack.ST @@ -220,7 +219,6 @@ let loc_equal_elim (#al: aloc_t) (#c: cls al) (s1 s2: loc c) : Lemma = fun_set_equal_elim (Loc?.non_live_addrs s1) (Loc?.non_live_addrs s2); fun_set_equal_elim (Loc?.live_addrs s1) (Loc?.live_addrs s2) - let loc_union_idem #al #c s = assert (loc_union s s `loc_equal` s) @@ -1060,7 +1058,7 @@ let modifies_preserves_liveness_strong #al #c s1 s2 h h' #t #pre r x = #pop-options let modifies_preserves_region_liveness #al #c l1 l2 h h' r = () - +#restart-solver let modifies_preserves_region_liveness_reference #al #c l1 l2 h h' #t #pre r = () let modifies_preserves_region_liveness_aloc #al #c l1 l2 h h' #r #n x = @@ -1184,6 +1182,7 @@ let loc_includes_loc_regions_restrict_to_regions (loc_includes (loc_regions false rs) (restrict_to_regions l rs)) = Classical.forall_intro (loc_aux_includes_refl #al #c) +#push-options "--z3rlimit_factor 2" let modifies_only_live_regions #al #c rs l h h' = let s = l in let c_rs = Set.complement rs in @@ -1205,6 +1204,7 @@ let modifies_only_live_regions #al #c rs l h h' = modifies_only_live_regions_weak rs s_c_rs h h'; loc_includes_restrict_to_regions s c_rs; modifies_loc_includes s h h' s_c_rs +#pop-options let no_upd_fresh_region #al #c r l h0 h1 = modifies_only_live_regions (HS.mod_set (Set.singleton r)) l h0 h1 @@ -1244,6 +1244,7 @@ let popped_modifies #al c h0 h1 = ) #pop-options +#push-options "--z3rlimit_factor 2" let modifies_fresh_frame_popped #al #c h0 h1 s h2 h3 = fresh_frame_modifies c h0 h1; let r = loc_region_only #al #c false (HS.get_tip h2) in @@ -1261,6 +1262,7 @@ let modifies_fresh_frame_popped #al #c h0 h1 s h2 h3 = ); modifies_trans' s' h0 h2 h3; modifies_only_live_regions rs s h0 h3 +#pop-options let modifies_loc_regions_intro #al #c rs h1 h2 = let f (r: HS.rid) (a: nat) (b: al r a) : Lemma @@ -1475,6 +1477,7 @@ let loc_not_unused_in #al c h = (mk_live_addrs (fun x -> f x)) (Ghost.hide (aloc_domain c (Ghost.hide (Set.complement Set.empty)) f)) +#restart-solver let loc_unused_in #al c h = let f (r: HS.rid) : GTot (GSet.set nat) = if not (HS.live_region h r) @@ -1493,10 +1496,13 @@ let loc_unused_in #al c h = let loc_regions_unused_in #al c h rs = () #push-options "--z3rlimit 20" +#restart-solver let loc_addresses_unused_in #al c r a h = () #pop-options - +#restart-solver +#push-options "--fuel 2 --ifuel 1 --z3smtopt '(set-option :smt.qi.eager_threshold 5)' --z3rlimit_factor 4" let loc_addresses_not_unused_in #al c r a h = () +#pop-options #push-options "--z3rlimit 50" let loc_unused_in_not_unused_in_disjoint #al c h = @@ -1528,7 +1534,8 @@ let modifies_address_liveness_insensitive_unused_in #al c h h' = #pop-options #pop-options -#push-options "--max_fuel 0 --max_ifuel 0 --z3rlimit 16" +#push-options "--max_fuel 0 --max_ifuel 0 --z3rlimit 16 --retry 5 --z3cliopt 'smt.qi.eager_threshold=5'" +#restart-solver 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'); @@ -1713,6 +1720,7 @@ let union_aux_of_aux_left : Tot (GSet.set (aloc (cls_union c))) = GSet.comprehend (union_aux_of_aux_left_pred c b s) +#restart-solver 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)) = @@ -1750,6 +1758,7 @@ let union_aux_of_aux_left_inv : Tot (GSet.set (aloc (c b))) = GSet.comprehend (union_aux_of_aux_left_inv_pred b s) +#restart-solver let mem_union_aux_of_aux_left_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1772,6 +1781,7 @@ let mem_union_aux_of_aux_left_elim [SMTPat (GSet.mem x (union_aux_of_aux_left #al c b aux))] = () +#restart-solver let addrs_of_loc_union_loc_of_loc (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1783,6 +1793,7 @@ let addrs_of_loc_union_loc_of_loc [SMTPat (addrs_of_loc (union_loc_of_loc #al c b l) r)] = () +#restart-solver 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))) @@ -1791,13 +1802,17 @@ 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))) #pop-options +#push-options "--z3rlimit_factor 2" +#restart-solver 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)) 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)) +#pop-options -#push-options "--z3rlimit 25" +#push-options "--z3rlimit_factor 6 --fuel 2 --ifuel 1 --z3cliopt 'smt.qi.eager_threshold=5'" +#restart-solver let union_loc_of_loc_includes_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1897,7 +1912,8 @@ 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 -#push-options "--fuel 0 --ifuel 0" +#push-options "--fuel 0 --ifuel 0 --z3cliopt 'smt.qi.eager_threshold=5' --z3rlimit_factor 4" +#restart-solver let union_loc_of_loc_disjoint_intro (#al: (bool -> HS.rid -> nat -> Tot Type)) (c: ((b: bool) -> Tot (cls (al b)))) @@ -1947,8 +1963,11 @@ let union_loc_of_loc_disjoint_intro xs.addr `GSet.mem` addrs_of_loc_weak smaller xs.region /\ aloc_disjoint xl xs )) by ( + let open FStar.Stubs.Tactics.V2.Builtins in let open FStar.Tactics.SMT in set_rlimit 15; + set_options "--z3cliopt 'smt.qi.eager_threshold=1'"; + set_options "--retry 5"; () ); assert (auxl ` loc_aux_disjoint` doms); @@ -2144,6 +2163,7 @@ let raise_loc #al #c l = live_addrs (Ghost.hide (GSet.comprehend (raise_loc_aux_pred c aux))) +#restart-solver let raise_loc_none #al #c = assert (raise_loc u#x u#y (loc_none #_ #c) `loc_equal` loc_none) @@ -2156,23 +2176,24 @@ 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) -#push-options "--z3rlimit 15 --z3cliopt 'smt.qi.eager_threshold=100'" +#push-options "--z3rlimit 15 --z3cliopt 'smt.qi.eager_threshold=100' --fuel 2 --ifuel 1" +#restart-solver let raise_loc_includes #al #c l1 l2 = - let l1' = raise_loc l1 in - let l2' = raise_loc l2 in - assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); - assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux 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))) + let l1' = raise_loc u#x u#y l1 in + let l2' = raise_loc u#x u#y l2 in + assert (forall (x: aloc (raise_cls u#x u#y c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); + assert (forall (x: aloc (raise_cls u#x u#y c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l2))); + assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l1)) <==> GSet.mem (upgrade_aloc u#x u#y x) (Ghost.reveal (Loc?.aux l1'))); + assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l2)) <==> GSet.mem (upgrade_aloc u#x u#y x) (Ghost.reveal (Loc?.aux l2'))); + () #pop-options #push-options "--z3rlimit 20" let raise_loc_disjoint #al #c l1 l2 = - let l1' = raise_loc l1 in - let l2' = raise_loc l2 in - assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); - assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l2))); + let l1' = raise_loc u#x u#y l1 in + let l2' = raise_loc u#x u#y l2 in + assert (forall (x: aloc (raise_cls u#x u#y c)) . GSet.mem x (Ghost.reveal (Loc?.aux l1')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l1))); + assert (forall (x: aloc (raise_cls u#x u#y c)) . GSet.mem x (Ghost.reveal (Loc?.aux l2')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux 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 (forall r . addrs_of_loc l1' r `GSet.equal` addrs_of_loc l1 r); @@ -2182,9 +2203,9 @@ let raise_loc_disjoint #al #c l1 l2 = #pop-options let modifies_raise_loc #al #c l h1 h2 = - let l' = raise_loc l in - assert (forall (x: aloc (raise_cls c)) . GSet.mem x (Ghost.reveal (Loc?.aux l')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l))); - assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l)) <==> GSet.mem (upgrade_aloc x) (Ghost.reveal (Loc?.aux l'))); + let l' = raise_loc u#x u#y l in + assert (forall (x: aloc (raise_cls u#x u#y c)) . GSet.mem x (Ghost.reveal (Loc?.aux l')) <==> GSet.mem (downgrade_aloc x) (Ghost.reveal (Loc?.aux l))); + assert (forall (x: aloc c) . GSet.mem x (Ghost.reveal (Loc?.aux l)) <==> GSet.mem (upgrade_aloc u#x u#y x) (Ghost.reveal (Loc?.aux l'))); assert (forall r . addrs_of_loc l' r `GSet.equal` addrs_of_loc l r); assert (forall (x1 x2: aloc (raise_cls u#x u#y c)) . aloc_disjoint x1 x2 <==> aloc_disjoint (downgrade_aloc x1) (downgrade_aloc x2)); assert (forall (r: HS.rid) (a: nat) (b: raise_aloc al r a) . diff --git a/ulib/FStar.Pervasives.fst b/ulib/FStar.Pervasives.fst index 42987e0cdc6..0ffdc79d0b3 100644 --- a/ulib/FStar.Pervasives.fst +++ b/ulib/FStar.Pervasives.fst @@ -57,6 +57,7 @@ type norm_step = | Reify // Reify effectful definitions into their representations | NormDebug // Turn on debugging for this call | UnfoldOnly : list string -> norm_step // Unlike Delta, unfold definitions for only the given + | UnfoldOnce : list string -> norm_step // names, each string is a fully qualified name // like `A.M.f` // idem @@ -103,6 +104,9 @@ let reify_ = Reify irreducible let delta_only s = UnfoldOnly s +irreducible +let delta_once s = UnfoldOnce s + irreducible let delta_fully s = UnfoldFully s diff --git a/ulib/FStar.Pervasives.fsti b/ulib/FStar.Pervasives.fsti index 6bb8b1076a3..d9f46f6f97f 100644 --- a/ulib/FStar.Pervasives.fsti +++ b/ulib/FStar.Pervasives.fsti @@ -217,6 +217,13 @@ val reify_ : norm_step list. Each string is a fully qualified name like [A.M.f] *) val delta_only (s: list string) : Tot norm_step +(** Like [delta_only], unfold only the definitions in this list, +but do so only once. This is useful for a controlled unfolding +of recursive definitions. NOTE: if there are many occurrences +of a variable in this list, it is unspecified which one will +be unfolded (currently it depends on normalization order). *) +val delta_once (s: list string) : Tot norm_step + (** Unfold definitions for only the names in the given list, but unfold each definition encountered after unfolding as well. @@ -328,8 +335,8 @@ val normalize_spec (a: Type0) : Lemma (normalize a == a) val norm_spec (s: list norm_step) (#a: Type) (x: a) : Lemma (norm s #a x == x) (** Use the following to expose an ["opaque_to_smt"] definition to the - solver as: [reveal_opaque (`%defn) defn] *) -let reveal_opaque (s: string) = norm_spec [delta_only [s]] + solver as: [reveal_opaque (`%defn) defn]. *) +let reveal_opaque (s: string) = norm_spec [delta_once [s]] (** Wrappers over pure wp combinators that return a pure_wp type (with monotonicity refinement) *) diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fst b/ulib/FStar.ReflexiveTransitiveClosure.fst index 03cb02a99e7..c6e2a6097ad 100644 --- a/ulib/FStar.ReflexiveTransitiveClosure.fst +++ b/ulib/FStar.ReflexiveTransitiveClosure.fst @@ -27,6 +27,20 @@ type _closure (#a:Type u#a) (r:binrel u#a u#r a) : a -> a -> Type u#(max a r) = let _closure0 (#a:Type) (r:binrel a) (x y: a) : prop = squash (_closure r x y) +let rec induct_ (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:_closure r x y) +: Tot (squash (p x y)) (decreases xy) += match xy with + | Refl x -> f_refl x + | Step x y _ -> f_step x y + | Closure x y z xy yz -> + let p1 = induct_ r p f_refl f_step f_closure x y xy in + let p2 = induct_ r p f_refl f_step f_closure y z yz in + f_closure x y z + let get_squash (#a:Type) (r:binrel a) (x:a) (y:a{_closure0 r x y}) : Tot (squash (_closure r x y)) = assert_norm (_closure0 r x y ==> squash (_closure r x y)) @@ -159,3 +173,13 @@ let stable_on_closure #a r p hr = let xy = intro () 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 _)))) + +let induct + (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:squash (closure r x y)) +: squash (p x y) += let xy = FStar.Squash.join_squash #(_closure r x y) xy in + FStar.Squash.bind_squash xy (induct_ r p f_refl f_step f_closure x y) diff --git a/ulib/FStar.ReflexiveTransitiveClosure.fsti b/ulib/FStar.ReflexiveTransitiveClosure.fsti index c86f0251bd7..a5ca566e010 100644 --- a/ulib/FStar.ReflexiveTransitiveClosure.fsti +++ b/ulib/FStar.ReflexiveTransitiveClosure.fsti @@ -69,3 +69,15 @@ val closure_inversion: #a:Type u#a -> r:binrel u#a u#r a -> x:a -> y:a val stable_on_closure: #a:Type u#a -> r:binrel u#a u#r a -> p:(a -> Type0) -> p_stable_on_r: (squash (forall x y.{:pattern (p y); (r x y)} p x /\ squash (r x y) ==> p y)) -> Lemma (forall x y.{:pattern (closure r x y)} p x /\ closure r x y ==> p y) + +(** +* Induction over the reflective transitive closure of r +*) +val induct + (#a:Type) (r:binrel a) (p: a -> a -> prop) + (f_refl: (x:a -> squash (p x x))) + (f_step: (x:a -> y:a { r x y } -> squash (p x y))) + (f_closure: (x:a -> y:a -> z:a { p x y /\ p y z } -> squash (p x z))) + (x:a) (y:a) (xy:squash (closure r x y)) +: squash (p x y) + diff --git a/ulib/FStar.Seq.Permutation.fst b/ulib/FStar.Seq.Permutation.fst index 2721489d14a..5dd0a3484e5 100644 --- a/ulib/FStar.Seq.Permutation.fst +++ b/ulib/FStar.Seq.Permutation.fst @@ -290,7 +290,12 @@ let x_yz_to_y_xz #a #eq (m:CE.cm a eq) (x y z:a) y `m.mult` (x `m.mult` z); } -#push-options "--fuel 1 --ifuel 0 --z3rlimit_factor 2" +let lemma_un_snoc_append (#a:Type) (s1 : seq a) (s2 : seq a {Seq.length s2 <> 0}) + : Lemma (fst (Seq.un_snoc (append s1 s2)) == append s1 (fst (Seq.un_snoc s2))) + = assert (Seq.equal (fst (Seq.un_snoc (append s1 s2))) + (append s1 (fst (Seq.un_snoc s2)))) + +#push-options "--fuel 1 --ifuel 0" let rec foldm_snoc_append #a #eq (m:CE.cm a eq) (s1 s2: seq a) : Lemma (ensures eq.eq (foldm_snoc m (append s1 s2)) @@ -308,7 +313,10 @@ let rec foldm_snoc_append #a #eq (m:CE.cm a eq) (s1 s2: seq a) (eq.eq) { assert (Seq.equal (append s1 s2) (Seq.snoc (append s1 s2') last)) } foldm_snoc m (Seq.snoc (append s1 s2') last); - (eq.eq) { assert (Seq.equal (fst (Seq.un_snoc (append s1 s2))) (append s1 s2')) } + (eq.eq) { + lemma_un_snoc_append s1 s2; + assert (Seq.equal (fst (Seq.un_snoc (append s1 s2))) (append s1 s2')) + } m.mult last (foldm_snoc m (append s1 s2')); (eq.eq) { foldm_snoc_append m s1 s2'; diff --git a/ulib/FStar.Squash.fst b/ulib/FStar.Squash.fst index 645a2e47bcc..c29493a6f9e 100644 --- a/ulib/FStar.Squash.fst +++ b/ulib/FStar.Squash.fst @@ -1,5 +1,5 @@ (* - Copyright 2008-2018 Microsoft Research + Copyright 2008-2024 Microsoft Research Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. @@ -14,6 +14,7 @@ limitations under the License. *) module FStar.Squash +open FStar.IndefiniteDescription (* This file shows that there is another natural model for some of the squash things; for this one it doesn't seem to harm importing this @@ -21,9 +22,11 @@ module FStar.Squash let return_squash (#a:Type) x = () -let bind_squash (#a:Type) (#b:Type) f g = admit() +let bind_squash (#a:Type) (#b:Type) f g = + g (elim_squash f) -let push_squash (#a:Type) (#b:(a->Type)) f = admit() +let push_squash (#a:Type) (#b:(a->Type)) f = + return_squash fun x -> elim_squash (f x) let get_proof (p:Type) = () diff --git a/ulib/FStar.StrongExcludedMiddle.fst b/ulib/FStar.StrongExcludedMiddle.fst index e074fa66376..3c21369d254 100644 --- a/ulib/FStar.StrongExcludedMiddle.fst +++ b/ulib/FStar.StrongExcludedMiddle.fst @@ -15,5 +15,5 @@ *) module FStar.StrongExcludedMiddle -(* WARNING: this breaks parametricity; use with care *) -assume val strong_excluded_middle : p:Type0 -> GTot (b:bool{b = true <==> p}) +let strong_excluded_middle : p:Type0 -> GTot (b:bool{b = true <==> p}) = + IndefiniteDescription.strong_excluded_middle diff --git a/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti b/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti index a277a35e88d..9e145dc2e67 100644 --- a/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti +++ b/ulib/FStar.Stubs.Tactics.V2.Builtins.fsti @@ -29,6 +29,8 @@ open FStar.Tactics.Effect open FStar.Stubs.Tactics.Types include FStar.Stubs.Tactics.Unseal +val fixup_range : Range.range -> TacRO Range.range + (** Resolve unification variable indirections at the top of the term. *) val compress : term -> Tac term diff --git a/ulib/FStar.Tactics.Effect.fsti b/ulib/FStar.Tactics.Effect.fsti index d104d531ef3..63eb25d4d7c 100644 --- a/ulib/FStar.Tactics.Effect.fsti +++ b/ulib/FStar.Tactics.Effect.fsti @@ -164,6 +164,9 @@ effect Tac (a:Type) = TacH a (requires (fun _ -> True)) (ensures (fun _ _ -> Tru (* Metaprograms that succeed *) effect TacS (a:Type) = TacH a (requires (fun _ -> True)) (ensures (fun _ps r -> Success? r)) +(* Always succeed, no effect *) +effect TacRO (a:Type) = TAC a (fun ps post -> forall r. post (Success r ps)) + (* A variant that doesn't prove totality (nor type safety!) *) effect TacF (a:Type) = TacH a (requires (fun _ -> False)) (ensures (fun _ _ -> True)) diff --git a/ulib/FStar.Tactics.V2.Derived.fst b/ulib/FStar.Tactics.V2.Derived.fst index 06f6a002612..5dd819eae9e 100644 --- a/ulib/FStar.Tactics.V2.Derived.fst +++ b/ulib/FStar.Tactics.V2.Derived.fst @@ -63,29 +63,36 @@ exception Goal_not_trivial let goals () : Tac (list goal) = goals_of (get ()) let smt_goals () : Tac (list goal) = smt_goals_of (get ()) +private +let map_optRO (f:'a -> TacRO 'b) (x:option 'a) : TacRO (option 'b) = + match x with + | None -> None + | Some x -> Some (f x) + let fail_doc_at (#a:Type) (m:error_message) (r:option range) - : TAC a (fun ps post -> post (Failed (TacticFailure (m, r)) ps)) - = raise #a (TacticFailure (m, r)) + : TAC a (fun ps post -> forall r. post (Failed (TacticFailure (m, r)) ps)) + = let r = map_optRO fixup_range r in + raise #a (TacticFailure (m, r)) let fail_doc (#a:Type) (m:error_message) : TAC a (fun ps post -> post (Failed (TacticFailure (m, None)) ps)) = raise #a (TacticFailure (m, None)) let fail_at (#a:Type) (m:string) (r:option range) - : TAC a (fun ps post -> post (Failed (TacticFailure (mkmsg m, r)) ps)) + : TAC a (fun ps post -> forall r. post (Failed (TacticFailure (mkmsg m, r)) ps)) = fail_doc_at (mkmsg m) r let fail (#a:Type) (m:string) - : TAC a (fun ps post -> post (Failed (TacticFailure (mkmsg m, None)) ps)) + : TAC a (fun ps post -> forall r. post (Failed (TacticFailure (mkmsg m, r)) ps)) = fail_at m None let fail_silently_doc (#a:Type) (m:error_message) - : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure (m, None)) ps)) + : TAC a (fun _ post -> forall r ps. post (Failed (TacticFailure (m, r)) ps)) = set_urgency 0; raise #a (TacticFailure (m, None)) let fail_silently (#a:Type) (m:string) - : TAC a (fun _ post -> forall ps. post (Failed (TacticFailure (mkmsg m, None)) ps)) + : TAC a (fun _ post -> forall r ps. post (Failed (TacticFailure (mkmsg m, r)) ps)) = fail_silently_doc (mkmsg m) (** Return the current *goal*, not its type. (Ignores SMT goals) *) diff --git a/ulib/FStar.UInt128.fst b/ulib/FStar.UInt128.fst index 444ce8b0882..c4cb549d4f0 100644 --- a/ulib/FStar.UInt128.fst +++ b/ulib/FStar.UInt128.fst @@ -588,10 +588,13 @@ val add_mod_small: n: nat -> m:nat -> k1:pos -> k2:pos -> Lemma (requires (n < k1)) (ensures (n + (k1 * m) % (k1 * k2) == (n + k1 * m) % (k1 * k2))) +#restart-solver +#push-options "--z3rlimit_factor 4" let add_mod_small n m k1 k2 = mod_spec (k1 * m) (k1 * k2); mod_spec (n + k1 * m) (k1 * k2); div_add_small n m k1 k2 +#pop-options let mod_then_mul_64 (n:nat) : Lemma (n % pow2 64 * pow2 64 == n * pow2 64 % pow2 128) = Math.pow2_plus 64 64; diff --git a/ulib/LowStar.BufferView.fst.hints b/ulib/LowStar.BufferView.fst.hints deleted file mode 100644 index 1e097d8c1cc..00000000000 --- a/ulib/LowStar.BufferView.fst.hints +++ /dev/null @@ -1,1307 +0,0 @@ -[ - "Èw7B\u000bHô\u0017V|\fM\u000be\t", - [ - [ - "LowStar.BufferView.view", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.pos", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5" - ], - 0, - "53a316c597d72adfd7f537c58f6c2678" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 1, - 2, - 1, - [ "@query" ], - 0, - "78950f6c610bc3d28726e84dc84ce4be" - ], - [ - "LowStar.BufferView.__proj__View__item__get", - 2, - 2, - 1, - [ "@query" ], - 0, - "91adefe994edcc8bfa41748da3712c24" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 1, - 2, - 1, - [ "@query" ], - 0, - "6c955b164c5862892c07e19ba0fead9c" - ], - [ - "LowStar.BufferView.__proj__View__item__put", - 2, - 2, - 1, - [ "@query" ], - 0, - "9223375504a56f72409489d50d169895" - ], - [ - "LowStar.BufferView.buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "eb6e0238fece8d74fff0ea0541958181" - ], - [ - "LowStar.BufferView.__proj__BufferView__item__v", - 1, - 2, - 1, - [ "@query" ], - 0, - "2688be96bc5af0f2d9fbb51a3fc5f542" - ], - [ - "LowStar.BufferView.__proj__BufferView__item__v", - 2, - 2, - 1, - [ "@query" ], - 0, - "45639ac1fbc65c220bebd2cd5417288d" - ], - [ - "LowStar.BufferView.mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "cb1481902abdfcf45fa5b38f0128cbf3" - ], - [ - "LowStar.BufferView.mk_buffer_view", - 2, - 2, - 1, - [ "@query" ], - 0, - "edb05c09bb7a8cee283eb25bc4c33687" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "e8eb610d2fc139d31635a894df1b0b6e" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.BufferView_buf", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__2", - "projection_inverse_FStar.Pervasives.Mkdtuple4__3", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.BufferView_buf", - "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" - ], - 0, - "66fe4093d184de40ba7618e29dbb2219" - ], - [ - "LowStar.BufferView.as_buffer_mk_buffer_view", - 3, - 2, - 1, - [ "@query" ], - 0, - "585092d6f4d6308696bc63e3b0365320" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 1, - 2, - 1, - [ "@query" ], - 0, - "d9c975056cdd41b64de20325860de662" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.mk_buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.BufferView_v", - "projection_inverse_FStar.Pervasives.Mkdtuple4__1", - "projection_inverse_FStar.Pervasives.Mkdtuple4__4", - "projection_inverse_LowStar.BufferView.BufferView_v", - "refinement_interpretation_Tm_refine_f2ee369a11791d606a8b2bbf30d7d30e" - ], - 0, - "f32ff946de4fe7fcac9a73b45c113642" - ], - [ - "LowStar.BufferView.get_view_mk_buffer_view", - 3, - 2, - 1, - [ "@query" ], - 0, - "585092d6f4d6308696bc63e3b0365320" - ], - [ - "LowStar.BufferView.length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.buffer_view", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.logical", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "primitive_Prims.op_Division", "primitive_Prims.op_Modulus", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "0d6519454e6a918c5323276f7a147012" - ], - [ - "LowStar.BufferView.length_eq", - 1, - 2, - 1, - [ "@query" ], - 0, - "03a2cd4d15ee40b8ffe752b0d2a6ddaa" - ], - [ - "LowStar.BufferView.length_eq", - 2, - 2, - 1, - [ "@query", "equation_LowStar.BufferView.length" ], - 0, - "52d2c8c2496bf48f8661880326951bbf" - ], - [ - "LowStar.BufferView.view_indexing", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.logical", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "primitive_Prims.op_Addition", "primitive_Prims.op_Minus", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.get_view" - ], - 0, - "20698754c043a0b76ec6ad3c62d27b35" - ], - [ - "LowStar.BufferView.split_at_i", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.Native.snd", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Mktuple2__2", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "29be7c39390ee7fa0d4445123ce5b122" - ], - [ - "LowStar.BufferView.sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "proj_equation_LowStar.BufferView.View_n", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_LowStar.BufferView.get_view" - ], - 0, - "7e3a3cf25925f272552ffd74c2fa7ff7" - ], - [ - "LowStar.BufferView.upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "25d9184513bbe4c2fbcef94ad80eae24" - ], - [ - "LowStar.BufferView.sel_upd1", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.BufferView.upd", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_LowStar.BufferView.__proj__View__item__get", - "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Modulus", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxInt_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", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0dca70d6e10ecdb3fcef03a4d9930309", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i" - ], - 0, - "41a6038b3a532e8b4f300e72c2b05aa0" - ], - [ - "LowStar.BufferView.lt_leq_mul", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "int_typing", "primitive_Prims.op_Addition", - "primitive_Prims.op_Multiply", "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_8233d76b57e95451540fc312b717fa79" - ], - 0, - "f2338508d3635fa4fa68fb2120811b30" - ], - [ - "LowStar.BufferView.sel_upd2", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "b2t_def", "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.BufferView.upd", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Division", "primitive_Prims.op_LessThan", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_19269cc1321ab930659842dd89087ebb", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_6a8bad24b42f72c3930cd7835eb2ac4c", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_889f01bf859912af1db7b4ca8ac1e6d3", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_FStar.UInt32.v", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", - "typing_LowStar.Monotonic.Buffer.len" - ], - 0, - "a0ee7ec1dfd6a250e71f4bd29828150d" - ], - [ - "LowStar.BufferView.sel_upd2", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "81b76254c0b127528ed9b19372705b20" - ], - [ - "LowStar.BufferView.sel_upd", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "8c9799ad7e99ae075a560a8378c13364" - ], - [ - "LowStar.BufferView.sel_upd", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", "equation_Prims.eqtype", - "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "ed5c028185ab74285bb2ca355da0a7ec" - ], - [ - "LowStar.BufferView.lemma_upd_with_sel", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632" - ], - 0, - "b2f7e16050809a908538792677fc5473" - ], - [ - "LowStar.BufferView.lemma_upd_with_sel", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.sel", "equation_LowStar.BufferView.upd", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "lemma_FStar.Seq.Base.lemma_eq_refl", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_155f92e3c25ca20d3a5794c7425bd632", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_LowStar.BufferView.get_view" - ], - 0, - "02c6f5aca77f2b65fb45de6766d9cc5f" - ], - [ - "LowStar.BufferView.upd_modifies", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "f0b296cdae987578dcac5c2f0a7058c1" - ], - [ - "LowStar.BufferView.upd_equal_domains", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.upd", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", "int_inversion", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_452dd5171388b32bcb531f5ed5ed479d", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view" - ], - 0, - "5af4d66af60114ba4127d786c80da32f" - ], - [ - "LowStar.BufferView.as_seq'", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ae567c2fb75be05905677af440075565", - "binder_x_709c51d42fb83ce2494a760a7ab175a8_4", - "binder_x_db88276a6748528fdd6e866d40cef350_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_2", - "binder_x_fe28d8bcde588226b4e538b35321de05_1", "bool_inversion", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_len_append", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_de40b7b01597bee6e1241dfaf5adf126", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.length", "well-founded-ordering-on-nat" - ], - 0, - "edf9083f48346b233bbfdb1c1b6e9bbc" - ], - [ - "LowStar.BufferView.as_seq'", - 2, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_a671aac4724a1864e0199413b4ef9ef4" - ], - 0, - "5e79d1951b51fe9b7c0257923ab3c131" - ], - [ - "LowStar.BufferView.as_seq", - 1, - 0, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pervasives.Mkdtuple4", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.length", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.buffer_view", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "primitive_Prims.op_Division", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_LowStar.BufferView.length" - ], - 0, - "8c089506c67d5e1089e2a12b7143a461" - ], - [ - "LowStar.BufferView.as_seq_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Seq.Properties.lseq", - "equation_LowStar.BufferView.length", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "typing_LowStar.BufferView.as_seq" - ], - 0, - "e992c397c96ac39d96ad827d603bf556" - ], - [ - "LowStar.BufferView.as_seq_sel", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", - "@fuel_irrelevance_LowStar.BufferView.as_seq_.fuel_instrumented", - "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_3f464e6d64e344ed4c0f6759a36927ff", - "Prims_interpretation_Tm_ghost_arrow_0283b8a2a36bbec52abac4e3d837674a", - "Prims_pretyping_ae567c2fb75be05905677af440075565", "bool_inversion", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Base.cons", "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.as_seq", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_LowStar.BufferView.as_seq_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.__cache_version_number__", - "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_index_app1", - "lemma_FStar.Seq.Base.lemma_index_app2", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "lemma_LowStar.Monotonic.Buffer.length_null_1", - "primitive_Prims.op_Addition", "primitive_Prims.op_Equality", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_06aa1b6fbc206f92bd33509e825cf7ce", - "refinement_interpretation_Tm_refine_53de2fffa6adf37dbdb63ca6e1d1a732", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ac201cf927190d39c033967b63cb957b", - "refinement_interpretation_Tm_refine_b482e4205debc4fb578095aa76c5597e", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.as_seq_.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.create", - "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.as_seq", - "typing_LowStar.BufferView.as_seq_", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i", - "well-founded-ordering-on-nat" - ], - 0, - "a102bd099fd276eb06ac9a4a77498802" - ], - [ - "LowStar.BufferView.get_sel", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e2e87089d09d3a765e6639034e237550", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i" - ], - 0, - "0fa18e267ea67939a3539ca08abdf9a0" - ], - [ - "LowStar.BufferView.get_sel", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.nat", - "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.length", "typing_LowStar.BufferView.sel", - "typing_LowStar.BufferView.split_at_i", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "c1929c9cc0a8cc29a0cadf3cf2178e0e" - ], - [ - "LowStar.BufferView.put_sel", - 1, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "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", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.split_at_i", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_Prims.logical", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___1", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___2", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___3", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.split_at_i" - ], - 0, - "fb8a82263c18fe49670ec5cf542684b5" - ], - [ - "LowStar.BufferView.put_sel", - 2, - 0, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "LowStar.BufferView_interpretation_Tm_ghost_arrow_23c7f1237b286d1dbfd156da0bd156c4", - "bool_inversion", "data_elim_FStar.Pervasives.Mkdtuple4", - "data_elim_FStar.Pervasives.Native.Mktuple3", - "data_elim_LowStar.BufferView.View", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Seq.Properties.lseq", - "equation_FStar.Seq.Properties.split", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", - "equation_LowStar.BufferView.as_buffer", - "equation_LowStar.BufferView.as_buffer_t", - "equation_LowStar.BufferView.buffer", - "equation_LowStar.BufferView.get_view", - "equation_LowStar.BufferView.inverses", - "equation_LowStar.BufferView.length", - "equation_LowStar.BufferView.sel", - "equation_LowStar.BufferView.split_at_i", - "equation_LowStar.Monotonic.Buffer.length", "equation_Prims.logical", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Pervasives.dtuple4", - "fuel_guarded_inversion_LowStar.BufferView.view", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.logical", "int_inversion", "int_typing", - "interpretation_Tm_abs_2f52ee49857d060e683109f5fabb70fa", - "interpretation_Tm_abs_5883f925e987abdd8f9f3acf72c807b8", - "interpretation_Tm_abs_a8f4e254db91d3480d350b4b0b5a6525", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_append", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt.pow2_values", - "lemma_LowStar.Monotonic.Buffer.length_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_Division", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Modulus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pervasives.Mkdtuple4__1", - "proj_equation_FStar.Pervasives.Mkdtuple4__2", - "proj_equation_FStar.Pervasives.Mkdtuple4__3", - "proj_equation_FStar.Pervasives.Mkdtuple4__4", - "proj_equation_LowStar.BufferView.View_get", - "proj_equation_LowStar.BufferView.View_n", - "proj_equation_LowStar.BufferView.View_put", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__2", - "projection_inverse_FStar.Pervasives.Native.Mktuple3__3", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_a0cd7d06c5da6444b6b51b319febde8e", - "refinement_interpretation_Tm_refine_ab9eafcc4927425d2111559b51b7181f", - "refinement_interpretation_Tm_refine_d1e860561cb285683e38dc83e83caadd", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d88f55d519e24baa891585a690bcfcfc", - "refinement_interpretation_Tm_refine_e868304d22002dcb6abc5eb4206665d3", - "token_correspondence_LowStar.BufferView.__proj__View__item__get", - "token_correspondence_LowStar.BufferView.__proj__View__item__put", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pervasives.__proj__Mkdtuple4__item___4", - "typing_FStar.Seq.Base.append", "typing_FStar.Seq.Base.length", - "typing_LowStar.BufferView.__proj__BufferView__item__v", - "typing_LowStar.BufferView.as_buffer", - "typing_LowStar.BufferView.get_view", - "typing_LowStar.BufferView.sel", - "typing_LowStar.BufferView.split_at_i", - "typing_LowStar.Monotonic.Buffer.as_seq", - "typing_LowStar.Monotonic.Buffer.length" - ], - 0, - "5989246c5428e47278441bebea89a0e7" - ] - ] -] \ No newline at end of file diff --git a/ulib/fstar.include b/ulib/fstar.include index 05c2d2a67a2..1972d88b22e 100644 --- a/ulib/fstar.include +++ b/ulib/fstar.include @@ -1,3 +1,2 @@ legacy experimental -.cache diff --git a/ulib/legacy/FStar.Buffer.fst b/ulib/legacy/FStar.Buffer.fst index 1911536b625..1bf7092d5db 100644 --- a/ulib/legacy/FStar.Buffer.fst +++ b/ulib/legacy/FStar.Buffer.fst @@ -1152,7 +1152,6 @@ let lemma_modifies_one_trans_1 (#a:Type) (b:buffer a) (h0:mem) (h1:mem) (h2:mem) [SMTPat (modifies_one (frameOf b) h0 h1); SMTPat (modifies_one (frameOf b) h1 h2)] = () -#reset-options "--z3rlimit 100 --max_fuel 0 --max_ifuel 0 --initial_fuel 0 --initial_ifuel 0" (** Corresponds to memcpy *) val blit: #t:Type @@ -1170,6 +1169,8 @@ val blit: #t:Type Seq.slice (as_seq h0 b) 0 (v idx_b) /\ Seq.slice (as_seq h1 b) (v idx_b+v len) (length b) == Seq.slice (as_seq h0 b) (v idx_b+v len) (length b) )) + +#push-options "--z3rlimit 150 --max_fuel 0 --max_ifuel 0 --initial_fuel 0 --initial_ifuel 0" #restart-solver let rec blit #t a idx_a b idx_b len = let h0 = HST.get () in @@ -1185,6 +1186,7 @@ let rec blit #t a idx_a b idx_b len = Seq.cons_head_tail (Seq.slice (as_seq h0 b) (v idx_b + v len') (length b)); Seq.cons_head_tail (Seq.slice (as_seq h1 b) (v idx_b + v len') (length b)) end +#pop-options (** Corresponds to memset *) val fill: #t:Type diff --git a/ulib/legacy/FStar.Pointer.Base.fst.hints b/ulib/legacy/FStar.Pointer.Base.fst.hints deleted file mode 100644 index 03afddc2a9f..00000000000 --- a/ulib/legacy/FStar.Pointer.Base.fst.hints +++ /dev/null @@ -1,14359 +0,0 @@ -[ - "Wýè|\u0011ý¹p¦A\u0011ÚÞÉT", - [ - [ - "FStar.Pointer.Base.typ", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pervasives.Native.tuple2__uu___haseq", - "assumption_FStar.Pointer.Base.base_typ__uu___haseq", - "assumption_Prims.list__uu___haseq", - "equation_FStar.Pointer.Base.array_length_t", - "equation_Prims.eqtype", "function_token_typing_Prims.string", - "haseqTm_refine_9e7f68c38e43484e77069094f4fd88d3", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.UInt32.t" - ], - 0, - "a89bb0405a833a126d7cb9aac4ceb36a" - ], - [ - "FStar.Pointer.Base.__proj__TBase__item__b", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ceeec9534506f8e48ea73c2ad07d25c7" - ], - 0, - "a4a0699f4f7adb29d9dbf679b1620681" - ], - [ - "FStar.Pointer.Base.__proj__TStruct__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_8d4b0fe883393e3eac6a07f0ac5a4b2f" - ], - 0, - "6c39c686bad84ee3d05cfc276bc7d333" - ], - [ - "FStar.Pointer.Base.__proj__TUnion__item__l", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5f786badef06e062d5b9e79ef882a955" - ], - 0, - "26373693c1923d11dfca59af43ed7246" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__length", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "76e19f1bd0c6b4d1f2dab0ba4b5343b0" - ], - [ - "FStar.Pointer.Base.__proj__TArray__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e1353961fd147e6e478e4b8ac623b245" - ], - 0, - "89852ff2dc522d37b44936f3aa5c22bb" - ], - [ - "FStar.Pointer.Base.__proj__TPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_a6915920d178273a967ebb7c9bb3e606" - ], - 0, - "cd075efde3e4ac028755e9131ff0b12e" - ], - [ - "FStar.Pointer.Base.__proj__TNPointer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_31a28047608506db806a8e40b64a987a" - ], - 0, - "c562ee736a247dffddca0936073e0951" - ], - [ - "FStar.Pointer.Base.__proj__TBuffer__item__t", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_351ed0bf36be35253b8142000c255418" - ], - 0, - "a443aa9a467e6811e287b450a0608179" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field'", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462" - ], - 0, - "00af266fd93897e9b9a52c57374c3dee" - ], - [ - "FStar.Pointer.Base.typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "7f84b7b35a201c46ede2390b3506ba50" - ], - [ - "FStar.Pointer.Base.typ_of_union_field", - 1, - 2, - 1, - [ "@query", "equation_FStar.Pointer.Base.union_typ" ], - 0, - "fc87bb364ac468de6d31ccaabc3dd6c2" - ], - [ - "FStar.Pointer.Base.typ_depth", - 1, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "ec7a2fe9d1c08f583f2c1a0dfa306494" - ], - [ - "FStar.Pointer.Base.typ_depth", - 2, - 2, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_9faba42ab88b43fa963967c6d9fe0a56_0", - "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, - "e1e43c213d7f5e2bdc6fce78796b6dee" - ], - [ - "FStar.Pointer.Base.typ_depth_typ_of_struct_field", - 1, - 2, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "binder_x_126cca1e1e8f0a1c80ceb096c6921769_1", - "binder_x_900c0c0bdaba6baf3cf61f417292d80e_0", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "disc_equation_Prims.Cons", "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.assoc.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__1", - "projection_inverse_FStar.Pervasives.Native.Mktuple2__2", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats" - ], - 0, - "51907aedcfaa132324796ba450cfbd37" - ], - [ - "FStar.Pointer.Base.step", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "860c272b48df39a63549b5a165046236" - ], - [ - "FStar.Pointer.Base.step", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.struct_typ__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "haseqTm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.Pointer.Base.struct_field", "typing_FStar.UInt32.t" - ], - 0, - "c4f87c95ba7003c7a657a39246cb13aa" - ], - [ - "FStar.Pointer.Base.__proj__StepField__item__l", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" - ], - 0, - "650a6ec9482d5edb248a670bf92f610d" - ], - [ - "FStar.Pointer.Base.__proj__StepField__item__fd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepField", - "refinement_interpretation_Tm_refine_2dbe21b033c495ad2b2877ddd3e5ea79" - ], - 0, - "30413adf50bce7e8fa9fbabd1aefb684" - ], - [ - "FStar.Pointer.Base.__proj__StepUField__item__l", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" - ], - 0, - "7bea98c114e03fb106e5d248f37de89f" - ], - [ - "FStar.Pointer.Base.__proj__StepUField__item__fd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepUField", - "refinement_interpretation_Tm_refine_18db3388ad3501cc905ccdbbe4d4bb12" - ], - 0, - "4fa19a0f29f48fd8249d31b35c2d372e" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "3b24c387953a4b39680ecdf1d5028906" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__value", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "da430231e3ae300f846ea8d5d8d9bf01" - ], - [ - "FStar.Pointer.Base.__proj__StepCell__item__index", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.StepCell", - "refinement_interpretation_Tm_refine_1ab1884987751eda87f4e41402dd7908" - ], - 0, - "0e022219feae7e6e58ecca768bec0ed2" - ], - [ - "FStar.Pointer.Base.path", - 1, - 1, - 1, - [ - "@query", "assumption_FStar.Pointer.Base.step__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq" - ], - 0, - "c8fa00f0fdc2695b0192d63d09052d5b" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__through", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "312f302174cd50b7c1cd5aa71f15aea9" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__to", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "cd390085cdfeaf31fa4b492b8cc49b24" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathStep", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "90d10fc2ae998d449c02ed99bdbb6fcd" - ], - [ - "FStar.Pointer.Base.__proj__PathStep__item__s", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathStep", - "refinement_interpretation_Tm_refine_fbf57e97003df92db58cab134885be65" - ], - 0, - "ba3fc728958e6e5c2ec3f2392d4d7b49" - ], - [ - "FStar.Pointer.Base.step_typ_depth", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct_typ_depth.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_with_fuel_FStar.Pointer.Base.typ_depth.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l" - ], - 0, - "e85f24478330420d06258769f93c52a5" - ], - [ - "FStar.Pointer.Base.path_typ_depth", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "5534fe6080f84220c028321622ae8e95" - ], - [ - "FStar.Pointer.Base.path_typ_depth", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "42c410be49a80086a3251fa62a6c74b9" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__from", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "c692b1ee249c474c8043dfd50ced19f9" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__contents", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "e1eae7eae1ec6a3a7649bbbdb37fa13b" - ], - [ - "FStar.Pointer.Base.__proj__Pointer__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6" - ], - 0, - "b150040e19338e3903b6492f4eb05498" - ], - [ - "FStar.Pointer.Base.g_is_null_intro", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.NullPtr", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nullptr", - "projection_inverse_FStar.Pointer.Base.NullPtr_to" - ], - 0, - "6e411af6852e71b7afb97861db45e3bd" - ], - [ - "FStar.Pointer.Base.not_an_array_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "22211b9fd07f8bbd2c91ef3121f343f5" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootSingleton__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_422fa8e43652f7856994c0adb062c739" - ], - 0, - "bf35d2759429c7fccdf3667755744a54" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootArray__item__max_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" - ], - 0, - "8e193007561cc6dfc0ce020477ea1dcd" - ], - [ - "FStar.Pointer.Base.__proj__BufferRootArray__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_56cada75f3b65fbca41629ee43be6d8c" - ], - 0, - "409990c3a7db5e3b1e49ba326b882e85" - ], - [ - "FStar.Pointer.Base.buffer_root_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "1f62946bec04e98e0f24c5cb17fb18e5" - ], - [ - "FStar.Pointer.Base.type_of_base_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.TBool", - "disc_equation_FStar.Pointer.Base.TChar", - "disc_equation_FStar.Pointer.Base.TInt", - "disc_equation_FStar.Pointer.Base.TInt16", - "disc_equation_FStar.Pointer.Base.TInt32", - "disc_equation_FStar.Pointer.Base.TInt64", - "disc_equation_FStar.Pointer.Base.TInt8", - "disc_equation_FStar.Pointer.Base.TUInt", - "disc_equation_FStar.Pointer.Base.TUInt16", - "disc_equation_FStar.Pointer.Base.TUInt32", - "disc_equation_FStar.Pointer.Base.TUInt64", - "disc_equation_FStar.Pointer.Base.TUInt8", - "disc_equation_FStar.Pointer.Base.TUnit", - "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "c57a4e123a7d18992f062ceb96fc1129" - ], - [ - "FStar.Pointer.Base.array", - 1, - 1, - 1, - [ "@query" ], - 0, - "1e0fc8a84b1e4a92e37278c392af2745" - ], - [ - "FStar.Pointer.Base.type_of_struct_field''", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.assoc.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" - ], - 0, - "72ffc617fdd38d664ffd8c401aa1c7d5" - ], - [ - "FStar.Pointer.Base.type_of_struct_field'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_typ_", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "subterm_ordering_FStar.Pointer.Base.Mkstruct_typ" - ], - 0, - "5d2e82622c4d71b0053185b93147b55d" - ], - [ - "FStar.Pointer.Base.gtdata_get_value", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_key", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "b480176738725e51c03c0040ccd39504" - ], - [ - "FStar.Pointer.Base.gtdata_create", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2" - ], - 0, - "2e9c52ff2415abfe9eba049c1e6599ae" - ], - [ - "FStar.Pointer.Base.gtdata_extensionality", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "fuel_guarded_inversion_Prims.dtuple2", - "proj_equation_Prims.Mkdtuple2__1" - ], - 0, - "2ed6d5f6dd4f95c1745f92328503658e" - ], - [ - "FStar.Pointer.Base.type_of_typ'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "2626f3f742cca105cb9da0d9e333ec82" - ], - [ - "FStar.Pointer.Base.type_of_typ'", - 2, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.union_typ" ], - 0, - "d032b31ded66e628486cc810b1a00bb5" - ], - [ - "FStar.Pointer.Base.type_of_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray" - ], - 0, - "3f09ced943c95c81d3074a6c3fe2f096" - ], - [ - "FStar.Pointer.Base.type_of_typ_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t" - ], - 0, - "0b65236c77dcbf2f351f059b381a9bad" - ], - [ - "FStar.Pointer.Base.type_of_typ_type_of_struct_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "348e4d97e55e90522dd5986c1d783d25" - ], - [ - "FStar.Pointer.Base.type_of_typ'_eq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TBuffer", - "subterm_ordering_FStar.Pointer.Base.TNPointer", - "subterm_ordering_FStar.Pointer.Base.TPointer" - ], - 0, - "6ce874f4a10af19407d0aa962fe24c40" - ], - [ - "FStar.Pointer.Base.struct_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "a33d8e57eb8611510061a7801d1291bd" - ], - [ - "FStar.Pointer.Base.struct_literal_wf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_Prims.list__uu___haseq", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "8fbaa4a55d574600e76c18b9129b8070" - ], - [ - "FStar.Pointer.Base.fun_of_list", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "@query", - "FStar.List.Tot.Base_interpretation_Tm_arrow_9877f854fbaabbcfda94f6c19b32ae3f", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_28e00c6cddbebec863cfb4ba46afe386", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.String_interpretation_Tm_arrow_77650534d172f9f4bbf4f147268736a3", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_3862c4e8ff39bfc3871b6a47e7ff5b2e", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "constructor_distinct_Prims.list", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.dfst_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_literal", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_Prims.eqtype", "equation_Prims.nat", - "equation_with_fuel_FStar.List.Tot.Base.count.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.sortWith.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.dfst_struct_field", - "function_token_typing_FStar.String.compare", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b0baa351b8dc6384c3594e50be109582", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.count.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.dfst_struct_field", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.List.Tot.Base.sortWith", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Tm_abs_2373aec163852d9339944ec67b8394ad", "unit_typing" - ], - 0, - "d2c0511b19344853705edd916bf8fe65" - ], - [ - "FStar.Pointer.Base.struct_upd", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "5b11d137003361d9c757a1006a44e33e" - ], - [ - "FStar.Pointer.Base.struct_create_fun", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "f2f0f18446e2b53fe3b2e4d876996ba4" - ], - [ - "FStar.Pointer.Base.struct_create", - 1, - 1, - 1, - [ "@query" ], - 0, - "50c937404d5e0d1dd862ef1a27b6534e" - ], - [ - "FStar.Pointer.Base.struct_sel_struct_create_fun", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", - "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", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_Prims.Cons", "disc_equation_Prims.Cons", - "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", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_51105ee2e615de5655b7293d0759168b", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_Tm_abs_51105ee2e615de5655b7293d0759168b" - ], - 0, - "ed2870f993d7231be3de49b1cb7dbb80" - ], - [ - "FStar.Pointer.Base.union_get_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_51105ee2e615de5655b7293d0759168b", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.typ_of_struct_field_" - ], - 0, - "567e5db40a448534f7d5fa8b9e36ed02" - ], - [ - "FStar.Pointer.Base.union_create", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.type_of_typ__eq", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8" - ], - 0, - "dbcb4364ffda9433db5734d38799889b" - ], - [ - "FStar.Pointer.Base.dummy_val", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TBool", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TChar", - "constructor_distinct_FStar.Pointer.Base.TInt", - "constructor_distinct_FStar.Pointer.Base.TInt16", - "constructor_distinct_FStar.Pointer.Base.TInt32", - "constructor_distinct_FStar.Pointer.Base.TInt64", - "constructor_distinct_FStar.Pointer.Base.TInt8", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "constructor_distinct_FStar.Pointer.Base.TUInt", - "constructor_distinct_FStar.Pointer.Base.TUInt16", - "constructor_distinct_FStar.Pointer.Base.TUInt32", - "constructor_distinct_FStar.Pointer.Base.TUInt64", - "constructor_distinct_FStar.Pointer.Base.TUInt8", - "constructor_distinct_FStar.Pointer.Base.TUnit", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_elim_FStar.Pointer.Base.TPointer", - "data_typing_intro_FStar.Pointer.Base.NullPtr@tok", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.Pointer@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBool", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TChar", - "disc_equation_FStar.Pointer.Base.TInt", - "disc_equation_FStar.Pointer.Base.TInt16", - "disc_equation_FStar.Pointer.Base.TInt32", - "disc_equation_FStar.Pointer.Base.TInt64", - "disc_equation_FStar.Pointer.Base.TInt8", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUInt", - "disc_equation_FStar.Pointer.Base.TUInt16", - "disc_equation_FStar.Pointer.Base.TUInt32", - "disc_equation_FStar.Pointer.Base.TUInt64", - "disc_equation_FStar.Pointer.Base.TUInt8", - "disc_equation_FStar.Pointer.Base.TUnion", - "disc_equation_FStar.Pointer.Base.TUnit", "disc_equation_Prims.Cons", - "equality_tok_FStar.Pointer.Base.TBool@tok", - "equality_tok_FStar.Pointer.Base.TChar@tok", - "equality_tok_FStar.Pointer.Base.TInt16@tok", - "equality_tok_FStar.Pointer.Base.TInt32@tok", - "equality_tok_FStar.Pointer.Base.TInt64@tok", - "equality_tok_FStar.Pointer.Base.TInt8@tok", - "equality_tok_FStar.Pointer.Base.TInt@tok", - "equality_tok_FStar.Pointer.Base.TUInt16@tok", - "equality_tok_FStar.Pointer.Base.TUInt32@tok", - "equality_tok_FStar.Pointer.Base.TUInt64@tok", - "equality_tok_FStar.Pointer.Base.TUInt8@tok", - "equality_tok_FStar.Pointer.Base.TUInt@tok", - "equality_tok_FStar.Pointer.Base.TUnit@tok", - "equation_FStar.Int.fits", "equation_FStar.Int.max_int", - "equation_FStar.Int.min_int", "equation_FStar.Int.size", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.base_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", "int_typing", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Minus", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a64ce837bc75d5399d5767b07092e72e", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Char.__char_of_int", "typing_FStar.List.Tot.Base.map", - "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Monotonic.HyperStack.dummy_aref", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Pointer.Base.uu___is_TBase", - "typing_FStar.Pointer.Base.uu___is_TUInt", "typing_FStar.UInt.fits", - "typing_Prims.pow2", "unit_typing" - ], - 0, - "7e5bc155dc89721f3fabcd32579860d8" - ], - [ - "FStar.Pointer.Base.otype_of_typ", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion" - ], - 0, - "5727ed9525750248a0260394c1160599" - ], - [ - "FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "574df13cb2c41282ccacbaa2b9970bce" - ], - [ - "FStar.Pointer.Base.otype_of_typ_base", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TBase", - "data_typing_intro_FStar.Pointer.Base.TBase@tok", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TBase_b" - ], - 0, - "72d2f89cbf5ddc6d15f07440b148f9ca" - ], - [ - "FStar.Pointer.Base.otype_of_typ_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t" - ], - 0, - "7045e49463ab893555608d72393ca2c7" - ], - [ - "FStar.Pointer.Base.ostruct_upd", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "fc8659be85c4cf95f0d9f3bc0df895fb" - ], - [ - "FStar.Pointer.Base.ostruct_create", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v" - ], - 0, - "1984b85aeb45a9bb78df97d05ba06e09" - ], - [ - "FStar.Pointer.Base.ounion_get_value", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.struct_field", - "proj_equation_FStar.Pervasives.Native.Some_v" - ], - 0, - "db75e90b45002223bbbe15a3325c3353" - ], - [ - "FStar.Pointer.Base.struct_field_is_readable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_" - ], - 0, - "14cf88092421d97871a8f712d42eebad" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "subterm_ordering_FStar.Pointer.Base.TArray", - "subterm_ordering_FStar.Pointer.Base.TStruct", - "subterm_ordering_FStar.Pointer.Base.TUnion", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "6416613933e819454416fbd8ac376962" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_intro'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_2b6196d53ffacd624cfbed706c26d1dc", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e8c71a6f259f30c4b3e4051b956c", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.struct_field_is_readable", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "token_correspondence_FStar.Pervasives.Native.fst", - "tot_fun_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "typing_FStar.List.Tot.Base.for_all", - "typing_FStar.List.Tot.Base.map", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable" - ], - 0, - "3cc7d791a4e35e956e5dc3665031dc99" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_intro", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.List.Tot.Properties.mem_memP", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "cdbfc6c453abf94d2bb2fddf32d10910" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_struct_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.memP.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.for_all.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.memP.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_7e92cc1c04700553193b6f7c7895fa62", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_field_is_readable", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.for_all.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_a95ce6085183f3c79c9cc46b789489e0", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.List.Tot.Properties.mem_memP", - "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.struct_field_is_readable", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.struct_field_is_readable" - ], - 0, - "582dc0be0021368a228ca2c0ca29dd03" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_array_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Seq.Properties.for_all", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" - ], - 0, - "9b5005d8a38fda5902e69f4b9a533969" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_array_intro", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Seq.Properties.for_all", - "equation_FStar.Seq.Properties.seq_find", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pervasives.Native.uu___is_Some", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Seq.Base.index", - "typing_FStar.Seq.Properties.seq_find", "typing_FStar.UInt32.v", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "0c63285d60c1ecb247fe391d333dbcb4" - ], - [ - "FStar.Pointer.Base.ostruct_field_of_struct_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.struct_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "7dcc5a564791ea6c941e105d5b6e589e" - ], - [ - "FStar.Pointer.Base.seq_init_index", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.nat", - "int_inversion", "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_init_len", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2" - ], - 0, - "e26eafb765eb2e06b8e642b69d6c3463" - ], - [ - "FStar.Pointer.Base.ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "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.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base._union_get_key", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length" - ], - 0, - "b8a98fe543f77cd95086dd6202f4275f" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_ostruct_field_of_struct_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "equation_FStar.Pointer.Base.ostruct_field_of_struct_field", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.ovalue_of_value", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.struct_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "c617bd5706dbd9cf7f06fba7b5633828" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.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", - "FStar.Pointer.Base_interpretation_Tm_arrow_488e6478d9a2851a48ceef25ab226f9c", - "FStar.Pointer.Base_interpretation_Tm_arrow_4922c0d39a14074f92b751ffa781c0f9", - "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_b84a9cfad13319928b2ca9ddcae894f8", - "FStar.Pointer.Base_interpretation_Tm_arrow_d80a4731200c46869c60012a694e5ece", - "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_daa2134f2832cd40b961ec5232d07ee3_1", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata_get_key", - "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.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_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_sel", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_FStar.Seq.Properties.for_all", - "equation_FStar.Seq.Properties.seq_find", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "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", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.list", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.ostruct_field_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_FStar.Pointer.Base.ovalue_of_value", - "function_token_typing_FStar.Pointer.Base.type_of_struct_field_", - "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_e818836335067047224d0c19c4cabb2d", - "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "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_struct", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.init_index_", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "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", - "refinement_interpretation_Tm_refine_2527f4cbcbf4f88512fcbb65718a9b76", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5e8ab89510578a938a38bd5dfb813b93", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a5b419dde0606bbe5389a1b0a41725a2", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_bd52d171a74d80903c7842fefd75f8a1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "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", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pervasives.Native.fst", - "token_correspondence_FStar.Pointer.Base.ostruct_field_of_struct_field", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.ovalue_of_value", - "token_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "token_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base._union_get_key", - "typing_FStar.Pointer.Base.gtdata_create", - "typing_FStar.Pointer.Base.ostruct_field_of_struct_field", - "typing_FStar.Pointer.Base.ostruct_sel", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.ovalue_of_value", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.uu___is_TStruct", - "typing_FStar.Seq.Base.index", "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.seq_find", "typing_FStar.UInt32.v", - "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "typing_Tm_abs_e818836335067047224d0c19c4cabb2d" - ], - 0, - "3536f5b6ab557073370234e405f3ff33" - ], - [ - "FStar.Pointer.Base.value_of_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_714c243ce1cda15b90190082618ab455", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.TUnion", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "kinding_Prims.dtuple2@tok", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_base", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "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.Pointer.Base.otype_of_typ.fuel_instrumented", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.buffer", - "typing_FStar.Pointer.Base.npointer", - "typing_FStar.Pointer.Base.pointer", - "typing_FStar.Pointer.Base.struct_create_fun", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.type_of_base_typ", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Pointer.Base.uu___is_TStruct", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "72369a083d7f4fb6c35b30b7b643200a" - ], - [ - "FStar.Pointer.Base.ovalue_of_value_array_index", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_790b9eca5f7946b6b483f2755867c0f6", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_06fa7cc7c07a065ab8c0a8e3140994af" - ], - 0, - "5ea8878dbf69df0143385153140b81a5" - ], - [ - "FStar.Pointer.Base.value_of_ovalue_array_index", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_typing_intro_FStar.Pervasives.Native.Some@tok", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "int_inversion", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Pointer.Base.value_of_ovalue", - "typing_FStar.Seq.Base.length", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50" - ], - 0, - "60784da20bb036c78c78daff8af650a6" - ], - [ - "FStar.Pointer.Base.value_of_ovalue_of_value", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@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.union.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.struct.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.union.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "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", - "FStar.Pointer.Base_interpretation_Tm_arrow_4922c0d39a14074f92b751ffa781c0f9", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", - "FStar.Pointer.Base_interpretation_Tm_arrow_ff2c816033059072d4e58d0e2307b681", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "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", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._union_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "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.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_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_sel", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_get_value", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.nat", - "equation_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.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.Pointer.Base.struct_typ", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "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_", - "int_inversion", - "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "interpretation_Tm_abs_2bc9591a7ae56c98cef4b0180a729165", - "interpretation_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pointer.Base.otype_of_typ_otype_of_struct_field", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Pointer.Base.type_of_typ_struct", - "lemma_FStar.Pointer.Base.type_of_typ_union", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_2527f4cbcbf4f88512fcbb65718a9b76", - "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", - "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.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_", - "tot_fun_Tm_abs_f9f87dbe487b01446642c952246e3fc1", - "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.typ_of_struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.Pointer.Base.value_of_ovalue", - "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1" - ], - 0, - "b0cd6786458a19aa15bfeed4c21e4faa" - ], - [ - "FStar.Pointer.Base.none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "constructor_distinct_FStar.Pointer.Base.TBase", - "constructor_distinct_FStar.Pointer.Base.TBuffer", - "constructor_distinct_FStar.Pointer.Base.TNPointer", - "constructor_distinct_FStar.Pointer.Base.TPointer", - "data_typing_intro_FStar.Pervasives.Native.None@tok", - "disc_equation_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.TBase", - "disc_equation_FStar.Pointer.Base.TBuffer", - "disc_equation_FStar.Pointer.Base.TNPointer", - "disc_equation_FStar.Pointer.Base.TPointer", - "disc_equation_FStar.Pointer.Base.TStruct", - "disc_equation_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TBase_b", - "projection_inverse_FStar.Pointer.Base.TBuffer_t", - "projection_inverse_FStar.Pointer.Base.TNPointer_t", - "projection_inverse_FStar.Pointer.Base.TPointer_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "typing_FStar.DependentMap.t", "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.buffer", - "typing_FStar.Pointer.Base.npointer", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.pointer", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.type_of_base_typ", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "ca444e0342dfc952d9a1c84350d51472" - ], - [ - "FStar.Pointer.Base.not_ovalue_is_readable_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.ovalue_is_readable" - ], - 0, - "15a937fa7cf8f4a3a2ec7c02035f19b7" - ], - [ - "FStar.Pointer.Base.step_sel", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_typ", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.uu___is_StepField", - "typing_FStar.UInt32.v", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "5ce619f3446c982b710744e3c417cbc1" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.Set_interpretation_Tm_arrow_84543425b818e2d10a976186b8e8c250", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pervasives.Native.Some", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Seq.Properties.for_all", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented_token", - "int_inversion", "lemma_FStar.Pointer.Base.otype_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_307fd373d8b3749096cf164b41cf1984", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Seq.Base.length", - "typing_FStar.Seq.Properties.for_all", "typing_FStar.UInt32.v" - ], - 0, - "88f238a2da4b9f72b8665520600bc978" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_field", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.ovalue_is_readable_struct_elim", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TStruct_l" - ], - 0, - "267637ac95080321124dfe5700af775c" - ], - [ - "FStar.Pointer.Base.ovalue_is_readable_step_sel_union_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "data_elim_Prims.Cons", - "data_typing_intro_FStar.Pointer.Base.StepUField@tok", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.step_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "77d057f1c71a4ec49e4b02eac827dd6c" - ], - [ - "FStar.Pointer.Base.step_sel_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.step_sel", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l" - ], - 0, - "1508a9798ecd78669ecd6672b5f98f74" - ], - [ - "FStar.Pointer.Base.path_sel", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "df3faca82b67d4ecd71bee4575d57338" - ], - [ - "FStar.Pointer.Base.path_sel_none_ovalue", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.step_sel", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.none_ovalue" - ], - 0, - "63014005c4d2dbcfe79719b514f545c4" - ], - [ - "FStar.Pointer.Base.step_upd", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_a54ccb37fa50163db51a6d983062cade", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Seq.Base.lemma_init_len", - "lemma_FStar.Seq.Base.lemma_len_upd", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_1dff1edeebf3475c72da4da95fdfe2d7", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_2ca062977a42c36634b89c1c4f193f79", - "refinement_interpretation_Tm_refine_65dcf6dc23a3b63be750aeabd27678f4", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_be42cbabfbefe51746a09e590ec29119", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.ostruct_create", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.typ_of_struct_field_", - "typing_FStar.UInt32.v" - ], - 0, - "b7de0afac6ba879efba6aa558caa775e" - ], - [ - "FStar.Pointer.Base.step_sel_upd_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@query", - "FStar.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", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "data_elim_FStar.Pointer.Base.TStruct", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_value", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.ostruct_sel", - "equation_FStar.Pointer.Base.ostruct_upd", - "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.step_sel", - "equation_FStar.Pointer.Base.step_upd", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "int_inversion", - "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.DependentMap.sel_upd_same", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_upd1", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "string_typing", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Seq.Base.init", "typing_FStar.UInt32.v", - "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8" - ], - 0, - "52cdc4794382de68237b75827aea3096" - ], - [ - "FStar.Pointer.Base.path_upd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "22d8d10e6a22353708f6bc14d1323e46" - ], - [ - "FStar.Pointer.Base.path_sel_upd_same", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_2", - "binder_x_7e43bafa8b7a13ff9357a27d8b711814_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.path_upd" - ], - 0, - "18c90614f9744bb5316797d7b7d98156" - ], - [ - "FStar.Pointer.Base.path_concat", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "3c0f5c8e6b484d372eb9fd52b5416ba4" - ], - [ - "FStar.Pointer.Base.path_concat_base_r", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.PathBase_from" - ], - 0, - "bae4784488515baa9b07a269264a004c" - ], - [ - "FStar.Pointer.Base.path_concat_base_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "e41e6344ac4355c8dd70cc95a4ec5674" - ], - [ - "FStar.Pointer.Base.path_concat_assoc", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_204eb02adadc5901687bfc1939c2389a_6", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "typing_FStar.Pointer.Base.path_concat" - ], - 0, - "0c60f0fbde742ca6a6e0f85dbb11d221" - ], - [ - "FStar.Pointer.Base.path_sel_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "typing_FStar.Pointer.Base.path_sel" - ], - 0, - "d065409ca7d5baa0caeaae2f1bed1a03" - ], - [ - "FStar.Pointer.Base.path_upd_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_50ee5a23f17759eafa03d1be4a28778c_3", - "binder_x_5beba193057cd8d8483bf03292ee87be_6", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_sel_concat", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "typing_FStar.Pointer.Base.path_sel" - ], - 0, - "8bd5955920fe354c572e8cdfd1901c0c" - ], - [ - "FStar.Pointer.Base.path_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.path__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "5b19bff5c0a94d6de8bd6708ad688c62" - ], - [ - "FStar.Pointer.Base.path_includes_base", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "6aabcacdbbea5741d1206f90a02ccd88" - ], - [ - "FStar.Pointer.Base.path_includes_refl", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0" - ], - 0, - "1ec3bd08ad19d389c3e006587ed4c718" - ], - [ - "FStar.Pointer.Base.path_includes_step_r", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to" - ], - 0, - "341dd3f9742ae84e1f85787ed131a473" - ], - [ - "FStar.Pointer.Base.path_includes_trans", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "binder_x_0d5ecd039c65d95077f45e317c0079e9_4", - "binder_x_515b6cc5dab22ef3b4646bf3c5fbc75e_6", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_3", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_5", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_Prims.l_False", "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_includes_base", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_6dc6390730040f67a21fe10c9d9d78e6", - "refinement_interpretation_Tm_refine_8ef196a44e8c1ef9d6ff692d3a3d9458", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Pointer.Base.path_includes" - ], - 0, - "b16e04e8cadafc8b8023cf6fe619b7b5" - ], - [ - "FStar.Pointer.Base.path_includes_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "binder_x_2f08af3dcd557cc55ee8503a3b614889_8", - "binder_x_b85f5386c8ec8b88fc0b7ceff79f784a_7", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_6", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_Prims.l_False", "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "false_interp", "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_4e1d800d2c4913431885413c72cd5aac", - "refinement_interpretation_Tm_refine_7ff07ff8c64e9fab3c0c26ef4caea393", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "ae2b45a19cf2984a4b727c2049445d19" - ], - [ - "FStar.Pointer.Base.path_includes_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" - ], - 0, - "12b4daa674ecd5e8322214e92448a992" - ], - [ - "FStar.Pointer.Base.path_length", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pointer.Base.PathStep" - ], - 0, - "cce301bf1579d757dea2f8eea26201d9" - ], - [ - "FStar.Pointer.Base.path_includes_length", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_BarBar", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_2778e38235d85783ab53f0fc09c57540", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "e95678e3583fa75a7c8f1bb9ae56262f" - ], - [ - "FStar.Pointer.Base.path_includes_step_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_f858bfffcdc33b4edac687bbc0ab10f8" - ], - 0, - "b64e14ed1dc250557ad7b8e73f279268" - ], - [ - "FStar.Pointer.Base.path_includes_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_BarBar", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented" - ], - 0, - "52c1331a7b5488763a0fa4c5ca590917" - ], - [ - "FStar.Pointer.Base.path_includes_exists_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_2294e26464ce127dc19115c7d2830fb1", - "refinement_interpretation_Tm_refine_60ddcdffd5ba8adfd24b319ec76cd182", - "refinement_interpretation_Tm_refine_b9f77fe2b0319c7073314bc8ff8b7aa2", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a" - ], - 0, - "129daf8440172a2996024649b8a80c95" - ], - [ - "FStar.Pointer.Base.path_concat_includes", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_concat" - ], - 0, - "53d2b51634b85dbc6b3397e1e097f700" - ], - [ - "FStar.Pointer.Base.path_concat_includes", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_concat" - ], - 0, - "d49073259fe1649cbfe4afeb44dca937" - ], - [ - "FStar.Pointer.Base.step_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_Prims.int", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29" - ], - 0, - "21c68b817dbb198914088730d5b8af81" - ], - [ - "FStar.Pointer.Base.step_eq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.UInt32.t" - ], - 0, - "495213fab4491f3567e7411552167761" - ], - [ - "FStar.Pointer.Base.step_disjoint_not_eq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "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.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TUnion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.step_eq", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_Negation", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.step_eq" - ], - 0, - "72e8f4a0225105e2436e52b0e7d2e91c" - ], - [ - "FStar.Pointer.Base.step_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TUnion", "data_elim_Prims.Cons", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.noRepeats.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "8ca4f378d208c37730149b863fbb680f" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__through", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "b2101c133d85935fc6245a938d439b0f" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__to1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "8d32d0f5b1088ebdea56171018d6d9c4" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__to2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "199d40547c568acc7f57c9ec373bc2d5" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "26bb11e9188d89549a88f39f44030b7f" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__s1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "dbf130bca9f4563663b33221487c8744" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointStep__item__s2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "refinement_interpretation_Tm_refine_e2bd2f820ea5fbaed59a6a315ed9cc96" - ], - 0, - "c8086a1cd4f3f4fd71e52e52c6384bc6" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "016591f7503d9b355e9d39d55b3fda1e" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "6eebd6f885bae082887fa84a22f9009f" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "43f45feb0a582d26de0ac10d8e6ee8b0" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "48c48cd324233a51039e0339c10a609e" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "7a5ac37c36acdcdc65f0c5e954a7697e" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__to2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "9c081dd6eb534ded711a39f7b7fef199" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p1'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "2fd038ed13f567b4568c0ba02e07fe2e" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item__p2'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "0e112117959a47d1dd05f4819104ab36" - ], - [ - "FStar.Pointer.Base.__proj__PathDisjointIncludes__item___8", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "refinement_interpretation_Tm_refine_5147b1db68e5e61b5c28506bfe607655" - ], - 0, - "514b16a6ab3e829d19645eff60f87169" - ], - [ - "FStar.Pointer.Base.path_disjoint_t_rect", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "binder_x_31bb00d38761e7ccde7ceb9be4978dcc_9", - "data_elim_FStar.Pointer.Base.PathDisjointIncludes", - "data_elim_FStar.Pointer.Base.PathDisjointStep", - "disc_equation_FStar.Pointer.Base.PathDisjointIncludes", - "disc_equation_FStar.Pointer.Base.PathDisjointStep", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_t", - "projection_inverse_BoxBool_proj_0", - "subterm_ordering_FStar.Pointer.Base.PathDisjointIncludes" - ], - 0, - "5c819cb96366da332e7a91fbf41c2bb1" - ], - [ - "FStar.Pointer.Base.path_disjoint_ind", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "unit_inversion" - ], - 0, - "03990745bfaf6f80ea4e93781715220f" - ], - [ - "FStar.Pointer.Base.path_disjoint_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb" - ], - 0, - "dd953f1835b9d9dd7b8de0227862e51e" - ], - [ - "FStar.Pointer.Base.path_disjoint_step", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.path_disjoint", - "equation_Prims.squash" - ], - 0, - "a06ea541ce4f3256bd1d329cb24a7982" - ], - [ - "FStar.Pointer.Base.path_disjoint_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.path_disjoint", "equation_Prims.squash", - "refinement_interpretation_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "unit_inversion" - ], - 0, - "3bbfa99b97edd740eb4405d622e5272d" - ], - [ - "FStar.Pointer.Base.path_disjoint_includes_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.path_includes_refl" - ], - 0, - "fa9c054540b248e7c08a50f55cd7d66b" - ], - [ - "FStar.Pointer.Base.path_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepField", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_a9e26cbb885a87a3108ab70a0a0e0be5", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "string_inversion", "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "c4e145b25b38591e1191d7758c2d9bc0" - ], - [ - "FStar.Pointer.Base.path_equal", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.step_eq", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_AmpAmp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_64931eeed1bbcf763c4eea2d0c933f26", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "typing_FStar.Pointer.Base.path_equal", - "typing_FStar.Pointer.Base.step_eq" - ], - 0, - "a0b048f6ced4a36a73b5a73bd2bb0614" - ], - [ - "FStar.Pointer.Base.path_length_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_83e1c84bf1d2bdd28607d065760d2282_4", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "66a584facfd9cfdbc832a1be4b28fefb" - ], - [ - "FStar.Pointer.Base.path_concat_inj_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_198ccbfb8c62cfbcee6e3d63acd41eeb_8", - "binder_x_3f0f019f33fdd3df121c66cf611c3526_4", - "binder_x_b85f5386c8ec8b88fc0b7ceff79f784a_7", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_5", - "binder_x_c187978e0b47d492be4f7ef67953e027_6", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.PathBase", - "data_elim_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_equal.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "lemma_FStar.Pointer.Base.path_concat_base_l", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_concat", - "typing_FStar.Pointer.Base.path_equal", - "typing_FStar.Pointer.Base.path_length" - ], - 0, - "84b00824a7fd9440c5fce520166eb707" - ], - [ - "FStar.Pointer.Base.path_concat_inj_l", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "a149ab62d5490cbabd1ffcd21a5feaaf" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp_t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "assumption_FStar.Pointer.Base.path__uu___haseq", - "assumption_FStar.Pointer.Base.step__uu___haseq", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "equation_Prims.eqtype", "function_token_typing_Prims.unit", - "haseqTm_refine_6a13e3414a2014eb8720dd6788230581", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581" - ], - 0, - "7ee43224c8d61fb0a4537d1977e2a76b" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581" - ], - 0, - "ead448d1b16d107d06b7b3c6f94c6a9c" - ], - [ - "FStar.Pointer.Base.path_disjoint_decomp", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_68524d6f37c308befc08173d6bb78275", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "9651cf5e04d4c0b74e4068ebcabecd64" - ], - [ - "FStar.Pointer.Base.path_disjoint_not_path_equal", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.PathDisjointDecomp", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_equal.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.path_disjoint_decomp_t", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_disEquality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p1_", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_p2_", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_s1", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_s2", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_through", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v1", - "projection_inverse_FStar.Pointer.Base.PathDisjointDecomp_d_v2", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_6a13e3414a2014eb8720dd6788230581", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "08d706731cc43f189147b3899e1c36b5" - ], - [ - "FStar.Pointer.Base.path_destruct_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_2", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pointer.Base.PathStep", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "primitive_Prims.op_Addition", "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5b666a2eab9854f4862b747ca3df0e57", - "refinement_interpretation_Tm_refine_cc25ff37b88364dacaea8b60814ec8fc", - "refinement_interpretation_Tm_refine_dbd32fc1f8071b12a138403222ec975e", - "subterm_ordering_FStar.Pointer.Base.PathStep", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_destruct_l" - ], - 0, - "5d5bf8f544c417600a31ce26a402b57f" - ], - [ - "FStar.Pointer.Base.path_equal'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_destruct_l.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "binder_x_0d5ecd039c65d95077f45e317c0079e9_3", - "binder_x_c187978e0b47d492be4f7ef67953e027_0", - "binder_x_c187978e0b47d492be4f7ef67953e027_1", - "binder_x_c187978e0b47d492be4f7ef67953e027_2", - "binder_x_d8c87ff041e51a1dd1e128b2f010108c_4", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.PathBase", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathBase", - "equation_FStar.Pointer.Base.step_eq", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_destruct_l.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_length.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_Prims.dtuple2", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "lemma_FStar.Pervasives.invertOption", "primitive_Prims.op_AmpAmp", - "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_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "projection_inverse_Prims.Mkdtuple2_b", - "refinement_interpretation_Tm_refine_02fc160983cb6b95bc8024dda2fb489b", - "refinement_interpretation_Tm_refine_2b3edafa058d04c5c7e8a35d7a04bacd", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_942eb390dc27abd74312617cdca63061", - "refinement_interpretation_Tm_refine_c065a07c7e82cfd5d3c150edd43fe009", - "token_correspondence_FStar.Pointer.Base.path_length.fuel_instrumented", - "typing_FStar.Pointer.Base.path_destruct_l", - "typing_FStar.Pointer.Base.path_equal_", - "typing_FStar.Pointer.Base.path_length", - "typing_FStar.Pointer.Base.step_eq", - "typing_FStar.Pointer.Base.uu___is_PathBase", - "typing_Tm_abs_43e86c10475a85d4cc75f6a9b60d3d85", - "well-founded-ordering-on-nat" - ], - 0, - "d481dff1576d5af2fec95031dab50df4" - ], - [ - "FStar.Pointer.Base.path_includes_concat_l", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_concat_base_l", - "lemma_FStar.Pointer.Base.path_includes_concat", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_422c1bb9c4648e056a5d7170c942c5e1", - "refinement_interpretation_Tm_refine_745c45a6c660b2794a1601e82614b9cd", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "typing_FStar.Pointer.Base.path_concat" - ], - 0, - "76abe3e93fd42d084800ed77c9a92cd0" - ], - [ - "FStar.Pointer.Base.path_disjoint_concat", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_concat.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_c9202a9834ab181aaf32a45a956916fb", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d" - ], - 0, - "cb917c0b7f55908c5482bbe6456e416d" - ], - [ - "FStar.Pointer.Base.step_sel_upd_other", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.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.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", - "FStar.Pointer.Base_interpretation_Tm_arrow_5d491a1b4d1a78b391a7c9212b49de34", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Cons", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.ostruct_create", - "equation_FStar.Pointer.Base.ostruct_sel", - "equation_FStar.Pointer.Base.ostruct_upd", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.step_upd", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.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", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.otype_of_typ", - "function_token_typing_Prims.string", "int_inversion", - "interpretation_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "interpretation_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.DependentMap.sel_create", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Seq.Base.init_index_", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Negation", "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "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.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4482b8ea10b7c3e0f684ae7e9c82dd06", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "string_inversion", "string_typing", - "token_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "token_correspondence_FStar.Pointer.Base.type_of_struct_field_", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.List.Tot.Base.noRepeats", - "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.Pointer.Base.uu___is_StepCell", - "typing_FStar.UInt32.v", - "typing_Tm_abs_2db8b65edc142b3bb4b255ced46f0f32", - "typing_Tm_abs_75a59a4eb51a5d27cae7d8aba21bacf8", "unit_inversion", - "unit_typing" - ], - 0, - "cf938173057d064705f4a0214a72b109" - ], - [ - "FStar.Pointer.Base.path_sel_upd_other", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_typing_intro_FStar.Pointer.Base.PathStep@tok", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_upd.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "lemma_FStar.Pointer.Base.path_sel_concat", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_60ddcdffd5ba8adfd24b319ec76cd182", - "refinement_interpretation_Tm_refine_94ef2680d91d6577ede5074a8fbe39bf", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.path_upd" - ], - 0, - "b58bac3bff0da64b329cedf95225345e" - ], - [ - "FStar.Pointer.Base.path_sel_upd_other'", - 1, - 1, - 1, - [ "@query" ], - 0, - "58a308a8a3d8fa6a65ac375a07153344" - ], - [ - "FStar.Pointer.Base.equal", - 1, - 1, - 1, - [ "@query" ], - 0, - "7f556a05e2ccb69e8ca0936b2924bfcd" - ], - [ - "FStar.Pointer.Base.equal", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_equal.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "assumption_FStar.Pointer.Base.typ__uu___haseq", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "89a28b6e51fc4b3a3addeab5e2b52cad" - ], - [ - "FStar.Pointer.Base.as_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "1f3234cedd89d1042088f4eefa51d239" - ], - [ - "FStar.Pointer.Base._field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "15309cf2a7f1f2b4329abc8208856db0" - ], - [ - "FStar.Pointer.Base._cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "bc8963c0f9165c13dd6fa5478735c7ab" - ], - [ - "FStar.Pointer.Base._ufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "ab0fecd632927cd8e4cc86fd36a107a6" - ], - [ - "FStar.Pointer.Base.unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "5966edffe07321538e9cce15e5257a7d" - ], - [ - "FStar.Pointer.Base.live", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "f0ae2f25bffe5d5d073ff163ddea721a" - ], - [ - "FStar.Pointer.Base.nlive", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.g_is_null" ], - 0, - "dcb0828fba2eb40f8bb7f5d819df3015" - ], - [ - "FStar.Pointer.Base.live_nlive", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", - "equation_FStar.Pointer.Base.pointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "002260cb53bbdb16a16af2dc8ff15a5b" - ], - [ - "FStar.Pointer.Base.g_is_null_nlive", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", "true_interp", - "typing_FStar.Pointer.Base.g_is_null" - ], - 0, - "f8fe1ee6847cf064adf636c85b9870d3" - ], - [ - "FStar.Pointer.Base.greference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_of_greference_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4e2ab07ce8055f254b1a667fb0e845a8", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "4ede69264f8bffdbaae264e6ae063c3c" - ], - [ - "FStar.Pointer.Base.unused_in_greference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.greference_of" - ], - 0, - "f9d97e14db32780fb1d1a8d73c7aba17" - ], - [ - "FStar.Pointer.Base.live_not_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "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.Monotonic.HyperStack.get_tip" - ], - 0, - "f924ab37d53ea63ed5b0bb50ac03d134" - ], - [ - "FStar.Pointer.Base.gread", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_74d04f3d69c944bb6c1ca407ab636711" - ], - 0, - "ba727db465c48f16aeef7720c9849237" - ], - [ - "FStar.Pointer.Base.frameOf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "c267739e71c98e39a8e214ff422ed344" - ], - [ - "FStar.Pointer.Base.live_region_frameOf", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "f6c033dd7b52b535fc609ed29fba9e78" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "26c6cf532f7dd673e006452b4be873cd" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "d33a2ff01777ad0312e1425ce576f4b0" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", - 1, - 1, - 1, - [ "@query" ], - 0, - "58c7aa2553ed38cff91efb48d0609c8a" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_pointer_vs_reference", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "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.live_region", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "2c7e1260021856551cb92efe828c9917" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "5622441cf36a6138a09a5ce898285982" - ], - [ - "FStar.Pointer.Base.disjoint_roots_intro_reference_vs_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "4d1d2cbeae920eabe5c330380e11cf5b" - ], - [ - "FStar.Pointer.Base.is_mm", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "2b5d0e673d19de2ceeacd0b8f508ccb6" - ], - [ - "FStar.Pointer.Base.as_addr_gfield", - 1, - 1, - 1, - [ "@query" ], - 0, - "32a92776909369a67b578457643c8cd6" - ], - [ - "FStar.Pointer.Base.as_addr_gfield", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "aaccfc92ab9b6f7ea128a4e36706ce3e" - ], - [ - "FStar.Pointer.Base.unused_in_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "e7d7be4d1973e5dbdf25b582c0ef0baa" - ], - [ - "FStar.Pointer.Base.live_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "f1055fbf033054934e3fc010b323be5d" - ], - [ - "FStar.Pointer.Base.gread_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "c116d013061a9b2c51d858242e2cdeca" - ], - [ - "FStar.Pointer.Base.gread_gfield", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_3039342fd2e0851a3664dcc7db386d3a", - "FStar.Pointer.Base_interpretation_Tm_arrow_a0191ab2e68770063b58fb6f1cd4a993", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_interpretation_Tm_arrow_bdc5e911949bed2f1a418f3bbfc31253", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_Tm_unit", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "interpretation_Tm_abs_9960ac31dfa7b5178b9dece32921ded2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.struct_sel_struct_create_fun", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.DependentMap.t", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.uu___is_Cons", - "typing_Tm_abs_104b9206a0f6c45cba53cc44776fb1f1", - "typing_Tm_abs_9960ac31dfa7b5178b9dece32921ded2" - ], - 0, - "c475c89a08e7fd7b7d71d2fe7e83bfda" - ], - [ - "FStar.Pointer.Base.frameOf_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "038751a6294da1e507b9d5aa6276bf3e" - ], - [ - "FStar.Pointer.Base.is_mm_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gfield", "unit_typing" - ], - 0, - "32634f64b628db7d8512c8c7bbd0e7cb" - ], - [ - "FStar.Pointer.Base.as_addr_gufield", - 1, - 1, - 1, - [ "@query" ], - 0, - "79d305fcafc10194a4c6039b15fcb666" - ], - [ - "FStar.Pointer.Base.as_addr_gufield", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "75d50ae9da7a246e69249c9a41752591" - ], - [ - "FStar.Pointer.Base.unused_in_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "150a12d8928e48cb04553204f15bd089" - ], - [ - "FStar.Pointer.Base.live_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "22413e19bb26954511b8d17adfb14ba6" - ], - [ - "FStar.Pointer.Base.gread_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", - "lemma_FStar.Pointer.Base.type_of_typ_type_of_struct_field" - ], - 0, - "9f1f38665c8fb4367a2dfdc77ee86d71" - ], - [ - "FStar.Pointer.Base.gread_gufield", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.unit", - "data_elim_Prims.Cons", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gtdata_get_value", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_get_value", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ_.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "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.pointer_ref_contents", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.type_of_typ__eq", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "token_correspondence_FStar.Pervasives.Native.fst", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "d819ed28a045d852a7e30ab8e08b65e1" - ], - [ - "FStar.Pointer.Base.frameOf_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "fe87274c7dfc06117cb78e11a8c112b2" - ], - [ - "FStar.Pointer.Base.is_mm_gufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gufield", "unit_typing" - ], - 0, - "9d9795001ea8e9466307a5b88362c010" - ], - [ - "FStar.Pointer.Base.gcell", - 1, - 1, - 1, - [ "@query" ], - 0, - "e12630b4f6a4eac2852fa39a4bc8ded4" - ], - [ - "FStar.Pointer.Base.as_addr_gcell", - 1, - 1, - 1, - [ "@query" ], - 0, - "11d38455dd607b6bff8cb6f8e4b61557" - ], - [ - "FStar.Pointer.Base.as_addr_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "7649fb012f86f41f4a7c70678778952b" - ], - [ - "FStar.Pointer.Base.unused_in_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "549881efb11c576624a41f26bead3ca3" - ], - [ - "FStar.Pointer.Base.live_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "6cafb0c58cc6e9056c1038a00e8cf06a" - ], - [ - "FStar.Pointer.Base.gread_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.array", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "typing_FStar.Pointer.Base.gread" - ], - 0, - "b513b383ae4604e178980b96a34f18f6" - ], - [ - "FStar.Pointer.Base.gread_gcell", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pervasives.Native_pretyping_b53dbd183c526bc5d0f20d7b966ae125", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.option", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_index_create", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gcell", "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt32.v", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" - ], - 0, - "4d32fe22bd64f7b28ef313e859f76770" - ], - [ - "FStar.Pointer.Base.frameOf_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "23107db70ca846bd8b3935ab6cc682c3" - ], - [ - "FStar.Pointer.Base.is_mm_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gcell", "unit_typing" - ], - 0, - "18907491a90ca128759a897d31092928" - ], - [ - "FStar.Pointer.Base.includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "assumption_FStar.Pointer.Base.typ__uu___haseq", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "a15bd8adc4fd74ffa80e8727bb8e245e" - ], - [ - "FStar.Pointer.Base.includes_refl", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "21b514edbfb93ccae8519b98af2e6a0c" - ], - [ - "FStar.Pointer.Base.includes_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "26a2af1501083ab9464a913fdeba76f7" - ], - [ - "FStar.Pointer.Base.includes_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepField@tok", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "622754f7caafbc6c86e2637095cf2ee2" - ], - [ - "FStar.Pointer.Base.includes_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepUField@tok", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_Prims.Cons", "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "7610b638ce414737fe4e4fb49fdfa01b" - ], - [ - "FStar.Pointer.Base.includes_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "int_inversion", "lemma_FStar.Pointer.Base.path_includes_step_r", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.gcell", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "d97d8424dae8d87bd124301fa09e05b6" - ], - [ - "FStar.Pointer.Base.includes_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.StepUField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", - "disc_equation_FStar.Pointer.Base.StepUField", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_2294e26464ce127dc19115c7d2830fb1", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7be63e85c12413195a9167f090ba15fa", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "refinement_interpretation_Tm_refine_ee1123b778ea4e559d0b51cc1e52228a", - "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.path_includes" - ], - 0, - "c68f0476eb9b1f950cefd5e0bd3cf5b4" - ], - [ - "FStar.Pointer.Base.includes_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_063c2b36cf1249fbf6d053f452d0ad87", - "refinement_interpretation_Tm_refine_1d4ba028ed16c70ccba461732aababc0", - "refinement_interpretation_Tm_refine_bc644e363f3618c98f527a696e25fc11" - ], - 0, - "bbf91f7ede992327488316ba69f755c3" - ], - [ - "FStar.Pointer.Base.readable", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "eq2-interp", "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "679d9f194028362ffb4c8de60ca32dbc" - ], - [ - "FStar.Pointer.Base.readable_live", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.readable", "l_and-interp" ], - 0, - "fe31546410cfb2493473ed0e14235d87" - ], - [ - "FStar.Pointer.Base.readable_gfield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.ovalue_is_readable_step_sel_field", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.uu___is_Cons", "unit_typing" - ], - 0, - "edc06ab926f52a829e221b9c4c4e469a" - ], - [ - "FStar.Pointer.Base.readable_struct", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_interpretation_Tm_arrow_a562036d4086240af9c67a5348138fd7", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base.TStruct", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.List.Tot.Base.hd", - "equation_FStar.Pervasives.Native.fst", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ostruct", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_FStar.Pointer.Base.otype_of_struct_field", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gfield", - "lemma_FStar.Pointer.Base.otype_of_typ_struct", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Mktuple2__1", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_298741368b36f9fce1347c8b3fa4f829", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_b86319999df90ce930c473bc87611673", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "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.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.ostruct_sel", - "typing_FStar.Pointer.Base.otype_of_struct_field", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" - ], - 0, - "92cd9b1e1b61eb6e1e3481d2831d09b0" - ], - [ - "FStar.Pointer.Base.readable_struct_fields'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_2ab32aa018f38d35baff7c272edc1456_0", - "binder_x_dce109b66917edb1ca83b9408101b740_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "subterm_ordering_Prims.Cons", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "d2b1c634b4a8f6eaa18f16732a757fdf" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_nil", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", "constructor_distinct_Prims.Nil", - "data_typing_intro_Prims.Nil@tok", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "function_token_typing_Prims.string", - "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp" - ], - 0, - "d2638fb4e367f959e0d981f1a56c3a4c" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_cons", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", "bool_inversion", "constructor_distinct_Prims.Cons", - "data_typing_intro_Prims.Cons@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_Prims.string", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "a7c507f0ae04fc8a9c0b56e3d029a782" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.mem.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "binder_x_2ab32aa018f38d35baff7c272edc1456_0", - "binder_x_8d6a14835e73bbd0cb8017424edf0a1b_2", - "binder_x_dce109b66917edb1ca83b9408101b740_3", - "binder_x_ed25b04ac1a3660bf4cdc8ae577888d8_1", "bool_inversion", - "constructor_distinct_Prims.Cons", "constructor_distinct_Prims.Nil", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", "disc_equation_Prims.Nil", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable_struct_fields", - "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.mem.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.readable_struct_fields_.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "fuel_guarded_inversion_Prims.list", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Cons_a", - "projection_inverse_Prims.Cons_hd", - "projection_inverse_Prims.Cons_tl", "projection_inverse_Prims.Nil_a", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_e35e9177b80909dbf230b3c6b66a11f5", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "subterm_ordering_Prims.Cons", - "typing_FStar.List.Tot.Base.map", "typing_FStar.List.Tot.Base.mem", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "18c01df48b9962f5425f28e25dfb3739" - ], - [ - "FStar.Pointer.Base.readable_struct_fields_readable_struct", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.List.Tot.Base.map.fuel_instrumented", - "@fuel_irrelevance_FStar.List.Tot.Base.map.fuel_instrumented", - "@query", - "FStar.Map_interpretation_Tm_arrow_6980332764c4493a7b0df5c02f7aefbe", - "FStar.Pervasives.Native_interpretation_Tm_arrow_b8cce376a4a678a51298a0f3945f25ce", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", - "data_elim_FStar.Pointer.Base.Mkstruct_typ", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", "equation_Prims.eqtype", - "equation_with_fuel_FStar.List.Tot.Base.map.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.struct_typ", - "function_token_typing_FStar.Pervasives.Native.fst", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_40af92d7ec70b9e69654b789401fdfd3", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "7d93abd1b3d95930b8b6fc9493faf6db" - ], - [ - "FStar.Pointer.Base.readable_gcell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.ovalue_is_readable_step_sel_cell", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", "unit_typing" - ], - 0, - "8c728bbde89a8099d1b1cd1c8cd7fdee" - ], - [ - "FStar.Pointer.Base.readable_array", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base._cell", "typing_FStar.Pointer.Base.array", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "bf1cb80d7758e383f5581e019cc76a2a" - ], - [ - "FStar.Pointer.Base.readable_gufield", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.None", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_base_typ", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.eqtype", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.string", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", "kinding_Prims.dtuple2@tok", - "l_and-interp", "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.live_gufield", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.struct_field", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.uu___is_Cons", - "typing_Tm_abs_6ba36691ee58dee85cd144324b083848" - ], - 0, - "4980ebf2e7843bd498e4d8d9f3963042" - ], - [ - "FStar.Pointer.Base.is_active_union_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "Prims_pretyping_ce036b6b736ef4e0bc3a9ff132a12aed", "bool_inversion", - "data_elim_Prims.Cons", "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_Prims.Cons", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.struct_typ_", - "equation_FStar.Pointer.Base.union_typ", - "fuel_guarded_inversion_FStar.Pervasives.Native.tuple2", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields" - ], - 0, - "bfbc3bdbf6c86602588b6ccfe66f8b17" - ], - [ - "FStar.Pointer.Base.is_active_union_live", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.is_active_union_field", - "l_and-interp" - ], - 0, - "d1ade5d6de3a49675b1b8eb2fb61c473" - ], - [ - "FStar.Pointer.Base.is_active_union_field_live", - 1, - 1, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.is_active_union_live", - "lemma_FStar.Pointer.Base.live_gufield" - ], - 0, - "b8a8f3f1a3c25363d327acd1cd9a3ba7" - ], - [ - "FStar.Pointer.Base.is_active_union_field_eq", - 1, - 1, - 1, - [ - "@query", "eq2-interp", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.struct_field", "l_and-interp" - ], - 0, - "2bbb84b4fc7c451a68fd2fd27ea03f17" - ], - [ - "FStar.Pointer.Base.is_active_union_field_get_key", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._gtdata_get_key", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata_create", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_create", - "equation_FStar.Pointer.Base.union_get_key", - "equation_FStar.Pointer.Base.union_typ", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", - "lemma_FStar.Pointer.Base.is_active_union_field_live", - "lemma_FStar.Pointer.Base.is_active_union_live", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.TUnion_l", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "9e765231f83d5256a7ff310bd86655c3" - ], - [ - "FStar.Pointer.Base.is_active_union_field_readable", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.readable_gufield" ], - 0, - "fe58d13ce032dccfbf18e54868cb6dcc" - ], - [ - "FStar.Pointer.Base.is_active_union_field_includes_readable", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_concat.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_09d9235a8068627898e77b75945bdc5c", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepUField", - "constructor_distinct_FStar.Pointer.Base.TUnion", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pervasives.Native.Some", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.TUnion", - "data_typing_intro_FStar.Pointer.Base.TUnion@tok", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._ufield", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gtdata", - "equation_FStar.Pointer.Base.gtdata_get_key", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.otype_of_struct_field", - "equation_FStar.Pointer.Base.ounion", - "equation_FStar.Pointer.Base.ounion_get_key", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.union_typ", "equation_Prims.logical", - "equation_with_fuel_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", "l_and-interp", - "lemma_FStar.Pointer.Base.otype_of_typ_union", - "lemma_FStar.Pointer.Base.path_includes_concat", - "lemma_FStar.Pointer.Base.readable_live", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepUField_fd", - "projection_inverse_FStar.Pointer.Base.StepUField_l", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.gufield", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_includes", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" - ], - 0, - "5ebba8b6febcc5ecd1583cadf7aed48c" - ], - [ - "FStar.Pointer.Base._singleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "int_typing", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.PathStep_s", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.v" - ], - 0, - "27633def9bfd23ba228a449206ef489a" - ], - [ - "FStar.Pointer.Base.singleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "7357188741744f406bba9dd511ebd716" - ], - [ - "FStar.Pointer.Base.gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_root_length", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t" - ], - 0, - "cedb50bc8889dda58e61a07547b0902e" - ], - [ - "FStar.Pointer.Base.buffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.UInt.uint_t", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_cd8f0bca9917727345df4a84d95cb089", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", "typing_FStar.UInt32.v" - ], - 0, - "95d32b5c9f543ac3f1421c638b5e6eec" - ], - [ - "FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "86e06633471c86c0c20e11560f3f0f30" - ], - [ - "FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength" - ], - 0, - "2c584103ac3a835ac67c80ad506bd4f6" - ], - [ - "FStar.Pointer.Base.buffer_live", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "3a88ba324107eb7eca8f127be2542533" - ], - [ - "FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", "eq2-interp", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.live", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "l_and-interp", "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "79a5ef83c9414423718a2bfd594308c5" - ], - [ - "FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "86a0547e3c4572bdc00e3fd25570bb80" - ], - [ - "FStar.Pointer.Base.buffer_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "ea0eee7673abee09cd2aa9bdfeb5180b" - ], - [ - "FStar.Pointer.Base.buffer_live_not_unused_in", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.buffer_unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "lemma_FStar.Pointer.Base.live_not_unused_in", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "d00e06d9bb8e4966e275c868318ef676" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "7bf6868e3b086e79182d2c35df1668c2" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "2e7bd45e2f3d5e1a08590b0f38848a4b" - ], - [ - "FStar.Pointer.Base.frameOf_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "8a91e10e9a4b664ef603aecb67389caf" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "a4c542249a701ec9b94cea793a7c2ae3" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "6c30dac3d77abb5b838d1ed4b39b3665" - ], - [ - "FStar.Pointer.Base.live_region_frameOf_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.frameOf_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "4eae1cec98bdf064a473f7ce930ee6a2" - ], - [ - "FStar.Pointer.Base.buffer_as_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "389a37cfb2e1b55ad17f1c6fd45d757d" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "a8992b94f5807d755e95be5a1a122cab" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer" - ], - 0, - "db8b220c66c101475247a14453711b84" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ "@query" ], - 0, - "231f17b82de569157e073157e895828d" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - 2, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot" - ], - 0, - "089e8e8aad92d3c148ff73bf16df1d50" - ], - [ - "FStar.Pointer.Base.gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "d8d3936321d7cfddf16e326098ef7bb7" - ], - [ - "FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "ebe55371b4ee840390f39f7b6d25a7af" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "b2fd7aa7f1dd663fe97a39e25b1bd188" - ], - [ - "FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "8f99e4ed31433adc0b2ceeb3bc31af18" - ], - [ - "FStar.Pointer.Base.sub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "bfd08bb6748be93620986c05dc3a2996" - ], - [ - "FStar.Pointer.Base.sub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_745d664c6e159cd0e4e176fbcf302acd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "b7b7ba57c9610ab91a6fd487f0ff50ca" - ], - [ - "FStar.Pointer.Base.offset_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "ed401fe6f561c34701675fc013fbed96" - ], - [ - "FStar.Pointer.Base.offset_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3c867da679bb8eb29a8fb4db4ca3b21f", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "d35848d26e0c63fe7f4bf1d5cb3a8f91" - ], - [ - "FStar.Pointer.Base.buffer_length_gsub_buffer", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength" - ], - 0, - "41a47ce72167e5660aff0edc030059d5" - ], - [ - "FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "257e8abbe8f00dc04a19eecdb0049cd3" - ], - [ - "FStar.Pointer.Base.buffer_live_gsub_buffer_intro", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv" ], - 0, - "fe3419c6083f3c3aed026e54d5fd949a" - ], - [ - "FStar.Pointer.Base.buffer_unused_in_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.gsub_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "90c23761f8a1af53342f8892aec9141f" - ], - [ - "FStar.Pointer.Base.gsub_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "0683e631e66645f60967e30d36feabd3" - ], - [ - "FStar.Pointer.Base.gsub_buffer_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "5eec32a424ce6a1f3935f84743b83b7c" - ], - [ - "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - 1, - 1, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "c1cf671de1ae9a187cb4bdfa0731f0e0" - ], - [ - "FStar.Pointer.Base.gsub_buffer_zero_buffer_length", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "cda73c32d8f7e2bf4b4b2c2e750a4c93" - ], - [ - "FStar.Pointer.Base.buffer_root_as_seq", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "24781f609ee79fd0fef4d3bd8ab6fb28" - ], - [ - "FStar.Pointer.Base.length_buffer_root_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", "equation_Prims.pos", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_Prims.pow2.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.type_of_typ_array", - "lemma_FStar.Seq.Base.lemma_create_len", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", "primitive_Prims.op_Multiply", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "d4aad7e2430e53a7a036f94e3be884c1" - ], - [ - "FStar.Pointer.Base.buffer_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "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.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.UInt32.v" - ], - 0, - "b0baf2b6f85323469057831923acfd41" - ], - [ - "FStar.Pointer.Base.buffer_length_buffer_as_seq", - 1, - 1, - 1, - [ "@query" ], - 0, - "2b76ef89a0637d9964e0ed28ecbd692e" - ], - [ - "FStar.Pointer.Base.buffer_length_buffer_as_seq", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.lemma_len_slice", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_seq", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "bec7f6afe21916f35549df7dc240faaa" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsingleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_cbaf63ee0f7cd0118b8161198aafa7ec", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Seq.Base_interpretation_Tm_arrow_44bb45ed5c2534b346e0f58ea5033251", - "FStar.Seq.Base_pretyping_7efa52b424e80c83ad68a652aa3561e4", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pervasives.Native.None", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.TArray", - "constructor_distinct_FStar.Seq.Base.seq", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.TArray", "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pointer.Base.PathStep", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.none_ovalue", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.eq2", "equation_Prims.logical", "equation_Prims.nat", - "equation_Prims.pos", "equation_Prims.squash", - "equation_with_fuel_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.path", - "fuel_guarded_inversion_FStar.Pointer.Base.step", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", "int_typing", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.init_index_", - "lemma_FStar.Seq.Base.lemma_create_len", - "lemma_FStar.Seq.Base.lemma_eq_elim", - "lemma_FStar.Seq.Base.lemma_eq_intro", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.PathStep_s", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pervasives.Native.None_a", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6a1872e8dc484ff4b169a75dface8e09", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_dce369254040b9bd3ac1454cc66ab5ae", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_kinding_Tm_refine_2de20c066034c13bf76e9c0b94f4806c", - "token_correspondence_FStar.Pointer.Base.dummy_val.fuel_instrumented", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.sel", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "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.greference_of", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.path_sel", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.create", "typing_FStar.Seq.Base.length", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v", - "typing_Prims.l_and", - "typing_Tm_abs_cfbb5b4925290e52ac8f62a4db2a2e50", "unit_typing" - ], - 0, - "303b9560bfe5fa4e0aff36a7725b47b3" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_typing", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Seq.Base.lemma_len_slice", - "lemma_FStar.Seq.Properties.slice_slice", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1ba8fd8bb363097813064c67740b2de5", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_81407705a0828c2c1b1976675443f647", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_ba20691c598b7aba0d11d91ead0d6da1", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.Seq.Base.length", "typing_FStar.UInt32.v" - ], - 0, - "5136689c8c4e9de0429c25e509cb05c7" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.UInt32.v" - ], - 0, - "e574f1a85da346600a8c784645104bfe" - ], - [ - "FStar.Pointer.Base.buffer_as_seq_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "e6a0f2904c65568b4463ff9f38630ce4" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "e91d03b7952353a598b0588972e496b6" - ], - [ - "FStar.Pointer.Base.pointer_of_buffer_cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "5f6093fef5a155ed87b3468640caf99f" - ], - [ - "FStar.Pointer.Base.pointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.UInt32.t", - "constructor_distinct_Prims.unit", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v", - "unit_typing" - ], - 0, - "0736863a04381fde6b2cc657dbbafc3e" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "1171553367577b78b29814e7e88a0688" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "data_elim_FStar.Pointer.Base.Buffer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsub_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "6f8660a1bc651406369d640a06b58ce3" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "2eb24d4127072e80a24d38e0b29d9383" - ], - [ - "FStar.Pointer.Base.live_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_Tm_unit", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "5aa67f8ca1ab8c31c072b173656baf2f" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - 1, - 1, - 2, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_Prims.pos", - "equation_with_fuel_Prims.pow2.fuel_instrumented", "int_inversion", - "int_typing", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThan", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Multiply", "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_Prims.pow2.fuel_instrumented", - "typing_FStar.UInt32.v" - ], - 0, - "8e8487ebd574b1f0b3992d69c22fa9fe" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - 2, - 1, - 2, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.path", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "527c13d50deadb3e3076ba80dbe622be" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer" - ], - 0, - "175f45030c9a082bb6266c7e3f964e66" - ], - [ - "FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.v" - ], - 0, - "73d74873ac02c07192738c3d70f6f88f" - ], - [ - "FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.v" - ], - 0, - "d2fa18592ffa7a5b95567d117ef55efd" - ], - [ - "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "582a1e0323ad83fd41f948c5694e897a" - ], - [ - "FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "primitive_Prims.op_AmpAmp", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.v" - ], - 0, - "03ddfde04698c0d3247e6cb31f196fb3" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "56620811a10f28620d33fb786cc483c7" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_as_seq", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gread", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.typ", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.gread_gcell", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Seq.Base.lemma_index_create", - "lemma_FStar.Seq.Base.lemma_index_slice", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_35a0739c434508f48d0bb1d5cd5df9e8", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c1424615841f28cac7fc34e92b7ff33c", - "refinement_interpretation_Tm_refine_d3d07693cd71377864ef84dc97d10ec1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gread", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "4594b52069ffac074aa15dffcf9c98d0" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "d3501abcfa0dbd0347a6578ad1958622" - ], - [ - "FStar.Pointer.Base.gread_gpointer_of_buffer_cell'", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell" - ], - 0, - "17a188525ec272b8a9e6968dff2548d6" - ], - [ - "FStar.Pointer.Base.index_buffer_as_seq", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "dfbcfaca1e1cd40b15a63de8fbccc6a5" - ], - [ - "FStar.Pointer.Base.index_buffer_as_seq", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "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.Pointer.Base.buffer_length", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "5d4589fe0b4f036813f103b024b3135f" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "primitive_Prims.op_Addition", "projection_inverse_BoxInt_proj_0" - ], - 0, - "5e5381e58d3d8158db6f7cf0f81983d6" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_Tm_unit", "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", "int_typing", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "797a8ecf7e521210daadefeb99eb5fd3" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@query", "primitive_Prims.op_Addition", - "projection_inverse_BoxInt_proj_0" - ], - 0, - "39badc92106e69871952e4f6d3ccbbd6" - ], - [ - "FStar.Pointer.Base.gsingleton_buffer_of_pointer_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.gsingleton_buffer_of_pointer_gcell", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.not_an_array_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "868e43f64034ce662da5cadaab38d616" - ], - [ - "FStar.Pointer.Base.buffer_readable_buffer_live", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "61c106eeb28769fe83f93c6df35c10c7" - ], - [ - "FStar.Pointer.Base.buffer_readable_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "int_typing", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "434a323e9754cb612d353f536e4f07f4" - ], - [ - "FStar.Pointer.Base.buffer_readable_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_live_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.readable_gcell", - "lemma_FStar.Pointer.Base.readable_live", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c" - ], - 0, - "e22abb92dfa7fb9697fb7b3a49939bd9" - ], - [ - "FStar.Pointer.Base.buffer_readable_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_live_gsub_buffer_equiv", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "350ddfed32868cc96457493f7e666bf2" - ], - [ - "FStar.Pointer.Base.readable_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "9ba64665d90bb28d2889fd40653d3cf2" - ], - [ - "FStar.Pointer.Base.buffer_readable_intro", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_" - ], - 0, - "4779c263c10955d084e13727e39bbf9a" - ], - [ - "FStar.Pointer.Base.buffer_readable_elim", - 1, - 1, - 1, - [ - "@query", "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.readable_gpointer_of_buffer_cell" - ], - 0, - "b83490aa69fbdbff49cd63473c1f902f" - ], - [ - "FStar.Pointer.Base.disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0" - ], - 0, - "4f2a9494d6c68350d8ea9017e6faf010" - ], - [ - "FStar.Pointer.Base.disjoint_root", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.disjoint", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp" - ], - 0, - "18976bc90e08d891ef21260c3962df63" - ], - [ - "FStar.Pointer.Base.disjoint_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepField@tok", - "data_typing_intro_FStar.Pointer.Base.TStruct@tok", "eq2-interp", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gfield", - "lemma_FStar.Pointer.Base.frameOf_gfield", - "lemma_FStar.Pointer.Base.path_disjoint_step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.typ_of_struct_field", "unit_typing" - ], - 0, - "4f460f8765ffd6650d731af6c66819c6" - ], - [ - "FStar.Pointer.Base.disjoint_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_b27168cc0cd9c7f90ae88b602ccfc55c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.StepCell@tok", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.UInt.fits", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.int", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", - "lemma_FStar.Pointer.Base.frameOf_gcell", - "lemma_FStar.Pointer.Base.path_disjoint_step", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_041a24a8c3715e0f4960d28f20ee920b", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.step_disjoint", "typing_FStar.UInt32.v" - ], - 0, - "d458e63e4d179e8ee94c6a251aa7a525" - ], - [ - "FStar.Pointer.Base.disjoint_includes", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.l_and", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "lemma_FStar.Pointer.Base.path_disjoint_includes_l", - "lemma_FStar.Pointer.Base.path_disjoint_sym", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "true_interp", "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.includes", - "typing_FStar.Pointer.Base.path_includes" - ], - 0, - "90d88d5302d9071a88db2d18e525f62a" - ], - [ - "FStar.Pointer.Base.disjoint_ind", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base.StepField", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.StepCell", - "data_elim_FStar.Pointer.Base.StepField", - "data_elim_FStar.Pointer.Base.TArray", - "disc_equation_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.StepCell", - "disc_equation_FStar.Pointer.Base.StepField", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.path_disjoint", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.step_disjoint", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.UInt.uint_t", "equation_Prims.eq2", - "equation_Prims.eqtype", "equation_Prims.l_and", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.disjoint_gfield", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "primitive_Prims.op_disEquality", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.StepField_fd", - "projection_inverse_FStar.Pointer.Base.StepField_l", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "projection_inverse_FStar.Pointer.Base.TStruct_l", - "refinement_interpretation_Tm_refine_035771f6b75c6418e7b567530874ccfb", - "refinement_interpretation_Tm_refine_1588d9cc9cb691265bea0ce2c66abf3c", - "refinement_interpretation_Tm_refine_15c45a18895db0eab7a092e57be84ca9", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_77cb76ece3ec1de98424d83e532afccd", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_a02d9d7bf230ab25f66365b7b22b819e", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_e937e34ee8783c8b9b7d7a707f01634d", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.path_includes", - "typing_FStar.Pointer.Base.step_disjoint" - ], - 0, - "699a862d74f54579af88a2e2dc5d4cb9" - ], - [ - "FStar.Pointer.Base.disjoint_ind", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.disjoint", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1057f9d2b591d45e0a692fa868a0c66f", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "true_interp" - ], - 0, - "969a4084bb7444e80d144baf9b525a35" - ], - [ - "FStar.Pointer.Base.disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_0600ed6fdc397ec1705174e441a78dc0", - "refinement_interpretation_Tm_refine_1057f9d2b591d45e0a692fa868a0c66f", - "refinement_interpretation_Tm_refine_28e1729ae23638276a10e717f1d0f59c", - "refinement_interpretation_Tm_refine_30a755a87d7c91eaa6f98b54378d0d56", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_9d2830d159b1e910dc3e47685b21dba0", - "refinement_interpretation_Tm_refine_f1bdf056430cac446ba97c183d132799" - ], - 0, - "1ca2b40d59824da8c1c43caf667ff5c9" - ], - [ - "FStar.Pointer.Base.disjoint_sym'", - 1, - 1, - 1, - [ "@query" ], - 0, - "1e9f6c2afcb4deba775a1eb2810aa4e7" - ], - [ - "FStar.Pointer.Base.disjoint_includes_l", - 1, - 1, - 1, - [ "@query", "lemma_FStar.Pointer.Base.includes_refl" ], - 0, - "b6862c56de1dcf6ed428fd994d05886b" - ], - [ - "FStar.Pointer.Base.disjoint_includes_l_swap", - 1, - 1, - 1, - [ "@query" ], - 0, - "1b19ac1685da8ac77b4803d0078834f6" - ], - [ - "FStar.Pointer.Base.disjoint_includes_r", - 1, - 1, - 1, - [ "@query" ], - 0, - "33774282f93c77a75049554f276b8476" - ], - [ - "FStar.Pointer.Base.__proj__LocBuffer__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" - ], - 0, - "43e26da83d6799f24558919e5928c168" - ], - [ - "FStar.Pointer.Base.__proj__LocBuffer__item__b", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_eaa9b5871ffb5dfb1e4b50ec94a00ce3" - ], - 0, - "0e9a8807dacacf221beaddaef33553c6" - ], - [ - "FStar.Pointer.Base.__proj__LocPointer__item__t", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" - ], - 0, - "ec9670b59eace89d3c6a70d843b2120a" - ], - [ - "FStar.Pointer.Base.__proj__LocPointer__item__p", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "refinement_interpretation_Tm_refine_13ab046771d51233a400cd28aa47c12e" - ], - 0, - "2d129cffb0400983c0f3d3f37cfa2ab2" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "87914e1df2c31c3267f3a2181d5f50f7" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_pointer_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "bcbdc3820ab9b188303393f29bc067eb" - ], - [ - "FStar.Pointer.Base.loc_aux_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "b0a37a5086c1ffb4a92d717167c1dbf1" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_refl'", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "lemma_FStar.Pointer.Base.includes_refl", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "69223844d894160c463635bb4b6981df" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "a122148d8aa09e1e489055fa0638b025" - ], - [ - "FStar.Pointer.Base.loc_aux_includes_trans", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "903007afb7f87771d807e299377bf0ca" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "4b626dc23d56db8a4862143b563884bf" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_buffer_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "037fce4ac4eb8fcd3a1280a8b2d93852" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer_buffer_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "22eb420fe0801f5407570fb4ef7c915e" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f8f74391c076e7b9029c5e072f8ca8e4" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_sym", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_3c6602ae075bb8847a1e8d4d2278d7fa", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "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.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "f81c7cb22df1cfa5fb35bdfedf5f33d4" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_pointer_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "lemma_FStar.Pointer.Base.disjoint_includes_r", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "5cac0b6c425084ff60cfe95c27dfd910" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "490de332bef73498f72dbe5679f1b541" - ], - [ - "FStar.Pointer.Base.loc_aux_disjoint_loc_aux_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "4681b9d260239eb09a61b57d615d0e92" - ], - [ - "FStar.Pointer.Base.loc_aux_preserved", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "3ef1e7fbe84f6fd8455368fa55bb8380" - ], - [ - "FStar.Pointer.Base.pointer_preserved_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.live", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "295f161650fb520888634994e4364878" - ], - [ - "FStar.Pointer.Base.pointer_preserved_intro", - 2, - 1, - 1, - [ "@query" ], - 0, - "3fb5db78a2751932c5cef6376ade77fc" - ], - [ - "FStar.Pointer.Base.buffer_preserved_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_preserved", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_4a180d7aa1afd0a2fad463fd9c642bcc" - ], - 0, - "91f3044e26aa7d34a2ee610a13a487dc" - ], - [ - "FStar.Pointer.Base.buffer_preserved_intro", - 2, - 1, - 1, - [ "@query" ], - 0, - "87451f38fbcdac12d33003026b6e4047" - ], - [ - "FStar.Pointer.Base.disjoint_not_self", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7871a89cee4ff50bc14c65877a68b5bd", - "typing_FStar.Pointer.Base.path_equal" - ], - 0, - "5159133cfa4468f4e779c493f231d85d" - ], - [ - "FStar.Pointer.Base.loc_aux_in_addr", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "f31d0616c71d744a343122d7203ceab6" - ], - [ - "FStar.Pointer.Base.cls", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "disc_equation_FStar.Pointer.Base.LocBuffer", - "disc_equation_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.aloc", - "equation_FStar.Pointer.Base.buffer_preserved", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.loc_aux_includes_refl__", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c" - ], - 0, - "e4e3fae866d579e7e82e98718361c602" - ], - [ - "FStar.Pointer.Base.loc_union_idem", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_union" ], - 0, - "6863d3f03d7fe9be988cdc7a318cb641" - ], - [ - "FStar.Pointer.Base.loc_pointer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "eq2-interp", "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_Prims.nat", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t" - ], - 0, - "5fcc1d57cf4ea0a56e7ddb29e52c3a4e" - ], - [ - "FStar.Pointer.Base.loc_buffer", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "eq2-interp", "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_Prims.nat", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "14b4297e50602140051d502622a0b22a" - ], - [ - "FStar.Pointer.Base.loc_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "05800f040290cc4d687562d628a6fa01" - ], - [ - "FStar.Pointer.Base.loc_includes_refl", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_includes" ], - 0, - "ee5a0c600db8e72f783182b7ab2c69e1" - ], - [ - "FStar.Pointer.Base.loc_includes_trans", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_includes" ], - 0, - "f51a869039dba2d4334b8be3cf9b1986" - ], - [ - "FStar.Pointer.Base.loc_includes_union_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "f3220436291b47d03047931b2435ad08" - ], - [ - "FStar.Pointer.Base.loc_includes_union_l", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "45490061fb22f672248b27491e00d7fb" - ], - [ - "FStar.Pointer.Base.loc_includes_none", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_none" - ], - 0, - "2129dad406295e7c2ad04c3a4556a2e7" - ], - [ - "FStar.Pointer.Base.loc_includes_pointer_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.includes" - ], - 0, - "99233d264b9f95b4f7b863ec7949199d" - ], - [ - "FStar.Pointer.Base.loc_includes_gsingleton_buffer_of_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base._singleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_typing", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsingleton_buffer_of_pointer", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.gsingleton_buffer_of_pointer", - "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.v" - ], - 0, - "97b5d16c9cec6d4700d4f47382aec1d3" - ], - [ - "FStar.Pointer.Base.loc_includes_gbuffer_of_array_pointer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.path_includes.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_1e5c7ab94e0ccfb7b0d2bbb59a9e3f5d", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.includes", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_includes.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "int_inversion", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.buffer_length_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gbuffer_of_array_pointer", - "lemma_FStar.Pointer.Base.path_includes_refl", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_82707a6e3d48caa257bb4bddb01d7d73", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Monotonic.HyperStack.aref_equal", - "typing_FStar.Pointer.Base.gbuffer_of_array_pointer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.includes", "typing_FStar.UInt32.v" - ], - 0, - "f6d0c24d23f0de96614b8aef29158f95" - ], - [ - "FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", "equation_Prims.nat", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.includes_refl", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes" - ], - 0, - "bb31650fa3f4c9c3292deb6e060b251e" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_r", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "eq2-interp", "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.includes_refl", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.v" - ], - 0, - "18fbaee04fa52f09aed53c99cd931d9c" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_l", - 1, - 1, - 1, - [ "@query" ], - 0, - "fba07db2a5eaaa35098e503605c94cd2" - ], - [ - "FStar.Pointer.Base.loc_includes_gsub_buffer_l", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "eq2-interp", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_includes_pointer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_includes", - "equation_FStar.Pointer.Base.loc_aux_includes_buffer", - "equation_FStar.Pointer.Base.loc_aux_includes_pointer", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", - "interpretation_Tm_abs_6f6e5b3c6d0b6c95f3240339e76063e0", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.Pointer.Base.gsub_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.includes_refl", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_includes", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_includes", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_includes", - "token_correspondence_FStar.Pointer.Base.loc_aux_includes", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "f04d2d44b920898dd29b376d67a3a124" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "ed81c2c8a85255e84b4bc16d3cf3df68" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "l_and-interp", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Set.mem" - ], - 0, - "99c54d061bf73fb86d74f1b9e1537ac8" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_pointer", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "71d6f45629e0dbb8817d669d9f3f4e25" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "99e01f13298dc122bf90df07cfc25292" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "0b3cc6d66ff185d70feb7561f61ba591" - ], - [ - "FStar.Pointer.Base.loc_includes_addresses_buffer", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "7cf4ee8a46cee8bcc9227623f4c8111b" - ], - [ - "FStar.Pointer.Base.loc_includes_region_pointer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "l_and-interp", "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Monotonic.HyperHeap.rid", "typing_FStar.Set.mem" - ], - 0, - "4793322f3676664fae8f1e39b384df72" - ], - [ - "FStar.Pointer.Base.loc_includes_region_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t" - ], - 0, - "19fe090d4ff8343fa12c0222e5d1de3c" - ], - [ - "FStar.Pointer.Base.loc_includes_region_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "66737800ce9de594e6180aaa2d48baf0" - ], - [ - "FStar.Pointer.Base.loc_includes_region_addresses", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "75ee00692ac9fe175ef8e47971ca0720" - ], - [ - "FStar.Pointer.Base.loc_includes_region_region", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "fb27a337c27bda566b45b0e67ccc6347" - ], - [ - "FStar.Pointer.Base.loc_includes_region_union_l", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "5d6277b5d7d0f02d80bf7ca66620a4e3" - ], - [ - "FStar.Pointer.Base.loc_disjoint_sym", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.loc_disjoint" ], - 0, - "1c06f3beae72ce5038e8230076ee7528" - ], - [ - "FStar.Pointer.Base.loc_disjoint_none_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_none" - ], - 0, - "711efb7ab99a3c58daf3cbe34bb0a296" - ], - [ - "FStar.Pointer.Base.loc_disjoint_union_r", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_union" - ], - 0, - "21805396d2da260fbe9ca7d3f9616030" - ], - [ - "FStar.Pointer.Base.loc_disjoint_root", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "8e5bc5ab0b19ceb32b9160d64c258dc5" - ], - [ - "FStar.Pointer.Base.loc_disjoint_root", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.as_addr" - ], - 0, - "e1c11e68d80b37e35340b23fa4c08010" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gfield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.LocPointer", "eq2-interp", - "equation_FStar.Pointer.Base._field", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.nat", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gfield", - "lemma_FStar.Pointer.Base.disjoint_gfield", - "lemma_FStar.Pointer.Base.frameOf_gfield", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "unit_typing" - ], - 0, - "dd2178963735cd3a2c6cf729e6d0e2ac" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gcell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "324724c135fc9a989b9f96f3fa7ce903" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gcell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_Prims.nat", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", "lemma_FStar.Pointer.Base.as_addr_gcell", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_gcell", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "unit_typing" - ], - 0, - "6ed7a8af84c7df27a49b839419b9b13b" - ], - [ - "FStar.Pointer.Base.loc_disjoint_includes", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes" - ], - 0, - "fdbc32ea2ce13b9a40567d8e35bd9437" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint_strong", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "959501bdca7b39cbcd411c91894fad3b" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint_strong", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "d68bb73d5314ac1de4f4ef3a937e1947" - ], - [ - "FStar.Pointer.Base.live_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf" - ], - 0, - "cb711069a754955205325c993632383f" - ], - [ - "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "39f010fc6a29f2ebec5e8db2012f96c8" - ], - [ - "FStar.Pointer.Base.pointer_live_reference_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.as_addr" - ], - 0, - "43689c401e2c8383154dc8c6e5eb3851" - ], - [ - "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "5940e53790abfa9fbeb38d6aa0451e93" - ], - [ - "FStar.Pointer.Base.reference_live_pointer_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "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.mreference", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.as_addr" - ], - 0, - "f91b3cc4364f9ed3fc1d6f567c158c8b" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gsub_buffer", - 1, - 1, - 1, - [ "@query" ], - 0, - "7daf2438eba4d8f7d7294ddbb78e9013" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gsub_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", "eq2-interp", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Pointer.Base.buffer_as_addr_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_buffer_gsub_buffer", - "lemma_FStar.Pointer.Base.gpointer_of_buffer_cell_gsub_buffer_", - "lemma_FStar.UInt.pow2_values", "lemma_FStar.UInt32.uv_inv", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.not_an_array_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "eca47794219dcabdb4a2fc310de5190f" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_FStar.UInt.uint_t", - "equation_Prims.eqtype", "function_token_typing_Prims.int", - "haseqTm_refine_f13070840248fced9d9d60d77bdae3ec", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "9d000f35738e5e5e9bedddbda5a0ecd9" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", "eq2-interp", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.disjoint_gcell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "f8cf308b53f490766d2f095b5266cacb" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_r", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "8a474a44727c2bdfc484ab1f7716213f" - ], - [ - "FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - 1, - 1, - 1, - [ - "@query", - "lemma_FStar.Pointer.Base.loc_includes_gpointer_of_array_cell", - "lemma_FStar.Pointer.Base.loc_includes_refl" - ], - 0, - "c4dd2069d7eeaa0ee243c0b33bad825a" - ], - [ - "FStar.Pointer.Base.loc_disjoint_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "fb7974c2d94f51c283eb141dad5b4447" - ], - [ - "FStar.Pointer.Base.loc_disjoint_addresses", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint" - ], - 0, - "7f4af2458f6f8f7954a6afa01b343826" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c2519cea9fd66d05dadd3f6e3d5b7da6" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.as_addr", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.loc_disjoint_addresses", - "lemma_FStar.Pointer.Base.loc_includes_addresses_pointer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.as_addr", "typing_FStar.Set.mem" - ], - 0, - "43af341885d804fad4a33e9449546809" - ], - [ - "FStar.Pointer.Base.loc_disjoint_pointer_addresses", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "eae4b909fdd08a8d1f69be04b0e590b1" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "0ff75f2858ced2524ceebfd0105a9445" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.loc_disjoint_addresses", - "lemma_FStar.Pointer.Base.loc_includes_addresses_buffer", - "lemma_FStar.Pointer.Base.loc_includes_refl", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Pointer.Base.buffer_as_addr", "typing_FStar.Set.mem" - ], - 0, - "c338686cfdf46a2bde1b07385ed91a57" - ], - [ - "FStar.Pointer.Base.loc_disjoint_buffer_addresses", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "4f55ac9812ca8d3435522e8615abf27e" - ], - [ - "FStar.Pointer.Base.loc_disjoint_regions", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_regions" - ], - 0, - "a3dcfa09ae3b4439a9c35e5c56521619" - ], - [ - "FStar.Pointer.Base.modifies_loc_regions_intro", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.modifies", "lemma_FStar.Set.mem_subset", - "typing_FStar.Monotonic.HyperHeap.rid" - ], - 0, - "3e4063cadff53b30351ddc3a175e59ae" - ], - [ - "FStar.Pointer.Base.modifies_pointer_elim", - 1, - 1, - 1, - [ - "@query", "constructor_distinct_FStar.Pointer.Base.LocPointer", - "eq2-interp", "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_Prims.nat", - "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", - "l_and-interp", "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_FStar.Pointer.Base.loc_aux_preserved" - ], - 0, - "33e1e783497536a9f6b4c7e206395304" - ], - [ - "FStar.Pointer.Base.modifies_buffer_elim'", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", "bool_typing", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", "int_inversion", - "int_typing", "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "lemma_FStar.Pointer.Base.buffer_readable_buffer_live", - "lemma_FStar.Pointer.Base.index_buffer_as_seq", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gpointer_of_buffer_cell_l", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_d1e76d56e2ec7389d639ef3df0bd6a06", - "refinement_interpretation_Tm_refine_d83f8da8ef6c1cb9f71d1465c1bb1c55", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.frameOf_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.uint_to_t" - ], - 0, - "0f4eb9b64640f7ab9ebd8e1f72a80b17" - ], - [ - "FStar.Pointer.Base.modifies_buffer_elim", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "bool_inversion", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_seq", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", - "lemma_FStar.Pointer.Base.length_buffer_root_as_seq", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Seq.Properties.slice_is_empty", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_Equality", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_b361ba8089a6e963921008d537e799a1", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_as_seq", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.type_of_typ", "typing_FStar.UInt32.v" - ], - 0, - "7881919606da7a00a6860ddb5c323141" - ], - [ - "FStar.Pointer.Base.modifies_reference_elim", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "c8a5e87de11102c06b95c5535bf0b9de" - ], - [ - "FStar.Pointer.Base.modifies_reference_elim", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.as_addr" - ], - 0, - "43ce369de718445c490fb1e8bf81b7e4" - ], - [ - "FStar.Pointer.Base.modifies_refl", - 1, - 1, - 1, - [ "@query", "equation_FStar.Pointer.Base.modifies" ], - 0, - "42a51bab8d5639b35d1ccb549ac1ebb1" - ], - [ - "FStar.Pointer.Base.modifies_loc_includes", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "532218bd14c9541d19a3e6f4e37a6a52" - ], - [ - "FStar.Pointer.Base.modifies_trans", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "9114aeb2d124766f9fc64b8f6ccd0e20" - ], - [ - "FStar.Pointer.Base.screate", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.Pointer@tok", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.inline_stack_inv", - "equation_FStar.HyperStack.ST.mstackref", - "equation_FStar.HyperStack.ST.salloc_post", - "equation_FStar.Monotonic.Heap.fresh", - "equation_FStar.Monotonic.Heap.modifies", - "equation_FStar.Monotonic.Heap.modifies_t", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.fresh_ref", - "equation_FStar.Monotonic.HyperStack.is_stack_region", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.mstackref", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_none", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_0", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.logical", - "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_greference_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "primitive_Prims.op_GreaterThan", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_3107a49075513d87f81f8b8614ef7aa0", - "refinement_interpretation_Tm_refine_3415ed6c7abc7d0c55726285f3ae5f3f", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_f63e058f9631c11993f3ef0430296051", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.l_and", - "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" - ], - 0, - "5fb9d8e4218ed3891dbf500936b544bf" - ], - [ - "FStar.Pointer.Base.domain_upd", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.frameOf", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.upd", - "function_token_typing_FStar.Monotonic.Heap.heap", "int_inversion", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Map.lemma_InDomUpd1", "lemma_FStar.Map.lemma_InDomUpd2", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Set.lemma_equal_elim", "primitive_Prims.op_BarBar", - "primitive_Prims.op_Equality", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_ad7e1b418ca64c1aeef94590edc4eb01", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.domain", - "typing_FStar.Map.sel", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region" - ], - 0, - "f6ab3984eeafc6a20e0c5daa609d1107" - ], - [ - "FStar.Pointer.Base.ecreate", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", - "FStar.Pointer.Base_interpretation_Tm_arrow_9973fa91578be0bb3fb4c2414d28840c", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "Prims_interpretation_Tm_arrow_2eaa01e78f73e9bab5d0955fc1a662da", - "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "constructor_distinct_FStar.Pointer.Base.PathBase", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.PathBase@tok", - "data_typing_intro_FStar.Pointer.Base.Pointer@tok", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pervasives.Native.None", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.equal_stack_domains", - "equation_FStar.HyperStack.ST.is_eternal_region", - "equation_FStar.HyperStack.ST.mref", - "equation_FStar.HyperStack.ST.ralloc_post", - "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_heap_color", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mref", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.unused_in", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.is_mm", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_none", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_0", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "equation_with_fuel_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_contains", - "lemma_FStar.Monotonic.Heap.lemma_unused_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_upd_contains", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_greference_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pervasives.invertOption", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "primitive_Prims.op_Negation", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "projection_inverse_FStar.Pointer.Base.PathBase_from", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_11909c5fb1b8562f96ab0360020d5e9a", - "refinement_interpretation_Tm_refine_161e04719814801d293219f408210f95", - "refinement_interpretation_Tm_refine_1a1278f1aecd37594ba20d888b7fd230", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_4deaad73cd92bc948bb28924e869c4ab", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Map.sel", "typing_FStar.Map.upd", - "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.color", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.is_heap_color", - "typing_FStar.Monotonic.HyperStack.is_mm", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.type_of_typ", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Tm_abs_9add4301e24a482cad3210ba222ff660" - ], - 0, - "8744a72f481c3434f60030982026ae7b" - ], - [ - "FStar.Pointer.Base.field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_630f4ea120e51fbdccd80790504db19e", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "5322c69156bd3e3b4aa4076d56902a3d" - ], - [ - "FStar.Pointer.Base.ufield", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gufield", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2f0ee03cb351104c406e5fab04712a9c", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "ed56f0f879c63d93c01f83ded668330f" - ], - [ - "FStar.Pointer.Base.cell", - 1, - 1, - 1, - [ "@query" ], - 0, - "a30fe65343951c615e2b47a6e38c0807" - ], - [ - "FStar.Pointer.Base.cell", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.gcell", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_95ca5788740b2281baacad759e71270f", - "typing_FStar.Map.domain", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap" - ], - 0, - "7707570829c2d6574b960abfce4feb59" - ], - [ - "FStar.Pointer.Base.reference_of", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.contains", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_Prims.eqtype", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.int", - "haseqTm_refine_774ba3f728d91ead8ef40be66c9802e5", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_34fbe053a9bd90fe28a8c099cc43600c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "1101ecef73e7483ea6d251af584d14e6" - ], - [ - "FStar.Pointer.Base.read", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", "disc_equation_FStar.Pointer.Base.Pointer", - "eq2-interp", "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_Prims.Mkdtuple2__1", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_6f9aa66937ca4c204e459d01042299f6", - "refinement_interpretation_Tm_refine_81a0d54c78434fc678ec7202c4b9fc09", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.reference_of", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.live", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "43bba79f5f551ef3cd66d6eca4fe0bf9" - ], - [ - "FStar.Pointer.Base.is_null", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "constructor_distinct_FStar.Pointer.Base.NullPtr", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.Monotonic.Heap.equal_dom", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.nlive", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_intro", - "lemma_FStar.Set.lemma_equal_refl", - "projection_inverse_FStar.Pointer.Base.NullPtr_to", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_bb3ae679001acd4c6774b129b21fb7f7", - "true_interp", "typing_FStar.Map.domain", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Pointer.Base.g_is_null" - ], - 0, - "fdf65bb6405dce1d06ad8036505acd0d" - ], - [ - "FStar.Pointer.Base.owrite", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_upd.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.LocBuffer", - "data_elim_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_Prims.Mkdtuple2@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.Heap.trivial_rel", - "equation_FStar.HyperStack.ST.equal_domains", - "equation_FStar.HyperStack.ST.is_live_for_rw_in", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_mreference", - "equation_FStar.Monotonic.Heap.equal_dom", - "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.mreference", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Monotonic.HyperStack.upd", - "equation_FStar.Pervasives.dfst", "equation_FStar.Pointer.Base.aloc", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_preserved", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_aux_preserved", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_preserved", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", "equation_Prims.eqtype", - "equation_Prims.logical", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_FStar.Pointer.Base.loc_aux", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Heap.trivial_preorder", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", "int_inversion", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "interpretation_Tm_abs_568747eb5009c1dec504311dee989dc2", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "interpretation_Tm_abs_b66b60341cf47258f5ae9ea4a40f3bb1", - "kinding_FStar.Pointer.Base.typ@tok", "l_and-interp", - "lemma_FStar.HyperStack.ST.lemma_same_refs_in_all_regions_elim", - "lemma_FStar.Map.lemma_ContainsDom", "lemma_FStar.Map.lemma_SelUpd1", - "lemma_FStar.Map.lemma_SelUpd2", - "lemma_FStar.Monotonic.Heap.lemma_contains_upd_modifies", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd1", - "lemma_FStar.Monotonic.Heap.lemma_sel_upd2", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.aref_live_at_aref_of", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.is_mm_aref_of", - "lemma_FStar.Monotonic.HyperStack.lemma_mk_mem__projectors", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.disjoint_sym_", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.path_sel_upd_same", - "lemma_FStar.Pointer.Base.readable_live", - "lemma_FStar.Set.lemma_equal_elim", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.ModifiesGen.Cls_aloc_preserved", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_preserved", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "projection_inverse_Prims.Mkdtuple2__1", - "projection_inverse_Prims.Mkdtuple2__2", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_60907afdf5bb4feb7e8ea7ef7a2ad5dc", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_81a0d54c78434fc678ec7202c4b9fc09", - "refinement_interpretation_Tm_refine_ee0c42debbc39763e22b0866c76a996c", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_preserved", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_preserved", - "true_interp", "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Map.domain", "typing_FStar.Map.sel", - "typing_FStar.Map.upd", "typing_FStar.Monotonic.Heap.upd", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.aref_live_at", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_rid_ctr", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.reference_of", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pervasives.dfst", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.frameOf", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.live", - "typing_FStar.Pointer.Base.reference_of", "typing_FStar.Set.mem", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle", - "typing_Prims.eq2", "typing_Prims.l_and" - ], - 0, - "9a23b3a48f36ada64341c00087efca14" - ], - [ - "FStar.Pointer.Base.write", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.ovalue_of_value.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.value_of_ovalue.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.gread", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.readable", "l_and-interp", - "lemma_FStar.Pointer.Base.ovalue_is_readable_ovalue_of_value", - "lemma_FStar.Pointer.Base.value_of_ovalue_of_value", - "refinement_interpretation_Tm_refine_2c7ecebd8a41d0890aab4251b61d6458", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "typing_FStar.Pointer.Base.live", - "typing_FStar.StrongExcludedMiddle.strong_excluded_middle" - ], - 0, - "36f5e45cd68ee5252ae4d0fea9c4a71b" - ], - [ - "FStar.Pointer.Base.write_union_field", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "constructor_distinct_FStar.Pervasives.Native.Some", - "disc_equation_FStar.Pervasives.Native.Some", "eq2-interp", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Pointer.Base.is_active_union_field", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_FStar.Pointer.Base.type_of_struct_field_", - "equation_FStar.Pointer.Base.type_of_struct_field__", - "equation_FStar.Pointer.Base.union_typ", - "function_token_typing_FStar.Monotonic.Heap.heap", "l_and-interp", - "lemma_FStar.Map.lemma_ContainsDom", - "proj_equation_FStar.Pervasives.Native.Some_v", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_FStar.Pervasives.Native.Some_a", - "projection_inverse_FStar.Pervasives.Native.Some_v", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "string_inversion", - "token_correspondence_FStar.Pointer.Base.otype_of_typ", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Pointer.Base.none_ovalue", - "typing_FStar.Pointer.Base.typ_of_struct_field" - ], - 0, - "73b3de430fe49317193f158d676c210e" - ], - [ - "FStar.Pointer.Base.modifies_fresh_frame_popped", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "equation_FStar.ModifiesGen.loc_all_regions_from", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.fresh_frame", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.popped", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies", - "function_token_typing_FStar.Monotonic.Heap.heap", - "lemma_FStar.Map.lemma_ContainsDom", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "typing_FStar.Map.contains", "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip" - ], - 0, - "c099712fdb8313ba8d95e32b87e98e76" - ], - [ - "FStar.Pointer.Base.modifies_only_live_regions", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies" - ], - 0, - "4ce7667538e53b66553b19a629f8941b" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "82ff96d5e2cb22f325032917e859ca3a" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 2, - 1, - 1, - [ - "@query", "equation_FStar.ModifiesGen.loc_region_only", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_regions", - "equation_FStar.Pointer.Base.loc_union", - "equation_FStar.Pointer.Base.modifies", "equation_FStar.Set.subset", - "equation_Prims.nat" - ], - 0, - "ac10edbfa5153af01e844c7fe8dd792c" - ], - [ - "FStar.Pointer.Base.modifies_loc_addresses_intro", - 3, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "7a0de365c01bc19883722d8554267b25" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_struct", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "disc_equation_Prims.Cons", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gfield", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.struct_field", - "equation_FStar.Pointer.Base.struct_field_", - "equation_FStar.Pointer.Base.typ_of_struct_field", - "equation_Prims.eqtype", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "function_token_typing_Prims.string", - "kinding_FStar.Pervasives.Native.tuple2@tok", - "kinding_FStar.Pointer.Base.typ@tok", - "lemma_FStar.Pointer.Base.loc_disjoint_gfield", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.readable_gfield", - "lemma_FStar.Pointer.Base.readable_live", - "proj_equation_FStar.Pointer.Base.Mkstruct_typ_fields", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_9560ef23f44dd048af58f1767cc19bc8", - "refinement_interpretation_Tm_refine_c6dda526ae22ec011a2853adf9fa6a29", - "refinement_interpretation_Tm_refine_eda496a665ec0c486d3c3de30bfc4462", - "string_inversion", - "typing_FStar.Pointer.Base.__proj__Mkstruct_typ__item__fields", - "typing_FStar.Pointer.Base.gfield", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.typ_of_struct_field", - "typing_Prims.uu___is_Cons" - ], - 0, - "2ded2ebdc699a06b4a6841569c7686a5" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_array", - 1, - 1, - 1, - [ "@query" ], - 0, - "63a9a88f12f999c5456f9533ff39962f" - ], - [ - "FStar.Pointer.Base.modifies_1_readable_array", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.otype_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "b2t_def", - "bool_inversion", "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", - "data_elim_FStar.Pointer.Base.Pointer", "data_elim_Prims.Mkdtuple2", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.is_tip", - "equation_FStar.Monotonic.HyperStack.is_wf_with_ctr_and_tip", - "equation_FStar.Monotonic.HyperStack.mem", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pervasives.Native.option", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", "lemma_FStar.Map.lemma_ContainsDom", - "lemma_FStar.Pointer.Base.live_gcell", - "lemma_FStar.Pointer.Base.loc_disjoint_gcell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.Pointer.Base.otype_of_typ_array", - "lemma_FStar.Pointer.Base.readable_gcell", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "projection_inverse_FStar.Pointer.Base.TArray_length", - "projection_inverse_FStar.Pointer.Base.TArray_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.contains", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.get_tip", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.gcell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", "unit_typing" - ], - 0, - "1fb8b29069b289f38896481de368d623" - ], - [ - "FStar.Pointer.Base.read_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "eed1fd42a4f4427516548be493847d9f" - ], - [ - "FStar.Pointer.Base.read_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.readable", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "l_and-interp", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_e9f80e94617693055b40900dbd5751b9" - ], - 0, - "ecd64d0f3f7523120019de66be9d2f80" - ], - [ - "FStar.Pointer.Base.write_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", "b2t_def", "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.Pointer.Base.buffer_length_buffer_as_seq", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739" - ], - 0, - "a7ad0d26e8c591d3ba7e89b4a3c306c0" - ], - [ - "FStar.Pointer.Base.write_buffer", - 2, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_FStar.Pointer.Base.ovalue_is_readable.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.path_sel.fuel_instrumented", - "@fuel_correspondence_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@fuel_irrelevance_FStar.Pointer.Base.type_of_typ.fuel_instrumented", - "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "b2t_def", "bool_inversion", "bool_typing", - "constructor_distinct_FStar.Pointer.Base.PathStep", - "constructor_distinct_FStar.Pointer.Base.Pointer", - "constructor_distinct_FStar.Pointer.Base.StepCell", - "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_Prims.Mkdtuple2", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.sel", - "equation_FStar.Pervasives.dfst", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.array_length_t", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_readable", - "equation_FStar.Pointer.Base.buffer_readable_", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.equal_values", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.modifies_1", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.readable", - "equation_FStar.Pointer.Base.step_sel", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_with_fuel_FStar.Pointer.Base.path_sel.fuel_instrumented", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "fuel_guarded_inversion_Prims.dtuple2", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", - "interpretation_Tm_abs_9add4301e24a482cad3210ba222ff660", - "l_and-interp", - "lemma_FStar.Pointer.Base.gread_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Pointer.Base.loc_disjoint_gcell", - "lemma_FStar.Pointer.Base.modifies_pointer_elim", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "proj_equation_FStar.Pointer.Base.Pointer_from", - "proj_equation_FStar.Pointer.Base.Pointer_p", - "proj_equation_Prims.Mkdtuple2__1", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.PathStep_from", - "projection_inverse_FStar.Pointer.Base.PathStep_p", - "projection_inverse_FStar.Pointer.Base.PathStep_s", - "projection_inverse_FStar.Pointer.Base.PathStep_through", - "projection_inverse_FStar.Pointer.Base.PathStep_to", - "projection_inverse_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_FStar.Pointer.Base.Pointer_from", - "projection_inverse_FStar.Pointer.Base.Pointer_p", - "projection_inverse_FStar.Pointer.Base.Pointer_to", - "projection_inverse_FStar.Pointer.Base.StepCell_index", - "projection_inverse_FStar.Pointer.Base.StepCell_length", - "projection_inverse_FStar.Pointer.Base.StepCell_value", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_35927a15e9516018e6643fa65a3f830c", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_9e7f68c38e43484e77069094f4fd88d3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "refinement_interpretation_Tm_refine_c8a149bfed84d9c7f91b56b75749a739", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Monotonic.HyperStack.sel", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__from", - "typing_FStar.Pointer.Base.__proj__Pointer__item__p", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.frameOf_buffer", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.loc_pointer", - "typing_FStar.Pointer.Base.ovalue_is_readable", - "typing_FStar.Pointer.Base.path_sel", "typing_FStar.UInt32.add", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "d1401871e9f1ed7d013ebde2a084ffd7" - ], - [ - "FStar.Pointer.Base.buffer_live_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "FStar.Pointer.Base_pretyping_f3a233063c2acf85b4715bac19503db2", - "Prims_pretyping_f8666440faa91836cc5a13998af863fc", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base._npointer", - "constructor_distinct_Prims.unit", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperHeap.hmap", - "equation_FStar.Monotonic.HyperStack.as_addr", - "equation_FStar.Monotonic.HyperStack.contains", - "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.unused_in", - "equation_FStar.Pointer.Base._cell", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gcell", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Monotonic.Heap.heap", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "int_inversion", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.Heap.lemma_contains_implies_used", - "lemma_FStar.Monotonic.Heap.lemma_distinct_addrs_unused", - "lemma_FStar.Monotonic.HyperStack.aref_as_addr_aref_of", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_aref_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "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_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", "typing_FStar.Map.sel", - "typing_FStar.Monotonic.HyperHeap.rid", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.as_ref", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.get_hmap", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of", - "typing_FStar.Pointer.Base.not_an_array_cell", "unit_typing" - ], - 0, - "9bee1300faa4ad002f0ffe74566a4fa9" - ], - [ - "FStar.Pointer.Base.pointer_live_buffer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.greference_of", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_buffer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Monotonic.HyperStack.unused_in_aref_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf", - "lemma_FStar.Pointer.Base.unused_in_greference_of", - "proj_equation_FStar.ModifiesGen.Cls_aloc_disjoint", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.ModifiesGen.Cls_aloc_disjoint", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_7ae259fb7a49b4d47af4153553bb7fa3", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.aref_of", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell", - "typing_FStar.Pointer.Base.greference_of" - ], - 0, - "12f0f21f1fa67e04bbe0cc4c6189d80e" - ], - [ - "FStar.Pointer.Base.buffer_live_pointer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.Pointer.Base_pretyping_c187978e0b47d492be4f7ef67953e027", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.LocBuffer", - "constructor_distinct_FStar.Pointer.Base.LocPointer", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.Pointer", - "data_typing_intro_FStar.Pointer.Base.TArray@tok", - "disc_equation_FStar.Pointer.Base.Pointer", "eq2-interp", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.disjoint_buffer_vs_pointer", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.gpointer_of_buffer_cell", - "equation_FStar.Pointer.Base.live", - "equation_FStar.Pointer.Base.loc_aux_disjoint", - "equation_FStar.Pointer.Base.loc_aux_disjoint_pointer", - "equation_FStar.Pointer.Base.loc_aux_in_addr", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_pointer", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.pointer_ref_contents", - "equation_FStar.Pointer.Base.unused_in", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_FStar.Pointer.Base.pointer_ref_contents", - "interpretation_Tm_abs_5588b165ff73228a6a45b3d5bd80e04a", - "l_and-interp", - "lemma_FStar.Monotonic.HyperStack.as_addr_greference_of", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Monotonic.HyperStack.contains_greference_of", - "lemma_FStar.Monotonic.HyperStack.frameOf_greference_of", - "lemma_FStar.Pointer.Base.as_addr_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.frameOf_gpointer_of_buffer_cell", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "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", - "projection_inverse_FStar.Pointer.Base.LocBuffer_b", - "projection_inverse_FStar.Pointer.Base.LocBuffer_t", - "projection_inverse_FStar.Pointer.Base.LocPointer_p", - "projection_inverse_FStar.Pointer.Base.LocPointer_t", - "refinement_interpretation_Tm_refine_1d7f81705c35971e00b909e37163cd25", - "refinement_interpretation_Tm_refine_4d0dd697db2857c49f85536bd0dded47", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_c8374bfee518478c6a0e30260a118ee6", - "token_correspondence_FStar.ModifiesGen.__proj__Cls__item__aloc_disjoint", - "token_correspondence_FStar.Pointer.Base.loc_aux_disjoint", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.greference_of", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.__proj__Pointer__item__contents", - "typing_FStar.Pointer.Base.gpointer_of_buffer_cell" - ], - 0, - "68a19b5abf350d2a225d68f18cd02a7e" - ], - [ - "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "e952ddf69f94ad8840b487e824b56209" - ], - [ - "FStar.Pointer.Base.reference_live_buffer_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "data_elim_FStar.Pointer.Base.BufferRootArray", - "data_elim_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Pointer", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "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.Pointer.Base.as_addr", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_unused_in", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Pointer.Base.npointer", - "equation_FStar.Pointer.Base.pointer", - "equation_FStar.Pointer.Base.unused_in", "equation_FStar.Set.subset", - "equation_Prims.eqtype", "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._npointer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Monotonic.HyperStack.contains_aref_unused_in", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "proj_equation_FStar.Pointer.Base.Pointer_contents", - "projection_inverse_BoxBool_proj_0", - "refinement_interpretation_Tm_refine_05e15190c946858f68c69156f585f95a", - "refinement_interpretation_Tm_refine_365abba901205a01d0ef28ebf2198c47", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperHeap.rid_freeable", - "typing_FStar.Monotonic.HyperHeap.root", - "typing_FStar.Monotonic.HyperStack.frameOf", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr" - ], - 0, - "131bc5ec42ec3d20885b6586a3efda57" - ], - [ - "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "equation_Prims.eqtype", - "equation_Prims.nat", "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f" - ], - 0, - "a9bfcbc543788eac250810bc925f305a" - ], - [ - "FStar.Pointer.Base.buffer_live_reference_unused_in_disjoint", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Heap.trivial_preorder", - "equation_FStar.HyperStack.reference", - "equation_FStar.ModifiesGen.loc_freed_mreference", - "equation_FStar.Monotonic.HyperStack.live_region", - "equation_FStar.Monotonic.HyperStack.mreference", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_as_addr", - "equation_FStar.Pointer.Base.buffer_live", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.frameOf_buffer", - "equation_FStar.Pointer.Base.loc_addresses", - "equation_FStar.Pointer.Base.loc_buffer", - "equation_FStar.Pointer.Base.loc_disjoint", - "equation_FStar.Pointer.Base.loc_includes", - "equation_FStar.Set.subset", "equation_Prims.eqtype", - "equation_Prims.nat", "equation_Prims.pos", - "fuel_guarded_inversion_FStar.Monotonic.HyperStack.mreference_", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "function_token_typing_Prims.int", - "haseqTm_refine_542f9d4f129664613f2483a6c88bc7c2", - "lemma_FStar.Pointer.Base.live_region_frameOf_buffer", - "lemma_FStar.Set.mem_intersect", "lemma_FStar.Set.mem_singleton", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_Equality", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_414d0a9f578ab0048252f8c8f552b99f", - "refinement_interpretation_Tm_refine_774ba3f728d91ead8ef40be66c9802e5", - "refinement_interpretation_Tm_refine_afd51579b90d50ea23e03b743a1fa001", - "refinement_kinding_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "typing_FStar.Heap.trivial_preorder", - "typing_FStar.Monotonic.HyperStack.as_addr", - "typing_FStar.Monotonic.HyperStack.live_region", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_as_addr" - ], - 0, - "fc20c2b6f95d7ae7992e96ba864f5e0c" - ], - [ - "FStar.Pointer.Base.root_buffer", - 1, - 1, - 1, - [ - "@MaxFuel_assumption", "@MaxIFuel_assumption", - "@fuel_correspondence_Prims.pow2.fuel_instrumented", - "@fuel_irrelevance_Prims.pow2.fuel_instrumented", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", - "constructor_distinct_FStar.Pointer.Base.BufferRootArray", - "constructor_distinct_FStar.Pointer.Base.BufferRootSingleton", - "data_elim_FStar.Pointer.Base.Buffer", - "disc_equation_FStar.Pointer.Base.BufferRootArray", - "disc_equation_FStar.Pointer.Base.BufferRootSingleton", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.g_is_null", - "equation_FStar.Pointer.Base.not_an_array_cell", - "equation_FStar.Pointer.Base.pointer", "equation_FStar.UInt.fits", - "equation_FStar.UInt.max_int", "equation_FStar.UInt.min_int", - "equation_FStar.UInt.size", "equation_FStar.UInt.uint_t", - "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "lemma_FStar.UInt.pow2_values", - "lemma_FStar.UInt32.vu_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_max_length", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_p", - "projection_inverse_FStar.Pointer.Base.BufferRootArray_t", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_p", - "projection_inverse_FStar.Pointer.Base.BufferRootSingleton_t", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5a212a071163d99770d05bcb6b988cd0", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_b31ca53c440388681f8686931d7c051a", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.not_an_array_cell", - "typing_FStar.UInt.fits", "typing_FStar.UInt32.v" - ], - 0, - "f18c8b1ad1307c2c342cacda4e1f8391" - ], - [ - "FStar.Pointer.Base.buffer_idx", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.root_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.UInt32.uv_inv", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.root_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "b7e487d4ccfef18e08989576855c383b" - ], - [ - "FStar.Pointer.Base.buffer_eq_gsub_root", - 1, - 1, - 1, - [ "@query" ], - 0, - "95304e90c44378c0aba433f0a46b0c7f" - ], - [ - "FStar.Pointer.Base.buffer_eq_gsub_root", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "constructor_distinct_Tm_unit", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" - ], - 0, - "ba63038f3e5cdd30957219e18768786c" - ], - [ - "FStar.Pointer.Base.root_buffer_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot" - ], - 0, - "52ea29e30b74c9ba1971ac68738bfd2e" - ], - [ - "FStar.Pointer.Base.buffer_idx_gsub_buffer", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "int_inversion", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt32.v" - ], - 0, - "c34668f75f1ba18fadb7665ee1c9041d" - ], - [ - "FStar.Pointer.Base.buffer_idx_gsub_buffer", - 2, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.gsub_buffer", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx" - ], - 0, - "90d0fe6d53bef94794a65cf5524cab5a" - ], - [ - "FStar.Pointer.Base.buffer_includes_refl", - 1, - 1, - 1, - [ - "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes", "l_and-interp", - "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "a83451719aad37567413e66e059737fb" - ], - [ - "FStar.Pointer.Base.buffer_includes_trans", - 1, - 1, - 1, - [ - "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_includes", "l_and-interp", - "primitive_Prims.op_Addition", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0" - ], - 0, - "8681787d1d88eb612e201caa60387ebb" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub_r", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "l_and-interp", "lemma_FStar.Pointer.Base.buffer_idx_gsub_buffer", - "lemma_FStar.Pointer.Base.buffer_length_gsub_buffer", - "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "3b744b8a92e930d9016c11172b644b3d" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub", - 1, - 1, - 1, - [ "@query" ], - 0, - "ca56e903c0ddb1ea766bbd14e7f43531" - ], - [ - "FStar.Pointer.Base.buffer_includes_gsub", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", "bool_inversion", - "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", "int_inversion", - "int_typing", "l_and-interp", - "lemma_FStar.Pointer.Base.root_buffer_gsub_buffer", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.uint_to_t", - "typing_FStar.UInt32.v" - ], - 0, - "efb65a069f3bfc1459eff311a59dfbce" - ], - [ - "FStar.Pointer.Base.buffer_includes_elim", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "lemma_FStar.UInt32.uv_inv", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_3256d3fe4550b585f500f20586b94bcb", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__blength", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.buffer_root_length", - "typing_FStar.Pointer.Base.root_buffer", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "148cdaeb95fd565b8caae6bcaf43c6af" - ], - [ - "FStar.Pointer.Base.buffer_includes_elim", - 2, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "FStar.UInt32_pretyping_2ab3c8ba2d08b0172817fc70b5994868", "b2t_def", - "bool_inversion", "bool_typing", "constructor_distinct_Tm_unit", - "data_elim_FStar.Pointer.Base.Buffer", "eq2-interp", - "equation_FStar.Pointer.Base.buffer", - "equation_FStar.Pointer.Base.buffer_idx", - "equation_FStar.Pointer.Base.buffer_includes", - "equation_FStar.Pointer.Base.buffer_length", - "equation_FStar.Pointer.Base.buffer_root_length", - "equation_FStar.Pointer.Base.gsub_buffer", - "equation_FStar.Pointer.Base.root_buffer", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "equation_Prims.nat", - "fuel_guarded_inversion_FStar.Pointer.Base._buffer", - "fuel_guarded_inversion_FStar.Pointer.Base.buffer_root", - "int_inversion", "int_typing", "l_and-interp", - "lemma_FStar.UInt32.uv_inv", "lemma_FStar.UInt32.vu_inv", - "primitive_Prims.op_Addition", "primitive_Prims.op_AmpAmp", - "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "proj_equation_FStar.Pointer.Base.Buffer_bidx", - "proj_equation_FStar.Pointer.Base.Buffer_blength", - "proj_equation_FStar.Pointer.Base.Buffer_broot", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "projection_inverse_FStar.Pointer.Base.Buffer_bidx", - "projection_inverse_FStar.Pointer.Base.Buffer_blength", - "projection_inverse_FStar.Pointer.Base.Buffer_broot", - "refinement_interpretation_Tm_refine_0ea1fba779ad5718e28476faeef94d56", - "refinement_interpretation_Tm_refine_542f9d4f129664613f2483a6c88bc7c2", - "refinement_interpretation_Tm_refine_5f4176692ba0d4ebb4eb0d80d43bf405", - "refinement_interpretation_Tm_refine_709aff84c75b0fff77dcbf3b529649dd", - "refinement_interpretation_Tm_refine_aa4b3d268075d84252df525db1f85524", - "refinement_interpretation_Tm_refine_bc3e4ef50c18a50a72b09b9950468e20", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.__proj__Buffer__item__bidx", - "typing_FStar.Pointer.Base.__proj__Buffer__item__broot", - "typing_FStar.Pointer.Base.buffer_length", - "typing_FStar.Pointer.Base.gsub_buffer", - "typing_FStar.Pointer.Base.root_buffer", "typing_FStar.UInt.fits", - "typing_FStar.UInt32.add", "typing_FStar.UInt32.sub", - "typing_FStar.UInt32.uint_to_t", "typing_FStar.UInt32.v" - ], - 0, - "98ab333cf5f218788a68e64e4820bf57" - ], - [ - "FStar.Pointer.Base.buffer_includes_loc_includes", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", "b2t_def", - "equation_FStar.UInt.fits", "equation_FStar.UInt.max_int", - "equation_FStar.UInt.min_int", "equation_FStar.UInt.size", - "equation_FStar.UInt.uint_t", "primitive_Prims.op_Addition", - "primitive_Prims.op_AmpAmp", "primitive_Prims.op_LessThanOrEqual", - "primitive_Prims.op_Subtraction", - "projection_inverse_BoxBool_proj_0", - "projection_inverse_BoxInt_proj_0", - "refinement_interpretation_Tm_refine_f13070840248fced9d9d60d77bdae3ec", - "typing_FStar.Pointer.Base.buffer_length", "typing_FStar.UInt32.v" - ], - 0, - "c50e9a9939cd46783aa50143b266b727" - ], - [ - "FStar.Pointer.Base.loc_of_cloc_of_loc", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.loc_of_cloc" - ], - 0, - "f0d337fcff7664a23f7829b63e735186" - ], - [ - "FStar.Pointer.Base.cloc_of_loc_of_cloc", - 1, - 1, - 1, - [ - "@query", "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.loc_of_cloc" - ], - 0, - "3de068f1df423493d8f8f03aee070984" - ], - [ - "FStar.Pointer.Base.loc_includes_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_includes", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "3163ba918728070db1b6d3bfb15cf4cf" - ], - [ - "FStar.Pointer.Base.loc_disjoint_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.loc_disjoint", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "832cd203f36fbd2a09c3fa4e8de2ecfa" - ], - [ - "FStar.Pointer.Base.modifies_to_cloc", - 1, - 1, - 1, - [ - "@MaxIFuel_assumption", "@query", - "equation_FStar.Pointer.Base.cloc_cls", - "equation_FStar.Pointer.Base.cloc_of_loc", - "equation_FStar.Pointer.Base.cls", - "equation_FStar.Pointer.Base.modifies", - "fuel_guarded_inversion_FStar.ModifiesGen.cls", - "projection_inverse_FStar.ModifiesGen.Cls_aloc", - "typing_FStar.Pointer.Base.cloc_cls" - ], - 0, - "4766891a8699cf30faf2d702ece8d11a" - ] - ] -] \ No newline at end of file diff --git a/ulib/legacy/LowStar.ToFStarBuffer.fst b/ulib/legacy/LowStar.ToFStarBuffer.fst index 43ed7628305..1bcad243243 100644 --- a/ulib/legacy/LowStar.ToFStarBuffer.fst +++ b/ulib/legacy/LowStar.ToFStarBuffer.fst @@ -16,7 +16,6 @@ module LowStar.ToFStarBuffer (* WARNING: FOR TRANSITIONAL PURPOSES ONLY *) -#set-options "--ext 'context_pruning='" module Old = FStar.Buffer module OldM = FStar.Modifies module New = LowStar.Buffer diff --git a/ulib/ml/app-extra/FStar_Buffer.ml b/ulib/ml/app-extra/FStar_Buffer.ml new file mode 100644 index 00000000000..0fe0c803e94 --- /dev/null +++ b/ulib/ml/app-extra/FStar_Buffer.ml @@ -0,0 +1,68 @@ + +let disjoint_only_lemma t b t' b' = () +let eq_lemma h0 h1 size a mods = () +let modifies_transitivity_lemma mods h0 h1 h2 = () +let modifies_subset_lemma mods submods h0 h1 = () +let modifies_empty_lemma h = () +let modifies_fresh_lemma h0 h1 mods size b = () + +type ('a, 'b, 'c, 'd) disjoint = unit +type ('a, 'b, 'c) live = unit + +type abuffer = | Buff of (unit * unit) + +type 'a buffer = { + content:'a array; + idx:int; + length:int; + } + +type u8 = FStar_UInt8.t +type u32 = FStar_UInt32.t +type u64 = FStar_UInt64.t +type u128 = FStar_UInt128.t + +type uint8s = u8 buffer +type uint32s = u32 buffer +type uint64s = u64 buffer +type uint128s = u128 buffer + +let create init len = {content = Array.make len init; idx = 0; length = len} +let createL l = {content = Array.of_list l; idx = 0; length = List.length l} +let rcreate r init len = create init len +let index b n = Array.get b.content (n+b.idx) +let upd (b:'a buffer) (n:u32) (v:'a) = Array.set b.content (FStar_UInt32.to_native_int n + b.idx) v +let sub b i len = {content = b.content; idx = b.idx+i; length = len} +let offset b i = {content = b.content; idx = b.idx+i; length = b.length-i} +let blit a idx_a b idx_b len = + let idx_a = FStar_UInt32.to_native_int idx_a in + let idx_b = FStar_UInt32.to_native_int idx_b in + let len = FStar_UInt32.to_native_int len in + Array.blit a.content (idx_a+a.idx) b.content (idx_b+b.idx) len + +let fill a z len = Array.fill a.content a.idx (FStar_UInt32.to_native_int len) z +let split a i = (sub a 0 i, sub a i (a.length - i)) +let of_seq s l = () +let copy b l = {content = Array.sub b.content b.idx l; idx = 0; length = l} + +let eqb b1 b2 (len:u32) = + Array.sub b1.content b1.idx (FStar_UInt32.to_native_int len) = Array.sub b2.content b2.idx (FStar_UInt32.to_native_int len) + +type ('a, 'b, 'c, 'd) modifies_buf = unit +let op_Plus_Plus a b = BatSet.empty +let only a = BatSet.empty + +let op_Array_Access b n = index b n +let op_Array_Assignment b n v = upd b n v + +let recall = fun b -> () + +let of_ocaml_array a = { + content = a; + idx = 0; + length = Array.length a +} + +(* AR: revisit. This is used in the idealization code of AEAD encrypt *) +let to_seq_full b = Obj.magic () + diff --git a/ulib/ml/app-extra/FStar_HyperStack_ST.ml b/ulib/ml/app-extra/FStar_HyperStack_ST.ml new file mode 100644 index 00000000000..73817896ff0 --- /dev/null +++ b/ulib/ml/app-extra/FStar_HyperStack_ST.ml @@ -0,0 +1,80 @@ +open FStar_CommonST + +open FStar_Monotonic_HyperHeap +open FStar_Monotonic_HyperStack + +open FStar_HyperStack + +let push_frame () = () +let pop_frame () = () + +let root = () + +let def_rid = root + +let salloc (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (root, r) + +let salloc_mm (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (root, r) + +let sfree r = () + +let new_region = (fun r0 -> def_rid) +let new_colored_region = (fun r0 c -> def_rid) + +let ralloc i (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (i, r) + +let ralloc_mm i (contents:'a) :('a reference) = + let r = FStar_CommonST.alloc contents in + MkRef (i, r) + +let rfree r = () + +let op_Colon_Equals r v = match r with + | MkRef (_, r) -> op_Colon_Equals r v + +let op_Bang r = match r with + | MkRef (_, r) -> op_Bang r + +let read = op_Bang + +let write = op_Colon_Equals + +let get () = HS (Prims.parse_int "0", FStar_Map.const FStar_Monotonic_Heap.emp, def_rid) + +let recall = (fun r -> ()) + +let recall_region = (fun r -> ()) +let witness_region _ = () +let witness_hsref _ = () +type erid = rid + +type 'a ref = 'a FStar_HyperStack.reference +type ('a, 'b) mreference = 'a ref +type 'a reference = 'a ref +let alloc = salloc +type ('a, 'b) mref = 'a ref +type ('a, 'b, 'c) m_rref = 'b ref +type ('a, 'b, 'c, 'd, 'e) stable_on_t = unit +let mr_witness _ _ _ _ _ = () +let testify _ = () +let testify_forall _ = () +let testify_forall_region_contains_pred _ _ = () + +type ex_rid = erid +type 'a witnessed = 'a FStar_CommonST.witnessed +type ('a, 'b, 'c, 'd) stable_on = unit +type ('a, 'b, 'c, 'd) token = unit +let witness_p _ _ = () +let recall_p _ _ = () + +type drgn = rid +let new_drgn _ = () +let free_drgn _ = () +let ralloc_drgn = ralloc +let ralloc_drgn_mm = ralloc_mm diff --git a/ulib/ml/app-extra/README.txt b/ulib/ml/app-extra/README.txt new file mode 100644 index 00000000000..0a613f953fd --- /dev/null +++ b/ulib/ml/app-extra/README.txt @@ -0,0 +1,3 @@ +This is really part of the application library, but depends on some extracted +lib modules so it cannot be used in building the compiler. Hence, we separate it here, +so we can just include 'app' when building fstarc-bare. diff --git a/ulib/ml/app/FStar_All.ml b/ulib/ml/app/FStar_All.ml new file mode 100644 index 00000000000..c9a376ee3ac --- /dev/null +++ b/ulib/ml/app/FStar_All.ml @@ -0,0 +1,3 @@ +exception Failure = Failure +let failwith x = raise (Failure x) +let exit i = exit (Z.to_int i) diff --git a/ulib/ml/app/FStar_Bytes.ml b/ulib/ml/app/FStar_Bytes.ml new file mode 100644 index 00000000000..ac80dca1b1b --- /dev/null +++ b/ulib/ml/app/FStar_Bytes.ml @@ -0,0 +1,249 @@ +module U8 = FStar_UInt8 +module U16 = FStar_UInt16 +module U32 = FStar_UInt32 +module U64 = FStar_UInt64 + +type u8 = U8.t +type u16 = U16.t +type u32 = U32.t + +type byte = u8 + +type bytes = string +type cbytes = string (* not in FStar.Bytes *) + +let len (b:bytes) = U32.of_native_int (String.length b) +let length (b:bytes) = Z.of_int (String.length b) + +let reveal (b:bytes) = () +let length_reveal (x:bytes) = () +let hide s = () +let hide_reveal (x:bytes) = () +let reveal_hide s = () + +type 'a lbytes = bytes +type 'a lbytes32 = bytes +type kbytes = bytes + +let empty_bytes = "" +let empty_unique (b:bytes) = () + +let get (b:bytes) (pos:u32) = int_of_char (String.get b (Z.to_int (U32.to_int pos))) +let op_String_Access = get + +let index (b:bytes) (i:Z.t) = get b (U32.uint_to_t i) + +type ('b1, 'b2) equal = unit + +let extensionality (b1:bytes) (b2:bytes) = () + +let create (len:u32) (v:byte) = String.make (U32.to_native_int len) (char_of_int v) +let create_ (len:Z.t) (v:byte) = String.make (Z.to_int len) (char_of_int v) + +let init (len:u32) (f:u32 -> byte) = + String.init (U32.to_native_int len) + (fun (i:int) -> + let b : byte = f (U32.of_native_int i) in + char_of_int b) + +let abyte (b:byte) = create (U32.of_native_int 1) b +let twobytes (bs:(byte * byte)) = + init (U32.of_native_int 2) (fun i -> if i = U32.of_native_int 0 then fst bs else snd bs) + +let append (b1:bytes) (b2:bytes) = b1 ^ b2 +let op_At_Bar = append + +let slice (b:bytes) (s:u32) (e:u32) = + String.sub b (U32.to_native_int s) (U32.to_native_int (U32.sub e s)) +let slice_ (b:bytes) (s:Z.t) (e:Z.t) = + slice b (U32.uint_to_t s) (U32.uint_to_t e) + +let sub (b:bytes) (s:u32) (l:u32) = + String.sub b (U32.to_native_int s) (U32.to_native_int l) + +let split (b:bytes) (k:u32) = + sub b (U32.of_native_int 0) k, + sub b k (U32.sub (U32.of_native_int (String.length b)) k) +let split_ (b:bytes) (k:Z.t) = + split b (U32.of_int k) + +let fits_in_k_bytes (n:Z.t) (k:Z.t) = (* expects k to fit in an int *) + Z.leq Z.zero n && + Z.leq n (Z.of_int (BatInt.pow 2 (8 * Z.to_int k))) +type 'a uint_k = Z.t + +let rec repr_bytes (n:Z.t) = + if Z.to_int n < 256 then Z.of_int 1 + else Z.add (Z.of_int 1) (repr_bytes (Z.div n (Z.of_int 256))) + +let lemma_repr_bytes_values (n:Z.t) = () +let repr_bytes_size (k:Z.t) (n:'a uint_k) = () +let int_of_bytes (b:bytes) = + let x = ref Z.zero in + let len = String.length b in + let n = Z.of_int 256 in + for y = 0 to len-1 do + x := Z.add (Z.mul n !x) (Z.of_int (get b (U32.of_native_int y))) + done; + !x + +let bytes_of_int (nb:Z.t) (i:Z.t) = + let nb = Z.to_int nb in + let i = Z.to_int64 i in + if Int64.compare i Int64.zero < 0 then failwith "Negative 64bit."; + let rec put_bytes bb lb n = + if lb = 0 then failwith "not enough bytes" + else + begin + let lown = Int64.logand n (Int64.of_int 255) in + Bytes.set bb (lb-1) (char_of_int (Int64.to_int lown)); + let ns = Int64.div n (Int64.of_int 256) in + if Int64.compare ns Int64.zero > 0 then + put_bytes bb (lb-1) ns + else bb + end + in + let b = Bytes.make nb (char_of_int 0) in + Bytes.to_string (put_bytes b nb i) + +let int_of_bytes_of_int (k:Z.t) (n:'a uint_k) = () +let bytes_of_int_of_bytes (b:bytes) = () + +let int32_of_bytes (b:bytes) = + Z.to_int (int_of_bytes b) + +let int16_of_bytes (b:bytes) = + Z.to_int (int_of_bytes b) + +let int8_of_bytes (b:bytes) = + Z.to_int (int_of_bytes b) + +let bytes_of_int32 (n:U32.t) = + bytes_of_int (Z.of_int 4) (U32.to_int n) + +let bytes_of_int16 (n:U32.t) = + bytes_of_int (Z.of_int 2) (U32.to_int n) + +let bytes_of_int8 (n:U32.t) = + bytes_of_int (Z.of_int 1) (U32.to_int n) + +type 'a minbytes = bytes + +let xor (len:U32.t) (s1:'a minbytes) (s2:'b minbytes) : bytes = + let f (i:u32) : byte = + let l = int_of_char s1.[U32.to_native_int i] in + let r = int_of_char s2.[U32.to_native_int i] in + l lxor r + in + init len f + +let xor_ (len:Z.t) = xor (U32.of_int len) + +let xor_commutative (n:U32.t) (b1: 'a minbytes) (b2: 'b minbytes) = () +let xor_append (b1:bytes) (b2:bytes) (x1:bytes) (b2:bytes) = () +let xor_idempotent (n:U32.t) (b1:bytes) (b2:bytes) = () + +(*********************************************************************************) +(* Under discussion *) +let utf8 (x:string) : bytes = x (* TODO: use Camomile *) +let utf8_encode = utf8 +let iutf8 (x:bytes) : string = x (* TODO: use Camomile *) +let iutf8_opt (x:bytes) : string option = Some (x) +(*********************************************************************************) + +(* Some helpers to deal with the conversation from hex literals to bytes and + * conversely. Mostly for tests. *) + +let digit_to_int c = match c with + | '0'..'9' -> Char.code c - Char.code '0' + | 'a'..'f' -> 10 + Char.code c - Char.code 'a' + | _ -> failwith "hex_to_char: invalid hex digit" + +let hex_to_char a b = + Char.chr ((digit_to_int a) lsl 4 + digit_to_int b) + +let char_to_hex c = + let n = Char.code c in + let digits = "0123456789abcdef" in + digits.[n lsr 4], digits.[n land 0x0f] + +let string_of_hex s = + let n = String.length s in + if n mod 2 <> 0 then + failwith "string_of_hex: invalid length" + else + let res = Bytes.create (n/2) in + let rec aux i = + if i >= n then () + else ( + Bytes.set res (i/2) (hex_to_char s.[i] s.[i+1]); + aux (i+2) + ) + in + aux 0; + res +let bytes_of_hex s = Bytes.to_string (string_of_hex s) + +let hex_of_string s = + let n = String.length s in + let buf = Buffer.create n in + for i = 0 to n - 1 do + let d1,d2 = char_to_hex s.[i] in + Buffer.add_char buf d1; + Buffer.add_char buf d2; + done; + Buffer.contents buf +let hex_of_bytes b = hex_of_string b + +let print_bytes (s:bytes) : string = + let b = Buffer.create 1024 in + for i = 0 to String.length s - 1 do + Buffer.add_string b (Printf.sprintf "%02X" (int_of_char s.[i])); + done; + Buffer.contents b + +let string_of_bytes b = b +let bytes_of_string s = s + +(*********************************************************************************) +(* OLD *) +(*********************************************************************************) + +let cbyte (b:bytes) = + try int_of_char (String.get b 0) + with _ -> failwith "cbyte: called on empty string" + +let cbyte2 (b:bytes) = + try (int_of_char (String.get b 0), int_of_char (String.get b 1)) + with _ -> failwith "cbyte2: need at least length 2" + +let index (b:bytes) i = + try int_of_char (String.get b (Z.to_int i)) + with _ -> failwith "index: called out of bound" + +let get_cbytes (b:bytes) = b +let abytes (ba:cbytes) = ba +let abyte (ba:byte) = String.make 1 (char_of_int ba) +let abyte2 (ba1,ba2) = + String.init 2 (fun i -> if i = 0 then char_of_int ba1 else char_of_int ba2) + +let split_eq = split + +let createBytes len (value:int) : bytes = + let len = Z.to_int len in + try abytes (String.make len (char_of_int value)) + with _ -> failwith "Default integer for createBytes was greater than max_value" + +let initBytes len f : bytes = + let len = Z.to_int len in + try abytes (String.init len (fun i -> char_of_int (f (Z.of_int i)))) + with _ -> failwith "Platform.Bytes.initBytes: invalid char returned" + +let equalBytes (b1:bytes) (b2:bytes) = b1 = b2 + +let split2 (b:bytes) i j : bytes * bytes * bytes = + let b1, b2 = split b i in + let b2a, b2b = split b2 j in + (b1, b2a, b2b) + +let byte_of_int i = Z.to_int i diff --git a/ulib/ml/app/FStar_Char.ml b/ulib/ml/app/FStar_Char.ml new file mode 100644 index 00000000000..2727e723626 --- /dev/null +++ b/ulib/ml/app/FStar_Char.ml @@ -0,0 +1,21 @@ +module UChar = BatUChar + +module U32 = FStar_UInt32 + +type char = int[@@deriving yojson,show] +type char_code = U32.t + +(* FIXME(adl) UChar.lowercase/uppercase removed from recent Batteries. Use Camomile? *) +let lowercase (x:char) : char = + try Char.code (Char.lowercase_ascii (Char.chr x)) + with _ -> x + +let uppercase (x:char) : char = + try Char.code (Char.uppercase_ascii (Char.chr x)) + with _ -> x + +let int_of_char (x:char) : Z.t= Z.of_int x +let char_of_int (i:Z.t) : char = Z.to_int i + +let u32_of_char (x:char) : char_code = U32.of_native_int x +let char_of_u32 (x:char_code) : char = U32.to_native_int x diff --git a/ulib/ml/app/FStar_CommonST.ml b/ulib/ml/app/FStar_CommonST.ml new file mode 100644 index 00000000000..2a798438918 --- /dev/null +++ b/ulib/ml/app/FStar_CommonST.ml @@ -0,0 +1,19 @@ +open FStar_Monotonic_Heap + +let read x = !x + +let op_Bang x = read x + +let write x y = x := y + +let op_Colon_Equals x y = write x y + +let alloc contents = ref contents + +let recall = (fun r -> ()) +let get () = () + +type 'a witnessed = | C + +let gst_witness = (fun r -> ()) +let gst_recall = (fun r -> ()) diff --git a/ulib/ml/app/FStar_Exn.ml b/ulib/ml/app/FStar_Exn.ml new file mode 100644 index 00000000000..8128ed78d96 --- /dev/null +++ b/ulib/ml/app/FStar_Exn.ml @@ -0,0 +1 @@ +let raise = raise diff --git a/ulib/ml/app/FStar_Float.ml b/ulib/ml/app/FStar_Float.ml new file mode 100644 index 00000000000..39546f9599e --- /dev/null +++ b/ulib/ml/app/FStar_Float.ml @@ -0,0 +1,2 @@ +type double = float[@@deriving yojson,show] +type float = double[@@deriving yojson,show] diff --git a/ulib/ml/app/FStar_Heap.ml b/ulib/ml/app/FStar_Heap.ml new file mode 100644 index 00000000000..f58f5935c55 --- /dev/null +++ b/ulib/ml/app/FStar_Heap.ml @@ -0,0 +1,5 @@ +open FStar_Monotonic_Heap + +type 'a ref = 'a FStar_Monotonic_Heap.ref +type ('a, 'b, 'c) trivial_rel = Prims.l_True +type ('a, 'b, 'c) trivial_preorder = ('a, 'b, 'c) trivial_rel diff --git a/ulib/ml/app/FStar_IO.ml b/ulib/ml/app/FStar_IO.ml new file mode 100644 index 00000000000..0888665e028 --- /dev/null +++ b/ulib/ml/app/FStar_IO.ml @@ -0,0 +1,82 @@ +exception EOF +type fd_read = in_channel +type fd_write = out_channel +let stdin = stdin +let stdout = stdout +let stderr = stderr + +let pr = Printf.printf +let spr = Printf.sprintf +let fpr = Printf.fprintf + +let print_newline = print_newline +let print_string s = pr "%s" s; flush stdout + + +(* let print_nat s = + * pr "%x" s; + * flush stdout + * + * let print_nat_dec s = + * pr "%u" s; + * flush stdout *) + +let print_via (f:'a -> string) (x:'a) : unit = + print_string (f x); + flush stdout + +let print_uint8 = print_via FStar_UInt8.to_string_hex +let print_uint16 = print_via FStar_UInt16.to_string_hex +let print_uint32 = print_via FStar_UInt32.to_string_hex +let print_uint64 = print_via FStar_UInt64.to_string_hex + +let print_uint8_dec = print_via FStar_UInt8.to_string +let print_uint16_dec = print_via FStar_UInt16.to_string +let print_uint32_dec = print_via FStar_UInt32.to_string +let print_uint64_dec = print_via FStar_UInt64.to_string + +let print_uint8_hex_pad = print_via FStar_UInt8.to_string_hex_pad +let print_uint16_hex_pad = print_via FStar_UInt16.to_string_hex_pad +let print_uint32_hex_pad = print_via FStar_UInt32.to_string_hex_pad +let print_uint64_hex_pad = print_via FStar_UInt64.to_string_hex_pad + + +let __zeropad n s = + String.make (n - String.length s) '0' ^ s + +(* The magic numbers in these dec_pad functions are the precomputed + * string lengths of the maximum number when printed in decimal. + * + * - length "255" = 3 + * - length "65535" = 5 + * - length "4294967296" = 10 + * - length "18446744073709551616" = 20 + *) +let print_uint8_dec_pad n = + let s = FStar_UInt8.to_string n in + print_string (__zeropad 3 s) + +let print_uint16_dec_pad n = + let s = FStar_UInt16.to_string n in + print_string (__zeropad 5 s) + +let print_uint32_dec_pad n = + let s = FStar_UInt32.to_string n in + print_string (__zeropad 10 s) + +let print_uint64_dec_pad n = + let s = FStar_UInt64.to_string n in + print_string (__zeropad 20 s) + +let print_any s = output_value stdout s; flush stdout +let input_line = read_line +let input_int () = Z.of_int (read_int ()) +let input_float = read_float +let open_read_file = open_in +let open_write_file = open_out +let close_read_file = close_in +let close_write_file = close_out +let read_line fd = try Stdlib.input_line fd with End_of_file -> raise EOF +let write_string = output_string + +let debug_print_string s = print_string s; false diff --git a/ulib/ml/app/FStar_ImmutableArray.ml b/ulib/ml/app/FStar_ImmutableArray.ml new file mode 100644 index 00000000000..342a434e9e9 --- /dev/null +++ b/ulib/ml/app/FStar_ImmutableArray.ml @@ -0,0 +1,2 @@ +module IAB = FStar_ImmutableArray_Base +let to_list (x:'a IAB.t) = Array.to_list x diff --git a/ulib/ml/app/FStar_ImmutableArray_Base.ml b/ulib/ml/app/FStar_ImmutableArray_Base.ml new file mode 100644 index 00000000000..2cb272926af --- /dev/null +++ b/ulib/ml/app/FStar_ImmutableArray_Base.ml @@ -0,0 +1,7 @@ +type 'a t = 'a array + +let of_list (l:'a list) = Array.of_list l + +let length (a: 'a t) = Z.of_int (Array.length a) + +let index (a: 'a t) (i:Z.t) = Array.get a (Z.to_int i) diff --git a/ulib/ml/app/FStar_List.ml b/ulib/ml/app/FStar_List.ml new file mode 100644 index 00000000000..4ae3e5c1b49 --- /dev/null +++ b/ulib/ml/app/FStar_List.ml @@ -0,0 +1,82 @@ +(* We give an implementation here using OCaml's BatList, + which provides tail-recursive versions of most functions *) +include FStar_List_Tot_Base + +let isEmpty l = l = [] +let singleton x = [x] +let mem = BatList.mem +let memT = mem +let hd = BatList.hd +let tl = BatList.tl +let tail = BatList.tl + +let nth l i = BatList.nth l (Z.to_int i) +let length l = Z.of_int (BatList.length l) +let rev = BatList.rev +let map = BatList.map +let mapT = map +let mapi f l = BatList.mapi (fun i x -> f (Z.of_int i) x) l +let map2 = BatList.map2 +let rec map3 f l1 l2 l3 = + match l1, l2, l3 with + | [], [], [] -> [] + | x::xs, y::ys, z::zs -> (f x y z)::(map3 f xs ys zs) + | _, _, _ -> failwith "The lists do not have the same length" +let iter = BatList.iter +let iter2 = BatList.iter2 +let iteri_aux _ _ _ = failwith "FStar_List.ml: Not implemented: iteri_aux" +let iteri f l = BatList.iteri (fun i x -> f (Z.of_int i) x) l +let partition = BatList.partition +let append = BatList.append +let rev_append = BatList.rev_append +let fold_left = BatList.fold_left +let fold_right = BatList.fold_right +let fold_left2 = BatList.fold_left2 +let fold_right2 = BatList.fold_right2 +let rev_map_onto f l acc = fold_left (fun acc x -> f x :: acc) acc l +let rec init = function + | [] -> failwith "init: empty list" + | [h] -> [] + | h::t -> h::(init t) +let last = BatList.last +let last_opt l = List.fold_left (fun _ x -> Some x) None l +let collect f l = BatList.flatten (BatList.map f l) +let unzip = BatList.split +let rec unzip3 = function + | [] -> ([],[],[]) + | (x,y,z)::xyzs -> + let (xs,ys,zs) = unzip3 xyzs in + (x::xs,y::ys,z::zs) +let filter = BatList.filter +let sortWith f l = BatList.sort (fun x y -> Z.to_int (f x y)) l +let for_all = BatList.for_all +let forall2 = BatList.for_all2 +let tryFind f l = try Some (BatList.find f l) with | Not_found -> None +let tryFindT = tryFind +let find = tryFind +let tryPick f l = try f (BatList.find (fun x -> f x <> None) l) with | Not_found -> None +let flatten = BatList.flatten +let concat = flatten +let split = unzip +let choose = BatList.filter_map +let existsb f l = BatList.exists f l +let existsML f l = BatList.exists f l +let contains x l = BatList.exists (fun y -> x = y) l +let zip = BatList.combine +let splitAt x l = BatList.split_at (Z.to_int x) l +let filter_map = BatList.filter_map +let index f l = + Z.of_int (fst (BatList.findi (fun _ x -> f x) l)) + +let rec zip3 l1 l2 l3 = + match l1, l2, l3 with + | [], [], [] -> [] + | h1::t1, h2::t2, h3::t3 -> (h1, h2, h3) :: (zip3 t1 t2 t3) + | _ -> failwith "zip3" +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 +let fold_left_map = BatList.fold_left_map diff --git a/ulib/ml/app/FStar_List_Tot_Base.ml b/ulib/ml/app/FStar_List_Tot_Base.ml new file mode 100644 index 00000000000..537c03abb2a --- /dev/null +++ b/ulib/ml/app/FStar_List_Tot_Base.ml @@ -0,0 +1,76 @@ +(* We give an implementation here using OCaml's BatList, + which provide tail-recursive versions of most functions. + The rest we implement manually. *) + +let isEmpty l = l = [] +let hd = BatList.hd +let tail = BatList.tl +let tl = BatList.tl + +let rec last = function + | x :: [] -> x + | _ :: tl -> last tl + +let rec init = function + | _ :: [] -> [] + | hd :: tl -> hd :: init tl + +let length l = Z.of_int (BatList.length l) +let nth l i = try Some (BatList.nth l (Z.to_int i)) with _ -> None +let index l i = BatList.nth l (Z.to_int i) + +let rec count x = function + | [] -> Prims.int_zero + | hd::tl -> if x=hd then Z.add Prims.int_one (count x tl) else count x tl + +let rev_acc l r = BatList.rev_append l r +let rev = BatList.rev +let append = BatList.append +let op_At = append +let snoc (x, y) = append x [y] +let flatten = BatList.flatten +let map = BatList.map +let mapi_init _ _ _ = failwith "FStar_List_Tot_Base.ml: Not implemented: mapi_init" +let mapi f l = BatList.mapi (fun i x -> f (Z.of_int i) x) l +let concatMap f l = flatten (map f l) +let fold_left = BatList.fold_left +let fold_right = BatList.fold_right +let fold_left2 = BatList.fold_left2 +let mem = BatList.mem +type ('a, 'b, 'c) memP = unit +let contains x l = BatList.exists (fun y -> x = y) l +let existsb f l = BatList.exists f l +let find f l = try Some (BatList.find f l) with | Not_found -> None +let filter = BatList.filter +let for_all = BatList.for_all +let collect f l = BatList.flatten (BatList.map f l) +let tryFind = find +let tryPick f l = try f (BatList.find (fun x -> f x <> None) l) with | Not_found -> None +let choose = BatList.filter_map +let partition = BatList.partition +let subset la lb = BatList.subset (fun x y -> if x = y then 0 else 1) la lb + +let rec noRepeats = function + | [] -> true + | h :: tl -> not (mem h tl) && noRepeats tl + +let assoc x l = match List.assoc x l with exception Not_found -> None | x -> Some x +let split = BatList.split +let unzip = split +let rec unzip3 = function + | [] -> ([],[],[]) + | (x,y,z)::xyzs -> + let (xs,ys,zs) = unzip3 xyzs in + (x::xs,y::ys,z::zs) + +let splitAt n l = BatList.split_at (Z.to_int n) l +let unsnoc l = let l1, l2 = splitAt (Z.sub (length l) Z.one) l in l1, hd l2 +let split3 l i = let a, a1 = splitAt i l in let b :: c = a1 in a, b, c + +let bool_of_compare f x y = Z.gt (f x y) Z.zero +let compare_of_bool = + fun rel -> fun x -> fun y -> if (rel x y) then Z.one else (if x = y then Z.zero else (Z.neg Z.one)) +let sortWith f l = BatList.sort (fun x y -> Z.to_int (f x y)) l +let list_unref l = l +let list_ref _ l = l +let list_refb _ l = l diff --git a/ulib/ml/app/FStar_Monotonic_Heap.ml b/ulib/ml/app/FStar_Monotonic_Heap.ml new file mode 100644 index 00000000000..1c1cc85cb10 --- /dev/null +++ b/ulib/ml/app/FStar_Monotonic_Heap.ml @@ -0,0 +1,36 @@ +type heap = unit + +type nonrec 'a ref = 'a ref + +type ('a, 'b) mref = 'a ref + +let emp = + () + +(* Logical functions on heap *) +(* TODO : complete the functions to have the same interface as in FStar.Heap.fsti *) + +let addr_of _ = Obj.magic () +let is_mm _ = Obj.magic () + +(* let compare_addrs *) + +type ('a, 'b, 'c, 'd) contains +type ('a, 'b) addr_unused_in +type ('a, 'b, 'c, 'd) unused_in +let fresh _ _ _ = Obj.magic () + +let sel _ _ = Obj.magic () +let upd _ _ _ = Obj.magic () +let alloc _ _ _ = Obj.magic () + +let free_mm _ _ = Obj.magic () +let sel_tot = sel +let upd_tot = upd + +(* Untyped view of references *) +type aref = + | Ref of (unit * unit) +let dummy_aref = Ref ((), ()) +let aref_of _ = dummy_aref +let ref_of _ _ = Obj.magic () diff --git a/ulib/ml/app/FStar_Option.ml b/ulib/ml/app/FStar_Option.ml new file mode 100644 index 00000000000..18b7837e926 --- /dev/null +++ b/ulib/ml/app/FStar_Option.ml @@ -0,0 +1,37 @@ +open Prims +let isNone: 'a . 'a FStar_Pervasives_Native.option -> Prims.bool = + fun uu___10_12 -> + match uu___10_12 with + | FStar_Pervasives_Native.None -> true + | FStar_Pervasives_Native.Some uu____15 -> false +let isSome: 'a . 'a FStar_Pervasives_Native.option -> Prims.bool = + fun uu___11_27 -> + match uu___11_27 with + | FStar_Pervasives_Native.Some uu____30 -> true + | FStar_Pervasives_Native.None -> false +let map: + 'a 'b . + ('a -> 'b) -> + 'a FStar_Pervasives_Native.option -> 'b FStar_Pervasives_Native.option + = + fun f -> + fun uu___12_58 -> + match uu___12_58 with + | FStar_Pervasives_Native.Some x -> + let uu____64 = f x in FStar_Pervasives_Native.Some uu____64 + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None +let mapTot: + 'a 'b . + ('a -> 'b) -> + 'a FStar_Pervasives_Native.option -> 'b FStar_Pervasives_Native.option + = + fun f -> + fun uu___13_91 -> + match uu___13_91 with + | FStar_Pervasives_Native.Some x -> FStar_Pervasives_Native.Some (f x) + | FStar_Pervasives_Native.None -> FStar_Pervasives_Native.None +let get: 'a . 'a FStar_Pervasives_Native.option -> 'a = + fun uu___14_108 -> + match uu___14_108 with + | FStar_Pervasives_Native.Some x -> x + | FStar_Pervasives_Native.None -> failwith "empty option" \ No newline at end of file diff --git a/ulib/ml/app/FStar_Pervasives_Native.ml b/ulib/ml/app/FStar_Pervasives_Native.ml new file mode 100644 index 00000000000..0027fcb263a --- /dev/null +++ b/ulib/ml/app/FStar_Pervasives_Native.ml @@ -0,0 +1,285 @@ + +type 'a option' = 'a option = + | None + | Some of 'a[@@deriving yojson,show] + +type 'a option = 'a option' = + | None + | Some of 'a[@@deriving yojson,show] + +let uu___is_None = function None -> true | _ -> false +let uu___is_Some = function Some _ -> true | _ -> false +let __proj__Some__item__v = function Some x -> x | _ -> assert false + +(* 'a * 'b *) +type ('a,'b) tuple2 = 'a * 'b[@@deriving yojson,show] + +let fst = Stdlib.fst +let snd = Stdlib.snd + +let __proj__Mktuple2__item___1 = fst +let __proj__Mktuple2__item___2 = snd + +type ('a,'b,'c) tuple3 = + 'a* 'b* 'c +[@@deriving yojson,show] +let uu___is_Mktuple3 projectee = true +let __proj__Mktuple3__item___1 projectee = + match projectee with | (_1,_2,_3) -> _1 +let __proj__Mktuple3__item___2 projectee = + match projectee with | (_1,_2,_3) -> _2 +let __proj__Mktuple3__item___3 projectee = + match projectee with | (_1,_2,_3) -> _3 + +type ('a,'b,'c,'d) tuple4 = + 'a* 'b* 'c* 'd +[@@deriving yojson,show] +let uu___is_Mktuple4 projectee = true +let __proj__Mktuple4__item___1 projectee = + match projectee with | (_1,_2,_3,_4) -> _1 +let __proj__Mktuple4__item___2 projectee = + match projectee with | (_1,_2,_3,_4) -> _2 +let __proj__Mktuple4__item___3 projectee = + match projectee with | (_1,_2,_3,_4) -> _3 +let __proj__Mktuple4__item___4 projectee = + match projectee with | (_1,_2,_3,_4) -> _4 + +type ('a,'b,'c,'d,'e) tuple5 = + 'a* 'b* 'c* 'd* 'e +[@@deriving yojson,show] +let uu___is_Mktuple5 projectee = true +let __proj__Mktuple5__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _1 +let __proj__Mktuple5__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _2 +let __proj__Mktuple5__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _3 +let __proj__Mktuple5__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _4 +let __proj__Mktuple5__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5) -> _5 + +type ('a,'b,'c,'d,'e,'f) tuple6 = + 'a* 'b* 'c* 'd* 'e* 'f +[@@deriving yojson,show] +let uu___is_Mktuple6 projectee = true +let __proj__Mktuple6__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _1 +let __proj__Mktuple6__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _2 +let __proj__Mktuple6__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _3 +let __proj__Mktuple6__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _4 +let __proj__Mktuple6__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _5 +let __proj__Mktuple6__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6) -> _6 + +type ('a,'b,'c,'d,'e,'f,'g) tuple7 = + 'a* 'b* 'c* 'd* 'e* 'f* 'g +[@@deriving yojson,show] +let uu___is_Mktuple7 projectee = true +let __proj__Mktuple7__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _1 +let __proj__Mktuple7__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _2 +let __proj__Mktuple7__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _3 +let __proj__Mktuple7__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _4 +let __proj__Mktuple7__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _5 +let __proj__Mktuple7__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _6 +let __proj__Mktuple7__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7) -> _7 + +type ('a,'b,'c,'d,'e,'f,'g,'h) tuple8 = + 'a* 'b* 'c* 'd* 'e* 'f* 'g* 'h +[@@deriving yojson,show] +let uu___is_Mktuple8 projectee = true +let __proj__Mktuple8__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _1 +let __proj__Mktuple8__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _2 +let __proj__Mktuple8__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _3 +let __proj__Mktuple8__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _4 +let __proj__Mktuple8__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _5 +let __proj__Mktuple8__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _6 +let __proj__Mktuple8__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _7 +let __proj__Mktuple8__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8) -> _8 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i) tuple9 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i +[@@deriving yojson,show] +let uu___is_Mktuple9 projectee = true +let __proj__Mktuple9__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _1 +let __proj__Mktuple9__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _2 +let __proj__Mktuple9__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _3 +let __proj__Mktuple9__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _4 +let __proj__Mktuple9__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _5 +let __proj__Mktuple9__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _6 +let __proj__Mktuple9__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _7 +let __proj__Mktuple9__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _8 +let __proj__Mktuple9__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9) -> _9 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j) tuple10 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j +[@@deriving yojson,show] +let uu___is_Mktuple10 projectee = true +let __proj__Mktuple10__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _1 +let __proj__Mktuple10__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _2 +let __proj__Mktuple10__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _3 +let __proj__Mktuple10__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _4 +let __proj__Mktuple10__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _5 +let __proj__Mktuple10__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _6 +let __proj__Mktuple10__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _7 +let __proj__Mktuple10__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _8 +let __proj__Mktuple10__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _9 +let __proj__Mktuple10__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10) -> _10 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k) tuple11 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k +[@@deriving yojson,show] +let uu___is_Mktuple11 projectee = true +let __proj__Mktuple11__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _1 +let __proj__Mktuple11__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _2 +let __proj__Mktuple11__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _3 +let __proj__Mktuple11__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _4 +let __proj__Mktuple11__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _5 +let __proj__Mktuple11__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _6 +let __proj__Mktuple11__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _7 +let __proj__Mktuple11__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _8 +let __proj__Mktuple11__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _9 +let __proj__Mktuple11__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _10 +let __proj__Mktuple11__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11) -> _11 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l) tuple12 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l +[@@deriving yojson,show] +let uu___is_Mktuple12 projectee = true +let __proj__Mktuple12__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _1 +let __proj__Mktuple12__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _2 +let __proj__Mktuple12__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _3 +let __proj__Mktuple12__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _4 +let __proj__Mktuple12__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _5 +let __proj__Mktuple12__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _6 +let __proj__Mktuple12__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _7 +let __proj__Mktuple12__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _8 +let __proj__Mktuple12__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _9 +let __proj__Mktuple12__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _10 +let __proj__Mktuple12__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _11 +let __proj__Mktuple12__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12) -> _12 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m) tuple13 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l *'m +[@@deriving yojson,show] +let uu___is_Mktuple13 projectee = true +let __proj__Mktuple13__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _1 +let __proj__Mktuple13__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _2 +let __proj__Mktuple13__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _3 +let __proj__Mktuple13__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _4 +let __proj__Mktuple13__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _5 +let __proj__Mktuple13__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _6 +let __proj__Mktuple13__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _7 +let __proj__Mktuple13__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _8 +let __proj__Mktuple13__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _9 +let __proj__Mktuple13__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _10 +let __proj__Mktuple13__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _11 +let __proj__Mktuple13__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _12 +let __proj__Mktuple13__item___13 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13) -> _13 + +type ('a,'b,'c,'d,'e,'f,'g,'h,'i,'j,'k,'l,'m,'n) tuple14 = + 'a *'b *'c *'d *'e *'f *'g *'h *'i *'j *'k *'l *'m *'n +[@@deriving yojson,show] +let uu___is_Mktuple14 projectee = true +let __proj__Mktuple14__item___1 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _1 +let __proj__Mktuple14__item___2 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _2 +let __proj__Mktuple14__item___3 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _3 +let __proj__Mktuple14__item___4 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _4 +let __proj__Mktuple14__item___5 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _5 +let __proj__Mktuple14__item___6 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _6 +let __proj__Mktuple14__item___7 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _7 +let __proj__Mktuple14__item___8 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _8 +let __proj__Mktuple14__item___9 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _9 +let __proj__Mktuple14__item___10 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _10 +let __proj__Mktuple14__item___11 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _11 +let __proj__Mktuple14__item___12 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _12 +let __proj__Mktuple14__item___13 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _13 +let __proj__Mktuple14__item___14 projectee = + match projectee with | (_1,_2,_3,_4,_5,_6,_7,_8,_9,_10,_11,_12,_13,_14) -> _14 diff --git a/ulib/ml/app/FStar_Pprint.ml b/ulib/ml/app/FStar_Pprint.ml new file mode 100644 index 00000000000..83bf2f366ee --- /dev/null +++ b/ulib/ml/app/FStar_Pprint.ml @@ -0,0 +1,95 @@ +(* + Copyright 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. +*) + +(* NOTE!!! This is a copy of FStarC_Pprint that is exposed to applications +via the library, without needing to link against compiler modules. The compiler +itself could also use this but there are some issues with effect polymorphism +(e.g. flow_map would need two versions, and having the ML one in the ulib module +would introduce a lot of dependencies) and also would need to have a single definition +of `float` (the compiler defines its own, though this is probably unneeded and can +be removed). *) + +(* prettyprint.fsti's OCaml implementation is just a thin wrapper around + Francois Pottier's pprint package. *) +include PPrint + +(* FIXME(adl) also print the char in a comment if it's representable *) +let doc_of_char c = PPrint.OCaml.char (Char.chr c) +let doc_of_string = PPrint.string +let doc_of_bool b = PPrint.string (string_of_bool b) +let blank_buffer_doc = [ ("", PPrint.empty) ] + +let substring s ofs len = + PPrint.substring s (Z.to_int ofs) (Z.to_int len) + +let fancystring s apparent_length = + PPrint.fancystring s (Z.to_int apparent_length) + +let fancysubstring s ofs len apparent_length = + PPrint.fancysubstring s (Z.to_int ofs) (Z.to_int len) (Z.to_int apparent_length) + +let blank n = PPrint.blank (Z.to_int n) + +let break_ n = PPrint.break (Z.to_int n) + +let op_Hat_Hat = PPrint.(^^) +let op_Hat_Slash_Hat = PPrint.(^/^) + +let nest j doc = PPrint.nest (Z.to_int j) doc + +let long_left_arrow = PPrint.string "<--" +let larrow = PPrint.string "<-" +let rarrow = PPrint.string "->" + +let repeat n doc = PPrint.repeat (Z.to_int n) doc + +let hang n doc = PPrint.hang (Z.to_int n) doc + +let prefix n b left right = + PPrint.prefix (Z.to_int n) (Z.to_int b) left right + +let jump n b right = + PPrint.jump (Z.to_int n) (Z.to_int b) right + +let infix n b middle left right = + PPrint.infix (Z.to_int n) (Z.to_int b) middle left right + +let surround n b opening contents closing = + PPrint.surround (Z.to_int n) (Z.to_int b) opening contents closing + +let soft_surround n b opening contents closing = + PPrint.soft_surround (Z.to_int n) (Z.to_int b) opening contents closing + +let surround_separate n b void_ opening sep closing docs = + PPrint.surround_separate (Z.to_int n) (Z.to_int b) void_ opening sep closing docs + +let surround_separate_map n b void_ opening sep closing f xs = + PPrint.surround_separate_map (Z.to_int n) (Z.to_int b) void_ opening sep closing f xs + +(* Wrap up ToBuffer.pretty. *) +let pretty_string rfrac width doc = + let buf = Buffer.create 0 in + PPrint.ToBuffer.pretty rfrac (Z.to_int width) buf doc; + Buffer.contents buf + +(* Wrap up ToChannel.pretty *) +let pretty_out_channel rfrac width doc ch = + PPrint.ToChannel.pretty rfrac (Z.to_int width) ch doc; + flush ch + +(* A simple renderer, with some default values. *) +let render (doc:document) : string = + pretty_string 1.0 (Z.of_int 80) doc diff --git a/ulib/ml/app/FStar_ST.ml b/ulib/ml/app/FStar_ST.ml new file mode 100644 index 00000000000..a27ecf12ba2 --- /dev/null +++ b/ulib/ml/app/FStar_ST.ml @@ -0,0 +1,28 @@ +(* https://www.lexifi.com/blog/references-physical-equality *) + +open FStar_CommonST + +type ('a, 'b) mref = ('a, 'b) FStar_Monotonic_Heap.mref + +type 'a ref = 'a FStar_Monotonic_Heap.ref + +let ref_to_yojson _ _ = `Null +let ref_of_yojson _ _ = failwith "cannot readback" + +let read = read + +let op_Bang = op_Bang + +let write = write + +let op_Colon_Equals = op_Colon_Equals + +let alloc = alloc + +let recall = recall +let get = get + +type 'a witnessed = 'a FStar_CommonST.witnessed + +let gst_witness = gst_witness +let gst_recall = gst_recall diff --git a/ulib/ml/app/FStar_String.ml b/ulib/ml/app/FStar_String.ml new file mode 100644 index 00000000000..9dcff4a94df --- /dev/null +++ b/ulib/ml/app/FStar_String.ml @@ -0,0 +1,43 @@ +let make i c = BatUTF8.init (Z.to_int i) (fun _ -> BatUChar.chr c) +let strcat s t = s ^ t +let op_Hat s t = strcat s t + +(* restore pre-2.11 BatString.nsplit behavior, + see https://github.com/ocaml-batteries-team/batteries-included/issues/845 *) +let batstring_nsplit s t = + if s = "" then [] else BatString.split_on_string t s + +let split seps s = + let rec repeat_split acc = function + | [] -> acc + | sep::seps -> + let usep = BatUTF8.init 1 (fun _ -> BatUChar.chr sep) in + let l = BatList.flatten (BatList.map (fun x -> batstring_nsplit x usep) acc) in + repeat_split l seps in + repeat_split [s] seps +let compare x y = Z.of_int (BatString.compare x y) +type char = FStar_Char.char +let concat = BatString.concat +let length s = Z.of_int (BatUTF8.length s) +let strlen s = length s + +let substring s i j = + BatUTF8.init (Z.to_int j) (fun k -> BatUTF8.get s (k + Z.to_int i)) +let sub = substring + +let get s i = BatUChar.code (BatUTF8.get s (Z.to_int i)) +let collect f s = + let r = ref "" in + BatUTF8.iter (fun c -> r := !r ^ f (BatUChar.code c)) s; !r +let lowercase = BatString.lowercase_ascii +let uppercase = BatString.uppercase_ascii +let escaped = BatString.escaped +let index = get +exception Found of int +let index_of s c = + let c = BatUChar.chr c in + try let _ = BatUTF8.iteri (fun c' i -> if c = c' then raise (Found i) else ()) s in Z.of_int (-1) + with Found i -> Z.of_int i +let list_of_string s = BatList.init (BatUTF8.length s) (fun i -> BatUChar.code (BatUTF8.get s i)) +let string_of_list l = BatUTF8.init (BatList.length l) (fun i -> BatUChar.chr (BatList.at l i)) +let string_of_char (c:char) = BatString.of_char (Char.chr c) diff --git a/ulib/ml/app/FStar_UInt8.ml b/ulib/ml/app/FStar_UInt8.ml new file mode 100644 index 00000000000..2148ee255f1 --- /dev/null +++ b/ulib/ml/app/FStar_UInt8.ml @@ -0,0 +1,84 @@ +(* GM: This file is manual due to the derivings, + and that sucks. *) + +type uint8 = int[@@deriving yojson,show] +type byte = uint8[@@deriving yojson,show] +type t = uint8[@@deriving yojson,show] +type t' = t[@@deriving yojson,show] + +let (%) x y = if x < 0 then (x mod y) + y else x mod y + +let n = Prims.parse_int "8" +let v (x:uint8) : Prims.int = Prims.parse_int (string_of_int x) + +let zero = 0 +let one = 1 +let ones = 255 + +let add (a:uint8) (b:uint8) : uint8 = a + b +let add_underspec a b = (add a b) land 255 +let add_mod = add_underspec + +let sub (a:uint8) (b:uint8) : uint8 = a - b +let sub_underspec a b = (sub a b) land 255 +let sub_mod = sub_underspec + +let mul (a:uint8) (b:uint8) : uint8 = a * b +let mul_underspec a b = (mul a b) land 255 +let mul_mod = mul_underspec + +let div (a:uint8) (b:uint8) : uint8 = a / b + +let rem (a:uint8) (b:uint8) : uint8 = a mod b + +let logand (a:uint8) (b:uint8) : uint8 = a land b +let logxor (a:uint8) (b:uint8) : uint8 = a lxor b +let logor (a:uint8) (b:uint8) : uint8 = a lor b +let lognot (a:uint8) : uint8 = lnot a + +let int_to_uint8 (x:Prims.int) : uint8 = Z.to_int x % 256 + +let shift_right (a:uint8) (b:Stdint.Uint32.t) : uint8 = a lsr (Stdint.Uint32.to_int b) +let shift_left (a:uint8) (b:Stdint.Uint32.t) : uint8 = (a lsl (Stdint.Uint32.to_int b)) land 255 + +(* Comparison operators *) +let eq (a:uint8) (b:uint8) : bool = a = b +let gt (a:uint8) (b:uint8) : bool = a > b +let gte (a:uint8) (b:uint8) : bool = a >= b +let lt (a:uint8) (b:uint8) : bool = a < b +let lte (a:uint8) (b:uint8) : bool = a <= b + +(* NOT Constant time comparison operators *) +let gte_mask (a:uint8) (b:uint8) : uint8 = if a >= b then 255 else 0 +let eq_mask (a:uint8) (b:uint8) : uint8 = if a = b then 255 else 0 + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte + +let of_string s = int_of_string s +let to_string s = string_of_int s +let to_string_hex s = Printf.sprintf "0x%x" s +let to_string_hex_pad s = Printf.sprintf "%02x" s +let uint_to_t s = int_to_uint8 s +let to_int s = s +let __uint_to_t = uint_to_t diff --git a/ulib/ml/app/Prims.ml b/ulib/ml/app/Prims.ml new file mode 100644 index 00000000000..b96a81ebdc7 --- /dev/null +++ b/ulib/ml/app/Prims.ml @@ -0,0 +1,195 @@ +type int = Z.t[@printer Z.pp_print][@@deriving show] +let of_int = Z.of_int +let int_zero = Z.zero +let int_one = Z.one +let parse_int = Z.of_string +let to_string = Z.to_string + +type tmp = string [@@deriving yojson] +let int_to_yojson x = tmp_to_yojson (to_string x) +let int_of_yojson x = + match tmp_of_yojson x with + | Ok x -> Ok (parse_int x) + | Error x -> Error x + +type attribute = unit +let (cps : attribute) = () +type 'Auu____5 hasEq = unit +type eqtype = unit +type bool' = bool +[@@deriving yojson,show] +type bool = bool' +[@@deriving yojson,show] +type empty = unit +(*This is how Coq extracts Inductive void := . Our extraction needs to be fixed to recognize when there + are no constructors and generate this type abbreviation*) +type trivial = + | T +let (uu___is_T : trivial -> bool) = fun projectee -> true +type nonrec unit = unit +type 'Ap squash = unit +type 'Ap auto_squash = unit +type l_True = unit +type l_False = unit +type ('Aa,'Ax,'dummyV0) equals = + | Refl +let uu___is_Refl : 'Aa . 'Aa -> 'Aa -> ('Aa,unit,unit) equals -> bool = + fun x -> fun uu____65 -> fun projectee -> true +type ('Aa,'Ax,'Ay) eq2 = unit +type ('Aa,'Ab,'Ax,'Ay) op_Equals_Equals_Equals = unit +type 'Ab b2t = unit +type ('Ap,'Aq) pair = + | Pair of 'Ap * 'Aq +let uu___is_Pair : 'Ap 'Aq . ('Ap,'Aq) pair -> bool = + fun projectee -> true +let __proj__Pair__item___1 : 'Ap 'Aq . ('Ap,'Aq) pair -> 'Ap = + fun projectee -> match projectee with | Pair (_0,_1) -> _0 +let __proj__Pair__item___2 : 'Ap 'Aq . ('Ap,'Aq) pair -> 'Aq = + fun projectee -> match projectee with | Pair (_0,_1) -> _1 +type ('Ap,'Aq) l_and = unit +type ('Ap,'Aq) sum = + | Left of 'Ap + | Right of 'Aq +let uu___is_Left : 'Ap 'Aq . ('Ap,'Aq) sum -> bool = + fun projectee -> + match projectee with | Left _0 -> true | uu____344 -> false + +let __proj__Left__item___0 : 'Ap 'Aq . ('Ap,'Aq) sum -> 'Ap = + fun projectee -> match projectee with | Left _0 -> _0 +let uu___is_Right : 'Ap 'Aq . ('Ap,'Aq) sum -> bool = + fun projectee -> + match projectee with | Right _0 -> true | uu____404 -> false + +let __proj__Right__item___0 : 'Ap 'Aq . ('Ap,'Aq) sum -> 'Aq = + fun projectee -> match projectee with | Right _0 -> _0 +type ('Ap,'Aq) l_or = unit +type ('Ap,'Aq) l_imp = unit +type ('Ap,'Aq) l_iff = unit +type 'Ap l_not = unit +type ('Ap,'Aq,'Ar) l_ITE = unit +type ('Aa,'Ab,'Auu____484,'Auu____485) precedes = unit +type ('Aa,'Auu____490,'Auu____491) has_type = unit +type ('Aa,'Ap) l_Forall = unit +type prop = unit +let id x = x +type ('Aa,'Ab) dtuple2 = + | Mkdtuple2 of 'Aa * 'Ab +let uu___is_Mkdtuple2 : 'Aa 'Ab . ('Aa,'Ab) dtuple2 -> bool = + fun projectee -> true +let __proj__Mkdtuple2__item___1 : 'Aa 'Ab . ('Aa,'Ab) dtuple2 -> 'Aa = + fun projectee -> match projectee with | Mkdtuple2 (_1,_2) -> _1 +let __proj__Mkdtuple2__item___2 : 'Aa 'Ab . ('Aa,'Ab) dtuple2 -> 'Ab = + fun projectee -> match projectee with | Mkdtuple2 (_1,_2) -> _2 +type ('Aa,'Ap) l_Exists = unit +type string' = string[@@deriving yojson,show] +type string = string'[@@deriving yojson,show] +type pure_pre = unit +type ('Aa,'Apre) pure_post' = unit +type 'Aa pure_post = unit +type 'Aa pure_wp = unit +type 'Auu____655 guard_free = unit +type ('Aa,'Ax,'Ap) pure_return = unit +type ('Ar1,'Aa,'Ab,'Awp1,'Awp2,'Ap) pure_bind_wp = 'Awp1 +type ('Aa,'Ap,'Awp_then,'Awp_else,'Apost) pure_if_then_else = unit[@@deriving yojson,show] +type ('Aa,'Awp,'Apost) pure_ite_wp = unit +type ('Aa,'Awp1,'Awp2) pure_stronger = unit +type ('Aa,'Ab,'Awp,'Ap) pure_close_wp = unit +type ('Aa,'Aq,'Awp,'Ap) pure_assert_p = unit +type ('Aa,'Aq,'Awp,'Ap) pure_assume_p = unit +type ('Aa,'Ap) pure_null_wp = unit +type ('Aa,'Awp) pure_trivial = 'Awp +type ('Ap, 'Apost) pure_assert_wp = unit +type ('Aa,'Awp,'Auu____878) purewp_id = 'Awp + + +let op_AmpAmp x y = x && y +let op_BarBar x y = x || y +let op_Negation x = not x + +let ( + ) = Z.add +let ( - ) = Z.sub +let ( * ) = Z.mul +let ( / ) = Z.ediv +let ( <= ) = Z.leq +let ( >= ) = Z.geq +let ( < ) = Z.lt +let ( > ) = Z.gt +let ( mod ) = Z.erem +let ( ~- ) = Z.neg +let abs = Z.abs + +let op_Multiply x y = x * y +let op_Subtraction x y = x - y +let op_Addition x y = x + y +let op_Minus x = -x +let op_LessThan x y = x < y +let op_LessThanOrEqual x y = x <= y +let op_GreaterThan x y = x > y +let op_GreaterThanOrEqual x y = x >= y +let op_Equality x y = x = y +let op_disEquality x y = x<>y + +type nonrec exn = exn +type 'a array' = 'a array[@@deriving yojson,show] +type 'a array = 'a array'[@@deriving yojson,show] +let strcat x y = x ^ y +let op_Hat x y = x ^ y + +type 'a list' = 'a list[@@deriving yojson,show] +type 'a list = 'a list'[@@deriving yojson,show] +let uu___is_Nil : 'Aa . 'Aa list -> bool = + fun projectee -> match projectee with | [] -> true | uu____1190 -> false +let uu___is_Cons : 'Aa . 'Aa list -> bool = + fun projectee -> + match projectee with | hd::tl -> true | uu____1216 -> false + +let __proj__Cons__item__hd : 'Aa . 'Aa list -> 'Aa = + fun projectee -> match projectee with | hd::tl -> hd +let __proj__Cons__item__tl : 'Aa . 'Aa list -> 'Aa list = + fun projectee -> match projectee with | hd::tl -> tl +type pattern = unit + + +type ('Aa,'Auu____1278) decreases = unit +let returnM : 'Aa . 'Aa -> 'Aa = fun x -> x +type lex_t = + | LexTop + | LexCons of unit * Obj.t * lex_t +let (uu___is_LexTop : lex_t -> bool) = + fun projectee -> + match projectee with | LexTop -> true | uu____1313 -> false + +let (uu___is_LexCons : lex_t -> bool) = + fun projectee -> + match projectee with | LexCons (a,_1,_2) -> true | uu____1327 -> false + +type 'Aprojectee __proj__LexCons__item__a = Obj.t +let (__proj__LexCons__item___1 : lex_t -> Obj.t) = + fun projectee -> match projectee with | LexCons (a,_1,_2) -> _1 +let (__proj__LexCons__item___2 : lex_t -> lex_t) = + fun projectee -> match projectee with | LexCons (a,_1,_2) -> _2 +type ('Aa,'Awp) as_requires = 'Awp +type ('Aa,'Awp,'Ax) as_ensures = unit +let admit () = failwith "Prims.admit: cannot be executed" +let magic () = failwith "Prims.magic: cannot be executed" +let unsafe_coerce : 'Aa 'Ab . 'Aa -> 'Ab = + fun x -> Obj.magic x + +type 'Ap spinoff = 'Ap + + +type nat = int +type pos = int +type nonzero = int +let op_Modulus x y = x mod y +let op_Division x y = x / y +let rec (pow2 : nat -> pos) = + fun x -> + Z.shift_left Z.one (Z.to_int x) + +let (min : int -> int -> int) = + fun x -> fun y -> if x <= y then x else y +let (abs : int -> int) = + fun x -> if x >= (parse_int "0") then x else op_Minus x +let string_of_bool = string_of_bool +let string_of_int = to_string diff --git a/ulib/ml/app/ints/FStar_Ints.ml.body b/ulib/ml/app/ints/FStar_Ints.ml.body new file mode 100644 index 00000000000..de9b5d23188 --- /dev/null +++ b/ulib/ml/app/ints/FStar_Ints.ml.body @@ -0,0 +1,95 @@ +(* This .ml.body file is concatenated to every .ml.prefix file in this + * directory (ulib/ml/) to generate the OCaml realizations for machine + * integers, as they all pretty much share their definitions and are + * based on Stdint. *) + +type t = M.t + +let v (x:t) : Prims.int = Prims.parse_int (M.to_string x) + +let zero = M.zero +let one = M.one +let ones = M.pred M.zero + +(* Reexport add, plus aliases *) +let add = M.add +let add_underspec = M.add +let add_mod = M.add + +(* Reexport sub, plus aliases *) +let sub = M.sub +let sub_underspec = M.sub +let sub_mod = M.sub + +(* Reexport mul, plus aliases *) +let mul = M.mul +let mul_underspec = M.mul +let mul_mod = M.mul + +(* Conversions to Zarith's int *) +let to_int (x:t) : Z.t = Z.of_string (M.to_string x) +let of_int (x:Z.t) : t = M.of_string (Z.to_string x) + +(* Conversion to native ints; these are potentially unsafe and not part + * of the interface: they are meant to be called only from OCaml code + * that is doing the right thing *) +let of_native_int (x:int) : t = M.of_int x +let to_native_int (x:t) : int = M.to_int x + +(* Just reexport these *) +let div = M.div +let rem = M.rem +let logand = M.logand +let logxor = M.logxor +let logor = M.logor +let lognot = M.lognot +let to_string = M.to_string +let of_string = M.of_string + +let to_string_hex = M.to_string_hex + +let to_string_hex_pad i = + let s0 = M.to_string_hex i in + let len = (String.length s0 - 2) in + let s1 = String.sub s0 2 len in (* Remove leading "0x" *) + let zeroes = String.make ((Z.to_int n / 4) - len) '0' in + zeroes ^ s1 + +(* The shifts take a uint32 argument, so we need to convert *) +let shift_right n i = M.shift_right n (Stdint.Uint32.to_int i) +let shift_left n i = M.shift_left n (Stdint.Uint32.to_int i) +let shift_arithmetic_right = shift_right + +(* Comparison operators *) +let eq (a:t) (b:t) : bool = a = b +let gt (a:t) (b:t) : bool = a > b +let gte (a:t) (b:t) : bool = a >= b +let lt (a:t) (b:t) : bool = a < b +let lte (a:t) (b:t) : bool = a <= b + +(* NOT Constant time operators *) +let eq_mask (a:t) (b:t) : t = if a = b then ones else zero +let gte_mask (a:t) (b:t) : t = if a >= b then ones else zero + +(* Infix notations *) +let op_Plus_Hat = add +let op_Plus_Question_Hat = add_underspec +let op_Plus_Percent_Hat = add_mod +let op_Subtraction_Hat = sub +let op_Subtraction_Question_Hat = sub_underspec +let op_Subtraction_Percent_Hat = sub_mod +let op_Star_Hat = mul +let op_Star_Question_Hat = mul_underspec +let op_Star_Percent_Hat = mul_mod +let op_Slash_Hat = div +let op_Percent_Hat = rem +let op_Hat_Hat = logxor +let op_Amp_Hat = logand +let op_Bar_Hat = logor +let op_Less_Less_Hat = shift_left +let op_Greater_Greater_Hat = shift_right +let op_Equals_Hat = eq +let op_Greater_Hat = gt +let op_Greater_Equals_Hat = gte +let op_Less_Hat = lt +let op_Less_Equals_Hat = lte diff --git a/ulib/ml/app/ints/dune b/ulib/ml/app/ints/dune new file mode 100644 index 00000000000..2f7e19e83a6 --- /dev/null +++ b/ulib/ml/app/ints/dune @@ -0,0 +1,46 @@ +; NOTE: We explcitly write 'bash ./mk_int_file.sh' instead of just +; calling the script so this works in native Windows. This is needed to +; even build a source package in Windows, since we ship exactly this +; dune file and script. We should consider just shipping the generated +; ML files, if there's a convenient way to do so. + +; This one is special and hand-written... sigh +; (rule +; (target FStar_UInt8.ml) +; (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) +; (action (with-stdout-to %{target} (run bash ./mk_int_file.sh U 8)))) + +(rule + (target FStar_UInt16.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh U 16)))) + +(rule + (target FStar_UInt32.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh U 32)))) + +(rule + (target FStar_UInt64.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh U 64)))) + +(rule + (target FStar_Int8.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh S 8)))) + +(rule + (target FStar_Int16.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh S 16)))) + +(rule + (target FStar_Int32.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh S 32)))) + +(rule + (target FStar_Int64.ml) + (deps (:script mk_int_file.sh) (:body FStar_Ints.ml.body)) + (action (with-stdout-to %{target} (run bash ./mk_int_file.sh S 64)))) diff --git a/ulib/ml/app/ints/mk_int_file.sh b/ulib/ml/app/ints/mk_int_file.sh new file mode 100755 index 00000000000..6d4f6d64c32 --- /dev/null +++ b/ulib/ml/app/ints/mk_int_file.sh @@ -0,0 +1,34 @@ +#!/usr/bin/env bash + +# This script must run on Windows/Cygwin too. + +set -eu + +SIGN=$1 +WIDTH=$2 + +if [ "$SIGN" == "U" ]; then + cat << EOF + module M = Stdint.Uint${WIDTH} + type uint${WIDTH} = M.t + let n = Prims.of_int ${WIDTH} + + let uint_to_t x = M.of_string (Z.to_string x) + let __uint_to_t = uint_to_t +EOF +elif [ "$SIGN" == "S" ]; then + cat << EOF + module M = Stdint.Int${WIDTH} + type int${WIDTH} = M.t + let n = Prims.of_int ${WIDTH} + + let int_to_t x = M.of_string (Z.to_string x) + let __int_to_t = int_to_t +EOF +else + echo "Bad usage" &>2 + exit 1 +fi + +cat ./FStar_Ints.ml.body +exit 0 diff --git a/ulib/ml/plugin/FStar_Issue.ml b/ulib/ml/plugin/FStar_Issue.ml new file mode 100644 index 00000000000..3286f0ca6cf --- /dev/null +++ b/ulib/ml/plugin/FStar_Issue.ml @@ -0,0 +1,56 @@ +open Fstarcompiler +type issue_level = FStarC_Errors.issue_level +type issue = FStarC_Errors.issue +type issue_level_string = string + +open FStarC_Errors + +let string_of_level (i:issue_level) += match i with + | ENotImplemented + | EError -> "Error" + | EInfo -> "Info" + | EWarning -> "Warning" + +let message_of_issue (i:issue) = i.issue_msg + +let level_of_issue (i:issue) = string_of_level (i.issue_level) + +let number_of_issue (i:issue) = i.issue_number + +let range_of_issue (i:issue) = i.issue_range + +let context_of_issue (i:issue) = i.issue_ctx + +let mk_issue_level (i:issue_level_string) + : issue_level + = match i with + | "Error" -> EError + | "Info" -> EInfo + | "Warning" -> EWarning + +let issue_to_doc (i:issue) : FStarC_Pprint.document = FStarC_Errors.issue_to_doc' true i +let render_issue (i:issue) : string = FStarC_Errors.format_issue i + +let mk_issue_doc (i:issue_level_string) + (msg:FStarC_Pprint.document list) + (range:FStarC_Range.range option) + (number:Z.t option) + (ctx:string list) + = { issue_level = mk_issue_level i; + issue_msg = msg; + issue_range = range; + issue_number = number; + issue_ctx = ctx } + +(* repeated... could be extracted *) +let mk_issue (i:issue_level_string) + (msg:string) + (range:FStarC_Range.range option) + (number:Z.t option) + (ctx:string list) + = { issue_level = mk_issue_level i; + issue_msg = [FStarC_Pprint.arbitrary_string msg]; + issue_range = range; + issue_number = number; + issue_ctx = ctx } diff --git a/ulib/ml/plugin/FStar_Range.ml b/ulib/ml/plugin/FStar_Range.ml new file mode 100644 index 00000000000..c615d145464 --- /dev/null +++ b/ulib/ml/plugin/FStar_Range.ml @@ -0,0 +1,15 @@ +type __range = Fstarcompiler.FStarC_Range_Type.range +type range = __range + +let mk_range f a b c d = Fstarcompiler.FStarC_Range_Type.mk_range f {line=a;col=b} {line=c;col=d} +let range_0 : range = let z = Prims.parse_int "0" in mk_range "dummy" z z z z +let join_range r1 r2 = Fstarcompiler.FStarC_Range_Ops.union_ranges r1 r2 + +let explode (r:__range) = + (r.use_range.file_name, + r.use_range.start_pos.line, + r.use_range.start_pos.col, + r.use_range.end_pos.line, + r.use_range.end_pos.col) + +type ('Ar,'Amsg,'Ab) labeled = 'Ab diff --git a/ulib/ml/plugin/FStar_Reflection_Typing_Builtins.ml b/ulib/ml/plugin/FStar_Reflection_Typing_Builtins.ml new file mode 100644 index 00000000000..c0ad1c3e3c0 --- /dev/null +++ b/ulib/ml/plugin/FStar_Reflection_Typing_Builtins.ml @@ -0,0 +1,28 @@ +open Fstarcompiler +open FStarC_Syntax_Syntax +module R = FStarC_Range + +let dummy_range = R.dummyRange +let underscore = FStarC_Ident.mk_ident ("_", R.dummyRange) +let int_as_bv (n:Prims.int) = { ppname = underscore; index = n; sort = tun} + +let open_term (t:term) (v:Prims.int) + : term + = let subst = DB (Z.zero, int_as_bv v) in + FStarC_Syntax_Subst.subst [subst] t + +let close_term (t:term) (v:Prims.int) + : term + = let subst = NM (int_as_bv v, Z.zero) in + FStarC_Syntax_Subst.subst [subst] t + +let open_with (t:term) (v:term) + : term + = let neg = int_as_bv (Z.of_int (-1)) in (* a temporary non-clashing name *) + let opened_t = FStarC_Syntax_Subst.subst [DB(Z.zero, neg)] t in + (* gets substituted away immediately *) + FStarC_Syntax_Subst.subst [NT(neg, v)] opened_t + +let rename (t:term) (x:Prims.int) (y:Prims.int) + : term + = FStarC_Syntax_Subst.subst [NT(int_as_bv x, bv_to_name (int_as_bv y))] t diff --git a/ulib/ml/plugin/FStar_Sealed.ml b/ulib/ml/plugin/FStar_Sealed.ml new file mode 100644 index 00000000000..622ae81bcd3 --- /dev/null +++ b/ulib/ml/plugin/FStar_Sealed.ml @@ -0,0 +1,4 @@ +type 'a sealed = 'a +let seal x = x +let map_seal s f = f s +let bind_seal s f = f s diff --git a/version.txt b/version.txt index fea41e1370d..1887bba38c2 100644 --- a/version.txt +++ b/version.txt @@ -1 +1 @@ -2024.09.05~dev +2025.01.17